diff --git a/noir-examples/noir-passport/merkle_age_check/benchmark-inputs/tbs_1300/t_add_dsc_hash_1300.toml b/noir-examples/noir-passport/merkle_age_check/benchmark-inputs/tbs_1300/t_add_dsc_hash_1300.toml index f809c9d67..7717772f6 100644 --- a/noir-examples/noir-passport/merkle_age_check/benchmark-inputs/tbs_1300/t_add_dsc_hash_1300.toml +++ b/noir-examples/noir-passport/merkle_age_check/benchmark-inputs/tbs_1300/t_add_dsc_hash_1300.toml @@ -1,2 +1,2 @@ salt = "0x1" -chunk1 = [48, 130, 1, 10, 2, 130, 1, 1, 0, 175, 129, 169, 48, 75, 201, 148, 9, 44, 101, 74, 102, 208, 170, 80, 87, 167, 158, 254, 182, 81, 253, 14, 124, 113, 45, 48, 144, 36, 5, 248, 31, 93, 49, 75, 149, 184, 114, 188, 161, 128, 33, 61, 152, 20, 57, 11, 226, 80, 82, 80, 10, 209, 152, 144, 112, 231, 229, 31, 130, 146, 213, 195, 46, 163, 187, 24, 68, 79, 56, 124, 205, 49, 44, 70, 146, 221, 223, 68, 147, 89, 27, 16, 80, 111, 178, 109, 166, 123, 27, 29, 37, 120, 192, 202, 246, 6, 132, 249, 14, 254, 239, 204, 225, 127, 186, 207, 215, 178, 142, 60, 232, 125, 83, 126, 240, 68, 243, 79, 119, 91, 83, 101, 115, 122, 64, 30, 91, 221, 154, 108, 225, 93, 137, 17, 211, 26, 118, 192, 139, 66, 108, 134, 167, 187, 106, 71, 227, 24, 98, 192, 198, 153, 49, 239, 67, 212, 101, 101, 4, 76, 153, 212, 177, 159, 190, 78, 10, 224, 173, 157, 91, 210, 237, 178, 115, 123, 245, 116, 202, 34, 222, 78, 153, 81, 155, 248, 151, 112, 213, 128, 252, 173, 11, 165, 189, 128, 245, 216, 176, 34, 8, 89, 234, 4, 237, 161, 225, 16, 206, 84, 251, 235, 84, 100, 148, 53, 18, 159, 134, 159, 65, 197, 221, 254, 23, 118, 144, 109, 54, 163, 163, 137, 13, 21, 182, 72, 183, 104, 190, 89, 8, 248, 244, 38, 62, 248, 56, 97, 149, 68, 81, 218, 203, 203, 183, 2, 3, 1, 0, 1, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134] +chunk1 = [48, 130, 3, 78, 160, 3, 2, 1, 2, 2, 1, 2, 48, 13, 6, 9, 42, 134, 72, 134, 247, 13, 1, 1, 11, 5, 0, 48, 67, 49, 11, 48, 9, 6, 3, 85, 4, 6, 19, 2, 85, 84, 49, 32, 48, 30, 6, 3, 85, 4, 10, 12, 23, 77, 111, 99, 107, 32, 80, 97, 115, 115, 112, 111, 114, 116, 32, 65, 117, 116, 104, 111, 114, 105, 116, 121, 49, 18, 48, 16, 6, 3, 85, 4, 3, 12, 9, 77, 111, 99, 107, 32, 67, 83, 67, 65, 48, 30, 23, 13, 50, 49, 48, 51, 50, 54, 49, 51, 52, 56, 48, 48, 90, 23, 13, 51, 49, 48, 51, 50, 52, 49, 51, 52, 56, 48, 48, 90, 48, 66, 49, 11, 48, 9, 6, 3, 85, 4, 6, 19, 2, 85, 84, 49, 32, 48, 30, 6, 3, 85, 4, 10, 12, 23, 77, 111, 99, 107, 32, 80, 97, 115, 115, 112, 111, 114, 116, 32, 65, 117, 116, 104, 111, 114, 105, 116, 121, 49, 17, 48, 15, 6, 3, 85, 4, 3, 12, 8, 77, 111, 99, 107, 32, 68, 83, 67, 48, 130, 1, 34, 48, 13, 6, 9, 42, 134, 72, 134, 247, 13, 1, 1, 1, 5, 0, 3, 130, 1, 15, 0, 48, 130, 1, 10, 2, 130, 1, 1, 0, 144, 96, 22, 98, 202, 23, 238, 6, 187, 83, 246, 10, 141, 149, 39, 62, 150, 207, 25, 76, 254, 121, 159, 193, 25, 17, 64, 229, 112, 170, 152, 94, 212, 213, 4, 191, 8, 183, 225, 184, 213, 181, 211, 100, 210, 60, 155, 26, 13, 219, 11, 116, 84, 236, 33, 212, 47, 5, 187, 226, 120, 161, 57, 97, 200, 250, 174, 139, 216, 171, 95, 178, 148, 109, 3, 137, 151, 245, 142, 53, 177, 251, 74, 202, 2, 157, 33, 55, 30, 189, 239, 243, 101, 183, 43, 68, 245, 198, 9, 90, 109, 89, 109, 33, 98, 32, 173, 121, 203, 2, 79, 68, 150, 135, 158, 72, 76, 223, 55, 66, 30, 45, 33, 16, 91, 153, 158, 127, 64, 221, 31, 151, 241, 93, 105, 235, 153, 176, 146, 221, 20, 231, 141, 2, 146, 77, 209, 30, 90, 33, 33, 232, 176, 145, 244, 229, 221, 43, 101, 10, 210, 55, 50, 200, 103, 87, 18, 82, 53, 193, 130, 124, 69, 96, 179, 87, 245, 203, 181, 205, 57, 67, 181, 80, 198, 57, 101, 151, 179, 103, 201, 243, 52, 68, 91, 122, 137, 209, 141, 39, 68, 73, 244, 200, 211, 125, 2, 176, 12, 80, 77, 81, 225, 169, 34, 209, 187, 212, 47, 56, 92, 220, 159, 89, 236, 133, 200, 211, 11, 237, 217, 129, 115, 191, 208, 39, 198, 179, 16, 28, 59, 121, 160, 48, 239, 81, 144, 102, 168, 122, 158, 59, 83, 54, 91, 211, 2, 3, 1, 0, 1, 163, 130, 1, 100, 48, 130, 1, 96, 48, 15, 6, 3, 85, 29, 19, 1, 1, 255, 4, 5, 48, 3, 1, 1, 0, 48, 14, 6, 3, 85, 29, 15, 1, 1, 255, 4, 4, 3, 2, 7, 128, 48, 41, 6, 3, 85, 29, 14, 4, 34, 4, 32, 236, 115, 196, 36, 236, 2, 138, 16, 34, 153, 224, 23, 230, 87, 56, 253, 158, 235, 14, 147, 38, 52, 87, 5, 72, 19, 213, 247, 131, 38, 127, 141, 48, 130, 1, 16, 6, 9, 43, 6, 1, 4, 1, 134, 141, 31, 1, 4, 130, 1, 1, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66] diff --git a/noir-examples/noir-passport/merkle_age_check/benchmark-inputs/tbs_1300/t_add_dsc_verify_1300.toml b/noir-examples/noir-passport/merkle_age_check/benchmark-inputs/tbs_1300/t_add_dsc_verify_1300.toml index bee50a8e5..89ae7d385 100644 --- a/noir-examples/noir-passport/merkle_age_check/benchmark-inputs/tbs_1300/t_add_dsc_verify_1300.toml +++ b/noir-examples/noir-passport/merkle_age_check/benchmark-inputs/tbs_1300/t_add_dsc_verify_1300.toml @@ -1,11 +1,11 @@ -comm_in = "0x045433920bc35680c37f22815da747e86bf7974625da04b1f015af21e42446b1" -csc_pubkey = [208, 127, 177, 234, 50, 75, 101, 18, 206, 250, 228, 33, 237, 90, 21, 227, 71, 98, 152, 19, 83, 127, 240, 191, 83, 173, 209, 187, 204, 60, 55, 28, 178, 233, 40, 5, 26, 161, 3, 42, 9, 148, 226, 21, 124, 212, 182, 17, 167, 231, 99, 128, 28, 250, 218, 14, 223, 217, 242, 124, 76, 41, 160, 20, 185, 228, 97, 210, 75, 124, 211, 41, 123, 229, 70, 248, 109, 185, 175, 88, 101, 3, 128, 57, 26, 13, 146, 228, 150, 23, 74, 10, 8, 201, 116, 10, 252, 113, 176, 23, 57, 44, 17, 23, 199, 168, 105, 179, 70, 248, 60, 188, 153, 245, 115, 154, 29, 195, 140, 35, 100, 139, 242, 7, 17, 105, 135, 171, 196, 62, 119, 6, 137, 47, 31, 125, 57, 43, 71, 93, 251, 142, 245, 144, 12, 110, 5, 41, 174, 83, 34, 125, 87, 11, 80, 87, 49, 218, 214, 94, 228, 182, 112, 118, 178, 152, 120, 51, 25, 174, 238, 149, 140, 67, 183, 97, 227, 45, 231, 191, 253, 19, 128, 181, 183, 234, 34, 233, 155, 72, 130, 155, 247, 178, 203, 11, 54, 129, 252, 122, 126, 54, 245, 227, 208, 128, 158, 19, 149, 120, 73, 235, 222, 79, 132, 79, 124, 86, 226, 45, 0, 162, 0, 181, 7, 169, 46, 150, 74, 171, 56, 166, 99, 236, 234, 160, 94, 37, 57, 195, 104, 119, 80, 182, 180, 153, 20, 108, 233, 58, 34, 50, 159, 117, 217, 178, 239, 49, 177, 197, 41, 79, 22, 119, 78, 141, 51, 152, 217, 137, 227, 212, 113, 201, 120, 179, 105, 110, 60, 68, 50, 216, 247, 16, 16, 171, 247, 226, 220, 94, 162, 14, 42, 47, 121, 89, 25, 139, 66, 94, 195, 168, 87, 126, 188, 68, 63, 106, 174, 121, 249, 100, 252, 109, 210, 159, 95, 78, 238, 52, 158, 64, 133, 84, 3, 111, 224, 12, 237, 101, 169, 103, 200, 155, 68, 58, 252, 30, 71, 203, 191, 0, 121, 242, 105, 77, 112, 25, 135, 189, 123, 132, 44, 173, 199, 176, 211, 77, 185, 13, 122, 158, 36, 214, 172, 5, 69, 161, 42, 214, 82, 74, 50, 127, 129, 65, 52, 169, 223, 167, 157, 9, 20, 185, 159, 200, 253, 140, 94, 131, 115, 134, 180, 174, 3, 101, 13, 114, 146, 180, 163, 157, 9, 152, 173, 8, 120, 245, 206, 101, 156, 181, 194, 105, 80, 143, 20, 85, 24, 142, 104, 41, 183, 185, 93, 150, 59, 226, 166, 155, 103, 239, 249, 251, 67, 173, 67, 84, 4, 120, 89, 186, 232, 45, 142, 143, 113, 255, 2, 30, 164, 102, 109, 23, 85, 54, 174, 131, 194, 168, 126, 143, 61, 219, 98, 90, 67, 52, 225, 72, 68, 51, 98, 183, 38, 200, 115, 23, 217, 81, 202, 0, 241, 182, 149, 36, 29, 193, 121, 181, 147, 52, 76, 245, 92, 42, 174, 244, 252, 43, 139, 8, 106, 30, 150, 55, 151, 43, 104, 249, 147, 101] +comm_in = "0x0edb37df14cd00d4352dafa07efa293668fe5d6f9484bd331828c739bd6184bb" +csc_pubkey = [191, 56, 52, 58, 68, 102, 237, 183, 171, 195, 84, 11, 3, 233, 51, 203, 74, 37, 42, 68, 152, 19, 154, 192, 131, 19, 113, 213, 124, 239, 224, 225, 165, 80, 127, 141, 153, 142, 67, 27, 80, 195, 133, 114, 240, 90, 185, 199, 165, 202, 176, 89, 69, 36, 65, 105, 30, 110, 4, 208, 12, 242, 135, 138, 112, 0, 112, 23, 63, 255, 106, 101, 85, 230, 227, 208, 200, 233, 85, 158, 57, 216, 198, 32, 116, 4, 181, 10, 208, 243, 151, 165, 147, 187, 14, 133, 61, 31, 15, 146, 160, 16, 91, 221, 65, 81, 131, 77, 250, 8, 5, 30, 244, 110, 139, 157, 228, 250, 47, 54, 46, 153, 235, 164, 201, 64, 61, 171, 152, 23, 115, 253, 143, 134, 106, 100, 221, 126, 124, 29, 158, 68, 169, 153, 8, 134, 19, 141, 243, 173, 103, 176, 135, 248, 179, 254, 74, 187, 86, 47, 12, 204, 128, 145, 46, 121, 60, 229, 217, 220, 247, 135, 186, 158, 69, 91, 128, 116, 92, 152, 233, 139, 249, 106, 63, 203, 217, 86, 113, 2, 78, 165, 244, 86, 152, 213, 164, 36, 24, 179, 100, 67, 182, 69, 30, 5, 131, 11, 129, 211, 171, 52, 237, 148, 104, 197, 107, 44, 64, 38, 244, 242, 170, 3, 191, 182, 145, 129, 165, 236, 217, 97, 192, 75, 17, 254, 254, 33, 68, 205, 70, 79, 134, 69, 244, 176, 24, 133, 19, 70, 24, 170, 161, 72, 171, 48, 146, 75, 134, 119, 13, 39, 217, 189, 2, 173, 141, 136, 176, 140, 220, 230, 94, 151, 182, 4, 120, 218, 39, 115, 34, 78, 139, 102, 230, 227, 223, 78, 72, 133, 59, 224, 128, 79, 71, 67, 133, 171, 11, 66, 200, 133, 21, 76, 125, 126, 111, 212, 29, 7, 92, 4, 5, 189, 41, 21, 15, 96, 31, 28, 233, 156, 44, 254, 47, 121, 82, 71, 133, 69, 3, 135, 247, 237, 29, 140, 111, 2, 232, 200, 129, 234, 113, 146, 243, 148, 127, 227, 183, 110, 190, 65, 93, 136, 180, 104, 17, 121, 45, 128, 216, 192, 95, 111, 75, 47, 182, 96, 41, 126, 100, 40, 129, 43, 154, 14, 220, 192, 8, 64, 47, 153, 2, 244, 140, 51, 4, 212, 105, 249, 255, 60, 143, 2, 60, 86, 176, 65, 253, 132, 133, 84, 56, 165, 169, 121, 182, 176, 237, 210, 209, 119, 253, 138, 95, 127, 194, 72, 248, 212, 91, 87, 203, 173, 38, 80, 222, 101, 163, 252, 86, 186, 143, 161, 184, 70, 24, 248, 230, 196, 157, 35, 205, 39, 49, 136, 8, 204, 176, 116, 68, 167, 1, 10, 217, 82, 208, 215, 28, 231, 252, 203, 70, 240, 62, 4, 211, 209, 148, 141, 44, 246, 215, 112, 162, 20, 129, 94, 123, 230, 126, 128, 33, 41, 231, 119, 64, 51, 253, 166, 145, 64, 10, 158, 141, 43, 193, 20, 69, 15, 194, 35, 139, 233, 28, 240, 166, 131, 61, 187, 241, 129] salt = "0x1" -country = "AUS" -state1 = [3828948639, 4073271942, 433182166, 3811311365, 3566743306, 1923568254, 3109579459, 1110735471] -tbs_certificate = [48, 130, 1, 10, 2, 130, 1, 1, 0, 175, 129, 169, 48, 75, 201, 148, 9, 44, 101, 74, 102, 208, 170, 80, 87, 167, 158, 254, 182, 81, 253, 14, 124, 113, 45, 48, 144, 36, 5, 248, 31, 93, 49, 75, 149, 184, 114, 188, 161, 128, 33, 61, 152, 20, 57, 11, 226, 80, 82, 80, 10, 209, 152, 144, 112, 231, 229, 31, 130, 146, 213, 195, 46, 163, 187, 24, 68, 79, 56, 124, 205, 49, 44, 70, 146, 221, 223, 68, 147, 89, 27, 16, 80, 111, 178, 109, 166, 123, 27, 29, 37, 120, 192, 202, 246, 6, 132, 249, 14, 254, 239, 204, 225, 127, 186, 207, 215, 178, 142, 60, 232, 125, 83, 126, 240, 68, 243, 79, 119, 91, 83, 101, 115, 122, 64, 30, 91, 221, 154, 108, 225, 93, 137, 17, 211, 26, 118, 192, 139, 66, 108, 134, 167, 187, 106, 71, 227, 24, 98, 192, 198, 153, 49, 239, 67, 212, 101, 101, 4, 76, 153, 212, 177, 159, 190, 78, 10, 224, 173, 157, 91, 210, 237, 178, 115, 123, 245, 116, 202, 34, 222, 78, 153, 81, 155, 248, 151, 112, 213, 128, 252, 173, 11, 165, 189, 128, 245, 216, 176, 34, 8, 89, 234, 4, 237, 161, 225, 16, 206, 84, 251, 235, 84, 100, 148, 53, 18, 159, 134, 159, 65, 197, 221, 254, 23, 118, 144, 109, 54, 163, 163, 137, 13, 21, 182, 72, 183, 104, 190, 89, 8, 248, 244, 38, 62, 248, 56, 97, 149, 68, 81, 218, 203, 203, 183, 2, 3, 1, 0, 1, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] +country = "UTO" +state1 = [2255395565, 3984421451, 1880533823, 1801696719, 786056496, 1504766900, 4275076418, 57901920] +tbs_certificate = [48, 130, 3, 78, 160, 3, 2, 1, 2, 2, 1, 2, 48, 13, 6, 9, 42, 134, 72, 134, 247, 13, 1, 1, 11, 5, 0, 48, 67, 49, 11, 48, 9, 6, 3, 85, 4, 6, 19, 2, 85, 84, 49, 32, 48, 30, 6, 3, 85, 4, 10, 12, 23, 77, 111, 99, 107, 32, 80, 97, 115, 115, 112, 111, 114, 116, 32, 65, 117, 116, 104, 111, 114, 105, 116, 121, 49, 18, 48, 16, 6, 3, 85, 4, 3, 12, 9, 77, 111, 99, 107, 32, 67, 83, 67, 65, 48, 30, 23, 13, 50, 49, 48, 51, 50, 54, 49, 51, 52, 56, 48, 48, 90, 23, 13, 51, 49, 48, 51, 50, 52, 49, 51, 52, 56, 48, 48, 90, 48, 66, 49, 11, 48, 9, 6, 3, 85, 4, 6, 19, 2, 85, 84, 49, 32, 48, 30, 6, 3, 85, 4, 10, 12, 23, 77, 111, 99, 107, 32, 80, 97, 115, 115, 112, 111, 114, 116, 32, 65, 117, 116, 104, 111, 114, 105, 116, 121, 49, 17, 48, 15, 6, 3, 85, 4, 3, 12, 8, 77, 111, 99, 107, 32, 68, 83, 67, 48, 130, 1, 34, 48, 13, 6, 9, 42, 134, 72, 134, 247, 13, 1, 1, 1, 5, 0, 3, 130, 1, 15, 0, 48, 130, 1, 10, 2, 130, 1, 1, 0, 144, 96, 22, 98, 202, 23, 238, 6, 187, 83, 246, 10, 141, 149, 39, 62, 150, 207, 25, 76, 254, 121, 159, 193, 25, 17, 64, 229, 112, 170, 152, 94, 212, 213, 4, 191, 8, 183, 225, 184, 213, 181, 211, 100, 210, 60, 155, 26, 13, 219, 11, 116, 84, 236, 33, 212, 47, 5, 187, 226, 120, 161, 57, 97, 200, 250, 174, 139, 216, 171, 95, 178, 148, 109, 3, 137, 151, 245, 142, 53, 177, 251, 74, 202, 2, 157, 33, 55, 30, 189, 239, 243, 101, 183, 43, 68, 245, 198, 9, 90, 109, 89, 109, 33, 98, 32, 173, 121, 203, 2, 79, 68, 150, 135, 158, 72, 76, 223, 55, 66, 30, 45, 33, 16, 91, 153, 158, 127, 64, 221, 31, 151, 241, 93, 105, 235, 153, 176, 146, 221, 20, 231, 141, 2, 146, 77, 209, 30, 90, 33, 33, 232, 176, 145, 244, 229, 221, 43, 101, 10, 210, 55, 50, 200, 103, 87, 18, 82, 53, 193, 130, 124, 69, 96, 179, 87, 245, 203, 181, 205, 57, 67, 181, 80, 198, 57, 101, 151, 179, 103, 201, 243, 52, 68, 91, 122, 137, 209, 141, 39, 68, 73, 244, 200, 211, 125, 2, 176, 12, 80, 77, 81, 225, 169, 34, 209, 187, 212, 47, 56, 92, 220, 159, 89, 236, 133, 200, 211, 11, 237, 217, 129, 115, 191, 208, 39, 198, 179, 16, 28, 59, 121, 160, 48, 239, 81, 144, 102, 168, 122, 158, 59, 83, 54, 91, 211, 2, 3, 1, 0, 1, 163, 130, 1, 100, 48, 130, 1, 96, 48, 15, 6, 3, 85, 29, 19, 1, 1, 255, 4, 5, 48, 3, 1, 1, 0, 48, 14, 6, 3, 85, 29, 15, 1, 1, 255, 4, 4, 3, 2, 7, 128, 48, 41, 6, 3, 85, 29, 14, 4, 34, 4, 32, 236, 115, 196, 36, 236, 2, 138, 16, 34, 153, 224, 23, 230, 87, 56, 253, 158, 235, 14, 147, 38, 52, 87, 5, 72, 19, 213, 247, 131, 38, 127, 141, 48, 130, 1, 16, 6, 9, 43, 6, 1, 4, 1, 134, 141, 31, 1, 4, 130, 1, 1, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] tbs_certificate_len = 850 -csc_pubkey_redc_param = [19, 165, 43, 147, 243, 62, 245, 198, 16, 226, 76, 181, 11, 33, 122, 50, 8, 146, 184, 53, 157, 103, 217, 123, 12, 245, 111, 27, 121, 118, 147, 162, 61, 247, 152, 155, 102, 232, 126, 61, 244, 200, 5, 80, 102, 48, 32, 140, 144, 42, 210, 143, 10, 110, 82, 31, 155, 109, 240, 20, 37, 253, 18, 42, 212, 15, 119, 136, 208, 106, 8, 161, 39, 28, 142, 243, 211, 182, 159, 196, 20, 118, 120, 239, 161, 160, 111, 130, 89, 15, 25, 125, 45, 173, 199, 5, 251, 173, 171, 187, 15, 150, 84, 233, 168, 215, 245, 49, 58, 201, 10, 23, 42, 23, 103, 52, 166, 72, 33, 68, 151, 78, 90, 181, 143, 216, 76, 93, 210, 66, 109, 141, 126, 111, 20, 178, 1, 8, 84, 100, 10, 136, 22, 11, 112, 73, 87, 58, 190, 60, 241, 221, 145, 178, 144, 121, 119, 118, 78, 144, 149, 199, 110, 186, 255, 41, 78, 174, 77, 163, 171, 6, 98, 168, 106, 17, 106, 250, 165, 128, 195, 128, 55, 154, 152, 194, 95, 206, 157, 104, 5, 155, 203, 40, 77, 230, 108, 67, 83, 248, 67, 19, 116, 214, 205, 23, 253, 227, 97, 20, 42, 154, 63, 148, 52, 139, 189, 53, 46, 53, 232, 126, 221, 112, 154, 24, 186, 11, 136, 247, 76, 19, 208, 218, 103, 179, 86, 52, 140, 162, 176, 0, 208, 190, 69, 203, 245, 46, 131, 95, 167, 239, 135, 114, 201, 28, 182, 153, 206, 37, 75, 189, 189, 131, 193, 88, 193, 148, 56, 104, 10, 82, 180, 233, 127, 21, 102, 22, 60, 109, 198, 224, 219, 59, 192, 25, 132, 201, 222, 3, 201, 6, 175, 173, 90, 78, 94, 19, 140, 8, 178, 201, 152, 76, 158, 197, 156, 114, 124, 41, 130, 31, 112, 240, 132, 51, 120, 64, 84, 131, 3, 154, 87, 14, 13, 134, 198, 54, 197, 151, 230, 111, 184, 196, 181, 61, 118, 163, 35, 9, 88, 4, 184, 83, 229, 214, 179, 23, 215, 26, 85, 162, 181, 19, 112, 124, 153, 77, 36, 165, 18, 204, 12, 147, 240, 48, 74, 252, 215, 249, 68, 157, 28, 48, 82, 143, 44, 157, 228, 215, 162, 154, 255, 49, 36, 133, 150, 81, 182, 142, 148, 108, 17, 234, 161, 116, 9, 13, 245, 35, 187, 112, 90, 104, 136, 169, 243, 160, 139, 119, 191, 219, 41, 146, 81, 208, 188, 238, 136, 223, 113, 215, 231, 158, 30, 246, 143, 195, 156, 44, 236, 158, 235, 208, 223, 8, 233, 71, 68, 208, 244, 3, 40, 0, 30, 192, 39, 241, 121, 47, 133, 149, 27, 130, 99, 234, 24, 144, 199, 40, 160, 232, 251, 143, 213, 50, 26, 251, 100, 101, 9, 76, 7, 77, 171, 0, 39, 250, 162, 119, 14, 198, 87, 253, 191, 47, 42, 26, 225, 119, 79, 17, 108, 245, 196, 68, 84, 214, 34, 210, 229, 253, 172, 6, 180, 104, 65, 83, 6, 10, 164, 29, 155] -dsc_signature = [134, 242, 235, 133, 124, 225, 36, 1, 12, 194, 232, 181, 146, 9, 71, 223, 30, 21, 228, 131, 0, 44, 65, 127, 139, 103, 111, 149, 167, 229, 79, 233, 180, 60, 166, 16, 34, 195, 92, 60, 46, 129, 60, 49, 39, 183, 212, 164, 89, 15, 123, 9, 97, 228, 61, 191, 127, 186, 188, 180, 79, 225, 19, 145, 0, 66, 36, 152, 22, 189, 125, 175, 3, 49, 191, 217, 76, 116, 10, 204, 17, 41, 49, 97, 79, 121, 59, 46, 157, 49, 245, 198, 228, 67, 118, 129, 1, 105, 161, 129, 88, 147, 128, 120, 36, 211, 218, 95, 190, 174, 121, 205, 91, 107, 186, 193, 63, 79, 204, 81, 126, 34, 64, 186, 24, 172, 186, 120, 215, 109, 82, 251, 0, 225, 13, 110, 110, 200, 175, 242, 197, 227, 1, 85, 43, 126, 29, 235, 18, 101, 182, 175, 19, 49, 128, 152, 54, 147, 250, 123, 233, 255, 35, 250, 21, 173, 37, 219, 141, 233, 34, 37, 18, 190, 37, 123, 244, 143, 5, 45, 86, 0, 82, 64, 190, 157, 96, 201, 121, 24, 113, 226, 168, 73, 17, 173, 65, 232, 111, 246, 34, 231, 0, 128, 149, 190, 55, 183, 234, 102, 142, 137, 60, 190, 193, 204, 86, 179, 249, 119, 244, 59, 160, 81, 107, 167, 35, 87, 90, 36, 183, 176, 203, 240, 8, 253, 71, 209, 120, 159, 190, 28, 126, 238, 180, 21, 32, 14, 213, 238, 44, 140, 152, 211, 36, 83, 229, 57, 143, 157, 37, 182, 163, 149, 241, 242, 39, 175, 128, 49, 175, 158, 209, 167, 131, 120, 128, 51, 238, 151, 114, 96, 118, 128, 231, 240, 246, 236, 215, 16, 50, 47, 248, 88, 211, 34, 15, 81, 180, 247, 254, 107, 182, 148, 243, 218, 16, 251, 7, 196, 231, 57, 69, 19, 123, 28, 43, 86, 192, 176, 30, 174, 135, 63, 150, 145, 210, 161, 244, 147, 13, 63, 204, 228, 241, 221, 208, 18, 158, 97, 57, 254, 50, 25, 215, 44, 102, 212, 47, 243, 15, 125, 253, 15, 29, 30, 38, 122, 209, 126, 121, 188, 174, 164, 131, 201, 100, 36, 232, 250, 168, 211, 49, 246, 20, 176, 171, 94, 11, 249, 172, 56, 185, 72, 132, 21, 163, 228, 6, 113, 204, 228, 49, 84, 126, 205, 161, 122, 155, 172, 102, 161, 185, 184, 238, 239, 176, 168, 194, 97, 205, 25, 191, 180, 221, 20, 174, 82, 143, 209, 110, 202, 31, 15, 224, 43, 45, 217, 134, 41, 124, 64, 135, 51, 81, 26, 188, 227, 227, 176, 0, 160, 107, 152, 105, 244, 51, 104, 147, 85, 158, 121, 155, 178, 31, 213, 35, 130, 109, 49, 16, 184, 55, 232, 199, 128, 103, 248, 0, 96, 124, 135, 189, 224, 188, 78, 35, 162, 156, 250, 170, 89, 167, 248, 90, 146, 187, 37, 166, 128, 225, 174, 63, 25, 236, 210, 97, 33, 161, 113, 111, 207, 28, 254, 47, 177, 1, 249, 211, 94, 96, 185] +csc_pubkey_redc_param = [21, 107, 159, 157, 72, 119, 18, 0, 27, 71, 177, 110, 89, 195, 140, 32, 0, 81, 204, 142, 10, 42, 57, 174, 56, 49, 20, 174, 40, 168, 13, 110, 119, 62, 130, 206, 113, 131, 163, 69, 216, 148, 52, 169, 100, 129, 114, 255, 46, 231, 61, 14, 80, 203, 136, 94, 50, 194, 33, 127, 20, 160, 234, 71, 20, 201, 8, 231, 223, 0, 192, 38, 138, 232, 188, 101, 68, 103, 102, 81, 27, 78, 37, 96, 11, 135, 61, 12, 158, 37, 141, 215, 151, 25, 176, 135, 41, 133, 163, 113, 221, 161, 175, 226, 9, 113, 252, 229, 239, 48, 55, 162, 33, 178, 224, 94, 18, 161, 220, 186, 163, 10, 133, 85, 127, 74, 95, 74, 192, 164, 69, 236, 121, 95, 224, 115, 181, 169, 156, 121, 161, 180, 127, 61, 26, 113, 65, 35, 241, 87, 67, 152, 40, 160, 29, 190, 249, 119, 178, 40, 99, 198, 222, 102, 162, 68, 138, 169, 237, 193, 199, 151, 159, 80, 118, 20, 141, 97, 224, 76, 212, 29, 80, 238, 32, 234, 172, 151, 141, 134, 227, 177, 61, 106, 9, 105, 194, 149, 232, 171, 165, 135, 244, 24, 214, 213, 28, 115, 68, 75, 160, 198, 129, 73, 238, 59, 59, 4, 45, 101, 235, 220, 224, 224, 5, 76, 13, 218, 137, 189, 174, 52, 38, 192, 245, 127, 138, 81, 96, 255, 162, 119, 44, 210, 247, 66, 99, 3, 202, 110, 26, 174, 27, 157, 15, 85, 81, 115, 162, 35, 217, 73, 84, 139, 198, 206, 205, 93, 221, 207, 182, 126, 20, 211, 178, 23, 232, 95, 253, 252, 254, 211, 143, 149, 130, 102, 69, 47, 230, 141, 23, 107, 148, 35, 98, 85, 98, 111, 238, 85, 148, 111, 251, 83, 220, 88, 156, 81, 27, 196, 8, 5, 66, 216, 111, 3, 226, 212, 80, 151, 38, 164, 172, 189, 112, 224, 225, 98, 165, 86, 180, 31, 32, 249, 202, 127, 244, 142, 127, 17, 239, 16, 41, 1, 191, 113, 134, 18, 66, 251, 227, 254, 73, 53, 180, 104, 27, 133, 32, 198, 218, 159, 226, 32, 79, 136, 115, 52, 110, 242, 239, 204, 109, 154, 29, 180, 85, 142, 244, 160, 90, 14, 37, 236, 159, 130, 229, 169, 11, 37, 132, 37, 49, 124, 225, 206, 164, 202, 94, 34, 8, 5, 49, 56, 17, 171, 65, 211, 126, 42, 109, 62, 176, 132, 107, 62, 190, 141, 214, 11, 217, 6, 52, 198, 157, 181, 22, 107, 245, 249, 222, 4, 71, 63, 54, 104, 23, 171, 180, 131, 16, 230, 23, 94, 39, 61, 149, 204, 15, 42, 7, 187, 147, 37, 55, 67, 188, 147, 194, 254, 154, 193, 95, 227, 162, 216, 3, 127, 116, 248, 115, 121, 126, 176, 253, 175, 7, 245, 175, 129, 254, 70, 151, 36, 174, 235, 172, 158, 244, 206, 119, 184, 231, 1, 14, 162, 152, 159, 97, 136, 82, 216, 75, 161, 36, 208, 59, 62, 13, 12, 35, 82, 236] +dsc_signature = [1, 90, 47, 176, 125, 161, 115, 42, 228, 134, 123, 122, 5, 10, 192, 251, 21, 176, 234, 130, 181, 159, 129, 112, 177, 142, 115, 49, 83, 162, 150, 234, 133, 233, 115, 90, 20, 113, 84, 60, 187, 88, 115, 7, 236, 156, 43, 41, 97, 196, 158, 176, 156, 61, 214, 171, 84, 234, 120, 38, 152, 93, 137, 186, 244, 89, 139, 161, 114, 156, 16, 105, 104, 254, 128, 219, 168, 148, 238, 79, 117, 131, 9, 121, 107, 114, 88, 246, 52, 220, 17, 114, 106, 6, 103, 56, 105, 75, 39, 120, 64, 136, 237, 83, 122, 147, 231, 96, 120, 145, 199, 203, 17, 76, 243, 108, 145, 6, 53, 178, 217, 197, 42, 29, 45, 166, 18, 163, 37, 198, 170, 204, 246, 145, 28, 88, 220, 217, 127, 129, 200, 243, 202, 201, 100, 203, 21, 26, 82, 136, 221, 195, 134, 115, 215, 35, 122, 92, 11, 126, 239, 123, 69, 103, 185, 5, 53, 172, 70, 105, 92, 242, 116, 163, 110, 14, 150, 211, 129, 135, 95, 219, 68, 18, 205, 169, 48, 179, 202, 174, 150, 37, 254, 211, 150, 59, 44, 172, 4, 87, 133, 57, 206, 135, 138, 187, 101, 245, 146, 151, 9, 54, 228, 40, 0, 245, 140, 211, 134, 38, 50, 174, 82, 124, 107, 54, 255, 30, 31, 40, 201, 20, 119, 75, 74, 242, 187, 44, 218, 182, 218, 185, 153, 221, 170, 2, 145, 206, 75, 46, 206, 164, 0, 219, 171, 204, 169, 20, 212, 145, 93, 26, 101, 101, 222, 26, 93, 215, 141, 207, 218, 178, 94, 14, 54, 2, 45, 172, 249, 227, 172, 222, 105, 152, 120, 121, 246, 138, 144, 112, 123, 60, 250, 244, 40, 29, 247, 190, 99, 79, 54, 0, 240, 119, 110, 230, 129, 88, 95, 219, 196, 159, 249, 48, 236, 220, 232, 3, 177, 8, 34, 210, 101, 147, 135, 161, 82, 125, 47, 216, 138, 186, 108, 74, 178, 129, 57, 227, 132, 49, 251, 45, 248, 119, 44, 147, 173, 178, 29, 150, 89, 241, 165, 37, 22, 157, 75, 225, 2, 237, 3, 55, 220, 104, 206, 8, 164, 37, 217, 22, 186, 239, 230, 194, 49, 93, 213, 191, 141, 79, 207, 181, 221, 34, 59, 234, 173, 228, 10, 146, 250, 117, 36, 188, 147, 234, 126, 79, 165, 228, 43, 95, 202, 48, 170, 84, 5, 91, 7, 230, 92, 108, 44, 198, 200, 156, 24, 203, 65, 68, 120, 65, 209, 200, 217, 182, 140, 39, 101, 245, 218, 21, 193, 169, 153, 47, 112, 164, 252, 99, 62, 99, 201, 25, 13, 103, 97, 59, 198, 7, 193, 40, 148, 201, 184, 75, 25, 98, 54, 243, 239, 7, 2, 15, 30, 104, 73, 40, 61, 149, 233, 207, 151, 75, 135, 0, 108, 124, 158, 9, 14, 134, 151, 82, 138, 235, 199, 127, 184, 140, 178, 172, 224, 252, 94, 15, 254, 128, 230, 69, 139, 195, 122, 107, 172, 243, 151, 38, 66, 196, 210, 123] exponent = 65537 salt_out = "0x2" diff --git a/noir-examples/noir-passport/merkle_age_check/benchmark-inputs/tbs_1300/t_add_id_data_1300.toml b/noir-examples/noir-passport/merkle_age_check/benchmark-inputs/tbs_1300/t_add_id_data_1300.toml index 73f9c9067..22af47d34 100644 --- a/noir-examples/noir-passport/merkle_age_check/benchmark-inputs/tbs_1300/t_add_id_data_1300.toml +++ b/noir-examples/noir-passport/merkle_age_check/benchmark-inputs/tbs_1300/t_add_id_data_1300.toml @@ -1,13 +1,12 @@ -comm_in = "0x070407794e3b7c40e9d8892b4e040d2c39fc3c10ca8f61e928dcbc8d5440cf84" +comm_in = "0x1c1dbdf258ce616f87b44a1df061bfff7d71f8b559a279fe283890ed1cf34892" salt_in = "0x2" salt_out = "0x3" -dg1 = [60, 60, 60, 60, 60, 60, 60, 65, 85, 83, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 48, 55, 48, 49, 48, 49, 60, 60, 51, 50, 48, 49, 48, 49, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 0, 0] -dsc_pubkey = [175, 129, 169, 48, 75, 201, 148, 9, 44, 101, 74, 102, 208, 170, 80, 87, 167, 158, 254, 182, 81, 253, 14, 124, 113, 45, 48, 144, 36, 5, 248, 31, 93, 49, 75, 149, 184, 114, 188, 161, 128, 33, 61, 152, 20, 57, 11, 226, 80, 82, 80, 10, 209, 152, 144, 112, 231, 229, 31, 130, 146, 213, 195, 46, 163, 187, 24, 68, 79, 56, 124, 205, 49, 44, 70, 146, 221, 223, 68, 147, 89, 27, 16, 80, 111, 178, 109, 166, 123, 27, 29, 37, 120, 192, 202, 246, 6, 132, 249, 14, 254, 239, 204, 225, 127, 186, 207, 215, 178, 142, 60, 232, 125, 83, 126, 240, 68, 243, 79, 119, 91, 83, 101, 115, 122, 64, 30, 91, 221, 154, 108, 225, 93, 137, 17, 211, 26, 118, 192, 139, 66, 108, 134, 167, 187, 106, 71, 227, 24, 98, 192, 198, 153, 49, 239, 67, 212, 101, 101, 4, 76, 153, 212, 177, 159, 190, 78, 10, 224, 173, 157, 91, 210, 237, 178, 115, 123, 245, 116, 202, 34, 222, 78, 153, 81, 155, 248, 151, 112, 213, 128, 252, 173, 11, 165, 189, 128, 245, 216, 176, 34, 8, 89, 234, 4, 237, 161, 225, 16, 206, 84, 251, 235, 84, 100, 148, 53, 18, 159, 134, 159, 65, 197, 221, 254, 23, 118, 144, 109, 54, 163, 163, 137, 13, 21, 182, 72, 183, 104, 190, 89, 8, 248, 244, 38, 62, 248, 56, 97, 149, 68, 81, 218, 203, 203, 183] -dsc_pubkey_redc_param = [23, 86, 146, 55, 63, 159, 232, 60, 221, 119, 124, 9, 188, 82, 165, 23, 158, 68, 5, 232, 168, 133, 63, 147, 86, 8, 2, 197, 30, 202, 6, 196, 129, 59, 244, 235, 113, 52, 51, 248, 98, 48, 137, 234, 84, 170, 65, 207, 33, 186, 6, 254, 161, 135, 119, 198, 104, 247, 24, 246, 156, 81, 61, 99, 126, 80, 216, 52, 161, 179, 129, 133, 173, 141, 134, 234, 156, 64, 79, 255, 61, 141, 190, 123, 205, 191, 152, 53, 145, 191, 77, 125, 60, 188, 104, 182, 169, 121, 230, 26, 1, 124, 62, 101, 28, 75, 250, 66, 171, 241, 231, 237, 225, 61, 249, 0, 117, 84, 60, 140, 51, 219, 193, 160, 77, 14, 253, 51, 64, 71, 45, 165, 162, 194, 117, 93, 144, 116, 178, 209, 189, 183, 77, 171, 54, 237, 113, 243, 114, 148, 21, 228, 165, 153, 19, 160, 227, 104, 59, 208, 214, 235, 96, 164, 133, 47, 251, 13, 59, 164, 129, 240, 105, 214, 104, 124, 12, 21, 255, 35, 85, 51, 170, 117, 71, 178, 214, 151, 127, 253, 71, 112, 209, 152, 120, 178, 174, 176, 58, 133, 236, 254, 22, 242, 94, 92, 52, 237, 195, 7, 135, 23, 202, 41, 67, 107, 115, 192, 105, 51, 59, 132, 59, 206, 91, 236, 171, 188, 82, 152, 31, 108, 101, 190, 85, 255, 129, 181, 133, 126, 193, 79, 106, 11, 58, 161, 68, 180, 115, 123, 0, 189, 63, 28, 219, 233, 56] -dsc_pubkey_offset_in_dsc_cert = 9 -sod_signature = [49, 82, 246, 122, 19, 59, 45, 0, 177, 1, 87, 120, 87, 11, 161, 239, 3, 249, 38, 76, 252, 218, 41, 186, 212, 255, 115, 93, 61, 126, 32, 45, 23, 213, 196, 108, 114, 169, 113, 7, 154, 18, 167, 25, 25, 27, 194, 114, 135, 8, 37, 84, 208, 23, 27, 57, 163, 118, 74, 6, 231, 69, 9, 217, 236, 137, 219, 240, 189, 26, 131, 1, 235, 7, 154, 43, 28, 206, 16, 186, 23, 101, 46, 95, 236, 154, 223, 150, 100, 20, 161, 29, 86, 197, 67, 93, 206, 196, 125, 105, 53, 145, 158, 61, 204, 142, 223, 173, 216, 92, 32, 103, 98, 195, 108, 15, 123, 238, 9, 7, 149, 47, 149, 249, 97, 112, 140, 53, 7, 173, 48, 226, 190, 242, 124, 83, 23, 84, 52, 101, 194, 21, 138, 178, 155, 243, 196, 72, 173, 74, 160, 87, 171, 165, 251, 137, 93, 34, 78, 37, 248, 131, 241, 134, 158, 12, 44, 0, 225, 80, 16, 3, 29, 30, 144, 38, 191, 129, 51, 186, 7, 125, 14, 87, 88, 158, 30, 6, 109, 47, 101, 202, 94, 215, 177, 113, 2, 148, 208, 150, 29, 57, 165, 123, 73, 103, 247, 176, 90, 74, 58, 214, 151, 149, 112, 198, 55, 27, 242, 91, 215, 74, 52, 244, 241, 51, 75, 142, 233, 181, 37, 113, 101, 113, 106, 164, 216, 83, 189, 110, 194, 226, 251, 61, 238, 86, 238, 228, 238, 254, 32, 95, 49, 100, 15, 179] -tbs_certificate = [48, 130, 1, 10, 2, 130, 1, 1, 0, 175, 129, 169, 48, 75, 201, 148, 9, 44, 101, 74, 102, 208, 170, 80, 87, 167, 158, 254, 182, 81, 253, 14, 124, 113, 45, 48, 144, 36, 5, 248, 31, 93, 49, 75, 149, 184, 114, 188, 161, 128, 33, 61, 152, 20, 57, 11, 226, 80, 82, 80, 10, 209, 152, 144, 112, 231, 229, 31, 130, 146, 213, 195, 46, 163, 187, 24, 68, 79, 56, 124, 205, 49, 44, 70, 146, 221, 223, 68, 147, 89, 27, 16, 80, 111, 178, 109, 166, 123, 27, 29, 37, 120, 192, 202, 246, 6, 132, 249, 14, 254, 239, 204, 225, 127, 186, 207, 215, 178, 142, 60, 232, 125, 83, 126, 240, 68, 243, 79, 119, 91, 83, 101, 115, 122, 64, 30, 91, 221, 154, 108, 225, 93, 137, 17, 211, 26, 118, 192, 139, 66, 108, 134, 167, 187, 106, 71, 227, 24, 98, 192, 198, 153, 49, 239, 67, 212, 101, 101, 4, 76, 153, 212, 177, 159, 190, 78, 10, 224, 173, 157, 91, 210, 237, 178, 115, 123, 245, 116, 202, 34, 222, 78, 153, 81, 155, 248, 151, 112, 213, 128, 252, 173, 11, 165, 189, 128, 245, 216, 176, 34, 8, 89, 234, 4, 237, 161, 225, 16, 206, 84, 251, 235, 84, 100, 148, 53, 18, 159, 134, 159, 65, 197, 221, 254, 23, 118, 144, 109, 54, 163, 163, 137, 13, 21, 182, 72, 183, 104, 190, 89, 8, 248, 244, 38, 62, 248, 56, 97, 149, 68, 81, 218, 203, 203, 183, 2, 3, 1, 0, 1, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] -signed_attributes = [211, 193, 250, 21, 235, 80, 39, 78, 193, 183, 135, 72, 121, 250, 28, 5, 52, 114, 247, 226, 239, 85, 157, 215, 111, 196, 53, 0, 194, 221, 150, 136, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] -signed_attributes_size = 32 +dg1 = [97, 91, 95, 31, 88, 80, 60, 85, 84, 79, 68, 79, 69, 60, 60, 74, 79, 72, 78, 60, 77, 79, 67, 75, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 76, 56, 57, 56, 57, 48, 50, 67, 51, 54, 85, 84, 79, 48, 55, 48, 49, 48, 49, 57, 77, 51, 50, 48, 49, 48, 49, 53, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 48, 56, 0, 0] +dsc_pubkey = [144, 96, 22, 98, 202, 23, 238, 6, 187, 83, 246, 10, 141, 149, 39, 62, 150, 207, 25, 76, 254, 121, 159, 193, 25, 17, 64, 229, 112, 170, 152, 94, 212, 213, 4, 191, 8, 183, 225, 184, 213, 181, 211, 100, 210, 60, 155, 26, 13, 219, 11, 116, 84, 236, 33, 212, 47, 5, 187, 226, 120, 161, 57, 97, 200, 250, 174, 139, 216, 171, 95, 178, 148, 109, 3, 137, 151, 245, 142, 53, 177, 251, 74, 202, 2, 157, 33, 55, 30, 189, 239, 243, 101, 183, 43, 68, 245, 198, 9, 90, 109, 89, 109, 33, 98, 32, 173, 121, 203, 2, 79, 68, 150, 135, 158, 72, 76, 223, 55, 66, 30, 45, 33, 16, 91, 153, 158, 127, 64, 221, 31, 151, 241, 93, 105, 235, 153, 176, 146, 221, 20, 231, 141, 2, 146, 77, 209, 30, 90, 33, 33, 232, 176, 145, 244, 229, 221, 43, 101, 10, 210, 55, 50, 200, 103, 87, 18, 82, 53, 193, 130, 124, 69, 96, 179, 87, 245, 203, 181, 205, 57, 67, 181, 80, 198, 57, 101, 151, 179, 103, 201, 243, 52, 68, 91, 122, 137, 209, 141, 39, 68, 73, 244, 200, 211, 125, 2, 176, 12, 80, 77, 81, 225, 169, 34, 209, 187, 212, 47, 56, 92, 220, 159, 89, 236, 133, 200, 211, 11, 237, 217, 129, 115, 191, 208, 39, 198, 179, 16, 28, 59, 121, 160, 48, 239, 81, 144, 102, 168, 122, 158, 59, 83, 54, 91, 211] +dsc_pubkey_redc_param = [28, 94, 216, 205, 130, 214, 187, 182, 58, 208, 228, 159, 128, 141, 147, 245, 68, 203, 236, 129, 99, 140, 108, 211, 245, 198, 71, 176, 2, 196, 241, 58, 221, 37, 54, 244, 93, 131, 148, 193, 87, 121, 38, 188, 142, 196, 4, 105, 26, 37, 150, 148, 152, 205, 235, 126, 184, 93, 105, 56, 44, 19, 57, 156, 74, 145, 52, 201, 54, 91, 218, 1, 26, 107, 219, 199, 28, 10, 57, 32, 22, 195, 131, 58, 46, 165, 57, 181, 53, 133, 182, 229, 180, 5, 229, 103, 172, 187, 96, 43, 14, 4, 151, 199, 136, 53, 224, 199, 167, 81, 240, 180, 174, 254, 87, 255, 239, 218, 1, 170, 8, 126, 189, 0, 83, 125, 173, 191, 84, 53, 29, 80, 88, 48, 59, 50, 243, 156, 221, 1, 81, 7, 140, 195, 28, 126, 195, 88, 226, 224, 141, 129, 220, 242, 189, 217, 16, 44, 163, 154, 247, 61, 237, 213, 56, 204, 14, 199, 251, 110, 139, 117, 142, 16, 234, 116, 47, 82, 226, 88, 40, 15, 104, 74, 12, 48, 224, 229, 64, 4, 157, 1, 124, 203, 51, 181, 191, 194, 149, 113, 225, 34, 173, 236, 206, 22, 80, 189, 181, 158, 100, 248, 60, 60, 68, 157, 169, 68, 26, 229, 226, 151, 181, 39, 197, 51, 51, 171, 197, 130, 196, 219, 115, 145, 84, 69, 157, 247, 71, 141, 198, 109, 219, 255, 149, 228, 19, 23, 56, 175, 123, 107, 192, 219, 175, 130, 60] +dsc_pubkey_offset_in_dsc_cert = 229 +sod_signature = [55, 125, 38, 168, 223, 78, 57, 118, 228, 58, 135, 97, 165, 230, 168, 0, 91, 69, 158, 155, 110, 40, 239, 57, 178, 211, 54, 96, 253, 10, 240, 107, 184, 122, 27, 253, 124, 73, 89, 217, 97, 144, 99, 173, 170, 199, 64, 96, 11, 143, 50, 90, 234, 133, 108, 224, 104, 98, 171, 85, 251, 138, 248, 6, 241, 193, 212, 242, 58, 208, 107, 18, 239, 246, 157, 218, 85, 217, 68, 118, 211, 205, 230, 40, 68, 3, 2, 171, 231, 247, 10, 101, 21, 250, 17, 217, 56, 254, 79, 109, 61, 190, 241, 168, 231, 49, 118, 0, 114, 237, 216, 227, 110, 117, 137, 176, 223, 146, 29, 1, 172, 234, 23, 186, 203, 18, 188, 210, 42, 156, 133, 107, 124, 3, 244, 173, 53, 85, 75, 225, 4, 106, 118, 111, 35, 16, 133, 227, 31, 148, 60, 113, 230, 201, 147, 83, 236, 179, 245, 84, 84, 144, 62, 29, 198, 38, 19, 237, 145, 183, 6, 72, 247, 172, 73, 108, 87, 50, 128, 85, 152, 180, 222, 24, 88, 18, 149, 23, 217, 196, 219, 198, 93, 53, 3, 189, 190, 34, 221, 60, 73, 108, 54, 42, 162, 49, 195, 65, 119, 194, 214, 101, 35, 101, 247, 27, 29, 143, 169, 47, 249, 107, 101, 202, 185, 231, 48, 223, 63, 20, 164, 24, 38, 103, 147, 80, 168, 152, 159, 186, 58, 107, 188, 155, 29, 221, 45, 107, 173, 106, 69, 98, 155, 39, 194, 22] +tbs_certificate = [48, 130, 3, 78, 160, 3, 2, 1, 2, 2, 1, 2, 48, 13, 6, 9, 42, 134, 72, 134, 247, 13, 1, 1, 11, 5, 0, 48, 67, 49, 11, 48, 9, 6, 3, 85, 4, 6, 19, 2, 85, 84, 49, 32, 48, 30, 6, 3, 85, 4, 10, 12, 23, 77, 111, 99, 107, 32, 80, 97, 115, 115, 112, 111, 114, 116, 32, 65, 117, 116, 104, 111, 114, 105, 116, 121, 49, 18, 48, 16, 6, 3, 85, 4, 3, 12, 9, 77, 111, 99, 107, 32, 67, 83, 67, 65, 48, 30, 23, 13, 50, 49, 48, 51, 50, 54, 49, 51, 52, 56, 48, 48, 90, 23, 13, 51, 49, 48, 51, 50, 52, 49, 51, 52, 56, 48, 48, 90, 48, 66, 49, 11, 48, 9, 6, 3, 85, 4, 6, 19, 2, 85, 84, 49, 32, 48, 30, 6, 3, 85, 4, 10, 12, 23, 77, 111, 99, 107, 32, 80, 97, 115, 115, 112, 111, 114, 116, 32, 65, 117, 116, 104, 111, 114, 105, 116, 121, 49, 17, 48, 15, 6, 3, 85, 4, 3, 12, 8, 77, 111, 99, 107, 32, 68, 83, 67, 48, 130, 1, 34, 48, 13, 6, 9, 42, 134, 72, 134, 247, 13, 1, 1, 1, 5, 0, 3, 130, 1, 15, 0, 48, 130, 1, 10, 2, 130, 1, 1, 0, 144, 96, 22, 98, 202, 23, 238, 6, 187, 83, 246, 10, 141, 149, 39, 62, 150, 207, 25, 76, 254, 121, 159, 193, 25, 17, 64, 229, 112, 170, 152, 94, 212, 213, 4, 191, 8, 183, 225, 184, 213, 181, 211, 100, 210, 60, 155, 26, 13, 219, 11, 116, 84, 236, 33, 212, 47, 5, 187, 226, 120, 161, 57, 97, 200, 250, 174, 139, 216, 171, 95, 178, 148, 109, 3, 137, 151, 245, 142, 53, 177, 251, 74, 202, 2, 157, 33, 55, 30, 189, 239, 243, 101, 183, 43, 68, 245, 198, 9, 90, 109, 89, 109, 33, 98, 32, 173, 121, 203, 2, 79, 68, 150, 135, 158, 72, 76, 223, 55, 66, 30, 45, 33, 16, 91, 153, 158, 127, 64, 221, 31, 151, 241, 93, 105, 235, 153, 176, 146, 221, 20, 231, 141, 2, 146, 77, 209, 30, 90, 33, 33, 232, 176, 145, 244, 229, 221, 43, 101, 10, 210, 55, 50, 200, 103, 87, 18, 82, 53, 193, 130, 124, 69, 96, 179, 87, 245, 203, 181, 205, 57, 67, 181, 80, 198, 57, 101, 151, 179, 103, 201, 243, 52, 68, 91, 122, 137, 209, 141, 39, 68, 73, 244, 200, 211, 125, 2, 176, 12, 80, 77, 81, 225, 169, 34, 209, 187, 212, 47, 56, 92, 220, 159, 89, 236, 133, 200, 211, 11, 237, 217, 129, 115, 191, 208, 39, 198, 179, 16, 28, 59, 121, 160, 48, 239, 81, 144, 102, 168, 122, 158, 59, 83, 54, 91, 211, 2, 3, 1, 0, 1, 163, 130, 1, 100, 48, 130, 1, 96, 48, 15, 6, 3, 85, 29, 19, 1, 1, 255, 4, 5, 48, 3, 1, 1, 0, 48, 14, 6, 3, 85, 29, 15, 1, 1, 255, 4, 4, 3, 2, 7, 128, 48, 41, 6, 3, 85, 29, 14, 4, 34, 4, 32, 236, 115, 196, 36, 236, 2, 138, 16, 34, 153, 224, 23, 230, 87, 56, 253, 158, 235, 14, 147, 38, 52, 87, 5, 72, 19, 213, 247, 131, 38, 127, 141, 48, 130, 1, 16, 6, 9, 43, 6, 1, 4, 1, 134, 141, 31, 1, 4, 130, 1, 1, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] +signed_attributes = [49, 72, 48, 21, 6, 9, 42, 134, 72, 134, 247, 13, 1, 9, 3, 49, 8, 6, 6, 103, 129, 8, 1, 1, 1, 48, 47, 6, 9, 42, 134, 72, 134, 247, 13, 1, 9, 4, 49, 34, 4, 32, 83, 213, 2, 32, 92, 70, 157, 44, 204, 36, 20, 171, 99, 224, 204, 169, 133, 155, 24, 174, 188, 45, 208, 99, 91, 43, 205, 208, 68, 46, 41, 217, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] exponent = 65537 -e_content = [253, 51, 11, 117, 232, 161, 148, 187, 21, 27, 187, 140, 18, 92, 136, 34, 182, 250, 146, 125, 141, 230, 22, 147, 205, 153, 108, 117, 179, 69, 32, 173, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] +e_content = [48, 96, 2, 1, 0, 48, 11, 6, 9, 96, 134, 72, 1, 101, 3, 4, 2, 1, 48, 78, 48, 37, 2, 1, 1, 4, 32, 133, 239, 49, 15, 44, 106, 246, 249, 184, 107, 11, 51, 210, 155, 75, 109, 226, 131, 181, 170, 13, 64, 12, 245, 141, 228, 185, 127, 108, 212, 235, 9, 48, 37, 2, 1, 2, 4, 32, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] diff --git a/noir-examples/noir-passport/merkle_age_check/benchmark-inputs/tbs_1300/t_add_integrity_commit.toml b/noir-examples/noir-passport/merkle_age_check/benchmark-inputs/tbs_1300/t_add_integrity_commit.toml index 02747db5a..bfb38afed 100644 --- a/noir-examples/noir-passport/merkle_age_check/benchmark-inputs/tbs_1300/t_add_integrity_commit.toml +++ b/noir-examples/noir-passport/merkle_age_check/benchmark-inputs/tbs_1300/t_add_integrity_commit.toml @@ -1,526 +1,11 @@ -# t_add_integrity_commit Prover inputs -# Verifies data integrity and generates Merkle leaf -# Generated from fragmented_age_check/benchmark-inputs/tbs_720/data_check_integrity_sa_prover.toml - -# Public input - commitment from t_add_id_data_720 -comm_in = "0x00c2be911a2957a80fb3384012b08dc81bc24ae0fd1ecafe9aacc7177b7411a3" -# Private inputs +comm_in = "0x179c66496e0cfa29827752e404165e7f5e0dd87270d7efe1de0657a174119642" salt_in = "0x3" - -# DG1 - Machine Readable Zone (95 bytes) -dg1 = [ - 60, - 60, - 60, - 60, - 60, - 60, - 60, - 65, - 85, - 83, - 60, - 60, - 60, - 60, - 60, - 60, - 60, - 60, - 60, - 60, - 60, - 60, - 60, - 60, - 60, - 60, - 60, - 60, - 60, - 60, - 60, - 60, - 60, - 60, - 60, - 60, - 60, - 60, - 60, - 60, - 60, - 60, - 60, - 60, - 60, - 60, - 60, - 60, - 60, - 60, - 60, - 60, - 60, - 60, - 60, - 60, - 60, - 60, - 60, - 60, - 60, - 60, - 48, - 55, - 48, - 49, - 48, - 49, - 60, - 60, - 51, - 50, - 48, - 49, - 48, - 49, - 60, - 60, - 60, - 60, - 60, - 60, - 60, - 60, - 60, - 60, - 60, - 60, - 60, - 60, - 60, - 60, - 60, - 0, - 0, -] +dg1 = [97, 91, 95, 31, 88, 80, 60, 85, 84, 79, 68, 79, 69, 60, 60, 74, 79, 72, 78, 60, 77, 79, 67, 75, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 76, 56, 57, 56, 57, 48, 50, 67, 51, 54, 85, 84, 79, 48, 55, 48, 49, 48, 49, 57, 77, 51, 50, 48, 49, 48, 49, 53, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 48, 56, 0, 0] dg1_padded_length = 95 -dg1_hash_offset = 0 - -# SignedAttributes (200 bytes) -signed_attributes = [ - 211, - 193, - 250, - 21, - 235, - 80, - 39, - 78, - 193, - 183, - 135, - 72, - 121, - 250, - 28, - 5, - 52, - 114, - 247, - 226, - 239, - 85, - 157, - 215, - 111, - 196, - 53, - 0, - 194, - 221, - 150, - 136, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, -] -signed_attributes_size = 32 - -# eContent (200 bytes) -e_content = [ - 253, - 51, - 11, - 117, - 232, - 161, - 148, - 187, - 21, - 27, - 187, - 140, - 18, - 92, - 136, - 34, - 182, - 250, - 146, - 125, - 141, - 230, - 22, - 147, - 205, - 153, - 108, - 117, - 179, - 69, - 32, - 173, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, -] -e_content_len = 32 - -# Private nullifier - Poseidon2(DG1, eContent, SOD sig) -private_nullifier = "0x0e54c7a27d1b06d06f8aa014ad75a9c9fae9b79c84097d0650caa544828062e1" - -# Random blinding factor for Poseidon commitment to DG1 -# This must be remembered and used in t_attest +dg1_hash_offset = 27 +signed_attributes = [49, 72, 48, 21, 6, 9, 42, 134, 72, 134, 247, 13, 1, 9, 3, 49, 8, 6, 6, 103, 129, 8, 1, 1, 1, 48, 47, 6, 9, 42, 134, 72, 134, 247, 13, 1, 9, 4, 49, 34, 4, 32, 83, 213, 2, 32, 92, 70, 157, 44, 204, 36, 20, 171, 99, 224, 204, 169, 133, 155, 24, 174, 188, 45, 208, 99, 91, 43, 205, 208, 68, 46, 41, 217, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] +signed_attributes_size = 74 +e_content = [48, 96, 2, 1, 0, 48, 11, 6, 9, 96, 134, 72, 1, 101, 3, 4, 2, 1, 48, 78, 48, 37, 2, 1, 1, 4, 32, 133, 239, 49, 15, 44, 106, 246, 249, 184, 107, 11, 51, 210, 155, 75, 109, 226, 131, 181, 170, 13, 64, 12, 245, 141, 228, 185, 127, 108, 212, 235, 9, 48, 37, 2, 1, 2, 4, 32, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] +e_content_len = 98 +private_nullifier = "0x2cd723116eacc7d3de35eea7fae04ee08682eccb1cc0becd843b4af6c134b4c5" r_dg1 = "0x1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef" diff --git a/noir-examples/noir-passport/merkle_age_check/benchmark-inputs/tbs_1300/t_attest.toml b/noir-examples/noir-passport/merkle_age_check/benchmark-inputs/tbs_1300/t_attest.toml index 46ffbdf25..b8f2f863e 100644 --- a/noir-examples/noir-passport/merkle_age_check/benchmark-inputs/tbs_1300/t_attest.toml +++ b/noir-examples/noir-passport/merkle_age_check/benchmark-inputs/tbs_1300/t_attest.toml @@ -1,10 +1,10 @@ -root = "0x0c06fff742191643d95291f314c286d0475d195ed2c127b5597537042d4cbfe1" -current_date = "1735689600" # Jan 1, 2025, 00:00:00 UTC -service_scope = "0x0000000000000000000000000000000000000000000000000000000000000002" -service_subscope = "0x0000000000000000000000000000000000000000000000000000000000000003" -dg1 = [60, 60, 60, 60, 60, 60, 60, 65, 85, 83, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 48, 55, 48, 49, 48, 49, 60, 60, 51, 50, 48, 49, 48, 49, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 0, 0] +root = "0x2ff94ac92b298144a71565dfb425cc9562494d5cee33a9d75a782cf9f3197d59" +current_date = "1735689600" +service_scope = "0x0000000000000000000000000000000000000000000000000000000000000000" +service_subscope = "0x0000000000000000000000000000000000000000000000000000000000000000" +dg1 = [97, 91, 95, 31, 88, 80, 60, 85, 84, 79, 68, 79, 69, 60, 60, 74, 79, 72, 78, 60, 77, 79, 67, 75, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 76, 56, 57, 56, 57, 48, 50, 67, 51, 54, 85, 84, 79, 48, 55, 48, 49, 48, 49, 57, 77, 51, 50, 48, 49, 48, 49, 53, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 48, 56, 0, 0] r_dg1 = "0x1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef" -sod_hash = "0x0cc892f2a9a18e7ce91ffb1a7e5eb287866b4910839b74bb2cfe9ac924ac9870" +sod_hash = "0x237a444692c7c843c43a8c5af58fd9e1ee9f6b4032db7431fb34ff8e9af060fc" leaf_index = "0" merkle_path = [ "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -32,6 +32,6 @@ merkle_path = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000" ] -min_age_required = "17" -max_age_required = "0" +min_age_required = "18" +max_age_required = "0" nullifier_secret = "0x0000000000000000000000000000000000000000000000000000000000000000" diff --git a/noir-examples/noir-passport/merkle_age_check/benchmark-inputs/tbs_720/t_add_dsc_720.toml b/noir-examples/noir-passport/merkle_age_check/benchmark-inputs/tbs_720/t_add_dsc_720.toml index 5605156b5..e037e0640 100644 --- a/noir-examples/noir-passport/merkle_age_check/benchmark-inputs/tbs_720/t_add_dsc_720.toml +++ b/noir-examples/noir-passport/merkle_age_check/benchmark-inputs/tbs_720/t_add_dsc_720.toml @@ -1,10 +1,8 @@ csc_pubkey = [191, 56, 52, 58, 68, 102, 237, 183, 171, 195, 84, 11, 3, 233, 51, 203, 74, 37, 42, 68, 152, 19, 154, 192, 131, 19, 113, 213, 124, 239, 224, 225, 165, 80, 127, 141, 153, 142, 67, 27, 80, 195, 133, 114, 240, 90, 185, 199, 165, 202, 176, 89, 69, 36, 65, 105, 30, 110, 4, 208, 12, 242, 135, 138, 112, 0, 112, 23, 63, 255, 106, 101, 85, 230, 227, 208, 200, 233, 85, 158, 57, 216, 198, 32, 116, 4, 181, 10, 208, 243, 151, 165, 147, 187, 14, 133, 61, 31, 15, 146, 160, 16, 91, 221, 65, 81, 131, 77, 250, 8, 5, 30, 244, 110, 139, 157, 228, 250, 47, 54, 46, 153, 235, 164, 201, 64, 61, 171, 152, 23, 115, 253, 143, 134, 106, 100, 221, 126, 124, 29, 158, 68, 169, 153, 8, 134, 19, 141, 243, 173, 103, 176, 135, 248, 179, 254, 74, 187, 86, 47, 12, 204, 128, 145, 46, 121, 60, 229, 217, 220, 247, 135, 186, 158, 69, 91, 128, 116, 92, 152, 233, 139, 249, 106, 63, 203, 217, 86, 113, 2, 78, 165, 244, 86, 152, 213, 164, 36, 24, 179, 100, 67, 182, 69, 30, 5, 131, 11, 129, 211, 171, 52, 237, 148, 104, 197, 107, 44, 64, 38, 244, 242, 170, 3, 191, 182, 145, 129, 165, 236, 217, 97, 192, 75, 17, 254, 254, 33, 68, 205, 70, 79, 134, 69, 244, 176, 24, 133, 19, 70, 24, 170, 161, 72, 171, 48, 146, 75, 134, 119, 13, 39, 217, 189, 2, 173, 141, 136, 176, 140, 220, 230, 94, 151, 182, 4, 120, 218, 39, 115, 34, 78, 139, 102, 230, 227, 223, 78, 72, 133, 59, 224, 128, 79, 71, 67, 133, 171, 11, 66, 200, 133, 21, 76, 125, 126, 111, 212, 29, 7, 92, 4, 5, 189, 41, 21, 15, 96, 31, 28, 233, 156, 44, 254, 47, 121, 82, 71, 133, 69, 3, 135, 247, 237, 29, 140, 111, 2, 232, 200, 129, 234, 113, 146, 243, 148, 127, 227, 183, 110, 190, 65, 93, 136, 180, 104, 17, 121, 45, 128, 216, 192, 95, 111, 75, 47, 182, 96, 41, 126, 100, 40, 129, 43, 154, 14, 220, 192, 8, 64, 47, 153, 2, 244, 140, 51, 4, 212, 105, 249, 255, 60, 143, 2, 60, 86, 176, 65, 253, 132, 133, 84, 56, 165, 169, 121, 182, 176, 237, 210, 209, 119, 253, 138, 95, 127, 194, 72, 248, 212, 91, 87, 203, 173, 38, 80, 222, 101, 163, 252, 86, 186, 143, 161, 184, 70, 24, 248, 230, 196, 157, 35, 205, 39, 49, 136, 8, 204, 176, 116, 68, 167, 1, 10, 217, 82, 208, 215, 28, 231, 252, 203, 70, 240, 62, 4, 211, 209, 148, 141, 44, 246, 215, 112, 162, 20, 129, 94, 123, 230, 126, 128, 33, 41, 231, 119, 64, 51, 253, 166, 145, 64, 10, 158, 141, 43, 193, 20, 69, 15, 194, 35, 139, 233, 28, 240, 166, 131, 61, 187, 241, 129] salt = "0x2" -country = "<<<" -tbs_certificate = [48, 130, 1, 10, 2, 130, 1, 1, 0, 144, 96, 22, 98, 202, 23, 238, 6, 187, 83, 246, 10, 141, 149, 39, 62, 150, 207, 25, 76, 254, 121, 159, 193, 25, 17, 64, 229, 112, 170, 152, 94, 212, 213, 4, 191, 8, 183, 225, 184, 213, 181, 211, 100, 210, 60, 155, 26, 13, 219, 11, 116, 84, 236, 33, 212, 47, 5, 187, 226, 120, 161, 57, 97, 200, 250, 174, 139, 216, 171, 95, 178, 148, 109, 3, 137, 151, 245, 142, 53, 177, 251, 74, 202, 2, 157, 33, 55, 30, 189, 239, 243, 101, 183, 43, 68, 245, 198, 9, 90, 109, 89, 109, 33, 98, 32, 173, 121, 203, 2, 79, 68, 150, 135, 158, 72, 76, 223, 55, 66, 30, 45, 33, 16, 91, 153, 158, 127, 64, 221, 31, 151, 241, 93, 105, 235, 153, 176, 146, 221, 20, 231, 141, 2, 146, 77, 209, 30, 90, 33, 33, 232, 176, 145, 244, 229, 221, 43, 101, 10, 210, 55, 50, 200, 103, 87, 18, 82, 53, 193, 130, 124, 69, 96, 179, 87, 245, 203, 181, 205, 57, 67, 181, 80, 198, 57, 101, 151, 179, 103, 201, 243, 52, 68, 91, 122, 137, 209, 141, 39, 68, 73, 244, 200, 211, 125, 2, 176, 12, 80, 77, 81, 225, 169, 34, 209, 187, 212, 47, 56, 92, 220, 159, 89, 236, 133, 200, 211, 11, 237, 217, 129, 115, 191, 208, 39, 198, 179, 16, 28, 59, 121, 160, 48, 239, 81, 144, 102, 168, 122, 158, 59, 83, 54, 91, 211, 2, 3, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] +country = "UTO" +tbs_certificate = [48, 130, 2, 54, 160, 3, 2, 1, 2, 2, 1, 2, 48, 13, 6, 9, 42, 134, 72, 134, 247, 13, 1, 1, 11, 5, 0, 48, 67, 49, 11, 48, 9, 6, 3, 85, 4, 6, 19, 2, 85, 84, 49, 32, 48, 30, 6, 3, 85, 4, 10, 12, 23, 77, 111, 99, 107, 32, 80, 97, 115, 115, 112, 111, 114, 116, 32, 65, 117, 116, 104, 111, 114, 105, 116, 121, 49, 18, 48, 16, 6, 3, 85, 4, 3, 12, 9, 77, 111, 99, 107, 32, 67, 83, 67, 65, 48, 30, 23, 13, 50, 49, 48, 51, 50, 54, 49, 51, 53, 52, 49, 56, 90, 23, 13, 51, 49, 48, 51, 50, 52, 49, 51, 53, 52, 49, 56, 90, 48, 66, 49, 11, 48, 9, 6, 3, 85, 4, 6, 19, 2, 85, 84, 49, 32, 48, 30, 6, 3, 85, 4, 10, 12, 23, 77, 111, 99, 107, 32, 80, 97, 115, 115, 112, 111, 114, 116, 32, 65, 117, 116, 104, 111, 114, 105, 116, 121, 49, 17, 48, 15, 6, 3, 85, 4, 3, 12, 8, 77, 111, 99, 107, 32, 68, 83, 67, 48, 130, 1, 34, 48, 13, 6, 9, 42, 134, 72, 134, 247, 13, 1, 1, 1, 5, 0, 3, 130, 1, 15, 0, 48, 130, 1, 10, 2, 130, 1, 1, 0, 144, 96, 22, 98, 202, 23, 238, 6, 187, 83, 246, 10, 141, 149, 39, 62, 150, 207, 25, 76, 254, 121, 159, 193, 25, 17, 64, 229, 112, 170, 152, 94, 212, 213, 4, 191, 8, 183, 225, 184, 213, 181, 211, 100, 210, 60, 155, 26, 13, 219, 11, 116, 84, 236, 33, 212, 47, 5, 187, 226, 120, 161, 57, 97, 200, 250, 174, 139, 216, 171, 95, 178, 148, 109, 3, 137, 151, 245, 142, 53, 177, 251, 74, 202, 2, 157, 33, 55, 30, 189, 239, 243, 101, 183, 43, 68, 245, 198, 9, 90, 109, 89, 109, 33, 98, 32, 173, 121, 203, 2, 79, 68, 150, 135, 158, 72, 76, 223, 55, 66, 30, 45, 33, 16, 91, 153, 158, 127, 64, 221, 31, 151, 241, 93, 105, 235, 153, 176, 146, 221, 20, 231, 141, 2, 146, 77, 209, 30, 90, 33, 33, 232, 176, 145, 244, 229, 221, 43, 101, 10, 210, 55, 50, 200, 103, 87, 18, 82, 53, 193, 130, 124, 69, 96, 179, 87, 245, 203, 181, 205, 57, 67, 181, 80, 198, 57, 101, 151, 179, 103, 201, 243, 52, 68, 91, 122, 137, 209, 141, 39, 68, 73, 244, 200, 211, 125, 2, 176, 12, 80, 77, 81, 225, 169, 34, 209, 187, 212, 47, 56, 92, 220, 159, 89, 236, 133, 200, 211, 11, 237, 217, 129, 115, 191, 208, 39, 198, 179, 16, 28, 59, 121, 160, 48, 239, 81, 144, 102, 168, 122, 158, 59, 83, 54, 91, 211, 2, 3, 1, 0, 1, 163, 78, 48, 76, 48, 15, 6, 3, 85, 29, 19, 1, 1, 255, 4, 5, 48, 3, 1, 1, 0, 48, 14, 6, 3, 85, 29, 15, 1, 1, 255, 4, 4, 3, 2, 7, 128, 48, 41, 6, 3, 85, 29, 14, 4, 34, 4, 32, 236, 115, 196, 36, 236, 2, 138, 16, 34, 153, 224, 23, 230, 87, 56, 253, 158, 235, 14, 147, 38, 52, 87, 5, 72, 19, 213, 247, 131, 38, 127, 141, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] csc_pubkey_redc_param = [21, 107, 159, 157, 72, 119, 18, 0, 27, 71, 177, 110, 89, 195, 140, 32, 0, 81, 204, 142, 10, 42, 57, 174, 56, 49, 20, 174, 40, 168, 13, 110, 119, 62, 130, 206, 113, 131, 163, 69, 216, 148, 52, 169, 100, 129, 114, 255, 46, 231, 61, 14, 80, 203, 136, 94, 50, 194, 33, 127, 20, 160, 234, 71, 20, 201, 8, 231, 223, 0, 192, 38, 138, 232, 188, 101, 68, 103, 102, 81, 27, 78, 37, 96, 11, 135, 61, 12, 158, 37, 141, 215, 151, 25, 176, 135, 41, 133, 163, 113, 221, 161, 175, 226, 9, 113, 252, 229, 239, 48, 55, 162, 33, 178, 224, 94, 18, 161, 220, 186, 163, 10, 133, 85, 127, 74, 95, 74, 192, 164, 69, 236, 121, 95, 224, 115, 181, 169, 156, 121, 161, 180, 127, 61, 26, 113, 65, 35, 241, 87, 67, 152, 40, 160, 29, 190, 249, 119, 178, 40, 99, 198, 222, 102, 162, 68, 138, 169, 237, 193, 199, 151, 159, 80, 118, 20, 141, 97, 224, 76, 212, 29, 80, 238, 32, 234, 172, 151, 141, 134, 227, 177, 61, 106, 9, 105, 194, 149, 232, 171, 165, 135, 244, 24, 214, 213, 28, 115, 68, 75, 160, 198, 129, 73, 238, 59, 59, 4, 45, 101, 235, 220, 224, 224, 5, 76, 13, 218, 137, 189, 174, 52, 38, 192, 245, 127, 138, 81, 96, 255, 162, 119, 44, 210, 247, 66, 99, 3, 202, 110, 26, 174, 27, 157, 15, 85, 81, 115, 162, 35, 217, 73, 84, 139, 198, 206, 205, 93, 221, 207, 182, 126, 20, 211, 178, 23, 232, 95, 253, 252, 254, 211, 143, 149, 130, 102, 69, 47, 230, 141, 23, 107, 148, 35, 98, 85, 98, 111, 238, 85, 148, 111, 251, 83, 220, 88, 156, 81, 27, 196, 8, 5, 66, 216, 111, 3, 226, 212, 80, 151, 38, 164, 172, 189, 112, 224, 225, 98, 165, 86, 180, 31, 32, 249, 202, 127, 244, 142, 127, 17, 239, 16, 41, 1, 191, 113, 134, 18, 66, 251, 227, 254, 73, 53, 180, 104, 27, 133, 32, 198, 218, 159, 226, 32, 79, 136, 115, 52, 110, 242, 239, 204, 109, 154, 29, 180, 85, 142, 244, 160, 90, 14, 37, 236, 159, 130, 229, 169, 11, 37, 132, 37, 49, 124, 225, 206, 164, 202, 94, 34, 8, 5, 49, 56, 17, 171, 65, 211, 126, 42, 109, 62, 176, 132, 107, 62, 190, 141, 214, 11, 217, 6, 52, 198, 157, 181, 22, 107, 245, 249, 222, 4, 71, 63, 54, 104, 23, 171, 180, 131, 16, 230, 23, 94, 39, 61, 149, 204, 15, 42, 7, 187, 147, 37, 55, 67, 188, 147, 194, 254, 154, 193, 95, 227, 162, 216, 3, 127, 116, 248, 115, 121, 126, 176, 253, 175, 7, 245, 175, 129, 254, 70, 151, 36, 174, 235, 172, 158, 244, 206, 119, 184, 231, 1, 14, 162, 152, 159, 97, 136, 82, 216, 75, 161, 36, 208, 59, 62, 13, 12, 35, 82, 236] -dsc_signature = [71, 151, 90, 104, 225, 194, 204, 189, 133, 238, 99, 243, 154, 33, 179, 225, 16, 61, 209, 231, 178, 20, 10, 41, 218, 115, 35, 100, 165, 196, 140, 201, 144, 176, 84, 28, 141, 196, 127, 247, 234, 183, 55, 102, 230, 157, 209, 2, 35, 235, 82, 126, 131, 245, 25, 60, 149, 44, 150, 113, 186, 83, 136, 220, 43, 195, 6, 82, 238, 87, 88, 26, 60, 14, 243, 84, 14, 216, 239, 139, 152, 108, 134, 184, 173, 109, 237, 100, 24, 132, 38, 204, 127, 184, 90, 12, 227, 198, 79, 121, 169, 157, 218, 114, 132, 153, 147, 135, 226, 41, 192, 253, 62, 55, 119, 193, 65, 236, 77, 150, 118, 245, 136, 133, 203, 25, 230, 208, 134, 31, 17, 236, 182, 20, 70, 47, 91, 177, 122, 182, 76, 118, 84, 27, 190, 39, 67, 47, 52, 98, 17, 1, 150, 87, 160, 226, 171, 189, 227, 205, 208, 166, 141, 43, 118, 39, 191, 146, 241, 176, 225, 178, 255, 101, 1, 133, 35, 103, 203, 147, 147, 0, 113, 6, 206, 134, 199, 64, 203, 248, 203, 174, 35, 99, 123, 223, 212, 70, 122, 213, 0, 61, 125, 205, 220, 136, 58, 37, 190, 26, 19, 13, 37, 2, 221, 152, 255, 89, 57, 1, 157, 72, 232, 84, 206, 221, 206, 233, 94, 247, 117, 227, 208, 206, 13, 245, 63, 195, 75, 224, 26, 99, 230, 232, 223, 90, 87, 170, 117, 216, 105, 241, 124, 246, 47, 60, 221, 159, 152, 20, 196, 235, 232, 25, 135, 174, 18, 204, 240, 11, 146, 51, 210, 235, 198, 119, 167, 232, 219, 28, 70, 181, 132, 138, 192, 18, 42, 80, 147, 168, 185, 248, 224, 26, 70, 116, 133, 150, 215, 250, 195, 165, 232, 18, 157, 24, 179, 22, 109, 4, 201, 236, 206, 25, 153, 44, 208, 222, 136, 39, 38, 13, 141, 115, 72, 114, 49, 0, 61, 247, 155, 211, 23, 75, 229, 128, 29, 13, 80, 236, 170, 80, 70, 219, 165, 106, 2, 37, 84, 29, 12, 10, 201, 238, 100, 237, 79, 214, 192, 228, 170, 181, 160, 211, 210, 215, 220, 139, 100, 142, 13, 161, 118, 52, 92, 141, 84, 237, 130, 139, 203, 97, 153, 234, 43, 11, 106, 168, 246, 146, 82, 212, 6, 149, 196, 166, 223, 219, 24, 57, 187, 219, 3, 3, 216, 191, 187, 147, 172, 35, 226, 142, 231, 79, 180, 17, 78, 102, 57, 160, 169, 45, 233, 40, 195, 137, 241, 24, 151, 228, 107, 125, 154, 227, 25, 213, 59, 124, 200, 183, 64, 181, 82, 47, 227, 146, 95, 48, 65, 34, 165, 28, 66, 162, 46, 175, 59, 108, 183, 153, 205, 48, 95, 165, 78, 18, 88, 154, 121, 211, 8, 125, 152, 120, 225, 237, 37, 49, 215, 93, 174, 197, 33, 189, 51, 30, 225, 223, 26, 30, 39, 143, 49, 74, 95, 227, 205, 194, 79, 72, 94, 254, 55, 197, 85, 69, 148, 242, 124, 64, 251, 186] +dsc_signature = [169, 42, 245, 251, 152, 33, 198, 125, 189, 117, 149, 90, 241, 101, 47, 107, 181, 214, 135, 197, 190, 87, 41, 132, 13, 13, 229, 24, 50, 69, 107, 110, 96, 187, 25, 255, 239, 191, 119, 183, 222, 27, 253, 249, 206, 136, 163, 219, 239, 172, 234, 113, 51, 126, 12, 10, 149, 204, 190, 228, 114, 168, 122, 60, 145, 26, 71, 80, 146, 216, 159, 114, 116, 88, 216, 83, 9, 71, 153, 115, 143, 11, 248, 141, 66, 132, 223, 42, 96, 25, 14, 77, 180, 82, 168, 237, 218, 211, 4, 242, 47, 229, 15, 248, 188, 41, 165, 58, 135, 172, 69, 220, 187, 34, 57, 183, 1, 238, 137, 17, 123, 17, 8, 96, 188, 99, 94, 176, 175, 217, 113, 187, 61, 192, 225, 146, 10, 65, 87, 54, 165, 129, 189, 17, 29, 46, 200, 232, 214, 79, 156, 181, 37, 24, 135, 191, 3, 115, 81, 225, 50, 41, 12, 202, 44, 86, 22, 118, 228, 72, 251, 24, 78, 202, 218, 71, 78, 101, 120, 238, 206, 86, 14, 129, 178, 211, 38, 84, 127, 106, 19, 118, 128, 66, 126, 193, 72, 162, 130, 152, 151, 3, 123, 122, 77, 149, 236, 170, 240, 99, 106, 59, 252, 176, 56, 139, 119, 12, 212, 130, 112, 124, 95, 34, 195, 84, 212, 60, 44, 30, 67, 225, 252, 121, 148, 105, 151, 38, 174, 187, 138, 60, 246, 67, 223, 52, 245, 245, 3, 168, 90, 53, 170, 49, 33, 117, 177, 200, 156, 203, 149, 17, 84, 139, 50, 110, 39, 83, 156, 245, 128, 145, 71, 184, 125, 100, 88, 221, 21, 10, 235, 93, 227, 156, 131, 10, 69, 202, 217, 188, 213, 80, 128, 14, 76, 17, 178, 39, 105, 155, 139, 180, 80, 84, 137, 103, 217, 87, 221, 155, 111, 245, 133, 253, 54, 84, 62, 79, 184, 210, 233, 206, 77, 202, 36, 137, 126, 231, 171, 182, 52, 226, 127, 205, 232, 187, 36, 52, 39, 194, 42, 93, 224, 205, 123, 162, 5, 181, 168, 113, 37, 22, 122, 48, 48, 121, 5, 14, 220, 181, 246, 68, 240, 222, 40, 46, 161, 244, 167, 121, 105, 60, 95, 233, 25, 168, 174, 31, 124, 89, 40, 95, 19, 188, 221, 212, 225, 228, 51, 137, 2, 170, 190, 66, 236, 133, 80, 130, 59, 159, 151, 234, 49, 43, 155, 253, 137, 101, 175, 254, 10, 146, 203, 190, 234, 30, 247, 81, 97, 108, 22, 19, 176, 5, 7, 55, 146, 221, 177, 161, 128, 96, 70, 168, 1, 164, 146, 17, 75, 84, 123, 45, 246, 75, 147, 119, 251, 70, 128, 30, 237, 242, 17, 111, 139, 187, 32, 228, 36, 196, 226, 133, 120, 254, 62, 145, 120, 13, 97, 171, 152, 77, 100, 122, 47, 101, 100, 206, 101, 30, 75, 118, 115, 39, 79, 108, 222, 47, 167, 161, 234, 160, 180, 114, 6, 161, 205, 107, 242, 191, 178, 177, 196, 6, 106, 228, 62, 34, 177, 85, 129, 223] exponent = 65537 -tbs_certificate_len = 270 - - +tbs_certificate_len = 570 diff --git a/noir-examples/noir-passport/merkle_age_check/benchmark-inputs/tbs_720/t_add_id_data_720.toml b/noir-examples/noir-passport/merkle_age_check/benchmark-inputs/tbs_720/t_add_id_data_720.toml index 2b66c8bc5..15815bf60 100644 --- a/noir-examples/noir-passport/merkle_age_check/benchmark-inputs/tbs_720/t_add_id_data_720.toml +++ b/noir-examples/noir-passport/merkle_age_check/benchmark-inputs/tbs_720/t_add_id_data_720.toml @@ -1,13 +1,12 @@ -comm_in = "0x0bdef7ac25be28f354005db4f553c059c0dc43eeaa5185dee47600ecba6c69f" +comm_in = "0x21a7b23d758c007e32bd6eb30d925f52487a5721baeae6717757ef34c7584b97" salt_in = "0x2" salt_out = "0x3" -dg1 = [60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 48, 55, 48, 49, 48, 49, 60, 60, 51, 50, 48, 49, 48, 49, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 0, 0] +dg1 = [97, 91, 95, 31, 88, 80, 60, 85, 84, 79, 68, 79, 69, 60, 60, 74, 79, 72, 78, 60, 77, 79, 67, 75, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 76, 56, 57, 56, 57, 48, 50, 67, 51, 54, 85, 84, 79, 48, 55, 48, 49, 48, 49, 57, 77, 51, 50, 48, 49, 48, 49, 53, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 48, 56, 0, 0] dsc_pubkey = [144, 96, 22, 98, 202, 23, 238, 6, 187, 83, 246, 10, 141, 149, 39, 62, 150, 207, 25, 76, 254, 121, 159, 193, 25, 17, 64, 229, 112, 170, 152, 94, 212, 213, 4, 191, 8, 183, 225, 184, 213, 181, 211, 100, 210, 60, 155, 26, 13, 219, 11, 116, 84, 236, 33, 212, 47, 5, 187, 226, 120, 161, 57, 97, 200, 250, 174, 139, 216, 171, 95, 178, 148, 109, 3, 137, 151, 245, 142, 53, 177, 251, 74, 202, 2, 157, 33, 55, 30, 189, 239, 243, 101, 183, 43, 68, 245, 198, 9, 90, 109, 89, 109, 33, 98, 32, 173, 121, 203, 2, 79, 68, 150, 135, 158, 72, 76, 223, 55, 66, 30, 45, 33, 16, 91, 153, 158, 127, 64, 221, 31, 151, 241, 93, 105, 235, 153, 176, 146, 221, 20, 231, 141, 2, 146, 77, 209, 30, 90, 33, 33, 232, 176, 145, 244, 229, 221, 43, 101, 10, 210, 55, 50, 200, 103, 87, 18, 82, 53, 193, 130, 124, 69, 96, 179, 87, 245, 203, 181, 205, 57, 67, 181, 80, 198, 57, 101, 151, 179, 103, 201, 243, 52, 68, 91, 122, 137, 209, 141, 39, 68, 73, 244, 200, 211, 125, 2, 176, 12, 80, 77, 81, 225, 169, 34, 209, 187, 212, 47, 56, 92, 220, 159, 89, 236, 133, 200, 211, 11, 237, 217, 129, 115, 191, 208, 39, 198, 179, 16, 28, 59, 121, 160, 48, 239, 81, 144, 102, 168, 122, 158, 59, 83, 54, 91, 211] dsc_pubkey_redc_param = [28, 94, 216, 205, 130, 214, 187, 182, 58, 208, 228, 159, 128, 141, 147, 245, 68, 203, 236, 129, 99, 140, 108, 211, 245, 198, 71, 176, 2, 196, 241, 58, 221, 37, 54, 244, 93, 131, 148, 193, 87, 121, 38, 188, 142, 196, 4, 105, 26, 37, 150, 148, 152, 205, 235, 126, 184, 93, 105, 56, 44, 19, 57, 156, 74, 145, 52, 201, 54, 91, 218, 1, 26, 107, 219, 199, 28, 10, 57, 32, 22, 195, 131, 58, 46, 165, 57, 181, 53, 133, 182, 229, 180, 5, 229, 103, 172, 187, 96, 43, 14, 4, 151, 199, 136, 53, 224, 199, 167, 81, 240, 180, 174, 254, 87, 255, 239, 218, 1, 170, 8, 126, 189, 0, 83, 125, 173, 191, 84, 53, 29, 80, 88, 48, 59, 50, 243, 156, 221, 1, 81, 7, 140, 195, 28, 126, 195, 88, 226, 224, 141, 129, 220, 242, 189, 217, 16, 44, 163, 154, 247, 61, 237, 213, 56, 204, 14, 199, 251, 110, 139, 117, 142, 16, 234, 116, 47, 82, 226, 88, 40, 15, 104, 74, 12, 48, 224, 229, 64, 4, 157, 1, 124, 203, 51, 181, 191, 194, 149, 113, 225, 34, 173, 236, 206, 22, 80, 189, 181, 158, 100, 248, 60, 60, 68, 157, 169, 68, 26, 229, 226, 151, 181, 39, 197, 51, 51, 171, 197, 130, 196, 219, 115, 145, 84, 69, 157, 247, 71, 141, 198, 109, 219, 255, 149, 228, 19, 23, 56, 175, 123, 107, 192, 219, 175, 130, 60] -dsc_pubkey_offset_in_dsc_cert = 9 -sod_signature = [113, 231, 195, 7, 247, 11, 13, 57, 73, 228, 48, 151, 133, 177, 43, 142, 233, 232, 70, 198, 60, 147, 234, 31, 248, 165, 161, 227, 36, 157, 234, 192, 235, 66, 210, 134, 202, 126, 240, 251, 47, 94, 6, 66, 165, 99, 234, 225, 135, 175, 214, 112, 243, 5, 12, 58, 222, 45, 16, 140, 95, 199, 207, 243, 17, 141, 236, 227, 27, 183, 92, 45, 92, 117, 20, 139, 103, 240, 111, 189, 113, 164, 58, 126, 186, 35, 39, 145, 166, 239, 112, 202, 131, 158, 133, 248, 79, 243, 9, 0, 128, 80, 184, 109, 14, 4, 40, 173, 155, 206, 61, 0, 149, 194, 127, 58, 248, 183, 11, 117, 246, 66, 248, 251, 74, 141, 219, 83, 53, 11, 222, 95, 146, 140, 147, 135, 235, 177, 214, 35, 212, 87, 103, 117, 40, 147, 213, 173, 201, 2, 233, 69, 28, 152, 17, 217, 168, 186, 12, 39, 27, 118, 62, 66, 202, 18, 180, 191, 20, 14, 158, 218, 47, 227, 158, 150, 150, 69, 205, 76, 190, 201, 137, 71, 240, 190, 250, 180, 225, 107, 131, 18, 221, 210, 116, 127, 218, 219, 60, 166, 172, 0, 104, 115, 76, 65, 186, 6, 109, 66, 73, 156, 158, 248, 7, 30, 208, 69, 51, 242, 110, 193, 169, 240, 188, 19, 64, 161, 116, 211, 138, 136, 15, 100, 130, 251, 1, 243, 115, 185, 237, 30, 196, 110, 105, 193, 248, 56, 97, 213, 178, 105, 201, 134, 50, 102] -tbs_certificate = [48, 130, 1, 10, 2, 130, 1, 1, 0, 144, 96, 22, 98, 202, 23, 238, 6, 187, 83, 246, 10, 141, 149, 39, 62, 150, 207, 25, 76, 254, 121, 159, 193, 25, 17, 64, 229, 112, 170, 152, 94, 212, 213, 4, 191, 8, 183, 225, 184, 213, 181, 211, 100, 210, 60, 155, 26, 13, 219, 11, 116, 84, 236, 33, 212, 47, 5, 187, 226, 120, 161, 57, 97, 200, 250, 174, 139, 216, 171, 95, 178, 148, 109, 3, 137, 151, 245, 142, 53, 177, 251, 74, 202, 2, 157, 33, 55, 30, 189, 239, 243, 101, 183, 43, 68, 245, 198, 9, 90, 109, 89, 109, 33, 98, 32, 173, 121, 203, 2, 79, 68, 150, 135, 158, 72, 76, 223, 55, 66, 30, 45, 33, 16, 91, 153, 158, 127, 64, 221, 31, 151, 241, 93, 105, 235, 153, 176, 146, 221, 20, 231, 141, 2, 146, 77, 209, 30, 90, 33, 33, 232, 176, 145, 244, 229, 221, 43, 101, 10, 210, 55, 50, 200, 103, 87, 18, 82, 53, 193, 130, 124, 69, 96, 179, 87, 245, 203, 181, 205, 57, 67, 181, 80, 198, 57, 101, 151, 179, 103, 201, 243, 52, 68, 91, 122, 137, 209, 141, 39, 68, 73, 244, 200, 211, 125, 2, 176, 12, 80, 77, 81, 225, 169, 34, 209, 187, 212, 47, 56, 92, 220, 159, 89, 236, 133, 200, 211, 11, 237, 217, 129, 115, 191, 208, 39, 198, 179, 16, 28, 59, 121, 160, 48, 239, 81, 144, 102, 168, 122, 158, 59, 83, 54, 91, 211, 2, 3, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] -signed_attributes = [213, 19, 219, 127, 44, 247, 154, 190, 26, 122, 188, 163, 73, 227, 191, 71, 139, 129, 120, 193, 5, 130, 52, 127, 40, 83, 242, 75, 244, 200, 248, 159, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] -signed_attributes_size = 32 +dsc_pubkey_offset_in_dsc_cert = 229 +sod_signature = [55, 125, 38, 168, 223, 78, 57, 118, 228, 58, 135, 97, 165, 230, 168, 0, 91, 69, 158, 155, 110, 40, 239, 57, 178, 211, 54, 96, 253, 10, 240, 107, 184, 122, 27, 253, 124, 73, 89, 217, 97, 144, 99, 173, 170, 199, 64, 96, 11, 143, 50, 90, 234, 133, 108, 224, 104, 98, 171, 85, 251, 138, 248, 6, 241, 193, 212, 242, 58, 208, 107, 18, 239, 246, 157, 218, 85, 217, 68, 118, 211, 205, 230, 40, 68, 3, 2, 171, 231, 247, 10, 101, 21, 250, 17, 217, 56, 254, 79, 109, 61, 190, 241, 168, 231, 49, 118, 0, 114, 237, 216, 227, 110, 117, 137, 176, 223, 146, 29, 1, 172, 234, 23, 186, 203, 18, 188, 210, 42, 156, 133, 107, 124, 3, 244, 173, 53, 85, 75, 225, 4, 106, 118, 111, 35, 16, 133, 227, 31, 148, 60, 113, 230, 201, 147, 83, 236, 179, 245, 84, 84, 144, 62, 29, 198, 38, 19, 237, 145, 183, 6, 72, 247, 172, 73, 108, 87, 50, 128, 85, 152, 180, 222, 24, 88, 18, 149, 23, 217, 196, 219, 198, 93, 53, 3, 189, 190, 34, 221, 60, 73, 108, 54, 42, 162, 49, 195, 65, 119, 194, 214, 101, 35, 101, 247, 27, 29, 143, 169, 47, 249, 107, 101, 202, 185, 231, 48, 223, 63, 20, 164, 24, 38, 103, 147, 80, 168, 152, 159, 186, 58, 107, 188, 155, 29, 221, 45, 107, 173, 106, 69, 98, 155, 39, 194, 22] +tbs_certificate = [48, 130, 2, 54, 160, 3, 2, 1, 2, 2, 1, 2, 48, 13, 6, 9, 42, 134, 72, 134, 247, 13, 1, 1, 11, 5, 0, 48, 67, 49, 11, 48, 9, 6, 3, 85, 4, 6, 19, 2, 85, 84, 49, 32, 48, 30, 6, 3, 85, 4, 10, 12, 23, 77, 111, 99, 107, 32, 80, 97, 115, 115, 112, 111, 114, 116, 32, 65, 117, 116, 104, 111, 114, 105, 116, 121, 49, 18, 48, 16, 6, 3, 85, 4, 3, 12, 9, 77, 111, 99, 107, 32, 67, 83, 67, 65, 48, 30, 23, 13, 50, 49, 48, 51, 50, 54, 49, 51, 53, 52, 49, 56, 90, 23, 13, 51, 49, 48, 51, 50, 52, 49, 51, 53, 52, 49, 56, 90, 48, 66, 49, 11, 48, 9, 6, 3, 85, 4, 6, 19, 2, 85, 84, 49, 32, 48, 30, 6, 3, 85, 4, 10, 12, 23, 77, 111, 99, 107, 32, 80, 97, 115, 115, 112, 111, 114, 116, 32, 65, 117, 116, 104, 111, 114, 105, 116, 121, 49, 17, 48, 15, 6, 3, 85, 4, 3, 12, 8, 77, 111, 99, 107, 32, 68, 83, 67, 48, 130, 1, 34, 48, 13, 6, 9, 42, 134, 72, 134, 247, 13, 1, 1, 1, 5, 0, 3, 130, 1, 15, 0, 48, 130, 1, 10, 2, 130, 1, 1, 0, 144, 96, 22, 98, 202, 23, 238, 6, 187, 83, 246, 10, 141, 149, 39, 62, 150, 207, 25, 76, 254, 121, 159, 193, 25, 17, 64, 229, 112, 170, 152, 94, 212, 213, 4, 191, 8, 183, 225, 184, 213, 181, 211, 100, 210, 60, 155, 26, 13, 219, 11, 116, 84, 236, 33, 212, 47, 5, 187, 226, 120, 161, 57, 97, 200, 250, 174, 139, 216, 171, 95, 178, 148, 109, 3, 137, 151, 245, 142, 53, 177, 251, 74, 202, 2, 157, 33, 55, 30, 189, 239, 243, 101, 183, 43, 68, 245, 198, 9, 90, 109, 89, 109, 33, 98, 32, 173, 121, 203, 2, 79, 68, 150, 135, 158, 72, 76, 223, 55, 66, 30, 45, 33, 16, 91, 153, 158, 127, 64, 221, 31, 151, 241, 93, 105, 235, 153, 176, 146, 221, 20, 231, 141, 2, 146, 77, 209, 30, 90, 33, 33, 232, 176, 145, 244, 229, 221, 43, 101, 10, 210, 55, 50, 200, 103, 87, 18, 82, 53, 193, 130, 124, 69, 96, 179, 87, 245, 203, 181, 205, 57, 67, 181, 80, 198, 57, 101, 151, 179, 103, 201, 243, 52, 68, 91, 122, 137, 209, 141, 39, 68, 73, 244, 200, 211, 125, 2, 176, 12, 80, 77, 81, 225, 169, 34, 209, 187, 212, 47, 56, 92, 220, 159, 89, 236, 133, 200, 211, 11, 237, 217, 129, 115, 191, 208, 39, 198, 179, 16, 28, 59, 121, 160, 48, 239, 81, 144, 102, 168, 122, 158, 59, 83, 54, 91, 211, 2, 3, 1, 0, 1, 163, 78, 48, 76, 48, 15, 6, 3, 85, 29, 19, 1, 1, 255, 4, 5, 48, 3, 1, 1, 0, 48, 14, 6, 3, 85, 29, 15, 1, 1, 255, 4, 4, 3, 2, 7, 128, 48, 41, 6, 3, 85, 29, 14, 4, 34, 4, 32, 236, 115, 196, 36, 236, 2, 138, 16, 34, 153, 224, 23, 230, 87, 56, 253, 158, 235, 14, 147, 38, 52, 87, 5, 72, 19, 213, 247, 131, 38, 127, 141, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] +signed_attributes = [49, 72, 48, 21, 6, 9, 42, 134, 72, 134, 247, 13, 1, 9, 3, 49, 8, 6, 6, 103, 129, 8, 1, 1, 1, 48, 47, 6, 9, 42, 134, 72, 134, 247, 13, 1, 9, 4, 49, 34, 4, 32, 83, 213, 2, 32, 92, 70, 157, 44, 204, 36, 20, 171, 99, 224, 204, 169, 133, 155, 24, 174, 188, 45, 208, 99, 91, 43, 205, 208, 68, 46, 41, 217, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] exponent = 65537 -e_content = [54, 197, 174, 86, 62, 194, 237, 211, 184, 91, 92, 169, 195, 149, 233, 156, 60, 80, 224, 124, 161, 170, 204, 239, 154, 92, 165, 10, 81, 42, 90, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] +e_content = [48, 96, 2, 1, 0, 48, 11, 6, 9, 96, 134, 72, 1, 101, 3, 4, 2, 1, 48, 78, 48, 37, 2, 1, 1, 4, 32, 133, 239, 49, 15, 44, 106, 246, 249, 184, 107, 11, 51, 210, 155, 75, 109, 226, 131, 181, 170, 13, 64, 12, 245, 141, 228, 185, 127, 108, 212, 235, 9, 48, 37, 2, 1, 2, 4, 32, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] diff --git a/noir-examples/noir-passport/merkle_age_check/benchmark-inputs/tbs_720/t_add_integrity_commit.toml b/noir-examples/noir-passport/merkle_age_check/benchmark-inputs/tbs_720/t_add_integrity_commit.toml index 2eb8f3e27..bfb38afed 100644 --- a/noir-examples/noir-passport/merkle_age_check/benchmark-inputs/tbs_720/t_add_integrity_commit.toml +++ b/noir-examples/noir-passport/merkle_age_check/benchmark-inputs/tbs_720/t_add_integrity_commit.toml @@ -1,11 +1,11 @@ -comm_in = "0x15747b9757b3be388fbac31645c80407b63faf05128a71e2d24784127654a993" +comm_in = "0x179c66496e0cfa29827752e404165e7f5e0dd87270d7efe1de0657a174119642" salt_in = "0x3" -dg1 = [60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 48, 55, 48, 49, 48, 49, 60, 60, 51, 50, 48, 49, 48, 49, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 0, 0] +dg1 = [97, 91, 95, 31, 88, 80, 60, 85, 84, 79, 68, 79, 69, 60, 60, 74, 79, 72, 78, 60, 77, 79, 67, 75, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 76, 56, 57, 56, 57, 48, 50, 67, 51, 54, 85, 84, 79, 48, 55, 48, 49, 48, 49, 57, 77, 51, 50, 48, 49, 48, 49, 53, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 48, 56, 0, 0] dg1_padded_length = 95 -dg1_hash_offset = 0 -signed_attributes = [213, 19, 219, 127, 44, 247, 154, 190, 26, 122, 188, 163, 73, 227, 191, 71, 139, 129, 120, 193, 5, 130, 52, 127, 40, 83, 242, 75, 244, 200, 248, 159, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] -signed_attributes_size = 32 -e_content = [54, 197, 174, 86, 62, 194, 237, 211, 184, 91, 92, 169, 195, 149, 233, 156, 60, 80, 224, 124, 161, 170, 204, 239, 154, 92, 165, 10, 81, 42, 90, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] -e_content_len = 32 -private_nullifier = "0x1926a3c576ec5e1ca8b46ce0926cb03dd74461874126a1ba1a5d8c7d30408695" +dg1_hash_offset = 27 +signed_attributes = [49, 72, 48, 21, 6, 9, 42, 134, 72, 134, 247, 13, 1, 9, 3, 49, 8, 6, 6, 103, 129, 8, 1, 1, 1, 48, 47, 6, 9, 42, 134, 72, 134, 247, 13, 1, 9, 4, 49, 34, 4, 32, 83, 213, 2, 32, 92, 70, 157, 44, 204, 36, 20, 171, 99, 224, 204, 169, 133, 155, 24, 174, 188, 45, 208, 99, 91, 43, 205, 208, 68, 46, 41, 217, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] +signed_attributes_size = 74 +e_content = [48, 96, 2, 1, 0, 48, 11, 6, 9, 96, 134, 72, 1, 101, 3, 4, 2, 1, 48, 78, 48, 37, 2, 1, 1, 4, 32, 133, 239, 49, 15, 44, 106, 246, 249, 184, 107, 11, 51, 210, 155, 75, 109, 226, 131, 181, 170, 13, 64, 12, 245, 141, 228, 185, 127, 108, 212, 235, 9, 48, 37, 2, 1, 2, 4, 32, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] +e_content_len = 98 +private_nullifier = "0x2cd723116eacc7d3de35eea7fae04ee08682eccb1cc0becd843b4af6c134b4c5" r_dg1 = "0x1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef" diff --git a/noir-examples/noir-passport/merkle_age_check/benchmark-inputs/tbs_720/t_attest.toml b/noir-examples/noir-passport/merkle_age_check/benchmark-inputs/tbs_720/t_attest.toml index d8d8a652c..b8f2f863e 100644 --- a/noir-examples/noir-passport/merkle_age_check/benchmark-inputs/tbs_720/t_attest.toml +++ b/noir-examples/noir-passport/merkle_age_check/benchmark-inputs/tbs_720/t_attest.toml @@ -1,10 +1,10 @@ -root = "0x2c8f4eeb1ccaabd14bbaa92ff6aad36b02b96b8015e2e2494561f04cd69b4e2c" -current_date = "1735689600" # Jan 1, 2025, 00:00:00 UTC -service_scope = "0x0000000000000000000000000000000000000000000000000000000000000002" -service_subscope = "0x0000000000000000000000000000000000000000000000000000000000000003" -dg1 = [60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 48, 55, 48, 49, 48, 49, 60, 60, 51, 50, 48, 49, 48, 49, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 0, 0] +root = "0x2ff94ac92b298144a71565dfb425cc9562494d5cee33a9d75a782cf9f3197d59" +current_date = "1735689600" +service_scope = "0x0000000000000000000000000000000000000000000000000000000000000000" +service_subscope = "0x0000000000000000000000000000000000000000000000000000000000000000" +dg1 = [97, 91, 95, 31, 88, 80, 60, 85, 84, 79, 68, 79, 69, 60, 60, 74, 79, 72, 78, 60, 77, 79, 67, 75, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 76, 56, 57, 56, 57, 48, 50, 67, 51, 54, 85, 84, 79, 48, 55, 48, 49, 48, 49, 57, 77, 51, 50, 48, 49, 48, 49, 53, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 48, 56, 0, 0] r_dg1 = "0x1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef" -sod_hash = "0x0f7f8bb032ad068e1c3b717ec1e7020d3537e20688af7bd7a7ae51df72f368bc" +sod_hash = "0x237a444692c7c843c43a8c5af58fd9e1ee9f6b4032db7431fb34ff8e9af060fc" leaf_index = "0" merkle_path = [ "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -32,6 +32,6 @@ merkle_path = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000" ] -min_age_required = "17" -max_age_required = "0" +min_age_required = "18" +max_age_required = "0" nullifier_secret = "0x0000000000000000000000000000000000000000000000000000000000000000" diff --git a/noir-examples/noir-passport/merkle_age_check/t_add_dsc_720/src/main.nr b/noir-examples/noir-passport/merkle_age_check/t_add_dsc_720/src/main.nr index 78bfb6d8b..124e1456e 100644 --- a/noir-examples/noir-passport/merkle_age_check/t_add_dsc_720/src/main.nr +++ b/noir-examples/noir-passport/merkle_age_check/t_add_dsc_720/src/main.nr @@ -1,6 +1,7 @@ // Verify CSCA signed DSC certificate (720-byte TBS) use commitment::hash_salt_country_tbs; use sig_check_rsa::verify_signature; +use utils::get_asn1_element_length; use utils::types::Alpha3CountryCode; fn main( @@ -16,7 +17,15 @@ fn main( // Validate tbs_certificate_len bounds assert( tbs_certificate_len <= 720, - "tbs_certificate_len must not exceed 720" + "tbs_certificate_len must not exceed 720", + ); + + // Validate prover-supplied tbs_certificate_len against ASN.1 DER header + assert(tbs_certificate[0] == 0x30, "TBS must start with SEQUENCE tag"); + let computed_len = get_asn1_element_length(tbs_certificate); + assert( + tbs_certificate_len == computed_len, + "tbs_certificate_len does not match ASN.1 header", ); assert( diff --git a/noir-examples/noir-passport/merkle_age_check/t_add_dsc_verify_1300/src/main.nr b/noir-examples/noir-passport/merkle_age_check/t_add_dsc_verify_1300/src/main.nr index 6f2eca888..22991b4ca 100644 --- a/noir-examples/noir-passport/merkle_age_check/t_add_dsc_verify_1300/src/main.nr +++ b/noir-examples/noir-passport/merkle_age_check/t_add_dsc_verify_1300/src/main.nr @@ -3,6 +3,8 @@ use partial_sha256::{ SHA256State, sha256_continue, sha256_finalize, verify_sha256_state_and_data_commitment, commit_to_data_chunk, }; use fragmented_sig_check_rsa::verify_rsa_signature; +use utils::check_zero_padding; +use utils::get_asn1_element_length; use utils::types::{Alpha3CountryCode, SHA256Digest}; global CHUNK1_SIZE: u32 = 640; @@ -25,9 +27,21 @@ fn main( // Validate tbs_certificate_len bounds assert( tbs_certificate_len <= TBS_CERT_SIZE, - "tbs_certificate_len must not exceed TBS_CERT_SIZE (1300)" + "tbs_certificate_len must not exceed TBS_CERT_SIZE (1300)", ); + // Validate prover-supplied tbs_certificate_len against ASN.1 DER header + assert(tbs_certificate[0] == 0x30, "TBS must start with SEQUENCE tag"); + let computed_len = get_asn1_element_length(tbs_certificate); + assert( + tbs_certificate_len == computed_len, + "tbs_certificate_len does not match ASN.1 header", + ); + + // Ensure all bytes beyond the signed length are zero so that trailing + // bytes cannot carry attacker-controlled data into the commitment. + check_zero_padding(tbs_certificate, tbs_certificate_len); + let mut chunk1: [u8; CHUNK1_SIZE] = [0; CHUNK1_SIZE]; for i in 0..CHUNK1_SIZE { chunk1[i] = tbs_certificate[i]; @@ -81,3 +95,35 @@ fn main( comm_out } + +/// A TBS buffer whose tail (bytes >= len) is all-zero must pass. +#[test] +fn test_zero_padding_passes_when_tail_is_all_zero() { + let mut tbs: [u8; TBS_CERT_SIZE] = [0; TBS_CERT_SIZE]; + tbs[0] = 0x30; + tbs[1] = 0x82; + let len: u32 = 10; + check_zero_padding(tbs, len); +} + +/// A single non-zero byte immediately after the declared length must be +/// rejected. This is the canonical one-byte smuggling attack. +#[test(should_fail_with = "Failed constraint")] +fn test_zero_padding_fails_when_nonzero_byte_in_unsigned_tail() { + let mut tbs: [u8; TBS_CERT_SIZE] = [0; TBS_CERT_SIZE]; + tbs[0] = 0x30; + tbs[1] = 0x82; + let len: u32 = 10; + tbs[10] = 0x01; + check_zero_padding(tbs, len); +} + +/// A non-zero byte at the very last byte of the 1300-byte buffer must be +/// rejected regardless of how far it is from the signed region. +#[test(should_fail_with = "Failed constraint")] +fn test_zero_padding_fails_when_nonzero_byte_at_end_of_buffer() { + let mut tbs: [u8; TBS_CERT_SIZE] = [0; TBS_CERT_SIZE]; + let len: u32 = 100; + tbs[TBS_CERT_SIZE - 1] = 0xFF; + check_zero_padding(tbs, len); +} diff --git a/noir-examples/noir-passport/merkle_age_check/t_add_id_data_1300/src/main.nr b/noir-examples/noir-passport/merkle_age_check/t_add_id_data_1300/src/main.nr index 48617a5a6..62762576f 100644 --- a/noir-examples/noir-passport/merkle_age_check/t_add_id_data_1300/src/main.nr +++ b/noir-examples/noir-passport/merkle_age_check/t_add_id_data_1300/src/main.nr @@ -1,6 +1,7 @@ use commitment::commit_to_id; -use data_check_tbs_pubkey::{verify_rsa_pubkey_in_tbs}; +use data_check_tbs_pubkey::verify_rsa_pubkey_in_tbs; use sig_check_rsa::verify_signature; +use utils::get_asn1_element_length; use utils::types::{DG1Data, EContentData, SignedAttrsData}; fn main( @@ -14,11 +15,17 @@ fn main( sod_signature: [u8; 256], tbs_certificate: [u8; 1300], signed_attributes: SignedAttrsData, - signed_attributes_size: u64, exponent: u32, e_content: EContentData, ) -> pub Field { - verify_rsa_pubkey_in_tbs(dsc_pubkey, tbs_certificate,dsc_pubkey_offset_in_dsc_cert); + // Compute TBS certificate length from DER header + assert(tbs_certificate[0] == 0x30, "TBS must start with SEQUENCE tag"); + let tbs_certificate_len = get_asn1_element_length(tbs_certificate); + + verify_rsa_pubkey_in_tbs(dsc_pubkey, tbs_certificate, dsc_pubkey_offset_in_dsc_cert, tbs_certificate_len); + + // Compute signed_attributes_size from ASN.1 header + let signed_attributes_size = get_asn1_element_length(signed_attributes); assert( verify_signature::<256, 0, 200, 32>( @@ -27,7 +34,7 @@ fn main( dsc_pubkey_redc_param, exponent, signed_attributes, - signed_attributes_size as u32, + signed_attributes_size, 0, ), "RSA signature verification failed", diff --git a/noir-examples/noir-passport/merkle_age_check/t_add_id_data_720/src/main.nr b/noir-examples/noir-passport/merkle_age_check/t_add_id_data_720/src/main.nr index 6d44b7371..c0b0dad95 100644 --- a/noir-examples/noir-passport/merkle_age_check/t_add_id_data_720/src/main.nr +++ b/noir-examples/noir-passport/merkle_age_check/t_add_id_data_720/src/main.nr @@ -2,6 +2,7 @@ use commitment::commit_to_id; use data_check_tbs_pubkey::verify_rsa_pubkey_in_tbs; use sig_check_rsa::verify_signature; +use utils::get_asn1_element_length; use utils::types::{DG1Data, EContentData, SignedAttrsData}; fn main( @@ -15,11 +16,18 @@ fn main( sod_signature: [u8; 256], tbs_certificate: [u8; 720], signed_attributes: SignedAttrsData, - signed_attributes_size: u64, exponent: u32, e_content: EContentData, ) -> pub Field { - verify_rsa_pubkey_in_tbs(dsc_pubkey, tbs_certificate,dsc_pubkey_offset_in_dsc_cert); + // Compute TBS certificate length from DER header + assert(tbs_certificate[0] == 0x30, "TBS must start with SEQUENCE tag"); + let tbs_certificate_len = get_asn1_element_length(tbs_certificate); + + verify_rsa_pubkey_in_tbs(dsc_pubkey, tbs_certificate, dsc_pubkey_offset_in_dsc_cert, tbs_certificate_len); + + // Compute signed_attributes_size from ASN.1 header + let signed_attributes_size = get_asn1_element_length(signed_attributes); + assert( verify_signature::<256, 0, 200, 32>( dsc_pubkey, @@ -27,7 +35,7 @@ fn main( dsc_pubkey_redc_param, exponent, signed_attributes, - signed_attributes_size as u32, + signed_attributes_size, 0, ), "RSA signature verification failed", diff --git a/noir-examples/noir-passport/utils/data-check/tbs-pubkey/src/lib.nr b/noir-examples/noir-passport/utils/data-check/tbs-pubkey/src/lib.nr index 90543f752..149807e67 100644 --- a/noir-examples/noir-passport/utils/data-check/tbs-pubkey/src/lib.nr +++ b/noir-examples/noir-passport/utils/data-check/tbs-pubkey/src/lib.nr @@ -2,16 +2,183 @@ pub fn verify_rsa_pubkey_in_tbs( dsc_pubkey: [u8; DSC_KEY_SIZE], tbs_certificate: [u8; TBS_CERT_SIZE], pubkey_offset: u32, + tbs_certificate_len: u32, ) { - // Check that the public key of the DSC is the same as the one in the TBS certificate. - // And since the TBS certificate is the data signed by the private key of the CSCA certificate - // we can make sure the DSC, which signed the data of the passport, has been signed by the - // root certificate of the issuing State (i.e. CSCA certificate) by verifying the signature below + // Ensure the pubkey lies entirely within the signed (authenticated) region of the TBS, assert( - pubkey_offset + DSC_KEY_SIZE <= TBS_CERT_SIZE, - "pubkey_offset + DSC_KEY_SIZE exceeds TBS certificate size", + pubkey_offset + DSC_KEY_SIZE <= tbs_certificate_len, + "pubkey_offset + DSC_KEY_SIZE exceeds signed TBS length", ); + + // Validate SubjectPublicKeyInfo structural context from TBS bytes. + // The modulus must be the first element of an RSAPublicKey SEQUENCE: + // + // RSAPublicKey ::= SEQUENCE { modulus INTEGER, exponent INTEGER } + // + // DER encoding (determined from TBS bytes, not from dsc_pubkey): + // + // Leading zero: 30 82 XX XX 02 82 01 01 00 [modulus] + // ^SEQUENCE ^INTEGER ^pubkey_offset + // offset-9 offset-5 + // + // No leading zero: 30 82 XX XX 02 82 01 00 [modulus] + // ^SEQUENCE ^INTEGER ^pubkey_offset + // offset-8 offset-4 + assert(pubkey_offset >= 9, "pubkey_offset too small for DER SPKI prefix"); + + // Determine encoding form from TBS bytes + // Check leading-zero form: INTEGER header (02 82 HH LL 00) at offset-5 + let is_leading_zero: bool = (tbs_certificate[pubkey_offset - 5] == 0x02) + & (tbs_certificate[pubkey_offset - 4] == 0x82) + & (tbs_certificate[pubkey_offset - 3] as u32 == (DSC_KEY_SIZE + 1) / 256) + & (tbs_certificate[pubkey_offset - 2] as u32 == (DSC_KEY_SIZE + 1) % 256) + & (tbs_certificate[pubkey_offset - 1] == 0x00); + + // Check no-leading-zero form: INTEGER header (02 82 HH LL) at offset-4 + let is_no_leading_zero: bool = (tbs_certificate[pubkey_offset - 4] == 0x02) + & (tbs_certificate[pubkey_offset - 3] == 0x82) + & (tbs_certificate[pubkey_offset - 2] as u32 == DSC_KEY_SIZE / 256) + & (tbs_certificate[pubkey_offset - 1] as u32 == DSC_KEY_SIZE % 256); + + assert( + is_leading_zero | is_no_leading_zero, + "Invalid DER INTEGER encoding for RSA modulus", + ); + + // Verify the INTEGER is the first child of an RSAPublicKey SEQUENCE (tag 0x30). + // This ensures the modulus is inside SubjectPublicKeyInfo, not at an arbitrary + // location (e.g. extensions) where the same byte pattern might coincidentally appear. + if is_leading_zero { + assert( + tbs_certificate[pubkey_offset - 9] == 0x30, + "Expected RSAPublicKey SEQUENCE tag", + ); + assert( + tbs_certificate[pubkey_offset - 8] == 0x82, + "Expected RSAPublicKey SEQUENCE long-form length", + ); + } else { + assert( + tbs_certificate[pubkey_offset - 8] == 0x30, + "Expected RSAPublicKey SEQUENCE tag", + ); + assert( + tbs_certificate[pubkey_offset - 7] == 0x82, + "Expected RSAPublicKey SEQUENCE long-form length", + ); + } + + // Verify the pubkey bytes match the TBS certificate at the given offset. for i in 0..DSC_KEY_SIZE { assert(tbs_certificate[i + pubkey_offset] == dsc_pubkey[i]); } } + +/// Build a 300-byte TBS with a 256-byte pubkey embedded at `offset` with correct +/// DER SubjectPublicKeyInfo structure: SEQUENCE { INTEGER(modulus), ... } +fn build_test_tbs(pubkey: [u8; 256], offset: u32) -> [u8; 300] { + let mut tbs: [u8; 300] = [0; 300]; + let has_leading_zero = pubkey[0] as u32 >= 0x80; + if has_leading_zero { + // RSAPublicKey SEQUENCE at offset-9: 30 82 XX XX + tbs[offset - 9] = 0x30; + tbs[offset - 8] = 0x82; + tbs[offset - 7] = 0x01; // SEQUENCE length high byte (placeholder) + tbs[offset - 6] = 0x0A; // SEQUENCE length low byte (placeholder) + // INTEGER at offset-5: 02 82 01 01 00 [256 bytes] + tbs[offset - 5] = 0x02; + tbs[offset - 4] = 0x82; + tbs[offset - 3] = 0x01; // (256+1)/256 = 1 + tbs[offset - 2] = 0x01; // (256+1)%256 = 1 + tbs[offset - 1] = 0x00; // leading zero + } else { + // RSAPublicKey SEQUENCE at offset-8: 30 82 XX XX + tbs[offset - 8] = 0x30; + tbs[offset - 7] = 0x82; + tbs[offset - 6] = 0x01; // SEQUENCE length high byte (placeholder) + tbs[offset - 5] = 0x09; // SEQUENCE length low byte (placeholder) + // INTEGER at offset-4: 02 82 01 00 [256 bytes] + tbs[offset - 4] = 0x02; + tbs[offset - 3] = 0x82; + tbs[offset - 2] = 0x01; // 256/256 = 1 + tbs[offset - 1] = 0x00; // 256%256 = 0 + } + for i in 0..256 { + tbs[offset + i] = pubkey[i]; + } + tbs +} + +/// Valid case: pubkey within signed region, correct SPKI structure (leading zero case). +#[test] +fn test_valid_pubkey_with_leading_zero() { + let mut pubkey: [u8; 256] = [0xAA; 256]; + pubkey[0] = 0x90; // >= 0x80 -> leading zero + let offset: u32 = 15; + let tbs = build_test_tbs(pubkey, offset); + let tbs_len: u32 = 271; // offset + 256 + verify_rsa_pubkey_in_tbs(pubkey, tbs, offset, tbs_len); +} + +/// Valid case: pubkey within signed region, correct SPKI structure (no leading zero case). +#[test] +fn test_valid_pubkey_without_leading_zero() { + let mut pubkey: [u8; 256] = [0x55; 256]; + pubkey[0] = 0x7F; // < 0x80 -> no leading zero + let offset: u32 = 15; + let tbs = build_test_tbs(pubkey, offset); + let tbs_len: u32 = 271; + verify_rsa_pubkey_in_tbs(pubkey, tbs, offset, tbs_len); +} + +/// Pubkey offset extends beyond signed TBS length -> must fail. +#[test(should_fail_with = "pubkey_offset + DSC_KEY_SIZE exceeds signed TBS length")] +fn test_pubkey_offset_beyond_signed_length_fails() { + let mut pubkey: [u8; 256] = [0xAA; 256]; + pubkey[0] = 0x90; + let offset: u32 = 15; + let tbs = build_test_tbs(pubkey, offset); + let tbs_len: u32 = 200; // too small + verify_rsa_pubkey_in_tbs(pubkey, tbs, offset, tbs_len); +} + +/// Invalid DER INTEGER encoding before modulus -> must fail. +#[test(should_fail_with = "Invalid DER INTEGER encoding for RSA modulus")] +fn test_invalid_der_integer_encoding_fails() { + let mut pubkey: [u8; 256] = [0xAA; 256]; + pubkey[0] = 0x90; + let offset: u32 = 15; + let mut tbs = build_test_tbs(pubkey, offset); + // Corrupt the INTEGER tag to break both leading-zero and no-leading-zero forms + tbs[offset - 5] = 0x04; // OCTET STRING instead of INTEGER + tbs[offset - 4] = 0x04; // also corrupt offset-4 to break form_b + let tbs_len: u32 = 271; + verify_rsa_pubkey_in_tbs(pubkey, tbs, offset, tbs_len); +} + +/// Missing RSAPublicKey SEQUENCE wrapper -> must fail. +#[test(should_fail_with = "Expected RSAPublicKey SEQUENCE tag")] +fn test_missing_sequence_wrapper_fails() { + let mut pubkey: [u8; 256] = [0xAA; 256]; + pubkey[0] = 0x90; + let offset: u32 = 15; + let mut tbs = build_test_tbs(pubkey, offset); + // Corrupt the SEQUENCE tag + tbs[offset - 9] = 0x04; // not a SEQUENCE + let tbs_len: u32 = 271; + verify_rsa_pubkey_in_tbs(pubkey, tbs, offset, tbs_len); +} + +/// Pubkey bytes at valid DER structure but bytes don't match dsc_pubkey -> must fail. +#[test(should_fail)] +fn test_pubkey_mismatch_fails() { + let mut pubkey: [u8; 256] = [0xAA; 256]; + pubkey[0] = 0x90; + let offset: u32 = 15; + let tbs = build_test_tbs(pubkey, offset); + // Provide a different pubkey for comparison + let mut wrong_pubkey: [u8; 256] = [0xBB; 256]; + wrong_pubkey[0] = 0x90; + let tbs_len: u32 = 271; + verify_rsa_pubkey_in_tbs(wrong_pubkey, tbs, offset, tbs_len); +} diff --git a/noir-examples/noir-passport/utils/utils/src/lib.nr b/noir-examples/noir-passport/utils/utils/src/lib.nr index ff87118e0..582ca101d 100644 --- a/noir-examples/noir-passport/utils/utils/src/lib.nr +++ b/noir-examples/noir-passport/utils/utils/src/lib.nr @@ -148,6 +148,26 @@ where } } +/// Compute total TLV length of a DER/BER element from its header bytes (constrained). +/// Supports short form (len < 128) and long form with 1-2 length bytes. +/// Tag-agnostic - callers should assert the expected tag separately if needed. +pub fn get_asn1_element_length(data: [u8; N]) -> u32 { + let len_byte = data[1]; + if (len_byte & 0x80) == 0 { + // Short form: content length is in low 7 bits + 2 + (len_byte as u32) + } else { + let nlen: u32 = (len_byte & 0x7F) as u32; + assert(nlen >= 1, "Zero length-of-length"); + assert(nlen <= 2, "Length field > 2 bytes not supported"); + if nlen == 1 { + 3 + (data[2] as u32) + } else { + 4 + (data[2] as u32) * 256 + (data[3] as u32) + } + } +} + pub fn get_issuing_country_from_mrz(dg1: DG1Data) -> MRZIssuingCountry { let mrz = get_mrz_from_dg1(dg1); // No need to check if it's an ID card since the issuing country diff --git a/noir-examples/noir-passport/utils/utils/src/tests.nr b/noir-examples/noir-passport/utils/utils/src/tests.nr index ad2af3b25..efaaba25a 100644 --- a/noir-examples/noir-passport/utils/utils/src/tests.nr +++ b/noir-examples/noir-passport/utils/utils/src/tests.nr @@ -1,4 +1,7 @@ -use crate::{find_subarray_index, pack_be_bytes_into_fields, pack_be_bytes_into_u128s}; +use crate::{ + find_subarray_index, get_asn1_element_length, pack_be_bytes_into_fields, + pack_be_bytes_into_u128s, +}; #[test] fn test_pack_be_bytes_into_u128() { @@ -211,3 +214,42 @@ fn test_find_substring_index_various_cases() { let index10 = find_subarray_index(needle10, haystack10); assert_eq(index10, haystack10.len()); // Should equal haystack size } + +/// Short-form DER: tag=0x30, length=0x05 -> total = 2 + 5 = 7 +#[test] +fn test_get_asn1_element_length_short_form() { + let data: [u8; 10] = [0x30, 0x05, 0x01, 0x02, 0x03, 0x04, 0x05, 0x00, 0x00, 0x00]; + let len = get_asn1_element_length(data); + assert_eq(len, 7); +} + +/// Long-form DER with 1 length byte: tag=0x30, 0x81, 0x80 -> total = 3 + 128 = 131 +#[test] +fn test_get_asn1_element_length_long_form_1byte() { + let mut data: [u8; 140] = [0; 140]; + data[0] = 0x30; // SEQUENCE tag + data[1] = 0x81; // long form, 1 length byte + data[2] = 0x80; // content length = 128 + let len = get_asn1_element_length(data); + assert_eq(len, 131); +} + +/// Long-form DER with 2 length bytes: tag=0x30, 0x82, 0x02, 0xC8 -> total = 4 + 712 = 716 +#[test] +fn test_get_asn1_element_length_long_form_2bytes() { + let mut data: [u8; 720] = [0; 720]; + data[0] = 0x30; // SEQUENCE tag + data[1] = 0x82; // long form, 2 length bytes + data[2] = 0x02; // high byte: 712 >> 8 = 2 + data[3] = 0xC8; // low byte: 712 & 0xFF = 200 + let len = get_asn1_element_length(data); + assert_eq(len, 716); +} + +/// Tag-agnostic: works with SET tag (0x31) used for signed attributes +#[test] +fn test_get_asn1_element_length_set_tag() { + let data: [u8; 10] = [0x31, 0x06, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x00, 0x00]; + let len = get_asn1_element_length(data); + assert_eq(len, 8); +}