diff --git a/Cargo.toml b/Cargo.toml index 470f359..5519a4a 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -31,6 +31,8 @@ rstest = "0.23.0" # Use aws_lc_rs to test our provider rustls = { version = "0.23.0", features = ["aws_lc_rs"] } rustls-pemfile = "2" -serde = { version = "1.0.215", features = ["derive"] } -serde_json = "1.0.133" webpki-roots = "0.26" +wycheproof = { version = "0.6.0", default-features = false, features = [ + "aead", + "hkdf", +] } diff --git a/src/aead.rs b/src/aead.rs index 8f09ddf..7233c13 100644 --- a/src/aead.rs +++ b/src/aead.rs @@ -88,127 +88,99 @@ impl Algorithm { #[cfg(test)] mod test { + use wycheproof::{aead::TestFlag, TestResult}; - use crate::test::schemas::aead; - use std::{fs, path::PathBuf}; + fn test_aead(alg: super::Algorithm) { + let test_name = match alg { + super::Algorithm::Aes128Gcm | super::Algorithm::Aes256Gcm => { + wycheproof::aead::TestName::AesGcm + } + #[cfg(all(chacha, not(feature = "fips")))] + super::Algorithm::ChaCha20Poly1305 => wycheproof::aead::TestName::ChaCha20Poly1305, + }; + let test_set = wycheproof::aead::TestSet::load(test_name).unwrap(); - fn test_aes(alg: super::Algorithm) { - let path = PathBuf::from(env!("CARGO_MANIFEST_DIR")) - .join("src") - .join("test") - .join("vectors") - .join("aes_gcm_test.json"); - let tests: aead::AeadTestFile = - serde_json::from_str(&fs::read_to_string(path).unwrap()).unwrap(); + let mut counter = 0; - for group in tests + for group in test_set .test_groups - .unwrap() - .iter() - .filter(|group| group.key_size.unwrap() == 8 * i64::try_from(alg.key_size()).unwrap()) - .filter(|group| group.iv_size.unwrap() == 96) + .into_iter() + .filter(|group| group.key_size == 8 * alg.key_size()) + .filter(|group| group.nonce_size == 96) { - for test in group.tests.as_ref().unwrap() { - dbg!(test.tc_id); - let key = test - .key - .as_deref() - .map(|key| hex::decode(key).unwrap()) - .unwrap(); - let iv = test - .iv - .as_deref() - .map(|iv| hex::decode(iv).unwrap()) - .unwrap(); - let aad = test - .aad - .as_deref() - .map(|aad| hex::decode(aad).unwrap()) - .unwrap(); - let msg = test - .msg - .as_deref() - .map(|msg| hex::decode(msg).unwrap()) - .unwrap(); - let ciphertext = test - .ct - .as_deref() - .map(|ct| hex::decode(ct).unwrap()) - .unwrap(); - let tag = test - .tag - .as_deref() - .map(|tag| hex::decode(tag).unwrap()) - .unwrap(); - + for test in group.tests { + counter += 1; let mut iv_bytes = [0u8; 12]; - iv_bytes.copy_from_slice(&iv[0..12]); + iv_bytes.copy_from_slice(&test.nonce[0..12]); - let mut actual_ciphertext = msg.clone(); + let mut actual_ciphertext = test.pt.to_vec(); let actual_tag = alg - .encrypt_in_place(&key, &iv_bytes, &aad, &mut actual_ciphertext) + .encrypt_in_place(&test.key, &iv_bytes, &test.aad, &mut actual_ciphertext) .unwrap(); - match test.result.as_ref().unwrap() { - aead::Result::Invalid => { - if test - .flags - .as_ref() - .unwrap() - .iter() - .any(|flag| flag == "ModifiedTag") - { + match &test.result { + TestResult::Invalid => { + if test.flags.iter().any(|flag| *flag == TestFlag::ModifiedTag) { assert_ne!( actual_tag[..], - tag[..], + test.tag[..], "Expected incorrect tag. Id {}: {}", - test.tc_id.unwrap(), - test.comment.as_deref().unwrap() + test.tc_id, + test.comment ); } } - aead::Result::Valid | aead::Result::Acceptable => { + TestResult::Valid | TestResult::Acceptable => { assert_eq!( - actual_ciphertext, - ciphertext, + actual_ciphertext[..], + test.ct[..], "Test case failed {}: {}", - test.tc_id.unwrap(), - test.comment.as_deref().unwrap() + test.tc_id, + test.comment ); assert_eq!( actual_tag[..], - tag[..], + test.tag[..], "Test case failed {}: {}", - test.tc_id.unwrap(), - test.comment.as_deref().unwrap() + test.tc_id, + test.comment ); } } - let mut data = ciphertext.to_vec(); - data.extend_from_slice(&tag); - let res = alg.decrypt_in_place(&key, &iv_bytes, &aad, &mut data); + let mut data = test.ct.to_vec(); + data.extend_from_slice(&test.tag); + let res = alg.decrypt_in_place(&test.key, &iv_bytes, &test.aad, &mut data); - match test.result.as_ref().unwrap() { - aead::Result::Invalid => { + match &test.result { + TestResult::Invalid => { assert!(res.is_err()); } - aead::Result::Valid | aead::Result::Acceptable => { - assert_eq!(res, Ok(msg.len())); - assert_eq!(&data[..res.unwrap()], &msg[..]); + TestResult::Valid | TestResult::Acceptable => { + assert_eq!(res, Ok(test.pt.len())); + assert_eq!(&data[..res.unwrap()], &test.pt[..]); } } } } + + // Ensure we ran some tests. + assert!(counter > 50); } #[test] fn test_aes_128() { - test_aes(super::Algorithm::Aes128Gcm); + test_aead(super::Algorithm::Aes128Gcm); } #[test] fn test_aes_256() { - test_aes(super::Algorithm::Aes256Gcm); + test_aead(super::Algorithm::Aes256Gcm); + } + + #[cfg(all(chacha, not(feature = "fips")))] + #[test] + fn test_chacha() { + test_aead(super::Algorithm::ChaCha20Poly1305); } } diff --git a/src/hkdf.rs b/src/hkdf.rs index e990058..e9031ea 100644 --- a/src/hkdf.rs +++ b/src/hkdf.rs @@ -126,41 +126,29 @@ fn add_hkdf_info(ctx: &mut PkeyCtxRef, info: &[&[u8]]) -> Result<(), Error #[cfg(test)] mod test { - use crate::test::schemas::hkdf::{self, HkdfTestFile}; use rustls::crypto::tls13::Hkdf; - use std::{fs, path::PathBuf}; - - fn test_hkdf(hkdf: &dyn Hkdf, test_file: HkdfTestFile) { - for test_group in test_file.test_groups.unwrap() { - for test in test_group.tests.unwrap() { - let salt = test.salt.as_deref().map(|salt| hex::decode(salt).unwrap()); - let ikm = test - .ikm - .as_deref() - .map(|ikm| hex::decode(ikm).unwrap()) - .unwrap(); - let expected_okm = test - .okm - .as_deref() - .map(|okm| hex::decode(okm).unwrap()) - .unwrap(); - let info = test.info.as_deref().map(|info| hex::decode(info).unwrap()); + use wycheproof::{hkdf::TestName, TestResult}; + fn test_hkdf(hkdf: &dyn Hkdf, test_name: TestName) { + let test_set = wycheproof::hkdf::TestSet::load(test_name).unwrap(); + + for test_group in test_set.test_groups { + for test in test_group.tests { dbg!(&test); - let prk_expander = hkdf.extract_from_secret(salt.as_deref(), &ikm); + let prk_expander = hkdf.extract_from_secret(Some(&test.salt), &test.ikm); - let mut okm = vec![0; test.size.unwrap().try_into().unwrap()]; - let res = prk_expander.expand_slice(&[info.as_deref().unwrap_or(&[])], &mut okm); + let mut okm = vec![0; test.size]; + let res = prk_expander.expand_slice(&[&test.info], &mut okm); - match &test.result.unwrap() { - hkdf::Result::Acceptable | hkdf::Result::Valid => { + match &test.result { + TestResult::Acceptable | TestResult::Valid => { assert!(res.is_ok()); - assert_eq!(okm, expected_okm, "Failed test: {}", test.comment.unwrap()); + assert_eq!(okm[..], test.okm[..], "Failed test: {}", test.comment); } - hkdf::Result::Invalid => { + TestResult::Invalid => { dbg!(&res); - assert!(res.is_err(), "Failed test: {}", test.comment.unwrap()) + assert!(res.is_err(), "Failed test: {}", test.comment) } } } @@ -171,25 +159,13 @@ mod test { fn hkdf_sha256() { let suite = crate::cipher_suite::TLS13_AES_128_GCM_SHA256; let hkdf = suite.tls13().unwrap().hkdf_provider; - let path = PathBuf::from(env!("CARGO_MANIFEST_DIR")) - .join("src") - .join("test") - .join("vectors") - .join("hkdf_sha256_test.json"); - let tests: HkdfTestFile = serde_json::from_str(&fs::read_to_string(path).unwrap()).unwrap(); - test_hkdf(hkdf, tests); + test_hkdf(hkdf, TestName::HkdfSha256); } #[test] fn hkdf_sha384() { let suite = crate::cipher_suite::TLS13_AES_256_GCM_SHA384; let hkdf = suite.tls13().unwrap().hkdf_provider; - let path = PathBuf::from(env!("CARGO_MANIFEST_DIR")) - .join("src") - .join("test") - .join("vectors") - .join("hkdf_sha384_test.json"); - let tests: HkdfTestFile = serde_json::from_str(&fs::read_to_string(path).unwrap()).unwrap(); - test_hkdf(hkdf, tests); + test_hkdf(hkdf, TestName::HkdfSha384); } } diff --git a/src/lib.rs b/src/lib.rs index b778ff5..6a3241a 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -69,8 +69,6 @@ mod kx; mod prf; mod quic; mod signer; -#[cfg(test)] -mod test; #[cfg(feature = "tls12")] mod tls12; mod tls13; diff --git a/src/test/mod.rs b/src/test/mod.rs deleted file mode 100644 index ec83a28..0000000 --- a/src/test/mod.rs +++ /dev/null @@ -1,2 +0,0 @@ -//! Test module containing test vectors and schemas from https://github.com/C2SP/wycheproof -pub mod schemas; diff --git a/src/test/schemas/aead.rs b/src/test/schemas/aead.rs deleted file mode 100644 index 8863159..0000000 --- a/src/test/schemas/aead.rs +++ /dev/null @@ -1,79 +0,0 @@ -use serde::{Deserialize, Serialize}; -use std::collections::HashMap; - -#[derive(Debug, Serialize, Deserialize)] -#[serde(rename_all = "camelCase")] -pub struct AeadTestFile { - /// the primitive tested in the test file - pub algorithm: Option, - /// the version of the test vectors. - pub generator_version: Option, - /// additional documentation - pub header: Option>, - /// a description of the labels used in the test vectors - pub notes: Option>>, - /// the number of test vectors in this test - pub number_of_tests: Option, - pub schema: Option, - pub test_groups: Option>, -} - -#[derive(Debug, Serialize, Deserialize)] -pub enum Schema { - #[serde(rename = "aead_test_schema.json")] - AeadTestSchemaJson, -} - -#[derive(Debug, Serialize, Deserialize)] -#[serde(rename_all = "camelCase")] -pub struct AeadTestGroup { - /// the IV size in bits - pub iv_size: Option, - /// the keySize in bits - pub key_size: Option, - /// the expected size of the tag in bits - pub tag_size: Option, - pub tests: Option>, - #[serde(rename = "type")] - pub aead_test_group_type: Option, -} - -#[derive(Debug, Serialize, Deserialize)] -pub enum Type { - #[serde(rename = "AeadTest")] - AeadTest, -} - -#[derive(Debug, Serialize, Deserialize)] -#[serde(rename_all = "camelCase")] -pub struct AeadTestVector { - /// additional authenticated data - pub aad: Option, - /// A brief description of the test case - pub comment: Option, - /// the ciphertext (without iv and tag) - pub ct: Option, - /// A list of flags - pub flags: Option>, - /// the nonce - pub iv: Option, - /// the key - pub key: Option, - /// the plaintext - pub msg: Option, - /// Test result - pub result: Option, - /// the authentication tag - pub tag: Option, - /// Identifier of the test case - pub tc_id: Option, -} - -/// Test result -#[derive(Debug, Serialize, Deserialize)] -#[serde(rename_all = "snake_case")] -pub enum Result { - Acceptable, - Invalid, - Valid, -} diff --git a/src/test/schemas/hkdf.rs b/src/test/schemas/hkdf.rs deleted file mode 100644 index fb99947..0000000 --- a/src/test/schemas/hkdf.rs +++ /dev/null @@ -1,73 +0,0 @@ -use serde::{Deserialize, Serialize}; -use std::collections::HashMap; - -#[derive(Debug, Serialize, Deserialize)] -#[serde(rename_all = "camelCase")] -pub struct HkdfTestFile { - /// the primitive tested in the test file - pub algorithm: Option, - /// the version of the test vectors. - pub generator_version: Option, - /// additional documentation - pub header: Option>, - /// a description of the labels used in the test vectors - pub notes: Option>>, - /// the number of test vectors in this test - pub number_of_tests: Option, - pub schema: Option, - pub test_groups: Option>, -} - -#[derive(Debug, Serialize, Deserialize)] -pub enum Schema { - #[serde(rename = "hkdf_test_schema.json")] - HkdfTestSchemaJson, -} - -#[derive(Debug, Serialize, Deserialize)] -#[serde(rename_all = "camelCase")] -pub struct HkdfTestGroup { - /// the size of the ikm in bits - pub key_size: Option, - pub tests: Option>, - #[serde(rename = "type")] - pub hkdf_test_group_type: Option, -} - -#[derive(Debug, Serialize, Deserialize)] -pub enum Type { - #[serde(rename = "HkdfTest")] - HkdfTest, -} - -#[derive(Debug, Serialize, Deserialize)] -#[serde(rename_all = "camelCase")] -pub struct HkdfTestVector { - /// A brief description of the test case - pub comment: Option, - /// A list of flags - pub flags: Option>, - /// the key (input key material) - pub ikm: Option, - /// additional information used in the key derivation - pub info: Option, - /// the generated bytes (output key material) - pub okm: Option, - /// Test result - pub result: Option, - /// the salt for the key derivation - pub salt: Option, - /// the size of the output in bytes - pub size: Option, - /// Identifier of the test case - pub tc_id: Option, -} - -/// Test result -#[derive(Debug, Serialize, Deserialize)] -#[serde(rename_all = "snake_case")] -pub enum Result { - Acceptable, - Invalid, - Valid, -} diff --git a/src/test/schemas/mod.rs b/src/test/schemas/mod.rs deleted file mode 100644 index ec6aaf9..0000000 --- a/src/test/schemas/mod.rs +++ /dev/null @@ -1,3 +0,0 @@ -//! Schemas generated from https://github.com/C2SP/wycheproof/ with quicktype.io -pub mod aead; -pub mod hkdf; diff --git a/src/test/vectors/aes_gcm_test.json b/src/test/vectors/aes_gcm_test.json deleted file mode 100644 index 1d06652..0000000 --- a/src/test/vectors/aes_gcm_test.json +++ /dev/null @@ -1,4839 +0,0 @@ -{ - "algorithm" : "AES-GCM", - "schema" : "aead_test_schema.json", - "generatorVersion" : "0.9rc5", - "numberOfTests" : 316, - "header" : [ - "Test vectors of type AeadTest test authenticated encryption with additional data.", - "The test vectors are intended for testing both encryption and decryption.", - "Test vectors with \"result\" : \"valid\" are valid encryptions.", - "Test vectors with \"result\" : \"invalid\" are using invalid parameters", - "or contain an invalid ciphertext or tag." - ], - "notes" : { - "CounterWrap" : { - "bugType" : "AUTH_BYPASS", - "description" : "The counter for GCM is reduced modulo 2**32. This test vector contains values such that the GCM counter wraps around.", - "effect" : "When the size of the IV is not 12 bytes then detecting incorrect encryptions leaks the information that the GHASH of the IV was close to a multiple of 2**32. Combining this information from multiple incorrect encryptions allows to recover the authentication key." - }, - "Ktv" : { - "bugType" : "BASIC", - "description" : "Known test vector." - }, - "LongIv" : { - "bugType" : "FUNCTIONALITY", - "description" : "GCM allows long IVs. Such IVs are compressed using GHASH to generate the CTR values. Some implementations restrict the range of the IV sizes.", - "effect" : "If IV sizes other than 12 bytes are supported then the correctness of the implementation is critical. An incorrect implementation of long IVs can (and probably does) leak the authentication key." - }, - "ModifiedTag" : { - "bugType" : "AUTH_BYPASS", - "description" : "The test vector contains a ciphertext with a modified tag. The test vector was obtained by manipulating a valid ciphertext. The purpose of the test is to check whether the verification fully checks the tag.", - "effect" : "Failing to fully verify a tag reduces the security level of an encryption." - }, - "Pseudorandom" : { - "bugType" : "FUNCTIONALITY", - "description" : "The test vector contains pseudorandomly generated inputs. The goal of the test vector is to check the correctness of the implementation for various sizes of the input parameters. Some libraries do not support all the parameter sizes. In particular the size of the IV is often restricted." - }, - "SmallIv" : { - "bugType" : "WEAK_PARAMS", - "description" : "GCM leaks the authentication key if the same IV is used twice. Hence short IV sizes are typically discouraged or generated with a special construction such as the one described in Section 8.2 of NIST SP 800-38d. Some libraries may reject small IV sizes." - }, - "SpecialCase" : { - "bugType" : "EDGE_CASE", - "description" : "The test vector contains special cases for iv and tag." - }, - "ZeroLengthIv" : { - "bugType" : "AUTH_BYPASS", - "description" : "GCM does not allow an IV of length 0. Encrypting with an IV of length 0 leaks the authentication key. Hence using an IV of length 0 is insecure even if the key itself is only used for a single encryption.", - "cves" : [ - "CVE-2017-7822" - ] - } - }, - "testGroups" : [ - { - "ivSize" : 96, - "keySize" : 128, - "tagSize" : 128, - "type" : "AeadTest", - "tests" : [ - { - "tcId" : 1, - "comment" : "", - "flags" : [ - "Ktv" - ], - "key" : "5b9604fe14eadba931b0ccf34843dab9", - "iv" : "028318abc1824029138141a2", - "aad" : "", - "msg" : "001d0c231287c1182784554ca3a21908", - "ct" : "26073cc1d851beff176384dc9896d5ff", - "tag" : "0a3ea7a5487cb5f7d70fb6c58d038554", - "result" : "valid" - }, - { - "tcId" : 2, - "comment" : "", - "flags" : [ - "Ktv" - ], - "key" : "5b9604fe14eadba931b0ccf34843dab9", - "iv" : "921d2507fa8007b7bd067d34", - "aad" : "00112233445566778899aabbccddeeff", - "msg" : "001d0c231287c1182784554ca3a21908", - "ct" : "49d8b9783e911913d87094d1f63cc765", - "tag" : "1e348ba07cca2cf04c618cb4d43a5b92", - "result" : "valid" - }, - { - "tcId" : 3, - "comment" : "", - "flags" : [ - "Ktv" - ], - "key" : "aa023d0478dcb2b2312498293d9a9129", - "iv" : "0432bc49ac34412081288127", - "aad" : "aac39231129872a2", - "msg" : "2035af313d1346ab00154fea78322105", - "ct" : "eea945f3d0f98cc0fbab472a0cf24e87", - "tag" : "4bb9b4812519dadf9e1232016d068133", - "result" : "valid" - }, - { - "tcId" : 4, - "comment" : "", - "flags" : [ - "Pseudorandom" - ], - "key" : "bedcfb5a011ebc84600fcb296c15af0d", - "iv" : "438a547a94ea88dce46c6c85", - "aad" : "", - "msg" : "", - "ct" : "", - "tag" : "960247ba5cde02e41a313c4c0136edc3", - "result" : "valid" - }, - { - "tcId" : 5, - "comment" : "", - "flags" : [ - "Pseudorandom" - ], - "key" : "384ea416ac3c2f51a76e7d8226346d4e", - "iv" : "b30c084727ad1c592ac21d12", - "aad" : "", - "msg" : "35", - "ct" : "54", - "tag" : "7c1e4ae88bb27e5638343cb9fd3f6337", - "result" : "valid" - }, - { - "tcId" : 6, - "comment" : "", - "flags" : [ - "Pseudorandom" - ], - "key" : "cae31cd9f55526eb038241fc44cac1e5", - "iv" : "b5e006ded553110e6dc56529", - "aad" : "", - "msg" : "d10989f2c52e94ad", - "ct" : "a036ead03193903f", - "tag" : "3b626940e0e9f0cbea8e18c437fd6011", - "result" : "valid" - }, - { - "tcId" : 7, - "comment" : "", - "flags" : [ - "Pseudorandom" - ], - "key" : "dd6197cd63c963919cf0c273ef6b28bf", - "iv" : "ecb0c42f7000ef0e6f95f24d", - "aad" : "", - "msg" : "4dcc1485365866e25ac3f2ca6aba97", - "ct" : "8a9992388e735f80ee18f4a63c10ad", - "tag" : "1486a91cccf92c9a5b00f7b0e034891c", - "result" : "valid" - }, - { - "tcId" : 8, - "comment" : "", - "flags" : [ - "Pseudorandom" - ], - "key" : "ffdf4228361ea1f8165852136b3480f7", - "iv" : "0e1666f2dc652f7708fb8f0d", - "aad" : "", - "msg" : "25b12e28ac0ef6ead0226a3b2288c800", - "ct" : "f7bd379d130477176b8bb3cb23dbbbaa", - "tag" : "1ee6513ce30c7873f59dd4350a588f42", - "result" : "valid" - }, - { - "tcId" : 9, - "comment" : "", - "flags" : [ - "Pseudorandom" - ], - "key" : "c15ed227dd2e237ecd087eaaaad19ea4", - "iv" : "965ff6643116ac1443a2dec7", - "aad" : "", - "msg" : "fee62fde973fe025ad6b322dcdf3c63fc7", - "ct" : "0de51fe4f7f2d1f0f917569f5c6d1b009c", - "tag" : "6cd8521422c0177e83ef1b7a845d97db", - "result" : "valid" - }, - { - "tcId" : 10, - "comment" : "", - "flags" : [ - "Pseudorandom" - ], - "key" : "a8ee11b26d7ceb7f17eaa1e4b83a2cf6", - "iv" : "fbbc04fd6e025b7193eb57f6", - "aad" : "", - "msg" : "c08f085e6a9e0ef3636280c11ecfadf0c1e72919ffc17eaf", - "ct" : "7cd9f4e4f365704fff3b9900aa93ba54b672bac554275650", - "tag" : "f4eb193241226db017b32ec38ca47217", - "result" : "valid" - }, - { - "tcId" : 11, - "comment" : "", - "flags" : [ - "Pseudorandom" - ], - "key" : "28ff3def08179311e2734c6d1c4e2871", - "iv" : "32bcb9b569e3b852d37c766a", - "aad" : "c3", - "msg" : "dfc61a20df8505b53e3cd59f25770d5018add3d6", - "ct" : "f58d453212c2c8a436e9283672f579f119122978", - "tag" : "5901131d0760c8715901d881fdfd3bc0", - "result" : "valid" - }, - { - "tcId" : 12, - "comment" : "", - "flags" : [ - "Pseudorandom" - ], - "key" : "e63a43216c08867210e248859eb5e99c", - "iv" : "9c3a4263d983456658aad4b1", - "aad" : "834afdc5c737186b", - "msg" : "b14da56b0462dc05b871fc815273ff4810f92f4b", - "ct" : "bf864616c2347509ca9b10446379b9bdbb3b8f64", - "tag" : "a97d25b490390b53c5db91f6ee2a15b8", - "result" : "valid" - }, - { - "tcId" : 13, - "comment" : "", - "flags" : [ - "Pseudorandom" - ], - "key" : "38449890234eb8afab0bbf82e2385454", - "iv" : "33e90658416e7c1a7c005f11", - "aad" : "4020855c66ac4595058395f367201c4c", - "msg" : "f762776bf83163b323ca63a6b3adeac1e1357262", - "ct" : "a6f2ef3c7ef74a126dd2d5f6673964e27d5b34b6", - "tag" : "b8bbdc4f5014bc752c8b4e9b87f650a3", - "result" : "valid" - }, - { - "tcId" : 14, - "comment" : "", - "flags" : [ - "Pseudorandom" - ], - "key" : "6a68671dfe323d419894381f85eb63fd", - "iv" : "9f0d85b605711f34cd2a35ba", - "aad" : "76eb5f147250fa3c12bff0a6e3934a0b16860cf11646773b", - "msg" : "0fc67899c3f1bbe196d90f1eca3797389230aa37", - "ct" : "bd64802cfebaeb487d3a8f76ce943a37b3472dd5", - "tag" : "fce9a5b530c7d7af718be1ec0ae9ed4d", - "result" : "valid" - }, - { - "tcId" : 15, - "comment" : "", - "flags" : [ - "Pseudorandom" - ], - "key" : "bb571c160132b0c8d5d190d0bc356ddc", - "iv" : "2596c440cf0232950ec66bc4", - "aad" : "", - "msg" : "053be1b6190a717fc74c879e6fd62dc44628495507e50d662271dee795a4ad26e0c4f86cb6b20ac6bd9d682d2d8a05c9dad875a6911b49ea0af4f17c97a5f2", - "ct" : "b1cfad142a462f3656e0921627fd41d4f1fa8e2f8bd94bb51fdcf06f606296f7d2885337bed7a4ca6ddb4a9fc7fdb2476b5f7fa5220e1d6752a5e7c31c916c", - "tag" : "a231b617352ffdb63d32d69d99e7d629", - "result" : "valid" - }, - { - "tcId" : 16, - "comment" : "", - "flags" : [ - "Pseudorandom" - ], - "key" : "e12260fcd355a51a0d01bb1f6fa538c2", - "iv" : "5dfc37366f5688275147d3f9", - "aad" : "", - "msg" : "d902deeab175c008329a33bfaccd5c0eb3a6a152a1510e7db04fa0aff7ce4288530db6a80fa7fea582aa7d46d7d56e708d2bb0c5edd3d26648d336c3620ea55e", - "ct" : "d33bf6722fc29384fad75f990248b9528e0959aa67ec66869dc3996c67a2d559e7d77ce5955f8cad2a4df5fdc3acccafa7bc0def53d848111256903e5add0420", - "tag" : "8bc833de510863b4b432c3cbf45aa7cc", - "result" : "valid" - }, - { - "tcId" : 17, - "comment" : "", - "flags" : [ - "Pseudorandom" - ], - "key" : "97ec85a69a05131cd4ff643972f6d8f9", - "iv" : "9189e0eedcc413a0ba1e63d2", - "aad" : "", - "msg" : "10acefa6f3959faecb5cfdaee8aaf09d4381b2b147e0b13450c26ee07f29edaa9a1f1af4e2d111dea7ff681a19fc3a4fd66df6a17985b06543a3b6c0e4e51a54b7", - "ct" : "eefdf89997244e065ff19ac2374dc92ee76899ddcbe7c834dcc657242fc0f6dd38272373ba9b549316a36f1522e1cab246157875898c966eec563d57eca5c7d32d", - "tag" : "23aaa2c6b680fcaaeb2c7a55726d4bc0", - "result" : "valid" - }, - { - "tcId" : 18, - "comment" : "", - "flags" : [ - "Pseudorandom" - ], - "key" : "65d38f0b268f180d6ba548d509111dde", - "iv" : "e14dfc27394ac846c2373ea7", - "aad" : "", - "msg" : "1fa76d7995dc996a5f5dabaa4be401be14f4d4706a213a4dd725df386ec147a6be074947c733094f47a7222552376740aa8348a0ae1c7f2d972a0ad664f8b8ec81dfc9af078b61daea5dde874fd73775b4cd65acf069ada0b2b9bfbb4a9817ba41d4dcaff7653df5c8cd9ce7f59eec92ae9e61314e03ef48839810ea825520", - "ct" : "40dc9b139e888f1811391134b15e914826414a99db512a0632dc4c56d70f7b7991e9945a2025890e951699cf6b2ccee093c9a6a752b98ff696240126759f480299c1dd82aa2c4f462a4a8ad1ad0c7a755f07908c9c0d336d57dbdebc940bbae28ba0336dccaf6bfdc93623686f9487ef0884d100b6b98949afbd4217dc4640", - "tag" : "4218d6ac98c0444bc64ecbe1d763136a", - "result" : "valid" - }, - { - "tcId" : 19, - "comment" : "", - "flags" : [ - "Pseudorandom" - ], - "key" : "3c55f88e9faa0d68ab50d02b47161276", - "iv" : "d767c48d2037b4bd2c231bbd", - "aad" : "", - "msg" : "5d6add48e7a5704e54f9c2829a9b4283dce0d3a65b133eba3793c4fbfa1d8e3a2539d0d4f3de381598ce5b2360173fbd149476c31692c5d6e872fce40219378949c2e70b5f1b9f0a1d5f38352ad814b2a035bb3f3f26425d831a2f7a5e65c5dfcd91a315c2b24f53a662605ea40857dd980e9be5cdad000c569f2d204d4bd3b0", - "ct" : "17d72d90bd23e076d8364a87ecb9ac58acc5de4629bfd590409b8bf1fcd3a2f602731b4614cec15e773ea65a65e7210994256bf5450a25acb527269c065f2e2f2279d1fe8b3eda98dcf87b348f1528377bbdd258355d46e035330483d8097e80c7de9bbb606ddf723f2909217ffdd18e8bdbd7b08062f1dcba960e5c0d290f5f", - "tag" : "090b8c2ec98e4116186d0e5fbefeb9c2", - "result" : "valid" - }, - { - "tcId" : 20, - "comment" : "", - "flags" : [ - "Pseudorandom" - ], - "key" : "62b3881832d428b6f900cacfa0fc5cd8", - "iv" : "f4cb98cc99e7bc424a98384e", - "aad" : "", - "msg" : "0b91dd36a6fa967a257b267d12cbc20b56ed615b205d044a04b4ae8aaa365bd29a3b8f47a0828ef63324d1ff924c68090abaaad78df602edee0621b823f94c35ada7b62d81f21dd9945d1abb4ef882cfab12c2e4cec705df3d669183fe681753503a99a871637953537ef479b1f62de7819dbb5c950de7722090942d38129aefa7", - "ct" : "00574615883e222657bdf34e9327888f5d532d086581834c62adf54c7fee46927ca27cba193d86c6140b3610a2cd16ba295814b5b7d6a1c8d3f039e0e8f8d7942b0616a9b9f0012884311b0c370f9dd6b9a3d8b6ff36177683c0dd858850dd29993b3eec89a2ab8068038e2c86a2e71b5cacdb38ad69ac0580e29a6f7813c17258", - "tag" : "88b99f768364ff9e95a94ccbbc1b166e", - "result" : "valid" - }, - { - "tcId" : 21, - "comment" : "", - "flags" : [ - "Pseudorandom" - ], - "key" : "8aeaa2591a452e626b9a6468b623bdfc", - "iv" : "b90f446f68aea588d843d01a", - "aad" : "", - "msg" : "f0721c3b68d905092cada6d568df3a2da39573c7bb0e9a4ed159a2634237f9e788488c06fe8a7e1e01d1a1c985543ecf90f3d32e57d33c3df6c165b7edc6fbcf8bf2d043d1b7c0060309a29565a004ea3214d4e4f7dedeac2d74576c019b5fa000d025917af6f86310942102a34d92781972d4f1f57bbdd6f9b08cc979a358aacf6cb62334bfc916c249f18bcee644a8907ef576b41437098bdf0069767fb5ed1c0f1385e5895e4a5d70f5941a93014333436a7af465ec1038fdfa006410a0871225d64848e6c59ac23f176df663ee2171c9eaec0477f9ebd280880d9f2967a2e791cc998f6b23518ca97bbc6405d6ced3373ebf3d208c2a909274460a614a", - "ct" : "7bb36313569ff8b5c58e41b17a78fa5d780073bee20b55f004532288e7f0a9475076364d8922d389ecd189f597a8a677cb2484513ed7afe2d0691717cd0ac0e27bf7e2257dd7e4ffc0bbf59e92d258e1116fac9bfc84a2df728bdd7ab221754dd341f7229e030dce06474d00f99a5e457943bd9e8f345bcbb5407690d072dfb0113b64bc0e658eeb7226409a5898dd27d995a0be021f351091f9b907ae3a9625f240dee2bf4bb15eb4f30f4abf1ff25ca5536def969d2588188fecacfc7dc75f5c676ca7851f9e805f498372c6b98f5c7d12403723619f80ce5badfe5844643d5631d4998ee0426a2b29159cae2590dc81646c78be5c9e8ffe056aa0d3552e", - "tag" : "fc62295c70d140dbc354fdbc8003eb41", - "result" : "valid" - }, - { - "tcId" : 22, - "comment" : "", - "flags" : [ - "Pseudorandom" - ], - "key" : "e88d95eabe88fcf158fae858af951221", - "iv" : "a65834a9d231b34709383e9a", - "aad" : "", - "msg" : "2decaccc8b424fa4963890ece15b3fc281b6215780ff6baee57edcd25afe260ff80ed4f25cc04d2802a1e90a2e6e96d1ee73a4a53dcf60025d484054d146f275ab34c33b102001a07d804cc94a40fd78c16780d1b648487fac035386e5d25c2b9edbf7a52d102d1943958c009eb6d88e00a3227c4c788e445003fabb4dbefccd3fe1716d916446fee2111615d560ecc59d7bd288268ab321e7002545887183fe023fdec2a6d3b73b94d1548cee19638d31d2c5a32b15d2aae3f42950a787115e200b00022d4929105da0b4d10ccb0b3886b3169b32ac5df7a637c23362e2d4ed9c137f35bbd578c2cda0377e0f1e64f7d31e9ef4d7603ea1363523758385c761", - "ct" : "9b3833c356f83d19f59ac4770c9586aad457810f9dc55112cc6b87e94d8dc71184b227a14500c0a8619d544435db4c001467ef2acba95007299d717fadc0c0717c4c8e748d03ffe2cf2fd06f0009b0e6590f956c212a2c926d5679bdbb79d87636ae9faefa5c8330c570e84b94626f87d6a53b121574f74c9e3211d9451811e9940db5e74d128364328fb8f40f850a25c3e7ba4fdeb0ef6a639060a11d1c32ae0531d2518f905952c9814236b00b9393fd31f8c0522f8e3072b864a3a5cebe1ceb15585c9042f3f5b95390c62d8c1b513550defd21b481fcfbd9fdd6c262ff6ed4e0a6051be309788a763e567107f039e988757f96ad95436792a3bd26f38590", - "tag" : "4f4c265edd3158c641ce9555b58650db", - "result" : "valid" - }, - { - "tcId" : 23, - "comment" : "", - "flags" : [ - "Pseudorandom" - ], - "key" : "a294e70fa2ac10a1fb00c588b888b673", - "iv" : "dfe20d1c4350e6235d987af1", - "aad" : "", - "msg" : "6ed1d7d618d158741f52078006f28494ba72a2454f27160ae8722793fcebc538ebc2f67c3ace3e0fe7c47b9e74e081182b47c930144e3fc80d0ad50611c3afcfe2dbc5279edbbba087c0e390355f3daffcd25ad4dea007c284ad92e7fcbecb438fb60623ff89a599dca2aac141b26651386ca55b739b94901ef6db609c344d8acf4544568e31bb09361112754b1c0c6a3c875bd9453b0ee0081412151398a294ecad75add521611db5288b60ac3c0128f6e94366b69e659e6aa66f058a3a3571064edbb0f05c11e5dde938fb46c3935dd5193a4e5664688f0ae67c29b7cc49a7963140f82e311a20c98cd34fbcab7b4b515ae86557e62099e3fc37b9595c85a75c", - "ct" : "5bc6dbafc401101c7a08c81d6c2791aa147ce093aad172be18379c747384a54a41a747ba955cade8fdfb8967aa808b43fee3d757cc80f11163b800e5e59df932757f76c40b3d9cba449aaf11e4f80e003b1f384eafa4f76e81b13c09ec1ad88e7650c750d442fe46d225a373e8a1b564b4915a5c6c513cfdfa22d929d5741ca5ebefaedcba636c7c3bbef18863fdc126b4b451611049c35d814fc2eb7e4b8f1a8995ecb4a3c86652a068c0b2a3e1c5941d59c210b458d5d5d3b06420ec2053465ccceca7c20f67404985460379e2ee806a46e8409dfab2e0dd67ea3cf46d5ad4eb78756827358c3ef1fdbd07c33834f3d9eca3ff13b744a01059a6c17a315a8fd4", - "tag" : "c7587e7da41bed682c37377ea4324029", - "result" : "valid" - }, - { - "tcId" : 24, - "comment" : "", - "flags" : [ - "Pseudorandom" - ], - "key" : "4a30eac07b788b7354a90e6448f56676", - "iv" : "c359d567616b6384ac20a43f", - "aad" : "", - "msg" : "9a17b9d1dbe666f7431cbdd3b3173948c7ac13f268e12807256d2e5831ae67a14116144910b38368934571daff9d4004ba959b3cae2669e6eed49e750ca228415c6f7d1c1f2d3dbb02f4dfa49483a7f80fbcc1cb01d22c67817cc7a2bd2714eb62cdf8fb884a66ed245167cdb22e0dbc7b153e648714dfe83414696cffa892daf5af8820d562bdf55f76be5584a34b7e349d10d76c6e68305835b551a41ebf48e068320d875334a6a2d3108b1e93f7aa8da485d7a5470d805e0dd38c09feaa0f494d0572de314a287439f48aee5a2fa8e9850c6127ee88d50c5e8a2ac3eaa7b2fdd1589813fb3affa6589831df132bd576fbed21717e2b6766e593ed74dab35da125c433763ea90234dc6f01d37be14c78b8861be1fb4c8296b3faee65b6ef8a9daa6884e936359346f2da9f6981f9d64f676767641ada628aa8c7129326bd4ee57e515a2f78ba18c595b9bc1d0f49068734a67e635554eee688816061e904a4e05125d0e7797305451a7c3a1a3c507daedb990c12ca290a0f554aa8e834653aa21a0469d3b0c08ee512b323cb193779c9fe2f2b3f03794cd42f0220031d0c8eeb9c73a3283a599bc78da3b5b41b243edf082b23801a15d9956fca60f35acfb65c4d06d28aff81a1ca98c6faf8645be920bd87c03c054a0469b292ae34d05860e8d9b061300370463dcd5fcd6fb1d6b1acc9b4eb25cabd9de4e61d44922fcc", - "ct" : "3e13588d5a014dcc1cbf46bd6c3f06dfbef1464649e79a9bcbd99484686d72653827882dba803a5683f82a9bdfec6b44b29b7c13f3f2b5dbc675780540f6a8a08e45f59fa88021095f8b3db5f10bc21721a56d65a589216cbc5b1915cbe7e2f8612a9d24b30ecde2a296a96f48ad1160720537312208e9b6824e6413f2084f229dc6e953c4b8a054e3c368ef1f70dd9cf276caa4cc251e475f507a2bd072b7f4a1311302f617e2cc594eb6a0c49ac173db07831945f5129a38e45135beb97b39393f73d0977e324820533f3dd752051996543a0620ebba50288923f1d0181badb2204c7469e8b4b5d14a984c3f0f3d34bb383416149e0a0ca14f4f6dfe58902a48ecd3bdbc02a8c84bb303e83491824b2ca976991b229d715af2bf4ba3385d7d93e3ada52f12317b73e2939628d7589810d6a278d4c24e907b4ffce0d177b040e9dce97b63c9b8c1743ad6febd0c9a273f648b91ba5b5719159785db770c664290e93d69ba14757d8bba68f0f93a136031a97c72f2be6bf9e15237e998395930b4d1f87b57a5fa65494dc8feb761bdaffed4b3bf0073e9244abb4a3a7e15e2d52a3bb8446766f0e7563702a943dd16d5db9dbecb0044e462bed17eab81b312aa4f32415db8f09bc0cc2db7406f4f67862af986b965237913d119ca85b8d64b4e610034891f78433f370fbe6c9996a69d0de308ed685f4339f9b67fa5ec100e", - "tag" : "58743a6d49272df201d81dcccdaf76fa", - "result" : "valid" - }, - { - "tcId" : 25, - "comment" : "", - "flags" : [ - "Pseudorandom" - ], - "key" : "fc8e6d2c7f42cab59375327285cc3398", - "iv" : "49e1e00c48eaf1b5b9d2cb45", - "aad" : "", - "msg" : "2121b06990dcde2885739032622fd70294174074bffdf40b01f3554d5d87242da61673fe9b1687771ff1cc330d7b8a5138f6598d8160ec90a4816a6dbab310f2c99ab19c49d8a5d04eed4b93cd76159766548e136517ecfb6aa7ad51e5ff6d083c0e53533692388e651ea9cba94693118e4699926476fea785d2cac0213aa68ae0a366923532d333ef133b490a4667606f7294db8c6a4530407409b51e803493d46638fba151b2031f8208d595b4e4ae55db66cd7c328753cfa0f644438b0bff4f87d9b7c5648e5d2e8057e0b20d550cf1d0aa13900647c332909b50f8ecb1ee148342aac705b28215900030bfd90ca1446e3a03ceb2ab71a9ceb3d8f0b4626febf1dcff3c1f5ae0fef4c0f74623ba47eb5fdc42d42a2039f45e5987624d97d0fcfb95f74c478d613b9067f03cb86d6055d5124e6ff3174d136d60fd7a54e7c8fdfff20fb5807c4e356cbfc70df4bf83997855608558dff64b3ea8854481cb24933000489f4b8e9415b22237e916653874549d7687ae71b063ace3ef7e41c705d197c3157dacd3263d61132a4f07b91cb0cd79bc7cfd85f6f8c1f507c33bb910e2e879e0e4d8fedf804134d14d5998b38376d9ac0831d1577510ef3704e3f68acfcb433aa2a751f94fa8b6b312afbeea7f3d1f38784d79db414c7799e011ca4d35779ed17aed7d96df5e1a60ace74692686ede778dfb4beeb42585c8ccdf03cf", - "ct" : "51eb448f839802e6d73c5b628eff69b1a449c5b1e709f2fd869c8ebac9725ecc3c9f426f875853cada118f846de1a52f3b36e2446680cdb44241c475b0414590f1ee4bb978db5e88c696d13cadb31ebaa897c24e8204ddaa0e9c6d7865cab9934d6f811288da285eb3a54235e232a6dbb2a7ba36ea72818218a1ed4c96e859d0ead7cc7e3d8993c1005fa55b53d752b4ca2194736d76b9253197281e0c6333048572046b20cce32940eefacdc625adc8419c6a222c61c9a8f248463c37a3c4e688a9d74e9006fd7910769e3b21c7dc0d7ed58f0eeea58e3257c40e17ea42884157e3afc9913757506bd90527dd285bda33ab5a447f90e6f8c9ecff2289fdac6cd28074c3e10bb374337f6c587dacb8cbf7bfab272fcd462c2a06b465a791eab911cab96ae6ccdf382aeb2e9d5ab07e3dc133d7f5b7402bb1b6ccf8ce4815392130073f6c03d3919d8640cd7ba9b7fbbfcb07405093ac408c4acd50d52d7cae06b9f3648b539044e49eb0d526c6323b5932d3cdf118ccb556498f24390d6d2103588c6cc4d118f52e4d66b1bde83a8b7c863e6a373c4cd65d1d1a98535810fbefa8ca38a20830e19ef8fdf8fba1d333655054e6c8a3fdc8403b13b27de07f9dbeef390ee06c058957c1f6e6dae7755090ef1d0afee347671fe69e5a280869040f4f35a6f687c37ee9e6b676a6d58ac198dc86a831ae20fa2e64f416552dfbdc4a", - "tag" : "1fba8fdad545d2443d6e79592974f355", - "result" : "valid" - }, - { - "tcId" : 26, - "comment" : "", - "flags" : [ - "Pseudorandom" - ], - "key" : "f01a3c3559c58e80bc832544e069ef29", - "iv" : "cd5bc2aed48c3be836d7d786", - "aad" : "", - "msg" : "0de5aac3f151b526751de8f36010e4394498eba3c8bc790fd4ba96eb2da33e40ddca3cb36fec102ef37a6a5132cd389bbcabbd15e1c9d2700af35f19a01ba3b26843ab50833f252befbbb5529173d51ca364d7d09468b3b68f740a6014b5b824206a6a7118bf144a223f87d76624c138bd24a5fa996f36e316087f3b59c1c71cd74a9184a518c8d9aa8c7243102dd39a93599e7bbe7dcd354d0780253767e9602f2f0cbbab7eae8d8c12cbad163f8fc20d32559f798d2b7285dba6f66dc28d9b3f0a301aa89f5cd1b5a1734fe72c68f98c861d26e7dddaa08a227999f7c98d7315e7c2e3c3f198cdd4cfd62f62389998c7b760106d0a437f5050f74f9ce63948f5494bed71c88be443654ef9eb0c867eede225c1bda181baabd8155360ccae65e54d399a3f7d670d11b53d7bbecda15d53e129ef2be29154e3c21411e6207977e2620007cf4b987dd2c304efe55bc2ef564074cd6e176a97184bff4cad0cd0cb85195c4e8398f27ca0d4d8c4851359eebdb606a213223903513f0db8c0fcc1f3a834738f6c9dd6adb43bdcbd921e7c3cd3b252e319f9e711edf55e8d7f1a320705a3ba77bfa33463a922a9f36b483590c4939fd977ace51c506d2e269b488a7169b696d828458ecb092ae3a9adf63a3a12809da51fc7340fc57db50fa1903f1c7de9ce606f1de3f95538823c04e3bfb6549385643710a2919f2fbd54887bdfb239", - "ct" : "c9139d5d6a14936dd5f286d33dee4f20f59a821152aa717274c1af90983a5f83b9016248e715a5d0998d329955f41a0396660d9f22df5f613098bfd3aa30df1922f08dc12c8fdca6d2638a51bfe594b24523b93181712d5205f9c2e5d48741e000ac2128619f6c9745448da294ac281428d6c607f4eedaeea0db12ba1627e56ae152ef2b2310cce829cc276217e31dac22ec8582d7a72b5d64d5583c75f42fc35551607ec57d9d40672d1641b64491fe23ff3eaeb33e2564319c58d69b19c65d1c56165ea2543631b95bd8629a91876c284d0245be6a4f34ad8628f7a4a4dbd3dc13c97a1b3a9108ca6721f38a4b5b00ea09abc2a90c39aed775f3a784f0aa1a0a18b99aebaf60fcc3385c2c9a03aa50e029ab81e5b9e37a0e1cf70d9c1adca56e98289b91d8c250858e30e2c21afe39b90635fbe15540b718c030696d1a4ffbefa8d8ec1acb5633c8f19eb5cf9186e9ec0594fdf1312e62d488fad9a894e19a8e99de578cc295d581645c4fa29a8f12d44859ebb3e2bff351de917189987266bd47ac7223a8d857f7730cef8a312a5164d7b00e0eeda4e21952062d8acefe44e0b89a37d0f5c31c4345bc360c936269f93aa4e00d05278681b39717b9f3445cdf7f98edad185d15fdd027399485428670b430b02702f373e9f86e4a6b33ebe73095427403795022527818b0d3316aef9a276ee8062684b5c16c683a748bdb0dac", - "tag" : "d070381db3e8d485e9416c92064180f1", - "result" : "valid" - }, - { - "tcId" : 27, - "comment" : "", - "flags" : [ - "Pseudorandom" - ], - "key" : "5a475f9976ed117ab37a4fffab0592eb", - "iv" : "6bce45bea6ad59bd2a08f7b3", - "aad" : "e8bb51b694b6b0763e097bad1152f5c762a878a3e7f7a9d78e809838de78567900281b7e4f0f185493fd85e28db79b595541aba7e158b3936490b632355d74", - "msg" : "dc6ab0e261412cc709422289ea202021d9298060", - "ct" : "35d3ab0534102884ed0db4694a221df1bf94dcdb", - "tag" : "d78d2c197deb70ed52933f4fa0b09856", - "result" : "valid" - }, - { - "tcId" : 28, - "comment" : "", - "flags" : [ - "Pseudorandom" - ], - "key" : "c4b03435b91fc52e09eff27e4dc3fb42", - "iv" : "5046e7e08f0747e1efccb09e", - "aad" : "75fc9078b488e9503dcb568c882c9eec24d80b04f0958c82aac8484f025c90434148db8e9bfe29c7e071b797457cb1695a5e5a6317b83690ba0538fb11e325ca", - "msg" : "8e887b224e8b89c82e9a641cf579e6879e1111c7", - "ct" : "b6786812574a254eb43b1cb1d1753564c6b520e9", - "tag" : "ad8c09610d508f3d0f03cc523c0d5fcc", - "result" : "valid" - }, - { - "tcId" : 29, - "comment" : "", - "flags" : [ - "Pseudorandom" - ], - "key" : "f64d1bc47b081afb21181bdc16ffbcca", - "iv" : "2c03293704f79612181609d3", - "aad" : "a883d23e25a62b492f1271d3d79b8689dde7250a0575b8175a6b69d48d1b4bc2df1b4dc4a2b1eb506bc0e8c11e7dc2f3d08b475214551df7c53e581ec55c0d0a2d", - "msg" : "85b24904bf12ced33d78df7437b36fff83d1e817", - "ct" : "b00975863c673f0f19326294ebc4c77f7287c279", - "tag" : "ae57622c1d175ebbca77bd4ee812ed89", - "result" : "valid" - }, - { - "tcId" : 30, - "comment" : "", - "flags" : [ - "Pseudorandom" - ], - "key" : "7e0e0cf8c9ac58867ef3e3315d0a4338", - "iv" : "a03461bd9ffedb16a65c0389", - "aad" : "c70f009be65ade8465cc05b5227963c12c60b68247ae2e431b2445bb6aa69c0a7820177861e5f6e3585269fd15efaf38c3713e6af0e93362d2d9a6e3296712f581563ae3980298f8bb7276859afecc7052fef63b060bc8f219ffe200e14dbde1f0a36233b5994a0b68c4690b437d495ddff991993e75039bcba4c19d7a6f01", - "msg" : "de4451316ad820471a43906965af9fa221c0360f", - "ct" : "8b9dcbd9c9573509d978db0d910e269612c907bf", - "tag" : "61ae3afdb06a01d8ee6f7e739ec30a4e", - "result" : "valid" - }, - { - "tcId" : 31, - "comment" : "", - "flags" : [ - "Pseudorandom" - ], - "key" : "7e37d56e6b1d0172d40d64d6111dd424", - "iv" : "517c55c2ec9bfea90addc2bd", - "aad" : "8ed8a9be4c3d32a5098434ee5c0c4fc20f78ef5e25ed8b72a840a463e36b67b881e048b5e49f515b2541ad5ce4ebb3a917c16bcdc0dc3cb52bb4ed5a1dffcf1e1866544e8db103b2ad99c6fa6e7de1d8b45bff57ec872f1cfc78b0e4870f6f200ff1291cae033defc3327ba82792ba438e35c4bfbb684fec5ce5e3ae167d01d7", - "msg" : "6a7dea03c1bba70be8c73da47d5ee06d72a27430", - "ct" : "cfb631790767d0645d8ec6f23bf7fa8b19ce79ee", - "tag" : "c5767ddaa747158446231766bd20490c", - "result" : "valid" - }, - { - "tcId" : 32, - "comment" : "", - "flags" : [ - "Pseudorandom" - ], - "key" : "d9218931dc592aef3bffb924c9e0b02c", - "iv" : "17d824f4f2f191e9c9dc0a52", - "aad" : "76dcb9948575b503fea75cb3d4949bb96ae3d2c1780f185e0fb3cd5b83eb7090be7a966f6146a4db7ef82f8adb9b10158b69d4bb19dffe4c639fe278d0334e68aaf1b68451a8e6778ddbb29aac4b25bcb2ea059601ee2eba439134aecd0ceacd98e388c40114c11969dfd4a16beeaf3d1c7410e99e674894445821e8fcda7b7ba7", - "msg" : "29f29bfc5b09ff158d74fbf7532c06aa3afa936c", - "ct" : "d0d22cc0893261b105c021f534737599cac3b10d", - "tag" : "f55f4ac6d836fc288036a63f53b0ddd4", - "result" : "valid" - }, - { - "tcId" : 33, - "comment" : "", - "flags" : [ - "Pseudorandom" - ], - "key" : "bf2056baaf45c5a00a733b49f10b7dd0", - "iv" : "fef1b243b44ba92b47c6626b", - "aad" : "1bb3a17907279ebff63593de97a64e5ceaf9e1d407e5a5eec1ce0f62586f0dfddb7a3a83fd164e800bcbc6fb089d6a247dfa444633f4663ae1e0bdf37b50a7a01f506e2220bbdd4b08c59fe60e455bdaeda7e5a0cdb2e6dfca66381a72962fa8a6f9847a87135ccf02a40da5b3b8e91e6e1f31542f85f90bce1de05188fe57355329031c66b3fde18bbdcbd2cbec42ea1d0fc803abed2f15c41d2f122674ea91b7280e818acb7549fe63135d2109b4014ec6002745301bd0ac59ca8e4f8d2fb699347b74e17818e3a57fa69c759312dcfde155b2a558a2385c8adab8a6d57f0f497eaf0833e3d930e83fed88c91e18a74c4f5ff45925a2bbdda22f9a4f1196", - "msg" : "7e8c2d8a65f539210c047422ae57549195a08393", - "ct" : "1fcc05bf4960fd02475c072f9eee8150994edcb9", - "tag" : "f3e092f2415f7f0ce88f37a2495dce48", - "result" : "valid" - }, - { - "tcId" : 34, - "comment" : "", - "flags" : [ - "Pseudorandom" - ], - "key" : "6f8307bb3d83d67866c2fa5b26f9cade", - "iv" : "dfe93ed879e4b391ebbbfd37", - "aad" : "1d72720dbbc40333e819a4def81f7bae137d8e52dc010ed901a390bf8c0ab6b435b08ef0184888bc83b14b98b59f6c56afd46131c5627b9e2a44f0a12a9a5356d9090c8b19c94f3f8651d49c74276bd9ae1071cad5f5040fbe1e99124ef44f3f813b13dff958e7331b949193bdf558fd14032c54f0e0ae7ac4d2e6a99d82a5da41135f0543ad377d217152497cf86435d24ee0c75997e3863133d322017aec98050b2fbc1dd8542293ae706889e754daf6ff8c91fb6533c5db7375dd3e365e6a18c546fa9463dfdb21d51c9cf23c9284a63cbfad197f376601101cb2f8a67b6e866569218043cd1745d25ecddf609ce2f9a8f76fb883780a393ea18b7624376b", - "msg" : "81ebf69754857be5ad7ddf0062f866421089d136", - "ct" : "4d8ff72d859bae1114201c419c098476e74eece9", - "tag" : "3b2e9e1b378d707bd2a961bd7811f0c7", - "result" : "valid" - }, - { - "tcId" : 35, - "comment" : "", - "flags" : [ - "Pseudorandom" - ], - "key" : "3076741408f734ce25d48f982e8b844b", - "iv" : "a2712eac5e06d3cc2864aa8b", - "aad" : "18526e4efd995a0bf6405d9f906725c290278958d49554974d8fe025e7860daa225c1285b0573916a4b6741f7cc2e29ce4e525e12f436cb7ce0ad47df3d0f5bd80fb27e47635a4985fdaedf0e821f1c8959985cac49c97a4a02438d92b4afd4c855dcc7ef41ecfc36866334fcc05b2bb93ef13f00c5ea9b921e8a519d77f648e0efe9b5a62305a2ecf7d4999663a6ddfca517f1f36f0899b0bdef9f433c4bb2663c0cc1bb616e7d1949e522bec85485d371d1134c90eede75e865dc7be405b54c33f0acbace6cf780c78035b8035b6ea3f562a8d30a156c199fdafd25be06ee895581195ef125cb4e629e4f18e0bee979d31513896db8466e448e6b4600a316757", - "msg" : "414ec6b149e54735302dada888b98b7fdb4c127c", - "ct" : "e4d3f4898cb3d9732641d1f8d9d889b2c98af930", - "tag" : "76d4fbb69d529b64175b328be00b1068", - "result" : "valid" - }, - { - "tcId" : 36, - "comment" : "", - "flags" : [ - "Pseudorandom" - ], - "key" : "01842c51b9943da4ec4effc057f8c3e3", - "iv" : "0d5bf8ade38ed384861839b8", - "aad" : "e2b0c047ee9a7ebde0bc5c2a773f02703f2526226d7fd721a6bdae1d9701da986db6c9bf224f032947bbcc40b269e40c7a4fc1a3d667cf6379843ecc3b9d0664dcde0dfe8d803aa8e14a59cfea1cc58bd93e8a54d5936229a21c497bd75c4534e19480b2a50ae8de0b906f75c1dcf737b5179daf751c3d6f51a1111c4865139393ee95963393a8f98005546759565baf95be2334e57f7c23272c9eca778d9956ee16b187fe309d9e1e699c1a8acdf370fbcab37b1e107934bb156987a282bdef9f9a92758474d808a3e3b191a6476f3e6ed49dc08451e3404e65918fdba33ba8ea3ba09b5669b4be9a64b93bae5de662b8f35d4abbb68118de9d025ebeb599a9cd2b0e35fd82aa0df2d43b60a61512d5af934489302572f928b790e6aadff6b7304b1a4080cc4faf8c698daa3045c945d828d915da6dda0662545f7d85297a36438ea7315a48d9a097140776f3c43d28f522f8afa03000c5a0192b5fb776b3bd06d3d9c52c873fccb0ecd1a8e14187ae2621d2e2848ae30af7ed0758fdbbc497aa69d58441f4d4b8ea13aaac97c4bffc4d07dbc62ae27f00a8db0c5d1bb24042481369f6ccd4df85d9c58a90069897e17ae0334248e13306a936697d2b5dadde5ac6c10b554b6bbd27752101b5df1f1cbb8c0ec1977c4581ab8dcd26a31dff01433785206b6595e3b824b5834295407f5027159eee46189f390537ddce6db5", - "msg" : "dfc40cf38738675120f03b12505589b2f02bba68", - "ct" : "e4035356a34bb01ea65c7e6d972cb4cec0252a79", - "tag" : "1054ef6bc0a5156445cf760a2a65d847", - "result" : "valid" - }, - { - "tcId" : 37, - "comment" : "", - "flags" : [ - "Pseudorandom" - ], - "key" : "67bd1fe83e4500ddaea721035d4cf7e4", - "iv" : "5449b293c849be9941b1fb3e", - "aad" : "18b8e9b141288ca891606a88987057fa078efc47c0e270b36985c924506e4f8e4a3d1541d0535f515a370a3400e2408fc92d217f9f37fb0b972a3a7602cac98f8f0231a4d76cf584d9239ee816765cecd28f325b907e0b02b260609c70226a16ecd9bd67a64ea12c4b249c05a90112940200df3e70519a4b9ec136b6f535d4b8b2ae16c5a54cb8c57d87451697e5101e1d09a94d2117b30ce90c3685117e2194a379e7a5754da20179582f97767e633d141185fe3784a44d94210b214768aa51117ed5c880613623e4aabbb647721764a513425b8d90d4189651f1529e688466d8abed49e2a5f0f4493b878d4169848547f591277631f1fed6c97d167f8baa68920a2b0220d2ad5ae65cd09dcbbfab42bc666867378e40fd3ced9719a76659ba22213a5a23e30aeeef995164883299e7dd6fff1617b4287c3197cb3b1abd54b2f0ca573b1a4677a054f1232cd19803633fe57b041c768df7c3506313e7eaa365624833becd768fcc4a31ade932e71ade8ccbf400b3aa2d32891a4a173fb7498c9564c89b70548fd495ac2ea85c4bedb4c9136d1a0a6c1618c4f1aa8e619fef765e1c7410f86cd8ae7d0b7ed28947433cd0ff64f5f9029816d61080237f099aad2f8520f25d7685cc1893b3e8da3aafdb38846b6758ee02b5c5ac899b2c0738453be2a83b879f97cbad8e214786fb2a836c74e06ef190022f4b5557694c254bc7", - "msg" : "c259151909cc0480abbae3f7fb6beac92258d37d", - "ct" : "2ccc824b0c0b593faeeff2424f3a64b1dcd08c07", - "tag" : "e52d78836666333b2fe59ddc5d6f264d", - "result" : "valid" - }, - { - "tcId" : 38, - "comment" : "", - "flags" : [ - "Pseudorandom" - ], - "key" : "e7e0827a582b946828cb6df0d1c4617e", - "iv" : "3a403192064a51df71a3554f", - "aad" : "053d3468b4d0a5a6a12dff017c40218c2f990158c50a95503130bb92a5d7615973ec8827043b29222e15713fb9a58db90a397d31b16e21b3befd3d66d8990312b3f7ada3f39abbe92e17a1a66d6a290534b3110287915b08f47431a1bfb9c823e54a16b287a57d4c3463c838c462dc7898a3d7f5f653a945744dbb126bd21802e4684ad7dc90391b8b8000343db337145bf17fe31fdc434163ee6ae44ada02de6192bda57018dde5ba1f59721b4583968efe8613816c3502ac1b1ef162d0085f8df37b3436d14cc54684e898fcb695f15a59d7df60eaa028388d7fdca2bbd90e07a1a02281dc85e00d83750bef47fe0256b23ccd83c864e8619b7b7e75c9b24814e6533c4f7855e4fa21de0747c64795aac015ab532d033e205898a7511da32f898daed383a48314db35f75e7bf12c7a99e50eb8dc93f8700624438211cda86423cfde8d183ae5d6ad70133753e40f73652dfd03074fee034ce6d16ccfc0b3341a9ec18e630872f625e04129173313ee22b1cbcbd90ee74c5019173eed3ab2a47f16c8672e449e06e3bec4d05971fe8eba752d5d962e6e7d27408464441b3db18804fc1e5c428e970688d8c55f2980f30a6b86034ad2f79a76ef44c8d816345a6270c15c79deebf3dcbc1a1a968d318b6cccc09ab755cbe0f6ff4c23710935a4ea5bcab51c307454fba56cef1308b7cf0738626964ae7d2b65ad54d52872699b96", - "msg" : "65e0007f93225599dfc59107720c503c0158f3f4", - "ct" : "336c3b0080eb95480e671366be5508b1fe6ab14e", - "tag" : "63278e1781fad93131ecfd619275890c", - "result" : "valid" - }, - { - "tcId" : 39, - "comment" : "special case", - "flags" : [ - "SpecialCase" - ], - "key" : "00112233445566778899aabbccddeeff", - "iv" : "000000000000000000000000", - "aad" : "", - "msg" : "ebd4a3e10cf6d41c50aeae007563b072", - "ct" : "f62d84d649e56bc8cfedc5d74a51e2f7", - "tag" : "ffffffffffffffffffffffffffffffff", - "result" : "valid" - }, - { - "tcId" : 40, - "comment" : "special case", - "flags" : [ - "SpecialCase" - ], - "key" : "00112233445566778899aabbccddeeff", - "iv" : "ffffffffffffffffffffffff", - "aad" : "", - "msg" : "d593c4d8224f1b100c35e4f6c4006543", - "ct" : "431f31e6840931fd95f94bf88296ff69", - "tag" : "00000000000000000000000000000000", - "result" : "valid" - }, - { - "tcId" : 41, - "comment" : "Flipped bit 0 in tag", - "flags" : [ - "ModifiedTag" - ], - "key" : "000102030405060708090a0b0c0d0e0f", - "iv" : "505152535455565758595a5b", - "aad" : "", - "msg" : "202122232425262728292a2b2c2d2e2f", - "ct" : "eb156d081ed6b6b55f4612f021d87b39", - "tag" : "d9847dbc326a06e988c77ad3863e6083", - "result" : "invalid" - }, - { - "tcId" : 42, - "comment" : "Flipped bit 1 in tag", - "flags" : [ - "ModifiedTag" - ], - "key" : "000102030405060708090a0b0c0d0e0f", - "iv" : "505152535455565758595a5b", - "aad" : "", - "msg" : "202122232425262728292a2b2c2d2e2f", - "ct" : "eb156d081ed6b6b55f4612f021d87b39", - "tag" : "da847dbc326a06e988c77ad3863e6083", - "result" : "invalid" - }, - { - "tcId" : 43, - "comment" : "Flipped bit 7 in tag", - "flags" : [ - "ModifiedTag" - ], - "key" : "000102030405060708090a0b0c0d0e0f", - "iv" : "505152535455565758595a5b", - "aad" : "", - "msg" : "202122232425262728292a2b2c2d2e2f", - "ct" : "eb156d081ed6b6b55f4612f021d87b39", - "tag" : "58847dbc326a06e988c77ad3863e6083", - "result" : "invalid" - }, - { - "tcId" : 44, - "comment" : "Flipped bit 8 in tag", - "flags" : [ - "ModifiedTag" - ], - "key" : "000102030405060708090a0b0c0d0e0f", - "iv" : "505152535455565758595a5b", - "aad" : "", - "msg" : "202122232425262728292a2b2c2d2e2f", - "ct" : "eb156d081ed6b6b55f4612f021d87b39", - "tag" : "d8857dbc326a06e988c77ad3863e6083", - "result" : "invalid" - }, - { - "tcId" : 45, - "comment" : "Flipped bit 31 in tag", - "flags" : [ - "ModifiedTag" - ], - "key" : "000102030405060708090a0b0c0d0e0f", - "iv" : "505152535455565758595a5b", - "aad" : "", - "msg" : "202122232425262728292a2b2c2d2e2f", - "ct" : "eb156d081ed6b6b55f4612f021d87b39", - "tag" : "d8847d3c326a06e988c77ad3863e6083", - "result" : "invalid" - }, - { - "tcId" : 46, - "comment" : "Flipped bit 32 in tag", - "flags" : [ - "ModifiedTag" - ], - "key" : "000102030405060708090a0b0c0d0e0f", - "iv" : "505152535455565758595a5b", - "aad" : "", - "msg" : "202122232425262728292a2b2c2d2e2f", - "ct" : "eb156d081ed6b6b55f4612f021d87b39", - "tag" : "d8847dbc336a06e988c77ad3863e6083", - "result" : "invalid" - }, - { - "tcId" : 47, - "comment" : "Flipped bit 33 in tag", - "flags" : [ - "ModifiedTag" - ], - "key" : "000102030405060708090a0b0c0d0e0f", - "iv" : "505152535455565758595a5b", - "aad" : "", - "msg" : "202122232425262728292a2b2c2d2e2f", - "ct" : "eb156d081ed6b6b55f4612f021d87b39", - "tag" : "d8847dbc306a06e988c77ad3863e6083", - "result" : "invalid" - }, - { - "tcId" : 48, - "comment" : "Flipped bit 63 in tag", - "flags" : [ - "ModifiedTag" - ], - "key" : "000102030405060708090a0b0c0d0e0f", - "iv" : "505152535455565758595a5b", - "aad" : "", - "msg" : "202122232425262728292a2b2c2d2e2f", - "ct" : "eb156d081ed6b6b55f4612f021d87b39", - "tag" : "d8847dbc326a066988c77ad3863e6083", - "result" : "invalid" - }, - { - "tcId" : 49, - "comment" : "Flipped bit 64 in tag", - "flags" : [ - "ModifiedTag" - ], - "key" : "000102030405060708090a0b0c0d0e0f", - "iv" : "505152535455565758595a5b", - "aad" : "", - "msg" : "202122232425262728292a2b2c2d2e2f", - "ct" : "eb156d081ed6b6b55f4612f021d87b39", - "tag" : "d8847dbc326a06e989c77ad3863e6083", - "result" : "invalid" - }, - { - "tcId" : 50, - "comment" : "Flipped bit 71 in tag", - "flags" : [ - "ModifiedTag" - ], - "key" : "000102030405060708090a0b0c0d0e0f", - "iv" : "505152535455565758595a5b", - "aad" : "", - "msg" : "202122232425262728292a2b2c2d2e2f", - "ct" : "eb156d081ed6b6b55f4612f021d87b39", - "tag" : "d8847dbc326a06e908c77ad3863e6083", - "result" : "invalid" - }, - { - "tcId" : 51, - "comment" : "Flipped bit 77 in tag", - "flags" : [ - "ModifiedTag" - ], - "key" : "000102030405060708090a0b0c0d0e0f", - "iv" : "505152535455565758595a5b", - "aad" : "", - "msg" : "202122232425262728292a2b2c2d2e2f", - "ct" : "eb156d081ed6b6b55f4612f021d87b39", - "tag" : "d8847dbc326a06e988e77ad3863e6083", - "result" : "invalid" - }, - { - "tcId" : 52, - "comment" : "Flipped bit 80 in tag", - "flags" : [ - "ModifiedTag" - ], - "key" : "000102030405060708090a0b0c0d0e0f", - "iv" : "505152535455565758595a5b", - "aad" : "", - "msg" : "202122232425262728292a2b2c2d2e2f", - "ct" : "eb156d081ed6b6b55f4612f021d87b39", - "tag" : "d8847dbc326a06e988c77bd3863e6083", - "result" : "invalid" - }, - { - "tcId" : 53, - "comment" : "Flipped bit 96 in tag", - "flags" : [ - "ModifiedTag" - ], - "key" : "000102030405060708090a0b0c0d0e0f", - "iv" : "505152535455565758595a5b", - "aad" : "", - "msg" : "202122232425262728292a2b2c2d2e2f", - "ct" : "eb156d081ed6b6b55f4612f021d87b39", - "tag" : "d8847dbc326a06e988c77ad3873e6083", - "result" : "invalid" - }, - { - "tcId" : 54, - "comment" : "Flipped bit 97 in tag", - "flags" : [ - "ModifiedTag" - ], - "key" : "000102030405060708090a0b0c0d0e0f", - "iv" : "505152535455565758595a5b", - "aad" : "", - "msg" : "202122232425262728292a2b2c2d2e2f", - "ct" : "eb156d081ed6b6b55f4612f021d87b39", - "tag" : "d8847dbc326a06e988c77ad3843e6083", - "result" : "invalid" - }, - { - "tcId" : 55, - "comment" : "Flipped bit 103 in tag", - "flags" : [ - "ModifiedTag" - ], - "key" : "000102030405060708090a0b0c0d0e0f", - "iv" : "505152535455565758595a5b", - "aad" : "", - "msg" : "202122232425262728292a2b2c2d2e2f", - "ct" : "eb156d081ed6b6b55f4612f021d87b39", - "tag" : "d8847dbc326a06e988c77ad3063e6083", - "result" : "invalid" - }, - { - "tcId" : 56, - "comment" : "Flipped bit 120 in tag", - "flags" : [ - "ModifiedTag" - ], - "key" : "000102030405060708090a0b0c0d0e0f", - "iv" : "505152535455565758595a5b", - "aad" : "", - "msg" : "202122232425262728292a2b2c2d2e2f", - "ct" : "eb156d081ed6b6b55f4612f021d87b39", - "tag" : "d8847dbc326a06e988c77ad3863e6082", - "result" : "invalid" - }, - { - "tcId" : 57, - "comment" : "Flipped bit 121 in tag", - "flags" : [ - "ModifiedTag" - ], - "key" : "000102030405060708090a0b0c0d0e0f", - "iv" : "505152535455565758595a5b", - "aad" : "", - "msg" : "202122232425262728292a2b2c2d2e2f", - "ct" : "eb156d081ed6b6b55f4612f021d87b39", - "tag" : "d8847dbc326a06e988c77ad3863e6081", - "result" : "invalid" - }, - { - "tcId" : 58, - "comment" : "Flipped bit 126 in tag", - "flags" : [ - "ModifiedTag" - ], - "key" : "000102030405060708090a0b0c0d0e0f", - "iv" : "505152535455565758595a5b", - "aad" : "", - "msg" : "202122232425262728292a2b2c2d2e2f", - "ct" : "eb156d081ed6b6b55f4612f021d87b39", - "tag" : "d8847dbc326a06e988c77ad3863e60c3", - "result" : "invalid" - }, - { - "tcId" : 59, - "comment" : "Flipped bit 127 in tag", - "flags" : [ - "ModifiedTag" - ], - "key" : "000102030405060708090a0b0c0d0e0f", - "iv" : "505152535455565758595a5b", - "aad" : "", - "msg" : "202122232425262728292a2b2c2d2e2f", - "ct" : "eb156d081ed6b6b55f4612f021d87b39", - "tag" : "d8847dbc326a06e988c77ad3863e6003", - "result" : "invalid" - }, - { - "tcId" : 60, - "comment" : "Flipped bits 0 and 64 in tag", - "flags" : [ - "ModifiedTag" - ], - "key" : "000102030405060708090a0b0c0d0e0f", - "iv" : "505152535455565758595a5b", - "aad" : "", - "msg" : "202122232425262728292a2b2c2d2e2f", - "ct" : "eb156d081ed6b6b55f4612f021d87b39", - "tag" : "d9847dbc326a06e989c77ad3863e6083", - "result" : "invalid" - }, - { - "tcId" : 61, - "comment" : "Flipped bits 31 and 63 in tag", - "flags" : [ - "ModifiedTag" - ], - "key" : "000102030405060708090a0b0c0d0e0f", - "iv" : "505152535455565758595a5b", - "aad" : "", - "msg" : "202122232425262728292a2b2c2d2e2f", - "ct" : "eb156d081ed6b6b55f4612f021d87b39", - "tag" : "d8847d3c326a066988c77ad3863e6083", - "result" : "invalid" - }, - { - "tcId" : 62, - "comment" : "Flipped bits 63 and 127 in tag", - "flags" : [ - "ModifiedTag" - ], - "key" : "000102030405060708090a0b0c0d0e0f", - "iv" : "505152535455565758595a5b", - "aad" : "", - "msg" : "202122232425262728292a2b2c2d2e2f", - "ct" : "eb156d081ed6b6b55f4612f021d87b39", - "tag" : "d8847dbc326a066988c77ad3863e6003", - "result" : "invalid" - }, - { - "tcId" : 63, - "comment" : "all bits of tag flipped", - "flags" : [ - "ModifiedTag" - ], - "key" : "000102030405060708090a0b0c0d0e0f", - "iv" : "505152535455565758595a5b", - "aad" : "", - "msg" : "202122232425262728292a2b2c2d2e2f", - "ct" : "eb156d081ed6b6b55f4612f021d87b39", - "tag" : "277b8243cd95f9167738852c79c19f7c", - "result" : "invalid" - }, - { - "tcId" : 64, - "comment" : "Tag changed to all zero", - "flags" : [ - "ModifiedTag" - ], - "key" : "000102030405060708090a0b0c0d0e0f", - "iv" : "505152535455565758595a5b", - "aad" : "", - "msg" : "202122232425262728292a2b2c2d2e2f", - "ct" : "eb156d081ed6b6b55f4612f021d87b39", - "tag" : "00000000000000000000000000000000", - "result" : "invalid" - }, - { - "tcId" : 65, - "comment" : "tag changed to all 1", - "flags" : [ - "ModifiedTag" - ], - "key" : "000102030405060708090a0b0c0d0e0f", - "iv" : "505152535455565758595a5b", - "aad" : "", - "msg" : "202122232425262728292a2b2c2d2e2f", - "ct" : "eb156d081ed6b6b55f4612f021d87b39", - "tag" : "ffffffffffffffffffffffffffffffff", - "result" : "invalid" - }, - { - "tcId" : 66, - "comment" : "msbs changed in tag", - "flags" : [ - "ModifiedTag" - ], - "key" : "000102030405060708090a0b0c0d0e0f", - "iv" : "505152535455565758595a5b", - "aad" : "", - "msg" : "202122232425262728292a2b2c2d2e2f", - "ct" : "eb156d081ed6b6b55f4612f021d87b39", - "tag" : "5804fd3cb2ea86690847fa5306bee003", - "result" : "invalid" - }, - { - "tcId" : 67, - "comment" : "lsbs changed in tag", - "flags" : [ - "ModifiedTag" - ], - "key" : "000102030405060708090a0b0c0d0e0f", - "iv" : "505152535455565758595a5b", - "aad" : "", - "msg" : "202122232425262728292a2b2c2d2e2f", - "ct" : "eb156d081ed6b6b55f4612f021d87b39", - "tag" : "d9857cbd336b07e889c67bd2873f6182", - "result" : "invalid" - } - ] - }, - { - "ivSize" : 64, - "keySize" : 128, - "tagSize" : 128, - "type" : "AeadTest", - "tests" : [ - { - "tcId" : 68, - "comment" : "", - "flags" : [ - "Ktv" - ], - "key" : "aa023d0478dcb2b2312498293d9a9129", - "iv" : "0432bc49ac344120", - "aad" : "aac39231129872a2", - "msg" : "2035af313d1346ab00154fea78322105", - "ct" : "64c36bb3b732034e3a7d04efc5197785", - "tag" : "b7d0dd70b00d65b97cfd080ff4b819d1", - "result" : "valid" - }, - { - "tcId" : 69, - "comment" : "small IV sizes", - "flags" : [ - "SmallIv" - ], - "key" : "f3434725c82a7f8bb07df1f8122fb6c9", - "iv" : "28e9b7851724bae3", - "aad" : "", - "msg" : "", - "ct" : "", - "tag" : "44aca00f42e4199b829a55e69b073d9e", - "result" : "valid" - }, - { - "tcId" : 70, - "comment" : "small IV sizes", - "flags" : [ - "SmallIv" - ], - "key" : "deb62233559b57476602b5adac57c77f", - "iv" : "d084547de55bbc15", - "aad" : "", - "msg" : "d8986df0241ed3297582c0c239c724cb", - "ct" : "03e1a168a7e377a913879b296a1b5f9c", - "tag" : "3290aa95af505a742f517fabcc9b2094", - "result" : "valid" - } - ] - }, - { - "ivSize" : 128, - "keySize" : 128, - "tagSize" : 128, - "type" : "AeadTest", - "tests" : [ - { - "tcId" : 71, - "comment" : "", - "flags" : [ - "Ktv" - ], - "key" : "2034a82547276c83dd3212a813572bce", - "iv" : "3254202d854734812398127a3d134421", - "aad" : "1a0293d8f90219058902139013908190bc490890d3ff12a3", - "msg" : "02efd2e5782312827ed5d230189a2a342b277ce048462193", - "ct" : "64069c2d58690561f27ee199e6b479b6369eec688672bde9", - "tag" : "9b7abadd6e69c1d9ec925786534f5075", - "result" : "valid" - }, - { - "tcId" : 72, - "comment" : "", - "flags" : [ - "Pseudorandom" - ], - "key" : "b67b1a6efdd40d37080fbe8f8047aeb9", - "iv" : "fa294b129972f7fc5bbd5b96bba837c9", - "aad" : "", - "msg" : "", - "ct" : "", - "tag" : "a2cf26481517ec25085c5b17d0786183", - "result" : "valid" - }, - { - "tcId" : 73, - "comment" : "", - "flags" : [ - "Pseudorandom" - ], - "key" : "209e6dbf2ad26a105445fc0207cd9e9a", - "iv" : "9477849d6ccdfca112d92e53fae4a7ca", - "aad" : "", - "msg" : "01", - "ct" : "fd", - "tag" : "032df7bba5d8ea1a14f16f70bd0e14ec", - "result" : "valid" - }, - { - "tcId" : 74, - "comment" : "", - "flags" : [ - "Pseudorandom" - ], - "key" : "a549442e35154032d07c8666006aa6a2", - "iv" : "5171524568e81d97e8c4de4ba56c10a0", - "aad" : "", - "msg" : "1182e93596cac5608946400bc73f3a", - "ct" : "2f333087bdca58219f9bfc273e45cc", - "tag" : "e06d1ef473132957ad37eaef29733ca0", - "result" : "valid" - }, - { - "tcId" : 75, - "comment" : "", - "flags" : [ - "Pseudorandom" - ], - "key" : "cfb4c26f126f6a0acb8e4e220f6c56cd", - "iv" : "1275115499ae722268515bf0c164b49c", - "aad" : "", - "msg" : "09dfd7f080275257cf97e76f966b1ad9", - "ct" : "a780bd01c80885156c88a973264c8ee5", - "tag" : "2adeffa682c8d8a81fada7d9fcdd2ee2", - "result" : "valid" - }, - { - "tcId" : 76, - "comment" : "", - "flags" : [ - "Pseudorandom" - ], - "key" : "0b11ef3a08c02970f74281c860691c75", - "iv" : "95c1dd8c0f1705ece68937901f7add7b", - "aad" : "", - "msg" : "f693d4edd825dbb0618d91113128880dbebb23e25d00ed1f077d870be9cc7536", - "ct" : "7e47e10fe3c6fbfa381770eaf5d48d1482e71e0c44dff1e30ca6f95d92052084", - "tag" : "d01444fa5d9c499629d174ff3927a1ac", - "result" : "valid" - }, - { - "tcId" : 77, - "comment" : "J0:000102030405060708090a0b0c0d0e0f", - "flags" : [ - "CounterWrap" - ], - "key" : "00112233445566778899aabbccddeeff", - "iv" : "f95fde4a751913202aeeee32a0b55753", - "aad" : "", - "msg" : "00000000000000000000000000000000000000000000000000000000000000000000000000000000", - "ct" : "00078d109d92143fcd5df56721b884fac64ac7762cc09eea2a3c68e92a17bdb575f87bda18be564e", - "tag" : "152a65045fe674f97627427af5be22da", - "result" : "valid" - }, - { - "tcId" : 78, - "comment" : "J0:00000000000000000000000000000000", - "flags" : [ - "CounterWrap" - ], - "key" : "00112233445566778899aabbccddeeff", - "iv" : "7b95b8c356810a84711d68150a1b7750", - "aad" : "", - "msg" : "00000000000000000000000000000000000000000000000000000000000000000000000000000000", - "ct" : "84d4c9c08b4f482861e3a9c6c35bc4d91df927374513bfd49f436bd73f325285daef4ff7e13d46a6", - "tag" : "213a3cb93855d18e69337eee66aeec07", - "result" : "valid" - }, - { - "tcId" : 79, - "comment" : "J0:ffffffffffffffffffffffffffffffff", - "flags" : [ - "CounterWrap" - ], - "key" : "00112233445566778899aabbccddeeff", - "iv" : "1a552e67cdc4dc1a33b824874ebf0bed", - "aad" : "", - "msg" : "00000000000000000000000000000000000000000000000000000000000000000000000000000000", - "ct" : "948ca37a8e6649e88aeffb1c598f3607007702417ea0e0bc3c60ad5a949886de968cf53ea6462aed", - "tag" : "99b381bfa2af9751c39d1b6e86d1be6a", - "result" : "valid" - }, - { - "tcId" : 80, - "comment" : "J0:fffffffffffffffffffffffffffffffe", - "flags" : [ - "CounterWrap" - ], - "key" : "00112233445566778899aabbccddeeff", - "iv" : "dd9d0b4a0c3d681524bffca31d907661", - "aad" : "", - "msg" : "00000000000000000000000000000000000000000000000000000000000000000000000000000000", - "ct" : "64b19314c31af45accdf7e3c4db79f0d948ca37a8e6649e88aeffb1c598f3607007702417ea0e0bc", - "tag" : "5281efc7f13ac8e14ccf5dca7bfbfdd1", - "result" : "valid" - }, - { - "tcId" : 81, - "comment" : "J0:fffffffffffffffffffffffffffffffd", - "flags" : [ - "CounterWrap" - ], - "key" : "00112233445566778899aabbccddeeff", - "iv" : "57c5643c4e37b4041db794cfe8e1f0f4", - "aad" : "", - "msg" : "00000000000000000000000000000000000000000000000000000000000000000000000000000000", - "ct" : "2bb69c3e5d1f91815c6b87a0d5bbea7164b19314c31af45accdf7e3c4db79f0d948ca37a8e6649e8", - "tag" : "a3ea2c09ee4f8c8a12f45cddf9aeff81", - "result" : "valid" - }, - { - "tcId" : 82, - "comment" : "J0:000102030405060708090a0bffffffff", - "flags" : [ - "CounterWrap" - ], - "key" : "00112233445566778899aabbccddeeff", - "iv" : "99821c2dd5daecded07300f577f7aff1", - "aad" : "", - "msg" : "00000000000000000000000000000000000000000000000000000000000000000000000000000000", - "ct" : "127af9b39ecdfc57bb11a2847c7c2d3d8f938f40f877e0c4af37d0fe9af033052bd537c4ae978f60", - "tag" : "07eb2fe4a958f8434d40684899507c7c", - "result" : "valid" - }, - { - "tcId" : 83, - "comment" : "J0:000102030405060708090a0bfffffffe", - "flags" : [ - "CounterWrap" - ], - "key" : "00112233445566778899aabbccddeeff", - "iv" : "5e4a3900142358d1c774d8d124d8d27d", - "aad" : "", - "msg" : "00000000000000000000000000000000000000000000000000000000000000000000000000000000", - "ct" : "0cf6ae47156b14dce03c8a07a2e172b1127af9b39ecdfc57bb11a2847c7c2d3d8f938f40f877e0c4", - "tag" : "f145c2dcaf339eede427be934357eac0", - "result" : "valid" - }, - { - "tcId" : 84, - "comment" : "J0:000102030405060708090a0bfffffffd", - "flags" : [ - "CounterWrap" - ], - "key" : "00112233445566778899aabbccddeeff", - "iv" : "d4125676562984c0fe7cb0bdd1a954e8", - "aad" : "", - "msg" : "00000000000000000000000000000000000000000000000000000000000000000000000000000000", - "ct" : "f0c6ffc18bd46df5569185a9afd169eb0cf6ae47156b14dce03c8a07a2e172b1127af9b39ecdfc57", - "tag" : "facd0bfe8701b7b4a2ba96d98af52bd9", - "result" : "valid" - }, - { - "tcId" : 85, - "comment" : "J0:000102030405060708090a0b7fffffff", - "flags" : [ - "CounterWrap" - ], - "key" : "00112233445566778899aabbccddeeff", - "iv" : "b97ec62a5e5900ccf9e4be332e336091", - "aad" : "", - "msg" : "00000000000000000000000000000000000000000000000000000000000000000000000000000000", - "ct" : "d6928e094c06e0a7c4db42184cf7529e95de88b767edebe9b343000be3dab47ea08b744293eed698", - "tag" : "a03e729dcfd7a03155655fece8affd7e", - "result" : "valid" - }, - { - "tcId" : 86, - "comment" : "J0:000102030405060708090a0b7ffffffe", - "flags" : [ - "CounterWrap" - ], - "key" : "00112233445566778899aabbccddeeff", - "iv" : "7eb6e3079fa0b4c3eee366177d1c1d1d", - "aad" : "", - "msg" : "00000000000000000000000000000000000000000000000000000000000000000000000000000000", - "ct" : "d82ce58771bf6487116bf8e96421877ed6928e094c06e0a7c4db42184cf7529e95de88b767edebe9", - "tag" : "1e43926828bc9a1614c7b1639096c195", - "result" : "valid" - }, - { - "tcId" : 87, - "comment" : "J0:000102030405060708090a0bffff7fff", - "flags" : [ - "CounterWrap" - ], - "key" : "00112233445566778899aabbccddeeff", - "iv" : "0314fcd10fdd675d3c612962c931f635", - "aad" : "", - "msg" : "00000000000000000000000000000000000000000000000000000000000000000000000000000000", - "ct" : "a197a37a5d79697078536bc27fe46cd8d475526d9044aa94f088a054f8e380c64f79414795c61480", - "tag" : "f08baddf0b5285c91fc06a67fe4708ca", - "result" : "valid" - }, - { - "tcId" : 88, - "comment" : "J0:000102030405060708090a0bffff7ffe", - "flags" : [ - "CounterWrap" - ], - "key" : "00112233445566778899aabbccddeeff", - "iv" : "c4dcd9fcce24d3522b66f1469a1e8bb9", - "aad" : "", - "msg" : "00000000000000000000000000000000000000000000000000000000000000000000000000000000", - "ct" : "149fde9abbd3a43c2548575e0db9fb84a197a37a5d79697078536bc27fe46cd8d475526d9044aa94", - "tag" : "62a4b6875c288345d6a454399eac1afa", - "result" : "valid" - }, - { - "tcId" : 89, - "comment" : "special case", - "flags" : [ - "SpecialCase" - ], - "key" : "00112233445566778899aabbccddeeff", - "iv" : "00000000000000000000000000000000", - "aad" : "", - "msg" : "bec6fa05c1718b9b84c47345bbed7dcb", - "ct" : "45a3f89d02918bfd0c8161658ccc9795", - "tag" : "00000000000000000000000000000000", - "result" : "valid" - }, - { - "tcId" : 90, - "comment" : "special case", - "flags" : [ - "SpecialCase" - ], - "key" : "00112233445566778899aabbccddeeff", - "iv" : "ffffffffffffffffffffffffffffffff", - "aad" : "", - "msg" : "4d82639c39d3f3490ee903dd0be7afcf", - "ct" : "1cd5a06214235ceb044d4bad7b047312", - "tag" : "ffffffffffffffffffffffffffffffff", - "result" : "valid" - } - ] - }, - { - "ivSize" : 96, - "keySize" : 256, - "tagSize" : 128, - "type" : "AeadTest", - "tests" : [ - { - "tcId" : 91, - "comment" : "", - "flags" : [ - "Ktv" - ], - "key" : "92ace3e348cd821092cd921aa3546374299ab46209691bc28b8752d17f123c20", - "iv" : "00112233445566778899aabb", - "aad" : "00000000ffffffff", - "msg" : "00010203040506070809", - "ct" : "e27abdd2d2a53d2f136b", - "tag" : "9a4a2579529301bcfb71c78d4060f52c", - "result" : "valid" - }, - { - "tcId" : 92, - "comment" : "", - "flags" : [ - "Ktv" - ], - "key" : "29d3a44f8723dc640239100c365423a312934ac80239212ac3df3421a2098123", - "iv" : "00112233445566778899aabb", - "aad" : "aabbccddeeff", - "msg" : "", - "ct" : "", - "tag" : "2a7d77fa526b8250cb296078926b5020", - "result" : "valid" - }, - { - "tcId" : 93, - "comment" : "", - "flags" : [ - "Pseudorandom" - ], - "key" : "80ba3192c803ce965ea371d5ff073cf0f43b6a2ab576b208426e11409c09b9b0", - "iv" : "4da5bf8dfd5852c1ea12379d", - "aad" : "", - "msg" : "", - "ct" : "", - "tag" : "4771a7c404a472966cea8f73c8bfe17a", - "result" : "valid" - }, - { - "tcId" : 94, - "comment" : "", - "flags" : [ - "Pseudorandom" - ], - "key" : "cc56b680552eb75008f5484b4cb803fa5063ebd6eab91f6ab6aef4916a766273", - "iv" : "99e23ec48985bccdeeab60f1", - "aad" : "", - "msg" : "2a", - "ct" : "06", - "tag" : "633c1e9703ef744ffffb40edf9d14355", - "result" : "valid" - }, - { - "tcId" : 95, - "comment" : "", - "flags" : [ - "Pseudorandom" - ], - "key" : "51e4bf2bad92b7aff1a4bc05550ba81df4b96fabf41c12c7b00e60e48db7e152", - "iv" : "4f07afedfdc3b6c2361823d3", - "aad" : "", - "msg" : "be3308f72a2c6aed", - "ct" : "cf332a12fdee800b", - "tag" : "602e8d7c4799d62c140c9bb834876b09", - "result" : "valid" - }, - { - "tcId" : 96, - "comment" : "", - "flags" : [ - "Pseudorandom" - ], - "key" : "67119627bd988eda906219e08c0d0d779a07d208ce8a4fe0709af755eeec6dcb", - "iv" : "68ab7fdbf61901dad461d23c", - "aad" : "", - "msg" : "51f8c1f731ea14acdb210a6d973e07", - "ct" : "43fc101bff4b32bfadd3daf57a590e", - "tag" : "ec04aacb7148a8b8be44cb7eaf4efa69", - "result" : "valid" - }, - { - "tcId" : 97, - "comment" : "", - "flags" : [ - "Pseudorandom" - ], - "key" : "59d4eafb4de0cfc7d3db99a8f54b15d7b39f0acc8da69763b019c1699f87674a", - "iv" : "2fcb1b38a99e71b84740ad9b", - "aad" : "", - "msg" : "549b365af913f3b081131ccb6b825588", - "ct" : "f58c16690122d75356907fd96b570fca", - "tag" : "28752c20153092818faba2a334640d6e", - "result" : "valid" - }, - { - "tcId" : 98, - "comment" : "", - "flags" : [ - "Pseudorandom" - ], - "key" : "3b2458d8176e1621c0cc24c0c0e24c1e80d72f7ee9149a4b166176629616d011", - "iv" : "45aaa3e5d16d2d42dc03445d", - "aad" : "", - "msg" : "3ff1514b1c503915918f0c0c31094a6e1f", - "ct" : "73a6b6f45f6ccc5131e07f2caa1f2e2f56", - "tag" : "2d7379ec1db5952d4e95d30c340b1b1d", - "result" : "valid" - }, - { - "tcId" : 99, - "comment" : "", - "flags" : [ - "Pseudorandom" - ], - "key" : "0212a8de5007ed87b33f1a7090b6114f9e08cefd9607f2c276bdcfdbc5ce9cd7", - "iv" : "e6b1adf2fd58a8762c65f31b", - "aad" : "", - "msg" : "10f1ecf9c60584665d9ae5efe279e7f7377eea6916d2b111", - "ct" : "0843fff52d934fc7a071ea62c0bd351ce85678cde3ea2c9e", - "tag" : "7355fde599006715053813ce696237a8", - "result" : "valid" - }, - { - "tcId" : 100, - "comment" : "", - "flags" : [ - "Pseudorandom" - ], - "key" : "b279f57e19c8f53f2f963f5f2519fdb7c1779be2ca2b3ae8e1128b7d6c627fc4", - "iv" : "98bc2c7438d5cd7665d76f6e", - "aad" : "c0", - "msg" : "fcc515b294408c8645c9183e3f4ecee5127846d1", - "ct" : "eb5500e3825952866d911253f8de860c00831c81", - "tag" : "ecb660e1fb0541ec41e8d68a64141b3a", - "result" : "valid" - }, - { - "tcId" : 101, - "comment" : "", - "flags" : [ - "Pseudorandom" - ], - "key" : "cdccfe3f46d782ef47df4e72f0c02d9c7f774def970d23486f11a57f54247f17", - "iv" : "376187894605a8d45e30de51", - "aad" : "956846a209e087ed", - "msg" : "e28e0e9f9d22463ac0e42639b530f42102fded75", - "ct" : "feca44952447015b5df1f456df8ca4bb4eee2ce2", - "tag" : "082e91924deeb77880e1b1c84f9b8d30", - "result" : "valid" - }, - { - "tcId" : 102, - "comment" : "", - "flags" : [ - "Pseudorandom" - ], - "key" : "f32364b1d339d82e4f132d8f4a0ec1ff7e746517fa07ef1a7f422f4e25a48194", - "iv" : "5a86a50a0e8a179c734b996d", - "aad" : "ab2ac7c44c60bdf8228c7884adb20184", - "msg" : "43891bccb522b1e72a6b53cf31c074e9d6c2df8e", - "ct" : "43dda832e942e286da314daa99bef5071d9d2c78", - "tag" : "c3922583476ced575404ddb85dd8cd44", - "result" : "valid" - }, - { - "tcId" : 103, - "comment" : "", - "flags" : [ - "Pseudorandom" - ], - "key" : "ff0089ee870a4a39f645b0a5da774f7a5911e9696fc9cad646452c2aa8595a12", - "iv" : "bc2a7757d0ce2d8b1f14ccd9", - "aad" : "972ab4e06390caae8f99dd6e2187be6c7ff2c08a24be16ef", - "msg" : "748b28031621d95ee61812b4b4f47d04c6fc2ff3", - "ct" : "a929ee7e67c7a2f91bbcec6389a3caf43ab49305", - "tag" : "ebec6774b955e789591c822dab739e12", - "result" : "valid" - }, - { - "tcId" : 104, - "comment" : "", - "flags" : [ - "Pseudorandom" - ], - "key" : "6efca98126918ab564d88c6bec02e8998b2be50e3f906ff9adfdd185f373e756", - "iv" : "4abd6cfc83bd06b11efaa2a7", - "aad" : "", - "msg" : "bbec79c086d41e602d090f7e40494d6bf3faa1dc6df0ab8a88ea5d35d426b248c2ad880351e223f6170d37cc9655e10459e59cbd6d1c092ed31d72ccc7af20", - "ct" : "97b4c73a4d8b5b21bc4b50dbb70dfa77b1a7bf0bbe7cf16ecf5bb60ba8070acc5740780435ed145a62a613dd9881b721168fbb3f5af385ee5d4f856cf93cba", - "tag" : "27ac8c4010d8e81b7051ceb06b30fe2d", - "result" : "valid" - }, - { - "tcId" : 105, - "comment" : "", - "flags" : [ - "Pseudorandom" - ], - "key" : "5b1d1035c0b17ee0b0444767f80a25b8c1b741f4b50a4d3052226baa1c6fb701", - "iv" : "d61040a313ed492823cc065b", - "aad" : "", - "msg" : "d096803181beef9e008ff85d5ddc38ddacf0f09ee5f7e07f1e4079cb64d0dc8f5e6711cd4921a7887de76e2678fdc67618f1185586bfea9d4c685d50e4bb9a82", - "ct" : "c7d191b601f86c28b6a1bdef6a57b4f6ee3ae417bc125c381cdf1c4dac184ed1d84f1196206d62cad112b038845720e02c061179a8836f02b93fa7008379a6bf", - "tag" : "f15612f6c40f2e0db6dc76fc4822fcfe", - "result" : "valid" - }, - { - "tcId" : 106, - "comment" : "", - "flags" : [ - "Pseudorandom" - ], - "key" : "81b6b27e5ed90ab99fe6756d4cb41e3f07269687f5afabdb426e29096b5e4466", - "iv" : "13e727486031cca21f733375", - "aad" : "", - "msg" : "9a95a23cfb1e35d89a7597570df0fb0efcbb7429f53bebcbbfa49fa247b251a8508ad497066855d08688576188e4ffb12d1d084dcabec3d57806daf215dcc97edd", - "ct" : "7ede7368bca3c93d9f1d7f7750d6e44b1cb92c30e3c9834b0b69efd2470911644ae6f6d75715e13aea8781f8da611a13ac6364c406c1a715b7e97acb22b6e6156e", - "tag" : "74e20a93802f43407c8989a37f013802", - "result" : "valid" - }, - { - "tcId" : 107, - "comment" : "", - "flags" : [ - "Pseudorandom" - ], - "key" : "ea1d436f6359caec010789fa94fe08b167c3e497d8917282f47ad2a8f95fd0f1", - "iv" : "73fe022202767af834e32126", - "aad" : "", - "msg" : "adf9b6df5c5cc9473e0bb579f9a6aad396f93d28bf83e98136f978cfb9d501d09ef778c122b43c876c22e40d74a48d908978465a06be9e80891710c8c2690a762bc9eb8bcb2aa2707db149abafb9c17c1f0b68c7adcea98aebf4c6a39e5a8f693133eaaa5bb0b3708720d7b86424101bad56aa190c67d25fe35a4a34e1f4fd", - "ct" : "2e6b19520d9c91e41f523bfd80cb3d577df762879b04a586b865280bac651102fa60164b8586f91c02b2151cc2fd29f4c6e92839cdd873be12c1443141f8bcb8754965aec7c0829fb391e56563ba76e896ec81932b5efbad23bb965ebbf8d8fda98f9cbd48f37b2c46db609e40768266c2b36a7810d2b79133f377d0377b41", - "tag" : "f9a0eba513904c4a7168d762000f34be", - "result" : "valid" - }, - { - "tcId" : 108, - "comment" : "", - "flags" : [ - "Pseudorandom" - ], - "key" : "d7addd3889fadf8c893eee14ba2b7ea5bf56b449904869615bd05d5f114cf377", - "iv" : "8a3ad26b28cd13ba6504e260", - "aad" : "", - "msg" : "c877a76bf595560772167c6e3bcc705305db9c6fcbeb90f4fea85116038bc53c3fa5b4b4ea0de5cc534fbe1cf9ae44824c6c2c0a5c885bd8c3cdc906f12675737e434b983e1e231a52a275db5fb1a0cac6a07b3b7dcb19482a5d3b06a9317a54826cea6b36fce452fa9b5475e2aaf25499499d8a8932a19eb987c903bd8502fe", - "ct" : "53cc8c920a85d1accb88636d08bbe4869bfdd96f437b2ec944512173a9c0fe7a47f8434133989ba77dda561b7e3701b9a83c3ba7660c666ba59fef96598eb621544c63806d509ac47697412f9564eb0a2e1f72f6599f5666af34cffca06573ffb4f47b02f59f21c64363daecb977b4415f19fdda3c9aae5066a57b669ffaa257", - "tag" : "5e63374b519e6c3608321943d790cf9a", - "result" : "valid" - }, - { - "tcId" : 109, - "comment" : "", - "flags" : [ - "Pseudorandom" - ], - "key" : "7f7c5804a680f61924966725dba2a80d85267c2e03c7c234b045b24ec8e23528", - "iv" : "2d9bf8b636f337d265b0904c", - "aad" : "", - "msg" : "e2f85fb176840c38345da0f0f8db6cdbc45a123165f244ff5389fe65bf341fa131130751b5c739a9931d5a57b141dc7b5b0c5a2ca07331c2dc04b2657b0289878dea0ef7d5601465b78a65795f0f3181304e58a261feb1d394f3c33cabae189941755d7654bb7bef08c31bd2c5ce1203eebc015ae040da2a851c2ba3c62e699356", - "ct" : "d7380d10b22c3ae584531e9e4ee73d387f69dbbb3d3d9fdb4971ed2750b31913f79e4c00cf1b76933bbb75d39d8a6429a2528e9bd60e65fa6ffff9e01a8758e7b58409fa3f370cc32a63aa60a54c36d733e8f6dfccd5c3120d05c6e33140c00562865532b2c689de98769d3386e7a3ae679e404e062536ca046261211a426fb586", - "tag" : "753f6c57c0cc2a075e68d082f6e83590", - "result" : "valid" - }, - { - "tcId" : 110, - "comment" : "", - "flags" : [ - "Pseudorandom" - ], - "key" : "01e75ae803d3045e6b28b7f67937eee2d8d98f77b4892d48ab1f15f57fa88bbe", - "iv" : "6902e8f0ef1e9ec60a3e46f0", - "aad" : "", - "msg" : "32dde3b9bc671fad1265b26cad3d8dd0f099134f6755f98613024e1bd10da9a62bad01a997f973101e855ee1c7e60e6b6aa1df9d80fa567d0ccca0f956680be76ed37c71fdedef560e2523e8c5fdb9516250017304f8ff416b9b8e5d17c1f062ded4616ea9d462ed6ca0dfddb9f5295b7a127c0825ffab56ea4983c01eec867f93e24a18be48ceb540986c530104fd466318eb812eb42fd04355615f92503e53799742cdc71830eaa44aeec914b6ff1cbb4f6f81ab595078331d645c8d083b469731174a706b1666e5e450cb62671067032a566f597b9866b71514a409e38fcabe844964581b3ab5152696b76e49ace66581d21f512e28e077c44948a65260", - "ct" : "6323ddbf9eb0463714d5857d1841a9f65529516c2f412956bc835f4f252d22a2ce743f21767fcb28859882b570ca053970b72e86f451ff0c77e87f3a03c0536b3859394fce324442ac197874f81a2ce649b99feb442e23123f7ab361d2ce6768a1badb30c509e79bee9277d378fadaa64e77e26f726df86110526530cd439429b017ae2bcec8cc24f994f5885a8a76fab6339c7054df76aa6f450193a635d21d22f71f1ae6856036e6caaeed8840bbfbc8236c25a31e775cba5f6e189fcbc3e96970ca5378fd5c29a712f5dc17641ad88ab566d8c78fff1bb57f9b2f7c9db838b4307c63e04a73d3ef8121f48932ec318dffaead58a83a7f79bc44a1587990", - "tag" : "0c92bb5291e981bf562293877f4ddb5f", - "result" : "valid" - }, - { - "tcId" : 111, - "comment" : "", - "flags" : [ - "Pseudorandom" - ], - "key" : "dc4dbf811f9509e33a45a8a0743e9391de333f69c56ee4f0fe90ce21c238ee59", - "iv" : "1859d3ba4710cdd300baa029", - "aad" : "", - "msg" : "df91c48591f4cae8c4d659d024dfd0a3535981487764bf19b012713e6ac6d578aa0b3a51d7ac97cd503fdc8682cabdb6a5256e9890458356f39b9749f6ab158112fbe4f91acd333477998b9f0d7cc0be2d40acfa5103adc1b0d0a5cc94733d703e0d8c26e09e9d079fa6a65cf35240a16280826ab7c0d8ac5882c89e58444233c2f60aaae0cbd1a7ed850065242a9378c340232fd86f1fd52a92c960a9a86f529f431acf3aa94133785803f4ac1a22378332daa22dea3d34d2fdb7c308fa44ab93b3fb02f428be22fad6c0b10c138af97b92a199296dd947c93fbc40674c34c5623d26d9c90dc6b3357018b9f9250fb4dd5c11518191a236745a2bd42f863766", - "ct" : "9c511d08f244cb6971a39b70639c4a53ae48254fcb3d2eea4796ecc996f1fe26a8e30932258a48fe4237e5bfb0e1320dc591256dc83cd56dbf5d9b377b7805b7fac0497b2f99e3310e9e2cc8009141a82f26f8a02299d64138bb1fe8a1243df3e9fb37b52bd3c2cc19f543b3f4928e5a73730a7a6e6d75919d117d3dfe10e863a9846b2ca260de5dddba7ceac37019e615b89a2ab94df8d1a790749998cb8531fef1ef5f8a28a8ad60e813f7e78412ca4d95b9604a24a16e4a3ca8ee33bfbb7809048014943e5fd7966a7db214e052d1cc546a6da72ec89d1c3398aefdcb881dfc3d800b7323abcd7583e9c8a31f03b6995d4aeac17c5a56d8af492a2b108fe3", - "tag" : "17090ce50e35244a59bafc80eba5dae5", - "result" : "valid" - }, - { - "tcId" : 112, - "comment" : "", - "flags" : [ - "Pseudorandom" - ], - "key" : "317ba331307f3a3d3d82ee1fdab70f62a155af14daf631307a61b187d413e533", - "iv" : "a6687cf508356b174625deaa", - "aad" : "", - "msg" : "32c1d09107c599d3cce4e782179c966c6ef963689d45351dbe0f6f881db273e54db76fc48fdc5d30f089da838301a5f924bba3c044e19b3ed5aa6be87118554004ca30e0324337d987839412bf8f8bbdd537205d4b0e2120e965373235d6cbd2fb3776ba0a384ec1d9b7c631a0379ff997c3f974a6f7bbf4fd23016211f5fc10acadb5e400d2ff0fdfd193f5c6fc6d4f7271dfd1349ed80fbedaebb155b9b02fb3074495d55f9a2455f59bf6f113191a029c6b0ba75d97cdc0c84f131836337f29f9d96ca448eec0cc46d1ca8b3735661979d83302fec08fffcf5e58f12b1e7050657b1b97c64a4e07e317f554f8310b6ccb49f36d48c57816d24952aada711d4f", - "ct" : "d7eebc9587aa21136fa38b41cf0e2db03a7ea2ba9eaddf83d33f781093617bf50f49b2bfe2f7173b113912e2e1775f40edfed8b3b0099b9e1c220dd103be6166210b01029feb24ed9e20614eddc3cebe41b0079a9a8c117b596c90288effd3796fbd0c7e8eab00609a64be3ad9597cdbf3a818c260cd938bdf232e4059ae35a2571a838887fc196912179486e046a62227a4caddce38cbbc37587bb9439ec637602b6818c5cbe3c71a7c4143960533dc74174bd315c8db227b69b55bb7fc30ba1d5213a752ec33925043cefbc1a62943ee5f34d5da01799e69094d732aef52f8e036980d0070e22e173c67c4bbcca61cc1eedbd6016516c592144819df13204dee", - "tag" : "bf0540d34b20f761101bc608b02458f2", - "result" : "valid" - }, - { - "tcId" : 113, - "comment" : "", - "flags" : [ - "Pseudorandom" - ], - "key" : "4f62e56f7b15035f427849714beb97e6acf88371e1f69b388129bb447273d6b8", - "iv" : "137d5c98a92f6dcee4f29d7c", - "aad" : "", - "msg" : "a147b716b86ac8dac7447d5ba60ee8a4191d2c64a3aa04276aee7bf7dc824962c09ace20a7e614cc9e177b5b11819b8f17008a9408e8cd8bb34b401be35368f492c17629b6467299bfd2ec4d9a7f17dea6f9ca084e871fb7fc78c2bf299b810522062726c5cae14b839722ecff499a2b3f082b6d1bfedb752f84a4e77459c9268d63199315363e9aaa39bea7fbbcc60a5eedc8a1a982ad6fa67c295b932eb3999047e0a99b3823032b6b3b7c4c553970afca50cb4e5ce859c25c598eb682005f17aec5526e26493208483679a23ccef6f7403a3f3055affd531a1cb7d183892dd577d526e8da8aa8b8b980a36e176b8d9293e785ac01bdd4dac8cf8dbdd82926f1e31408284fb3aa01f4414ac7aa7832d2ec02dd2db9b6b4b61d8c1cbb31dac7b6afa8d08b6877e439600c4a6fc07511877df2e9ce3a9538a726002a46c083d98124b185730f3b2aea2a01cb626be809f87b2ac100511c5b8fa0e9d40c9c999ea0aa87aad08cfb62c1ba869178be986156f7622d8c48ad80a552e9d08c36671ae232efefc8619c562e715f04ae52db2ad8e4a09e8c671b12289558117f9562d51beb59e29b10dd9eb232e8fcdb1cfdd14899acd693de14a7c076a4656386e23b06415b2c7a93b166cad1048bc605a49a79df3c03a3380de68a4f013e05e5283745d4078ebe308dc8881ced62ed571a93c69e8aae6e51f5e61e4ff75699aa32", - "ct" : "b194e6c8f83e09515d4ea95c00578fdaee8f9d35ad09a560ba81a51accc49416598516c747e16dbc5c44bfd5c790ba59b47a6f573a43b26cdbb240230b1dca00447770c4cf647df2a79eca3f4a8b2de08f9fbc4489c30f6bcfcd096f1aa4177fa281248e8e19e2ea7d1f049b7053947a3a67e946ebbed67466e009b63debceba54cc881e55e2d68f3f584380d6fb7b0e9a3fdbd709adac3a47d6f9a5fcaf03218e18cca5a7a0e340a774cd5c39d7031b63b5b5b896e1e705b4ded099c3c11150738b2107f61f1423fb72ed0a16070cd6f8a18ae90b167b707c23ddc85a1b6ff5a3ec5e654b1446c6eae787c31a94bc9ab5376dfea31bf8dfbdabce45c750111946e64c22d23c46d7ef644ca02c69205d59b1815a6a6e8b14fe7e2d8ad17fc75e656706b67f257523d517d9f8b83150a88359e56d6432859f8f90eaba70cf90f86995afc85c33992591536ba353ae14a6932dc96ad72687ac34c2d4d5c92e51da246f557785df1944d2c3c83536739b7d8475ba39c639df4ce69859c6ffb9e994545699a3a19d53979bfa34fdec856a9f12ac70bdeacf172721496d76d8073a76e8160d99f4b7466e05a8f006cb448d2af7ee308ca19440aaca08f34422da830e476269c829a2b5b64acea4f1143d1857cc2699ea3bf2e076b16e50a9071cf15352189edf278984102ebcc751d46510b816afafdb3fea37a7d49662ff090392", - "tag" : "79e64c4c0e8bb3a214955584d2bc8b16", - "result" : "valid" - }, - { - "tcId" : 114, - "comment" : "", - "flags" : [ - "Pseudorandom" - ], - "key" : "6aada828b2273ffb81dc794a8629e305cb646f9d266002bd313427d384838767", - "iv" : "00dea4505cd5396f6ba408a5", - "aad" : "", - "msg" : "1d99ee022f9576ed69af8a7f3945362ab0c4691a4d333a3f5f85cf8d7db7fb8a069b48998cf286ffa4615e87398c3c3c1295d5bee272bdeb5166470a8923f7b79dc92b2a97de34ba87db2907ac84fb23d38f2e1af835f737488fc04fac70432d3a0b02a472f851025803aac692273273e27be1dd9679a4d626997c363ba706a7db1f4cdc07fe3c67fbec0aa8619038e05607d95a5ddc4b403cd6dabc41790adb6cd76eaeac3491c3cd6a8787e0f29c042b4e2afe987674b9495ef55768c696bc6c3df1c1e9a7c0456f478a1a1cc4c3a9b0f2cd3b42db8d0b6aa36dfec3d2c08d1398eeb75db61ae902d2da5a1efac7904b8ae32af1ff942c99769504bb5c56f5819e4f899e8bbacfd4682d82f41e179a9ddf9a0820cc4316f252d1d35597aeda43ab870887e67aabe79f046b03a9a83588994058a07baedbbbf9c01d833732efac89ae8173f902e831d579d31e4a409cef5e494a27bb6367e84fc57642048e44d687ce73dd9e71384182b262d63a715698132f218fc2c3611ed0dbf814799866c8c43b4aa7c13b5a53f9a337627d76bb960f60fa891f0076a538c396500cefd2dd1e4e024f9d83275f9b2c0ce6df41bb6488398fc657dba0efdae0019dd31b03227edc5229aff60cd083c0f0b66675baaf91c3206819a0c985bc3283600e9e6d62c6fab2c6aefd69829c75063c54ad11269ac5ec563ecd870c2af4cde6cec43e", - "ct" : "75750a143887ad763c130a637e5d75fc7b53999e8a085a74a5c7e4e2658d03586f36dd67bdd0622992fc440822e63534391a435c934fa7fa19f5196695513ac812e778928a677af37a8bc36a19b7e3ab05e185429aa5e5e17cacdd8971e3c551db83c585324277843c1783771379280d1393eeb26e9e7ff7006d437b7cb0fe373b2dc3238d87badf9edd767ad7b4726a777b99cd1d11f1bc16098b1230a194bd9435caa0730276ebc0c44a923e3a14751e125aa7100cbd682202f9a71bf08e28ae36f55c6fce998a4c474dd5a5d55d25aef332c3b4640e20b222b7305dfc21f60e9f5dd97c1987120ba0b7b7e85ce810f378d401987b824679ffe45ccade89e5ed45176bab9d4a14c5a753d32e113a2aba5dfe65ac75918afed6cb2122cf24971fab932b64e104a8a01c755b4fb86afd49d0ce1a1909192551f579c3587d1a61ba5b0415cf90d572320af3b0c5d5d672d4207228e75322fffb621200fcb53d970f6a74e06bd90d8f9a1cf23c87c07deb14456dc21d84b8f6ca45b8c3af6d6d5c110488c919617c116c25baef4a7a0d47a4b247c94440176dd54a014d639a6139d83498a585b5687cea859dbb32b852690c4dcd23ae4058498ee751aec8aff3b0f1f0efd4bb50636d1182e111a6a98f95f2d55f8f4e75c1ae8a55e851c5095bcd9d1ad86fc79b0bf9ad2f58293a624c2504b30469f7ed1c645549d37177dfcd95", - "tag" : "8fba48dab18a4beaddff24252e62083a", - "result" : "valid" - }, - { - "tcId" : 115, - "comment" : "", - "flags" : [ - "Pseudorandom" - ], - "key" : "afd579aa1accc682aca54e142aa69df09802f020b24a42c41db58f6997edc678", - "iv" : "9f79d1da957491069d774496", - "aad" : "", - "msg" : "bafc6e865c48bd34b7f9329e35cfb286cd4dc31f8316171218bf0471dffd35a330a181697ca5178688dd87efe527924f90d1c78ba40de70952ff44c26efe2159e59358f3931573df9373a73b91ba9592e12140cc009feedd2595e5b6f066b5ef6de99d4c31552cecb0614f1dce990e46e7694382f3cf3ccfcd1ea62e563e5f0dc36cb5a84e0c0b3f1f8f3fa9100f487195ff2e3169ad08136aa8ad566548c9836aa00dbac74716c26e838c1486a0084d3dfd692585e2e5ae7c75caf0e7af60219f96116ae963b4a5899cb30a120daaca7833776692c25ad7c185e6a2d70ce03ff156cd25d76153539d6855773e21142f9ba0313562875f105a2b770a15b533fbf5110dafb69329982ab44ed1b9f321d7b79ae15a19d9f3bd4c504c24b23b812d514c19ae2a347cc18c12ce915a0bad7cc89a8720d4ba5ee0964fe05e4cc59a13f92c670b8655071e216f19ad05f4bbcca6dc7feeb188d6269c58065c98fcbbac183a9abb3811d80cb476544bd74b26991f3df987f0ed0ea6238659ac09a2250fecc0723ffc51647b74bdf454f26e11112c8bbd797f09a3be8251c6b5b319ed9537278cc1abedb32aa10840984b96e8636b289335846ae4fbd4a00f6600d98ebe25885c68d7043ce0dc5229d7e9bd51bea9b8fe0552f40688429c482629ced623f6074858147e73da3ff4ad2ae45c1a1c8a6c5b3b2c3d568a756608179f63b580fd", - "ct" : "cd48a6952868f7f7c8941652f6418b374db9afd4be179a948d336ba0d80438af895a21f268364fb1c5c6472f67bd4cb7e464068fe44377fb7cf4985b8428a068f5a1809498228fa8d8053650687afb9ebf3b19b43c38e56845e9350198ae0511efba7ea8bf8159a08f72e4227ec50da5b29dbb18fbf13cd22e13978efb04b02ba1a4b2b1ae171b612929d6772d958af38d3dfb2c11684a907d90b786b46ae494ed1c9da486cc7b54bd9cf2d34be34dd13013bd72e06fdad17ef143d5b857804de4a56409a35a4128fd752440fec02b9304cecce1bc6760d6fb0397bd1609ff303c9a0ea3bc5cc11482f083b6471f2e01d3d99ee23c35c37a62135d9cec9c69e053528448d813afda07fbd406ec74e0df2d1822bbf625392a2d91cc39d85c6de8ba43e5b7cf0ec2e4a0e18837f04b284d6ce6277bb91da9c0c3385bf0570181deeed3ce234e868b2c407a2a7d8d516b83cd86b844c23aaf3bece94a1f843007ccd8bc2859e0d64ba1614c2721bbb66a3a40e3f555a2b37e07fb15b116f69156a4260f1eb19d8140bc2ad3f9fd666ae35814e2fd1cfe178951f5e10cb85495e465773b4248bef9e7781e4a3fb6caf2f44180de42f4bff3772f3e87d8129db770c5e8a953e5a342c885ea1cd45a978792128ce420e63245ff0a1bb0730a7a506771e2a93874e3f1ee9ba9fc0af96a0d34d222d29aebd791416f399052adb295c3c43c", - "tag" : "32b276fd0c1da7a823a5af074aecacb5", - "result" : "valid" - }, - { - "tcId" : 116, - "comment" : "", - "flags" : [ - "Pseudorandom" - ], - "key" : "0f112e59cdccd851c3b8e76c9f05a3b7c2e4feca5846afeb351c1cbcace82f04", - "iv" : "7147973339d86789a2c9a958", - "aad" : "37128be45f0a7f329546e1492c3c9c2d2534d5b1f5147e49ab91221e7c3edea21bbe47bfe3619437ce3c61e6e946c504f348296918219e51bf2c5598589cff", - "msg" : "102e5804dda1fb5d656077edb15cadb5d0bdee8c", - "ct" : "618ac626ae0e8d06c2fd2fb66be253dc26ed6e38", - "tag" : "d8d93ff975cb988f09174dcd439cb6a4", - "result" : "valid" - }, - { - "tcId" : 117, - "comment" : "", - "flags" : [ - "Pseudorandom" - ], - "key" : "2ce6b4c15f85fb2da5cc6c269491eef281980309181249ebf2832bd6d0732d0b", - "iv" : "c064fae9173b173fd6f11f34", - "aad" : "498d3075b09fed998280583d61bb36b6ce41f130063b80824d1586e143d349b126b16aa10fe57343ed223d6364ee602257fe313a7fc9bf9088f027795b8dc1d3", - "msg" : "f8a27a4baf00dc0555d222f2fa4fb42dc666ea3c", - "ct" : "aed58d8a252f740dba4bf6d36773bd5b41234bba", - "tag" : "01f93d7456aa184ebb49bea472b6d65d", - "result" : "valid" - }, - { - "tcId" : 118, - "comment" : "", - "flags" : [ - "Pseudorandom" - ], - "key" : "52350da5a572911ee0e0fcedb115af6f4570fbf9c74a11bc184444d6a621d60f", - "iv" : "d68ad045c1b9c2923cf5404c", - "aad" : "03a94b3841292d9bbf72f413c09167c54ee10537c049afe2bbcec43b18f3890b2fcdd3bb31e6d709274e199c0c4648eb3d8b38e0c1bf7f309443bef6937cde4123", - "msg" : "4e6e6dad2c16cfc6e7cac03636a4a6d88bd6a13e", - "ct" : "c7764411be13cfeaaece761bd3bb13552f088048", - "tag" : "bcc2544e79f34ea1076a12b76441d6fa", - "result" : "valid" - }, - { - "tcId" : 119, - "comment" : "", - "flags" : [ - "Pseudorandom" - ], - "key" : "d058304c0ba039b2e2d08661fd8f6db88779bd5ce580eb766c1d6ab34b94ee94", - "iv" : "3c553397fafda0eb06a59f23", - "aad" : "cfb1fe1c47e2450109eaed4e1aac9431aa5db1e3b7eeacad3ebc9e8e1f3e0a823f757f619761e61ad05af8cef83104890940cd592137eb7ba5879b95759c8be1525f9a01fc01582d93a2a841336a104d169968c274b5a8c30883b4bd621725f69079bb94a174a3c94db62f2ae746d03200f01c19aaa8a3b89e78b99a62f76f", - "msg" : "0a064cd5e49845c4efb60fb343dc03faffa36c49", - "ct" : "a7d84ff71dc713161359b757af42c74dddbf53ce", - "tag" : "736e48a2b7792acc599baa651629a203", - "result" : "valid" - }, - { - "tcId" : 120, - "comment" : "", - "flags" : [ - "Pseudorandom" - ], - "key" : "44c8d0cdb8f7e736cfd997c872a5d9c5ef30afbe44b6566606b90aa5e3e8b797", - "iv" : "6f39afba021e4c36eb92962e", - "aad" : "98d1ca1788cbeb300ea5c6b1eec95eb2347177201400913d45225622b6273eec8a74c3f12c8d5248dabee586229786ff192c4df0c79547f7ad6a92d78d9f8952758635783add2a5977d386e0aef76482211d2c3ae98de4baadb3f8b35b510464755dc75ceb2bf25b233317523f399a6c507db214f085fa2818f0d3702b10952b", - "msg" : "2e6f40f9d3725836ac0c858177938fd67be19432", - "ct" : "b42428f8094ef7e65c9e8c45ef3e95c28ce07d72", - "tag" : "32b25dfbb896d0f9d79c823bdd8e5d06", - "result" : "valid" - }, - { - "tcId" : 121, - "comment" : "", - "flags" : [ - "Pseudorandom" - ], - "key" : "e27e718e4b66c91e221f2a3df9da0013f7e14340006eca50dc30c4cc2ddeb679", - "iv" : "b46fed185e8b33215dd474dd", - "aad" : "2d2b6247f9c342f8d0432ce0715749d0bac0e2e3f28b785be8dc84b3a0e57a161afde34227277512204ffa4bceb6e0a4d021031b765540f7f613045f74e7e6e4977c04b78b5d3f8d4e420a9748c12d1f9aa5e03a27749be2785dd555a8cf0182c0826f2d60eed3c4059adf8872f3c4d81a963592472965cc0c66102167e4cb1ca2", - "msg" : "e39aeaf1d214f78915601fee9a3527d777674651", - "ct" : "750232115a5edea7b249a22c0cdae17f725d6f99", - "tag" : "4a72d8c30fc7e0f1806d9a817adae14a", - "result" : "valid" - }, - { - "tcId" : 122, - "comment" : "", - "flags" : [ - "Pseudorandom" - ], - "key" : "fc1bfd0b58515c4e7906e2052596bb92de8c879806af47a4c726ff08c9ba47cc", - "iv" : "f3da3be574337b8f8c052866", - "aad" : "d26f7ff887725228f3109924ed9eaeaa8c103cfcaac1d6e3874d11afd8424fd030fea80547212fe7c8ac9f4ecbe304b62e5bb206ac3a8318a819b9701f494aefd22e84d227922102f5130f0685e88e25115c3ab9e8bb290c0df0715c4adb00a2ecc9bab5bbcc49cec60305a5b04f646b1d0f951673cf1eb4742c1a52beb2cd2f43a2e413e4a9f5679123b4d59f2ae14c27ee84e970cafcbb5a0736ad2636833cb644c9f2fb61a4a09fad511f4c1781c5685f94814d242c5e3eb4abe165732ab0258a2461c56d452ef1cf48b4ff0f331b91c2c71ce1c03877552837a12dfe75f78bf1cd615b3b2b864fd9503a5f5bea652870bce4cad5c726f1c512dae7f5f8", - "msg" : "9adfced8e23f7897b66efcc3468d63b87da79a24", - "ct" : "1875d3d76930b58361103d64220591feaad5c9a2", - "tag" : "223099bb16c30cba134e639ed95615b7", - "result" : "valid" - }, - { - "tcId" : 123, - "comment" : "", - "flags" : [ - "Pseudorandom" - ], - "key" : "7ec20e38aa1b1f018d79903fc1cf6e260cec3733a19ad9e30f60b54e2ea6ebcc", - "iv" : "5ccd9cdcf97ac61364687bbb", - "aad" : "d9d2ee145b5c31a17dce932538c7e45da1c82abb80b0553251e442dbc5af9c126d3a76a24767c39b229bec8976a0df89fa70ea9ad872aa36d6b8b09aaa54698e7f29c2c2d12efb0b301cfb97076473dfa7ec030350e26839fbb7e1612dad93ff08e1119168c5fca56816c62b042f06d89e5a95da6a615e13ba4cad9f942534c539520d00509d0d4ac6d80c59e769d7e1aa7e12987ee05fb6a19b383c3348df6cbdcff604ef218338910a8e275d9a62b802cb07ec9249c9635e2437f8339dff3e21f79e9eb2acc2bbbadd520a84c58f0ddaaf8c32496d173b6b8c0c274352d40d47bfbd93069abdcc3d21c2cd330a8c16847f0e5299beb6a2d33be746de5c71f2", - "msg" : "bab28e0987509b1d6f9cf3aa90030795f125ee44", - "ct" : "ce4c58d3c7354d2d27e3bb41a62e5941fb1e39f3", - "tag" : "e177391d5e2cefa2f7d35e33a76566aa", - "result" : "valid" - }, - { - "tcId" : 124, - "comment" : "", - "flags" : [ - "Pseudorandom" - ], - "key" : "e40003d6e08ab80b4bfc8400ef112945a901ec64a1b6536ca92665090d608bc4", - "iv" : "9f095dafe6f6e0fbafbbe02e", - "aad" : "422d5efcffe364905984533f0a579d80b18bda7b29e6e46498effba53c350112c0bbb8dc4ce03bb0c69e1d0baa19f0637108aa4a16b09a281f232839d87b6d0e42be1baa7c67f1be970ea169d3960b9fe0a61f11cd2eb7398c19e641feb43f778e257a397063db5b3a6707e9db62387054f9f9d44f143583e63edad45a00251e5173d7505f22a8bce232e56c2c276a58033ae30d5dbf4e35a862e42af573be38c6406d9b4c7acbf275fe36c0ecf2c4642898a30e6146fac992a16405f98312126b7a3722f5dfb7dd4e4911c1426b2e01d04e9be6db3771100f7d7d4282e4ea585f3646241e807ca64f06a7fa9b7003d710b801d66f517d2d5ebd740872deba13d0", - "msg" : "38c3f44bc5765de1f3d1c3684cd09cddefaf298d", - "ct" : "d4a79f729487935950ec032e690ab8fe25c4158e", - "tag" : "876d2f334f47968b10c103859d436db8", - "result" : "valid" - }, - { - "tcId" : 125, - "comment" : "", - "flags" : [ - "Pseudorandom" - ], - "key" : "820bb5eb3707e713d5fcfe3c98bb1ba733540ddf44b172746bb950957254adb5", - "iv" : "f2b947eae4311254417c5928", - "aad" : "f76c06fe9dfa7fffddae7d545977f1944bdb8e48bb8740ff1a9a90c260e1264fdbfa328ed8f183e672892a6d3464c176adab5da8ab3af7c08b71ad135d7b42c3ebd893938f82cb9d200bb50c26e823af951149407bcc05f17fbe8ec275db96a9c7aa230f1347bcf10202d5cb7fb16076f6a78cd620fdd67a9be58f6992e619a8314cb40446b654d1c01c9cc6a92e44a77b015f2cefb9e5284082951bd98ee7e834adf39306bdd4288296c276e63b0dba7b7269c63e0e77f3df0debe8fe36454ed7ab332db77d2d9d7e1832f36e13ac6c88e383dc8533bc624a27ae378758742a63e39d54fec827b19c63c692cdbc6a498ce80c5c112d461cbed6c93a458573c765c759776e7b8e3430ca389991996f895ee16fe538f2de3a902f8423138f05e87e01c1adf2232ce9eff100b39452565c10125b3a852183f8026b1cb8281e9e2e6a0fbdde64d0f4c2984a72f1ae2bfbb409c9de9ad2244860996e1053cc8cdd70511bb265f20561a0337de4891fbf293f705fe040f187ba43bf13fb5e02031f8edce5db10ef5d411a448ce0903dde943d2e199f0e4af2ad3ab2a534f0d6418acbc5ea9340356e11036bf6dec306419177630d36b41a0e646388f6010227a323f9570f43f2f14a8b9fa346ad0459c0c28ce6ca2eed98983bd08db82bfd0945bd4c94bd82a4046876d7a3844a4fb9365284b1511b6fb36a2703abc9b03a6244bf", - "msg" : "81c37b34c4369ecc1a9cdd6f1557133e59249165", - "ct" : "8d529d8a4f0d7ec4e41d8d361663df53c479ac34", - "tag" : "d509e3e1eccfe38f7c63f9a55f42946a", - "result" : "valid" - }, - { - "tcId" : 126, - "comment" : "", - "flags" : [ - "Pseudorandom" - ], - "key" : "65e18f70f168abaf388104c9b37a9686aebc7743f0e66b84b7c7cc0e3600f655", - "iv" : "8d564420fcb9a98e7e07475c", - "aad" : "016dde724536eee27187907263e4a62f3b637eaa8ab6f86d0343f66f7f73c6f8c3416cf253532454c045557ed7a371c2d6b8e19e0101e1109cd7227dc5390545ff24484031957749514379a77a33df0fd129f80e9869747b6589fd29a6935aa37b00e2abbbae2b67904726e9fe22143080af18821ff10c5217e845cd6e0ef2513c1d82c14f9d3933f3fd5c6364075aebef6c0f5c97fa343aa192ba8c526b7ad4c71c4c19ad2d5ae05b07176a5e66d486889a2e8f9ef80b9c0680cf887f60137f6266ec335a5f1d74dc41dec1653a96d61b75f4b569b9328f6b2fb40391704f66e058e92dfc15d77599018d74907a9bb8870c5c446e81fa7a764a549f6a417326b52fbbe4f5885e6455be2890c3a8b97a9fd0c92c085edfaf6a4f28dfec0243aa79a71d123282d4e9a0b3497ad569db869e56638e271f1205a52fc38cb74767e4bb2f37bd437083e994395e98454c04092d292c681ade9e398589df6cbf9b3196d12c8153740647af018cab5f9bf3e3db7deea221c73f377b96d368ff8d9ffecb8f44d50b59fafc90f655ec9271c9c1d032cfb0f23720d01981c26296536e66cdb8c390ad1bca90e6b2711170665ad52aaa188f87ca96888d3d932e6c3bf32891cd746308b0d6345ed8cf7c1ad88442326a3892e60afd5c86a2d062a461d8896446154e9148aad5b122437e26a52ba1b620d085af628af5ada9fff664d4a9a230", - "msg" : "12d3cc4473970296d2918818fdcf1a570d2d4821", - "ct" : "2844b68b9356049934b031b0d6de55b50fab0f46", - "tag" : "387bc3a46530bdf24b1cfa67899369ea", - "result" : "valid" - }, - { - "tcId" : 127, - "comment" : "", - "flags" : [ - "Pseudorandom" - ], - "key" : "b15ab816ba505ec42b528066d9119b4b2ee38159ce54a26bc5d661127e05222c", - "iv" : "75e3c608a39367dc4aa748d0", - "aad" : "005931a2d5c5bcedc716c3f246e21b3a46d2a6b1ce73644653e0cf277efa492f12fb2b83f70bae8737d53cd76254dabca8422d4ff9396c265d57e4fd3d0cd1c38198e229637c7fbfff468fcdb04ca12101865c08bbf55689e1299c5e7a430296c47a874d9956557b2cb32fd3f8073f85fefb6d2005c5d3329e40dcb957f5b01d7f1582ea359b947d5669da8003c009f8ecbfbf094fb8155cf89251ee4a91a43a96e3f6d302e15753dd48dd5e3b87e093021059ec323d38d3ee72290521eefd54cf708aa9e81869b756c3fc3c9a60e12226ac643bf7a91951e5509159b1e298bbfe88fd8ee659cac98c904f68c928403894fc89df100d6f30fd1ce20666815929b6eee39ece510eb53567e35cbe49dcec0f1b80fee861ed0af1cc759d477f306a5e1273e64c7e33554d11d79632006b420e7c71d36fece18d75a8b5773171ed071c26664fc0113277e3356ab30db05ac62ea5b975e36413572dd39e5c22d5c42bc82ab0ab85b54fbfaa527d1344dc3dfb18b941b05bcc5b47d25e18ef936f3918ed87cbf5dfa67989a038e2f747345c4b8d27b101c944f0f1d6fe21cd1a653c17530f9a893d7fd48afafcf12bf005fe044a000e8deaf09bed39ba62784bd5b88ace564806a9b5e0bf40f9f655fdd5bdc4bf568c5abb4b84ec61a85f0038b4f4cc3e75c3b3f99e62b99292d510f690c07c18af41b765fe5a1ee9484cf04c69f3f49c", - "msg" : "8b2a6a9604b25d1670b7d869c649a05399b8ada5", - "ct" : "371fa70af8a198cb43ddd545e74b806246f7e932", - "tag" : "014a0179b81691d09011dcea5739551d", - "result" : "valid" - }, - { - "tcId" : 128, - "comment" : "special case", - "flags" : [ - "SpecialCase" - ], - "key" : "00112233445566778899aabbccddeeff102132435465768798a9bacbdcedfe0f", - "iv" : "000000000000000000000000", - "aad" : "", - "msg" : "561008fa07a68f5c61285cd013464eaf", - "ct" : "23293e9b07ca7d1b0cae7cc489a973b3", - "tag" : "ffffffffffffffffffffffffffffffff", - "result" : "valid" - }, - { - "tcId" : 129, - "comment" : "special case", - "flags" : [ - "SpecialCase" - ], - "key" : "00112233445566778899aabbccddeeff102132435465768798a9bacbdcedfe0f", - "iv" : "ffffffffffffffffffffffff", - "aad" : "", - "msg" : "c6152244cea1978d3e0bc274cf8c0b3b", - "ct" : "7cb6fc7c6abc009efe9551a99f36a421", - "tag" : "00000000000000000000000000000000", - "result" : "valid" - }, - { - "tcId" : 130, - "comment" : "Flipped bit 0 in tag", - "flags" : [ - "ModifiedTag" - ], - "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", - "iv" : "505152535455565758595a5b", - "aad" : "", - "msg" : "202122232425262728292a2b2c2d2e2f", - "ct" : "b2061457c0759fc1749f174ee1ccadfa", - "tag" : "9de8fef6d8ab1bf1bf887232eab590dd", - "result" : "invalid" - }, - { - "tcId" : 131, - "comment" : "Flipped bit 1 in tag", - "flags" : [ - "ModifiedTag" - ], - "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", - "iv" : "505152535455565758595a5b", - "aad" : "", - "msg" : "202122232425262728292a2b2c2d2e2f", - "ct" : "b2061457c0759fc1749f174ee1ccadfa", - "tag" : "9ee8fef6d8ab1bf1bf887232eab590dd", - "result" : "invalid" - }, - { - "tcId" : 132, - "comment" : "Flipped bit 7 in tag", - "flags" : [ - "ModifiedTag" - ], - "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", - "iv" : "505152535455565758595a5b", - "aad" : "", - "msg" : "202122232425262728292a2b2c2d2e2f", - "ct" : "b2061457c0759fc1749f174ee1ccadfa", - "tag" : "1ce8fef6d8ab1bf1bf887232eab590dd", - "result" : "invalid" - }, - { - "tcId" : 133, - "comment" : "Flipped bit 8 in tag", - "flags" : [ - "ModifiedTag" - ], - "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", - "iv" : "505152535455565758595a5b", - "aad" : "", - "msg" : "202122232425262728292a2b2c2d2e2f", - "ct" : "b2061457c0759fc1749f174ee1ccadfa", - "tag" : "9ce9fef6d8ab1bf1bf887232eab590dd", - "result" : "invalid" - }, - { - "tcId" : 134, - "comment" : "Flipped bit 31 in tag", - "flags" : [ - "ModifiedTag" - ], - "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", - "iv" : "505152535455565758595a5b", - "aad" : "", - "msg" : "202122232425262728292a2b2c2d2e2f", - "ct" : "b2061457c0759fc1749f174ee1ccadfa", - "tag" : "9ce8fe76d8ab1bf1bf887232eab590dd", - "result" : "invalid" - }, - { - "tcId" : 135, - "comment" : "Flipped bit 32 in tag", - "flags" : [ - "ModifiedTag" - ], - "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", - "iv" : "505152535455565758595a5b", - "aad" : "", - "msg" : "202122232425262728292a2b2c2d2e2f", - "ct" : "b2061457c0759fc1749f174ee1ccadfa", - "tag" : "9ce8fef6d9ab1bf1bf887232eab590dd", - "result" : "invalid" - }, - { - "tcId" : 136, - "comment" : "Flipped bit 33 in tag", - "flags" : [ - "ModifiedTag" - ], - "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", - "iv" : "505152535455565758595a5b", - "aad" : "", - "msg" : "202122232425262728292a2b2c2d2e2f", - "ct" : "b2061457c0759fc1749f174ee1ccadfa", - "tag" : "9ce8fef6daab1bf1bf887232eab590dd", - "result" : "invalid" - }, - { - "tcId" : 137, - "comment" : "Flipped bit 63 in tag", - "flags" : [ - "ModifiedTag" - ], - "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", - "iv" : "505152535455565758595a5b", - "aad" : "", - "msg" : "202122232425262728292a2b2c2d2e2f", - "ct" : "b2061457c0759fc1749f174ee1ccadfa", - "tag" : "9ce8fef6d8ab1b71bf887232eab590dd", - "result" : "invalid" - }, - { - "tcId" : 138, - "comment" : "Flipped bit 64 in tag", - "flags" : [ - "ModifiedTag" - ], - "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", - "iv" : "505152535455565758595a5b", - "aad" : "", - "msg" : "202122232425262728292a2b2c2d2e2f", - "ct" : "b2061457c0759fc1749f174ee1ccadfa", - "tag" : "9ce8fef6d8ab1bf1be887232eab590dd", - "result" : "invalid" - }, - { - "tcId" : 139, - "comment" : "Flipped bit 71 in tag", - "flags" : [ - "ModifiedTag" - ], - "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", - "iv" : "505152535455565758595a5b", - "aad" : "", - "msg" : "202122232425262728292a2b2c2d2e2f", - "ct" : "b2061457c0759fc1749f174ee1ccadfa", - "tag" : "9ce8fef6d8ab1bf13f887232eab590dd", - "result" : "invalid" - }, - { - "tcId" : 140, - "comment" : "Flipped bit 77 in tag", - "flags" : [ - "ModifiedTag" - ], - "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", - "iv" : "505152535455565758595a5b", - "aad" : "", - "msg" : "202122232425262728292a2b2c2d2e2f", - "ct" : "b2061457c0759fc1749f174ee1ccadfa", - "tag" : "9ce8fef6d8ab1bf1bfa87232eab590dd", - "result" : "invalid" - }, - { - "tcId" : 141, - "comment" : "Flipped bit 80 in tag", - "flags" : [ - "ModifiedTag" - ], - "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", - "iv" : "505152535455565758595a5b", - "aad" : "", - "msg" : "202122232425262728292a2b2c2d2e2f", - "ct" : "b2061457c0759fc1749f174ee1ccadfa", - "tag" : "9ce8fef6d8ab1bf1bf887332eab590dd", - "result" : "invalid" - }, - { - "tcId" : 142, - "comment" : "Flipped bit 96 in tag", - "flags" : [ - "ModifiedTag" - ], - "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", - "iv" : "505152535455565758595a5b", - "aad" : "", - "msg" : "202122232425262728292a2b2c2d2e2f", - "ct" : "b2061457c0759fc1749f174ee1ccadfa", - "tag" : "9ce8fef6d8ab1bf1bf887232ebb590dd", - "result" : "invalid" - }, - { - "tcId" : 143, - "comment" : "Flipped bit 97 in tag", - "flags" : [ - "ModifiedTag" - ], - "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", - "iv" : "505152535455565758595a5b", - "aad" : "", - "msg" : "202122232425262728292a2b2c2d2e2f", - "ct" : "b2061457c0759fc1749f174ee1ccadfa", - "tag" : "9ce8fef6d8ab1bf1bf887232e8b590dd", - "result" : "invalid" - }, - { - "tcId" : 144, - "comment" : "Flipped bit 103 in tag", - "flags" : [ - "ModifiedTag" - ], - "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", - "iv" : "505152535455565758595a5b", - "aad" : "", - "msg" : "202122232425262728292a2b2c2d2e2f", - "ct" : "b2061457c0759fc1749f174ee1ccadfa", - "tag" : "9ce8fef6d8ab1bf1bf8872326ab590dd", - "result" : "invalid" - }, - { - "tcId" : 145, - "comment" : "Flipped bit 120 in tag", - "flags" : [ - "ModifiedTag" - ], - "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", - "iv" : "505152535455565758595a5b", - "aad" : "", - "msg" : "202122232425262728292a2b2c2d2e2f", - "ct" : "b2061457c0759fc1749f174ee1ccadfa", - "tag" : "9ce8fef6d8ab1bf1bf887232eab590dc", - "result" : "invalid" - }, - { - "tcId" : 146, - "comment" : "Flipped bit 121 in tag", - "flags" : [ - "ModifiedTag" - ], - "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", - "iv" : "505152535455565758595a5b", - "aad" : "", - "msg" : "202122232425262728292a2b2c2d2e2f", - "ct" : "b2061457c0759fc1749f174ee1ccadfa", - "tag" : "9ce8fef6d8ab1bf1bf887232eab590df", - "result" : "invalid" - }, - { - "tcId" : 147, - "comment" : "Flipped bit 126 in tag", - "flags" : [ - "ModifiedTag" - ], - "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", - "iv" : "505152535455565758595a5b", - "aad" : "", - "msg" : "202122232425262728292a2b2c2d2e2f", - "ct" : "b2061457c0759fc1749f174ee1ccadfa", - "tag" : "9ce8fef6d8ab1bf1bf887232eab5909d", - "result" : "invalid" - }, - { - "tcId" : 148, - "comment" : "Flipped bit 127 in tag", - "flags" : [ - "ModifiedTag" - ], - "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", - "iv" : "505152535455565758595a5b", - "aad" : "", - "msg" : "202122232425262728292a2b2c2d2e2f", - "ct" : "b2061457c0759fc1749f174ee1ccadfa", - "tag" : "9ce8fef6d8ab1bf1bf887232eab5905d", - "result" : "invalid" - }, - { - "tcId" : 149, - "comment" : "Flipped bits 0 and 64 in tag", - "flags" : [ - "ModifiedTag" - ], - "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", - "iv" : "505152535455565758595a5b", - "aad" : "", - "msg" : "202122232425262728292a2b2c2d2e2f", - "ct" : "b2061457c0759fc1749f174ee1ccadfa", - "tag" : "9de8fef6d8ab1bf1be887232eab590dd", - "result" : "invalid" - }, - { - "tcId" : 150, - "comment" : "Flipped bits 31 and 63 in tag", - "flags" : [ - "ModifiedTag" - ], - "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", - "iv" : "505152535455565758595a5b", - "aad" : "", - "msg" : "202122232425262728292a2b2c2d2e2f", - "ct" : "b2061457c0759fc1749f174ee1ccadfa", - "tag" : "9ce8fe76d8ab1b71bf887232eab590dd", - "result" : "invalid" - }, - { - "tcId" : 151, - "comment" : "Flipped bits 63 and 127 in tag", - "flags" : [ - "ModifiedTag" - ], - "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", - "iv" : "505152535455565758595a5b", - "aad" : "", - "msg" : "202122232425262728292a2b2c2d2e2f", - "ct" : "b2061457c0759fc1749f174ee1ccadfa", - "tag" : "9ce8fef6d8ab1b71bf887232eab5905d", - "result" : "invalid" - }, - { - "tcId" : 152, - "comment" : "all bits of tag flipped", - "flags" : [ - "ModifiedTag" - ], - "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", - "iv" : "505152535455565758595a5b", - "aad" : "", - "msg" : "202122232425262728292a2b2c2d2e2f", - "ct" : "b2061457c0759fc1749f174ee1ccadfa", - "tag" : "631701092754e40e40778dcd154a6f22", - "result" : "invalid" - }, - { - "tcId" : 153, - "comment" : "Tag changed to all zero", - "flags" : [ - "ModifiedTag" - ], - "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", - "iv" : "505152535455565758595a5b", - "aad" : "", - "msg" : "202122232425262728292a2b2c2d2e2f", - "ct" : "b2061457c0759fc1749f174ee1ccadfa", - "tag" : "00000000000000000000000000000000", - "result" : "invalid" - }, - { - "tcId" : 154, - "comment" : "tag changed to all 1", - "flags" : [ - "ModifiedTag" - ], - "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", - "iv" : "505152535455565758595a5b", - "aad" : "", - "msg" : "202122232425262728292a2b2c2d2e2f", - "ct" : "b2061457c0759fc1749f174ee1ccadfa", - "tag" : "ffffffffffffffffffffffffffffffff", - "result" : "invalid" - }, - { - "tcId" : 155, - "comment" : "msbs changed in tag", - "flags" : [ - "ModifiedTag" - ], - "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", - "iv" : "505152535455565758595a5b", - "aad" : "", - "msg" : "202122232425262728292a2b2c2d2e2f", - "ct" : "b2061457c0759fc1749f174ee1ccadfa", - "tag" : "1c687e76582b9b713f08f2b26a35105d", - "result" : "invalid" - }, - { - "tcId" : 156, - "comment" : "lsbs changed in tag", - "flags" : [ - "ModifiedTag" - ], - "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", - "iv" : "505152535455565758595a5b", - "aad" : "", - "msg" : "202122232425262728292a2b2c2d2e2f", - "ct" : "b2061457c0759fc1749f174ee1ccadfa", - "tag" : "9de9fff7d9aa1af0be897333ebb491dc", - "result" : "invalid" - } - ] - }, - { - "ivSize" : 128, - "keySize" : 192, - "tagSize" : 128, - "type" : "AeadTest", - "tests" : [ - { - "tcId" : 157, - "comment" : "J0:000102030405060708090a0b0c0d0e0f", - "flags" : [ - "CounterWrap" - ], - "key" : "00112233445566778899aabbccddeeff1021324354657687", - "iv" : "029e0e777db092b12535d043012f09ba", - "aad" : "", - "msg" : "00000000000000000000000000000000000000000000000000000000000000000000000000000000", - "ct" : "f83cee467336e1a09b75f24e9b4385c99c13e6af722256a66129ece961fe803b167bad206f5017fb", - "tag" : "09338a42f0acc14f97c064f52f5f1688", - "result" : "valid" - }, - { - "tcId" : 158, - "comment" : "J0:00000000000000000000000000000000", - "flags" : [ - "CounterWrap" - ], - "key" : "00112233445566778899aabbccddeeff1021324354657687", - "iv" : "f1be3b06b7feac07e7eab629f556047b", - "aad" : "", - "msg" : "00000000000000000000000000000000000000000000000000000000000000000000000000000000", - "ct" : "0b32b648a2c28e9edd7cee08eeeb900034cae7215e5ab1e201bd2eed1032c5a97866ba582a3458a4", - "tag" : "90be3606de58bd778fa5beff4a4102bd", - "result" : "valid" - }, - { - "tcId" : 159, - "comment" : "J0:ffffffffffffffffffffffffffffffff", - "flags" : [ - "CounterWrap" - ], - "key" : "00112233445566778899aabbccddeeff1021324354657687", - "iv" : "de9eb63b1daed321a11b7547cc9e223c", - "aad" : "", - "msg" : "00000000000000000000000000000000000000000000000000000000000000000000000000000000", - "ct" : "575e2ecec2b3c72d4e80830d0d859ad9e42c29c4a68d8d9d8d23434de2cd07733be49d62ac1ae085", - "tag" : "6e4d6396125a10df5443bd0cbc8566d1", - "result" : "valid" - }, - { - "tcId" : 160, - "comment" : "J0:fffffffffffffffffffffffffffffffe", - "flags" : [ - "CounterWrap" - ], - "key" : "00112233445566778899aabbccddeeff1021324354657687", - "iv" : "40bb0abebc483ff6d5671241ff5d66c6", - "aad" : "", - "msg" : "00000000000000000000000000000000000000000000000000000000000000000000000000000000", - "ct" : "2a818888d1f09f32aa7beedd2869b446575e2ecec2b3c72d4e80830d0d859ad9e42c29c4a68d8d9d", - "tag" : "dc481f172545268eff63ab0490403dc3", - "result" : "valid" - }, - { - "tcId" : 161, - "comment" : "J0:fffffffffffffffffffffffffffffffd", - "flags" : [ - "CounterWrap" - ], - "key" : "00112233445566778899aabbccddeeff1021324354657687", - "iv" : "20d5cf305e630a8f49e3bb4bab18abc9", - "aad" : "", - "msg" : "00000000000000000000000000000000000000000000000000000000000000000000000000000000", - "ct" : "96d36b795f8e7edf6a8e0dbcd20d6c072a818888d1f09f32aa7beedd2869b446575e2ecec2b3c72d", - "tag" : "8a3a22bf2592958b930292aa47f590e8", - "result" : "valid" - }, - { - "tcId" : 162, - "comment" : "J0:000102030405060708090a0bffffffff", - "flags" : [ - "CounterWrap" - ], - "key" : "00112233445566778899aabbccddeeff1021324354657687", - "iv" : "255358a71a0e5731f6dd6ce28e158ae6", - "aad" : "", - "msg" : "00000000000000000000000000000000000000000000000000000000000000000000000000000000", - "ct" : "cfce3d920f0e01f0bb49a751955b236d1b887baefd25c47f41303c46d5c7bf9ca4c2c45a8f1e6656", - "tag" : "2db9dc1b7fd315df1c95432432fcf474", - "result" : "valid" - }, - { - "tcId" : 163, - "comment" : "J0:000102030405060708090a0bfffffffe", - "flags" : [ - "CounterWrap" - ], - "key" : "00112233445566778899aabbccddeeff1021324354657687", - "iv" : "bb76e422bbe8bbe682a10be4bdd6ce1c", - "aad" : "", - "msg" : "00000000000000000000000000000000000000000000000000000000000000000000000000000000", - "ct" : "69a24169792e9a07f6e6f4736fa972dccfce3d920f0e01f0bb49a751955b236d1b887baefd25c47f", - "tag" : "82ad967f7ac19084354f69a751443fb2", - "result" : "valid" - }, - { - "tcId" : 164, - "comment" : "J0:000102030405060708090a0bfffffffd", - "flags" : [ - "CounterWrap" - ], - "key" : "00112233445566778899aabbccddeeff1021324354657687", - "iv" : "db1821ac59c38e9f1e25a2eee9930313", - "aad" : "", - "msg" : "00000000000000000000000000000000000000000000000000000000000000000000000000000000", - "ct" : "4e4417a83beac1eb7e24456a05f6ba5569a24169792e9a07f6e6f4736fa972dccfce3d920f0e01f0", - "tag" : "472d5dd582dc05ef5fc496b612023cb2", - "result" : "valid" - }, - { - "tcId" : 165, - "comment" : "J0:000102030405060708090a0b7fffffff", - "flags" : [ - "CounterWrap" - ], - "key" : "00112233445566778899aabbccddeeff1021324354657687", - "iv" : "f7a02ecca03064b2ef3cce9feab79f07", - "aad" : "", - "msg" : "00000000000000000000000000000000000000000000000000000000000000000000000000000000", - "ct" : "6f8e174efca3097299f784efd4caff0bf168c3e5165b9ad3d20062009848044eef8f31f7d2fead05", - "tag" : "caff723826df150934aee3201ba175e7", - "result" : "valid" - }, - { - "tcId" : 166, - "comment" : "J0:000102030405060708090a0b7ffffffe", - "flags" : [ - "CounterWrap" - ], - "key" : "00112233445566778899aabbccddeeff1021324354657687", - "iv" : "6985924901d688659b40a999d974dbfd", - "aad" : "", - "msg" : "00000000000000000000000000000000000000000000000000000000000000000000000000000000", - "ct" : "af193090ce3d43a388a1d294a09616906f8e174efca3097299f784efd4caff0bf168c3e5165b9ad3", - "tag" : "3b08958be1286c2b4acba02b3674adb2", - "result" : "valid" - }, - { - "tcId" : 167, - "comment" : "J0:000102030405060708090a0bffff7fff", - "flags" : [ - "CounterWrap" - ], - "key" : "00112233445566778899aabbccddeeff1021324354657687", - "iv" : "3f1188546c65ed0fc55e75032c68ee44", - "aad" : "", - "msg" : "00000000000000000000000000000000000000000000000000000000000000000000000000000000", - "ct" : "5deccf838b2cf5f869c90d2a611160b1e578ab8121b93735cba4a1930647b8c4c84bf776333ee45a", - "tag" : "c14d52208f0f51b816a48971eaf8ff7e", - "result" : "valid" - }, - { - "tcId" : 168, - "comment" : "J0:000102030405060708090a0bffff7ffe", - "flags" : [ - "CounterWrap" - ], - "key" : "00112233445566778899aabbccddeeff1021324354657687", - "iv" : "a13434d1cd8301d8b12212051fabaabe", - "aad" : "", - "msg" : "00000000000000000000000000000000000000000000000000000000000000000000000000000000", - "ct" : "d2cae1684aa407a13a2e2da5357e29f55deccf838b2cf5f869c90d2a611160b1e578ab8121b93735", - "tag" : "ea2d018099cd7925c507cef0ceddb0ae", - "result" : "valid" - }, - { - "tcId" : 169, - "comment" : "special case", - "flags" : [ - "SpecialCase" - ], - "key" : "00112233445566778899aabbccddeeff1021324354657687", - "iv" : "00000000000000000000000000000000", - "aad" : "", - "msg" : "5c7d3f81d4b5055ed6f8db53614587a4", - "ct" : "541b835dc828d541073f7d7d7504ebf5", - "tag" : "00000000000000000000000000000000", - "result" : "valid" - }, - { - "tcId" : 170, - "comment" : "special case", - "flags" : [ - "SpecialCase" - ], - "key" : "00112233445566778899aabbccddeeff1021324354657687", - "iv" : "ffffffffffffffffffffffffffffffff", - "aad" : "", - "msg" : "6a347ad1190e72ede611044e7475f0eb", - "ct" : "a3f36154331c196624564bc395e49c3b", - "tag" : "ffffffffffffffffffffffffffffffff", - "result" : "valid" - }, - { - "tcId" : 171, - "comment" : "", - "flags" : [ - "Pseudorandom" - ], - "key" : "fae2a14197c7d1140061fe7c3d11d9f77c79562e3593a99b", - "iv" : "bc28433953772d57bbd933100cd47a56", - "aad" : "", - "msg" : "", - "ct" : "", - "tag" : "1bb94331f26cad24036cfeff34b89aaf", - "result" : "valid" - }, - { - "tcId" : 172, - "comment" : "", - "flags" : [ - "Pseudorandom" - ], - "key" : "cee9abbc26b63e169f0ced621fe21d95904e75b881d93e6b", - "iv" : "1e8259e0a43e571068f701cd2064fc0c", - "aad" : "", - "msg" : "46", - "ct" : "dc", - "tag" : "af1f5535b125b34fc466902ea40cb3a2", - "result" : "valid" - }, - { - "tcId" : 173, - "comment" : "", - "flags" : [ - "Pseudorandom" - ], - "key" : "189f0bd390ba40632586a45c39735c2b87113329c800f394", - "iv" : "c84442d6975f0359737de0fa828f958e", - "aad" : "", - "msg" : "b4bcd7b8eeca3050dd17682c6a914e", - "ct" : "2aab5c87dcb4a4dae4e975ddb65aab", - "tag" : "6b03b7557c7131e2352e495d54e61aef", - "result" : "valid" - }, - { - "tcId" : 174, - "comment" : "", - "flags" : [ - "Pseudorandom" - ], - "key" : "b0724f15df5b792c2f49bc51df0ac5aad69be0030981613c", - "iv" : "13cd526ec77b58f62d48d03f8b88f2b8", - "aad" : "", - "msg" : "8da3ab9c3d195b04df452ad23953da4d", - "ct" : "d127fd2e67c0887d90eb92b91f357d97", - "tag" : "eb05bda937faeed27f8833295d4ba559", - "result" : "valid" - }, - { - "tcId" : 175, - "comment" : "", - "flags" : [ - "Pseudorandom" - ], - "key" : "998750ba784841e40a7c5b03985732b6397e5459a3843954", - "iv" : "1d3d62eccd8ac5e896f2654a7f606fc9", - "aad" : "", - "msg" : "2f60ca3494a958dc3e6ebeb5d0b4e6dda0d0c4331ab9c957f6422a5100878ebf", - "ct" : "344c2cea17b06cb3da272e22a22a3a71ee0eaa1959a7facfff464660ddccedd1", - "tag" : "bab7fbf499ff06aad5f757b1c1a4fcc0", - "result" : "valid" - } - ] - }, - { - "ivSize" : 96, - "keySize" : 192, - "tagSize" : 128, - "type" : "AeadTest", - "tests" : [ - { - "tcId" : 176, - "comment" : "special case", - "flags" : [ - "SpecialCase" - ], - "key" : "00112233445566778899aabbccddeeff1021324354657687", - "iv" : "000000000000000000000000", - "aad" : "", - "msg" : "0b4dbbba8982e0f649f8ba85f3aa061b", - "ct" : "3f875c9bd7d8511448459468e398c3b2", - "tag" : "ffffffffffffffffffffffffffffffff", - "result" : "valid" - }, - { - "tcId" : 177, - "comment" : "special case", - "flags" : [ - "SpecialCase" - ], - "key" : "00112233445566778899aabbccddeeff1021324354657687", - "iv" : "ffffffffffffffffffffffff", - "aad" : "", - "msg" : "1ae93688ef7e2650a9342ad4718b2780", - "ct" : "210dabea4364c6d5b3429e7743322936", - "tag" : "00000000000000000000000000000000", - "result" : "valid" - }, - { - "tcId" : 178, - "comment" : "", - "flags" : [ - "Pseudorandom" - ], - "key" : "5019eb9fef82e5750b631758f0213e3e5fcca12748b40eb4", - "iv" : "ff0ddb0a0d7b36d219da12b5", - "aad" : "", - "msg" : "", - "ct" : "", - "tag" : "7971284e6c9e6aac346fe2b7a0a064c2", - "result" : "valid" - }, - { - "tcId" : 179, - "comment" : "", - "flags" : [ - "Pseudorandom" - ], - "key" : "21218af790428f8024d3e7e1428c9fcf578c216636d60e73", - "iv" : "34047bc39b9c608384dff5b8", - "aad" : "", - "msg" : "e3", - "ct" : "fe", - "tag" : "2e982e24b81cd120d35a70fe6935e665", - "result" : "valid" - }, - { - "tcId" : 180, - "comment" : "", - "flags" : [ - "Pseudorandom" - ], - "key" : "3a8bf543c480925632118245bcbf5d01522b987a31a33da3", - "iv" : "4ebc13cf4636cc7c45e560a7", - "aad" : "", - "msg" : "53fc72e71b59eeb3", - "ct" : "99f2ff1c8a44e5f2", - "tag" : "6870f104ddc514477b400336fb01860e", - "result" : "valid" - }, - { - "tcId" : 181, - "comment" : "", - "flags" : [ - "Pseudorandom" - ], - "key" : "92f4d2672fceec43963ccffb17e6ea7578b11418b06a3b82", - "iv" : "6e7ff7f0797685cfc44b05ff", - "aad" : "", - "msg" : "c3ec16adb184affa8ae9738bffb916", - "ct" : "afe8ef41591bfcc00db3c880ceb186", - "tag" : "29fff7f285768645c9c8bf7a471c9393", - "result" : "valid" - }, - { - "tcId" : 182, - "comment" : "", - "flags" : [ - "Pseudorandom" - ], - "key" : "bcb6bc5ee6743df1396a34639327b25809ec9c81dd6a0c0e", - "iv" : "be0326d23bdc2c64648d13f4", - "aad" : "", - "msg" : "80474a3a3b809560eee2ce7a7a33ea07", - "ct" : "90339dca02ef717f1603994aee6cf6d2", - "tag" : "e3d33e01ce64f271783147de226228bc", - "result" : "valid" - }, - { - "tcId" : 183, - "comment" : "", - "flags" : [ - "Pseudorandom" - ], - "key" : "5e1d28213e092536525bbae09e214af4c891e202b2b4fa4f", - "iv" : "b6be6cd0681235d826aa28ea", - "aad" : "", - "msg" : "53d59433a7db7f41b31ccb6d4a2d789965", - "ct" : "b98ed6321679941a3e521834296686ad98", - "tag" : "9f50c03e055e519712c582ec9db3235b", - "result" : "valid" - }, - { - "tcId" : 184, - "comment" : "", - "flags" : [ - "Pseudorandom" - ], - "key" : "7f672d85e151aa490bc0eec8f66b5e5bee74af11642be3ff", - "iv" : "b022067048505b20946216ef", - "aad" : "", - "msg" : "ef6412c72b03c643fa02565a0ae2378a9311c11a84065f80", - "ct" : "addd303651119e52f6170dfc7a915064253d57532987b9ab", - "tag" : "fa0484f8baa95f5b7a31c56d1b34c58b", - "result" : "valid" - }, - { - "tcId" : 185, - "comment" : "", - "flags" : [ - "Pseudorandom" - ], - "key" : "969fed5068541d65418c2c1de8fe1f845e036030496e1272", - "iv" : "817fe51c31f2879141a34335", - "aad" : "cb", - "msg" : "3d8233191a2823bf767e99167b1d4af4f4848458", - "ct" : "0d2c3a3c0cc4b40e70ed45e188e356a0e1533b31", - "tag" : "92909a80e90540e1878ab59ef300072b", - "result" : "valid" - }, - { - "tcId" : 186, - "comment" : "", - "flags" : [ - "Pseudorandom" - ], - "key" : "fa5b9b41f93f8b682c04ba816c3fecc24eec095b04dd7497", - "iv" : "62b9cf1e923bc1138d05d205", - "aad" : "2ed8487153e21b12", - "msg" : "18159841813a69fc0f8f4229e1678da7c9016711", - "ct" : "c7c1cbb85ce2a0a3f32cb9ef01ad45ec1118b66d", - "tag" : "253317f98bdab87531ece20475cd9ebb", - "result" : "valid" - }, - { - "tcId" : 187, - "comment" : "", - "flags" : [ - "Pseudorandom" - ], - "key" : "fbfb395662787e2d25a2e7510f818e825936a35114e237c9", - "iv" : "3f1a1e02e90a4ba7a1db9df2", - "aad" : "74318d8876528243f1944b73eb77e96e", - "msg" : "2952a3d64107d5cbb9602239d05a5c5c222cf72b", - "ct" : "ecf5e403f19c007c8da7a456caf0a6d75762829b", - "tag" : "e0877a100f9dd9d6795f0e74c56a9fab", - "result" : "valid" - }, - { - "tcId" : 188, - "comment" : "", - "flags" : [ - "Pseudorandom" - ], - "key" : "5d8e9c2222316c9ed5ff94513cc957436ae447a6e1a73a29", - "iv" : "0802ae86c75a73bf79561521", - "aad" : "5ca354a4cb8e4fc9798aa209ad4f739dc7c232fdd1f22584", - "msg" : "42b4439e1d2116f834b91c516a26299df279956b", - "ct" : "94d844d98b9467daa7e8dde7f4290037354d7fb2", - "tag" : "62196638590cef429d6b1d1a59839c02", - "result" : "valid" - }, - { - "tcId" : 189, - "comment" : "", - "flags" : [ - "Pseudorandom" - ], - "key" : "11b18ea39c38491593fdd5e6e4ab8b4a0129a53f49ed6ca9", - "iv" : "0952a70d993188c1dd8891a5", - "aad" : "", - "msg" : "7153217813c390b8d458be71fad1afb87971ffbca3a9411e3e7abe8b8774f987167acfeb5296e19b408b581ad6cab08c8dc81d40cdbe1c6592fb573bd7a3c6", - "ct" : "e46387d0324f3e8ffd287b35e4b21f7e71f62ba75f13c032576ae8344f9d520a6d61ef9f99b9a0dd875d2692203ab668f7962f2ac9294f91106a3884477098", - "tag" : "36dce405ee69e41527fb7808230a1123", - "result" : "valid" - }, - { - "tcId" : 190, - "comment" : "", - "flags" : [ - "Pseudorandom" - ], - "key" : "ccbd0f509825a5f358a14aac044ae2826bb2c9eaaaaa077f", - "iv" : "9189a71ac359b73c8c08df22", - "aad" : "", - "msg" : "a1ed1007b52e36ec0f70109c68da72ee7b675c855e3e4956d2dcf9d12f675d6933f677ddcc58face857699d2e3d90adcb8c6c57c9d88b5dfcf356de4c0b63f0e", - "ct" : "e9915bc5aea63c8bc014f2ae6a4986b03115ff1f34ad6c0acd74ffca07c453ec3f3ce6902d5ff338c588a34a1c3b30ef753ec7001572cbfeafe690fd00f59b02", - "tag" : "fbf19b6b90e2d9df7ead0c3bc6e375a2", - "result" : "valid" - }, - { - "tcId" : 191, - "comment" : "", - "flags" : [ - "Pseudorandom" - ], - "key" : "c0a52b33c0095ecfe1f38e3494e194739ed974b8c7c08a2b", - "iv" : "1debe7394ef2a2a59988344f", - "aad" : "", - "msg" : "7d989848d822a5c6a0fe3e316edc0adfae9dd631da2e5d150bb6aefa041505accecd2ba3a27379989c471bc7213a84ffe5128850e271d518798d199e7b8b657c39", - "ct" : "7f16df48f09a349053440fac4b835355c24c95317b82bb8f91bbc1918263300c0a4a20a3fa03c00807b82839ffaf898ce237fee3d04f76f29cddaf44868f691103", - "tag" : "6bf342308dba90792545dcb67ea785c5", - "result" : "valid" - }, - { - "tcId" : 192, - "comment" : "", - "flags" : [ - "Pseudorandom" - ], - "key" : "24777288326e1a2190a318c77188a7912d0ba8d41423a29c", - "iv" : "f2f41982fe0f017ae4ea1b06", - "aad" : "", - "msg" : "60b8beabd7e4a36fd3666e13a4cfad405ad7b0b17a614577ef9e9dc159b2040cfb61cbe9a2a856053cd46a889b8a8fde21db8822d6b346f665e03ac69ce86a15185bbde8cc9abf0ef934fd22523731fa2c3c19c2cb4579e57503b0322dbd29ee30c63045498e402518511f58525626b258703f9d01dc9351bc62ea53c2a9bf", - "ct" : "18cab25b5d7c4cdf632216123f74393324bd13dcf0703cac6faadcfc7ed0a7c0e4ad962d9afa1c6357fc20345b9f43dfcbc62b72a7b462b8e713b1c759957be6c624f3e24ff62b27a94009173e721a3a9939bebe78855c842bcdcd51bc196d66aad79da4f09b38137b1a6f2a39456c1b6189cf8957b26b0c21358de69015ed", - "tag" : "bfe7ea91f4622d12de15453571d440c4", - "result" : "valid" - }, - { - "tcId" : 193, - "comment" : "", - "flags" : [ - "Pseudorandom" - ], - "key" : "d045c6eb173f440843faec3e9374602a94ee3f7176312208", - "iv" : "98e9153daca2522e3162cb15", - "aad" : "", - "msg" : "3f0b30dc963a82d182c035b5a823060f07c4123792e6cee6bf91fea3c52fa66bb6a93ea6cce9f4813eb95bf18f816c00ad4fb56932827a39efb2fe56804e604a606774ee92ad46cd8c172a0d2bdea2fc99f67cd82c6024c315cfee6dbb8d27f745c9d0ce9bf5d09724f4bed003cf39478348b3304baa4ecc9974fc4f3ff93f95", - "ct" : "9663e6f98b2768448e6dd0dd780e145668af5b002257e353213868c9cd9fd3a1e9427530327541775a093123076d34985db3aa248cd55e532609d1a39274c49216ea20fbab719b9c7e310b27877b9a33d1b69ab747afac944d1e97ea789367821c331f00b5d618402bfc57884d18edbd60c4dfe218c08080b8e3479ff84bdfb5", - "tag" : "fc2ff62a41bdb79afc369842e4eccabf", - "result" : "valid" - }, - { - "tcId" : 194, - "comment" : "", - "flags" : [ - "Pseudorandom" - ], - "key" : "3493fc8761e9dc247585046f2b78aa7f138ff9a9d47d9b39", - "iv" : "87eafe6caead7f916c11ab76", - "aad" : "", - "msg" : "5338ebccc96896001715fd3a2b88710f6afd6ef479d7332a6cb54a3a46b35682c91f54ed7f4bd501c50d51c3cb6a74d21e269b832d985a30f63b79e82fdfcc21cea5c087e648de740c4c1a327eed5c51acf7c67a5768d985bc93eed979bcc2bba6eacd085389085329db182413b654795fd7b398775ee3628f386951bc39f9405e", - "ct" : "745dc7936ac2dd20b5f9ca87c6e7d9d5b7c57a8802d36f153bd81d96c88f1bbb81d807444e211b8e7e069a681fd8dd6c2567dcc32a6b840902c769fb21ee07ddb41a7f67e2fa5c4ecbe6619c47f019ffc32d5033d4769b5a73fe52988edbebd9e965a8b825f6bc500143b456b4089588a5df6e9d56e6188da26a942b5383304709", - "tag" : "a7c80b93a0fbbcf48d784de303d1116c", - "result" : "valid" - }, - { - "tcId" : 195, - "comment" : "", - "flags" : [ - "Pseudorandom" - ], - "key" : "0b68b66d5182fa6c3b08edd50a0a7483f025935a0d64abcf", - "iv" : "6fa4902beebd20e0e33138a2", - "aad" : "", - "msg" : "e42ad7f89a187d9959681475515fa117091556097c0d866dea5c87ab45d94b89777938eb381f6f24bd222684be49d0f78223aa48193ce9e9a83d007c26fe4ad4d036040b81021ee4408185ed5f4fd871def6f5501bfb4d5ad5b91cc4c33753e8a8a0b419ff7750178bb305662a5913bf5ac97424114c2a596be64fa84e6ace89f0a5a34e305950b4fa504c5d0cac499ce6c142624a618c2db9ef33878e8c014a58f974356cd6773749942b4c6747aa2e19f68d086c1d3305da85f9f6528b725cfb428b583c727e4c4018c8c197d8fc356079d6f4eb89088925fabb0b02100a647bce9a956fc447f541f4a82ff1d856383ceb3463489def07ff014949d59ada", - "ct" : "0e11afe5baa1dcc26fb4ce1a14530129a108edc67b511f979974d31d07974dc6ba4a1e7b9cdcc066e77e70a5147ffdc65b29bc5259226edc9a279f7a4375ddd39e0d3fdbcb084bd4dc26a489d3afc4be4fb20daa00b72fbd662dabe455cd47859bd3d38284bccd8e7f8d320948054f177f75a94e0b13935e5958c159029d776c4d586088b762563e82343fa8a6beda38071bf1cdafce3f503d8fc1a92478b7f630341b0bb12d4e5b59d60eac69c95214decbd49aa684716649752de35466abfa39361486a3572f61e3418d74e6d1192f07438ce541ae96f73daf0efb8c4a5a7bb44a6d0bfc707eb0ff9b62c157f749f3a3a6a58f4cf27146b5d87f501d7f72", - "tag" : "ee53092e3b28d61488d9cb59a718a4fa", - "result" : "valid" - }, - { - "tcId" : 196, - "comment" : "", - "flags" : [ - "Pseudorandom" - ], - "key" : "a5e1667400c497a927eddbf37566d295a09e1f061b24af46", - "iv" : "c8cac0a02a3b3276c357c2b3", - "aad" : "", - "msg" : "07133989d3c42b89755d10fb60ec4c1b22521a11a304f00cfd7cc59ab54779178008d05ef2960e1d2b7011fa7a8fb6bb27b0bc54fb509084ed7a5a697b4d72fe24fda3da0a5ac5198bc1db4b91eac9c185ade810038346a2335aa1ccb0eb81d35a07ba0b89b4870cdccd367bc3d7ed1ee3f242308b29debd9f12e4e6dca74a3f42f84899035f899e4d0f9ccd1c30c8b32d21779d555f0a03bd5d5c5e4447a92098a10c72116b97722c7019da23f6320f47edb9c95c1ba6b37acc02d63acc50ddd0d26969256003011d7f4cdc2ab5c24e256da648ed1b0eb56c95c57a7fccdd2345f359c0bce6a2f0f49d7184a0023dd05f2eecbcc70fd0fdbae06f425590db38", - "ct" : "841ca3043455e480153af62a17ce904f0843906120229384c9bb2013b441695df24987d37da6b20307fcead58419b11e24f7b5f23a13fdac7555189b645ae973f2725010f779639d870ebf382b0df7aa97e202d9aa3269f4f577b1e1dd001cd1ac6dbdd3968b2f2f586f948d642976baf748121f9720c6a8ac86ab21ecc1dead08f0dbd0f1965cc6bbc4f215a53a630d2848d70c039f9869eac911bc049f8a470f76661bcfd05c07e06317a1163b208b8626eb5616fa5d0ef6b877e4290ec0b0e3eaa50122219a0c60b2fd17629e91962009161b6687a0e6810e0a40c9f7f617d04c0d71e03771ef8da5bc950c7c7dfc61cbacf11b3c143310956c7736c96676", - "tag" : "46e921d8fb4fa03183ad427b302c165d", - "result" : "valid" - }, - { - "tcId" : 197, - "comment" : "", - "flags" : [ - "Pseudorandom" - ], - "key" : "e602188abf6a91f3e258838cea6befeffcf6257a509c3e95", - "iv" : "9e35d3ef1897c5fe3f647204", - "aad" : "", - "msg" : "3b9a6edc44848c072341fd4af51ec116ac328f69cc5a3354e49299fb2e5d22fa0084e30b36ecaf54309397b2b498d686087f3457698c3639e73ca18c78c3e021d673986cfc2ceb4d07e66971e976f58f0336f82c7fc0d52d66610f26ca3bfe53c0b01cf7c207306db904c1ad300ab95c56fde820a8edd256f2b9906b312bf7af5ef4a806f618ddfcb67179b03fff80a245c38d8f4cff2875b71a0bf69129caf97121462e0501ec6574ede94706f4a04d2fb301d415c22ea12157d2e919bc7a0169a5ad5c7bb5761a8531abbe77d66a4871b3f27a7170f099044b9fdc50a8cb3b894252a501cc896ac4793bdb478bb1cb99c02341d7238dd8d593cfda02f7d520d7", - "ct" : "167183661675677625bed2d5f55f728dab80d7f06f629d99e58b45069fe9d7428e8961561b11245c709ac9ebb5c59ac2a89d8375d8a01d849c7733a1b482529927e3f1a1a53f63a4be08a11c941c634cd40373c42ffb2449c641bc9e39eafbcf9c0fba677e36496f73fc70aa0972224901ab04b0a196ab745262021b2313a8464187fecec43adb406258bddcd8c9d04dc2ae29e65d54a89dd0f1752d6d950dbf7da4dea0a7b9465579503fc8ec4451f4b39878ac4754a1aaf7b0b73fee11213cb8e601fc6039393f72e0e079ee97ecc610241757da2db2f51d5ed121481540eff47287744dac43375c4f48a46af70190453a17c3c78d735ba1d1fc76a330e6cbed", - "tag" : "c72035314f43d256f8d845eb696bd943", - "result" : "valid" - }, - { - "tcId" : 198, - "comment" : "", - "flags" : [ - "Pseudorandom" - ], - "key" : "62d347587ef0d58d6cc3ba2ae7af655704ac4dabc1cfb29c", - "iv" : "34e6e296f7625999bc9f02e3", - "aad" : "", - "msg" : "823a005097d7811a4a81636835716670d7e239fe025978d9453461d8b08955fc9f92f297f0474177e9f730cde714467fd376b370ed96725497083f0fb7de9de1037f5094bb9cce8a7ef3137cfe31824ac1f641af92e2806c92e3c58e662c89cc259b3da66bb278a7dc08de9240eeef7151f88ec465f258ecc01b7a2cdb3e188eeb689813c9fb4199b8ad62cc26af1f52f1f3aa02ef3b605deeb0f20a8f00a9f9ca3d153e51d81ccafa07679b438450d0d46e457d5323d3ad385300930e222517b862ddf8b1253df0e20f51eae676cf83692b6ae6d4cfe35bcf43d2cec2edfb72bf9219e8b05aa61f900c804eba59c1007f2ddadab3e1dab4485e5c77f7a988095c5a447c7cd7ecefa26527dfcf8b4615463f12e3ca6910a8a41b07ac4f58e5219459954131c85f8aa70b943038e1d6e9909bb647707bf26a5ceced87298e4f4e616c0cc1edeb8e0c5a6d214918cd245e5d7d38d8c8ec141ddbba354cd2d9b7dd21132d9e4af58f4b6b69eeab9ac0ebd616f564bb4d5a38232d03e7fe62ed700c7761ba25a784c4b0c4804eb500175eeb8a5843e67104e3d1e3740acd022527cff1c982874fe956872818a73b8ca4782bdbb2d17a564de7070b51e0a89ec1834dfc74f23dffdfc478b92b25b26bc8f8a55267031d98278b691d4d3e6f706670d3a29774cf4517ad832b639f944e101694af6901d021a9a7c63cbcc543854460", - "ct" : "ed35bbdc40a2fd2492b1106d118d0c265bec23ba55c5648537fd88a5d2c254e5764602a6e40cd4ba5c0caa4a11414ac1be352c4a7338505d854f34b89fc723d6a3d70369cd1bf2d190065e3d15a4a93fc842e1eb03d580bf500270e88d3f624cf24adbb118ed7ffae73293c8d35fe360ee263ccb41dadc5b75c8024cef1a3b79af12db4641f25e9d9a25dc39064f2f9c5c96c54a9d29c8c9caf7321e27de79c98c77f026f2451a18aca3847e2e92f21440b37445695610020762c656ec2d2067a854c29a69b9d05a0228b389ebf009a7d288ba21724f7733c817a995753359335c928d4426dc2c6d22a61034892fed04a171bd295e31f1f33f5c955fcc2a6ed46051f69f1160298b0de6bbfdb50e10e47d4c7d664c3dd642f615f32ff3246593d29b99395b280aac02d53897baa0f95b919faf94dcf43f38e037acadf56a1f7f1a20de9148ed1527b68c93919ddeb63d386908ed159797a311bf19a72048bb2ff3f4b27d46341aa4aa622cb0cf3adfbdcc42ab211bdec58a72fe36f997c49b147996265bb2ee5555f2ceca4e016af6c069b03f22ad2cab555af4e2dd1409566745e1e89a6dfdb6f8a0e759c09d57768f8b47406a3b9b3246c90fa12e6076b01ad02e7752bf10424a103b3e56633adf55b97f0a18823ef4ac26c92f7cbdbfb54479127fa98c8c5b7325df4a7c2bccdfe07d9200cd953c01d41290c0b157a6c2", - "tag" : "8e883570219fc38cfaa09fe270a35604", - "result" : "valid" - }, - { - "tcId" : 199, - "comment" : "", - "flags" : [ - "Pseudorandom" - ], - "key" : "f208e90e0a08f222c8ac3d4a0c8a8185f3f477f1a43ffce6", - "iv" : "603ddbeb612b71b1d08ebf40", - "aad" : "", - "msg" : "bbae93802be4407815f67e4962b9c394b2fc7c94e6c10a42465f453672100be0d358ff7b0b285cbfce15f3a956a8c20f33a9d87b1202b249cf3f2197fd5d7f8bcee80d4160d0a7c1e8ce7434365a9e5aa413b1923d96073eac3f68f8b5a2bbf23a9ae13f7f13d625c40b42ab06771c1ec00960c2465336b855cb554d3db645f0b7ba2f4c64e0f652bd7902843cc43f8aa8681c838dd31573679c3433246a024c6694b2edbe35d12ad0219d556962e68a00b0586a36f1efe721055b3ac81071a6cb62584a979316aadf220c19d3309b6b22415c28f6d9ffeb20c83a85d5da48017b73cf9267d65b32d4cbf6e12a83be27a2c9848b715c8ab7b870a523f5d960273f703557cbf98f4b05b9d9f78bf4dc4475e07222e5fbf52eb47c785a84b9ec48a04bdc3518864cd9d578e94a63bbc595454db1030df7e99c293f0d4b33a6082c90bad953afae04db99a20abab29ca853858e4608de8df48358521eeb5b983ca4aa0dfe3f04bba8993de84c807ad56e5d79b651d5c2c9cca44fe4797de16d713ba45e7897c031b4f9ae85a219c0ec49ab89ab195effd3fb9f4997a3e1a6d066cf4437c4da39f9939eee4b6d52c1776ebc34ce5f45f2f8703de2404e1f97893a07c8997839c35eedc52e1c5a6412d3b6a9356ff0702845594b581004ce837ebf541707dcc11807868d60408c70c7abe996dd602bc81395202d060d4f076a432fad", - "ct" : "efe849ef160f3e4c2361dadff9e116534503065f807acfb141ecb9e2c3f6beceaa9c3cca568b646e85f7260dbd20495fc3e9fa535cdbebb24d38b24bbf8ac66f35887132e4c7fb6a7a494f92173f337018cf47c3fea564ca69f59fb40be967aca0d95b99c9aeee4adeca6ecbe327693d635dfb8facf33cdeb26d8bae383a0e09ab761efe6bdfbe40579df2aa7f524b99bb2d8902b45c4e2b4a5f673ea32d883d08f9100f62e7018dca2a8da8142224e62ffb2e9e2dadc47012928d67be5fd2bc0aaaa656ff53e2c20b2f7acbccdb77716326a33ad21c3dcf1994cb2ff103fa104d436b8515b6341fa32c92e24225b4c2eaaf6350384716ecd3959f512967268fd0a81411d01eb4d113ea971f79536b9da12e0543d2e5cb2d944361465e255aeddaa753b62643de5f08ba8936384d6a6292bfa5cb014a55e87321f1f7e2a1ba26b392986570d8bb95cd373c17d9b2409d4a659b428817957505e2903972e99bef504507bdae035af62932693ec5e698c48ceba50e35f700fabddbf99bfee0835a2ab26d1910d96ee5e0de578588a3eeb0b83ff89ad019592d2072b5a9790349c42f17532bba7c4264b44de0117ecf90298780543ce616018fe3b28615cb9713063ea9631f7f6405d2536c0433457f42eeec5b7299db8c51d308ec32184cf21b8e8aebde7248bb672128f64e35e1021eaffb7b78c481bf3ff9f890aa65b4615f25", - "tag" : "a2ab3c03129dc8d507b006232a337716", - "result" : "valid" - }, - { - "tcId" : 200, - "comment" : "", - "flags" : [ - "Pseudorandom" - ], - "key" : "701aea2830752a8cb9821af7b43895d39c2431ec877ace03", - "iv" : "a21c680b6e9e40c5b0686f09", - "aad" : "", - "msg" : "a3b7e43f27027c7ce0fd944fe706d89f917b442411cdafdcd74b7f428b7962b9e31b80c957e3f0dc17e6639624c0d0a069cc684b50e700fbc126f17951ee31a388b8966bfd792d2cbe67a0ed2752062813eb7e6138f8d333a1b6721c3d3fabe96060575e9876cec095317090724e1334fa291b90cb926237e331f719290740c7e7e4432976c52203d617b307798810c99df55f0a3fd1fed1b929fa1fcb007465942d9ae3c1d96430916ed15f92623c181461d607a2977b494af88d62f4e3d8485d4600c3e1a09aae4ab743a74e87647db92ab8477f2a8d76193574c8555036330eaca69a12b15d66591d98b8fc08ba06035a549051484af9b3baf9cc366a1dea63885202a6dde3aafcb3c7350f7b2fa4beaab7d5ec7983627ee70677310faaa0cf5ed3afe71c8cb2c3eea9c6416946f28dfb8cb6e618243bef4258a042b36ddd6afe755e982bc49d3017eee040c2cd255e820acd278ee866db3fa2a836bbca9107e55ae55953e2db0a62d9fc245ec589411d1c70b84d974af8798bd4b15d4c95339a96765f7b1283a6c67ebc04075ece478d40408259a25f8291ef9e2f2e5017de2377578c42067228fe70562ee00acd61855efeca0c37f1aa449c0568cc36b8eb2c138d978d8b8e2881acec5af7fe04e595bf615fede74f4948266a9404ee6f1a1241cd08c11ef4d037951dd9780752544518474fbc2d4e3355a72a7c80c703f9", - "ct" : "9d5d5a513e89c0cd140635993c13ec73435f3574aa10c9b80714c34997f2efafa5539e7ef45b36602b164719eda8d799a40a0775edf743e546e915142622dbbeba210d72af782bb26b11df3b9f5aa7bd1a16cfb37d16aa9bf1160dc7fc6901cc851d8443bda743a84d5cef58c8164b3bb9c75fe2abaf247814e2be0ace469aeeb467f2196ceca29c4bfd874e9a58725c7c5d03ca45bde67fcb65fa9b01a9d86c8ef6c84a5e014c99fdfcab0660bc2cea6de79b9bd135d74f24473d283c2b8c92ec2416a609109f21de6992e3c9e5c7ff67d97789e240125575b07b087b3b985b71ad1fa81a8af6a2df6eae7cbc4c911e3e02e1ff3140c01c38a2d7ce18464592150b3a3c00a96ae02f089c12a8e29e400eb55cf739f78e1e9c4513df3821af2df51af476174d8180045ac2ceb3e3579d947983d3ff5bf414ce83ba3bf55349535bc1fffbec73f01acb4aaffd679fc101385cdd5649a78e953a14ddd385c5ea3ec0d060b98f7ddefe2b6669980020bba05e6238bcc650896d0350adefdd00f741fb06043510730da47a5455c278168067ef4e8579f63f7b2fb7e4c2a0fe84e6c03ea2e4a7b138e7598f8ce8ced831b1f5e5a88e0d665f3b7b61705cc50b19080f82bc652fe80f2e8f7fee8d2eee55788b86c1e56d5018023ebf7a23708edd974cfe6963f3eb9b92af9b1e2912377810461ed6c941e79873babf7bfa65b13c4f326d", - "tag" : "1a72a5eb33bdc848cd5f9f9379334955", - "result" : "valid" - }, - { - "tcId" : 201, - "comment" : "", - "flags" : [ - "Pseudorandom" - ], - "key" : "856b07ff0afa13819eef43f5dd4a81f7bed2a9c7089cbf06", - "iv" : "901007f757eb3bf0bfd1e03e", - "aad" : "03a47b930053a4abb40c661eabfcf19ec269f4913a5a18513eb67243b184b2e946fae1838b35c6f086f8227e4d353620684008827b9720f450c3977ebe8622", - "msg" : "b03092f7ad0d36d7e00784652e4ce12eaae65006", - "ct" : "998a3879df7667ff9465bc21d588f66bf8c1c12e", - "tag" : "978b9e5bb49f18f9f46caf5936a67e85", - "result" : "valid" - }, - { - "tcId" : 202, - "comment" : "", - "flags" : [ - "Pseudorandom" - ], - "key" : "55a4ca526443357ac7c896d9a67cf7d467f6921d69002d3a", - "iv" : "dba233ccbc7992e64e82cfa3", - "aad" : "df737cd77d31eb9097a17c31b4c92889ef1f32b7464e2620e9007192ea675b9ad6910527ffecee2452be0248fab75608c7fdca08e86580322aac1d6a11b96ecf", - "msg" : "4e56d1ea538cf49cad49959e884eb540c846556c", - "ct" : "3f57ec1b414f74818fead9f35aa1679402c3e750", - "tag" : "97b89b291419e32cf654ea630a3ad014", - "result" : "valid" - }, - { - "tcId" : 203, - "comment" : "", - "flags" : [ - "Pseudorandom" - ], - "key" : "ef97a39d45a5054df344d818eb156377d4fa5124274f2f2f", - "iv" : "d0278d7ba51e31ebf8f70fca", - "aad" : "66f612f2b99e74db949c1caf3cfbe1dde9646da8497861c37f46dc43bfff08df3aec09b229a5c8b9d8b8901f22dfa3aa1f955dba7aa2e883bd0a2ac510b501a038", - "msg" : "b491a47f1082581642f8053f66017740e898028f", - "ct" : "139bd08a98f92d510c9b4297c49268b22248130f", - "tag" : "712117f40aa46db99677a1b78aa5b81b", - "result" : "valid" - }, - { - "tcId" : 204, - "comment" : "", - "flags" : [ - "Pseudorandom" - ], - "key" : "e430ffe62cf0028ca50bacd8ac020d5420aff345b71a98d8", - "iv" : "2b5dd5d7b0e26fb51fa1e0ff", - "aad" : "625d9a344276ac8b4f62f49bf274a19f8086976741c79e04ef1499c7f4f4b8203dedc6b02e3d49d6c5bc67a973fb125793ab8999f565a41414a6de06f9adf1165f6ade260f447e028a48ad65044d013153ae96e7063732d1ba3a3783fc0905e9a28fa23a5c49ab2cba016d20c6df704bada62a243d76dbaf17a98457793893", - "msg" : "56a1c5580ec785da046fa16bd039a4737eb88c7b", - "ct" : "21ab90dda8190ee814206fbf89e49e8334d81878", - "tag" : "5ee3bd42fbcc55f7c5cd462c6fa991c6", - "result" : "valid" - }, - { - "tcId" : 205, - "comment" : "", - "flags" : [ - "Pseudorandom" - ], - "key" : "f381d0ffd3373a1aa02edd1d7fa748e91908fe534bef73d2", - "iv" : "10aaec0de4ad75376be9fd41", - "aad" : "7739aad7399d9c0f0a3c95b403888f0072d94acb76ff576e05f4a063120b84e722b4d5cd43a58e4abab444cb8ced112f3dbd8993b831c39b4edb76e92eb33ee24c5922b56552685f3b0f4cf22e0e11628f6a3d33eff9def7ec527112dfafcf122814e3d1aaf66c3f970526511088bffef8101d1cef833268ff80387df30557f7", - "msg" : "653a3f033c2775e08fef73cf80f5e2699fb360cb", - "ct" : "5565c6d09c4c924d61c0ef808fb0ea144ffb4738", - "tag" : "12b72ec1d9c32fb22c13c40b33796fa9", - "result" : "valid" - }, - { - "tcId" : 206, - "comment" : "", - "flags" : [ - "Pseudorandom" - ], - "key" : "f8ce769a34f48d24a2076860e7d18ab5f4f2a528e2280da2", - "iv" : "8d7f8676115266f5d1a0e91f", - "aad" : "7b6dccc150563e845434c2bca29f3f9d7841628f00c9474e0620017f7fa8e2500362fd7cf3cd162395b14a520de484c305fe2f6be6309174edc3e14fd5aeccfba6dcae183428613ed9d6df3f01d5db538245c8ae8ff50f30ba3d428510cad3289b462805ea1029133c64af457e46ff512b19580d5dfd0d5a01e42d0fa628c2f729", - "msg" : "507596e9236f4d9ebcdeb0ed75dcc7ff7e52b155", - "ct" : "9ed3ee2562d36b18853a0860cec49c2389d90811", - "tag" : "65d59cf532847093e4c4810d1b552540", - "result" : "valid" - }, - { - "tcId" : 207, - "comment" : "", - "flags" : [ - "Pseudorandom" - ], - "key" : "4b726f49036f5ef872000a34ca09a8528a1eea7e0563a55e", - "iv" : "ae05124d76b056fcce5c8b37", - "aad" : "95df74132def5ae8adb6b3b6cc918a9f7c9072f2df639d269abc3c551cbd6ab245f57a8e97095a580d473aadbff50f1d871e766fec329100b45fa3571b4904b4f5e4e0d1bd25910f457dd1f01bbf82ff59a2138af16756d64fa9d82089ccd6baa18c16d0381dddbc469ccc54405e853fcecf3b2285247dee886639edaafbaad58edb8e1287c17da2f449681988f1e575c8c6e99e2a2aeefbf7e6e1fcac86adf9b1c1349be7fe29f0f71d7cbe8740e09d296a4718b41250b6fbfc68cc52061c0530fd79e15c5b0ef013a977781f7a63ed513892b8d105b1064eeacf1524de4c50ab85c223d47de35eafb9e931cf426dc455866ea88f49d51003b82bf5efc7e6", - "msg" : "e1dd0b94db0a9f7fd6b2c4a6d652e0e2664896dc", - "ct" : "b57c958e548442114387f4cfec8fe0dcce934c9b", - "tag" : "0acf8955d654b84874201a21542d1b2a", - "result" : "valid" - }, - { - "tcId" : 208, - "comment" : "", - "flags" : [ - "Pseudorandom" - ], - "key" : "f8ac92d206df1da3ada5e906806252a78262e51e00a7ce0b", - "iv" : "2c933d7590ff4058e22f7e5b", - "aad" : "ff2771b5c817a5e1326cb907d5384db2861a3295109e678b553ba14a5a99005fe0d6dc6d73178b75d348b6d9c1a8b6983e20cf2b23161cc88b02752cba166f36ebb433d7b429ff5f590758d3ba5696f7268caa55b0e5fbfff498aa77ec79115c679b7df6b118cf4c51a3185f9d6177de145be885ca5e1b355a4a21b6b0b7928c6e70d6cfee65a3d17758e08012f088b28e381e8abc6e15471d580036bb3e78ae1f976caa660ead300c4d0f50d04fa07088643361ac8c634d4c375827be900d62f860f9089c5dbc5ad02f9cab9dd49a324c960b259ab839de45896c6049eb71f4a056d937a90afac1f52e7c73c24ca341306c32a016cbe40c7478de24ec8c7f6f", - "msg" : "44ac8c525484528958ecfee09ed44ec0df828a61", - "ct" : "971445256332bf87268538e10bb470f11df912e5", - "tag" : "41a6af58f67c6cc4fc6f55189f68cdac", - "result" : "valid" - }, - { - "tcId" : 209, - "comment" : "", - "flags" : [ - "Pseudorandom" - ], - "key" : "8f27b1c3b3d7023c76ee66c768a3e92d4971e25f729d8788", - "iv" : "12444040caede67285e490d7", - "aad" : "58fd02ac23ec7fa5b9460f60bfc85b4bebba70039a8f83261d6cc4f560107c10bc69548a5d6152882fb465fd59fb8164d7c94523c3dd4206d33064f5191bd31f0c48fe03d7460e995c93175b57cb03f58711adc94632031c4305272367b4289c725d9cb7ae9ba996b3a079174508c1eae8162a0bac446c1e53fe0c402b6912dfd6702addccada30a5c010fc22c2c75e43226378ec7f4b3b71ccc71f32ab1adc877cc7b0a180c75d385c0f71a0b291a1cccf4be47e272249d61ffbf059c4f7be74eba07d5e1be3a7438458a611fe58cee4f946e25dee03e6485235566f20ed555be32cd57a94e522d2168eae23c4587371a2d145f418c59e7bbc464a3bd88b8919b", - "msg" : "0df6e750092b9ac576dde66006a4cab2116eee21", - "ct" : "c6877b03552e97d9a1e6557f90dc7adde15a2f43", - "tag" : "2536272bee7446820041854e10b49a03", - "result" : "valid" - }, - { - "tcId" : 210, - "comment" : "", - "flags" : [ - "Pseudorandom" - ], - "key" : "9755eb909e1c30c2c11d3f106107e7b573c25b9fdb8bc19a", - "iv" : "a82a5f561431c689e7c4dc0b", - "aad" : "e12f568134513a0ea75837571321e6355f7078970184400b1297db21b0cd34c6677852a3079a31f2ae83781270b36a97a28da391605f02b40754501871675616a9a9047f7e3865295120d5d3d329ebcc7a4e24ef8db3efe615c2a9102dfa7a49c370f333c62ac196fb4949c64409492712e3b423faf621443e6d07e76738497e301d41c26a414e8d08ff118d65b6a2d6768d18883c52466b5af58cf8335904a2ebb1c02673c80c285d6771067b0db6e6e93156405bb2f5b61b5be80df0db6ae5fa8a9fc69db80be215a0ae17b808f6a00c52555b4b3188e71ea38ff08583b6cabd0b3f86b44f2a494cf54bb41320bdcd8bebd1e8b566435e9f6b2949e2152c5f721d0490db80f564164dbc6f394933dadd7b98ef28b04f54064f9ab84ea7f6fd92f3bb071eee8b3b924ea9f182e707a06f80c6129485c648a7aec6e00cdbb1ae41fd91273fb8370ea5ac9b19a7fe000b4f45a586dd04e793565226931300eaf900b99d50b7a68e7fc517b581412b2b193cc5d8b02cab61027ceee8701718eae5847b674d68d371775ebd40135a24962165f2f7dbfd7069ad1d8c88f2d2e13bf049e847f6e5198037a90d196d49ee04b08e210ab9967b376cf875b6cc66d77e70a82a0f7f06e20cb2d469b59f2b59e5ed0f27907955d4e4826b5b6ba98d7cb30f1804c6c4350101dc790684811774afc1bdc6a84bae3bd3e2dfe08180f0a509", - "msg" : "f8007e074951f11f55e10736b5dd17abff63e87a", - "ct" : "a86df5408463e8baa3198eb8b931a2298cebb097", - "tag" : "673da04c8ee1bbf2f7be33c7be2d09a5", - "result" : "valid" - }, - { - "tcId" : 211, - "comment" : "", - "flags" : [ - "Pseudorandom" - ], - "key" : "d4090019a07de8ff31e98fd1898ffbd8c1001f58269a6433", - "iv" : "65aeaa5ed2c63afd95ff522a", - "aad" : "37df311edab4303e9b10dc83a90e8562c55aeb9ab98564437468c6b41d3e08898079c9d818e1ca0f0249ec36c183d26678828f0536cb06a8748709330877155ca9a7f87629868c126b3dfba262e0e5ec2e493ea51e4566a94d825c47792634c8d9944666001e12ad2399a4dded6e2c67830fd527956c02f2eb1bc55991cc8be609b3490c0c2a4063f0f2bd2a3203328ea6816579aed76090809e51175f275286f56e77d0455f9ec45c0ed2f0f454374382a3b2d043862d3ee069d5966cbe017927a8a8aaf5873de038d940375b3a2971d453e646dbbb614246325f1f88639c1e868e43b7868f37cd577f8ce35ff05bc0159992c34b933eb9c50bf9d5257d91b644f0b2658c63010afc9fc49f60a50b6f7ae994d4377313b9e78657cccdf4cdfa5d96eb5e935613a27d109b5c20434ca108f05df5f798d8bb421c3e9dc2f546d1b45050a26f889ae0235d2c39b1ea4b2f3b52672727c9e5da6db731c3539c80d10538e69643c79c681014f84fb3a8356dbafbeb6e8e701c445d524b63b1b8fff49c4fbcf672a07977b9661f472efc508d430cefe8e744f324c22846060c637ada1e83a177ad2520b8ac214b844c506493434f8f1666a0bb6a3f57ec6c4efd3f138fb767d7ef6cac7c9d31db5c954b7a7fd2a87308f997eda1d8ae8cc0c7211ec13fc6fda845eadcd25c7f7a9c69cc38d91439fe7ef153835fd972e218594c2a06", - "msg" : "abe86098f798946add9b1b078f16358ea0dd0cd1", - "ct" : "9d0a4e2fcd6ff30cb3ccaaa29f311392e1b43fe4", - "tag" : "f35dac665c8bac31f6ab0587615ec1bc", - "result" : "valid" - }, - { - "tcId" : 212, - "comment" : "", - "flags" : [ - "Pseudorandom" - ], - "key" : "2ca090f0f4ec5afdf4a3cfb253fe2e87771ddd5b0375f567", - "iv" : "4c48b15143a3f40305c70cd6", - "aad" : "894fb598d67e5d2d434fd216d38e69631e69c23e488ffbde6e4ff84b10f51563da1c8ca05308fda743af0c55c3714479d0b337b6157c065bf74e9527985a76561843f347f15268f2c9b778b273a6496c0b13dd6bedd7876b336abac4e871584c54c8ab1ee731be17ed0044c82fef47341131f3ce09918dc2920a8b6426ef40a3a539230a28e2636d27e42a2636d016bb58ef8987fb52f066e75e3193a8f98f58f6eb6178bf930cca0ffc5728d67a9e02351051b47abccc8e8afaeff2134c79a08d3c4f596de227f87f48f53f60715054bb59e9640b3f224817ff2453cd685740bbd65f7de9d71d041a90a5146122e1c13bbaf364a7bc30e1827cb962aa409fefcc2d512cef53b3f0059550c5464219b636082768f61296cd1eef8cce71c17c84fd4717e231bb5be272839bd7385c8ef8680100212ecab4430a8bb6fa6599c47ace673409901b0f098b61720920419f033c5efc7cf633047021c8329697a3887ba7d0e4ce8e573c9c055daf285782eb0657ebf4666f4fe078f2fb93323b7151d95af1ffb5bddec2fb1e96b4c70a0b8162224905dd2c0acb9b1c1c332bdd356d05b5fab9813c16f893dcce2a95b0b34d4d9a5997037a90ded22de5e4d0e3e410569d3b010d31ba78843c6b6226f364ecc9695623ce1c1c21bf5734e08c3097d0f32a0624d32b9eb49f7ae61b68c50f5920db675a5a8a73cd288364ec9705db799893", - "msg" : "00f6840e9b66ef3b6be01f74dfea1ca408038ef5", - "ct" : "daf4f2eed72c51941e8038e92c5d9272c2b2d97b", - "tag" : "5c3fd7da0dfbf67c11acb866caf92a99", - "result" : "valid" - }, - { - "tcId" : 213, - "comment" : "Flipped bit 0 in tag", - "flags" : [ - "ModifiedTag" - ], - "key" : "000102030405060708090a0b0c0d0e0f1011121314151617", - "iv" : "505152535455565758595a5b", - "aad" : "", - "msg" : "202122232425262728292a2b2c2d2e2f", - "ct" : "458256842dfd297f30bd2f8f15c92db0", - "tag" : "b5e44c5b2fe90e4c78f358da0d99cb64", - "result" : "invalid" - }, - { - "tcId" : 214, - "comment" : "Flipped bit 1 in tag", - "flags" : [ - "ModifiedTag" - ], - "key" : "000102030405060708090a0b0c0d0e0f1011121314151617", - "iv" : "505152535455565758595a5b", - "aad" : "", - "msg" : "202122232425262728292a2b2c2d2e2f", - "ct" : "458256842dfd297f30bd2f8f15c92db0", - "tag" : "b6e44c5b2fe90e4c78f358da0d99cb64", - "result" : "invalid" - }, - { - "tcId" : 215, - "comment" : "Flipped bit 7 in tag", - "flags" : [ - "ModifiedTag" - ], - "key" : "000102030405060708090a0b0c0d0e0f1011121314151617", - "iv" : "505152535455565758595a5b", - "aad" : "", - "msg" : "202122232425262728292a2b2c2d2e2f", - "ct" : "458256842dfd297f30bd2f8f15c92db0", - "tag" : "34e44c5b2fe90e4c78f358da0d99cb64", - "result" : "invalid" - }, - { - "tcId" : 216, - "comment" : "Flipped bit 8 in tag", - "flags" : [ - "ModifiedTag" - ], - "key" : "000102030405060708090a0b0c0d0e0f1011121314151617", - "iv" : "505152535455565758595a5b", - "aad" : "", - "msg" : "202122232425262728292a2b2c2d2e2f", - "ct" : "458256842dfd297f30bd2f8f15c92db0", - "tag" : "b4e54c5b2fe90e4c78f358da0d99cb64", - "result" : "invalid" - }, - { - "tcId" : 217, - "comment" : "Flipped bit 31 in tag", - "flags" : [ - "ModifiedTag" - ], - "key" : "000102030405060708090a0b0c0d0e0f1011121314151617", - "iv" : "505152535455565758595a5b", - "aad" : "", - "msg" : "202122232425262728292a2b2c2d2e2f", - "ct" : "458256842dfd297f30bd2f8f15c92db0", - "tag" : "b4e44cdb2fe90e4c78f358da0d99cb64", - "result" : "invalid" - }, - { - "tcId" : 218, - "comment" : "Flipped bit 32 in tag", - "flags" : [ - "ModifiedTag" - ], - "key" : "000102030405060708090a0b0c0d0e0f1011121314151617", - "iv" : "505152535455565758595a5b", - "aad" : "", - "msg" : "202122232425262728292a2b2c2d2e2f", - "ct" : "458256842dfd297f30bd2f8f15c92db0", - "tag" : "b4e44c5b2ee90e4c78f358da0d99cb64", - "result" : "invalid" - }, - { - "tcId" : 219, - "comment" : "Flipped bit 33 in tag", - "flags" : [ - "ModifiedTag" - ], - "key" : "000102030405060708090a0b0c0d0e0f1011121314151617", - "iv" : "505152535455565758595a5b", - "aad" : "", - "msg" : "202122232425262728292a2b2c2d2e2f", - "ct" : "458256842dfd297f30bd2f8f15c92db0", - "tag" : "b4e44c5b2de90e4c78f358da0d99cb64", - "result" : "invalid" - }, - { - "tcId" : 220, - "comment" : "Flipped bit 63 in tag", - "flags" : [ - "ModifiedTag" - ], - "key" : "000102030405060708090a0b0c0d0e0f1011121314151617", - "iv" : "505152535455565758595a5b", - "aad" : "", - "msg" : "202122232425262728292a2b2c2d2e2f", - "ct" : "458256842dfd297f30bd2f8f15c92db0", - "tag" : "b4e44c5b2fe90ecc78f358da0d99cb64", - "result" : "invalid" - }, - { - "tcId" : 221, - "comment" : "Flipped bit 64 in tag", - "flags" : [ - "ModifiedTag" - ], - "key" : "000102030405060708090a0b0c0d0e0f1011121314151617", - "iv" : "505152535455565758595a5b", - "aad" : "", - "msg" : "202122232425262728292a2b2c2d2e2f", - "ct" : "458256842dfd297f30bd2f8f15c92db0", - "tag" : "b4e44c5b2fe90e4c79f358da0d99cb64", - "result" : "invalid" - }, - { - "tcId" : 222, - "comment" : "Flipped bit 71 in tag", - "flags" : [ - "ModifiedTag" - ], - "key" : "000102030405060708090a0b0c0d0e0f1011121314151617", - "iv" : "505152535455565758595a5b", - "aad" : "", - "msg" : "202122232425262728292a2b2c2d2e2f", - "ct" : "458256842dfd297f30bd2f8f15c92db0", - "tag" : "b4e44c5b2fe90e4cf8f358da0d99cb64", - "result" : "invalid" - }, - { - "tcId" : 223, - "comment" : "Flipped bit 77 in tag", - "flags" : [ - "ModifiedTag" - ], - "key" : "000102030405060708090a0b0c0d0e0f1011121314151617", - "iv" : "505152535455565758595a5b", - "aad" : "", - "msg" : "202122232425262728292a2b2c2d2e2f", - "ct" : "458256842dfd297f30bd2f8f15c92db0", - "tag" : "b4e44c5b2fe90e4c78d358da0d99cb64", - "result" : "invalid" - }, - { - "tcId" : 224, - "comment" : "Flipped bit 80 in tag", - "flags" : [ - "ModifiedTag" - ], - "key" : "000102030405060708090a0b0c0d0e0f1011121314151617", - "iv" : "505152535455565758595a5b", - "aad" : "", - "msg" : "202122232425262728292a2b2c2d2e2f", - "ct" : "458256842dfd297f30bd2f8f15c92db0", - "tag" : "b4e44c5b2fe90e4c78f359da0d99cb64", - "result" : "invalid" - }, - { - "tcId" : 225, - "comment" : "Flipped bit 96 in tag", - "flags" : [ - "ModifiedTag" - ], - "key" : "000102030405060708090a0b0c0d0e0f1011121314151617", - "iv" : "505152535455565758595a5b", - "aad" : "", - "msg" : "202122232425262728292a2b2c2d2e2f", - "ct" : "458256842dfd297f30bd2f8f15c92db0", - "tag" : "b4e44c5b2fe90e4c78f358da0c99cb64", - "result" : "invalid" - }, - { - "tcId" : 226, - "comment" : "Flipped bit 97 in tag", - "flags" : [ - "ModifiedTag" - ], - "key" : "000102030405060708090a0b0c0d0e0f1011121314151617", - "iv" : "505152535455565758595a5b", - "aad" : "", - "msg" : "202122232425262728292a2b2c2d2e2f", - "ct" : "458256842dfd297f30bd2f8f15c92db0", - "tag" : "b4e44c5b2fe90e4c78f358da0f99cb64", - "result" : "invalid" - }, - { - "tcId" : 227, - "comment" : "Flipped bit 103 in tag", - "flags" : [ - "ModifiedTag" - ], - "key" : "000102030405060708090a0b0c0d0e0f1011121314151617", - "iv" : "505152535455565758595a5b", - "aad" : "", - "msg" : "202122232425262728292a2b2c2d2e2f", - "ct" : "458256842dfd297f30bd2f8f15c92db0", - "tag" : "b4e44c5b2fe90e4c78f358da8d99cb64", - "result" : "invalid" - }, - { - "tcId" : 228, - "comment" : "Flipped bit 120 in tag", - "flags" : [ - "ModifiedTag" - ], - "key" : "000102030405060708090a0b0c0d0e0f1011121314151617", - "iv" : "505152535455565758595a5b", - "aad" : "", - "msg" : "202122232425262728292a2b2c2d2e2f", - "ct" : "458256842dfd297f30bd2f8f15c92db0", - "tag" : "b4e44c5b2fe90e4c78f358da0d99cb65", - "result" : "invalid" - }, - { - "tcId" : 229, - "comment" : "Flipped bit 121 in tag", - "flags" : [ - "ModifiedTag" - ], - "key" : "000102030405060708090a0b0c0d0e0f1011121314151617", - "iv" : "505152535455565758595a5b", - "aad" : "", - "msg" : "202122232425262728292a2b2c2d2e2f", - "ct" : "458256842dfd297f30bd2f8f15c92db0", - "tag" : "b4e44c5b2fe90e4c78f358da0d99cb66", - "result" : "invalid" - }, - { - "tcId" : 230, - "comment" : "Flipped bit 126 in tag", - "flags" : [ - "ModifiedTag" - ], - "key" : "000102030405060708090a0b0c0d0e0f1011121314151617", - "iv" : "505152535455565758595a5b", - "aad" : "", - "msg" : "202122232425262728292a2b2c2d2e2f", - "ct" : "458256842dfd297f30bd2f8f15c92db0", - "tag" : "b4e44c5b2fe90e4c78f358da0d99cb24", - "result" : "invalid" - }, - { - "tcId" : 231, - "comment" : "Flipped bit 127 in tag", - "flags" : [ - "ModifiedTag" - ], - "key" : "000102030405060708090a0b0c0d0e0f1011121314151617", - "iv" : "505152535455565758595a5b", - "aad" : "", - "msg" : "202122232425262728292a2b2c2d2e2f", - "ct" : "458256842dfd297f30bd2f8f15c92db0", - "tag" : "b4e44c5b2fe90e4c78f358da0d99cbe4", - "result" : "invalid" - }, - { - "tcId" : 232, - "comment" : "Flipped bits 0 and 64 in tag", - "flags" : [ - "ModifiedTag" - ], - "key" : "000102030405060708090a0b0c0d0e0f1011121314151617", - "iv" : "505152535455565758595a5b", - "aad" : "", - "msg" : "202122232425262728292a2b2c2d2e2f", - "ct" : "458256842dfd297f30bd2f8f15c92db0", - "tag" : "b5e44c5b2fe90e4c79f358da0d99cb64", - "result" : "invalid" - }, - { - "tcId" : 233, - "comment" : "Flipped bits 31 and 63 in tag", - "flags" : [ - "ModifiedTag" - ], - "key" : "000102030405060708090a0b0c0d0e0f1011121314151617", - "iv" : "505152535455565758595a5b", - "aad" : "", - "msg" : "202122232425262728292a2b2c2d2e2f", - "ct" : "458256842dfd297f30bd2f8f15c92db0", - "tag" : "b4e44cdb2fe90ecc78f358da0d99cb64", - "result" : "invalid" - }, - { - "tcId" : 234, - "comment" : "Flipped bits 63 and 127 in tag", - "flags" : [ - "ModifiedTag" - ], - "key" : "000102030405060708090a0b0c0d0e0f1011121314151617", - "iv" : "505152535455565758595a5b", - "aad" : "", - "msg" : "202122232425262728292a2b2c2d2e2f", - "ct" : "458256842dfd297f30bd2f8f15c92db0", - "tag" : "b4e44c5b2fe90ecc78f358da0d99cbe4", - "result" : "invalid" - }, - { - "tcId" : 235, - "comment" : "all bits of tag flipped", - "flags" : [ - "ModifiedTag" - ], - "key" : "000102030405060708090a0b0c0d0e0f1011121314151617", - "iv" : "505152535455565758595a5b", - "aad" : "", - "msg" : "202122232425262728292a2b2c2d2e2f", - "ct" : "458256842dfd297f30bd2f8f15c92db0", - "tag" : "4b1bb3a4d016f1b3870ca725f266349b", - "result" : "invalid" - }, - { - "tcId" : 236, - "comment" : "Tag changed to all zero", - "flags" : [ - "ModifiedTag" - ], - "key" : "000102030405060708090a0b0c0d0e0f1011121314151617", - "iv" : "505152535455565758595a5b", - "aad" : "", - "msg" : "202122232425262728292a2b2c2d2e2f", - "ct" : "458256842dfd297f30bd2f8f15c92db0", - "tag" : "00000000000000000000000000000000", - "result" : "invalid" - }, - { - "tcId" : 237, - "comment" : "tag changed to all 1", - "flags" : [ - "ModifiedTag" - ], - "key" : "000102030405060708090a0b0c0d0e0f1011121314151617", - "iv" : "505152535455565758595a5b", - "aad" : "", - "msg" : "202122232425262728292a2b2c2d2e2f", - "ct" : "458256842dfd297f30bd2f8f15c92db0", - "tag" : "ffffffffffffffffffffffffffffffff", - "result" : "invalid" - }, - { - "tcId" : 238, - "comment" : "msbs changed in tag", - "flags" : [ - "ModifiedTag" - ], - "key" : "000102030405060708090a0b0c0d0e0f1011121314151617", - "iv" : "505152535455565758595a5b", - "aad" : "", - "msg" : "202122232425262728292a2b2c2d2e2f", - "ct" : "458256842dfd297f30bd2f8f15c92db0", - "tag" : "3464ccdbaf698eccf873d85a8d194be4", - "result" : "invalid" - }, - { - "tcId" : 239, - "comment" : "lsbs changed in tag", - "flags" : [ - "ModifiedTag" - ], - "key" : "000102030405060708090a0b0c0d0e0f1011121314151617", - "iv" : "505152535455565758595a5b", - "aad" : "", - "msg" : "202122232425262728292a2b2c2d2e2f", - "ct" : "458256842dfd297f30bd2f8f15c92db0", - "tag" : "b5e54d5a2ee80f4d79f259db0c98ca65", - "result" : "invalid" - } - ] - }, - { - "ivSize" : 128, - "keySize" : 256, - "tagSize" : 128, - "type" : "AeadTest", - "tests" : [ - { - "tcId" : 240, - "comment" : "J0:000102030405060708090a0b0c0d0e0f", - "flags" : [ - "CounterWrap" - ], - "key" : "00112233445566778899aabbccddeeff102132435465768798a9bacbdcedfe0f", - "iv" : "5c2ea9b695fcf6e264b96074d6bfa572", - "aad" : "", - "msg" : "00000000000000000000000000000000000000000000000000000000000000000000000000000000", - "ct" : "28e1c5232f4ee8161dbe4c036309e0b3254e9212bef0a93431ce5e5604c8f6a73c18a3183018b770", - "tag" : "d5808a1bd11a01129bf3c6919aff2339", - "result" : "valid" - }, - { - "tcId" : 241, - "comment" : "J0:00000000000000000000000000000000", - "flags" : [ - "CounterWrap" - ], - "key" : "00112233445566778899aabbccddeeff102132435465768798a9bacbdcedfe0f", - "iv" : "57b3a81f2c36b6b06577ca0fbab8fa8e", - "aad" : "", - "msg" : "00000000000000000000000000000000000000000000000000000000000000000000000000000000", - "ct" : "cceebeb4fe4cd90c514e52d2327a2ecd75393661006cf2476d8620149aef3d1cdce491fff3e7a7a3", - "tag" : "8132e865b69d64ef37db261f80cbbe24", - "result" : "valid" - }, - { - "tcId" : 242, - "comment" : "J0:ffffffffffffffffffffffffffffffff", - "flags" : [ - "CounterWrap" - ], - "key" : "00112233445566778899aabbccddeeff102132435465768798a9bacbdcedfe0f", - "iv" : "ce20a7e870696a5e68533c465bad2ba1", - "aad" : "", - "msg" : "00000000000000000000000000000000000000000000000000000000000000000000000000000000", - "ct" : "4f4350565d91d9aa8c5f4048550492ad6d6fdabf66da5d1e2af7bfe1a8aadaa0baa3de38a41d9713", - "tag" : "155da6441ec071ef2d8e6cffbacc1c7c", - "result" : "valid" - }, - { - "tcId" : 243, - "comment" : "J0:fffffffffffffffffffffffffffffffe", - "flags" : [ - "CounterWrap" - ], - "key" : "00112233445566778899aabbccddeeff102132435465768798a9bacbdcedfe0f", - "iv" : "918e3c19dbdfee2db18156c5b93f3d75", - "aad" : "", - "msg" : "00000000000000000000000000000000000000000000000000000000000000000000000000000000", - "ct" : "8316a53167b6de1a7575700693ffef274f4350565d91d9aa8c5f4048550492ad6d6fdabf66da5d1e", - "tag" : "6c574aa6a2490cc3b2f2f8f0ffbc56c4", - "result" : "valid" - }, - { - "tcId" : 244, - "comment" : "J0:fffffffffffffffffffffffffffffffd", - "flags" : [ - "CounterWrap" - ], - "key" : "00112233445566778899aabbccddeeff102132435465768798a9bacbdcedfe0f", - "iv" : "717d900b270462b9dbf7e9419e890609", - "aad" : "", - "msg" : "00000000000000000000000000000000000000000000000000000000000000000000000000000000", - "ct" : "5175927513e751eb309f45bc2ef225f28316a53167b6de1a7575700693ffef274f4350565d91d9aa", - "tag" : "8082a761e1d755344bf29622144e7d39", - "result" : "valid" - }, - { - "tcId" : 245, - "comment" : "J0:000102030405060708090a0bffffffff", - "flags" : [ - "CounterWrap" - ], - "key" : "00112233445566778899aabbccddeeff102132435465768798a9bacbdcedfe0f", - "iv" : "ecd52120af240e9b4bf3b9d1eeb49434", - "aad" : "", - "msg" : "00000000000000000000000000000000000000000000000000000000000000000000000000000000", - "ct" : "36b3fbecd09178d04527fb37544f5579d20d60a41266f685c48098e1a52804ca387d90709d3268dd", - "tag" : "033e0ef2953ebfd8425737c7d393f89a", - "result" : "valid" - }, - { - "tcId" : 246, - "comment" : "J0:000102030405060708090a0bfffffffe", - "flags" : [ - "CounterWrap" - ], - "key" : "00112233445566778899aabbccddeeff102132435465768798a9bacbdcedfe0f", - "iv" : "b37bbad104928ae89221d3520c2682e0", - "aad" : "", - "msg" : "00000000000000000000000000000000000000000000000000000000000000000000000000000000", - "ct" : "16929b773051f12b0adac95f65e21a7f36b3fbecd09178d04527fb37544f5579d20d60a41266f685", - "tag" : "ca448bb7e52e897eca234ef343d057d0", - "result" : "valid" - }, - { - "tcId" : 247, - "comment" : "J0:000102030405060708090a0bfffffffd", - "flags" : [ - "CounterWrap" - ], - "key" : "00112233445566778899aabbccddeeff102132435465768798a9bacbdcedfe0f", - "iv" : "538816c3f849067cf8576cd62b90b99c", - "aad" : "", - "msg" : "00000000000000000000000000000000000000000000000000000000000000000000000000000000", - "ct" : "6d3faefaf691d58163846f8d4b9ffd5916929b773051f12b0adac95f65e21a7f36b3fbecd09178d0", - "tag" : "84f49740e6757f63dd0df7cb7656d0ef", - "result" : "valid" - }, - { - "tcId" : 248, - "comment" : "J0:000102030405060708090a0b7fffffff", - "flags" : [ - "CounterWrap" - ], - "key" : "00112233445566778899aabbccddeeff102132435465768798a9bacbdcedfe0f", - "iv" : "d10e631943cd3bdababab2bbd13951c0", - "aad" : "", - "msg" : "00000000000000000000000000000000000000000000000000000000000000000000000000000000", - "ct" : "d60196c2d14fcf30c0991d2721ddc52d385f407a16691dade82c9023c855fd8e2e8fbb562102f018", - "tag" : "877e15d9889e69a99fcc6d727465c391", - "result" : "valid" - }, - { - "tcId" : 249, - "comment" : "J0:000102030405060708090a0b7ffffffe", - "flags" : [ - "CounterWrap" - ], - "key" : "00112233445566778899aabbccddeeff102132435465768798a9bacbdcedfe0f", - "iv" : "8ea0f8e8e87bbfa96368d83833ab4714", - "aad" : "", - "msg" : "00000000000000000000000000000000000000000000000000000000000000000000000000000000", - "ct" : "948fbceca12a6e4fabb79b6d965e336fd60196c2d14fcf30c0991d2721ddc52d385f407a16691dad", - "tag" : "cd5757626945976ba9f0264bd6bee894", - "result" : "valid" - }, - { - "tcId" : 250, - "comment" : "J0:000102030405060708090a0bffff7fff", - "flags" : [ - "CounterWrap" - ], - "key" : "00112233445566778899aabbccddeeff102132435465768798a9bacbdcedfe0f", - "iv" : "7b2df4fbed1de2727eb24898e5deabb9", - "aad" : "", - "msg" : "00000000000000000000000000000000000000000000000000000000000000000000000000000000", - "ct" : "a1a0120660ff52e6b1700b12c54d2d33b94b00cd7882d8857d84e6e183a1dea6ee85a7da84fbc35d", - "tag" : "b015d72da62c81cb4d267253b20db9e5", - "result" : "valid" - }, - { - "tcId" : 251, - "comment" : "J0:000102030405060708090a0bffff7ffe", - "flags" : [ - "CounterWrap" - ], - "key" : "00112233445566778899aabbccddeeff102132435465768798a9bacbdcedfe0f", - "iv" : "24836f0a46ab6601a760221b074cbd6d", - "aad" : "", - "msg" : "00000000000000000000000000000000000000000000000000000000000000000000000000000000", - "ct" : "5e3434b45edbf0d1f6e02d1144dbf867a1a0120660ff52e6b1700b12c54d2d33b94b00cd7882d885", - "tag" : "ee74ccb30d649ebf6916d05a7dbe5696", - "result" : "valid" - }, - { - "tcId" : 252, - "comment" : "special case", - "flags" : [ - "SpecialCase" - ], - "key" : "00112233445566778899aabbccddeeff102132435465768798a9bacbdcedfe0f", - "iv" : "00000000000000000000000000000000", - "aad" : "", - "msg" : "8d74f1c97243d362577ff376c393d2dc", - "ct" : "265c42e2b96ea1de9c24f7182e337390", - "tag" : "00000000000000000000000000000000", - "result" : "valid" - }, - { - "tcId" : 253, - "comment" : "special case", - "flags" : [ - "SpecialCase" - ], - "key" : "00112233445566778899aabbccddeeff102132435465768798a9bacbdcedfe0f", - "iv" : "ffffffffffffffffffffffffffffffff", - "aad" : "", - "msg" : "884df0e76f3ce227bf9595d103825a46", - "ct" : "988f47668ea650cbaa6714711abe268d", - "tag" : "ffffffffffffffffffffffffffffffff", - "result" : "valid" - }, - { - "tcId" : 254, - "comment" : "", - "flags" : [ - "Pseudorandom" - ], - "key" : "b4cd11db0b3e0b9b34eafd9fe027746976379155e76116afde1b96d21298e34f", - "iv" : "00c49f4ebb07393f07ebc3825f7b0830", - "aad" : "", - "msg" : "", - "ct" : "", - "tag" : "306fe8c9645cc849823e333a685b90b2", - "result" : "valid" - }, - { - "tcId" : 255, - "comment" : "", - "flags" : [ - "Pseudorandom" - ], - "key" : "b7797eb0c1a6089ad5452d81fdb14828c040ddc4589c32b565aad8cb4de3e4a0", - "iv" : "0ad570d8863918fe89124e09d125a271", - "aad" : "", - "msg" : "ed", - "ct" : "3f", - "tag" : "fd8f593b83314e33c5a72efbeb7095e8", - "result" : "valid" - }, - { - "tcId" : 256, - "comment" : "", - "flags" : [ - "Pseudorandom" - ], - "key" : "4c010d9561c7234c308c01cea3040c925a9f324dc958ff904ae39b37e60e1e03", - "iv" : "2a55caa137c5b0b66cf3809eb8f730c4", - "aad" : "", - "msg" : "2a093c9ed72b8ff4994201e9f9e010", - "ct" : "041341078f0439e50b43c991635117", - "tag" : "5b8a2f2da20ef657c903da88ef5f57bb", - "result" : "valid" - }, - { - "tcId" : 257, - "comment" : "", - "flags" : [ - "Pseudorandom" - ], - "key" : "e7f7a48df99edd92b81f508618aa96526b279debd9ddb292d385ddbae80b2259", - "iv" : "7ee376910f08f497aa6c3aa7113697fd", - "aad" : "", - "msg" : "5e51dbbb861b5ec60751c0996e00527f", - "ct" : "469478d448f7e97d755541aa09ad95b0", - "tag" : "254ada5cf662d90c5e11b2bd9c4db4c4", - "result" : "valid" - }, - { - "tcId" : 258, - "comment" : "", - "flags" : [ - "Pseudorandom" - ], - "key" : "4f84782bfbb64a973c3de3dcfa3430367fd68bc0b4c3b31e5d7c8141ba3e6a67", - "iv" : "5d1bde6fa0994b33efd8f23f531248a7", - "aad" : "", - "msg" : "78cb6650a1908a842101ea85804fed00cc56fbdafafba0ef4d1ca607dcae57b6", - "ct" : "cb960201fa5ad41d41d1c2c8037c71d52b72e76b16b589d71b976627c9734c9d", - "tag" : "8dfce16467c3a6ebb3e7242c9a551962", - "result" : "valid" - } - ] - }, - { - "ivSize" : 120, - "keySize" : 128, - "tagSize" : 128, - "type" : "AeadTest", - "tests" : [ - { - "tcId" : 259, - "comment" : "unusual IV size", - "flags" : [ - "LongIv" - ], - "key" : "34c74e28182948e03af02a01f46eb4f7", - "iv" : "b0a73119a97d623806b49d45ddf4c7", - "aad" : "", - "msg" : "fe82ba66cf2e265741f2c86c", - "ct" : "2bc3ef8e7402b4631f48e9be", - "tag" : "4b6f6f5be291a90b9e93a8a82ddbc8d8", - "result" : "valid" - } - ] - }, - { - "ivSize" : 160, - "keySize" : 128, - "tagSize" : 128, - "type" : "AeadTest", - "tests" : [ - { - "tcId" : 260, - "comment" : "unusual IV size", - "flags" : [ - "LongIv" - ], - "key" : "55cb7cac77efe18a1ea3b30c65f3f346", - "iv" : "e22b6b144ab26b5781316e7a42a76202ac4b2278", - "aad" : "", - "msg" : "2f3d11ea32bf5bc72cbe2b8d", - "ct" : "4fe13ef29f118f85a63188f8", - "tag" : "05975b175316df8045889f43e0c857e0", - "result" : "valid" - } - ] - }, - { - "ivSize" : 120, - "keySize" : 192, - "tagSize" : 128, - "type" : "AeadTest", - "tests" : [ - { - "tcId" : 261, - "comment" : "unusual IV size", - "flags" : [ - "LongIv" - ], - "key" : "66f75acbd8d3acf7af47d13e8384c2809d6b91503a7f294b", - "iv" : "edf93e16294f15eded83808f09320e", - "aad" : "", - "msg" : "a900c86b6b7e0e5563f8f826", - "ct" : "9af1a022c61c4315aa0e923e", - "tag" : "20529bff3c59222ec33353af337b1d40", - "result" : "valid" - } - ] - }, - { - "ivSize" : 160, - "keySize" : 192, - "tagSize" : 128, - "type" : "AeadTest", - "tests" : [ - { - "tcId" : 262, - "comment" : "unusual IV size", - "flags" : [ - "LongIv" - ], - "key" : "ef2e299dd4ecd7e3b9cc62780922cc2c89f78840564d1276", - "iv" : "130c14c839e35b7d56b3350b194b0da342e6b65d", - "aad" : "", - "msg" : "03f59579b14437199583270e", - "ct" : "073a5291b11df379f31b4f16", - "tag" : "17205999491bd4c1d6c7ec3e56779c32", - "result" : "valid" - } - ] - }, - { - "ivSize" : 120, - "keySize" : 256, - "tagSize" : 128, - "type" : "AeadTest", - "tests" : [ - { - "tcId" : 263, - "comment" : "unusual IV size", - "flags" : [ - "LongIv" - ], - "key" : "e98b0669a645eb14cd06df6968fc5f10edc9f54feed264e3d410cdc61b72ef51", - "iv" : "17ca250fb733877556263223eadde1", - "aad" : "", - "msg" : "f384b3ed7b274641f5db60cf", - "ct" : "fc213602aa423b87d7c2a874", - "tag" : "36b15bab6923b17218fe1c24048e2391", - "result" : "valid" - } - ] - }, - { - "ivSize" : 160, - "keySize" : 256, - "tagSize" : 128, - "type" : "AeadTest", - "tests" : [ - { - "tcId" : 264, - "comment" : "unusual IV size", - "flags" : [ - "LongIv" - ], - "key" : "849b3e6b8cdd85bdcfb8eb701aa5522ae2340fbe5214e389622cef76979225c4", - "iv" : "0f9d6ed7eef362dfa4a7dfa5c0f74c5b27bd4ebf", - "aad" : "", - "msg" : "8c5564e53051c0de273199b4", - "ct" : "c1d76233e8c5042e92bf8d32", - "tag" : "7cf036d235d3b2dd349a8c804b65144a", - "result" : "valid" - } - ] - }, - { - "ivSize" : 256, - "keySize" : 128, - "tagSize" : 128, - "type" : "AeadTest", - "tests" : [ - { - "tcId" : 265, - "comment" : "long IV size", - "flags" : [ - "LongIv" - ], - "key" : "5927bae748bb69d81b5a724e0a165652", - "iv" : "365e0b96932b13306f92e9bb23847165bcbf5d35e45a83d75c86ecca70131f4c", - "aad" : "", - "msg" : "316bf99bfafc76f1bfc0b03c", - "ct" : "5348af57fafe2485b43f2bc4", - "tag" : "019a96c5373c031626b6c0300d4cf78b", - "result" : "valid" - } - ] - }, - { - "ivSize" : 512, - "keySize" : 128, - "tagSize" : 128, - "type" : "AeadTest", - "tests" : [ - { - "tcId" : 266, - "comment" : "long IV size", - "flags" : [ - "LongIv" - ], - "key" : "dbd3676f293409273f27b375e03793a3", - "iv" : "967fa7c990eb2becbd450835e28ea3a9000c7216285cfa7696e8c3dac3ce952a1fe638d7c8c73e1d708dce01b5a20fcc9aa011949d2a835f777423c172fa3aa0", - "aad" : "", - "msg" : "625efedb8b7f1aa62238a8f2", - "ct" : "f559b70fe1149cb34406a2c7", - "tag" : "94180ddb7bb1995abe0219eab5ce232f", - "result" : "valid" - } - ] - }, - { - "ivSize" : 1024, - "keySize" : 128, - "tagSize" : 128, - "type" : "AeadTest", - "tests" : [ - { - "tcId" : 267, - "comment" : "long IV size", - "flags" : [ - "LongIv" - ], - "key" : "7e5a39dcda7e066988f19adf4de4d501", - "iv" : "494356c3459d60e3a83433c9bcf2c0454a763e496e4ec99bfbe4bbb83a4fda76b542213899dcf5521cd9bbbe5d11545bda44a3f4a681ce2843acea730d83d3930ea30991ee1a68ebf6d1a5a40f9b02a1aab091298df8dd689dc7613bcbff94d35f2ca43377d81618562bcf6573411ec9bc97c5a6276b554054c0fa787073d067", - "aad" : "", - "msg" : "b04729b4adbaac63c2aaf8d8", - "ct" : "5291dd4da91ccc2e77306d83", - "tag" : "a7f7b21a3b7ece509e922647fd905f06", - "result" : "valid" - } - ] - }, - { - "ivSize" : 2056, - "keySize" : 128, - "tagSize" : 128, - "type" : "AeadTest", - "tests" : [ - { - "tcId" : 268, - "comment" : "long IV size", - "flags" : [ - "LongIv" - ], - "key" : "eac3f28cd937ff29eb6158a3721b5145", - "iv" : "6fd260bba87339539c37dc68fdc3656f63c83028cb8adcb531085e98bd570c6b735d0cc4b4b924696000a2d893621ae64dcce992b562b89a5285643a08febccbc52243cbfc8d45212e047b00c87c6b6bf175f8bb678ec55c1091315cbecb8b85700f4a4653623fb78e63cfff7d6235e48e9832c9f0716d10992fc5b0ad4e6972bbeeb1ad670cd7ec8fac82e07ea5a64f9761a39714aaa73affd2cb190a7ac2df5e5dcea6812ae2c872c7ac70453c5e7ec4d0b5b18c6ff3bfb9ae15fea44cf392615b80034edae596b8821f97fca58d167fb44a093b0c009a0bd5631355b0cb25d93ba9b79b006301d99db657e801933fc2764a0ce650eaf5a1299efe60cb53b634", - "aad" : "", - "msg" : "098912a302773377b9c26ac3", - "ct" : "e3be947153a26a3a54e3015c", - "tag" : "fd042bdde22f67c4fd298d5dc0867606", - "result" : "valid" - } - ] - }, - { - "ivSize" : 256, - "keySize" : 192, - "tagSize" : 128, - "type" : "AeadTest", - "tests" : [ - { - "tcId" : 269, - "comment" : "long IV size", - "flags" : [ - "LongIv" - ], - "key" : "8f9ebc67a9a6430c2b0ceeaf983e1356964bb928635b9ca4", - "iv" : "36e4b381574d171c7769a788cbc147224fabd8b773f16b8ae84d8f2603aaa440", - "aad" : "", - "msg" : "a3a96ee94f94caa81ebcd66d", - "ct" : "8c2a9823a3b3d413be696387", - "tag" : "faaf01ceb40a7e145e8fe65aa9af58c0", - "result" : "valid" - } - ] - }, - { - "ivSize" : 512, - "keySize" : 192, - "tagSize" : 128, - "type" : "AeadTest", - "tests" : [ - { - "tcId" : 270, - "comment" : "long IV size", - "flags" : [ - "LongIv" - ], - "key" : "f4bbdfd06f7fb1434880e4166d38d56e02a3f0df0d5301ce", - "iv" : "90743bd5d794d52ac848b7e2384545a25846acf143be84c0ead0432fcf3172631cf58d0ca78571c03053c1e1b85ed79cb5303d0e3a98ff4f56c4f0a5eb4f0eac", - "aad" : "", - "msg" : "39d2abe6697f17ec27f2a39c", - "ct" : "a660ea5bf07a78fea0120173", - "tag" : "7404fc7b7354694428236f203c130244", - "result" : "valid" - } - ] - }, - { - "ivSize" : 1024, - "keySize" : 192, - "tagSize" : 128, - "type" : "AeadTest", - "tests" : [ - { - "tcId" : 271, - "comment" : "long IV size", - "flags" : [ - "LongIv" - ], - "key" : "1761c77798ef9cdfa40553f34614fe7402212087f0509411", - "iv" : "fbb3eab379c9b8689dc30b0713690e55d51c956ca36fbcc73eeeee16a46d7c41a7a9626e68e25d685c008c19d3b2b1792bdc99c35441a6fcac35e0d6446dd914f543abd9ecd6b0cb5201c243026c4f13641d67c8d8cd5114b6e11ebbc6b1dee2a18db2150a5a575dcd21648e0337dadbccd3deffd6d979e03e6b9ddfee0abdc2", - "aad" : "", - "msg" : "35ca4eb463a2000138210b4d", - "ct" : "f400132ff38c04ed747dde34", - "tag" : "ca1534e7dd0336bbb32a79830c71a447", - "result" : "valid" - } - ] - }, - { - "ivSize" : 2056, - "keySize" : 192, - "tagSize" : 128, - "type" : "AeadTest", - "tests" : [ - { - "tcId" : 272, - "comment" : "long IV size", - "flags" : [ - "LongIv" - ], - "key" : "f795ece7de1881fbc6843eb740f812e41e3fc49ff6c7b940", - "iv" : "3569fca7c9d06e2a03fed1aac2484fd4416ca07d55ecbb333ec674f0ea5c6e75a10dfb9c738b69dab2eda10ada721a61c7f02b7e7f79e8a9e2dc36b3fdf609e436054c82a774ec617dceec84a577037ff1a3f120d9818d042063acb36c9584e81ec94f11f1ee240f2e45e944694a9c8e535acbb01d93958411cff68e3d32f8931746a4a0cece65e93c51c70b3111034b6867b407e0147f97c576d3ed8cec7e8ec26e95643e46e97ea3595c9c3172b4856f2d2b6dc8564666ddac92c794ffb2d4dc7f461761f0e326650f48d327604e095bd8754072116c96360d09f010ac2f39eb96b227f3d738deb756c8699460d88cf716170ae15267b14f4a89164720f1c602", - "aad" : "", - "msg" : "22dbd8037aa05b14cf81dd23", - "ct" : "13a95a06c1bed4845af9c701", - "tag" : "03379836b0c82f64a1bccdcd763acbbc", - "result" : "valid" - } - ] - }, - { - "ivSize" : 256, - "keySize" : 256, - "tagSize" : 128, - "type" : "AeadTest", - "tests" : [ - { - "tcId" : 273, - "comment" : "long IV size", - "flags" : [ - "LongIv" - ], - "key" : "ee4171917d2337496812a2784d6a71300e6b8c1ac3b1ef58cee77c229aeaf2c5", - "iv" : "e826a79361f9d582b64450e3edc82589487853d5b22feaa0c889875bd0d87cd4", - "aad" : "", - "msg" : "94d2f8697facaaa191ba617a", - "ct" : "a295c2cb27ce23d26874ade1", - "tag" : "04650a78bbb61db337c9c32aa3e7b6fa", - "result" : "valid" - } - ] - }, - { - "ivSize" : 512, - "keySize" : 256, - "tagSize" : 128, - "type" : "AeadTest", - "tests" : [ - { - "tcId" : 274, - "comment" : "long IV size", - "flags" : [ - "LongIv" - ], - "key" : "132c59b4bcb8afb31637734a81105bb2c9878f320ace9076d5fd7c5d216c8d12", - "iv" : "ec51ee18cfb46897d3666c7df35c29ca5d898241c4a34f893eb1db5d5c6b76e24617459d1153868154437a0e95aa3c26e956b494a52dd5ac3b9331116c7c775f", - "aad" : "", - "msg" : "12c7be00facda49596e19134", - "ct" : "9cdcfc3aaa8d466f25588e4b", - "tag" : "7e80f51e7180f1cd3ba84349888fcd5c", - "result" : "valid" - } - ] - }, - { - "ivSize" : 1024, - "keySize" : 256, - "tagSize" : 128, - "type" : "AeadTest", - "tests" : [ - { - "tcId" : 275, - "comment" : "long IV size", - "flags" : [ - "LongIv" - ], - "key" : "7b0b12491901d62d097fa26dc71e15cfacafa3226719e47126d99c79d98ec222", - "iv" : "7d08b226b4a5d03f6f8cb3a3cb8d1ce31b059dc5112385275e38a15c97e0f24022b249a5f7019ea577198cb26ac64e82b2b04681537c4198775a523b0e6494b84febaef3399b35c27b0969fa43572bf5827a763aac1af69526f37e38acb5d354f2b68487f275f4361ed39073f7dd6653ac17c0794118a0cf143293ac0be66229", - "aad" : "", - "msg" : "c80312590700c3bbfacd1a40", - "ct" : "3f3c151e984d059462f9e5a0", - "tag" : "e559f5f755aa292171cc35fbf911a64f", - "result" : "valid" - } - ] - }, - { - "ivSize" : 2056, - "keySize" : 256, - "tagSize" : 128, - "type" : "AeadTest", - "tests" : [ - { - "tcId" : 276, - "comment" : "long IV size", - "flags" : [ - "LongIv" - ], - "key" : "3bc3bf39d0d5ffd94cca2b45c678a2d049151ed2babc713be53cb66f54a16337", - "iv" : "92c2cee7e9138b186da51f146fb21fd5b491f1a19eef61d4ed14ce6b21b04fdb6ff8ebb60fddc55926e7bda2a8f35c610bb795232412739d6c2d74458ef5a1a1cde9bf17e47e3b00db0b0504d56dc8b8d3de23f7c3a5d52e8d0aab1e64405aaa852ec2dd667ed9c1fd8dc1fdbbc8712c7a38f30faeab594f33897b41b1720f3c2f954ed91ca450d82c3dcd35858c608ad42f36832e56b04821a132f72e0da7b62cbd3925250f64fbb3f5c4783495893097adc09a32d776e04bf72558d37830b372341f6536d8ee9df4a82e4074e7774ab6917a04fa8c499eb4b46a92def365da8b5eb1e0b438779507d1f5272a6e8629a3f9c7bd4862c5691ee8b56bfe292deb4e", - "aad" : "", - "msg" : "8125ee7637d7d0e03bbacf35", - "ct" : "5496ae94c3322ebf959ea9a9", - "tag" : "70717cc00fd1ffa59bb04329226a0c0a", - "result" : "valid" - } - ] - }, - { - "ivSize" : 8, - "keySize" : 128, - "tagSize" : 128, - "type" : "AeadTest", - "tests" : [ - { - "tcId" : 277, - "comment" : "small IV sizes", - "flags" : [ - "SmallIv" - ], - "key" : "59a284f50aedd8d3e2a91637d3815579", - "iv" : "80", - "aad" : "", - "msg" : "", - "ct" : "", - "tag" : "af498f701d2470695f6e7c8327a2398b", - "result" : "valid" - }, - { - "tcId" : 278, - "comment" : "small IV sizes", - "flags" : [ - "SmallIv" - ], - "key" : "fec58aa8cf06bfe05de829f27ec77693", - "iv" : "9d", - "aad" : "", - "msg" : "f2d99a9f893378e0757d27c2e3a3101b", - "ct" : "0a24612a9d1cbe967dbfe804bf8440e5", - "tag" : "96e6fd2cdc707e3ee0a1c90d34c9c36c", - "result" : "valid" - } - ] - }, - { - "ivSize" : 16, - "keySize" : 128, - "tagSize" : 128, - "type" : "AeadTest", - "tests" : [ - { - "tcId" : 279, - "comment" : "small IV sizes", - "flags" : [ - "SmallIv" - ], - "key" : "88a972cce9eaf5a7813ce8149d0c1d0e", - "iv" : "0f2f", - "aad" : "", - "msg" : "", - "ct" : "", - "tag" : "4ccf1efb4da05b4ae4452aea42f5424b", - "result" : "valid" - }, - { - "tcId" : 280, - "comment" : "small IV sizes", - "flags" : [ - "SmallIv" - ], - "key" : "b43967ee933e4632bd6562ba1201bf83", - "iv" : "8760", - "aad" : "", - "msg" : "5a6ad6db70591d1e520b0122f05021a0", - "ct" : "ba3e7f8b2999995c7fc4006ca4f475ff", - "tag" : "98f47a5279cebbcac214515710f6cd8a", - "result" : "valid" - } - ] - }, - { - "ivSize" : 32, - "keySize" : 128, - "tagSize" : 128, - "type" : "AeadTest", - "tests" : [ - { - "tcId" : 281, - "comment" : "small IV sizes", - "flags" : [ - "SmallIv" - ], - "key" : "4e9a97d3ed54c7b54610793ab05052e1", - "iv" : "cc851957", - "aad" : "", - "msg" : "", - "ct" : "", - "tag" : "e574b355bda2980e047e584feb1676ca", - "result" : "valid" - }, - { - "tcId" : 282, - "comment" : "small IV sizes", - "flags" : [ - "SmallIv" - ], - "key" : "d83c1d7a97c43f182409a4aa5609c1b1", - "iv" : "7b5faeb2", - "aad" : "", - "msg" : "c8f07ba1d65554a9bd40390c30c5529c", - "ct" : "1b84baea9df1e65bee7b49e4a8cda1ec", - "tag" : "5c0bb79d8240041edce0f94bd4bb384f", - "result" : "valid" - } - ] - }, - { - "ivSize" : 48, - "keySize" : 128, - "tagSize" : 128, - "type" : "AeadTest", - "tests" : [ - { - "tcId" : 283, - "comment" : "small IV sizes", - "flags" : [ - "SmallIv" - ], - "key" : "c6a705677affb49e276d9511caa46145", - "iv" : "4ad80c2854fb", - "aad" : "", - "msg" : "", - "ct" : "", - "tag" : "1e2ed72af590cafb8647d185865f5463", - "result" : "valid" - }, - { - "tcId" : 284, - "comment" : "small IV sizes", - "flags" : [ - "SmallIv" - ], - "key" : "eba7699b56cc0aa2f66a2a5be9944413", - "iv" : "d1dafc8de3e3", - "aad" : "", - "msg" : "d021e53d9098a2df3d6b903cdad0cd9c", - "ct" : "18291aa8dc7b07448aa8f71bb8e380bf", - "tag" : "9c0e22e5c41b1039ff5661ffaefa8e0f", - "result" : "valid" - } - ] - }, - { - "ivSize" : 80, - "keySize" : 128, - "tagSize" : 128, - "type" : "AeadTest", - "tests" : [ - { - "tcId" : 285, - "comment" : "small IV sizes", - "flags" : [ - "SmallIv" - ], - "key" : "1e6c6214a6a5dd5b628c71de07788137", - "iv" : "40bcc315dec88bf326cc", - "aad" : "", - "msg" : "", - "ct" : "", - "tag" : "6f539a125a2f4fd214597e2f981efe6e", - "result" : "valid" - }, - { - "tcId" : 286, - "comment" : "small IV sizes", - "flags" : [ - "SmallIv" - ], - "key" : "fc93582fa1f8b58cc9e80dd583e9bf8b", - "iv" : "5d4bf58798fac351a399", - "aad" : "", - "msg" : "866d5e1b0aa29004e51ea87de86e3c05", - "ct" : "91c20598dcbd90998c9a7d6b1e57321f", - "tag" : "b071203f3da17c19ad87a40db08b65f5", - "result" : "valid" - } - ] - }, - { - "ivSize" : 8, - "keySize" : 192, - "tagSize" : 128, - "type" : "AeadTest", - "tests" : [ - { - "tcId" : 287, - "comment" : "small IV sizes", - "flags" : [ - "SmallIv" - ], - "key" : "c70ce38e84e5f53ed41c3f0d2ca493412ad32cb04c6e2efa", - "iv" : "cb", - "aad" : "", - "msg" : "", - "ct" : "", - "tag" : "08d96edb5e22874cd10cb2256ca04bc6", - "result" : "valid" - }, - { - "tcId" : 288, - "comment" : "small IV sizes", - "flags" : [ - "SmallIv" - ], - "key" : "74c816b83dfd287210a3e2c6da8d3053bbfbd9b156d3fdd8", - "iv" : "0f", - "aad" : "", - "msg" : "f2b7b2c9b312cf2af78f003df15c8e19", - "ct" : "6c5e796ba9a3ddc64f401e68d135101d", - "tag" : "96a132ed43924e98feb888ff682bdaef", - "result" : "valid" - } - ] - }, - { - "ivSize" : 16, - "keySize" : 192, - "tagSize" : 128, - "type" : "AeadTest", - "tests" : [ - { - "tcId" : 289, - "comment" : "small IV sizes", - "flags" : [ - "SmallIv" - ], - "key" : "cbf45ba488932aea1a10e5862f92e4a7e277bda9f34af6d0", - "iv" : "75e5", - "aad" : "", - "msg" : "", - "ct" : "", - "tag" : "1f0d23070fcd748e25bf6454f5c9136e", - "result" : "valid" - }, - { - "tcId" : 290, - "comment" : "small IV sizes", - "flags" : [ - "SmallIv" - ], - "key" : "e1c0446f11ae6aa4fa254f9a846fc6e13e45e537e47f2042", - "iv" : "8989", - "aad" : "", - "msg" : "3a2f5ad0eb216e546e0bcaa377b6cbc7", - "ct" : "550b48a43e821fd76f49f0f1a897aead", - "tag" : "f6e0a979481f9957ddad0f21a777a73a", - "result" : "valid" - } - ] - }, - { - "ivSize" : 32, - "keySize" : 192, - "tagSize" : 128, - "type" : "AeadTest", - "tests" : [ - { - "tcId" : 291, - "comment" : "small IV sizes", - "flags" : [ - "SmallIv" - ], - "key" : "567563bf4cf154902275a53bc57cd6dd7b370d27011bdac8", - "iv" : "68d7fc38", - "aad" : "", - "msg" : "", - "ct" : "", - "tag" : "1475563e3212f3b5e40062569afd71e3", - "result" : "valid" - }, - { - "tcId" : 292, - "comment" : "small IV sizes", - "flags" : [ - "SmallIv" - ], - "key" : "834d0bb601170865a78139428a1503695a6a291ebd747cd1", - "iv" : "bb9d2aa3", - "aad" : "", - "msg" : "6f79e18b4acd5a03d3a5f7e1a8d0f183", - "ct" : "309133e76159fe8a41b20843486511ab", - "tag" : "03ab26993b701910a2e8ecccd2ba9e52", - "result" : "valid" - } - ] - }, - { - "ivSize" : 48, - "keySize" : 192, - "tagSize" : 128, - "type" : "AeadTest", - "tests" : [ - { - "tcId" : 293, - "comment" : "small IV sizes", - "flags" : [ - "SmallIv" - ], - "key" : "99fb18f5ba430bb9ea942968ecb799b43406e1af4b6425a1", - "iv" : "a984bdcdcae2", - "aad" : "", - "msg" : "", - "ct" : "", - "tag" : "d7b9a6b58a97982916e83219fbf71b1e", - "result" : "valid" - }, - { - "tcId" : 294, - "comment" : "small IV sizes", - "flags" : [ - "SmallIv" - ], - "key" : "b77b242aa0d51c92fda013e0cb0ef2437399ace5d3f507e4", - "iv" : "52aa01e0d0d6", - "aad" : "", - "msg" : "4ba541a9914729216153801340ab1779", - "ct" : "e08261e46eaf90d978ea8f7889bccd4f", - "tag" : "c052a55df3926a50990a532efe3d80ec", - "result" : "valid" - } - ] - }, - { - "ivSize" : 64, - "keySize" : 192, - "tagSize" : 128, - "type" : "AeadTest", - "tests" : [ - { - "tcId" : 295, - "comment" : "small IV sizes", - "flags" : [ - "SmallIv" - ], - "key" : "d74599b3d2db81653de43b52fc994c50d0be759fab87c33a", - "iv" : "d1c61cf8532531b5", - "aad" : "", - "msg" : "", - "ct" : "", - "tag" : "f94f2049a6560c470b3a7ca7bbc31a3d", - "result" : "valid" - }, - { - "tcId" : 296, - "comment" : "small IV sizes", - "flags" : [ - "SmallIv" - ], - "key" : "0b177198c8b419bf74acc3bc65b5fb3d09a915ff71add754", - "iv" : "8f075cbcda9831c3", - "aad" : "", - "msg" : "c4b1e05ca3d591f9543e64de3fc682ac", - "ct" : "3c6ec0ab1b827bf238a5384fb7e212ce", - "tag" : "7db7402224fd583e312bc0e61cf11366", - "result" : "valid" - } - ] - }, - { - "ivSize" : 80, - "keySize" : 192, - "tagSize" : 128, - "type" : "AeadTest", - "tests" : [ - { - "tcId" : 297, - "comment" : "small IV sizes", - "flags" : [ - "SmallIv" - ], - "key" : "172f22f2e59364dc418cd751dfa8444ae18644c0f9a2be84", - "iv" : "bf9026d3ddaa37e7f180", - "aad" : "", - "msg" : "", - "ct" : "", - "tag" : "a8dc52c779611a7028b188615c9a34eb", - "result" : "valid" - }, - { - "tcId" : 298, - "comment" : "small IV sizes", - "flags" : [ - "SmallIv" - ], - "key" : "4c41104d3f40265f9e35c320a01e7876c31400a0bd4d7092", - "iv" : "85fdc81afd9f4828177e", - "aad" : "", - "msg" : "ba7cd07dfd8b5cf6ffd3ddb7635612c6", - "ct" : "2d8dc37ece9cda05dd0977112dd864c5", - "tag" : "abee97e6f26d5c97e36fcad760b2e6c6", - "result" : "valid" - } - ] - }, - { - "ivSize" : 8, - "keySize" : 256, - "tagSize" : 128, - "type" : "AeadTest", - "tests" : [ - { - "tcId" : 299, - "comment" : "small IV sizes", - "flags" : [ - "SmallIv" - ], - "key" : "8f9a38c1014966e4d9ae736139c5e79b99345874f42d4c7d2c81aa6797c417c0", - "iv" : "a9", - "aad" : "", - "msg" : "", - "ct" : "", - "tag" : "2a268bf3a75fd7b00ba230b904bbb014", - "result" : "valid" - }, - { - "tcId" : 300, - "comment" : "small IV sizes", - "flags" : [ - "SmallIv" - ], - "key" : "144cd8279229e8bb2de99d24e615306663913fe9177fcd270fafec493d43bca1", - "iv" : "b3", - "aad" : "", - "msg" : "976229f5538f9636476d69f0c328e29d", - "ct" : "7bea30ecc2f73f8e121263b37966954c", - "tag" : "8bbad4adc54b37a2b2f0f6e8617548c9", - "result" : "valid" - } - ] - }, - { - "ivSize" : 16, - "keySize" : 256, - "tagSize" : 128, - "type" : "AeadTest", - "tests" : [ - { - "tcId" : 301, - "comment" : "small IV sizes", - "flags" : [ - "SmallIv" - ], - "key" : "7d31861f9d3536e14016a3216b1042e0d2f7d4614314268b6f834ec7f38bbb65", - "iv" : "c332", - "aad" : "", - "msg" : "", - "ct" : "", - "tag" : "1d978a693120c11f6d51a3ed88cd4ace", - "result" : "valid" - }, - { - "tcId" : 302, - "comment" : "small IV sizes", - "flags" : [ - "SmallIv" - ], - "key" : "22b35fe9623ee11f8b60b6d22db3765b666ed972fa7ccd92b45f22deee02cab1", - "iv" : "da6c", - "aad" : "", - "msg" : "5341c78e4ce5bf8fbc3e077d1990dd5d", - "ct" : "9c39f5b110361e9a770cc5e8b0f444bb", - "tag" : "b63ff43c12073ec5572b1be70f17e231", - "result" : "valid" - } - ] - }, - { - "ivSize" : 32, - "keySize" : 256, - "tagSize" : 128, - "type" : "AeadTest", - "tests" : [ - { - "tcId" : 303, - "comment" : "small IV sizes", - "flags" : [ - "SmallIv" - ], - "key" : "c224e0bba3d7a99165f7996b67a0fce3e12f2c01179b197b69b7e628bca92096", - "iv" : "6b30145e", - "aad" : "", - "msg" : "", - "ct" : "", - "tag" : "ae6f7c9a29f0d8204ca50b14a1e0dcf2", - "result" : "valid" - }, - { - "tcId" : 304, - "comment" : "small IV sizes", - "flags" : [ - "SmallIv" - ], - "key" : "093eb12343537ee8e91c1f715b862603f8daf9d4e1d7d67212a9d68e5aac9358", - "iv" : "5110604c", - "aad" : "", - "msg" : "33efb58c91e8c70271870ec00fe2e202", - "ct" : "f73f72f976a296ba3ca94bc6eb08cd46", - "tag" : "b824c33c13f289429659aa017c632f71", - "result" : "valid" - } - ] - }, - { - "ivSize" : 48, - "keySize" : 256, - "tagSize" : 128, - "type" : "AeadTest", - "tests" : [ - { - "tcId" : 305, - "comment" : "small IV sizes", - "flags" : [ - "SmallIv" - ], - "key" : "98e6f8ab673e804e865e32403a6551bf807a959343c60d34559360bc295ecb5b", - "iv" : "d4d857510888", - "aad" : "", - "msg" : "", - "ct" : "", - "tag" : "3db16725fafc828d414ab61c16a6c38f", - "result" : "valid" - }, - { - "tcId" : 306, - "comment" : "small IV sizes", - "flags" : [ - "SmallIv" - ], - "key" : "0bd0e8e7781166e1d876dec8fad34ba95b032a27cac0551595116091005947b7", - "iv" : "1bdcd44b663e", - "aad" : "", - "msg" : "91222263b12cf5616a049cbe29ab9b5b", - "ct" : "ed463f4f43336af3f4d7e08770201145", - "tag" : "c8fc39906aca0c64e14a43ff750abd8a", - "result" : "valid" - } - ] - }, - { - "ivSize" : 64, - "keySize" : 256, - "tagSize" : 128, - "type" : "AeadTest", - "tests" : [ - { - "tcId" : 307, - "comment" : "small IV sizes", - "flags" : [ - "SmallIv" - ], - "key" : "61ba694897925d1b4174d40401469c3ef267cdb9f829edb1a10618c16d666059", - "iv" : "0d10c5c84b88d688", - "aad" : "", - "msg" : "", - "ct" : "", - "tag" : "1311f9f830d729c189b74ec4f9080fa1", - "result" : "valid" - }, - { - "tcId" : 308, - "comment" : "small IV sizes", - "flags" : [ - "SmallIv" - ], - "key" : "115884f693b155563e9bfb3b07cacb2f7f7caa9bfe51f89e23feb5a9468bfdd0", - "iv" : "04102199ef21e1df", - "aad" : "", - "msg" : "82e3e604d2be8fcab74f638d1e70f24c", - "ct" : "7e0dd6c72aec49f89cc6a80060c0b170", - "tag" : "af68a37cfefecc4ab99ba50a5353edca", - "result" : "valid" - } - ] - }, - { - "ivSize" : 80, - "keySize" : 256, - "tagSize" : 128, - "type" : "AeadTest", - "tests" : [ - { - "tcId" : 309, - "comment" : "small IV sizes", - "flags" : [ - "SmallIv" - ], - "key" : "44ab204d150adb17f83d1e5205b6e1419673fadee610fb9a38185a96741021eb", - "iv" : "ff3914982be30b3b2112", - "aad" : "", - "msg" : "", - "ct" : "", - "tag" : "f187b281c9fbb24cca241227d0b5d164", - "result" : "valid" - }, - { - "tcId" : 310, - "comment" : "small IV sizes", - "flags" : [ - "SmallIv" - ], - "key" : "d3b44b8dfc3530404a63b3ca04cc71cfc71a5538448b2625c981856cb7daed0f", - "iv" : "7c3c42fa17347e1df797", - "aad" : "", - "msg" : "1d1775579656f7f6c6891401d733e2ab", - "ct" : "684a6f58762e591733e9e7fe7f5722a2", - "tag" : "1ce163444dc3754c39d556cc3994b7da", - "result" : "valid" - } - ] - }, - { - "ivSize" : 0, - "keySize" : 128, - "tagSize" : 128, - "type" : "AeadTest", - "tests" : [ - { - "tcId" : 311, - "comment" : "0 size IV is not valid", - "flags" : [ - "ZeroLengthIv" - ], - "key" : "8f3f52e3c75c58f5cb261f518f4ad30a", - "iv" : "", - "aad" : "", - "msg" : "", - "ct" : "", - "tag" : "cf71978ffcc778f3c85ac9c31b6fe191", - "result" : "invalid" - }, - { - "tcId" : 312, - "comment" : "0 size IV is not valid", - "flags" : [ - "ZeroLengthIv" - ], - "key" : "2a4bf90e56b70fdd8649d775c089de3b", - "iv" : "", - "aad" : "", - "msg" : "324ced6cd15ecc5b3741541e22c18ad9", - "ct" : "00a29f0a5e2e7490279d1faf8b881c7b", - "tag" : "a2c7e8d7a19b884f742dfec3e76c75ee", - "result" : "invalid" - } - ] - }, - { - "ivSize" : 0, - "keySize" : 192, - "tagSize" : 128, - "type" : "AeadTest", - "tests" : [ - { - "tcId" : 313, - "comment" : "0 size IV is not valid", - "flags" : [ - "ZeroLengthIv" - ], - "key" : "0b18d21337035c7baa08211b702fa780ac7c09be8f9ed11f", - "iv" : "", - "aad" : "", - "msg" : "", - "ct" : "", - "tag" : "ca69a2eb3a096ea36b1015d5dffff532", - "result" : "invalid" - }, - { - "tcId" : 314, - "comment" : "0 size IV is not valid", - "flags" : [ - "ZeroLengthIv" - ], - "key" : "ba76d594a6df915bb7ab7e6d1a8d024b2796336c1b8328a9", - "iv" : "", - "aad" : "", - "msg" : "d62f302742d61d823ea991b93430d589", - "ct" : "509b0658d09f7a5bb9db43b70c8387f7", - "tag" : "2c9488d53a0b2b5308c2757dfac7219f", - "result" : "invalid" - } - ] - }, - { - "ivSize" : 0, - "keySize" : 256, - "tagSize" : 128, - "type" : "AeadTest", - "tests" : [ - { - "tcId" : 315, - "comment" : "0 size IV is not valid", - "flags" : [ - "ZeroLengthIv" - ], - "key" : "3f8ca47b9a940582644e8ecf9c2d44e8138377a8379c5c11aafe7fec19856cf1", - "iv" : "", - "aad" : "", - "msg" : "", - "ct" : "", - "tag" : "1726aa695fbaa21a1db88455c670a4b0", - "result" : "invalid" - }, - { - "tcId" : 316, - "comment" : "0 size IV is not valid", - "flags" : [ - "ZeroLengthIv" - ], - "key" : "7660d10966c6503903a552dde2a809ede9da490e5e5cc3e349da999671809883", - "iv" : "", - "aad" : "", - "msg" : "c314235341debfafa1526bb61044a7f1", - "ct" : "7772ea358901f571d3d35c19497639d9", - "tag" : "8fe0520ad744a11f0ccfd228454363fa", - "result" : "invalid" - } - ] - } - ] -} diff --git a/src/test/vectors/hkdf_sha256_test.json b/src/test/vectors/hkdf_sha256_test.json deleted file mode 100644 index 2da853d..0000000 --- a/src/test/vectors/hkdf_sha256_test.json +++ /dev/null @@ -1,1201 +0,0 @@ -{ - "algorithm" : "HKDF-SHA-256", - "schema" : "hkdf_test_schema.json", - "generatorVersion" : "0.9", - "numberOfTests" : 86, - "header" : [ - "Test vector of type HkdfTest are intended for the verification of HKDF." - ], - "notes" : { - "EmptySalt" : { - "bugType" : "FUNCTIONALITY", - "description" : "An empty salt is a valid input for HKDF. It is equivalent to a salt with n zero bytes, where n is the size of the underlying hash function." - }, - "MaximalOutputSize" : { - "bugType" : "EDGE_CASE", - "description" : "The test vector contains an output with maximal output size." - }, - "Normal" : { - "bugType" : "BASIC", - "description" : "The test vector contains a pseudorandomly generated, valid test case. Implementations are expected to pass this test." - }, - "OutputCollision" : { - "bugType" : "FUNCTIONALITY", - "description" : "HKDF can generate identical output for distinct inputs. This happens because the underlying HMAC extends or hashes some inputs. This test vector contains some HKDF inputs that gives the same output as some other test vector.", - "effect" : "HKDF should not be used with variable length user defined salt." - }, - "SizeTooLarge" : { - "bugType" : "MISSING_STEP", - "description" : "The output size of HKDF is limited to 255*size of the hash digest.", - "effect" : "Computing outputs with a size larger than the limit allows to find colliding outputs." - } - }, - "testGroups" : [ - { - "type" : "HkdfTest", - "keySize" : 176, - "tests" : [ - { - "tcId" : 1, - "comment" : "RFC 5869", - "flags" : [], - "ikm" : "0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b", - "salt" : "000102030405060708090a0b0c", - "info" : "f0f1f2f3f4f5f6f7f8f9", - "size" : 42, - "okm" : "3cb25f25faacd57a90434f64d0362f2a2d2d0a90cf1a5a4c5db02d56ecc4c5bf34007208d5b887185865", - "result" : "valid" - }, - { - "tcId" : 2, - "comment" : "RFC 5869", - "flags" : [ - "EmptySalt" - ], - "ikm" : "0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b", - "salt" : "", - "info" : "", - "size" : 42, - "okm" : "8da4e775a563c18f715f802a063c5a31b8a11f5c5ee1879ec3454e5f3c738d2d9d201395faa4b61a96c8", - "result" : "valid" - } - ] - }, - { - "type" : "HkdfTest", - "keySize" : 640, - "tests" : [ - { - "tcId" : 3, - "comment" : "RFC 5869", - "flags" : [], - "ikm" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f", - "salt" : "606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeaf", - "info" : "b0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedfe0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff", - "size" : 82, - "okm" : "b11e398dc80327a1c8e7f78c596a49344f012eda2d4efad8a050cc4c19afa97c59045a99cac7827271cb41c65e590e09da3275600c2f09b8367793a9aca3db71cc30c58179ec3e87c14c01d5c1f3434f1d87", - "result" : "valid" - } - ] - }, - { - "type" : "HkdfTest", - "keySize" : 128, - "tests" : [ - { - "tcId" : 4, - "comment" : "", - "flags" : [ - "Normal", - "EmptySalt" - ], - "ikm" : "24aeff2645e3e0f5494a9a102778c43a", - "salt" : "", - "info" : "", - "size" : 20, - "okm" : "d4cca5e416c3d9eb58bd562e922691daff76aa4d", - "result" : "valid" - }, - { - "tcId" : 5, - "comment" : "", - "flags" : [ - "Normal", - "EmptySalt" - ], - "ikm" : "a23632e18ec76b59b1c87008da3f8a7e", - "salt" : "", - "info" : "", - "size" : 42, - "okm" : "976d1590926ac35e28d7f1a29fe98a1f787703a71cee3cb2c10acb9cc1b56c0f21b55d5de37755a79b12", - "result" : "valid" - }, - { - "tcId" : 6, - "comment" : "", - "flags" : [ - "Normal", - "EmptySalt" - ], - "ikm" : "a4748031a14d3e6aafe42aa20c568f5f", - "salt" : "", - "info" : "", - "size" : 64, - "okm" : "03f5db41f4484ec9468648c9f2a7f73ec18386008691b0555a7eec165e2f8cc72a6e74fffafbfb1ead00a89ff80ba00a266a70fcac07364110c6f5707f5096aa", - "result" : "valid" - }, - { - "tcId" : 7, - "comment" : "", - "flags" : [ - "Normal", - "EmptySalt" - ], - "ikm" : "06eb26f8ccf28580c8f28d5b4dc47a49", - "salt" : "", - "info" : "d5f081e81e8cf9ded199f3ae43c80a2dfe3d9cf2", - "size" : 20, - "okm" : "ae538577a14df1ab170ec01a9ceceabcebdd584f", - "result" : "valid" - }, - { - "tcId" : 8, - "comment" : "", - "flags" : [ - "Normal", - "EmptySalt" - ], - "ikm" : "c181696a19ab1a32eb6e81b2925d8990", - "salt" : "", - "info" : "d8c8de92fe5422c9825996354db1821ba43a81ac", - "size" : 42, - "okm" : "151ee737f049d18cdeb3010a0fbb606461875b22ac76487874498808248cf607e1cf7f3fc52b3a28ac64", - "result" : "valid" - }, - { - "tcId" : 9, - "comment" : "", - "flags" : [ - "Normal", - "EmptySalt" - ], - "ikm" : "55fb6dcc7802354e55a45a6e41858c05", - "salt" : "", - "info" : "dcd590e418b259c64fb9e139b3a1280d5de8400b", - "size" : 64, - "okm" : "6ca91e1a6c0eb286d6fea277e9936f2486104c4c5d473a92872009f04aa545a61d03d83e14aa0965ba355551b93073ef91382c88afad091c62f6f65188f789e3", - "result" : "valid" - }, - { - "tcId" : 10, - "comment" : "", - "flags" : [ - "Normal" - ], - "ikm" : "c27718560fae2515acb17a874991d357", - "salt" : "4487f538b65c9058625057b4bbdd93e7", - "info" : "", - "size" : 20, - "okm" : "19eb8ba1cc7e10498d8c3b3256f66d6ee6b2296f", - "result" : "valid" - }, - { - "tcId" : 11, - "comment" : "", - "flags" : [ - "Normal" - ], - "ikm" : "be0df9811ad0bf3b08358a3dc4a05981", - "salt" : "c98618bfeb59295f8bf1dd3804b1bf2c", - "info" : "", - "size" : 42, - "okm" : "669feffebbdfaabc85fc006766c596a62a04a31ff959e1608e4aecb090126738bdaeae5997c4444fc4f3", - "result" : "valid" - }, - { - "tcId" : 12, - "comment" : "", - "flags" : [ - "Normal" - ], - "ikm" : "529e91a61895f1c4ceb5b6994f48783b", - "salt" : "12e4ae515328983bab2d88da3cb32a95", - "info" : "", - "size" : 64, - "okm" : "76ced999f5f885f9df7d78a9cb0cefd09904bc90dfedd018441f30800a848140f6a4fa057170df6cf33e93aaaa10ccdb09bd114e6f4058ca45b3cb1e453804ad", - "result" : "valid" - }, - { - "tcId" : 13, - "comment" : "", - "flags" : [ - "Normal" - ], - "ikm" : "c360e16084cfd13cb44b0dc02d8665de", - "salt" : "685ac7df93701d6c78babd847861bb3c", - "info" : "e0ddfaaaa7afb53f59a007a205c7149b5b5a72be", - "size" : 20, - "okm" : "506669208fcfd6d27336099b6551c683f4f2eba2", - "result" : "valid" - }, - { - "tcId" : 14, - "comment" : "", - "flags" : [ - "Normal" - ], - "ikm" : "0cbd136d66d15a4ffefde1303b430821", - "salt" : "2614d80275b08a1cf90bae0eb607d4d5", - "info" : "ee991de21aeb6baa6a5f683dbb755e6f80db1c1d", - "size" : 42, - "okm" : "4d534f8c2193b375589e5223fe65b926359b285df968bf5c55d76f4a7cf9b0065687a40d58c820d7edc3", - "result" : "valid" - }, - { - "tcId" : 15, - "comment" : "", - "flags" : [ - "Normal" - ], - "ikm" : "7a00817689a3d79001825a864c69c120", - "salt" : "08bc01c053a6406c7c4a667c9b9b3894", - "info" : "967ccd75395be6e96a67759f070487c9e2107791", - "size" : 64, - "okm" : "75f86fe05c43964bafd75bbfda18333abac649b8607e953826c2bad8d594621d9615521b2f4d56f63a185dd0670af7163fa96ea2dec620516158946ee83071b9", - "result" : "valid" - }, - { - "tcId" : 16, - "comment" : "", - "flags" : [ - "Normal" - ], - "ikm" : "d003dd047181bd66420b529c78aaee1b", - "salt" : "5a2737f637eb905ba5a480d51a721c012f3ff9701d9c4fa1424f1f5f540f", - "info" : "", - "size" : 20, - "okm" : "97a651d4686f4ecc414b58bbd841a4ec99a5964c", - "result" : "valid" - }, - { - "tcId" : 17, - "comment" : "", - "flags" : [ - "Normal" - ], - "ikm" : "75d085427d397b263fb3c6c8e0c40b6f", - "salt" : "e2141b0dc65348632396a25c6d7b6ffabf55686532544c351860635b7c86", - "info" : "", - "size" : 42, - "okm" : "da0a91fe3a9fdf82a3461a78e09310ebb8908072b14b6abddbd3ef2517ebf5e513e31e3cea0728156674", - "result" : "valid" - }, - { - "tcId" : 18, - "comment" : "", - "flags" : [ - "Normal" - ], - "ikm" : "63984079a2540d0bba5d2700642104c6", - "salt" : "70b2a476c9a80e52352b503901a7afea41c186bdc872d5053448769299e8", - "info" : "", - "size" : 64, - "okm" : "c2286fac021dfcc312b73a10c6d48207698a52d48d7be3acca409c258f06b26b1f183ab630f596df1af56e05638a8a98ec425ca6c74945ebc70fb5c7d2b983ab", - "result" : "valid" - }, - { - "tcId" : 19, - "comment" : "", - "flags" : [ - "Normal" - ], - "ikm" : "ef7c6fecad5a8674b65b78c1d696d9a0", - "salt" : "ee9d00f7d448d4b3a206bd7e7fb8a9a6564ca80c9e0eb6ef61a4933c157c", - "info" : "35054b8177e4ee42e4e51bf60e91c3f56dcbaa12", - "size" : 20, - "okm" : "749f184d9abd79f6e598611f9b2ec99b0f93a7f6", - "result" : "valid" - }, - { - "tcId" : 20, - "comment" : "", - "flags" : [ - "Normal" - ], - "ikm" : "f403b6c59bdb751b3f7b9c97fae5226f", - "salt" : "9139e549297ee26eae5afea7ee012e683cd7e59b5b8966f55f6d18ded11c", - "info" : "27d06c3a2fdb5c97de4506e1bc1311991660c5f5", - "size" : 42, - "okm" : "e2e5e996acd41c4e7f0a0caf8392f0fa591d2f0850f24a76e3413ac6d7c3728d964712406c0a500daba5", - "result" : "valid" - }, - { - "tcId" : 21, - "comment" : "", - "flags" : [ - "Normal" - ], - "ikm" : "d515f58eed428b2bac233c8538580e2f", - "salt" : "c2a3ad9db6621fceb7498c0e6287522077acd2d47b55c09d52e114943b37", - "info" : "14de8cffd89e49275f69d2e1e6b43fa0c3775451", - "size" : 64, - "okm" : "91ca35a68bc0151a02c5c432f180d21f331cc4e9ba15d8b7475d775a5a30f6b3d9b8b22c318abdd07b93affad1ed61b8bb00af46cc0ef9dd750fc1919385bb4a", - "result" : "valid" - }, - { - "tcId" : 22, - "comment" : "", - "flags" : [ - "Normal" - ], - "ikm" : "df27ab960ad87bfe2e173a4659e3546b", - "salt" : "1e7ec49981fd4b0b7c20dd4dd5bdfbf2195e707f4d0354611b4893b8a86f61467aca2cf726ccc3ef0b0b4f3240d945ce506197e2be00322b17b48209c312ef9f", - "info" : "", - "size" : 42, - "okm" : "c298d3a916ac11c05069b613748b6a7fcb8770bba0798e2bbb531359053f84fe191ac98c8af0b72c875e", - "result" : "valid" - }, - { - "tcId" : 23, - "comment" : "", - "flags" : [ - "Normal" - ], - "ikm" : "24a37db03dbcffbe9e28d582d0d8c60a", - "salt" : "4c3d3b4f5436418713fbe2fbc4d647095ce5d5392dcfffd20327187e14fb68360b94c5122203292d8b648a754ab70f6d3d61e0650f06d55c4b5762cba0231e27", - "info" : "8cd9e7b786a74bd370bae434e31a559bdf75d65f", - "size" : 42, - "okm" : "c5c5feec3ad95581ce00a27f8c79783401d455b056196dc072ad2cfd389da72a06d87d431f56978a37c4", - "result" : "valid" - }, - { - "tcId" : 24, - "comment" : "maximal output size", - "flags" : [ - "MaximalOutputSize" - ], - "ikm" : "91556a70e96dccb6a2fbee28250bdbd5", - "salt" : "ccdc54836e6046d5c851f917c37b0baeabd225e996b8f71d452cff5036345c3e", - "info" : "2b90f142b2310b23", - "size" : 8160, - "okm" : "02382e3c9b2e8010bc3b63c6bb4960afd90af438735320bec0a4c626c0d49165148cfa5a1ec6b3ba5179aa40f52221821df58fdc43d858f06364de72a5bdffa98239e1d4506c0188347561ad59e61fc8721705710c6b5b6de3d46842b8093ef97b23981b8bd38379d82228fd2c056e20d062cacad2f859d3f9ece350c35c23aeab1aae00c074d5ed885578ff8ddcd95409f9a692521d9b2119b38d3a88349ca405ccdc131528d7ecd8c32f81f5a1021dff2a4d6a1f99c3c0ef152ab12267895510b1c8d444971e6b300bbba402d56ab1f85b4144af990da2e91fb8d0f55039510c636ec56ebb66253b1fd0abd7487f2683e6670ea0ddd07a2631900d9cebf51ded064ea23f9a73c85f889eb2d5c3d3cc73583faeae826ce0173779c7dd3051b7f50d4bcf01895140492dabc27ff844ea1a08db8b46148f435d08af0bb680d2a4e9650a03400a0f66aaf2dab5a0c3685c465360ef02a24dfa3e4392d0153c21352ad39374575f417ac7eaab154603033b7ebde80d21af2a6edf90e70a7d0d9ec812a62e54b8fe502f514513f009b9457723881e5d4cd9e17bcbfbb4b522a76a8c59c47e409b747a10b8db9b727b1e05e98c335c68294e2ae9f9b28e7f1f54daace64175b8d33d897c100199e3b5f7572fd97c26fe16315a6af9fa171cd971beaacd56703396dcd442637c53f75667768c829776285372e7a800631d06e6e6073e144c9cb4badf08e4b496d8306e46e2703e79ee2b106fdb45e18cbb634de037261250a9c55f80ce79852322f08d1085bc6d122b87910868bf51b96aba68b8cab868d6e19744abd63453d591ea1b44ed968b30a113dcd833257d3069d16929643a317b6b715e73e7b127f6c24f3e9302624f4d9b86c46ea4ee4ad0a8b0c76429bc73cc979ab3931b1040bbb541db75043ea4aa1e01d5558482f14a3d637ca8510ab729fc2441d41b79f5a6576a05947cdacb61b7d2103259de2aebd32a8b0112c769dde97986e5daa5390b74a625389d56d9fed11f675ece43fc833539383a41bd1fae72183cf6097208b5fd227729a588d4a785632f78a69a06bdd53ffe99d3c2183469e5456014cba78c57635c12d1710d88552333a4ab49c0c36427a7dc689a2417e8622af72bb9bd94ce47c507b44927956c526bfd740e20d040e20a1fcc62a6dd91744ee2285b365447a57745edb10f245d736fbef5df3b03fdaff8ee2c8e314e73c96f886e7e161dc788c56b70bd48e5601f2646e8093acbd3d2c1032b00c4527b101a1bad126c8fc080e7a1ba8a5bff3b2d1e3637f0880a6419981ab06bd2f0f8096427fa1dd9dc58b8147d6b76174639a3d5ef81423cbefb5b729b15a621c8941dcd2d609e5e7ca6e4556d2d4c61816a7fd46875da38011be5b2e27ac0f4feec84a78b049701ca498205dbc97e31953e6432756b62bf2a3408a173bf38bb370e79327644c5842f6f91e29773069c2b504049187a95bf068261d29c66fbe9878826aadbbd773ed273e20a1eb9ed51081bc5f51fdcb4d75aaece54f8b2a3882a04377b1167c904355c1b97f2fc18a2c0b28f67a313885c92e22031dc9120850f70df7edd4481b2c6175a440c0a2edd78292376494e8155e3b37fe8888b90143dbb54abba6745031b8be366d3c43380f8319f30fc3505383d012a80eb1e818ac7cd59e0e2e19d50ffe2f6c5d75db18ba433d3345f1e42fa2cf4a8858580a0c3be11d72014fe2c02850204f62a49183741510d2dba9a717af10f259ed0e2f991382ddc93b03947e4cdaf4e84305b7e791cc17c97d2e14dc57a553546eea36c970ebf876c82585fcc0d35350b1a13b23722c27000d402f4a267ffa18f977b3fa63e43061bb672f5824f4ea7462df50aaf431b0e00ab7ce101ee0a37e4a3ea15834cd480efa0b19fd865094902d2f2fad24f9de307fe79b2a497117cbfb9cbe71ba8a7a7fb5fa4c6b81ffe03fc557ad29c1e9dbe3cadda4e948e1eddecaa9f364ad9f17a5cb33d5b6a1c6075b086c54dfda5c4a7edb7f7b57c7150540dd399bd3fc20ae5ff66462b37cee52a7577ebbb5ed75aba0b6a1708127907310345c609fa17596970342f618345678a32aea127a25b86effe0e574a849b92c780b38216fd2003a79cd596567eaeeed166cf6b1ce79e9197e7f5bc4c9acf2a6b02101d03fd5cb9c9fc129988d646cfad81680cf951635e5e40324569eaef11e14d30d38e36e112852fba785d8f3b8d9ba6fcb769cf61f66278b38771341376ca730c4a0bdc871804387a372aac95ae945b493b26e39dc0ea61a945969ce1958bcda069f3bc6c9a2541482a39b8370f428101890393c96167c1d3c600e9855885c672fb9f896212ec295d9658ae16f0afc16878be9c88d54d28f1fef808486712b9ca6cbe5b5f88e855c50813a560f97112a10549eb98cb7a9f65748bf7d782e5b911abfa54fcd1f83c4aad96dc9c3dc645f85466faf952bb6d7786db934fcf2cfc412c41829e20014ed41c5c6205b124ed3dadbbb34dcf2e98b9020e6b52d925df60e75d6a22027018abeddb08c6c270f67cfa0aea304992554403f27ee8f6736485aaa7bc559f05c5769d43f53b91690f3c7204ae1f5b5a02251000dd974a606e5901c80492a56a05aa47b785dbb4a08e22c17030aaa912df3598ee6c669eb5dd4a07a73147a0fcd626cad9c4f81ed8b5f509020ffd5e3acac0a5a32ee5c025b860de51ce2551daeddd93ffc6e63f0cd53f0f383637bb07960368cb65d1188cc08bfa7aab710b8ae0b95a6b875889a2cfb8ade278c086c4cf3531c162704e82b599b94e3c94bc76abd2a946d80fe088550fe3f7939e487dd23d3f375013e5d4dc75592906107f74b7e930a4acff7deda023b85f3c380e7426047d3d93db3bcd647acbc62deba385a88e84c8e800db4b7f937f3282b8bf948140bfe866495d87663a70378932f4c17a258cd34501beedd6171674e640b775f9b08afd9561995e46a8d38123232d7071c3ef87d75d2c2b6bccc203f81e3e8174332cccc48aa6543e7754fd8b5b5acf0e77c69b696681bbdb0d7e73995d5ded1b51f5b0f2dcc0b8edfe93f533b443df0a5b8ea5e78b23ebe6b8281877767795b61ad86b759f24d4c81734803e35d2df1cd526147b42234220134507cc1087fa577fe9287c4817e0d03bd6607decf083013d7dd9012b26bc4400722cb1211ddf5966ac338ea6028a7cfc60c738a9c5faa4783f599d575a288af3e34a943c220075140b85a365290399dbc8490fd88b51a620495e4fa7691e15de744e5c88c9e3aec95153b05d46c8f93e5fbd38a470d3ae6c9aaace2d9755abee3d942d86c9df2c8fa82b5a0de576f790aa653b05862a563a5477cc467d8cb19ef5eea82b9dd0ded0cb150cd081c0c0f564ee988c8c22ccdc1006875e64c41736240e2048514d5f67838549275b220349e1c9a9653c48d51ffcb523c04b5f4ca56b0c2798bee555f1c281318957ffad069c03c58e75eff4e36c3775c33b66d5898ebd48836766a4716761d87fdb8f0733a2a82ac869f949685b4cf82c363693a651e637e928f5f38a16c9a54632617c62be7b04f43eab0b304e7fcee0d4e61dc9155f26e35f632ae8d70b106914fe0bea6c85be1e36f9a839aa769a6eba44035000a69689f8e87656c2240eacace69b579784ff90fe8cb43910de14cb96572f1c8397ee66419e79b5d7f558902fe763ec021d97ec42795fe3442e7b821b1d6a4c0802777d82adbc7d2fa0e21bfa3011b98ba75d1dee8915eb6ea89ad4045879d40a6da786b9dd8285372e31debf85199fc7278aa312ed40de5db24671d01c428ffa1052236a4d7a1b220905c34bbfc8bf3541f743cfb115448b482f2612d3527c4f5d34a0aa1fbb70472fab837c013b0e83d4d32e74233a362226e166f53e78d4ddb241cc1b4e6077716ce087589821baa6a06455a23091a7cf20db11a2cade09bd6874dc13f6b09f73014f11daa989d0c0733851fc534fac90fd29f42583070b2af6a0e156dbf5111ce964f7b913b060691620f85d0dd12277a08d3a57dee07e9fe96d73b38df82ec439784ea64f23260347b77cf914c8a788fca4f818fce6857c7664439a50852244c4b75b1ecf6a8f831dc853a9c343fcccaad49aef231ff57c7a88ccca51730ff9d0586ea733c02e249e8d9495ef923aa733378529ba323d403adc34e2e9126e6fe209ce54dc7ce9bc0cf7775c595864ca492e585866acda45eccdae4cccde9d11c2eff9628dbfcf74e5c1956cb4a22874e07b510e7ae1886cc00a05f0f8a5aebbe1d4a265498e2cfa409f7b49ab5cdc115109a8a8260238a37bdef5d61ccab4df03bfc456b089e3c3565731c7a2364d482c3bebc3d397fc9637017c4153490ade8e60415878f933ddd55a792a1e3b8b39e8dd54057b4d5f3017771a3bb4f0ca2d888903d579af41da7ff6318f184f0e7d7335a9a6c0a3f19510d01221e1d91fecd9efbbc50e51f58d90bda49de14e595b2f4b41fecf3cf576669530d9f149a3ca586ddc08660a450da133298086dec6a170544117fba27726578dd6d83ebe2b6d4633965e738eb9595b7d1ac3e06689189ad8ffd561fb3ad8c5b4f2718770b4732b75dcc1abbe6fd8b3456e1cdf1e1ff15943da73354bc1e74bc4941ef78a5c9d6eec2fdb41658af215377488328b770919f24be34767e2daa245cc1944594d80732884a40a41377de2512ba90ed8796eecfa71cd57ee3dc6ff223601aad26bd693a41fb4d00062866bab3ab3f2c2ec0702b2049ffe32a74bfd5e3dca22870ac4768514a01e62767fb1ee3743cdfcc26e0106718d638f682b691b9f1eb9b53b3c0c06cddd126887f9849d298918b01e21da76f7161e2b0ad72fd00a84aa1ca64d7ce32120ac93c1c1ed2fde1d0dce0e6733aab7c0908dccd8fc65050d6059450a484b5d8c72b73b700093dced0ebb8d3acf151c3ca094821bf4ce987d530dccd8c823e881a9edb9368be0943d3afe338560493b9c5f674fe69a27e8a45992bf8af5386e3a7eb81caf9c0d3a45f72fa457ff29b5235f945307dda9acba65d6267408dcdc288c08653e6195ef98c7d532d49daf16e6008178a1539204a549a14d0a3fe5812b5b168ffe47dd9ca35f3b0d4e249a1bfc8f7f1a17b9515ab9ed1038de64098c5d960a7b32e4794711ea2e3e4a2bc81ec1dc05f829fd9e7903b0bf93eb4db42ca55cb26b41fec6af223c219ce88cf7d62b60063a2f842f79ad512f2874746e97f1b742dfa39e7df19b8c348747cd9c68fbaf010c3869500634371d8a8af6f039e902b7c90a356b4c4056d4e8b3098b69ecad5fc42155052b95dc8ac339b79dac22196220e5d96d5fa16213f8b072ec2c777678e898326680225c7014fdf174c75de61ddd6a28bf018e0ac1c6647956aa7cfea6d9d09a31a53906e9488a15182d55bc636c42f26ff51e5b3932d054be251a26db4fa8e9f6f8c34c9422d171a3a5bf82c7f09e2c7c246c0b75445e2a8463f12bfaaf7dfca3201889182f5f9e7e3758b5b1d54457c1688b59fce9dfdc28c0398fc624ccd6c3473d8367c177bc0281ea1b56ef3d9af546c9cb7a1c108169d701d3da593e97cb923da181fe57ba22fdb03570b6b9a8ac65ff81665b484810abe0ded0b4c394cfb122fbc240dbaa4fa9baeb761b2d563d916c563129e289a41cec25d1bfb2c1900a9916453dc3b8b69ddf998eef9f910a6efdb9614a655eb3aeaa8951e1ea968807a4e1d77fb2d2c4d3141e4718ca46865bf717767a5f4a891b3b69a4e9757c87b76e9bb886d03f693f3ebd1a9cd600e7180909312e6226dbb39917a1feab50dd1b03f87630c731ee30af7f590accdcff720aa5204ad8961d29a916ba394cd1f14d23d38352232ab7408058a7e3d9d4cdd96969fba8b3f616ec2b38cf55648a508bfb9616530501ab4eec82bdcaf7db22928d95d96f902e79d89c5ff535166123121d9fb0b547188be81a62346b34a48499b4713a2a6121a75bedf0946b52086ffc14f71cb4221e161f1c2ce9ed29394b07c3d6996066298e4d7094cd39c309c7db90981a816fea28abd5eff4df87e7c7ce3926d213046c3c62a050d59991e53c522fdb1e382fc8517e43088a12adfcfa6e62c86a23cdc5beb0f0f5311e77eb49e4fa36832e2cde0def6150ce1231439b377a7c47848594be9609c4af26b490d0d679c6032dcfbcd75b93b3fe9c41cf6f55b8a03a72f3b95a2b534cbb143b5c8a020d4637bf9671165169148c5027ec2999b0577f559dea5973c4e91b38a52e3dbbeb9ab1838b5719bb3ce4b063baab95155e7d3e0b93b4695fe83277b243792776205afb1df7f07914b3d6be86648fb4856662f792dda24a413c0c4d0d0a9b42faaf11fdf2294fd42c20cb56febdb0883620a7ac30c632f82e22d88eaa001ad9f6d47bcec18c70073deacf50ea289daafa794fb9730058ad3ff2e0d7e7a78d1bb2258cf23acde01f1ec9b820f0d77f7157c69e8d31859804eb65e352635416dd41879788282e55494cac7b26ad45f8be1c75bafe65847f914abcc1565ec876143ab46c829914a7d3ba1c3f4a10b51443e9fca59eb097f3f38d7ecfea7372f0cb29d6bb9f12d4dc0a4838a78fcb659cfd8b22a39067675ef5ddea48d180b6a0228fae606e9dd8403268c545c8c1c662755e428b622ecf4a7ce5e2def1d6babe5fce90108b615772b9738341ed25ee8d8544ee932289dfe28c38eac7a6c125d1aefb228c7aac93fee876541d6ea80cd262250cec3245e0dc4824544748146848c2c85527a22df973fce469ce922493d56e8c98df543d9b605c1dbac078672cb5f21d35cee06e378e8fc34637227f8c6f9a638047ab11b01edd4d381c8165ef9b805997cb87ef78b608d77b7a11d609781883e8d66e249a0e7bb769ad2fc455efa4338cb2b6fbcabe7cee7406db26ef403de76f21ad990bea3fc2bce220e3b50010c8c6d4f1bb66bb0afd3e1a6f245d08341a43fabf774e84b37c07448a7d5fda2f7a4cfe8ba21befc7f19286803c83bd5b6321023f9ac95fdd97671247666f2f7330f848dba95c3f025d30dbe4ec9741430a797c3c7f1ee7675eee7198b7eb6b9d87350d3b35d73ecfe4b1f119edc7cce1611476e31302d8a800cd2f2d9a21c6e50979a949552d886f75e47778664c7170d45d90689b94be41ea2eb9f226dadc9bbb1fd4d85f529b29e4d6d5b2622cf265b9f5d0f47faa4b1d27a652a533bff74d1e8f7a1b6a139a4ae6e600d2995ed4c2227d2f561f6390de943a167974e2202835536cdea8d61d2d72f0cd86283aaa8fa92d299dd82b6767aa02c79483817f6bb4ae2191da4f0ca03c2d1c05df735ea1fd1bde1cf34822ff2bde5d255ace9196aaee54e7c49923d25d81c5b820cba505bfa6d8bca7de0c2f3161f670ac1fc2e7ce869f9ca1629437c0306c0aadb88683409595be86682768a572f72870a98e32dba3f517ddeb1eb597035ab7cbd649a42f500aa313373986889ce6f0d99beee4d68dfd2ea2883c2c4b7871be58ce865808439d98b525e8d67636519955a76dbc17aa895c2c7a38fdddf02e7a97f03c888d3f5ecc7a5c32d7aefec850b910e07d624626109d83ba794ad1b8654dca6614b7bf43423ed376d1a5ed79d7e528751c6ed10cb5e542c5347aa46c4f4a7ff3aebe007a2b53d42ff12a922d6784a6a946dd52f6aafd0eab392975ca5d3be3d9bd582e58fcc16b8657152c68e028886da628ef9c744c697969764a64a05d0a0a8e55886b2960cb921c9d536c83c1680997003cbddab47a301ccacbd4289ca6eeb59bacea831f265d680bdded4016eb686fc3ea1fcf93db54c22b2abd5982c44a1fe4cad353a6bc0bb242089676718fd6b5cfa4bcafe7cce91bbcdeb12cf3c614a823fa59fc9903bc3eda1a8ad2ee8613e1e1c0582e1392738f5a19f0c0d55f985994494c96471358eb0f60ffaaa603d4f421fa1803e8a94a1cc5c24746833c3f5c881f9898f71cedc439c5febb4e27a84d936b9480c97ec2efa691e503dd67f6834a32cc40c3576b96864481add4559d1a12a0648d2b61bcb5dfd97666835ced314d604947ad68c6a50d058199606740567b4d48ba5770023efcf00aeb5529636c62171c851ac4744cd05cda373d09ee343783179476149624c4ad9ebbe4410410eb306c204a2b1a3523709dde477b541fc650dc0b243482bd85f7662819f46d38b7ed16dcd67ed916e05cbd1663920975ac0c94d53a4847d2b88d4852719f656952ce17264523804b916657a97313ef56913a0bbe7855824b64bbe122e163a7b9d1b97c9f89dbe30484636a54facceed2c1edaf340f84be482e0fd4e6313257ae4d20fe03bf27c5aed74849d3a66cb0b42ca9a31f0eaa19afeab5ece71d1fb0bd60cbfc631264fec2fb934db2dd804ad46e098ef56e743d102457f87b8a96c4bc3f2c6248b201b712e5bca6da36d45b1cc89b735059e5806f777e1c909db577265c0714e12bebc5c2d82d60a6e4a4117f835656c2057248d03c378795220b87cb356f53e8c04abe1a9e3b7efeb02013226a1be5209ab676e9a761a87bbee8eccc828981fe4f19340c004eb426302b0e08db57bf13cae8236715bdb6c46a60c55d6c6d88797d0d81a0e77afcecc64f6584381dda23bbc5769e0e562d3449bbd62cec123ec01fa631becd655b0f4d50cddf7d0fbedb1a5dfc88ea69946d760154a8ce86fe6eaaa6c01d80752d61f0f1408a86aec3781c6607d20f84c970cd19625b59e8722111cbede6a9e59b3aa4f003e33c10cf2e1653f8757119085255cb1cf99e8f5b8c5d3f7f8d13eed17ce5d25c58358514d13fc56ab745a11ef8d943ba3a491add9a13d32744db3834f4cf8b05ac5400f5bd5883ab00dbaa894c326a1974b62b130fc23301fb318e925c44e6fc2539a1faf8bd5061e6525b6e9303be34cc652b6e8bdf1976a579b6eeeb4167ed9123df33d0729ecdcd5750d31de128b0b22ee2797a99f21f7da5651e4a9948170864bf4066d3c23ef648f30d420d98259dc52440cf11bd178ae84288f99bcb4eb3e9a51b424d6fbf122ae8c3715092d449b910069545cc66d1fdf1e4d1792976aad5773c9ec6e41161c1a3b3d4fd0618f1223cb12693a837209964c5531d62008f8f7fa5b45889409fe978787bf85aa60ad9a4703ff214cc22e65f4518ee9bad3a2dc7edc2f529d2340e8ea154d464c79a5d7edf3fac8397f852060ca4592eeb2a30399b81744abfa36b297af97d29bbdff730f82fd8ad438254af8f67fbdd7a97e856f42f89518d5c2798a5f8959cdaab6e93010ccb77bcde40b532ce0cceaa6999aafed408fb9d7bbf1d898c9e022079a02cefe8721e7eced2707ed433704c327352079ad2370218c67432bd12c89caf44a3ec28400e87283cab3cc18b37804524a3a0b21dbec2acc8d4a0a722b6c993e1cbc3f889ff0a2fd31c4de3a7a755738e3b5b8147a6b4fc7baf7589c6dc0709803795790512bc606d4fe13e10d03a7a0802bcab7651d84a6826f7061f1a656951f1548c5b0e6ee051fb5fd8f4b21cc5737fc1787be02d28105350d3eb6c8228c6c7f78d9862614420d8ffaef6e04341bd973b7800a17ed6bc34df3dd1ca40ab366f7c7302fef9f3390c74206b7bdf6a375efed4958f3724e08d8cdf30ef6709d5d60b02c39ba30eab540da577abb059185f0f9a8d8a34ae6a33c335befcb9998d4637b78c3673d83f5bd667f8b9946294bbb9880c0d9e0b2333704dc8172fa4d937b059244fba76f1b033e3d73055fd6797219f92dc05122e7b429158d8c4e26bb34dfe668e832a5cabc15f891915f9ca1c6a0539b30e0e57003fa070f34c6fa574fef66d412ac3822953107cd6521e449ba252a6f31555c81077bd32536e742b4a3917b4c16f8356ea0b6ced917635431e57d675c1f259587650b7fb73fc37e5add6ade0268b210378485d7cf40f1aa3cf2e083cf49a2053fe5dfbcb2958d8742984b82354917e6fe70da6725110d2d5d3693812a9c04a0d01113923ba5261de255fee8a841f4231114995c637dcfa60d7bcc5fb2e65221990ad93e6dc9e8f855f7c679ec3f311c021a8437dfc5f36c225ffb412ea9763f52dece4e5d597831670a6079f99c3d09663a55a373bfd0aa16d70d0d6eef337d8783d94af865f5566601ae40eeac62bdfc03ee2382c33ab8d5362e0b445abdb5a649df4d65b247bef5c3a276159db889cc2a54e1b397be2c89a87f1ef73280506dd3fe87a8049471faa0e4732ab93400e706ebdf27a8e4be7c05808f908492af6d668c387ade51b3c81bf0cd545fa31677d26e9d89a746e73170e03c3aa536f9b94f05480dc6bee3003d8cff7cbefddabf76159f1300fc2cff71aa2fc8429ce7d8fb5e3c889108e9278d285b62ea86180d780f06252d5c8ba52d1f3b99b45b6da091b4dd6e6c0be0e43ff47a9707df738b977f7233f0ec40a385b022231ed2d7e8ec9c8bc51c7a72ba566d6a38c0023f97d71fac38c1c47a17fec60573df51bfd3d45dbc84b43aea76b4aa6cb04a3df182cc74e8b5260bc95b2ef4d6e5e8c80f0271cbe464c17d7ad2b2d96c18a606fe5aa72a322f4b3cb568eac98d95772b74495aac28976f45e86360c3751e018b7ec3cac42df6262d40fcf42a64de769c128c3acfe39e205982e04c40ec0f411f785e50935416eb408b3c35fc77b22a61c58e27b4008dfba8170261ead25b590abbee010573bce1637668d27ffa4eed7ff3e6324b3170f8e3eede3fd597cc53140c5c7e3da16e478179e67aabfa780f9c78c81ccd7f112e5680dcd875c4b741fe3a57e169611cccbe79f69ca7e900e5062f3b7b955bed7e889b557ad34eef1152082d6785a4ca339255cf26a0b2984ec929a3c431e3c9b0b060a939f6b218248b1a4369f12c89c1e59a2121b3753add685cba5b323fd7e024a672041e0d8fb8b8887c0ccbba33b1f036435fe0305e2eee475cb47d63bd623d3a8497146b08cee3181b6174fc234072a9eebd01d235de2451bfe40fd78181d00ae21262001ab0db0ba0728a591a6b4ad79ad461b7aed1fbefb2493c913f8ecb9a3dea57ca57a1c411a8e17767299a2583ca2558381ddd3f66f0f6008931a48d7d444b611d3a932f85505f3d57ee8d1433cb72fdb879a9bd24220cc7a8e9b0e50eb929c88ffb1f433ce1096b9050435163ba472f475a89cec4c52572ec765ddf24ad243339ed2c8feff9b697e7eca12a6d92df0afbf1aa2f354ee72d4d639a9135d4d8fc6a7f741d83427ff870fa2e8e364e5bfcb0df4ff82cb5e8cef9d525fabdced294ee8a082f2cee9e7decb2bdfc04f611641a928c3f92192afb21cc29c577e9b0e5797d630e563b4604eb50ef815577ceb627efba9df58c35e01a39f1dbd93cfa558c75c22d750ca5b6573284b33761bd2169f67a36f51eb04fbc72bc3506a3ee5dfc54feb77a3dd1a1a21204b247770e10bb1fab49aa8979655170604046713efc10dc0012f5245bbb3108732ed68bb906d6afdad8664ea8385d929b46cae8029b629383ca4c89a305a6fa73a43d04eace69fc16113418e7fc04efc4c", - "result" : "valid" - }, - { - "tcId" : 25, - "comment" : "invalid output size", - "flags" : [ - "SizeTooLarge" - ], - "ikm" : "db89f54af757f8c7e57248a1718105b1", - "salt" : "d5efc88adf3d5afc970284aab51690bdfedfa40be98e374efa3060ccf97fc650", - "info" : "134f085797b1ae2e", - "size" : 8161, - "okm" : "", - "result" : "invalid" - }, - { - "tcId" : 26, - "comment" : "empty salt", - "flags" : [ - "Normal", - "EmptySalt" - ], - "ikm" : "d04f44faa4542b34f958d8a863801f2c", - "salt" : "", - "info" : "ff6b5b655cbf2421a66d2f28408395a2ce57264f76bd60befd51cbfd9474faa47a97a9aa0f0e4338635633023cb36da12a3051f1f369355b687304e74c5218b315", - "size" : 80, - "okm" : "aa235b487116b1c1e2f68c9a557b396a318ea2aa29c0e6a122645918ba693598e40e5b7c73c92f832530db888d4c53fbf73aff67d129a24263134335c9757da6ff7f386c77f830d1bac3409fb3b834be", - "result" : "valid" - } - ] - }, - { - "type" : "HkdfTest", - "keySize" : 160, - "tests" : [ - { - "tcId" : 27, - "comment" : "", - "flags" : [ - "Normal", - "EmptySalt" - ], - "ikm" : "fa4f94e9cdbf725c1ee98decddbe42ec06196116", - "salt" : "", - "info" : "", - "size" : 20, - "okm" : "f32a552257d372b16c5d8c46e6c07dc9c33be9bc", - "result" : "valid" - }, - { - "tcId" : 28, - "comment" : "", - "flags" : [ - "Normal", - "EmptySalt" - ], - "ikm" : "094db4e2eaae8fc9dca0d9bc14b29387fd476921", - "salt" : "", - "info" : "", - "size" : 42, - "okm" : "41ae65892c3359f808e906bbc91c701f7e067b548e685bc02d5badad2799221bf313964f8307670d76a8", - "result" : "valid" - }, - { - "tcId" : 29, - "comment" : "", - "flags" : [ - "Normal", - "EmptySalt" - ], - "ikm" : "bfbe4f1edace02b2a3afcaada5f319103996dec9", - "salt" : "", - "info" : "", - "size" : 64, - "okm" : "93c737cdce4fe225839614393bc5ff6fd14390dc436ad6f9e13a7714e8b8b2d66cb690fd9a213c0e297ac96fda5d27e002cfc344964b86e78ff23c260cbcc82e", - "result" : "valid" - }, - { - "tcId" : 30, - "comment" : "", - "flags" : [ - "Normal", - "EmptySalt" - ], - "ikm" : "71220f185f4f2d436fa88b61f7ddf4a10948385e", - "salt" : "", - "info" : "f392a656590cdd585a06ad4892d2381ad0616a99", - "size" : 20, - "okm" : "db44f61cc3538799665902ea761be6fea0c51e75", - "result" : "valid" - }, - { - "tcId" : 31, - "comment" : "", - "flags" : [ - "Normal", - "EmptySalt" - ], - "ikm" : "3a0c2c84ea46c152104d794261413412bad2e846", - "salt" : "", - "info" : "1cf4f37e0cab71a252100a2925a8703231292a7e", - "size" : 42, - "okm" : "1d4f606b55c6f6fc25d06eadcc86732afeaa281f7cc7acb3efb40eacfb4880d46daef24091045cb16baa", - "result" : "valid" - }, - { - "tcId" : 32, - "comment" : "", - "flags" : [ - "Normal", - "EmptySalt" - ], - "ikm" : "59b7fce05176a56f9b086b2e9e526b4491d05d27", - "salt" : "", - "info" : "d0e410792d888f355baaae8e17288e982032c231", - "size" : 64, - "okm" : "df10c40dae8f62e212775e5f19f9769f17ac32abe46aae106a5baa9af3d9c2305376ec0a6f86492219a7d448b518ed08fb6fd6eeb3f964949e164bf8caef03d3", - "result" : "valid" - }, - { - "tcId" : 33, - "comment" : "", - "flags" : [ - "Normal" - ], - "ikm" : "e1dfecb28787a93133763ba4760a55a2c20ab407", - "salt" : "0b86a968f9d45bd38ffc2369a92bc66d", - "info" : "", - "size" : 20, - "okm" : "f41d88008ed2ef14699bd6d0bfb19bdade26106d", - "result" : "valid" - }, - { - "tcId" : 34, - "comment" : "", - "flags" : [ - "Normal" - ], - "ikm" : "0941f7af65e6848cc218317a9ec1ecf26d21ae3f", - "salt" : "eacad2915534af8106c4abc66970ff0d", - "info" : "", - "size" : 42, - "okm" : "9d28cdd9fcb126c1a70986905403bd7a56b3a9f0d65dd937f2f88e197bc0b5b4ad5ae1ea03f3c3ae8620", - "result" : "valid" - }, - { - "tcId" : 35, - "comment" : "", - "flags" : [ - "Normal" - ], - "ikm" : "1e242658cbd889dcc0096092311e9311b94c5bf6", - "salt" : "7318740eb205a76ee4ed0df45d0dac47", - "info" : "", - "size" : 64, - "okm" : "cf3eeeb3570161584596276f10c995b4ad6c5d49436081b2b463be2d57efe9fd9dd76d6f9b9251dfd13dd66ed0c393bcc82ba488b0de8bb4e1af7c51bfe62b39", - "result" : "valid" - }, - { - "tcId" : 36, - "comment" : "", - "flags" : [ - "Normal" - ], - "ikm" : "163f690d4439dbdf6dc57042fecb79354bd3e7c4", - "salt" : "30ea55b5fdc7e509d001d710b3a032c9", - "info" : "6a05fa82515f27deb3d27c80fa63d2b6edcbb372", - "size" : 20, - "okm" : "46a07537e9468a5bfd1dd2d4aa64fe9b10a12328", - "result" : "valid" - }, - { - "tcId" : 37, - "comment" : "", - "flags" : [ - "Normal" - ], - "ikm" : "f7ca016ff5fae1cc11628196efef8ad174c1dcb9", - "salt" : "e3519f32e44952385308db5455878cc4", - "info" : "53b94ea0d6e0da9145a0ffdb5cf708889b9747fc", - "size" : 42, - "okm" : "5bbec6f981e7aec6c5f49da0322777a5390c54926c65b3bcd4fcbc27250625939ccfcc11bc3cfabf9242", - "result" : "valid" - }, - { - "tcId" : 38, - "comment" : "", - "flags" : [ - "Normal" - ], - "ikm" : "1c352e65590b2f763aee9f4404c801e7a04b2a8c", - "salt" : "ecd6a227d7ab14c068bb917c861c8ec0", - "info" : "3acb9582af1a9019126d09422e715519fd335032", - "size" : 64, - "okm" : "163d478f06a53bc1fdf0f30a2329c99e607ea9228ed7739a45b64e3ce29620067644bd047f8e0923bb00b249254d1ecd80eaf3be23c6f268b9d76c20e6286765", - "result" : "valid" - }, - { - "tcId" : 39, - "comment" : "", - "flags" : [ - "Normal" - ], - "ikm" : "2e4a156988235208a93e4aef6143653b55e2ed41", - "salt" : "9d5b4c7c1b7537300d4dec31f0395e8da6eb826d7fe38a0abf4b762d696b", - "info" : "", - "size" : 20, - "okm" : "2a4d8eb6c85b0bf2cc72d464a09ebe7d159f6246", - "result" : "valid" - }, - { - "tcId" : 40, - "comment" : "", - "flags" : [ - "Normal" - ], - "ikm" : "61a281d49fc0bd3012e1b7f5dc17e980cf611ea9", - "salt" : "80f768a758ec5e45c0f2e3fd349e432347be89d25e00817aaea4a1c510a9", - "info" : "", - "size" : 42, - "okm" : "bb04f31a0780e83945e29b85c949864c182014225f77aaf28b223fa09e6066aaada75df4cdc4f20b7c8e", - "result" : "valid" - }, - { - "tcId" : 41, - "comment" : "", - "flags" : [ - "Normal" - ], - "ikm" : "e94ac367c6f7ce07a3e7f83a1ea4a0ea264ddcd8", - "salt" : "5c139fd7769291e5101cc8c1ba44a356b5c3fe3d13b0a68e69b6c09f28fe", - "info" : "", - "size" : 64, - "okm" : "831467261ace0e7b53fc0a1139e418b492ee8bc3a4e267abb5634cfbc7c422641a6672741f791ef9276eea9a1119c85d3ce6ded423319a21f9f08c2945f75046", - "result" : "valid" - }, - { - "tcId" : 42, - "comment" : "", - "flags" : [ - "Normal" - ], - "ikm" : "f5d21e4aac89fa725632c707bd89d100b90e5288", - "salt" : "989b8b9b79ab82253703ce669a0540d3cfed69d754c902a9365e03c92236", - "info" : "b092e1dd4faff8177a97e86716de72f94beecc4f", - "size" : 20, - "okm" : "d17d93a9ee4906a029ab4347d72092d0c9448e96", - "result" : "valid" - }, - { - "tcId" : 43, - "comment" : "", - "flags" : [ - "Normal" - ], - "ikm" : "0d3909b7c4593f4469ddc4484a2082ab2ee18be3", - "salt" : "9138ad17dacdd0a2a3a3a37fa782ec243258aec9ecd6b3fb5964b2b3dd91", - "info" : "6ee1df3a970b9506a3892b59f1acea5e3ca2cf47", - "size" : 42, - "okm" : "6c2f767ecc1b109344360dc1061704c856b23b13c585a87b6445211f3e78763b89e841f31e08019c0a8d", - "result" : "valid" - }, - { - "tcId" : 44, - "comment" : "", - "flags" : [ - "Normal" - ], - "ikm" : "611710557b5f54c91ee635c38f16222b00a71533", - "salt" : "4f7e27c2efd4e2ae3774fd948d95e30d40a16ff799d31bad27b37eda9bc7", - "info" : "f3cfd0fe4090c2927217405f339b450553a51140", - "size" : 64, - "okm" : "ff01c3d44225f27f77af95c443640d83be29fcdc9722ec045de937327b563b349aa95b6899d9e2aac995e7ea5f4f0bf34f665fc9124ab9607a91c23ea104594a", - "result" : "valid" - }, - { - "tcId" : 45, - "comment" : "", - "flags" : [ - "Normal" - ], - "ikm" : "8759ccbb7c28d95d8f6cd65c3f5fb517451f3768", - "salt" : "bd76fd163a2bea5c840730b4870d168d097cba61ab3aa060a38816a007117dbc245d288c671b6ae1d2d1182a6c6765b13ff2910565660f853d0d871d0baffda3", - "info" : "", - "size" : 42, - "okm" : "0dd07574313d5683a506a1c992ac1ff117e20080493e0f29eeca02ba6a8fed42cc021fbd612aad9ff6d9", - "result" : "valid" - }, - { - "tcId" : 46, - "comment" : "", - "flags" : [ - "Normal" - ], - "ikm" : "3b9304bebc8547501091857b81f4e7701218901f", - "salt" : "d63f8caf65f43c2b4a5efc56b6f5860450e237cf172552b184b09820784e32967f5ba6400e14315c7e78182c1ed2f5d6964a239d92559c5ddbe16c8e27e62079", - "info" : "e239a9e88dad237d5557336ecbd72737122ab752", - "size" : 42, - "okm" : "77f370acace1db2e9f5bcfd2a46acbaea48af4d0da3643bb50d5798f9569a9f6e11a307ddbeaf22bc84c", - "result" : "valid" - }, - { - "tcId" : 47, - "comment" : "maximal output size", - "flags" : [ - "MaximalOutputSize" - ], - "ikm" : "e24d1b941ac46211874b5f19096a5699ac59fef7", - "salt" : "e7604b17f41722d9172d87956e7454d7bd88a4d550d6ab9bb4d65930da63edcf", - "info" : "aada4cd9650cdb86", - "size" : 8160, - "okm" : "0244073b674149d172a28f9029dc197a0d2f2934d5038c52c8c9598a2610261dd749b728bc5f656aaac16c56cf0a44a35a8835e253ef00558d6d30cda5e9a9926693b7412491b1cb76971c4221ff036e299a12ee38433290e3ad832b222a09108e55517664e7cf19ae6cdb58b8787b886a9a6d3e98781c9727dfc1eddba6ba24628a7a35fe5bdbfc207aeb30ce049e35f4aa8ba01d9318f6d8a1591c62c0824c23e3871ece2d0580c10455101f023f65c9c19eea28d52393cbd907829bef282be75b1470ef055e72a75b72a9c784c8672293ed31242b2b4a8f71d07db9490d8ee803ccfdff458c05fc6265ed8403e0a50f1106a972163f4760beba718e37f8cd5c0e95481f65ae2c59a54a7d2671acfa3e14b2cd8046f81b00ef4769cc9f6b5fa7af6f4597a57ecd65bb9bbdf26737dfaec9a19be475ef32269d84c6e8a331b4e7c8004e9124461bf64974b558fa5ffd66d2c5d8e9e6a80d855d1693c2548a92b95f763f95006964691f9e81f4bf0073e5e524f1070efdf118d8fa86c267c18429625bcd289770181e3144327bd999fd61c2b2c1fe3c779e571e3f0c89b82bfdcaf07ae8ea12e921205ffb203d50f35c02ec00edd116abc548f386aab0ccc9d9530a00f3c469ea481d1236ef23d0fc6b9be77ce25aaaaa1dc03631a426a4d00334b2c9e263efc324badf75ba866f1ace6b55092e2a4ecef93a92684606d74369807fe6af4c6471ab23cc7001a44a38cd8a6a6a83a293195ab6839dba126b16617e50814eff21002e2c8e60e07bb36c010fcf123e7522eb4a62b99fa603b81b7a1367f7fed40d7ab03571cefd65e9ccef3adc91cc6db43d543dca2fc7b136009bb0d9b8e726be9de006ccede9e8c641e6186e45656c1a40c3f518c94d9d3d51a77ca14a62c45f8ee79f48200570d0ef9aa68a074887b8fc2bceae041926768eca5cd60e777af2e456387be889f29c141bcb2390aea164008c8b98a440ca7c5a30565d8d1b5ca6558f6dd0fdc9aa212115c7b7369b7b29617c35e4909c6e062726c3cdaa3fe0885029bd078ad3ad9dd917ca683ca74c4df6cd78f4792b4bb214e55977d3c4e6065c19b8c0804f403cea9e4d66839bf529a58de05308c687619a16cae4740544368e0af677af1837743ea571fee1caccc4d87251a2ddb09560e7989a88f8c211b21b0853b951e098105a6c4e36ac8a526a10679a430cd4fafad56aa24787bb3c6120e1e393aa44eaf33c80a0fb23b8f6fcd504f8db03c43341587eb9968cf41f5018f036cb60e61dba85da5786c3f54a88be5322af6553fae527a09e6325698d716afe53fc820eae43c5d965e788ab90ec901f44bacfaf4989084cee8d304c82d92affc8e126be3c95ceeeff0851d4005050d504af3ec884cb7b807bf2835544edbd7647b3ebb4dbc5e2bd287721223d097c122b19b8878200ed5ba2c6cbd6418045081e95d314cec009f964d47faefbbab0f4c38e61e32e70d9dd888d90c97c3913e3095433ed608081c4c7810552870baa09ca02631eec480d37f24add7c0db9b57ee49fe71d9dbfc09ab3a28100463be880cec412def1c46b91d20329878f2d12f629f4a575e79904943713738dec6b87ba2c112ef265374a9f7be102b4d837a476acd09b2486cc422d8083bbb069e16f164490231e466a57f5e5a5531285317a54c10c193379db49f53011d48e1e470db227d57340be2f51526d007511508d02b6f817cc5c6f8466eed675c0120f5ab709320324401c87caf91cc11911e38dcdf572a6bb2bca3784f8ea85abefc1281c2745f9290d3a64f16898aa373e9b731c4fa806472655461acdb3ef42253058cde1ed491108654d08c9941a21c08c36220395aeb6cafc878e3ee26db0a2f7fbcda9233767d4b33711723aa61e6b518a83bb97d76e591e5158cab4e8cc8d68f8c4397abb83eb3c4b9a31c2d97b82d945b5968144e1f4165e933126cb408d8243fe6cee8d255d6d76062954ec0e97ecdd2edafd7b17416b23ce29c9b86f6fc53480a509c652e0b4b0659a56d02bbdd22ae21bf96d7080832943902e168cda18295559ed370b84282ad66b7f0452d2a607a25477da79d8f75ca3dfecb3dc3b5dc65f7149aeed57dcbbc3053c0add891d80f867ca77d9b86f76da65f9fe896ada6eaf7d3e820cc5c4f81849f07c250415d8c9b3903972f60938d9ddbad400d114211e015bf966bbbc3b126a96f0b82942c6f6eb0c5fc51d63e1bc4b0a969e026f3d8ee4d303bb5db60233cb5d3ee9987bfe8ad604fe330efbed33685719f3f98a260da9c76436e868208f3b59298efd5dc6c3e77cb6aa8fc7acd4efb39860e2c6490c2cd3c3e9be69433fc5a788c1e2eb6a6d4d7580664ddd0cadefaa2d883b8e8ae3093ba63455933f73aa9956477b35160c27e7757406fc2f815b8357f9900a71bc11478b0ec701de4768c9a37cb6b38e725bd4590e4dc824b5be46ab4afbb9b5aeed9a9b364bfb613ee99b36021306efbe688cacaad8bfffce8f971ed22f855872dcee88aff00ce4111d48c874d89842bab4c22a61effa770ff01c844e81b4ebef4ceb5a9aeadaf98914f9346f0a7042361950bf352f50aa7ac050a74cd59cf476fee22732ac5a373e37951bd4d7efb1da1d0b6021ae2d68edcd74b78dd91b172b7c6769a60201c648be1a195b5829d33b14c8792f73d251dcfb43419e92357b5f9c0ff440d889729b86065c770526f5882a2757f80807abd22b1195914057e763d77a0e8effb9eefef4b8333cc474f01e31dca3f96a506b97eca5ba7294bd75e17425c61e26ae254ccdf2ba58b7edd00f5e3451fbd8e9b93cbad13dead64c36c3bcceee339c5c84daa69afd7a99a3baa9c5286af24d4c7a16fce1f457d23988cdb8e47359fa060ae4088d914f90ae7d4e994835c93f8de3bb8a2084e7ff44f1e629fd68ecbc73cfadce6974fdb3af00114303d122a39c82643d428678d7768ffca0bd632659fa33fff10196edc9f8076c26056a07927815125d1b92bd449158209a2f0502a6c1c207db4196d5ea67ffad0409043a4c3cd4e618e8ebc7887c355a87d372b4a3934087f03449e68201c5f43f3fcf25c5eb1a9872c16b0948287a8c88d1b7622813500544bfc2f34663d4ff7b2802a2348029acecf3190abcfeb07d75d6f0a87ee424977b208164276d57e13dddc560c56c6c5612edcba3bb7df8f8665812047a4a8158aad739c6ebaad64b9e35e54dbbf135f22935b6ff0c0da0e66fe52cbefd71333b07d8a550970d5b5d8d20e5122cce8118ca7034d0e9ac99494889a8917a401afbc4dd2509040ff0c6d5af13184aeb8036051b0d9bb8f911fe796f6900255439745e85f326bf263e2533d1892d7317dbf9cd3f8f38199702f0adaf36f6687c2d3d04544ee678169349526f3d341cc4bdc368afa105f7e08f89b6fbd63becd85b97f86de81e8a0289840e41615be6f20f4e6ddae62252d59365a425a01563477b01542248b0970877574556ebbf06b0621b17d309b06e1796bf15f56d1158f6999f283fc3976db54e1e3c3e45d3abd54d40cc28f28251bd30ca56ce6d0ae95b0071f3eea93b0338b0902a2aa2fdb085b0d5982520b14d91715ffdbc63f5c37cd0a89d72651b64290c696bf2ad18519fc56eea80d50796b97ed97c65cf24b6eea22ab9a9044c12bd2a9161eef76952ffed2532d5472b6b7be3681b466b0b07f1b8324872267eb7a7a0b3f624808f75b7d5db3cb4f316ea2b8c70ac81ca19fbe294e6227c3cf5487f16ba97c0c47a5995ee4e01dad5696d0a8c6a7281bbc234d3ee3d680c0bd732e5be9285324141b40ac664c402fd5dd439132f94a09b5e0e366368ad1122f8ce1ca8ad4f6f49bf614909de19ca6a2cc049eeed4e29f49abb3cbf91ab995e5bd48dd74799ab7e6d54c0f7709090b6ddf4329da0da9b28e1e6afaef762df93a82562280e7684841581646147341123b8567516972c8d1e44b58f8abab59b0c82ff5f367245bfa83cf67ee84c2f1a82cbb7f9c01783f28124cc4bfe25afad3ccf0c3ca09c06de4b7829362587aa0052d6c99072cad741d862490fdda32d1da35b14842b83c6e596c05b3a660a8fc264412ea518224aa90778a02e8c1d3d23ff4adc7e3580d9a24e3f7b3bff125779781b26a3396f955e1882326d539c83129005d0ce700be1b687b4d1f0b121229fce5ec30e7293af8075c9aa77a795eaf5e14d7a7acd2146c89b704604de23c0b657c22eef5e0dcf947d804a41ea8d958342a9460c1e0fe98498bcc1c8fb6c5b43da1e2696e68d9c5bc9e82b89394cf487e2088b5660496f0652e8a47bd2dc2c77c0c0fd3e9683ba860fffb5691a8d8bfb470bc5d97cd58345b6abe57f1d8ef36d34c3aa581af1c728e6e070ebd9e613d5eba297e2ba43b4aa8116b29da3c7fdc1e3f7224ed3283dae658d476d9eb4cb1261a352cf307abac455a7db2ba08eb13062285e01cbbe61f7d8f12dfe83284737e2109f14362ea5879ad33e2d99ab29e508d5cc64a25d10f3b5bc092b2b85937ed8a1629d8da06d2c7949fc69c598b5c5d1d6fd27cfb92dcf79fded155840ee2f712f9a1d582c44603467e2d3ad58f8ba22f6c8fda293e9b1969175221b8f7866c3401a52057ffb988115f74613658a33613ecba76f18266cdd5098b946e3ff023009e6b217902d10ed6749f63e4b89a8a7ca9b86ea608790c9e356213fe66510803c36f5efd450fea965d71a06435708d0e7f0dae557750aafcca540bd084dbadd889e5703602c465c200ddb13420971fdceb8acc87b2c99829b1922180c088d75871a0bed0326121d95c382b6d32fe4ee7bf7cd0f05ceaaf90017c82b95aed0cb0ed6af0c710af4688ca6a75882c3361c9e78d6f1362d472f1e74eee4b4a77bacf212c53da72f5770efe1224519b14d9695aeaabcf974ec135f4c559b201ad70c6de968191e0b6430be0ec9aeb5144c8ace2ea623c03a5b25f02c691d7b24c516a567ea77cad5b97513e87dae3b21586141025e70ee0d9dfb242d1889ae96d5934bcf5e9c193b5274f636b417274079b8412b165695be43725d0df14af8f8cc1d0be34098c50e2d8cb027ae2a8c5659b364543505d1e522e5344073df0014a956bcfececa39f3c17f6a239b47d6c937d816684af960c0a595e84799c03474400566137adc3b4d6e5336fd0791a65c19f883bb748a3099f7d3f460d7a756155e1c768ef59125443535cd16cacae8783b38d786f8468a797e83e90bd1d4f0eb95321f148cb62711dc70c34c5938cf851c1aaff5a34a1635d9f1428d1ab1a6488b82d3acfa8b12e530b179ef32fd065eb70cfbf2db49110459e566d79ed29a48e8ebb4dcf41ab00718950b7638efb4e5358b89aef59efb20ff2fdf5b01fb26591e969c9fb16596f5d8b5c3e553c4f421bfdbb00063716dcc9b4fce7c1c0ba70535493b29ddc0709639e55ede989757bdc5d4140b2eca252d50799131a8392a2e14c01920dbeb1ac14bb63313c21e2dca2048ae995bdc6767040bba02fbdea381e96e929174d84f05733f3a874385d3c5a712e43d68e2b768903bb96e006ed16a81d2aaac95e2127b71024ac528b873ca246eceda43f50b9000dc610a04be88f96b55bdb663d6eb15fb93a2d037150be14ef3c011b9b0959affde166fcb56491fcca47241ad5119fc47b686fe759c182af9fa46a5185cd14495bd419eeceaac8eed26eb50354c7496abce25a2c6c63b5e5c28f73e754876320d2d650070ac444e02f3056d4e4dcf5f827c6a4a1283961a0a29cc39093a19858ad729059bc7206a934c0b8d3a9cdb78fd9ceebe7bceab20bf74273017c9c0af917b6df95a37b94696dfe4ecc558521e858e773da1548cb00b9982fd12a83465e866bbb700c110a2de339d327856bbc36d4b4eb72eae0cb21aefa37d0f5b2d980af1e9e60772b2d628bdd8a67400bcb23cd9625edcfb4edbf227a112fd90900faaf3145ed5be5bea9a4d52455fa666ea2a1194b9fc91c8750465f6f239eb28d3c110d15a6d2b857fd9da44b1cf1cb1d567adfdaf77d7482a4c1f830dc297790542280ac47a9c1ebdcb3386e1ad8a6883be4eee7be3cb6f414e890688a3ad0402bb0c39603dccfa6b2f058761f6e06de05a640ed3c1ea4683a4dc7d20efb2b10e7f57dd020922b1900ba3d16d932b5ebedbb8d85cc379cf87175d58aac2e3639af17a797710b6eded5523a28d33326155f7dd19293b6138efae3b4418e93ae6106515d9ce84e34c10b71917bd836fc50a6471b3abdea4f32e8915b2480c86a7cf69842fe1ff1c5308390ce76d1cf9f02126b68d76fd2e0d59e35d13bdbe5f9a55018040e5b2f8caa5731a675c75085c5284f9ab5d2ad4b912f1de42862441a3e8c17b94299bf696291273e41e425221fb80b4f9ace9e8d1251df1beb6c4e39bf5c7b6a05db78072468aa11797e190d31f90a79fd92bce0c5acbeb0c8ccb6906dc651f6c84d9afe5089c55fd07c6518c84c5c650daf06b0d0d2a12dbcb8a420ec4dcec2c6c3db3a3bcb9317a28a3a05397c1faef8f389602372b49d74ebb030dacacefa5208ba5f902a664d35b3155ba8fa3cb8dd8d3e61b9afb6c8042b43fccc6d6d8bd55e1d224f32727d7209f70faaecdeff1af39014df9c77ee4edbd6a5df9d6d600bde36d5f2124b74376b83ec401644edfc23c23ed1cdb969d8ddefee7d92ca1042cc9c73aff2db2347b24c64c41ec83c5d7c77d427b74d7ab74091072ec24cb23f5476ec7e9612c0290caeeb0c153e79c750efa97850bc52a49cf0f8b5e912a162e7e07494260e8609ea812062669dc269d69817d5cf86055f1510bca0b41ee7a077dd599a0d5a401a2cb59b3a1e3f463d8c92e4e75fb52f76f558c8fa6d439bc27f602b2a63c9d051bcde303367f0d506aa00cd09eec236b1d6547ce97e83027887522549694ecf0d616c07dbd9556fa9206fc5a7293ffa6268430f285ba6eb6f27f57e83723b4c7d3d895919dbcbf62a3dc1226dc507885bbed03490f6ab1982c07eeeea7edd40f5d15d2425dbcc7c602a119785e894bc317948580219e8f59a48985e57a62af1660d746a63336d19da11db1ba32a3b57d856d12eefb5a68b343255bc92590b68a18d47d3f0a968d26db7b05253f7e67dbcbf62c7bf76bb26af0fa4963869fbcb4fc2cd0ae00fb9c73aae2927d68fe5219072f68ac7a0a38f3622d33f1cc2ef22be3c6b9f22e1ad7e92ca3a0851d95d6523e666e826886e5f3a18de1b98d055da8cd7fdc77bf9fbbf1b3693cd9986b2220c7aaf621b87e53d200a433b077783a397e804fbc5eeeff4689820acb909b83bd308d70b9c10b0e322ed8d19479861e43b9bd3be2e4dc80bbf03664ed74f010478ceeeb3acb8309bef11ac68a5f3f33e81fe43ea7a1eecb931ac2b45035d8ec936b9ca0db4b27090085669632e5f12863982f4e89e626fcb7ac804b49a7447d327618906032a95552b4c908d7746e4731e3ef24103d509a8dcb8f97279c2bab823dc29e0712c35e1e368ad2fd4f6658af52d2b1a8d858825fa0ac7778ce3901de3ef868a5883f96b99082e625e5d97e1541ec0e83449382f14e4da5200fb978fb7accfd1bd309d7c85f43ff698d167b14e666791da155ea77df73dabb62c7542696fc3fc6bcc1ffcbc7283be7fc11b825808adbf8e5520deacee82e0c634bbddb2323a74eb7758694ec1da438c8099bfbac153b0b40bb0c0eabdc308d036b21a9d991a134cc184a7ee8922eec91c727fcb518a71c57249006a84eec840930b1fe67ec42f24ff07b7c57685f2e5306c39c8783dd3c950e93bd52f8d540bdae2701429c4d988f6c0a7da94ae25ffd6e9bde06c8e0a5d8e1197fcaf31c38b53e30a785cd07f857517d6b15c4fa923c3435b3c3af102720a927c1defde566c1e8cd6cb8d9e0f5343fa8828fd15d5e966ac78b3c50dd6fb00aef35656718e0a03103e9e6514e20ac242c57d261e911d3981043970fcf50a256a6ffde73ac37e102ae4882c9ba3d743a791e786d145f4a9f677d3b2a9762c6a6744f81c28f07c354fafb74856aeeceedea70b695f9fa3687e7462ba913f6bdc7ec079219f74498d53ce44fd570f3f9ebaa290554dfc7d254939bd53202a5bb74bc5b6c3d483041198b08a2dbaf8a806a0465f254479d9782f2ff7d498ed853cb05ab8a41a6d905b5d0d186e84083626fb3955ae97a3bc6bf922640c7f62a84ef422f573bf09feacc53853a3841e487b4b4b6e57249f5224125dc04b8b36c818e02487b096d164eb17330a15cf3c2d300f39c57c29e1b720f40784366e9bee7a050997997aa273a17599884ce70c86ec400130fceaac0a1b4517a314e4b9af5e1f5d53319793502e0c5649056e61b08f203e06bf6c52ec06bcd6deb993e8ab6bd03c37f23e0b4596ce622d48e59bb591f1456d751a481d2c8558d897f7126cb29853edec76d00bef748bf4e7c008de0d9d4e5327d93ec7bc5b3b6cce10eb82ac51b1ba2d7b6fd9ca07712eff2c47607ffd192de1fd38d21d78c08c5798d8e7a082634542271452f3eb205c964a372c82defb9a01852e227114dadd6021e986601dbff8e747c49430f20a07df8ac263e5df0002b846086b343be67b95ea3417c57512dbc97766d3dbb04801f8de7a0c60ec8624ad62b43a9f04ffd6c78538d2062293c0db2fd6c4fe7747ddee901ba721b6a038531b9715a76b4b7f6fb4c08664cc046791393f27799aeccbd32fc755a598df453fe48402140b88b24474475e0dbffa63784987b2561a586a6fe65b4de1464179282f34fdcc8aa46a65e2100ef72e7e3307e697bd68b7d14904e00e7eb497a5c4671351482f29a6334e15ab0009a91316a5339f783527b04dda904bdb308801f0cba6b9f331131a1f08c29ad16f6b4e1bdf5ee7b0e259bc55439114ecf139b3c0d6c18b947c9b467a792fde25a50996ba6031065c21367e769161722538324e9fcb4c12c04ec9f040efcd524edfa6cf3db926866ea5b73f2eb12ac0ad9fb7599d4ed48f129e0e4f751f1977851f6b8d4e797423b7d0ed961485e8fb3c16fc0c7a7d34e86f2b4965d80ab2be8329d910e83b16aefb238e722a32bf9451ce1a475f58da91a458f2e0206b4f26616b57d18ddcb8edfba14f82f9f735bfe31a0545987ee7bc4d51a35238cb0ab1c442e10440fe17f7292ce7153b30d3cba9080e9f272bd2c51f0bf36e09b40c415d44851229475df6489b6db20b868cfcbbd69f1f5ce6a50518d0788ac1be018aeb818b9764ce828593494bd8f4bd1141a4878593ea02de6ea890a4bef04937c4d0845ec2215414405351af4b85a15a46afc81a20b97aab36ef7c0439f9a2d77a542c9cace4f77ae2079f63cd07470392ef2dc98012462fa01390d78f140464794b6db4228b65174e0bc8568772ec7ef0a624ed693d4824e7af131e0f3aa71428803af72187a85850be5d05da6aee37866f16e798a60acbdb68f0ef23f8cb60c00247f7191e54ef9a6134264be15eb485d193c666970f029c2bf5c4680cd621f6b3a3089272230724524e458586e5c22bc46d08cbf3a9156f5a4816277594d585d1de5c84387e50c3a3054fde490b78536cef8cf88f9a28e374be5bf0bb48b1649cfde4c4b5a97696afd7a5c79bb9029fbc219d5c7e2779ce783adfb9aea3afde5122b48678aa144e1bb80b4c8600c72b9c4b9d963ce6ebd576563504799d1ea04925305c28ad70604955f2075add763d301a36c205fad583a2d9623726572e6bce39972a6a3b1985826eb82da22448881e46c2dd9fe66b716c3495201228511f598a95f94dbca470e44c2b3caf5ba9763b7251c4c48890c1457a0bd07acab9fc2ec9d4fc02151509d1eee20f7e116da9048a8b69b0918126520ab89a89a8899270cd50f4727c9dadfa2b1ef2e64552b8de9b42eb8214e5db87170abff617461f65da832dc927c0dcf3ae3b1ccf4ae15c43079fd53cfd8b1d24bda26894a7951f56628462ae617a584f1c5d5355833ecc7cab52b5f49a15891abb0ab695ee4397a3b8b45b8bfc0e8de7a30d14d467b3271fc4a94d779381e09c397d45868f784dba9fa727ebfcd49e515b642ad3d2013fb41736ba1e1aae08350b47c5b897acc66c54ecac45d0d638ec189ac1499983e37eefa5fe719e4e1265a0e28f19cdc7f6f1f610bc74fab5856f6e39d80e75ddb73ff3158330540ca72b57014e30d80ea3a96a713c9df09e918c20c1c754fac104c5a081f4442db1d9135ef75863d08efe7cd114305318fadb51a3ca76554441cb7d63c83b796526ba7a6a98c2ccd1cf6d2b2fedd1591677919abb78a925865a6c513ed83183ffe85b820f622f39f20694151e5d3659edc1eb140ff1748047a928b09997d4d71f95c0b684278c3e79ea7d7bf9aa2b54a623819759c40ef6762ec05e38da94cd4e0351ea29cee70df96c263af629949a5c27f01f978f0e54ea624e1764a3096ab4cd4976b6ae1cf98d7c6dc8e350a4a70cd1dcb4645f19dd014bfba511d8a35a53e3969b84d798cea519aa1e63477dcc5f49b9380a9f0b5cccf2f52c0f3b96b98d6c418a2f6e0e8974082e0269d81a8f361810f8ff0d990d509658484a4aae3575206cfb0b059755cd9ecb3d2c48e501a61f37e61f036700ef974096fe9cad016a4791bd110544e417196a8a98a7ae2fb3728245109daf91f8ac800aee375b0aed53033e233ff7a461d9b0f136799c6feb87ebf69780e221018669de7a72388a08eb7bb3b9631b4dfd5f701bac8df7afff6e2b3085dc6b61cccaf96a2ab725a1797f670cf99a911467c9dee7baf138df096edfa782501cdb0bd6c0e7976e738b568e3109f41a0bc9f1d179071df9cfd239b0577beba215b49095da66936fc780bb9826d7ac68c3c29d2b808d3269894a9016741a35d96e745a0aa2e5e743e9cb2fa080c930b9115eae1d7a8f0d9a9aa31de89a35a8a86cca7b6032c56d2ecb9cb50fbc8ea1bf241e663bc54f57f8d764a2f3762a7d9325a99d271a0a88a33b35b7b8ebc1bd9ac30827da30ab7ec98b3bf651784e1378bc13b2f6c3cfd2b263345346d5e39ffdd63e65d81c57c117433a47a4dccfea1af483168c5a8fa260844d810abafbdeaf18e994375dc54a7d6c64b8a394d343d79f315dfd2b4e6c1cfc2144f172cc94e09608847d9102854e18f53567d64466b9b2a73bdf5d7bedde274fb08779b24e348d91378b35e5043aacab7efb6ab3035ccdaba8a086349b48fea707c25651e64a337d85a17dfc5bf63ca18e70db72363e08bbb122ca2bba6ecd51fa21e2dcca2060b249a24e86b5de37a53d0be8988dd3d226475ae7ecb19c440a9f7a71fc397822adce715524333bbf825bf65c8273b028742dd843b8063b9fe58ca1331cfeb5093dfc45c1bb09b46d204eaccd691c267747b833a6ce1f5efa916886bccfb46ff23103f9bade987089aa6f2be1b2931cd7a441ac44e54df93285ec7d606be2988e3bdfe9094d374de456676dab0ac381c09205f16e629dbb0461fbdb78cfa24ad1942a8909378ab733ab14ace19b0d8d20618a13aa77fb9c24273ac239551", - "result" : "valid" - }, - { - "tcId" : 48, - "comment" : "invalid output size", - "flags" : [ - "SizeTooLarge" - ], - "ikm" : "b9e48330280338d38dc0d52493d0c83c2f705e73", - "salt" : "32aaa81e238e101845eb2698ee271b9bbb832fc5c94f426fb65dbef3fd267dc1", - "info" : "8c5bce0a3200271a", - "size" : 8161, - "okm" : "", - "result" : "invalid" - }, - { - "tcId" : 49, - "comment" : "empty salt", - "flags" : [ - "Normal", - "EmptySalt" - ], - "ikm" : "8e9dfcf668a8b7e22c8d403c35af78324dafeadf", - "salt" : "", - "info" : "b4d6ce377ee98d0e1614e3865354cda02dfeb92010ffbade5d1f7e4329f166995a67415d56221128b04de3e8c49437b9e322986b5fe1256c7f8c81021b99ea96ae", - "size" : 80, - "okm" : "01ed7302f611c098f57fe9ec9b8654974bd707981c2b647753cd586cbdd0d7ea1dbc5c76262fdcbe0c355a965a4287eb86e4c97e60bf0e6be0dc898c997b0e73b2888265e8115073bdc5040365736d73", - "result" : "valid" - } - ] - }, - { - "type" : "HkdfTest", - "keySize" : 256, - "tests" : [ - { - "tcId" : 50, - "comment" : "", - "flags" : [ - "Normal", - "EmptySalt" - ], - "ikm" : "7ef7d4f8c11d940471cf9a3048d66b3b3a3d9db9fed5f81419fe75dd50116f4e", - "salt" : "", - "info" : "", - "size" : 20, - "okm" : "a370de1c822b8eb00645c18e32ad6a1f4bb17c9b", - "result" : "valid" - }, - { - "tcId" : 51, - "comment" : "", - "flags" : [ - "Normal", - "EmptySalt" - ], - "ikm" : "1b6c7d5da045bf8bd4ac3083e8de2b90904bc7f7830bef876e355b74466cef91", - "salt" : "", - "info" : "", - "size" : 42, - "okm" : "50dd5b5adbe96aa216f93c4cbb7d568d5141b3ef7214be885984629b93f07814870db846c3efc8c7db7f", - "result" : "valid" - }, - { - "tcId" : 52, - "comment" : "", - "flags" : [ - "Normal", - "EmptySalt" - ], - "ikm" : "b9da242c02bfe79364aedd7a323692191092edb2094f112675c2609a387c3b21", - "salt" : "", - "info" : "", - "size" : 64, - "okm" : "384c0ded57bf066d6665d88355aff9eab8cbd78c1c71af7b8334cde6536f21223aeddd5a84d278d5d73f5b536973575dd2993a4a857289c3b59861643c464c2c", - "result" : "valid" - }, - { - "tcId" : 53, - "comment" : "", - "flags" : [ - "Normal", - "EmptySalt" - ], - "ikm" : "23624191960916aad7039c8e9dc2ec4e04ac61a233a02ec6045021598123f0cd", - "salt" : "", - "info" : "60dd0d1381a014491b34f0af15e4bebb8f64cbd5", - "size" : 20, - "okm" : "2f94214e5171e40cd7bb601c2fc7fca42c77f227", - "result" : "valid" - }, - { - "tcId" : 54, - "comment" : "", - "flags" : [ - "Normal", - "EmptySalt" - ], - "ikm" : "ad75f83c7fef898ab33a429af351c10caaf39ef27b161a6806d34f1f4f8be229", - "salt" : "", - "info" : "69546d578a213b7f2af101c8ef532339324d43ea", - "size" : 42, - "okm" : "b60b7fb09271c6ac0c48d6ccfbc535115075e0060633e5adb502bd964bac2fd120a53be8bfbc9fedc27b", - "result" : "valid" - }, - { - "tcId" : 55, - "comment" : "", - "flags" : [ - "Normal", - "EmptySalt" - ], - "ikm" : "cb55dbea8b91ae1ce0a07b23b1508c2a930560b8fe7255fcc3e37835803661fe", - "salt" : "", - "info" : "b57d6aaedf30bd8e25867059761a02c5d0478f2e", - "size" : 64, - "okm" : "d22014f4f0475223eb87d4d462f29f04a33fe93349fe62ff9d4dce9360e5e22bc0a42746abbf44c22bf472c1f6aa608f3c90c088daae7015fb2f9e5aafa2c9a2", - "result" : "valid" - }, - { - "tcId" : 56, - "comment" : "", - "flags" : [ - "Normal" - ], - "ikm" : "583bb04b870b4b176e58257b67ffa3b8d4e339248fb0c38105673fe7097ce47c", - "salt" : "aef10b993ba2f9c390d429441bd6612f", - "info" : "", - "size" : 20, - "okm" : "fec774eec32c8af7f44b9f60dd778753a5057d75", - "result" : "valid" - }, - { - "tcId" : 57, - "comment" : "", - "flags" : [ - "Normal" - ], - "ikm" : "fd4e56ade648e1cd9d797b0e341700c637b0fa69d64b9088f187107f22dced5c", - "salt" : "d7b1397162d311e603b5214fbea09dd1", - "info" : "", - "size" : 42, - "okm" : "41042aaab89c7f6534737a277565306f90a286a426f5597a6db84bec3f5b0b39a94677d19dec30986b61", - "result" : "valid" - }, - { - "tcId" : 58, - "comment" : "", - "flags" : [ - "Normal" - ], - "ikm" : "9ee52bce034b6c2b86d280a16cd67556de34c38c6fed2166a00f90c13164a435", - "salt" : "56aaaea767cb8a0d5178c94d4761459a", - "info" : "", - "size" : 64, - "okm" : "282fe1ea640e79b5f7f967e510fbf3bde0e20672c5bf284dd7230aaf75b7c82472881ce2a0b89692817be18c41fa38f06de284a489068e9af452326bbc10ee5a", - "result" : "valid" - }, - { - "tcId" : 59, - "comment" : "", - "flags" : [ - "Normal" - ], - "ikm" : "cb785e569837f730a147fd2d4f53f6e297453817eb117270e2d5c286bffa691c", - "salt" : "545a0de785e5820ec65268b63e543c03", - "info" : "63421fe4d31283e2dc3d8d09bbd3f9509bfd7b4b", - "size" : 20, - "okm" : "2a44ad4a5d904eb5ba74a89adb46c19f3f2321b2", - "result" : "valid" - }, - { - "tcId" : 60, - "comment" : "", - "flags" : [ - "Normal" - ], - "ikm" : "101fe3335e827789564e7ef23a2a0401ae336d646ab15ed4b5edce6801f128f0", - "salt" : "317a34d74b046e021493b750d058227d", - "info" : "8f9b9f4bb9ed5ebda37ea28f97aee40d533a56c9", - "size" : 42, - "okm" : "d0927dbd93b0eb6415e3836b47585fbfc49d7d4ea0e4cfa96a4f1195d2156f14141ea700b223d9da9996", - "result" : "valid" - }, - { - "tcId" : 61, - "comment" : "", - "flags" : [ - "Normal" - ], - "ikm" : "62dc1cecc7f444d924e20e9e3cdef183b5120b1f5bf863519826fad284c883d9", - "salt" : "1956ce69bc08e45ce86f5dca57d0723a", - "info" : "0cf3a7823b830f3542ed7e66b47be87c47e6da99", - "size" : 64, - "okm" : "6cc96b84592037ab3fc39b6eef90158cc3235d6475b6ed08fea6cd2f0a4c7610caf4afa2ac95ee0d5c73d612b5801a3900395a84147b749bf60d141d888f45b6", - "result" : "valid" - }, - { - "tcId" : 62, - "comment" : "", - "flags" : [ - "Normal" - ], - "ikm" : "2c1fdbf9a2fe9bfddccfd8edd7235551fb50e642500f29e5425ef7f0e78d3905", - "salt" : "be744780200ed6f2027fae8b64f2de0da992369a19509e590c36f82d81f3", - "info" : "", - "size" : 20, - "okm" : "886881a9286f26d47cd8fa9634ea951df0b1f906", - "result" : "valid" - }, - { - "tcId" : 63, - "comment" : "", - "flags" : [ - "Normal" - ], - "ikm" : "99e1688fbc1d2f2cab80ab95a86b301be9c6d996aac4f13ff7e707487126bb89", - "salt" : "bb869fb1182f74b65154d5e53f45b0fc3a1d8a6eac58eae2c077fb29574c", - "info" : "", - "size" : 42, - "okm" : "100b26ded4ba401c39066019c08758312433b341a35a6803c6913f82ccdfc55d896193511027b29c4aae", - "result" : "valid" - }, - { - "tcId" : 64, - "comment" : "", - "flags" : [ - "Normal" - ], - "ikm" : "d8ba14145c3b749c50e22ff58f552dde9dcbce9fce3c3290ca3a2ca04f3d1eac", - "salt" : "026ae3d9c6b5175426c0cd000b06a8eaa9887941820608602a01cd5fd891", - "info" : "", - "size" : 64, - "okm" : "c9980ae8ec2059d307bc86160e8ddc6bcccc540f72b4665f73cee33cfcdc0f43e7023537cf331ec7fd7784967572bb396823d11f107430943af056e0fdcf8715", - "result" : "valid" - }, - { - "tcId" : 65, - "comment" : "", - "flags" : [ - "Normal" - ], - "ikm" : "3933360960bcbb94262644f81fc832b15eb47834f797577fd9fa6c2110ee22d0", - "salt" : "f29df8b80352ca0c08109e0fcedd4c24dd0547f4f2c67cf51caf3553e7cc", - "info" : "ffbb2b91b560790cef1eb610e013082986b47fdb", - "size" : 20, - "okm" : "15aa7ebe468eea566917d0346dde6dd78ba626da", - "result" : "valid" - }, - { - "tcId" : 66, - "comment" : "", - "flags" : [ - "Normal" - ], - "ikm" : "5ad1ac7eb76fa7cc05a30a6f6236e25d906bb0160cbf5f89350887523cb3f7fe", - "salt" : "91840321a9a3030285df668afec60a46579b7095f3c357bfa3e403eb2080", - "info" : "7da7c7a79c9d94bee3b561e532766f8cb329a11e", - "size" : 42, - "okm" : "117795c01150a56a41584bd27ab42809b8c2fe04bfce60911ee5acaee8a3bd9d45124841a5f92bfd8339", - "result" : "valid" - }, - { - "tcId" : 67, - "comment" : "", - "flags" : [ - "Normal" - ], - "ikm" : "59ee8495dd1744f06cd1009858da52fc81490e1547e0f8b173da0818dcfa0ad3", - "salt" : "31a144d8fd2c31ec7d6fd63de0c70e15149ec0f10595ea2d3e4a7db54826", - "info" : "4d5ca4ab21d09ad04d3c7a71b5c8a8822f1ec808", - "size" : 64, - "okm" : "09969e4d7efda0aa43062013b826f5b9953f1ed62a004e8a1b7b2c9dba7ea629b2f0987c8f7f230a117b49fd470074c1934e51e94e3dff2377b703d9eb533db9", - "result" : "valid" - }, - { - "tcId" : 68, - "comment" : "", - "flags" : [ - "Normal" - ], - "ikm" : "26c100db697f01ab998be43afbc294cdd0554e43ad75a6ce5de4c5fa427760dc", - "salt" : "80169781fc54f9c49e852e49b7246174b7017e02d2ce71bc7ce851b82151688b34ce1f203930e00b7f6e8d56b51b3d33d688fe24dc17a935332ed32372cad575", - "info" : "", - "size" : 42, - "okm" : "374077f9f4e7fadf8336e499302e2ee425887cfdbd05da552d739e4d1a4d2487cc949b8197662edad9bf", - "result" : "valid" - }, - { - "tcId" : 69, - "comment" : "", - "flags" : [ - "Normal" - ], - "ikm" : "5e4c5e300cd1337f3b833ce4d3a0bc13b5a457577e157a94715b041833882fc2", - "salt" : "e365c68a08cc9a36d6044c5e108d784e801da10f66ae266fec614d63c68caf222ba75ac7699befa2e9f303038d0e2d07fe3818fff864068d2b714f1758a5f11d", - "info" : "496eb6088ebcfd20d1611bd18ae36ea8b6a6259e", - "size" : 42, - "okm" : "c176a8a149a593bc9a11f25a0c41ad120ce3a0aa3eb759fbfcee09ade53e4e2992776ffc5a3353a05c4b", - "result" : "valid" - }, - { - "tcId" : 70, - "comment" : "", - "flags" : [ - "Normal" - ], - "ikm" : "974c0ac12b6a9c2b79fed80b1a960c9779b1860fe514ffb251c4ba65ff2dedc2", - "salt" : "32049bc0c7f3189651cbcb45491347f83e0e90db281c3633619516da566b1b62", - "info" : "923e5c930f457af5", - "size" : 32, - "okm" : "5f368f29e213be6d5eb3ba540a95f21714134df999abe0b3ea9aae5ac4708fa6", - "result" : "valid" - }, - { - "tcId" : 71, - "comment" : "", - "flags" : [ - "Normal" - ], - "ikm" : "e937b5e7ece235b337cb4fa9ab8f3a747990684399a1c4bed47b02b3a5e47a7b", - "salt" : "0b079374c35ce1373bf13f2eda25daa8447e70ec737eff8c88b2e024c83e2181", - "info" : "0d723e3bf44be388", - "size" : 56, - "okm" : "327afc3e82b3a1ef3b1d7ad3727c96f30ad19934986b868cc028b17dcdad0035a3ea767403ade0b3410de8568831afdd30f90f5d669e334e", - "result" : "valid" - }, - { - "tcId" : 72, - "comment" : "", - "flags" : [ - "Normal" - ], - "ikm" : "279d9c928e719274379be30bd6feee738f8c53049e99390004b3d9a8745738b8", - "salt" : "9a8080efd34f9d82ae74d750672d2f6d0b055a3af78a4e40888e93466f1641dd", - "info" : "efaf2275a9a729c0", - "size" : 128, - "okm" : "d88cec7b19c6332151244accc7adf1009667abb0dacb358d740ca2101bddc610473bf322674fc50e37650a576e81785002b35fd1be18eca5ebf8ac0bae4f416bf1f00411d8f63d84aa4a2859aa574540e6f24a94acd51bb4b11275602144578b2671df502b2fef6ee21e7a47cc0152e7f24608953287661d10392c6e2dac6351", - "result" : "valid" - }, - { - "tcId" : 73, - "comment" : "maximal output size", - "flags" : [ - "MaximalOutputSize" - ], - "ikm" : "7a53f6a4fecd584bf9a23eae9eb764b7a65d34bf0cf080f6e505eb450a57d839", - "salt" : "f669d51642c7721667cc682d1e425dbf3ee5233a12e406cd1ad1889fc556d117", - "info" : "0bb3ed2cb4dd08e7", - "size" : 8160, - "okm" : "de08a66635e4b8b7cc3d850f8e5d7f861d1f85780b54fde0b77258840092244c486a8d2a9f850ba8786462981779d8e884d57752572f3af9d28fda0b71c5850a2d52f376b349486b53a1da8b66534b4239fc45362d9db3fae87f4278347346542c7d55373c21f161cfbd23a3e9fb864146e2ed311f4ff0e9ac3536e8fc2818f9c87344a57539d48445e19a55a23c12f905d13429dc80d2f91d577014c976623a01e4c75ac6abdd2aca8a4596f8cd349b5e9ac2a1c927801d706e1df6777dabf98d2de6857c44648bd4775466833a17c21eb15247b419dbb9f5e7c46ba51a8d0ca899b0fe4cda569f3a93bd04df77242fe127ce3d6f341508d56529ed7c203fa8a3322b179cb1595d1148d3ac2fa288165bd6d4d30598135edbf1a9b5ae1ebd20aa44f08a376e11a789a61f29c3df194173c142d5e7574f5a698036f82343fe6fc111cb1381861a5590b47227a2124893d03e4879f1f137be5e097b59bc84489a966a6b1e7c6dc3d3352837fea067380d542e18825c98f503a61f6700f5fe4d16e861ea64f1bcdbb69b8013d9e070d2d70fd345a9c71e7d9c997f5ab443e92e178e613d8b8213efc34376adc69099a62773840f653efdd3ac17a490601a4b99c56f755de45415117373e6f408fbb985c4ab10a8f392678ddc3fb6deea5cb147a9ffbef8656d76ccf6764cb088ec84193e6972caa027ecba9fd532c632896786fb1c87115e4e479bceec24f92bac0ec68a9403e90fbb5994b788ad02d1cc6d8e4bb53230988b18f3c1a146b04ae6dfb4f773e1a8469ca11d7558f7b496cc42b417c7a0c8a4349c43184744ba4169d93e86c416cc892dd5de21e10c60f0d475afac2eb6dbbdb92ab30b8becffb9354aea4c8e9a98c57787a424677f34d9fb606829636dbb10326c8a42c49e83b4cacb00ffcfa24a5b775039c82c15ddd7f88d469eecf382fb1e01984abb8d23321f26da82ae70192ae2e43ad4317931f2298cbac224568306cd996c5f8396e3692e4e146c0cf0e0996917c54e3aa69472b35b4078801dccea9696f530df4b246481fbb9e27e535a5ef0dff5f571aec4ce8c80e3adf3e7adb4705104f71b112254eefb6d8daacf5a50895524707ab4683386a7d3cd971204a5300615d0ef5434e47f72ee2d9294d301dff26bff52963c2bb8202a49e84f193b0cc32ceab0dbb0c0d63fb784229a0d679b786c8c1f8d72072961cd4d43a9cc30e5d18af9d7ae0aa360eb24a4bee441f8427278ae6e12fe612743a03013f7082ea6818eb633e863ab4c6cf3830b24e2fc283861ef7347a822c691c8a523a1a107288c8438de427512ae8b5923fe0ba7a1ac98279b0ed27c6bcd26f7d86be9ecfe77e8511a40069f0fe043f7b4d4ec6f5dea3e8946cc03fcd0f87a23be713a07c4e7729207e041eee0c807c1cdc3567da5889e2b9b7e653d3a14d11e16099f626252c4faf01a2fc797ddcfc5a72ecd1fae98ff71ae6c2ab31bdf2fc8f7a594f70df384178040d3cb902543960c1f37cf311375ae412fea507179b6f47dadfc1ad3e1edeb9166e22f159dc0d4bf8f50f86962d15fcf1559ac656e8ba90de1c5ca890a501d5a6e364a4f156894da2a6c44d431ac7284d1ae594f1b93d775615e11f2b9c3477ba4f35922fa17f5bcc4734e23c26018842c0203546d6a400a41fa0bcfa6b97dea5a819e19b1b99f9ab6f31fe3e46488c8b9f57e32048287f6c5f8e6158a214f6de5deec81814d993ffc277091be8fca50a532657bc4e96d184e8de8ebaf4f231afd4a3350d9338c40d7c9e5e2c981b5d95ff87c34142b989bef83e38361049ce4c31f74e4aaff2771ce632cb97d5eb23e1685cf97dd240e6f5cd48c98d059cf89f74f33475ff545ca88bba6c06c649c6593c497ed10b077c6f3001f11e3bd7733122a05a9b7a84740e5e1083e25b383e3ad5628c2e5bd44a9e0ef998d2f7e0c813068eb599e6ce8c6c6a1d96dd2d8ee8fc8a1f20f938157135109258ec41a6b4e42dfaa7c779202ec235350bacc96df95ed0f817e955566cd39056ed5a4e6851aed87c44eaa1d28f730e3473937b856f0b240dfc86b29e3629da53cf61a0ca2150d242bfb1bf48066d3d172bbdfc78a0f2bfbbc3a05399371ab9a3af83a247ee5f9e86697af232b4138d0786dec954e953501be7f5316f832922ae88af2627cdad1f5bf8f9d46f0a328ac5d093e30ef95a69a684841b879788a37fb26f361984a409b49a40b23c8711730eebc124471fd0319883d58f6efb45b6a432b9b25937e6d1149ae8e13fbceaee2a6724e44f12844c9e2135dfb1a78502dc965ccd4cf0c269cadc2b698c3e7ca8275bf2d19297f7ddc3636800f423672b3a6c5b2f5cdedd86535e14149ea2ea98d53b1c39de908bd8b420bc4a6a53ca03be73e3a724f96bd71388c09798bba425c1a2b148d804fff384610865bf30c2624b356ed14522cb159d7178971d00a660f0b1fb59f0197762c4ef102f1f2a7b043507071d1695055bf1fcf4cee16ada8bf14fd4e05112f51d3cc6f71b1b2edea7dc1d5419de5413498ef0660cf61f624ec9a46b03d3800ad6bdb39fdfbe88f605eec119b04a2de73e4e7a95b6bd09834e01af207e281fa1412b3b98054456a1b165818540c52a25144918ac2667712266a5abe1841a576dc536d1a077e08e532537ac468c359d8c7b58c0896e9d5a56c44f6bafcc74b21544eb97f146a89eb4ec5254258b7bbcb8ca5b59df8b83f977079235b4e2de832579fca627ca9cd6e87d0e1404f678497fb0c128f4d5d38a8f7aeed2b360f354cbaf674ed922786bdb56062bf65d70e424721146cb2ad33eb79c29b95944b24b0d0da3eaf2589220d4d6f5a9d903bc16be3d3b6d99ee02f8a3934243275f2bccf9b31a0712d3c5dc919179ab23d8686b02aa44be94b88e769a7dd3a4a0f4adb5ef989ec539bddced4f76e3903d25c7097d7b051d8756d543b168b1467876a3350dabe3fe5e9e7354808867ff64b4d56ff858250f6db13bdf923e389ae36c15a800971ce37c883145139f7fdcd73d0a5a961df5a36e1c704bd5f1901fd9c535fbcb3abaf0cfdc59a8df79d7f36cbac5373beb809a39fc417ed25c162dbb57ce76959a027c0f563e192d6fbdf6935a200d7530012c7af46e5b7ddb54c2520282e4652f630aa4b8a226cada5f907c855e6bb60aee10b1cb3084d4a7ef130f8dfd53ee82277c80f9297adc9e323d3163b08af26b522c4632ecb273a7495aa287f580b11705e89db1163468f00493f2bb8f64afc9e19bd06bc7673b938ec41aebf996395b196f58d48af276a0bf38b44f7f687c1348bd3eb1dd7d001486d097df14ef897edf1f6f4c65eab25640fbe963890324138ef06dbd09129cc2022d3df3aaab83d3dbb129baa12edbd40ba678773fa1e7d16206f682b7953930596596d50f5bf6ab0c775d14211befa08bca58c009e36559e83e4e522af10e100a92dc97757db570a737ca0fa67c2bfeb348e8fa4c0fa93bb6160e7a19ccbfbee57c4b6d7361a1cdbda20d8a4e50bd93da79eeed5ee7fe2a2d0e2c15c4c93dcae100e7a9798d2e1600e4580e0e1fa01dbefd01d091567a341ec3a45b119feed5e264d76d5c2848e393d6357a9bdb7c90063cc5eb5ae7033962e5fe7a09101f54338b19efaa86f127d658c2b567e9b20a819777e39d31db1b1e4de9f9d67887daff6fcad746b94b6ffd46be98720a2e3f0478de44341cfbfa6927ca4c58255b265a012f7693befbfa9643fb80681e055ea0a1e410d337c0947e944cc343801d75db77c48b268c8bf849661ec40906891a00ed1f9a12fdc4e84d31a74fe79cf105ba82b465bc42cdd48a9ab2b3c94ece211495298d3baaa8f767d9ebcae57c5771c985bcc26bd37fa30b70d3a8667b95f85eea5c9768d31af5db58915670548547630df6bd374a7fe1e99c99ee315cc41c0cd6487ce895abba3f6e18ae0bfd8e3656d616500de0fe5a76c9003644919d4366db5f09fd0747a666bd8ed0e68a039a3742817c14db4ec5033fff77723e612edea6306285d61dedc91049f52bf153727bd549c82ece5be6f29d0755d85d13ddbb84e25660acdf01199d93503b946f96625aea64b17c2e09343df30c392d843de18688e3b3b4f1e95a580433bedb86f0f2436f0f26b58e821e215aacbe91764d9af7470e607bce205fd44740466915b61ba04cfb517e3b12dc5b51d4ca629af0cf5dcc2405af85f75933812e2f965cbbd0d1d2dfc5d9f997eb6469ad6e13efe7dfe27b050d583dbe4fc067df79c48d86ee77355f6f354259249acc8b1a61ee52ada3ac195f7be598c04e7e09157f7bc948d49744781695caa1393784266eaab383a536fef684ac6b840c59f1c631449e69f35d44b62b7ee54a1acd8cd516a2dcb4c3b20a6042f131b1eff092208abadc03cb8ecfe2394ab947dc9f5510db72611ac1b72624d6159775d76014b61deb772f694d91a5d1ee0234cda47e9614214413e014b6c3c3f15739ad297302d89d112c5ce157d7cd64eda4b7bb0d93f67e6434d554a44f92608060d4b7a65cbde1cd30a04732e463ba79e65d545e1187f06cb82a1f344499e5c6a507c7ea1cea0df2eb08fe8779da504867dff0f1abfcde6fc3852205afe540b3b35f7245ede3422200ddcc4fde641415acf85ea14b7485fc255f3f927a7eea0101954d3d75952f2c4afd14eebf39730061ec78978788f11534cbe852b902d91ceaa790319fe1cfc8b05b31e8022f81c22a772e59ccdf73cb0fe2ad82b8e359d1e7ff4bc5c87d1b156f469b28202aca02aa26202d44b342f79f9359b5d6dcd6a961be7dc80828650e03fafdafefb13f7d8c7a5a235421936e74bd95734d6e6e981a55a7829bb7e40fc56da187a04976a04f839896f95a7b45e5e19116a70b0cbbbfa85ff6d8fd847fe7a44115a237cca0920807c353f0b53b88007b4d65bcfd1fe6033871edb4b47ec55028303bfdb53145af9dcca24d96da302e26f0c210b6401d8fa59177ea645b04d9f761898fada0d24a2ccf041c6370258642a4213b027e7743d7c5efce76ba3e8674836218607643564210071f253ffd39e174b7cb3e6c6ba40373cd08983ca2a606961e2482dc3a35959af551df411717be1e312cb46dab75e17b612f7893ef2d269afc3090580539984d35f18a692750fd05de178ea55e315384a2c12f7a95940948f5d8c96f8dc4e5384620cdfb6a24411f4fc3e9be7bf8f20a57c6f7df20036202c90d1a1d0e369038ca1d24369eeb067195fbef6512b98bcb0a19188b08b0e02515486a44492578792e79646cee13b03171a93bcb883ee47807069b5c430d7463b25e797863780d8fd32131a2b199cf527fd341c5d9825caed72071f0361054e72c061ddac442a587eaad61bc0c63699f8c31b1f519c3432a46e8ac59308917c6a49cc3ba71c67a861971b86623c6d3fb6fbac81d75954f52ebfea3841c2fc6a75d96b5aeef4bd2becf513934d286d5bef9551fa7bd58df2fa40a80c26a9f5cf68ae2d4ecccd1c95819918ac4707dfcbf7bd8ebb1f3994036693b7388fc3b242fbcf1b25bcfea3ee491c8c26ee85c8306eaa3961aadf8e9fc970175bd457fc081d422e662c8c59d09dd545fa596f38af8af1211168b5e80746a98b31f6177dbfd9c0cc4231bb792d442ff24022482ba211913eb1aa18426efdb26d491256d7bcb0ca56c5f329d08e665360feea602493dedeb5977668129655d4767c545a7d5f8cc6f83d1a47afa3fc879b57649c2391e1bf2940e106b04cb3787f46262668a86d0cbd99ef0cfbec688af371278d78a4e03d60b69245ebaa1e3c4440c3a8a188970d8dc3c1162e89bac3fe3ac3530ec204a4fe9194390632224f60e3b9f13c970c5f3e594a803939c777fb325a1506f19b25b7e801d2d16facf8a14331ccc2aebaaa6db6883cc1748cfb58f5507e0c58405339fdd8b6f3f4efb1916c1da2068ffbbe83736e4c85733505a9d42af9361ddabb1ad583aaa7fe408ef5f58db84472578197ee3c21a2e88c6244b75b6cf63de32bf85aafc52a017ef7afe4ebe16f54cad4edfd5f2d81dcc10f66d715a2da8057e758c9f5fa1f679c66c0b3a38d16ca2e71756271ef22ce94d89c09ff6e000c35983a1446c5f050c3a76c4f88adc9dd098f2171d3abb39e32c7ed6ae9f1d852013f7df6acd531f93a4e276541f4cd426847b70ff4417b28aab73aec4582fd1f1100ea8402faa4337c80116211680c2d543bb50037c3b9a7186ca91e8406f30c5c6025d83a17a2361ea4dd012692306293b274781626f486cf10e37aa16fae99a1042ec2c4abe227bdaa8e7968553d5b333c250b905b34cd8c392dbe13288db956f5673caa7deeb18693e55570a987b48fb24a0e3968db7392b9f6b9ab3c8a9a50bc28a688efc0ac8b924b5405ccdcdb0a20e3f6011eedd0231d31c05324ecf93dde5045eb938f0a9ea393abc921c8ce87935eb6046a59ce6a2954824f50be8edc3f79342d640de18ead692155ce83c6875685906a5d14569bc93c690bec21cfd7e4cd611f1b84fe2a49596ba68369bee309bd30cf2e95c8077212fdbc9d864e3bee732b85d347d5da1b296e9a4db9d4224d4def69f0061e99d5fd3c4d433c7a6bd89ed4d0d867ceb940b30b472d1ee02c3f0e43bc12d16e1fb954fb64520da5d4eace8119235960bbb09082141c46ad9c8cdd1f759f757efe92dadffea02b62e359a4573193c55c9c45b4c02f19ebbcb03210a901c06dac494be39331afaf86a32c8dc4bf9780b14a4551dd799d3ef5efc775dd41ac3aa5960c1aaccf635f4601a32679a9908009a07e045ec4c9b13ca164d631dfd8cda401e80159805ba6bb2531578e628b0ff0dd86accc3b7c444f4ee2010091b2d5a8f049da556d7536cfe572fd3a79db2fd8d3e2ece9bdb9deb7b01a2783ef92cc8c5a1c6a2e722dd5b80622c2761c92bc4b2c85c8cc9d881dbf71975376eaf34e51cc26c55719a2c05e266300b042f783800622a93e3c1734435f507c15bec78123370c5ca0db7b59af5a9f3d1bdd9592b4de8a67226364678c656ba9f95ccdb3e7dc4793c1518665aec95ba1e62cd5e8ca8af74855624c3ab71019508d25bd10872dd20d286251fc31feb2f5cc2553bc1592874ec7e321268ff3b9b836c0c4fa7d2d0ea9a7a55a8454e04878510dbb65219d98a7ecccdb2564a513ea57af1c3956d9051d9e71ce973bcf43876646f1bb164b4119fec2234e41cc88dd910784cfc671b4ae3c110b7d937a6645f47307fe4dd87861b26648dd55297567a4619de45e22eb49fcbf21bae38559b889aaa105e21683947d92afd979a2f087cdfd79524964a6af389375ec392e43b82152212cacaefd9add96b754983c33aeb7e156b6b45d45a7830e36bcda9322c27b4442c9d454030bf4ce57a3d797ff4e23bfb5274c3171f1b4dd5cb28036519e681ddf0c22025fedc77f80877b503f95fa732e30f6311c3a06c2298d68f3470ee1c8eb752266f992ad3ab6299a53d0467d4f113f6d8e6ac6dcb54d3bcca46893ff171929d1ff94e4331cbaefef56351194cd023cab8a33a2188c76dd82c3ccc946c1851f7276e546da9b37c586324b4e8a1bdb3a694153e0baba3a616a70326132a54c452f525b46617a93c3d63bbdcc6d969cf82e57f180e5c818c435b2dc23dbdfe154a3088707e740a3997909d7eda37508823f67421d5f89d03e2e9b8cc953797ce1ec04097f88ec9f3f747ae7859d8858a4939480279a7c0b3a9ac2c18b7076ba1436061545161cd52bf8e46754ac080e4431255b54b8d5e72e19813aecd5ca0fa01a1ce2a3048e2a89ffa1db9f3cb946af3edb925dd7326409383eabb14a1d3ba5579d7c9f6371154bd31ddcef335fad9dc0ff2321d7e5fe97deb6e7e98a9bc458ac547fc1d473bcb8b5e868e929dc931beccf625af0dffd0ffaee633edcf723e89eafff216307c8475f7d29b58224227d3b22e7762c53c6025f272d9aed6cccc4a6159b9e53d627d329532a4e47263e81f664bde69ff8829927ccff6ef33089a67e1a3a55f0d1b9a4f24d1c8bf162ea3c877604fbdcde3b42866c5f8e723c3365b073e5f1d09ff114e4e02c48d3c59c40d14452e982a25ac564a582c5b62cb395c91f7192639216f5a9ae95d4a10e32bd4962c735149731c32bf70dbbbfa13db6dcbb856b9dbee16959348c2c8b4fc0e2b8825a7cd6f0fbd97777cf33fdf4b67f4626f78fa6cbb491c6d35c926788f4298af16b853599075a3bb45834eca245b765f900a49c74c6c5f6a38c9a46be84ad1913ee5302fa73744f8eb3ce03c8daa4936418070623b4162132e249f2c2d0f5555768ce8516b9641bffe0da1bd73a340e30e8bb1356818b78f130778f5dd19ed62f6c1f0bdffd99356b78b00bf04fa0263c61cceb493a83a2b008ef843ed3db4ed75fe0d15235937b5ea54c0e47ce6301b6f287c7ab2565ce2b6d430c720ea9a6cfa89712c33507c9278898316d228d66524079ae3d1dd49992ba8661cc825054776afe80827fd0c3e26da794270a40107a5ef55eec5fefaa5107a6bfd21b6be4dcb3450a182efe99efe2b43380f153f46396cd00479d7b941859139f4e8134ffac790ad74e3240719212a1d8dce4fdd9e325410bffa8444224065fa48549257fca034b1c363b9eba70e1b9b43f80f5ec82d57f9f6fc32c7f24e90f3217195a95e6f400e5b0751acd23f8a7bf909d11439b294fd52156801cca8c058b3c4d45d3e41f69ef6a36f0158b9147891ad8fa6624c7389b1f059eda76b269bd97b3954903879415c30bc983ef12694032ea48625490b0d3aef39f851c0385032d5721c516490139e06dbb3706798873faf0061580a5226dc9f579dcdd5b4b0a031415a584e3aadd6237e6d0f63e04a85805172189341646b6ff85c4446c081801403bf4df59f2613c8494ea3169b1251d9ff41e75b2cb99de1be96d3d9bd9b949fa9e38ad942884d51cbeb97956f4c5b79e14665ce16074fd2b1cba6dbee469c0a53cd05927b66db97d9c6f5ea20bc7205b8d70180693b6a6c756f3d8750ca5d8a427c546141bb456cd251b0836fc8dc99041592cf9b848054b7d83aa17319767ee6d35387842880e4e4cf73c254917807e3c42f7ee0d67d4ed4320cb71aa285e9df38940fc982f91b98021d7ee39109b70d57b16459399ce6bbc72889d84bb237de1698b9408e5c08f38278f1dc0af9d28d36282e73a46b974554d886a98dd94498421870f5955babbdeb60fc20e8d58a71e6e27ddcd2dd6c75aec698d16d5bbde5f785e9ad340dfa0d893e719fdf587c37ffddf16652e869c07becb20d7f76c08c581627c89ebea0271a260a92188aeb0bd825ce801e56afc14a580de40569adef6c8ad8dd798c5cde1e412c374169b22c06c369d241f16a26cba97e89a50696a16a252d00eaad3eea66f96df0d1a883482e767516576fecc1a56d3079da844c15a17fb22262f0f936edf8e2700390b417841ba9a1ee11418eec08059ede8e94605efd9b226b17abd12baab558a680db9dacbe21dbd8645b315f93a7cea5df94ac8290f793864c1b5a46103f9c4bbaaba1f928a092a43f0c2d0583ae3b9ee18c45b25de4ac99ee8a076bd34cb9aab1353612ff28ade6b99755bc2e9beb185fd643db91320695f2f1fa0f72539d91d569d3de9fc3a17f8708db01b2d2984572470cf6046fb3f469699fcd620d1dcda79311f5595444e4d29f263dd2683bac35ad43deee9e382ab45b28ac7ab804fa5998f92f4c50ee9a831a62e64df45d6bff35ed9f1ce1309fb2b1e69dbe77a367a59133f50604afaab0115bf0357c8f96127b7a2229c785f81c7830ba169c3c83de6afad843f0d0b516578855036bdec30985d92994ff79b5ee2a5e2b28b0b150769f4d0e1c8ff1f35f734ac6e29c4155dfc6dff84d6f0136339df5e18dbeeb25048e6aa4955683c96dd6dee3c0ba2495eeae26a62194bb49834425a27e85176bd7e6188ee2127ab7a9ff9d469691b1b2c78e38d7c5d02a6fefc0e2e104950c86cc5af520d5e7ae5a2a170c18cd0d6c25b72e6c3e8b6ed49a5c49ad98b532194752298bff73909d80c6ce3eeb7cc39321050f8c41e659f83c2fe6c7bca0ca74f329bcf55a1ebc1a4a5b16feeb7bc431dfe75f136a5ab3cad298b7f6c1e8fc2a879c2a07976ba1a7bd1e67d69035db93ab6ae6555425a5202b6e2860a131568f225b0aaa8e61f1b3ec1df2cba72951e284faa37c2c5ba2cf6377ebcf47f38f1b8ce4557e6fa6484aef6c65204828b585e977161f3eac4ad6da1a62eef6d3f1bf151edecb4b4a02916945b7be0a3bc906810ca24c4cccb08f4c40c9aa23fa42508efee2f13b92dc522f73badf449a336c43a7bdf9c6aafc1e4be8988df44e0c15304a929d5d4d2b8da5da38755211403f8e75ba472b5fa369a724cd9c7acd4ee4f3c43e4a4eee868477fe4fba1d98dd071606d29c456e314bd8316c35882cca8d978cead72fedb0894d21f721d84a722d3380f9f67dd52210c542c4859de59d5476e624b3ed13192337dfc74284bb0b1372e39196f7a7ea1a1d60189a117f769cae27e1ddd8dd7f5539d14d0112a08983a0a2ef4a1d1d09a5bfea7a57fabad279e37c4e87f099267a58a9d5dafe7bf6699bb7de5a944adcbc4289713601fb29b4de09f1b45a1618db019b2c18e0f6b613bb9ef1ae62520249c28d5857e8a7726feaa23aa9c59d2d74f352cfa346cd7719e19a44283588e23169b0c430a2dbdcfc6fa441824cdba3986ac1ed9655d7ae2ea817d88cc9f08b3b9d37068c67a527ed35e19a596f92510fbd32843430d4a0a667e0c37b7ef99f0cd997297baabd1058cbc74b538e6365a78ae85f1c5254e4bfc8e9e49ed82bc11fcc4a275aa7938a644ae82c95cf5276d873bb044a60fb80566aed859815fee4ca21d8721d86dc927b956312b0305cee0d1bbaddd0e632c18d7dd76485460f0c1546e88cd22fb1a49f100bbc7743fba2955145ad0d720e43b7be769d745fcd05930f244bec9a32a0440b5499ed7d01d1d64b15e3e42b36d719ecf47e94c01a80374a71dc183959febab5385ffe632568701035b5c7626bf29cb1573303e3d69b25d95d3785d52b9e76b970c880706754d469a7aad7602b358ecb1f1d6a7f361d1ab8fe24acf0a5bbfad4ad7195f0e49ce609296304d93a02c4e5d9038abc8fb41010146cdb5aaeb77bd367eeb1aa7e6649a9bd9b615699a42777b668de4cdf1bc6aa8496a2f39cce0d2926acecd87d41875ef37706d2a2f2dd265802b7237404fd85e498213949c20665826e1306aab2314449a476e4f83dc6f0d3b7b05a0b5c475d84abefbe136f36edff1f1b373e2e6ec2a0b6f32972de132e90c03c71cf6045a1707fa9442e82f5a1d87202314740e86e2d3657c83321385218c6d538442a59aa1181751b9a0fa3380de1083a90247a5f15fb8c58ad784dfa1baddb273ad066f2fb65717692b350b4e577d574965da8296b46b6af90073d664f5c8cfebb7d8b3859c4f74bdd9d0f6aa301cab0493a374332f9f8265492d7e0a33977fa408eaf0", - "result" : "valid" - }, - { - "tcId" : 74, - "comment" : "invalid output size", - "flags" : [ - "SizeTooLarge" - ], - "ikm" : "ec106ebf89b6f25180d59b38861f2ad71b68957dc19098dbccffe888b67eebe6", - "salt" : "b1d1b4ab7025f412dd46fedd0b9ae1c82d45796f1d9ec7ed9ae2c5c6cf9adad8", - "info" : "37f1b3e4f615a76f", - "size" : 8161, - "okm" : "", - "result" : "invalid" - }, - { - "tcId" : 75, - "comment" : "empty salt", - "flags" : [ - "Normal", - "EmptySalt" - ], - "ikm" : "d2ee6859f3e52e456f4b0e19252f3ba453102fb4de685b9823a652acb2f87039", - "salt" : "", - "info" : "086e8dc0aa05538926dc74e89857232aa7d1fdc3f6ca29dddaba48dd682bcf1cfe08700e2a5a7102d01e57a93bca2668dee95339d5db6b6a2e7e5fa66667b8d5b8", - "size" : 80, - "okm" : "9270c8f7b8c979c7f537ff820b08ab3b757266a00679070380bba554e30e843710551cf5ae38d6d692749a425b85b4c2fa674ab37e3936feb6089afd60c80d5f2cba1ff9257519a40d2e181ce920d370", - "result" : "valid" - }, - { - "tcId" : 76, - "comment" : "output collision for different salts", - "flags" : [ - "OutputCollision", - "EmptySalt" - ], - "ikm" : "3ee1fc0d8fac49d494c4a1b8cf6bf290a4a2c19a27c3ab1914d0d21c841577e0", - "salt" : "", - "info" : "4dc991623624fadef207587e42776cf3e0fdf4e5", - "size" : 32, - "okm" : "f41f703259063d401de67cea9192038ddddc71ede5cdb383aad71894c1a39e8c", - "result" : "valid" - }, - { - "tcId" : 77, - "comment" : "output collision for different salts", - "flags" : [ - "OutputCollision" - ], - "ikm" : "3ee1fc0d8fac49d494c4a1b8cf6bf290a4a2c19a27c3ab1914d0d21c841577e0", - "salt" : "0000000000000000000000000000000000000000000000000000000000000000", - "info" : "4dc991623624fadef207587e42776cf3e0fdf4e5", - "size" : 32, - "okm" : "f41f703259063d401de67cea9192038ddddc71ede5cdb383aad71894c1a39e8c", - "result" : "valid" - }, - { - "tcId" : 78, - "comment" : "a salt longer than the block size of the hash is equivalent to the hash of the salt", - "flags" : [ - "OutputCollision" - ], - "ikm" : "3ee1fc0d8fac49d494c4a1b8cf6bf290a4a2c19a27c3ab1914d0d21c841577e0", - "salt" : "888815e19321fa618f0ce9800b7c2f6d289ed32c23d9816cc8bb36966bbe413e24db80612bd48c8fd8e791732aed62288c3bf97d7c881b8d80dd48fa31b6f5d0cb", - "info" : "4dc991623624fadef207587e42776cf3e0fdf4e5", - "size" : 32, - "okm" : "52a1d834f372578ccc7b57e9149f4c45f98ff754dbdec0bb3a8f931bd14e4bb1", - "result" : "valid" - }, - { - "tcId" : 79, - "comment" : "a salt longer than the block size of the hash is equivalent to the hash of the salt", - "flags" : [ - "OutputCollision" - ], - "ikm" : "3ee1fc0d8fac49d494c4a1b8cf6bf290a4a2c19a27c3ab1914d0d21c841577e0", - "salt" : "508c49c8298f899aa4f3a956dfe08a58f24944d8366d280f51d11e81136e4ecc", - "info" : "4dc991623624fadef207587e42776cf3e0fdf4e5", - "size" : 32, - "okm" : "52a1d834f372578ccc7b57e9149f4c45f98ff754dbdec0bb3a8f931bd14e4bb1", - "result" : "valid" - }, - { - "tcId" : 80, - "comment" : "a salt shorter than the block size is padded with zeros.", - "flags" : [ - "OutputCollision" - ], - "ikm" : "3ee1fc0d8fac49d494c4a1b8cf6bf290a4a2c19a27c3ab1914d0d21c841577e0", - "salt" : "9962310f7e8c4300", - "info" : "4dc991623624fadef207587e42776cf3e0fdf4e5", - "size" : 32, - "okm" : "909e3925c51ea4b543e30cca4f184452f494b8f20b99f36496e1c8110b48949c", - "result" : "valid" - }, - { - "tcId" : 81, - "comment" : "a salt shorter than the block size is padded with zeros.", - "flags" : [ - "OutputCollision" - ], - "ikm" : "3ee1fc0d8fac49d494c4a1b8cf6bf290a4a2c19a27c3ab1914d0d21c841577e0", - "salt" : "9962310f7e8c43000000000000000000", - "info" : "4dc991623624fadef207587e42776cf3e0fdf4e5", - "size" : 32, - "okm" : "909e3925c51ea4b543e30cca4f184452f494b8f20b99f36496e1c8110b48949c", - "result" : "valid" - }, - { - "tcId" : 82, - "comment" : "a salt shorter than the block size is padded with zeros.", - "flags" : [ - "OutputCollision" - ], - "ikm" : "3ee1fc0d8fac49d494c4a1b8cf6bf290a4a2c19a27c3ab1914d0d21c841577e0", - "salt" : "9962310f7e8c430000000000000000000000000000000000", - "info" : "4dc991623624fadef207587e42776cf3e0fdf4e5", - "size" : 32, - "okm" : "909e3925c51ea4b543e30cca4f184452f494b8f20b99f36496e1c8110b48949c", - "result" : "valid" - }, - { - "tcId" : 83, - "comment" : "a salt shorter than the block size is padded with zeros.", - "flags" : [ - "OutputCollision" - ], - "ikm" : "3ee1fc0d8fac49d494c4a1b8cf6bf290a4a2c19a27c3ab1914d0d21c841577e0", - "salt" : "9962310f7e8c4300000000000000000000000000000000000000000000000000", - "info" : "4dc991623624fadef207587e42776cf3e0fdf4e5", - "size" : 32, - "okm" : "909e3925c51ea4b543e30cca4f184452f494b8f20b99f36496e1c8110b48949c", - "result" : "valid" - }, - { - "tcId" : 84, - "comment" : "a salt shorter than the block size is padded with zeros.", - "flags" : [ - "OutputCollision" - ], - "ikm" : "3ee1fc0d8fac49d494c4a1b8cf6bf290a4a2c19a27c3ab1914d0d21c841577e0", - "salt" : "9962310f7e8c43000000000000000000000000000000000000000000000000000000000000000000", - "info" : "4dc991623624fadef207587e42776cf3e0fdf4e5", - "size" : 32, - "okm" : "909e3925c51ea4b543e30cca4f184452f494b8f20b99f36496e1c8110b48949c", - "result" : "valid" - }, - { - "tcId" : 85, - "comment" : "a salt shorter than the block size is padded with zeros.", - "flags" : [ - "OutputCollision" - ], - "ikm" : "3ee1fc0d8fac49d494c4a1b8cf6bf290a4a2c19a27c3ab1914d0d21c841577e0", - "salt" : "9962310f7e8c430000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "info" : "4dc991623624fadef207587e42776cf3e0fdf4e5", - "size" : 32, - "okm" : "909e3925c51ea4b543e30cca4f184452f494b8f20b99f36496e1c8110b48949c", - "result" : "valid" - }, - { - "tcId" : 86, - "comment" : "a salt shorter than the block size is padded with zeros.", - "flags" : [ - "OutputCollision" - ], - "ikm" : "3ee1fc0d8fac49d494c4a1b8cf6bf290a4a2c19a27c3ab1914d0d21c841577e0", - "salt" : "9962310f7e8c4300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "info" : "4dc991623624fadef207587e42776cf3e0fdf4e5", - "size" : 32, - "okm" : "909e3925c51ea4b543e30cca4f184452f494b8f20b99f36496e1c8110b48949c", - "result" : "valid" - } - ] - } - ] -} diff --git a/src/test/vectors/hkdf_sha384_test.json b/src/test/vectors/hkdf_sha384_test.json deleted file mode 100644 index 2b2d107..0000000 --- a/src/test/vectors/hkdf_sha384_test.json +++ /dev/null @@ -1,1160 +0,0 @@ -{ - "algorithm" : "HKDF-SHA-384", - "schema" : "hkdf_test_schema.json", - "generatorVersion" : "0.9", - "numberOfTests" : 83, - "header" : [ - "Test vector of type HkdfTest are intended for the verification of HKDF." - ], - "notes" : { - "EmptySalt" : { - "bugType" : "FUNCTIONALITY", - "description" : "An empty salt is a valid input for HKDF. It is equivalent to a salt with n zero bytes, where n is the size of the underlying hash function." - }, - "MaximalOutputSize" : { - "bugType" : "EDGE_CASE", - "description" : "The test vector contains an output with maximal output size." - }, - "Normal" : { - "bugType" : "BASIC", - "description" : "The test vector contains a pseudorandomly generated, valid test case. Implementations are expected to pass this test." - }, - "OutputCollision" : { - "bugType" : "FUNCTIONALITY", - "description" : "HKDF can generate identical output for distinct inputs. This happens because the underlying HMAC extends or hashes some inputs. This test vector contains some HKDF inputs that gives the same output as some other test vector.", - "effect" : "HKDF should not be used with variable length user defined salt." - }, - "SizeTooLarge" : { - "bugType" : "MISSING_STEP", - "description" : "The output size of HKDF is limited to 255*size of the hash digest.", - "effect" : "Computing outputs with a size larger than the limit allows to find colliding outputs." - } - }, - "testGroups" : [ - { - "type" : "HkdfTest", - "keySize" : 128, - "tests" : [ - { - "tcId" : 1, - "comment" : "", - "flags" : [ - "Normal", - "EmptySalt" - ], - "ikm" : "24aeff2645e3e0f5494a9a102778c43a", - "salt" : "", - "info" : "", - "size" : 20, - "okm" : "4b7045423d9156424b0b85d95a7d602fba3924b1", - "result" : "valid" - }, - { - "tcId" : 2, - "comment" : "", - "flags" : [ - "Normal", - "EmptySalt" - ], - "ikm" : "a23632e18ec76b59b1c87008da3f8a7e", - "salt" : "", - "info" : "", - "size" : 42, - "okm" : "46cddd93b528a7b2df07a3d21e809d8980e1bf8faebfa48199779626ddbe925781ce9fc8de6b27eaeec7", - "result" : "valid" - }, - { - "tcId" : 3, - "comment" : "", - "flags" : [ - "Normal", - "EmptySalt" - ], - "ikm" : "a4748031a14d3e6aafe42aa20c568f5f", - "salt" : "", - "info" : "", - "size" : 64, - "okm" : "61c0d2797276f1b789397e5a4be75c961a77bdbad4cca2bd9a4160cb85fafb1b32f95d610c58766f29769d0c68b0bcfb15916d49b72e52ad2f3e7315618175d3", - "result" : "valid" - }, - { - "tcId" : 4, - "comment" : "", - "flags" : [ - "Normal", - "EmptySalt" - ], - "ikm" : "06eb26f8ccf28580c8f28d5b4dc47a49", - "salt" : "", - "info" : "d5f081e81e8cf9ded199f3ae43c80a2dfe3d9cf2", - "size" : 20, - "okm" : "ac2b3c7b3a3538d5a471a03849208437e0c2201a", - "result" : "valid" - }, - { - "tcId" : 5, - "comment" : "", - "flags" : [ - "Normal", - "EmptySalt" - ], - "ikm" : "c181696a19ab1a32eb6e81b2925d8990", - "salt" : "", - "info" : "d8c8de92fe5422c9825996354db1821ba43a81ac", - "size" : 42, - "okm" : "bd5a9b85598010069c28028bd26949d44dd8312d0fe6cb3c49b2ab968de7aef4776c492e6c502056b419", - "result" : "valid" - }, - { - "tcId" : 6, - "comment" : "", - "flags" : [ - "Normal", - "EmptySalt" - ], - "ikm" : "55fb6dcc7802354e55a45a6e41858c05", - "salt" : "", - "info" : "dcd590e418b259c64fb9e139b3a1280d5de8400b", - "size" : 64, - "okm" : "aeedc066b0ff9bd6fc13cba752a2fe8d2ffb9f013236d737e8e0031c4a5f287c67c6e7f0005d7766a2d7a4965c8c6c1e83c00f873f61002711969c709a4a0d66", - "result" : "valid" - }, - { - "tcId" : 7, - "comment" : "", - "flags" : [ - "Normal" - ], - "ikm" : "c27718560fae2515acb17a874991d357", - "salt" : "4487f538b65c9058625057b4bbdd93e7", - "info" : "", - "size" : 20, - "okm" : "836712c8a9a1c2402ca222d450c20c4101a89d80", - "result" : "valid" - }, - { - "tcId" : 8, - "comment" : "", - "flags" : [ - "Normal" - ], - "ikm" : "be0df9811ad0bf3b08358a3dc4a05981", - "salt" : "c98618bfeb59295f8bf1dd3804b1bf2c", - "info" : "", - "size" : 42, - "okm" : "8b77bcd6637ce7c4a591b27ede42f59c34a1195b661fcfce6fc3d40a0362342831dc00b32d2767c41c33", - "result" : "valid" - }, - { - "tcId" : 9, - "comment" : "", - "flags" : [ - "Normal" - ], - "ikm" : "529e91a61895f1c4ceb5b6994f48783b", - "salt" : "12e4ae515328983bab2d88da3cb32a95", - "info" : "", - "size" : 64, - "okm" : "9806d5f9c7636f589a340b775b74fac64880948d12c3a4545a9a4963b5bf4b8c90c3fb51a5d39dae5213ec31b55b587decfd6e361cc856b89c07c6e93ef165f9", - "result" : "valid" - }, - { - "tcId" : 10, - "comment" : "", - "flags" : [ - "Normal" - ], - "ikm" : "c360e16084cfd13cb44b0dc02d8665de", - "salt" : "685ac7df93701d6c78babd847861bb3c", - "info" : "e0ddfaaaa7afb53f59a007a205c7149b5b5a72be", - "size" : 20, - "okm" : "00aa140387a3d43aae915c35b306533179019bab", - "result" : "valid" - }, - { - "tcId" : 11, - "comment" : "", - "flags" : [ - "Normal" - ], - "ikm" : "0cbd136d66d15a4ffefde1303b430821", - "salt" : "2614d80275b08a1cf90bae0eb607d4d5", - "info" : "ee991de21aeb6baa6a5f683dbb755e6f80db1c1d", - "size" : 42, - "okm" : "e618b91d9f3d10c007958d025841a3347947eb41b23ec35a3d7927aad74f293c50405a56911d8158e74f", - "result" : "valid" - }, - { - "tcId" : 12, - "comment" : "", - "flags" : [ - "Normal" - ], - "ikm" : "7a00817689a3d79001825a864c69c120", - "salt" : "08bc01c053a6406c7c4a667c9b9b3894", - "info" : "967ccd75395be6e96a67759f070487c9e2107791", - "size" : 64, - "okm" : "bd02e16b6024f2c3b752d1c1d3047583697731915fbbb34418f479b0c9bf84a86bd8e715eca198da8f9b39b25a1229c311853f862340cdefe46ddf41dcf256d9", - "result" : "valid" - }, - { - "tcId" : 13, - "comment" : "", - "flags" : [ - "Normal" - ], - "ikm" : "d003dd047181bd66420b529c78aaee1b", - "salt" : "5a2737f637eb905ba5a480d51a721c012f3ff9701d9c4fa1424f1f5f540f", - "info" : "", - "size" : 20, - "okm" : "abb6132c52b41f901ca9c75cfd9e0befde485fbb", - "result" : "valid" - }, - { - "tcId" : 14, - "comment" : "", - "flags" : [ - "Normal" - ], - "ikm" : "75d085427d397b263fb3c6c8e0c40b6f", - "salt" : "e2141b0dc65348632396a25c6d7b6ffabf55686532544c351860635b7c86", - "info" : "", - "size" : 42, - "okm" : "7c0e2af3d94a1267bfe4473c725c1e1f356bed5a97ea9aae860d1cc033194433c54a6a8e600a54ff2086", - "result" : "valid" - }, - { - "tcId" : 15, - "comment" : "", - "flags" : [ - "Normal" - ], - "ikm" : "63984079a2540d0bba5d2700642104c6", - "salt" : "70b2a476c9a80e52352b503901a7afea41c186bdc872d5053448769299e8", - "info" : "", - "size" : 64, - "okm" : "a4ef89a8da9cf7ad0d3d6e0888d366701326a3b8a8525221acc64f983be99fce0ca9773b35e6ddd329da3377ca0802f18c8061039f9b42b40a1c2a91ea458d24", - "result" : "valid" - }, - { - "tcId" : 16, - "comment" : "", - "flags" : [ - "Normal" - ], - "ikm" : "ef7c6fecad5a8674b65b78c1d696d9a0", - "salt" : "ee9d00f7d448d4b3a206bd7e7fb8a9a6564ca80c9e0eb6ef61a4933c157c", - "info" : "35054b8177e4ee42e4e51bf60e91c3f56dcbaa12", - "size" : 20, - "okm" : "41b7b9068d38cdb3f9add3b688804e1ab9722298", - "result" : "valid" - }, - { - "tcId" : 17, - "comment" : "", - "flags" : [ - "Normal" - ], - "ikm" : "f403b6c59bdb751b3f7b9c97fae5226f", - "salt" : "9139e549297ee26eae5afea7ee012e683cd7e59b5b8966f55f6d18ded11c", - "info" : "27d06c3a2fdb5c97de4506e1bc1311991660c5f5", - "size" : 42, - "okm" : "657d085cef3a875b4152878300d6b9ab6dcde7d862bf2631eaee4cf785d1e4f2902dee0cc89497d5e708", - "result" : "valid" - }, - { - "tcId" : 18, - "comment" : "", - "flags" : [ - "Normal" - ], - "ikm" : "d515f58eed428b2bac233c8538580e2f", - "salt" : "c2a3ad9db6621fceb7498c0e6287522077acd2d47b55c09d52e114943b37", - "info" : "14de8cffd89e49275f69d2e1e6b43fa0c3775451", - "size" : 64, - "okm" : "93cde84c4c867cd78c2bc028d97e2be987e1ca0803c03cd8fb643c3c60ef4da68cd2557a2e3f26dc08b5106f4c000927e63845b6313a793a095f902ff5279af4", - "result" : "valid" - }, - { - "tcId" : 19, - "comment" : "", - "flags" : [ - "Normal" - ], - "ikm" : "df27ab960ad87bfe2e173a4659e3546b", - "salt" : "1e7ec49981fd4b0b7c20dd4dd5bdfbf2195e707f4d0354611b4893b8a86f61467aca2cf726ccc3ef0b0b4f3240d945ce506197e2be00322b17b48209c312ef9f", - "info" : "", - "size" : 42, - "okm" : "436bc30dcdd6f9aa80edb950914475faa564a1d3a3cd54e4c428c02effdc0c30a5971d80902377d58114", - "result" : "valid" - }, - { - "tcId" : 20, - "comment" : "", - "flags" : [ - "Normal" - ], - "ikm" : "24a37db03dbcffbe9e28d582d0d8c60a", - "salt" : "4c3d3b4f5436418713fbe2fbc4d647095ce5d5392dcfffd20327187e14fb68360b94c5122203292d8b648a754ab70f6d3d61e0650f06d55c4b5762cba0231e27", - "info" : "8cd9e7b786a74bd370bae434e31a559bdf75d65f", - "size" : 42, - "okm" : "f96e579b4f583cce512cc410132c5b89054d952b0b6964ce8fb1d37808f43f8a7b8739a1c78c77771107", - "result" : "valid" - }, - { - "tcId" : 21, - "comment" : "maximal output size", - "flags" : [ - "MaximalOutputSize" - ], - "ikm" : "d19f24915e80b5ba3b0a9f87b9acd21b", - "salt" : "be99dc17920c2da449ed11592d1a134f5d97b631ce06a8b4070113ca5f18e6aa7b129a2c8d2120b38779c6ec8ac43e08", - "info" : "aecafc9c85b224c2", - "size" : 12240, - "okm" : "f18c72246387d920755f1e63543b2499ffb02be8f89d8c3846a3ef54bc7d6db1dd7f227a21e50c51be6308f71f701d7783088a7eea1212cacc9970c1f8858c602f6cda122772a58ac956638a43c5dbc8873c89a2571997b00c76c4d1356f1710f550a71582ec413a87b60e66d2f0b9289ead39d9fe70b0ee37f081e6338ee7af639cb9f1f21186cd71ac9f853a69cceb1a713f188241c3743a1bd7fc7a5d6ed04c3da4139c69a4f9ea65db52e4ce1aace8494de48d16297287c5da293e37cf7a3e54f91c5cf71aca5b1e448a53ecdfedef39d462b8f67202416749aa2122166b8daee364dbd9e21342972f64f70af3ed65bb982e20084d43ab60d5a45337ddeff9fac154b6559a175663e51cf5545b7d0e6fc4d2cf0f1c18cd9ea9f9dd33e76b1b7b16f230c11e2a4e57f4cd556dab07e1b4b2031e978c39bfbca0fbda46d58f747c7fb7005e189bead9d2c5881c1bcc4f0194f8868bd0694c2e9208e6767d77c45bc49bd166add80e09865eb9d2dbcb0af2adeef7d6a9db5f39eba9be117d616576f05972069e60180f1ac87fc9ebe2e4d36a602e9fbfcb5c77480d72614ef178961f27746c45e48f5bd50fd48d23a435bcbde33d67f627326a01468ccbd5717e6b04d1d4482f569e58789d013717099d13907064521ab35025cf3b49a38ac6a39ce4d16b81366050c424e55693b57c87411ee38f3dcc55642bb359cbfd70c8f0eb0d7d67da801608e03eb0ad1f28271aa8c6ffba8916148285cc8ba879be0823747643b205b3ebf3b46343e45349afd76bcce24fb9f8a325eb7268cf329eb3da759d12e6527f22e68e77bbc4e8ed4f099e9f8e9f37ddca860bac05189e53b89be777634b8d34fe678640a78acbd80a07c94999629e89dd583df21d24d8d31ce6fbc858b9feb996b0b753d90587b3af2fbecdfa32c4e1de787b41dff3a5d9360c021cf9be32913d778e0160e45a3426ae17d574facb804eb21fc4ae808414aa45e6859cd28044b433071573c9b513652bcf9b4c6baabc32a25814d2c3f00fc864a54aa0437a32d1ef32864a55a0f838352277fbef1d3bc71631d5a92390f7f78f7c22f2ece5a26c841d27e0b87251336347dc837bd28c29b06af0d159abe6dbdfb192491a8a9bbe7b4dc62b73c878e7389b5c82cdba110fffadbd2f16296231d5888a618b5381df9e3cb9990a9ea864dacc9a685d5034eebf728272f672c9beddc9d31233ed28505606cdac89ec2f230fc63da35f540c44635cfcb4d8078d61a1846202c017e3eb6f57a0ecf098dc332506c096d25bddf4810ca58bc37dd81f82f6fa7c07aa10e35eeb2bdc8ce0f4db540593b2e5ab00e6823756b6af16ab6f2f81abe19fce9dcd33de6d2c40b1060a2bd70e8f0009b60ca6beacae54686d82921978917c8e54d3eb3e670909576147d8c6dcb3406d7823f0b4222f3f734c9d7c8a92288768a1f43e47d61677fb8b5851116eb1ad1d11811d44782467cbdd2c046c02342c18f0e545b64190af7788a83cd7118fd8df223a425a6516ff61516861229ed5a6bbe2e63922050622739594e6efdbef204ecc2ea79abf94e32c9e7651f5bd7d4652f85386c508e55e5fbe8a76a3d2d9eeb65791ca6340c9d6c22cc546834172f0862a1504c2744da6cdc241f66bca0deccd431f75760ce6333ca164e320abe75fc998abbaa04039e47b48e9d3f1dc943aa0c539d2d5d6e1ec4c79eb2c54f461d1f9ffe0406d7679ffd89825fc55c347f416befcd7c4a48f18d32827a7bf4eeab182404069aa0d60020dbcb0485e2cbdf7c8b1445b780ca820a838b40078118263eff38a3056bcea3617c807868894a043bdb6de89ae2b00b8e01e243e7383e9a2c8260c1d3afad711d040305e3aa5fb2d3d1b7aec6b49f92b95ec0273a76f7e8dcf8a31bdcc570596aaf1250d073d0169897524ecfb572db85e42ea7cf4e203352637a19fbbedce42cb9f6ef3c49d23f941e26f1ea52da63dcf6a327fac99799b7572c7faa5d425a93ef0a5f38cc88cd7b13d969f2e472eeefa5afc2b19a2da50b39ce270114757f6fcb0a7aa42b8d3e375e142882cd408bed198227eb9d3e2b9dbc515e754693613e986a02187a0dc57fe5d6a6fab8e3152a0d98992fcc3a23a068863f34278e5484d3e078fd6c117a35336cbfd3ebb679843438c86e10f241974b2efee9fc451ab539ef2c7f94cc62a09a3dfb75065e7c814b3ed277982843e9f2ce10646bbe7b0e8cf2f545bf38ca23daa9d3b98ccfc9ea39973e37e3330173a291d4f81efd849029798eeac2a976bd9b77becceebee51b2ad501c19b1dcc7ed0d97054fff4a3caf9934e011f5e0010f0292f1c79aa9c15859fec4d680d85535de837c895ff8b0cac31dd82c6816e72fd0388be1fd53e559df4e6cbf84b8f0d1b56ee82ef5269b434ed67c5aded98bea02986627a4ec31ec660fe9f3a1147109b208ed5084f2e1109decc16981d2c562210d6e50a302654e170b4236f0fc344adb56c649ca020b15aa6a268efc6137961bb305adc85cf8d80df27ce0643d55d36b1e45fdda669ec9ebf5204d2967c67c2c0f1282b57c1ad926ca34528f874a9d0700d60478c83e55b01b22b5d90b72b33452e970a97c39e18b7815c1eea81ae246ae133f14e305f92c436a24ec8d96515eefb2f0074475c5ad551af30e4eaaf177a859024abb03d4648cb5ecb188c33d266fa09278f45d2125c09d3fee7053224d59c80a5590718aa7385b379325e308941ae126b9447f6a994a2ae5ffc4590f4c856649bf08c68f6fdb99f5367bde144c60a2a371453bcd9658edac128e36cf62049f63cb13221d8f18e35b37d2f61334acacce7abdf34f75cc641c548db487e76a17c52def76d5d40b73992de8e6a14b526e28e9745428edbcd0fbb5fa3462cf2596e6c7e7b2dee8d737e918fd6e647303fbe28220a989d203ffafe0522ac9f88c81944791ea3299de941f89b56d93dfd5ad7aa43b3f4c1b384ea9b1f4212c1def467c8b33b9002236899f611306585633e4f7a8fb161301f5da4ec1cc0c59957a9bb473a5905d1160fafb4b144dd62250a1c19db3360c56014304949995bbda51e0bdc7377a04ffad730fb5aaeaf1312797971bf9d94ca74dcc8ea5f3e96caaf4517697fa207795fb320be8d00ee0852e8fa645f01b0ccdb0a43b3e3ab9be5c1855a70ed789004ceae1680a24e936709d02bc171530710957a5a7a4ba49988f0bda0e2cae03d6fcae38dd14fbd735d110045edd2b3add421e207adbb11bfd69d1c2fc8f5d9ec0f80ca62f50ead8b09ea7b26b59608a64810c78dcd16f76c72463449f0b3e59bf9eced3f6a0940b3746f600cf34fadd1a1cff804213521ebfbe216b1f8a1ecaa5f3579ee3e8e31d8050bf83194108e5e548b22018b764986d7c0f168098d463127820f6a0fae1de559805306a9d70aa9c89c468039d7bc0fc993e48bf3e676bb43d8ba0aed80f66db050eee9152d2956f67f6502acf156bfbd78c6d3535469c9d800e8cad1dbdb1b6cad38a19d4d3f43f19cbac4e21148ae23ebf68b754985ad661d40e4d8e07b7bc3fb5a178dacf9a449343fc8aa41ff021180a01634a4aa183a559fc462f48d672187c6404d5335ab9e101b29273b1e78acb2b8aec736b6c588def6347785a279b22726b6e845809a863ef799ea1e92d34421bca1b06e8722c2d1562523ad329c54e702b93471dfe336657b304daf0b49877742035f7c9939805ba7f357547db77555ee90bcfc386cffebb834d0c56787cfd6518ccb0de4b6256cc36ec0a589d805d1e56f5c52cc124f3c8be3f6631e6dc45e83bee4299f139821b84ea1cefe7aab8f6240f9ec25fac0db3fea75afeb8c6d6c63aadad7d06197dc1fe8e98da0bd56db5c1542f272202cfb731476aa5d50d7c381511f62fbec94e2de236e62570f5ae20e73dc718e3e28f0b2f3e3b2b58b5eeb9820b62807b142396ed3a9ec402fb44a3b54ae48fe72553dc8617a4b40c7957ec572ed1f13c459714c583a3d8fd1c1eaaea30bce0c9e5200a003e91bf148f5ffabfacee466217da9736258e462ff51b6c4fe92340a8664ee168803ede308274ad9f3c3762f793212a9cb6ef1770269432644898b0702cffbe2c0392cec0760961626e420b00713a905680d69aecb1d649e40638f32b6c4e67ec7f70b64bcf3f31c9d923ab65c4ab60ed44a52f0bdacceb8cd4d99f04b0224e5f430964631f977a5bc41716ec40f2deae104179e771643beaaad57662cebf17ec2e80bb985009d933e268c7a7e5679035299d1d088851856991c9a752b8e5bcb2e71a8afdcae7c28c826e4d147394a307966db6877b978d3a0490239098cf99734fc9c1d866b88a6c392077c828509eb47f8efdfbd60a0c0bd70af64b3109e2e700326ec63ca6f32f872894c17ec60c6585fa415579871a217ebc5a61c7686ac5b1c0dd9c4ef99d5c0f776ddf278c1f6c48f29bcf46aa23001085f09dd2ac25793ba8bdb0d8caca63d745d5d8631a5cf976fd6bd45ba8222cf56b715469223e9494a8a6c4d301932b8c01c05606126de40a0c0ba989b4d76870c255ec7b2db79f7d566c691a2c1dbff9c1bc6a81bce300a1a2db43815b7c426695f108e7cc8d44ef4b8904056ed362c73fa8d7cfbf3e4c354b19d7b4534d669013b9126cf4efe9866686b6edc0155cd910a235db80ee0a0d872dd68142c943b460693ed7c20a3d8a4cab087e4672532176080f37ade645f9266fae45579dc4014bf58bf583b4459825d10f0f8a56fe2b319ca6b7adcf9d6c2131aa68988a59a74ed3508469557050dfb25c8ea218d0f70d071d3b06b503a38e7e9a23a63910e7f98860d5305045907fcfbc94b24b33bef5ab6750307c8448fa6ac605a7e440ce07b792b4dcc2f594da3f1f5f6af1cd5cd47afeab81a2a75bab264135c68a10f490a55822825024fca4c521e178c72d93b5060672adace368f0b8dd59169c98b8573605cb190e1505b3d69e1ebae7608e15a6db1a2c262c3ac835dbf076d4d57b6c99fe9eb2eb7194b2398c5b2de5432c091cd1d1920f370c46656476651f1137bc3b4fec344f08952367175c32953efb7c861302e73ea8878d209ee22d832a8a67b10f9cf826452903a5dd6928fcd94ed17955672eb3f320b73f152d32be50afc2a4200edc724da28f779245a50ab86fe4d35719344561252f6442c53555a370010754ced565bb8a33399257f367c3723aa7bc92323048ea913c12aabb8ac51ca04cec9a7eb5b920b9dab3ea1b060556f8e7970da8bab2e636ba15a8f4376c63e70198f99eeb563b4e55610797e69f30a604e129e598fd0611da55a41b020bf625497cb22c9af6fc16de316924b4cc773a290cfa18560511d38087aafc2100f394817b18ffe381d77b127f4932d888c41ca7b60d867f4dab75abc2586228cff733102cbb3c0be016f637dbd5dd67078d619621c76e949bb0c89c858792892587834e22790568a59bd828d93bfa71ce25fa45b8dc4ff3fc8bf7e83b167c4c317a9d871b89b5694da3877e10f6570509ce8921627c95aaada93f6bb647ffbbab127946f47453efea5a52c5882e839bd36d9695bd980f3455861a307f50f5b8a1c4fea0f42eb68824fd9b3398fbb62fc726fc76d3fb68666524d205f3b86e666d4f4aa74ed5ed5df825f6e0cd8a664626a78a9e1903993f42e9f95f02b3d3e2a5a8f14e875d6b31693c7e8d0410fd9f45e19f0b2c37c44e505d1ace4edafe63785e514699881924a1acb02addff40f050700a172673f00e292fd3628d200f7c461136915faa998a009ce32bfd82318d9d4e6caeee2e746d2ae64b5284cb381dba35e7d7f13eb3ffed6ab0d1d369b1197386fe42cba7f7094fc1e5f1fc147fff7477e18f99ee53998cad2d0d16b09248176dfe227c78a7032fc1ac084d0cb98c533a9883f2132b4e68f15bc10c7d5156e204a46761a87baa0ab1e31eaa869ef7672e0f2a7961a1cbcf01235cc9478cdae4e2ce65168fbf462020405d5cd112647c175c002c26f83124de29a5764c6a549a7c3bae2abea95a4d60d9cdbb5fcf1361aa0b281431c28b244b90331f1bbe48ba97d66fe18c15192ebe0117d87fb8fee778fedfc89603a1a9bd701e0789bc03098c0841d86ff3380c1143f1276b3f92e048068ef9baada590e360b1c2c896e0086dc2b54591f7d08afc94aa7f8ce09b39c619cd6a90f14b061e09109e2bf43ae78f5312617a6ef1ba8b61bee904f991ba235182ee97ae06d0c12016a11043803452141526339ddfbaf408f69e28447986997a9c2e750dd409c198307faa9c46eeafe18e3b15a8ae4b69e18fa66ab0f0a891c72b91ebba9b34ad527b65aea0178f921526bb7ab2555cfd99594c7fc424096e1a81d86b2d06bff069b5b788429709c7cb889de8da69da31281f7da438097269deed65cb5aab3a699a1034ded227df49d23403b757bf0dd18e0d1208d692bd6bc2eee168ecad29f8c491400c78f8b248499d11901522f83b72fcad7e50f0b36646c1e984cac85b4f21a9a2984fb8ec82a1316fda7e4522086b1194a7573007cba35e5e92856a44dd8e9492ee2b2a95eae8be36d0659b424cda3b20acd0d558af7eb067dc4c5e4707645afa64c0d484039ac749ff1356124e77bca93cf8d734d69f1a732bb8e671f9c00594ee4fde34f637d17f3f56e9f5e1626b5e974888a34fb52a3a53eacfac2a65b860a5b63dd14459c88e8a294d6628ab15feca39c014038a50dca6b4d5050d3bbb16d09d15530eb6554ec100464cc00dbdf04923d45fec59fc7251554cdca9872cddf72813170a40fd191d0576bce8228b4a470ef33e114daf34416c1b651c5839bd4ba4956dfdea27083a6a3f274192ad4040adffd1fc4079cac13f8d72a9c12ad6f7983868d64f89efc17eb52cd5c2a26b7fdedc3c490907040269201ec1c076b635a75e191dd6652d7375cf5ba00540b56b10060e60daf69129529df62a8090fea9e2685e59cffe6940df9c7132796ce5f5853af3805124f9dc89bb494f4e0b9e1efe97884d1b38023b2c58bb9f87d714566c2622bfb780d5de2cde0da70c5a33d9a18a58249f491737d8eb1c3ab200949f38ff5fe0deb56c20df84d361cb91cbb3758b4ec1789401833c6c633995120a3388863c54e7111dda7ca57bbeb4b49a2c3bc31806f494b56bf2b7298416795adeef8397ada886130affb868bbab5333c478bbffcd8a2afb4e78f546d8b84177ef580a5e6b6a1d2127fa4f34596299e4a37ee6b895b4d02f189a32587e9233d8bbc25df4ddca56af0d00c04841ca6b0af439a4a5f2e4a13a81f0477655d788de363424644892403c2675c2f366fd482b450903a96ba501cfd88965cc0b5cfd4e1283663171d7cf657d17cc4780e892217866b280a486e69ae09c87cd392d6f72a80ef9ed2edecfd22f1442da24bb7b9235076e72298e37856a8714fd69c5ddaf0b3910ca496650c8e9fded955388cacf5b6f5a23a3279a0bd9947af663a881fee37693e357d6fab8ef1ef48f88b43098bdcd6dfc337c648ac5b8dcf2b283676f0f21846689f166ce95e65b244903e20239fb41a4150fa6094616f73a397aa3c4eecf4a9dbe117802ab46dabb7b4273b5d6cf9b103da436b0acde65a1c1397ba9b9d33226c7304f4ae4639356a3ff424cd3c310d6bea313f32bd99efecf590e6af0642ee55006b1b0e4dfec7d9665318c54e728b960487162b17c05f6e0fd3f1f9c164af7ac7c2c3a2b5c1b72e0d1710054cd41e90b10d58d044376b91dd504362b4b4fc24fa984839af27d1d4d75cd417a522f91b4f408b6277dfaaf20ecf5dab5f7e50effd1cc712d17a56876c5a3e77611b456501e3544e9d6f7ca05e774cf545e7e2b54d48f9a9437cddb47499ccb4c87f0de03e61378211160d01e72fd205a518df62dc41d5156b5967f3828aaf52ebb6642ae3d739dcdceb7014a5c2a30e923d823effdc18a17f741f3f3f8ed919e253b9e8debf6d8ea279a9668eeab6c1e97c3c35fca85a6845dea124881c63ceda621c0f4a905c8299e6303c9e1022c7b65f1477479cdc3a822004f6f8abaff2ee1831a5214a03b86bfac04e24e400d7853c4ada6a70cca1ba5a942c98fce5823fe931a6afca36dc562957410049ebf2af6e1e9ce269bb5866e294377a50d92e1832f9da02853bfafb952b5414c93868e7e60d0b296c1dd0a7cd6535f57aae6d266db29fa163831b6f1a5a9d7778a8397928d3b9282903c52b7a91461714be1c6d704986825b3c57fcb82d40901cd0226d8c7860c4e8fc5e4855c0cffdccddaaeecb94905866989b5aa591596278badb51987eca959ac62dd3a4b2eb5c425c7fd52591ae292e6820035cf78600501250df5ad3489e0c27fd6c7e4285cee2f86ddda7db22e0d4544fd883de8177faa1944ddfc283ae5f07997b4b171f02a633cda10e498b2d20db2677608a6f8037f2ca595036ebc3605528679c57a4980a0655c5c8d30a8c08fd6c959ff8a506feade7afa9d0a91ca8533d716b3ad3fbf560069ca40be78f93cbf6e5beb13f8c7c830b899ef8a3943d86d50000ed14243379c273418239d2306ddaa85c7a72a4262ecad826f78ae0b7f3c6b6e8ad14b04981e363f2ccdc9f6e92eae844c9f3c4bddd11017be3c4714640487267bbc45f22e681e1313cff3e4ad266c91c7b3d55b84bbed6687f9375d5a03da88e685afecff3655f70fce19e9167f2d0fee8c38fce44b7d8e8353e995d61f49385acd0892b1b1296a88ae2228714876da6e5b25c22c4cd7cff34937df9512e51c4594fc27a6994b11c4b52680c1b83c318e51d650650bbb2904490954d85b54fd7a3bb10a49a19c3414dee7b174a3b55ea7482bbd8928fba02a20d4f55bd117a029fefe0ef77a262f24840030f12646fceaca190432412f4a548d377bd8f6ea2c4ec818494b86e7f79a8ba709c46aa4fafda7c56e58f52841177d1ee7934e92449a56c735384f0c2e4126fb23371d9d61b5c1d8293a73d95c3c33f944e63243c46f8d0e5104f1a35bbea3d770625a7b0fbe63ae6fb4601b9cf49c2cddc9de21b9fda2836e93c69e5c478de108ca155693441911b464e553f66048b366b1a324446fee2ab4f6bdb534fafe4cd34727135abe9da1df2282b489bff623645571824d03ca077e0220bca704e513f1cfcf6fad6826f71437cdbce14b425832bf16552278deef80df8218dcfc5c379683411e16daf15ecd8070c9d31e6443ff7d4f7a340fce73e5dfc5eae0775361bc0c737f9ed46a99c2040c1b8200bbb0bbfda16f89dd4590d8dd4b07ba45a625d1ca88776c6d4107005d51593b75f351016e8b68e33354a9f0b0d5917cc23d2f8219a9decb87b90142295a22e27039bf482b45b20859e426f86e1cc4dcc8c1fcdf42263cd25c17c85a8f0e7b8e6dd765495aab461b93223639ad444d62a4718a8ef5ad834aaea8ca42d2f781e569a44d9ca9bd14a83d9daa1147c1e071271ad5871ab2adce27157e3548ee238246bf9d90c5df437bab50ce94bd29f95b8239908818115a9cf56ddf0c39c9ad2a00a4e7aa99c4520c0d412dac47a4233d57bd560f653e9316bf7384dcca94887d2dda3ce484021ec1f0fa4084b07f09ec1fda0554f462b9ac70a37c3f4d17f1f928eb5e24f1e8582321ac3ce8495c3032e85fcf225ffcd27c10aa3a142bf816909f9eb746074d298c0ca4b50a093bdfc4c3bf2001acbe1f5c542bbf05d8eff89ca46164443fa6820252d0d6b2b459a0f19edbf7568b53cd207907309e651bae213e9553df62facbee4a63b256ec3e423c7ccd588e08a384169165e626e1d1d9b9da743ece87a3cdef06c84dbf7564ebee2af6dda46f2dc7a52a7b9c95d45fc989922868e19975167e8b10c3c53e2e4d7c7e3434cf27c0da07a866b9a20184e194829739b9117e4a49ef51b57c6b136d6b37e78aefd7e209120c2082f07da289264d5835ccd56086612bb1686f75ca4cfb3cb5116b9e43f0624b587dc447fe0263be38e7e2bc6e7b6e349c0eef4fc8f0db938e9a42fc5fb0c261152d5e700079dbe6ef4eee31dd64932451bdb72cc77059ba3afaa09f00b58d09465a7348bd3be2bb26f94e7185ade1b522529304622e270d2dfef31383b97a75722241c9f0e5c045b2fca356a4db84c9c4a73d44152889bffbc8c50715a7ecb98d51c9d2966e3f824823567051495a97fadeaa91c7ade883f4eea98dd3297f33167bf711cda6fc13a5e595ce14c7da78253e895d5ce4c27cd8e0cfcd8f7e77c729e7dd82f030d856b025d6ab63a0d937b688e12cd518ddd34490579e22ea54b0d2558e7ec3dd24babb7f3de184030d270882f616f1d8673f620c3c82d76c9bff0048a3353cfe4d020e3fcca3c46908efbdd72e0b4c0ce6b91d1e56cd3779f0c5b0ee910c0e85ed1dd30ec2b2b75c8564f1b5b575dce7486b6131164e9b8de49290fe08560a10039c9981aed77578733cefbcd53f21b3fc3316956287ebb63d8c3e68c4778f28c3ee9d3ca9c28825102a1537aabf9677af904d707121025b93ac714beca1cd0729de78afb012ccb32a65618a32813726436b6740f659f2efca7baf73613c7caf8aaa4b36c2a4d1ba098836b81836cd39dec95147f4a601602d83b780d5e0cae2732a93cd257192024a868fb9dbfdc3bda44f990173c9681c174af70817a3122be3e106242c2ed3f8cde9704a0a1aa7a43a2e9cc7f381de07f63ae2d7cdf744d65ca84ab016a72fb759cd2ce565bebed9844d1b22c03d7b1103d67c72d4bd8ab7f264a441c5ee40e79b3666e3415fadc8fde475c5f2731bc828df48c1392b706f0a542484adacb25bb0e3b5dbf4b7605889cf7586e48b91190c59136d75230c70e5794337e6b522c94e5a9d683544dc72d19f9c2643f551544a24fa88c3ce9177a5fa75e0196d228e7bcfa9179cdce0101edff5fd0c8dc0618cab7b333c0e94bee411ac18fd128ee4115f9edfc003c9fd0ec341243af842346b6f9412e7e1e4da44aafa2af2078f4f2019804f0d3205432376b0504fb59972cd4da9034a77b79c79291d18eaf7341fc6223120dc7ea7c3fe30b512fb51ff33d061f515f23a3e58e4b8f951bc3b7fd195d341db5d75ed0ff3bbea1f25d0b484af53ee13f152d5f432a1f85b1eb1e69de8bd411368ea2daa203957b75a7db543e1c5b86d579d592d50d348cc3f5a6752827d522a0484bfabd601b86a1a8c3a08f1ed169db6fcb59710842fd9a5df5e72ce692f3fc0b4f59da763347625d1c4c675a95b37eae02919720d942deb108d0c8c653f3310cd72f83db109abbc43a5ab1e4e9577c76814480c2e9cbf22c31e3d7d10a5e0cc44d0ff9fc351f316eed7d304207f6965a4ad437130b6a9ce7f8743d36f58a63fc5951ada56beba3bbc1a6ac79a18e4efaec29bb25e1e3cfbb11194761b36ce8badf9c6a65dd054c5524c2f44dd70a431258dab041623c271f9c5a4c1496a67c5d4e4600bbe2d2be22a45f9772859a0447494a6ca4f79eaf761aa06e21e3a3d5a0a411ade45ce7dd83d08b3bd0b9a06bc8d7ddfcb4a1aa4729708dbc20def0ae7ac3cf6740b7e700961bbef327c3521d796d3f0b59c60487c127019d5e2f3f634518c43e4d2773fb5d1a020aae0398d8a8f661982652b8e69b032ceedc633974ba9ab1eba1a6ff01d50b495cbceb16eb94219a15be38c0f853a22bd92a9d51fa58b2314fa6ab1469813d83c783a06d859557f3a04fc33a36873fdfcc065fb57b19ca221d88caec9609e82baa3177b4d1b508c222e52316a13d2331cf80114cf009974eb640fb35b229454079554afb5e8708ce17d7d0c5fc5090ba5ba83f26ad3fd8af4ebe36e028d973a4339f55ba086fa87ccd42ee71b4414782e59b1c5fbe93092e096aef2158524f5adbd26578b2cc0e9147a18ed67c46b63a7549a063e7b61825b54822002421ec1a5fc8b962711d9483cc1fb03910d331606f2e32494e044b40accc37dda1817d41d97d46a1d0c4ba3293b26155c4e2c976389ba2aae6513ee437fe7d152031a8f1019f0ba12aec04d5c8338adfc195ced53dee3528c407b58f156476f2417d620f64f8b3cb2f254c14cf57f7a7b75b18d95d9523d12df39dcbd2771a0ecaab397f387f0d4851317677b378b06b3afcc3fe110f4e0e6e6d458be066afc1156f272ea181f0be3800daee141d9ace87da8d0c7c95ca3410f9048315cd69732cbefa08d46b114139219fe090696f8bf0b2e1fb687050212a1e42ad2cd0374851e0ed0e48987a7f65b90cef447503a18a25128d9cafb46a3816a780ead7ac478b208754cd899ed88a4a1918481aefb49ebcfc174d4f680a672dbac7aa0c55e25fb9003a0367d529f138e34d4bcf25863d8e58d40dc6b8c7541a7d7a2b77d8d37089193546aa1af6bb18732955f39b011939a72f62bb6a09d325b39062017931f1d025af399635ec19d57ccbb12e15d4eb97880d0ee8dcec4f25f0dd70f07163abe53d2919d51b44290880bb0250859bcf4e4a21a49cf934a90cbae4cf36278dc2ec606b097cf8c02c8c8553a3a4eba57c3ede3be353ab67499a9d4fe306add2594e680d5f6298745bdf3323170dd56f231c045a4edb5192af1dbc98ef377b4d17e9020eceada24fa1d7c947aae959b1943d3f4216b1d083d62ef1bd09f8252901a5e73e6814e8bd181f1ce658af667923d59a7fb0d008967cedf21ef89b66fd4e07341367051eadde568f1d2b90567bbb995d5b43a43d5c0f09849d72900acdd582b97f330cae3908c757f5b7a88440a9945a2c2a2785c30c3edd980d754de108fe714af66d78f8b48b76c8e9a93d71512dd287c9336fdaab643961b417e4c574d5af7c19951daa604b4fd4f56fd4382ed550ad32a0252354a981594e99de03f872df0400c780e96d644c4363abe30fb1fc5874835e365d4bd4d33e23a2e39c71c2d42e36be57b3d56fe8781b0e175a69d7fde2eb7fd9102b4ae774bda0830337126e8760aef6a48f5f0f5d5eb3ffbc1bce5447823592e3f331bcb7a1638d9edf36e6db5611ddd1ef91d007561d51842dd5a87f956aa9464673e2e1ce1d67a099ff57690fa9619ca0d8f559b4eb93a4440780b40ad1fa41a23d40f249cc5c4ad9efda786aeead3b6b21690620bd6d5b9f124519032830e33507f0a73d24bf9eb60a9d4f6af2bfc3566241df05a2d4b788bc96c9f4a47075974da14ce161e5301d85899f2893b1c9569d231aafc9e55b4e0cf228bee902c0cc8438d1d58b40b3c6a6ef79158d8be1dee8c74547e1e1b7bfa99fac8a3740c8d30a56fdb321a8ad4348389198e1b66a4ad301512ce474e91adb6a162ac0d380ab51d2931dd3121ea10b04d6e656ff3fbdd30582aa273d991f4cf5e2bdac2eb6626da98703498949cc518ce7e2fec77937c424ab035faf9ac41b8cc5fff2e0485f05b51779494471457909756e88a3ea22e92185ee10ac3bf5a87b8fd159ab20ee86ba8d81507dbdea397b46577414524ab317f7ca16c41e59edcf0edaadcfe6d81b6ff4e9bd5a97d80c26ea9d1629ca3986ffb210d23e3310021308497925dcf54de0ec5c937bbb41ca05591fd330adac31b886cfe3ec43466889bb2ca4895c46ebba97c13e55f56787c88be7b8b71ee087707d5a7f85be550ef898057a4703e443030d7e65718628ae19dd384438eff8db1ca643e38decab30aaa03bf9661dafdc8e1fef0ea7f562fa1f48768d0f811b192edb533e19e632c42a80948fa0fae77a80ce7adeaa98635cf60be6a48732f6f43e29889b83cb38261ace1352eea44667845fe1841d001fbe583bcb0eb82af48f439fe66e124d342cb0dda677f35f4b399fd8668079a83244f092f4fb842635c2bce8e68de0f984b71bf89f469591a59ea7e518cf9f1305af3bbf68779ca6a5ff75c68241a24fd0476f7be28e5155e851278d4c3ef0853496f4240ba4903a0240c02369e99b8609d382128893fb380d1198dcfd9fee0173d67db01ef6ea66aa5de12616422405e41164e5b0f9153c16bff64a0e303586d541f84466ac1bbd749c4ee719dc5b0a942bbeb38dea18f8bb5dbaddf075b8ae79be6d085743a9f57929b2088f62612038d5f1398082ebd5a630c09f8238103cb56ac2a3e3bfd912b402a4abb764225b37ab4862c4bb45c361ff3dfa9ff02a772435b7fd1494159a619fec2d8634fbdb0558656ee067934b756cf24db04657984a4d55de589fdabd817c40ed3d44246150c298bfb073d3fcaa6c95385f582a90dfe32ea40c6fc01f46c057b4a10d7c700897981f69a386d862d09bb46e45b42146f3a2fc905a6a7463b42b95a9757e996578eb6a2db5c51ca1aeea3a178fcd09088492b0589fdcf35b2bea8bccd8df98a40d7a41a2d451451c04a61da427ee5f6ab2540fe33437f0ec4a12c82c29f6c198f1366da763a044f58603c2850ab8097f5a8cd8d8739d077288193ab9e71c8c51182003fe3a37a0e8cbed996ad3d10524821630e784a4dda26b6639be25e351607d6b15b47d4e66805b47374dc50f8920e66711a782c71a6db095d8b1a89f7078b58e6ed205d2f6e40361cb8251a85acb51e8489601037d896bfd81bc3743a9b90e66b1c6ed1ff656837c93208ee09d9050554642955a94d4ba7cb851585ebc87f7b86c49a90b3ffbdf1819b05be0f928e157762945264becbb04dcf83483ee6471c2c17a8d511c78333cf805365782c7d928f81462666730292e284f4d32bd6601fc1dc2c4b27478708b85fb575d93f6f5aac54a35649aa4cde2c13ef36eb094179a6211c06e2293fe073e16bc4626dff994ea85c5eae7cd99277c2a889476f0982083895f635260d9fdfdd78fa7379433ddbc0868c818f22feb5c08117b33a8abdf0a664c2edb3107b48cbe8dab557131d8fde9ea09a6610fe204b253488f8a573537f355ab64c6bfd1041bdc68b4b189a4f3097fbd90149c781011c86ad412a1654424d842aa4efd76ad425e3044641605c91eca6b75d98489055d25f2c1254f40cc02b2c2ac6271605e621cd4efcd0d5096f6acac46e43f9fe8a717bc689c448bccf14465f50122c6a204b5b48d4381628005d0bb17d2e0436448e77fed7acf03b8882bb474f0a56ce3ead089b220ddd0aad76c9823aaebb5b54919beee01432ec414ad039fa323f48952fc5aac7ff0356346675c3b3a39d3a3574dc8c8d09e5e9d6079d9d8e4aa770d0043e445af65bdcdb47b3c5a689ff3ee22f351b38b8f20388f3677b4e918805e7241bfd62d7f9d109301126756a41de792c6bdd77bb3f09ebe5eb0b6784faec2dc29733d16c33e46bcc68e3f7f1bdeb24a6f3d44302057237ba255fe8ac59b98834af585f96e0396b9bba5bcf7a24ab558241cb2b77686e59ee3e8240a2dcac4a6444ff3a7b7ea15408d4d7bbb8be1c2aaae150b9b7f1ad9c51d02411eea8d2f6695494a4aee7103117d4ea19e24e94048c022f4a44a0673ab139c0975751f71ba49f40afb9c9462fd4f929661cc3fa9bbfe8b2152b4cdcaf15aa74431247c7c44857700089e491209c95fdffcda48c38d6cbf6057dcca358127f2751407519bca80baba3c9eec718f9226e3a61d5733de33a0db56d6996c95c4b553ee224bc2cc05f26244e76cab68554b8ed786ea81cfbdc12a2d450af727e8629f7b4fe7b3d2fb10f46d68fa38388e33ede77d38918d42b544ed7afa2ea3206519769261ea5e4d73705a0072a44605c3d944db69c7b89dd84edb5b91b204e4b84375f45fcc4f5e00dc02a43eb6a9885df1405f3fe9e09d224af88925ac6933b8f90aceb8f64dbaafca11d12966937743aae2e3134c2ba088e9d46930de812ae44848577b12ffc16abd0de99ed409de313801cd1e8162bc89141322c9aa04e6a7ac623aa0c22ba4ac63bcf9b09078126bbedcd4a9da89aa4eeba4e480d2a05d615d547323827913d5ce4f751b1bcdd38bc7915e101cf4ff34bc081fad13aa7e29e5ac46c9559032f85d16d9c7236c1832f5eea2e0b02c1936504904252d19a43c2db21ebdbd5bc0cd0926c2abbc023deccd31dbff92814eed2466101fdf69bf696bdb56071252f89794ab908b57d024bd013757c999fcc6752acb00e8f5c6d39a559054606583bb77ec1caa36a469b3bc03371ecfd513ced5fa6cb7f125793971f04f4920f447816b615c92e95cfbe90c30b6c7868dcf312c39c379ecae8a1e9ac802b6b50aa201dd77a9e9ea4bb5130df25558f4458564086ef42768e1287d0f572ee68b0d2b73910c112199ba016a95ceb5c5c195850787b3a257c22239a367bd27d989a7d4f106faa3052ef4fce7bb4ce6040616aa8d9b2e0c8bf0ecba3c89677a02a742d769b372c61b5dbad8b7d590d75997562b44ac7d0fe20bd932c38eacfff19ce06e4f044bd1ddb3473654a743063752164f8a5a8e3a47ae0e6dc1aad0f8f53b70b9a81a7d31b3b9d401bd8d18a3804481fcdecbaddeef64f6a7a036bb1245d94dfbec1f189898a64b94044b5462faa0249d3796ca903c34ef3a3f2f2dd76610d09879dcdba06c39f6f1cc9595af6620f55c8ff41e506fc69573d89c3554039f598832dd917084fd403f2774ffe4e25e2b324af0e9499b129446e1f4a14aba01c6ea2240e59f981dc9ee9148d5a89f2d740a1f0b64183c70eac7005511d09faec3e2c85b2188a5adb425ddfcc65749ffb487896ee9800a9b32b7cce0afb0e4600325bff33f8c5e0366f30f89cc3be1595b1b170ae58517a25c45fb4e87e646daa66a0664f717ef00a3eb4f7138abc2fca0bb38fbdbde6a346df3b5611c0e4910eb5ef779441bd1b97d0a0bcef61be81d778632ce18d3f2f9835f66cca8fdd87e36aad1b05361182cd52e2707b2dad23f7046a0f05055efb101bb85f2a9620025cbcc96104e8f271e6825f246c2a8f342656caa32539028d51a8a36ac66c2f089429258575ab1e96e2b4d2e7b72337be868963a519b9cb275eef2bf51ddc5a31c974a8615d7e72769c535b10e42909e0406618848f17dd417d21ff6c0aba115721308d93843c059e61f25ddcccb9d58d38957cdea9494206426fa98c51e8eb4948cf15d3a157dc37914516d3e50d4ba0f1ac2a0877f416d378d011d0101e5e3515355b0b6eda42f60d987453c1097e385829ede26087d6b1a297b50899bdbeca777a937cf965484652b453f4980a85879e9fb83bef662220e73de37dc7d94cb63e237cf87aaecaf1658fc516fcdb240658b2ac8d70f7153b7843509c24b7a604efb654a6da0452c9ca86efa2a4333931ad0530d2812b3ea2ff5c69852d01d336e9ef240cfdd32ee5dda740a8aa784f221dfd37c3a3a81eec0cac0f1c96ad231c7e5c64f5065cdc67622c3797", - "result" : "valid" - }, - { - "tcId" : 22, - "comment" : "invalid output size", - "flags" : [ - "SizeTooLarge" - ], - "ikm" : "2ea7f38feeb05b81dcae938af2f8e5ab", - "salt" : "519ba8ec8bbccca06a7dbb54ea2dd6fc7074a7caa700101092272ec85113d0fff39a32d960d4ccc4990a3467ec935bd8", - "info" : "7bd521a6fc9c4e24", - "size" : 12241, - "okm" : "", - "result" : "invalid" - }, - { - "tcId" : 23, - "comment" : "empty salt", - "flags" : [ - "Normal", - "EmptySalt" - ], - "ikm" : "d04f44faa4542b34f958d8a863801f2c", - "salt" : "", - "info" : "ff6b5b655cbf2421a66d2f28408395a2ce57264f76bd60befd51cbfd9474faa47a97a9aa0f0e4338635633023cb36da12a3051f1f369355b687304e74c5218b315", - "size" : 80, - "okm" : "77565d63e3ca67928bb69a3ac37b19014f77a48a0faae7310730b5186f31498e9797120eab415d26d0084662174cd1d589f0c6d8226ce9870ebdd19b84838e047bb5613eb530a3ebd50be02b2e984a74", - "result" : "valid" - } - ] - }, - { - "type" : "HkdfTest", - "keySize" : 160, - "tests" : [ - { - "tcId" : 24, - "comment" : "", - "flags" : [ - "Normal", - "EmptySalt" - ], - "ikm" : "fa4f94e9cdbf725c1ee98decddbe42ec06196116", - "salt" : "", - "info" : "", - "size" : 20, - "okm" : "3d55651a2b2a92331a51a43eabc1c2b4f4375c2b", - "result" : "valid" - }, - { - "tcId" : 25, - "comment" : "", - "flags" : [ - "Normal", - "EmptySalt" - ], - "ikm" : "094db4e2eaae8fc9dca0d9bc14b29387fd476921", - "salt" : "", - "info" : "", - "size" : 42, - "okm" : "c43885bce028d5894c5ce3cb40928a46d18a50fe76a6e6484699fd99e41f2fbd26c7ea7799365debf1eb", - "result" : "valid" - }, - { - "tcId" : 26, - "comment" : "", - "flags" : [ - "Normal", - "EmptySalt" - ], - "ikm" : "bfbe4f1edace02b2a3afcaada5f319103996dec9", - "salt" : "", - "info" : "", - "size" : 64, - "okm" : "2b6f393657b405215b34367f4667aa9bd1421d439cad19e2bc508e1aef33f03457c63fe59e7a5df84816429654576306abe211e187f61b07f61e5ec230d7ba19", - "result" : "valid" - }, - { - "tcId" : 27, - "comment" : "", - "flags" : [ - "Normal", - "EmptySalt" - ], - "ikm" : "71220f185f4f2d436fa88b61f7ddf4a10948385e", - "salt" : "", - "info" : "f392a656590cdd585a06ad4892d2381ad0616a99", - "size" : 20, - "okm" : "38cc1c69cd4e9d16ec97af264125582f31a5e2b1", - "result" : "valid" - }, - { - "tcId" : 28, - "comment" : "", - "flags" : [ - "Normal", - "EmptySalt" - ], - "ikm" : "3a0c2c84ea46c152104d794261413412bad2e846", - "salt" : "", - "info" : "1cf4f37e0cab71a252100a2925a8703231292a7e", - "size" : 42, - "okm" : "31fd735c271631560e953e006f119b97c2ae2281bb6a9e17f6469fc8064e7e8cab07cbab82639198d86a", - "result" : "valid" - }, - { - "tcId" : 29, - "comment" : "", - "flags" : [ - "Normal", - "EmptySalt" - ], - "ikm" : "59b7fce05176a56f9b086b2e9e526b4491d05d27", - "salt" : "", - "info" : "d0e410792d888f355baaae8e17288e982032c231", - "size" : 64, - "okm" : "17516a7b9510cd14968b6e03688dbef48c4a3b44592d169d88bb56208d1918768933865b5e36eeee04a49f2226b9e39f772a04e39e1ddec0ed004d02eef9677a", - "result" : "valid" - }, - { - "tcId" : 30, - "comment" : "", - "flags" : [ - "Normal" - ], - "ikm" : "e1dfecb28787a93133763ba4760a55a2c20ab407", - "salt" : "0b86a968f9d45bd38ffc2369a92bc66d", - "info" : "", - "size" : 20, - "okm" : "54e33876f2af2493febbfa0dcabfad73ee1f6bbb", - "result" : "valid" - }, - { - "tcId" : 31, - "comment" : "", - "flags" : [ - "Normal" - ], - "ikm" : "0941f7af65e6848cc218317a9ec1ecf26d21ae3f", - "salt" : "eacad2915534af8106c4abc66970ff0d", - "info" : "", - "size" : 42, - "okm" : "56cbfbb39d34d285eddb294d66bd637b0132160da21a75e9aa309c2abb48471848327a399ed2263ca197", - "result" : "valid" - }, - { - "tcId" : 32, - "comment" : "", - "flags" : [ - "Normal" - ], - "ikm" : "1e242658cbd889dcc0096092311e9311b94c5bf6", - "salt" : "7318740eb205a76ee4ed0df45d0dac47", - "info" : "", - "size" : 64, - "okm" : "66a7abac286123f062957ed659176fc667de1668668c8975de32ad82509375e310c1a6e0a7db7642771b34b3742bd40e7e864fd1d194bb78abefc02cd0eead2a", - "result" : "valid" - }, - { - "tcId" : 33, - "comment" : "", - "flags" : [ - "Normal" - ], - "ikm" : "163f690d4439dbdf6dc57042fecb79354bd3e7c4", - "salt" : "30ea55b5fdc7e509d001d710b3a032c9", - "info" : "6a05fa82515f27deb3d27c80fa63d2b6edcbb372", - "size" : 20, - "okm" : "ab60d3214be6c3a6813fd9522cdf031b9097d829", - "result" : "valid" - }, - { - "tcId" : 34, - "comment" : "", - "flags" : [ - "Normal" - ], - "ikm" : "f7ca016ff5fae1cc11628196efef8ad174c1dcb9", - "salt" : "e3519f32e44952385308db5455878cc4", - "info" : "53b94ea0d6e0da9145a0ffdb5cf708889b9747fc", - "size" : 42, - "okm" : "e9bf62702ce0269368dbed62556033af365833b2d6b0dae282d96fb79ab3c2e3d1f9bec52d938791629d", - "result" : "valid" - }, - { - "tcId" : 35, - "comment" : "", - "flags" : [ - "Normal" - ], - "ikm" : "1c352e65590b2f763aee9f4404c801e7a04b2a8c", - "salt" : "ecd6a227d7ab14c068bb917c861c8ec0", - "info" : "3acb9582af1a9019126d09422e715519fd335032", - "size" : 64, - "okm" : "1ddafc5f50316e2041d7b32251912db2637ee4db2aa8514fc3a6f55e30c0d92d93fbd87f575206d8a3634785624135e2c32e31d9d501661a49e31425684da505", - "result" : "valid" - }, - { - "tcId" : 36, - "comment" : "", - "flags" : [ - "Normal" - ], - "ikm" : "2e4a156988235208a93e4aef6143653b55e2ed41", - "salt" : "9d5b4c7c1b7537300d4dec31f0395e8da6eb826d7fe38a0abf4b762d696b", - "info" : "", - "size" : 20, - "okm" : "fefa48d5849571fa4f24e0d5173266606acd3198", - "result" : "valid" - }, - { - "tcId" : 37, - "comment" : "", - "flags" : [ - "Normal" - ], - "ikm" : "61a281d49fc0bd3012e1b7f5dc17e980cf611ea9", - "salt" : "80f768a758ec5e45c0f2e3fd349e432347be89d25e00817aaea4a1c510a9", - "info" : "", - "size" : 42, - "okm" : "19d1cc1cc285e5ecb87b28e2d79e898036c7a1bbf84842a59ff3be0a336ed8790a32c493e3ba33d874b9", - "result" : "valid" - }, - { - "tcId" : 38, - "comment" : "", - "flags" : [ - "Normal" - ], - "ikm" : "e94ac367c6f7ce07a3e7f83a1ea4a0ea264ddcd8", - "salt" : "5c139fd7769291e5101cc8c1ba44a356b5c3fe3d13b0a68e69b6c09f28fe", - "info" : "", - "size" : 64, - "okm" : "4fa9748afe9c8e2b27c59177add4574323a5883551c6aef7aa78a389692687f5baee384b5c1919bb1652fad584ef08599061e940bb703b4f767cdc18e85072e0", - "result" : "valid" - }, - { - "tcId" : 39, - "comment" : "", - "flags" : [ - "Normal" - ], - "ikm" : "f5d21e4aac89fa725632c707bd89d100b90e5288", - "salt" : "989b8b9b79ab82253703ce669a0540d3cfed69d754c902a9365e03c92236", - "info" : "b092e1dd4faff8177a97e86716de72f94beecc4f", - "size" : 20, - "okm" : "ff33e4fe3ddedfa408c59d47b0d9d2d9a561580d", - "result" : "valid" - }, - { - "tcId" : 40, - "comment" : "", - "flags" : [ - "Normal" - ], - "ikm" : "0d3909b7c4593f4469ddc4484a2082ab2ee18be3", - "salt" : "9138ad17dacdd0a2a3a3a37fa782ec243258aec9ecd6b3fb5964b2b3dd91", - "info" : "6ee1df3a970b9506a3892b59f1acea5e3ca2cf47", - "size" : 42, - "okm" : "efe3c9f3505f043d91ab12f059f5acb63758b6c564aa6a6aaeade4269e62fc3dd99818ce98592433552b", - "result" : "valid" - }, - { - "tcId" : 41, - "comment" : "", - "flags" : [ - "Normal" - ], - "ikm" : "611710557b5f54c91ee635c38f16222b00a71533", - "salt" : "4f7e27c2efd4e2ae3774fd948d95e30d40a16ff799d31bad27b37eda9bc7", - "info" : "f3cfd0fe4090c2927217405f339b450553a51140", - "size" : 64, - "okm" : "af1d2c6554567b1ee6c0bc593c6bec53e718ef4701d0a2d6721117918fd6de8bb9df4bb419d1ec0f4960173d4600ba8b389627e84ff51aa71664137650005cc1", - "result" : "valid" - }, - { - "tcId" : 42, - "comment" : "", - "flags" : [ - "Normal" - ], - "ikm" : "8759ccbb7c28d95d8f6cd65c3f5fb517451f3768", - "salt" : "bd76fd163a2bea5c840730b4870d168d097cba61ab3aa060a38816a007117dbc245d288c671b6ae1d2d1182a6c6765b13ff2910565660f853d0d871d0baffda3", - "info" : "", - "size" : 42, - "okm" : "e763dadcea82058b35832be4803de58974291dd8c75c5ff842e738bed150d9b4b24f3843dadc4623e95f", - "result" : "valid" - }, - { - "tcId" : 43, - "comment" : "", - "flags" : [ - "Normal" - ], - "ikm" : "3b9304bebc8547501091857b81f4e7701218901f", - "salt" : "d63f8caf65f43c2b4a5efc56b6f5860450e237cf172552b184b09820784e32967f5ba6400e14315c7e78182c1ed2f5d6964a239d92559c5ddbe16c8e27e62079", - "info" : "e239a9e88dad237d5557336ecbd72737122ab752", - "size" : 42, - "okm" : "68081986f7a0ba750e2cf9b57b714cc3e34fdc7e36f52b57bc999af1acf44f91ae55e3d53f64da75c531", - "result" : "valid" - }, - { - "tcId" : 44, - "comment" : "maximal output size", - "flags" : [ - "MaximalOutputSize" - ], - "ikm" : "11099d669fbd4f9c715f8c2b8aa87603a8760ed7", - "salt" : "4a20d46003fb71744df9f8e290df8865df367d17471414c71ca3869c4affad2df11263e7f94ef3349b30314212bf3c63", - "info" : "6522851dd450779c", - "size" : 12240, - "okm" : "91a920bed5eedf2bdf0801e60437e0ccb6a995385734b69d4a6514e939397685eed9561b366d8875e57b2d2078bcd3dfee6d8baa85ec9349b7cabfdeb2d8fe63aa58add8e984a17480c42c6c210ab54a6724069c671bb1dac85513a2ed9310aef52c21474d6f5a8f7c89a71d66f81e1d02474c595784a0308a58d40f9f0e289fb6c27c87f51f2c23d3087437d67d2f5908f9651142730357eb3645fd8017ea50b7444a62e1dc32b5b5ff6421352c6907402baaaeb3890f7396c4f608e9ec4eda9d5ab48ef058367865bea1c007c2ec976e302b32010a9b76c550f4453abc588d941a12b9bd567cf2e56e61313bc9b08cfa2809b8d77e83074c17d374ac7449eb2f36d15adbd50ab9395183c22949d4fa139dfb211faabaa101828973c30bd684624913e1e71c8e8cf88489114e91f04a52076c4b3804e2a51a7b29787327229e94aac0782f6f566b29c392c5beacfa14dceb310ff5b6593b0b67cea56c5808e048d309953dcec5e779a5fae9002bb18ae76747136426adfa7029ca7cb476780d8768ef90e69b61ea1d99c82222202def56938e6f5e56952ec0adf8596749dc8e379e1b16912fa0fc27d512d554862e0971e3cc2e07f61a1f29bad8557fbb3c71c315abd173798da0a01cc871a9caf13c7cefac898e072614ef5cd4d11caeb95744c5866423c2d43b862a175979ad8e80713e4685f466d656ccaf9c0a0e38c396bc21af740bbd26cd43701353f418b0d818ebd2f5a353a7a398d2a00b2ba017ae847614fb8e8667b3d2db11e834e0437ffaa575caf086d8037682730115a7b46ff7c5f688e630213d490460c0866c8626ca1de2132beaa9c66264be53930d29ab4cdd4bcf9896869e232db21683fccca4cdb2221aaee305b9ab4521d2e8f35348b0f202370e94bff30aa8d1158e7ed10510c749d90f86bd015ce30efe3c7d17c97b9181e812bb950b316a9b4cf0ff9920c5f3bb9105fe0ec5e128b6268f29d9338383372e1dffad735bda558defac8b5d265ab994be748fc90514a657411e653854457636a7cbf5747550c732b0947413da7a45b822cf5f26451abba2cf7725e364b0a2f503a76155fb2db9625ccf2723b3c94110d1232ed8e1adc1740a6658120978b33eedf7c9c3f69c92b283cb4045da6c24df440630c31f8530f823b230e6e2408fd82b3eff1b27e4aa44547a8cb018bb5e7e6898080677ab4d8af1e3f175fd5fd1c7ad1f89ca66a8b4a58c8c570000091d5e9b439656212e90a49a99e67a4b877e9157b9fa6eafc67b4a77c9ceb97494bd3112f76cde1f9f35ff114eb9c26fa539a41aef92d0a1bd61d08e79c5ef3ba4c20ad635699b8d3b3bff9f054ac3d86183b743e21497524e6abb2176fe99a2b61a288a567ae33406c9bbb6b05047185d81b69edc8946b012d55b292ea66d8c8927dd21f16df9494cc3749b7d52a00b57ffae480340b12910b4cefc254de570a6aba47dd34c580661dc7ded72a2f37575ae40b4a9489c9c57f57681dc64a6a9a92c059ec48ea932822d246db3971c49bdb45a8b00b72ef1e555b19d0cba6523e4b6cb5907cd485b4ed18a9bebe4c689e62b74ee54c9a3ab40c28be1d7a1976541ecfe366d1b2517894995bf4b3bbdf79edb005ad9b0d774faae0457ea805fd60a4c28b01694e5e2291a1f04767ce0d499d86bf47dc470acf7c5910fa6f46f97ee5424b3f16451fe13a9a43160b2d3936bf29980cc435f0da56d7a8d089569a8ac880fbbc185b390aed6a9f89be64950bcffe0c835c819e3c73b0f2e952f6dfac3fa12c7b18a449e4b73fe0153b9d7f9f18392f4c0465cb3450a474213973435adb59cd9603261f144530bfcb275461d498bd9f97b31011d650ab4f87ac788432cb95f4b9903c2021ec5dfd5b8522e05d7b4b3b44d8a22678313ad3c512a967981ad80a667e0443ec93d2b4e5d8764874aa78eac4d9fd2b4757f2113e8db44de7e954b7ff9dfa849c59036843913168840b07f7aeed1ab58b6b0728eaeab8479b63855d24f41a75222e230366039d7108ed46ce4e597444cddbe5f45ad889c965f93ed0aba3ececf789a809993a0ab43e2dc50782f98fbeef8aaeaa6870d6c0426231ab3634995c180c3fb51a871ecde2c3cc07217508595de29bd542a2cc43a55dd7970d20e2610cc64bce543b31112fb842a417146415e1ef6c74543f1b346ca407580c2a7e67c89e735017937e8a85dcca3999af48aebde10f0a3be400d2b7a688e3f1ebc3453b73973f33d7a079fa3bb99a51b80dc3c89e46b83ae50508ad13b2bb1e010926d011d29ad38c13877ef06d377810f71b456172832b22e8664ec4ff7ff392c8cbff2db495edd9a919d31fb74b83fa1ab6525eb42abbd1e9dc7343821615b14bc0f974a2d148750b107ac51376683b9793eae723e0bd48a7f87fc4870d625208aec1996e2f98b0968347b2667f0773a32777fed8dd1482843617d176657d57103ad1ae91424c385e47eb2a330e06d460181ff3625a1d740fb6b5a88ef7e0cec523fa079b887f3e308f233f1114438dcea74ffc92f37db18f72a26316b4327b66f6ba230122dd35475265e293990b35ca6a4cad6be5ed6d50a77f5d0f168f2ffdba44be37bdb5de35931730d1e3023ab41dbd0dcc91e35497e74ac91984fa93269c75679ee4eaf37d64b72819e5b0cd8d8083624b42aea41510e37beba9304c383b97d044e8925346d79dfbadf94b0a49945326b74cfb33d2a2ee3b0c08b2448b1c6c40ff0ec8995cf38793a3cccc323f844df199ad6b5f241f4c37634b95d38b47c586a15d4521011477e14b2bb637ee1053e5c7262ed4292b2346febdbe94e72c690ff3d844756dd62b2d8466abb7b13ddf41b3c10f408c140bb9fa40a6257bd29f1565dd63d15d9cfb08d040b85388fb59743e672005a685be5dcfbd161daf12b69ece4edd0d2dc3516e8e3c15892f6b667ffb49939e2d6ffb0052ca9e3bf57814a467b7f40f8a3081d47faeb37a9bd37dd6af10cac035bf8e298c262a54954aafc94fa8d2bb4a07c952a7a3260f348f343f198022c0d0a44b5f8d3e209d3e0e325a4c7714ac9dfb7b5b1112ce0d7482a1cd593ec75e886765d9ea412afb10ca3138992fee5a6b215ba22945ef8e4d9a5d4a7cd6cc27b65ea4fb1626e4c95ac69390cef20a32d8212ef9a8c877569028d3a1762c52a14ee1118b4d31e8b6731884e004ddfe87fb44f8c28c3a537d37ffc5fbb818b0743bde6c1ef36cf32e6df2a3a89eb791fad35e31f1dc5a194c7e0c893afed9eb610c307b5b7f754ef12e76d20ea2a52da95fb439496a8ad2bcd007c63ee7ded599c9a3e44691f6c97a0b94c42bfcdb15a74f9256cc81ec7a7c70dbf8451ee918ad65e5a2b79a7c475e3416cab06d6aa61c026f10690044b859872519913005d9ab6977648806d4e4262dab125d1d2b838cd38d28533894d6e02ea51484483088e7b8e0a01aadbb2b4841dbcb14612898feab5f443de56ef2cd73881212225d951985f7a60e3a29abd622ab2d7f8726e6559bd1d0575ffd9fd06bf5a15bc4ea6de8f1700cc8146f217227070ce3b78ae1dc29b1c699e6b070638f473c4168a4a7f349d3aae873ee8bbf958b338686fe9dd14a35e3f5d3e590913108dc57f9603e17565f615e45a4c4f658525f372d7debc0fe824720844f7039e111be621d3e2a40113f253efa86af8027dd56365eae91b66f17d8bd89bcfafdae65b7b0882417b189b6ff69e22e15f7ba0ce7d79473ae1df9912275bf3ffb5b8b7949d4c234da24deeafb3d7a2b93510033f3c8974dfb45a4a0f604700fbd078d6b2c5ce73caa5348db66d580424840e9cabfaeef8fb9e4fbe53d5b81d7df53396cbbd7ebbbe3cd7fa900738fc953b04f917c0cf3c613f93e058210fc2faf821f47c0cee28fa91ed022871e3c5e08947752a514e25fc8254107a6e8e179baefc9e5d50f5ff08af7bc388eef45d49ac99344cb057eed4a707c24dbd69c3ee5fcf4889ce5c7b1f4365c4bd0e18beccd087e21f83d69c8448857cf6ca5f09075ed36c2ec5dc6bb8f407d728a755c80cefbd432cf5078d0d99d18378f47e3c473529e7557df48819ad98417dd194e2e5d2ef5961f445ff5af22b4bb8803175a25ab7e144a2b577ee88ccb19d693b487f4e38297313e1b3ea190deb513c4f983ee916edfb3cbea35c26ca16fa6e6322e30b389c42bd77b4549a65113564abcef9f0156e1a79143784d2480de81797c8ee1e3c47d6c3b6aa087fc70c0793aa3590512bda71b7bdf12895eec975c92c86e0ff37fbd749cdd3ff5067935236f6198e7bdf691dd5a81084bdd64d3767919bec9f388570a6a54d60267bb2e36185800a429233cc375cd3526c2f35088d2269c4eeafb66bc4d9d7f5fbb8ea52a5d31a921269f2b20e5da9fa70cec9e97a16bf3b56ef5b9ba0ac16feaca2b6b2745799407cd663c5e699a5874b5bb6b3b635180fee8cdd6c7e19b2abee83bff4c76f010e7aeca36a51fe8761a85246bd51b3b6308ac28a16a24d9af93ed954ac661ee85b3a2aaab545181572fbfbc2b577ec522a53e976366de6d9e7a383e05d3086cd9ae28108aeaf97f48cc8488b0a015df6d01d2ee9e833c0110283cada2925b6b14119cbd896f85f7f8fc577ae5b2a823568f7577c70d8667c08253f3e9dfc0d89cbaf07a1bd3a6caea9502f1e4c0e5adccab9ae9e53f8cd6ace1abd229ae76328f281e66d702b2224743ce651b44424241387f223c4ed7d943991b948ce555349c0c074208f9956f345092b7d46562e2f2e02fd6362266df02479f87a554e7c6c6db67a2147e82998afb70a58b2d9429df806f06d9d3f297326a9a5d57947c9afa225515c9355ff2f7a71e3babb41d6459907c13e7cffb07f91f048936e82b7d1687b2b9d83f37dbbee6e881a04a06085cad47a4dc3b59aa0428074eb8a6dc4a22c44d72ee983b40dcdcde9e99d23a9c33cbe5cb38388a57c3bbeb5375dde7df3406f91502eac08f60017575c8acb86ffb29954787a11fec6619a4d974dd6f7b565f167dbdca3e6b63e0627ecdc0dd63ca343a2293e04bf64567328bc0b267ffa3ed8555c9cd8906fdb944520d85f04785482426207835a2f4927a303848ba2d3c925e3260b9db9e175df5e95cc2472c99f7846465ad88ef392915ba341eab7fe63570e879d3815c1a42826aa5ae86f5f9c368ff942f868d8e94658841deb4610b58ea2236457f7b6341c08da71ffa647f559ea746d93cb01c6762141fec718691553451ddaec60912da79d6334965121478be268b5b18af0a3379aa533d5f5bb3aabc8d9dd23d309712e6362632a3ce8032a091b5c605da743a528f6b2426b1bc00763585e82ed9b8b7ab92e52bcc74c7e3a8c412efb9473a13d5a50423faefaa6468fa49af2c430fe2470e3ad0e62b40bbcc90088f244c9829b641fb4456fc9ad047580f9115d203948a0c91b07ef7e82143949ff89e9c1e1fb58be6a56a6e8963c8c2b42ab1fb8be371f99c17f2549286d227aa2799140956a41f6306ceabcca2df3b64468ff2ce7940fd32abe84ede52df53e8424c1f270311611f3915d07b55e26a48f689994016e5e633c5b4cac9fd016f835be295e9350eb9967ec7ef5bc5c666fa922440d3daba8048c02d6a5b4a907f1d13cc18d03dd6d1351f8712cef8878c5ea8153f660355a640a8bc8e72d7126e94e52d4ed9def54b385aff2a2ba115d46a1009ef0381062a7bfbc4bed7a833a1adadc6a98190d5bcee8e5442e60f97d16283bd91221610a5af622cfcbfc61ba8cfc9173a6af9c56388a64643866562a1944be8675cf768153efc79ba50e8296b5f7cf67725719c26aa22c6382635f5361272e31bd4bd872dea7e2a38a332b06d34dffb8abf592f51776e54e2fd3dce38175205395b8e92fbe9db2864d15275567ca6f2e9a5ba2ef67e34a23f4b24b078f6e380eeae0641b83de548f1f8c96830954ff8e0e30cf002d551c73ac816bdb2ce766803efb7dfdcfa45c6589960e91fbe3d241a4faaeeadc5811cf6cefe61f56be7897bcf470c117a438fa857d704146188238b6629a41f0f40ee185101b8cb1a4537eca36b19b8c958c5f53e097bf2272e0e4d06d3018573ad4355879b91c3c168ac91e4ca8621d41849bd0bd5c0af6191d7c56f23a9ab0bad83fa9c410fb7d5fcc5752266a583e7559fc69826a166ddec85aa37f35182cc6aa3d1fe6d26f500e9661bc626b57c58e03be129d30e51d69a3be255d6140e4c1e47fc30b2b6ac86c08fb979cdf59c812a3d5bb8995731a420369adac3c77885ada1d7e7ffd6b9e0a05e3979a6a39cd6ecb5b3795cda25d4d6a16711cd2fefc3d53fa17f29b9bbb743867fbac4ec29baea318cefe2636685477c6e960856779199b9d0dc4788f1a80922dc1161f6b21c1263cd006dec578d59a06ed3aa6d51137bd060ee4fa1c9222db25319feed2a129c3a264379d23c157c39b81cf4fadbdf41f9c9b70a5590842bbacec4840b9463619155623e7a1246b19d6db7106d08a47d5789614bc02000e71002f842b68c947a5813a15fccac97710e6dd8ae5259b260c12073100411a50c26432c118b1a69e67ea3fefa706b59a1f85bf25d2104a9cf01607cbc18188995c0163411bf57ccaff3addc37556c5b731b781b4124dcab4cc53bea01b5be164fb745b4bcaf06821aaaa34257f0e3d1aff8515b83c445cb06f8e74b399aba2a1c16b6fa5fe3fef6413733cb4ba23ec1db7aa3c92fd570d23042cdccff295ffd21f562cd31965d282ad58be01749fdd38ddc55ad2f2e01e4c4b04a194af12daa7427654c8ce40e9f35e133e425f5b563adb668c3c8ad61506dced6fb5798e50312edfdfade074153339bd12e989f4d6c659a5813bcbae4f4386e9bdd5da4afc9e02e7a1064b5533ae5f4b8efb613101d1047fa86a4cb93fefaa5dc864ccf463552ceb37dbbf26e5c2a20b015615d22036260a2dc2ea5caa7be923978ded2149458cc6daee6335aaabc3529aa6959cf2c4611068238f8ce1ca914ded6aa1eb25cb31459b44a8e6c77213c3c7355e129ca5401b973ff06483dc18d352cf3bb3fb649ff17a570de21cf3f1dad6148f57c88b4d04453bc225a6a0402a3e62ed3c00b383736ed4cf2006e8e7b7809e4c6c53d987836a67548ad1cb3e798e4ae8669b0f30dfd30e670fe2faa76aac4c1cec8edca5c29adfec7fa705b02b16833afb3a859918081d867d86ee5b8c11244f142a54bd03b3f3bca78bbd510b5c5128a9f0f64765eef03ff279981c6136ebca639cb3e52902b13e75382e87285e9efc52fe94ff546fe49a1fe327c823afc0f1bab215f9cca3a524738981f4d0da2feb60c0068d97a0fae3908e9122764fc49e4e6e3615f8d82679d5b9abbdcd4f1a4970d52efbba4479aaaef51f3db2831f57ba4a2428df38aad6c50c32612bcbb44bf1fb77fef908c5135b2772647158d9fb335fc80695c3598ba6eae7b9477ee8a445cb66242feb3c278c299a49de54b4167776db34855b3b4d1ada61190855ca73baaf12e943865e1d6f2e1b796b7fc9711faa607d2025d683a60180b1d138a4a48d489b1a360795515093fc99ac968c4927f192b2d40f7b7d2d0531d2282d535c43caf87085a413cba2104c1218509ca326661ad3cd44b0e88c4195f5014ac5c6b282fff805c77ae25dfbb11dd2eab4f2394607eb0ddaeb26988426e5ac430899a078a804d379941210d83ab0face7790b6200f55907bcb722fa2f6e88145e30704a9fb1b10973964e293d1bf56bffb3e7718136da8b6ad99b32130e71a6d0b9bc7b8fb3374c125cba3c9c742b60f6fccd28b7f377ca26bda955fbdfc690d0f28caa7dbac47ec38da989398ecb4c91e34ff766475190c7733fad4a5642217b5e777586c5dcd0923c1e57351253d895197d7d1b55247cfaef6394e31fab7945bb4b0f7028fdc92c0542f6b6217a29ab23403be1e283da482c00cb5dd64995648932a7d5cfba1309c6899e7159e3cf4fdaef55f8c923c178a15de78e331d437bc4fc1266c0d747792363d865fcf42aa5d58700ee7c23dc19a251554ba5f1e96a9fe909158e32e991bb2921e728cd630d5e79ce26cae2b740893704bc1ada58d19185dab4589b92a4cfc358aa59c08ab8db327e9ee9ff8ad30b82fdb71544305528996b0ecd1d627d0cad4eb0cd23db869314ac2d2bfba546a5364f67bb01ee6e54972a0343ecd5cef004951916af1716b0d78c13ba4190b3935271a9346bb86dbc29aa00fc15468eb389181f12a9dfbf1af1ab9ba420f2872bb4d13c18c3d1adc4ec6fa2756b4ada61bf36dea371c386eb57c1ae832c9bef1bccbcb3702a4442bc6dbc9d10df0a6551e0e2c85cb2dc6a8a2808721a458e616842eeca7eea43e92e5d1e1ca4562374e96365bd648c0671d8a0481f3532ef28c52f80371712aa4b69d8bdcf4986b3c8dec00a0a1325df41fd5dacdae3480a1c42cf95600bec15c7971e659ef4af4c9b14e667b3a6fb2ea3498c8009be675c4233dde2c0545fcfb68c55b44f2100a4d0f9e1ffba785705260e920c6f5c476edc735d63aa9cd0c6a2461639c7acba0dbdf7699121a1135b8bd46c6768e70e75d89fab5075c5043cc9c1465b3991418076c699eeccd6fcdd0970a0f970a0d4318081205555cadacbcec540015094a17d1a1fad94cdf12e05094452b51235d37bac3eefdfb3214daed62b8b0dc2069618c1484d6c16a53ff15b567e31bc75e531c40756fad27a6146a483bd867679891e82e8391a8fa6069de7a3bbb4664dafde28139497487f223927a0d50e4b5925706c3bf4814acbea0e84de6f4a917ad67c2eb61632a39a06f58c33b3e5306797bfa7095a0debbdb742a196cfd43a0b4ef0865af7ff14064498531075a8bc331b3b821199c6f65f51770edacabe994baf1f918a0aab1a40d86567d129597a8f4421445091569977b338b5ef869bcdf6cce76c1315d50a465849b1b1ff8b334d2fe485a1fac1bbf828e8c35bb5a872b898302c29aadd6428d146e46c1da89079e02e3674da3a0c7dbff2533edece5519882c8c6d5d59bf096f87f2ae0a1f51262ed40069ae13541ee12d2d7411957b9f8c5e6eb13f687f7fe8a1b72ff65a8a30d79c48fdb2e16acfd0b8af3b42c2d9b734852abcd18e338451971e511aca29d9a5185a4b679675c6ac7fadc20a936762beca403e528fbed7fc30cb96dffc577555031f7af1c982a09dac37a11a0805527356b624de4dc7ab720b6b0a5aaed4c6f93b676edc564602c3df5f13916d46b875b0bd704416efeb8f76528adc15390958acb87992fccb8b442ab5d61e7304804f00842e56e27d1053d645cfd0af4d082d749f2a86666af02fbfc39b28066a4e921e24a9fde3295891d27c92f043f10c021452dbc4f173688729b3e48d57c6aaf71187e0d467694bfad55070940fc8510c3d90ec8efe1b132340c5ad8071c52a6dba6bb8e402ba23e1723fa69e9ccf634809c24f83611b1496aee133b565a878624ac6f6d5dcb601099eda6bb883dea9c822f7987972180d4d112025ef38dc02fd14b3bdf8fcbe7f6d8541f53721f05652cc05802250ddfff553ca60025e12e5ea9a4fbb53f65993423b10cb6f269cf930e7bb4805341eacba2279a194b7dd4407c0621e54afe7516feb222d99bc4c94eab0d8fa5c2a68093f3dcb395c8c8ff2d72bd796a5949d27cadb9f5843740a516a6103a3fa93a0504667c49f84ce23671666d4c6a058ff33be635353d52ca508497abf869e7ecdf5105ffb4ef002cce65338fcdc71814cac451c64d23c7348585eaaaf54bd728c2d1fd0e3e7a43f3f478dcd2052c63206b12bf8cb6bf00b592ba2c71a2ced1ba08bf5e88aa72f90c8ce5ae75486ebfd1be88f06c3609b13e00d80e4c21919b50ee526cd205a0766022daf9b5581a1c2a6d43dfe133f5dacabd757064ca19374596df62d464560299b1eec70c8ffa6628e07cc4679f9228c0fe2eb3a53f8892f775c62997adfb3767b1f3089eb0f98dd313d0d57cf65f31aa81a24931106a040d381cc1473291697c8a360f61e5ec5ad499a9582eb97d5ae68ac5fd5f56c2b14e094c6affb3b2032ae08c1c6c2d92967ec80a2d8c8317b78e5429991979c3037156f6f529be36c3861e94c2bc518b1d0b2c60e5af4229d157cdc71b6bde1c1762badc1331b2e6ee8bdb4307418f7c5251e3d066685970df5399cd5bd3a34c8fdcd22eaf77190c32c05d50faf22589637c448590f299a849fb2bc1808067db1927196b2f916d1c3a321ee3177710a9030ec7aec68b00fcf7bb0c082f97fffb840a14893b48025f4a9908204921229f535b7a59ebe3c29e14d4f4efd122948f88eaa4cd59d93bf24a4f4978ab89822fd07a98113f8c8bde5592438176287145394b120fa46705556f6fefbd495448ed4df5957e14c095e172b06fad3bda7a8ec8ab05968ae01457f62ed6a0e9c2beb994783e6763ebbd3494eb43d08fa403bd761f3775d938bfb6e8878c5e8ebd8830768657d52f886a88bc38390b7417f37be662f9fd6cec3a6a3264f1192755ccb16e1ce0f73256459299c647744ce62bde4340cfc016efaace1388127d7b30194e2555828128c4ea22b0b3784e814040c238a30690f76c8e8e3a2869cedb102f13f5ed4ab06caff77b278e331dcba588d74a07c2c6d16988556d3e4cc65e37df9ccd9997072f500e4da5dc386b938ea929ff4eee791fe8ff23613635791c774b9bfd2bd88f9a97e8ddfd385a5ba1c5181bd0928865c82345a15ae72a4f276e4c7282cccbe1d88e8fc566c13bf04d94d8566c656c483436a9a8489319e828ca95641756d77951d03044cc2f46e26146d4574b9a19812b6a6304d58f967d583aa7fc37f3e19c60981fbdea925c354f6e48c1c52fcc682805b2093d475854b94596b924c7111eb59e5aecf4ff43dc7d922c2aaf58efb3c7c3f06925e9b581cbd1e2e0190c5e9e8d5b32bd429d79777fd4919f3fb3c04ba8fec7d43ce75e68f20353eeffa27ba1e3760801030c74df59f114dae057082f2ae712a8da6968b0f1503eb65a085f3f3323ff90e9b12fb16f6ef2ecce3c453ef756491ea0455a863f97734d19bd7a6d168a6bedb9a402353262da2862f671063c986a552acb25d39f5614c0837cb70e1f8b8412a33e7754c033f2f7d9497367a3601fe1368b5b6b1fc1f698737fd3b7fc6bddcca356dbcb0e03e1d4d9d8c06400fb30d496eb3dd98ff20a2a8ef5c78d38315e737d03a697f9c354ca25b3756cf159c8fc661b3dbaccb36d4668b83b4ff1829fb6f92c935854a88b70d7a1a7bb273a7eb759dc220749ceab33d8bda0b64c07ec9ff77bcbd96e88ddab46e06cfc99fa2151a1c485acdfe8c9469d094b6acab4d42f192b60c2aad6558d9e970fa666a790392d4e13c3aacb25a03ef6c32a91ad2d89c135fead1da7f8e8976e523c64d1be4c13865b71e5639be295b39040f032cb0df28dcf18c687d301bce01bee29ce6178cd15863bbaed03b8cabbcd37d7455351430d5e2351263fda85c936a4fe6557098560bf5eb70b01af650f2dd5201fcc6554ecd54c9c8db75f92429ace605de5db655a1e354f19b86a691f4921377e1306eecdbdfc6c8129c6a286702c67550e1c5da7c1f5e76e71d37f2851e587186134883d857f0623aa942b9c95b915a180d68b307c9d63e92d2772f8b75057cea6fd694c08fbc0ed7a41e4700cc51f4fdd2cfbc5d77125ff429529c6543bbacf3c47e1256283230a149a02f67a6591112b3c4f5348d46a94ab3c1a6d5bdcdd454443f9e01f9b5ff46123443c8ddc657c3d69e5a4aea398394399be1d5fb2e9d8ae79a326e7467f7c6d9c35b67c06eaa74e177e2063e9d48c26d288635738fd6ebd3601795ddcdff483ebc27742dbf884e57e99c9dcfba3d634db2137568f0133328ab157e04c0f0d99bb762fe17734edc1ed3900a0adc5296f73118a024063556e491d2afb368bc647b9944fe8f70bd45bdb0c83f0b51b6a61a5b733426a159baf1a2425f1be2d9c7f4f7ae6f7316014aef6a4fa8c693fe8962aedd76256904ac5313d91f83e14878cb33cc931ffd12a4f3654636e2fccd2f2b3fc34b412d8a55d59609079f2df4b750a02e3bd53c46eaf5de5581731aee8f1df798afb6b63f037e0505d63a6cba7a288dddf61d4dd75dc4e6f7bc49a23e5516126b673a219273b2836f8f52fe3f5950b081a5a4fb190cf0110521f7c6e64b3834e1624be23ed9dc26cade86944ae0e8acced1c2f7d064e8e12850b593d42c0eeb6ae6ea391561503c69aac0d6635dd8d5d06d135c7fa03130ac40fd2feec782d941438b770d3cee138b7bd0f0cf0641e39b82554a1ce54567830afd924f6aeb4f3de5d9fc841f7b137d0c12a7b17e91f6503deb00af67dd0a0b7dfa4e942369bbd71b3f7415da174023174c3f1515971fd926bea21e744a7c7457ff83cd9bec994e9e668cbe7e6a3aabe7d05af38818ac6211163274dac6e5bf67a89f96664719253f41c44826d9ac6437ad3eea6287e1c2cb5d41161be7a4f6f12ef895e18109b9d76a1a32f5097a0b1abca6d4a7eca7faa622f8b8210a94fc724f9dba7833160659dcabc9021bf43d9c2b4e058129067b1744f8eab309b2fba7de183af46ac6715ff6aec35e5830548643f2a20a503c2602a64fd2bcb547debf5de86d5c6aea94f2026d3648394847b96fff8750543bf0083be272892bedf3b43e7b2260e0345e61ea4e795e934d1ec867e12776b94e1417c5a960bf0de7820e872aefc42d5c1264081b9e4076e370ba4e700f708b073f523dcb8df7df2af70b5c84c575454c628260f38c4e92b33d8b3cb9dcddaa3810e7793bf82af5a2eba468d47ab5c4957e622b70fa000cda564dec8f8779d21389266f4f502c6c0c5cde5db49ba2b6cde0d16fdd70c7311918aab5f4cff644ac1f1fb64f030537712cd953e8407d395b571e16bfdcf98bcbb50024aed02f79b25f8d6ab92d798049cc01b565b57ae2b0174d894f423424152e47307457423870fec9db73ce0d46e61fc8123a364c9b968501c97da14c8c82c30d22fb8b92cb8a6f60601ccdae21b48aadaab025d382b0d3e7de8490e1ced73233fc799032c1d0297c6fafd487e4bd6cac5c133c9308c2a1996f88269c472becf4238ef612b4e81c17a1ba46109de6bd8b070a7ee2859e7bf1c6103e3908eb288afec1af628bbff1b8d2a374b29b877ab02865aa5a8540044b1b41fbda5c92ada53e8f535fef013b053de6fec9a789ca1ff63f68968d8e4a1e8add9edd04e9e1bd729b5c61307a5bd1c646be4649fc97169fd05def7f7c1d4abb6149e112e4d1fd771344f683348f6845fb57ca8a801173563849b0dbbbbc5884f99cd38bf369620ee672c26ed2dd370fe161a91920d1050bceb22ebe502c86f60c9a4c660ccb93baedc6e67393a64fdd30a2cb43f0129f9e12818a3f4539067a163d8eefdae0e15bfeeef9b6e95389675110139b184407b07b3a4bda11fc2756f9664047a5f52680c5d394f68633c47183c8a26878b9a6dab3cfab5745d50c70d7775404f186ca71e2cf406490e61fa785b756854603ae2e243d20b9b4fc2198b02a931e668f76cb20cc5fa054eeebec1ba2db6e2d89c8c5f7618afac50d77d1f87e945d700f096cfce66aeb264ea9f5b07ed236076753773b771d0d5f65ff2afd7475f29de6ec5cd6aa55cdfb0fd95f5979a442a0b4129798ac807bcb41aa5cac17c0e8efede5d7cf7c465ffee70bf2dddce3c0ee85410bffa3f8d562552bea9e399a701f6ed75756766e113d3cb990536d32c479e445da9d1cd44ff646bf6813232d159386d7b070471d6c86f8fc66cea4332565eb30a9cb666de33472dd18f0f1548bc20f01f97f157da45bc4dfda9063abfd464c153ae981c8c845c2a47af57cf0266a939497c201fed67318da39e9a2c1b0b177c246d156463b320c8ac6e0fe61f5cc9dbeb919d7dd8461ebf34953a1000922c644b97d53f47d440dc8ba721b052562e55719d0827eae1d586783d2bc760ed7812b5f6a06807b7b60479728dd751bd7781cb4a7e142786e5f1d44164f1d893128dbbd07cd6853c90a1851aff438a7f21f60adf2b78eb2eb37f8dd84cc83c54c2fcb225f46d266cfbce26a554f7630e05fc55b10fa4b9261ec1a1e5e75c0ed430012d8cc8086027b16e5b12d90746d512597d21443615bb54185df950ab034776dd0a1ce34ec114b8426982ac2e9ce5ec172f63da4eb3147b0dd5edbf764847d96814ca7153cd4c99498f117f4610bfef54b40d6cc1b2a0c920fc7592ad9a4709f12de56ef685a6d3885a3f2a03347b31675cce52cefb17ea2a0e5ada7de516f40e59105e77e7492a6a49468d1f39ba8a2c02576905035a182351cf421feaf03033ae9e4539bbc0344f79c959aa33406f5fef4690403e3cc7e7bd62e28edf0aa28896cf8b7c71a1169758a2afa1de08f39cfe5dcfa0ad36e792cd0bd1cf8ce739a78b4ab6afb6e89b47d3a09efa2dd0af9146dd0f7a6ba02f3ca318fe22106bb6ea4a1b750e903417ce8fbb1572dd8091257b95419b2984f96342a9f267d04e35b11b493cd6c63c95bd3e357a8517890d5ebafc69031491e559b1c1f900ad3629581838259e7a7141fa297dd9712493fd772d28ff8820ea4706a6b2dfbdd839e37c8d877f93ac6ffa7480ccb7cb4c949b8d4d5ef1061afd5d769595d4e838f8ed33c3dae176f36a18f056ebb46b3520079fc70666e80b20de9b3fd4550d0036e1b7f056061c153addb39f183f5eee01fda5fcb27397a070dad84cc122e7d66a98a7f565db52b12949fa4424fd848023c94873eec39bdf15f28d1107c3b7cfbe749f5fcefe7358ee6bdd699ed4e6ef5306ab71e882143d72eafaa4442e63a279d32dfa6fb4af73bfd7644548f460348bdc3fc64269002a12734c9f461a865593fa087551bb29732b3a03a05f19140daf7c97cfa7ed5b334a926297b627b59dafd87b29c23d9348c395cd88ff8c3049c9beabeef96978b3152860bd1a9c5f06deb79156451d4ba7ad0a2cbf7cd465a493340b6ee6c68a91ce5d6d2e4917710494470d381aa105aa08dd6a49c97e9218ee8d6f424d7d9e476d07c02fa72ab40d768822cb7bec057026d2fce851b30bad2db1b224213615fb0d16a4e5fd167c248cef29f2da93888cd0d370077869fd10cd5206c78585be66b27a36181869cb72d45213f3fa95dc3983ea5d74c769c16f771b55c34cdd74d599bd1e18a9397632d6907eedd0e6090441bc7e6a620b06ccc3eb3024dd06660110b097005f69d6d8f9525238d8f00b7cfd903dee7b5b1169a1c2924d8b8775b895ffbcd25022280243abdde8768ca43fa96286e30da689b21ae275139b37e3ba0aa9e70ec52ac4e9ce195b6c0bdd571c2293397a9a6925cbb63de781233ab3861b9f8d9bc69029ce3763b0316cb12dcff9b255af29bf65187e78a8bacc08769a8faa58e80a3d6381a73d44639c2389c1df8f891fab67ba98c4a1db81c5b4e3cfe0fdf78fbe1da8cb0f2bb4cb657b294cb44de366c300d265c84f5401bd6a5c6670c8469f4fb813cb393ef1b8bd8d022b0b77fde66a7e320ffcfdcd007addf2960968ca0e06fd1fc75d2bc58729a8bd83b86f05dd69e1b108a04bcb1824c2064682717089c0530b0f1c633b5bfd94a903e927c21bd9163157ed4f657ed802d8abe0b8d64fede000a344ec9a5fda476c42ecc3759d29835345797fc066b9a9b4f0612f6721d52baddb62ea4b52a5af284d23127a7631cd460fcf49a62cf9fe566f4d7bede8b42633d53607d8c59da66a74b30ccb2a008f0495a7a3aaa6c2968b0fac27a4512a41c4b2a7f1d217792f862d14f60daa160ae32e00fbcde4892ee2f4d6df2770527e73276bf30c67c3bf43cd6929a90065e78526a3f2024e7062d85a741f26b0ee49833220275185e42f0b04b34a59bcb91ddda69b22d2f126bb456e9e4a8d98a997b4b5738b6254b6218928491d549608713fc00e70bf622b76657944846d2f34188c6bf1dee6837bc245f11c9bae11f7e746e6cc739d6f21dc525f17ce043c4dad5fa69ba2388f07d0cefbee3d631a3f8a5fc14d6022a84dce72a3e812c1923687dc9e6939d9de59c73240a2a60af3e8ddbf5ec78a7f36877a1e02ec83681d44d62b427b521b17f7694174baa061ec76e7731b3424a09dd2e0e9b7ea30ccbcfa1531184471881588d248404a4fd52e12742656dda29befd3c1033db7ff548d186d5137bc7030ef0d24f94a3ad96d93d6e82202e9b321298c5dd25619ddf809b8019dc239fc63ef134f6d306ff59a2937b08f9e6bffedbb81779bec9320e7802258959a39bf1b154ae8531e653733f58d8c0477409f62370e41b8152b0c56410fb2f7b506efa721cb9c5a2a4455f57baa426cf33ec3f77f0b106bcdbc6a50c854591139b9005f4f71643e7cf420931d72c09a9fef80c735c068255f62bea5088fe44f915b0081802de7a944a503fd5b099de4fb651bc514fc7e9fd1fa1aa702151319f605c27806018543382cc0fd339e823dc49cd190b3d44c31794aaf3dd8e6667e83ae8d0887be5f38ff64fa702a7325f69fb29a572b38e29ad8bf949634a8ab30d33fad5f4ab1620378690b7656ce327346a876a19ddaedb533f00466a93adaf3b5c5f0f50e6e55f29efd23deba93c0f060b9a7b985aa2a94c3154a6fb865e390a33117bee8dddfc11d6c029da0eb3e2cd21ccae8762b5a75e4c88ac4b1538a3c9126112bc10dd184974baf8a75c23be95c08f307404490dcd9b98deb880c19d60ad597f312af4434f4cb3e2ab379e71e2d778d0fb1ecd9937a815cdde094043c3d3c809818cdadfc72f599de226009c32ef842767e71d60479d53aca292184b2fbb7f19fddaa9bcdf298e86cb560bd00166baa17536d007a1213672afd8af1a869916e70000ecee82e66201c135f103a9685d715ba7b56a128598b2f2be5c62086025d944b31b1e330e15a6e62cac722a0bd225b01923dd7ae4b6e6ed55cf8b579c348951ef2c064da1bf8c14fa2f8316260909dc4acb9f3b29d22e00973f62f042045780a43b373b64cc72350098b11ddbab5240913eae26ebd39a913cfa3be1a51c62825183e076f7aaf28dbe4d0793360418d934a8f1843819ea0851c3678e1e18d7e49f8bdb34b497115fcc6bfec3446b53ff9a90bdb5d2ad855b0ed524f70bdbb5ef5edbdf87be525220b9d290aa7227096da73da8aaf860ca94b9c25fb31fb0cb3a9ba1773dca90f53a7e579fb8a1b157d257c2b216cf9ae13476220e0c5d692eba3922ffddbd4739214fc8dabe31a79110ace85e7241dab6a", - "result" : "valid" - }, - { - "tcId" : 45, - "comment" : "invalid output size", - "flags" : [ - "SizeTooLarge" - ], - "ikm" : "66683e47d2c3961c3000dc31c5a91dacd6fe40b4", - "salt" : "d9d493c21b80bdbb684b78b28baf39121416f8ca40c51f03039e700156a49e43e50f8f2b186b479bcc353ff2405f4b70", - "info" : "ce8a7506d996c474", - "size" : 12241, - "okm" : "", - "result" : "invalid" - }, - { - "tcId" : 46, - "comment" : "empty salt", - "flags" : [ - "Normal", - "EmptySalt" - ], - "ikm" : "8e9dfcf668a8b7e22c8d403c35af78324dafeadf", - "salt" : "", - "info" : "b4d6ce377ee98d0e1614e3865354cda02dfeb92010ffbade5d1f7e4329f166995a67415d56221128b04de3e8c49437b9e322986b5fe1256c7f8c81021b99ea96ae", - "size" : 80, - "okm" : "2b3bc029f0d4028ef6f73df5ed0307380c2d625175ca587b990058e434fe01a9d855b875c3479e980a54b28f03cf22e22afde1695838e667a54b370ace616597592047390a043e5767e783123bd8cb85", - "result" : "valid" - } - ] - }, - { - "type" : "HkdfTest", - "keySize" : 256, - "tests" : [ - { - "tcId" : 47, - "comment" : "", - "flags" : [ - "Normal", - "EmptySalt" - ], - "ikm" : "7ef7d4f8c11d940471cf9a3048d66b3b3a3d9db9fed5f81419fe75dd50116f4e", - "salt" : "", - "info" : "", - "size" : 20, - "okm" : "fb6126cee3fa170356a81f125daf02b301bcdcce", - "result" : "valid" - }, - { - "tcId" : 48, - "comment" : "", - "flags" : [ - "Normal", - "EmptySalt" - ], - "ikm" : "1b6c7d5da045bf8bd4ac3083e8de2b90904bc7f7830bef876e355b74466cef91", - "salt" : "", - "info" : "", - "size" : 42, - "okm" : "45ae2dbba580d79cf83528cf90e609c286bae7c46dbb13768938d88956db38d502e41951158012c150d1", - "result" : "valid" - }, - { - "tcId" : 49, - "comment" : "", - "flags" : [ - "Normal", - "EmptySalt" - ], - "ikm" : "b9da242c02bfe79364aedd7a323692191092edb2094f112675c2609a387c3b21", - "salt" : "", - "info" : "", - "size" : 64, - "okm" : "a2f34d22e31e16dfe065ec1c1ad23451f4d35fb5884769272b7d3e6b794c6cbba1d822a1c4133987710fe8527a7fbafaa2f62a996053dd8674d215239f3c394d", - "result" : "valid" - }, - { - "tcId" : 50, - "comment" : "", - "flags" : [ - "Normal", - "EmptySalt" - ], - "ikm" : "23624191960916aad7039c8e9dc2ec4e04ac61a233a02ec6045021598123f0cd", - "salt" : "", - "info" : "60dd0d1381a014491b34f0af15e4bebb8f64cbd5", - "size" : 20, - "okm" : "ef67a78012a4e48aefaf42dbd11ef3ca94fb81a7", - "result" : "valid" - }, - { - "tcId" : 51, - "comment" : "", - "flags" : [ - "Normal", - "EmptySalt" - ], - "ikm" : "ad75f83c7fef898ab33a429af351c10caaf39ef27b161a6806d34f1f4f8be229", - "salt" : "", - "info" : "69546d578a213b7f2af101c8ef532339324d43ea", - "size" : 42, - "okm" : "3d7f8c5a3b0250b5a60f035e9bab29b6ac3ee9b01aca3e3a649b177a66afb609847369853a578f7e0f63", - "result" : "valid" - }, - { - "tcId" : 52, - "comment" : "", - "flags" : [ - "Normal", - "EmptySalt" - ], - "ikm" : "cb55dbea8b91ae1ce0a07b23b1508c2a930560b8fe7255fcc3e37835803661fe", - "salt" : "", - "info" : "b57d6aaedf30bd8e25867059761a02c5d0478f2e", - "size" : 64, - "okm" : "bfd4c64ee5906c0006c4c83fd8a4b748a6e25331d204a0a812838f473f397d13c387dd0d0ca1d3642d81e32aab5ae85fc96dcbbb2cd2caaf72eb4450494d1757", - "result" : "valid" - }, - { - "tcId" : 53, - "comment" : "", - "flags" : [ - "Normal" - ], - "ikm" : "583bb04b870b4b176e58257b67ffa3b8d4e339248fb0c38105673fe7097ce47c", - "salt" : "aef10b993ba2f9c390d429441bd6612f", - "info" : "", - "size" : 20, - "okm" : "a343a3108435e72ba0d911c801bc7f5f967ddaf8", - "result" : "valid" - }, - { - "tcId" : 54, - "comment" : "", - "flags" : [ - "Normal" - ], - "ikm" : "fd4e56ade648e1cd9d797b0e341700c637b0fa69d64b9088f187107f22dced5c", - "salt" : "d7b1397162d311e603b5214fbea09dd1", - "info" : "", - "size" : 42, - "okm" : "1195353756878a030f282bcb1b6a4dd9b4413d96070d02ae459c6167db151ce988d8d7778c872c7e4545", - "result" : "valid" - }, - { - "tcId" : 55, - "comment" : "", - "flags" : [ - "Normal" - ], - "ikm" : "9ee52bce034b6c2b86d280a16cd67556de34c38c6fed2166a00f90c13164a435", - "salt" : "56aaaea767cb8a0d5178c94d4761459a", - "info" : "", - "size" : 64, - "okm" : "78bed087c82d9d93b990b8e3797b39a39484c2c4eb75cc233bc91a2ae78565d24959c70b1b55918d6f3d52ee5da75561fd015bc9df24148aa63b855ccd942745", - "result" : "valid" - }, - { - "tcId" : 56, - "comment" : "", - "flags" : [ - "Normal" - ], - "ikm" : "cb785e569837f730a147fd2d4f53f6e297453817eb117270e2d5c286bffa691c", - "salt" : "545a0de785e5820ec65268b63e543c03", - "info" : "63421fe4d31283e2dc3d8d09bbd3f9509bfd7b4b", - "size" : 20, - "okm" : "c5d6c5d28d7fe1fb7ebe398639c1044066c19c14", - "result" : "valid" - }, - { - "tcId" : 57, - "comment" : "", - "flags" : [ - "Normal" - ], - "ikm" : "101fe3335e827789564e7ef23a2a0401ae336d646ab15ed4b5edce6801f128f0", - "salt" : "317a34d74b046e021493b750d058227d", - "info" : "8f9b9f4bb9ed5ebda37ea28f97aee40d533a56c9", - "size" : 42, - "okm" : "a6ebd828a80749184777b588240329d6a628c33ae10fdfbf3a9265205e66d16a7847fd6b4691eb8a6833", - "result" : "valid" - }, - { - "tcId" : 58, - "comment" : "", - "flags" : [ - "Normal" - ], - "ikm" : "62dc1cecc7f444d924e20e9e3cdef183b5120b1f5bf863519826fad284c883d9", - "salt" : "1956ce69bc08e45ce86f5dca57d0723a", - "info" : "0cf3a7823b830f3542ed7e66b47be87c47e6da99", - "size" : 64, - "okm" : "b829a0d3f4ef7a297e297c1b1411ce3cb25b765d136902623433e46d3b45e1783591019561f11ed7779d5d4e9f9e932dc6eb4e11b791c6ee613ee8b93196999b", - "result" : "valid" - }, - { - "tcId" : 59, - "comment" : "", - "flags" : [ - "Normal" - ], - "ikm" : "2c1fdbf9a2fe9bfddccfd8edd7235551fb50e642500f29e5425ef7f0e78d3905", - "salt" : "be744780200ed6f2027fae8b64f2de0da992369a19509e590c36f82d81f3", - "info" : "", - "size" : 20, - "okm" : "a528560961910469c97c9ab50de0419a057146d1", - "result" : "valid" - }, - { - "tcId" : 60, - "comment" : "", - "flags" : [ - "Normal" - ], - "ikm" : "99e1688fbc1d2f2cab80ab95a86b301be9c6d996aac4f13ff7e707487126bb89", - "salt" : "bb869fb1182f74b65154d5e53f45b0fc3a1d8a6eac58eae2c077fb29574c", - "info" : "", - "size" : 42, - "okm" : "6860348391a148efd7b3bb90bca90b4ae8ed5896e923110e7a1780e06fdcd248861f85075f090a406def", - "result" : "valid" - }, - { - "tcId" : 61, - "comment" : "", - "flags" : [ - "Normal" - ], - "ikm" : "d8ba14145c3b749c50e22ff58f552dde9dcbce9fce3c3290ca3a2ca04f3d1eac", - "salt" : "026ae3d9c6b5175426c0cd000b06a8eaa9887941820608602a01cd5fd891", - "info" : "", - "size" : 64, - "okm" : "29711983706227f9e9cb20754c22b0ff2228547a5882725e10c8230a20bed7f8de41f6f5ef3deba7194f3ed3cd4c14a6b2c4e11a06bf4ba49b9a7d1103a4130e", - "result" : "valid" - }, - { - "tcId" : 62, - "comment" : "", - "flags" : [ - "Normal" - ], - "ikm" : "3933360960bcbb94262644f81fc832b15eb47834f797577fd9fa6c2110ee22d0", - "salt" : "f29df8b80352ca0c08109e0fcedd4c24dd0547f4f2c67cf51caf3553e7cc", - "info" : "ffbb2b91b560790cef1eb610e013082986b47fdb", - "size" : 20, - "okm" : "9711ed900137b837ad9d8f6af14b612817bf4c49", - "result" : "valid" - }, - { - "tcId" : 63, - "comment" : "", - "flags" : [ - "Normal" - ], - "ikm" : "5ad1ac7eb76fa7cc05a30a6f6236e25d906bb0160cbf5f89350887523cb3f7fe", - "salt" : "91840321a9a3030285df668afec60a46579b7095f3c357bfa3e403eb2080", - "info" : "7da7c7a79c9d94bee3b561e532766f8cb329a11e", - "size" : 42, - "okm" : "53df926524a4f0b341e45beaa0a588a4a5d462b647dd459e24fc1788237b161377f5b8a561234d78732c", - "result" : "valid" - }, - { - "tcId" : 64, - "comment" : "", - "flags" : [ - "Normal" - ], - "ikm" : "59ee8495dd1744f06cd1009858da52fc81490e1547e0f8b173da0818dcfa0ad3", - "salt" : "31a144d8fd2c31ec7d6fd63de0c70e15149ec0f10595ea2d3e4a7db54826", - "info" : "4d5ca4ab21d09ad04d3c7a71b5c8a8822f1ec808", - "size" : 64, - "okm" : "872b0f007719a999f573dc40304d13794b9e6d3e56346af11edcf9b254982951112d643f78db4254968f47f693dbbbb13adbe09f464e1544639291b27433c54e", - "result" : "valid" - }, - { - "tcId" : 65, - "comment" : "", - "flags" : [ - "Normal" - ], - "ikm" : "26c100db697f01ab998be43afbc294cdd0554e43ad75a6ce5de4c5fa427760dc", - "salt" : "80169781fc54f9c49e852e49b7246174b7017e02d2ce71bc7ce851b82151688b34ce1f203930e00b7f6e8d56b51b3d33d688fe24dc17a935332ed32372cad575", - "info" : "", - "size" : 42, - "okm" : "896fc66aa2a5f16a892d91622bbfc0c044a26b11263006c37456f034933f3c54dd9cca4d53aca7afc924", - "result" : "valid" - }, - { - "tcId" : 66, - "comment" : "", - "flags" : [ - "Normal" - ], - "ikm" : "5e4c5e300cd1337f3b833ce4d3a0bc13b5a457577e157a94715b041833882fc2", - "salt" : "e365c68a08cc9a36d6044c5e108d784e801da10f66ae266fec614d63c68caf222ba75ac7699befa2e9f303038d0e2d07fe3818fff864068d2b714f1758a5f11d", - "info" : "496eb6088ebcfd20d1611bd18ae36ea8b6a6259e", - "size" : 42, - "okm" : "8893b4afc4428ec453864112f5914a1ef8c714d48b8da28d457a5bff005d188dc920cf9a7ebc838f0dd9", - "result" : "valid" - }, - { - "tcId" : 67, - "comment" : "maximal output size", - "flags" : [ - "MaximalOutputSize" - ], - "ikm" : "be0bd5fe669eea69f9e8755c3b69e96c6079ebe6f3722e7fb391d8f7af81b112", - "salt" : "6e8b3fcecd2bec25b7b24dfa32db7dbe3ba98329a45f0de44b1650373ec343f5f840612a8eb9f13e469f6d2d988e476e", - "info" : "d6aa7700ec54fa25", - "size" : 12240, - "okm" : "178c84a19e11289d5a0c5d5570df160dc092a9f6049b5b49d59f78cbaa801840ab4ef88248f55223b6e46469049bf48da751486ad0b064f1aafe04e8134c412ed1fd3142eafce8e9385835cb418a78e0d8d1f5edeefb34ecb6594cf56d6ca9d675189997bbcf26142e13e2b7be24ae535ab22a31af81b67e72f15f9301cf7ad2ad616d4685547cd974ac1138767dfff31ba01b65ef2be0532b9dc8e458473dd10fe66938b8fd706fc80b8053f8b8b2ac67ee174e537e7aefe3206c2e484daff94b4d5c84b346d857dbd34befb99c9baeaff996e684938551acb1037105ad31ed9e6d1285378d77fdee1d33d38f7084532e0a9e1fb98a7133f8e68d7018ada6c1c3fb0ee7134b02dcb34de97cb07ea793c08293456b70b03c1ab2d30bb8aa6e84a9c12651e1569e2e2c5dd83fc5752787bcb17a6b862ed992fe5e4ac10053469ea85d4dd08f03507338d4a564814986c037828a06dcda506667871619481130cd895d3f8787ddca23db4ae7984b9a2819f51d210ec6bfd41c57674b6182ee473f8ccb472165e2ffe5c620bcc3c2bec7a3de178f53f4a28670096e36069156619198a8a8c89be4480ebd77652d85304c0296a526ea87594c34317bf6e31148896d463db13f1741b5f86a0c02c3dd6b60dcac8a0cbd246b0283e484676c5fc030bdcaf1f2ce58c4e57308d676286124d122137d980599abb45f05d63deb53fd155167857c7bd2177429ea3b97598e115d751acd2cc212a26ff6376d0e6fd2f861e66e190404a974433b548620c55cd901fa45f8e81d3d7791eab057deecbdbe43e7158533a7fc98fcc04116f3c21d739722bebd9bfd35d3f5b24e5b6244884e0e16c59f8cc9d2315039a90eda68fcdb5e70405ee96cb86a01c3b90e6f6f9979356f3039e7d4b4a345c62269f85d009599049ab8cad92e8417d71192822e26744a99ecd7710d89a805b456d004253f887a70f0801f5490d4f1abe32932e61b7f6d96140bbbe514e3c5cee1bd21e4e0ee1070dec6659e860425ffe2eca405d5264a8f172f71ed0a31a834cd8616caed3a3b52302a6d6efbde2955ee3fd3494556c86e86feea9673c5c7d0a2e7a11bff0ce0ccd7e085886baaf78634d9fae77daab00a28a997b5cb68c286effa1a823d4e02121f505264283772bb61dfa794ed10402b133a0e8aed3d1dd5b1061372f88c3a5ab553c6913f67f072d2fe93e0be986777ee29c9f674bc04f6241968416633c31c810c7a96190426240dc826aea69040ab4e85c49ab0ce39dc41acbd3faa6f5c1f388c25c68c0ea464dcbe642fa96377f4d63ba3cb67851bb39ccb71109caf1569a4c6822a3e73a5a48263ddd9f45c9f09176292dc439b0ceb468afa8c57689c0e274a14c4b21e2849c2bfb0f7aa15b9f10859a2792e1650bb24426899f4d351fb246f7f6f613725042c97edee7fc53343771cf214377a565cce05c09ee1a7d802b2b7673cbc5e66969c753ef8b10781e7e8640d4f2b115bec528bedd57749b115dec41659dd78f8c45917c07229eb904dd61d84989fda1d99ee1c63f28638b19c37d1377e545da9f722e6811c429fcfab14cf22342363211bfe85d3981c256f3a8387ef15630a63f43ad45d79e1545b7a220a03f3d30f2aafdd2b158cc5223ec71a0c42bf93ee2c738c1f7d604825d0337a1f3c4932911737dd3fae7552957254a021bb9bd2441312f509d39b1e347c081f7341736971bcbfc0ab91b091457263dd71c995cdf1160ad8181de13bcd90d731606542cc51dce1434845707b5824195267b68df4446c836b8042c49a267140c9208b2753c3c628ca53add3642506584ec2bcf65f3615f70efacfa0ceb5a8cba4ff05e773bf1d3a843ea2220589bc696c3bb1ea155d6606dd623db81e8bbc8df658e476d0d397c2b2bc9b19a7595c1818b8d41d09ef033687e2821a2b9d4dfc61996ae8ea915e9d9757d877eeb00a3ed0794389f781f0f28cc95f00d5f8d343e15c15b1d51c042fb9250a8a2ca3f9db8204641336a7b5041b9b04ed9e913e8691b34ababa4b654b89c47e4e98c73ce2d202d6d66b111e986547883132f56938e5bd2d8695302838b49523a3bb434ab0658844eb06078e0a12e81a66edadbc870e463b676f4abe7e96b29ab558a55bf5f4a6271cc3cdb9ced96af4edf1979022095d97658cb83026dcf93477d6bb278c04b070542f77beae66ae44c3d414991eee438c34a85bfd36dd7af126135ab0c5b83495192fc3156d54a684facf95e55606e622645415ecc7aa391211a06216b0171ad3cff954bc96747ad25411f3fcf96ce644adec9598f647f8fc651b4b3c4e0f0b73e2c08552608375e0c690c60c6ab0c405a5c8469296425fa3846a70207c4ca5d55246eae50b6390de7c1f9223020be85c2919d5f9f2d95a0ddcbda8d39ad7aadef00b475da1292390a84c7777bac737679b615f49671b66bc4ff9059e28218f3f109f4ee0d2e03da0de87abdb7cd2d13b32c0f77a1b0633a0caed4694ec547df6a1d0933baaf8b9a5fc0fbc99d76234d69dc818f41c5d8287e41e661bd08a9aae61d7e4a875a08bccbc12c3667bf800d3dde0f85a34a3715e1f5d306a2d3c1868bee4be596adb5312f4af240f378a850385d5ec3a4701425a4ae46b22e6f72b6bbdd68332b6579454f368ea068ae9d0d55a27194f5515cf66a48d6b5ea59d1304129dcc3633f97b3a0db8da5329c51b15aa6970eaf242a01ae5c7dc5d30a82f60ac53cf075bf669583b05dbb4048245046050a37620dc283cc092c024b87cf5d787a3a1e9438db97f651511565e4a6a8dc5e04e0e7101b8c43f2fcd87bee0c5a29a29c773f972ba0eafdc97745f5725724415d5a8e80f07b6ad8e36e63ecc6d100049a16ec5ecad98b165e742fefd099c412903f91aca30583fe475629ee19112b489389cf13c79a30477c458c9cec6e3964ea2b108c9622d204400adb03777a970b57e9f84de3c7eb4f8797601e71b385c9ad780b3d704ac11750b300d134c146f28a082b76b924c23fe055d19f5b54845727e186d6f532ae8fe1ef371744ed9e7bd982088681d1142f1fb48a16541503af6b44a545e80348cc673ebbac9a8cb8659ae796ec6d0993dfd977ff1ee229f6aa64f6fc05f653e03168c26005dfb72ef46059a27878b4530f31fc8ac869bfac2a086e51c363ff9aed11588e6e4e75519afe4afb8369825d9c4770528b875cafc2ee70ad6cd17bf3d1e052a25a6e5c385dd021903f8af13c585bd5e1b6c79d56ae8901dceec147a60396263ab9f7f515a2b0fd482ce1a4ac0ea35b0ed4689489049393396f2704eafbaf8e763009423da0f9276031678b1d8664ac16ce916432c51772770eaf410fbb2e1c4b47b57d0fb1184a1faa479fc278e9fa9c744a1fab092d64a2baa70403d4be9dab832a0c425972eaaec8258d24c18a108f6a9f083875f7c2f6bb664e910eddf81a47f8e5c19ae53fc7e798bab961ba4320f7fa447156996cf8d68e5aa5c3d1da0ebd8fb0de8139cc4fe3dde92940e47e3595eab500d9c5ab381eac1f485688cf11797805293e360eeca708573b8e70578868ca7a93eb6e414d71107687e6dc18f1e7f4cd118c887096a6953f9be1cf1ce184f2f194d1d0aea6b0d0b769799f283c7d114561a1d172f994d89a1e357af5922b7ebd38e2ec3f7908ef42d084d9478bcdd122ced72a1195210620dcdad393b27827782f94fa5ff2b1c8d4b552d4f0469752d31f2d62a2f0ac7d6d859df16d57f1680429dbb26b2b31818fe9730b60f996bf516653b8ebeb04390b51221c6d659feb9678a5454ce366500458053759facbdea96d91506a7318a8cbbb47dd1f7080d325dce7a7bcd7dc944b8c93c222af0393137558532a157024971060339268b36945d3821ff5557b7cdcaf5ebc218f2792fc380ad62853f235fbaeab59105c07633941196da2eb3453059760dd8c9e07f9454cd864efd30c03d3e8014e56528ab8c33d7471bd4224eaad88efdd44eea72686d752241acd7791e7d4623e563e225fe8ebc867fca8ac2d14e4fc729cf3966f74d49fa9f306dbec06b4861d5429a3e6ccfc31a47effb3595c4006b618b1a7c08530bf488c6c2372d1b64a11856504cc81bcbfa727fc6d272984bfd15dc1aea8d05a09db8901cf68649f3057437b071568772fe466dd0a53cb517352aace537de9e55c65da78946195eda4bdd0cd008bfc8db1830915502e77d804efc7db9555cb151b1539cb5fa20862209bd620cea6c5a2c93571bf89784b6ee5e05069af5ad22b0a54fed69f08ff96d06022d23b2656694a1d1b3417effdbf54c80835ee518fe90b424550b9fc76491d0d02805b954b37f724ab3dbf5a7013c9a724d613a5165ac92e993f46257015381e26e1e05bc217cd90839b3a786e143f9ecb0644c8e5bf180d5f9ca24b8acb1c8999ce0e00e7c6463e638758db047484ce88b707a40421517bc8944c94a4ea2ceaf875d8b746ab1b3850ac6562d2ac4dbdfee9102801debc2e12399f5732699b6e64c647150fba635ad8f706edc39e43ad550e8acb263ad7e15645194dd972903b17522b957bb392aef2e0a81a5c09a23a4374d3755ea71fd55eaa1552c0c7140d485287223d52c886fb8bc575cf956938f5d64a16e5281e4b57055167d652d9dcffce1f7af4b075ec2e7570468a00f411719d21df614b5c51b23e8895eefeec09d224405f46dbe4473401ded74cafc081a077474c6f0600fcf927553c46bb782869cdf951a83dcc612aaae969fb25ca3faf5507f09b001c4b0b38ce47bc89260dbfec9f02024556eca372647a2e24bc9f4a20079fb9bef3e3dc2dcf6595d548a7f1aff2110f6bc4cc6b05553291312ac570ae689c95f37e2de086bc100828eb2bd182d5218e02b7943f72eb0912e81bc923d212810b133347a55f06802b736555c72caa0ae84795c064c284332b283b13731b487ba438ecaee34b3756e8439a6fd5fb791f60621e8ed2608474b328f9ca71defcc49726cc16bd13d69d72b782fdfcb8a1f9663a02a03161abb61f60d5fbb6d8d2ab643b1ba8656c37b76cc167e37bd4142277f80dc1dad548b711b8480cb2e00af2ec41b32f1c7992cda72a6b1d7181b7c0d8b7d977021706256ce31c2de46611252469691f9165593c06ae3e193e72356b0995216ea7ee52577ccbbd85c8fc1bfe2c99c80010cea34f2b8d03dd2cae721406bfa9f792c80160850d3678fb45745a29e388b55dd572c84aa44cfae5ee9f2abd70791a2adb1cc4dff7835329fd278c5a736488d2bf557315b10d275a94d07a71653377f625e176eb9ae1b3f2d956f2ff230e5050e9b46400d8c871222c13456188c4fd2a63f4bb70d7d2e34eaf70edde1c9a002417962686309e35976f5a10e5427f94af6765de2ab8266b537c50375930b0493d74b71918a0018d4ba0399e54474be7038fcb9239096f36a526fe8882bc18ea8e174aae8b51ff9ff48ef773c66226820b444fae51001a459ebaf3d76b28303d81cc3260d89386883a1593b0cfc772ba6e2487316e0c61f1aa447d8d737f0d325b6bfbffc505cb997c37ada7405f064ca5a402e135923174edca6745414905c0fde0986badded3114281ad7fb83311de7c1b2efb00bc6d57bb040e7a775df9951c5f76eaec956edecec6ab959b80777e13a934696adf7497f34e1b1c6b8a04260f435e6cad50b8163432345000110e4f202e0e46c3d0f93f5f2ccacd5ae3fc750a92a1127ef9ff1f837a02d1e9d984c54479d6d223720c032009e7b565d9571a176f787224873cbf49f927092c6961cc0f56eacaa97dc12b6470872bc5bc393487cc95486b6bb3915f1d5d924fe9217405f478c379b954365d7a855cd1f8e090eaa0333be4b12ff6440e4b4011ca8af46b05675693d3acdd7bd272d4613577300d1e93bafc195a27818991a9568cbff7c92f527617d951c3377225ae6688f37d6321d9c539577b5847b90c5744e0fa65f8911ed65b4616457bfc43eaf5c32634b6d8f2025e136fd9eb68292d31bb680291bb6f471ad00998a4426a6de8ac4a6a5b493d461093f873a5b7e5c4efeca3472b3777f40123c0fbf78b4da77a4629e7dff009fc6531cbd9f16729d32b5aa00ba3de48021068731d0a3c2eaaec55c67384dca75aaccd6bc88cecd2834be4681a2bfb25edd5a640b80318d8542ed5e06e64088189610d6860ad922620ea36adaedb822614614b2fde2bc93142300a6b979001b4eaf97cf647be72695bdb8b03f38891fdc0c1a620ac31b252a927faeac7acd60c6f040bf7b6acec7b1223d686cd262dea4e26d320e1d02c14dc98047bd387fe19db0c18106a9ef3133265108e29e20d8b61c53b93c6b191c5491382bfa04b958fbc6bac8ab7af7ab3052b9b4aa1ffa22b25d22ef6d2e17cc61c9a77c70834ed075d9240be95c15f006cb2e16a5b1c0da894194244fcab3b585c0ab41904ad3842a522354c4336ccab939db1c5060d049bb28df0c959e7c1b9a99e453e0f25639d3e7517b187ed0975192548fbee5be22ffeb71cdfd876c663acc7c0aff39c51a4e24c9fa0462e661e051c1f8ce25abd6bfb44c63bbedb498196fa82b82392a0006a54d4e61a54aa679a47f14f2d59fea24fa2b57ef082776745bb84f256900e1e2fa8b58b8cfa753e95bd6ecc04423e613f832ce95ed98fc871f4d5732099c22c3f1075326977f7e307ae5a40ab1fb3d66c50389ff00063f425f33dc17013e82d4bd479d49aa3771bf533ef3f342f661c66c1f4e8efbca39421520fb29ac6305e2cf6406acc5ee22ee8d66d02849a0eb5499364fc46fe941df05d53004924e334daf8836d8bac30be5881c38b69098c81345d7df0feb7ba038573142e51122e63847c8b35a64095b05244e051eb120b752b609cc2b3c328767d1dc88cf0bcf036c38e89ad5b198b6e3794265e361ff7c0671c86aa94293024abe82c74d8dbcab29adce032476bb092615c7c39f7dec8fbb259a544ebc80cd95b8ca5dbc491b80497257d5ea5d18fb5604277f3c9274e941dcf3b47ad8278d1b4c8d8366e184cfa4be2bf02aad51805595720e047af91aaed0db9c2b2502e2804a3b37c666e9d5633909355c56de5bfacdbfc25bbd0ffa3254eb201b80678c0a4b26335100a19d1fe83f0bb28ea9aa79bbc3f5df402c6f2baa20e46268b81d45ea1501af70e58d09c4ab03e4f2eee565d934b7aa0e0f7e2da5fe5b2c3f662a74f763a5641a1c247d3da20300044deb915c749a1fe71d4076a856bce0eeda282151badb89d544e9b410b12478ddaf5ae0bdd929d8004aea59c1162c745e6d1797722c225011839e078c23b2399275608d0d68a969fd05f6a214a1dda331cefa3d8f476899749d33ef2442e3903eff19d77c3db511896d4d8c21be920d93014c7a042f8b81a4547dc19eed4203b0db56a3ed8a4e9e23e28bfe96ea2cd3c0456dd388a469d7ee13cc4aee4ab4ccbd4a0d6b179cbac6331efb7a590c243df7465464a9d6d1f3b36c9aa246e847954add43702f65a92c52b287e33f43c555519676050fcb0a8aefd78075f0a3cbeaa2e324223122837d2527713ed75e95acce216f9d02b528391db3b888a36049be93c6762066ce8a179eecf5e12cef883b3e9a96fab23a8e0bc1163fa096f65bbf142c8171c763dc64f8f001273cc4f71e858830e341243adfb09f7b1b72641eea1b4ae502e31e8c1ebcaffb02407a7bec9bf87c1a395ead7436076144f42bb5a17abcc1f71b0a2964b04a187ef17ef7865e55db6d771b627e31d35dd3fe821b87e183f14457bea9cadcf69d6a77c23213cf113301059156c381d1ad5a72e2bb8b818cc4a0ac1f2f769e69060fe79ede6ae4a0ca15b92da07ecfe1ad1a90e6be07a61d00624d73242659beb77ce70f8345351fb6eac52df5f3817886cec5b591af3601e64e8c3621ffd9dabc88c4eedb59ec87118a7e27fd224d2c4b2af874cbf76c479cd1408d59b4688f67c1f0efc9c71a235192b8eddb732b34740cb9ad0555559b061e3693e8cdd2da894cab6c8d9af814ed27f1c25ceb1c3437ce0eb38b356b6a28762fb777388ea82f6988047976b78df11d650199dd78f9002fe316342642ab99649ad18590008920976c469e6b7874646d79a963960de5c6c4185f726772b63f65bf32f738330fa5327d7698ea53878fa4f0d88250f9225201faf3977fac722a6145fd7fc78368fc348ce53d9262ea448c5f6da796b1d00664c7b455509b71d87e7f7bff09522798bf28bd53d7050a1f711670638d8b2073963258896e73b453a93a2101be17fa48323ab40a6f41100bc4135b90c4c3939881a27d1a86daacd150f1098975b00319b4950925e24cf4db5186262e6588c7889f0702022c0a53557c52dec1da7196ab4eba36b61eaa31d3ae4b2af46c10ff69c6b2e4397c0e836ac691230d8744c563034c3b8ffdff54c1f1b7e12222e5da7f10350a592502a41b3071823fbb28eb181ab26ac29027a53f03f0b0a0cc1d7f9815a7fa5d5eb8be2b2b53e41b10efb43469cc27e9314ee23cc7f00bc26438c2223e3c93b77e9b0f825bc7470c72c799563c6ae429f38ee7dd69f66848f109c3b7bdcb2b4f7dc01d066879b3fcbea2738ce6e1f124c86fd9c4bcc5dbdc333cf9b99b0297926878c275e286d411e9e86fc078a4dde9516773f24ff6182f8fc88616bfc103fb71a328a710fa8867853bff9f16e6777a96178078de5d1bf0f1caf43701c44c76798f0fbb7f07ff37c88af687ffc905917d194e785e1edbc275a5e1edd58f891eb909d661f00824f576d50e641aae8576d502b1c3d715e15d480bce144d8e5b09db7100bb656d40f089476310e4d2d97653a895c02fc6085acf03bfb1ad9fcfa65964f0e900d2750424867f13defca44c98f1298a1f785152ea81a4643408f0fa7730273b1c9c35e14a4fff0529c567a8b365eb4c5c422d9437194d370f6f692cc635925dfff40364b8a266719fa26737865aa6764db3c02ea78fb0bbc0145f44749def246bc93f4fc4061f1ab764eb7753be910071fd12b84c24dfa895ec185901affb3ec2c11c5197436f73f983c1d71d6b3693fc63eeae3db7d2440d324fe8831596f1e2dc293028b4dc5545a1d29ecfb7ab6025581f4e36e3190b5b742ff54e73c68291aa64987492e534221d99b73742faf8671fd0131556246a26bb6a6d3757b12471d0436216875f4f352449f40c368352d56564a1e63de63376f7153993f3cc54b29552aaeca3a2a878599656c2c9509c82003125a0f82c99caad212c22f9eee5e04aa80d4b61ba48dcd631ad482dcac181ce2099a67a036c6e05d73c0aa3ea7f9a1d9f132dbe97d951c50584c28d06cc34ca1e8c167032c01a4b1bfd43d99445e2bd5bafac1282661c149807d6842f3c59fb2f3b8557fd22bcb7816d0f7fa8d74d1b88d3ee956d64aba58fd8dc835dab21f129e483394af3c8558128fa888c6f841c11960299a9688a633b3784deafd24ce8250a4150e6a9fdae17f45048feaccbb076faddde0211331d7cf4d6fdb9952f7f16234ea23aec8cb0b33cbe9388a422f2042a11929c2277ba0553aa66e8a56dfbc3b597c1a0e25670c78b2661d6816f50ea271f1addf675ab5b5edf3031cfc8550234291f37448bd804b8284c31c0bc71ff3afd6f8590b30f058ed20fe8e7771404f84aa0beb84c436a900857ac5539141e9a54a6af40118e2f0ab768d1a89d069cca14a0cb0b2bc79a963bb7529e0d98736fd140ef8a8e7ef11455d19338455498635dd175e55ca1e6877b96a7a6c987d53db958fe30ae77abb4ad9528ed5f480d9c2317b111f3ec5fcf07b0f77ca08d9ee9f73d8f9e0e808c5f8d4e12de18412b426d9efa3a3574f09d7ff5edb2fbc27ed9664b83624a9ec9edecbae4db221c3c7b34fa80243251e5989bde3bbb1dbe9e41c298a7a95f5a47ea33d3ff6128b25222973f1ca66588d9f8dad053f9175db17734fd969f80225e725a5a8dc8311324806ae6297fe765e5bd062a9b33edc14f1243eb4129b3478ec435993b859ed5df690541a8b390f1d458b7bbb0595ebe1634a1ed03d058ef9bda9691299f1bcf6134002097e7fda5eb37a2bc1ab56fb4a4423415f2dc912234df1156899147719db87462926415340dc405f73c758fc57f190a04951ea8f53a6f1a2d622786247d27c1d3543bb035ff3502077d6883572fd4db4168781bc34518c575ab0093af6bf87dbc5e199e6807b1c53694bc706ecbfa867312ee79e1912e96d751b8a794a6c1491922264a5b9ef8a9f5bf0b47c7e0abf19cd7bc613b8b643209790e710952d3460b552ea71c123ec05dabb44027b607668a4995e1f390ad19a8ac7def3fc1a2d0b502e62cc7951707337e1b62c63bd5b5523530aa1e17d33240fe5656feb7b0bdea6f6a1ecfff5e313889c153439e6a5c400657a3599752970ff380a9f6eb23b7392e6e513e7e4112319707882a84ec5b3b3ebc209ed9cdf0d3e30d3c38cde25cb2ab41045ca57dbefce3a909f955e8eaba586d741da40c14b5fa82f86cb700cdee049e8e99e5cf7c8c3495eedc409f0e772888deef2671ccc05857f73de9092565bd551425118dfdac83ed9711b7a7ec3180a0b45440868b8ae876a375400c6eddc3a39abbceb0bf29fd3e83604c09b4b2e5db89f2fd4e24c2d60d64040a1d92785c31520c9fbfb1ecda42499038724a36267c7ecc959ab6f13426f919e7af3bcee659b783a538aed5996da2dc5968c46128dddcd411c3dc703991077c3220ee10774f7f0e9ff9dad004bf9d6dc855db392b80312f594a5b8751b80940d795f2e292bfda390bbf6e361e36d72fb5452aee341c8c2f5e390068d2ae1e960bcd372c91bd90b25646977643bb92af675a5f5f27fba9e03d1dc996b685c74a28fbb77b760414023d8ec3cfa26b89d04581c5606d21832ec38361adc06cca6a36834606fe6b40b498edcb28d600ac4be717bbc27ca1a9056034684b89b7b7dcce5862ce00a48ae6fbeb866ff55fd648c8cd13278920d395689b03a228b14b75e9e20592f548152b6dbcbffeb64c4fbdaa578fcc9d9b15679a131ecb15380e21b29368d5ddfb26eedf846c54726e2a3f7b3718b85931081ca1f6cbb3672c5192df1ad6ffb17b98edee6cc92c4f7d406a99e60649f6d7e944592c6d0bd6337e01bcbd82366fcae897c3238e533cbe2e4eb7f0ec3bc2228bfbfea63aa3cbc18004d0e0d2f4265e36c59eb554dc30a8f5a3cff90f2dbe836be0d5a0516a008513e6114c807738343c9d7f909b8390fc072885306860f7e80cd9a33849ee99f454081d6bbb740ed8d7653852db67d21b4351bf908d168d7a4e582be6d583c1c44cc41d3cf1f7bd3b6490ae3afc3f6de511eca1db33ad06747c42693dd2884c21dfaa2f03516d846d2ad5f2d39f52f247c51bb2e3e9d9cf432f8e081db41bc65652c671da355b2b69e81d06b788bb7ce52593c94eb84ea31f5b57cab2d91801787d1ca502f97c6db5212e30cf7542d195b07d79a65a97bf5048813bcb628f53ebe29c307afd3e37256117761e7d4945ea29a751dc0f66cee2b8951a912dc2361c571767737291087e70311e88c26492eabc5bec700ab3684eaa4bf4e674a46a0745154037af3dbf2504be7ca5669de0f464899f945fd87a657788bb35aa0cf1fa7d2e2573cc853d93bc35c1b0b8b7af3736160566f3d7605dd52e6bd3d77124b9da1490c8690d3ba9c227204df60fc584871c65b45168952fb41f6bd76fe737656200cbf05b81d871e184d2fac32d0e8358d500345d204edb3c2eb487eae3261dd53ac97775fb83337bf5c6403bc7431401807c3a1592d493d79707539e3c642e8a823027fc7379e2f672c0dfcc16c149702107bef4b1be5f02a9a9eb16bfe4c73c8d66fdc77645d25ebe0decb0ab62eaab79d89020809bf019e57a127cfb39e6517adcd91c8f58c31713f4e2a5501ed0cd7fcf4de3dbc52b58d3f0745f84df042b5a5406f9fe1a19caef01100a4ce2478797bff18b3720cdea13ed51f873fc9699b23c68ab8f35c53f89c0743e0ede81dc48410f4e668faac29eee95b451604c2734316cbbbdf848832e126b4b2cba7ba240ac8f33dfd4ade06d64fa5faef5361578f054f7770a6579f02c06ee877fd8c8cad1605ad409c4fa3f1cf59cdf663bf95dde081b9224ecabfe24c78318abc6cd782fe43d02f4a02c50f7934fb50c5d04b6bbff63415d1ac49e54a92a1f53ecb44ca0b2ae926c0a567055e272ec617f137b67d4df507d0f2fa0e98f9a69a8a1f76368e750b5b234299003143f0e4425bb504cf76747057f0133052721021f879645e1fdb828bd24facc76a7da0f8cd4d44f9dee507583976f2a3ea08f5027c5181f9ad92e86ba53e6d85a5d927a8603aee6165e0ce41091f719e25978c9730904f9fe741fb892715b384ebc92e92176f0d6ff9e2b3f58eb43b1738220acfa3f2ffd9542a2b6981e45f814cfa46713c8662ee8abe00e9dcbd526703ce31eecbee4b023bef97b4167193e58c501bc40bbf3f6df0bd0d32de0ed9dc73df438dc2d92f2d87fabc8bc682a1d204402086a3f6129d5cf90304aed7678af47f707c6d174c7654040cbb366d55c6a118b6cb64517adfb651f20199772a9a494088dc108088b6725cc3c92b63c4f4e1dff3f59205aff91867f0eb732b76706897cfe49cc099868ac2bc4533f6ec5e8158adfb80b1c74d828cda1d4b15793ac7bba1e2706792b7127d2f13c4ce8d0f352d93d82773898c62e32cab7ca76d230e280d45a8e07e2efb68cdefa9a500bad95e4cadacc8bc186858da264072ccb31934da24e6466f9cd2991b6e6e26e6fc3a396bd827a3fbf6629fb5aba3a62abbf7decdffc24a9c935875b6b6f378e8631c22c8a7132dfe37ffc6bbe8c48d92ffd29971ac3b0ae41df3f4cb9a4f76288ddd39350b33d8a682c293c9bb7627916aa76b8ca17dcd58d8e72923848cb2c515b5fa5476d239025b022338ee1d4b2f25a6ab64c7684dd3b6f3d0c5f46a2951880ab76b5c53ab75805921a3533cc6deb70475de963a610c854d185809eb44df7c4db2a43780547fef673990cbdaf820b54d388d38126337e69ad98742db920b4cd68fa3cb11eef0d52eaab422aba20a69d856133bff5ae63e3be7019d15ce645ff3508a4102b72d4cb7a31c2bd66af901fbd713a24a5180cd763d5957b0c7ec420d68ffb04da6bea2cac7ee7d8a03f6466a32622ea87734968815903d91a8d11a7bb110afa6116ecbb4ded0d2e1e012a28bd3499953aa0e243ddf7d6e04f8c72363c4dc9cb30bb9759c2035e6bfcc3554e1740df994f85b52da740e4ad3a96c9fd70005984439667192a3ea154670f6b579164061faa84593f1cbdb3c7ae5fe01c933a6b00350a6d2932e45943188814642b373ba61047fb1b1ae385d7cf47b0386b4fa2cd7d14a37ce764e022597e11c8fc5dc4dee117224829a1df4e64788c4f94070c976650049b79ab419460562ce12bb3c941b77caac39d6fb74d23ea1528587004d2d1a83cc9cd1aa6f34d9961b96cb85fd0c509523dc6faefc1e0bf724d2135051c262124597b0f66c225b69a7a0ec60528b2274f4f991e5ded532ba2b12c70585f5884b48129e0f33fde4fc3c139e10533dfb795389db08dcb1c41959255bc7daaa7bfa83203d22b39ac02d1c054c82febc3dd2f6f2fa56d787e16e3f47d4b46812d64e61304374dcc5c403d2317c1dd574aa28e0427d0562fe0ce50c6bab0ff76a13006646b512eecc3d35142306981f89c80f97021e467b67d778053fd196d58cee4ed16d07f6958b5ecefb4c0a083e55e88a6c00a2f93d153ebb7971fb3aa20212d1b6bdb17480d2d1a6dea606daaba222cfa638ddea66f16c60f044365143abeaf70abdc353959dbc5d30b4e52d6404045d373f4e3842b220fa2c17ce896bc33545a00a995af0a97bc2a02bc3c527ad40dd06650abc198ac210bcf0c3f8906c61566fd24e1189e7756a21f090a4605391b3719b110a1d858201556d69836e363450faa04c11d754eee5b35fe2e1b6a3e2205d5917120ba0c954bf1177c630c6eb73352c25da4231572dac26551308565f5ef99c0e197b278758a5493a14c156e19085e6cd32c635b960170399f77c331387b3ddb208223ca53fd862355cb2e414fa8f6be8e39b4fbde3f4accc22789c52517ec6394e9f1fde863229ef077f9d39b2b79b769d4bcd22a955ce273e3940dafd5717d1bd5d2ffd5b0c08647b100ddd08dd6818d8457955570eb0d4ddfb8d1390a810f3a0a133ef359d04e5cc38c7858490988075bf78d643ac402d47b5917292ada2ea52c795293b77d888e371a64b62c3ea535b3667249e99a91fed59d94e36c047deeab8adaf238892753cfe854ee969f8762becdc0ee023dff1678ca6b8b37572026c9f334263998e01ec5450bf05ebb31b54a0e182383cef70b8f1a5ad1793f3e92c14b30742b91f94f99ff35e11bfff3be1d72400d573151772f5bee516dd620677f5cb26acac38e4b7a4f80bdc5176c8334f246fc70bc6088f3d0a31a6805120c90a0e5ef07eede7d8f94ed4b01721d05845b291cb9e524498a279c30f2644ce57099b26e59108a702fa5c40d494e58941cf03a5e28c2c8b5156fe471b6614fd0356168e19241a5e3675cb70fa595bd4c41ad201bfc0f0ba9fdd565ebc039fedfcde2a860f0a18bc34dee080a85ff8fb717aec1529a1589df9804cf809d810dc6d50d48afc079f07daee96f88788cf31aeaceb2ab1fe47f6bb1c653afaf4e2d8f0170b4d67675f7e2adc232926688ac597ebc66042263e810e416748e35c45e587879d5fd82558e2b7a7acbcf1ba9147a09131ba0e1f1052536dd047e216493a812ec6cd70c24f8d471df9730ba29d2fa6625362a9256cafaefabbd3f7ef0273381b594079b821658a69e17d8eb6fb403b134c9970d07577e636da4125b7acb022f65925eb365efc4dd0c08e4f2b1474eb226bd5f3b0c487a219b69cf52e754585ecd4327fedcbbee398a3f5736e10809200799f43ac9620741d05fc134f80a72d2c4e07f97291f9305504b4b1d32796bf1a9659607ebad95645e8758600d2acfce7f208e05c590a88444af503b318c0e71c230fd6ca73f3bad62cccf6aeff07591bd223437d6b8ee362c18bc19b4e1d69dbb2890cb357e6c16ed62aafe6ede7ed2d8583bc02f2ef1a5deab2fc4b9075bd01a2df7f414e7735adeacda5f67f97569b4e013906d03100aa09bfb0b678889c1197385f3db2856e05e447cf392d5274d65968dcc20023de15f4c9da3a48c133961ad4d0cdd6544b5d02772268d4de549c822916f1c7a4238442ac83899132c5994ae4071bd3278208513c2af96b30de4b30147ef1e50ae00f2d527fae2d9ad166a489708f8842ad59d0ea0c59052671439c397f739efb6d54a23c778506a4f2d98874e69c03c532542598f712a98425e31521cb50acd250b3d8d5dbe96086a557d22fb41b71bf4257faddd8071786eb347b5794d10ce2084105cca619dcebcb3d9e14c0b3329962ef58e6aeefba4713a89eece338d3d722ffbcbeeb84580ce76e919b28370bf3d96ab155abf04d8ed56ff2dd866f95e5736a75583cd76aab09e4033d7e86d1b19d07b5bdad1a5b72d9456d792d133890d917dc848b1631cd56b3eaa02f647b5d24e460c41c6ed8f02dc6f9320f505a58b9a82dec67d6b1d947369570af0eb574cefe80145f9ecff239e6744873f801d18d47b8596ba3db85d27a750bfb4c8a84e8f7d58e99042ebffc42ef4cfdfb70e12b98ff6118d46f88ab89808d74221601d5cfdb37e6183157eb5390832331d1dfc4f7782db3038e87ae2707b6b8f9063dfcae764287effe233f497ff7b86c99e5fa96a4ed4555335e7b8fd80a7f20525d33b9b37d3e6b5f428b4a5e92b6727babf02e802ef3ab5189bc45d18c4adc053bba5d1152beefe5f7c0681683214039daea9bdc412c6057a7fb337140df235c310ea9f46c39e3516f05d96128bb7535847345a904087906bcdd6051d57a1ef97f0067793bcf2ce08a49e3357f0d99e42af0817d9202844b88ca56253c8bc228da55c9059cbd892238116e47345bb9449f76008bfeff187bdc2dabaaeb9ab87d75e68a5643a09dc6037bd67781e5b237e4bf866baa83c06ea05dc427461ad0d8444165de4d01af408af45edb75949b97bc598fd38cbc2792088bd1515fb5e13d6f8fb3859d999f4127d0ec1aa03e18c007c2d4afa43c268643229f38cb0a465297b797d760434b9514501bee741ec88bb94d4d157b22ee7d2f6ca577a72ff26784155d932c14ffa9f18ef8181d36cc2b09fce4aab403c814bd9d03c1778def7fe76ab1d19535f3688dd52db24c6d005914fd2f92210f635c2b765cc445bfb5c0c3d3d86c73f7941be58bd5c913b14dbe2d9d96e3012893c4e7d664d02e4bcdc0e4108776e45774962e720ca3c43666b907dcb328d2d7900fa366ab7cd3f7e6e7599b52e28a2b52bb749bd493eb07b2bfab8b40b75326cc15351ee6e1eb2c78546878f516c7fe431141bd472038276f92df87bcb9a58c2d3ad798faea12802f18e4d52b261f3f2bd9a8a056c1a2ebbb2b7fc39873138735fab855d8e3f9b5b69077d08eb1577aa2cd3ce739e02205d977dae7188def95ac1845ec1055a6d5ed59ed0de207140e7d7755f11673d3b980910c3e23edf25ea5dff5dd1911c9843e47c90cf48441f78cffe515a17d1a2c02eb384a0c07fe4f6d556c7a7b25e7f6018a54ff8cd61c45cb7244b44a96fbe2508f025546c806d881daba4235210233a7cce5ada49fba9276cc1c25289645a3c25e26dcc063b747fe02da224630550e970a9b8f26519eea5f2f115e6f4ca4d78d3c709385628f4751a4a6bfe34d421344bee00d2268d2a3bb246702bf8415261817b7946ada3dbe2e5a831c74adefe5745926dfdf95caa9e7ce10dc0ccb3147b8a0957953253a46511ee4b575c934dc90e00d5e79893e9bc2fe878fb79d9c544edca5b3870a7b39776eaca7bc385e2fc4306dfdcb370f8240d3e5a36177e93d2abf6efc1565a62f45ae31f3092864d892c6897ae9d585eb38c9efa29811b8cd79159dc80ddb9af9b0bbe8cbe40f32880eb7665ebdc01bfea748d9745858cf8bdf69468a0bbc372ecf36cad673157d2fae0de43e80ecda1e3a1d4703c4c58bccf5b89ba946fc715a95955b6cc3ef5bb7df4a985a7eb487a58fa2f2e043987234135a890fa8d3a436d68cfce7dd6f6c1085b81275dbf47b82ce729356c79468eb46f16dc4edeface99d06f036cd4b7dd57fc414374da6ed433edb21b79d498237e6c7ff7d7f010", - "result" : "valid" - }, - { - "tcId" : 68, - "comment" : "invalid output size", - "flags" : [ - "SizeTooLarge" - ], - "ikm" : "1af5bad5973f44912d10a573d3f49e682f850453121e71d4d63bdc990951fcff", - "salt" : "c1ad98d3e98fc97d906d738b215ffc82c3c921b87d7bf0af200b9eb97ff29f5831f4f8355589b4a1c8285a9980e743c3", - "info" : "68bc905009adcbbe", - "size" : 12241, - "okm" : "", - "result" : "invalid" - }, - { - "tcId" : 69, - "comment" : "empty salt", - "flags" : [ - "Normal", - "EmptySalt" - ], - "ikm" : "d2ee6859f3e52e456f4b0e19252f3ba453102fb4de685b9823a652acb2f87039", - "salt" : "", - "info" : "086e8dc0aa05538926dc74e89857232aa7d1fdc3f6ca29dddaba48dd682bcf1cfe08700e2a5a7102d01e57a93bca2668dee95339d5db6b6a2e7e5fa66667b8d5b8", - "size" : 80, - "okm" : "42468de6830ae8814015e90c10c7943f886732fa4c246e3b65124533b7edc5cca6c2c5ae69e63e3b5b35d18b0630db0ec29e1a3f4ee419c924fc4de77d16bc710b153342254e17e50604545e8e59b393", - "result" : "valid" - } - ] - }, - { - "type" : "HkdfTest", - "keySize" : 384, - "tests" : [ - { - "tcId" : 70, - "comment" : "", - "flags" : [ - "Normal" - ], - "ikm" : "85ba55d5efee8d65e66197a87baea00f10d589670aa73e923cf71c8424bf2149c88366e5b4967586c198e8e540c85940", - "salt" : "329975ce0abab183674171fe82098db2b5b5e594160e7f5e94c9c69fcf9a16ff7193a45f572fe7a08eaf2122012abe40", - "info" : "ff957fdd4c71518f", - "size" : 48, - "okm" : "ae4b400a00bedbbafce33fc4e56a57146ed8c64ae9723d355799232b15d9be71728546d215d8b0e7378a1740a9ef9f3c", - "result" : "valid" - }, - { - "tcId" : 71, - "comment" : "", - "flags" : [ - "Normal" - ], - "ikm" : "66c33e63e4260280ac52898eff61a515465cb005a4b80ec2a62e3d430b9e9e9381f6e6d9fbb1a2a633e8b75dce8c2929", - "salt" : "718c78be3e85766bc454f19becd469bc2eb1d58e606894091700420d9f97bcb03db02c43e742808fc2e2ba88185fdba9", - "info" : "ad03d32ef7b7aaf2", - "size" : 88, - "okm" : "73991ecc3e8334b0ace9f9cd82d95bb14dc9e060a764015a735fd4439e15b905d6067e797a3c3761f898158168fbfc219395fc90182968ac6362e805100b07a968308c261ef3d3cc1045a246dcf079d903074e24b8802e9c", - "result" : "valid" - }, - { - "tcId" : 72, - "comment" : "", - "flags" : [ - "Normal" - ], - "ikm" : "76e9c1f541dfa15faf8409d291e47418a8639829ddc7d4ee500f885e8e1404c152fc28ceb59b7d0bff276b552dbdde36", - "salt" : "fb2e11af97a64cf620d727ca79d64afbcde3d145456c1b1f4f67d7ef3eeab059f67c8ecf56e1082f1e2122826ae23d70", - "info" : "80337d09f9acd738", - "size" : 192, - "okm" : "b060f9351e478bf07029b817a2b6ab4602638dd264dcd1c56a5b7067a345792d11d1448f69f379c2dd5d5dd33c6f2eb5a585bd8ca78a9274121c604da936e16ba815c31a6205d2035d699381e928337afbe3f78339904ab42d8eaa5f382d33c02e5ac924307a76be29b736a37a5aa359ce09fa61c13b409558e4584c507626418031808b49d21d989d0c0755adbac6259b155b06ce3b8d9ffd0d7babf161a116d1ff4b5bcb934454e197c27574e31365b39cfca600f93aa8c66642b3f3f26145", - "result" : "valid" - }, - { - "tcId" : 73, - "comment" : "output collision for different salts", - "flags" : [ - "OutputCollision", - "EmptySalt" - ], - "ikm" : "b77c1b4a865339d78c8e3ed7454ac6823b678d81126ce613c9e82ffab9e38ea88328d9eab8e88b409c1cedba7a74e8d7", - "salt" : "", - "info" : "6a5253cb802bf83c3b3941aabc08d524beedf003", - "size" : 32, - "okm" : "e376973755ee66c610613b236f3e1f999ed724d5651c79fdbd0389180be39cda", - "result" : "valid" - }, - { - "tcId" : 74, - "comment" : "output collision for different salts", - "flags" : [ - "OutputCollision" - ], - "ikm" : "b77c1b4a865339d78c8e3ed7454ac6823b678d81126ce613c9e82ffab9e38ea88328d9eab8e88b409c1cedba7a74e8d7", - "salt" : "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "info" : "6a5253cb802bf83c3b3941aabc08d524beedf003", - "size" : 32, - "okm" : "e376973755ee66c610613b236f3e1f999ed724d5651c79fdbd0389180be39cda", - "result" : "valid" - }, - { - "tcId" : 75, - "comment" : "a salt longer than the block size of the hash is equivalent to the hash of the salt", - "flags" : [ - "OutputCollision" - ], - "ikm" : "b77c1b4a865339d78c8e3ed7454ac6823b678d81126ce613c9e82ffab9e38ea88328d9eab8e88b409c1cedba7a74e8d7", - "salt" : "1ce459b88ed2529c24ade0334476e89f869de08e7814604027a9aa1cbbed99b5691898ea46c8ca8f51ab970d6bffb6983a8158b0b82bdbcb98e3014e41d6e625c7", - "info" : "6a5253cb802bf83c3b3941aabc08d524beedf003", - "size" : 32, - "okm" : "7d3f1a70a9190cd64613f5eb9d18b6f050b4113cba21a99b68c0af395dd7601e", - "result" : "valid" - }, - { - "tcId" : 76, - "comment" : "a salt longer than the block size of the hash is equivalent to the hash of the salt", - "flags" : [ - "OutputCollision" - ], - "ikm" : "b77c1b4a865339d78c8e3ed7454ac6823b678d81126ce613c9e82ffab9e38ea88328d9eab8e88b409c1cedba7a74e8d7", - "salt" : "8d3d37becca0ee5e808b3c9835888d39c2ae96ede1dceb4bf6fe7f0d18b9a3a8230231ce28e493b86593e31ddd580523", - "info" : "6a5253cb802bf83c3b3941aabc08d524beedf003", - "size" : 32, - "okm" : "6af966e35062d24d11fe89ab36f2fd6c226f7a665bcea83ddb59c21ff348f239", - "result" : "valid" - }, - { - "tcId" : 77, - "comment" : "a salt shorter than the block size is padded with zeros.", - "flags" : [ - "OutputCollision" - ], - "ikm" : "b77c1b4a865339d78c8e3ed7454ac6823b678d81126ce613c9e82ffab9e38ea88328d9eab8e88b409c1cedba7a74e8d7", - "salt" : "c38f0e60711bb9d9", - "info" : "6a5253cb802bf83c3b3941aabc08d524beedf003", - "size" : 32, - "okm" : "0efab5114d09d9bd8d801cfa593ee771a4d0a3637c676da2ef9f656127519950", - "result" : "valid" - }, - { - "tcId" : 78, - "comment" : "a salt shorter than the block size is padded with zeros.", - "flags" : [ - "OutputCollision" - ], - "ikm" : "b77c1b4a865339d78c8e3ed7454ac6823b678d81126ce613c9e82ffab9e38ea88328d9eab8e88b409c1cedba7a74e8d7", - "salt" : "c38f0e60711bb9d90000000000000000", - "info" : "6a5253cb802bf83c3b3941aabc08d524beedf003", - "size" : 32, - "okm" : "0efab5114d09d9bd8d801cfa593ee771a4d0a3637c676da2ef9f656127519950", - "result" : "valid" - }, - { - "tcId" : 79, - "comment" : "a salt shorter than the block size is padded with zeros.", - "flags" : [ - "OutputCollision" - ], - "ikm" : "b77c1b4a865339d78c8e3ed7454ac6823b678d81126ce613c9e82ffab9e38ea88328d9eab8e88b409c1cedba7a74e8d7", - "salt" : "c38f0e60711bb9d900000000000000000000000000000000", - "info" : "6a5253cb802bf83c3b3941aabc08d524beedf003", - "size" : 32, - "okm" : "0efab5114d09d9bd8d801cfa593ee771a4d0a3637c676da2ef9f656127519950", - "result" : "valid" - }, - { - "tcId" : 80, - "comment" : "a salt shorter than the block size is padded with zeros.", - "flags" : [ - "OutputCollision" - ], - "ikm" : "b77c1b4a865339d78c8e3ed7454ac6823b678d81126ce613c9e82ffab9e38ea88328d9eab8e88b409c1cedba7a74e8d7", - "salt" : "c38f0e60711bb9d9000000000000000000000000000000000000000000000000", - "info" : "6a5253cb802bf83c3b3941aabc08d524beedf003", - "size" : 32, - "okm" : "0efab5114d09d9bd8d801cfa593ee771a4d0a3637c676da2ef9f656127519950", - "result" : "valid" - }, - { - "tcId" : 81, - "comment" : "a salt shorter than the block size is padded with zeros.", - "flags" : [ - "OutputCollision" - ], - "ikm" : "b77c1b4a865339d78c8e3ed7454ac6823b678d81126ce613c9e82ffab9e38ea88328d9eab8e88b409c1cedba7a74e8d7", - "salt" : "c38f0e60711bb9d90000000000000000000000000000000000000000000000000000000000000000", - "info" : "6a5253cb802bf83c3b3941aabc08d524beedf003", - "size" : 32, - "okm" : "0efab5114d09d9bd8d801cfa593ee771a4d0a3637c676da2ef9f656127519950", - "result" : "valid" - }, - { - "tcId" : 82, - "comment" : "a salt shorter than the block size is padded with zeros.", - "flags" : [ - "OutputCollision" - ], - "ikm" : "b77c1b4a865339d78c8e3ed7454ac6823b678d81126ce613c9e82ffab9e38ea88328d9eab8e88b409c1cedba7a74e8d7", - "salt" : "c38f0e60711bb9d900000000000000000000000000000000000000000000000000000000000000000000000000000000", - "info" : "6a5253cb802bf83c3b3941aabc08d524beedf003", - "size" : 32, - "okm" : "0efab5114d09d9bd8d801cfa593ee771a4d0a3637c676da2ef9f656127519950", - "result" : "valid" - }, - { - "tcId" : 83, - "comment" : "a salt shorter than the block size is padded with zeros.", - "flags" : [ - "OutputCollision" - ], - "ikm" : "b77c1b4a865339d78c8e3ed7454ac6823b678d81126ce613c9e82ffab9e38ea88328d9eab8e88b409c1cedba7a74e8d7", - "salt" : "c38f0e60711bb9d9000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "info" : "6a5253cb802bf83c3b3941aabc08d524beedf003", - "size" : 32, - "okm" : "0efab5114d09d9bd8d801cfa593ee771a4d0a3637c676da2ef9f656127519950", - "result" : "valid" - } - ] - } - ] -}