From f755ff0279ddd5fa26640d959d5872764b45feb7 Mon Sep 17 00:00:00 2001 From: Thanh Bui Date: Thu, 27 Jul 2017 11:12:16 -0700 Subject: [PATCH] Add Web Crypto API tests and Java tests using test vectors (#35) * Add test vectors * Add Java tests using test vectors * Add Web Crypto API tests. --- BUILD | 26 + E2E.BUILD | 15 + Gson.BUILD | 5 + README.md | 22 + WORKSPACE | 33 + .../google/security/wycheproof/JsonTest.java | 26 + .../wycheproof/testcases/AesGcmTest.java | 37 +- .../security/wycheproof/testcases/DhTest.java | 3 +- .../testcases/JsonSignatureTest.java | 220 ++ .../wycheproof/testcases/RsaKeyTest.java | 2 +- javascript/BigInteger.js | 112 + javascript/EcUtil.js | 123 + javascript/TestUtil.js | 140 + javascript/webcryptoapi/HashUtil.js | 39 + javascript/webcryptoapi/RsaUtil.js | 172 + javascript/webcryptoapi/WebCryptoDeps.js | 13 + javascript/webcryptoapi/WebCryptoTest.html | 37 + javascript/webcryptoapi/WebCryptoTest.js | 92 + .../webcryptoapi/testcases/AesGcmTest.js | 211 ++ javascript/webcryptoapi/testcases/EcdhTest.js | 183 + .../webcryptoapi/testcases/EcdsaTest.js | 378 ++ .../webcryptoapi/testcases/RsaOaedTest.js | 106 + .../webcryptoapi/testcases/RsaSsaPkcs1Test.js | 71 + testvectors/BUILD | 43 + testvectors/aes_gcm_siv_test.json | 1431 +++++++ testvectors/aes_gcm_test.json | 669 ++++ testvectors/dsa_test.json | 1494 ++++++++ testvectors/ecdh_webcrypto_test.json | 1300 +++++++ testvectors/ecdsa_test.json | 2254 +++++++++++ testvectors/ecdsa_webcrypto_test.json | 1594 ++++++++ testvectors/rsa_signature_test.json | 3289 +++++++++++++++++ 31 files changed, 14136 insertions(+), 4 deletions(-) create mode 100644 E2E.BUILD create mode 100644 Gson.BUILD create mode 100644 java/com/google/security/wycheproof/JsonTest.java create mode 100644 java/com/google/security/wycheproof/testcases/JsonSignatureTest.java create mode 100644 javascript/BigInteger.js create mode 100644 javascript/EcUtil.js create mode 100644 javascript/TestUtil.js create mode 100644 javascript/webcryptoapi/HashUtil.js create mode 100644 javascript/webcryptoapi/RsaUtil.js create mode 100644 javascript/webcryptoapi/WebCryptoDeps.js create mode 100644 javascript/webcryptoapi/WebCryptoTest.html create mode 100644 javascript/webcryptoapi/WebCryptoTest.js create mode 100644 javascript/webcryptoapi/testcases/AesGcmTest.js create mode 100644 javascript/webcryptoapi/testcases/EcdhTest.js create mode 100644 javascript/webcryptoapi/testcases/EcdsaTest.js create mode 100644 javascript/webcryptoapi/testcases/RsaOaedTest.js create mode 100644 javascript/webcryptoapi/testcases/RsaSsaPkcs1Test.js create mode 100644 testvectors/BUILD create mode 100644 testvectors/aes_gcm_siv_test.json create mode 100644 testvectors/aes_gcm_test.json create mode 100644 testvectors/dsa_test.json create mode 100644 testvectors/ecdh_webcrypto_test.json create mode 100644 testvectors/ecdsa_test.json create mode 100644 testvectors/ecdsa_webcrypto_test.json create mode 100644 testvectors/rsa_signature_test.json diff --git a/BUILD b/BUILD index 82be038..c9a91e9 100644 --- a/BUILD +++ b/BUILD @@ -11,6 +11,7 @@ java_library( common_deps = [ ":utils", + "@gson//:Gson" ] test_srcs = glob(["java/com/google/security/wycheproof/testcases/*.java"]) + ["java/com/google/security/wycheproof/WycheproofRunner.java"] @@ -143,3 +144,28 @@ java_test( srcs = ["java/com/google/security/wycheproof/ProviderIndependentTest.java"] + test_srcs, deps = common_deps, ) + +# Tests using JSON formated test vectors. +testvectors = [ + "//testvectors:aes_gcm", + "//testvectors:aes_gcm_siv", + "//testvectors:dsa", + "//testvectors:ecdsa", + "//testvectors:rsa_signature", +] + +java_test( + name = "JsonTest", + size = "small", + srcs = ["java/com/google/security/wycheproof/JsonTest.java"] + test_srcs, + data = testvectors, + deps = common_deps, +) + +# Load closure rules +load("@io_bazel_rules_closure//closure:defs.bzl", "closure_js_deps") + +closure_js_deps( + name = "E2EDeps", + deps = ["@e2e//:E2E"], +) \ No newline at end of file diff --git a/E2E.BUILD b/E2E.BUILD new file mode 100644 index 0000000..838f580 --- /dev/null +++ b/E2E.BUILD @@ -0,0 +1,15 @@ +load("@io_bazel_rules_closure//closure:defs.bzl", "closure_js_library") + +closure_js_library( + name = "E2E", + visibility = ["//visibility:public"], + srcs = glob( + ["src/**/*.js"], + exclude = [ + "src/**/*test.js", + "src/**/*tester.js", + "src/**/*testdata.js", + "src/**/testing/*.js", + "src/**/testing.js"], + ) +) \ No newline at end of file diff --git a/Gson.BUILD b/Gson.BUILD new file mode 100644 index 0000000..fa5f6c5 --- /dev/null +++ b/Gson.BUILD @@ -0,0 +1,5 @@ +java_library( + name = "Gson", + visibility = ["//visibility:public"], + srcs = glob(["gson/src/main/**/*.java"]) +) \ No newline at end of file diff --git a/README.md b/README.md index 07b10fd..9e31546 100644 --- a/README.md +++ b/README.md @@ -162,6 +162,28 @@ learn more about what a failed test means, you might want to check out [our documentation](doc/bugs.md) or the comments on top of the corresponding test function and test class. +- To test [Web Cryptography API](https://www.w3.org/TR/WebCryptoAPI/), you first need +to compile [End-to-end](https://github.com/google/end-to-end) because our tests depend on it: + +``` +bazel build E2EDeps +``` + +Since Web Cryptography API works on web browsers, you then need to run a simple web server in your local machine by running, for example: + +``` +python -m SimpleHTTPServer +``` + +Now assuming that your source code folder's name is "wycheproof", open the web browsers +that you want to test and point it to: + +``` +http://localhost:8000/bazel-wycheproof/javascript/webcryptoapi/WebCryptoTest.html +``` + +We have tested Chrome, Firefox, and Microsoft Edge. + ### Hall of Bugs Here are some of the notable vulnerabilities that are uncovered by diff --git a/WORKSPACE b/WORKSPACE index f170ca8..42aa6de 100644 --- a/WORKSPACE +++ b/WORKSPACE @@ -1,3 +1,36 @@ +# for javascript +http_archive( + name = "io_bazel_rules_closure", + sha256 = "e9e2538b1f7f27de73fa2914b7d2cb1ce2ac01d1abe8390cfe51fb2558ef8b27", + strip_prefix = "rules_closure-4c559574447f90751f05155faba4f3344668f666", + urls = [ + "http://mirror.bazel.build/github.com/bazelbuild/rules_closure/archive/4c559574447f90751f05155faba4f3344668f666.tar.gz", + "https://github.com/bazelbuild/rules_closure/archive/4c559574447f90751f05155faba4f3344668f666.tar.gz", # 2017-06-21 + ], +) + +load("@io_bazel_rules_closure//closure:defs.bzl", "closure_repositories") + +closure_repositories() + +# Google End-to-end +new_http_archive( + name = "e2e", + strip_prefix = "end-to-end-a77a8cbd13157139437219a8c87a7e133457c2e7", + sha256 = "1c0d3678a649c75254e035985a209b9e292befdec733af0a4ad3842acef271eb", + url = "https://github.com/google/end-to-end/archive/a77a8cbd13157139437219a8c87a7e133457c2e7.zip", + build_file = "//:E2E.BUILD" +) + +# Google GSON +new_http_archive( + name = "gson", + strip_prefix = "gson-gson-parent-2.8.1", + sha256 = "5b64446a14ee5b29ab62f1bc0341631c20073e141b724afc410aa66dff6d7f2e", + url = "https://github.com/google/gson/archive/gson-parent-2.8.1.tar.gz", + build_file = "//:Gson.BUILD" +) + maven_jar( name = "bouncycastle_1_46", artifact = "org.bouncycastle:bcprov-jdk15on:1.46", diff --git a/java/com/google/security/wycheproof/JsonTest.java b/java/com/google/security/wycheproof/JsonTest.java new file mode 100644 index 0000000..145eebe --- /dev/null +++ b/java/com/google/security/wycheproof/JsonTest.java @@ -0,0 +1,26 @@ +/** + * @license + * Copyright 2017 Google Inc. All rights reserved. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.google.security.wycheproof; + +import org.junit.runner.RunWith; +import org.junit.runners.Suite; +import org.junit.runners.Suite.SuiteClasses; + +/** Provider independent tests using the JSON test vectors */ +@RunWith(Suite.class) +@SuiteClasses({JsonSignatureTest.class}) +public final class JsonTest {} diff --git a/java/com/google/security/wycheproof/testcases/AesGcmTest.java b/java/com/google/security/wycheproof/testcases/AesGcmTest.java index a9bca6d..c69e5b1 100644 --- a/java/com/google/security/wycheproof/testcases/AesGcmTest.java +++ b/java/com/google/security/wycheproof/testcases/AesGcmTest.java @@ -114,6 +114,41 @@ public class AesGcmTest extends TestCase { "1a0293d8f90219058902139013908190bc490890d3ff12a3", "64069c2d58690561f27ee199e6b479b6369eec688672bde9", "9b7abadd6e69c1d9ec925786534f5075"), + // GCM uses GHASH to compute the initial counter J0 if the nonce is not 12 bytes long. + // The counter is incremented modulo 2^32 in counter mode. The following test vectors verify + // the behavior of an implementation for initial counter values J0 close to a 2^32 limit. + // J0:00000000000000000000000000000000 + new GcmTestVector( + "00000000000000000000000000000000000000000000000000000000000000000000000000000000", + "00112233445566778899aabbccddeeff", + "7b95b8c356810a84711d68150a1b7750", + "", + "84d4c9c08b4f482861e3a9c6c35bc4d91df927374513bfd49f436bd73f325285daef4ff7e13d46a6", + "213a3cb93855d18e69337eee66aeec07"), + // J0:ffffffffffffffffffffffffffffffff + new GcmTestVector( + "00000000000000000000000000000000000000000000000000000000000000000000000000000000", + "00112233445566778899aabbccddeeff", + "1a552e67cdc4dc1a33b824874ebf0bed", + "", + "948ca37a8e6649e88aeffb1c598f3607007702417ea0e0bc3c60ad5a949886de968cf53ea6462aed", + "99b381bfa2af9751c39d1b6e86d1be6a"), + // J0:000102030405060708090a0bffffffff + new GcmTestVector( + "00000000000000000000000000000000000000000000000000000000000000000000000000000000", + "00112233445566778899aabbccddeeff", + "99821c2dd5daecded07300f577f7aff1", + "", + "127af9b39ecdfc57bb11a2847c7c2d3d8f938f40f877e0c4af37d0fe9af033052bd537c4ae978f60", + "07eb2fe4a958f8434d40684899507c7c"), + // J0:000102030405060708090a0bfffffffe + new GcmTestVector( + "00000000000000000000000000000000000000000000000000000000000000000000000000000000", + "00112233445566778899aabbccddeeff", + "5e4a3900142358d1c774d8d124d8d27d", + "", + "0cf6ae47156b14dce03c8a07a2e172b1127af9b39ecdfc57bb11a2847c7c2d3d8f938f40f877e0c4", + "f145c2dcaf339eede427be934357eac0"), }; /** @@ -612,7 +647,6 @@ public class AesGcmTest extends TestCase { *

The test is slow as we have to encrypt 2^32 blocks. */ // TODO(quannguyen): Is there a faster way to test it? -/* @ExcludedTest( providers = {ProviderType.CONSCRYPT}, comment = "Conscrypt doesn't support streaming, would crash") @@ -637,5 +671,4 @@ public class AesGcmTest extends TestCase { System.out.println("testWrappedAroundcounter:" + expected.toString()); } } -*/ } diff --git a/java/com/google/security/wycheproof/testcases/DhTest.java b/java/com/google/security/wycheproof/testcases/DhTest.java index 32ab83a..e44428a 100644 --- a/java/com/google/security/wycheproof/testcases/DhTest.java +++ b/java/com/google/security/wycheproof/testcases/DhTest.java @@ -253,7 +253,7 @@ public class DhTest extends TestCase { BigInteger p = priv.getParams().getP(); BigInteger g = priv.getParams().getG(); int keySize = p.bitLength(); - assertEquals("wrong key size", keySize, expectedKeySize); + assertEquals("wrong key size", expectedKeySize, keySize); // Checks the key size of the private key. // NIST SP 800-56A requires that x is in the range (1, q-1). @@ -322,6 +322,7 @@ public class DhTest extends TestCase { * for each new key. */ @SuppressWarnings("InsecureCryptoUsage") + @SlowTest(providers = {ProviderType.BOUNCY_CASTLE, ProviderType.SPONGY_CASTLE}) public void testKeyPairGenerator() throws Exception { int keySize = 1024; KeyPairGenerator keyGen = KeyPairGenerator.getInstance("DH"); diff --git a/java/com/google/security/wycheproof/testcases/JsonSignatureTest.java b/java/com/google/security/wycheproof/testcases/JsonSignatureTest.java new file mode 100644 index 0000000..6378969 --- /dev/null +++ b/java/com/google/security/wycheproof/testcases/JsonSignatureTest.java @@ -0,0 +1,220 @@ +/** + * @license + * Copyright 2017 Google Inc. All rights reserved. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.google.security.wycheproof; + +import static java.nio.charset.StandardCharsets.UTF_8; + +import com.google.gson.JsonElement; +import com.google.gson.JsonObject; +import com.google.gson.JsonParser; +import com.google.gson.stream.JsonReader; +import java.io.FileInputStream; +import java.io.InputStreamReader; +import java.math.BigInteger; +import java.security.KeyFactory; +import java.security.PublicKey; +import java.security.Signature; +import java.security.SignatureException; +import java.security.spec.X509EncodedKeySpec; +import junit.framework.TestCase; + +/** + * This test uses test vectors in JSON format to check digital signature schemes. + * There are still a lot of open questions, e.g. the format for the test vectors is not + * yet finalized. Therefore, we are not integrating the tests here into other tests + */ +public class JsonSignatureTest extends TestCase { + + static protected String getString(JsonObject object, String name) throws Exception { + return object.get(name).getAsString(); + } + + /** + * Wycheproof represents BigIntegers as hexadecimal strings, using bigendian order and + * twos complement representation. + */ + static protected BigInteger getBigInteger(JsonObject object, String name) throws Exception { + String hex = getString(object, name); + byte[] bytes = TestUtil.hexToBytes(hex); + return new BigInteger(bytes); + } + + /** + * Wycheproof represents byte arrays as hexadeciamal strings. + */ + static protected byte[] getBytes(JsonObject object, String name) throws Exception { + String hex = getString(object, name); + return TestUtil.hexToBytes(hex); + } + + /** + * Returns the algorithm name for a digital signature algorithm with a given message digest. The + * algorithm names used in JCA are a bit inconsequential. E.g. a dash is necessary for message + * digests (e.g. "SHA-256") but are not used in the corresponding names for digital signatures + * (e.g. "SHA256WITHECDSA"). + * + *

See http://docs.oracle.com/javase/8/docs/technotes/guides/security/StandardNames.html + * + * @param md the name of the message digest (e.g. "SHA-256") + * @param signatureAlgorithm the name of the signature algorithm (e.g. "ECDSA") + * @return the algorithm name for the signature scheme with the given hash. + */ + protected static String getAlgorithmName(String md, String signatureAlgorithm) { + if (md.equals("SHA-1")) { + md = "SHA1"; + } else if (md.equals("SHA-224")) { + md = "SHA224"; + } else if (md.equals("SHA-256")) { + md = "SHA256"; + } else if (md.equals("SHA-384")) { + md = "SHA384"; + } else if (md.equals("SHA-512")) { + md = "SHA512"; + } + return md + "WITH" + signatureAlgorithm; + } + + /** + * object should contain the key in multiple formats: + * "key" : elements of the public key + * "keyDer": the key in ASN encoding encoded hexadecimal + * "keyPem": the key in Pem format encoded hexadecimal + * The test can use the format that is most convenient. + */ + // This is a false positive, since errorprone cannot track values passed into a method. + @SuppressWarnings("InsecureCryptoUsage") + static protected PublicKey getPublicKey(JsonObject object, String algorithm) throws Exception { + KeyFactory kf; + if (algorithm.equals("ECDSA")) { + kf = KeyFactory.getInstance("EC"); + } else { + kf = KeyFactory.getInstance(algorithm); + } + byte[] encoded = TestUtil.hexToBytes(getString(object, "keyDer")); + X509EncodedKeySpec x509keySpec = new X509EncodedKeySpec(encoded); + return kf.generatePublic(x509keySpec); + } + + /** Example format for test vectors + * { + * "algorithm": "ECDSA", + * "generatorVersion": "0.0a10", + * "numberOfTests": 217, + * "testGroups": [ + * { + * "key": { + * "curve": "secp256r1", + * "type": "ECPublicKey", + * "wx": "0c9c4bc2617c81eb2dcbfda2db2a370a955be86a0d2e95fcb86a99f90cf046573", + * "wy": "0c400363b1b6bcc3595a7d6d3575ccebcbb03f90ba8e58da2bc4824272f4fecff" + * }, + * "keyDer": + * "keyPem": "-----BEGIN PUBLIC KEY-----\ ... \n-----END PUBLIC KEY-----", + * "sha": "SHA-256", + * "tests": [ + * { + * "comment": "random signature", + * "message": "48656c6c6f", + * "result": "valid", + * "sig": "...", + * "tcId": 1 + * }, + * ... + **/ + public void testVectors(JsonObject test, String signatureAlgorithm) throws Exception { + // This test expects that the version in the test vectors and the version here match + // exactly, since the formats have not yet been fixed. + final String expectedVersion = "0.0a10"; + String generatorVersion = getString(test, "generatorVersion"); + assertEquals(expectedVersion, generatorVersion); + int numTests = test.get("numberOfTests").getAsInt(); + int cntTests = 0; + int errors = 0; + for (JsonElement g : test.getAsJsonArray("testGroups")) { + JsonObject group = g.getAsJsonObject(); + PublicKey key = getPublicKey(group, signatureAlgorithm); + String md = getString(group, "sha"); + String algorithm = getAlgorithmName(md, signatureAlgorithm); + Signature verifier = Signature.getInstance(algorithm); + for (JsonElement t : group.getAsJsonArray("tests")) { + cntTests++; + JsonObject testcase = t.getAsJsonObject(); + byte[] message = getBytes(testcase, "message"); + byte[] signature = getBytes(testcase, "sig"); + int tcid = testcase.get("tcId").getAsInt(); + String sig = TestUtil.bytesToHex(signature); + String result = getString(testcase, "result"); + verifier.initVerify(key); + verifier.update(message); + boolean verified = false; + try { + verified = verifier.verify(signature); + } catch (SignatureException ex) { + // verify can throw SignatureExceptions if the signature is malformed. + // We don't flag these cases and simply consider the signature as invalid. + verified = false; + } catch (java.lang.ArithmeticException ex) { + // b/33446454 The Sun provider may throw an ArithmeticException instead of + // the expected SignatureException for DSA signatures. + // We should eventually remove this. + verified = false; + } catch (Exception ex) { + // Other exceptions (i.e. unchecked exceptions) are considered as error + // since a third party should never be able to cause such exceptions. + System.out.println(signatureAlgorithm + " signature throws " + ex.toString() + + " tcId:" + tcid + " sig:" + sig); + verified = false; + errors++; + } + if (!verified && result.equals("valid")) { + System.out.println("Valid " + signatureAlgorithm + " signature not verified." + + " tcId:" + tcid + " sig:" + sig); + errors++; + } else if (verified && result.equals("invalid")) { + System.out.println("Invalid" + signatureAlgorithm + " signature verified." + + " tcId:" + tcid + " sig:" + sig); + errors++; + } + } + } + assertEquals(0, errors); + assertEquals(numTests, cntTests); + } + + public JsonObject getJsonObjectFromFile(String filename) throws Exception { + FileInputStream is = new FileInputStream(filename); + JsonReader reader = new JsonReader(new InputStreamReader(is, UTF_8)); + JsonParser parser = new JsonParser(); + JsonElement elem = parser.parse(reader); + return elem.getAsJsonObject(); + } + + public void testSignatureScheme(String filename, String algorithm) throws Exception { + // TODO(bleichen): This (likely) will not work when published. + String TEST_VECTORS = "third_party/wycheproof/testvectors/"; + JsonObject tests = getJsonObjectFromFile(TEST_VECTORS + filename); + testVectors(tests, algorithm); + } + + public void testEcdsa() throws Exception { + testSignatureScheme("ecdsa_test.json", "ECDSA"); + } + + public void testRsaSignatures() throws Exception { + testSignatureScheme("rsa_signature_test.json", "RSA"); + } +} diff --git a/java/com/google/security/wycheproof/testcases/RsaKeyTest.java b/java/com/google/security/wycheproof/testcases/RsaKeyTest.java index b761dae..74c6a08 100644 --- a/java/com/google/security/wycheproof/testcases/RsaKeyTest.java +++ b/java/com/google/security/wycheproof/testcases/RsaKeyTest.java @@ -1430,7 +1430,7 @@ public class RsaKeyTest extends TestCase { assertEquals(pub.getModulus(), priv.getModulus()); BigInteger e = pub.getPublicExponent(); // Checks that e > 1. [CVE-1999-1444] - assertEquals(e.compareTo(BigInteger.ONE), 1); + assertEquals(1, e.compareTo(BigInteger.ONE)); } private void checkKeyPair(KeyPair keypair, int keySizeInBits) throws Exception { diff --git a/javascript/BigInteger.js b/javascript/BigInteger.js new file mode 100644 index 0000000..514ce6a --- /dev/null +++ b/javascript/BigInteger.js @@ -0,0 +1,112 @@ +/** + * @license + * Copyright 2017 Google Inc. All rights reserved. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +/** + * @fileoverview Defines interfaces for big numbers. + * All arithmetic operations are inherits from e2e.BigNum. + */ +goog.provide('wycheproof.BigInteger'); +goog.provide('wycheproof.BigPrimeInteger'); +goog.require('e2e.BigNum'); +goog.require('e2e.BigPrimeNum'); +goog.require('goog.crypt'); +goog.require('goog.crypt.base64'); +goog.require('goog.testing.asserts'); +goog.require('wycheproof.TestUtil'); + +var TestUtil = wycheproof.TestUtil; + + +/** + * Non-negative arbitrary-precision integers. + * @param {(!Array|!Uint8Array)=} optValue + * The value of the BigInteger in big endian. + * @constructor + * @extends {e2e.BigNum} + */ +wycheproof.BigInteger = function(optValue) { + wycheproof.BigInteger.base(this, 'constructor', optValue); +}; +goog.inherits(wycheproof.BigInteger, e2e.BigNum); + + +/** + * A factory method to create a BigInteger from a string that is + * in big-endian, two's complement and hex representation. + * @param {!string} s The string representation of the BigInteger + * + * @return {!BigInteger} + */ +wycheproof.BigInteger.fromHex = function(s) { + assertTrue('Input is not a hex string', TestUtil.isHex(s)); + if (s.length % 2 == 1) { + s = '0' + s; + } + var bytes = goog.crypt.hexToByteArray(s); + var bigInt = new wycheproof.BigInteger(bytes); + return bigInt.dropLeadingZeros(); +}; + +/** + * Converts this to a big-endian Base64URL string. + * @param {!number} optValue An optional value that specifies the length in + * bytes of the result. If it is bigger than the original length of this number, + * zeros are added to its beginning. + * + * @return {!string} + */ +wycheproof.BigInteger.prototype.toBase64Url = function(optValue) { + var bytes = this.toByteArray(); + if (goog.isDef(optValue) && optValue > bytes.length) { + var addingZeros = new Array(optValue-bytes.length).fill(0); + bytes = addingZeros.concat(bytes); + } + var b64Str = goog.crypt.base64.encodeByteArray(bytes); + return TestUtil.base64ToBase64Url(b64Str); +}; + + +/** + * Converts this to an ArrayBuffer of big-endian bytes + * @param {!number} optValue An optional value that specifies the length in + * bytes of the result. If it is bigger than the original length of this number, + * zeros are added to its beginning. + * + * @return {!ArrayBuffer} + */ +wycheproof.BigInteger.prototype.toArrayBuffer = function(optValue) { + var bytes = this.toByteArray(); + if (goog.isDef(optValue) && optValue > bytes.length) { + var addingZeros = new Array(optValue-bytes.length).fill(0); + bytes = addingZeros.concat(bytes); + } + return new Uint8Array(bytes).buffer; +}; + + +/** + * Odd prime big integer that could be use as the modulus in modular arithmetic + * operations in crypto schemes such as ECDSA or ECDH. + * @param {!Array|!Uint8Array} modulus The modulus to use. + * @constructor + * @extends {e2e.BigPrimeNum} + */ +wycheproof.BigPrimeInteger = function(modulus) { + wycheproof.BigPrimeInteger.base(this, 'constructor', modulus); +}; +goog.inherits(wycheproof.BigPrimeInteger, e2e.BigPrimeNum); + + diff --git a/javascript/EcUtil.js b/javascript/EcUtil.js new file mode 100644 index 0000000..47efb25 --- /dev/null +++ b/javascript/EcUtil.js @@ -0,0 +1,123 @@ +/** + * @license + * Copyright 2017 Google Inc. All rights reserved. + * Licensed under the Apache License, Version 2.0 (the 'License'); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an 'AS IS' BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +/** + * Some utilities for testing Elliptic curve crypto. + * + */ +goog.provide('wycheproof.EcUtil'); +goog.require('wycheproof.BigInteger'); +goog.require('wycheproof.BigPrimeInteger'); + +var BigInteger = wycheproof.BigInteger; +var BigPrimeInteger = wycheproof.BigPrimeInteger; + +/** + * Parameters of a NIST-recommended curve. + * @param {!number} keySize The bit length of the order n + * @param {!string} hexP The prime modulus p in hex format + * @param {!string} hexN The order n in hex format + * @param {!string} hexB The coefficient b in hex format + * @param {!string} hexGX The x-coordinate of the public curve point + * @param {!string} hexGY The y-coordinate of the public curve point + */ +var NistCurveSpec = function(keySize, hexP, hexN, hexB, hexGX, hexGY) { + this.keySize = keySize; + this.p = new BigPrimeInteger(BigInteger.fromHex(hexP).toByteArray()); + this.n = new BigPrimeInteger(BigInteger.fromHex(hexN).toByteArray()); + this.b = BigInteger.fromHex(hexB); + this.gx = BigInteger.fromHex(hexGX); + this.gy = BigInteger.fromHex(hexGY); +}; + + +/** + * Returns the NIST's recommended parameters of the given curve. + * @param {!string} name The curve name + * + * @return {NistCurveSpec} + */ +wycheproof.EcUtil.getCurveSpec = function(name) { + switch (name) { + case 'P-256': + return wycheproof.EcUtil.getNistP256Params(); + case 'P-384': + return wycheproof.EcUtil.getNistP384Params(); + case 'P-521': + return wycheproof.EcUtil.getNistP521Params(); + default: + throw 'Curve not implemented:' + name; + } +}; + +/** + * Returns the NIST's recommended parameters of the secp256r1 curve. + * + * @return {NistCurveSpec} + */ +wycheproof.EcUtil.getNistP256Params = function() { + return new NistCurveSpec( + 256, + 'ffffffff00000001000000000000000000000000ffffffffffffffffffffffff', + 'ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551', + '5ac635d8aa3a93e7b3ebbd55769886bc651d06b0cc53b0f63bce3c3e27d2604b', + '6b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c296', + '4fe342e2fe1a7f9b8ee7eb4a7c0f9e162bce33576b315ececbb6406837bf51f5'); +}; + + +/** + * Returns the NIST's recommended parameters of the secp384r1 curve. + * + * @return {NistCurveSpec} + */ +wycheproof.EcUtil.getNistP384Params = function() { + return new NistCurveSpec( + 384, + 'fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff' + + 'ffeffffffff0000000000000000ffffffff', + 'ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372' + + 'ddf581a0db248b0a77aecec196accc52973', + 'b3312fa7e23ee7e4988e056be3f82d19181d9c6efe8141120314088f5013875a' + + 'c656398d8a2ed19d2a85c8edd3ec2aef', + 'aa87ca22be8b05378eb1c71ef320ad746e1d3b628ba79b9859f741e082542a38' + + '5502f25dbf55296c3a545e3872760ab7', + '3617de4a96262c6f5d9e98bf9292dc29f8f41dbd289a147ce9da3113b5f0b8c0' + + '0a60b1ce1d7e819d7a431d7c90ea0e5f'); +}; + + +/** + * Returns the NIST's recommended parameters of the secp521r1 curve. + * + * @return {NistCurveSpec} + */ +wycheproof.EcUtil.getNistP521Params = function() { +return new NistCurveSpec( + 521, + '1fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff' + + 'fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff', + '1fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff' + + 'a51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386409', + '051953eb9618e1c9a1f929a21a0b68540eea2da725b99b315f3b8b489918ef10' + + '9e156193951ec7e937b1652c0bd3bb1bf073573df883d2c34f1ef451fd46b503f00', + 'c6858e06b70404e9cd9e3ecb662395b4429c648139053fb521f828af606b4d3d' + + 'baa14b5e77efe75928fe1dc127a2ffa8de3348b3c1856a429bf97e7e31c2e5bd66', + '11839296a789a3bc0045c8a5fb42c7d1bd998f54449579b446817afbd17273e6' + + '62c97ee72995ef42640c550b9013fad0761353c7086a272c24088be94769fd16650'); +}; + + diff --git a/javascript/TestUtil.js b/javascript/TestUtil.js new file mode 100644 index 0000000..76b3cac --- /dev/null +++ b/javascript/TestUtil.js @@ -0,0 +1,140 @@ +/** + * @license + * Copyright 2017 Google Inc. All rights reserved. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +/** + * Some utilities for all Javascript tests. + */ +goog.provide('wycheproof.TestUtil'); +goog.require('goog.crypt'); +goog.require('goog.crypt.base64'); +goog.require('goog.json'); + +/** + * Reads test vectors in JSON format from a file. + * @param {!string} filename + * + * @return {!JSONObject} + */ +wycheproof.TestUtil.readJsonTestVectorsFromFile = function(filename){ + var fileContent = goog.loadFileSync_(filename); + assertTrue('Invalid file format (expected JSON)', goog.json.isValid(fileContent)); + return goog.json.parse(fileContent); +}; + + +/** + * Analyzes the result from a goog.testing.TestCase execution. + * + * @param {!goog.testing.TestCase.Result} result + */ +wycheproof.TestUtil.checkTestCaseResult = function(result) { + var failMsg = ''; + if (result.errors.length > 0) { + for (var i = 0; i < result.errors.length; i++) { + failMsg += result.errors[i].message + '\n'; + } + fail(failMsg); + } +}; + + +/** + * Checks whether the given string is in hex format. + * @param {!string} s + * + * @return {!boolean} + */ +wycheproof.TestUtil.isHex = function(s) { + return /(^[0-9A-F]*$)|(^[0-9a-f]*$)/.test(s); +}; + +/** + * Converts a hex string to a ArrayBuffer. + * @param {!string} s + * + * @return {!ArrayBuffer} + */ +wycheproof.TestUtil.hexToArrayBuffer = function(s) { + var bytes = goog.crypt.hexToByteArray(s); + return new Uint8Array(bytes).buffer; +}; + +/** + * Converts an ArrayBuffer to hex string + * @param {!ArrayBuffer} ab + * + * @return {!string} + */ +wycheproof.TestUtil.arrayBufferToHex = function(ab) { + return goog.crypt.byteArrayToHex(new Uint8Array(ab)); +}; + +/** + * Converts a Base64URL string to hex format + * @param {!string} s + * + * @return {!string} + */ +wycheproof.TestUtil.base64UrlToHex = function (s) { + var b64str = wycheproof.TestUtil.base64UrlToBase64(s); + return wycheproof.TestUtil.base64ToHex(b64str); +}; + +/** + * Converts a hex string to Base64 format. + * @param {!string} s + * + * @return {!string} + */ +wycheproof.TestUtil.hexToBase64 = function(s) { + var bytes = goog.crypt.hexToByteArray(s); + return goog.crypt.base64.encodeByteArray(bytes); +}; + +/** + * Converts a base64 string to hex format. + * @param {!string} s + * + * @return {!string} + */ +wycheproof.TestUtil.base64ToHex = function(s) { + var bytes = goog.crypt.base64.decodeStringToByteArray(s); + return goog.crypt.byteArrayToHex(bytes); +}; + +/** + * Converts a Base64 string to Base64URL + * @param {!string} s + * + * @return {!string} + */ +wycheproof.TestUtil.base64ToBase64Url = function(s) { + return s.replace(/\+/g, '-') + .replace(/\//g, '_') + .replace(/=/g, ''); +}; + +/** + * Converts a Base64Url string to Base64 + * @param {!string} s + * + * @return {!string} + */ +wycheproof.TestUtil.base64UrlToBase64 = function(s) { + return (s + '==='.slice((s.length + 3) % 4)) + .replace(/\-/g, '+') + .replace(/_/g, '/'); +}; diff --git a/javascript/webcryptoapi/HashUtil.js b/javascript/webcryptoapi/HashUtil.js new file mode 100644 index 0000000..a35e8e3 --- /dev/null +++ b/javascript/webcryptoapi/HashUtil.js @@ -0,0 +1,39 @@ +/** + * @license + * Copyright 2017 Google Inc. All rights reserved. + * Licensed under the Apache License, Version 2.0 (the 'License'); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an 'AS IS' BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +/** + * @fileoverview Utilities for hash operations + */ +goog.provide('wycheproof.webcryptoapi.HashUtil'); + + +// Hash function names +wycheproof.webcryptoapi.HashUtil.SHA256 = 'SHA-256'; +wycheproof.webcryptoapi.HashUtil.SHA384 = 'SHA-384'; +wycheproof.webcryptoapi.HashUtil.SHA512 = 'SHA-512'; +wycheproof.webcryptoapi.HashUtil.SHA1 = 'SHA-1'; + + +/** + * Calculates a hash of the given message using the given hash algorithm. + * @param {!string} hashAlg The hash algorithm + * @param {!ArrayBuffer} msg The message to be hashed + * + * @return {!Promise} + */ +wycheproof.webcryptoapi.HashUtil.digest = function(hashAlg, msg) { + return window.crypto.subtle.digest(hashAlg, msg); +}; diff --git a/javascript/webcryptoapi/RsaUtil.js b/javascript/webcryptoapi/RsaUtil.js new file mode 100644 index 0000000..bf23535 --- /dev/null +++ b/javascript/webcryptoapi/RsaUtil.js @@ -0,0 +1,172 @@ +/** + * @license + * Copyright 2017 Google Inc. All rights reserved. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +/** + * Some utilities for testing RSA on Web Crypto APIs + */ +goog.provide('wycheproof.webcryptoapi.RsaUtil'); +goog.require('goog.testing.asserts'); +goog.require('wycheproof.webcryptoapi.HashUtil'); + +var HashUtil = wycheproof.webcryptoapi.HashUtil; + +// algorithm names +wycheproof.webcryptoapi.RsaUtil.RSASSA_PKCS1 = 'RSASSA-PKCS1-v1_5'; +wycheproof.webcryptoapi.RsaUtil.RSA_OAEP = 'RSA-OAEP'; + +// public exponents +wycheproof.webcryptoapi.RsaUtil.E_65537 = new Uint8Array([0x01, 0x00, 0x01]); +wycheproof.webcryptoapi.RsaUtil.E_3 = new Uint8Array([0x03]); + +/** + * Imports a RSA public key. + * @param {!string} e RSA public exponent in base64url format + * @param {!string} n RSA modulus in base64url format + * @param {!string} schemeName The usage scheme. + * Supported values are "RSASSA-PKCS1-v1_5", "RSA-PSS". + * @param {!string} hashAlg The hash algorithm used for the scheme. + * Supported values are "SHA-1", "SHA-256", "SHA-384", and "SHA-512". + * @param {!Array} usages An Array indicating what can be done with the key. + * + * @return {!Promise} A Promise object containing the public key + */ +wycheproof.webcryptoapi.RsaUtil.importPublicKey = + function(e, n, schemeName, hashAlg, usages) { + return window.crypto.subtle.importKey( + 'jwk', { + kty: 'RSA', + e: e, + n: n, + ext: true, + }, { + name: schemeName, + hash: {name: hashAlg}, + }, + false, + usages + ); +}; + +/** + * Verifies a RSA signature using the given public key. + * @param {!CryptoKey} pk The public key object + * @param {!ArrayBuffer} msg + * The message that was signed by the corresponding private key, in + * @param {!ArrayBuffer} sig + * The signature to be verified + * @param {!string} hashAlg The hash algorithm + * @param {!string} schemeName The signature scheme + * + * @return {!Promise} A Promise object containing the verification result. + */ +wycheproof.webcryptoapi.RsaUtil.verify = function(pk, msg, sig, hashAlg, schemeName) { + return window.crypto.subtle.verify( + { + name: schemeName, + hash: hashAlg + }, + pk, + sig, + msg + ); +}; + +/** + * Generates a new RSA key pair. + * @param {!string} schemeName The algorithm scheme + * @param {number} keySize The key size in bits + * @param {!ArrayBuffer} e The public exponent + * @param {!string} hashAlg The hash algorithm + * @param {!Array} usages The usages of the key + * + * @return {!Promise} A promise containing the new key pair. + */ +wycheproof.webcryptoapi.RsaUtil.generateKey + = function(schemeName, keySize, e, hashAlg, usages) { + return window.crypto.subtle.generateKey( + { + name: schemeName, + modulusLength: keySize, + publicExponent: e, + hash: {name: hashAlg}, + }, + true, + usages + ); +}; + +/** + * Decrypts the given ciphertext. + * @param {!string} schemeName The algorithm scheme + * @param {!CryptoKey} sk The private key that will be used for decryption + * @param {!string} ct The ciphertext to be decrypted + * + * @return {!Promise} A promise containing the decrypted text. + */ +wycheproof.webcryptoapi.RsaUtil.decrypt = function(schemeName, sk, ct) { + return window.crypto.subtle.decrypt({name: schemeName}, sk, ct); +}; + +/** + * A class containing RSA signature test case's parameters + * @param {!number} id + * @param {!string} e RSA public exponent in base64url format + * @param {!string} n RSA modulus in base64url format + * @param {!string} hashAlg The hash algorithm used for the scheme. + * @param {!string} scheme The usage scheme. + * @param {!ArrayBuffer} msg The message to be verified + * @param {!ArrayBuffer} sig The signature to be verified + * @param {!string} result The test result + */ +wycheproof.webcryptoapi.RsaUtil.RsaSignatureTestCase + = function(id, e, n, hashAlg, scheme, msg, sig, result) { + this.id = id; + this.e = e; + this.n = n; + this.hashAlg = hashAlg; + this.scheme = scheme; + this.msg = msg; + this.sig = sig; + this.result = result; +}; + +/** + * Tests RSA signature verification. + * + * @return {!Promise} + */ +wycheproof.webcryptoapi.RsaUtil.testVerification = function() { + var tc = this; + var promise = new Promise(function(resolve, reject){ + RsaUtil.importPublicKey(tc.e, tc.n, tc.scheme, tc.hashAlg, ['verify']) + .then(function(pk){ + wycheproof.webcryptoapi.RsaUtil.verify(pk, tc.msg, tc.sig, + tc.hashAlg, tc.scheme).then(function(isValid){ + if ((tc.result == 'valid' && !isValid) || + (tc.result == 'invalid' && isValid)) { + reject('Failed on test case ' + tc.id); + } + resolve(); + }).catch(function(err){ + // don't expect any exception in signature verification + reject('Unexpected exception on test case ' + tc.id + ": " + err); + }); + }).catch(function(err){ + reject('Failed to import public key in test case ' + tc.id + ': ' + err); + }); + }); + return promise; +}; diff --git a/javascript/webcryptoapi/WebCryptoDeps.js b/javascript/webcryptoapi/WebCryptoDeps.js new file mode 100644 index 0000000..e5178a5 --- /dev/null +++ b/javascript/webcryptoapi/WebCryptoDeps.js @@ -0,0 +1,13 @@ +// This file was autogenerated by depswriter.py. +// Please do not edit. +goog.addDependency('../../../../javascript/BigInteger.js', ['wycheproof.BigInteger', 'wycheproof.BigPrimeInteger'], ['e2e.BigNum', 'e2e.BigPrimeNum', 'goog.crypt', 'goog.crypt.base64', 'goog.testing.asserts', 'wycheproof.TestUtil'], false); +goog.addDependency('../../../../javascript/EcUtil.js', ['wycheproof.EcUtil'], ['wycheproof.BigInteger', 'wycheproof.BigPrimeInteger'], false); +goog.addDependency('../../../../javascript/TestUtil.js', ['wycheproof.TestUtil'], ['goog.crypt', 'goog.crypt.base64', 'goog.json'], false); +goog.addDependency('../../../../javascript/webcryptoapi/HashUtil.js', ['wycheproof.webcryptoapi.HashUtil'], [], false); +goog.addDependency('../../../../javascript/webcryptoapi/RsaUtil.js', ['wycheproof.webcryptoapi.RsaUtil'], ['goog.testing.asserts', 'wycheproof.webcryptoapi.HashUtil'], false); +goog.addDependency('../../../../javascript/webcryptoapi/WebCryptoTest.js', ['wycheproof.webcryptoapi'], ['goog.testing.TestCase', 'goog.userAgent.product'], false); +goog.addDependency('../../../../javascript/webcryptoapi/testcases/AesGcmTest.js', ['wycheproof.webcryptoapi.AES-GCM'], ['goog.testing.TestCase', 'goog.testing.asserts', 'goog.testing.jsunit', 'goog.userAgent.product', 'wycheproof.BigInteger', 'wycheproof.TestUtil'], false); +goog.addDependency('../../../../javascript/webcryptoapi/testcases/EcdhTest.js', ['wycheproof.webcryptoapi.ECDH'], ['goog.testing.TestCase', 'goog.testing.asserts', 'goog.testing.jsunit', 'wycheproof.BigInteger', 'wycheproof.TestUtil', 'wycheproof.webcryptoapi.RsaUtil'], false); +goog.addDependency('../../../../javascript/webcryptoapi/testcases/EcdsaTest.js', ['wycheproof.webcryptoapi.ECDSA'], ['e2e.ecc.Ecdsa', 'goog.testing.TestCase', 'goog.testing.asserts', 'goog.testing.jsunit', 'wycheproof.BigInteger', 'wycheproof.EcUtil', 'wycheproof.TestUtil', 'wycheproof.webcryptoapi.HashUtil'], false); +goog.addDependency('../../../../javascript/webcryptoapi/testcases/RsaOaedTest.js', ['wycheproof.webcryptoapi.RSA-OAED'], ['e2e.random', 'goog.testing.asserts', 'goog.testing.jsunit', 'wycheproof.TestUtil', 'wycheproof.webcryptoapi.RsaUtil'], false); +goog.addDependency('../../../../javascript/webcryptoapi/testcases/RsaSsaPkcs1Test.js', ['wycheproof.webcryptoapi.RSASSA-PKCS1-V1_5'], ['goog.testing.TestCase', 'goog.testing.asserts', 'goog.testing.jsunit', 'wycheproof.BigInteger', 'wycheproof.TestUtil', 'wycheproof.webcryptoapi.HashUtil', 'wycheproof.webcryptoapi.RsaUtil'], false); \ No newline at end of file diff --git a/javascript/webcryptoapi/WebCryptoTest.html b/javascript/webcryptoapi/WebCryptoTest.html new file mode 100644 index 0000000..2e446df --- /dev/null +++ b/javascript/webcryptoapi/WebCryptoTest.html @@ -0,0 +1,37 @@ + + +Unit Tests of Web Crypto API + + + + + + + + diff --git a/javascript/webcryptoapi/WebCryptoTest.js b/javascript/webcryptoapi/WebCryptoTest.js new file mode 100644 index 0000000..ce1e53d --- /dev/null +++ b/javascript/webcryptoapi/WebCryptoTest.js @@ -0,0 +1,92 @@ +/** + * @license + * Copyright 2017 Google Inc. All rights reserved. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/** + * @fileoverview Tests for Web Crypto API + */ +goog.provide('wycheproof.webcryptoapi'); +goog.require('goog.testing.TestCase'); +goog.require('goog.userAgent.product'); + +const TEST_TIMEOUT = 120*1000; + +// A dictionary containing the parameters that are supported by the current browser +var SUPPORTED; +// Parameters that are supported by Microsoft Edge +const EDGE_SUPPORTED = { + 'aesgcm-key-size': [128, 192, 256], + 'ecdsa-curve': ['P-256', 'P-384', 'P-521'], + 'hash': ['SHA-256', 'SHA-384', 'SHA-512'] +}; +// Parameters that are supported by Chrome +const CHROME_SUPPORTED = { + 'aesgcm-key-size': [128, 256], + 'ecdsa-curve': ['P-256', 'P-384', 'P-521'], + 'hash': ['SHA-1', 'SHA-256', 'SHA-384', 'SHA-512'] +}; +// Parameters that are supported by Firefox +const FIREFOX_SUPPORTED = { + 'aesgcm-key-size': [128, 192, 256], + 'ecdsa-curve': ['P-256', 'P-384', 'P-521'], + 'hash': ['SHA-1', 'SHA-256', 'SHA-384', 'SHA-512'] +}; + +// Test names +const TEST_AES_GCM_VECTORS = 'testAesGcmVectors'; +const TEST_ECDSA_VECTORS = 'testEcdsaVectors'; +const TEST_ECDSA_BIAS = 'testEcdsaBiasAll'; +const TEST_RSASSAPKCS1_VECTORS = 'testRsaSsaPkcs1Vectors'; +const TEST_RSA_ENCRYPT = 'testRsaEncryptionException'; +const TEST_ECDH_VECTORS = 'testEcdhVectors'; + +// Tests to run +var TESTS_ALL = {}; +TESTS_ALL[TEST_AES_GCM_VECTORS] = true; +TESTS_ALL[TEST_ECDSA_VECTORS] = true; +TESTS_ALL[TEST_ECDSA_BIAS] = true; +TESTS_ALL[TEST_RSASSAPKCS1_VECTORS] = true; +TESTS_ALL[TEST_RSA_ENCRYPT] = true; +TESTS_ALL[TEST_ECDH_VECTORS] = true; + +// Tests to run on Chrome +var TESTS_TO_RUN_CHROME = goog.cloneObject(TESTS_ALL); + +// Tests to run on Firefox +var TESTS_TO_RUN_FIREFOX = goog.cloneObject(TESTS_ALL); + +// Tests to run on MS Edge. +// MS Edge doesn't support ECDSA and ECDH +var TESTS_TO_RUN_EDGE = goog.cloneObject(TESTS_ALL); +TESTS_TO_RUN_EDGE[TEST_ECDSA_VECTORS] = false; +TESTS_TO_RUN_EDGE[TEST_ECDSA_BIAS] = false; +TESTS_TO_RUN_EDGE[TEST_ECDH_VECTORS] = false; + +/** + * Runs all tests. + */ +wycheproof.webcryptoapi.setupAllTests = function() { + var testCase = goog.testing.TestCase.getActiveTestCase(); + testCase.promiseTimeout = TEST_TIMEOUT; + if (goog.userAgent.product.CHROME) { + testCase.setTestsToRun(TESTS_TO_RUN_CHROME); + SUPPORTED = CHROME_SUPPORTED; + } else if (goog.userAgent.product.FIREFOX) { + testCase.setTestsToRun(TESTS_TO_RUN_FIREFOX); + SUPPORTED = FIREFOX_SUPPORTED; + } else if (goog.userAgent.product.EDGE) { + testCase.setTestsToRun(TESTS_TO_RUN_EDGE); + SUPPORTED = EDGE_SUPPORTED; + } +}; \ No newline at end of file diff --git a/javascript/webcryptoapi/testcases/AesGcmTest.js b/javascript/webcryptoapi/testcases/AesGcmTest.js new file mode 100644 index 0000000..7b67cf8 --- /dev/null +++ b/javascript/webcryptoapi/testcases/AesGcmTest.js @@ -0,0 +1,211 @@ +/** + * @license + * Copyright 2017 Google Inc. All rights reserved. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +/** + * Tests for AES-GCM implementations of Web Crypto API. + */ +goog.provide('wycheproof.webcryptoapi.AES-GCM'); +goog.require('goog.testing.TestCase'); +goog.require('goog.testing.asserts'); +goog.require('goog.testing.jsunit'); +goog.require('goog.userAgent.product'); +goog.require('wycheproof.BigInteger'); +goog.require('wycheproof.TestUtil'); + +var TestUtil = wycheproof.TestUtil; +var BigInteger = wycheproof.BigInteger; + +// Test vector file +var AES_GCM_VECTOR_FILE = '../../testvectors/aes_gcm_test.json'; + + +/** + * A class containing a AES-GCM test case's parameters. + * @param {!number} id Identifier of the test case + * @param {!string} k The key in Base64URL format + * @param {!number} keySize The key's size in bits + * @param {!string} tag The expected tag of the encryption in hex format + * @param {!number} tagSize The tag size in bits + * @param {!ArrayBuffer} iv The initialization vector + * @param {!number} ivSize The iv's size in bits + * @param {!ArrayBuffer} aad The additional authentication data + * @param {!ArrayBuffer} msg The message to be encrypted + * @param {!string} ct The expected ciphertext of the encryption in hex format + * @param {!string} result The expected result of the test + */ +var AesGcmTestCase = function(id, k, keySize, tag, tagSize, iv, ivSize, + aad, msg, ct, result) { + this.id = id; + this.k = k; + this.keySize = keySize; + this.tag = tag; + this.tagSize = tagSize; + this.iv = iv; + this.ivSize = ivSize; + this.aad = aad; + this.msg = msg; + this.ct = ct; + this.result = result; +}; + + +/** AES-GCM wrapper */ +var AesGcm = function() {}; + +/** + * Returns the AES-GCM algorithm name that is accepted by WebCrypto APIs. + * @param {!number} keySize The key's size + * + * @return {!string} The algorithm's name + */ +AesGcm.getAlgName = function(keySize) { + return 'A' + keySize + 'GCM'; +}; + + +/** + * Imports a AES-GCM key. + * @param {!string} k The key in Base64URL format + * @param {!number} keySize The key's size in bits + * + * @return {!Promise} A Promise containing the imported key + */ +AesGcm.importKey = function(k, keySize) { + return window.crypto.subtle.importKey( + "jwk", + { + kty: 'oct', + k: k, + alg: AesGcm.getAlgName(keySize), + ext: true, + }, { + name: 'AES-GCM', + }, + true, + ["encrypt", "decrypt"] + ); +}; + + +/** + * Performs AES-GCM encryption. + * @param {!CryptoKey} key The key that is used for encryption + * @param {!ArrayBuffer} aad The additional authentication data + * @param {!ArrayBuffer} msg The message to be encrypted + * @param {!ArrayBuffer} iv The initialization vector + * @param {number} tagSize The tag size in bits + * + * @return {!Promise} A Promise containing the ciphetext + */ +AesGcm.encrypt = function(key, aad, msg, iv, tagSize) { + var alg = { + name: 'AES-GCM', + iv: iv, + tagLength: tagSize + }; + if (aad.byteLength > 0) { + alg.additionalData = aad; + } + return window.crypto.subtle.encrypt(alg, key, msg); +}; + + +/** + * Tests AES-GCM encryption. + * + * @return {!Promise} + */ +AesGcm.testEncrypt = function() { + var tc = this; + var promise = new Promise(function(resolve, reject) { + AesGcm.importKey(tc.k, tc.keySize).then(function(key){ + AesGcm.encrypt(key, tc.aad, tc.msg, tc.iv, tc.tagSize) + .then(function(ct){ + // Fail if the iv is empty and the encryption still succeeds + if (tc.ivSize == 0) { + reject('Failed on test case ' + tc.id + ': 0-length iv should not be accepted'); + } else { + var obtainedCt = TestUtil.arrayBufferToHex(ct); + var expectedCt = tc.ct+tc.tag; + if ((tc.result == 'valid' && obtainedCt != expectedCt) || + (tc.result == 'invalid' && obtainedCt == expectedCt)) { + reject('Failed on test case ' + tc.id); + } + } + resolve(); + }).catch(function(err){ + // don't expect any exception during encryption + reject('Unexpected exception on test case ' + tc.id + ': ' + err); + }); + }).catch(function(err){ + reject('Failed to import key in test case ' + tc.id + ': ' + err); + }); + }); + + return promise; +}; + + +/** + * Tests AES-GCM encryption implementation with test vectors from files + * + * @return {!Promise} + */ +function testAesGcmVectors() { + var tv = TestUtil.readJsonTestVectorsFromFile(AES_GCM_VECTOR_FILE); + var testCase = new goog.testing.TestCase(); + testCase.promiseTimeout = 2*1000; + + for (var i = 0; i < tv['testGroups'].length; i++) { + var tg = tv['testGroups'][i]; + var keySizeBit = parseInt(tg['keySize']); + var tagSizeBit = parseInt(tg['tagSize']); + var ivSizeBit = parseInt(tg['ivSize']); + // Only run the tests if the key size is supported + if (SUPPORTED['aesgcm-key-size'].indexOf(keySizeBit) == -1) { + continue; + } + // MS Edge only supports IVs of size 96 + if (goog.userAgent.product.EDGE && ivSizeBit != 96) { + continue; + } + for (var j = 0; j < tg['tests'].length; j++){ + var tc = tg['tests'][j]; + // MS Edge doesn't accept 0-length message + if (goog.userAgent.product.EDGE && tc['msg'].length == 0) { + continue; + } + var k = BigInteger.fromHex(tc['key']).toBase64Url(keySizeBit/8); + var aad = TestUtil.hexToArrayBuffer(tc['aad']); + var msg = TestUtil.hexToArrayBuffer(tc['msg']); + var iv; + if (ivSizeBit == 0) { + iv = new Uint8Array([]).buffer; + } else { + iv = BigInteger.fromHex(tc['iv']).toArrayBuffer(ivSizeBit/8); + } + var ct = tc['ct']; + var tag = tc['tag']; + var result = tc['result']; + var tcId = tc['tcId']; + var test = new AesGcmTestCase(tcId, k, keySizeBit, tag, tagSizeBit, + iv, ivSizeBit, aad, msg, ct, result); + testCase.addNewTest('Test ' + tcId, AesGcm.testEncrypt, test); + } + } + + return testCase.runTestsReturningPromise().then(TestUtil.checkTestCaseResult); +} diff --git a/javascript/webcryptoapi/testcases/EcdhTest.js b/javascript/webcryptoapi/testcases/EcdhTest.js new file mode 100644 index 0000000..06cc36a --- /dev/null +++ b/javascript/webcryptoapi/testcases/EcdhTest.js @@ -0,0 +1,183 @@ +/** + * @license + * Copyright 2017 Google Inc. All rights reserved. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +/** + * Tests for ECDH implementations of Web Crypto API. + */ +goog.provide('wycheproof.webcryptoapi.ECDH'); +goog.require('goog.testing.TestCase'); +goog.require('goog.testing.asserts'); +goog.require('goog.testing.jsunit'); +goog.require('wycheproof.BigInteger'); +goog.require('wycheproof.TestUtil'); +goog.require('wycheproof.webcryptoapi.RsaUtil'); + +var TestUtil = wycheproof.TestUtil; +var RsaUtil = wycheproof.webcryptoapi.RsaUtil; +var BigInteger = wycheproof.BigInteger; + +// Test vector files +var ECDH_VECTOR_FILE = '../../testvectors/ecdh_webcrypto_test.json'; + +/** ECDH wrapper */ +var Ecdh = function() {}; + +/** + * Generates an ECDH key pair using the given curve name. + * @param {!string} curveName The curve name + * + * @return {!Promise} + */ +Ecdh.generateKey = function(curveName) { + return window.crypto.subtle.generateKey( + { + name: 'ECDH', + namedCurve: curveName, + }, + true, + ['deriveKey', 'deriveBits'] + ); +}; + + +/** + * Imports a ECDH key from the given key data. + * @param {!string} curveName The curve name + * @param {!JSONObject} keyData The key data in JWK format + * @param {!Array} usages The usages of the key + * + * @return {!Promise} + */ +Ecdh.importKey = function(curveName, keyData, usages) { + return window.crypto.subtle.importKey( + "jwk", + keyData, + { + name: 'ECDH', + namedCurve: curveName, + }, + true, + usages + ); +}; + + +/** + * Exports the given ECDSA key as a JSON object. + * @param {!CryptoKey} key The ECDH key to be exported + * + * @return {!Promise} + */ +Ecdh.exportKey = function(key) { + return window.crypto.subtle.exportKey("jwk", key); +}; + + +/** + * Derives bits from a public key and a private key. + * @param {!CryptoKey} pubKey The public key + * @param {!CryptoKey} privKey The private key + * @param {number} bitLen The number of bits to be derived + * + * @return {!Promise} + */ +Ecdh.deriveBits = function(pubKey, privKey, bitLen) { + return window.crypto.subtle.deriveBits( + { + name: 'ECDH', + public: pubKey, + }, + privKey, + bitLen + ); +}; + + +/** + * Tests ECDH key derivation. The test case's parameters are passed + * to 'this' variable of the function. + * + * @return {!Promise} + */ +Ecdh.testKeyDerivation = function() { + tc = this; + var sk, pk; + var promise = new Promise(function(resolve, reject){ + Ecdh.importKey(tc.curveName, tc.privKeyData, ['deriveBits']).then(function(key){ + sk = key; + Ecdh.importKey(tc.curveName, tc.pubKeyData, []).then(function(key){ + pk = key; + Ecdh.deriveBits(pk, sk, tc.sharedKeyLen).then(function(sharedKey){ + if (tc.result == 'invalid') { + reject('Failed on test case ' + tc.id); + } + var hexSharedKey = TestUtil.arrayBufferToHex(sharedKey); + if (hexSharedKey != tc.sharedKey) { + reject('Failed on test case ' + tc.id); + } + resolve(); + }).catch(function(err) { + // don't expect any exception in signature verification + reject('Unexpected exception on test case ' + tc.id + ": " + err); + }); + }).catch(function(err) { + reject('Failed to import public key: ' + err); + }); + }).catch(function(err) { + reject('Failed to import private key: ' + err); + }); + }); + return promise; +}; + +/** + * Parameters of a ECDH key derivation test. + * @param {!number} id Test case's id + * @param {!string} curveName The name of the elliptic curve + * @param {!JSONObject} privKeyData The private key's data in JWK format + * @param {!JSONObject} pubKeyData The public key's data in JWK format + * @param {!string} sharedKey The expected shared key + * @param {!string} result The expected result of the test case + */ +var EcdhTestCase = function(id, curveName, privKeyData, pubKeyData, sharedKey, result) { + this.id = id; + this.curveName = curveName; + this.privKeyData = privKeyData; + this.pubKeyData = pubKeyData; + this.sharedKey = sharedKey; + this.sharedKeyLen = sharedKey.length/2*8; + this.result = result; +}; + +/** + * Tests ECDH key derivation with a number of test vectors. + * + * @return {!Promise} + */ +function testEcdhVectors() { + var tv = TestUtil.readJsonTestVectorsFromFile(ECDH_VECTOR_FILE); + var testCase = new goog.testing.TestCase(); + for (var i = 0; i < tv['testGroups'].length; i++) { + tg = tv['testGroups'][i]; + for (var j = 0; j < tg['tests'].length; j++) { + tc = tg['tests'][j]; + var test = new EcdhTestCase(tc['tcId'], tc['curve'], tc['private'], tc['public'], + tc['shared'], tc['result']); + testCase.addNewTest(tc['tcId'], Ecdh.testKeyDerivation, test); + } + } + return testCase.runTestsReturningPromise().then(TestUtil.checkTestCaseResult); +} diff --git a/javascript/webcryptoapi/testcases/EcdsaTest.js b/javascript/webcryptoapi/testcases/EcdsaTest.js new file mode 100644 index 0000000..b9bf44b --- /dev/null +++ b/javascript/webcryptoapi/testcases/EcdsaTest.js @@ -0,0 +1,378 @@ +/** + * @license + * Copyright 2017 Google Inc. All rights reserved. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +/** + * Tests for ECDSA implementations of Web Crypto API. + */ +goog.provide('wycheproof.webcryptoapi.ECDSA'); +goog.require('e2e.ecc.Ecdsa'); +goog.require('goog.testing.TestCase'); +goog.require('goog.testing.asserts'); +goog.require('goog.testing.jsunit'); +goog.require('wycheproof.BigInteger'); +goog.require('wycheproof.EcUtil'); +goog.require('wycheproof.TestUtil'); +goog.require('wycheproof.webcryptoapi.HashUtil'); + +var TestUtil = wycheproof.TestUtil; +var EcUtil = wycheproof.EcUtil; +var BigInteger = wycheproof.BigInteger; +var HashUtil = wycheproof.webcryptoapi.HashUtil; + +// Test vector files +var ECDSA_VECTOR_FILE = '../../testvectors/ecdsa_webcrypto_test.json'; + +/** ECDSA wrapper */ +var Ecdsa = function() {}; + +/** + * Verifies the given signature using the given ECDSA public key. + * @param {!CryptoKey} pk The ECDSA public key + * @param {!string} hashAlg The hash algorithm + * @param {!ArrayBuffer} msg The message to be verified + * @param {!ArrayBuffer} sig The signature to be verified + * + * @return {!Promise} + */ +Ecdsa.verify = function(pk, hashAlg, msg, sig) { + return crypto.subtle.verify( + { + name: 'ECDSA', + hash: {name: hashAlg} + }, + pk, + sig, + msg + ); +}; + +/** + * Signs a message using the given ECDSA private key and hash algorithm. + * @param {!CryptoKey} sk The ECDSA private key + * @param {!ArrayBuffer} msg The message to be signed + * @param {!string} hashAlg The hash algorithm + * + * @return {!Promise} + */ +Ecdsa.sign = function(sk, msg, hashAlg) { + return crypto.subtle.sign( + { + name: 'ECDSA', + hash: {name: hashAlg}, + }, + sk, + msg + ); +}; + + +/** + * Imports a ECDSA public key. + * @param {!JSONObject} keyData The key data in JWK format + * @param {!string} hashAlg The hash algorithm + * @param {!Array} usages The usages of the key + * + * @return {!Promise} + */ +Ecdsa.importPublicKey = function(keyData, hashAlg, usages) { + return crypto.subtle.importKey( + 'jwk', + keyData, + { + name: 'ECDSA', + namedCurve: keyData['crv'], + hash: {name: hashAlg} + }, + true, + usages + ); +}; + +/** + * Exports the given ECDSA key as a JSON object. + * @param {!CryptoKey} key The ECDSA key to be exported + * + * @return {!Promise} + */ +Ecdsa.exportKey = function(key) { + return crypto.subtle.exportKey('jwk', key); +}; + +/** + * Generates an ECDSA key pair using the given hash algorithm and curve name. + * @param {!string} hashAlg The hash algorithm + * @param {!string} curveName The curve name + * + * @return {!Promise} + */ +Ecdsa.generateKey = function(hashAlg, curveName) { + return crypto.subtle.generateKey( + { + name: 'ECDSA', + namedCurve: curveName, + }, + true, + ['sign', 'verify'] + ); +}; + + +/** + * Tests ECDSA signature verification. The test case's parameters are passed + * to 'this' variable of the function. + * + * @return {!Promise} + */ +Ecdsa.testVerify = function() { + tc = this; + var promise = new Promise((resolve, reject) => { + Ecdsa.importPublicKey(tc.keyData, tc.hashAlg, ['verify']).then(function(pk){ + Ecdsa.verify(pk, tc.hashAlg, tc.msg, tc.sig).then(function(isValid){ + if ((tc.result == 'valid' && !isValid) || + (tc.result == 'invalid' && isValid)) { + reject('Failed in test case ' + tc.id); + } + resolve(); + }).catch(function(err){ + // don't expect any exception in signature verification + reject('Unexpected exception on test case ' + tc.id + ": " + err); + }); + }).catch(function(err){ + reject('Failed to import key in test case ' + tc.id + ': ' + err); + }); + }); + return promise; +}; + + +/** + * Parameters of a ECDSA signature verification test. + * @param {!number} id Test case's id + * @param {!JSONObject} keyData The key data in JWK format + * @param {!string} hashAlg The hash algorithm + * @param {!ArrayBuffer} msg The message that was signed + * @param {!ArrayBuffer} sig The signature to be verified + * @param {!string} result The expected result of the test case + */ +var EcdsaVerifyTestCase = function(id, keyData, hashAlg, msg, sig, result) { + this.id = id; + this.keyData = keyData; + this.msg = msg; + this.sig = sig; + this.result = result; + this.hashAlg = hashAlg; +}; + + +/** + * Tests ECDSA signature implementation with a number of test vectors. + * + * @return {!Promise} + */ +function testEcdsaVectors() { + var tv = TestUtil.readJsonTestVectorsFromFile(ECDSA_VECTOR_FILE); + var testCase = new goog.testing.TestCase(); + + for (var i = 0; i < tv['testGroups'].length; i++) { + var tg = tv['testGroups'][i]; + var keyData = tg['jwk']; + var curveName = keyData['crv']; + var hashAlg = tg['sha']; + if (SUPPORTED['ecdsa-curve'].indexOf(curveName) == -1 + || SUPPORTED['hash'].indexOf(hashAlg) == -1) { + continue; + } + for (var j = 0; j < tg['tests'].length; j++) { + var tc = tg['tests'][j]; + var tcId = tc['tcId']; + var result = tc['result']; + var msg = TestUtil.hexToArrayBuffer(tc['message']); + var sig = TestUtil.hexToArrayBuffer(tc['sig']); + var test = new EcdsaVerifyTestCase( + tcId, keyData, hashAlg, msg, sig, result); + testCase.addNewTest('Test ' + tcId, Ecdsa.testVerify, test); + } + } + return testCase.runTestsReturningPromise().then(TestUtil.checkTestCaseResult); +} + +/** + * Extracts 'r' and 's' values from the given signature. The function assumes + * that the given signature is the concatenation of 'r' and 's'. + * @param {!ArrayBuffer} sig The signature + * + * @return {!Array} + */ +Ecdsa.extractSig = function(sig) { + var bytes = new Uint8Array(sig); + var byteLen = bytes.length; + var rBytes = bytes.subarray(0, byteLen/2); + var r = new BigInteger(rBytes); + var sBytes = bytes.subarray(byteLen/2, byteLen); + var s = new BigInteger(sBytes); + return [r, s]; +}; + +/** + * Extracts the random nonce that was used to calculate the given signature. + * @param {!wycheproof.BigInteger} h The digest of the message + * @param {!wycheproof.BigInteger} r The 'r' value of the signature + * @param {!wycheproof.BigInteger} s The 's' value of the signature + * @param {!wycheproof.BigInteger} d The private component of the ECDSA key + * @param {!NistCurveSpec} curveSpec The specifications of the used curve + * + * @return {!wycheproof.BigInteger} + */ +Ecdsa.extractNonce = function(h, r, s, d, curveSpec) { + var n = curveSpec.n; + var k = d.multiply(r).add(h).multiply(n.modInverse(s)).mod(n); + return k; +}; + +/** + * Checks whether the given nonce was actually used during the signing process + * of the given signature. + * @param {!ArrayBuffer} msg The message that was signed + * @param {!wycheproof.BigInteger} r The 'r' value of the signature + * @param {!wycheproof.BigInteger} s The 's' value of the signature + * @param {!wycheproof.BigInteger} d The private component of the ECDSA key + * @param {!wycheproof.BigInteger} k The nonce that needs to be checked + * @param {!string} curveName The curve name + */ +Ecdsa.checkNonceCorrectness = function(msg, r, s, d, k, curveName) { + var e2eCurveMap = { + 'P-256': 'P_256', + 'P-384': 'P_384', + 'P-521': 'P_521', + }; + var e2eCurveName = e2eCurveMap[curveName]; + var key = new e2e.ecc.Ecdsa(e2eCurveName, + {privKey: d.toByteArray()}); + var msgBytes = new Uint8Array(msg); + var calSig = key.signForTestingOnly(msgBytes, k); + var calR = new BigInteger(calSig['r']); + var calS = new BigInteger(calSig['s']); + assertTrue('Nonce calculation was incorrect', + r.isEqual(calR) && s.isEqual(calS)); +}; + +/** + * Tests whether there is bias in the nonce generation during + * ECDSA signing process. The test case's parameters are passed + * to 'this' variable of the function. The test is based on the fact that + * if we throw a fair coin nTests times then the probability that + * either heads or tails appears less than minCount is less than 2^{-32}. + * Therefore the test below is not expected to fail unless the generation + * of the one time keys is indeed biased. + * + * NOTE: This test only works correctly if the length of the output of the + * hash function is equal to the bit length of the curve order. + * + * @return {!Promise} + */ +Ecdsa.testBias = function() { + var tc = this; + var nDone = 0; + var countLsb = 0; + var countMsb = 0; + var promise = new Promise(function(resolve, reject){ + for (var i = 0; i < tc.nTests; i++) { + Ecdsa.generateKey(tc.hashAlg, tc.curveName).then(function(key){ + Ecdsa.exportKey(key.privateKey).then(function(keyData){ + Ecdsa.sign(key.privateKey, tc.msg, tc.hashAlg).then(function(sig){ + HashUtil.digest(tc.hashAlg, tc.msg).then(function(digest){ + var curveSpec = EcUtil.getCurveSpec(tc.curveName); + var h = new BigInteger(new Uint8Array(digest)); + // private key value + var d = BigInteger.fromHex(TestUtil.base64UrlToHex(keyData['d'])); + var r, s; + [r, s] = Ecdsa.extractSig(sig); + var k = Ecdsa.extractNonce(h, r, s, d, curveSpec); + // Uncomment this line to check correctness of nonce calculation + // Ecdsa.checkNonceCorrectness(tc.msg, r, s, d, k, tc.curveName); + var halfN = curveSpec.n.shiftRight(1); + if (k.isBitSet(0)) countLsb += 1; + if (k.compare(halfN) == 1) countMsb += 1; + + nDone += 1; + if (nDone == tc.nTests) { + if (countLsb < tc.minCount || countLsb > tc.nTests-tc.minCount) { + reject("Bias detected in the LSB of k" + + ", hash: " + tc.hashAlg + ", curve: " + tc.curveName + + ", countLSB: " + countLsb + ", countMSB: " + countMsb); + } + if (countMsb < tc.minCount || countMsb > tc.nTests-tc.minCount) { + reject("Bias detected in the MSB of k" + + ", hash: " + tc.hashAlg + ", curve: " + tc.curveName + + ", countLSB: " + countLsb + ", countMSB: " + countMsb); + } + resolve(); + } + }); + }).catch(function(err){ + reject('Failed to sign: ' + err); + }); + }).catch(function(err){ + reject('Failed to export private key: ' + err); + }); + }).catch(function(err){ + reject('Failed to generate key: ' + err); + }); + } + }); + return promise; +}; + +/** + * Parameters of a ECDSA bias test. + * @param {!string} hashAlg The hash algorithm + * @param {!string} curveName The curve name + * @param {!ArrayBuffer} msg The message that was signed + * @param {!number} nTests The number of key to be generated + * @param {!number} minCount + * The expected number of times that a bit of the nonce should be 1 or 0 + */ +var EcdsaBiasTestCase = function(hashAlg, curveName, msg, nTests, minCount) { + this.msg = msg; + this.hashAlg = hashAlg; + this.curveName = curveName; + this.nTests = nTests; + this.minCount = minCount; +}; + +/** + * Tests whether there is bias in the nonce generation during + * ECDSA signing process. It considers three curves: secp256r1, secp384r1, + * and secp521r1. + * + * @return {!Promise} + */ +function testEcdsaBiasAll() { + var testCase = new goog.testing.TestCase(); + testCase.promiseTimeout = 120*1000; + var msg = TestUtil.hexToArrayBuffer('48656c6c6f'); // msg = 'Hello' + var nTests = 1024; + var minCount = 410; + var biasTest256 = new EcdsaBiasTestCase('SHA-256', 'P-256', msg, nTests, minCount); + testCase.addNewTest('bias256', Ecdsa.testBias, biasTest256); + var biasTest384 = new EcdsaBiasTestCase('SHA-384', 'P-384', msg, nTests, minCount); + testCase.addNewTest('bias384', Ecdsa.testBias, biasTest384); + var biasTest521 = new EcdsaBiasTestCase('SHA-512', 'P-521', msg, nTests, minCount); + testCase.addNewTest('bias521', Ecdsa.testBias, biasTest521); + return testCase.runTestsReturningPromise() + .then(wycheproof.TestUtil.checkTestCaseResult); +} + diff --git a/javascript/webcryptoapi/testcases/RsaOaedTest.js b/javascript/webcryptoapi/testcases/RsaOaedTest.js new file mode 100644 index 0000000..2744575 --- /dev/null +++ b/javascript/webcryptoapi/testcases/RsaOaedTest.js @@ -0,0 +1,106 @@ +/** + * @license + * Copyright 2017 Google Inc. All rights reserved. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +/** + * Tests for RSA-OAEP encryption implementations of Web Crypto API. + */ +goog.provide('wycheproof.webcryptoapi.RSA-OAED'); +goog.require('e2e.random'); +goog.require('goog.testing.asserts'); +goog.require('goog.testing.jsunit'); +goog.require('wycheproof.TestUtil'); +goog.require('wycheproof.webcryptoapi.RsaUtil'); + +var RsaUtil = wycheproof.webcryptoapi.RsaUtil; +var TestUtil = wycheproof.TestUtil; + +/** + * Tries decrypting random messages with a given algorithm. Counts the number of distinct error + * messages and expects this number to be 1. + * + *

References: + * + *

+ * + *

Some recent bugs: CVE-2012-5081: Java JSSE provider leaked information through + * exceptions and timing. Both the PKCS #1 padding and the OAEP padding were broken: + * http://www-brs.ub.ruhr-uni-bochum.de/netahtml/HSS/Diss/MeyerChristopher/diss.pdf + * + *

What this test does not (yet) cover: + * + *

+ * + * @return {!Promise} + */ +function testRsaEncryptionException() { + var promise = new Promise(function(resolve, reject){ + var scheme = RsaUtil.RSA_OAEP; + var keySize = 1024; + var e = RsaUtil.E_65537; + var hashAlg = 'SHA-256'; + var usages = ['encrypt', 'decrypt']; + var ctLen = keySize/8; + var nTest = 1000; + var nDone = 0; + var exceptions = new Set(); + RsaUtil.generateKey(scheme, keySize, e, hashAlg, usages).then(function(key) { + for (var i = 0; i < nTest; i++) { + var ct = new Uint8Array(e2e.random.getRandomBytes(ctLen)).buffer; + RsaUtil.decrypt(scheme, key.privateKey, ct).then(function(pt){ + reject('RSA-OAEP decryption should not succeed on random bytes'); + }).catch(function(err){ + exceptions.add(err.name + ': ' + err.message); + nDone += 1; + if (nDone == nTest) { + if (exceptions.size > 1) { + var msg = 'Exceptions leak information about the padding for ' + scheme + '\n'; + exceptions.forEach(function(e) { + msg += e; + }); + reject(msg); + } + resolve(); + } + }); + } + }).catch(function(err){ + reject('Failed to generate key: ' + err); + }); + }); + return promise; +} diff --git a/javascript/webcryptoapi/testcases/RsaSsaPkcs1Test.js b/javascript/webcryptoapi/testcases/RsaSsaPkcs1Test.js new file mode 100644 index 0000000..6aafef0 --- /dev/null +++ b/javascript/webcryptoapi/testcases/RsaSsaPkcs1Test.js @@ -0,0 +1,71 @@ +/** + * @license + * Copyright 2017 Google Inc. All rights reserved. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +/** + * Tests for RSASSA-PKCS1-v1_5 signature implementations of Web Crypto APIs. + */ +goog.provide('wycheproof.webcryptoapi.RSASSA-PKCS1-V1_5'); +goog.require('goog.testing.TestCase'); +goog.require('goog.testing.asserts'); +goog.require('goog.testing.jsunit'); +goog.require('wycheproof.BigInteger'); +goog.require('wycheproof.TestUtil'); +goog.require('wycheproof.webcryptoapi.HashUtil'); +goog.require('wycheproof.webcryptoapi.RsaUtil'); + +var TestUtil = wycheproof.TestUtil; +var RsaUtil = wycheproof.webcryptoapi.RsaUtil; +var HashUtil = wycheproof.webcryptoapi.HashUtil; +var BigInteger = wycheproof.BigInteger; +// Test vector file +var RSASSA_PKCS1_SIGNATURE_VECTOR_FILE + = '../../testvectors/rsa_signature_test.json'; + +/** + * Tests RSASSA-PKCS1-v1_5 signature implementation with a number of vectors. + * + * @return {!Promise} + */ +function testRsaSsaPkcs1Vectors() { + var tv = TestUtil.readJsonTestVectorsFromFile( + RSASSA_PKCS1_SIGNATURE_VECTOR_FILE); + var testCase = new goog.testing.TestCase(); + + for (var i = 0; i < tv['testGroups'].length; i++) { + var tg = tv['testGroups'][i]; + var e = BigInteger.fromHex(tg['e']).toBase64Url(); + var n = BigInteger.fromHex(tg['n']).toBase64Url(); + var hashAlg = tg['sha']; + if (SUPPORTED['hash'].indexOf(hashAlg) == -1) { + continue; + } + for (var j = 0; j < tg['tests'].length; j++) { + var tc = tg['tests'][j]; + var msg = BigInteger.fromHex(tc['message']).toArrayBuffer(); + var sig = TestUtil.hexToArrayBuffer(tc['sig']); + var result = tc['result']; + var tcId = tc['tcId']; + + // Creates new Test Case object + var test = new RsaUtil.RsaSignatureTestCase(tcId, e, n, hashAlg, + RsaUtil.RSASSA_PKCS1, msg, sig, result); + testCase.addNewTest('Test case ' + tcId, RsaUtil.testVerification, test); + } + } + + return testCase.runTestsReturningPromise().then(TestUtil.checkTestCaseResult); +} + diff --git a/testvectors/BUILD b/testvectors/BUILD new file mode 100644 index 0000000..407f519 --- /dev/null +++ b/testvectors/BUILD @@ -0,0 +1,43 @@ +package(default_visibility = ["//visibility:public"]) + +licenses(["notice"]) # Apache 2.0 + +filegroup( + name = "all", + srcs = glob(["**"]), +) + +filegroup( + name = "aes_gcm_siv", + srcs = ["aes_gcm_siv_test.json"], +) + +filegroup( + name = "aes_gcm", + srcs = ["aes_gcm_test.json"], +) + +filegroup( + name = "dsa", + srcs = ["dsa_test.json"], +) + +filegroup( + name = "ecdsa", + srcs = ["ecdsa_test.json"], +) + +filegroup( + name = "rsa_signature", + srcs = ["rsa_signature_test.json"], +) + +filegroup( + name = "ecdsa_webcrypto", + srcs = ["ecdsa_webcrypto_test.json"], +) + +filegroup( + name = "ecdh_webcrypto", + srcs = ["ecdh_webcrypto_test.json"], +) diff --git a/testvectors/aes_gcm_siv_test.json b/testvectors/aes_gcm_siv_test.json new file mode 100644 index 0000000..e1dad30 --- /dev/null +++ b/testvectors/aes_gcm_siv_test.json @@ -0,0 +1,1431 @@ +{ + "algorithm" : "AES-GCM-SIV", + "generatorVersion" : "0.0a10", + "numberOfTests" : 128, + "testGroups" : [ + { + "ivSize" : 96, + "keySize" : 128, + "tagSize" : 128, + "type" : "AES-GCM-SIV", + "tests" : [ + { + "aad" : "6578616d706c65", + "comment" : "", + "ct" : "5d349ead175ef6b1def6fd", + "iv" : "752abad3e0afb5f434dc4310", + "key" : "ee8e1ed9ff2540ae8f2ba9f50bc2f27c", + "msg" : "48656c6c6f20776f726c64", + "result" : "valid", + "tag" : "4fbcdeb7e4793f4a1d7e4faa70100af1", + "tcId" : 1 + }, + { + "aad" : "", + "comment" : "", + "ct" : "", + "iv" : "c5ec7f6a7c1cbb9f096c23e1", + "key" : "69655ffc8574268d7d764b4c8e2d1cfc", + "msg" : "", + "result" : "valid", + "tag" : "e855e2cf110185ea42e0beb810921e97", + "tcId" : 2 + }, + { + "aad" : "", + "comment" : "", + "ct" : "ea", + "iv" : "9e55f9806586e2ad5f2100c7", + "key" : "3977dbb36e67db044c342c7de5cdb78e", + "msg" : "59", + "result" : "valid", + "tag" : "295797ed70f68ed0ca6c90295b978979", + "tcId" : 3 + }, + { + "aad" : "", + "comment" : "", + "ct" : "f4fedc2284ed6cf3", + "iv" : "5e978ed61a747a8e0c653431", + "key" : "c4c8657b1201062551606b589fc0885d", + "msg" : "653577646d6c7148", + "result" : "valid", + "tag" : "269970ff0864c326cc4519fd583de2c8", + "tcId" : 4 + }, + { + "aad" : "", + "comment" : "", + "ct" : "c1ecb6458ac376b23a32cf1baaf91b", + "iv" : "e31b8280fb20c635d216e60c", + "key" : "3cfbf6110add49378c55c0e6d4903102", + "msg" : "5346403f3d4365494b5d6b4e4c794a", + "result" : "valid", + "tag" : "337875589ca645b7a8f0ae2e1aaa8507", + "tcId" : 5 + }, + { + "aad" : "", + "comment" : "", + "ct" : "e73e5a36553a1c2cd7ff14567931017f", + "iv" : "8b771b6b3a6716145c4d5add", + "key" : "a30610fe260dbaca5fd028560cca3ee0", + "msg" : "3c76715f5f5b3138634d5f405a473679", + "result" : "valid", + "tag" : "4a88ede73ced48273cf403fd7637075d", + "tcId" : 6 + }, + { + "aad" : "", + "comment" : "", + "ct" : "8e1f2a43a7bd58f0eab84bf4dbef44dbb5", + "iv" : "2ed716c8602f11b08acfc3bd", + "key" : "dfbcf5d0f7e4d071ff7d1e5a7355b251", + "msg" : "556d40364b60466343336d52345255606c", + "result" : "valid", + "tag" : "89ef881c8c3ba57dcb6fc668e1b9d5c7", + "tcId" : 7 + }, + { + "aad" : "", + "comment" : "", + "ct" : "3f74af6ca9dbe1a78cae83dfd0674fc4fb958bf568ff6feb", + "iv" : "7716ac321323329c1bb010bc", + "key" : "6076c8fb6b7e2aeea0f3071a568a242e", + "msg" : "427439504762616b495c36787048465176597854586a5941", + "result" : "valid", + "tag" : "f15059f4f4bda71a208f9509ce9ed193", + "tcId" : 8 + }, + { + "aad" : "", + "comment" : "", + "ct" : "a8cf3650ce082504335c8ce4f57fbb13c51f1f77710d237e252b3249126e913f", + "iv" : "a4f0c301976eead863aac740", + "key" : "ae97979b0047f5c68673760d78d2f53e", + "msg" : "5c3344455a75415b6b4668683a5837414a444f52343f653e5e3c733068463e35", + "result" : "valid", + "tag" : "88634665e6b193de3aef8cc9c3ed814b", + "tcId" : 9 + }, + { + "aad" : "2b", + "comment" : "", + "ct" : "932f343841411f009773888d2cd24583", + "iv" : "446563580eb9c5a0a1b66c6b", + "key" : "d54558ef9024c7ed12080261f4fed8fb", + "msg" : "4e4e79543451606d493a473e3c674f56", + "result" : "valid", + "tag" : "0be20b2bd425a221f618ed571069f56f", + "tcId" : 10 + }, + { + "aad" : "1082", + "comment" : "", + "ct" : "5e63cd21e21b7da7a4a2e169b84aa132", + "iv" : "fdd2af08930557eba77076ca", + "key" : "f78537a556996614b520a596fdb4e0af", + "msg" : "4467475e644c4e3d35743b33484a7358", + "result" : "valid", + "tag" : "b8bf4694d2aaa98379d6b2775ec2ec16", + "tcId" : 11 + }, + { + "aad" : "030ff0e9189b895ee2c4f2215d266d", + "comment" : "", + "ct" : "f9c413d5fa8459ef04beecd90ecdc0e6", + "iv" : "5e8fe87d4d2b9b4fe294ea64", + "key" : "af185901b8558d40f365716a0d23626d", + "msg" : "535d4e463d4f58754b4c397738476372", + "result" : "valid", + "tag" : "d23da7d3594d4d417126ef761491eeab", + "tcId" : 12 + }, + { + "aad" : "32b173706d160cc03e610b791fef3303", + "comment" : "", + "ct" : "287ff87726d053fa4058082435396c76", + "iv" : "10b00d5fded7b0c6c5de371d", + "key" : "31197ec97f79f44b26473e8d5d52fecd", + "msg" : "76737136663d4b513841314a3f41586a", + "result" : "valid", + "tag" : "2de8405f59cc7db9f785a71fe500036b", + "tcId" : 13 + }, + { + "aad" : "1c386537359aa2d50c83f154b95c1f1c8e", + "comment" : "", + "ct" : "9cc7feea41e5dfdb4c97ddc318e8f312", + "iv" : "07c68e0553bd5a51bf9139fe", + "key" : "aba997f14a6df3f7e4f951c82ab65903", + "msg" : "4464596d5d4c3e393c495b666d756a6f", + "result" : "valid", + "tag" : "ef00dff577c25b4b95b8bf1701a81878", + "tcId" : 14 + }, + { + "aad" : "c3dd833a6ac7aae9d2e11d2e3e5a3497f2cae8e98b79fe5c1eb48d10d32584a5", + "comment" : "", + "ct" : "2cd917ed53b243b9ede4e4295482b19e", + "iv" : "2cbdfff62f3f97e521bc3a42", + "key" : "ebc9e72612e0457716acfd99e7db9575", + "msg" : "5e5b4b685d515954653737746758306c", + "result" : "valid", + "tag" : "dd8cb3cdc2c9c74b6a93a3b3fd2cdf5b", + "tcId" : 15 + }, + { + "aad" : "", + "comment" : "draft-irtf-cfrg-gcmsiv-05", + "ct" : "", + "iv" : "030000000000000000000000", + "key" : "01000000000000000000000000000000", + "msg" : "", + "result" : "valid", + "tag" : "dc20e2d83f25705bb49e439eca56de25", + "tcId" : 16 + }, + { + "aad" : "", + "comment" : "draft-irtf-cfrg-gcmsiv-05", + "ct" : "b5d839330ac7b786", + "iv" : "030000000000000000000000", + "key" : "01000000000000000000000000000000", + "msg" : "0100000000000000", + "result" : "valid", + "tag" : "578782fff6013b815b287c22493a364c", + "tcId" : 17 + }, + { + "aad" : "", + "comment" : "draft-irtf-cfrg-gcmsiv-05", + "ct" : "7323ea61d05932260047d942", + "iv" : "030000000000000000000000", + "key" : "01000000000000000000000000000000", + "msg" : "010000000000000000000000", + "result" : "valid", + "tag" : "a4978db357391a0bc4fdec8b0d106639", + "tcId" : 18 + }, + { + "aad" : "", + "comment" : "draft-irtf-cfrg-gcmsiv-05", + "ct" : "743f7c8077ab25f8624e2e948579cf77", + "iv" : "030000000000000000000000", + "key" : "01000000000000000000000000000000", + "msg" : "01000000000000000000000000000000", + "result" : "valid", + "tag" : "303aaf90f6fe21199c6068577437a0c4", + "tcId" : 19 + }, + { + "aad" : "", + "comment" : "draft-irtf-cfrg-gcmsiv-05", + "ct" : "84e07e62ba83a6585417245d7ec413a9fe427d6315c09b57ce45f2e3936a9445", + "iv" : "030000000000000000000000", + "key" : "01000000000000000000000000000000", + "msg" : "0100000000000000000000000000000002000000000000000000000000000000", + "result" : "valid", + "tag" : "1a8e45dcd4578c667cd86847bf6155ff", + "tcId" : 20 + }, + { + "aad" : "", + "comment" : "draft-irtf-cfrg-gcmsiv-05", + "ct" : "3fd24ce1f5a67b75bf2351f181a475c7b800a5b4d3dcf70106b1eea82fa1d64df42bf7226122fa92e17a40eeaac1201b", + "iv" : "030000000000000000000000", + "key" : "01000000000000000000000000000000", + "msg" : "010000000000000000000000000000000200000000000000000000000000000003000000000000000000000000000000", + "result" : "valid", + "tag" : "5e6e311dbf395d35b0fe39c2714388f8", + "tcId" : 21 + }, + { + "aad" : "", + "comment" : "draft-irtf-cfrg-gcmsiv-05", + "ct" : "2433668f1058190f6d43e360f4f35cd8e475127cfca7028ea8ab5c20f7ab2af02516a2bdcbc08d521be37ff28c152bba36697f25b4cd169c6590d1dd39566d3f", + "iv" : "030000000000000000000000", + "key" : "01000000000000000000000000000000", + "msg" : "01000000000000000000000000000000020000000000000000000000000000000300000000000000000000000000000004000000000000000000000000000000", + "result" : "valid", + "tag" : "8a263dd317aa88d56bdf3936dba75bb8", + "tcId" : 22 + }, + { + "aad" : "01", + "comment" : "draft-irtf-cfrg-gcmsiv-05", + "ct" : "1e6daba35669f427", + "iv" : "030000000000000000000000", + "key" : "01000000000000000000000000000000", + "msg" : "0200000000000000", + "result" : "valid", + "tag" : "3b0a1a2560969cdf790d99759abd1508", + "tcId" : 23 + }, + { + "aad" : "01", + "comment" : "draft-irtf-cfrg-gcmsiv-05", + "ct" : "296c7889fd99f41917f44620", + "iv" : "030000000000000000000000", + "key" : "01000000000000000000000000000000", + "msg" : "020000000000000000000000", + "result" : "valid", + "tag" : "08299c5102745aaa3a0c469fad9e075a", + "tcId" : 24 + }, + { + "aad" : "01", + "comment" : "draft-irtf-cfrg-gcmsiv-05", + "ct" : "e2b0c5da79a901c1745f700525cb335b", + "iv" : "030000000000000000000000", + "key" : "01000000000000000000000000000000", + "msg" : "02000000000000000000000000000000", + "result" : "valid", + "tag" : "8f8936ec039e4e4bb97ebd8c4457441f", + "tcId" : 25 + }, + { + "aad" : "01", + "comment" : "draft-irtf-cfrg-gcmsiv-05", + "ct" : "620048ef3c1e73e57e02bb8562c416a319e73e4caac8e96a1ecb2933145a1d71", + "iv" : "030000000000000000000000", + "key" : "01000000000000000000000000000000", + "msg" : "0200000000000000000000000000000003000000000000000000000000000000", + "result" : "valid", + "tag" : "e6af6a7f87287da059a71684ed3498e1", + "tcId" : 26 + }, + { + "aad" : "01", + "comment" : "draft-irtf-cfrg-gcmsiv-05", + "ct" : "50c8303ea93925d64090d07bd109dfd9515a5a33431019c17d93465999a8b0053201d723120a8562b838cdff25bf9d1e", + "iv" : "030000000000000000000000", + "key" : "01000000000000000000000000000000", + "msg" : "020000000000000000000000000000000300000000000000000000000000000004000000000000000000000000000000", + "result" : "valid", + "tag" : "6a8cc3865f76897c2e4b245cf31c51f2", + "tcId" : 27 + }, + { + "aad" : "01", + "comment" : "draft-irtf-cfrg-gcmsiv-05", + "ct" : "2f5c64059db55ee0fb847ed513003746aca4e61c711b5de2e7a77ffd02da42feec601910d3467bb8b36ebbaebce5fba30d36c95f48a3e7980f0e7ac299332a80", + "iv" : "030000000000000000000000", + "key" : "01000000000000000000000000000000", + "msg" : "02000000000000000000000000000000030000000000000000000000000000000400000000000000000000000000000005000000000000000000000000000000", + "result" : "valid", + "tag" : "cdc46ae475563de037001ef84ae21744", + "tcId" : 28 + }, + { + "aad" : "010000000000000000000000", + "comment" : "draft-irtf-cfrg-gcmsiv-05", + "ct" : "a8fe3e87", + "iv" : "030000000000000000000000", + "key" : "01000000000000000000000000000000", + "msg" : "02000000", + "result" : "valid", + "tag" : "07eb1f84fb28f8cb73de8e99e2f48a14", + "tcId" : 29 + }, + { + "aad" : "010000000000000000000000000000000200", + "comment" : "draft-irtf-cfrg-gcmsiv-05", + "ct" : "6bb0fecf5ded9b77f902c7d5da236a4391dd0297", + "iv" : "030000000000000000000000", + "key" : "01000000000000000000000000000000", + "msg" : "0300000000000000000000000000000004000000", + "result" : "valid", + "tag" : "24afc9805e976f451e6d87f6fe106514", + "tcId" : 30 + }, + { + "aad" : "0100000000000000000000000000000002000000", + "comment" : "draft-irtf-cfrg-gcmsiv-05", + "ct" : "44d0aaf6fb2f1f34add5e8064e83e12a2ada", + "iv" : "030000000000000000000000", + "key" : "01000000000000000000000000000000", + "msg" : "030000000000000000000000000000000400", + "result" : "valid", + "tag" : "bff9b2ef00fb47920cc72a0c0f13b9fd", + "tcId" : 31 + }, + { + "aad" : "395f4091b410c373073bcdc79e02d3af", + "comment" : "Testing for ctr overflow", + "ct" : "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "iv" : "010101010101010101010101", + "key" : "00112233445566778899aabbccddeeff", + "msg" : "43488548d88e6f774bcd2d52c18fbcc933a4e9a9613ff3edbe959ec59522adc098b3133b8d17b9e9dad631ad33752c95", + "result" : "valid", + "tag" : "00000000000000000000000000000000", + "tcId" : 32 + }, + { + "aad" : "616b2dff4d665e5f7ab890723dd981b1", + "comment" : "Testing for ctr overflow", + "ct" : "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "iv" : "000000000000000000000000", + "key" : "00112233445566778899aabbccddeeff", + "msg" : "f012c6a7eb0e8af5bc45e015e7680a693dc709b95383f6a94babec1bc36e4be3cf4f55a31a94f11c6c3f90eed99682bc", + "result" : "valid", + "tag" : "ffffffffffffffffffffffffffffffff", + "tcId" : 33 + }, + { + "aad" : "387a8997605fd04ae8951c4759087864", + "comment" : "Testing for ctr overflow", + "ct" : "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "iv" : "030303030303030303030303", + "key" : "00112233445566778899aabbccddeeff", + "msg" : "71ceee58179d6fb968521e9594dbf98cc0040f6aa38fe873c32a9b122d6cbfd51aa4778b3f4f37be7348690d97e2468b", + "result" : "valid", + "tag" : "fefffffffefffffffefffffffeffffff", + "tcId" : 34 + }, + { + "aad" : "6783b0d5e9d8a2a7274065797097d1ae", + "comment" : "Testing for ctr overflow", + "ct" : "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "iv" : "060606060606060606060606", + "key" : "00112233445566778899aabbccddeeff", + "msg" : "2e14f9e9a09ea204557367898a80dcad117af3666bea25762b70633a9f3614fbe631ba617c371fd5566d5e613496e69f", + "result" : "valid", + "tag" : "ffffff7f00112233445566778899aabb", + "tcId" : 35 + }, + { + "aad" : "2933810c146f4f7dd146dd43f35199c6", + "comment" : "Testing for ctr overflow", + "ct" : "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "iv" : "010101010101010101010101", + "key" : "00112233445566778899aabbccddeeff", + "msg" : "27fac75879c9d87cd52a0793137ba792f6f145148158eb538f2081e09cd0315986a7025045ecbb2ca1bb18a17bfcd567", + "result" : "valid", + "tag" : "ffffffffffffff7f0011223344556677", + "tcId" : 36 + }, + { + "aad" : "27dd62060507dae87c4f93f391ba15f9", + "comment" : "Flipped bit 0 in tag", + "ct" : "", + "iv" : "000000000000000000000000", + "key" : "00112233445566778899aabbccddeeff", + "msg" : "", + "result" : "invalid", + "tag" : "0987e35e40981a2730c1740c7201731f", + "tcId" : 37 + }, + { + "aad" : "9ea3371e258288d5a01b15384e2c99ee", + "comment" : "Flipped bit 0 in tag", + "ct" : "00000000000000000000000000000000", + "iv" : "000000000000000000000000", + "key" : "00112233445566778899aabbccddeeff", + "msg" : "03c0e39b77bd62d32568f4c86c90bfdb", + "result" : "invalid", + "tag" : "13a1883272188b4c8d2727178198fe95", + "tcId" : 38 + }, + { + "aad" : "ce24e3ec0fe7b8550d621b71fdb5d0eb", + "comment" : "Flipped bit 0 in tag", + "ct" : "0000000000000000", + "iv" : "000000000000000000000000", + "key" : "00112233445566778899aabbccddeeff", + "msg" : "63995888995b338c", + "result" : "invalid", + "tag" : "00000000000000000000000000000000", + "tcId" : 39 + }, + { + "aad" : "1471f354b359c235117febba854a823b", + "comment" : "Flipped bit 7 in tag", + "ct" : "00000000000000000000000000000000", + "iv" : "000000000000000000000000", + "key" : "00112233445566778899aabbccddeeff", + "msg" : "03c0e39b77bd62d32568f4c86c90bfdb", + "result" : "invalid", + "tag" : "13a1883272188b4c8d2727178198fe95", + "tcId" : 40 + }, + { + "aad" : "11f820294fc9d13f1895d2fb5509913b", + "comment" : "Flipped bit 7 in tag", + "ct" : "0000000000000000", + "iv" : "000000000000000000000000", + "key" : "00112233445566778899aabbccddeeff", + "msg" : "63995888995b338c", + "result" : "invalid", + "tag" : "00000000000000000000000000000000", + "tcId" : 41 + }, + { + "aad" : "45e7257b814f09de44177b27b914822f", + "comment" : "Flipped bit 8 in tag", + "ct" : "00000000000000000000000000000000", + "iv" : "000000000000000000000000", + "key" : "00112233445566778899aabbccddeeff", + "msg" : "03c0e39b77bd62d32568f4c86c90bfdb", + "result" : "invalid", + "tag" : "13a1883272188b4c8d2727178198fe95", + "tcId" : 42 + }, + { + "aad" : "4c49780b5438c4a7ea9795b9856fdae1", + "comment" : "Flipped bit 8 in tag", + "ct" : "0000000000000000", + "iv" : "000000000000000000000000", + "key" : "00112233445566778899aabbccddeeff", + "msg" : "63995888995b338c", + "result" : "invalid", + "tag" : "00000000000000000000000000000000", + "tcId" : 43 + }, + { + "aad" : "ecc2f2f4142837a34f9cd1fa030a5d7f", + "comment" : "Flipped bit 8 in tag", + "ct" : "ffffffffffffffff", + "iv" : "000000000000000000000000", + "key" : "00112233445566778899aabbccddeeff", + "msg" : "0fed395814f1750a", + "result" : "invalid", + "tag" : "ffffffffffffffffffffffffffffffff", + "tcId" : 44 + }, + { + "aad" : "69c7f5605da8e0684990b087411f8cf5", + "comment" : "Flipped bit 31 in tag", + "ct" : "0000000000000000", + "iv" : "000000000000000000000000", + "key" : "00112233445566778899aabbccddeeff", + "msg" : "63995888995b338c", + "result" : "invalid", + "tag" : "00000000000000000000000000000000", + "tcId" : 45 + }, + { + "aad" : "20b346be60e7e97588bf504ce707ce0b", + "comment" : "Flipped bit 31 in tag", + "ct" : "ffffffffffffffff", + "iv" : "000000000000000000000000", + "key" : "00112233445566778899aabbccddeeff", + "msg" : "0fed395814f1750a", + "result" : "invalid", + "tag" : "ffffffffffffffffffffffffffffffff", + "tcId" : 46 + }, + { + "aad" : "19b298f3a061a73cb774da927ce11ca2", + "comment" : "Flipped bit 63 in tag", + "ct" : "0000000000000000", + "iv" : "000000000000000000000000", + "key" : "00112233445566778899aabbccddeeff", + "msg" : "63995888995b338c", + "result" : "invalid", + "tag" : "00000000000000000000000000000000", + "tcId" : 47 + }, + { + "aad" : "bff8c631e61c18a050a523ad4a750a20", + "comment" : "Flipped bit 63 in tag", + "ct" : "ffffffffffffffff", + "iv" : "000000000000000000000000", + "key" : "00112233445566778899aabbccddeeff", + "msg" : "0fed395814f1750a", + "result" : "invalid", + "tag" : "ffffffffffffffffffffffffffffffff", + "tcId" : 48 + }, + { + "aad" : "7b6171302b689c926852163e310f08d4", + "comment" : "Flipped bit 64 in tag", + "ct" : "00000000000000000000000000000000", + "iv" : "000000000000000000000000", + "key" : "00112233445566778899aabbccddeeff", + "msg" : "03c0e39b77bd62d32568f4c86c90bfdb", + "result" : "invalid", + "tag" : "13a1883272188b4c8d2727178198fe95", + "tcId" : 49 + }, + { + "aad" : "555036128fa18ecadd090cb772ac0bf3", + "comment" : "Flipped bit 97 in tag", + "ct" : "", + "iv" : "000000000000000000000000", + "key" : "00112233445566778899aabbccddeeff", + "msg" : "", + "result" : "invalid", + "tag" : "0987e35e40981a2730c1740c7201731f", + "tcId" : 50 + }, + { + "aad" : "a5b43b8e1dbb2bfbda1b625fee4064a7", + "comment" : "Flipped bit 97 in tag", + "ct" : "0000000000000000", + "iv" : "000000000000000000000000", + "key" : "00112233445566778899aabbccddeeff", + "msg" : "63995888995b338c", + "result" : "invalid", + "tag" : "00000000000000000000000000000000", + "tcId" : 51 + }, + { + "aad" : "ae47cc5d7681dd480c23469c5519b647", + "comment" : "Flipped bit 120 in tag", + "ct" : "", + "iv" : "000000000000000000000000", + "key" : "00112233445566778899aabbccddeeff", + "msg" : "", + "result" : "invalid", + "tag" : "0987e35e40981a2730c1740c7201731f", + "tcId" : 52 + }, + { + "aad" : "d53dd677184702eaa660f1349195fc04", + "comment" : "Flipped bit 120 in tag", + "ct" : "00000000000000000000000000000000", + "iv" : "000000000000000000000000", + "key" : "00112233445566778899aabbccddeeff", + "msg" : "03c0e39b77bd62d32568f4c86c90bfdb", + "result" : "invalid", + "tag" : "13a1883272188b4c8d2727178198fe95", + "tcId" : 53 + }, + { + "aad" : "dc78584e4599dd4b2fb333db2f9ccb95", + "comment" : "Flipped bit 120 in tag", + "ct" : "ffffffffffffffff", + "iv" : "000000000000000000000000", + "key" : "00112233445566778899aabbccddeeff", + "msg" : "0fed395814f1750a", + "result" : "invalid", + "tag" : "ffffffffffffffffffffffffffffffff", + "tcId" : 54 + }, + { + "aad" : "0bfd9271e79153a8afdb7f3d96fe446f", + "comment" : "Flipped bit 121 in tag", + "ct" : "", + "iv" : "000000000000000000000000", + "key" : "00112233445566778899aabbccddeeff", + "msg" : "", + "result" : "invalid", + "tag" : "0987e35e40981a2730c1740c7201731f", + "tcId" : 55 + }, + { + "aad" : "1e0537a95b7200134d0b440657d50fd1", + "comment" : "Flipped bit 121 in tag", + "ct" : "0000000000000000", + "iv" : "000000000000000000000000", + "key" : "00112233445566778899aabbccddeeff", + "msg" : "63995888995b338c", + "result" : "invalid", + "tag" : "00000000000000000000000000000000", + "tcId" : 56 + }, + { + "aad" : "7633155df35857258d23b0651d60847c", + "comment" : "Flipped bit 121 in tag", + "ct" : "ffffffffffffffff", + "iv" : "000000000000000000000000", + "key" : "00112233445566778899aabbccddeeff", + "msg" : "0fed395814f1750a", + "result" : "invalid", + "tag" : "ffffffffffffffffffffffffffffffff", + "tcId" : 57 + }, + { + "aad" : "ab0a064b473de43598adf81ee297d856", + "comment" : "Flipped bit 126 in tag", + "ct" : "ffffffffffffffff", + "iv" : "000000000000000000000000", + "key" : "00112233445566778899aabbccddeeff", + "msg" : "0fed395814f1750a", + "result" : "invalid", + "tag" : "ffffffffffffffffffffffffffffffff", + "tcId" : 58 + }, + { + "aad" : "f62bdc3f4fcb699ee12f6e87dcc704cb", + "comment" : "Flipped bit 127 in tag", + "ct" : "", + "iv" : "000000000000000000000000", + "key" : "00112233445566778899aabbccddeeff", + "msg" : "", + "result" : "invalid", + "tag" : "0987e35e40981a2730c1740c7201731f", + "tcId" : 59 + }, + { + "aad" : "1320051031807b8f44e9d2cb1ec6aa92", + "comment" : "Flipped bit 127 in tag", + "ct" : "00000000000000000000000000000000", + "iv" : "000000000000000000000000", + "key" : "00112233445566778899aabbccddeeff", + "msg" : "03c0e39b77bd62d32568f4c86c90bfdb", + "result" : "invalid", + "tag" : "13a1883272188b4c8d2727178198fe95", + "tcId" : 60 + }, + { + "aad" : "329b813d3ae2225d3e15f97a28037bcc", + "comment" : "Flipped bit 127 in tag", + "ct" : "0000000000000000", + "iv" : "000000000000000000000000", + "key" : "00112233445566778899aabbccddeeff", + "msg" : "63995888995b338c", + "result" : "invalid", + "tag" : "00000000000000000000000000000000", + "tcId" : 61 + }, + { + "aad" : "edc723bedd0078696acdea005c74b841", + "comment" : "Flipped bit 0..127 in tag", + "ct" : "0000000000000000", + "iv" : "000000000000000000000000", + "key" : "00112233445566778899aabbccddeeff", + "msg" : "63995888995b338c", + "result" : "invalid", + "tag" : "00000000000000000000000000000000", + "tcId" : 62 + } + ] + }, + { + "ivSize" : 96, + "keySize" : 256, + "tagSize" : 128, + "type" : "AES-GCM-SIV", + "tests" : [ + { + "aad" : "", + "comment" : "draft-irtf-cfrg-gcmsiv-05", + "ct" : "", + "iv" : "030000000000000000000000", + "key" : "0100000000000000000000000000000000000000000000000000000000000000", + "msg" : "", + "result" : "valid", + "tag" : "07f5f4169bbf55a8400cd47ea6fd400f", + "tcId" : 63 + }, + { + "aad" : "", + "comment" : "draft-irtf-cfrg-gcmsiv-05", + "ct" : "c2ef328e5c71c83b", + "iv" : "030000000000000000000000", + "key" : "0100000000000000000000000000000000000000000000000000000000000000", + "msg" : "0100000000000000", + "result" : "valid", + "tag" : "843122130f7364b761e0b97427e3df28", + "tcId" : 64 + }, + { + "aad" : "", + "comment" : "draft-irtf-cfrg-gcmsiv-05", + "ct" : "9aab2aeb3faa0a34aea8e2b1", + "iv" : "030000000000000000000000", + "key" : "0100000000000000000000000000000000000000000000000000000000000000", + "msg" : "010000000000000000000000", + "result" : "valid", + "tag" : "8ca50da9ae6559e48fd10f6e5c9ca17e", + "tcId" : 65 + }, + { + "aad" : "", + "comment" : "draft-irtf-cfrg-gcmsiv-05", + "ct" : "85a01b63025ba19b7fd3ddfc033b3e76", + "iv" : "030000000000000000000000", + "key" : "0100000000000000000000000000000000000000000000000000000000000000", + "msg" : "01000000000000000000000000000000", + "result" : "valid", + "tag" : "c9eac6fa700942702e90862383c6c366", + "tcId" : 66 + }, + { + "aad" : "", + "comment" : "draft-irtf-cfrg-gcmsiv-05", + "ct" : "4a6a9db4c8c6549201b9edb53006cba821ec9cf850948a7c86c68ac7539d027f", + "iv" : "030000000000000000000000", + "key" : "0100000000000000000000000000000000000000000000000000000000000000", + "msg" : "0100000000000000000000000000000002000000000000000000000000000000", + "result" : "valid", + "tag" : "e819e63abcd020b006a976397632eb5d", + "tcId" : 67 + }, + { + "aad" : "", + "comment" : "draft-irtf-cfrg-gcmsiv-05", + "ct" : "c00d121893a9fa603f48ccc1ca3c57ce7499245ea0046db16c53c7c66fe717e39cf6c748837b61f6ee3adcee17534ed5", + "iv" : "030000000000000000000000", + "key" : "0100000000000000000000000000000000000000000000000000000000000000", + "msg" : "010000000000000000000000000000000200000000000000000000000000000003000000000000000000000000000000", + "result" : "valid", + "tag" : "790bc96880a99ba804bd12c0e6a22cc4", + "tcId" : 68 + }, + { + "aad" : "", + "comment" : "draft-irtf-cfrg-gcmsiv-05", + "ct" : "c2d5160a1f8683834910acdafc41fbb1632d4a353e8b905ec9a5499ac34f96c7e1049eb080883891a4db8caaa1f99dd004d80487540735234e3744512c6f90ce", + "iv" : "030000000000000000000000", + "key" : "0100000000000000000000000000000000000000000000000000000000000000", + "msg" : "01000000000000000000000000000000020000000000000000000000000000000300000000000000000000000000000004000000000000000000000000000000", + "result" : "valid", + "tag" : "112864c269fc0d9d88c61fa47e39aa08", + "tcId" : 69 + }, + { + "aad" : "01", + "comment" : "draft-irtf-cfrg-gcmsiv-05", + "ct" : "1de22967237a8132", + "iv" : "030000000000000000000000", + "key" : "0100000000000000000000000000000000000000000000000000000000000000", + "msg" : "0200000000000000", + "result" : "valid", + "tag" : "91213f267e3b452f02d01ae33e4ec854", + "tcId" : 70 + }, + { + "aad" : "01", + "comment" : "draft-irtf-cfrg-gcmsiv-05", + "ct" : "163d6f9cc1b346cd453a2e4c", + "iv" : "030000000000000000000000", + "key" : "0100000000000000000000000000000000000000000000000000000000000000", + "msg" : "020000000000000000000000", + "result" : "valid", + "tag" : "c1a4a19ae800941ccdc57cc8413c277f", + "tcId" : 71 + }, + { + "aad" : "01", + "comment" : "draft-irtf-cfrg-gcmsiv-05", + "ct" : "c91545823cc24f17dbb0e9e807d5ec17", + "iv" : "030000000000000000000000", + "key" : "0100000000000000000000000000000000000000000000000000000000000000", + "msg" : "02000000000000000000000000000000", + "result" : "valid", + "tag" : "b292d28ff61189e8e49f3875ef91aff7", + "tcId" : 72 + }, + { + "aad" : "01", + "comment" : "draft-irtf-cfrg-gcmsiv-05", + "ct" : "07dad364bfc2b9da89116d7bef6daaaf6f255510aa654f920ac81b94e8bad365", + "iv" : "030000000000000000000000", + "key" : "0100000000000000000000000000000000000000000000000000000000000000", + "msg" : "0200000000000000000000000000000003000000000000000000000000000000", + "result" : "valid", + "tag" : "aea1bad12702e1965604374aab96dbbc", + "tcId" : 73 + }, + { + "aad" : "01", + "comment" : "draft-irtf-cfrg-gcmsiv-05", + "ct" : "c67a1f0f567a5198aa1fcc8e3f21314336f7f51ca8b1af61feac35a86416fa47fbca3b5f749cdf564527f2314f42fe25", + "iv" : "030000000000000000000000", + "key" : "0100000000000000000000000000000000000000000000000000000000000000", + "msg" : "020000000000000000000000000000000300000000000000000000000000000004000000000000000000000000000000", + "result" : "valid", + "tag" : "03332742b228c647173616cfd44c54eb", + "tcId" : 74 + }, + { + "aad" : "01", + "comment" : "draft-irtf-cfrg-gcmsiv-05", + "ct" : "67fd45e126bfb9a79930c43aad2d36967d3f0e4d217c1e551f59727870beefc98cb933a8fce9de887b1e40799988db1fc3f91880ed405b2dd298318858467c89", + "iv" : "030000000000000000000000", + "key" : "0100000000000000000000000000000000000000000000000000000000000000", + "msg" : "02000000000000000000000000000000030000000000000000000000000000000400000000000000000000000000000005000000000000000000000000000000", + "result" : "valid", + "tag" : "5bde0285037c5de81e5b570a049b62a0", + "tcId" : 75 + }, + { + "aad" : "010000000000000000000000", + "comment" : "draft-irtf-cfrg-gcmsiv-05", + "ct" : "22b3f4cd", + "iv" : "030000000000000000000000", + "key" : "0100000000000000000000000000000000000000000000000000000000000000", + "msg" : "02000000", + "result" : "valid", + "tag" : "1835e517741dfddccfa07fa4661b74cf", + "tcId" : 76 + }, + { + "aad" : "010000000000000000000000000000000200", + "comment" : "draft-irtf-cfrg-gcmsiv-05", + "ct" : "43dd0163cdb48f9fe3212bf61b201976067f342b", + "iv" : "030000000000000000000000", + "key" : "0100000000000000000000000000000000000000000000000000000000000000", + "msg" : "0300000000000000000000000000000004000000", + "result" : "valid", + "tag" : "b879ad976d8242acc188ab59cabfe307", + "tcId" : 77 + }, + { + "aad" : "0100000000000000000000000000000002000000", + "comment" : "draft-irtf-cfrg-gcmsiv-05", + "ct" : "462401724b5ce6588d5a54aae5375513a075", + "iv" : "030000000000000000000000", + "key" : "0100000000000000000000000000000000000000000000000000000000000000", + "msg" : "030000000000000000000000000000000400", + "result" : "valid", + "tag" : "cfcdf5042112aa29685c912fc2056543", + "tcId" : 78 + }, + { + "aad" : "", + "comment" : "draft-irtf-cfrg-gcmsiv-05", + "ct" : "f3f80f2cf0cb2dd9c5984fcda908456cc537703b5ba70324a6793a7bf218d3ea", + "iv" : "000000000000000000000000", + "key" : "0000000000000000000000000000000000000000000000000000000000000000", + "msg" : "000000000000000000000000000000004db923dc793ee6497c76dcc03a98e108", + "result" : "valid", + "tag" : "ffffffff000000000000000000000000", + "tcId" : 79 + }, + { + "aad" : "", + "comment" : "draft-irtf-cfrg-gcmsiv-05", + "ct" : "18ce4f0b8cb4d0cac65fea8f79257b20888e53e72299e56d", + "iv" : "000000000000000000000000", + "key" : "0000000000000000000000000000000000000000000000000000000000000000", + "msg" : "eb3640277c7ffd1303c7a542d02d3e4c0000000000000000", + "result" : "valid", + "tag" : "ffffffff000000000000000000000000", + "tcId" : 80 + }, + { + "aad" : "", + "comment" : "", + "ct" : "", + "iv" : "c8e71aa0a4ecf161bf0fa745", + "key" : "8829413ee4ea90d43e906703e4cc50ee8ca395412fc5ba9bfeda36eecb84669f", + "msg" : "", + "result" : "valid", + "tag" : "d1794629e275a120dec4c7a9e034c945", + "tcId" : 81 + }, + { + "aad" : "", + "comment" : "", + "ct" : "ab", + "iv" : "c57fb23876bd391540c045e2", + "key" : "7eedcb71a91cb9955a5b058ee29b7635d70681c81f11a04547edd8b3e7c55a49", + "msg" : "3f", + "result" : "valid", + "tag" : "1eca53c47b58b32c5759fd46fb666252", + "tcId" : 82 + }, + { + "aad" : "", + "comment" : "", + "ct" : "516268640df6be7a", + "iv" : "45521542a43bfaf2de4d9d31", + "key" : "2c39e0bba05d6ad87d4ff5a71f25929bce448ca4793d447626e301e4158d3340", + "msg" : "3f3d3551735b6930", + "result" : "valid", + "tag" : "4b23b53ebaa30096266d9a4de14637d1", + "tcId" : 83 + }, + { + "aad" : "", + "comment" : "", + "ct" : "f8f735354a54462654e925dc95a360", + "iv" : "ee7a538245155f2dbdf3b9db", + "key" : "6f72ca50a98bea5cd3b346482cff1e1676024cc6fb5ff0ea4f3382f91f11de8a", + "msg" : "7276647636703676474a5d63616b75", + "result" : "valid", + "tag" : "30da0f88834322e27f83b172926b518e", + "tcId" : 84 + }, + { + "aad" : "", + "comment" : "", + "ct" : "5bb5c151aa5a3aba5861930ecad7a582", + "iv" : "5cec99ffb28fdd7e7205144c", + "key" : "3883b196eccde592628a5b88a9887dd47e6409ed6ae926d2ec145cc4680537be", + "msg" : "663148316752493860735741466f706d", + "result" : "valid", + "tag" : "b2451c834e97502eb1a7f07f8bc4f552", + "tcId" : 85 + }, + { + "aad" : "", + "comment" : "", + "ct" : "a4a84c1a6d53992393fa314546766b568d", + "iv" : "0e8484b973d7883759661e1a", + "key" : "81e6383dc355fd7134fe3a1b36c35c8130c0f967eaad835e2241e0c005eef271", + "msg" : "3d355e3e356341655638403c72484b3d7a", + "result" : "valid", + "tag" : "75a993afe35bb8ad402f28ed55912cb8", + "tcId" : 86 + }, + { + "aad" : "", + "comment" : "", + "ct" : "75fee9a2ccb97778ee351a24d4a77fdf8c5d435c377a688c", + "iv" : "3efa35aec3aa329ca2a36162", + "key" : "6cd615ff65d0dd5cb2770a5f8aaf02312266ec283a20083f6959977d37957ed1", + "msg" : "365f5b3838703b5b7560614e354a36674e6e3a6243703f3d", + "result" : "valid", + "tag" : "1ff90775055f43a8ac4f3ae0dfa7e4b9", + "tcId" : 87 + }, + { + "aad" : "", + "comment" : "", + "ct" : "ba7a0f7168b8e6981a28755cf9aabb9061dc91df95281f611d9d264aaa103bd2", + "iv" : "dfc40927ed2c9b6c6359b557", + "key" : "1abd07bdbefbaf7ea355c8c6112c2e508be863f53510045c819b493f0435fc8f", + "msg" : "5375474d654d49593a6f34575a47394a4c376261435c333c3d5946684f777135", + "result" : "valid", + "tag" : "a62f0b0a1037a4f55b49f10a226285a8", + "tcId" : 88 + }, + { + "aad" : "07", + "comment" : "", + "ct" : "a45a01a6a053c4b40b25d0ec07fdb211", + "iv" : "b53696d1f24ee0f1663441d5", + "key" : "53cbd7d2e6562777aa09ade5c3ec5db07179c32cde64b5b1396661808d5f1cf1", + "msg" : "3a31463b4a4f5b3f6d5c5761513b7850", + "result" : "valid", + "tag" : "8719d82f00b6d9888c3bbffedf029f70", + "tcId" : 89 + }, + { + "aad" : "2d9c", + "comment" : "", + "ct" : "72e1209dda47c9bb505630d8fcbd4eb0", + "iv" : "63a75774a5694a979df0176e", + "key" : "85943861113c614e9ae8c94fd731eb81437c5c0036501048da3681157263e262", + "msg" : "767a38753d4b673a3b4c62665e493c76", + "result" : "valid", + "tag" : "5318d79a7ff41a25e7aab94af0d8824d", + "tcId" : 90 + }, + { + "aad" : "6340f851e50147296a7c8bd0c73694", + "comment" : "", + "ct" : "47a58be5cfb028114c07c227927fa3b8", + "iv" : "bc8f3833aad958158f4a8621", + "key" : "01cd7c5e047388ab2797641b55e8979c13a218edc45ed2f224ebd808db17c0ef", + "msg" : "3e4734534f4e555575563755423f474a", + "result" : "valid", + "tag" : "d206451f2bd40da01fd13e9a720de461", + "tcId" : 91 + }, + { + "aad" : "ef15dd2be66b8cecfab74ed6598c19c6", + "comment" : "", + "ct" : "18beb6d4ebaf2c8ab6630b715058107a", + "iv" : "b6bd979fb2e5e354f878d87c", + "key" : "06992b2e44daaa8d51f8465aa1c83327a94f088d7b0bf07d1d85e43c6ecdc678", + "msg" : "507552575341636b3d5a407a3858303d", + "result" : "valid", + "tag" : "2e5a80259157e2515caf02887c0323ea", + "tcId" : 92 + }, + { + "aad" : "6781ccd1d56f16f4fc39ec14fc67d72ccb", + "comment" : "", + "ct" : "4f33a50bc17f63e6b320ef6429379a97", + "iv" : "cd7d99b8e9bdc60b1d3c66f6", + "key" : "173f2f0bf6b9ca0aa0d94b42ac088c8e068bf0326aecd3c2a198741dc67d02c0", + "msg" : "466278595c74335e62745961386e673a", + "result" : "valid", + "tag" : "148a1423a1b6bacd3e18cb5811410d28", + "tcId" : 93 + }, + { + "aad" : "069035329b0ac0e688a2855566767f564ce3c2b8065c94b0cc7b2b6231ffd286", + "comment" : "", + "ct" : "1de0911bc86af91f4b1f898711c85748", + "iv" : "0b66ff8bf864ef59265c8c1f", + "key" : "6de61258bd5e50ab2c27bb7b237f047dbe1a178845834efdd8cf7c662dd2e972", + "msg" : "4c4355463f3c4d62344f5b314a74744f", + "result" : "valid", + "tag" : "c9e87553370436e6034b7f9ad0e94259", + "tcId" : 94 + }, + { + "aad" : "40c32e00c2fdab59c1a1c573b46b5068", + "comment" : "Testing for ctr overflow", + "ct" : "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "iv" : "010101010101010101010101", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "msg" : "bdd411814564c4218d224d50591c818855a862a0a519ac0b3d71a2edb12aa71eb81959bcc6b84c45aa424c9aca0b7bdd", + "result" : "valid", + "tag" : "00000000000000000000000000000000", + "tcId" : 95 + }, + { + "aad" : "2cc3a1973e0560f7224a394e52fa8488", + "comment" : "Testing for ctr overflow", + "ct" : "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "iv" : "000000000000000000000000", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "msg" : "d04846a01f472262e60a1cb4cfcbdcb05c3f819628a3a49395c5dae96c434b2417ce071699afa74a60c32c0bafd9c01a", + "result" : "valid", + "tag" : "ffffffffffffffffffffffffffffffff", + "tcId" : 96 + }, + { + "aad" : "2e34d12622a441b557eeb1d647c6cb73", + "comment" : "Testing for ctr overflow", + "ct" : "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "iv" : "010101010101010101010101", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "msg" : "79637cee9decf33e3080de3d2c55bd21cd529ba8080b583edb6cfe13cda04bd00debe58b8cd48d6e02a1ecfc4d87923a", + "result" : "valid", + "tag" : "fefffffffefffffffefffffffeffffff", + "tcId" : 97 + }, + { + "aad" : "0814a95481bf915a4097949e3525c7e7", + "comment" : "Testing for ctr overflow", + "ct" : "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "iv" : "000000000000000000000000", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "msg" : "6492a73880dac7f36743715b0fc7063d3e46a25044310bba5849ed88bfcb54b0adbe3978040bda849906e1aa09d1a8e3", + "result" : "valid", + "tag" : "ffffff7f00112233445566778899aabb", + "tcId" : 98 + }, + { + "aad" : "b691ef42f2ab8d1b4a581bb08394b13a", + "comment" : "Testing for ctr overflow", + "ct" : "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "iv" : "010101010101010101010101", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "msg" : "7848d9e872f40bca1b82a4e7185fb75193b3496cc1dc2a72b86ed156ab8389e71687ed25eb6485e66561fa8c39853368", + "result" : "valid", + "tag" : "ffffffffffffff7f0011223344556677", + "tcId" : 99 + }, + { + "aad" : "e144878b0bbbf01b75231277e1e0d114", + "comment" : "Flipped bit 0 in tag", + "ct" : "00000000000000000000000000000000", + "iv" : "000000000000000000000000", + "key" : "00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff", + "msg" : "f663044a4e7dd822aba0b7de2d869981", + "result" : "invalid", + "tag" : "13a1883272188b4c8d2727178198fe95", + "tcId" : 100 + }, + { + "aad" : "0289eaa93eb084107d2088435ef2a0cd", + "comment" : "Flipped bit 0 in tag", + "ct" : "ffffffffffffffff", + "iv" : "000000000000000000000000", + "key" : "00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff", + "msg" : "49861b1fb6bcf8e4", + "result" : "invalid", + "tag" : "ffffffffffffffffffffffffffffffff", + "tcId" : 101 + }, + { + "aad" : "f3bd6013669b7d9371727fcb1aafea75", + "comment" : "Flipped bit 1 in tag", + "ct" : "ffffffffffffffff", + "iv" : "000000000000000000000000", + "key" : "00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff", + "msg" : "49861b1fb6bcf8e4", + "result" : "invalid", + "tag" : "ffffffffffffffffffffffffffffffff", + "tcId" : 102 + }, + { + "aad" : "922e91b2c5016e4303c737d1608ca25f", + "comment" : "Flipped bit 7 in tag", + "ct" : "", + "iv" : "000000000000000000000000", + "key" : "00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff", + "msg" : "", + "result" : "invalid", + "tag" : "0987e35e40981a2730c1740c7201731f", + "tcId" : 103 + }, + { + "aad" : "7195dd0addce5dd7014bfddb2f23206f", + "comment" : "Flipped bit 7 in tag", + "ct" : "0000000000000000", + "iv" : "000000000000000000000000", + "key" : "00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff", + "msg" : "759dfbbb8a251ccc", + "result" : "invalid", + "tag" : "00000000000000000000000000000000", + "tcId" : 104 + }, + { + "aad" : "32fc2a53e9678f1fc6d63081c36c6f2c", + "comment" : "Flipped bit 7 in tag", + "ct" : "ffffffffffffffff", + "iv" : "000000000000000000000000", + "key" : "00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff", + "msg" : "49861b1fb6bcf8e4", + "result" : "invalid", + "tag" : "ffffffffffffffffffffffffffffffff", + "tcId" : 105 + }, + { + "aad" : "c55ba71ee250216f8ecfe822d712dd38", + "comment" : "Flipped bit 8 in tag", + "ct" : "", + "iv" : "000000000000000000000000", + "key" : "00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff", + "msg" : "", + "result" : "invalid", + "tag" : "0987e35e40981a2730c1740c7201731f", + "tcId" : 106 + }, + { + "aad" : "5546acf865fc305fbd7ff1092cb9c2c3", + "comment" : "Flipped bit 8 in tag", + "ct" : "0000000000000000", + "iv" : "000000000000000000000000", + "key" : "00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff", + "msg" : "759dfbbb8a251ccc", + "result" : "invalid", + "tag" : "00000000000000000000000000000000", + "tcId" : 107 + }, + { + "aad" : "6b060eebe1843b409a4dfd0be8f86a2b", + "comment" : "Flipped bit 31 in tag", + "ct" : "00000000000000000000000000000000", + "iv" : "000000000000000000000000", + "key" : "00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff", + "msg" : "f663044a4e7dd822aba0b7de2d869981", + "result" : "invalid", + "tag" : "13a1883272188b4c8d2727178198fe95", + "tcId" : 108 + }, + { + "aad" : "c4adb92f1a60eb2faff88675f62a7276", + "comment" : "Flipped bit 31 in tag", + "ct" : "0000000000000000", + "iv" : "000000000000000000000000", + "key" : "00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff", + "msg" : "759dfbbb8a251ccc", + "result" : "invalid", + "tag" : "00000000000000000000000000000000", + "tcId" : 109 + }, + { + "aad" : "70c5a8591f52f869c6415a6d7000e253", + "comment" : "Flipped bit 32 in tag", + "ct" : "00000000000000000000000000000000", + "iv" : "000000000000000000000000", + "key" : "00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff", + "msg" : "f663044a4e7dd822aba0b7de2d869981", + "result" : "invalid", + "tag" : "13a1883272188b4c8d2727178198fe95", + "tcId" : 110 + }, + { + "aad" : "b5fe79f182cb9f2945208e29513928d1", + "comment" : "Flipped bit 63 in tag", + "ct" : "", + "iv" : "000000000000000000000000", + "key" : "00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff", + "msg" : "", + "result" : "invalid", + "tag" : "0987e35e40981a2730c1740c7201731f", + "tcId" : 111 + }, + { + "aad" : "c1dbf87e4a586b040c53f6dd9063b4cd", + "comment" : "Flipped bit 63 in tag", + "ct" : "ffffffffffffffff", + "iv" : "000000000000000000000000", + "key" : "00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff", + "msg" : "49861b1fb6bcf8e4", + "result" : "invalid", + "tag" : "ffffffffffffffffffffffffffffffff", + "tcId" : 112 + }, + { + "aad" : "845466e603ca85a224693d150ae13ba3", + "comment" : "Flipped bit 64 in tag", + "ct" : "0000000000000000", + "iv" : "000000000000000000000000", + "key" : "00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff", + "msg" : "759dfbbb8a251ccc", + "result" : "invalid", + "tag" : "00000000000000000000000000000000", + "tcId" : 113 + }, + { + "aad" : "18cb9f5eede6224fa3fcd525cf9f958b", + "comment" : "Flipped bit 97 in tag", + "ct" : "00000000000000000000000000000000", + "iv" : "000000000000000000000000", + "key" : "00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff", + "msg" : "f663044a4e7dd822aba0b7de2d869981", + "result" : "invalid", + "tag" : "13a1883272188b4c8d2727178198fe95", + "tcId" : 114 + }, + { + "aad" : "8c4fbca37d2e361856b9f80adf455fa0", + "comment" : "Flipped bit 97 in tag", + "ct" : "0000000000000000", + "iv" : "000000000000000000000000", + "key" : "00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff", + "msg" : "759dfbbb8a251ccc", + "result" : "invalid", + "tag" : "00000000000000000000000000000000", + "tcId" : 115 + }, + { + "aad" : "bc517fe140abf2b42eb1cafe8c0715a9", + "comment" : "Flipped bit 97 in tag", + "ct" : "ffffffffffffffff", + "iv" : "000000000000000000000000", + "key" : "00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff", + "msg" : "49861b1fb6bcf8e4", + "result" : "invalid", + "tag" : "ffffffffffffffffffffffffffffffff", + "tcId" : 116 + }, + { + "aad" : "617e1c5ef62ed35cf678e670f116ff2f", + "comment" : "Flipped bit 120 in tag", + "ct" : "", + "iv" : "000000000000000000000000", + "key" : "00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff", + "msg" : "", + "result" : "invalid", + "tag" : "0987e35e40981a2730c1740c7201731f", + "tcId" : 117 + }, + { + "aad" : "e71802b7a37e8ef1f001ef0c52c636f2", + "comment" : "Flipped bit 120 in tag", + "ct" : "00000000000000000000000000000000", + "iv" : "000000000000000000000000", + "key" : "00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff", + "msg" : "f663044a4e7dd822aba0b7de2d869981", + "result" : "invalid", + "tag" : "13a1883272188b4c8d2727178198fe95", + "tcId" : 118 + }, + { + "aad" : "be647e37f154d4a8edca5a29ca221cc5", + "comment" : "Flipped bit 120 in tag", + "ct" : "0000000000000000", + "iv" : "000000000000000000000000", + "key" : "00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff", + "msg" : "759dfbbb8a251ccc", + "result" : "invalid", + "tag" : "00000000000000000000000000000000", + "tcId" : 119 + }, + { + "aad" : "b3caa01f49c7cbc56c7c92547257957e", + "comment" : "Flipped bit 121 in tag", + "ct" : "00000000000000000000000000000000", + "iv" : "000000000000000000000000", + "key" : "00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff", + "msg" : "f663044a4e7dd822aba0b7de2d869981", + "result" : "invalid", + "tag" : "13a1883272188b4c8d2727178198fe95", + "tcId" : 120 + }, + { + "aad" : "ab0347a2aec4cc4c366583062442ba07", + "comment" : "Flipped bit 121 in tag", + "ct" : "0000000000000000", + "iv" : "000000000000000000000000", + "key" : "00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff", + "msg" : "759dfbbb8a251ccc", + "result" : "invalid", + "tag" : "00000000000000000000000000000000", + "tcId" : 121 + }, + { + "aad" : "62573ef39a27f77b37fb7bfc84e46cee", + "comment" : "Flipped bit 126 in tag", + "ct" : "", + "iv" : "000000000000000000000000", + "key" : "00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff", + "msg" : "", + "result" : "invalid", + "tag" : "0987e35e40981a2730c1740c7201731f", + "tcId" : 122 + }, + { + "aad" : "28e3cadfb16834e824642e965588c200", + "comment" : "Flipped bit 126 in tag", + "ct" : "0000000000000000", + "iv" : "000000000000000000000000", + "key" : "00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff", + "msg" : "759dfbbb8a251ccc", + "result" : "invalid", + "tag" : "00000000000000000000000000000000", + "tcId" : 123 + }, + { + "aad" : "7edd2fc15bed224a46dc8608e1766080", + "comment" : "Flipped bit 126 in tag", + "ct" : "ffffffffffffffff", + "iv" : "000000000000000000000000", + "key" : "00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff", + "msg" : "49861b1fb6bcf8e4", + "result" : "invalid", + "tag" : "ffffffffffffffffffffffffffffffff", + "tcId" : 124 + }, + { + "aad" : "7e0e03104e2c0ff20ba4c35742180c5b", + "comment" : "Flipped bit 127 in tag", + "ct" : "", + "iv" : "000000000000000000000000", + "key" : "00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff", + "msg" : "", + "result" : "invalid", + "tag" : "0987e35e40981a2730c1740c7201731f", + "tcId" : 125 + }, + { + "aad" : "9a24dc75c5ddd3bab57ff532eb86d224", + "comment" : "Flipped bit 127 in tag", + "ct" : "00000000000000000000000000000000", + "iv" : "000000000000000000000000", + "key" : "00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff", + "msg" : "f663044a4e7dd822aba0b7de2d869981", + "result" : "invalid", + "tag" : "13a1883272188b4c8d2727178198fe95", + "tcId" : 126 + }, + { + "aad" : "3196aec499c15bc043b6866ba0df6e6b", + "comment" : "Flipped bit 127 in tag", + "ct" : "ffffffffffffffff", + "iv" : "000000000000000000000000", + "key" : "00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff", + "msg" : "49861b1fb6bcf8e4", + "result" : "invalid", + "tag" : "ffffffffffffffffffffffffffffffff", + "tcId" : 127 + }, + { + "aad" : "55a2987aa94bf46ad1b6d253a44c1622", + "comment" : "Flipped bit 0..127 in tag", + "ct" : "ffffffffffffffff", + "iv" : "000000000000000000000000", + "key" : "00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff", + "msg" : "49861b1fb6bcf8e4", + "result" : "invalid", + "tag" : "ffffffffffffffffffffffffffffffff", + "tcId" : 128 + } + ] + } + ] +} diff --git a/testvectors/aes_gcm_test.json b/testvectors/aes_gcm_test.json new file mode 100644 index 0000000..2173922 --- /dev/null +++ b/testvectors/aes_gcm_test.json @@ -0,0 +1,669 @@ +{ + "algorithm": "AES-GCM", + "generatorVersion": "0.0a8", + "numberOfTests": 50, + "testGroups": [ + { + "ivSize": 96, + "keySize": 128, + "tagSize": 128, + "tests": [ + { + "aad": "", + "comment": "", + "ct": "26073cc1d851beff176384dc9896d5ff", + "iv": "028318abc1824029138141a2", + "key": "5b9604fe14eadba931b0ccf34843dab9", + "msg": "001d0c231287c1182784554ca3a21908", + "result": "valid", + "tag": "0a3ea7a5487cb5f7d70fb6c58d038554", + "tcId": 1 + }, + { + "aad": "00112233445566778899aabbccddeeff", + "comment": "", + "ct": "49d8b9783e911913d87094d1f63cc765", + "iv": "921d2507fa8007b7bd067d34", + "key": "5b9604fe14eadba931b0ccf34843dab9", + "msg": "001d0c231287c1182784554ca3a21908", + "result": "valid", + "tag": "1e348ba07cca2cf04c618cb4d43a5b92", + "tcId": 2 + }, + { + "aad": "aac39231129872a2", + "comment": "", + "ct": "eea945f3d0f98cc0fbab472a0cf24e87", + "iv": "0432bc49ac34412081288127", + "key": "aa023d0478dcb2b2312498293d9a9129", + "msg": "2035af313d1346ab00154fea78322105", + "result": "valid", + "tag": "4bb9b4812519dadf9e1232016d068133", + "tcId": 3 + }, + { + "aad": "", + "comment": "", + "ct": "ff", + "iv": "327182bee515d2b15f949477", + "key": "dc25a94c28b9d18a6468f41428fae84d", + "msg": "6f", + "result": "valid", + "tag": "62870f416e1fb63486127df9555ebcdb", + "tcId": 4 + }, + { + "aad": "", + "comment": "", + "ct": "4bd185849ab0f4d0", + "iv": "0cfe85626ce523b3204ca873", + "key": "bd6ffed2d59c492aec86368e02f6baeb", + "msg": "3c3b3a363f3a504e", + "result": "valid", + "tag": "742f379ab07b2c8c0c0eff4ce9327218", + "tcId": 5 + }, + { + "aad": "", + "comment": "", + "ct": "11afae2b91b71126e31d868e3482f907", + "iv": "5fe1b8445d7a2bce3ffd01c5", + "key": "6b21264d4ffdaa70021f6ea94f3f7729", + "msg": "6538395b746031796f5b60303261684e", + "result": "valid", + "tag": "b5133f5ce864f55641c121fb48c77e8c", + "tcId": 6 + }, + { + "aad": "", + "comment": "", + "ct": "ca741e2b8f4bfb75f3a897869664982be5e1feb1c3588621", + "iv": "1e0055ab643fe8d851f27501", + "key": "3f89802f2f430d027d9d27ab10095a1e", + "msg": "78446a4e313d634d524834637040456b793c6e4d4166544c", + "result": "valid", + "tag": "ab9a540db92381a4768ea81f08230100", + "tcId": 7 + }, + { + "aad": "15", + "comment": "", + "ct": "fa2ac3a4d15e01d64b642c4dc75f95e0", + "iv": "2071ec1a1d0ff802349fc01b", + "key": "f08afe018379b19417388302c3508983", + "msg": "566464646d4639476d5e4673653e3838", + "result": "valid", + "tag": "d95cea01fafb2c8c21cebfcbc412f87a", + "tcId": 8 + }, + { + "aad": "0b2bc21ab1fbff11e376e1a65ca2a1", + "comment": "", + "ct": "1e3373677b4615745a57ce43c0874702", + "iv": "460b321e66c90ae86f878da7", + "key": "7c7337a75c47230f579ff763e544b63b", + "msg": "4c565d4051404f4f35633a63455d7676", + "result": "valid", + "tag": "6c0314734528fe2863f2dc16f313e5ff", + "tcId": 9 + }, + { + "aad": "2eb61446950c83695522fdeb92220645", + "comment": "", + "ct": "107150b5349540a6b953c033d3ed0eec", + "iv": "787c817bf07a25ec613f4fbb", + "key": "9bd978c97f84c67e967a6dc71a9dd29a", + "msg": "4d36343f6e38716e476476394764635b", + "result": "valid", + "tag": "87ec1d4fee69de2efe606138b99a1c56", + "tcId": 10 + }, + { + "aad": "62a76634d40bb93ce8bd140e418bf88f002e1b88396511f5ddd9b099abe7b722", + "comment": "", + "ct": "8e0b9ca71471c5d509167fb138d65834", + "iv": "da22d5718083aee0b1ecf18c", + "key": "a3b604ee4889e9986b1d760779acb0da", + "msg": "453b3b34344076413d3b5b46373f725c", + "result": "valid", + "tag": "7cc68eb3039691eeea5b211c9f39244a", + "tcId": 11 + }, + { + "aad": "", + "comment": "special case", + "ct": "f62d84d649e56bc8cfedc5d74a51e2f7", + "iv": "000000000000000000000000", + "key": "00112233445566778899aabbccddeeff", + "msg": "ebd4a3e10cf6d41c50aeae007563b072", + "result": "valid", + "tag": "ffffffffffffffffffffffffffffffff", + "tcId": 12 + }, + { + "aad": "", + "comment": "special case", + "ct": "431f31e6840931fd95f94bf88296ff69", + "iv": "ffffffffffffffffffffffff", + "key": "00112233445566778899aabbccddeeff", + "msg": "d593c4d8224f1b100c35e4f6c4006543", + "result": "valid", + "tag": "00000000000000000000000000000000", + "tcId": 13 + }, + { + "aad": "", + "comment": "special case", + "ct": "d8eba6a5a03403851abc27f6e15d84c0", + "iv": "00112233445566778899aabb", + "key": "00112233445566778899aabbccddeeff", + "msg": "7fd49ba712d0d28f02ef54ed18db43f8", + "result": "valid", + "tag": "00000000000000000000000000000000", + "tcId": 14 + } + ], + "type": "AES-GCM" + }, + { + "ivSize": 64, + "keySize": 128, + "tagSize": 128, + "tests": [ + { + "aad": "aac39231129872a2", + "comment": "", + "ct": "64c36bb3b732034e3a7d04efc5197785", + "iv": "0432bc49ac344120", + "key": "aa023d0478dcb2b2312498293d9a9129", + "msg": "2035af313d1346ab00154fea78322105", + "result": "valid", + "tag": "b7d0dd70b00d65b97cfd080ff4b819d1", + "tcId": 15 + }, + { + "aad": "", + "comment": "unusual IV size", + "ct": "553763110458769a08e3c5d9", + "iv": "22117438f0762c77", + "key": "b215270c3e1055888599f1e5f6188e57", + "msg": "7675613a6c356e663d483264", + "result": "valid", + "tag": "14fed4270ed847fec690988c729672d1", + "tcId": 16 + } + ], + "type": "AES-GCM" + }, + { + "ivSize": 128, + "keySize": 128, + "tagSize": 128, + "tests": [ + { + "aad": "1a0293d8f90219058902139013908190bc490890d3ff12a3", + "comment": "", + "ct": "64069c2d58690561f27ee199e6b479b6369eec688672bde9", + "iv": "3254202d854734812398127a3d134421", + "key": "2034a82547276c83dd3212a813572bce", + "msg": "02efd2e5782312827ed5d230189a2a342b277ce048462193", + "result": "valid", + "tag": "9b7abadd6e69c1d9ec925786534f5075", + "tcId": 17 + }, + { + "aad": "", + "comment": "J0:000102030405060708090a0b0c0d0e0f", + "ct": "00078d109d92143fcd5df56721b884fac64ac7762cc09eea2a3c68e92a17bdb575f87bda18be564e", + "iv": "f95fde4a751913202aeeee32a0b55753", + "key": "00112233445566778899aabbccddeeff", + "msg": "00000000000000000000000000000000000000000000000000000000000000000000000000000000", + "result": "valid", + "tag": "152a65045fe674f97627427af5be22da", + "tcId": 18 + }, + { + "aad": "", + "comment": "J0:00000000000000000000000000000000", + "ct": "84d4c9c08b4f482861e3a9c6c35bc4d91df927374513bfd49f436bd73f325285daef4ff7e13d46a6", + "iv": "7b95b8c356810a84711d68150a1b7750", + "key": "00112233445566778899aabbccddeeff", + "msg": "00000000000000000000000000000000000000000000000000000000000000000000000000000000", + "result": "valid", + "tag": "213a3cb93855d18e69337eee66aeec07", + "tcId": 19 + }, + { + "aad": "", + "comment": "J0:ffffffffffffffffffffffffffffffff", + "ct": "948ca37a8e6649e88aeffb1c598f3607007702417ea0e0bc3c60ad5a949886de968cf53ea6462aed", + "iv": "1a552e67cdc4dc1a33b824874ebf0bed", + "key": "00112233445566778899aabbccddeeff", + "msg": "00000000000000000000000000000000000000000000000000000000000000000000000000000000", + "result": "valid", + "tag": "99b381bfa2af9751c39d1b6e86d1be6a", + "tcId": 20 + }, + { + "aad": "", + "comment": "J0:000102030405060708090a0bffffffff", + "ct": "127af9b39ecdfc57bb11a2847c7c2d3d8f938f40f877e0c4af37d0fe9af033052bd537c4ae978f60", + "iv": "99821c2dd5daecded07300f577f7aff1", + "key": "00112233445566778899aabbccddeeff", + "msg": "00000000000000000000000000000000000000000000000000000000000000000000000000000000", + "result": "valid", + "tag": "07eb2fe4a958f8434d40684899507c7c", + "tcId": 21 + }, + { + "aad": "", + "comment": "J0:000102030405060708090a0bfffffffe", + "ct": "0cf6ae47156b14dce03c8a07a2e172b1127af9b39ecdfc57bb11a2847c7c2d3d8f938f40f877e0c4", + "iv": "5e4a3900142358d1c774d8d124d8d27d", + "key": "00112233445566778899aabbccddeeff", + "msg": "00000000000000000000000000000000000000000000000000000000000000000000000000000000", + "result": "valid", + "tag": "f145c2dcaf339eede427be934357eac0", + "tcId": 22 + }, + { + "aad": "", + "comment": "special case", + "ct": "1cd5a06214235ceb044d4bad7b047312", + "iv": "ffffffffffffffffffffffffffffffff", + "key": "00112233445566778899aabbccddeeff", + "msg": "4d82639c39d3f3490ee903dd0be7afcf", + "result": "valid", + "tag": "ffffffffffffffffffffffffffffffff", + "tcId": 23 + }, + { + "aad": "", + "comment": "unusual IV size", + "ct": "d6db136eb9bd4cdaf0bd1913", + "iv": "44b926c2a249611e14475b6cfe4d7dae", + "key": "c79117e417d6d45e37a52441cbfaa47b", + "msg": "623734365060575b423b303a", + "result": "valid", + "tag": "54132cb206112184c889e1f15b83fe1f", + "tcId": 24 + } + ], + "type": "AES-GCM" + }, + { + "ivSize": 96, + "keySize": 256, + "tagSize": 128, + "tests": [ + { + "aad": "00000000ffffffff", + "comment": "", + "ct": "e27abdd2d2a53d2f136b", + "iv": "00112233445566778899aabb", + "key": "92ace3e348cd821092cd921aa3546374299ab46209691bc28b8752d17f123c20", + "msg": "00010203040506070809", + "result": "valid", + "tag": "9a4a2579529301bcfb71c78d4060f52c", + "tcId": 25 + }, + { + "aad": "aabbccddeeff", + "comment": "", + "ct": "", + "iv": "00112233445566778899aabb", + "key": "29d3a44f8723dc640239100c365423a312934ac80239212ac3df3421a2098123", + "msg": "", + "result": "valid", + "tag": "2a7d77fa526b8250cb296078926b5020", + "tcId": 26 + }, + { + "aad": "", + "comment": "", + "ct": "11", + "iv": "61de8c2f27065bb3f1235d55", + "key": "a68e06009f0c9630fed700e67d4960378cc1c86ae6cc79a6ac6a9042bf83039a", + "msg": "7a", + "result": "valid", + "tag": "05402b6d9671f281c34848fed708da8b", + "tcId": 27 + }, + { + "aad": "", + "comment": "", + "ct": "aecefdde647dbfd9", + "iv": "27f3c472caf75d6102ef5f0d", + "key": "fe65ab5e97e2adff16bb5cf71f31d09754ce2a246aeaedc5647afb54dce7b68d", + "msg": "493d425c4b3f6d51", + "result": "valid", + "tag": "02af89a1eadcb29077a26203314a7dc3", + "tcId": 28 + }, + { + "aad": "", + "comment": "", + "ct": "3ddf2af410318b26750139bf4ec13460", + "iv": "6f5485754cd243aecd2c9e43", + "key": "9c6edc8b05d7bceb455a6b915f16f117e244ff788a8c20c25fd6e0a49566d781", + "msg": "5031613a625a7348753b323c4f3f7835", + "result": "valid", + "tag": "4e4bc7648e7fb0976c4cb9c2fb3ca540", + "tcId": 29 + }, + { + "aad": "", + "comment": "", + "ct": "28bbe0d13c0f43422df882a2dc9e011b4d4fd5bc9e73c515", + "iv": "3d3f629413e65f8b6e55ec8e", + "key": "c786bc3074dad0f11efecfd24dd9f9df9fec79161d1ffd5acb18fc69fe3f3e0f", + "msg": "635569643f32513f655a6e5c423547744259725e454b616d", + "result": "valid", + "tag": "bbf623568c0bd3b94b5201af8711a8d2", + "tcId": 30 + }, + { + "aad": "45", + "comment": "", + "ct": "69c3ee7e6d4bae0d747164980d6b9b0c", + "iv": "c0dfc8a34a8c946504f882c5", + "key": "44a85d703964debdf04efe8748c7953da193ecd7ce4453673d86b96c5a1b3154", + "msg": "5a416a725a6d69746269316f6c747566", + "result": "valid", + "tag": "5221ece0acc54017981f0cdad17839b2", + "tcId": 31 + }, + { + "aad": "e19b62570639e9329109d81795f82f", + "comment": "", + "ct": "54d25cd9f65a56ee17a4cb88fbc7489d", + "iv": "6f6a2fc05f916819550e1ec0", + "key": "afc8d84a39c7b984670d42712c1e6b86aa8bf9458e20054da9aa4de627aadb69", + "msg": "45353c45306243584277445f317a355a", + "result": "valid", + "tag": "8e535d739362959710ec3ddb486e8bc2", + "tcId": 32 + }, + { + "aad": "d0468a40ded0439cdf41cfa5662181d8", + "comment": "", + "ct": "ec23144c64749090e581928d86681f3e", + "iv": "b74599e72c0309e162658615", + "key": "62f210a5cdfaa9c341c5c25ca1510fbbe611d433091d064eb62dbbcfbc95f15b", + "msg": "5a6551343a4b45685c49795b5a557449", + "result": "valid", + "tag": "ce0594dabb2b4db89460e085bc44e684", + "tcId": 33 + }, + { + "aad": "6387afe729e73233e3860de9c1a6617b37bab1eedaba9fcb53618e7eac3d8009", + "comment": "", + "ct": "fcfc653448912e1d9f5413dc92c7678b", + "iv": "74852c78eb5a479ec8620ae4", + "key": "34135b6afae2248312d68c1e28db5a4cbbfd3ccc5b4aab357353bd2541d45c59", + "msg": "34356b523f4a6d5c3237325043353e50", + "result": "valid", + "tag": "1b3acf71c1fdcfa8d61d585d10004f6d", + "tcId": 34 + } + ], + "type": "AES-GCM" + }, + { + "ivSize": 96, + "keySize": 192, + "tagSize": 128, + "tests": [ + { + "aad": "", + "comment": "", + "ct": "7a", + "iv": "e6bfc54c87a8e2a9b539eedb", + "key": "6c7a0c4c8515ed6c7d4eca4916bb0c8362d282afeacbe3f9", + "msg": "3c", + "result": "valid", + "tag": "106daeade85585d997e65bc4564fe125", + "tcId": 35 + }, + { + "aad": "", + "comment": "", + "ct": "16f812c2be4121b6", + "iv": "6d7baec9ed558f82aa1128cd", + "key": "35a0d16c02ec630e360e9d7243a82c76ac36668c0b59413e", + "msg": "5c513c3a74763674", + "result": "valid", + "tag": "f35ba677c07a76aea8e70a81918d35cf", + "tcId": 36 + }, + { + "aad": "", + "comment": "", + "ct": "21c250e0f28c494c944bd1345d6daa51", + "iv": "cffd1a7e8d52cf3c0c4bbb8e", + "key": "ddeb7f10bbd1b82c115165e6c1547d224e3449933ea3bfe9", + "msg": "526a3b4e7472324a5b3a5b553b4b443f", + "result": "valid", + "tag": "bbaea6623cf22328efcd21bf3656987e", + "tcId": 37 + }, + { + "aad": "", + "comment": "", + "ct": "034c477eee703e11b0f354d5912c16fd512c69cccbc22211", + "iv": "56f2119df4070d2e767861e8", + "key": "b567dc2ed4684ccfb582d80ff9b15ef520a325f0b8201cdc", + "msg": "306c3e337a60677956536e346472534679707a6552624e3f", + "result": "valid", + "tag": "d8ecc0925d544d9e2906504e4f006bea", + "tcId": 38 + } + ], + "type": "AES-GCM" + }, + { + "ivSize": 120, + "keySize": 128, + "tagSize": 128, + "tests": [ + { + "aad": "", + "comment": "unusual IV size", + "ct": "fde7899c326af98d67b07890", + "iv": "ca2a23ea38e82a4304021e0984800c", + "key": "a9ded7b2cbce3621d310006444ce80a3", + "msg": "665470423738756779357345", + "result": "valid", + "tag": "a545ed6b98a8b49c6588232e3d876de7", + "tcId": 39 + } + ], + "type": "AES-GCM" + }, + { + "ivSize": 160, + "keySize": 128, + "tagSize": 128, + "tests": [ + { + "aad": "", + "comment": "unusual IV size", + "ct": "35a123fa123571aa0d242a66", + "iv": "9ce715dd2a59b4a6bf7451c7a144b97f3e62c0a0", + "key": "1e7cc3c9116b0a2d25154e1f4ae97796", + "msg": "6c74623b3346665333613c3d", + "result": "valid", + "tag": "831a00839d8c008c9d1cb0f9a8d17255", + "tcId": 40 + } + ], + "type": "AES-GCM" + }, + { + "ivSize": 64, + "keySize": 256, + "tagSize": 128, + "tests": [ + { + "aad": "", + "comment": "unusual IV size", + "ct": "99add354679e324c3277506c", + "iv": "bd3b080f33229c69", + "key": "b22f6e946ab41994781b4bfff1e3f44e3daaf4d9ad788bbfa39a8caa2bc112cf", + "msg": "3b353b365e37784a5833354c", + "result": "valid", + "tag": "174fd057b60654548d833f9d6d9626e8", + "tcId": 41 + } + ], + "type": "AES-GCM" + }, + { + "ivSize": 120, + "keySize": 256, + "tagSize": 128, + "tests": [ + { + "aad": "", + "comment": "unusual IV size", + "ct": "992b01084e37fbe3a6cfd456", + "iv": "479e398a4805a347a5c4c16ddfe621", + "key": "0d20b8ef8b05c48f691a5dd9b49b6c0637aee0567257b6c3ce35a5823c337294", + "msg": "527979696037335d553a4767", + "result": "valid", + "tag": "1cd717548e768aa0f9932311d443bf0e", + "tcId": 42 + } + ], + "type": "AES-GCM" + }, + { + "ivSize": 128, + "keySize": 256, + "tagSize": 128, + "tests": [ + { + "aad": "", + "comment": "unusual IV size", + "ct": "fa93631a76a63d8096bb11f3", + "iv": "ad581e8f55a8d283f0dfebae9d0c6484", + "key": "cc4a246cb3e166c194e59f465db9adf92a8974cd472744c062728ccbae687aac", + "msg": "6b4d3e67695a79544b725046", + "result": "valid", + "tag": "fb1c7f1c3d5c0155ae18eb9bc13f7758", + "tcId": 43 + } + ], + "type": "AES-GCM" + }, + { + "ivSize": 160, + "keySize": 256, + "tagSize": 128, + "tests": [ + { + "aad": "", + "comment": "unusual IV size", + "ct": "b35920ed04f6a7dcf8d075a9", + "iv": "3293e555aa1cb29f839d571e811b8e84807a0031", + "key": "3a95937dd23f0997fae31a26821d99e8e338016c05ad30718f41fa04aced12f8", + "msg": "5578554a61324e4c3142483a", + "result": "valid", + "tag": "fa0c75f97432e5ef97445ccf99a90231", + "tcId": 44 + } + ], + "type": "AES-GCM" + }, + { + "ivSize": 0, + "keySize": 128, + "tagSize": 128, + "tests": [ + { + "aad": "", + "comment": "0 size IV is not valid", + "ct": "", + "iv": "", + "key": "b1e11d771f1ea274a3386d3879738d64", + "msg": "", + "result": "invalid", + "tag": "ec5c4805da277942d7ad6ea2d212d909", + "tcId": 45 + }, + { + "aad": "", + "comment": "0 size IV is not valid", + "ct": "8766b19d2e07b51ddfe8c85ea440ee2e", + "iv": "", + "key": "fb6c0503a1cd5219a2d5daa2e32a1520", + "msg": "446e39493339594b7247494d41344739", + "result": "invalid", + "tag": "5154e473735b026452a57060f3be5f66", + "tcId": 46 + } + ], + "type": "AES-GCM" + }, + { + "ivSize": 0, + "keySize": 192, + "tagSize": 128, + "tests": [ + { + "aad": "", + "comment": "0 size IV is not valid", + "ct": "", + "iv": "", + "key": "0955fa25af91994f0407ff1e2f3b09af4074c13fbba6aa0b", + "msg": "", + "result": "invalid", + "tag": "bec27fcd432323a3162cbcfc4a4ae53b", + "tcId": 47 + }, + { + "aad": "", + "comment": "0 size IV is not valid", + "ct": "a284cb5110f73225954d0a74fc24b024", + "iv": "", + "key": "0750d0d5d4df4985fcc726177e6b325e90c7e9c5f4922e43", + "msg": "793b50665c4c79647534646231496748", + "result": "invalid", + "tag": "8fe5ddb632fa6d72af5fe114c95bcaa3", + "tcId": 48 + } + ], + "type": "AES-GCM" + }, + { + "ivSize": 0, + "keySize": 256, + "tagSize": 128, + "tests": [ + { + "aad": "", + "comment": "0 size IV is not valid", + "ct": "", + "iv": "", + "key": "57163950d52c957068dc2ae7184911402887458e65ae212e54369eac864376a8", + "msg": "", + "result": "invalid", + "tag": "6397e0239baa358c90bc5a8bb69d3330", + "tcId": 49 + }, + { + "aad": "", + "comment": "0 size IV is not valid", + "ct": "77bbd2bc21a7cb2f1b62510a659db421", + "iv": "", + "key": "c242c762169e049fa7952d14123f61add08f9cd3cdb0784d7241f073244f0580", + "msg": "3669513131313f386240783b573b666f", + "result": "invalid", + "tag": "b2015bf3387d68cd2e9785d0b8bc46c8", + "tcId": 50 + } + ], + "type": "AES-GCM" + } + ] +} diff --git a/testvectors/dsa_test.json b/testvectors/dsa_test.json new file mode 100644 index 0000000..a3c78c6 --- /dev/null +++ b/testvectors/dsa_test.json @@ -0,0 +1,1494 @@ +{ + "algorithm" : "DSA", + "generatorVersion" : "0.0a10", + "numberOfTests" : 206, + "testGroups" : [ + { + "keyDer" : "3081f03081a806072a8648ce38040130819c024100fca682ce8e12caba26efccf7110e526db078b05edecbcd1eb4a208f3ae1617ae01f35b91a47e6df63413c5e12ed0899bcd132acd50d99151bdc43ee737592e17021500962eddcc369cba8ebb260ee6b6a126d9346e38c50240678471b27a9cf44ee91a49c5147db1a9aaf244f05a434d6486931d2d14271b9e35030b71fd73da179069b32e2935630e1c2062354d0da20a6c416e50be794ca403430002407cc153f191171bdf13b6541c07dc611debc41efa18e1df5c2e42c2612e0e936abdcc28e66ce73bdedf449b5d39ec8e509a4767907345f38710638abe5c316ce5", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIHwMIGoBgcqhkjOOAQBMIGcAkEA/KaCzo4Syrom78z3EQ5SbbB4sF7ey80etKII\n864WF64B81uRpH5t9jQTxeEu0ImbzRMqzVDZkVG9xD7nN1kuFwIVAJYu3cw2nLqO\nuyYO5rahJtk0bjjFAkBnhHGyepz0TukaScUUfbGpqvJE8FpDTWSGkx0tFCcbnjUD\nC3H9c9oXkGmzLik1Yw4cIGI1TQ2iCmxBblC+eUykA0MAAkB8wVPxkRcb3xO2VBwH\n3GEd68Qe+hjh31wuQsJhLg6Tar3MKOZs5zve30SbXTnsjlCaR2eQc0XzhxBjir5c\nMWzl\n-----END PUBLIC KEY-----", + "sha" : "SHA-1", + "type" : "DSAVer", + "key" : { + "g" : "678471b27a9cf44ee91a49c5147db1a9aaf244f05a434d6486931d2d14271b9e35030b71fd73da179069b32e2935630e1c2062354d0da20a6c416e50be794ca4", + "keyType" : "DSA public key", + "p" : "0fca682ce8e12caba26efccf7110e526db078b05edecbcd1eb4a208f3ae1617ae01f35b91a47e6df63413c5e12ed0899bcd132acd50d99151bdc43ee737592e17", + "q" : "0962eddcc369cba8ebb260ee6b6a126d9346e38c5", + "y" : "7cc153f191171bdf13b6541c07dc611debc41efa18e1df5c2e42c2612e0e936abdcc28e66ce73bdedf449b5d39ec8e509a4767907345f38710638abe5c316ce5" + }, + "tests" : [ + { + "comment" : "random signature", + "message" : "48656c6c6f", + "result" : "valid", + "sig" : "302c021426184de880bd04090541530d4951dffb2200b2cf02143c2cfef8b2c62eb572547f173fb4973ac7225207", + "tcId" : 1 + }, + { + "comment" : "random signature", + "message" : "48656c6c6f", + "result" : "valid", + "sig" : "302c02141c71bdda8343c3b8c8503772a3dca7f5ebc3e018021421c7aff53838a6ee5fdf4c4b66f7ae67241021f1", + "tcId" : 2 + }, + { + "comment" : "random signature", + "message" : "48656c6c6f", + "result" : "valid", + "sig" : "302c02142b6a1d97f043cf8ac1574af5eae78b3d01e444e80214787affc9a23bf98848ccb99a0339ef9ec7ae767e", + "tcId" : 3 + }, + { + "comment" : "random signature", + "message" : "48656c6c6f", + "result" : "valid", + "sig" : "302d02150087e0e4ae54fe9fa55abe4914380dccd7d546eee902147a075d0115c06d17194665739ab713a0734b3d36", + "tcId" : 4 + }, + { + "comment" : "random signature", + "message" : "48656c6c6f", + "result" : "valid", + "sig" : "302c02144ce8e8d2abb5f230a5fdcf6f2d8f81bb1b80ed5502140d63dbfd1100d3caf0580d93101f21e699633a56", + "tcId" : 5 + } + ] + }, + { + "keyDer" : "308203423082023506072a8648ce3804013082022802820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d0282010016a65c58204850704e7502a39757040d34da3a3478c154d4e4a5c02d242ee04f96e61e4bd0904abdac8f37eeb1e09f3182d23c9043cb642f88004160edf9ca09b32076a79c32a627f2473e91879ba2c4e744bd2081544cb55b802c368d1fa83ed489e94e0fa0688e32428a5c78c478c68d0527b71c9a3abb0b0be12c44689639e7d3ce74db101a65aa2b87f64c6826db3ec72f4b5599834bb4edb02f7c90e9a496d3a55d535bebfc45d4f619f63f3dedbb873925c2f224e07731296da887ec1e4748f87efb5fdeb75484316b2232dee553ddaf02112b0d1f02da30973224fe27aeda8b9d4b2922d9ba8be39ed9e103a63c52810bc688b7e2ed4316e1ef17dbde0382010500028201001e77f842b1ae0fcd9929d394161d41e14614ff7507a9a31f4a1f14d22e2a627a1f4e596624883f1a5b168e9425146f22d5f6ee28757414714bb994ba1129f015d6e04a717edf9b530a5d5cab94f14631e8b4cf79aeb358cc741845553841e8ac461630e804a62f43676ba6794af66899c377b869ea612a7b9fe6611aa96be52eb8b62c979117bbbcca8a7ec1e1ffab1c7dfcfc7048700d3ae3858136e897701d7c2921b5dfef1d1f897f50d96ca1b5c2edc58cada18919e35642f0807eebfa00c99a32f4d095c3188f78ed54711be0325c4b532aeccd6540a567c327225440ea15319bde06510479a1861799e25b57decc73c036d75a0702bd373ca231349931", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIIDQjCCAjUGByqGSM44BAEwggIoAoIBAQCPeTXZuarpv6vtiHrPSVG28y7Fnjuv\nNxjo6sSWHz79NgbnQ1GpxBgzObgJ58KuHFObp0dbhdARrbi0eYd1SYRpXKwOjxSz\nNggooi/6JxEKPWKpk0U0CaD+aWxGWPhL3SCBnDcJoBBXsZWtzQAjPbpUhLYpH51k\njviDRIZ3l5zsBLQ0pqwudemYXeI9sCkvwRGMn/qdgYHnM423krcw17njSVkvaAmY\nchU5Feo9a4tGU8YzRY+AOzKkwuDycpAlbk4/ijsIOKHEUOThjBopo33fXqFD3ktm\n/wSQPtXPFiPhWNSHxgjpfyEc2B3KI8tuOAdl+CLjQr5ITAV2OTlgHNZnAh0AuvaW\npoV499/e5/pnyXfHhe8ysjO65YDAvNVpXQKCAQAWplxYIEhQcE51AqOXVwQNNNo6\nNHjBVNTkpcAtJC7gT5bmHkvQkEq9rI837rHgnzGC0jyQQ8tkL4gAQWDt+coJsyB2\np5wypifyRz6Rh5uixOdEvSCBVEy1W4AsNo0fqD7UielOD6BojjJCilx4xHjGjQUn\ntxyaOrsLC+EsRGiWOefTznTbEBplqiuH9kxoJts+xy9LVZmDS7TtsC98kOmkltOl\nXVNb6/xF1PYZ9j897buHOSXC8iTgdzEpbaiH7B5HSPh++1/et1SEMWsiMt7lU92v\nAhErDR8C2jCXMiT+J67ai51LKSLZuovjntnhA6Y8UoELxoi34u1DFuHvF9veA4IB\nBQACggEAHnf4QrGuD82ZKdOUFh1B4UYU/3UHqaMfSh8U0i4qYnofTllmJIg/GlsW\njpQlFG8i1fbuKHV0FHFLuZS6ESnwFdbgSnF+35tTCl1cq5TxRjHotM95rrNYzHQY\nRVU4QeisRhYw6ASmL0Nna6Z5SvZomcN3uGnqYSp7n+ZhGqlr5S64tiyXkRe7vMqK\nfsHh/6scffz8cEhwDTrjhYE26JdwHXwpIbXf7x0fiX9Q2WyhtcLtxYytoYkZ41ZC\n8IB+6/oAyZoy9NCVwxiPeO1UcRvgMlxLUyrszWVApWfDJyJUQOoVMZveBlEEeaGG\nF5niW1fezHPANtdaBwK9NzyiMTSZMQ==\n-----END PUBLIC KEY-----", + "sha" : "SHA-224", + "type" : "DSAVer", + "key" : { + "g" : "16a65c58204850704e7502a39757040d34da3a3478c154d4e4a5c02d242ee04f96e61e4bd0904abdac8f37eeb1e09f3182d23c9043cb642f88004160edf9ca09b32076a79c32a627f2473e91879ba2c4e744bd2081544cb55b802c368d1fa83ed489e94e0fa0688e32428a5c78c478c68d0527b71c9a3abb0b0be12c44689639e7d3ce74db101a65aa2b87f64c6826db3ec72f4b5599834bb4edb02f7c90e9a496d3a55d535bebfc45d4f619f63f3dedbb873925c2f224e07731296da887ec1e4748f87efb5fdeb75484316b2232dee553ddaf02112b0d1f02da30973224fe27aeda8b9d4b2922d9ba8be39ed9e103a63c52810bc688b7e2ed4316e1ef17dbde", + "keyType" : "DSA public key", + "p" : "08f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667", + "q" : "0baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d", + "y" : "1e77f842b1ae0fcd9929d394161d41e14614ff7507a9a31f4a1f14d22e2a627a1f4e596624883f1a5b168e9425146f22d5f6ee28757414714bb994ba1129f015d6e04a717edf9b530a5d5cab94f14631e8b4cf79aeb358cc741845553841e8ac461630e804a62f43676ba6794af66899c377b869ea612a7b9fe6611aa96be52eb8b62c979117bbbcca8a7ec1e1ffab1c7dfcfc7048700d3ae3858136e897701d7c2921b5dfef1d1f897f50d96ca1b5c2edc58cada18919e35642f0807eebfa00c99a32f4d095c3188f78ed54711be0325c4b532aeccd6540a567c327225440ea15319bde06510479a1861799e25b57decc73c036d75a0702bd373ca231349931" + }, + "tests" : [ + { + "comment" : "valid", + "message" : "48656c6c6f", + "result" : "valid", + "sig" : "303d021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236", + "tcId" : 6 + }, + { + "comment" : "random signature", + "message" : "48656c6c6f", + "result" : "valid", + "sig" : "303c021c5970bf65c8cd0da10edfe80430ab0b456cefbc3913116a31f024f240021c58ca06a899c7fadedb2d31abf917f9de2e4b97d1b3c323de04fd519d", + "tcId" : 7 + }, + { + "comment" : "random signature", + "message" : "48656c6c6f", + "result" : "valid", + "sig" : "303d021c00ff3f02204b98d07a502c00ff8a59a41497c38f5193e68ccc16d080021d00b51491eae8112ce48ed85896ba2632cd90fd02e83a7a17a420157b0e", + "tcId" : 8 + }, + { + "comment" : "random signature", + "message" : "48656c6c6f", + "result" : "valid", + "sig" : "303d021c39fcb3f986c4fb681f2f5d4a50dd9b3b898ca8df674fbf2760666294021d00b0205076df3997e815fefa0a20e33700460ec66f53415799eb58802a", + "tcId" : 9 + }, + { + "comment" : "random signature", + "message" : "48656c6c6f", + "result" : "valid", + "sig" : "303e021d008588cdf67cff154f19b9007b0b9e8149902c24771435c02c807713e5021d008595d7291eabc7bd81dc7566544e8abba81b764d4edb0dc619cf14c0", + "tcId" : 10 + }, + { + "comment" : "random signature", + "message" : "48656c6c6f", + "result" : "valid", + "sig" : "303c021c521c90b08df83c821e329c7275b88648a9c16031b3acd223806a61bd021c6443cc6666b43702f1a158430ce20529883b03e02ce2d6869c62084e", + "tcId" : 11 + }, + { + "comment" : "Legacy:ASN encoding of s misses leading 0", + "message" : "48656c6c6f", + "result" : "acceptable", + "sig" : "303c021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021cade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236", + "tcId" : 12 + }, + { + "comment" : "BER:long form encoding of length", + "message" : "48656c6c6f", + "result" : "acceptable", + "sig" : "30813d021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236", + "tcId" : 13 + }, + { + "comment" : "BER:long form encoding of length", + "message" : "48656c6c6f", + "result" : "acceptable", + "sig" : "303e02811c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236", + "tcId" : 14 + }, + { + "comment" : "BER:long form encoding of length", + "message" : "48656c6c6f", + "result" : "acceptable", + "sig" : "303e021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd02811d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236", + "tcId" : 15 + }, + { + "comment" : "BER:length contains leading 0", + "message" : "48656c6c6f", + "result" : "acceptable", + "sig" : "3082003d021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236", + "tcId" : 16 + }, + { + "comment" : "BER:length contains leading 0", + "message" : "48656c6c6f", + "result" : "acceptable", + "sig" : "303f0282001c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236", + "tcId" : 17 + }, + { + "comment" : "BER:length contains leading 0", + "message" : "48656c6c6f", + "result" : "acceptable", + "sig" : "303f021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd0282001d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236", + "tcId" : 18 + }, + { + "comment" : "BER:indefinite length", + "message" : "48656c6c6f", + "result" : "acceptable", + "sig" : "3080021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe87862360000", + "tcId" : 19 + }, + { + "comment" : "BER:prepending 0's to integer", + "message" : "48656c6c6f", + "result" : "acceptable", + "sig" : "303f021e00001e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236", + "tcId" : 20 + }, + { + "comment" : "BER:prepending 0's to integer", + "message" : "48656c6c6f", + "result" : "acceptable", + "sig" : "303f021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021f000000ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236", + "tcId" : 21 + }, + { + "comment" : "wrong length", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "303e021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236", + "tcId" : 22 + }, + { + "comment" : "wrong length", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "303c021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236", + "tcId" : 23 + }, + { + "comment" : "wrong length", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "303d021d1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236", + "tcId" : 24 + }, + { + "comment" : "wrong length", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "303d021b1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236", + "tcId" : 25 + }, + { + "comment" : "wrong length", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "303d021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021e00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236", + "tcId" : 26 + }, + { + "comment" : "wrong length", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "303d021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021c00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236", + "tcId" : 27 + }, + { + "comment" : "uint32 overflow in length", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "3085010000003d021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236", + "tcId" : 28 + }, + { + "comment" : "uint32 overflow in length", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "30420285010000001c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236", + "tcId" : 29 + }, + { + "comment" : "uint32 overflow in length", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "3042021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd0285010000001d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236", + "tcId" : 30 + }, + { + "comment" : "uint64 overflow in length", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "308901000000000000003d021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236", + "tcId" : 31 + }, + { + "comment" : "uint64 overflow in length", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "3046028901000000000000001c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236", + "tcId" : 32 + }, + { + "comment" : "uint64 overflow in length", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "3046021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd028901000000000000001d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236", + "tcId" : 33 + }, + { + "comment" : "length = 2**31 - 1", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "30847fffffff021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236", + "tcId" : 34 + }, + { + "comment" : "length = 2**31 - 1", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "304102847fffffff1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236", + "tcId" : 35 + }, + { + "comment" : "length = 2**31 - 1", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "3041021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd02847fffffff00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236", + "tcId" : 36 + }, + { + "comment" : "length = 2**32 - 1", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "3084ffffffff021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236", + "tcId" : 37 + }, + { + "comment" : "length = 2**32 - 1", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "30410284ffffffff1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236", + "tcId" : 38 + }, + { + "comment" : "length = 2**32 - 1", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "3041021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd0284ffffffff00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236", + "tcId" : 39 + }, + { + "comment" : "length = 2**40 - 1", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "3085ffffffffff021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236", + "tcId" : 40 + }, + { + "comment" : "length = 2**40 - 1", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "30420285ffffffffff1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236", + "tcId" : 41 + }, + { + "comment" : "length = 2**40 - 1", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "3042021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd0285ffffffffff00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236", + "tcId" : 42 + }, + { + "comment" : "length = 2**64 - 1", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "3088ffffffffffffffff021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236", + "tcId" : 43 + }, + { + "comment" : "length = 2**64 - 1", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "30450288ffffffffffffffff1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236", + "tcId" : 44 + }, + { + "comment" : "length = 2**64 - 1", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "3045021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd0288ffffffffffffffff00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236", + "tcId" : 45 + }, + { + "comment" : "incorrect length", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "30ff021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236", + "tcId" : 46 + }, + { + "comment" : "incorrect length", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "303d02ff1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236", + "tcId" : 47 + }, + { + "comment" : "incorrect length", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "303d021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd02ff00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236", + "tcId" : 48 + }, + { + "comment" : "indefinte length without termination", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "3080021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236", + "tcId" : 49 + }, + { + "comment" : "indefinte length without termination", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "303d02801e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236", + "tcId" : 50 + }, + { + "comment" : "indefinte length without termination", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "303d021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd028000ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236", + "tcId" : 51 + }, + { + "comment" : "removing sequence", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "", + "tcId" : 52 + }, + { + "comment" : "appending 0's to sequence", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "303f021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe87862360000", + "tcId" : 53 + }, + { + "comment" : "prepending 0's to sequence", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "303f0000021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236", + "tcId" : 54 + }, + { + "comment" : "appending unused 0's", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "303d021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe87862360000", + "tcId" : 55 + }, + { + "comment" : "appending unused 0's", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "303f021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd0000021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236", + "tcId" : 56 + }, + { + "comment" : "appending null value", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "303f021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe87862360500", + "tcId" : 57 + }, + { + "comment" : "appending null value", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "303f021e1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd0500021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236", + "tcId" : 58 + }, + { + "comment" : "appending null value", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "303f021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021f00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe87862360500", + "tcId" : 59 + }, + { + "comment" : "including garbage", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "3042498177303d021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236", + "tcId" : 60 + }, + { + "comment" : "including garbage", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "30412500303d021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236", + "tcId" : 61 + }, + { + "comment" : "including garbage", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "303f303d021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe87862360004deadbeef", + "tcId" : 62 + }, + { + "comment" : "including garbage", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "30422221498177021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236", + "tcId" : 63 + }, + { + "comment" : "including garbage", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "304122202500021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236", + "tcId" : 64 + }, + { + "comment" : "including garbage", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "3045221e021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd0004deadbeef021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236", + "tcId" : 65 + }, + { + "comment" : "including garbage", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "3042021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd2222498177021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236", + "tcId" : 66 + }, + { + "comment" : "including garbage", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "3041021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd22212500021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236", + "tcId" : 67 + }, + { + "comment" : "including garbage", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "3045021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd221f021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe87862360004deadbeef", + "tcId" : 68 + }, + { + "comment" : "including undefined tags", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "3045aa00bb00cd00303d021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236", + "tcId" : 69 + }, + { + "comment" : "including undefined tags", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "3043aa02aabb303d021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236", + "tcId" : 70 + }, + { + "comment" : "including undefined tags", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "30452224aa00bb00cd00021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236", + "tcId" : 71 + }, + { + "comment" : "including undefined tags", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "30432222aa02aabb021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236", + "tcId" : 72 + }, + { + "comment" : "including undefined tags", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "3045021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd2225aa00bb00cd00021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236", + "tcId" : 73 + }, + { + "comment" : "including undefined tags", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "3043021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd2223aa02aabb021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236", + "tcId" : 74 + }, + { + "comment" : "using composition with indefinite length", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "3080303d021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe87862360000", + "tcId" : 75 + }, + { + "comment" : "using composition with indefinite length", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "30412280021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd0000021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236", + "tcId" : 76 + }, + { + "comment" : "using composition with indefinite length", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "3041021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd2280021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe87862360000", + "tcId" : 77 + }, + { + "comment" : "using composition with wrong tag", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "3080313d021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe87862360000", + "tcId" : 78 + }, + { + "comment" : "using composition with wrong tag", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "30412280031c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd0000021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236", + "tcId" : 79 + }, + { + "comment" : "using composition with wrong tag", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "3041021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd2280031d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe87862360000", + "tcId" : 80 + }, + { + "comment" : "changing tag value", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "2e3d021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236", + "tcId" : 81 + }, + { + "comment" : "changing tag value", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "323d021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236", + "tcId" : 82 + }, + { + "comment" : "changing tag value", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "ff3d021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236", + "tcId" : 83 + }, + { + "comment" : "changing tag value", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "303d001c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236", + "tcId" : 84 + }, + { + "comment" : "changing tag value", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "303d041c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236", + "tcId" : 85 + }, + { + "comment" : "changing tag value", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "303dff1c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236", + "tcId" : 86 + }, + { + "comment" : "changing tag value", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "303d021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd001d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236", + "tcId" : 87 + }, + { + "comment" : "changing tag value", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "303d021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd041d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236", + "tcId" : 88 + }, + { + "comment" : "changing tag value", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "303d021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cdff1d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236", + "tcId" : 89 + }, + { + "comment" : "dropping value of sequence", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "3000", + "tcId" : 90 + }, + { + "comment" : "using composition", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "3041300102303c1c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236", + "tcId" : 91 + }, + { + "comment" : "using composition", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "3041222002011e021b41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236", + "tcId" : 92 + }, + { + "comment" : "using composition", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "3041021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd2221020100021cade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236", + "tcId" : 93 + }, + { + "comment" : "truncate sequence", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "303c021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe87862", + "tcId" : 94 + }, + { + "comment" : "truncate sequence", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "303c1c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236", + "tcId" : 95 + }, + { + "comment" : "prepend empty sequence", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "303f3000021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236", + "tcId" : 96 + }, + { + "comment" : "append empty sequence", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "303f021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe87862363000", + "tcId" : 97 + }, + { + "comment" : "sequence of sequence", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "303f303d021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236", + "tcId" : 98 + }, + { + "comment" : "truncated sequence", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "301e021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd", + "tcId" : 99 + }, + { + "comment" : "repeat element in sequence", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "305c021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236", + "tcId" : 100 + }, + { + "comment" : "removing integer", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "301f021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236", + "tcId" : 101 + }, + { + "comment" : "appending 0's to integer", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "303f021e1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd0000021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236", + "tcId" : 102 + }, + { + "comment" : "appending 0's to integer", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "303f021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021f00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe87862360000", + "tcId" : 103 + }, + { + "comment" : "dropping value of integer", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "30210200021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236", + "tcId" : 104 + }, + { + "comment" : "dropping value of integer", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "3020021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd0200", + "tcId" : 105 + }, + { + "comment" : "modify first byte of integer", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "303d021c1f41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236", + "tcId" : 106 + }, + { + "comment" : "modify first byte of integer", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "303d021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d01ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236", + "tcId" : 107 + }, + { + "comment" : "modify last byte of integer", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "303d021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cc021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236", + "tcId" : 108 + }, + { + "comment" : "modify last byte of integer", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "303d021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786237", + "tcId" : 109 + }, + { + "comment" : "truncate integer", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "303c021b1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236", + "tcId" : 110 + }, + { + "comment" : "truncate integer", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "303c021b41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236", + "tcId" : 111 + }, + { + "comment" : "truncate integer", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "303c021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021c00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe87862", + "tcId" : 112 + }, + { + "comment" : "leading ff in integer", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "303e021dff1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236", + "tcId" : 113 + }, + { + "comment" : "leading ff in integer", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "303e021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021eff00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236", + "tcId" : 114 + }, + { + "comment" : "infinity", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "3022090180021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236", + "tcId" : 115 + }, + { + "comment" : "infinity", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "3021021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd090180", + "tcId" : 116 + }, + { + "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "303e021d00d9384b2032d060e59848f87cb4535936bc25fa77959e96d7f88e332a021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236", + "tcId" : 117 + }, + { + "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "303e021dff634b1dd327de7125da7903ad2163ca2addc096101fd395567ee36070021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236", + "tcId" : 118 + }, + { + "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "303d021ce1be4b8652a896fa469f01eb15246e4f330cb7bc2546e9e8c4473633021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236", + "tcId" : 119 + }, + { + "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "303e021d009cb4e22cd8218eda2586fc52de9c35d5223f69efe02c6aa9811c9f90021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236", + "tcId" : 120 + }, + { + "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "303e021dff26c7b4dfcd2f9f1a67b707834baca6c943da05886a6169280771ccd6021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236", + "tcId" : 121 + }, + { + "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "303e021d011e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236", + "tcId" : 122 + }, + { + "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "303e021d00e1be4b8652a896fa469f01eb15246e4f330cb7bc2546e9e8c4473633021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236", + "tcId" : 123 + }, + { + "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "303d021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d0168dcf02f57b0caef7ddc183bee1ca94ee09c1a02ee4b0200a54dcb93", + "tcId" : 124 + }, + { + "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "303c021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021cf2efc2e24cbedb2fc00c236c5b2d1a430236b59b7880007f2ba2f8d9", + "tcId" : 125 + }, + { + "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "303d021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021dff5219a6772dc82cf0610be22bdb5b1e370e969830cc9a7ec017879dca", + "tcId" : 126 + }, + { + "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "303c021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021c0d103d1db34124d03ff3dc93a4d2e5bcfdc94a64877fff80d45d0727", + "tcId" : 127 + }, + { + "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "303d021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021dfe97230fd0a84f35108223e7c411e356b11f63e5fd11b4fdff5ab2346d", + "tcId" : 128 + }, + { + "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "303c021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021c5219a6772dc82cf0610be22bdb5b1e370e969830cc9a7ec017879dca", + "tcId" : 129 + }, + { + "comment" : "Signatures with special case values for r and s.", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "3022020100021dff450969597a870820211805983688387a10cd4dcc451a7f3f432a96a3", + "tcId" : 130 + }, + { + "comment" : "Signatures with special case values for r and s.", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "3006020100020100", + "tcId" : 131 + }, + { + "comment" : "Signatures with special case values for r and s.", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "3006020100020101", + "tcId" : 132 + }, + { + "comment" : "Signatures with special case values for r and s.", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "30060201000201f0", + "tcId" : 133 + }, + { + "comment" : "Signatures with special case values for r and s.", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "3022020100021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d", + "tcId" : 134 + }, + { + "comment" : "Signatures with special case values for r and s.", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "3022020100021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695e", + "tcId" : 135 + }, + { + "comment" : "Signatures with special case values for r and s.", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "3022020100021d0100000000000000000000000000000000000000000000000000000000", + "tcId" : 136 + }, + { + "comment" : "Signatures with special case values for r and s.", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "3082010802010002820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667", + "tcId" : 137 + }, + { + "comment" : "Signatures with special case values for r and s.", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "3008020100090380fe01", + "tcId" : 138 + }, + { + "comment" : "Signatures with special case values for r and s.", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "3022020101021dff450969597a870820211805983688387a10cd4dcc451a7f3f432a96a3", + "tcId" : 139 + }, + { + "comment" : "Signatures with special case values for r and s.", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "3006020101020100", + "tcId" : 140 + }, + { + "comment" : "Signatures with special case values for r and s.", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "3006020101020101", + "tcId" : 141 + }, + { + "comment" : "Signatures with special case values for r and s.", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "30060201010201f0", + "tcId" : 142 + }, + { + "comment" : "Signatures with special case values for r and s.", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "3022020101021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d", + "tcId" : 143 + }, + { + "comment" : "Signatures with special case values for r and s.", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "3022020101021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695e", + "tcId" : 144 + }, + { + "comment" : "Signatures with special case values for r and s.", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "3022020101021d0100000000000000000000000000000000000000000000000000000000", + "tcId" : 145 + }, + { + "comment" : "Signatures with special case values for r and s.", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "3082010802010102820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667", + "tcId" : 146 + }, + { + "comment" : "Signatures with special case values for r and s.", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "3008020101090380fe01", + "tcId" : 147 + }, + { + "comment" : "Signatures with special case values for r and s.", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "30220201f0021dff450969597a870820211805983688387a10cd4dcc451a7f3f432a96a3", + "tcId" : 148 + }, + { + "comment" : "Signatures with special case values for r and s.", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "30060201f0020100", + "tcId" : 149 + }, + { + "comment" : "Signatures with special case values for r and s.", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "30060201f0020101", + "tcId" : 150 + }, + { + "comment" : "Signatures with special case values for r and s.", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "30060201f00201f0", + "tcId" : 151 + }, + { + "comment" : "Signatures with special case values for r and s.", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "30220201f0021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d", + "tcId" : 152 + }, + { + "comment" : "Signatures with special case values for r and s.", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "30220201f0021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695e", + "tcId" : 153 + }, + { + "comment" : "Signatures with special case values for r and s.", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "30220201f0021d0100000000000000000000000000000000000000000000000000000000", + "tcId" : 154 + }, + { + "comment" : "Signatures with special case values for r and s.", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "308201080201f002820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667", + "tcId" : 155 + }, + { + "comment" : "Signatures with special case values for r and s.", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "30080201f0090380fe01", + "tcId" : 156 + }, + { + "comment" : "Signatures with special case values for r and s.", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "303e021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d021dff450969597a870820211805983688387a10cd4dcc451a7f3f432a96a3", + "tcId" : 157 + }, + { + "comment" : "Signatures with special case values for r and s.", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "3022021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d020100", + "tcId" : 158 + }, + { + "comment" : "Signatures with special case values for r and s.", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "3022021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d020101", + "tcId" : 159 + }, + { + "comment" : "Signatures with special case values for r and s.", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "3022021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d0201f0", + "tcId" : 160 + }, + { + "comment" : "Signatures with special case values for r and s.", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "303e021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d", + "tcId" : 161 + }, + { + "comment" : "Signatures with special case values for r and s.", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "303e021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695e", + "tcId" : 162 + }, + { + "comment" : "Signatures with special case values for r and s.", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "303e021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d021d0100000000000000000000000000000000000000000000000000000000", + "tcId" : 163 + }, + { + "comment" : "Signatures with special case values for r and s.", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "30820124021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d02820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667", + "tcId" : 164 + }, + { + "comment" : "Signatures with special case values for r and s.", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "3024021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d090380fe01", + "tcId" : 165 + }, + { + "comment" : "Signatures with special case values for r and s.", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "303e021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695e021dff450969597a870820211805983688387a10cd4dcc451a7f3f432a96a3", + "tcId" : 166 + }, + { + "comment" : "Signatures with special case values for r and s.", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "3022021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695e020100", + "tcId" : 167 + }, + { + "comment" : "Signatures with special case values for r and s.", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "3022021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695e020101", + "tcId" : 168 + }, + { + "comment" : "Signatures with special case values for r and s.", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "3022021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695e0201f0", + "tcId" : 169 + }, + { + "comment" : "Signatures with special case values for r and s.", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "303e021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695e021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d", + "tcId" : 170 + }, + { + "comment" : "Signatures with special case values for r and s.", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "303e021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695e021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695e", + "tcId" : 171 + }, + { + "comment" : "Signatures with special case values for r and s.", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "303e021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695e021d0100000000000000000000000000000000000000000000000000000000", + "tcId" : 172 + }, + { + "comment" : "Signatures with special case values for r and s.", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "30820124021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695e02820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667", + "tcId" : 173 + }, + { + "comment" : "Signatures with special case values for r and s.", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "3024021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695e090380fe01", + "tcId" : 174 + }, + { + "comment" : "Signatures with special case values for r and s.", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "303e021d0100000000000000000000000000000000000000000000000000000000021dff450969597a870820211805983688387a10cd4dcc451a7f3f432a96a3", + "tcId" : 175 + }, + { + "comment" : "Signatures with special case values for r and s.", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "3022021d0100000000000000000000000000000000000000000000000000000000020100", + "tcId" : 176 + }, + { + "comment" : "Signatures with special case values for r and s.", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "3022021d0100000000000000000000000000000000000000000000000000000000020101", + "tcId" : 177 + }, + { + "comment" : "Signatures with special case values for r and s.", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "3022021d01000000000000000000000000000000000000000000000000000000000201f0", + "tcId" : 178 + }, + { + "comment" : "Signatures with special case values for r and s.", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "303e021d0100000000000000000000000000000000000000000000000000000000021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d", + "tcId" : 179 + }, + { + "comment" : "Signatures with special case values for r and s.", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "303e021d0100000000000000000000000000000000000000000000000000000000021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695e", + "tcId" : 180 + }, + { + "comment" : "Signatures with special case values for r and s.", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "303e021d0100000000000000000000000000000000000000000000000000000000021d0100000000000000000000000000000000000000000000000000000000", + "tcId" : 181 + }, + { + "comment" : "Signatures with special case values for r and s.", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "30820124021d010000000000000000000000000000000000000000000000000000000002820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667", + "tcId" : 182 + }, + { + "comment" : "Signatures with special case values for r and s.", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "3024021d0100000000000000000000000000000000000000000000000000000000090380fe01", + "tcId" : 183 + }, + { + "comment" : "Signatures with special case values for r and s.", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "3082012402820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667021dff450969597a870820211805983688387a10cd4dcc451a7f3f432a96a3", + "tcId" : 184 + }, + { + "comment" : "Signatures with special case values for r and s.", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "3082010802820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667020100", + "tcId" : 185 + }, + { + "comment" : "Signatures with special case values for r and s.", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "3082010802820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667020101", + "tcId" : 186 + }, + { + "comment" : "Signatures with special case values for r and s.", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "3082010802820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd6670201f0", + "tcId" : 187 + }, + { + "comment" : "Signatures with special case values for r and s.", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "3082012402820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d", + "tcId" : 188 + }, + { + "comment" : "Signatures with special case values for r and s.", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "3082012402820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695e", + "tcId" : 189 + }, + { + "comment" : "Signatures with special case values for r and s.", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "3082012402820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667021d0100000000000000000000000000000000000000000000000000000000", + "tcId" : 190 + }, + { + "comment" : "Signatures with special case values for r and s.", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "3082020a02820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd66702820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667", + "tcId" : 191 + }, + { + "comment" : "Signatures with special case values for r and s.", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "3082010a02820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667090380fe01", + "tcId" : 192 + }, + { + "comment" : "Signatures with special case values for r and s.", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "3024090380fe01021dff450969597a870820211805983688387a10cd4dcc451a7f3f432a96a3", + "tcId" : 193 + }, + { + "comment" : "Signatures with special case values for r and s.", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "3008090380fe01020100", + "tcId" : 194 + }, + { + "comment" : "Signatures with special case values for r and s.", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "3008090380fe01020101", + "tcId" : 195 + }, + { + "comment" : "Signatures with special case values for r and s.", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "3008090380fe010201f0", + "tcId" : 196 + }, + { + "comment" : "Signatures with special case values for r and s.", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "3024090380fe01021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d", + "tcId" : 197 + }, + { + "comment" : "Signatures with special case values for r and s.", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "3024090380fe01021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695e", + "tcId" : 198 + }, + { + "comment" : "Signatures with special case values for r and s.", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "3024090380fe01021d0100000000000000000000000000000000000000000000000000000000", + "tcId" : 199 + }, + { + "comment" : "Signatures with special case values for r and s.", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "3082010a090380fe0102820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667", + "tcId" : 200 + }, + { + "comment" : "Signatures with special case values for r and s.", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "300a090380fe01090380fe01", + "tcId" : 201 + } + ] + }, + { + "keyDer" : "308203423082023506072a8648ce3804013082022802820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d0282010016a65c58204850704e7502a39757040d34da3a3478c154d4e4a5c02d242ee04f96e61e4bd0904abdac8f37eeb1e09f3182d23c9043cb642f88004160edf9ca09b32076a79c32a627f2473e91879ba2c4e744bd2081544cb55b802c368d1fa83ed489e94e0fa0688e32428a5c78c478c68d0527b71c9a3abb0b0be12c44689639e7d3ce74db101a65aa2b87f64c6826db3ec72f4b5599834bb4edb02f7c90e9a496d3a55d535bebfc45d4f619f63f3dedbb873925c2f224e07731296da887ec1e4748f87efb5fdeb75484316b2232dee553ddaf02112b0d1f02da30973224fe27aeda8b9d4b2922d9ba8be39ed9e103a63c52810bc688b7e2ed4316e1ef17dbde0382010500028201001e77f842b1ae0fcd9929d394161d41e14614ff7507a9a31f4a1f14d22e2a627a1f4e596624883f1a5b168e9425146f22d5f6ee28757414714bb994ba1129f015d6e04a717edf9b530a5d5cab94f14631e8b4cf79aeb358cc741845553841e8ac461630e804a62f43676ba6794af66899c377b869ea612a7b9fe6611aa96be52eb8b62c979117bbbcca8a7ec1e1ffab1c7dfcfc7048700d3ae3858136e897701d7c2921b5dfef1d1f897f50d96ca1b5c2edc58cada18919e35642f0807eebfa00c99a32f4d095c3188f78ed54711be0325c4b532aeccd6540a567c327225440ea15319bde06510479a1861799e25b57decc73c036d75a0702bd373ca231349931", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIIDQjCCAjUGByqGSM44BAEwggIoAoIBAQCPeTXZuarpv6vtiHrPSVG28y7Fnjuv\nNxjo6sSWHz79NgbnQ1GpxBgzObgJ58KuHFObp0dbhdARrbi0eYd1SYRpXKwOjxSz\nNggooi/6JxEKPWKpk0U0CaD+aWxGWPhL3SCBnDcJoBBXsZWtzQAjPbpUhLYpH51k\njviDRIZ3l5zsBLQ0pqwudemYXeI9sCkvwRGMn/qdgYHnM423krcw17njSVkvaAmY\nchU5Feo9a4tGU8YzRY+AOzKkwuDycpAlbk4/ijsIOKHEUOThjBopo33fXqFD3ktm\n/wSQPtXPFiPhWNSHxgjpfyEc2B3KI8tuOAdl+CLjQr5ITAV2OTlgHNZnAh0AuvaW\npoV499/e5/pnyXfHhe8ysjO65YDAvNVpXQKCAQAWplxYIEhQcE51AqOXVwQNNNo6\nNHjBVNTkpcAtJC7gT5bmHkvQkEq9rI837rHgnzGC0jyQQ8tkL4gAQWDt+coJsyB2\np5wypifyRz6Rh5uixOdEvSCBVEy1W4AsNo0fqD7UielOD6BojjJCilx4xHjGjQUn\ntxyaOrsLC+EsRGiWOefTznTbEBplqiuH9kxoJts+xy9LVZmDS7TtsC98kOmkltOl\nXVNb6/xF1PYZ9j897buHOSXC8iTgdzEpbaiH7B5HSPh++1/et1SEMWsiMt7lU92v\nAhErDR8C2jCXMiT+J67ai51LKSLZuovjntnhA6Y8UoELxoi34u1DFuHvF9veA4IB\nBQACggEAHnf4QrGuD82ZKdOUFh1B4UYU/3UHqaMfSh8U0i4qYnofTllmJIg/GlsW\njpQlFG8i1fbuKHV0FHFLuZS6ESnwFdbgSnF+35tTCl1cq5TxRjHotM95rrNYzHQY\nRVU4QeisRhYw6ASmL0Nna6Z5SvZomcN3uGnqYSp7n+ZhGqlr5S64tiyXkRe7vMqK\nfsHh/6scffz8cEhwDTrjhYE26JdwHXwpIbXf7x0fiX9Q2WyhtcLtxYytoYkZ41ZC\n8IB+6/oAyZoy9NCVwxiPeO1UcRvgMlxLUyrszWVApWfDJyJUQOoVMZveBlEEeaGG\nF5niW1fezHPANtdaBwK9NzyiMTSZMQ==\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "DSAVer", + "key" : { + "g" : "16a65c58204850704e7502a39757040d34da3a3478c154d4e4a5c02d242ee04f96e61e4bd0904abdac8f37eeb1e09f3182d23c9043cb642f88004160edf9ca09b32076a79c32a627f2473e91879ba2c4e744bd2081544cb55b802c368d1fa83ed489e94e0fa0688e32428a5c78c478c68d0527b71c9a3abb0b0be12c44689639e7d3ce74db101a65aa2b87f64c6826db3ec72f4b5599834bb4edb02f7c90e9a496d3a55d535bebfc45d4f619f63f3dedbb873925c2f224e07731296da887ec1e4748f87efb5fdeb75484316b2232dee553ddaf02112b0d1f02da30973224fe27aeda8b9d4b2922d9ba8be39ed9e103a63c52810bc688b7e2ed4316e1ef17dbde", + "keyType" : "DSA public key", + "p" : "08f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667", + "q" : "0baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d", + "y" : "1e77f842b1ae0fcd9929d394161d41e14614ff7507a9a31f4a1f14d22e2a627a1f4e596624883f1a5b168e9425146f22d5f6ee28757414714bb994ba1129f015d6e04a717edf9b530a5d5cab94f14631e8b4cf79aeb358cc741845553841e8ac461630e804a62f43676ba6794af66899c377b869ea612a7b9fe6611aa96be52eb8b62c979117bbbcca8a7ec1e1ffab1c7dfcfc7048700d3ae3858136e897701d7c2921b5dfef1d1f897f50d96ca1b5c2edc58cada18919e35642f0807eebfa00c99a32f4d095c3188f78ed54711be0325c4b532aeccd6540a567c327225440ea15319bde06510479a1861799e25b57decc73c036d75a0702bd373ca231349931" + }, + "tests" : [ + { + "comment" : "random signature", + "message" : "54657374", + "result" : "valid", + "sig" : "303c021c50ab097237324f8fc734140e23c11d515939277a182712f7914986a1021c24a4522acf7885deae134d25b679fea410f8c24afdb140c909522d14", + "tcId" : 202 + }, + { + "comment" : "random signature", + "message" : "54657374", + "result" : "valid", + "sig" : "303d021c79bacf75ffe84e6a2159e0152d568781f7fd41e0a14c1200b21b21b7021d00962f1d0404b0318b0e6eee0b95d22d94eb36b51b6f8884e70b973812", + "tcId" : 203 + }, + { + "comment" : "random signature", + "message" : "54657374", + "result" : "valid", + "sig" : "303e021d008dea6005d17a3eaad584bed597ff29ca1c91833e1d93a398640a05c9021d00a871f0d68ac9ff53e4714555c8cdc498ccd28ec4924aaf42a65c0db9", + "tcId" : 204 + }, + { + "comment" : "random signature", + "message" : "54657374", + "result" : "valid", + "sig" : "303d021d00b5e1ee34d2b07ec24262238d3ef3f691827780baaa2107be3131cfb9021c2bdbe0d5cffee75072c5c4c358a7b6dac45e763555430739b593c2fe", + "tcId" : 205 + }, + { + "comment" : "random signature", + "message" : "54657374", + "result" : "valid", + "sig" : "303d021d00adf128e21e06d3d22c819904f0be159bdedfbf21fc22843255762b07021c646f551ee7e3455f8c3299e9568c581f81d31bc1d1a0373407b18dc6", + "tcId" : 206 + } + ] + } + ] +} diff --git a/testvectors/ecdh_webcrypto_test.json b/testvectors/ecdh_webcrypto_test.json new file mode 100644 index 0000000..87cebc9 --- /dev/null +++ b/testvectors/ecdh_webcrypto_test.json @@ -0,0 +1,1300 @@ +{ + "algorithm" : "ECDH", + "generatorVersion" : "0.0a11", + "numberOfTests" : 57, + "testGroups" : [ + { + "type" : "ECDHComp", + "tests" : [ + { + "comment" : "normal case", + "curve" : "P-256", + "name" : "EcdhTestVector", + "result" : "valid", + "shared" : "5af492c029f055e700150fdf074bbc3b376b3286a0e1a4feb267960bbb0a148e", + "tcId" : 1, + "private" : { + "crv" : "P-256", + "d" : "TEKm94QkBRnu2W9CQgBCYrabdRQ436q7mBfeypPoHIc", + "ext" : "true", + "kty" : "EC", + "x" : "WyqqM6oDsZdjGfMIvj6sGGkXhyB-6RPNgCNYBbHz7F4", + "y" : "h5IjGBoRRdQKxucb6rv-EVZwIqZv2XRLi3_rvK-dxSI" + }, + "public" : { + "crv" : "P-256", + "ext" : "true", + "kty" : "EC", + "x" : "yISNawZIGrhSC2XREZbJe30drwGpT6gWmocmXgm12So", + "y" : "0dac4Rq3NgDALW02mtKKwd0hPoqR-H3kK7FohxSMzkc" + } + }, + { + "comment" : "normal case", + "curve" : "P-384", + "name" : "EcdhTestVector", + "result" : "valid", + "shared" : "7ee811a7cc92be6c5d6879d6399c467675c34c1f9c2261e1df4ad7d4dc4de93d192a5020feeb61712e4401cf369700ff", + "tcId" : 2, + "private" : { + "crv" : "P-384", + "d" : "XPNFF3sB7GKqQwJJE7JfjRq-9B92mXqz1v1fWh6-uQ3mnecJw5JwbbWAPsI7NhAt", + "ext" : "true", + "kty" : "EC", + "x" : "ymo32uc2KIgSIck9N6h11vy4zGzXuOnw0-jvC3h_IqlOvEJ9gUXeK8XUkn7xBGvh", + "y" : "D0e3Bgt0wn4KwyJJDKwHqV6FB7xe3afuTXKBEV7hpj_rqFQqZZsrdz8TJUqjtD5Z" + }, + "public" : { + "crv" : "P-384", + "ext" : "true", + "kty" : "EC", + "x" : "y5F1hPIu6IHPMTVd_4jagQ4S6NqKEWrV4bF5Rr04FfqRRqWWoSBNBQVhQuK_OFur", + "y" : "0nxF1hhtRBy9qvLFZka-r4cSfZyb86ICsdIIIJqJ6My4vouAeLucCI5TTuJqTEQ-" + } + }, + { + "comment" : "edge cases for shared secret", + "curve" : "P-256", + "name" : "EcdhTestVector", + "result" : "valid", + "shared" : "0000000000000000000000000000000000000000000000000000000000000000", + "tcId" : 4, + "private" : { + "crv" : "P-256", + "d" : "V3__4ATEMyhY8ARpZPC-Tl_iZS6vzyYWdDu8Y6sBg3k", + "ext" : "true", + "kty" : "EC", + "x" : "I7gdSwHAhxe3tQ8izFrv0PsGLoIA2Mskr1QoWPE4Bi8", + "y" : "CNN26pJpxC4OZYPeFbigQYBnb4r1OrUsf1l2wz5uIuc" + }, + "public" : { + "crv" : "P-256", + "ext" : "true", + "kty" : "EC", + "x" : "Z_TxDYzhUV5lUiOTCuRbbYQwp1KNzMBZ7L9_8NSZzpQ", + "y" : "PVLyBeRI9xmjw-s9oUkWNH4Vurydaps86bzHPismQWg" + } + }, + { + "comment" : "edge cases for shared secret", + "curve" : "P-256", + "name" : "EcdhTestVector", + "result" : "valid", + "shared" : "00000000ffffffff00000000ffffffff00000000ffffffff0000000100000000", + "tcId" : 5, + "private" : { + "crv" : "P-256", + "d" : "FY8M1ObgQ6QJpszBP4-649T22PFI17GyzzxJeMqUGng", + "ext" : "true", + "kty" : "EC", + "x" : "SjM1g2j5_2Np3xDBYW_i7BsxFkFO2cl5OGRVGhfrHBg", + "y" : "AvVlj5C266JG6T5Ohhu2idHQcrIjuJsbvRApRAhXQvk" + }, + "public" : { + "crv" : "P-256", + "ext" : "true", + "kty" : "EC", + "x" : "3wOehQMUhX2O2yc_8yPZ0mb5l0jvPn_PUsqRbOs2PwM", + "y" : "zZycmVJCIQlJaHWyUSEz7taOqXI4v_0UEJQz2sSp-Nk" + } + }, + { + "comment" : "edge cases for shared secret", + "curve" : "P-256", + "name" : "EcdhTestVector", + "result" : "valid", + "shared" : "0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff00010001", + "tcId" : 6, + "private" : { + "crv" : "P-256", + "d" : "GQkQmmjEUaDxUMYyhE-cMN5WPQXe4YHR-Sd4b_bkD_0", + "ext" : "true", + "kty" : "EC", + "x" : "cTTJ44nkV_b62xyriRhErvgE0Ul0WY8594uT18wY2eI", + "y" : "lCFFPIrYYgK2qZCzIb8Mp6dT0-8UMEmc_HOU_R75coA" + }, + "public" : { + "crv" : "P-256", + "ext" : "true", + "kty" : "EC", + "x" : "JdqrnBMBeqmPeE1x15Q8XnaPABJIH7yncU43kF2FTwY", + "y" : "WPiNVKFUExBWMeKqfay65gysGzyd4XOfJ6nCv9I0oOw" + } + }, + { + "comment" : "edge cases for shared secret", + "curve" : "P-256", + "name" : "EcdhTestVector", + "result" : "valid", + "shared" : "7fff0001fffc0007fff0001fffc0007fff0001fffc0007fff0001fffc0007fff", + "tcId" : 7, + "private" : { + "crv" : "P-256", + "d" : "00-WuNQUk2E8yO_NxDljiGGOdWRVGL1sGd7JOOkPnOM", + "ext" : "true", + "kty" : "EC", + "x" : "2f8GYyCcsHFQo0hGPSu8FbTOIychG7d-b7d8iEch_-0", + "y" : "yCsGEV5BgWq-Y-7zt21qghpZVy9P3cMS09tC2DrO0QA" + }, + "public" : { + "crv" : "P-256", + "ext" : "true", + "kty" : "EC", + "x" : "gGBkbTWiSK0C0KjZBpUn0G6pwplS9Y2mCQusShezSx4", + "y" : "vmXp2Bh6znrY0dNYS07MxpmpV-4yfzwy6rrC3UlZetM" + } + }, + { + "comment" : "edge cases for shared secret", + "curve" : "P-256", + "name" : "EcdhTestVector", + "result" : "valid", + "shared" : "8000000000000000000000000000000000000000000000000000000000000004", + "tcId" : 8, + "private" : { + "crv" : "P-256", + "d" : "Wj2UZ9nw8WmL8VSGJ4L0NhUMjBA9iMqrImBT1zA_pcA", + "ext" : "true", + "kty" : "EC", + "x" : "LXoHReBeihHt83forxIbehHNNH1VLhs1eYvKUGkKrY0", + "y" : "uTDrHtcNtyhy-Y_6_Mc-t5e2-iOvqNWgJw7sC7AozgU" + }, + "public" : { + "crv" : "P-256", + "ext" : "true", + "kty" : "EC", + "x" : "q8GaAT7v2FB6SxuTPVFVM8y_rSoSnqiwpxZ_Hu8ObQI", + "y" : "nHZLhfynaWPPWAFvx1K9UdzX8z_UCU5d55A5SX550CY" + } + }, + { + "comment" : "edge cases for shared secret", + "curve" : "P-256", + "name" : "EcdhTestVector", + "result" : "valid", + "shared" : "ff00000001fffffffc00000007fffffff00000001fffffffc00000007fffffff", + "tcId" : 9, + "private" : { + "crv" : "P-256", + "d" : "X3n2bE6P1Vjxqea9LDFYrzhmrpNC6ec_AsYE0efWmbw", + "ext" : "true", + "kty" : "EC", + "x" : "g35sLwD15_TqXQUHszyc5c_N9hsfLqsFp9mtBjSmqSM", + "y" : "-UvQSiSIpJkLPEKy33MbvcJc9nENkv4QExgUBQB4HtE" + }, + "public" : { + "crv" : "P-256", + "ext" : "true", + "kty" : "EC", + "x" : "nhtwFE914Csb_UApjwESl2tZvPbtRJHPqISi4x2-y5o", + "y" : "SQBYhqVRzPNiih8_eNfCqRRQGc-SxYmdMbJwoisd2Fs" + } + }, + { + "comment" : "edge cases for shared secret", + "curve" : "P-256", + "name" : "EcdhTestVector", + "result" : "valid", + "shared" : "ffff00000003fffffff00000003fffffff00000003fffffff00000003fffffff", + "tcId" : 10, + "private" : { + "crv" : "P-256", + "d" : "GYByC6k5US0eYVKwWavZdx7F-OpKAbWiO-ZpsDU4Qr0", + "ext" : "true", + "kty" : "EC", + "x" : "lGtMphj7_zUNmVfFHAcS9z9OCSweJ04l6DkWSLBszHE", + "y" : "vGESfIjmiAXDa9zDhdHfBwBWWBxHmY86bc9TKCBSlng" + }, + "public" : { + "crv" : "P-256", + "ext" : "true", + "kty" : "EC", + "x" : "cnH8JXOPBGBW9uU-OZgIAev9HXPPlGwxcmFUHywlTyc", + "y" : "0lOb82YIt-6rvGd7oXZs_1mIcCj7D8oKEUZX5k105qg" + } + }, + { + "comment" : "edge cases for shared secret", + "curve" : "P-384", + "name" : "EcdhTestVector", + "result" : "valid", + "shared" : "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "tcId" : 11, + "private" : { + "crv" : "P-384", + "d" : "yUtG-GHczuzVFQuXWBtPedDrkt2tG4GeX_yy6V6Hm4005blcOLYd45gjX3N8zYKq", + "ext" : "true", + "kty" : "EC", + "x" : "XvcwMIRsP7gKVAjdPBhULB3ylSxbQyD1fBLFgakWnEFluAosTL2QU95E2xpVN0MV", + "y" : "uraiwhV9ED1BvbZPq5UitbdZg33hohJRadF86SCyN7-GmNrlOhEFqnF-o7PB9rDp" + }, + "public" : { + "crv" : "P-384", + "ext" : "true", + "kty" : "EC", + "x" : "gfuq69ezpardRLQ9VEmrstzpzpWxSRy4r1I_rOkKHg_kFSQzVn3vDNzEqQeKQHIA", + "y" : "1oBddqoXFUrLWBx0zVJ5JUGnt0OkcjJSNEKlM_BBq6XjO5-Ctpy9uS8lpk_49ih2" + } + }, + { + "comment" : "edge cases for shared secret", + "curve" : "P-384", + "name" : "EcdhTestVector", + "result" : "valid", + "shared" : "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002", + "tcId" : 12, + "private" : { + "crv" : "P-384", + "d" : "0N7muMMenSJu_bYD1y3wN7FIIGFBp60fq9ZNr_DyTEDFaRab1c2PLWnxZwvU1xm8", + "ext" : "true", + "kty" : "EC", + "x" : "M3DOkQjZ_j2pDm-PDGzdW88lBrWNfSolI7LyJJlsAFDO9cog1Lf_MWGm80oJDdgW", + "y" : "FfrGsxqv2nffIfMUy1GCEzLTPOeEr2m6_0PuMW9fm2UCAMsVUCxbzBtb1nyZXvFt" + }, + "public" : { + "crv" : "P-384", + "ext" : "true", + "kty" : "EC", + "x" : "MFLwgeT22ujEUvcNdw2mxUYaJtF-oCheDNYr6qfIRhroSvz5R3lBSMeZj0rquHhJ", + "y" : "iJ6-sff5hF5m2LniNu0JWAGz5htREd0C9036d9S2oFubcjApcHXNohUPya1P1TM0" + } + }, + { + "comment" : "edge cases for shared secret", + "curve" : "P-384", + "name" : "EcdhTestVector", + "result" : "valid", + "shared" : "00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff", + "tcId" : 13, + "private" : { + "crv" : "P-384", + "d" : "D7CfwAS8fz2OvdO9t33e1bFAW0fEYFQV4taAGHJVAnDNf8TmZXVFPOCvr7gpClTM", + "ext" : "true", + "kty" : "EC", + "x" : "175rvtMdoJASJSXZ4VsugjNMUIB9wpGSznSKUChjy-jq47szrk23ZpiC0yBXtk-v", + "y" : "_ZUyY4erc7k4B89v4n_kB6kTI1NBO2fxTxZabkubimochVwNvk0kbXQq41NLcZS5" + }, + "public" : { + "crv" : "P-384", + "ext" : "true", + "kty" : "EC", + "x" : "Gb-ku-UUrJjEFct4kO-FCIkUj67HU4j2VJBeGnrPC-bmXzJUwa39tChOIc4YrTrM", + "y" : "wZ6iWL9Z5S9L-9AbHReSxTNeSxqy56tfrGMP7cIOeP3GLip85xCl1HGyLc4gDCv_" + } + }, + { + "comment" : "edge cases for shared secret", + "curve" : "P-384", + "name" : "EcdhTestVector", + "result" : "valid", + "shared" : "0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff", + "tcId" : 14, + "private" : { + "crv" : "P-384", + "d" : "xgpoyacaA-DRj0mqSoDPW99cNakj57inqOZIC_aljU_-ja1QnveTu5VT-IErVFaJ", + "ext" : "true", + "kty" : "EC", + "x" : "lj9GrksnYrR5iKn1mIHL1IAuMP5B5Elp0Xvv27YI_PTQccaq-Ou5ntPylMUzHe1y", + "y" : "PAwkFHgnQuMabaPPjsIvr4DdBXSR1dJ00Asz6ZyslCorTVKCbxGQDo7qTtHTWKtT" + }, + "public" : { + "crv" : "P-384", + "ext" : "true", + "kty" : "EC", + "x" : "OCSThhnjCYVKqk07KFHarvYBy1-n5zHy71-nIFZ19yZn4wnaK3OzCDhHbvH-vfy_", + "y" : "oc9rkMnhsPjxuRxG4YIZ4SV67wSf1mMNeF8xefnXBw9_BIO857pbbHifq6k7K3K4" + } + }, + { + "comment" : "edge cases for shared secret", + "curve" : "P-384", + "name" : "EcdhTestVector", + "result" : "valid", + "shared" : "007fff0001fffc0007fff0001fffc0007fff0001fffc0007fff0001fffc0007fff0001fffc0007fff0001fffc0008000", + "tcId" : 15, + "private" : { + "crv" : "P-384", + "d" : "I6ItVmh5RIJtO8XLTtOromnKohI1JTbDzNo0hb-Q_Ri1TJ1kkqcznWN4yBmp0zpf", + "ext" : "true", + "kty" : "EC", + "x" : "wg18n8h9e5guY6l2vF7UdlWMeLKlk3X0-EBJctlkbSpOmBUKOUHLlPZ62zJcXH9c", + "y" : "38LiWgWKuv0NRjUc8rCFo2d6Q6T98KYC-DxXD9jepg11vtF5tNqn--ofXADnusHx" + }, + "public" : { + "crv" : "P-384", + "ext" : "true", + "kty" : "EC", + "x" : "0-m3-Cpll7v4BfekNYHAln410f-wlPXfaG2msh7DNzKZesFccMNsdDiidzq2rVQ1", + "y" : "1qsGv2ekstg34nybDH-FzDrf0kRuKKpLVgOU9JQ81FdsH4Bb_Uh3WoK4_jXtzM_Z" + } + }, + { + "comment" : "edge cases for shared secret", + "curve" : "P-384", + "name" : "EcdhTestVector", + "result" : "valid", + "shared" : "800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002", + "tcId" : 16, + "private" : { + "crv" : "P-384", + "d" : "bWHZtZfa2RzHtC0YGCUb-KOwmJUhqZUjgaU9rL2abeOdxqkModI_b35D3_dlS9Nh", + "ext" : "true", + "kty" : "EC", + "x" : "lctf7qgcgdK9ln0siFC1KkaKiDNgE51ulveCH65ZJ1xiy_6HFWvGljuDttMUkdq-", + "y" : "tXCGiAA0_9g8AET2oclM88neIGgDpmdHSHxslcAr0ds8Irl2sSAjraJ95NSu2gyn" + }, + "public" : { + "crv" : "P-384", + "ext" : "true", + "kty" : "EC", + "x" : "3sfFArTfOdx4alKo4SVuMNhLAPyQM6eJFttq3Ql5rqu_i5M1lvHtYeZqIq2cH6m9", + "y" : "QvGllFc0mOVgaAqQF_GvoXQmoVJg0QTIIabHh3Wspy7qy0irVm8dpKxzbit8qJOf" + } + }, + { + "comment" : "edge cases for shared secret", + "curve" : "P-384", + "name" : "EcdhTestVector", + "result" : "valid", + "shared" : "fff00000001fffffffc00000007fffffff00000001fffffffc00000007fffffff00000001fffffffc00000007fffffff", + "tcId" : 17, + "private" : { + "crv" : "P-384", + "d" : "mKcUqEZN55w554M6uYXPc1Kfei2DkBygNyAoQV8DtwYqmOUiECDxlyNQYludwUnG", + "ext" : "true", + "kty" : "EC", + "x" : "jOm7u_gNzMp5wd3aUrkybrTPSAGQ7mmuEkYqePSD_LM3TktieWl7dcgeQ73rNLFv", + "y" : "zCP24hQmQnEbi3iQC2VBn_1Ah-inR5ppHBgPzEvXWwFoz1lK_uzIKm69qoIgYZw9" + }, + "public" : { + "crv" : "P-384", + "ext" : "true", + "kty" : "EC", + "x" : "zbs2N62pGygHN1n2u4O0akBKWnvmWD7qLJu4TTlhRVxXzdmh9_6AtOM4dKy2GyXX", + "y" : "RmNU8rZfvXZjWRVtcAKs6hGWqRYXMvA0Vp5dNWqZcUnwgFnFXxk4f-3wtCsRHg6Q" + } + }, + { + "comment" : "edge cases for shared secret", + "curve" : "P-384", + "name" : "EcdhTestVector", + "result" : "valid", + "shared" : "ffffff00000003fffffff00000003fffffff00000003fffffff00000003fffffff00000003fffffff00000003fffffff", + "tcId" : 18, + "private" : { + "crv" : "P-384", + "d" : "wSOgjOGyS0THIPlyqZdqYTnSLi0UolDiO9gKInMIkThJi-77xLTiPpQdN124OyiR", + "ext" : "true", + "kty" : "EC", + "x" : "U1vW-LFEqwLorzODSawOWSrZdUiiRSM_vrzMGzz1VqzGM2iIDWSW8pBYeecvvFAe", + "y" : "UqmVNd3fqF_zdBhGbfCLoH1A2NBnuXWbnRKLgkrQM4qUJSI4zI3oLJcUBKyTbPhV" + }, + "public" : { + "crv" : "P-384", + "ext" : "true", + "kty" : "EC", + "x" : "FX2pFpSuM62j94lwjdrK-8ppETMSLJUZoSAGdhvDkZAlFgT--DrJXnZ18GldlQQC", + "y" : "Zajmf3FRa4jAEVbwLP3habKSJjF2jLhqUBNmh1nBnMJRjt07gEACpuwJhAxRdC_L" + } + }, + { + "comment" : "edge cases for shared secret", + "curve" : "P-384", + "name" : "EcdhTestVector", + "result" : "valid", + "shared" : "fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000fffffffe", + "tcId" : 19, + "private" : { + "crv" : "P-384", + "d" : "xh8uHXNp6vfEyQcCNQy50MOnMVFVbRb5_mgEimS9pWMwtdYTTtFvYZfyxI1KCTB1", + "ext" : "true", + "kty" : "EC", + "x" : "aIb04bpycj0d6zAvDMjTpM6T1FwDtnziNt8sQLqlAeuCKdQO619P9uwU4_tilLKq", + "y" : "Tq3rWf3EYkB1IxTDSoWhZNpC2h7kfpGtkbfyQqzviz6RWKp4Ue1ICfu9qVZa91eu" + }, + "public" : { + "crv" : "P-384", + "ext" : "true", + "kty" : "EC", + "x" : "q39AYquQt0BdQ6VKuiNC30e55iTHfHqs9ogJK_kunUCWu0vDsnn2tWVbYDii57go", + "y" : "uqIRUwq6RUG3v49Sy4L-8H9Czx6RO_x0o2ZoZjVjEYcdpEv7I3rwFqO1yLcSbrRS" + } + }, + { + "comment" : "edge cases for shared secret", + "curve" : "P-521", + "name" : "EcdhTestVector", + "result" : "valid", + "shared" : "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "tcId" : 20, + "private" : { + "crv" : "P-521", + "d" : "AVKh0rHG7Pkd3_PuLDYXWSHmODNUmBjhPcYkoayV1g3HZnZRlu1fROV3rOIloeHvRYdrFx_NB5INebN1qaUMNRqB", + "ext" : "true", + "kty" : "EC", + "x" : "AKlNmCvHHVNVD7yVQZDT0ndwQrHFb-CUb1Q5hpcyIZBfm6ztMv2w23vx6l4-7rWaxEaCGFhFuKs4UFt8JBIs3g6Z", + "y" : "AM9y8f1YkPLcaCxYgDGJVlltBFJNpRu6tFaMueJmi_4TQPdHMfUACPTu3ZPiMOJfLAHjdj-40SuS1DE95PcxdVtE" + }, + "public" : { + "crv" : "P-521", + "ext" : "true", + "kty" : "EC", + "x" : "AS3urkDLLXtha3NhL90XI0u07sy8om0WO7EbHvsPeJgM0iufl35-RuReyDHZzV10rh-AoHn8y1zITpqxnu8oblJ_", + "y" : "AC3Pf4WBRCJec-AxWwruShMAKA3GE5e-XD4HhAxEVsJQ8VDNT4dlBhjpmUs91Vl-Yq-nhAVSbVRceiYm8-ripeex" + } + }, + { + "comment" : "edge cases for shared secret", + "curve" : "P-521", + "name" : "EcdhTestVector", + "result" : "valid", + "shared" : "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001", + "tcId" : 21, + "private" : { + "crv" : "P-521", + "d" : "ATmak4nm7hXp1MKCw8hx9rnwRfslPzg0E48tyiLkTJq0PiUlXPIop9zJLOp_zTJxol0otFSGDMQHN7UUuOWataAG", + "ext" : "true", + "kty" : "EC", + "x" : "AVjKsZhF9cafY1ZWqEl5rWLBHKUYICfLSotbTrFxs1Gzqsp5rPvXEiGTw3JoUXUanYAiTlDO4D35pYKrehMka8e6", + "y" : "AZpeA_ZGbMfb9gefRvzM66QJF4ywd7fX4i7bD6LxWN6X4YvP0TA-9IgEY9P8rmNtEVWNHOQ7lYMXyG3pSJXCiVmo" + }, + "public" : { + "crv" : "P-521", + "ext" : "true", + "kty" : "EC", + "x" : "Ab3YIomLurxIHOuHAhK8KzsSUsU-YK4Gr379y2CHaIo9kgP_rh18DiXCoUEvoIIx8gwGTZzzOeRuTPbZRQo5tA8d", + "y" : "ADD0l0D-8kB5R3GyXenua2pqLjvxMB7XKkYTVTvikv-dr7kj5-zdWAI0bvdYua9iDydcbvNBIfCqnIMrcCuN-tTv" + } + }, + { + "comment" : "edge cases for shared secret", + "curve" : "P-521", + "name" : "EcdhTestVector", + "result" : "valid", + "shared" : "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002", + "tcId" : 22, + "private" : { + "crv" : "P-521", + "d" : "Ae0B8AuUv5AvAslCh-nNsc5Rp3aiJaOeDq2r5hDxZOtHXDFWPlYZLG4IVeRITPyvroD8ajdheE5fLTk9xkAwLAlN", + "ext" : "true", + "kty" : "EC", + "x" : "AMJZVTWNZBnvGzroqMvz7iQ_l7EdyH_wfH82VUN-yh5HRB8Zhixc1_ZrRAFIBTRXbG3OhpnkbBynsz93elFLmrS1", + "y" : "ADUZa4-xrZuR6TkvperZvyQpU9LA6anRWvtBpfErRRutoNOXNNqZd4iJM9UrOwgMuwD3EcjHi5LcFlU9fnhAX-4F" + }, + "public" : { + "crv" : "P-521", + "ext" : "true", + "kty" : "EC", + "x" : "AWImM20DIMkwVqKq5Oj8KGQB7lAiAamgp-MsdmgGpbGoRdHD7BC70po-yvLRKWx0j8wcvDtLBgSlN56X9IiV3_-8", + "y" : "ALjyFlEqqyfyfxY2USOCXRU1-NNCJgg95ZaX3AwhJK2osJI_5gl6ZGsR269YSc8lvzz-DMQSkSN6izsJewFYWE35" + } + }, + { + "comment" : "edge cases for shared secret", + "curve" : "P-521", + "name" : "EcdhTestVector", + "result" : "valid", + "shared" : "00003fffffff00000003fffffff00000003fffffff00000003fffffff00000003fffffff00000003fffffff00000003fffffff00000003fffffff00000003fffffff", + "tcId" : 23, + "private" : { + "crv" : "P-521", + "d" : "AHCj4dIfcZmOPuhsdHE1_QFbirc5UuwhQSVRGJvnNfMqbvkgwJdDwoh35_rOrvDobZkMCUo2gjywt-jeb1MoTXXL", + "ext" : "true", + "kty" : "EC", + "x" : "AckwlINJRsmZceEqzmdGd6OkBOpgGt7BuIL1_1qKj8KPd0IEVzJOnMIKtllYm6mcb5CjImhB9OTMf2TfbfikDx8z", + "y" : "AYop_NDJXvj0A2PHJ4oHLfNybIsJ_yuprFdBxil-CDxyYfOoxxKYwZJqv5dFvahgBq2pcxlUtY_edhyo3t87W5Vn" + }, + "public" : { + "crv" : "P-521", + "ext" : "true", + "kty" : "EC", + "x" : "AFRRtylPwcqFK3-rIUMWNocMLgrAOgcbHuBpzjmQe8H-F4PQb22UmMthmg5bV3HUTAUo8CN_fKYHG5Mp-vhlCDw0", + "y" : "APnnz_jAwOl6YVA6S-X3i32oAfBRIKgvAGP6-4a1rn3bUxbbX0E6DHxyvXDHBagiswvCTcpmbgf1K2DWl0lYAdvr" + } + }, + { + "comment" : "edge cases for shared secret", + "curve" : "P-521", + "name" : "EcdhTestVector", + "result" : "valid", + "shared" : "010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "tcId" : 24, + "private" : { + "crv" : "P-521", + "d" : "AWkrrEpAH1ySoeLzWa29MPCf1d_1AGnmgl5ctM38yHn5HJnANExaKUqMBrOBv5uqqplBUFX7nNL3l4dd7WqaPFIa", + "ext" : "true", + "kty" : "EC", + "x" : "AC3_tgsEuNpiRbo91tSKWj56AQpSbGt1tXpheP-BY-x73ByOHUyH6yiBYeHcdXwi1iLr9utUubAOk0eXUANOYOfe", + "y" : "AZPGwdcwZSHbhKuduwfvNyo44kzrWP7Hao6soA6tRAB8bWu-ZqY9VfazCp4UviSfL5npVBVlyWHrbJzm6_rZZ6u5" + }, + "public" : { + "crv" : "P-521", + "ext" : "true", + "kty" : "EC", + "x" : "ACpQ9eN9V7C6ykS76ZP0u-UARYdeEbXT1ktF1049JBufZvm7AjNXgEIh5smS5edyPsQ2E3CpKCrRb9zBsZDfeUmm", + "y" : "ADRPkod4ORmJNXBkni6W6xjFgQWzJYWyineMsSJcIx5SgFJzFd0wKpJ4r4NoMEQYP7Hro6pwuPb8lzsh3kXq8k3o" + } + }, + { + "comment" : "edge cases for shared secret", + "curve" : "P-521", + "name" : "EcdhTestVector", + "result" : "valid", + "shared" : "01ff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff", + "tcId" : 25, + "private" : { + "crv" : "P-521", + "d" : "AVvfMqtnNDa9_sm8S7JMZH6FGX8Rtx3uHHwwqabohiviiTJISFwRwEdc3rrO5XcEbY0R4h2JFj2D_51KB0TsYnt6", + "ext" : "true", + "kty" : "EC", + "x" : "Afrx9MyHjAQXLzWtY8E3Npgc5RHmb_7NJZBnC8IScQExr1Mw6YLdSIApLgebYCItsxn8NI1ePq7Yel40vdYjDmHF", + "y" : "AQgpwUfPeLtojxZr3CZ7TRkfOW94MFH6Qd3-RKrNxCfWhDbFn08eizxx9MeDYTTBi7QP7YjgGsNwQHdYynaQCrJl" + }, + "public" : { + "crv" : "P-521", + "ext" : "true", + "kty" : "EC", + "x" : "AapJCiTqodo1UEqh71rQPTFdFWAingHpYzYEcQkoNlaN78YHsEh13mq3t4rfAySlSHISiAxhLCUoNE8A0qJH9-uo", + "y" : "AbGIwEWcIGbHLtJ8jZdQZlvsq5PPXrp9nv66HuRZIvv4zFjE6EFlmiy05SRbQVdNIxXTPRYzTc3zD2ap0AI6Sp8F" + } + }, + { + "comment" : "edge cases for shared secret", + "curve" : "P-521", + "name" : "EcdhTestVector", + "result" : "valid", + "shared" : "01ff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff00010000", + "tcId" : 26, + "private" : { + "crv" : "P-521", + "d" : "AQRGx7aakMJAtvNZjVcMNtuPiKmi0sR4HbQvx2SiPwIE8av5AQ4489sfWCLJEQT1LJmr7z7uCs_RkZnYQfA5nsRY", + "ext" : "true", + "kty" : "EC", + "x" : "AOzcaMvbri-f4B1RYhnAj0-ma1NDDxi4bTiA56rGUB1jToLVVmtUlf19ejkW7IXaEbIxdOvoPFDyEuQ25lEVviI2", + "y" : "AAALPmt-i6XKCpayvbbEsXVQgACrzwFm1hH2apTQZ9AuXHMCxqlRtuLWox49b3UWQQxguKUxC-Wp3N6Vc69L0258" + }, + "public" : { + "crv" : "P-521", + "ext" : "true", + "kty" : "EC", + "x" : "ARcwdNExeWI1KkBYFq3NrPwHLihiab5Om7EWUye1rUJQ_sqBLSAZ8aH5gunT3LS4govxtGeFJT3591GYZCCx_YR4", + "y" : "AL6RaKyYB3FkjvdvupBdCR-TMtMFZoTeiYdiOF17lbowRVEuU0ueOZtC3g-oeUVdR38PAb8qjyBuTUjTfy-PAwFg" + } + }, + { + "comment" : "edge cases for shared secret", + "curve" : "P-521", + "name" : "EcdhTestVector", + "result" : "valid", + "shared" : "01ffc0007fff0001fffc0007fff0001fffc0007fff0001fffc0007fff0001fffc0007fff0001fffc0007fff0001fffc0007fff0001fffc0007fff0001fffc0007fff", + "tcId" : 27, + "private" : { + "crv" : "P-521", + "d" : "AEf0gpI9gWUpV2YOJXZbq-_NNs1-0gaz_cqsTCWJryIlZIFpjfAR7E7TYsVWJJOcQ06KThPTq_f465-pNYV6GM0e", + "ext" : "true", + "kty" : "EC", + "x" : "AbbjwscOPKDPxOhuY5Adis_BFWuAtvp6CACwigg7nQsVVMfmmz-2rabNDVM9xfO-IyJluN2iIXfWqfsso9ZfqwNa", + "y" : "AN0O-aSlTwMFZMh61_w6Dd6WFF4RSgvTUTKrgBbfwvJ51oEFS2N9wkAO6n9BF5LtGEs05Rk4c7YiHW7cduSTGaP7" + }, + "public" : { + "crv" : "P-521", + "ext" : "true", + "kty" : "EC", + "x" : "ALerrg1ExBfKvxgAcbHCrRng59VuQrYtenCecu0zFvM6qCfT-K25W10QlV0CUb2ghufXhEHoYcloPvqAs_9s4fbK", + "y" : "ADkJ75dRag1VYGkeFmYAoHo4srO0iLCnA-UkhCPnFnBeMgYymD1w2jgvQAgaklc0Hu-9UaD7p1_Nf-1TjpWJtUow" + } + }, + { + "comment" : "edge cases for shared secret", + "curve" : "P-521", + "name" : "EcdhTestVector", + "result" : "valid", + "shared" : "01ffffff00000001fffffffc00000007fffffff00000001fffffffc00000007fffffff00000001fffffffc00000007fffffff00000001fffffffc000000080000002", + "tcId" : 28, + "private" : { + "crv" : "P-521", + "d" : "AVq5Tiol6wETE9p3S4QwJkOnBOLHsjacK2jJwqKNg29fcQYU2F1VfIXn_z_W2gCOA1pfV1nxjFHy71Zbvjt0On74", + "ext" : "true", + "kty" : "EC", + "x" : "AAiC9FSE0AUJRyxhAyzUpiQ9jx6rK--jcvGKfjhV3wOQc8ESnfvM6Ht6a6q4et-ZpudHxtKYEVbg_Sj-DFPf3In-", + "y" : "AS4ou5BmSLHuNP15FUxCpaWYcVSAZbEpByTXeaAF4pGrjKAn-QJQTEoeCRzSpaRNOnNuQ4R_RmEYxhWBKGg0GMGV" + }, + "public" : { + "crv" : "P-521", + "ext" : "true", + "kty" : "EC", + "x" : "AIADDBIkyBDQ9Mdh5Q55qU38Z5MKqGaZMc6u-lYk_BxYqWpjzkBnNLFnfnEPNB5Pe1VB5rBZ2Bgnklo-E_DErnUV", + "y" : "ATMiYwjDaF7zYFgwtWB1j-yPSeB86uTsOl-jZn1xcuIrFJ5rt5SRZCD770ODhWqd0FZ6XimVkkN_C86DfLhRNFtV" + } + }, + { + "comment" : "edge cases for shared secret", + "curve" : "P-521", + "name" : "EcdhTestVector", + "result" : "valid", + "shared" : "01fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd", + "tcId" : 29, + "private" : { + "crv" : "P-521", + "d" : "AV9Wm2yFPuZTEtzoREML-T4ePjFF-qBX1fuKnACO_UXwGLXX63QY8BnW3yTKIRHsLbYZAYl-mcln98Lf031gFvE9", + "ext" : "true", + "kty" : "EC", + "x" : "AFRFfw2juwn-o9pRWj-iWoh6CJnQK-PQuGrRxgCv3-PY4MGCuEWkS9vm4uBoebJqLLrktoCQk9QajjOVO54eXX3Q", + "y" : "AWBlktVWdA9WSpA2tAU7qiJrt6wahs1APs0DpDra-co5-_qPVJ4MNRGccMm8NIalEpH-BKTzTa0ulEnkKO_WGkzH" + }, + "public" : { + "crv" : "P-521", + "ext" : "true", + "kty" : "EC", + "x" : "AcV8ffR7tx_RPXFPhG66Wy6v_YdvF_DPBRyC2MBdVnqkDA5qRbb13O7MPDOKIbZByBSPo0fYwWWuJJQyHy6ifvhB", + "y" : "AVEsOm9DnGCIOdriD6SoT3HpQV6AsJzKG51vehjIngB9QGWjwcMhTZc1vy4FqnOk135hOH18JdBMyp2RvezglWmQ" + } + }, + { + "comment" : "edge cases for shared secret", + "curve" : "P-521", + "name" : "EcdhTestVector", + "result" : "valid", + "shared" : "01fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe", + "tcId" : 30, + "private" : { + "crv" : "P-521", + "d" : "AE4aqLfxx8CRwT3QCLZlGuNRCmYhcpKx1cQKa5yYRCJdoRoFfHBmXKEFpPcn02d56w84wAxo5IqLuiSF6iwBXSP7", + "ext" : "true", + "kty" : "EC", + "x" : "ASeR1fEZFj-lqdUm56zzdw9ye2XQ9rZuNGed20Y89cvpCC3k-qGhjERJWVCJEwvbGWHfG3dikPws3bd4BpNF8imw", + "y" : "AUTDJdEeJ3cOzU0w5QHaygcoV7heHoc6mIxLepOattgSh86q9gpuMlEToVuILBB-XLmDXDPcUAfcTugkSgMt0Cb3" + }, + "public" : { + "crv" : "P-521", + "ext" : "true", + "kty" : "EC", + "x" : "AGjidY0tiJL7AbgOV75-ZWrkGFHTKhuYfycXv1yUfBUcy97QljiYb9SOHs8g_tdMc-iclHf9jMP33Anyc6mLWIke", + "y" : "AEWBC6A7bwhGzO7Km2FkS2gAMDm36KRmlOJ4y_EHSwh3wtC-AwMkUesZLwA7bIlsvLGom3MC4Hi9E7Nczgurhg0H" + } + }, + { + "comment" : "edge cases for ephemeral key", + "curve" : "P-256", + "name" : "EcdhTestVector", + "result" : "valid", + "shared" : "64ebddd0211545e08fff948c3c252bafdb61245146915b8524f27cd6ec766d4f", + "tcId" : 31, + "private" : { + "crv" : "P-256", + "d" : "9WHNIE2tXPb9P1qiTZSGfw8xzSIXbrwjDlu4IMNDGK4", + "ext" : "true", + "kty" : "EC", + "x" : "G5TtS3gQhifa-fzyckvupwbKxmfGuveNC2CwLpchqH8", + "y" : "FBD5sLTkev2U75DG792XrwCybeK4X-rSkP7OeenV668" + }, + "public" : { + "crv" : "P-256", + "ext" : "true", + "kty" : "EC", + "x" : "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "y" : "ZkhceA4vg9ckM71dhKBrtlQcKvMdrocXKL-FahdPk_Q" + } + }, + { + "comment" : "edge cases for ephemeral key", + "curve" : "P-256", + "name" : "EcdhTestVector", + "result" : "valid", + "shared" : "11c2b3d789d5879ae2b6c5bf25e970d246ae19f27e96d2a53b85b844662bfeba", + "tcId" : 32, + "private" : { + "crv" : "P-256", + "d" : "37nCPA2bNyQYlt2dwyPl499ok2n2P9GDC1PC6Kq3_ps", + "ext" : "true", + "kty" : "EC", + "x" : "qPLjpu-qN03vykV-b3Zmsev1gum3iwur3ptEBN1jqO4", + "y" : "33Y3hU4lZy8u_ZKc1TJGIhY5TFyqHWH7NGVwikCbE2g" + }, + "public" : { + "crv" : "P-256", + "ext" : "true", + "kty" : "EC", + "x" : "AAAAAP____8AAAAA_____wAAAAD_____AAAAAQAAAAA", + "y" : "RiwEZuQYAiONbJJey-_HR8_lBeoZavmi0RtihQ_OlG4" + } + }, + { + "comment" : "edge cases for ephemeral key", + "curve" : "P-256", + "name" : "EcdhTestVector", + "result" : "valid", + "shared" : "827b389dd5c08c79f1315302342539be601a7f755bdca98d6702846107a31870", + "tcId" : 33, + "private" : { + "crv" : "P-256", + "d" : "fQCkXannaJDeh2kAnq5HI7wLxvzj6x5t-HoWWOhDLMY", + "ext" : "true", + "kty" : "EC", + "x" : "_FJoFGfalGIOTH-b1D-ibY0CN8prxadt3__i8MY5nhw", + "y" : "DgvkRsg976wXQkGkRFNW8a8fN1Vr8bD3Ak3V03Q0wgQ" + }, + "public" : { + "crv" : "P-256", + "ext" : "true", + "kty" : "EC", + "x" : "AAD__wAA__8AAP__AAD__wAA__8AAP__AAD__wABAAE", + "y" : "aEyKlYbtb5y-RHBYp9ohCLqx5eCmDR9z5OLnE_Cj3-A" + } + }, + { + "comment" : "edge cases for ephemeral key", + "curve" : "P-256", + "name" : "EcdhTestVector", + "result" : "valid", + "shared" : "bb25fc9cb64eb69e52f9d1d4c0d9dc7563d2342738b8545bd849c9616f7c35b8", + "tcId" : 34, + "private" : { + "crv" : "P-256", + "d" : "7y30Hg3QXiSRil8iTHd33Y9yg3JzVR_PUJ2SaUeNfOQ", + "ext" : "true", + "kty" : "EC", + "x" : "HwhwsMS0T9wPDfjxu0mxkLOfESsQUmIYa4V1KwHrlDc", + "y" : "H5yuPQ9-ah6D2MO84W-0MBzRBQzBP4Q11teY74VB7ZA" + }, + "public" : { + "crv" : "P-256", + "ext" : "true", + "kty" : "EC", + "x" : "f_8AAf_8AAf_8AAf_8AAf_8AAf_8AAf_8AAf_8AAf_8", + "y" : "LiITyvAwM-D9D3lRFU9ubDqSRKcvrKZenOnutcjhzqk" + } + }, + { + "comment" : "edge cases for ephemeral key", + "curve" : "P-256", + "name" : "EcdhTestVector", + "result" : "valid", + "shared" : "01d6936718941de1c689a8d11cf98c0d50cd18b40589e5e4efc2ab7692e9a11d", + "tcId" : 35, + "private" : { + "crv" : "P-256", + "d" : "ynQhnwWzXOkr-9Ne4QB_C_gSAjx2gdpSX_aFifK9S0Q", + "ext" : "true", + "kty" : "EC", + "x" : "3v4g84h9rNVn81C14Uxr2QQWp1VZpW33GQ8qfm34ulI", + "y" : "SEPuncA58RBm9OslWclcvGWZOoNftu-1vu1Efc4sYiE" + }, + "public" : { + "crv" : "P-256", + "ext" : "true", + "kty" : "EC", + "x" : "gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQ", + "y" : "K-h4nbgbtIcKnmDFwYyAyD3kZCdygfGvHmQIQ6GjFI4" + } + }, + { + "comment" : "edge cases for ephemeral key", + "curve" : "P-256", + "name" : "EcdhTestVector", + "result" : "valid", + "shared" : "b040da667e626da3ecba81774abe5c78b0913269c4a338e96169280cd960cb11", + "tcId" : 36, + "private" : { + "crv" : "P-256", + "d" : "dbAXHkNIjNBS9ai8xc1rlIBwtq5u2HFxAHATVr7xORA", + "ext" : "true", + "kty" : "EC", + "x" : "ioFLm07OAbhKONV6TmTlamuJaIwHEzSeeGuNcosgoLk", + "y" : "jPuKN9axMkHxUMyjgbTTnE9Tq-QJq5u-gmnJ8Y2iFlQ" + }, + "public" : { + "crv" : "P-256", + "ext" : "true", + "kty" : "EC", + "x" : "_wAAAAH____8AAAAB_____AAAAAf____wAAAAH____8", + "y" : "XfgPxsria2wZUvvQDtF07hIJ0GkzX1tIWI4p6AuRka0" + } + }, + { + "comment" : "edge cases for ephemeral key", + "curve" : "P-256", + "name" : "EcdhTestVector", + "result" : "valid", + "shared" : "4936cc116991029c526353880d1662c358030966cd55a9a8160fe2d159aeb4e7", + "tcId" : 37, + "private" : { + "crv" : "P-256", + "d" : "XOqmj1_5DbRu0cV4_bPB1JTKV2EImMcAmCiQxztru9Y", + "ext" : "true", + "kty" : "EC", + "x" : "oXuqPe7_EUlvhfee5l1fOFn5X5Jb1wNjVcenVgTJyJg", + "y" : "29Xvv-xNR8wUyBM_47j4bGb-C3vDFXLKhv0iCc391vo" + }, + "public" : { + "crv" : "P-256", + "ext" : "true", + "kty" : "EC", + "x" : "__8AAAAD____8AAAAD____8AAAAD____8AAAAD____8", + "y" : "LGNlDmpdMy4ph90Jp5AI6PqrvTfknLAWv7ksjND12nc" + } + }, + { + "comment" : "edge cases for ephemeral key", + "curve" : "P-384", + "name" : "EcdhTestVector", + "result" : "valid", + "shared" : "4e895e34c332213a5df19fabddc6b902d692839babb725d3df788565dab301ce21297ac9bb22634d28f4591bdca4bbbb", + "tcId" : 38, + "private" : { + "crv" : "P-384", + "d" : "T1tn2EWp3XrtJUF4-8hqnhI17p1Y3MLSIw4g_yMkj1ZeJVbJxfeCYc-Kh5O34xL5", + "ext" : "true", + "kty" : "EC", + "x" : "SnFhQe1E4hE8LFnQIHsmKuPj1Hvfp7ghcjeQ6l1Abj1bdfwmQexehMePbqPkz7mx", + "y" : "FdjHSmVoLnYQaACnx952lcm_Le0dPco8Mf83dOx8nZ6JyWoDe1tk2eInNlmxyJD3" + }, + "public" : { + "crv" : "P-384", + "ext" : "true", + "kty" : "EC", + "x" : "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "y" : "PPme8E9RpepjC6P5-WDdWToUyb45_SvSFdO0sIqq-Gu_kn8sRuUqsG-3QriFDlIe" + } + }, + { + "comment" : "edge cases for ephemeral key", + "curve" : "P-384", + "name" : "EcdhTestVector", + "result" : "valid", + "shared" : "359842f1ba4c9be3d068c74399581ba6a322c6d3ab720d0224f71cf5ca550d1071a2b385adc8fb47fbfe74d25d4736a9", + "tcId" : 39, + "private" : { + "crv" : "P-384", + "d" : "50d0UvWbIrGM0eMD2D1wZuZPg6OCsnGbhPgVynGjTaKmbAPI4aj78fDP4HjyZNoe", + "ext" : "true", + "kty" : "EC", + "x" : "bIby6GKIm_c1VxP2_R3JJaD2a7WfrGIbGhKoFbDY6zWN4Lwzb8ujjRJhB0BlG4sK", + "y" : "dcKT0WCM0Sf9srQn-YUtmD--lpd9jZkD5AIWKzrDg10igwmh0lgQi_w1NgUguTXB" + }, + "public" : { + "crv" : "P-384", + "ext" : "true", + "kty" : "EC", + "x" : "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC", + "y" : "cyFSRC-27lw-bOHZIMBZvGI1Y4FNeQQrkDzmDx1Eh_zNRQqG2gPz5u1SXQIBe_2z" + } + }, + { + "comment" : "edge cases for ephemeral key", + "curve" : "P-384", + "name" : "EcdhTestVector", + "result" : "valid", + "shared" : "71716edde561d5f3160f49150d65d2d7288d828de14ca915b835547687e3b9156bc2575e24687393ad6aae3544367355", + "tcId" : 40, + "private" : { + "crv" : "P-384", + "d" : "rzWr72rzurTFbm6_jsnAgXH-H9VodWaGyETRKJC5n7ao06d5zoivfDUYh8iehcLH", + "ext" : "true", + "kty" : "EC", + "x" : "Ir2zHCrFMrmIUiUr4Zy6260S1oKzexrvWSUEu0e9BlXZZQqHf69RUmhxsbwPsf05", + "y" : "zRVH8sgQIsx9VOscHN-EAGyLiMQwny0x5faJVqFFE6uqtq05Jq7Peg0Jiwd-sEBk" + }, + "public" : { + "crv" : "P-384", + "ext" : "true", + "kty" : "EC", + "x" : "AAAAAP____8AAAAA_____wAAAAD_____AAAAAP____8AAAAA_____wAAAAD_____", + "y" : "cDcDhUE9Pv9vo0B7ok9oLCsBtRRF299e97DdCXnxfnE-CQgVcfHpTftmvyggAvOf" + } + }, + { + "comment" : "edge cases for ephemeral key", + "curve" : "P-384", + "name" : "EcdhTestVector", + "result" : "valid", + "shared" : "54a2e9e30ff3dcdf15bb0630dff2af17ae2ddadc9a908a6e844762af8f43b7dc3bb59212e626be44adf94efd3c9bf748", + "tcId" : 41, + "private" : { + "crv" : "P-384", + "d" : "lat_maoDiHjgtmOALbi0oV019jqEsoSKVEW8Hadq-sDPpexpBAH7c2TlUhfVKOfb", + "ext" : "true", + "kty" : "EC", + "x" : "k7C1k5ErkiAP3jUFHdgT5sw2WF4oPXNIUuLiWazarSE1mNY6uPCnvPvzc19-ufIR", + "y" : "p3OImY5TpcRNr0cht6RZOo14saiFmxNNQKWKXVmGl7s-9dJ9ulpYqf_Sp3vWts5-" + }, + "public" : { + "crv" : "P-384", + "ext" : "true", + "kty" : "EC", + "x" : "AAD__wAA__8AAP__AAD__wAA__8AAP__AAD__wAA__8AAP__AAD__wAA__8AAP__", + "y" : "ES4ZHx94u8VLbMTwseWa6Mb_Ggf1Eo5B36KCjhtlONT6LKI5TGqrNEncs_xOtEwJ" + } + }, + { + "comment" : "edge cases for ephemeral key", + "curve" : "P-384", + "name" : "EcdhTestVector", + "result" : "valid", + "shared" : "6125603f2419093887c94cdc24030a53774e68436d9db29e58199ff5043f38850c94a843ced979247f2ca1bd48e712f7", + "tcId" : 42, + "private" : { + "crv" : "P-384", + "d" : "OriTivAVWkEw0xPlfSEL1XuyfRoo9WXwPFrlaxFY_jHpWXKku0EjnQis9js5i716", + "ext" : "true", + "kty" : "EC", + "x" : "BnGd_rVJP9RPKD1nBm4EJHkAk6UuM3n1WH9-w2tUGC-HHM-ELlLY2imgCV205lLz", + "y" : "9DWhsjsMME952LVjIxeC8Gw-KTiK1jmnOTmWHbLj9lw0hiK8t9RPS4iQ4bCwxAB2" + }, + "public" : { + "crv" : "P-384", + "ext" : "true", + "kty" : "EC", + "x" : "AH__AAH__AAH__AAH__AAH__AAH__AAH__AAH__AAH__AAH__AAH__AAH__AAIAA", + "y" : "AopMjaWgURL-YCXvQZCJad4g0F2WaOXIUu8tSSFy3cKgpiL8SIFk_MGgdrhylCry" + } + }, + { + "comment" : "edge cases for ephemeral key", + "curve" : "P-384", + "name" : "EcdhTestVector", + "result" : "valid", + "shared" : "60d73748120e538409c65508f4fd2c4575ee333d1103be329fd95eda92fdb45665de27db2d3f3ba5c5ce0d448d33442d", + "tcId" : 43, + "private" : { + "crv" : "P-384", + "d" : "LgLDmLopfrvWYzRGKWleU8ZSMaPiSMLLBKrJWGwXPvD-USKpohFKBUCxI-x6hDuZ", + "ext" : "true", + "kty" : "EC", + "x" : "P0lK0BgW2hvIautb__wcM9wJxsgN0h_9jP6OEkt2uVQSlzOxnkWGjlQrnQthW8W2", + "y" : "h_lSVNmK7k9renQhp30NyVF_PTDhBNH7CDUQi2O9ttMZsu2LgMCzUmQYcdIRDcy8" + }, + "public" : { + "crv" : "P-384", + "ext" : "true", + "kty" : "EC", + "x" : "gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC", + "y" : "B5faTAdRztFt6A0Wq3xlSl3CfQkmJtCGWhkqHF6nwbiMn8qwV5RnQeQcwoyA7Aua" + } + }, + { + "comment" : "edge cases for ephemeral key", + "curve" : "P-384", + "name" : "EcdhTestVector", + "result" : "valid", + "shared" : "acafe3aa06c90ff391128a2ba4b569d3f76b65ff1ec1e9c98780722c336810768014be29db1c7b523c68f3246b2765c4", + "tcId" : 44, + "private" : { + "crv" : "P-384", + "d" : "u5P9WvZZwf3krTQVlA_9dx6HLwp4CwBuEWupeU7xskBvkFQkLEsWgc6ODACeDJ34", + "ext" : "true", + "kty" : "EC", + "x" : "aahIFrSc4nFAKY6U6YSFH8SbW5tLaXzgNUzMwFQB4mV9yshGl_J30i-pYrqgf-KT", + "y" : "kKd0wGLab0vwL9vcZXrF4f9Wwl_YpTtBgdTNBVAsfN7gnDO0_KgUjyiuC8V0YADC" + }, + "public" : { + "crv" : "P-384", + "ext" : "true", + "kty" : "EC", + "x" : "__AAAAAf____wAAAAH____8AAAAB_____AAAAAf____wAAAAH____8AAAAB_____", + "y" : "bHCJiub7MfovCGViry0QSGukxv1eQd_kqmFZi0cHo7wnamL-sbmFV-OxfAJfet9O" + } + }, + { + "comment" : "edge cases for ephemeral key", + "curve" : "P-384", + "name" : "EcdhTestVector", + "result" : "valid", + "shared" : "2f6bdffd0381853dc2c493512138ee843d4f7f0d19fde184f1a438887c741acb066654e45ea79d230c3f3cb376c22665", + "tcId" : 45, + "private" : { + "crv" : "P-384", + "d" : "t7k8StSVU9m_UnPXIr7cpsZHinyGKtb-ihWaapXGXvBb_Q_7DAkhlodltTuOjBNa", + "ext" : "true", + "kty" : "EC", + "x" : "rZ7Tz-zApVpyC7uD66RRSVxnXAtg9qLorxkVbamhRqt52ztcCT6isv5C73FO_J9S", + "y" : "SeQr0j5HOA0cdzcPNj1tHq5RNO7DXT47l07tk41gIEPN2TI6h8CQ1teO7oliUXzl" + }, + "public" : { + "crv" : "P-384", + "ext" : "true", + "kty" : "EC", + "x" : "____AAAAA_____AAAAA_____AAAAA_____AAAAA_____AAAAA_____AAAAA_____", + "y" : "SYerrkEoCcL6SP0jsb355iL1pgbEQRchX_phsY70blSn-78R-aa6WcmRtK5QH-3O" + } + }, + { + "comment" : "edge cases for ephemeral key", + "curve" : "P-384", + "name" : "EcdhTestVector", + "result" : "valid", + "shared" : "7ac7f7cf745457b1a58ea3cddc0337d47211b44403ab4ea47559be4350e8e87ef1aaf153e88eee72a3bdfa88aff1bad1", + "tcId" : 46, + "private" : { + "crv" : "P-384", + "d" : "G6nOPd7d4YRu2aiuR2rGsJhaHbgu-YD4KWcolBGqjhFF7r4vEut4Z7hJPHCmkYfo", + "ext" : "true", + "kty" : "EC", + "x" : "OdLPzPwjOGKxUaUEWtPkWQcU-lZMiMY7ltEg-sv8cDexBg1YAehFcvNHTNd9Eoco", + "y" : "4cv-rRGl9hZpU7SdqV25z_tQxBHl3H9M8zYJ-rQ1gvjsvszDI9lWfc2Yda6GEauI" + }, + "public" : { + "crv" : "P-384", + "ext" : "true", + "kty" : "EC", + "x" : "__________________________________________7_____AAAAAAAAAAD____-", + "y" : "cyFSRC-27lw-bOHZIMBZvGI1Y4FNeQQrkDzmDx1Eh_zNRQqG2gPz5u1SXQIBe_2z" + } + }, + { + "comment" : "edge cases for ephemeral key", + "curve" : "P-521", + "name" : "EcdhTestVector", + "result" : "valid", + "shared" : "008a0e65c8611c570562e3eef2172e5fef175d211ca7613d3f301dd8babd9b47d400c31551ac4c06ef3850750a4cc6a012f31bcc556c41ba61054eb6af6829360842", + "tcId" : 47, + "private" : { + "crv" : "P-521", + "d" : "AKpIH05r5B-hJdYsfs2K1lPebZvuR-CKsJizim-_8jVMkK26amEEKxpylsbVT-aP0kR6-Rx_Jxl9IzyBSyPyWHCt", + "ext" : "true", + "kty" : "EC", + "x" : "AP9uLiYau8O5k7k5b5HVp4wr56kfwhAkJk7K5GoGBaQ79oEgzdbbZA4-Xk5kvHcCt6A9JjhR98ADxmEoAR-GtHN6", + "y" : "ACu39ZDjMkyQwIVvi1B4bwOPxZcAuitpWsXGXkh4vWzxvL9hKQ1exhkyu1gLyYipMAM8zZRQgcnGqQncxm8syuWK" + }, + "public" : { + "crv" : "P-521", + "ext" : "true", + "kty" : "EC", + "x" : "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "y" : "ANIOyf6mtXfBDSbKG7RG9AspnmSLGtUIqtBoiW_uP45hS8YwVNV3K_AaZdQS4LyqjpZdL10zLX85-EbUQK4AH0-H" + } + }, + { + "comment" : "edge cases for ephemeral key", + "curve" : "P-521", + "name" : "EcdhTestVector", + "result" : "valid", + "shared" : "012d650d8f3b211999aea626d97a2a359c98cf42ee4a7ce3353ddfea8e303102d60f1b82c207524bfe2c8f280d9d6c1345fe3f61ff889071310cbc5644a6d8683e66", + "tcId" : 48, + "private" : { + "crv" : "P-521", + "d" : "AR4Zxy_JL1yzPdR6rG0nq-06vo32mba1JskRrZPRiBAjcf6dNrGITYhWC_V3gtyeEODQbSDlmdvbI4BLN8vPGfxe", + "ext" : "true", + "kty" : "EC", + "x" : "ACZGXGdGsWYaZ0fOuHCpoJ-8D_caLh8TQQYbcZgB8nXUpBKqn0vKcW1f9_XZVzTVYFKiDjyDIDH34dkf6d3yJwec", + "y" : "AKv_XqoNtUyzdkKqU1ivxekOMmpKa7PKe9PjeCF5pzeVVg-1-6QBZcVOmAlXm2Y-QARvqtvTQbx0FValfOTeNgAj" + }, + "public" : { + "crv" : "P-521", + "ext" : "true", + "kty" : "EC", + "x" : "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB", + "y" : "ABDlm-k8TyacAmnHnir9ZdauqptwHqzBlPs-4D30eEm_VQ7GNuvuDd1KFvHNlAZgWvOPWEVndw4_Jy1ojIMuhDVk" + } + }, + { + "comment" : "edge cases for ephemeral key", + "curve" : "P-521", + "name" : "EcdhTestVector", + "result" : "valid", + "shared" : "0090cd100d3a35ce5f9fc6c3dbefd3810d5096ed63e5ee046c26c28984f825a0ce6ff3d643e7ea1648b21dc8daad4286673aa84e28f256bbd978606a1fcca2942f7e", + "tcId" : 49, + "private" : { + "crv" : "P-521", + "d" : "AcfptciIDkTS-s55K0RvlPXZYl3MiXLWQIhQApWyG0rNBlExohWmt4I37TqsKPkuUetp6E5-LNjKfG72RFUZbfi2", + "ext" : "true", + "kty" : "EC", + "x" : "ADmHGMepW0phM-0eOFYStqNF3raQTXAi9FSxb0e8UJiElG4uB4qS_48UaRfqxOrmt-RUoB2lmqmVveoTdSdvtotC", + "y" : "AMxzlDgVrRolQOtp84UBNp9LX_n01wzS7y9RhaAQC_asgVt8IOymIuOAsdGo4JNeYUI7Zg30fS-elK8XVMa8DPzO" + }, + "public" : { + "crv" : "P-521", + "ext" : "true", + "kty" : "EC", + "x" : "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC", + "y" : "ANklT9-ABJasszeQsQPF7p-sEoMv5UbGMiJbD3_OPaRXSxqHm2I9ci-o_DTV_CqHMarWkamou4tVTJWgUdaqUFrP" + } + }, + { + "comment" : "edge cases for ephemeral key", + "curve" : "P-521", + "name" : "EcdhTestVector", + "result" : "valid", + "shared" : "019c5a8fb31bfec0a892308140c2d4db952066bf0fb5b613c2674634723269da8fd19f1f93cbab0acd80a268f9d108b9a6103505e710b49ed6f3ec10a9a1aab0cb1d", + "tcId" : 50, + "private" : { + "crv" : "P-521", + "d" : "AEYv-AnJxUVNa43Cn7jWp0rMBxXHi-pd25Nfu2wd2vVNiw1OAP_KhduvhluBC6KWTZhpHwCNJhbyy5WiMbbfiKxL", + "ext" : "true", + "kty" : "EC", + "x" : "AYMOoz0H-qWHNgCRhOi5vBMJcnSwGP9TKaNfoNthhA0misgNSJuLwEAUct3lk61FnOLDp-wOXWyWfxtiV14LZKIb", + "y" : "AYLV9C9-sY5659HSeOojg7nt3Y_TZKiZR_XaavQZZZT9HwWOFVCA8s4OAbURON0bCi1DBqInrCxJ7WiiXp3HmzyZ" + }, + "public" : { + "crv" : "P-521", + "ext" : "true", + "kty" : "EC", + "x" : "AAA_____AAAAA_____AAAAA_____AAAAA_____AAAAA_____AAAAA_____AAAAA_____AAAAA_____AAAAA_____", + "y" : "AM0oOdhXtGmfXI6KAZR4biaoYvCGtLqAdGrlIl7Tqmj5a3quxVIlgwu5j1LXUiEUGJe6SdejHrvwttfTE1LlJmGQ" + } + }, + { + "comment" : "edge cases for ephemeral key", + "curve" : "P-521", + "name" : "EcdhTestVector", + "result" : "valid", + "shared" : "001e6f34d1c431b605ba5ad341a6d4b21b7c9691d79ae8070fd56705d5ee60c98e3956f12ce58bb831452541b43ffafd102dea31bb4e964da6a3023745554011ebbe", + "tcId" : 51, + "private" : { + "crv" : "P-521", + "d" : "AeONg5fKDfXtk9-RlPUuOZz26gPs_jHUcxlqe5XPrG3PBxAmMQESzT1ZbWy1aZx6Gtqcq-rZOO2WrosQZgs-MV53", + "ext" : "true", + "kty" : "EC", + "x" : "ALwl2eMdd-N5-DAfX84o2w-_iUTtYgq47BBS5uSGUWcYHug7BU3CTUBrKmYafhUQIqnIYxRPsflRVMqnncnxJglb", + "y" : "AOq4DoCisqFOiANEtfs0lwIipGH_vkuPHGWNgaWw4oZlzT424fTyWIC4sj_RZc1sTPWD4kT5ROCnZcemPrVRkzyn" + }, + "public" : { + "crv" : "P-521", + "ext" : "true", + "kty" : "EC", + "x" : "AQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "y" : "AAgT2YKRGfQv-pX-qLqegeTNamypf7B3jhLl9d_jUgHdTMqOyg0uOVVVmXBBOB5qwfGN30x04LbpBBz9yh0cEDCR" + } + }, + { + "comment" : "edge cases for ephemeral key", + "curve" : "P-521", + "name" : "EcdhTestVector", + "result" : "valid", + "shared" : "01367e24697254f96336f32098b6a35dd364c1dfc897c03404ccc8b7b9d207b1fdb9c66bc55d586002c561651842f7a11a7b8f4208ffa14f2b81c867ed6ac5b311d8", + "tcId" : 52, + "private" : { + "crv" : "P-521", + "d" : "AEsWMPirCvc1jgUh5gZJQumH5N4pnOSFfhhCOuXC-URm2HqR6JudLVfMJ_2mSTDEf8ZtYb0Kw4N7s-D_VL_wlzvt", + "ext" : "true", + "kty" : "EC", + "x" : "AWZCsAy5TErC8oCtxpdkWNdeBmsBC_blA3Z9OTcgnfqH6Z6YQvUtj3_XaVS2vShKMd_xkPc9CyEjNPIsUJ_5miOd", + "y" : "Acgw-GCBGqMPwDF4k9giSYYiEXXYJUhe848wvoZfqL3OqY6cBY9bZXMGRMzwNWVjJK8TpITJHqUq_PXSQpRTrDVP" + }, + "public" : { + "crv" : "P-521", + "ext" : "true", + "kty" : "EC", + "x" : "Af8AAAAA_____wAAAAD_____AAAAAP____8AAAAA_____wAAAAD_____AAAAAP____8AAAAA_____wAAAAD_____", + "y" : "AB_oAMUOVAErdaM-S-fQfI1g8paAo5XpUaajHFCWsOqSj8LL8yfdeE3Ap8pG6nOZK3WLVkE2S0q6Oek3mKTZJaAI" + } + }, + { + "comment" : "edge cases for ephemeral key", + "curve" : "P-521", + "name" : "EcdhTestVector", + "result" : "valid", + "shared" : "0028cde4500ebb4f53aa89d08b162020d53921d43035d585d5645172334c9b0df46e6b0bf66a5240239d51ef1017c14173313317fb544a889efa83effccece7eaea5", + "tcId" : 53, + "private" : { + "crv" : "P-521", + "d" : "AGSRnAUCVCS-_7fN2JLqlXl1gLNlaiyaC9C6UKFmcZN4yeeg79TzMqFPwCHCrhhe89p2BAs4U9Y5gycIOmTa7B96", + "ext" : "true", + "kty" : "EC", + "x" : "AQ8Us1RKPVn2xxhkRI0_7tqkE5acYGGaG9hnqgp7Nbvw1UprVgWUO8tp2rwfyfvlGc56FIcbmahQTFhNnKq4k6T_", + "y" : "AAd77iaKst0JYgHEOnz79w-ZseypWs56oKGXzM1CJ_DUj3zHw45O2GhZ_VfAVEHd1prLKYgqN6n6FQ6EuWhJ9Qih" + }, + "public" : { + "crv" : "P-521", + "ext" : "true", + "kty" : "EC", + "x" : "Af8AAP__AAD__wAA__8AAP__AAD__wAA__8AAP__AAD__wAA__8AAP__AAD__wAA__8AAP__AAD__wAA__8AAQAA", + "y" : "AI3Rih9eSCFAvnm7ZaIa1gyJh-UyyENF8BNa_9Ruxx7wKxyjrVbzAdlV-jBsEi1EHW_tz4uFXvJWNQv2nSOnIHrZ" + } + }, + { + "comment" : "edge cases for ephemeral key", + "curve" : "P-521", + "name" : "EcdhTestVector", + "result" : "valid", + "shared" : "01f11556b0c2544695555c2c142ebbf72572244e043b755dfca7adcd32d1ff68177a70af88fdbad573f22943522c5e40a99794e3e629518d471f302bdd5cf0be729b", + "tcId" : 54, + "private" : { + "crv" : "P-521", + "d" : "ADl_dtWjNwzJxNPMypvvZQIh4hL8nLY-0GZQoinG9y5L9dh-erUW3nwCgLn1-mZI4F9qIxNxpdPL6WuapnyEJuPE", + "ext" : "true", + "kty" : "EC", + "x" : "AOVtRhkHpYEOdY37Ctitf8tdcazfFeYJpGDIND4IE5Zsurd8gqMeSyp89mOH84HYc1-sBF5JhQ-bF3Pqj2W4-vhi", + "y" : "ASX4TFfru6w_bk3u9k71gKNWFQgDENvSHSLRQhDSCi7w2PHTs9tdJM48O9C7WYw7EImq4oiK3D1jnHbkOyCwLfyd" + }, + "public" : { + "crv" : "P-521", + "ext" : "true", + "kty" : "EC", + "x" : "Af_AAH__AAH__AAH__AAH__AAH__AAH__AAH__AAH__AAH__AAH__AAH__AAH__AAH__AAH__AAH__AAH__AAH__", + "y" : "ALEcZo-9VJ82iJ97Y0NAUdom8VcFg5E2sbFKCRUtehgup4BsNUeKMtOqPJwWJ6YVGevscbNvp3RJAluIKeJ_MHg0" + } + }, + { + "comment" : "edge cases for ephemeral key", + "curve" : "P-521", + "name" : "EcdhTestVector", + "result" : "valid", + "shared" : "00f8f1e1940e2a69e733f8a7a5c9a2d30cad0dd901e702a0687cc83913f0123bbf9ffe5ae4ff6c5630118268e8e67f4327482b9b7e69a93ef4da1d3abe00e3692482", + "tcId" : 55, + "private" : { + "crv" : "P-521", + "d" : "AGiax25EUHBf6o5rTio6wNt2Z1BZdO3Y2ht6Nwj-nUi2sP8oGnmRfx1Qo3k8tGyzTke1Bisrhb_NFo_oByKuRVxt", + "ext" : "true", + "kty" : "EC", + "x" : "ATu4_yZKbhiOikpAwZFrAw5TthD8lUyOjEfH3F8Pwx65KrWdzCTsUxlytYdvO2VGVGGLrfIBRKQeQA6DHxTeRIN1", + "y" : "AY6_5hJv8HywySeUmLI64-Tyjrwof-9xEGkcF13wZC5t780Nsn78-whvVaeMxfl--bKWCF-8cq-ylayu-LRueG_p" + }, + "public" : { + "crv" : "P-521", + "ext" : "true", + "kty" : "EC", + "x" : "Af___wAAAAH____8AAAAB_____AAAAAf____wAAAAH____8AAAAB_____AAAAAf____wAAAAH____8AAAACAAAAC", + "y" : "AKp178Co2qwdc_MsnFUkFLzPRK-OdDMbR0OefcxJoTWz7mHp9pcX2JtLujVnoZWu2hP77GNL8phLXsa2-A9ZeO1a" + } + }, + { + "comment" : "edge cases for ephemeral key", + "curve" : "P-521", + "name" : "EcdhTestVector", + "result" : "valid", + "shared" : "008567b96fddfb4acc4b0317e5a8144b879e762bd611a8d8d0825c7af7a464d27eee6b721f7bf4aa431b095743299f36c27b0b520432472b040a9807f21abdb78dcb", + "tcId" : 56, + "private" : { + "crv" : "P-521", + "d" : "AMRVHZr067NGsXtKirPSRFaj2KL9oSIC90jdOYlU4CJTLzssF1bZC0BqnOX9AzxAz3C7-ny0LK7Ik3VbgnDy6GQ8", + "ext" : "true", + "kty" : "EC", + "x" : "ABLN5qTrWH6RKn_frzdnVX3XWnW-sQ63iWeknyzshq-U1Fw_tEFN0AN7sV-JzjQaDDkuHyegXmtxfNuJPBI2AzBe", + "y" : "AM6aaQYwMBmQKDRt1cvTDEdK6CMahJOePc7IYRix5VKgsbmBfCv7F9_xE5nexRTjDzGv309LnvVJQ0kk9Fv6f2u7" + }, + "public" : { + "crv" : "P-521", + "ext" : "true", + "kty" : "EC", + "x" : "Af_____________________________________________________________________________________9", + "y" : "ABDlm-k8TyacAmnHnir9ZdauqptwHqzBlPs-4D30eEm_VQ7GNuvuDd1KFvHNlAZgWvOPWEVndw4_Jy1ojIMuhDVk" + } + }, + { + "comment" : "edge cases for ephemeral key", + "curve" : "P-521", + "name" : "EcdhTestVector", + "result" : "valid", + "shared" : "01c0ed430408acb310910db1933c22d021030c8b9c011b201325484911eec542605283f2a41c02f20ea6d96291293ce16794a759bbe1428bd6f4bc53a1db40e80b0e", + "tcId" : 57, + "private" : { + "crv" : "P-521", + "d" : "AWFrDPqiz_GzwVebeJ-MTnUZsc0Aw-nLZ8PkYl70WQdMhFe9aMQTp5ocQCC0h1_QQBEQxzTYioxfyLTVqA7W7xQ9", + "ext" : "true", + "kty" : "EC", + "x" : "AfAnhZSidHsHhjPfcqc0MsllGBwegXg2tIcHQB3vOeRRvgjL_bLoaYHmp8fZ5ZVrBQcGQ7AMBfB86XiKe-27q_zS", + "y" : "AE16Vy45Ij40KlRqhAFe_SSI7u5tfr5GfAmAPyeHVlM7ryOAOoohrLymiwSLJEmHCukT97D3xbIPdX_1eQyPWrit" + }, + "public" : { + "crv" : "P-521", + "ext" : "true", + "kty" : "EC", + "x" : "Af_____________________________________________________________________________________-", + "y" : "ANklT9-ABJasszeQsQPF7p-sEoMv5UbGMiJbD3_OPaRXSxqHm2I9ci-o_DTV_CqHMarWkamou4tVTJWgUdaqUFrP" + } + } + ] + } + ] +} diff --git a/testvectors/ecdsa_test.json b/testvectors/ecdsa_test.json new file mode 100644 index 0000000..2322cf0 --- /dev/null +++ b/testvectors/ecdsa_test.json @@ -0,0 +1,2254 @@ +{ + "algorithm" : "ECDSA", + "generatorVersion" : "0.0a10", + "numberOfTests" : 273, + "testGroups" : [ + { + "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d030107034200044af4f6d1d734798d4c4c6f97c4fff392ee65dc252d617b154ca835ea1535b104fb069171d00e87a92e6c4db1d892bc09b04b5da8bd9b09cfaa41d0a526e55237", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAESvT20dc0eY1MTG+XxP/zku5l3CUt\nYXsVTKg16hU1sQT7BpFx0A6HqS5sTbHYkrwJsEtdqL2bCc+qQdClJuVSNw==\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp256r1", + "type" : "ECPublicKey", + "wx" : "4af4f6d1d734798d4c4c6f97c4fff392ee65dc252d617b154ca835ea1535b104", + "wy" : "0fb069171d00e87a92e6c4db1d892bc09b04b5da8bd9b09cfaa41d0a526e55237" + }, + "tests" : [ + { + "comment" : "signature malleability", + "message" : "48656c6c6f", + "result" : "valid", + "sig" : "3046022100b7babae9332b54b8a3a05b7004579821a887a1b21465f7db8a3d491b39fd2c3f0221008b8d6e21d0c0bb5185319715ccbce2902802e1eca070b7226dec70ceca023883", + "tcId" : 1 + }, + { + "comment" : "random signature", + "message" : "48656c6c6f", + "result" : "valid", + "sig" : "3046022100dc6483cb966474fc22f2e68660e5e52f3bfa403b962de583576177c0dab2a260022100db4526559f5145e2fc5aa10d1d993a811973144f99b86474599a9f1e212c07f1", + "tcId" : 2 + }, + { + "comment" : "random signature", + "message" : "48656c6c6f", + "result" : "valid", + "sig" : "304402201f0819fe1695c49555d6f3c1648a04c24cc59bad4120b3a66e997481d4e973a002206cf5660873b490ee99563c958a02178890191b7da31bd87e43161d83a6ad0efe", + "tcId" : 3 + }, + { + "comment" : "random signature", + "message" : "48656c6c6f", + "result" : "valid", + "sig" : "3046022100b925b7d5a274ec43833fc87d66e50d8bf0be579912d882be3300e7167985448f022100e319bfd2931d9a83b709dd5509d0d907188fa03d3025f842ca9123d052be6c70", + "tcId" : 4 + }, + { + "comment" : "random signature", + "message" : "48656c6c6f", + "result" : "valid", + "sig" : "3046022100d2cb5feded860091556d8710ad7e7aab7a6350d2d97238177604d8d330e0357a022100cab37fcb3ef1fd4485aca7d75dd4685b56f5078383936ad84f8af4c12b874c40", + "tcId" : 5 + }, + { + "comment" : "random signature", + "message" : "48656c6c6f", + "result" : "valid", + "sig" : "3045022100bcf08f55b39ec37c3939d58e9eb6d42f21bccff63f661eecd06c89acb689067b022062e2ba2ec55bb9fe5aaa888d5836deff0abf45cbbaf2f8228b31d2cefa380466", + "tcId" : 6 + }, + { + "comment" : "valid", + "message" : "48656c6c6f", + "result" : "valid", + "sig" : "3045022100b7babae9332b54b8a3a05b7004579821a887a1b21465f7db8a3d491b39fd2c3f0220747291dd2f3f44af7ace68ea33431d6f94e418c106a6e76285cd59f43260ecce", + "tcId" : 7 + }, + { + "comment" : "BER:long form encoding of length", + "message" : "48656c6c6f", + "result" : "acceptable", + "sig" : "308145022100b7babae9332b54b8a3a05b7004579821a887a1b21465f7db8a3d491b39fd2c3f0220747291dd2f3f44af7ace68ea33431d6f94e418c106a6e76285cd59f43260ecce", + "tcId" : 8 + }, + { + "comment" : "BER:long form encoding of length", + "message" : "48656c6c6f", + "result" : "acceptable", + "sig" : "304602812100b7babae9332b54b8a3a05b7004579821a887a1b21465f7db8a3d491b39fd2c3f0220747291dd2f3f44af7ace68ea33431d6f94e418c106a6e76285cd59f43260ecce", + "tcId" : 9 + }, + { + "comment" : "BER:long form encoding of length", + "message" : "48656c6c6f", + "result" : "acceptable", + "sig" : "3046022100b7babae9332b54b8a3a05b7004579821a887a1b21465f7db8a3d491b39fd2c3f028120747291dd2f3f44af7ace68ea33431d6f94e418c106a6e76285cd59f43260ecce", + "tcId" : 10 + }, + { + "comment" : "BER:length contains leading 0", + "message" : "48656c6c6f", + "result" : "acceptable", + "sig" : "30820045022100b7babae9332b54b8a3a05b7004579821a887a1b21465f7db8a3d491b39fd2c3f0220747291dd2f3f44af7ace68ea33431d6f94e418c106a6e76285cd59f43260ecce", + "tcId" : 11 + }, + { + "comment" : "BER:length contains leading 0", + "message" : "48656c6c6f", + "result" : "acceptable", + "sig" : "30470282002100b7babae9332b54b8a3a05b7004579821a887a1b21465f7db8a3d491b39fd2c3f0220747291dd2f3f44af7ace68ea33431d6f94e418c106a6e76285cd59f43260ecce", + "tcId" : 12 + }, + { + "comment" : "BER:length contains leading 0", + "message" : "48656c6c6f", + "result" : "acceptable", + "sig" : "3047022100b7babae9332b54b8a3a05b7004579821a887a1b21465f7db8a3d491b39fd2c3f02820020747291dd2f3f44af7ace68ea33431d6f94e418c106a6e76285cd59f43260ecce", + "tcId" : 13 + }, + { + "comment" : "BER:indefinite length", + "message" : "48656c6c6f", + "result" : "acceptable", + "sig" : "3080022100b7babae9332b54b8a3a05b7004579821a887a1b21465f7db8a3d491b39fd2c3f0220747291dd2f3f44af7ace68ea33431d6f94e418c106a6e76285cd59f43260ecce0000", + "tcId" : 14 + }, + { + "comment" : "BER:prepending 0's to integer", + "message" : "48656c6c6f", + "result" : "acceptable", + "sig" : "30470223000000b7babae9332b54b8a3a05b7004579821a887a1b21465f7db8a3d491b39fd2c3f0220747291dd2f3f44af7ace68ea33431d6f94e418c106a6e76285cd59f43260ecce", + "tcId" : 15 + }, + { + "comment" : "BER:prepending 0's to integer", + "message" : "48656c6c6f", + "result" : "acceptable", + "sig" : "3047022100b7babae9332b54b8a3a05b7004579821a887a1b21465f7db8a3d491b39fd2c3f02220000747291dd2f3f44af7ace68ea33431d6f94e418c106a6e76285cd59f43260ecce", + "tcId" : 16 + }, + { + "comment" : "wrong length", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "3046022100b7babae9332b54b8a3a05b7004579821a887a1b21465f7db8a3d491b39fd2c3f0220747291dd2f3f44af7ace68ea33431d6f94e418c106a6e76285cd59f43260ecce", + "tcId" : 17 + }, + { + "comment" : "wrong length", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "3044022100b7babae9332b54b8a3a05b7004579821a887a1b21465f7db8a3d491b39fd2c3f0220747291dd2f3f44af7ace68ea33431d6f94e418c106a6e76285cd59f43260ecce", + "tcId" : 18 + }, + { + "comment" : "wrong length", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "3045022200b7babae9332b54b8a3a05b7004579821a887a1b21465f7db8a3d491b39fd2c3f0220747291dd2f3f44af7ace68ea33431d6f94e418c106a6e76285cd59f43260ecce", + "tcId" : 19 + }, + { + "comment" : "wrong length", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "3045022000b7babae9332b54b8a3a05b7004579821a887a1b21465f7db8a3d491b39fd2c3f0220747291dd2f3f44af7ace68ea33431d6f94e418c106a6e76285cd59f43260ecce", + "tcId" : 20 + }, + { + "comment" : "wrong length", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "3045022100b7babae9332b54b8a3a05b7004579821a887a1b21465f7db8a3d491b39fd2c3f0221747291dd2f3f44af7ace68ea33431d6f94e418c106a6e76285cd59f43260ecce", + "tcId" : 21 + }, + { + "comment" : "wrong length", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "3045022100b7babae9332b54b8a3a05b7004579821a887a1b21465f7db8a3d491b39fd2c3f021f747291dd2f3f44af7ace68ea33431d6f94e418c106a6e76285cd59f43260ecce", + "tcId" : 22 + }, + { + "comment" : "uint32 overflow in length", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "30850100000045022100b7babae9332b54b8a3a05b7004579821a887a1b21465f7db8a3d491b39fd2c3f0220747291dd2f3f44af7ace68ea33431d6f94e418c106a6e76285cd59f43260ecce", + "tcId" : 23 + }, + { + "comment" : "uint32 overflow in length", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "304a0285010000002100b7babae9332b54b8a3a05b7004579821a887a1b21465f7db8a3d491b39fd2c3f0220747291dd2f3f44af7ace68ea33431d6f94e418c106a6e76285cd59f43260ecce", + "tcId" : 24 + }, + { + "comment" : "uint32 overflow in length", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "304a022100b7babae9332b54b8a3a05b7004579821a887a1b21465f7db8a3d491b39fd2c3f02850100000020747291dd2f3f44af7ace68ea33431d6f94e418c106a6e76285cd59f43260ecce", + "tcId" : 25 + }, + { + "comment" : "uint64 overflow in length", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "3089010000000000000045022100b7babae9332b54b8a3a05b7004579821a887a1b21465f7db8a3d491b39fd2c3f0220747291dd2f3f44af7ace68ea33431d6f94e418c106a6e76285cd59f43260ecce", + "tcId" : 26 + }, + { + "comment" : "uint64 overflow in length", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "304e028901000000000000002100b7babae9332b54b8a3a05b7004579821a887a1b21465f7db8a3d491b39fd2c3f0220747291dd2f3f44af7ace68ea33431d6f94e418c106a6e76285cd59f43260ecce", + "tcId" : 27 + }, + { + "comment" : "uint64 overflow in length", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "304e022100b7babae9332b54b8a3a05b7004579821a887a1b21465f7db8a3d491b39fd2c3f0289010000000000000020747291dd2f3f44af7ace68ea33431d6f94e418c106a6e76285cd59f43260ecce", + "tcId" : 28 + }, + { + "comment" : "length = 2**31 - 1", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "30847fffffff022100b7babae9332b54b8a3a05b7004579821a887a1b21465f7db8a3d491b39fd2c3f0220747291dd2f3f44af7ace68ea33431d6f94e418c106a6e76285cd59f43260ecce", + "tcId" : 29 + }, + { + "comment" : "length = 2**31 - 1", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "304902847fffffff00b7babae9332b54b8a3a05b7004579821a887a1b21465f7db8a3d491b39fd2c3f0220747291dd2f3f44af7ace68ea33431d6f94e418c106a6e76285cd59f43260ecce", + "tcId" : 30 + }, + { + "comment" : "length = 2**31 - 1", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "3049022100b7babae9332b54b8a3a05b7004579821a887a1b21465f7db8a3d491b39fd2c3f02847fffffff747291dd2f3f44af7ace68ea33431d6f94e418c106a6e76285cd59f43260ecce", + "tcId" : 31 + }, + { + "comment" : "length = 2**32 - 1", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "3084ffffffff022100b7babae9332b54b8a3a05b7004579821a887a1b21465f7db8a3d491b39fd2c3f0220747291dd2f3f44af7ace68ea33431d6f94e418c106a6e76285cd59f43260ecce", + "tcId" : 32 + }, + { + "comment" : "length = 2**32 - 1", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "30490284ffffffff00b7babae9332b54b8a3a05b7004579821a887a1b21465f7db8a3d491b39fd2c3f0220747291dd2f3f44af7ace68ea33431d6f94e418c106a6e76285cd59f43260ecce", + "tcId" : 33 + }, + { + "comment" : "length = 2**32 - 1", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "3049022100b7babae9332b54b8a3a05b7004579821a887a1b21465f7db8a3d491b39fd2c3f0284ffffffff747291dd2f3f44af7ace68ea33431d6f94e418c106a6e76285cd59f43260ecce", + "tcId" : 34 + }, + { + "comment" : "length = 2**40 - 1", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "3085ffffffffff022100b7babae9332b54b8a3a05b7004579821a887a1b21465f7db8a3d491b39fd2c3f0220747291dd2f3f44af7ace68ea33431d6f94e418c106a6e76285cd59f43260ecce", + "tcId" : 35 + }, + { + "comment" : "length = 2**40 - 1", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "304a0285ffffffffff00b7babae9332b54b8a3a05b7004579821a887a1b21465f7db8a3d491b39fd2c3f0220747291dd2f3f44af7ace68ea33431d6f94e418c106a6e76285cd59f43260ecce", + "tcId" : 36 + }, + { + "comment" : "length = 2**40 - 1", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "304a022100b7babae9332b54b8a3a05b7004579821a887a1b21465f7db8a3d491b39fd2c3f0285ffffffffff747291dd2f3f44af7ace68ea33431d6f94e418c106a6e76285cd59f43260ecce", + "tcId" : 37 + }, + { + "comment" : "length = 2**64 - 1", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "3088ffffffffffffffff022100b7babae9332b54b8a3a05b7004579821a887a1b21465f7db8a3d491b39fd2c3f0220747291dd2f3f44af7ace68ea33431d6f94e418c106a6e76285cd59f43260ecce", + "tcId" : 38 + }, + { + "comment" : "length = 2**64 - 1", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "304d0288ffffffffffffffff00b7babae9332b54b8a3a05b7004579821a887a1b21465f7db8a3d491b39fd2c3f0220747291dd2f3f44af7ace68ea33431d6f94e418c106a6e76285cd59f43260ecce", + "tcId" : 39 + }, + { + "comment" : "length = 2**64 - 1", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "304d022100b7babae9332b54b8a3a05b7004579821a887a1b21465f7db8a3d491b39fd2c3f0288ffffffffffffffff747291dd2f3f44af7ace68ea33431d6f94e418c106a6e76285cd59f43260ecce", + "tcId" : 40 + }, + { + "comment" : "incorrect length", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "30ff022100b7babae9332b54b8a3a05b7004579821a887a1b21465f7db8a3d491b39fd2c3f0220747291dd2f3f44af7ace68ea33431d6f94e418c106a6e76285cd59f43260ecce", + "tcId" : 41 + }, + { + "comment" : "incorrect length", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "304502ff00b7babae9332b54b8a3a05b7004579821a887a1b21465f7db8a3d491b39fd2c3f0220747291dd2f3f44af7ace68ea33431d6f94e418c106a6e76285cd59f43260ecce", + "tcId" : 42 + }, + { + "comment" : "incorrect length", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "3045022100b7babae9332b54b8a3a05b7004579821a887a1b21465f7db8a3d491b39fd2c3f02ff747291dd2f3f44af7ace68ea33431d6f94e418c106a6e76285cd59f43260ecce", + "tcId" : 43 + }, + { + "comment" : "indefinte length without termination", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "3080022100b7babae9332b54b8a3a05b7004579821a887a1b21465f7db8a3d491b39fd2c3f0220747291dd2f3f44af7ace68ea33431d6f94e418c106a6e76285cd59f43260ecce", + "tcId" : 44 + }, + { + "comment" : "indefinte length without termination", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "3045028000b7babae9332b54b8a3a05b7004579821a887a1b21465f7db8a3d491b39fd2c3f0220747291dd2f3f44af7ace68ea33431d6f94e418c106a6e76285cd59f43260ecce", + "tcId" : 45 + }, + { + "comment" : "indefinte length without termination", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "3045022100b7babae9332b54b8a3a05b7004579821a887a1b21465f7db8a3d491b39fd2c3f0280747291dd2f3f44af7ace68ea33431d6f94e418c106a6e76285cd59f43260ecce", + "tcId" : 46 + }, + { + "comment" : "removing sequence", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "", + "tcId" : 47 + }, + { + "comment" : "appending 0's to sequence", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "3047022100b7babae9332b54b8a3a05b7004579821a887a1b21465f7db8a3d491b39fd2c3f0220747291dd2f3f44af7ace68ea33431d6f94e418c106a6e76285cd59f43260ecce0000", + "tcId" : 48 + }, + { + "comment" : "prepending 0's to sequence", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "30470000022100b7babae9332b54b8a3a05b7004579821a887a1b21465f7db8a3d491b39fd2c3f0220747291dd2f3f44af7ace68ea33431d6f94e418c106a6e76285cd59f43260ecce", + "tcId" : 49 + }, + { + "comment" : "appending unused 0's", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "3045022100b7babae9332b54b8a3a05b7004579821a887a1b21465f7db8a3d491b39fd2c3f0220747291dd2f3f44af7ace68ea33431d6f94e418c106a6e76285cd59f43260ecce0000", + "tcId" : 50 + }, + { + "comment" : "appending unused 0's", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "3047022100b7babae9332b54b8a3a05b7004579821a887a1b21465f7db8a3d491b39fd2c3f00000220747291dd2f3f44af7ace68ea33431d6f94e418c106a6e76285cd59f43260ecce", + "tcId" : 51 + }, + { + "comment" : "appending null value", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "3047022100b7babae9332b54b8a3a05b7004579821a887a1b21465f7db8a3d491b39fd2c3f0220747291dd2f3f44af7ace68ea33431d6f94e418c106a6e76285cd59f43260ecce0500", + "tcId" : 52 + }, + { + "comment" : "appending null value", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "3047022300b7babae9332b54b8a3a05b7004579821a887a1b21465f7db8a3d491b39fd2c3f05000220747291dd2f3f44af7ace68ea33431d6f94e418c106a6e76285cd59f43260ecce", + "tcId" : 53 + }, + { + "comment" : "appending null value", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "3047022100b7babae9332b54b8a3a05b7004579821a887a1b21465f7db8a3d491b39fd2c3f0222747291dd2f3f44af7ace68ea33431d6f94e418c106a6e76285cd59f43260ecce0500", + "tcId" : 54 + }, + { + "comment" : "including garbage", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "304a4981773045022100b7babae9332b54b8a3a05b7004579821a887a1b21465f7db8a3d491b39fd2c3f0220747291dd2f3f44af7ace68ea33431d6f94e418c106a6e76285cd59f43260ecce", + "tcId" : 55 + }, + { + "comment" : "including garbage", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "304925003045022100b7babae9332b54b8a3a05b7004579821a887a1b21465f7db8a3d491b39fd2c3f0220747291dd2f3f44af7ace68ea33431d6f94e418c106a6e76285cd59f43260ecce", + "tcId" : 56 + }, + { + "comment" : "including garbage", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "30473045022100b7babae9332b54b8a3a05b7004579821a887a1b21465f7db8a3d491b39fd2c3f0220747291dd2f3f44af7ace68ea33431d6f94e418c106a6e76285cd59f43260ecce0004deadbeef", + "tcId" : 57 + }, + { + "comment" : "including garbage", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "304a2226498177022100b7babae9332b54b8a3a05b7004579821a887a1b21465f7db8a3d491b39fd2c3f0220747291dd2f3f44af7ace68ea33431d6f94e418c106a6e76285cd59f43260ecce", + "tcId" : 58 + }, + { + "comment" : "including garbage", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "304922252500022100b7babae9332b54b8a3a05b7004579821a887a1b21465f7db8a3d491b39fd2c3f0220747291dd2f3f44af7ace68ea33431d6f94e418c106a6e76285cd59f43260ecce", + "tcId" : 59 + }, + { + "comment" : "including garbage", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "304d2223022100b7babae9332b54b8a3a05b7004579821a887a1b21465f7db8a3d491b39fd2c3f0004deadbeef0220747291dd2f3f44af7ace68ea33431d6f94e418c106a6e76285cd59f43260ecce", + "tcId" : 60 + }, + { + "comment" : "including garbage", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "304a022100b7babae9332b54b8a3a05b7004579821a887a1b21465f7db8a3d491b39fd2c3f22254981770220747291dd2f3f44af7ace68ea33431d6f94e418c106a6e76285cd59f43260ecce", + "tcId" : 61 + }, + { + "comment" : "including garbage", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "3049022100b7babae9332b54b8a3a05b7004579821a887a1b21465f7db8a3d491b39fd2c3f222425000220747291dd2f3f44af7ace68ea33431d6f94e418c106a6e76285cd59f43260ecce", + "tcId" : 62 + }, + { + "comment" : "including garbage", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "304d022100b7babae9332b54b8a3a05b7004579821a887a1b21465f7db8a3d491b39fd2c3f22220220747291dd2f3f44af7ace68ea33431d6f94e418c106a6e76285cd59f43260ecce0004deadbeef", + "tcId" : 63 + }, + { + "comment" : "including undefined tags", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "304daa00bb00cd003045022100b7babae9332b54b8a3a05b7004579821a887a1b21465f7db8a3d491b39fd2c3f0220747291dd2f3f44af7ace68ea33431d6f94e418c106a6e76285cd59f43260ecce", + "tcId" : 64 + }, + { + "comment" : "including undefined tags", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "304baa02aabb3045022100b7babae9332b54b8a3a05b7004579821a887a1b21465f7db8a3d491b39fd2c3f0220747291dd2f3f44af7ace68ea33431d6f94e418c106a6e76285cd59f43260ecce", + "tcId" : 65 + }, + { + "comment" : "including undefined tags", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "304d2229aa00bb00cd00022100b7babae9332b54b8a3a05b7004579821a887a1b21465f7db8a3d491b39fd2c3f0220747291dd2f3f44af7ace68ea33431d6f94e418c106a6e76285cd59f43260ecce", + "tcId" : 66 + }, + { + "comment" : "including undefined tags", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "304b2227aa02aabb022100b7babae9332b54b8a3a05b7004579821a887a1b21465f7db8a3d491b39fd2c3f0220747291dd2f3f44af7ace68ea33431d6f94e418c106a6e76285cd59f43260ecce", + "tcId" : 67 + }, + { + "comment" : "including undefined tags", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "304d022100b7babae9332b54b8a3a05b7004579821a887a1b21465f7db8a3d491b39fd2c3f2228aa00bb00cd000220747291dd2f3f44af7ace68ea33431d6f94e418c106a6e76285cd59f43260ecce", + "tcId" : 68 + }, + { + "comment" : "including undefined tags", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "304b022100b7babae9332b54b8a3a05b7004579821a887a1b21465f7db8a3d491b39fd2c3f2226aa02aabb0220747291dd2f3f44af7ace68ea33431d6f94e418c106a6e76285cd59f43260ecce", + "tcId" : 69 + }, + { + "comment" : "using composition with indefinite length", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "30803045022100b7babae9332b54b8a3a05b7004579821a887a1b21465f7db8a3d491b39fd2c3f0220747291dd2f3f44af7ace68ea33431d6f94e418c106a6e76285cd59f43260ecce0000", + "tcId" : 70 + }, + { + "comment" : "using composition with indefinite length", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "30492280022100b7babae9332b54b8a3a05b7004579821a887a1b21465f7db8a3d491b39fd2c3f00000220747291dd2f3f44af7ace68ea33431d6f94e418c106a6e76285cd59f43260ecce", + "tcId" : 71 + }, + { + "comment" : "using composition with indefinite length", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "3049022100b7babae9332b54b8a3a05b7004579821a887a1b21465f7db8a3d491b39fd2c3f22800220747291dd2f3f44af7ace68ea33431d6f94e418c106a6e76285cd59f43260ecce0000", + "tcId" : 72 + }, + { + "comment" : "using composition with wrong tag", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "30803145022100b7babae9332b54b8a3a05b7004579821a887a1b21465f7db8a3d491b39fd2c3f0220747291dd2f3f44af7ace68ea33431d6f94e418c106a6e76285cd59f43260ecce0000", + "tcId" : 73 + }, + { + "comment" : "using composition with wrong tag", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "30492280032100b7babae9332b54b8a3a05b7004579821a887a1b21465f7db8a3d491b39fd2c3f00000220747291dd2f3f44af7ace68ea33431d6f94e418c106a6e76285cd59f43260ecce", + "tcId" : 74 + }, + { + "comment" : "using composition with wrong tag", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "3049022100b7babae9332b54b8a3a05b7004579821a887a1b21465f7db8a3d491b39fd2c3f22800320747291dd2f3f44af7ace68ea33431d6f94e418c106a6e76285cd59f43260ecce0000", + "tcId" : 75 + }, + { + "comment" : "changing tag value", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "2e45022100b7babae9332b54b8a3a05b7004579821a887a1b21465f7db8a3d491b39fd2c3f0220747291dd2f3f44af7ace68ea33431d6f94e418c106a6e76285cd59f43260ecce", + "tcId" : 76 + }, + { + "comment" : "changing tag value", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "3245022100b7babae9332b54b8a3a05b7004579821a887a1b21465f7db8a3d491b39fd2c3f0220747291dd2f3f44af7ace68ea33431d6f94e418c106a6e76285cd59f43260ecce", + "tcId" : 77 + }, + { + "comment" : "changing tag value", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "ff45022100b7babae9332b54b8a3a05b7004579821a887a1b21465f7db8a3d491b39fd2c3f0220747291dd2f3f44af7ace68ea33431d6f94e418c106a6e76285cd59f43260ecce", + "tcId" : 78 + }, + { + "comment" : "changing tag value", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "3045002100b7babae9332b54b8a3a05b7004579821a887a1b21465f7db8a3d491b39fd2c3f0220747291dd2f3f44af7ace68ea33431d6f94e418c106a6e76285cd59f43260ecce", + "tcId" : 79 + }, + { + "comment" : "changing tag value", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "3045042100b7babae9332b54b8a3a05b7004579821a887a1b21465f7db8a3d491b39fd2c3f0220747291dd2f3f44af7ace68ea33431d6f94e418c106a6e76285cd59f43260ecce", + "tcId" : 80 + }, + { + "comment" : "changing tag value", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "3045ff2100b7babae9332b54b8a3a05b7004579821a887a1b21465f7db8a3d491b39fd2c3f0220747291dd2f3f44af7ace68ea33431d6f94e418c106a6e76285cd59f43260ecce", + "tcId" : 81 + }, + { + "comment" : "changing tag value", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "3045022100b7babae9332b54b8a3a05b7004579821a887a1b21465f7db8a3d491b39fd2c3f0020747291dd2f3f44af7ace68ea33431d6f94e418c106a6e76285cd59f43260ecce", + "tcId" : 82 + }, + { + "comment" : "changing tag value", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "3045022100b7babae9332b54b8a3a05b7004579821a887a1b21465f7db8a3d491b39fd2c3f0420747291dd2f3f44af7ace68ea33431d6f94e418c106a6e76285cd59f43260ecce", + "tcId" : 83 + }, + { + "comment" : "changing tag value", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "3045022100b7babae9332b54b8a3a05b7004579821a887a1b21465f7db8a3d491b39fd2c3fff20747291dd2f3f44af7ace68ea33431d6f94e418c106a6e76285cd59f43260ecce", + "tcId" : 84 + }, + { + "comment" : "dropping value of sequence", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "3000", + "tcId" : 85 + }, + { + "comment" : "using composition", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "304930010230442100b7babae9332b54b8a3a05b7004579821a887a1b21465f7db8a3d491b39fd2c3f0220747291dd2f3f44af7ace68ea33431d6f94e418c106a6e76285cd59f43260ecce", + "tcId" : 86 + }, + { + "comment" : "using composition", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "304922250201000220b7babae9332b54b8a3a05b7004579821a887a1b21465f7db8a3d491b39fd2c3f0220747291dd2f3f44af7ace68ea33431d6f94e418c106a6e76285cd59f43260ecce", + "tcId" : 87 + }, + { + "comment" : "using composition", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "3049022100b7babae9332b54b8a3a05b7004579821a887a1b21465f7db8a3d491b39fd2c3f2224020174021f7291dd2f3f44af7ace68ea33431d6f94e418c106a6e76285cd59f43260ecce", + "tcId" : 88 + }, + { + "comment" : "truncate sequence", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "3044022100b7babae9332b54b8a3a05b7004579821a887a1b21465f7db8a3d491b39fd2c3f0220747291dd2f3f44af7ace68ea33431d6f94e418c106a6e76285cd59f43260ec", + "tcId" : 89 + }, + { + "comment" : "truncate sequence", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "30442100b7babae9332b54b8a3a05b7004579821a887a1b21465f7db8a3d491b39fd2c3f0220747291dd2f3f44af7ace68ea33431d6f94e418c106a6e76285cd59f43260ecce", + "tcId" : 90 + }, + { + "comment" : "prepend empty sequence", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "30473000022100b7babae9332b54b8a3a05b7004579821a887a1b21465f7db8a3d491b39fd2c3f0220747291dd2f3f44af7ace68ea33431d6f94e418c106a6e76285cd59f43260ecce", + "tcId" : 91 + }, + { + "comment" : "append empty sequence", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "3047022100b7babae9332b54b8a3a05b7004579821a887a1b21465f7db8a3d491b39fd2c3f0220747291dd2f3f44af7ace68ea33431d6f94e418c106a6e76285cd59f43260ecce3000", + "tcId" : 92 + }, + { + "comment" : "sequence of sequence", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "30473045022100b7babae9332b54b8a3a05b7004579821a887a1b21465f7db8a3d491b39fd2c3f0220747291dd2f3f44af7ace68ea33431d6f94e418c106a6e76285cd59f43260ecce", + "tcId" : 93 + }, + { + "comment" : "truncated sequence", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "3023022100b7babae9332b54b8a3a05b7004579821a887a1b21465f7db8a3d491b39fd2c3f", + "tcId" : 94 + }, + { + "comment" : "repeat element in sequence", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "3067022100b7babae9332b54b8a3a05b7004579821a887a1b21465f7db8a3d491b39fd2c3f0220747291dd2f3f44af7ace68ea33431d6f94e418c106a6e76285cd59f43260ecce0220747291dd2f3f44af7ace68ea33431d6f94e418c106a6e76285cd59f43260ecce", + "tcId" : 95 + }, + { + "comment" : "removing integer", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "30220220747291dd2f3f44af7ace68ea33431d6f94e418c106a6e76285cd59f43260ecce", + "tcId" : 96 + }, + { + "comment" : "appending 0's to integer", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "3047022300b7babae9332b54b8a3a05b7004579821a887a1b21465f7db8a3d491b39fd2c3f00000220747291dd2f3f44af7ace68ea33431d6f94e418c106a6e76285cd59f43260ecce", + "tcId" : 97 + }, + { + "comment" : "appending 0's to integer", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "3047022100b7babae9332b54b8a3a05b7004579821a887a1b21465f7db8a3d491b39fd2c3f0222747291dd2f3f44af7ace68ea33431d6f94e418c106a6e76285cd59f43260ecce0000", + "tcId" : 98 + }, + { + "comment" : "dropping value of integer", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "302402000220747291dd2f3f44af7ace68ea33431d6f94e418c106a6e76285cd59f43260ecce", + "tcId" : 99 + }, + { + "comment" : "dropping value of integer", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "3025022100b7babae9332b54b8a3a05b7004579821a887a1b21465f7db8a3d491b39fd2c3f0200", + "tcId" : 100 + }, + { + "comment" : "modify first byte of integer", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "3045022101b7babae9332b54b8a3a05b7004579821a887a1b21465f7db8a3d491b39fd2c3f0220747291dd2f3f44af7ace68ea33431d6f94e418c106a6e76285cd59f43260ecce", + "tcId" : 101 + }, + { + "comment" : "modify first byte of integer", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "3045022100b7babae9332b54b8a3a05b7004579821a887a1b21465f7db8a3d491b39fd2c3f0220757291dd2f3f44af7ace68ea33431d6f94e418c106a6e76285cd59f43260ecce", + "tcId" : 102 + }, + { + "comment" : "modify last byte of integer", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "3045022100b7babae9332b54b8a3a05b7004579821a887a1b21465f7db8a3d491b39fd2c3e0220747291dd2f3f44af7ace68ea33431d6f94e418c106a6e76285cd59f43260ecce", + "tcId" : 103 + }, + { + "comment" : "modify last byte of integer", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "3045022100b7babae9332b54b8a3a05b7004579821a887a1b21465f7db8a3d491b39fd2c3f0220747291dd2f3f44af7ace68ea33431d6f94e418c106a6e76285cd59f43260eccf", + "tcId" : 104 + }, + { + "comment" : "truncate integer", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "3044022000b7babae9332b54b8a3a05b7004579821a887a1b21465f7db8a3d491b39fd2c0220747291dd2f3f44af7ace68ea33431d6f94e418c106a6e76285cd59f43260ecce", + "tcId" : 105 + }, + { + "comment" : "truncate integer", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "30440220b7babae9332b54b8a3a05b7004579821a887a1b21465f7db8a3d491b39fd2c3f0220747291dd2f3f44af7ace68ea33431d6f94e418c106a6e76285cd59f43260ecce", + "tcId" : 106 + }, + { + "comment" : "truncate integer", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "3044022100b7babae9332b54b8a3a05b7004579821a887a1b21465f7db8a3d491b39fd2c3f021f747291dd2f3f44af7ace68ea33431d6f94e418c106a6e76285cd59f43260ec", + "tcId" : 107 + }, + { + "comment" : "truncate integer", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "3044022100b7babae9332b54b8a3a05b7004579821a887a1b21465f7db8a3d491b39fd2c3f021f7291dd2f3f44af7ace68ea33431d6f94e418c106a6e76285cd59f43260ecce", + "tcId" : 108 + }, + { + "comment" : "leading ff in integer", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "30460222ff00b7babae9332b54b8a3a05b7004579821a887a1b21465f7db8a3d491b39fd2c3f0220747291dd2f3f44af7ace68ea33431d6f94e418c106a6e76285cd59f43260ecce", + "tcId" : 109 + }, + { + "comment" : "leading ff in integer", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "3046022100b7babae9332b54b8a3a05b7004579821a887a1b21465f7db8a3d491b39fd2c3f0221ff747291dd2f3f44af7ace68ea33431d6f94e418c106a6e76285cd59f43260ecce", + "tcId" : 110 + }, + { + "comment" : "infinity", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "30250901800220747291dd2f3f44af7ace68ea33431d6f94e418c106a6e76285cd59f43260ecce", + "tcId" : 111 + }, + { + "comment" : "infinity", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "3026022100b7babae9332b54b8a3a05b7004579821a887a1b21465f7db8a3d491b39fd2c3f090180", + "tcId" : 112 + }, + { + "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "3045022101b7babae8332b54b9a3a05b7004579821656e9c5fbb7d96607df713de366051900220747291dd2f3f44af7ace68ea33431d6f94e418c106a6e76285cd59f43260ecce", + "tcId" : 113 + }, + { + "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "30440220b7babaea332b54b7a3a05b7004579821eba0a7046d4e595696837e583d9a06ee0220747291dd2f3f44af7ace68ea33431d6f94e418c106a6e76285cd59f43260ecce", + "tcId" : 114 + }, + { + "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "30450221ff48454516ccd4ab475c5fa48ffba867de57785e4deb9a082475c2b6e4c602d3c10220747291dd2f3f44af7ace68ea33431d6f94e418c106a6e76285cd59f43260ecce", + "tcId" : 115 + }, + { + "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "3044022048454515ccd4ab485c5fa48ffba867de145f58fb92b1a6a9697c81a7c265f9120220747291dd2f3f44af7ace68ea33431d6f94e418c106a6e76285cd59f43260ecce", + "tcId" : 116 + }, + { + "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "30450221fe48454517ccd4ab465c5fa48ffba867de9a9163a04482699f8208ec21c99fae700220747291dd2f3f44af7ace68ea33431d6f94e418c106a6e76285cd59f43260ecce", + "tcId" : 117 + }, + { + "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "3044022048454516ccd4ab475c5fa48ffba867de57785e4deb9a082475c2b6e4c602d3c10220747291dd2f3f44af7ace68ea33431d6f94e418c106a6e76285cd59f43260ecce", + "tcId" : 118 + }, + { + "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "3046022100b7babae9332b54b8a3a05b7004579821a887a1b21465f7db8a3d491b39fd2c3f022101747291dc2f3f44b07ace68ea33431d6f51cb136eadbe85e7798724b72ec4121f", + "tcId" : 119 + }, + { + "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "3046022100b7babae9332b54b8a3a05b7004579821a887a1b21465f7db8a3d491b39fd2c3f0221ff747291de2f3f44ae7ace68ea33431d6fd7fd1e135f8f48dd92138f3135fdc77d", + "tcId" : 120 + }, + { + "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "3045022100b7babae9332b54b8a3a05b7004579821a887a1b21465f7db8a3d491b39fd2c3f02208b8d6e22d0c0bb5085319715ccbce2906b1be73ef959189d7a32a60bcd9f1332", + "tcId" : 121 + }, + { + "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "3046022100b7babae9332b54b8a3a05b7004579821a887a1b21465f7db8a3d491b39fd2c3f0221fe8b8d6e23d0c0bb4f85319715ccbce290ae34ec9152417a188678db48d13bede1", + "tcId" : 122 + }, + { + "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "3046022100b7babae9332b54b8a3a05b7004579821a887a1b21465f7db8a3d491b39fd2c3f022101747291dd2f3f44af7ace68ea33431d6f94e418c106a6e76285cd59f43260ecce", + "tcId" : 123 + }, + { + "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "3046022100b7babae9332b54b8a3a05b7004579821a887a1b21465f7db8a3d491b39fd2c3f0221008b8d6e22d0c0bb5085319715ccbce2906b1be73ef959189d7a32a60bcd9f1332", + "tcId" : 124 + }, + { + "comment" : "Signatures with special case values for r and s.", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "3006020100020100", + "tcId" : 125 + }, + { + "comment" : "Signatures with special case values for r and s.", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "3006020100020101", + "tcId" : 126 + }, + { + "comment" : "Signatures with special case values for r and s.", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "30060201000201f0", + "tcId" : 127 + }, + { + "comment" : "Signatures with special case values for r and s.", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "3026020100022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551", + "tcId" : 128 + }, + { + "comment" : "Signatures with special case values for r and s.", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "3026020100022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632550", + "tcId" : 129 + }, + { + "comment" : "Signatures with special case values for r and s.", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "3026020100022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632552", + "tcId" : 130 + }, + { + "comment" : "Signatures with special case values for r and s.", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "3026020100022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff", + "tcId" : 131 + }, + { + "comment" : "Signatures with special case values for r and s.", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "3026020100022100ffffffff00000001000000000000000000000001000000000000000000000000", + "tcId" : 132 + }, + { + "comment" : "Signatures with special case values for r and s.", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "3008020100090380fe01", + "tcId" : 133 + }, + { + "comment" : "Signatures with special case values for r and s.", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "3006020101020100", + "tcId" : 134 + }, + { + "comment" : "Signatures with special case values for r and s.", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "3006020101020101", + "tcId" : 135 + }, + { + "comment" : "Signatures with special case values for r and s.", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "30060201010201f0", + "tcId" : 136 + }, + { + "comment" : "Signatures with special case values for r and s.", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "3026020101022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551", + "tcId" : 137 + }, + { + "comment" : "Signatures with special case values for r and s.", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "3026020101022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632550", + "tcId" : 138 + }, + { + "comment" : "Signatures with special case values for r and s.", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "3026020101022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632552", + "tcId" : 139 + }, + { + "comment" : "Signatures with special case values for r and s.", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "3026020101022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff", + "tcId" : 140 + }, + { + "comment" : "Signatures with special case values for r and s.", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "3026020101022100ffffffff00000001000000000000000000000001000000000000000000000000", + "tcId" : 141 + }, + { + "comment" : "Signatures with special case values for r and s.", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "3008020101090380fe01", + "tcId" : 142 + }, + { + "comment" : "Signatures with special case values for r and s.", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "30060201f0020100", + "tcId" : 143 + }, + { + "comment" : "Signatures with special case values for r and s.", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "30060201f0020101", + "tcId" : 144 + }, + { + "comment" : "Signatures with special case values for r and s.", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "30060201f00201f0", + "tcId" : 145 + }, + { + "comment" : "Signatures with special case values for r and s.", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "30260201f0022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551", + "tcId" : 146 + }, + { + "comment" : "Signatures with special case values for r and s.", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "30260201f0022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632550", + "tcId" : 147 + }, + { + "comment" : "Signatures with special case values for r and s.", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "30260201f0022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632552", + "tcId" : 148 + }, + { + "comment" : "Signatures with special case values for r and s.", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "30260201f0022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff", + "tcId" : 149 + }, + { + "comment" : "Signatures with special case values for r and s.", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "30260201f0022100ffffffff00000001000000000000000000000001000000000000000000000000", + "tcId" : 150 + }, + { + "comment" : "Signatures with special case values for r and s.", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "30080201f0090380fe01", + "tcId" : 151 + }, + { + "comment" : "Signatures with special case values for r and s.", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "3026022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551020100", + "tcId" : 152 + }, + { + "comment" : "Signatures with special case values for r and s.", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "3026022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551020101", + "tcId" : 153 + }, + { + "comment" : "Signatures with special case values for r and s.", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "3026022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc6325510201f0", + "tcId" : 154 + }, + { + "comment" : "Signatures with special case values for r and s.", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "3046022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551", + "tcId" : 155 + }, + { + "comment" : "Signatures with special case values for r and s.", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "3046022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632550", + "tcId" : 156 + }, + { + "comment" : "Signatures with special case values for r and s.", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "3046022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632552", + "tcId" : 157 + }, + { + "comment" : "Signatures with special case values for r and s.", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "3046022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff", + "tcId" : 158 + }, + { + "comment" : "Signatures with special case values for r and s.", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "3046022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551022100ffffffff00000001000000000000000000000001000000000000000000000000", + "tcId" : 159 + }, + { + "comment" : "Signatures with special case values for r and s.", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "3028022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551090380fe01", + "tcId" : 160 + }, + { + "comment" : "Signatures with special case values for r and s.", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "3026022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632550020100", + "tcId" : 161 + }, + { + "comment" : "Signatures with special case values for r and s.", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "3026022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632550020101", + "tcId" : 162 + }, + { + "comment" : "Signatures with special case values for r and s.", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "3026022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc6325500201f0", + "tcId" : 163 + }, + { + "comment" : "Signatures with special case values for r and s.", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "3046022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632550022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551", + "tcId" : 164 + }, + { + "comment" : "Signatures with special case values for r and s.", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "3046022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632550022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632550", + "tcId" : 165 + }, + { + "comment" : "Signatures with special case values for r and s.", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "3046022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632550022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632552", + "tcId" : 166 + }, + { + "comment" : "Signatures with special case values for r and s.", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "3046022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632550022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff", + "tcId" : 167 + }, + { + "comment" : "Signatures with special case values for r and s.", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "3046022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632550022100ffffffff00000001000000000000000000000001000000000000000000000000", + "tcId" : 168 + }, + { + "comment" : "Signatures with special case values for r and s.", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "3028022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632550090380fe01", + "tcId" : 169 + }, + { + "comment" : "Signatures with special case values for r and s.", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "3026022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632552020100", + "tcId" : 170 + }, + { + "comment" : "Signatures with special case values for r and s.", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "3026022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632552020101", + "tcId" : 171 + }, + { + "comment" : "Signatures with special case values for r and s.", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "3026022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc6325520201f0", + "tcId" : 172 + }, + { + "comment" : "Signatures with special case values for r and s.", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "3046022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632552022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551", + "tcId" : 173 + }, + { + "comment" : "Signatures with special case values for r and s.", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "3046022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632552022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632550", + "tcId" : 174 + }, + { + "comment" : "Signatures with special case values for r and s.", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "3046022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632552022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632552", + "tcId" : 175 + }, + { + "comment" : "Signatures with special case values for r and s.", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "3046022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632552022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff", + "tcId" : 176 + }, + { + "comment" : "Signatures with special case values for r and s.", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "3046022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632552022100ffffffff00000001000000000000000000000001000000000000000000000000", + "tcId" : 177 + }, + { + "comment" : "Signatures with special case values for r and s.", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "3028022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632552090380fe01", + "tcId" : 178 + }, + { + "comment" : "Signatures with special case values for r and s.", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "3026022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff020100", + "tcId" : 179 + }, + { + "comment" : "Signatures with special case values for r and s.", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "3026022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff020101", + "tcId" : 180 + }, + { + "comment" : "Signatures with special case values for r and s.", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "3026022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff0201f0", + "tcId" : 181 + }, + { + "comment" : "Signatures with special case values for r and s.", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "3046022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551", + "tcId" : 182 + }, + { + "comment" : "Signatures with special case values for r and s.", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "3046022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632550", + "tcId" : 183 + }, + { + "comment" : "Signatures with special case values for r and s.", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "3046022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632552", + "tcId" : 184 + }, + { + "comment" : "Signatures with special case values for r and s.", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "3046022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff", + "tcId" : 185 + }, + { + "comment" : "Signatures with special case values for r and s.", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "3046022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff022100ffffffff00000001000000000000000000000001000000000000000000000000", + "tcId" : 186 + }, + { + "comment" : "Signatures with special case values for r and s.", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "3028022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff090380fe01", + "tcId" : 187 + }, + { + "comment" : "Signatures with special case values for r and s.", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "3026022100ffffffff00000001000000000000000000000001000000000000000000000000020100", + "tcId" : 188 + }, + { + "comment" : "Signatures with special case values for r and s.", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "3026022100ffffffff00000001000000000000000000000001000000000000000000000000020101", + "tcId" : 189 + }, + { + "comment" : "Signatures with special case values for r and s.", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "3026022100ffffffff000000010000000000000000000000010000000000000000000000000201f0", + "tcId" : 190 + }, + { + "comment" : "Signatures with special case values for r and s.", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "3046022100ffffffff00000001000000000000000000000001000000000000000000000000022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551", + "tcId" : 191 + }, + { + "comment" : "Signatures with special case values for r and s.", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "3046022100ffffffff00000001000000000000000000000001000000000000000000000000022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632550", + "tcId" : 192 + }, + { + "comment" : "Signatures with special case values for r and s.", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "3046022100ffffffff00000001000000000000000000000001000000000000000000000000022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632552", + "tcId" : 193 + }, + { + "comment" : "Signatures with special case values for r and s.", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "3046022100ffffffff00000001000000000000000000000001000000000000000000000000022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff", + "tcId" : 194 + }, + { + "comment" : "Signatures with special case values for r and s.", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "3046022100ffffffff00000001000000000000000000000001000000000000000000000000022100ffffffff00000001000000000000000000000001000000000000000000000000", + "tcId" : 195 + }, + { + "comment" : "Signatures with special case values for r and s.", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "3028022100ffffffff00000001000000000000000000000001000000000000000000000000090380fe01", + "tcId" : 196 + } + ] + }, + { + "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004d705d16f80987e2d9b1a6957d29ce22febf7d10fa515153182415c8361baaca4b1fc105ee5ce80d514ec1238beae2037a6f83625593620d460819e8682160926", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE1wXRb4CYfi2bGmlX0pziL+v30Q+l\nFRUxgkFcg2G6rKSx/BBe5c6A1RTsEji+riA3pvg2JVk2INRggZ6GghYJJg==\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp256r1", + "type" : "ECPublicKey", + "wx" : "0d705d16f80987e2d9b1a6957d29ce22febf7d10fa515153182415c8361baaca4", + "wy" : "0b1fc105ee5ce80d514ec1238beae2037a6f83625593620d460819e8682160926" + }, + "tests" : [ + { + "comment" : "k*G has a large x-coordinate", + "message" : "54657374", + "result" : "valid", + "sig" : "303502104319055358e8617b0c46353d039cdaab022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc63254e", + "tcId" : 197 + } + ] + }, + { + "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004d705d16f80987e2d9b1a6957d29ce22febf7d10fa515153182415c8361baaca4b1fc105ee5ce80d514ec1238beae2037a6f83625593620d460819e8682160926", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE1wXRb4CYfi2bGmlX0pziL+v30Q+l\nFRUxgkFcg2G6rKSx/BBe5c6A1RTsEji+riA3pvg2JVk2INRggZ6GghYJJg==\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp256r1", + "type" : "ECPublicKey", + "wx" : "0d705d16f80987e2d9b1a6957d29ce22febf7d10fa515153182415c8361baaca4", + "wy" : "0b1fc105ee5ce80d514ec1238beae2037a6f83625593620d460819e8682160926" + }, + "tests" : [ + { + "comment" : "r too large", + "message" : "54657374", + "result" : "invalid", + "sig" : "3046022100ffffffff00000001000000000000000000000000fffffffffffffffffffffffc022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc63254e", + "tcId" : 198 + } + ] + }, + { + "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d030107034200043cd8d2f81d6953b0844c09d7b560d527cd2ef67056893eadafa52c8501387d59ee41fdb4d10402ce7a0c5e3b747adfa3a490b62a6b7719068903485c0bb6dc2d", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEPNjS+B1pU7CETAnXtWDVJ80u9nBW\niT6tr6UshQE4fVnuQf200QQCznoMXjt0et+jpJC2Kmt3GQaJA0hcC7bcLQ==\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp256r1", + "type" : "ECPublicKey", + "wx" : "3cd8d2f81d6953b0844c09d7b560d527cd2ef67056893eadafa52c8501387d59", + "wy" : "0ee41fdb4d10402ce7a0c5e3b747adfa3a490b62a6b7719068903485c0bb6dc2d" + }, + "tests" : [ + { + "comment" : "r,s are large", + "message" : "54657374", + "result" : "valid", + "sig" : "3046022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc63254f022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc63254e", + "tcId" : 199 + } + ] + }, + { + "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d030107034200044a03ef9f92eb268cafa601072489a56380fa0dc43171d7712813b3a19a1eb5e53e213e28a608ce9a2f4a17fd830c6654018a79b3e0263d91a8ba90622df6f2f0", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAESgPvn5LrJoyvpgEHJImlY4D6DcQx\ncddxKBOzoZoeteU+IT4opgjOmi9KF/2DDGZUAYp5s+AmPZGoupBiLfby8A==\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp256r1", + "type" : "ECPublicKey", + "wx" : "4a03ef9f92eb268cafa601072489a56380fa0dc43171d7712813b3a19a1eb5e5", + "wy" : "3e213e28a608ce9a2f4a17fd830c6654018a79b3e0263d91a8ba90622df6f2f0" + }, + "tests" : [ + { + "comment" : "small r and s", + "message" : "54657374", + "result" : "valid", + "sig" : "3006020105020101", + "tcId" : 200 + } + ] + }, + { + "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d030107034200044a03ef9f92eb268cafa601072489a56380fa0dc43171d7712813b3a19a1eb5e53e213e28a608ce9a2f4a17fd830c6654018a79b3e0263d91a8ba90622df6f2f0", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAESgPvn5LrJoyvpgEHJImlY4D6DcQx\ncddxKBOzoZoeteU+IT4opgjOmi9KF/2DDGZUAYp5s+AmPZGoupBiLfby8A==\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp256r1", + "type" : "ECPublicKey", + "wx" : "4a03ef9f92eb268cafa601072489a56380fa0dc43171d7712813b3a19a1eb5e5", + "wy" : "3e213e28a608ce9a2f4a17fd830c6654018a79b3e0263d91a8ba90622df6f2f0" + }, + "tests" : [ + { + "comment" : "r is larger than n", + "message" : "54657374", + "result" : "invalid", + "sig" : "3026022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632556020101", + "tcId" : 201 + } + ] + }, + { + "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d030107034200044a03ef9f92eb268cafa601072489a56380fa0dc43171d7712813b3a19a1eb5e53e213e28a608ce9a2f4a17fd830c6654018a79b3e0263d91a8ba90622df6f2f0", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAESgPvn5LrJoyvpgEHJImlY4D6DcQx\ncddxKBOzoZoeteU+IT4opgjOmi9KF/2DDGZUAYp5s+AmPZGoupBiLfby8A==\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp256r1", + "type" : "ECPublicKey", + "wx" : "4a03ef9f92eb268cafa601072489a56380fa0dc43171d7712813b3a19a1eb5e5", + "wy" : "3e213e28a608ce9a2f4a17fd830c6654018a79b3e0263d91a8ba90622df6f2f0" + }, + "tests" : [ + { + "comment" : "s is larger than n", + "message" : "54657374", + "result" : "invalid", + "sig" : "3026020105022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632552", + "tcId" : 202 + } + ] + }, + { + "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d030107034200040203736fcb198b15d8d7a0c80f66dddd15259240aa78d08aae67c467de04503434383438d5041ea9a387ee8e4d4e84b4471b160c6bcf2568b072f8f20e87a996", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEAgNzb8sZixXY16DID2bd3RUlkkCq\neNCKrmfEZ94EUDQ0ODQ41QQeqaOH7o5NToS0RxsWDGvPJWiwcvjyDoeplg==\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp256r1", + "type" : "ECPublicKey", + "wx" : "203736fcb198b15d8d7a0c80f66dddd15259240aa78d08aae67c467de045034", + "wy" : "34383438d5041ea9a387ee8e4d4e84b4471b160c6bcf2568b072f8f20e87a996" + }, + "tests" : [ + { + "comment" : "point at infinity during verify", + "message" : "54657374", + "result" : "invalid", + "sig" : "304402207fffffff800000007fffffffffffffffde737d56d38bcf4279dce5617e3192a80220555555550000000055555555555555553ef7a8e48d07df81a693439654210c70", + "tcId" : 203 + } + ] + }, + { + "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004a17f5b75a35ed64623ca5cbf1f91951292db0c23f0c2ea24c3d0cad0988cabc083a7a618625c228940730b4fa3ee64faecbb2fc20fdde7c58b3a3f6300424dc6", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEoX9bdaNe1kYjyly/H5GVEpLbDCPw\nwuokw9DK0JiMq8CDp6YYYlwiiUBzC0+j7mT67Lsvwg/d58WLOj9jAEJNxg==\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp256r1", + "type" : "ECPublicKey", + "wx" : "0a17f5b75a35ed64623ca5cbf1f91951292db0c23f0c2ea24c3d0cad0988cabc0", + "wy" : "083a7a618625c228940730b4fa3ee64faecbb2fc20fdde7c58b3a3f6300424dc6" + }, + "tests" : [ + { + "comment" : "u1 == 1", + "message" : "54657374", + "result" : "valid", + "sig" : "30440220555555550000000055555555555555553ef7a8e48d07df81a693439654210c700220532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25", + "tcId" : 204 + } + ] + }, + { + "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d0301070342000404ba0cba291a37db13f33bf90dab628c04ec8393a0200419e9eaa1ebcc9fb5c31f3a0a0e6823a49b625ad57b12a32d4047970fc3428f0f0049ecf4265dc12f62", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEBLoMuikaN9sT8zv5DatijATsg5Og\nIAQZ6eqh68yftcMfOgoOaCOkm2Ja1XsSoy1AR5cPw0KPDwBJ7PQmXcEvYg==\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp256r1", + "type" : "ECPublicKey", + "wx" : "4ba0cba291a37db13f33bf90dab628c04ec8393a0200419e9eaa1ebcc9fb5c3", + "wy" : "1f3a0a0e6823a49b625ad57b12a32d4047970fc3428f0f0049ecf4265dc12f62" + }, + "tests" : [ + { + "comment" : "u1 == n - 1", + "message" : "54657374", + "result" : "valid", + "sig" : "30450220555555550000000055555555555555553ef7a8e48d07df81a693439654210c70022100acd155416a8b77f34089464733ff7cd39c400e9c69af7beb9eac5054ed2ec72c", + "tcId" : 205 + } + ] + }, + { + "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004692b6c828e0feed63d8aeaa2b7322f9ccbe8723a1ed39f229f204a434b8900efa1f6f6abcb38ea3b8fde38b98c7c271f274af56a8c5628dc3329069ae4dd5716", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEaStsgo4P7tY9iuqitzIvnMvocjoe\n058inyBKQ0uJAO+h9varyzjqO4/eOLmMfCcfJ0r1aoxWKNwzKQaa5N1XFg==\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp256r1", + "type" : "ECPublicKey", + "wx" : "692b6c828e0feed63d8aeaa2b7322f9ccbe8723a1ed39f229f204a434b8900ef", + "wy" : "0a1f6f6abcb38ea3b8fde38b98c7c271f274af56a8c5628dc3329069ae4dd5716" + }, + "tests" : [ + { + "comment" : "u2 == 1", + "message" : "54657374", + "result" : "valid", + "sig" : "30440220555555550000000055555555555555553ef7a8e48d07df81a693439654210c700220555555550000000055555555555555553ef7a8e48d07df81a693439654210c70", + "tcId" : 206 + } + ] + }, + { + "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d0301070342000400cefd9162d13e64cb93687a9cd8f9755ebb5a3ef7632f800f84871874ccef09543ecbeaf7e8044ef721be2fb5f549e4b8480d2587404ebf7dbbef2c54bc0cb1", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEAM79kWLRPmTLk2h6nNj5dV67Wj73\nYy+AD4SHGHTM7wlUPsvq9+gETvchvi+19UnkuEgNJYdATr99u+8sVLwMsQ==\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp256r1", + "type" : "ECPublicKey", + "wx" : "0cefd9162d13e64cb93687a9cd8f9755ebb5a3ef7632f800f84871874ccef09", + "wy" : "543ecbeaf7e8044ef721be2fb5f549e4b8480d2587404ebf7dbbef2c54bc0cb1" + }, + "tests" : [ + { + "comment" : "u2 == n - 1", + "message" : "54657374", + "result" : "valid", + "sig" : "30450220555555550000000055555555555555553ef7a8e48d07df81a693439654210c70022100aaaaaaaa00000000aaaaaaaaaaaaaaaa7def51c91a0fbf034d26872ca84218e1", + "tcId" : 207 + } + ] + }, + { + "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d030107034200040158137755b901f797a90d4ca8887e023cb2ef63b2ba2c0d455edaef42cf237e2a964fc00d377a8592b8b61aafa7a4aaa7c7b9fd2b41d6e0e17bd1ba5677edcd", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEAVgTd1W5AfeXqQ1MqIh+Ajyy72Oy\nuiwNRV7a70LPI34qlk/ADTd6hZK4thqvp6Sqp8e5/StB1uDhe9G6VnftzQ==\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp256r1", + "type" : "ECPublicKey", + "wx" : "158137755b901f797a90d4ca8887e023cb2ef63b2ba2c0d455edaef42cf237e", + "wy" : "2a964fc00d377a8592b8b61aafa7a4aaa7c7b9fd2b41d6e0e17bd1ba5677edcd" + }, + "tests" : [ + { + "comment" : "weak key", + "message" : "54657374", + "result" : "valid", + "sig" : "304502206f2347cab7dd76858fe0555ac3bc99048c4aacafdfb6bcbe05ea6c42c4934569022100f21d907e3890916dc4fa1f4703c1e50d3f54ddf7383e44023a41de562aa18ed8", + "tcId" : 208 + } + ] + }, + { + "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d030107034200040158137755b901f797a90d4ca8887e023cb2ef63b2ba2c0d455edaef42cf237ed569b03ef2c8857b6d4749e550585b5558384603d4be291f1e842e45a9881232", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEAVgTd1W5AfeXqQ1MqIh+Ajyy72Oy\nuiwNRV7a70LPI37VabA+8siFe21HSeVQWFtVWDhGA9S+KR8ehC5FqYgSMg==\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp256r1", + "type" : "ECPublicKey", + "wx" : "158137755b901f797a90d4ca8887e023cb2ef63b2ba2c0d455edaef42cf237e", + "wy" : "0d569b03ef2c8857b6d4749e550585b5558384603d4be291f1e842e45a9881232" + }, + "tests" : [ + { + "comment" : "duplication bug", + "message" : "54657374", + "result" : "invalid", + "sig" : "304502206f2347cab7dd76858fe0555ac3bc99048c4aacafdfb6bcbe05ea6c42c4934569022100f21d907e3890916dc4fa1f4703c1e50d3f54ddf7383e44023a41de562aa18ed8", + "tcId" : 209 + } + ] + }, + { + "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d030107034200043f7137e42b6c5d98c6bb61bce91426f8e2c2f33fdc893a0d32be1ba0042c21c59c0df75782993e9a31ef773dc73eeb038cd6594f43ecca77fe586105efa19833", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEP3E35CtsXZjGu2G86RQm+OLC8z/c\niToNMr4boAQsIcWcDfdXgpk+mjHvdz3HPusDjNZZT0Psynf+WGEF76GYMw==\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp256r1", + "type" : "ECPublicKey", + "wx" : "3f7137e42b6c5d98c6bb61bce91426f8e2c2f33fdc893a0d32be1ba0042c21c5", + "wy" : "09c0df75782993e9a31ef773dc73eeb038cd6594f43ecca77fe586105efa19833" + }, + "tests" : [ + { + "comment" : "random signature", + "message" : "00000000000000000000000000000000", + "result" : "valid", + "sig" : "304502203c3fe1264b2995df966337a6ede98fc5c71893e352696703cf863c7e63ac0627022100bcb0a9a02e57ce80f72d91eee92a99ba5b16a3411f9dd541bfdf44a7f2ad54cc", + "tcId" : 210 + }, + { + "comment" : "random signature", + "message" : "00000000000000000000000000000000", + "result" : "valid", + "sig" : "3045022100a3f9d3ea2c35bb1899508129e0edaf40292ec3b895dc0c6396d9b162b8d88134022073a92358fc9921bf80b3f0f6244d73b141f007a632e8c3cd1f988752e6492c79", + "tcId" : 211 + }, + { + "comment" : "random signature", + "message" : "00000000000000000000000000000000", + "result" : "valid", + "sig" : "304402203c137c3cf8feb9eb4f7f5984e954918dd408b4df79534150919694d07877067f02202ca4c9d4440262934ca5c8b2cc4bfab3348462b5ab3a308d097dee9b8077a0c0", + "tcId" : 212 + }, + { + "comment" : "random signature", + "message" : "00000000000000000000000000000000", + "result" : "valid", + "sig" : "3045022005916c5b5d012f85a11fb8adccee8403674dd259e9b158594a3979346d38620c022100945e551009e002951ad9551ed507feca41103c3bf23a156eaefd0c844f3567be", + "tcId" : 213 + }, + { + "comment" : "random signature", + "message" : "00000000000000000000000000000000", + "result" : "valid", + "sig" : "3044022007c1801de1ec0c089fcbc6301deaa0c161ae59c7e367c6f0376d3fcfcbc6a3e5022006d8ff0b593ed08b35e781551e8ca8222a8f4524e07dc055ec9b78567fe7cd81", + "tcId" : 214 + }, + { + "comment" : "random signature", + "message" : "00000000000000000000000000000000", + "result" : "valid", + "sig" : "30450220204ff2e911d442d3e46979b2177894bd07cf25485b990f6f162335f916e9d2d00221009825c6539cc3a4d1be8ef523fe28f99f5445377f70471bffbd88362909ee4fde", + "tcId" : 215 + }, + { + "comment" : "random signature", + "message" : "00000000000000000000000000000000", + "result" : "valid", + "sig" : "304502206a2e4b1eda9b5e5426e0fe6f2fe3180793ec1ae414b4c1164c1cb85a85af49b00221008a40315be22f196eb6d4dca64adab267778eaef5884a074573cb4f2bed185519", + "tcId" : 216 + }, + { + "comment" : "random signature", + "message" : "00000000000000000000000000000000", + "result" : "valid", + "sig" : "3045022100aaedd77d46a678ca6200a38fcb35550d6c523b6e929efe621673307c295c7de602201dbf3d1edcebd7f7caa604ec3d967a213c57ca2f016ed1c281a2bbce2978c59a", + "tcId" : 217 + }, + { + "comment" : "random signature", + "message" : "00000000000000000000000000000000", + "result" : "valid", + "sig" : "304402204491da1b704c0410cf6d3ed7c40e770f35d54dd79eb7646537b5e48654b9a28e02204118b53ab6da09a9fcc23af86d8fb8db903a596883167c29042bc13618a3a1b1", + "tcId" : 218 + }, + { + "comment" : "random signature", + "message" : "00000000000000000000000000000000", + "result" : "valid", + "sig" : "304502205f9da7e8a353a0b324b512a6d7bc9daa655041c09e1aebd281f85b6445ba7ca3022100fb1386685b75f05d836a9a7c2aa698b543fac3cb3a54a256efa9f6f1efaaaedb", + "tcId" : 219 + } + ] + }, + { + "keyDer" : "30819b301006072a8648ce3d020106052b810400230381860004013d6e38dfa75ddb2e7822a68192ba40b947bdbbb666d40c63d03b757eb512ed826bfe58bb2706af6ed7b771c98d86133a8d6f5ac6ec22c589cef90e43480f2b2bee0061d76af46853de2a9e2b444cba5adbeb38ad82541a483350c313ff259b93e0d64085566c6c2bb6ff0fbdbd46e69c48b37ec3905d06234bbbd8ca4198d564c8e465", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQBPW4436dd2y54IqaBkrpAuUe9u7Zm\n1Axj0Dt1frUS7YJr/li7Jwavbte3ccmNhhM6jW9axuwixYnO+Q5DSA8rK+4AYddq\n9GhT3iqeK0RMulrb6zitglQaSDNQwxP/JZuT4NZAhVZsbCu2/w+9vUbmnEizfsOQ\nXQYjS7vYykGY1WTI5GU=\n-----END PUBLIC KEY-----", + "sha" : "SHA-512", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp521r1", + "type" : "ECPublicKey", + "wx" : "13d6e38dfa75ddb2e7822a68192ba40b947bdbbb666d40c63d03b757eb512ed826bfe58bb2706af6ed7b771c98d86133a8d6f5ac6ec22c589cef90e43480f2b2bee", + "wy" : "61d76af46853de2a9e2b444cba5adbeb38ad82541a483350c313ff259b93e0d64085566c6c2bb6ff0fbdbd46e69c48b37ec3905d06234bbbd8ca4198d564c8e465" + }, + "tests" : [ + { + "comment" : "random signature", + "message" : "0000000000000000000000000000000000000000", + "result" : "valid", + "sig" : "30818702411b01186e46e19d71dc2062453be3b4b94c27556069ac5211f6cdb99d4b4d89405c2da8663a32dcec5515cb7357564b32a6ce33f379f3df35b4e2a5db855ad1d7be024200efea92828d6cf125504a247141adc9ecf35fde30c7e0487eff4fbe2f3949b7788d034968a198dcfb4ad1bb6b873ef9f5c8683757aa716f8c00dbc1ccc534c2fece", + "tcId" : 220 + }, + { + "comment" : "random signature", + "message" : "0000000000000000000000000000000000000000", + "result" : "valid", + "sig" : "3081880242016f39b566c7e037f0c5dfe9f453fb1dc488fa610c341408333326cb632d16dda66af7286e4237de3310cffd6863398257fe2c9e1deb30d61d098c7d5c255b4b45d9024201a49858926129db492d53130bedd4c9be18ac9f7bfd7d62eaf99fe12f58e81d2786b12da9c13b3f025f94f5398e784e909ff363125b98dc35ba850400ef8e4efa2d", + "tcId" : 221 + }, + { + "comment" : "random signature", + "message" : "0000000000000000000000000000000000000000", + "result" : "valid", + "sig" : "308187024200fcec8495af424d3d6468cf79a0b2d6a2ff7d3c249e78ea1f157e1558066e5118558a830ba105dc8a29b8375642593f0e5c2d23b62a39954ad7a4be3e82a69d817b02410960873c13cd81af95e3980db5fdc537bebfc9ebae4d94d05a276d3bdd86b65ec60175471ae661e16c225c6e17635664a20e8160f7365e4034ca625642de17d479", + "tcId" : 222 + }, + { + "comment" : "random signature", + "message" : "0000000000000000000000000000000000000000", + "result" : "valid", + "sig" : "308187024171ad3beb8abd01e53fed56ea34f1bd9ae252d290e5c5ae364ae60ce67b0f42186254db2783333a97eeabf2a84b6bcb4683107e03d97bb3e67d400cc8c314a20939024200dc4afe3dca6572fd4a56ba150d3a5266d7828f2c764c416fa2b2e64b1c694040d1fe8061e742c9212ec4330a0d1e312ad65ec4623821d3327da583b78e6a2539ed", + "tcId" : 223 + }, + { + "comment" : "random signature", + "message" : "0000000000000000000000000000000000000000", + "result" : "valid", + "sig" : "308188024200e53d62a974603f05997fce2df0cb2df83a34cc34b56d71db12cf980db9834e1a322a17fad9ba8d7ea58e2d31de4688527fc5f18424470a51383dbcb177c97c2f6f024201668d2e11b296637f7886291eb339ecfbd630be841b622f81df118cdd16ecebfd0999dca4f82b7fc4f17be81c64d6903ca2a9d854702b6783b1bb47455fc9665032", + "tcId" : 224 + }, + { + "comment" : "random signature", + "message" : "0000000000000000000000000000000000000000", + "result" : "valid", + "sig" : "308186024107250d6a30bc7c47a63f2aebb3eb0b7b9be3bf833f761bf6a56cd1300224e5753c85987f9e61401c0434ab1566b6a3e5519575415c24417c69c39fc43dab11d3cb024157f319ebf47bbfe2b7d38a3da246b135f31baa455c72c5869016d7fcabdaec581efc5b756d0f451ad079f697961225e55495fbac374bb246fd499c1ba7b9bbae57", + "tcId" : 225 + }, + { + "comment" : "random signature", + "message" : "0000000000000000000000000000000000000000", + "result" : "valid", + "sig" : "308188024200d2b0e8938f97fad395fa00d91888f9ba29d4df80626cc278ad233c9a9fdc5fd1762cb6a53bc34d1f6f0b1b42dd0ac5bde7c3f95becf6fe39f356a47ffa7cc2343a024201cb90ceb1c46d9d0f584d0e8b58b21a5e9d7b101dc253a1109fe99715f32223b4e02ac3a880e8eeb7d4a92a7d10d33543fad8c78cfb0700bf794f0497f4c8276c3c", + "tcId" : 226 + }, + { + "comment" : "random signature", + "message" : "0000000000000000000000000000000000000000", + "result" : "valid", + "sig" : "3081880242018a4cffe3fbacdaffe208bbd0c682ffdfc7d77a41d05e71f8e5bfe3685279bc62dd35e3ac1c6bec556bfe3ba0b12c6ef6124dcf05bc61d66856c00740bd271856c8024200a6105606f6bdf923a8dd1a70802a98d42b83293dbd8e78799d9093e22819edc20754e0da61f05c0650069a2f766c0e2caea947d436c9a4cf1d7c4881315fa840b6", + "tcId" : 227 + }, + { + "comment" : "random signature", + "message" : "0000000000000000000000000000000000000000", + "result" : "valid", + "sig" : "3081880242010bc1d5bcda1e17bb6abffe483005885455d6042eb89dc346765017a270524ad03d8bce116860c79f9a33085b6d9a9ec0bd03944bd117cc24a46e4cfd58a75afa18024201db04999a96b4caa3725d1fd178e0471e05ea8800fce35e1cf52d1c8006083898a28cf8b106eb58588a0aa642bb91581aa940f3e02b9fdcb064cf29cf012b449cb4", + "tcId" : 228 + }, + { + "comment" : "random signature", + "message" : "0000000000000000000000000000000000000000", + "result" : "valid", + "sig" : "3081880242017381d2a07c84ebe2fb4356f07c27a2d110d6d1ef7c0a23dfb3a038dbbc53d457d3207039bdfb46bacae9d9ed821d46ce328d3d2acdf9641331b28713998d0398dd024200b6b943a7300d396d07a76c29e80a88c1ff1a6def766fb72022db7bb006e311e6cfbc4452390962461e767a97383d2f908122645e82710dd7fbbeff947d2e488bad", + "tcId" : 229 + } + ] + }, + { + "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004e10ba0fabf162af055b859b7d939435cce257ffa274349456403292bb8cb60e9fa1a0a6408df5e4e3675f47621c8f29cda59832a7acedcd3315f6a8ea848afc8", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE4Qug+r8WKvBVuFm32TlDXM4lf/on\nQ0lFZAMpK7jLYOn6GgpkCN9eTjZ19HYhyPKc2lmDKnrO3NMxX2qOqEivyA==\n-----END PUBLIC KEY-----", + "sha" : "SHA-512", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp256r1", + "type" : "ECPublicKey", + "wx" : "0e10ba0fabf162af055b859b7d939435cce257ffa274349456403292bb8cb60e9", + "wy" : "0fa1a0a6408df5e4e3675f47621c8f29cda59832a7acedcd3315f6a8ea848afc8" + }, + "tests" : [ + { + "comment" : "random signature", + "message" : "48656c6c6f", + "result" : "valid", + "sig" : "3045022100f5a4fa630913d5ad82d46e31c305e6b0933b4d9aaaf52997cf86527e36fb784c02206534b74e9d19ae8756afdde2876ad90195863f7c04ee61997eab183d175cf770", + "tcId" : 230 + }, + { + "comment" : "random signature", + "message" : "48656c6c6f", + "result" : "valid", + "sig" : "304502204ccf6585c28ed8ec75d4023f2f8827c3e87c30fa884d992f53b3515ea6060d6b022100b80de22c729068f2191aa7bb638cb26b0018914981b4ab20a09d48333147b9a4", + "tcId" : 231 + }, + { + "comment" : "random signature", + "message" : "48656c6c6f", + "result" : "valid", + "sig" : "30460221009f14dfcd5b7963d2f6d3ea0925bfcbdbf3b6a9500d080efbb787f6b792886312022100eae1881b232e64f10dd41b0b94c8c4e662ff3be7d25f1137ede60737664a2c7b", + "tcId" : 232 + }, + { + "comment" : "random signature", + "message" : "48656c6c6f", + "result" : "valid", + "sig" : "3046022100e43b319bd4d94cd6beeb23caf950dbb448d713de4830ac4f749a30149932cdfb0221008118d54087fae841c61eca28622f95a315f8d9f505ba30fea43c17a7b48e6f9a", + "tcId" : 233 + }, + { + "comment" : "random signature", + "message" : "48656c6c6f", + "result" : "valid", + "sig" : "3045022100d66f8bfe727d5697feda9fd2a7be014454329f6a72414b69a181a7a7bc6614d402203e7aa1f19cb90fa30cebd30ce5c3022748f050a418d1d42550a76f4eb497b0e7", + "tcId" : 234 + }, + { + "comment" : "random signature", + "message" : "48656c6c6f", + "result" : "valid", + "sig" : "3046022100db555ffefc339c394d1a8059390a78aa9eba72dc008421f581f78ed1b29c3e910221009082dba3909cfc596ade6108a199d66fc1f726016eae2871c8e343bc14639bb3", + "tcId" : 235 + }, + { + "comment" : "random signature", + "message" : "48656c6c6f", + "result" : "valid", + "sig" : "30440220190dd08a839b27641f1145fc8e04e8d71a55f2be835d360bd1c5f5d357c749490220474915b4bc6d81437eaff2f438e05bedcfd10f4222984782f3202ee32b55253d", + "tcId" : 236 + }, + { + "comment" : "random signature", + "message" : "48656c6c6f", + "result" : "valid", + "sig" : "304502200159de0f5c777d001cf22e46cccd10dc01a124f12bc707aaaf305d3e05f0fc1a022100c2314c660d0107473edaf36e718248971522c20adea9e7b1f01fe174510ab00d", + "tcId" : 237 + }, + { + "comment" : "random signature", + "message" : "48656c6c6f", + "result" : "valid", + "sig" : "3045022100ed5137b13ce59346a00a2380e3ff1a874f52172ecd601652dd12e38ce638bb410220776161b448299c2cbcd9856dcd2aeea99423d817895ce9c5d3071c81bf7b0218", + "tcId" : 238 + }, + { + "comment" : "random signature", + "message" : "48656c6c6f", + "result" : "valid", + "sig" : "304402206c5fa55a3cc7d21fcdbbd353acaff2c33bcce0a7768277dfea9999c49b80e78e022029316ba855bcfdfed36032e648413beaea51675286ed5fc7c67a623ec6ab550b", + "tcId" : 239 + } + ] + }, + { + "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004043d002e8a7578988a8013868221598c76b22591f95b6328a07f60ff1bb55957b1a83fce6aeeb38f2c1489d170e51fd3ba396e4dd4997314", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEBD0ALop1eJiKgBOGgiFZjHayJZH5W2Mo\noH9g/xu1WVexqD/Oau6zjywUidFw5R/TujluTdSZcxQ=\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp224r1", + "type" : "ECPublicKey", + "wx" : "43d002e8a7578988a8013868221598c76b22591f95b6328a07f60ff", + "wy" : "1bb55957b1a83fce6aeeb38f2c1489d170e51fd3ba396e4dd4997314" + }, + "tests" : [ + { + "comment" : "random signature", + "message" : "48656c6c6f", + "result" : "valid", + "sig" : "303c021c31788aeb1f7e5a8ef02691c94b6ef09c178177e1efd0b66024e2bbf0021c61b855d33928aa6a06ce4744459246912bb546299dc1361afe8b54f6", + "tcId" : 240 + }, + { + "comment" : "random signature", + "message" : "48656c6c6f", + "result" : "valid", + "sig" : "303d021c535fd315dc20cffdb12d9760e78f265b372cbab47d16d452b7323e29021d00b647908b7afbc054bd8da42a2c919542e3f46ee500c701c73077bcdb", + "tcId" : 241 + }, + { + "comment" : "random signature", + "message" : "48656c6c6f", + "result" : "valid", + "sig" : "303e021d00c4732d71dfa662e7954ff9bebfd649d0979fb3b1cff0f003d2bb2491021d00a646d691a1298e7c35a97a3b466a24fb6920b4fadbe879c7753b6cc0", + "tcId" : 242 + }, + { + "comment" : "random signature", + "message" : "48656c6c6f", + "result" : "valid", + "sig" : "303c021c5234ab61f3968397d91b43782dd4c1d6fb9d3efe408179350776fbc9021c2eb655fb47d872f419455708db8eeb887798c8b4f2c7a97676dba7b8", + "tcId" : 243 + }, + { + "comment" : "random signature", + "message" : "48656c6c6f", + "result" : "valid", + "sig" : "303d021c0130551eb38f5031878979407512b41539e433dc286d1fede4b80be3021d009bd60de297786209c5432b806a54b7631621d46de47d48842ff681c5", + "tcId" : 244 + }, + { + "comment" : "random signature", + "message" : "48656c6c6f", + "result" : "valid", + "sig" : "303c021c27d821f9c9cf6318f2a037de60fa4782c351ba4ff80d932d213c4d07021c62ee9b287ba2a0b3e30ddd3fc64e7929bdad9113a1282c10643ad592", + "tcId" : 245 + }, + { + "comment" : "random signature", + "message" : "48656c6c6f", + "result" : "valid", + "sig" : "303c021c1016ed7dbcb22340942aa8f0e7a84101d96dc42eb55ca2d681632e90021c5c16afccd82d04f8c444de978fe63d5450d07e12b203c32b2196b495", + "tcId" : 246 + }, + { + "comment" : "random signature", + "message" : "48656c6c6f", + "result" : "valid", + "sig" : "303d021d00ed965e2d4693550bb57f5e02ddb4decd39a6e04877acff12a73a8235021c355bcf5024e4c59fbd085b93309d9c5bbe1a46753ffb4f721a893886", + "tcId" : 247 + }, + { + "comment" : "random signature", + "message" : "48656c6c6f", + "result" : "valid", + "sig" : "303e021d00bafa121f3eaa86be5126d205415bbac620a5629055ca27d3df9b8678021d00b85d2b3b11517a994317139d28b75772dec6aeb21b1e9fa07886ad8c", + "tcId" : 248 + }, + { + "comment" : "random signature", + "message" : "48656c6c6f", + "result" : "valid", + "sig" : "303d021d00dc63d34b62603b5f6f5e3a55b65d0571b5d1c5aebe0b2ebb5ffac3a9021c6a88c49cb0d3dd86bae375f93c299dcd32c372ce201e4ab50b31d233", + "tcId" : 249 + } + ] + }, + { + "keyDer" : "3076301006072a8648ce3d020106052b810400220362000437c5fdb948494b3fd8bb5ec5930025276fa55d43f660e1f06b74a4462063f4735ed0a6d9dfdee6797b70655755e8e2e373d53d1f06fe73b766f5c4e06b788dea92b7a17d7cc1abb95d2c90cb2c09b5a2de2e672126debc46516e910952a91dfa", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEN8X9uUhJSz/Yu17FkwAlJ2+lXUP2YOHw\na3SkRiBj9HNe0KbZ397meXtwZVdV6OLjc9U9Hwb+c7dm9cTga3iN6pK3oX18wau5\nXSyQyywJtaLeLmchJt68RlFukQlSqR36\n-----END PUBLIC KEY-----", + "sha" : "SHA-512", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp384r1", + "type" : "ECPublicKey", + "wx" : "37c5fdb948494b3fd8bb5ec5930025276fa55d43f660e1f06b74a4462063f4735ed0a6d9dfdee6797b70655755e8e2e3", + "wy" : "73d53d1f06fe73b766f5c4e06b788dea92b7a17d7cc1abb95d2c90cb2c09b5a2de2e672126debc46516e910952a91dfa" + }, + "tests" : [ + { + "comment" : "random signature", + "message" : "48656c6c6f", + "result" : "valid", + "sig" : "3064023063a13e9cff9933f28be9d5512a41e7d360267d969787bb547de033ec25f4ce8d4241739136ef85c87d4fc26b508e6b0a02300d58575ba57ac5677cf1c0c482310f2ac49bd8e7777cbae1c4255a203b43fc4c57cf80d29054305a4816fa585d1d796f", + "tcId" : 250 + }, + { + "comment" : "random signature", + "message" : "48656c6c6f", + "result" : "valid", + "sig" : "3064022f2d4f256b6cb1a53506a80dcc9168819143d406429c5d6a250382de196d5d85f15d55a03c2f75438c50ee88e500bfcc023100fb09a8ac3864ae3392d4ff8c6735525daccc3c406abf2b55127c1073e637a2d6ffebed7d7e76c33080323732f932b061", + "tcId" : 251 + }, + { + "comment" : "random signature", + "message" : "48656c6c6f", + "result" : "valid", + "sig" : "3066023100ab7f86f08c50b3d270130751f841d7872d9cd9da32a20d45af87829ad1b3114ed37c40971abf1b9b901bb90e86ec66ed023100f7a2d3aed355f4fa173e5011da4759bf842c607f45e9716f95a55d9c164901113ed50df4883c52b83db7905d34edb7cf", + "tcId" : 252 + }, + { + "comment" : "random signature", + "message" : "48656c6c6f", + "result" : "valid", + "sig" : "3066023100d6b7b5fb43b88233c0c08039489b0ff9c356488887aead4a4c67761d9dae82ae53346cc4d962453c95d8c6cc8138b15a0231009f9651cff09767563d5821940d16ef418d80b682af5137bfef8ff12ad0c5b0df90cd936b4ac75b750f52b8609b49cb00", + "tcId" : 253 + }, + { + "comment" : "random signature", + "message" : "48656c6c6f", + "result" : "valid", + "sig" : "30650231009f04654cfa89783482e23f24a63e0161108b963353856216e8f668b61ce33cb552d9eaf110c1ebf0c7d674410e9efbf20230411c2050c857b0f312ccc3e69afff849bf89e0ff3868ff5693d69c16d901d4d976306b8f5e7cc0a908faa88a06aa4839", + "tcId" : 254 + }, + { + "comment" : "random signature", + "message" : "48656c6c6f", + "result" : "valid", + "sig" : "30650230221ce3308b394973315c1ae936d41cbe103b3c480d0249063b491c6f282b6a003910cd1b53f78333d1d6bd0fc45cb775023100f7ae3e8c0849282145e8d411e69bb9abf8df77da4c794b639d0fa16e828ca74034e0d190636fb902cce42d29df3ae674", + "tcId" : 255 + }, + { + "comment" : "random signature", + "message" : "48656c6c6f", + "result" : "valid", + "sig" : "3066023100fe157fe0d7830b2df78a6f41581b3982e2fe2b37d0c50a90804b9fa51fafb64f88b8a4a2a8899eb85709805626bb2374023100b5e8e146185dd26e1a7178f64377456e2bb56e6e3322d27bc8899a14bed7d8652e09d03dfc1730e3ac8ba1f6f0d7fe8d", + "tcId" : 256 + }, + { + "comment" : "random signature", + "message" : "48656c6c6f", + "result" : "valid", + "sig" : "3065023100d9533df0741a9d3435366d9347259457bf1ace27f436b809a36a04f73a6499aaf1778bfdae763b16f6ab8329beef4cba0230282693221bf9ee2883c2793bccf45bcc50eceafeae3d6f0b0e7e55edda06bc36deebaabb3aee25339b37e7b2fc420f1d", + "tcId" : 257 + }, + { + "comment" : "random signature", + "message" : "48656c6c6f", + "result" : "valid", + "sig" : "306402304b36a23584076fc30ab2ef9e6b026ce1e60a7d380dc6be69fe2c1e1ec6edb737a8cc85c1486e810d00190cbcb6272bc6023030c794a0cca240578eda7d89b5f0a34b05330e926f7576327550fc444c3aee66c4d913c8d90be9b405486c8c879d1080", + "tcId" : 258 + }, + { + "comment" : "random signature", + "message" : "48656c6c6f", + "result" : "valid", + "sig" : "3065023100d1993840050f853b6b046e3761a6007dca17f24bd96cc38cf08cee3b25ce1142cbe1b23bd97f49f1f73667f9956a0b8502305d1b757f67de261d5b7729a0cb582a0d4133ba6ffb329315328e43a2d3345b670a6c44ddaef6ff4b400616cdc0ecaf83", + "tcId" : 259 + } + ] + }, + { + "keyDer" : "30819b301006072a8648ce3d020106052b81040023038186000400252ba02b52511e0d27c926f51933deb9da574b65790d0586514afe02478a384c7709702304fa45d891f74ea5b7774658ec7f6bd665b7b857a19946ed97a13e12370122a5e01c6cc84e4ccf55a27b836a31e3faa91a27b8967b85abd815595f76bf7a0ed524ac8730bcb3b0c536907c8d492718bbbcc581d27b8d347fbe7844f65675fb", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQAJSugK1JRHg0nySb1GTPeudpXS2V5\nDQWGUUr+AkeKOEx3CXAjBPpF2JH3TqW3d0ZY7H9r1mW3uFehmUbtl6E+EjcBIqXg\nHGzITkzPVaJ7g2ox4/qpGie4lnuFq9gVWV92v3oO1SSshzC8s7DFNpB8jUknGLu8\nxYHSe400f754RPZWdfs=\n-----END PUBLIC KEY-----", + "sha" : "SHA-512", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp521r1", + "type" : "ECPublicKey", + "wx" : "252ba02b52511e0d27c926f51933deb9da574b65790d0586514afe02478a384c7709702304fa45d891f74ea5b7774658ec7f6bd665b7b857a19946ed97a13e1237", + "wy" : "122a5e01c6cc84e4ccf55a27b836a31e3faa91a27b8967b85abd815595f76bf7a0ed524ac8730bcb3b0c536907c8d492718bbbcc581d27b8d347fbe7844f65675fb" + }, + "tests" : [ + { + "comment" : "random signature", + "message" : "48656c6c6f", + "result" : "valid", + "sig" : "30818702412a996b82715ac9f1fe285a850a617e51ebabf92b521aa0c8548b6ab3fd218ae9bfd63f04416943a4c6ea6a9d679b770a40fb2298511c9e1541f08f63680dcb920d0242011e06a29b2b4b4342d23a5e1986fd5ec5970719a9afa019b17be2b29655187b0ed1d81359dd48d3dcb8c8ca201b33038dfb5980165de4797ae9108d3544dce9e9f2", + "tcId" : 260 + }, + { + "comment" : "random signature", + "message" : "48656c6c6f", + "result" : "valid", + "sig" : "30818802420143eefbaa995087d553835fe93afcf43364d834e37302317c0587b7c86604dde272474e7f2501463280e0e979eb59e79e9f7a3236d967230fc5677fad4b29b424a1024201578a2dbb28cb4e7ca50bd237253b7912f3c8a7cb455d7da98c599855838b0dde6ed83276ab8eaefb312756cd3e16e53377358a98b8c612168e84261b510ea42253", + "tcId" : 261 + }, + { + "comment" : "random signature", + "message" : "48656c6c6f", + "result" : "valid", + "sig" : "30818702420131247501344d5aac53cdc31d65e22ab02bf552c246f0fa92ea7d24999bf6df4474c64af6c892ad05b1c3d83634c3420f55993d10589352674ffbec71552ff66bb102412655b482f9231e3ba0283b96d0a934c6f0c6282f7907e8d0aa1e6707d0410a78d036461b5e5d3cf7f0e7ceb23c24f334d6cbc2f1d1684039a14c22d8538debb62b", + "tcId" : 262 + }, + { + "comment" : "random signature", + "message" : "48656c6c6f", + "result" : "valid", + "sig" : "308188024201538632e5ba4b1119240dbe68e026a9ffe934ad46f129fae49dd30caf2dec9e45504be132685474c6ba473f39f9439717939b3dc725a82488c77b17358511a3eae90242015d36c05195a17382a229a61a011639f8c309696d68e1f3b95d0053ee23bf6cb6249bf7a4fc9f1517147a33438c66edef6c587f00d3de8635be84a785d5e7baf319", + "tcId" : 263 + }, + { + "comment" : "random signature", + "message" : "48656c6c6f", + "result" : "valid", + "sig" : "308188024200fafebd657159b7a0f5d9e3b58ceffcb30056407fdbbf345f416d9cfadfc22edd4f31d9ba39a8e3a0ab1a4154f2417ed99cf80600cf95ecb5ce8b0e7ee79cf84c7a024201c47968f0a10144d6f399a270bf8c663eb083c2c6629f13704e855a84d78fe4fd9e4ffd81191882b6ba51b220cb6bc94c55f89a8182460a321325a0c978f57bc17b", + "tcId" : 264 + }, + { + "comment" : "random signature", + "message" : "48656c6c6f", + "result" : "valid", + "sig" : "3081870241138ffe382f05a34b2aea9bc90c2c5cac363d2cbd3af5c4fd1b39e75a92b34d6a1e6f0304a29a1b53651bda15840e1a93971bf20121c2d72d61481b95c3777116cc024201076665a62dd5dc147b30eb6521deaab06125d77b020c756940b21e1ff66f0d9b18b0013427b72a5ace91ccb790f94d0fea8f058f75324d4803283d2d3ea725a09c", + "tcId" : 265 + }, + { + "comment" : "random signature", + "message" : "48656c6c6f", + "result" : "valid", + "sig" : "308188024201a1f9f065bab50e83ab6c8c9008df1bfcb74f344f02efadab68c41d6f89c082157b978562bd4afea4769fbab392224682ef2683b449888f83205917e0918bbec217024201f7c1b72a0c0be8dddda08219060254bfc1e3e3c65427e89eff7868a7d9cfee31ee6653d455041ffa273b1ea383518b33231da95ea353a4d9ff3e5fa8c94c99e8f7", + "tcId" : 266 + }, + { + "comment" : "random signature", + "message" : "48656c6c6f", + "result" : "valid", + "sig" : "3081880242018270e7745dad6d8488720f4c93b69700d9717503887288c671d916cd649595f9783591833116b2ef912fa72d259ab7114ae3a182a9864a7edd4e6fcb3990649ce702420146242a4a3483946bc090a40ac39339fc124368e7535c84530a98aa3bbcece21909605d4c045b22f611ee5bc33179f11dd0d528c7b64ca241a47a273430b5a4e844", + "tcId" : 267 + }, + { + "comment" : "random signature", + "message" : "48656c6c6f", + "result" : "valid", + "sig" : "308188024201a04b162ee70667cd609d86eb5410b9d7c0c72a95ff3b3cab5c2d51023806a221d18db37a130be74b32356b29f6e6420bc022f83f60999b4176d5c9e31d900f226b0242011eb2c375e10607769fee41fa0ab61bd7c4b2761776851590e75bc2c91a0d1f5db1e8031df3ae6ae753e7ee9465c7fb547f97ebf080f756d33e323b0ba0afeeef23", + "tcId" : 268 + }, + { + "comment" : "random signature", + "message" : "48656c6c6f", + "result" : "valid", + "sig" : "3081880242009dc34469da72d84ac5addcb57e8b47186733860fc0ed44ea83ed28987cec9549102e537db86589e27204015cd2b2bf197dba0c21f28f01bcb16e0c0ee623e395fb024200db1653be45deca922f80d620f5524d9ce88cbcc9e5ee6c6be6227836f8badf6d99138bdde1ba7b9ee3395382e827f2adbea608ca51175a64c483f1342193f52bbd", + "tcId" : 269 + } + ] + }, + { + "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004d90c6ccc60a40e92013f34fbeaa6d9e765e4a25f937f53faf6dc8595e603a9c4b1a60a5a51531b2fb1b57e38151a859c204f0f6c27b6feb6", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAE2QxszGCkDpIBPzT76qbZ52Xkol+Tf1P6\n9tyFleYDqcSxpgpaUVMbL7G1fjgVGoWcIE8PbCe2/rY=\n-----END PUBLIC KEY-----", + "sha" : "SHA-1", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp224r1", + "type" : "ECPublicKey", + "wx" : "0d90c6ccc60a40e92013f34fbeaa6d9e765e4a25f937f53faf6dc8595", + "wy" : "0e603a9c4b1a60a5a51531b2fb1b57e38151a859c204f0f6c27b6feb6" + }, + "tests" : [ + { + "comment" : "Hash weaker than DL-group", + "message" : "48656c6c6f", + "result" : "acceptable", + "sig" : "303d021d00a2dfa28cce02d4006d07d3251a8ad54328571941869f48f3fcbcc316021c6d5cbf4e497d80bb1ad7955b441917872580c8977b4c026420ff449d", + "tcId" : 270 + } + ] + }, + { + "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004e49b6e5e078e9aa4364583f037efd94fb1058b9de125cb2a471981c343e662b2beaa75937c479c738574093053a2d54218753a967da74c0064d52e6a4db2cd73", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE5JtuXgeOmqQ2RYPwN+/ZT7EFi53h\nJcsqRxmBw0PmYrK+qnWTfEecc4V0CTBTotVCGHU6ln2nTABk1S5qTbLNcw==\n-----END PUBLIC KEY-----", + "sha" : "SHA-224", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp256r1", + "type" : "ECPublicKey", + "wx" : "0e49b6e5e078e9aa4364583f037efd94fb1058b9de125cb2a471981c343e662b2", + "wy" : "0beaa75937c479c738574093053a2d54218753a967da74c0064d52e6a4db2cd73" + }, + "tests" : [ + { + "comment" : "Hash weaker than DL-group", + "message" : "48656c6c6f", + "result" : "acceptable", + "sig" : "30460221008febf29c959ccc9c138a3190b9e22d1721a14351ddb2be669aa4370b944fc318022100d41f7637c75f4f4631aa2dbd42e1282f8a9ac13fb869339d10c3a00a5953397b", + "tcId" : 271 + } + ] + }, + { + "keyDer" : "3076301006072a8648ce3d020106052b8104002203620004a884162c27b9b66355f98c71d58a568d1306a3cbb530f527355deabc9a91ee1e7c9a0f0667435ec7ccb2507eb93c5ea8b2326d0e69c1e053e49b55de8d6257a07f1421dcfd49290c962d71ea5e5585917d406bd78a345f721e183e2d53a394b2", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEqIQWLCe5tmNV+Yxx1YpWjRMGo8u1MPUn\nNV3qvJqR7h58mg8GZ0Nex8yyUH65PF6osjJtDmnB4FPkm1XejWJXoH8UIdz9SSkM\nli1x6l5VhZF9QGvXijRfch4YPi1To5Sy\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp384r1", + "type" : "ECPublicKey", + "wx" : "0a884162c27b9b66355f98c71d58a568d1306a3cbb530f527355deabc9a91ee1e7c9a0f0667435ec7ccb2507eb93c5ea8", + "wy" : "0b2326d0e69c1e053e49b55de8d6257a07f1421dcfd49290c962d71ea5e5585917d406bd78a345f721e183e2d53a394b2" + }, + "tests" : [ + { + "comment" : "Hash weaker than DL-group", + "message" : "48656c6c6f", + "result" : "acceptable", + "sig" : "306502305158cdcc24d284b3427c1364844c04129b5d2d802bfa10401f81fc9c6fc0a4e66dd9c3d9a9964707494c497a5f702949023100c48ae0e2e4610bf39902f14e9abd0e3e785218711320dd353b0c5c4699f575570e0d6855dfcc8cbf28e88cadc3802cea", + "tcId" : 272 + } + ] + }, + { + "keyDer" : "30819b301006072a8648ce3d020106052b8104002303818600040024654b7e0621518502ecf70d7dce95c1000dacc7ea72be66462b2ae13befdc7fcbcb188f811c41ab67b0cb6490a8fd51a6561103b7b8b61413ce7324574ef9aa37009a61befa9b2b32c250b96e7868cb9de26e480b7ff608fdd64e02a392e216098a0d3383975375df15671fbe8d32165bf954e8b4b3efcef764ecca11dfda98e2073c", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQAJGVLfgYhUYUC7PcNfc6VwQANrMfq\ncr5mRisq4Tvv3H/LyxiPgRxBq2ewy2SQqP1RplYRA7e4thQTznMkV075qjcAmmG+\n+psrMsJQuW54aMud4m5IC3/2CP3WTgKjkuIWCYoNM4OXU3XfFWcfvo0yFlv5VOi0\ns+/O92TsyhHf2pjiBzw=\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "key" : { + "curve" : "secp521r1", + "type" : "ECPublicKey", + "wx" : "24654b7e0621518502ecf70d7dce95c1000dacc7ea72be66462b2ae13befdc7fcbcb188f811c41ab67b0cb6490a8fd51a6561103b7b8b61413ce7324574ef9aa37", + "wy" : "09a61befa9b2b32c250b96e7868cb9de26e480b7ff608fdd64e02a392e216098a0d3383975375df15671fbe8d32165bf954e8b4b3efcef764ecca11dfda98e2073c" + }, + "tests" : [ + { + "comment" : "Hash weaker than DL-group", + "message" : "48656c6c6f", + "result" : "acceptable", + "sig" : "308188024201d9422e516e19f29b1d44450c9a7f63c6621a111f6ac69bbd58a0bcb19dc76d4ffe32dd3ebe796f3b5bf908f882545ba40025bbfd7a67d02507789fe6696384f921024201878e7aa8b9c5dda694c3e9f4bc702ad74ce1e30d959097dfffd173fe57a55fbacfeabe6f514654ea21961f9f2d1f07782f7db156c2807df333de15ec57f58d8099", + "tcId" : 273 + } + ] + } + ] +} diff --git a/testvectors/ecdsa_webcrypto_test.json b/testvectors/ecdsa_webcrypto_test.json new file mode 100644 index 0000000..021d152 --- /dev/null +++ b/testvectors/ecdsa_webcrypto_test.json @@ -0,0 +1,1594 @@ +{ + "algorithm" : "ECDSA", + "generatorVersion" : "0.0a11", + "numberOfTests" : 123, + "testGroups" : [ + { + "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d030107034200044af4f6d1d734798d4c4c6f97c4fff392ee65dc252d617b154ca835ea1535b104fb069171d00e87a92e6c4db1d892bc09b04b5da8bd9b09cfaa41d0a526e55237", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAESvT20dc0eY1MTG+XxP/zku5l3CUt\nYXsVTKg16hU1sQT7BpFx0A6HqS5sTbHYkrwJsEtdqL2bCc+qQdClJuVSNw==\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "jwk" : { + "crv" : "P-256", + "kid" : "none", + "kty" : "EC", + "x" : "SvT20dc0eY1MTG-XxP_zku5l3CUtYXsVTKg16hU1sQQ", + "y" : "-waRcdAOh6kubE2x2JK8CbBLXai9mwnPqkHQpSblUjc" + }, + "key" : { + "curve" : "secp256r1", + "keySize" : 256, + "type" : "ECPublicKey", + "wx" : "4af4f6d1d734798d4c4c6f97c4fff392ee65dc252d617b154ca835ea1535b104", + "wy" : "0fb069171d00e87a92e6c4db1d892bc09b04b5da8bd9b09cfaa41d0a526e55237" + }, + "tests" : [ + { + "comment" : "signature malleability", + "message" : "48656c6c6f", + "result" : "valid", + "sig" : "b7babae9332b54b8a3a05b7004579821a887a1b21465f7db8a3d491b39fd2c3f8b8d6e21d0c0bb5185319715ccbce2902802e1eca070b7226dec70ceca023883", + "tcId" : 1 + }, + { + "comment" : "random signature", + "message" : "48656c6c6f", + "result" : "valid", + "sig" : "f67dd15cef0128e9a4fb3c3e9958dd08039eba90453e8993a54251e667a317ab7e59ce34928cc502a3b3c3758cfb6f4907a2d463b0aba52291793b5854245944", + "tcId" : 2 + }, + { + "comment" : "random signature", + "message" : "48656c6c6f", + "result" : "valid", + "sig" : "56179fa191744e602ae7f6ae46e42312c6e336fc83a628ee455c6229b46c33413f0bd962a1a81406a29bc03a4b61c08e9503e75eba0bc29e8bc65494a25d3744", + "tcId" : 3 + }, + { + "comment" : "random signature", + "message" : "48656c6c6f", + "result" : "valid", + "sig" : "ca3503dfdf49e158b08046eb3ff169ae4b7f299cfd432ad9d7598ec952dac1c11cfc4c46c9eea69e577310202df187d32c058d9fef2d32bc5283642b79d1373b", + "tcId" : 4 + }, + { + "comment" : "random signature", + "message" : "48656c6c6f", + "result" : "valid", + "sig" : "9483c852f5b725da505e8cf57b9148b2772a1f2acc6f479fe8f176e69e1377f5b3cce9b6a9d46d9af3b992f8e947b72b165ac9e216966d34c533a6626796164b", + "tcId" : 5 + }, + { + "comment" : "random signature", + "message" : "48656c6c6f", + "result" : "valid", + "sig" : "1656802176c0e98da5512de8f9080f4dd91163c8a7422d1e930d58075309edef88be892159f048816a046d05d426f5d38d38e3f41d52617239fe8f5ae93b1abc", + "tcId" : 6 + }, + { + "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "01b7babae8332b54b9a3a05b7004579821656e9c5fbb7d96607df713de3660519000747291dd2f3f44af7ace68ea33431d6f94e418c106a6e76285cd59f43260ecce", + "tcId" : 7 + }, + { + "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "48454515ccd4ab485c5fa48ffba867de145f58fb92b1a6a9697c81a7c265f912747291dd2f3f44af7ace68ea33431d6f94e418c106a6e76285cd59f43260ecce", + "tcId" : 8 + }, + { + "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "01b7babae9332b54b8a3a05b7004579821a887a1b21465f7db8a3d491b39fd2c3f00747291dd2f3f44af7ace68ea33431d6f94e418c106a6e76285cd59f43260ecce", + "tcId" : 9 + }, + { + "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "48454516ccd4ab475c5fa48ffba867de57785e4deb9a082475c2b6e4c602d3c1747291dd2f3f44af7ace68ea33431d6f94e418c106a6e76285cd59f43260ecce", + "tcId" : 10 + }, + { + "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "00b7babae9332b54b8a3a05b7004579821a887a1b21465f7db8a3d491b39fd2c3f01747291dc2f3f44b07ace68ea33431d6f51cb136eadbe85e7798724b72ec4121f", + "tcId" : 11 + }, + { + "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "00b7babae9332b54b8a3a05b7004579821a887a1b21465f7db8a3d491b39fd2c3f01747291dd2f3f44af7ace68ea33431d6f94e418c106a6e76285cd59f43260ecce", + "tcId" : 12 + }, + { + "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "b7babae9332b54b8a3a05b7004579821a887a1b21465f7db8a3d491b39fd2c3f8b8d6e22d0c0bb5085319715ccbce2906b1be73ef959189d7a32a60bcd9f1332", + "tcId" : 13 + }, + { + "comment" : "Signatures with special case values for r and s.", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "tcId" : 14 + }, + { + "comment" : "Signatures with special case values for r and s.", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001", + "tcId" : 15 + }, + { + "comment" : "Signatures with special case values for r and s.", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "0000000000000000000000000000000000000000000000000000000000000000ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551", + "tcId" : 16 + }, + { + "comment" : "Signatures with special case values for r and s.", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "0000000000000000000000000000000000000000000000000000000000000000ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632550", + "tcId" : 17 + }, + { + "comment" : "Signatures with special case values for r and s.", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "0000000000000000000000000000000000000000000000000000000000000000ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632552", + "tcId" : 18 + }, + { + "comment" : "Signatures with special case values for r and s.", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "0000000000000000000000000000000000000000000000000000000000000000ffffffff00000001000000000000000000000000ffffffffffffffffffffffff", + "tcId" : 19 + }, + { + "comment" : "Signatures with special case values for r and s.", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "0000000000000000000000000000000000000000000000000000000000000000ffffffff00000001000000000000000000000001000000000000000000000000", + "tcId" : 20 + }, + { + "comment" : "Signatures with special case values for r and s.", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000", + "tcId" : 21 + }, + { + "comment" : "Signatures with special case values for r and s.", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001", + "tcId" : 22 + }, + { + "comment" : "Signatures with special case values for r and s.", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "0000000000000000000000000000000000000000000000000000000000000001ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551", + "tcId" : 23 + }, + { + "comment" : "Signatures with special case values for r and s.", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "0000000000000000000000000000000000000000000000000000000000000001ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632550", + "tcId" : 24 + }, + { + "comment" : "Signatures with special case values for r and s.", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "0000000000000000000000000000000000000000000000000000000000000001ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632552", + "tcId" : 25 + }, + { + "comment" : "Signatures with special case values for r and s.", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "0000000000000000000000000000000000000000000000000000000000000001ffffffff00000001000000000000000000000000ffffffffffffffffffffffff", + "tcId" : 26 + }, + { + "comment" : "Signatures with special case values for r and s.", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "0000000000000000000000000000000000000000000000000000000000000001ffffffff00000001000000000000000000000001000000000000000000000000", + "tcId" : 27 + }, + { + "comment" : "Signatures with special case values for r and s.", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc6325510000000000000000000000000000000000000000000000000000000000000000", + "tcId" : 28 + }, + { + "comment" : "Signatures with special case values for r and s.", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc6325510000000000000000000000000000000000000000000000000000000000000001", + "tcId" : 29 + }, + { + "comment" : "Signatures with special case values for r and s.", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551", + "tcId" : 30 + }, + { + "comment" : "Signatures with special case values for r and s.", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632550", + "tcId" : 31 + }, + { + "comment" : "Signatures with special case values for r and s.", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632552", + "tcId" : 32 + }, + { + "comment" : "Signatures with special case values for r and s.", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551ffffffff00000001000000000000000000000000ffffffffffffffffffffffff", + "tcId" : 33 + }, + { + "comment" : "Signatures with special case values for r and s.", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551ffffffff00000001000000000000000000000001000000000000000000000000", + "tcId" : 34 + }, + { + "comment" : "Signatures with special case values for r and s.", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc6325500000000000000000000000000000000000000000000000000000000000000000", + "tcId" : 35 + }, + { + "comment" : "Signatures with special case values for r and s.", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc6325500000000000000000000000000000000000000000000000000000000000000001", + "tcId" : 36 + }, + { + "comment" : "Signatures with special case values for r and s.", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632550ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551", + "tcId" : 37 + }, + { + "comment" : "Signatures with special case values for r and s.", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632550ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632550", + "tcId" : 38 + }, + { + "comment" : "Signatures with special case values for r and s.", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632550ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632552", + "tcId" : 39 + }, + { + "comment" : "Signatures with special case values for r and s.", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632550ffffffff00000001000000000000000000000000ffffffffffffffffffffffff", + "tcId" : 40 + }, + { + "comment" : "Signatures with special case values for r and s.", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632550ffffffff00000001000000000000000000000001000000000000000000000000", + "tcId" : 41 + }, + { + "comment" : "Signatures with special case values for r and s.", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc6325520000000000000000000000000000000000000000000000000000000000000000", + "tcId" : 42 + }, + { + "comment" : "Signatures with special case values for r and s.", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc6325520000000000000000000000000000000000000000000000000000000000000001", + "tcId" : 43 + }, + { + "comment" : "Signatures with special case values for r and s.", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632552ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551", + "tcId" : 44 + }, + { + "comment" : "Signatures with special case values for r and s.", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632552ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632550", + "tcId" : 45 + }, + { + "comment" : "Signatures with special case values for r and s.", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632552ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632552", + "tcId" : 46 + }, + { + "comment" : "Signatures with special case values for r and s.", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632552ffffffff00000001000000000000000000000000ffffffffffffffffffffffff", + "tcId" : 47 + }, + { + "comment" : "Signatures with special case values for r and s.", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632552ffffffff00000001000000000000000000000001000000000000000000000000", + "tcId" : 48 + }, + { + "comment" : "Signatures with special case values for r and s.", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "ffffffff00000001000000000000000000000000ffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000000000000", + "tcId" : 49 + }, + { + "comment" : "Signatures with special case values for r and s.", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "ffffffff00000001000000000000000000000000ffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000000000001", + "tcId" : 50 + }, + { + "comment" : "Signatures with special case values for r and s.", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "ffffffff00000001000000000000000000000000ffffffffffffffffffffffffffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551", + "tcId" : 51 + }, + { + "comment" : "Signatures with special case values for r and s.", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "ffffffff00000001000000000000000000000000ffffffffffffffffffffffffffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632550", + "tcId" : 52 + }, + { + "comment" : "Signatures with special case values for r and s.", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "ffffffff00000001000000000000000000000000ffffffffffffffffffffffffffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632552", + "tcId" : 53 + }, + { + "comment" : "Signatures with special case values for r and s.", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "ffffffff00000001000000000000000000000000ffffffffffffffffffffffffffffffff00000001000000000000000000000000ffffffffffffffffffffffff", + "tcId" : 54 + }, + { + "comment" : "Signatures with special case values for r and s.", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "ffffffff00000001000000000000000000000000ffffffffffffffffffffffffffffffff00000001000000000000000000000001000000000000000000000000", + "tcId" : 55 + }, + { + "comment" : "Signatures with special case values for r and s.", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "ffffffff000000010000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "tcId" : 56 + }, + { + "comment" : "Signatures with special case values for r and s.", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "ffffffff000000010000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000001", + "tcId" : 57 + }, + { + "comment" : "Signatures with special case values for r and s.", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "ffffffff00000001000000000000000000000001000000000000000000000000ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551", + "tcId" : 58 + }, + { + "comment" : "Signatures with special case values for r and s.", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "ffffffff00000001000000000000000000000001000000000000000000000000ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632550", + "tcId" : 59 + }, + { + "comment" : "Signatures with special case values for r and s.", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "ffffffff00000001000000000000000000000001000000000000000000000000ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632552", + "tcId" : 60 + }, + { + "comment" : "Signatures with special case values for r and s.", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "ffffffff00000001000000000000000000000001000000000000000000000000ffffffff00000001000000000000000000000000ffffffffffffffffffffffff", + "tcId" : 61 + }, + { + "comment" : "Signatures with special case values for r and s.", + "message" : "48656c6c6f", + "result" : "invalid", + "sig" : "ffffffff00000001000000000000000000000001000000000000000000000000ffffffff00000001000000000000000000000001000000000000000000000000", + "tcId" : 62 + } + ] + }, + { + "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004d705d16f80987e2d9b1a6957d29ce22febf7d10fa515153182415c8361baaca4b1fc105ee5ce80d514ec1238beae2037a6f83625593620d460819e8682160926", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE1wXRb4CYfi2bGmlX0pziL+v30Q+l\nFRUxgkFcg2G6rKSx/BBe5c6A1RTsEji+riA3pvg2JVk2INRggZ6GghYJJg==\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "jwk" : { + "crv" : "P-256", + "kid" : "none", + "kty" : "EC", + "x" : "1wXRb4CYfi2bGmlX0pziL-v30Q-lFRUxgkFcg2G6rKQ", + "y" : "sfwQXuXOgNUU7BI4vq4gN6b4NiVZNiDUYIGehoIWCSY" + }, + "key" : { + "curve" : "secp256r1", + "keySize" : 256, + "type" : "ECPublicKey", + "wx" : "0d705d16f80987e2d9b1a6957d29ce22febf7d10fa515153182415c8361baaca4", + "wy" : "0b1fc105ee5ce80d514ec1238beae2037a6f83625593620d460819e8682160926" + }, + "tests" : [ + { + "comment" : "k*G has a large x-coordinate", + "message" : "54657374", + "result" : "valid", + "sig" : "000000000000000000000000000000004319055358e8617b0c46353d039cdaabffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc63254e", + "tcId" : 63 + } + ] + }, + { + "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004d705d16f80987e2d9b1a6957d29ce22febf7d10fa515153182415c8361baaca4b1fc105ee5ce80d514ec1238beae2037a6f83625593620d460819e8682160926", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE1wXRb4CYfi2bGmlX0pziL+v30Q+l\nFRUxgkFcg2G6rKSx/BBe5c6A1RTsEji+riA3pvg2JVk2INRggZ6GghYJJg==\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "jwk" : { + "crv" : "P-256", + "kid" : "none", + "kty" : "EC", + "x" : "1wXRb4CYfi2bGmlX0pziL-v30Q-lFRUxgkFcg2G6rKQ", + "y" : "sfwQXuXOgNUU7BI4vq4gN6b4NiVZNiDUYIGehoIWCSY" + }, + "key" : { + "curve" : "secp256r1", + "keySize" : 256, + "type" : "ECPublicKey", + "wx" : "0d705d16f80987e2d9b1a6957d29ce22febf7d10fa515153182415c8361baaca4", + "wy" : "0b1fc105ee5ce80d514ec1238beae2037a6f83625593620d460819e8682160926" + }, + "tests" : [ + { + "comment" : "r too large", + "message" : "54657374", + "result" : "invalid", + "sig" : "ffffffff00000001000000000000000000000000fffffffffffffffffffffffcffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc63254e", + "tcId" : 64 + } + ] + }, + { + "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d030107034200043cd8d2f81d6953b0844c09d7b560d527cd2ef67056893eadafa52c8501387d59ee41fdb4d10402ce7a0c5e3b747adfa3a490b62a6b7719068903485c0bb6dc2d", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEPNjS+B1pU7CETAnXtWDVJ80u9nBW\niT6tr6UshQE4fVnuQf200QQCznoMXjt0et+jpJC2Kmt3GQaJA0hcC7bcLQ==\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "jwk" : { + "crv" : "P-256", + "kid" : "none", + "kty" : "EC", + "x" : "PNjS-B1pU7CETAnXtWDVJ80u9nBWiT6tr6UshQE4fVk", + "y" : "7kH9tNEEAs56DF47dHrfo6SQtiprdxkGiQNIXAu23C0" + }, + "key" : { + "curve" : "secp256r1", + "keySize" : 256, + "type" : "ECPublicKey", + "wx" : "3cd8d2f81d6953b0844c09d7b560d527cd2ef67056893eadafa52c8501387d59", + "wy" : "0ee41fdb4d10402ce7a0c5e3b747adfa3a490b62a6b7719068903485c0bb6dc2d" + }, + "tests" : [ + { + "comment" : "r,s are large", + "message" : "54657374", + "result" : "valid", + "sig" : "ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc63254fffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc63254e", + "tcId" : 65 + } + ] + }, + { + "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d030107034200044a03ef9f92eb268cafa601072489a56380fa0dc43171d7712813b3a19a1eb5e53e213e28a608ce9a2f4a17fd830c6654018a79b3e0263d91a8ba90622df6f2f0", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAESgPvn5LrJoyvpgEHJImlY4D6DcQx\ncddxKBOzoZoeteU+IT4opgjOmi9KF/2DDGZUAYp5s+AmPZGoupBiLfby8A==\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "jwk" : { + "crv" : "P-256", + "kid" : "none", + "kty" : "EC", + "x" : "SgPvn5LrJoyvpgEHJImlY4D6DcQxcddxKBOzoZoeteU", + "y" : "PiE-KKYIzpovShf9gwxmVAGKebPgJj2RqLqQYi328vA" + }, + "key" : { + "curve" : "secp256r1", + "keySize" : 256, + "type" : "ECPublicKey", + "wx" : "4a03ef9f92eb268cafa601072489a56380fa0dc43171d7712813b3a19a1eb5e5", + "wy" : "3e213e28a608ce9a2f4a17fd830c6654018a79b3e0263d91a8ba90622df6f2f0" + }, + "tests" : [ + { + "comment" : "small r and s", + "message" : "54657374", + "result" : "valid", + "sig" : "00000000000000000000000000000000000000000000000000000000000000050000000000000000000000000000000000000000000000000000000000000001", + "tcId" : 66 + }, + { + "comment" : "incorrect size of signature", + "message" : "54657374", + "result" : "acceptable", + "sig" : "0501", + "tcId" : 67 + } + ] + }, + { + "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d030107034200044a03ef9f92eb268cafa601072489a56380fa0dc43171d7712813b3a19a1eb5e53e213e28a608ce9a2f4a17fd830c6654018a79b3e0263d91a8ba90622df6f2f0", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAESgPvn5LrJoyvpgEHJImlY4D6DcQx\ncddxKBOzoZoeteU+IT4opgjOmi9KF/2DDGZUAYp5s+AmPZGoupBiLfby8A==\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "jwk" : { + "crv" : "P-256", + "kid" : "none", + "kty" : "EC", + "x" : "SgPvn5LrJoyvpgEHJImlY4D6DcQxcddxKBOzoZoeteU", + "y" : "PiE-KKYIzpovShf9gwxmVAGKebPgJj2RqLqQYi328vA" + }, + "key" : { + "curve" : "secp256r1", + "keySize" : 256, + "type" : "ECPublicKey", + "wx" : "4a03ef9f92eb268cafa601072489a56380fa0dc43171d7712813b3a19a1eb5e5", + "wy" : "3e213e28a608ce9a2f4a17fd830c6654018a79b3e0263d91a8ba90622df6f2f0" + }, + "tests" : [ + { + "comment" : "r is larger than n", + "message" : "54657374", + "result" : "invalid", + "sig" : "ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc6325560000000000000000000000000000000000000000000000000000000000000001", + "tcId" : 68 + } + ] + }, + { + "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d030107034200044a03ef9f92eb268cafa601072489a56380fa0dc43171d7712813b3a19a1eb5e53e213e28a608ce9a2f4a17fd830c6654018a79b3e0263d91a8ba90622df6f2f0", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAESgPvn5LrJoyvpgEHJImlY4D6DcQx\ncddxKBOzoZoeteU+IT4opgjOmi9KF/2DDGZUAYp5s+AmPZGoupBiLfby8A==\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "jwk" : { + "crv" : "P-256", + "kid" : "none", + "kty" : "EC", + "x" : "SgPvn5LrJoyvpgEHJImlY4D6DcQxcddxKBOzoZoeteU", + "y" : "PiE-KKYIzpovShf9gwxmVAGKebPgJj2RqLqQYi328vA" + }, + "key" : { + "curve" : "secp256r1", + "keySize" : 256, + "type" : "ECPublicKey", + "wx" : "4a03ef9f92eb268cafa601072489a56380fa0dc43171d7712813b3a19a1eb5e5", + "wy" : "3e213e28a608ce9a2f4a17fd830c6654018a79b3e0263d91a8ba90622df6f2f0" + }, + "tests" : [ + { + "comment" : "s is larger than n", + "message" : "54657374", + "result" : "invalid", + "sig" : "0000000000000000000000000000000000000000000000000000000000000005ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632552", + "tcId" : 69 + } + ] + }, + { + "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d030107034200040203736fcb198b15d8d7a0c80f66dddd15259240aa78d08aae67c467de04503434383438d5041ea9a387ee8e4d4e84b4471b160c6bcf2568b072f8f20e87a996", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEAgNzb8sZixXY16DID2bd3RUlkkCq\neNCKrmfEZ94EUDQ0ODQ41QQeqaOH7o5NToS0RxsWDGvPJWiwcvjyDoeplg==\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "jwk" : { + "crv" : "P-256", + "kid" : "none", + "kty" : "EC", + "x" : "AgNzb8sZixXY16DID2bd3RUlkkCqeNCKrmfEZ94EUDQ", + "y" : "NDg0ONUEHqmjh-6OTU6EtEcbFgxrzyVosHL48g6HqZY" + }, + "key" : { + "curve" : "secp256r1", + "keySize" : 256, + "type" : "ECPublicKey", + "wx" : "203736fcb198b15d8d7a0c80f66dddd15259240aa78d08aae67c467de045034", + "wy" : "34383438d5041ea9a387ee8e4d4e84b4471b160c6bcf2568b072f8f20e87a996" + }, + "tests" : [ + { + "comment" : "point at infinity during verify", + "message" : "54657374", + "result" : "invalid", + "sig" : "7fffffff800000007fffffffffffffffde737d56d38bcf4279dce5617e3192a8555555550000000055555555555555553ef7a8e48d07df81a693439654210c70", + "tcId" : 70 + } + ] + }, + { + "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004a17f5b75a35ed64623ca5cbf1f91951292db0c23f0c2ea24c3d0cad0988cabc083a7a618625c228940730b4fa3ee64faecbb2fc20fdde7c58b3a3f6300424dc6", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEoX9bdaNe1kYjyly/H5GVEpLbDCPw\nwuokw9DK0JiMq8CDp6YYYlwiiUBzC0+j7mT67Lsvwg/d58WLOj9jAEJNxg==\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "jwk" : { + "crv" : "P-256", + "kid" : "none", + "kty" : "EC", + "x" : "oX9bdaNe1kYjyly_H5GVEpLbDCPwwuokw9DK0JiMq8A", + "y" : "g6emGGJcIolAcwtPo-5k-uy7L8IP3efFizo_YwBCTcY" + }, + "key" : { + "curve" : "secp256r1", + "keySize" : 256, + "type" : "ECPublicKey", + "wx" : "0a17f5b75a35ed64623ca5cbf1f91951292db0c23f0c2ea24c3d0cad0988cabc0", + "wy" : "083a7a618625c228940730b4fa3ee64faecbb2fc20fdde7c58b3a3f6300424dc6" + }, + "tests" : [ + { + "comment" : "u1 == 1", + "message" : "54657374", + "result" : "valid", + "sig" : "555555550000000055555555555555553ef7a8e48d07df81a693439654210c70532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25", + "tcId" : 71 + } + ] + }, + { + "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d0301070342000404ba0cba291a37db13f33bf90dab628c04ec8393a0200419e9eaa1ebcc9fb5c31f3a0a0e6823a49b625ad57b12a32d4047970fc3428f0f0049ecf4265dc12f62", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEBLoMuikaN9sT8zv5DatijATsg5Og\nIAQZ6eqh68yftcMfOgoOaCOkm2Ja1XsSoy1AR5cPw0KPDwBJ7PQmXcEvYg==\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "jwk" : { + "crv" : "P-256", + "kid" : "none", + "kty" : "EC", + "x" : "BLoMuikaN9sT8zv5DatijATsg5OgIAQZ6eqh68yftcM", + "y" : "HzoKDmgjpJtiWtV7EqMtQEeXD8NCjw8ASez0Jl3BL2I" + }, + "key" : { + "curve" : "secp256r1", + "keySize" : 256, + "type" : "ECPublicKey", + "wx" : "4ba0cba291a37db13f33bf90dab628c04ec8393a0200419e9eaa1ebcc9fb5c3", + "wy" : "1f3a0a0e6823a49b625ad57b12a32d4047970fc3428f0f0049ecf4265dc12f62" + }, + "tests" : [ + { + "comment" : "u1 == n - 1", + "message" : "54657374", + "result" : "valid", + "sig" : "555555550000000055555555555555553ef7a8e48d07df81a693439654210c70acd155416a8b77f34089464733ff7cd39c400e9c69af7beb9eac5054ed2ec72c", + "tcId" : 72 + } + ] + }, + { + "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004692b6c828e0feed63d8aeaa2b7322f9ccbe8723a1ed39f229f204a434b8900efa1f6f6abcb38ea3b8fde38b98c7c271f274af56a8c5628dc3329069ae4dd5716", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEaStsgo4P7tY9iuqitzIvnMvocjoe\n058inyBKQ0uJAO+h9varyzjqO4/eOLmMfCcfJ0r1aoxWKNwzKQaa5N1XFg==\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "jwk" : { + "crv" : "P-256", + "kid" : "none", + "kty" : "EC", + "x" : "aStsgo4P7tY9iuqitzIvnMvocjoe058inyBKQ0uJAO8", + "y" : "ofb2q8s46juP3ji5jHwnHydK9WqMVijcMykGmuTdVxY" + }, + "key" : { + "curve" : "secp256r1", + "keySize" : 256, + "type" : "ECPublicKey", + "wx" : "692b6c828e0feed63d8aeaa2b7322f9ccbe8723a1ed39f229f204a434b8900ef", + "wy" : "0a1f6f6abcb38ea3b8fde38b98c7c271f274af56a8c5628dc3329069ae4dd5716" + }, + "tests" : [ + { + "comment" : "u2 == 1", + "message" : "54657374", + "result" : "valid", + "sig" : "555555550000000055555555555555553ef7a8e48d07df81a693439654210c70555555550000000055555555555555553ef7a8e48d07df81a693439654210c70", + "tcId" : 73 + } + ] + }, + { + "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d0301070342000400cefd9162d13e64cb93687a9cd8f9755ebb5a3ef7632f800f84871874ccef09543ecbeaf7e8044ef721be2fb5f549e4b8480d2587404ebf7dbbef2c54bc0cb1", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEAM79kWLRPmTLk2h6nNj5dV67Wj73\nYy+AD4SHGHTM7wlUPsvq9+gETvchvi+19UnkuEgNJYdATr99u+8sVLwMsQ==\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "jwk" : { + "crv" : "P-256", + "kid" : "none", + "kty" : "EC", + "x" : "AM79kWLRPmTLk2h6nNj5dV67Wj73Yy-AD4SHGHTM7wk", + "y" : "VD7L6vfoBE73Ib4vtfVJ5LhIDSWHQE6_fbvvLFS8DLE" + }, + "key" : { + "curve" : "secp256r1", + "keySize" : 256, + "type" : "ECPublicKey", + "wx" : "0cefd9162d13e64cb93687a9cd8f9755ebb5a3ef7632f800f84871874ccef09", + "wy" : "543ecbeaf7e8044ef721be2fb5f549e4b8480d2587404ebf7dbbef2c54bc0cb1" + }, + "tests" : [ + { + "comment" : "u2 == n - 1", + "message" : "54657374", + "result" : "valid", + "sig" : "555555550000000055555555555555553ef7a8e48d07df81a693439654210c70aaaaaaaa00000000aaaaaaaaaaaaaaaa7def51c91a0fbf034d26872ca84218e1", + "tcId" : 74 + } + ] + }, + { + "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d030107034200040158137755b901f797a90d4ca8887e023cb2ef63b2ba2c0d455edaef42cf237e2a964fc00d377a8592b8b61aafa7a4aaa7c7b9fd2b41d6e0e17bd1ba5677edcd", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEAVgTd1W5AfeXqQ1MqIh+Ajyy72Oy\nuiwNRV7a70LPI34qlk/ADTd6hZK4thqvp6Sqp8e5/StB1uDhe9G6VnftzQ==\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "jwk" : { + "crv" : "P-256", + "kid" : "none", + "kty" : "EC", + "x" : "AVgTd1W5AfeXqQ1MqIh-Ajyy72OyuiwNRV7a70LPI34", + "y" : "KpZPwA03eoWSuLYar6ekqqfHuf0rQdbg4XvRulZ37c0" + }, + "key" : { + "curve" : "secp256r1", + "keySize" : 256, + "type" : "ECPublicKey", + "wx" : "158137755b901f797a90d4ca8887e023cb2ef63b2ba2c0d455edaef42cf237e", + "wy" : "2a964fc00d377a8592b8b61aafa7a4aaa7c7b9fd2b41d6e0e17bd1ba5677edcd" + }, + "tests" : [ + { + "comment" : "weak key", + "message" : "54657374", + "result" : "valid", + "sig" : "6f2347cab7dd76858fe0555ac3bc99048c4aacafdfb6bcbe05ea6c42c4934569f21d907e3890916dc4fa1f4703c1e50d3f54ddf7383e44023a41de562aa18ed8", + "tcId" : 75 + } + ] + }, + { + "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d030107034200040158137755b901f797a90d4ca8887e023cb2ef63b2ba2c0d455edaef42cf237ed569b03ef2c8857b6d4749e550585b5558384603d4be291f1e842e45a9881232", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEAVgTd1W5AfeXqQ1MqIh+Ajyy72Oy\nuiwNRV7a70LPI37VabA+8siFe21HSeVQWFtVWDhGA9S+KR8ehC5FqYgSMg==\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "jwk" : { + "crv" : "P-256", + "kid" : "none", + "kty" : "EC", + "x" : "AVgTd1W5AfeXqQ1MqIh-Ajyy72OyuiwNRV7a70LPI34", + "y" : "1WmwPvLIhXttR0nlUFhbVVg4RgPUvikfHoQuRamIEjI" + }, + "key" : { + "curve" : "secp256r1", + "keySize" : 256, + "type" : "ECPublicKey", + "wx" : "158137755b901f797a90d4ca8887e023cb2ef63b2ba2c0d455edaef42cf237e", + "wy" : "0d569b03ef2c8857b6d4749e550585b5558384603d4be291f1e842e45a9881232" + }, + "tests" : [ + { + "comment" : "duplication bug", + "message" : "54657374", + "result" : "invalid", + "sig" : "6f2347cab7dd76858fe0555ac3bc99048c4aacafdfb6bcbe05ea6c42c4934569f21d907e3890916dc4fa1f4703c1e50d3f54ddf7383e44023a41de562aa18ed8", + "tcId" : 76 + } + ] + }, + { + "keyDer" : "30819b301006072a8648ce3d020106052b810400230381860004011d2fc994df204b63f05ae8420ca390559b80c4988ef639b95c469e5cb24cf216540cbebc470bcaa0466612dbde6d03098c6996e0a05f02902183ceba4b530f4f3500a99e4cdc8a50c0d98d870944e56548dc4cf6bbbf3d6978efbc8fc8778b33e132d2c185c20844cf3df394d522259317e3931f0130f23f6500c880f3a8319ab44a0e", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQBHS/JlN8gS2PwWuhCDKOQVZuAxJiO\n9jm5XEaeXLJM8hZUDL68RwvKoEZmEtvebQMJjGmW4KBfApAhg866S1MPTzUAqZ5M\n3IpQwNmNhwlE5WVI3Ez2u789aXjvvI/Id4sz4TLSwYXCCETPPfOU1SIlkxfjkx8B\nMPI/ZQDIgPOoMZq0Sg4=\n-----END PUBLIC KEY-----", + "sha" : "SHA-512", + "type" : "ECDSAVer", + "jwk" : { + "crv" : "P-521", + "kid" : "none", + "kty" : "EC", + "x" : "AR0vyZTfIEtj8FroQgyjkFWbgMSYjvY5uVxGnlyyTPIWVAy-vEcLyqBGZhLb3m0DCYxpluCgXwKQIYPOuktTD081", + "y" : "AKmeTNyKUMDZjYcJROVlSNxM9ru_PWl477yPyHeLM-Ey0sGFwghEzz3zlNUiJZMX45MfATDyP2UAyIDzqDGatEoO" + }, + "key" : { + "curve" : "secp521r1", + "keySize" : 521, + "type" : "ECPublicKey", + "wx" : "11d2fc994df204b63f05ae8420ca390559b80c4988ef639b95c469e5cb24cf216540cbebc470bcaa0466612dbde6d03098c6996e0a05f02902183ceba4b530f4f35", + "wy" : "0a99e4cdc8a50c0d98d870944e56548dc4cf6bbbf3d6978efbc8fc8778b33e132d2c185c20844cf3df394d522259317e3931f0130f23f6500c880f3a8319ab44a0e" + }, + "tests" : [ + { + "comment" : "k*G has a large x-coordinate", + "message" : "54657374", + "result" : "valid", + "sig" : "00000000000000000000000000000000000000000000000000000000000000000005ae79787c40d069948033feb708f65a2fc44a36477663b851449048e16ec79bf501fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386406", + "tcId" : 77 + } + ] + }, + { + "keyDer" : "30819b301006072a8648ce3d020106052b810400230381860004011d2fc994df204b63f05ae8420ca390559b80c4988ef639b95c469e5cb24cf216540cbebc470bcaa0466612dbde6d03098c6996e0a05f02902183ceba4b530f4f3500a99e4cdc8a50c0d98d870944e56548dc4cf6bbbf3d6978efbc8fc8778b33e132d2c185c20844cf3df394d522259317e3931f0130f23f6500c880f3a8319ab44a0e", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQBHS/JlN8gS2PwWuhCDKOQVZuAxJiO\n9jm5XEaeXLJM8hZUDL68RwvKoEZmEtvebQMJjGmW4KBfApAhg866S1MPTzUAqZ5M\n3IpQwNmNhwlE5WVI3Ez2u789aXjvvI/Id4sz4TLSwYXCCETPPfOU1SIlkxfjkx8B\nMPI/ZQDIgPOoMZq0Sg4=\n-----END PUBLIC KEY-----", + "sha" : "SHA-512", + "type" : "ECDSAVer", + "jwk" : { + "crv" : "P-521", + "kid" : "none", + "kty" : "EC", + "x" : "AR0vyZTfIEtj8FroQgyjkFWbgMSYjvY5uVxGnlyyTPIWVAy-vEcLyqBGZhLb3m0DCYxpluCgXwKQIYPOuktTD081", + "y" : "AKmeTNyKUMDZjYcJROVlSNxM9ru_PWl477yPyHeLM-Ey0sGFwghEzz3zlNUiJZMX45MfATDyP2UAyIDzqDGatEoO" + }, + "key" : { + "curve" : "secp521r1", + "keySize" : 521, + "type" : "ECPublicKey", + "wx" : "11d2fc994df204b63f05ae8420ca390559b80c4988ef639b95c469e5cb24cf216540cbebc470bcaa0466612dbde6d03098c6996e0a05f02902183ceba4b530f4f35", + "wy" : "0a99e4cdc8a50c0d98d870944e56548dc4cf6bbbf3d6978efbc8fc8778b33e132d2c185c20844cf3df394d522259317e3931f0130f23f6500c880f3a8319ab44a0e" + }, + "tests" : [ + { + "comment" : "r too large", + "message" : "54657374", + "result" : "invalid", + "sig" : "01fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386406", + "tcId" : 78 + } + ] + }, + { + "keyDer" : "30819b301006072a8648ce3d020106052b810400230381860004019a029c77fed04cab1ab8937fda8128fc19bf8c41a8f242f6a9ca6f0ae813c1709b8b03e26a9298fe59f99e3706ffc28c43d26a11690d2ffd815a33ea329076697800125b2a4b635f514fd5d63215672f311ae5935c1774ed5d8a44897b68191e6369ab26df915e2066a943e59a3577319dac5a86640bc8c718d2b159479fdd22d11441", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQBmgKcd/7QTKsauJN/2oEo/Bm/jEGo\n8kL2qcpvCugTwXCbiwPiapKY/ln5njcG/8KMQ9JqEWkNL/2BWjPqMpB2aXgAElsq\nS2NfUU/V1jIVZy8xGuWTXBd07V2KRIl7aBkeY2mrJt+RXiBmqUPlmjV3MZ2sWoZk\nC8jHGNKxWUef3SLRFEE=\n-----END PUBLIC KEY-----", + "sha" : "SHA-512", + "type" : "ECDSAVer", + "jwk" : { + "crv" : "P-521", + "kid" : "none", + "kty" : "EC", + "x" : "AZoCnHf-0EyrGriTf9qBKPwZv4xBqPJC9qnKbwroE8Fwm4sD4mqSmP5Z-Z43Bv_CjEPSahFpDS_9gVoz6jKQdml4", + "y" : "ABJbKktjX1FP1dYyFWcvMRrlk1wXdO1dikSJe2gZHmNpqybfkV4gZqlD5Zo1dzGdrFqGZAvIxxjSsVlHn90i0RRB" + }, + "key" : { + "curve" : "secp521r1", + "keySize" : 521, + "type" : "ECPublicKey", + "wx" : "19a029c77fed04cab1ab8937fda8128fc19bf8c41a8f242f6a9ca6f0ae813c1709b8b03e26a9298fe59f99e3706ffc28c43d26a11690d2ffd815a33ea3290766978", + "wy" : "125b2a4b635f514fd5d63215672f311ae5935c1774ed5d8a44897b68191e6369ab26df915e2066a943e59a3577319dac5a86640bc8c718d2b159479fdd22d11441" + }, + "tests" : [ + { + "comment" : "r,s are large", + "message" : "54657374", + "result" : "valid", + "sig" : "01fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e9138640701fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386406", + "tcId" : 79 + } + ] + }, + { + "keyDer" : "30819b301006072a8648ce3d020106052b810400230381860004005f5059308349f9ebbb4d1c55c0afccf62162ec1dd12ef3ed906656924ffd99cab9f06b0eb218cff078a4677a5ce1cc07652bc976aefc732c28f67ef078a434e99900a5d14df310630d76ec03cb6f9b95bf1a22438105c88cd9fd3dac80f857add38271d8ba901684b26d436d4a859ad4cda5e9677b73cab3f3e5e41a3d7996607279ab", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQAX1BZMINJ+eu7TRxVwK/M9iFi7B3R\nLvPtkGZWkk/9mcq58GsOshjP8HikZ3pc4cwHZSvJdq78cywo9n7weKQ06ZkApdFN\n8xBjDXbsA8tvm5W/GiJDgQXIjNn9PayA+Fet04Jx2LqQFoSybUNtSoWa1M2l6Wd7\nc8qz8+XkGj15lmByeas=\n-----END PUBLIC KEY-----", + "sha" : "SHA-512", + "type" : "ECDSAVer", + "jwk" : { + "crv" : "P-521", + "kid" : "none", + "kty" : "EC", + "x" : "AF9QWTCDSfnru00cVcCvzPYhYuwd0S7z7ZBmVpJP_ZnKufBrDrIYz_B4pGd6XOHMB2UryXau_HMsKPZ-8HikNOmZ", + "y" : "AKXRTfMQYw127APLb5uVvxoiQ4EFyIzZ_T2sgPhXrdOCcdi6kBaEsm1DbUqFmtTNpelne3PKs_Pl5Bo9eZZgcnmr" + }, + "key" : { + "curve" : "secp521r1", + "keySize" : 521, + "type" : "ECPublicKey", + "wx" : "5f5059308349f9ebbb4d1c55c0afccf62162ec1dd12ef3ed906656924ffd99cab9f06b0eb218cff078a4677a5ce1cc07652bc976aefc732c28f67ef078a434e999", + "wy" : "0a5d14df310630d76ec03cb6f9b95bf1a22438105c88cd9fd3dac80f857add38271d8ba901684b26d436d4a859ad4cda5e9677b73cab3f3e5e41a3d7996607279ab" + }, + "tests" : [ + { + "comment" : "small r and s", + "message" : "54657374", + "result" : "valid", + "sig" : "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001", + "tcId" : 80 + }, + { + "comment" : "incorrect size of signature", + "message" : "54657374", + "result" : "acceptable", + "sig" : "0101", + "tcId" : 81 + } + ] + }, + { + "keyDer" : "30819b301006072a8648ce3d020106052b810400230381860004005f5059308349f9ebbb4d1c55c0afccf62162ec1dd12ef3ed906656924ffd99cab9f06b0eb218cff078a4677a5ce1cc07652bc976aefc732c28f67ef078a434e99900a5d14df310630d76ec03cb6f9b95bf1a22438105c88cd9fd3dac80f857add38271d8ba901684b26d436d4a859ad4cda5e9677b73cab3f3e5e41a3d7996607279ab", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQAX1BZMINJ+eu7TRxVwK/M9iFi7B3R\nLvPtkGZWkk/9mcq58GsOshjP8HikZ3pc4cwHZSvJdq78cywo9n7weKQ06ZkApdFN\n8xBjDXbsA8tvm5W/GiJDgQXIjNn9PayA+Fet04Jx2LqQFoSybUNtSoWa1M2l6Wd7\nc8qz8+XkGj15lmByeas=\n-----END PUBLIC KEY-----", + "sha" : "SHA-512", + "type" : "ECDSAVer", + "jwk" : { + "crv" : "P-521", + "kid" : "none", + "kty" : "EC", + "x" : "AF9QWTCDSfnru00cVcCvzPYhYuwd0S7z7ZBmVpJP_ZnKufBrDrIYz_B4pGd6XOHMB2UryXau_HMsKPZ-8HikNOmZ", + "y" : "AKXRTfMQYw127APLb5uVvxoiQ4EFyIzZ_T2sgPhXrdOCcdi6kBaEsm1DbUqFmtTNpelne3PKs_Pl5Bo9eZZgcnmr" + }, + "key" : { + "curve" : "secp521r1", + "keySize" : 521, + "type" : "ECPublicKey", + "wx" : "5f5059308349f9ebbb4d1c55c0afccf62162ec1dd12ef3ed906656924ffd99cab9f06b0eb218cff078a4677a5ce1cc07652bc976aefc732c28f67ef078a434e999", + "wy" : "0a5d14df310630d76ec03cb6f9b95bf1a22438105c88cd9fd3dac80f857add38271d8ba901684b26d436d4a859ad4cda5e9677b73cab3f3e5e41a3d7996607279ab" + }, + "tests" : [ + { + "comment" : "r is larger than n", + "message" : "54657374", + "result" : "invalid", + "sig" : "01fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e9138640a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001", + "tcId" : 82 + } + ] + }, + { + "keyDer" : "30819b301006072a8648ce3d020106052b810400230381860004005f5059308349f9ebbb4d1c55c0afccf62162ec1dd12ef3ed906656924ffd99cab9f06b0eb218cff078a4677a5ce1cc07652bc976aefc732c28f67ef078a434e99900a5d14df310630d76ec03cb6f9b95bf1a22438105c88cd9fd3dac80f857add38271d8ba901684b26d436d4a859ad4cda5e9677b73cab3f3e5e41a3d7996607279ab", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQAX1BZMINJ+eu7TRxVwK/M9iFi7B3R\nLvPtkGZWkk/9mcq58GsOshjP8HikZ3pc4cwHZSvJdq78cywo9n7weKQ06ZkApdFN\n8xBjDXbsA8tvm5W/GiJDgQXIjNn9PayA+Fet04Jx2LqQFoSybUNtSoWa1M2l6Wd7\nc8qz8+XkGj15lmByeas=\n-----END PUBLIC KEY-----", + "sha" : "SHA-512", + "type" : "ECDSAVer", + "jwk" : { + "crv" : "P-521", + "kid" : "none", + "kty" : "EC", + "x" : "AF9QWTCDSfnru00cVcCvzPYhYuwd0S7z7ZBmVpJP_ZnKufBrDrIYz_B4pGd6XOHMB2UryXau_HMsKPZ-8HikNOmZ", + "y" : "AKXRTfMQYw127APLb5uVvxoiQ4EFyIzZ_T2sgPhXrdOCcdi6kBaEsm1DbUqFmtTNpelne3PKs_Pl5Bo9eZZgcnmr" + }, + "key" : { + "curve" : "secp521r1", + "keySize" : 521, + "type" : "ECPublicKey", + "wx" : "5f5059308349f9ebbb4d1c55c0afccf62162ec1dd12ef3ed906656924ffd99cab9f06b0eb218cff078a4677a5ce1cc07652bc976aefc732c28f67ef078a434e999", + "wy" : "0a5d14df310630d76ec03cb6f9b95bf1a22438105c88cd9fd3dac80f857add38271d8ba901684b26d436d4a859ad4cda5e9677b73cab3f3e5e41a3d7996607279ab" + }, + "tests" : [ + { + "comment" : "s is larger than n", + "message" : "54657374", + "result" : "invalid", + "sig" : "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000101fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e9138640a", + "tcId" : 83 + } + ] + }, + { + "keyDer" : "30819b301006072a8648ce3d020106052b810400230381860004013b73be0ec4f18b36fdc20aac9675580a20cc725ed0de6fea63ab6111b4aaecc69b1fdf05bb1c7a71c4b7a5a1eaaff23be15604f405b5ecd3b3ed6afea8e49cd64900912180c981f480d2b8b7438988b03a0c5efdbd2da094f082f7fa57ecc41fde8c65d3c9d80f34f9124e151da55d96d2a9b991672de79449bcc1c0192b7650ae90b7", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQBO3O+DsTxizb9wgqslnVYCiDMcl7Q\n3m/qY6thEbSq7MabH98Fuxx6ccS3paHqr/I74VYE9AW17NOz7Wr+qOSc1kkAkSGA\nyYH0gNK4t0OJiLA6DF79vS2glPCC9/pX7MQf3oxl08nYDzT5Ek4VHaVdltKpuZFn\nLeeUSbzBwBkrdlCukLc=\n-----END PUBLIC KEY-----", + "sha" : "SHA-512", + "type" : "ECDSAVer", + "jwk" : { + "crv" : "P-521", + "kid" : "none", + "kty" : "EC", + "x" : "ATtzvg7E8Ys2_cIKrJZ1WAogzHJe0N5v6mOrYRG0quzGmx_fBbscenHEt6Wh6q_yO-FWBPQFtezTs-1q_qjknNZJ", + "y" : "AJEhgMmB9IDSuLdDiYiwOgxe_b0toJTwgvf6V-zEH96MZdPJ2A80-RJOFR2lXZbSqbmRZy3nlEm8wcAZK3ZQrpC3" + }, + "key" : { + "curve" : "secp521r1", + "keySize" : 521, + "type" : "ECPublicKey", + "wx" : "13b73be0ec4f18b36fdc20aac9675580a20cc725ed0de6fea63ab6111b4aaecc69b1fdf05bb1c7a71c4b7a5a1eaaff23be15604f405b5ecd3b3ed6afea8e49cd649", + "wy" : "0912180c981f480d2b8b7438988b03a0c5efdbd2da094f082f7fa57ecc41fde8c65d3c9d80f34f9124e151da55d96d2a9b991672de79449bcc1c0192b7650ae90b7" + }, + "tests" : [ + { + "comment" : "point at infinity during verify", + "message" : "54657374", + "result" : "invalid", + "sig" : "00fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd28c343c1df97cb35bfe600a47b84d2e81ddae4dc44ce23d75db7db8f489c320400aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa8c5d782813fba87792a9955c2fd033745693c9892d8896d3a3e7a925f85bd76ad", + "tcId" : 84 + } + ] + }, + { + "keyDer" : "30819b301006072a8648ce3d020106052b81040023038186000401c01eab9ba6ddd21e33421034acd6ac923a409fab349e0380bfaa54b404890086a5e12fb09e1352712cfde15abc2563079a73d333c9c79c670fb06b5d802aa9b77600a76a28d03f657c61bf87ff78e7733a069556d2bd638b79316ab70b5a2809bc8a98a2a843238d4abe2698b2aa6aede1b2541bf3dcd007cf9cd5c4d4969c4f7ffccb", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQBwB6rm6bd0h4zQhA0rNaskjpAn6s0\nngOAv6pUtASJAIal4S+wnhNScSz94Vq8JWMHmnPTM8nHnGcPsGtdgCqpt3YAp2oo\n0D9lfGG/h/9453M6BpVW0r1ji3kxarcLWigJvIqYoqhDI41KviaYsqpq7eGyVBvz\n3NAHz5zVxNSWnE9//Ms=\n-----END PUBLIC KEY-----", + "sha" : "SHA-512", + "type" : "ECDSAVer", + "jwk" : { + "crv" : "P-521", + "kid" : "none", + "kty" : "EC", + "x" : "AcAeq5um3dIeM0IQNKzWrJI6QJ-rNJ4DgL-qVLQEiQCGpeEvsJ4TUnEs_eFavCVjB5pz0zPJx5xnD7BrXYAqqbd2", + "y" : "AKdqKNA_ZXxhv4f_eOdzOgaVVtK9Y4t5MWq3C1ooCbyKmKKoQyONSr4mmLKqau3hslQb89zQB8-c1cTUlpxPf_zL" + }, + "key" : { + "curve" : "secp521r1", + "keySize" : 521, + "type" : "ECPublicKey", + "wx" : "1c01eab9ba6ddd21e33421034acd6ac923a409fab349e0380bfaa54b404890086a5e12fb09e1352712cfde15abc2563079a73d333c9c79c670fb06b5d802aa9b776", + "wy" : "0a76a28d03f657c61bf87ff78e7733a069556d2bd638b79316ab70b5a2809bc8a98a2a843238d4abe2698b2aa6aede1b2541bf3dcd007cf9cd5c4d4969c4f7ffccb" + }, + "tests" : [ + { + "comment" : "u1 == 1", + "message" : "54657374", + "result" : "valid", + "sig" : "00aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa8c5d782813fba87792a9955c2fd033745693c9892d8896d3a3e7a925f85bd76ad0000c6ee9e33cf5c6715a1d148fd73f7318884b41adcb916021e2bc0e800a5c5dd97f5142178f6ae88c8fdd98e1afb0ce4c8d2c54b5f37b30b7da1997bb33b0b8a31", + "tcId" : 85 + } + ] + }, + { + "keyDer" : "30819b301006072a8648ce3d020106052b81040023038186000400186365c73588807a51005412db004b45f5f7be3a6074e6119042978dbfbc5a431e16cc930747e6cd7511505b4c9349cedf908a5a9dbd33cdb0aeccbf69454457fb0014620a29a2691d8038d39e1e4de7c4243c8c42601e719945c1297c1a4b10d7415af37bf1ed0ddc9030bce530185dfdfc4658ff635f6bd9660becc8ff9eca4fddfa", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQAGGNlxzWIgHpRAFQS2wBLRfX3vjpg\ndOYRkEKXjb+8WkMeFsyTB0fmzXURUFtMk0nO35CKWp29M82wrsy/aUVEV/sAFGIK\nKaJpHYA4054eTefEJDyMQmAecZlFwSl8GksQ10Fa83vx7Q3ckDC85TAYXf38Rlj/\nY19r2WYL7Mj/nspP3fo=\n-----END PUBLIC KEY-----", + "sha" : "SHA-512", + "type" : "ECDSAVer", + "jwk" : { + "crv" : "P-521", + "kid" : "none", + "kty" : "EC", + "x" : "ABhjZcc1iIB6UQBUEtsAS0X19746YHTmEZBCl42_vFpDHhbMkwdH5s11EVBbTJNJzt-QilqdvTPNsK7Mv2lFRFf7", + "y" : "ABRiCimiaR2AONOeHk3nxCQ8jEJgHnGZRcEpfBpLENdBWvN78e0N3JAwvOUwGF39_EZY_2Nfa9lmC-zI_57KT936" + }, + "key" : { + "curve" : "secp521r1", + "keySize" : 521, + "type" : "ECPublicKey", + "wx" : "186365c73588807a51005412db004b45f5f7be3a6074e6119042978dbfbc5a431e16cc930747e6cd7511505b4c9349cedf908a5a9dbd33cdb0aeccbf69454457fb", + "wy" : "14620a29a2691d8038d39e1e4de7c4243c8c42601e719945c1297c1a4b10d7415af37bf1ed0ddc9030bce530185dfdfc4658ff635f6bd9660becc8ff9eca4fddfa" + }, + "tests" : [ + { + "comment" : "u1 == n - 1", + "message" : "54657374", + "result" : "valid", + "sig" : "00aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa8c5d782813fba87792a9955c2fd033745693c9892d8896d3a3e7a925f85bd76ad01ff391161cc30a398ea5e2eb7028c08ce777b4be52346e9fde1d43f17ff5a3a22625c72660ac8810da281f2732dfbfcc10768f07e5951e93c3119d63b6b562cd9d8", + "tcId" : 86 + } + ] + }, + { + "keyDer" : "30819b301006072a8648ce3d020106052b810400230381860004002e2a746b55e05bc130d374c8abb8bf651a2e2b025404f08545befcb95c9f7f681f6f5b9bf2ebc45d4c8572921d3ab5dce144ea5d50ebec89b8c8f010ea31494863008c816f122d5d63b5fea00d1a00ed23577f7ef7d48f3973568353d468368ec77cbc9e3c5012839b74833087d51ba3e680ab5375be680ea8c18f7b619f32b141f281", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQALip0a1XgW8Ew03TIq7i/ZRouKwJU\nBPCFRb78uVyff2gfb1ub8uvEXUyFcpIdOrXc4UTqXVDr7Im4yPAQ6jFJSGMAjIFv\nEi1dY7X+oA0aAO0jV39+99SPOXNWg1PUaDaOx3y8njxQEoObdIMwh9Ubo+aAq1N1\nvmgOqMGPe2GfMrFB8oE=\n-----END PUBLIC KEY-----", + "sha" : "SHA-512", + "type" : "ECDSAVer", + "jwk" : { + "crv" : "P-521", + "kid" : "none", + "kty" : "EC", + "x" : "AC4qdGtV4FvBMNN0yKu4v2UaLisCVATwhUW-_Llcn39oH29bm_LrxF1MhXKSHTq13OFE6l1Q6-yJuMjwEOoxSUhj", + "y" : "AIyBbxItXWO1_qANGgDtI1d_fvfUjzlzVoNT1Gg2jsd8vJ48UBKDm3SDMIfVG6PmgKtTdb5oDqjBj3thnzKxQfKB" + }, + "key" : { + "curve" : "secp521r1", + "keySize" : 521, + "type" : "ECPublicKey", + "wx" : "2e2a746b55e05bc130d374c8abb8bf651a2e2b025404f08545befcb95c9f7f681f6f5b9bf2ebc45d4c8572921d3ab5dce144ea5d50ebec89b8c8f010ea31494863", + "wy" : "08c816f122d5d63b5fea00d1a00ed23577f7ef7d48f3973568353d468368ec77cbc9e3c5012839b74833087d51ba3e680ab5375be680ea8c18f7b619f32b141f281" + }, + "tests" : [ + { + "comment" : "u2 == 1", + "message" : "54657374", + "result" : "valid", + "sig" : "00aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa8c5d782813fba87792a9955c2fd033745693c9892d8896d3a3e7a925f85bd76ad00aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa8c5d782813fba87792a9955c2fd033745693c9892d8896d3a3e7a925f85bd76ad", + "tcId" : 87 + } + ] + }, + { + "keyDer" : "30819b301006072a8648ce3d020106052b81040023038186000400d379f79826b04198df371ab0519d1a7f0a4f199d6149ca8b7f13a5da09cba024fbe7d4ff7fd7a8a93b5cbcaf3c68243f630d47d8f2b652b6a7d6b1c522a75fa9f201c660722d95c83c6b9457944acc671e881e8d17b07362f2f82799456f2f15d662d36aa09d5a5236288d3c1382e3e2308f46867d53c588a370857fae4d32f0a3ddaf", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQA03n3mCawQZjfNxqwUZ0afwpPGZ1h\nScqLfxOl2gnLoCT759T/f9eoqTtcvK88aCQ/Yw1H2PK2Uran1rHFIqdfqfIBxmBy\nLZXIPGuUV5RKzGceiB6NF7BzYvL4J5lFby8V1mLTaqCdWlI2KI08E4Lj4jCPRoZ9\nU8WIo3CFf65NMvCj3a8=\n-----END PUBLIC KEY-----", + "sha" : "SHA-512", + "type" : "ECDSAVer", + "jwk" : { + "crv" : "P-521", + "kid" : "none", + "kty" : "EC", + "x" : "ANN595gmsEGY3zcasFGdGn8KTxmdYUnKi38TpdoJy6Ak--fU_3_XqKk7XLyvPGgkP2MNR9jytlK2p9axxSKnX6ny", + "y" : "AcZgci2VyDxrlFeUSsxnHogejRewc2Ly-CeZRW8vFdZi02qgnVpSNiiNPBOC4-Iwj0aGfVPFiKNwhX-uTTLwo92v" + }, + "key" : { + "curve" : "secp521r1", + "keySize" : 521, + "type" : "ECPublicKey", + "wx" : "0d379f79826b04198df371ab0519d1a7f0a4f199d6149ca8b7f13a5da09cba024fbe7d4ff7fd7a8a93b5cbcaf3c68243f630d47d8f2b652b6a7d6b1c522a75fa9f2", + "wy" : "1c660722d95c83c6b9457944acc671e881e8d17b07362f2f82799456f2f15d662d36aa09d5a5236288d3c1382e3e2308f46867d53c588a370857fae4d32f0a3ddaf" + }, + "tests" : [ + { + "comment" : "u2 == n - 1", + "message" : "54657374", + "result" : "valid", + "sig" : "00aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa8c5d782813fba87792a9955c2fd033745693c9892d8896d3a3e7a925f85bd76ad015555555555555555555555555555555555555555555555555555555555555555518baf05027f750ef25532ab85fa066e8ad2793125b112da747cf524bf0b7aed5c", + "tcId" : 88 + } + ] + }, + { + "keyDer" : "30819b301006072a8648ce3d020106052b81040023038186000401400fa3bc87482ec1ba75346a129ec8f79456e7d6343b2a6be22490884b8f8b89114c0e5f9558d7627adeae53ff8ce37baf94b99d04f75098ca8e3e77c6be02bc3e01690d770806bde9f4d2760293aba6076066f1762e8448f0d08724ef311ff7596f35e8b6a9346de65bea924b9d30bb972e3b38878172f9040378a0db47299e979856", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQBQA+jvIdILsG6dTRqEp7I95RW59Y0\nOypr4iSQiEuPi4kRTA5flVjXYnrerlP/jON7r5S5nQT3UJjKjj53xr4CvD4BaQ13\nCAa96fTSdgKTq6YHYGbxdi6ESPDQhyTvMR/3WW816LapNG3mW+qSS50wu5cuOziH\ngXL5BAN4oNtHKZ6XmFY=\n-----END PUBLIC KEY-----", + "sha" : "SHA-512", + "type" : "ECDSAVer", + "jwk" : { + "crv" : "P-521", + "kid" : "none", + "kty" : "EC", + "x" : "AUAPo7yHSC7BunU0ahKeyPeUVufWNDsqa-IkkIhLj4uJEUwOX5VY12J63q5T_4zje6-UuZ0E91CYyo4-d8a-Arw-", + "y" : "AWkNdwgGven00nYCk6umB2Bm8XYuhEjw0Ick7zEf91lvNei2qTRt5lvqkkudMLuXLjs4h4Fy-QQDeKDbRymel5hW" + }, + "key" : { + "curve" : "secp521r1", + "keySize" : 521, + "type" : "ECPublicKey", + "wx" : "1400fa3bc87482ec1ba75346a129ec8f79456e7d6343b2a6be22490884b8f8b89114c0e5f9558d7627adeae53ff8ce37baf94b99d04f75098ca8e3e77c6be02bc3e", + "wy" : "1690d770806bde9f4d2760293aba6076066f1762e8448f0d08724ef311ff7596f35e8b6a9346de65bea924b9d30bb972e3b38878172f9040378a0db47299e979856" + }, + "tests" : [ + { + "comment" : "weak key", + "message" : "54657374", + "result" : "valid", + "sig" : "0090c8d0d718cb9d8d81094e6d068fb13c16b4df8c77bac676dddfe3e68855bed06b9ba8d0f8a80edce03a9fac7da561e24b1cd22d459239a146695a671f81f73aaf00a24fbd602ff7012b6b00e9aa1683b45bfa2d62dc768737e8da92cad52f069efbea526acc68096fc0ef9960c6b989bf8922aea38fd463d02c0e7c25e336f32b0874", + "tcId" : 89 + } + ] + }, + { + "keyDer" : "30819b301006072a8648ce3d020106052b81040023038186000401400fa3bc87482ec1ba75346a129ec8f79456e7d6343b2a6be22490884b8f8b89114c0e5f9558d7627adeae53ff8ce37baf94b99d04f75098ca8e3e77c6be02bc3e0096f288f7f942160b2d89fd6c5459f89f990e89d17bb70f2f78db10cee008a690ca174956cb9219a4156db462cf4468d1c4c7787e8d06fbfc875f24b8d6616867a9", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQBQA+jvIdILsG6dTRqEp7I95RW59Y0\nOypr4iSQiEuPi4kRTA5flVjXYnrerlP/jON7r5S5nQT3UJjKjj53xr4CvD4AlvKI\n9/lCFgstif1sVFn4n5kOidF7tw8veNsQzuAIppDKF0lWy5IZpBVttGLPRGjRxMd4\nfo0G+/yHXyS41mFoZ6k=\n-----END PUBLIC KEY-----", + "sha" : "SHA-512", + "type" : "ECDSAVer", + "jwk" : { + "crv" : "P-521", + "kid" : "none", + "kty" : "EC", + "x" : "AUAPo7yHSC7BunU0ahKeyPeUVufWNDsqa-IkkIhLj4uJEUwOX5VY12J63q5T_4zje6-UuZ0E91CYyo4-d8a-Arw-", + "y" : "AJbyiPf5QhYLLYn9bFRZ-J-ZDonRe7cPL3jbEM7gCKaQyhdJVsuSGaQVbbRiz0Ro0cTHeH6NBvv8h18kuNZhaGep" + }, + "key" : { + "curve" : "secp521r1", + "keySize" : 521, + "type" : "ECPublicKey", + "wx" : "1400fa3bc87482ec1ba75346a129ec8f79456e7d6343b2a6be22490884b8f8b89114c0e5f9558d7627adeae53ff8ce37baf94b99d04f75098ca8e3e77c6be02bc3e", + "wy" : "096f288f7f942160b2d89fd6c5459f89f990e89d17bb70f2f78db10cee008a690ca174956cb9219a4156db462cf4468d1c4c7787e8d06fbfc875f24b8d6616867a9" + }, + "tests" : [ + { + "comment" : "duplication bug", + "message" : "54657374", + "result" : "invalid", + "sig" : "0090c8d0d718cb9d8d81094e6d068fb13c16b4df8c77bac676dddfe3e68855bed06b9ba8d0f8a80edce03a9fac7da561e24b1cd22d459239a146695a671f81f73aaf00a24fbd602ff7012b6b00e9aa1683b45bfa2d62dc768737e8da92cad52f069efbea526acc68096fc0ef9960c6b989bf8922aea38fd463d02c0e7c25e336f32b0874", + "tcId" : 90 + } + ] + }, + { + "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d0301070342000482efed52b9053723f669085c5aae160e7b995362aadfb715224c3b75c78c39ede4f52fd89da37fae31b852ce0f5ef5897dfc79de579435a938e1e723a2f4df06", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEgu/tUrkFNyP2aQhcWq4WDnuZU2Kq\n37cVIkw7dceMOe3k9S/YnaN/rjG4Us4PXvWJffx53leUNak44ecjovTfBg==\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "jwk" : { + "crv" : "P-256", + "kid" : "none", + "kty" : "EC", + "x" : "gu_tUrkFNyP2aQhcWq4WDnuZU2Kq37cVIkw7dceMOe0", + "y" : "5PUv2J2jf64xuFLOD171iX38ed5XlDWpOOHnI6L03wY" + }, + "key" : { + "curve" : "secp256r1", + "keySize" : 256, + "type" : "ECPublicKey", + "wx" : "082efed52b9053723f669085c5aae160e7b995362aadfb715224c3b75c78c39ed", + "wy" : "0e4f52fd89da37fae31b852ce0f5ef5897dfc79de579435a938e1e723a2f4df06" + }, + "tests" : [ + { + "comment" : "random signature", + "message" : "00000000000000000000000000000000", + "result" : "valid", + "sig" : "1e63913374b3ead80d4b27bfdf7a50eb063c39bc585ea43cbd12f9dce3071a44a7bbd74b1eac2c54fccec9a3523ca29c95b7ace517ab2b0f4995d220481ce326", + "tcId" : 91 + }, + { + "comment" : "random signature", + "message" : "00000000000000000000000000000000", + "result" : "valid", + "sig" : "e3f4fced8145c2ad8da913d8e15ba196f10a85d44a320c94a09cb194aea8ef1883afe416680a2c0cc915753ec869d9f2117256abecf234164613722bd7a8cb7c", + "tcId" : 92 + }, + { + "comment" : "random signature", + "message" : "00000000000000000000000000000000", + "result" : "valid", + "sig" : "9f30cc8eafbeacc166a1af87664bef8b2add9c1988841f5de200feaaee1393fdd986454e46e388e11d6d3fb10d7eea364b814751975327401ad124951dbdda45", + "tcId" : 93 + }, + { + "comment" : "random signature", + "message" : "00000000000000000000000000000000", + "result" : "valid", + "sig" : "67e8a0b9ba82d0c4e1ad9fad1592a179c6dac964215c8a519863141e053f55dd6c41d1be827bb6b5658ccf8c0ff16d87f3ce16d62a7641b64a107191d6531ad7", + "tcId" : 94 + }, + { + "comment" : "random signature", + "message" : "00000000000000000000000000000000", + "result" : "valid", + "sig" : "9963a72f589bcf7d4a561f8b0bed9af6e5a1309a1f5ab1791ce179d68478fe905c6870382a1ea973a84f85d8365b8d6e67527a5bdc9b80526a28968e7884758c", + "tcId" : 95 + }, + { + "comment" : "random signature", + "message" : "00000000000000000000000000000000", + "result" : "valid", + "sig" : "74a6f79b92039e101a3a45ad6287d16a05107d07899ec858eade5d51b7b5f61d79f33dc00dbed4edb967eda02768731b4dc5bffe6764e7258b2d7bbf223947c6", + "tcId" : 96 + }, + { + "comment" : "random signature", + "message" : "00000000000000000000000000000000", + "result" : "valid", + "sig" : "5a5599a21beec4979655e89a77ab145566296f71095c457a40ef52efd98c4bd5cb7b8beff27c7bb66c5ed2aad94b7e204c4c0a4748d1f35aff4b6eeb25236e4b", + "tcId" : 97 + }, + { + "comment" : "random signature", + "message" : "00000000000000000000000000000000", + "result" : "valid", + "sig" : "d1a536b7938286c12f3d7cc12d779cfd7662dd1b1a80a0e50d6f15d8ec34d1748eedd5e3bf94ce409210e4c58fae664657dc160d41525fd7f62a17d614ccae50", + "tcId" : 98 + }, + { + "comment" : "random signature", + "message" : "00000000000000000000000000000000", + "result" : "valid", + "sig" : "3e594afa1518a97360941a8930785150ec14cbd9d390da407155557e47540fd7590aeb35acb45eebf80e590585329e0543d3ebd6536321429cd6905541667d8f", + "tcId" : 99 + }, + { + "comment" : "random signature", + "message" : "00000000000000000000000000000000", + "result" : "valid", + "sig" : "ff84c44ad23cb2bb9a92309c92c41487e618442f54decd53532f84e14326c49787fccaa0107558605d49ddf10bf83c561dbd75035e3acfd17bb5d49f2de1e15f", + "tcId" : 100 + } + ] + }, + { + "keyDer" : "30819b301006072a8648ce3d020106052b810400230381860004008299c4e2bbbc1a061eb5d09c5ca6655e923fd85f08376cc8de849cf0e3cfa45d242976899c27551cccc30f9d9a82d2baa396e020def5454652239858d1eb44a33b00202ef1fbd2b2717fd75e40975aec6ed7f5c060fb04291711402d503840976b9f6ad826a05957f8691b4cfd8e2b4a774908d7c7ea94e47c33e5763309404cdd5e4a", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQAgpnE4ru8GgYetdCcXKZlXpI/2F8I\nN2zI3oSc8OPPpF0kKXaJnCdVHMzDD52agtK6o5bgIN71RUZSI5hY0etEozsAIC7x\n+9KycX/XXkCXWuxu1/XAYPsEKRcRQC1QOECXa59q2CagWVf4aRtM/Y4rSndJCNfH\n6pTkfDPldjMJQEzdXko=\n-----END PUBLIC KEY-----", + "sha" : "SHA-512", + "type" : "ECDSAVer", + "jwk" : { + "crv" : "P-521", + "kid" : "none", + "kty" : "EC", + "x" : "AIKZxOK7vBoGHrXQnFymZV6SP9hfCDdsyN6EnPDjz6RdJCl2iZwnVRzMww-dmoLSuqOW4CDe9UVGUiOYWNHrRKM7", + "y" : "ACAu8fvSsnF_115Al1rsbtf1wGD7BCkXEUAtUDhAl2ufatgmoFlX-GkbTP2OK0p3SQjXx-qU5Hwz5XYzCUBM3V5K" + }, + "key" : { + "curve" : "secp521r1", + "keySize" : 521, + "type" : "ECPublicKey", + "wx" : "08299c4e2bbbc1a061eb5d09c5ca6655e923fd85f08376cc8de849cf0e3cfa45d242976899c27551cccc30f9d9a82d2baa396e020def5454652239858d1eb44a33b", + "wy" : "202ef1fbd2b2717fd75e40975aec6ed7f5c060fb04291711402d503840976b9f6ad826a05957f8691b4cfd8e2b4a774908d7c7ea94e47c33e5763309404cdd5e4a" + }, + "tests" : [ + { + "comment" : "random signature", + "message" : "0000000000000000000000000000000000000000", + "result" : "valid", + "sig" : "01901935f873695f6d978537d1932a74b594e98ee672348f9a25abe2cf8b8aae31208c90f80fe508c356302f11f4b7d8180aa1c70207483c560133ada3060dce63c9004acb84ee9ca82af573e5ab9ec86820e60d12f20168862cf34429219dd6d8610298af6d01a57c4b5d867acbb9faab0628501a489a6ec63273022e72aa1aaec8dfc5", + "tcId" : 101 + }, + { + "comment" : "random signature", + "message" : "0000000000000000000000000000000000000000", + "result" : "valid", + "sig" : "008b2d6f870aa5a329e2cfd2d7b557879ed300154058e2c55569312d929d43e44b761fba188745e047cabd77ad54b5ec3f301ad5725e41dc07e28cabdd0f948d10e201496e8da0f64dda20666dd78dfb529695f32df3d4c33e402dfe85db1ebce89396553aef4d62cb3bac401241ab9938040a6d22b36bb866d3878a7001c646e2ade4fd", + "tcId" : 102 + }, + { + "comment" : "random signature", + "message" : "0000000000000000000000000000000000000000", + "result" : "valid", + "sig" : "0102dc32e8f53daeb00ac0b9ea88a3496b19be2831261660e2ef599c08623c3bb4cb7f9d4e5d24e9b50256b3243292b6a5d7de11e371aae3e88abdb01112b5fc31e400ed4642d1a5d4456a8bd94037d180cfe2faadb1fccf434fcbb12eb0a353064a9764bb8b8d689320e8a83af8045109c2007f1486627cc7ac0c5c713a419075862434", + "tcId" : 103 + }, + { + "comment" : "random signature", + "message" : "0000000000000000000000000000000000000000", + "result" : "valid", + "sig" : "002be69063cb7c574e1f15b2f762b9499411ee01f786e1bd6876c753b640cf0c4861ec5e85f0a7ec4f430ac7f4cd6c8afda97df7f7914549770b46f429931c8a02ad00898a7ded6b2a1ae812bf52fa1afb219b9b28b6b5e8e09f2eb3a3a364eed565664ae25dde99fd3421821e241e28cc9b3168943fb5ef56c7c9fb3a7bbba4c4e20f75", + "tcId" : 104 + }, + { + "comment" : "random signature", + "message" : "0000000000000000000000000000000000000000", + "result" : "valid", + "sig" : "0019c52156a6044e89a69d35d5ea3855108c39f038652be3a3819fd38c4f087510918c5a013b1e06c5c463db7aae0c584316dae3062d90da918ff474e687d7bd9c5101caf79795bca185e27c985083ee936455d1c60c1c7e3d95e032cef0d80bf1426df5cdf1b9a5edbec533bc737c24b77b4694f233ec2f5e88d9effdd2a9b8d3b800d4", + "tcId" : 105 + }, + { + "comment" : "random signature", + "message" : "0000000000000000000000000000000000000000", + "result" : "valid", + "sig" : "00e903e8ad55d36cfdf951f631d4226b5bf79c17e7c2f53c4dabecfbf8675d38ed29e150fbf1d86f44c730df7777410e9df72a5a88cbe5f52e083585d1765ca3055300b85d63f3c4e2f36691e165026696a9eeb8adc4c0e32bf56c03de418eed3fd48057e9d402dc124d710e2536986472cf75b87ec283574223cb193af34966ea93183f", + "tcId" : 106 + }, + { + "comment" : "random signature", + "message" : "0000000000000000000000000000000000000000", + "result" : "valid", + "sig" : "006c5437ca8b2f853c2a4216d9e7379c4400bd5fb2b74d6c4af5658589d4894eff0c754465569c45804c0b3b105a917ea53006cfbc7f0e967b14014dda4f1a6a3f0101620b46f91afbde439d2f479555ed03b5210df454926d2473513b6342016bbb24b1eb10f16d5666732b977ca4938dfed9bbf36aab261f924f153a4eded721da124b", + "tcId" : 107 + }, + { + "comment" : "random signature", + "message" : "0000000000000000000000000000000000000000", + "result" : "valid", + "sig" : "005f49f8e46ee467fba634e7b2c7a089eabadfd82727a4dd4e8e20c2eef15d795cf287c62f86cc64cd988b83a4271084b32c2176ef15815026220c17a5d1255e953e01bae15b61f0ad85db8c4aaa70aab509e6ebf32ffab91c90e63da1670f94d1ea54d50e98dfb3f67626a27c047b457a20fdae6110acd4ffc96f17d38e90af8bd7b819", + "tcId" : 108 + }, + { + "comment" : "random signature", + "message" : "0000000000000000000000000000000000000000", + "result" : "valid", + "sig" : "0044a5b08f9d5031efe823a3f7b2226ea7c88e7d770acd5943a5804fe6f48a1421aee3c530145c20680ae35b198e5a0565a71748b37f3944708d40e1acaf928bdd7f008d5fbe874e1b709f4b20e78e08755ce1792a724bdc2e48816193d77e95e021f1baf99c8d26a981b5c882c56a70f8a06dec227a3f29204f9f582c72eaccd1f96165", + "tcId" : 109 + }, + { + "comment" : "random signature", + "message" : "0000000000000000000000000000000000000000", + "result" : "valid", + "sig" : "0077751cca360c5abf093605729cfc68e1c80b255b01e3d12b632d00b6dfdc8e37c74cf4d862d66c7989d2f999af58d33720cae0aa83251a968be4db122d3470c9f901af02304c5bdc546c2d06785ef906367d7117e6efec63151ad02d5346f7253206a70125dde96824f17005aaaebaa50f7c4d2bc1f7b653075fbc9c1a8afa225630c2", + "tcId" : 110 + } + ] + }, + { + "keyDer" : "3076301006072a8648ce3d020106052b8104002203620004820ee7b7457b52790f012e3f0a0e315d6a4270ff8ffeae9404a4c43d1e47a8fcfcae1a6ff4751635f42aaf94b0e3654de80847146fb7360f4aee71cdbf54eb16387d07d6e6894be68a5dfb62aed5b1f839596ea7bac188a4b766eb94e33f22d5", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEgg7nt0V7UnkPAS4/Cg4xXWpCcP+P/q6U\nBKTEPR5HqPz8rhpv9HUWNfQqr5Sw42VN6AhHFG+3Ng9K7nHNv1TrFjh9B9bmiUvm\nil37Yq7Vsfg5WW6nusGIpLdm65TjPyLV\n-----END PUBLIC KEY-----", + "sha" : "SHA-384", + "type" : "ECDSAVer", + "jwk" : { + "crv" : "P-384", + "kid" : "none", + "kty" : "EC", + "x" : "gg7nt0V7UnkPAS4_Cg4xXWpCcP-P_q6UBKTEPR5HqPz8rhpv9HUWNfQqr5Sw42VN", + "y" : "6AhHFG-3Ng9K7nHNv1TrFjh9B9bmiUvmil37Yq7Vsfg5WW6nusGIpLdm65TjPyLV" + }, + "key" : { + "curve" : "secp384r1", + "keySize" : 384, + "type" : "ECPublicKey", + "wx" : "0820ee7b7457b52790f012e3f0a0e315d6a4270ff8ffeae9404a4c43d1e47a8fcfcae1a6ff4751635f42aaf94b0e3654d", + "wy" : "0e80847146fb7360f4aee71cdbf54eb16387d07d6e6894be68a5dfb62aed5b1f839596ea7bac188a4b766eb94e33f22d5" + }, + "tests" : [ + { + "comment" : "random signature", + "message" : "48656c6c6f", + "result" : "valid", + "sig" : "6d61307eb3042c72fa2e5051e5d7fd969357bbf7a77ef28db8e5c35431a253e47fd271c5b14a377f41e9db9353c33e848bf9412381b9fe33fdb00757af2e08440d36d4fc7ee0c085850daae1f8df972ab8299f381be2951e8e0b1e1eb9b5f803", + "tcId" : 111 + }, + { + "comment" : "random signature", + "message" : "48656c6c6f", + "result" : "valid", + "sig" : "87c43936c6b260236bc47417f0fdc6c5dabfd38576f74135dff1fad9daade052098c82e46e1dd4577168dab9a2af95f1a7f1fd50ee1a7b34b4ddeea66ce3b0455377c47cc75cbdcd7f7848b3dd6c567dcfcb77a29951ea6bf5e6d30bfbd7b064", + "tcId" : 112 + }, + { + "comment" : "random signature", + "message" : "48656c6c6f", + "result" : "valid", + "sig" : "cacd409cefcf1fc0d10b7f4cdfd751c4e207a71f7e602bfb855a592f5b33e6d666443ee9c9abd1258aa65ca06318447e50fbc450a2d2d6669a790cecac7748bc11111429fa0631a1c2f8ce0d8abb60d2b699db316f1b88e748f3f8af2b4623b2", + "tcId" : 113 + }, + { + "comment" : "random signature", + "message" : "48656c6c6f", + "result" : "valid", + "sig" : "8bfd7fe7562e19381fe51cdf5784fc8248e71a19ec73db9ab59a49eb28bd05763b0789072a6449dbcf32dc227eebaca8c7f49385fd9e3c8c4199030e238bf1c38b0000a03bd230d303cd0cb06e9a1cf70248c35da5258db2bb2047ff4b13bd9e", + "tcId" : 114 + }, + { + "comment" : "random signature", + "message" : "48656c6c6f", + "result" : "valid", + "sig" : "4936aacd98530d41afb1adcb0429d6e18d55b8956f7996f47dc5fe712bb5484ea9c992cc8fd7c5e50a5312c9a1fca21e68a97212b13a2d1d95fe45a434051cdebdb4886e9f23392384a32f61b50990e123241b06813095ffd557d181af38cdb3", + "tcId" : 115 + }, + { + "comment" : "random signature", + "message" : "48656c6c6f", + "result" : "valid", + "sig" : "323afee80faf41d30344b29d7c5dc63960c9f229f2cffe66a5d58fc0918ff15996e9e65879aad3c9ebddb3f67568db09f70abf2c40cd360dec66fd59df3dc3b845f90657e82f4b9f1da8aab9df5f45003224cb4b6519274d2925b245edbc3543", + "tcId" : 116 + }, + { + "comment" : "random signature", + "message" : "48656c6c6f", + "result" : "valid", + "sig" : "e52d47dc305382258dcfc364bcfbec863e844c75768dee340c9a5c6f0f98904726f500a2997f8f835a4db5968e6f727b7e9e3a2c64e66064f15a527a8a44396c29db47397058d0498cca36ed93ae76d92918087fd367e2db74ca807db6d33d1f", + "tcId" : 117 + }, + { + "comment" : "random signature", + "message" : "48656c6c6f", + "result" : "valid", + "sig" : "bffd543c002ab7740588aef8212205cef78baa907ab537634f5c3cfad76013d5085ec4f734fd085e0e153c6d86cf798bd237c58554f0c00888676c7b0147ffd7e336824775a4f675956be1daf617e2834abdc465c2e72b42032b6364ed926dc9", + "tcId" : 118 + }, + { + "comment" : "random signature", + "message" : "48656c6c6f", + "result" : "valid", + "sig" : "176847a307aebae41f08db05411eedac6f47f20ffde5a5e10c9bf45d1b244eef2c724497f4857f2f06aee4cac11ac37c9c80f7283350fde434d6b0fbccc8f26434ad2ad9a5bc9e3665dfd11009f68cb959aab1e1c5b2481cd987836854650f7d", + "tcId" : 119 + }, + { + "comment" : "random signature", + "message" : "48656c6c6f", + "result" : "valid", + "sig" : "be2eec483e0c2d9fad3e03163bdfaadc6baef5ffe3373aa1a48cfc0c00fd67da56dff871a98be8fab8645bf5ca645d65aae76f1d6acd4bfdbe683b5315a956ed96f57e82ff04932e837e759b40d8dcc73521a289508a7a71e430f680d6c0fb3d", + "tcId" : 120 + } + ] + }, + { + "keyDer" : "3076301006072a8648ce3d020106052b8104002203620004031fbb3c18dfaff249ed5b7ddcfb0282197fda8708cc4d2c49000939c413dcb907e275efccaec2a13ef98638ebb90c07015df32d9c8cef5c0a3cbccff96d36d5738201b8430c231acde7c831bb5a270cec6d35f5427443a0b0242ff2289ba07c", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEAx+7PBjfr/JJ7Vt93PsCghl/2ocIzE0s\nSQAJOcQT3LkH4nXvzK7CoT75hjjruQwHAV3zLZyM71wKPLzP+W021XOCAbhDDCMa\nzefIMbtaJwzsbTX1QnRDoLAkL/Iom6B8\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "jwk" : { + "crv" : "P-384", + "kid" : "none", + "kty" : "EC", + "x" : "Ax-7PBjfr_JJ7Vt93PsCghl_2ocIzE0sSQAJOcQT3LkH4nXvzK7CoT75hjjruQwH", + "y" : "AV3zLZyM71wKPLzP-W021XOCAbhDDCMazefIMbtaJwzsbTX1QnRDoLAkL_Iom6B8" + }, + "key" : { + "curve" : "secp384r1", + "keySize" : 384, + "type" : "ECPublicKey", + "wx" : "31fbb3c18dfaff249ed5b7ddcfb0282197fda8708cc4d2c49000939c413dcb907e275efccaec2a13ef98638ebb90c07", + "wy" : "15df32d9c8cef5c0a3cbccff96d36d5738201b8430c231acde7c831bb5a270cec6d35f5427443a0b0242ff2289ba07c" + }, + "tests" : [ + { + "comment" : "Hash weaker than DL-group", + "message" : "48656c6c6f", + "result" : "acceptable", + "sig" : "f131a61e2bb3c8260b0f1b8fbbd57dfea3194fb9e4ea5eb1f343f67f013358e94f5b1a550bcccd6d6e40d065be590706bba3db852eef1c12d71f5e351c8d1790e8a11af575f13b0c992c4984e1e17d259e4e02917f480847e5c2b9430335ba94", + "tcId" : 121 + } + ] + }, + { + "keyDer" : "30819b301006072a8648ce3d020106052b81040023038186000400f3762f3ceb3a7dbbad769c6733b665aec3a802f8069345173dfbabe93fa6624e2a65ade6b849e05c59b01c7b709d36933c50c6ffd89e85e959571f8f9a25c1603701fb8f0d50bdfb4dca4e25d746dde110524b00cd6c272b2f5e6db3c99382bcf0b8eec5034645dc139baac5dc23f43c1f91ff8ed086d33192ee2f534fd0ca7a840e85", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQA83YvPOs6fbutdpxnM7ZlrsOoAvgG\nk0UXPfur6T+mYk4qZa3muEngXFmwHHtwnTaTPFDG/9iehelZVx+PmiXBYDcB+48N\nUL37TcpOJddG3eEQUksAzWwnKy9ebbPJk4K88LjuxQNGRdwTm6rF3CP0PB+R/47Q\nhtMxku4vU0/QynqEDoU=\n-----END PUBLIC KEY-----", + "sha" : "SHA-384", + "type" : "ECDSAVer", + "jwk" : { + "crv" : "P-521", + "kid" : "none", + "kty" : "EC", + "x" : "APN2LzzrOn27rXacZzO2Za7DqAL4BpNFFz37q-k_pmJOKmWt5rhJ4FxZsBx7cJ02kzxQxv_YnoXpWVcfj5olwWA3", + "y" : "AfuPDVC9-03KTiXXRt3hEFJLAM1sJysvXm2zyZOCvPC47sUDRkXcE5uqxdwj9Dwfkf-O0IbTMZLuL1NP0Mp6hA6F" + }, + "key" : { + "curve" : "secp521r1", + "keySize" : 521, + "type" : "ECPublicKey", + "wx" : "0f3762f3ceb3a7dbbad769c6733b665aec3a802f8069345173dfbabe93fa6624e2a65ade6b849e05c59b01c7b709d36933c50c6ffd89e85e959571f8f9a25c16037", + "wy" : "1fb8f0d50bdfb4dca4e25d746dde110524b00cd6c272b2f5e6db3c99382bcf0b8eec5034645dc139baac5dc23f43c1f91ff8ed086d33192ee2f534fd0ca7a840e85" + }, + "tests" : [ + { + "comment" : "Hash weaker than DL-group", + "message" : "48656c6c6f", + "result" : "acceptable", + "sig" : "016e9c9ec1320d9403f5b86df59158da27830857f77f58d5c4d34bad9af3f5a422be7f406c994ed865ed6555c326a8f1c7749212cd8dded24f943ff9655072d233bb0127b8318f719866ece8b0092e9c4cbdd212c99e644c1bde2b9c97ff82af6e2e40bbac92e0acd01a2d7a1fa10a7ee725c140b7418c1d5f56688ca0096726987e3aa2", + "tcId" : 122 + } + ] + }, + { + "keyDer" : "30819b301006072a8648ce3d020106052b810400230381860004016894136702a1ff2de14be80fa8ee832777d885caa90182281195187a8c24dfeb92bd33685a78dd348ae4042a02fa25524b7c111f04111df9fe3df830dabd8a8dcf00abe007cdd100461bec9a3dc0c51a6da36f9637aec3fee4c781cf016b190c67f87392a59e6afbba6ca89603dcb1ae07a6c695e6e1694ec440fae62214e016db01f5", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQBaJQTZwKh/y3hS+gPqO6DJ3fYhcqp\nAYIoEZUYeowk3+uSvTNoWnjdNIrkBCoC+iVSS3wRHwQRHfn+Pfgw2r2Kjc8Aq+AH\nzdEARhvsmj3AxRpto2+WN67D/uTHgc8BaxkMZ/hzkqWeavu6bKiWA9yxrgemxpXm\n4WlOxED65iIU4BbbAfU=\n-----END PUBLIC KEY-----", + "sha" : "SHA-256", + "type" : "ECDSAVer", + "jwk" : { + "crv" : "P-521", + "kid" : "none", + "kty" : "EC", + "x" : "AWiUE2cCof8t4UvoD6jugyd32IXKqQGCKBGVGHqMJN_rkr0zaFp43TSK5AQqAvolUkt8ER8EER35_j34MNq9io3P", + "y" : "AKvgB83RAEYb7Jo9wMUabaNvljeuw_7kx4HPAWsZDGf4c5Klnmr7umyolgPcsa4HpsaV5uFpTsRA-uYiFOAW2wH1" + }, + "key" : { + "curve" : "secp521r1", + "keySize" : 521, + "type" : "ECPublicKey", + "wx" : "16894136702a1ff2de14be80fa8ee832777d885caa90182281195187a8c24dfeb92bd33685a78dd348ae4042a02fa25524b7c111f04111df9fe3df830dabd8a8dcf", + "wy" : "0abe007cdd100461bec9a3dc0c51a6da36f9637aec3fee4c781cf016b190c67f87392a59e6afbba6ca89603dcb1ae07a6c695e6e1694ec440fae62214e016db01f5" + }, + "tests" : [ + { + "comment" : "Hash weaker than DL-group", + "message" : "48656c6c6f", + "result" : "acceptable", + "sig" : "0062ecd31c77761bc89143b044efcb514e9c6ef4b5a0999203e14aba19d3f7b484e20b3833ade5f5f49d30e1282a2b22a14ee8816709595edf8f42f5630f92d303450147d4a41d4ada8896a4462d925fcb7cfd95e57048b73de44f2e292ab3009e3877723b8d0641046b622c65d5c0bde0ff46789ca2c205c6117736c5f971fd208eae8f", + "tcId" : 123 + } + ] + } + ] +} diff --git a/testvectors/rsa_signature_test.json b/testvectors/rsa_signature_test.json new file mode 100644 index 0000000..fca44a1 --- /dev/null +++ b/testvectors/rsa_signature_test.json @@ -0,0 +1,3289 @@ +{ + "algorithm" : "RSASig", + "generatorVersion" : "0.0a10", + "numberOfTests" : 362, + "testGroups" : [ + { + "e" : "10001", + "keyAsn" : "30818902818100ab9014dc47d44b6d260fc1fef9ab022042fd9566e9d7b60c54100cb6e1d4edc98590467d0502c17fce69d00ac5efb40b2cb167d8a44ab93d73c4d0f109fb5a26c2f8823236ff517cf84412e173679cfae42e043b6fec81f9d984b562517e6febe1f72295dbc3fdfc19d3240aa75515563f31dad83563f3a315acf9a0b351a23f0203010001", + "keyDer" : "30819f300d06092a864886f70d010101050003818d0030818902818100ab9014dc47d44b6d260fc1fef9ab022042fd9566e9d7b60c54100cb6e1d4edc98590467d0502c17fce69d00ac5efb40b2cb167d8a44ab93d73c4d0f109fb5a26c2f8823236ff517cf84412e173679cfae42e043b6fec81f9d984b562517e6febe1f72295dbc3fdfc19d3240aa75515563f31dad83563f3a315acf9a0b351a23f0203010001", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCrkBTcR9RLbSYPwf75qwIgQv2V\nZunXtgxUEAy24dTtyYWQRn0FAsF/zmnQCsXvtAsssWfYpEq5PXPE0PEJ+1omwviC\nMjb/UXz4RBLhc2ec+uQuBDtv7IH52YS1YlF+b+vh9yKV28P9/BnTJAqnVRVWPzHa\n2DVj86MVrPmgs1GiPwIDAQAB\n-----END PUBLIC KEY-----", + "keysize" : 1024, + "n" : "0ab9014dc47d44b6d260fc1fef9ab022042fd9566e9d7b60c54100cb6e1d4edc98590467d0502c17fce69d00ac5efb40b2cb167d8a44ab93d73c4d0f109fb5a26c2f8823236ff517cf84412e173679cfae42e043b6fec81f9d984b562517e6febe1f72295dbc3fdfc19d3240aa75515563f31dad83563f3a315acf9a0b351a23f", + "sha" : "SHA-256", + "type" : "RSASigVer", + "tests" : [ + { + "comment" : "valid", + "message" : "54657374", + "name" : "RsaSignatureTestVector", + "padding" : "3031300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25", + "result" : "valid", + "sig" : "68ea71ee1911687eb54b3d19cedcfd44719d0b24accccc59bdafd84e4eba48ef0be7f115e7073f9f273286a7dcee3b94cdbe208e30ae496987479d3aa12ab0e12685ab592d7693a494e6ad27d526ed3ab5912c7f81e09983931794c2165c22fd859e0f9af1a93a4dfe144098c562731e6059d236b52cb865996c87a9baf7f103", + "tcId" : 1 + }, + { + "comment" : "Legacy:missing NULL", + "message" : "54657374", + "name" : "RsaSignatureTestVector", + "padding" : "302f300b06096086480165030402010420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25", + "result" : "acceptable", + "sig" : "253e1d19bbe91064f2364c1e7db3ba8eb6dc5b19202e440eab6fbdf28c8c6ec05b812983713c338c72b6e99b8edf506a89ff9fc8e5c2c52362097a56dc228060eca01e1ff318c6c81617691438703411c1f953b21cd74331f87c9b8b189fdffdfe8550bd2bd1d47be915f8604a0f472199dd705e19b1b815f99b68d60bc257c7", + "tcId" : 2 + }, + { + "comment" : "long form encoding of length", + "message" : "54657374", + "name" : "RsaSignatureTestVector", + "padding" : "308131300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25", + "result" : "invalid", + "sig" : "52f46d508e31f030b17c537888585f919037562e15f1924543601a41f9b701ee416ad73d6576b4eaaa64e685289dc478751dfe2d7e588252bfe2d43f4b3a31c6c6c39a9df884a2fc2e45f09c2150a830974b1c9d26090830b37bf06f1d57be1da34ebb016e9db7ce2c34e94872c89567ff6f2ab35a1a9fb6632e100c7d7af834", + "tcId" : 3 + }, + { + "comment" : "long form encoding of length", + "message" : "54657374", + "name" : "RsaSignatureTestVector", + "padding" : "303230810d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25", + "result" : "invalid", + "sig" : "3f34017b3172aaeec72d208308e9b83150699f86634b948847eab56f0169fef51b5636a96866f4f0f4c649400489e047803a91f2b2f32ab715065e20770c4e2788946b85aca5c90efdd6a9458dd9b6f797f96a3de88d2e4896afe147d8c0389943828100061903a30eaff1dadd98d3e49dba56cdcfa5f215d9c615f974f4a0bc", + "tcId" : 4 + }, + { + "comment" : "long form encoding of length", + "message" : "54657374", + "name" : "RsaSignatureTestVector", + "padding" : "3032300e06810960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25", + "result" : "invalid", + "sig" : "1478337676aa47ca72ea7557facff06f6c777f56063f4487d345e43dc56a6bc5f8a891085d53a32c9d1c3cf7f469e7f56847b0b1b9b5b784526078271f21d0550afc40f81e2b8e8dec851d87511cace965edceb83cb96c8d6616e1ee75bb22c54412fc942a6f71c9fc609a31a69d34b774a97c1ba4f85cca28d9993db8543f75", + "tcId" : 5 + }, + { + "comment" : "long form encoding of length", + "message" : "54657374", + "name" : "RsaSignatureTestVector", + "padding" : "3032300e06096086480165030402010581000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25", + "result" : "invalid", + "sig" : "77ba423e600bdd761ed10e7c00698a87fe1322f5f42b2902a0be7a24b1cf44f613fa55edeb2ded0475f8e1a13e5368f9a2bfc4f2f926ef289a2207bf3689fc1c8ec3e5463064a7f51bbc993966cc4016319b7c95f282372f1ff848d7fca753a81d905b3341b0fbf60ba186e750f3171cfc84288eff8742bda432bd6c8dc04f9f", + "tcId" : 6 + }, + { + "comment" : "long form encoding of length", + "message" : "54657374", + "name" : "RsaSignatureTestVector", + "padding" : "3032300d06096086480165030402010500048120532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25", + "result" : "invalid", + "sig" : "9460ee79bb990bc3fe28cfca92363e6ff6900e3b61b3a402f06024a72b7a65d62094b4419e93900995eb121327f72b26b139bab3e5e2bd0c82e0cf6357f3b16f1c1dd4407a9a820f20e3baaa2259614d9ee3e015e1c1778befa13aff1e545ea1758cba4713631d63180a91b52df394294441642964a024f45b2251c90e002ec0", + "tcId" : 7 + }, + { + "comment" : "length contains leading 0", + "message" : "54657374", + "name" : "RsaSignatureTestVector", + "padding" : "30820031300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25", + "result" : "invalid", + "sig" : "96ac043d3cada45aed0dbdc4662dcf7855553a5effa1077048b51c7e9bfff7c2bb3486ea42894d4b4afb26a3b3bd32cb68d5c4d8ca2622f50d8c56fdc25baf83b9909ecb096419ddc13578dcc8121007f7204ee82c517ae03de70fa23ef2390602029a0cbc8a96c5b781d857dbf12802aa561f5f41ea35aa0babb91b9f891762", + "tcId" : 8 + }, + { + "comment" : "length contains leading 0", + "message" : "54657374", + "name" : "RsaSignatureTestVector", + "padding" : "30333082000d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25", + "result" : "invalid", + "sig" : "2a70643572a7cda975d9e2c0827837e60eaa78c297b1ff75b84f654a91fe33294ccbeda52676ece50fcc03018151e66c24940bd0574ab85a6599231d587f4a6e0ae841cb6696e7dcfd182cb75001304e36887bc4fe3b373828f8b0e62ac2300a626c9e6a2cd05bb7910e74da2978dae1948f855b3b455cd30367160e21581cab", + "tcId" : 9 + }, + { + "comment" : "length contains leading 0", + "message" : "54657374", + "name" : "RsaSignatureTestVector", + "padding" : "3033300f0682000960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25", + "result" : "invalid", + "sig" : "27778e39b45dee1e7003f1d315d3466fc111791187ddc056784c158df92097e123021e11918b6df8d905304db732e83d904bc914271b03def4ee129c3fc8adcc4f81b690e09e70e46c8b920093f304e64ecb7358740e976d28538a9eecf09ec1e1cd47df9107968207b21538cabe076bcc07c3862c46a793fcf638c70a972885", + "tcId" : 10 + }, + { + "comment" : "length contains leading 0", + "message" : "54657374", + "name" : "RsaSignatureTestVector", + "padding" : "3033300f0609608648016503040201058200000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25", + "result" : "invalid", + "sig" : "3a879e9f883b158908014f3617cae3315d47afdadd30840494f68d91c04dfe81bd16a40c7d21238cd1816928d989a232a3492325ab0f95d4426e3fb7d58c9908191dc557d8779dabb282287b7860c30e0796283428e0276447235809882ee990deb0f4312c01e7ddf0690406eeacb660acc6957bb670904cfd8d04df5e3ebda2", + "tcId" : 11 + }, + { + "comment" : "length contains leading 0", + "message" : "54657374", + "name" : "RsaSignatureTestVector", + "padding" : "3033300d0609608648016503040201050004820020532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25", + "result" : "invalid", + "sig" : "2b82155f363a3b283ae455f59e41c29dec2fbd8c7438b0e347aec5b38c7c895cb7d326870e4fbdb935fcbb561f223bd926dbe8b95ef5eaab27920dbe30c641e99f526a9bc356af54198b459b59383135a82cd5b6edab7da0b1a51d939b2f9951e1432d637c4f04a3546ed9c890143ae364602b94eabdaa2a45e4bdf0b5bdfa71", + "tcId" : 12 + }, + { + "comment" : "wrong length", + "message" : "54657374", + "name" : "RsaSignatureTestVector", + "padding" : "3032300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25", + "result" : "invalid", + "sig" : "1dda56dc953aeee7fd76ae7166d92ab9e3d1d9759e76f8f1d7634a73cbf69e39d8249153d7c2d83c9664db13552f0c78df34b8a67e7b6c10bcc61b5ead7ba62ce0ec7ba8ac78d146f7e4cadee6f6250e0bc3100660e7afbe3afa17fa288d97549b4c8cacc00ac5c942673485739f89c9e5e63ad2be97a8f2313f5c5b095e7542", + "tcId" : 13 + }, + { + "comment" : "wrong length", + "message" : "54657374", + "name" : "RsaSignatureTestVector", + "padding" : "3030300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25", + "result" : "invalid", + "sig" : "692c143b82196a391a3546607336e6f3bc047412645cf0def0d62d1b42234c14da138bb7f451b45073bbda2aba23412e83bc40d4e7de3e0684f2cad7d059f2d6831aa3d2ece4964ca75cd41dce23c5ba495c15345b36947b4b5a051fe1b84e148b5ae21f112d2245b1acbaeef9dc4a0c408829b9d2b1b5ab1d3a40af0a27b99e", + "tcId" : 14 + }, + { + "comment" : "wrong length", + "message" : "54657374", + "name" : "RsaSignatureTestVector", + "padding" : "3031300e060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25", + "result" : "invalid", + "sig" : "66c31a45b2287425a20f65c3eba9cc58c370882f5fc62921935491fbd516df9baf9b28304a21d9008b61a92779ecfb3b0c03f6d74354f5159956e3fc1d35bd7376289378f05d7a71e05ab32794f2566a54635e8dc64740acbe10a293ceddbebe8499b520f406023a134eb9927ebb788b92488f036d109ec0a40ac52372e847b3", + "tcId" : 15 + }, + { + "comment" : "wrong length", + "message" : "54657374", + "name" : "RsaSignatureTestVector", + "padding" : "3031300c060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25", + "result" : "invalid", + "sig" : "7b85536bdcda4ad3fc40129f2ff9dc85d9ec049913784064e7358686640446278a2006d93fb33429407597e5d8c783e3f7aee8a7791d69139f3c802a6547f01bf987415eec2447b0e8c4f3aee7ae2085d141fa34ca6634bc109dede93285d5c40cfcd98bd47ceb9cc1890dfff53b7ebb8038533580c7a67fe14c0c422e20cd64", + "tcId" : 16 + }, + { + "comment" : "wrong length", + "message" : "54657374", + "name" : "RsaSignatureTestVector", + "padding" : "3031300d060a60864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25", + "result" : "invalid", + "sig" : "5d77fba3cbb1905d83aa532fcc3227a95d7931bf0c2ab51f8118824de9dc029bd2470adf48b41c694ec7359d00a1336990c30ee368dd40bd681ba74794415d3997e7a756659397bf6abd44ca91c12a8580a3f5d1cdbc7f3be0c23c72334ce9b1419e6540dab73f5ff8ab57d0bbbe92b688bd3495f9344822b622042c2491bc41", + "tcId" : 17 + }, + { + "comment" : "wrong length", + "message" : "54657374", + "name" : "RsaSignatureTestVector", + "padding" : "3031300d060860864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25", + "result" : "invalid", + "sig" : "7b5476fb78f389d1131764e7a13322f86008924c8c098f6d74f2df4dcc5a504cd786b3eaae33295cd1e87a2bbd1a06cb385674d465110a9a990d52de9a67f1c13ecaaa86383d489423c084fae9ecd2e9b109f4f04b8c013e3409128f3a079c068c1ad27bc2a20e76ad149325b7b0f0bd804a4e33949a98aac49076260702b0b0", + "tcId" : 18 + }, + { + "comment" : "wrong length", + "message" : "54657374", + "name" : "RsaSignatureTestVector", + "padding" : "3031300d060960864801650304020105010420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25", + "result" : "invalid", + "sig" : "6034e1253e4860a29096e392076794cfcea166a30b340cc09f77baa5952c06d148bd89b750c3112930ef210a50a7d3f6569da89912b5e50e824116e73a15536958f75779506d07e67ec9c0cd8de4b51dfbb0fe56926feed18ffbd83b0cdd50d56326c54adf97e629378ae5f0f02fcda3da1aa98cb1d1990946edec711a85a0d8", + "tcId" : 19 + }, + { + "comment" : "wrong length", + "message" : "54657374", + "name" : "RsaSignatureTestVector", + "padding" : "3031300d060960864801650304020105000421532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25", + "result" : "invalid", + "sig" : "a44cd265e1ecea83fc74e9eef746ef173277cc96f69a1798590ddee7ce5b5c34a82ad58a5c042db19005e04eec4159900ea764c0d008c52b94577d1c438661fb767902d9d1bbd6a90bdc4df685ec5951eac81d8b4dd36bceef7b6f919e85b6c994c7cf22a804f15cebe63b77f47b3bc2c2aaa68c6362c27a574b849efafe72e9", + "tcId" : 20 + }, + { + "comment" : "wrong length", + "message" : "54657374", + "name" : "RsaSignatureTestVector", + "padding" : "3031300d06096086480165030402010500041f532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25", + "result" : "invalid", + "sig" : "a160aa43f4873cada34bea5ccd2be9dce07940ee1c08eaad524a5019993bc753ce92cccada706b483f106ff20b327b35e7c83955ad3bbff3f26ced3489877d1b5bf285d61afcb30219c02a440da61030e301aadb901a525345d1a651a21c31a62ac9fb71738c3e215a8941ca9a3c4910679c5e774530c28788f6eddd7a31c024", + "tcId" : 21 + }, + { + "comment" : "uint32 overflow in length", + "message" : "54657374", + "name" : "RsaSignatureTestVector", + "padding" : "30850100000031300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25", + "result" : "invalid", + "sig" : "1369c78f816a9baf027e255de0c258125be90f35b8daafee87f2ffef2d465e0694af4401cc5cdc7ca78b08d5688ceefbddc02abc5495d47c6829d696f8370ea427e7e0225eaf22cda720bbb5881edd16b19bbf2ca86654c65b4ad481c13fb38af00d77922f46b311f936c51f4610f6bdb514b366aa05f029c1e63e3cfcf9763d", + "tcId" : 22 + }, + { + "comment" : "uint32 overflow in length", + "message" : "54657374", + "name" : "RsaSignatureTestVector", + "padding" : "30363085010000000d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25", + "result" : "invalid", + "sig" : "41d4c1ea43cb207af8bfc1552e31da7ca5744b68c4e00c3bf55f4edd4c81e91c01f44fa05290dbaa1fdcdcc775f6032a049b4965345c16aac6994b06cda9e0387dbff96cdb115e014f69bb057faca2f618c70a31edd0beaef7acdcc0fb7c83b2f07a8b9de48aa04b7c973920af5b8dc20aac343251ddf4c2277985c3db1dac2f", + "tcId" : 23 + }, + { + "comment" : "uint32 overflow in length", + "message" : "54657374", + "name" : "RsaSignatureTestVector", + "padding" : "303630120685010000000960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25", + "result" : "invalid", + "sig" : "76bae6c330b9ab33aa9f2abe8559c51fb95f953a75e48053ab99078069214b509dd1b5080ac6819e32912619372d71a9ff1a67449dd699e5bc6ec0e18d1893dfb5bd571d933926d05b0d9fd7036ba4556e209369d1c57ec49cd9075e583c257c6fd4899c2a8bbb157547812cc692f264bf54712c71ee090b974d99b4d1629696", + "tcId" : 24 + }, + { + "comment" : "uint32 overflow in length", + "message" : "54657374", + "name" : "RsaSignatureTestVector", + "padding" : "303630120609608648016503040201058501000000000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25", + "result" : "invalid", + "sig" : "3480a5c22f092f259b5bc4fdb9a33c044c24a645b57d61920effde1dc0bbfe53738023f16025841f9323b40f72c11091941bbdfaf7c2fbf77ad6626dbd6a3b7abb3ee916d96a922b11c86ce80ee67dec619bb98e9246d35a33b11b3a4e2a3a130e8b57ed4bcdd4b4e73aec3f9e3d50d3db5e29cffeb186846c72d09468d018ed", + "tcId" : 25 + }, + { + "comment" : "uint32 overflow in length", + "message" : "54657374", + "name" : "RsaSignatureTestVector", + "padding" : "3036300d0609608648016503040201050004850100000020532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25", + "result" : "invalid", + "sig" : "5b3d3a198d4b36c6d9641db181fff59407a25bf1571f85e47bad1eaf138079872b93b9eb51aae09b48d6f4ef56badd96a6584277d8f3c6e4a4e11275f72021b50a1665ddaaa56a2a7caa7da6b4d502c5214e17042811154d411dd2197c250264bb69ba43adf668d4f7b81d932afa55e378214bb19ddeb431f702a91dd11e23bb", + "tcId" : 26 + }, + { + "comment" : "uint64 overflow in length", + "message" : "54657374", + "name" : "RsaSignatureTestVector", + "padding" : "3089010000000000000031300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25", + "result" : "invalid", + "sig" : "1cc5577d04e34550e7f3d136064547efa30b9413e2c423b5a320eaaaf11cbebb91e13bbe3874e4650e057a8e38c8a366c473f35e0de82b22f846721a09e3f279ebdf54c8df395a9041333f09cb7bed5291bc1842857c4ce6ad5a1c2c476c1efddd5fe42824c25e0581aa7bb8f621d3b53566637c6266bb1bd0a5b7fb79c72616", + "tcId" : 27 + }, + { + "comment" : "uint64 overflow in length", + "message" : "54657374", + "name" : "RsaSignatureTestVector", + "padding" : "303a308901000000000000000d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25", + "result" : "invalid", + "sig" : "6e56d1746105344b34fb8299d173f4a5032cbce3556ca9d1eee35f8b31818efc121a1a9599c24fef8531243016dd6288d67b4bf9fdbf2c90fba5b1661be03531b5e15385ea465d1376010f0af761e8fb1afff7823dcef8dc100d97c192e9a7d03c82321d83fd8ecf67207c65cf182e1104ec5669536070cf1e3fe73c5e27edeb", + "tcId" : 28 + }, + { + "comment" : "uint64 overflow in length", + "message" : "54657374", + "name" : "RsaSignatureTestVector", + "padding" : "303a3016068901000000000000000960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25", + "result" : "invalid", + "sig" : "37a413f9202591b8860cd9d68515ab522ae800e9a71793b479f1fb74ab8c9b07e72fe82dabe1189d028b813610e5e57c055af2d32837551fdb0cd93d7669a3c02a14c460f4c92136a4d11cfb7dcc76401bb5b699fbc64d302736d68c3591ecd59220107cd63f55c83edd38c4568e6f7749c0d9baebfb7c8ae1bf2179101745a9", + "tcId" : 29 + }, + { + "comment" : "uint64 overflow in length", + "message" : "54657374", + "name" : "RsaSignatureTestVector", + "padding" : "303a3016060960864801650304020105890100000000000000000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25", + "result" : "invalid", + "sig" : "9fa8aac224bb50697103d457e7fc870853b23670ee5b8c7395d68ed82b30db18ae34a569abdcdf19238ffca8f5e435327dbe605bdc1a6dd3eaa3c2beb33f00642984a2034bf3b3e8de3ec7009e35069d5b27253c4aadcb4f163148e157252e3b9334abb6cf0299161c12908529f52de9416ec6218af7a6963fcc987c5024ea71", + "tcId" : 30 + }, + { + "comment" : "uint64 overflow in length", + "message" : "54657374", + "name" : "RsaSignatureTestVector", + "padding" : "303a300d060960864801650304020105000489010000000000000020532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25", + "result" : "invalid", + "sig" : "0f50bc6b1b94aeb6805dee51c92860693de47c4925ab90b57a46e0485a9afeed45083eade73bee684cd07048e632d1dd24aa2efc42c1f85e4fd7b7058dbeafb53a3d5b1cb1e7dded3352c3c92ded891839263a501afaa78fedfd04546c43d16f7a52b800abc9ab1ef827ae0eb19d9b52def2435f1477a48dff61800b4db830e4", + "tcId" : 31 + }, + { + "comment" : "length = 2**31 - 1", + "message" : "54657374", + "name" : "RsaSignatureTestVector", + "padding" : "30847fffffff300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25", + "result" : "invalid", + "sig" : "9dcc651cc0a1b4d406112c0d1ebd7a9fb5a2c9d9f9cffbeab2d2821e5ed01efa9d191665794649bd1f588b729e8fba1eaa37a5a736a5863973c338a92b2665d6ead13b72a19d2da778febb94b150e8d750340a3b856fca8b3b6e3cbfecb9c397c23f46912ba546ab0f64ed88404ce317f8fb2278b68950e9712d6b11f5cdfcaa", + "tcId" : 32 + }, + { + "comment" : "length = 2**31 - 1", + "message" : "54657374", + "name" : "RsaSignatureTestVector", + "padding" : "303530847fffffff060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25", + "result" : "invalid", + "sig" : "0397d14205c2f52423ef69c874294dc2b37d5be5d5647f7e83f1dd6783cb41cce52e6de1dc8c9e93ca1ef887d4c0ea79cd8b26391d638bbd8080bce830bf1bd7fb1de31346f28d609874fafd4a34fb7bee900441f55589ec3c5e190106d8816cadfcfb445834739cafaaa3903ed93cedc41a76aa0ce18fb49a3a73b7b5928735", + "tcId" : 33 + }, + { + "comment" : "length = 2**31 - 1", + "message" : "54657374", + "name" : "RsaSignatureTestVector", + "padding" : "3035301106847fffffff60864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25", + "result" : "invalid", + "sig" : "2c3ffd881c1c0ce2e4c98282d6011179a89b1e84b17072bcbbb64164e5e05410d0414a1fdbbc04564f3d80f3891f28c3f02e92bf97b4339b5bd4699614e236d4223cef0688c44b297eb9c0e22246b4cb28983b102a446dc76671206c3b77af6897f2f445512abda37bc9c37257dd4f1c6f0e6ec40929eb6b0058682b9d2f6c66", + "tcId" : 34 + }, + { + "comment" : "length = 2**31 - 1", + "message" : "54657374", + "name" : "RsaSignatureTestVector", + "padding" : "30353011060960864801650304020105847fffffff0420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25", + "result" : "invalid", + "sig" : "668bd06eafe953fca6a17b0da0f9006ceadb09ad904786b7530148df7eedc146d20a5472c39677d65e59934c00227fb662b3474596e6072f56d2c00c3d31e66f0da85f4670e75c3f2c910c0fec8c98bc31fb2eceff80350b78aec0d316e9bbb331544d8a3d0b1649291396c717e350bebba3d3c3a0b1d55f010879b8c7b7d4f9", + "tcId" : 35 + }, + { + "comment" : "length = 2**31 - 1", + "message" : "54657374", + "name" : "RsaSignatureTestVector", + "padding" : "3035300d0609608648016503040201050004847fffffff532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25", + "result" : "invalid", + "sig" : "87482257ae1d18d0357428b756ae35a48549536a3439ca3c148eee64f4c096d896219097d55c14a25eb1490779f6b1471aed238cc0d6aaf265c12ac086d04de9b79a37518056dfacc12cb4916c17505fc7e2e6c1e0db720a286ea65bde4d3da1d2dcb8d0276e8ce73f3f923209149955285c602572cfd24c82e8d96d45f569e6", + "tcId" : 36 + }, + { + "comment" : "length = 2**32 - 1", + "message" : "54657374", + "name" : "RsaSignatureTestVector", + "padding" : "3084ffffffff300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25", + "result" : "invalid", + "sig" : "03aadd447f36952dfe73ae89e5c656b7d37ec92535e547cca62a7747f3831f2f613c7dc094f3d5c4c6b9e02b21ed4626930ef3948b42ed41f4cf468d2474acadf1c75599c5619e4872e6d3dfd93abe92234165135ed265e0c0f64fddf23e50c1f9fdcede8778a8ca008ab00f8afa887da3f4699df9f1140953232f36d035b03f", + "tcId" : 37 + }, + { + "comment" : "length = 2**32 - 1", + "message" : "54657374", + "name" : "RsaSignatureTestVector", + "padding" : "30353084ffffffff060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25", + "result" : "invalid", + "sig" : "31afd9a0d827755352b16de04de42e98a8c72f08919ed475530a00c762b8a03bde22634dd856a7eede4b4947d780cb3efe55775e16d7f46f209dbcb5569b2d9469cc271aa850f74960f7c741928055925349821e32e1e0fe5a040010a39a4b6a343f7f35c204106b3617e528a99dcaea8a93766adcfe7be31cdb98f7f7f14669", + "tcId" : 38 + }, + { + "comment" : "length = 2**32 - 1", + "message" : "54657374", + "name" : "RsaSignatureTestVector", + "padding" : "303530110684ffffffff60864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25", + "result" : "invalid", + "sig" : "16ac0aa2d727ef5fbf0305259ee6fa40827c92419f819673fd64cc2dc2dbfe7ce1cfcf06e26d45f59cb3d9afd30d7a6265863fe856e0a0b1b9508b1e7a2dfb0f87f5ebfc444bbdae504abde7daa33bffb991551940df682c8e2c45edef0563b34d4f11e1955e83c2145ee321165517d1532abd64dc613a280fc30670bba1f898", + "tcId" : 39 + }, + { + "comment" : "length = 2**32 - 1", + "message" : "54657374", + "name" : "RsaSignatureTestVector", + "padding" : "3035301106096086480165030402010584ffffffff0420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25", + "result" : "invalid", + "sig" : "0fe0c75dae62462e66e7277b03c9113727419f7d4db7b2a567c0c189fb6328e1f73d5d44e2196b436f4c2f0f12950d419774c8a51c55f9b2217f904c4f03d5f5754174719dfb85f62795ef75e6d54e703bf231fd8472250f529f85294f29f6c5653ef585079c3b3d8f931da80a46c8afeef37696fb0e7986d413bb1996b8ad57", + "tcId" : 40 + }, + { + "comment" : "length = 2**32 - 1", + "message" : "54657374", + "name" : "RsaSignatureTestVector", + "padding" : "3035300d060960864801650304020105000484ffffffff532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25", + "result" : "invalid", + "sig" : "9ef993e6ccf015b0b0de75b51213a1c3efcaf66bf83655287484ef28d984806226a7af1704fa6a7fc02984b44449f83ae24761021e49ba6117505c1e609406b002215de27d696643c3354fb48e6c64e7300944edaeb96e4872275f75532f5aab94358d4954522fc7903439e99223d8124e79a3f519050b6b576b77d5abe7c3e3", + "tcId" : 41 + }, + { + "comment" : "length = 2**40 - 1", + "message" : "54657374", + "name" : "RsaSignatureTestVector", + "padding" : "3085ffffffffff300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25", + "result" : "invalid", + "sig" : "0fbc20d18ef2dce383ef9640232e44fc287cd97bdb1a18614a77a6d72da5db05df264fff4964b3395445a5b75f4098be8c923ec613efa49e87877c08ce52e9e8b491eaab77ed2336179f1e447bc53e0d9fb9cbd2f2c5e180acdc946df4cdb0a878f27dc010adb1d080330e0bed852181bf97dc4372049ac6ab5802c0d650ffa9", + "tcId" : 42 + }, + { + "comment" : "length = 2**40 - 1", + "message" : "54657374", + "name" : "RsaSignatureTestVector", + "padding" : "30363085ffffffffff060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25", + "result" : "invalid", + "sig" : "3df42c382b86647a466ffc743dc4713259bd7dfdc909939738e59e3d1eb11d104537762c50eb55d4677a005f7f925ffc7ef0751ffe0c4320a6cf0733e738a404b2672f3dd11fa97bf9d84b786a47c63bbc962d52873765a6de3a57590c2cec68118af81d7dac4f7ce6c101811f2fa364a34fe704d674be5a28531d6e8c4fe120", + "tcId" : 43 + }, + { + "comment" : "length = 2**40 - 1", + "message" : "54657374", + "name" : "RsaSignatureTestVector", + "padding" : "303630120685ffffffffff60864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25", + "result" : "invalid", + "sig" : "a66d9848a3db7e49d8053c4a3869415c0bb58fd265276c99a66ed1df84e162cfe8f0820229d2ac2f99d9753eed39af46649409cf559ca6edc8c47e550b7a4cf24fac756389e365ad73ddfa67e72d042ec494644c5f277f60864dc90d6cbfdf556396c795192077f51f173477b934871e2a960f7ac3e6e8c8039956a5061bccf2", + "tcId" : 44 + }, + { + "comment" : "length = 2**40 - 1", + "message" : "54657374", + "name" : "RsaSignatureTestVector", + "padding" : "3036301206096086480165030402010585ffffffffff0420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25", + "result" : "invalid", + "sig" : "7561668d5b2f8fd3190be8244d4d0550043dc0a7e80dfac83eb6f6ddbf448d424082fafc332e473d434b37ce7605352594ce632f4d5de30951581af907fff6c01814022c31a31b3d130673a56b4ef7763bad595053af0174df395b802722f5046e408c978e2b5a9a63f8ea80e932f76513928253f432c8bdc7ee51872d315b7a", + "tcId" : 45 + }, + { + "comment" : "length = 2**40 - 1", + "message" : "54657374", + "name" : "RsaSignatureTestVector", + "padding" : "3036300d060960864801650304020105000485ffffffffff532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25", + "result" : "invalid", + "sig" : "5a836168587968425c4e103bae20603e0ae6f714ccdc603a865bb3541b65eee9dd0d9ee21cc66c7a83403fce2413b97f1c1239947e94614f6f2eb731387c8b9d956242bd9fb0545eb2c874ca1a167222034649894b41fd0fa935cf52e583a5e9a4b503cf9f2b238c025bf2e22ed78e7a64bcac1d38302cc2361c71b854e79123", + "tcId" : 46 + }, + { + "comment" : "length = 2**64 - 1", + "message" : "54657374", + "name" : "RsaSignatureTestVector", + "padding" : "3088ffffffffffffffff300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25", + "result" : "invalid", + "sig" : "97c602416f2131d34f2a57acecf26365a30c12f77e5beac095533848ce227302092c6f44b47f011d6eb0a91f8024d1935d8bb274c42b57875115a94281fd3cb198f9334758d3200c1c721f6babef332c02a89968a7089f7783993bdd54f809f8372437798d2364040c1faabfb00faabf28cd6ae4ffea29ae2c08a6a7e6074700", + "tcId" : 47 + }, + { + "comment" : "length = 2**64 - 1", + "message" : "54657374", + "name" : "RsaSignatureTestVector", + "padding" : "30393088ffffffffffffffff060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25", + "result" : "invalid", + "sig" : "2a970dc291a1dc935cca6985dda703bcc1ece2e40817ce8fa79b6e8fe84e113686e6e65570d46bf22147bcbc389cb5f86f92dc185f556d15e7614cef119fcd7305a31fd2f8710812f35f9f0bd8a1a6e5be3163de644370c67181b7575635dfb9f717f78631d62db714b2a19cea7079ff13c8926ae0c601e4befb6541b02a7e20", + "tcId" : 48 + }, + { + "comment" : "length = 2**64 - 1", + "message" : "54657374", + "name" : "RsaSignatureTestVector", + "padding" : "303930150688ffffffffffffffff60864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25", + "result" : "invalid", + "sig" : "6e16d110235cd11e32b114ca9dac0cd6a1b041a6d2c61941d49bb458241281f62a4e2b1bf3cebc3e67e8c062ec67a51a599a553b09732e23e1d09fb2b20be7fd311a7122414d535651718a1421d4239276c227b96506729a09e3ff2779dd1c79de4d402623039b826e2bb4d26d1b56775fce14ed0203a9ebd8f042d981705a77", + "tcId" : 49 + }, + { + "comment" : "length = 2**64 - 1", + "message" : "54657374", + "name" : "RsaSignatureTestVector", + "padding" : "3039301506096086480165030402010588ffffffffffffffff0420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25", + "result" : "invalid", + "sig" : "0716d252488e08f10a25cec94714e6105bd4e13ff019431190864cb0f4378d315f4bd0fdf186e1f2d45a6e97eb04fb2013273e178ce4f82a0b67bf9d021b1d8ab73d753adf2073ee1ad6190b2163139db63778a3670b7cce23f45efb601bd59644a431cbe534ecdf4c4c58ed02ed03863ee32d296b5736c010305fec655b1a44", + "tcId" : 50 + }, + { + "comment" : "length = 2**64 - 1", + "message" : "54657374", + "name" : "RsaSignatureTestVector", + "padding" : "3039300d060960864801650304020105000488ffffffffffffffff532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25", + "result" : "invalid", + "sig" : "03e52a2ed638bfb9184a0ee3698502af3a19bb959a984957de5101e6f7a62cccc2ec2a6293fa9d76fabf3ce7e4bf35c65a5f864bc003686a1e05b57c5af6ad588e05a5225479422d7b78c5bedddaec7f4b8c1e9ab7478c1ee253847324e025434b76a01b82a40123ab31ec9862c6016885dc6cbfe97801503369fd3688bdaaf8", + "tcId" : 51 + }, + { + "comment" : "incorrect length", + "message" : "54657374", + "name" : "RsaSignatureTestVector", + "padding" : "30ff300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25", + "result" : "invalid", + "sig" : "9c4217830da16424a6c80a62e1e1cc0c589e3324267b4498e89af96998f83524b67c703e46860ca55631f1e659096366b60557dbbc8aa8a3a7ff6a887f1afcc55d336458ae25b015061adc391b8a449a7546e48d7e1d783e5684730333b0e2a32c13d36e342e31a9c1c447c0585545e08ce4f6340529413aaba6872280bbd7a7", + "tcId" : 52 + }, + { + "comment" : "incorrect length", + "message" : "54657374", + "name" : "RsaSignatureTestVector", + "padding" : "303130ff060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25", + "result" : "invalid", + "sig" : "5aa35d19b312de94d0123619500c15ec79fd838f6f18e75e79a11e50d0eca9406ecb38de68e11cf107f80ce2d62573bd1e4062fe78f30cf4bdfe9bb571488887d9dfaa2d6031f3b7efdd0dd78f04d980abfe641f490faee10e86dcc9b729bda0b127b448d33b1e1b76373794c284d1aecb5b813a2defdae3723eafaaf3606eac", + "tcId" : 53 + }, + { + "comment" : "incorrect length", + "message" : "54657374", + "name" : "RsaSignatureTestVector", + "padding" : "3031300d06ff60864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25", + "result" : "invalid", + "sig" : "971daa114a33b412a3aa1c3a93d5e1cb9810210019fe4e6dd0c70361a99f1a0676563bca2a05915df2ef2e38cab387ea16405d371d1a382ac286f1f97d4fdcf84464413986d54d6e2c7aeb8d5afffdc6de31684ecc7df721957d331bfa588a5f2a65c52f29ba5e4585bc69539e1945f1c4306f8d664d9cedde6684254ac704e0", + "tcId" : 54 + }, + { + "comment" : "incorrect length", + "message" : "54657374", + "name" : "RsaSignatureTestVector", + "padding" : "3031300d060960864801650304020105ff0420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25", + "result" : "invalid", + "sig" : "1f5bf49483eb6f33a5575ec2a8d49388523ee41223210f05e1f9f73bcb5a8973dfaa0093247460885f034e4ed7cd888c63f9f0f74dba7065f00cbfe5d9cc0dc7aebd7893acc3f32d5cc03763b59a0a846554ef58569f153301dd6080d428c8330718e733b92e76367f4eb75213de1495bdb1a5743deb55a77919adb45bb6bc4a", + "tcId" : 55 + }, + { + "comment" : "incorrect length", + "message" : "54657374", + "name" : "RsaSignatureTestVector", + "padding" : "3031300d0609608648016503040201050004ff532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25", + "result" : "invalid", + "sig" : "7bffc77cda9ff6bfbbd5a92fa6d4cf5a9f48a083c37a9437e5d82c0ad9f625aac8917c8df8bb4db5ef879431bacf360399c6607711082d6bfc5264f40631f2a742a3494c039146c3f41c7b53aa754afd35410a0a26c6957dfec86797268861036bacb5dc8fa6ca2893b26a3e4b186d4ae774a3822aa1e99ba4bf6bc3d53b2c99", + "tcId" : 56 + }, + { + "comment" : "indefinte length without termination", + "message" : "54657374", + "name" : "RsaSignatureTestVector", + "padding" : "3080300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25", + "result" : "invalid", + "sig" : "3e461f3131735907cec3208f19a7ecfaa8f3bedf587d1c586773899f3fed55cf669ba736c9478b93ff058fc063e62433bb0da4d6da8254a00a6b1e1527dba86d89ca412cb952a988009d8874163683e729c7544b9c83e07b77467b4329e04bdee552ab0513f92dcc7376ed59718b645b50bd50661c783d559eaceb12f7bf5d10", + "tcId" : 57 + }, + { + "comment" : "indefinte length without termination", + "message" : "54657374", + "name" : "RsaSignatureTestVector", + "padding" : "30313080060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25", + "result" : "invalid", + "sig" : "81312384fb68fc608aa019df2a251d5a77dbff379c99d2804bc5ea766f051a80dcab2f63ec0b60d2b26391b35a83a5b75c7449fb0b32bd28d78f1138dde33b223d141e293bf007c5d028b34cd6055a4ed7aa31881c8514a2a091690405f8a708da65b34730233168dc08cd81733d2717db133f5d54ada593184bd008e5a7f016", + "tcId" : 58 + }, + { + "comment" : "indefinte length without termination", + "message" : "54657374", + "name" : "RsaSignatureTestVector", + "padding" : "3031300d068060864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25", + "result" : "invalid", + "sig" : "1d1150ce975992c50b3cbe98f2373621929c7a90f8dc5a9434a06159fb614acdfbd09851b297505db51aea8132a8f082fe72ea23099aea18494d2a73aaa6b9b6b04ca6d20a88c5dcea917f92c5df7943254fa9c3b1e7eca05a2ae2f796726d9296c880cf0872b8c32082a3a42b9cd099d286b586b0efce95908c8ffd27835572", + "tcId" : 59 + }, + { + "comment" : "indefinte length without termination", + "message" : "54657374", + "name" : "RsaSignatureTestVector", + "padding" : "3031300d060960864801650304020105800420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25", + "result" : "invalid", + "sig" : "7c64ae50883b449f68f941c9892dc1e1f446bc3a779ce9906bf5f6751dd110162ee03a99d1b556ff380f176263846e76aea5e7078927ec6c076a79c64450f6ce8e7a9faab4040a31c145564107120cb524451e4fec4b1ae3702d0b063c660031b61fb6c2d0cb46d17c5f4605124057d5ce3a0ded2019a14718de1374e0e87124", + "tcId" : 60 + }, + { + "comment" : "indefinte length without termination", + "message" : "54657374", + "name" : "RsaSignatureTestVector", + "padding" : "3031300d060960864801650304020105000480532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25", + "result" : "invalid", + "sig" : "65e61f63db5ef3a5de4a11aa39e3f4a6d3d952336c19f0fd60255b376d459d318fe4234a3a6c883090617306f98659577f7670054fc4f2d4c82bf7fde24bd1a231c71644d487d65beead86828e48a3e081fa6d4666b86b899ea57c99a67c0ae75947f2a4e5dbce3025421b3213224e29a55faf0cab8d9411b629baabf7c9ba6a", + "tcId" : 61 + }, + { + "comment" : "removing sequence", + "message" : "54657374", + "name" : "RsaSignatureTestVector", + "padding" : "", + "result" : "invalid", + "sig" : "5df1c4a701c6fc1f2daf6f4538f29c3452667424c05edcbdaba4a1678c8b5bc0e89656a0e48aef46642e0bb597813688904e9d74cbd377a3d9d2c965bd3ed06f136f10367ea3eecf89a97508389448a31ae0e79ed3725d0c4e99a516daa4116479bc53da5d7c2f26c7ec6310d4cb4174bb781405630a9b1c147b0e1da3a7faf9", + "tcId" : 62 + }, + { + "comment" : "removing sequence", + "message" : "54657374", + "name" : "RsaSignatureTestVector", + "padding" : "30220420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25", + "result" : "invalid", + "sig" : "3e43837b92ebe4df08586fced3dce46aeb2fdb6ec2bd0c58e823f6e6363b9b676786929d13ede60a8d8d0daaf71f0de8880ed0fdac8706eb2f324394145818b641d1049cc7552bc6273d86e901099c78297381faec5c518fb6de429700f3bbfef76cdecbb60088b9f2a77d75b8ff86f06cf23850e3183a267c0ea34f4f839015", + "tcId" : 63 + }, + { + "comment" : "appending 0's to sequence", + "message" : "54657374", + "name" : "RsaSignatureTestVector", + "padding" : "3033300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e250000", + "result" : "invalid", + "sig" : "26d20fecdcf0b7d6a0472754aecbe115c39d580ce9d78b67d1a6395aa6ce6689bf6d0d96545341fbf04956a48c47f7d30bda017acb1d8e24ce596aacd3e05b1afa571d19f5316142557f765e4c5d080bc5336b79e2c02d8833d076ac9d7794ffbe85c66d0db97e1f5bd2ecb46afb15c19a8fe083fa593420e996a483c2a3a766", + "tcId" : 64 + }, + { + "comment" : "appending 0's to sequence", + "message" : "54657374", + "name" : "RsaSignatureTestVector", + "padding" : "3033300f0609608648016503040201050000000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25", + "result" : "invalid", + "sig" : "1163082ba8d48352df7eab96a0067539faff24374a630aa4393461a0aac716606625d706699dfc22cf3aff89fcc278f83a0adac87aa0bf192dd86a97031515de1933a23849478ebed20e4203abfb47345bc18f38da5d45e829997b10107c536999b2ce10b2781e1db03e10cc2bdbc2e0ff4c3db5d271ce83c1e7e267e7c1e107", + "tcId" : 65 + }, + { + "comment" : "prepending 0's to sequence", + "message" : "54657374", + "name" : "RsaSignatureTestVector", + "padding" : "30330000300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25", + "result" : "invalid", + "sig" : "0ded592bef1fa809841e0d7365e66af12f4239be0928656e7c49a043b9f2b18b9bd2dfe93a810c6e6c8ae6cb8a5c9d6e9d39a96a10b3bbdb92a7b8f575c2db4841c1b628160f956f54e0c58d3b6fd4d640b0a06d39476daba7be04b63a75f38bbf7517d9751d2b12d2dc00e44de7263275dce6b0c0af65d3c04878d6fc1be2ac", + "tcId" : 66 + }, + { + "comment" : "prepending 0's to sequence", + "message" : "54657374", + "name" : "RsaSignatureTestVector", + "padding" : "3033300f0000060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25", + "result" : "invalid", + "sig" : "95a42e5d9bd9ad5a8579444e8167bdecec16116a7900117b298c82d5560f1d16e9fbe963764727fef9111f2465e66177b576bdb8c70a58e3df6ff69edd2d6827c97d626b09c24cc49f223cd5d2db2916c54fd8f2ac7301723449b1823f2ff48c56849f7d608312d4bb7a97f90ba218f99cb773fba0a34909618f5d25854d7687", + "tcId" : 67 + }, + { + "comment" : "appending unused 0's", + "message" : "54657374", + "name" : "RsaSignatureTestVector", + "padding" : "3031300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e250000", + "result" : "invalid", + "sig" : "2344c598a8905b350f20de5cf0cee60253729a54be45b0b19acc109ac15862efab2e7c96e92bc990ed6959a40d725c24c25c8d223a46f490905c1448d8dbf7c9c427bc2e896bdce6d2c1daabdc93ce177f9525ac69d899bded12443338834a16d885456057461740c5140cb9a89a017851f9e99e38c1727fe5ccad9a7a8709d6", + "tcId" : 68 + }, + { + "comment" : "appending unused 0's", + "message" : "54657374", + "name" : "RsaSignatureTestVector", + "padding" : "3033300d0609608648016503040201050000000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25", + "result" : "invalid", + "sig" : "a08cbe4009080f73cef03116ea949d1dbacce7025f7f61040fb4e052754d5b2d74c2dd06c0dfe1d09b97aa5739c809bec6d8cb27e852e9fef353bfa32964b99495a6dc63d6ce77460ac280c74c0cabdef794f74930f7f8827af1c6690d22ec2df3af497837bbe900a890e3feeaca2c0d16b0017155390ff0396a35ecb62b5992", + "tcId" : 69 + }, + { + "comment" : "appending unused 0's", + "message" : "54657374", + "name" : "RsaSignatureTestVector", + "padding" : "3033300f0609608648016503040201000005000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25", + "result" : "invalid", + "sig" : "500df36bd7d0b56642e2d5dab6e4ec0b148e7b8673cfab40e45c5dad5efc469b3321ce027a3a7ff5689366a18a32267d161a1266491b055f11557c35bd0d4f43df11b8a26f7b13c54be423b87b30b1dca956151c3ec3df03b30918a413179b0e064bf434736b323408e3f1330743c8bdbbb9d466dc1e21710c12e2e3b638b172", + "tcId" : 70 + }, + { + "comment" : "appending null value", + "message" : "54657374", + "name" : "RsaSignatureTestVector", + "padding" : "3033300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e250500", + "result" : "invalid", + "sig" : "11a382fe570e0cfeb515955b70ec89a9353cda0c5a5d3cfa3e16e41340eccaa18ba21ad87c4a54a7131c4a7cf9afed68b1c1645568bab9b0fe7dfe0437abbe1fb6cf06bb690f46aa2eca034093ded661c38954341f3f35abe484015150307ecafd06d4309836771dfe29bfe56350d68725e0cd02b1479c6f99eeba2d59f40626", + "tcId" : 71 + }, + { + "comment" : "appending null value", + "message" : "54657374", + "name" : "RsaSignatureTestVector", + "padding" : "3033300f0609608648016503040201050005000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25", + "result" : "invalid", + "sig" : "110f3f188df46da58cdd46b5d460ba3d2f8d00d907289634d52a3ce693eb232cd6db738c48c8aa22d923d4f81d55925b3d4ff29ad9869f97a244d37b860cbd4646c6318c041729a7aaf473b61a93cccd62fe223d1be00364f03d722f43c7beff98c3fde573e7e6a0ce7d4a2a4bcf279765e29769bd4f884ce41fb808ac3d541a", + "tcId" : 72 + }, + { + "comment" : "appending null value", + "message" : "54657374", + "name" : "RsaSignatureTestVector", + "padding" : "3033300f060b608648016503040201050005000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25", + "result" : "invalid", + "sig" : "470416ee76f0bbdbd2812b533813e4463b799f4036e6955f3e174f6287e3c73d57c32875607e2eaf06d612cc85170ba5df31286edb645ae9ceb9e62064050f3e7f6b36fe8fdae7a3bd89b6acc523c923b9d3f3e5f57d80c9100b39dde75caf46adcae56668149ce0b80762bc459ac598241dd79c6b4fe0220ad53e3c591243fe", + "tcId" : 73 + }, + { + "comment" : "appending null value", + "message" : "54657374", + "name" : "RsaSignatureTestVector", + "padding" : "3033300f0609608648016503040201050205000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25", + "result" : "invalid", + "sig" : "100714ee0d38c541c2632e96885a7ce0afcb22f0cbd84c556f19d1b44bce75a8fdf141e975dda1812b4465050d4615a51c3b9816606c7ac88d6b684df938e7a8852835dcf5bf0ee45f2e413290691832095af77eef0e7a86f72167dbb03758e68561f7f06afc6e902ba19fad57e00cb43c0fb2a5ead689a146c79c9e6188bd85", + "tcId" : 74 + }, + { + "comment" : "appending null value", + "message" : "54657374", + "name" : "RsaSignatureTestVector", + "padding" : "3033300d060960864801650304020105000422532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e250500", + "result" : "invalid", + "sig" : "44eaf5ded57ac5c25c17eb31c2e071400b46b9022641347b2edb0b14efbd4eac5f71e4bfbe791e164c003667387e57ae22c6b00e69971d7245e381f6459e5f88d9dc0fdb385b777fe99e5e4d79aec057e41a1e457fe2b91a5f4a8878d2eaa1c3ad8393d281eca07ebd287364a19045029fa7ed0e62a21e5e42a88a52ea4abc8b", + "tcId" : 75 + }, + { + "comment" : "including garbage", + "message" : "54657374", + "name" : "RsaSignatureTestVector", + "padding" : "30364981773031300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25", + "result" : "invalid", + "sig" : "3b8b17b4c7b66b2fa3be8eb404e32b6fc0b9e56bbe678bddc8f7ef7c042c12ae5290b9c4201b35d10e409f3b7eb7760f5dee7fef09c30ea858b78bc9637dab245b8f83ee83c75a7aa3d5234b0b6dcdec385f8cd305dfef92aa83cc0ecde8f20f08af78b600c1f802695c243502397dd161b6151a72ac20596a7d7efd8e321298", + "tcId" : 76 + }, + { + "comment" : "including garbage", + "message" : "54657374", + "name" : "RsaSignatureTestVector", + "padding" : "303525003031300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25", + "result" : "invalid", + "sig" : "762d30b302cd76b021e237f28017e48488ff3bb30ff9e92db5b1e76eec2ee91c9af03e1c5038afc22591b1cd8cfae648a33ab77901f9f3736e50eea83f7c7a4546dc55c0265fb17dfdd30250fa3881e34e51b4f2e54554ad098eee952ec888e911a0ea5df42c0560bcb4bdd718c88d834b534917e555c38fd1ec3593b2f25b39", + "tcId" : 77 + }, + { + "comment" : "including garbage", + "message" : "54657374", + "name" : "RsaSignatureTestVector", + "padding" : "30333031300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e250004deadbeef", + "result" : "invalid", + "sig" : "8cbf9d425abef67ff0a7fb648e70b82b1556ac80e46dcff37145b9041bee2bbbfa56817e04994c9cf1123c6df2aeeb1637595eb1e20adef51d657943fd67826ac5d5dfba106ae9cd243f12746917a446ce955034b46ceb0f4d542b7bcd06ad3e6e10899d5338e6d8caf3d4de3cbf45d45a58d946a64d0bc13e97a4ab4e6b6016", + "tcId" : 78 + }, + { + "comment" : "including garbage", + "message" : "54657374", + "name" : "RsaSignatureTestVector", + "padding" : "30363012498177300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25", + "result" : "invalid", + "sig" : "2f4944e5191dde165950a381eee6cce3fd40214e6a9851919f5441b4efb7ae5724db46e92a747937c3c8f9329facb7a71ad5f380e44dad0436cd05fc312bf3cbf05c4873ab2125d605848cf97ef976f7ba8ab6949bdac5152bf1a66945caeddbd89346965a33a8fe0a0ba63b59beb05a44b6d84e1fd93506edcc48da12d488a6", + "tcId" : 79 + }, + { + "comment" : "including garbage", + "message" : "54657374", + "name" : "RsaSignatureTestVector", + "padding" : "303530112500300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25", + "result" : "invalid", + "sig" : "975d07b7295268a8662aedbd2b65b5eb10bb496077f41b90d12d34ebc7e492f0c7f3a41d4164a279f06ea616f91968628be4ceecd4a554477bc76cc6b2e6bda4042dc253327c4b8fc40e9242cbc8b835114a7379a3081bae4b2803a99deb4a540f8c149ca5db3a61c7bc9f61cd7e55521660a06603849896c791a18d1c7360e1", + "tcId" : 80 + }, + { + "comment" : "including garbage", + "message" : "54657374", + "name" : "RsaSignatureTestVector", + "padding" : "3039300f300d060960864801650304020105000004deadbeef0420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25", + "result" : "invalid", + "sig" : "37352cd11eb5ff7380bfb7c0d3e8d9979ae7cb489a71c31a077d59496547b0c95a760387ed50eefde0b762222f05a6033740f6e010693edf3ef8ab5f9c57f4eb1f6ccd83287dcc2e90857defe5ba4109bf79ad84ab069c85a25758d22536c6882919245fa2d7e7921b3635d984deeb6555cabdfc46a42c75875d55924c8bac62", + "tcId" : 81 + }, + { + "comment" : "including garbage", + "message" : "54657374", + "name" : "RsaSignatureTestVector", + "padding" : "30363012260e498177060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25", + "result" : "invalid", + "sig" : "05df1fa9290a68415b86468a57394c052f00abdd6c65eb4fbbd834cc117cee4bba99764906fdc46e78bd9d554d15cf0284a64dd0c19877115c425a1ba70c1a4339a54ba7fd60ec809b9b789dc06997c2f25e890d8bdb1bc945c0daa8c61feab5bca471bd520126b6db3d6077f55428e0e7374da961dc5cba5397604303eec6d5", + "tcId" : 82 + }, + { + "comment" : "including garbage", + "message" : "54657374", + "name" : "RsaSignatureTestVector", + "padding" : "30353011260d2500060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25", + "result" : "invalid", + "sig" : "1fb1960934683292a4c92cf3d582cd5fe68888a5b0f6c2e64538289da7f96a9efcc36bdbf1fdc0cc0b3b36c6af608309de58c6151112f3a78599ade4a718b359547a4cac9a020e5e7e7117d1bfeb3ec21bfe9732825e624b27ddf8a946eb858b30461706f769a54b0478e0753388951d98129383590186b80836608f7e06c72f", + "tcId" : 83 + }, + { + "comment" : "including garbage", + "message" : "54657374", + "name" : "RsaSignatureTestVector", + "padding" : "30393015260b06096086480165030402010004deadbeef05000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25", + "result" : "invalid", + "sig" : "7e4f953b288c20fd5bec56a00745db9be03590efcb637e2ce2119a0a1846e9f38c0ebc5f2498ebde6217d81c9939b6d6a6f35ba54ee50d6313d3f2579751e7ae8d31ef4b0e99ca2e96c80459a7e5ff51f6f31e9c965be19097de13017c90037aa482d197c986f50bf2d5e1acb3f3024605e46d963410a4a623c898d0d773a78e", + "tcId" : 84 + }, + { + "comment" : "including garbage", + "message" : "54657374", + "name" : "RsaSignatureTestVector", + "padding" : "303630120609608648016503040201250549817705000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25", + "result" : "invalid", + "sig" : "53b8fdeb2d8aee9796a56afe4934221610ad028ae6f9478c90d4e865f3f78b3d27b383f87086d50fc4d96c5004d8a22a0c5d32afad45fd68fcc3e9115bdfddab605c81f31d0a8ccffcfd5fdbfa0f0a4386649198b11c10f33ec5bd73c713a6af706e617a3a1e967f6ac025e7f283e49bb9ea1fe3a4f27d9f6caaf1bf4981ba06", + "tcId" : 85 + }, + { + "comment" : "including garbage", + "message" : "54657374", + "name" : "RsaSignatureTestVector", + "padding" : "3035301106096086480165030402012504250005000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25", + "result" : "invalid", + "sig" : "90a5d10e2e19f7e016d5126a3d3eb91432611ebfd411b07a4be15aa48c39df33f3a2855f1e150ad34c7f83973bd73eca6575dcbac4086aa0a38db3d6e6ee2e9f419768493fb4829f1f6d67f80359f82d95483d6057de17fd388ae46687c429dea4d9f7a286c95fb1b9df0f1ba40a4263307789952b1bd07cdcb3b5cef10d9d2e", + "tcId" : 86 + }, + { + "comment" : "including garbage", + "message" : "54657374", + "name" : "RsaSignatureTestVector", + "padding" : "303930150609608648016503040201250205000004deadbeef0420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25", + "result" : "invalid", + "sig" : "a88d38e8c765b7e439f42294e71c1689a318ed5414efdf474196989829d4989fce8910798f4d7873fb43d3a501fa15c8019813104e4699597246db66f96c838e45aa3596a1d26cbe9f6ee91c077422953b402f7e11f8768a2f132295bff79a0d10ab843cbcf2c921113992336638f4052446f52815328ba4946510a6b701d448", + "tcId" : 87 + }, + { + "comment" : "including garbage", + "message" : "54657374", + "name" : "RsaSignatureTestVector", + "padding" : "3036300d0609608648016503040201050024254981770420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25", + "result" : "invalid", + "sig" : "a34e59121976568352ea031232f6da386623a1c6866e36d6c6c07168de977faf6e008f14fe22a27d42664925f756f4b57f5258ceaa8197c3c172068dabf3c6cd46b3cf0262931bea731249781f28361c25cba9b64f678c0b2692056469624d0204bf2bf9c4e87407372838926e6b34e68cfb31e2870bfb5b0fdfa2ec1e177149", + "tcId" : 88 + }, + { + "comment" : "including garbage", + "message" : "54657374", + "name" : "RsaSignatureTestVector", + "padding" : "3035300d06096086480165030402010500242425000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25", + "result" : "invalid", + "sig" : "7f642b5702c331dd76b7ff66578a2c0547d91c556b7b9751443d911729fb5ce8426515ba068e2839cfdc956eb813c25d65a2d5213b59302c0ed5e6fb95c49002edb1605f8f622912fdc309d92e6e3f188ba19e991fab0a7018ae4f6e70927d91cffec51b2dcc8113908faa1173ec9ed72350aa93a8cadef8bfa7305bae22bdf9", + "tcId" : 89 + }, + { + "comment" : "including garbage", + "message" : "54657374", + "name" : "RsaSignatureTestVector", + "padding" : "3039300d0609608648016503040201050024220420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e250004deadbeef", + "result" : "invalid", + "sig" : "0abb75f2fac084da0b99bc823c021c4872e23302a6a25e400b6f25d60f7c903899a69dc548676106b44f37c1e6d2604eb995a16880a2a8e2cc9e0ccb2b984ae482036f69a6ad31a2b5836e73e0d30c3e10f8b93c7587d7c0f2371183edc3b8cd0fd7bc325b1cf75e1079f8d6df53fe495722cc1ce707cca49bc6f4ed2ca6c4f9", + "tcId" : 90 + }, + { + "comment" : "including undefined tags", + "message" : "54657374", + "name" : "RsaSignatureTestVector", + "padding" : "3039aa00bb00cd003031300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25", + "result" : "invalid", + "sig" : "9f2234b108a45abaed850e19d2f9576f59bb83dbc6165da61c4798638f9c98587c7eb92a8c901dc4430e4a47dc05681ae811ffcad6f7a604c43551cd0f5d123549435d622f7efec578301efd49dc6b139abbc3c7d6a26858f6d18f09b863a145d6483c9efc6c322fec1341b6362dc1d752c714efcdfb09097a0ce6df7dbe88a9", + "tcId" : 91 + }, + { + "comment" : "including undefined tags", + "message" : "54657374", + "name" : "RsaSignatureTestVector", + "padding" : "3037aa02aabb3031300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25", + "result" : "invalid", + "sig" : "24ba137a293599ab7e50a0a4f8c7a5cd02dda6a4568c93f84d00ff47296564563c9051b334db2fd2c081b23d322d4870a61b2435d651d7efb4e1b0920e759f7fd81a937bbc85ff43dbe2b702dec3acf4db68d5fd7b8a2f6d32cc49a7300dd659623b391927a2442d69c6c3c29e59eb80b1d0a95bec6d18a6223cf4357eb7cc96", + "tcId" : 92 + }, + { + "comment" : "including undefined tags", + "message" : "54657374", + "name" : "RsaSignatureTestVector", + "padding" : "30393015aa00bb00cd00300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25", + "result" : "invalid", + "sig" : "04023dd35fa479f8156794d02935f8669c023c774b95c5a0e02837e32ccaf7a4ba5195835a15de6a21796eb96bdaed868f9e8b7f0a5a21c1a3058f53aadb62d6ee74cd70b2c38f17e42a1f7ffd88955731b4e15368211ad53f617aacbb54a7e7078740ba6daaca81c1b321b748ea1d13f7aece490226636ecac41bdc275175d6", + "tcId" : 93 + }, + { + "comment" : "including undefined tags", + "message" : "54657374", + "name" : "RsaSignatureTestVector", + "padding" : "30373013aa02aabb300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25", + "result" : "invalid", + "sig" : "253bed76e4b8465ebfffd1b7214ce586294d3bea290517ca2bfc417ba9d8e72d286570c348dc6084fd379c2bf4dae424189964639533e17c409ae18e445210ed4dc98de4ad7336554740d1532d5010a1bd7ebbc33ba48a3365d50669e4f4522d0e5ff7a3bdb1c42c42dee647a8a3ce16633eb33bbc0a869e12cf99f9481dcf85", + "tcId" : 94 + }, + { + "comment" : "including undefined tags", + "message" : "54657374", + "name" : "RsaSignatureTestVector", + "padding" : "303930152611aa00bb00cd00060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25", + "result" : "invalid", + "sig" : "0775598491297eb9004eed66234ded82e047ea2f06837425e6bd27f33b1373667f3ff4961d60f85edede88ec2bba2680151da3763f0df9785b31771da7e643862ff9ba944ab54bb1356ee113e420002a873f1eb381660f3eb84b1d6b25ccb8b82ad12ad0a449c4de205144873329e80ae8a84d1d3c1660b3303cbef28b48a553", + "tcId" : 95 + }, + { + "comment" : "including undefined tags", + "message" : "54657374", + "name" : "RsaSignatureTestVector", + "padding" : "30373013260faa02aabb060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25", + "result" : "invalid", + "sig" : "a73df043d06ae53a37773016a4e21d3f1093c50e079b189c4bd7db3e2e9875b14e5374cb8e7394a9f1b45c7e4e9dd516198bf5055b30ea4d205f39fddaab3da0cec63524bdae2ae166a3874c59057d93855d6e6314fc5da8111ff58666a73c00a105311859f27d2fb92f507531b9d681e219861e4f0b2b979c185af2690eb4f7", + "tcId" : 96 + }, + { + "comment" : "including undefined tags", + "message" : "54657374", + "name" : "RsaSignatureTestVector", + "padding" : "3039301506096086480165030402012508aa00bb00cd0005000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25", + "result" : "invalid", + "sig" : "17e5a889b8139593e192f7af684c918f2751f157214863f88984ff3d8c9e381d1bee5ee788fc82869f4c3d8483e3c17c873a850a7a5c85e4518cbd8531b331a308a0368a868bb7995ce0f8a7ac5ba53b88c31c958dfabb36ed461472505b598418185b864f381342c29dc80e55ca7c2095e7788e7e8d385d61de605f74e431b9", + "tcId" : 97 + }, + { + "comment" : "including undefined tags", + "message" : "54657374", + "name" : "RsaSignatureTestVector", + "padding" : "3037301306096086480165030402012506aa02aabb05000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25", + "result" : "invalid", + "sig" : "a659f7c44e4589e9f6658b0b57e82e65d5ee9fbe2376894f558a7ca4b6e3c5032f953d1dccfb9b76bbc53dd5d1a52cfc092c6ca279b37c0a43c99ec0553d7ef4d9bf9361a1c4a3fb7496aa58c0af518312e18819fffdafd1a230a38440a6fbb0e69babaa977b8b5fe08ed7c6d59c0391ccd80b42a0c0102264b0ed6af8524e9e", + "tcId" : 98 + }, + { + "comment" : "including undefined tags", + "message" : "54657374", + "name" : "RsaSignatureTestVector", + "padding" : "3039300d060960864801650304020105002428aa00bb00cd000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25", + "result" : "invalid", + "sig" : "83fd4599a47bc0852ee1a12b2d97fceae6d8442fd089df1d21ecc252a410982410bbd2cc6bbca219502c2934ac593a09beefdeb54b0692b3e5724b79b0f5c53541b62b0c4bf80a658af71d5964fc6a1fd7823370d00e24dcead4bdc86bcd883fe3f48dc7f8468ce99b7580306007021b68b48ace274e3c09a1b5e21fc7542ef0", + "tcId" : 99 + }, + { + "comment" : "including undefined tags", + "message" : "54657374", + "name" : "RsaSignatureTestVector", + "padding" : "3037300d060960864801650304020105002426aa02aabb0420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25", + "result" : "invalid", + "sig" : "4bab6fc6948143f8ec7c8ad86a0c5cda5bd8151c24ca7916857778729c882581603363fde0ae2a28b6f8f2c8ce8d5f6b6e731bf8ef735bd31318069544295b54b04ff2abd1e11900373931164586d7c830bae704f7314eebf1d32b3a171274ed456e335d2a0b998ac441053ef096a037bfa6e5cdf3835c45ede383f0ee8feeec", + "tcId" : 100 + }, + { + "comment" : "using composition with indefinite length", + "message" : "54657374", + "name" : "RsaSignatureTestVector", + "padding" : "30803031300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e250000", + "result" : "invalid", + "sig" : "2d9940c172e83a1ce38ce52741e694c7b62c77a63c0523ef68ffde402b0cdf7102afa7005a731d399757b69d313c2970a61f785c12fe79aad5398a956a2c004faec802691b00246cb759b0db432739febfef9abece7bd95e6ad980eb9d8b53886f739035b71fecd5e5ef0f0c0990a9f8fc0aa5d18089471dbd53488c23630415", + "tcId" : 101 + }, + { + "comment" : "using composition with indefinite length", + "message" : "54657374", + "name" : "RsaSignatureTestVector", + "padding" : "30353080300d0609608648016503040201050000000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25", + "result" : "invalid", + "sig" : "69fd1dfca1b436593840f946e6113a79018c6cbc4e2b4562b12d06c03c7cfc1e724841ec59aeb0371c67a76a089a3f83f837255719bd648bc0888339c54223c25a238e717d1a90691fcf9690a3fef132f034cc03926ba8ae21dbb68467669cd19837907ca58237b6619be08a92ccf8e5756e3caec34a3c2a4622d7154a72256f", + "tcId" : 102 + }, + { + "comment" : "using composition with indefinite length", + "message" : "54657374", + "name" : "RsaSignatureTestVector", + "padding" : "3035301126800609608648016503040201000005000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25", + "result" : "invalid", + "sig" : "58c64866f9c1b6cd94c33fd708375ee8462f89efb1c72322174a1c5ed9117885bfa4a02ef0acc16d6a078800b84e9fbdb7f8f4f232091326811e71639fc1321b31c15c9fccb68f77c79b2e39b817478539636966c0adb23407401a4c68e6cf5589104a5557650ac389e4fb2a64191014c4e8f9af48f8a28f555d5cc32d7a87aa", + "tcId" : 103 + }, + { + "comment" : "using composition with indefinite length", + "message" : "54657374", + "name" : "RsaSignatureTestVector", + "padding" : "3035301106096086480165030402012580050000000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25", + "result" : "invalid", + "sig" : "0ba4e7900332ef20ad600bd4b8c0bab55c1030138c6131c1cf14a45fa98e10ea297ff6c2b8de3d92bcab6f1d303f4f8168848b2fee58ca40fb1f1c7eeb808c212b413f6f302d2e3904c2be2fa77fac21d04352a0abb07aae028e54d9e08ce37a6c210ae47095890d668cc1c296c9db1b5ddec30b722790260dc26c85e35f6692", + "tcId" : 104 + }, + { + "comment" : "using composition with indefinite length", + "message" : "54657374", + "name" : "RsaSignatureTestVector", + "padding" : "3035300d0609608648016503040201050024800420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e250000", + "result" : "invalid", + "sig" : "6f7b739d7e604a1123a232be4d0909a890eb3ad115f822b91592563a55fa59711f7ad17d1370abd4a6af6dac7ba08b6ae111291b0c8fd0626bc068022a8eff5ea5b797cc7fd35a81130a9394f051d2bb6bdf6190c11b964dbe2e4021a71ee8b405d0baf91ad5897d9ce22c8c1dd0e7dfee0e6abd979f5a1cd9443116c212b806", + "tcId" : 105 + }, + { + "comment" : "using composition with wrong tag", + "message" : "54657374", + "name" : "RsaSignatureTestVector", + "padding" : "30803131300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e250000", + "result" : "invalid", + "sig" : "53e00d738939553ca6f742ccc3671c88fd2319dc438d046f06011e088b57df8703813a53fa9c68a8b2de333445fb739726ac2b6ce3b2800e3082f48b823a06d0b2a83fc4c0b2e6a40fc2d86b73030e974f101dc6fd6a24abcc6cb347eeed08a4c8086d1fc5fd68b0b36fce0c79e5187c38c8a4cd35973b1755643aa28496fbd4", + "tcId" : 106 + }, + { + "comment" : "using composition with wrong tag", + "message" : "54657374", + "name" : "RsaSignatureTestVector", + "padding" : "30353080310d0609608648016503040201050000000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25", + "result" : "invalid", + "sig" : "9382e341df276efda17aaa4410801a3ba0e4ccd5f0b61cde2416c7a8345cab1bb1fcc4a4a1d7c4a03a9d9ef68c83f2b3e08fc5893324159cd3dbae159bab67b109e55db550b540aa6142531528281732f63235785e145ea0defac4e67e825b30fbe9ff19687436d600ca412053e2430a1d1b637d4db255f1616713f3a2ad135b", + "tcId" : 107 + }, + { + "comment" : "using composition with wrong tag", + "message" : "54657374", + "name" : "RsaSignatureTestVector", + "padding" : "3035301126800709608648016503040201000005000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25", + "result" : "invalid", + "sig" : "01ed4d8d4a342729f18182bc4f7645ca0a5216b57d4d26b874832983d19741673aa7c0e01705ada27ab779b9b84f431e83c621a2dd7ae5f501ec369273d297144b76477f4408bca5ef6a59053c1ffde80bc228f99dcaaffb4c520c507b3a941399042f0c535015d86b2b5a95696b71ed61ff2bb585442b85fa2477268b71f77e", + "tcId" : 108 + }, + { + "comment" : "using composition with wrong tag", + "message" : "54657374", + "name" : "RsaSignatureTestVector", + "padding" : "3035301106096086480165030402012580040000000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25", + "result" : "invalid", + "sig" : "21782ca777e07848b600c37bb0a881707e580fe822d5dbb78f4809251a5cd74cb6f3636194cec8bab9040339da6531c730060ff5ac39ac9ad56a2371fe21e02ce08da18778d2256276c47ef0261d9c453360fbc4a2cc1dc7a8965ac2ccc17b460b0fe359ae4fa53f75efc68e96762cff5d98be46fbeacce2edf1d1bf5e158653", + "tcId" : 109 + }, + { + "comment" : "using composition with wrong tag", + "message" : "54657374", + "name" : "RsaSignatureTestVector", + "padding" : "3035300d0609608648016503040201050024800520532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e250000", + "result" : "invalid", + "sig" : "1eb6de862a77d435e62635b620be37fc8be499500c19b4d87b3f993b9710f55476d3f3ac27d5ab2c1ec36dded088bc50ba5c0540934fdbb5ed3309babd766726ae833aec211a526caa82bf08f1704b66128f24c912c8c3719170090fe1a2738b0da32f91d35546a9a499618428d368b326203aeafce635668d3d5fde15762d84", + "tcId" : 110 + }, + { + "comment" : "changing tag value", + "message" : "54657374", + "name" : "RsaSignatureTestVector", + "padding" : "2e31300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25", + "result" : "invalid", + "sig" : "5770bbbb883f93f7c29bdab32e496f2e9063110fe648705fd0b1dc927052fc9ace9b36d898d19cd4f862b777b7c790d767b8313f735ff567c34cfb31f29644540645beea182cabdf789ff9ac3f68cc20444af0b9d4ec0bc8992945063fdb733cccef7590a10bdf491bc21c38f25ff65a581b40343e30529c3dbb71f62189ba3f", + "tcId" : 111 + }, + { + "comment" : "changing tag value", + "message" : "54657374", + "name" : "RsaSignatureTestVector", + "padding" : "3231300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25", + "result" : "invalid", + "sig" : "359dfbf40d3c2383f58bef1d518abe9852ca80d797393e4e1a9380ef08aa851d585213e8897c6f701ab680b0f63ccf5ea4216331918ca9a984fb6ba549f4bd066ec1fc4f1ed053fa5658b01df674a21322ba7e21fba6cbb3a8eb5565fb7bc269f99c65981efa650dde613ccd6d3927cdae45922d94dcf7ca5188bf5acf84035f", + "tcId" : 112 + }, + { + "comment" : "changing tag value", + "message" : "54657374", + "name" : "RsaSignatureTestVector", + "padding" : "ff31300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25", + "result" : "invalid", + "sig" : "24a61067121e9b4363b816b7c5750584c23f3c3200ca929fdedbe95d7504c56ea7dffd762074e44e96e22147943f2b704003967270b2be1bd1baadc3861c4cae91bd41530c67220349db4481d324d9927d52fe85618ddab2598996c5813f3299e1afb020b24003fa94f94a0c6c02b3183295e0de79eda021dccc5539cd7874ce", + "tcId" : 113 + }, + { + "comment" : "changing tag value", + "message" : "54657374", + "name" : "RsaSignatureTestVector", + "padding" : "30312e0d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25", + "result" : "invalid", + "sig" : "11b8d1dc2fa2afbc32f048d7454ba032b432a2ecd438506aa72c697a5c118e9e231a0c6b6340b5564402b7e837c59dd36f726fd626621b8f543964198484087eded70e7bb1dd63df2cea33198b9d02dd28e3b8bd006ba991a8b3bf06ac928bef45cba2362f2e11a5fbfb0310e84e8b7ba1e17c315adc1f34519134c36689619d", + "tcId" : 114 + }, + { + "comment" : "changing tag value", + "message" : "54657374", + "name" : "RsaSignatureTestVector", + "padding" : "3031320d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25", + "result" : "invalid", + "sig" : "8748f029d5294dc917cf4fb347e0046f903c088fd976ca97b1322738549df7c56cd67349d66596338fe418b29de9e8af8872fcdbb55e1a6f74e9965fe7a365b846b667d0ae50df23083be73cceb59db545a3e1a560f6ce0e9eaee57b5f95b8487a3987c00f364d0f148ead6d7e6a37b05456b913b7a79c0547b80da2a2893881", + "tcId" : 115 + }, + { + "comment" : "changing tag value", + "message" : "54657374", + "name" : "RsaSignatureTestVector", + "padding" : "3031ff0d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25", + "result" : "invalid", + "sig" : "2bfc087003f3b98f0c8c5273de34f5e4d5047e909cd80e222072f6a7926ced5ae169131342640f2be11bde2f7565c3c63d0335614dd278915514de8421f4521f0138109a5c9778f86647b8a42815b6b861f173f5a6df893873f99c5e62bc3c086150e3b7d7abb943ecbe5806068abc433e9052d9bdfa19a58d19da463dbf3b23", + "tcId" : 116 + }, + { + "comment" : "changing tag value", + "message" : "54657374", + "name" : "RsaSignatureTestVector", + "padding" : "3031300d040960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25", + "result" : "invalid", + "sig" : "0fe03eea6c50ab664bebc7d64346762aa29b08b61f2877973cd543c9533c9d0451db8d836eb46e8d64283306efd7ef6387cdc3c794f7474f2e7d51b9df078095adc85fb810cae52434c9cee5048fbff72610778397fd83204f44bb87f7637373d111dd16e18287bd9ffe816683bc3663f586082fe0811ff6a06c0264b67f7716", + "tcId" : 117 + }, + { + "comment" : "changing tag value", + "message" : "54657374", + "name" : "RsaSignatureTestVector", + "padding" : "3031300d080960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25", + "result" : "invalid", + "sig" : "748b9e64195314003ca31f726bb3d3294abd8eb376365acc5b1cd36934bbe1a9bae99ceb7c1a40c910bca6007ced7961ecc9ac74c7a6424cc87b6b9610320ab9c5b527d986c6e8ed21e677bbe2ee7752e2dbcfceecc2dd6da3f6c6b9c81435e9e060dcd67ba834729761dfc9570b79bb1b8ead7bc1325c2233e445eeed12dcad", + "tcId" : 118 + }, + { + "comment" : "changing tag value", + "message" : "54657374", + "name" : "RsaSignatureTestVector", + "padding" : "3031300dff0960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25", + "result" : "invalid", + "sig" : "7379bc96dd40d37a7f8e58f87c10fb94f250a964a55b2abead479b368e60e442e6eb864952308eb45eef1d318b6a5ffce634fcb886dbfa062060b9809cf89a09a26fd334ca22a1917fd219900ec0c68164c308cb9cbca3fb2b89ed8637c5540f7a5886ab1e52c503e20edd6316e41c746e53917e107ef5308590800ad378ac97", + "tcId" : 119 + }, + { + "comment" : "changing tag value", + "message" : "54657374", + "name" : "RsaSignatureTestVector", + "padding" : "3031300d060960864801650304020103000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25", + "result" : "invalid", + "sig" : "4a2478918565be6b46fe61e5f66cd1befb7a3026b5a1502e9a42636b0b924a02e85d7ffdfd8671b1d6d3e604e3ac6a5302db4e0ae0975d0661efa018d6ba0c632a6381368dcb75926542c74823a8c6d8732619764d5a61062fb3b17ae243bd691c97c8f9821af9526abcb522ec8e9dca32de1989e576e336af9dddc3e766541b", + "tcId" : 120 + }, + { + "comment" : "changing tag value", + "message" : "54657374", + "name" : "RsaSignatureTestVector", + "padding" : "3031300d060960864801650304020107000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25", + "result" : "invalid", + "sig" : "5ec392c91cc165ae59013337e7f7d5f2f9b3a6d45b6f6beee6dbf93e7b9607900f4672555a57de6e9e1aee1fc9b7adfc0dc00e122e84b0233c0d615dd0d79764fdc9d1b0e541f2de0083ab479f313a07f55f51390d1c2274858b219b1ec0601b82a2f7648ae95ec17099067a173e3e83959b6c06f149af0e4610761aab5be1a5", + "tcId" : 121 + }, + { + "comment" : "changing tag value", + "message" : "54657374", + "name" : "RsaSignatureTestVector", + "padding" : "3031300d0609608648016503040201ff000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25", + "result" : "invalid", + "sig" : "6173aef07a7057c3e97f6b7d4d7266918876f9fad86000b4c8ec7f83ee491563115b0cb5d580df8c97feb0d95866eabb79147926f5395c5189554749f4a2c75c0d96325971635be029062e1f27536c5041bb42f42e1fa10e21bb8e9a2e2502f2a7299dfe3bd8720ecb8a57238056ab0eb546de8dc0e56b317c73ab1e19772596", + "tcId" : 122 + }, + { + "comment" : "changing tag value", + "message" : "54657374", + "name" : "RsaSignatureTestVector", + "padding" : "3031300d060960864801650304020105000220532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25", + "result" : "invalid", + "sig" : "3b80c72f3b7ada8b38b30527bca41180b4a89b066f44a17b9df5963dca46517d9160326afee7a34b650b9e7746e764958ce6a0a6268481a8df40e0a95a81ab0f0bd20c050becfc0c4b03ebda19749a4a1dd3ce925fafd9a4006a835eedf221a6ceab6aac6bc74f743fe171ef8c01935f8901e1ec9ff6e33ae8311851fa14a65e", + "tcId" : 123 + }, + { + "comment" : "changing tag value", + "message" : "54657374", + "name" : "RsaSignatureTestVector", + "padding" : "3031300d060960864801650304020105000620532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25", + "result" : "invalid", + "sig" : "4b0eaf3ae1c7a3322dcfabee0569aaafba51e0f34fa6afc325bacc853ccd2daa3dca56c918325bf553af02ddd19fb597c368dd18892d52d9e935dc51d38347ebae2a7f90c78504355f6899ab4452d5f51d2025381d81042a08582dc50bc1078246ee69652043bb747969a7450659e333193990f34a8ce3f036221193e700489c", + "tcId" : 124 + }, + { + "comment" : "changing tag value", + "message" : "54657374", + "name" : "RsaSignatureTestVector", + "padding" : "3031300d06096086480165030402010500ff20532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25", + "result" : "invalid", + "sig" : "1fe7b390bcbd5bc1904e676111653e14e581e7817b45294bb790e4e62f3010aaaa77e246b29729f2b7da65a2f437b8d9c4fe3b26baad367a19fd7b1758d04c2f788c45e5309a833522b46d7255dd5ef70ed006ef966aa7c648bd0b893b8e1566961c16e9554fb729ec81819f1b3da890d413a153f487c030c7581da9531bf134", + "tcId" : 125 + }, + { + "comment" : "dropping value of sequence", + "message" : "54657374", + "name" : "RsaSignatureTestVector", + "padding" : "3000", + "result" : "invalid", + "sig" : "317379f37cb7f21fd03259a27db3575d491a248df82e67b39d4956a1c619094fcde001544f0fa70c64dc0d0440fb21d2860a20a911cbb397792bf3eafa5cc050e78b1e7bb29d041cfa0287bdf54a90a7a8bff5c870e898fe34bb522477daf8e003bc22891b789ff215869cceb92610c4b03210d19506058d941e6fce7a3cd786", + "tcId" : 126 + }, + { + "comment" : "dropping value of sequence", + "message" : "54657374", + "name" : "RsaSignatureTestVector", + "padding" : "302430000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25", + "result" : "invalid", + "sig" : "2de802ddacb7e47e27875943d5098419bca3b170bf74f1c4b4a8ac420d4469d9aea97592fbeaaa1dcb5fd20bb97afc5f7abae17a9bb85c5490db97010c5217c88f9f52b5e209cf5fba5f0594f4e4450114dd0348ece336870a1333f7660caf959056ba13b77d35239eea164ddbc8808f8e7e1beb070f551b6e95f90d5bdbd925", + "tcId" : 127 + }, + { + "comment" : "using composition", + "message" : "54657374", + "name" : "RsaSignatureTestVector", + "padding" : "303530013030300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25", + "result" : "invalid", + "sig" : "09342a8fb8402b5e50fbf8c5d1cae415ce02c0a803adfed88188982129e8480918dc21616bb5f8381e8dfe13f63234090c32e542a005df70df5e8e00dd2a478d10fff1b61efbdcf0e410236f7c031c9a5f7cd0db9098f8a32a6a49f408e72c4a29b7d27e8041ba605bf089bbdb9777e19b31ecca0d49b90d54701721af79cf3a", + "tcId" : 128 + }, + { + "comment" : "using composition", + "message" : "54657374", + "name" : "RsaSignatureTestVector", + "padding" : "30353011300106300c0960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25", + "result" : "invalid", + "sig" : "3ef90c414a64601c538c286f2c35f32445039799b8c266eed605027578edda796a409d905a751bf5c1cdea97840437fa82733d8f27efbbc05da732887078a8f547bbfb54607a54f893df7dde0c35c45f9c2402bed0405c72e98175e5b9d6f90224e07d12e8c1bbad2fc8b1a14c42dd5fb7e554db5edae89d335705c672cd7b55", + "tcId" : 129 + }, + { + "comment" : "using composition", + "message" : "54657374", + "name" : "RsaSignatureTestVector", + "padding" : "30353011260d0601600608864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25", + "result" : "invalid", + "sig" : "3ad3e4ec3636b5eb8aac2161c04d228491ca0d9da2abd69d8904054373940b39b5c025c011c9b9508a25ec25b24a0837cdd6a27cb5c8ba3683d90ba5912ede9a21f2f7e851dc49dfebea8807576be703a6a87ca44c370db76812b9929a54fb8e2259453ccaf47da1b8ddc5b7322c20197604b9e028ec00bd7eb48012274d5b81", + "tcId" : 130 + }, + { + "comment" : "using composition", + "message" : "54657374", + "name" : "RsaSignatureTestVector", + "padding" : "3035300d060960864801650304020105002424040153041f2eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25", + "result" : "invalid", + "sig" : "778d93be708d56defbb6dedcfec2a917a3772b2810e26143db1f9d0f26c4fbb8de8db5818aa32ebb2cdcd7960e593ace2c3c3eb682c930cbffcfa6b34438ee2a786a9707d5d10902f7f4d8fc677106275fcb6cb08f56f341e0f52af590e0bdfa2f2bf95693265e87f5046bcf3e6de34810e8eaa479f3afa2b0a98b175007c209", + "tcId" : 131 + }, + { + "comment" : "truncate sequence", + "message" : "54657374", + "name" : "RsaSignatureTestVector", + "padding" : "3030300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e", + "result" : "invalid", + "sig" : "a3e0e0cb9f7cdf8a2b95139f7c475f274bb63252385f62e66f82158f429e74d83df9ab1040717d34b6a5e009b6ac95960826ee83bb298ecf900425ff03a8f156053b57eac6086d61dd3a8085b84c83bebbe3270164e3147ddee8966a026796401fa48da70f5d949386eccad26b0016543f3f90c8ac2874100dce13f03845509c", + "tcId" : 132 + }, + { + "comment" : "truncate sequence", + "message" : "54657374", + "name" : "RsaSignatureTestVector", + "padding" : "30300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25", + "result" : "invalid", + "sig" : "84345c9d3de7b5da2156d3669a731c4baf6726c4c231bc8bcaef950d7ac37ca8d86e9c9558404f313de3fdf09024d25491b0a933cc3958033210b1c4f90070ddd083005873762566ff2cd7f6915b4cb430f5e7e1bca8c2ec32b4ddee48aba667f9d614a27c3bb40c6cb7f0cd77d3d17257f197974d1871cc09c9583cc6af8e15", + "tcId" : 133 + }, + { + "comment" : "truncate sequence", + "message" : "54657374", + "name" : "RsaSignatureTestVector", + "padding" : "3030300c0609608648016503040201050420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25", + "result" : "invalid", + "sig" : "227aaebca262d2189c479ab46d8715a34100bc1975c2d3991a4ade27376f068756cc9d89e903713bc28394d202d81b32126d7eb09154261841227cba6ea0a60d0ed9302f816fb4dd241dcd2d746d5c1b068c42c0b2bd567ef799cbfd0a83e8a30c4fa2f7296dceca38c36ab597ba992f658ef7955d32d38847870afbca35d836", + "tcId" : 134 + }, + { + "comment" : "truncate sequence", + "message" : "54657374", + "name" : "RsaSignatureTestVector", + "padding" : "3030300c0960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25", + "result" : "invalid", + "sig" : "a4316d438c7091b3bd5ec09aeea9095cb5046d8f08642b087c34985c34377bdafe74285d00862fba20572ce7a06dfe62b4fc08704d1cfb161cd88478e7e1c5451e0bdcce0fdd83c0e37fba5168ae03fcf4ccf60fa12c9b0acb39fe99b06933b9e0774f41151e0564ef805144c0cb76101672c287912197155d91bf036e84d1ce", + "tcId" : 135 + }, + { + "comment" : "indefinite length", + "message" : "54657374", + "name" : "RsaSignatureTestVector", + "padding" : "3080300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e250000", + "result" : "invalid", + "sig" : "447904593d2796cb9851fc38f6494697af3eff1997568a320a0e6a50d62b484d7254c99cad3897f7383da73ee48ee824f7f6819c7dfce18021e7cb43b48cd77532c6af28e9adbe8005c576415c379bb7bd164a49010f0b243f60064f1986d1923146be8e8a4eceb9263445f32e49e5cef3e500467f3cfa9102b51b2772df803a", + "tcId" : 136 + }, + { + "comment" : "indefinite length", + "message" : "54657374", + "name" : "RsaSignatureTestVector", + "padding" : "303330800609608648016503040201050000000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25", + "result" : "invalid", + "sig" : "01ce4a92bfbefd1de73607085c875704ff40751537bbce8ae2df9b10db01443154f415a936b38f937f7514763e20de0c55a1b441c5b10a09c7e09a7070cbc88becfaa8d39ab1cb93f4e2d1dfbc973715b04bf5d21f2cbab061ce36c81642fea43d0b11317961886d8783c628947b8f14be0864674e84c4af5f9dbb1f95b327a1", + "tcId" : 137 + }, + { + "comment" : "prepend empty sequence", + "message" : "54657374", + "name" : "RsaSignatureTestVector", + "padding" : "30333000300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25", + "result" : "invalid", + "sig" : "361f80a57ddb48796e50b3e6467cb00a9e1e193330ecd2cd6a31f649b49eac27e295450efe03e09e59f1829cc661d36b0fe904602c644aad7ec8cb2ca3099078b6d4f7b9233dc159fd1a6189451fedbd176e436f6605f2b889fc7197ebb520accd7f90e543da44453c7ba1948e83e31f5907d1989d982acbb348ca2216fe050d", + "tcId" : 138 + }, + { + "comment" : "prepend empty sequence", + "message" : "54657374", + "name" : "RsaSignatureTestVector", + "padding" : "3033300f3000060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25", + "result" : "invalid", + "sig" : "674c01596bf71fccd36aa81b000be007f6cff713e5f6ffe58b25e790f9a1f6542ba3f68e1eeaf1bb1ac6c3d55aeaf08140f6cc3d0474f6bd87ee442568346553ceb34efb5301a4d3a5b3f28a5fb038ccfe8444524d18adfa042aa1685fc3a5f9005da5688853b8660ba74f0e32c5be38c743b0048ca9b9fc19a35a5ff4e2c48f", + "tcId" : 139 + }, + { + "comment" : "append empty sequence", + "message" : "54657374", + "name" : "RsaSignatureTestVector", + "padding" : "3033300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e253000", + "result" : "invalid", + "sig" : "07ba2b5d519b1f60dc455d6ad90b4135cb45c5da5a2a2c9b8cb954165394a0f40145ebf2b1a3ff1d47f5031d542d25041fe9b6d78aab623c40eedcd8467618168ad02af8a696573c5c63cae0b2c26583b0240848d663fdd0195322bc2c8dbf9b5db2ff9cc3e75e70480e51da0d6dd402fa87772ddef5256467205cf41a42d18a", + "tcId" : 140 + }, + { + "comment" : "append empty sequence", + "message" : "54657374", + "name" : "RsaSignatureTestVector", + "padding" : "3033300f0609608648016503040201050030000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25", + "result" : "invalid", + "sig" : "9fd302307455d4e946c1ccee65b0941c3550c823279cc52c4f29ecff72a12ac40ef6b7e37b7dd774b7735bbae89b0792908bafc47f0b0a11637042fc8541b346151bdadc3990e64b6d1807dd0e7f9266ceb3f686a9813341f835562d3c8c84868a1f98db97d3e695ce4a25fce80b828d010d6323120362ac48700abff8a7116e", + "tcId" : 141 + }, + { + "comment" : "sequence of sequence", + "message" : "54657374", + "name" : "RsaSignatureTestVector", + "padding" : "30333031300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25", + "result" : "invalid", + "sig" : "247aa1cb69ccb72795c93809d7c3a5e52de98ec5285196058a6ab18ec2f5d9fef5545ab5df923f63bd58f5f247b3d824bf161bcb56d325d4e2fc7eb3765dd81b5580422abf2a3bca8d8af94cf6a9a3133b1494f66d5cbe938d30b9308b5ce2cc6d3df37d3299b6a7616d40afcc7935d80225e1a89a7a63ebff13a66e21280a6a", + "tcId" : 142 + }, + { + "comment" : "sequence of sequence", + "message" : "54657374", + "name" : "RsaSignatureTestVector", + "padding" : "3033300f300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25", + "result" : "invalid", + "sig" : "6d6248f823020a9604bbafe5acc103d9bd020624585c95805533de22afa3b6b1b511f8805296ee4d3e96d707c91e55df8959464ddb6d6a3d62b1cb248754302b2833406300f4975d913f1b90f95e3673e2c57d6181d73a360e8c818b8a9dd1e7a4fdcd68683f11dd47c2d395f20b0ce9c59eede6ae6aa58a707c4ea8d1a73a9a", + "tcId" : 143 + }, + { + "comment" : "truncated sequence", + "message" : "54657374", + "name" : "RsaSignatureTestVector", + "padding" : "300f300d06096086480165030402010500", + "result" : "invalid", + "sig" : "941d41c39aa8bf3879d16cb78c5486589e7b97e56a0249c4f613060d26b786598fd2d34bc4e99cc8888137975937307d6a328059a09f3b994bf955c7de4a2841a0d10bbbebb2db3b332656f258c66c8d50cf9155ba94e1cb21a78e6147af76958ddd997665b6d8f67ea8f5e1fdbebd7df635f20494489c895d33ae4c7f248bad", + "tcId" : 144 + }, + { + "comment" : "repeat element in sequence", + "message" : "54657374", + "name" : "RsaSignatureTestVector", + "padding" : "3053300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e250420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25", + "result" : "invalid", + "sig" : "a32afeafa2c3b58bef55776ef6daaac6647485dde100d968e0449d1a2d5a121807ca2fdd70e2e9cf524cae4f263e11837000df85f0886b718ff45cd316c8d031b746dabfb956dd6118a37e0dabcda1ce9c728afd9a5f2448f5b15d27982218888d457752485119f53219315bf63141c9c0802327226a096403ece022cb27c0df", + "tcId" : 145 + }, + { + "comment" : "removing oid", + "message" : "54657374", + "name" : "RsaSignatureTestVector", + "padding" : "3026300205000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25", + "result" : "invalid", + "sig" : "6098a732419cd71887548ccf4fbf3edeaf9fe7b220bd747ae1b995b746de1f4d7b48c73ddb71903f50ccf7c93be9c8219de5a75ecc302ab50356069dfaf642f32ec580a283519fbcf04784860b0660174dfb7e1e527bb320960bde8f6c605bc3c1055b878d2adbb44e1b6c41add15cb603345c4fe2d1c0158fa03f21b4c015e0", + "tcId" : 146 + }, + { + "comment" : "appending 0's to oid", + "message" : "54657374", + "name" : "RsaSignatureTestVector", + "padding" : "3033300f060b608648016503040201000005000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25", + "result" : "invalid", + "sig" : "2f08cdca4d621007acd15b1f4e3c39882a8aef706878e8f101e7fb250798a3528dcbf4d3327ceb0754a2ca0850794094dde8a875cb947d624d386ddb9593259c53ef2311260ac3c9cd1277050ec98d105188f590f198ba908ddcf3f9ed18f5a96cc6b353fadde007658f87ff4c201db7621d69c8278305f3e9f2041a2dddfad0", + "tcId" : 147 + }, + { + "comment" : "prepending 0's to oid", + "message" : "54657374", + "name" : "RsaSignatureTestVector", + "padding" : "3033300f060b000060864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25", + "result" : "invalid", + "sig" : "10078ea73abb9bbb879c9d8139b1758170fb73b34f39cdc83e6a725439e315a5cba4421fe15e8c80d8fda0a9aba9a12c23aab41f7328d4191e6c7c3a53a505ab518dce078439347945671ab06a2cd5375457b3bf181c40a1a4be1ea8305c9a401488532c7cdc1150fb9c46a2e846ce4a2fd9ee863d0b0b8af7f10360acc47f10", + "tcId" : 148 + }, + { + "comment" : "dropping value of oid", + "message" : "54657374", + "name" : "RsaSignatureTestVector", + "padding" : "30283004060005000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25", + "result" : "invalid", + "sig" : "69a74665f61787b54b522937c534e95e91917f5dd4fa9e3472add6e21dc033a275408f35c71ff6cc029e25986fe6dced8ed053a9040aac32fc444e9252d2bd4081fe3e51ace15a0f694c0b8953dd6afa7f8cac67f4d8e17513b415c14b439a634274893885907e2ea428a6e242154a58a031fedae31c73df7cd4e2f5591496cb", + "tcId" : 149 + }, + { + "comment" : "modify first byte of oid", + "message" : "54657374", + "name" : "RsaSignatureTestVector", + "padding" : "3031300d060961864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25", + "result" : "invalid", + "sig" : "8f3b544724810d462cc9b19f356e61efe7c192dd63511a9f1f63286ca81f89477c2b464f8e51a97ee138dcf8c6709d79a78591081384af7cb5e182c9867b826013e6191efddddcc39909d3ffbb18944503b69d774c959831a8092f4790a4933521100c3e9741c3b58e1d24b75425ee28fde4e40c249b4dccd726cb06cb9ad2e3", + "tcId" : 150 + }, + { + "comment" : "modify last byte of oid", + "message" : "54657374", + "name" : "RsaSignatureTestVector", + "padding" : "3031300d060960864801650304020005000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25", + "result" : "invalid", + "sig" : "3933d6937e977caac37a07a5c4ae503565af57e6c4e830004147f8bbf6784f79666d89cb4cac60e3f0aff2d5ed6a182921e490c958bfa49c86fcf0270914c102275b0878f01795c7a2f44a8a6f5306aa67a81f9294089876801503989e749d152c3e34906291f1f54bb6232fdd3d51e807f70927bf38ef70bd2ba45f0323acf2", + "tcId" : 151 + }, + { + "comment" : "truncate oid", + "message" : "54657374", + "name" : "RsaSignatureTestVector", + "padding" : "3030300c0608608648016503040205000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25", + "result" : "invalid", + "sig" : "7b2f6581fb0b4f913ed38c0ea20dff2bd60723f2bc3f1022ceb946e48adb75b1e0be031dd8b706d82967f93c6b6ba496d8c4b49aea9970e139b18fefdce30a4ec04f77625eaca4c7d1265cebbbcf53b63a113cf06bc50e4a416a771cd28785a0075631a3ef60c9212e224aaa063e7d8109c27e248e6422b26acd02ec012b7bf3", + "tcId" : 152 + }, + { + "comment" : "truncate oid", + "message" : "54657374", + "name" : "RsaSignatureTestVector", + "padding" : "3030300c0608864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25", + "result" : "invalid", + "sig" : "4dc9e86e076a395b530868d9fec9f858bd6e8c10cc1e32cae7653abb3f23991c677e970ee468c7f35022f3241f5d35673a8cf4ce9134b1e63a994dc7abc8cf4b9dbbb126b314312539931a0163c911f0234f5c3f683c9376f2ecaa3294d71a1274f6c63b84ea8faf826eacb05e4fa5459b787ff384b2cfe0f1f4c755f32b5c50", + "tcId" : 153 + }, + { + "comment" : "wrong oid", + "message" : "54657374", + "name" : "RsaSignatureTestVector", + "padding" : "302d300906052b0e03021a05000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25", + "result" : "invalid", + "sig" : "8bbc9167821885a728260bf9831120ecc42c14b2b07854169c86421146367d1bec66d8c3daadd115f16a29754e7fa8fb70a63966f7838484615d4364311b6c3f6e73ecd8ced0adb52db2c374297119f5fe571bd5396529d13b7225e87db5b5b0df38e4c56f2349071b09ff5c1ded919b398d4aff38c6ae29af6f6ff99d3e8836", + "tcId" : 154 + }, + { + "comment" : "longer oid", + "message" : "54657374", + "name" : "RsaSignatureTestVector", + "padding" : "3032300e060a6086480165030402010105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25", + "result" : "invalid", + "sig" : "2054d402bf6a148b52972b830c8c8a16a6aeddbcd5c2ae3fd83de67c666e712fa98650308658837a67ab87b2c444bedc7cf995c19af433da9343f260049b1bcb436ebe27d8a502728dfb0daac5d2710e2c39fa000b909aede07ad7a0d27629e0ac27ed9fcd41a39e09f7acdec4c2df77f38c535f46e3b96f2772a81e65e74bb8", + "tcId" : 155 + }, + { + "comment" : "oid with modified node", + "message" : "54657374", + "name" : "RsaSignatureTestVector", + "padding" : "3031300d060960864801650304021105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25", + "result" : "invalid", + "sig" : "3a94d241563a2ad97574ec82baefccd9dd114e21fa9169d0f54c4d0f57826224804ddc9b29c1905c59f39bd6aa3366705a85f5e6e18c0eb0f67986b5265e7371865b618e90e5c5313f0b6fce2343aa12d4ed44d6770fa08d4f1342608a4fb627a273f3a1f1340d1f5c55957ce51048e3690a845851009cbfe38d3c96e96d4172", + "tcId" : 156 + }, + { + "comment" : "oid with modified node", + "message" : "54657374", + "name" : "RsaSignatureTestVector", + "padding" : "30353011060d6086480165030402888080800105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25", + "result" : "invalid", + "sig" : "079cb62831dbeb40a638402865cc92cb49913dae214babc3f4f8d69d64cf14362c23c8dd6ebcee9c44633dd54a62bb2f0042c20033728fc2f8ff482cf0be3ee103bacf757b50319495d9a838844ea1064f4bd1f1ebdc1b71a318c3c8f7d76ebd79ef2f3991d4d87e110d60e5fc655adfa4a8e792e46c1c7aa96156b884e2f7a9", + "tcId" : 157 + }, + { + "comment" : "large integer in oid", + "message" : "54657374", + "name" : "RsaSignatureTestVector", + "padding" : "303a3016061260864801650304028280808080808080800105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25", + "result" : "invalid", + "sig" : "2c9083459ba6504dc10e0e63edf8ede8bdb4a9728673306908ad4e8f25656d4865f0748b9fd2cf7b51db0a2c659e0ce021fef3d2d3d0cf7c45343729c2001a19d37e29398a9a7e92d7f62693252261f1f7406b54af5447db6e846f981722059b7bb09ba95268c321c156ff659e0ce8e709d2819d5ce15f5dcfa54c55114a611a", + "tcId" : 158 + }, + { + "comment" : "oid with invalid node", + "message" : "54657374", + "name" : "RsaSignatureTestVector", + "padding" : "3032300e060a608648016503040201e005000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25", + "result" : "invalid", + "sig" : "9a76669c75f0f11399699f76e7bfbefc0d29feb5a8d86de1f751eedbb5c9e7b81ecbc224534db67cfe1b611951a6ff499d86e11cac4a1725e2ff707085a81a76c73d5b53d1b0b2c4fab2d2eebe57eca83242a261cfca768abcd8e1f42e3841d698bef3d4f16ac2dfab0fd42ef0abb0463474367dff7ec99d665a9838f2cfc24c", + "tcId" : 159 + }, + { + "comment" : "oid with invalid node", + "message" : "54657374", + "name" : "RsaSignatureTestVector", + "padding" : "3032300e060a6080864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25", + "result" : "invalid", + "sig" : "6674ec2352f0d3e90f4b72086f39815db11b056babc57644c8a703014f439baa46e8ed961714d5c7b5f0ec97ba3fe5ab867c16b7e1de089868dcb195fc20cc42fa1b3d3060f50cca77281bb6be18d65a1ee8e5a381e21e7f02e819752b71327a28719c7284f6425bc9241abb08d000faf58d48848d7f4b8d68b28266e663f36b", + "tcId" : 160 + }, + { + "comment" : "appending 0's to null", + "message" : "54657374", + "name" : "RsaSignatureTestVector", + "padding" : "3033300f0609608648016503040201050200000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25", + "result" : "invalid", + "sig" : "8d18a5e0a81522b56eb9e4f43bee15475cdfc7881006150cc230e76028283375a13425fe5a106f2626346a65817010a5510b157b234a16fcb9426909a524a288161537be91ab13033ed296f5f8c1e5c3bdb963f12d7b5eded46106f7c2dc1ae9c451415303cb7e6a3f59809b922183b9638197909d5730e5b1e89705fbbe8464", + "tcId" : 161 + }, + { + "comment" : "composed null", + "message" : "54657374", + "name" : "RsaSignatureTestVector", + "padding" : "3037301306096086480165030402012580aa00bb0000000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25", + "result" : "invalid", + "sig" : "80c9add3930a98b726fe543b4350c593d28e77f9f53f1ea04c2bfca30f157309eeb41e5a675bc0045823df8e99f2e55d2567f4b78e36eb8af1b45c50e33e6634dcfdc4094407b760d8b60f76995edd05920a6a89e22168a788557bfc7cf01d47d21448a65f9766bb217bcac1124020b6b062fd0e7bbe3e142ec88652eb617513", + "tcId" : 162 + }, + { + "comment" : "appending 0's to digest", + "message" : "54657374", + "name" : "RsaSignatureTestVector", + "padding" : "3033300d060960864801650304020105000422532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e250000", + "result" : "invalid", + "sig" : "51640e26e8764936a7d9d709b3e0f52a5f1843453f2c6107a8e7fd6dad8b1c02ecc71659cd4134be952c03ee83c190bea4ea7260e5472c3cdf87b6ad45b5c974957ee9b4bf6f30152c2d939f722cff32e5482db96f3e283532b96716d3624daf16767e0ecdad16c97e56e4e076d64b92af329d2d6a2f8d14b59d1b84853659ab", + "tcId" : 163 + }, + { + "comment" : "prepending 0's to digest", + "message" : "54657374", + "name" : "RsaSignatureTestVector", + "padding" : "3033300d0609608648016503040201050004220000532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25", + "result" : "invalid", + "sig" : "9080bd4ac03b7ecedd45f8165360d4848bdfe1c9212ee1a4debc1aa92886cd7947a2df5435789bbb0b3e8f78815aac80e2cff14e1939e9ec32f42e7c29ed4029c88cafb64e8523dc85217c40d1bba900468a69c5bd4d12ac67401698fbffaa5159907ad459d3843e12487b3b2315c585881bc42e45543f7cf25110ab7e0a19f4", + "tcId" : 164 + }, + { + "comment" : "dropping value of digest", + "message" : "54657374", + "name" : "RsaSignatureTestVector", + "padding" : "3011300d060960864801650304020105000400", + "result" : "invalid", + "sig" : "5f66f645307346216d3ba9c3d8b29e96270cb3b2e686a676fe975c10b8c26fda8d8eb172628bb3dcd726160c13ab8c5afb1d6ae943ea4c18d00465d97c0d2bcc27a63c18457ff8d6e3f5ba373b4be7b6f4c610f83578613f4fe41a40d86230afce0bb8d4496425a5bf0a80c6b1b1e2a981cd44c31a9aa603748c3d2fd2b85478", + "tcId" : 165 + }, + { + "comment" : "modify first byte of digest", + "message" : "54657374", + "name" : "RsaSignatureTestVector", + "padding" : "3031300d060960864801650304020105000420522eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25", + "result" : "invalid", + "sig" : "8ccff4ab4fd8534b6b50593f775bf6684391225adc37745e7ff25a4c4baff78a252aa1177ea3f3f09d2791da50ba19cef40ab8915379f128bba3271069cc2c02725e09f0b2cdfa0d313eba3f5a7e231588fd617b7d90b285e88a944d7d0a7fe9cc558dfe8103391ab2e6fbf762d829a55ed4486b5d888957078ffcf49e8ec352", + "tcId" : 166 + }, + { + "comment" : "modify last byte of digest", + "message" : "54657374", + "name" : "RsaSignatureTestVector", + "padding" : "3031300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e24", + "result" : "invalid", + "sig" : "694b90d259b8dbe290f5851ede2ebf3bb718c1674ab1d3b7b6418e8ef7ea0760bf3ce69d98a7a3baae5aee488cddfb877972fa88ad05996879d0ce15aca53591423bf1b1b3ff02f823cdbb26bb80e3f7b83c3b7ac01ad7806335f871cd7b7e9e64708c200a9cd092589131aeb7db15655174000cf7db782bd54325ea956a1a15", + "tcId" : 167 + }, + { + "comment" : "truncate digest", + "message" : "54657374", + "name" : "RsaSignatureTestVector", + "padding" : "3030300d06096086480165030402010500041f532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e", + "result" : "invalid", + "sig" : "888cd9bdece5ceeef0fea92727ef1a1d996960f3f551bf108682f8103590323669ba1ab48becd14a49b87a900434d0ca7670d094b08b2f851834757bef580d2d3278d85b88036ea90d4c2a673dfafeb0c3701332c2b77493110d9b28dade7e985ec27240c90498372fc00ac8e0e5547e4d59cdd19022b8d961f3b63630b5448d", + "tcId" : 168 + }, + { + "comment" : "truncate digest", + "message" : "54657374", + "name" : "RsaSignatureTestVector", + "padding" : "3030300d06096086480165030402010500041f2eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25", + "result" : "invalid", + "sig" : "762c745262627d0df634d6cce41fb8af3cb855fc2d974b8093b035e9d11e510b9b7e7d61581b8f262fc1c4b8a6da3f6d609512e32f16416c7449c623c1773417032ddf2a559d7eb3af129fd02f83b5e35f5b5c065b1e0bc6481f38b6361f0b018b5e7166e8e67dddcf1550222f125efde241a27b0e7f670d15346dde082a8c4e", + "tcId" : 169 + }, + { + "comment" : "wrong hash in padding", + "message" : "54657374", + "name" : "RsaSignatureTestVector", + "padding" : "3030300c06082a864886f70d020505000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25", + "result" : "invalid", + "sig" : "27830ed405bc9d34009ec6258b766100273b4dcf2a9b3cf6ae31029837c6e24cf6e819734c1fd10c2c23db34d227d98d3498850f083ecd78b648baccfd4647a572607dedbc2b8ab7a595c0594ece904380e7f395ba4840a81367e99275cde1064fc6f7fbd564c5f26ddd0103991ae8262eaf16623685b43f77ea7a05d080166a", + "tcId" : 170 + }, + { + "comment" : "wrong hash in padding", + "message" : "54657374", + "name" : "RsaSignatureTestVector", + "padding" : "3031300d060960864801650304020205000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25", + "result" : "invalid", + "sig" : "4cdfa8cd615bcdefa253d75212e4ed0a1fd60841656c6a749690cb0c6c3cd723b518560c3b11a734010acf6e38f0526338351d9b58351826b360c851d3c86429f38eb689e8555aa2a23157e197faebdd29bc49f84c10dacca655cd5fa50fdec86a72f0ff1c7f8feeec31fee188fbfa72776a7b5cdae1c1506830bd3a00181b13", + "tcId" : 171 + }, + { + "comment" : "wrong hash in padding", + "message" : "54657374", + "name" : "RsaSignatureTestVector", + "padding" : "3031300d060960864801650304020305000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25", + "result" : "invalid", + "sig" : "024746d8dd71ecfe33cf0ad7ab8ddab9dfeb5740ec47b8ddd668f07b8f7610f726692404ac14c3a1947ff4246fe0a9e216131489125e71df68d60930fac06a20e948a3e4948aff5e3f9772155f8bd6772b1cefd8180ae719afc061e2f0d68a69769930b8d90ca4ecd6c7b20d04f0cc939502e698ad1c500403763c0205f6870d", + "tcId" : 172 + }, + { + "comment" : "wrong hash in signature", + "message" : "54657374", + "name" : "RsaSignatureTestVector", + "padding" : "3020300c06082a864886f70d0205050004100cbc6611f5540bd0809a388dc95a615b", + "result" : "invalid", + "sig" : "3a152ced8b5e0efa33cd57d4afe67f31ed3b9fb22e7b0ff32795cd9510374fa09fc63a3366465f83ba4d44e36418a5c1d171b6ca05d8c74a242983d5e5912cd05bdbd75fcfd5b4eda7cadab21e6dcefca8e2ab7303871ef360beff45564a01bdc887d9e849e407c6aa5b12055647f6c9df49758d1272f7cb476f51088e21f246", + "tcId" : 173 + }, + { + "comment" : "wrong hash in signature", + "message" : "54657374", + "name" : "RsaSignatureTestVector", + "padding" : "3021300906052b0e03021a05000414640ab2bae07bedc4c163f679a746f7ab7fb5d1fa", + "result" : "invalid", + "sig" : "3765b8800e6ccf29544d834034e39f8fe7a2e6dfd7e6b4a8f81df091bbfd7aa17edfa6005024fe04d35c340a2215fd3f1cf4b4dfdd3c8ad09e6df2c2256c7541e19c2e80051d1ef5df5c384bfb6be88c4415eb2740db2d9fb3214890a8a0f19146dfb7897bacc02700a89139dc8fb21b2a7bbfbd43604d7f384cc00aecefb4ef", + "tcId" : 174 + }, + { + "comment" : "wrong hash in signature", + "message" : "54657374", + "name" : "RsaSignatureTestVector", + "padding" : "3041300d0609608648016503040202050004307b8f4654076b80eb963911f19cfad1aaf4285ed48e826f6cde1b01a79aa73fadb5446e667fc4f90417782c91270540f3", + "result" : "invalid", + "sig" : "5c5b097c21ac2eb156de39d1eaebe3b96082f54b0171469a94edf7d2027ebfdebc0837f766cfefec577e7b797c7a082df2ecc826e55d39927b01c2da26f8f6814ec993e3b93ee87a3418322b65ac652b3bba6d34373a13fd40b66be489938fadf67bbda762f6ee09a1ddc41382051d4a9a946e0df832bc65b7d5dd58cc5a402b", + "tcId" : 175 + }, + { + "comment" : "wrong hash in signature", + "message" : "54657374", + "name" : "RsaSignatureTestVector", + "padding" : "3051300d060960864801650304020305000440c6ee9e33cf5c6715a1d148fd73f7318884b41adcb916021e2bc0e800a5c5dd97f5142178f6ae88c8fdd98e1afb0ce4c8d2c54b5f37b30b7da1997bb33b0b8a31", + "result" : "invalid", + "sig" : "0ede4ac9ffcb6d3d42c75cf73303a28ba6089941f68dcf392a75b071f6c149a109cab95b80a679ca3b29ae44e51c18a2db4c72211ae6b959c7f22e854c45f20f5560446f33be4819f08d981d2fb176d48039ac4acd28127d593f9e219ad40e2a5ee911b334b3b8bb290f2327524e3faae2c028745e03d58882bfe503c4ff04b2", + "tcId" : 176 + }, + { + "comment" : "using PKCS#1 encryption padding", + "message" : "54657374", + "name" : "RsaSignatureTestVector", + "padding" : "0002ff...00", + "result" : "invalid", + "sig" : "6c0b3edf5f6e5d3f07057d0b752e89cfdd1c289ad18a0ba94670cd36547734e2c7bb32dd49709f0f7149944c450c23b7f2d360e3602cad5ddff7fd9d711eef6dd4c32e66c4433f041fffefe112024a655bc5bacbd0914bbb2b2a41a91b1293fe9478ddca926a13e6131cc5e9b70625eac1e533ce8171a2dc7b2c4a490e966445", + "tcId" : 177 + }, + { + "comment" : "using PKCS#1 encryption padding", + "message" : "54657374", + "name" : "RsaSignatureTestVector", + "padding" : "0002ff...00", + "result" : "invalid", + "sig" : "1acce04e348a5c8377c54d8ddd8ec2d8c5cb9b195863c32eb716745f3462b5f249b612aefb31ba484949d0a0cb5cb8e1f06c1cec58fe5ffff6ba796218c46c3e527c7ab0c4276ccbafd133812faec33721a08542e7e3a34449bebbb28bd0f28994c6801ba5c971991004e31de8f728f6bc37a4ec7b049c1f2dc64d4be9415462", + "tcId" : 178 + }, + { + "comment" : "invalid PKCS#1 signature padding", + "message" : "54657374", + "name" : "RsaSignatureTestVector", + "padding" : "0001ff...ee00", + "result" : "invalid", + "sig" : "61a4066d0b64964100ecf583325cad10b53912aba1bf3606720d2bdd8e21120bb0b5e4323987d96039819ccce0e5e90854bc0e5c239ab198f75b00355a04e4eb1f855f76697cd65732820575306eb9323954bc5913568a7278fcdeff8e8acad4481e3559f8c44a0be3bc02bae437c3146e4516632b3fe788c3a0e44171155728", + "tcId" : 179 + }, + { + "comment" : "PKCS#1 padding too short", + "message" : "54657374", + "name" : "RsaSignatureTestVector", + "padding" : "000001ff...", + "result" : "invalid", + "sig" : "979a313677883b0980997f1cb525f43401739945860149dcad80f602df8abed4fd85bcd6e174d9183a5a44008fd77b5a5abcffbcfd4f47ccd2dabef963d9b228310d99000ed0cebbf61438cbe586985bcffb3923a8467a97ae791d0b04925c0894b5a41583d6de72d4369f481f66abce41a577fb128fc0b0aeec746ec089d834", + "tcId" : 180 + }, + { + "comment" : "invalid length", + "message" : "54657374", + "name" : "RsaSignatureTestVector", + "padding" : "2 bytes too long", + "result" : "invalid", + "sig" : "ab9014dc47d44b6d260fc1fef9ab022042fd9566e9d7b60c54100cb6e1d4edc98590467d0502c17fce69d00ac5efb40b2cb167d8a44ab93d73c4d0f109fb5a26c2f8823236ff517cf84412e173679cfae42e043b6fec81f9d984b562517e6febe1f72295dbc3fdfc19d3240aa75515563f31dad83563f3a315acf9a0b351a23f0000", + "tcId" : 181 + } + ] + }, + { + "e" : "10001", + "keyAsn" : "308189028181009e62337ef7d4fabec2561bb45a18a362022b23666571bbc762c1c717a14a46d8f58119072aa26245e71fc6945540335163798fcbdea04b3104ee23f2c3874bbfb3e7e0c1ba5f1fca909265274414db6957a5eb668e0e36a388784355d528e51a6a4a9a9c6b6ab912812a268dac9dcacf1c13507768e63b1f82f8af29c3786a170203010001", + "keyDer" : "30819f300d06092a864886f70d010101050003818d00308189028181009e62337ef7d4fabec2561bb45a18a362022b23666571bbc762c1c717a14a46d8f58119072aa26245e71fc6945540335163798fcbdea04b3104ee23f2c3874bbfb3e7e0c1ba5f1fca909265274414db6957a5eb668e0e36a388784355d528e51a6a4a9a9c6b6ab912812a268dac9dcacf1c13507768e63b1f82f8af29c3786a170203010001", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCeYjN+99T6vsJWG7RaGKNiAisj\nZmVxu8diwccXoUpG2PWBGQcqomJF5x/GlFVAM1FjeY/L3qBLMQTuI/LDh0u/s+fg\nwbpfH8qQkmUnRBTbaVel62aODjajiHhDVdUo5RpqSpqca2q5EoEqJo2sncrPHBNQ\nd2jmOx+C+K8pw3hqFwIDAQAB\n-----END PUBLIC KEY-----", + "keysize" : 1024, + "n" : "09e62337ef7d4fabec2561bb45a18a362022b23666571bbc762c1c717a14a46d8f58119072aa26245e71fc6945540335163798fcbdea04b3104ee23f2c3874bbfb3e7e0c1ba5f1fca909265274414db6957a5eb668e0e36a388784355d528e51a6a4a9a9c6b6ab912812a268dac9dcacf1c13507768e63b1f82f8af29c3786a17", + "sha" : "SHA-1", + "type" : "RSASigVer", + "tests" : [ + { + "comment" : "valid", + "message" : "48656c6c6f", + "name" : "RsaSignatureTestVector", + "padding" : "3021300906052b0e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0", + "result" : "valid", + "sig" : "8aa2c8a167fa230a1d1ea6bf5286d3ba6e675ca57cc5ca8cb26fdf465810c19af36cbdf843319f7af9b2954f372ef16891918aaa2ab64dbd1cd0ea54351ff2b3437fae5ec947971662c1f75ef6892b6899b77343fe87665c5b74df322b59f017e5488a67ec836ccc3f873788d60992d43f64b736507c455b649119373ba1aea4", + "tcId" : 182 + }, + { + "comment" : "Legacy:missing NULL", + "message" : "48656c6c6f", + "name" : "RsaSignatureTestVector", + "padding" : "301f300706052b0e03021a0414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0", + "result" : "acceptable", + "sig" : "707e19417b5b3cb975795e5d53cb2db69bf80699e69114955aea5ff45755eb365fd34a18290db1975c32388eaed0d446b44138bf18b012f7da3ed067de6e444a5a66a35633c875254ed3d1b120ce657873e888af703e649076b368e90d761cb3e14cf79099026cb4a4c1f20c771c1d7544fccebd6d642506146e3d28acb6cf6b", + "tcId" : 183 + }, + { + "comment" : "long form encoding of length", + "message" : "48656c6c6f", + "name" : "RsaSignatureTestVector", + "padding" : "308121300906052b0e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0", + "result" : "invalid", + "sig" : "5b4cb0b22300dc4913e7c1cb82e86663462e4b30d03053f697d59252e01339cd230b72afc8623e185db939108f3a47814f418b5411dbd3365d45b609f93b1f4fa10b7b908430a9f7d97037161cbeb2a1af0223b6657179a9bd2efa8c40a2f57b20755042b401e81d3fa3d4faf69d05cfdf3b7c3d5d3cce8fe036e9899db34de5", + "tcId" : 184 + }, + { + "comment" : "long form encoding of length", + "message" : "48656c6c6f", + "name" : "RsaSignatureTestVector", + "padding" : "302230810906052b0e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0", + "result" : "invalid", + "sig" : "264bb84974efc808ded6a363c50bba6c1ad8acea4d26f86afb81839d8ecfe7041db3ace271f308399bf3bd2effd70c3b17e968f084867a0d95299a8dd0bc27e516925d3b8c0e748d5f91dfc87eebc383ecfdf6bf46cd28912bd4cfb9949f7660f1dbdba527db82cfca5aad1f99cebb1d7b554d4038238a4755b25c2348397e2f", + "tcId" : 185 + }, + { + "comment" : "long form encoding of length", + "message" : "48656c6c6f", + "name" : "RsaSignatureTestVector", + "padding" : "3022300a0681052b0e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0", + "result" : "invalid", + "sig" : "23fad8546f338cec2aa7fd93387b8f1e735e3fc3337350276efad8950161e6cbc7dfd28c7272be65c9dd469cbfc8ddeb6945880234a60c0778d5e8f185b95b0caeda346ce5b8231f94c076d056e2aa7245072ee055f37e7392ad4c158dab92263e4803d82939c7ede603c3467c14c61a5743df002358cc63eab3648d8ca8ec2a", + "tcId" : 186 + }, + { + "comment" : "long form encoding of length", + "message" : "48656c6c6f", + "name" : "RsaSignatureTestVector", + "padding" : "3022300a06052b0e03021a0581000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0", + "result" : "invalid", + "sig" : "64513a079e0bd31939110d49d36101fd2a49c6d940637b9900fd317a64d174ef64acea808329b700954471c8282d1f246ca3172481fddfda77bbe24deb8d3d20200e78ee9cfbd97b063c1da700a50f635cc32ed74efc59407b8af422e01f728997c9a2dd6f8fd0fc89c9c5a9b0a2038cb006f3e8a8bd86ec129db6ae95b18ffd", + "tcId" : 187 + }, + { + "comment" : "long form encoding of length", + "message" : "48656c6c6f", + "name" : "RsaSignatureTestVector", + "padding" : "3022300906052b0e03021a0500048114f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0", + "result" : "invalid", + "sig" : "79547cc01aba5ccca5e0337304e02c48455df528e61037516262e151d4378f3447a730b894d63974c3df0cecd708bffd53742c908b718ea1e09786f00b58f434a10e5014fc5ee96c8c87aa0cd73348a470c369b71bee3d78e3b7a640d605736f3b3691253d853473e34e0eee9533abf655e0e490744a354309c3639ca5e0e084", + "tcId" : 188 + }, + { + "comment" : "length contains leading 0", + "message" : "48656c6c6f", + "name" : "RsaSignatureTestVector", + "padding" : "30820021300906052b0e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0", + "result" : "invalid", + "sig" : "6dde5d8a638e4cda4551a295aa037c0db901578d70b6943d58f842e2b334822e986506768fbd73bd46e62f11acc308eb9b0f9fc8831729fdf630bb0b9ac8a9ce484e1fdf5d1099659ff452c132096d085b624e521ec0cd76449f50e57fa39adfb91d1c4cad4b9651cfda905689c24b3118970f78ca6240b48cba83d19da8ae91", + "tcId" : 189 + }, + { + "comment" : "length contains leading 0", + "message" : "48656c6c6f", + "name" : "RsaSignatureTestVector", + "padding" : "30233082000906052b0e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0", + "result" : "invalid", + "sig" : "28a4c4957ee24b104aa7f68d8d7fe5275abfe1c449f6e2d41d2741081e4e0248ff40acbfe0bf7652af44f4f369de583c355af6a5af87500330710b976f1bd3a705c216255d71589c341b237024337d38161946dd0ee3fc822b06c96775c6be57a906eb7c6178751537bb181e47acae959862253c34e979c3def80038488d0482", + "tcId" : 190 + }, + { + "comment" : "length contains leading 0", + "message" : "48656c6c6f", + "name" : "RsaSignatureTestVector", + "padding" : "3023300b068200052b0e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0", + "result" : "invalid", + "sig" : "08cc5258ab3d68d796e5dd868d676ce9c2774d1eb6a16b4bbf0acaa0baf9d812ed0138a17ab8a64dbb913e33a88a388883889bfde6922cca5ca98d5fd1ac13fa87eb1b5701cb4ef5271057b39cceafa0f8509f9151383058a1349460db1895b3d7fbc043771ebd48538e9c208c34719f21b2d60dfb7a06a3ef42d1f2a90826b8", + "tcId" : 191 + }, + { + "comment" : "length contains leading 0", + "message" : "48656c6c6f", + "name" : "RsaSignatureTestVector", + "padding" : "3023300b06052b0e03021a058200000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0", + "result" : "invalid", + "sig" : "118bdd711ce909f3e6894be2c5f7fbd21b6e542205e63447848bd6be079874f2858e9640ca8723cd4f73d1d272780aef52200d991cf620f7345f20ed4b5c978f93dfa495a24680c762ff1f1c4c3d0513b818b2cdedc63cacaa76af3b4672e0c3eae523b410d7c03ce4b9d2f65f92e580e4e7f04d3f62047db3968e33f0f1f40c", + "tcId" : 192 + }, + { + "comment" : "length contains leading 0", + "message" : "48656c6c6f", + "name" : "RsaSignatureTestVector", + "padding" : "3023300906052b0e03021a050004820014f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0", + "result" : "invalid", + "sig" : "7c2ddfeb9611939302c4791b44d2eaec63ba700853c84c928e11f50a5fb15c47a2f0ad91962aa88e944c0a655db19ea4bda87e386ae820fea49725c75e13b26a7c7d9dc63e353259d318246a3ec3c4b7d2ff8e6af164fe73ef35eeb76e921a523f48db83d541b3abca995d807968cb960fe192ffc0501a0840a1f5bf1b332123", + "tcId" : 193 + }, + { + "comment" : "wrong length", + "message" : "48656c6c6f", + "name" : "RsaSignatureTestVector", + "padding" : "3022300906052b0e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0", + "result" : "invalid", + "sig" : "5065698891c73f55ade9d829053b14086b977af8f8ddcb9d2b5d236bced0821b00cca31a26b43a838ed36f96d823205fe79644ab4d431d2072f823bf9dd60bde8c2af3e2f4af0fcd734f285c0f8e0b9e5cfb5b7cf5d4131ad2122862c7bb6d9a9d6a7ec674703c79e4712ea84bc178da4bbf08355b2c248a5887a9b87702f70d", + "tcId" : 194 + }, + { + "comment" : "wrong length", + "message" : "48656c6c6f", + "name" : "RsaSignatureTestVector", + "padding" : "3020300906052b0e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0", + "result" : "invalid", + "sig" : "33ab162433e5c9677c2ef33d2949c64167afc165223a79ea96bc1096e0654db370f84b30f3ae03da910e6343fdc9f7413e9422f76dfe4287dfaf7250567076a4b2cba812b784410ff19f412df89f1af8b9a5ea4809b7f60b8b5b4063d07dd17311b5b0b75599ea8988c605b06cee2b6bcf79f20ad7c4bd67cf179511ceb9fb21", + "tcId" : 195 + }, + { + "comment" : "wrong length", + "message" : "48656c6c6f", + "name" : "RsaSignatureTestVector", + "padding" : "3021300a06052b0e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0", + "result" : "invalid", + "sig" : "7cb2655e9bc1e633b46656d28db5bf457cfd6a6557ebe511a694ecd36987fcf94a6de7a3f73d47777990697b5663fe59b838fc0a7fcc0604a08e951fb1ef4dcdae0bc09c6733815a65ed465e86e98bd08ccce8df0a7822f1dd74fd8ff7add8314387ed2bb5474c7c282333bcc962af3f0506a15971f30967f49bbb22cf3e99d4", + "tcId" : 196 + }, + { + "comment" : "wrong length", + "message" : "48656c6c6f", + "name" : "RsaSignatureTestVector", + "padding" : "3021300806052b0e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0", + "result" : "invalid", + "sig" : "5e147003f7061b46a6046dc91374cbb2f1113ddb56dee64f203a513b421330655c123fc2c51a79ce70fef2884b6b444ff8639d5448a0781f8f0503009cac89a58fa0bf73b698011d80986379dfa0b8923591f2c310cdea8982f8b87dffc4ce27e5a1a75f44c40e95898d0ae12cabb94fff41116f1d96dfc8fb5834965b750cbc", + "tcId" : 197 + }, + { + "comment" : "wrong length", + "message" : "48656c6c6f", + "name" : "RsaSignatureTestVector", + "padding" : "3021300906062b0e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0", + "result" : "invalid", + "sig" : "8cf10e501268713c12ae5c26c5982c082a912ba2d22501a12438118067ac19957b0191498fb2113d1ca2db5fad32761f282b4c7684827b35a1709297c9bded1fe61a4e1963d32aaf4cd0ba5c51ad9c1aa3494c47afca86a264293d9a940310d6c1d8bc3e51ea3e12488e87f624e738f3568b21ab5f7a8b299b5eb0d7147ca794", + "tcId" : 198 + }, + { + "comment" : "wrong length", + "message" : "48656c6c6f", + "name" : "RsaSignatureTestVector", + "padding" : "3021300906042b0e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0", + "result" : "invalid", + "sig" : "8ee3b703c37759112397fbc6410d9c95a93084f544a26756071b298ba563b2c22962befb038d995912ef5b48f5ffb9d187be72f835d0afa764eaaaffa2cf42b0918e8b364bdef42a482e571cb949342654c91e3012776620cdb590323326e2861d1abdae6ea2fae95d7304b25255aae9d7309324bfb6b47cc2555e5191e95a79", + "tcId" : 199 + }, + { + "comment" : "wrong length", + "message" : "48656c6c6f", + "name" : "RsaSignatureTestVector", + "padding" : "3021300906052b0e03021a05010414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0", + "result" : "invalid", + "sig" : "7ab24ebda94da9c07a8742a96884e7006e36c15fadc0d41721d8192581ace97b040af10f79bdf1041ce48bfbdfe0e2807042ef91efb0136acd592346bc8c572bd0da5f6400406971b8d84b021c0550e32b9ae8cc4481b8979979170d7690158dc95f2fea00e05566a2369a3eb34794cfa6792128d72774eb0fb504490a5e9484", + "tcId" : 200 + }, + { + "comment" : "wrong length", + "message" : "48656c6c6f", + "name" : "RsaSignatureTestVector", + "padding" : "3021300906052b0e03021a05000415f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0", + "result" : "invalid", + "sig" : "49877ff5a25db5d9736e7c0198f7908dd0eaf2f2ac754d6456073df7a1b8d87f49fe9ed7caac03e92cf8bf253626c2ec049c4dd4615bacc5a617ffd874934ad868db7c5d7db8e37bddaa22b557b49bf8ee769bcd0d0faee45adaeca042fdfabe0864256a64389208ea8a825d373c439e220a60fb30ddf96427741e5771b89200", + "tcId" : 201 + }, + { + "comment" : "wrong length", + "message" : "48656c6c6f", + "name" : "RsaSignatureTestVector", + "padding" : "3021300906052b0e03021a05000413f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0", + "result" : "invalid", + "sig" : "6acf67de89d21ac6c0e0360dc872eabd3d9f315a46921fbc835391f4e5df2d5a73826cccc3ae099c76c5e0b5dcf13f76316cad72f2715be8927fe83273cb5b10dce6b4a58236e90028146519ee975599e2cfce518be7e20701b82d24e1448654a89a52cdad64c33ef916e1d3a40eaeb07a7b1509a151ca7a8c3f37b734dbcdd3", + "tcId" : 202 + }, + { + "comment" : "uint32 overflow in length", + "message" : "48656c6c6f", + "name" : "RsaSignatureTestVector", + "padding" : "30850100000021300906052b0e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0", + "result" : "invalid", + "sig" : "8291239e82027853aad5ec6526dc14eb2e4d6f62459cec895e311302e531a472dc720a55f01089ad3ff96608cd0804dcc4816441f92e77b9dc59d85a7b750cef32013fc888ce4bab028152ed07d31e1232cfbdcdbf096cfbbed22be93a8cca41ffd69575c3e47aa6f3c4bb895690622ad253c60db7fad789b3508252120f2905", + "tcId" : 203 + }, + { + "comment" : "uint32 overflow in length", + "message" : "48656c6c6f", + "name" : "RsaSignatureTestVector", + "padding" : "30263085010000000906052b0e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0", + "result" : "invalid", + "sig" : "0c0a60f4426a0922599d12bf623821ef3a69e88b8f3df39c998b91951bf8fd9f12f379db75bd051943076b73f145f6de4e82c050bdff9989bfb7430c6b4483502d291e666fc1b93e61a2e7dfc4f3b3d0f695ac605772a8f54a85148b76285aa0ae2a993d5061dccac1afeb9605771de9b51d6891e875c384d8827faef2388555", + "tcId" : 204 + }, + { + "comment" : "uint32 overflow in length", + "message" : "48656c6c6f", + "name" : "RsaSignatureTestVector", + "padding" : "3026300e068501000000052b0e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0", + "result" : "invalid", + "sig" : "52d65dbd6d48dce0dbc538883d3508588966c4932afcb22457221c34414a59d8effbcb805c6320b5edb024c745afec75bb7c698d9e903fffeaf7a4ee8c36d7f44482f5116d8d7758f08c889ad777405f204e1c5b75e1dd2721f46679fa13a98f8bfc07885ad67a43fe4c05ded4c36f8d7e1bf5695bd348192986f1b40c60527e", + "tcId" : 205 + }, + { + "comment" : "uint32 overflow in length", + "message" : "48656c6c6f", + "name" : "RsaSignatureTestVector", + "padding" : "3026300e06052b0e03021a058501000000000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0", + "result" : "invalid", + "sig" : "485b9c137230f1bd439b4b5753be8267f386e1725d63d6c29bef2759c8fc81d4bfe2b5759e9dfd1772fe2cb661d320ec8fc831cf6e4abe8e18d622893a7ee92c64907c15427e7748faa3d1445e7721260e70be4f32167d60462fae53bfc2d943501b8634e443a940d9f41a1391119305a0367799909a7b83fdf7374721d4efcc", + "tcId" : 206 + }, + { + "comment" : "uint32 overflow in length", + "message" : "48656c6c6f", + "name" : "RsaSignatureTestVector", + "padding" : "3026300906052b0e03021a050004850100000014f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0", + "result" : "invalid", + "sig" : "73c06cbffd5b65aa863f4d61321d840689ab69885ecc340748b8c4ad290945074fb58c73a419ea9f56e9ad70d1b133567a6c3e8e42a9b009241179eb154d7fd1603b6e25db969bb62eac8477addf62f1437d225c57725f3a017073c7418e70adf1e5caf81740e9503ff395b956bc90aced537e846968d879e1a17f4823aa3ffc", + "tcId" : 207 + }, + { + "comment" : "uint64 overflow in length", + "message" : "48656c6c6f", + "name" : "RsaSignatureTestVector", + "padding" : "3089010000000000000021300906052b0e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0", + "result" : "invalid", + "sig" : "5d718291abc4c814b265b5eb7c41d96648ada9e6baeca90e4dc851a1655a64aadc072ed9402f583f6f56b1d885c9423f4b708afa978c3c941969188b44b04d4d787bb6079e3527d6c1e36cd5fffbd33178cb6f23c4e1302b3a59cebe6353b6b10a005e6f24a5ef8350900b3717646917d1efdaf8aab1a3e994d5627a8d11e577", + "tcId" : 208 + }, + { + "comment" : "uint64 overflow in length", + "message" : "48656c6c6f", + "name" : "RsaSignatureTestVector", + "padding" : "302a308901000000000000000906052b0e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0", + "result" : "invalid", + "sig" : "1849ce77edf490fe5825f6bd1d6b4c312227fa9296ebb4f5e9a48dcb9b9a8918362a92d8a620dd3cec378f67beda0216b4c39fe07903bdeaed853f8884ba017fafce472c751284cfcd4db8fd5b93dd821eb43a202747927f1bcb947ad76ebd9d6085b616e8f8485b31889b95f28c4bf06dd4852142ac2f5ae707d1ed4f23cb5e", + "tcId" : 209 + }, + { + "comment" : "uint64 overflow in length", + "message" : "48656c6c6f", + "name" : "RsaSignatureTestVector", + "padding" : "302a301206890100000000000000052b0e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0", + "result" : "invalid", + "sig" : "0d3eb2ba13141b7d5fb65b0ebca47b979bb51778e762bde3c4cf33b02f84b0567214eaf31dfdc8197c2e84d9a85af76e8bf832a5ca2797af79b0293d85f513e421714e364ac5a5551a066063f008d6eb7c3bfdda6c6fed53e0161cb607ff7e78916f301cd81dd63f351eab77395c718b56d8d0b73b4806229999fb98aaa7751a", + "tcId" : 210 + }, + { + "comment" : "uint64 overflow in length", + "message" : "48656c6c6f", + "name" : "RsaSignatureTestVector", + "padding" : "302a301206052b0e03021a05890100000000000000000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0", + "result" : "invalid", + "sig" : "88b8e16d5527fc54feac2b63c905964e71c47701dad5944aba4847460b235c09e9ffa8bc6e59390dfa8d739893cbb32f5b06ec7f1fc918ffa0c364e0b5985dc05aafe98a8b86b18168d7705231dede7f0ffef76e6805a35a0ed9a78bebedcc274169f242aab6c33541c840a1e50cf09720b2aecfc356ed88ce1090bc54499f6c", + "tcId" : 211 + }, + { + "comment" : "uint64 overflow in length", + "message" : "48656c6c6f", + "name" : "RsaSignatureTestVector", + "padding" : "302a300906052b0e03021a05000489010000000000000014f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0", + "result" : "invalid", + "sig" : "54bbb6fa9891afe6101547c34599fd1fb4bfb3dbe0c57fcaba3bd3700f0ee7d658ccd24bde5394aadc7480f181b90576a74de3c705b85bf214d9d8284be4b00b12678891989c3e3e16f53185fa590c016c29fd6ea02f97f1a872100969fdc57654b691122f2eddbeb6dc558ade5854fc8f26c11c5c32638bd4f7253099c7d1bf", + "tcId" : 212 + }, + { + "comment" : "length = 2**31 - 1", + "message" : "48656c6c6f", + "name" : "RsaSignatureTestVector", + "padding" : "30847fffffff300906052b0e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0", + "result" : "invalid", + "sig" : "0dd112d02c49ae5057f4b89c14b871e5a446e96dca84c6d0d012c95615cf43ebd42e79d034fdcdc93de62e3b11dc11dba63dacf300190d443e3796e0c95a5db3955f799ec1bcdd4ecf69b708fec727b76401e989f5cdd612773f65e1a357e0b2942b78aac09dea9eb0d86463aca289a0af876eb4ee031bdf10e0df27516ebafa", + "tcId" : 213 + }, + { + "comment" : "length = 2**31 - 1", + "message" : "48656c6c6f", + "name" : "RsaSignatureTestVector", + "padding" : "302530847fffffff06052b0e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0", + "result" : "invalid", + "sig" : "603d34e2f71dabf90d862e828a0579fef915972f070c495da35fb279808ccf4bdbb0a43f666d203aa494f0a3012f5a4518c2a83fd8a8d3f1537be15174f22a355124657fef6e1b673c4010e8514cb133f63a15a7245ba9fd8acd03c080e4e89531c0ee3b41612e34b136c07c469c042b2b2718dc600cc1f4069063d0989fa188", + "tcId" : 214 + }, + { + "comment" : "length = 2**31 - 1", + "message" : "48656c6c6f", + "name" : "RsaSignatureTestVector", + "padding" : "3025300d06847fffffff2b0e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0", + "result" : "invalid", + "sig" : "11238413d11b4c1e0e311fee14bc4b3370c9943fc22c8b9429487bcb920e091d9edd0341bfc79070337854884267cbbc0f41dc34746c3e56096bc03cfa9d58e812d2bb9cf7dd90f3f16c048036255c0338c3777073a925f565ca9c9f78c7edb856f20a541275f84eef9a022e94dfeeeae4f07416cfefd742c21da502a1fe80c1", + "tcId" : 215 + }, + { + "comment" : "length = 2**31 - 1", + "message" : "48656c6c6f", + "name" : "RsaSignatureTestVector", + "padding" : "3025300d06052b0e03021a05847fffffff0414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0", + "result" : "invalid", + "sig" : "8364095ecbfbd1f50f2964bce941395095071e45e9ab55edfef6ec767dc3790ac237a11132e6e087e96c226fd338783d4de817abfb9e134c2dd61dd4e400188f50be2a7cf3f96804011b5240da29bb1e8f7d4337c8e1f2af0acc1536057b0114a23172c6d37f9128ba4c2b719158ad70c5c44033e532c58d0d79c4508470465e", + "tcId" : 216 + }, + { + "comment" : "length = 2**31 - 1", + "message" : "48656c6c6f", + "name" : "RsaSignatureTestVector", + "padding" : "3025300906052b0e03021a050004847ffffffff7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0", + "result" : "invalid", + "sig" : "8a3d7f621509191a435d03f94a338c1aeb99a824eac10a7c8575d1848f16af74dd87db6137a590d3e0cffa18cb5c52e1ab42688c2d50afa5a29730a98d6cd60e24f13c7dfd8500a9442954a23e773560a11b1a2a3fc087a28ff2520aeeff2a058928c9af14e90125b0d534bfec11eb1a02227e7d513569f3f8dc6e35f6fe6136", + "tcId" : 217 + }, + { + "comment" : "length = 2**32 - 1", + "message" : "48656c6c6f", + "name" : "RsaSignatureTestVector", + "padding" : "3084ffffffff300906052b0e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0", + "result" : "invalid", + "sig" : "149a74b89d1eb542f383ce0f24f8665b1387529770f561cee91f39e3af3e82c1cb0f589f4d6d5e9fbe92a8105993d55c205cbf9b4ec4c3085739ae1ae2ef4615d43040926813981d4b626f3c71e08981b8c900952eb23d8b9da218fc3f1f113a27682ead4466157e9043188d331a9632c8972ac7bca5729132bcf4b76309fcf4", + "tcId" : 218 + }, + { + "comment" : "length = 2**32 - 1", + "message" : "48656c6c6f", + "name" : "RsaSignatureTestVector", + "padding" : "30253084ffffffff06052b0e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0", + "result" : "invalid", + "sig" : "3b55f4f1b497c53dc4fe59e8e2c8bd48f9199bae420e43e5a22fcefe047a5fd6422de99742ab6b3f946a908d382852359f5f80037976287f4806ee3edbfb94a01d81fcc9c28afbbe8d824089bca34f939d5298152bfa11e69e047a6379723d5d187c1cee5f437517ea237d0a024d2d21316666f867411b0b84f6010dbf3fc2f7", + "tcId" : 219 + }, + { + "comment" : "length = 2**32 - 1", + "message" : "48656c6c6f", + "name" : "RsaSignatureTestVector", + "padding" : "3025300d0684ffffffff2b0e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0", + "result" : "invalid", + "sig" : "99a4a625ecb0c1c339c42b058d05f8cc6cd47bb29deb1df909fc16083e08ea18f482dc3932f0f81a0881c8a4e450d52da647fe501baa9363ce0261729beb173e3c6b3ecfb392ce93d89ea4c0e911ee2b95574a966c23276b9495b2ef6dee3a054c728c4ebb1cb294c703e1320a7d3cace4acdb57c605ab1c197448d5b890e71c", + "tcId" : 220 + }, + { + "comment" : "length = 2**32 - 1", + "message" : "48656c6c6f", + "name" : "RsaSignatureTestVector", + "padding" : "3025300d06052b0e03021a0584ffffffff0414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0", + "result" : "invalid", + "sig" : "4473370a0f1cbe032dd66017379c5605c69fb77c74af9f119f93b4df107cda358dd074a7c8a2a4b3afb3bdd4d6074be90e6e8018fe482121cea28e7d42b4a64e0fad25c86d4792099812b74dfd225efefe1a4c9b664a3786c9e2070bd7ec4bbf666a4fdacf5966d121fd17169db07d47f04beae689080c76592527346d3741ec", + "tcId" : 221 + }, + { + "comment" : "length = 2**32 - 1", + "message" : "48656c6c6f", + "name" : "RsaSignatureTestVector", + "padding" : "3025300906052b0e03021a05000484fffffffff7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0", + "result" : "invalid", + "sig" : "1157bd4955170a4d8dbb6c3e20faf50fdc20140cd2f0ba30f2b3b059742b747f501e8fd4df0c614d247d7c7ffb91365e6bfb5ce36d21364cde0ddf7d9b10c1b1fa0ef1aa37deecfcb0002094a6b2971854f70912e62e91275091ecdbf0c218c0a3a4d7c5ddc7eed97c317f46ea2b554d391d08a5d015ffdf1c51de55f8048d1f", + "tcId" : 222 + }, + { + "comment" : "length = 2**40 - 1", + "message" : "48656c6c6f", + "name" : "RsaSignatureTestVector", + "padding" : "3085ffffffffff300906052b0e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0", + "result" : "invalid", + "sig" : "50af5b10a7fb4f26fe6abe148cbf8169fc5f7260e732f4ae4ccb79877a3b1c8d6fbc476a43db9f5e94c8c13fb256ce767aacd02445b47bcc54f535ce67251ee94a63b33dac77cff65d3de5aff42f12939f10320d40ac448cde70bcd8a40fa20dc91354f97521d847e45aaeb9fe38a8c9c0a3ebaaa34046a620654e305cbc3289", + "tcId" : 223 + }, + { + "comment" : "length = 2**40 - 1", + "message" : "48656c6c6f", + "name" : "RsaSignatureTestVector", + "padding" : "30263085ffffffffff06052b0e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0", + "result" : "invalid", + "sig" : "4635e85ef3201bd0c0f1e57a2fda4c1a7b68f36db6ca9f1f034c75bad695a67964086d3d7f7a7505ff10cd77f1017908634f309fd5e0d4a406c1c579b08b397305e0e6a57390738c2e663449a72c0894bb3beb0933cd12c469181b139ee21ca9954dfd88b0ebc6f0e8d29c7b45b2bf5714e17ea9950e0d5b476b55aa0b717bfc", + "tcId" : 224 + }, + { + "comment" : "length = 2**40 - 1", + "message" : "48656c6c6f", + "name" : "RsaSignatureTestVector", + "padding" : "3026300e0685ffffffffff2b0e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0", + "result" : "invalid", + "sig" : "6cec5f74cea80f137a424880ca5254507315b6e50376a969a444aa0c33d5a9079fbdd417662c16048a249a94d251685742ebe4fba882e797bc77f6d28105136b2ba9bd5ec3080343d00d7bb9f579a334c945c1239680c11170e0470e801bdf6f9789a5428cf97b0af0f2fa77db2f8fc00182b1bf9601acde6fd5158b4f57bcaf", + "tcId" : 225 + }, + { + "comment" : "length = 2**40 - 1", + "message" : "48656c6c6f", + "name" : "RsaSignatureTestVector", + "padding" : "3026300e06052b0e03021a0585ffffffffff0414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0", + "result" : "invalid", + "sig" : "0513eb217a06590004cbfcb0bc94c0c6f79b488fffbba9d85e289e42b91824c8c4e1dc04f3ad6f6ce6e8480c96889bef3c62105bdff8af972264cf0110b4e522fd26ff6af8147990143828fa3aa2ba25066369357e19fce0b8f90d048ac1ef19380fe493fb70ac9660d5258dc0657a6270166d3400c2421bbf57bcfe10e2ad64", + "tcId" : 226 + }, + { + "comment" : "length = 2**40 - 1", + "message" : "48656c6c6f", + "name" : "RsaSignatureTestVector", + "padding" : "3026300906052b0e03021a05000485fffffffffff7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0", + "result" : "invalid", + "sig" : "5b0df944013467b97409704eb2130b06e537f746c5387dbb858651f4446887f874977dfbe9d5fd26d0be6ed9ed9381b9a8511710d0756434ce897cb00863c652ddf3a6b2df37f9308a46dcf2027ea523f124c9f32c2d9a09b5d1928e2677dfaf5e0d8a00c3d0edc5c1441f017011a16f2e0788fb2d8d22e395b4d79a8375ba49", + "tcId" : 227 + }, + { + "comment" : "length = 2**64 - 1", + "message" : "48656c6c6f", + "name" : "RsaSignatureTestVector", + "padding" : "3088ffffffffffffffff300906052b0e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0", + "result" : "invalid", + "sig" : "52be2fd82c24a1fcbcc3d832732eb97b1032933fa6af3b7fd8d63fca652d4b3a40c8488695414049f416f4eb01095767d75325662accd8c47bb75500ea4a99ac1fbd01815d0b8ddf450e097380c53715298c22fd3150b8417a66f499495372f07e98578e407ca2d226c69533c80b08f58e1fc0ca1cacb8652fc9374e12f6278e", + "tcId" : 228 + }, + { + "comment" : "length = 2**64 - 1", + "message" : "48656c6c6f", + "name" : "RsaSignatureTestVector", + "padding" : "30293088ffffffffffffffff06052b0e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0", + "result" : "invalid", + "sig" : "2703db8b7d2f7a879c235f95a9a39870074efea76b73663c50c4581eb2debb494472402d271b115a14fdc14eaea36cdb4c199260abd321d8cfbd1f56b1954761c5c61ad3ec1e440b53f1cceb156d8638b597eee1eb717b110f30fcea92f47e7c1ba438b1b161967f555bd14f0bcbcd21833aeb2c6b8b3f5c4727d07ddf009b11", + "tcId" : 229 + }, + { + "comment" : "length = 2**64 - 1", + "message" : "48656c6c6f", + "name" : "RsaSignatureTestVector", + "padding" : "302930110688ffffffffffffffff2b0e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0", + "result" : "invalid", + "sig" : "927d2fcf22048a79d64b34aaa94de24a10770a95e32f0a6e2b9bd5a9c1e502e9fca540e54aca240091923bf4a64fd703b30fb5cec96c8da5431373bfec653da1ab25cff5024e1a029cca12469db0ca362ecefadf60991fc1c1615154450d9e1b54abad613f5ddccb5545e615c6168d0247f8e7c061659c9946c3af1e373a618a", + "tcId" : 230 + }, + { + "comment" : "length = 2**64 - 1", + "message" : "48656c6c6f", + "name" : "RsaSignatureTestVector", + "padding" : "3029301106052b0e03021a0588ffffffffffffffff0414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0", + "result" : "invalid", + "sig" : "1da7bb65b41d9e5fb8b895882b9b6c2aa5ba32e7297c8eb3d64e5ae4311ad229692296cc27eb84e8673c29b65c35b1d52038d8b4136b334f4bd385621d7ddd6e0b5718c65834dcee0e7841a154f1953b130573995ad5cb29849490366936ee8a383f33f6cab3221d21d86c42ad8fff91efc5257ab8e9279df968d477167e75cb", + "tcId" : 231 + }, + { + "comment" : "length = 2**64 - 1", + "message" : "48656c6c6f", + "name" : "RsaSignatureTestVector", + "padding" : "3029300906052b0e03021a05000488fffffffffffffffff7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0", + "result" : "invalid", + "sig" : "4c3a7204c4807d5b44fc36eff6b0513730fde67c74eb7a7d0484b7a5b89e444e89b07170ec0ff4ec4f58b9f13c3bb82cba0081b737f62277dbbc678933dc3faad4dcdd61c8b4d62c7a1c9a6dc40c564b36bcfb9aff90e9c642afd81a8c9911351e3f0b78e0ad6850c937a69ee2a639be88473682d7c4a6edc77365cfcfe91075", + "tcId" : 232 + }, + { + "comment" : "incorrect length", + "message" : "48656c6c6f", + "name" : "RsaSignatureTestVector", + "padding" : "30ff300906052b0e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0", + "result" : "invalid", + "sig" : "32107f36c8b86cee3154d197a6e281869070fa9947177aff8cfea5942b3fbc323452b002f957f19083b57d59e6279d80821fa33c1f450ef5f805eabf1782f729dad2f9d0e63462e901dcd449c7fb14a8c42ec9599d30cf1b16b45550061f5b6f7f91c4c2bcb1613daaec5984e634fdd65a19cf24cd29d093406d7f5f4c443a23", + "tcId" : 233 + }, + { + "comment" : "incorrect length", + "message" : "48656c6c6f", + "name" : "RsaSignatureTestVector", + "padding" : "302130ff06052b0e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0", + "result" : "invalid", + "sig" : "5ebb4faf49a82b1fda92b2ccc8de0d158bf62f819359d06c6a4a2a508bf728635296d188d5a221b40cde9d51e107b8e8f73ed2a0c3cbd92325ddea1cad1f72ff6491133ab7a2847f3d339cb2317e8b9e336516a7a9d84fa8fb2b481df9e1ec397fe97d18227ab98c2fa55f080569aedc7025af770674a5b33c61b811922058dd", + "tcId" : 234 + }, + { + "comment" : "incorrect length", + "message" : "48656c6c6f", + "name" : "RsaSignatureTestVector", + "padding" : "3021300906ff2b0e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0", + "result" : "invalid", + "sig" : "531ddbfca4d3202639ecda32eed51b2fcffaa0cc6a0e97bdc1df71ab3b800f3e80f661b118d9cd82dfa1ae35cc3a364dd2a1c688e90cb6b6a215485e5e30679838bea37edcbe982ae858ebb461a45ff687332be102eb65746d9539a693b489c3cd5901adecc2d4afeca278fcf3b21774f2d11090f436d949d4ef96480839b678", + "tcId" : 235 + }, + { + "comment" : "incorrect length", + "message" : "48656c6c6f", + "name" : "RsaSignatureTestVector", + "padding" : "3021300906052b0e03021a05ff0414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0", + "result" : "invalid", + "sig" : "4ec4e1b4bb0ce0b002b8cc0b47fbc2baa9be415e35d77fb95906620322a63fed39595837d1a547cffc5f50c34a4daebf3a15d7d7ede9e583ffefb77ca4e4cd953b91a8608ede58a5500dbb71ad24bfa2b07bbec03b702c53baf4a1053d4834376b205854cee7e0dbaa1ec60f72ef238fbce20d76f9549b485b41173da58356aa", + "tcId" : 236 + }, + { + "comment" : "incorrect length", + "message" : "48656c6c6f", + "name" : "RsaSignatureTestVector", + "padding" : "3021300906052b0e03021a050004fff7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0", + "result" : "invalid", + "sig" : "7d54aa05c2043d5f6330ab97726ae0407d0f6be65cc1146b374d3e7f75583beb5ad0ba0361b2cd6bcfcfa01987cfdd4423047fa6f909b3fe3840262c55b3f2c0385cd8474cb92eedf9eb9113e9e83d0ae220124493c3df2380df4cea3e88b81d9e3947feebd788c2417c644974f6b909c1e44b75b74240b370f8663e9a1f63b3", + "tcId" : 237 + }, + { + "comment" : "indefinte length without termination", + "message" : "48656c6c6f", + "name" : "RsaSignatureTestVector", + "padding" : "3080300906052b0e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0", + "result" : "invalid", + "sig" : "1573e93ebc5caf4eba58c9d80b89c0b62de2073a85f5872a22ea283f37366fbb8c6c7f4b0a4f459505d95da2921d8aefa640d81f5dffb9e0e679c69ccb310eda59f36d49b33219b30ee3b0f680e2794654c99e63effef73b09891f67c403283999943d4ded2c823797ac2773aed7a0af88cade66f4a203fe91c8d86d720fbd36", + "tcId" : 238 + }, + { + "comment" : "indefinte length without termination", + "message" : "48656c6c6f", + "name" : "RsaSignatureTestVector", + "padding" : "3021308006052b0e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0", + "result" : "invalid", + "sig" : "9dc2d9a253cf809bf178002806d1c9883f5c74a0734f70dea7e322f2ea00a00a3bc864dc4f0fa90bdf0af0a8e46f893f6405a63998ed27f18cdffd1b46a183763e3bcfc4c491a023468f1b355d12be2118e4381d960fa2548afa12a6ea46da03268d1d050bd942ec8c2bf584f8d2ff00ff975860686311b1dd17d1ad6f262d66", + "tcId" : 239 + }, + { + "comment" : "indefinte length without termination", + "message" : "48656c6c6f", + "name" : "RsaSignatureTestVector", + "padding" : "3021300906802b0e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0", + "result" : "invalid", + "sig" : "3b1240c785cab25d0ebd26078da7323bd28352a878cd405419cef18938d27dede67112d32f6a60d22b14c78e0f5c392bc9f53f2a71769e21a9dd4b5d8495a203ff0e715a1173ce69f3c966d83e8ac9a45ad534c36b77d1cd120a6a3236ce023099b19acb39a25ec420f8765829b77cb048a5136b597645caafbc34d3c09723c1", + "tcId" : 240 + }, + { + "comment" : "indefinte length without termination", + "message" : "48656c6c6f", + "name" : "RsaSignatureTestVector", + "padding" : "3021300906052b0e03021a05800414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0", + "result" : "invalid", + "sig" : "84bbedc08a146e7f8923dbc116c9793d1bac3608d71f962664d2a155bc06b8a02d3a346e067f347cdf50ba537c14c1c8bfabcae5ff982e5543b626f89627d1a4bace0928115d22d2b0daa5285afab45c9d54e5fe1832494f432b32bafb8a922360f5f545b15dc189b7e64dfbe96372b401ad519162488f0123934a9c0512b4d3", + "tcId" : 241 + }, + { + "comment" : "indefinte length without termination", + "message" : "48656c6c6f", + "name" : "RsaSignatureTestVector", + "padding" : "3021300906052b0e03021a05000480f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0", + "result" : "invalid", + "sig" : "15a6c89db01ecf6d5f4d3a1535bdadcab861655619500b010851340b88cf8ec2547bf402137751006ac9d675b42308f939eed23d010fa36006eee53b94d63c3ef3800665038ffb4f017c1f3f5f8e9b909fd555e67cb002fbe261a42bd7b617525c5027d5af82aae2b6fd29abe4f503dc5f2620aff14d7b7798fdb8d4a7629db2", + "tcId" : 242 + }, + { + "comment" : "removing sequence", + "message" : "48656c6c6f", + "name" : "RsaSignatureTestVector", + "padding" : "", + "result" : "invalid", + "sig" : "14951bfe3fa22176d5ff4ad5f7dec0d0954e25a2381c91bc17707034ba19087c9f5b167d250129b95b41c883c69a5628196f9733cdff2daacb49ab61ee430582aab7c785e4f70f2320ea1d18da9ed0bd4f96e597977c2aaf0c2b8a3dfd8015d08195e3446efe12788fb7cbfd612d309a13952682b65f03a8c9440fd735fb2078", + "tcId" : 243 + }, + { + "comment" : "removing sequence", + "message" : "48656c6c6f", + "name" : "RsaSignatureTestVector", + "padding" : "30160414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0", + "result" : "invalid", + "sig" : "40868e6b6d88f66b2478d680ea58466d642e141951f69c1f25bc3f23211100441857b33253b4cf1668b6568b858d1c604e6062022c71c0d764f260c1924972ce44a89b508a3a220cc5b545c4166974e6b619d3d6cfd0b72be7f31070e743eb7611230b4da746f64dec399f71bbe8aa998a99f746bd422be6d02f0e80f5e9a337", + "tcId" : 244 + }, + { + "comment" : "appending 0's to sequence", + "message" : "48656c6c6f", + "name" : "RsaSignatureTestVector", + "padding" : "3023300906052b0e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf00000", + "result" : "invalid", + "sig" : "34bff75efb6f79769cdf1dae7cbf4be4644b03b7e44ba74a277281e229a6bdd96f922884fdf97705a456ad07e13f90578ce2b3aad819879be2c4097ebe5329e8eb72598005d02c6e73d8ecdbb45fab138cd88259320397f6b90a5108adab63ea07e1b86f5e20455368cfec220782a63aa7aea41761ead5952f9c7da59135f0e9", + "tcId" : 245 + }, + { + "comment" : "appending 0's to sequence", + "message" : "48656c6c6f", + "name" : "RsaSignatureTestVector", + "padding" : "3023300b06052b0e03021a050000000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0", + "result" : "invalid", + "sig" : "96d9ab79a2c8db9e9a483d5c36c0c3ee430eed6bd8385e4b7b655b7428a28d609ef4a9d413269572cc4be679497329042a1e1b0b090cfbc9a9236b94942e33e2e54a593efc3821ced8110042f4e56a521f4f46a3305dfcd1b899c0f092aeba78ecb8731a91c2a64bfbe7e00d46d85275a04c2269a74cbdf3ee6d6aa4867c8728", + "tcId" : 246 + }, + { + "comment" : "prepending 0's to sequence", + "message" : "48656c6c6f", + "name" : "RsaSignatureTestVector", + "padding" : "30230000300906052b0e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0", + "result" : "invalid", + "sig" : "26ec2f6585eb6e732d8430faad988f8223db0f11b8e56c14370697f083f16daf1ce571f73ed43162b40abe8736a43b99cb3c6c6e4a2fd5e2cc75bf779f10abd718eb0f252fa867b4d08cd8ab3f80745c2d368ceaac264427b96dac8b4b7aeeb3303cf4bdb7a45cac40f991c1fe53e8dc530c6dd76302dd8f6bfcd86d6ab290b2", + "tcId" : 247 + }, + { + "comment" : "prepending 0's to sequence", + "message" : "48656c6c6f", + "name" : "RsaSignatureTestVector", + "padding" : "3023300b000006052b0e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0", + "result" : "invalid", + "sig" : "9e4c79c5fe53b5514cd9a3f3d6d898b53f92859d7f862f66b08585ebd6efcead5b69df6d12b1dfed30abf729558f340def7ffd341bc599102ee3cad5459b11457a2a463cdc40594fea9b7d8d0a99b952aa442a25f77991d34a2dbb0b5d73946d5780c176f0cd977a4e2c26b3b25406b7092c2d8ca14205007fcd0b776d01278b", + "tcId" : 248 + }, + { + "comment" : "appending unused 0's", + "message" : "48656c6c6f", + "name" : "RsaSignatureTestVector", + "padding" : "3021300906052b0e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf00000", + "result" : "invalid", + "sig" : "94c2d05aa194c25bbf274f9b1a312f87128d3c177cda66961cc8388a3ed5c658cdf320bc6af14e57b1569ee6f96280e5fa98ca6eb67017cf3077fa63d9f7a916c445dceacf73d06fe53060a11a4c9ebf0e6203890c0da57324d86fa92e8f9b854c262b57046b1422c9aabd40edbef96f97c015690a4dd1f84bcc02867067d35c", + "tcId" : 249 + }, + { + "comment" : "appending unused 0's", + "message" : "48656c6c6f", + "name" : "RsaSignatureTestVector", + "padding" : "3023300906052b0e03021a050000000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0", + "result" : "invalid", + "sig" : "789468845b4388391ff3baafc966a3957f2db65a01fb34132be2445c22b303fcdaa4379c14a9291f3a7e1f23948c5c6b3d1d61934d3e5689267a14b122017df19da59a762114b4db56b17fd61043caede4ad0c8f89ddf180456d5695b337525f6dee1d1806c69a14868ccbe6edfa523795a9422057a3dd9ca8636e5026ca74ea", + "tcId" : 250 + }, + { + "comment" : "appending unused 0's", + "message" : "48656c6c6f", + "name" : "RsaSignatureTestVector", + "padding" : "3023300b06052b0e03021a000005000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0", + "result" : "invalid", + "sig" : "65929dfb1cfa05e3a405e1fd566e86a0627ad471101f5b2ace5d2a225641a521ecf2638b5de2c9f691dc0d4260ec49ce2b05bac8064e5a16881bba6dcf7fbb890896c27ca5fad9bfe6259aaaca16d94f01c24f13e30285caa9d610ad26457376c332bba7ab26d6bf832c7aeb2746faa914936c9ee51f9475861db055a89a1cf0", + "tcId" : 251 + }, + { + "comment" : "appending null value", + "message" : "48656c6c6f", + "name" : "RsaSignatureTestVector", + "padding" : "3023300906052b0e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf00500", + "result" : "invalid", + "sig" : "81bacc6576415739b7cdf7ec09bbe148be54e8e9b1941992d6c3108cfd3bf095e9f2b4d0c9101136def16587e2121e6ce9d705be253c1597b4963ec43e99ff48d2cfc1ca6141a7c6c309d7a09312dcc5d2b985c38c89bc532578e19f544a0d22262306482973163a93a0e7845479214300f00cb9a01bc5253650d79446c4aa7d", + "tcId" : 252 + }, + { + "comment" : "appending null value", + "message" : "48656c6c6f", + "name" : "RsaSignatureTestVector", + "padding" : "3023300b06052b0e03021a050005000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0", + "result" : "invalid", + "sig" : "42b488de85d7a4dfd153e07d965116dc20c05b971faf7c7c899dda96b3325947a36652cf1c6861011307c47b45fccdf1520c39a56e5ecc1292f336ae19256a2e68ca1d3e8930456e53b3778ccaf50a79f8bbce54489281f7dfd376473951f1a893460503cdec4ed81c722906fbde5b9553ace4f794e600b00e79b11822d13ff0", + "tcId" : 253 + }, + { + "comment" : "appending null value", + "message" : "48656c6c6f", + "name" : "RsaSignatureTestVector", + "padding" : "3023300b06072b0e03021a050005000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0", + "result" : "invalid", + "sig" : "497311a6c38b7b78634e563139cd5255d5db5f49950b9a45928f0e0b84c9db2bda1072389bdd5c44b229a4038d5dd111e4681fd94fa09775e7670fa7de90f1362621f1ca85fb9c79d941fc34b121f60e38b211b3bbed00edbada6f53aaec2555ed59145af32235232a322519fd408ace24b819e0e3c9bd0a6597d84f9530d208", + "tcId" : 254 + }, + { + "comment" : "appending null value", + "message" : "48656c6c6f", + "name" : "RsaSignatureTestVector", + "padding" : "3023300b06052b0e03021a050205000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0", + "result" : "invalid", + "sig" : "637bfa1961468a3ceae4f91bb9fdf7815d171cdc947a8cedb8beb9077f2096b65500a15c99f512c34acde371be79690acb660bcfe55c0d1a812d12d079f516a6d48b3d35c5c10f21987ac6ba830839a83b1d140c15c57a9df09dd0b1cceb323b1c9a0d854510116d0fa5d16443ea5fec8fc1ec782c76936beef5bd420d789494", + "tcId" : 255 + }, + { + "comment" : "appending null value", + "message" : "48656c6c6f", + "name" : "RsaSignatureTestVector", + "padding" : "3023300906052b0e03021a05000416f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf00500", + "result" : "invalid", + "sig" : "7fbadbb2cb7b323b8f1dfe78abd8e6b78df62aee4cd2d261ba32c05fa321caabf2ec7486bc9811999e48b3b1b06fa1c590fb7b014fe6137165357b4977821e74323eb64a338e98cb0133cc2a9a46e1691fe45dec76781e60022eecbaa6773e911589e831ac2a485c9654fdf3cfc73b66029295eef4c8065f831abafd960ac0b7", + "tcId" : 256 + }, + { + "comment" : "including garbage", + "message" : "48656c6c6f", + "name" : "RsaSignatureTestVector", + "padding" : "30264981773021300906052b0e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0", + "result" : "invalid", + "sig" : "7d63040570a002364293787b3c0340b7c460eea2cc307d4a6542662a04c0f07ebbc27457f1745129eeddf08156c977e8e346b112024b50c2e3d3686b8e87dd0e35d4f5499cb14049e61e81a5b43fe306ef02b644f20f8db8ed738de9dc630dca8de629a9bc268bee600b7c13c35eaebbbd4e018df9659354efd9bcd5452f578d", + "tcId" : 257 + }, + { + "comment" : "including garbage", + "message" : "48656c6c6f", + "name" : "RsaSignatureTestVector", + "padding" : "302525003021300906052b0e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0", + "result" : "invalid", + "sig" : "0cc6704e2d24718199b007a9a590a3a63aad1d5f769bb29d2c233f38cd994ad8359522e9c1af260bd8c526de9528de4bf67ea0a34286eaf9e015e4276be490214a52e4f66d44d6f71b7e5c07850a18072ef3e15ce31ad0a085ac59501abc4552a5a2762d484ab494a281801eeebe59d20187f3b6a168cf23f0893b3ea100bba8", + "tcId" : 258 + }, + { + "comment" : "including garbage", + "message" : "48656c6c6f", + "name" : "RsaSignatureTestVector", + "padding" : "30233021300906052b0e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf00004deadbeef", + "result" : "invalid", + "sig" : "2916f598221ebb2894a79ae4580d3e7cf6af6a5d345d4be8b254b9efa08d267e3c25570a515ae47a22fe24a914218bd7bb8322e96d49cf16076cd5cefab88db6609438d939f392c2c985272c7561726e51c85ade312ea1b77cc96b0d681f6f2695106d6e8dd5fd5556ed88151cc0a4302f61f5f3db1e714ce11356fd6c6d46e2", + "tcId" : 259 + }, + { + "comment" : "including garbage", + "message" : "48656c6c6f", + "name" : "RsaSignatureTestVector", + "padding" : "3026300e498177300906052b0e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0", + "result" : "invalid", + "sig" : "934016d53fdc1e94095ad0c3b39fd01983a037a5344c486edf74efe2daa9da8e1b8e597176faba7ecc9562d432ff98dc205d00cb3937221a6efd35c42674058db4edeec5b6bc86f49e31201e8c6d5b0fe3d0463e2b36bfcd9bbfd055e89034446da971bc3dfe793350f2f85862baf328c542199ad55fd56bd1f75094eb5e09e2", + "tcId" : 260 + }, + { + "comment" : "including garbage", + "message" : "48656c6c6f", + "name" : "RsaSignatureTestVector", + "padding" : "3025300d2500300906052b0e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0", + "result" : "invalid", + "sig" : "5ef2282d6b3b03eeb68b8f1fa17bb20d7f3bd2a66f2450ad97048183c3647de4cf533442f92e2ea850b09c552be9e99419a48891e4952a0d4d886cc1a7115563a49c3490fb8e146b368d3a9f9d98567d6ad03799e6d6415cd325a413d43be0ddd2d5b3706c0bb0432989bda8a5d4543b832638ff3ee4ceaaf239acf0c1ac2f53", + "tcId" : 261 + }, + { + "comment" : "including garbage", + "message" : "48656c6c6f", + "name" : "RsaSignatureTestVector", + "padding" : "3029300b300906052b0e03021a05000004deadbeef0414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0", + "result" : "invalid", + "sig" : "88f59da879a63cb4fa4523cda167443e78b2878e8143a54cb0e237ff51e45d34d17d59ce704b72c185346c7093b79fcc0700516dec9c5cb8c3bd7bc21a1f46f593b38b4dc52f80e06a1eb7631bf2590dc7001c122bd2fbe260547c9d13010094ad1e5e75255cbbda3539b1454e3914e6c1e8c93f58b36381b844c39d08770c64", + "tcId" : 262 + }, + { + "comment" : "including garbage", + "message" : "48656c6c6f", + "name" : "RsaSignatureTestVector", + "padding" : "3026300e260a49817706052b0e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0", + "result" : "invalid", + "sig" : "1458cdaa71d53e60633583b0ca0edd905eaae3dc86350c4803a5fb5d1620b31713930cbe5d21d9530cd791c1cd10007078799a9359b09f39c61394f0d2ffe366efd4485830aceff2296da12a1f9b6677a1b8349cf6b832e7b9821e1be8d5e39a7e892062926066312b231306ba32cff73b03e9be39f12eb1a559e7e18d912f85", + "tcId" : 263 + }, + { + "comment" : "including garbage", + "message" : "48656c6c6f", + "name" : "RsaSignatureTestVector", + "padding" : "3025300d2609250006052b0e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0", + "result" : "invalid", + "sig" : "7f2c73434ec35a0db8a6e89d81171d7df1e1479d4b5e00da0d5e1223c95ebf9eaecb9f5d7b2705ea3e06f42828fc6c6c3cd3af52e3dc20c164789785aa88cbdb63c4b973b4f871c085670039612d4a9f50f0ff84e38c576b09bcc9d55d6c66418f0e8737b1c0e8abc3c2dcee84d7861e58d4cbe887d022a3250f28059c5d4288", + "tcId" : 264 + }, + { + "comment" : "including garbage", + "message" : "48656c6c6f", + "name" : "RsaSignatureTestVector", + "padding" : "30293011260706052b0e03021a0004deadbeef05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0", + "result" : "invalid", + "sig" : "51d48f38227999d2d1af07719ec317d34e2ee5e42650a6b59b2d0057b7df31a2b551a736c621f5a8e4345fa755f57e55ff80a61c041c7c28e9148b020913b72d6a0ea7cf2f956b567eaed32ea647687505e11d756581fa1d0b593207c6f2db3a75a0923a375731b925779fc3ade0a00997ce4cda3ec6e981e91e1af78b12dc26", + "tcId" : 265 + }, + { + "comment" : "including garbage", + "message" : "48656c6c6f", + "name" : "RsaSignatureTestVector", + "padding" : "3026300e06052b0e03021a250549817705000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0", + "result" : "invalid", + "sig" : "55dc53df20ba602ce3b36914347d0a2c22ece2b11ca27b9f8807ffd36545ae33f4a665b6a125253a5cd7c358c52d75b65cac14f9553252ec770c25ad03693a1b6f44470a7418bb55ef5d6a0528ff0174119b1b43c1fd1d07a2506603def7f66d45afb99ba70178b3774cc1f3b4421addb8fee0c22e86416b0b1f3c19356ee38f", + "tcId" : 266 + }, + { + "comment" : "including garbage", + "message" : "48656c6c6f", + "name" : "RsaSignatureTestVector", + "padding" : "3025300d06052b0e03021a2504250005000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0", + "result" : "invalid", + "sig" : "1ff67456aa711438c0bf7e46aedf2cd4ebca7d0e9f8b3f98af54c949a1e27026281f77ecc61ae1a981afda0bf7aae38619c5447508b0fea79a588d0d2806ae0f67b32d6dac4b2ad58dfd413d235543666ddfe31d8545015edf25b5b90cf0f8c592f048d009a293dfd1e7bb50a37d52c1540bccf99d8fe2c1299cdbc563d96b45", + "tcId" : 267 + }, + { + "comment" : "including garbage", + "message" : "48656c6c6f", + "name" : "RsaSignatureTestVector", + "padding" : "3029301106052b0e03021a250205000004deadbeef0414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0", + "result" : "invalid", + "sig" : "6af2cd04b32de5d3cf8ce985bca6f581e96dfb4ec483b1d2c06cf4439bde888524b2e6675c4fd4e10277752d269c87fe1c4eb70a72a2596cf53f1f4f0ba3e82212e72e09774781c888a96e8870658bd9c248bb1f0f7e3c44f4cd284dd6c611cda266f2f841ec1215295edb5291ff1e5111701258441f06b1ed85e16452a02cf5", + "tcId" : 268 + }, + { + "comment" : "including garbage", + "message" : "48656c6c6f", + "name" : "RsaSignatureTestVector", + "padding" : "3026300906052b0e03021a050024194981770414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0", + "result" : "invalid", + "sig" : "0541e9a8f0735076b58133e205803982f403cd1203407ebff3534a48eb35f06842fd496d505739fb07dd85f48b3b24685e1d6c7be539edc862cd9b6869097c7344847201842aeea3ebe3595557cb93269898e2109226a2f4eca5bfef0851a5fceb2d6bac753faf6dec4911610e6b40d827a00502537a6fe743d616558813df8a", + "tcId" : 269 + }, + { + "comment" : "including garbage", + "message" : "48656c6c6f", + "name" : "RsaSignatureTestVector", + "padding" : "3025300906052b0e03021a0500241825000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0", + "result" : "invalid", + "sig" : "5e21d6a684e3daf0be25155cf79874a6bfaee2b771d38ab8895f031cf25a9a05fc8e1d421ce78944bf57a3f0214ee090c42cec51decdc0dc3ab376deaa4603d59eb3ec8b4470e6d8b00b53651873d48f6f2cbd035bacd0f7b24633a025b8ea9dc7c55dfc6578601849e9aaaccdf5fd4d1611b45ed3abe2010079e64de8ab74e0", + "tcId" : 270 + }, + { + "comment" : "including garbage", + "message" : "48656c6c6f", + "name" : "RsaSignatureTestVector", + "padding" : "3029300906052b0e03021a050024160414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf00004deadbeef", + "result" : "invalid", + "sig" : "1f96486457eb037dc9e2464e507d720adcf90f48a0dd1d42bf4239df64e5ef25556ec27290a8d87fc9fb89ad0a8547980f6b2bd7efd0dbe425559bdf08005fb762b92d0aea2f33c17002ab9a911e457532f0134d2e35db6b3393436de160faca0a2c82509ec929d2893bf82a83bfe1a59fc9189e7ca846998b39919d3ec4d6ed", + "tcId" : 271 + }, + { + "comment" : "including undefined tags", + "message" : "48656c6c6f", + "name" : "RsaSignatureTestVector", + "padding" : "3029aa00bb00cd003021300906052b0e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0", + "result" : "invalid", + "sig" : "48eedcec184b7ade4fb34efac030a4ce140fcd91a1a1e986bf5232e8db9160f076d9ae36ca23246efd53ece2014ea56d5e596b42ce66e3c585d5e6a4cadcd779c6df0d8c43e7945cf02a07dd3851258ed021ade9cfe6fc3df222ebbd6b9e3f39b4331a11c4ea401592883b4f8da7372526f4f3e7acfdad447846ac8160e5ce38", + "tcId" : 272 + }, + { + "comment" : "including undefined tags", + "message" : "48656c6c6f", + "name" : "RsaSignatureTestVector", + "padding" : "3027aa02aabb3021300906052b0e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0", + "result" : "invalid", + "sig" : "107ae9af715ac312dcae1f831a818dd55caa33e659ac6f1a15ef41ebed6207cb54a7faa7e45b519a3ca9c304a645f24ee9ad3eb83d6856ce4809e5d7137ed30e919c9615382e9e8767495495cb7dc4cc27e2ee8932c47cdc6c9154391993108cf952fbada535823368843adbfb06d874c14634659f7dd89b02a14377a5c1e8c0", + "tcId" : 273 + }, + { + "comment" : "including undefined tags", + "message" : "48656c6c6f", + "name" : "RsaSignatureTestVector", + "padding" : "30293011aa00bb00cd00300906052b0e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0", + "result" : "invalid", + "sig" : "34b98ee9fe1600e2806f67ea122dfc989aa727f16c8e2cf704b1f05026105b595528692c16a052725a2ea47c4ea2ef13c2f5f9a9304d11607a25b8cb261e64658c6047627e9a7651730b81376d9fd978547c270d15f5c57126e3b41b39ca687d6c8be52bf2552104ca06ef64dfe317095b835cdac2840d4f0d3febcc3863684c", + "tcId" : 274 + }, + { + "comment" : "including undefined tags", + "message" : "48656c6c6f", + "name" : "RsaSignatureTestVector", + "padding" : "3027300faa02aabb300906052b0e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0", + "result" : "invalid", + "sig" : "358ce2879366fcebb1212839560958d6a3cfc4cffe2a05e9c7ccbdf18b6427f419a2c1e85fd82e27bc63315a9742d141ca157a435c4f20758e4011b8b0b33b9fb5f0006170c3bbdf4d2fe16888404dbf8b9c00ef30bf45ea68371b76a692f98e79c6c5a574e410a8505d5166112f43cffc506a9d46276cbedfec64f1b2697584", + "tcId" : 275 + }, + { + "comment" : "including undefined tags", + "message" : "48656c6c6f", + "name" : "RsaSignatureTestVector", + "padding" : "30293011260daa00bb00cd0006052b0e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0", + "result" : "invalid", + "sig" : "5affee843b343a6d142406d3d89366a9149d642ca12a661c5d0eb0c1b5e15d3c90dc134eb76aff110b1964ed6566469c47e54aba7145c5601412cd38c630e05236c169f2ac6491795408d410a763f0090e299ad9022ebacfcf2f8f0f248674402479db2387e9eefe47c86c2430e529cd13e213753332fc4a3541de49dd1f3920", + "tcId" : 276 + }, + { + "comment" : "including undefined tags", + "message" : "48656c6c6f", + "name" : "RsaSignatureTestVector", + "padding" : "3027300f260baa02aabb06052b0e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0", + "result" : "invalid", + "sig" : "5cf35c6711fb8b297ec405496e8db527ad1cbcc55ce6122b24ed917fb989c28e369354900abb96f41457f15754fd1060710c6e984db30eb73300cfd890454e97957a589de151225827b5a12384717a7ad92aeb941e1e148e8d008e11598bc7b8a3eac35f2af5584f61335a608c5206e5e24cf934ef2009367f3403e8da2dd0cb", + "tcId" : 277 + }, + { + "comment" : "including undefined tags", + "message" : "48656c6c6f", + "name" : "RsaSignatureTestVector", + "padding" : "3029301106052b0e03021a2508aa00bb00cd0005000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0", + "result" : "invalid", + "sig" : "6e037fa40b3ce48ea72b28bc1ce8cc01188e6f84addcbefa2c729179043b3804d6ff1f25d85c2b9d72acce9c9c64e3f63ecffac670f76b2be75d63b3cee45b72f8758345021177ed13b66ecf0082e3c4418cc92713bb9867c8d28b78f30ff599e82f17734d0772e1e733c0b74fbf31c4f1ee99dbb89b5b113a7f628742d3b2a2", + "tcId" : 278 + }, + { + "comment" : "including undefined tags", + "message" : "48656c6c6f", + "name" : "RsaSignatureTestVector", + "padding" : "3027300f06052b0e03021a2506aa02aabb05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0", + "result" : "invalid", + "sig" : "5e7bf33ad4d9393d6b368764fac6395ed8ba3da7bf04a0f95d8426684bf0e9f2f78c9e49189bbeec883955af428e6e4527b871aeac21feb8231162f5380077c1fdf63a7cd4be65f813663dd82e732cfb3e1cd09298abbc42fbddc3551772f492627e657febca487db5c03c54850327eacc44dbf4a7c230f1c8166138cbd95587", + "tcId" : 279 + }, + { + "comment" : "including undefined tags", + "message" : "48656c6c6f", + "name" : "RsaSignatureTestVector", + "padding" : "3029300906052b0e03021a0500241caa00bb00cd000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0", + "result" : "invalid", + "sig" : "0c57e98c13628c8188a0095b98d312cf0fa1a1d2039700ab4c607fe75ea0fab11c2c84e5d22d26b014ae1c2aa948efbb1197e39eafc49cf9f010a7b2be4ab9dfa94ad48ce5dcd5c7fd405f55922146cbc541b9ebc1c89f30a2a3f7cf4a8b14797ff4a60922ac710e7496931ff69e4c0d4e06375c05a7ef1910cbd6c3cae5bbb8", + "tcId" : 280 + }, + { + "comment" : "including undefined tags", + "message" : "48656c6c6f", + "name" : "RsaSignatureTestVector", + "padding" : "3027300906052b0e03021a0500241aaa02aabb0414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0", + "result" : "invalid", + "sig" : "874f05aca449fe8b39b29dff1eb20b145ca4bccd25981176d33b6b41a1dcb48b7a668782549013deeceae3599309f541bfd4a15eb984a401bec4f0facce679c0608d962964b85df739ad19a926de875f6404ca5b209891d380f6e53140b1bfc05a2cf1db336d3a01e8777614299b6e2f683f2406b295f3366d77505cb2e56875", + "tcId" : 281 + }, + { + "comment" : "using composition with indefinite length", + "message" : "48656c6c6f", + "name" : "RsaSignatureTestVector", + "padding" : "30803021300906052b0e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf00000", + "result" : "invalid", + "sig" : "123c3ba6d4a5de10837fe12e9b2c61ecb00c93c7d25aa440b7c739df817ccb37be122c5f5570e44a943ee345590c5ca0597605c1487986dfb75245f8e89e4f29aaf3c8eb5c5e8944a63baee4d0143ea2765b0f297a1da8a51981c26a807cf4f9a1aee00bb75cedfbf6466098f7aa27f1e3e63f4f0b7b8c40fc837c23248e914c", + "tcId" : 282 + }, + { + "comment" : "using composition with indefinite length", + "message" : "48656c6c6f", + "name" : "RsaSignatureTestVector", + "padding" : "30253080300906052b0e03021a050000000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0", + "result" : "invalid", + "sig" : "2220dc736ee3c63b5d5915050c6687b3861b52e664ce1ab501681d6e40990f02dfaf96f240adf2dfec05edcb268f6dda4129f901f7416660d56ab3a4145bc354fd11a1dc4e1535a4b8a61498508019ac38b61636356a641b8fb4d4739eb84b4fc49647fad35668ead0743aea841214a6e628ab2b5488de6e60d012c0566fe78d", + "tcId" : 283 + }, + { + "comment" : "using composition with indefinite length", + "message" : "48656c6c6f", + "name" : "RsaSignatureTestVector", + "padding" : "3025300d268006052b0e03021a000005000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0", + "result" : "invalid", + "sig" : "51fc2dc54c9a46a30ea1c7ea262e86c85110f8bbe42d5abaa3eafb13fa7f3e2424090476c2e50e5eb74d3b6f5e5fe379f3935afe5ed940d443fbcb8686f999c6fdc9e508a5fc7c27bc17169eb5d8e0421ebe7d04260c60435f56d4f614ab9dc0b9298c45fd660c352d35d2985831622eea08010bc27c887f95cb33699759e630", + "tcId" : 284 + }, + { + "comment" : "using composition with indefinite length", + "message" : "48656c6c6f", + "name" : "RsaSignatureTestVector", + "padding" : "3025300d06052b0e03021a2580050000000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0", + "result" : "invalid", + "sig" : "87fb9a61395878aafc1fb4a872d8e2db7db123ce4b2d67cd36a7f6e7e190d0bef9487f54340c28fe55d1bd9c38afe166924c787169890493d5cd2a5c79317064313b77a481ddb8bff9a917da32899448d9104ab67dcc856aee617a0a65631609f0632d58bb6585b4dd0c4a8bb41fa0dab99a08489feda41f1e7e5e1fde382952", + "tcId" : 285 + }, + { + "comment" : "using composition with indefinite length", + "message" : "48656c6c6f", + "name" : "RsaSignatureTestVector", + "padding" : "3025300906052b0e03021a050024800414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf00000", + "result" : "invalid", + "sig" : "442ac72092d6956bc846d7be909704dc4633e3e59e6ff4bcc97bc9d412645dc17ec3db8bd885150bacfbb085dc90bdf26129637876a4d5713beee0385cb5ea7fa6ae57208df368b4ba95720a716d58ca6ee5a03ede1cc7f2ef31d8c459576ef72f6ba1b5d9409efc74932543ed601f957913a12304c2e29dac219d78ed12203a", + "tcId" : 286 + }, + { + "comment" : "using composition with wrong tag", + "message" : "48656c6c6f", + "name" : "RsaSignatureTestVector", + "padding" : "30803121300906052b0e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf00000", + "result" : "invalid", + "sig" : "2ebe12f793a821425e9513256ce1517b03b6bc19e2c2347e94651054caffb1f5d6101d4f3402d5945b4aecd04dacc3ba89d1123916d44941715951e9fd59bf0614a0534762e86275a8f1b0b16fd9a9d146946cff740c206ba6b27b26e8d1fc43b2b4d117e144973091674607844f86fce6f07a2a63acf8df67d3827141ad432b", + "tcId" : 287 + }, + { + "comment" : "using composition with wrong tag", + "message" : "48656c6c6f", + "name" : "RsaSignatureTestVector", + "padding" : "30253080310906052b0e03021a050000000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0", + "result" : "invalid", + "sig" : "6e4d642285fa7a46daf985135181712e84efd52cebe8885b52c61a5cec753c1f8c8ba42886b584faf1551da81232214c2088060e6843d0d319a5e877bd4c500f6832f537306285011e5d8b98e2fe00bd38885211478f27b0d037c34d79d7f4d5828403d20b5463a7e1e2de2398c79fed33bc9eee2fdab52bb40acf9fb68a16a8", + "tcId" : 288 + }, + { + "comment" : "using composition with wrong tag", + "message" : "48656c6c6f", + "name" : "RsaSignatureTestVector", + "padding" : "3025300d268007052b0e03021a000005000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0", + "result" : "invalid", + "sig" : "0de20757fb64e3633c36e8965fcc20631e9e890152e3a1d2d6a91fbe9ebd56bb99126050c79b41ef0c107086106738a91d0e815d3218404c1db9d4e8526e085ae10195b9cee788fdf7ba9d28c614bce268af0cc58b8a959fb4c24bfceeb5bcfcc4e326d9de825bcbd8eed0df37de2add59f8879326a7e6bfa2a36eb48eba2f36", + "tcId" : 289 + }, + { + "comment" : "using composition with wrong tag", + "message" : "48656c6c6f", + "name" : "RsaSignatureTestVector", + "padding" : "3025300d06052b0e03021a2580040000000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0", + "result" : "invalid", + "sig" : "2e48a4122de8e1779d169f5a6ab72eba7ca3b0c31ea73d41fd82047e18559ff9706acb85f92872124b4020ae001dadc76b61c0e166df0af677f886cde8e13dc8c2b5c93d62cee44cf3bbdc74756d249d3c59834e079154f6646a8c69a2320cf7bc3925523bc2ca3f8fa7d63650321d2a4de3ef3726f74a2020ff5db397454242", + "tcId" : 290 + }, + { + "comment" : "using composition with wrong tag", + "message" : "48656c6c6f", + "name" : "RsaSignatureTestVector", + "padding" : "3025300906052b0e03021a050024800514f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf00000", + "result" : "invalid", + "sig" : "6726053471ecf6651529165c96db60559a525efb27d31de913a44d885d33e404fa9dd7d28de94a7d8dfaed297ae500a55bb3535d77dad3031f7edf7bcd636534621d870c28fe64f7b4752f59cb1490208405bf38dc054311473286c52a59a8c6060827ce9a2ccaae9739030927aaa5225d45655be1fd826eaa6b27a8e20a4f31", + "tcId" : 291 + }, + { + "comment" : "changing tag value", + "message" : "48656c6c6f", + "name" : "RsaSignatureTestVector", + "padding" : "2e21300906052b0e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0", + "result" : "invalid", + "sig" : "4aba9d2c7a58610d7d3f1050cf5c1558369823c1a344c1573b64d3e8483e04995176f05c255ba67e8bfdcc6c7ca640a4ae423bb3c027f8b14318467e6ce1086db7307c0c9c56acd0372c9f53ad17e117df0557e5548d8d7bb6b9545ace3354f5400b832accea7c60c2585b34881461ee6595f0fd564de7f49a7f0228a042c39d", + "tcId" : 292 + }, + { + "comment" : "changing tag value", + "message" : "48656c6c6f", + "name" : "RsaSignatureTestVector", + "padding" : "3221300906052b0e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0", + "result" : "invalid", + "sig" : "8c7108f3eab93fdfe930ff1a149a071019936122a4ba0524e309c9af89664f4a202a4f49a4288d80f759521de7e0e04409b5d9f4cb93a722724e34bce76607f9a4c46081abc5a606cda70a859ac1fc931afd10d22a7a4c224cffea888979cb314e9a8dd75a85059bc282c923ca5fd6b508cf4e0c21a93f5d179d05228316eed2", + "tcId" : 293 + }, + { + "comment" : "changing tag value", + "message" : "48656c6c6f", + "name" : "RsaSignatureTestVector", + "padding" : "ff21300906052b0e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0", + "result" : "invalid", + "sig" : "5200334dfd766b1052dbe9d422f94b979b60afe3d9a2d60aa5eccf0e449357296eccc321561534450ddec51de1b6dc6b94e1e8b1ca52714230f9f7081a36eab655827defce738670c769953dce9696110689c1db5d475c4b1b030db86cab46745b4f23d68dbe3951e089786101d19548816f78343c942f31373519aabee6e520", + "tcId" : 294 + }, + { + "comment" : "changing tag value", + "message" : "48656c6c6f", + "name" : "RsaSignatureTestVector", + "padding" : "30212e0906052b0e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0", + "result" : "invalid", + "sig" : "3fc2126ef4b90f42dc8817fb368e4fc5ca34105ae98b3298425af76d2a304ffdabf8d246a53385e0b1c2a2c46205d64eae7be9edb22d5d9bbfa50bca0ca7a8b279ca8eb0ef3aa94d48ec1120010148a58bb576258ec2fd57d10c3d60ed4d94160c5256a24973e5a8333a4f54c288a18494eeff5579e52ee8a45af1ef9943d6a8", + "tcId" : 295 + }, + { + "comment" : "changing tag value", + "message" : "48656c6c6f", + "name" : "RsaSignatureTestVector", + "padding" : "3021320906052b0e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0", + "result" : "invalid", + "sig" : "8cda31b963c774894aeea363abc4af9a8b83cd4aec6cc9197423e7bf9f6935bce978a148d9179f47c092f3de5bf9229f37f86e7586d8fe197cabf27b99a902e561d722b0359a738523aef87286d19cb36d7b430aef83d9828df1aa334ec3835648b3b2af8c2c65f9ac8990d2f4df370d49da6f81dc93cb7035ee931093d843dc", + "tcId" : 296 + }, + { + "comment" : "changing tag value", + "message" : "48656c6c6f", + "name" : "RsaSignatureTestVector", + "padding" : "3021ff0906052b0e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0", + "result" : "invalid", + "sig" : "426aa261ad32507dbd08dc315b39368e8909824128abb746c65743fee574b42840489d54c8c5d6c5553e8ae1a3f14bdf4ae3677fec308864ad9d5ac5439976e9379904c6ae5a24e73daa34822e846a0eced7314b4cddc0111c21387d56f89f03a470b79514dfa97c405c8ca9dfbb6f2e3610a8eb5d6c52b37b200a1519026e7e", + "tcId" : 297 + }, + { + "comment" : "changing tag value", + "message" : "48656c6c6f", + "name" : "RsaSignatureTestVector", + "padding" : "3021300904052b0e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0", + "result" : "invalid", + "sig" : "126d30c8acb2fdaee4e622a2b4f2a16c56b50d03c3fa4ef5a417e9aac346512483e1f4fb7217ff640197d31b0d6f4c41403945dcef37da312f33eb845fb862ec9994060b085c005c6feb382547a4fa1a7d6e7383c81c8ff7a51b539cb55c94d41fa804d9d6968b57a2e8c946f5260d835167b3b5a8302bb054638b9842ac963b", + "tcId" : 298 + }, + { + "comment" : "changing tag value", + "message" : "48656c6c6f", + "name" : "RsaSignatureTestVector", + "padding" : "3021300908052b0e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0", + "result" : "invalid", + "sig" : "44715b61effca0e94098d7dba43839ab8999dca771968c09b9263a9d732d000db443e4253394eb357cb05bc0d2a715d4d9a0a64b64e3ae7938e040bc9ce6f2b2a5172a564bf970a56a12dbe54d96bc9a6d5d1ee78b112e7c5447015dd461ce824062161f513f17cce02f259a80fa78e655b9c09d5f129fcab8df0a045d19142f", + "tcId" : 299 + }, + { + "comment" : "changing tag value", + "message" : "48656c6c6f", + "name" : "RsaSignatureTestVector", + "padding" : "30213009ff052b0e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0", + "result" : "invalid", + "sig" : "5ec2194d5f835d6dba9c4ab2bdebbed946f106fcd2a3c6a623e67e6f8ed7ffd8eb4d41f0bbfdcaad34a34d84f9a735f78de159748efe2fe3629f7f185e681dbc5c48025469fc890222e5be9884c550e5cc483f6854184df13162f20d1daeab78eccbc52988815997887e4e52ab7b756885442c7ddb557e726642bccabdfe78fb", + "tcId" : 300 + }, + { + "comment" : "changing tag value", + "message" : "48656c6c6f", + "name" : "RsaSignatureTestVector", + "padding" : "3021300906052b0e03021a03000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0", + "result" : "invalid", + "sig" : "2fb77b5a5766d1e898af896192abf3f347100053b920dbaa931a8f210f1b84d522b283e59f6f6f5b7b13d4a3ffd21d2e0b64d1b275501b0bfadd23e89361f327e8fc7f29992dde2e5ecd85ae81cc1740228f983b02bb9875eb30597fd247a8351ba87a5ad5ae32cc4596b4105904a19e5805b92c266f66a9516fc2ca519ceb14", + "tcId" : 301 + }, + { + "comment" : "changing tag value", + "message" : "48656c6c6f", + "name" : "RsaSignatureTestVector", + "padding" : "3021300906052b0e03021a07000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0", + "result" : "invalid", + "sig" : "6a853a5244bf6d3795dd7047da88403f24831169f0fe2f7b789109f279d01e092d5e35d837644c4b83614bd40ae164290cb4fe6fb6eea7dd271195d0b81715a32184342c8c83a82ab6fc62ad58e299b619489d5670c65a6f9faae11909a825da0c4486ea2ba1002f5f8d1dfaccfee2312c9098ee684675f920e61a3f6ff11480", + "tcId" : 302 + }, + { + "comment" : "changing tag value", + "message" : "48656c6c6f", + "name" : "RsaSignatureTestVector", + "padding" : "3021300906052b0e03021aff000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0", + "result" : "invalid", + "sig" : "16f7787a9f5760f025b2e03886ae1a6c83a99a7495eb57e01b687434a1aa27e5f73e0440a0e6d45d7dae80b7f3d9dda8e2bd37540eac08bfd75f13371daa98a334af10762a55b684bef3c67ee6072717ee9fe67397fd612837e0c449d0404382a1b59adb19bebe32f29b1374b36f9649c0c5fe838252c15e2c8b92ba02bf607d", + "tcId" : 303 + }, + { + "comment" : "changing tag value", + "message" : "48656c6c6f", + "name" : "RsaSignatureTestVector", + "padding" : "3021300906052b0e03021a05000214f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0", + "result" : "invalid", + "sig" : "71629cae46ffacf0f7af338c56deb86464d037b1c38baf338eea05164a1bc15db208b8e3054d828dfa10aa5595d20e9010d071baff42f5d39264ba7a10ab263a30cf169021bafc2647bccb1f624abd87ea18750fb3380e7b0bcc0e12f96ffb6b98caebf9f2faee4644c8d6f0d8d33511725ac390f99fae9b40968de60a50dbb2", + "tcId" : 304 + }, + { + "comment" : "changing tag value", + "message" : "48656c6c6f", + "name" : "RsaSignatureTestVector", + "padding" : "3021300906052b0e03021a05000614f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0", + "result" : "invalid", + "sig" : "656312f836bcfdfb4e38f88994a2295bb55ecff0e745974753b22a15c67c64c92c329693917050fae66f565310f8ef8cf4b37dd47eae088adafc34cb0a2eb1d34223ff51bd230d3946fd8d4abb8ed8d4c923bdff7011052e07b358bc5d59deca4a3d82999e54fb5d521564e9ce1fc69c3968adf31a5837fdecc0c9552297ecda", + "tcId" : 305 + }, + { + "comment" : "changing tag value", + "message" : "48656c6c6f", + "name" : "RsaSignatureTestVector", + "padding" : "3021300906052b0e03021a0500ff14f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0", + "result" : "invalid", + "sig" : "8fe1efcfcfb09cb4bcea76590fb8fac5ad9428898848d3c20efb256ba2532dcd77603bbc2cb7c5902e099081f6a54ecfa4b0669d5391c10f391aebfc636fef14bb7bda71f12e0d9f164a2ad47abba6103986eba5cbb0b1a4bc3887a51ebe614e0dfa60afe1c5c0bd76911d01450952408384fb88e795897c0ed64e28c5f00b71", + "tcId" : 306 + }, + { + "comment" : "dropping value of sequence", + "message" : "48656c6c6f", + "name" : "RsaSignatureTestVector", + "padding" : "3000", + "result" : "invalid", + "sig" : "2b58ee609310e66e3d812f20eb3a9e2995bbd5947b5569c0c23aad8638590a43c8610e25fe6c248b74392ebe9f4edabb1e5b918e227f49bb9df288f5755d06f7a22e8e7e3d63b21ac023d35067142f301bde6f6ce017ffdd256647861801e3dcf38b18888b9986eb2c944937fe1706e28988f0781b7acc83c4a0ef4b40b25b44", + "tcId" : 307 + }, + { + "comment" : "dropping value of sequence", + "message" : "48656c6c6f", + "name" : "RsaSignatureTestVector", + "padding" : "301830000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0", + "result" : "invalid", + "sig" : "1bf19d3dbdc4d1ce61350bb52d11ef6ecde6816b875ce7fa7361bb2edf84115313cb95d21f3472b7d178e27c0701c6ab528a735fc0ced0a8af81c78d96227ffecc545c8cb7a49fe269e97d647b5b01e0996f29689504b1ff4e4d8e08fab6756ce9603c0bd622b4e74eb8c18373ac1efd5074d08ddaf8fd7c3204e25fc0c99328", + "tcId" : 308 + }, + { + "comment" : "using composition", + "message" : "48656c6c6f", + "name" : "RsaSignatureTestVector", + "padding" : "302530013030200906052b0e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0", + "result" : "invalid", + "sig" : "5e1f0d448504349b31c8a5ed03e066c7dd7878622fe42d645bae8592aee87e1056504d92a88a3626c54fe3da07649ae6bb30315f3c3b358beed1afd38d414785906dbbc6d0e188f9006756a545a1d1979a496449689ee3cc067072624ef5f2de8a1f6f0c798e8bbbb9b6e14db12512feaff11063dc3ca3a5b3bd5926bcabbd78", + "tcId" : 309 + }, + { + "comment" : "using composition", + "message" : "48656c6c6f", + "name" : "RsaSignatureTestVector", + "padding" : "3025300d3001063008052b0e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0", + "result" : "invalid", + "sig" : "18d30faf84664f79faa0dd0285c408fe54793df5858ed7cc367d62847470e32f433edb77c30f0d0dd549220cb18eba18d1076820ec27ac37bbd8b989b847ed8c84ed1930e7ea8566a9d043807b0f03fae51aa0046483343ae06831743fa79f4438190164e9d5e75610bb5fb9201365dd9dd4aa6b5dcafcfd73161dde7da40e99", + "tcId" : 310 + }, + { + "comment" : "using composition", + "message" : "48656c6c6f", + "name" : "RsaSignatureTestVector", + "padding" : "3025300d260906012b06040e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0", + "result" : "invalid", + "sig" : "981a4523b61116d28d4bdb8d80969f7fe1cfbb06f4dd218d05fa332680b1342d20f0e4d4a1a6401ad777615fc56e3ca2fccaf07139f43ebe1d92d20605f8c894d88e8c062487fa86f51b2026dd12ba68077c3551d928990848bf0de07cd880194f2ac276af86c1e55e25044be3c7204ddafdcd61795a9e3b7885a88f43aa6b8f", + "tcId" : 311 + }, + { + "comment" : "using composition", + "message" : "48656c6c6f", + "name" : "RsaSignatureTestVector", + "padding" : "3025300906052b0e03021a050024180401f70413ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0", + "result" : "invalid", + "sig" : "98d603185c1e2927622056c9053a62e17ea4aab5808418725cf8887720f5f3500cfe6ffa00513e45b72c9fe44d288d06555bf715282f6feb685df2f44bfcb3ed541653139eeeaeabeae9d52514495b604512a9ad6223f68a860612b668f5a0993ebd5c9ce9cc00baa80484d60b01c23a6abf40be03cd1cce3317563b1f9326f5", + "tcId" : 312 + }, + { + "comment" : "truncate sequence", + "message" : "48656c6c6f", + "name" : "RsaSignatureTestVector", + "padding" : "3020300906052b0e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0ab", + "result" : "invalid", + "sig" : "3b5c1e0d3dc103755b67feb766d58968f94e8d8af6a209f6d28e7c0541a4fdf7a6976f664414f5ee0beb9369a59681291fb2c902853fcaa01bd065fb7a1da967849cf45bf558e375058591b3af1b5c8a18da21d5dd7598e7e3aebe0478180200294b86d88b1c39e224bc1dc22f1a8e537e05db467b5a04dc70ab9346c79fddd0", + "tcId" : 313 + }, + { + "comment" : "truncate sequence", + "message" : "48656c6c6f", + "name" : "RsaSignatureTestVector", + "padding" : "30200906052b0e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0", + "result" : "invalid", + "sig" : "61b6f98e16e4809448e56d9845850b748bdb64064ed4851c141c57e93c37744bd91f54f5ffd9264f151294e6f73bc8d5a51daa06b9121bfea1f28847229875ab87a7297dc383987db1f6bc1133e344a95af6d34fd18105d154ca951e4e6f64f9fde7994207ddd5eb6bb2a07037f13c8d853a8b8684431d5ecf1cc9bde41cda49", + "tcId" : 314 + }, + { + "comment" : "truncate sequence", + "message" : "48656c6c6f", + "name" : "RsaSignatureTestVector", + "padding" : "3020300806052b0e03021a050414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0", + "result" : "invalid", + "sig" : "8c05912e8ebe5f2cc9fcbc2410bcb63b217756cd961db8caba316634c6ce191f365a21137602373f357461e9020b702025c61e3571cac6967a8f68375a9cd4792222b59c54e21649776f6e7d5995448779f7f9d32bb4e0e4e2b612b5c2b8574d98d01b9cdd26965541c0a67d484e13d4f49095ff7030b180569058376c7926a5", + "tcId" : 315 + }, + { + "comment" : "truncate sequence", + "message" : "48656c6c6f", + "name" : "RsaSignatureTestVector", + "padding" : "30203008052b0e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0", + "result" : "invalid", + "sig" : "8bf895e0a26741d142767e67e73f102180a5e2083ee27d869585cd02c0211673641ab3e4f84cfdb2748b0a3a39db047fca2261c7ab3a7bac575990741d15c543f83f9da27fb5da3362ad1ce1a0eccf853b9e0a36f851b6cb5734cd22bc3b621193db37e13dd06d8854ff111dac2c939618aa041abce70123cb14d62d527223c1", + "tcId" : 316 + }, + { + "comment" : "indefinite length", + "message" : "48656c6c6f", + "name" : "RsaSignatureTestVector", + "padding" : "3080300906052b0e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf00000", + "result" : "invalid", + "sig" : "5280f9fd14542d5b61a951893b081540d922ba15a7a650aced363106d97b69aff5b1ad624528b7560dce27c3a3e8f8657c8b0e9b83ab63342550fea7469ec14ef1cf48ed33515d56c7872d5eae8cf2480ae7549a8ce4c56748d08c4f3a61bd13b9c9ead6bcaa113bf3f85a112057658689ea075fc8ac7d74216918d588865ec7", + "tcId" : 317 + }, + { + "comment" : "indefinite length", + "message" : "48656c6c6f", + "name" : "RsaSignatureTestVector", + "padding" : "3023308006052b0e03021a050000000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0", + "result" : "invalid", + "sig" : "88cd60c74205ced62ae7bf35eae4c86826ca946a9b3bf190ab8069734489058191b6a501b6766fce0f5a3e5f7a39c0deae40aa66ab36b5a2a39d955650118ded3a8dba0df5b50056058cd643630133c4f2cbaaf8055cbe96e63e8fef8074fa23e1f1d5a1b5cb5ecde5fde92c78441f2907aa53ae9e3e09f0a7a7628e4e2be5df", + "tcId" : 318 + }, + { + "comment" : "prepend empty sequence", + "message" : "48656c6c6f", + "name" : "RsaSignatureTestVector", + "padding" : "30233000300906052b0e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0", + "result" : "invalid", + "sig" : "91c68a2673606cff82abf69c9e2d591315595a3a0b612d6d2708528be0184c9116195f58cb4109a69f8d2f7cbf4036affcebe7a1615a914833b921b915ea12b16324e6e74f95d6eb5b03201d67b945f03296ffb37ef7cda908e83f44dbed24a54e81b71f840668fa4fd82b29c0e1c5b1c021d481c73a662668603d3fbf5182dd", + "tcId" : 319 + }, + { + "comment" : "prepend empty sequence", + "message" : "48656c6c6f", + "name" : "RsaSignatureTestVector", + "padding" : "3023300b300006052b0e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0", + "result" : "invalid", + "sig" : "17c921fb3a8535f2e472df2c447a60f2fe49a4afeefa065f1c84e50dc97f989268ae6bf1e8d77f5b2edd59c2c7f3653b7565902c5b889ec7007fb9006f244257649888a4a1883146c88828717d381018b1f00d656d5e092172f49fadb42f913a92ae1eb4e01e3c2490e1dc52a109e37094188bcaa181898d97ea2c0203a885a8", + "tcId" : 320 + }, + { + "comment" : "append empty sequence", + "message" : "48656c6c6f", + "name" : "RsaSignatureTestVector", + "padding" : "3023300906052b0e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf03000", + "result" : "invalid", + "sig" : "077b2d2e79ff380612aa3f9c79e8b7a580ffafdab8ca3ec86501c40248b3459c0c7b2590fc18ccfba2b0e7a34c67b8d3a7ed92fa686170475666570d38464720b4983e5c374f1b6c604226284a62e20a8a37341abd72f238aec8a2cdfeff00c512c28e608ce98e4bf3640c61509ec56f7e2143216214eb5b06bfd0fa448ba633", + "tcId" : 321 + }, + { + "comment" : "append empty sequence", + "message" : "48656c6c6f", + "name" : "RsaSignatureTestVector", + "padding" : "3023300b06052b0e03021a050030000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0", + "result" : "invalid", + "sig" : "2121389e8b2282bf6022c45e7a3ac9f42bd7f13ea37060f6989bacc72fb6e887db8128024698a5c76adea034c69604b1f56e062627c840cd2f80802e6f2764606b96b78506614198844319bf7726b95afdfd19d5ffda1ccb159646bee5c3d81adf56f2b54edf749ca99a86bc9452f6a307eae06f028f86b4af17137f6a2352cb", + "tcId" : 322 + }, + { + "comment" : "sequence of sequence", + "message" : "48656c6c6f", + "name" : "RsaSignatureTestVector", + "padding" : "30233021300906052b0e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0", + "result" : "invalid", + "sig" : "059efdc649108b988ee6a63697701a3c98bf7c770dd525844dd6e936d0f468b3c786f82a03c4b1d23caca0dd2a62a6ac43f58b6cb311a819f7b9f48cb9b59b17306deebf1d69a7d93a2d9381e48ddd0ef1d0a07dc5a5568eeefb3832dbbad503e21141f6dd58a5bf503a469d49dd3edc5f3a712b7e63d8ae734ee1808a9654f9", + "tcId" : 323 + }, + { + "comment" : "sequence of sequence", + "message" : "48656c6c6f", + "name" : "RsaSignatureTestVector", + "padding" : "3023300b300906052b0e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0", + "result" : "invalid", + "sig" : "21d94c3d46c49bc86f376e2d4fba1495f98558e9f76136ba001f1f90befb6311771b700c1252894a5348491c262329e99cc52ee68e577615ebe73d59210f8ddd8b91ddced5fe98cd832b57a4c583318377892bb15bb7d545cc7a182fb47c3149b99e4db5f12df9105a055d0925d8f3d747a2f25ba1dd00a5184afa46695197e3", + "tcId" : 324 + }, + { + "comment" : "truncated sequence", + "message" : "48656c6c6f", + "name" : "RsaSignatureTestVector", + "padding" : "300b300906052b0e03021a0500", + "result" : "invalid", + "sig" : "690c052df7c7079aa3bbcc9d4699ac50bf0dd90b1d6822046c7ad1429900ce2c4882af9decd580fab0698e5ce3185bcc234561e051533283d022831fd8b19434e4bdbc84223ddcd99d1a8f28a9ba222394312d11d81ee95831b4264d5434c3122c30afaf6b990ccb4f6991f60e78195d3aed5f670c4c2fdc034a514b92c67519", + "tcId" : 325 + }, + { + "comment" : "repeat element in sequence", + "message" : "48656c6c6f", + "name" : "RsaSignatureTestVector", + "padding" : "3037300906052b0e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf00414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0", + "result" : "invalid", + "sig" : "4f4f38364932377af52adb8c51c5bd705088ddbfda713458377c3997915766ae05da5c797cbf24a9c73d36fa61b1b0bfb9c14e429c0b66fd6fe1ec041b9d14946588dc384a7a69bf2ab69fd8da67d0e1fab2dbf1838959cadd0d3ca03c9c0bc929d207be60ff8e08bfbb03f4423cd81fc5f587bbff3985d2beef69dce295b903", + "tcId" : 326 + }, + { + "comment" : "removing oid", + "message" : "48656c6c6f", + "name" : "RsaSignatureTestVector", + "padding" : "301a300205000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0", + "result" : "invalid", + "sig" : "6ea8317813355faec271a659d62cc94f7408fe73178a2de00407136a53b69d77136b9ef4533e3cda580761f42a683d4a02a2abb7aeb941a44854832d18950d8efc43ae8de29c0c97873761d126e15e7816d173dcaf9315dfa045681d9a4b37b2ce1578ffcbfb4c30cba6e1746ec3f95d310839d75ea873ffcc0ee82513342a71", + "tcId" : 327 + }, + { + "comment" : "appending 0's to oid", + "message" : "48656c6c6f", + "name" : "RsaSignatureTestVector", + "padding" : "3023300b06072b0e03021a000005000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0", + "result" : "invalid", + "sig" : "990ac0a5dbe9f30114427c45925353e49c235ec8fc5b19724bffa75eb7e93987ed97dc3107e2ec26b9bb2c51d53f92158fca0baea0d881cb829e0bfcbc88f0021bf967e44a245eadf78fa8eed67aee696fde1a2a79e05a7c6a049f3af282a394f743bb4eedc9798b2d3290e8255a2339fb7a694e789a6fa38e2a236b948f48e1", + "tcId" : 328 + }, + { + "comment" : "prepending 0's to oid", + "message" : "48656c6c6f", + "name" : "RsaSignatureTestVector", + "padding" : "3023300b060700002b0e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0", + "result" : "invalid", + "sig" : "3c8995341ca2811f9e976e8157e708aa59b38f8e1a24ed16d8b30a19fa23c5df8b1ac2b3c82fbf91800918a2ad6b9320b10e39fb391254a3d954a278faffa97a2052513ccc8b17783faed189b8a4d997d7baba3053d6ab6493e2e36b3ee5046ea62d37a835a51390252dff088cc3a0a33cd1a82e557a0be0d5871b4fa18c05e2", + "tcId" : 329 + }, + { + "comment" : "dropping value of oid", + "message" : "48656c6c6f", + "name" : "RsaSignatureTestVector", + "padding" : "301c3004060005000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0", + "result" : "invalid", + "sig" : "87b5cb8841fa252f38c375b39ccce2d0361397a8436d2f37ca3e2293e554ca27fea1095683e42f274ccead1876d89dbb4e5dcca8e28972aeabe3d818144e96c020bef1de944724d1c2a813c633f8e7f8b6f8c8950d2c89dd26534430ff9cb6f5f08b332638b1385770a69bbbf6f76342b8270e2bd440df058c2ad55f9a0dd679", + "tcId" : 330 + }, + { + "comment" : "modify first byte of oid", + "message" : "48656c6c6f", + "name" : "RsaSignatureTestVector", + "padding" : "3021300906052a0e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0", + "result" : "invalid", + "sig" : "288ea84a615e75c398407dc72e2482ffc013e09b1ba302790d17d0949e286c156584e6098858501b0c5c763615e59d840ec53269bf0ff5bab1f79c8e717497e705724fe933343106bab5b9e619b0a111a59b72be36372efb6fb981be725e3408a1185a5f42d486d8c052af448f0abedbeafaa1d5d8caf5fc03d85329fe675f9a", + "tcId" : 331 + }, + { + "comment" : "modify last byte of oid", + "message" : "48656c6c6f", + "name" : "RsaSignatureTestVector", + "padding" : "3021300906052b0e03021b05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0", + "result" : "invalid", + "sig" : "222c07c03d0c5bb3cbe70a8835447ff9af92ce32245f0e1de0481d87bd174731093f9b84aa5381b107c00fde8ed78030026d87951f8e5b6180827ff2a0a277db3a8f5031a82b83259bf6baab154cda64b372ba3cac5c629459284d986f3c2367e8b14f6dec7d38628e4ecb884158cc78ac39f4c9ee537d45370b089418d7227e", + "tcId" : 332 + }, + { + "comment" : "truncate oid", + "message" : "48656c6c6f", + "name" : "RsaSignatureTestVector", + "padding" : "3020300806042b0e030205000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0", + "result" : "invalid", + "sig" : "3fcd54aa3d66afce987282cbfe09f0a6eb30d0c94227bef8a2c9fccba44f1c8aa080b361b13eed4c9d0d37caf26fe61ddac8347102d9080cb17f2cfdba7e217df3f8c19039d466241264ae8caf15652c8f72a6ae292dc71c80049d679034ad19bc745d6155cb2efde963f738cfea08f7bba8894f472beff5deebe33173033317", + "tcId" : 333 + }, + { + "comment" : "truncate oid", + "message" : "48656c6c6f", + "name" : "RsaSignatureTestVector", + "padding" : "3020300806040e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0", + "result" : "invalid", + "sig" : "4ad8a7e4a92ee9aeb1bf3ee9392abe141d435a6ebd1799d90f5417e6daef65d37bf33c8c5255d52ce5d8b2cc223cd0c68a6061450df5c6694e2b911c8c25e6384a70fb19a50e10bfbc494fe5a62d9db915b7c77a27d17788f0567110bb046b8aa42d3ee1ea444c20b983226cf094f4cbfab24855c68f1e2e9fefd41b2dc7903b", + "tcId" : 334 + }, + { + "comment" : "wrong oid", + "message" : "48656c6c6f", + "name" : "RsaSignatureTestVector", + "padding" : "3025300d060960864801650304020105000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0", + "result" : "invalid", + "sig" : "949fecb83ddc236d3c622c9b6118fe0bf524080594c731636eb735e7d1285b5b6c527a2346b51c42fcf706184c4edd79ac98750dcf35973920aa19dee689cb7654b4785d2755b0dde4113c293e301f4e0331cf166bd8c7ae07031165fa4c02a3d6d70422fe42c7c6077a1f1dcbdc0de257363d51951ed1e2b8cb66684d42a8b4", + "tcId" : 335 + }, + { + "comment" : "longer oid", + "message" : "48656c6c6f", + "name" : "RsaSignatureTestVector", + "padding" : "3022300a06062b0e03021a0105000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0", + "result" : "invalid", + "sig" : "8a52f6b0275fe745b429d0a4a42122269277de6a5eacd0daf79166cf8ab8ad061e74d91ee1877bb6ca50b9bcc5f0677702184e6d8ffc841fe3b6c24c9cd6dc017824bad65d89a47a21e54f87005afb3f13cf11d10383458548394211074f19da555205026f4fcdfafb73041bb84f1dd9e8012bb1473314c85bb3460d51ab5f13", + "tcId" : 336 + }, + { + "comment" : "oid with modified node", + "message" : "48656c6c6f", + "name" : "RsaSignatureTestVector", + "padding" : "3021300906052b0e03022a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0", + "result" : "invalid", + "sig" : "216fc9e3ee6438bf1934f30ea7a86aba6ecbfc04fbbced4576a6c59f7a9f5a761d6a97d262142489807e4ca1b9bc02c86a80e093b55fc97bc943be0403bcf390f6140de964199f753b7afe430308b871fc0c596c1b08ca74006a10bdbd6a53064796747bbc203383ac7916ca1ef1a2def714e9f5f9ce9584cb09bd677ef374be", + "tcId" : 337 + }, + { + "comment" : "oid with modified node", + "message" : "48656c6c6f", + "name" : "RsaSignatureTestVector", + "padding" : "3025300d06092b0e0302888080801a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0", + "result" : "invalid", + "sig" : "135f14404b953bbcf4580133f0432cd746a5601ae01c5542924a1b28fc422c501c732dc330bb81d8df7a2a3829e6c5a151e81333832cb124d513f5b6fe799e207999c3010bf30689cc4b8b3bdb081d7351b47196de41e9f988c2eed49c22c7b0a6ca3eed511080fdc17d263b82ba668d3225da4fe66bffae68c536c4e38b2dcc", + "tcId" : 338 + }, + { + "comment" : "large integer in oid", + "message" : "48656c6c6f", + "name" : "RsaSignatureTestVector", + "padding" : "302a3012060e2b0e03028280808080808080801a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0", + "result" : "invalid", + "sig" : "21fb0d97e5e1a178b08e2bd646f59ab8ad1a7a955afa71d4c0e4631069ec8436abff03327b696c90b91f7769fe0b085a83ed2bed876a9da05f273b58ed057429ddf25a8b1bc0c87ccfbc8394864405c0b7c27d4a4b589d7a5711f36d8922729169520d7bffd52aefc41205a6ee8a54609d0533c64bc8e88b3d58ed9a04d2f9fa", + "tcId" : 339 + }, + { + "comment" : "oid with invalid node", + "message" : "48656c6c6f", + "name" : "RsaSignatureTestVector", + "padding" : "3022300a06062b0e03021ae005000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0", + "result" : "invalid", + "sig" : "9be13e0d25b9cd6a1b8544fb488254319505a1fb27fda933f8b91f6f325b5beffdb71dbf377093da2e0ca3098c891cf7d8a8762e1e27ba1d4e6491ac3fa4c8ad3d4e4937621904a347d197fb373c62766ad14525e2c32913e7fe6f045eaca77c9a5025a6746f9c7b94cab054c476548dd1eb3e01c5923ed681fa04d47ba126d2", + "tcId" : 340 + }, + { + "comment" : "oid with invalid node", + "message" : "48656c6c6f", + "name" : "RsaSignatureTestVector", + "padding" : "3022300a06062b800e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0", + "result" : "invalid", + "sig" : "4738deff4b32a30dd68b0abc1971dd2af9a500b5f6922558b96ac9b1ab4a50328b2ba9a48e7c207a02ddf642728930f4004d337483eaa0a01fb038a7a6c289672bdaf1016120f2faea563f179d3d623d3ec9bb5d936ea2a7f74d2bd70a06c83e904df55f5142c5c6b6f75221397dabcb19e069436b94ca764a5016141496503d", + "tcId" : 341 + }, + { + "comment" : "appending 0's to null", + "message" : "48656c6c6f", + "name" : "RsaSignatureTestVector", + "padding" : "3023300b06052b0e03021a050200000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0", + "result" : "invalid", + "sig" : "977a5c762a4dcbe9551a4a0bcfe96114aa59187e6dd0164cbbec2d28ff9d11e413a1de7f274704c24229c99ce9b5a3d98872db56310be7259a2fa44e652c4d02f8802360d3a29ded2a7de0a183001e74b3aa3fe594867294461d6a23160481ecdee9c05c28ce066021847a23366cb147013f57ce53a24791dd1873527f1323f0", + "tcId" : 342 + }, + { + "comment" : "composed null", + "message" : "48656c6c6f", + "name" : "RsaSignatureTestVector", + "padding" : "3027300f06052b0e03021a2580aa00bb0000000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0", + "result" : "invalid", + "sig" : "79a42d1f294f82bd6ad48818f1f634733fbefea7def5ea32a1ed56de994ac047011695a0c8a11813d042ee6784cb172da76aa0ed892e53d4bf99fc21301a91181e7c93a56646190aeeb4a1c212d34d17484521580d84adb41b2a5cc285963509d0c832e5a2252e5cb028839d9db7bdabb7689219b97d699277ed004ca6389b61", + "tcId" : 343 + }, + { + "comment" : "appending 0's to digest", + "message" : "48656c6c6f", + "name" : "RsaSignatureTestVector", + "padding" : "3023300906052b0e03021a05000416f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf00000", + "result" : "invalid", + "sig" : "37ddb1b141539dfc350974039429b948cfd8acc40ecab7270b3e560f0876cec68fa22c8dbf09c8c25955819a5cfc6d251ab99cd06c013792207caa2ada95d4fc01a6d89329e211869c02c648a64b721e92ef3aa767569ba2f0c7c376772926a95ededa5d3f0ce10ab3b2b25f70fee1702dfedb0605ef6401f3f44c464ee98110", + "tcId" : 344 + }, + { + "comment" : "prepending 0's to digest", + "message" : "48656c6c6f", + "name" : "RsaSignatureTestVector", + "padding" : "3023300906052b0e03021a050004160000f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0", + "result" : "invalid", + "sig" : "85c2c430e7cc2e989e729186cb1256a5f7e78bbb6e135b36a43059389f57cc7fd67ccf20becc0d9e63731ae4ee77e926754ee5226991f9bd46203f7fb88562b00974dad035b1a0f39cba567dc0ed3cb3f7bf51326e62b0f82d8aaf8cc8dfb96c08c64235dc2a4f612bc29a8d4fb4b1edff1cd517d1c981a809ce9708a547a765", + "tcId" : 345 + }, + { + "comment" : "dropping value of digest", + "message" : "48656c6c6f", + "name" : "RsaSignatureTestVector", + "padding" : "300d300906052b0e03021a05000400", + "result" : "invalid", + "sig" : "708e3d4577c0ced7b4d729b5124169f67836738bc18f82537dbe1c9a48054769ed0888751a823eedd05408ed934a555655d473dcec0fb5c6f19aee82f1dedf3f4fa14171c3ccbd3f1f9920f233a21be4341134f25636cbdd55918e9da76568c3ba55c630ee3e9eaa4dba7bd989fe0534925d1c47592214eb4869bcd42b60c92d", + "tcId" : 346 + }, + { + "comment" : "modify first byte of digest", + "message" : "48656c6c6f", + "name" : "RsaSignatureTestVector", + "padding" : "3021300906052b0e03021a05000414f6ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0", + "result" : "invalid", + "sig" : "0a581f33a2e1e1665032331dcd1baefb9048af3efa9d6e24ae8e73fb0611422db4426bf804c08ea5ee7089574d4b657cb526437bf677fe3f9e140ee76f4ee2a9514bf0772670de18141840d93f12975013b84dfb74fb450f3bf2cf1cb0cd0267fe521f01d85efd8726be12e9c574907e97a2834cf00910b164732e5daeff4acc", + "tcId" : 347 + }, + { + "comment" : "modify last byte of digest", + "message" : "48656c6c6f", + "name" : "RsaSignatureTestVector", + "padding" : "3021300906052b0e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf1", + "result" : "invalid", + "sig" : "0c64af0070eb86bb4abe059fce3fe3ced43fb4c19d1c3560877ef54c575530d0473ff2691781c2f7d7aa971b07e517888dc50cd63b0b07e2eb5aa18c6c5ea7f5c9e8e4c7d283808e40920c83cdba64a7e9d01b1e15710b1caa6da8686cc2e4e3b8cc276204c3e21f3e352e81e081660b18a8e6057f2227b117c2c9c5021be26d", + "tcId" : 348 + }, + { + "comment" : "truncate digest", + "message" : "48656c6c6f", + "name" : "RsaSignatureTestVector", + "padding" : "3020300906052b0e03021a05000413f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0ab", + "result" : "invalid", + "sig" : "313624a0449c7f2f19878797dab59c91ed45ca0910aed355737635283d56edc7f470628e119a70f7d40b238e0ead042ec1c1c377272fa3ca975cc21eeec934f758ce70f19e00f592a0e5a4aad8e9956d9fd7dbbc126b6a001f20c42b517ba54511630382612f2bacb9711c87d9a19897c8c44f7905f548b558fada6a2c9912c7", + "tcId" : 349 + }, + { + "comment" : "truncate digest", + "message" : "48656c6c6f", + "name" : "RsaSignatureTestVector", + "padding" : "3020300906052b0e03021a05000413ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0", + "result" : "invalid", + "sig" : "4a3539eaceb4691d856020b9acc11854892df705ad7994759dea2efe0c5384e8f86ebeb3f4360ab0bc7d35c8ca520c8d0a1c869f3979ddedbb60437e798332a0ef7a52ca86b430ebc6aa57114f6057c8f18066ca1483cbe8a8ad3a1e96476a21d53ac6f6a4e18ee965371ebe58184fdcec67f0d42cd16d6ce6800ec87978b759", + "tcId" : 350 + }, + { + "comment" : "wrong hash in padding", + "message" : "48656c6c6f", + "name" : "RsaSignatureTestVector", + "padding" : "3024300c06082a864886f70d020505000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0", + "result" : "invalid", + "sig" : "1d8eb339d60f873bf3dd07816dbd8a5b5e61805e26654e5a5869fcbef176a61a3b2c173778ce5fb7323dee2f4e42a272474576e8942ce04c66a17d2ccc093e529df580d047159f7c1266af51b7a7f07f43a28e309111540a80fa76b25b6d86f9d2fc99a28d1715567545509f80beb700fe9cfb82be7bc801794b7d32eb9b584d", + "tcId" : 351 + }, + { + "comment" : "wrong hash in padding", + "message" : "48656c6c6f", + "name" : "RsaSignatureTestVector", + "padding" : "3025300d060960864801650304020205000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0", + "result" : "invalid", + "sig" : "3b2ead8d64cf96e26db3ba9d1ff63a187a715d04e3a7dfcf6c85790896793bc19c0ea6c5266cd4ebc25b859a07ad6459942eb46f3efcb9adbc29f3fa5acf0013d5baf3089e3ec5cd3401ae282670d27493b0ee33e391a9d32283b224036405c9d61bbb470dc8a69762bc35483d3d26c1c8e16c311e5d3e284f1d51383ce7bdcb", + "tcId" : 352 + }, + { + "comment" : "wrong hash in padding", + "message" : "48656c6c6f", + "name" : "RsaSignatureTestVector", + "padding" : "3025300d060960864801650304020305000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0", + "result" : "invalid", + "sig" : "6b23ad94314f022d64a7b525aa933b7aef8184b66473572bf41c00f899dbeeb95755da7c749a0ce5cb09d3567ebd4ceb0033a1b16cfa13e85fd1745640a5306229a14a9c67c07f75058ad1dfebee25c44ba3bbf75fa053ef74717ea7f972dcf7d7d23901a3aed841e0ca419aa570a605e0d189d2b51ce3f00497c0bf16998ade", + "tcId" : 353 + }, + { + "comment" : "wrong hash in signature", + "message" : "48656c6c6f", + "name" : "RsaSignatureTestVector", + "padding" : "3020300c06082a864886f70d0205050004108b1a9953c4611296a827abf8c47804d7", + "result" : "invalid", + "sig" : "53ee28bf3582045ff9a6f7d813b9453fc5813245b198d98cb141f6f36202240746b9d3778006aa4cd3905bffed0fde38157d8e8809228871fb48037706ddaaebd31ecebe3dae0516539509bfaea18dc1fc3c7f29620f3214db5d70005e1323094aa8f94ac9d64d9d02ff2010178425027145740b40640a43ff24db043a7a2d2b", + "tcId" : 354 + }, + { + "comment" : "wrong hash in signature", + "message" : "48656c6c6f", + "name" : "RsaSignatureTestVector", + "padding" : "3031300d060960864801650304020105000420185f8db32271fe25f561a6fc938b2e264306ec304eda518007d1764826381969", + "result" : "invalid", + "sig" : "171b1a7fa8cf97283809515866708d449f184d675613cbd33e91586f8e238946f860915f0fb6a390bc7cedfcf7d1621f49f3c6f39b7412d75660fbe3c2326c48399b7d41dfceeadabf0cbfc4b7dd756d8bdc38d28e80fb60e743fdf6d81973959d2c6b111fa0d8f3c9c8677c0c8030001b12f3e2c5990822154b1b762162dd7d", + "tcId" : 355 + }, + { + "comment" : "wrong hash in signature", + "message" : "48656c6c6f", + "name" : "RsaSignatureTestVector", + "padding" : "3041300d0609608648016503040202050004303519fe5ad2c596efe3e276a6f351b8fc0b03db861782490d45f7598ebd0ab5fd5520ed102f38c4a5ec834e98668035fc", + "result" : "invalid", + "sig" : "9810d39416595ad79cf376b41e6e5f94fb89f61ae78bc5a0c710fab15d369dd7f050b035e5c2b8cdfe10d06be739bae08b47afd0b7dd2b226905f3ee718ccd5b5fb5b951558a62d83a2f3ba5dd1990d2d3e05c461e33ccaa1bbc22350c3ca157351a5b88ad3b1f524fc5cec5c1714a8ab3ef709e462434a6048133846fd1d85b", + "tcId" : 356 + }, + { + "comment" : "wrong hash in signature", + "message" : "48656c6c6f", + "name" : "RsaSignatureTestVector", + "padding" : "3051300d0609608648016503040203050004403615f80c9d293ed7402687f94b22d58e529b8cc7916f8fac7fddf7fbd5af4cf777d3d795a7a00a16bf7e7f3fb9561ee9baae480da9fe7a18769e71886b03f315", + "result" : "invalid", + "sig" : "57532194f33bfddba2e848b9342342114e2c6dcffe228cb97b72ac9e26b77cd336a6fa5c8152db0d536c6fb3cc48487a89cfcf42990593fd0dad420b46fa87ea2b9c9962025dcc2b8a6d5a0476408a62d9c276fb5eb8e97e5f1726918fef41c0d12ad420525a803d804002061c3bf355a3c4fee4ce42016cb0e0531d2657726d", + "tcId" : 357 + }, + { + "comment" : "using PKCS#1 encryption padding", + "message" : "48656c6c6f", + "name" : "RsaSignatureTestVector", + "padding" : "0002ff...00", + "result" : "invalid", + "sig" : "572ecc55660cc4f8888559092f54e4ee0dc6a57d0722bcba6b608869bc0e86ed53f8d88180b40c006ff10dbf32ba2c6bf3558e22a688f7d68a6d38740b99dd2a2eaa6fc94fe9fa76a0bf775c0eca5751ce7837a3da3db7dc648fb94ed0def4996eb40e168d49417dfd82c86f2c586fc49dfa37a6335b8a76aee84c755610948b", + "tcId" : 358 + }, + { + "comment" : "using PKCS#1 encryption padding", + "message" : "48656c6c6f", + "name" : "RsaSignatureTestVector", + "padding" : "0002ff...00", + "result" : "invalid", + "sig" : "849f48195c7ae50b762ff93e350bacdf52e3eef5f86dbec5115d74ccfb2c9a49cc91115f6935b71deb424865666ba070299e17e64c3ce5019e1481ee195cffb4fc1f92f026cea579bbe9f78d7c665dd7f65af7c3221bae50d5c0b50ede25a3993979d167a86db511b9ace4f11c331f892f06e72d17e934da9a83a3c703b3409b", + "tcId" : 359 + }, + { + "comment" : "invalid PKCS#1 signature padding", + "message" : "48656c6c6f", + "name" : "RsaSignatureTestVector", + "padding" : "0001ff...ee00", + "result" : "invalid", + "sig" : "29b9b831e6694768910397fbe53e0a6868f75e3910d600e3421349bc4321d93067c78f6294b00e52e9c2fafdef67e0a460c3d76e6196fec6aab5c4964a4782c5da021466908d106193ec1b6b0bae4c9a5e3fcc4a355565c1dcfb76c489b4c3ad11b6f2182188470edf748eaf81646fcc164c60c1a55e9334076d8b5ce3d09808", + "tcId" : 360 + }, + { + "comment" : "PKCS#1 padding too short", + "message" : "48656c6c6f", + "name" : "RsaSignatureTestVector", + "padding" : "000001ff...", + "result" : "invalid", + "sig" : "583dc8ac657ac9d55c74b6505f1a7a4b2225c038f36cc66d76a7eb8c818195b138e8bb2b26ac5a01ce32aa3f590815f0ecdf693877bdb12c5dd55b947b91f83d66639874ca263d1227dd0b6531e3eedf0b1e87a92b8db4be7c3c40d70865f56c8e0b6cf6607d47ed44acff9c4360d65f847f4ae947a13e4a56dff1d11503bc9b", + "tcId" : 361 + }, + { + "comment" : "invalid length", + "message" : "48656c6c6f", + "name" : "RsaSignatureTestVector", + "padding" : "2 bytes too long", + "result" : "invalid", + "sig" : "9e62337ef7d4fabec2561bb45a18a362022b23666571bbc762c1c717a14a46d8f58119072aa26245e71fc6945540335163798fcbdea04b3104ee23f2c3874bbfb3e7e0c1ba5f1fca909265274414db6957a5eb668e0e36a388784355d528e51a6a4a9a9c6b6ab912812a268dac9dcacf1c13507768e63b1f82f8af29c3786a170000", + "tcId" : 362 + } + ] + } + ] +}