mirror of
https://github.com/selfxyz/self.git
synced 2026-04-27 03:01:15 -04:00
clean signature verifier
This commit is contained in:
@@ -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;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user