aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--BUILD.bazel19
-rw-r--r--README.md23
-rw-r--r--WORKSPACE9
-rw-r--r--java/com/google/security/wycheproof/AccpAllTests.java12
-rw-r--r--java/com/google/security/wycheproof/AccpTest.java8
-rw-r--r--java/com/google/security/wycheproof/BouncyCastleAllTests.java2
-rw-r--r--java/com/google/security/wycheproof/BouncyCastleTest.java2
-rw-r--r--java/com/google/security/wycheproof/ConscryptAllTests.java2
-rw-r--r--java/com/google/security/wycheproof/ConscryptTest.java2
-rw-r--r--java/com/google/security/wycheproof/OpenJDKAllTests.java2
-rw-r--r--java/com/google/security/wycheproof/OpenJDKTest.java2
-rw-r--r--java/com/google/security/wycheproof/SpongyCastleAllTests.java2
-rw-r--r--java/com/google/security/wycheproof/SpongyCastleTest.java2
-rw-r--r--java/com/google/security/wycheproof/TestUtil.java31
-rw-r--r--java/com/google/security/wycheproof/TestUtilTest.java55
-rw-r--r--java/com/google/security/wycheproof/jose4j/JsonWebEncryptionTest.java3
-rw-r--r--java/com/google/security/wycheproof/jose4j/JsonWebSignatureTest.java3
-rw-r--r--java/com/google/security/wycheproof/nimbusjose/NimbusJoseJwsTest.java9
-rw-r--r--java/com/google/security/wycheproof/nimbusjose/NimbusJoseTimingTest.java266
-rw-r--r--java/com/google/security/wycheproof/testcases/DhTest.java70
-rw-r--r--java/com/google/security/wycheproof/testcases/DhiesTest.java13
-rw-r--r--java/com/google/security/wycheproof/testcases/JsonPbeTest.java409
-rw-r--r--java/com/google/security/wycheproof/testcases/JsonPbkdfTest.java275
-rw-r--r--java/com/google/security/wycheproof/testcases/JsonTest.java2
-rw-r--r--javascript/BigInteger.js5
-rw-r--r--javascript/EcUtil.js1
-rw-r--r--javascript/TestUtil.js2
-rw-r--r--javascript/webcryptoapi/testcases/EcdhTest.js6
-rw-r--r--javascript/webcryptoapi/testcases/EcdsaTest.js4
-rw-r--r--testvectors/json_web_signature_test.json195
-rw-r--r--testvectors/x25519_test.json15
-rw-r--r--testvectors_v1/ecdsa_secp256k1_sha256_bitcoin_test.json4
-rw-r--r--testvectors_v1/pbes2_hmacsha1_aes_128_test.json1228
-rw-r--r--testvectors_v1/pbes2_hmacsha1_aes_192_test.json1228
-rw-r--r--testvectors_v1/pbes2_hmacsha1_aes_256_test.json1228
-rw-r--r--testvectors_v1/pbes2_hmacsha224_aes_128_test.json1228
-rw-r--r--testvectors_v1/pbes2_hmacsha224_aes_192_test.json1228
-rw-r--r--testvectors_v1/pbes2_hmacsha224_aes_256_test.json1228
-rw-r--r--testvectors_v1/pbes2_hmacsha256_aes_128_test.json1228
-rw-r--r--testvectors_v1/pbes2_hmacsha256_aes_192_test.json1228
-rw-r--r--testvectors_v1/pbes2_hmacsha256_aes_256_test.json1228
-rw-r--r--testvectors_v1/pbes2_hmacsha384_aes_128_test.json1228
-rw-r--r--testvectors_v1/pbes2_hmacsha384_aes_192_test.json1228
-rw-r--r--testvectors_v1/pbes2_hmacsha384_aes_256_test.json1228
-rw-r--r--testvectors_v1/pbes2_hmacsha512_aes_128_test.json1228
-rw-r--r--testvectors_v1/pbes2_hmacsha512_aes_192_test.json1228
-rw-r--r--testvectors_v1/pbes2_hmacsha512_aes_256_test.json1228
-rw-r--r--testvectors_v1/pbkdf2_hmacsha1_test.json937
-rw-r--r--testvectors_v1/pbkdf2_hmacsha224_test.json844
-rw-r--r--testvectors_v1/pbkdf2_hmacsha256_test.json876
-rw-r--r--testvectors_v1/pbkdf2_hmacsha384_test.json844
-rw-r--r--testvectors_v1/pbkdf2_hmacsha512_test.json844
-rw-r--r--wycheproof.java.security4
53 files changed, 24156 insertions, 68 deletions
diff --git a/BUILD.bazel b/BUILD.bazel
index 54addd2..e37b2d0 100644
--- a/BUILD.bazel
+++ b/BUILD.bazel
@@ -16,6 +16,25 @@ java_library(
],
deps = [
"@com_google_code_gson_gson",
+ "@com_google_guava",
+ "@junit",
+ ],
+)
+
+java_test(
+ name = "TestUtilTest",
+ size = "small",
+ srcs = ["java/com/google/security/wycheproof/TestUtilTest.java"],
+ test_class = "com.google.security.wycheproof.TestUtilTest",
+ data = [
+ ":wycheproof.java.security",
+ ],
+ jvm_flags = [
+ "-Djava.security.properties=$(location //:wycheproof.java.security)",
+ ],
+ deps = [
+ ":utils",
+ "@com_google_guava",
"@junit",
],
)
diff --git a/README.md b/README.md
index ea0d24b..f930904 100644
--- a/README.md
+++ b/README.md
@@ -50,15 +50,20 @@ check out our [documentation](doc/).
Project Wycheproof has tests for the most popular crypto algorithms, including
-* AES-EAX
-* AES-GCM
-* [DH](doc/dh.md)
-* DHIES
-* [DSA](doc/dsa.md)
-* [ECDH](doc/ecdh.md)
-* ECDSA
-* ECIES
-* [RSA](doc/rsa.md)
+- AES-EAX
+- AES-GCM
+- ChaCha20-Poly1305
+- [DH](doc/dh.md)
+- DHIES
+- [DSA](doc/dsa.md)
+- [ECDH](doc/ecdh.md)
+- ECDSA
+- EdDSA
+- ECIES
+- HKDF
+- HMAC
+- [RSA](doc/rsa.md)
+- X25519, X448
The tests detect whether a library is vulnerable to many attacks, including
diff --git a/WORKSPACE b/WORKSPACE
index 8f293b5..6b427c2 100644
--- a/WORKSPACE
+++ b/WORKSPACE
@@ -386,6 +386,15 @@ java_import_external(
licenses = ["notice"], # Apache 2.0
)
+java_import_external(
+ name = "com_google_guava",
+ licenses = ["notice"], # The Apache Software License, Version 2.0
+ jar_sha256 = "6d4e2b5a118aab62e6e5e29d185a0224eed82c85c40ac3d33cf04a270c3b3744",
+ jar_urls = [
+ "https://repo1.maven.org/maven2/com/google/guava/guava/32.1.3-jre/guava-32.1.3-jre.jar",
+ ],
+)
+
load("//tools:local_repository_defs.bzl", "local_jars")
local_jars(name = "local")
diff --git a/java/com/google/security/wycheproof/AccpAllTests.java b/java/com/google/security/wycheproof/AccpAllTests.java
index c84c0e2..49c15d6 100644
--- a/java/com/google/security/wycheproof/AccpAllTests.java
+++ b/java/com/google/security/wycheproof/AccpAllTests.java
@@ -21,11 +21,11 @@ import org.junit.runners.Suite.SuiteClasses;
* Amazon Corretto Crypto Provider is a Java security provider from Amazon which uses OpenSSL. See
* {@link https://github.com/corretto/amazon-corretto-crypto-provider}.
*
- * <p>AccpAllTests runs all tests, except that tests that are explicitly excluded.
- * The list of test classes below contains tests for primitives that are implemented by OpenSSL,
- * but are not listed as implemented by the Amazon Corretto Crypto Provider. Tests for primitives
- * that are not implemented are simply skipped. The reason for including the tests anyway is
- * to catch accidential, experimental additions.
+ * <p>AccpAllTests runs all tests, except that tests that are explicitly excluded. The list of test
+ * classes below contains tests for primitives that are implemented by OpenSSL, but are not listed
+ * as implemented by the Amazon Corretto Crypto Provider. Tests for primitives that are not
+ * implemented are simply skipped. The reason for including the tests anyway is to catch
+ * accidential, experimental additions.
*/
@RunWith(WycheproofRunner.class)
@SuiteClasses({
@@ -45,6 +45,8 @@ import org.junit.runners.Suite.SuiteClasses;
JsonEcdhTest.class,
JsonKeyWrapTest.class,
JsonMacTest.class,
+ JsonPbeTest.class,
+ JsonPbkdfTest.class,
JsonRsaEncryptionTest.class,
JsonSignatureTest.class,
// XDH is not implemented by the provider.
diff --git a/java/com/google/security/wycheproof/AccpTest.java b/java/com/google/security/wycheproof/AccpTest.java
index 1605cf6..024848f 100644
--- a/java/com/google/security/wycheproof/AccpTest.java
+++ b/java/com/google/security/wycheproof/AccpTest.java
@@ -22,9 +22,9 @@ import org.junit.runners.Suite.SuiteClasses;
* Amazon Corretto Crypto Provider is a Java security provider from Amazon which uses OpenSSL. See
* {@link https://github.com/corretto/amazon-corretto-crypto-provider}.
*
- * <p>AccpTest runs all tests, excpept tests that are slow or explicitly excluded.
- * More tests are run by AccpAllTests, which also includes slow tests and tries to perform tests
- * against primitives that are not or not yet implemented.
+ * <p>AccpTest runs all tests, excpept tests that are slow or explicitly excluded. More tests are
+ * run by AccpAllTests, which also includes slow tests and tries to perform tests against primitives
+ * that are not or not yet implemented.
*/
@RunWith(WycheproofRunner.class)
@SuiteClasses({
@@ -40,6 +40,8 @@ import org.junit.runners.Suite.SuiteClasses;
JsonEcdhTest.class,
JsonKeyWrapTest.class,
JsonMacTest.class,
+ JsonPbeTest.class,
+ JsonPbkdfTest.class,
JsonRsaEncryptionTest.class,
JsonSignatureTest.class,
MacTest.class,
diff --git a/java/com/google/security/wycheproof/BouncyCastleAllTests.java b/java/com/google/security/wycheproof/BouncyCastleAllTests.java
index 7814aa5..39cfb8b 100644
--- a/java/com/google/security/wycheproof/BouncyCastleAllTests.java
+++ b/java/com/google/security/wycheproof/BouncyCastleAllTests.java
@@ -41,6 +41,8 @@ import org.junit.runners.Suite.SuiteClasses;
JsonFpeTest.class,
JsonKeyWrapTest.class,
JsonMacTest.class,
+ JsonPbeTest.class,
+ JsonPbkdfTest.class,
JsonRsaEncryptionTest.class,
JsonSignatureTest.class,
JsonXdhTest.class,
diff --git a/java/com/google/security/wycheproof/BouncyCastleTest.java b/java/com/google/security/wycheproof/BouncyCastleTest.java
index c0f0b21..aa1b67d 100644
--- a/java/com/google/security/wycheproof/BouncyCastleTest.java
+++ b/java/com/google/security/wycheproof/BouncyCastleTest.java
@@ -42,6 +42,8 @@ import org.junit.runners.Suite.SuiteClasses;
JsonFpeTest.class,
JsonKeyWrapTest.class,
JsonMacTest.class,
+ JsonPbeTest.class,
+ JsonPbkdfTest.class,
JsonRsaEncryptionTest.class,
JsonSignatureTest.class,
JsonXdhTest.class,
diff --git a/java/com/google/security/wycheproof/ConscryptAllTests.java b/java/com/google/security/wycheproof/ConscryptAllTests.java
index 43803de..ea9c467 100644
--- a/java/com/google/security/wycheproof/ConscryptAllTests.java
+++ b/java/com/google/security/wycheproof/ConscryptAllTests.java
@@ -37,6 +37,8 @@ import org.junit.runners.Suite.SuiteClasses;
JsonEcdhTest.class,
JsonKeyWrapTest.class,
JsonMacTest.class,
+ JsonPbeTest.class,
+ JsonPbkdfTest.class,
JsonRsaEncryptionTest.class,
JsonSignatureTest.class,
JsonXdhTest.class,
diff --git a/java/com/google/security/wycheproof/ConscryptTest.java b/java/com/google/security/wycheproof/ConscryptTest.java
index 0152fc3..b21e546 100644
--- a/java/com/google/security/wycheproof/ConscryptTest.java
+++ b/java/com/google/security/wycheproof/ConscryptTest.java
@@ -39,6 +39,8 @@ import org.junit.runners.Suite.SuiteClasses;
JsonEcdhTest.class,
JsonKeyWrapTest.class,
JsonMacTest.class,
+ JsonPbeTest.class,
+ JsonPbkdfTest.class,
JsonRsaEncryptionTest.class,
JsonSignatureTest.class,
JsonXdhTest.class,
diff --git a/java/com/google/security/wycheproof/OpenJDKAllTests.java b/java/com/google/security/wycheproof/OpenJDKAllTests.java
index 2142136..f06bc56 100644
--- a/java/com/google/security/wycheproof/OpenJDKAllTests.java
+++ b/java/com/google/security/wycheproof/OpenJDKAllTests.java
@@ -36,6 +36,8 @@ import org.junit.runners.Suite.SuiteClasses;
JsonEcdhTest.class,
JsonKeyWrapTest.class,
JsonMacTest.class,
+ JsonPbeTest.class,
+ JsonPbkdfTest.class,
JsonRsaEncryptionTest.class,
JsonSignatureTest.class,
JsonXdhTest.class,
diff --git a/java/com/google/security/wycheproof/OpenJDKTest.java b/java/com/google/security/wycheproof/OpenJDKTest.java
index 2bda3a2..5600ed1 100644
--- a/java/com/google/security/wycheproof/OpenJDKTest.java
+++ b/java/com/google/security/wycheproof/OpenJDKTest.java
@@ -35,6 +35,8 @@ import org.junit.runners.Suite.SuiteClasses;
JsonEcdhTest.class,
JsonKeyWrapTest.class,
JsonMacTest.class,
+ JsonPbeTest.class,
+ JsonPbkdfTest.class,
JsonRsaEncryptionTest.class,
JsonSignatureTest.class,
JsonXdhTest.class,
diff --git a/java/com/google/security/wycheproof/SpongyCastleAllTests.java b/java/com/google/security/wycheproof/SpongyCastleAllTests.java
index e086537..32fb319 100644
--- a/java/com/google/security/wycheproof/SpongyCastleAllTests.java
+++ b/java/com/google/security/wycheproof/SpongyCastleAllTests.java
@@ -40,6 +40,8 @@ import org.spongycastle.jce.provider.BouncyCastleProvider;
JsonEcdhTest.class,
JsonKeyWrapTest.class,
JsonMacTest.class,
+ JsonPbeTest.class,
+ JsonPbkdfTest.class,
JsonRsaEncryptionTest.class,
JsonSignatureTest.class,
MacTest.class,
diff --git a/java/com/google/security/wycheproof/SpongyCastleTest.java b/java/com/google/security/wycheproof/SpongyCastleTest.java
index dd61601..44dc7e0 100644
--- a/java/com/google/security/wycheproof/SpongyCastleTest.java
+++ b/java/com/google/security/wycheproof/SpongyCastleTest.java
@@ -44,6 +44,8 @@ import org.spongycastle.jce.provider.BouncyCastleProvider;
JsonEcdhTest.class,
JsonKeyWrapTest.class,
JsonMacTest.class,
+ JsonPbeTest.class,
+ JsonPbkdfTest.class,
JsonRsaEncryptionTest.class,
JsonSignatureTest.class,
MacTest.class,
diff --git a/java/com/google/security/wycheproof/TestUtil.java b/java/com/google/security/wycheproof/TestUtil.java
index 27e82ff..635473d 100644
--- a/java/com/google/security/wycheproof/TestUtil.java
+++ b/java/com/google/security/wycheproof/TestUtil.java
@@ -13,10 +13,11 @@
*/
package com.google.security.wycheproof;
-
+import com.google.common.collect.ImmutableSet;
import java.nio.ByteBuffer;
import java.security.Provider;
import java.security.Security;
+import java.util.Set;
import org.junit.Assume;
/** Test utilities */
@@ -79,15 +80,19 @@ public class TestUtil {
return result;
}
- public static void removeAllProviders() {
+ public static void removeProvidersExcept(Set<Provider> toRetain) {
for (Provider p : Security.getProviders()) {
+ if (toRetain.contains(p)) {
+ System.out.println("Not removing provider: " + p.getName());
+ continue;
+ }
System.out.println("Removing provider: " + p.getName());
Security.removeProvider(p.getName());
}
}
public static void installOnlyThisProvider(Provider provider) {
- removeAllProviders();
+ removeProvidersExcept(ImmutableSet.of(provider));
Security.insertProviderAt(provider, 1);
}
@@ -125,17 +130,15 @@ public class TestUtil {
* </ul>
*/
public static void installOnlyOpenJDKProviders() throws Exception {
- removeAllProviders();
- installOpenJDKProvider("sun.security.provider.Sun");
- installOpenJDKProvider("com.sun.crypto.provider.SunJCE");
- installOpenJDKProvider("sun.security.rsa.SunRsaSign");
- installOpenJDKProvider("sun.security.ec.SunEC");
- }
-
- private static void installOpenJDKProvider(String className) throws Exception {
- Provider provider = (Provider) Class.forName(className).getConstructor().newInstance();
- System.out.println("Adding provider: " + provider.getName() + " (" + className + ")");
- Security.addProvider(provider);
+ removeProvidersExcept(
+ ImmutableSet.of(
+ Security.getProvider("SUN"),
+ Security.getProvider("SunJCE"),
+ Security.getProvider("SunEC"),
+ Security.getProvider("SunRsaSign")));
+ for (Provider p : Security.getProviders()) {
+ System.out.println("Maintaining provider: " + p.getName());
+ }
}
public static void printJavaInformation() {
diff --git a/java/com/google/security/wycheproof/TestUtilTest.java b/java/com/google/security/wycheproof/TestUtilTest.java
new file mode 100644
index 0000000..ca03ffa
--- /dev/null
+++ b/java/com/google/security/wycheproof/TestUtilTest.java
@@ -0,0 +1,55 @@
+/**
+ * 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
+ *
+ * <p>http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * <p>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 org.junit.Assert.assertArrayEquals;
+
+import com.google.common.collect.ImmutableSet;
+import java.security.Provider;
+import java.security.Security;
+import java.util.ArrayList;
+import java.util.List;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.junit.runners.JUnit4;
+
+/** Tests the test utilities. */
+@RunWith(JUnit4.class)
+public final class TestUtilTest {
+
+ private static List<String> getProviders() {
+ List<String> providerNames = new ArrayList<>();
+ for (Provider p : Security.getProviders()) {
+ providerNames.add(p.getName());
+ }
+ return providerNames;
+ }
+
+ @Test
+ public void removeProvidersExcept_keepsProvider() throws Exception {
+ TestUtil.removeProvidersExcept(ImmutableSet.of(Security.getProvider("SUN")));
+
+ assertArrayEquals(
+ "Expected provider not present", getProviders().toArray(), new String[] {"SUN"});
+ }
+
+ @Test
+ public void installOnlyOpenJDKProviders_correctOrder() throws Exception {
+ TestUtil.installOnlyOpenJDKProviders();
+
+ String[] expectedProviders = {"SUN", "SunJCE", "SunRsaSign", "SunEC"};
+ assertArrayEquals(
+ "Expected providers not present and/or not in order",
+ getProviders().toArray(),
+ expectedProviders);
+ }
+}
diff --git a/java/com/google/security/wycheproof/jose4j/JsonWebEncryptionTest.java b/java/com/google/security/wycheproof/jose4j/JsonWebEncryptionTest.java
index a869be3..c32bada 100644
--- a/java/com/google/security/wycheproof/jose4j/JsonWebEncryptionTest.java
+++ b/java/com/google/security/wycheproof/jose4j/JsonWebEncryptionTest.java
@@ -24,6 +24,7 @@ import com.google.testing.testsize.MediumTest;
import java.security.Key;
import java.util.ArrayList;
import java.util.List;
+import org.jose4j.jwa.AlgorithmConstraints;
import org.jose4j.jwe.JsonWebEncryption;
import org.jose4j.jwk.JsonWebKey;
import org.jose4j.jwk.PublicJsonWebKey;
@@ -227,6 +228,8 @@ public class JsonWebEncryptionTest {
try {
decrypter.setCompactSerialization(compactJwe);
+ // jose.4.j blocks RSA1_5 by default.
+ decrypter.setAlgorithmConstraints(AlgorithmConstraints.NO_CONSTRAINTS);
JsonWebKey parsedKey = JsonWebKey.Factory.newJwk(decryptionJwk);
Key key;
if (parsedKey instanceof PublicJsonWebKey) {
diff --git a/java/com/google/security/wycheproof/jose4j/JsonWebSignatureTest.java b/java/com/google/security/wycheproof/jose4j/JsonWebSignatureTest.java
index 185bc6a..4eeb812 100644
--- a/java/com/google/security/wycheproof/jose4j/JsonWebSignatureTest.java
+++ b/java/com/google/security/wycheproof/jose4j/JsonWebSignatureTest.java
@@ -76,8 +76,7 @@ public class JsonWebSignatureTest {
"base64_InvalidCharacterInPayload_tcId371",
"base64_InvalidCharacterInsertedInHeader_tcId372",
"base64_InvalidCharacterInsertedInPayload_tcId373",
- "base64_MacOfIncorrectlyEncodedMessage_tcId375"
- );
+ "base64_MacOfIncorrectlyEncodedMessage_tcId375");
}
/** A JsonWebCryptoTestGroup that contains key information and tests against those keys. */
diff --git a/java/com/google/security/wycheproof/nimbusjose/NimbusJoseJwsTest.java b/java/com/google/security/wycheproof/nimbusjose/NimbusJoseJwsTest.java
index d72cf52..b726de7 100644
--- a/java/com/google/security/wycheproof/nimbusjose/NimbusJoseJwsTest.java
+++ b/java/com/google/security/wycheproof/nimbusjose/NimbusJoseJwsTest.java
@@ -76,7 +76,14 @@ public class NimbusJoseJwsTest {
"base64_InvalidCharacterInPayload_tcId371",
"base64_InvalidCharacterInsertedInHeader_tcId372",
"base64_InvalidCharacterInsertedInPayload_tcId373",
- "base64_MacOfIncorrectlyEncodedMessage_tcId375");
+ "base64_MacOfIncorrectlyEncodedMessage_tcId375",
+ // NimbusJose does not check the size of the signature and accepts signatures with
+ // leading zeros. This means that signatures are malleable. (Existing signatures
+ // can be modified but the that was signed does not change.) A comparable
+ // bug is for example CVE 2020-13822.
+ // RFC 7518 specifies in section 3.4 that ES256 signatures must be 64 bytes long.
+ "SpecialCaseEs256_SignatureTooLong_tcId379",
+ "SpecialCaseEs256_BufferOverflow_tcId385");
}
/** A JsonWebCryptoTestGroup that contains key information and tests against those keys. */
diff --git a/java/com/google/security/wycheproof/nimbusjose/NimbusJoseTimingTest.java b/java/com/google/security/wycheproof/nimbusjose/NimbusJoseTimingTest.java
new file mode 100644
index 0000000..96ecac3
--- /dev/null
+++ b/java/com/google/security/wycheproof/nimbusjose/NimbusJoseTimingTest.java
@@ -0,0 +1,266 @@
+/**
+ * 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
+ *
+ * <p>http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * <p>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.nimbusjose;
+
+import static org.junit.Assert.fail;
+
+import com.google.security.wycheproof.TestUtil;
+import com.nimbusds.jose.JWEDecrypter;
+import com.nimbusds.jose.JWEObject;
+import com.nimbusds.jose.crypto.RSADecrypter;
+import com.nimbusds.jose.jwk.JWK;
+import java.lang.management.ManagementFactory;
+import java.lang.management.ThreadMXBean;
+import java.util.Arrays;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.junit.runners.JUnit4;
+
+/**
+ * This test measures timing differences during decryption of RSA PKCS #1 encrypted ciphertexts.
+ *
+ * <p>Some of the ciphertexts have valid PKCS #1 padding, while other messages have invalid
+ * paddings. The test shows that at least one older version has sufficiently large timing
+ * differences, so that ciphertexts with valid paddings can be reliably distinguished from
+ * ciphertexts with invalid paddings.
+ *
+ * <p>The timing difference is caused by the exception handling. Exception handling is rather slow
+ * in Java. It adds somewhere 1-2 microseconds to the runtime. This timing difference is detectable
+ * during a unit test. OpenJdk reduces the timing difference of RSA PKCS #1 v1.5 decryption, by
+ * always constructing an exception even if that exception is not being thrown. Nimbus-Jose does not
+ * implement such a counter measurement.
+ */
+@RunWith(JUnit4.class)
+public class NimbusJoseTimingTest {
+
+ private String rsaKey =
+ "{"
+ + "\"kty\": \"RSA\","
+ + "\"use\": \"enc\","
+ + "\"alg\": \"RSA1_5\","
+ + "\"n\": \"w2A4cbwOAK4ATnwXkGWereqv9dkEcgAGHc9g-cjo1HFeilYirvfD2Un2vQxW_6g2OKRPmmo46vM"
+ + "ZFMYv_V57174j411y-NQlZGb7iFqMQADzo60VZ7vpvAX_NuxNGxYR-N2cBgvgqDiGAoO9ouNdhuHhxipTjGV"
+ + "frPUpxmJtNPZpxsgxQWSpYCYMl304DD_5wWrnumNNIKOaVsAYmjFPV_wqxFCHbitPd1BG9SwXPk7wAHtXT6r"
+ + "YaUImS_OKaHkTO1OO0PNhd3-wJRNMCh_EGUwAghfWgFyAd20pQLZamamxgHvfL4-0hwuzndhHt0ye-gRVTtX"
+ + "DFEwABB--zwvlCw\","
+ + "\"e\": \"AQAB\","
+ + "\"kid\": \"rsa1_5\","
+ + "\"d\": \"EjMvbuDeyQ9sdeM3arscqgTXuWYq9Netui8sUHh3v_qDnQ1jE7t-4gny0y-IFy67RlGAHNlSTgi"
+ + "xSG8h309i5_kNbMuyvx08EntJaS1OLVQpXhDskoo9vscsPBiNIj3PFMjIFQQcPG9vhGJzUu4tMzhtiME-oTB"
+ + "8VidMae-XTryPvozTu4rgfb4U7uauvLqESLz3A5xtzPnwNwqXAIlrdxU-MT_iln08on_QIF8afWUqCbsWWjE"
+ + "ck_QDKLVpzh8VV9kkEVWwYfCFhHBwS-fgGJJTE3gK4HwOokydMtH95Dzj47MA2pLe600l7ioyGSPltcv967N"
+ + "tOpxMPM5ro751KQ\","
+ + "\"p\": \"-F1u3NAMWPu1TIuvIywIjh5fuiA3AVKLgS6Fw_hAi3M9c3T7E1zNJZuHgQExJEu06ZPfzye9m7t"
+ + "aDzh-Vw4VGDED_MZedsE2jEsWa9EKeq3bZVf5j81FLCHH8BicFqrPjvoVUC35wrl9SGJzaOa7KXxD2jW22um"
+ + "YjJS_kcopvf0\","
+ + "\"q\": \"yWHG7jHqvfqT8gfhIlxpMbeJ02FrWIkgJC-zOJ26wXC6oxPeqhqEO7ulGqZPngNDdSGgWcQ7noG"
+ + "EU8O4MA9V3yhl91TFZy8unox0sGe0jDMwtxm3saXtTsjTE7FBxzcR0PubfyGiS0fJqQcj8oJSWzZPkUshzZ8"
+ + "rF3jTLc8UWac\","
+ + "\"dp\": \"Va9WWhPkzqY4TCo8x_OfF_jeqcYHdAtYWb8FIzD4g6PEZZrMLEft9rWLsDQLEiyUQ6lio4NgZO"
+ + "PkFDA3Vi1jla8DYyfE20-ZVBlrqNK7vMtST8pkLPpyjOEyq2CyKRfQ99DLnZfe_RElad2dV2mS1KMsfZHeff"
+ + "PtT0LaPJ_0erk\","
+ + "\"dq\": \"M8rA1cviun9yg0HBhgvMRiwU91dLu1Zw_L2D02DFgjCS35QhpQ_yyEYHPWZefZ4LQFmoms2cI7"
+ + "TdqolgmoOnKyCBsO2NY29AByjKbgAN8CzOL5kepEKvWJ7PonXpG-ou29eJ81VcHw5Ub_NVLG6V7b13E0AGbp"
+ + "KsC3pYnaRvcGs\","
+ + "\"qi\": \"8zIqISvddJYC93hP0sKkdHuVd-Mes_gsbi8xqSFYGqc-wSU12KjzHnZmBuJl_VTGy9CO9W4K2g"
+ + "ejr588a3Ozf9U5hx9qCVkV0_ttxHcTRem5sFPe9z-HkQE5IMW3SdmL1sEcvkzD7z8QhcHRpp5aMptfuwnxBP"
+ + "Y8U449_iNgXd4\""
+ + "}";
+
+ private String[] jwe = {
+ // The GCM tag has been modified: Not internal exception is thrown.
+ "eyJhbGciOiJSU0ExXzUiLCJlbmMiOiJBMTI4R0NNIn0.sg6kjEU9vWfPwsAa7klB9Eh8fd1ouAKXR_wp3bsoP41M"
+ + "Qa6jrq_dzd9rTZGu8MAtuAnoVE9OyM5W3cOCHdjlDOe1YSFO4WTedJBs_n8eKnT3KEZSKseZE4AltjtekKzO"
+ + "3B4EUMO3GPN-wyOyvJHoosFQQ7M-cxYVTZqNRk7XdKRy83i95YudXT0_AZBxCnqsYc6VzAtGUutqNp1fEfPn"
+ + "ilGV-K-PqihYmEIicYq-DrKWp1EHscAijbaJyPFuVU2IsGG2P3s-Ov9N6VvykN4RySJAQCL3P1NK5QpNsgSr"
+ + "a2pS_P18OerjlPR1FxSFVRKBIpPpvOKhMtjWqiN98S1Osg.46AsIpPgnJCLH0Xm.u2rG.KyEHEGCWM8CXDEE"
+ + "HiaqhiQ",
+ // The padding type is invalid.
+ "eyJhbGciOiJSU0ExXzUiLCJlbmMiOiJBMTI4R0NNIn0.klW2vZxZ57Prp1pSmfArR1ZtALMQM4N5_lLM8v2OhO8K"
+ + "ukJVNR9h548e6ZNNQhmXYa9e4vEb79BKjHeck1FsGtl0l2mSs4byhOXkMXVMRpmUZolwEXE-cwfHvvn6K-nW"
+ + "Wh6BDJI_ErZ7I_9YOGpu6jUpYqKB4l2nobg2CopJ58uOJtulvrW11WerBLfxMQ9CCinMdUi2hL7x1avSU4AP"
+ + "LSk2CC6PUlciDyuLeFxL59fCct5zOZ-W3uWjCC7pm9nDaIlLei2fYdTxOkAYY42VDV454q9OgrpH7pynxlmu"
+ + "AEvbWl0XriPXGgQmrMaTyXUpXBKwdwdHFzx88XL6r1refA.46AsIpPgnJCLH0Xm.u2rG.LyEHEGCWM8CXDEE"
+ + "HiaqhiQ",
+ // Message size is wrong: No internal exceptions thrown.
+ "eyJhbGciOiJSU0ExXzUiLCJlbmMiOiJBMTI4R0NNIn0.oyVTmkyoChxFtyCtiKhv8OpBJcV6C6s_gMFSSRJBNStp"
+ + "dHPzq2YmroTfXGj1J1plFG4BBQwIZtdt6rIS6YkCvTLGqP1hds9CAO1a_bgRyoAVuOVvH2vmz5U2r74_SRbA"
+ + "zD35M7yZ_tSnnEdMFlHMFbf5uNwmgArrtPgh0V5OLn5i4XIc154FLTiQlvAEhUxiPuYBkm_1GBiYEH4JjP2R"
+ + "KXAUx_TxAVwPsOfIPAVrO0Ev_nvdtVLCE-uOn8WQbxh4wwOztaXOV1HIaPrl7HN-YtDOA840QUHm97ZZLAPR"
+ + "gLzGlkMI0ZS8QkYdb9_FT3KMbNu60nBKEniv2uhBdIhM9g.46AsIpPgnJCLH0Xm.u2rG.LyEHEGCWM8CXDEE"
+ + "HiaqhiQ",
+ // The message is empty: No internal exceptions thrown.
+ "eyJhbGciOiJSU0ExXzUiLCJlbmMiOiJBMTI4R0NNIn0.PPGY-3DqgauQaPWTcjCkmjVG7-m8Z803f2TPeVoDYQmV"
+ + "KLiONBOVOigTKvP_6LBnVZ41TYwqcjbHxsrz5VS9r_tYHV_6njBX2EHIdsAYoZngN7ROAF2GTCKV8T5F0V0j"
+ + "GUejE5g3RBg7-_8qz-WljVf86sqnSiUtnXBORwWmiyvAgWqjYDDWxgzmdNNjLGn2zbJoJJpZvfSjKZwL4PCC"
+ + "AEXSW6s-dcdsXtUn3ZHNL2Bk8IWIcJQ1MjuBSJ1BtNO0n-0WkQuwXDD2KnwAisaC3-pTjTII8z1lep1XeOma"
+ + "UYacqkYhP0UB5LduX5rAITsJ2z7b5ZGIjGEuI4G-G_tD5g.46AsIpPgnJCLH0Xm.u2rG.LyEHEGCWM8CXDEE"
+ + "HiaqhiQ",
+ // The padding is invalid.
+ "eyJhbGciOiJSU0ExXzUiLCJlbmMiOiJBMTI4R0NNIn0.ksmeZ6dBbP0UfDEaLXlqPl2XDaAA29kGlKtDb89x-4xN"
+ + "5-A6bx2umI_ToHK2GadzxUOgKROCACYb6rmKsqsQCOZaBsnq_4mDII1W0pja7Lz4zTnr7R3O4kALg4zXqG-g"
+ + "SlcDA7k1NgkpMDS15PjMmADqyqxbxQsXdfjstN324iqdvYGh6NsckkfTSWxDVAqiSR9fW8PsIbo3uSMokNaC"
+ + "-f64CDWIB9AsCxhF-3mnFbxXNxw7JE0upOgG4enQ8kZkwi_v54HBqAau1YNW7gPhFV8ElTQ71J6aHB3dja23"
+ + "lbWdaJmrK6PJE7gEeZmUbFkSYmuyzRUS-NGfXA23fYv5JQ.46AsIpPgnJCLH0Xm.u2rG.LyEHEGCWM8CXDEE"
+ + "HiaqhiQ",
+ // The first byte is not zero.
+ "eyJhbGciOiJSU0ExXzUiLCJlbmMiOiJBMTI4R0NNIn0.sCdKUt2AR2G6h_qfQ3ORIcv4ffcHsqzGQSFqoGvCAIJb"
+ + "Ho1m-UjkybVsIb73r1iwbrR09Y-94l4Tuo-6BO8tKgea0KUj4TPPs5Q7TkjtpTKg5qobO74aK3zY_YqB1yR6"
+ + "ZFwTPSv8He7qd9594iY_F3kjiEycsp3NPXcdcq9nhoffpQ4YUKwkTLYY7imIxYTe3ouU5Z2lskM85UBnwV5y"
+ + "zFduM1DiHx5bLUqA6alEqcGrGadxc0vA3J5e2_ylsyiw_omjqeNV3xdY8JB9E9gjA6xcNy92kagaDi5wDWrY"
+ + "IAmLYkeIZwUBO3eTftV_UwOrLskPE4eToo-EbVegSwZUZA.46AsIpPgnJCLH0Xm.u2rG.LyEHEGCWM8CXDEE"
+ + "HiaqhiQ",
+ // paddedMessageTooShort
+ "eyJhbGciOiJSU0ExXzUiLCJlbmMiOiJBMTI4R0NNIn0.wlsnZTya4NEzU7CGEBMWzxz6qByjyjkbiaOiDMcpDUNo"
+ + "z_eJvxgHwGMI1gfEUaR1u6fOijZlGkJsso8VPTvL5wlqINBAaxm6vYJK3bGbyS9YQ6rvddLvMTAxzxASBG2q"
+ + "IFlsLRKkHZeV2ZIUZB8QJyfwYIfHyjuaVX-PL3s0heRNm5H3FmUg87_fXj40XmmKuMH3MqZvoeskd4h-f1lA"
+ + "ztS3oiKTSF7yh43t3RXz-vRY6OTprWyfOVdYau3jdt0AVK_2QNFN3xNdhc3X4BGVyaNckGIyPNCEcD0E8zz3"
+ + "mbFn8MBIE8uNtHJspXv1wlB_b5t9P0FAzrQ0d-INcr-Kbw.46AsIpPgnJCLH0Xm.u2rG.LyEHEGCWM8CXDEE"
+ + "HiaqhiQ",
+ // The padding is too short
+ "eyJhbGciOiJSU0ExXzUiLCJlbmMiOiJBMTI4R0NNIn0.ldK3WAsbjKZhRsFTWbvtr6aaah-Xz17QJOWUFUcldsb0"
+ + "eEcgAEphF2OO6FJDPGjxlNSXedfonFbtZDLxTxleK8k3w2GNEKNGJUqFbvG1siUoE1lq5piqQ8X9XH2hZOeU"
+ + "aJHGgp51nu0AuG3PenvD84qEZeGlbIv7_Mwp0jdybHia8C_BkX1B_bZjmpIafLr9jmRYnK0JAoAfUujPNhY0"
+ + "DXzFJIQT13PaZ8wzPLaK78X4eQSCV5Y97CA6blTHlxlZV2pw0y7BxAaqq4uCTeqzfheGWS9cq21XBYRzpa-l"
+ + "iZ3tKv5AjSIZmZ825hvypzBx-D1bmx9Ip0eLPKkmaon-hQ.46AsIpPgnJCLH0Xm.u2rG.LyEHEGCWM8CXDEE"
+ + "HiaqhiQ",
+ // The message has been modified: No internal exceptions are thrown.
+ "eyJhbGciOiJSU0ExXzUiLCJlbmMiOiJBMTI4R0NNIn0.ewR6Fg0UJYVcHKgIC9x-mD8q5bXFBE7VTsdTaSWSFcOP"
+ + "SI14VlMFDxXALR7kUfP2VA5qtxxlONGNeNvpr2v8C--Z1KfIWC_gvPSZMrGYrKJM1hauhjQb5jAQfz2NuuIg"
+ + "3HG8b5YAG8pdhur7UwdNRTb10vt33FFYfMYLutulyrOq5l_ak4cDtaDDk8K0_isPMa6r6aQKqXEFTwTKNGlq"
+ + "3qwrv9-5o0JrVzEGIKIkvsKmOk6m2g2QoBn-66_gcLkw3pPn5lWHyt8JI-rydCSTjFN2jSYiePMn6gBInizZ"
+ + "my8MU_hq0tRwlbi2_J-xx-GbYXHTkuYlDIUqr0DY1onWFg.46AsIpPgnJCLH0Xm.u2rG.LyEHEGCWM8CXDEE"
+ + "HiaqhiQ"
+ };
+
+ /**
+ * Timing test for RSA1_5 implemented in Nimbus-Jose.
+ *
+ * <p>The test generates some simple statistics about the time it takes to decrypt a number of
+ * RSA1_5 encrypted messages in Nimbus-Jose. A sample output of the test is
+ *
+ * <pre>
+ * j=0 cnt=2608 20%=1085621
+ * j=1 cnt=1546 20%=1087211
+ * j=2 cnt=2541 20%=1085753
+ * j=3 cnt=2642 20%=1085552
+ * j=4 cnt=1539 20%=1087220
+ * j=5 cnt=1568 20%=1087186
+ * j=6 cnt=1517 20%=1087242
+ * j=7 cnt=1552 20%=1087204
+ * j=8 cnt=2482 20%=1085789
+ * </pre>
+ *
+ * <p>jwe[0], jwe[2], jwe[3] and jwe[8] are messages containing valid PKCS #1 paddings. For these
+ * messages the RSA decryption succeeds. The other messages contains an invalid PKCS #1 padding.
+ * While decrypting the messages an exception is thrown. Nimbus-Jose does catch these exceptions,
+ * and uses a random GCM key in these cases. In every case eventually the same exception is
+ * thrown: com.nimbusds.jose.JOSEException: AES/GCM/NoPadding decryption failed: Tag mismatch!
+ * However, throwing and catching the exceptions from invalid PKCS #1 paddings add somewhere in
+ * the order of 1500 ns to the runtime. This timing difference is observable, but requires
+ * repetitions on noisy systems. Hence, an attack is possible, but its complexity is at the moment
+ * not known.
+ *
+ * <p>The version tested (version 9.2) is also susceptible to chosen ciphertext attacks if the key
+ * is an RSA_OAEP key. This can be tested by changing the algorithm in rsaKey above. This attack
+ * works since Nimbus-Jose does not check if the algorithm in the key and the algorithm in the JWE
+ * header match.
+ */
+ @Test
+ public void testRsaTiming() throws Exception {
+ // Timings can be quite noisy.
+ // At the moment it is unclear what a good method is to
+ // distinguish distributions. One method that seems to be somewhat
+ // reliable is to look at the 20% of the fastest timings.
+ //
+ // The test uses a threshold that is the maximal time of the fastest 20% of the measurements.
+ // Each decryption is repeated 10000 times. If all inputs have the same timing distribution
+ // then we would expect to see about 2000 measurements per input that are faster than the
+ // threshold. The probabilify of seeing less than 1750 or more than 2250 measurments smaller
+ // than threshold without timing differences is smaller than 2^-32. Hence such an event fails
+ // the test.
+ int runs = 10000;
+ int minBound = 1750;
+ int maxBound = 2250;
+
+ // The number of decryptions done before starting to measure.
+ int warmup = 100;
+ ThreadMXBean bean = ManagementFactory.getThreadMXBean();
+ if (!bean.isCurrentThreadCpuTimeSupported()) {
+ TestUtil.skipTest("getCurrentThreadCpuTime is not supported. Skipping");
+ return;
+ }
+ JWK key = JWK.parse(rsaKey);
+ JWEDecrypter decrypter = new RSADecrypter(key.toRSAKey());
+ JWEObject[] parsedJwe = new JWEObject[jwe.length];
+ for (int i = 0; i < jwe.length; i++) {
+ parsedJwe[i] = JWEObject.parse(jwe[i]);
+ }
+
+ // Warmup
+ for (int i = 0; i < warmup; i++) {
+ for (int j = 0; j < jwe.length; j++) {
+ try {
+ parsedJwe[j].decrypt(decrypter);
+ if (i == 0) {
+ System.out.println("j=" + j + " decrypted");
+ }
+ } catch (Exception ex) {
+ // Prints the exception the first time a ciphertext is decrypted.
+ // It is important that this exception is the same for each ciphertext.
+ // This test passes.
+ if (i == 0) {
+ System.out.println("j=" + j + ":" + ex);
+ }
+ }
+ }
+ }
+
+ long[][] timing = new long[jwe.length][runs];
+ long[] allTiming = new long[jwe.length * runs];
+ for (int i = 0; i < runs; i++) {
+ for (int j = 0; j < jwe.length; j++) {
+ long start = bean.getCurrentThreadCpuTime();
+ try {
+ parsedJwe[j].decrypt(decrypter);
+ } catch (Exception ex) {
+ // We are only interested in the timing
+ }
+ long time = bean.getCurrentThreadCpuTime() - start;
+ timing[j][i] = time;
+ allTiming[j + i * jwe.length] = time;
+ }
+ }
+
+ boolean passed = true;
+ Arrays.sort(allTiming);
+ // threshold is an upper bound on the 20% fastest decryptions.
+ long threshold = allTiming[allTiming.length / 5];
+
+ for (int j = 0; j < jwe.length; j++) {
+ Arrays.sort(timing[j]);
+ int cnt = 0;
+ for (int i = 0; i < runs; i++) {
+ if (timing[j][i] < threshold) {
+ cnt += 1;
+ }
+ }
+ if (cnt <= minBound || cnt >= maxBound) {
+ passed = false;
+ }
+ System.out.println("j=" + j + " cnt=" + cnt + " 20%=" + timing[j][runs / 5]);
+ }
+ if (!passed) {
+ fail("Significant timing differences detected.");
+ }
+ }
+}
diff --git a/java/com/google/security/wycheproof/testcases/DhTest.java b/java/com/google/security/wycheproof/testcases/DhTest.java
index 933e137..6bc18d1 100644
--- a/java/com/google/security/wycheproof/testcases/DhTest.java
+++ b/java/com/google/security/wycheproof/testcases/DhTest.java
@@ -270,22 +270,60 @@ public class DhTest {
int keySize = p.bitLength();
assertEquals("wrong key size", expectedKeySize, keySize);
+ // Expecting p to be prime.
+ // No high certainty is needed, since this is a unit test.
+ assertTrue(p.isProbablePrime(64));
+ // Since p is a prime and has bitLength keySize, it is an odd number, so p.shiftRight(1)
+ // computes (p - 1)/2
+ boolean isSafePrime = p.shiftRight(1).isProbablePrime(64);
+
// Checks the key size of the private key.
- // NIST SP 800-56A requires that x is in the range (1, q-1).
+ // NIST SP 800-56A requires that x is in the range (1, q-1), unless p is a safe prime.
// Such a choice would require a full key validation. Since such a validation
// requires the value q (which is not present in the DH parameters) larger keys
- // should be chosen to prevent attacks.
- int minPrivateKeyBits = keySize / 2;
+ // should be chosen to prevent attacks as long as the prime is not a safe prime.
+ // For safe primes, the key needs to be twice the security level. In addition to the security
+ // levels supported in SP 800-56A we also test 1024 keys being created correctly.
+ int s;
+ switch (keySize) {
+ case 1024:
+ s = 80;
+ break;
+ case 2048:
+ s = 112;
+ break;
+ case 3072:
+ s = 128;
+ break;
+ case 4096:
+ s = 152;
+ break;
+ case 6144:
+ s = 176;
+ break;
+ case 8192:
+ s = 200;
+ break;
+ default:
+ fail("Unexpected key size: " + keySize);
+ s = -1;
+ break;
+ }
+ int minPrivateKeyBits = isSafePrime ? 2 * s : keySize / 2;
BigInteger x = priv.getX();
- assertTrue(x.bitLength() >= minPrivateKeyBits - 32);
+ assertTrue(
+ "X expected to have bit length at least "
+ + (minPrivateKeyBits - 32)
+ + ", but has value "
+ + x
+ + ", which has bit length "
+ + x.bitLength(),
+ x.bitLength() >= minPrivateKeyBits - 32);
// TODO(bleichen): add tests for weak random number generators.
// Verify the DH parameters.
assertTrue("Expecting g > 1", g.compareTo(BigInteger.ONE) > 0);
assertTrue("Expecting g < p - 1", g.compareTo(p.subtract(BigInteger.ONE)) < 0);
- // Expecting p to be prime.
- // No high certainty is needed, since this is a unit test.
- assertTrue(p.isProbablePrime(4));
// The order of g should be a large prime divisor q of p-1.
// (see e.g. NIST SP 800-56A, section 5.5.1.1.)
// If the order of g is composite then the Decision Diffie Hellman assumption is
@@ -299,26 +337,28 @@ public class DhTest {
// We perform a partial test that performs a partial factorization of p-1 and then
// test whether one of the small factors found by the partial factorization divides
// the order of g.
- boolean isSafePrime = p.shiftRight(1).isProbablePrime(4);
System.out.println("p is a safe prime:" + isSafePrime);
BigInteger r; // p-1 divided by small prime factors.
if (isSafePrime) {
r = p.shiftRight(1);
+ // Check that generator is in the subgroup with (p - 1)/2 elements.
+ assertEquals(BigInteger.ONE, g.modPow(r, p));
} else {
BigInteger p1 = p.subtract(BigInteger.ONE);
r = p1.divide(smoothDivisor(p1));
+
+ // Checks that there are not too many short prime factors.
+ // I.e., subgroup confinment attacks can find at least keySize - r.bitLength() bits of the
+ // key.
+ // At least 160 unknown bits should remain.
+ // Only very weak parameters are detected here, since the factorization above only finds small
+ // prime factors.
+ assertTrue(minPrivateKeyBits - (keySize - r.bitLength()) > 160);
}
System.out.println("r=" + r.toString(16));
assertEquals(
"g likely does not generate a prime oder subgroup", BigInteger.ONE, g.modPow(r, p));
- // Checks that there are not too many short prime factors.
- // I.e., subgroup confinment attacks can find at least keySize - r.bitLength() bits of the key.
- // At least 160 unknown bits should remain.
- // Only very weak parameters are detected here, since the factorization above only finds small
- // prime factors.
- assertTrue(minPrivateKeyBits - (keySize - r.bitLength()) > 160);
-
// DH parameters are sometimes misconfigured and g and q are swapped.
// A large g that divides p-1 is suspicious.
if (g.bitLength() >= 160) {
diff --git a/java/com/google/security/wycheproof/testcases/DhiesTest.java b/java/com/google/security/wycheproof/testcases/DhiesTest.java
index 7821596..920dd75 100644
--- a/java/com/google/security/wycheproof/testcases/DhiesTest.java
+++ b/java/com/google/security/wycheproof/testcases/DhiesTest.java
@@ -92,8 +92,9 @@ public class DhiesTest {
String paramsHex;
switch (algorithmName.toUpperCase(Locale.ENGLISH)) {
case "DHIES":
- // No algorithm parameters necessary.
- return null;
+ // 128-bit HMAC key.
+ paramsHex = "300702020080010100";
+ break;
case "DHIESWITHAES-CBC":
// 256-bit AES key, 256-bit HMAC key, all zero nonce
paramsHex = "301c02020100301602020100041000000000000000000000000000000000";
@@ -167,7 +168,11 @@ public class DhiesTest {
TestUtil.skipTest(algorithmName + " is not supported");
return; // fallback for legacy test setups where skipTest does not throw an exception.
}
+ try {
dhies.init(Cipher.ENCRYPT_MODE, pub);
+ } catch (IllegalArgumentException e) {
+ TestUtil.skipTest("AlgorithmParameters must be non-null");
+ }
byte[] ciphertext = dhies.doFinal(message);
System.out.println(
algorithmName + " : " + TestUtil.bytesToHex(dhies.getParameters().getEncoded()));
@@ -269,7 +274,11 @@ public class DhiesTest {
continue;
}
byte[] message = new byte[128];
+ try {
dhies.init(Cipher.ENCRYPT_MODE, pub);
+ } catch (IllegalArgumentException e) {
+ TestUtil.skipTest("AlgorithmParameters must be non-null");
+ }
byte[] ciphertext = dhies.doFinal(message);
int blockSize = 16;
for (int i = 0; i < ciphertext.length - 2 * blockSize + 1; i++) {
diff --git a/java/com/google/security/wycheproof/testcases/JsonPbeTest.java b/java/com/google/security/wycheproof/testcases/JsonPbeTest.java
new file mode 100644
index 0000000..01c98ee
--- /dev/null
+++ b/java/com/google/security/wycheproof/testcases/JsonPbeTest.java
@@ -0,0 +1,409 @@
+/**
+ * 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
+ *
+ * <p>http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * <p>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 static org.junit.Assert.assertEquals;
+
+import com.google.gson.JsonElement;
+import com.google.gson.JsonObject;
+import java.io.IOException;
+import java.nio.ByteBuffer;
+import java.nio.CharBuffer;
+import java.nio.charset.CharacterCodingException;
+import java.nio.charset.CharsetDecoder;
+import java.security.GeneralSecurityException;
+import java.security.InvalidKeyException;
+import java.util.Arrays;
+import javax.crypto.Cipher;
+import javax.crypto.SecretKey;
+import javax.crypto.SecretKeyFactory;
+import javax.crypto.spec.IvParameterSpec;
+import javax.crypto.spec.PBEKeySpec;
+import javax.crypto.spec.PBEParameterSpec;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.junit.runners.JUnit4;
+
+/**
+ * Tests for PBE.
+ *
+ * <p>The ciphers included in this test are ciphers that derive a symmetric key from a password,
+ * salt and iteration count. The symmetric key is used for an encryption mode that requires an IV.
+ * Password based encryption modes with a different set of parameters will use a different JSON
+ * schema.
+ *
+ * <p>One issue with the JCE interface for PBES1 and PBES2 is that the definition of these functions
+ * in RFC 2898 assumes that the password is given as an array of bytes. However, the java class
+ * PBEKeySpec expects an array of characters. The conversion between characters and bytes is not
+ * defined in RFC 2898. Rather this conversion is defined by the protocols using PBES1 and PBES2.
+ * Different protocols use different conversions: RFC 2898, Section 3 recommends either ASCII or
+ * UTF-8 encodings. PKCS #12, RFC 7292, Section B.1 specifies that passwords are represented as
+ * BMPStrings (2 bytes per character with a NULL terminator).
+ *
+ * <p>Hence, PBEKeySpec is not a well designed interface for implementing PBES1 and PBES2. The class
+ * forces an implementation of PBES1 or PBES2 to make decisions that would better be made by the
+ * caller. The tests below assume that standard algorithm names are used for PBES1 and PBES2 and
+ * that a PBEKeySpec is either converted to bytes by using UTF-8 encoding or rejecting non-ASCII
+ * characters. Some provider introduce alternative algorithm names and use different character to
+ * byte conversions. These alternative algorithms are not tested here.
+ *
+ * <p>The test vectors represent passwords as hexadecimal encoded byte arrays and thus remove the
+ * ambiguity caused by string conversion. Some test vectors have been constructed so that they are
+ * valid encodings generated by these conversions. Flags that are added to the test vectors describe
+ * the type of the encodings.
+ *
+ * @author bleichen@google.com (Daniel Bleichenbacher)
+ */
+@RunWith(JUnit4.class)
+public class JsonPbeTest {
+
+ /** Convenience method to get a byte array from a JsonObject. */
+ private static byte[] getBytes(JsonObject object, String name) {
+ return JsonUtil.asByteArray(object.get(name));
+ }
+
+ /**
+ * Tries to convert password into PBEKeySpec.
+ *
+ * <p>One issue here is that PBEKeySpec requires a char[] as parameter. The key derivation
+ * converts the passowrd in the PBEKeySpec back to a byte[]. This conversion is not well defined.
+ * E.g., when a PBEKeySpec is used for PBKDF then the password is converted using UTF-8. PBE
+ * implementations sometimes add additional restrictions. For example the SUNJCE provider requires
+ * that passwords contain only printable ASCII characters.
+ *
+ * @param password the password to convert
+ * @return the password as a PBEKeySpec
+ * @throws InvalidKeyException if password cannot be converted to a char[].
+ */
+ private static PBEKeySpec convertPassword(byte[] password) throws InvalidKeyException {
+ CharsetDecoder decoder = UTF_8.newDecoder();
+ CharBuffer buffer;
+ try {
+ buffer = decoder.decode(ByteBuffer.wrap(password));
+ } catch (CharacterCodingException ex) {
+ throw new InvalidKeyException("Only UTF-8 encoded passwords are supported");
+ }
+ char[] pwd = new char[buffer.limit()];
+ buffer.get(pwd);
+ return new PBEKeySpec(pwd);
+ }
+
+ /**
+ * Derives a key and returns an initialized instance of Cipher.
+ *
+ * @param algorithm the name of an algorithm (e.g., "PbeWithHmacSha1AndAes_128")
+ * @param keySpec a PBEKeySpec containing the password.
+ * @param salt the salt for the key derivation function
+ * @param iterCount the number of iterations done by the key derivation function
+ * @param opmode Cipher.ENCRYPT_MODE for encryption or Cipher.DECRYPT_MODE for decryption
+ * @param iv the iv of the symmetric cipher (e.g., must be 16 bytes if AES-CBC is being used).
+ * @return an inintialized instance of Cipher
+ * @throws GeneralSecurityException if the cipher could not be constructed
+ */
+ private static Cipher getInitializedCipher(
+ String algorithm, PBEKeySpec keySpec, byte[] salt, int iterCount, int opmode, byte[] iv)
+ throws GeneralSecurityException {
+ Cipher pbe = Cipher.getInstance(algorithm);
+ // So far I haven't found a method to compute PBES2 in a provider independent way.
+ // The method used here is from TestCipherKeyWrapperTest.java.
+ // It only works for OpenJdk, but no other provider.
+ // Conscrypt appears to require that a SecretKeyFactory from another provider
+ // is present.
+ SecretKeyFactory keyFactory = SecretKeyFactory.getInstance(algorithm);
+ // If the SUNJCE provider is used then pbeKey is an instance of com.sun.crypto.provider.PBEKey.
+ // The class PBEKey adds additional restrictions to valid passwords: it only accepts
+ // passwords consisting of printable ASCII characters.
+ SecretKey pbeKey = keyFactory.generateSecret(keySpec);
+ IvParameterSpec ivParam = new IvParameterSpec(iv);
+ PBEParameterSpec params = new PBEParameterSpec(salt, iterCount, ivParam);
+ pbe.init(opmode, pbeKey, params);
+ return pbe;
+ }
+
+ /**
+ * Example format for test vectors
+ *
+ * <pre>
+ * {
+ * "algorithm" : "PbeWithHmacSha1AndAes_128",
+ * "schema" : "pbe_test_schema.json",
+ * "generatorVersion" : "0.9",
+ * "numberOfTests" : 68,
+ * "header" : [
+ * "Test vector of type PbeTest are used for PBES1 or PBES2."
+ * ],
+ * "notes" : {
+ * "Ascii" : {
+ * "bugType" : "FUNCTIONALITY",
+ * "description" : "The test vector contains a password consisting of ASCII characters."
+ * },
+ * ...
+ * }
+ * },
+ * "testGroups" : [
+ * {
+ * "type" : "PbeTest",
+ * "tests" : [
+ * {
+ * "tcId" : 1,
+ * "comment" : "",
+ * "flags" : [
+ * "Printable"
+ * ],
+ * "password" : "344b6769305a6e72",
+ * "salt" : "fcd9a324f025ef40",
+ * "iterationCount" : 4096,
+ * "iv" : "42f02ff71b8524d1678ab2e34f9e7d47",
+ * "msg" : "",
+ * "ct" : "657976042ceac9615f32b5d43182efc4",
+ * "result" : "valid"
+ * },
+ * ...
+ * </pre>
+ */
+ private static void singleTest(String algorithm, JsonObject testcase, TestResult testResult) {
+ int tcId = testcase.get("tcId").getAsInt();
+ byte[] password = getBytes(testcase, "password");
+ byte[] salt = getBytes(testcase, "salt");
+ int iterationCount = testcase.get("iterationCount").getAsInt();
+ byte[] iv = getBytes(testcase, "iv");
+ byte[] msg = getBytes(testcase, "msg");
+ byte[] ciphertext = getBytes(testcase, "ct");
+ // Result is one of "valid", "invalid", "acceptable".
+ // "valid" are test vectors with matching plaintext, ciphertext and tag.
+ // "invalid" are test vectors with invalid parameters or invalid ciphertext and tag.
+ // "acceptable" are test vectors with weak parameters or legacy formats.
+ String result = testcase.get("result").getAsString();
+ PBEKeySpec pbeKey;
+ try {
+ pbeKey = convertPassword(password);
+ } catch (InvalidKeyException ex) {
+ testResult.addResult(tcId, TestResult.Type.REJECTED_ALGORITHM, ex.toString());
+ return;
+ }
+
+ Cipher pbe;
+ try {
+ pbe = getInitializedCipher(algorithm, pbeKey, salt, iterationCount, Cipher.ENCRYPT_MODE, iv);
+ } catch (GeneralSecurityException ex) {
+ // Some libraries restrict valid characters in the key or may restrict other parameters.
+ // Because of this the initialization of the cipher might fail. Hence the test will be
+ // skipped.
+ testResult.addResult(tcId, TestResult.Type.REJECTED_ALGORITHM, ex.toString());
+ return;
+ }
+ TestResult.Type resultType;
+ String comment = "";
+ // Normally the test tries to encrypt and decrypt a ciphertext.
+ // tryDecrypt is set to false if a bug during encryption was serious enough,
+ // so that trying to decrypt no longer makes sense.
+ boolean tryDecrypt = true;
+ try {
+ byte[] encrypted = pbe.doFinal(msg);
+ boolean eq = Arrays.equals(ciphertext, encrypted);
+ if (result.equals("invalid")) {
+ if (eq) {
+ // Some test vectors use invalid parameters that should be rejected.
+ resultType = TestResult.Type.NOT_REJECTED_INVALID;
+ tryDecrypt = false;
+ } else {
+ // Invalid test vectors frequently have invalid paddings.
+ // Hence encryption just gives a different result.
+ resultType = TestResult.Type.REJECTED_INVALID;
+ }
+ } else {
+ if (!eq) {
+ // If encryption returns the wrong result then something is
+ // broken. Hence we can stop here.
+ resultType = TestResult.Type.WRONG_RESULT;
+ comment = "ciphertext: " + TestUtil.bytesToHex(encrypted);
+ tryDecrypt = false;
+ } else {
+ resultType = TestResult.Type.PASSED_VALID;
+ }
+ }
+ } catch (GeneralSecurityException ex) {
+ if (result.equals("valid")) {
+ resultType = TestResult.Type.REJECTED_VALID;
+ } else {
+ resultType = TestResult.Type.REJECTED_INVALID;
+ }
+ }
+
+ if (tryDecrypt) {
+ // Test decryption
+ try {
+ pbe =
+ getInitializedCipher(algorithm, pbeKey, salt, iterationCount, Cipher.DECRYPT_MODE, iv);
+ byte[] decrypted = pbe.doFinal(ciphertext);
+ boolean eq = Arrays.equals(decrypted, msg);
+ if (result.equals("invalid")) {
+ resultType = TestResult.Type.NOT_REJECTED_INVALID;
+ } else if (!eq) {
+ resultType = TestResult.Type.WRONG_RESULT;
+ comment = "decrypted:" + TestUtil.bytesToHex(decrypted);
+ } else {
+ resultType = TestResult.Type.PASSED_VALID;
+ }
+ } catch (GeneralSecurityException ex) {
+ comment = ex.toString();
+ if (result.equals("valid")) {
+ resultType = TestResult.Type.REJECTED_VALID;
+ } else {
+ resultType = TestResult.Type.REJECTED_INVALID;
+ }
+ }
+ }
+ testResult.addResult(tcId, resultType, comment);
+ }
+
+ /**
+ * Checks each test vector in a file of test vectors.
+ *
+ * <p>One motivation for running all the test vectors in a file at once is that this allows us to
+ * test if invalid paddings result in distinguishable exceptions. Throwing distinguishable
+ * exceptions can contain information that helps an attacker in a chosen ciphertext attack.
+ *
+ * @param testVectors the test vectors
+ * @return a test result
+ */
+ public static TestResult allTests(TestVectors testVectors) {
+ var testResult = new TestResult(testVectors);
+ JsonObject test = testVectors.getTest();
+ String algorithm = test.get("algorithm").getAsString();
+ try {
+ Cipher.getInstance(algorithm);
+ } catch (GeneralSecurityException ex) {
+ // We might try to find alternative algorithm names here.
+ // For example, BouncyCastle implements algorithms such as
+ // PBEWITHSHAAND128BITAES-CBC-BC
+ // However, these algorithms use PKCS #12 conversion from passwords
+ // to bytes. This conversion uses 2 bytes for each character.
+ // Hence the algorithm is not compatible with the SUNJCE version.
+ testResult.addFailure(TestResult.Type.REJECTED_ALGORITHM, algorithm);
+ return testResult;
+ }
+ for (JsonElement g : test.getAsJsonArray("testGroups")) {
+ JsonObject group = g.getAsJsonObject();
+ for (JsonElement t : group.getAsJsonArray("tests")) {
+ JsonObject testcase = t.getAsJsonObject();
+ singleTest(algorithm, testcase, testResult);
+ }
+ }
+ // Test vectors with invalid padding must have indistinguishable behavior.
+ // The test here checks for distinct exceptions. There are other ways to
+ // distinguish paddings, such as timing differences. Such differences are
+ // not checked here.
+ testResult.checkIndistinguishableResult("BadPadding");
+ return testResult;
+ }
+
+ /**
+ * Tests a PBE ciphers against test vectors.
+ *
+ * @param filename the JSON file with the test vectors.
+ * @throws AssumptionViolatedException when the test was skipped. This happens for example when
+ * the underlying cipher or padding method is not supported. It is also possible that a test
+ * is skipped if the provider uses non-standard algorithm names.
+ * @throws AssertionError when the test failed.
+ * @throws IOException when the test vectors could not be read.
+ */
+ public void testPbe(String filename) throws IOException {
+ JsonObject test = JsonUtil.getTestVectorsV1(filename);
+ TestVectors testVectors = new TestVectors(test, filename);
+ TestResult testResult = allTests(testVectors);
+
+ if (testResult.skipTest()) {
+ System.out.println("Skipping " + filename + " no ciphertext decrypted.");
+ TestUtil.skipTest("No ciphertext decrypted");
+ return;
+ }
+ System.out.print(testResult.asString());
+ assertEquals(0, testResult.errors());
+ }
+
+ @Test
+ public void testPbes2Hmacsha1Aes128() throws Exception {
+ testPbe("pbes2_hmacsha1_aes_128_test.json");
+ }
+
+ @Test
+ public void testPbes2Hmacsha1Aes192() throws Exception {
+ testPbe("pbes2_hmacsha1_aes_192_test.json");
+ }
+
+ @Test
+ public void testPbes2Hmacsha1Aes256() throws Exception {
+ testPbe("pbes2_hmacsha1_aes_256_test.json");
+ }
+
+ @Test
+ public void testPbes2Hmacsha224Aes128() throws Exception {
+ testPbe("pbes2_hmacsha224_aes_128_test.json");
+ }
+
+ @Test
+ public void testPbes2Hmacsha224Aes192() throws Exception {
+ testPbe("pbes2_hmacsha224_aes_192_test.json");
+ }
+
+ @Test
+ public void testPbes2Hmacsha224Aes256() throws Exception {
+ testPbe("pbes2_hmacsha224_aes_256_test.json");
+ }
+
+ @Test
+ public void testPbes2Hmacsha256Aes128() throws Exception {
+ testPbe("pbes2_hmacsha256_aes_128_test.json");
+ }
+
+ @Test
+ public void testPbes2Hmacsha256Aes192() throws Exception {
+ testPbe("pbes2_hmacsha256_aes_192_test.json");
+ }
+
+ @Test
+ public void testPbes2Hmacsha256Aes256() throws Exception {
+ testPbe("pbes2_hmacsha256_aes_256_test.json");
+ }
+
+ @Test
+ public void testPbes2Hmacsha384Aes128() throws Exception {
+ testPbe("pbes2_hmacsha384_aes_128_test.json");
+ }
+
+ @Test
+ public void testPbes2Hmacsha384Aes192() throws Exception {
+ testPbe("pbes2_hmacsha384_aes_192_test.json");
+ }
+
+ @Test
+ public void testPbes2Hmacsha384Aes256() throws Exception {
+ testPbe("pbes2_hmacsha384_aes_256_test.json");
+ }
+
+ @Test
+ public void testPbes2Hmacsha512Aes128() throws Exception {
+ testPbe("pbes2_hmacsha512_aes_128_test.json");
+ }
+
+ @Test
+ public void testPbes2Hmacsha512Aes192() throws Exception {
+ testPbe("pbes2_hmacsha512_aes_192_test.json");
+ }
+
+ @Test
+ public void testPbes2Hmacsha512Aes256() throws Exception {
+ testPbe("pbes2_hmacsha512_aes_256_test.json");
+ }
+}
diff --git a/java/com/google/security/wycheproof/testcases/JsonPbkdfTest.java b/java/com/google/security/wycheproof/testcases/JsonPbkdfTest.java
new file mode 100644
index 0000000..9748861
--- /dev/null
+++ b/java/com/google/security/wycheproof/testcases/JsonPbkdfTest.java
@@ -0,0 +1,275 @@
+/**
+ * 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
+ *
+ * <p>http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * <p>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 static org.junit.Assert.assertEquals;
+
+import com.google.gson.JsonElement;
+import com.google.gson.JsonObject;
+import java.io.IOException;
+import java.nio.ByteBuffer;
+import java.nio.CharBuffer;
+import java.nio.charset.CharacterCodingException;
+import java.nio.charset.CharsetDecoder;
+import java.security.GeneralSecurityException;
+import java.security.InvalidKeyException;
+import java.security.MessageDigest;
+import java.security.NoSuchAlgorithmException;
+import java.security.spec.InvalidKeySpecException;
+import java.security.spec.KeySpec;
+import javax.crypto.SecretKey;
+import javax.crypto.SecretKeyFactory;
+import javax.crypto.spec.PBEKeySpec;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.junit.runners.JUnit4;
+
+/**
+ * Tests for PBKDF.
+ *
+ * @author bleichen@google.com (Daniel Bleichenbacher)
+ */
+@RunWith(JUnit4.class)
+public class JsonPbkdfTest {
+
+ /** Convenience method to get a byte array from an JsonObject */
+ private static byte[] getBytes(JsonObject obj, String name) {
+ return JsonUtil.asByteArray(obj.get(name));
+ }
+
+ /**
+ * Returns a SecretKeyFactory for a given algorithm name.
+ *
+ * <p>This method expects that the provider registers PBKDF2 implementations using
+ * https://docs.oracle.com/en/java/javase/19/docs/specs/security/standard-names.html .
+ *
+ * <p>Some providers also also allow alternative algorithm names such as PBKDF2With<hash> with
+ * hash = SHA1, SHA224, etc. These are aliases.
+ *
+ * <p>BouncyCastle implements variants such as PBKDF2WITHHMACSHA1AND8BIT and
+ * PBKDF2WITHHMACSHA1ANDUTF8. The purpose of these variants is to implement different conversions
+ * of the password in PBEKeySpec to a byte array.
+ *
+ * <p>RFC 8018 also defines PBKDF2 with SHA512-224 and SHA512-256. No provider appears to support
+ * these hash functions. Hence it is unclear what algorithm name should be used. Additional hash
+ * functions are sometimes supported: e.g. BouncyCastle also implements PBKDF2 with SHA-3, Ghost
+ * and SM3. These hash functions are not supported here, since they are currently not
+ * standardized.
+ *
+ * @param algorithmName the algorithm name from a test vector file.
+ * @return an instance of a SecretKeyFactory
+ * @throws NoSuchAlgorithmException if the algorithm is not supported
+ */
+ private static SecretKeyFactory getSecretKeyFactory(String algorithmName)
+ throws NoSuchAlgorithmException {
+ switch (algorithmName) {
+ case "PBKDF2-HMACSHA1":
+ return SecretKeyFactory.getInstance("PBKDF2WithHmacSHA1");
+ case "PBKDF2-HMACSHA224":
+ return SecretKeyFactory.getInstance("PBKDF2WithHmacSHA224");
+ case "PBKDF2-HMACSHA256":
+ return SecretKeyFactory.getInstance("PBKDF2WithHmacSHA256");
+ case "PBKDF2-HMACSHA384":
+ return SecretKeyFactory.getInstance("PBKDF2WithHmacSHA384");
+ case "PBKDF2-HMACSHA512":
+ return SecretKeyFactory.getInstance("PBKDF2WithHmacSHA512");
+ default:
+ throw new NoSuchAlgorithmException(algorithmName);
+ }
+ }
+
+ /**
+ * Computes PBKDF2.
+ *
+ * <p>The JCE interface restricts the passwords that are acceptable. RFC 8018 defines PBKDF2 for
+ * any byte array. Unfortunately, PBEKeySpec defined in javax.crypto.spec.PBEKeySpec.java requires
+ * that the password is specified with an array of chars. This means that during the PBKDF2
+ * computation the char array has to be converted to a byte array. The documentation of PBEKeySpec
+ * mentions several possibilities: (1) ignoring the hight bits of the characters or (2) using a
+ * conversion that depends on all the bits.
+ *
+ * <p>The code below computes PBKDF2 by using an instance of a SecretKeyFactory. This computation
+ * converts the char array in the PBEKeySpec into a byte array, by encoding it with UTF-8. This
+ * means that inputs for PBKDF2 that are not valid UTF-8 encodings cannot be used here.
+ *
+ * @param algorithm the algorithm (e.g. "PBKDF2-HMACSHA256")
+ * @param password the password.
+ * @param salt the salt
+ * @param iterationCount the number of iterations
+ * @param keyLength the length of the derived key in bytes
+ * @return the derived key.
+ * @throws NoSuchAlgorithmException if the algorithm or algorithm name is not supported.
+ * @throws InvalidKeyException if password is not valid (e.g. if it is not a valid UTF-8 encoding.
+ * @throws InvalidKeySpecException may be thrown if the password is empty.
+ */
+ private static byte[] computePbkdf(
+ String algorithm, byte[] password, byte[] salt, int iterationCount, int keyLength)
+ throws NoSuchAlgorithmException, InvalidKeyException, InvalidKeySpecException {
+ SecretKeyFactory factory = getSecretKeyFactory(algorithm);
+ // Tries to convert password into a char[]. This needs to be done in a rather cumbersome way.
+ // Using for example new String(password, "UTF-8") has unspecified behavior and could simply
+ // ignore bytes that are not valid UTF-8.
+ CharsetDecoder decoder = UTF_8.newDecoder();
+ CharBuffer buffer;
+ try {
+ buffer = decoder.decode(ByteBuffer.wrap(password));
+ } catch (CharacterCodingException ex) {
+ throw new InvalidKeyException("Only UTF-8 encoded passwords are supported");
+ }
+ char[] pwd = new char[buffer.limit()];
+ buffer.get(pwd);
+ KeySpec keySpec = new PBEKeySpec(pwd, salt, iterationCount, 8 * keyLength);
+ SecretKey tmp = factory.generateSecret(keySpec);
+ return tmp.getEncoded();
+ }
+
+ /**
+ * Tests a single test case:
+ *
+ * <p>An example for a test case is
+ *
+ * <pre>
+ * {
+ * "tcId" : 1,
+ * "comment" : "RFC 7914",
+ * "flags" : [
+ * "Rfc7914",
+ * "Printable",
+ * ],
+ * "password" : "706173737764",
+ * "salt" : "73616c74",
+ * "iterationCount" : 1,
+ * "dkLen" : 64,
+ * "dk" : "55ac046e56e3089fec1691c22544b605f94185216dde0465e68b9d57c20dacbc49ca9cccf179b645991664b39d77ef317c71b845b1e30bd509112041d3a19783",
+ * "result" : "valid"
+ * }
+ * </pre>
+ *
+ * The fields password, salt and dk are hexadecimal encoded byte arrays. Some of the passwords in
+ * the test vector files are byte arrays that are not correct UTF-8 encoded string. PBKDF2 is well
+ * defined for these cases, since the function expects an octet string as parameter.
+ */
+ private static void singleTest(String algorithm, JsonObject testcase, TestResult testResult) {
+ int tcId = testcase.get("tcId").getAsInt();
+ byte[] passwordBytes = getBytes(testcase, "password");
+ byte[] salt = getBytes(testcase, "salt");
+ int iterationCount = testcase.get("iterationCount").getAsInt();
+ int dkLen = testcase.get("dkLen").getAsInt();
+ byte[] expectedDk = getBytes(testcase, "dk");
+ String result = testcase.get("result").getAsString();
+ byte[] computedDk;
+ try {
+ computedDk = computePbkdf(algorithm, passwordBytes, salt, iterationCount, dkLen);
+ } catch (GeneralSecurityException ex) {
+ testResult.addResult(tcId, TestResult.Type.REJECTED_ALGORITHM, ex.toString());
+ return;
+ } catch (RuntimeException ex) {
+ testResult.addResult(tcId, TestResult.Type.WRONG_EXCEPTION, ex.toString());
+ return;
+ }
+ boolean eq = MessageDigest.isEqual(expectedDk, computedDk);
+ TestResult.Type resultType;
+ String comment = "";
+ if (eq) {
+ if (result.equals("invalid")) {
+ resultType = TestResult.Type.NOT_REJECTED_INVALID;
+ } else {
+ resultType = TestResult.Type.PASSED_VALID;
+ }
+ } else {
+ if (result.equals("valid")) {
+ resultType = TestResult.Type.WRONG_RESULT;
+ comment = TestUtil.bytesToHex(computedDk);
+ } else {
+ resultType = TestResult.Type.REJECTED_INVALID;
+ }
+ }
+ testResult.addResult(tcId, resultType, comment);
+ }
+
+ /**
+ * Checks each test vector in a file of test vectors.
+ *
+ * <p>This method is the part of testVerification that does not log any result. The main idea
+ * behind splitting off this part from testVerification is that it may be easier to call from a
+ * third party.
+ *
+ * @param testVectors the test vectors
+ * @return a test result
+ */
+ public static TestResult allTests(TestVectors testVectors) {
+ var testResult = new TestResult(testVectors);
+ JsonObject test = testVectors.getTest();
+ String algorithm = test.get("algorithm").getAsString();
+ String schema = test.get("schema").getAsString();
+ if (!schema.equals("pbkdf_test_schema.json")) {
+ testResult.addFailure(TestResult.Type.WRONG_SETUP, "Unknown schema: " + schema);
+ return testResult;
+ }
+ for (JsonElement g : test.getAsJsonArray("testGroups")) {
+ JsonObject group = g.getAsJsonObject();
+ for (JsonElement t : group.getAsJsonArray("tests")) {
+ JsonObject testcase = t.getAsJsonObject();
+ singleTest(algorithm, testcase, testResult);
+ }
+ }
+ return testResult;
+ }
+
+ /**
+ * Tests PBKDFs against test vectors.
+ *
+ * @param filename the JSON file with the test vectors.
+ * @throws AssumptionViolatedException when the test was skipped. This happens for example when
+ * the underlying primitive is not supported.
+ * @throws AssertionError when the test failed.
+ * @throws IOException when the test vectors could not be read.
+ */
+ public void testPbkdf(String filename) throws IOException {
+ JsonObject test = JsonUtil.getTestVectorsV1(filename);
+ TestVectors testVectors = new TestVectors(test, filename);
+ TestResult testResult = allTests(testVectors);
+
+ if (testResult.skipTest()) {
+ TestUtil.skipTest("No PBKDFs computed");
+ return;
+ }
+ System.out.print(testResult.asString());
+ assertEquals(0, testResult.errors());
+ }
+
+ @Test
+ public void testPbkdf2Sha1() throws Exception {
+ testPbkdf("pbkdf2_hmacsha1_test.json");
+ }
+
+ @Test
+ public void testPbkdf2Sha224() throws Exception {
+ testPbkdf("pbkdf2_hmacsha224_test.json");
+ }
+
+ @Test
+ public void testPbkdf2Sha256() throws Exception {
+ testPbkdf("pbkdf2_hmacsha256_test.json");
+ }
+
+ @Test
+ public void testPbkdf2Sha384() throws Exception {
+ testPbkdf("pbkdf2_hmacsha384_test.json");
+ }
+
+ @Test
+ public void testPbkdf2Sha512() throws Exception {
+ testPbkdf("pbkdf2_hmacsha512_test.json");
+ }
+}
diff --git a/java/com/google/security/wycheproof/testcases/JsonTest.java b/java/com/google/security/wycheproof/testcases/JsonTest.java
index 6bfa613..394ca5b 100644
--- a/java/com/google/security/wycheproof/testcases/JsonTest.java
+++ b/java/com/google/security/wycheproof/testcases/JsonTest.java
@@ -68,6 +68,8 @@ public class JsonTest {
return JsonKeyWrapTest.allTests(testVectors);
case "fpe_list_test_schema.json":
return JsonFpeTest.allTests(testVectors);
+ case "pbkdf_test_schema.json":
+ return JsonPbkdfTest.allTests(testVectors);
case "primality_test_schema.json":
return BigIntegerTest.probablePrimeTest(testVectors);
default:
diff --git a/javascript/BigInteger.js b/javascript/BigInteger.js
index 906641a..f495fd3 100644
--- a/javascript/BigInteger.js
+++ b/javascript/BigInteger.js
@@ -30,9 +30,10 @@ goog.require('wycheproof.TestUtil');
var TestUtil = wycheproof.TestUtil;
+
/**
* Non-negative arbitrary-precision integers.
- * @param {(!Array<Byte>|!Uint8Array)=} optValue
+ * @param {(!Array<number>|!Uint8Array)=} optValue
* The value of the BigInteger in big endian.
* @constructor
* @extends {e2e.BigNum}
@@ -100,7 +101,7 @@ wycheproof.BigInteger.prototype.toArrayBuffer = function(optValue) {
/**
* 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<Byte>|!Uint8Array} modulus The modulus to use.
+ * @param {!Array<number>|!Uint8Array} modulus The modulus to use.
* @constructor
* @extends {e2e.BigPrimeNum}
*/
diff --git a/javascript/EcUtil.js b/javascript/EcUtil.js
index 47efb25..9828bfe 100644
--- a/javascript/EcUtil.js
+++ b/javascript/EcUtil.js
@@ -26,6 +26,7 @@ var BigInteger = wycheproof.BigInteger;
var BigPrimeInteger = wycheproof.BigPrimeInteger;
/**
+ * @constructor
* 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
diff --git a/javascript/TestUtil.js b/javascript/TestUtil.js
index ec26735..5d65b51 100644
--- a/javascript/TestUtil.js
+++ b/javascript/TestUtil.js
@@ -27,7 +27,7 @@ goog.requireType('goog.testing.TestCase.Result');
* Reads test vectors in JSON format from a file.
* @param {string} filename
*
- * @return {!JSONObject}
+ * @return {?}
*/
wycheproof.TestUtil.readJsonTestVectorsFromFile = function(filename){
var fileContent = goog.loadFileSync_(filename);
diff --git a/javascript/webcryptoapi/testcases/EcdhTest.js b/javascript/webcryptoapi/testcases/EcdhTest.js
index 3fddfc5..6042c02 100644
--- a/javascript/webcryptoapi/testcases/EcdhTest.js
+++ b/javascript/webcryptoapi/testcases/EcdhTest.js
@@ -55,7 +55,7 @@ Ecdh.generateKey = function(curveName) {
/**
* Imports a ECDH key from the given key data.
- * @param {!JSONObject} keyData The key data in JWK format
+ * @param {?} keyData The key data in JWK format
* @param {!Array<string>} usages The usages of the key
*
* @return {!Promise}
@@ -155,8 +155,8 @@ Ecdh.testKeyDerivation = function() {
/**
* Parameters of a ECDH key derivation test.
* @param {!number} id Test case's id
- * @param {!JSONObject} privKeyData The private key's data in JWK format
- * @param {!JSONObject} pubKeyData The public key's data in JWK format
+ * @param {?} privKeyData The private key's data in JWK format
+ * @param {?} 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
*/
diff --git a/javascript/webcryptoapi/testcases/EcdsaTest.js b/javascript/webcryptoapi/testcases/EcdsaTest.js
index 04064ab..7588b51 100644
--- a/javascript/webcryptoapi/testcases/EcdsaTest.js
+++ b/javascript/webcryptoapi/testcases/EcdsaTest.js
@@ -72,7 +72,7 @@ Ecdsa.sign = function(sk, msg, hashAlg) {
/**
* Imports a ECDSA public key.
- * @param {!JSONObject} keyData The key data in JWK format
+ * @param {?} keyData The key data in JWK format
* @param {string} hashAlg The hash algorithm
* @param {!Array<string>} usages The usages of the key
*
@@ -148,7 +148,7 @@ Ecdsa.testVerify = function() {
/**
* Parameters of a ECDSA signature verification test.
* @param {!number} id Test case's id
- * @param {!JSONObject} keyData The key data in JWK format
+ * @param {?} 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
diff --git a/testvectors/json_web_signature_test.json b/testvectors/json_web_signature_test.json
index c0afad1..ce00264 100644
--- a/testvectors/json_web_signature_test.json
+++ b/testvectors/json_web_signature_test.json
@@ -1,6 +1,6 @@
{
"generatorVersion" : "0.3",
- "numberOfTests" : 375,
+ "numberOfTests" : 401,
"header" : [
"Test vectors of type JsonWebSignature are intended for tests that check the ",
"verification operation of a JSON Web Signature library."
@@ -3717,6 +3717,199 @@
"result": "valid"
}
]
+ },
+ {
+ "type": "JsonWebSignature",
+ "comment": "SpecialCaseEs256",
+ "private": {
+ "alg": "ES256",
+ "use": "sig",
+ "x": "04N0xi21hshyvBp7I167sbE_bXqyqkAPfefdklMO7wY",
+ "y": "UI8exy-C06a7DUnjIdENkxeFtHM4-l_41LqEw9nVgmw",
+ "crv": "P-256",
+ "d": "yy49oPcINGK2ps0LmtxpB6UTEOiITghHBif6wDqmJ3c",
+ "kid": "kid-ec-sign",
+ "kty": "EC"
+ },
+ "public": {
+ "alg": "ES256",
+ "use": "sig",
+ "x": "04N0xi21hshyvBp7I167sbE_bXqyqkAPfefdklMO7wY",
+ "y": "UI8exy-C06a7DUnjIdENkxeFtHM4-l_41LqEw9nVgmw",
+ "crv": "P-256",
+ "kid": "kid-ec-sign",
+ "kty": "EC"
+ },
+ "tests": [
+ {
+ "tcId": 378,
+ "comment": "valid",
+ "jws": "eyJhbGciOiJFUzI1NiIsImtpZCI6ImtpZC1lYy1zaWduIn0.Zm9v.5cA0OHyMP7ezamUd5c9kV-FrGxdx4hbGXOdplQkutrppUShFwBW_Qj7IqhFOtNrIXLLKXS5CSZmERxmnjeyoiQ",
+ "result": "valid",
+ "flags": []
+ },
+ {
+ "tcId": 379,
+ "comment": "SignatureTooLong",
+ "jws": "eyJhbGciOiJFUzI1NiIsImtpZCI6ImtpZC1lYy1zaWduIn0.Zm9v.AOXANDh8jD-3s2plHeXPZFfhaxsXceIWxlznaZUJLra6AJau17k_6kC-wTdV7rFLJTdgNDBQeNVU629ysRtudnzI",
+ "result": "invalid",
+ "flags": []
+ },
+ {
+ "tcId": 380,
+ "comment": "TrailingZeros",
+ "jws": "eyJhbGciOiJFUzI1NiIsImtpZCI6ImtpZC1lYy1zaWduIn0.Zm9v.5cA0OHyMP7ezamUd5c9kV-FrGxdx4hbGXOdplQkutroAlq7XuT_qQL7BN1XusUslN2A0MFB41VTrb3KxG252fMgA",
+ "result": "invalid",
+ "flags": []
+ },
+ {
+ "tcId": 381,
+ "comment": "RisTooBig",
+ "jws": "eyJhbGciOiJFUzI1NiIsImtpZCI6ImtpZC1lYy1zaWduIn0.Zm9v.AeXANDd8jD-4s2plHeXPZFeeUhXFGPm1S1ChNFgFkdwLAJau17k_6kC-wTdV7rFLJTdgNDBQeNVU629ysRtudnzI",
+ "result": "invalid",
+ "flags": []
+ },
+ {
+ "tcId": 382,
+ "comment": "SisTooBig",
+ "jws": "eyJhbGciOiJFUzI1NiIsImtpZCI6ImtpZC1lYy1zaWduIn0.Zm9v.AOXANDh8jD-3s2plHeXPZFfhaxsXceIWxlznaZUJLra6AZau17g_6kC_wTdV7rFLJTcdGyr-H-zzcGMse95q2aIZ",
+ "result": "invalid",
+ "flags": []
+ },
+ {
+ "tcId": 383,
+ "comment": "IntegerOverflow",
+ "jws": "eyJhbGciOiJFUzI1NiIsImtpZCI6ImtpZC1lYy1zaWduIn0.Zm9v.AeXANDh8jD-3s2plHeXPZFfhaxsXceIWxlznaZUJLra6AJau17k_6kC-wTdV7rFLJTdgNDBQeNVU629ysRtudnzI",
+ "result": "invalid",
+ "flags": []
+ },
+ {
+ "tcId": 384,
+ "comment": "IntegerOverflow",
+ "jws": "eyJhbGciOiJFUzI1NiIsImtpZCI6ImtpZC1lYy1zaWduIn0.Zm9v.AOXANDh8jD-3s2plHeXPZFfhaxsXceIWxlznaZUJLra6AZau17k_6kC-wTdV7rFLJTdgNDBQeNVU629ysRtudnzI",
+ "result": "invalid",
+ "flags": []
+ },
+ {
+ "tcId": 385,
+ "comment": "BufferOverflow",
+ "jws": "eyJhbGciOiJFUzI1NiIsImtpZCI6ImtpZC1lYy1zaWduIn0.Zm9v.AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA5cA0OHyMP7ezamUd5c9kV-FrGxdx4hbGXOdplQkutroAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACWrte5P-pAvsE3Ve6xSyU3YDQwUHjVVOtvcrEbbnZ8yA",
+ "result": "invalid",
+ "flags": []
+ },
+ {
+ "tcId": 386,
+ "comment": "rIsZero_sIsZero",
+ "jws": "eyJhbGciOiJFUzI1NiIsImtpZCI6ImtpZC1lYy1zaWduIn0.Zm9v.AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA",
+ "result": "invalid",
+ "flags": []
+ },
+ {
+ "tcId": 387,
+ "comment": "rIsZero_sIsOne",
+ "jws": "eyJhbGciOiJFUzI1NiIsImtpZCI6ImtpZC1lYy1zaWduIn0.Zm9v.AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQ",
+ "result": "invalid",
+ "flags": []
+ },
+ {
+ "tcId": 388,
+ "comment": "rIsZero_sIsNminus1",
+ "jws": "eyJhbGciOiJFUzI1NiIsImtpZCI6ImtpZC1lYy1zaWduIn0.Zm9v.AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD_____AAAAAP__________vOb6racXnoTzucrC_GMlUA",
+ "result": "invalid",
+ "flags": []
+ },
+ {
+ "tcId": 389,
+ "comment": "rIsZero_sIsN",
+ "jws": "eyJhbGciOiJFUzI1NiIsImtpZCI6ImtpZC1lYy1zaWduIn0.Zm9v.AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD_____AAAAAP__________vOb6racXnoTzucrC_GMlUQ",
+ "result": "invalid",
+ "flags": []
+ },
+ {
+ "tcId": 390,
+ "comment": "rIsOne_sIsZero",
+ "jws": "eyJhbGciOiJFUzI1NiIsImtpZCI6ImtpZC1lYy1zaWduIn0.Zm9v.AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA",
+ "result": "invalid",
+ "flags": []
+ },
+ {
+ "tcId": 391,
+ "comment": "rIsOne_sIsOne",
+ "jws": "eyJhbGciOiJFUzI1NiIsImtpZCI6ImtpZC1lYy1zaWduIn0.Zm9v.AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQ",
+ "result": "invalid",
+ "flags": []
+ },
+ {
+ "tcId": 392,
+ "comment": "rIsOne_sIsNminus1",
+ "jws": "eyJhbGciOiJFUzI1NiIsImtpZCI6ImtpZC1lYy1zaWduIn0.Zm9v.AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH_____AAAAAP__________vOb6racXnoTzucrC_GMlUA",
+ "result": "invalid",
+ "flags": []
+ },
+ {
+ "tcId": 393,
+ "comment": "rIsOne_sIsN",
+ "jws": "eyJhbGciOiJFUzI1NiIsImtpZCI6ImtpZC1lYy1zaWduIn0.Zm9v.AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH_____AAAAAP__________vOb6racXnoTzucrC_GMlUQ",
+ "result": "invalid",
+ "flags": []
+ },
+ {
+ "tcId": 394,
+ "comment": "rIsNminus1_sIsZero",
+ "jws": "eyJhbGciOiJFUzI1NiIsImtpZCI6ImtpZC1lYy1zaWduIn0.Zm9v._____wAAAAD__________7zm-q2nF56E87nKwvxjJVAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA",
+ "result": "invalid",
+ "flags": []
+ },
+ {
+ "tcId": 395,
+ "comment": "rIsNminus1_sIsOne",
+ "jws": "eyJhbGciOiJFUzI1NiIsImtpZCI6ImtpZC1lYy1zaWduIn0.Zm9v._____wAAAAD__________7zm-q2nF56E87nKwvxjJVAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQ",
+ "result": "invalid",
+ "flags": []
+ },
+ {
+ "tcId": 396,
+ "comment": "rIsNminus1_sIsNminus1",
+ "jws": "eyJhbGciOiJFUzI1NiIsImtpZCI6ImtpZC1lYy1zaWduIn0.Zm9v._____wAAAAD__________7zm-q2nF56E87nKwvxjJVD_____AAAAAP__________vOb6racXnoTzucrC_GMlUA",
+ "result": "invalid",
+ "flags": []
+ },
+ {
+ "tcId": 397,
+ "comment": "rIsNminus1_sIsN",
+ "jws": "eyJhbGciOiJFUzI1NiIsImtpZCI6ImtpZC1lYy1zaWduIn0.Zm9v._____wAAAAD__________7zm-q2nF56E87nKwvxjJVD_____AAAAAP__________vOb6racXnoTzucrC_GMlUQ",
+ "result": "invalid",
+ "flags": []
+ },
+ {
+ "tcId": 398,
+ "comment": "rIsN_sIsZero",
+ "jws": "eyJhbGciOiJFUzI1NiIsImtpZCI6ImtpZC1lYy1zaWduIn0.Zm9v._____wAAAAD__________7zm-q2nF56E87nKwvxjJVEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA",
+ "result": "invalid",
+ "flags": []
+ },
+ {
+ "tcId": 399,
+ "comment": "rIsN_sIsOne",
+ "jws": "eyJhbGciOiJFUzI1NiIsImtpZCI6ImtpZC1lYy1zaWduIn0.Zm9v._____wAAAAD__________7zm-q2nF56E87nKwvxjJVEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQ",
+ "result": "invalid",
+ "flags": []
+ },
+ {
+ "tcId": 400,
+ "comment": "rIsN_sIsNminus1",
+ "jws": "eyJhbGciOiJFUzI1NiIsImtpZCI6ImtpZC1lYy1zaWduIn0.Zm9v._____wAAAAD__________7zm-q2nF56E87nKwvxjJVH_____AAAAAP__________vOb6racXnoTzucrC_GMlUA",
+ "result": "invalid",
+ "flags": []
+ },
+ {
+ "tcId": 401,
+ "comment": "rIsN_sIsN",
+ "jws": "eyJhbGciOiJFUzI1NiIsImtpZCI6ImtpZC1lYy1zaWduIn0.Zm9v._____wAAAAD__________7zm-q2nF56E87nKwvxjJVH_____AAAAAP__________vOb6racXnoTzucrC_GMlUQ",
+ "result": "invalid",
+ "flags": []
+ }
+ ]
}
]
}
diff --git a/testvectors/x25519_test.json b/testvectors/x25519_test.json
index f5d56bb..9443993 100644
--- a/testvectors/x25519_test.json
+++ b/testvectors/x25519_test.json
@@ -1018,7 +1018,8 @@
"shared" : "dfe60831c9f4f96c816e51048804dbdc27795d760eced75ef575cbe3b464054b",
"result" : "acceptable",
"flags" : [
- "NonCanonicalPublic"
+ "NonCanonicalPublic",
+ "Twist"
]
},
{
@@ -1029,8 +1030,7 @@
"shared" : "50bfa826ca77036dd2bbfd092c3f78e2e4a1f980d7c8e78f2f14dca3cce5cc3c",
"result" : "acceptable",
"flags" : [
- "NonCanonicalPublic",
- "Twist"
+ "NonCanonicalPublic"
]
},
{
@@ -1041,7 +1041,8 @@
"shared" : "13da5695a4c206115409b5277a934782fe985fa050bc902cba5616f9156fe277",
"result" : "acceptable",
"flags" : [
- "NonCanonicalPublic"
+ "NonCanonicalPublic",
+ "Twist"
]
},
{
@@ -1110,8 +1111,10 @@
"public" : "e5210f12786811d3f4b7959d0538ae2c31dbe7106fc03c3efc4cd549c715a413",
"private" : "4866e9d4d1b4673c5ad22691957d6af5c11b6421e0ea01d42ca4169e7918ba4d",
"shared" : "95cbde9476e8907d7aade45cb4b873f88b595a68799fa152e6f8f7647aac7957",
- "result" : "valid",
- "flags" : []
+ "result" : "acceptable",
+ "flags" : [
+ "Twist"
+ ]
},
{
"tcId" : 102,
diff --git a/testvectors_v1/ecdsa_secp256k1_sha256_bitcoin_test.json b/testvectors_v1/ecdsa_secp256k1_sha256_bitcoin_test.json
index 9c90747..aa0cc8a 100644
--- a/testvectors_v1/ecdsa_secp256k1_sha256_bitcoin_test.json
+++ b/testvectors_v1/ecdsa_secp256k1_sha256_bitcoin_test.json
@@ -10,7 +10,7 @@
"notes" : {
"ArithmeticError" : {
"bugType" : "EDGE_CASE",
- "description" : "Some implementations of ECDSA have arithmetic errors that occur when intermediate results have extreme values. This test vector has been constructed to test such occurences.",
+ "description" : "Some implementations of ECDSA have arithmetic errors that occur when intermediate results have extreme values. This test vector has been constructed to test such occurrences.",
"cves" : [
"CVE-2017-18146"
]
@@ -95,7 +95,7 @@
},
"SignatureMalleabilityBitcoin" : {
"bugType" : "SIGNATURE_MALLEABILITY",
- "description" : "\"BitCoins\"-curves are curves where signature malleability can be a serious issue. An implementation should only accept a signature s where s < n/2. If an implementation is not meant for uses cases that require signature malleability then this implemenation should be tested with another set of test vectors.",
+ "description" : "\"BitCoins\"-curves are curves where signature malleability can be a serious issue. An implementation should only accept a signature s where s < n/2. If an implementation is not meant for uses cases that require signature malleability then this implementation should be tested with another set of test vectors.",
"effect" : "In bitcoin exchanges, it may be used to make a double deposits or double withdrawals",
"links" : [
"https://en.bitcoin.it/wiki/Transaction_malleability",
diff --git a/testvectors_v1/pbes2_hmacsha1_aes_128_test.json b/testvectors_v1/pbes2_hmacsha1_aes_128_test.json
new file mode 100644
index 0000000..a52773d
--- /dev/null
+++ b/testvectors_v1/pbes2_hmacsha1_aes_128_test.json
@@ -0,0 +1,1228 @@
+{
+ "algorithm" : "PbeWithHmacSha1AndAes_128",
+ "schema" : "pbe_test_schema.json",
+ "generatorVersion" : "0.9",
+ "numberOfTests" : 84,
+ "header" : [
+ "Test vector of type PbeTest are used for PBES1 or PBES2."
+ ],
+ "notes" : {
+ "Ascii" : {
+ "bugType" : "FUNCTIONALITY",
+ "description" : "The test vector contains a password consisting of ASCII characters."
+ },
+ "BmpString" : {
+ "bugType" : "FUNCTIONALITY",
+ "description" : "The test vectors contains a password that is a valid BMPString as used in RFC 7292. This RFC uses big endian encoding and a null terminator."
+ },
+ "NonUtf8" : {
+ "bugType" : "FUNCTIONALITY",
+ "description" : "The test vector contains a password that is not a valid UTF-8 string."
+ },
+ "Printable" : {
+ "bugType" : "FUNCTIONALITY",
+ "description" : "The test vector contains a password consisting of printable ASCII characters."
+ },
+ "Utf8" : {
+ "bugType" : "FUNCTIONALITY",
+ "description" : "The test vector contains a password that is a valid UTF-8 string."
+ }
+ },
+ "testGroups" : [
+ {
+ "type" : "PbeTest",
+ "tests" : [
+ {
+ "tcId" : 1,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "7743656734722c30",
+ "salt" : "fcd9a324f025ef40",
+ "iterationCount" : 4096,
+ "iv" : "42f02ff71b8524d1678ab2e34f9e7d47",
+ "msg" : "",
+ "ct" : "c3eb3b3561b576140885584498c0ccfc",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 2,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "64395f4b48295839",
+ "salt" : "bfb221ba6de64926",
+ "iterationCount" : 4096,
+ "iv" : "7a735848780923657c0c54bc2ff0d9f8",
+ "msg" : "a3",
+ "ct" : "08d3abc1fc6bac63621bc58188bcc732",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 3,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "3a787e4c2c604d70",
+ "salt" : "dc64f1fd4705b4e5",
+ "iterationCount" : 4096,
+ "iv" : "579ff2437d6739742421b6e4e70d5c27",
+ "msg" : "4204",
+ "ct" : "214cef66fc37586fa3b8f290fed8142e",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 4,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "2a67656a66296120",
+ "salt" : "4c379a2bd962d19a",
+ "iterationCount" : 4096,
+ "iv" : "5bff9a5e8692229679cbd70fcfdebb74",
+ "msg" : "ceb541",
+ "ct" : "c82c2540cbc4a89a971dc2985c89f464",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 5,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "3b55267d5f4b2d4c",
+ "salt" : "08e041282eed4f00",
+ "iterationCount" : 4096,
+ "iv" : "17c5e988149370694c1b3b8cb0e44225",
+ "msg" : "10d032a7",
+ "ct" : "7ef862c1ef261e54ad8d99fee6f98f49",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 6,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "4f317e2e525e517a",
+ "salt" : "bd5c4b6f25a1f6ff",
+ "iterationCount" : 4096,
+ "iv" : "76e5e3eb771a4daec6fabdc0b0793195",
+ "msg" : "29d9f1a701",
+ "ct" : "cb3114bb785871d46eecee19477c0736",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 7,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "6557766473282375",
+ "salt" : "ea1efbb1c86b0c06",
+ "iterationCount" : 4096,
+ "iv" : "1f186ad98435e90fd7700695c986ef78",
+ "msg" : "6f124d8a8248",
+ "ct" : "f862dd3485304907953558f928bacf1b",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 8,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "543a5f48765a2542",
+ "salt" : "f308bbcca74a2224",
+ "iterationCount" : 4096,
+ "iv" : "26bbbf2e18f06a4524e13bfd1ac00b37",
+ "msg" : "a1163153287dfe",
+ "ct" : "7d9dd6ab3a85f8ebe19fc3ffe2bb3304",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 9,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "695a3c642f457a52",
+ "salt" : "7af3b0005c594502",
+ "iterationCount" : 4096,
+ "iv" : "6d9e8ea3d6ed355bf5e65b12995dbf6a",
+ "msg" : "9b29df8b3b9862f4",
+ "ct" : "e2fca7e2cdca982f74abc8f6e5a6eb5c",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 10,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "2a772a233f216e60",
+ "salt" : "172d5f4595c220dd",
+ "iterationCount" : 4096,
+ "iv" : "a5941967d4f6934431bd9951e20a93a6",
+ "msg" : "fe51cf84289221b894",
+ "ct" : "fef998cee54389c700f7d1c3a7700c7a",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 11,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "793c43623652216f",
+ "salt" : "d1d722eee2c5ebef",
+ "iterationCount" : 4096,
+ "iv" : "5cfe832947ec659f6847277ec1fab2f9",
+ "msg" : "696eb8b4e6b2015abb91",
+ "ct" : "c0a11e23e4ac4de4ed17f60f684bd029",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 12,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "4854515c222a2230",
+ "salt" : "843f5ff28978f214",
+ "iterationCount" : 4096,
+ "iv" : "430b247a435124754c83cc11203f18bd",
+ "msg" : "d8405be7823b472459a2fc",
+ "ct" : "8857612d761a22a403378e088c5ef6f5",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 13,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "48682a4d34266b40",
+ "salt" : "783f344a1fa7c9a8",
+ "iterationCount" : 4096,
+ "iv" : "c707947121e5fc2da16990a78772e0ab",
+ "msg" : "56c73b781c1bff72a8ae7faf",
+ "ct" : "25849ac196fc8a4cdce0fa76396a0bc2",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 14,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "293a746531294d5c",
+ "salt" : "2c75641f991eb10b",
+ "iterationCount" : 4096,
+ "iv" : "96dabd858e4187d0e50f8299ab60f029",
+ "msg" : "b07e8bbb45e9a17c124f6d5129",
+ "ct" : "6747c003e085fe83962c245ef5b6be5a",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 15,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "353377343f482b65",
+ "salt" : "cf1620e7aabb73b7",
+ "iterationCount" : 4096,
+ "iv" : "8e6dd70b1dd1c39d0b8b593c556d812b",
+ "msg" : "ff89eb184de11579cae7d110a350",
+ "ct" : "57e2f52cfd007c3f40092d9b08fc952f",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 16,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "614e2d4634335721",
+ "salt" : "6dffc1db31767608",
+ "iterationCount" : 4096,
+ "iv" : "78c899bcdc4cf7d933ddc9016bc6e64e",
+ "msg" : "5e859aac690c85646ffb3f2bbb0d9c",
+ "ct" : "3225364fa24b658294efd3e944809dcb",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 17,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "6f5330325e22574e",
+ "salt" : "798acc7c76739d75",
+ "iterationCount" : 4096,
+ "iv" : "5bfcfd6d7013eb8828f72455d7535c77",
+ "msg" : "86059dc647ba7d0067099e16c3da8bb6",
+ "ct" : "490ec6d3b92da29054fc3fcb2fc1c4221180c2f3a4e862944d5d3b0b5c42718c",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 18,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "3972245623494f42",
+ "salt" : "da5421f23ac5b5e1",
+ "iterationCount" : 4096,
+ "iv" : "12293114ddb85319240682c1765e4533",
+ "msg" : "fc9349cbd8c277786c888f3254342431a8",
+ "ct" : "64732b2d28beca9ed71c16667daee87f1c6f24438c72c3ebdb6a60c640a20efb",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 19,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "464d2f76752b4d63",
+ "salt" : "8cfea3c6783cfc41",
+ "iterationCount" : 4096,
+ "iv" : "9c84fe91476ab1c6ed30db9bb7f60280",
+ "msg" : "ad10a3cdef856b0632f7ce200c11f6c569d2",
+ "ct" : "3d5a2f6baeac85ef4d87fb833df2578463045a4a37cacf8a144d218ee9ba2b9e",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 20,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "7951437c2b6f7079",
+ "salt" : "caada2e55c49492f",
+ "iterationCount" : 4096,
+ "iv" : "3a0185b1423310796b052e9128334b04",
+ "msg" : "be82c331a83dd0c472abc6ae8725d2ba48b3ad",
+ "ct" : "8a783d34bd8e99507bc19b85f0783b77a31e637ae9b90ef3c0905de2c579c787",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 21,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "525c2424652a603d",
+ "salt" : "26ea52da49513b47",
+ "iterationCount" : 4096,
+ "iv" : "b9c70ea8599e136a64b2a6733e8ceb40",
+ "msg" : "d964c8b7fac0906c25654186f8d8e74b62dac5ac",
+ "ct" : "ffd5ba225df691bbf5dd7af25bca57b6f85ca8bdd231e587940ff5ecfc4516da",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 22,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "6e446161627e6a3d",
+ "salt" : "64c6e216305ac8e5",
+ "iterationCount" : 4096,
+ "iv" : "2e089b050bfcbb214a3904344b25a28d",
+ "msg" : "00bba99a3d64657e16b70ee50c091488661c0af597",
+ "ct" : "f26e7fc95704761ac450f60d2d760863e5c04427c34f7dbad4d5d853f33c5eba",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 23,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "5b413d39776e3323",
+ "salt" : "33017b20ba4a7af2",
+ "iterationCount" : 4096,
+ "iv" : "6fcf1307b562738a387c75885a7d6bf9",
+ "msg" : "1f6c99446d139e9ea5d46af1667b733eb8748e5e0e18",
+ "ct" : "000be0a761b86cda772eadbbc347b723b15bf42fbe5f2415653b71bed2850989",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 24,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "414838254a683628",
+ "salt" : "127e43a6c714f168",
+ "iterationCount" : 4096,
+ "iv" : "21bb5b1c774409d06067597153422573",
+ "msg" : "773f5e2ebe6ce60683cac6a9e2f0c9663556923582bdec",
+ "ct" : "291c78633fe0e035307a471f5ec2d3e6531b51737e057cdf6a6e6c9058998078",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 25,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "3c202b435634305d",
+ "salt" : "45f38c6678268b8e",
+ "iterationCount" : 4096,
+ "iv" : "348b3cca3ece503b42b20b2ae690c4eb",
+ "msg" : "8ab193d18b1dec59400822dd0cea7239b3743327488e3d2d",
+ "ct" : "f216be4541cdfeec80a26b051d837f35d8e26e652a5bb20eb9cc282679ea3601",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 26,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "6e43225f5832705b",
+ "salt" : "5911a7a49800e204",
+ "iterationCount" : 4096,
+ "iv" : "58b4f658efcf961c4715b0af0b0913b7",
+ "msg" : "b336756c278ab89c0539047824350469b05918446a672b4215",
+ "ct" : "eb827792b7b2176ffbcdd25ab8ad7870cd3641a90edd855603776cf1d8a5fa74",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 27,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "3f26723264514541",
+ "salt" : "18a9d3dfa74d4024",
+ "iterationCount" : 4096,
+ "iv" : "497fe0d1a8c09aca8d98a11db8621077",
+ "msg" : "6cd40dc20c7103a39b83da1f8c67855b0ffd77c250e1447414a9",
+ "ct" : "b8539c59fccdd5d79be9e28a80e2dc44de812a88d3976d91625ad6d9e373ce5e",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 28,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "536d4a3b42714035",
+ "salt" : "9025629f385862f5",
+ "iterationCount" : 4096,
+ "iv" : "575fd9464cc1a36fcd23d7fc4ed304de",
+ "msg" : "40a37fae54940616cd6bb6cefb8f4521895fe9b7593492c2709003",
+ "ct" : "48073dfd0641f4ee358aa4fe76e2d35a9e55b9907aa857ecfda199b569b642ac",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 29,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "283d692b21263f41",
+ "salt" : "4f9ca92d54e165d1",
+ "iterationCount" : 4096,
+ "iv" : "402239571eaf6f7162fd4fe620d55948",
+ "msg" : "d47c8c9ec28820d760abfe731e9e9818d34abad20da255cff68fd374",
+ "ct" : "9837f97b1424e808830e6afd83bd5c9e13652e917225d782ed82f2418fb1bcaf",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 30,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "3658665b3a546f47",
+ "salt" : "5ae48edef6811519",
+ "iterationCount" : 4096,
+ "iv" : "2425c2af851d56445c8e11b4529e3287",
+ "msg" : "5892825348e6160fd4f95f0a619a5a41604ee4b21ace4c9f61adf31ebc",
+ "ct" : "0ccbd92f7711a3a47c0e601fd061199cbde79489e68a5b8c82b13f4f8a147f3a",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 31,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "257d78712275712a",
+ "salt" : "e2a7c16a6fe6a1fc",
+ "iterationCount" : 4096,
+ "iv" : "9dc7a4ff8a5a9d04d1b88c14028092c5",
+ "msg" : "596c0a1b3f9c251c98b15fb077da34c72e415ab9f4f01ac865421a7b89be",
+ "ct" : "f5d3eccc529c5690204f068cb0133c60747ac64e1d363bfa0024f631fd295e29",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 32,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "2b75433d3a69566c",
+ "salt" : "a6d0b6f795cbe6a8",
+ "iterationCount" : 4096,
+ "iv" : "5804285758b9e6450148872a11dcc421",
+ "msg" : "18e18b3cb96d6d9ff0730b2ff70ac2be9577a75555554f6c446ed30850c167",
+ "ct" : "67d079f62b7f116dd6da6757e301be5dfa371c1aaf32a588fa82e2a03a487610",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 33,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "252b6452647b4520",
+ "salt" : "e817780ed7997728",
+ "iterationCount" : 4096,
+ "iv" : "ff2512297f3fd5aa2b859432b9f53006",
+ "msg" : "8e9b1f95807a3c1bc95027ca72d2ae717b7e9dceac7437fc32a1aad2343ce69e",
+ "ct" : "0e1e562e8e91b5f6240fc0b09640a3d9bce38beaf87dcb979d41c37ded54d932f8cd58211c6739066a9ff305b4ba8853",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 34,
+ "comment" : "password contains only ASCII characters",
+ "flags" : [
+ "Ascii"
+ ],
+ "password" : "4b2d6c600e66535c7f3d6d6c",
+ "salt" : "7a4c02db8bd8fcc2",
+ "iterationCount" : 4096,
+ "iv" : "d62747fca1a7dfbee90597b3f57fffa2",
+ "msg" : "52dd188a4585bbaa85ced8d529d880b3",
+ "ct" : "a1c89bc0250ebbcd4c0b3f900b855c93724ea39cebfa13a9d4f8c5a543be0de4",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 35,
+ "comment" : "password contains only ASCII characters",
+ "flags" : [
+ "Ascii"
+ ],
+ "password" : "706614257f522b6315345f7c",
+ "salt" : "94ef44b92e15fa35",
+ "iterationCount" : 4096,
+ "iv" : "c489480ee8a00898f3151317c2c614b9",
+ "msg" : "9cb42f3f2992357a7beeedfa37653f4d41",
+ "ct" : "e07bb93bed52ecb246354977fdcbd7cdb1d3a0810f03f547666f37c54e23e3c9",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 36,
+ "comment" : "password contains only ASCII characters",
+ "flags" : [
+ "Ascii"
+ ],
+ "password" : "1f4b7b354903545f2b07720b",
+ "salt" : "62f91ea01f3a18aa2f122bd15c4a615b",
+ "iterationCount" : 4096,
+ "iv" : "05d867eae06fbfd2efda349bc3dcd473",
+ "msg" : "64f33addb1e1671f867e96a3e8339ecd",
+ "ct" : "c8fef130a1e8cf5764b54c0b110f468fae9c068202cd64afe95b73e182f490cf",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 37,
+ "comment" : "password contains only ASCII characters",
+ "flags" : [
+ "Ascii"
+ ],
+ "password" : "1e2e16140e4a4d19251b6f5f",
+ "salt" : "bdf156b4d87a5e07cd9481b3d136887c",
+ "iterationCount" : 4096,
+ "iv" : "b64e4b7176cfafe46235e8b32b2508e6",
+ "msg" : "9b31b854ff09e4cdd28b817fb2f2cdb6c9",
+ "ct" : "4bd6d8b6df15bbc0ae087c9c37c19b9cb4fa7ea72bb8309c74b71b8b8d969300",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 38,
+ "comment" : "password contains only ASCII characters",
+ "flags" : [
+ "Ascii"
+ ],
+ "password" : "15296b0933473119180f3c0645202d5221633803",
+ "salt" : "d7412e4137fc4410",
+ "iterationCount" : 4096,
+ "iv" : "d227c8c98a652788944977f9bc73a20d",
+ "msg" : "86159d5e3b903a51a833ce561f39ae0a",
+ "ct" : "5c2aced3ed9d52345b6b889cb4cca0d94fba6bfc0321677acc8a39d325b51457",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 39,
+ "comment" : "password contains only ASCII characters",
+ "flags" : [
+ "Ascii"
+ ],
+ "password" : "00017e1e176769476d2433302f3506590e632a0c",
+ "salt" : "28c1759d783256fd",
+ "iterationCount" : 4096,
+ "iv" : "cf23a38fef611880acf9107ffa9e29a8",
+ "msg" : "79532d85a40aa575377172611dd4f0047c",
+ "ct" : "c8ba816d8a152daf0ee5126cb42b1fb82064575938b1ed0fb0569adf0d37905f",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 40,
+ "comment" : "password contains only ASCII characters",
+ "flags" : [
+ "Ascii"
+ ],
+ "password" : "7a106c2773542c791d2f0a02632b69644f666278",
+ "salt" : "a36350db68186d747254bd9835219487",
+ "iterationCount" : 4096,
+ "iv" : "568af67455f416a63d3ced652c32a74d",
+ "msg" : "96687d00d01854bbc2151ed4fdec8732",
+ "ct" : "000c77f25d0ce1550c7a4858744debc2b646f5659da43764ec41bf5ec1c5c57b",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 41,
+ "comment" : "password contains only ASCII characters",
+ "flags" : [
+ "Ascii"
+ ],
+ "password" : "350e2f050d444c09374977205a6b063736373067",
+ "salt" : "3cadfed36847faa4af545c426b7bcbc5",
+ "iterationCount" : 4096,
+ "iv" : "1ee0658f81c645721618de5849c3baf1",
+ "msg" : "89e4167cba0f8ca3a4b1640b023612d963",
+ "ct" : "36a379948a68967e827880490d66874df10770409260fc065fd8e444d6838fd7",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 42,
+ "comment" : "password is a valid UTF-8 encoding",
+ "flags" : [
+ "Utf8"
+ ],
+ "password" : "d0a3d1bed38acc83",
+ "salt" : "8dfae85c9f2072ae",
+ "iterationCount" : 4096,
+ "iv" : "13a77b4b2eb10b260ac889b432d7af1c",
+ "msg" : "41a21ec6f04859724a1dfcdcf85e6c3a",
+ "ct" : "ae15daec53512ea89f65f9aee1e2feb45abe4808cf47e22659754c27a83d8540",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 43,
+ "comment" : "password is a valid UTF-8 encoding",
+ "flags" : [
+ "Utf8"
+ ],
+ "password" : "d4b8cbbcc49bd9b6",
+ "salt" : "657a212f745924eb",
+ "iterationCount" : 4096,
+ "iv" : "6529f3dc9f0197e2f5c6e889b1b6097f",
+ "msg" : "231765341c414e93ec399b804a79a65dfc",
+ "ct" : "bd7fd70ab49209c4bebd72bf503b61eaf8b72776b78354f001dee5f3bf677e83",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 44,
+ "comment" : "password is a valid UTF-8 encoding",
+ "flags" : [
+ "Utf8"
+ ],
+ "password" : "c299d292cd92dcb8",
+ "salt" : "99c55e182238c8e0c385447685e9ba85",
+ "iterationCount" : 4096,
+ "iv" : "34d4cc26cd871885c8e781d6e8b9ec67",
+ "msg" : "4bf1f98da6113ca66cc18283aedb4cc5",
+ "ct" : "a31c71416a599233e14ee07bb24d235dd4102ebe7efb7e462615c79db8c696c3",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 45,
+ "comment" : "password is a valid UTF-8 encoding",
+ "flags" : [
+ "Utf8"
+ ],
+ "password" : "da9dd3acdca2df8a",
+ "salt" : "b5413f52391a2ff0fb19563c0b40a445",
+ "iterationCount" : 4096,
+ "iv" : "b4d3b1dbbc034d407ce552e6bc63fee1",
+ "msg" : "e2e81593f6591df708582f4cce0b1c6d78",
+ "ct" : "3c78a90fd967326556c91cbf7c67918569c4f2918f670c8adb8dc223dc8f3196",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 46,
+ "comment" : "password is a valid UTF-8 encoding",
+ "flags" : [
+ "Utf8"
+ ],
+ "password" : "cfbec3b9d7acc7a9d585d1a5c28fcca119",
+ "salt" : "e9c55717a1259a29",
+ "iterationCount" : 4096,
+ "iv" : "cd718713a05183c1aa4bc4c01794b382",
+ "msg" : "1f4425a96b272fc27bcbfda0bb7e0dd8",
+ "ct" : "df009a45c3ab017929e58ded717452b2ec5cae17d2a48ff70c9757215d1ced43",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 47,
+ "comment" : "password is a valid UTF-8 encoding",
+ "flags" : [
+ "Utf8"
+ ],
+ "password" : "d492c59061cd9dd9b8c28fd39fcd9e24",
+ "salt" : "09deec77ec44eb6e",
+ "iterationCount" : 4096,
+ "iv" : "0f958378c10c245540b9ce61d7781fd8",
+ "msg" : "ae209895c5cb179e54649749cdb245b9ce",
+ "ct" : "4d55a9791cd79961342b893bca2ff87236c8a1c830afceca0471b09cffbbaba2",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 48,
+ "comment" : "password is a valid UTF-8 encoding",
+ "flags" : [
+ "Utf8"
+ ],
+ "password" : "da9dd096cb93db88dbbed495ceaacf853c",
+ "salt" : "200bba668b2010b1968b82091848937c",
+ "iterationCount" : 4096,
+ "iv" : "39d3e787c076007b3c173b75597b08c5",
+ "msg" : "0b4e337297c6cdd5c51f8ee7e633ef8f",
+ "ct" : "5f3f67c192da9a0c368db498bc1a0e1d818d80ef91deda4b914d05f316d5fbdb",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 49,
+ "comment" : "password is a valid UTF-8 encoding",
+ "flags" : [
+ "Utf8"
+ ],
+ "password" : "d9aacab7c2a0dbb5d89bc7acde9cceb50c",
+ "salt" : "1d87767829bd386ad2038cea7a0b542f",
+ "iterationCount" : 4096,
+ "iv" : "cfb67f9bb8cfb0e05684fcba195f0f19",
+ "msg" : "a9e289e0a985df90dfe23230c414dcb1fa",
+ "ct" : "14a688f286e8e181c2afbb907b92a3d0aba6ab5a914124897dc8c004c49a0b2b",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 50,
+ "comment" : "password is a random byte string",
+ "flags" : [
+ "NonUtf8"
+ ],
+ "password" : "8423ec7ea4ca4b03",
+ "salt" : "8dfae85c9f2072ae",
+ "iterationCount" : 4096,
+ "iv" : "13a77b4b2eb10b260ac889b432d7af1c",
+ "msg" : "41a21ec6f04859724a1dfcdcf85e6c3a",
+ "ct" : "5da8ecd4bc0a6d7ba7e6f42e7ab5ac76d0d96ee1b6873600fe8a28e0e8c474b4",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 51,
+ "comment" : "password is a random byte string",
+ "flags" : [
+ "NonUtf8"
+ ],
+ "password" : "7538a2fc091b6e76",
+ "salt" : "657a212f745924eb",
+ "iterationCount" : 4096,
+ "iv" : "6529f3dc9f0197e2f5c6e889b1b6097f",
+ "msg" : "231765341c414e93ec399b804a79a65dfc",
+ "ct" : "29708b2c90b0dc5436a9b8ad5b6ee200272f0dfc732d4f1747d3bef36f09f859",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 52,
+ "comment" : "password is a random byte string",
+ "flags" : [
+ "NonUtf8"
+ ],
+ "password" : "48997492c3528738",
+ "salt" : "99c55e182238c8e0c385447685e9ba85",
+ "iterationCount" : 4096,
+ "iv" : "34d4cc26cd871885c8e781d6e8b9ec67",
+ "msg" : "4bf1f98da6113ca66cc18283aedb4cc5",
+ "ct" : "6b2675f7255e5f779fc242f7eda7cf62b7f7d4cf0e441e3fa02e904d9a9598ed",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 53,
+ "comment" : "password is a random byte string",
+ "flags" : [
+ "NonUtf8"
+ ],
+ "password" : "c69d34ec7722ffca",
+ "salt" : "b5413f52391a2ff0fb19563c0b40a445",
+ "iterationCount" : 4096,
+ "iv" : "b4d3b1dbbc034d407ce552e6bc63fee1",
+ "msg" : "e2e81593f6591df708582f4cce0b1c6d78",
+ "ct" : "13acdd832a8992f104d6c34ae770d6a188787b5d8c7ef1f39aa69de2852f323d",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 54,
+ "comment" : "password is a random byte string",
+ "flags" : [
+ "NonUtf8"
+ ],
+ "password" : "e3feb0f96dec61e9dd451465f88f132119",
+ "salt" : "e9c55717a1259a29",
+ "iterationCount" : 4096,
+ "iv" : "cd718713a05183c1aa4bc4c01794b382",
+ "msg" : "1f4425a96b272fc27bcbfda0bb7e0dd8",
+ "ct" : "ff94c1acd2f1d79fd9907832b0f9a842719ebc3a080de94f07214c16a9b70854",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 55,
+ "comment" : "password is a random byte string",
+ "flags" : [
+ "NonUtf8"
+ ],
+ "password" : "ed12a9502061d35d9678188f1cdf135e24",
+ "salt" : "09deec77ec44eb6e",
+ "iterationCount" : 4096,
+ "iv" : "0f958378c10c245540b9ce61d7781fd8",
+ "msg" : "ae209895c5cb179e54649749cdb245b9ce",
+ "ct" : "50a6167a72c6677f531a29e802dfa670b362b4257d9d986f483f9055a1bb3c99",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 56,
+ "comment" : "password is a random byte string",
+ "flags" : [
+ "NonUtf8"
+ ],
+ "password" : "9e9d7c166ad3bec856fe5d15d3aacbc53c",
+ "salt" : "200bba668b2010b1968b82091848937c",
+ "iterationCount" : 4096,
+ "iv" : "39d3e787c076007b3c173b75597b08c5",
+ "msg" : "0b4e337297c6cdd5c51f8ee7e633ef8f",
+ "ct" : "30ee70743d2c6f88fbdd593a9fd2d572a1204e2245b6c906ce56275699ff5741",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 57,
+ "comment" : "password is a random byte string",
+ "flags" : [
+ "NonUtf8"
+ ],
+ "password" : "466a02b7d8a046f5161b41ecef9cc3b50c",
+ "salt" : "1d87767829bd386ad2038cea7a0b542f",
+ "iterationCount" : 4096,
+ "iv" : "cfb67f9bb8cfb0e05684fcba195f0f19",
+ "msg" : "a9e289e0a985df90dfe23230c414dcb1fa",
+ "ct" : "cb73cd63349960825c613393b2ad8c1e97134e3640a009095e44921488d64f65",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 58,
+ "comment" : "password is an ASCII string encoded as BMPString",
+ "flags" : [
+ "Ascii",
+ "BmpString"
+ ],
+ "password" : "002d0000",
+ "salt" : "66a92292e6db2d9e",
+ "iterationCount" : 4096,
+ "iv" : "7911306933f1131299247a85b585bed8",
+ "msg" : "63219964fd79651fe1be8ad5e90f414c",
+ "ct" : "dd01fdce378777558f5f66dc423a91efafab047a08e247ba31f1ca2a8485045d",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 59,
+ "comment" : "password is an ASCII string encoded as BMPString",
+ "flags" : [
+ "Ascii",
+ "BmpString"
+ ],
+ "password" : "00470000",
+ "salt" : "88abb902385f0efc",
+ "iterationCount" : 4096,
+ "iv" : "109f2c7a8aacc98d0aa176b1b43f2ece",
+ "msg" : "34ce8c499c20714c34506b8e8b87b103d2",
+ "ct" : "f9034cf9e72d94916a3f0593a8f0ddb01b7c95c2b980f8a37211d63d67caf2b3",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 60,
+ "comment" : "password is an ASCII string encoded as BMPString",
+ "flags" : [
+ "Ascii",
+ "BmpString"
+ ],
+ "password" : "004400640042004d0064006d000100790000",
+ "salt" : "675617aaff664428",
+ "iterationCount" : 4096,
+ "iv" : "c08dd25d3aa04749850301e9b8f8eb28",
+ "msg" : "4f5f5d4d0a21d463419db42fdff6ae6c",
+ "ct" : "dc3395e31374d53f993e136d6b5051ef53a958ef530453e1a37636c3075e1843",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 61,
+ "comment" : "password is an ASCII string encoded as BMPString",
+ "flags" : [
+ "Ascii",
+ "BmpString"
+ ],
+ "password" : "007400760025002a0012005b005c00610000",
+ "salt" : "957a9ab7ad9fc7de",
+ "iterationCount" : 4096,
+ "iv" : "126081b5c830984abd553ec39b080f39",
+ "msg" : "ede5a5ea322b7972a789bb5af48f384218",
+ "ct" : "99e1e73a5dd49e0deba0633b391d3bd1e8a573a768b78f1dafd17cac02eed72f",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 62,
+ "comment" : "password is an ASCII string encoded as BMPString",
+ "flags" : [
+ "Ascii",
+ "BmpString"
+ ],
+ "password" : "0023000d00510069001d0077002a0009001200010034004d00520070006100290000",
+ "salt" : "deea2dabe885caf6",
+ "iterationCount" : 4096,
+ "iv" : "698a466cec24214100bb3f30a6820bf7",
+ "msg" : "930b94a70883efd733f63f841dfc3d17",
+ "ct" : "a5573a4a3c9d52ba722c8fe9cf4c70c06c09133a2cbe46fb69d163e4205021c3",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 63,
+ "comment" : "password is an ASCII string encoded as BMPString",
+ "flags" : [
+ "Ascii",
+ "BmpString"
+ ],
+ "password" : "007300520057005c005600180030003c004b0050007c004f00020020002600390000",
+ "salt" : "6ed69f23acf64114",
+ "iterationCount" : 4096,
+ "iv" : "59efebfe7a6056507dc17778e5c444c5",
+ "msg" : "538705a997333fc2bf4f44f2bb90f3cd26",
+ "ct" : "ac2cb5128d9760bb191a24b457419e35b590a2c139c0cb56569cd35213dc6c33",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 64,
+ "comment" : "password is a BMPString",
+ "flags" : [
+ "NonUtf8",
+ "BmpString"
+ ],
+ "password" : "92ae0000",
+ "salt" : "6978583ea9c24c49",
+ "iterationCount" : 4096,
+ "iv" : "0192ad10599677f253e7dea587373553",
+ "msg" : "c06bcb3b5cd9c1317f5eb7ba50882530",
+ "ct" : "a97fb52651734d7c61762aca1fff6e59ec61e007682085f157808e536dc688aa",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 65,
+ "comment" : "password is a BMPString",
+ "flags" : [
+ "NonUtf8",
+ "BmpString"
+ ],
+ "password" : "38a90000",
+ "salt" : "c217b8c980fe4698",
+ "iterationCount" : 4096,
+ "iv" : "890a0303475f07189a0fe14b4e509217",
+ "msg" : "1ea8b43513275537d021c0f75849c01840",
+ "ct" : "e8ce9a7662fd4663c63b7c533c98bf3baf77ede39d193a90812a9dd808aa5e36",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 66,
+ "comment" : "password is a BMPString",
+ "flags" : [
+ "NonUtf8",
+ "BmpString"
+ ],
+ "password" : "4464c2cde4ed81790000",
+ "salt" : "675617aaff664428",
+ "iterationCount" : 4096,
+ "iv" : "c08dd25d3aa04749850301e9b8f8eb28",
+ "msg" : "4f5f5d4d0a21d463419db42fdff6ae6c",
+ "ct" : "3f3fb94979594d4e1d97f0b02987fbb205d12b6e0550cc5c34a3717fe0a88f62",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 67,
+ "comment" : "password is a BMPString",
+ "flags" : [
+ "NonUtf8",
+ "BmpString"
+ ],
+ "password" : "f4f6a52a925b00610000",
+ "salt" : "957a9ab7ad9fc7de",
+ "iterationCount" : 4096,
+ "iv" : "126081b5c830984abd553ec39b080f39",
+ "msg" : "ede5a5ea322b7972a789bb5af48f384218",
+ "ct" : "32ce6a152fdd25d2f36570c905c525b8a489bce72ee8dfb41a561cc871eb2b0a",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 68,
+ "comment" : "password is a BMPString",
+ "flags" : [
+ "NonUtf8",
+ "BmpString"
+ ],
+ "password" : "a38d51691d77aa891281b44d52f061a90000",
+ "salt" : "deea2dabe885caf6",
+ "iterationCount" : 4096,
+ "iv" : "698a466cec24214100bb3f30a6820bf7",
+ "msg" : "930b94a70883efd733f63f841dfc3d17",
+ "ct" : "36f9ee8202d2436fa6bd4bde7d4ac223c4af532d73cd1d738530e8bfa4f087be",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 69,
+ "comment" : "password is a BMPString",
+ "flags" : [
+ "NonUtf8",
+ "BmpString"
+ ],
+ "password" : "f35257dc5698b0bccbd0fc4f02a026390000",
+ "salt" : "6ed69f23acf64114",
+ "iterationCount" : 4096,
+ "iv" : "59efebfe7a6056507dc17778e5c444c5",
+ "msg" : "538705a997333fc2bf4f44f2bb90f3cd26",
+ "ct" : "d049547b61d499cdeddd35c38c588c135675771e706fecbbfc0b17badc5dfcd2",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 70,
+ "comment" : "empty password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "",
+ "salt" : "79d4c53a51c41815",
+ "iterationCount" : 4096,
+ "iv" : "a8e86525fa4f365373045533b33902bd",
+ "msg" : "a62c0d9b5bcb932f65058396367673e8",
+ "ct" : "85cc10185c38d2f980ce581dd3c14ad20fe12c99c15f1b0313c30502d6324395",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 71,
+ "comment" : "empty password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "",
+ "salt" : "65f8fa8b52cd47b0",
+ "iterationCount" : 4096,
+ "iv" : "bfb545e71f39df509870139862965526",
+ "msg" : "a3bae2fae05b77c7673d71901268eed173",
+ "ct" : "2d3b122eb5cab31280c333bcede68bc25bdec8712c47dcae96081990167458ce",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 72,
+ "comment" : "password is an empty BMPString",
+ "flags" : [
+ "Ascii",
+ "BmpString"
+ ],
+ "password" : "0000",
+ "salt" : "f488f026badc3624",
+ "iterationCount" : 4096,
+ "iv" : "2979c2a734e4cd5da5d9a7e69c3f8b8e",
+ "msg" : "d63088e9bf4e9105bc287f0ab6823af9",
+ "ct" : "288a57a00fe51003669965f2e5294581124652a565f3f95e5fd454ca6279830b",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 73,
+ "comment" : "password is an empty BMPString",
+ "flags" : [
+ "Ascii",
+ "BmpString"
+ ],
+ "password" : "0000",
+ "salt" : "542ada9132800d2c",
+ "iterationCount" : 4096,
+ "iv" : "844635e540de3a85c02f2df9413ff911",
+ "msg" : "08dfdd58aa603d5fc4bdaa9cb24ce82bca",
+ "ct" : "2ddb971c0fee6640c8d9e9e603ee81c51cbce9e838d40a98095098105f7be380",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 74,
+ "comment" : "long password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "61473a5f3441403c4a32204575314b24312d402225634c5653603d52756f247e414c3c2a4e2b3b25704140762170713a272526386448434b462a7a2c75395c725f",
+ "salt" : "80f8e7ac4649fd77",
+ "iterationCount" : 4096,
+ "iv" : "43db6bbe8b43b065bf32cd67c023856f",
+ "msg" : "e443a5541e1c0bd038030f78952195e0",
+ "ct" : "b4b2c70cd1fb12963610a19b96d81e59b10cc6191292b219ce550ff66b2840ab",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 75,
+ "comment" : "long password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "7b2e6e6c462a24546c402c525a7e566e613a255c48422f364e51217b343a31253546355430315c2b2f352042385421323f5b47232e495329596c307d4f4153566746523b386023615b4c3f3a757131214d46662965645e44284d2268507a2364312d7568224751254a35273e5b69792773644555323039787e4e525647526a7d74",
+ "salt" : "66b3a75c3d1de7a7",
+ "iterationCount" : 4096,
+ "iv" : "4929fb5d6adc043751411a8165325219",
+ "msg" : "fc5d6ee5b19b873fac6f54160be4d52a",
+ "ct" : "7f14f811c901cdcc00353cc87f211d7463ba0288514bd0999c62a4db5168c5a2",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 76,
+ "comment" : "long password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "2a4235363559523e265f4c2b48685b374e347c4b384347346a513c2251753927742c427d25732e532b4e202648522b395d5763457a705e4b637a5535216e4e4e3a523a5b5e546d7625614e2f3623557e46454d413032515f2c30214971277b23606242283e4b3445426c2e4d7c40346d47777c4e3f6e572e24664a5e286c34775c2f5e3f2960744f644b2d47532c77447a58405e335b7d3a6b5831507b642f392b3638365c4341425e46655f577e31533f41626b6056393e5d32213b716d455d2637762a4c693e6c4b5449383a504e7c5e2d442030735f7d3a56273c497d773f32427b57692f7d61373d29236f6021624b41787e603d70313e5c68334a2b534653",
+ "salt" : "73e6c34cda6b6309",
+ "iterationCount" : 4096,
+ "iv" : "44f36e53ab4a6391acc5565de7358438",
+ "msg" : "309b773bcd825e66bd3117097f536b0e",
+ "ct" : "c5529d9946fdd4c66dc9d70b90780c5c01b7c1d9f7e470842b22eade5ef45f5b",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 77,
+ "comment" : "special case password",
+ "flags" : [
+ "NonUtf8"
+ ],
+ "password" : "ff",
+ "salt" : "330226023aa6c045",
+ "iterationCount" : 4096,
+ "iv" : "c78e1ec445dbe9742d205432712442bf",
+ "msg" : "4b8243aab5cba8be6853eeaa65e3ebb0",
+ "ct" : "ff783bcc7c4f6999418c2a70f72a9bf582dad20fdd1f15acecb3ae0a115c2e54",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 78,
+ "comment" : "special case: truncated UTF-8 string",
+ "flags" : [
+ "NonUtf8"
+ ],
+ "password" : "c0",
+ "salt" : "e19e4f175a64d35a",
+ "iterationCount" : 4096,
+ "iv" : "7545745f8d0bfe38f024371e12008a5f",
+ "msg" : "9e21b64aeff5338eb9bc71b19ef8f8e7",
+ "ct" : "3f57aee83a71dabbe7f7f6dfb48dbc6ab9a573568a34f931d1e2d25ba111953f",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 79,
+ "comment" : "special case: invalid UTF-8 bytes",
+ "flags" : [
+ "NonUtf8"
+ ],
+ "password" : "ffffffffffffffff",
+ "salt" : "1eb37da28a65f626",
+ "iterationCount" : 4096,
+ "iv" : "5e9d991fa22878ac5256759c6c9cb53e",
+ "msg" : "319c92804c5560f840cc5bdace9c925d",
+ "ct" : "a93dc8267cc148bbe0e924a1922733bd6925b0e6a775212f80be97f070b8b791",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 80,
+ "comment" : "special case: invalid 2 byte UTF-8 code points",
+ "flags" : [
+ "NonUtf8"
+ ],
+ "password" : "c0c0c0c0c0c0c0c0",
+ "salt" : "2017b5e20a7cdbe0",
+ "iterationCount" : 4096,
+ "iv" : "7e42d185cab712e2982ca6ee4c2c61ec",
+ "msg" : "0f5a93c6771fc66aff78996d77421735",
+ "ct" : "022fa1f96898eebc76b303fa62a8d8076ca9e2097430c3327497bda541489ad5",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 81,
+ "comment" : "special case: invalid 3 byte UTF-8 code points",
+ "flags" : [
+ "NonUtf8"
+ ],
+ "password" : "eeeeeeeeeeeeeeee",
+ "salt" : "84301f0aebda104f",
+ "iterationCount" : 4096,
+ "iv" : "4ba655c171677a0dfbc5f6312387c15d",
+ "msg" : "86caabd40a5c738720de173597ea72f6",
+ "ct" : "74b48ae8ef356b3f27d938c4749f516ecb64457368e3687213452bbaa77227bd",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 82,
+ "comment" : "special case: invalid UTF-8 code points",
+ "flags" : [
+ "NonUtf8"
+ ],
+ "password" : "f0f0f0f0f0f0f0f0",
+ "salt" : "64baccfdd4e4b41b",
+ "iterationCount" : 4096,
+ "iv" : "d6b443472d2cf853c0c05f5327faced7",
+ "msg" : "4e0ee09328663637f21410fb8ad057a1",
+ "ct" : "adaf88acd0bdb267c78aa7fe20a93930dc72b783245da7978bb0ab4936f50e38",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 83,
+ "comment" : "special case for UTF-16",
+ "flags" : [
+ "NonUtf8"
+ ],
+ "password" : "dbdbdbdbdbdbdbdb",
+ "salt" : "ba21795fffb901bc",
+ "iterationCount" : 4096,
+ "iv" : "753675f249b8c153997a797116495204",
+ "msg" : "706c565ba28370ff433460cc9f8d845a",
+ "ct" : "092375312cbe8397b0bca894c8b04ef2a960ac933830f60a5a813691ade153d6",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 84,
+ "comment" : "special case: long all zero password",
+ "flags" : [
+ "Ascii"
+ ],
+ "password" : "0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
+ "salt" : "22871ffd379d9951",
+ "iterationCount" : 4096,
+ "iv" : "2e949af1052a230e7560d9ae1ce75042",
+ "msg" : "16d1b65deb2d67fc3242792a19d5c227",
+ "ct" : "72727bb3e2860aca9026f11c656e9fbba21ff1d697d6399a88250366f75a8288",
+ "result" : "valid"
+ }
+ ]
+ }
+ ]
+}
diff --git a/testvectors_v1/pbes2_hmacsha1_aes_192_test.json b/testvectors_v1/pbes2_hmacsha1_aes_192_test.json
new file mode 100644
index 0000000..8a6c73b
--- /dev/null
+++ b/testvectors_v1/pbes2_hmacsha1_aes_192_test.json
@@ -0,0 +1,1228 @@
+{
+ "algorithm" : "PbeWithHmacSha1AndAes_192",
+ "schema" : "pbe_test_schema.json",
+ "generatorVersion" : "0.9",
+ "numberOfTests" : 84,
+ "header" : [
+ "Test vector of type PbeTest are used for PBES1 or PBES2."
+ ],
+ "notes" : {
+ "Ascii" : {
+ "bugType" : "FUNCTIONALITY",
+ "description" : "The test vector contains a password consisting of ASCII characters."
+ },
+ "BmpString" : {
+ "bugType" : "FUNCTIONALITY",
+ "description" : "The test vectors contains a password that is a valid BMPString as used in RFC 7292. This RFC uses big endian encoding and a null terminator."
+ },
+ "NonUtf8" : {
+ "bugType" : "FUNCTIONALITY",
+ "description" : "The test vector contains a password that is not a valid UTF-8 string."
+ },
+ "Printable" : {
+ "bugType" : "FUNCTIONALITY",
+ "description" : "The test vector contains a password consisting of printable ASCII characters."
+ },
+ "Utf8" : {
+ "bugType" : "FUNCTIONALITY",
+ "description" : "The test vector contains a password that is a valid UTF-8 string."
+ }
+ },
+ "testGroups" : [
+ {
+ "type" : "PbeTest",
+ "tests" : [
+ {
+ "tcId" : 1,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "7743656734722c30",
+ "salt" : "fcd9a324f025ef40",
+ "iterationCount" : 4096,
+ "iv" : "42f02ff71b8524d1678ab2e34f9e7d47",
+ "msg" : "",
+ "ct" : "fa0c4e359512c85f15c92faa9e355086",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 2,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "64395f4b48295839",
+ "salt" : "bfb221ba6de64926",
+ "iterationCount" : 4096,
+ "iv" : "7a735848780923657c0c54bc2ff0d9f8",
+ "msg" : "a3",
+ "ct" : "de892038153f4dd09f74bd677fbeb53e",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 3,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "3a787e4c2c604d70",
+ "salt" : "dc64f1fd4705b4e5",
+ "iterationCount" : 4096,
+ "iv" : "579ff2437d6739742421b6e4e70d5c27",
+ "msg" : "4204",
+ "ct" : "3891f214938b6d61d738b8fbfca4365d",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 4,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "2a67656a66296120",
+ "salt" : "4c379a2bd962d19a",
+ "iterationCount" : 4096,
+ "iv" : "5bff9a5e8692229679cbd70fcfdebb74",
+ "msg" : "ceb541",
+ "ct" : "3e192acaf9ae15d5c4111336928a8b9c",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 5,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "3b55267d5f4b2d4c",
+ "salt" : "08e041282eed4f00",
+ "iterationCount" : 4096,
+ "iv" : "17c5e988149370694c1b3b8cb0e44225",
+ "msg" : "10d032a7",
+ "ct" : "eac90e2a7d842a1e64a50b66725bb0a2",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 6,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "4f317e2e525e517a",
+ "salt" : "bd5c4b6f25a1f6ff",
+ "iterationCount" : 4096,
+ "iv" : "76e5e3eb771a4daec6fabdc0b0793195",
+ "msg" : "29d9f1a701",
+ "ct" : "f0a37e6c180c5a55bcd08c67fb5eeb9d",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 7,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "6557766473282375",
+ "salt" : "ea1efbb1c86b0c06",
+ "iterationCount" : 4096,
+ "iv" : "1f186ad98435e90fd7700695c986ef78",
+ "msg" : "6f124d8a8248",
+ "ct" : "c8178970a8334e42bd8bf4ab174471b2",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 8,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "543a5f48765a2542",
+ "salt" : "f308bbcca74a2224",
+ "iterationCount" : 4096,
+ "iv" : "26bbbf2e18f06a4524e13bfd1ac00b37",
+ "msg" : "a1163153287dfe",
+ "ct" : "760410ad93ecd2dd6bcf10fc47449542",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 9,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "695a3c642f457a52",
+ "salt" : "7af3b0005c594502",
+ "iterationCount" : 4096,
+ "iv" : "6d9e8ea3d6ed355bf5e65b12995dbf6a",
+ "msg" : "9b29df8b3b9862f4",
+ "ct" : "c75bf4f2e10c1397ecc89a3189159090",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 10,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "2a772a233f216e60",
+ "salt" : "172d5f4595c220dd",
+ "iterationCount" : 4096,
+ "iv" : "a5941967d4f6934431bd9951e20a93a6",
+ "msg" : "fe51cf84289221b894",
+ "ct" : "fbc8f6b982ea61605db2bb8899fd0942",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 11,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "793c43623652216f",
+ "salt" : "d1d722eee2c5ebef",
+ "iterationCount" : 4096,
+ "iv" : "5cfe832947ec659f6847277ec1fab2f9",
+ "msg" : "696eb8b4e6b2015abb91",
+ "ct" : "5d959fc6ac19620d5ab8d72311ebc2f3",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 12,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "4854515c222a2230",
+ "salt" : "843f5ff28978f214",
+ "iterationCount" : 4096,
+ "iv" : "430b247a435124754c83cc11203f18bd",
+ "msg" : "d8405be7823b472459a2fc",
+ "ct" : "cc6ef43d5b4f46c3546253ad5b027f2e",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 13,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "48682a4d34266b40",
+ "salt" : "783f344a1fa7c9a8",
+ "iterationCount" : 4096,
+ "iv" : "c707947121e5fc2da16990a78772e0ab",
+ "msg" : "56c73b781c1bff72a8ae7faf",
+ "ct" : "3901235683264de00aa4ca5da7f7f382",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 14,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "293a746531294d5c",
+ "salt" : "2c75641f991eb10b",
+ "iterationCount" : 4096,
+ "iv" : "96dabd858e4187d0e50f8299ab60f029",
+ "msg" : "b07e8bbb45e9a17c124f6d5129",
+ "ct" : "512e25d8bb80a614376e8d8abeb4574e",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 15,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "353377343f482b65",
+ "salt" : "cf1620e7aabb73b7",
+ "iterationCount" : 4096,
+ "iv" : "8e6dd70b1dd1c39d0b8b593c556d812b",
+ "msg" : "ff89eb184de11579cae7d110a350",
+ "ct" : "a1658d9608febf742146c29621bbf1e3",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 16,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "614e2d4634335721",
+ "salt" : "6dffc1db31767608",
+ "iterationCount" : 4096,
+ "iv" : "78c899bcdc4cf7d933ddc9016bc6e64e",
+ "msg" : "5e859aac690c85646ffb3f2bbb0d9c",
+ "ct" : "56367ac6bbea69ec423a62c662199dbb",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 17,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "6f5330325e22574e",
+ "salt" : "798acc7c76739d75",
+ "iterationCount" : 4096,
+ "iv" : "5bfcfd6d7013eb8828f72455d7535c77",
+ "msg" : "86059dc647ba7d0067099e16c3da8bb6",
+ "ct" : "b0b5541bcb60be58b59fdfe130127343e25ad8be196cc4be27616ecfe761cbb9",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 18,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "3972245623494f42",
+ "salt" : "da5421f23ac5b5e1",
+ "iterationCount" : 4096,
+ "iv" : "12293114ddb85319240682c1765e4533",
+ "msg" : "fc9349cbd8c277786c888f3254342431a8",
+ "ct" : "98fc943085b4d8ac2a2163462726271f431e6a8782a829fb99784809948f16aa",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 19,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "464d2f76752b4d63",
+ "salt" : "8cfea3c6783cfc41",
+ "iterationCount" : 4096,
+ "iv" : "9c84fe91476ab1c6ed30db9bb7f60280",
+ "msg" : "ad10a3cdef856b0632f7ce200c11f6c569d2",
+ "ct" : "5eb4292cd4abe599afbcce14f707f2c70df4ee709d19243042df156070e0aa66",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 20,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "7951437c2b6f7079",
+ "salt" : "caada2e55c49492f",
+ "iterationCount" : 4096,
+ "iv" : "3a0185b1423310796b052e9128334b04",
+ "msg" : "be82c331a83dd0c472abc6ae8725d2ba48b3ad",
+ "ct" : "567d728155b8d46942f38863ea38128f02ab4f94cc8eb1b8c67b77b64de51a70",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 21,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "525c2424652a603d",
+ "salt" : "26ea52da49513b47",
+ "iterationCount" : 4096,
+ "iv" : "b9c70ea8599e136a64b2a6733e8ceb40",
+ "msg" : "d964c8b7fac0906c25654186f8d8e74b62dac5ac",
+ "ct" : "75b9aed5ee6edceee8f22b25861eb220a3c473be774d3e6485a9af1a26628a24",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 22,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "6e446161627e6a3d",
+ "salt" : "64c6e216305ac8e5",
+ "iterationCount" : 4096,
+ "iv" : "2e089b050bfcbb214a3904344b25a28d",
+ "msg" : "00bba99a3d64657e16b70ee50c091488661c0af597",
+ "ct" : "d6f004653301222aa361a33fd0597482931686f2ac8edff47e334b408e736ce7",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 23,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "5b413d39776e3323",
+ "salt" : "33017b20ba4a7af2",
+ "iterationCount" : 4096,
+ "iv" : "6fcf1307b562738a387c75885a7d6bf9",
+ "msg" : "1f6c99446d139e9ea5d46af1667b733eb8748e5e0e18",
+ "ct" : "e08d2c379fc172d6006e266f0263c5245332591311fe7273e2f9eef3edc839e9",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 24,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "414838254a683628",
+ "salt" : "127e43a6c714f168",
+ "iterationCount" : 4096,
+ "iv" : "21bb5b1c774409d06067597153422573",
+ "msg" : "773f5e2ebe6ce60683cac6a9e2f0c9663556923582bdec",
+ "ct" : "3f24f32e9024cd697be8b915c1891cfcfbac33db84f6600537e63ea7abfb9141",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 25,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "3c202b435634305d",
+ "salt" : "45f38c6678268b8e",
+ "iterationCount" : 4096,
+ "iv" : "348b3cca3ece503b42b20b2ae690c4eb",
+ "msg" : "8ab193d18b1dec59400822dd0cea7239b3743327488e3d2d",
+ "ct" : "b7dd38998dd6e8731ac39567db2a811d3aeb2d15616baaaf2c7edb19d1d505cf",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 26,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "6e43225f5832705b",
+ "salt" : "5911a7a49800e204",
+ "iterationCount" : 4096,
+ "iv" : "58b4f658efcf961c4715b0af0b0913b7",
+ "msg" : "b336756c278ab89c0539047824350469b05918446a672b4215",
+ "ct" : "37a0ead140a95ef8cbfc274439b0225470324f57b6a4fcdbccad1aaa50c342c0",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 27,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "3f26723264514541",
+ "salt" : "18a9d3dfa74d4024",
+ "iterationCount" : 4096,
+ "iv" : "497fe0d1a8c09aca8d98a11db8621077",
+ "msg" : "6cd40dc20c7103a39b83da1f8c67855b0ffd77c250e1447414a9",
+ "ct" : "4b2142f39eb5a2966532f4a07ed16f3a1bcd8993a16dbb6664b4b87273e0a2f2",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 28,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "536d4a3b42714035",
+ "salt" : "9025629f385862f5",
+ "iterationCount" : 4096,
+ "iv" : "575fd9464cc1a36fcd23d7fc4ed304de",
+ "msg" : "40a37fae54940616cd6bb6cefb8f4521895fe9b7593492c2709003",
+ "ct" : "5c87a25ec51a0061c26d6bbf9dc920b78e9c59ce60d370cadc251482aef752e0",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 29,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "283d692b21263f41",
+ "salt" : "4f9ca92d54e165d1",
+ "iterationCount" : 4096,
+ "iv" : "402239571eaf6f7162fd4fe620d55948",
+ "msg" : "d47c8c9ec28820d760abfe731e9e9818d34abad20da255cff68fd374",
+ "ct" : "24a59f946dcbcb2485de334ac447890791df6074ef405d016324eda53a1c3871",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 30,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "3658665b3a546f47",
+ "salt" : "5ae48edef6811519",
+ "iterationCount" : 4096,
+ "iv" : "2425c2af851d56445c8e11b4529e3287",
+ "msg" : "5892825348e6160fd4f95f0a619a5a41604ee4b21ace4c9f61adf31ebc",
+ "ct" : "e8f89201006ea9d33d49891e762c303a6065decfa9a528fd5383b3e1360389bd",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 31,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "257d78712275712a",
+ "salt" : "e2a7c16a6fe6a1fc",
+ "iterationCount" : 4096,
+ "iv" : "9dc7a4ff8a5a9d04d1b88c14028092c5",
+ "msg" : "596c0a1b3f9c251c98b15fb077da34c72e415ab9f4f01ac865421a7b89be",
+ "ct" : "7760131d0fcfe608d92234f363b2135d0851bf0f3ed464e23beba3dc38ac9209",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 32,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "2b75433d3a69566c",
+ "salt" : "a6d0b6f795cbe6a8",
+ "iterationCount" : 4096,
+ "iv" : "5804285758b9e6450148872a11dcc421",
+ "msg" : "18e18b3cb96d6d9ff0730b2ff70ac2be9577a75555554f6c446ed30850c167",
+ "ct" : "9dba311d219d6e4942ef2dcb1d6a8a112b77b47675c874dec860a628b1894922",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 33,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "252b6452647b4520",
+ "salt" : "e817780ed7997728",
+ "iterationCount" : 4096,
+ "iv" : "ff2512297f3fd5aa2b859432b9f53006",
+ "msg" : "8e9b1f95807a3c1bc95027ca72d2ae717b7e9dceac7437fc32a1aad2343ce69e",
+ "ct" : "a83a2c627abae2d7ea665344784c3e71afa24d8ef77395be59fab1cf35bd34dfab8dbb3f5ddf05530570fd11864d99bc",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 34,
+ "comment" : "password contains only ASCII characters",
+ "flags" : [
+ "Ascii"
+ ],
+ "password" : "4b2d6c600e66535c7f3d6d6c",
+ "salt" : "7a4c02db8bd8fcc2",
+ "iterationCount" : 4096,
+ "iv" : "d62747fca1a7dfbee90597b3f57fffa2",
+ "msg" : "52dd188a4585bbaa85ced8d529d880b3",
+ "ct" : "3217a089b02f6cb387fa919f7d2927d0404ebcdeb97ce5180eb7f94590707b5b",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 35,
+ "comment" : "password contains only ASCII characters",
+ "flags" : [
+ "Ascii"
+ ],
+ "password" : "706614257f522b6315345f7c",
+ "salt" : "94ef44b92e15fa35",
+ "iterationCount" : 4096,
+ "iv" : "c489480ee8a00898f3151317c2c614b9",
+ "msg" : "9cb42f3f2992357a7beeedfa37653f4d41",
+ "ct" : "db424ac905ee5fb6103e814e563d897a2dc265dea3d3641724e424f3b4f5a13d",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 36,
+ "comment" : "password contains only ASCII characters",
+ "flags" : [
+ "Ascii"
+ ],
+ "password" : "1f4b7b354903545f2b07720b",
+ "salt" : "62f91ea01f3a18aa2f122bd15c4a615b",
+ "iterationCount" : 4096,
+ "iv" : "05d867eae06fbfd2efda349bc3dcd473",
+ "msg" : "64f33addb1e1671f867e96a3e8339ecd",
+ "ct" : "bc5077fe99cbe9f6ad248bde120788cd4ad6f186ffa9c2181d391aa8ce0c1fde",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 37,
+ "comment" : "password contains only ASCII characters",
+ "flags" : [
+ "Ascii"
+ ],
+ "password" : "1e2e16140e4a4d19251b6f5f",
+ "salt" : "bdf156b4d87a5e07cd9481b3d136887c",
+ "iterationCount" : 4096,
+ "iv" : "b64e4b7176cfafe46235e8b32b2508e6",
+ "msg" : "9b31b854ff09e4cdd28b817fb2f2cdb6c9",
+ "ct" : "c7d1c238d3265621b7758e94b7865b52e76aec41e057ee5dbc5c01fd874d4662",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 38,
+ "comment" : "password contains only ASCII characters",
+ "flags" : [
+ "Ascii"
+ ],
+ "password" : "15296b0933473119180f3c0645202d5221633803",
+ "salt" : "d7412e4137fc4410",
+ "iterationCount" : 4096,
+ "iv" : "d227c8c98a652788944977f9bc73a20d",
+ "msg" : "86159d5e3b903a51a833ce561f39ae0a",
+ "ct" : "32bb9d2ef8e6ac899afa94b6aadb8d9358e2bc5dadbbed8c40cc812ab4f27d87",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 39,
+ "comment" : "password contains only ASCII characters",
+ "flags" : [
+ "Ascii"
+ ],
+ "password" : "00017e1e176769476d2433302f3506590e632a0c",
+ "salt" : "28c1759d783256fd",
+ "iterationCount" : 4096,
+ "iv" : "cf23a38fef611880acf9107ffa9e29a8",
+ "msg" : "79532d85a40aa575377172611dd4f0047c",
+ "ct" : "79a8f7efc053a94c9eebd91655a351ecbf970c66a90c8a04c83e6b3f88fc2347",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 40,
+ "comment" : "password contains only ASCII characters",
+ "flags" : [
+ "Ascii"
+ ],
+ "password" : "7a106c2773542c791d2f0a02632b69644f666278",
+ "salt" : "a36350db68186d747254bd9835219487",
+ "iterationCount" : 4096,
+ "iv" : "568af67455f416a63d3ced652c32a74d",
+ "msg" : "96687d00d01854bbc2151ed4fdec8732",
+ "ct" : "773991935aed38b164e7d5b27c3eb43f43b7c8cfa17b540c55bf2d912d8ccb88",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 41,
+ "comment" : "password contains only ASCII characters",
+ "flags" : [
+ "Ascii"
+ ],
+ "password" : "350e2f050d444c09374977205a6b063736373067",
+ "salt" : "3cadfed36847faa4af545c426b7bcbc5",
+ "iterationCount" : 4096,
+ "iv" : "1ee0658f81c645721618de5849c3baf1",
+ "msg" : "89e4167cba0f8ca3a4b1640b023612d963",
+ "ct" : "cc25520b5aacc895576698b110db1e9e329afe2e868ef734cff19840c9efebe4",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 42,
+ "comment" : "password is a valid UTF-8 encoding",
+ "flags" : [
+ "Utf8"
+ ],
+ "password" : "d0a3d1bed38acc83",
+ "salt" : "8dfae85c9f2072ae",
+ "iterationCount" : 4096,
+ "iv" : "13a77b4b2eb10b260ac889b432d7af1c",
+ "msg" : "41a21ec6f04859724a1dfcdcf85e6c3a",
+ "ct" : "d3189895e50c298b97c379d68456fd9a05be4a4057aae876bb20b7fc36ba8893",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 43,
+ "comment" : "password is a valid UTF-8 encoding",
+ "flags" : [
+ "Utf8"
+ ],
+ "password" : "d4b8cbbcc49bd9b6",
+ "salt" : "657a212f745924eb",
+ "iterationCount" : 4096,
+ "iv" : "6529f3dc9f0197e2f5c6e889b1b6097f",
+ "msg" : "231765341c414e93ec399b804a79a65dfc",
+ "ct" : "526edc9c7c4629e710ec749f539799676d98c8bcebe72791ecb6c1b52495c8db",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 44,
+ "comment" : "password is a valid UTF-8 encoding",
+ "flags" : [
+ "Utf8"
+ ],
+ "password" : "c299d292cd92dcb8",
+ "salt" : "99c55e182238c8e0c385447685e9ba85",
+ "iterationCount" : 4096,
+ "iv" : "34d4cc26cd871885c8e781d6e8b9ec67",
+ "msg" : "4bf1f98da6113ca66cc18283aedb4cc5",
+ "ct" : "b8c74ad66c19b7133b04373ac3f0f2cf9b76060d72c41f3da73b0a83815f8af7",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 45,
+ "comment" : "password is a valid UTF-8 encoding",
+ "flags" : [
+ "Utf8"
+ ],
+ "password" : "da9dd3acdca2df8a",
+ "salt" : "b5413f52391a2ff0fb19563c0b40a445",
+ "iterationCount" : 4096,
+ "iv" : "b4d3b1dbbc034d407ce552e6bc63fee1",
+ "msg" : "e2e81593f6591df708582f4cce0b1c6d78",
+ "ct" : "1604473f598053a37694fb85d1449f6d6b2ba294e1b3d2da44890887618f7360",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 46,
+ "comment" : "password is a valid UTF-8 encoding",
+ "flags" : [
+ "Utf8"
+ ],
+ "password" : "cfbec3b9d7acc7a9d585d1a5c28fcca119",
+ "salt" : "e9c55717a1259a29",
+ "iterationCount" : 4096,
+ "iv" : "cd718713a05183c1aa4bc4c01794b382",
+ "msg" : "1f4425a96b272fc27bcbfda0bb7e0dd8",
+ "ct" : "39d12541a3dcad67c1f8271dc3caf4cd423b2b1d2e989d754912cf34e83affe9",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 47,
+ "comment" : "password is a valid UTF-8 encoding",
+ "flags" : [
+ "Utf8"
+ ],
+ "password" : "d492c59061cd9dd9b8c28fd39fcd9e24",
+ "salt" : "09deec77ec44eb6e",
+ "iterationCount" : 4096,
+ "iv" : "0f958378c10c245540b9ce61d7781fd8",
+ "msg" : "ae209895c5cb179e54649749cdb245b9ce",
+ "ct" : "8afc84ff40f1bbff49930cb1e6b9697e3220fa5716aab58916d6fa6a1a740c86",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 48,
+ "comment" : "password is a valid UTF-8 encoding",
+ "flags" : [
+ "Utf8"
+ ],
+ "password" : "da9dd096cb93db88dbbed495ceaacf853c",
+ "salt" : "200bba668b2010b1968b82091848937c",
+ "iterationCount" : 4096,
+ "iv" : "39d3e787c076007b3c173b75597b08c5",
+ "msg" : "0b4e337297c6cdd5c51f8ee7e633ef8f",
+ "ct" : "db7a2411aed82521fb0f46e4e9dac1bca99587752f56338e2ca30d8378184d7a",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 49,
+ "comment" : "password is a valid UTF-8 encoding",
+ "flags" : [
+ "Utf8"
+ ],
+ "password" : "d9aacab7c2a0dbb5d89bc7acde9cceb50c",
+ "salt" : "1d87767829bd386ad2038cea7a0b542f",
+ "iterationCount" : 4096,
+ "iv" : "cfb67f9bb8cfb0e05684fcba195f0f19",
+ "msg" : "a9e289e0a985df90dfe23230c414dcb1fa",
+ "ct" : "7285716df06a5e99fc69d897de5b7687463f15dd0d677212d5f9471bf801c5aa",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 50,
+ "comment" : "password is a random byte string",
+ "flags" : [
+ "NonUtf8"
+ ],
+ "password" : "8423ec7ea4ca4b03",
+ "salt" : "8dfae85c9f2072ae",
+ "iterationCount" : 4096,
+ "iv" : "13a77b4b2eb10b260ac889b432d7af1c",
+ "msg" : "41a21ec6f04859724a1dfcdcf85e6c3a",
+ "ct" : "2c39166f1f72c7f0d2c2d32ba43469132ff774ea6ce4c12404aaea0c89408776",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 51,
+ "comment" : "password is a random byte string",
+ "flags" : [
+ "NonUtf8"
+ ],
+ "password" : "7538a2fc091b6e76",
+ "salt" : "657a212f745924eb",
+ "iterationCount" : 4096,
+ "iv" : "6529f3dc9f0197e2f5c6e889b1b6097f",
+ "msg" : "231765341c414e93ec399b804a79a65dfc",
+ "ct" : "c871857fba42b294d23b1814b55511eed721b28befeea56bb8ebe20b81960fea",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 52,
+ "comment" : "password is a random byte string",
+ "flags" : [
+ "NonUtf8"
+ ],
+ "password" : "48997492c3528738",
+ "salt" : "99c55e182238c8e0c385447685e9ba85",
+ "iterationCount" : 4096,
+ "iv" : "34d4cc26cd871885c8e781d6e8b9ec67",
+ "msg" : "4bf1f98da6113ca66cc18283aedb4cc5",
+ "ct" : "60747704368b21fb0fd691f5a378f42a656f2456d152c4b338e75225e62f0f5f",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 53,
+ "comment" : "password is a random byte string",
+ "flags" : [
+ "NonUtf8"
+ ],
+ "password" : "c69d34ec7722ffca",
+ "salt" : "b5413f52391a2ff0fb19563c0b40a445",
+ "iterationCount" : 4096,
+ "iv" : "b4d3b1dbbc034d407ce552e6bc63fee1",
+ "msg" : "e2e81593f6591df708582f4cce0b1c6d78",
+ "ct" : "f788262bebc0b8a7758a9f2843de91de828c1f1358c5d00025673e9d279e5d4a",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 54,
+ "comment" : "password is a random byte string",
+ "flags" : [
+ "NonUtf8"
+ ],
+ "password" : "e3feb0f96dec61e9dd451465f88f132119",
+ "salt" : "e9c55717a1259a29",
+ "iterationCount" : 4096,
+ "iv" : "cd718713a05183c1aa4bc4c01794b382",
+ "msg" : "1f4425a96b272fc27bcbfda0bb7e0dd8",
+ "ct" : "8748892c672958bcfab9cde0ad758dfb78f1edc648605a0cb89d6ae3eaa0ea36",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 55,
+ "comment" : "password is a random byte string",
+ "flags" : [
+ "NonUtf8"
+ ],
+ "password" : "ed12a9502061d35d9678188f1cdf135e24",
+ "salt" : "09deec77ec44eb6e",
+ "iterationCount" : 4096,
+ "iv" : "0f958378c10c245540b9ce61d7781fd8",
+ "msg" : "ae209895c5cb179e54649749cdb245b9ce",
+ "ct" : "409089e919c0b6be53083c1bb91bbd3b4bcc1569f67243f887b75d8765b95d01",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 56,
+ "comment" : "password is a random byte string",
+ "flags" : [
+ "NonUtf8"
+ ],
+ "password" : "9e9d7c166ad3bec856fe5d15d3aacbc53c",
+ "salt" : "200bba668b2010b1968b82091848937c",
+ "iterationCount" : 4096,
+ "iv" : "39d3e787c076007b3c173b75597b08c5",
+ "msg" : "0b4e337297c6cdd5c51f8ee7e633ef8f",
+ "ct" : "de1cb3de1f3603922f674f2ff1ad4988ba38a226ded811c35a086f212f620236",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 57,
+ "comment" : "password is a random byte string",
+ "flags" : [
+ "NonUtf8"
+ ],
+ "password" : "466a02b7d8a046f5161b41ecef9cc3b50c",
+ "salt" : "1d87767829bd386ad2038cea7a0b542f",
+ "iterationCount" : 4096,
+ "iv" : "cfb67f9bb8cfb0e05684fcba195f0f19",
+ "msg" : "a9e289e0a985df90dfe23230c414dcb1fa",
+ "ct" : "899d4906496995d8dc2c91b867060324b465b18086d234bea2696b9256fcc618",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 58,
+ "comment" : "password is an ASCII string encoded as BMPString",
+ "flags" : [
+ "Ascii",
+ "BmpString"
+ ],
+ "password" : "002d0000",
+ "salt" : "66a92292e6db2d9e",
+ "iterationCount" : 4096,
+ "iv" : "7911306933f1131299247a85b585bed8",
+ "msg" : "63219964fd79651fe1be8ad5e90f414c",
+ "ct" : "cf00ef2563595c10dc71505efffd7364aa4378ff8009595cbb2a8606f4e38955",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 59,
+ "comment" : "password is an ASCII string encoded as BMPString",
+ "flags" : [
+ "Ascii",
+ "BmpString"
+ ],
+ "password" : "00470000",
+ "salt" : "88abb902385f0efc",
+ "iterationCount" : 4096,
+ "iv" : "109f2c7a8aacc98d0aa176b1b43f2ece",
+ "msg" : "34ce8c499c20714c34506b8e8b87b103d2",
+ "ct" : "cc7fccb727c5cf234022529c14a65ae1a4d465ad36d02298c687dbe2ad1881c2",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 60,
+ "comment" : "password is an ASCII string encoded as BMPString",
+ "flags" : [
+ "Ascii",
+ "BmpString"
+ ],
+ "password" : "004400640042004d0064006d000100790000",
+ "salt" : "675617aaff664428",
+ "iterationCount" : 4096,
+ "iv" : "c08dd25d3aa04749850301e9b8f8eb28",
+ "msg" : "4f5f5d4d0a21d463419db42fdff6ae6c",
+ "ct" : "6bc1911b5d4f494eaed472f0584c3ed12cd22bf890170c385f5428c29b37dbab",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 61,
+ "comment" : "password is an ASCII string encoded as BMPString",
+ "flags" : [
+ "Ascii",
+ "BmpString"
+ ],
+ "password" : "007400760025002a0012005b005c00610000",
+ "salt" : "957a9ab7ad9fc7de",
+ "iterationCount" : 4096,
+ "iv" : "126081b5c830984abd553ec39b080f39",
+ "msg" : "ede5a5ea322b7972a789bb5af48f384218",
+ "ct" : "8821dea3780f1ac5251116450c8de8236addf1e133f1c140ed0f9008780d0176",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 62,
+ "comment" : "password is an ASCII string encoded as BMPString",
+ "flags" : [
+ "Ascii",
+ "BmpString"
+ ],
+ "password" : "0023000d00510069001d0077002a0009001200010034004d00520070006100290000",
+ "salt" : "deea2dabe885caf6",
+ "iterationCount" : 4096,
+ "iv" : "698a466cec24214100bb3f30a6820bf7",
+ "msg" : "930b94a70883efd733f63f841dfc3d17",
+ "ct" : "e38d195c0220f8399858a1d5f0ee0030493e1fb486989b50a1e229fed7c2f9ce",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 63,
+ "comment" : "password is an ASCII string encoded as BMPString",
+ "flags" : [
+ "Ascii",
+ "BmpString"
+ ],
+ "password" : "007300520057005c005600180030003c004b0050007c004f00020020002600390000",
+ "salt" : "6ed69f23acf64114",
+ "iterationCount" : 4096,
+ "iv" : "59efebfe7a6056507dc17778e5c444c5",
+ "msg" : "538705a997333fc2bf4f44f2bb90f3cd26",
+ "ct" : "791dc3b0d8f82b94416b7fa1435bf759ac3430b8881f8cd64fa706476e0d85d0",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 64,
+ "comment" : "password is a BMPString",
+ "flags" : [
+ "NonUtf8",
+ "BmpString"
+ ],
+ "password" : "92ae0000",
+ "salt" : "6978583ea9c24c49",
+ "iterationCount" : 4096,
+ "iv" : "0192ad10599677f253e7dea587373553",
+ "msg" : "c06bcb3b5cd9c1317f5eb7ba50882530",
+ "ct" : "59a0140c4999aa394f84742d43f31bf155ae9c12c8324740b29d22d767fc5b8f",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 65,
+ "comment" : "password is a BMPString",
+ "flags" : [
+ "NonUtf8",
+ "BmpString"
+ ],
+ "password" : "38a90000",
+ "salt" : "c217b8c980fe4698",
+ "iterationCount" : 4096,
+ "iv" : "890a0303475f07189a0fe14b4e509217",
+ "msg" : "1ea8b43513275537d021c0f75849c01840",
+ "ct" : "02e1af9053975f0ab31b8c1d947c524a2b6b3dc8eb0076375dc7fbd7cd217b43",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 66,
+ "comment" : "password is a BMPString",
+ "flags" : [
+ "NonUtf8",
+ "BmpString"
+ ],
+ "password" : "4464c2cde4ed81790000",
+ "salt" : "675617aaff664428",
+ "iterationCount" : 4096,
+ "iv" : "c08dd25d3aa04749850301e9b8f8eb28",
+ "msg" : "4f5f5d4d0a21d463419db42fdff6ae6c",
+ "ct" : "9e79057e0d5ce2a88f6a41c5dce1bc607af54c05fc2dcba9a051667bc1a8cb07",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 67,
+ "comment" : "password is a BMPString",
+ "flags" : [
+ "NonUtf8",
+ "BmpString"
+ ],
+ "password" : "f4f6a52a925b00610000",
+ "salt" : "957a9ab7ad9fc7de",
+ "iterationCount" : 4096,
+ "iv" : "126081b5c830984abd553ec39b080f39",
+ "msg" : "ede5a5ea322b7972a789bb5af48f384218",
+ "ct" : "48761607cd07cb4fb921acb2fd925016c64ef9bae01972f905f0d4f25d8cc072",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 68,
+ "comment" : "password is a BMPString",
+ "flags" : [
+ "NonUtf8",
+ "BmpString"
+ ],
+ "password" : "a38d51691d77aa891281b44d52f061a90000",
+ "salt" : "deea2dabe885caf6",
+ "iterationCount" : 4096,
+ "iv" : "698a466cec24214100bb3f30a6820bf7",
+ "msg" : "930b94a70883efd733f63f841dfc3d17",
+ "ct" : "6ffe7688a60abbba20042ec14cc449e5c6bb2c51ba215bf47ab3960331c8a483",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 69,
+ "comment" : "password is a BMPString",
+ "flags" : [
+ "NonUtf8",
+ "BmpString"
+ ],
+ "password" : "f35257dc5698b0bccbd0fc4f02a026390000",
+ "salt" : "6ed69f23acf64114",
+ "iterationCount" : 4096,
+ "iv" : "59efebfe7a6056507dc17778e5c444c5",
+ "msg" : "538705a997333fc2bf4f44f2bb90f3cd26",
+ "ct" : "791a34c35cdabb8906d68fa8ec54d72a55484029bde0d5d5b2aaff004fc7366e",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 70,
+ "comment" : "empty password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "",
+ "salt" : "79d4c53a51c41815",
+ "iterationCount" : 4096,
+ "iv" : "a8e86525fa4f365373045533b33902bd",
+ "msg" : "a62c0d9b5bcb932f65058396367673e8",
+ "ct" : "6d0bd9263496ebb6242d0b8dbdea0eb2f3f431b377f239224f1d59d9cf841237",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 71,
+ "comment" : "empty password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "",
+ "salt" : "65f8fa8b52cd47b0",
+ "iterationCount" : 4096,
+ "iv" : "bfb545e71f39df509870139862965526",
+ "msg" : "a3bae2fae05b77c7673d71901268eed173",
+ "ct" : "ed9e03c509fc06b020f0c0aae87989630cec3fbbcb8d8e23c91b7180e41deb90",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 72,
+ "comment" : "password is an empty BMPString",
+ "flags" : [
+ "Ascii",
+ "BmpString"
+ ],
+ "password" : "0000",
+ "salt" : "f488f026badc3624",
+ "iterationCount" : 4096,
+ "iv" : "2979c2a734e4cd5da5d9a7e69c3f8b8e",
+ "msg" : "d63088e9bf4e9105bc287f0ab6823af9",
+ "ct" : "6710d123043c8b8c9493272b99e39255ac3cbd3a02d34cfb92b34d9b4b9599f8",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 73,
+ "comment" : "password is an empty BMPString",
+ "flags" : [
+ "Ascii",
+ "BmpString"
+ ],
+ "password" : "0000",
+ "salt" : "542ada9132800d2c",
+ "iterationCount" : 4096,
+ "iv" : "844635e540de3a85c02f2df9413ff911",
+ "msg" : "08dfdd58aa603d5fc4bdaa9cb24ce82bca",
+ "ct" : "77878e40251a87cc1e27514fc8cafa1cda82235d4fb8817595ab01a3ae1b03b6",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 74,
+ "comment" : "long password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "61473a5f3441403c4a32204575314b24312d402225634c5653603d52756f247e414c3c2a4e2b3b25704140762170713a272526386448434b462a7a2c75395c725f",
+ "salt" : "80f8e7ac4649fd77",
+ "iterationCount" : 4096,
+ "iv" : "43db6bbe8b43b065bf32cd67c023856f",
+ "msg" : "e443a5541e1c0bd038030f78952195e0",
+ "ct" : "8aa8ef6bce9edfdc598d84f7108ec1c99c21e4a91b9cc27aa25edad73cccdd46",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 75,
+ "comment" : "long password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "7b2e6e6c462a24546c402c525a7e566e613a255c48422f364e51217b343a31253546355430315c2b2f352042385421323f5b47232e495329596c307d4f4153566746523b386023615b4c3f3a757131214d46662965645e44284d2268507a2364312d7568224751254a35273e5b69792773644555323039787e4e525647526a7d74",
+ "salt" : "66b3a75c3d1de7a7",
+ "iterationCount" : 4096,
+ "iv" : "4929fb5d6adc043751411a8165325219",
+ "msg" : "fc5d6ee5b19b873fac6f54160be4d52a",
+ "ct" : "b3a46061a8a0dbafdd1afb026d5fb3475d89dd3b8ba03b40d223256215177f02",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 76,
+ "comment" : "long password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "2a4235363559523e265f4c2b48685b374e347c4b384347346a513c2251753927742c427d25732e532b4e202648522b395d5763457a705e4b637a5535216e4e4e3a523a5b5e546d7625614e2f3623557e46454d413032515f2c30214971277b23606242283e4b3445426c2e4d7c40346d47777c4e3f6e572e24664a5e286c34775c2f5e3f2960744f644b2d47532c77447a58405e335b7d3a6b5831507b642f392b3638365c4341425e46655f577e31533f41626b6056393e5d32213b716d455d2637762a4c693e6c4b5449383a504e7c5e2d442030735f7d3a56273c497d773f32427b57692f7d61373d29236f6021624b41787e603d70313e5c68334a2b534653",
+ "salt" : "73e6c34cda6b6309",
+ "iterationCount" : 4096,
+ "iv" : "44f36e53ab4a6391acc5565de7358438",
+ "msg" : "309b773bcd825e66bd3117097f536b0e",
+ "ct" : "50b2c5dd35ee05c166f83674a448e7b876943b379f0ebf3be5b71a8770b3b567",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 77,
+ "comment" : "special case password",
+ "flags" : [
+ "NonUtf8"
+ ],
+ "password" : "ff",
+ "salt" : "330226023aa6c045",
+ "iterationCount" : 4096,
+ "iv" : "c78e1ec445dbe9742d205432712442bf",
+ "msg" : "4b8243aab5cba8be6853eeaa65e3ebb0",
+ "ct" : "b517f8b8c352bc79ed420985f3456c7cbff45d40063257dbf8aafea112b55b72",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 78,
+ "comment" : "special case: truncated UTF-8 string",
+ "flags" : [
+ "NonUtf8"
+ ],
+ "password" : "c0",
+ "salt" : "e19e4f175a64d35a",
+ "iterationCount" : 4096,
+ "iv" : "7545745f8d0bfe38f024371e12008a5f",
+ "msg" : "9e21b64aeff5338eb9bc71b19ef8f8e7",
+ "ct" : "58f547a4e772b319928287e4e439d984d733b41c41025e21c65588893ea5d171",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 79,
+ "comment" : "special case: invalid UTF-8 bytes",
+ "flags" : [
+ "NonUtf8"
+ ],
+ "password" : "ffffffffffffffff",
+ "salt" : "1eb37da28a65f626",
+ "iterationCount" : 4096,
+ "iv" : "5e9d991fa22878ac5256759c6c9cb53e",
+ "msg" : "319c92804c5560f840cc5bdace9c925d",
+ "ct" : "94c07d951292104c75899e0965deef9bce1ed070542a34318c37270d322dde85",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 80,
+ "comment" : "special case: invalid 2 byte UTF-8 code points",
+ "flags" : [
+ "NonUtf8"
+ ],
+ "password" : "c0c0c0c0c0c0c0c0",
+ "salt" : "2017b5e20a7cdbe0",
+ "iterationCount" : 4096,
+ "iv" : "7e42d185cab712e2982ca6ee4c2c61ec",
+ "msg" : "0f5a93c6771fc66aff78996d77421735",
+ "ct" : "08daab1c40dcf9c7a0d1b0aad646b2bbc827fe14f1c20115ff7b7777ffce07bc",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 81,
+ "comment" : "special case: invalid 3 byte UTF-8 code points",
+ "flags" : [
+ "NonUtf8"
+ ],
+ "password" : "eeeeeeeeeeeeeeee",
+ "salt" : "84301f0aebda104f",
+ "iterationCount" : 4096,
+ "iv" : "4ba655c171677a0dfbc5f6312387c15d",
+ "msg" : "86caabd40a5c738720de173597ea72f6",
+ "ct" : "4fb3e64509c165398dcd76f0e7d4528a10db9998fb041d43fb125bdf8527a578",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 82,
+ "comment" : "special case: invalid UTF-8 code points",
+ "flags" : [
+ "NonUtf8"
+ ],
+ "password" : "f0f0f0f0f0f0f0f0",
+ "salt" : "64baccfdd4e4b41b",
+ "iterationCount" : 4096,
+ "iv" : "d6b443472d2cf853c0c05f5327faced7",
+ "msg" : "4e0ee09328663637f21410fb8ad057a1",
+ "ct" : "40f9be9e76d3cd90e654c2eba475d940fe1dd526df379c7de4159f6d83f72da2",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 83,
+ "comment" : "special case for UTF-16",
+ "flags" : [
+ "NonUtf8"
+ ],
+ "password" : "dbdbdbdbdbdbdbdb",
+ "salt" : "ba21795fffb901bc",
+ "iterationCount" : 4096,
+ "iv" : "753675f249b8c153997a797116495204",
+ "msg" : "706c565ba28370ff433460cc9f8d845a",
+ "ct" : "c60e72f13df800e435bfe6dcd965c4c1b27e1aad9a36603701f0db1493670415",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 84,
+ "comment" : "special case: long all zero password",
+ "flags" : [
+ "Ascii"
+ ],
+ "password" : "0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
+ "salt" : "22871ffd379d9951",
+ "iterationCount" : 4096,
+ "iv" : "2e949af1052a230e7560d9ae1ce75042",
+ "msg" : "16d1b65deb2d67fc3242792a19d5c227",
+ "ct" : "a8ab1ba8b68d8fedb631b62fb496b900d50ba9826b7bba53502ec936a6834135",
+ "result" : "valid"
+ }
+ ]
+ }
+ ]
+}
diff --git a/testvectors_v1/pbes2_hmacsha1_aes_256_test.json b/testvectors_v1/pbes2_hmacsha1_aes_256_test.json
new file mode 100644
index 0000000..9e02e3e
--- /dev/null
+++ b/testvectors_v1/pbes2_hmacsha1_aes_256_test.json
@@ -0,0 +1,1228 @@
+{
+ "algorithm" : "PbeWithHmacSha1AndAes_256",
+ "schema" : "pbe_test_schema.json",
+ "generatorVersion" : "0.9",
+ "numberOfTests" : 84,
+ "header" : [
+ "Test vector of type PbeTest are used for PBES1 or PBES2."
+ ],
+ "notes" : {
+ "Ascii" : {
+ "bugType" : "FUNCTIONALITY",
+ "description" : "The test vector contains a password consisting of ASCII characters."
+ },
+ "BmpString" : {
+ "bugType" : "FUNCTIONALITY",
+ "description" : "The test vectors contains a password that is a valid BMPString as used in RFC 7292. This RFC uses big endian encoding and a null terminator."
+ },
+ "NonUtf8" : {
+ "bugType" : "FUNCTIONALITY",
+ "description" : "The test vector contains a password that is not a valid UTF-8 string."
+ },
+ "Printable" : {
+ "bugType" : "FUNCTIONALITY",
+ "description" : "The test vector contains a password consisting of printable ASCII characters."
+ },
+ "Utf8" : {
+ "bugType" : "FUNCTIONALITY",
+ "description" : "The test vector contains a password that is a valid UTF-8 string."
+ }
+ },
+ "testGroups" : [
+ {
+ "type" : "PbeTest",
+ "tests" : [
+ {
+ "tcId" : 1,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "7743656734722c30",
+ "salt" : "fcd9a324f025ef40",
+ "iterationCount" : 4096,
+ "iv" : "42f02ff71b8524d1678ab2e34f9e7d47",
+ "msg" : "",
+ "ct" : "e690e13db9e6b3b344b5f51af889fa37",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 2,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "64395f4b48295839",
+ "salt" : "bfb221ba6de64926",
+ "iterationCount" : 4096,
+ "iv" : "7a735848780923657c0c54bc2ff0d9f8",
+ "msg" : "a3",
+ "ct" : "83f5d8ed8fbb0c4efcddbac3ce1649a9",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 3,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "3a787e4c2c604d70",
+ "salt" : "dc64f1fd4705b4e5",
+ "iterationCount" : 4096,
+ "iv" : "579ff2437d6739742421b6e4e70d5c27",
+ "msg" : "4204",
+ "ct" : "e70be008cd57ca6172cb406790f789c7",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 4,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "2a67656a66296120",
+ "salt" : "4c379a2bd962d19a",
+ "iterationCount" : 4096,
+ "iv" : "5bff9a5e8692229679cbd70fcfdebb74",
+ "msg" : "ceb541",
+ "ct" : "a7d7e04714a01d926d7f7180270ef3e0",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 5,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "3b55267d5f4b2d4c",
+ "salt" : "08e041282eed4f00",
+ "iterationCount" : 4096,
+ "iv" : "17c5e988149370694c1b3b8cb0e44225",
+ "msg" : "10d032a7",
+ "ct" : "539426628627360b8c3d392eb3624c4d",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 6,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "4f317e2e525e517a",
+ "salt" : "bd5c4b6f25a1f6ff",
+ "iterationCount" : 4096,
+ "iv" : "76e5e3eb771a4daec6fabdc0b0793195",
+ "msg" : "29d9f1a701",
+ "ct" : "6e86a4305e54202845b158d09e8a34c4",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 7,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "6557766473282375",
+ "salt" : "ea1efbb1c86b0c06",
+ "iterationCount" : 4096,
+ "iv" : "1f186ad98435e90fd7700695c986ef78",
+ "msg" : "6f124d8a8248",
+ "ct" : "fd31e99446a402a50b80d704fdb2a1f6",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 8,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "543a5f48765a2542",
+ "salt" : "f308bbcca74a2224",
+ "iterationCount" : 4096,
+ "iv" : "26bbbf2e18f06a4524e13bfd1ac00b37",
+ "msg" : "a1163153287dfe",
+ "ct" : "43d90d1e0afd7ef781380f3a36996fee",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 9,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "695a3c642f457a52",
+ "salt" : "7af3b0005c594502",
+ "iterationCount" : 4096,
+ "iv" : "6d9e8ea3d6ed355bf5e65b12995dbf6a",
+ "msg" : "9b29df8b3b9862f4",
+ "ct" : "811a6ad15253cda965796dee54ac058d",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 10,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "2a772a233f216e60",
+ "salt" : "172d5f4595c220dd",
+ "iterationCount" : 4096,
+ "iv" : "a5941967d4f6934431bd9951e20a93a6",
+ "msg" : "fe51cf84289221b894",
+ "ct" : "52b9d6f7017709c3292195e302ba60d0",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 11,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "793c43623652216f",
+ "salt" : "d1d722eee2c5ebef",
+ "iterationCount" : 4096,
+ "iv" : "5cfe832947ec659f6847277ec1fab2f9",
+ "msg" : "696eb8b4e6b2015abb91",
+ "ct" : "b629a502925c489065187e1aae04d0d1",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 12,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "4854515c222a2230",
+ "salt" : "843f5ff28978f214",
+ "iterationCount" : 4096,
+ "iv" : "430b247a435124754c83cc11203f18bd",
+ "msg" : "d8405be7823b472459a2fc",
+ "ct" : "eefc5433132156e1651d27161cfb3885",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 13,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "48682a4d34266b40",
+ "salt" : "783f344a1fa7c9a8",
+ "iterationCount" : 4096,
+ "iv" : "c707947121e5fc2da16990a78772e0ab",
+ "msg" : "56c73b781c1bff72a8ae7faf",
+ "ct" : "0a54eb043643a62c0dbcc3336ba045ce",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 14,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "293a746531294d5c",
+ "salt" : "2c75641f991eb10b",
+ "iterationCount" : 4096,
+ "iv" : "96dabd858e4187d0e50f8299ab60f029",
+ "msg" : "b07e8bbb45e9a17c124f6d5129",
+ "ct" : "90d7cbd0c6ada0c50cba1fbcde982159",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 15,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "353377343f482b65",
+ "salt" : "cf1620e7aabb73b7",
+ "iterationCount" : 4096,
+ "iv" : "8e6dd70b1dd1c39d0b8b593c556d812b",
+ "msg" : "ff89eb184de11579cae7d110a350",
+ "ct" : "6391f40e30afc866b447f9d19309d99c",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 16,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "614e2d4634335721",
+ "salt" : "6dffc1db31767608",
+ "iterationCount" : 4096,
+ "iv" : "78c899bcdc4cf7d933ddc9016bc6e64e",
+ "msg" : "5e859aac690c85646ffb3f2bbb0d9c",
+ "ct" : "174a4e184e08c0994e451e55333ae38e",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 17,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "6f5330325e22574e",
+ "salt" : "798acc7c76739d75",
+ "iterationCount" : 4096,
+ "iv" : "5bfcfd6d7013eb8828f72455d7535c77",
+ "msg" : "86059dc647ba7d0067099e16c3da8bb6",
+ "ct" : "71beb23d326748bc8d872368bd710999d89f0391231576c512c96f3aee4354fc",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 18,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "3972245623494f42",
+ "salt" : "da5421f23ac5b5e1",
+ "iterationCount" : 4096,
+ "iv" : "12293114ddb85319240682c1765e4533",
+ "msg" : "fc9349cbd8c277786c888f3254342431a8",
+ "ct" : "7d229795770bc9978489fcc5830de87f02d676f4b892c64d9abb4ed0f411bc92",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 19,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "464d2f76752b4d63",
+ "salt" : "8cfea3c6783cfc41",
+ "iterationCount" : 4096,
+ "iv" : "9c84fe91476ab1c6ed30db9bb7f60280",
+ "msg" : "ad10a3cdef856b0632f7ce200c11f6c569d2",
+ "ct" : "5bfca8ca7b5be2084f7570d61eb163abe8c6ade30d9af0e26d50228384a8d5a4",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 20,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "7951437c2b6f7079",
+ "salt" : "caada2e55c49492f",
+ "iterationCount" : 4096,
+ "iv" : "3a0185b1423310796b052e9128334b04",
+ "msg" : "be82c331a83dd0c472abc6ae8725d2ba48b3ad",
+ "ct" : "dcc5d636646900dbf149266f8a59211c80e54753a43a7463b42f7933fee7b4b3",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 21,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "525c2424652a603d",
+ "salt" : "26ea52da49513b47",
+ "iterationCount" : 4096,
+ "iv" : "b9c70ea8599e136a64b2a6733e8ceb40",
+ "msg" : "d964c8b7fac0906c25654186f8d8e74b62dac5ac",
+ "ct" : "288d5424cde8880bd94d6b0ec2fa62d594e947c82e90aa665dfa4f9041c45fee",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 22,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "6e446161627e6a3d",
+ "salt" : "64c6e216305ac8e5",
+ "iterationCount" : 4096,
+ "iv" : "2e089b050bfcbb214a3904344b25a28d",
+ "msg" : "00bba99a3d64657e16b70ee50c091488661c0af597",
+ "ct" : "38987897968df61241861c53421d35b6c9e63ed9583ee90dfe78702e8b2b708d",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 23,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "5b413d39776e3323",
+ "salt" : "33017b20ba4a7af2",
+ "iterationCount" : 4096,
+ "iv" : "6fcf1307b562738a387c75885a7d6bf9",
+ "msg" : "1f6c99446d139e9ea5d46af1667b733eb8748e5e0e18",
+ "ct" : "80904aad11b2d1055c1d84fa15399dca27e806600e528aefe705aae5f67749ce",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 24,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "414838254a683628",
+ "salt" : "127e43a6c714f168",
+ "iterationCount" : 4096,
+ "iv" : "21bb5b1c774409d06067597153422573",
+ "msg" : "773f5e2ebe6ce60683cac6a9e2f0c9663556923582bdec",
+ "ct" : "2faf3f6b668c0268d30bc307eeee094547f1b17837aecbc5e63ca6c1143d4904",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 25,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "3c202b435634305d",
+ "salt" : "45f38c6678268b8e",
+ "iterationCount" : 4096,
+ "iv" : "348b3cca3ece503b42b20b2ae690c4eb",
+ "msg" : "8ab193d18b1dec59400822dd0cea7239b3743327488e3d2d",
+ "ct" : "f606157d6e2028135bbb7183086e5e99649d166b70886de8761f0601815ad8b3",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 26,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "6e43225f5832705b",
+ "salt" : "5911a7a49800e204",
+ "iterationCount" : 4096,
+ "iv" : "58b4f658efcf961c4715b0af0b0913b7",
+ "msg" : "b336756c278ab89c0539047824350469b05918446a672b4215",
+ "ct" : "9c3562d5e8f049ad0f6f0035682a216c43a50cb24d3116414bf84fa483647edd",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 27,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "3f26723264514541",
+ "salt" : "18a9d3dfa74d4024",
+ "iterationCount" : 4096,
+ "iv" : "497fe0d1a8c09aca8d98a11db8621077",
+ "msg" : "6cd40dc20c7103a39b83da1f8c67855b0ffd77c250e1447414a9",
+ "ct" : "5f00a8b7baff5cbeecf303f9ed6e91e191c8f7400da971ed0904852b969aaed2",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 28,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "536d4a3b42714035",
+ "salt" : "9025629f385862f5",
+ "iterationCount" : 4096,
+ "iv" : "575fd9464cc1a36fcd23d7fc4ed304de",
+ "msg" : "40a37fae54940616cd6bb6cefb8f4521895fe9b7593492c2709003",
+ "ct" : "69992d409e5dc2007b08d84908aa98b997fdb0c0b304aff77f19220b03d262a7",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 29,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "283d692b21263f41",
+ "salt" : "4f9ca92d54e165d1",
+ "iterationCount" : 4096,
+ "iv" : "402239571eaf6f7162fd4fe620d55948",
+ "msg" : "d47c8c9ec28820d760abfe731e9e9818d34abad20da255cff68fd374",
+ "ct" : "cc319fa62f40cbf66ada640beea30ce8a70514736851f479e965eb562454d589",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 30,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "3658665b3a546f47",
+ "salt" : "5ae48edef6811519",
+ "iterationCount" : 4096,
+ "iv" : "2425c2af851d56445c8e11b4529e3287",
+ "msg" : "5892825348e6160fd4f95f0a619a5a41604ee4b21ace4c9f61adf31ebc",
+ "ct" : "4b627a7a8dbcd46c269b26dc6804592b4599ad6bae4bb848a4dd8f43e1d09fb8",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 31,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "257d78712275712a",
+ "salt" : "e2a7c16a6fe6a1fc",
+ "iterationCount" : 4096,
+ "iv" : "9dc7a4ff8a5a9d04d1b88c14028092c5",
+ "msg" : "596c0a1b3f9c251c98b15fb077da34c72e415ab9f4f01ac865421a7b89be",
+ "ct" : "c8e308b7407f89d4f697c5204f8905e484d6ed44f7e0b6e1ba957a312b69d946",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 32,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "2b75433d3a69566c",
+ "salt" : "a6d0b6f795cbe6a8",
+ "iterationCount" : 4096,
+ "iv" : "5804285758b9e6450148872a11dcc421",
+ "msg" : "18e18b3cb96d6d9ff0730b2ff70ac2be9577a75555554f6c446ed30850c167",
+ "ct" : "5ac3770500e25828a33dac01a92e885aa662fe1af708669fb83d422bac287cd6",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 33,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "252b6452647b4520",
+ "salt" : "e817780ed7997728",
+ "iterationCount" : 4096,
+ "iv" : "ff2512297f3fd5aa2b859432b9f53006",
+ "msg" : "8e9b1f95807a3c1bc95027ca72d2ae717b7e9dceac7437fc32a1aad2343ce69e",
+ "ct" : "35b81ee578bb9822eacea92a797401bf19e42fb79ffb0d29d2b704c762d9da9c9cabc6446dc2cc33a80a74d7de7aae51",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 34,
+ "comment" : "password contains only ASCII characters",
+ "flags" : [
+ "Ascii"
+ ],
+ "password" : "4b2d6c600e66535c7f3d6d6c",
+ "salt" : "7a4c02db8bd8fcc2",
+ "iterationCount" : 4096,
+ "iv" : "d62747fca1a7dfbee90597b3f57fffa2",
+ "msg" : "52dd188a4585bbaa85ced8d529d880b3",
+ "ct" : "d7fcb45c1a3ded9158d81cad6cd8eb0bd401c0bcb0223608c12ea8e32d877024",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 35,
+ "comment" : "password contains only ASCII characters",
+ "flags" : [
+ "Ascii"
+ ],
+ "password" : "706614257f522b6315345f7c",
+ "salt" : "94ef44b92e15fa35",
+ "iterationCount" : 4096,
+ "iv" : "c489480ee8a00898f3151317c2c614b9",
+ "msg" : "9cb42f3f2992357a7beeedfa37653f4d41",
+ "ct" : "d96813e8f9e15a3ba17d0096a63ff95a8321de564d11286ac8822bf224aa18d2",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 36,
+ "comment" : "password contains only ASCII characters",
+ "flags" : [
+ "Ascii"
+ ],
+ "password" : "1f4b7b354903545f2b07720b",
+ "salt" : "62f91ea01f3a18aa2f122bd15c4a615b",
+ "iterationCount" : 4096,
+ "iv" : "05d867eae06fbfd2efda349bc3dcd473",
+ "msg" : "64f33addb1e1671f867e96a3e8339ecd",
+ "ct" : "2b2b0aa7c02593dd1affde77f71ec3d1b203cb774236700e4ff9a9c36ef86adc",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 37,
+ "comment" : "password contains only ASCII characters",
+ "flags" : [
+ "Ascii"
+ ],
+ "password" : "1e2e16140e4a4d19251b6f5f",
+ "salt" : "bdf156b4d87a5e07cd9481b3d136887c",
+ "iterationCount" : 4096,
+ "iv" : "b64e4b7176cfafe46235e8b32b2508e6",
+ "msg" : "9b31b854ff09e4cdd28b817fb2f2cdb6c9",
+ "ct" : "d0ed15f391ef80921ac7eb8ea440e851006b84f14601d4660f924500feddb41e",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 38,
+ "comment" : "password contains only ASCII characters",
+ "flags" : [
+ "Ascii"
+ ],
+ "password" : "15296b0933473119180f3c0645202d5221633803",
+ "salt" : "d7412e4137fc4410",
+ "iterationCount" : 4096,
+ "iv" : "d227c8c98a652788944977f9bc73a20d",
+ "msg" : "86159d5e3b903a51a833ce561f39ae0a",
+ "ct" : "dde3b2d72364308e0f83ac22ac792c8cd5c3a6e497615748d1c9202162b32fc7",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 39,
+ "comment" : "password contains only ASCII characters",
+ "flags" : [
+ "Ascii"
+ ],
+ "password" : "00017e1e176769476d2433302f3506590e632a0c",
+ "salt" : "28c1759d783256fd",
+ "iterationCount" : 4096,
+ "iv" : "cf23a38fef611880acf9107ffa9e29a8",
+ "msg" : "79532d85a40aa575377172611dd4f0047c",
+ "ct" : "7e8abc79ce046870603a512959ebc9767227b9166e69bb701a85520cc4420441",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 40,
+ "comment" : "password contains only ASCII characters",
+ "flags" : [
+ "Ascii"
+ ],
+ "password" : "7a106c2773542c791d2f0a02632b69644f666278",
+ "salt" : "a36350db68186d747254bd9835219487",
+ "iterationCount" : 4096,
+ "iv" : "568af67455f416a63d3ced652c32a74d",
+ "msg" : "96687d00d01854bbc2151ed4fdec8732",
+ "ct" : "7de54b811def9c2a7fa53c38919e5b52b3e4b08d30088132b2fb8749e8339e79",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 41,
+ "comment" : "password contains only ASCII characters",
+ "flags" : [
+ "Ascii"
+ ],
+ "password" : "350e2f050d444c09374977205a6b063736373067",
+ "salt" : "3cadfed36847faa4af545c426b7bcbc5",
+ "iterationCount" : 4096,
+ "iv" : "1ee0658f81c645721618de5849c3baf1",
+ "msg" : "89e4167cba0f8ca3a4b1640b023612d963",
+ "ct" : "9729cc588f484e5e242b3a9f3d4e90e60dfa211e25a0c4922a038fcff13b89e0",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 42,
+ "comment" : "password is a valid UTF-8 encoding",
+ "flags" : [
+ "Utf8"
+ ],
+ "password" : "d0a3d1bed38acc83",
+ "salt" : "8dfae85c9f2072ae",
+ "iterationCount" : 4096,
+ "iv" : "13a77b4b2eb10b260ac889b432d7af1c",
+ "msg" : "41a21ec6f04859724a1dfcdcf85e6c3a",
+ "ct" : "02f71c02c067793fef122d0c5c89a5a2ed3b205ffc510228075368c66a33f97a",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 43,
+ "comment" : "password is a valid UTF-8 encoding",
+ "flags" : [
+ "Utf8"
+ ],
+ "password" : "d4b8cbbcc49bd9b6",
+ "salt" : "657a212f745924eb",
+ "iterationCount" : 4096,
+ "iv" : "6529f3dc9f0197e2f5c6e889b1b6097f",
+ "msg" : "231765341c414e93ec399b804a79a65dfc",
+ "ct" : "e45d5686efcd5c0ea994b752343ae3d2327a95bef33147b0def729474afd12a2",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 44,
+ "comment" : "password is a valid UTF-8 encoding",
+ "flags" : [
+ "Utf8"
+ ],
+ "password" : "c299d292cd92dcb8",
+ "salt" : "99c55e182238c8e0c385447685e9ba85",
+ "iterationCount" : 4096,
+ "iv" : "34d4cc26cd871885c8e781d6e8b9ec67",
+ "msg" : "4bf1f98da6113ca66cc18283aedb4cc5",
+ "ct" : "861275e1f5046bbac78e01ae938d7a8d3145736d438ef8f41ce8a572dad1faa4",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 45,
+ "comment" : "password is a valid UTF-8 encoding",
+ "flags" : [
+ "Utf8"
+ ],
+ "password" : "da9dd3acdca2df8a",
+ "salt" : "b5413f52391a2ff0fb19563c0b40a445",
+ "iterationCount" : 4096,
+ "iv" : "b4d3b1dbbc034d407ce552e6bc63fee1",
+ "msg" : "e2e81593f6591df708582f4cce0b1c6d78",
+ "ct" : "5d1e2d1ef866b5d56a1435a1f148d0cafde0ff1bc1b13e792c7770a49f97fef4",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 46,
+ "comment" : "password is a valid UTF-8 encoding",
+ "flags" : [
+ "Utf8"
+ ],
+ "password" : "cfbec3b9d7acc7a9d585d1a5c28fcca119",
+ "salt" : "e9c55717a1259a29",
+ "iterationCount" : 4096,
+ "iv" : "cd718713a05183c1aa4bc4c01794b382",
+ "msg" : "1f4425a96b272fc27bcbfda0bb7e0dd8",
+ "ct" : "08c2c77e0e2551b9adfeafd94c0686ce3555a82cab23ae59d36418c126890ac1",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 47,
+ "comment" : "password is a valid UTF-8 encoding",
+ "flags" : [
+ "Utf8"
+ ],
+ "password" : "d492c59061cd9dd9b8c28fd39fcd9e24",
+ "salt" : "09deec77ec44eb6e",
+ "iterationCount" : 4096,
+ "iv" : "0f958378c10c245540b9ce61d7781fd8",
+ "msg" : "ae209895c5cb179e54649749cdb245b9ce",
+ "ct" : "17a26c266e21538928dda1b52adb68580f037219c7627e52436b181077ac2a57",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 48,
+ "comment" : "password is a valid UTF-8 encoding",
+ "flags" : [
+ "Utf8"
+ ],
+ "password" : "da9dd096cb93db88dbbed495ceaacf853c",
+ "salt" : "200bba668b2010b1968b82091848937c",
+ "iterationCount" : 4096,
+ "iv" : "39d3e787c076007b3c173b75597b08c5",
+ "msg" : "0b4e337297c6cdd5c51f8ee7e633ef8f",
+ "ct" : "38e6e6f83c09cad3756e164e1139f10a48f117a10174e4f5b02e7a13133adb88",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 49,
+ "comment" : "password is a valid UTF-8 encoding",
+ "flags" : [
+ "Utf8"
+ ],
+ "password" : "d9aacab7c2a0dbb5d89bc7acde9cceb50c",
+ "salt" : "1d87767829bd386ad2038cea7a0b542f",
+ "iterationCount" : 4096,
+ "iv" : "cfb67f9bb8cfb0e05684fcba195f0f19",
+ "msg" : "a9e289e0a985df90dfe23230c414dcb1fa",
+ "ct" : "ffb0dcff71a808aa9602aa5ead6caee432e36b3bea7abf8f6810c041fed3ee61",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 50,
+ "comment" : "password is a random byte string",
+ "flags" : [
+ "NonUtf8"
+ ],
+ "password" : "8423ec7ea4ca4b03",
+ "salt" : "8dfae85c9f2072ae",
+ "iterationCount" : 4096,
+ "iv" : "13a77b4b2eb10b260ac889b432d7af1c",
+ "msg" : "41a21ec6f04859724a1dfcdcf85e6c3a",
+ "ct" : "8876659a146595ac399939e38d6231198c54473283a402a83a27a519490d8b77",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 51,
+ "comment" : "password is a random byte string",
+ "flags" : [
+ "NonUtf8"
+ ],
+ "password" : "7538a2fc091b6e76",
+ "salt" : "657a212f745924eb",
+ "iterationCount" : 4096,
+ "iv" : "6529f3dc9f0197e2f5c6e889b1b6097f",
+ "msg" : "231765341c414e93ec399b804a79a65dfc",
+ "ct" : "8d060cd3f64a303a694188b37fba9d49cd4ca1a33765045056ae28b84f5d8b69",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 52,
+ "comment" : "password is a random byte string",
+ "flags" : [
+ "NonUtf8"
+ ],
+ "password" : "48997492c3528738",
+ "salt" : "99c55e182238c8e0c385447685e9ba85",
+ "iterationCount" : 4096,
+ "iv" : "34d4cc26cd871885c8e781d6e8b9ec67",
+ "msg" : "4bf1f98da6113ca66cc18283aedb4cc5",
+ "ct" : "dfe9c45603daa1ac83837009480613161945de935a7cf569f5b1e88429eeb2fd",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 53,
+ "comment" : "password is a random byte string",
+ "flags" : [
+ "NonUtf8"
+ ],
+ "password" : "c69d34ec7722ffca",
+ "salt" : "b5413f52391a2ff0fb19563c0b40a445",
+ "iterationCount" : 4096,
+ "iv" : "b4d3b1dbbc034d407ce552e6bc63fee1",
+ "msg" : "e2e81593f6591df708582f4cce0b1c6d78",
+ "ct" : "e97aef0c87baced498c4f729b62460a6ab253ef9173083f687b1bd96e2641125",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 54,
+ "comment" : "password is a random byte string",
+ "flags" : [
+ "NonUtf8"
+ ],
+ "password" : "e3feb0f96dec61e9dd451465f88f132119",
+ "salt" : "e9c55717a1259a29",
+ "iterationCount" : 4096,
+ "iv" : "cd718713a05183c1aa4bc4c01794b382",
+ "msg" : "1f4425a96b272fc27bcbfda0bb7e0dd8",
+ "ct" : "7455ec64e1fdedbab891a5f1a78c637aed8a200226fa043adc43cc630d5042a7",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 55,
+ "comment" : "password is a random byte string",
+ "flags" : [
+ "NonUtf8"
+ ],
+ "password" : "ed12a9502061d35d9678188f1cdf135e24",
+ "salt" : "09deec77ec44eb6e",
+ "iterationCount" : 4096,
+ "iv" : "0f958378c10c245540b9ce61d7781fd8",
+ "msg" : "ae209895c5cb179e54649749cdb245b9ce",
+ "ct" : "4b5d722a1fa8f1ceba5ceafc216f45c1b2f17bf976d2c10619023ee582e00677",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 56,
+ "comment" : "password is a random byte string",
+ "flags" : [
+ "NonUtf8"
+ ],
+ "password" : "9e9d7c166ad3bec856fe5d15d3aacbc53c",
+ "salt" : "200bba668b2010b1968b82091848937c",
+ "iterationCount" : 4096,
+ "iv" : "39d3e787c076007b3c173b75597b08c5",
+ "msg" : "0b4e337297c6cdd5c51f8ee7e633ef8f",
+ "ct" : "c67e065cb7b4da152bd06815fce77ce295c9c1ef3e0a47f20f3add8dd9bd14a0",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 57,
+ "comment" : "password is a random byte string",
+ "flags" : [
+ "NonUtf8"
+ ],
+ "password" : "466a02b7d8a046f5161b41ecef9cc3b50c",
+ "salt" : "1d87767829bd386ad2038cea7a0b542f",
+ "iterationCount" : 4096,
+ "iv" : "cfb67f9bb8cfb0e05684fcba195f0f19",
+ "msg" : "a9e289e0a985df90dfe23230c414dcb1fa",
+ "ct" : "332f78960c536836da4e7c25b1f288acc40d502decb599de7e60f94b951cdf0c",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 58,
+ "comment" : "password is an ASCII string encoded as BMPString",
+ "flags" : [
+ "Ascii",
+ "BmpString"
+ ],
+ "password" : "002d0000",
+ "salt" : "66a92292e6db2d9e",
+ "iterationCount" : 4096,
+ "iv" : "7911306933f1131299247a85b585bed8",
+ "msg" : "63219964fd79651fe1be8ad5e90f414c",
+ "ct" : "e1dfec01bda37328ee7079b0f2fb207c6412d66452835958fbfc938c0b4388f3",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 59,
+ "comment" : "password is an ASCII string encoded as BMPString",
+ "flags" : [
+ "Ascii",
+ "BmpString"
+ ],
+ "password" : "00470000",
+ "salt" : "88abb902385f0efc",
+ "iterationCount" : 4096,
+ "iv" : "109f2c7a8aacc98d0aa176b1b43f2ece",
+ "msg" : "34ce8c499c20714c34506b8e8b87b103d2",
+ "ct" : "79b665b49812314699468ed611c2dc936903a0fc7c4f678fe87c8ead01bd9f02",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 60,
+ "comment" : "password is an ASCII string encoded as BMPString",
+ "flags" : [
+ "Ascii",
+ "BmpString"
+ ],
+ "password" : "004400640042004d0064006d000100790000",
+ "salt" : "675617aaff664428",
+ "iterationCount" : 4096,
+ "iv" : "c08dd25d3aa04749850301e9b8f8eb28",
+ "msg" : "4f5f5d4d0a21d463419db42fdff6ae6c",
+ "ct" : "6e0994e79d512d4ece5adc3780e04b661c536d06c1ab4a2edeb155107cd7db79",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 61,
+ "comment" : "password is an ASCII string encoded as BMPString",
+ "flags" : [
+ "Ascii",
+ "BmpString"
+ ],
+ "password" : "007400760025002a0012005b005c00610000",
+ "salt" : "957a9ab7ad9fc7de",
+ "iterationCount" : 4096,
+ "iv" : "126081b5c830984abd553ec39b080f39",
+ "msg" : "ede5a5ea322b7972a789bb5af48f384218",
+ "ct" : "5afa3b1bce4c730ab9fe1d74968ab6b6b1864a259e57d1cf249d00c39a113e52",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 62,
+ "comment" : "password is an ASCII string encoded as BMPString",
+ "flags" : [
+ "Ascii",
+ "BmpString"
+ ],
+ "password" : "0023000d00510069001d0077002a0009001200010034004d00520070006100290000",
+ "salt" : "deea2dabe885caf6",
+ "iterationCount" : 4096,
+ "iv" : "698a466cec24214100bb3f30a6820bf7",
+ "msg" : "930b94a70883efd733f63f841dfc3d17",
+ "ct" : "40f00ab03adf899988c4c9b51a6ca14fe5de7e3a081f4f5983748c0601cb32db",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 63,
+ "comment" : "password is an ASCII string encoded as BMPString",
+ "flags" : [
+ "Ascii",
+ "BmpString"
+ ],
+ "password" : "007300520057005c005600180030003c004b0050007c004f00020020002600390000",
+ "salt" : "6ed69f23acf64114",
+ "iterationCount" : 4096,
+ "iv" : "59efebfe7a6056507dc17778e5c444c5",
+ "msg" : "538705a997333fc2bf4f44f2bb90f3cd26",
+ "ct" : "857348a472322aa4073bba8833712932ee96f74edc986a0373eea8cb51e95e84",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 64,
+ "comment" : "password is a BMPString",
+ "flags" : [
+ "NonUtf8",
+ "BmpString"
+ ],
+ "password" : "92ae0000",
+ "salt" : "6978583ea9c24c49",
+ "iterationCount" : 4096,
+ "iv" : "0192ad10599677f253e7dea587373553",
+ "msg" : "c06bcb3b5cd9c1317f5eb7ba50882530",
+ "ct" : "d662b0cd5f508c7426fd31c1143a1de494799f86203129ba637afca83e3e6da9",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 65,
+ "comment" : "password is a BMPString",
+ "flags" : [
+ "NonUtf8",
+ "BmpString"
+ ],
+ "password" : "38a90000",
+ "salt" : "c217b8c980fe4698",
+ "iterationCount" : 4096,
+ "iv" : "890a0303475f07189a0fe14b4e509217",
+ "msg" : "1ea8b43513275537d021c0f75849c01840",
+ "ct" : "b99dc159d93b124e7b6ed30318441a850528b0f5479ded51774368162cc2e637",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 66,
+ "comment" : "password is a BMPString",
+ "flags" : [
+ "NonUtf8",
+ "BmpString"
+ ],
+ "password" : "4464c2cde4ed81790000",
+ "salt" : "675617aaff664428",
+ "iterationCount" : 4096,
+ "iv" : "c08dd25d3aa04749850301e9b8f8eb28",
+ "msg" : "4f5f5d4d0a21d463419db42fdff6ae6c",
+ "ct" : "f32a2e07c68836d88dadfdd00aa384f86df4cf04517af2ff0fd67f1eb5de7e5b",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 67,
+ "comment" : "password is a BMPString",
+ "flags" : [
+ "NonUtf8",
+ "BmpString"
+ ],
+ "password" : "f4f6a52a925b00610000",
+ "salt" : "957a9ab7ad9fc7de",
+ "iterationCount" : 4096,
+ "iv" : "126081b5c830984abd553ec39b080f39",
+ "msg" : "ede5a5ea322b7972a789bb5af48f384218",
+ "ct" : "98f0c5440715b6e8f9734c27ba6fc43bfb6abd9d3d96411af6abf937d49606d3",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 68,
+ "comment" : "password is a BMPString",
+ "flags" : [
+ "NonUtf8",
+ "BmpString"
+ ],
+ "password" : "a38d51691d77aa891281b44d52f061a90000",
+ "salt" : "deea2dabe885caf6",
+ "iterationCount" : 4096,
+ "iv" : "698a466cec24214100bb3f30a6820bf7",
+ "msg" : "930b94a70883efd733f63f841dfc3d17",
+ "ct" : "2aafb053042daa04a80681fba4537cedfd6f610c07bcc26cda4cdc55ddb07024",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 69,
+ "comment" : "password is a BMPString",
+ "flags" : [
+ "NonUtf8",
+ "BmpString"
+ ],
+ "password" : "f35257dc5698b0bccbd0fc4f02a026390000",
+ "salt" : "6ed69f23acf64114",
+ "iterationCount" : 4096,
+ "iv" : "59efebfe7a6056507dc17778e5c444c5",
+ "msg" : "538705a997333fc2bf4f44f2bb90f3cd26",
+ "ct" : "0a138cfc74922af7a3a32381e7c1418d8e3c2cf8152bbcef63393ddf307742a6",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 70,
+ "comment" : "empty password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "",
+ "salt" : "79d4c53a51c41815",
+ "iterationCount" : 4096,
+ "iv" : "a8e86525fa4f365373045533b33902bd",
+ "msg" : "a62c0d9b5bcb932f65058396367673e8",
+ "ct" : "30847d304d20ca2c7cc66a1d3d2f11751d44ad8da23d236357fd595d27e62c51",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 71,
+ "comment" : "empty password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "",
+ "salt" : "65f8fa8b52cd47b0",
+ "iterationCount" : 4096,
+ "iv" : "bfb545e71f39df509870139862965526",
+ "msg" : "a3bae2fae05b77c7673d71901268eed173",
+ "ct" : "29b6afa3317ad6e3dae59c2fde47c99ea712e5eae02a7dee90a82eb8afc24a76",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 72,
+ "comment" : "password is an empty BMPString",
+ "flags" : [
+ "Ascii",
+ "BmpString"
+ ],
+ "password" : "0000",
+ "salt" : "f488f026badc3624",
+ "iterationCount" : 4096,
+ "iv" : "2979c2a734e4cd5da5d9a7e69c3f8b8e",
+ "msg" : "d63088e9bf4e9105bc287f0ab6823af9",
+ "ct" : "62244af96ce39afcd4033807e638b0934998003fda48884a5760536be637c67d",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 73,
+ "comment" : "password is an empty BMPString",
+ "flags" : [
+ "Ascii",
+ "BmpString"
+ ],
+ "password" : "0000",
+ "salt" : "542ada9132800d2c",
+ "iterationCount" : 4096,
+ "iv" : "844635e540de3a85c02f2df9413ff911",
+ "msg" : "08dfdd58aa603d5fc4bdaa9cb24ce82bca",
+ "ct" : "9c3445b15a2c1c271ad34afeb2d0bc489121f8c784195625ad08013cbcb54f76",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 74,
+ "comment" : "long password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "61473a5f3441403c4a32204575314b24312d402225634c5653603d52756f247e414c3c2a4e2b3b25704140762170713a272526386448434b462a7a2c75395c725f",
+ "salt" : "80f8e7ac4649fd77",
+ "iterationCount" : 4096,
+ "iv" : "43db6bbe8b43b065bf32cd67c023856f",
+ "msg" : "e443a5541e1c0bd038030f78952195e0",
+ "ct" : "0424b141b5a21c12b5700cdd3a699de13a9afcacb2db201296e37a43fad7153b",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 75,
+ "comment" : "long password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "7b2e6e6c462a24546c402c525a7e566e613a255c48422f364e51217b343a31253546355430315c2b2f352042385421323f5b47232e495329596c307d4f4153566746523b386023615b4c3f3a757131214d46662965645e44284d2268507a2364312d7568224751254a35273e5b69792773644555323039787e4e525647526a7d74",
+ "salt" : "66b3a75c3d1de7a7",
+ "iterationCount" : 4096,
+ "iv" : "4929fb5d6adc043751411a8165325219",
+ "msg" : "fc5d6ee5b19b873fac6f54160be4d52a",
+ "ct" : "b84ce032c7e531d96ef93c69497a0c860eb303a2c51c97e1415f8809efed856d",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 76,
+ "comment" : "long password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "2a4235363559523e265f4c2b48685b374e347c4b384347346a513c2251753927742c427d25732e532b4e202648522b395d5763457a705e4b637a5535216e4e4e3a523a5b5e546d7625614e2f3623557e46454d413032515f2c30214971277b23606242283e4b3445426c2e4d7c40346d47777c4e3f6e572e24664a5e286c34775c2f5e3f2960744f644b2d47532c77447a58405e335b7d3a6b5831507b642f392b3638365c4341425e46655f577e31533f41626b6056393e5d32213b716d455d2637762a4c693e6c4b5449383a504e7c5e2d442030735f7d3a56273c497d773f32427b57692f7d61373d29236f6021624b41787e603d70313e5c68334a2b534653",
+ "salt" : "73e6c34cda6b6309",
+ "iterationCount" : 4096,
+ "iv" : "44f36e53ab4a6391acc5565de7358438",
+ "msg" : "309b773bcd825e66bd3117097f536b0e",
+ "ct" : "f8a4ac54467ec01cc480d1b4883b024248de412f64228173990855945797d690",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 77,
+ "comment" : "special case password",
+ "flags" : [
+ "NonUtf8"
+ ],
+ "password" : "ff",
+ "salt" : "330226023aa6c045",
+ "iterationCount" : 4096,
+ "iv" : "c78e1ec445dbe9742d205432712442bf",
+ "msg" : "4b8243aab5cba8be6853eeaa65e3ebb0",
+ "ct" : "8cdb335c0ed031a626ecdc81fa6cea8b522a40ec9c5d11a4468b4b5a741747d7",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 78,
+ "comment" : "special case: truncated UTF-8 string",
+ "flags" : [
+ "NonUtf8"
+ ],
+ "password" : "c0",
+ "salt" : "e19e4f175a64d35a",
+ "iterationCount" : 4096,
+ "iv" : "7545745f8d0bfe38f024371e12008a5f",
+ "msg" : "9e21b64aeff5338eb9bc71b19ef8f8e7",
+ "ct" : "cf2d0228b5c4f9ec86cb5c85c0fc74c33408a9aedcc4640da28473fb02fdc365",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 79,
+ "comment" : "special case: invalid UTF-8 bytes",
+ "flags" : [
+ "NonUtf8"
+ ],
+ "password" : "ffffffffffffffff",
+ "salt" : "1eb37da28a65f626",
+ "iterationCount" : 4096,
+ "iv" : "5e9d991fa22878ac5256759c6c9cb53e",
+ "msg" : "319c92804c5560f840cc5bdace9c925d",
+ "ct" : "e2c97fb4984b144612f5e866c1ca4bf3d6c780bc4d22cd1afa9bfda9bfb82c31",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 80,
+ "comment" : "special case: invalid 2 byte UTF-8 code points",
+ "flags" : [
+ "NonUtf8"
+ ],
+ "password" : "c0c0c0c0c0c0c0c0",
+ "salt" : "2017b5e20a7cdbe0",
+ "iterationCount" : 4096,
+ "iv" : "7e42d185cab712e2982ca6ee4c2c61ec",
+ "msg" : "0f5a93c6771fc66aff78996d77421735",
+ "ct" : "cae6de78d09f35cad025f38f301c26e3e52a480816b1d8c2b0541351d02eb889",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 81,
+ "comment" : "special case: invalid 3 byte UTF-8 code points",
+ "flags" : [
+ "NonUtf8"
+ ],
+ "password" : "eeeeeeeeeeeeeeee",
+ "salt" : "84301f0aebda104f",
+ "iterationCount" : 4096,
+ "iv" : "4ba655c171677a0dfbc5f6312387c15d",
+ "msg" : "86caabd40a5c738720de173597ea72f6",
+ "ct" : "54e0004acb6831e002a0be547ba30f997edff301214612aa33d1b5ee93582e7d",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 82,
+ "comment" : "special case: invalid UTF-8 code points",
+ "flags" : [
+ "NonUtf8"
+ ],
+ "password" : "f0f0f0f0f0f0f0f0",
+ "salt" : "64baccfdd4e4b41b",
+ "iterationCount" : 4096,
+ "iv" : "d6b443472d2cf853c0c05f5327faced7",
+ "msg" : "4e0ee09328663637f21410fb8ad057a1",
+ "ct" : "24c5c92f3d6894be9eed249885795401f00ac6a311b92efa670db662d71bb2ae",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 83,
+ "comment" : "special case for UTF-16",
+ "flags" : [
+ "NonUtf8"
+ ],
+ "password" : "dbdbdbdbdbdbdbdb",
+ "salt" : "ba21795fffb901bc",
+ "iterationCount" : 4096,
+ "iv" : "753675f249b8c153997a797116495204",
+ "msg" : "706c565ba28370ff433460cc9f8d845a",
+ "ct" : "76ceea50daf6278c8ac352a50b6e422d098681bc1a866055ade03fcbfe47e224",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 84,
+ "comment" : "special case: long all zero password",
+ "flags" : [
+ "Ascii"
+ ],
+ "password" : "0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
+ "salt" : "22871ffd379d9951",
+ "iterationCount" : 4096,
+ "iv" : "2e949af1052a230e7560d9ae1ce75042",
+ "msg" : "16d1b65deb2d67fc3242792a19d5c227",
+ "ct" : "ed61f39131d09fde5060c7eecb0f73b201565a7e21af420698dba2d2e12ac83f",
+ "result" : "valid"
+ }
+ ]
+ }
+ ]
+}
diff --git a/testvectors_v1/pbes2_hmacsha224_aes_128_test.json b/testvectors_v1/pbes2_hmacsha224_aes_128_test.json
new file mode 100644
index 0000000..c26b1b3
--- /dev/null
+++ b/testvectors_v1/pbes2_hmacsha224_aes_128_test.json
@@ -0,0 +1,1228 @@
+{
+ "algorithm" : "PbeWithHmacSha224AndAes_128",
+ "schema" : "pbe_test_schema.json",
+ "generatorVersion" : "0.9",
+ "numberOfTests" : 84,
+ "header" : [
+ "Test vector of type PbeTest are used for PBES1 or PBES2."
+ ],
+ "notes" : {
+ "Ascii" : {
+ "bugType" : "FUNCTIONALITY",
+ "description" : "The test vector contains a password consisting of ASCII characters."
+ },
+ "BmpString" : {
+ "bugType" : "FUNCTIONALITY",
+ "description" : "The test vectors contains a password that is a valid BMPString as used in RFC 7292. This RFC uses big endian encoding and a null terminator."
+ },
+ "NonUtf8" : {
+ "bugType" : "FUNCTIONALITY",
+ "description" : "The test vector contains a password that is not a valid UTF-8 string."
+ },
+ "Printable" : {
+ "bugType" : "FUNCTIONALITY",
+ "description" : "The test vector contains a password consisting of printable ASCII characters."
+ },
+ "Utf8" : {
+ "bugType" : "FUNCTIONALITY",
+ "description" : "The test vector contains a password that is a valid UTF-8 string."
+ }
+ },
+ "testGroups" : [
+ {
+ "type" : "PbeTest",
+ "tests" : [
+ {
+ "tcId" : 1,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "7743656734722c30",
+ "salt" : "fcd9a324f025ef40",
+ "iterationCount" : 4096,
+ "iv" : "42f02ff71b8524d1678ab2e34f9e7d47",
+ "msg" : "",
+ "ct" : "665f9430ef5e0c4da06ca6ec008adfea",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 2,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "64395f4b48295839",
+ "salt" : "bfb221ba6de64926",
+ "iterationCount" : 4096,
+ "iv" : "7a735848780923657c0c54bc2ff0d9f8",
+ "msg" : "a3",
+ "ct" : "1422e0c729fe8699365f10cb8bae7d11",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 3,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "3a787e4c2c604d70",
+ "salt" : "dc64f1fd4705b4e5",
+ "iterationCount" : 4096,
+ "iv" : "579ff2437d6739742421b6e4e70d5c27",
+ "msg" : "4204",
+ "ct" : "66c61d7e646fef060dc91d6f7be40917",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 4,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "2a67656a66296120",
+ "salt" : "4c379a2bd962d19a",
+ "iterationCount" : 4096,
+ "iv" : "5bff9a5e8692229679cbd70fcfdebb74",
+ "msg" : "ceb541",
+ "ct" : "e716ced3b8e272e1e1568c6a8edef215",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 5,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "3b55267d5f4b2d4c",
+ "salt" : "08e041282eed4f00",
+ "iterationCount" : 4096,
+ "iv" : "17c5e988149370694c1b3b8cb0e44225",
+ "msg" : "10d032a7",
+ "ct" : "55eb870800dbfebabce8312f7c09687d",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 6,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "4f317e2e525e517a",
+ "salt" : "bd5c4b6f25a1f6ff",
+ "iterationCount" : 4096,
+ "iv" : "76e5e3eb771a4daec6fabdc0b0793195",
+ "msg" : "29d9f1a701",
+ "ct" : "4d5150c1aed9bc39053ee50b8731c7e0",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 7,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "6557766473282375",
+ "salt" : "ea1efbb1c86b0c06",
+ "iterationCount" : 4096,
+ "iv" : "1f186ad98435e90fd7700695c986ef78",
+ "msg" : "6f124d8a8248",
+ "ct" : "5df4badc4b98d67cc6189173a4d8a4d8",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 8,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "543a5f48765a2542",
+ "salt" : "f308bbcca74a2224",
+ "iterationCount" : 4096,
+ "iv" : "26bbbf2e18f06a4524e13bfd1ac00b37",
+ "msg" : "a1163153287dfe",
+ "ct" : "09957030cecd96c008ae7c8f0b57713b",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 9,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "695a3c642f457a52",
+ "salt" : "7af3b0005c594502",
+ "iterationCount" : 4096,
+ "iv" : "6d9e8ea3d6ed355bf5e65b12995dbf6a",
+ "msg" : "9b29df8b3b9862f4",
+ "ct" : "6069cf2e85ad8b2562442e77dbf38b8a",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 10,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "2a772a233f216e60",
+ "salt" : "172d5f4595c220dd",
+ "iterationCount" : 4096,
+ "iv" : "a5941967d4f6934431bd9951e20a93a6",
+ "msg" : "fe51cf84289221b894",
+ "ct" : "4eff56ffd48c36c2637b10c4c145eca0",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 11,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "793c43623652216f",
+ "salt" : "d1d722eee2c5ebef",
+ "iterationCount" : 4096,
+ "iv" : "5cfe832947ec659f6847277ec1fab2f9",
+ "msg" : "696eb8b4e6b2015abb91",
+ "ct" : "4950cf3231b54d0931fbd5d507044d69",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 12,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "4854515c222a2230",
+ "salt" : "843f5ff28978f214",
+ "iterationCount" : 4096,
+ "iv" : "430b247a435124754c83cc11203f18bd",
+ "msg" : "d8405be7823b472459a2fc",
+ "ct" : "2c77d35edfd4d2901fa3e4c26e60a936",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 13,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "48682a4d34266b40",
+ "salt" : "783f344a1fa7c9a8",
+ "iterationCount" : 4096,
+ "iv" : "c707947121e5fc2da16990a78772e0ab",
+ "msg" : "56c73b781c1bff72a8ae7faf",
+ "ct" : "4d0a65d7527c5c744e6855f5a6fb546b",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 14,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "293a746531294d5c",
+ "salt" : "2c75641f991eb10b",
+ "iterationCount" : 4096,
+ "iv" : "96dabd858e4187d0e50f8299ab60f029",
+ "msg" : "b07e8bbb45e9a17c124f6d5129",
+ "ct" : "b71c974f6da705d8c60ef695f853ec60",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 15,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "353377343f482b65",
+ "salt" : "cf1620e7aabb73b7",
+ "iterationCount" : 4096,
+ "iv" : "8e6dd70b1dd1c39d0b8b593c556d812b",
+ "msg" : "ff89eb184de11579cae7d110a350",
+ "ct" : "9678775c4d1a636287de731d55022d80",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 16,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "614e2d4634335721",
+ "salt" : "6dffc1db31767608",
+ "iterationCount" : 4096,
+ "iv" : "78c899bcdc4cf7d933ddc9016bc6e64e",
+ "msg" : "5e859aac690c85646ffb3f2bbb0d9c",
+ "ct" : "99b0b9877dc6861b3aa0c728931ba048",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 17,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "6f5330325e22574e",
+ "salt" : "798acc7c76739d75",
+ "iterationCount" : 4096,
+ "iv" : "5bfcfd6d7013eb8828f72455d7535c77",
+ "msg" : "86059dc647ba7d0067099e16c3da8bb6",
+ "ct" : "6e356ee5c60fe848702a126e44821d4fc252b043e0ea445ff91cdda8ce04c670",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 18,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "3972245623494f42",
+ "salt" : "da5421f23ac5b5e1",
+ "iterationCount" : 4096,
+ "iv" : "12293114ddb85319240682c1765e4533",
+ "msg" : "fc9349cbd8c277786c888f3254342431a8",
+ "ct" : "00b9740dbd5418ce40dd7f9e72dab32a2bcdea44da320dd867532ba99d1c07bb",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 19,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "464d2f76752b4d63",
+ "salt" : "8cfea3c6783cfc41",
+ "iterationCount" : 4096,
+ "iv" : "9c84fe91476ab1c6ed30db9bb7f60280",
+ "msg" : "ad10a3cdef856b0632f7ce200c11f6c569d2",
+ "ct" : "4ee440dc8f12d96182c48f38ae669c51f61feef8eafd913e862af9040e40ba8f",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 20,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "7951437c2b6f7079",
+ "salt" : "caada2e55c49492f",
+ "iterationCount" : 4096,
+ "iv" : "3a0185b1423310796b052e9128334b04",
+ "msg" : "be82c331a83dd0c472abc6ae8725d2ba48b3ad",
+ "ct" : "d5e8c23338c61453d050d657a4ef441d46fbf0be867a78470e0dbc897054b982",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 21,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "525c2424652a603d",
+ "salt" : "26ea52da49513b47",
+ "iterationCount" : 4096,
+ "iv" : "b9c70ea8599e136a64b2a6733e8ceb40",
+ "msg" : "d964c8b7fac0906c25654186f8d8e74b62dac5ac",
+ "ct" : "663e03efe7d42227c2de39c26a708af52b8c2b68242c6daafdd9067c06e245a7",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 22,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "6e446161627e6a3d",
+ "salt" : "64c6e216305ac8e5",
+ "iterationCount" : 4096,
+ "iv" : "2e089b050bfcbb214a3904344b25a28d",
+ "msg" : "00bba99a3d64657e16b70ee50c091488661c0af597",
+ "ct" : "ce0142a19f1d01b753d09ed38d9ca170cfc6dbfb2c077e24397841b3450b1f37",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 23,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "5b413d39776e3323",
+ "salt" : "33017b20ba4a7af2",
+ "iterationCount" : 4096,
+ "iv" : "6fcf1307b562738a387c75885a7d6bf9",
+ "msg" : "1f6c99446d139e9ea5d46af1667b733eb8748e5e0e18",
+ "ct" : "172e548909d0d835769c07543fa3f7af12fb00f232f0484bc991e6a3ccf057f6",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 24,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "414838254a683628",
+ "salt" : "127e43a6c714f168",
+ "iterationCount" : 4096,
+ "iv" : "21bb5b1c774409d06067597153422573",
+ "msg" : "773f5e2ebe6ce60683cac6a9e2f0c9663556923582bdec",
+ "ct" : "e82e721db5eaeedd76400ccb507189b93ca9eed2d4b65c5ac606d36050a6ba3c",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 25,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "3c202b435634305d",
+ "salt" : "45f38c6678268b8e",
+ "iterationCount" : 4096,
+ "iv" : "348b3cca3ece503b42b20b2ae690c4eb",
+ "msg" : "8ab193d18b1dec59400822dd0cea7239b3743327488e3d2d",
+ "ct" : "e05e351289883539718b0822f08d2b1429facf687f0159cd2258bb33cdb178ae",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 26,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "6e43225f5832705b",
+ "salt" : "5911a7a49800e204",
+ "iterationCount" : 4096,
+ "iv" : "58b4f658efcf961c4715b0af0b0913b7",
+ "msg" : "b336756c278ab89c0539047824350469b05918446a672b4215",
+ "ct" : "d2b3ee1619b58e2cf40110da356ac78b889626c9989eb382b733e8d4c3682e9e",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 27,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "3f26723264514541",
+ "salt" : "18a9d3dfa74d4024",
+ "iterationCount" : 4096,
+ "iv" : "497fe0d1a8c09aca8d98a11db8621077",
+ "msg" : "6cd40dc20c7103a39b83da1f8c67855b0ffd77c250e1447414a9",
+ "ct" : "b6281b9b99b1ae8bb9374bb49999849752034fb16edf0a012637206467cb8949",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 28,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "536d4a3b42714035",
+ "salt" : "9025629f385862f5",
+ "iterationCount" : 4096,
+ "iv" : "575fd9464cc1a36fcd23d7fc4ed304de",
+ "msg" : "40a37fae54940616cd6bb6cefb8f4521895fe9b7593492c2709003",
+ "ct" : "9e67e1dd9cc0409dc9b87b6e282c3ddd0ba51fb9ff38d747360345a9712eee43",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 29,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "283d692b21263f41",
+ "salt" : "4f9ca92d54e165d1",
+ "iterationCount" : 4096,
+ "iv" : "402239571eaf6f7162fd4fe620d55948",
+ "msg" : "d47c8c9ec28820d760abfe731e9e9818d34abad20da255cff68fd374",
+ "ct" : "fcba72cfb3adc0a9106ee2463b2582950229ec5eac88c7d4ac583ea836a5ff93",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 30,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "3658665b3a546f47",
+ "salt" : "5ae48edef6811519",
+ "iterationCount" : 4096,
+ "iv" : "2425c2af851d56445c8e11b4529e3287",
+ "msg" : "5892825348e6160fd4f95f0a619a5a41604ee4b21ace4c9f61adf31ebc",
+ "ct" : "8da58ab23d0a67554ca96f7ac7e58f686ecdb59bbfc705f0332fc519fc4470d0",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 31,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "257d78712275712a",
+ "salt" : "e2a7c16a6fe6a1fc",
+ "iterationCount" : 4096,
+ "iv" : "9dc7a4ff8a5a9d04d1b88c14028092c5",
+ "msg" : "596c0a1b3f9c251c98b15fb077da34c72e415ab9f4f01ac865421a7b89be",
+ "ct" : "2f025e46bd8e23442e8f62f7adf94fac1cbdf388ae1e33f8fa2ce313b86e2048",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 32,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "2b75433d3a69566c",
+ "salt" : "a6d0b6f795cbe6a8",
+ "iterationCount" : 4096,
+ "iv" : "5804285758b9e6450148872a11dcc421",
+ "msg" : "18e18b3cb96d6d9ff0730b2ff70ac2be9577a75555554f6c446ed30850c167",
+ "ct" : "7ddf580d7615c5cc58ee759ad11ffeb5c85f7e2e93f077153d72a810f1ae3580",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 33,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "252b6452647b4520",
+ "salt" : "e817780ed7997728",
+ "iterationCount" : 4096,
+ "iv" : "ff2512297f3fd5aa2b859432b9f53006",
+ "msg" : "8e9b1f95807a3c1bc95027ca72d2ae717b7e9dceac7437fc32a1aad2343ce69e",
+ "ct" : "cf8473c7ae0c4c99837d4c8b39a7a38dcfdbbd2c37c9e0acbbbf3c9c1aae867dd3010e379c6b18310c11915364cef694",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 34,
+ "comment" : "password contains only ASCII characters",
+ "flags" : [
+ "Ascii"
+ ],
+ "password" : "4b2d6c600e66535c7f3d6d6c",
+ "salt" : "7a4c02db8bd8fcc2",
+ "iterationCount" : 4096,
+ "iv" : "d62747fca1a7dfbee90597b3f57fffa2",
+ "msg" : "52dd188a4585bbaa85ced8d529d880b3",
+ "ct" : "df1fb165e61f900acefb568c2924906c1f86b506742262b73353a219671aa6aa",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 35,
+ "comment" : "password contains only ASCII characters",
+ "flags" : [
+ "Ascii"
+ ],
+ "password" : "706614257f522b6315345f7c",
+ "salt" : "94ef44b92e15fa35",
+ "iterationCount" : 4096,
+ "iv" : "c489480ee8a00898f3151317c2c614b9",
+ "msg" : "9cb42f3f2992357a7beeedfa37653f4d41",
+ "ct" : "1a7b1d5fb130a70382df9d57b0116c780fdbdbbea8237469e9ffa8e170c78018",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 36,
+ "comment" : "password contains only ASCII characters",
+ "flags" : [
+ "Ascii"
+ ],
+ "password" : "1f4b7b354903545f2b07720b",
+ "salt" : "62f91ea01f3a18aa2f122bd15c4a615b",
+ "iterationCount" : 4096,
+ "iv" : "05d867eae06fbfd2efda349bc3dcd473",
+ "msg" : "64f33addb1e1671f867e96a3e8339ecd",
+ "ct" : "3d095a3f24dc9a063a0bb58e064089bc4ae36809717a2473e1d3dd372bdb8dd4",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 37,
+ "comment" : "password contains only ASCII characters",
+ "flags" : [
+ "Ascii"
+ ],
+ "password" : "1e2e16140e4a4d19251b6f5f",
+ "salt" : "bdf156b4d87a5e07cd9481b3d136887c",
+ "iterationCount" : 4096,
+ "iv" : "b64e4b7176cfafe46235e8b32b2508e6",
+ "msg" : "9b31b854ff09e4cdd28b817fb2f2cdb6c9",
+ "ct" : "2ffbdf202343d9f5e28f2268c182942f2c9cb963c1b106605b8efd3b0d4ed01c",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 38,
+ "comment" : "password contains only ASCII characters",
+ "flags" : [
+ "Ascii"
+ ],
+ "password" : "15296b0933473119180f3c0645202d5221633803",
+ "salt" : "d7412e4137fc4410",
+ "iterationCount" : 4096,
+ "iv" : "d227c8c98a652788944977f9bc73a20d",
+ "msg" : "86159d5e3b903a51a833ce561f39ae0a",
+ "ct" : "3e4aea625436bf9a5caf9e3068d7d22ed1715dc453d2f4bdc7ccb566c4a0b06e",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 39,
+ "comment" : "password contains only ASCII characters",
+ "flags" : [
+ "Ascii"
+ ],
+ "password" : "00017e1e176769476d2433302f3506590e632a0c",
+ "salt" : "28c1759d783256fd",
+ "iterationCount" : 4096,
+ "iv" : "cf23a38fef611880acf9107ffa9e29a8",
+ "msg" : "79532d85a40aa575377172611dd4f0047c",
+ "ct" : "d3dc77752c41ec238b4c829ffa07fd8d03a0087a10e926f0553ef89120eade01",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 40,
+ "comment" : "password contains only ASCII characters",
+ "flags" : [
+ "Ascii"
+ ],
+ "password" : "7a106c2773542c791d2f0a02632b69644f666278",
+ "salt" : "a36350db68186d747254bd9835219487",
+ "iterationCount" : 4096,
+ "iv" : "568af67455f416a63d3ced652c32a74d",
+ "msg" : "96687d00d01854bbc2151ed4fdec8732",
+ "ct" : "f63a6a807385adffb65e20af82c93fe8d4cc47c5093849d33029aa926d7c8307",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 41,
+ "comment" : "password contains only ASCII characters",
+ "flags" : [
+ "Ascii"
+ ],
+ "password" : "350e2f050d444c09374977205a6b063736373067",
+ "salt" : "3cadfed36847faa4af545c426b7bcbc5",
+ "iterationCount" : 4096,
+ "iv" : "1ee0658f81c645721618de5849c3baf1",
+ "msg" : "89e4167cba0f8ca3a4b1640b023612d963",
+ "ct" : "fa15ab080f574055fbb5ab773636f9c5a7cf7ec8533889b18a7ada188b13a651",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 42,
+ "comment" : "password is a valid UTF-8 encoding",
+ "flags" : [
+ "Utf8"
+ ],
+ "password" : "d0a3d1bed38acc83",
+ "salt" : "8dfae85c9f2072ae",
+ "iterationCount" : 4096,
+ "iv" : "13a77b4b2eb10b260ac889b432d7af1c",
+ "msg" : "41a21ec6f04859724a1dfcdcf85e6c3a",
+ "ct" : "1df0e874b723ebeb7cd0a34d0acb2cfc8052aa28fc1f2c5738900fd4dae8108f",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 43,
+ "comment" : "password is a valid UTF-8 encoding",
+ "flags" : [
+ "Utf8"
+ ],
+ "password" : "d4b8cbbcc49bd9b6",
+ "salt" : "657a212f745924eb",
+ "iterationCount" : 4096,
+ "iv" : "6529f3dc9f0197e2f5c6e889b1b6097f",
+ "msg" : "231765341c414e93ec399b804a79a65dfc",
+ "ct" : "c9cd966988133a2f1846813b353a72c3a61a9bc5796e362da4644710f2d15848",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 44,
+ "comment" : "password is a valid UTF-8 encoding",
+ "flags" : [
+ "Utf8"
+ ],
+ "password" : "c299d292cd92dcb8",
+ "salt" : "99c55e182238c8e0c385447685e9ba85",
+ "iterationCount" : 4096,
+ "iv" : "34d4cc26cd871885c8e781d6e8b9ec67",
+ "msg" : "4bf1f98da6113ca66cc18283aedb4cc5",
+ "ct" : "07bc371f5b0082743865d9635111689b34ac4fd20fa31a701c34053504e0196e",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 45,
+ "comment" : "password is a valid UTF-8 encoding",
+ "flags" : [
+ "Utf8"
+ ],
+ "password" : "da9dd3acdca2df8a",
+ "salt" : "b5413f52391a2ff0fb19563c0b40a445",
+ "iterationCount" : 4096,
+ "iv" : "b4d3b1dbbc034d407ce552e6bc63fee1",
+ "msg" : "e2e81593f6591df708582f4cce0b1c6d78",
+ "ct" : "3c10ea651d36a0e1011d0c719659160319a7b3d6ce65cbcba15224008cf57f92",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 46,
+ "comment" : "password is a valid UTF-8 encoding",
+ "flags" : [
+ "Utf8"
+ ],
+ "password" : "cfbec3b9d7acc7a9d585d1a5c28fcca119",
+ "salt" : "e9c55717a1259a29",
+ "iterationCount" : 4096,
+ "iv" : "cd718713a05183c1aa4bc4c01794b382",
+ "msg" : "1f4425a96b272fc27bcbfda0bb7e0dd8",
+ "ct" : "56e8188356946296938f3934a4e5a07301c1ac3414bdbd5f79208ed29c179898",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 47,
+ "comment" : "password is a valid UTF-8 encoding",
+ "flags" : [
+ "Utf8"
+ ],
+ "password" : "d492c59061cd9dd9b8c28fd39fcd9e24",
+ "salt" : "09deec77ec44eb6e",
+ "iterationCount" : 4096,
+ "iv" : "0f958378c10c245540b9ce61d7781fd8",
+ "msg" : "ae209895c5cb179e54649749cdb245b9ce",
+ "ct" : "f97c94e63ab6fef3e8396c215385178c719c0998236adf4893a13cb5f0d7a1b9",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 48,
+ "comment" : "password is a valid UTF-8 encoding",
+ "flags" : [
+ "Utf8"
+ ],
+ "password" : "da9dd096cb93db88dbbed495ceaacf853c",
+ "salt" : "200bba668b2010b1968b82091848937c",
+ "iterationCount" : 4096,
+ "iv" : "39d3e787c076007b3c173b75597b08c5",
+ "msg" : "0b4e337297c6cdd5c51f8ee7e633ef8f",
+ "ct" : "6cc02332216416a3ee666d9c1f17940a811e7e3a252d9a46ffdf1c9d63a750e3",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 49,
+ "comment" : "password is a valid UTF-8 encoding",
+ "flags" : [
+ "Utf8"
+ ],
+ "password" : "d9aacab7c2a0dbb5d89bc7acde9cceb50c",
+ "salt" : "1d87767829bd386ad2038cea7a0b542f",
+ "iterationCount" : 4096,
+ "iv" : "cfb67f9bb8cfb0e05684fcba195f0f19",
+ "msg" : "a9e289e0a985df90dfe23230c414dcb1fa",
+ "ct" : "33dac05c352eae3af89974e8c790c6a7dbb686c0523351114f619d844eac565b",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 50,
+ "comment" : "password is a random byte string",
+ "flags" : [
+ "NonUtf8"
+ ],
+ "password" : "8423ec7ea4ca4b03",
+ "salt" : "8dfae85c9f2072ae",
+ "iterationCount" : 4096,
+ "iv" : "13a77b4b2eb10b260ac889b432d7af1c",
+ "msg" : "41a21ec6f04859724a1dfcdcf85e6c3a",
+ "ct" : "d9907a4d30b2d76f02c5cd2d22514635f5da87e999ad62da2fd61a09982100b5",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 51,
+ "comment" : "password is a random byte string",
+ "flags" : [
+ "NonUtf8"
+ ],
+ "password" : "7538a2fc091b6e76",
+ "salt" : "657a212f745924eb",
+ "iterationCount" : 4096,
+ "iv" : "6529f3dc9f0197e2f5c6e889b1b6097f",
+ "msg" : "231765341c414e93ec399b804a79a65dfc",
+ "ct" : "07cb0b37af4695c224fe0af78c9ea22599332ebfb57af4227a356c307645dee4",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 52,
+ "comment" : "password is a random byte string",
+ "flags" : [
+ "NonUtf8"
+ ],
+ "password" : "48997492c3528738",
+ "salt" : "99c55e182238c8e0c385447685e9ba85",
+ "iterationCount" : 4096,
+ "iv" : "34d4cc26cd871885c8e781d6e8b9ec67",
+ "msg" : "4bf1f98da6113ca66cc18283aedb4cc5",
+ "ct" : "a8742797df7f8cc8a0a4ff543d6631af360d55b28b31733baf4163f085210b19",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 53,
+ "comment" : "password is a random byte string",
+ "flags" : [
+ "NonUtf8"
+ ],
+ "password" : "c69d34ec7722ffca",
+ "salt" : "b5413f52391a2ff0fb19563c0b40a445",
+ "iterationCount" : 4096,
+ "iv" : "b4d3b1dbbc034d407ce552e6bc63fee1",
+ "msg" : "e2e81593f6591df708582f4cce0b1c6d78",
+ "ct" : "4e1fd549f35985975b1c67700020c134e1c183a96d1709f9e0100cb41ee63aad",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 54,
+ "comment" : "password is a random byte string",
+ "flags" : [
+ "NonUtf8"
+ ],
+ "password" : "e3feb0f96dec61e9dd451465f88f132119",
+ "salt" : "e9c55717a1259a29",
+ "iterationCount" : 4096,
+ "iv" : "cd718713a05183c1aa4bc4c01794b382",
+ "msg" : "1f4425a96b272fc27bcbfda0bb7e0dd8",
+ "ct" : "622c856586021c7f283b23bdaafd3d50c45bfbe6d65662f4deb5c89be13705be",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 55,
+ "comment" : "password is a random byte string",
+ "flags" : [
+ "NonUtf8"
+ ],
+ "password" : "ed12a9502061d35d9678188f1cdf135e24",
+ "salt" : "09deec77ec44eb6e",
+ "iterationCount" : 4096,
+ "iv" : "0f958378c10c245540b9ce61d7781fd8",
+ "msg" : "ae209895c5cb179e54649749cdb245b9ce",
+ "ct" : "942ab6070f04e217e436d17a96b529a7f511209723b1b244c65c5145a29ec094",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 56,
+ "comment" : "password is a random byte string",
+ "flags" : [
+ "NonUtf8"
+ ],
+ "password" : "9e9d7c166ad3bec856fe5d15d3aacbc53c",
+ "salt" : "200bba668b2010b1968b82091848937c",
+ "iterationCount" : 4096,
+ "iv" : "39d3e787c076007b3c173b75597b08c5",
+ "msg" : "0b4e337297c6cdd5c51f8ee7e633ef8f",
+ "ct" : "00f6072699fa26619404b1982c17c40bb810b431b4e31211fa28131b92af526d",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 57,
+ "comment" : "password is a random byte string",
+ "flags" : [
+ "NonUtf8"
+ ],
+ "password" : "466a02b7d8a046f5161b41ecef9cc3b50c",
+ "salt" : "1d87767829bd386ad2038cea7a0b542f",
+ "iterationCount" : 4096,
+ "iv" : "cfb67f9bb8cfb0e05684fcba195f0f19",
+ "msg" : "a9e289e0a985df90dfe23230c414dcb1fa",
+ "ct" : "b9b2f223bf501e6fc2885f3836ad1f34605152a8c7c17d8ad9f7b3c51ea0525c",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 58,
+ "comment" : "password is an ASCII string encoded as BMPString",
+ "flags" : [
+ "Ascii",
+ "BmpString"
+ ],
+ "password" : "002d0000",
+ "salt" : "66a92292e6db2d9e",
+ "iterationCount" : 4096,
+ "iv" : "7911306933f1131299247a85b585bed8",
+ "msg" : "63219964fd79651fe1be8ad5e90f414c",
+ "ct" : "f719fdd864e5c35853a110c8e1f4cdd394dd5825b83af102516be6149fd993b7",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 59,
+ "comment" : "password is an ASCII string encoded as BMPString",
+ "flags" : [
+ "Ascii",
+ "BmpString"
+ ],
+ "password" : "00470000",
+ "salt" : "88abb902385f0efc",
+ "iterationCount" : 4096,
+ "iv" : "109f2c7a8aacc98d0aa176b1b43f2ece",
+ "msg" : "34ce8c499c20714c34506b8e8b87b103d2",
+ "ct" : "ba312527b7ca3e14742cf9463b7c59577fa339564433b6a66230ba1b5f85a572",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 60,
+ "comment" : "password is an ASCII string encoded as BMPString",
+ "flags" : [
+ "Ascii",
+ "BmpString"
+ ],
+ "password" : "004400640042004d0064006d000100790000",
+ "salt" : "675617aaff664428",
+ "iterationCount" : 4096,
+ "iv" : "c08dd25d3aa04749850301e9b8f8eb28",
+ "msg" : "4f5f5d4d0a21d463419db42fdff6ae6c",
+ "ct" : "cd39357d3db9f0d40f9edf7b9ea3611869611f75ab112d47f90f1f1fee690880",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 61,
+ "comment" : "password is an ASCII string encoded as BMPString",
+ "flags" : [
+ "Ascii",
+ "BmpString"
+ ],
+ "password" : "007400760025002a0012005b005c00610000",
+ "salt" : "957a9ab7ad9fc7de",
+ "iterationCount" : 4096,
+ "iv" : "126081b5c830984abd553ec39b080f39",
+ "msg" : "ede5a5ea322b7972a789bb5af48f384218",
+ "ct" : "547d3e54433f9598477a97a4fc892769fbfee4318ede970b28cfa0e21b79caee",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 62,
+ "comment" : "password is an ASCII string encoded as BMPString",
+ "flags" : [
+ "Ascii",
+ "BmpString"
+ ],
+ "password" : "0023000d00510069001d0077002a0009001200010034004d00520070006100290000",
+ "salt" : "deea2dabe885caf6",
+ "iterationCount" : 4096,
+ "iv" : "698a466cec24214100bb3f30a6820bf7",
+ "msg" : "930b94a70883efd733f63f841dfc3d17",
+ "ct" : "dcafa543324725602e7f072d72f924659c4b8bedbc905b0003e10b7cc1e40672",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 63,
+ "comment" : "password is an ASCII string encoded as BMPString",
+ "flags" : [
+ "Ascii",
+ "BmpString"
+ ],
+ "password" : "007300520057005c005600180030003c004b0050007c004f00020020002600390000",
+ "salt" : "6ed69f23acf64114",
+ "iterationCount" : 4096,
+ "iv" : "59efebfe7a6056507dc17778e5c444c5",
+ "msg" : "538705a997333fc2bf4f44f2bb90f3cd26",
+ "ct" : "0be897800bae789830402c2b20e078973c6fc280b9012ceb1c9ff6ae29755e9e",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 64,
+ "comment" : "password is a BMPString",
+ "flags" : [
+ "NonUtf8",
+ "BmpString"
+ ],
+ "password" : "92ae0000",
+ "salt" : "6978583ea9c24c49",
+ "iterationCount" : 4096,
+ "iv" : "0192ad10599677f253e7dea587373553",
+ "msg" : "c06bcb3b5cd9c1317f5eb7ba50882530",
+ "ct" : "d1bede717e5548a34ebc83114264aa982acbba3b8d5d50e85a962af04d517500",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 65,
+ "comment" : "password is a BMPString",
+ "flags" : [
+ "NonUtf8",
+ "BmpString"
+ ],
+ "password" : "38a90000",
+ "salt" : "c217b8c980fe4698",
+ "iterationCount" : 4096,
+ "iv" : "890a0303475f07189a0fe14b4e509217",
+ "msg" : "1ea8b43513275537d021c0f75849c01840",
+ "ct" : "6620b9f55dde3aa95020c3cc177e0ab8d836d5dcbbc5b0897b1198f4a8dc6029",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 66,
+ "comment" : "password is a BMPString",
+ "flags" : [
+ "NonUtf8",
+ "BmpString"
+ ],
+ "password" : "4464c2cde4ed81790000",
+ "salt" : "675617aaff664428",
+ "iterationCount" : 4096,
+ "iv" : "c08dd25d3aa04749850301e9b8f8eb28",
+ "msg" : "4f5f5d4d0a21d463419db42fdff6ae6c",
+ "ct" : "250534be2da11159e48443af3952bd28324e05ff7942fc446666fa141beff0d6",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 67,
+ "comment" : "password is a BMPString",
+ "flags" : [
+ "NonUtf8",
+ "BmpString"
+ ],
+ "password" : "f4f6a52a925b00610000",
+ "salt" : "957a9ab7ad9fc7de",
+ "iterationCount" : 4096,
+ "iv" : "126081b5c830984abd553ec39b080f39",
+ "msg" : "ede5a5ea322b7972a789bb5af48f384218",
+ "ct" : "2f64f382e07288ad6517a571facfc25ba779bca1bfa433d114e2316b09c560a2",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 68,
+ "comment" : "password is a BMPString",
+ "flags" : [
+ "NonUtf8",
+ "BmpString"
+ ],
+ "password" : "a38d51691d77aa891281b44d52f061a90000",
+ "salt" : "deea2dabe885caf6",
+ "iterationCount" : 4096,
+ "iv" : "698a466cec24214100bb3f30a6820bf7",
+ "msg" : "930b94a70883efd733f63f841dfc3d17",
+ "ct" : "77be03e6b2ca102104cf62796e6fab4fe31c024d041964bcb84b3333e6d74a3b",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 69,
+ "comment" : "password is a BMPString",
+ "flags" : [
+ "NonUtf8",
+ "BmpString"
+ ],
+ "password" : "f35257dc5698b0bccbd0fc4f02a026390000",
+ "salt" : "6ed69f23acf64114",
+ "iterationCount" : 4096,
+ "iv" : "59efebfe7a6056507dc17778e5c444c5",
+ "msg" : "538705a997333fc2bf4f44f2bb90f3cd26",
+ "ct" : "fe70312f41570f2a69cbbd550d6f4bf4f1e936ac630f835695c52546edcb1caf",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 70,
+ "comment" : "empty password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "",
+ "salt" : "79d4c53a51c41815",
+ "iterationCount" : 4096,
+ "iv" : "a8e86525fa4f365373045533b33902bd",
+ "msg" : "a62c0d9b5bcb932f65058396367673e8",
+ "ct" : "580cbf1caeb4f3da40d651f9214b3574465b3a6aaa1ae9678eedc561286c24cc",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 71,
+ "comment" : "empty password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "",
+ "salt" : "65f8fa8b52cd47b0",
+ "iterationCount" : 4096,
+ "iv" : "bfb545e71f39df509870139862965526",
+ "msg" : "a3bae2fae05b77c7673d71901268eed173",
+ "ct" : "fd116a20703346124b7ed235fa16e3c5c3f092369b2689618f40d73435208a53",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 72,
+ "comment" : "password is an empty BMPString",
+ "flags" : [
+ "Ascii",
+ "BmpString"
+ ],
+ "password" : "0000",
+ "salt" : "f488f026badc3624",
+ "iterationCount" : 4096,
+ "iv" : "2979c2a734e4cd5da5d9a7e69c3f8b8e",
+ "msg" : "d63088e9bf4e9105bc287f0ab6823af9",
+ "ct" : "1bc035603302b785ab678e01180c7f0c2f0f6287e2b61606fd5ebe0e892e88de",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 73,
+ "comment" : "password is an empty BMPString",
+ "flags" : [
+ "Ascii",
+ "BmpString"
+ ],
+ "password" : "0000",
+ "salt" : "542ada9132800d2c",
+ "iterationCount" : 4096,
+ "iv" : "844635e540de3a85c02f2df9413ff911",
+ "msg" : "08dfdd58aa603d5fc4bdaa9cb24ce82bca",
+ "ct" : "9d548d2f350aa3a91d5b5ba5d03503a7c76d468d9c37c6716839219c89e05b67",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 74,
+ "comment" : "long password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "61473a5f3441403c4a32204575314b24312d402225634c5653603d52756f247e414c3c2a4e2b3b25704140762170713a272526386448434b462a7a2c75395c725f",
+ "salt" : "80f8e7ac4649fd77",
+ "iterationCount" : 4096,
+ "iv" : "43db6bbe8b43b065bf32cd67c023856f",
+ "msg" : "e443a5541e1c0bd038030f78952195e0",
+ "ct" : "cd2e2cb31ef672d97a41bc44b08481320864bf6d1a48b1405f68eb0ffe7fb4ec",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 75,
+ "comment" : "long password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "7b2e6e6c462a24546c402c525a7e566e613a255c48422f364e51217b343a31253546355430315c2b2f352042385421323f5b47232e495329596c307d4f4153566746523b386023615b4c3f3a757131214d46662965645e44284d2268507a2364312d7568224751254a35273e5b69792773644555323039787e4e525647526a7d74",
+ "salt" : "66b3a75c3d1de7a7",
+ "iterationCount" : 4096,
+ "iv" : "4929fb5d6adc043751411a8165325219",
+ "msg" : "fc5d6ee5b19b873fac6f54160be4d52a",
+ "ct" : "b401a4a16007f0e71e6213ad5b963253553a2769fd8dc8f6ae3acb5585131bfc",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 76,
+ "comment" : "long password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "2a4235363559523e265f4c2b48685b374e347c4b384347346a513c2251753927742c427d25732e532b4e202648522b395d5763457a705e4b637a5535216e4e4e3a523a5b5e546d7625614e2f3623557e46454d413032515f2c30214971277b23606242283e4b3445426c2e4d7c40346d47777c4e3f6e572e24664a5e286c34775c2f5e3f2960744f644b2d47532c77447a58405e335b7d3a6b5831507b642f392b3638365c4341425e46655f577e31533f41626b6056393e5d32213b716d455d2637762a4c693e6c4b5449383a504e7c5e2d442030735f7d3a56273c497d773f32427b57692f7d61373d29236f6021624b41787e603d70313e5c68334a2b534653",
+ "salt" : "73e6c34cda6b6309",
+ "iterationCount" : 4096,
+ "iv" : "44f36e53ab4a6391acc5565de7358438",
+ "msg" : "309b773bcd825e66bd3117097f536b0e",
+ "ct" : "ebcfc8b92de43e341ffae1913ca47e8c61075625c47ccfec6857ec9a8b7ea0f1",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 77,
+ "comment" : "special case password",
+ "flags" : [
+ "NonUtf8"
+ ],
+ "password" : "ff",
+ "salt" : "330226023aa6c045",
+ "iterationCount" : 4096,
+ "iv" : "c78e1ec445dbe9742d205432712442bf",
+ "msg" : "4b8243aab5cba8be6853eeaa65e3ebb0",
+ "ct" : "1a0bfeca8f0c5be0b1f772cb159ae837804708d32ec6179c3bf460ea227ace2e",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 78,
+ "comment" : "special case: truncated UTF-8 string",
+ "flags" : [
+ "NonUtf8"
+ ],
+ "password" : "c0",
+ "salt" : "e19e4f175a64d35a",
+ "iterationCount" : 4096,
+ "iv" : "7545745f8d0bfe38f024371e12008a5f",
+ "msg" : "9e21b64aeff5338eb9bc71b19ef8f8e7",
+ "ct" : "d730b1cada62a7b215c24627faa03b5cc95685536d5d432597d8541f336aa740",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 79,
+ "comment" : "special case: invalid UTF-8 bytes",
+ "flags" : [
+ "NonUtf8"
+ ],
+ "password" : "ffffffffffffffff",
+ "salt" : "1eb37da28a65f626",
+ "iterationCount" : 4096,
+ "iv" : "5e9d991fa22878ac5256759c6c9cb53e",
+ "msg" : "319c92804c5560f840cc5bdace9c925d",
+ "ct" : "5a85f85a3e32f430f48a598a70038d8e47f5d4290fa410637413ebdbf0ed5eac",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 80,
+ "comment" : "special case: invalid 2 byte UTF-8 code points",
+ "flags" : [
+ "NonUtf8"
+ ],
+ "password" : "c0c0c0c0c0c0c0c0",
+ "salt" : "2017b5e20a7cdbe0",
+ "iterationCount" : 4096,
+ "iv" : "7e42d185cab712e2982ca6ee4c2c61ec",
+ "msg" : "0f5a93c6771fc66aff78996d77421735",
+ "ct" : "20cc14bdc93c32cd27ae8646193b57cefd37e36426f69591247cc1064671459a",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 81,
+ "comment" : "special case: invalid 3 byte UTF-8 code points",
+ "flags" : [
+ "NonUtf8"
+ ],
+ "password" : "eeeeeeeeeeeeeeee",
+ "salt" : "84301f0aebda104f",
+ "iterationCount" : 4096,
+ "iv" : "4ba655c171677a0dfbc5f6312387c15d",
+ "msg" : "86caabd40a5c738720de173597ea72f6",
+ "ct" : "e7c2812c4f515be038d2f1a1105089352715585bb5ad40960e866eaf29f631e6",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 82,
+ "comment" : "special case: invalid UTF-8 code points",
+ "flags" : [
+ "NonUtf8"
+ ],
+ "password" : "f0f0f0f0f0f0f0f0",
+ "salt" : "64baccfdd4e4b41b",
+ "iterationCount" : 4096,
+ "iv" : "d6b443472d2cf853c0c05f5327faced7",
+ "msg" : "4e0ee09328663637f21410fb8ad057a1",
+ "ct" : "32c6c4591c091c4fcdb0e071de0a3c90d1b0a13b6a24bc3903968e0ddf89f9d2",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 83,
+ "comment" : "special case for UTF-16",
+ "flags" : [
+ "NonUtf8"
+ ],
+ "password" : "dbdbdbdbdbdbdbdb",
+ "salt" : "ba21795fffb901bc",
+ "iterationCount" : 4096,
+ "iv" : "753675f249b8c153997a797116495204",
+ "msg" : "706c565ba28370ff433460cc9f8d845a",
+ "ct" : "ce0455e816767e80106349edb668db107974f81b0231171a45676489eecd3b93",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 84,
+ "comment" : "special case: long all zero password",
+ "flags" : [
+ "Ascii"
+ ],
+ "password" : "0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
+ "salt" : "22871ffd379d9951",
+ "iterationCount" : 4096,
+ "iv" : "2e949af1052a230e7560d9ae1ce75042",
+ "msg" : "16d1b65deb2d67fc3242792a19d5c227",
+ "ct" : "8d3399fbf8fee1f0357e0aac4af0aaa1794c86872733560a674ee58d63dbac22",
+ "result" : "valid"
+ }
+ ]
+ }
+ ]
+}
diff --git a/testvectors_v1/pbes2_hmacsha224_aes_192_test.json b/testvectors_v1/pbes2_hmacsha224_aes_192_test.json
new file mode 100644
index 0000000..212515d
--- /dev/null
+++ b/testvectors_v1/pbes2_hmacsha224_aes_192_test.json
@@ -0,0 +1,1228 @@
+{
+ "algorithm" : "PbeWithHmacSha224AndAes_192",
+ "schema" : "pbe_test_schema.json",
+ "generatorVersion" : "0.9",
+ "numberOfTests" : 84,
+ "header" : [
+ "Test vector of type PbeTest are used for PBES1 or PBES2."
+ ],
+ "notes" : {
+ "Ascii" : {
+ "bugType" : "FUNCTIONALITY",
+ "description" : "The test vector contains a password consisting of ASCII characters."
+ },
+ "BmpString" : {
+ "bugType" : "FUNCTIONALITY",
+ "description" : "The test vectors contains a password that is a valid BMPString as used in RFC 7292. This RFC uses big endian encoding and a null terminator."
+ },
+ "NonUtf8" : {
+ "bugType" : "FUNCTIONALITY",
+ "description" : "The test vector contains a password that is not a valid UTF-8 string."
+ },
+ "Printable" : {
+ "bugType" : "FUNCTIONALITY",
+ "description" : "The test vector contains a password consisting of printable ASCII characters."
+ },
+ "Utf8" : {
+ "bugType" : "FUNCTIONALITY",
+ "description" : "The test vector contains a password that is a valid UTF-8 string."
+ }
+ },
+ "testGroups" : [
+ {
+ "type" : "PbeTest",
+ "tests" : [
+ {
+ "tcId" : 1,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "7743656734722c30",
+ "salt" : "fcd9a324f025ef40",
+ "iterationCount" : 4096,
+ "iv" : "42f02ff71b8524d1678ab2e34f9e7d47",
+ "msg" : "",
+ "ct" : "1d01971cbf8e8e9cd1e3b1054f5cb645",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 2,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "64395f4b48295839",
+ "salt" : "bfb221ba6de64926",
+ "iterationCount" : 4096,
+ "iv" : "7a735848780923657c0c54bc2ff0d9f8",
+ "msg" : "a3",
+ "ct" : "0d3cf1219c02b1f5e7eeddfcd7d28976",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 3,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "3a787e4c2c604d70",
+ "salt" : "dc64f1fd4705b4e5",
+ "iterationCount" : 4096,
+ "iv" : "579ff2437d6739742421b6e4e70d5c27",
+ "msg" : "4204",
+ "ct" : "fd61315598f79235597452340ebe3e7a",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 4,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "2a67656a66296120",
+ "salt" : "4c379a2bd962d19a",
+ "iterationCount" : 4096,
+ "iv" : "5bff9a5e8692229679cbd70fcfdebb74",
+ "msg" : "ceb541",
+ "ct" : "2be2809c9fab5022e474db62516492f2",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 5,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "3b55267d5f4b2d4c",
+ "salt" : "08e041282eed4f00",
+ "iterationCount" : 4096,
+ "iv" : "17c5e988149370694c1b3b8cb0e44225",
+ "msg" : "10d032a7",
+ "ct" : "64898f0510deaaad81f9cd608fc4637c",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 6,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "4f317e2e525e517a",
+ "salt" : "bd5c4b6f25a1f6ff",
+ "iterationCount" : 4096,
+ "iv" : "76e5e3eb771a4daec6fabdc0b0793195",
+ "msg" : "29d9f1a701",
+ "ct" : "18c5e2b0d0f0b63b4b58c3f5468f25e4",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 7,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "6557766473282375",
+ "salt" : "ea1efbb1c86b0c06",
+ "iterationCount" : 4096,
+ "iv" : "1f186ad98435e90fd7700695c986ef78",
+ "msg" : "6f124d8a8248",
+ "ct" : "2826f72033b7a620a7ca3c811a940b97",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 8,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "543a5f48765a2542",
+ "salt" : "f308bbcca74a2224",
+ "iterationCount" : 4096,
+ "iv" : "26bbbf2e18f06a4524e13bfd1ac00b37",
+ "msg" : "a1163153287dfe",
+ "ct" : "cb1c367e0a479adb46b3ed71b2851592",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 9,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "695a3c642f457a52",
+ "salt" : "7af3b0005c594502",
+ "iterationCount" : 4096,
+ "iv" : "6d9e8ea3d6ed355bf5e65b12995dbf6a",
+ "msg" : "9b29df8b3b9862f4",
+ "ct" : "1bce6c433c8a2b7bcaf45af404e061ca",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 10,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "2a772a233f216e60",
+ "salt" : "172d5f4595c220dd",
+ "iterationCount" : 4096,
+ "iv" : "a5941967d4f6934431bd9951e20a93a6",
+ "msg" : "fe51cf84289221b894",
+ "ct" : "3b28e35c02bc179c691d48852f090680",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 11,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "793c43623652216f",
+ "salt" : "d1d722eee2c5ebef",
+ "iterationCount" : 4096,
+ "iv" : "5cfe832947ec659f6847277ec1fab2f9",
+ "msg" : "696eb8b4e6b2015abb91",
+ "ct" : "0e2a0c4b2275bfe2f34972fd06e02ada",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 12,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "4854515c222a2230",
+ "salt" : "843f5ff28978f214",
+ "iterationCount" : 4096,
+ "iv" : "430b247a435124754c83cc11203f18bd",
+ "msg" : "d8405be7823b472459a2fc",
+ "ct" : "56c875d3473ec3e62ea52449c3c98d83",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 13,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "48682a4d34266b40",
+ "salt" : "783f344a1fa7c9a8",
+ "iterationCount" : 4096,
+ "iv" : "c707947121e5fc2da16990a78772e0ab",
+ "msg" : "56c73b781c1bff72a8ae7faf",
+ "ct" : "4a520f65dcdbf48c9cddd298d2327cc3",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 14,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "293a746531294d5c",
+ "salt" : "2c75641f991eb10b",
+ "iterationCount" : 4096,
+ "iv" : "96dabd858e4187d0e50f8299ab60f029",
+ "msg" : "b07e8bbb45e9a17c124f6d5129",
+ "ct" : "aa1e32d9b31c8c108e387a2b918302c7",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 15,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "353377343f482b65",
+ "salt" : "cf1620e7aabb73b7",
+ "iterationCount" : 4096,
+ "iv" : "8e6dd70b1dd1c39d0b8b593c556d812b",
+ "msg" : "ff89eb184de11579cae7d110a350",
+ "ct" : "e7ef23d39634d27db7a3125bf42a2b28",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 16,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "614e2d4634335721",
+ "salt" : "6dffc1db31767608",
+ "iterationCount" : 4096,
+ "iv" : "78c899bcdc4cf7d933ddc9016bc6e64e",
+ "msg" : "5e859aac690c85646ffb3f2bbb0d9c",
+ "ct" : "9fef0ab3a4cb74bd226f4504b66bdc25",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 17,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "6f5330325e22574e",
+ "salt" : "798acc7c76739d75",
+ "iterationCount" : 4096,
+ "iv" : "5bfcfd6d7013eb8828f72455d7535c77",
+ "msg" : "86059dc647ba7d0067099e16c3da8bb6",
+ "ct" : "d522ba2c53ecfb1940564f62d383c56549333c121304e69bef6da2546daee803",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 18,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "3972245623494f42",
+ "salt" : "da5421f23ac5b5e1",
+ "iterationCount" : 4096,
+ "iv" : "12293114ddb85319240682c1765e4533",
+ "msg" : "fc9349cbd8c277786c888f3254342431a8",
+ "ct" : "6fc2fc107d02bcdcef0b4f5cfd2d69fc3819fda82fbc00aea5d1bb513383f2e1",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 19,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "464d2f76752b4d63",
+ "salt" : "8cfea3c6783cfc41",
+ "iterationCount" : 4096,
+ "iv" : "9c84fe91476ab1c6ed30db9bb7f60280",
+ "msg" : "ad10a3cdef856b0632f7ce200c11f6c569d2",
+ "ct" : "29251ceb81109885779a7c5ac7be8dff4863c00436029f294989b0cee8ae3ab0",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 20,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "7951437c2b6f7079",
+ "salt" : "caada2e55c49492f",
+ "iterationCount" : 4096,
+ "iv" : "3a0185b1423310796b052e9128334b04",
+ "msg" : "be82c331a83dd0c472abc6ae8725d2ba48b3ad",
+ "ct" : "5e134a1151f91cdfc3446c183470d96cb717ec76a5a421b38a8fa00e0dca16c8",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 21,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "525c2424652a603d",
+ "salt" : "26ea52da49513b47",
+ "iterationCount" : 4096,
+ "iv" : "b9c70ea8599e136a64b2a6733e8ceb40",
+ "msg" : "d964c8b7fac0906c25654186f8d8e74b62dac5ac",
+ "ct" : "ae4e9a8019436abd04c50dad18d9ca23cfb29fdcc46ade7f75ddf816d82c6d5a",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 22,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "6e446161627e6a3d",
+ "salt" : "64c6e216305ac8e5",
+ "iterationCount" : 4096,
+ "iv" : "2e089b050bfcbb214a3904344b25a28d",
+ "msg" : "00bba99a3d64657e16b70ee50c091488661c0af597",
+ "ct" : "c27df03f305fae7edb08230b86fa97c4e37ffcb120b9851a760fe505f8cb94dc",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 23,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "5b413d39776e3323",
+ "salt" : "33017b20ba4a7af2",
+ "iterationCount" : 4096,
+ "iv" : "6fcf1307b562738a387c75885a7d6bf9",
+ "msg" : "1f6c99446d139e9ea5d46af1667b733eb8748e5e0e18",
+ "ct" : "4f28a6e421d01051df82ef77524c631b597c16efb17e8181f9b7e52543747985",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 24,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "414838254a683628",
+ "salt" : "127e43a6c714f168",
+ "iterationCount" : 4096,
+ "iv" : "21bb5b1c774409d06067597153422573",
+ "msg" : "773f5e2ebe6ce60683cac6a9e2f0c9663556923582bdec",
+ "ct" : "551052aa975b0fd02c80b67fac20b4df89223e1d764d2e3776d197d3c37ac9a7",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 25,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "3c202b435634305d",
+ "salt" : "45f38c6678268b8e",
+ "iterationCount" : 4096,
+ "iv" : "348b3cca3ece503b42b20b2ae690c4eb",
+ "msg" : "8ab193d18b1dec59400822dd0cea7239b3743327488e3d2d",
+ "ct" : "ee01910d13f8cc974f0825ad1657bb542dd33dafeccc14e98fc8bb9a273a9269",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 26,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "6e43225f5832705b",
+ "salt" : "5911a7a49800e204",
+ "iterationCount" : 4096,
+ "iv" : "58b4f658efcf961c4715b0af0b0913b7",
+ "msg" : "b336756c278ab89c0539047824350469b05918446a672b4215",
+ "ct" : "f063f8c6956c63730fbd6863eda12c41af23eab9ea09117e77efe7ac475cb59e",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 27,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "3f26723264514541",
+ "salt" : "18a9d3dfa74d4024",
+ "iterationCount" : 4096,
+ "iv" : "497fe0d1a8c09aca8d98a11db8621077",
+ "msg" : "6cd40dc20c7103a39b83da1f8c67855b0ffd77c250e1447414a9",
+ "ct" : "a4ba128c31d4e6c7d632cbd841d2b51f1f14333a25ca9b486ff7fd095c401bd1",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 28,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "536d4a3b42714035",
+ "salt" : "9025629f385862f5",
+ "iterationCount" : 4096,
+ "iv" : "575fd9464cc1a36fcd23d7fc4ed304de",
+ "msg" : "40a37fae54940616cd6bb6cefb8f4521895fe9b7593492c2709003",
+ "ct" : "1b1575f96e5d26274e4a8bdb8e6b10acb21c7d21f56cb2811df324a68e9a1ac4",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 29,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "283d692b21263f41",
+ "salt" : "4f9ca92d54e165d1",
+ "iterationCount" : 4096,
+ "iv" : "402239571eaf6f7162fd4fe620d55948",
+ "msg" : "d47c8c9ec28820d760abfe731e9e9818d34abad20da255cff68fd374",
+ "ct" : "83625dec6e8c61e7e0482dfbbe56ec9720b89d828c7e5d7814f61fe2bb1d9ffd",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 30,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "3658665b3a546f47",
+ "salt" : "5ae48edef6811519",
+ "iterationCount" : 4096,
+ "iv" : "2425c2af851d56445c8e11b4529e3287",
+ "msg" : "5892825348e6160fd4f95f0a619a5a41604ee4b21ace4c9f61adf31ebc",
+ "ct" : "5508a1a8d00f0216d118034eac13416f5f23c3bc040f5cf058293abc10093980",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 31,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "257d78712275712a",
+ "salt" : "e2a7c16a6fe6a1fc",
+ "iterationCount" : 4096,
+ "iv" : "9dc7a4ff8a5a9d04d1b88c14028092c5",
+ "msg" : "596c0a1b3f9c251c98b15fb077da34c72e415ab9f4f01ac865421a7b89be",
+ "ct" : "7ca96e06fe8d5e29d13f297eda8f4752f63773e342baa47094052d1e300f6111",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 32,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "2b75433d3a69566c",
+ "salt" : "a6d0b6f795cbe6a8",
+ "iterationCount" : 4096,
+ "iv" : "5804285758b9e6450148872a11dcc421",
+ "msg" : "18e18b3cb96d6d9ff0730b2ff70ac2be9577a75555554f6c446ed30850c167",
+ "ct" : "cecd40f8780d929aed9a0e070a12843db77a1e65a40df2ce8a6cda87a2d21218",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 33,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "252b6452647b4520",
+ "salt" : "e817780ed7997728",
+ "iterationCount" : 4096,
+ "iv" : "ff2512297f3fd5aa2b859432b9f53006",
+ "msg" : "8e9b1f95807a3c1bc95027ca72d2ae717b7e9dceac7437fc32a1aad2343ce69e",
+ "ct" : "f181d633017a8e7e3a87742bc35f804312d4c7650aad5d9f78c74f84df1bfa1b00b86b41be0b370b0fa4714692450689",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 34,
+ "comment" : "password contains only ASCII characters",
+ "flags" : [
+ "Ascii"
+ ],
+ "password" : "4b2d6c600e66535c7f3d6d6c",
+ "salt" : "7a4c02db8bd8fcc2",
+ "iterationCount" : 4096,
+ "iv" : "d62747fca1a7dfbee90597b3f57fffa2",
+ "msg" : "52dd188a4585bbaa85ced8d529d880b3",
+ "ct" : "3f752b74fb4d63a84cb2670ba4c68537e141a2cfef639b2365153d51c208a1d3",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 35,
+ "comment" : "password contains only ASCII characters",
+ "flags" : [
+ "Ascii"
+ ],
+ "password" : "706614257f522b6315345f7c",
+ "salt" : "94ef44b92e15fa35",
+ "iterationCount" : 4096,
+ "iv" : "c489480ee8a00898f3151317c2c614b9",
+ "msg" : "9cb42f3f2992357a7beeedfa37653f4d41",
+ "ct" : "012caf12e4af0d09c4d4150ed4617cdce50e16ef0a92c0b9007e9429d50cee24",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 36,
+ "comment" : "password contains only ASCII characters",
+ "flags" : [
+ "Ascii"
+ ],
+ "password" : "1f4b7b354903545f2b07720b",
+ "salt" : "62f91ea01f3a18aa2f122bd15c4a615b",
+ "iterationCount" : 4096,
+ "iv" : "05d867eae06fbfd2efda349bc3dcd473",
+ "msg" : "64f33addb1e1671f867e96a3e8339ecd",
+ "ct" : "f6f370d370e3ab80f1b2ada3d2af3acabb4628f04d2401e3f9ee63287b7844af",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 37,
+ "comment" : "password contains only ASCII characters",
+ "flags" : [
+ "Ascii"
+ ],
+ "password" : "1e2e16140e4a4d19251b6f5f",
+ "salt" : "bdf156b4d87a5e07cd9481b3d136887c",
+ "iterationCount" : 4096,
+ "iv" : "b64e4b7176cfafe46235e8b32b2508e6",
+ "msg" : "9b31b854ff09e4cdd28b817fb2f2cdb6c9",
+ "ct" : "d426409f7183ba86d9ac8db0e590740ca26953e62df9629832ec6780332ee9e1",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 38,
+ "comment" : "password contains only ASCII characters",
+ "flags" : [
+ "Ascii"
+ ],
+ "password" : "15296b0933473119180f3c0645202d5221633803",
+ "salt" : "d7412e4137fc4410",
+ "iterationCount" : 4096,
+ "iv" : "d227c8c98a652788944977f9bc73a20d",
+ "msg" : "86159d5e3b903a51a833ce561f39ae0a",
+ "ct" : "ff2d121167bb35411925587b5bab71d00bbafdb148f96eadac0e1ad8574910ca",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 39,
+ "comment" : "password contains only ASCII characters",
+ "flags" : [
+ "Ascii"
+ ],
+ "password" : "00017e1e176769476d2433302f3506590e632a0c",
+ "salt" : "28c1759d783256fd",
+ "iterationCount" : 4096,
+ "iv" : "cf23a38fef611880acf9107ffa9e29a8",
+ "msg" : "79532d85a40aa575377172611dd4f0047c",
+ "ct" : "3c981867e0f353c657cb13273c915f73e5a0448250cb392260aa6401a54a0494",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 40,
+ "comment" : "password contains only ASCII characters",
+ "flags" : [
+ "Ascii"
+ ],
+ "password" : "7a106c2773542c791d2f0a02632b69644f666278",
+ "salt" : "a36350db68186d747254bd9835219487",
+ "iterationCount" : 4096,
+ "iv" : "568af67455f416a63d3ced652c32a74d",
+ "msg" : "96687d00d01854bbc2151ed4fdec8732",
+ "ct" : "2ebf532dbd436186d44cb2af1de95b40ca39545f0d8a0f8082a87f277cc94b93",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 41,
+ "comment" : "password contains only ASCII characters",
+ "flags" : [
+ "Ascii"
+ ],
+ "password" : "350e2f050d444c09374977205a6b063736373067",
+ "salt" : "3cadfed36847faa4af545c426b7bcbc5",
+ "iterationCount" : 4096,
+ "iv" : "1ee0658f81c645721618de5849c3baf1",
+ "msg" : "89e4167cba0f8ca3a4b1640b023612d963",
+ "ct" : "cb2b82d68ca0a05b0c1ad3fda1046c23718b0a44e41de1cb83b96980f0312471",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 42,
+ "comment" : "password is a valid UTF-8 encoding",
+ "flags" : [
+ "Utf8"
+ ],
+ "password" : "d0a3d1bed38acc83",
+ "salt" : "8dfae85c9f2072ae",
+ "iterationCount" : 4096,
+ "iv" : "13a77b4b2eb10b260ac889b432d7af1c",
+ "msg" : "41a21ec6f04859724a1dfcdcf85e6c3a",
+ "ct" : "c36fd28428d6822f93211bbe2d0877423ca09812152d899faa291d6d45b96b83",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 43,
+ "comment" : "password is a valid UTF-8 encoding",
+ "flags" : [
+ "Utf8"
+ ],
+ "password" : "d4b8cbbcc49bd9b6",
+ "salt" : "657a212f745924eb",
+ "iterationCount" : 4096,
+ "iv" : "6529f3dc9f0197e2f5c6e889b1b6097f",
+ "msg" : "231765341c414e93ec399b804a79a65dfc",
+ "ct" : "73660ed3ae2ab8de11bacc73a68ebf4ff1a93896c2410a2188fbf9e3dd016d53",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 44,
+ "comment" : "password is a valid UTF-8 encoding",
+ "flags" : [
+ "Utf8"
+ ],
+ "password" : "c299d292cd92dcb8",
+ "salt" : "99c55e182238c8e0c385447685e9ba85",
+ "iterationCount" : 4096,
+ "iv" : "34d4cc26cd871885c8e781d6e8b9ec67",
+ "msg" : "4bf1f98da6113ca66cc18283aedb4cc5",
+ "ct" : "e79e884b462bdc77da361ff0bd5d6e53d5c990c09ea0a27c6591b95e1ebc7e04",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 45,
+ "comment" : "password is a valid UTF-8 encoding",
+ "flags" : [
+ "Utf8"
+ ],
+ "password" : "da9dd3acdca2df8a",
+ "salt" : "b5413f52391a2ff0fb19563c0b40a445",
+ "iterationCount" : 4096,
+ "iv" : "b4d3b1dbbc034d407ce552e6bc63fee1",
+ "msg" : "e2e81593f6591df708582f4cce0b1c6d78",
+ "ct" : "d64c8e75603c604554c22b659cff452d3e1995589395e5f3289c1f98f8a120b9",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 46,
+ "comment" : "password is a valid UTF-8 encoding",
+ "flags" : [
+ "Utf8"
+ ],
+ "password" : "cfbec3b9d7acc7a9d585d1a5c28fcca119",
+ "salt" : "e9c55717a1259a29",
+ "iterationCount" : 4096,
+ "iv" : "cd718713a05183c1aa4bc4c01794b382",
+ "msg" : "1f4425a96b272fc27bcbfda0bb7e0dd8",
+ "ct" : "35a00f89bd6645981176c5ecec85dd0ff36c3fc99518ebec4625eeb308dc2cb4",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 47,
+ "comment" : "password is a valid UTF-8 encoding",
+ "flags" : [
+ "Utf8"
+ ],
+ "password" : "d492c59061cd9dd9b8c28fd39fcd9e24",
+ "salt" : "09deec77ec44eb6e",
+ "iterationCount" : 4096,
+ "iv" : "0f958378c10c245540b9ce61d7781fd8",
+ "msg" : "ae209895c5cb179e54649749cdb245b9ce",
+ "ct" : "ffefd168f071e139f8de42d5e8216aaa31a45694bd2c5c1d241359e32330adaa",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 48,
+ "comment" : "password is a valid UTF-8 encoding",
+ "flags" : [
+ "Utf8"
+ ],
+ "password" : "da9dd096cb93db88dbbed495ceaacf853c",
+ "salt" : "200bba668b2010b1968b82091848937c",
+ "iterationCount" : 4096,
+ "iv" : "39d3e787c076007b3c173b75597b08c5",
+ "msg" : "0b4e337297c6cdd5c51f8ee7e633ef8f",
+ "ct" : "57246e3ba9c706e9a8123f8ee8588205865f166df84fffcf6aa4506203e0c0fe",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 49,
+ "comment" : "password is a valid UTF-8 encoding",
+ "flags" : [
+ "Utf8"
+ ],
+ "password" : "d9aacab7c2a0dbb5d89bc7acde9cceb50c",
+ "salt" : "1d87767829bd386ad2038cea7a0b542f",
+ "iterationCount" : 4096,
+ "iv" : "cfb67f9bb8cfb0e05684fcba195f0f19",
+ "msg" : "a9e289e0a985df90dfe23230c414dcb1fa",
+ "ct" : "3898bc4d1718f234d2106855d801a5a119d2dc1d6ca2882b5193b7998d3d7704",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 50,
+ "comment" : "password is a random byte string",
+ "flags" : [
+ "NonUtf8"
+ ],
+ "password" : "8423ec7ea4ca4b03",
+ "salt" : "8dfae85c9f2072ae",
+ "iterationCount" : 4096,
+ "iv" : "13a77b4b2eb10b260ac889b432d7af1c",
+ "msg" : "41a21ec6f04859724a1dfcdcf85e6c3a",
+ "ct" : "21a6a00adccdaf1dc713efa9739a0acff98ac7d5ea8041344c9ec2d1828c295a",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 51,
+ "comment" : "password is a random byte string",
+ "flags" : [
+ "NonUtf8"
+ ],
+ "password" : "7538a2fc091b6e76",
+ "salt" : "657a212f745924eb",
+ "iterationCount" : 4096,
+ "iv" : "6529f3dc9f0197e2f5c6e889b1b6097f",
+ "msg" : "231765341c414e93ec399b804a79a65dfc",
+ "ct" : "8a9649cf231896f153bec6301f2074cb84f8cfe40deb6fb004e8d574f9b2aa4c",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 52,
+ "comment" : "password is a random byte string",
+ "flags" : [
+ "NonUtf8"
+ ],
+ "password" : "48997492c3528738",
+ "salt" : "99c55e182238c8e0c385447685e9ba85",
+ "iterationCount" : 4096,
+ "iv" : "34d4cc26cd871885c8e781d6e8b9ec67",
+ "msg" : "4bf1f98da6113ca66cc18283aedb4cc5",
+ "ct" : "cd5f150adc4b32a8ae7de81d6fccec17c3294f87ff48ce782adea70a31b5e9ed",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 53,
+ "comment" : "password is a random byte string",
+ "flags" : [
+ "NonUtf8"
+ ],
+ "password" : "c69d34ec7722ffca",
+ "salt" : "b5413f52391a2ff0fb19563c0b40a445",
+ "iterationCount" : 4096,
+ "iv" : "b4d3b1dbbc034d407ce552e6bc63fee1",
+ "msg" : "e2e81593f6591df708582f4cce0b1c6d78",
+ "ct" : "8af9ba87640a810eae1ddbffe342bd9c9e9dd760c3e4e41162f247f14ba1f455",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 54,
+ "comment" : "password is a random byte string",
+ "flags" : [
+ "NonUtf8"
+ ],
+ "password" : "e3feb0f96dec61e9dd451465f88f132119",
+ "salt" : "e9c55717a1259a29",
+ "iterationCount" : 4096,
+ "iv" : "cd718713a05183c1aa4bc4c01794b382",
+ "msg" : "1f4425a96b272fc27bcbfda0bb7e0dd8",
+ "ct" : "dd07e73ccd651b3115e4921a7e2015504676ed7a64b326be335f614b5be06ef2",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 55,
+ "comment" : "password is a random byte string",
+ "flags" : [
+ "NonUtf8"
+ ],
+ "password" : "ed12a9502061d35d9678188f1cdf135e24",
+ "salt" : "09deec77ec44eb6e",
+ "iterationCount" : 4096,
+ "iv" : "0f958378c10c245540b9ce61d7781fd8",
+ "msg" : "ae209895c5cb179e54649749cdb245b9ce",
+ "ct" : "7313f63898df9154f3b04f17bef48f1f861cc1baf59c8f2e6c3da46540abf25a",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 56,
+ "comment" : "password is a random byte string",
+ "flags" : [
+ "NonUtf8"
+ ],
+ "password" : "9e9d7c166ad3bec856fe5d15d3aacbc53c",
+ "salt" : "200bba668b2010b1968b82091848937c",
+ "iterationCount" : 4096,
+ "iv" : "39d3e787c076007b3c173b75597b08c5",
+ "msg" : "0b4e337297c6cdd5c51f8ee7e633ef8f",
+ "ct" : "3044dc49c21e0fe01807229ebbc8dad7e047ecbb115a103a5336f3728e52b8a6",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 57,
+ "comment" : "password is a random byte string",
+ "flags" : [
+ "NonUtf8"
+ ],
+ "password" : "466a02b7d8a046f5161b41ecef9cc3b50c",
+ "salt" : "1d87767829bd386ad2038cea7a0b542f",
+ "iterationCount" : 4096,
+ "iv" : "cfb67f9bb8cfb0e05684fcba195f0f19",
+ "msg" : "a9e289e0a985df90dfe23230c414dcb1fa",
+ "ct" : "825913d87c72346d43fad47ccc3ef6c54a5d350c7b6f337757e1c68ce6aa786f",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 58,
+ "comment" : "password is an ASCII string encoded as BMPString",
+ "flags" : [
+ "Ascii",
+ "BmpString"
+ ],
+ "password" : "002d0000",
+ "salt" : "66a92292e6db2d9e",
+ "iterationCount" : 4096,
+ "iv" : "7911306933f1131299247a85b585bed8",
+ "msg" : "63219964fd79651fe1be8ad5e90f414c",
+ "ct" : "17d9839119889a4a92e60b97dbbe9a5801340027f1f66ef8d54601017b587316",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 59,
+ "comment" : "password is an ASCII string encoded as BMPString",
+ "flags" : [
+ "Ascii",
+ "BmpString"
+ ],
+ "password" : "00470000",
+ "salt" : "88abb902385f0efc",
+ "iterationCount" : 4096,
+ "iv" : "109f2c7a8aacc98d0aa176b1b43f2ece",
+ "msg" : "34ce8c499c20714c34506b8e8b87b103d2",
+ "ct" : "76ce033eb259862ba27cb3e89b0c3e69021bb62bf311108f1a3fc5e25ee3bb3d",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 60,
+ "comment" : "password is an ASCII string encoded as BMPString",
+ "flags" : [
+ "Ascii",
+ "BmpString"
+ ],
+ "password" : "004400640042004d0064006d000100790000",
+ "salt" : "675617aaff664428",
+ "iterationCount" : 4096,
+ "iv" : "c08dd25d3aa04749850301e9b8f8eb28",
+ "msg" : "4f5f5d4d0a21d463419db42fdff6ae6c",
+ "ct" : "3a1d0c45c8dfbf2f2a17b73031b425f6ddc353c0656620b66695643a2c56426e",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 61,
+ "comment" : "password is an ASCII string encoded as BMPString",
+ "flags" : [
+ "Ascii",
+ "BmpString"
+ ],
+ "password" : "007400760025002a0012005b005c00610000",
+ "salt" : "957a9ab7ad9fc7de",
+ "iterationCount" : 4096,
+ "iv" : "126081b5c830984abd553ec39b080f39",
+ "msg" : "ede5a5ea322b7972a789bb5af48f384218",
+ "ct" : "3ab9e4e6684f07806e6c92359c46236911dd70abeb6b067bc22c10b3a57b8105",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 62,
+ "comment" : "password is an ASCII string encoded as BMPString",
+ "flags" : [
+ "Ascii",
+ "BmpString"
+ ],
+ "password" : "0023000d00510069001d0077002a0009001200010034004d00520070006100290000",
+ "salt" : "deea2dabe885caf6",
+ "iterationCount" : 4096,
+ "iv" : "698a466cec24214100bb3f30a6820bf7",
+ "msg" : "930b94a70883efd733f63f841dfc3d17",
+ "ct" : "1534d8c7bccac4f9155abd2cf22b42190bce696aba16ed717375c685ec963c3c",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 63,
+ "comment" : "password is an ASCII string encoded as BMPString",
+ "flags" : [
+ "Ascii",
+ "BmpString"
+ ],
+ "password" : "007300520057005c005600180030003c004b0050007c004f00020020002600390000",
+ "salt" : "6ed69f23acf64114",
+ "iterationCount" : 4096,
+ "iv" : "59efebfe7a6056507dc17778e5c444c5",
+ "msg" : "538705a997333fc2bf4f44f2bb90f3cd26",
+ "ct" : "512e3c7a54a5942968d80a710f1156dee004eeb5a5a6df0e11df7a76ec6e1059",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 64,
+ "comment" : "password is a BMPString",
+ "flags" : [
+ "NonUtf8",
+ "BmpString"
+ ],
+ "password" : "92ae0000",
+ "salt" : "6978583ea9c24c49",
+ "iterationCount" : 4096,
+ "iv" : "0192ad10599677f253e7dea587373553",
+ "msg" : "c06bcb3b5cd9c1317f5eb7ba50882530",
+ "ct" : "38eb996ca2bc6305b09981d128230f13fd4a4b09ab8bbb235981df52fde532a5",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 65,
+ "comment" : "password is a BMPString",
+ "flags" : [
+ "NonUtf8",
+ "BmpString"
+ ],
+ "password" : "38a90000",
+ "salt" : "c217b8c980fe4698",
+ "iterationCount" : 4096,
+ "iv" : "890a0303475f07189a0fe14b4e509217",
+ "msg" : "1ea8b43513275537d021c0f75849c01840",
+ "ct" : "3f1abbe35b43975a6850c1a65e7b752a8c13c6767ed06b00593c97e32bb8d831",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 66,
+ "comment" : "password is a BMPString",
+ "flags" : [
+ "NonUtf8",
+ "BmpString"
+ ],
+ "password" : "4464c2cde4ed81790000",
+ "salt" : "675617aaff664428",
+ "iterationCount" : 4096,
+ "iv" : "c08dd25d3aa04749850301e9b8f8eb28",
+ "msg" : "4f5f5d4d0a21d463419db42fdff6ae6c",
+ "ct" : "dcc56e511fec76e62942a14c5199e0570cd6ccc7c9452b442e89b2d5505b07bf",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 67,
+ "comment" : "password is a BMPString",
+ "flags" : [
+ "NonUtf8",
+ "BmpString"
+ ],
+ "password" : "f4f6a52a925b00610000",
+ "salt" : "957a9ab7ad9fc7de",
+ "iterationCount" : 4096,
+ "iv" : "126081b5c830984abd553ec39b080f39",
+ "msg" : "ede5a5ea322b7972a789bb5af48f384218",
+ "ct" : "340ca00e8c82ba7239b34b4753efba0e5a34d99eff19b6fb68b55c6cdf5eab31",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 68,
+ "comment" : "password is a BMPString",
+ "flags" : [
+ "NonUtf8",
+ "BmpString"
+ ],
+ "password" : "a38d51691d77aa891281b44d52f061a90000",
+ "salt" : "deea2dabe885caf6",
+ "iterationCount" : 4096,
+ "iv" : "698a466cec24214100bb3f30a6820bf7",
+ "msg" : "930b94a70883efd733f63f841dfc3d17",
+ "ct" : "8a6741b7f9b2ef2a5a974cac9de46bbf954a00e71b67f0532c7c911f3a3751ed",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 69,
+ "comment" : "password is a BMPString",
+ "flags" : [
+ "NonUtf8",
+ "BmpString"
+ ],
+ "password" : "f35257dc5698b0bccbd0fc4f02a026390000",
+ "salt" : "6ed69f23acf64114",
+ "iterationCount" : 4096,
+ "iv" : "59efebfe7a6056507dc17778e5c444c5",
+ "msg" : "538705a997333fc2bf4f44f2bb90f3cd26",
+ "ct" : "e6aa48348551caf7a547dafa0a261a84af57dd42f98765c5420da233b51384f9",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 70,
+ "comment" : "empty password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "",
+ "salt" : "79d4c53a51c41815",
+ "iterationCount" : 4096,
+ "iv" : "a8e86525fa4f365373045533b33902bd",
+ "msg" : "a62c0d9b5bcb932f65058396367673e8",
+ "ct" : "9d123ab5125d2bcaebb876f9670ec017f84001e6e538895f1c0f5351a1f8028a",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 71,
+ "comment" : "empty password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "",
+ "salt" : "65f8fa8b52cd47b0",
+ "iterationCount" : 4096,
+ "iv" : "bfb545e71f39df509870139862965526",
+ "msg" : "a3bae2fae05b77c7673d71901268eed173",
+ "ct" : "eb7d3762ea74cb3375ff153baa2272846b76672c03cae7925e8862a0a044c32b",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 72,
+ "comment" : "password is an empty BMPString",
+ "flags" : [
+ "Ascii",
+ "BmpString"
+ ],
+ "password" : "0000",
+ "salt" : "f488f026badc3624",
+ "iterationCount" : 4096,
+ "iv" : "2979c2a734e4cd5da5d9a7e69c3f8b8e",
+ "msg" : "d63088e9bf4e9105bc287f0ab6823af9",
+ "ct" : "f7679477bc1ba6f1c6c3144ad19f4c0393cdea6b777d44c3dbd678b67c2e06f7",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 73,
+ "comment" : "password is an empty BMPString",
+ "flags" : [
+ "Ascii",
+ "BmpString"
+ ],
+ "password" : "0000",
+ "salt" : "542ada9132800d2c",
+ "iterationCount" : 4096,
+ "iv" : "844635e540de3a85c02f2df9413ff911",
+ "msg" : "08dfdd58aa603d5fc4bdaa9cb24ce82bca",
+ "ct" : "055f02f2e6ff350bf48ba4246679633b2a517670637354a9f228ed1483a9d12a",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 74,
+ "comment" : "long password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "61473a5f3441403c4a32204575314b24312d402225634c5653603d52756f247e414c3c2a4e2b3b25704140762170713a272526386448434b462a7a2c75395c725f",
+ "salt" : "80f8e7ac4649fd77",
+ "iterationCount" : 4096,
+ "iv" : "43db6bbe8b43b065bf32cd67c023856f",
+ "msg" : "e443a5541e1c0bd038030f78952195e0",
+ "ct" : "fc4d4fe5942e8c76460dcc44ee3068ae7dafa65060c00a8ad0a889f731b5c9c4",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 75,
+ "comment" : "long password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "7b2e6e6c462a24546c402c525a7e566e613a255c48422f364e51217b343a31253546355430315c2b2f352042385421323f5b47232e495329596c307d4f4153566746523b386023615b4c3f3a757131214d46662965645e44284d2268507a2364312d7568224751254a35273e5b69792773644555323039787e4e525647526a7d74",
+ "salt" : "66b3a75c3d1de7a7",
+ "iterationCount" : 4096,
+ "iv" : "4929fb5d6adc043751411a8165325219",
+ "msg" : "fc5d6ee5b19b873fac6f54160be4d52a",
+ "ct" : "5f9e7226b5ee488ed432cb42b64ad37a56e54ca2f0c6e50db5f58b5dd9e207e2",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 76,
+ "comment" : "long password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "2a4235363559523e265f4c2b48685b374e347c4b384347346a513c2251753927742c427d25732e532b4e202648522b395d5763457a705e4b637a5535216e4e4e3a523a5b5e546d7625614e2f3623557e46454d413032515f2c30214971277b23606242283e4b3445426c2e4d7c40346d47777c4e3f6e572e24664a5e286c34775c2f5e3f2960744f644b2d47532c77447a58405e335b7d3a6b5831507b642f392b3638365c4341425e46655f577e31533f41626b6056393e5d32213b716d455d2637762a4c693e6c4b5449383a504e7c5e2d442030735f7d3a56273c497d773f32427b57692f7d61373d29236f6021624b41787e603d70313e5c68334a2b534653",
+ "salt" : "73e6c34cda6b6309",
+ "iterationCount" : 4096,
+ "iv" : "44f36e53ab4a6391acc5565de7358438",
+ "msg" : "309b773bcd825e66bd3117097f536b0e",
+ "ct" : "13321349e64e1c025edfa1c6ec7316e66cc9f0cb3c6aba8bc18174a4fcd077a8",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 77,
+ "comment" : "special case password",
+ "flags" : [
+ "NonUtf8"
+ ],
+ "password" : "ff",
+ "salt" : "330226023aa6c045",
+ "iterationCount" : 4096,
+ "iv" : "c78e1ec445dbe9742d205432712442bf",
+ "msg" : "4b8243aab5cba8be6853eeaa65e3ebb0",
+ "ct" : "e909bfbbaaf90765e9794951a9e81ec4674286b0af3aa66b2abe74ccbbc8d15d",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 78,
+ "comment" : "special case: truncated UTF-8 string",
+ "flags" : [
+ "NonUtf8"
+ ],
+ "password" : "c0",
+ "salt" : "e19e4f175a64d35a",
+ "iterationCount" : 4096,
+ "iv" : "7545745f8d0bfe38f024371e12008a5f",
+ "msg" : "9e21b64aeff5338eb9bc71b19ef8f8e7",
+ "ct" : "0cf91934dce3396f6170a3a9d1034725f9018bc6d76b8359c1e1bf3d6a403338",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 79,
+ "comment" : "special case: invalid UTF-8 bytes",
+ "flags" : [
+ "NonUtf8"
+ ],
+ "password" : "ffffffffffffffff",
+ "salt" : "1eb37da28a65f626",
+ "iterationCount" : 4096,
+ "iv" : "5e9d991fa22878ac5256759c6c9cb53e",
+ "msg" : "319c92804c5560f840cc5bdace9c925d",
+ "ct" : "272d713ae547ab968acb5efae18e09cd8b528d6140cb26dad658c2c3bcbc76c4",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 80,
+ "comment" : "special case: invalid 2 byte UTF-8 code points",
+ "flags" : [
+ "NonUtf8"
+ ],
+ "password" : "c0c0c0c0c0c0c0c0",
+ "salt" : "2017b5e20a7cdbe0",
+ "iterationCount" : 4096,
+ "iv" : "7e42d185cab712e2982ca6ee4c2c61ec",
+ "msg" : "0f5a93c6771fc66aff78996d77421735",
+ "ct" : "ad78900a3ac4744fae383804118bfb4899c30ff470ff3fc00a590e70d1382eef",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 81,
+ "comment" : "special case: invalid 3 byte UTF-8 code points",
+ "flags" : [
+ "NonUtf8"
+ ],
+ "password" : "eeeeeeeeeeeeeeee",
+ "salt" : "84301f0aebda104f",
+ "iterationCount" : 4096,
+ "iv" : "4ba655c171677a0dfbc5f6312387c15d",
+ "msg" : "86caabd40a5c738720de173597ea72f6",
+ "ct" : "5047f68b94e1b4dd3ea46169dd98152732e7b7546ef66d138a90c5296b08729b",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 82,
+ "comment" : "special case: invalid UTF-8 code points",
+ "flags" : [
+ "NonUtf8"
+ ],
+ "password" : "f0f0f0f0f0f0f0f0",
+ "salt" : "64baccfdd4e4b41b",
+ "iterationCount" : 4096,
+ "iv" : "d6b443472d2cf853c0c05f5327faced7",
+ "msg" : "4e0ee09328663637f21410fb8ad057a1",
+ "ct" : "619a2f54d27c003732a2276ef2aab18033f7faa942f066948823ffc742e21308",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 83,
+ "comment" : "special case for UTF-16",
+ "flags" : [
+ "NonUtf8"
+ ],
+ "password" : "dbdbdbdbdbdbdbdb",
+ "salt" : "ba21795fffb901bc",
+ "iterationCount" : 4096,
+ "iv" : "753675f249b8c153997a797116495204",
+ "msg" : "706c565ba28370ff433460cc9f8d845a",
+ "ct" : "aee4fe6f4920632b59feb9c2fe93d1c74a7a4f3e7cbdc1301ee434dbaa23ce03",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 84,
+ "comment" : "special case: long all zero password",
+ "flags" : [
+ "Ascii"
+ ],
+ "password" : "0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
+ "salt" : "22871ffd379d9951",
+ "iterationCount" : 4096,
+ "iv" : "2e949af1052a230e7560d9ae1ce75042",
+ "msg" : "16d1b65deb2d67fc3242792a19d5c227",
+ "ct" : "9ee8cbc4c732d8eda30d15d1c5d1ccb08afe334ba9f19beddef8019d6203b3a9",
+ "result" : "valid"
+ }
+ ]
+ }
+ ]
+}
diff --git a/testvectors_v1/pbes2_hmacsha224_aes_256_test.json b/testvectors_v1/pbes2_hmacsha224_aes_256_test.json
new file mode 100644
index 0000000..4df09b5
--- /dev/null
+++ b/testvectors_v1/pbes2_hmacsha224_aes_256_test.json
@@ -0,0 +1,1228 @@
+{
+ "algorithm" : "PbeWithHmacSha224AndAes_256",
+ "schema" : "pbe_test_schema.json",
+ "generatorVersion" : "0.9",
+ "numberOfTests" : 84,
+ "header" : [
+ "Test vector of type PbeTest are used for PBES1 or PBES2."
+ ],
+ "notes" : {
+ "Ascii" : {
+ "bugType" : "FUNCTIONALITY",
+ "description" : "The test vector contains a password consisting of ASCII characters."
+ },
+ "BmpString" : {
+ "bugType" : "FUNCTIONALITY",
+ "description" : "The test vectors contains a password that is a valid BMPString as used in RFC 7292. This RFC uses big endian encoding and a null terminator."
+ },
+ "NonUtf8" : {
+ "bugType" : "FUNCTIONALITY",
+ "description" : "The test vector contains a password that is not a valid UTF-8 string."
+ },
+ "Printable" : {
+ "bugType" : "FUNCTIONALITY",
+ "description" : "The test vector contains a password consisting of printable ASCII characters."
+ },
+ "Utf8" : {
+ "bugType" : "FUNCTIONALITY",
+ "description" : "The test vector contains a password that is a valid UTF-8 string."
+ }
+ },
+ "testGroups" : [
+ {
+ "type" : "PbeTest",
+ "tests" : [
+ {
+ "tcId" : 1,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "7743656734722c30",
+ "salt" : "fcd9a324f025ef40",
+ "iterationCount" : 4096,
+ "iv" : "42f02ff71b8524d1678ab2e34f9e7d47",
+ "msg" : "",
+ "ct" : "63270dda86f934eea797e559bf758a98",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 2,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "64395f4b48295839",
+ "salt" : "bfb221ba6de64926",
+ "iterationCount" : 4096,
+ "iv" : "7a735848780923657c0c54bc2ff0d9f8",
+ "msg" : "a3",
+ "ct" : "04409a8bc8323af9b44c5746146f1e1d",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 3,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "3a787e4c2c604d70",
+ "salt" : "dc64f1fd4705b4e5",
+ "iterationCount" : 4096,
+ "iv" : "579ff2437d6739742421b6e4e70d5c27",
+ "msg" : "4204",
+ "ct" : "3b4ee1864c335647fee7a8d8ed290182",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 4,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "2a67656a66296120",
+ "salt" : "4c379a2bd962d19a",
+ "iterationCount" : 4096,
+ "iv" : "5bff9a5e8692229679cbd70fcfdebb74",
+ "msg" : "ceb541",
+ "ct" : "a0fcec42883af5315ad9a580fbd8c541",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 5,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "3b55267d5f4b2d4c",
+ "salt" : "08e041282eed4f00",
+ "iterationCount" : 4096,
+ "iv" : "17c5e988149370694c1b3b8cb0e44225",
+ "msg" : "10d032a7",
+ "ct" : "2ee4f0584e113ee1099870b0efc136f8",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 6,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "4f317e2e525e517a",
+ "salt" : "bd5c4b6f25a1f6ff",
+ "iterationCount" : 4096,
+ "iv" : "76e5e3eb771a4daec6fabdc0b0793195",
+ "msg" : "29d9f1a701",
+ "ct" : "c7cf82e317055177c1c1a3e7c67b9f1a",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 7,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "6557766473282375",
+ "salt" : "ea1efbb1c86b0c06",
+ "iterationCount" : 4096,
+ "iv" : "1f186ad98435e90fd7700695c986ef78",
+ "msg" : "6f124d8a8248",
+ "ct" : "f5b746b9d3477ff148d783096347cbf7",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 8,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "543a5f48765a2542",
+ "salt" : "f308bbcca74a2224",
+ "iterationCount" : 4096,
+ "iv" : "26bbbf2e18f06a4524e13bfd1ac00b37",
+ "msg" : "a1163153287dfe",
+ "ct" : "e2dbf79f732a836c18c05a4cde188d78",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 9,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "695a3c642f457a52",
+ "salt" : "7af3b0005c594502",
+ "iterationCount" : 4096,
+ "iv" : "6d9e8ea3d6ed355bf5e65b12995dbf6a",
+ "msg" : "9b29df8b3b9862f4",
+ "ct" : "fe28ef3673d2113bae4d267ccf9d6092",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 10,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "2a772a233f216e60",
+ "salt" : "172d5f4595c220dd",
+ "iterationCount" : 4096,
+ "iv" : "a5941967d4f6934431bd9951e20a93a6",
+ "msg" : "fe51cf84289221b894",
+ "ct" : "50440154838ccb97787f41006ae6b7ca",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 11,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "793c43623652216f",
+ "salt" : "d1d722eee2c5ebef",
+ "iterationCount" : 4096,
+ "iv" : "5cfe832947ec659f6847277ec1fab2f9",
+ "msg" : "696eb8b4e6b2015abb91",
+ "ct" : "fe2b85d99071e8395c1f79c12056ab64",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 12,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "4854515c222a2230",
+ "salt" : "843f5ff28978f214",
+ "iterationCount" : 4096,
+ "iv" : "430b247a435124754c83cc11203f18bd",
+ "msg" : "d8405be7823b472459a2fc",
+ "ct" : "5cb44d0c98afdc3ad98db1c22576406e",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 13,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "48682a4d34266b40",
+ "salt" : "783f344a1fa7c9a8",
+ "iterationCount" : 4096,
+ "iv" : "c707947121e5fc2da16990a78772e0ab",
+ "msg" : "56c73b781c1bff72a8ae7faf",
+ "ct" : "dbcfbd04331178df68ea88de3d26b521",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 14,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "293a746531294d5c",
+ "salt" : "2c75641f991eb10b",
+ "iterationCount" : 4096,
+ "iv" : "96dabd858e4187d0e50f8299ab60f029",
+ "msg" : "b07e8bbb45e9a17c124f6d5129",
+ "ct" : "18b1709bfb6016c1dcf49ab2b628ba77",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 15,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "353377343f482b65",
+ "salt" : "cf1620e7aabb73b7",
+ "iterationCount" : 4096,
+ "iv" : "8e6dd70b1dd1c39d0b8b593c556d812b",
+ "msg" : "ff89eb184de11579cae7d110a350",
+ "ct" : "dbf69a6a98405a4157e54da483c569a6",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 16,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "614e2d4634335721",
+ "salt" : "6dffc1db31767608",
+ "iterationCount" : 4096,
+ "iv" : "78c899bcdc4cf7d933ddc9016bc6e64e",
+ "msg" : "5e859aac690c85646ffb3f2bbb0d9c",
+ "ct" : "7bd444af97118c8673c3558a856b1164",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 17,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "6f5330325e22574e",
+ "salt" : "798acc7c76739d75",
+ "iterationCount" : 4096,
+ "iv" : "5bfcfd6d7013eb8828f72455d7535c77",
+ "msg" : "86059dc647ba7d0067099e16c3da8bb6",
+ "ct" : "778a2d93a799092f3416d17d7487545293068f31e7ccdd9643ad42b0dafb5f7f",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 18,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "3972245623494f42",
+ "salt" : "da5421f23ac5b5e1",
+ "iterationCount" : 4096,
+ "iv" : "12293114ddb85319240682c1765e4533",
+ "msg" : "fc9349cbd8c277786c888f3254342431a8",
+ "ct" : "fb524ce0f7107b09081858ae0ad45dc2b6e5c2499a065f8f80d7f9a156e9e8fa",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 19,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "464d2f76752b4d63",
+ "salt" : "8cfea3c6783cfc41",
+ "iterationCount" : 4096,
+ "iv" : "9c84fe91476ab1c6ed30db9bb7f60280",
+ "msg" : "ad10a3cdef856b0632f7ce200c11f6c569d2",
+ "ct" : "b707c559fadfe4dbde8b7ee970e54dc7b0ef5b1b74c8bf5721def22cea1a3420",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 20,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "7951437c2b6f7079",
+ "salt" : "caada2e55c49492f",
+ "iterationCount" : 4096,
+ "iv" : "3a0185b1423310796b052e9128334b04",
+ "msg" : "be82c331a83dd0c472abc6ae8725d2ba48b3ad",
+ "ct" : "588407b9273163e9812c275124c9a357f61775877cef6a8ab628533ee49cbe03",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 21,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "525c2424652a603d",
+ "salt" : "26ea52da49513b47",
+ "iterationCount" : 4096,
+ "iv" : "b9c70ea8599e136a64b2a6733e8ceb40",
+ "msg" : "d964c8b7fac0906c25654186f8d8e74b62dac5ac",
+ "ct" : "8b0c62be41e4e5978972dcb4f5f05bb479df8677dd5573e23e95606daaa0929b",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 22,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "6e446161627e6a3d",
+ "salt" : "64c6e216305ac8e5",
+ "iterationCount" : 4096,
+ "iv" : "2e089b050bfcbb214a3904344b25a28d",
+ "msg" : "00bba99a3d64657e16b70ee50c091488661c0af597",
+ "ct" : "dcf8e6e0702066183d490972ccc59494f0d01f1454aa2878068c4fded77e112f",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 23,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "5b413d39776e3323",
+ "salt" : "33017b20ba4a7af2",
+ "iterationCount" : 4096,
+ "iv" : "6fcf1307b562738a387c75885a7d6bf9",
+ "msg" : "1f6c99446d139e9ea5d46af1667b733eb8748e5e0e18",
+ "ct" : "e8473e0b8fdf60bd54a16d215067b6276169c8231ab42eed0e20154ffb7e2bc0",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 24,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "414838254a683628",
+ "salt" : "127e43a6c714f168",
+ "iterationCount" : 4096,
+ "iv" : "21bb5b1c774409d06067597153422573",
+ "msg" : "773f5e2ebe6ce60683cac6a9e2f0c9663556923582bdec",
+ "ct" : "1f0a7c6f94fe175b190da5371a45bbc2fa0db0d1178d2c04c310494df9422762",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 25,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "3c202b435634305d",
+ "salt" : "45f38c6678268b8e",
+ "iterationCount" : 4096,
+ "iv" : "348b3cca3ece503b42b20b2ae690c4eb",
+ "msg" : "8ab193d18b1dec59400822dd0cea7239b3743327488e3d2d",
+ "ct" : "14e3a11265c7efd012138e74c84cfe7ead7747c501395bc6a52ca941b944f361",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 26,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "6e43225f5832705b",
+ "salt" : "5911a7a49800e204",
+ "iterationCount" : 4096,
+ "iv" : "58b4f658efcf961c4715b0af0b0913b7",
+ "msg" : "b336756c278ab89c0539047824350469b05918446a672b4215",
+ "ct" : "7dee832904ccd32739768558537b55e925d5315fc1ced3acedc922a1853d1b04",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 27,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "3f26723264514541",
+ "salt" : "18a9d3dfa74d4024",
+ "iterationCount" : 4096,
+ "iv" : "497fe0d1a8c09aca8d98a11db8621077",
+ "msg" : "6cd40dc20c7103a39b83da1f8c67855b0ffd77c250e1447414a9",
+ "ct" : "e3794842215816c08dc01055b576e91f660d463205cb8bbef4df672a81011b2c",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 28,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "536d4a3b42714035",
+ "salt" : "9025629f385862f5",
+ "iterationCount" : 4096,
+ "iv" : "575fd9464cc1a36fcd23d7fc4ed304de",
+ "msg" : "40a37fae54940616cd6bb6cefb8f4521895fe9b7593492c2709003",
+ "ct" : "5a75017fbe79d1c6d3336d11eb1174d2b7a7a00900e4e90b1ff7c09dca88a097",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 29,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "283d692b21263f41",
+ "salt" : "4f9ca92d54e165d1",
+ "iterationCount" : 4096,
+ "iv" : "402239571eaf6f7162fd4fe620d55948",
+ "msg" : "d47c8c9ec28820d760abfe731e9e9818d34abad20da255cff68fd374",
+ "ct" : "12398117d0cc4aa97c5a7dadcd5bada138b5522d893d765304732ae29869f92b",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 30,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "3658665b3a546f47",
+ "salt" : "5ae48edef6811519",
+ "iterationCount" : 4096,
+ "iv" : "2425c2af851d56445c8e11b4529e3287",
+ "msg" : "5892825348e6160fd4f95f0a619a5a41604ee4b21ace4c9f61adf31ebc",
+ "ct" : "23981ecd61d4187a7510edabc95c0fbb683b004cbd501fbc0fee783a37be8ba2",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 31,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "257d78712275712a",
+ "salt" : "e2a7c16a6fe6a1fc",
+ "iterationCount" : 4096,
+ "iv" : "9dc7a4ff8a5a9d04d1b88c14028092c5",
+ "msg" : "596c0a1b3f9c251c98b15fb077da34c72e415ab9f4f01ac865421a7b89be",
+ "ct" : "6ec4d9395b895d23d0ad7db75abd275f85fbff0c70fc94655892b0e673c88209",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 32,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "2b75433d3a69566c",
+ "salt" : "a6d0b6f795cbe6a8",
+ "iterationCount" : 4096,
+ "iv" : "5804285758b9e6450148872a11dcc421",
+ "msg" : "18e18b3cb96d6d9ff0730b2ff70ac2be9577a75555554f6c446ed30850c167",
+ "ct" : "2453b96195e63dc73010fa46992dbd1fd6515acb88158504183d964d00afae30",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 33,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "252b6452647b4520",
+ "salt" : "e817780ed7997728",
+ "iterationCount" : 4096,
+ "iv" : "ff2512297f3fd5aa2b859432b9f53006",
+ "msg" : "8e9b1f95807a3c1bc95027ca72d2ae717b7e9dceac7437fc32a1aad2343ce69e",
+ "ct" : "147280dd37e6893046e9bc6778d0e9e51e99a1244520eef2d9595160ff6d352c6ebe7cd127971a89a03cc7e1629f6d73",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 34,
+ "comment" : "password contains only ASCII characters",
+ "flags" : [
+ "Ascii"
+ ],
+ "password" : "4b2d6c600e66535c7f3d6d6c",
+ "salt" : "7a4c02db8bd8fcc2",
+ "iterationCount" : 4096,
+ "iv" : "d62747fca1a7dfbee90597b3f57fffa2",
+ "msg" : "52dd188a4585bbaa85ced8d529d880b3",
+ "ct" : "c7416344d22b6555489dec5ebf932386c9d2dc3da79c3fa45b78242c11e83c89",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 35,
+ "comment" : "password contains only ASCII characters",
+ "flags" : [
+ "Ascii"
+ ],
+ "password" : "706614257f522b6315345f7c",
+ "salt" : "94ef44b92e15fa35",
+ "iterationCount" : 4096,
+ "iv" : "c489480ee8a00898f3151317c2c614b9",
+ "msg" : "9cb42f3f2992357a7beeedfa37653f4d41",
+ "ct" : "c38b7467ee61f33812d4a41914fccaaf882b707a1970dbe7910d3dc3b0726a8f",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 36,
+ "comment" : "password contains only ASCII characters",
+ "flags" : [
+ "Ascii"
+ ],
+ "password" : "1f4b7b354903545f2b07720b",
+ "salt" : "62f91ea01f3a18aa2f122bd15c4a615b",
+ "iterationCount" : 4096,
+ "iv" : "05d867eae06fbfd2efda349bc3dcd473",
+ "msg" : "64f33addb1e1671f867e96a3e8339ecd",
+ "ct" : "2ba706bf23f907592a68d137817abf20bf940b0ba86d23854c6f8ddf6e004ad6",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 37,
+ "comment" : "password contains only ASCII characters",
+ "flags" : [
+ "Ascii"
+ ],
+ "password" : "1e2e16140e4a4d19251b6f5f",
+ "salt" : "bdf156b4d87a5e07cd9481b3d136887c",
+ "iterationCount" : 4096,
+ "iv" : "b64e4b7176cfafe46235e8b32b2508e6",
+ "msg" : "9b31b854ff09e4cdd28b817fb2f2cdb6c9",
+ "ct" : "e43bf3713425beb5013057cc2a4aea2c59a5231b073602be1942536f507e14c1",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 38,
+ "comment" : "password contains only ASCII characters",
+ "flags" : [
+ "Ascii"
+ ],
+ "password" : "15296b0933473119180f3c0645202d5221633803",
+ "salt" : "d7412e4137fc4410",
+ "iterationCount" : 4096,
+ "iv" : "d227c8c98a652788944977f9bc73a20d",
+ "msg" : "86159d5e3b903a51a833ce561f39ae0a",
+ "ct" : "86e35007de529f2b80e69585ba70a64c235d328b6b0553ab93f6a660fb6ddc07",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 39,
+ "comment" : "password contains only ASCII characters",
+ "flags" : [
+ "Ascii"
+ ],
+ "password" : "00017e1e176769476d2433302f3506590e632a0c",
+ "salt" : "28c1759d783256fd",
+ "iterationCount" : 4096,
+ "iv" : "cf23a38fef611880acf9107ffa9e29a8",
+ "msg" : "79532d85a40aa575377172611dd4f0047c",
+ "ct" : "a350e1f1bce686188d75a490d8497e93e3f808c1941987ff85525d968cc34bf3",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 40,
+ "comment" : "password contains only ASCII characters",
+ "flags" : [
+ "Ascii"
+ ],
+ "password" : "7a106c2773542c791d2f0a02632b69644f666278",
+ "salt" : "a36350db68186d747254bd9835219487",
+ "iterationCount" : 4096,
+ "iv" : "568af67455f416a63d3ced652c32a74d",
+ "msg" : "96687d00d01854bbc2151ed4fdec8732",
+ "ct" : "2633b5c6cfb981d7222f5290a0af3783b2d1aacaf87107b91e037b163fef5877",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 41,
+ "comment" : "password contains only ASCII characters",
+ "flags" : [
+ "Ascii"
+ ],
+ "password" : "350e2f050d444c09374977205a6b063736373067",
+ "salt" : "3cadfed36847faa4af545c426b7bcbc5",
+ "iterationCount" : 4096,
+ "iv" : "1ee0658f81c645721618de5849c3baf1",
+ "msg" : "89e4167cba0f8ca3a4b1640b023612d963",
+ "ct" : "e443bc64d4cb63935bd078d531755b60dd033e6f301d269e260f0ae82872c150",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 42,
+ "comment" : "password is a valid UTF-8 encoding",
+ "flags" : [
+ "Utf8"
+ ],
+ "password" : "d0a3d1bed38acc83",
+ "salt" : "8dfae85c9f2072ae",
+ "iterationCount" : 4096,
+ "iv" : "13a77b4b2eb10b260ac889b432d7af1c",
+ "msg" : "41a21ec6f04859724a1dfcdcf85e6c3a",
+ "ct" : "0db2ab3cd0b8a15d1248377b2a84c336faa4578f4f77c78a185afec85570f5d3",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 43,
+ "comment" : "password is a valid UTF-8 encoding",
+ "flags" : [
+ "Utf8"
+ ],
+ "password" : "d4b8cbbcc49bd9b6",
+ "salt" : "657a212f745924eb",
+ "iterationCount" : 4096,
+ "iv" : "6529f3dc9f0197e2f5c6e889b1b6097f",
+ "msg" : "231765341c414e93ec399b804a79a65dfc",
+ "ct" : "d03cbe4863686e1dc1140a248997293871c544eb02cd1fa2578186a205c33859",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 44,
+ "comment" : "password is a valid UTF-8 encoding",
+ "flags" : [
+ "Utf8"
+ ],
+ "password" : "c299d292cd92dcb8",
+ "salt" : "99c55e182238c8e0c385447685e9ba85",
+ "iterationCount" : 4096,
+ "iv" : "34d4cc26cd871885c8e781d6e8b9ec67",
+ "msg" : "4bf1f98da6113ca66cc18283aedb4cc5",
+ "ct" : "0fd08129b79f5f2f8d76d38ace453c27ab2df66be58e3034ff7958a136cc2842",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 45,
+ "comment" : "password is a valid UTF-8 encoding",
+ "flags" : [
+ "Utf8"
+ ],
+ "password" : "da9dd3acdca2df8a",
+ "salt" : "b5413f52391a2ff0fb19563c0b40a445",
+ "iterationCount" : 4096,
+ "iv" : "b4d3b1dbbc034d407ce552e6bc63fee1",
+ "msg" : "e2e81593f6591df708582f4cce0b1c6d78",
+ "ct" : "3ad3ef9d8f8db859dd07bd87dfdb2949b5a438da80fd2cb30e49d3caa2f2d282",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 46,
+ "comment" : "password is a valid UTF-8 encoding",
+ "flags" : [
+ "Utf8"
+ ],
+ "password" : "cfbec3b9d7acc7a9d585d1a5c28fcca119",
+ "salt" : "e9c55717a1259a29",
+ "iterationCount" : 4096,
+ "iv" : "cd718713a05183c1aa4bc4c01794b382",
+ "msg" : "1f4425a96b272fc27bcbfda0bb7e0dd8",
+ "ct" : "6277a28507d49c5d5c55cdcf110e8e0525545b0f33c145dece7382faeb3e01a5",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 47,
+ "comment" : "password is a valid UTF-8 encoding",
+ "flags" : [
+ "Utf8"
+ ],
+ "password" : "d492c59061cd9dd9b8c28fd39fcd9e24",
+ "salt" : "09deec77ec44eb6e",
+ "iterationCount" : 4096,
+ "iv" : "0f958378c10c245540b9ce61d7781fd8",
+ "msg" : "ae209895c5cb179e54649749cdb245b9ce",
+ "ct" : "91a6714623192b8fe1cd338061f3ca2942ffaf8c75270fad19efea5d7ce53e7d",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 48,
+ "comment" : "password is a valid UTF-8 encoding",
+ "flags" : [
+ "Utf8"
+ ],
+ "password" : "da9dd096cb93db88dbbed495ceaacf853c",
+ "salt" : "200bba668b2010b1968b82091848937c",
+ "iterationCount" : 4096,
+ "iv" : "39d3e787c076007b3c173b75597b08c5",
+ "msg" : "0b4e337297c6cdd5c51f8ee7e633ef8f",
+ "ct" : "f4dce519e853123963ab2dacbbd6b210257186caf5709c6308ec5f674c7f8fdc",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 49,
+ "comment" : "password is a valid UTF-8 encoding",
+ "flags" : [
+ "Utf8"
+ ],
+ "password" : "d9aacab7c2a0dbb5d89bc7acde9cceb50c",
+ "salt" : "1d87767829bd386ad2038cea7a0b542f",
+ "iterationCount" : 4096,
+ "iv" : "cfb67f9bb8cfb0e05684fcba195f0f19",
+ "msg" : "a9e289e0a985df90dfe23230c414dcb1fa",
+ "ct" : "a00598c85ae2e73e067647326c474f98953f7996203f01730ebbfbc9d8b857ce",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 50,
+ "comment" : "password is a random byte string",
+ "flags" : [
+ "NonUtf8"
+ ],
+ "password" : "8423ec7ea4ca4b03",
+ "salt" : "8dfae85c9f2072ae",
+ "iterationCount" : 4096,
+ "iv" : "13a77b4b2eb10b260ac889b432d7af1c",
+ "msg" : "41a21ec6f04859724a1dfcdcf85e6c3a",
+ "ct" : "2a14a41a5c0fd2831f5ddce9d7135809456d9881dfc852824a71fa5e5bd1021b",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 51,
+ "comment" : "password is a random byte string",
+ "flags" : [
+ "NonUtf8"
+ ],
+ "password" : "7538a2fc091b6e76",
+ "salt" : "657a212f745924eb",
+ "iterationCount" : 4096,
+ "iv" : "6529f3dc9f0197e2f5c6e889b1b6097f",
+ "msg" : "231765341c414e93ec399b804a79a65dfc",
+ "ct" : "c0a3d65f952f43a4015095fa9b66eb1c3a3c343441d3c7abbf9c7967c421027e",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 52,
+ "comment" : "password is a random byte string",
+ "flags" : [
+ "NonUtf8"
+ ],
+ "password" : "48997492c3528738",
+ "salt" : "99c55e182238c8e0c385447685e9ba85",
+ "iterationCount" : 4096,
+ "iv" : "34d4cc26cd871885c8e781d6e8b9ec67",
+ "msg" : "4bf1f98da6113ca66cc18283aedb4cc5",
+ "ct" : "6c788ab98a66d69f9c93614d7445de01985418ed57c6d7125e57d2d69d0eeb2f",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 53,
+ "comment" : "password is a random byte string",
+ "flags" : [
+ "NonUtf8"
+ ],
+ "password" : "c69d34ec7722ffca",
+ "salt" : "b5413f52391a2ff0fb19563c0b40a445",
+ "iterationCount" : 4096,
+ "iv" : "b4d3b1dbbc034d407ce552e6bc63fee1",
+ "msg" : "e2e81593f6591df708582f4cce0b1c6d78",
+ "ct" : "f23a3734ff4f60807ff3d7c542ecbea581a82f99cf20cf176bdfe7baf0f0e583",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 54,
+ "comment" : "password is a random byte string",
+ "flags" : [
+ "NonUtf8"
+ ],
+ "password" : "e3feb0f96dec61e9dd451465f88f132119",
+ "salt" : "e9c55717a1259a29",
+ "iterationCount" : 4096,
+ "iv" : "cd718713a05183c1aa4bc4c01794b382",
+ "msg" : "1f4425a96b272fc27bcbfda0bb7e0dd8",
+ "ct" : "581e8e4b2b8f39a81dff6ad958d3fb76f629b7a4b3b89cbf7c0678db85e2689a",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 55,
+ "comment" : "password is a random byte string",
+ "flags" : [
+ "NonUtf8"
+ ],
+ "password" : "ed12a9502061d35d9678188f1cdf135e24",
+ "salt" : "09deec77ec44eb6e",
+ "iterationCount" : 4096,
+ "iv" : "0f958378c10c245540b9ce61d7781fd8",
+ "msg" : "ae209895c5cb179e54649749cdb245b9ce",
+ "ct" : "c4a6a6866852541ce281dc536ef93e477ceb83ff9cff0e176ac6b9dc731586a0",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 56,
+ "comment" : "password is a random byte string",
+ "flags" : [
+ "NonUtf8"
+ ],
+ "password" : "9e9d7c166ad3bec856fe5d15d3aacbc53c",
+ "salt" : "200bba668b2010b1968b82091848937c",
+ "iterationCount" : 4096,
+ "iv" : "39d3e787c076007b3c173b75597b08c5",
+ "msg" : "0b4e337297c6cdd5c51f8ee7e633ef8f",
+ "ct" : "34563ba724a4e528fba2597b0a7dd1ea79c1c9dd51adbe5a503e7f2916d6a00a",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 57,
+ "comment" : "password is a random byte string",
+ "flags" : [
+ "NonUtf8"
+ ],
+ "password" : "466a02b7d8a046f5161b41ecef9cc3b50c",
+ "salt" : "1d87767829bd386ad2038cea7a0b542f",
+ "iterationCount" : 4096,
+ "iv" : "cfb67f9bb8cfb0e05684fcba195f0f19",
+ "msg" : "a9e289e0a985df90dfe23230c414dcb1fa",
+ "ct" : "a0465a93e56c853faf876e41332ad9fb1c797c0e6e0e819cbad2ddbdaad58b5f",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 58,
+ "comment" : "password is an ASCII string encoded as BMPString",
+ "flags" : [
+ "Ascii",
+ "BmpString"
+ ],
+ "password" : "002d0000",
+ "salt" : "66a92292e6db2d9e",
+ "iterationCount" : 4096,
+ "iv" : "7911306933f1131299247a85b585bed8",
+ "msg" : "63219964fd79651fe1be8ad5e90f414c",
+ "ct" : "5b99be6119d7bb8f57a4558e004c9c96f8ccf489c61b12afac429800fc26c96e",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 59,
+ "comment" : "password is an ASCII string encoded as BMPString",
+ "flags" : [
+ "Ascii",
+ "BmpString"
+ ],
+ "password" : "00470000",
+ "salt" : "88abb902385f0efc",
+ "iterationCount" : 4096,
+ "iv" : "109f2c7a8aacc98d0aa176b1b43f2ece",
+ "msg" : "34ce8c499c20714c34506b8e8b87b103d2",
+ "ct" : "407fbae7a478679774095c1b0e7f75757cf3913661fd77cd34438115bd868aeb",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 60,
+ "comment" : "password is an ASCII string encoded as BMPString",
+ "flags" : [
+ "Ascii",
+ "BmpString"
+ ],
+ "password" : "004400640042004d0064006d000100790000",
+ "salt" : "675617aaff664428",
+ "iterationCount" : 4096,
+ "iv" : "c08dd25d3aa04749850301e9b8f8eb28",
+ "msg" : "4f5f5d4d0a21d463419db42fdff6ae6c",
+ "ct" : "802989aaf35ddb888c58e989af59f776a4207fd04af26e1da532839b1ad2e50a",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 61,
+ "comment" : "password is an ASCII string encoded as BMPString",
+ "flags" : [
+ "Ascii",
+ "BmpString"
+ ],
+ "password" : "007400760025002a0012005b005c00610000",
+ "salt" : "957a9ab7ad9fc7de",
+ "iterationCount" : 4096,
+ "iv" : "126081b5c830984abd553ec39b080f39",
+ "msg" : "ede5a5ea322b7972a789bb5af48f384218",
+ "ct" : "3ffe8266f8d8dcbaff168688e35a28d81114744c7184ee8ab70c65d822b15147",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 62,
+ "comment" : "password is an ASCII string encoded as BMPString",
+ "flags" : [
+ "Ascii",
+ "BmpString"
+ ],
+ "password" : "0023000d00510069001d0077002a0009001200010034004d00520070006100290000",
+ "salt" : "deea2dabe885caf6",
+ "iterationCount" : 4096,
+ "iv" : "698a466cec24214100bb3f30a6820bf7",
+ "msg" : "930b94a70883efd733f63f841dfc3d17",
+ "ct" : "154ff256215e82ad90a68e33088c0af1b1672bcebe6c9dd0172810fb4bab9f7c",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 63,
+ "comment" : "password is an ASCII string encoded as BMPString",
+ "flags" : [
+ "Ascii",
+ "BmpString"
+ ],
+ "password" : "007300520057005c005600180030003c004b0050007c004f00020020002600390000",
+ "salt" : "6ed69f23acf64114",
+ "iterationCount" : 4096,
+ "iv" : "59efebfe7a6056507dc17778e5c444c5",
+ "msg" : "538705a997333fc2bf4f44f2bb90f3cd26",
+ "ct" : "02fd0c25bf6f0d17a7ec1962d196b5169f6ec5cfbb416753c4a51e554f26908a",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 64,
+ "comment" : "password is a BMPString",
+ "flags" : [
+ "NonUtf8",
+ "BmpString"
+ ],
+ "password" : "92ae0000",
+ "salt" : "6978583ea9c24c49",
+ "iterationCount" : 4096,
+ "iv" : "0192ad10599677f253e7dea587373553",
+ "msg" : "c06bcb3b5cd9c1317f5eb7ba50882530",
+ "ct" : "d62342f6c453e70dd2c5e7aa1767cb9afe716e3b8aa6e6b874247db64c951db5",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 65,
+ "comment" : "password is a BMPString",
+ "flags" : [
+ "NonUtf8",
+ "BmpString"
+ ],
+ "password" : "38a90000",
+ "salt" : "c217b8c980fe4698",
+ "iterationCount" : 4096,
+ "iv" : "890a0303475f07189a0fe14b4e509217",
+ "msg" : "1ea8b43513275537d021c0f75849c01840",
+ "ct" : "f67fe2794f9b3851d5cc17dd860d8bc4e1191ab709a309f0e95ecbbf0114b340",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 66,
+ "comment" : "password is a BMPString",
+ "flags" : [
+ "NonUtf8",
+ "BmpString"
+ ],
+ "password" : "4464c2cde4ed81790000",
+ "salt" : "675617aaff664428",
+ "iterationCount" : 4096,
+ "iv" : "c08dd25d3aa04749850301e9b8f8eb28",
+ "msg" : "4f5f5d4d0a21d463419db42fdff6ae6c",
+ "ct" : "dd7268acdcc7f3c793e495cf0d389ba71477050a9688cb5551c32daccd77b593",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 67,
+ "comment" : "password is a BMPString",
+ "flags" : [
+ "NonUtf8",
+ "BmpString"
+ ],
+ "password" : "f4f6a52a925b00610000",
+ "salt" : "957a9ab7ad9fc7de",
+ "iterationCount" : 4096,
+ "iv" : "126081b5c830984abd553ec39b080f39",
+ "msg" : "ede5a5ea322b7972a789bb5af48f384218",
+ "ct" : "017fe301c99448d2fe2a406c5ba5804548167b2d9b249596eb85093a64401ed7",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 68,
+ "comment" : "password is a BMPString",
+ "flags" : [
+ "NonUtf8",
+ "BmpString"
+ ],
+ "password" : "a38d51691d77aa891281b44d52f061a90000",
+ "salt" : "deea2dabe885caf6",
+ "iterationCount" : 4096,
+ "iv" : "698a466cec24214100bb3f30a6820bf7",
+ "msg" : "930b94a70883efd733f63f841dfc3d17",
+ "ct" : "cb73d793daf47bc1ee9923a60c1a99673accb4d99cdceb0614c72023ac3a6608",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 69,
+ "comment" : "password is a BMPString",
+ "flags" : [
+ "NonUtf8",
+ "BmpString"
+ ],
+ "password" : "f35257dc5698b0bccbd0fc4f02a026390000",
+ "salt" : "6ed69f23acf64114",
+ "iterationCount" : 4096,
+ "iv" : "59efebfe7a6056507dc17778e5c444c5",
+ "msg" : "538705a997333fc2bf4f44f2bb90f3cd26",
+ "ct" : "b6e758634e74720b4e3488c852016b456b5fcbbaf376ebd302a3a7a1810fd09f",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 70,
+ "comment" : "empty password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "",
+ "salt" : "79d4c53a51c41815",
+ "iterationCount" : 4096,
+ "iv" : "a8e86525fa4f365373045533b33902bd",
+ "msg" : "a62c0d9b5bcb932f65058396367673e8",
+ "ct" : "edc5cb8a3a68e1ce2348fd20dd5d21848de9ab453d1890f92690cd34d7b476af",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 71,
+ "comment" : "empty password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "",
+ "salt" : "65f8fa8b52cd47b0",
+ "iterationCount" : 4096,
+ "iv" : "bfb545e71f39df509870139862965526",
+ "msg" : "a3bae2fae05b77c7673d71901268eed173",
+ "ct" : "86cd4bec3091759924725041f62d11270088a2a354844757d8e70e6772338224",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 72,
+ "comment" : "password is an empty BMPString",
+ "flags" : [
+ "Ascii",
+ "BmpString"
+ ],
+ "password" : "0000",
+ "salt" : "f488f026badc3624",
+ "iterationCount" : 4096,
+ "iv" : "2979c2a734e4cd5da5d9a7e69c3f8b8e",
+ "msg" : "d63088e9bf4e9105bc287f0ab6823af9",
+ "ct" : "207f606cf4e199447a8ae2ee882ed07ef38e390003120480e8e17e48435e151b",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 73,
+ "comment" : "password is an empty BMPString",
+ "flags" : [
+ "Ascii",
+ "BmpString"
+ ],
+ "password" : "0000",
+ "salt" : "542ada9132800d2c",
+ "iterationCount" : 4096,
+ "iv" : "844635e540de3a85c02f2df9413ff911",
+ "msg" : "08dfdd58aa603d5fc4bdaa9cb24ce82bca",
+ "ct" : "2f3060f6bfbe4a0a1b8fb9246bbf30d35717363e0b3863d7cae560897172e2be",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 74,
+ "comment" : "long password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "61473a5f3441403c4a32204575314b24312d402225634c5653603d52756f247e414c3c2a4e2b3b25704140762170713a272526386448434b462a7a2c75395c725f",
+ "salt" : "80f8e7ac4649fd77",
+ "iterationCount" : 4096,
+ "iv" : "43db6bbe8b43b065bf32cd67c023856f",
+ "msg" : "e443a5541e1c0bd038030f78952195e0",
+ "ct" : "0cacddf45fc836d96515c7bf4299548a921dd7e95f20d52db8260046ca25a252",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 75,
+ "comment" : "long password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "7b2e6e6c462a24546c402c525a7e566e613a255c48422f364e51217b343a31253546355430315c2b2f352042385421323f5b47232e495329596c307d4f4153566746523b386023615b4c3f3a757131214d46662965645e44284d2268507a2364312d7568224751254a35273e5b69792773644555323039787e4e525647526a7d74",
+ "salt" : "66b3a75c3d1de7a7",
+ "iterationCount" : 4096,
+ "iv" : "4929fb5d6adc043751411a8165325219",
+ "msg" : "fc5d6ee5b19b873fac6f54160be4d52a",
+ "ct" : "27db0efbf3a23a8200f0e1ab4d4c9363bad38c0963370f8667c074e5bd060143",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 76,
+ "comment" : "long password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "2a4235363559523e265f4c2b48685b374e347c4b384347346a513c2251753927742c427d25732e532b4e202648522b395d5763457a705e4b637a5535216e4e4e3a523a5b5e546d7625614e2f3623557e46454d413032515f2c30214971277b23606242283e4b3445426c2e4d7c40346d47777c4e3f6e572e24664a5e286c34775c2f5e3f2960744f644b2d47532c77447a58405e335b7d3a6b5831507b642f392b3638365c4341425e46655f577e31533f41626b6056393e5d32213b716d455d2637762a4c693e6c4b5449383a504e7c5e2d442030735f7d3a56273c497d773f32427b57692f7d61373d29236f6021624b41787e603d70313e5c68334a2b534653",
+ "salt" : "73e6c34cda6b6309",
+ "iterationCount" : 4096,
+ "iv" : "44f36e53ab4a6391acc5565de7358438",
+ "msg" : "309b773bcd825e66bd3117097f536b0e",
+ "ct" : "6437e818c50f24b834326962f35d3bd183764c1d044c85e7e33ee946646d0b96",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 77,
+ "comment" : "special case password",
+ "flags" : [
+ "NonUtf8"
+ ],
+ "password" : "ff",
+ "salt" : "330226023aa6c045",
+ "iterationCount" : 4096,
+ "iv" : "c78e1ec445dbe9742d205432712442bf",
+ "msg" : "4b8243aab5cba8be6853eeaa65e3ebb0",
+ "ct" : "8e9eefe4adca0242b228963e494756d8a6b6b33a973ac28af7eccb2b8697ad0b",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 78,
+ "comment" : "special case: truncated UTF-8 string",
+ "flags" : [
+ "NonUtf8"
+ ],
+ "password" : "c0",
+ "salt" : "e19e4f175a64d35a",
+ "iterationCount" : 4096,
+ "iv" : "7545745f8d0bfe38f024371e12008a5f",
+ "msg" : "9e21b64aeff5338eb9bc71b19ef8f8e7",
+ "ct" : "3e943ffdc7122b7c585cd0292357fca21e472e7a992355f2d07bc097c1fb7813",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 79,
+ "comment" : "special case: invalid UTF-8 bytes",
+ "flags" : [
+ "NonUtf8"
+ ],
+ "password" : "ffffffffffffffff",
+ "salt" : "1eb37da28a65f626",
+ "iterationCount" : 4096,
+ "iv" : "5e9d991fa22878ac5256759c6c9cb53e",
+ "msg" : "319c92804c5560f840cc5bdace9c925d",
+ "ct" : "6634249d7a4a0afb7334736a39676c3c3674b5203dc5dfd1d7b33a4c967fc5f5",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 80,
+ "comment" : "special case: invalid 2 byte UTF-8 code points",
+ "flags" : [
+ "NonUtf8"
+ ],
+ "password" : "c0c0c0c0c0c0c0c0",
+ "salt" : "2017b5e20a7cdbe0",
+ "iterationCount" : 4096,
+ "iv" : "7e42d185cab712e2982ca6ee4c2c61ec",
+ "msg" : "0f5a93c6771fc66aff78996d77421735",
+ "ct" : "0198f297a055269de1d657222bcfbc5c9d6ca0c4d1e83fce527dd3c85da047c2",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 81,
+ "comment" : "special case: invalid 3 byte UTF-8 code points",
+ "flags" : [
+ "NonUtf8"
+ ],
+ "password" : "eeeeeeeeeeeeeeee",
+ "salt" : "84301f0aebda104f",
+ "iterationCount" : 4096,
+ "iv" : "4ba655c171677a0dfbc5f6312387c15d",
+ "msg" : "86caabd40a5c738720de173597ea72f6",
+ "ct" : "96f9f515d9d8740046691ba55d3b1abbde6fe9b276ea9af731264e97e37ec1f6",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 82,
+ "comment" : "special case: invalid UTF-8 code points",
+ "flags" : [
+ "NonUtf8"
+ ],
+ "password" : "f0f0f0f0f0f0f0f0",
+ "salt" : "64baccfdd4e4b41b",
+ "iterationCount" : 4096,
+ "iv" : "d6b443472d2cf853c0c05f5327faced7",
+ "msg" : "4e0ee09328663637f21410fb8ad057a1",
+ "ct" : "0549817a7f9bbd3448a1d223ec74f9bf47cdce95b2bf87e20f8be8500e244ed9",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 83,
+ "comment" : "special case for UTF-16",
+ "flags" : [
+ "NonUtf8"
+ ],
+ "password" : "dbdbdbdbdbdbdbdb",
+ "salt" : "ba21795fffb901bc",
+ "iterationCount" : 4096,
+ "iv" : "753675f249b8c153997a797116495204",
+ "msg" : "706c565ba28370ff433460cc9f8d845a",
+ "ct" : "d66e123ceeb1c5484defaf767240e5ff999227fb257dba3cef8b0011b4a36731",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 84,
+ "comment" : "special case: long all zero password",
+ "flags" : [
+ "Ascii"
+ ],
+ "password" : "0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
+ "salt" : "22871ffd379d9951",
+ "iterationCount" : 4096,
+ "iv" : "2e949af1052a230e7560d9ae1ce75042",
+ "msg" : "16d1b65deb2d67fc3242792a19d5c227",
+ "ct" : "5c8237b129cf4f59bad4c1621aca678c32bf3e1b6d1f6895167d9e2ae9b17ffd",
+ "result" : "valid"
+ }
+ ]
+ }
+ ]
+}
diff --git a/testvectors_v1/pbes2_hmacsha256_aes_128_test.json b/testvectors_v1/pbes2_hmacsha256_aes_128_test.json
new file mode 100644
index 0000000..ed67772
--- /dev/null
+++ b/testvectors_v1/pbes2_hmacsha256_aes_128_test.json
@@ -0,0 +1,1228 @@
+{
+ "algorithm" : "PbeWithHmacSha256AndAes_128",
+ "schema" : "pbe_test_schema.json",
+ "generatorVersion" : "0.9",
+ "numberOfTests" : 84,
+ "header" : [
+ "Test vector of type PbeTest are used for PBES1 or PBES2."
+ ],
+ "notes" : {
+ "Ascii" : {
+ "bugType" : "FUNCTIONALITY",
+ "description" : "The test vector contains a password consisting of ASCII characters."
+ },
+ "BmpString" : {
+ "bugType" : "FUNCTIONALITY",
+ "description" : "The test vectors contains a password that is a valid BMPString as used in RFC 7292. This RFC uses big endian encoding and a null terminator."
+ },
+ "NonUtf8" : {
+ "bugType" : "FUNCTIONALITY",
+ "description" : "The test vector contains a password that is not a valid UTF-8 string."
+ },
+ "Printable" : {
+ "bugType" : "FUNCTIONALITY",
+ "description" : "The test vector contains a password consisting of printable ASCII characters."
+ },
+ "Utf8" : {
+ "bugType" : "FUNCTIONALITY",
+ "description" : "The test vector contains a password that is a valid UTF-8 string."
+ }
+ },
+ "testGroups" : [
+ {
+ "type" : "PbeTest",
+ "tests" : [
+ {
+ "tcId" : 1,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "7743656734722c30",
+ "salt" : "fcd9a324f025ef40",
+ "iterationCount" : 4096,
+ "iv" : "42f02ff71b8524d1678ab2e34f9e7d47",
+ "msg" : "",
+ "ct" : "ea457d8dccf91c46949b4a6d07ace4e0",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 2,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "64395f4b48295839",
+ "salt" : "bfb221ba6de64926",
+ "iterationCount" : 4096,
+ "iv" : "7a735848780923657c0c54bc2ff0d9f8",
+ "msg" : "a3",
+ "ct" : "34949ed6d6f65b975e14acda01159847",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 3,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "3a787e4c2c604d70",
+ "salt" : "dc64f1fd4705b4e5",
+ "iterationCount" : 4096,
+ "iv" : "579ff2437d6739742421b6e4e70d5c27",
+ "msg" : "4204",
+ "ct" : "28f0c41eece23927af625266a76e4ac5",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 4,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "2a67656a66296120",
+ "salt" : "4c379a2bd962d19a",
+ "iterationCount" : 4096,
+ "iv" : "5bff9a5e8692229679cbd70fcfdebb74",
+ "msg" : "ceb541",
+ "ct" : "da7f59f9e9ea061972d71fcf4940ffef",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 5,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "3b55267d5f4b2d4c",
+ "salt" : "08e041282eed4f00",
+ "iterationCount" : 4096,
+ "iv" : "17c5e988149370694c1b3b8cb0e44225",
+ "msg" : "10d032a7",
+ "ct" : "8427a4ee0700e1611bf6c6fec25c787d",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 6,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "4f317e2e525e517a",
+ "salt" : "bd5c4b6f25a1f6ff",
+ "iterationCount" : 4096,
+ "iv" : "76e5e3eb771a4daec6fabdc0b0793195",
+ "msg" : "29d9f1a701",
+ "ct" : "8ffb416ddc0056407761b57ce65ef080",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 7,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "6557766473282375",
+ "salt" : "ea1efbb1c86b0c06",
+ "iterationCount" : 4096,
+ "iv" : "1f186ad98435e90fd7700695c986ef78",
+ "msg" : "6f124d8a8248",
+ "ct" : "477bd1679803aa7ae98f2ec480dffacc",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 8,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "543a5f48765a2542",
+ "salt" : "f308bbcca74a2224",
+ "iterationCount" : 4096,
+ "iv" : "26bbbf2e18f06a4524e13bfd1ac00b37",
+ "msg" : "a1163153287dfe",
+ "ct" : "6942a72776c1cdc5b8dd85d846f57c5b",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 9,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "695a3c642f457a52",
+ "salt" : "7af3b0005c594502",
+ "iterationCount" : 4096,
+ "iv" : "6d9e8ea3d6ed355bf5e65b12995dbf6a",
+ "msg" : "9b29df8b3b9862f4",
+ "ct" : "6d1ed89050e3d17659a4e1d5dfe3459d",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 10,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "2a772a233f216e60",
+ "salt" : "172d5f4595c220dd",
+ "iterationCount" : 4096,
+ "iv" : "a5941967d4f6934431bd9951e20a93a6",
+ "msg" : "fe51cf84289221b894",
+ "ct" : "ffad1506d0d081dcd3bfcafed23f70ae",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 11,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "793c43623652216f",
+ "salt" : "d1d722eee2c5ebef",
+ "iterationCount" : 4096,
+ "iv" : "5cfe832947ec659f6847277ec1fab2f9",
+ "msg" : "696eb8b4e6b2015abb91",
+ "ct" : "657c417622c1c0f48d39816c3d41ccbe",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 12,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "4854515c222a2230",
+ "salt" : "843f5ff28978f214",
+ "iterationCount" : 4096,
+ "iv" : "430b247a435124754c83cc11203f18bd",
+ "msg" : "d8405be7823b472459a2fc",
+ "ct" : "5b2f0a494432a1715c5d96a2462df153",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 13,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "48682a4d34266b40",
+ "salt" : "783f344a1fa7c9a8",
+ "iterationCount" : 4096,
+ "iv" : "c707947121e5fc2da16990a78772e0ab",
+ "msg" : "56c73b781c1bff72a8ae7faf",
+ "ct" : "cbbcdaa072b716e6c860a1e484766a1d",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 14,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "293a746531294d5c",
+ "salt" : "2c75641f991eb10b",
+ "iterationCount" : 4096,
+ "iv" : "96dabd858e4187d0e50f8299ab60f029",
+ "msg" : "b07e8bbb45e9a17c124f6d5129",
+ "ct" : "ea7d68d010865fc734794cc8e316ba29",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 15,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "353377343f482b65",
+ "salt" : "cf1620e7aabb73b7",
+ "iterationCount" : 4096,
+ "iv" : "8e6dd70b1dd1c39d0b8b593c556d812b",
+ "msg" : "ff89eb184de11579cae7d110a350",
+ "ct" : "bfd99b757468dc4e16e52d5e31439b1a",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 16,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "614e2d4634335721",
+ "salt" : "6dffc1db31767608",
+ "iterationCount" : 4096,
+ "iv" : "78c899bcdc4cf7d933ddc9016bc6e64e",
+ "msg" : "5e859aac690c85646ffb3f2bbb0d9c",
+ "ct" : "001cba4d522f30d6b9c65138d621eacb",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 17,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "6f5330325e22574e",
+ "salt" : "798acc7c76739d75",
+ "iterationCount" : 4096,
+ "iv" : "5bfcfd6d7013eb8828f72455d7535c77",
+ "msg" : "86059dc647ba7d0067099e16c3da8bb6",
+ "ct" : "a6b80c38ff2e07ea66f074fc3af09f2bccb133c8b2aac199aa4346953de87951",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 18,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "3972245623494f42",
+ "salt" : "da5421f23ac5b5e1",
+ "iterationCount" : 4096,
+ "iv" : "12293114ddb85319240682c1765e4533",
+ "msg" : "fc9349cbd8c277786c888f3254342431a8",
+ "ct" : "eab321f8ed15d24268f5bbe19963411b10755a48565446d30a02ff87ee558c25",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 19,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "464d2f76752b4d63",
+ "salt" : "8cfea3c6783cfc41",
+ "iterationCount" : 4096,
+ "iv" : "9c84fe91476ab1c6ed30db9bb7f60280",
+ "msg" : "ad10a3cdef856b0632f7ce200c11f6c569d2",
+ "ct" : "cc1ca88ffeae4dca5d1ff2139e3c4ca5ca57384c7ba348536335c78d7f7d4105",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 20,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "7951437c2b6f7079",
+ "salt" : "caada2e55c49492f",
+ "iterationCount" : 4096,
+ "iv" : "3a0185b1423310796b052e9128334b04",
+ "msg" : "be82c331a83dd0c472abc6ae8725d2ba48b3ad",
+ "ct" : "7a639c5090748f622dc1365b536b04cb8bb3c22923eb71fe2f469287511cd2ba",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 21,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "525c2424652a603d",
+ "salt" : "26ea52da49513b47",
+ "iterationCount" : 4096,
+ "iv" : "b9c70ea8599e136a64b2a6733e8ceb40",
+ "msg" : "d964c8b7fac0906c25654186f8d8e74b62dac5ac",
+ "ct" : "dc31adae2c486e98939cbadbcaf2a9be3b1de80ad976aaf8fa92c01b4addc166",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 22,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "6e446161627e6a3d",
+ "salt" : "64c6e216305ac8e5",
+ "iterationCount" : 4096,
+ "iv" : "2e089b050bfcbb214a3904344b25a28d",
+ "msg" : "00bba99a3d64657e16b70ee50c091488661c0af597",
+ "ct" : "50b722313818dc0740d94e4413fa06fb0a5acc6f7b691e3b45f5e0f42eb44ea4",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 23,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "5b413d39776e3323",
+ "salt" : "33017b20ba4a7af2",
+ "iterationCount" : 4096,
+ "iv" : "6fcf1307b562738a387c75885a7d6bf9",
+ "msg" : "1f6c99446d139e9ea5d46af1667b733eb8748e5e0e18",
+ "ct" : "0ade00ef15ddb5d400fc10b81f35d7462f512681a922aca9e093039b60311df3",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 24,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "414838254a683628",
+ "salt" : "127e43a6c714f168",
+ "iterationCount" : 4096,
+ "iv" : "21bb5b1c774409d06067597153422573",
+ "msg" : "773f5e2ebe6ce60683cac6a9e2f0c9663556923582bdec",
+ "ct" : "6f79959eb9fc4cc21eba9bad1f246ad8d2027c65a7d0ab95dd715dad85ebd76e",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 25,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "3c202b435634305d",
+ "salt" : "45f38c6678268b8e",
+ "iterationCount" : 4096,
+ "iv" : "348b3cca3ece503b42b20b2ae690c4eb",
+ "msg" : "8ab193d18b1dec59400822dd0cea7239b3743327488e3d2d",
+ "ct" : "2666a7a7e7b64a298c042fb0d804e6bbfdd3e7d259359613f8794ade00991617",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 26,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "6e43225f5832705b",
+ "salt" : "5911a7a49800e204",
+ "iterationCount" : 4096,
+ "iv" : "58b4f658efcf961c4715b0af0b0913b7",
+ "msg" : "b336756c278ab89c0539047824350469b05918446a672b4215",
+ "ct" : "4a170889728dcc24a2794a6521a9787671f96904855600272032190a33e4d7a1",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 27,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "3f26723264514541",
+ "salt" : "18a9d3dfa74d4024",
+ "iterationCount" : 4096,
+ "iv" : "497fe0d1a8c09aca8d98a11db8621077",
+ "msg" : "6cd40dc20c7103a39b83da1f8c67855b0ffd77c250e1447414a9",
+ "ct" : "63555239d4ec0a3bb3aeabf764f190b3757fccc8509a247e89beec52fddeb803",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 28,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "536d4a3b42714035",
+ "salt" : "9025629f385862f5",
+ "iterationCount" : 4096,
+ "iv" : "575fd9464cc1a36fcd23d7fc4ed304de",
+ "msg" : "40a37fae54940616cd6bb6cefb8f4521895fe9b7593492c2709003",
+ "ct" : "7e46b6c254079bcc2bef329bfecc7cc351ffb2dc98c633a21cfabc7e1c10e43f",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 29,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "283d692b21263f41",
+ "salt" : "4f9ca92d54e165d1",
+ "iterationCount" : 4096,
+ "iv" : "402239571eaf6f7162fd4fe620d55948",
+ "msg" : "d47c8c9ec28820d760abfe731e9e9818d34abad20da255cff68fd374",
+ "ct" : "ebf702c97e61152114c9757baaab3a5eee57beb96e19960b0ee46699c80b332b",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 30,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "3658665b3a546f47",
+ "salt" : "5ae48edef6811519",
+ "iterationCount" : 4096,
+ "iv" : "2425c2af851d56445c8e11b4529e3287",
+ "msg" : "5892825348e6160fd4f95f0a619a5a41604ee4b21ace4c9f61adf31ebc",
+ "ct" : "50ce51745405c75f5794ca328238ab602722cdd104bda66fdbe4d02207df8118",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 31,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "257d78712275712a",
+ "salt" : "e2a7c16a6fe6a1fc",
+ "iterationCount" : 4096,
+ "iv" : "9dc7a4ff8a5a9d04d1b88c14028092c5",
+ "msg" : "596c0a1b3f9c251c98b15fb077da34c72e415ab9f4f01ac865421a7b89be",
+ "ct" : "8295a9c835117c8d4c1a369a9030943e88e07969c0e8a81d1dc6f9a72d18c8cd",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 32,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "2b75433d3a69566c",
+ "salt" : "a6d0b6f795cbe6a8",
+ "iterationCount" : 4096,
+ "iv" : "5804285758b9e6450148872a11dcc421",
+ "msg" : "18e18b3cb96d6d9ff0730b2ff70ac2be9577a75555554f6c446ed30850c167",
+ "ct" : "84b7ba306adebb79ee3180a0ca7ee6667f23a6324af2cd66950d41ad0ce750f7",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 33,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "252b6452647b4520",
+ "salt" : "e817780ed7997728",
+ "iterationCount" : 4096,
+ "iv" : "ff2512297f3fd5aa2b859432b9f53006",
+ "msg" : "8e9b1f95807a3c1bc95027ca72d2ae717b7e9dceac7437fc32a1aad2343ce69e",
+ "ct" : "b12e2337b31ea072c50f187081cc176c5135a8d853832e7516be2364a172b457d375a6240befd7212cdd2e5a9576ef1d",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 34,
+ "comment" : "password contains only ASCII characters",
+ "flags" : [
+ "Ascii"
+ ],
+ "password" : "4b2d6c600e66535c7f3d6d6c",
+ "salt" : "7a4c02db8bd8fcc2",
+ "iterationCount" : 4096,
+ "iv" : "d62747fca1a7dfbee90597b3f57fffa2",
+ "msg" : "52dd188a4585bbaa85ced8d529d880b3",
+ "ct" : "b31892fa960d9d88b8514d32fce46df290d7c1714bb363a0454b19ce64d07694",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 35,
+ "comment" : "password contains only ASCII characters",
+ "flags" : [
+ "Ascii"
+ ],
+ "password" : "706614257f522b6315345f7c",
+ "salt" : "94ef44b92e15fa35",
+ "iterationCount" : 4096,
+ "iv" : "c489480ee8a00898f3151317c2c614b9",
+ "msg" : "9cb42f3f2992357a7beeedfa37653f4d41",
+ "ct" : "8868e13b86a5a75fac470315498653241dada818c059aef4428042c8ad6d09a0",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 36,
+ "comment" : "password contains only ASCII characters",
+ "flags" : [
+ "Ascii"
+ ],
+ "password" : "1f4b7b354903545f2b07720b",
+ "salt" : "62f91ea01f3a18aa2f122bd15c4a615b",
+ "iterationCount" : 4096,
+ "iv" : "05d867eae06fbfd2efda349bc3dcd473",
+ "msg" : "64f33addb1e1671f867e96a3e8339ecd",
+ "ct" : "6e49585a2a01adb4d1226483ca11af05a193778600167b242360c240839caf8b",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 37,
+ "comment" : "password contains only ASCII characters",
+ "flags" : [
+ "Ascii"
+ ],
+ "password" : "1e2e16140e4a4d19251b6f5f",
+ "salt" : "bdf156b4d87a5e07cd9481b3d136887c",
+ "iterationCount" : 4096,
+ "iv" : "b64e4b7176cfafe46235e8b32b2508e6",
+ "msg" : "9b31b854ff09e4cdd28b817fb2f2cdb6c9",
+ "ct" : "e7db134744c93f90429fa27c6a04026a50a37190d414951e51a131d3d4f50250",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 38,
+ "comment" : "password contains only ASCII characters",
+ "flags" : [
+ "Ascii"
+ ],
+ "password" : "15296b0933473119180f3c0645202d5221633803",
+ "salt" : "d7412e4137fc4410",
+ "iterationCount" : 4096,
+ "iv" : "d227c8c98a652788944977f9bc73a20d",
+ "msg" : "86159d5e3b903a51a833ce561f39ae0a",
+ "ct" : "3b2bfdbba6cd569c75933f53ecce9e597d5eab775f156b7ef00d257217bc55a8",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 39,
+ "comment" : "password contains only ASCII characters",
+ "flags" : [
+ "Ascii"
+ ],
+ "password" : "00017e1e176769476d2433302f3506590e632a0c",
+ "salt" : "28c1759d783256fd",
+ "iterationCount" : 4096,
+ "iv" : "cf23a38fef611880acf9107ffa9e29a8",
+ "msg" : "79532d85a40aa575377172611dd4f0047c",
+ "ct" : "5cd7dff9c5775cdf8ab8f5a3eaaf2077091e7ffe8fc739fa54a32e37d79007cb",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 40,
+ "comment" : "password contains only ASCII characters",
+ "flags" : [
+ "Ascii"
+ ],
+ "password" : "7a106c2773542c791d2f0a02632b69644f666278",
+ "salt" : "a36350db68186d747254bd9835219487",
+ "iterationCount" : 4096,
+ "iv" : "568af67455f416a63d3ced652c32a74d",
+ "msg" : "96687d00d01854bbc2151ed4fdec8732",
+ "ct" : "c2c095f9525f1ef96b3498e0c19e53d6f82b5ca7d6b602c140e54d6913e585be",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 41,
+ "comment" : "password contains only ASCII characters",
+ "flags" : [
+ "Ascii"
+ ],
+ "password" : "350e2f050d444c09374977205a6b063736373067",
+ "salt" : "3cadfed36847faa4af545c426b7bcbc5",
+ "iterationCount" : 4096,
+ "iv" : "1ee0658f81c645721618de5849c3baf1",
+ "msg" : "89e4167cba0f8ca3a4b1640b023612d963",
+ "ct" : "07ba73ea456b5395d6af3c3843658954d8ae4c8f3f949cc4ca75fcdff6c19a1d",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 42,
+ "comment" : "password is a valid UTF-8 encoding",
+ "flags" : [
+ "Utf8"
+ ],
+ "password" : "d0a3d1bed38acc83",
+ "salt" : "8dfae85c9f2072ae",
+ "iterationCount" : 4096,
+ "iv" : "13a77b4b2eb10b260ac889b432d7af1c",
+ "msg" : "41a21ec6f04859724a1dfcdcf85e6c3a",
+ "ct" : "2f1fb270b6c6fea20f9c5ea7b22db2d2efad1f45117793e52470ceb7579b4b5f",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 43,
+ "comment" : "password is a valid UTF-8 encoding",
+ "flags" : [
+ "Utf8"
+ ],
+ "password" : "d4b8cbbcc49bd9b6",
+ "salt" : "657a212f745924eb",
+ "iterationCount" : 4096,
+ "iv" : "6529f3dc9f0197e2f5c6e889b1b6097f",
+ "msg" : "231765341c414e93ec399b804a79a65dfc",
+ "ct" : "59ca5ccf0c6c4a953029622d1eb4e02496314871862314751867025b1603505e",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 44,
+ "comment" : "password is a valid UTF-8 encoding",
+ "flags" : [
+ "Utf8"
+ ],
+ "password" : "c299d292cd92dcb8",
+ "salt" : "99c55e182238c8e0c385447685e9ba85",
+ "iterationCount" : 4096,
+ "iv" : "34d4cc26cd871885c8e781d6e8b9ec67",
+ "msg" : "4bf1f98da6113ca66cc18283aedb4cc5",
+ "ct" : "2f47b98f67a645589a1302165eb6d3501d110217a74dd8ca0cb7648de38dd2c4",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 45,
+ "comment" : "password is a valid UTF-8 encoding",
+ "flags" : [
+ "Utf8"
+ ],
+ "password" : "da9dd3acdca2df8a",
+ "salt" : "b5413f52391a2ff0fb19563c0b40a445",
+ "iterationCount" : 4096,
+ "iv" : "b4d3b1dbbc034d407ce552e6bc63fee1",
+ "msg" : "e2e81593f6591df708582f4cce0b1c6d78",
+ "ct" : "4aac79b377fac1c7bda868016041c946188005dcda87e628853e1312a51de57c",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 46,
+ "comment" : "password is a valid UTF-8 encoding",
+ "flags" : [
+ "Utf8"
+ ],
+ "password" : "cfbec3b9d7acc7a9d585d1a5c28fcca119",
+ "salt" : "e9c55717a1259a29",
+ "iterationCount" : 4096,
+ "iv" : "cd718713a05183c1aa4bc4c01794b382",
+ "msg" : "1f4425a96b272fc27bcbfda0bb7e0dd8",
+ "ct" : "d64253b9b942ffbb7383b246e09257b9cc52416110eb5221603e1d9cc579d443",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 47,
+ "comment" : "password is a valid UTF-8 encoding",
+ "flags" : [
+ "Utf8"
+ ],
+ "password" : "d492c59061cd9dd9b8c28fd39fcd9e24",
+ "salt" : "09deec77ec44eb6e",
+ "iterationCount" : 4096,
+ "iv" : "0f958378c10c245540b9ce61d7781fd8",
+ "msg" : "ae209895c5cb179e54649749cdb245b9ce",
+ "ct" : "059f9beaddbae6d50650e698c2b2021f48d2406701ba91c5572ea619f2ed2ed2",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 48,
+ "comment" : "password is a valid UTF-8 encoding",
+ "flags" : [
+ "Utf8"
+ ],
+ "password" : "da9dd096cb93db88dbbed495ceaacf853c",
+ "salt" : "200bba668b2010b1968b82091848937c",
+ "iterationCount" : 4096,
+ "iv" : "39d3e787c076007b3c173b75597b08c5",
+ "msg" : "0b4e337297c6cdd5c51f8ee7e633ef8f",
+ "ct" : "3fe2be90a0cbd7f74d5ebd53d919d50a7a79bd7862f4e8c7cbf217eef699b91a",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 49,
+ "comment" : "password is a valid UTF-8 encoding",
+ "flags" : [
+ "Utf8"
+ ],
+ "password" : "d9aacab7c2a0dbb5d89bc7acde9cceb50c",
+ "salt" : "1d87767829bd386ad2038cea7a0b542f",
+ "iterationCount" : 4096,
+ "iv" : "cfb67f9bb8cfb0e05684fcba195f0f19",
+ "msg" : "a9e289e0a985df90dfe23230c414dcb1fa",
+ "ct" : "0dcc73018ec65a3061141aed85f8d019783899d26d1983d76a10de671b6174b3",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 50,
+ "comment" : "password is a random byte string",
+ "flags" : [
+ "NonUtf8"
+ ],
+ "password" : "8423ec7ea4ca4b03",
+ "salt" : "8dfae85c9f2072ae",
+ "iterationCount" : 4096,
+ "iv" : "13a77b4b2eb10b260ac889b432d7af1c",
+ "msg" : "41a21ec6f04859724a1dfcdcf85e6c3a",
+ "ct" : "1b655551b6db566013953fe87e66a0b26045fce21020c015fbfb55cf2a2af323",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 51,
+ "comment" : "password is a random byte string",
+ "flags" : [
+ "NonUtf8"
+ ],
+ "password" : "7538a2fc091b6e76",
+ "salt" : "657a212f745924eb",
+ "iterationCount" : 4096,
+ "iv" : "6529f3dc9f0197e2f5c6e889b1b6097f",
+ "msg" : "231765341c414e93ec399b804a79a65dfc",
+ "ct" : "9b51fef34b831b25bbbd984779ba741f29d5f66d4b602a4c6cd2089a9bc44bf9",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 52,
+ "comment" : "password is a random byte string",
+ "flags" : [
+ "NonUtf8"
+ ],
+ "password" : "48997492c3528738",
+ "salt" : "99c55e182238c8e0c385447685e9ba85",
+ "iterationCount" : 4096,
+ "iv" : "34d4cc26cd871885c8e781d6e8b9ec67",
+ "msg" : "4bf1f98da6113ca66cc18283aedb4cc5",
+ "ct" : "1fe210c6ff2fc857ed5ec57617728c2c15cc8c01e557f01ecc2be81bf8d5df4f",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 53,
+ "comment" : "password is a random byte string",
+ "flags" : [
+ "NonUtf8"
+ ],
+ "password" : "c69d34ec7722ffca",
+ "salt" : "b5413f52391a2ff0fb19563c0b40a445",
+ "iterationCount" : 4096,
+ "iv" : "b4d3b1dbbc034d407ce552e6bc63fee1",
+ "msg" : "e2e81593f6591df708582f4cce0b1c6d78",
+ "ct" : "22fd3bafecca482ce2b112157a33f037f9f3967c098d8473fe92738d04826145",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 54,
+ "comment" : "password is a random byte string",
+ "flags" : [
+ "NonUtf8"
+ ],
+ "password" : "e3feb0f96dec61e9dd451465f88f132119",
+ "salt" : "e9c55717a1259a29",
+ "iterationCount" : 4096,
+ "iv" : "cd718713a05183c1aa4bc4c01794b382",
+ "msg" : "1f4425a96b272fc27bcbfda0bb7e0dd8",
+ "ct" : "dba5bf5c965154fea3b678ead98cfc99a60c6256cfcc1f77d720f75492722c3f",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 55,
+ "comment" : "password is a random byte string",
+ "flags" : [
+ "NonUtf8"
+ ],
+ "password" : "ed12a9502061d35d9678188f1cdf135e24",
+ "salt" : "09deec77ec44eb6e",
+ "iterationCount" : 4096,
+ "iv" : "0f958378c10c245540b9ce61d7781fd8",
+ "msg" : "ae209895c5cb179e54649749cdb245b9ce",
+ "ct" : "2054f55cd0b1a96991f27857066a4288dbabbe4269551f12c71329351922f799",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 56,
+ "comment" : "password is a random byte string",
+ "flags" : [
+ "NonUtf8"
+ ],
+ "password" : "9e9d7c166ad3bec856fe5d15d3aacbc53c",
+ "salt" : "200bba668b2010b1968b82091848937c",
+ "iterationCount" : 4096,
+ "iv" : "39d3e787c076007b3c173b75597b08c5",
+ "msg" : "0b4e337297c6cdd5c51f8ee7e633ef8f",
+ "ct" : "62b91c6a401377955800d3ad51a14ee74602e76c324170fb6d93e6d9c8e2a391",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 57,
+ "comment" : "password is a random byte string",
+ "flags" : [
+ "NonUtf8"
+ ],
+ "password" : "466a02b7d8a046f5161b41ecef9cc3b50c",
+ "salt" : "1d87767829bd386ad2038cea7a0b542f",
+ "iterationCount" : 4096,
+ "iv" : "cfb67f9bb8cfb0e05684fcba195f0f19",
+ "msg" : "a9e289e0a985df90dfe23230c414dcb1fa",
+ "ct" : "d8858e2e76583bca924fa9b342b94908e388e2226c649b6b54b560dabd0b73fa",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 58,
+ "comment" : "password is an ASCII string encoded as BMPString",
+ "flags" : [
+ "Ascii",
+ "BmpString"
+ ],
+ "password" : "002d0000",
+ "salt" : "66a92292e6db2d9e",
+ "iterationCount" : 4096,
+ "iv" : "7911306933f1131299247a85b585bed8",
+ "msg" : "63219964fd79651fe1be8ad5e90f414c",
+ "ct" : "cccf3ba42cb9521cea83e7e22b5f9b756868d4a1b5b3f0f6a7ba2b74826898c8",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 59,
+ "comment" : "password is an ASCII string encoded as BMPString",
+ "flags" : [
+ "Ascii",
+ "BmpString"
+ ],
+ "password" : "00470000",
+ "salt" : "88abb902385f0efc",
+ "iterationCount" : 4096,
+ "iv" : "109f2c7a8aacc98d0aa176b1b43f2ece",
+ "msg" : "34ce8c499c20714c34506b8e8b87b103d2",
+ "ct" : "af5099b76f9df55f00c163b8f1ff758b125a6a8053787a6d1ca7bb4d974ba487",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 60,
+ "comment" : "password is an ASCII string encoded as BMPString",
+ "flags" : [
+ "Ascii",
+ "BmpString"
+ ],
+ "password" : "004400640042004d0064006d000100790000",
+ "salt" : "675617aaff664428",
+ "iterationCount" : 4096,
+ "iv" : "c08dd25d3aa04749850301e9b8f8eb28",
+ "msg" : "4f5f5d4d0a21d463419db42fdff6ae6c",
+ "ct" : "927e4452ccab0219a12f2cf13c408335e42c8d76d67db2d1ef241092607c3f68",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 61,
+ "comment" : "password is an ASCII string encoded as BMPString",
+ "flags" : [
+ "Ascii",
+ "BmpString"
+ ],
+ "password" : "007400760025002a0012005b005c00610000",
+ "salt" : "957a9ab7ad9fc7de",
+ "iterationCount" : 4096,
+ "iv" : "126081b5c830984abd553ec39b080f39",
+ "msg" : "ede5a5ea322b7972a789bb5af48f384218",
+ "ct" : "3d5715a06c4fe38c7553f8dd5563895abe4082226a15e718ac021b7c3fa27f11",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 62,
+ "comment" : "password is an ASCII string encoded as BMPString",
+ "flags" : [
+ "Ascii",
+ "BmpString"
+ ],
+ "password" : "0023000d00510069001d0077002a0009001200010034004d00520070006100290000",
+ "salt" : "deea2dabe885caf6",
+ "iterationCount" : 4096,
+ "iv" : "698a466cec24214100bb3f30a6820bf7",
+ "msg" : "930b94a70883efd733f63f841dfc3d17",
+ "ct" : "28111e433f5977c0a114d3ccddca9953aa35cf55982b91e086ea18601500408a",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 63,
+ "comment" : "password is an ASCII string encoded as BMPString",
+ "flags" : [
+ "Ascii",
+ "BmpString"
+ ],
+ "password" : "007300520057005c005600180030003c004b0050007c004f00020020002600390000",
+ "salt" : "6ed69f23acf64114",
+ "iterationCount" : 4096,
+ "iv" : "59efebfe7a6056507dc17778e5c444c5",
+ "msg" : "538705a997333fc2bf4f44f2bb90f3cd26",
+ "ct" : "d77a5cee1925a7b4662b190d4ce3e056867df4cbffc92b940439824314a72e34",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 64,
+ "comment" : "password is a BMPString",
+ "flags" : [
+ "NonUtf8",
+ "BmpString"
+ ],
+ "password" : "92ae0000",
+ "salt" : "6978583ea9c24c49",
+ "iterationCount" : 4096,
+ "iv" : "0192ad10599677f253e7dea587373553",
+ "msg" : "c06bcb3b5cd9c1317f5eb7ba50882530",
+ "ct" : "ceeeb7dd0cdc1bfcfab0f8ce5653a3c7010ca49a726f7849d5311ea601978913",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 65,
+ "comment" : "password is a BMPString",
+ "flags" : [
+ "NonUtf8",
+ "BmpString"
+ ],
+ "password" : "38a90000",
+ "salt" : "c217b8c980fe4698",
+ "iterationCount" : 4096,
+ "iv" : "890a0303475f07189a0fe14b4e509217",
+ "msg" : "1ea8b43513275537d021c0f75849c01840",
+ "ct" : "5f74e55388d75672f0130aa6035bce1cc36e7a2b6ca57bc29044eacde2f4d751",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 66,
+ "comment" : "password is a BMPString",
+ "flags" : [
+ "NonUtf8",
+ "BmpString"
+ ],
+ "password" : "4464c2cde4ed81790000",
+ "salt" : "675617aaff664428",
+ "iterationCount" : 4096,
+ "iv" : "c08dd25d3aa04749850301e9b8f8eb28",
+ "msg" : "4f5f5d4d0a21d463419db42fdff6ae6c",
+ "ct" : "8df185eb9062623927da2f983f60406b850b3130fb208e5f641221e228301add",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 67,
+ "comment" : "password is a BMPString",
+ "flags" : [
+ "NonUtf8",
+ "BmpString"
+ ],
+ "password" : "f4f6a52a925b00610000",
+ "salt" : "957a9ab7ad9fc7de",
+ "iterationCount" : 4096,
+ "iv" : "126081b5c830984abd553ec39b080f39",
+ "msg" : "ede5a5ea322b7972a789bb5af48f384218",
+ "ct" : "1e834ab0ace5b25f5e497dc92975f9f5021d4ed7663b23ffc15e13513597f3b7",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 68,
+ "comment" : "password is a BMPString",
+ "flags" : [
+ "NonUtf8",
+ "BmpString"
+ ],
+ "password" : "a38d51691d77aa891281b44d52f061a90000",
+ "salt" : "deea2dabe885caf6",
+ "iterationCount" : 4096,
+ "iv" : "698a466cec24214100bb3f30a6820bf7",
+ "msg" : "930b94a70883efd733f63f841dfc3d17",
+ "ct" : "04605d7b233eab9be7195d9bbff72eae6faf19e8e29fd7cb6d0194e9b76d0892",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 69,
+ "comment" : "password is a BMPString",
+ "flags" : [
+ "NonUtf8",
+ "BmpString"
+ ],
+ "password" : "f35257dc5698b0bccbd0fc4f02a026390000",
+ "salt" : "6ed69f23acf64114",
+ "iterationCount" : 4096,
+ "iv" : "59efebfe7a6056507dc17778e5c444c5",
+ "msg" : "538705a997333fc2bf4f44f2bb90f3cd26",
+ "ct" : "d5d30e35937806bfc23de227c36e36f69b8d979b512f30ee8e797fbefa66f044",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 70,
+ "comment" : "empty password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "",
+ "salt" : "79d4c53a51c41815",
+ "iterationCount" : 4096,
+ "iv" : "a8e86525fa4f365373045533b33902bd",
+ "msg" : "a62c0d9b5bcb932f65058396367673e8",
+ "ct" : "cc3b55cd553bc2be8d9db58b877a8845a48457dbf8159c39a71cdcc252e1cacf",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 71,
+ "comment" : "empty password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "",
+ "salt" : "65f8fa8b52cd47b0",
+ "iterationCount" : 4096,
+ "iv" : "bfb545e71f39df509870139862965526",
+ "msg" : "a3bae2fae05b77c7673d71901268eed173",
+ "ct" : "ec4d4ccd9c84d180beeeba4d155e852afa7d391db06a8fd4a48ce58f74c345ad",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 72,
+ "comment" : "password is an empty BMPString",
+ "flags" : [
+ "Ascii",
+ "BmpString"
+ ],
+ "password" : "0000",
+ "salt" : "f488f026badc3624",
+ "iterationCount" : 4096,
+ "iv" : "2979c2a734e4cd5da5d9a7e69c3f8b8e",
+ "msg" : "d63088e9bf4e9105bc287f0ab6823af9",
+ "ct" : "ecd7411c719e0d03900e22d7c355984a29c1fa31cce28e764dd51cbdefdb5432",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 73,
+ "comment" : "password is an empty BMPString",
+ "flags" : [
+ "Ascii",
+ "BmpString"
+ ],
+ "password" : "0000",
+ "salt" : "542ada9132800d2c",
+ "iterationCount" : 4096,
+ "iv" : "844635e540de3a85c02f2df9413ff911",
+ "msg" : "08dfdd58aa603d5fc4bdaa9cb24ce82bca",
+ "ct" : "ca8e3a6330f8d4b030660ba9cdc6e6bff0ad905edd2ea1c858b6ae4069779214",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 74,
+ "comment" : "long password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "61473a5f3441403c4a32204575314b24312d402225634c5653603d52756f247e414c3c2a4e2b3b25704140762170713a272526386448434b462a7a2c75395c725f",
+ "salt" : "80f8e7ac4649fd77",
+ "iterationCount" : 4096,
+ "iv" : "43db6bbe8b43b065bf32cd67c023856f",
+ "msg" : "e443a5541e1c0bd038030f78952195e0",
+ "ct" : "5ec78a0f310edea61fc74ff5f5151f11cced0baa2fb2353920fbac825e9d243c",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 75,
+ "comment" : "long password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "7b2e6e6c462a24546c402c525a7e566e613a255c48422f364e51217b343a31253546355430315c2b2f352042385421323f5b47232e495329596c307d4f4153566746523b386023615b4c3f3a757131214d46662965645e44284d2268507a2364312d7568224751254a35273e5b69792773644555323039787e4e525647526a7d74",
+ "salt" : "66b3a75c3d1de7a7",
+ "iterationCount" : 4096,
+ "iv" : "4929fb5d6adc043751411a8165325219",
+ "msg" : "fc5d6ee5b19b873fac6f54160be4d52a",
+ "ct" : "39c46f094c9dd46d72ca4d6ea8e59b14f249270fb36523f8cc130d1a9db99158",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 76,
+ "comment" : "long password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "2a4235363559523e265f4c2b48685b374e347c4b384347346a513c2251753927742c427d25732e532b4e202648522b395d5763457a705e4b637a5535216e4e4e3a523a5b5e546d7625614e2f3623557e46454d413032515f2c30214971277b23606242283e4b3445426c2e4d7c40346d47777c4e3f6e572e24664a5e286c34775c2f5e3f2960744f644b2d47532c77447a58405e335b7d3a6b5831507b642f392b3638365c4341425e46655f577e31533f41626b6056393e5d32213b716d455d2637762a4c693e6c4b5449383a504e7c5e2d442030735f7d3a56273c497d773f32427b57692f7d61373d29236f6021624b41787e603d70313e5c68334a2b534653",
+ "salt" : "73e6c34cda6b6309",
+ "iterationCount" : 4096,
+ "iv" : "44f36e53ab4a6391acc5565de7358438",
+ "msg" : "309b773bcd825e66bd3117097f536b0e",
+ "ct" : "fb0c8f8deb702955303cc6a0fbe083717611573cfe8bd4b24bf9e7a6bfba75c6",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 77,
+ "comment" : "special case password",
+ "flags" : [
+ "NonUtf8"
+ ],
+ "password" : "ff",
+ "salt" : "330226023aa6c045",
+ "iterationCount" : 4096,
+ "iv" : "c78e1ec445dbe9742d205432712442bf",
+ "msg" : "4b8243aab5cba8be6853eeaa65e3ebb0",
+ "ct" : "89800b3d621ed79273a2601d13dcfb5857b167507307ede6174935c5fcbd1f3c",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 78,
+ "comment" : "special case: truncated UTF-8 string",
+ "flags" : [
+ "NonUtf8"
+ ],
+ "password" : "c0",
+ "salt" : "e19e4f175a64d35a",
+ "iterationCount" : 4096,
+ "iv" : "7545745f8d0bfe38f024371e12008a5f",
+ "msg" : "9e21b64aeff5338eb9bc71b19ef8f8e7",
+ "ct" : "0db6ab6fe3aadcb6c8553becdbf4283472c4121adadf11fea4c18512846748c6",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 79,
+ "comment" : "special case: invalid UTF-8 bytes",
+ "flags" : [
+ "NonUtf8"
+ ],
+ "password" : "ffffffffffffffff",
+ "salt" : "1eb37da28a65f626",
+ "iterationCount" : 4096,
+ "iv" : "5e9d991fa22878ac5256759c6c9cb53e",
+ "msg" : "319c92804c5560f840cc5bdace9c925d",
+ "ct" : "2f7ab6d2171ec18e1a314218321653cd6e2063847108bb3d8864acde6158f993",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 80,
+ "comment" : "special case: invalid 2 byte UTF-8 code points",
+ "flags" : [
+ "NonUtf8"
+ ],
+ "password" : "c0c0c0c0c0c0c0c0",
+ "salt" : "2017b5e20a7cdbe0",
+ "iterationCount" : 4096,
+ "iv" : "7e42d185cab712e2982ca6ee4c2c61ec",
+ "msg" : "0f5a93c6771fc66aff78996d77421735",
+ "ct" : "27efc9984169d9c65ab3acdd005b9bd42fb6333fbb6256c06c31c5e087f77487",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 81,
+ "comment" : "special case: invalid 3 byte UTF-8 code points",
+ "flags" : [
+ "NonUtf8"
+ ],
+ "password" : "eeeeeeeeeeeeeeee",
+ "salt" : "84301f0aebda104f",
+ "iterationCount" : 4096,
+ "iv" : "4ba655c171677a0dfbc5f6312387c15d",
+ "msg" : "86caabd40a5c738720de173597ea72f6",
+ "ct" : "51534562dcdad686c36f5687ad178047dd5126527fc22a9671939250405c55fa",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 82,
+ "comment" : "special case: invalid UTF-8 code points",
+ "flags" : [
+ "NonUtf8"
+ ],
+ "password" : "f0f0f0f0f0f0f0f0",
+ "salt" : "64baccfdd4e4b41b",
+ "iterationCount" : 4096,
+ "iv" : "d6b443472d2cf853c0c05f5327faced7",
+ "msg" : "4e0ee09328663637f21410fb8ad057a1",
+ "ct" : "fde42b3e4e80a645f337da3d4b0bcbc4b39355d1b0107827bd31bc97f5a3b007",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 83,
+ "comment" : "special case for UTF-16",
+ "flags" : [
+ "NonUtf8"
+ ],
+ "password" : "dbdbdbdbdbdbdbdb",
+ "salt" : "ba21795fffb901bc",
+ "iterationCount" : 4096,
+ "iv" : "753675f249b8c153997a797116495204",
+ "msg" : "706c565ba28370ff433460cc9f8d845a",
+ "ct" : "3463229fa3acd945e66a6fc4be055067eabb54e613c8828a570025ea814b106d",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 84,
+ "comment" : "special case: long all zero password",
+ "flags" : [
+ "Ascii"
+ ],
+ "password" : "0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
+ "salt" : "22871ffd379d9951",
+ "iterationCount" : 4096,
+ "iv" : "2e949af1052a230e7560d9ae1ce75042",
+ "msg" : "16d1b65deb2d67fc3242792a19d5c227",
+ "ct" : "892fc328a2325b1fecf236d1905be50b38af1aa4b6cc395a8e1f9c94ee6550a6",
+ "result" : "valid"
+ }
+ ]
+ }
+ ]
+}
diff --git a/testvectors_v1/pbes2_hmacsha256_aes_192_test.json b/testvectors_v1/pbes2_hmacsha256_aes_192_test.json
new file mode 100644
index 0000000..2deea71
--- /dev/null
+++ b/testvectors_v1/pbes2_hmacsha256_aes_192_test.json
@@ -0,0 +1,1228 @@
+{
+ "algorithm" : "PbeWithHmacSha256AndAes_192",
+ "schema" : "pbe_test_schema.json",
+ "generatorVersion" : "0.9",
+ "numberOfTests" : 84,
+ "header" : [
+ "Test vector of type PbeTest are used for PBES1 or PBES2."
+ ],
+ "notes" : {
+ "Ascii" : {
+ "bugType" : "FUNCTIONALITY",
+ "description" : "The test vector contains a password consisting of ASCII characters."
+ },
+ "BmpString" : {
+ "bugType" : "FUNCTIONALITY",
+ "description" : "The test vectors contains a password that is a valid BMPString as used in RFC 7292. This RFC uses big endian encoding and a null terminator."
+ },
+ "NonUtf8" : {
+ "bugType" : "FUNCTIONALITY",
+ "description" : "The test vector contains a password that is not a valid UTF-8 string."
+ },
+ "Printable" : {
+ "bugType" : "FUNCTIONALITY",
+ "description" : "The test vector contains a password consisting of printable ASCII characters."
+ },
+ "Utf8" : {
+ "bugType" : "FUNCTIONALITY",
+ "description" : "The test vector contains a password that is a valid UTF-8 string."
+ }
+ },
+ "testGroups" : [
+ {
+ "type" : "PbeTest",
+ "tests" : [
+ {
+ "tcId" : 1,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "7743656734722c30",
+ "salt" : "fcd9a324f025ef40",
+ "iterationCount" : 4096,
+ "iv" : "42f02ff71b8524d1678ab2e34f9e7d47",
+ "msg" : "",
+ "ct" : "e09fd42b0b4885803936a64f83b562c6",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 2,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "64395f4b48295839",
+ "salt" : "bfb221ba6de64926",
+ "iterationCount" : 4096,
+ "iv" : "7a735848780923657c0c54bc2ff0d9f8",
+ "msg" : "a3",
+ "ct" : "05ba5ad6dc87e1c54e67d057e4fd3100",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 3,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "3a787e4c2c604d70",
+ "salt" : "dc64f1fd4705b4e5",
+ "iterationCount" : 4096,
+ "iv" : "579ff2437d6739742421b6e4e70d5c27",
+ "msg" : "4204",
+ "ct" : "b7f628df82be4a224fefc34fd6bcf740",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 4,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "2a67656a66296120",
+ "salt" : "4c379a2bd962d19a",
+ "iterationCount" : 4096,
+ "iv" : "5bff9a5e8692229679cbd70fcfdebb74",
+ "msg" : "ceb541",
+ "ct" : "28d497d1ffb1a05693ec438a97ecadf4",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 5,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "3b55267d5f4b2d4c",
+ "salt" : "08e041282eed4f00",
+ "iterationCount" : 4096,
+ "iv" : "17c5e988149370694c1b3b8cb0e44225",
+ "msg" : "10d032a7",
+ "ct" : "a533578b48a7628632bbea7fbd804b0f",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 6,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "4f317e2e525e517a",
+ "salt" : "bd5c4b6f25a1f6ff",
+ "iterationCount" : 4096,
+ "iv" : "76e5e3eb771a4daec6fabdc0b0793195",
+ "msg" : "29d9f1a701",
+ "ct" : "f9e88ea2669b94e7fd6bf9b168a7cd18",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 7,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "6557766473282375",
+ "salt" : "ea1efbb1c86b0c06",
+ "iterationCount" : 4096,
+ "iv" : "1f186ad98435e90fd7700695c986ef78",
+ "msg" : "6f124d8a8248",
+ "ct" : "a742a81da4ee43654cb1bc8b38efff08",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 8,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "543a5f48765a2542",
+ "salt" : "f308bbcca74a2224",
+ "iterationCount" : 4096,
+ "iv" : "26bbbf2e18f06a4524e13bfd1ac00b37",
+ "msg" : "a1163153287dfe",
+ "ct" : "c95cc9a6c50708ab7cfb014582c49f33",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 9,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "695a3c642f457a52",
+ "salt" : "7af3b0005c594502",
+ "iterationCount" : 4096,
+ "iv" : "6d9e8ea3d6ed355bf5e65b12995dbf6a",
+ "msg" : "9b29df8b3b9862f4",
+ "ct" : "3d9d1d9430ce69bca8353db07f79a92e",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 10,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "2a772a233f216e60",
+ "salt" : "172d5f4595c220dd",
+ "iterationCount" : 4096,
+ "iv" : "a5941967d4f6934431bd9951e20a93a6",
+ "msg" : "fe51cf84289221b894",
+ "ct" : "926ac26377c0472407056dee9b67874e",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 11,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "793c43623652216f",
+ "salt" : "d1d722eee2c5ebef",
+ "iterationCount" : 4096,
+ "iv" : "5cfe832947ec659f6847277ec1fab2f9",
+ "msg" : "696eb8b4e6b2015abb91",
+ "ct" : "234067162a87b6afdd3e58ee239512e6",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 12,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "4854515c222a2230",
+ "salt" : "843f5ff28978f214",
+ "iterationCount" : 4096,
+ "iv" : "430b247a435124754c83cc11203f18bd",
+ "msg" : "d8405be7823b472459a2fc",
+ "ct" : "326ad0916df26bd5fc7b72b0003e914a",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 13,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "48682a4d34266b40",
+ "salt" : "783f344a1fa7c9a8",
+ "iterationCount" : 4096,
+ "iv" : "c707947121e5fc2da16990a78772e0ab",
+ "msg" : "56c73b781c1bff72a8ae7faf",
+ "ct" : "fbfb221290c292af20625d6c34281961",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 14,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "293a746531294d5c",
+ "salt" : "2c75641f991eb10b",
+ "iterationCount" : 4096,
+ "iv" : "96dabd858e4187d0e50f8299ab60f029",
+ "msg" : "b07e8bbb45e9a17c124f6d5129",
+ "ct" : "16c534d61e89f454104759229031c78f",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 15,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "353377343f482b65",
+ "salt" : "cf1620e7aabb73b7",
+ "iterationCount" : 4096,
+ "iv" : "8e6dd70b1dd1c39d0b8b593c556d812b",
+ "msg" : "ff89eb184de11579cae7d110a350",
+ "ct" : "8c80188bebecfa151b3ec2935d11302b",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 16,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "614e2d4634335721",
+ "salt" : "6dffc1db31767608",
+ "iterationCount" : 4096,
+ "iv" : "78c899bcdc4cf7d933ddc9016bc6e64e",
+ "msg" : "5e859aac690c85646ffb3f2bbb0d9c",
+ "ct" : "a8a03df05079a2762b21ec6b4013aa30",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 17,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "6f5330325e22574e",
+ "salt" : "798acc7c76739d75",
+ "iterationCount" : 4096,
+ "iv" : "5bfcfd6d7013eb8828f72455d7535c77",
+ "msg" : "86059dc647ba7d0067099e16c3da8bb6",
+ "ct" : "01c6764f12d3728d914120b390866b7f8d29495c65fb19cf47da65df94cfcc73",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 18,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "3972245623494f42",
+ "salt" : "da5421f23ac5b5e1",
+ "iterationCount" : 4096,
+ "iv" : "12293114ddb85319240682c1765e4533",
+ "msg" : "fc9349cbd8c277786c888f3254342431a8",
+ "ct" : "121ac3936189dfd3b438734bde808bd1acf836d712d4212ca6fb6f241f096df5",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 19,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "464d2f76752b4d63",
+ "salt" : "8cfea3c6783cfc41",
+ "iterationCount" : 4096,
+ "iv" : "9c84fe91476ab1c6ed30db9bb7f60280",
+ "msg" : "ad10a3cdef856b0632f7ce200c11f6c569d2",
+ "ct" : "c6919385234028e27e9bbdbefc1f7096136161b37282b6b759f37cc9ae5e3276",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 20,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "7951437c2b6f7079",
+ "salt" : "caada2e55c49492f",
+ "iterationCount" : 4096,
+ "iv" : "3a0185b1423310796b052e9128334b04",
+ "msg" : "be82c331a83dd0c472abc6ae8725d2ba48b3ad",
+ "ct" : "81bef786361581034dbdf607dec888540998690beb8ff1b4e03a291c9d06751c",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 21,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "525c2424652a603d",
+ "salt" : "26ea52da49513b47",
+ "iterationCount" : 4096,
+ "iv" : "b9c70ea8599e136a64b2a6733e8ceb40",
+ "msg" : "d964c8b7fac0906c25654186f8d8e74b62dac5ac",
+ "ct" : "41bafdac3c5fb689b856f7890bbd5426145080b92cfced15eaf1f60729b80529",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 22,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "6e446161627e6a3d",
+ "salt" : "64c6e216305ac8e5",
+ "iterationCount" : 4096,
+ "iv" : "2e089b050bfcbb214a3904344b25a28d",
+ "msg" : "00bba99a3d64657e16b70ee50c091488661c0af597",
+ "ct" : "217cb1534778d6886e7bbad31f7b6f0b565d1c58d658145d85525e443c8fc0ae",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 23,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "5b413d39776e3323",
+ "salt" : "33017b20ba4a7af2",
+ "iterationCount" : 4096,
+ "iv" : "6fcf1307b562738a387c75885a7d6bf9",
+ "msg" : "1f6c99446d139e9ea5d46af1667b733eb8748e5e0e18",
+ "ct" : "000f9a3ad9f69b6fae57fcb70c6671f94e8ae85eab0257fb85de13695ff7e4b4",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 24,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "414838254a683628",
+ "salt" : "127e43a6c714f168",
+ "iterationCount" : 4096,
+ "iv" : "21bb5b1c774409d06067597153422573",
+ "msg" : "773f5e2ebe6ce60683cac6a9e2f0c9663556923582bdec",
+ "ct" : "2f0a1e1cf02af6f055b0283b24537d5bf42a13b8008e71aa21c6153ce145d773",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 25,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "3c202b435634305d",
+ "salt" : "45f38c6678268b8e",
+ "iterationCount" : 4096,
+ "iv" : "348b3cca3ece503b42b20b2ae690c4eb",
+ "msg" : "8ab193d18b1dec59400822dd0cea7239b3743327488e3d2d",
+ "ct" : "98e7cb27fa274ecf54e0cce0f1c0f36be4c3e7e66f311a1e7c8939cc78d00a11",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 26,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "6e43225f5832705b",
+ "salt" : "5911a7a49800e204",
+ "iterationCount" : 4096,
+ "iv" : "58b4f658efcf961c4715b0af0b0913b7",
+ "msg" : "b336756c278ab89c0539047824350469b05918446a672b4215",
+ "ct" : "7dbb54f26541a876653eabfd2bd0543dd9e9e6c0dca7c7265326a74bc6a39b0f",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 27,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "3f26723264514541",
+ "salt" : "18a9d3dfa74d4024",
+ "iterationCount" : 4096,
+ "iv" : "497fe0d1a8c09aca8d98a11db8621077",
+ "msg" : "6cd40dc20c7103a39b83da1f8c67855b0ffd77c250e1447414a9",
+ "ct" : "92b48eaa96b396f696c07f67931d0bd77a3745f76aeec581bed5a026c7c3eb42",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 28,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "536d4a3b42714035",
+ "salt" : "9025629f385862f5",
+ "iterationCount" : 4096,
+ "iv" : "575fd9464cc1a36fcd23d7fc4ed304de",
+ "msg" : "40a37fae54940616cd6bb6cefb8f4521895fe9b7593492c2709003",
+ "ct" : "4f0c4847aabd6e5769a9a93ee236f0461265594749366ae32c7b77abe8282768",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 29,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "283d692b21263f41",
+ "salt" : "4f9ca92d54e165d1",
+ "iterationCount" : 4096,
+ "iv" : "402239571eaf6f7162fd4fe620d55948",
+ "msg" : "d47c8c9ec28820d760abfe731e9e9818d34abad20da255cff68fd374",
+ "ct" : "23976ce1d55139f0bd93ac78e64e7e35a69c2e66a2cf82f3daff5c24368f14da",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 30,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "3658665b3a546f47",
+ "salt" : "5ae48edef6811519",
+ "iterationCount" : 4096,
+ "iv" : "2425c2af851d56445c8e11b4529e3287",
+ "msg" : "5892825348e6160fd4f95f0a619a5a41604ee4b21ace4c9f61adf31ebc",
+ "ct" : "33342742e7a78caf73d91cf7eea8e9fb59d3d8e97acf588c2b4e951fbb78b28c",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 31,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "257d78712275712a",
+ "salt" : "e2a7c16a6fe6a1fc",
+ "iterationCount" : 4096,
+ "iv" : "9dc7a4ff8a5a9d04d1b88c14028092c5",
+ "msg" : "596c0a1b3f9c251c98b15fb077da34c72e415ab9f4f01ac865421a7b89be",
+ "ct" : "88541702021c291df795521ccf6e2bb2c2f0b814dbe388ecd81160ba38a3847a",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 32,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "2b75433d3a69566c",
+ "salt" : "a6d0b6f795cbe6a8",
+ "iterationCount" : 4096,
+ "iv" : "5804285758b9e6450148872a11dcc421",
+ "msg" : "18e18b3cb96d6d9ff0730b2ff70ac2be9577a75555554f6c446ed30850c167",
+ "ct" : "db96cdcfff0c8f252b53e255c71bb3e5741253f7cf7d37648de505569cd73ed9",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 33,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "252b6452647b4520",
+ "salt" : "e817780ed7997728",
+ "iterationCount" : 4096,
+ "iv" : "ff2512297f3fd5aa2b859432b9f53006",
+ "msg" : "8e9b1f95807a3c1bc95027ca72d2ae717b7e9dceac7437fc32a1aad2343ce69e",
+ "ct" : "1cec48881db4e06578cfa8e17c9d9a8922b6aa1c0ad8fea14c4d4a1aba091680f4055e0e18704c9c15635c712b36a337",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 34,
+ "comment" : "password contains only ASCII characters",
+ "flags" : [
+ "Ascii"
+ ],
+ "password" : "4b2d6c600e66535c7f3d6d6c",
+ "salt" : "7a4c02db8bd8fcc2",
+ "iterationCount" : 4096,
+ "iv" : "d62747fca1a7dfbee90597b3f57fffa2",
+ "msg" : "52dd188a4585bbaa85ced8d529d880b3",
+ "ct" : "c54833b2b1c68cd06ad135248771eee69e17f927543d85fe5991708709531ab9",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 35,
+ "comment" : "password contains only ASCII characters",
+ "flags" : [
+ "Ascii"
+ ],
+ "password" : "706614257f522b6315345f7c",
+ "salt" : "94ef44b92e15fa35",
+ "iterationCount" : 4096,
+ "iv" : "c489480ee8a00898f3151317c2c614b9",
+ "msg" : "9cb42f3f2992357a7beeedfa37653f4d41",
+ "ct" : "f63a96791555992b335b396394756f3d6f8966a5e3a9ea5d4ce76d7a575f580d",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 36,
+ "comment" : "password contains only ASCII characters",
+ "flags" : [
+ "Ascii"
+ ],
+ "password" : "1f4b7b354903545f2b07720b",
+ "salt" : "62f91ea01f3a18aa2f122bd15c4a615b",
+ "iterationCount" : 4096,
+ "iv" : "05d867eae06fbfd2efda349bc3dcd473",
+ "msg" : "64f33addb1e1671f867e96a3e8339ecd",
+ "ct" : "6b7ff95ade3d2e2c48f923feb9a476aed052205cca5e3062e16a66f56fa8d576",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 37,
+ "comment" : "password contains only ASCII characters",
+ "flags" : [
+ "Ascii"
+ ],
+ "password" : "1e2e16140e4a4d19251b6f5f",
+ "salt" : "bdf156b4d87a5e07cd9481b3d136887c",
+ "iterationCount" : 4096,
+ "iv" : "b64e4b7176cfafe46235e8b32b2508e6",
+ "msg" : "9b31b854ff09e4cdd28b817fb2f2cdb6c9",
+ "ct" : "4ffc6b6361d8766fb5287d1936a36d1426607563aa57d7743da5f1de8703f2a3",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 38,
+ "comment" : "password contains only ASCII characters",
+ "flags" : [
+ "Ascii"
+ ],
+ "password" : "15296b0933473119180f3c0645202d5221633803",
+ "salt" : "d7412e4137fc4410",
+ "iterationCount" : 4096,
+ "iv" : "d227c8c98a652788944977f9bc73a20d",
+ "msg" : "86159d5e3b903a51a833ce561f39ae0a",
+ "ct" : "fe231a2d68b42e1f76e1b451afb8dbce61c3e32e3794b5f5824f7978b522eed6",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 39,
+ "comment" : "password contains only ASCII characters",
+ "flags" : [
+ "Ascii"
+ ],
+ "password" : "00017e1e176769476d2433302f3506590e632a0c",
+ "salt" : "28c1759d783256fd",
+ "iterationCount" : 4096,
+ "iv" : "cf23a38fef611880acf9107ffa9e29a8",
+ "msg" : "79532d85a40aa575377172611dd4f0047c",
+ "ct" : "c9b6d569b9ff9ed0d7fc6b12db4d63607a0e59624af2cd92ca60f52a1471440e",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 40,
+ "comment" : "password contains only ASCII characters",
+ "flags" : [
+ "Ascii"
+ ],
+ "password" : "7a106c2773542c791d2f0a02632b69644f666278",
+ "salt" : "a36350db68186d747254bd9835219487",
+ "iterationCount" : 4096,
+ "iv" : "568af67455f416a63d3ced652c32a74d",
+ "msg" : "96687d00d01854bbc2151ed4fdec8732",
+ "ct" : "b26782b01ac2a962c965b5eafbb6eb0cce76c61dbc0ad4ad3875c92e21345ce6",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 41,
+ "comment" : "password contains only ASCII characters",
+ "flags" : [
+ "Ascii"
+ ],
+ "password" : "350e2f050d444c09374977205a6b063736373067",
+ "salt" : "3cadfed36847faa4af545c426b7bcbc5",
+ "iterationCount" : 4096,
+ "iv" : "1ee0658f81c645721618de5849c3baf1",
+ "msg" : "89e4167cba0f8ca3a4b1640b023612d963",
+ "ct" : "8796518fad611e8517a8d2f8506470483242e835792734fe1088a5385df228b1",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 42,
+ "comment" : "password is a valid UTF-8 encoding",
+ "flags" : [
+ "Utf8"
+ ],
+ "password" : "d0a3d1bed38acc83",
+ "salt" : "8dfae85c9f2072ae",
+ "iterationCount" : 4096,
+ "iv" : "13a77b4b2eb10b260ac889b432d7af1c",
+ "msg" : "41a21ec6f04859724a1dfcdcf85e6c3a",
+ "ct" : "c9821b955a6d6cf17e55d650d413342daf77daf032c3cef46fa9ad4bcd7fa2f7",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 43,
+ "comment" : "password is a valid UTF-8 encoding",
+ "flags" : [
+ "Utf8"
+ ],
+ "password" : "d4b8cbbcc49bd9b6",
+ "salt" : "657a212f745924eb",
+ "iterationCount" : 4096,
+ "iv" : "6529f3dc9f0197e2f5c6e889b1b6097f",
+ "msg" : "231765341c414e93ec399b804a79a65dfc",
+ "ct" : "9272d4d7528a916bb57a255b664a2df85b3de9383aa0c267647beee3596bc585",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 44,
+ "comment" : "password is a valid UTF-8 encoding",
+ "flags" : [
+ "Utf8"
+ ],
+ "password" : "c299d292cd92dcb8",
+ "salt" : "99c55e182238c8e0c385447685e9ba85",
+ "iterationCount" : 4096,
+ "iv" : "34d4cc26cd871885c8e781d6e8b9ec67",
+ "msg" : "4bf1f98da6113ca66cc18283aedb4cc5",
+ "ct" : "1cc2d1b70d30cb0afa3ebd1050f9fe8f769a6bf521c80010811d74f935da00f1",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 45,
+ "comment" : "password is a valid UTF-8 encoding",
+ "flags" : [
+ "Utf8"
+ ],
+ "password" : "da9dd3acdca2df8a",
+ "salt" : "b5413f52391a2ff0fb19563c0b40a445",
+ "iterationCount" : 4096,
+ "iv" : "b4d3b1dbbc034d407ce552e6bc63fee1",
+ "msg" : "e2e81593f6591df708582f4cce0b1c6d78",
+ "ct" : "62fbc126c59312c7cdc7caece15015c880136c1e86cf612aed895e7407c1b726",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 46,
+ "comment" : "password is a valid UTF-8 encoding",
+ "flags" : [
+ "Utf8"
+ ],
+ "password" : "cfbec3b9d7acc7a9d585d1a5c28fcca119",
+ "salt" : "e9c55717a1259a29",
+ "iterationCount" : 4096,
+ "iv" : "cd718713a05183c1aa4bc4c01794b382",
+ "msg" : "1f4425a96b272fc27bcbfda0bb7e0dd8",
+ "ct" : "7d0d5ac8ff1026b804c1b0f2516779702d287e986c37d21e7431c46363381f47",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 47,
+ "comment" : "password is a valid UTF-8 encoding",
+ "flags" : [
+ "Utf8"
+ ],
+ "password" : "d492c59061cd9dd9b8c28fd39fcd9e24",
+ "salt" : "09deec77ec44eb6e",
+ "iterationCount" : 4096,
+ "iv" : "0f958378c10c245540b9ce61d7781fd8",
+ "msg" : "ae209895c5cb179e54649749cdb245b9ce",
+ "ct" : "f25e8d1f4e18ce1d490825f0f7d332f266502c419621bfae8e2a70e75d6b921d",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 48,
+ "comment" : "password is a valid UTF-8 encoding",
+ "flags" : [
+ "Utf8"
+ ],
+ "password" : "da9dd096cb93db88dbbed495ceaacf853c",
+ "salt" : "200bba668b2010b1968b82091848937c",
+ "iterationCount" : 4096,
+ "iv" : "39d3e787c076007b3c173b75597b08c5",
+ "msg" : "0b4e337297c6cdd5c51f8ee7e633ef8f",
+ "ct" : "a9118775219019fb168ac21ce8f797d49553493198b8e106ad2d962ac6003d04",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 49,
+ "comment" : "password is a valid UTF-8 encoding",
+ "flags" : [
+ "Utf8"
+ ],
+ "password" : "d9aacab7c2a0dbb5d89bc7acde9cceb50c",
+ "salt" : "1d87767829bd386ad2038cea7a0b542f",
+ "iterationCount" : 4096,
+ "iv" : "cfb67f9bb8cfb0e05684fcba195f0f19",
+ "msg" : "a9e289e0a985df90dfe23230c414dcb1fa",
+ "ct" : "15049bb92a71a0e505813086265e63ccbe4b882055b08ac311c217e78ec39f7a",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 50,
+ "comment" : "password is a random byte string",
+ "flags" : [
+ "NonUtf8"
+ ],
+ "password" : "8423ec7ea4ca4b03",
+ "salt" : "8dfae85c9f2072ae",
+ "iterationCount" : 4096,
+ "iv" : "13a77b4b2eb10b260ac889b432d7af1c",
+ "msg" : "41a21ec6f04859724a1dfcdcf85e6c3a",
+ "ct" : "bc9ad2a5f8d58eb6322107073f738c476517f2c832bcefde9fb73d7071b06f29",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 51,
+ "comment" : "password is a random byte string",
+ "flags" : [
+ "NonUtf8"
+ ],
+ "password" : "7538a2fc091b6e76",
+ "salt" : "657a212f745924eb",
+ "iterationCount" : 4096,
+ "iv" : "6529f3dc9f0197e2f5c6e889b1b6097f",
+ "msg" : "231765341c414e93ec399b804a79a65dfc",
+ "ct" : "42fee4ceca61d4e9ff6de6262c0f52e28a6a393dc275f0e9bfb6eab627b51b1c",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 52,
+ "comment" : "password is a random byte string",
+ "flags" : [
+ "NonUtf8"
+ ],
+ "password" : "48997492c3528738",
+ "salt" : "99c55e182238c8e0c385447685e9ba85",
+ "iterationCount" : 4096,
+ "iv" : "34d4cc26cd871885c8e781d6e8b9ec67",
+ "msg" : "4bf1f98da6113ca66cc18283aedb4cc5",
+ "ct" : "dc8bd6d78e6fc5afee8857a41a0d5b88204ea1641490bcde2623865399ce052b",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 53,
+ "comment" : "password is a random byte string",
+ "flags" : [
+ "NonUtf8"
+ ],
+ "password" : "c69d34ec7722ffca",
+ "salt" : "b5413f52391a2ff0fb19563c0b40a445",
+ "iterationCount" : 4096,
+ "iv" : "b4d3b1dbbc034d407ce552e6bc63fee1",
+ "msg" : "e2e81593f6591df708582f4cce0b1c6d78",
+ "ct" : "481f03afcd98f537b3d2f08ed24615baf37390bca41d88c5f7bad95c27361b5b",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 54,
+ "comment" : "password is a random byte string",
+ "flags" : [
+ "NonUtf8"
+ ],
+ "password" : "e3feb0f96dec61e9dd451465f88f132119",
+ "salt" : "e9c55717a1259a29",
+ "iterationCount" : 4096,
+ "iv" : "cd718713a05183c1aa4bc4c01794b382",
+ "msg" : "1f4425a96b272fc27bcbfda0bb7e0dd8",
+ "ct" : "8bb243b646d4cfc217b54b4f6024314274052b3db6af378f9f68aa6284a452a8",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 55,
+ "comment" : "password is a random byte string",
+ "flags" : [
+ "NonUtf8"
+ ],
+ "password" : "ed12a9502061d35d9678188f1cdf135e24",
+ "salt" : "09deec77ec44eb6e",
+ "iterationCount" : 4096,
+ "iv" : "0f958378c10c245540b9ce61d7781fd8",
+ "msg" : "ae209895c5cb179e54649749cdb245b9ce",
+ "ct" : "01afd8d35dc0b0ef1eff176cdb394a64296ced5172f1dfbcd7896199e7b88632",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 56,
+ "comment" : "password is a random byte string",
+ "flags" : [
+ "NonUtf8"
+ ],
+ "password" : "9e9d7c166ad3bec856fe5d15d3aacbc53c",
+ "salt" : "200bba668b2010b1968b82091848937c",
+ "iterationCount" : 4096,
+ "iv" : "39d3e787c076007b3c173b75597b08c5",
+ "msg" : "0b4e337297c6cdd5c51f8ee7e633ef8f",
+ "ct" : "e88b7656e55380a720e28a04f9d5a4b8c257030a3e0ad09eaea3092b6503e74e",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 57,
+ "comment" : "password is a random byte string",
+ "flags" : [
+ "NonUtf8"
+ ],
+ "password" : "466a02b7d8a046f5161b41ecef9cc3b50c",
+ "salt" : "1d87767829bd386ad2038cea7a0b542f",
+ "iterationCount" : 4096,
+ "iv" : "cfb67f9bb8cfb0e05684fcba195f0f19",
+ "msg" : "a9e289e0a985df90dfe23230c414dcb1fa",
+ "ct" : "dc82a9de250a14a27d4e72f80a2d5c4da43a84a60386b3a568ecbe2cc6a0f5e0",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 58,
+ "comment" : "password is an ASCII string encoded as BMPString",
+ "flags" : [
+ "Ascii",
+ "BmpString"
+ ],
+ "password" : "002d0000",
+ "salt" : "66a92292e6db2d9e",
+ "iterationCount" : 4096,
+ "iv" : "7911306933f1131299247a85b585bed8",
+ "msg" : "63219964fd79651fe1be8ad5e90f414c",
+ "ct" : "b9ab9dc17afbddb8399d8b521dd52408fb2892718bb7457b1a9d44fcd407fbc7",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 59,
+ "comment" : "password is an ASCII string encoded as BMPString",
+ "flags" : [
+ "Ascii",
+ "BmpString"
+ ],
+ "password" : "00470000",
+ "salt" : "88abb902385f0efc",
+ "iterationCount" : 4096,
+ "iv" : "109f2c7a8aacc98d0aa176b1b43f2ece",
+ "msg" : "34ce8c499c20714c34506b8e8b87b103d2",
+ "ct" : "1ba92fccbd84a249ccbd6066a69a8e833bab7a03b5d4d71a5caba46a0b92186e",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 60,
+ "comment" : "password is an ASCII string encoded as BMPString",
+ "flags" : [
+ "Ascii",
+ "BmpString"
+ ],
+ "password" : "004400640042004d0064006d000100790000",
+ "salt" : "675617aaff664428",
+ "iterationCount" : 4096,
+ "iv" : "c08dd25d3aa04749850301e9b8f8eb28",
+ "msg" : "4f5f5d4d0a21d463419db42fdff6ae6c",
+ "ct" : "655453e8af3a0c4c797445219c5f3656fd8fff51bedffaad06efd01ab90ceaed",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 61,
+ "comment" : "password is an ASCII string encoded as BMPString",
+ "flags" : [
+ "Ascii",
+ "BmpString"
+ ],
+ "password" : "007400760025002a0012005b005c00610000",
+ "salt" : "957a9ab7ad9fc7de",
+ "iterationCount" : 4096,
+ "iv" : "126081b5c830984abd553ec39b080f39",
+ "msg" : "ede5a5ea322b7972a789bb5af48f384218",
+ "ct" : "95e5e7043203a6a365949100450ba1a96223c2aaf0901d147c9263ce556a030a",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 62,
+ "comment" : "password is an ASCII string encoded as BMPString",
+ "flags" : [
+ "Ascii",
+ "BmpString"
+ ],
+ "password" : "0023000d00510069001d0077002a0009001200010034004d00520070006100290000",
+ "salt" : "deea2dabe885caf6",
+ "iterationCount" : 4096,
+ "iv" : "698a466cec24214100bb3f30a6820bf7",
+ "msg" : "930b94a70883efd733f63f841dfc3d17",
+ "ct" : "0de9ff7ff9a061b486889a0ddef2535ab57400f24fec8a018894aa22a7524793",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 63,
+ "comment" : "password is an ASCII string encoded as BMPString",
+ "flags" : [
+ "Ascii",
+ "BmpString"
+ ],
+ "password" : "007300520057005c005600180030003c004b0050007c004f00020020002600390000",
+ "salt" : "6ed69f23acf64114",
+ "iterationCount" : 4096,
+ "iv" : "59efebfe7a6056507dc17778e5c444c5",
+ "msg" : "538705a997333fc2bf4f44f2bb90f3cd26",
+ "ct" : "5b06181d8cd890753a5e85a8558296f55c93d5476aacf46e2b1cf8edbdb5dce4",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 64,
+ "comment" : "password is a BMPString",
+ "flags" : [
+ "NonUtf8",
+ "BmpString"
+ ],
+ "password" : "92ae0000",
+ "salt" : "6978583ea9c24c49",
+ "iterationCount" : 4096,
+ "iv" : "0192ad10599677f253e7dea587373553",
+ "msg" : "c06bcb3b5cd9c1317f5eb7ba50882530",
+ "ct" : "6009ab44e15a5402788c6dc9e3757fb3f01aa358220f82f6402798af1aed3cea",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 65,
+ "comment" : "password is a BMPString",
+ "flags" : [
+ "NonUtf8",
+ "BmpString"
+ ],
+ "password" : "38a90000",
+ "salt" : "c217b8c980fe4698",
+ "iterationCount" : 4096,
+ "iv" : "890a0303475f07189a0fe14b4e509217",
+ "msg" : "1ea8b43513275537d021c0f75849c01840",
+ "ct" : "593e495f9b975920b8c269b6df7052e4f2c455b4a6d8a3055fdbbf703725de6b",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 66,
+ "comment" : "password is a BMPString",
+ "flags" : [
+ "NonUtf8",
+ "BmpString"
+ ],
+ "password" : "4464c2cde4ed81790000",
+ "salt" : "675617aaff664428",
+ "iterationCount" : 4096,
+ "iv" : "c08dd25d3aa04749850301e9b8f8eb28",
+ "msg" : "4f5f5d4d0a21d463419db42fdff6ae6c",
+ "ct" : "7e341afed0a7457dbf003697b57b7b0436ae5bb310f0f230463451b61cb36620",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 67,
+ "comment" : "password is a BMPString",
+ "flags" : [
+ "NonUtf8",
+ "BmpString"
+ ],
+ "password" : "f4f6a52a925b00610000",
+ "salt" : "957a9ab7ad9fc7de",
+ "iterationCount" : 4096,
+ "iv" : "126081b5c830984abd553ec39b080f39",
+ "msg" : "ede5a5ea322b7972a789bb5af48f384218",
+ "ct" : "8c18dff6d16379721bce7ba23aa5c5d5e2d262a8782808c4101e87847ecb51cf",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 68,
+ "comment" : "password is a BMPString",
+ "flags" : [
+ "NonUtf8",
+ "BmpString"
+ ],
+ "password" : "a38d51691d77aa891281b44d52f061a90000",
+ "salt" : "deea2dabe885caf6",
+ "iterationCount" : 4096,
+ "iv" : "698a466cec24214100bb3f30a6820bf7",
+ "msg" : "930b94a70883efd733f63f841dfc3d17",
+ "ct" : "5c48870cc9a3ee037e90a2b2ca8c0b4e74ea6751547f1d4265f578d5a1257a33",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 69,
+ "comment" : "password is a BMPString",
+ "flags" : [
+ "NonUtf8",
+ "BmpString"
+ ],
+ "password" : "f35257dc5698b0bccbd0fc4f02a026390000",
+ "salt" : "6ed69f23acf64114",
+ "iterationCount" : 4096,
+ "iv" : "59efebfe7a6056507dc17778e5c444c5",
+ "msg" : "538705a997333fc2bf4f44f2bb90f3cd26",
+ "ct" : "a6fd67ce9f0eef4bf2075fa6064d87e5e8bb2175f0f48d96ffac7a200f558c56",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 70,
+ "comment" : "empty password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "",
+ "salt" : "79d4c53a51c41815",
+ "iterationCount" : 4096,
+ "iv" : "a8e86525fa4f365373045533b33902bd",
+ "msg" : "a62c0d9b5bcb932f65058396367673e8",
+ "ct" : "b8696689986b4ac037c55a338c2b378b2639cfea1ffeea315a49462a2f671a8b",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 71,
+ "comment" : "empty password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "",
+ "salt" : "65f8fa8b52cd47b0",
+ "iterationCount" : 4096,
+ "iv" : "bfb545e71f39df509870139862965526",
+ "msg" : "a3bae2fae05b77c7673d71901268eed173",
+ "ct" : "0527ce9fc749d376a7560c7cdbf7b44283320cc1d7caf29911a18e58856f5cc1",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 72,
+ "comment" : "password is an empty BMPString",
+ "flags" : [
+ "Ascii",
+ "BmpString"
+ ],
+ "password" : "0000",
+ "salt" : "f488f026badc3624",
+ "iterationCount" : 4096,
+ "iv" : "2979c2a734e4cd5da5d9a7e69c3f8b8e",
+ "msg" : "d63088e9bf4e9105bc287f0ab6823af9",
+ "ct" : "4c79c59bfb7ba872d912f03f6ba6b4ad70a77f90d6b228aa1f8d12b61a48fc3f",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 73,
+ "comment" : "password is an empty BMPString",
+ "flags" : [
+ "Ascii",
+ "BmpString"
+ ],
+ "password" : "0000",
+ "salt" : "542ada9132800d2c",
+ "iterationCount" : 4096,
+ "iv" : "844635e540de3a85c02f2df9413ff911",
+ "msg" : "08dfdd58aa603d5fc4bdaa9cb24ce82bca",
+ "ct" : "c4cde3772b66700a48a28ca36fd2331faaac67ba4020ae945127e0e9a14cca44",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 74,
+ "comment" : "long password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "61473a5f3441403c4a32204575314b24312d402225634c5653603d52756f247e414c3c2a4e2b3b25704140762170713a272526386448434b462a7a2c75395c725f",
+ "salt" : "80f8e7ac4649fd77",
+ "iterationCount" : 4096,
+ "iv" : "43db6bbe8b43b065bf32cd67c023856f",
+ "msg" : "e443a5541e1c0bd038030f78952195e0",
+ "ct" : "927710c499e2c3b96f2e49efec89502c6c9889f2161649965dbcc77df658d5e5",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 75,
+ "comment" : "long password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "7b2e6e6c462a24546c402c525a7e566e613a255c48422f364e51217b343a31253546355430315c2b2f352042385421323f5b47232e495329596c307d4f4153566746523b386023615b4c3f3a757131214d46662965645e44284d2268507a2364312d7568224751254a35273e5b69792773644555323039787e4e525647526a7d74",
+ "salt" : "66b3a75c3d1de7a7",
+ "iterationCount" : 4096,
+ "iv" : "4929fb5d6adc043751411a8165325219",
+ "msg" : "fc5d6ee5b19b873fac6f54160be4d52a",
+ "ct" : "e15f5d8795998bc8ba2920bbfda13269d19a25ef72d2508b09ce5f4719125a1a",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 76,
+ "comment" : "long password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "2a4235363559523e265f4c2b48685b374e347c4b384347346a513c2251753927742c427d25732e532b4e202648522b395d5763457a705e4b637a5535216e4e4e3a523a5b5e546d7625614e2f3623557e46454d413032515f2c30214971277b23606242283e4b3445426c2e4d7c40346d47777c4e3f6e572e24664a5e286c34775c2f5e3f2960744f644b2d47532c77447a58405e335b7d3a6b5831507b642f392b3638365c4341425e46655f577e31533f41626b6056393e5d32213b716d455d2637762a4c693e6c4b5449383a504e7c5e2d442030735f7d3a56273c497d773f32427b57692f7d61373d29236f6021624b41787e603d70313e5c68334a2b534653",
+ "salt" : "73e6c34cda6b6309",
+ "iterationCount" : 4096,
+ "iv" : "44f36e53ab4a6391acc5565de7358438",
+ "msg" : "309b773bcd825e66bd3117097f536b0e",
+ "ct" : "d3a05526734fd7ff71843910bca719b4ba65bbef773447e8f0e17a9ca509c274",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 77,
+ "comment" : "special case password",
+ "flags" : [
+ "NonUtf8"
+ ],
+ "password" : "ff",
+ "salt" : "330226023aa6c045",
+ "iterationCount" : 4096,
+ "iv" : "c78e1ec445dbe9742d205432712442bf",
+ "msg" : "4b8243aab5cba8be6853eeaa65e3ebb0",
+ "ct" : "ef134a8d83edfa640c42f485ce53d03a632c2739c3d87e0656aec01248fb2583",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 78,
+ "comment" : "special case: truncated UTF-8 string",
+ "flags" : [
+ "NonUtf8"
+ ],
+ "password" : "c0",
+ "salt" : "e19e4f175a64d35a",
+ "iterationCount" : 4096,
+ "iv" : "7545745f8d0bfe38f024371e12008a5f",
+ "msg" : "9e21b64aeff5338eb9bc71b19ef8f8e7",
+ "ct" : "226acdd8ad6ae50420b331f6617da5442fc264fdffe5d4dc33281e98bf77f47e",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 79,
+ "comment" : "special case: invalid UTF-8 bytes",
+ "flags" : [
+ "NonUtf8"
+ ],
+ "password" : "ffffffffffffffff",
+ "salt" : "1eb37da28a65f626",
+ "iterationCount" : 4096,
+ "iv" : "5e9d991fa22878ac5256759c6c9cb53e",
+ "msg" : "319c92804c5560f840cc5bdace9c925d",
+ "ct" : "b97f42fb8a8bed33388e15c0e8de80862374fc263ebac52b02bcd97cc35635a6",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 80,
+ "comment" : "special case: invalid 2 byte UTF-8 code points",
+ "flags" : [
+ "NonUtf8"
+ ],
+ "password" : "c0c0c0c0c0c0c0c0",
+ "salt" : "2017b5e20a7cdbe0",
+ "iterationCount" : 4096,
+ "iv" : "7e42d185cab712e2982ca6ee4c2c61ec",
+ "msg" : "0f5a93c6771fc66aff78996d77421735",
+ "ct" : "45559dc646e30bd294e1829a99c85c10e67c4f96ce106f663bf7fa279d0aa2c4",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 81,
+ "comment" : "special case: invalid 3 byte UTF-8 code points",
+ "flags" : [
+ "NonUtf8"
+ ],
+ "password" : "eeeeeeeeeeeeeeee",
+ "salt" : "84301f0aebda104f",
+ "iterationCount" : 4096,
+ "iv" : "4ba655c171677a0dfbc5f6312387c15d",
+ "msg" : "86caabd40a5c738720de173597ea72f6",
+ "ct" : "d16a7d62db905bcc4b01e95fd7f74dde750c3c35f2a30505032a21ae6575c017",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 82,
+ "comment" : "special case: invalid UTF-8 code points",
+ "flags" : [
+ "NonUtf8"
+ ],
+ "password" : "f0f0f0f0f0f0f0f0",
+ "salt" : "64baccfdd4e4b41b",
+ "iterationCount" : 4096,
+ "iv" : "d6b443472d2cf853c0c05f5327faced7",
+ "msg" : "4e0ee09328663637f21410fb8ad057a1",
+ "ct" : "3dddb56661df59b92af66ecd778a3101dc203aa0962e4a3d4ff9bcbd7a6e4d16",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 83,
+ "comment" : "special case for UTF-16",
+ "flags" : [
+ "NonUtf8"
+ ],
+ "password" : "dbdbdbdbdbdbdbdb",
+ "salt" : "ba21795fffb901bc",
+ "iterationCount" : 4096,
+ "iv" : "753675f249b8c153997a797116495204",
+ "msg" : "706c565ba28370ff433460cc9f8d845a",
+ "ct" : "62d03f19f80f559158149c81ece282b9f35031ca7aff5b344d5ff088fd941e94",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 84,
+ "comment" : "special case: long all zero password",
+ "flags" : [
+ "Ascii"
+ ],
+ "password" : "0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
+ "salt" : "22871ffd379d9951",
+ "iterationCount" : 4096,
+ "iv" : "2e949af1052a230e7560d9ae1ce75042",
+ "msg" : "16d1b65deb2d67fc3242792a19d5c227",
+ "ct" : "8a0b951ee26bbde0b664a4dd58a8e494b652d85adb48a79fa06dacd77f911a37",
+ "result" : "valid"
+ }
+ ]
+ }
+ ]
+}
diff --git a/testvectors_v1/pbes2_hmacsha256_aes_256_test.json b/testvectors_v1/pbes2_hmacsha256_aes_256_test.json
new file mode 100644
index 0000000..546e153
--- /dev/null
+++ b/testvectors_v1/pbes2_hmacsha256_aes_256_test.json
@@ -0,0 +1,1228 @@
+{
+ "algorithm" : "PbeWithHmacSha256AndAes_256",
+ "schema" : "pbe_test_schema.json",
+ "generatorVersion" : "0.9",
+ "numberOfTests" : 84,
+ "header" : [
+ "Test vector of type PbeTest are used for PBES1 or PBES2."
+ ],
+ "notes" : {
+ "Ascii" : {
+ "bugType" : "FUNCTIONALITY",
+ "description" : "The test vector contains a password consisting of ASCII characters."
+ },
+ "BmpString" : {
+ "bugType" : "FUNCTIONALITY",
+ "description" : "The test vectors contains a password that is a valid BMPString as used in RFC 7292. This RFC uses big endian encoding and a null terminator."
+ },
+ "NonUtf8" : {
+ "bugType" : "FUNCTIONALITY",
+ "description" : "The test vector contains a password that is not a valid UTF-8 string."
+ },
+ "Printable" : {
+ "bugType" : "FUNCTIONALITY",
+ "description" : "The test vector contains a password consisting of printable ASCII characters."
+ },
+ "Utf8" : {
+ "bugType" : "FUNCTIONALITY",
+ "description" : "The test vector contains a password that is a valid UTF-8 string."
+ }
+ },
+ "testGroups" : [
+ {
+ "type" : "PbeTest",
+ "tests" : [
+ {
+ "tcId" : 1,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "7743656734722c30",
+ "salt" : "fcd9a324f025ef40",
+ "iterationCount" : 4096,
+ "iv" : "42f02ff71b8524d1678ab2e34f9e7d47",
+ "msg" : "",
+ "ct" : "e03383efa5cfd120d5df634b2448b103",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 2,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "64395f4b48295839",
+ "salt" : "bfb221ba6de64926",
+ "iterationCount" : 4096,
+ "iv" : "7a735848780923657c0c54bc2ff0d9f8",
+ "msg" : "a3",
+ "ct" : "6d2158ca2020909e87fbae167a3090e0",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 3,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "3a787e4c2c604d70",
+ "salt" : "dc64f1fd4705b4e5",
+ "iterationCount" : 4096,
+ "iv" : "579ff2437d6739742421b6e4e70d5c27",
+ "msg" : "4204",
+ "ct" : "e4cd170b4591a8b944654973dd669350",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 4,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "2a67656a66296120",
+ "salt" : "4c379a2bd962d19a",
+ "iterationCount" : 4096,
+ "iv" : "5bff9a5e8692229679cbd70fcfdebb74",
+ "msg" : "ceb541",
+ "ct" : "c345ad62e7745cc532ad0b90a34061ed",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 5,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "3b55267d5f4b2d4c",
+ "salt" : "08e041282eed4f00",
+ "iterationCount" : 4096,
+ "iv" : "17c5e988149370694c1b3b8cb0e44225",
+ "msg" : "10d032a7",
+ "ct" : "66454530862777c38563f0221d90e428",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 6,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "4f317e2e525e517a",
+ "salt" : "bd5c4b6f25a1f6ff",
+ "iterationCount" : 4096,
+ "iv" : "76e5e3eb771a4daec6fabdc0b0793195",
+ "msg" : "29d9f1a701",
+ "ct" : "7b322ef8ff216f1c8735daeeb05ea4b7",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 7,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "6557766473282375",
+ "salt" : "ea1efbb1c86b0c06",
+ "iterationCount" : 4096,
+ "iv" : "1f186ad98435e90fd7700695c986ef78",
+ "msg" : "6f124d8a8248",
+ "ct" : "de60d73214727446d883429735e79666",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 8,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "543a5f48765a2542",
+ "salt" : "f308bbcca74a2224",
+ "iterationCount" : 4096,
+ "iv" : "26bbbf2e18f06a4524e13bfd1ac00b37",
+ "msg" : "a1163153287dfe",
+ "ct" : "987adc98e8ca6f1e71381be99830df18",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 9,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "695a3c642f457a52",
+ "salt" : "7af3b0005c594502",
+ "iterationCount" : 4096,
+ "iv" : "6d9e8ea3d6ed355bf5e65b12995dbf6a",
+ "msg" : "9b29df8b3b9862f4",
+ "ct" : "4bcb30bde11dff1050914aed60ed7293",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 10,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "2a772a233f216e60",
+ "salt" : "172d5f4595c220dd",
+ "iterationCount" : 4096,
+ "iv" : "a5941967d4f6934431bd9951e20a93a6",
+ "msg" : "fe51cf84289221b894",
+ "ct" : "fa35a45533f263c9445b5f6f12bc788c",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 11,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "793c43623652216f",
+ "salt" : "d1d722eee2c5ebef",
+ "iterationCount" : 4096,
+ "iv" : "5cfe832947ec659f6847277ec1fab2f9",
+ "msg" : "696eb8b4e6b2015abb91",
+ "ct" : "cd145d184b9adb2344408f6e4a152624",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 12,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "4854515c222a2230",
+ "salt" : "843f5ff28978f214",
+ "iterationCount" : 4096,
+ "iv" : "430b247a435124754c83cc11203f18bd",
+ "msg" : "d8405be7823b472459a2fc",
+ "ct" : "04de69023e941da4a39b0557bb550cff",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 13,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "48682a4d34266b40",
+ "salt" : "783f344a1fa7c9a8",
+ "iterationCount" : 4096,
+ "iv" : "c707947121e5fc2da16990a78772e0ab",
+ "msg" : "56c73b781c1bff72a8ae7faf",
+ "ct" : "c53d0f69ae2ec9bd3f0678284db2588b",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 14,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "293a746531294d5c",
+ "salt" : "2c75641f991eb10b",
+ "iterationCount" : 4096,
+ "iv" : "96dabd858e4187d0e50f8299ab60f029",
+ "msg" : "b07e8bbb45e9a17c124f6d5129",
+ "ct" : "899c4064bc1c6b8488fe4bcb5ff28f89",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 15,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "353377343f482b65",
+ "salt" : "cf1620e7aabb73b7",
+ "iterationCount" : 4096,
+ "iv" : "8e6dd70b1dd1c39d0b8b593c556d812b",
+ "msg" : "ff89eb184de11579cae7d110a350",
+ "ct" : "6fcd290304343442991e2527dc7aa371",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 16,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "614e2d4634335721",
+ "salt" : "6dffc1db31767608",
+ "iterationCount" : 4096,
+ "iv" : "78c899bcdc4cf7d933ddc9016bc6e64e",
+ "msg" : "5e859aac690c85646ffb3f2bbb0d9c",
+ "ct" : "5cdc1029cf192b802e534280dbdc21e8",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 17,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "6f5330325e22574e",
+ "salt" : "798acc7c76739d75",
+ "iterationCount" : 4096,
+ "iv" : "5bfcfd6d7013eb8828f72455d7535c77",
+ "msg" : "86059dc647ba7d0067099e16c3da8bb6",
+ "ct" : "03a73bc4a4d35d9b774b25b559676161275661eaae98fe00bde7ef19ada52256",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 18,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "3972245623494f42",
+ "salt" : "da5421f23ac5b5e1",
+ "iterationCount" : 4096,
+ "iv" : "12293114ddb85319240682c1765e4533",
+ "msg" : "fc9349cbd8c277786c888f3254342431a8",
+ "ct" : "e2e31d9010e139fc6820af5f9d4fab12e24e1a442e2becf285fe1a3b7a310d2b",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 19,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "464d2f76752b4d63",
+ "salt" : "8cfea3c6783cfc41",
+ "iterationCount" : 4096,
+ "iv" : "9c84fe91476ab1c6ed30db9bb7f60280",
+ "msg" : "ad10a3cdef856b0632f7ce200c11f6c569d2",
+ "ct" : "c4eb3baddbab3bc06ee9513b0b4aa13ed7fa423207b55443a38443cd0e254c6b",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 20,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "7951437c2b6f7079",
+ "salt" : "caada2e55c49492f",
+ "iterationCount" : 4096,
+ "iv" : "3a0185b1423310796b052e9128334b04",
+ "msg" : "be82c331a83dd0c472abc6ae8725d2ba48b3ad",
+ "ct" : "f33ee7dec0cffb0cd62b0396b94c885d139d0078bdbb11ad944b396fc63f7318",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 21,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "525c2424652a603d",
+ "salt" : "26ea52da49513b47",
+ "iterationCount" : 4096,
+ "iv" : "b9c70ea8599e136a64b2a6733e8ceb40",
+ "msg" : "d964c8b7fac0906c25654186f8d8e74b62dac5ac",
+ "ct" : "ad9afa495c22f4ebdc378b6d078c370343bb66296d60be0c7be433beb12313aa",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 22,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "6e446161627e6a3d",
+ "salt" : "64c6e216305ac8e5",
+ "iterationCount" : 4096,
+ "iv" : "2e089b050bfcbb214a3904344b25a28d",
+ "msg" : "00bba99a3d64657e16b70ee50c091488661c0af597",
+ "ct" : "58cbd503781709356b9890bb49d15fe38d013e398b0d6c1e0f4504f9943d234d",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 23,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "5b413d39776e3323",
+ "salt" : "33017b20ba4a7af2",
+ "iterationCount" : 4096,
+ "iv" : "6fcf1307b562738a387c75885a7d6bf9",
+ "msg" : "1f6c99446d139e9ea5d46af1667b733eb8748e5e0e18",
+ "ct" : "167b8a7a60aec28c37f8b33e3bbceacf3975fd1a72593413adb8923bea307ede",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 24,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "414838254a683628",
+ "salt" : "127e43a6c714f168",
+ "iterationCount" : 4096,
+ "iv" : "21bb5b1c774409d06067597153422573",
+ "msg" : "773f5e2ebe6ce60683cac6a9e2f0c9663556923582bdec",
+ "ct" : "c2cea5f122d34b02893edd31b3b9d3d0c8a4be6e4a2feb2129c7de6c6d1ffff8",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 25,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "3c202b435634305d",
+ "salt" : "45f38c6678268b8e",
+ "iterationCount" : 4096,
+ "iv" : "348b3cca3ece503b42b20b2ae690c4eb",
+ "msg" : "8ab193d18b1dec59400822dd0cea7239b3743327488e3d2d",
+ "ct" : "0a233ec77b6070dccbef32422e861ff6017e6b70007c7a9c735c36157f20450d",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 26,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "6e43225f5832705b",
+ "salt" : "5911a7a49800e204",
+ "iterationCount" : 4096,
+ "iv" : "58b4f658efcf961c4715b0af0b0913b7",
+ "msg" : "b336756c278ab89c0539047824350469b05918446a672b4215",
+ "ct" : "41bab01079fb43f71eb058ebfc765e946776045db4ba43fecc51ea2904b51b68",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 27,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "3f26723264514541",
+ "salt" : "18a9d3dfa74d4024",
+ "iterationCount" : 4096,
+ "iv" : "497fe0d1a8c09aca8d98a11db8621077",
+ "msg" : "6cd40dc20c7103a39b83da1f8c67855b0ffd77c250e1447414a9",
+ "ct" : "6017eb513686778795c5559261180e2b951214a33da53bf864d56748cc8d6d96",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 28,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "536d4a3b42714035",
+ "salt" : "9025629f385862f5",
+ "iterationCount" : 4096,
+ "iv" : "575fd9464cc1a36fcd23d7fc4ed304de",
+ "msg" : "40a37fae54940616cd6bb6cefb8f4521895fe9b7593492c2709003",
+ "ct" : "c95d0d8da6acd587061c0a62b24520e64b738364f429c36a939233e75c871f62",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 29,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "283d692b21263f41",
+ "salt" : "4f9ca92d54e165d1",
+ "iterationCount" : 4096,
+ "iv" : "402239571eaf6f7162fd4fe620d55948",
+ "msg" : "d47c8c9ec28820d760abfe731e9e9818d34abad20da255cff68fd374",
+ "ct" : "ab61f2dced0996dab2ca98b825b24a321ced05c7d1a1d1b26c9d374f08f64c48",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 30,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "3658665b3a546f47",
+ "salt" : "5ae48edef6811519",
+ "iterationCount" : 4096,
+ "iv" : "2425c2af851d56445c8e11b4529e3287",
+ "msg" : "5892825348e6160fd4f95f0a619a5a41604ee4b21ace4c9f61adf31ebc",
+ "ct" : "d194d06fffbf7e408104767600299afd125390ccba8e92e81cdb10c6753a16e0",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 31,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "257d78712275712a",
+ "salt" : "e2a7c16a6fe6a1fc",
+ "iterationCount" : 4096,
+ "iv" : "9dc7a4ff8a5a9d04d1b88c14028092c5",
+ "msg" : "596c0a1b3f9c251c98b15fb077da34c72e415ab9f4f01ac865421a7b89be",
+ "ct" : "89d2787270de1caa0b8afc15c0d157b1a46db1c3400dd141c997a54932075023",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 32,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "2b75433d3a69566c",
+ "salt" : "a6d0b6f795cbe6a8",
+ "iterationCount" : 4096,
+ "iv" : "5804285758b9e6450148872a11dcc421",
+ "msg" : "18e18b3cb96d6d9ff0730b2ff70ac2be9577a75555554f6c446ed30850c167",
+ "ct" : "a8f90cd55c79d335e09251f2ba4243567182928bf625d89a8c954ffdcfade9b4",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 33,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "252b6452647b4520",
+ "salt" : "e817780ed7997728",
+ "iterationCount" : 4096,
+ "iv" : "ff2512297f3fd5aa2b859432b9f53006",
+ "msg" : "8e9b1f95807a3c1bc95027ca72d2ae717b7e9dceac7437fc32a1aad2343ce69e",
+ "ct" : "d10fd2b508a116f62c0981dc84bc931171b463e3b1d720863f85f5e4f3c9b1775421ac1b93ad6a7a7f2d9f696e8fc317",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 34,
+ "comment" : "password contains only ASCII characters",
+ "flags" : [
+ "Ascii"
+ ],
+ "password" : "4b2d6c600e66535c7f3d6d6c",
+ "salt" : "7a4c02db8bd8fcc2",
+ "iterationCount" : 4096,
+ "iv" : "d62747fca1a7dfbee90597b3f57fffa2",
+ "msg" : "52dd188a4585bbaa85ced8d529d880b3",
+ "ct" : "85a196edfebb48c13515b3f37cf6eb1b9d109b640ce8a853a958fbb1d321721b",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 35,
+ "comment" : "password contains only ASCII characters",
+ "flags" : [
+ "Ascii"
+ ],
+ "password" : "706614257f522b6315345f7c",
+ "salt" : "94ef44b92e15fa35",
+ "iterationCount" : 4096,
+ "iv" : "c489480ee8a00898f3151317c2c614b9",
+ "msg" : "9cb42f3f2992357a7beeedfa37653f4d41",
+ "ct" : "efed65c090a86144ef8f84b22d5370bd54d5fb10972838a6669723f4f3cd94b5",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 36,
+ "comment" : "password contains only ASCII characters",
+ "flags" : [
+ "Ascii"
+ ],
+ "password" : "1f4b7b354903545f2b07720b",
+ "salt" : "62f91ea01f3a18aa2f122bd15c4a615b",
+ "iterationCount" : 4096,
+ "iv" : "05d867eae06fbfd2efda349bc3dcd473",
+ "msg" : "64f33addb1e1671f867e96a3e8339ecd",
+ "ct" : "16d79cb2c211a57a239a0a977000c2baefd50b49da83459c44f034b7ccc6baa3",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 37,
+ "comment" : "password contains only ASCII characters",
+ "flags" : [
+ "Ascii"
+ ],
+ "password" : "1e2e16140e4a4d19251b6f5f",
+ "salt" : "bdf156b4d87a5e07cd9481b3d136887c",
+ "iterationCount" : 4096,
+ "iv" : "b64e4b7176cfafe46235e8b32b2508e6",
+ "msg" : "9b31b854ff09e4cdd28b817fb2f2cdb6c9",
+ "ct" : "26fb9df4885a2a67a5d0771cfe6a6245c4d16cb5cd9a85e2a5fa884a6b0176af",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 38,
+ "comment" : "password contains only ASCII characters",
+ "flags" : [
+ "Ascii"
+ ],
+ "password" : "15296b0933473119180f3c0645202d5221633803",
+ "salt" : "d7412e4137fc4410",
+ "iterationCount" : 4096,
+ "iv" : "d227c8c98a652788944977f9bc73a20d",
+ "msg" : "86159d5e3b903a51a833ce561f39ae0a",
+ "ct" : "027cb7cd303e4000e6c16c5c8b1b86f354f2d6d5e1dbfd59e92c616502ae1641",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 39,
+ "comment" : "password contains only ASCII characters",
+ "flags" : [
+ "Ascii"
+ ],
+ "password" : "00017e1e176769476d2433302f3506590e632a0c",
+ "salt" : "28c1759d783256fd",
+ "iterationCount" : 4096,
+ "iv" : "cf23a38fef611880acf9107ffa9e29a8",
+ "msg" : "79532d85a40aa575377172611dd4f0047c",
+ "ct" : "b22f34a0606549cf74fe8abe06d234a0a52883ec6763ccfc8d4930dd0b1289cc",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 40,
+ "comment" : "password contains only ASCII characters",
+ "flags" : [
+ "Ascii"
+ ],
+ "password" : "7a106c2773542c791d2f0a02632b69644f666278",
+ "salt" : "a36350db68186d747254bd9835219487",
+ "iterationCount" : 4096,
+ "iv" : "568af67455f416a63d3ced652c32a74d",
+ "msg" : "96687d00d01854bbc2151ed4fdec8732",
+ "ct" : "4d34658594110622d1c39426c140bfeb97edb45fa5cadc43d8bb4d97a22da199",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 41,
+ "comment" : "password contains only ASCII characters",
+ "flags" : [
+ "Ascii"
+ ],
+ "password" : "350e2f050d444c09374977205a6b063736373067",
+ "salt" : "3cadfed36847faa4af545c426b7bcbc5",
+ "iterationCount" : 4096,
+ "iv" : "1ee0658f81c645721618de5849c3baf1",
+ "msg" : "89e4167cba0f8ca3a4b1640b023612d963",
+ "ct" : "eeaec9c2f7a87f40d03df9414492d79f0e943f746cca1475b9e310e0b4e8b6f0",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 42,
+ "comment" : "password is a valid UTF-8 encoding",
+ "flags" : [
+ "Utf8"
+ ],
+ "password" : "d0a3d1bed38acc83",
+ "salt" : "8dfae85c9f2072ae",
+ "iterationCount" : 4096,
+ "iv" : "13a77b4b2eb10b260ac889b432d7af1c",
+ "msg" : "41a21ec6f04859724a1dfcdcf85e6c3a",
+ "ct" : "97b58514f15f8dd8e1e4f768191cfd1a82d9572f4a0b4c9c9215d706e7bd9065",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 43,
+ "comment" : "password is a valid UTF-8 encoding",
+ "flags" : [
+ "Utf8"
+ ],
+ "password" : "d4b8cbbcc49bd9b6",
+ "salt" : "657a212f745924eb",
+ "iterationCount" : 4096,
+ "iv" : "6529f3dc9f0197e2f5c6e889b1b6097f",
+ "msg" : "231765341c414e93ec399b804a79a65dfc",
+ "ct" : "421bc22f75d3d72b076234cd64c670bc10389b18cf3ee1146e72bd0d17e4fc10",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 44,
+ "comment" : "password is a valid UTF-8 encoding",
+ "flags" : [
+ "Utf8"
+ ],
+ "password" : "c299d292cd92dcb8",
+ "salt" : "99c55e182238c8e0c385447685e9ba85",
+ "iterationCount" : 4096,
+ "iv" : "34d4cc26cd871885c8e781d6e8b9ec67",
+ "msg" : "4bf1f98da6113ca66cc18283aedb4cc5",
+ "ct" : "24f5a255bc8e1bf076ca1d44d2032b57692b726a1408ec84f6d9ed99425f0387",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 45,
+ "comment" : "password is a valid UTF-8 encoding",
+ "flags" : [
+ "Utf8"
+ ],
+ "password" : "da9dd3acdca2df8a",
+ "salt" : "b5413f52391a2ff0fb19563c0b40a445",
+ "iterationCount" : 4096,
+ "iv" : "b4d3b1dbbc034d407ce552e6bc63fee1",
+ "msg" : "e2e81593f6591df708582f4cce0b1c6d78",
+ "ct" : "cc05f040ac5dff3e5b724ab46465a80db1489a445648d22a27956e16806485dd",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 46,
+ "comment" : "password is a valid UTF-8 encoding",
+ "flags" : [
+ "Utf8"
+ ],
+ "password" : "cfbec3b9d7acc7a9d585d1a5c28fcca119",
+ "salt" : "e9c55717a1259a29",
+ "iterationCount" : 4096,
+ "iv" : "cd718713a05183c1aa4bc4c01794b382",
+ "msg" : "1f4425a96b272fc27bcbfda0bb7e0dd8",
+ "ct" : "4f3bb5af3d490ed0d95c3b1d1da5005ac34971d209b9c58ed7964cf1995e482b",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 47,
+ "comment" : "password is a valid UTF-8 encoding",
+ "flags" : [
+ "Utf8"
+ ],
+ "password" : "d492c59061cd9dd9b8c28fd39fcd9e24",
+ "salt" : "09deec77ec44eb6e",
+ "iterationCount" : 4096,
+ "iv" : "0f958378c10c245540b9ce61d7781fd8",
+ "msg" : "ae209895c5cb179e54649749cdb245b9ce",
+ "ct" : "067bc0f1a8156a6a6a6be07e3e57240b74a4babb4e955aca201f93f7519ae818",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 48,
+ "comment" : "password is a valid UTF-8 encoding",
+ "flags" : [
+ "Utf8"
+ ],
+ "password" : "da9dd096cb93db88dbbed495ceaacf853c",
+ "salt" : "200bba668b2010b1968b82091848937c",
+ "iterationCount" : 4096,
+ "iv" : "39d3e787c076007b3c173b75597b08c5",
+ "msg" : "0b4e337297c6cdd5c51f8ee7e633ef8f",
+ "ct" : "33f2804ce2a03cc8e8ced685f653cd2211c15effd6e340f4d5094937931910f5",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 49,
+ "comment" : "password is a valid UTF-8 encoding",
+ "flags" : [
+ "Utf8"
+ ],
+ "password" : "d9aacab7c2a0dbb5d89bc7acde9cceb50c",
+ "salt" : "1d87767829bd386ad2038cea7a0b542f",
+ "iterationCount" : 4096,
+ "iv" : "cfb67f9bb8cfb0e05684fcba195f0f19",
+ "msg" : "a9e289e0a985df90dfe23230c414dcb1fa",
+ "ct" : "4946dfaea8045b4326da1c5819dcfc93bf392b9aa457da2b1befb1c0da8dea07",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 50,
+ "comment" : "password is a random byte string",
+ "flags" : [
+ "NonUtf8"
+ ],
+ "password" : "8423ec7ea4ca4b03",
+ "salt" : "8dfae85c9f2072ae",
+ "iterationCount" : 4096,
+ "iv" : "13a77b4b2eb10b260ac889b432d7af1c",
+ "msg" : "41a21ec6f04859724a1dfcdcf85e6c3a",
+ "ct" : "81f16380a0b090555ab8007a937ebd8ddb2357ea213713dac74f7b08d5871639",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 51,
+ "comment" : "password is a random byte string",
+ "flags" : [
+ "NonUtf8"
+ ],
+ "password" : "7538a2fc091b6e76",
+ "salt" : "657a212f745924eb",
+ "iterationCount" : 4096,
+ "iv" : "6529f3dc9f0197e2f5c6e889b1b6097f",
+ "msg" : "231765341c414e93ec399b804a79a65dfc",
+ "ct" : "4055d50d36dbe97513f1876871d4a56e6c846c618974f355317b1cb9291cb27a",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 52,
+ "comment" : "password is a random byte string",
+ "flags" : [
+ "NonUtf8"
+ ],
+ "password" : "48997492c3528738",
+ "salt" : "99c55e182238c8e0c385447685e9ba85",
+ "iterationCount" : 4096,
+ "iv" : "34d4cc26cd871885c8e781d6e8b9ec67",
+ "msg" : "4bf1f98da6113ca66cc18283aedb4cc5",
+ "ct" : "acfbdb59fc594ebb6f53d99d25fcdbd013aed6329f0bac6fa10c88646957dd81",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 53,
+ "comment" : "password is a random byte string",
+ "flags" : [
+ "NonUtf8"
+ ],
+ "password" : "c69d34ec7722ffca",
+ "salt" : "b5413f52391a2ff0fb19563c0b40a445",
+ "iterationCount" : 4096,
+ "iv" : "b4d3b1dbbc034d407ce552e6bc63fee1",
+ "msg" : "e2e81593f6591df708582f4cce0b1c6d78",
+ "ct" : "a032a050a1a8b0b6ae485da90226972c21d854818abe5c50aa35b0b81a2ef354",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 54,
+ "comment" : "password is a random byte string",
+ "flags" : [
+ "NonUtf8"
+ ],
+ "password" : "e3feb0f96dec61e9dd451465f88f132119",
+ "salt" : "e9c55717a1259a29",
+ "iterationCount" : 4096,
+ "iv" : "cd718713a05183c1aa4bc4c01794b382",
+ "msg" : "1f4425a96b272fc27bcbfda0bb7e0dd8",
+ "ct" : "b7419da83ec5637c87a4b3b71fee02141342edcfba2c5fc34f88a5eac1aadb90",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 55,
+ "comment" : "password is a random byte string",
+ "flags" : [
+ "NonUtf8"
+ ],
+ "password" : "ed12a9502061d35d9678188f1cdf135e24",
+ "salt" : "09deec77ec44eb6e",
+ "iterationCount" : 4096,
+ "iv" : "0f958378c10c245540b9ce61d7781fd8",
+ "msg" : "ae209895c5cb179e54649749cdb245b9ce",
+ "ct" : "b862e7ca221f2c3e7d2fb8ed38622df466fd3d287b84515d50a90a97c472355c",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 56,
+ "comment" : "password is a random byte string",
+ "flags" : [
+ "NonUtf8"
+ ],
+ "password" : "9e9d7c166ad3bec856fe5d15d3aacbc53c",
+ "salt" : "200bba668b2010b1968b82091848937c",
+ "iterationCount" : 4096,
+ "iv" : "39d3e787c076007b3c173b75597b08c5",
+ "msg" : "0b4e337297c6cdd5c51f8ee7e633ef8f",
+ "ct" : "2d21bb4ef25175401edabbeda9bbe0bfc960251fc7018c8e1e08e6484b43f809",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 57,
+ "comment" : "password is a random byte string",
+ "flags" : [
+ "NonUtf8"
+ ],
+ "password" : "466a02b7d8a046f5161b41ecef9cc3b50c",
+ "salt" : "1d87767829bd386ad2038cea7a0b542f",
+ "iterationCount" : 4096,
+ "iv" : "cfb67f9bb8cfb0e05684fcba195f0f19",
+ "msg" : "a9e289e0a985df90dfe23230c414dcb1fa",
+ "ct" : "cedbeea5f65a63ad83d099fe6670838cabd99317c7cb925d4318ee3f6d679537",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 58,
+ "comment" : "password is an ASCII string encoded as BMPString",
+ "flags" : [
+ "Ascii",
+ "BmpString"
+ ],
+ "password" : "002d0000",
+ "salt" : "66a92292e6db2d9e",
+ "iterationCount" : 4096,
+ "iv" : "7911306933f1131299247a85b585bed8",
+ "msg" : "63219964fd79651fe1be8ad5e90f414c",
+ "ct" : "de450ec9d21386ea991ef2feace402741b77008659a197f7fbf8b93d61b5c83e",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 59,
+ "comment" : "password is an ASCII string encoded as BMPString",
+ "flags" : [
+ "Ascii",
+ "BmpString"
+ ],
+ "password" : "00470000",
+ "salt" : "88abb902385f0efc",
+ "iterationCount" : 4096,
+ "iv" : "109f2c7a8aacc98d0aa176b1b43f2ece",
+ "msg" : "34ce8c499c20714c34506b8e8b87b103d2",
+ "ct" : "2c557710758eda61f49d27c43c416d5a7b95e1dee715c45e4486e25ee755c47e",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 60,
+ "comment" : "password is an ASCII string encoded as BMPString",
+ "flags" : [
+ "Ascii",
+ "BmpString"
+ ],
+ "password" : "004400640042004d0064006d000100790000",
+ "salt" : "675617aaff664428",
+ "iterationCount" : 4096,
+ "iv" : "c08dd25d3aa04749850301e9b8f8eb28",
+ "msg" : "4f5f5d4d0a21d463419db42fdff6ae6c",
+ "ct" : "5e2760564bfbba4a062cb0a6eed3d05cca3e3299b591e9a25673c30fc76de5c0",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 61,
+ "comment" : "password is an ASCII string encoded as BMPString",
+ "flags" : [
+ "Ascii",
+ "BmpString"
+ ],
+ "password" : "007400760025002a0012005b005c00610000",
+ "salt" : "957a9ab7ad9fc7de",
+ "iterationCount" : 4096,
+ "iv" : "126081b5c830984abd553ec39b080f39",
+ "msg" : "ede5a5ea322b7972a789bb5af48f384218",
+ "ct" : "228b0b001cba73e8890e632283fb6a8f2ec02c957649d2c9233d71da4c561959",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 62,
+ "comment" : "password is an ASCII string encoded as BMPString",
+ "flags" : [
+ "Ascii",
+ "BmpString"
+ ],
+ "password" : "0023000d00510069001d0077002a0009001200010034004d00520070006100290000",
+ "salt" : "deea2dabe885caf6",
+ "iterationCount" : 4096,
+ "iv" : "698a466cec24214100bb3f30a6820bf7",
+ "msg" : "930b94a70883efd733f63f841dfc3d17",
+ "ct" : "bdd7e8873f29192ac7a37be8e72d74c81967d776c1441b7fe5bcbd7c9e165076",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 63,
+ "comment" : "password is an ASCII string encoded as BMPString",
+ "flags" : [
+ "Ascii",
+ "BmpString"
+ ],
+ "password" : "007300520057005c005600180030003c004b0050007c004f00020020002600390000",
+ "salt" : "6ed69f23acf64114",
+ "iterationCount" : 4096,
+ "iv" : "59efebfe7a6056507dc17778e5c444c5",
+ "msg" : "538705a997333fc2bf4f44f2bb90f3cd26",
+ "ct" : "f1635822eb7fbb5497837ed82db858fd8f40a7930a8cce8b20d87058af016da1",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 64,
+ "comment" : "password is a BMPString",
+ "flags" : [
+ "NonUtf8",
+ "BmpString"
+ ],
+ "password" : "92ae0000",
+ "salt" : "6978583ea9c24c49",
+ "iterationCount" : 4096,
+ "iv" : "0192ad10599677f253e7dea587373553",
+ "msg" : "c06bcb3b5cd9c1317f5eb7ba50882530",
+ "ct" : "be6df7b6bdc7e6a183a6d98f642107018099b89ccc7a484444ea0e502e6006fd",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 65,
+ "comment" : "password is a BMPString",
+ "flags" : [
+ "NonUtf8",
+ "BmpString"
+ ],
+ "password" : "38a90000",
+ "salt" : "c217b8c980fe4698",
+ "iterationCount" : 4096,
+ "iv" : "890a0303475f07189a0fe14b4e509217",
+ "msg" : "1ea8b43513275537d021c0f75849c01840",
+ "ct" : "de844f8e9423c681c7d17e7545a2670f3e4008ec319e211940c34d74c94ab599",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 66,
+ "comment" : "password is a BMPString",
+ "flags" : [
+ "NonUtf8",
+ "BmpString"
+ ],
+ "password" : "4464c2cde4ed81790000",
+ "salt" : "675617aaff664428",
+ "iterationCount" : 4096,
+ "iv" : "c08dd25d3aa04749850301e9b8f8eb28",
+ "msg" : "4f5f5d4d0a21d463419db42fdff6ae6c",
+ "ct" : "87100410e4153f3fa6cd600e44f410156f0d87b1b85e98a18270f6c9197c388c",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 67,
+ "comment" : "password is a BMPString",
+ "flags" : [
+ "NonUtf8",
+ "BmpString"
+ ],
+ "password" : "f4f6a52a925b00610000",
+ "salt" : "957a9ab7ad9fc7de",
+ "iterationCount" : 4096,
+ "iv" : "126081b5c830984abd553ec39b080f39",
+ "msg" : "ede5a5ea322b7972a789bb5af48f384218",
+ "ct" : "277aa92ddc247b3422ddc443357c1df01ad6fc7808f92df206a12042bf3943ab",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 68,
+ "comment" : "password is a BMPString",
+ "flags" : [
+ "NonUtf8",
+ "BmpString"
+ ],
+ "password" : "a38d51691d77aa891281b44d52f061a90000",
+ "salt" : "deea2dabe885caf6",
+ "iterationCount" : 4096,
+ "iv" : "698a466cec24214100bb3f30a6820bf7",
+ "msg" : "930b94a70883efd733f63f841dfc3d17",
+ "ct" : "4d97d3a58346a81dc25625d546f78d5caf24bdc59346c42a20dc37a63465c9a9",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 69,
+ "comment" : "password is a BMPString",
+ "flags" : [
+ "NonUtf8",
+ "BmpString"
+ ],
+ "password" : "f35257dc5698b0bccbd0fc4f02a026390000",
+ "salt" : "6ed69f23acf64114",
+ "iterationCount" : 4096,
+ "iv" : "59efebfe7a6056507dc17778e5c444c5",
+ "msg" : "538705a997333fc2bf4f44f2bb90f3cd26",
+ "ct" : "4a16b15f44a9e3c3460915fa82861c3949496a3db81242e062229c46970f892b",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 70,
+ "comment" : "empty password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "",
+ "salt" : "79d4c53a51c41815",
+ "iterationCount" : 4096,
+ "iv" : "a8e86525fa4f365373045533b33902bd",
+ "msg" : "a62c0d9b5bcb932f65058396367673e8",
+ "ct" : "48181fe002e27823e3647e04aaab9d7d06fe33ed18f6422c79a26304a694d643",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 71,
+ "comment" : "empty password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "",
+ "salt" : "65f8fa8b52cd47b0",
+ "iterationCount" : 4096,
+ "iv" : "bfb545e71f39df509870139862965526",
+ "msg" : "a3bae2fae05b77c7673d71901268eed173",
+ "ct" : "8b85248c7c1e0bf70beb9101a40879c8d7c6c20fe1ddfefd15ebc19307d7b2be",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 72,
+ "comment" : "password is an empty BMPString",
+ "flags" : [
+ "Ascii",
+ "BmpString"
+ ],
+ "password" : "0000",
+ "salt" : "f488f026badc3624",
+ "iterationCount" : 4096,
+ "iv" : "2979c2a734e4cd5da5d9a7e69c3f8b8e",
+ "msg" : "d63088e9bf4e9105bc287f0ab6823af9",
+ "ct" : "b64b1d37859b69d9e9a72600bfadd2ae645bfdf2abb74665e075825222386c21",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 73,
+ "comment" : "password is an empty BMPString",
+ "flags" : [
+ "Ascii",
+ "BmpString"
+ ],
+ "password" : "0000",
+ "salt" : "542ada9132800d2c",
+ "iterationCount" : 4096,
+ "iv" : "844635e540de3a85c02f2df9413ff911",
+ "msg" : "08dfdd58aa603d5fc4bdaa9cb24ce82bca",
+ "ct" : "8619618f5d1a8e8d183388a8d6db75f844d29843bb7d20b3edada2f1c7beee96",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 74,
+ "comment" : "long password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "61473a5f3441403c4a32204575314b24312d402225634c5653603d52756f247e414c3c2a4e2b3b25704140762170713a272526386448434b462a7a2c75395c725f",
+ "salt" : "80f8e7ac4649fd77",
+ "iterationCount" : 4096,
+ "iv" : "43db6bbe8b43b065bf32cd67c023856f",
+ "msg" : "e443a5541e1c0bd038030f78952195e0",
+ "ct" : "bd90f8ea83d65f63e6449bffc828a265c9d3856f95df1ea1d548c9e2f0e587c4",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 75,
+ "comment" : "long password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "7b2e6e6c462a24546c402c525a7e566e613a255c48422f364e51217b343a31253546355430315c2b2f352042385421323f5b47232e495329596c307d4f4153566746523b386023615b4c3f3a757131214d46662965645e44284d2268507a2364312d7568224751254a35273e5b69792773644555323039787e4e525647526a7d74",
+ "salt" : "66b3a75c3d1de7a7",
+ "iterationCount" : 4096,
+ "iv" : "4929fb5d6adc043751411a8165325219",
+ "msg" : "fc5d6ee5b19b873fac6f54160be4d52a",
+ "ct" : "9bfdc16f91419e1656772c60425a8bfb634349beb840405f92e2aab0f9836883",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 76,
+ "comment" : "long password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "2a4235363559523e265f4c2b48685b374e347c4b384347346a513c2251753927742c427d25732e532b4e202648522b395d5763457a705e4b637a5535216e4e4e3a523a5b5e546d7625614e2f3623557e46454d413032515f2c30214971277b23606242283e4b3445426c2e4d7c40346d47777c4e3f6e572e24664a5e286c34775c2f5e3f2960744f644b2d47532c77447a58405e335b7d3a6b5831507b642f392b3638365c4341425e46655f577e31533f41626b6056393e5d32213b716d455d2637762a4c693e6c4b5449383a504e7c5e2d442030735f7d3a56273c497d773f32427b57692f7d61373d29236f6021624b41787e603d70313e5c68334a2b534653",
+ "salt" : "73e6c34cda6b6309",
+ "iterationCount" : 4096,
+ "iv" : "44f36e53ab4a6391acc5565de7358438",
+ "msg" : "309b773bcd825e66bd3117097f536b0e",
+ "ct" : "5ce985c3ce32f38deaadc79034a73703233e2481769554e3bc7dcb0216e74efd",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 77,
+ "comment" : "special case password",
+ "flags" : [
+ "NonUtf8"
+ ],
+ "password" : "ff",
+ "salt" : "330226023aa6c045",
+ "iterationCount" : 4096,
+ "iv" : "c78e1ec445dbe9742d205432712442bf",
+ "msg" : "4b8243aab5cba8be6853eeaa65e3ebb0",
+ "ct" : "872606403817f43f957aa11b24490edbf77d0ff6feabad9f2589aabe2ebbdaca",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 78,
+ "comment" : "special case: truncated UTF-8 string",
+ "flags" : [
+ "NonUtf8"
+ ],
+ "password" : "c0",
+ "salt" : "e19e4f175a64d35a",
+ "iterationCount" : 4096,
+ "iv" : "7545745f8d0bfe38f024371e12008a5f",
+ "msg" : "9e21b64aeff5338eb9bc71b19ef8f8e7",
+ "ct" : "2f5d473677a005e556ee918f0647c0d713bac24d7b5fd9a5b69c8ca30ab00789",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 79,
+ "comment" : "special case: invalid UTF-8 bytes",
+ "flags" : [
+ "NonUtf8"
+ ],
+ "password" : "ffffffffffffffff",
+ "salt" : "1eb37da28a65f626",
+ "iterationCount" : 4096,
+ "iv" : "5e9d991fa22878ac5256759c6c9cb53e",
+ "msg" : "319c92804c5560f840cc5bdace9c925d",
+ "ct" : "03b861a7e51d3d003a44d0914fece78f6841fad42f103f92a8e51091bfa854e2",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 80,
+ "comment" : "special case: invalid 2 byte UTF-8 code points",
+ "flags" : [
+ "NonUtf8"
+ ],
+ "password" : "c0c0c0c0c0c0c0c0",
+ "salt" : "2017b5e20a7cdbe0",
+ "iterationCount" : 4096,
+ "iv" : "7e42d185cab712e2982ca6ee4c2c61ec",
+ "msg" : "0f5a93c6771fc66aff78996d77421735",
+ "ct" : "2a3f8a3855879aa08eb41c2d723731b39a7774d5604c3400c48f5cba6b17b76c",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 81,
+ "comment" : "special case: invalid 3 byte UTF-8 code points",
+ "flags" : [
+ "NonUtf8"
+ ],
+ "password" : "eeeeeeeeeeeeeeee",
+ "salt" : "84301f0aebda104f",
+ "iterationCount" : 4096,
+ "iv" : "4ba655c171677a0dfbc5f6312387c15d",
+ "msg" : "86caabd40a5c738720de173597ea72f6",
+ "ct" : "7eec675978bfba70ae3edf6f52b70a22cf6c2bca9b670e8c3eaae4fed4201c21",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 82,
+ "comment" : "special case: invalid UTF-8 code points",
+ "flags" : [
+ "NonUtf8"
+ ],
+ "password" : "f0f0f0f0f0f0f0f0",
+ "salt" : "64baccfdd4e4b41b",
+ "iterationCount" : 4096,
+ "iv" : "d6b443472d2cf853c0c05f5327faced7",
+ "msg" : "4e0ee09328663637f21410fb8ad057a1",
+ "ct" : "0f9c2261407d7f91f92de3612190dbf515afdbc56087ec975731c5e61a260405",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 83,
+ "comment" : "special case for UTF-16",
+ "flags" : [
+ "NonUtf8"
+ ],
+ "password" : "dbdbdbdbdbdbdbdb",
+ "salt" : "ba21795fffb901bc",
+ "iterationCount" : 4096,
+ "iv" : "753675f249b8c153997a797116495204",
+ "msg" : "706c565ba28370ff433460cc9f8d845a",
+ "ct" : "1b30f1fcf268eefa0e52e009e92dd6dcc13f840138285176f8707ee8380bf456",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 84,
+ "comment" : "special case: long all zero password",
+ "flags" : [
+ "Ascii"
+ ],
+ "password" : "0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
+ "salt" : "22871ffd379d9951",
+ "iterationCount" : 4096,
+ "iv" : "2e949af1052a230e7560d9ae1ce75042",
+ "msg" : "16d1b65deb2d67fc3242792a19d5c227",
+ "ct" : "cb22575424a6bb2614df322a5276b06ca0834bd10728b37d1d3b670dce760d9c",
+ "result" : "valid"
+ }
+ ]
+ }
+ ]
+}
diff --git a/testvectors_v1/pbes2_hmacsha384_aes_128_test.json b/testvectors_v1/pbes2_hmacsha384_aes_128_test.json
new file mode 100644
index 0000000..f10d1b8
--- /dev/null
+++ b/testvectors_v1/pbes2_hmacsha384_aes_128_test.json
@@ -0,0 +1,1228 @@
+{
+ "algorithm" : "PbeWithHmacSha384AndAes_128",
+ "schema" : "pbe_test_schema.json",
+ "generatorVersion" : "0.9",
+ "numberOfTests" : 84,
+ "header" : [
+ "Test vector of type PbeTest are used for PBES1 or PBES2."
+ ],
+ "notes" : {
+ "Ascii" : {
+ "bugType" : "FUNCTIONALITY",
+ "description" : "The test vector contains a password consisting of ASCII characters."
+ },
+ "BmpString" : {
+ "bugType" : "FUNCTIONALITY",
+ "description" : "The test vectors contains a password that is a valid BMPString as used in RFC 7292. This RFC uses big endian encoding and a null terminator."
+ },
+ "NonUtf8" : {
+ "bugType" : "FUNCTIONALITY",
+ "description" : "The test vector contains a password that is not a valid UTF-8 string."
+ },
+ "Printable" : {
+ "bugType" : "FUNCTIONALITY",
+ "description" : "The test vector contains a password consisting of printable ASCII characters."
+ },
+ "Utf8" : {
+ "bugType" : "FUNCTIONALITY",
+ "description" : "The test vector contains a password that is a valid UTF-8 string."
+ }
+ },
+ "testGroups" : [
+ {
+ "type" : "PbeTest",
+ "tests" : [
+ {
+ "tcId" : 1,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "7743656734722c30",
+ "salt" : "fcd9a324f025ef40",
+ "iterationCount" : 4096,
+ "iv" : "42f02ff71b8524d1678ab2e34f9e7d47",
+ "msg" : "",
+ "ct" : "e40c1adda58721259e02ed9d02f094c0",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 2,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "64395f4b48295839",
+ "salt" : "bfb221ba6de64926",
+ "iterationCount" : 4096,
+ "iv" : "7a735848780923657c0c54bc2ff0d9f8",
+ "msg" : "a3",
+ "ct" : "ece2ea8e46b9a879a9b6f8c37737eb67",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 3,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "3a787e4c2c604d70",
+ "salt" : "dc64f1fd4705b4e5",
+ "iterationCount" : 4096,
+ "iv" : "579ff2437d6739742421b6e4e70d5c27",
+ "msg" : "4204",
+ "ct" : "cc4dc29a72ccbc5fc9d4d59d1493e6ca",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 4,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "2a67656a66296120",
+ "salt" : "4c379a2bd962d19a",
+ "iterationCount" : 4096,
+ "iv" : "5bff9a5e8692229679cbd70fcfdebb74",
+ "msg" : "ceb541",
+ "ct" : "ba23439e3dd3f07f21de0147308b48ec",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 5,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "3b55267d5f4b2d4c",
+ "salt" : "08e041282eed4f00",
+ "iterationCount" : 4096,
+ "iv" : "17c5e988149370694c1b3b8cb0e44225",
+ "msg" : "10d032a7",
+ "ct" : "3cd8ac98962f4c83c69b9c4fc9588018",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 6,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "4f317e2e525e517a",
+ "salt" : "bd5c4b6f25a1f6ff",
+ "iterationCount" : 4096,
+ "iv" : "76e5e3eb771a4daec6fabdc0b0793195",
+ "msg" : "29d9f1a701",
+ "ct" : "dc844d4ccbef2611b4a2030b5ec4cf7c",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 7,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "6557766473282375",
+ "salt" : "ea1efbb1c86b0c06",
+ "iterationCount" : 4096,
+ "iv" : "1f186ad98435e90fd7700695c986ef78",
+ "msg" : "6f124d8a8248",
+ "ct" : "0d1c373426f6c735eeddaca05a537847",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 8,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "543a5f48765a2542",
+ "salt" : "f308bbcca74a2224",
+ "iterationCount" : 4096,
+ "iv" : "26bbbf2e18f06a4524e13bfd1ac00b37",
+ "msg" : "a1163153287dfe",
+ "ct" : "6c943ba4836dc7a11020f6a19b6fccf4",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 9,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "695a3c642f457a52",
+ "salt" : "7af3b0005c594502",
+ "iterationCount" : 4096,
+ "iv" : "6d9e8ea3d6ed355bf5e65b12995dbf6a",
+ "msg" : "9b29df8b3b9862f4",
+ "ct" : "1ef1f80086aec5e5421c74f7510515de",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 10,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "2a772a233f216e60",
+ "salt" : "172d5f4595c220dd",
+ "iterationCount" : 4096,
+ "iv" : "a5941967d4f6934431bd9951e20a93a6",
+ "msg" : "fe51cf84289221b894",
+ "ct" : "29461cf9aab239b86c2d7e894be6ece9",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 11,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "793c43623652216f",
+ "salt" : "d1d722eee2c5ebef",
+ "iterationCount" : 4096,
+ "iv" : "5cfe832947ec659f6847277ec1fab2f9",
+ "msg" : "696eb8b4e6b2015abb91",
+ "ct" : "ed7b1ed4607e2bb03c3ac0c6e7ffdf98",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 12,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "4854515c222a2230",
+ "salt" : "843f5ff28978f214",
+ "iterationCount" : 4096,
+ "iv" : "430b247a435124754c83cc11203f18bd",
+ "msg" : "d8405be7823b472459a2fc",
+ "ct" : "4ccb83aae6c6a119567b161c6d014885",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 13,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "48682a4d34266b40",
+ "salt" : "783f344a1fa7c9a8",
+ "iterationCount" : 4096,
+ "iv" : "c707947121e5fc2da16990a78772e0ab",
+ "msg" : "56c73b781c1bff72a8ae7faf",
+ "ct" : "ab6a358c9d40314f7cdd9ede2ec91d14",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 14,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "293a746531294d5c",
+ "salt" : "2c75641f991eb10b",
+ "iterationCount" : 4096,
+ "iv" : "96dabd858e4187d0e50f8299ab60f029",
+ "msg" : "b07e8bbb45e9a17c124f6d5129",
+ "ct" : "94cf4d9ced69e9682c59b2ccd0ee1840",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 15,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "353377343f482b65",
+ "salt" : "cf1620e7aabb73b7",
+ "iterationCount" : 4096,
+ "iv" : "8e6dd70b1dd1c39d0b8b593c556d812b",
+ "msg" : "ff89eb184de11579cae7d110a350",
+ "ct" : "d4809198f0285f2e606c869fcb197f1d",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 16,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "614e2d4634335721",
+ "salt" : "6dffc1db31767608",
+ "iterationCount" : 4096,
+ "iv" : "78c899bcdc4cf7d933ddc9016bc6e64e",
+ "msg" : "5e859aac690c85646ffb3f2bbb0d9c",
+ "ct" : "0ad04f55b5c3b57b8ddb3e4498c16e8d",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 17,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "6f5330325e22574e",
+ "salt" : "798acc7c76739d75",
+ "iterationCount" : 4096,
+ "iv" : "5bfcfd6d7013eb8828f72455d7535c77",
+ "msg" : "86059dc647ba7d0067099e16c3da8bb6",
+ "ct" : "91318907b66f07a568308d4f33d362a17254c4faa35dc082e650f2a75808673d",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 18,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "3972245623494f42",
+ "salt" : "da5421f23ac5b5e1",
+ "iterationCount" : 4096,
+ "iv" : "12293114ddb85319240682c1765e4533",
+ "msg" : "fc9349cbd8c277786c888f3254342431a8",
+ "ct" : "16aa5e45d7c6cd98fa74208a3d3c28d7aa1472195bdb0d2324ec71757d40bac5",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 19,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "464d2f76752b4d63",
+ "salt" : "8cfea3c6783cfc41",
+ "iterationCount" : 4096,
+ "iv" : "9c84fe91476ab1c6ed30db9bb7f60280",
+ "msg" : "ad10a3cdef856b0632f7ce200c11f6c569d2",
+ "ct" : "64bb4db2a5a1a491d8ea745ca40f7eb0d280f5cfd605d6bd22e3c7dd79937f94",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 20,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "7951437c2b6f7079",
+ "salt" : "caada2e55c49492f",
+ "iterationCount" : 4096,
+ "iv" : "3a0185b1423310796b052e9128334b04",
+ "msg" : "be82c331a83dd0c472abc6ae8725d2ba48b3ad",
+ "ct" : "0f9e1c01608c4b3e6919cf93573205d5e8547bbd80d9c7a12f3d40716cb8df23",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 21,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "525c2424652a603d",
+ "salt" : "26ea52da49513b47",
+ "iterationCount" : 4096,
+ "iv" : "b9c70ea8599e136a64b2a6733e8ceb40",
+ "msg" : "d964c8b7fac0906c25654186f8d8e74b62dac5ac",
+ "ct" : "d299b7e029ab7f9f41b493b4bd64372e9c6b901d5827b11ef74933e277ddc597",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 22,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "6e446161627e6a3d",
+ "salt" : "64c6e216305ac8e5",
+ "iterationCount" : 4096,
+ "iv" : "2e089b050bfcbb214a3904344b25a28d",
+ "msg" : "00bba99a3d64657e16b70ee50c091488661c0af597",
+ "ct" : "086c8543db1e6eabf5a01aae33cb2b9b8d64f51e3649ea2ebe14684a6d43ddb4",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 23,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "5b413d39776e3323",
+ "salt" : "33017b20ba4a7af2",
+ "iterationCount" : 4096,
+ "iv" : "6fcf1307b562738a387c75885a7d6bf9",
+ "msg" : "1f6c99446d139e9ea5d46af1667b733eb8748e5e0e18",
+ "ct" : "f64469925fd0874957c4c47ab492eea091265ae20593a630716583428ead0e19",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 24,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "414838254a683628",
+ "salt" : "127e43a6c714f168",
+ "iterationCount" : 4096,
+ "iv" : "21bb5b1c774409d06067597153422573",
+ "msg" : "773f5e2ebe6ce60683cac6a9e2f0c9663556923582bdec",
+ "ct" : "9043d81f1927ba805d99cf411103e68162599910e62b57cd2ca6e8d65eeb5812",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 25,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "3c202b435634305d",
+ "salt" : "45f38c6678268b8e",
+ "iterationCount" : 4096,
+ "iv" : "348b3cca3ece503b42b20b2ae690c4eb",
+ "msg" : "8ab193d18b1dec59400822dd0cea7239b3743327488e3d2d",
+ "ct" : "5f59dcb3515d4fc0c386964f2d4b1a11ae44ea135c338f6d2bf29c4fe12eddd9",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 26,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "6e43225f5832705b",
+ "salt" : "5911a7a49800e204",
+ "iterationCount" : 4096,
+ "iv" : "58b4f658efcf961c4715b0af0b0913b7",
+ "msg" : "b336756c278ab89c0539047824350469b05918446a672b4215",
+ "ct" : "bd5a7c5c0a277e05ad4fdc715e732f5120be4bab8e99cc6aa0e426bcbf3b0b47",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 27,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "3f26723264514541",
+ "salt" : "18a9d3dfa74d4024",
+ "iterationCount" : 4096,
+ "iv" : "497fe0d1a8c09aca8d98a11db8621077",
+ "msg" : "6cd40dc20c7103a39b83da1f8c67855b0ffd77c250e1447414a9",
+ "ct" : "1f341793b5f1c204752f028c845de76706742ba353a46350cb0972fa8007e6b1",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 28,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "536d4a3b42714035",
+ "salt" : "9025629f385862f5",
+ "iterationCount" : 4096,
+ "iv" : "575fd9464cc1a36fcd23d7fc4ed304de",
+ "msg" : "40a37fae54940616cd6bb6cefb8f4521895fe9b7593492c2709003",
+ "ct" : "45ee2261ff8f62a20c1e6674bddb903d6c9538b47c97e4cdb20e42481ad48d67",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 29,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "283d692b21263f41",
+ "salt" : "4f9ca92d54e165d1",
+ "iterationCount" : 4096,
+ "iv" : "402239571eaf6f7162fd4fe620d55948",
+ "msg" : "d47c8c9ec28820d760abfe731e9e9818d34abad20da255cff68fd374",
+ "ct" : "4bfaa2a667133085550af64904509ec589333f4b766f79c2d6846980545a62fa",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 30,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "3658665b3a546f47",
+ "salt" : "5ae48edef6811519",
+ "iterationCount" : 4096,
+ "iv" : "2425c2af851d56445c8e11b4529e3287",
+ "msg" : "5892825348e6160fd4f95f0a619a5a41604ee4b21ace4c9f61adf31ebc",
+ "ct" : "a9e80c93b7fa7f66d408413cb1475ca6f2ebe31e49214b27bc59a4987485c424",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 31,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "257d78712275712a",
+ "salt" : "e2a7c16a6fe6a1fc",
+ "iterationCount" : 4096,
+ "iv" : "9dc7a4ff8a5a9d04d1b88c14028092c5",
+ "msg" : "596c0a1b3f9c251c98b15fb077da34c72e415ab9f4f01ac865421a7b89be",
+ "ct" : "91b6347bb6b678b17288c127aa4ec2e15f8b1e6ef67b447807dca1c6d39d102b",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 32,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "2b75433d3a69566c",
+ "salt" : "a6d0b6f795cbe6a8",
+ "iterationCount" : 4096,
+ "iv" : "5804285758b9e6450148872a11dcc421",
+ "msg" : "18e18b3cb96d6d9ff0730b2ff70ac2be9577a75555554f6c446ed30850c167",
+ "ct" : "a23ae068b7331c07e39bdb1013fde43816eae45f44a31e3ffe4c6e24ad895264",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 33,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "252b6452647b4520",
+ "salt" : "e817780ed7997728",
+ "iterationCount" : 4096,
+ "iv" : "ff2512297f3fd5aa2b859432b9f53006",
+ "msg" : "8e9b1f95807a3c1bc95027ca72d2ae717b7e9dceac7437fc32a1aad2343ce69e",
+ "ct" : "018bb5bf3fdb0cdae5cdc750863a4bd97a84a09dd97e5e50320204dea904382503c5808da36f65d7fa533ef20302f4c3",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 34,
+ "comment" : "password contains only ASCII characters",
+ "flags" : [
+ "Ascii"
+ ],
+ "password" : "4b2d6c600e66535c7f3d6d6c",
+ "salt" : "7a4c02db8bd8fcc2",
+ "iterationCount" : 4096,
+ "iv" : "d62747fca1a7dfbee90597b3f57fffa2",
+ "msg" : "52dd188a4585bbaa85ced8d529d880b3",
+ "ct" : "6d0172c261b84bf0a55f9d9252ea16b69a9e56492555a4463f04bca66baede1f",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 35,
+ "comment" : "password contains only ASCII characters",
+ "flags" : [
+ "Ascii"
+ ],
+ "password" : "706614257f522b6315345f7c",
+ "salt" : "94ef44b92e15fa35",
+ "iterationCount" : 4096,
+ "iv" : "c489480ee8a00898f3151317c2c614b9",
+ "msg" : "9cb42f3f2992357a7beeedfa37653f4d41",
+ "ct" : "daf7a259af0d9fc95d38f9b1fb4be28587e0b91fffb28fdcf9b5b9e461bb8caf",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 36,
+ "comment" : "password contains only ASCII characters",
+ "flags" : [
+ "Ascii"
+ ],
+ "password" : "1f4b7b354903545f2b07720b",
+ "salt" : "62f91ea01f3a18aa2f122bd15c4a615b",
+ "iterationCount" : 4096,
+ "iv" : "05d867eae06fbfd2efda349bc3dcd473",
+ "msg" : "64f33addb1e1671f867e96a3e8339ecd",
+ "ct" : "57c2f706b9dd323f63e73815901c162bfa2bcaf02e93f5719a2d14bef318a742",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 37,
+ "comment" : "password contains only ASCII characters",
+ "flags" : [
+ "Ascii"
+ ],
+ "password" : "1e2e16140e4a4d19251b6f5f",
+ "salt" : "bdf156b4d87a5e07cd9481b3d136887c",
+ "iterationCount" : 4096,
+ "iv" : "b64e4b7176cfafe46235e8b32b2508e6",
+ "msg" : "9b31b854ff09e4cdd28b817fb2f2cdb6c9",
+ "ct" : "e48e5422f2eb01cc85af075079f7678a5845de911af0e0c20bc308b26206a4ac",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 38,
+ "comment" : "password contains only ASCII characters",
+ "flags" : [
+ "Ascii"
+ ],
+ "password" : "15296b0933473119180f3c0645202d5221633803",
+ "salt" : "d7412e4137fc4410",
+ "iterationCount" : 4096,
+ "iv" : "d227c8c98a652788944977f9bc73a20d",
+ "msg" : "86159d5e3b903a51a833ce561f39ae0a",
+ "ct" : "8cb959c4af09c0c67501475fbe2a149626417fc5a7024137c7fb1245f4ae30e1",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 39,
+ "comment" : "password contains only ASCII characters",
+ "flags" : [
+ "Ascii"
+ ],
+ "password" : "00017e1e176769476d2433302f3506590e632a0c",
+ "salt" : "28c1759d783256fd",
+ "iterationCount" : 4096,
+ "iv" : "cf23a38fef611880acf9107ffa9e29a8",
+ "msg" : "79532d85a40aa575377172611dd4f0047c",
+ "ct" : "f5843d893551777c157359c7416859f9ae6f02dc4bda18dcfe7e75f9ba11f3dd",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 40,
+ "comment" : "password contains only ASCII characters",
+ "flags" : [
+ "Ascii"
+ ],
+ "password" : "7a106c2773542c791d2f0a02632b69644f666278",
+ "salt" : "a36350db68186d747254bd9835219487",
+ "iterationCount" : 4096,
+ "iv" : "568af67455f416a63d3ced652c32a74d",
+ "msg" : "96687d00d01854bbc2151ed4fdec8732",
+ "ct" : "ec8fbce4797487a84a51791cfcfd09b08e4b61b8b1e881aaa03b0ce24caaf832",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 41,
+ "comment" : "password contains only ASCII characters",
+ "flags" : [
+ "Ascii"
+ ],
+ "password" : "350e2f050d444c09374977205a6b063736373067",
+ "salt" : "3cadfed36847faa4af545c426b7bcbc5",
+ "iterationCount" : 4096,
+ "iv" : "1ee0658f81c645721618de5849c3baf1",
+ "msg" : "89e4167cba0f8ca3a4b1640b023612d963",
+ "ct" : "9326f017f8a2e1d6fd02fa20606e3527b6068dbc7c3bdbe29b358b7300996654",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 42,
+ "comment" : "password is a valid UTF-8 encoding",
+ "flags" : [
+ "Utf8"
+ ],
+ "password" : "d0a3d1bed38acc83",
+ "salt" : "8dfae85c9f2072ae",
+ "iterationCount" : 4096,
+ "iv" : "13a77b4b2eb10b260ac889b432d7af1c",
+ "msg" : "41a21ec6f04859724a1dfcdcf85e6c3a",
+ "ct" : "651fc095f0d609b8468bf90d9d4fadc9f6da5e01562f9df54e41cfc76314e624",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 43,
+ "comment" : "password is a valid UTF-8 encoding",
+ "flags" : [
+ "Utf8"
+ ],
+ "password" : "d4b8cbbcc49bd9b6",
+ "salt" : "657a212f745924eb",
+ "iterationCount" : 4096,
+ "iv" : "6529f3dc9f0197e2f5c6e889b1b6097f",
+ "msg" : "231765341c414e93ec399b804a79a65dfc",
+ "ct" : "da46c52ece8431e6aa0b3b78b920e2c32631775be687507aac9e60e8e4fd11c8",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 44,
+ "comment" : "password is a valid UTF-8 encoding",
+ "flags" : [
+ "Utf8"
+ ],
+ "password" : "c299d292cd92dcb8",
+ "salt" : "99c55e182238c8e0c385447685e9ba85",
+ "iterationCount" : 4096,
+ "iv" : "34d4cc26cd871885c8e781d6e8b9ec67",
+ "msg" : "4bf1f98da6113ca66cc18283aedb4cc5",
+ "ct" : "c07728b6c86e8536a7dd602b4eb61ee8240443c8a9ccb49658d1d5aed3610b3e",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 45,
+ "comment" : "password is a valid UTF-8 encoding",
+ "flags" : [
+ "Utf8"
+ ],
+ "password" : "da9dd3acdca2df8a",
+ "salt" : "b5413f52391a2ff0fb19563c0b40a445",
+ "iterationCount" : 4096,
+ "iv" : "b4d3b1dbbc034d407ce552e6bc63fee1",
+ "msg" : "e2e81593f6591df708582f4cce0b1c6d78",
+ "ct" : "7ecd431eae30043c819479893fff087773fb05ddcb585a5b9575e694caa7a965",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 46,
+ "comment" : "password is a valid UTF-8 encoding",
+ "flags" : [
+ "Utf8"
+ ],
+ "password" : "cfbec3b9d7acc7a9d585d1a5c28fcca119",
+ "salt" : "e9c55717a1259a29",
+ "iterationCount" : 4096,
+ "iv" : "cd718713a05183c1aa4bc4c01794b382",
+ "msg" : "1f4425a96b272fc27bcbfda0bb7e0dd8",
+ "ct" : "0e936d0467e9148c923f08606bce291e9eefead39f775138bff21efaeebb1ae8",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 47,
+ "comment" : "password is a valid UTF-8 encoding",
+ "flags" : [
+ "Utf8"
+ ],
+ "password" : "d492c59061cd9dd9b8c28fd39fcd9e24",
+ "salt" : "09deec77ec44eb6e",
+ "iterationCount" : 4096,
+ "iv" : "0f958378c10c245540b9ce61d7781fd8",
+ "msg" : "ae209895c5cb179e54649749cdb245b9ce",
+ "ct" : "c18c80514c6a357b3100afbe7bf2f906787742ebc2b64e23044d09f63a7cb7e4",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 48,
+ "comment" : "password is a valid UTF-8 encoding",
+ "flags" : [
+ "Utf8"
+ ],
+ "password" : "da9dd096cb93db88dbbed495ceaacf853c",
+ "salt" : "200bba668b2010b1968b82091848937c",
+ "iterationCount" : 4096,
+ "iv" : "39d3e787c076007b3c173b75597b08c5",
+ "msg" : "0b4e337297c6cdd5c51f8ee7e633ef8f",
+ "ct" : "a5d913172eb03e44d5df282d68b35503511d17e904d642fe9216b7a79826f2a2",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 49,
+ "comment" : "password is a valid UTF-8 encoding",
+ "flags" : [
+ "Utf8"
+ ],
+ "password" : "d9aacab7c2a0dbb5d89bc7acde9cceb50c",
+ "salt" : "1d87767829bd386ad2038cea7a0b542f",
+ "iterationCount" : 4096,
+ "iv" : "cfb67f9bb8cfb0e05684fcba195f0f19",
+ "msg" : "a9e289e0a985df90dfe23230c414dcb1fa",
+ "ct" : "5a7ec07e2b2d9c8c495319574ccff2cb7249745e7d6e9bbcea025ab0beb7758b",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 50,
+ "comment" : "password is a random byte string",
+ "flags" : [
+ "NonUtf8"
+ ],
+ "password" : "8423ec7ea4ca4b03",
+ "salt" : "8dfae85c9f2072ae",
+ "iterationCount" : 4096,
+ "iv" : "13a77b4b2eb10b260ac889b432d7af1c",
+ "msg" : "41a21ec6f04859724a1dfcdcf85e6c3a",
+ "ct" : "e9f242076b26976b6cadae9c06bbf71ee9de81ea4fafcf59c36363753add6a14",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 51,
+ "comment" : "password is a random byte string",
+ "flags" : [
+ "NonUtf8"
+ ],
+ "password" : "7538a2fc091b6e76",
+ "salt" : "657a212f745924eb",
+ "iterationCount" : 4096,
+ "iv" : "6529f3dc9f0197e2f5c6e889b1b6097f",
+ "msg" : "231765341c414e93ec399b804a79a65dfc",
+ "ct" : "ee2e47e23c4d028650097b9d4867a520686de24543e0c6c12aa12b5291d5adad",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 52,
+ "comment" : "password is a random byte string",
+ "flags" : [
+ "NonUtf8"
+ ],
+ "password" : "48997492c3528738",
+ "salt" : "99c55e182238c8e0c385447685e9ba85",
+ "iterationCount" : 4096,
+ "iv" : "34d4cc26cd871885c8e781d6e8b9ec67",
+ "msg" : "4bf1f98da6113ca66cc18283aedb4cc5",
+ "ct" : "d61b871fd96e18d46c5b787cc8bee767dad6628aa4e340b93ad1d33d567ef212",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 53,
+ "comment" : "password is a random byte string",
+ "flags" : [
+ "NonUtf8"
+ ],
+ "password" : "c69d34ec7722ffca",
+ "salt" : "b5413f52391a2ff0fb19563c0b40a445",
+ "iterationCount" : 4096,
+ "iv" : "b4d3b1dbbc034d407ce552e6bc63fee1",
+ "msg" : "e2e81593f6591df708582f4cce0b1c6d78",
+ "ct" : "7e04b209e9408b570f425af06dafd93305a3761603be14b60447420f690750ce",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 54,
+ "comment" : "password is a random byte string",
+ "flags" : [
+ "NonUtf8"
+ ],
+ "password" : "e3feb0f96dec61e9dd451465f88f132119",
+ "salt" : "e9c55717a1259a29",
+ "iterationCount" : 4096,
+ "iv" : "cd718713a05183c1aa4bc4c01794b382",
+ "msg" : "1f4425a96b272fc27bcbfda0bb7e0dd8",
+ "ct" : "b899337c40a95dcd19ee66abbac546cd070b6e0a480169efe63fcef4a8231168",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 55,
+ "comment" : "password is a random byte string",
+ "flags" : [
+ "NonUtf8"
+ ],
+ "password" : "ed12a9502061d35d9678188f1cdf135e24",
+ "salt" : "09deec77ec44eb6e",
+ "iterationCount" : 4096,
+ "iv" : "0f958378c10c245540b9ce61d7781fd8",
+ "msg" : "ae209895c5cb179e54649749cdb245b9ce",
+ "ct" : "b7aca018f46fffbfea5494defa45f45b926f21ba1b5f5d8088dd46eaf22d42d9",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 56,
+ "comment" : "password is a random byte string",
+ "flags" : [
+ "NonUtf8"
+ ],
+ "password" : "9e9d7c166ad3bec856fe5d15d3aacbc53c",
+ "salt" : "200bba668b2010b1968b82091848937c",
+ "iterationCount" : 4096,
+ "iv" : "39d3e787c076007b3c173b75597b08c5",
+ "msg" : "0b4e337297c6cdd5c51f8ee7e633ef8f",
+ "ct" : "dfd761dbcab701ef1b243abfd233c93b3299a8260456aad022abf9a6877da7bd",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 57,
+ "comment" : "password is a random byte string",
+ "flags" : [
+ "NonUtf8"
+ ],
+ "password" : "466a02b7d8a046f5161b41ecef9cc3b50c",
+ "salt" : "1d87767829bd386ad2038cea7a0b542f",
+ "iterationCount" : 4096,
+ "iv" : "cfb67f9bb8cfb0e05684fcba195f0f19",
+ "msg" : "a9e289e0a985df90dfe23230c414dcb1fa",
+ "ct" : "9d86de34b5b4aa5d4c9293fa0d081d4e1ce108a77e99825da260e6ad138160dc",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 58,
+ "comment" : "password is an ASCII string encoded as BMPString",
+ "flags" : [
+ "Ascii",
+ "BmpString"
+ ],
+ "password" : "002d0000",
+ "salt" : "66a92292e6db2d9e",
+ "iterationCount" : 4096,
+ "iv" : "7911306933f1131299247a85b585bed8",
+ "msg" : "63219964fd79651fe1be8ad5e90f414c",
+ "ct" : "dc19f2c70f74a2f351e3e3621efc6db189aa8832625cd19387c4f94cc3065327",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 59,
+ "comment" : "password is an ASCII string encoded as BMPString",
+ "flags" : [
+ "Ascii",
+ "BmpString"
+ ],
+ "password" : "00470000",
+ "salt" : "88abb902385f0efc",
+ "iterationCount" : 4096,
+ "iv" : "109f2c7a8aacc98d0aa176b1b43f2ece",
+ "msg" : "34ce8c499c20714c34506b8e8b87b103d2",
+ "ct" : "9546b20b26efca6eeeaa200c261436cac58b6a73c144f54141174c50faff1177",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 60,
+ "comment" : "password is an ASCII string encoded as BMPString",
+ "flags" : [
+ "Ascii",
+ "BmpString"
+ ],
+ "password" : "004400640042004d0064006d000100790000",
+ "salt" : "675617aaff664428",
+ "iterationCount" : 4096,
+ "iv" : "c08dd25d3aa04749850301e9b8f8eb28",
+ "msg" : "4f5f5d4d0a21d463419db42fdff6ae6c",
+ "ct" : "e71c08a01bfb0dad03bfe1a08019b1514f1860b763c21128a7d7a06693397c97",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 61,
+ "comment" : "password is an ASCII string encoded as BMPString",
+ "flags" : [
+ "Ascii",
+ "BmpString"
+ ],
+ "password" : "007400760025002a0012005b005c00610000",
+ "salt" : "957a9ab7ad9fc7de",
+ "iterationCount" : 4096,
+ "iv" : "126081b5c830984abd553ec39b080f39",
+ "msg" : "ede5a5ea322b7972a789bb5af48f384218",
+ "ct" : "377c53b84b636c51c0dd690ac34c5a87e51307aaab6b7636f04cd3e650d00e89",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 62,
+ "comment" : "password is an ASCII string encoded as BMPString",
+ "flags" : [
+ "Ascii",
+ "BmpString"
+ ],
+ "password" : "0023000d00510069001d0077002a0009001200010034004d00520070006100290000",
+ "salt" : "deea2dabe885caf6",
+ "iterationCount" : 4096,
+ "iv" : "698a466cec24214100bb3f30a6820bf7",
+ "msg" : "930b94a70883efd733f63f841dfc3d17",
+ "ct" : "fc72f46a6a218abcd49f9490f7c4c432cdd8d7f92dcb179daefe77174c50dc57",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 63,
+ "comment" : "password is an ASCII string encoded as BMPString",
+ "flags" : [
+ "Ascii",
+ "BmpString"
+ ],
+ "password" : "007300520057005c005600180030003c004b0050007c004f00020020002600390000",
+ "salt" : "6ed69f23acf64114",
+ "iterationCount" : 4096,
+ "iv" : "59efebfe7a6056507dc17778e5c444c5",
+ "msg" : "538705a997333fc2bf4f44f2bb90f3cd26",
+ "ct" : "6cc3458936506c17c0f5ab23dd2ab44ce70a0639f83eb3b8273c233500732f8f",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 64,
+ "comment" : "password is a BMPString",
+ "flags" : [
+ "NonUtf8",
+ "BmpString"
+ ],
+ "password" : "92ae0000",
+ "salt" : "6978583ea9c24c49",
+ "iterationCount" : 4096,
+ "iv" : "0192ad10599677f253e7dea587373553",
+ "msg" : "c06bcb3b5cd9c1317f5eb7ba50882530",
+ "ct" : "5849756a311c4b01e00c61b247ab57cee4ede04c4ba64916aba88db757496f0c",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 65,
+ "comment" : "password is a BMPString",
+ "flags" : [
+ "NonUtf8",
+ "BmpString"
+ ],
+ "password" : "38a90000",
+ "salt" : "c217b8c980fe4698",
+ "iterationCount" : 4096,
+ "iv" : "890a0303475f07189a0fe14b4e509217",
+ "msg" : "1ea8b43513275537d021c0f75849c01840",
+ "ct" : "2231981c079c4bdfe069380dc3b8685d621f1c11159e0805817204dd68baf64b",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 66,
+ "comment" : "password is a BMPString",
+ "flags" : [
+ "NonUtf8",
+ "BmpString"
+ ],
+ "password" : "4464c2cde4ed81790000",
+ "salt" : "675617aaff664428",
+ "iterationCount" : 4096,
+ "iv" : "c08dd25d3aa04749850301e9b8f8eb28",
+ "msg" : "4f5f5d4d0a21d463419db42fdff6ae6c",
+ "ct" : "a418710d7f39742c591e6d210b485425ef035d2608f16d49ce62402f84da53ae",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 67,
+ "comment" : "password is a BMPString",
+ "flags" : [
+ "NonUtf8",
+ "BmpString"
+ ],
+ "password" : "f4f6a52a925b00610000",
+ "salt" : "957a9ab7ad9fc7de",
+ "iterationCount" : 4096,
+ "iv" : "126081b5c830984abd553ec39b080f39",
+ "msg" : "ede5a5ea322b7972a789bb5af48f384218",
+ "ct" : "41efdfd9d6c5da2248297dddf2d5b3d4a86509bebc0be1f725ee65b6c2d9793e",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 68,
+ "comment" : "password is a BMPString",
+ "flags" : [
+ "NonUtf8",
+ "BmpString"
+ ],
+ "password" : "a38d51691d77aa891281b44d52f061a90000",
+ "salt" : "deea2dabe885caf6",
+ "iterationCount" : 4096,
+ "iv" : "698a466cec24214100bb3f30a6820bf7",
+ "msg" : "930b94a70883efd733f63f841dfc3d17",
+ "ct" : "d70f07c8088779f856805a3435c35ccda52c4bfe6b0897b8bf0c4bf07a5e1eb0",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 69,
+ "comment" : "password is a BMPString",
+ "flags" : [
+ "NonUtf8",
+ "BmpString"
+ ],
+ "password" : "f35257dc5698b0bccbd0fc4f02a026390000",
+ "salt" : "6ed69f23acf64114",
+ "iterationCount" : 4096,
+ "iv" : "59efebfe7a6056507dc17778e5c444c5",
+ "msg" : "538705a997333fc2bf4f44f2bb90f3cd26",
+ "ct" : "9cc8b256a91c50aaf9ddb3fb26e6779ee77a61d1dc72cc1706024c70e3d51c0e",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 70,
+ "comment" : "empty password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "",
+ "salt" : "79d4c53a51c41815",
+ "iterationCount" : 4096,
+ "iv" : "a8e86525fa4f365373045533b33902bd",
+ "msg" : "a62c0d9b5bcb932f65058396367673e8",
+ "ct" : "6923ca5364de4eeadd91bbc6c87e45d01a39faeaa1cb13d89f52f672f9cd211a",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 71,
+ "comment" : "empty password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "",
+ "salt" : "65f8fa8b52cd47b0",
+ "iterationCount" : 4096,
+ "iv" : "bfb545e71f39df509870139862965526",
+ "msg" : "a3bae2fae05b77c7673d71901268eed173",
+ "ct" : "e5c96b3365f5f5aa109dc7ac42209d494cdfb9c5b310511519985b92eeda76ee",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 72,
+ "comment" : "password is an empty BMPString",
+ "flags" : [
+ "Ascii",
+ "BmpString"
+ ],
+ "password" : "0000",
+ "salt" : "f488f026badc3624",
+ "iterationCount" : 4096,
+ "iv" : "2979c2a734e4cd5da5d9a7e69c3f8b8e",
+ "msg" : "d63088e9bf4e9105bc287f0ab6823af9",
+ "ct" : "5cff9fb6910b37f77cbba3d8c414050878d5d782d191cc6f749b903f5fbaf7b2",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 73,
+ "comment" : "password is an empty BMPString",
+ "flags" : [
+ "Ascii",
+ "BmpString"
+ ],
+ "password" : "0000",
+ "salt" : "542ada9132800d2c",
+ "iterationCount" : 4096,
+ "iv" : "844635e540de3a85c02f2df9413ff911",
+ "msg" : "08dfdd58aa603d5fc4bdaa9cb24ce82bca",
+ "ct" : "5ddaf7f56c4f1b33073bb433c0d12679ac5cb6dfacd715a8c8cc2f98e558722f",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 74,
+ "comment" : "long password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "61473a5f3441403c4a32204575314b24312d402225634c5653603d52756f247e414c3c2a4e2b3b25704140762170713a272526386448434b462a7a2c75395c725f",
+ "salt" : "80f8e7ac4649fd77",
+ "iterationCount" : 4096,
+ "iv" : "43db6bbe8b43b065bf32cd67c023856f",
+ "msg" : "e443a5541e1c0bd038030f78952195e0",
+ "ct" : "3dd8cbf73a5de60e2564746561f33cb10fcc26629396368ebf0cdc726768735f",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 75,
+ "comment" : "long password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "7b2e6e6c462a24546c402c525a7e566e613a255c48422f364e51217b343a31253546355430315c2b2f352042385421323f5b47232e495329596c307d4f4153566746523b386023615b4c3f3a757131214d46662965645e44284d2268507a2364312d7568224751254a35273e5b69792773644555323039787e4e525647526a7d74",
+ "salt" : "66b3a75c3d1de7a7",
+ "iterationCount" : 4096,
+ "iv" : "4929fb5d6adc043751411a8165325219",
+ "msg" : "fc5d6ee5b19b873fac6f54160be4d52a",
+ "ct" : "4ba9bc27b8692fe2bb71a08d43f2ff8730be41dda835792992356c4818742c82",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 76,
+ "comment" : "long password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "2a4235363559523e265f4c2b48685b374e347c4b384347346a513c2251753927742c427d25732e532b4e202648522b395d5763457a705e4b637a5535216e4e4e3a523a5b5e546d7625614e2f3623557e46454d413032515f2c30214971277b23606242283e4b3445426c2e4d7c40346d47777c4e3f6e572e24664a5e286c34775c2f5e3f2960744f644b2d47532c77447a58405e335b7d3a6b5831507b642f392b3638365c4341425e46655f577e31533f41626b6056393e5d32213b716d455d2637762a4c693e6c4b5449383a504e7c5e2d442030735f7d3a56273c497d773f32427b57692f7d61373d29236f6021624b41787e603d70313e5c68334a2b534653",
+ "salt" : "73e6c34cda6b6309",
+ "iterationCount" : 4096,
+ "iv" : "44f36e53ab4a6391acc5565de7358438",
+ "msg" : "309b773bcd825e66bd3117097f536b0e",
+ "ct" : "b29dc631bbb821abbeeb6e477174115b78ff015e85a301b7067ddde353b842a1",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 77,
+ "comment" : "special case password",
+ "flags" : [
+ "NonUtf8"
+ ],
+ "password" : "ff",
+ "salt" : "330226023aa6c045",
+ "iterationCount" : 4096,
+ "iv" : "c78e1ec445dbe9742d205432712442bf",
+ "msg" : "4b8243aab5cba8be6853eeaa65e3ebb0",
+ "ct" : "816a591680b21b40ff7d52ee317b236d328252ba669596aa4694b42c26e65b04",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 78,
+ "comment" : "special case: truncated UTF-8 string",
+ "flags" : [
+ "NonUtf8"
+ ],
+ "password" : "c0",
+ "salt" : "e19e4f175a64d35a",
+ "iterationCount" : 4096,
+ "iv" : "7545745f8d0bfe38f024371e12008a5f",
+ "msg" : "9e21b64aeff5338eb9bc71b19ef8f8e7",
+ "ct" : "70d9920180a8a1561b377d7fe78e6364888ab4af0a60d34868ce457b11d2c5d7",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 79,
+ "comment" : "special case: invalid UTF-8 bytes",
+ "flags" : [
+ "NonUtf8"
+ ],
+ "password" : "ffffffffffffffff",
+ "salt" : "1eb37da28a65f626",
+ "iterationCount" : 4096,
+ "iv" : "5e9d991fa22878ac5256759c6c9cb53e",
+ "msg" : "319c92804c5560f840cc5bdace9c925d",
+ "ct" : "b3c205d23be5586cd4b146eb52125d842c639785d390db795688ce10fe4b2a93",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 80,
+ "comment" : "special case: invalid 2 byte UTF-8 code points",
+ "flags" : [
+ "NonUtf8"
+ ],
+ "password" : "c0c0c0c0c0c0c0c0",
+ "salt" : "2017b5e20a7cdbe0",
+ "iterationCount" : 4096,
+ "iv" : "7e42d185cab712e2982ca6ee4c2c61ec",
+ "msg" : "0f5a93c6771fc66aff78996d77421735",
+ "ct" : "5596cb4cdfd1702bcb4dd098d28b58f99e44500d310ccadea2a8f374f92e7dc2",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 81,
+ "comment" : "special case: invalid 3 byte UTF-8 code points",
+ "flags" : [
+ "NonUtf8"
+ ],
+ "password" : "eeeeeeeeeeeeeeee",
+ "salt" : "84301f0aebda104f",
+ "iterationCount" : 4096,
+ "iv" : "4ba655c171677a0dfbc5f6312387c15d",
+ "msg" : "86caabd40a5c738720de173597ea72f6",
+ "ct" : "94f9f054399a0d8bf3c5044845d6d89f28a6aab931896c0a31ed109ad2346d60",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 82,
+ "comment" : "special case: invalid UTF-8 code points",
+ "flags" : [
+ "NonUtf8"
+ ],
+ "password" : "f0f0f0f0f0f0f0f0",
+ "salt" : "64baccfdd4e4b41b",
+ "iterationCount" : 4096,
+ "iv" : "d6b443472d2cf853c0c05f5327faced7",
+ "msg" : "4e0ee09328663637f21410fb8ad057a1",
+ "ct" : "5f35e9b07eb2932c6a8edbbd66c6d48fb74cc0900a5fa0bd27d2c9ed802ca9c3",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 83,
+ "comment" : "special case for UTF-16",
+ "flags" : [
+ "NonUtf8"
+ ],
+ "password" : "dbdbdbdbdbdbdbdb",
+ "salt" : "ba21795fffb901bc",
+ "iterationCount" : 4096,
+ "iv" : "753675f249b8c153997a797116495204",
+ "msg" : "706c565ba28370ff433460cc9f8d845a",
+ "ct" : "3859c91fb73238e01fffd2b405fd5cc1cb4dbc42fe7d9385b1a7f6cf770d6971",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 84,
+ "comment" : "special case: long all zero password",
+ "flags" : [
+ "Ascii"
+ ],
+ "password" : "0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
+ "salt" : "22871ffd379d9951",
+ "iterationCount" : 4096,
+ "iv" : "2e949af1052a230e7560d9ae1ce75042",
+ "msg" : "16d1b65deb2d67fc3242792a19d5c227",
+ "ct" : "2d3f26beb0201c69af02e3e773301484de7da8c925e4882a22b22e42ae947355",
+ "result" : "valid"
+ }
+ ]
+ }
+ ]
+}
diff --git a/testvectors_v1/pbes2_hmacsha384_aes_192_test.json b/testvectors_v1/pbes2_hmacsha384_aes_192_test.json
new file mode 100644
index 0000000..4b36590
--- /dev/null
+++ b/testvectors_v1/pbes2_hmacsha384_aes_192_test.json
@@ -0,0 +1,1228 @@
+{
+ "algorithm" : "PbeWithHmacSha384AndAes_192",
+ "schema" : "pbe_test_schema.json",
+ "generatorVersion" : "0.9",
+ "numberOfTests" : 84,
+ "header" : [
+ "Test vector of type PbeTest are used for PBES1 or PBES2."
+ ],
+ "notes" : {
+ "Ascii" : {
+ "bugType" : "FUNCTIONALITY",
+ "description" : "The test vector contains a password consisting of ASCII characters."
+ },
+ "BmpString" : {
+ "bugType" : "FUNCTIONALITY",
+ "description" : "The test vectors contains a password that is a valid BMPString as used in RFC 7292. This RFC uses big endian encoding and a null terminator."
+ },
+ "NonUtf8" : {
+ "bugType" : "FUNCTIONALITY",
+ "description" : "The test vector contains a password that is not a valid UTF-8 string."
+ },
+ "Printable" : {
+ "bugType" : "FUNCTIONALITY",
+ "description" : "The test vector contains a password consisting of printable ASCII characters."
+ },
+ "Utf8" : {
+ "bugType" : "FUNCTIONALITY",
+ "description" : "The test vector contains a password that is a valid UTF-8 string."
+ }
+ },
+ "testGroups" : [
+ {
+ "type" : "PbeTest",
+ "tests" : [
+ {
+ "tcId" : 1,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "7743656734722c30",
+ "salt" : "fcd9a324f025ef40",
+ "iterationCount" : 4096,
+ "iv" : "42f02ff71b8524d1678ab2e34f9e7d47",
+ "msg" : "",
+ "ct" : "c6fa3839efa7d65d8a78bb1e8df396f2",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 2,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "64395f4b48295839",
+ "salt" : "bfb221ba6de64926",
+ "iterationCount" : 4096,
+ "iv" : "7a735848780923657c0c54bc2ff0d9f8",
+ "msg" : "a3",
+ "ct" : "b4d5635b84ab8ae69e7f6bc88cae94b5",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 3,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "3a787e4c2c604d70",
+ "salt" : "dc64f1fd4705b4e5",
+ "iterationCount" : 4096,
+ "iv" : "579ff2437d6739742421b6e4e70d5c27",
+ "msg" : "4204",
+ "ct" : "7df38eb316e0a8933b93118e5add8f37",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 4,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "2a67656a66296120",
+ "salt" : "4c379a2bd962d19a",
+ "iterationCount" : 4096,
+ "iv" : "5bff9a5e8692229679cbd70fcfdebb74",
+ "msg" : "ceb541",
+ "ct" : "bf38dcf9d7f5af130a151269ab258a82",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 5,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "3b55267d5f4b2d4c",
+ "salt" : "08e041282eed4f00",
+ "iterationCount" : 4096,
+ "iv" : "17c5e988149370694c1b3b8cb0e44225",
+ "msg" : "10d032a7",
+ "ct" : "0eb43fd6c94eb6504104ac881dc1c7ec",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 6,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "4f317e2e525e517a",
+ "salt" : "bd5c4b6f25a1f6ff",
+ "iterationCount" : 4096,
+ "iv" : "76e5e3eb771a4daec6fabdc0b0793195",
+ "msg" : "29d9f1a701",
+ "ct" : "a510d610ed6576e248dfe95b6cb3f2b4",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 7,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "6557766473282375",
+ "salt" : "ea1efbb1c86b0c06",
+ "iterationCount" : 4096,
+ "iv" : "1f186ad98435e90fd7700695c986ef78",
+ "msg" : "6f124d8a8248",
+ "ct" : "b73ca42d2057c21fb565cb3cefe56a7c",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 8,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "543a5f48765a2542",
+ "salt" : "f308bbcca74a2224",
+ "iterationCount" : 4096,
+ "iv" : "26bbbf2e18f06a4524e13bfd1ac00b37",
+ "msg" : "a1163153287dfe",
+ "ct" : "ddd1bb1bc0fab91b869943c6b5132f03",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 9,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "695a3c642f457a52",
+ "salt" : "7af3b0005c594502",
+ "iterationCount" : 4096,
+ "iv" : "6d9e8ea3d6ed355bf5e65b12995dbf6a",
+ "msg" : "9b29df8b3b9862f4",
+ "ct" : "513b4e9fe7ced2328f6f66f4462376f3",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 10,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "2a772a233f216e60",
+ "salt" : "172d5f4595c220dd",
+ "iterationCount" : 4096,
+ "iv" : "a5941967d4f6934431bd9951e20a93a6",
+ "msg" : "fe51cf84289221b894",
+ "ct" : "422475d1ed0b6351169e53adf667685d",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 11,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "793c43623652216f",
+ "salt" : "d1d722eee2c5ebef",
+ "iterationCount" : 4096,
+ "iv" : "5cfe832947ec659f6847277ec1fab2f9",
+ "msg" : "696eb8b4e6b2015abb91",
+ "ct" : "dd78ec823047fa9456e325a7a6fea26f",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 12,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "4854515c222a2230",
+ "salt" : "843f5ff28978f214",
+ "iterationCount" : 4096,
+ "iv" : "430b247a435124754c83cc11203f18bd",
+ "msg" : "d8405be7823b472459a2fc",
+ "ct" : "c4468de0b73252a62312648079b62513",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 13,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "48682a4d34266b40",
+ "salt" : "783f344a1fa7c9a8",
+ "iterationCount" : 4096,
+ "iv" : "c707947121e5fc2da16990a78772e0ab",
+ "msg" : "56c73b781c1bff72a8ae7faf",
+ "ct" : "42c8e803655a1274fecdab8fff32351e",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 14,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "293a746531294d5c",
+ "salt" : "2c75641f991eb10b",
+ "iterationCount" : 4096,
+ "iv" : "96dabd858e4187d0e50f8299ab60f029",
+ "msg" : "b07e8bbb45e9a17c124f6d5129",
+ "ct" : "018ac6d02989e3b3aa385cd590ac35ef",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 15,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "353377343f482b65",
+ "salt" : "cf1620e7aabb73b7",
+ "iterationCount" : 4096,
+ "iv" : "8e6dd70b1dd1c39d0b8b593c556d812b",
+ "msg" : "ff89eb184de11579cae7d110a350",
+ "ct" : "4b5f280a761bdd71ea9922e73c0174c2",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 16,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "614e2d4634335721",
+ "salt" : "6dffc1db31767608",
+ "iterationCount" : 4096,
+ "iv" : "78c899bcdc4cf7d933ddc9016bc6e64e",
+ "msg" : "5e859aac690c85646ffb3f2bbb0d9c",
+ "ct" : "f94d1b245d97897cab8ce8dd0c0d3638",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 17,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "6f5330325e22574e",
+ "salt" : "798acc7c76739d75",
+ "iterationCount" : 4096,
+ "iv" : "5bfcfd6d7013eb8828f72455d7535c77",
+ "msg" : "86059dc647ba7d0067099e16c3da8bb6",
+ "ct" : "6d9eebc2a39f994c4336343502c864012fe0e05929629623a346183d300d1da9",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 18,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "3972245623494f42",
+ "salt" : "da5421f23ac5b5e1",
+ "iterationCount" : 4096,
+ "iv" : "12293114ddb85319240682c1765e4533",
+ "msg" : "fc9349cbd8c277786c888f3254342431a8",
+ "ct" : "c9a56c4bfbbbe3ef970e1986e6c3d9b7f8a11ecfcb798773befc7d4d78e96d7b",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 19,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "464d2f76752b4d63",
+ "salt" : "8cfea3c6783cfc41",
+ "iterationCount" : 4096,
+ "iv" : "9c84fe91476ab1c6ed30db9bb7f60280",
+ "msg" : "ad10a3cdef856b0632f7ce200c11f6c569d2",
+ "ct" : "b1a88f50b8350bdcc93456e6ea45a59b7dc1b1fa4a3a7a02fd26a60eba20a1c3",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 20,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "7951437c2b6f7079",
+ "salt" : "caada2e55c49492f",
+ "iterationCount" : 4096,
+ "iv" : "3a0185b1423310796b052e9128334b04",
+ "msg" : "be82c331a83dd0c472abc6ae8725d2ba48b3ad",
+ "ct" : "378e8e35a7071ddf1dfb9a3b206d158393168f01ca60a9e3ad8b5e8e059fcbc2",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 21,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "525c2424652a603d",
+ "salt" : "26ea52da49513b47",
+ "iterationCount" : 4096,
+ "iv" : "b9c70ea8599e136a64b2a6733e8ceb40",
+ "msg" : "d964c8b7fac0906c25654186f8d8e74b62dac5ac",
+ "ct" : "4ddf5759e85585b879dc0940eacdd7afe289a7609b895c4ef99f44302e6f2b1b",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 22,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "6e446161627e6a3d",
+ "salt" : "64c6e216305ac8e5",
+ "iterationCount" : 4096,
+ "iv" : "2e089b050bfcbb214a3904344b25a28d",
+ "msg" : "00bba99a3d64657e16b70ee50c091488661c0af597",
+ "ct" : "3f1e2831459f21dbfcb2afa9fecf54056946a8915877e42f0f884feaa2fcebd2",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 23,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "5b413d39776e3323",
+ "salt" : "33017b20ba4a7af2",
+ "iterationCount" : 4096,
+ "iv" : "6fcf1307b562738a387c75885a7d6bf9",
+ "msg" : "1f6c99446d139e9ea5d46af1667b733eb8748e5e0e18",
+ "ct" : "a655f1b0ccbda902bb7585751f817a480aabd977556083000dfbe2caeaa4feed",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 24,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "414838254a683628",
+ "salt" : "127e43a6c714f168",
+ "iterationCount" : 4096,
+ "iv" : "21bb5b1c774409d06067597153422573",
+ "msg" : "773f5e2ebe6ce60683cac6a9e2f0c9663556923582bdec",
+ "ct" : "11d1619461efb0fedb3cc99ae12fa886a92849abc15010d7eece7dd3711b2bd4",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 25,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "3c202b435634305d",
+ "salt" : "45f38c6678268b8e",
+ "iterationCount" : 4096,
+ "iv" : "348b3cca3ece503b42b20b2ae690c4eb",
+ "msg" : "8ab193d18b1dec59400822dd0cea7239b3743327488e3d2d",
+ "ct" : "45dd0a6e7fae8e9b1ccb9d5df8ed050ebd4655fa965139253e78fb0eab614b38",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 26,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "6e43225f5832705b",
+ "salt" : "5911a7a49800e204",
+ "iterationCount" : 4096,
+ "iv" : "58b4f658efcf961c4715b0af0b0913b7",
+ "msg" : "b336756c278ab89c0539047824350469b05918446a672b4215",
+ "ct" : "06b8e8089fba720d61dac020bd6d50e1f7cbca6a03dec93ee80804c7702ff127",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 27,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "3f26723264514541",
+ "salt" : "18a9d3dfa74d4024",
+ "iterationCount" : 4096,
+ "iv" : "497fe0d1a8c09aca8d98a11db8621077",
+ "msg" : "6cd40dc20c7103a39b83da1f8c67855b0ffd77c250e1447414a9",
+ "ct" : "a7bcd618d2297f45aee5be8ca54d5f780c84966125020cc47b5d3c1e62b89164",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 28,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "536d4a3b42714035",
+ "salt" : "9025629f385862f5",
+ "iterationCount" : 4096,
+ "iv" : "575fd9464cc1a36fcd23d7fc4ed304de",
+ "msg" : "40a37fae54940616cd6bb6cefb8f4521895fe9b7593492c2709003",
+ "ct" : "b0738c69e6b9393606c7a4659888f2830260315b43c9594a84dd5010410bfe79",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 29,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "283d692b21263f41",
+ "salt" : "4f9ca92d54e165d1",
+ "iterationCount" : 4096,
+ "iv" : "402239571eaf6f7162fd4fe620d55948",
+ "msg" : "d47c8c9ec28820d760abfe731e9e9818d34abad20da255cff68fd374",
+ "ct" : "e66038a1731ad621ab07f9cee07823f330ddad6698965d5f6219c510e956662d",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 30,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "3658665b3a546f47",
+ "salt" : "5ae48edef6811519",
+ "iterationCount" : 4096,
+ "iv" : "2425c2af851d56445c8e11b4529e3287",
+ "msg" : "5892825348e6160fd4f95f0a619a5a41604ee4b21ace4c9f61adf31ebc",
+ "ct" : "87a8679995f0b479f2de37203a96e83d616a4b1ac2b3317a3736d908eac9ee75",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 31,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "257d78712275712a",
+ "salt" : "e2a7c16a6fe6a1fc",
+ "iterationCount" : 4096,
+ "iv" : "9dc7a4ff8a5a9d04d1b88c14028092c5",
+ "msg" : "596c0a1b3f9c251c98b15fb077da34c72e415ab9f4f01ac865421a7b89be",
+ "ct" : "603d71b1be43ceca2ad0fa91ffe636a88b329d3742f03dc2e891cdeb2d31be3f",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 32,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "2b75433d3a69566c",
+ "salt" : "a6d0b6f795cbe6a8",
+ "iterationCount" : 4096,
+ "iv" : "5804285758b9e6450148872a11dcc421",
+ "msg" : "18e18b3cb96d6d9ff0730b2ff70ac2be9577a75555554f6c446ed30850c167",
+ "ct" : "32272c22fac760b4d9eff9a5ec54ae796f14208b98d1e00394d0848d0fdbd407",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 33,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "252b6452647b4520",
+ "salt" : "e817780ed7997728",
+ "iterationCount" : 4096,
+ "iv" : "ff2512297f3fd5aa2b859432b9f53006",
+ "msg" : "8e9b1f95807a3c1bc95027ca72d2ae717b7e9dceac7437fc32a1aad2343ce69e",
+ "ct" : "b83f7d56a853c120d2e648409482f5fe3a005a53ef751d1b4003a5fdb6248845e58fbb8608c7fdbddfd22570eec57f65",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 34,
+ "comment" : "password contains only ASCII characters",
+ "flags" : [
+ "Ascii"
+ ],
+ "password" : "4b2d6c600e66535c7f3d6d6c",
+ "salt" : "7a4c02db8bd8fcc2",
+ "iterationCount" : 4096,
+ "iv" : "d62747fca1a7dfbee90597b3f57fffa2",
+ "msg" : "52dd188a4585bbaa85ced8d529d880b3",
+ "ct" : "12394f384654f50878912518c781705b1a43def66ae22984798fc63d3103545d",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 35,
+ "comment" : "password contains only ASCII characters",
+ "flags" : [
+ "Ascii"
+ ],
+ "password" : "706614257f522b6315345f7c",
+ "salt" : "94ef44b92e15fa35",
+ "iterationCount" : 4096,
+ "iv" : "c489480ee8a00898f3151317c2c614b9",
+ "msg" : "9cb42f3f2992357a7beeedfa37653f4d41",
+ "ct" : "38c12e6eb093f2a31b117566b47a57c303ff87280b54676295ae0698b70cede4",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 36,
+ "comment" : "password contains only ASCII characters",
+ "flags" : [
+ "Ascii"
+ ],
+ "password" : "1f4b7b354903545f2b07720b",
+ "salt" : "62f91ea01f3a18aa2f122bd15c4a615b",
+ "iterationCount" : 4096,
+ "iv" : "05d867eae06fbfd2efda349bc3dcd473",
+ "msg" : "64f33addb1e1671f867e96a3e8339ecd",
+ "ct" : "22c4bd513fec94d4dd478abbd63bbe3ee2b515dfa57b6bf5dbfc746b7218719c",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 37,
+ "comment" : "password contains only ASCII characters",
+ "flags" : [
+ "Ascii"
+ ],
+ "password" : "1e2e16140e4a4d19251b6f5f",
+ "salt" : "bdf156b4d87a5e07cd9481b3d136887c",
+ "iterationCount" : 4096,
+ "iv" : "b64e4b7176cfafe46235e8b32b2508e6",
+ "msg" : "9b31b854ff09e4cdd28b817fb2f2cdb6c9",
+ "ct" : "de04eab187f7aec4b99c116e687e455903f75ec2fa7013eae84949a09ee54ff2",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 38,
+ "comment" : "password contains only ASCII characters",
+ "flags" : [
+ "Ascii"
+ ],
+ "password" : "15296b0933473119180f3c0645202d5221633803",
+ "salt" : "d7412e4137fc4410",
+ "iterationCount" : 4096,
+ "iv" : "d227c8c98a652788944977f9bc73a20d",
+ "msg" : "86159d5e3b903a51a833ce561f39ae0a",
+ "ct" : "1eb445b6d14caf60538beac259190f19273dd2655760230ac1d5b88149edfc0a",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 39,
+ "comment" : "password contains only ASCII characters",
+ "flags" : [
+ "Ascii"
+ ],
+ "password" : "00017e1e176769476d2433302f3506590e632a0c",
+ "salt" : "28c1759d783256fd",
+ "iterationCount" : 4096,
+ "iv" : "cf23a38fef611880acf9107ffa9e29a8",
+ "msg" : "79532d85a40aa575377172611dd4f0047c",
+ "ct" : "3ed1bbd253885b4a2559d73ac84c4ff0e1663d131d851410d1f3bcd21d1a8d23",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 40,
+ "comment" : "password contains only ASCII characters",
+ "flags" : [
+ "Ascii"
+ ],
+ "password" : "7a106c2773542c791d2f0a02632b69644f666278",
+ "salt" : "a36350db68186d747254bd9835219487",
+ "iterationCount" : 4096,
+ "iv" : "568af67455f416a63d3ced652c32a74d",
+ "msg" : "96687d00d01854bbc2151ed4fdec8732",
+ "ct" : "78f844823e15ecd95935e5931d01253c406302276b8d779b3e6520f49300577c",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 41,
+ "comment" : "password contains only ASCII characters",
+ "flags" : [
+ "Ascii"
+ ],
+ "password" : "350e2f050d444c09374977205a6b063736373067",
+ "salt" : "3cadfed36847faa4af545c426b7bcbc5",
+ "iterationCount" : 4096,
+ "iv" : "1ee0658f81c645721618de5849c3baf1",
+ "msg" : "89e4167cba0f8ca3a4b1640b023612d963",
+ "ct" : "3d17afb936e5141e3fdf43f593e8e0356d3573f1d5ef7af4ba554abd5f633651",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 42,
+ "comment" : "password is a valid UTF-8 encoding",
+ "flags" : [
+ "Utf8"
+ ],
+ "password" : "d0a3d1bed38acc83",
+ "salt" : "8dfae85c9f2072ae",
+ "iterationCount" : 4096,
+ "iv" : "13a77b4b2eb10b260ac889b432d7af1c",
+ "msg" : "41a21ec6f04859724a1dfcdcf85e6c3a",
+ "ct" : "878193e02ab71540dbe8a53b7c347c1d96b9145ad80bf63d571213ae0442054e",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 43,
+ "comment" : "password is a valid UTF-8 encoding",
+ "flags" : [
+ "Utf8"
+ ],
+ "password" : "d4b8cbbcc49bd9b6",
+ "salt" : "657a212f745924eb",
+ "iterationCount" : 4096,
+ "iv" : "6529f3dc9f0197e2f5c6e889b1b6097f",
+ "msg" : "231765341c414e93ec399b804a79a65dfc",
+ "ct" : "c17073284cb83703d0cb137e73e02d4e6a3bd11e242c41482d2761d0a60e67d5",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 44,
+ "comment" : "password is a valid UTF-8 encoding",
+ "flags" : [
+ "Utf8"
+ ],
+ "password" : "c299d292cd92dcb8",
+ "salt" : "99c55e182238c8e0c385447685e9ba85",
+ "iterationCount" : 4096,
+ "iv" : "34d4cc26cd871885c8e781d6e8b9ec67",
+ "msg" : "4bf1f98da6113ca66cc18283aedb4cc5",
+ "ct" : "b252b689c1cfc1b0a3927e57dcdfdc070b6226ff3cd2a31155eb657ecd8171ef",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 45,
+ "comment" : "password is a valid UTF-8 encoding",
+ "flags" : [
+ "Utf8"
+ ],
+ "password" : "da9dd3acdca2df8a",
+ "salt" : "b5413f52391a2ff0fb19563c0b40a445",
+ "iterationCount" : 4096,
+ "iv" : "b4d3b1dbbc034d407ce552e6bc63fee1",
+ "msg" : "e2e81593f6591df708582f4cce0b1c6d78",
+ "ct" : "74c9806927659652b01503452c0f53c3152681e9ec059263dee6d132d06920e2",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 46,
+ "comment" : "password is a valid UTF-8 encoding",
+ "flags" : [
+ "Utf8"
+ ],
+ "password" : "cfbec3b9d7acc7a9d585d1a5c28fcca119",
+ "salt" : "e9c55717a1259a29",
+ "iterationCount" : 4096,
+ "iv" : "cd718713a05183c1aa4bc4c01794b382",
+ "msg" : "1f4425a96b272fc27bcbfda0bb7e0dd8",
+ "ct" : "d5ce92ae873d3dec5ac58570f9344e9d14b4a282f1b7aba11dad6290a6d4317b",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 47,
+ "comment" : "password is a valid UTF-8 encoding",
+ "flags" : [
+ "Utf8"
+ ],
+ "password" : "d492c59061cd9dd9b8c28fd39fcd9e24",
+ "salt" : "09deec77ec44eb6e",
+ "iterationCount" : 4096,
+ "iv" : "0f958378c10c245540b9ce61d7781fd8",
+ "msg" : "ae209895c5cb179e54649749cdb245b9ce",
+ "ct" : "af7389c2e4d3c7e274731a9070868cd75e61bfef9a0ff2f4bbf46e84c0fe85c6",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 48,
+ "comment" : "password is a valid UTF-8 encoding",
+ "flags" : [
+ "Utf8"
+ ],
+ "password" : "da9dd096cb93db88dbbed495ceaacf853c",
+ "salt" : "200bba668b2010b1968b82091848937c",
+ "iterationCount" : 4096,
+ "iv" : "39d3e787c076007b3c173b75597b08c5",
+ "msg" : "0b4e337297c6cdd5c51f8ee7e633ef8f",
+ "ct" : "a4bdf74e16cfb68932e49e48739b989da8b809e467190ba880602b3d6281e4b2",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 49,
+ "comment" : "password is a valid UTF-8 encoding",
+ "flags" : [
+ "Utf8"
+ ],
+ "password" : "d9aacab7c2a0dbb5d89bc7acde9cceb50c",
+ "salt" : "1d87767829bd386ad2038cea7a0b542f",
+ "iterationCount" : 4096,
+ "iv" : "cfb67f9bb8cfb0e05684fcba195f0f19",
+ "msg" : "a9e289e0a985df90dfe23230c414dcb1fa",
+ "ct" : "5068a2d9ab229863b1fa7cda8d95c08e3708444aaa0b3e58ba58428ab8f69e90",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 50,
+ "comment" : "password is a random byte string",
+ "flags" : [
+ "NonUtf8"
+ ],
+ "password" : "8423ec7ea4ca4b03",
+ "salt" : "8dfae85c9f2072ae",
+ "iterationCount" : 4096,
+ "iv" : "13a77b4b2eb10b260ac889b432d7af1c",
+ "msg" : "41a21ec6f04859724a1dfcdcf85e6c3a",
+ "ct" : "9fca5da512343f6b79d73b440133ce959c4e1082c3b67ba70b8744ac4eaf767b",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 51,
+ "comment" : "password is a random byte string",
+ "flags" : [
+ "NonUtf8"
+ ],
+ "password" : "7538a2fc091b6e76",
+ "salt" : "657a212f745924eb",
+ "iterationCount" : 4096,
+ "iv" : "6529f3dc9f0197e2f5c6e889b1b6097f",
+ "msg" : "231765341c414e93ec399b804a79a65dfc",
+ "ct" : "3df607710f5903f2a6a97311152ea9cc99e6622a2ea6044fcf10fab26668bd1f",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 52,
+ "comment" : "password is a random byte string",
+ "flags" : [
+ "NonUtf8"
+ ],
+ "password" : "48997492c3528738",
+ "salt" : "99c55e182238c8e0c385447685e9ba85",
+ "iterationCount" : 4096,
+ "iv" : "34d4cc26cd871885c8e781d6e8b9ec67",
+ "msg" : "4bf1f98da6113ca66cc18283aedb4cc5",
+ "ct" : "2032ae8333aaa8f3eccf4be449afe5baf2bef486f5b4ad0b5e120aeaf475af4b",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 53,
+ "comment" : "password is a random byte string",
+ "flags" : [
+ "NonUtf8"
+ ],
+ "password" : "c69d34ec7722ffca",
+ "salt" : "b5413f52391a2ff0fb19563c0b40a445",
+ "iterationCount" : 4096,
+ "iv" : "b4d3b1dbbc034d407ce552e6bc63fee1",
+ "msg" : "e2e81593f6591df708582f4cce0b1c6d78",
+ "ct" : "7f3c0f23ea254c61809e8c514b28b67f4f4cb80866f4b24df2b820242babde1f",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 54,
+ "comment" : "password is a random byte string",
+ "flags" : [
+ "NonUtf8"
+ ],
+ "password" : "e3feb0f96dec61e9dd451465f88f132119",
+ "salt" : "e9c55717a1259a29",
+ "iterationCount" : 4096,
+ "iv" : "cd718713a05183c1aa4bc4c01794b382",
+ "msg" : "1f4425a96b272fc27bcbfda0bb7e0dd8",
+ "ct" : "df71a770df5d2d7b28ead23aa40cf68fdc0bac5b7335e10764a5c110c24c83c4",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 55,
+ "comment" : "password is a random byte string",
+ "flags" : [
+ "NonUtf8"
+ ],
+ "password" : "ed12a9502061d35d9678188f1cdf135e24",
+ "salt" : "09deec77ec44eb6e",
+ "iterationCount" : 4096,
+ "iv" : "0f958378c10c245540b9ce61d7781fd8",
+ "msg" : "ae209895c5cb179e54649749cdb245b9ce",
+ "ct" : "cf78e82b4d4969396ddbaf2bb68ac414bdea36c7618a59d86d261026f2bc342b",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 56,
+ "comment" : "password is a random byte string",
+ "flags" : [
+ "NonUtf8"
+ ],
+ "password" : "9e9d7c166ad3bec856fe5d15d3aacbc53c",
+ "salt" : "200bba668b2010b1968b82091848937c",
+ "iterationCount" : 4096,
+ "iv" : "39d3e787c076007b3c173b75597b08c5",
+ "msg" : "0b4e337297c6cdd5c51f8ee7e633ef8f",
+ "ct" : "dad9a8ea4c7c97b6725933a488af0ffd9830819c80d5c0977eaf59870a41b8f3",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 57,
+ "comment" : "password is a random byte string",
+ "flags" : [
+ "NonUtf8"
+ ],
+ "password" : "466a02b7d8a046f5161b41ecef9cc3b50c",
+ "salt" : "1d87767829bd386ad2038cea7a0b542f",
+ "iterationCount" : 4096,
+ "iv" : "cfb67f9bb8cfb0e05684fcba195f0f19",
+ "msg" : "a9e289e0a985df90dfe23230c414dcb1fa",
+ "ct" : "7acb33ea015d8cdce41f205a941d3f1574e0366206c2b153d74ea7741af763b4",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 58,
+ "comment" : "password is an ASCII string encoded as BMPString",
+ "flags" : [
+ "Ascii",
+ "BmpString"
+ ],
+ "password" : "002d0000",
+ "salt" : "66a92292e6db2d9e",
+ "iterationCount" : 4096,
+ "iv" : "7911306933f1131299247a85b585bed8",
+ "msg" : "63219964fd79651fe1be8ad5e90f414c",
+ "ct" : "f00e009202d1e1d129539330ab095f0437d7afc9f366f8412721a088fc991633",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 59,
+ "comment" : "password is an ASCII string encoded as BMPString",
+ "flags" : [
+ "Ascii",
+ "BmpString"
+ ],
+ "password" : "00470000",
+ "salt" : "88abb902385f0efc",
+ "iterationCount" : 4096,
+ "iv" : "109f2c7a8aacc98d0aa176b1b43f2ece",
+ "msg" : "34ce8c499c20714c34506b8e8b87b103d2",
+ "ct" : "9996fcd08292525efabba468042a732e05cd0898703ed10c31a473f9c0a29c23",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 60,
+ "comment" : "password is an ASCII string encoded as BMPString",
+ "flags" : [
+ "Ascii",
+ "BmpString"
+ ],
+ "password" : "004400640042004d0064006d000100790000",
+ "salt" : "675617aaff664428",
+ "iterationCount" : 4096,
+ "iv" : "c08dd25d3aa04749850301e9b8f8eb28",
+ "msg" : "4f5f5d4d0a21d463419db42fdff6ae6c",
+ "ct" : "8963492bc6debce149743e7f7e11d71c057711dcd73f05beb72cf896f301979d",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 61,
+ "comment" : "password is an ASCII string encoded as BMPString",
+ "flags" : [
+ "Ascii",
+ "BmpString"
+ ],
+ "password" : "007400760025002a0012005b005c00610000",
+ "salt" : "957a9ab7ad9fc7de",
+ "iterationCount" : 4096,
+ "iv" : "126081b5c830984abd553ec39b080f39",
+ "msg" : "ede5a5ea322b7972a789bb5af48f384218",
+ "ct" : "c961b642c79cb91bb0b1608ca377f644105da21b130f117de0fadd4853790126",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 62,
+ "comment" : "password is an ASCII string encoded as BMPString",
+ "flags" : [
+ "Ascii",
+ "BmpString"
+ ],
+ "password" : "0023000d00510069001d0077002a0009001200010034004d00520070006100290000",
+ "salt" : "deea2dabe885caf6",
+ "iterationCount" : 4096,
+ "iv" : "698a466cec24214100bb3f30a6820bf7",
+ "msg" : "930b94a70883efd733f63f841dfc3d17",
+ "ct" : "48420e12c7329777d6f202356280168d356e2a5a506e176ddf9bf46b706a4b1b",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 63,
+ "comment" : "password is an ASCII string encoded as BMPString",
+ "flags" : [
+ "Ascii",
+ "BmpString"
+ ],
+ "password" : "007300520057005c005600180030003c004b0050007c004f00020020002600390000",
+ "salt" : "6ed69f23acf64114",
+ "iterationCount" : 4096,
+ "iv" : "59efebfe7a6056507dc17778e5c444c5",
+ "msg" : "538705a997333fc2bf4f44f2bb90f3cd26",
+ "ct" : "40e32ac0acffacfd25a9c6e1189e05136785fae83c667dbeccd2472749c7ee44",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 64,
+ "comment" : "password is a BMPString",
+ "flags" : [
+ "NonUtf8",
+ "BmpString"
+ ],
+ "password" : "92ae0000",
+ "salt" : "6978583ea9c24c49",
+ "iterationCount" : 4096,
+ "iv" : "0192ad10599677f253e7dea587373553",
+ "msg" : "c06bcb3b5cd9c1317f5eb7ba50882530",
+ "ct" : "4e97c52c1bf5ca905217cfcb812176959d4bc23c7668d1e0924d983ea81bd1f0",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 65,
+ "comment" : "password is a BMPString",
+ "flags" : [
+ "NonUtf8",
+ "BmpString"
+ ],
+ "password" : "38a90000",
+ "salt" : "c217b8c980fe4698",
+ "iterationCount" : 4096,
+ "iv" : "890a0303475f07189a0fe14b4e509217",
+ "msg" : "1ea8b43513275537d021c0f75849c01840",
+ "ct" : "aafcb9c8b13c33240f07c41f7c2940bba19c013e8cf01acdccdfa4a768dbab86",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 66,
+ "comment" : "password is a BMPString",
+ "flags" : [
+ "NonUtf8",
+ "BmpString"
+ ],
+ "password" : "4464c2cde4ed81790000",
+ "salt" : "675617aaff664428",
+ "iterationCount" : 4096,
+ "iv" : "c08dd25d3aa04749850301e9b8f8eb28",
+ "msg" : "4f5f5d4d0a21d463419db42fdff6ae6c",
+ "ct" : "92a2636f449f06280db4de836deee6416b34fba197cea2658bcbb790ed469eb2",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 67,
+ "comment" : "password is a BMPString",
+ "flags" : [
+ "NonUtf8",
+ "BmpString"
+ ],
+ "password" : "f4f6a52a925b00610000",
+ "salt" : "957a9ab7ad9fc7de",
+ "iterationCount" : 4096,
+ "iv" : "126081b5c830984abd553ec39b080f39",
+ "msg" : "ede5a5ea322b7972a789bb5af48f384218",
+ "ct" : "28cb87c71110b327ee7d76505a3eb4504b9ca92a0984f9a4d605732610a4e3c5",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 68,
+ "comment" : "password is a BMPString",
+ "flags" : [
+ "NonUtf8",
+ "BmpString"
+ ],
+ "password" : "a38d51691d77aa891281b44d52f061a90000",
+ "salt" : "deea2dabe885caf6",
+ "iterationCount" : 4096,
+ "iv" : "698a466cec24214100bb3f30a6820bf7",
+ "msg" : "930b94a70883efd733f63f841dfc3d17",
+ "ct" : "6740b172ac1aafd951e0aac66114bf2d2d5476d6a46a831c14e2f61313bc3f95",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 69,
+ "comment" : "password is a BMPString",
+ "flags" : [
+ "NonUtf8",
+ "BmpString"
+ ],
+ "password" : "f35257dc5698b0bccbd0fc4f02a026390000",
+ "salt" : "6ed69f23acf64114",
+ "iterationCount" : 4096,
+ "iv" : "59efebfe7a6056507dc17778e5c444c5",
+ "msg" : "538705a997333fc2bf4f44f2bb90f3cd26",
+ "ct" : "c90bf69cbe659b9597a466e3251f097d8ea2bce8a132c67bef04036d6f5b5395",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 70,
+ "comment" : "empty password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "",
+ "salt" : "79d4c53a51c41815",
+ "iterationCount" : 4096,
+ "iv" : "a8e86525fa4f365373045533b33902bd",
+ "msg" : "a62c0d9b5bcb932f65058396367673e8",
+ "ct" : "37e1b1f13f443840bfbc422899b6b0961b387f26bbabf3dab3f0cca49b8d0de7",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 71,
+ "comment" : "empty password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "",
+ "salt" : "65f8fa8b52cd47b0",
+ "iterationCount" : 4096,
+ "iv" : "bfb545e71f39df509870139862965526",
+ "msg" : "a3bae2fae05b77c7673d71901268eed173",
+ "ct" : "f5e78b9dbadf0bbf5a98d3206a311933db41402e156d42b558f800a5c9d81045",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 72,
+ "comment" : "password is an empty BMPString",
+ "flags" : [
+ "Ascii",
+ "BmpString"
+ ],
+ "password" : "0000",
+ "salt" : "f488f026badc3624",
+ "iterationCount" : 4096,
+ "iv" : "2979c2a734e4cd5da5d9a7e69c3f8b8e",
+ "msg" : "d63088e9bf4e9105bc287f0ab6823af9",
+ "ct" : "d3efc69c59759e611d4e714307c0fd47f104d9c402f14d8c4792d639e672494a",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 73,
+ "comment" : "password is an empty BMPString",
+ "flags" : [
+ "Ascii",
+ "BmpString"
+ ],
+ "password" : "0000",
+ "salt" : "542ada9132800d2c",
+ "iterationCount" : 4096,
+ "iv" : "844635e540de3a85c02f2df9413ff911",
+ "msg" : "08dfdd58aa603d5fc4bdaa9cb24ce82bca",
+ "ct" : "df68786bd386b4f096648fe73ac29eb32dbdfff539046a2b89c108cbc691c0a9",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 74,
+ "comment" : "long password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "61473a5f3441403c4a32204575314b24312d402225634c5653603d52756f247e414c3c2a4e2b3b25704140762170713a272526386448434b462a7a2c75395c725f",
+ "salt" : "80f8e7ac4649fd77",
+ "iterationCount" : 4096,
+ "iv" : "43db6bbe8b43b065bf32cd67c023856f",
+ "msg" : "e443a5541e1c0bd038030f78952195e0",
+ "ct" : "2778eaf02a1a9610b728a211f73a001d2f1b6f2437fdd70a5145ce6aefb376e7",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 75,
+ "comment" : "long password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "7b2e6e6c462a24546c402c525a7e566e613a255c48422f364e51217b343a31253546355430315c2b2f352042385421323f5b47232e495329596c307d4f4153566746523b386023615b4c3f3a757131214d46662965645e44284d2268507a2364312d7568224751254a35273e5b69792773644555323039787e4e525647526a7d74",
+ "salt" : "66b3a75c3d1de7a7",
+ "iterationCount" : 4096,
+ "iv" : "4929fb5d6adc043751411a8165325219",
+ "msg" : "fc5d6ee5b19b873fac6f54160be4d52a",
+ "ct" : "fb2acac1dfd0e72bcaa960db49bde6eba6deaf515095d4396712fc61517a893c",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 76,
+ "comment" : "long password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "2a4235363559523e265f4c2b48685b374e347c4b384347346a513c2251753927742c427d25732e532b4e202648522b395d5763457a705e4b637a5535216e4e4e3a523a5b5e546d7625614e2f3623557e46454d413032515f2c30214971277b23606242283e4b3445426c2e4d7c40346d47777c4e3f6e572e24664a5e286c34775c2f5e3f2960744f644b2d47532c77447a58405e335b7d3a6b5831507b642f392b3638365c4341425e46655f577e31533f41626b6056393e5d32213b716d455d2637762a4c693e6c4b5449383a504e7c5e2d442030735f7d3a56273c497d773f32427b57692f7d61373d29236f6021624b41787e603d70313e5c68334a2b534653",
+ "salt" : "73e6c34cda6b6309",
+ "iterationCount" : 4096,
+ "iv" : "44f36e53ab4a6391acc5565de7358438",
+ "msg" : "309b773bcd825e66bd3117097f536b0e",
+ "ct" : "b500d20649aee9e20f278f0772cc77d108c89f48b4055cce31bd7c559e08bc21",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 77,
+ "comment" : "special case password",
+ "flags" : [
+ "NonUtf8"
+ ],
+ "password" : "ff",
+ "salt" : "330226023aa6c045",
+ "iterationCount" : 4096,
+ "iv" : "c78e1ec445dbe9742d205432712442bf",
+ "msg" : "4b8243aab5cba8be6853eeaa65e3ebb0",
+ "ct" : "518d90841eada51f0f01a79638065fbf91d99d192b110d880b6f5d3b40997573",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 78,
+ "comment" : "special case: truncated UTF-8 string",
+ "flags" : [
+ "NonUtf8"
+ ],
+ "password" : "c0",
+ "salt" : "e19e4f175a64d35a",
+ "iterationCount" : 4096,
+ "iv" : "7545745f8d0bfe38f024371e12008a5f",
+ "msg" : "9e21b64aeff5338eb9bc71b19ef8f8e7",
+ "ct" : "fd15deaa5960556a0aad7266b985d7d5305bc44fdec4d47ceaad421fd2d3df26",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 79,
+ "comment" : "special case: invalid UTF-8 bytes",
+ "flags" : [
+ "NonUtf8"
+ ],
+ "password" : "ffffffffffffffff",
+ "salt" : "1eb37da28a65f626",
+ "iterationCount" : 4096,
+ "iv" : "5e9d991fa22878ac5256759c6c9cb53e",
+ "msg" : "319c92804c5560f840cc5bdace9c925d",
+ "ct" : "2187acf8b000bea1dc3be7146d0aeb3fcdfde1b2ebf988a226e6a961c3aa8aea",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 80,
+ "comment" : "special case: invalid 2 byte UTF-8 code points",
+ "flags" : [
+ "NonUtf8"
+ ],
+ "password" : "c0c0c0c0c0c0c0c0",
+ "salt" : "2017b5e20a7cdbe0",
+ "iterationCount" : 4096,
+ "iv" : "7e42d185cab712e2982ca6ee4c2c61ec",
+ "msg" : "0f5a93c6771fc66aff78996d77421735",
+ "ct" : "9624329a1712b9cdeaa9d32f0d657ad654eb9270594f2429762c1cb4a42b9ff6",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 81,
+ "comment" : "special case: invalid 3 byte UTF-8 code points",
+ "flags" : [
+ "NonUtf8"
+ ],
+ "password" : "eeeeeeeeeeeeeeee",
+ "salt" : "84301f0aebda104f",
+ "iterationCount" : 4096,
+ "iv" : "4ba655c171677a0dfbc5f6312387c15d",
+ "msg" : "86caabd40a5c738720de173597ea72f6",
+ "ct" : "13f9f6f8af7489aa6c7f8546715c0ca31d839e7625077c7bf42dea14aea6ce13",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 82,
+ "comment" : "special case: invalid UTF-8 code points",
+ "flags" : [
+ "NonUtf8"
+ ],
+ "password" : "f0f0f0f0f0f0f0f0",
+ "salt" : "64baccfdd4e4b41b",
+ "iterationCount" : 4096,
+ "iv" : "d6b443472d2cf853c0c05f5327faced7",
+ "msg" : "4e0ee09328663637f21410fb8ad057a1",
+ "ct" : "381068bfe74c812fe53182ee64e5f92efdd9062798b01a99fad9132bfbad8d92",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 83,
+ "comment" : "special case for UTF-16",
+ "flags" : [
+ "NonUtf8"
+ ],
+ "password" : "dbdbdbdbdbdbdbdb",
+ "salt" : "ba21795fffb901bc",
+ "iterationCount" : 4096,
+ "iv" : "753675f249b8c153997a797116495204",
+ "msg" : "706c565ba28370ff433460cc9f8d845a",
+ "ct" : "0d4273637003316945ae89acb151f3960ffa832372ad18694a0134ac8f9abd35",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 84,
+ "comment" : "special case: long all zero password",
+ "flags" : [
+ "Ascii"
+ ],
+ "password" : "0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
+ "salt" : "22871ffd379d9951",
+ "iterationCount" : 4096,
+ "iv" : "2e949af1052a230e7560d9ae1ce75042",
+ "msg" : "16d1b65deb2d67fc3242792a19d5c227",
+ "ct" : "f4515f3a815e9a97c34f2c065a6edfe2617f985e999bc0902179b0cd0734081e",
+ "result" : "valid"
+ }
+ ]
+ }
+ ]
+}
diff --git a/testvectors_v1/pbes2_hmacsha384_aes_256_test.json b/testvectors_v1/pbes2_hmacsha384_aes_256_test.json
new file mode 100644
index 0000000..cc38055
--- /dev/null
+++ b/testvectors_v1/pbes2_hmacsha384_aes_256_test.json
@@ -0,0 +1,1228 @@
+{
+ "algorithm" : "PbeWithHmacSha384AndAes_256",
+ "schema" : "pbe_test_schema.json",
+ "generatorVersion" : "0.9",
+ "numberOfTests" : 84,
+ "header" : [
+ "Test vector of type PbeTest are used for PBES1 or PBES2."
+ ],
+ "notes" : {
+ "Ascii" : {
+ "bugType" : "FUNCTIONALITY",
+ "description" : "The test vector contains a password consisting of ASCII characters."
+ },
+ "BmpString" : {
+ "bugType" : "FUNCTIONALITY",
+ "description" : "The test vectors contains a password that is a valid BMPString as used in RFC 7292. This RFC uses big endian encoding and a null terminator."
+ },
+ "NonUtf8" : {
+ "bugType" : "FUNCTIONALITY",
+ "description" : "The test vector contains a password that is not a valid UTF-8 string."
+ },
+ "Printable" : {
+ "bugType" : "FUNCTIONALITY",
+ "description" : "The test vector contains a password consisting of printable ASCII characters."
+ },
+ "Utf8" : {
+ "bugType" : "FUNCTIONALITY",
+ "description" : "The test vector contains a password that is a valid UTF-8 string."
+ }
+ },
+ "testGroups" : [
+ {
+ "type" : "PbeTest",
+ "tests" : [
+ {
+ "tcId" : 1,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "7743656734722c30",
+ "salt" : "fcd9a324f025ef40",
+ "iterationCount" : 4096,
+ "iv" : "42f02ff71b8524d1678ab2e34f9e7d47",
+ "msg" : "",
+ "ct" : "d9f32bed581ab34ee9983abf775029e7",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 2,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "64395f4b48295839",
+ "salt" : "bfb221ba6de64926",
+ "iterationCount" : 4096,
+ "iv" : "7a735848780923657c0c54bc2ff0d9f8",
+ "msg" : "a3",
+ "ct" : "586f7c91ad594083aeabf7b2157daaa2",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 3,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "3a787e4c2c604d70",
+ "salt" : "dc64f1fd4705b4e5",
+ "iterationCount" : 4096,
+ "iv" : "579ff2437d6739742421b6e4e70d5c27",
+ "msg" : "4204",
+ "ct" : "8142bccbc6a8f9057e5e04adc3a25b7c",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 4,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "2a67656a66296120",
+ "salt" : "4c379a2bd962d19a",
+ "iterationCount" : 4096,
+ "iv" : "5bff9a5e8692229679cbd70fcfdebb74",
+ "msg" : "ceb541",
+ "ct" : "e592777a910855ebbab26cb5153f6e3c",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 5,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "3b55267d5f4b2d4c",
+ "salt" : "08e041282eed4f00",
+ "iterationCount" : 4096,
+ "iv" : "17c5e988149370694c1b3b8cb0e44225",
+ "msg" : "10d032a7",
+ "ct" : "adad4b2ffbb2851851f5c308df190855",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 6,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "4f317e2e525e517a",
+ "salt" : "bd5c4b6f25a1f6ff",
+ "iterationCount" : 4096,
+ "iv" : "76e5e3eb771a4daec6fabdc0b0793195",
+ "msg" : "29d9f1a701",
+ "ct" : "b5fa07157a055aa3677b63c1d2691b7c",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 7,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "6557766473282375",
+ "salt" : "ea1efbb1c86b0c06",
+ "iterationCount" : 4096,
+ "iv" : "1f186ad98435e90fd7700695c986ef78",
+ "msg" : "6f124d8a8248",
+ "ct" : "20c8d17d29d80f823e48ea04d1f23fc9",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 8,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "543a5f48765a2542",
+ "salt" : "f308bbcca74a2224",
+ "iterationCount" : 4096,
+ "iv" : "26bbbf2e18f06a4524e13bfd1ac00b37",
+ "msg" : "a1163153287dfe",
+ "ct" : "92d16d8ecbcd36bfb46e9129f277a8d1",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 9,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "695a3c642f457a52",
+ "salt" : "7af3b0005c594502",
+ "iterationCount" : 4096,
+ "iv" : "6d9e8ea3d6ed355bf5e65b12995dbf6a",
+ "msg" : "9b29df8b3b9862f4",
+ "ct" : "fc365f823befd207c59c110bbf1fb0c8",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 10,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "2a772a233f216e60",
+ "salt" : "172d5f4595c220dd",
+ "iterationCount" : 4096,
+ "iv" : "a5941967d4f6934431bd9951e20a93a6",
+ "msg" : "fe51cf84289221b894",
+ "ct" : "95953c36d9b9fbe9da831141041bff4e",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 11,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "793c43623652216f",
+ "salt" : "d1d722eee2c5ebef",
+ "iterationCount" : 4096,
+ "iv" : "5cfe832947ec659f6847277ec1fab2f9",
+ "msg" : "696eb8b4e6b2015abb91",
+ "ct" : "1848da184c611444730d4e0b9f63db5c",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 12,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "4854515c222a2230",
+ "salt" : "843f5ff28978f214",
+ "iterationCount" : 4096,
+ "iv" : "430b247a435124754c83cc11203f18bd",
+ "msg" : "d8405be7823b472459a2fc",
+ "ct" : "654838eda4e862ef71175f1d469c7b5f",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 13,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "48682a4d34266b40",
+ "salt" : "783f344a1fa7c9a8",
+ "iterationCount" : 4096,
+ "iv" : "c707947121e5fc2da16990a78772e0ab",
+ "msg" : "56c73b781c1bff72a8ae7faf",
+ "ct" : "3b9982557321959722040bd359f48f69",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 14,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "293a746531294d5c",
+ "salt" : "2c75641f991eb10b",
+ "iterationCount" : 4096,
+ "iv" : "96dabd858e4187d0e50f8299ab60f029",
+ "msg" : "b07e8bbb45e9a17c124f6d5129",
+ "ct" : "a08e1ee52301a574a640c01fa2c663d5",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 15,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "353377343f482b65",
+ "salt" : "cf1620e7aabb73b7",
+ "iterationCount" : 4096,
+ "iv" : "8e6dd70b1dd1c39d0b8b593c556d812b",
+ "msg" : "ff89eb184de11579cae7d110a350",
+ "ct" : "44749d471e82c20a66f4e0c84868cb6b",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 16,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "614e2d4634335721",
+ "salt" : "6dffc1db31767608",
+ "iterationCount" : 4096,
+ "iv" : "78c899bcdc4cf7d933ddc9016bc6e64e",
+ "msg" : "5e859aac690c85646ffb3f2bbb0d9c",
+ "ct" : "fd771ddb001119aaf626310d40c0360a",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 17,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "6f5330325e22574e",
+ "salt" : "798acc7c76739d75",
+ "iterationCount" : 4096,
+ "iv" : "5bfcfd6d7013eb8828f72455d7535c77",
+ "msg" : "86059dc647ba7d0067099e16c3da8bb6",
+ "ct" : "153f99f777ba24e0db3edafe7376da584cce3a6ff1980d829e8d416874c213a1",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 18,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "3972245623494f42",
+ "salt" : "da5421f23ac5b5e1",
+ "iterationCount" : 4096,
+ "iv" : "12293114ddb85319240682c1765e4533",
+ "msg" : "fc9349cbd8c277786c888f3254342431a8",
+ "ct" : "7c11bd51f97b3eefec4b9be85967c6ef173d5c64ad2df1f559e071c5a5604f9f",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 19,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "464d2f76752b4d63",
+ "salt" : "8cfea3c6783cfc41",
+ "iterationCount" : 4096,
+ "iv" : "9c84fe91476ab1c6ed30db9bb7f60280",
+ "msg" : "ad10a3cdef856b0632f7ce200c11f6c569d2",
+ "ct" : "d86e266535564aea3af763f735980f23288745fd8cf305a0b2cc4cec5ccb8e79",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 20,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "7951437c2b6f7079",
+ "salt" : "caada2e55c49492f",
+ "iterationCount" : 4096,
+ "iv" : "3a0185b1423310796b052e9128334b04",
+ "msg" : "be82c331a83dd0c472abc6ae8725d2ba48b3ad",
+ "ct" : "91aad4826ab9ff2f85b4b08ab9b63fcbee79029b476d00a3fe6d31c7dc1bce04",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 21,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "525c2424652a603d",
+ "salt" : "26ea52da49513b47",
+ "iterationCount" : 4096,
+ "iv" : "b9c70ea8599e136a64b2a6733e8ceb40",
+ "msg" : "d964c8b7fac0906c25654186f8d8e74b62dac5ac",
+ "ct" : "13feb9ce12948e6a95d82607885e3ce9ec031a2915e1363043d0e894b6b385e2",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 22,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "6e446161627e6a3d",
+ "salt" : "64c6e216305ac8e5",
+ "iterationCount" : 4096,
+ "iv" : "2e089b050bfcbb214a3904344b25a28d",
+ "msg" : "00bba99a3d64657e16b70ee50c091488661c0af597",
+ "ct" : "814d567c511f1baa2f41257d7c235673f99d1bff811f474f4cbab560aee3d947",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 23,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "5b413d39776e3323",
+ "salt" : "33017b20ba4a7af2",
+ "iterationCount" : 4096,
+ "iv" : "6fcf1307b562738a387c75885a7d6bf9",
+ "msg" : "1f6c99446d139e9ea5d46af1667b733eb8748e5e0e18",
+ "ct" : "b9550cb9d1c9c3ff049917e1c541e177bfcc9ed092291637b8b6643ec3277a30",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 24,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "414838254a683628",
+ "salt" : "127e43a6c714f168",
+ "iterationCount" : 4096,
+ "iv" : "21bb5b1c774409d06067597153422573",
+ "msg" : "773f5e2ebe6ce60683cac6a9e2f0c9663556923582bdec",
+ "ct" : "c483c1c7cc853180d7efe8c095447b2e4095376a9f33227e3473de9718299b29",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 25,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "3c202b435634305d",
+ "salt" : "45f38c6678268b8e",
+ "iterationCount" : 4096,
+ "iv" : "348b3cca3ece503b42b20b2ae690c4eb",
+ "msg" : "8ab193d18b1dec59400822dd0cea7239b3743327488e3d2d",
+ "ct" : "a3b135000bd360d478db795e39bf9939b91b1c451452fbeaff7d5ba7ab5b6506",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 26,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "6e43225f5832705b",
+ "salt" : "5911a7a49800e204",
+ "iterationCount" : 4096,
+ "iv" : "58b4f658efcf961c4715b0af0b0913b7",
+ "msg" : "b336756c278ab89c0539047824350469b05918446a672b4215",
+ "ct" : "89fc2e8f34ae92eb724eeeb3c9fc8dfb5ec670fa3b81a108298ce5e62455ebd7",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 27,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "3f26723264514541",
+ "salt" : "18a9d3dfa74d4024",
+ "iterationCount" : 4096,
+ "iv" : "497fe0d1a8c09aca8d98a11db8621077",
+ "msg" : "6cd40dc20c7103a39b83da1f8c67855b0ffd77c250e1447414a9",
+ "ct" : "070a1c786d3a374488f02baf2db89ec1140d89bed12b2af57670a2d97785895a",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 28,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "536d4a3b42714035",
+ "salt" : "9025629f385862f5",
+ "iterationCount" : 4096,
+ "iv" : "575fd9464cc1a36fcd23d7fc4ed304de",
+ "msg" : "40a37fae54940616cd6bb6cefb8f4521895fe9b7593492c2709003",
+ "ct" : "69d680351bb6112b380442b453b249e5b6a56c61a91218897da646e12789333e",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 29,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "283d692b21263f41",
+ "salt" : "4f9ca92d54e165d1",
+ "iterationCount" : 4096,
+ "iv" : "402239571eaf6f7162fd4fe620d55948",
+ "msg" : "d47c8c9ec28820d760abfe731e9e9818d34abad20da255cff68fd374",
+ "ct" : "ec11816644be91a94917474aba33be5e0cc1c74ed43d951c6497cf40047ff3b4",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 30,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "3658665b3a546f47",
+ "salt" : "5ae48edef6811519",
+ "iterationCount" : 4096,
+ "iv" : "2425c2af851d56445c8e11b4529e3287",
+ "msg" : "5892825348e6160fd4f95f0a619a5a41604ee4b21ace4c9f61adf31ebc",
+ "ct" : "d93df075077b16dc9bb6163f830e273aa505474b172a098e36e7c8c690d269fd",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 31,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "257d78712275712a",
+ "salt" : "e2a7c16a6fe6a1fc",
+ "iterationCount" : 4096,
+ "iv" : "9dc7a4ff8a5a9d04d1b88c14028092c5",
+ "msg" : "596c0a1b3f9c251c98b15fb077da34c72e415ab9f4f01ac865421a7b89be",
+ "ct" : "8cb41e638c8c353c026090ed4edf8152741580796a6e18aee7b08286fcf7882f",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 32,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "2b75433d3a69566c",
+ "salt" : "a6d0b6f795cbe6a8",
+ "iterationCount" : 4096,
+ "iv" : "5804285758b9e6450148872a11dcc421",
+ "msg" : "18e18b3cb96d6d9ff0730b2ff70ac2be9577a75555554f6c446ed30850c167",
+ "ct" : "1e6267f5437b740a530b06264473794c9fd1b5d6979e04af5924005f70697028",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 33,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "252b6452647b4520",
+ "salt" : "e817780ed7997728",
+ "iterationCount" : 4096,
+ "iv" : "ff2512297f3fd5aa2b859432b9f53006",
+ "msg" : "8e9b1f95807a3c1bc95027ca72d2ae717b7e9dceac7437fc32a1aad2343ce69e",
+ "ct" : "b357eef75e89d4f68e1d049639577e14a50ff288dfdb3750ed9b463c60132ed13812d517bdcadb4ea5d109208d69cf0e",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 34,
+ "comment" : "password contains only ASCII characters",
+ "flags" : [
+ "Ascii"
+ ],
+ "password" : "4b2d6c600e66535c7f3d6d6c",
+ "salt" : "7a4c02db8bd8fcc2",
+ "iterationCount" : 4096,
+ "iv" : "d62747fca1a7dfbee90597b3f57fffa2",
+ "msg" : "52dd188a4585bbaa85ced8d529d880b3",
+ "ct" : "e59d579ccd85c23c974f7477ae9a7e3b35f012305574b818f12414f91e914ef7",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 35,
+ "comment" : "password contains only ASCII characters",
+ "flags" : [
+ "Ascii"
+ ],
+ "password" : "706614257f522b6315345f7c",
+ "salt" : "94ef44b92e15fa35",
+ "iterationCount" : 4096,
+ "iv" : "c489480ee8a00898f3151317c2c614b9",
+ "msg" : "9cb42f3f2992357a7beeedfa37653f4d41",
+ "ct" : "4acfbb03a373bf0f2fe8bdf6cb2ad793cfaa5ff275611d92a97295585a7c9b3b",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 36,
+ "comment" : "password contains only ASCII characters",
+ "flags" : [
+ "Ascii"
+ ],
+ "password" : "1f4b7b354903545f2b07720b",
+ "salt" : "62f91ea01f3a18aa2f122bd15c4a615b",
+ "iterationCount" : 4096,
+ "iv" : "05d867eae06fbfd2efda349bc3dcd473",
+ "msg" : "64f33addb1e1671f867e96a3e8339ecd",
+ "ct" : "bf5c5c72302611e07fafe56233155f54a09aa61453fe4f37de9b91499e2986f3",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 37,
+ "comment" : "password contains only ASCII characters",
+ "flags" : [
+ "Ascii"
+ ],
+ "password" : "1e2e16140e4a4d19251b6f5f",
+ "salt" : "bdf156b4d87a5e07cd9481b3d136887c",
+ "iterationCount" : 4096,
+ "iv" : "b64e4b7176cfafe46235e8b32b2508e6",
+ "msg" : "9b31b854ff09e4cdd28b817fb2f2cdb6c9",
+ "ct" : "30b80b375ba6194a4cca26c9304e80a5e742837b2c15b5258f65915e72d6ccd4",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 38,
+ "comment" : "password contains only ASCII characters",
+ "flags" : [
+ "Ascii"
+ ],
+ "password" : "15296b0933473119180f3c0645202d5221633803",
+ "salt" : "d7412e4137fc4410",
+ "iterationCount" : 4096,
+ "iv" : "d227c8c98a652788944977f9bc73a20d",
+ "msg" : "86159d5e3b903a51a833ce561f39ae0a",
+ "ct" : "6196c331480f26bb9ca5abda3621a9a6c536f24a187219d0abb66838ebf2e66a",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 39,
+ "comment" : "password contains only ASCII characters",
+ "flags" : [
+ "Ascii"
+ ],
+ "password" : "00017e1e176769476d2433302f3506590e632a0c",
+ "salt" : "28c1759d783256fd",
+ "iterationCount" : 4096,
+ "iv" : "cf23a38fef611880acf9107ffa9e29a8",
+ "msg" : "79532d85a40aa575377172611dd4f0047c",
+ "ct" : "11bbd028b05cc7c8b213335c5a206e0d14ffb08547681371d0896a104b472d47",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 40,
+ "comment" : "password contains only ASCII characters",
+ "flags" : [
+ "Ascii"
+ ],
+ "password" : "7a106c2773542c791d2f0a02632b69644f666278",
+ "salt" : "a36350db68186d747254bd9835219487",
+ "iterationCount" : 4096,
+ "iv" : "568af67455f416a63d3ced652c32a74d",
+ "msg" : "96687d00d01854bbc2151ed4fdec8732",
+ "ct" : "825f7c91824207645ac25696633141cc3aa8b490bcacf99c3e83d732a8aa6d18",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 41,
+ "comment" : "password contains only ASCII characters",
+ "flags" : [
+ "Ascii"
+ ],
+ "password" : "350e2f050d444c09374977205a6b063736373067",
+ "salt" : "3cadfed36847faa4af545c426b7bcbc5",
+ "iterationCount" : 4096,
+ "iv" : "1ee0658f81c645721618de5849c3baf1",
+ "msg" : "89e4167cba0f8ca3a4b1640b023612d963",
+ "ct" : "9fa420077b28e64d9438155f719ae2070b51b2c1efa0bfb11a2ac944df1eb6cb",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 42,
+ "comment" : "password is a valid UTF-8 encoding",
+ "flags" : [
+ "Utf8"
+ ],
+ "password" : "d0a3d1bed38acc83",
+ "salt" : "8dfae85c9f2072ae",
+ "iterationCount" : 4096,
+ "iv" : "13a77b4b2eb10b260ac889b432d7af1c",
+ "msg" : "41a21ec6f04859724a1dfcdcf85e6c3a",
+ "ct" : "097eab6535e9ca9cac50269e9377deae1f2446f1a242d4f774d0f64f4f192b2c",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 43,
+ "comment" : "password is a valid UTF-8 encoding",
+ "flags" : [
+ "Utf8"
+ ],
+ "password" : "d4b8cbbcc49bd9b6",
+ "salt" : "657a212f745924eb",
+ "iterationCount" : 4096,
+ "iv" : "6529f3dc9f0197e2f5c6e889b1b6097f",
+ "msg" : "231765341c414e93ec399b804a79a65dfc",
+ "ct" : "ec7c682c01b2bbdfab5a2a37c898e8a2bd0d1bcd41d1520987b7c1d319f5d255",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 44,
+ "comment" : "password is a valid UTF-8 encoding",
+ "flags" : [
+ "Utf8"
+ ],
+ "password" : "c299d292cd92dcb8",
+ "salt" : "99c55e182238c8e0c385447685e9ba85",
+ "iterationCount" : 4096,
+ "iv" : "34d4cc26cd871885c8e781d6e8b9ec67",
+ "msg" : "4bf1f98da6113ca66cc18283aedb4cc5",
+ "ct" : "a278bbca94df4c19f44652777fe86b3a3aeace025bf1d97c12eb918d8753cb69",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 45,
+ "comment" : "password is a valid UTF-8 encoding",
+ "flags" : [
+ "Utf8"
+ ],
+ "password" : "da9dd3acdca2df8a",
+ "salt" : "b5413f52391a2ff0fb19563c0b40a445",
+ "iterationCount" : 4096,
+ "iv" : "b4d3b1dbbc034d407ce552e6bc63fee1",
+ "msg" : "e2e81593f6591df708582f4cce0b1c6d78",
+ "ct" : "51c956cc2fb69c6ea8a676372095ec33283280bd5c60224533db6470ad89a06e",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 46,
+ "comment" : "password is a valid UTF-8 encoding",
+ "flags" : [
+ "Utf8"
+ ],
+ "password" : "cfbec3b9d7acc7a9d585d1a5c28fcca119",
+ "salt" : "e9c55717a1259a29",
+ "iterationCount" : 4096,
+ "iv" : "cd718713a05183c1aa4bc4c01794b382",
+ "msg" : "1f4425a96b272fc27bcbfda0bb7e0dd8",
+ "ct" : "9599cc61e46001b68eb21535f067094a96ffc8a6888f42a634889587e3291b57",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 47,
+ "comment" : "password is a valid UTF-8 encoding",
+ "flags" : [
+ "Utf8"
+ ],
+ "password" : "d492c59061cd9dd9b8c28fd39fcd9e24",
+ "salt" : "09deec77ec44eb6e",
+ "iterationCount" : 4096,
+ "iv" : "0f958378c10c245540b9ce61d7781fd8",
+ "msg" : "ae209895c5cb179e54649749cdb245b9ce",
+ "ct" : "857472a1a97ae576b9059cd07c4acbdb4c64569248535e3e224352888268d662",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 48,
+ "comment" : "password is a valid UTF-8 encoding",
+ "flags" : [
+ "Utf8"
+ ],
+ "password" : "da9dd096cb93db88dbbed495ceaacf853c",
+ "salt" : "200bba668b2010b1968b82091848937c",
+ "iterationCount" : 4096,
+ "iv" : "39d3e787c076007b3c173b75597b08c5",
+ "msg" : "0b4e337297c6cdd5c51f8ee7e633ef8f",
+ "ct" : "e695986deb0d37d318c445f2ab7377de58aba2890c954ad4155e45e0e2227db9",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 49,
+ "comment" : "password is a valid UTF-8 encoding",
+ "flags" : [
+ "Utf8"
+ ],
+ "password" : "d9aacab7c2a0dbb5d89bc7acde9cceb50c",
+ "salt" : "1d87767829bd386ad2038cea7a0b542f",
+ "iterationCount" : 4096,
+ "iv" : "cfb67f9bb8cfb0e05684fcba195f0f19",
+ "msg" : "a9e289e0a985df90dfe23230c414dcb1fa",
+ "ct" : "41f6a4c5f52e9f3a06717d74ea05f7fd4866ac9e37c64c2c65a817a2556b2cf9",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 50,
+ "comment" : "password is a random byte string",
+ "flags" : [
+ "NonUtf8"
+ ],
+ "password" : "8423ec7ea4ca4b03",
+ "salt" : "8dfae85c9f2072ae",
+ "iterationCount" : 4096,
+ "iv" : "13a77b4b2eb10b260ac889b432d7af1c",
+ "msg" : "41a21ec6f04859724a1dfcdcf85e6c3a",
+ "ct" : "e22caf88262323969a7170421ffab76ffc36d9bd4ebe57bb57120f359a07e703",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 51,
+ "comment" : "password is a random byte string",
+ "flags" : [
+ "NonUtf8"
+ ],
+ "password" : "7538a2fc091b6e76",
+ "salt" : "657a212f745924eb",
+ "iterationCount" : 4096,
+ "iv" : "6529f3dc9f0197e2f5c6e889b1b6097f",
+ "msg" : "231765341c414e93ec399b804a79a65dfc",
+ "ct" : "c8926a7ede7ba6e832cbcc24c454e5072a65cd107437dc749b348a911d581659",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 52,
+ "comment" : "password is a random byte string",
+ "flags" : [
+ "NonUtf8"
+ ],
+ "password" : "48997492c3528738",
+ "salt" : "99c55e182238c8e0c385447685e9ba85",
+ "iterationCount" : 4096,
+ "iv" : "34d4cc26cd871885c8e781d6e8b9ec67",
+ "msg" : "4bf1f98da6113ca66cc18283aedb4cc5",
+ "ct" : "74530cef047693eee5ae12b636b93369a56ce2f44c4694a254dcb69501fe7510",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 53,
+ "comment" : "password is a random byte string",
+ "flags" : [
+ "NonUtf8"
+ ],
+ "password" : "c69d34ec7722ffca",
+ "salt" : "b5413f52391a2ff0fb19563c0b40a445",
+ "iterationCount" : 4096,
+ "iv" : "b4d3b1dbbc034d407ce552e6bc63fee1",
+ "msg" : "e2e81593f6591df708582f4cce0b1c6d78",
+ "ct" : "a8f39591b74419fd154acf81bbcfd942f04e2c8acc454976fb74f5a6786a9229",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 54,
+ "comment" : "password is a random byte string",
+ "flags" : [
+ "NonUtf8"
+ ],
+ "password" : "e3feb0f96dec61e9dd451465f88f132119",
+ "salt" : "e9c55717a1259a29",
+ "iterationCount" : 4096,
+ "iv" : "cd718713a05183c1aa4bc4c01794b382",
+ "msg" : "1f4425a96b272fc27bcbfda0bb7e0dd8",
+ "ct" : "fdddf2ccdb2b6f86f5a6f1a7ec8ea98dcb48f9eebfaafe7de1e0259f207dda15",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 55,
+ "comment" : "password is a random byte string",
+ "flags" : [
+ "NonUtf8"
+ ],
+ "password" : "ed12a9502061d35d9678188f1cdf135e24",
+ "salt" : "09deec77ec44eb6e",
+ "iterationCount" : 4096,
+ "iv" : "0f958378c10c245540b9ce61d7781fd8",
+ "msg" : "ae209895c5cb179e54649749cdb245b9ce",
+ "ct" : "668e7e59f78250f004459dea3e147bdd2300bf51b7c050749537a2f75266e861",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 56,
+ "comment" : "password is a random byte string",
+ "flags" : [
+ "NonUtf8"
+ ],
+ "password" : "9e9d7c166ad3bec856fe5d15d3aacbc53c",
+ "salt" : "200bba668b2010b1968b82091848937c",
+ "iterationCount" : 4096,
+ "iv" : "39d3e787c076007b3c173b75597b08c5",
+ "msg" : "0b4e337297c6cdd5c51f8ee7e633ef8f",
+ "ct" : "c8a714159706d3b1a2d0b59322cc9316f09b7285fc3671e1de79e78abba40d88",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 57,
+ "comment" : "password is a random byte string",
+ "flags" : [
+ "NonUtf8"
+ ],
+ "password" : "466a02b7d8a046f5161b41ecef9cc3b50c",
+ "salt" : "1d87767829bd386ad2038cea7a0b542f",
+ "iterationCount" : 4096,
+ "iv" : "cfb67f9bb8cfb0e05684fcba195f0f19",
+ "msg" : "a9e289e0a985df90dfe23230c414dcb1fa",
+ "ct" : "c5fbf3dae2de1d87b409262cf4bb5c1bc70f4efc27ef7fb347006b556a6c8c77",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 58,
+ "comment" : "password is an ASCII string encoded as BMPString",
+ "flags" : [
+ "Ascii",
+ "BmpString"
+ ],
+ "password" : "002d0000",
+ "salt" : "66a92292e6db2d9e",
+ "iterationCount" : 4096,
+ "iv" : "7911306933f1131299247a85b585bed8",
+ "msg" : "63219964fd79651fe1be8ad5e90f414c",
+ "ct" : "2f964667b6c34145b0d5cad13e288550e00f8fb22e54c980631ce9d6ccf1a020",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 59,
+ "comment" : "password is an ASCII string encoded as BMPString",
+ "flags" : [
+ "Ascii",
+ "BmpString"
+ ],
+ "password" : "00470000",
+ "salt" : "88abb902385f0efc",
+ "iterationCount" : 4096,
+ "iv" : "109f2c7a8aacc98d0aa176b1b43f2ece",
+ "msg" : "34ce8c499c20714c34506b8e8b87b103d2",
+ "ct" : "2f360dc2190325628d9d4c2fca52139cae16621f068d437ddb43bd2e21649518",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 60,
+ "comment" : "password is an ASCII string encoded as BMPString",
+ "flags" : [
+ "Ascii",
+ "BmpString"
+ ],
+ "password" : "004400640042004d0064006d000100790000",
+ "salt" : "675617aaff664428",
+ "iterationCount" : 4096,
+ "iv" : "c08dd25d3aa04749850301e9b8f8eb28",
+ "msg" : "4f5f5d4d0a21d463419db42fdff6ae6c",
+ "ct" : "0658e5f241fc1ff9f92b4aaf78ae1fb94d0a659dd531058989971be09d6d5cad",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 61,
+ "comment" : "password is an ASCII string encoded as BMPString",
+ "flags" : [
+ "Ascii",
+ "BmpString"
+ ],
+ "password" : "007400760025002a0012005b005c00610000",
+ "salt" : "957a9ab7ad9fc7de",
+ "iterationCount" : 4096,
+ "iv" : "126081b5c830984abd553ec39b080f39",
+ "msg" : "ede5a5ea322b7972a789bb5af48f384218",
+ "ct" : "44498b6f5b09ee0f3d7de6cca1ee00b1912167d43f1bea61a12812098b063b49",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 62,
+ "comment" : "password is an ASCII string encoded as BMPString",
+ "flags" : [
+ "Ascii",
+ "BmpString"
+ ],
+ "password" : "0023000d00510069001d0077002a0009001200010034004d00520070006100290000",
+ "salt" : "deea2dabe885caf6",
+ "iterationCount" : 4096,
+ "iv" : "698a466cec24214100bb3f30a6820bf7",
+ "msg" : "930b94a70883efd733f63f841dfc3d17",
+ "ct" : "a86e17ef97c47410fac8b0da568d2d08da7f0abfd9f849c78bee6140b3c4112e",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 63,
+ "comment" : "password is an ASCII string encoded as BMPString",
+ "flags" : [
+ "Ascii",
+ "BmpString"
+ ],
+ "password" : "007300520057005c005600180030003c004b0050007c004f00020020002600390000",
+ "salt" : "6ed69f23acf64114",
+ "iterationCount" : 4096,
+ "iv" : "59efebfe7a6056507dc17778e5c444c5",
+ "msg" : "538705a997333fc2bf4f44f2bb90f3cd26",
+ "ct" : "0dda6f6544821d31702b823aafd2aaf32609ef4bbf0467379537dcb0f682d063",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 64,
+ "comment" : "password is a BMPString",
+ "flags" : [
+ "NonUtf8",
+ "BmpString"
+ ],
+ "password" : "92ae0000",
+ "salt" : "6978583ea9c24c49",
+ "iterationCount" : 4096,
+ "iv" : "0192ad10599677f253e7dea587373553",
+ "msg" : "c06bcb3b5cd9c1317f5eb7ba50882530",
+ "ct" : "7c79927ed4e6b195101444550aa2d9b96800dd719a53550f5f26c624e0c8377f",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 65,
+ "comment" : "password is a BMPString",
+ "flags" : [
+ "NonUtf8",
+ "BmpString"
+ ],
+ "password" : "38a90000",
+ "salt" : "c217b8c980fe4698",
+ "iterationCount" : 4096,
+ "iv" : "890a0303475f07189a0fe14b4e509217",
+ "msg" : "1ea8b43513275537d021c0f75849c01840",
+ "ct" : "3ab78e55a55c58baf5151d144d59d5a3a8f1cf25666e245e49c90c917d4fc4dc",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 66,
+ "comment" : "password is a BMPString",
+ "flags" : [
+ "NonUtf8",
+ "BmpString"
+ ],
+ "password" : "4464c2cde4ed81790000",
+ "salt" : "675617aaff664428",
+ "iterationCount" : 4096,
+ "iv" : "c08dd25d3aa04749850301e9b8f8eb28",
+ "msg" : "4f5f5d4d0a21d463419db42fdff6ae6c",
+ "ct" : "b38859abdba3ae7bfe5d32e4878715b60d06be30274f7714619088065f78b132",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 67,
+ "comment" : "password is a BMPString",
+ "flags" : [
+ "NonUtf8",
+ "BmpString"
+ ],
+ "password" : "f4f6a52a925b00610000",
+ "salt" : "957a9ab7ad9fc7de",
+ "iterationCount" : 4096,
+ "iv" : "126081b5c830984abd553ec39b080f39",
+ "msg" : "ede5a5ea322b7972a789bb5af48f384218",
+ "ct" : "b5027a230172cef6b60c5f93f9d3fbad185dbcd78163fbe4243210ce88f65e10",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 68,
+ "comment" : "password is a BMPString",
+ "flags" : [
+ "NonUtf8",
+ "BmpString"
+ ],
+ "password" : "a38d51691d77aa891281b44d52f061a90000",
+ "salt" : "deea2dabe885caf6",
+ "iterationCount" : 4096,
+ "iv" : "698a466cec24214100bb3f30a6820bf7",
+ "msg" : "930b94a70883efd733f63f841dfc3d17",
+ "ct" : "40fa2309f45e598da4523e9f82a8244da4573fe63979a47b79513874b387d10c",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 69,
+ "comment" : "password is a BMPString",
+ "flags" : [
+ "NonUtf8",
+ "BmpString"
+ ],
+ "password" : "f35257dc5698b0bccbd0fc4f02a026390000",
+ "salt" : "6ed69f23acf64114",
+ "iterationCount" : 4096,
+ "iv" : "59efebfe7a6056507dc17778e5c444c5",
+ "msg" : "538705a997333fc2bf4f44f2bb90f3cd26",
+ "ct" : "a75e222b19dc1505c608cc116a1799d71d172d7c7f822695e8b58f4bf49cd2ac",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 70,
+ "comment" : "empty password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "",
+ "salt" : "79d4c53a51c41815",
+ "iterationCount" : 4096,
+ "iv" : "a8e86525fa4f365373045533b33902bd",
+ "msg" : "a62c0d9b5bcb932f65058396367673e8",
+ "ct" : "5ad8e1cf4b73d869deeaba895b0c6d43762f25c34629d566c5c4350bd36d81c9",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 71,
+ "comment" : "empty password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "",
+ "salt" : "65f8fa8b52cd47b0",
+ "iterationCount" : 4096,
+ "iv" : "bfb545e71f39df509870139862965526",
+ "msg" : "a3bae2fae05b77c7673d71901268eed173",
+ "ct" : "166d76ece45351ee55b31f49695f7ad98b967a27b68daf348f6aff0df9c56dd7",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 72,
+ "comment" : "password is an empty BMPString",
+ "flags" : [
+ "Ascii",
+ "BmpString"
+ ],
+ "password" : "0000",
+ "salt" : "f488f026badc3624",
+ "iterationCount" : 4096,
+ "iv" : "2979c2a734e4cd5da5d9a7e69c3f8b8e",
+ "msg" : "d63088e9bf4e9105bc287f0ab6823af9",
+ "ct" : "0466ea12294f7f5be9f2f798f1940b2778c876a48c1a44bb80fa0850b0a9ee3b",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 73,
+ "comment" : "password is an empty BMPString",
+ "flags" : [
+ "Ascii",
+ "BmpString"
+ ],
+ "password" : "0000",
+ "salt" : "542ada9132800d2c",
+ "iterationCount" : 4096,
+ "iv" : "844635e540de3a85c02f2df9413ff911",
+ "msg" : "08dfdd58aa603d5fc4bdaa9cb24ce82bca",
+ "ct" : "e82b92a659e8b1b495276348df4a4c0cee8b51b49a7f7cad5f7a7407d7d320b1",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 74,
+ "comment" : "long password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "61473a5f3441403c4a32204575314b24312d402225634c5653603d52756f247e414c3c2a4e2b3b25704140762170713a272526386448434b462a7a2c75395c725f",
+ "salt" : "80f8e7ac4649fd77",
+ "iterationCount" : 4096,
+ "iv" : "43db6bbe8b43b065bf32cd67c023856f",
+ "msg" : "e443a5541e1c0bd038030f78952195e0",
+ "ct" : "db00a5d6826a4544f25b8ae4b5103717f392b0302809c94d996a10ddf4a61dea",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 75,
+ "comment" : "long password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "7b2e6e6c462a24546c402c525a7e566e613a255c48422f364e51217b343a31253546355430315c2b2f352042385421323f5b47232e495329596c307d4f4153566746523b386023615b4c3f3a757131214d46662965645e44284d2268507a2364312d7568224751254a35273e5b69792773644555323039787e4e525647526a7d74",
+ "salt" : "66b3a75c3d1de7a7",
+ "iterationCount" : 4096,
+ "iv" : "4929fb5d6adc043751411a8165325219",
+ "msg" : "fc5d6ee5b19b873fac6f54160be4d52a",
+ "ct" : "3165df8464d6fb04b1c43612df827aae0489c31f0e813bbe84945bf9646cc660",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 76,
+ "comment" : "long password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "2a4235363559523e265f4c2b48685b374e347c4b384347346a513c2251753927742c427d25732e532b4e202648522b395d5763457a705e4b637a5535216e4e4e3a523a5b5e546d7625614e2f3623557e46454d413032515f2c30214971277b23606242283e4b3445426c2e4d7c40346d47777c4e3f6e572e24664a5e286c34775c2f5e3f2960744f644b2d47532c77447a58405e335b7d3a6b5831507b642f392b3638365c4341425e46655f577e31533f41626b6056393e5d32213b716d455d2637762a4c693e6c4b5449383a504e7c5e2d442030735f7d3a56273c497d773f32427b57692f7d61373d29236f6021624b41787e603d70313e5c68334a2b534653",
+ "salt" : "73e6c34cda6b6309",
+ "iterationCount" : 4096,
+ "iv" : "44f36e53ab4a6391acc5565de7358438",
+ "msg" : "309b773bcd825e66bd3117097f536b0e",
+ "ct" : "24f2f543390ee354dab5c672e67da52a65570d092c96e38328a3e6a43f22d340",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 77,
+ "comment" : "special case password",
+ "flags" : [
+ "NonUtf8"
+ ],
+ "password" : "ff",
+ "salt" : "330226023aa6c045",
+ "iterationCount" : 4096,
+ "iv" : "c78e1ec445dbe9742d205432712442bf",
+ "msg" : "4b8243aab5cba8be6853eeaa65e3ebb0",
+ "ct" : "8437673e96f8e8f737bb8bdf7cc83528eee1923b19d998de9fef8562d48a19b4",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 78,
+ "comment" : "special case: truncated UTF-8 string",
+ "flags" : [
+ "NonUtf8"
+ ],
+ "password" : "c0",
+ "salt" : "e19e4f175a64d35a",
+ "iterationCount" : 4096,
+ "iv" : "7545745f8d0bfe38f024371e12008a5f",
+ "msg" : "9e21b64aeff5338eb9bc71b19ef8f8e7",
+ "ct" : "7a147bff3c442785e5794c773dbdc5477addcbc4f2f6676f67dc04280f13afc1",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 79,
+ "comment" : "special case: invalid UTF-8 bytes",
+ "flags" : [
+ "NonUtf8"
+ ],
+ "password" : "ffffffffffffffff",
+ "salt" : "1eb37da28a65f626",
+ "iterationCount" : 4096,
+ "iv" : "5e9d991fa22878ac5256759c6c9cb53e",
+ "msg" : "319c92804c5560f840cc5bdace9c925d",
+ "ct" : "7ed362954f5b150e24040418a05af31650861709e6910e2831591f70a0c98096",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 80,
+ "comment" : "special case: invalid 2 byte UTF-8 code points",
+ "flags" : [
+ "NonUtf8"
+ ],
+ "password" : "c0c0c0c0c0c0c0c0",
+ "salt" : "2017b5e20a7cdbe0",
+ "iterationCount" : 4096,
+ "iv" : "7e42d185cab712e2982ca6ee4c2c61ec",
+ "msg" : "0f5a93c6771fc66aff78996d77421735",
+ "ct" : "199f6aa5720e333580d1393ee3aa29865e5937dee0ade2aec1f319633cb38ee3",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 81,
+ "comment" : "special case: invalid 3 byte UTF-8 code points",
+ "flags" : [
+ "NonUtf8"
+ ],
+ "password" : "eeeeeeeeeeeeeeee",
+ "salt" : "84301f0aebda104f",
+ "iterationCount" : 4096,
+ "iv" : "4ba655c171677a0dfbc5f6312387c15d",
+ "msg" : "86caabd40a5c738720de173597ea72f6",
+ "ct" : "05482b57318bd797a43990064a48965a1b50de916a17e194979fd73dd2e10273",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 82,
+ "comment" : "special case: invalid UTF-8 code points",
+ "flags" : [
+ "NonUtf8"
+ ],
+ "password" : "f0f0f0f0f0f0f0f0",
+ "salt" : "64baccfdd4e4b41b",
+ "iterationCount" : 4096,
+ "iv" : "d6b443472d2cf853c0c05f5327faced7",
+ "msg" : "4e0ee09328663637f21410fb8ad057a1",
+ "ct" : "826c00d9647bd103c23eb2b573feb9db3227b6279561cf0bb6beab6f198849cd",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 83,
+ "comment" : "special case for UTF-16",
+ "flags" : [
+ "NonUtf8"
+ ],
+ "password" : "dbdbdbdbdbdbdbdb",
+ "salt" : "ba21795fffb901bc",
+ "iterationCount" : 4096,
+ "iv" : "753675f249b8c153997a797116495204",
+ "msg" : "706c565ba28370ff433460cc9f8d845a",
+ "ct" : "2f0d299139ee74123c04e34654861d724e16ac12df3824ed1dc50f936fdf6725",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 84,
+ "comment" : "special case: long all zero password",
+ "flags" : [
+ "Ascii"
+ ],
+ "password" : "0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
+ "salt" : "22871ffd379d9951",
+ "iterationCount" : 4096,
+ "iv" : "2e949af1052a230e7560d9ae1ce75042",
+ "msg" : "16d1b65deb2d67fc3242792a19d5c227",
+ "ct" : "ac06b61c845e5365fbdb191937c5a88b1d952bfbe1c2da3a79b2b8c06dff715f",
+ "result" : "valid"
+ }
+ ]
+ }
+ ]
+}
diff --git a/testvectors_v1/pbes2_hmacsha512_aes_128_test.json b/testvectors_v1/pbes2_hmacsha512_aes_128_test.json
new file mode 100644
index 0000000..74f9c55
--- /dev/null
+++ b/testvectors_v1/pbes2_hmacsha512_aes_128_test.json
@@ -0,0 +1,1228 @@
+{
+ "algorithm" : "PbeWithHmacSha512AndAes_128",
+ "schema" : "pbe_test_schema.json",
+ "generatorVersion" : "0.9",
+ "numberOfTests" : 84,
+ "header" : [
+ "Test vector of type PbeTest are used for PBES1 or PBES2."
+ ],
+ "notes" : {
+ "Ascii" : {
+ "bugType" : "FUNCTIONALITY",
+ "description" : "The test vector contains a password consisting of ASCII characters."
+ },
+ "BmpString" : {
+ "bugType" : "FUNCTIONALITY",
+ "description" : "The test vectors contains a password that is a valid BMPString as used in RFC 7292. This RFC uses big endian encoding and a null terminator."
+ },
+ "NonUtf8" : {
+ "bugType" : "FUNCTIONALITY",
+ "description" : "The test vector contains a password that is not a valid UTF-8 string."
+ },
+ "Printable" : {
+ "bugType" : "FUNCTIONALITY",
+ "description" : "The test vector contains a password consisting of printable ASCII characters."
+ },
+ "Utf8" : {
+ "bugType" : "FUNCTIONALITY",
+ "description" : "The test vector contains a password that is a valid UTF-8 string."
+ }
+ },
+ "testGroups" : [
+ {
+ "type" : "PbeTest",
+ "tests" : [
+ {
+ "tcId" : 1,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "7743656734722c30",
+ "salt" : "fcd9a324f025ef40",
+ "iterationCount" : 4096,
+ "iv" : "42f02ff71b8524d1678ab2e34f9e7d47",
+ "msg" : "",
+ "ct" : "08f7480a550d773acfd7b68f2929f032",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 2,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "64395f4b48295839",
+ "salt" : "bfb221ba6de64926",
+ "iterationCount" : 4096,
+ "iv" : "7a735848780923657c0c54bc2ff0d9f8",
+ "msg" : "a3",
+ "ct" : "d4d28a7349035bcc33e5b11f70a4ad04",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 3,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "3a787e4c2c604d70",
+ "salt" : "dc64f1fd4705b4e5",
+ "iterationCount" : 4096,
+ "iv" : "579ff2437d6739742421b6e4e70d5c27",
+ "msg" : "4204",
+ "ct" : "c7f0184c7d7a8cd09c88159ac13af464",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 4,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "2a67656a66296120",
+ "salt" : "4c379a2bd962d19a",
+ "iterationCount" : 4096,
+ "iv" : "5bff9a5e8692229679cbd70fcfdebb74",
+ "msg" : "ceb541",
+ "ct" : "c469402fb2fe07009d30de1a77cff7f8",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 5,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "3b55267d5f4b2d4c",
+ "salt" : "08e041282eed4f00",
+ "iterationCount" : 4096,
+ "iv" : "17c5e988149370694c1b3b8cb0e44225",
+ "msg" : "10d032a7",
+ "ct" : "c3d03e3369f3dbc705fcc604cf01de65",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 6,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "4f317e2e525e517a",
+ "salt" : "bd5c4b6f25a1f6ff",
+ "iterationCount" : 4096,
+ "iv" : "76e5e3eb771a4daec6fabdc0b0793195",
+ "msg" : "29d9f1a701",
+ "ct" : "f41e6e8819df6d9964efef8958796c99",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 7,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "6557766473282375",
+ "salt" : "ea1efbb1c86b0c06",
+ "iterationCount" : 4096,
+ "iv" : "1f186ad98435e90fd7700695c986ef78",
+ "msg" : "6f124d8a8248",
+ "ct" : "30bdf4122ea82a4fb429d9e6b8d70e11",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 8,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "543a5f48765a2542",
+ "salt" : "f308bbcca74a2224",
+ "iterationCount" : 4096,
+ "iv" : "26bbbf2e18f06a4524e13bfd1ac00b37",
+ "msg" : "a1163153287dfe",
+ "ct" : "70b5752ee8a8cacfa62f9a2bf5778236",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 9,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "695a3c642f457a52",
+ "salt" : "7af3b0005c594502",
+ "iterationCount" : 4096,
+ "iv" : "6d9e8ea3d6ed355bf5e65b12995dbf6a",
+ "msg" : "9b29df8b3b9862f4",
+ "ct" : "829c346f46dfa8883f64db39a5d4172c",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 10,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "2a772a233f216e60",
+ "salt" : "172d5f4595c220dd",
+ "iterationCount" : 4096,
+ "iv" : "a5941967d4f6934431bd9951e20a93a6",
+ "msg" : "fe51cf84289221b894",
+ "ct" : "01f203788978b031743899efca6ec494",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 11,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "793c43623652216f",
+ "salt" : "d1d722eee2c5ebef",
+ "iterationCount" : 4096,
+ "iv" : "5cfe832947ec659f6847277ec1fab2f9",
+ "msg" : "696eb8b4e6b2015abb91",
+ "ct" : "1b1a13f0885c81ea29baf29d241ef366",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 12,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "4854515c222a2230",
+ "salt" : "843f5ff28978f214",
+ "iterationCount" : 4096,
+ "iv" : "430b247a435124754c83cc11203f18bd",
+ "msg" : "d8405be7823b472459a2fc",
+ "ct" : "dc7f3c29a6e2fc1cf09be1bb244d11d6",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 13,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "48682a4d34266b40",
+ "salt" : "783f344a1fa7c9a8",
+ "iterationCount" : 4096,
+ "iv" : "c707947121e5fc2da16990a78772e0ab",
+ "msg" : "56c73b781c1bff72a8ae7faf",
+ "ct" : "1805a1653866f1d596620058815857d6",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 14,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "293a746531294d5c",
+ "salt" : "2c75641f991eb10b",
+ "iterationCount" : 4096,
+ "iv" : "96dabd858e4187d0e50f8299ab60f029",
+ "msg" : "b07e8bbb45e9a17c124f6d5129",
+ "ct" : "706acdb576f3074fbff9b3055c34bdd7",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 15,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "353377343f482b65",
+ "salt" : "cf1620e7aabb73b7",
+ "iterationCount" : 4096,
+ "iv" : "8e6dd70b1dd1c39d0b8b593c556d812b",
+ "msg" : "ff89eb184de11579cae7d110a350",
+ "ct" : "4267adb0d1f59bb279d94c50fd27da0c",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 16,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "614e2d4634335721",
+ "salt" : "6dffc1db31767608",
+ "iterationCount" : 4096,
+ "iv" : "78c899bcdc4cf7d933ddc9016bc6e64e",
+ "msg" : "5e859aac690c85646ffb3f2bbb0d9c",
+ "ct" : "10591f664a2fd18dd4eb6dd56fdd9327",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 17,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "6f5330325e22574e",
+ "salt" : "798acc7c76739d75",
+ "iterationCount" : 4096,
+ "iv" : "5bfcfd6d7013eb8828f72455d7535c77",
+ "msg" : "86059dc647ba7d0067099e16c3da8bb6",
+ "ct" : "c94ffee9554ef6bba1276583de28d6c1bf10b18e2ffdfff4bd6a9862a472ac11",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 18,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "3972245623494f42",
+ "salt" : "da5421f23ac5b5e1",
+ "iterationCount" : 4096,
+ "iv" : "12293114ddb85319240682c1765e4533",
+ "msg" : "fc9349cbd8c277786c888f3254342431a8",
+ "ct" : "0357dfbe50129370a220a0b9120452d354bc5a8a95bbc542e7fb4c3cbab545e3",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 19,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "464d2f76752b4d63",
+ "salt" : "8cfea3c6783cfc41",
+ "iterationCount" : 4096,
+ "iv" : "9c84fe91476ab1c6ed30db9bb7f60280",
+ "msg" : "ad10a3cdef856b0632f7ce200c11f6c569d2",
+ "ct" : "f7f4dfce83e468266246a8ba2972ba38c7fc3f1439a574ce08e329240972f6b7",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 20,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "7951437c2b6f7079",
+ "salt" : "caada2e55c49492f",
+ "iterationCount" : 4096,
+ "iv" : "3a0185b1423310796b052e9128334b04",
+ "msg" : "be82c331a83dd0c472abc6ae8725d2ba48b3ad",
+ "ct" : "d6e8e68963b0a01562c4d347059502f7b417814f95d61be5abfc90634157b1fe",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 21,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "525c2424652a603d",
+ "salt" : "26ea52da49513b47",
+ "iterationCount" : 4096,
+ "iv" : "b9c70ea8599e136a64b2a6733e8ceb40",
+ "msg" : "d964c8b7fac0906c25654186f8d8e74b62dac5ac",
+ "ct" : "866a41a54ab655e32b6a4a25558460a99df3569646050a8f777082d8b3430704",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 22,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "6e446161627e6a3d",
+ "salt" : "64c6e216305ac8e5",
+ "iterationCount" : 4096,
+ "iv" : "2e089b050bfcbb214a3904344b25a28d",
+ "msg" : "00bba99a3d64657e16b70ee50c091488661c0af597",
+ "ct" : "4297c2417a7c7d074e02a89bc6d482a81094301ec7711005dc3f05124e06eb7f",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 23,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "5b413d39776e3323",
+ "salt" : "33017b20ba4a7af2",
+ "iterationCount" : 4096,
+ "iv" : "6fcf1307b562738a387c75885a7d6bf9",
+ "msg" : "1f6c99446d139e9ea5d46af1667b733eb8748e5e0e18",
+ "ct" : "713a80a4dc3a8644169979c807ed8026b3f1d2058c4ec55f62f0072a41697f4b",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 24,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "414838254a683628",
+ "salt" : "127e43a6c714f168",
+ "iterationCount" : 4096,
+ "iv" : "21bb5b1c774409d06067597153422573",
+ "msg" : "773f5e2ebe6ce60683cac6a9e2f0c9663556923582bdec",
+ "ct" : "591de0defb38e41b945a03425b3e5a6b52eefb3dcbb3c5559569e6ca85445b1c",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 25,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "3c202b435634305d",
+ "salt" : "45f38c6678268b8e",
+ "iterationCount" : 4096,
+ "iv" : "348b3cca3ece503b42b20b2ae690c4eb",
+ "msg" : "8ab193d18b1dec59400822dd0cea7239b3743327488e3d2d",
+ "ct" : "c992048d4bb03fed081cd5b5b9919dea01caccb8be4544b0e0b7b743cceb4d86",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 26,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "6e43225f5832705b",
+ "salt" : "5911a7a49800e204",
+ "iterationCount" : 4096,
+ "iv" : "58b4f658efcf961c4715b0af0b0913b7",
+ "msg" : "b336756c278ab89c0539047824350469b05918446a672b4215",
+ "ct" : "3373bf33f79e20494a6754de9dbc73102934ddded4fe65db191fa66e586a3326",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 27,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "3f26723264514541",
+ "salt" : "18a9d3dfa74d4024",
+ "iterationCount" : 4096,
+ "iv" : "497fe0d1a8c09aca8d98a11db8621077",
+ "msg" : "6cd40dc20c7103a39b83da1f8c67855b0ffd77c250e1447414a9",
+ "ct" : "569684132c8c78823244007db4fbdcd71eb8bc4425e0b7d9bcd55dc38b76d6c3",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 28,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "536d4a3b42714035",
+ "salt" : "9025629f385862f5",
+ "iterationCount" : 4096,
+ "iv" : "575fd9464cc1a36fcd23d7fc4ed304de",
+ "msg" : "40a37fae54940616cd6bb6cefb8f4521895fe9b7593492c2709003",
+ "ct" : "110e3f51625d1e7b9a56b5c4e75fc2bcf46783a7f674f16f86d31eda52982157",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 29,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "283d692b21263f41",
+ "salt" : "4f9ca92d54e165d1",
+ "iterationCount" : 4096,
+ "iv" : "402239571eaf6f7162fd4fe620d55948",
+ "msg" : "d47c8c9ec28820d760abfe731e9e9818d34abad20da255cff68fd374",
+ "ct" : "c30aae7645ffd5b91f94b8a64ad3b55eaf2dda8b552b09d0d6d4da121a56a40e",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 30,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "3658665b3a546f47",
+ "salt" : "5ae48edef6811519",
+ "iterationCount" : 4096,
+ "iv" : "2425c2af851d56445c8e11b4529e3287",
+ "msg" : "5892825348e6160fd4f95f0a619a5a41604ee4b21ace4c9f61adf31ebc",
+ "ct" : "ec373b4f7dff845ffe554e393cd4f940e67ff794a06201b67411473e0c1e1511",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 31,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "257d78712275712a",
+ "salt" : "e2a7c16a6fe6a1fc",
+ "iterationCount" : 4096,
+ "iv" : "9dc7a4ff8a5a9d04d1b88c14028092c5",
+ "msg" : "596c0a1b3f9c251c98b15fb077da34c72e415ab9f4f01ac865421a7b89be",
+ "ct" : "2a0d37c0e2777ebe942d892f2a425a88d6bde3b910bf9a723fee4f158358cc60",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 32,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "2b75433d3a69566c",
+ "salt" : "a6d0b6f795cbe6a8",
+ "iterationCount" : 4096,
+ "iv" : "5804285758b9e6450148872a11dcc421",
+ "msg" : "18e18b3cb96d6d9ff0730b2ff70ac2be9577a75555554f6c446ed30850c167",
+ "ct" : "b2e4b50e8af55618ffaf77b7aa0265536f8395c58c4ee4cfe7039a141b79bbd2",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 33,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "252b6452647b4520",
+ "salt" : "e817780ed7997728",
+ "iterationCount" : 4096,
+ "iv" : "ff2512297f3fd5aa2b859432b9f53006",
+ "msg" : "8e9b1f95807a3c1bc95027ca72d2ae717b7e9dceac7437fc32a1aad2343ce69e",
+ "ct" : "8ee55460c8474efb58771b6a25db89d87da1db0c2769bfb3f948b2c02494f78dbce4657d14abdc8fa10fd4bd3cc0aee6",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 34,
+ "comment" : "password contains only ASCII characters",
+ "flags" : [
+ "Ascii"
+ ],
+ "password" : "4b2d6c600e66535c7f3d6d6c",
+ "salt" : "7a4c02db8bd8fcc2",
+ "iterationCount" : 4096,
+ "iv" : "d62747fca1a7dfbee90597b3f57fffa2",
+ "msg" : "52dd188a4585bbaa85ced8d529d880b3",
+ "ct" : "7bc92e51f60ddccb238e271138bec270cdd298b7bd5dd170dadf3c5192528859",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 35,
+ "comment" : "password contains only ASCII characters",
+ "flags" : [
+ "Ascii"
+ ],
+ "password" : "706614257f522b6315345f7c",
+ "salt" : "94ef44b92e15fa35",
+ "iterationCount" : 4096,
+ "iv" : "c489480ee8a00898f3151317c2c614b9",
+ "msg" : "9cb42f3f2992357a7beeedfa37653f4d41",
+ "ct" : "cb035236c5169a1d42d883b5582b5a4f1e9dfa4d35cbc9227d8906e790d64e1a",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 36,
+ "comment" : "password contains only ASCII characters",
+ "flags" : [
+ "Ascii"
+ ],
+ "password" : "1f4b7b354903545f2b07720b",
+ "salt" : "62f91ea01f3a18aa2f122bd15c4a615b",
+ "iterationCount" : 4096,
+ "iv" : "05d867eae06fbfd2efda349bc3dcd473",
+ "msg" : "64f33addb1e1671f867e96a3e8339ecd",
+ "ct" : "caac2d52e50e9ca092c1b2331761d9efda855bf13b53b9895b810faa5cc934fd",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 37,
+ "comment" : "password contains only ASCII characters",
+ "flags" : [
+ "Ascii"
+ ],
+ "password" : "1e2e16140e4a4d19251b6f5f",
+ "salt" : "bdf156b4d87a5e07cd9481b3d136887c",
+ "iterationCount" : 4096,
+ "iv" : "b64e4b7176cfafe46235e8b32b2508e6",
+ "msg" : "9b31b854ff09e4cdd28b817fb2f2cdb6c9",
+ "ct" : "043648610e9f6cd3b92315b8a08befc7795ef77885b65768fc0cf08f4d81aaba",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 38,
+ "comment" : "password contains only ASCII characters",
+ "flags" : [
+ "Ascii"
+ ],
+ "password" : "15296b0933473119180f3c0645202d5221633803",
+ "salt" : "d7412e4137fc4410",
+ "iterationCount" : 4096,
+ "iv" : "d227c8c98a652788944977f9bc73a20d",
+ "msg" : "86159d5e3b903a51a833ce561f39ae0a",
+ "ct" : "98b40fcb792a7ffd9f446ac4f138cbae530d8458a42275a36bb0f60b0fb9fe37",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 39,
+ "comment" : "password contains only ASCII characters",
+ "flags" : [
+ "Ascii"
+ ],
+ "password" : "00017e1e176769476d2433302f3506590e632a0c",
+ "salt" : "28c1759d783256fd",
+ "iterationCount" : 4096,
+ "iv" : "cf23a38fef611880acf9107ffa9e29a8",
+ "msg" : "79532d85a40aa575377172611dd4f0047c",
+ "ct" : "f207b402497486e9fe2bba30d04ec32a8394608d5b55de6085bacf8b7009a8a7",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 40,
+ "comment" : "password contains only ASCII characters",
+ "flags" : [
+ "Ascii"
+ ],
+ "password" : "7a106c2773542c791d2f0a02632b69644f666278",
+ "salt" : "a36350db68186d747254bd9835219487",
+ "iterationCount" : 4096,
+ "iv" : "568af67455f416a63d3ced652c32a74d",
+ "msg" : "96687d00d01854bbc2151ed4fdec8732",
+ "ct" : "5c453c372571b223bf85dadf51151a2cdec5ecfa56555089ad25d39e786c96ad",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 41,
+ "comment" : "password contains only ASCII characters",
+ "flags" : [
+ "Ascii"
+ ],
+ "password" : "350e2f050d444c09374977205a6b063736373067",
+ "salt" : "3cadfed36847faa4af545c426b7bcbc5",
+ "iterationCount" : 4096,
+ "iv" : "1ee0658f81c645721618de5849c3baf1",
+ "msg" : "89e4167cba0f8ca3a4b1640b023612d963",
+ "ct" : "e62d7011141b14c0bee42b7277695a19f9ee5c5b4f65e4ea99673126522ff7b2",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 42,
+ "comment" : "password is a valid UTF-8 encoding",
+ "flags" : [
+ "Utf8"
+ ],
+ "password" : "d0a3d1bed38acc83",
+ "salt" : "8dfae85c9f2072ae",
+ "iterationCount" : 4096,
+ "iv" : "13a77b4b2eb10b260ac889b432d7af1c",
+ "msg" : "41a21ec6f04859724a1dfcdcf85e6c3a",
+ "ct" : "92b20001f4f88cb6c7d1086703f0e3ab30ba42af74fc6b575b33815380ba319d",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 43,
+ "comment" : "password is a valid UTF-8 encoding",
+ "flags" : [
+ "Utf8"
+ ],
+ "password" : "d4b8cbbcc49bd9b6",
+ "salt" : "657a212f745924eb",
+ "iterationCount" : 4096,
+ "iv" : "6529f3dc9f0197e2f5c6e889b1b6097f",
+ "msg" : "231765341c414e93ec399b804a79a65dfc",
+ "ct" : "363d0d152eda071da4bcb748c9a88acb67e9e8341cc28a81143ca4f5a27bcde6",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 44,
+ "comment" : "password is a valid UTF-8 encoding",
+ "flags" : [
+ "Utf8"
+ ],
+ "password" : "c299d292cd92dcb8",
+ "salt" : "99c55e182238c8e0c385447685e9ba85",
+ "iterationCount" : 4096,
+ "iv" : "34d4cc26cd871885c8e781d6e8b9ec67",
+ "msg" : "4bf1f98da6113ca66cc18283aedb4cc5",
+ "ct" : "d165592ff3ac1ed7ed07faaeaed3193873cfa9a55d32f61fa22dcc89f43a6b03",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 45,
+ "comment" : "password is a valid UTF-8 encoding",
+ "flags" : [
+ "Utf8"
+ ],
+ "password" : "da9dd3acdca2df8a",
+ "salt" : "b5413f52391a2ff0fb19563c0b40a445",
+ "iterationCount" : 4096,
+ "iv" : "b4d3b1dbbc034d407ce552e6bc63fee1",
+ "msg" : "e2e81593f6591df708582f4cce0b1c6d78",
+ "ct" : "d1805754d2e3a57814e23c459f13f3eda62aef28877dd192d625734198a56992",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 46,
+ "comment" : "password is a valid UTF-8 encoding",
+ "flags" : [
+ "Utf8"
+ ],
+ "password" : "cfbec3b9d7acc7a9d585d1a5c28fcca119",
+ "salt" : "e9c55717a1259a29",
+ "iterationCount" : 4096,
+ "iv" : "cd718713a05183c1aa4bc4c01794b382",
+ "msg" : "1f4425a96b272fc27bcbfda0bb7e0dd8",
+ "ct" : "9809dee0c34d19542412d1bc50ee70323b55d44016dd7d8a2bd9eaa5f0296e63",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 47,
+ "comment" : "password is a valid UTF-8 encoding",
+ "flags" : [
+ "Utf8"
+ ],
+ "password" : "d492c59061cd9dd9b8c28fd39fcd9e24",
+ "salt" : "09deec77ec44eb6e",
+ "iterationCount" : 4096,
+ "iv" : "0f958378c10c245540b9ce61d7781fd8",
+ "msg" : "ae209895c5cb179e54649749cdb245b9ce",
+ "ct" : "105613cff5123a1da506ec0abd878e36c99e70e0b71dc6dfa6b14990096a37c2",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 48,
+ "comment" : "password is a valid UTF-8 encoding",
+ "flags" : [
+ "Utf8"
+ ],
+ "password" : "da9dd096cb93db88dbbed495ceaacf853c",
+ "salt" : "200bba668b2010b1968b82091848937c",
+ "iterationCount" : 4096,
+ "iv" : "39d3e787c076007b3c173b75597b08c5",
+ "msg" : "0b4e337297c6cdd5c51f8ee7e633ef8f",
+ "ct" : "9ec5fe7cc790dcb3c185c3302f84bdc2919b54f3ec22aca75d80ff87f9b89395",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 49,
+ "comment" : "password is a valid UTF-8 encoding",
+ "flags" : [
+ "Utf8"
+ ],
+ "password" : "d9aacab7c2a0dbb5d89bc7acde9cceb50c",
+ "salt" : "1d87767829bd386ad2038cea7a0b542f",
+ "iterationCount" : 4096,
+ "iv" : "cfb67f9bb8cfb0e05684fcba195f0f19",
+ "msg" : "a9e289e0a985df90dfe23230c414dcb1fa",
+ "ct" : "82e5e517d7ebdfd1e40d0aef72cb32fec249a1250ec7cf8d6e9a241200f84ea9",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 50,
+ "comment" : "password is a random byte string",
+ "flags" : [
+ "NonUtf8"
+ ],
+ "password" : "8423ec7ea4ca4b03",
+ "salt" : "8dfae85c9f2072ae",
+ "iterationCount" : 4096,
+ "iv" : "13a77b4b2eb10b260ac889b432d7af1c",
+ "msg" : "41a21ec6f04859724a1dfcdcf85e6c3a",
+ "ct" : "9272cabec6553ac3c077c84975db20ca8a88b922aeb046172157d8d02df58ef3",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 51,
+ "comment" : "password is a random byte string",
+ "flags" : [
+ "NonUtf8"
+ ],
+ "password" : "7538a2fc091b6e76",
+ "salt" : "657a212f745924eb",
+ "iterationCount" : 4096,
+ "iv" : "6529f3dc9f0197e2f5c6e889b1b6097f",
+ "msg" : "231765341c414e93ec399b804a79a65dfc",
+ "ct" : "f0fe1c7e9eef48254b016e71dff216e84238c19acf62637a862b8d42f526576f",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 52,
+ "comment" : "password is a random byte string",
+ "flags" : [
+ "NonUtf8"
+ ],
+ "password" : "48997492c3528738",
+ "salt" : "99c55e182238c8e0c385447685e9ba85",
+ "iterationCount" : 4096,
+ "iv" : "34d4cc26cd871885c8e781d6e8b9ec67",
+ "msg" : "4bf1f98da6113ca66cc18283aedb4cc5",
+ "ct" : "be5049cc33235446df1a54397def35c544cf3c83bcec0c5f8ac5f5bfbc93f234",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 53,
+ "comment" : "password is a random byte string",
+ "flags" : [
+ "NonUtf8"
+ ],
+ "password" : "c69d34ec7722ffca",
+ "salt" : "b5413f52391a2ff0fb19563c0b40a445",
+ "iterationCount" : 4096,
+ "iv" : "b4d3b1dbbc034d407ce552e6bc63fee1",
+ "msg" : "e2e81593f6591df708582f4cce0b1c6d78",
+ "ct" : "d406cba7ce58b22ea0136f9783c0f625e79b2e4248c72c20d05643ccf838d415",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 54,
+ "comment" : "password is a random byte string",
+ "flags" : [
+ "NonUtf8"
+ ],
+ "password" : "e3feb0f96dec61e9dd451465f88f132119",
+ "salt" : "e9c55717a1259a29",
+ "iterationCount" : 4096,
+ "iv" : "cd718713a05183c1aa4bc4c01794b382",
+ "msg" : "1f4425a96b272fc27bcbfda0bb7e0dd8",
+ "ct" : "69852f8796bb69a68fae763132a3c1c7650f88808b02166ca7e2b399b338ccf5",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 55,
+ "comment" : "password is a random byte string",
+ "flags" : [
+ "NonUtf8"
+ ],
+ "password" : "ed12a9502061d35d9678188f1cdf135e24",
+ "salt" : "09deec77ec44eb6e",
+ "iterationCount" : 4096,
+ "iv" : "0f958378c10c245540b9ce61d7781fd8",
+ "msg" : "ae209895c5cb179e54649749cdb245b9ce",
+ "ct" : "4527a99b12dfb0e749d380816ddf3dc1aa63302f4063f3d61d300ade1616b982",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 56,
+ "comment" : "password is a random byte string",
+ "flags" : [
+ "NonUtf8"
+ ],
+ "password" : "9e9d7c166ad3bec856fe5d15d3aacbc53c",
+ "salt" : "200bba668b2010b1968b82091848937c",
+ "iterationCount" : 4096,
+ "iv" : "39d3e787c076007b3c173b75597b08c5",
+ "msg" : "0b4e337297c6cdd5c51f8ee7e633ef8f",
+ "ct" : "e780a2e18d6d46f6a6b7054f0d6841e84106c02dd104b10bf65b5829906f5e35",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 57,
+ "comment" : "password is a random byte string",
+ "flags" : [
+ "NonUtf8"
+ ],
+ "password" : "466a02b7d8a046f5161b41ecef9cc3b50c",
+ "salt" : "1d87767829bd386ad2038cea7a0b542f",
+ "iterationCount" : 4096,
+ "iv" : "cfb67f9bb8cfb0e05684fcba195f0f19",
+ "msg" : "a9e289e0a985df90dfe23230c414dcb1fa",
+ "ct" : "6399dda9c12e55475f21f251ea1bf1d175a382a5f209946f5c9f2747b04bed00",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 58,
+ "comment" : "password is an ASCII string encoded as BMPString",
+ "flags" : [
+ "Ascii",
+ "BmpString"
+ ],
+ "password" : "002d0000",
+ "salt" : "66a92292e6db2d9e",
+ "iterationCount" : 4096,
+ "iv" : "7911306933f1131299247a85b585bed8",
+ "msg" : "63219964fd79651fe1be8ad5e90f414c",
+ "ct" : "0bc32c86dbb3b2056826d0361eba510ea209038735f8d5f09deb721ffdc0a1dd",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 59,
+ "comment" : "password is an ASCII string encoded as BMPString",
+ "flags" : [
+ "Ascii",
+ "BmpString"
+ ],
+ "password" : "00470000",
+ "salt" : "88abb902385f0efc",
+ "iterationCount" : 4096,
+ "iv" : "109f2c7a8aacc98d0aa176b1b43f2ece",
+ "msg" : "34ce8c499c20714c34506b8e8b87b103d2",
+ "ct" : "e2ffdb2b50eb2ad85f378c10c04f2480e62ed90f63be41ccc5ccd041a54d5a09",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 60,
+ "comment" : "password is an ASCII string encoded as BMPString",
+ "flags" : [
+ "Ascii",
+ "BmpString"
+ ],
+ "password" : "004400640042004d0064006d000100790000",
+ "salt" : "675617aaff664428",
+ "iterationCount" : 4096,
+ "iv" : "c08dd25d3aa04749850301e9b8f8eb28",
+ "msg" : "4f5f5d4d0a21d463419db42fdff6ae6c",
+ "ct" : "388d466f8fe6e4d476643ccf4f1fe90dc7599de32c752982f2f01b8ad083b55a",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 61,
+ "comment" : "password is an ASCII string encoded as BMPString",
+ "flags" : [
+ "Ascii",
+ "BmpString"
+ ],
+ "password" : "007400760025002a0012005b005c00610000",
+ "salt" : "957a9ab7ad9fc7de",
+ "iterationCount" : 4096,
+ "iv" : "126081b5c830984abd553ec39b080f39",
+ "msg" : "ede5a5ea322b7972a789bb5af48f384218",
+ "ct" : "051862c76cae986bd61705633f47fccbf85cb0c4d1205c375207898426d12b26",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 62,
+ "comment" : "password is an ASCII string encoded as BMPString",
+ "flags" : [
+ "Ascii",
+ "BmpString"
+ ],
+ "password" : "0023000d00510069001d0077002a0009001200010034004d00520070006100290000",
+ "salt" : "deea2dabe885caf6",
+ "iterationCount" : 4096,
+ "iv" : "698a466cec24214100bb3f30a6820bf7",
+ "msg" : "930b94a70883efd733f63f841dfc3d17",
+ "ct" : "51d6d5a2f467585a9ea9b37b9c0c0a892e63c72d95d8dfc06f82d0c773dd3db9",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 63,
+ "comment" : "password is an ASCII string encoded as BMPString",
+ "flags" : [
+ "Ascii",
+ "BmpString"
+ ],
+ "password" : "007300520057005c005600180030003c004b0050007c004f00020020002600390000",
+ "salt" : "6ed69f23acf64114",
+ "iterationCount" : 4096,
+ "iv" : "59efebfe7a6056507dc17778e5c444c5",
+ "msg" : "538705a997333fc2bf4f44f2bb90f3cd26",
+ "ct" : "bd53c9935b0c6d856a7a5a9b8441ad541dbef72843f63c6de3e3f119c8aa2514",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 64,
+ "comment" : "password is a BMPString",
+ "flags" : [
+ "NonUtf8",
+ "BmpString"
+ ],
+ "password" : "92ae0000",
+ "salt" : "6978583ea9c24c49",
+ "iterationCount" : 4096,
+ "iv" : "0192ad10599677f253e7dea587373553",
+ "msg" : "c06bcb3b5cd9c1317f5eb7ba50882530",
+ "ct" : "45d48692199abd2cf8d665b9c6ea66bdccee5a39f60930d4fdabde0bdee12fb5",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 65,
+ "comment" : "password is a BMPString",
+ "flags" : [
+ "NonUtf8",
+ "BmpString"
+ ],
+ "password" : "38a90000",
+ "salt" : "c217b8c980fe4698",
+ "iterationCount" : 4096,
+ "iv" : "890a0303475f07189a0fe14b4e509217",
+ "msg" : "1ea8b43513275537d021c0f75849c01840",
+ "ct" : "8cd5d52f900e1d808106b096129e05334adbd8805b24dad7fbb8e39aac8697b9",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 66,
+ "comment" : "password is a BMPString",
+ "flags" : [
+ "NonUtf8",
+ "BmpString"
+ ],
+ "password" : "4464c2cde4ed81790000",
+ "salt" : "675617aaff664428",
+ "iterationCount" : 4096,
+ "iv" : "c08dd25d3aa04749850301e9b8f8eb28",
+ "msg" : "4f5f5d4d0a21d463419db42fdff6ae6c",
+ "ct" : "9d02e45659d082ff22886523ded518c8e89281af5fb806fd69bc2e64cdceb9a5",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 67,
+ "comment" : "password is a BMPString",
+ "flags" : [
+ "NonUtf8",
+ "BmpString"
+ ],
+ "password" : "f4f6a52a925b00610000",
+ "salt" : "957a9ab7ad9fc7de",
+ "iterationCount" : 4096,
+ "iv" : "126081b5c830984abd553ec39b080f39",
+ "msg" : "ede5a5ea322b7972a789bb5af48f384218",
+ "ct" : "2c46f7cf9d18fad8950a2dc37e66214ecfa3cfbe8e2314754548393b1a004424",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 68,
+ "comment" : "password is a BMPString",
+ "flags" : [
+ "NonUtf8",
+ "BmpString"
+ ],
+ "password" : "a38d51691d77aa891281b44d52f061a90000",
+ "salt" : "deea2dabe885caf6",
+ "iterationCount" : 4096,
+ "iv" : "698a466cec24214100bb3f30a6820bf7",
+ "msg" : "930b94a70883efd733f63f841dfc3d17",
+ "ct" : "705c8ed149e0776331c4e726be646c98dd3ae5d4ca06d1462adb8a86fd750643",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 69,
+ "comment" : "password is a BMPString",
+ "flags" : [
+ "NonUtf8",
+ "BmpString"
+ ],
+ "password" : "f35257dc5698b0bccbd0fc4f02a026390000",
+ "salt" : "6ed69f23acf64114",
+ "iterationCount" : 4096,
+ "iv" : "59efebfe7a6056507dc17778e5c444c5",
+ "msg" : "538705a997333fc2bf4f44f2bb90f3cd26",
+ "ct" : "b43470fa162e0bd04e19f7994ad660d9cad6170847b18b5693924d5d8a224574",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 70,
+ "comment" : "empty password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "",
+ "salt" : "79d4c53a51c41815",
+ "iterationCount" : 4096,
+ "iv" : "a8e86525fa4f365373045533b33902bd",
+ "msg" : "a62c0d9b5bcb932f65058396367673e8",
+ "ct" : "368f6a89a659c6ce89897cc7acc1175f21ed2d5bfd0169175de55f9c13e6b27e",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 71,
+ "comment" : "empty password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "",
+ "salt" : "65f8fa8b52cd47b0",
+ "iterationCount" : 4096,
+ "iv" : "bfb545e71f39df509870139862965526",
+ "msg" : "a3bae2fae05b77c7673d71901268eed173",
+ "ct" : "57dbb94a568496e140df3e78edf073f71b1c6d2053dad7e700fe410dc3e4da0c",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 72,
+ "comment" : "password is an empty BMPString",
+ "flags" : [
+ "Ascii",
+ "BmpString"
+ ],
+ "password" : "0000",
+ "salt" : "f488f026badc3624",
+ "iterationCount" : 4096,
+ "iv" : "2979c2a734e4cd5da5d9a7e69c3f8b8e",
+ "msg" : "d63088e9bf4e9105bc287f0ab6823af9",
+ "ct" : "12a32347ead154d6086352ab16b65a309e145cf529abd022047c14b734b9e3dc",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 73,
+ "comment" : "password is an empty BMPString",
+ "flags" : [
+ "Ascii",
+ "BmpString"
+ ],
+ "password" : "0000",
+ "salt" : "542ada9132800d2c",
+ "iterationCount" : 4096,
+ "iv" : "844635e540de3a85c02f2df9413ff911",
+ "msg" : "08dfdd58aa603d5fc4bdaa9cb24ce82bca",
+ "ct" : "49fdf270fa19cd4affe4d1b80dc9b71e13f41d34576a9fe81d2f7ac6fd872010",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 74,
+ "comment" : "long password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "61473a5f3441403c4a32204575314b24312d402225634c5653603d52756f247e414c3c2a4e2b3b25704140762170713a272526386448434b462a7a2c75395c725f",
+ "salt" : "80f8e7ac4649fd77",
+ "iterationCount" : 4096,
+ "iv" : "43db6bbe8b43b065bf32cd67c023856f",
+ "msg" : "e443a5541e1c0bd038030f78952195e0",
+ "ct" : "7662a53795c2b01c7a482f2b07bb614547d8fb564106266e9679aee0ecabad72",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 75,
+ "comment" : "long password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "7b2e6e6c462a24546c402c525a7e566e613a255c48422f364e51217b343a31253546355430315c2b2f352042385421323f5b47232e495329596c307d4f4153566746523b386023615b4c3f3a757131214d46662965645e44284d2268507a2364312d7568224751254a35273e5b69792773644555323039787e4e525647526a7d74",
+ "salt" : "66b3a75c3d1de7a7",
+ "iterationCount" : 4096,
+ "iv" : "4929fb5d6adc043751411a8165325219",
+ "msg" : "fc5d6ee5b19b873fac6f54160be4d52a",
+ "ct" : "8bcbea1dbf059157845d7deb765fa79cf68b0c852d7094c76a29ec0a3885e650",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 76,
+ "comment" : "long password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "2a4235363559523e265f4c2b48685b374e347c4b384347346a513c2251753927742c427d25732e532b4e202648522b395d5763457a705e4b637a5535216e4e4e3a523a5b5e546d7625614e2f3623557e46454d413032515f2c30214971277b23606242283e4b3445426c2e4d7c40346d47777c4e3f6e572e24664a5e286c34775c2f5e3f2960744f644b2d47532c77447a58405e335b7d3a6b5831507b642f392b3638365c4341425e46655f577e31533f41626b6056393e5d32213b716d455d2637762a4c693e6c4b5449383a504e7c5e2d442030735f7d3a56273c497d773f32427b57692f7d61373d29236f6021624b41787e603d70313e5c68334a2b534653",
+ "salt" : "73e6c34cda6b6309",
+ "iterationCount" : 4096,
+ "iv" : "44f36e53ab4a6391acc5565de7358438",
+ "msg" : "309b773bcd825e66bd3117097f536b0e",
+ "ct" : "64077c920460df4c8ed5239555cd3848427927d6331ce3c038e92f99205c76f5",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 77,
+ "comment" : "special case password",
+ "flags" : [
+ "NonUtf8"
+ ],
+ "password" : "ff",
+ "salt" : "330226023aa6c045",
+ "iterationCount" : 4096,
+ "iv" : "c78e1ec445dbe9742d205432712442bf",
+ "msg" : "4b8243aab5cba8be6853eeaa65e3ebb0",
+ "ct" : "37747f022fcbbac965c71d6abc8fc796ad83b9d32d1b66acb016c9d13cb21b5d",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 78,
+ "comment" : "special case: truncated UTF-8 string",
+ "flags" : [
+ "NonUtf8"
+ ],
+ "password" : "c0",
+ "salt" : "e19e4f175a64d35a",
+ "iterationCount" : 4096,
+ "iv" : "7545745f8d0bfe38f024371e12008a5f",
+ "msg" : "9e21b64aeff5338eb9bc71b19ef8f8e7",
+ "ct" : "a7281489fd919702680867547bee4789d23eb08617ebb292e36d6ed5e51fbf7a",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 79,
+ "comment" : "special case: invalid UTF-8 bytes",
+ "flags" : [
+ "NonUtf8"
+ ],
+ "password" : "ffffffffffffffff",
+ "salt" : "1eb37da28a65f626",
+ "iterationCount" : 4096,
+ "iv" : "5e9d991fa22878ac5256759c6c9cb53e",
+ "msg" : "319c92804c5560f840cc5bdace9c925d",
+ "ct" : "8db73f935b0afa31df57599e8cd9a8ef740de3c18f121fafaa1c0fb3d9214efa",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 80,
+ "comment" : "special case: invalid 2 byte UTF-8 code points",
+ "flags" : [
+ "NonUtf8"
+ ],
+ "password" : "c0c0c0c0c0c0c0c0",
+ "salt" : "2017b5e20a7cdbe0",
+ "iterationCount" : 4096,
+ "iv" : "7e42d185cab712e2982ca6ee4c2c61ec",
+ "msg" : "0f5a93c6771fc66aff78996d77421735",
+ "ct" : "e94ba8b12e8e8e767417d33f303cecfef53f39b4501095ffc3d6ab35a73e854b",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 81,
+ "comment" : "special case: invalid 3 byte UTF-8 code points",
+ "flags" : [
+ "NonUtf8"
+ ],
+ "password" : "eeeeeeeeeeeeeeee",
+ "salt" : "84301f0aebda104f",
+ "iterationCount" : 4096,
+ "iv" : "4ba655c171677a0dfbc5f6312387c15d",
+ "msg" : "86caabd40a5c738720de173597ea72f6",
+ "ct" : "469f91e99d6e13ba885dcf47367da04e08cbe896143e588840d105a3a55b9563",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 82,
+ "comment" : "special case: invalid UTF-8 code points",
+ "flags" : [
+ "NonUtf8"
+ ],
+ "password" : "f0f0f0f0f0f0f0f0",
+ "salt" : "64baccfdd4e4b41b",
+ "iterationCount" : 4096,
+ "iv" : "d6b443472d2cf853c0c05f5327faced7",
+ "msg" : "4e0ee09328663637f21410fb8ad057a1",
+ "ct" : "9b8200707cc650b8b5c4c74b2ed858979792db68cf09957f53c6d859b46ef88e",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 83,
+ "comment" : "special case for UTF-16",
+ "flags" : [
+ "NonUtf8"
+ ],
+ "password" : "dbdbdbdbdbdbdbdb",
+ "salt" : "ba21795fffb901bc",
+ "iterationCount" : 4096,
+ "iv" : "753675f249b8c153997a797116495204",
+ "msg" : "706c565ba28370ff433460cc9f8d845a",
+ "ct" : "58bb7dfc01ff01359d516a0701ebf6b54dc11db898f504da24be5a1bedbf0856",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 84,
+ "comment" : "special case: long all zero password",
+ "flags" : [
+ "Ascii"
+ ],
+ "password" : "0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
+ "salt" : "22871ffd379d9951",
+ "iterationCount" : 4096,
+ "iv" : "2e949af1052a230e7560d9ae1ce75042",
+ "msg" : "16d1b65deb2d67fc3242792a19d5c227",
+ "ct" : "9dcdba4f020fd0fa2401ec59c1f9716f93e47f1aa8ad4ec593ccf5041aff4181",
+ "result" : "valid"
+ }
+ ]
+ }
+ ]
+}
diff --git a/testvectors_v1/pbes2_hmacsha512_aes_192_test.json b/testvectors_v1/pbes2_hmacsha512_aes_192_test.json
new file mode 100644
index 0000000..7d4c9f7
--- /dev/null
+++ b/testvectors_v1/pbes2_hmacsha512_aes_192_test.json
@@ -0,0 +1,1228 @@
+{
+ "algorithm" : "PbeWithHmacSha512AndAes_192",
+ "schema" : "pbe_test_schema.json",
+ "generatorVersion" : "0.9",
+ "numberOfTests" : 84,
+ "header" : [
+ "Test vector of type PbeTest are used for PBES1 or PBES2."
+ ],
+ "notes" : {
+ "Ascii" : {
+ "bugType" : "FUNCTIONALITY",
+ "description" : "The test vector contains a password consisting of ASCII characters."
+ },
+ "BmpString" : {
+ "bugType" : "FUNCTIONALITY",
+ "description" : "The test vectors contains a password that is a valid BMPString as used in RFC 7292. This RFC uses big endian encoding and a null terminator."
+ },
+ "NonUtf8" : {
+ "bugType" : "FUNCTIONALITY",
+ "description" : "The test vector contains a password that is not a valid UTF-8 string."
+ },
+ "Printable" : {
+ "bugType" : "FUNCTIONALITY",
+ "description" : "The test vector contains a password consisting of printable ASCII characters."
+ },
+ "Utf8" : {
+ "bugType" : "FUNCTIONALITY",
+ "description" : "The test vector contains a password that is a valid UTF-8 string."
+ }
+ },
+ "testGroups" : [
+ {
+ "type" : "PbeTest",
+ "tests" : [
+ {
+ "tcId" : 1,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "7743656734722c30",
+ "salt" : "fcd9a324f025ef40",
+ "iterationCount" : 4096,
+ "iv" : "42f02ff71b8524d1678ab2e34f9e7d47",
+ "msg" : "",
+ "ct" : "6e94d4acf87d7132382b1e6480ef1a5d",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 2,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "64395f4b48295839",
+ "salt" : "bfb221ba6de64926",
+ "iterationCount" : 4096,
+ "iv" : "7a735848780923657c0c54bc2ff0d9f8",
+ "msg" : "a3",
+ "ct" : "303dafd2932288f2c180ec2a7f314bb9",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 3,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "3a787e4c2c604d70",
+ "salt" : "dc64f1fd4705b4e5",
+ "iterationCount" : 4096,
+ "iv" : "579ff2437d6739742421b6e4e70d5c27",
+ "msg" : "4204",
+ "ct" : "631ad5d4560fd99983f15fedcd53d090",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 4,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "2a67656a66296120",
+ "salt" : "4c379a2bd962d19a",
+ "iterationCount" : 4096,
+ "iv" : "5bff9a5e8692229679cbd70fcfdebb74",
+ "msg" : "ceb541",
+ "ct" : "55106767ca94225535d331d20a27b7c5",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 5,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "3b55267d5f4b2d4c",
+ "salt" : "08e041282eed4f00",
+ "iterationCount" : 4096,
+ "iv" : "17c5e988149370694c1b3b8cb0e44225",
+ "msg" : "10d032a7",
+ "ct" : "6cd6844c5304c7af7806e5909947348b",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 6,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "4f317e2e525e517a",
+ "salt" : "bd5c4b6f25a1f6ff",
+ "iterationCount" : 4096,
+ "iv" : "76e5e3eb771a4daec6fabdc0b0793195",
+ "msg" : "29d9f1a701",
+ "ct" : "15f6f8199c2d6f854f88f9549a6587b2",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 7,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "6557766473282375",
+ "salt" : "ea1efbb1c86b0c06",
+ "iterationCount" : 4096,
+ "iv" : "1f186ad98435e90fd7700695c986ef78",
+ "msg" : "6f124d8a8248",
+ "ct" : "fd63482389dd9f78a52b236ef1b3bf1f",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 8,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "543a5f48765a2542",
+ "salt" : "f308bbcca74a2224",
+ "iterationCount" : 4096,
+ "iv" : "26bbbf2e18f06a4524e13bfd1ac00b37",
+ "msg" : "a1163153287dfe",
+ "ct" : "ffcff1597492b80dc28c362b146ca9fe",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 9,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "695a3c642f457a52",
+ "salt" : "7af3b0005c594502",
+ "iterationCount" : 4096,
+ "iv" : "6d9e8ea3d6ed355bf5e65b12995dbf6a",
+ "msg" : "9b29df8b3b9862f4",
+ "ct" : "7d975ecf7a2d056c17b44a9ded8356a8",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 10,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "2a772a233f216e60",
+ "salt" : "172d5f4595c220dd",
+ "iterationCount" : 4096,
+ "iv" : "a5941967d4f6934431bd9951e20a93a6",
+ "msg" : "fe51cf84289221b894",
+ "ct" : "697148a74db19eb689524fb6760ca585",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 11,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "793c43623652216f",
+ "salt" : "d1d722eee2c5ebef",
+ "iterationCount" : 4096,
+ "iv" : "5cfe832947ec659f6847277ec1fab2f9",
+ "msg" : "696eb8b4e6b2015abb91",
+ "ct" : "221f9b63f652aecade1df1498c530cb9",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 12,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "4854515c222a2230",
+ "salt" : "843f5ff28978f214",
+ "iterationCount" : 4096,
+ "iv" : "430b247a435124754c83cc11203f18bd",
+ "msg" : "d8405be7823b472459a2fc",
+ "ct" : "0e7a93183e76ea52a3ce43fc40099398",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 13,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "48682a4d34266b40",
+ "salt" : "783f344a1fa7c9a8",
+ "iterationCount" : 4096,
+ "iv" : "c707947121e5fc2da16990a78772e0ab",
+ "msg" : "56c73b781c1bff72a8ae7faf",
+ "ct" : "88e5f3a43f63571c97faeb3fdb17709c",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 14,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "293a746531294d5c",
+ "salt" : "2c75641f991eb10b",
+ "iterationCount" : 4096,
+ "iv" : "96dabd858e4187d0e50f8299ab60f029",
+ "msg" : "b07e8bbb45e9a17c124f6d5129",
+ "ct" : "d366baee46fe944121d6bcf48f28290f",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 15,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "353377343f482b65",
+ "salt" : "cf1620e7aabb73b7",
+ "iterationCount" : 4096,
+ "iv" : "8e6dd70b1dd1c39d0b8b593c556d812b",
+ "msg" : "ff89eb184de11579cae7d110a350",
+ "ct" : "1343a7f16040c8abf9c556f8286be8b3",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 16,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "614e2d4634335721",
+ "salt" : "6dffc1db31767608",
+ "iterationCount" : 4096,
+ "iv" : "78c899bcdc4cf7d933ddc9016bc6e64e",
+ "msg" : "5e859aac690c85646ffb3f2bbb0d9c",
+ "ct" : "5a41b8a558fb6a9770739ed1a31063b3",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 17,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "6f5330325e22574e",
+ "salt" : "798acc7c76739d75",
+ "iterationCount" : 4096,
+ "iv" : "5bfcfd6d7013eb8828f72455d7535c77",
+ "msg" : "86059dc647ba7d0067099e16c3da8bb6",
+ "ct" : "6caf1ec2596fd2ebfe870d80d60c2107fff5f34bb5b53d03f9a3baff2c1ab8a2",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 18,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "3972245623494f42",
+ "salt" : "da5421f23ac5b5e1",
+ "iterationCount" : 4096,
+ "iv" : "12293114ddb85319240682c1765e4533",
+ "msg" : "fc9349cbd8c277786c888f3254342431a8",
+ "ct" : "89715ee34020dcf3b70dbad667f968df5f417b451d158bb33ea0beb7fd479c15",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 19,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "464d2f76752b4d63",
+ "salt" : "8cfea3c6783cfc41",
+ "iterationCount" : 4096,
+ "iv" : "9c84fe91476ab1c6ed30db9bb7f60280",
+ "msg" : "ad10a3cdef856b0632f7ce200c11f6c569d2",
+ "ct" : "ac0cb346f8fb13b7a8aa6bc6bf91016d5305b8943008f994be6dffb93625d935",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 20,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "7951437c2b6f7079",
+ "salt" : "caada2e55c49492f",
+ "iterationCount" : 4096,
+ "iv" : "3a0185b1423310796b052e9128334b04",
+ "msg" : "be82c331a83dd0c472abc6ae8725d2ba48b3ad",
+ "ct" : "4236da3c217c691a8faf99f9941f05ea70ec85d9922ef8fcc8fb7866ef8daecc",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 21,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "525c2424652a603d",
+ "salt" : "26ea52da49513b47",
+ "iterationCount" : 4096,
+ "iv" : "b9c70ea8599e136a64b2a6733e8ceb40",
+ "msg" : "d964c8b7fac0906c25654186f8d8e74b62dac5ac",
+ "ct" : "156acfa309171fa797805589a4dd5167bc2a6ceb45b5397041f3fb05d7b80abf",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 22,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "6e446161627e6a3d",
+ "salt" : "64c6e216305ac8e5",
+ "iterationCount" : 4096,
+ "iv" : "2e089b050bfcbb214a3904344b25a28d",
+ "msg" : "00bba99a3d64657e16b70ee50c091488661c0af597",
+ "ct" : "1209b702408db55548c3eb4d67acd5edcb60dc5237243a510035a97fdfd38ddc",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 23,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "5b413d39776e3323",
+ "salt" : "33017b20ba4a7af2",
+ "iterationCount" : 4096,
+ "iv" : "6fcf1307b562738a387c75885a7d6bf9",
+ "msg" : "1f6c99446d139e9ea5d46af1667b733eb8748e5e0e18",
+ "ct" : "12407d9277814c11018942b6a6a586e5a7665185840114bbfa0d09bbb507f55c",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 24,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "414838254a683628",
+ "salt" : "127e43a6c714f168",
+ "iterationCount" : 4096,
+ "iv" : "21bb5b1c774409d06067597153422573",
+ "msg" : "773f5e2ebe6ce60683cac6a9e2f0c9663556923582bdec",
+ "ct" : "1eb27cb98dd90281fd156b25c6a37e0add35b9589e96784c406180f301be0250",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 25,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "3c202b435634305d",
+ "salt" : "45f38c6678268b8e",
+ "iterationCount" : 4096,
+ "iv" : "348b3cca3ece503b42b20b2ae690c4eb",
+ "msg" : "8ab193d18b1dec59400822dd0cea7239b3743327488e3d2d",
+ "ct" : "22e7eca25a7eef87d0e8ea6d226cef2e2becdec2f3f79c17d32cfa897f987fc2",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 26,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "6e43225f5832705b",
+ "salt" : "5911a7a49800e204",
+ "iterationCount" : 4096,
+ "iv" : "58b4f658efcf961c4715b0af0b0913b7",
+ "msg" : "b336756c278ab89c0539047824350469b05918446a672b4215",
+ "ct" : "f7603115546ac16dc81ed21296cf4b08c281ca0260cdd3399d9016fa1b0facb5",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 27,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "3f26723264514541",
+ "salt" : "18a9d3dfa74d4024",
+ "iterationCount" : 4096,
+ "iv" : "497fe0d1a8c09aca8d98a11db8621077",
+ "msg" : "6cd40dc20c7103a39b83da1f8c67855b0ffd77c250e1447414a9",
+ "ct" : "787ba6d44ea7435f33daa12e0b4aa1c3a27c30fdc3f759ba30be07641c27b5f5",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 28,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "536d4a3b42714035",
+ "salt" : "9025629f385862f5",
+ "iterationCount" : 4096,
+ "iv" : "575fd9464cc1a36fcd23d7fc4ed304de",
+ "msg" : "40a37fae54940616cd6bb6cefb8f4521895fe9b7593492c2709003",
+ "ct" : "dad65feddb1bdb9d1db18d59ec13956800160174a892d14e1f24a68e07458f29",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 29,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "283d692b21263f41",
+ "salt" : "4f9ca92d54e165d1",
+ "iterationCount" : 4096,
+ "iv" : "402239571eaf6f7162fd4fe620d55948",
+ "msg" : "d47c8c9ec28820d760abfe731e9e9818d34abad20da255cff68fd374",
+ "ct" : "0cdb51fc913786c0a83d4ce74fe7d785855aa4811c945836943dbb5637fc6141",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 30,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "3658665b3a546f47",
+ "salt" : "5ae48edef6811519",
+ "iterationCount" : 4096,
+ "iv" : "2425c2af851d56445c8e11b4529e3287",
+ "msg" : "5892825348e6160fd4f95f0a619a5a41604ee4b21ace4c9f61adf31ebc",
+ "ct" : "7280639b6bbb5556a3ab0946dde0caa11ffa29fbeb73d10361a2418768d6db3a",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 31,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "257d78712275712a",
+ "salt" : "e2a7c16a6fe6a1fc",
+ "iterationCount" : 4096,
+ "iv" : "9dc7a4ff8a5a9d04d1b88c14028092c5",
+ "msg" : "596c0a1b3f9c251c98b15fb077da34c72e415ab9f4f01ac865421a7b89be",
+ "ct" : "b466dcf01de6140480bbc26b06c66f30bd7d3d8a972987c4380d47602115052d",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 32,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "2b75433d3a69566c",
+ "salt" : "a6d0b6f795cbe6a8",
+ "iterationCount" : 4096,
+ "iv" : "5804285758b9e6450148872a11dcc421",
+ "msg" : "18e18b3cb96d6d9ff0730b2ff70ac2be9577a75555554f6c446ed30850c167",
+ "ct" : "1b9286332525bd490ddeebff85473e86b840012595a0f2dcf9e640950006bf64",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 33,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "252b6452647b4520",
+ "salt" : "e817780ed7997728",
+ "iterationCount" : 4096,
+ "iv" : "ff2512297f3fd5aa2b859432b9f53006",
+ "msg" : "8e9b1f95807a3c1bc95027ca72d2ae717b7e9dceac7437fc32a1aad2343ce69e",
+ "ct" : "9265b6c0a5671b806215ba80bdfc7882bd4fd97947f49cb04d73de94bed1e28656248514cdedb4a52aa82e005e58478a",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 34,
+ "comment" : "password contains only ASCII characters",
+ "flags" : [
+ "Ascii"
+ ],
+ "password" : "4b2d6c600e66535c7f3d6d6c",
+ "salt" : "7a4c02db8bd8fcc2",
+ "iterationCount" : 4096,
+ "iv" : "d62747fca1a7dfbee90597b3f57fffa2",
+ "msg" : "52dd188a4585bbaa85ced8d529d880b3",
+ "ct" : "1d0599725723eaf31f0e94642e7dc7038223e9dc20015f71544257419aebd3f3",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 35,
+ "comment" : "password contains only ASCII characters",
+ "flags" : [
+ "Ascii"
+ ],
+ "password" : "706614257f522b6315345f7c",
+ "salt" : "94ef44b92e15fa35",
+ "iterationCount" : 4096,
+ "iv" : "c489480ee8a00898f3151317c2c614b9",
+ "msg" : "9cb42f3f2992357a7beeedfa37653f4d41",
+ "ct" : "17d1a632b9d54d707f5304f3d880f508278472dc8aa6424a9feceff4c5f67bad",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 36,
+ "comment" : "password contains only ASCII characters",
+ "flags" : [
+ "Ascii"
+ ],
+ "password" : "1f4b7b354903545f2b07720b",
+ "salt" : "62f91ea01f3a18aa2f122bd15c4a615b",
+ "iterationCount" : 4096,
+ "iv" : "05d867eae06fbfd2efda349bc3dcd473",
+ "msg" : "64f33addb1e1671f867e96a3e8339ecd",
+ "ct" : "4755c96366bb8c6b82a4cc26ed159b77632a27eb29206f61821e29f38d62c346",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 37,
+ "comment" : "password contains only ASCII characters",
+ "flags" : [
+ "Ascii"
+ ],
+ "password" : "1e2e16140e4a4d19251b6f5f",
+ "salt" : "bdf156b4d87a5e07cd9481b3d136887c",
+ "iterationCount" : 4096,
+ "iv" : "b64e4b7176cfafe46235e8b32b2508e6",
+ "msg" : "9b31b854ff09e4cdd28b817fb2f2cdb6c9",
+ "ct" : "885f7c18d2c40daaf65c3b37cf084d2cb9ef8c32dd2d21a40b58860c9661c013",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 38,
+ "comment" : "password contains only ASCII characters",
+ "flags" : [
+ "Ascii"
+ ],
+ "password" : "15296b0933473119180f3c0645202d5221633803",
+ "salt" : "d7412e4137fc4410",
+ "iterationCount" : 4096,
+ "iv" : "d227c8c98a652788944977f9bc73a20d",
+ "msg" : "86159d5e3b903a51a833ce561f39ae0a",
+ "ct" : "3062a5e37f824de61712316da54b7a451c3da411641efcdf6be500cfd3f0c2ef",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 39,
+ "comment" : "password contains only ASCII characters",
+ "flags" : [
+ "Ascii"
+ ],
+ "password" : "00017e1e176769476d2433302f3506590e632a0c",
+ "salt" : "28c1759d783256fd",
+ "iterationCount" : 4096,
+ "iv" : "cf23a38fef611880acf9107ffa9e29a8",
+ "msg" : "79532d85a40aa575377172611dd4f0047c",
+ "ct" : "69a5f0de8406cd86fa7d9b2a7aee7a12123ee281ad3a2f77ac6371be7148029d",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 40,
+ "comment" : "password contains only ASCII characters",
+ "flags" : [
+ "Ascii"
+ ],
+ "password" : "7a106c2773542c791d2f0a02632b69644f666278",
+ "salt" : "a36350db68186d747254bd9835219487",
+ "iterationCount" : 4096,
+ "iv" : "568af67455f416a63d3ced652c32a74d",
+ "msg" : "96687d00d01854bbc2151ed4fdec8732",
+ "ct" : "2124132db37348ac2a83e350fd207702d98c52411a2f2be4e176fdd71d526bd5",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 41,
+ "comment" : "password contains only ASCII characters",
+ "flags" : [
+ "Ascii"
+ ],
+ "password" : "350e2f050d444c09374977205a6b063736373067",
+ "salt" : "3cadfed36847faa4af545c426b7bcbc5",
+ "iterationCount" : 4096,
+ "iv" : "1ee0658f81c645721618de5849c3baf1",
+ "msg" : "89e4167cba0f8ca3a4b1640b023612d963",
+ "ct" : "23e173b50e152167a39c116a30635633ca777b3e3b9d3707ba48c4f5b6500144",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 42,
+ "comment" : "password is a valid UTF-8 encoding",
+ "flags" : [
+ "Utf8"
+ ],
+ "password" : "d0a3d1bed38acc83",
+ "salt" : "8dfae85c9f2072ae",
+ "iterationCount" : 4096,
+ "iv" : "13a77b4b2eb10b260ac889b432d7af1c",
+ "msg" : "41a21ec6f04859724a1dfcdcf85e6c3a",
+ "ct" : "4632d377f5c2da3281b42f98af91a7cdb07a588a32ed191b25521997552e2f8b",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 43,
+ "comment" : "password is a valid UTF-8 encoding",
+ "flags" : [
+ "Utf8"
+ ],
+ "password" : "d4b8cbbcc49bd9b6",
+ "salt" : "657a212f745924eb",
+ "iterationCount" : 4096,
+ "iv" : "6529f3dc9f0197e2f5c6e889b1b6097f",
+ "msg" : "231765341c414e93ec399b804a79a65dfc",
+ "ct" : "c0ed28656ca9e28813260b1f864a107b0e1f875c195d2352956e2c4ab83a348a",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 44,
+ "comment" : "password is a valid UTF-8 encoding",
+ "flags" : [
+ "Utf8"
+ ],
+ "password" : "c299d292cd92dcb8",
+ "salt" : "99c55e182238c8e0c385447685e9ba85",
+ "iterationCount" : 4096,
+ "iv" : "34d4cc26cd871885c8e781d6e8b9ec67",
+ "msg" : "4bf1f98da6113ca66cc18283aedb4cc5",
+ "ct" : "dde130640f3f2eff651039b3a2f96a5845264368d6e8f07625bfed0bfa48fa87",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 45,
+ "comment" : "password is a valid UTF-8 encoding",
+ "flags" : [
+ "Utf8"
+ ],
+ "password" : "da9dd3acdca2df8a",
+ "salt" : "b5413f52391a2ff0fb19563c0b40a445",
+ "iterationCount" : 4096,
+ "iv" : "b4d3b1dbbc034d407ce552e6bc63fee1",
+ "msg" : "e2e81593f6591df708582f4cce0b1c6d78",
+ "ct" : "9ea6df565f9267ab7b2169890676a85a671cef5ae5bfb632b63bf90008d27d21",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 46,
+ "comment" : "password is a valid UTF-8 encoding",
+ "flags" : [
+ "Utf8"
+ ],
+ "password" : "cfbec3b9d7acc7a9d585d1a5c28fcca119",
+ "salt" : "e9c55717a1259a29",
+ "iterationCount" : 4096,
+ "iv" : "cd718713a05183c1aa4bc4c01794b382",
+ "msg" : "1f4425a96b272fc27bcbfda0bb7e0dd8",
+ "ct" : "548648fa2e5aab7323b9f9ea4daa2367b33c20b86a78fb990562f67014afb919",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 47,
+ "comment" : "password is a valid UTF-8 encoding",
+ "flags" : [
+ "Utf8"
+ ],
+ "password" : "d492c59061cd9dd9b8c28fd39fcd9e24",
+ "salt" : "09deec77ec44eb6e",
+ "iterationCount" : 4096,
+ "iv" : "0f958378c10c245540b9ce61d7781fd8",
+ "msg" : "ae209895c5cb179e54649749cdb245b9ce",
+ "ct" : "02d2ff2d1dcbbc232db138c415b96799b996e20c8a189a669067b945694f6523",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 48,
+ "comment" : "password is a valid UTF-8 encoding",
+ "flags" : [
+ "Utf8"
+ ],
+ "password" : "da9dd096cb93db88dbbed495ceaacf853c",
+ "salt" : "200bba668b2010b1968b82091848937c",
+ "iterationCount" : 4096,
+ "iv" : "39d3e787c076007b3c173b75597b08c5",
+ "msg" : "0b4e337297c6cdd5c51f8ee7e633ef8f",
+ "ct" : "35c0772e0a239b0e46d85b5fff5d3991d72d5128c179450ca592a6ea31ae68a1",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 49,
+ "comment" : "password is a valid UTF-8 encoding",
+ "flags" : [
+ "Utf8"
+ ],
+ "password" : "d9aacab7c2a0dbb5d89bc7acde9cceb50c",
+ "salt" : "1d87767829bd386ad2038cea7a0b542f",
+ "iterationCount" : 4096,
+ "iv" : "cfb67f9bb8cfb0e05684fcba195f0f19",
+ "msg" : "a9e289e0a985df90dfe23230c414dcb1fa",
+ "ct" : "c54147a9cb90c9a0238f0fa76544c3cbe8240224c3334149ab8684234383e587",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 50,
+ "comment" : "password is a random byte string",
+ "flags" : [
+ "NonUtf8"
+ ],
+ "password" : "8423ec7ea4ca4b03",
+ "salt" : "8dfae85c9f2072ae",
+ "iterationCount" : 4096,
+ "iv" : "13a77b4b2eb10b260ac889b432d7af1c",
+ "msg" : "41a21ec6f04859724a1dfcdcf85e6c3a",
+ "ct" : "274412e7b48df65163b5c50c0a0d20a8cb76d748d9bce7eb8fab6ade22d990a1",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 51,
+ "comment" : "password is a random byte string",
+ "flags" : [
+ "NonUtf8"
+ ],
+ "password" : "7538a2fc091b6e76",
+ "salt" : "657a212f745924eb",
+ "iterationCount" : 4096,
+ "iv" : "6529f3dc9f0197e2f5c6e889b1b6097f",
+ "msg" : "231765341c414e93ec399b804a79a65dfc",
+ "ct" : "62ed47bc0a59121d62533a14d430f4d71c9cc68192d389d44c718a2aa171f54b",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 52,
+ "comment" : "password is a random byte string",
+ "flags" : [
+ "NonUtf8"
+ ],
+ "password" : "48997492c3528738",
+ "salt" : "99c55e182238c8e0c385447685e9ba85",
+ "iterationCount" : 4096,
+ "iv" : "34d4cc26cd871885c8e781d6e8b9ec67",
+ "msg" : "4bf1f98da6113ca66cc18283aedb4cc5",
+ "ct" : "8874cd4e5f3d9ddd7782bdc0ce65ddd8a9d7f02003d73377a95abcbaf690c0bf",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 53,
+ "comment" : "password is a random byte string",
+ "flags" : [
+ "NonUtf8"
+ ],
+ "password" : "c69d34ec7722ffca",
+ "salt" : "b5413f52391a2ff0fb19563c0b40a445",
+ "iterationCount" : 4096,
+ "iv" : "b4d3b1dbbc034d407ce552e6bc63fee1",
+ "msg" : "e2e81593f6591df708582f4cce0b1c6d78",
+ "ct" : "3aa67b0939e36677b15b42de57492571d00371596711359fa8d503cde11962c2",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 54,
+ "comment" : "password is a random byte string",
+ "flags" : [
+ "NonUtf8"
+ ],
+ "password" : "e3feb0f96dec61e9dd451465f88f132119",
+ "salt" : "e9c55717a1259a29",
+ "iterationCount" : 4096,
+ "iv" : "cd718713a05183c1aa4bc4c01794b382",
+ "msg" : "1f4425a96b272fc27bcbfda0bb7e0dd8",
+ "ct" : "7c76795198792aa8422d01c4556e01874efd0a9496f3a251033f1d77995f9895",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 55,
+ "comment" : "password is a random byte string",
+ "flags" : [
+ "NonUtf8"
+ ],
+ "password" : "ed12a9502061d35d9678188f1cdf135e24",
+ "salt" : "09deec77ec44eb6e",
+ "iterationCount" : 4096,
+ "iv" : "0f958378c10c245540b9ce61d7781fd8",
+ "msg" : "ae209895c5cb179e54649749cdb245b9ce",
+ "ct" : "87169cd0907edfd7a28790cb0d7d4f85203dc70565a6cd1ae292dced59e00767",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 56,
+ "comment" : "password is a random byte string",
+ "flags" : [
+ "NonUtf8"
+ ],
+ "password" : "9e9d7c166ad3bec856fe5d15d3aacbc53c",
+ "salt" : "200bba668b2010b1968b82091848937c",
+ "iterationCount" : 4096,
+ "iv" : "39d3e787c076007b3c173b75597b08c5",
+ "msg" : "0b4e337297c6cdd5c51f8ee7e633ef8f",
+ "ct" : "b379619176dab581c6172d484eef3ef0f5c4c9b7df937ba6520ba5c146dbf33c",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 57,
+ "comment" : "password is a random byte string",
+ "flags" : [
+ "NonUtf8"
+ ],
+ "password" : "466a02b7d8a046f5161b41ecef9cc3b50c",
+ "salt" : "1d87767829bd386ad2038cea7a0b542f",
+ "iterationCount" : 4096,
+ "iv" : "cfb67f9bb8cfb0e05684fcba195f0f19",
+ "msg" : "a9e289e0a985df90dfe23230c414dcb1fa",
+ "ct" : "8944a32c5b580154a0ddd7db3ef769a6af4297951272bb6819e54cb22030e319",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 58,
+ "comment" : "password is an ASCII string encoded as BMPString",
+ "flags" : [
+ "Ascii",
+ "BmpString"
+ ],
+ "password" : "002d0000",
+ "salt" : "66a92292e6db2d9e",
+ "iterationCount" : 4096,
+ "iv" : "7911306933f1131299247a85b585bed8",
+ "msg" : "63219964fd79651fe1be8ad5e90f414c",
+ "ct" : "37f5876d37bb9070d1666fd5cebc8864263590fca113f9591717d2cf07e96b36",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 59,
+ "comment" : "password is an ASCII string encoded as BMPString",
+ "flags" : [
+ "Ascii",
+ "BmpString"
+ ],
+ "password" : "00470000",
+ "salt" : "88abb902385f0efc",
+ "iterationCount" : 4096,
+ "iv" : "109f2c7a8aacc98d0aa176b1b43f2ece",
+ "msg" : "34ce8c499c20714c34506b8e8b87b103d2",
+ "ct" : "1e622b5eb83ed77b494f3804fa70c463c51ff5514554d9d3434b8efa8c7d4a80",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 60,
+ "comment" : "password is an ASCII string encoded as BMPString",
+ "flags" : [
+ "Ascii",
+ "BmpString"
+ ],
+ "password" : "004400640042004d0064006d000100790000",
+ "salt" : "675617aaff664428",
+ "iterationCount" : 4096,
+ "iv" : "c08dd25d3aa04749850301e9b8f8eb28",
+ "msg" : "4f5f5d4d0a21d463419db42fdff6ae6c",
+ "ct" : "7708ca6620abf91f85d2e39e6fd288c4c1ee171c628eb50e0105d07af8001de9",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 61,
+ "comment" : "password is an ASCII string encoded as BMPString",
+ "flags" : [
+ "Ascii",
+ "BmpString"
+ ],
+ "password" : "007400760025002a0012005b005c00610000",
+ "salt" : "957a9ab7ad9fc7de",
+ "iterationCount" : 4096,
+ "iv" : "126081b5c830984abd553ec39b080f39",
+ "msg" : "ede5a5ea322b7972a789bb5af48f384218",
+ "ct" : "86c33520e9046be34ab6d7607ac54219ca78628eb65c3f28e62cea7e15c11c2e",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 62,
+ "comment" : "password is an ASCII string encoded as BMPString",
+ "flags" : [
+ "Ascii",
+ "BmpString"
+ ],
+ "password" : "0023000d00510069001d0077002a0009001200010034004d00520070006100290000",
+ "salt" : "deea2dabe885caf6",
+ "iterationCount" : 4096,
+ "iv" : "698a466cec24214100bb3f30a6820bf7",
+ "msg" : "930b94a70883efd733f63f841dfc3d17",
+ "ct" : "dd72dcfb88b6b0adb4400b021156091007af3889873d6164a88d8eacff5d88be",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 63,
+ "comment" : "password is an ASCII string encoded as BMPString",
+ "flags" : [
+ "Ascii",
+ "BmpString"
+ ],
+ "password" : "007300520057005c005600180030003c004b0050007c004f00020020002600390000",
+ "salt" : "6ed69f23acf64114",
+ "iterationCount" : 4096,
+ "iv" : "59efebfe7a6056507dc17778e5c444c5",
+ "msg" : "538705a997333fc2bf4f44f2bb90f3cd26",
+ "ct" : "d4fc56fa5afd8b875cc797e1d9a921fb85d7a14c9c5b41ab61dab9c465a162de",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 64,
+ "comment" : "password is a BMPString",
+ "flags" : [
+ "NonUtf8",
+ "BmpString"
+ ],
+ "password" : "92ae0000",
+ "salt" : "6978583ea9c24c49",
+ "iterationCount" : 4096,
+ "iv" : "0192ad10599677f253e7dea587373553",
+ "msg" : "c06bcb3b5cd9c1317f5eb7ba50882530",
+ "ct" : "980e41b0d29d9b548735423e71bf759b882d0c62a0bec3719307ed56d3aaeb51",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 65,
+ "comment" : "password is a BMPString",
+ "flags" : [
+ "NonUtf8",
+ "BmpString"
+ ],
+ "password" : "38a90000",
+ "salt" : "c217b8c980fe4698",
+ "iterationCount" : 4096,
+ "iv" : "890a0303475f07189a0fe14b4e509217",
+ "msg" : "1ea8b43513275537d021c0f75849c01840",
+ "ct" : "5d949c51e771a3806fb747e14885aa18254b3498f3eac978f58f4766b7e0583f",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 66,
+ "comment" : "password is a BMPString",
+ "flags" : [
+ "NonUtf8",
+ "BmpString"
+ ],
+ "password" : "4464c2cde4ed81790000",
+ "salt" : "675617aaff664428",
+ "iterationCount" : 4096,
+ "iv" : "c08dd25d3aa04749850301e9b8f8eb28",
+ "msg" : "4f5f5d4d0a21d463419db42fdff6ae6c",
+ "ct" : "facef8660a7d6ee3b583fbbba66a5b0cd0c65e90c5b4626dbd5fc6f52090c63e",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 67,
+ "comment" : "password is a BMPString",
+ "flags" : [
+ "NonUtf8",
+ "BmpString"
+ ],
+ "password" : "f4f6a52a925b00610000",
+ "salt" : "957a9ab7ad9fc7de",
+ "iterationCount" : 4096,
+ "iv" : "126081b5c830984abd553ec39b080f39",
+ "msg" : "ede5a5ea322b7972a789bb5af48f384218",
+ "ct" : "d99c2f7430c7755569bd52fc3d93935718046dc9be99cf3157f656ca5e95baa2",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 68,
+ "comment" : "password is a BMPString",
+ "flags" : [
+ "NonUtf8",
+ "BmpString"
+ ],
+ "password" : "a38d51691d77aa891281b44d52f061a90000",
+ "salt" : "deea2dabe885caf6",
+ "iterationCount" : 4096,
+ "iv" : "698a466cec24214100bb3f30a6820bf7",
+ "msg" : "930b94a70883efd733f63f841dfc3d17",
+ "ct" : "255e94d08f2f871abb5fcb1c5560efaedad2252e4890b2d0c0e4da0753076866",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 69,
+ "comment" : "password is a BMPString",
+ "flags" : [
+ "NonUtf8",
+ "BmpString"
+ ],
+ "password" : "f35257dc5698b0bccbd0fc4f02a026390000",
+ "salt" : "6ed69f23acf64114",
+ "iterationCount" : 4096,
+ "iv" : "59efebfe7a6056507dc17778e5c444c5",
+ "msg" : "538705a997333fc2bf4f44f2bb90f3cd26",
+ "ct" : "8dd31c1309d2e76e81fdb197db7c4145f7cff557dbed4af7b537d4b2760c85a9",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 70,
+ "comment" : "empty password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "",
+ "salt" : "79d4c53a51c41815",
+ "iterationCount" : 4096,
+ "iv" : "a8e86525fa4f365373045533b33902bd",
+ "msg" : "a62c0d9b5bcb932f65058396367673e8",
+ "ct" : "2b5ccbb9533297cbbfc3e4785eea55395489c1e5020f28f0329b2f5b6d7322d2",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 71,
+ "comment" : "empty password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "",
+ "salt" : "65f8fa8b52cd47b0",
+ "iterationCount" : 4096,
+ "iv" : "bfb545e71f39df509870139862965526",
+ "msg" : "a3bae2fae05b77c7673d71901268eed173",
+ "ct" : "621191671c501a0261cdb551d21fc9cca7cdf6384e020423f848dccb75737045",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 72,
+ "comment" : "password is an empty BMPString",
+ "flags" : [
+ "Ascii",
+ "BmpString"
+ ],
+ "password" : "0000",
+ "salt" : "f488f026badc3624",
+ "iterationCount" : 4096,
+ "iv" : "2979c2a734e4cd5da5d9a7e69c3f8b8e",
+ "msg" : "d63088e9bf4e9105bc287f0ab6823af9",
+ "ct" : "90e945989f45288dc85947a9f6627cc69c26a5ff4970b5ff08c083875609ada8",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 73,
+ "comment" : "password is an empty BMPString",
+ "flags" : [
+ "Ascii",
+ "BmpString"
+ ],
+ "password" : "0000",
+ "salt" : "542ada9132800d2c",
+ "iterationCount" : 4096,
+ "iv" : "844635e540de3a85c02f2df9413ff911",
+ "msg" : "08dfdd58aa603d5fc4bdaa9cb24ce82bca",
+ "ct" : "2b710db0adb0c1b76f64c590858d77291fe3ecff6e76c046e542b57eef9e8936",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 74,
+ "comment" : "long password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "61473a5f3441403c4a32204575314b24312d402225634c5653603d52756f247e414c3c2a4e2b3b25704140762170713a272526386448434b462a7a2c75395c725f",
+ "salt" : "80f8e7ac4649fd77",
+ "iterationCount" : 4096,
+ "iv" : "43db6bbe8b43b065bf32cd67c023856f",
+ "msg" : "e443a5541e1c0bd038030f78952195e0",
+ "ct" : "3d89a29be405fdfa0d350476015adce20c3eac2474859bbd6bd067f7891a2fa2",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 75,
+ "comment" : "long password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "7b2e6e6c462a24546c402c525a7e566e613a255c48422f364e51217b343a31253546355430315c2b2f352042385421323f5b47232e495329596c307d4f4153566746523b386023615b4c3f3a757131214d46662965645e44284d2268507a2364312d7568224751254a35273e5b69792773644555323039787e4e525647526a7d74",
+ "salt" : "66b3a75c3d1de7a7",
+ "iterationCount" : 4096,
+ "iv" : "4929fb5d6adc043751411a8165325219",
+ "msg" : "fc5d6ee5b19b873fac6f54160be4d52a",
+ "ct" : "39ea856ff652a97c01182ba846518a268cc3e6e3cfb9cd353a50ffad7098b002",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 76,
+ "comment" : "long password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "2a4235363559523e265f4c2b48685b374e347c4b384347346a513c2251753927742c427d25732e532b4e202648522b395d5763457a705e4b637a5535216e4e4e3a523a5b5e546d7625614e2f3623557e46454d413032515f2c30214971277b23606242283e4b3445426c2e4d7c40346d47777c4e3f6e572e24664a5e286c34775c2f5e3f2960744f644b2d47532c77447a58405e335b7d3a6b5831507b642f392b3638365c4341425e46655f577e31533f41626b6056393e5d32213b716d455d2637762a4c693e6c4b5449383a504e7c5e2d442030735f7d3a56273c497d773f32427b57692f7d61373d29236f6021624b41787e603d70313e5c68334a2b534653",
+ "salt" : "73e6c34cda6b6309",
+ "iterationCount" : 4096,
+ "iv" : "44f36e53ab4a6391acc5565de7358438",
+ "msg" : "309b773bcd825e66bd3117097f536b0e",
+ "ct" : "28d01f1474b3ad1f3f7cbc2a5db20c05ec40a03e0e73ea2ece2d9ac4d6095111",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 77,
+ "comment" : "special case password",
+ "flags" : [
+ "NonUtf8"
+ ],
+ "password" : "ff",
+ "salt" : "330226023aa6c045",
+ "iterationCount" : 4096,
+ "iv" : "c78e1ec445dbe9742d205432712442bf",
+ "msg" : "4b8243aab5cba8be6853eeaa65e3ebb0",
+ "ct" : "6e888dc2093611879028ccdb9bad7a4b27978ce383016499e4eb1e1a75cdbd2f",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 78,
+ "comment" : "special case: truncated UTF-8 string",
+ "flags" : [
+ "NonUtf8"
+ ],
+ "password" : "c0",
+ "salt" : "e19e4f175a64d35a",
+ "iterationCount" : 4096,
+ "iv" : "7545745f8d0bfe38f024371e12008a5f",
+ "msg" : "9e21b64aeff5338eb9bc71b19ef8f8e7",
+ "ct" : "413d5336e5f72e7fb9eae85936b0e2c2342096623dab1c37ab6e060047e10184",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 79,
+ "comment" : "special case: invalid UTF-8 bytes",
+ "flags" : [
+ "NonUtf8"
+ ],
+ "password" : "ffffffffffffffff",
+ "salt" : "1eb37da28a65f626",
+ "iterationCount" : 4096,
+ "iv" : "5e9d991fa22878ac5256759c6c9cb53e",
+ "msg" : "319c92804c5560f840cc5bdace9c925d",
+ "ct" : "d499122f669bf94ff878e89d62d9fbdd2b759adc5ff9c53e1539ada471fd8ea2",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 80,
+ "comment" : "special case: invalid 2 byte UTF-8 code points",
+ "flags" : [
+ "NonUtf8"
+ ],
+ "password" : "c0c0c0c0c0c0c0c0",
+ "salt" : "2017b5e20a7cdbe0",
+ "iterationCount" : 4096,
+ "iv" : "7e42d185cab712e2982ca6ee4c2c61ec",
+ "msg" : "0f5a93c6771fc66aff78996d77421735",
+ "ct" : "84caf12265322e0e9991e28b3b13243650e63a821598b13596bd978e5f19e239",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 81,
+ "comment" : "special case: invalid 3 byte UTF-8 code points",
+ "flags" : [
+ "NonUtf8"
+ ],
+ "password" : "eeeeeeeeeeeeeeee",
+ "salt" : "84301f0aebda104f",
+ "iterationCount" : 4096,
+ "iv" : "4ba655c171677a0dfbc5f6312387c15d",
+ "msg" : "86caabd40a5c738720de173597ea72f6",
+ "ct" : "43f1ff812df71e49a10cb2741e4bd8e64ff3be9aa0ee0eb00a0f78d6294aaef6",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 82,
+ "comment" : "special case: invalid UTF-8 code points",
+ "flags" : [
+ "NonUtf8"
+ ],
+ "password" : "f0f0f0f0f0f0f0f0",
+ "salt" : "64baccfdd4e4b41b",
+ "iterationCount" : 4096,
+ "iv" : "d6b443472d2cf853c0c05f5327faced7",
+ "msg" : "4e0ee09328663637f21410fb8ad057a1",
+ "ct" : "35595d2ff7c5ee837d7ad822d5c883e96e6f899ef5cb626a8bda5d075913b7da",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 83,
+ "comment" : "special case for UTF-16",
+ "flags" : [
+ "NonUtf8"
+ ],
+ "password" : "dbdbdbdbdbdbdbdb",
+ "salt" : "ba21795fffb901bc",
+ "iterationCount" : 4096,
+ "iv" : "753675f249b8c153997a797116495204",
+ "msg" : "706c565ba28370ff433460cc9f8d845a",
+ "ct" : "532ec7681f9ec4adfecb7cada33c6697fbad344e363967428d5f5e50d4f1a105",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 84,
+ "comment" : "special case: long all zero password",
+ "flags" : [
+ "Ascii"
+ ],
+ "password" : "0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
+ "salt" : "22871ffd379d9951",
+ "iterationCount" : 4096,
+ "iv" : "2e949af1052a230e7560d9ae1ce75042",
+ "msg" : "16d1b65deb2d67fc3242792a19d5c227",
+ "ct" : "466dd8287e8e2f2e752ca18944e78978a53147f11a54d9db0560dd92e9a61815",
+ "result" : "valid"
+ }
+ ]
+ }
+ ]
+}
diff --git a/testvectors_v1/pbes2_hmacsha512_aes_256_test.json b/testvectors_v1/pbes2_hmacsha512_aes_256_test.json
new file mode 100644
index 0000000..6aa408c
--- /dev/null
+++ b/testvectors_v1/pbes2_hmacsha512_aes_256_test.json
@@ -0,0 +1,1228 @@
+{
+ "algorithm" : "PbeWithHmacSha512AndAes_256",
+ "schema" : "pbe_test_schema.json",
+ "generatorVersion" : "0.9",
+ "numberOfTests" : 84,
+ "header" : [
+ "Test vector of type PbeTest are used for PBES1 or PBES2."
+ ],
+ "notes" : {
+ "Ascii" : {
+ "bugType" : "FUNCTIONALITY",
+ "description" : "The test vector contains a password consisting of ASCII characters."
+ },
+ "BmpString" : {
+ "bugType" : "FUNCTIONALITY",
+ "description" : "The test vectors contains a password that is a valid BMPString as used in RFC 7292. This RFC uses big endian encoding and a null terminator."
+ },
+ "NonUtf8" : {
+ "bugType" : "FUNCTIONALITY",
+ "description" : "The test vector contains a password that is not a valid UTF-8 string."
+ },
+ "Printable" : {
+ "bugType" : "FUNCTIONALITY",
+ "description" : "The test vector contains a password consisting of printable ASCII characters."
+ },
+ "Utf8" : {
+ "bugType" : "FUNCTIONALITY",
+ "description" : "The test vector contains a password that is a valid UTF-8 string."
+ }
+ },
+ "testGroups" : [
+ {
+ "type" : "PbeTest",
+ "tests" : [
+ {
+ "tcId" : 1,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "7743656734722c30",
+ "salt" : "fcd9a324f025ef40",
+ "iterationCount" : 4096,
+ "iv" : "42f02ff71b8524d1678ab2e34f9e7d47",
+ "msg" : "",
+ "ct" : "f648ef7d8a0c2b2768b5c9cf6006717e",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 2,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "64395f4b48295839",
+ "salt" : "bfb221ba6de64926",
+ "iterationCount" : 4096,
+ "iv" : "7a735848780923657c0c54bc2ff0d9f8",
+ "msg" : "a3",
+ "ct" : "a885a1916ac37563ddd8d3a832eb0d4d",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 3,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "3a787e4c2c604d70",
+ "salt" : "dc64f1fd4705b4e5",
+ "iterationCount" : 4096,
+ "iv" : "579ff2437d6739742421b6e4e70d5c27",
+ "msg" : "4204",
+ "ct" : "7c16b6413a1bdd415c0fae60456ddd08",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 4,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "2a67656a66296120",
+ "salt" : "4c379a2bd962d19a",
+ "iterationCount" : 4096,
+ "iv" : "5bff9a5e8692229679cbd70fcfdebb74",
+ "msg" : "ceb541",
+ "ct" : "8f5ca95165c713fe653b72e43412e541",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 5,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "3b55267d5f4b2d4c",
+ "salt" : "08e041282eed4f00",
+ "iterationCount" : 4096,
+ "iv" : "17c5e988149370694c1b3b8cb0e44225",
+ "msg" : "10d032a7",
+ "ct" : "21abd16dc613383c6d76cd82a5cc4f74",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 6,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "4f317e2e525e517a",
+ "salt" : "bd5c4b6f25a1f6ff",
+ "iterationCount" : 4096,
+ "iv" : "76e5e3eb771a4daec6fabdc0b0793195",
+ "msg" : "29d9f1a701",
+ "ct" : "89b0a3855c1568c0f892e9756e6122e1",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 7,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "6557766473282375",
+ "salt" : "ea1efbb1c86b0c06",
+ "iterationCount" : 4096,
+ "iv" : "1f186ad98435e90fd7700695c986ef78",
+ "msg" : "6f124d8a8248",
+ "ct" : "7441902332a12adf4712bb0a30157d91",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 8,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "543a5f48765a2542",
+ "salt" : "f308bbcca74a2224",
+ "iterationCount" : 4096,
+ "iv" : "26bbbf2e18f06a4524e13bfd1ac00b37",
+ "msg" : "a1163153287dfe",
+ "ct" : "20d687712cbe2cf76ece4b3ff6da8347",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 9,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "695a3c642f457a52",
+ "salt" : "7af3b0005c594502",
+ "iterationCount" : 4096,
+ "iv" : "6d9e8ea3d6ed355bf5e65b12995dbf6a",
+ "msg" : "9b29df8b3b9862f4",
+ "ct" : "f91ff4a42b056950a10927a2f244326f",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 10,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "2a772a233f216e60",
+ "salt" : "172d5f4595c220dd",
+ "iterationCount" : 4096,
+ "iv" : "a5941967d4f6934431bd9951e20a93a6",
+ "msg" : "fe51cf84289221b894",
+ "ct" : "4320220efb698a3102de80b197ca1b47",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 11,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "793c43623652216f",
+ "salt" : "d1d722eee2c5ebef",
+ "iterationCount" : 4096,
+ "iv" : "5cfe832947ec659f6847277ec1fab2f9",
+ "msg" : "696eb8b4e6b2015abb91",
+ "ct" : "e4d57950cbd07c4db6304d222d5ef369",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 12,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "4854515c222a2230",
+ "salt" : "843f5ff28978f214",
+ "iterationCount" : 4096,
+ "iv" : "430b247a435124754c83cc11203f18bd",
+ "msg" : "d8405be7823b472459a2fc",
+ "ct" : "5a77046ff3352b2fa1971fa53b828f19",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 13,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "48682a4d34266b40",
+ "salt" : "783f344a1fa7c9a8",
+ "iterationCount" : 4096,
+ "iv" : "c707947121e5fc2da16990a78772e0ab",
+ "msg" : "56c73b781c1bff72a8ae7faf",
+ "ct" : "6f686196d1201375e166dda1a34f71a1",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 14,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "293a746531294d5c",
+ "salt" : "2c75641f991eb10b",
+ "iterationCount" : 4096,
+ "iv" : "96dabd858e4187d0e50f8299ab60f029",
+ "msg" : "b07e8bbb45e9a17c124f6d5129",
+ "ct" : "48c7e477c175133db7015332c536e630",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 15,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "353377343f482b65",
+ "salt" : "cf1620e7aabb73b7",
+ "iterationCount" : 4096,
+ "iv" : "8e6dd70b1dd1c39d0b8b593c556d812b",
+ "msg" : "ff89eb184de11579cae7d110a350",
+ "ct" : "754d753d346fda78c2f8aa03df026ef5",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 16,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "614e2d4634335721",
+ "salt" : "6dffc1db31767608",
+ "iterationCount" : 4096,
+ "iv" : "78c899bcdc4cf7d933ddc9016bc6e64e",
+ "msg" : "5e859aac690c85646ffb3f2bbb0d9c",
+ "ct" : "f1fc93409435d6ba6f9d350fb64e95da",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 17,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "6f5330325e22574e",
+ "salt" : "798acc7c76739d75",
+ "iterationCount" : 4096,
+ "iv" : "5bfcfd6d7013eb8828f72455d7535c77",
+ "msg" : "86059dc647ba7d0067099e16c3da8bb6",
+ "ct" : "90f6f9113d8b66afb07e1a38dbda901fb23eb2442b98c6e28a082917e8acf53e",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 18,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "3972245623494f42",
+ "salt" : "da5421f23ac5b5e1",
+ "iterationCount" : 4096,
+ "iv" : "12293114ddb85319240682c1765e4533",
+ "msg" : "fc9349cbd8c277786c888f3254342431a8",
+ "ct" : "fa19ba2b6558fe4f9bd25d78aebcfc9f2dc0cc333047499e7cdae1d468582ade",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 19,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "464d2f76752b4d63",
+ "salt" : "8cfea3c6783cfc41",
+ "iterationCount" : 4096,
+ "iv" : "9c84fe91476ab1c6ed30db9bb7f60280",
+ "msg" : "ad10a3cdef856b0632f7ce200c11f6c569d2",
+ "ct" : "f26309366e32d609c610e4bc9f2ea1cdb8014f49453e332fbd47521435a35a43",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 20,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "7951437c2b6f7079",
+ "salt" : "caada2e55c49492f",
+ "iterationCount" : 4096,
+ "iv" : "3a0185b1423310796b052e9128334b04",
+ "msg" : "be82c331a83dd0c472abc6ae8725d2ba48b3ad",
+ "ct" : "4332527f3bc03f099114898b096ec35b3d849c7d9d929a199f953ae7c445ca19",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 21,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "525c2424652a603d",
+ "salt" : "26ea52da49513b47",
+ "iterationCount" : 4096,
+ "iv" : "b9c70ea8599e136a64b2a6733e8ceb40",
+ "msg" : "d964c8b7fac0906c25654186f8d8e74b62dac5ac",
+ "ct" : "3d9499339f094db91e7f0e86514cd8b4d9132ef5e537d22a8edafb6846c46784",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 22,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "6e446161627e6a3d",
+ "salt" : "64c6e216305ac8e5",
+ "iterationCount" : 4096,
+ "iv" : "2e089b050bfcbb214a3904344b25a28d",
+ "msg" : "00bba99a3d64657e16b70ee50c091488661c0af597",
+ "ct" : "4ac6789ee3a14963fb143ba1dae8c91be44b44040c56a4bf3fc7d1dd7fef4524",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 23,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "5b413d39776e3323",
+ "salt" : "33017b20ba4a7af2",
+ "iterationCount" : 4096,
+ "iv" : "6fcf1307b562738a387c75885a7d6bf9",
+ "msg" : "1f6c99446d139e9ea5d46af1667b733eb8748e5e0e18",
+ "ct" : "c46878bd254d79a34e418f0a5694faf3ed9c28129ff7d08401dc88e890957c7a",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 24,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "414838254a683628",
+ "salt" : "127e43a6c714f168",
+ "iterationCount" : 4096,
+ "iv" : "21bb5b1c774409d06067597153422573",
+ "msg" : "773f5e2ebe6ce60683cac6a9e2f0c9663556923582bdec",
+ "ct" : "bad39d5f640f9a18a0ff685d5281a6f95ec5873c8014f7d20751074f18bfbcc3",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 25,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "3c202b435634305d",
+ "salt" : "45f38c6678268b8e",
+ "iterationCount" : 4096,
+ "iv" : "348b3cca3ece503b42b20b2ae690c4eb",
+ "msg" : "8ab193d18b1dec59400822dd0cea7239b3743327488e3d2d",
+ "ct" : "9f9a7be0ea3573e94e67a5213efd44c512fdcff122258d41aae917394563bfdd",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 26,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "6e43225f5832705b",
+ "salt" : "5911a7a49800e204",
+ "iterationCount" : 4096,
+ "iv" : "58b4f658efcf961c4715b0af0b0913b7",
+ "msg" : "b336756c278ab89c0539047824350469b05918446a672b4215",
+ "ct" : "444fed0720e5a2dc7ff4528adba1f2e5729d16afe153f088fdc4dc646feccd6a",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 27,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "3f26723264514541",
+ "salt" : "18a9d3dfa74d4024",
+ "iterationCount" : 4096,
+ "iv" : "497fe0d1a8c09aca8d98a11db8621077",
+ "msg" : "6cd40dc20c7103a39b83da1f8c67855b0ffd77c250e1447414a9",
+ "ct" : "73c863d234f1f72c3b6a2ee33f0c801dd7c485f18552c2864d7e4e3335a1b6fa",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 28,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "536d4a3b42714035",
+ "salt" : "9025629f385862f5",
+ "iterationCount" : 4096,
+ "iv" : "575fd9464cc1a36fcd23d7fc4ed304de",
+ "msg" : "40a37fae54940616cd6bb6cefb8f4521895fe9b7593492c2709003",
+ "ct" : "138568b64dbb785da215a22d71f5590316f1334246d58182f79d2684a2a152f6",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 29,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "283d692b21263f41",
+ "salt" : "4f9ca92d54e165d1",
+ "iterationCount" : 4096,
+ "iv" : "402239571eaf6f7162fd4fe620d55948",
+ "msg" : "d47c8c9ec28820d760abfe731e9e9818d34abad20da255cff68fd374",
+ "ct" : "d1ad3b69841b2b8b9ba98f4ae0d97565f25c8cf46e406aca751272b2de70a4d0",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 30,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "3658665b3a546f47",
+ "salt" : "5ae48edef6811519",
+ "iterationCount" : 4096,
+ "iv" : "2425c2af851d56445c8e11b4529e3287",
+ "msg" : "5892825348e6160fd4f95f0a619a5a41604ee4b21ace4c9f61adf31ebc",
+ "ct" : "ebd40356a8ad3e7551ca5470fff1b3335321c6d1b246c62f42d547e84bb8c761",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 31,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "257d78712275712a",
+ "salt" : "e2a7c16a6fe6a1fc",
+ "iterationCount" : 4096,
+ "iv" : "9dc7a4ff8a5a9d04d1b88c14028092c5",
+ "msg" : "596c0a1b3f9c251c98b15fb077da34c72e415ab9f4f01ac865421a7b89be",
+ "ct" : "c77fc0fb4b3c4a91fa757632e86f32226d24d5e4cbf72b59503a10cf5e392fac",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 32,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "2b75433d3a69566c",
+ "salt" : "a6d0b6f795cbe6a8",
+ "iterationCount" : 4096,
+ "iv" : "5804285758b9e6450148872a11dcc421",
+ "msg" : "18e18b3cb96d6d9ff0730b2ff70ac2be9577a75555554f6c446ed30850c167",
+ "ct" : "9bd8e86b9711139efcfad632dfb97c891023a396e495164cfb31db117382da71",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 33,
+ "comment" : "printable password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "252b6452647b4520",
+ "salt" : "e817780ed7997728",
+ "iterationCount" : 4096,
+ "iv" : "ff2512297f3fd5aa2b859432b9f53006",
+ "msg" : "8e9b1f95807a3c1bc95027ca72d2ae717b7e9dceac7437fc32a1aad2343ce69e",
+ "ct" : "75eada0111b801604de5aed8d629bbae5edc84024ec76192a332c29f8dab377b0206c53a27936a9ca3903a53107d1c02",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 34,
+ "comment" : "password contains only ASCII characters",
+ "flags" : [
+ "Ascii"
+ ],
+ "password" : "4b2d6c600e66535c7f3d6d6c",
+ "salt" : "7a4c02db8bd8fcc2",
+ "iterationCount" : 4096,
+ "iv" : "d62747fca1a7dfbee90597b3f57fffa2",
+ "msg" : "52dd188a4585bbaa85ced8d529d880b3",
+ "ct" : "034b7cf350528142d9ab8911820bd7c0a16fdf370a682b0a280e686ff3c0871e",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 35,
+ "comment" : "password contains only ASCII characters",
+ "flags" : [
+ "Ascii"
+ ],
+ "password" : "706614257f522b6315345f7c",
+ "salt" : "94ef44b92e15fa35",
+ "iterationCount" : 4096,
+ "iv" : "c489480ee8a00898f3151317c2c614b9",
+ "msg" : "9cb42f3f2992357a7beeedfa37653f4d41",
+ "ct" : "e7a96a42ff35a9a223061a914968d45f29832e9b4cb85ae452173a16562bddc3",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 36,
+ "comment" : "password contains only ASCII characters",
+ "flags" : [
+ "Ascii"
+ ],
+ "password" : "1f4b7b354903545f2b07720b",
+ "salt" : "62f91ea01f3a18aa2f122bd15c4a615b",
+ "iterationCount" : 4096,
+ "iv" : "05d867eae06fbfd2efda349bc3dcd473",
+ "msg" : "64f33addb1e1671f867e96a3e8339ecd",
+ "ct" : "eb52c9d714df6de1483b546c176c1f1bbba7b1163a842ca4d3233c469fa69257",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 37,
+ "comment" : "password contains only ASCII characters",
+ "flags" : [
+ "Ascii"
+ ],
+ "password" : "1e2e16140e4a4d19251b6f5f",
+ "salt" : "bdf156b4d87a5e07cd9481b3d136887c",
+ "iterationCount" : 4096,
+ "iv" : "b64e4b7176cfafe46235e8b32b2508e6",
+ "msg" : "9b31b854ff09e4cdd28b817fb2f2cdb6c9",
+ "ct" : "3cbf0196d98c6c369fc8887c7bbcfb0ff7a794662deab0a80cdec8f85ecfdc64",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 38,
+ "comment" : "password contains only ASCII characters",
+ "flags" : [
+ "Ascii"
+ ],
+ "password" : "15296b0933473119180f3c0645202d5221633803",
+ "salt" : "d7412e4137fc4410",
+ "iterationCount" : 4096,
+ "iv" : "d227c8c98a652788944977f9bc73a20d",
+ "msg" : "86159d5e3b903a51a833ce561f39ae0a",
+ "ct" : "1f1d264a75a30d7e5dc9395155aa3b3640832a835835b18429373f0893472388",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 39,
+ "comment" : "password contains only ASCII characters",
+ "flags" : [
+ "Ascii"
+ ],
+ "password" : "00017e1e176769476d2433302f3506590e632a0c",
+ "salt" : "28c1759d783256fd",
+ "iterationCount" : 4096,
+ "iv" : "cf23a38fef611880acf9107ffa9e29a8",
+ "msg" : "79532d85a40aa575377172611dd4f0047c",
+ "ct" : "6c6bccc57c105f5807dff29fb2b7ec9234807c06282d76c4ac5357d2089429c0",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 40,
+ "comment" : "password contains only ASCII characters",
+ "flags" : [
+ "Ascii"
+ ],
+ "password" : "7a106c2773542c791d2f0a02632b69644f666278",
+ "salt" : "a36350db68186d747254bd9835219487",
+ "iterationCount" : 4096,
+ "iv" : "568af67455f416a63d3ced652c32a74d",
+ "msg" : "96687d00d01854bbc2151ed4fdec8732",
+ "ct" : "b69fe5e1f687c31c75cb108709ba78663e84d32a6abc7eeb2d3d3da81fd9d571",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 41,
+ "comment" : "password contains only ASCII characters",
+ "flags" : [
+ "Ascii"
+ ],
+ "password" : "350e2f050d444c09374977205a6b063736373067",
+ "salt" : "3cadfed36847faa4af545c426b7bcbc5",
+ "iterationCount" : 4096,
+ "iv" : "1ee0658f81c645721618de5849c3baf1",
+ "msg" : "89e4167cba0f8ca3a4b1640b023612d963",
+ "ct" : "73b126a94971e36ef870ca9b58089ea076ea1a6ec2e8eeeabe4234ce93e6146b",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 42,
+ "comment" : "password is a valid UTF-8 encoding",
+ "flags" : [
+ "Utf8"
+ ],
+ "password" : "d0a3d1bed38acc83",
+ "salt" : "8dfae85c9f2072ae",
+ "iterationCount" : 4096,
+ "iv" : "13a77b4b2eb10b260ac889b432d7af1c",
+ "msg" : "41a21ec6f04859724a1dfcdcf85e6c3a",
+ "ct" : "e442fba54132f55c58d21b9293966c52b4087d233d168a1b2680711d2f3b7881",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 43,
+ "comment" : "password is a valid UTF-8 encoding",
+ "flags" : [
+ "Utf8"
+ ],
+ "password" : "d4b8cbbcc49bd9b6",
+ "salt" : "657a212f745924eb",
+ "iterationCount" : 4096,
+ "iv" : "6529f3dc9f0197e2f5c6e889b1b6097f",
+ "msg" : "231765341c414e93ec399b804a79a65dfc",
+ "ct" : "87517d1ac631a114ac2fb7c985beb0e210ed43d369c95bd3e046260a48540dec",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 44,
+ "comment" : "password is a valid UTF-8 encoding",
+ "flags" : [
+ "Utf8"
+ ],
+ "password" : "c299d292cd92dcb8",
+ "salt" : "99c55e182238c8e0c385447685e9ba85",
+ "iterationCount" : 4096,
+ "iv" : "34d4cc26cd871885c8e781d6e8b9ec67",
+ "msg" : "4bf1f98da6113ca66cc18283aedb4cc5",
+ "ct" : "9abaa5ff8d7af373098b19367e2ca2a4a3c9c3755a392086e1e4f3f783456d3c",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 45,
+ "comment" : "password is a valid UTF-8 encoding",
+ "flags" : [
+ "Utf8"
+ ],
+ "password" : "da9dd3acdca2df8a",
+ "salt" : "b5413f52391a2ff0fb19563c0b40a445",
+ "iterationCount" : 4096,
+ "iv" : "b4d3b1dbbc034d407ce552e6bc63fee1",
+ "msg" : "e2e81593f6591df708582f4cce0b1c6d78",
+ "ct" : "6f5e0c1bff49b1ef24116f8cdc3bcae6b286cbfec91358f5ca8a6121186d79a7",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 46,
+ "comment" : "password is a valid UTF-8 encoding",
+ "flags" : [
+ "Utf8"
+ ],
+ "password" : "cfbec3b9d7acc7a9d585d1a5c28fcca119",
+ "salt" : "e9c55717a1259a29",
+ "iterationCount" : 4096,
+ "iv" : "cd718713a05183c1aa4bc4c01794b382",
+ "msg" : "1f4425a96b272fc27bcbfda0bb7e0dd8",
+ "ct" : "4a70a3f0836e5b26dc6ff50bdb3c5e55d0606e041503a4fd041c6186c0d309cf",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 47,
+ "comment" : "password is a valid UTF-8 encoding",
+ "flags" : [
+ "Utf8"
+ ],
+ "password" : "d492c59061cd9dd9b8c28fd39fcd9e24",
+ "salt" : "09deec77ec44eb6e",
+ "iterationCount" : 4096,
+ "iv" : "0f958378c10c245540b9ce61d7781fd8",
+ "msg" : "ae209895c5cb179e54649749cdb245b9ce",
+ "ct" : "96378376845a9e5b0fb0b581df29280373af066a94c95cf3c73d653175e35d48",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 48,
+ "comment" : "password is a valid UTF-8 encoding",
+ "flags" : [
+ "Utf8"
+ ],
+ "password" : "da9dd096cb93db88dbbed495ceaacf853c",
+ "salt" : "200bba668b2010b1968b82091848937c",
+ "iterationCount" : 4096,
+ "iv" : "39d3e787c076007b3c173b75597b08c5",
+ "msg" : "0b4e337297c6cdd5c51f8ee7e633ef8f",
+ "ct" : "24f97cccf9c36c72e98665c2ecbe72db8bc99bde37148fe1d647ec514747cb83",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 49,
+ "comment" : "password is a valid UTF-8 encoding",
+ "flags" : [
+ "Utf8"
+ ],
+ "password" : "d9aacab7c2a0dbb5d89bc7acde9cceb50c",
+ "salt" : "1d87767829bd386ad2038cea7a0b542f",
+ "iterationCount" : 4096,
+ "iv" : "cfb67f9bb8cfb0e05684fcba195f0f19",
+ "msg" : "a9e289e0a985df90dfe23230c414dcb1fa",
+ "ct" : "0575abbb2a3f05cb6e2712d67c3456ce9a7d03eedf055c5cc8f408dd65be2ee3",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 50,
+ "comment" : "password is a random byte string",
+ "flags" : [
+ "NonUtf8"
+ ],
+ "password" : "8423ec7ea4ca4b03",
+ "salt" : "8dfae85c9f2072ae",
+ "iterationCount" : 4096,
+ "iv" : "13a77b4b2eb10b260ac889b432d7af1c",
+ "msg" : "41a21ec6f04859724a1dfcdcf85e6c3a",
+ "ct" : "bdd9ac66c710724f245e7a720afbcadde8402ebdd7d33aab21e8bb3520dd60e1",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 51,
+ "comment" : "password is a random byte string",
+ "flags" : [
+ "NonUtf8"
+ ],
+ "password" : "7538a2fc091b6e76",
+ "salt" : "657a212f745924eb",
+ "iterationCount" : 4096,
+ "iv" : "6529f3dc9f0197e2f5c6e889b1b6097f",
+ "msg" : "231765341c414e93ec399b804a79a65dfc",
+ "ct" : "7ca028e45e32e35d2dc01380bacee30794fdab46680cb15d954d16178d1229aa",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 52,
+ "comment" : "password is a random byte string",
+ "flags" : [
+ "NonUtf8"
+ ],
+ "password" : "48997492c3528738",
+ "salt" : "99c55e182238c8e0c385447685e9ba85",
+ "iterationCount" : 4096,
+ "iv" : "34d4cc26cd871885c8e781d6e8b9ec67",
+ "msg" : "4bf1f98da6113ca66cc18283aedb4cc5",
+ "ct" : "fcff8ad26071dac5b23654f7c46398e265e63cd05dbdb948638751829ec1b746",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 53,
+ "comment" : "password is a random byte string",
+ "flags" : [
+ "NonUtf8"
+ ],
+ "password" : "c69d34ec7722ffca",
+ "salt" : "b5413f52391a2ff0fb19563c0b40a445",
+ "iterationCount" : 4096,
+ "iv" : "b4d3b1dbbc034d407ce552e6bc63fee1",
+ "msg" : "e2e81593f6591df708582f4cce0b1c6d78",
+ "ct" : "900d96097f2d8ff82e038b307b210bad707e3bacf3cbaff3ee0272bfefe087d9",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 54,
+ "comment" : "password is a random byte string",
+ "flags" : [
+ "NonUtf8"
+ ],
+ "password" : "e3feb0f96dec61e9dd451465f88f132119",
+ "salt" : "e9c55717a1259a29",
+ "iterationCount" : 4096,
+ "iv" : "cd718713a05183c1aa4bc4c01794b382",
+ "msg" : "1f4425a96b272fc27bcbfda0bb7e0dd8",
+ "ct" : "f23e3fd901069ae31d29c87bff754557301792cfde56b55a622aca1866b9580a",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 55,
+ "comment" : "password is a random byte string",
+ "flags" : [
+ "NonUtf8"
+ ],
+ "password" : "ed12a9502061d35d9678188f1cdf135e24",
+ "salt" : "09deec77ec44eb6e",
+ "iterationCount" : 4096,
+ "iv" : "0f958378c10c245540b9ce61d7781fd8",
+ "msg" : "ae209895c5cb179e54649749cdb245b9ce",
+ "ct" : "abde82ec13b199228d4ce97c769eea1ac848d186b743285da3bc0c186cb9444e",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 56,
+ "comment" : "password is a random byte string",
+ "flags" : [
+ "NonUtf8"
+ ],
+ "password" : "9e9d7c166ad3bec856fe5d15d3aacbc53c",
+ "salt" : "200bba668b2010b1968b82091848937c",
+ "iterationCount" : 4096,
+ "iv" : "39d3e787c076007b3c173b75597b08c5",
+ "msg" : "0b4e337297c6cdd5c51f8ee7e633ef8f",
+ "ct" : "5aae1d3340cf4a41d87cd1a26f130b5591d3d85aadad00811d8676eac0144f7d",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 57,
+ "comment" : "password is a random byte string",
+ "flags" : [
+ "NonUtf8"
+ ],
+ "password" : "466a02b7d8a046f5161b41ecef9cc3b50c",
+ "salt" : "1d87767829bd386ad2038cea7a0b542f",
+ "iterationCount" : 4096,
+ "iv" : "cfb67f9bb8cfb0e05684fcba195f0f19",
+ "msg" : "a9e289e0a985df90dfe23230c414dcb1fa",
+ "ct" : "256c1325d7934122657fd0502f8fcfda69e74aa094fae3008c8beaf93ab32f19",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 58,
+ "comment" : "password is an ASCII string encoded as BMPString",
+ "flags" : [
+ "Ascii",
+ "BmpString"
+ ],
+ "password" : "002d0000",
+ "salt" : "66a92292e6db2d9e",
+ "iterationCount" : 4096,
+ "iv" : "7911306933f1131299247a85b585bed8",
+ "msg" : "63219964fd79651fe1be8ad5e90f414c",
+ "ct" : "bb7c5866e67053918e6b564af840c90dc5da2f4f9ee398451e907cdf37318eb3",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 59,
+ "comment" : "password is an ASCII string encoded as BMPString",
+ "flags" : [
+ "Ascii",
+ "BmpString"
+ ],
+ "password" : "00470000",
+ "salt" : "88abb902385f0efc",
+ "iterationCount" : 4096,
+ "iv" : "109f2c7a8aacc98d0aa176b1b43f2ece",
+ "msg" : "34ce8c499c20714c34506b8e8b87b103d2",
+ "ct" : "a5adefa3fa3c475bca63cf72fb619becd932ba843cba83c341513ef246f23489",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 60,
+ "comment" : "password is an ASCII string encoded as BMPString",
+ "flags" : [
+ "Ascii",
+ "BmpString"
+ ],
+ "password" : "004400640042004d0064006d000100790000",
+ "salt" : "675617aaff664428",
+ "iterationCount" : 4096,
+ "iv" : "c08dd25d3aa04749850301e9b8f8eb28",
+ "msg" : "4f5f5d4d0a21d463419db42fdff6ae6c",
+ "ct" : "747676997c878e16f10f1c55d5cd334d6e45366d5967d2481a88f4aae339305d",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 61,
+ "comment" : "password is an ASCII string encoded as BMPString",
+ "flags" : [
+ "Ascii",
+ "BmpString"
+ ],
+ "password" : "007400760025002a0012005b005c00610000",
+ "salt" : "957a9ab7ad9fc7de",
+ "iterationCount" : 4096,
+ "iv" : "126081b5c830984abd553ec39b080f39",
+ "msg" : "ede5a5ea322b7972a789bb5af48f384218",
+ "ct" : "a1fb0d3a8f201fdfee204105784f3dbaf7b080661e8a57f41ae772692e5188ec",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 62,
+ "comment" : "password is an ASCII string encoded as BMPString",
+ "flags" : [
+ "Ascii",
+ "BmpString"
+ ],
+ "password" : "0023000d00510069001d0077002a0009001200010034004d00520070006100290000",
+ "salt" : "deea2dabe885caf6",
+ "iterationCount" : 4096,
+ "iv" : "698a466cec24214100bb3f30a6820bf7",
+ "msg" : "930b94a70883efd733f63f841dfc3d17",
+ "ct" : "06c679c61b99d0486584ca8b97d7f199752c0f46b0f694b38a33252f3e7d55ed",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 63,
+ "comment" : "password is an ASCII string encoded as BMPString",
+ "flags" : [
+ "Ascii",
+ "BmpString"
+ ],
+ "password" : "007300520057005c005600180030003c004b0050007c004f00020020002600390000",
+ "salt" : "6ed69f23acf64114",
+ "iterationCount" : 4096,
+ "iv" : "59efebfe7a6056507dc17778e5c444c5",
+ "msg" : "538705a997333fc2bf4f44f2bb90f3cd26",
+ "ct" : "36325dde6ed09958dc1377001cf2e277e949c9ed1a98c5fa032f43b532006af6",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 64,
+ "comment" : "password is a BMPString",
+ "flags" : [
+ "NonUtf8",
+ "BmpString"
+ ],
+ "password" : "92ae0000",
+ "salt" : "6978583ea9c24c49",
+ "iterationCount" : 4096,
+ "iv" : "0192ad10599677f253e7dea587373553",
+ "msg" : "c06bcb3b5cd9c1317f5eb7ba50882530",
+ "ct" : "fe55702b764202154a8c1fd98e23f93dc9e5aec9cff0a210dd9049fb0f659434",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 65,
+ "comment" : "password is a BMPString",
+ "flags" : [
+ "NonUtf8",
+ "BmpString"
+ ],
+ "password" : "38a90000",
+ "salt" : "c217b8c980fe4698",
+ "iterationCount" : 4096,
+ "iv" : "890a0303475f07189a0fe14b4e509217",
+ "msg" : "1ea8b43513275537d021c0f75849c01840",
+ "ct" : "00f029ebf9b5859d0e2719b1e15d7aa63a88b48091f1076c342dfa26ca849dd0",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 66,
+ "comment" : "password is a BMPString",
+ "flags" : [
+ "NonUtf8",
+ "BmpString"
+ ],
+ "password" : "4464c2cde4ed81790000",
+ "salt" : "675617aaff664428",
+ "iterationCount" : 4096,
+ "iv" : "c08dd25d3aa04749850301e9b8f8eb28",
+ "msg" : "4f5f5d4d0a21d463419db42fdff6ae6c",
+ "ct" : "1c714d2e1d11da29d917531bf2928e1d90ddd67bc1ca33f73123daa7e05602b7",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 67,
+ "comment" : "password is a BMPString",
+ "flags" : [
+ "NonUtf8",
+ "BmpString"
+ ],
+ "password" : "f4f6a52a925b00610000",
+ "salt" : "957a9ab7ad9fc7de",
+ "iterationCount" : 4096,
+ "iv" : "126081b5c830984abd553ec39b080f39",
+ "msg" : "ede5a5ea322b7972a789bb5af48f384218",
+ "ct" : "e96a71f1725c145f282053b40b9e41dd7e2fe36f241dd4aef8c4360d0a76a772",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 68,
+ "comment" : "password is a BMPString",
+ "flags" : [
+ "NonUtf8",
+ "BmpString"
+ ],
+ "password" : "a38d51691d77aa891281b44d52f061a90000",
+ "salt" : "deea2dabe885caf6",
+ "iterationCount" : 4096,
+ "iv" : "698a466cec24214100bb3f30a6820bf7",
+ "msg" : "930b94a70883efd733f63f841dfc3d17",
+ "ct" : "95796a8c76039924e4d2e32e3b572ba4087d37b2edbc584b0d79d909d55e61fa",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 69,
+ "comment" : "password is a BMPString",
+ "flags" : [
+ "NonUtf8",
+ "BmpString"
+ ],
+ "password" : "f35257dc5698b0bccbd0fc4f02a026390000",
+ "salt" : "6ed69f23acf64114",
+ "iterationCount" : 4096,
+ "iv" : "59efebfe7a6056507dc17778e5c444c5",
+ "msg" : "538705a997333fc2bf4f44f2bb90f3cd26",
+ "ct" : "d4671a72ea0b4ac7439d1238459a6ae2b2ea2d08b0feffc4f1a6de2901ed1004",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 70,
+ "comment" : "empty password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "",
+ "salt" : "79d4c53a51c41815",
+ "iterationCount" : 4096,
+ "iv" : "a8e86525fa4f365373045533b33902bd",
+ "msg" : "a62c0d9b5bcb932f65058396367673e8",
+ "ct" : "48b64fb29ef000d71f91282af6b4bc0d3808a0041d2ba16486bc93600c62f601",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 71,
+ "comment" : "empty password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "",
+ "salt" : "65f8fa8b52cd47b0",
+ "iterationCount" : 4096,
+ "iv" : "bfb545e71f39df509870139862965526",
+ "msg" : "a3bae2fae05b77c7673d71901268eed173",
+ "ct" : "abc10a957fc158c31bc01564e3265ef3b26cacbd30ec9c02bee1206b054de610",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 72,
+ "comment" : "password is an empty BMPString",
+ "flags" : [
+ "Ascii",
+ "BmpString"
+ ],
+ "password" : "0000",
+ "salt" : "f488f026badc3624",
+ "iterationCount" : 4096,
+ "iv" : "2979c2a734e4cd5da5d9a7e69c3f8b8e",
+ "msg" : "d63088e9bf4e9105bc287f0ab6823af9",
+ "ct" : "4f153ea449f8c851f9de6b3e92808d69595f31bfb35046963fc602a8a941f488",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 73,
+ "comment" : "password is an empty BMPString",
+ "flags" : [
+ "Ascii",
+ "BmpString"
+ ],
+ "password" : "0000",
+ "salt" : "542ada9132800d2c",
+ "iterationCount" : 4096,
+ "iv" : "844635e540de3a85c02f2df9413ff911",
+ "msg" : "08dfdd58aa603d5fc4bdaa9cb24ce82bca",
+ "ct" : "18f83db3c007c1d76412a423463592a07e58cf87ec4c7667dc989f0c9b32f389",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 74,
+ "comment" : "long password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "61473a5f3441403c4a32204575314b24312d402225634c5653603d52756f247e414c3c2a4e2b3b25704140762170713a272526386448434b462a7a2c75395c725f",
+ "salt" : "80f8e7ac4649fd77",
+ "iterationCount" : 4096,
+ "iv" : "43db6bbe8b43b065bf32cd67c023856f",
+ "msg" : "e443a5541e1c0bd038030f78952195e0",
+ "ct" : "485e000cfb98bf676cfee6937a6f32c5ecc5cd84240f7784ceb4863b617c3286",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 75,
+ "comment" : "long password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "7b2e6e6c462a24546c402c525a7e566e613a255c48422f364e51217b343a31253546355430315c2b2f352042385421323f5b47232e495329596c307d4f4153566746523b386023615b4c3f3a757131214d46662965645e44284d2268507a2364312d7568224751254a35273e5b69792773644555323039787e4e525647526a7d74",
+ "salt" : "66b3a75c3d1de7a7",
+ "iterationCount" : 4096,
+ "iv" : "4929fb5d6adc043751411a8165325219",
+ "msg" : "fc5d6ee5b19b873fac6f54160be4d52a",
+ "ct" : "f129d519e73c647ad95aaebecf17de1d7ea8b576609996168aefb9c54dc87174",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 76,
+ "comment" : "long password",
+ "flags" : [
+ "Printable"
+ ],
+ "password" : "2a4235363559523e265f4c2b48685b374e347c4b384347346a513c2251753927742c427d25732e532b4e202648522b395d5763457a705e4b637a5535216e4e4e3a523a5b5e546d7625614e2f3623557e46454d413032515f2c30214971277b23606242283e4b3445426c2e4d7c40346d47777c4e3f6e572e24664a5e286c34775c2f5e3f2960744f644b2d47532c77447a58405e335b7d3a6b5831507b642f392b3638365c4341425e46655f577e31533f41626b6056393e5d32213b716d455d2637762a4c693e6c4b5449383a504e7c5e2d442030735f7d3a56273c497d773f32427b57692f7d61373d29236f6021624b41787e603d70313e5c68334a2b534653",
+ "salt" : "73e6c34cda6b6309",
+ "iterationCount" : 4096,
+ "iv" : "44f36e53ab4a6391acc5565de7358438",
+ "msg" : "309b773bcd825e66bd3117097f536b0e",
+ "ct" : "9d33c70c7245f2519dc7ab101049308ace63b6b7d0fef5316c995edc97ac6ebb",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 77,
+ "comment" : "special case password",
+ "flags" : [
+ "NonUtf8"
+ ],
+ "password" : "ff",
+ "salt" : "330226023aa6c045",
+ "iterationCount" : 4096,
+ "iv" : "c78e1ec445dbe9742d205432712442bf",
+ "msg" : "4b8243aab5cba8be6853eeaa65e3ebb0",
+ "ct" : "bff8a3486f865722f4b485d51fab8dc9e7806e8d9316027d82dcd8da3b32e1de",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 78,
+ "comment" : "special case: truncated UTF-8 string",
+ "flags" : [
+ "NonUtf8"
+ ],
+ "password" : "c0",
+ "salt" : "e19e4f175a64d35a",
+ "iterationCount" : 4096,
+ "iv" : "7545745f8d0bfe38f024371e12008a5f",
+ "msg" : "9e21b64aeff5338eb9bc71b19ef8f8e7",
+ "ct" : "98ef193cf91baa60897ba2bdc58eab2e4e4eac659283b61cc43837bc0c74659e",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 79,
+ "comment" : "special case: invalid UTF-8 bytes",
+ "flags" : [
+ "NonUtf8"
+ ],
+ "password" : "ffffffffffffffff",
+ "salt" : "1eb37da28a65f626",
+ "iterationCount" : 4096,
+ "iv" : "5e9d991fa22878ac5256759c6c9cb53e",
+ "msg" : "319c92804c5560f840cc5bdace9c925d",
+ "ct" : "aca7797c83afd682f285da8d679e5d46fe7bb27c19ba6491132ae7b6b2e37514",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 80,
+ "comment" : "special case: invalid 2 byte UTF-8 code points",
+ "flags" : [
+ "NonUtf8"
+ ],
+ "password" : "c0c0c0c0c0c0c0c0",
+ "salt" : "2017b5e20a7cdbe0",
+ "iterationCount" : 4096,
+ "iv" : "7e42d185cab712e2982ca6ee4c2c61ec",
+ "msg" : "0f5a93c6771fc66aff78996d77421735",
+ "ct" : "c34f71c7780359289eeeeb5ef836702cfd2c4c1cd052eb2a607d12c2af6e0608",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 81,
+ "comment" : "special case: invalid 3 byte UTF-8 code points",
+ "flags" : [
+ "NonUtf8"
+ ],
+ "password" : "eeeeeeeeeeeeeeee",
+ "salt" : "84301f0aebda104f",
+ "iterationCount" : 4096,
+ "iv" : "4ba655c171677a0dfbc5f6312387c15d",
+ "msg" : "86caabd40a5c738720de173597ea72f6",
+ "ct" : "1f208b59f25cfae41eb4c60c5ee3e3608b47f87611a16204ef265a099520c0f9",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 82,
+ "comment" : "special case: invalid UTF-8 code points",
+ "flags" : [
+ "NonUtf8"
+ ],
+ "password" : "f0f0f0f0f0f0f0f0",
+ "salt" : "64baccfdd4e4b41b",
+ "iterationCount" : 4096,
+ "iv" : "d6b443472d2cf853c0c05f5327faced7",
+ "msg" : "4e0ee09328663637f21410fb8ad057a1",
+ "ct" : "d28750d9a2673cb615d23e8deeec5058030b3d2e59094a80a11597a618afa1fe",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 83,
+ "comment" : "special case for UTF-16",
+ "flags" : [
+ "NonUtf8"
+ ],
+ "password" : "dbdbdbdbdbdbdbdb",
+ "salt" : "ba21795fffb901bc",
+ "iterationCount" : 4096,
+ "iv" : "753675f249b8c153997a797116495204",
+ "msg" : "706c565ba28370ff433460cc9f8d845a",
+ "ct" : "d7435491c34f88edcfba4626e6778afc2015f6485fc166bfe0510eaba9761884",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 84,
+ "comment" : "special case: long all zero password",
+ "flags" : [
+ "Ascii"
+ ],
+ "password" : "0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
+ "salt" : "22871ffd379d9951",
+ "iterationCount" : 4096,
+ "iv" : "2e949af1052a230e7560d9ae1ce75042",
+ "msg" : "16d1b65deb2d67fc3242792a19d5c227",
+ "ct" : "d892ccce788f5e34000e7cb051d403575a0fa5d4a7b3374dd21b0d881d614ef9",
+ "result" : "valid"
+ }
+ ]
+ }
+ ]
+}
diff --git a/testvectors_v1/pbkdf2_hmacsha1_test.json b/testvectors_v1/pbkdf2_hmacsha1_test.json
new file mode 100644
index 0000000..7119778
--- /dev/null
+++ b/testvectors_v1/pbkdf2_hmacsha1_test.json
@@ -0,0 +1,937 @@
+{
+ "algorithm" : "PBKDF2-HMACSHA1",
+ "schema" : "pbkdf_test_schema.json",
+ "generatorVersion" : "0.9",
+ "numberOfTests" : 64,
+ "header" : [
+ "Test vector of type PbkdfTest are for password based key derivations."
+ ],
+ "notes" : {
+ "Ascii" : {
+ "bugType" : "FUNCTIONALITY",
+ "description" : "The test vector contains a password consisting of ASCII characters."
+ },
+ "LargeIterationCount" : {
+ "bugType" : "FUNCTIONALITY",
+ "description" : "The test vector contains a high iteration count"
+ },
+ "NonUtf8" : {
+ "bugType" : "FUNCTIONALITY",
+ "description" : "The test vector contains a password that is not a valid UTF-8 string."
+ },
+ "Printable" : {
+ "bugType" : "FUNCTIONALITY",
+ "description" : "The test vector contains a password consisting of printable ASCII characters."
+ },
+ "Pseudorandom" : {
+ "bugType" : "BASIC",
+ "description" : "Pseudorandomly generated test vector"
+ },
+ "Rfc6070" : {
+ "bugType" : "BASIC",
+ "description" : "Known test vector from RFC 6070"
+ },
+ "Utf8" : {
+ "bugType" : "FUNCTIONALITY",
+ "description" : "The test vector contains a password that is a valid UTF-8 string."
+ }
+ },
+ "testGroups" : [
+ {
+ "type" : "PbkdfTest",
+ "tests" : [
+ {
+ "tcId" : 1,
+ "comment" : "RFC 6070",
+ "flags" : [
+ "Rfc6070",
+ "Printable"
+ ],
+ "password" : "70617373776f7264",
+ "salt" : "73616c74",
+ "iterationCount" : 1,
+ "dkLen" : 20,
+ "dk" : "0c60c80f961f0e71f3a9b524af6012062fe037a6",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 2,
+ "comment" : "RFC 6070",
+ "flags" : [
+ "Rfc6070",
+ "Printable"
+ ],
+ "password" : "70617373776f7264",
+ "salt" : "73616c74",
+ "iterationCount" : 2,
+ "dkLen" : 20,
+ "dk" : "ea6c014dc72d6f8ccd1ed92ace1d41f0d8de8957",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 3,
+ "comment" : "RFC 6070",
+ "flags" : [
+ "Rfc6070",
+ "Printable"
+ ],
+ "password" : "70617373776f7264",
+ "salt" : "73616c74",
+ "iterationCount" : 4096,
+ "dkLen" : 20,
+ "dk" : "4b007901b765489abead49d926f721d065a429c1",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 4,
+ "comment" : "RFC 6070",
+ "flags" : [
+ "Rfc6070",
+ "LargeIterationCount",
+ "Printable"
+ ],
+ "password" : "70617373776f7264",
+ "salt" : "73616c74",
+ "iterationCount" : 16777216,
+ "dkLen" : 20,
+ "dk" : "eefe3d61cd4da4e4e9945b3d6ba2158c2634e984",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 5,
+ "comment" : "RFC 6070",
+ "flags" : [
+ "Rfc6070",
+ "Printable"
+ ],
+ "password" : "70617373776f726450415353574f524470617373776f7264",
+ "salt" : "73616c7453414c5473616c7453414c5473616c7453414c5473616c7453414c5473616c74",
+ "iterationCount" : 4096,
+ "dkLen" : 25,
+ "dk" : "3d2eec4fe41c849b80c8d83662c0e44a8b291a964cf2f07038",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 6,
+ "comment" : "RFC 6070",
+ "flags" : [
+ "Rfc6070",
+ "Ascii"
+ ],
+ "password" : "7061737300776f7264",
+ "salt" : "7361006c74",
+ "iterationCount" : 4096,
+ "dkLen" : 16,
+ "dk" : "56fa6aa75548099dcc37d7f03425e0c3",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 7,
+ "comment" : "",
+ "flags" : [
+ "Pseudorandom",
+ "Printable"
+ ],
+ "password" : "7130577430643470",
+ "salt" : "798acc7c76739d75",
+ "iterationCount" : 4096,
+ "dkLen" : 16,
+ "dk" : "9ea245e919e491118087fc369142e2ee",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 8,
+ "comment" : "",
+ "flags" : [
+ "Pseudorandom",
+ "Printable"
+ ],
+ "password" : "5a30673349567272",
+ "salt" : "84bbd18de5ec10ff",
+ "iterationCount" : 4096,
+ "dkLen" : 42,
+ "dk" : "b874ff052f517d94eb6cb7edd2ede57a7d96c01eea5dbe4fafc47d6fce32ce28defb14f7980c5ed3ba10",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 9,
+ "comment" : "",
+ "flags" : [
+ "Pseudorandom",
+ "Printable"
+ ],
+ "password" : "7439315572766f47",
+ "salt" : "5d76db9ca0f0bae2",
+ "iterationCount" : 4096,
+ "dkLen" : 65,
+ "dk" : "56799b703ed17b58b9e3ee12c80f93b35b83baa769789c539f7a4cb3e825db5df8c7afed85bb276a01aae0dc78beb492de832b581c7d5b899b184516cf028e90f7",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 10,
+ "comment" : "",
+ "flags" : [
+ "Pseudorandom",
+ "Printable"
+ ],
+ "password" : "6b6f67583748447a",
+ "salt" : "0a8fbd0232a3a7f6e60d6564c92ea35f",
+ "iterationCount" : 4096,
+ "dkLen" : 16,
+ "dk" : "8e7c43f3a3baa0ac7e8e24db0b99ea45",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 11,
+ "comment" : "",
+ "flags" : [
+ "Pseudorandom",
+ "Printable"
+ ],
+ "password" : "4939745242645168",
+ "salt" : "0a3bb93c0de86a174ab005b8089706ab",
+ "iterationCount" : 4096,
+ "dkLen" : 42,
+ "dk" : "ab713dcf744ded086b1b588f570ba0c1876e8737c488a852216add421c2dd70ff3b58e5390c80bbe9103",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 12,
+ "comment" : "",
+ "flags" : [
+ "Pseudorandom",
+ "Printable"
+ ],
+ "password" : "6f4f4d37324f6330",
+ "salt" : "3827c3b6b1e6de7aab096eb75e23610d",
+ "iterationCount" : 4096,
+ "dkLen" : 65,
+ "dk" : "8cd3a480add2dfd8fbfee4f49c55b6b2980955635474c5a795d1d6cdca9e0934797cd5ea797a1cf8cfa7d975a63b3f66855ec6b4a97dde26e49bd149c6259f6f52",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 13,
+ "comment" : "",
+ "flags" : [
+ "Pseudorandom",
+ "Printable"
+ ],
+ "password" : "6761734354484546654d36526f61386349",
+ "salt" : "cac9ae7ef670990e",
+ "iterationCount" : 4096,
+ "dkLen" : 16,
+ "dk" : "5e71edeb8746e5215b0949e0f64a03aa",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 14,
+ "comment" : "",
+ "flags" : [
+ "Pseudorandom",
+ "Printable"
+ ],
+ "password" : "75375330684678774e33586f76707a6551",
+ "salt" : "201b1e277f4ff955",
+ "iterationCount" : 4096,
+ "dkLen" : 42,
+ "dk" : "349d048452b7fc74ae8e7b373925621321ff807968e3ff4d5a31b815ace5b95d07cd868f20f958161c68",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 15,
+ "comment" : "",
+ "flags" : [
+ "Pseudorandom",
+ "Printable"
+ ],
+ "password" : "51524b6a6d6d6b48524462507178696868",
+ "salt" : "e71d6a702d2d54bc",
+ "iterationCount" : 4096,
+ "dkLen" : 65,
+ "dk" : "5c480790477441c254bc89611d52e5cb83fb0e6eb9fe1000344c638dfd134d67d4c633f6fdbb3316dc57115f34b0e9d4186b96023d6d0c6b90da34720731bdad6b",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 16,
+ "comment" : "",
+ "flags" : [
+ "Pseudorandom",
+ "Printable"
+ ],
+ "password" : "3732317a52704b79306b4c6d3862317279",
+ "salt" : "8b9314972ef99ac98b69b6c2ac4247c7",
+ "iterationCount" : 4096,
+ "dkLen" : 16,
+ "dk" : "9edef2939c154b91d359876d41772d79",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 17,
+ "comment" : "",
+ "flags" : [
+ "Pseudorandom",
+ "Printable"
+ ],
+ "password" : "75507078436d7536577a68535030553947",
+ "salt" : "874d7cc9369ff9988642ffe05a7f2153",
+ "iterationCount" : 4096,
+ "dkLen" : 42,
+ "dk" : "69cc4a0b7374717be2312a49cc4768a8e40a360f8637eb475dc125f253a54747edfcb64132ce8097a9ed",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 18,
+ "comment" : "",
+ "flags" : [
+ "Pseudorandom",
+ "Printable"
+ ],
+ "password" : "6f39505350597a445349783365374d7063",
+ "salt" : "1569909588ec25a3afa147cb7fff9fb1",
+ "iterationCount" : 4096,
+ "dkLen" : 65,
+ "dk" : "744a5c9831b81db08874abdc9cd0afd7bc7f11250da19ad6aa61ed02626b1d52dcbf9bbb34dd44c65a8a7973f34244e0e16f27e31ee45c37d84ad1f9465445ddc9",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 19,
+ "comment" : "",
+ "flags" : [
+ "Pseudorandom",
+ "Ascii"
+ ],
+ "password" : "4b2d6c600e66535c7f3d6d6c",
+ "salt" : "7a4c02db8bd8fcc2",
+ "iterationCount" : 4096,
+ "dkLen" : 16,
+ "dk" : "8739361a2fa899f6d5cceba27d4142da",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 20,
+ "comment" : "",
+ "flags" : [
+ "Pseudorandom",
+ "Ascii"
+ ],
+ "password" : "287e74200e6b69285f5f7e00",
+ "salt" : "dddf018487fa4b95",
+ "iterationCount" : 4096,
+ "dkLen" : 42,
+ "dk" : "68a1ad4082c5f45e339ac85e44fbe4368fd604d73030bab4d459e0f7e79a709293a349305bc91ac86de4",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 21,
+ "comment" : "",
+ "flags" : [
+ "Pseudorandom",
+ "Ascii"
+ ],
+ "password" : "0f3b5e220e1c000c2a703a4d",
+ "salt" : "7cf71b19c0daf499",
+ "iterationCount" : 4096,
+ "dkLen" : 65,
+ "dk" : "b58ad2cb772a9eb1bae46afcfc7738a043bcc3ff602071850d3019b8935270dc20a2ee90c5cb8f6c323b49f7477797352b1ba0b7973f6a2652cd2bb319f092f371",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 22,
+ "comment" : "",
+ "flags" : [
+ "Pseudorandom",
+ "Ascii"
+ ],
+ "password" : "1f4b7b354903545f2b07720b",
+ "salt" : "62f91ea01f3a18aa2f122bd15c4a615b",
+ "iterationCount" : 4096,
+ "dkLen" : 16,
+ "dk" : "deea05da06df69c5401517d132678f90",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 23,
+ "comment" : "",
+ "flags" : [
+ "Pseudorandom",
+ "Ascii"
+ ],
+ "password" : "5d7e1f70174b2f616c0d6722",
+ "salt" : "4fb602173327228431dd8d088154c7ec",
+ "iterationCount" : 4096,
+ "dkLen" : 42,
+ "dk" : "05489b534681b9eb74d4bac4caeaa9e7fa5977dca35314b0118f57662b539b016b38c6393c8c75aa419d",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 24,
+ "comment" : "",
+ "flags" : [
+ "Pseudorandom",
+ "Ascii"
+ ],
+ "password" : "2657324e694c6b242b174f1a",
+ "salt" : "3cad67ef1eaf3aaafb5ee372d6b1ecb4",
+ "iterationCount" : 4096,
+ "dkLen" : 65,
+ "dk" : "a175e5aa360bd47b5e0e7d4d7bb29d0e4d5eef89f80e30e5570cb2b21aabdffb37996aee3dfefef1d79d1ec9fa0198276db9ed763770f1127d4d3e0c047037ab0a",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 25,
+ "comment" : "",
+ "flags" : [
+ "Pseudorandom",
+ "Ascii"
+ ],
+ "password" : "15296b0933473119180f3c0645202d5221633803",
+ "salt" : "d7412e4137fc4410",
+ "iterationCount" : 4096,
+ "dkLen" : 16,
+ "dk" : "6033619ba0f6a1c4d2877ab466cc8bca",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 26,
+ "comment" : "",
+ "flags" : [
+ "Pseudorandom",
+ "Ascii"
+ ],
+ "password" : "2a1124361d53464245580130076d6b54001e3d01",
+ "salt" : "7ecaaed1eab03c3f",
+ "iterationCount" : 4096,
+ "dkLen" : 42,
+ "dk" : "2e481954bbb8ac4e330a1d28ea8f736d63a1f760bb58d97a70855ffe8ff9480972c46b645095470a8cda",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 27,
+ "comment" : "",
+ "flags" : [
+ "Pseudorandom",
+ "Ascii"
+ ],
+ "password" : "666252024e18233308430820127e753e6b041f56",
+ "salt" : "756fafa7fac1f019",
+ "iterationCount" : 4096,
+ "dkLen" : 65,
+ "dk" : "95273cd50ba4a4e419b2e3a59d4587291188710912bcab5bf7640deb5f34c9c046f410f4e6b83192a6d36e96b5b8f11a898fb69d1ea6df38614138165c5438ee86",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 28,
+ "comment" : "",
+ "flags" : [
+ "Pseudorandom",
+ "Ascii"
+ ],
+ "password" : "7a106c2773542c791d2f0a02632b69644f666278",
+ "salt" : "a36350db68186d747254bd9835219487",
+ "iterationCount" : 4096,
+ "dkLen" : 16,
+ "dk" : "d206f75207b50786c7571d9a4b21a2a0",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 29,
+ "comment" : "",
+ "flags" : [
+ "Pseudorandom",
+ "Ascii"
+ ],
+ "password" : "0b3c6f070149615b5b461c7f5c3a366a6d375402",
+ "salt" : "42be6c8fcd7858458fb97cece0069524",
+ "iterationCount" : 4096,
+ "dkLen" : 42,
+ "dk" : "6a0ffe5218cde4ec89dad3bc6ff32133c31b86baf45740fdd1313b8b2c525871fce7be5b312999bde78d",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 30,
+ "comment" : "",
+ "flags" : [
+ "Pseudorandom",
+ "Ascii"
+ ],
+ "password" : "5177161d237c1b64426353434113015665344a6c",
+ "salt" : "596dbf5830aa8b00682429883e0b1ed0",
+ "iterationCount" : 4096,
+ "dkLen" : 65,
+ "dk" : "52ec2859141885b77108eade00564a7564c41aa1747af8ef2fee384ada8e82c51743a5005d3ca4f855339837e8ff2e8fe78dcb17904a192591f508c801fc4c8abc",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 31,
+ "comment" : "",
+ "flags" : [
+ "Pseudorandom",
+ "Utf8"
+ ],
+ "password" : "d0a3d1bed38acc83",
+ "salt" : "8dfae85c9f2072ae",
+ "iterationCount" : 4096,
+ "dkLen" : 16,
+ "dk" : "672b655566b8ce79b5e5244b2bb59472",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 32,
+ "comment" : "",
+ "flags" : [
+ "Pseudorandom",
+ "Utf8"
+ ],
+ "password" : "d0bcccab64cf9a",
+ "salt" : "15187b0393d8a441",
+ "iterationCount" : 4096,
+ "dkLen" : 42,
+ "dk" : "b753a37266ffa863239bf199abf0a8eef11c7a40cfc058ea4d46f58353d08a7bffda005327f98db8fd1d",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 33,
+ "comment" : "",
+ "flags" : [
+ "Pseudorandom",
+ "Utf8"
+ ],
+ "password" : "c4bddd8f4ad69d",
+ "salt" : "775bde4bd6e40ddd",
+ "iterationCount" : 4096,
+ "dkLen" : 65,
+ "dk" : "28bffd8c6c6a6231336c3948c5a00510f433be50c1a36ebc2f180ace80feb4914fa35204386c2b6eb41e634951702f6de924bcffaaf4d976c01794c64c6af3d08e",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 34,
+ "comment" : "",
+ "flags" : [
+ "Pseudorandom",
+ "Utf8"
+ ],
+ "password" : "c299d292cd92dcb8",
+ "salt" : "99c55e182238c8e0c385447685e9ba85",
+ "iterationCount" : 4096,
+ "dkLen" : 16,
+ "dk" : "5be67e596d953ede56531b9a66bbe566",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 35,
+ "comment" : "",
+ "flags" : [
+ "Pseudorandom",
+ "Utf8"
+ ],
+ "password" : "d086d0bed193d9b6",
+ "salt" : "42a7aca6a7664f87b405b49d62a074db",
+ "iterationCount" : 4096,
+ "dkLen" : 42,
+ "dk" : "f73504788a1c491bc856cb3ab9b873f07cf1dba837c100997029a206f19169583c8a2c4efe1e2bbca6aa",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 36,
+ "comment" : "",
+ "flags" : [
+ "Pseudorandom",
+ "Utf8"
+ ],
+ "password" : "da8ddcacde86d3b0",
+ "salt" : "f3eb3938f338fe8639813beacd8100a5",
+ "iterationCount" : 4096,
+ "dkLen" : 65,
+ "dk" : "8ad0fc0024268cc557baad39644cbbe03fbc251262a51fb20f5dd2f1b4e14e73f4f53f6912e3a75f69f6ec6a42273411069df812899e4877323351b6056d8f21a2",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 37,
+ "comment" : "",
+ "flags" : [
+ "Pseudorandom",
+ "Utf8"
+ ],
+ "password" : "cfbec3b9d7acc7a9d585d1a5c28fcca119",
+ "salt" : "e9c55717a1259a29",
+ "iterationCount" : 4096,
+ "dkLen" : 16,
+ "dk" : "4a5fdfd0cafdbb8793806299275372dd",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 38,
+ "comment" : "",
+ "flags" : [
+ "Pseudorandom",
+ "Utf8"
+ ],
+ "password" : "d29cd099d197d1b0da9aca8ec2a3daa5c38a",
+ "salt" : "5acc2d76a9f4444c",
+ "iterationCount" : 4096,
+ "dkLen" : 42,
+ "dk" : "0479f3777ab64d13f2b514526b149686347688d824be30e077b2bcd4c05cbca845e3091b00d3b049e721",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 39,
+ "comment" : "",
+ "flags" : [
+ "Pseudorandom",
+ "Utf8"
+ ],
+ "password" : "de89d193d18c75c2b8c6bcd190d198c3a2",
+ "salt" : "c69c3b58917e0975",
+ "iterationCount" : 4096,
+ "dkLen" : 65,
+ "dk" : "7374cbb82049ccfb9271ee9df3dcdcf5f64870f356816e5077f8a5fb0cad52e14df3609814b771bf7d151de23d91584b973bc7fd34ee955a893f904fcfdc9e0215",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 40,
+ "comment" : "",
+ "flags" : [
+ "Pseudorandom",
+ "Utf8"
+ ],
+ "password" : "da9dd096cb93db88dbbed495ceaacf853c",
+ "salt" : "200bba668b2010b1968b82091848937c",
+ "iterationCount" : 4096,
+ "dkLen" : 16,
+ "dk" : "f90c5c5cab441e656c21a259fb83547e",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 41,
+ "comment" : "",
+ "flags" : [
+ "Pseudorandom",
+ "Utf8"
+ ],
+ "password" : "de81d0a6cea9c7b3cbabce9bda90d29f73",
+ "salt" : "36586fdefbe916369412c9f3e6337ddf",
+ "iterationCount" : 4096,
+ "dkLen" : 42,
+ "dk" : "bf873cb5210319562901a01c9fc8521a41b4d0397f774853f2499ec6b6b37490c4a8487523868af2ee3c",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 42,
+ "comment" : "",
+ "flags" : [
+ "Pseudorandom",
+ "Utf8"
+ ],
+ "password" : "d281da97c8a3d8b7ceb9db80dc8dd4a0c3be",
+ "salt" : "ab7c17e3b78fe71e373b0ccb0fc3ccda",
+ "iterationCount" : 4096,
+ "dkLen" : 65,
+ "dk" : "dcd906b27d8cffe87013fbb1557877e21c2bb58fcdec5f94d9a18beb523902c60fc4d63bb78f58cff300309f4d3411e8f524dadeadd956d94c551e3370b55c60b1",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 43,
+ "comment" : "",
+ "flags" : [
+ "Pseudorandom",
+ "NonUtf8"
+ ],
+ "password" : "8423ec7ea4ca4b03",
+ "salt" : "8dfae85c9f2072ae",
+ "iterationCount" : 4096,
+ "dkLen" : 16,
+ "dk" : "5409681bde39075bda761ad33cfd06f8",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 44,
+ "comment" : "",
+ "flags" : [
+ "Pseudorandom",
+ "NonUtf8"
+ ],
+ "password" : "2c3c932bf0648bda",
+ "salt" : "15187b0393d8a441",
+ "iterationCount" : 4096,
+ "dkLen" : 42,
+ "dk" : "357f1e696f62b232b242d6a64b680fb73ccda4cdde09cc7ade62d5a9f828f4ac2f728a687c79a079c4ff",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 45,
+ "comment" : "",
+ "flags" : [
+ "Pseudorandom",
+ "NonUtf8"
+ ],
+ "password" : "393d474fd84a259d",
+ "salt" : "775bde4bd6e40ddd",
+ "iterationCount" : 4096,
+ "dkLen" : 65,
+ "dk" : "e04e777c27b3ab84cd7647751f710fa37f50019f2b1536ae52b3f7893dd9bcd6345fa2e1459501c01dfe65da07dd83ff6e88e211418c88fec36410e6efaaf59240",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 46,
+ "comment" : "",
+ "flags" : [
+ "Pseudorandom",
+ "NonUtf8"
+ ],
+ "password" : "48997492c3528738",
+ "salt" : "99c55e182238c8e0c385447685e9ba85",
+ "iterationCount" : 4096,
+ "dkLen" : 16,
+ "dk" : "1436967f0de829ae653a31c45168525c",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 47,
+ "comment" : "",
+ "flags" : [
+ "Pseudorandom",
+ "NonUtf8"
+ ],
+ "password" : "74064c3ebc53d676",
+ "salt" : "42a7aca6a7664f87b405b49d62a074db",
+ "iterationCount" : 4096,
+ "dkLen" : 42,
+ "dk" : "6b7433a14d6225b5222fb7d5f5dfe674154c075ad83d13dbb274ccf6880f75c7545d35bc6e7bfcfa814b",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 48,
+ "comment" : "",
+ "flags" : [
+ "Pseudorandom",
+ "NonUtf8"
+ ],
+ "password" : "668d4f2c8f86f4f0",
+ "salt" : "f3eb3938f338fe8639813beacd8100a5",
+ "iterationCount" : 4096,
+ "dkLen" : 65,
+ "dk" : "23c9045a0a037f60d0ef0e4058c8a3633714c67e4d3f4637499de4d9c949248bfce2bc7cd6bac4cfe74e9c28a221401d3ea7d99e0b33ca23bcd66ff239d1e8c40d",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 49,
+ "comment" : "",
+ "flags" : [
+ "Pseudorandom",
+ "NonUtf8"
+ ],
+ "password" : "e3feb0f96dec61e9dd451465f88f132119",
+ "salt" : "e9c55717a1259a29",
+ "iterationCount" : 4096,
+ "dkLen" : 16,
+ "dk" : "16ef25c3c98e34147b33a8d33813b13f",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 50,
+ "comment" : "",
+ "flags" : [
+ "Pseudorandom",
+ "NonUtf8"
+ ],
+ "password" : "5c9ca419dc576470269a828e40a3aea5ca",
+ "salt" : "5acc2d76a9f4444c",
+ "iterationCount" : 4096,
+ "dkLen" : 42,
+ "dk" : "fb711258128c94ffbe6c2ecffa8ae50823ec51c71ad512a2c3df0e56ad82403a87cb1b24e4049f56c065",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 51,
+ "comment" : "",
+ "flags" : [
+ "Pseudorandom",
+ "NonUtf8"
+ ],
+ "password" : "bf898453344c6875f0b8b9bc2c50fc58e2",
+ "salt" : "c69c3b58917e0975",
+ "iterationCount" : 4096,
+ "dkLen" : 65,
+ "dk" : "25917d740b0882ba22158b8008ce8c074462c3751413b85e44e86366147c06aa11fa07dd3ee95424d4c8db162cbd164d795e9ddfb2b369b3475c1152c2d3f01b19",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 52,
+ "comment" : "",
+ "flags" : [
+ "Pseudorandom",
+ "NonUtf8"
+ ],
+ "password" : "9e9d7c166ad3bec856fe5d15d3aacbc53c",
+ "salt" : "200bba668b2010b1968b82091848937c",
+ "iterationCount" : 4096,
+ "dkLen" : 16,
+ "dk" : "72a9fed7bf44ed9f3d09a812e14ada47",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 53,
+ "comment" : "",
+ "flags" : [
+ "Pseudorandom",
+ "NonUtf8"
+ ],
+ "password" : "17812c26bba941f3c2ebdb9bb6904c9f73",
+ "salt" : "36586fdefbe916369412c9f3e6337ddf",
+ "iterationCount" : 4096,
+ "dkLen" : 42,
+ "dk" : "65a48055639d90cb775b68926e1ad0bfa164d80c010711da0d1ff6838da9d4a7d1aaf28f3b1994f8c50f",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 54,
+ "comment" : "",
+ "flags" : [
+ "Pseudorandom",
+ "NonUtf8"
+ ],
+ "password" : "6c816697ba2366375bb986c0af0d7d20fe",
+ "salt" : "ab7c17e3b78fe71e373b0ccb0fc3ccda",
+ "iterationCount" : 4096,
+ "dkLen" : 65,
+ "dk" : "17d8c8f2974fbcb8c75109d1660e72fc808aaa96fbd8542a0f51bab2135333e42a5e97c5a96005550aafdba80f78da789d2759e79135a75315baa99f27e8f5f898",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 55,
+ "comment" : "empty password",
+ "flags" : [
+ "Pseudorandom",
+ "Printable"
+ ],
+ "password" : "",
+ "salt" : "1a71e2118c9fbcc9",
+ "iterationCount" : 4096,
+ "dkLen" : 32,
+ "dk" : "93f5d4cf0da5cd8c1f2c71a48a8efebfbda76763c29ca535c5a09e627af5c410",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 56,
+ "comment" : "long password",
+ "flags" : [
+ "Pseudorandom",
+ "Printable"
+ ],
+ "password" : "523249584467597a5a4271363970667a4a714e744b7761545a4544494676766b6a6253417167566e456a6b456b454557504e69383653626a6e376b725764394d67",
+ "salt" : "d26b99043c8ba3a4",
+ "iterationCount" : 4096,
+ "dkLen" : 32,
+ "dk" : "de22ce1289402528225f5e52e00dad82b394f1e593d2fa0fa83185137bef5ed2",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 57,
+ "comment" : "long password",
+ "flags" : [
+ "Pseudorandom",
+ "Printable"
+ ],
+ "password" : "63727a466d396430795463456a6468545758693877674e516f544e6d486e61686f6956317071613133655471477933497531354b4f52516339494c53646756527a45524e6b4463723565676a62584a78426572536a74726b6b674341616a63356243354434706e66743836663754626663666370595a30767354454d4930524178",
+ "salt" : "9266da5b8c102b27",
+ "iterationCount" : 4096,
+ "dkLen" : 32,
+ "dk" : "c80288d20baa94340a79735e9257867b92709568e71355209911d7c4ad484621",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 58,
+ "comment" : "long password",
+ "flags" : [
+ "Pseudorandom",
+ "Printable"
+ ],
+ "password" : "32647a56696e6f45774464656c656257797058314d6f4f685975585a463172514b7a32535a6c307578576377796f3561416e6f42524e7a5044763072513662693742345a34324f50695258534c6859684441643262746f647633744d54424430744b46316e4b655942656565547a70413145434150713942687a4a4c555a67737636754e4b664450333558414d684a486c736a6f5a796b677130624d506265556941796d6f324371586b64524752633876544176684e5a5838536f564d33704e74594a4a7258766975337547583233736a353847723061614a4b45763765796c373248636e6167713474766e533737626d6376676c79536d347370707a65673869",
+ "salt" : "6a06903b78dae6de",
+ "iterationCount" : 4096,
+ "dkLen" : 32,
+ "dk" : "90767f81981d82c053146a0f69f04d3035a675ffc0cbca5f5debdccfbe59aa69",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 59,
+ "comment" : "special case password",
+ "flags" : [
+ "NonUtf8"
+ ],
+ "password" : "ff",
+ "salt" : "32140a66b88e1683",
+ "iterationCount" : 4096,
+ "dkLen" : 16,
+ "dk" : "33d50f1918fd8cc91969b41cf0ac6cb7",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 60,
+ "comment" : "special case password",
+ "flags" : [
+ "NonUtf8"
+ ],
+ "password" : "ffffffffffffffff",
+ "salt" : "8a359634423ed028",
+ "iterationCount" : 4096,
+ "dkLen" : 16,
+ "dk" : "ced7945a9c40448206dc738a462cabe5",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 61,
+ "comment" : "special case password",
+ "flags" : [
+ "NonUtf8"
+ ],
+ "password" : "c0c0c0c0c0c0c0c0",
+ "salt" : "d6f596f170ed2414",
+ "iterationCount" : 4096,
+ "dkLen" : 16,
+ "dk" : "c6d3d7d40940ce6ea88ec034df470722",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 62,
+ "comment" : "special case password",
+ "flags" : [
+ "NonUtf8"
+ ],
+ "password" : "eeeeeeeeeeeeeeee",
+ "salt" : "6b2269425e288d03",
+ "iterationCount" : 4096,
+ "dkLen" : 16,
+ "dk" : "d1dd8d5b7f5e74d628bc656b2c4a7e08",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 63,
+ "comment" : "special case password",
+ "flags" : [
+ "NonUtf8"
+ ],
+ "password" : "f0f0f0f0f0f0f0f0",
+ "salt" : "ebf0b04633711248",
+ "iterationCount" : 4096,
+ "dkLen" : 16,
+ "dk" : "1cf137fbce42e38f531a4f36ff3717e4",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 64,
+ "comment" : "special case password",
+ "flags" : [
+ "Ascii"
+ ],
+ "password" : "0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
+ "salt" : "9de9b71eeb9d9a34",
+ "iterationCount" : 4096,
+ "dkLen" : 16,
+ "dk" : "a7b2fbb97f52f3b5f9006e0f1acf0903",
+ "result" : "valid"
+ }
+ ]
+ }
+ ]
+}
diff --git a/testvectors_v1/pbkdf2_hmacsha224_test.json b/testvectors_v1/pbkdf2_hmacsha224_test.json
new file mode 100644
index 0000000..1b17a24
--- /dev/null
+++ b/testvectors_v1/pbkdf2_hmacsha224_test.json
@@ -0,0 +1,844 @@
+{
+ "algorithm" : "PBKDF2-HMACSHA224",
+ "schema" : "pbkdf_test_schema.json",
+ "generatorVersion" : "0.9",
+ "numberOfTests" : 58,
+ "header" : [
+ "Test vector of type PbkdfTest are for password based key derivations."
+ ],
+ "notes" : {
+ "Ascii" : {
+ "bugType" : "FUNCTIONALITY",
+ "description" : "The test vector contains a password consisting of ASCII characters."
+ },
+ "NonUtf8" : {
+ "bugType" : "FUNCTIONALITY",
+ "description" : "The test vector contains a password that is not a valid UTF-8 string."
+ },
+ "Printable" : {
+ "bugType" : "FUNCTIONALITY",
+ "description" : "The test vector contains a password consisting of printable ASCII characters."
+ },
+ "Pseudorandom" : {
+ "bugType" : "BASIC",
+ "description" : "Pseudorandomly generated test vector"
+ },
+ "Utf8" : {
+ "bugType" : "FUNCTIONALITY",
+ "description" : "The test vector contains a password that is a valid UTF-8 string."
+ }
+ },
+ "testGroups" : [
+ {
+ "type" : "PbkdfTest",
+ "tests" : [
+ {
+ "tcId" : 1,
+ "comment" : "",
+ "flags" : [
+ "Pseudorandom",
+ "Printable"
+ ],
+ "password" : "7130577430643470",
+ "salt" : "798acc7c76739d75",
+ "iterationCount" : 4096,
+ "dkLen" : 16,
+ "dk" : "8ee143d436330d9978192aadd0b94620",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 2,
+ "comment" : "",
+ "flags" : [
+ "Pseudorandom",
+ "Printable"
+ ],
+ "password" : "5a30673349567272",
+ "salt" : "84bbd18de5ec10ff",
+ "iterationCount" : 4096,
+ "dkLen" : 42,
+ "dk" : "9a1f601c9cbdab8d856ca134226400b7bb76e05f832e6dbed7fbbbb8588f350df805442b5978f5640f52",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 3,
+ "comment" : "",
+ "flags" : [
+ "Pseudorandom",
+ "Printable"
+ ],
+ "password" : "7439315572766f47",
+ "salt" : "5d76db9ca0f0bae2",
+ "iterationCount" : 4096,
+ "dkLen" : 65,
+ "dk" : "a2f0f558845aa8fd8c5f7c203a59ddd0d58f1887150c2591c2909233f742748728c1cd68444c8f21d109557ed43ce6e9a1d98334069a6cedda77836fef55ad9ebd",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 4,
+ "comment" : "",
+ "flags" : [
+ "Pseudorandom",
+ "Printable"
+ ],
+ "password" : "6b6f67583748447a",
+ "salt" : "0a8fbd0232a3a7f6e60d6564c92ea35f",
+ "iterationCount" : 4096,
+ "dkLen" : 16,
+ "dk" : "bfd1d1ebc924499214c89c76006da228",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 5,
+ "comment" : "",
+ "flags" : [
+ "Pseudorandom",
+ "Printable"
+ ],
+ "password" : "4939745242645168",
+ "salt" : "0a3bb93c0de86a174ab005b8089706ab",
+ "iterationCount" : 4096,
+ "dkLen" : 42,
+ "dk" : "1fc1f840c5b1810f6f01faefe26c895ae6b9f7207dc7cf1add3aed572eaf12bbbaddfe80db5422d50218",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 6,
+ "comment" : "",
+ "flags" : [
+ "Pseudorandom",
+ "Printable"
+ ],
+ "password" : "6f4f4d37324f6330",
+ "salt" : "3827c3b6b1e6de7aab096eb75e23610d",
+ "iterationCount" : 4096,
+ "dkLen" : 65,
+ "dk" : "7444ff45b60c82af7f14f218361734e42b854fb7c1997d1266240392b6bf297f5a99906aa3c5c0156d03ffae52615f85a21ff45bdcb3ae7e5159db15d257524468",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 7,
+ "comment" : "",
+ "flags" : [
+ "Pseudorandom",
+ "Printable"
+ ],
+ "password" : "6761734354484546654d36526f61386349",
+ "salt" : "cac9ae7ef670990e",
+ "iterationCount" : 4096,
+ "dkLen" : 16,
+ "dk" : "c9448067dc15c12a1550c0b0a0e2a358",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 8,
+ "comment" : "",
+ "flags" : [
+ "Pseudorandom",
+ "Printable"
+ ],
+ "password" : "75375330684678774e33586f76707a6551",
+ "salt" : "201b1e277f4ff955",
+ "iterationCount" : 4096,
+ "dkLen" : 42,
+ "dk" : "2f4159d45782f53fb33dd1369d3aea4e2374ca4527232b6a9556e710850d5029379bf3f304d7deb46a16",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 9,
+ "comment" : "",
+ "flags" : [
+ "Pseudorandom",
+ "Printable"
+ ],
+ "password" : "51524b6a6d6d6b48524462507178696868",
+ "salt" : "e71d6a702d2d54bc",
+ "iterationCount" : 4096,
+ "dkLen" : 65,
+ "dk" : "4d7e0c01e9b1ea0f6a50759994199d9f0044ed9cfc10808ba8412ef2014ef3d2aed990e7a8822e51adca3874fa65e99c7bf73a6f42f75c463d9f865facca832ce3",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 10,
+ "comment" : "",
+ "flags" : [
+ "Pseudorandom",
+ "Printable"
+ ],
+ "password" : "3732317a52704b79306b4c6d3862317279",
+ "salt" : "8b9314972ef99ac98b69b6c2ac4247c7",
+ "iterationCount" : 4096,
+ "dkLen" : 16,
+ "dk" : "1852ac8b5be4deaec864b3067568662a",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 11,
+ "comment" : "",
+ "flags" : [
+ "Pseudorandom",
+ "Printable"
+ ],
+ "password" : "75507078436d7536577a68535030553947",
+ "salt" : "874d7cc9369ff9988642ffe05a7f2153",
+ "iterationCount" : 4096,
+ "dkLen" : 42,
+ "dk" : "8b2f2b1e5fcf522011021c828cf26fb17bdbbe158e8af6998c0decddad9be0b9afb5ed20c66f6bc291aa",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 12,
+ "comment" : "",
+ "flags" : [
+ "Pseudorandom",
+ "Printable"
+ ],
+ "password" : "6f39505350597a445349783365374d7063",
+ "salt" : "1569909588ec25a3afa147cb7fff9fb1",
+ "iterationCount" : 4096,
+ "dkLen" : 65,
+ "dk" : "aefe089d5e9ee63c3523e11bbe71eb450a4018aa4e254ed2b2ed87d05a1b3004d384647b7409c6c757c642377b2dd00d9d08056bf593c39397df746bc6f4d16f9e",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 13,
+ "comment" : "",
+ "flags" : [
+ "Pseudorandom",
+ "Ascii"
+ ],
+ "password" : "4b2d6c600e66535c7f3d6d6c",
+ "salt" : "7a4c02db8bd8fcc2",
+ "iterationCount" : 4096,
+ "dkLen" : 16,
+ "dk" : "c49bf50d62342de453882f039bb24f9c",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 14,
+ "comment" : "",
+ "flags" : [
+ "Pseudorandom",
+ "Ascii"
+ ],
+ "password" : "287e74200e6b69285f5f7e00",
+ "salt" : "dddf018487fa4b95",
+ "iterationCount" : 4096,
+ "dkLen" : 42,
+ "dk" : "b40505833bd98dfbf63887c2a3a01b2b6eaf74f2d84eb2c61dca3e7d71518838a8be7d6a4e523ef5b560",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 15,
+ "comment" : "",
+ "flags" : [
+ "Pseudorandom",
+ "Ascii"
+ ],
+ "password" : "0f3b5e220e1c000c2a703a4d",
+ "salt" : "7cf71b19c0daf499",
+ "iterationCount" : 4096,
+ "dkLen" : 65,
+ "dk" : "98c020d02eeaec4b22a02f868ddf3605b71b5cc6f7100290e52d34a9130b0fa216c642bac79880b6cd1a994c4174ec5eb49b006e9af04d2f287e08947c39a1146c",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 16,
+ "comment" : "",
+ "flags" : [
+ "Pseudorandom",
+ "Ascii"
+ ],
+ "password" : "1f4b7b354903545f2b07720b",
+ "salt" : "62f91ea01f3a18aa2f122bd15c4a615b",
+ "iterationCount" : 4096,
+ "dkLen" : 16,
+ "dk" : "e3d468c8fdd6dc804807a5d95c582fe9",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 17,
+ "comment" : "",
+ "flags" : [
+ "Pseudorandom",
+ "Ascii"
+ ],
+ "password" : "5d7e1f70174b2f616c0d6722",
+ "salt" : "4fb602173327228431dd8d088154c7ec",
+ "iterationCount" : 4096,
+ "dkLen" : 42,
+ "dk" : "8bd0fea27f1cfbfe25ac2984555f8df381368988d9f2dbffc22131dd965753afd1da4a53410557c23506",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 18,
+ "comment" : "",
+ "flags" : [
+ "Pseudorandom",
+ "Ascii"
+ ],
+ "password" : "2657324e694c6b242b174f1a",
+ "salt" : "3cad67ef1eaf3aaafb5ee372d6b1ecb4",
+ "iterationCount" : 4096,
+ "dkLen" : 65,
+ "dk" : "aed6d39875469a31c7ad938fd8851332a63a3dacff2b61884cea25f9e81c5610ca9d1c4f1a1afeb05d55bd9109a12ee0a71219aa40525b8cbe6af98dfd9e2f01d7",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 19,
+ "comment" : "",
+ "flags" : [
+ "Pseudorandom",
+ "Ascii"
+ ],
+ "password" : "15296b0933473119180f3c0645202d5221633803",
+ "salt" : "d7412e4137fc4410",
+ "iterationCount" : 4096,
+ "dkLen" : 16,
+ "dk" : "8d1b5237ed7520cb0027882bd0467f93",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 20,
+ "comment" : "",
+ "flags" : [
+ "Pseudorandom",
+ "Ascii"
+ ],
+ "password" : "2a1124361d53464245580130076d6b54001e3d01",
+ "salt" : "7ecaaed1eab03c3f",
+ "iterationCount" : 4096,
+ "dkLen" : 42,
+ "dk" : "b95ebbc29ead629df25d6533554fbf46647222984c903ff37119b8dacd7aaba8882920de15de74497ed2",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 21,
+ "comment" : "",
+ "flags" : [
+ "Pseudorandom",
+ "Ascii"
+ ],
+ "password" : "666252024e18233308430820127e753e6b041f56",
+ "salt" : "756fafa7fac1f019",
+ "iterationCount" : 4096,
+ "dkLen" : 65,
+ "dk" : "fe93a237dd6d3b8f0b2b7eacfbe7ded7380459b8178442789a1ebedd07ee2a0e19be10cda8408874c74836f50fe91f40d53313a66af23ed3430a6ecddf1385c100",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 22,
+ "comment" : "",
+ "flags" : [
+ "Pseudorandom",
+ "Ascii"
+ ],
+ "password" : "7a106c2773542c791d2f0a02632b69644f666278",
+ "salt" : "a36350db68186d747254bd9835219487",
+ "iterationCount" : 4096,
+ "dkLen" : 16,
+ "dk" : "2ed3182fe79f06c9a596fd490b1c017d",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 23,
+ "comment" : "",
+ "flags" : [
+ "Pseudorandom",
+ "Ascii"
+ ],
+ "password" : "0b3c6f070149615b5b461c7f5c3a366a6d375402",
+ "salt" : "42be6c8fcd7858458fb97cece0069524",
+ "iterationCount" : 4096,
+ "dkLen" : 42,
+ "dk" : "94414d27ac8d70b9bd2f1bd2b118d2e3e1357d2f1b0bd6362860cf4bb147ccacb7fc3368ec510956bf0c",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 24,
+ "comment" : "",
+ "flags" : [
+ "Pseudorandom",
+ "Ascii"
+ ],
+ "password" : "5177161d237c1b64426353434113015665344a6c",
+ "salt" : "596dbf5830aa8b00682429883e0b1ed0",
+ "iterationCount" : 4096,
+ "dkLen" : 65,
+ "dk" : "e7e75e35802873aaab1f30780c20f94e78b170d67b2e4a176021965e625e4627cb3426160fa1d2061c6811f3f72c501fdafe661b694bcb121b51c921574ea2db58",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 25,
+ "comment" : "",
+ "flags" : [
+ "Pseudorandom",
+ "Utf8"
+ ],
+ "password" : "d0a3d1bed38acc83",
+ "salt" : "8dfae85c9f2072ae",
+ "iterationCount" : 4096,
+ "dkLen" : 16,
+ "dk" : "cb040e12e0eea63ad10d001e89919ac6",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 26,
+ "comment" : "",
+ "flags" : [
+ "Pseudorandom",
+ "Utf8"
+ ],
+ "password" : "d0bcccab64cf9a",
+ "salt" : "15187b0393d8a441",
+ "iterationCount" : 4096,
+ "dkLen" : 42,
+ "dk" : "6fce6b09ea9b732ac9c8cde746cde750afd085727c5b6e682de5a7d37e675b00b04793f07b06f42c8b71",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 27,
+ "comment" : "",
+ "flags" : [
+ "Pseudorandom",
+ "Utf8"
+ ],
+ "password" : "c4bddd8f4ad69d",
+ "salt" : "775bde4bd6e40ddd",
+ "iterationCount" : 4096,
+ "dkLen" : 65,
+ "dk" : "8b58d6b6e4713dfab03329c62062a9853773b28c1841f8d30fdb8c6ba784a4670c1597f3e7271dcfdbd92a1ebf568670d4089080ecd5ae2ec9764d9d2ae7a8c9ed",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 28,
+ "comment" : "",
+ "flags" : [
+ "Pseudorandom",
+ "Utf8"
+ ],
+ "password" : "c299d292cd92dcb8",
+ "salt" : "99c55e182238c8e0c385447685e9ba85",
+ "iterationCount" : 4096,
+ "dkLen" : 16,
+ "dk" : "3c7b934589ba433d0da6e397f132616f",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 29,
+ "comment" : "",
+ "flags" : [
+ "Pseudorandom",
+ "Utf8"
+ ],
+ "password" : "d086d0bed193d9b6",
+ "salt" : "42a7aca6a7664f87b405b49d62a074db",
+ "iterationCount" : 4096,
+ "dkLen" : 42,
+ "dk" : "7814fd5d064e12b86cd9e6b61cbb2dca414b1b12e665acc8f6ae7922a5c60113d3fc181457b6733c61da",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 30,
+ "comment" : "",
+ "flags" : [
+ "Pseudorandom",
+ "Utf8"
+ ],
+ "password" : "da8ddcacde86d3b0",
+ "salt" : "f3eb3938f338fe8639813beacd8100a5",
+ "iterationCount" : 4096,
+ "dkLen" : 65,
+ "dk" : "2d631f110b6bc4ea1ee462d6039af2f3ac651c4739f9a246eff02bcbccab7a72a854c1a1f6429c4ee1c0d62e0cf56ee5906f989e8f6ded492a33977f233d5d0a6e",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 31,
+ "comment" : "",
+ "flags" : [
+ "Pseudorandom",
+ "Utf8"
+ ],
+ "password" : "cfbec3b9d7acc7a9d585d1a5c28fcca119",
+ "salt" : "e9c55717a1259a29",
+ "iterationCount" : 4096,
+ "dkLen" : 16,
+ "dk" : "9999bb75024ef114c3e0787500c72aaa",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 32,
+ "comment" : "",
+ "flags" : [
+ "Pseudorandom",
+ "Utf8"
+ ],
+ "password" : "d29cd099d197d1b0da9aca8ec2a3daa5c38a",
+ "salt" : "5acc2d76a9f4444c",
+ "iterationCount" : 4096,
+ "dkLen" : 42,
+ "dk" : "c74a4ace9c8dec9490adccb6bad6f38a7b36ea30553bf032823c42bb9970a986f409e0c6314f4a82406b",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 33,
+ "comment" : "",
+ "flags" : [
+ "Pseudorandom",
+ "Utf8"
+ ],
+ "password" : "de89d193d18c75c2b8c6bcd190d198c3a2",
+ "salt" : "c69c3b58917e0975",
+ "iterationCount" : 4096,
+ "dkLen" : 65,
+ "dk" : "b4baf5e438c7465049535ea5f183ccc01bf412f515e52b5259a6dbde5627193e94d632411ed16d271e119ea80ebf6c19834c1d956cab22aec7337f11662564d026",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 34,
+ "comment" : "",
+ "flags" : [
+ "Pseudorandom",
+ "Utf8"
+ ],
+ "password" : "da9dd096cb93db88dbbed495ceaacf853c",
+ "salt" : "200bba668b2010b1968b82091848937c",
+ "iterationCount" : 4096,
+ "dkLen" : 16,
+ "dk" : "59dd1197e7721f9f3be4cbdd309e4dfd",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 35,
+ "comment" : "",
+ "flags" : [
+ "Pseudorandom",
+ "Utf8"
+ ],
+ "password" : "de81d0a6cea9c7b3cbabce9bda90d29f73",
+ "salt" : "36586fdefbe916369412c9f3e6337ddf",
+ "iterationCount" : 4096,
+ "dkLen" : 42,
+ "dk" : "2699a8ac4728c9535b2c094be58ed578c425f7c479e40946728be29c6ab14d52cc03b602b91199a213fe",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 36,
+ "comment" : "",
+ "flags" : [
+ "Pseudorandom",
+ "Utf8"
+ ],
+ "password" : "d281da97c8a3d8b7ceb9db80dc8dd4a0c3be",
+ "salt" : "ab7c17e3b78fe71e373b0ccb0fc3ccda",
+ "iterationCount" : 4096,
+ "dkLen" : 65,
+ "dk" : "33083fc03d8634cd65c9a5839d7cfdcd6b09cf8c003a90ceeb5e3e58ff719a2e1d8f6cec64506c01d159079cb3335197534830a6725efc30b8667aee805afa1d07",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 37,
+ "comment" : "",
+ "flags" : [
+ "Pseudorandom",
+ "NonUtf8"
+ ],
+ "password" : "8423ec7ea4ca4b03",
+ "salt" : "8dfae85c9f2072ae",
+ "iterationCount" : 4096,
+ "dkLen" : 16,
+ "dk" : "3b84b80b42f43bca914e80164355e852",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 38,
+ "comment" : "",
+ "flags" : [
+ "Pseudorandom",
+ "NonUtf8"
+ ],
+ "password" : "2c3c932bf0648bda",
+ "salt" : "15187b0393d8a441",
+ "iterationCount" : 4096,
+ "dkLen" : 42,
+ "dk" : "7ce297a6d0588e7c9f6d2d75f44b0a8833f074139048aa0f4e4ab384b6776b60ef1a146eeafd2ab57c3e",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 39,
+ "comment" : "",
+ "flags" : [
+ "Pseudorandom",
+ "NonUtf8"
+ ],
+ "password" : "393d474fd84a259d",
+ "salt" : "775bde4bd6e40ddd",
+ "iterationCount" : 4096,
+ "dkLen" : 65,
+ "dk" : "a2320e47599baea5be1c4d5974fbff28d613e7aee0524aac6894e220ae5e168a3d9b9f8998ae4e13342192f682c08a7f3b9461f5c4792c288534765d6aaefae2c7",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 40,
+ "comment" : "",
+ "flags" : [
+ "Pseudorandom",
+ "NonUtf8"
+ ],
+ "password" : "48997492c3528738",
+ "salt" : "99c55e182238c8e0c385447685e9ba85",
+ "iterationCount" : 4096,
+ "dkLen" : 16,
+ "dk" : "a37a0077cd05aa668e786dd304981f9d",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 41,
+ "comment" : "",
+ "flags" : [
+ "Pseudorandom",
+ "NonUtf8"
+ ],
+ "password" : "74064c3ebc53d676",
+ "salt" : "42a7aca6a7664f87b405b49d62a074db",
+ "iterationCount" : 4096,
+ "dkLen" : 42,
+ "dk" : "b35e1def1113955c4f667c6e2eedf363fbdfa88486f8035223b0e1e3eef0399b543a779cf57dc84a0341",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 42,
+ "comment" : "",
+ "flags" : [
+ "Pseudorandom",
+ "NonUtf8"
+ ],
+ "password" : "668d4f2c8f86f4f0",
+ "salt" : "f3eb3938f338fe8639813beacd8100a5",
+ "iterationCount" : 4096,
+ "dkLen" : 65,
+ "dk" : "6c8d13d7925f29cbf6987213e4842a7cde9f03ae8802bad7d493864e5f26144a80347e5a54c3ab2884cacd9aa6d41151afdbf31c0335b5b108c12c8b469386f069",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 43,
+ "comment" : "",
+ "flags" : [
+ "Pseudorandom",
+ "NonUtf8"
+ ],
+ "password" : "e3feb0f96dec61e9dd451465f88f132119",
+ "salt" : "e9c55717a1259a29",
+ "iterationCount" : 4096,
+ "dkLen" : 16,
+ "dk" : "a4078a7899f2adbab5f3451fcb89340a",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 44,
+ "comment" : "",
+ "flags" : [
+ "Pseudorandom",
+ "NonUtf8"
+ ],
+ "password" : "5c9ca419dc576470269a828e40a3aea5ca",
+ "salt" : "5acc2d76a9f4444c",
+ "iterationCount" : 4096,
+ "dkLen" : 42,
+ "dk" : "350c195ddd613de101173c0601ce650d41ee8e09232567536b66abed5f752b72e07a69dea3c01bf71f47",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 45,
+ "comment" : "",
+ "flags" : [
+ "Pseudorandom",
+ "NonUtf8"
+ ],
+ "password" : "bf898453344c6875f0b8b9bc2c50fc58e2",
+ "salt" : "c69c3b58917e0975",
+ "iterationCount" : 4096,
+ "dkLen" : 65,
+ "dk" : "3b9b133ec921e8ea9dc432e688a15bab4217a02b34535f6aeecc3ab53b255e7bf8ec55a21ccc075fdc9b46c6ebefb1d638a8aa7a59f23d397ced4c8bf9946fa31a",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 46,
+ "comment" : "",
+ "flags" : [
+ "Pseudorandom",
+ "NonUtf8"
+ ],
+ "password" : "9e9d7c166ad3bec856fe5d15d3aacbc53c",
+ "salt" : "200bba668b2010b1968b82091848937c",
+ "iterationCount" : 4096,
+ "dkLen" : 16,
+ "dk" : "28ffe8e4266995d04219ae8d8ed8ccfc",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 47,
+ "comment" : "",
+ "flags" : [
+ "Pseudorandom",
+ "NonUtf8"
+ ],
+ "password" : "17812c26bba941f3c2ebdb9bb6904c9f73",
+ "salt" : "36586fdefbe916369412c9f3e6337ddf",
+ "iterationCount" : 4096,
+ "dkLen" : 42,
+ "dk" : "ae47a0c8b42de24c2198ac5835c40197b7ca16039e35d696757ff9e5c726f3438ea6643bf9b305ec6d9c",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 48,
+ "comment" : "",
+ "flags" : [
+ "Pseudorandom",
+ "NonUtf8"
+ ],
+ "password" : "6c816697ba2366375bb986c0af0d7d20fe",
+ "salt" : "ab7c17e3b78fe71e373b0ccb0fc3ccda",
+ "iterationCount" : 4096,
+ "dkLen" : 65,
+ "dk" : "55177ff79ba5c91d166676c501298e04697c3aa1d74a6d5d0083885836235b3d1de8b92cfe45a7565aae340389f6fe2954ff8bd2c6385feb07ca66fbdb3e6c60e6",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 49,
+ "comment" : "empty password",
+ "flags" : [
+ "Pseudorandom",
+ "Printable"
+ ],
+ "password" : "",
+ "salt" : "1a71e2118c9fbcc9",
+ "iterationCount" : 4096,
+ "dkLen" : 32,
+ "dk" : "07ac722bd16e1c4172d8603276a9e0fa7cf2e571afa7ff758ab00a078716e92a",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 50,
+ "comment" : "long password",
+ "flags" : [
+ "Pseudorandom",
+ "Printable"
+ ],
+ "password" : "523249584467597a5a4271363970667a4a714e744b7761545a4544494676766b6a6253417167566e456a6b456b454557504e69383653626a6e376b725764394d67",
+ "salt" : "d26b99043c8ba3a4",
+ "iterationCount" : 4096,
+ "dkLen" : 32,
+ "dk" : "b6222d1ed0a2de7cf974f5781107f2945efce5bae3593df6e4fefd56dbd0708a",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 51,
+ "comment" : "long password",
+ "flags" : [
+ "Pseudorandom",
+ "Printable"
+ ],
+ "password" : "63727a466d396430795463456a6468545758693877674e516f544e6d486e61686f6956317071613133655471477933497531354b4f52516339494c53646756527a45524e6b4463723565676a62584a78426572536a74726b6b674341616a63356243354434706e66743836663754626663666370595a30767354454d4930524178",
+ "salt" : "9266da5b8c102b27",
+ "iterationCount" : 4096,
+ "dkLen" : 32,
+ "dk" : "784299cb3c35493271eb7d454afccc6badb739df38ddc7063a5d7b89711e4557",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 52,
+ "comment" : "long password",
+ "flags" : [
+ "Pseudorandom",
+ "Printable"
+ ],
+ "password" : "32647a56696e6f45774464656c656257797058314d6f4f685975585a463172514b7a32535a6c307578576377796f3561416e6f42524e7a5044763072513662693742345a34324f50695258534c6859684441643262746f647633744d54424430744b46316e4b655942656565547a70413145434150713942687a4a4c555a67737636754e4b664450333558414d684a486c736a6f5a796b677130624d506265556941796d6f324371586b64524752633876544176684e5a5838536f564d33704e74594a4a7258766975337547583233736a353847723061614a4b45763765796c373248636e6167713474766e533737626d6376676c79536d347370707a65673869",
+ "salt" : "6a06903b78dae6de",
+ "iterationCount" : 4096,
+ "dkLen" : 32,
+ "dk" : "b7bfe6935e410bf32d784c62286a27c1a2cf2f62aaf24d8c3cd37e530975208f",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 53,
+ "comment" : "special case password",
+ "flags" : [
+ "NonUtf8"
+ ],
+ "password" : "ff",
+ "salt" : "32140a66b88e1683",
+ "iterationCount" : 4096,
+ "dkLen" : 16,
+ "dk" : "faeec67a6a2412e6358bbcf94fd38ded",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 54,
+ "comment" : "special case password",
+ "flags" : [
+ "NonUtf8"
+ ],
+ "password" : "ffffffffffffffff",
+ "salt" : "8a359634423ed028",
+ "iterationCount" : 4096,
+ "dkLen" : 16,
+ "dk" : "fb035bae860781afee4d914470ea4850",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 55,
+ "comment" : "special case password",
+ "flags" : [
+ "NonUtf8"
+ ],
+ "password" : "c0c0c0c0c0c0c0c0",
+ "salt" : "d6f596f170ed2414",
+ "iterationCount" : 4096,
+ "dkLen" : 16,
+ "dk" : "fd42b834d6972af4605a86838471ad82",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 56,
+ "comment" : "special case password",
+ "flags" : [
+ "NonUtf8"
+ ],
+ "password" : "eeeeeeeeeeeeeeee",
+ "salt" : "6b2269425e288d03",
+ "iterationCount" : 4096,
+ "dkLen" : 16,
+ "dk" : "3f57172c4cc4da1ccbd022f84c7b82a8",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 57,
+ "comment" : "special case password",
+ "flags" : [
+ "NonUtf8"
+ ],
+ "password" : "f0f0f0f0f0f0f0f0",
+ "salt" : "ebf0b04633711248",
+ "iterationCount" : 4096,
+ "dkLen" : 16,
+ "dk" : "645e34ea3e1a8dc4aaf2ffb1f970c3ee",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 58,
+ "comment" : "special case password",
+ "flags" : [
+ "Ascii"
+ ],
+ "password" : "0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
+ "salt" : "9de9b71eeb9d9a34",
+ "iterationCount" : 4096,
+ "dkLen" : 16,
+ "dk" : "54fdb38a5a46c597866bdb22b0bdd7b0",
+ "result" : "valid"
+ }
+ ]
+ }
+ ]
+}
diff --git a/testvectors_v1/pbkdf2_hmacsha256_test.json b/testvectors_v1/pbkdf2_hmacsha256_test.json
new file mode 100644
index 0000000..f3f4694
--- /dev/null
+++ b/testvectors_v1/pbkdf2_hmacsha256_test.json
@@ -0,0 +1,876 @@
+{
+ "algorithm" : "PBKDF2-HMACSHA256",
+ "schema" : "pbkdf_test_schema.json",
+ "generatorVersion" : "0.9",
+ "numberOfTests" : 60,
+ "header" : [
+ "Test vector of type PbkdfTest are for password based key derivations."
+ ],
+ "notes" : {
+ "Ascii" : {
+ "bugType" : "FUNCTIONALITY",
+ "description" : "The test vector contains a password consisting of ASCII characters."
+ },
+ "NonUtf8" : {
+ "bugType" : "FUNCTIONALITY",
+ "description" : "The test vector contains a password that is not a valid UTF-8 string."
+ },
+ "Printable" : {
+ "bugType" : "FUNCTIONALITY",
+ "description" : "The test vector contains a password consisting of printable ASCII characters."
+ },
+ "Pseudorandom" : {
+ "bugType" : "BASIC",
+ "description" : "Pseudorandomly generated test vector"
+ },
+ "Rfc7914" : {
+ "bugType" : "BASIC",
+ "description" : "Known test vector from RFC 7914"
+ },
+ "Utf8" : {
+ "bugType" : "FUNCTIONALITY",
+ "description" : "The test vector contains a password that is a valid UTF-8 string."
+ }
+ },
+ "testGroups" : [
+ {
+ "type" : "PbkdfTest",
+ "tests" : [
+ {
+ "tcId" : 1,
+ "comment" : "RFC 7914",
+ "flags" : [
+ "Rfc7914",
+ "Printable"
+ ],
+ "password" : "706173737764",
+ "salt" : "73616c74",
+ "iterationCount" : 1,
+ "dkLen" : 64,
+ "dk" : "55ac046e56e3089fec1691c22544b605f94185216dde0465e68b9d57c20dacbc49ca9cccf179b645991664b39d77ef317c71b845b1e30bd509112041d3a19783",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 2,
+ "comment" : "RFC 7914",
+ "flags" : [
+ "Rfc7914",
+ "Printable"
+ ],
+ "password" : "50617373776f7264",
+ "salt" : "4e61436c",
+ "iterationCount" : 80000,
+ "dkLen" : 64,
+ "dk" : "4ddcd8f60b98be21830cee5ef22701f9641a4418d04c0414aeff08876b34ab56a1d425a1225833549adb841b51c9b3176a272bdebba1d078478f62b397f33c8d",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 3,
+ "comment" : "",
+ "flags" : [
+ "Pseudorandom",
+ "Printable"
+ ],
+ "password" : "7130577430643470",
+ "salt" : "798acc7c76739d75",
+ "iterationCount" : 4096,
+ "dkLen" : 16,
+ "dk" : "0501c73cb9f40b6769513e70e525051e",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 4,
+ "comment" : "",
+ "flags" : [
+ "Pseudorandom",
+ "Printable"
+ ],
+ "password" : "5a30673349567272",
+ "salt" : "84bbd18de5ec10ff",
+ "iterationCount" : 4096,
+ "dkLen" : 42,
+ "dk" : "05fd57d1cc373fa9f37e1857ac1c0af8fbf635e139a42f9dd25a4e4b4698ea13e943f42220384d32a272",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 5,
+ "comment" : "",
+ "flags" : [
+ "Pseudorandom",
+ "Printable"
+ ],
+ "password" : "7439315572766f47",
+ "salt" : "5d76db9ca0f0bae2",
+ "iterationCount" : 4096,
+ "dkLen" : 65,
+ "dk" : "2a3974a8071f005997c00d33812d8cf52e6af76a7ac558bf5dedeb296464bccf696ad753a79eb7b1b21738584a58d03d2b6c2b7bda08788f844655f6a90b0e3444",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 6,
+ "comment" : "",
+ "flags" : [
+ "Pseudorandom",
+ "Printable"
+ ],
+ "password" : "6b6f67583748447a",
+ "salt" : "0a8fbd0232a3a7f6e60d6564c92ea35f",
+ "iterationCount" : 4096,
+ "dkLen" : 16,
+ "dk" : "c81676dbeb95582c66c3fc2636f1cb7f",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 7,
+ "comment" : "",
+ "flags" : [
+ "Pseudorandom",
+ "Printable"
+ ],
+ "password" : "4939745242645168",
+ "salt" : "0a3bb93c0de86a174ab005b8089706ab",
+ "iterationCount" : 4096,
+ "dkLen" : 42,
+ "dk" : "b7a44e0e93f5f7ec0e177292db0b4a1354b62709e0dfe02167e19586fa99a70d777b39f953fb4fa4c342",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 8,
+ "comment" : "",
+ "flags" : [
+ "Pseudorandom",
+ "Printable"
+ ],
+ "password" : "6f4f4d37324f6330",
+ "salt" : "3827c3b6b1e6de7aab096eb75e23610d",
+ "iterationCount" : 4096,
+ "dkLen" : 65,
+ "dk" : "907bc6a107df5940fb4c986b3f1ed888bcb0c41462df94b58de682c5627c1125492fd3091b06d83ce09794edad3776adb107994f671efe7b3ccd1d3a8fdcb444cc",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 9,
+ "comment" : "",
+ "flags" : [
+ "Pseudorandom",
+ "Printable"
+ ],
+ "password" : "6761734354484546654d36526f61386349",
+ "salt" : "cac9ae7ef670990e",
+ "iterationCount" : 4096,
+ "dkLen" : 16,
+ "dk" : "2a9fc926e220c7915ccd8cde2916ae87",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 10,
+ "comment" : "",
+ "flags" : [
+ "Pseudorandom",
+ "Printable"
+ ],
+ "password" : "75375330684678774e33586f76707a6551",
+ "salt" : "201b1e277f4ff955",
+ "iterationCount" : 4096,
+ "dkLen" : 42,
+ "dk" : "0dc0835f4b34eb966f4cf0d662c020eb09b733c7baa78abe2be41a01a1ccad60aad4969ac3fbcb643511",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 11,
+ "comment" : "",
+ "flags" : [
+ "Pseudorandom",
+ "Printable"
+ ],
+ "password" : "51524b6a6d6d6b48524462507178696868",
+ "salt" : "e71d6a702d2d54bc",
+ "iterationCount" : 4096,
+ "dkLen" : 65,
+ "dk" : "2cdbfdc4f06e4d0e743a49ca459eff921b2eaf70e5d69b3c913239c56376c78c47ab66927c322612ad97cb1c824ae425aaefc6647db405dfab3a89cfd2055a0f4c",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 12,
+ "comment" : "",
+ "flags" : [
+ "Pseudorandom",
+ "Printable"
+ ],
+ "password" : "3732317a52704b79306b4c6d3862317279",
+ "salt" : "8b9314972ef99ac98b69b6c2ac4247c7",
+ "iterationCount" : 4096,
+ "dkLen" : 16,
+ "dk" : "0da1ed7920894303780ee9a34fb6fa2f",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 13,
+ "comment" : "",
+ "flags" : [
+ "Pseudorandom",
+ "Printable"
+ ],
+ "password" : "75507078436d7536577a68535030553947",
+ "salt" : "874d7cc9369ff9988642ffe05a7f2153",
+ "iterationCount" : 4096,
+ "dkLen" : 42,
+ "dk" : "35367e9ce58daa37e51883e9828204d438ede1065acf9933dfee1aae0ac7b24b46ae0c2c16885b809e6b",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 14,
+ "comment" : "",
+ "flags" : [
+ "Pseudorandom",
+ "Printable"
+ ],
+ "password" : "6f39505350597a445349783365374d7063",
+ "salt" : "1569909588ec25a3afa147cb7fff9fb1",
+ "iterationCount" : 4096,
+ "dkLen" : 65,
+ "dk" : "7afa4394324fdfe23b879a8fb932c908217e4368ee5ee8dccac2fe2d2f62c12e9f48620c50b7bdb05448c64987b10df54ff5012e9a5064e9f92c51cc7b635d270d",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 15,
+ "comment" : "",
+ "flags" : [
+ "Pseudorandom",
+ "Ascii"
+ ],
+ "password" : "4b2d6c600e66535c7f3d6d6c",
+ "salt" : "7a4c02db8bd8fcc2",
+ "iterationCount" : 4096,
+ "dkLen" : 16,
+ "dk" : "b05992b03b7f25b4a24a27e98cdfff3a",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 16,
+ "comment" : "",
+ "flags" : [
+ "Pseudorandom",
+ "Ascii"
+ ],
+ "password" : "287e74200e6b69285f5f7e00",
+ "salt" : "dddf018487fa4b95",
+ "iterationCount" : 4096,
+ "dkLen" : 42,
+ "dk" : "89d809be903d632abd1b29130229b3a837bb4943aafb86a520498fa1814cd3f82f0b6c7db8d09d19c439",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 17,
+ "comment" : "",
+ "flags" : [
+ "Pseudorandom",
+ "Ascii"
+ ],
+ "password" : "0f3b5e220e1c000c2a703a4d",
+ "salt" : "7cf71b19c0daf499",
+ "iterationCount" : 4096,
+ "dkLen" : 65,
+ "dk" : "5f3110ce1e653e086b289eb972ddd496b44884b7eab0361d0e9a39426b1d977582bd32b84ae1a204a51dbd458757489e01928dbcced2397109a1470d8383804099",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 18,
+ "comment" : "",
+ "flags" : [
+ "Pseudorandom",
+ "Ascii"
+ ],
+ "password" : "1f4b7b354903545f2b07720b",
+ "salt" : "62f91ea01f3a18aa2f122bd15c4a615b",
+ "iterationCount" : 4096,
+ "dkLen" : 16,
+ "dk" : "d4bbf153661b4516d740535b37780aaf",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 19,
+ "comment" : "",
+ "flags" : [
+ "Pseudorandom",
+ "Ascii"
+ ],
+ "password" : "5d7e1f70174b2f616c0d6722",
+ "salt" : "4fb602173327228431dd8d088154c7ec",
+ "iterationCount" : 4096,
+ "dkLen" : 42,
+ "dk" : "8216132b4952f8be46586e22ce961b597671f9172027e36f2c4cbd189dcaf719981a9c03186d5faadd80",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 20,
+ "comment" : "",
+ "flags" : [
+ "Pseudorandom",
+ "Ascii"
+ ],
+ "password" : "2657324e694c6b242b174f1a",
+ "salt" : "3cad67ef1eaf3aaafb5ee372d6b1ecb4",
+ "iterationCount" : 4096,
+ "dkLen" : 65,
+ "dk" : "7103c69766b64bae721776ac272db586c7ba3c4775e33e1f37a24fad51e599d56d344e4566d48928f3c1c52b91642b10c86a29d3d2490eee2889c2899802e38c82",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 21,
+ "comment" : "",
+ "flags" : [
+ "Pseudorandom",
+ "Ascii"
+ ],
+ "password" : "15296b0933473119180f3c0645202d5221633803",
+ "salt" : "d7412e4137fc4410",
+ "iterationCount" : 4096,
+ "dkLen" : 16,
+ "dk" : "1c0b23dfd1a3ea727c5c596ca840b393",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 22,
+ "comment" : "",
+ "flags" : [
+ "Pseudorandom",
+ "Ascii"
+ ],
+ "password" : "2a1124361d53464245580130076d6b54001e3d01",
+ "salt" : "7ecaaed1eab03c3f",
+ "iterationCount" : 4096,
+ "dkLen" : 42,
+ "dk" : "c0f82935e509c96ad0edf9aa2db243cb81cec0c047d5141915a58ce114c119290228f318a9c5dcd518f6",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 23,
+ "comment" : "",
+ "flags" : [
+ "Pseudorandom",
+ "Ascii"
+ ],
+ "password" : "666252024e18233308430820127e753e6b041f56",
+ "salt" : "756fafa7fac1f019",
+ "iterationCount" : 4096,
+ "dkLen" : 65,
+ "dk" : "d571b3006053ce3060ddfdbcf3c782d834e49701d4c745f3a282618cacdff4c73cadb7e719de641860ab0ffc860518d0bf02cec16ca83c26f4df993050ee67f2f7",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 24,
+ "comment" : "",
+ "flags" : [
+ "Pseudorandom",
+ "Ascii"
+ ],
+ "password" : "7a106c2773542c791d2f0a02632b69644f666278",
+ "salt" : "a36350db68186d747254bd9835219487",
+ "iterationCount" : 4096,
+ "dkLen" : 16,
+ "dk" : "5f0af11697779ae0530fab32806f2184",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 25,
+ "comment" : "",
+ "flags" : [
+ "Pseudorandom",
+ "Ascii"
+ ],
+ "password" : "0b3c6f070149615b5b461c7f5c3a366a6d375402",
+ "salt" : "42be6c8fcd7858458fb97cece0069524",
+ "iterationCount" : 4096,
+ "dkLen" : 42,
+ "dk" : "88d3744fae380954ae5875eca20b998e0d0c991716a8ef90cc1e547d489415ce6f8310742defcf4ca6cd",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 26,
+ "comment" : "",
+ "flags" : [
+ "Pseudorandom",
+ "Ascii"
+ ],
+ "password" : "5177161d237c1b64426353434113015665344a6c",
+ "salt" : "596dbf5830aa8b00682429883e0b1ed0",
+ "iterationCount" : 4096,
+ "dkLen" : 65,
+ "dk" : "d8e5a55f92ba0d6da87765c653c82f080472260640e59ebe7d003baca444bdbe553156e5c365be28fc0acb7927e5c9789cdf6b481aa1c39c444a0cfc8b6e475182",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 27,
+ "comment" : "",
+ "flags" : [
+ "Pseudorandom",
+ "Utf8"
+ ],
+ "password" : "d0a3d1bed38acc83",
+ "salt" : "8dfae85c9f2072ae",
+ "iterationCount" : 4096,
+ "dkLen" : 16,
+ "dk" : "c06bc1f9a63de10fe5f6936991477029",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 28,
+ "comment" : "",
+ "flags" : [
+ "Pseudorandom",
+ "Utf8"
+ ],
+ "password" : "d0bcccab64cf9a",
+ "salt" : "15187b0393d8a441",
+ "iterationCount" : 4096,
+ "dkLen" : 42,
+ "dk" : "6a6287564b66b1f08bfabdfe2907b870b8c6ad8071efd78a7302c9472d7b80fb50c662bf609827006831",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 29,
+ "comment" : "",
+ "flags" : [
+ "Pseudorandom",
+ "Utf8"
+ ],
+ "password" : "c4bddd8f4ad69d",
+ "salt" : "775bde4bd6e40ddd",
+ "iterationCount" : 4096,
+ "dkLen" : 65,
+ "dk" : "7e52e8694056266a7da6527dac089f921298dfc497020eecee58d73fd123deb97cf3c2f532505468afc17e6e283ba6b68afcd5e6881be17e1647d3ab491a5589b1",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 30,
+ "comment" : "",
+ "flags" : [
+ "Pseudorandom",
+ "Utf8"
+ ],
+ "password" : "c299d292cd92dcb8",
+ "salt" : "99c55e182238c8e0c385447685e9ba85",
+ "iterationCount" : 4096,
+ "dkLen" : 16,
+ "dk" : "fcfa00ce7c0249542e6f3a40ef0a86d0",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 31,
+ "comment" : "",
+ "flags" : [
+ "Pseudorandom",
+ "Utf8"
+ ],
+ "password" : "d086d0bed193d9b6",
+ "salt" : "42a7aca6a7664f87b405b49d62a074db",
+ "iterationCount" : 4096,
+ "dkLen" : 42,
+ "dk" : "46abf02c99b9f6d86fbf2e11bf0642b658a82a9e034ddea40df78a84bbc4b1e1e9f5bfbc55b12fba4545",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 32,
+ "comment" : "",
+ "flags" : [
+ "Pseudorandom",
+ "Utf8"
+ ],
+ "password" : "da8ddcacde86d3b0",
+ "salt" : "f3eb3938f338fe8639813beacd8100a5",
+ "iterationCount" : 4096,
+ "dkLen" : 65,
+ "dk" : "4438d49f0cd0ff7026fa6283b25bac570e1c845eaccdd80060e896f5420ee54533eb649a6fd9d99d29ceb7dcb18d059d422840aef7d4452d888f59bdd760b5db73",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 33,
+ "comment" : "",
+ "flags" : [
+ "Pseudorandom",
+ "Utf8"
+ ],
+ "password" : "cfbec3b9d7acc7a9d585d1a5c28fcca119",
+ "salt" : "e9c55717a1259a29",
+ "iterationCount" : 4096,
+ "dkLen" : 16,
+ "dk" : "a9a7c8ade1041532e085ff65c35f28e8",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 34,
+ "comment" : "",
+ "flags" : [
+ "Pseudorandom",
+ "Utf8"
+ ],
+ "password" : "d29cd099d197d1b0da9aca8ec2a3daa5c38a",
+ "salt" : "5acc2d76a9f4444c",
+ "iterationCount" : 4096,
+ "dkLen" : 42,
+ "dk" : "e34b5cf037bec44307bb8a60bbdc7d5f19badd15825150ec453adb490b947c3c1bc4132ec2217be47f60",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 35,
+ "comment" : "",
+ "flags" : [
+ "Pseudorandom",
+ "Utf8"
+ ],
+ "password" : "de89d193d18c75c2b8c6bcd190d198c3a2",
+ "salt" : "c69c3b58917e0975",
+ "iterationCount" : 4096,
+ "dkLen" : 65,
+ "dk" : "d9ac15032443c7ed2678a07849c65897a2625f367fee614895c6f4f655094721024342ad24f0fa654bbd1abc7d01993ab21120da4e6f5b36a67885462d14442732",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 36,
+ "comment" : "",
+ "flags" : [
+ "Pseudorandom",
+ "Utf8"
+ ],
+ "password" : "da9dd096cb93db88dbbed495ceaacf853c",
+ "salt" : "200bba668b2010b1968b82091848937c",
+ "iterationCount" : 4096,
+ "dkLen" : 16,
+ "dk" : "230bf1d40a4ccfe9a1b5241a8266cef9",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 37,
+ "comment" : "",
+ "flags" : [
+ "Pseudorandom",
+ "Utf8"
+ ],
+ "password" : "de81d0a6cea9c7b3cbabce9bda90d29f73",
+ "salt" : "36586fdefbe916369412c9f3e6337ddf",
+ "iterationCount" : 4096,
+ "dkLen" : 42,
+ "dk" : "978fd90caf8646ef894d8c9ffe19d20f0f0dfe80cf5bfe8464385bc0552e226a82b1fa764e8198ffda9f",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 38,
+ "comment" : "",
+ "flags" : [
+ "Pseudorandom",
+ "Utf8"
+ ],
+ "password" : "d281da97c8a3d8b7ceb9db80dc8dd4a0c3be",
+ "salt" : "ab7c17e3b78fe71e373b0ccb0fc3ccda",
+ "iterationCount" : 4096,
+ "dkLen" : 65,
+ "dk" : "92b10b7d996d6e3f5d8e7e2c1075cc89c837b85cb72aff0092449b256254591178a6bf7fdfe3742f5fe5e402788058f4f90efc9cc9e9e7547b27bd4d34da333314",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 39,
+ "comment" : "",
+ "flags" : [
+ "Pseudorandom",
+ "NonUtf8"
+ ],
+ "password" : "8423ec7ea4ca4b03",
+ "salt" : "8dfae85c9f2072ae",
+ "iterationCount" : 4096,
+ "dkLen" : 16,
+ "dk" : "5425a8ac3db02f9675331c0560a7b641",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 40,
+ "comment" : "",
+ "flags" : [
+ "Pseudorandom",
+ "NonUtf8"
+ ],
+ "password" : "2c3c932bf0648bda",
+ "salt" : "15187b0393d8a441",
+ "iterationCount" : 4096,
+ "dkLen" : 42,
+ "dk" : "9eb4049ccee01488f15af3b988ef6d4817fce166686c17a7ea1cdc8bc548883ed1d53df6439fecda324b",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 41,
+ "comment" : "",
+ "flags" : [
+ "Pseudorandom",
+ "NonUtf8"
+ ],
+ "password" : "393d474fd84a259d",
+ "salt" : "775bde4bd6e40ddd",
+ "iterationCount" : 4096,
+ "dkLen" : 65,
+ "dk" : "a6d3a1636fe688f9a0aef5050e749c9f641669e6b953958263752382cb324de125315c4f340464c935e15e60dfa61fc8e8cd15386b2ed9894fad8b327338dc91f7",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 42,
+ "comment" : "",
+ "flags" : [
+ "Pseudorandom",
+ "NonUtf8"
+ ],
+ "password" : "48997492c3528738",
+ "salt" : "99c55e182238c8e0c385447685e9ba85",
+ "iterationCount" : 4096,
+ "dkLen" : 16,
+ "dk" : "2b7d2346fbb52fbff8881db235132319",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 43,
+ "comment" : "",
+ "flags" : [
+ "Pseudorandom",
+ "NonUtf8"
+ ],
+ "password" : "74064c3ebc53d676",
+ "salt" : "42a7aca6a7664f87b405b49d62a074db",
+ "iterationCount" : 4096,
+ "dkLen" : 42,
+ "dk" : "a97c2fb6bd6a91470d78af24ee8f0f9e783517ba0396db031a46640c8436368ba9b5d0e048952bb2a6f0",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 44,
+ "comment" : "",
+ "flags" : [
+ "Pseudorandom",
+ "NonUtf8"
+ ],
+ "password" : "668d4f2c8f86f4f0",
+ "salt" : "f3eb3938f338fe8639813beacd8100a5",
+ "iterationCount" : 4096,
+ "dkLen" : 65,
+ "dk" : "8a4399e9487079701b079b6ad3587ff62593ff75c36629268e0cc2f88089203ac27a81ef9b4fa9ab6db5e220fca8f3d46c2b8c5c4d1149d461d1cd2c0884496608",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 45,
+ "comment" : "",
+ "flags" : [
+ "Pseudorandom",
+ "NonUtf8"
+ ],
+ "password" : "e3feb0f96dec61e9dd451465f88f132119",
+ "salt" : "e9c55717a1259a29",
+ "iterationCount" : 4096,
+ "dkLen" : 16,
+ "dk" : "a2641a7a323435e0443cfd8dd60a536e",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 46,
+ "comment" : "",
+ "flags" : [
+ "Pseudorandom",
+ "NonUtf8"
+ ],
+ "password" : "5c9ca419dc576470269a828e40a3aea5ca",
+ "salt" : "5acc2d76a9f4444c",
+ "iterationCount" : 4096,
+ "dkLen" : 42,
+ "dk" : "df3c139e07076d5e37d9dd0b59164903830d8fd1c4cb0b3189a5f97cd73b66f8066c31630bb44e705d9f",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 47,
+ "comment" : "",
+ "flags" : [
+ "Pseudorandom",
+ "NonUtf8"
+ ],
+ "password" : "bf898453344c6875f0b8b9bc2c50fc58e2",
+ "salt" : "c69c3b58917e0975",
+ "iterationCount" : 4096,
+ "dkLen" : 65,
+ "dk" : "bb14e909b953a6576fdd607ccb8ee2d69fc1f9458ae597010c08a17094d64beb156f3db86203d441b7a2a192d75fb8f8ce78baf6f059f3b982a1e1ea32a6f1a958",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 48,
+ "comment" : "",
+ "flags" : [
+ "Pseudorandom",
+ "NonUtf8"
+ ],
+ "password" : "9e9d7c166ad3bec856fe5d15d3aacbc53c",
+ "salt" : "200bba668b2010b1968b82091848937c",
+ "iterationCount" : 4096,
+ "dkLen" : 16,
+ "dk" : "38a92f260cc84a8eb5943df1f19f64a1",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 49,
+ "comment" : "",
+ "flags" : [
+ "Pseudorandom",
+ "NonUtf8"
+ ],
+ "password" : "17812c26bba941f3c2ebdb9bb6904c9f73",
+ "salt" : "36586fdefbe916369412c9f3e6337ddf",
+ "iterationCount" : 4096,
+ "dkLen" : 42,
+ "dk" : "a410ebcad1e884660353e7324d04f9f0e68ea3bb925fefe32b86c8f590029d63f9abc5c34c9a7b07845f",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 50,
+ "comment" : "",
+ "flags" : [
+ "Pseudorandom",
+ "NonUtf8"
+ ],
+ "password" : "6c816697ba2366375bb986c0af0d7d20fe",
+ "salt" : "ab7c17e3b78fe71e373b0ccb0fc3ccda",
+ "iterationCount" : 4096,
+ "dkLen" : 65,
+ "dk" : "2577e802465d3e309dc76be377bbabdc8e59838d9f4f0a23ccd67f118094a851edd9a6ab4d332d8927bb0b77e71da28d6f5db78b2196758340ebf25e74cf681a1f",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 51,
+ "comment" : "empty password",
+ "flags" : [
+ "Pseudorandom",
+ "Printable"
+ ],
+ "password" : "",
+ "salt" : "1a71e2118c9fbcc9",
+ "iterationCount" : 4096,
+ "dkLen" : 32,
+ "dk" : "3e513d89ea5ad303f17cbf7cbdea54a940f0f5811844dfa875a55a8241d2f8df",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 52,
+ "comment" : "long password",
+ "flags" : [
+ "Pseudorandom",
+ "Printable"
+ ],
+ "password" : "523249584467597a5a4271363970667a4a714e744b7761545a4544494676766b6a6253417167566e456a6b456b454557504e69383653626a6e376b725764394d67",
+ "salt" : "d26b99043c8ba3a4",
+ "iterationCount" : 4096,
+ "dkLen" : 32,
+ "dk" : "c8595fa30dc95fb839bebfcc230f06844b2f75a393570b22d6c14d647837b87a",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 53,
+ "comment" : "long password",
+ "flags" : [
+ "Pseudorandom",
+ "Printable"
+ ],
+ "password" : "63727a466d396430795463456a6468545758693877674e516f544e6d486e61686f6956317071613133655471477933497531354b4f52516339494c53646756527a45524e6b4463723565676a62584a78426572536a74726b6b674341616a63356243354434706e66743836663754626663666370595a30767354454d4930524178",
+ "salt" : "9266da5b8c102b27",
+ "iterationCount" : 4096,
+ "dkLen" : 32,
+ "dk" : "24a86f12235e0232bc80a84635a43934b2d37ae1120b4aa1728a3ead93868980",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 54,
+ "comment" : "long password",
+ "flags" : [
+ "Pseudorandom",
+ "Printable"
+ ],
+ "password" : "32647a56696e6f45774464656c656257797058314d6f4f685975585a463172514b7a32535a6c307578576377796f3561416e6f42524e7a5044763072513662693742345a34324f50695258534c6859684441643262746f647633744d54424430744b46316e4b655942656565547a70413145434150713942687a4a4c555a67737636754e4b664450333558414d684a486c736a6f5a796b677130624d506265556941796d6f324371586b64524752633876544176684e5a5838536f564d33704e74594a4a7258766975337547583233736a353847723061614a4b45763765796c373248636e6167713474766e533737626d6376676c79536d347370707a65673869",
+ "salt" : "6a06903b78dae6de",
+ "iterationCount" : 4096,
+ "dkLen" : 32,
+ "dk" : "a50be9c16f6bf68808436aa3bc6eec36d3c5653c9c7510c1a4a641755b8325fb",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 55,
+ "comment" : "special case password",
+ "flags" : [
+ "NonUtf8"
+ ],
+ "password" : "ff",
+ "salt" : "32140a66b88e1683",
+ "iterationCount" : 4096,
+ "dkLen" : 16,
+ "dk" : "49bc8d940c8f67ae5ee0764f59dea94e",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 56,
+ "comment" : "special case password",
+ "flags" : [
+ "NonUtf8"
+ ],
+ "password" : "ffffffffffffffff",
+ "salt" : "8a359634423ed028",
+ "iterationCount" : 4096,
+ "dkLen" : 16,
+ "dk" : "00ef53593c10c8986f36838017194c2c",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 57,
+ "comment" : "special case password",
+ "flags" : [
+ "NonUtf8"
+ ],
+ "password" : "c0c0c0c0c0c0c0c0",
+ "salt" : "d6f596f170ed2414",
+ "iterationCount" : 4096,
+ "dkLen" : 16,
+ "dk" : "b81cd442c5aa1b23aee69225a501cc70",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 58,
+ "comment" : "special case password",
+ "flags" : [
+ "NonUtf8"
+ ],
+ "password" : "eeeeeeeeeeeeeeee",
+ "salt" : "6b2269425e288d03",
+ "iterationCount" : 4096,
+ "dkLen" : 16,
+ "dk" : "a80f332f10dfc0e4380b2fac8449fe77",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 59,
+ "comment" : "special case password",
+ "flags" : [
+ "NonUtf8"
+ ],
+ "password" : "f0f0f0f0f0f0f0f0",
+ "salt" : "ebf0b04633711248",
+ "iterationCount" : 4096,
+ "dkLen" : 16,
+ "dk" : "a516a9d9e5d310227dc19ef15357b4b1",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 60,
+ "comment" : "special case password",
+ "flags" : [
+ "Ascii"
+ ],
+ "password" : "0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
+ "salt" : "9de9b71eeb9d9a34",
+ "iterationCount" : 4096,
+ "dkLen" : 16,
+ "dk" : "5869f35bb108f1c45605ca8109e6661d",
+ "result" : "valid"
+ }
+ ]
+ }
+ ]
+}
diff --git a/testvectors_v1/pbkdf2_hmacsha384_test.json b/testvectors_v1/pbkdf2_hmacsha384_test.json
new file mode 100644
index 0000000..09510f9
--- /dev/null
+++ b/testvectors_v1/pbkdf2_hmacsha384_test.json
@@ -0,0 +1,844 @@
+{
+ "algorithm" : "PBKDF2-HMACSHA384",
+ "schema" : "pbkdf_test_schema.json",
+ "generatorVersion" : "0.9",
+ "numberOfTests" : 58,
+ "header" : [
+ "Test vector of type PbkdfTest are for password based key derivations."
+ ],
+ "notes" : {
+ "Ascii" : {
+ "bugType" : "FUNCTIONALITY",
+ "description" : "The test vector contains a password consisting of ASCII characters."
+ },
+ "NonUtf8" : {
+ "bugType" : "FUNCTIONALITY",
+ "description" : "The test vector contains a password that is not a valid UTF-8 string."
+ },
+ "Printable" : {
+ "bugType" : "FUNCTIONALITY",
+ "description" : "The test vector contains a password consisting of printable ASCII characters."
+ },
+ "Pseudorandom" : {
+ "bugType" : "BASIC",
+ "description" : "Pseudorandomly generated test vector"
+ },
+ "Utf8" : {
+ "bugType" : "FUNCTIONALITY",
+ "description" : "The test vector contains a password that is a valid UTF-8 string."
+ }
+ },
+ "testGroups" : [
+ {
+ "type" : "PbkdfTest",
+ "tests" : [
+ {
+ "tcId" : 1,
+ "comment" : "",
+ "flags" : [
+ "Pseudorandom",
+ "Printable"
+ ],
+ "password" : "7130577430643470",
+ "salt" : "798acc7c76739d75",
+ "iterationCount" : 4096,
+ "dkLen" : 16,
+ "dk" : "c5a4f853b1a3960134e572c8e29a5be9",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 2,
+ "comment" : "",
+ "flags" : [
+ "Pseudorandom",
+ "Printable"
+ ],
+ "password" : "5a30673349567272",
+ "salt" : "84bbd18de5ec10ff",
+ "iterationCount" : 4096,
+ "dkLen" : 42,
+ "dk" : "dfe1dea643acbae0d7d3154717f9a620937d9bf32218b27db99c0c34a0a6dfa189b31292020b727cc147",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 3,
+ "comment" : "",
+ "flags" : [
+ "Pseudorandom",
+ "Printable"
+ ],
+ "password" : "7439315572766f47",
+ "salt" : "5d76db9ca0f0bae2",
+ "iterationCount" : 4096,
+ "dkLen" : 65,
+ "dk" : "17c6ba7e45f8a26a13b4d5f72ca3a2f97147e5f60c3108829b5b51633ab8afd9888b0465b22995f072ee2c8383e091afb808bf48b0e786da661ff95142a6229f1f",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 4,
+ "comment" : "",
+ "flags" : [
+ "Pseudorandom",
+ "Printable"
+ ],
+ "password" : "6b6f67583748447a",
+ "salt" : "0a8fbd0232a3a7f6e60d6564c92ea35f",
+ "iterationCount" : 4096,
+ "dkLen" : 16,
+ "dk" : "7b3772edd5ddd2fefed54e124f813d15",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 5,
+ "comment" : "",
+ "flags" : [
+ "Pseudorandom",
+ "Printable"
+ ],
+ "password" : "4939745242645168",
+ "salt" : "0a3bb93c0de86a174ab005b8089706ab",
+ "iterationCount" : 4096,
+ "dkLen" : 42,
+ "dk" : "314c435ffba5e7f8dc3af254ac164c51398c839f3c789a91fb7927aa28dc2424bc589e29fd715fe74bba",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 6,
+ "comment" : "",
+ "flags" : [
+ "Pseudorandom",
+ "Printable"
+ ],
+ "password" : "6f4f4d37324f6330",
+ "salt" : "3827c3b6b1e6de7aab096eb75e23610d",
+ "iterationCount" : 4096,
+ "dkLen" : 65,
+ "dk" : "409b051d5d6f77149633e65dfd0ebbadebda7f82ffcc09d2efb81c6d94a425537c5bb1bea65a9fb40a92a4466bfb448d7b3505894dccdb6a365d44d4eba54ef11c",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 7,
+ "comment" : "",
+ "flags" : [
+ "Pseudorandom",
+ "Printable"
+ ],
+ "password" : "6761734354484546654d36526f61386349",
+ "salt" : "cac9ae7ef670990e",
+ "iterationCount" : 4096,
+ "dkLen" : 16,
+ "dk" : "9df584f636d3853cf75116538f240315",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 8,
+ "comment" : "",
+ "flags" : [
+ "Pseudorandom",
+ "Printable"
+ ],
+ "password" : "75375330684678774e33586f76707a6551",
+ "salt" : "201b1e277f4ff955",
+ "iterationCount" : 4096,
+ "dkLen" : 42,
+ "dk" : "74d040278a45fe589c66833a34cc71bc7249b4dc86e3dc70117afb94cf7cb60bca51c1d3359a06998c95",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 9,
+ "comment" : "",
+ "flags" : [
+ "Pseudorandom",
+ "Printable"
+ ],
+ "password" : "51524b6a6d6d6b48524462507178696868",
+ "salt" : "e71d6a702d2d54bc",
+ "iterationCount" : 4096,
+ "dkLen" : 65,
+ "dk" : "421a7d2aa3a0b31f51b2971af45327ffbcb023a6fd71a51739e57b335c9fe386f8b3083991bc012474161341ebb71f7b9f495d012904264aacebc00a6392b7e81c",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 10,
+ "comment" : "",
+ "flags" : [
+ "Pseudorandom",
+ "Printable"
+ ],
+ "password" : "3732317a52704b79306b4c6d3862317279",
+ "salt" : "8b9314972ef99ac98b69b6c2ac4247c7",
+ "iterationCount" : 4096,
+ "dkLen" : 16,
+ "dk" : "5873f6050f94ffbd5db5913711a1e779",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 11,
+ "comment" : "",
+ "flags" : [
+ "Pseudorandom",
+ "Printable"
+ ],
+ "password" : "75507078436d7536577a68535030553947",
+ "salt" : "874d7cc9369ff9988642ffe05a7f2153",
+ "iterationCount" : 4096,
+ "dkLen" : 42,
+ "dk" : "38c6c68ab0ea2aab6e8ec42b6d08203e7f3c2a51c7771626b9df6ac6ac0e7c7b9e690ea53916e7a4ef0a",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 12,
+ "comment" : "",
+ "flags" : [
+ "Pseudorandom",
+ "Printable"
+ ],
+ "password" : "6f39505350597a445349783365374d7063",
+ "salt" : "1569909588ec25a3afa147cb7fff9fb1",
+ "iterationCount" : 4096,
+ "dkLen" : 65,
+ "dk" : "8b3c1f69e3e992203f59b4aee9c0ed79d98bf7a1f261036d58e2289dcde27504129d357f8c21919f1f152e7d4a5c011e04f1adf2a3d0fdcb64cad396810332d291",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 13,
+ "comment" : "",
+ "flags" : [
+ "Pseudorandom",
+ "Ascii"
+ ],
+ "password" : "4b2d6c600e66535c7f3d6d6c",
+ "salt" : "7a4c02db8bd8fcc2",
+ "iterationCount" : 4096,
+ "dkLen" : 16,
+ "dk" : "60f6a456e9a4f1d8dcfb7a73c58ab3be",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 14,
+ "comment" : "",
+ "flags" : [
+ "Pseudorandom",
+ "Ascii"
+ ],
+ "password" : "287e74200e6b69285f5f7e00",
+ "salt" : "dddf018487fa4b95",
+ "iterationCount" : 4096,
+ "dkLen" : 42,
+ "dk" : "745ff4750e9371a28424220ea555138fed621e4b32c58503720dd1e2243803848f9fe9b74ed09afe759f",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 15,
+ "comment" : "",
+ "flags" : [
+ "Pseudorandom",
+ "Ascii"
+ ],
+ "password" : "0f3b5e220e1c000c2a703a4d",
+ "salt" : "7cf71b19c0daf499",
+ "iterationCount" : 4096,
+ "dkLen" : 65,
+ "dk" : "9531ee2380908f10dd0806782a90dd01a513880e6d848ce8370e5a6dff7a061d6e20a2b1ecccadfed5feaae62fa64e0cc6fe98bd87f6311fbc624453344e694a94",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 16,
+ "comment" : "",
+ "flags" : [
+ "Pseudorandom",
+ "Ascii"
+ ],
+ "password" : "1f4b7b354903545f2b07720b",
+ "salt" : "62f91ea01f3a18aa2f122bd15c4a615b",
+ "iterationCount" : 4096,
+ "dkLen" : 16,
+ "dk" : "ea4658ca124f8a8332e1241da381e22e",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 17,
+ "comment" : "",
+ "flags" : [
+ "Pseudorandom",
+ "Ascii"
+ ],
+ "password" : "5d7e1f70174b2f616c0d6722",
+ "salt" : "4fb602173327228431dd8d088154c7ec",
+ "iterationCount" : 4096,
+ "dkLen" : 42,
+ "dk" : "7b89d1bd20dec87b8ecf9bae12fa0e5d9c0f1c010078249baeefded4f23e354a5fe9efa50d2d569ee12d",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 18,
+ "comment" : "",
+ "flags" : [
+ "Pseudorandom",
+ "Ascii"
+ ],
+ "password" : "2657324e694c6b242b174f1a",
+ "salt" : "3cad67ef1eaf3aaafb5ee372d6b1ecb4",
+ "iterationCount" : 4096,
+ "dkLen" : 65,
+ "dk" : "08968b88460e0df143e1f52d0b1640e77266204bb552d3e9a260dfc782aef06707f7eb386a3037dc343792b6c41452549d812eca04be8bf01d436e1557bec6438d",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 19,
+ "comment" : "",
+ "flags" : [
+ "Pseudorandom",
+ "Ascii"
+ ],
+ "password" : "15296b0933473119180f3c0645202d5221633803",
+ "salt" : "d7412e4137fc4410",
+ "iterationCount" : 4096,
+ "dkLen" : 16,
+ "dk" : "23055ea847137568a2ea8f84ae13d220",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 20,
+ "comment" : "",
+ "flags" : [
+ "Pseudorandom",
+ "Ascii"
+ ],
+ "password" : "2a1124361d53464245580130076d6b54001e3d01",
+ "salt" : "7ecaaed1eab03c3f",
+ "iterationCount" : 4096,
+ "dkLen" : 42,
+ "dk" : "819a1fd3f182702d3629b0453352e7224048ed964e57b252a9a039c1d73292f2f668429a8aa530732edc",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 21,
+ "comment" : "",
+ "flags" : [
+ "Pseudorandom",
+ "Ascii"
+ ],
+ "password" : "666252024e18233308430820127e753e6b041f56",
+ "salt" : "756fafa7fac1f019",
+ "iterationCount" : 4096,
+ "dkLen" : 65,
+ "dk" : "ba344a8df0cbedced95d6f5f8ea8f4d3e1aca52f751a2c1b529067df28d0e3d08ea42ffb6b8f8537dab32ce89ec0dd4a84c7683b5960d987ab7f5f744c7d8d7f84",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 22,
+ "comment" : "",
+ "flags" : [
+ "Pseudorandom",
+ "Ascii"
+ ],
+ "password" : "7a106c2773542c791d2f0a02632b69644f666278",
+ "salt" : "a36350db68186d747254bd9835219487",
+ "iterationCount" : 4096,
+ "dkLen" : 16,
+ "dk" : "d5ce40d19ffa0ea0a0f9ede719053fcd",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 23,
+ "comment" : "",
+ "flags" : [
+ "Pseudorandom",
+ "Ascii"
+ ],
+ "password" : "0b3c6f070149615b5b461c7f5c3a366a6d375402",
+ "salt" : "42be6c8fcd7858458fb97cece0069524",
+ "iterationCount" : 4096,
+ "dkLen" : 42,
+ "dk" : "840512f3702d1387ab28785750cca03d0452dcd3abbf39f56fa38c04dfe6e1e17570463a8cc074850070",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 24,
+ "comment" : "",
+ "flags" : [
+ "Pseudorandom",
+ "Ascii"
+ ],
+ "password" : "5177161d237c1b64426353434113015665344a6c",
+ "salt" : "596dbf5830aa8b00682429883e0b1ed0",
+ "iterationCount" : 4096,
+ "dkLen" : 65,
+ "dk" : "f9e10e6fc595e3ae155910f4c019245b559bbec1a944de00bbbe1fe202265db4ccf28b9f10b519c1856e3386a15ba9005e05cf5e050718d4a92c89dc309f167a31",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 25,
+ "comment" : "",
+ "flags" : [
+ "Pseudorandom",
+ "Utf8"
+ ],
+ "password" : "d0a3d1bed38acc83",
+ "salt" : "8dfae85c9f2072ae",
+ "iterationCount" : 4096,
+ "dkLen" : 16,
+ "dk" : "ae75e7ae9848e3550cf3ddfca4ed5e74",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 26,
+ "comment" : "",
+ "flags" : [
+ "Pseudorandom",
+ "Utf8"
+ ],
+ "password" : "d0bcccab64cf9a",
+ "salt" : "15187b0393d8a441",
+ "iterationCount" : 4096,
+ "dkLen" : 42,
+ "dk" : "9b909246d2fb6e76a5375bcd608820f855e43b7782fb7aecfedc766fbd7296a99862c4ee9ffe52d2305d",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 27,
+ "comment" : "",
+ "flags" : [
+ "Pseudorandom",
+ "Utf8"
+ ],
+ "password" : "c4bddd8f4ad69d",
+ "salt" : "775bde4bd6e40ddd",
+ "iterationCount" : 4096,
+ "dkLen" : 65,
+ "dk" : "555ab346c29248f24748dd7cb9ca4d7793894cf0ffdf337c01c6badf5ea8821eac516b7a93a74628be32468ecad35bc28bf422bcee9046ed9d5512765d644edf05",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 28,
+ "comment" : "",
+ "flags" : [
+ "Pseudorandom",
+ "Utf8"
+ ],
+ "password" : "c299d292cd92dcb8",
+ "salt" : "99c55e182238c8e0c385447685e9ba85",
+ "iterationCount" : 4096,
+ "dkLen" : 16,
+ "dk" : "84d0773faa5dad4dbbd7d7f461272807",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 29,
+ "comment" : "",
+ "flags" : [
+ "Pseudorandom",
+ "Utf8"
+ ],
+ "password" : "d086d0bed193d9b6",
+ "salt" : "42a7aca6a7664f87b405b49d62a074db",
+ "iterationCount" : 4096,
+ "dkLen" : 42,
+ "dk" : "58b8fd680c076f23f4e65bbb58a4af6a7160c4a8d81c99fb05f0543dd01923dcaef67a8ac6f14e6e1019",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 30,
+ "comment" : "",
+ "flags" : [
+ "Pseudorandom",
+ "Utf8"
+ ],
+ "password" : "da8ddcacde86d3b0",
+ "salt" : "f3eb3938f338fe8639813beacd8100a5",
+ "iterationCount" : 4096,
+ "dkLen" : 65,
+ "dk" : "fca2e866aa3e4f42abe27feb90a55286bbd868c93bdd67029db96c77bf943eb094c9e31c55f108bd848824e0ef0bc69e763cbd7c3c6ddc008703a40bcbc8e22667",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 31,
+ "comment" : "",
+ "flags" : [
+ "Pseudorandom",
+ "Utf8"
+ ],
+ "password" : "cfbec3b9d7acc7a9d585d1a5c28fcca119",
+ "salt" : "e9c55717a1259a29",
+ "iterationCount" : 4096,
+ "dkLen" : 16,
+ "dk" : "7612061da9d4dd1ee3638ab60eae5605",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 32,
+ "comment" : "",
+ "flags" : [
+ "Pseudorandom",
+ "Utf8"
+ ],
+ "password" : "d29cd099d197d1b0da9aca8ec2a3daa5c38a",
+ "salt" : "5acc2d76a9f4444c",
+ "iterationCount" : 4096,
+ "dkLen" : 42,
+ "dk" : "845d37414eb3bba79503226c55112a62f787d88aae3f027c0028a06f63d7307dcf9c1c7cd8f255755562",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 33,
+ "comment" : "",
+ "flags" : [
+ "Pseudorandom",
+ "Utf8"
+ ],
+ "password" : "de89d193d18c75c2b8c6bcd190d198c3a2",
+ "salt" : "c69c3b58917e0975",
+ "iterationCount" : 4096,
+ "dkLen" : 65,
+ "dk" : "94fa0a0e7150e8553aef53c3d695f8ef65b3e54c056ed1d0a0c46a064cb5891f4bdff7ee37f21136fb482dcb13421fdce7408b2cd18b9831dc11143aacfca500f0",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 34,
+ "comment" : "",
+ "flags" : [
+ "Pseudorandom",
+ "Utf8"
+ ],
+ "password" : "da9dd096cb93db88dbbed495ceaacf853c",
+ "salt" : "200bba668b2010b1968b82091848937c",
+ "iterationCount" : 4096,
+ "dkLen" : 16,
+ "dk" : "33f720ca3aa8e6784f93d9d04983f88a",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 35,
+ "comment" : "",
+ "flags" : [
+ "Pseudorandom",
+ "Utf8"
+ ],
+ "password" : "de81d0a6cea9c7b3cbabce9bda90d29f73",
+ "salt" : "36586fdefbe916369412c9f3e6337ddf",
+ "iterationCount" : 4096,
+ "dkLen" : 42,
+ "dk" : "5b043b06c042f0ed61f00d15b4d058425ecb822505d141757ad2b428f1ef71dbdb2bca191b7d7b5704b9",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 36,
+ "comment" : "",
+ "flags" : [
+ "Pseudorandom",
+ "Utf8"
+ ],
+ "password" : "d281da97c8a3d8b7ceb9db80dc8dd4a0c3be",
+ "salt" : "ab7c17e3b78fe71e373b0ccb0fc3ccda",
+ "iterationCount" : 4096,
+ "dkLen" : 65,
+ "dk" : "67aee62bffe2d7742a2058bb146ba629f532e2c0576555f0fb385ae8ea7b34e2f8d8b24dd31ea3a14ec6f39138337771d86518d3d1742eb3a5c197d4732012a338",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 37,
+ "comment" : "",
+ "flags" : [
+ "Pseudorandom",
+ "NonUtf8"
+ ],
+ "password" : "8423ec7ea4ca4b03",
+ "salt" : "8dfae85c9f2072ae",
+ "iterationCount" : 4096,
+ "dkLen" : 16,
+ "dk" : "de49fbeb68b9e092e952fb2f752b642b",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 38,
+ "comment" : "",
+ "flags" : [
+ "Pseudorandom",
+ "NonUtf8"
+ ],
+ "password" : "2c3c932bf0648bda",
+ "salt" : "15187b0393d8a441",
+ "iterationCount" : 4096,
+ "dkLen" : 42,
+ "dk" : "49b18e7cf5f8803bc129c0f433de931f7e2c3ac1f3305789495ec3548787cee83c1c973f73f4bac9e80b",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 39,
+ "comment" : "",
+ "flags" : [
+ "Pseudorandom",
+ "NonUtf8"
+ ],
+ "password" : "393d474fd84a259d",
+ "salt" : "775bde4bd6e40ddd",
+ "iterationCount" : 4096,
+ "dkLen" : 65,
+ "dk" : "f3a909587aacd3fd03e7fb4a48ece960d90a7a65b36f5b8f982f14f0997a4630e01cf092573a9af728f46e86b35099fe68ccab07a111b832718bd224af8a130194",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 40,
+ "comment" : "",
+ "flags" : [
+ "Pseudorandom",
+ "NonUtf8"
+ ],
+ "password" : "48997492c3528738",
+ "salt" : "99c55e182238c8e0c385447685e9ba85",
+ "iterationCount" : 4096,
+ "dkLen" : 16,
+ "dk" : "c26c4d099817ab48baeb2ed94a6e0e66",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 41,
+ "comment" : "",
+ "flags" : [
+ "Pseudorandom",
+ "NonUtf8"
+ ],
+ "password" : "74064c3ebc53d676",
+ "salt" : "42a7aca6a7664f87b405b49d62a074db",
+ "iterationCount" : 4096,
+ "dkLen" : 42,
+ "dk" : "2790b6ca89a36f6702f3fe2a031fbf5349613dd756b8e23e545180286b7f94746eb8df4ee00536a902e1",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 42,
+ "comment" : "",
+ "flags" : [
+ "Pseudorandom",
+ "NonUtf8"
+ ],
+ "password" : "668d4f2c8f86f4f0",
+ "salt" : "f3eb3938f338fe8639813beacd8100a5",
+ "iterationCount" : 4096,
+ "dkLen" : 65,
+ "dk" : "44fbc1a0422401ed1b4f7a3cccf4c56ed6dd61bbca31ffc542e2930ea62b5c6deeff8cc9c709b2e96a5bcc3ef5b47fec89a0fad774ef5a406fcd319a374dcbf7db",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 43,
+ "comment" : "",
+ "flags" : [
+ "Pseudorandom",
+ "NonUtf8"
+ ],
+ "password" : "e3feb0f96dec61e9dd451465f88f132119",
+ "salt" : "e9c55717a1259a29",
+ "iterationCount" : 4096,
+ "dkLen" : 16,
+ "dk" : "81c0ff3ddfee0fbb1c285ea772b21a93",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 44,
+ "comment" : "",
+ "flags" : [
+ "Pseudorandom",
+ "NonUtf8"
+ ],
+ "password" : "5c9ca419dc576470269a828e40a3aea5ca",
+ "salt" : "5acc2d76a9f4444c",
+ "iterationCount" : 4096,
+ "dkLen" : 42,
+ "dk" : "a54129741f4d41c198e76bc688de03d221bee45538cdb9f265859af918a4b336f6fc9b9f9a0b44894107",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 45,
+ "comment" : "",
+ "flags" : [
+ "Pseudorandom",
+ "NonUtf8"
+ ],
+ "password" : "bf898453344c6875f0b8b9bc2c50fc58e2",
+ "salt" : "c69c3b58917e0975",
+ "iterationCount" : 4096,
+ "dkLen" : 65,
+ "dk" : "d88a85b941a802f48a4fa80ebe4ca10e659d684a6310975dff862819930b60f0d776b728a716ef3b7abaea89c9b0fdcbb76c1b9fac44ad28d468800bbb20c7a76c",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 46,
+ "comment" : "",
+ "flags" : [
+ "Pseudorandom",
+ "NonUtf8"
+ ],
+ "password" : "9e9d7c166ad3bec856fe5d15d3aacbc53c",
+ "salt" : "200bba668b2010b1968b82091848937c",
+ "iterationCount" : 4096,
+ "dkLen" : 16,
+ "dk" : "1a7db5ce7b3fa690dda6aed94b42a07d",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 47,
+ "comment" : "",
+ "flags" : [
+ "Pseudorandom",
+ "NonUtf8"
+ ],
+ "password" : "17812c26bba941f3c2ebdb9bb6904c9f73",
+ "salt" : "36586fdefbe916369412c9f3e6337ddf",
+ "iterationCount" : 4096,
+ "dkLen" : 42,
+ "dk" : "41f0fdc44e8e51be0bf913af19524a6d041d6160194226fc90c17da715b4f7b6859060d72d8973bfa66d",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 48,
+ "comment" : "",
+ "flags" : [
+ "Pseudorandom",
+ "NonUtf8"
+ ],
+ "password" : "6c816697ba2366375bb986c0af0d7d20fe",
+ "salt" : "ab7c17e3b78fe71e373b0ccb0fc3ccda",
+ "iterationCount" : 4096,
+ "dkLen" : 65,
+ "dk" : "81fb39ec6f23c4fd32fc923cea3fbfa42f5b10620f3f0c0716e71301d0886a1392f50ee0e7805964f44bc08abce926002a36fc7806828e7da93cf8ddb910a21e60",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 49,
+ "comment" : "empty password",
+ "flags" : [
+ "Pseudorandom",
+ "Printable"
+ ],
+ "password" : "",
+ "salt" : "1a71e2118c9fbcc9",
+ "iterationCount" : 4096,
+ "dkLen" : 32,
+ "dk" : "221029235aaa16453fc00ce61bb81d2c0fe24e8a038dbf845578f7d3aa1006d9",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 50,
+ "comment" : "long password",
+ "flags" : [
+ "Pseudorandom",
+ "Printable"
+ ],
+ "password" : "523249584467597a5a4271363970667a4a714e744b7761545a4544494676766b6a6253417167566e456a6b456b454557504e69383653626a6e376b725764394d67",
+ "salt" : "d26b99043c8ba3a4",
+ "iterationCount" : 4096,
+ "dkLen" : 32,
+ "dk" : "6aff25d08e9acf0bc81366c88c2939b2206a5f3e96a6ae1bb7754286edd72fb5",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 51,
+ "comment" : "long password",
+ "flags" : [
+ "Pseudorandom",
+ "Printable"
+ ],
+ "password" : "63727a466d396430795463456a6468545758693877674e516f544e6d486e61686f6956317071613133655471477933497531354b4f52516339494c53646756527a45524e6b4463723565676a62584a78426572536a74726b6b674341616a63356243354434706e66743836663754626663666370595a30767354454d4930524178",
+ "salt" : "9266da5b8c102b27",
+ "iterationCount" : 4096,
+ "dkLen" : 32,
+ "dk" : "b967e5eb79c1ec4a3ad0cb09c18915793bd87b51911a5e9ca43cbe49eb328b83",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 52,
+ "comment" : "long password",
+ "flags" : [
+ "Pseudorandom",
+ "Printable"
+ ],
+ "password" : "32647a56696e6f45774464656c656257797058314d6f4f685975585a463172514b7a32535a6c307578576377796f3561416e6f42524e7a5044763072513662693742345a34324f50695258534c6859684441643262746f647633744d54424430744b46316e4b655942656565547a70413145434150713942687a4a4c555a67737636754e4b664450333558414d684a486c736a6f5a796b677130624d506265556941796d6f324371586b64524752633876544176684e5a5838536f564d33704e74594a4a7258766975337547583233736a353847723061614a4b45763765796c373248636e6167713474766e533737626d6376676c79536d347370707a65673869",
+ "salt" : "6a06903b78dae6de",
+ "iterationCount" : 4096,
+ "dkLen" : 32,
+ "dk" : "b94a84f5e52d232868f5fe8f4c568ad582e7bd623eab7b7a4f4081f45ab2c7ea",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 53,
+ "comment" : "special case password",
+ "flags" : [
+ "NonUtf8"
+ ],
+ "password" : "ff",
+ "salt" : "32140a66b88e1683",
+ "iterationCount" : 4096,
+ "dkLen" : 16,
+ "dk" : "bb50b900e301b23a4801bba57e163b47",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 54,
+ "comment" : "special case password",
+ "flags" : [
+ "NonUtf8"
+ ],
+ "password" : "ffffffffffffffff",
+ "salt" : "8a359634423ed028",
+ "iterationCount" : 4096,
+ "dkLen" : 16,
+ "dk" : "08f89be37ee7d29f9c24c67a354effcb",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 55,
+ "comment" : "special case password",
+ "flags" : [
+ "NonUtf8"
+ ],
+ "password" : "c0c0c0c0c0c0c0c0",
+ "salt" : "d6f596f170ed2414",
+ "iterationCount" : 4096,
+ "dkLen" : 16,
+ "dk" : "956f188642dfc807cb47658c203093e5",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 56,
+ "comment" : "special case password",
+ "flags" : [
+ "NonUtf8"
+ ],
+ "password" : "eeeeeeeeeeeeeeee",
+ "salt" : "6b2269425e288d03",
+ "iterationCount" : 4096,
+ "dkLen" : 16,
+ "dk" : "c8b50d274f16cd66fce052a0e52f6840",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 57,
+ "comment" : "special case password",
+ "flags" : [
+ "NonUtf8"
+ ],
+ "password" : "f0f0f0f0f0f0f0f0",
+ "salt" : "ebf0b04633711248",
+ "iterationCount" : 4096,
+ "dkLen" : 16,
+ "dk" : "5f4d98d86b3de83fe6a554c139256037",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 58,
+ "comment" : "special case password",
+ "flags" : [
+ "Ascii"
+ ],
+ "password" : "0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
+ "salt" : "9de9b71eeb9d9a34",
+ "iterationCount" : 4096,
+ "dkLen" : 16,
+ "dk" : "8458ae1b33e367c9724db9259bc06208",
+ "result" : "valid"
+ }
+ ]
+ }
+ ]
+}
diff --git a/testvectors_v1/pbkdf2_hmacsha512_test.json b/testvectors_v1/pbkdf2_hmacsha512_test.json
new file mode 100644
index 0000000..d3d883e
--- /dev/null
+++ b/testvectors_v1/pbkdf2_hmacsha512_test.json
@@ -0,0 +1,844 @@
+{
+ "algorithm" : "PBKDF2-HMACSHA512",
+ "schema" : "pbkdf_test_schema.json",
+ "generatorVersion" : "0.9",
+ "numberOfTests" : 58,
+ "header" : [
+ "Test vector of type PbkdfTest are for password based key derivations."
+ ],
+ "notes" : {
+ "Ascii" : {
+ "bugType" : "FUNCTIONALITY",
+ "description" : "The test vector contains a password consisting of ASCII characters."
+ },
+ "NonUtf8" : {
+ "bugType" : "FUNCTIONALITY",
+ "description" : "The test vector contains a password that is not a valid UTF-8 string."
+ },
+ "Printable" : {
+ "bugType" : "FUNCTIONALITY",
+ "description" : "The test vector contains a password consisting of printable ASCII characters."
+ },
+ "Pseudorandom" : {
+ "bugType" : "BASIC",
+ "description" : "Pseudorandomly generated test vector"
+ },
+ "Utf8" : {
+ "bugType" : "FUNCTIONALITY",
+ "description" : "The test vector contains a password that is a valid UTF-8 string."
+ }
+ },
+ "testGroups" : [
+ {
+ "type" : "PbkdfTest",
+ "tests" : [
+ {
+ "tcId" : 1,
+ "comment" : "",
+ "flags" : [
+ "Pseudorandom",
+ "Printable"
+ ],
+ "password" : "7130577430643470",
+ "salt" : "798acc7c76739d75",
+ "iterationCount" : 4096,
+ "dkLen" : 16,
+ "dk" : "4935390897319c3efc15d19304109c79",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 2,
+ "comment" : "",
+ "flags" : [
+ "Pseudorandom",
+ "Printable"
+ ],
+ "password" : "5a30673349567272",
+ "salt" : "84bbd18de5ec10ff",
+ "iterationCount" : 4096,
+ "dkLen" : 42,
+ "dk" : "d1b8e64e3b67a548c8bda3118eab1bc3f81b4cc9ead842eda18f6685533c2c7f4f49b8c7a78fea13b776",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 3,
+ "comment" : "",
+ "flags" : [
+ "Pseudorandom",
+ "Printable"
+ ],
+ "password" : "7439315572766f47",
+ "salt" : "5d76db9ca0f0bae2",
+ "iterationCount" : 4096,
+ "dkLen" : 65,
+ "dk" : "a5d7f0fe4adc54e2ac5edc54e005827a90cbd46c00b72be68f8fbd1da98c079b98622a69b1ea44c0d94cdae03c339b742d047ac63cac0d9af59786baee4a158080",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 4,
+ "comment" : "",
+ "flags" : [
+ "Pseudorandom",
+ "Printable"
+ ],
+ "password" : "6b6f67583748447a",
+ "salt" : "0a8fbd0232a3a7f6e60d6564c92ea35f",
+ "iterationCount" : 4096,
+ "dkLen" : 16,
+ "dk" : "23cb042249cf5d03f0cbfe8726df1bee",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 5,
+ "comment" : "",
+ "flags" : [
+ "Pseudorandom",
+ "Printable"
+ ],
+ "password" : "4939745242645168",
+ "salt" : "0a3bb93c0de86a174ab005b8089706ab",
+ "iterationCount" : 4096,
+ "dkLen" : 42,
+ "dk" : "8c9a9843f6c108ad5b95d872bd93f1afd8001871e24ae03100ab33a47b3bf923de1e0bb4a95985563a87",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 6,
+ "comment" : "",
+ "flags" : [
+ "Pseudorandom",
+ "Printable"
+ ],
+ "password" : "6f4f4d37324f6330",
+ "salt" : "3827c3b6b1e6de7aab096eb75e23610d",
+ "iterationCount" : 4096,
+ "dkLen" : 65,
+ "dk" : "0159b91e667079e448ae9707f9d538fcc4f297165f6fc85b2966f951669600ee7553f2b80e72f7c2688f2f4cf0f9f7eaf070333987aa7f7d45843076e1708e1229",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 7,
+ "comment" : "",
+ "flags" : [
+ "Pseudorandom",
+ "Printable"
+ ],
+ "password" : "6761734354484546654d36526f61386349",
+ "salt" : "cac9ae7ef670990e",
+ "iterationCount" : 4096,
+ "dkLen" : 16,
+ "dk" : "4f423de7d3ce6dde25a9c88058f175d4",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 8,
+ "comment" : "",
+ "flags" : [
+ "Pseudorandom",
+ "Printable"
+ ],
+ "password" : "75375330684678774e33586f76707a6551",
+ "salt" : "201b1e277f4ff955",
+ "iterationCount" : 4096,
+ "dkLen" : 42,
+ "dk" : "f5161add0381cd85fd3816902a56f1e5f84349362d9780eca06c201d1aa976106f5c55146c06d33d131d",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 9,
+ "comment" : "",
+ "flags" : [
+ "Pseudorandom",
+ "Printable"
+ ],
+ "password" : "51524b6a6d6d6b48524462507178696868",
+ "salt" : "e71d6a702d2d54bc",
+ "iterationCount" : 4096,
+ "dkLen" : 65,
+ "dk" : "8d4c0251d0344406a8e31261046fb4f2bdd7ef402afa5c4eb5020afc2d516ce2ceaf84a2fb904737234fdfe1b2226c5f64ec5a106ef18e9571a53b0db6a9136f43",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 10,
+ "comment" : "",
+ "flags" : [
+ "Pseudorandom",
+ "Printable"
+ ],
+ "password" : "3732317a52704b79306b4c6d3862317279",
+ "salt" : "8b9314972ef99ac98b69b6c2ac4247c7",
+ "iterationCount" : 4096,
+ "dkLen" : 16,
+ "dk" : "68b052397d9d0009393f939d8a41030a",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 11,
+ "comment" : "",
+ "flags" : [
+ "Pseudorandom",
+ "Printable"
+ ],
+ "password" : "75507078436d7536577a68535030553947",
+ "salt" : "874d7cc9369ff9988642ffe05a7f2153",
+ "iterationCount" : 4096,
+ "dkLen" : 42,
+ "dk" : "f6db4aec63695dfa52aa449120b118ef399ed5efa73c3f59c7aa08cd3cd0aa4401634a7bbf61d753752c",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 12,
+ "comment" : "",
+ "flags" : [
+ "Pseudorandom",
+ "Printable"
+ ],
+ "password" : "6f39505350597a445349783365374d7063",
+ "salt" : "1569909588ec25a3afa147cb7fff9fb1",
+ "iterationCount" : 4096,
+ "dkLen" : 65,
+ "dk" : "b8b2e382821089b02c972c1ca1495bc8d021fabe77733335555c6b27c4a6e73098e8385055891e8a55c05be3d20279bb168b8011f60705928dd05d1451775b62f1",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 13,
+ "comment" : "",
+ "flags" : [
+ "Pseudorandom",
+ "Ascii"
+ ],
+ "password" : "4b2d6c600e66535c7f3d6d6c",
+ "salt" : "7a4c02db8bd8fcc2",
+ "iterationCount" : 4096,
+ "dkLen" : 16,
+ "dk" : "d3aca4f6df6e06b97c44fd295ed07965",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 14,
+ "comment" : "",
+ "flags" : [
+ "Pseudorandom",
+ "Ascii"
+ ],
+ "password" : "287e74200e6b69285f5f7e00",
+ "salt" : "dddf018487fa4b95",
+ "iterationCount" : 4096,
+ "dkLen" : 42,
+ "dk" : "1fe411d3bde75e596197040e192dd0aa56ba282125db6e91090caace7bef3b07bbd4d3170b3ca8548587",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 15,
+ "comment" : "",
+ "flags" : [
+ "Pseudorandom",
+ "Ascii"
+ ],
+ "password" : "0f3b5e220e1c000c2a703a4d",
+ "salt" : "7cf71b19c0daf499",
+ "iterationCount" : 4096,
+ "dkLen" : 65,
+ "dk" : "bcc6ca2f82450f4bff09009af28215e68b01ccfcaabdf176a7eceb61974cdd9a9ce3bd10b1d7f781c4d82612fb42bf3db424912389a0727515fef785d2cc28275c",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 16,
+ "comment" : "",
+ "flags" : [
+ "Pseudorandom",
+ "Ascii"
+ ],
+ "password" : "1f4b7b354903545f2b07720b",
+ "salt" : "62f91ea01f3a18aa2f122bd15c4a615b",
+ "iterationCount" : 4096,
+ "dkLen" : 16,
+ "dk" : "26bfec4392af75d5e912d47c7d911fc5",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 17,
+ "comment" : "",
+ "flags" : [
+ "Pseudorandom",
+ "Ascii"
+ ],
+ "password" : "5d7e1f70174b2f616c0d6722",
+ "salt" : "4fb602173327228431dd8d088154c7ec",
+ "iterationCount" : 4096,
+ "dkLen" : 42,
+ "dk" : "21f15760b44d879949320ecfa6fb1023c15f6284127c985ce36d83de2fa6e25fe5f98e0e0bcb89acda3f",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 18,
+ "comment" : "",
+ "flags" : [
+ "Pseudorandom",
+ "Ascii"
+ ],
+ "password" : "2657324e694c6b242b174f1a",
+ "salt" : "3cad67ef1eaf3aaafb5ee372d6b1ecb4",
+ "iterationCount" : 4096,
+ "dkLen" : 65,
+ "dk" : "26c4a80bfa48325beefc3a32c543b1ed9dcb67458dba5c41b9ec1ea87ba82f52a98beaf2578f1e1d6f781676bc4664e9b629250bf0ad8440f8ceb05c51101ae8c7",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 19,
+ "comment" : "",
+ "flags" : [
+ "Pseudorandom",
+ "Ascii"
+ ],
+ "password" : "15296b0933473119180f3c0645202d5221633803",
+ "salt" : "d7412e4137fc4410",
+ "iterationCount" : 4096,
+ "dkLen" : 16,
+ "dk" : "49fa49e9d9d4b8a230b888550fa95d4e",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 20,
+ "comment" : "",
+ "flags" : [
+ "Pseudorandom",
+ "Ascii"
+ ],
+ "password" : "2a1124361d53464245580130076d6b54001e3d01",
+ "salt" : "7ecaaed1eab03c3f",
+ "iterationCount" : 4096,
+ "dkLen" : 42,
+ "dk" : "d80c7b2a6c4bfeede1926ad9fac65400078b865bc02d145fc0e045fe37cbbde4cafad121e4935f0b3052",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 21,
+ "comment" : "",
+ "flags" : [
+ "Pseudorandom",
+ "Ascii"
+ ],
+ "password" : "666252024e18233308430820127e753e6b041f56",
+ "salt" : "756fafa7fac1f019",
+ "iterationCount" : 4096,
+ "dkLen" : 65,
+ "dk" : "ca4168cd34fd8bf311c180bcf00d7c50482c89f9bd639f8e3217ebcefc99f7cc4bf7fce90a9faed87912293163d5bdb55a61566bccc7366195d72b76f3b26ad332",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 22,
+ "comment" : "",
+ "flags" : [
+ "Pseudorandom",
+ "Ascii"
+ ],
+ "password" : "7a106c2773542c791d2f0a02632b69644f666278",
+ "salt" : "a36350db68186d747254bd9835219487",
+ "iterationCount" : 4096,
+ "dkLen" : 16,
+ "dk" : "878ede7d7b80d4dfb2d7bffba76b288d",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 23,
+ "comment" : "",
+ "flags" : [
+ "Pseudorandom",
+ "Ascii"
+ ],
+ "password" : "0b3c6f070149615b5b461c7f5c3a366a6d375402",
+ "salt" : "42be6c8fcd7858458fb97cece0069524",
+ "iterationCount" : 4096,
+ "dkLen" : 42,
+ "dk" : "4d631b173437810b9dc991a9b81d2e8a4981cfed6fd6ae508db3f6f6bb4d267388741ead7d3272fd5075",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 24,
+ "comment" : "",
+ "flags" : [
+ "Pseudorandom",
+ "Ascii"
+ ],
+ "password" : "5177161d237c1b64426353434113015665344a6c",
+ "salt" : "596dbf5830aa8b00682429883e0b1ed0",
+ "iterationCount" : 4096,
+ "dkLen" : 65,
+ "dk" : "a4647786a04fa4129f5c4c43ff7ca48362b9e25bc962345355f01036c5df2962fab2906218267bd04b11a1834abb965e861e2fa3d721e4dded92ed7eefed058609",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 25,
+ "comment" : "",
+ "flags" : [
+ "Pseudorandom",
+ "Utf8"
+ ],
+ "password" : "d0a3d1bed38acc83",
+ "salt" : "8dfae85c9f2072ae",
+ "iterationCount" : 4096,
+ "dkLen" : 16,
+ "dk" : "6b62ce6976fe2c9bd0a8a7acba7b83b5",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 26,
+ "comment" : "",
+ "flags" : [
+ "Pseudorandom",
+ "Utf8"
+ ],
+ "password" : "d0bcccab64cf9a",
+ "salt" : "15187b0393d8a441",
+ "iterationCount" : 4096,
+ "dkLen" : 42,
+ "dk" : "3b80d72751093ad48c08b70fd13308834078b52c3c14e47523e189a475b6f6678dafb991bcb5c0b73f2c",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 27,
+ "comment" : "",
+ "flags" : [
+ "Pseudorandom",
+ "Utf8"
+ ],
+ "password" : "c4bddd8f4ad69d",
+ "salt" : "775bde4bd6e40ddd",
+ "iterationCount" : 4096,
+ "dkLen" : 65,
+ "dk" : "4bb5ebbe99297ac9a3e3b14ad1a5b52307fbdb991e9bae74561a93e7165086f4a198ad515be73ccda118168150ece8627199ff267c3132e3a556ba3d8d812d8392",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 28,
+ "comment" : "",
+ "flags" : [
+ "Pseudorandom",
+ "Utf8"
+ ],
+ "password" : "c299d292cd92dcb8",
+ "salt" : "99c55e182238c8e0c385447685e9ba85",
+ "iterationCount" : 4096,
+ "dkLen" : 16,
+ "dk" : "876ae3968ee80397415e7137d9bddf76",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 29,
+ "comment" : "",
+ "flags" : [
+ "Pseudorandom",
+ "Utf8"
+ ],
+ "password" : "d086d0bed193d9b6",
+ "salt" : "42a7aca6a7664f87b405b49d62a074db",
+ "iterationCount" : 4096,
+ "dkLen" : 42,
+ "dk" : "a0d55ac130b1ef52e4dc05203cb78304cc49f56dd165eafc51f009d44cddf6e4befa59d3231c2393e9ab",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 30,
+ "comment" : "",
+ "flags" : [
+ "Pseudorandom",
+ "Utf8"
+ ],
+ "password" : "da8ddcacde86d3b0",
+ "salt" : "f3eb3938f338fe8639813beacd8100a5",
+ "iterationCount" : 4096,
+ "dkLen" : 65,
+ "dk" : "1837beaf1c4a9efe10e8f8f6dafea3e494708a2512d7b64a396ed69b419b8c7e65f6ba2809c8555b62be2640d0ae297a68136f7a3fe8e226b87467e67c6254a6a2",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 31,
+ "comment" : "",
+ "flags" : [
+ "Pseudorandom",
+ "Utf8"
+ ],
+ "password" : "cfbec3b9d7acc7a9d585d1a5c28fcca119",
+ "salt" : "e9c55717a1259a29",
+ "iterationCount" : 4096,
+ "dkLen" : 16,
+ "dk" : "1b3587d675b3170ab20fdb14f8c88e42",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 32,
+ "comment" : "",
+ "flags" : [
+ "Pseudorandom",
+ "Utf8"
+ ],
+ "password" : "d29cd099d197d1b0da9aca8ec2a3daa5c38a",
+ "salt" : "5acc2d76a9f4444c",
+ "iterationCount" : 4096,
+ "dkLen" : 42,
+ "dk" : "93b0fc1b0313bab41929332682d9d2a5b947fbb5bbdb37c06d897dfc4a309eff5f1b1806a6a3b6f5fedf",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 33,
+ "comment" : "",
+ "flags" : [
+ "Pseudorandom",
+ "Utf8"
+ ],
+ "password" : "de89d193d18c75c2b8c6bcd190d198c3a2",
+ "salt" : "c69c3b58917e0975",
+ "iterationCount" : 4096,
+ "dkLen" : 65,
+ "dk" : "e44c3d06dc5128edd230cd9bfcbd204fde2369fb39d6370cbb0021ce1610003d7d1789e83f3fa9ed5842f1a5afde4609b3b09ef6595b7f8647c26c6ae87f4b776f",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 34,
+ "comment" : "",
+ "flags" : [
+ "Pseudorandom",
+ "Utf8"
+ ],
+ "password" : "da9dd096cb93db88dbbed495ceaacf853c",
+ "salt" : "200bba668b2010b1968b82091848937c",
+ "iterationCount" : 4096,
+ "dkLen" : 16,
+ "dk" : "6a294cfc91bd87da2700085a289a3f10",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 35,
+ "comment" : "",
+ "flags" : [
+ "Pseudorandom",
+ "Utf8"
+ ],
+ "password" : "de81d0a6cea9c7b3cbabce9bda90d29f73",
+ "salt" : "36586fdefbe916369412c9f3e6337ddf",
+ "iterationCount" : 4096,
+ "dkLen" : 42,
+ "dk" : "18d49eaf798f4fab75aaadb42f8bcff45b83da5fad7932705cc829897692cedb161268aa04659ef2a1d8",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 36,
+ "comment" : "",
+ "flags" : [
+ "Pseudorandom",
+ "Utf8"
+ ],
+ "password" : "d281da97c8a3d8b7ceb9db80dc8dd4a0c3be",
+ "salt" : "ab7c17e3b78fe71e373b0ccb0fc3ccda",
+ "iterationCount" : 4096,
+ "dkLen" : 65,
+ "dk" : "ab933595222171a6bf0ef7288f4761d4e6dd29e68e566fde1b3bb6a5ae380b591334e680ed1fc70f181c54f3a6ea17388cf25c7f18555b1f67a6837b3590578161",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 37,
+ "comment" : "",
+ "flags" : [
+ "Pseudorandom",
+ "NonUtf8"
+ ],
+ "password" : "8423ec7ea4ca4b03",
+ "salt" : "8dfae85c9f2072ae",
+ "iterationCount" : 4096,
+ "dkLen" : 16,
+ "dk" : "196cb574f499f6e20cd00a4eb0f70d4a",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 38,
+ "comment" : "",
+ "flags" : [
+ "Pseudorandom",
+ "NonUtf8"
+ ],
+ "password" : "2c3c932bf0648bda",
+ "salt" : "15187b0393d8a441",
+ "iterationCount" : 4096,
+ "dkLen" : 42,
+ "dk" : "28ea911364150649f9c5831e5d3ab76b4c4009416ba68143388d00e294437ade367fd24fbc79a5173544",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 39,
+ "comment" : "",
+ "flags" : [
+ "Pseudorandom",
+ "NonUtf8"
+ ],
+ "password" : "393d474fd84a259d",
+ "salt" : "775bde4bd6e40ddd",
+ "iterationCount" : 4096,
+ "dkLen" : 65,
+ "dk" : "38688a90efa49043340f480ba134e4d34f2f444c049864b918fbae5e324c7d11e5c790c4d6c4741bbedccc55f02a40a19edb117339e21fff27fd3b3b56b348403f",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 40,
+ "comment" : "",
+ "flags" : [
+ "Pseudorandom",
+ "NonUtf8"
+ ],
+ "password" : "48997492c3528738",
+ "salt" : "99c55e182238c8e0c385447685e9ba85",
+ "iterationCount" : 4096,
+ "dkLen" : 16,
+ "dk" : "f3d1fa6c1cb2bc8f8fae275b69746f03",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 41,
+ "comment" : "",
+ "flags" : [
+ "Pseudorandom",
+ "NonUtf8"
+ ],
+ "password" : "74064c3ebc53d676",
+ "salt" : "42a7aca6a7664f87b405b49d62a074db",
+ "iterationCount" : 4096,
+ "dkLen" : 42,
+ "dk" : "abb8c155cde2637d33261bd5c1db245ceb1e59e8cf223927697375bbc42273bf4f291d582885f9a5b634",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 42,
+ "comment" : "",
+ "flags" : [
+ "Pseudorandom",
+ "NonUtf8"
+ ],
+ "password" : "668d4f2c8f86f4f0",
+ "salt" : "f3eb3938f338fe8639813beacd8100a5",
+ "iterationCount" : 4096,
+ "dkLen" : 65,
+ "dk" : "51960fa5ea92577833bd8ef87911c7e0ace4a94fd4f76afb6ec145455257593953389c7cbe497eae1d787f95b8472b0c251406492c64c25db19ace47d24d8f5a75",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 43,
+ "comment" : "",
+ "flags" : [
+ "Pseudorandom",
+ "NonUtf8"
+ ],
+ "password" : "e3feb0f96dec61e9dd451465f88f132119",
+ "salt" : "e9c55717a1259a29",
+ "iterationCount" : 4096,
+ "dkLen" : 16,
+ "dk" : "2008be3283e9f6049829a4157c1c3088",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 44,
+ "comment" : "",
+ "flags" : [
+ "Pseudorandom",
+ "NonUtf8"
+ ],
+ "password" : "5c9ca419dc576470269a828e40a3aea5ca",
+ "salt" : "5acc2d76a9f4444c",
+ "iterationCount" : 4096,
+ "dkLen" : 42,
+ "dk" : "81a8a54d860990b96d5aa9debadc95c6164ac85294a2350b20b893e73ab7421845bc69ede73805bfcff7",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 45,
+ "comment" : "",
+ "flags" : [
+ "Pseudorandom",
+ "NonUtf8"
+ ],
+ "password" : "bf898453344c6875f0b8b9bc2c50fc58e2",
+ "salt" : "c69c3b58917e0975",
+ "iterationCount" : 4096,
+ "dkLen" : 65,
+ "dk" : "0452a418242f9539f8849d65466c96c984e021ddfde942a6a7e0b6dd1584dc8a536b1722684021444bf60fd958f391a5ba92fa6a44450d089faec32179f01f04c6",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 46,
+ "comment" : "",
+ "flags" : [
+ "Pseudorandom",
+ "NonUtf8"
+ ],
+ "password" : "9e9d7c166ad3bec856fe5d15d3aacbc53c",
+ "salt" : "200bba668b2010b1968b82091848937c",
+ "iterationCount" : 4096,
+ "dkLen" : 16,
+ "dk" : "6320a1e2cc157e09607d4fc9a4ae3269",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 47,
+ "comment" : "",
+ "flags" : [
+ "Pseudorandom",
+ "NonUtf8"
+ ],
+ "password" : "17812c26bba941f3c2ebdb9bb6904c9f73",
+ "salt" : "36586fdefbe916369412c9f3e6337ddf",
+ "iterationCount" : 4096,
+ "dkLen" : 42,
+ "dk" : "d42a8d13e4901d902c6ebf070fa3b253af9a0783cf5260daca193090337ad8ab783a2e46eb8022996c18",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 48,
+ "comment" : "",
+ "flags" : [
+ "Pseudorandom",
+ "NonUtf8"
+ ],
+ "password" : "6c816697ba2366375bb986c0af0d7d20fe",
+ "salt" : "ab7c17e3b78fe71e373b0ccb0fc3ccda",
+ "iterationCount" : 4096,
+ "dkLen" : 65,
+ "dk" : "634fc75709b5d0e585269c6f31280bdc79c1aaaf72fd5a13e9848c5fc1be7caeff06fbda3fd83ec67aee6286e4411da66f1c9da5414734d5388f9f95c25a13c99a",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 49,
+ "comment" : "empty password",
+ "flags" : [
+ "Pseudorandom",
+ "Printable"
+ ],
+ "password" : "",
+ "salt" : "1a71e2118c9fbcc9",
+ "iterationCount" : 4096,
+ "dkLen" : 32,
+ "dk" : "580ad63c3ade95c330d57e32af17fd342457fb0289b5d74c2d01ee109293bbdb",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 50,
+ "comment" : "long password",
+ "flags" : [
+ "Pseudorandom",
+ "Printable"
+ ],
+ "password" : "523249584467597a5a4271363970667a4a714e744b7761545a4544494676766b6a6253417167566e456a6b456b454557504e69383653626a6e376b725764394d67",
+ "salt" : "d26b99043c8ba3a4",
+ "iterationCount" : 4096,
+ "dkLen" : 32,
+ "dk" : "983adc3df73cffc0649a9c9682498c6bacbe91980e809d0cf002200d913b2b73",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 51,
+ "comment" : "long password",
+ "flags" : [
+ "Pseudorandom",
+ "Printable"
+ ],
+ "password" : "63727a466d396430795463456a6468545758693877674e516f544e6d486e61686f6956317071613133655471477933497531354b4f52516339494c53646756527a45524e6b4463723565676a62584a78426572536a74726b6b674341616a63356243354434706e66743836663754626663666370595a30767354454d4930524178",
+ "salt" : "9266da5b8c102b27",
+ "iterationCount" : 4096,
+ "dkLen" : 32,
+ "dk" : "9a3a9c839c05c455f1e83959f486b23b15f6e91bdf71b3da11bb0dd71ec98d49",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 52,
+ "comment" : "long password",
+ "flags" : [
+ "Pseudorandom",
+ "Printable"
+ ],
+ "password" : "32647a56696e6f45774464656c656257797058314d6f4f685975585a463172514b7a32535a6c307578576377796f3561416e6f42524e7a5044763072513662693742345a34324f50695258534c6859684441643262746f647633744d54424430744b46316e4b655942656565547a70413145434150713942687a4a4c555a67737636754e4b664450333558414d684a486c736a6f5a796b677130624d506265556941796d6f324371586b64524752633876544176684e5a5838536f564d33704e74594a4a7258766975337547583233736a353847723061614a4b45763765796c373248636e6167713474766e533737626d6376676c79536d347370707a65673869",
+ "salt" : "6a06903b78dae6de",
+ "iterationCount" : 4096,
+ "dkLen" : 32,
+ "dk" : "c27d89fdfb870fe02f4e3843025d33e91fa2eff7f8a18eefe7113818d1765126",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 53,
+ "comment" : "special case password",
+ "flags" : [
+ "NonUtf8"
+ ],
+ "password" : "ff",
+ "salt" : "32140a66b88e1683",
+ "iterationCount" : 4096,
+ "dkLen" : 16,
+ "dk" : "73eb7888fbad86cdb299455454d26429",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 54,
+ "comment" : "special case password",
+ "flags" : [
+ "NonUtf8"
+ ],
+ "password" : "ffffffffffffffff",
+ "salt" : "8a359634423ed028",
+ "iterationCount" : 4096,
+ "dkLen" : 16,
+ "dk" : "f0bdbf5507d74ab49ee220500107d69f",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 55,
+ "comment" : "special case password",
+ "flags" : [
+ "NonUtf8"
+ ],
+ "password" : "c0c0c0c0c0c0c0c0",
+ "salt" : "d6f596f170ed2414",
+ "iterationCount" : 4096,
+ "dkLen" : 16,
+ "dk" : "51eaac2999bab0ba22134d21f95ea277",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 56,
+ "comment" : "special case password",
+ "flags" : [
+ "NonUtf8"
+ ],
+ "password" : "eeeeeeeeeeeeeeee",
+ "salt" : "6b2269425e288d03",
+ "iterationCount" : 4096,
+ "dkLen" : 16,
+ "dk" : "f4e6be1916b7d1e21e8c4ea77c75b54e",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 57,
+ "comment" : "special case password",
+ "flags" : [
+ "NonUtf8"
+ ],
+ "password" : "f0f0f0f0f0f0f0f0",
+ "salt" : "ebf0b04633711248",
+ "iterationCount" : 4096,
+ "dkLen" : 16,
+ "dk" : "51baf8f1ecab753e30fd1ff995c29355",
+ "result" : "valid"
+ },
+ {
+ "tcId" : 58,
+ "comment" : "special case password",
+ "flags" : [
+ "Ascii"
+ ],
+ "password" : "0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
+ "salt" : "9de9b71eeb9d9a34",
+ "iterationCount" : 4096,
+ "dkLen" : 16,
+ "dk" : "2900d1f4870e09094070d986784dbcc8",
+ "result" : "valid"
+ }
+ ]
+ }
+ ]
+}
diff --git a/wycheproof.java.security b/wycheproof.java.security
new file mode 100644
index 0000000..ee911c9
--- /dev/null
+++ b/wycheproof.java.security
@@ -0,0 +1,4 @@
+security.provider.1=SUN
+security.provider.2=SunJCE
+security.provider.3=SunRsaSign
+security.provider.4=SunEC