diff --git a/circuits/circuits/utils/passport/signatureVerifier.circom b/circuits/circuits/utils/passport/signatureVerifier.circom index ed5060f1d..d16a60242 100644 --- a/circuits/circuits/utils/passport/signatureVerifier.circom +++ b/circuits/circuits/utils/passport/signatureVerifier.circom @@ -22,30 +22,40 @@ template SignatureVerifier(signatureAlgorithm, n, k) { signal hashParsed[msg_len] <== HashParser(signatureAlgorithm, n, k)(hash); - if (signatureAlgorithm == 1) { - component rsa = VerifyRsa65537Pkcs1v1_5(n, k, 256); + if ( + signatureAlgorithm == 1 + || signatureAlgorithm == 3 + || signatureAlgorithm == 10 + || signatureAlgorithm == 11 + || signatureAlgorithm == 14 + || signatureAlgorithm == 15 + || signatureAlgorithm == 31 + ) { + component rsa65537 = VerifyRsa65537Pkcs1v1_5(n, k, HASH_LEN_BITS); for (var i = 0; i < msg_len; i++) { - rsa.message[i] <== hashParsed[i]; + rsa65537.message[i] <== hashParsed[i]; } for (var i = msg_len; i < k; i++) { - rsa.message[i] <== 0; + rsa65537.message[i] <== 0; } - rsa.modulus <== pubKey; - rsa.signature <== signature; + rsa65537.modulus <== pubKey; + rsa65537.signature <== signature; } - if (signatureAlgorithm == 3) { - component rsa = VerifyRsa65537Pkcs1v1_5(n, k, 160); + if ( + signatureAlgorithm == 13 + || signatureAlgorithm == 32 + ) { + component rsa3 = VerifyRsa3Pkcs1v1_5(n, k, HASH_LEN_BITS); for (var i = 0; i < msg_len; i++) { - rsa.message[i] <== hashParsed[i]; + rsa3.message[i] <== hashParsed[i]; } for (var i = msg_len; i < k; i++) { - rsa.message[i] <== 0; + rsa3.message[i] <== 0; } - rsa.modulus <== pubKey; - rsa.signature <== signature; + rsa3.modulus <== pubKey; + rsa3.signature <== signature; } - if ( signatureAlgorithm == 4 || signatureAlgorithm == 12 @@ -92,68 +102,6 @@ template SignatureVerifier(signatureAlgorithm, n, k) { ) { EcdsaVerifier (signatureAlgorithm, n, k)(signature, pubKey, hash); } - if (signatureAlgorithm == 10) { - component rsa = VerifyRsa65537Pkcs1v1_5(n, k, 256); - for (var i = 0; i < msg_len; i++) { - rsa.message[i] <== hashParsed[i]; - } - for (var i = msg_len; i < k; i++) { - rsa.message[i] <== 0; - } - rsa.modulus <== pubKey; - rsa.signature <== signature; - } - if (signatureAlgorithm == 11) { - component rsa = VerifyRsa65537Pkcs1v1_5(n, k, 160); - for (var i = 0; i < msg_len; i++) { - rsa.message[i] <== hashParsed[i]; - } - for (var i = msg_len; i < k; i++) { - rsa.message[i] <== 0; - } - rsa.modulus <== pubKey; - rsa.signature <== signature; - - } - if ( - signatureAlgorithm == 13 - || signatureAlgorithm == 32 - ) { - component rsa = VerifyRsa3Pkcs1v1_5(n, k, 256); - for (var i = 0; i < msg_len; i++) { - rsa.message[i] <== hashParsed[i]; - } - for (var i = msg_len; i < k; i++) { - rsa.message[i] <== 0; - } - rsa.modulus <== pubKey; - rsa.signature <== signature; - } - if (signatureAlgorithm == 14) { - component rsa = VerifyRsa65537Pkcs1v1_5(n, k, 256); - for (var i = 0; i < msg_len; i++) { - rsa.message[i] <== hashParsed[i]; - } - for (var i = msg_len; i < k; i++) { - rsa.message[i] <== 0; - } - rsa.modulus <== pubKey; - rsa.signature <== signature; - } - if ( - signatureAlgorithm == 15 - || signatureAlgorithm == 31 - ) { - component rsa = VerifyRsa65537Pkcs1v1_5(n, k, 512); - for (var i = 0; i < msg_len; i++) { - rsa.message[i] <== hashParsed[i]; - } - for (var i = msg_len; i < k; i++) { - rsa.message[i] <== 0; - } - rsa.modulus <== pubKey; - rsa.signature <== signature; - } }