Some additional helpers for ECDSA signing.
This commit is contained in:
@@ -17,6 +17,7 @@ conversion_impls!(U192, U320);
|
||||
conversion_impls!(U192, U384);
|
||||
conversion_impls!(U192, U448);
|
||||
conversion_impls!(U192, U512);
|
||||
conversion_impls!(U192, U768);
|
||||
conversion_impls!(U192, U896);
|
||||
conversion_impls!(U192, U1024);
|
||||
sqrt_impls!(U192);
|
||||
@@ -40,6 +41,7 @@ conversion_impls!(U256, U384);
|
||||
conversion_impls!(U256, U448);
|
||||
conversion_impls!(U256, U512);
|
||||
conversion_impls!(U256, U576);
|
||||
conversion_impls!(U256, U1024);
|
||||
conversion_impls!(U256, U1152);
|
||||
conversion_impls!(U256, U2048);
|
||||
conversion_impls!(U256, U3072);
|
||||
@@ -73,6 +75,7 @@ conversion_impls!(U384, U448);
|
||||
conversion_impls!(U384, U768);
|
||||
conversion_impls!(U384, U832);
|
||||
conversion_impls!(U384, U1024);
|
||||
conversion_impls!(U384, U1536);
|
||||
addition_impls!(U448, U512);
|
||||
base_impls!(U448, 7);
|
||||
random_impls!(U448, UniformU448);
|
||||
@@ -125,6 +128,7 @@ conversion_impls!(U576, U1024);
|
||||
conversion_impls!(U576, U1088);
|
||||
conversion_impls!(U576, U1152);
|
||||
conversion_impls!(U576, U1216);
|
||||
conversion_impls!(U576, U2304);
|
||||
addition_impls!(U640, U704);
|
||||
base_impls!(U640, 10);
|
||||
random_impls!(U640, UniformU640);
|
||||
@@ -373,7 +377,13 @@ random_impls!(U2240, UniformU2240);
|
||||
subtraction_impls!(U2240, 35);
|
||||
base_impls!(U2304, 36);
|
||||
random_impls!(U2304, UniformU2304);
|
||||
div_impls!(U2304, U4608);
|
||||
multiply_impls!(U2304, U4608);
|
||||
scale_impls!(U2304, U2368);
|
||||
subtraction_impls!(U2304, 36);
|
||||
conversion_impls!(U2304, U4608);
|
||||
base_impls!(U2368, 37);
|
||||
random_impls!(U2368, UniformU2368);
|
||||
addition_impls!(U2432, U2496);
|
||||
base_impls!(U2432, 38);
|
||||
random_impls!(U2432, UniformU2432);
|
||||
@@ -497,6 +507,9 @@ conversion_impls!(U4224, U8448);
|
||||
base_impls!(U4288, 67);
|
||||
random_impls!(U4288, UniformU4288);
|
||||
subtraction_impls!(U4288, 67);
|
||||
base_impls!(U4608, 72);
|
||||
random_impls!(U4608, UniformU4608);
|
||||
subtraction_impls!(U4608, 72);
|
||||
base_impls!(U4864, 76);
|
||||
random_impls!(U4864, UniformU4864);
|
||||
subtraction_impls!(U4864, 76);
|
||||
@@ -773,6 +786,7 @@ mod tests {
|
||||
generate_base_tests!(U2176, u2176);
|
||||
generate_base_tests!(U2240, u2240);
|
||||
generate_base_tests!(U2304, u2304);
|
||||
generate_base_tests!(U2368, u2368);
|
||||
generate_base_tests!(U2432, u2432);
|
||||
generate_base_tests!(U2496, u2496);
|
||||
generate_base_tests!(U2560, u2560);
|
||||
@@ -787,6 +801,7 @@ mod tests {
|
||||
generate_base_tests!(U4160, u4160);
|
||||
generate_base_tests!(U4224, u4224);
|
||||
generate_base_tests!(U4288, u4288);
|
||||
generate_base_tests!(U4608, u4608);
|
||||
generate_base_tests!(U4864, u4864);
|
||||
generate_base_tests!(U4992, u4992);
|
||||
generate_base_tests!(U6144, u6144);
|
||||
@@ -855,6 +870,7 @@ mod tests {
|
||||
generate_conversion_tests!(U2176, u2176);
|
||||
generate_conversion_tests!(U2240, u2240);
|
||||
generate_conversion_tests!(U2304, u2304);
|
||||
generate_conversion_tests!(U2368, u2368);
|
||||
generate_conversion_tests!(U2432, u2432);
|
||||
generate_conversion_tests!(U2496, u2496);
|
||||
generate_conversion_tests!(U2560, u2560);
|
||||
@@ -869,6 +885,7 @@ mod tests {
|
||||
generate_conversion_tests!(U4160, u4160);
|
||||
generate_conversion_tests!(U4224, u4224);
|
||||
generate_conversion_tests!(U4288, u4288);
|
||||
generate_conversion_tests!(U4608, u4608);
|
||||
generate_conversion_tests!(U4864, u4864);
|
||||
generate_conversion_tests!(U4992, u4992);
|
||||
generate_conversion_tests!(U6144, u6144);
|
||||
@@ -937,6 +954,7 @@ mod tests {
|
||||
generate_codec_tests!(U2176, u2176);
|
||||
generate_codec_tests!(U2240, u2240);
|
||||
generate_codec_tests!(U2304, u2304);
|
||||
generate_codec_tests!(U2368, u2368);
|
||||
generate_codec_tests!(U2432, u2432);
|
||||
generate_codec_tests!(U2496, u2496);
|
||||
generate_codec_tests!(U2560, u2560);
|
||||
@@ -951,6 +969,7 @@ mod tests {
|
||||
generate_codec_tests!(U4160, u4160);
|
||||
generate_codec_tests!(U4224, u4224);
|
||||
generate_codec_tests!(U4288, u4288);
|
||||
generate_codec_tests!(U4608, u4608);
|
||||
generate_codec_tests!(U4864, u4864);
|
||||
generate_codec_tests!(U4992, u4992);
|
||||
generate_codec_tests!(U6144, u6144);
|
||||
@@ -1022,6 +1041,7 @@ mod tests {
|
||||
generate_cmp_tests!(U2176, u2176);
|
||||
generate_cmp_tests!(U2240, u2240);
|
||||
generate_cmp_tests!(U2304, u2304);
|
||||
generate_cmp_tests!(U2368, u2368);
|
||||
generate_cmp_tests!(U2432, u2432);
|
||||
generate_cmp_tests!(U2496, u2496);
|
||||
generate_cmp_tests!(U2560, u2560);
|
||||
@@ -1036,6 +1056,7 @@ mod tests {
|
||||
generate_cmp_tests!(U4160, u4160);
|
||||
generate_cmp_tests!(U4224, u4224);
|
||||
generate_cmp_tests!(U4288, u4288);
|
||||
generate_cmp_tests!(U4608, u4608);
|
||||
generate_cmp_tests!(U4864, u4864);
|
||||
generate_cmp_tests!(U4992, u4992);
|
||||
generate_cmp_tests!(U6144, u6144);
|
||||
@@ -1121,6 +1142,7 @@ mod tests {
|
||||
generate_sub_tests!(U4160, u4160);
|
||||
generate_sub_tests!(U4224, u4224);
|
||||
generate_sub_tests!(U4288, u4288);
|
||||
generate_sub_tests!(U4608, u4608);
|
||||
generate_sub_tests!(U4864, u4864);
|
||||
generate_sub_tests!(U4992, u4992);
|
||||
generate_sub_tests!(U6144, u6144);
|
||||
@@ -1333,6 +1355,7 @@ mod tests {
|
||||
generate_mul_tests!(U1728, u1728, U3456);
|
||||
generate_mul_tests!(U2048, u2048, U4096);
|
||||
generate_mul_tests!(U2112, u2112, U4224);
|
||||
generate_mul_tests!(U2304, u2304, U4608);
|
||||
generate_mul_tests!(U2432, u2432, U4864);
|
||||
generate_mul_tests!(U2496, u2496, U4992);
|
||||
generate_mul_tests!(U3072, u3072, U6144);
|
||||
@@ -1382,6 +1405,7 @@ mod tests {
|
||||
generate_scale_tests!(U1728, u1728, U1792);
|
||||
generate_scale_tests!(U2048, u2048, U2112);
|
||||
generate_scale_tests!(U2112, u2112, U2176);
|
||||
generate_scale_tests!(U2304, u2304, U2368);
|
||||
generate_scale_tests!(U2432, u2432, U2496);
|
||||
generate_scale_tests!(U2496, u2496, U2560);
|
||||
generate_scale_tests!(U3072, u3072, U3136);
|
||||
@@ -1431,6 +1455,7 @@ mod tests {
|
||||
generate_div_tests!(U1728, u1728);
|
||||
generate_div_tests!(U2048, u2048);
|
||||
generate_div_tests!(ignore U2112, u2112);
|
||||
generate_div_tests!(ignore U2304, u2304);
|
||||
generate_div_tests!(ignore U2432, u2432);
|
||||
generate_div_tests!(ignore U2496, u2496);
|
||||
generate_div_tests!(ignore U3072, u3072);
|
||||
|
||||
@@ -86,7 +86,9 @@ needs = [ Need RSA (\ size -> [Req (size `div` 2) Sub,
|
||||
Req size (Convert ((size * 2) + 64)),
|
||||
Req size (SigConvert ((size * 2) + 64)),
|
||||
Req (size * 2) (Convert ((size * 2) + 64)),
|
||||
Req (size * 2) (SigConvert ((size * 2) + 64))
|
||||
Req (size * 2) (SigConvert ((size * 2) + 64)),
|
||||
Req size (Convert (size * 4)),
|
||||
Req (size * 4) Div
|
||||
])
|
||||
, Need PrimeGen (\ size -> [Req size Div,
|
||||
Req size Shifts,
|
||||
|
||||
Reference in New Issue
Block a user