aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorJack Lloyd <[email protected]>2016-07-17 11:05:40 -0400
committerJack Lloyd <[email protected]>2016-07-17 11:05:40 -0400
commit471d883cb8d2c52e969bc13b9ec76759da1cccdc (patch)
treeca3e8a497ab570467d5266f65bdcc000aeab9043 /src
parent3b05092665a05a9ba887b14acbbd136caca1de77 (diff)
parent2c8799b3d91e12b21eb3789f5cedc8a4fb7aaec1 (diff)
Merge GH #533 DLIES changes
Diffstat (limited to 'src')
-rw-r--r--src/lib/pubkey/dlies/dlies.cpp257
-rw-r--r--src/lib/pubkey/dlies/dlies.h101
-rw-r--r--src/lib/pubkey/dlies/info.txt3
-rw-r--r--src/tests/data/pubkey/dlies.vec1000
-rw-r--r--src/tests/test_dlies.cpp151
5 files changed, 1363 insertions, 149 deletions
diff --git a/src/lib/pubkey/dlies/dlies.cpp b/src/lib/pubkey/dlies/dlies.cpp
index 2c98966b0..9666a1c23 100644
--- a/src/lib/pubkey/dlies/dlies.cpp
+++ b/src/lib/pubkey/dlies/dlies.cpp
@@ -1,6 +1,7 @@
/*
* DLIES
* (C) 1999-2007 Jack Lloyd
+* (C) 2016 Daniel Neus, Rohde & Schwarz Cybersecurity
*
* Botan is released under the Simplified BSD License (see license.txt)
*/
@@ -10,128 +11,204 @@
namespace Botan {
-/*
-* DLIES_Encryptor Constructor
-*/
-DLIES_Encryptor::DLIES_Encryptor(const PK_Key_Agreement_Key& key,
- KDF* kdf_obj,
- MessageAuthenticationCode* mac_obj,
- size_t mac_kl) :
- m_ka(key, "Raw"),
- m_kdf(kdf_obj),
- m_mac(mac_obj),
- m_mac_keylen(mac_kl)
+DLIES_Encryptor::DLIES_Encryptor(const DH_PrivateKey& own_priv_key,
+ KDF* kdf,
+ MessageAuthenticationCode* mac,
+ size_t mac_key_length) :
+ DLIES_Encryptor(own_priv_key, kdf, nullptr, 0, mac, mac_key_length)
{
- BOTAN_ASSERT_NONNULL(kdf_obj);
- BOTAN_ASSERT_NONNULL(mac_obj);
- m_my_key = key.public_value();
}
-/*
-* DLIES Encryption
-*/
+DLIES_Encryptor::DLIES_Encryptor(const DH_PrivateKey& own_priv_key,
+ KDF* kdf,
+ Cipher_Mode* cipher,
+ size_t cipher_key_len,
+ MessageAuthenticationCode* mac,
+ size_t mac_key_length) :
+ m_other_pub_key(),
+ m_own_pub_key(own_priv_key.public_value()),
+ m_ka(own_priv_key, "Raw"),
+ m_kdf(kdf),
+ m_cipher(cipher),
+ m_cipher_key_len(cipher_key_len),
+ m_mac(mac),
+ m_mac_keylen(mac_key_length),
+ m_iv()
+ {
+ BOTAN_ASSERT_NONNULL(kdf);
+ BOTAN_ASSERT_NONNULL(mac);
+ }
+
std::vector<byte> DLIES_Encryptor::enc(const byte in[], size_t length,
RandomNumberGenerator&) const
{
- if(length > maximum_input_size())
- throw Invalid_Argument("DLIES: Plaintext too large");
- if(m_other_key.empty())
+ if(m_other_pub_key.empty())
+ {
throw Invalid_State("DLIES: The other key was never set");
+ }
- secure_vector<byte> out(m_my_key.size() + length + m_mac->output_length());
- buffer_insert(out, 0, m_my_key);
- buffer_insert(out, m_my_key.size(), in, length);
+ // calculate secret value
+ const SymmetricKey secret_value = m_ka.derive_key(0, m_other_pub_key);
- secure_vector<byte> vz(m_my_key.begin(), m_my_key.end());
- vz += m_ka.derive_key(0, m_other_key).bits_of();
+ // derive secret key from secret value
+ const size_t required_key_length = m_cipher ? m_cipher_key_len + m_mac_keylen : length + m_mac_keylen;
+ const secure_vector<byte> secret_keys = m_kdf->derive_key(required_key_length, secret_value.bits_of());
- const size_t K_LENGTH = length + m_mac_keylen;
- secure_vector<byte> K = m_kdf->derive_key(K_LENGTH, vz);
-
- if(K.size() != K_LENGTH)
+ if(secret_keys.size() != required_key_length)
+ {
throw Encoding_Error("DLIES: KDF did not provide sufficient output");
- byte* C = &out[m_my_key.size()];
-
- m_mac->set_key(K.data(), m_mac_keylen);
- xor_buf(C, &K[m_mac_keylen], length);
-
- m_mac->update(C, length);
- for(size_t j = 0; j != 8; ++j)
- m_mac->update(0);
-
- m_mac->final(C + length);
+ }
+
+ secure_vector<byte> ciphertext(in, in + length);
+ const size_t cipher_key_len = m_cipher ? m_cipher_key_len : length;
+
+ if(m_cipher)
+ {
+ SymmetricKey enc_key(secret_keys.data(), cipher_key_len);
+ m_cipher->set_key(enc_key);
+
+ if(m_iv.size())
+ {
+ m_cipher->start(m_iv.bits_of());
+ }
+
+ m_cipher->finish(ciphertext);
+ }
+ else
+ {
+ xor_buf(ciphertext, secret_keys, cipher_key_len);
+ }
+
+ // calculate MAC
+ m_mac->set_key(secret_keys.data() + cipher_key_len, m_mac_keylen);
+ secure_vector<byte> tag = m_mac->process(ciphertext);
+
+ // out = (ephemeral) public key + ciphertext + tag
+ secure_vector<byte> out(m_own_pub_key.size() + ciphertext.size() + tag.size());
+ buffer_insert(out, 0, m_own_pub_key);
+ buffer_insert(out, 0 + m_own_pub_key.size(), ciphertext);
+ buffer_insert(out, 0 + m_own_pub_key.size() + ciphertext.size(), tag);
return unlock(out);
}
-/*
-* Set the other parties public key
-*/
-void DLIES_Encryptor::set_other_key(const std::vector<byte>& ok)
- {
- m_other_key = ok;
- }
-
-/*
+/**
* Return the max size, in bytes, of a message
+* Not_Implemented if DLIES is used in XOR encryption mode
*/
size_t DLIES_Encryptor::maximum_input_size() const
{
- return 32;
+ if(m_cipher)
+ {
+ // no limit in block cipher mode
+ return std::numeric_limits<size_t>::max();
+ }
+ else
+ {
+ // No way to determine if the KDF will output enough bits for XORing with the plaintext?!
+ throw Not_Implemented("Not implemented for XOR encryption mode");
+ }
}
-/*
-* DLIES_Decryptor Constructor
-*/
-DLIES_Decryptor::DLIES_Decryptor(const PK_Key_Agreement_Key& key,
- KDF* kdf_obj,
- MessageAuthenticationCode* mac_obj,
- size_t mac_kl) :
- m_ka(key, "Raw"),
- m_kdf(kdf_obj),
- m_mac(mac_obj),
- m_mac_keylen(mac_kl)
+DLIES_Decryptor::DLIES_Decryptor(const DH_PrivateKey& own_priv_key,
+ KDF* kdf,
+ Cipher_Mode* cipher,
+ size_t cipher_key_len,
+ MessageAuthenticationCode* mac,
+ size_t mac_key_length) :
+ m_pub_key_size(own_priv_key.public_value().size()),
+ m_ka(own_priv_key, "Raw"),
+ m_kdf(kdf),
+ m_cipher(cipher),
+ m_cipher_key_len(cipher_key_len),
+ m_mac(mac),
+ m_mac_keylen(mac_key_length),
+ m_iv()
{
- m_my_key = key.public_value();
+ BOTAN_ASSERT_NONNULL(kdf);
+ BOTAN_ASSERT_NONNULL(mac);
}
-/*
-* DLIES Decryption
-*/
+DLIES_Decryptor::DLIES_Decryptor(const DH_PrivateKey& own_priv_key,
+ KDF* kdf,
+ MessageAuthenticationCode* mac,
+ size_t mac_key_length) :
+ DLIES_Decryptor(own_priv_key, kdf, nullptr, 0, mac, mac_key_length)
+ {}
+
secure_vector<byte> DLIES_Decryptor::do_decrypt(byte& valid_mask,
- const byte msg[], size_t length) const
+ const byte msg[], size_t length) const
{
- if(length < m_my_key.size() + m_mac->output_length())
+ if(length < m_pub_key_size + m_mac->output_length())
+ {
throw Decoding_Error("DLIES decryption: ciphertext is too short");
+ }
- const size_t CIPHER_LEN = length - m_my_key.size() - m_mac->output_length();
-
- std::vector<byte> v(msg, msg + m_my_key.size());
+ // calculate secret value
+ std::vector<byte> other_pub_key(msg, msg + m_pub_key_size);
+ const SymmetricKey secret_value = m_ka.derive_key(0, other_pub_key);
- secure_vector<byte> C(msg + m_my_key.size(), msg + m_my_key.size() + CIPHER_LEN);
+ const size_t ciphertext_len = length - m_pub_key_size - m_mac->output_length();
+ size_t cipher_key_len = m_cipher ? m_cipher_key_len : ciphertext_len;
- secure_vector<byte> T(msg + m_my_key.size() + CIPHER_LEN,
- msg + m_my_key.size() + CIPHER_LEN + m_mac->output_length());
+ // derive secret key from secret value
+ const size_t required_key_length = cipher_key_len + m_mac_keylen;
+ secure_vector<byte> secret_keys = m_kdf->derive_key(required_key_length, secret_value.bits_of());
- secure_vector<byte> vz(msg, msg + m_my_key.size());
- vz += m_ka.derive_key(0, v).bits_of();
-
- const size_t K_LENGTH = C.size() + m_mac_keylen;
- secure_vector<byte> K = m_kdf->derive_key(K_LENGTH, vz);
- if(K.size() != K_LENGTH)
+ if(secret_keys.size() != required_key_length)
+ {
throw Encoding_Error("DLIES: KDF did not provide sufficient output");
-
- m_mac->set_key(K.data(), m_mac_keylen);
- m_mac->update(C);
- for(size_t j = 0; j != 8; ++j)
- m_mac->update(0);
- secure_vector<byte> T2 = m_mac->final();
-
- valid_mask = CT::expand_mask<byte>(same_mem(T.data(), T2.data(), T.size()));
-
- xor_buf(C, K.data() + m_mac_keylen, C.size());
-
- return C;
+ }
+
+ secure_vector<byte> ciphertext(msg + m_pub_key_size, msg + m_pub_key_size + ciphertext_len);
+
+ // calculate MAC
+ m_mac->set_key(secret_keys.data() + cipher_key_len, m_mac_keylen);
+ secure_vector<byte> calculated_tag = m_mac->process(ciphertext);
+
+ // calculated tag == received tag ?
+ secure_vector<byte> tag(msg + m_pub_key_size + ciphertext_len,
+ msg + m_pub_key_size + ciphertext_len + m_mac->output_length());
+
+ valid_mask = CT::expand_mask<byte>(same_mem(tag.data(), calculated_tag.data(), tag.size()));
+
+ // decrypt
+ if(m_cipher)
+ {
+ if(valid_mask)
+ {
+ SymmetricKey dec_key(secret_keys.data(), cipher_key_len);
+ m_cipher->set_key(dec_key);
+
+ try
+ {
+ // the decryption can fail:
+ // e.g. Integrity_Failure is thrown if GCM is used and the message does not have a valid tag
+
+ if(m_iv.size())
+ {
+ m_cipher->start(m_iv.bits_of());
+ }
+
+ m_cipher->finish(ciphertext);
+ }
+ catch(...)
+ {
+ valid_mask = 0;
+ }
+
+ }
+ else
+ {
+ return secure_vector<byte>();
+ }
+ }
+ else
+ {
+ xor_buf(ciphertext, secret_keys.data(), cipher_key_len);
+ }
+
+ return ciphertext;
}
}
diff --git a/src/lib/pubkey/dlies/dlies.h b/src/lib/pubkey/dlies/dlies.h
index 10471048d..5f7251d03 100644
--- a/src/lib/pubkey/dlies/dlies.h
+++ b/src/lib/pubkey/dlies/dlies.h
@@ -1,6 +1,7 @@
/*
* DLIES
* (C) 1999-2007 Jack Lloyd
+* (C) 2016 Daniel Neus, Rohde & Schwarz Cybersecurity
*
* Botan is released under the Simplified BSD License (see license.txt)
*/
@@ -11,6 +12,8 @@
#include <botan/pubkey.h>
#include <botan/mac.h>
#include <botan/kdf.h>
+#include <botan/dh.h>
+#include <botan/cipher_mode.h>
namespace Botan {
@@ -20,24 +23,67 @@ namespace Botan {
class BOTAN_DLL DLIES_Encryptor : public PK_Encryptor
{
public:
- DLIES_Encryptor(const PK_Key_Agreement_Key&,
+ /**
+ * Stream mode: use KDF to provide a stream of bytes to xor with the message
+ *
+ * @param own_priv_key own (ephemeral) DH private key
+ * @param kdf the KDF that should be used
+ * @param mac the MAC function that should be used
+ * @param mac_key_len key length of the MAC function. Default = 20 bytes
+ *
+ * output = (ephemeral) public key + ciphertext + tag
+ */
+ DLIES_Encryptor(const DH_PrivateKey& own_priv_key,
KDF* kdf,
MessageAuthenticationCode* mac,
size_t mac_key_len = 20);
- void set_other_key(const std::vector<byte>&);
+ /**
+ * Block cipher mode
+ *
+ * @param own_priv_key own (ephemeral) DH private key
+ * @param kdf the KDF that should be used
+ * @param cipher the block cipher that should be used
+ * @param cipher_key_len the key length of the block cipher
+ * @param mac the MAC function that should be used
+ * @param mac_key_len key length of the MAC function. Default = 20 bytes
+ *
+ * output = (ephemeral) public key + ciphertext + tag
+ */
+ DLIES_Encryptor(const DH_PrivateKey& own_priv_key,
+ KDF* kdf,
+ Cipher_Mode* cipher,
+ size_t cipher_key_len,
+ MessageAuthenticationCode* mac,
+ size_t mac_key_len = 20);
+
+ // Set the other parties public key
+ inline void set_other_key(const std::vector<byte>& other_pub_key)
+ {
+ m_other_pub_key = other_pub_key;
+ }
+
+ /// Set the initialization vector for the data encryption method
+ inline void set_initialization_vector(const InitializationVector& iv)
+ {
+ m_iv = iv;
+ }
+
private:
std::vector<byte> enc(const byte[], size_t,
RandomNumberGenerator&) const override;
size_t maximum_input_size() const override;
- std::vector<byte> m_other_key, m_my_key;
-
+ std::vector<byte> m_other_pub_key;
+ std::vector<byte> m_own_pub_key;
PK_Key_Agreement m_ka;
std::unique_ptr<KDF> m_kdf;
+ std::unique_ptr<Cipher_Mode> m_cipher;
+ const size_t m_cipher_key_len;
std::unique_ptr<MessageAuthenticationCode> m_mac;
- size_t m_mac_keylen;
+ const size_t m_mac_keylen;
+ InitializationVector m_iv;
};
/**
@@ -46,21 +92,58 @@ class BOTAN_DLL DLIES_Encryptor : public PK_Encryptor
class BOTAN_DLL DLIES_Decryptor : public PK_Decryptor
{
public:
- DLIES_Decryptor(const PK_Key_Agreement_Key&,
+ /**
+ * Stream mode: use KDF to provide a stream of bytes to xor with the message
+ *
+ * @param own_priv_key own (ephemeral) DH private key
+ * @param kdf the KDF that should be used
+ * @param mac the MAC function that should be used
+ * @param mac_key_len key length of the MAC function. Default = 20 bytes
+ *
+ * input = (ephemeral) public key + ciphertext + tag
+ */
+ DLIES_Decryptor(const DH_PrivateKey& own_priv_key,
KDF* kdf,
MessageAuthenticationCode* mac,
size_t mac_key_len = 20);
+ /**
+ * Block cipher mode
+ *
+ * @param own_priv_key own (ephemeral) DH private key
+ * @param kdf the KDF that should be used
+ * @param cipher the block cipher that should be used
+ * @param cipher_key_len the key length of the block cipher
+ * @param mac the MAC function that should be used
+ * @param mac_key_len key length of the MAC function. Default = 20 bytes
+ *
+ * input = (ephemeral) public key + ciphertext + tag
+ */
+ DLIES_Decryptor(const DH_PrivateKey& own_priv_key,
+ KDF* kdf,
+ Cipher_Mode* cipher,
+ size_t cipher_key_len,
+ MessageAuthenticationCode* mac,
+ size_t mac_key_len = 20);
+
+ /// Set the initialization vector for the data decryption method
+ inline void set_initialization_vector(const InitializationVector& iv)
+ {
+ m_iv = iv;
+ }
+
private:
secure_vector<byte> do_decrypt(byte& valid_mask,
const byte in[], size_t in_len) const override;
- std::vector<byte> m_my_key;
-
+ const size_t m_pub_key_size;
PK_Key_Agreement m_ka;
std::unique_ptr<KDF> m_kdf;
+ std::unique_ptr<Cipher_Mode> m_cipher;
+ const size_t m_cipher_key_len;
std::unique_ptr<MessageAuthenticationCode> m_mac;
- size_t m_mac_keylen;
+ const size_t m_mac_keylen;
+ InitializationVector m_iv;
};
}
diff --git a/src/lib/pubkey/dlies/info.txt b/src/lib/pubkey/dlies/info.txt
index ec1bac803..30362ad78 100644
--- a/src/lib/pubkey/dlies/info.txt
+++ b/src/lib/pubkey/dlies/info.txt
@@ -1,6 +1,7 @@
-define DLIES 20131128
+define DLIES 20160713
<requires>
kdf
mac
+block
</requires>
diff --git a/src/tests/data/pubkey/dlies.vec b/src/tests/data/pubkey/dlies.vec
index d0546b4e0..245cdeddc 100644
--- a/src/tests/data/pubkey/dlies.vec
+++ b/src/tests/data/pubkey/dlies.vec
@@ -1,42 +1,982 @@
+########################### Test vectors created with bouncycastle 1.54 ###########################
-P = 179769313486231590770839156793787453197860296048756011706444423684197180216158519368947833795864925541502180565485980503646440548199239100050792877003355816639229553136239076508735759914822574862575007425302077447712589550957937778424442426617334727629299387668709205606050270810842907692932019128194467627007
+########### Block cipher mode ###########
+
+#public static void main(String[] args) throws InvalidCipherTextException {
+# // 2048-bit MODP Group. RFC3526
+# BigInteger g = new BigInteger( "2", 10 );
+# BigInteger p = new BigInteger( "FFFFFFFFFFFFFFFFC90FDAA22168C234C4C6628B80DC1CD129024E088A67CC74020BBEA63B139B22514A0879"
+# + "8E3404DDEF9519B3CD3A431B302B0A6DF25F14374FE1356D6D51C245E485B576625E7EC6F44C42E9A637ED6B0BFF5CB6F406B7ED"
+# + "EE386BFB5A899FA5AE9F24117C4B1FE649286651ECE45B3DC2007CB8A163BF0598DA48361C55D39A69163FA8FD24CF5F"
+# + "83655D23DCA3AD961C62F356208552BB9ED529077096966D670C354E4ABC9804F1746C08CA18217C32905E462E36CE3B"
+# + "E39E772C180E86039B2783A2EC07A28FB5C55DF06F4C52C9DE2BCBF6955817183995497CEA956AE515D2261898FA0510"
+# + "15728E5A8AACAA68FFFFFFFFFFFFFFFF", 16 );
+#
+# DHParameters dhParams = new DHParameters( p, g );
+#
+# // alice priv key
+# BigInteger xAlice = new BigInteger( "A01E167DE1013D6859E6CB068B7BF272C1D49DC764AD7676BFA0D85177", 16 );
+# DHPrivateKeyParameters alicePriv = new DHPrivateKeyParameters( xAlice, dhParams );
+#
+# // alice pub key
+# BigInteger yAlice = g.modPow(xAlice, p);
+# DHPublicKeyParameters alicePub = new DHPublicKeyParameters( yAlice, dhParams );
+#
+# // bob priv key
+# BigInteger xBob = new BigInteger( "8DD88BDC19AC1403A3FC3A0FC63D360F1062E3494177DC27F7EBCBD4A7", 16 );
+#
+# // bob pub key
+# BigInteger yBob = g.modPow(xBob, p);
+# DHPublicKeyParameters bobPub = new DHPublicKeyParameters( yBob, dhParams );
+#
+# // DLIES
+# byte[] d = new byte[ 0 ]; // the derivation parameter for the KDF function
+# byte[] e = new byte[ 0 ]; // the encoding parameter for the KDF function
+# int macKeySize = 256;
+# int cipherKeySize = 256;
+# byte[] iv = new byte[ 16 ];
+# CipherParameters cipherParams = new ParametersWithIV( new IESWithCipherParameters( d, e, macKeySize, cipherKeySize ), iv );
+#
+# IESEngine dlies =
+# new IESEngine( new DHBasicAgreement(), new KDF2BytesGenerator( new SHA256Digest() ), new HMac( new SHA256Digest() ), new PaddedBufferedBlockCipher( new CBCBlockCipher(
+# new AESEngine() ) ) );
+# dlies.init( true, alicePriv, bobPub, cipherParams );
+#
+# byte[] message = Hex.decode( "00" );
+# byte[] result = dlies.processBlock( message, 0, message.length );
+#
+# byte[] ephPublicKey = alicePub.getY().toByteArray();
+# byte[] out = Arrays.concatenate( ephPublicKey, result );
+#
+# System.out.println( Hex.toHexString( out ) );
+
+####### KDF2
+
+Kdf = KDF2(SHA-512)
+Mac = HMAC(SHA-512)
+MacKeyLen = 64
+Cipher = AES-256/CBC
+CipherKeyLen = 32
+IV = 00000000000000000000000000000000
+P = 32317006071311007300338913926423828248817941241140239112842009751400741706634354222619689417363569347117901737909704191754605873209195028853758986185622153212175412514901774520270235796078236248884246189477587641105928646099411723245426622522193230540919037680524235519125679715870117001058055877651038861847280257976054903569732561526167081339361799541336476559160368317896729073178384589680639671900977202194168647225871031411336429319536193471636533209717077448227988588565369208645296636077250268955505928362751121174096972998068410554359584866583291642136218231078990999448652468262416972035911852507045361090559
+G = 2
+X1 = 4316760088048858173826993660634587631078362099236037980378049883427191
+X2 = 3824157470039532100357278938102046076290169354062923298804711018976423
+Msg = 75dad921764736e389c4224daf7b278ec291e682044742e2e9c7a025b54dd62f
+Ciphertext = 57dfafa0d81ac3aaca2570ad13cccd127239f4ee04843bb738234588f0daea53ccd8af65a5a00ed19fbb6f2eb57779ff2e38e3d5d27986253a1193dabf14d2402e1a33527866fa21f23f7abbee5f454aad762fc90139c8377bf6cc77af7f982404baea5ca4831dd8ed28babf2d43b1f65eff42167b82f020dfd4928d8e96dcb7845ecf8f560fbbf5646fae5bc4eda6d978e5fb333843a1f4525cfbdde756842a1e353f4de1503738eec6c9d901a78cdefedf8daaa49631da674b44cab2193c778bf29766730a656b42e96f84698f77913c718067048263034cf2a2f34572ab662e4b1c5b04cd71183433c591abd5613820544d46f7462bea57e44f23ab06e0fb7c5f222b4215cd1b1c197fe8cfa2a252ad4c61a599ade3c8e8d0442b93afc626405fbe7bb1d103bdd8ce9468071a013f0f627c2cdcd61a253bbf81feb5ae6093aee4a5bd71f2a2f20764615d0e70561903de24a46cfbc9340f4fe5ce209ad48c97a4e3a3c5c75186a020f4b44008f270
+
+Kdf = KDF2(SHA-512)
+Mac = HMAC(SHA-512)
+MacKeyLen = 32
+Cipher = AES-256/CBC
+CipherKeyLen = 32
+IV = 00000000000000000000000000000000
+P = 32317006071311007300338913926423828248817941241140239112842009751400741706634354222619689417363569347117901737909704191754605873209195028853758986185622153212175412514901774520270235796078236248884246189477587641105928646099411723245426622522193230540919037680524235519125679715870117001058055877651038861847280257976054903569732561526167081339361799541336476559160368317896729073178384589680639671900977202194168647225871031411336429319536193471636533209717077448227988588565369208645296636077250268955505928362751121174096972998068410554359584866583291642136218231078990999448652468262416972035911852507045361090559
+G = 2
+X1 = 4316760088048858173826993660634587631078362099236037980378049883427191
+X2 = 3824157470039532100357278938102046076290169354062923298804711018976423
+Msg = 75dad921764736e389c4224daf7b278ec291e682044742e2e9c7a025b54dd62f
+Ciphertext = 57dfafa0d81ac3aaca2570ad13cccd127239f4ee04843bb738234588f0daea53ccd8af65a5a00ed19fbb6f2eb57779ff2e38e3d5d27986253a1193dabf14d2402e1a33527866fa21f23f7abbee5f454aad762fc90139c8377bf6cc77af7f982404baea5ca4831dd8ed28babf2d43b1f65eff42167b82f020dfd4928d8e96dcb7845ecf8f560fbbf5646fae5bc4eda6d978e5fb333843a1f4525cfbdde756842a1e353f4de1503738eec6c9d901a78cdefedf8daaa49631da674b44cab2193c778bf29766730a656b42e96f84698f77913c718067048263034cf2a2f34572ab662e4b1c5b04cd71183433c591abd5613820544d46f7462bea57e44f23ab06e0fb7c5f222b4215cd1b1c197fe8cfa2a252ad4c61a599ade3c8e8d0442b93afc626405fbe7bb1d103bdd8ce9468071a013f5be4a46a387f09e11d75b5d21993f4eeb287410282007dba329b59a588d84888dd6f6c8d74047ae9b82097e64da28721e70adb43526752aac237f565cdebf0be
+
+Kdf = KDF2(SHA-512)
+Mac = HMAC(SHA-512)
+MacKeyLen = 20
+Cipher = AES-256/CBC
+CipherKeyLen = 32
+IV = 00000000000000000000000000000000
+P = 32317006071311007300338913926423828248817941241140239112842009751400741706634354222619689417363569347117901737909704191754605873209195028853758986185622153212175412514901774520270235796078236248884246189477587641105928646099411723245426622522193230540919037680524235519125679715870117001058055877651038861847280257976054903569732561526167081339361799541336476559160368317896729073178384589680639671900977202194168647225871031411336429319536193471636533209717077448227988588565369208645296636077250268955505928362751121174096972998068410554359584866583291642136218231078990999448652468262416972035911852507045361090559
+G = 2
+X1 = 4316760088048858173826993660634587631078362099236037980378049883427191
+X2 = 3824157470039532100357278938102046076290169354062923298804711018976423
+Msg = 75dad921764736e389c4224daf7b278ec291e682044742e2e9c7a025b54dd62f
+Ciphertext = 57dfafa0d81ac3aaca2570ad13cccd127239f4ee04843bb738234588f0daea53ccd8af65a5a00ed19fbb6f2eb57779ff2e38e3d5d27986253a1193dabf14d2402e1a33527866fa21f23f7abbee5f454aad762fc90139c8377bf6cc77af7f982404baea5ca4831dd8ed28babf2d43b1f65eff42167b82f020dfd4928d8e96dcb7845ecf8f560fbbf5646fae5bc4eda6d978e5fb333843a1f4525cfbdde756842a1e353f4de1503738eec6c9d901a78cdefedf8daaa49631da674b44cab2193c778bf29766730a656b42e96f84698f77913c718067048263034cf2a2f34572ab662e4b1c5b04cd71183433c591abd5613820544d46f7462bea57e44f23ab06e0fb7c5f222b4215cd1b1c197fe8cfa2a252ad4c61a599ade3c8e8d0442b93afc626405fbe7bb1d103bdd8ce9468071a013ff78712a17c1894f458195e0fff798d995090d935e3deb25e13fedb9abbce760da4f49b70ae6e0b6c6261a182386b687873e03f24ac64dd74ce841a4ab04a2bb6
+
+Kdf = KDF2(SHA-512)
+Mac = HMAC(SHA-512)
+MacKeyLen = 64
+Cipher = AES-256/CBC
+CipherKeyLen = 32
+IV = 00112233445566778899aabbccddeeff
+P = 32317006071311007300338913926423828248817941241140239112842009751400741706634354222619689417363569347117901737909704191754605873209195028853758986185622153212175412514901774520270235796078236248884246189477587641105928646099411723245426622522193230540919037680524235519125679715870117001058055877651038861847280257976054903569732561526167081339361799541336476559160368317896729073178384589680639671900977202194168647225871031411336429319536193471636533209717077448227988588565369208645296636077250268955505928362751121174096972998068410554359584866583291642136218231078990999448652468262416972035911852507045361090559
+G = 2
+X1 = 4316760088048858173826993660634587631078362099236037980378049883427191
+X2 = 3824157470039532100357278938102046076290169354062923298804711018976423
+Msg = 75dad921764736e389c4224daf7b278ec291e682044742e2e9c7a025b54dd62f
+Ciphertext = 57dfafa0d81ac3aaca2570ad13cccd127239f4ee04843bb738234588f0daea53ccd8af65a5a00ed19fbb6f2eb57779ff2e38e3d5d27986253a1193dabf14d2402e1a33527866fa21f23f7abbee5f454aad762fc90139c8377bf6cc77af7f982404baea5ca4831dd8ed28babf2d43b1f65eff42167b82f020dfd4928d8e96dcb7845ecf8f560fbbf5646fae5bc4eda6d978e5fb333843a1f4525cfbdde756842a1e353f4de1503738eec6c9d901a78cdefedf8daaa49631da674b44cab2193c778bf29766730a656b42e96f84698f77913c718067048263034cf2a2f34572ab662e4b1c5b04cd71183433c591abd5613820544d46f7462bea57e44f23ab06e0fbe0004a18072d33b7a7ac09362953dec57197a78ccdac0f1aa98d2a2eb6580a48053b0df23dfe2518253813dc1d1e6651cfefdaa03d8a2bd25201f40abbae203d1487b0d79c57aef0c5d2fb05f9f86f8fa2806eb3cec40a46b9bf7589142ef680bea0cf197e28dd4615c6f921418a4f54
+
+Kdf = KDF2(SHA-512)
+Mac = HMAC(SHA-512)
+MacKeyLen = 32
+Cipher = AES-256/CBC
+CipherKeyLen = 32
+IV = 00112233445566778899aabbccddeeff
+P = 32317006071311007300338913926423828248817941241140239112842009751400741706634354222619689417363569347117901737909704191754605873209195028853758986185622153212175412514901774520270235796078236248884246189477587641105928646099411723245426622522193230540919037680524235519125679715870117001058055877651038861847280257976054903569732561526167081339361799541336476559160368317896729073178384589680639671900977202194168647225871031411336429319536193471636533209717077448227988588565369208645296636077250268955505928362751121174096972998068410554359584866583291642136218231078990999448652468262416972035911852507045361090559
+G = 2
+X1 = 4316760088048858173826993660634587631078362099236037980378049883427191
+X2 = 3824157470039532100357278938102046076290169354062923298804711018976423
+Msg = 75dad921764736e389c4224daf7b278ec291e682044742e2e9c7a025b54dd62f
+Ciphertext = 57dfafa0d81ac3aaca2570ad13cccd127239f4ee04843bb738234588f0daea53ccd8af65a5a00ed19fbb6f2eb57779ff2e38e3d5d27986253a1193dabf14d2402e1a33527866fa21f23f7abbee5f454aad762fc90139c8377bf6cc77af7f982404baea5ca4831dd8ed28babf2d43b1f65eff42167b82f020dfd4928d8e96dcb7845ecf8f560fbbf5646fae5bc4eda6d978e5fb333843a1f4525cfbdde756842a1e353f4de1503738eec6c9d901a78cdefedf8daaa49631da674b44cab2193c778bf29766730a656b42e96f84698f77913c718067048263034cf2a2f34572ab662e4b1c5b04cd71183433c591abd5613820544d46f7462bea57e44f23ab06e0fbe0004a18072d33b7a7ac09362953dec57197a78ccdac0f1aa98d2a2eb6580a48053b0df23dfe2518253813dc1d1e6651457da847bc1f337d1219222f97d75fb2ae68938e7f28d7e9595b87627d07d0bed859d0fb0077655b1c36ec12024cfedb4f8db121fd82e3029c27f8bac0c6ba1e
+
+Kdf = KDF2(SHA-512)
+Mac = HMAC(SHA-512)
+MacKeyLen = 20
+Cipher = AES-256/CBC
+CipherKeyLen = 32
+IV = 00112233445566778899aabbccddeeff
+P = 32317006071311007300338913926423828248817941241140239112842009751400741706634354222619689417363569347117901737909704191754605873209195028853758986185622153212175412514901774520270235796078236248884246189477587641105928646099411723245426622522193230540919037680524235519125679715870117001058055877651038861847280257976054903569732561526167081339361799541336476559160368317896729073178384589680639671900977202194168647225871031411336429319536193471636533209717077448227988588565369208645296636077250268955505928362751121174096972998068410554359584866583291642136218231078990999448652468262416972035911852507045361090559
+G = 2
+X1 = 4316760088048858173826993660634587631078362099236037980378049883427191
+X2 = 3824157470039532100357278938102046076290169354062923298804711018976423
+Msg = 75dad921764736e389c4224daf7b278ec291e682044742e2e9c7a025b54dd62f
+Ciphertext = 57dfafa0d81ac3aaca2570ad13cccd127239f4ee04843bb738234588f0daea53ccd8af65a5a00ed19fbb6f2eb57779ff2e38e3d5d27986253a1193dabf14d2402e1a33527866fa21f23f7abbee5f454aad762fc90139c8377bf6cc77af7f982404baea5ca4831dd8ed28babf2d43b1f65eff42167b82f020dfd4928d8e96dcb7845ecf8f560fbbf5646fae5bc4eda6d978e5fb333843a1f4525cfbdde756842a1e353f4de1503738eec6c9d901a78cdefedf8daaa49631da674b44cab2193c778bf29766730a656b42e96f84698f77913c718067048263034cf2a2f34572ab662e4b1c5b04cd71183433c591abd5613820544d46f7462bea57e44f23ab06e0fbe0004a18072d33b7a7ac09362953dec57197a78ccdac0f1aa98d2a2eb6580a48053b0df23dfe2518253813dc1d1e66513c34a7effee403da2137493cd7f3e55b77a0cdd894c7126cea1d50956297e9316ca319ae00b59f45fdc781d0569825835376d3ad8876d1e5351c958cc858de25
+
+Kdf = KDF2(SHA-256)
+Mac = HMAC(SHA-256)
+MacKeyLen = 32
+Cipher = AES-256/CBC
+CipherKeyLen = 32
+IV = 00000000000000000000000000000000
+P = 32317006071311007300338913926423828248817941241140239112842009751400741706634354222619689417363569347117901737909704191754605873209195028853758986185622153212175412514901774520270235796078236248884246189477587641105928646099411723245426622522193230540919037680524235519125679715870117001058055877651038861847280257976054903569732561526167081339361799541336476559160368317896729073178384589680639671900977202194168647225871031411336429319536193471636533209717077448227988588565369208645296636077250268955505928362751121174096972998068410554359584866583291642136218231078990999448652468262416972035911852507045361090559
+G = 2
+X1 = 4316760088048858173826993660634587631078362099236037980378049883427191
+X2 = 3824157470039532100357278938102046076290169354062923298804711018976423
+Msg = 75dad921764736e389c4224daf7b278ec291e682044742e2e9c7a025b54dd62f
+Ciphertext = 57dfafa0d81ac3aaca2570ad13cccd127239f4ee04843bb738234588f0daea53ccd8af65a5a00ed19fbb6f2eb57779ff2e38e3d5d27986253a1193dabf14d2402e1a33527866fa21f23f7abbee5f454aad762fc90139c8377bf6cc77af7f982404baea5ca4831dd8ed28babf2d43b1f65eff42167b82f020dfd4928d8e96dcb7845ecf8f560fbbf5646fae5bc4eda6d978e5fb333843a1f4525cfbdde756842a1e353f4de1503738eec6c9d901a78cdefedf8daaa49631da674b44cab2193c778bf29766730a656b42e96f84698f77913c718067048263034cf2a2f34572ab662e4b1c5b04cd71183433c591abd5613820544d46f7462bea57e44f23ab06e0fb97f3ed7829ec1c4b6d22646252e19a267df9b0100f47f6a376c9b9d9c35a446d1eb7b12fe7f6d6e659d9c83c3c9b3c2a51405729857b99429f910de4fd993092b037a8270bbedcc5168f821167a256e4
+
+Kdf = KDF2(SHA-256)
+Mac = HMAC(SHA-256)
+MacKeyLen = 16
+Cipher = AES-256/CBC
+CipherKeyLen = 32
+IV = 00000000000000000000000000000000
+P = 32317006071311007300338913926423828248817941241140239112842009751400741706634354222619689417363569347117901737909704191754605873209195028853758986185622153212175412514901774520270235796078236248884246189477587641105928646099411723245426622522193230540919037680524235519125679715870117001058055877651038861847280257976054903569732561526167081339361799541336476559160368317896729073178384589680639671900977202194168647225871031411336429319536193471636533209717077448227988588565369208645296636077250268955505928362751121174096972998068410554359584866583291642136218231078990999448652468262416972035911852507045361090559
+G = 2
+X1 = 4316760088048858173826993660634587631078362099236037980378049883427191
+X2 = 3824157470039532100357278938102046076290169354062923298804711018976423
+Msg = 75dad921764736e389c4224daf7b278ec291e682044742e2e9c7a025b54dd62f
+Ciphertext = 57dfafa0d81ac3aaca2570ad13cccd127239f4ee04843bb738234588f0daea53ccd8af65a5a00ed19fbb6f2eb57779ff2e38e3d5d27986253a1193dabf14d2402e1a33527866fa21f23f7abbee5f454aad762fc90139c8377bf6cc77af7f982404baea5ca4831dd8ed28babf2d43b1f65eff42167b82f020dfd4928d8e96dcb7845ecf8f560fbbf5646fae5bc4eda6d978e5fb333843a1f4525cfbdde756842a1e353f4de1503738eec6c9d901a78cdefedf8daaa49631da674b44cab2193c778bf29766730a656b42e96f84698f77913c718067048263034cf2a2f34572ab662e4b1c5b04cd71183433c591abd5613820544d46f7462bea57e44f23ab06e0fb97f3ed7829ec1c4b6d22646252e19a267df9b0100f47f6a376c9b9d9c35a446d1eb7b12fe7f6d6e659d9c83c3c9b3c2a3878d585b4501ae07e88d18b5ebb87b028347a4dd9a4624b849ab5b9bf18daf8
+
+Kdf = KDF2(SHA-256)
+Mac = HMAC(SHA-256)
+MacKeyLen = 32
+Cipher = AES-256/CBC
+CipherKeyLen = 32
+IV = 00112233445566778899aabbccddeeff
+P = 32317006071311007300338913926423828248817941241140239112842009751400741706634354222619689417363569347117901737909704191754605873209195028853758986185622153212175412514901774520270235796078236248884246189477587641105928646099411723245426622522193230540919037680524235519125679715870117001058055877651038861847280257976054903569732561526167081339361799541336476559160368317896729073178384589680639671900977202194168647225871031411336429319536193471636533209717077448227988588565369208645296636077250268955505928362751121174096972998068410554359584866583291642136218231078990999448652468262416972035911852507045361090559
+G = 2
+X1 = 4316760088048858173826993660634587631078362099236037980378049883427191
+X2 = 3824157470039532100357278938102046076290169354062923298804711018976423
+Msg = 75dad921764736e389c4224daf7b278ec291e682044742e2e9c7a025b54dd62f
+Ciphertext = 57dfafa0d81ac3aaca2570ad13cccd127239f4ee04843bb738234588f0daea53ccd8af65a5a00ed19fbb6f2eb57779ff2e38e3d5d27986253a1193dabf14d2402e1a33527866fa21f23f7abbee5f454aad762fc90139c8377bf6cc77af7f982404baea5ca4831dd8ed28babf2d43b1f65eff42167b82f020dfd4928d8e96dcb7845ecf8f560fbbf5646fae5bc4eda6d978e5fb333843a1f4525cfbdde756842a1e353f4de1503738eec6c9d901a78cdefedf8daaa49631da674b44cab2193c778bf29766730a656b42e96f84698f77913c718067048263034cf2a2f34572ab662e4b1c5b04cd71183433c591abd5613820544d46f7462bea57e44f23ab06e0fb41ca8e7f448450d7c6ff6b7e61e0a4fba8f40c2944183f9c7c8a46bc7eb2d468aa5fb1cd9739320e6a60909994fb459b5515c49b1eb4a33015aa908886ec3bd26b57ad9158dbac9a8ede364fb763f5c2
+
+Kdf = KDF2(SHA-256)
+Mac = HMAC(SHA-256)
+MacKeyLen = 20
+Cipher = AES-256/CBC
+CipherKeyLen = 32
+IV = 00112233445566778899aabbccddeeff
+P = 32317006071311007300338913926423828248817941241140239112842009751400741706634354222619689417363569347117901737909704191754605873209195028853758986185622153212175412514901774520270235796078236248884246189477587641105928646099411723245426622522193230540919037680524235519125679715870117001058055877651038861847280257976054903569732561526167081339361799541336476559160368317896729073178384589680639671900977202194168647225871031411336429319536193471636533209717077448227988588565369208645296636077250268955505928362751121174096972998068410554359584866583291642136218231078990999448652468262416972035911852507045361090559
+G = 2
+X1 = 4316760088048858173826993660634587631078362099236037980378049883427191
+X2 = 3824157470039532100357278938102046076290169354062923298804711018976423
+Msg = 75dad921764736e389c4224daf7b278ec291e682044742e2e9c7a025b54dd62f
+Ciphertext = 57dfafa0d81ac3aaca2570ad13cccd127239f4ee04843bb738234588f0daea53ccd8af65a5a00ed19fbb6f2eb57779ff2e38e3d5d27986253a1193dabf14d2402e1a33527866fa21f23f7abbee5f454aad762fc90139c8377bf6cc77af7f982404baea5ca4831dd8ed28babf2d43b1f65eff42167b82f020dfd4928d8e96dcb7845ecf8f560fbbf5646fae5bc4eda6d978e5fb333843a1f4525cfbdde756842a1e353f4de1503738eec6c9d901a78cdefedf8daaa49631da674b44cab2193c778bf29766730a656b42e96f84698f77913c718067048263034cf2a2f34572ab662e4b1c5b04cd71183433c591abd5613820544d46f7462bea57e44f23ab06e0fb41ca8e7f448450d7c6ff6b7e61e0a4fba8f40c2944183f9c7c8a46bc7eb2d468aa5fb1cd9739320e6a60909994fb459b06287932b21dbe518b9cb87a6147cbddfc72ec35f96ddf262271267bcfff1bdd
+
+Kdf = KDF2(SHA-1)
+Mac = HMAC(SHA-1)
+MacKeyLen = 20
+Cipher = AES-256/CBC
+CipherKeyLen = 32
+IV = 00000000000000000000000000000000
+P = 32317006071311007300338913926423828248817941241140239112842009751400741706634354222619689417363569347117901737909704191754605873209195028853758986185622153212175412514901774520270235796078236248884246189477587641105928646099411723245426622522193230540919037680524235519125679715870117001058055877651038861847280257976054903569732561526167081339361799541336476559160368317896729073178384589680639671900977202194168647225871031411336429319536193471636533209717077448227988588565369208645296636077250268955505928362751121174096972998068410554359584866583291642136218231078990999448652468262416972035911852507045361090559
+G = 2
+X1 = 4316760088048858173826993660634587631078362099236037980378049883427191
+X2 = 3824157470039532100357278938102046076290169354062923298804711018976423
+Msg = 75dad921764736e389c4224daf7b278ec291e682044742e2e9c7a025b54dd62f
+Ciphertext = 57dfafa0d81ac3aaca2570ad13cccd127239f4ee04843bb738234588f0daea53ccd8af65a5a00ed19fbb6f2eb57779ff2e38e3d5d27986253a1193dabf14d2402e1a33527866fa21f23f7abbee5f454aad762fc90139c8377bf6cc77af7f982404baea5ca4831dd8ed28babf2d43b1f65eff42167b82f020dfd4928d8e96dcb7845ecf8f560fbbf5646fae5bc4eda6d978e5fb333843a1f4525cfbdde756842a1e353f4de1503738eec6c9d901a78cdefedf8daaa49631da674b44cab2193c778bf29766730a656b42e96f84698f77913c718067048263034cf2a2f34572ab662e4b1c5b04cd71183433c591abd5613820544d46f7462bea57e44f23ab06e0fb9378fd44585fabeac1d9f2941fa7fd229d2353130ecf210c7926c388c5e1e5438b3c6ba20f7551ef03d769e0d1c04587983fa4707e64dbe643d21f3a98267a3f5f14e7f3
+
+Kdf = KDF2(SHA-1)
+Mac = HMAC(SHA-1)
+MacKeyLen = 16
+Cipher = AES-256/CBC
+CipherKeyLen = 32
+IV = 00000000000000000000000000000000
+P = 32317006071311007300338913926423828248817941241140239112842009751400741706634354222619689417363569347117901737909704191754605873209195028853758986185622153212175412514901774520270235796078236248884246189477587641105928646099411723245426622522193230540919037680524235519125679715870117001058055877651038861847280257976054903569732561526167081339361799541336476559160368317896729073178384589680639671900977202194168647225871031411336429319536193471636533209717077448227988588565369208645296636077250268955505928362751121174096972998068410554359584866583291642136218231078990999448652468262416972035911852507045361090559
+G = 2
+X1 = 4316760088048858173826993660634587631078362099236037980378049883427191
+X2 = 3824157470039532100357278938102046076290169354062923298804711018976423
+Msg = 75dad921764736e389c4224daf7b278ec291e682044742e2e9c7a025b54dd62f
+Ciphertext = 57dfafa0d81ac3aaca2570ad13cccd127239f4ee04843bb738234588f0daea53ccd8af65a5a00ed19fbb6f2eb57779ff2e38e3d5d27986253a1193dabf14d2402e1a33527866fa21f23f7abbee5f454aad762fc90139c8377bf6cc77af7f982404baea5ca4831dd8ed28babf2d43b1f65eff42167b82f020dfd4928d8e96dcb7845ecf8f560fbbf5646fae5bc4eda6d978e5fb333843a1f4525cfbdde756842a1e353f4de1503738eec6c9d901a78cdefedf8daaa49631da674b44cab2193c778bf29766730a656b42e96f84698f77913c718067048263034cf2a2f34572ab662e4b1c5b04cd71183433c591abd5613820544d46f7462bea57e44f23ab06e0fb9378fd44585fabeac1d9f2941fa7fd229d2353130ecf210c7926c388c5e1e5438b3c6ba20f7551ef03d769e0d1c0458758b34c3789b3a3200b293ada094ea99522362b81
+
+Kdf = KDF2(SHA-1)
+Mac = HMAC(SHA-1)
+MacKeyLen = 20
+Cipher = AES-256/CBC
+CipherKeyLen = 32
+IV = 00112233445566778899aabbccddeeff
+P = 32317006071311007300338913926423828248817941241140239112842009751400741706634354222619689417363569347117901737909704191754605873209195028853758986185622153212175412514901774520270235796078236248884246189477587641105928646099411723245426622522193230540919037680524235519125679715870117001058055877651038861847280257976054903569732561526167081339361799541336476559160368317896729073178384589680639671900977202194168647225871031411336429319536193471636533209717077448227988588565369208645296636077250268955505928362751121174096972998068410554359584866583291642136218231078990999448652468262416972035911852507045361090559
+G = 2
+X1 = 4316760088048858173826993660634587631078362099236037980378049883427191
+X2 = 3824157470039532100357278938102046076290169354062923298804711018976423
+Msg = 75dad921764736e389c4224daf7b278ec291e682044742e2e9c7a025b54dd62f
+Ciphertext = 57dfafa0d81ac3aaca2570ad13cccd127239f4ee04843bb738234588f0daea53ccd8af65a5a00ed19fbb6f2eb57779ff2e38e3d5d27986253a1193dabf14d2402e1a33527866fa21f23f7abbee5f454aad762fc90139c8377bf6cc77af7f982404baea5ca4831dd8ed28babf2d43b1f65eff42167b82f020dfd4928d8e96dcb7845ecf8f560fbbf5646fae5bc4eda6d978e5fb333843a1f4525cfbdde756842a1e353f4de1503738eec6c9d901a78cdefedf8daaa49631da674b44cab2193c778bf29766730a656b42e96f84698f77913c718067048263034cf2a2f34572ab662e4b1c5b04cd71183433c591abd5613820544d46f7462bea57e44f23ab06e0fbc220747adc100278b830f636b942d0daf1651e218ea592e01cd5a4a4234974a61b4a71ff4d1f19a5892d417fab9c21898ec74ba98720d2c72422e9214a68a9f4065d2a73
+
+Kdf = KDF2(SHA-1)
+Mac = HMAC(SHA-1)
+MacKeyLen = 16
+Cipher = AES-256/CBC
+CipherKeyLen = 32
+IV = 00112233445566778899aabbccddeeff
+P = 32317006071311007300338913926423828248817941241140239112842009751400741706634354222619689417363569347117901737909704191754605873209195028853758986185622153212175412514901774520270235796078236248884246189477587641105928646099411723245426622522193230540919037680524235519125679715870117001058055877651038861847280257976054903569732561526167081339361799541336476559160368317896729073178384589680639671900977202194168647225871031411336429319536193471636533209717077448227988588565369208645296636077250268955505928362751121174096972998068410554359584866583291642136218231078990999448652468262416972035911852507045361090559
+G = 2
+X1 = 4316760088048858173826993660634587631078362099236037980378049883427191
+X2 = 3824157470039532100357278938102046076290169354062923298804711018976423
+Msg = 75dad921764736e389c4224daf7b278ec291e682044742e2e9c7a025b54dd62f
+Ciphertext = 57dfafa0d81ac3aaca2570ad13cccd127239f4ee04843bb738234588f0daea53ccd8af65a5a00ed19fbb6f2eb57779ff2e38e3d5d27986253a1193dabf14d2402e1a33527866fa21f23f7abbee5f454aad762fc90139c8377bf6cc77af7f982404baea5ca4831dd8ed28babf2d43b1f65eff42167b82f020dfd4928d8e96dcb7845ecf8f560fbbf5646fae5bc4eda6d978e5fb333843a1f4525cfbdde756842a1e353f4de1503738eec6c9d901a78cdefedf8daaa49631da674b44cab2193c778bf29766730a656b42e96f84698f77913c718067048263034cf2a2f34572ab662e4b1c5b04cd71183433c591abd5613820544d46f7462bea57e44f23ab06e0fbc220747adc100278b830f636b942d0daf1651e218ea592e01cd5a4a4234974a61b4a71ff4d1f19a5892d417fab9c2189cb14a54612e3a980d73c1e0ad972deb25753eb75
+
+Kdf = KDF2(SHA-512)
+Mac = CMAC(AES-256)
+MacKeyLen = 32
+Cipher = AES-256/CBC
+CipherKeyLen = 32
+IV = 00000000000000000000000000000000
+P = 32317006071311007300338913926423828248817941241140239112842009751400741706634354222619689417363569347117901737909704191754605873209195028853758986185622153212175412514901774520270235796078236248884246189477587641105928646099411723245426622522193230540919037680524235519125679715870117001058055877651038861847280257976054903569732561526167081339361799541336476559160368317896729073178384589680639671900977202194168647225871031411336429319536193471636533209717077448227988588565369208645296636077250268955505928362751121174096972998068410554359584866583291642136218231078990999448652468262416972035911852507045361090559
+G = 2
+X1 = 4316760088048858173826993660634587631078362099236037980378049883427191
+X2 = 3824157470039532100357278938102046076290169354062923298804711018976423
+Msg = 75dad921764736e389c4224daf7b278ec291e682044742e2e9c7a025b54dd62f
+Ciphertext = 57dfafa0d81ac3aaca2570ad13cccd127239f4ee04843bb738234588f0daea53ccd8af65a5a00ed19fbb6f2eb57779ff2e38e3d5d27986253a1193dabf14d2402e1a33527866fa21f23f7abbee5f454aad762fc90139c8377bf6cc77af7f982404baea5ca4831dd8ed28babf2d43b1f65eff42167b82f020dfd4928d8e96dcb7845ecf8f560fbbf5646fae5bc4eda6d978e5fb333843a1f4525cfbdde756842a1e353f4de1503738eec6c9d901a78cdefedf8daaa49631da674b44cab2193c778bf29766730a656b42e96f84698f77913c718067048263034cf2a2f34572ab662e4b1c5b04cd71183433c591abd5613820544d46f7462bea57e44f23ab06e0fb7c5f222b4215cd1b1c197fe8cfa2a252ad4c61a599ade3c8e8d0442b93afc626405fbe7bb1d103bdd8ce9468071a013fa0beb8264a28536dd671864fa73bf1d4
+
+Kdf = KDF2(SHA-512)
+Mac = CMAC(AES-256)
+MacKeyLen = 32
+Cipher = AES-256/CBC
+CipherKeyLen = 32
+IV = 00112233445566778899aabbccddeeff
+P = 32317006071311007300338913926423828248817941241140239112842009751400741706634354222619689417363569347117901737909704191754605873209195028853758986185622153212175412514901774520270235796078236248884246189477587641105928646099411723245426622522193230540919037680524235519125679715870117001058055877651038861847280257976054903569732561526167081339361799541336476559160368317896729073178384589680639671900977202194168647225871031411336429319536193471636533209717077448227988588565369208645296636077250268955505928362751121174096972998068410554359584866583291642136218231078990999448652468262416972035911852507045361090559
+G = 2
+X1 = 4316760088048858173826993660634587631078362099236037980378049883427191
+X2 = 3824157470039532100357278938102046076290169354062923298804711018976423
+Msg = 75dad921764736e389c4224daf7b278ec291e682044742e2e9c7a025b54dd62f
+Ciphertext = 57dfafa0d81ac3aaca2570ad13cccd127239f4ee04843bb738234588f0daea53ccd8af65a5a00ed19fbb6f2eb57779ff2e38e3d5d27986253a1193dabf14d2402e1a33527866fa21f23f7abbee5f454aad762fc90139c8377bf6cc77af7f982404baea5ca4831dd8ed28babf2d43b1f65eff42167b82f020dfd4928d8e96dcb7845ecf8f560fbbf5646fae5bc4eda6d978e5fb333843a1f4525cfbdde756842a1e353f4de1503738eec6c9d901a78cdefedf8daaa49631da674b44cab2193c778bf29766730a656b42e96f84698f77913c718067048263034cf2a2f34572ab662e4b1c5b04cd71183433c591abd5613820544d46f7462bea57e44f23ab06e0fbe0004a18072d33b7a7ac09362953dec57197a78ccdac0f1aa98d2a2eb6580a48053b0df23dfe2518253813dc1d1e6651825183042643dcaf2dc69700e29396d8
+
+Kdf = KDF2(SHA-256)
+Mac = CMAC(AES-256)
+MacKeyLen = 32
+Cipher = AES-256/CBC
+CipherKeyLen = 32
+IV = 00000000000000000000000000000000
+P = 32317006071311007300338913926423828248817941241140239112842009751400741706634354222619689417363569347117901737909704191754605873209195028853758986185622153212175412514901774520270235796078236248884246189477587641105928646099411723245426622522193230540919037680524235519125679715870117001058055877651038861847280257976054903569732561526167081339361799541336476559160368317896729073178384589680639671900977202194168647225871031411336429319536193471636533209717077448227988588565369208645296636077250268955505928362751121174096972998068410554359584866583291642136218231078990999448652468262416972035911852507045361090559
+G = 2
+X1 = 4316760088048858173826993660634587631078362099236037980378049883427191
+X2 = 3824157470039532100357278938102046076290169354062923298804711018976423
+Msg = 75dad921764736e389c4224daf7b278ec291e682044742e2e9c7a025b54dd62f
+Ciphertext = 57dfafa0d81ac3aaca2570ad13cccd127239f4ee04843bb738234588f0daea53ccd8af65a5a00ed19fbb6f2eb57779ff2e38e3d5d27986253a1193dabf14d2402e1a33527866fa21f23f7abbee5f454aad762fc90139c8377bf6cc77af7f982404baea5ca4831dd8ed28babf2d43b1f65eff42167b82f020dfd4928d8e96dcb7845ecf8f560fbbf5646fae5bc4eda6d978e5fb333843a1f4525cfbdde756842a1e353f4de1503738eec6c9d901a78cdefedf8daaa49631da674b44cab2193c778bf29766730a656b42e96f84698f77913c718067048263034cf2a2f34572ab662e4b1c5b04cd71183433c591abd5613820544d46f7462bea57e44f23ab06e0fb97f3ed7829ec1c4b6d22646252e19a267df9b0100f47f6a376c9b9d9c35a446d1eb7b12fe7f6d6e659d9c83c3c9b3c2a203a3d53a802d02c1be57381a72fa28c
+
+Kdf = KDF2(SHA-256)
+Mac = CMAC(AES-256)
+MacKeyLen = 32
+Cipher = AES-256/CBC
+CipherKeyLen = 32
+IV = 00112233445566778899aabbccddeeff
+P = 32317006071311007300338913926423828248817941241140239112842009751400741706634354222619689417363569347117901737909704191754605873209195028853758986185622153212175412514901774520270235796078236248884246189477587641105928646099411723245426622522193230540919037680524235519125679715870117001058055877651038861847280257976054903569732561526167081339361799541336476559160368317896729073178384589680639671900977202194168647225871031411336429319536193471636533209717077448227988588565369208645296636077250268955505928362751121174096972998068410554359584866583291642136218231078990999448652468262416972035911852507045361090559
+G = 2
+X1 = 4316760088048858173826993660634587631078362099236037980378049883427191
+X2 = 3824157470039532100357278938102046076290169354062923298804711018976423
+Msg = 75dad921764736e389c4224daf7b278ec291e682044742e2e9c7a025b54dd62f
+Ciphertext = 57dfafa0d81ac3aaca2570ad13cccd127239f4ee04843bb738234588f0daea53ccd8af65a5a00ed19fbb6f2eb57779ff2e38e3d5d27986253a1193dabf14d2402e1a33527866fa21f23f7abbee5f454aad762fc90139c8377bf6cc77af7f982404baea5ca4831dd8ed28babf2d43b1f65eff42167b82f020dfd4928d8e96dcb7845ecf8f560fbbf5646fae5bc4eda6d978e5fb333843a1f4525cfbdde756842a1e353f4de1503738eec6c9d901a78cdefedf8daaa49631da674b44cab2193c778bf29766730a656b42e96f84698f77913c718067048263034cf2a2f34572ab662e4b1c5b04cd71183433c591abd5613820544d46f7462bea57e44f23ab06e0fb41ca8e7f448450d7c6ff6b7e61e0a4fba8f40c2944183f9c7c8a46bc7eb2d468aa5fb1cd9739320e6a60909994fb459bee03ba55e204037119a97f02f1a8cb9b
+
+
+Kdf = KDF2(SHA-1)
+Mac = CMAC(AES-256)
+MacKeyLen = 32
+Cipher = AES-256/CBC
+CipherKeyLen = 32
+IV = 00000000000000000000000000000000
+P = 32317006071311007300338913926423828248817941241140239112842009751400741706634354222619689417363569347117901737909704191754605873209195028853758986185622153212175412514901774520270235796078236248884246189477587641105928646099411723245426622522193230540919037680524235519125679715870117001058055877651038861847280257976054903569732561526167081339361799541336476559160368317896729073178384589680639671900977202194168647225871031411336429319536193471636533209717077448227988588565369208645296636077250268955505928362751121174096972998068410554359584866583291642136218231078990999448652468262416972035911852507045361090559
+G = 2
+X1 = 4316760088048858173826993660634587631078362099236037980378049883427191
+X2 = 3824157470039532100357278938102046076290169354062923298804711018976423
+Msg = 75dad921764736e389c4224daf7b278ec291e682044742e2e9c7a025b54dd62f
+Ciphertext = 57dfafa0d81ac3aaca2570ad13cccd127239f4ee04843bb738234588f0daea53ccd8af65a5a00ed19fbb6f2eb57779ff2e38e3d5d27986253a1193dabf14d2402e1a33527866fa21f23f7abbee5f454aad762fc90139c8377bf6cc77af7f982404baea5ca4831dd8ed28babf2d43b1f65eff42167b82f020dfd4928d8e96dcb7845ecf8f560fbbf5646fae5bc4eda6d978e5fb333843a1f4525cfbdde756842a1e353f4de1503738eec6c9d901a78cdefedf8daaa49631da674b44cab2193c778bf29766730a656b42e96f84698f77913c718067048263034cf2a2f34572ab662e4b1c5b04cd71183433c591abd5613820544d46f7462bea57e44f23ab06e0fb9378fd44585fabeac1d9f2941fa7fd229d2353130ecf210c7926c388c5e1e5438b3c6ba20f7551ef03d769e0d1c04587d25c8b9b56026ae8187f6c667c3bf57b
+
+Kdf = KDF2(SHA-1)
+Mac = CMAC(AES-256)
+MacKeyLen = 32
+Cipher = AES-256/CBC
+CipherKeyLen = 32
+IV = 00112233445566778899aabbccddeeff
+P = 32317006071311007300338913926423828248817941241140239112842009751400741706634354222619689417363569347117901737909704191754605873209195028853758986185622153212175412514901774520270235796078236248884246189477587641105928646099411723245426622522193230540919037680524235519125679715870117001058055877651038861847280257976054903569732561526167081339361799541336476559160368317896729073178384589680639671900977202194168647225871031411336429319536193471636533209717077448227988588565369208645296636077250268955505928362751121174096972998068410554359584866583291642136218231078990999448652468262416972035911852507045361090559
+G = 2
+X1 = 4316760088048858173826993660634587631078362099236037980378049883427191
+X2 = 3824157470039532100357278938102046076290169354062923298804711018976423
+Msg = 75dad921764736e389c4224daf7b278ec291e682044742e2e9c7a025b54dd62f
+Ciphertext = 57dfafa0d81ac3aaca2570ad13cccd127239f4ee04843bb738234588f0daea53ccd8af65a5a00ed19fbb6f2eb57779ff2e38e3d5d27986253a1193dabf14d2402e1a33527866fa21f23f7abbee5f454aad762fc90139c8377bf6cc77af7f982404baea5ca4831dd8ed28babf2d43b1f65eff42167b82f020dfd4928d8e96dcb7845ecf8f560fbbf5646fae5bc4eda6d978e5fb333843a1f4525cfbdde756842a1e353f4de1503738eec6c9d901a78cdefedf8daaa49631da674b44cab2193c778bf29766730a656b42e96f84698f77913c718067048263034cf2a2f34572ab662e4b1c5b04cd71183433c591abd5613820544d46f7462bea57e44f23ab06e0fbc220747adc100278b830f636b942d0daf1651e218ea592e01cd5a4a4234974a61b4a71ff4d1f19a5892d417fab9c2189abcc03fbf5fdaa8d101408b13fe9cea3
+
+####### KDF1-18033
+
+Kdf = KDF1-18033(SHA-512)
+Mac = HMAC(SHA-512)
+MacKeyLen = 64
+Cipher = AES-256/CBC
+CipherKeyLen = 32
+IV = 00000000000000000000000000000000
+P = 32317006071311007300338913926423828248817941241140239112842009751400741706634354222619689417363569347117901737909704191754605873209195028853758986185622153212175412514901774520270235796078236248884246189477587641105928646099411723245426622522193230540919037680524235519125679715870117001058055877651038861847280257976054903569732561526167081339361799541336476559160368317896729073178384589680639671900977202194168647225871031411336429319536193471636533209717077448227988588565369208645296636077250268955505928362751121174096972998068410554359584866583291642136218231078990999448652468262416972035911852507045361090559
+G = 2
+X1 = 4316760088048858173826993660634587631078362099236037980378049883427191
+X2 = 3824157470039532100357278938102046076290169354062923298804711018976423
+Msg = 75dad921764736e389c4224daf7b278ec291e682044742e2e9c7a025b54dd62f
+Ciphertext = 57dfafa0d81ac3aaca2570ad13cccd127239f4ee04843bb738234588f0daea53ccd8af65a5a00ed19fbb6f2eb57779ff2e38e3d5d27986253a1193dabf14d2402e1a33527866fa21f23f7abbee5f454aad762fc90139c8377bf6cc77af7f982404baea5ca4831dd8ed28babf2d43b1f65eff42167b82f020dfd4928d8e96dcb7845ecf8f560fbbf5646fae5bc4eda6d978e5fb333843a1f4525cfbdde756842a1e353f4de1503738eec6c9d901a78cdefedf8daaa49631da674b44cab2193c778bf29766730a656b42e96f84698f77913c718067048263034cf2a2f34572ab662e4b1c5b04cd71183433c591abd5613820544d46f7462bea57e44f23ab06e0fbd02e423bcbfd01b23c12d332dbd5f4748de89e038bc0841f254509c4119eb62d80013e6b6ea63ef00904494377677137449fbbe79ebe11c57a32e88d7b44ced4614eef8a4f1c8f061f1f60413af7ed6eddd9120d650ac9fd8216b12a6af8f1594ab117fd3536f2a44f70654330809ddc
+
+Kdf = KDF1-18033(SHA-512)
+Mac = HMAC(SHA-512)
+MacKeyLen = 32
+Cipher = AES-256/CBC
+CipherKeyLen = 32
+IV = 00000000000000000000000000000000
+P = 32317006071311007300338913926423828248817941241140239112842009751400741706634354222619689417363569347117901737909704191754605873209195028853758986185622153212175412514901774520270235796078236248884246189477587641105928646099411723245426622522193230540919037680524235519125679715870117001058055877651038861847280257976054903569732561526167081339361799541336476559160368317896729073178384589680639671900977202194168647225871031411336429319536193471636533209717077448227988588565369208645296636077250268955505928362751121174096972998068410554359584866583291642136218231078990999448652468262416972035911852507045361090559
+G = 2
+X1 = 4316760088048858173826993660634587631078362099236037980378049883427191
+X2 = 3824157470039532100357278938102046076290169354062923298804711018976423
+Msg = 75dad921764736e389c4224daf7b278ec291e682044742e2e9c7a025b54dd62f
+Ciphertext = 57dfafa0d81ac3aaca2570ad13cccd127239f4ee04843bb738234588f0daea53ccd8af65a5a00ed19fbb6f2eb57779ff2e38e3d5d27986253a1193dabf14d2402e1a33527866fa21f23f7abbee5f454aad762fc90139c8377bf6cc77af7f982404baea5ca4831dd8ed28babf2d43b1f65eff42167b82f020dfd4928d8e96dcb7845ecf8f560fbbf5646fae5bc4eda6d978e5fb333843a1f4525cfbdde756842a1e353f4de1503738eec6c9d901a78cdefedf8daaa49631da674b44cab2193c778bf29766730a656b42e96f84698f77913c718067048263034cf2a2f34572ab662e4b1c5b04cd71183433c591abd5613820544d46f7462bea57e44f23ab06e0fbd02e423bcbfd01b23c12d332dbd5f4748de89e038bc0841f254509c4119eb62d80013e6b6ea63ef009044943776771378743bfaff20afd91f48a78f4af831e42335aff26ffa98c1bf74ef0e1437b6eba839de9dfca32869fa021fe19dbabbd1d6d3da10b1e4f434bf760da236666b10d
+
+Kdf = KDF1-18033(SHA-512)
+Mac = HMAC(SHA-512)
+MacKeyLen = 20
+Cipher = AES-256/CBC
+CipherKeyLen = 32
+IV = 00000000000000000000000000000000
+P = 32317006071311007300338913926423828248817941241140239112842009751400741706634354222619689417363569347117901737909704191754605873209195028853758986185622153212175412514901774520270235796078236248884246189477587641105928646099411723245426622522193230540919037680524235519125679715870117001058055877651038861847280257976054903569732561526167081339361799541336476559160368317896729073178384589680639671900977202194168647225871031411336429319536193471636533209717077448227988588565369208645296636077250268955505928362751121174096972998068410554359584866583291642136218231078990999448652468262416972035911852507045361090559
+G = 2
+X1 = 4316760088048858173826993660634587631078362099236037980378049883427191
+X2 = 3824157470039532100357278938102046076290169354062923298804711018976423
+Msg = 75dad921764736e389c4224daf7b278ec291e682044742e2e9c7a025b54dd62f
+Ciphertext = 57dfafa0d81ac3aaca2570ad13cccd127239f4ee04843bb738234588f0daea53ccd8af65a5a00ed19fbb6f2eb57779ff2e38e3d5d27986253a1193dabf14d2402e1a33527866fa21f23f7abbee5f454aad762fc90139c8377bf6cc77af7f982404baea5ca4831dd8ed28babf2d43b1f65eff42167b82f020dfd4928d8e96dcb7845ecf8f560fbbf5646fae5bc4eda6d978e5fb333843a1f4525cfbdde756842a1e353f4de1503738eec6c9d901a78cdefedf8daaa49631da674b44cab2193c778bf29766730a656b42e96f84698f77913c718067048263034cf2a2f34572ab662e4b1c5b04cd71183433c591abd5613820544d46f7462bea57e44f23ab06e0fbd02e423bcbfd01b23c12d332dbd5f4748de89e038bc0841f254509c4119eb62d80013e6b6ea63ef00904494377677137edf4f8a39d3d8c791b3945f242ef5f321ea69a270bc6c2b24a55f3e65b67db24b7e9a8a270eb3f175b49461982a2c2d53b48fd296818f696454d13c10c7b1cc6
+
+Kdf = KDF1-18033(SHA-512)
+Mac = HMAC(SHA-512)
+MacKeyLen = 64
+Cipher = AES-256/CBC
+CipherKeyLen = 32
+IV = 00112233445566778899aabbccddeeff
+P = 32317006071311007300338913926423828248817941241140239112842009751400741706634354222619689417363569347117901737909704191754605873209195028853758986185622153212175412514901774520270235796078236248884246189477587641105928646099411723245426622522193230540919037680524235519125679715870117001058055877651038861847280257976054903569732561526167081339361799541336476559160368317896729073178384589680639671900977202194168647225871031411336429319536193471636533209717077448227988588565369208645296636077250268955505928362751121174096972998068410554359584866583291642136218231078990999448652468262416972035911852507045361090559
+G = 2
+X1 = 4316760088048858173826993660634587631078362099236037980378049883427191
+X2 = 3824157470039532100357278938102046076290169354062923298804711018976423
+Msg = 75dad921764736e389c4224daf7b278ec291e682044742e2e9c7a025b54dd62f
+Ciphertext = 57dfafa0d81ac3aaca2570ad13cccd127239f4ee04843bb738234588f0daea53ccd8af65a5a00ed19fbb6f2eb57779ff2e38e3d5d27986253a1193dabf14d2402e1a33527866fa21f23f7abbee5f454aad762fc90139c8377bf6cc77af7f982404baea5ca4831dd8ed28babf2d43b1f65eff42167b82f020dfd4928d8e96dcb7845ecf8f560fbbf5646fae5bc4eda6d978e5fb333843a1f4525cfbdde756842a1e353f4de1503738eec6c9d901a78cdefedf8daaa49631da674b44cab2193c778bf29766730a656b42e96f84698f77913c718067048263034cf2a2f34572ab662e4b1c5b04cd71183433c591abd5613820544d46f7462bea57e44f23ab06e0fb8ab1751efd5cda04c715d94f0dc7f21058ddd90215a6dbb5f3029121c80ce39692acef02ecc5e5deb71352b45682de7ada1f4ec465be2f5fbe25776c3c03baa2c62cc3b44fa762798f3efb687a5281b7063fa71fdfc483e53dc0bfabe2853510fecb29b110b75d2292567eab1c86cb24
+
+Kdf = KDF1-18033(SHA-512)
+Mac = HMAC(SHA-512)
+MacKeyLen = 32
+Cipher = AES-256/CBC
+CipherKeyLen = 32
+IV = 00112233445566778899aabbccddeeff
+P = 32317006071311007300338913926423828248817941241140239112842009751400741706634354222619689417363569347117901737909704191754605873209195028853758986185622153212175412514901774520270235796078236248884246189477587641105928646099411723245426622522193230540919037680524235519125679715870117001058055877651038861847280257976054903569732561526167081339361799541336476559160368317896729073178384589680639671900977202194168647225871031411336429319536193471636533209717077448227988588565369208645296636077250268955505928362751121174096972998068410554359584866583291642136218231078990999448652468262416972035911852507045361090559
+G = 2
+X1 = 4316760088048858173826993660634587631078362099236037980378049883427191
+X2 = 3824157470039532100357278938102046076290169354062923298804711018976423
+Msg = 75dad921764736e389c4224daf7b278ec291e682044742e2e9c7a025b54dd62f
+Ciphertext = 57dfafa0d81ac3aaca2570ad13cccd127239f4ee04843bb738234588f0daea53ccd8af65a5a00ed19fbb6f2eb57779ff2e38e3d5d27986253a1193dabf14d2402e1a33527866fa21f23f7abbee5f454aad762fc90139c8377bf6cc77af7f982404baea5ca4831dd8ed28babf2d43b1f65eff42167b82f020dfd4928d8e96dcb7845ecf8f560fbbf5646fae5bc4eda6d978e5fb333843a1f4525cfbdde756842a1e353f4de1503738eec6c9d901a78cdefedf8daaa49631da674b44cab2193c778bf29766730a656b42e96f84698f77913c718067048263034cf2a2f34572ab662e4b1c5b04cd71183433c591abd5613820544d46f7462bea57e44f23ab06e0fb8ab1751efd5cda04c715d94f0dc7f21058ddd90215a6dbb5f3029121c80ce39692acef02ecc5e5deb71352b45682de7aeba22adf488a429ce9bff1b51a916e917fb39d0a4719a6d3eadbfa1f5dbf93ada69056d0ba459693c9329446ceed6ab09bbd73a4651faa9107f56d132dd62072
+
+Kdf = KDF1-18033(SHA-512)
+Mac = HMAC(SHA-512)
+MacKeyLen = 20
+Cipher = AES-256/CBC
+CipherKeyLen = 32
+IV = 00112233445566778899aabbccddeeff
+P = 32317006071311007300338913926423828248817941241140239112842009751400741706634354222619689417363569347117901737909704191754605873209195028853758986185622153212175412514901774520270235796078236248884246189477587641105928646099411723245426622522193230540919037680524235519125679715870117001058055877651038861847280257976054903569732561526167081339361799541336476559160368317896729073178384589680639671900977202194168647225871031411336429319536193471636533209717077448227988588565369208645296636077250268955505928362751121174096972998068410554359584866583291642136218231078990999448652468262416972035911852507045361090559
+G = 2
+X1 = 4316760088048858173826993660634587631078362099236037980378049883427191
+X2 = 3824157470039532100357278938102046076290169354062923298804711018976423
+Msg = 75dad921764736e389c4224daf7b278ec291e682044742e2e9c7a025b54dd62f
+Ciphertext = 57dfafa0d81ac3aaca2570ad13cccd127239f4ee04843bb738234588f0daea53ccd8af65a5a00ed19fbb6f2eb57779ff2e38e3d5d27986253a1193dabf14d2402e1a33527866fa21f23f7abbee5f454aad762fc90139c8377bf6cc77af7f982404baea5ca4831dd8ed28babf2d43b1f65eff42167b82f020dfd4928d8e96dcb7845ecf8f560fbbf5646fae5bc4eda6d978e5fb333843a1f4525cfbdde756842a1e353f4de1503738eec6c9d901a78cdefedf8daaa49631da674b44cab2193c778bf29766730a656b42e96f84698f77913c718067048263034cf2a2f34572ab662e4b1c5b04cd71183433c591abd5613820544d46f7462bea57e44f23ab06e0fb8ab1751efd5cda04c715d94f0dc7f21058ddd90215a6dbb5f3029121c80ce39692acef02ecc5e5deb71352b45682de7a21a5db0631ab9bf0f14e60f819a5bc7d2559531bce85fc466d9fdf6f3ce9cadaa60b5f833dc881deb143630b7e8a267a16144d926038ec3c2359b0f092935d22
+
+Kdf = KDF1-18033(SHA-256)
+Mac = HMAC(SHA-256)
+MacKeyLen = 32
+Cipher = AES-256/CBC
+CipherKeyLen = 32
+IV = 00000000000000000000000000000000
+P = 32317006071311007300338913926423828248817941241140239112842009751400741706634354222619689417363569347117901737909704191754605873209195028853758986185622153212175412514901774520270235796078236248884246189477587641105928646099411723245426622522193230540919037680524235519125679715870117001058055877651038861847280257976054903569732561526167081339361799541336476559160368317896729073178384589680639671900977202194168647225871031411336429319536193471636533209717077448227988588565369208645296636077250268955505928362751121174096972998068410554359584866583291642136218231078990999448652468262416972035911852507045361090559
+G = 2
+X1 = 4316760088048858173826993660634587631078362099236037980378049883427191
+X2 = 3824157470039532100357278938102046076290169354062923298804711018976423
+Msg = 75dad921764736e389c4224daf7b278ec291e682044742e2e9c7a025b54dd62f
+Ciphertext = 57dfafa0d81ac3aaca2570ad13cccd127239f4ee04843bb738234588f0daea53ccd8af65a5a00ed19fbb6f2eb57779ff2e38e3d5d27986253a1193dabf14d2402e1a33527866fa21f23f7abbee5f454aad762fc90139c8377bf6cc77af7f982404baea5ca4831dd8ed28babf2d43b1f65eff42167b82f020dfd4928d8e96dcb7845ecf8f560fbbf5646fae5bc4eda6d978e5fb333843a1f4525cfbdde756842a1e353f4de1503738eec6c9d901a78cdefedf8daaa49631da674b44cab2193c778bf29766730a656b42e96f84698f77913c718067048263034cf2a2f34572ab662e4b1c5b04cd71183433c591abd5613820544d46f7462bea57e44f23ab06e0fb20faa6b9b8e36197a44df7ee04a6eb517621c0c25b54004b8c18da9d307743e2f75e0a106b1cd8d275ed146f0ea2d66342511e50f37a91ad3eb5efce92a858a95458a9484f9a9c939bc8ab8a028bbf22
+
+Kdf = KDF1-18033(SHA-256)
+Mac = HMAC(SHA-256)
+MacKeyLen = 20
+Cipher = AES-256/CBC
+CipherKeyLen = 32
+IV = 00000000000000000000000000000000
+P = 32317006071311007300338913926423828248817941241140239112842009751400741706634354222619689417363569347117901737909704191754605873209195028853758986185622153212175412514901774520270235796078236248884246189477587641105928646099411723245426622522193230540919037680524235519125679715870117001058055877651038861847280257976054903569732561526167081339361799541336476559160368317896729073178384589680639671900977202194168647225871031411336429319536193471636533209717077448227988588565369208645296636077250268955505928362751121174096972998068410554359584866583291642136218231078990999448652468262416972035911852507045361090559
+G = 2
+X1 = 4316760088048858173826993660634587631078362099236037980378049883427191
+X2 = 3824157470039532100357278938102046076290169354062923298804711018976423
+Msg = 75dad921764736e389c4224daf7b278ec291e682044742e2e9c7a025b54dd62f
+Ciphertext = 57dfafa0d81ac3aaca2570ad13cccd127239f4ee04843bb738234588f0daea53ccd8af65a5a00ed19fbb6f2eb57779ff2e38e3d5d27986253a1193dabf14d2402e1a33527866fa21f23f7abbee5f454aad762fc90139c8377bf6cc77af7f982404baea5ca4831dd8ed28babf2d43b1f65eff42167b82f020dfd4928d8e96dcb7845ecf8f560fbbf5646fae5bc4eda6d978e5fb333843a1f4525cfbdde756842a1e353f4de1503738eec6c9d901a78cdefedf8daaa49631da674b44cab2193c778bf29766730a656b42e96f84698f77913c718067048263034cf2a2f34572ab662e4b1c5b04cd71183433c591abd5613820544d46f7462bea57e44f23ab06e0fb20faa6b9b8e36197a44df7ee04a6eb517621c0c25b54004b8c18da9d307743e2f75e0a106b1cd8d275ed146f0ea2d66355baba71e14d2826cf99292581db0e3f6356280965ebfa456093b75a50089f7c
+
+Kdf = KDF1-18033(SHA-256)
+Mac = HMAC(SHA-256)
+MacKeyLen = 16
+Cipher = AES-256/CBC
+CipherKeyLen = 32
+IV = 00000000000000000000000000000000
+P = 32317006071311007300338913926423828248817941241140239112842009751400741706634354222619689417363569347117901737909704191754605873209195028853758986185622153212175412514901774520270235796078236248884246189477587641105928646099411723245426622522193230540919037680524235519125679715870117001058055877651038861847280257976054903569732561526167081339361799541336476559160368317896729073178384589680639671900977202194168647225871031411336429319536193471636533209717077448227988588565369208645296636077250268955505928362751121174096972998068410554359584866583291642136218231078990999448652468262416972035911852507045361090559
+G = 2
+X1 = 4316760088048858173826993660634587631078362099236037980378049883427191
+X2 = 3824157470039532100357278938102046076290169354062923298804711018976423
+Msg = 75dad921764736e389c4224daf7b278ec291e682044742e2e9c7a025b54dd62f
+Ciphertext = 57dfafa0d81ac3aaca2570ad13cccd127239f4ee04843bb738234588f0daea53ccd8af65a5a00ed19fbb6f2eb57779ff2e38e3d5d27986253a1193dabf14d2402e1a33527866fa21f23f7abbee5f454aad762fc90139c8377bf6cc77af7f982404baea5ca4831dd8ed28babf2d43b1f65eff42167b82f020dfd4928d8e96dcb7845ecf8f560fbbf5646fae5bc4eda6d978e5fb333843a1f4525cfbdde756842a1e353f4de1503738eec6c9d901a78cdefedf8daaa49631da674b44cab2193c778bf29766730a656b42e96f84698f77913c718067048263034cf2a2f34572ab662e4b1c5b04cd71183433c591abd5613820544d46f7462bea57e44f23ab06e0fb20faa6b9b8e36197a44df7ee04a6eb517621c0c25b54004b8c18da9d307743e2f75e0a106b1cd8d275ed146f0ea2d663fa3df2c346fec36f0181aafdde052872c021aeae057298c72068ea9271d19a30
+
+Kdf = KDF1-18033(SHA-256)
+Mac = HMAC(SHA-256)
+MacKeyLen = 32
+Cipher = AES-256/CBC
+CipherKeyLen = 32
+IV = 00112233445566778899aabbccddeeff
+P = 32317006071311007300338913926423828248817941241140239112842009751400741706634354222619689417363569347117901737909704191754605873209195028853758986185622153212175412514901774520270235796078236248884246189477587641105928646099411723245426622522193230540919037680524235519125679715870117001058055877651038861847280257976054903569732561526167081339361799541336476559160368317896729073178384589680639671900977202194168647225871031411336429319536193471636533209717077448227988588565369208645296636077250268955505928362751121174096972998068410554359584866583291642136218231078990999448652468262416972035911852507045361090559
+G = 2
+X1 = 4316760088048858173826993660634587631078362099236037980378049883427191
+X2 = 3824157470039532100357278938102046076290169354062923298804711018976423
+Msg = 75dad921764736e389c4224daf7b278ec291e682044742e2e9c7a025b54dd62f
+Ciphertext = 57dfafa0d81ac3aaca2570ad13cccd127239f4ee04843bb738234588f0daea53ccd8af65a5a00ed19fbb6f2eb57779ff2e38e3d5d27986253a1193dabf14d2402e1a33527866fa21f23f7abbee5f454aad762fc90139c8377bf6cc77af7f982404baea5ca4831dd8ed28babf2d43b1f65eff42167b82f020dfd4928d8e96dcb7845ecf8f560fbbf5646fae5bc4eda6d978e5fb333843a1f4525cfbdde756842a1e353f4de1503738eec6c9d901a78cdefedf8daaa49631da674b44cab2193c778bf29766730a656b42e96f84698f77913c718067048263034cf2a2f34572ab662e4b1c5b04cd71183433c591abd5613820544d46f7462bea57e44f23ab06e0fb5905e1af473bff629d6559e6dfae76dd176135417ec1f8bd56da34e604f3cba3edfe626868e6a6f5706454cc808394ae979dbb099676e3e61f12de47d87eb2c68101edce237b18b3ba41eca6c8d4a2c6
+
+Kdf = KDF1-18033(SHA-256)
+Mac = HMAC(SHA-256)
+MacKeyLen = 20
+Cipher = AES-256/CBC
+CipherKeyLen = 32
+IV = 00112233445566778899aabbccddeeff
+P = 32317006071311007300338913926423828248817941241140239112842009751400741706634354222619689417363569347117901737909704191754605873209195028853758986185622153212175412514901774520270235796078236248884246189477587641105928646099411723245426622522193230540919037680524235519125679715870117001058055877651038861847280257976054903569732561526167081339361799541336476559160368317896729073178384589680639671900977202194168647225871031411336429319536193471636533209717077448227988588565369208645296636077250268955505928362751121174096972998068410554359584866583291642136218231078990999448652468262416972035911852507045361090559
+G = 2
+X1 = 4316760088048858173826993660634587631078362099236037980378049883427191
+X2 = 3824157470039532100357278938102046076290169354062923298804711018976423
+Msg = 75dad921764736e389c4224daf7b278ec291e682044742e2e9c7a025b54dd62f
+Ciphertext = 57dfafa0d81ac3aaca2570ad13cccd127239f4ee04843bb738234588f0daea53ccd8af65a5a00ed19fbb6f2eb57779ff2e38e3d5d27986253a1193dabf14d2402e1a33527866fa21f23f7abbee5f454aad762fc90139c8377bf6cc77af7f982404baea5ca4831dd8ed28babf2d43b1f65eff42167b82f020dfd4928d8e96dcb7845ecf8f560fbbf5646fae5bc4eda6d978e5fb333843a1f4525cfbdde756842a1e353f4de1503738eec6c9d901a78cdefedf8daaa49631da674b44cab2193c778bf29766730a656b42e96f84698f77913c718067048263034cf2a2f34572ab662e4b1c5b04cd71183433c591abd5613820544d46f7462bea57e44f23ab06e0fb5905e1af473bff629d6559e6dfae76dd176135417ec1f8bd56da34e604f3cba3edfe626868e6a6f5706454cc808394ae08f8d798a81ef521ab83d5d63127c8df21bbeb596ca63fe3789c28091805f8eb
+
+Kdf = KDF1-18033(SHA-256)
+Mac = HMAC(SHA-256)
+MacKeyLen = 16
+Cipher = AES-256/CBC
+CipherKeyLen = 32
+IV = 00112233445566778899aabbccddeeff
+P = 32317006071311007300338913926423828248817941241140239112842009751400741706634354222619689417363569347117901737909704191754605873209195028853758986185622153212175412514901774520270235796078236248884246189477587641105928646099411723245426622522193230540919037680524235519125679715870117001058055877651038861847280257976054903569732561526167081339361799541336476559160368317896729073178384589680639671900977202194168647225871031411336429319536193471636533209717077448227988588565369208645296636077250268955505928362751121174096972998068410554359584866583291642136218231078990999448652468262416972035911852507045361090559
+G = 2
+X1 = 4316760088048858173826993660634587631078362099236037980378049883427191
+X2 = 3824157470039532100357278938102046076290169354062923298804711018976423
+Msg = 75dad921764736e389c4224daf7b278ec291e682044742e2e9c7a025b54dd62f
+Ciphertext = 57dfafa0d81ac3aaca2570ad13cccd127239f4ee04843bb738234588f0daea53ccd8af65a5a00ed19fbb6f2eb57779ff2e38e3d5d27986253a1193dabf14d2402e1a33527866fa21f23f7abbee5f454aad762fc90139c8377bf6cc77af7f982404baea5ca4831dd8ed28babf2d43b1f65eff42167b82f020dfd4928d8e96dcb7845ecf8f560fbbf5646fae5bc4eda6d978e5fb333843a1f4525cfbdde756842a1e353f4de1503738eec6c9d901a78cdefedf8daaa49631da674b44cab2193c778bf29766730a656b42e96f84698f77913c718067048263034cf2a2f34572ab662e4b1c5b04cd71183433c591abd5613820544d46f7462bea57e44f23ab06e0fb5905e1af473bff629d6559e6dfae76dd176135417ec1f8bd56da34e604f3cba3edfe626868e6a6f5706454cc808394aeed35c9fcb24b2a440873264c97aadc860dc89e8b95a4e644c5ac2bb5f19c2c5e
+
+Kdf = KDF1-18033(SHA-1)
+Mac = HMAC(SHA-1)
+MacKeyLen = 20
+Cipher = AES-256/CBC
+CipherKeyLen = 32
+IV = 00000000000000000000000000000000
+P = 32317006071311007300338913926423828248817941241140239112842009751400741706634354222619689417363569347117901737909704191754605873209195028853758986185622153212175412514901774520270235796078236248884246189477587641105928646099411723245426622522193230540919037680524235519125679715870117001058055877651038861847280257976054903569732561526167081339361799541336476559160368317896729073178384589680639671900977202194168647225871031411336429319536193471636533209717077448227988588565369208645296636077250268955505928362751121174096972998068410554359584866583291642136218231078990999448652468262416972035911852507045361090559
+G = 2
+X1 = 4316760088048858173826993660634587631078362099236037980378049883427191
+X2 = 3824157470039532100357278938102046076290169354062923298804711018976423
+Msg = 75dad921764736e389c4224daf7b278ec291e682044742e2e9c7a025b54dd62f
+Ciphertext = 57dfafa0d81ac3aaca2570ad13cccd127239f4ee04843bb738234588f0daea53ccd8af65a5a00ed19fbb6f2eb57779ff2e38e3d5d27986253a1193dabf14d2402e1a33527866fa21f23f7abbee5f454aad762fc90139c8377bf6cc77af7f982404baea5ca4831dd8ed28babf2d43b1f65eff42167b82f020dfd4928d8e96dcb7845ecf8f560fbbf5646fae5bc4eda6d978e5fb333843a1f4525cfbdde756842a1e353f4de1503738eec6c9d901a78cdefedf8daaa49631da674b44cab2193c778bf29766730a656b42e96f84698f77913c718067048263034cf2a2f34572ab662e4b1c5b04cd71183433c591abd5613820544d46f7462bea57e44f23ab06e0fb780aefcb510dadc91fb23e93c1dc3ab67515904c394001d13c57cc4e8f14120d8b5d102f8a0af143ac4ae59d8358714e71a4b9ae7881296a1f8e4fd7695a9cdc00613360
+
+Kdf = KDF1-18033(SHA-1)
+Mac = HMAC(SHA-1)
+MacKeyLen = 16
+Cipher = AES-256/CBC
+CipherKeyLen = 32
+IV = 00000000000000000000000000000000
+P = 32317006071311007300338913926423828248817941241140239112842009751400741706634354222619689417363569347117901737909704191754605873209195028853758986185622153212175412514901774520270235796078236248884246189477587641105928646099411723245426622522193230540919037680524235519125679715870117001058055877651038861847280257976054903569732561526167081339361799541336476559160368317896729073178384589680639671900977202194168647225871031411336429319536193471636533209717077448227988588565369208645296636077250268955505928362751121174096972998068410554359584866583291642136218231078990999448652468262416972035911852507045361090559
+G = 2
+X1 = 4316760088048858173826993660634587631078362099236037980378049883427191
+X2 = 3824157470039532100357278938102046076290169354062923298804711018976423
+Msg = 75dad921764736e389c4224daf7b278ec291e682044742e2e9c7a025b54dd62f
+Ciphertext = 57dfafa0d81ac3aaca2570ad13cccd127239f4ee04843bb738234588f0daea53ccd8af65a5a00ed19fbb6f2eb57779ff2e38e3d5d27986253a1193dabf14d2402e1a33527866fa21f23f7abbee5f454aad762fc90139c8377bf6cc77af7f982404baea5ca4831dd8ed28babf2d43b1f65eff42167b82f020dfd4928d8e96dcb7845ecf8f560fbbf5646fae5bc4eda6d978e5fb333843a1f4525cfbdde756842a1e353f4de1503738eec6c9d901a78cdefedf8daaa49631da674b44cab2193c778bf29766730a656b42e96f84698f77913c718067048263034cf2a2f34572ab662e4b1c5b04cd71183433c591abd5613820544d46f7462bea57e44f23ab06e0fb780aefcb510dadc91fb23e93c1dc3ab67515904c394001d13c57cc4e8f14120d8b5d102f8a0af143ac4ae59d8358714e666ffa3f0881093199f6ab5e1f2bca9658b29114
+
+Kdf = KDF1-18033(SHA-1)
+Mac = HMAC(SHA-1)
+MacKeyLen = 20
+Cipher = AES-256/CBC
+CipherKeyLen = 32
+IV = 00112233445566778899aabbccddeeff
+P = 32317006071311007300338913926423828248817941241140239112842009751400741706634354222619689417363569347117901737909704191754605873209195028853758986185622153212175412514901774520270235796078236248884246189477587641105928646099411723245426622522193230540919037680524235519125679715870117001058055877651038861847280257976054903569732561526167081339361799541336476559160368317896729073178384589680639671900977202194168647225871031411336429319536193471636533209717077448227988588565369208645296636077250268955505928362751121174096972998068410554359584866583291642136218231078990999448652468262416972035911852507045361090559
+G = 2
+X1 = 4316760088048858173826993660634587631078362099236037980378049883427191
+X2 = 3824157470039532100357278938102046076290169354062923298804711018976423
+Msg = 75dad921764736e389c4224daf7b278ec291e682044742e2e9c7a025b54dd62f
+Ciphertext = 57dfafa0d81ac3aaca2570ad13cccd127239f4ee04843bb738234588f0daea53ccd8af65a5a00ed19fbb6f2eb57779ff2e38e3d5d27986253a1193dabf14d2402e1a33527866fa21f23f7abbee5f454aad762fc90139c8377bf6cc77af7f982404baea5ca4831dd8ed28babf2d43b1f65eff42167b82f020dfd4928d8e96dcb7845ecf8f560fbbf5646fae5bc4eda6d978e5fb333843a1f4525cfbdde756842a1e353f4de1503738eec6c9d901a78cdefedf8daaa49631da674b44cab2193c778bf29766730a656b42e96f84698f77913c718067048263034cf2a2f34572ab662e4b1c5b04cd71183433c591abd5613820544d46f7462bea57e44f23ab06e0fb79d5d8fcd4cec89c61a875f1f44b76f2c6561450ec419bce39d5c18a83174866408ddcc61780820295438b12371cb6b77aa52d217e6b8f9bc0c940eee9f18827bfc42958
+
+Kdf = KDF1-18033(SHA-1)
+Mac = HMAC(SHA-1)
+MacKeyLen = 16
+Cipher = AES-256/CBC
+CipherKeyLen = 32
+IV = 00112233445566778899aabbccddeeff
+P = 32317006071311007300338913926423828248817941241140239112842009751400741706634354222619689417363569347117901737909704191754605873209195028853758986185622153212175412514901774520270235796078236248884246189477587641105928646099411723245426622522193230540919037680524235519125679715870117001058055877651038861847280257976054903569732561526167081339361799541336476559160368317896729073178384589680639671900977202194168647225871031411336429319536193471636533209717077448227988588565369208645296636077250268955505928362751121174096972998068410554359584866583291642136218231078990999448652468262416972035911852507045361090559
+G = 2
+X1 = 4316760088048858173826993660634587631078362099236037980378049883427191
+X2 = 3824157470039532100357278938102046076290169354062923298804711018976423
+Msg = 75dad921764736e389c4224daf7b278ec291e682044742e2e9c7a025b54dd62f
+Ciphertext = 57dfafa0d81ac3aaca2570ad13cccd127239f4ee04843bb738234588f0daea53ccd8af65a5a00ed19fbb6f2eb57779ff2e38e3d5d27986253a1193dabf14d2402e1a33527866fa21f23f7abbee5f454aad762fc90139c8377bf6cc77af7f982404baea5ca4831dd8ed28babf2d43b1f65eff42167b82f020dfd4928d8e96dcb7845ecf8f560fbbf5646fae5bc4eda6d978e5fb333843a1f4525cfbdde756842a1e353f4de1503738eec6c9d901a78cdefedf8daaa49631da674b44cab2193c778bf29766730a656b42e96f84698f77913c718067048263034cf2a2f34572ab662e4b1c5b04cd71183433c591abd5613820544d46f7462bea57e44f23ab06e0fb79d5d8fcd4cec89c61a875f1f44b76f2c6561450ec419bce39d5c18a83174866408ddcc61780820295438b12371cb6b76f5a4cb193769a1cc3cabac1ef709ad5cd903113
+
+Kdf = KDF1-18033(SHA-512)
+Mac = CMAC(AES-256)
+MacKeyLen = 32
+Cipher = AES-256/CBC
+CipherKeyLen = 32
+IV = 00112233445566778899aabbccddeeff
+P = 32317006071311007300338913926423828248817941241140239112842009751400741706634354222619689417363569347117901737909704191754605873209195028853758986185622153212175412514901774520270235796078236248884246189477587641105928646099411723245426622522193230540919037680524235519125679715870117001058055877651038861847280257976054903569732561526167081339361799541336476559160368317896729073178384589680639671900977202194168647225871031411336429319536193471636533209717077448227988588565369208645296636077250268955505928362751121174096972998068410554359584866583291642136218231078990999448652468262416972035911852507045361090559
+G = 2
+X1 = 4316760088048858173826993660634587631078362099236037980378049883427191
+X2 = 3824157470039532100357278938102046076290169354062923298804711018976423
+Msg = 75dad921764736e389c4224daf7b278ec291e682044742e2e9c7a025b54dd62f
+Ciphertext = 57dfafa0d81ac3aaca2570ad13cccd127239f4ee04843bb738234588f0daea53ccd8af65a5a00ed19fbb6f2eb57779ff2e38e3d5d27986253a1193dabf14d2402e1a33527866fa21f23f7abbee5f454aad762fc90139c8377bf6cc77af7f982404baea5ca4831dd8ed28babf2d43b1f65eff42167b82f020dfd4928d8e96dcb7845ecf8f560fbbf5646fae5bc4eda6d978e5fb333843a1f4525cfbdde756842a1e353f4de1503738eec6c9d901a78cdefedf8daaa49631da674b44cab2193c778bf29766730a656b42e96f84698f77913c718067048263034cf2a2f34572ab662e4b1c5b04cd71183433c591abd5613820544d46f7462bea57e44f23ab06e0fb8ab1751efd5cda04c715d94f0dc7f21058ddd90215a6dbb5f3029121c80ce39692acef02ecc5e5deb71352b45682de7a0b65f9aea49d094a71b64333211e3349
+
+Kdf = KDF1-18033(SHA-512)
+Mac = CMAC(AES-256)
+MacKeyLen = 32
+Cipher = AES-256/CBC
+CipherKeyLen = 32
+IV = 00000000000000000000000000000000
+P = 32317006071311007300338913926423828248817941241140239112842009751400741706634354222619689417363569347117901737909704191754605873209195028853758986185622153212175412514901774520270235796078236248884246189477587641105928646099411723245426622522193230540919037680524235519125679715870117001058055877651038861847280257976054903569732561526167081339361799541336476559160368317896729073178384589680639671900977202194168647225871031411336429319536193471636533209717077448227988588565369208645296636077250268955505928362751121174096972998068410554359584866583291642136218231078990999448652468262416972035911852507045361090559
+G = 2
+X1 = 4316760088048858173826993660634587631078362099236037980378049883427191
+X2 = 3824157470039532100357278938102046076290169354062923298804711018976423
+Msg = 75dad921764736e389c4224daf7b278ec291e682044742e2e9c7a025b54dd62f
+Ciphertext = 57dfafa0d81ac3aaca2570ad13cccd127239f4ee04843bb738234588f0daea53ccd8af65a5a00ed19fbb6f2eb57779ff2e38e3d5d27986253a1193dabf14d2402e1a33527866fa21f23f7abbee5f454aad762fc90139c8377bf6cc77af7f982404baea5ca4831dd8ed28babf2d43b1f65eff42167b82f020dfd4928d8e96dcb7845ecf8f560fbbf5646fae5bc4eda6d978e5fb333843a1f4525cfbdde756842a1e353f4de1503738eec6c9d901a78cdefedf8daaa49631da674b44cab2193c778bf29766730a656b42e96f84698f77913c718067048263034cf2a2f34572ab662e4b1c5b04cd71183433c591abd5613820544d46f7462bea57e44f23ab06e0fbd02e423bcbfd01b23c12d332dbd5f4748de89e038bc0841f254509c4119eb62d80013e6b6ea63ef00904494377677137c1b3b063d80fea08ce2cb5d846b4d6bc
+
+Kdf = KDF1-18033(SHA-256)
+Mac = CMAC(AES-256)
+MacKeyLen = 32
+Cipher = AES-256/CBC
+CipherKeyLen = 32
+IV = 00112233445566778899aabbccddeeff
+P = 32317006071311007300338913926423828248817941241140239112842009751400741706634354222619689417363569347117901737909704191754605873209195028853758986185622153212175412514901774520270235796078236248884246189477587641105928646099411723245426622522193230540919037680524235519125679715870117001058055877651038861847280257976054903569732561526167081339361799541336476559160368317896729073178384589680639671900977202194168647225871031411336429319536193471636533209717077448227988588565369208645296636077250268955505928362751121174096972998068410554359584866583291642136218231078990999448652468262416972035911852507045361090559
+G = 2
+X1 = 4316760088048858173826993660634587631078362099236037980378049883427191
+X2 = 3824157470039532100357278938102046076290169354062923298804711018976423
+Msg = 75dad921764736e389c4224daf7b278ec291e682044742e2e9c7a025b54dd62f
+Ciphertext = 57dfafa0d81ac3aaca2570ad13cccd127239f4ee04843bb738234588f0daea53ccd8af65a5a00ed19fbb6f2eb57779ff2e38e3d5d27986253a1193dabf14d2402e1a33527866fa21f23f7abbee5f454aad762fc90139c8377bf6cc77af7f982404baea5ca4831dd8ed28babf2d43b1f65eff42167b82f020dfd4928d8e96dcb7845ecf8f560fbbf5646fae5bc4eda6d978e5fb333843a1f4525cfbdde756842a1e353f4de1503738eec6c9d901a78cdefedf8daaa49631da674b44cab2193c778bf29766730a656b42e96f84698f77913c718067048263034cf2a2f34572ab662e4b1c5b04cd71183433c591abd5613820544d46f7462bea57e44f23ab06e0fb5905e1af473bff629d6559e6dfae76dd176135417ec1f8bd56da34e604f3cba3edfe626868e6a6f5706454cc808394aef9fe22486b2f76c889d1d4d4903128f2
+
+Kdf = KDF1-18033(SHA-256)
+Mac = CMAC(AES-256)
+MacKeyLen = 32
+Cipher = AES-256/CBC
+CipherKeyLen = 32
+IV = 00000000000000000000000000000000
+P = 32317006071311007300338913926423828248817941241140239112842009751400741706634354222619689417363569347117901737909704191754605873209195028853758986185622153212175412514901774520270235796078236248884246189477587641105928646099411723245426622522193230540919037680524235519125679715870117001058055877651038861847280257976054903569732561526167081339361799541336476559160368317896729073178384589680639671900977202194168647225871031411336429319536193471636533209717077448227988588565369208645296636077250268955505928362751121174096972998068410554359584866583291642136218231078990999448652468262416972035911852507045361090559
+G = 2
+X1 = 4316760088048858173826993660634587631078362099236037980378049883427191
+X2 = 3824157470039532100357278938102046076290169354062923298804711018976423
+Msg = 75dad921764736e389c4224daf7b278ec291e682044742e2e9c7a025b54dd62f
+Ciphertext = 57dfafa0d81ac3aaca2570ad13cccd127239f4ee04843bb738234588f0daea53ccd8af65a5a00ed19fbb6f2eb57779ff2e38e3d5d27986253a1193dabf14d2402e1a33527866fa21f23f7abbee5f454aad762fc90139c8377bf6cc77af7f982404baea5ca4831dd8ed28babf2d43b1f65eff42167b82f020dfd4928d8e96dcb7845ecf8f560fbbf5646fae5bc4eda6d978e5fb333843a1f4525cfbdde756842a1e353f4de1503738eec6c9d901a78cdefedf8daaa49631da674b44cab2193c778bf29766730a656b42e96f84698f77913c718067048263034cf2a2f34572ab662e4b1c5b04cd71183433c591abd5613820544d46f7462bea57e44f23ab06e0fb20faa6b9b8e36197a44df7ee04a6eb517621c0c25b54004b8c18da9d307743e2f75e0a106b1cd8d275ed146f0ea2d6635d54b68cd4f7e34845f8a658b2a1cc80
+
+Kdf = KDF1-18033(SHA-1)
+Mac = CMAC(AES-256)
+MacKeyLen = 32
+Cipher = AES-256/CBC
+CipherKeyLen = 32
+IV = 00112233445566778899aabbccddeeff
+P = 32317006071311007300338913926423828248817941241140239112842009751400741706634354222619689417363569347117901737909704191754605873209195028853758986185622153212175412514901774520270235796078236248884246189477587641105928646099411723245426622522193230540919037680524235519125679715870117001058055877651038861847280257976054903569732561526167081339361799541336476559160368317896729073178384589680639671900977202194168647225871031411336429319536193471636533209717077448227988588565369208645296636077250268955505928362751121174096972998068410554359584866583291642136218231078990999448652468262416972035911852507045361090559
+G = 2
+X1 = 4316760088048858173826993660634587631078362099236037980378049883427191
+X2 = 3824157470039532100357278938102046076290169354062923298804711018976423
+Msg = 75dad921764736e389c4224daf7b278ec291e682044742e2e9c7a025b54dd62f
+Ciphertext = 57dfafa0d81ac3aaca2570ad13cccd127239f4ee04843bb738234588f0daea53ccd8af65a5a00ed19fbb6f2eb57779ff2e38e3d5d27986253a1193dabf14d2402e1a33527866fa21f23f7abbee5f454aad762fc90139c8377bf6cc77af7f982404baea5ca4831dd8ed28babf2d43b1f65eff42167b82f020dfd4928d8e96dcb7845ecf8f560fbbf5646fae5bc4eda6d978e5fb333843a1f4525cfbdde756842a1e353f4de1503738eec6c9d901a78cdefedf8daaa49631da674b44cab2193c778bf29766730a656b42e96f84698f77913c718067048263034cf2a2f34572ab662e4b1c5b04cd71183433c591abd5613820544d46f7462bea57e44f23ab06e0fb79d5d8fcd4cec89c61a875f1f44b76f2c6561450ec419bce39d5c18a83174866408ddcc61780820295438b12371cb6b7846bbcb1320b46d3857d683c68754868
+
+Kdf = KDF1-18033(SHA-1)
+Mac = CMAC(AES-256)
+MacKeyLen = 32
+Cipher = AES-256/CBC
+CipherKeyLen = 32
+IV = 00000000000000000000000000000000
+P = 32317006071311007300338913926423828248817941241140239112842009751400741706634354222619689417363569347117901737909704191754605873209195028853758986185622153212175412514901774520270235796078236248884246189477587641105928646099411723245426622522193230540919037680524235519125679715870117001058055877651038861847280257976054903569732561526167081339361799541336476559160368317896729073178384589680639671900977202194168647225871031411336429319536193471636533209717077448227988588565369208645296636077250268955505928362751121174096972998068410554359584866583291642136218231078990999448652468262416972035911852507045361090559
+G = 2
+X1 = 4316760088048858173826993660634587631078362099236037980378049883427191
+X2 = 3824157470039532100357278938102046076290169354062923298804711018976423
+Msg = 75dad921764736e389c4224daf7b278ec291e682044742e2e9c7a025b54dd62f
+Ciphertext = 57dfafa0d81ac3aaca2570ad13cccd127239f4ee04843bb738234588f0daea53ccd8af65a5a00ed19fbb6f2eb57779ff2e38e3d5d27986253a1193dabf14d2402e1a33527866fa21f23f7abbee5f454aad762fc90139c8377bf6cc77af7f982404baea5ca4831dd8ed28babf2d43b1f65eff42167b82f020dfd4928d8e96dcb7845ecf8f560fbbf5646fae5bc4eda6d978e5fb333843a1f4525cfbdde756842a1e353f4de1503738eec6c9d901a78cdefedf8daaa49631da674b44cab2193c778bf29766730a656b42e96f84698f77913c718067048263034cf2a2f34572ab662e4b1c5b04cd71183433c591abd5613820544d46f7462bea57e44f23ab06e0fb780aefcb510dadc91fb23e93c1dc3ab67515904c394001d13c57cc4e8f14120d8b5d102f8a0af143ac4ae59d8358714e63cd5edcce32a71dfa645223fdc8249d
+
+########### Stream mode (XOR enc/dec) ###########
+
+#public static void main(String[] args) throws InvalidCipherTextException {
+# // 2048-bit MODP Group. RFC3526
+# BigInteger g = new BigInteger( "2", 10 );
+# BigInteger p = new BigInteger( "FFFFFFFFFFFFFFFFC90FDAA22168C234C4C6628B80DC1CD129024E088A67CC74020BBEA63B139B22514A0879"
+# + "8E3404DDEF9519B3CD3A431B302B0A6DF25F14374FE1356D6D51C245E485B576625E7EC6F44C42E9A637ED6B0BFF5CB6F406B7ED"
+# + "EE386BFB5A899FA5AE9F24117C4B1FE649286651ECE45B3DC2007CB8A163BF0598DA48361C55D39A69163FA8FD24CF5F"
+# + "83655D23DCA3AD961C62F356208552BB9ED529077096966D670C354E4ABC9804F1746C08CA18217C32905E462E36CE3B"
+# + "E39E772C180E86039B2783A2EC07A28FB5C55DF06F4C52C9DE2BCBF6955817183995497CEA956AE515D2261898FA0510"
+# + "15728E5A8AACAA68FFFFFFFFFFFFFFFF", 16 );
+#
+# DHParameters dhParams = new DHParameters( p, g );
+#
+# // alice priv key
+# BigInteger xAlice = new BigInteger( "A01E167DE1013D6859E6CB068B7BF272C1D49DC764AD7676BFA0D85177", 16 );
+# DHPrivateKeyParameters alicePriv = new DHPrivateKeyParameters( xAlice, dhParams );
+#
+# // alice pub key
+# BigInteger yAlice = g.modPow(xAlice, p);
+# DHPublicKeyParameters alicePub = new DHPublicKeyParameters( yAlice, dhParams );
+#
+# // bob priv key
+# BigInteger xBob = new BigInteger( "8DD88BDC19AC1403A3FC3A0FC63D360F1062E3494177DC27F7EBCBD4A7", 16 );
+#
+# // bob pub key
+# BigInteger yBob = g.modPow(xBob, p);
+# DHPublicKeyParameters bobPub = new DHPublicKeyParameters( yBob, dhParams );
+#
+# // DLIES
+# byte[] d = new byte[ 0 ]; // the derivation parameter for the KDF function
+# byte[] e = new byte[ 0 ]; // the encoding parameter for the KDF function
+# int macKeySize = 160;
+# int cipherKeySize = 256;
+# byte[] iv = new byte[ 16 ];
+# CipherParameters cipherParams = new ParametersWithIV( new IESWithCipherParameters( d, e, macKeySize, cipherKeySize ), iv );
+#
+# IESEngine dlies =
+# new IESEngine( new DHBasicAgreement(), new KDF2BytesGenerator( new SHA256Digest() ), new HMac( new SHA256Digest() ) );
+# dlies.init( true, alicePriv, bobPub, cipherParams );
+#
+# byte[] message = Hex.decode( "00" );
+# byte[] result = dlies.processBlock( message, 0, message.length );
+#
+# byte[] ephPublicKey = alicePub.getY().toByteArray();
+# byte[] out = Arrays.concatenate( ephPublicKey, result );
+#
+# System.out.println( Hex.toHexString( out ) );
+# }
+
+####### KDF2
+
+Kdf = KDF2(SHA-512)
+Mac = HMAC(SHA-512)
+MacKeyLen = 64
+P = 32317006071311007300338913926423828248817941241140239112842009751400741706634354222619689417363569347117901737909704191754605873209195028853758986185622153212175412514901774520270235796078236248884246189477587641105928646099411723245426622522193230540919037680524235519125679715870117001058055877651038861847280257976054903569732561526167081339361799541336476559160368317896729073178384589680639671900977202194168647225871031411336429319536193471636533209717077448227988588565369208645296636077250268955505928362751121174096972998068410554359584866583291642136218231078990999448652468262416972035911852507045361090559
+G = 2
+X1 = 4316760088048858173826993660634587631078362099236037980378049883427191
+X2 = 3824157470039532100357278938102046076290169354062923298804711018976423
+Msg = 75dad921764736e389c4224daf7b278ec291e682044742e2e9c7a025b54dd62f
+Ciphertext = 57dfafa0d81ac3aaca2570ad13cccd127239f4ee04843bb738234588f0daea53ccd8af65a5a00ed19fbb6f2eb57779ff2e38e3d5d27986253a1193dabf14d2402e1a33527866fa21f23f7abbee5f454aad762fc90139c8377bf6cc77af7f982404baea5ca4831dd8ed28babf2d43b1f65eff42167b82f020dfd4928d8e96dcb7845ecf8f560fbbf5646fae5bc4eda6d978e5fb333843a1f4525cfbdde756842a1e353f4de1503738eec6c9d901a78cdefedf8daaa49631da674b44cab2193c778bf29766730a656b42e96f84698f77913c718067048263034cf2a2f34572ab662e4b1c5b04cd71183433c591abd5613820544d46f7462bea57e44f23ab06e0fb9b311515aa49918497c0c52f8c09e2cf6b3bc0343131a552b3d72ec4ee73f9628310a5d278a69c52f5a76c68031365e2504ef4abfa6e105f359e6d57c60a5beaf94a156544baba53139a3e90dd6218e504e58e1c8992df4565e68ec611c286bd
+
+Kdf = KDF2(SHA-512)
+Mac = HMAC(SHA-512)
+MacKeyLen = 32
+P = 32317006071311007300338913926423828248817941241140239112842009751400741706634354222619689417363569347117901737909704191754605873209195028853758986185622153212175412514901774520270235796078236248884246189477587641105928646099411723245426622522193230540919037680524235519125679715870117001058055877651038861847280257976054903569732561526167081339361799541336476559160368317896729073178384589680639671900977202194168647225871031411336429319536193471636533209717077448227988588565369208645296636077250268955505928362751121174096972998068410554359584866583291642136218231078990999448652468262416972035911852507045361090559
+G = 2
+X1 = 4316760088048858173826993660634587631078362099236037980378049883427191
+X2 = 3824157470039532100357278938102046076290169354062923298804711018976423
+Msg = 75dad921764736e389c4224daf7b278ec291e682044742e2e9c7a025b54dd62f
+Ciphertext = 57dfafa0d81ac3aaca2570ad13cccd127239f4ee04843bb738234588f0daea53ccd8af65a5a00ed19fbb6f2eb57779ff2e38e3d5d27986253a1193dabf14d2402e1a33527866fa21f23f7abbee5f454aad762fc90139c8377bf6cc77af7f982404baea5ca4831dd8ed28babf2d43b1f65eff42167b82f020dfd4928d8e96dcb7845ecf8f560fbbf5646fae5bc4eda6d978e5fb333843a1f4525cfbdde756842a1e353f4de1503738eec6c9d901a78cdefedf8daaa49631da674b44cab2193c778bf29766730a656b42e96f84698f77913c718067048263034cf2a2f34572ab662e4b1c5b04cd71183433c591abd5613820544d46f7462bea57e44f23ab06e0fb9b311515aa49918497c0c52f8c09e2cf6b3bc0343131a552b3d72ec4ee73f962baa771f5b54bef678412dfd3ea7380a42014b50aec4cc55d841b2ae20a168b3d5e51da011736d60e6ad446adc72f60e41f7f25c9d2e76badc473c110b7fc67b8
+
+Kdf = KDF2(SHA-512)
+Mac = HMAC(SHA-512)
+MacKeyLen = 20
+P = 32317006071311007300338913926423828248817941241140239112842009751400741706634354222619689417363569347117901737909704191754605873209195028853758986185622153212175412514901774520270235796078236248884246189477587641105928646099411723245426622522193230540919037680524235519125679715870117001058055877651038861847280257976054903569732561526167081339361799541336476559160368317896729073178384589680639671900977202194168647225871031411336429319536193471636533209717077448227988588565369208645296636077250268955505928362751121174096972998068410554359584866583291642136218231078990999448652468262416972035911852507045361090559
+G = 2
+X1 = 4316760088048858173826993660634587631078362099236037980378049883427191
+X2 = 3824157470039532100357278938102046076290169354062923298804711018976423
+Msg = 75dad921764736e389c4224daf7b278ec291e682044742e2e9c7a025b54dd62f
+Ciphertext = 57dfafa0d81ac3aaca2570ad13cccd127239f4ee04843bb738234588f0daea53ccd8af65a5a00ed19fbb6f2eb57779ff2e38e3d5d27986253a1193dabf14d2402e1a33527866fa21f23f7abbee5f454aad762fc90139c8377bf6cc77af7f982404baea5ca4831dd8ed28babf2d43b1f65eff42167b82f020dfd4928d8e96dcb7845ecf8f560fbbf5646fae5bc4eda6d978e5fb333843a1f4525cfbdde756842a1e353f4de1503738eec6c9d901a78cdefedf8daaa49631da674b44cab2193c778bf29766730a656b42e96f84698f77913c718067048263034cf2a2f34572ab662e4b1c5b04cd71183433c591abd5613820544d46f7462bea57e44f23ab06e0fb9b311515aa49918497c0c52f8c09e2cf6b3bc0343131a552b3d72ec4ee73f96262aa912053ba6ece87a75b8e2c1cf4fc49c5b03f7c433feaf8386ccc44e48375dc7d2a6fa59403a0e44fc268e7fb88eaa9faa66f120ca4f133631f5aace793e1
+
+Kdf = KDF2(SHA-256)
+Mac = HMAC(SHA-256)
+MacKeyLen = 32
+P = 32317006071311007300338913926423828248817941241140239112842009751400741706634354222619689417363569347117901737909704191754605873209195028853758986185622153212175412514901774520270235796078236248884246189477587641105928646099411723245426622522193230540919037680524235519125679715870117001058055877651038861847280257976054903569732561526167081339361799541336476559160368317896729073178384589680639671900977202194168647225871031411336429319536193471636533209717077448227988588565369208645296636077250268955505928362751121174096972998068410554359584866583291642136218231078990999448652468262416972035911852507045361090559
+G = 2
+X1 = 4316760088048858173826993660634587631078362099236037980378049883427191
+X2 = 3824157470039532100357278938102046076290169354062923298804711018976423
+Msg = 75dad921764736e389c4224daf7b278ec291e682044742e2e9c7a025b54dd62f
+Ciphertext = 57dfafa0d81ac3aaca2570ad13cccd127239f4ee04843bb738234588f0daea53ccd8af65a5a00ed19fbb6f2eb57779ff2e38e3d5d27986253a1193dabf14d2402e1a33527866fa21f23f7abbee5f454aad762fc90139c8377bf6cc77af7f982404baea5ca4831dd8ed28babf2d43b1f65eff42167b82f020dfd4928d8e96dcb7845ecf8f560fbbf5646fae5bc4eda6d978e5fb333843a1f4525cfbdde756842a1e353f4de1503738eec6c9d901a78cdefedf8daaa49631da674b44cab2193c778bf29766730a656b42e96f84698f77913c718067048263034cf2a2f34572ab662e4b1c5b04cd71183433c591abd5613820544d46f7462bea57e44f23ab06e0fbfdeb30b4378e3a6583da338d50cc23086dc8c3b33bc8e6d5612a44a2e1f0c5cbb8dbdb9d5c1e326f78df5beb66336ce5d95cd9f7cf349218874524519c2b5977
+
+Kdf = KDF2(SHA-256)
+Mac = HMAC(SHA-256)
+MacKeyLen = 20
+P = 32317006071311007300338913926423828248817941241140239112842009751400741706634354222619689417363569347117901737909704191754605873209195028853758986185622153212175412514901774520270235796078236248884246189477587641105928646099411723245426622522193230540919037680524235519125679715870117001058055877651038861847280257976054903569732561526167081339361799541336476559160368317896729073178384589680639671900977202194168647225871031411336429319536193471636533209717077448227988588565369208645296636077250268955505928362751121174096972998068410554359584866583291642136218231078990999448652468262416972035911852507045361090559
+G = 2
+X1 = 4316760088048858173826993660634587631078362099236037980378049883427191
+X2 = 3824157470039532100357278938102046076290169354062923298804711018976423
+Msg = 75dad921764736e389c4224daf7b278ec291e682044742e2e9c7a025b54dd62f
+Ciphertext = 57dfafa0d81ac3aaca2570ad13cccd127239f4ee04843bb738234588f0daea53ccd8af65a5a00ed19fbb6f2eb57779ff2e38e3d5d27986253a1193dabf14d2402e1a33527866fa21f23f7abbee5f454aad762fc90139c8377bf6cc77af7f982404baea5ca4831dd8ed28babf2d43b1f65eff42167b82f020dfd4928d8e96dcb7845ecf8f560fbbf5646fae5bc4eda6d978e5fb333843a1f4525cfbdde756842a1e353f4de1503738eec6c9d901a78cdefedf8daaa49631da674b44cab2193c778bf29766730a656b42e96f84698f77913c718067048263034cf2a2f34572ab662e4b1c5b04cd71183433c591abd5613820544d46f7462bea57e44f23ab06e0fbfdeb30b4378e3a6583da338d50cc23086dc8c3b33bc8e6d5612a44a2e1f0c5cbf1a5cfd4cf6a4a507d8151956d5573f94713d848517c37657f9d278b0c1f927e
+
+Kdf = KDF2(SHA-256)
+Mac = HMAC(SHA-256)
+MacKeyLen = 16
+P = 32317006071311007300338913926423828248817941241140239112842009751400741706634354222619689417363569347117901737909704191754605873209195028853758986185622153212175412514901774520270235796078236248884246189477587641105928646099411723245426622522193230540919037680524235519125679715870117001058055877651038861847280257976054903569732561526167081339361799541336476559160368317896729073178384589680639671900977202194168647225871031411336429319536193471636533209717077448227988588565369208645296636077250268955505928362751121174096972998068410554359584866583291642136218231078990999448652468262416972035911852507045361090559
+G = 2
+X1 = 4316760088048858173826993660634587631078362099236037980378049883427191
+X2 = 3824157470039532100357278938102046076290169354062923298804711018976423
+Msg = 75dad921764736e389c4224daf7b278ec291e682044742e2e9c7a025b54dd62f
+Ciphertext = 57dfafa0d81ac3aaca2570ad13cccd127239f4ee04843bb738234588f0daea53ccd8af65a5a00ed19fbb6f2eb57779ff2e38e3d5d27986253a1193dabf14d2402e1a33527866fa21f23f7abbee5f454aad762fc90139c8377bf6cc77af7f982404baea5ca4831dd8ed28babf2d43b1f65eff42167b82f020dfd4928d8e96dcb7845ecf8f560fbbf5646fae5bc4eda6d978e5fb333843a1f4525cfbdde756842a1e353f4de1503738eec6c9d901a78cdefedf8daaa49631da674b44cab2193c778bf29766730a656b42e96f84698f77913c718067048263034cf2a2f34572ab662e4b1c5b04cd71183433c591abd5613820544d46f7462bea57e44f23ab06e0fbfdeb30b4378e3a6583da338d50cc23086dc8c3b33bc8e6d5612a44a2e1f0c5cb0bdbd16fedfb41e28e6e52c6fc073a7f51d2951976602430a4788d9dcf94f40e
+
+Kdf = KDF2(SHA-1)
+Mac = HMAC(SHA-1)
+MacKeyLen = 20
+P = 32317006071311007300338913926423828248817941241140239112842009751400741706634354222619689417363569347117901737909704191754605873209195028853758986185622153212175412514901774520270235796078236248884246189477587641105928646099411723245426622522193230540919037680524235519125679715870117001058055877651038861847280257976054903569732561526167081339361799541336476559160368317896729073178384589680639671900977202194168647225871031411336429319536193471636533209717077448227988588565369208645296636077250268955505928362751121174096972998068410554359584866583291642136218231078990999448652468262416972035911852507045361090559
+G = 2
+X1 = 4316760088048858173826993660634587631078362099236037980378049883427191
+X2 = 3824157470039532100357278938102046076290169354062923298804711018976423
+Msg = 75dad921764736e389c4224daf7b278ec291e682044742e2e9c7a025b54dd62f
+Ciphertext = 57dfafa0d81ac3aaca2570ad13cccd127239f4ee04843bb738234588f0daea53ccd8af65a5a00ed19fbb6f2eb57779ff2e38e3d5d27986253a1193dabf14d2402e1a33527866fa21f23f7abbee5f454aad762fc90139c8377bf6cc77af7f982404baea5ca4831dd8ed28babf2d43b1f65eff42167b82f020dfd4928d8e96dcb7845ecf8f560fbbf5646fae5bc4eda6d978e5fb333843a1f4525cfbdde756842a1e353f4de1503738eec6c9d901a78cdefedf8daaa49631da674b44cab2193c778bf29766730a656b42e96f84698f77913c718067048263034cf2a2f34572ab662e4b1c5b04cd71183433c591abd5613820544d46f7462bea57e44f23ab06e0fb070d66995d816ed81c1877398dbc56744848d0af4b63c374925eeeab5d99f55c3efe5a434f886c377d175a52798bc6edbb968932
+
+Kdf = KDF2(SHA-1)
+Mac = HMAC(SHA-1)
+MacKeyLen = 16
+P = 32317006071311007300338913926423828248817941241140239112842009751400741706634354222619689417363569347117901737909704191754605873209195028853758986185622153212175412514901774520270235796078236248884246189477587641105928646099411723245426622522193230540919037680524235519125679715870117001058055877651038861847280257976054903569732561526167081339361799541336476559160368317896729073178384589680639671900977202194168647225871031411336429319536193471636533209717077448227988588565369208645296636077250268955505928362751121174096972998068410554359584866583291642136218231078990999448652468262416972035911852507045361090559
+G = 2
+X1 = 4316760088048858173826993660634587631078362099236037980378049883427191
+X2 = 3824157470039532100357278938102046076290169354062923298804711018976423
+Msg = 75dad921764736e389c4224daf7b278ec291e682044742e2e9c7a025b54dd62f
+Ciphertext = 57dfafa0d81ac3aaca2570ad13cccd127239f4ee04843bb738234588f0daea53ccd8af65a5a00ed19fbb6f2eb57779ff2e38e3d5d27986253a1193dabf14d2402e1a33527866fa21f23f7abbee5f454aad762fc90139c8377bf6cc77af7f982404baea5ca4831dd8ed28babf2d43b1f65eff42167b82f020dfd4928d8e96dcb7845ecf8f560fbbf5646fae5bc4eda6d978e5fb333843a1f4525cfbdde756842a1e353f4de1503738eec6c9d901a78cdefedf8daaa49631da674b44cab2193c778bf29766730a656b42e96f84698f77913c718067048263034cf2a2f34572ab662e4b1c5b04cd71183433c591abd5613820544d46f7462bea57e44f23ab06e0fb070d66995d816ed81c1877398dbc56744848d0af4b63c374925eeeab5d99f55cda95ccfde6fdb8159f286781e3abb3b0d8252f7d
+
+Kdf = KDF2(SHA-512)
+Mac = CMAC(AES-256)
+MacKeyLen = 32
+P = 32317006071311007300338913926423828248817941241140239112842009751400741706634354222619689417363569347117901737909704191754605873209195028853758986185622153212175412514901774520270235796078236248884246189477587641105928646099411723245426622522193230540919037680524235519125679715870117001058055877651038861847280257976054903569732561526167081339361799541336476559160368317896729073178384589680639671900977202194168647225871031411336429319536193471636533209717077448227988588565369208645296636077250268955505928362751121174096972998068410554359584866583291642136218231078990999448652468262416972035911852507045361090559
+G = 2
+X1 = 4316760088048858173826993660634587631078362099236037980378049883427191
+X2 = 3824157470039532100357278938102046076290169354062923298804711018976423
+Msg = 75dad921764736e389c4224daf7b278ec291e682044742e2e9c7a025b54dd62f
+Ciphertext = 57dfafa0d81ac3aaca2570ad13cccd127239f4ee04843bb738234588f0daea53ccd8af65a5a00ed19fbb6f2eb57779ff2e38e3d5d27986253a1193dabf14d2402e1a33527866fa21f23f7abbee5f454aad762fc90139c8377bf6cc77af7f982404baea5ca4831dd8ed28babf2d43b1f65eff42167b82f020dfd4928d8e96dcb7845ecf8f560fbbf5646fae5bc4eda6d978e5fb333843a1f4525cfbdde756842a1e353f4de1503738eec6c9d901a78cdefedf8daaa49631da674b44cab2193c778bf29766730a656b42e96f84698f77913c718067048263034cf2a2f34572ab662e4b1c5b04cd71183433c591abd5613820544d46f7462bea57e44f23ab06e0fb9b311515aa49918497c0c52f8c09e2cf6b3bc0343131a552b3d72ec4ee73f9626e83627fdb17b36f71a61d52eb663564
+
+Kdf = KDF2(SHA-256)
+Mac = CMAC(AES-256)
+MacKeyLen = 32
+P = 32317006071311007300338913926423828248817941241140239112842009751400741706634354222619689417363569347117901737909704191754605873209195028853758986185622153212175412514901774520270235796078236248884246189477587641105928646099411723245426622522193230540919037680524235519125679715870117001058055877651038861847280257976054903569732561526167081339361799541336476559160368317896729073178384589680639671900977202194168647225871031411336429319536193471636533209717077448227988588565369208645296636077250268955505928362751121174096972998068410554359584866583291642136218231078990999448652468262416972035911852507045361090559
+G = 2
+X1 = 4316760088048858173826993660634587631078362099236037980378049883427191
+X2 = 3824157470039532100357278938102046076290169354062923298804711018976423
+Msg = 75dad921764736e389c4224daf7b278ec291e682044742e2e9c7a025b54dd62f
+Ciphertext = 57dfafa0d81ac3aaca2570ad13cccd127239f4ee04843bb738234588f0daea53ccd8af65a5a00ed19fbb6f2eb57779ff2e38e3d5d27986253a1193dabf14d2402e1a33527866fa21f23f7abbee5f454aad762fc90139c8377bf6cc77af7f982404baea5ca4831dd8ed28babf2d43b1f65eff42167b82f020dfd4928d8e96dcb7845ecf8f560fbbf5646fae5bc4eda6d978e5fb333843a1f4525cfbdde756842a1e353f4de1503738eec6c9d901a78cdefedf8daaa49631da674b44cab2193c778bf29766730a656b42e96f84698f77913c718067048263034cf2a2f34572ab662e4b1c5b04cd71183433c591abd5613820544d46f7462bea57e44f23ab06e0fbfdeb30b4378e3a6583da338d50cc23086dc8c3b33bc8e6d5612a44a2e1f0c5cbe4f06420b4e196e8d31a1667b2b50355
+
+Kdf = KDF2(SHA-1)
+Mac = CMAC(AES-256)
+MacKeyLen = 32
+P = 32317006071311007300338913926423828248817941241140239112842009751400741706634354222619689417363569347117901737909704191754605873209195028853758986185622153212175412514901774520270235796078236248884246189477587641105928646099411723245426622522193230540919037680524235519125679715870117001058055877651038861847280257976054903569732561526167081339361799541336476559160368317896729073178384589680639671900977202194168647225871031411336429319536193471636533209717077448227988588565369208645296636077250268955505928362751121174096972998068410554359584866583291642136218231078990999448652468262416972035911852507045361090559
+G = 2
+X1 = 4316760088048858173826993660634587631078362099236037980378049883427191
+X2 = 3824157470039532100357278938102046076290169354062923298804711018976423
+Msg = 75dad921764736e389c4224daf7b278ec291e682044742e2e9c7a025b54dd62f
+Ciphertext = 57dfafa0d81ac3aaca2570ad13cccd127239f4ee04843bb738234588f0daea53ccd8af65a5a00ed19fbb6f2eb57779ff2e38e3d5d27986253a1193dabf14d2402e1a33527866fa21f23f7abbee5f454aad762fc90139c8377bf6cc77af7f982404baea5ca4831dd8ed28babf2d43b1f65eff42167b82f020dfd4928d8e96dcb7845ecf8f560fbbf5646fae5bc4eda6d978e5fb333843a1f4525cfbdde756842a1e353f4de1503738eec6c9d901a78cdefedf8daaa49631da674b44cab2193c778bf29766730a656b42e96f84698f77913c718067048263034cf2a2f34572ab662e4b1c5b04cd71183433c591abd5613820544d46f7462bea57e44f23ab06e0fb070d66995d816ed81c1877398dbc56744848d0af4b63c374925eeeab5d99f55cdeb9fc82441056058543f4240b7e5ebf
+
+####### KDF1-18033
+
+Kdf = KDF1-18033(SHA-512)
+Mac = HMAC(SHA-512)
+MacKeyLen = 64
+P = 32317006071311007300338913926423828248817941241140239112842009751400741706634354222619689417363569347117901737909704191754605873209195028853758986185622153212175412514901774520270235796078236248884246189477587641105928646099411723245426622522193230540919037680524235519125679715870117001058055877651038861847280257976054903569732561526167081339361799541336476559160368317896729073178384589680639671900977202194168647225871031411336429319536193471636533209717077448227988588565369208645296636077250268955505928362751121174096972998068410554359584866583291642136218231078990999448652468262416972035911852507045361090559
+G = 2
+X1 = 4316760088048858173826993660634587631078362099236037980378049883427191
+X2 = 3824157470039532100357278938102046076290169354062923298804711018976423
+Msg = 75dad921764736e389c4224daf7b278ec291e682044742e2e9c7a025b54dd62f
+Ciphertext = 57dfafa0d81ac3aaca2570ad13cccd127239f4ee04843bb738234588f0daea53ccd8af65a5a00ed19fbb6f2eb57779ff2e38e3d5d27986253a1193dabf14d2402e1a33527866fa21f23f7abbee5f454aad762fc90139c8377bf6cc77af7f982404baea5ca4831dd8ed28babf2d43b1f65eff42167b82f020dfd4928d8e96dcb7845ecf8f560fbbf5646fae5bc4eda6d978e5fb333843a1f4525cfbdde756842a1e353f4de1503738eec6c9d901a78cdefedf8daaa49631da674b44cab2193c778bf29766730a656b42e96f84698f77913c718067048263034cf2a2f34572ab662e4b1c5b04cd71183433c591abd5613820544d46f7462bea57e44f23ab06e0fb068191059703df1b4b140329d94c796cd2e90d295c13bbdf475e08373bc7a22aec8bda0985f4cda3c620e9a2bfa0767d8ecfc5179cfe11c19672b1bef866e374a14a7ab51e90bbeaac8913d1b650e2addabe7f64debc1fb3a8110e6e58050817
+
+Kdf = KDF1-18033(SHA-512)
+Mac = HMAC(SHA-512)
+MacKeyLen = 32
+P = 32317006071311007300338913926423828248817941241140239112842009751400741706634354222619689417363569347117901737909704191754605873209195028853758986185622153212175412514901774520270235796078236248884246189477587641105928646099411723245426622522193230540919037680524235519125679715870117001058055877651038861847280257976054903569732561526167081339361799541336476559160368317896729073178384589680639671900977202194168647225871031411336429319536193471636533209717077448227988588565369208645296636077250268955505928362751121174096972998068410554359584866583291642136218231078990999448652468262416972035911852507045361090559
+G = 2
+X1 = 4316760088048858173826993660634587631078362099236037980378049883427191
+X2 = 3824157470039532100357278938102046076290169354062923298804711018976423
+Msg = 75dad921764736e389c4224daf7b278ec291e682044742e2e9c7a025b54dd62f
+Ciphertext = 57dfafa0d81ac3aaca2570ad13cccd127239f4ee04843bb738234588f0daea53ccd8af65a5a00ed19fbb6f2eb57779ff2e38e3d5d27986253a1193dabf14d2402e1a33527866fa21f23f7abbee5f454aad762fc90139c8377bf6cc77af7f982404baea5ca4831dd8ed28babf2d43b1f65eff42167b82f020dfd4928d8e96dcb7845ecf8f560fbbf5646fae5bc4eda6d978e5fb333843a1f4525cfbdde756842a1e353f4de1503738eec6c9d901a78cdefedf8daaa49631da674b44cab2193c778bf29766730a656b42e96f84698f77913c718067048263034cf2a2f34572ab662e4b1c5b04cd71183433c591abd5613820544d46f7462bea57e44f23ab06e0fb068191059703df1b4b140329d94c796cd2e90d295c13bbdf475e08373bc7a22a43de2dfe50e0fb98b3e06e6df77d84eac49ac9f273b4c5a64ce5656f706a8df07e6ca7a88d26a28f3d4df96ae5b1146fa2709a87e70659bcf1ef9d0d531ba167
+
+Kdf = KDF1-18033(SHA-512)
+Mac = HMAC(SHA-512)
+MacKeyLen = 20
+P = 32317006071311007300338913926423828248817941241140239112842009751400741706634354222619689417363569347117901737909704191754605873209195028853758986185622153212175412514901774520270235796078236248884246189477587641105928646099411723245426622522193230540919037680524235519125679715870117001058055877651038861847280257976054903569732561526167081339361799541336476559160368317896729073178384589680639671900977202194168647225871031411336429319536193471636533209717077448227988588565369208645296636077250268955505928362751121174096972998068410554359584866583291642136218231078990999448652468262416972035911852507045361090559
+G = 2
+X1 = 4316760088048858173826993660634587631078362099236037980378049883427191
+X2 = 3824157470039532100357278938102046076290169354062923298804711018976423
+Msg = 75dad921764736e389c4224daf7b278ec291e682044742e2e9c7a025b54dd62f
+Ciphertext = 57dfafa0d81ac3aaca2570ad13cccd127239f4ee04843bb738234588f0daea53ccd8af65a5a00ed19fbb6f2eb57779ff2e38e3d5d27986253a1193dabf14d2402e1a33527866fa21f23f7abbee5f454aad762fc90139c8377bf6cc77af7f982404baea5ca4831dd8ed28babf2d43b1f65eff42167b82f020dfd4928d8e96dcb7845ecf8f560fbbf5646fae5bc4eda6d978e5fb333843a1f4525cfbdde756842a1e353f4de1503738eec6c9d901a78cdefedf8daaa49631da674b44cab2193c778bf29766730a656b42e96f84698f77913c718067048263034cf2a2f34572ab662e4b1c5b04cd71183433c591abd5613820544d46f7462bea57e44f23ab06e0fb068191059703df1b4b140329d94c796cd2e90d295c13bbdf475e08373bc7a22a48f09818c5b240b402b40f080b9fd0f8103490c6592f8e56ae20ad10662f13415ada188324cb478888bab0b267ae5c05ba8acd20adc24beae6042b2d37541a77
+
+Kdf = KDF1-18033(SHA-256)
+Mac = HMAC(SHA-256)
+MacKeyLen = 32
+P = 32317006071311007300338913926423828248817941241140239112842009751400741706634354222619689417363569347117901737909704191754605873209195028853758986185622153212175412514901774520270235796078236248884246189477587641105928646099411723245426622522193230540919037680524235519125679715870117001058055877651038861847280257976054903569732561526167081339361799541336476559160368317896729073178384589680639671900977202194168647225871031411336429319536193471636533209717077448227988588565369208645296636077250268955505928362751121174096972998068410554359584866583291642136218231078990999448652468262416972035911852507045361090559
+G = 2
+X1 = 4316760088048858173826993660634587631078362099236037980378049883427191
+X2 = 3824157470039532100357278938102046076290169354062923298804711018976423
+Msg = 75dad921764736e389c4224daf7b278ec291e682044742e2e9c7a025b54dd62f
+Ciphertext = 57dfafa0d81ac3aaca2570ad13cccd127239f4ee04843bb738234588f0daea53ccd8af65a5a00ed19fbb6f2eb57779ff2e38e3d5d27986253a1193dabf14d2402e1a33527866fa21f23f7abbee5f454aad762fc90139c8377bf6cc77af7f982404baea5ca4831dd8ed28babf2d43b1f65eff42167b82f020dfd4928d8e96dcb7845ecf8f560fbbf5646fae5bc4eda6d978e5fb333843a1f4525cfbdde756842a1e353f4de1503738eec6c9d901a78cdefedf8daaa49631da674b44cab2193c778bf29766730a656b42e96f84698f77913c718067048263034cf2a2f34572ab662e4b1c5b04cd71183433c591abd5613820544d46f7462bea57e44f23ab06e0fb536ba065e41dad66225d9469433a5dc53362280c1979818a3349c170060c3ace16137afc5f0642407ba3db6717c739bfff83d3195da75b6c7a82f78169742573
+
+Kdf = KDF1-18033(SHA-256)
+Mac = HMAC(SHA-256)
+MacKeyLen = 20
+P = 32317006071311007300338913926423828248817941241140239112842009751400741706634354222619689417363569347117901737909704191754605873209195028853758986185622153212175412514901774520270235796078236248884246189477587641105928646099411723245426622522193230540919037680524235519125679715870117001058055877651038861847280257976054903569732561526167081339361799541336476559160368317896729073178384589680639671900977202194168647225871031411336429319536193471636533209717077448227988588565369208645296636077250268955505928362751121174096972998068410554359584866583291642136218231078990999448652468262416972035911852507045361090559
+G = 2
+X1 = 4316760088048858173826993660634587631078362099236037980378049883427191
+X2 = 3824157470039532100357278938102046076290169354062923298804711018976423
+Msg = 75dad921764736e389c4224daf7b278ec291e682044742e2e9c7a025b54dd62f
+Ciphertext = 57dfafa0d81ac3aaca2570ad13cccd127239f4ee04843bb738234588f0daea53ccd8af65a5a00ed19fbb6f2eb57779ff2e38e3d5d27986253a1193dabf14d2402e1a33527866fa21f23f7abbee5f454aad762fc90139c8377bf6cc77af7f982404baea5ca4831dd8ed28babf2d43b1f65eff42167b82f020dfd4928d8e96dcb7845ecf8f560fbbf5646fae5bc4eda6d978e5fb333843a1f4525cfbdde756842a1e353f4de1503738eec6c9d901a78cdefedf8daaa49631da674b44cab2193c778bf29766730a656b42e96f84698f77913c718067048263034cf2a2f34572ab662e4b1c5b04cd71183433c591abd5613820544d46f7462bea57e44f23ab06e0fb536ba065e41dad66225d9469433a5dc53362280c1979818a3349c170060c3acef0d102d22c4291474cd83749e499c1c65d179f1ec0cd27a3c995317597a135cc
+
+Kdf = KDF1-18033(SHA-256)
+Mac = HMAC(SHA-256)
+MacKeyLen = 16
+P = 32317006071311007300338913926423828248817941241140239112842009751400741706634354222619689417363569347117901737909704191754605873209195028853758986185622153212175412514901774520270235796078236248884246189477587641105928646099411723245426622522193230540919037680524235519125679715870117001058055877651038861847280257976054903569732561526167081339361799541336476559160368317896729073178384589680639671900977202194168647225871031411336429319536193471636533209717077448227988588565369208645296636077250268955505928362751121174096972998068410554359584866583291642136218231078990999448652468262416972035911852507045361090559
+G = 2
+X1 = 4316760088048858173826993660634587631078362099236037980378049883427191
+X2 = 3824157470039532100357278938102046076290169354062923298804711018976423
+Msg = 75dad921764736e389c4224daf7b278ec291e682044742e2e9c7a025b54dd62f
+Ciphertext = 57dfafa0d81ac3aaca2570ad13cccd127239f4ee04843bb738234588f0daea53ccd8af65a5a00ed19fbb6f2eb57779ff2e38e3d5d27986253a1193dabf14d2402e1a33527866fa21f23f7abbee5f454aad762fc90139c8377bf6cc77af7f982404baea5ca4831dd8ed28babf2d43b1f65eff42167b82f020dfd4928d8e96dcb7845ecf8f560fbbf5646fae5bc4eda6d978e5fb333843a1f4525cfbdde756842a1e353f4de1503738eec6c9d901a78cdefedf8daaa49631da674b44cab2193c778bf29766730a656b42e96f84698f77913c718067048263034cf2a2f34572ab662e4b1c5b04cd71183433c591abd5613820544d46f7462bea57e44f23ab06e0fb536ba065e41dad66225d9469433a5dc53362280c1979818a3349c170060c3ace166abeaf1fa00a4815e47011090e272206df8c8f6362869c04eb0e704b625a87
+
+Kdf = KDF1-18033(SHA-1)
+Mac = HMAC(SHA-1)
+MacKeyLen = 20
+P = 32317006071311007300338913926423828248817941241140239112842009751400741706634354222619689417363569347117901737909704191754605873209195028853758986185622153212175412514901774520270235796078236248884246189477587641105928646099411723245426622522193230540919037680524235519125679715870117001058055877651038861847280257976054903569732561526167081339361799541336476559160368317896729073178384589680639671900977202194168647225871031411336429319536193471636533209717077448227988588565369208645296636077250268955505928362751121174096972998068410554359584866583291642136218231078990999448652468262416972035911852507045361090559
+G = 2
+X1 = 4316760088048858173826993660634587631078362099236037980378049883427191
+X2 = 3824157470039532100357278938102046076290169354062923298804711018976423
+Msg = 75dad921764736e389c4224daf7b278ec291e682044742e2e9c7a025b54dd62f
+Ciphertext = 57dfafa0d81ac3aaca2570ad13cccd127239f4ee04843bb738234588f0daea53ccd8af65a5a00ed19fbb6f2eb57779ff2e38e3d5d27986253a1193dabf14d2402e1a33527866fa21f23f7abbee5f454aad762fc90139c8377bf6cc77af7f982404baea5ca4831dd8ed28babf2d43b1f65eff42167b82f020dfd4928d8e96dcb7845ecf8f560fbbf5646fae5bc4eda6d978e5fb333843a1f4525cfbdde756842a1e353f4de1503738eec6c9d901a78cdefedf8daaa49631da674b44cab2193c778bf29766730a656b42e96f84698f77913c718067048263034cf2a2f34572ab662e4b1c5b04cd71183433c591abd5613820544d46f7462bea57e44f23ab06e0fb96e324a74d5941d71563b32059bba36cd6990ee07690fd5ac201f81e2091835b9e0d6e486f279855a6b4e4855bd12e030367e698
+
+Kdf = KDF1-18033(SHA-1)
+Mac = HMAC(SHA-1)
+MacKeyLen = 16
+P = 32317006071311007300338913926423828248817941241140239112842009751400741706634354222619689417363569347117901737909704191754605873209195028853758986185622153212175412514901774520270235796078236248884246189477587641105928646099411723245426622522193230540919037680524235519125679715870117001058055877651038861847280257976054903569732561526167081339361799541336476559160368317896729073178384589680639671900977202194168647225871031411336429319536193471636533209717077448227988588565369208645296636077250268955505928362751121174096972998068410554359584866583291642136218231078990999448652468262416972035911852507045361090559
+G = 2
+X1 = 4316760088048858173826993660634587631078362099236037980378049883427191
+X2 = 3824157470039532100357278938102046076290169354062923298804711018976423
+Msg = 75dad921764736e389c4224daf7b278ec291e682044742e2e9c7a025b54dd62f
+Ciphertext = 57dfafa0d81ac3aaca2570ad13cccd127239f4ee04843bb738234588f0daea53ccd8af65a5a00ed19fbb6f2eb57779ff2e38e3d5d27986253a1193dabf14d2402e1a33527866fa21f23f7abbee5f454aad762fc90139c8377bf6cc77af7f982404baea5ca4831dd8ed28babf2d43b1f65eff42167b82f020dfd4928d8e96dcb7845ecf8f560fbbf5646fae5bc4eda6d978e5fb333843a1f4525cfbdde756842a1e353f4de1503738eec6c9d901a78cdefedf8daaa49631da674b44cab2193c778bf29766730a656b42e96f84698f77913c718067048263034cf2a2f34572ab662e4b1c5b04cd71183433c591abd5613820544d46f7462bea57e44f23ab06e0fb96e324a74d5941d71563b32059bba36cd6990ee07690fd5ac201f81e2091835b30500fea11b5dfc1b60b691f3326c4d109970142
+
+Kdf = KDF1-18033(SHA-512)
+Mac = CMAC(AES-256)
+MacKeyLen = 32
+P = 32317006071311007300338913926423828248817941241140239112842009751400741706634354222619689417363569347117901737909704191754605873209195028853758986185622153212175412514901774520270235796078236248884246189477587641105928646099411723245426622522193230540919037680524235519125679715870117001058055877651038861847280257976054903569732561526167081339361799541336476559160368317896729073178384589680639671900977202194168647225871031411336429319536193471636533209717077448227988588565369208645296636077250268955505928362751121174096972998068410554359584866583291642136218231078990999448652468262416972035911852507045361090559
+G = 2
+X1 = 4316760088048858173826993660634587631078362099236037980378049883427191
+X2 = 3824157470039532100357278938102046076290169354062923298804711018976423
+Msg = 75dad921764736e389c4224daf7b278ec291e682044742e2e9c7a025b54dd62f
+Ciphertext = 57dfafa0d81ac3aaca2570ad13cccd127239f4ee04843bb738234588f0daea53ccd8af65a5a00ed19fbb6f2eb57779ff2e38e3d5d27986253a1193dabf14d2402e1a33527866fa21f23f7abbee5f454aad762fc90139c8377bf6cc77af7f982404baea5ca4831dd8ed28babf2d43b1f65eff42167b82f020dfd4928d8e96dcb7845ecf8f560fbbf5646fae5bc4eda6d978e5fb333843a1f4525cfbdde756842a1e353f4de1503738eec6c9d901a78cdefedf8daaa49631da674b44cab2193c778bf29766730a656b42e96f84698f77913c718067048263034cf2a2f34572ab662e4b1c5b04cd71183433c591abd5613820544d46f7462bea57e44f23ab06e0fb068191059703df1b4b140329d94c796cd2e90d295c13bbdf475e08373bc7a22a6cfc28a4b15599d72666d18cb8a65e19
+
+Kdf = KDF1-18033(SHA-256)
+Mac = CMAC(AES-256)
+MacKeyLen = 32
+P = 32317006071311007300338913926423828248817941241140239112842009751400741706634354222619689417363569347117901737909704191754605873209195028853758986185622153212175412514901774520270235796078236248884246189477587641105928646099411723245426622522193230540919037680524235519125679715870117001058055877651038861847280257976054903569732561526167081339361799541336476559160368317896729073178384589680639671900977202194168647225871031411336429319536193471636533209717077448227988588565369208645296636077250268955505928362751121174096972998068410554359584866583291642136218231078990999448652468262416972035911852507045361090559
+G = 2
+X1 = 4316760088048858173826993660634587631078362099236037980378049883427191
+X2 = 3824157470039532100357278938102046076290169354062923298804711018976423
+Msg = 75dad921764736e389c4224daf7b278ec291e682044742e2e9c7a025b54dd62f
+Ciphertext = 57dfafa0d81ac3aaca2570ad13cccd127239f4ee04843bb738234588f0daea53ccd8af65a5a00ed19fbb6f2eb57779ff2e38e3d5d27986253a1193dabf14d2402e1a33527866fa21f23f7abbee5f454aad762fc90139c8377bf6cc77af7f982404baea5ca4831dd8ed28babf2d43b1f65eff42167b82f020dfd4928d8e96dcb7845ecf8f560fbbf5646fae5bc4eda6d978e5fb333843a1f4525cfbdde756842a1e353f4de1503738eec6c9d901a78cdefedf8daaa49631da674b44cab2193c778bf29766730a656b42e96f84698f77913c718067048263034cf2a2f34572ab662e4b1c5b04cd71183433c591abd5613820544d46f7462bea57e44f23ab06e0fb536ba065e41dad66225d9469433a5dc53362280c1979818a3349c170060c3aceb5f786c722ea79e5c262c8b8b8f0f2f5
+
+Kdf = KDF1-18033(SHA-1)
+Mac = CMAC(AES-256)
+MacKeyLen = 32
+P = 32317006071311007300338913926423828248817941241140239112842009751400741706634354222619689417363569347117901737909704191754605873209195028853758986185622153212175412514901774520270235796078236248884246189477587641105928646099411723245426622522193230540919037680524235519125679715870117001058055877651038861847280257976054903569732561526167081339361799541336476559160368317896729073178384589680639671900977202194168647225871031411336429319536193471636533209717077448227988588565369208645296636077250268955505928362751121174096972998068410554359584866583291642136218231078990999448652468262416972035911852507045361090559
+G = 2
+X1 = 4316760088048858173826993660634587631078362099236037980378049883427191
+X2 = 3824157470039532100357278938102046076290169354062923298804711018976423
+Msg = 75dad921764736e389c4224daf7b278ec291e682044742e2e9c7a025b54dd62f
+Ciphertext = 57dfafa0d81ac3aaca2570ad13cccd127239f4ee04843bb738234588f0daea53ccd8af65a5a00ed19fbb6f2eb57779ff2e38e3d5d27986253a1193dabf14d2402e1a33527866fa21f23f7abbee5f454aad762fc90139c8377bf6cc77af7f982404baea5ca4831dd8ed28babf2d43b1f65eff42167b82f020dfd4928d8e96dcb7845ecf8f560fbbf5646fae5bc4eda6d978e5fb333843a1f4525cfbdde756842a1e353f4de1503738eec6c9d901a78cdefedf8daaa49631da674b44cab2193c778bf29766730a656b42e96f84698f77913c718067048263034cf2a2f34572ab662e4b1c5b04cd71183433c591abd5613820544d46f7462bea57e44f23ab06e0fb96e324a74d5941d71563b32059bba36cd6990ee07690fd5ac201f81e2091835b29651165a98cf6ea7f18f6638151094a
+
+########################### Test vectors created with botan for AES-GCM tests ###########################
+
+Kdf = KDF2(SHA-512)
+Mac = HMAC(SHA-512)
+MacKeyLen = 64
+Cipher = AES-256/GCM
+CipherKeyLen = 32
+IV = 00000000000000000000000000000000
+P = 32317006071311007300338913926423828248817941241140239112842009751400741706634354222619689417363569347117901737909704191754605873209195028853758986185622153212175412514901774520270235796078236248884246189477587641105928646099411723245426622522193230540919037680524235519125679715870117001058055877651038861847280257976054903569732561526167081339361799541336476559160368317896729073178384589680639671900977202194168647225871031411336429319536193471636533209717077448227988588565369208645296636077250268955505928362751121174096972998068410554359584866583291642136218231078990999448652468262416972035911852507045361090559
+G = 2
+X1 = 4316760088048858173826993660634587631078362099236037980378049883427191
+X2 = 3824157470039532100357278938102046076290169354062923298804711018976423
+Msg = 75dad921764736e389c4224daf7b278ec291e682044742e2e9c7a025b54dd62f
+Ciphertext = 57DFAFA0D81AC3AACA2570AD13CCCD127239F4EE04843BB738234588F0DAEA53CCD8AF65A5A00ED19FBB6F2EB57779FF2E38E3D5D27986253A1193DABF14D2402E1A33527866FA21F23F7ABBEE5F454AAD762FC90139C8377BF6CC77AF7F982404BAEA5CA4831DD8ED28BABF2D43B1F65EFF42167B82F020DFD4928D8E96DCB7845ECF8F560FBBF5646FAE5BC4EDA6D978E5FB333843A1F4525CFBDDE756842A1E353F4DE1503738EEC6C9D901A78CDEFEDF8DAAA49631DA674B44CAB2193C778BF29766730A656B42E96F84698F77913C718067048263034CF2A2F34572AB662E4B1C5B04CD71183433C591ABD5613820544D46F7462BEA57E44F23AB06E0FB142440A4B10508DB7E61E326B749F1B332A624C5DDF9E989A5D3A1FEC6FC5651A4FFBBC673A52C0B440DEFB8B3EEBB828A46DF1737A3E8DA67A3840041994D34C78D552A09423A4301F513CFF526D476C16C09D0C0F9D978B64A6AF8F883EBE704B412C72C91CE93B9DF82721ACFA6F3
+
+Kdf = KDF2(SHA-512)
+Mac = HMAC(SHA-512)
+MacKeyLen = 64
+Cipher = AES-256/GCM
+CipherKeyLen = 32
+IV = 00112233445566778899aabbccddeeff
+P = 32317006071311007300338913926423828248817941241140239112842009751400741706634354222619689417363569347117901737909704191754605873209195028853758986185622153212175412514901774520270235796078236248884246189477587641105928646099411723245426622522193230540919037680524235519125679715870117001058055877651038861847280257976054903569732561526167081339361799541336476559160368317896729073178384589680639671900977202194168647225871031411336429319536193471636533209717077448227988588565369208645296636077250268955505928362751121174096972998068410554359584866583291642136218231078990999448652468262416972035911852507045361090559
+G = 2
+X1 = 4316760088048858173826993660634587631078362099236037980378049883427191
+X2 = 3824157470039532100357278938102046076290169354062923298804711018976423
+Msg = 75dad921764736e389c4224daf7b278ec291e682044742e2e9c7a025b54dd62f
+Ciphertext = 57DFAFA0D81AC3AACA2570AD13CCCD127239F4EE04843BB738234588F0DAEA53CCD8AF65A5A00ED19FBB6F2EB57779FF2E38E3D5D27986253A1193DABF14D2402E1A33527866FA21F23F7ABBEE5F454AAD762FC90139C8377BF6CC77AF7F982404BAEA5CA4831DD8ED28BABF2D43B1F65EFF42167B82F020DFD4928D8E96DCB7845ECF8F560FBBF5646FAE5BC4EDA6D978E5FB333843A1F4525CFBDDE756842A1E353F4DE1503738EEC6C9D901A78CDEFEDF8DAAA49631DA674B44CAB2193C778BF29766730A656B42E96F84698F77913C718067048263034CF2A2F34572AB662E4B1C5B04CD71183433C591ABD5613820544D46F7462BEA57E44F23AB06E0FB72CE0E99275D750433D9D8115E9F4FF5A91A341E1A3E73F64D8DBE1BFEC7FFA1D2CD8DEF2C0664017A337303455BCF37D076564864E0733DF29D910E8BF0308DCA81A064FEE96811A34B4D0E4BBA45BED459E7BE4FCA58918633F2C6CC34871759BE982DC459AB39F989E42113E0F0A2
+
+Kdf = KDF2(SHA-512)
+Mac = CMAC(AES-256)
+MacKeyLen = 32
+Cipher = AES-256/GCM
+CipherKeyLen = 32
+IV = 00000000000000000000000000000000
+P = 32317006071311007300338913926423828248817941241140239112842009751400741706634354222619689417363569347117901737909704191754605873209195028853758986185622153212175412514901774520270235796078236248884246189477587641105928646099411723245426622522193230540919037680524235519125679715870117001058055877651038861847280257976054903569732561526167081339361799541336476559160368317896729073178384589680639671900977202194168647225871031411336429319536193471636533209717077448227988588565369208645296636077250268955505928362751121174096972998068410554359584866583291642136218231078990999448652468262416972035911852507045361090559
G = 2
-X1 = 3895469730603000759730584760913911891226712505433061
-X2 = 3202115124466487737101087673031994924801994092564435
-Msg = AB5BBE0D
-Ciphertext = 538F9C9CAC3EEB460B6D40B4AC331EBD3E2F3065E515177F47A083D1AC71533BF3B2931F52D71A99CA0804A633E1948F3B286453EA6CF0DD83C6DD1D2BD93B20F4942D9679CFDE5856DD81E152E1E5ADD023324B945CE68425B025AE5D0CF86C0D33244A60AF6045BD57018FFE5F84A9BF82193242FF32A64691586AAA298FE531CF06A56412DFEC3AD1F50FF8CD296310E5BB4D06E15AB0
+X1 = 4316760088048858173826993660634587631078362099236037980378049883427191
+X2 = 3824157470039532100357278938102046076290169354062923298804711018976423
+Msg = 75dad921764736e389c4224daf7b278ec291e682044742e2e9c7a025b54dd62f
+Ciphertext = 57DFAFA0D81AC3AACA2570AD13CCCD127239F4EE04843BB738234588F0DAEA53CCD8AF65A5A00ED19FBB6F2EB57779FF2E38E3D5D27986253A1193DABF14D2402E1A33527866FA21F23F7ABBEE5F454AAD762FC90139C8377BF6CC77AF7F982404BAEA5CA4831DD8ED28BABF2D43B1F65EFF42167B82F020DFD4928D8E96DCB7845ECF8F560FBBF5646FAE5BC4EDA6D978E5FB333843A1F4525CFBDDE756842A1E353F4DE1503738EEC6C9D901A78CDEFEDF8DAAA49631DA674B44CAB2193C778BF29766730A656B42E96F84698F77913C718067048263034CF2A2F34572AB662E4B1C5B04CD71183433C591ABD5613820544D46F7462BEA57E44F23AB06E0FB142440A4B10508DB7E61E326B749F1B332A624C5DDF9E989A5D3A1FEC6FC5651A4FFBBC673A52C0B440DEFB8B3EEBB82EAB5098B4E55338B28863B299D77FD6E
-P = 179769313486231590770839156793787453197860296048756011706444423684197180216158519368947833795864925541502180565485980503646440548199239100050792877003355816639229553136239076508735759914822574862575007425302077447712589550957937778424442426617334727629299387668709205606050270810842907692932019128194467627007
+Kdf = KDF2(SHA-512)
+Mac = CMAC(AES-256)
+MacKeyLen = 32
+Cipher = AES-256/GCM
+CipherKeyLen = 32
+IV = 00112233445566778899aabbccddeeff
+P = 32317006071311007300338913926423828248817941241140239112842009751400741706634354222619689417363569347117901737909704191754605873209195028853758986185622153212175412514901774520270235796078236248884246189477587641105928646099411723245426622522193230540919037680524235519125679715870117001058055877651038861847280257976054903569732561526167081339361799541336476559160368317896729073178384589680639671900977202194168647225871031411336429319536193471636533209717077448227988588565369208645296636077250268955505928362751121174096972998068410554359584866583291642136218231078990999448652468262416972035911852507045361090559
G = 2
-X1 = 4556286536649761359339945350124531773703491905870156
-X2 = 4102583277207195475485889175414309483746012144669284
-Msg = C43BB390
-Ciphertext = C04F6BD6D1BFBDE74E775FB391A29B2D6FB7EE84C13D2061291DBA8708E406B0A6788F69F7DFEBE4CA35B31917EACD7D36CDBEBDCC51567ADF3F287F57592A0F73E1C990B807E0A67ACAE3F07361DF123C59E0A95CFCA9DEB3C7CCDC47C925F975AF0948B3DE9EC1E34EED30391FD4080D77DD07F091E3D5D89BC158A96485B28477AA95D62EFB9FA1D2B44A38A698F81C9518355BAE8B74
+X1 = 4316760088048858173826993660634587631078362099236037980378049883427191
+X2 = 3824157470039532100357278938102046076290169354062923298804711018976423
+Msg = 75dad921764736e389c4224daf7b278ec291e682044742e2e9c7a025b54dd62f
+Ciphertext = 57DFAFA0D81AC3AACA2570AD13CCCD127239F4EE04843BB738234588F0DAEA53CCD8AF65A5A00ED19FBB6F2EB57779FF2E38E3D5D27986253A1193DABF14D2402E1A33527866FA21F23F7ABBEE5F454AAD762FC90139C8377BF6CC77AF7F982404BAEA5CA4831DD8ED28BABF2D43B1F65EFF42167B82F020DFD4928D8E96DCB7845ECF8F560FBBF5646FAE5BC4EDA6D978E5FB333843A1F4525CFBDDE756842A1E353F4DE1503738EEC6C9D901A78CDEFEDF8DAAA49631DA674B44CAB2193C778BF29766730A656B42E96F84698F77913C718067048263034CF2A2F34572AB662E4B1C5B04CD71183433C591ABD5613820544D46F7462BEA57E44F23AB06E0FB72CE0E99275D750433D9D8115E9F4FF5A91A341E1A3E73F64D8DBE1BFEC7FFA1D2CD8DEF2C0664017A337303455BCF37845E0B4A59D925366D35D40C344FE6BD
-P = 1552518092300708935130918131258481755631334049434514313202351194902966239949102107258669453876591642442910007680288864229150803718918046342632727613031282983744380820890196288509170691316593175367469551763119843371637221007210577919
+Kdf = KDF1-18033(SHA-512)
+Mac = HMAC(SHA-512)
+MacKeyLen = 64
+Cipher = AES-256/GCM
+CipherKeyLen = 32
+IV = 00112233445566778899aabbccddeeff
+P = 32317006071311007300338913926423828248817941241140239112842009751400741706634354222619689417363569347117901737909704191754605873209195028853758986185622153212175412514901774520270235796078236248884246189477587641105928646099411723245426622522193230540919037680524235519125679715870117001058055877651038861847280257976054903569732561526167081339361799541336476559160368317896729073178384589680639671900977202194168647225871031411336429319536193471636533209717077448227988588565369208645296636077250268955505928362751121174096972998068410554359584866583291642136218231078990999448652468262416972035911852507045361090559
G = 2
-X1 = 1054639601167296898572220004033907486000310327029
-X2 = 1342657759849572617856127220396675041367757265787
-Msg = 3B06E0705DC9DBA971AA624393984D5B
-Ciphertext = 2AB9B180CEF08E761EDB4D7B7C538FBA0FD37BACE9416789A0DD6551F2DDC6025C76A663F1AAD5000EC03418A6220ABA6D3DC5EA82D7340E2FFCB5665AD3A2223CDFF9C39889CBE31E44CD31BCFDCEFCF2A9916FD39E2720A7B826F7E6998F734F251C71DC970AF3FB12949C14AA759966733BFC976CAD0BE71FC5DBE285200E75647C62
+X1 = 4316760088048858173826993660634587631078362099236037980378049883427191
+X2 = 3824157470039532100357278938102046076290169354062923298804711018976423
+Msg = 75dad921764736e389c4224daf7b278ec291e682044742e2e9c7a025b54dd62f
+Ciphertext = 57DFAFA0D81AC3AACA2570AD13CCCD127239F4EE04843BB738234588F0DAEA53CCD8AF65A5A00ED19FBB6F2EB57779FF2E38E3D5D27986253A1193DABF14D2402E1A33527866FA21F23F7ABBEE5F454AAD762FC90139C8377BF6CC77AF7F982404BAEA5CA4831DD8ED28BABF2D43B1F65EFF42167B82F020DFD4928D8E96DCB7845ECF8F560FBBF5646FAE5BC4EDA6D978E5FB333843A1F4525CFBDDE756842A1E353F4DE1503738EEC6C9D901A78CDEFEDF8DAAA49631DA674B44CAB2193C778BF29766730A656B42E96F84698F77913C718067048263034CF2A2F34572AB662E4B1C5B04CD71183433C591ABD5613820544D46F7462BEA57E44F23AB06E0FB9A0B0CAB5C285FB0CB1F788213B6B82A2C2E485C1D514BAEF7FC241D57DB031D9E80361C55B562232759A660C89E0DE0E11BB8C807142C1C98C07C9BD08BFC7A3D9977133AD07DDED60728B46D668444A74BC001CFBFB8E8FE0BACF6A4078DD4212DC7CDC3291CB3F02AC0B7CDF6E65D
-P = 1552518092300708935130918131258481755631334049434514313202351194902966239949102107258669453876591642442910007680288864229150803718918046342632727613031282983744380820890196288509170691316593175367469551763119843371637221007210577919
+Kdf = KDF1-18033(SHA-512)
+Mac = HMAC(SHA-512)
+MacKeyLen = 64
+Cipher = AES-256/GCM
+CipherKeyLen = 32
+IV = 00000000000000000000000000000000
+P = 32317006071311007300338913926423828248817941241140239112842009751400741706634354222619689417363569347117901737909704191754605873209195028853758986185622153212175412514901774520270235796078236248884246189477587641105928646099411723245426622522193230540919037680524235519125679715870117001058055877651038861847280257976054903569732561526167081339361799541336476559160368317896729073178384589680639671900977202194168647225871031411336429319536193471636533209717077448227988588565369208645296636077250268955505928362751121174096972998068410554359584866583291642136218231078990999448652468262416972035911852507045361090559
G = 2
-X1 = 1019791127804545295775858763356184757983418129858
-X2 = 791304855263120499982139573682243365135340447126
-Msg = DD92A05E19BBAD4A33CEFFA0FA2727E9
-Ciphertext = 3F0300C53C0BB02A3EF2EFCC751EE5D98AE991730C1C2FE39D11A74D32D892AD63A9EECA09BBBE606FB426E03BBD480FD224E09712BB85FE649D543CBC23113A39F9102C65D31DF330ADF233735C1D60D1BCDE22744392D2D9DE50393984F276A33DD85F763ED1226B88DF1662554AD27820F66A995FE1481189A2B8C3071D0C32EE9960
+X1 = 4316760088048858173826993660634587631078362099236037980378049883427191
+X2 = 3824157470039532100357278938102046076290169354062923298804711018976423
+Msg = 75dad921764736e389c4224daf7b278ec291e682044742e2e9c7a025b54dd62f
+Ciphertext = 57DFAFA0D81AC3AACA2570AD13CCCD127239F4EE04843BB738234588F0DAEA53CCD8AF65A5A00ED19FBB6F2EB57779FF2E38E3D5D27986253A1193DABF14D2402E1A33527866FA21F23F7ABBEE5F454AAD762FC90139C8377BF6CC77AF7F982404BAEA5CA4831DD8ED28BABF2D43B1F65EFF42167B82F020DFD4928D8E96DCB7845ECF8F560FBBF5646FAE5BC4EDA6D978E5FB333843A1F4525CFBDDE756842A1E353F4DE1503738EEC6C9D901A78CDEFEDF8DAAA49631DA674B44CAB2193C778BF29766730A656B42E96F84698F77913C718067048263034CF2A2F34572AB662E4B1C5B04CD71183433C591ABD5613820544D46F7462BEA57E44F23AB06E0FB7177BE14E602FEB0274B170E41879977CA357CD99EC7FF096964C0FE4AA7D39DC90D24DC433C695D3B2B4A7B88BF08B2099F5321322A66A5377C14FF3F7FF6C96FC72DA82DADAB8064248F0751EAEFC62ADFD4FA782D11EA953FA2FE924FFD7CB7310531D2A9A0091F23E0E195DAAB3E
-P = 1552518092300708935130918131258481755631334049434514313202351194902966239949102107258669453876591642442910007680288864229150803718918046342632727613031282983744380820890196288509170691316593175367469551763119843371637221007210577919
+Kdf = KDF1-18033(SHA-512)
+Mac = CMAC(AES-256)
+MacKeyLen = 32
+Cipher = AES-256/GCM
+CipherKeyLen = 32
+IV = 00000000000000000000000000000000
+P = 32317006071311007300338913926423828248817941241140239112842009751400741706634354222619689417363569347117901737909704191754605873209195028853758986185622153212175412514901774520270235796078236248884246189477587641105928646099411723245426622522193230540919037680524235519125679715870117001058055877651038861847280257976054903569732561526167081339361799541336476559160368317896729073178384589680639671900977202194168647225871031411336429319536193471636533209717077448227988588565369208645296636077250268955505928362751121174096972998068410554359584866583291642136218231078990999448652468262416972035911852507045361090559
G = 2
-X1 = 1127072655127804554962850771491034708297993164117
-X2 = 909338501771729516589244957544435828677252574269
-Msg = 174E756AF8FFB51990BF3C69688D3A7F0B388F2BCE62A095BC12CD6DA2C2AD65
-Ciphertext = B99BBBC64F6320060200E6FFE7D1FE6E5EEA79DF142111AF88D377037BD9186341B7A7A27F2AE8BB77282B8EA13D821DD77186412CA3B9B5E1650A0D20687B1C8D556FD7D547D475F71BBD7D6417311F535A9A6D95CEA8AFD1146B1A1741828E8AD46B058507A67111CB62132350EEAC1212D90535677855E17B1DA9DC4CE790C4B917B1359123226FE62DCCE5475721F09CEA23
+X1 = 4316760088048858173826993660634587631078362099236037980378049883427191
+X2 = 3824157470039532100357278938102046076290169354062923298804711018976423
+Msg = 75dad921764736e389c4224daf7b278ec291e682044742e2e9c7a025b54dd62f
+Ciphertext = 57DFAFA0D81AC3AACA2570AD13CCCD127239F4EE04843BB738234588F0DAEA53CCD8AF65A5A00ED19FBB6F2EB57779FF2E38E3D5D27986253A1193DABF14D2402E1A33527866FA21F23F7ABBEE5F454AAD762FC90139C8377BF6CC77AF7F982404BAEA5CA4831DD8ED28BABF2D43B1F65EFF42167B82F020DFD4928D8E96DCB7845ECF8F560FBBF5646FAE5BC4EDA6D978E5FB333843A1F4525CFBDDE756842A1E353F4DE1503738EEC6C9D901A78CDEFEDF8DAAA49631DA674B44CAB2193C778BF29766730A656B42E96F84698F77913C718067048263034CF2A2F34572AB662E4B1C5B04CD71183433C591ABD5613820544D46F7462BEA57E44F23AB06E0FB7177BE14E602FEB0274B170E41879977CA357CD99EC7FF096964C0FE4AA7D39DC90D24DC433C695D3B2B4A7B88BF08B299019BFDC4ABE7BBED415937E9F58B9D
-P = 1552518092300708935130918131258481755631334049434514313202351194902966239949102107258669453876591642442910007680288864229150803718918046342632727613031282983744380820890196288509170691316593175367469551763119843371637221007210577919
+Kdf = KDF1-18033(SHA-512)
+Mac = CMAC(AES-256)
+MacKeyLen = 32
+Cipher = AES-256/GCM
+CipherKeyLen = 32
+IV = 00112233445566778899aabbccddeeff
+P = 32317006071311007300338913926423828248817941241140239112842009751400741706634354222619689417363569347117901737909704191754605873209195028853758986185622153212175412514901774520270235796078236248884246189477587641105928646099411723245426622522193230540919037680524235519125679715870117001058055877651038861847280257976054903569732561526167081339361799541336476559160368317896729073178384589680639671900977202194168647225871031411336429319536193471636533209717077448227988588565369208645296636077250268955505928362751121174096972998068410554359584866583291642136218231078990999448652468262416972035911852507045361090559
G = 2
-X1 = 1400390629906877310807893670888997072266707870316
-X2 = 1409894924299088894270577337460879151312883489271
-Msg = 75DAD921764736E389C4224DAF7B278EC291E682044742E2E9C7A025B54DD62F
-Ciphertext = C591E27A2C12742A959652F5F341F558CA0C7DAF2E6B5ACE32DCAAF459553BA23EF0235EAFD86A7F2D70587239D858484E5CD36122C2B9F6E410C7A9C307B2A2A084BB1B634A15AC9F09E38EAF421D14C5A07B6EB5EDE6915E8DE9D3D9D01DBD8822FBD79BA7FF3DF921B5451BBD9A12AB41FD4DAB829599BC2736B23753063C0C5FFCBA7DB06DE26D3C441D126FC1A46531F593
+X1 = 4316760088048858173826993660634587631078362099236037980378049883427191
+X2 = 3824157470039532100357278938102046076290169354062923298804711018976423
+Msg = 75dad921764736e389c4224daf7b278ec291e682044742e2e9c7a025b54dd62f
+Ciphertext = 57DFAFA0D81AC3AACA2570AD13CCCD127239F4EE04843BB738234588F0DAEA53CCD8AF65A5A00ED19FBB6F2EB57779FF2E38E3D5D27986253A1193DABF14D2402E1A33527866FA21F23F7ABBEE5F454AAD762FC90139C8377BF6CC77AF7F982404BAEA5CA4831DD8ED28BABF2D43B1F65EFF42167B82F020DFD4928D8E96DCB7845ECF8F560FBBF5646FAE5BC4EDA6D978E5FB333843A1F4525CFBDDE756842A1E353F4DE1503738EEC6C9D901A78CDEFEDF8DAAA49631DA674B44CAB2193C778BF29766730A656B42E96F84698F77913C718067048263034CF2A2F34572AB662E4B1C5B04CD71183433C591ABD5613820544D46F7462BEA57E44F23AB06E0FB9A0B0CAB5C285FB0CB1F788213B6B82A2C2E485C1D514BAEF7FC241D57DB031D9E80361C55B562232759A660C89E0DE0FB884998AEFEF7CE84F114928423F7E2
diff --git a/src/tests/test_dlies.cpp b/src/tests/test_dlies.cpp
index ba8142dcb..75d751eaa 100644
--- a/src/tests/test_dlies.cpp
+++ b/src/tests/test_dlies.cpp
@@ -1,5 +1,6 @@
/*
* (C) 2014,2015 Jack Lloyd
+* (C) 2016 Daniel Neus, Rohde & Schwarz Cybersecurity
*
* Botan is released under the Simplified BSD License (see license.txt)
*/
@@ -24,7 +25,7 @@ class DLIES_KAT_Tests : public Text_Based_Test
public:
DLIES_KAT_Tests() : Text_Based_Test(
"pubkey/dlies.vec",
- {"P", "G", "X1", "X2", "Msg", "Ciphertext"})
+ {"Kdf", "Mac", "MacKeyLen", "Cipher", "CipherKeyLen", "IV", "P", "G", "X1", "X2", "Msg", "Ciphertext"})
{}
Test::Result run_one_test(const std::string&, const VarMap& vars) override
@@ -37,35 +38,52 @@ class DLIES_KAT_Tests : public Text_Based_Test
const std::vector<uint8_t> input = get_req_bin(vars, "Msg");
const std::vector<uint8_t> expected = get_req_bin(vars, "Ciphertext");
- Botan::DL_Group domain(p, g);
-
- Botan::DH_PrivateKey from(Test::rng(), domain, x1);
- Botan::DH_PrivateKey to(Test::rng(), domain, x2);
+ const std::string kdf_algo = get_req_str(vars, "Kdf");
+ const std::string mac_algo = get_req_str(vars, "Mac");
+ const size_t mac_key_len = get_req_sz(vars, "MacKeyLen");
- const std::string kdf_algo = "KDF2(SHA-1)";
- const std::string mac_algo = "HMAC(SHA-1)";
- const size_t mac_key_len = 16;
+ const std::string cipher_algo = get_opt_str(vars, "Cipher", "");
+ const size_t cipher_key_len = get_opt_sz(vars, "CipherKeyLen", 0);
+ const std::vector<uint8_t> iv = get_opt_bin(vars, "IV");
Test::Result result("DLIES");
std::unique_ptr<Botan::KDF> kdf(Botan::KDF::create(kdf_algo));
- std::unique_ptr<Botan::MAC> mac(Botan::MAC::create(mac_algo));
+ if(!kdf)
+ {
+ result.test_note("Skipping due to missing KDF: " + kdf_algo);
+ return result;
+ }
- if(!kdf || !mac)
+ std::unique_ptr<Botan::MAC> mac(Botan::MAC::create(mac_algo));
+ if(!mac)
{
- result.test_note("Skipping due to missing KDF or MAC algo");
+ result.test_note("Skipping due to missing MAC: " + mac_algo);
return result;
}
- Botan::DLIES_Encryptor encryptor(from,
- kdf->clone(),
- mac->clone(),
- mac_key_len);
+ std::unique_ptr<Botan::Cipher_Mode> enc;
+ std::unique_ptr<Botan::Cipher_Mode> dec;
+
+ if(! cipher_algo.empty())
+ {
+ enc.reset(Botan::get_cipher_mode(cipher_algo, Botan::ENCRYPTION));
+ dec.reset(Botan::get_cipher_mode(cipher_algo, Botan::DECRYPTION));
+ }
+
+ Botan::DL_Group domain(p, g);
+
+ Botan::DH_PrivateKey from(Test::rng(), domain, x1);
+ Botan::DH_PrivateKey to(Test::rng(), domain, x2);
- Botan::DLIES_Decryptor decryptor(to,
- kdf.release(),
- mac.release(),
- mac_key_len);
+ Botan::DLIES_Encryptor encryptor(from, kdf->clone(), enc.release(), cipher_key_len, mac->clone(), mac_key_len);
+ Botan::DLIES_Decryptor decryptor(to, kdf.release(), dec.release(), cipher_key_len, mac.release(), mac_key_len);
+
+ if(!iv.empty())
+ {
+ encryptor.set_initialization_vector(iv);
+ decryptor.set_initialization_vector(iv);
+ }
encryptor.set_other_key(to.public_value());
@@ -80,6 +98,101 @@ class DLIES_KAT_Tests : public Text_Based_Test
BOTAN_REGISTER_TEST("dlies", DLIES_KAT_Tests);
+Test::Result test_xor()
+ {
+ Test::Result result("DLIES XOR");
+
+ std::vector<std::string> kdfs = { "KDF2(SHA-512)", "KDF1-18033(SHA-512)" };
+ std::vector<std::string> macs = { "HMAC(SHA-512)", "CMAC(AES-128)" };
+
+ const size_t mac_key_len = 16;
+
+ std::unique_ptr<Botan::KDF> kdf;
+ std::unique_ptr<Botan::MAC> mac;
+
+ Botan::DH_PrivateKey alice(Test::rng(), Botan::DL_Group("modp/ietf/2048"));
+ Botan::DH_PrivateKey bob(Test::rng(), Botan::DL_Group("modp/ietf/2048"));
+
+ for(const auto& kfunc : kdfs)
+ {
+ kdf = Botan::KDF::create(kfunc);
+
+ if(!kdf)
+ {
+ result.test_note("Skipping due to missing KDF: " + kfunc);
+ continue;
+ }
+
+ for(const auto& mfunc : macs)
+ {
+ mac = Botan::MAC::create(mfunc);
+
+ if(!mac)
+ {
+ result.test_note("Skipping due to missing MAC: " + mfunc);
+ continue;
+ }
+
+ Botan::DLIES_Encryptor encryptor(alice, kdf->clone(), mac->clone(), mac_key_len);
+
+ // negative test: other pub key not set
+ Botan::secure_vector<byte> plaintext = Test::rng().random_vec(32);
+
+ result.test_throws("encrypt not possible without setting other public key", [&encryptor, &plaintext]()
+ {
+ encryptor.encrypt(plaintext, Test::rng());
+ });
+
+ encryptor.set_other_key(bob.public_value());
+ std::vector<byte> ciphertext = encryptor.encrypt(plaintext, Test::rng());
+
+ Botan::DLIES_Decryptor decryptor(bob, kdf->clone(), mac->clone(), mac_key_len);
+
+ // negative test: ciphertext too short
+ result.test_throws("ciphertext too short", [ &decryptor ]()
+ {
+ decryptor.decrypt(std::vector<byte>(2));
+ });
+
+ result.test_eq("decryption", decryptor.decrypt(ciphertext), plaintext);
+
+ check_invalid_ciphertexts(result, decryptor, unlock(plaintext), ciphertext);
+ }
+ }
+
+ return result;
+ }
+
+class DLIES_Unit_Tests : public Test
+ {
+ public:
+ std::vector<Test::Result> run() override
+ {
+ std::vector<Test::Result> results;
+
+ std::vector<std::function<Test::Result()>> fns =
+ {
+ test_xor
+ };
+
+ for(size_t i = 0; i != fns.size(); ++i)
+ {
+ try
+ {
+ results.push_back(fns[ i ]());
+ }
+ catch(std::exception& e)
+ {
+ results.push_back(Test::Result::Failure("DLIES unit tests " + std::to_string(i), e.what()));
+ }
+ }
+
+ return results;
+ }
+ };
+
+BOTAN_REGISTER_TEST("dlies-unit", DLIES_Unit_Tests);
+
#endif
}