diff --git a/circuits/circuits/utils/crypto/signature/ecdsa/ecdsaVerifier.circom b/circuits/circuits/utils/crypto/signature/ecdsa/ecdsaVerifier.circom index 8b9efda8..81828aeb 100644 --- a/circuits/circuits/utils/crypto/signature/ecdsa/ecdsaVerifier.circom +++ b/circuits/circuits/utils/crypto/signature/ecdsa/ecdsaVerifier.circom @@ -128,7 +128,7 @@ function get_a(signatureAlgorithm) { ]; } - if (signatureAlgorithm == 41) { + if (signatureAlgorithm == 41) { //p521 return [ 73786976294838206460, 73786976294838206463, @@ -141,6 +141,18 @@ function get_a(signatureAlgorithm) { ]; } + if (signatureAlgorithm == 44) { //p224 + return [ + 4294967294, + 4294967295, + 4294967295, + 4294967294, + 4294967295, + 4294967295, + 4294967295 + ]; + } + return [0]; } @@ -207,7 +219,7 @@ function get_b(signatureAlgorithm) { ]; } - if (signatureAlgorithm == 41) { + if (signatureAlgorithm == 41) { //p521 return [ 35687965819361312512, 33244719099633405244, @@ -220,6 +232,18 @@ function get_b(signatureAlgorithm) { ]; } + if (signatureAlgorithm == 44) { //p224 + return [ + 592838580, + 655046979, + 3619674298, + 1346678967, + 4114690646, + 201634731, + 3020229253 + ]; + } + return [0]; } @@ -286,7 +310,7 @@ function get_p(signatureAlgorithm) { ]; } - if (signatureAlgorithm == 41) { + if (signatureAlgorithm == 41) { //p521 return [ 73786976294838206463, 73786976294838206463, @@ -299,5 +323,17 @@ function get_p(signatureAlgorithm) { ]; } + if (signatureAlgorithm == 44) { // p224 + return [ + 1, + 0, + 0, + 4294967295, + 4294967295, + 4294967295, + 4294967295 + ]; + } + return [0]; } \ No newline at end of file