[PATCH gnupg 1/1] added kyber
Falko Strenzke
falko.strenzke at mtg.de
Wed Sep 27 15:54:19 CEST 2023
---
.gitignore | 16 +
cipher/Makefile.am | 9 +-
cipher/consttime.c | 28 ++
cipher/consttime.h | 36 ++
cipher/dsa.c | 1 +
cipher/ecc.c | 1 +
cipher/elgamal.c | 1 +
cipher/mlkem-aux.c | 72 ++++
cipher/mlkem-aux.h | 34 ++
cipher/mlkem-cbd.c | 154 +++++++++
cipher/mlkem-cbd.h | 38 ++
cipher/mlkem-common.c | 727 +++++++++++++++++++++++++++++++++++++++
cipher/mlkem-common.h | 60 ++++
cipher/mlkem-ntt.c | 181 ++++++++++
cipher/mlkem-ntt.h | 35 ++
cipher/mlkem-params.h | 79 +++++
cipher/mlkem-poly.c | 436 +++++++++++++++++++++++
cipher/mlkem-poly.h | 95 +++++
cipher/mlkem-polyvec.c | 409 ++++++++++++++++++++++
cipher/mlkem-polyvec.h | 84 +++++
cipher/mlkem-symmetric.c | 85 +++++
cipher/mlkem-symmetric.h | 66 ++++
cipher/mlkem.c | 479 ++++++++++++++++++++++++++
cipher/pubkey.c | 51 +++
cipher/rsa.c | 1 +
configure.ac | 9 +-
doc/gcrypt.texi | 28 ++
src/cipher-proto.h | 7 +
src/cipher.h | 1 +
src/gcrypt-int.h | 1 +
src/gcrypt.h.in | 11 +-
src/global.c | 4 +
src/libgcrypt.def | 1 +
src/libgcrypt.vers | 2 +-
src/secmem.c | 18 +-
src/secmem.h | 1 +
src/visibility.c | 12 +
src/visibility.h | 2 +
tests/Makefile.am | 7 +-
tests/keygen.c | 28 ++
tests/mlkem-1024_ref.inp | 495 ++++++++++++++++++++++++++
tests/mlkem-512_ref.inp | 495 ++++++++++++++++++++++++++
tests/mlkem-768_ref.inp | 495 ++++++++++++++++++++++++++
tests/mlkem-test.c | 565 ++++++++++++++++++++++++++++++
tests/test-utils.h | 168 +++++++++
45 files changed, 5519 insertions(+), 9 deletions(-)
create mode 100644 cipher/consttime.c
create mode 100644 cipher/consttime.h
create mode 100644 cipher/mlkem-aux.c
create mode 100644 cipher/mlkem-aux.h
create mode 100644 cipher/mlkem-cbd.c
create mode 100644 cipher/mlkem-cbd.h
create mode 100644 cipher/mlkem-common.c
create mode 100644 cipher/mlkem-common.h
create mode 100644 cipher/mlkem-ntt.c
create mode 100644 cipher/mlkem-ntt.h
create mode 100644 cipher/mlkem-params.h
create mode 100644 cipher/mlkem-poly.c
create mode 100644 cipher/mlkem-poly.h
create mode 100644 cipher/mlkem-polyvec.c
create mode 100644 cipher/mlkem-polyvec.h
create mode 100644 cipher/mlkem-symmetric.c
create mode 100644 cipher/mlkem-symmetric.h
create mode 100644 cipher/mlkem.c
create mode 100644 tests/mlkem-1024_ref.inp
create mode 100644 tests/mlkem-512_ref.inp
create mode 100644 tests/mlkem-768_ref.inp
create mode 100644 tests/mlkem-test.c
create mode 100644 tests/test-utils.h
diff --git a/.gitignore b/.gitignore
index b5b65d83..c886efe2 100644
--- a/.gitignore
+++ b/.gitignore
@@ -112,3 +112,19 @@ tests/t-x448
tests/tsexp
tests/version
tests/*.exe
+
+src/libgcrypt.la.done
+tags
+tests/t-dsa
+tests/t-ecdsa
+tests/t-ed448
+tests/t-rsa-15
+tests/t-rsa-pss
+tests/t-rsa-testparm
+tests/mlkem-test
+tests/cshake
+tests/testdrv
+
+.ycm_extra_conf.py
+cscope.out
+config.h.in~
diff --git a/cipher/Makefile.am b/cipher/Makefile.am
index ada89418..d999f871 100644
--- a/cipher/Makefile.am
+++ b/cipher/Makefile.am
@@ -67,7 +67,8 @@ libcipher_la_SOURCES = \
primegen.c \
hash-common.c hash-common.h \
dsa-common.c rsa-common.c \
- sha1.h
+ sha1.h \
+ consttime.c consttime.h
EXTRA_libcipher_la_SOURCES = \
asm-common-aarch64.h \
@@ -154,7 +155,11 @@ EXTRA_libcipher_la_SOURCES = \
camellia-simd128.h camellia-ppc8le.c camellia-ppc9le.c \
blake2.c \
blake2b-amd64-avx2.S blake2b-amd64-avx512.S \
- blake2s-amd64-avx.S blake2s-amd64-avx512.S
+ blake2s-amd64-avx.S blake2s-amd64-avx512.S \
+ mlkem.c mlkem-common.c \
+ mlkem.h mlkem-common.h \
+ mlkem-ntt.c mlkem-poly.c mlkem-polyvec.c mlkem-randombytes.c mlkem-symmetric.c \
+ mlkem-ntt.h mlkem-poly.h mlkem-polyvec.h mlkem-randombytes.h mlkem-symmetric.h
gost28147.lo: gost-sb.h
gost-sb.h: gost-s-box$(EXEEXT_FOR_BUILD)
diff --git a/cipher/consttime.c b/cipher/consttime.c
new file mode 100644
index 00000000..9f7fe13a
--- /dev/null
+++ b/cipher/consttime.c
@@ -0,0 +1,28 @@
+
+#include <stddef.h>
+#include <stdint.h>
+#include <consttime.h>
+
+int _gcry_consttime_bytes_differ(const uint8_t *a, const uint8_t *b, size_t len)
+{
+ size_t i;
+ uint8_t r = 0;
+
+ for (i = 0; i < len; i++)
+ {
+ r |= a[i] ^ b[i];
+ }
+
+ return (-(uint64_t)r) >> 63;
+}
+
+void _gcry_consttime_cmov(uint8_t *r, const uint8_t *x, size_t len, uint8_t b)
+{
+ size_t i;
+
+ b = -b;
+ for (i = 0; i < len; i++)
+ {
+ r[i] ^= b & (r[i] ^ x[i]);
+ }
+}
diff --git a/cipher/consttime.h b/cipher/consttime.h
new file mode 100644
index 00000000..c3d3894b
--- /dev/null
+++ b/cipher/consttime.h
@@ -0,0 +1,36 @@
+#ifndef CONSTTIME_H
+#define CONSTTIME_H
+
+#include <stddef.h>
+#include <stdint.h>
+
+/*************************************************
+ * Name: _gcry_constime_bytes_differ
+ *
+ * Description: Compare two arrays for equality in constant time.
+ *
+ * Arguments: const uint8_t *a: pointer to first byte array
+ * const uint8_t *b: pointer to second byte array
+ * size_t len: length of the byte arrays
+ *
+ * Returns 0 if the byte arrays are equal, 1 otherwise
+ **************************************************/
+int _gcry_consttime_bytes_differ(const uint8_t *a, const uint8_t *b, size_t len);
+
+/*************************************************
+ * Name: _gcry_consttime_cmov
+ *
+ * Description: Copy len bytes from x to r if b is 1;
+ * don't modify x if b is 0. Requires b to be in {0,1};
+ * assumes two's complement representation of negative integers.
+ * Runs in constant time.
+ *
+ * Arguments: uint8_t *r: pointer to output byte array
+ * const uint8_t *x: pointer to input byte array
+ * size_t len: Amount of bytes to be copied
+ * uint8_t b: Condition bit; has to be in {0,1}
+ **************************************************/
+void _gcry_consttime_cmov(uint8_t *r, const uint8_t *x, size_t len, uint8_t b);
+
+
+#endif /* CIPHER_CONSTTIME_H */
diff --git a/cipher/dsa.c b/cipher/dsa.c
index e559f9f5..91b7210b 100644
--- a/cipher/dsa.c
+++ b/cipher/dsa.c
@@ -1449,6 +1449,7 @@ gcry_pk_spec_t _gcry_pubkey_spec_dsa =
dsa_check_secret_key,
NULL,
NULL,
+ NULL,
dsa_sign,
dsa_verify,
dsa_get_nbits,
diff --git a/cipher/ecc.c b/cipher/ecc.c
index 65525207..b3f02631 100644
--- a/cipher/ecc.c
+++ b/cipher/ecc.c
@@ -2370,6 +2370,7 @@ gcry_pk_spec_t _gcry_pubkey_spec_ecc =
ecc_generate,
ecc_check_secret_key,
ecc_encrypt_raw,
+ NULL,
ecc_decrypt_raw,
ecc_sign,
ecc_verify,
diff --git a/cipher/elgamal.c b/cipher/elgamal.c
index eead4502..4f4340ec 100644
--- a/cipher/elgamal.c
+++ b/cipher/elgamal.c
@@ -1144,6 +1144,7 @@ gcry_pk_spec_t _gcry_pubkey_spec_elg =
elg_generate,
elg_check_secret_key,
elg_encrypt,
+ NULL,
elg_decrypt,
elg_sign,
elg_verify,
diff --git a/cipher/mlkem-aux.c b/cipher/mlkem-aux.c
new file mode 100644
index 00000000..fe4e0e1e
--- /dev/null
+++ b/cipher/mlkem-aux.c
@@ -0,0 +1,72 @@
+/* mlkem-aux.c - Auxiliary functions for ML-KEM
+ * Copyright (C) 2023 MTG AG
+ * The code was created based on the reference implementation that is part of the ML-KEM NIST submission.
+ *
+ * This file is part of Libgcrypt.
+ *
+ * Libgcrypt is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * Libgcrypt is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this program; if not, see <http://www.gnu.org/licenses/>.
+ */
+
+#include <stddef.h>
+#include <stdint.h>
+#include "mlkem-aux.h"
+#include "mlkem-params.h"
+
+
+#define MONT -1044 // 2^16 mod q
+#define QINV -3327 // q^-1 mod 2^16
+
+
+/*************************************************
+ * Name: _gcry_mlkem_montgomery_reduce
+ *
+ * Description: Montgomery reduction; given a 32-bit integer a, computes
+ * 16-bit integer congruent to a * R^-1 mod q, where R=2^16
+ *
+ * Arguments: - int32_t a: input integer to be reduced;
+ * has to be in {-q2^15,...,q2^15-1}
+ *
+ * Returns: integer in {-q+1,...,q-1} congruent to a * R^-1 modulo q.
+ **************************************************/
+int16_t
+_gcry_mlkem_montgomery_reduce (int32_t a)
+{
+ int16_t t;
+
+ t = (int16_t)a * QINV;
+ t = (a - (int32_t)t * GCRY_MLKEM_Q) >> 16;
+ return t;
+}
+
+/*************************************************
+ * Name: barrett_reduce
+ *
+ * Description: Barrett reduction; given a 16-bit integer a, computes
+ * centered representative congruent to a mod q in
+ *{-(q-1)/2,...,(q-1)/2}
+ *
+ * Arguments: - int16_t a: input integer to be reduced
+ *
+ * Returns: integer in {-(q-1)/2,...,(q-1)/2} congruent to a modulo q.
+ **************************************************/
+int16_t
+_gcry_mlkem_barrett_reduce (int16_t a)
+{
+ int16_t t;
+ const int16_t v = ((1 << 26) + GCRY_MLKEM_Q / 2) / GCRY_MLKEM_Q;
+
+ t = ((int32_t)v * a + (1 << 25)) >> 26;
+ t *= GCRY_MLKEM_Q;
+ return a - t;
+}
diff --git a/cipher/mlkem-aux.h b/cipher/mlkem-aux.h
new file mode 100644
index 00000000..33c77afe
--- /dev/null
+++ b/cipher/mlkem-aux.h
@@ -0,0 +1,34 @@
+/* mlkem-aux.h - Auxiliary functions for ML-KEM
+ * Copyright (C) 2023 MTG AG
+ * The code was created based on the reference implementation that is part of the ML-KEM NIST submission.
+ *
+ * This file is part of Libgcrypt.
+ *
+ * Libgcrypt is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * Libgcrypt is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this program; if not, see <http://www.gnu.org/licenses/>.
+ */
+
+#ifndef GCRYPT_MLKEM_AUX_H
+#define GCRYPT_MLKEM_AUX_H
+
+#include <stddef.h>
+#include <stdint.h>
+#include "mlkem-params.h"
+
+int16_t _gcry_mlkem_montgomery_reduce (int32_t a);
+
+int16_t _gcry_mlkem_barrett_reduce (int16_t a);
+
+typedef void *(*xtry_alloc_func_t) (size_t);
+
+#endif /* GCRYPT_MLKEM_AUX_H */
diff --git a/cipher/mlkem-cbd.c b/cipher/mlkem-cbd.c
new file mode 100644
index 00000000..4ffe7d7e
--- /dev/null
+++ b/cipher/mlkem-cbd.c
@@ -0,0 +1,154 @@
+/* mlkem-cbd.c - centered binomial distribution functions for ML-KEM
+ * Copyright (C) 2023 MTG AG
+ * The code was created based on the reference implementation that is part of the ML-KEM NIST submission.
+ *
+ * This file is part of Libgcrypt.
+ *
+ * Libgcrypt is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * Libgcrypt is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this program; if not, see <http://www.gnu.org/licenses/>.
+ */
+
+#include <stdint.h>
+#include "mlkem-params.h"
+#include "mlkem-cbd.h"
+
+/*************************************************
+ * Name: load32_littleendian
+ *
+ * Description: load 4 bytes into a 32-bit integer
+ * in little-endian order
+ *
+ * Arguments: - const uint8_t *x: pointer to input byte array
+ *
+ * Returns 32-bit unsigned integer loaded from x
+ **************************************************/
+static uint32_t
+load32_littleendian (const uint8_t x[4])
+{
+ uint32_t r;
+ r = (uint32_t)x[0];
+ r |= (uint32_t)x[1] << 8;
+ r |= (uint32_t)x[2] << 16;
+ r |= (uint32_t)x[3] << 24;
+ return r;
+}
+
+/*************************************************
+ * Name: load24_littleendian
+ *
+ * Description: load 3 bytes into a 32-bit integer
+ * in little-endian order.
+ * This function is only needed for ML-KEM-512
+ *
+ * Arguments: - const uint8_t *x: pointer to input byte array
+ *
+ * Returns 32-bit unsigned integer loaded from x (most significant byte is zero)
+ **************************************************/
+static uint32_t
+load24_littleendian (const uint8_t x[3])
+{
+ uint32_t r;
+ r = (uint32_t)x[0];
+ r |= (uint32_t)x[1] << 8;
+ r |= (uint32_t)x[2] << 16;
+ return r;
+}
+
+
+/*************************************************
+ * Name: cbd2
+ *
+ * Description: Given an array of uniformly random bytes, compute
+ * polynomial with coefficients distributed according to
+ * a centered binomial distribution with parameter eta=2
+ *
+ * Arguments: - gcry_mlkem_poly *r: pointer to output polynomial
+ * - const uint8_t *buf: pointer to input byte array
+ **************************************************/
+static void
+cbd2 (gcry_mlkem_poly *r, const uint8_t buf[2 * GCRY_MLKEM_N / 4])
+{
+ unsigned int i, j;
+ uint32_t t, d;
+ int16_t a, b;
+
+ for (i = 0; i < GCRY_MLKEM_N / 8; i++)
+ {
+ t = load32_littleendian (buf + 4 * i);
+ d = t & 0x55555555;
+ d += (t >> 1) & 0x55555555;
+
+ for (j = 0; j < 8; j++)
+ {
+ a = (d >> (4 * j + 0)) & 0x3;
+ b = (d >> (4 * j + 2)) & 0x3;
+ r->coeffs[8 * i + j] = a - b;
+ }
+ }
+}
+
+/*************************************************
+ * Name: cbd3
+ *
+ * Description: Given an array of uniformly random bytes, compute
+ * polynomial with coefficients distributed according to
+ * a centered binomial distribution with parameter eta=3.
+ * This function is only needed for ML-KEM-512
+ *
+ * Arguments: - gcry_mlkem_poly *r: pointer to output polynomial
+ * - const uint8_t *buf: pointer to input byte array
+ **************************************************/
+static void
+cbd3 (gcry_mlkem_poly *r, const uint8_t buf[3 * GCRY_MLKEM_N / 4])
+{
+ unsigned int i, j;
+ uint32_t t, d;
+ int16_t a, b;
+
+ for (i = 0; i < GCRY_MLKEM_N / 4; i++)
+ {
+ t = load24_littleendian (buf + 3 * i);
+ d = t & 0x00249249;
+ d += (t >> 1) & 0x00249249;
+ d += (t >> 2) & 0x00249249;
+
+ for (j = 0; j < 4; j++)
+ {
+ a = (d >> (6 * j + 0)) & 0x7;
+ b = (d >> (6 * j + 3)) & 0x7;
+ r->coeffs[4 * i + j] = a - b;
+ }
+ }
+}
+
+void
+_gcry_mlkem_poly_cbd_eta1 (gcry_mlkem_poly *r,
+ const uint8_t *buf,
+ gcry_mlkem_param_t const *param)
+{
+ if (param->eta1 == 2)
+ {
+ cbd2 (r, buf);
+ }
+ else // eta1 = 3
+ {
+ cbd3 (r, buf);
+ }
+}
+
+void
+_gcry_mlkem_poly_cbd_eta2 (
+ gcry_mlkem_poly *r, const uint8_t buf[GCRY_MLKEM_ETA2 * GCRY_MLKEM_N / 4])
+{
+ cbd2 (r, buf);
+}
diff --git a/cipher/mlkem-cbd.h b/cipher/mlkem-cbd.h
new file mode 100644
index 00000000..abc4799b
--- /dev/null
+++ b/cipher/mlkem-cbd.h
@@ -0,0 +1,38 @@
+/* mlkem-cbd.h - centered binomial distribution functions for ML-KEM
+ * Copyright (C) 2023 MTG AG
+ * The code was created based on the reference implementation that is part of the ML-KEM NIST submission.
+ *
+ * This file is part of Libgcrypt.
+ *
+ * Libgcrypt is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * Libgcrypt is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this program; if not, see <http://www.gnu.org/licenses/>.
+ */
+
+#ifndef GCRYPT_MLKEM_CBD_H
+#define GCRYPT_MLKEM_CBD_H
+
+#include <stdint.h>
+#include "mlkem-params.h"
+#include "mlkem-poly.h"
+
+/**
+ * buf has length MLKEM_ETA1*GCRY_MLKEM_N/4
+ */
+void _gcry_mlkem_poly_cbd_eta1 (gcry_mlkem_poly *r,
+ const uint8_t *buf,
+ gcry_mlkem_param_t const *param);
+
+void _gcry_mlkem_poly_cbd_eta2 (
+ gcry_mlkem_poly *r, const uint8_t buf[GCRY_MLKEM_ETA2 * GCRY_MLKEM_N / 4]);
+
+#endif /* GCRYPT_MLKEM_CBD_H */
diff --git a/cipher/mlkem-common.c b/cipher/mlkem-common.c
new file mode 100644
index 00000000..3cbad5f8
--- /dev/null
+++ b/cipher/mlkem-common.c
@@ -0,0 +1,727 @@
+/* mlkem-common.c - general functions for ML-KEM
+ * Copyright (C) 2023 MTG AG
+ * The code was created based on the reference implementation that is part of the ML-KEM NIST submission.
+ *
+ * This file is part of Libgcrypt.
+ *
+ * Libgcrypt is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * Libgcrypt is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this program; if not, see <http://www.gnu.org/licenses/>.
+ */
+
+#include <stddef.h>
+#include <stdint.h>
+// #include <config.h>
+#include "mlkem-common.h"
+#include "mlkem-params.h"
+#include "mlkem-polyvec.h"
+#include "mlkem-poly.h"
+#include "mlkem-ntt.h"
+#include "mlkem-aux.h"
+#include "consttime.h"
+#include "mlkem-symmetric.h"
+#include "gcrypt.h"
+
+#include "g10lib.h"
+
+#define GEN_MATRIX_NBLOCKS \
+ ((12 * GCRY_MLKEM_N / 8 * (1 << 12) / GCRY_MLKEM_Q \
+ + GCRY_MLKEM_XOF_BLOCKBYTES) \
+ / GCRY_MLKEM_XOF_BLOCKBYTES)
+
+
+/*************************************************
+ * Name: _gcry_mlkem_pack_pk
+ *
+ * Description: Serialize the public key as concatenation of the
+ * serialized vector of polynomials pk
+ * and the public seed used to generate the matrix A.
+ *
+ * Arguments: uint8_t *r: pointer to the output serialized public key
+ * gcry_mlkem_polyvec *pk: pointer to the input public-key
+ * gcry_mlkem_polyvec const uint8_t *seed: pointer to the input
+ *public seed gcry_mlkem_param_t const *param: mlkem parameters
+ *
+ **************************************************/
+static void
+_gcry_mlkem_pack_pk (uint8_t *r,
+ gcry_mlkem_polyvec *pk,
+ const uint8_t seed[GCRY_MLKEM_SYMBYTES],
+ gcry_mlkem_param_t const *param)
+{
+ _gcry_mlkem_polyvec_tobytes (r, pk, param);
+ memcpy (r + param->polyvec_bytes, seed, GCRY_MLKEM_SYMBYTES);
+}
+
+/*************************************************
+ * Name: unpack_pk
+ *
+ * Description: De-serialize public key from a byte array;
+ * approximate inverse of _gcry_mlkem_pack_pk
+ *
+ * Arguments: - gcry_mlkem_polyvec *pk: pointer to output public-key
+ *polynomial vector
+ * - uint8_t *seed: pointer to output seed to generate matrix A
+ * - const uint8_t *packedpk: pointer to input serialized public
+ * - gcry_mlkem_param_t const *param: mlkem parameters
+ *key
+ **************************************************/
+static void
+_gcry_mlkem_unpack_pk (gcry_mlkem_polyvec *pk,
+ uint8_t seed[GCRY_MLKEM_SYMBYTES],
+ const uint8_t *packedpk,
+ gcry_mlkem_param_t const *param)
+{
+ _gcry_mlkem_polyvec_frombytes (pk, packedpk, param);
+ memcpy (seed, packedpk + param->polyvec_bytes, GCRY_MLKEM_SYMBYTES);
+}
+
+/*************************************************
+ * Name: _gcry_mlkem_pack_sk
+ *
+ * Description: Serialize the secret key
+ *
+ * Arguments: - uint8_t *r: pointer to output serialized secret key
+ * - gcry_mlkem_polyvec *sk: pointer to input vector of
+ * - gcry_mlkem_param_t const *param: mlkem parameters
+ *polynomials (secret key)
+ **************************************************/
+static void
+_gcry_mlkem_pack_sk (uint8_t *r,
+ gcry_mlkem_polyvec *sk,
+ gcry_mlkem_param_t const *param)
+{
+ _gcry_mlkem_polyvec_tobytes (r, sk, param);
+}
+
+/*************************************************
+ * Name: _gcry_mlkem_unpack_sk
+ *
+ * Description: De-serialize the secret key; inverse of _gcry_mlkem_pack_sk
+ *
+ * Arguments: - gcry_mlkem_polyvec *sk: pointer to output vector of
+ *polynomials (secret key)
+ * - const uint8_t *packedsk: pointer to input serialized secret
+ * - gcry_mlkem_param_t const *param: mlkem parameters
+ *key
+ **************************************************/
+static void
+_gcry_mlkem_unpack_sk (gcry_mlkem_polyvec *sk,
+ const uint8_t *packedsk,
+ gcry_mlkem_param_t const *param)
+{
+ _gcry_mlkem_polyvec_frombytes (sk, packedsk, param);
+}
+
+/*************************************************
+ * Name: _gcry_mlkem_pack_ciphertext
+ *
+ * Description: Serialize the ciphertext as concatenation of the
+ * compressed and serialized vector of polynomials b
+ * and the compressed and serialized polynomial v
+ *
+ * Arguments: uint8_t *r: pointer to the output serialized ciphertext
+ * poly *pk: pointer to the input vector of polynomials b
+ * poly *v: pointer to the input polynomial v
+ * gcry_mlkem_param_t const *param: mlkem parameters
+ **************************************************/
+static void
+_gcry_mlkem_pack_ciphertext (uint8_t *r,
+ gcry_mlkem_polyvec *b,
+ gcry_mlkem_poly *v,
+ gcry_mlkem_param_t const *param)
+{
+ _gcry_mlkem_polyvec_compress (r, b, param);
+ _gcry_mlkem_poly_compress (r + param->polyvec_compressed_bytes, v, param);
+}
+
+/*************************************************
+ * Name: _gcry_mlkem_unpack_ciphertext
+ *
+ * Description: De-serialize and decompress ciphertext from a byte array;
+ * approximate inverse of pack_ciphertext
+ *
+ * Arguments: - gcry_mlkem_polyvec *b: pointer to the output vector of
+ *polynomials b
+ * - poly *v: pointer to the output polynomial v
+ * - const uint8_t *c: pointer to the input serialized ciphertext
+ * - gcry_mlkem_param_t const *param: mlkem parameters
+ **************************************************/
+static void
+_gcry_mlkem_unpack_ciphertext (gcry_mlkem_polyvec *b,
+ gcry_mlkem_poly *v,
+ const uint8_t *c,
+ gcry_mlkem_param_t const *param)
+{
+ _gcry_mlkem_polyvec_decompress (b, c, param);
+ _gcry_mlkem_poly_decompress (v, c + param->polyvec_compressed_bytes, param);
+}
+
+/*************************************************
+ * Name: rej_uniform
+ *
+ * Description: Run rejection sampling on uniform random bytes to generate
+ * uniform random integers mod q
+ *
+ * Arguments: - int16_t *r: pointer to output buffer
+ * - unsigned int len: requested number of 16-bit integers
+ *(uniform mod q)
+ * - const uint8_t *buf: pointer to input buffer (assumed to be
+ *uniformly random bytes)
+ * - unsigned int buflen: length of input buffer in bytes
+ *
+ * Returns number of sampled 16-bit integers (at most len)
+ **************************************************/
+static unsigned int
+_gcry_mlkem_rej_uniform (int16_t *r,
+ unsigned int len,
+ const uint8_t *buf,
+ unsigned int buflen)
+{
+ unsigned int ctr, pos;
+ uint16_t val0, val1;
+
+ ctr = pos = 0;
+ while (ctr < len && pos + 3 <= buflen)
+ {
+ val0 = ((buf[pos + 0] >> 0) | ((uint16_t)buf[pos + 1] << 8)) & 0xFFF;
+ val1 = ((buf[pos + 1] >> 4) | ((uint16_t)buf[pos + 2] << 4)) & 0xFFF;
+ pos += 3;
+
+ if (val0 < GCRY_MLKEM_Q)
+ {
+ r[ctr++] = val0;
+ }
+ if (ctr < len && val1 < GCRY_MLKEM_Q)
+ {
+ r[ctr++] = val1;
+ }
+ }
+
+ return ctr;
+}
+
+
+/*************************************************
+ * Name: gen_matrix
+ *
+ * Description: Deterministically generate matrix A (or the transpose of A)
+ * from a seed. Entries of the matrix are polynomials that look
+ * uniformly random. Performs rejection sampling on output of
+ * a XOF
+ *
+ * Arguments: - gcry_mlkem_polyvec *a: pointer to ouptput matrix A
+ * - const uint8_t *seed: pointer to input seed
+ * - int transposed: boolean deciding whether A or A^T is
+ * - gcry_mlkem_param_t const *param: mlkem parameters
+ *generated
+ **************************************************/
+static gcry_err_code_t
+_gcry_mlkem_gen_matrix (gcry_mlkem_polyvec *a,
+ const uint8_t seed[GCRY_MLKEM_SYMBYTES],
+ int transposed,
+ gcry_mlkem_param_t const *param)
+{
+ unsigned int ctr, i, j, k;
+ unsigned int buflen, off;
+ uint8_t buf[GEN_MATRIX_NBLOCKS * GCRY_MLKEM_XOF_BLOCKBYTES + 2];
+ gcry_err_code_t ec = 0;
+
+ for (i = 0; i < param->k; i++)
+ {
+ for (j = 0; j < param->k; j++)
+ {
+
+ gcry_md_hd_t h;
+ ec = _gcry_md_open (&h, GCRY_MD_SHAKE128, GCRY_MD_FLAG_SECURE);
+ if (ec)
+ {
+ return ec;
+ }
+ if (transposed)
+ {
+ _gcry_mlkem_shake128_absorb (h, seed, i, j);
+ }
+ else
+ {
+ _gcry_mlkem_shake128_absorb (h, seed, j, i);
+ }
+
+ _gcry_mlkem_shake128_squeezeblocks (h, buf, GEN_MATRIX_NBLOCKS);
+ buflen = GEN_MATRIX_NBLOCKS * GCRY_MLKEM_XOF_BLOCKBYTES;
+
+ ctr = _gcry_mlkem_rej_uniform (
+ a[i].vec[j].coeffs, GCRY_MLKEM_N, buf, buflen);
+
+ while (ctr < GCRY_MLKEM_N)
+ {
+ off = buflen % 3;
+ for (k = 0; k < off; k++)
+ {
+ buf[k] = buf[buflen - off + k];
+ }
+
+ _gcry_mlkem_shake128_squeezeblocks (h, buf + off, 1);
+ buflen = off + GCRY_MLKEM_XOF_BLOCKBYTES;
+ ctr += _gcry_mlkem_rej_uniform (
+ a[i].vec[j].coeffs + ctr, GCRY_MLKEM_N - ctr, buf, buflen);
+ }
+
+ _gcry_md_close (h);
+ }
+ }
+ return 0;
+}
+
+/*************************************************
+ * Name: indcpa_keypair
+ *
+ * Description: Generates public and private key for the CPA-secure
+ * public-key encryption scheme underlying ML-KEM
+ *
+ * Arguments: - uint8_t *pk: pointer to output public key
+ * (of length MLKEM_INDCPA_PUBLICKEYBYTES bytes)
+ * - uint8_t *sk: pointer to output private key
+ * (of length MLKEM_INDCPA_SECRETKEYBYTES bytes)
+ * - gcry_mlkem_param_t const *param: mlkem parameters
+ * - uint8_t *coins: random bytes of length GCRY_MLKEM_SYMBYTES
+ **************************************************/
+static gcry_error_t
+_gcry_mlkem_indcpa_keypair (uint8_t *pk,
+ uint8_t *sk,
+ gcry_mlkem_param_t const *param,
+ uint8_t *coins)
+{
+ unsigned int i;
+ uint8_t buf[2 * GCRY_MLKEM_SYMBYTES];
+ const uint8_t *publicseed = buf;
+ const uint8_t *noiseseed = buf + GCRY_MLKEM_SYMBYTES;
+ uint8_t nonce = 0;
+ gcry_mlkem_polyvec *a = NULL, e = {.vec = NULL}, pkpv = {.vec = NULL},
+ skpv = {.vec = NULL};
+ gcry_error_t ec = 0;
+
+ ec = _gcry_mlkem_polymatrix_create (&a, param);
+ if (ec)
+ {
+ goto leave;
+ }
+ ec = _gcry_mlkem_polyvec_create (&e, param);
+ if (ec)
+ {
+ goto leave;
+ }
+ ec = _gcry_mlkem_polyvec_create (&pkpv, param);
+ if (ec)
+ {
+ goto leave;
+ }
+ ec = _gcry_mlkem_polyvec_create (&skpv, param);
+ if (ec)
+ {
+ goto leave;
+ }
+
+
+ _gcry_md_hash_buffer (GCRY_MD_SHA3_512, buf, coins, GCRY_MLKEM_SYMBYTES);
+ ec = _gcry_mlkem_gen_matrix (a, publicseed, 0, param);
+ if (ec)
+ {
+ goto leave;
+ }
+
+ for (i = 0; i < param->k; i++)
+ {
+ _gcry_mlkem_poly_getnoise_eta1 (&skpv.vec[i], noiseseed, nonce++, param);
+ }
+ for (i = 0; i < param->k; i++)
+ {
+ _gcry_mlkem_poly_getnoise_eta1 (&e.vec[i], noiseseed, nonce++, param);
+ }
+
+ _gcry_mlkem_polyvec_ntt (&skpv, param);
+ _gcry_mlkem_polyvec_ntt (&e, param);
+
+ // matrix-vector multiplication
+ for (i = 0; i < param->k; i++)
+ {
+ ec = _gcry_mlkem_polyvec_basemul_acc_montgomery (
+ &pkpv.vec[i], &a[i], &skpv, param);
+ if (ec)
+ {
+ goto leave;
+ }
+ _gcry_mlkem_poly_tomont (&pkpv.vec[i]);
+ }
+
+ _gcry_mlkem_polyvec_add (&pkpv, &pkpv, &e, param);
+ _gcry_mlkem_polyvec_reduce (&pkpv, param);
+
+ _gcry_mlkem_pack_sk (sk, &skpv, param);
+ _gcry_mlkem_pack_pk (pk, &pkpv, publicseed, param);
+leave:
+ _gcry_mlkem_polymatrix_destroy (&a, param);
+ _gcry_mlkem_polyvec_destroy (&e);
+ _gcry_mlkem_polyvec_destroy (&pkpv);
+ _gcry_mlkem_polyvec_destroy (&skpv);
+
+ return ec;
+}
+
+/*************************************************
+ * Name: indcpa_enc
+ *
+ * Description: Encryption function of the CPA-secure
+ * public-key encryption scheme underlying ML-KEM.
+ *
+ * Arguments: - uint8_t *c: pointer to output ciphertext
+ * (of length MLKEM_INDCPA_BYTES bytes)
+ * - const uint8_t *m: pointer to input message
+ * (of length GCRY_MLKEM_INDCPA_MSGBYTES
+ *bytes)
+ * - const uint8_t *pk: pointer to input public key
+ * (of length MLKEM_INDCPA_PUBLICKEYBYTES)
+ * - const uint8_t *coins: pointer to input random coins used as
+ *seed (of length GCRY_MLKEM_SYMBYTES) to deterministically generate all
+ *randomness
+ **************************************************/
+static gcry_error_t
+_gcry_mlkem_indcpa_enc (uint8_t *c,
+ const uint8_t *m,
+ const uint8_t *pk,
+ const uint8_t coins[GCRY_MLKEM_SYMBYTES],
+ gcry_mlkem_param_t const *param)
+{
+ unsigned int i;
+ uint8_t seed[GCRY_MLKEM_SYMBYTES];
+ uint8_t nonce = 0;
+ gcry_mlkem_polyvec sp = {.vec = NULL}, pkpv = {.vec = NULL},
+ ep = {.vec = NULL}, *at = NULL, b = {.vec = NULL};
+ gcry_error_t ec = 0;
+ gcry_mlkem_poly v, k, epp;
+
+ ec = _gcry_mlkem_polyvec_create (&sp, param);
+ if (ec)
+ {
+ goto leave;
+ }
+ ec = _gcry_mlkem_polyvec_create (&pkpv, param);
+ if (ec)
+ {
+ goto leave;
+ }
+ ec = _gcry_mlkem_polyvec_create (&ep, param);
+ if (ec)
+ {
+ goto leave;
+ }
+ ec = _gcry_mlkem_polyvec_create (&b, param);
+ if (ec)
+ {
+ goto leave;
+ }
+ ec = _gcry_mlkem_polymatrix_create (&at, param);
+ if (ec)
+ {
+ goto leave;
+ }
+
+ _gcry_mlkem_unpack_pk (&pkpv, seed, pk, param);
+ _gcry_mlkem_poly_frommsg (&k, m);
+ ec = _gcry_mlkem_gen_matrix (at, seed, 1, param);
+ if (ec)
+ {
+ goto leave;
+ }
+
+ for (i = 0; i < param->k; i++)
+ {
+ _gcry_mlkem_poly_getnoise_eta1 (sp.vec + i, coins, nonce++, param);
+ }
+ for (i = 0; i < param->k; i++)
+ {
+ _gcry_mlkem_poly_getnoise_eta2 (ep.vec + i, coins, nonce++);
+ }
+ _gcry_mlkem_poly_getnoise_eta2 (&epp, coins, nonce++);
+
+ _gcry_mlkem_polyvec_ntt (&sp, param);
+
+ // matrix-vector multiplication
+ for (i = 0; i < param->k; i++)
+ {
+ ec = _gcry_mlkem_polyvec_basemul_acc_montgomery (
+ &b.vec[i], &at[i], &sp, param);
+ if (ec)
+ {
+ goto leave;
+ }
+ }
+
+ ec = _gcry_mlkem_polyvec_basemul_acc_montgomery (&v, &pkpv, &sp, param);
+ if (ec)
+ {
+ goto leave;
+ }
+
+ _gcry_mlkem_polyvec_invntt_tomont (&b, param);
+ _gcry_mlkem_poly_invntt_tomont (&v);
+
+ _gcry_mlkem_polyvec_add (&b, &b, &ep, param);
+ _gcry_mlkem_poly_add (&v, &v, &epp);
+ _gcry_mlkem_poly_add (&v, &v, &k);
+ _gcry_mlkem_polyvec_reduce (&b, param);
+ _gcry_mlkem_poly_reduce (&v);
+
+ _gcry_mlkem_pack_ciphertext (c, &b, &v, param);
+leave:
+
+ _gcry_mlkem_polyvec_destroy (&sp);
+ _gcry_mlkem_polyvec_destroy (&pkpv);
+ _gcry_mlkem_polyvec_destroy (&ep);
+ _gcry_mlkem_polyvec_destroy (&b);
+ _gcry_mlkem_polymatrix_destroy (&at, param);
+
+ return ec;
+}
+
+/*************************************************
+ * Name: indcpa_dec
+ *
+ * Description: Decryption function of the CPA-secure
+ * public-key encryption scheme underlying ML-KEM.
+ *
+ * Arguments: - uint8_t *m: pointer to output decrypted message
+ * (of length GCRY_MLKEM_INDCPA_MSGBYTES)
+ * - const uint8_t *c: pointer to input ciphertext
+ * (of length MLKEM_INDCPA_BYTES)
+ * - const uint8_t *sk: pointer to input secret key
+ * (of length MLKEM_INDCPA_SECRETKEYBYTES)
+ * - gcry_mlkem_param_t const *param: mlkem parameters
+ **************************************************/
+static gcry_error_t
+_gcry_mlkem_indcpa_dec (uint8_t *m,
+ const uint8_t *c,
+ const uint8_t *sk,
+ gcry_mlkem_param_t const *param)
+{
+ gcry_mlkem_polyvec b = {.vec = NULL}, skpv = {.vec = NULL};
+ gcry_mlkem_poly v, mp;
+ gcry_error_t ec = 0;
+
+ ec = _gcry_mlkem_polyvec_create (&b, param);
+ if (ec)
+ {
+ ec = gpg_error_from_syserror ();
+ goto leave;
+ }
+ ec = _gcry_mlkem_polyvec_create (&skpv, param);
+ if (ec)
+ {
+ ec = gpg_error_from_syserror ();
+ goto leave;
+ }
+
+ _gcry_mlkem_unpack_ciphertext (&b, &v, c, param);
+ _gcry_mlkem_unpack_sk (&skpv, sk, param);
+
+ _gcry_mlkem_polyvec_ntt (&b, param);
+ ec = _gcry_mlkem_polyvec_basemul_acc_montgomery (&mp, &skpv, &b, param);
+ if (ec)
+ {
+ goto leave;
+ }
+ _gcry_mlkem_poly_invntt_tomont (&mp);
+
+ _gcry_mlkem_poly_sub (&mp, &v, &mp);
+ _gcry_mlkem_poly_reduce (&mp);
+
+ _gcry_mlkem_poly_tomsg (m, &mp);
+leave:
+ _gcry_mlkem_polyvec_destroy (&skpv);
+ _gcry_mlkem_polyvec_destroy (&b);
+ return ec;
+}
+
+
+gcry_err_code_t
+_gcry_mlkem_kem_keypair_derand (uint8_t *pk,
+ uint8_t *sk,
+ gcry_mlkem_param_t *param,
+ uint8_t *coins)
+{
+ gpg_err_code_t ec = 0;
+ ec = _gcry_mlkem_indcpa_keypair (pk, sk, param, coins);
+ if (ec)
+ {
+ return ec;
+ }
+ memcpy (&sk[param->indcpa_secret_key_bytes], pk, param->public_key_bytes);
+ _gcry_md_hash_buffer (GCRY_MD_SHA3_256,
+ sk + param->secret_key_bytes - 2 * GCRY_MLKEM_SYMBYTES,
+ pk,
+ param->public_key_bytes);
+ /* Value z for pseudo-random output on reject */
+ memcpy (sk + param->secret_key_bytes - GCRY_MLKEM_SYMBYTES,
+ coins + GCRY_MLKEM_SYMBYTES,
+ GCRY_MLKEM_SYMBYTES);
+ return ec;
+}
+
+static gcry_err_code_t
+_gcry_mlkem_mlkem_shake256_rkprf (uint8_t out[GCRY_MLKEM_SSBYTES],
+ const uint8_t key[GCRY_MLKEM_SYMBYTES],
+ const uint8_t *input,
+ size_t input_length)
+{
+ gcry_md_hd_t h;
+ gcry_err_code_t ec = 0;
+ ec = _gcry_md_open (&h, GCRY_MD_SHAKE256, GCRY_MD_FLAG_SECURE);
+ if (ec)
+ {
+ return ec;
+ }
+ _gcry_md_write (h, key, GCRY_MLKEM_SYMBYTES);
+ _gcry_md_write (h, input, input_length);
+ ec = _gcry_md_extract (h, GCRY_MD_SHAKE256, out, GCRY_MLKEM_SSBYTES);
+ _gcry_md_close (h);
+ return ec;
+}
+
+
+gcry_err_code_t
+_gcry_mlkem_kem_keypair (uint8_t *pk, uint8_t *sk, gcry_mlkem_param_t *param)
+{
+ gcry_err_code_t ec = 0;
+ uint8_t *coins = NULL;
+ coins = xtrymalloc_secure (GCRY_MLKEM_COINS_SIZE);
+ if (!coins)
+ {
+ ec = gpg_err_code_from_syserror ();
+ goto leave;
+ }
+ _gcry_randomize (coins, GCRY_MLKEM_COINS_SIZE, GCRY_VERY_STRONG_RANDOM);
+ ec = _gcry_mlkem_kem_keypair_derand (pk, sk, param, coins);
+leave:
+ xfree (coins);
+ return ec;
+}
+
+gcry_err_code_t
+_gcry_mlkem_kem_dec (uint8_t *ss,
+ const uint8_t *ct,
+ const uint8_t *sk,
+ gcry_mlkem_param_t *param)
+{
+ gcry_err_code_t ec = 0;
+ int fail;
+ uint8_t buf[2 * GCRY_MLKEM_SYMBYTES];
+ /* Will contain key, coins */
+ uint8_t kr[2 * GCRY_MLKEM_SYMBYTES];
+
+ uint8_t *cmp = NULL;
+
+ const uint8_t *pk = sk + param->indcpa_secret_key_bytes;
+
+ ec = _gcry_mlkem_indcpa_dec (buf, ct, sk, param);
+ if (ec)
+ {
+ goto end;
+ }
+
+ /* Multitarget countermeasure for coins + contributory KEM */
+ memcpy (buf + GCRY_MLKEM_SYMBYTES,
+ sk + param->secret_key_bytes - 2 * GCRY_MLKEM_SYMBYTES,
+ GCRY_MLKEM_SYMBYTES);
+ _gcry_md_hash_buffer (GCRY_MD_SHA3_512, kr, buf, 2 * GCRY_MLKEM_SYMBYTES);
+
+
+ cmp = xtrymalloc_secure (param->ciphertext_bytes);
+ if (!cmp)
+ {
+ ec = gpg_err_code_from_syserror ();
+ goto end;
+ }
+ ec = _gcry_mlkem_indcpa_enc (cmp, buf, pk, kr + GCRY_MLKEM_SYMBYTES, param);
+ /* coins are in kr+GCRY_MLKEM_SYMBYTES */
+ if (ec)
+ {
+ goto end;
+ }
+
+ fail = _gcry_consttime_bytes_differ (ct, cmp, param->ciphertext_bytes);
+
+ ec = _gcry_mlkem_mlkem_shake256_rkprf (ss,
+ sk + param->secret_key_bytes
+ - GCRY_MLKEM_SYMBYTES,
+ ct,
+ param->ciphertext_bytes);
+ /* Compute rejection key */
+ if (ec)
+ {
+ goto end;
+ }
+
+ /* Copy true key to return buffer if fail is false */
+ _gcry_consttime_cmov (ss, kr, GCRY_MLKEM_SYMBYTES, !fail);
+
+end:
+ xfree (cmp);
+ return ec;
+}
+
+gcry_err_code_t
+_gcry_mlkem_kem_enc (uint8_t *ct,
+ uint8_t *ss,
+ const uint8_t *pk,
+ gcry_mlkem_param_t *param)
+{
+ uint8_t coins[GCRY_MLKEM_SYMBYTES];
+ _gcry_randomize (coins, GCRY_MLKEM_SYMBYTES, GCRY_VERY_STRONG_RANDOM);
+ return _gcry_mlkem_kem_enc_derand (ct, ss, pk, param, coins);
+}
+
+gcry_err_code_t
+_gcry_mlkem_kem_enc_derand (uint8_t *ct,
+ uint8_t *ss,
+ const uint8_t *pk,
+ gcry_mlkem_param_t *param,
+ uint8_t *coins)
+{
+ gpg_err_code_t ec = 0;
+ uint8_t buf[2 * GCRY_MLKEM_SYMBYTES];
+ /* Will contain key, coins */
+ uint8_t kr[2 * GCRY_MLKEM_SYMBYTES];
+
+ /* Don't release system RNG output */
+ _gcry_md_hash_buffer (GCRY_MD_SHA3_256, buf, coins, GCRY_MLKEM_SYMBYTES);
+
+ /* Multitarget countermeasure for coins + contributory KEM */
+
+ _gcry_md_hash_buffer (GCRY_MD_SHA3_256,
+ buf + GCRY_MLKEM_SYMBYTES,
+ pk,
+ param->public_key_bytes);
+
+ _gcry_md_hash_buffer (GCRY_MD_SHA3_512, kr, buf, 2 * GCRY_MLKEM_SYMBYTES);
+
+ /* coins are in kr+GCRY_MLKEM_SYMBYTES */
+ ec = _gcry_mlkem_indcpa_enc (ct, buf, pk, kr + GCRY_MLKEM_SYMBYTES, param);
+ if (ec)
+ {
+ goto end;
+ }
+
+
+ memcpy (ss, kr, GCRY_MLKEM_SYMBYTES);
+end:
+ return ec;
+}
diff --git a/cipher/mlkem-common.h b/cipher/mlkem-common.h
new file mode 100644
index 00000000..f1b5fae5
--- /dev/null
+++ b/cipher/mlkem-common.h
@@ -0,0 +1,60 @@
+/* mlkem-common.h - general functions for ML-KEM
+ * Copyright (C) 2023 MTG AG
+ * The code was created based on the reference implementation that is part of the ML-KEM NIST submission.
+ *
+ * This file is part of Libgcrypt.
+ *
+ * Libgcrypt is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * Libgcrypt is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this program; if not, see <http://www.gnu.org/licenses/>.
+ */
+
+#ifndef GCRYPT_MLKEM_COMMON_H
+#define GCRYPT_MLKEM_COMMON_H
+
+
+#include <stdint.h>
+#include "mlkem-params.h"
+
+#include <config.h>
+#include "g10lib.h"
+
+
+gcry_err_code_t _gcry_mlkem_kem_keypair_derand (uint8_t *pk,
+ uint8_t *sk,
+ gcry_mlkem_param_t *param,
+ uint8_t *coins);
+
+
+gcry_err_code_t _gcry_mlkem_kem_keypair (uint8_t *pk,
+ uint8_t *sk,
+ gcry_mlkem_param_t *param);
+
+
+gcry_err_code_t _gcry_mlkem_kem_enc_derand (uint8_t *ct,
+ uint8_t *ss,
+ const uint8_t *pk,
+ gcry_mlkem_param_t *param,
+ uint8_t *coins);
+
+gcry_err_code_t _gcry_mlkem_kem_enc (uint8_t *ct,
+ uint8_t *ss,
+ const uint8_t *pk,
+ gcry_mlkem_param_t *param);
+
+gcry_err_code_t _gcry_mlkem_kem_dec (uint8_t *ss,
+ const uint8_t *ct,
+ const uint8_t *sk,
+ gcry_mlkem_param_t *param);
+
+
+#endif /* GCRYPT_MLKEM_COMMON_H */
diff --git a/cipher/mlkem-ntt.c b/cipher/mlkem-ntt.c
new file mode 100644
index 00000000..42de8041
--- /dev/null
+++ b/cipher/mlkem-ntt.c
@@ -0,0 +1,181 @@
+/* mlkem-ntt.c - number-theoretic transform functions for ML-KEM
+ * Copyright (C) 2023 MTG AG
+ * The code was created based on the reference implementation that is part of the ML-KEM NIST submission.
+ *
+ * This file is part of Libgcrypt.
+ *
+ * Libgcrypt is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * Libgcrypt is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this program; if not, see <http://www.gnu.org/licenses/>.
+ */
+
+#include <stdint.h>
+#include "mlkem-params.h"
+#include "mlkem-ntt.h"
+#include "mlkem-aux.h"
+
+/* For reference: code to generate zetas and zetas_inv used in the number-theoretic transform:
+
+#define MLKEM_ROOT_OF_UNITY 17
+
+static const uint8_t tree[128] = {
+ 0, 64, 32, 96, 16, 80, 48, 112, 8, 72, 40, 104, 24, 88, 56, 120,
+ 4, 68, 36, 100, 20, 84, 52, 116, 12, 76, 44, 108, 28, 92, 60, 124,
+ 2, 66, 34, 98, 18, 82, 50, 114, 10, 74, 42, 106, 26, 90, 58, 122,
+ 6, 70, 38, 102, 22, 86, 54, 118, 14, 78, 46, 110, 30, 94, 62, 126,
+ 1, 65, 33, 97, 17, 81, 49, 113, 9, 73, 41, 105, 25, 89, 57, 121,
+ 5, 69, 37, 101, 21, 85, 53, 117, 13, 77, 45, 109, 29, 93, 61, 125,
+ 3, 67, 35, 99, 19, 83, 51, 115, 11, 75, 43, 107, 27, 91, 59, 123,
+ 7, 71, 39, 103, 23, 87, 55, 119, 15, 79, 47, 111, 31, 95, 63, 127
+};
+
+void init_ntt() {
+ unsigned int i;
+ int16_t tmp[128];
+
+ tmp[0] = MONT;
+ for(i=1;i<128;i++)
+ tmp[i] = fqmul(tmp[i-1],MONT*MLKEM_ROOT_OF_UNITY % GCRY_MLKEM_Q);
+
+ for(i=0;i<128;i++) {
+ zetas[i] = tmp[tree[i]];
+ if(zetas[i] > GCRY_MLKEM_Q/2)
+ zetas[i] -= GCRY_MLKEM_Q;
+ if(zetas[i] < -GCRY_MLKEM_Q/2)
+ zetas[i] += GCRY_MLKEM_Q;
+ }
+}
+*/
+
+static const int16_t zetas[128] = {
+ -1044, -758, -359, -1517, 1493, 1422, 287, 202, -171, 622, 1577,
+ 182, 962, -1202, -1474, 1468, 573, -1325, 264, 383, -829, 1458,
+ -1602, -130, -681, 1017, 732, 608, -1542, 411, -205, -1571, 1223,
+ 652, -552, 1015, -1293, 1491, -282, -1544, 516, -8, -320, -666,
+ -1618, -1162, 126, 1469, -853, -90, -271, 830, 107, -1421, -247,
+ -951, -398, 961, -1508, -725, 448, -1065, 677, -1275, -1103, 430,
+ 555, 843, -1251, 871, 1550, 105, 422, 587, 177, -235, -291,
+ -460, 1574, 1653, -246, 778, 1159, -147, -777, 1483, -602, 1119,
+ -1590, 644, -872, 349, 418, 329, -156, -75, 817, 1097, 603,
+ 610, 1322, -1285, -1465, 384, -1215, -136, 1218, -1335, -874, 220,
+ -1187, -1659, -1185, -1530, -1278, 794, -1510, -854, -870, 478, -108,
+ -308, 996, 991, 958, -1460, 1522, 1628};
+
+/*************************************************
+ * Name: fqmul
+ *
+ * Description: Multiplication followed by Montgomery reduction
+ *
+ * Arguments: - int16_t a: first factor
+ * - int16_t b: second factor
+ *
+ * Returns 16-bit integer congruent to a*b*R^{-1} mod q
+ **************************************************/
+static int16_t
+fqmul (int16_t a, int16_t b)
+{
+ return _gcry_mlkem_montgomery_reduce ((int32_t)a * b);
+}
+
+/*************************************************
+ * Name: ntt
+ *
+ * Description: Inplace number-theoretic transform (NTT) in Rq.
+ * input is in standard order, output is in bitreversed order
+ *
+ * Arguments: - int16_t r[256]: pointer to input/output vector of elements of
+ *Zq
+ **************************************************/
+void
+_gcry_mlkem_ntt (int16_t r[256])
+{
+ unsigned int len, start, j, k;
+ int16_t t, zeta;
+
+ k = 1;
+ for (len = 128; len >= 2; len >>= 1)
+ {
+ for (start = 0; start < 256; start = j + len)
+ {
+ zeta = zetas[k++];
+ for (j = start; j < start + len; j++)
+ {
+ t = fqmul (zeta, r[j + len]);
+ r[j + len] = r[j] - t;
+ r[j] = r[j] + t;
+ }
+ }
+ }
+}
+
+/*************************************************
+ * Name: invntt_tomont
+ *
+ * Description: Inplace inverse number-theoretic transform in Rq and
+ * multiplication by Montgomery factor 2^16.
+ * Input is in bitreversed order, output is in standard order
+ *
+ * Arguments: - int16_t r[256]: pointer to input/output vector of elements of Zq
+ **************************************************/
+void
+_gcry_mlkem_invntt (int16_t r[256])
+{
+ unsigned int start, len, j, k;
+ int16_t t, zeta;
+ const int16_t f = 1441; // mont^2/128
+
+ k = 127;
+ for (len = 2; len <= 128; len <<= 1)
+ {
+ for (start = 0; start < 256; start = j + len)
+ {
+ zeta = zetas[k--];
+ for (j = start; j < start + len; j++)
+ {
+ t = r[j];
+ r[j] = _gcry_mlkem_barrett_reduce (t + r[j + len]);
+ r[j + len] = r[j + len] - t;
+ r[j + len] = fqmul (zeta, r[j + len]);
+ }
+ }
+ }
+
+ for (j = 0; j < 256; j++)
+ r[j] = fqmul (r[j], f);
+}
+
+/*************************************************
+ * Name: basemul
+ *
+ * Description: Multiplication of polynomials in Zq[X]/(X^2-zeta)
+ * used for multiplication of elements in Rq in NTT domain
+ *
+ * Arguments: - int16_t r[2]: pointer to the output polynomial
+ * - const int16_t a[2]: pointer to the first factor
+ * - const int16_t b[2]: pointer to the second factor
+ * - int zeta: integer defining the reduction polynomial as an offset into the zeta table
+ * - int sign: sign to apply to the zeta value
+ **************************************************/
+void
+_gcry_mlkem_basemul (int16_t r[2],
+ const int16_t a[2],
+ const int16_t b[2],
+ int zeta_offs,
+ int sign)
+{
+ uint16_t zeta = zetas[zeta_offs] * sign;
+ r[0] = fqmul (a[1], b[1]);
+ r[0] = fqmul (r[0], zeta);
+ r[0] += fqmul (a[0], b[0]);
+ r[1] = fqmul (a[0], b[1]);
+ r[1] += fqmul (a[1], b[0]);
+}
diff --git a/cipher/mlkem-ntt.h b/cipher/mlkem-ntt.h
new file mode 100644
index 00000000..6bccbc00
--- /dev/null
+++ b/cipher/mlkem-ntt.h
@@ -0,0 +1,35 @@
+/* mlkem-ntt.h - number-theoretic transform functions for ML-KEM
+ * Copyright (C) 2023 MTG AG
+ * The code was created based on the reference implementation that is part of the ML-KEM NIST submission.
+ *
+ * This file is part of Libgcrypt.
+ *
+ * Libgcrypt is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * Libgcrypt is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this program; if not, see <http://www.gnu.org/licenses/>.
+ */
+
+#ifndef GCRYPT_MLKEM_NTT_H
+#define GCRYPT_MLKEM_NTT_H
+
+#include <stdint.h>
+#include "mlkem-params.h"
+
+
+void _gcry_mlkem_ntt (int16_t poly[256]);
+
+void _gcry_mlkem_invntt (int16_t poly[256]);
+
+void _gcry_mlkem_basemul (
+ int16_t r[2], const int16_t a[2], const int16_t b[2], int zeta, int sign);
+
+#endif /* GCRYPT_MLKEM_NTT_H */
diff --git a/cipher/mlkem-params.h b/cipher/mlkem-params.h
new file mode 100644
index 00000000..19c2c5bc
--- /dev/null
+++ b/cipher/mlkem-params.h
@@ -0,0 +1,79 @@
+/* mlkem-params.h - parameter definitions for ML-KEM
+ * Copyright (C) 2023 MTG AG
+ * The code was created based on the reference implementation that is part of the ML-KEM NIST submission.
+ *
+ * This file is part of Libgcrypt.
+ *
+ * Libgcrypt is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * Libgcrypt is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this program; if not, see <http://www.gnu.org/licenses/>.
+ */
+
+#ifndef GCRYPT_MLKEM_PARAMS_H
+#define GCRYPT_MLKEM_PARAMS_H
+
+#include <stdint.h>
+
+typedef enum
+{
+ GCRY_MLKEM_512,
+ GCRY_MLKEM_768,
+ GCRY_MLKEM_1024
+} gcry_mlkem_param_id;
+
+typedef struct
+{
+ gcry_mlkem_param_id id;
+ uint8_t k;
+ uint8_t eta1;
+ uint16_t polyvec_bytes;
+ uint8_t poly_compressed_bytes;
+ uint16_t polyvec_compressed_bytes;
+ uint16_t public_key_bytes;
+ uint16_t indcpa_secret_key_bytes;
+ uint16_t secret_key_bytes;
+ uint16_t ciphertext_bytes;
+
+} gcry_mlkem_param_t;
+
+
+#define GCRY_MLKEM_N 256
+#define GCRY_MLKEM_Q 3329
+
+#define GCRY_MLKEM_SYMBYTES 32 /* size in bytes of hashes, and seeds */
+#define GCRY_MLKEM_SSBYTES 32 /* size in bytes of shared key */
+
+#define GCRY_MLKEM_POLYBYTES 384
+#define GCRY_MLKEM_POLYVECBYTES (MLKEM_K * GCRY_MLKEM_POLYBYTES)
+
+
+#define GCRY_MLKEM_ETA1_MAX 3
+#define GCRY_MLKEM_ETA2 2
+
+#define GCRY_MLKEM_INDCPA_MSGBYTES (GCRY_MLKEM_SYMBYTES)
+#if (GCRY_MLKEM_INDCPA_MSGBYTES != GCRY_MLKEM_N / 8)
+#error "GCRY_MLKEM_INDCPA_MSGBYTES must be equal to GCRY_MLKEM_N/8 bytes!"
+#endif
+
+
+#define GCRY_MLKEM_COINS_SIZE (2 * GCRY_MLKEM_SYMBYTES)
+
+
+#define GCRY_SHAKE128_RATE 168
+#define GCRY_SHAKE256_RATE 136
+#define GCRY_SHA3_256_RATE 136
+#define GCRY_SHA3_512_RATE 72
+
+
+#define GCRY_MLKEM_XOF_BLOCKBYTES GCRY_SHAKE128_RATE
+
+#endif /* GCRYPT_MLKEM_PARAMS_H */
diff --git a/cipher/mlkem-poly.c b/cipher/mlkem-poly.c
new file mode 100644
index 00000000..9ac3d8ec
--- /dev/null
+++ b/cipher/mlkem-poly.c
@@ -0,0 +1,436 @@
+/* mlkem-poly.c - functions related to polynomials for ML-KEM
+ * Copyright (C) 2023 MTG AG
+ * The code was created based on the reference implementation that is part of the ML-KEM NIST submission.
+ *
+ * This file is part of Libgcrypt.
+ *
+ * Libgcrypt is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * Libgcrypt is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this program; if not, see <http://www.gnu.org/licenses/>.
+ */
+
+#include <stdint.h>
+#include "mlkem-params.h"
+#include "mlkem-poly.h"
+#include "mlkem-ntt.h"
+#include "mlkem-aux.h"
+#include "mlkem-cbd.h"
+#include "mlkem-symmetric.h"
+
+/*************************************************
+ * Name: poly_compress
+ *
+ * Description: Compression and subsequent serialization of a polynomial
+ *
+ * Arguments: - unsigned char *r: pointer to output byte array
+ * (of length MLKEM_POLYCOMPRESSEDBYTES)
+ * - const poly *a: pointer to input polynomial
+ * - gcry_mlkem_param_t const *param: mlkem parameters
+ **************************************************/
+void
+_gcry_mlkem_poly_compress (unsigned char *r,
+ const gcry_mlkem_poly *a,
+ gcry_mlkem_param_t const *param)
+{
+ unsigned int i, j;
+ int16_t u;
+ unsigned char t[8];
+
+ if (param->id != GCRY_MLKEM_1024)
+ {
+ for (i = 0; i < GCRY_MLKEM_N / 8; i++)
+ {
+ for (j = 0; j < 8; j++)
+ {
+ // map to positive standard representatives
+ u = a->coeffs[8 * i + j];
+ u += (u >> 15) & GCRY_MLKEM_Q;
+ t[j] = ((((uint16_t)u << 4) + GCRY_MLKEM_Q / 2) / GCRY_MLKEM_Q)
+ & 15;
+ }
+
+ r[0] = t[0] | (t[1] << 4);
+ r[1] = t[2] | (t[3] << 4);
+ r[2] = t[4] | (t[5] << 4);
+ r[3] = t[6] | (t[7] << 4);
+ r += 4;
+ }
+ }
+ else
+ {
+ for (i = 0; i < GCRY_MLKEM_N / 8; i++)
+ {
+ for (j = 0; j < 8; j++)
+ {
+ // map to positive standard representatives
+ u = a->coeffs[8 * i + j];
+ u += (u >> 15) & GCRY_MLKEM_Q;
+ t[j] = ((((uint32_t)u << 5) + GCRY_MLKEM_Q / 2) / GCRY_MLKEM_Q)
+ & 31;
+ }
+
+ r[0] = (t[0] >> 0) | (t[1] << 5);
+ r[1] = (t[1] >> 3) | (t[2] << 2) | (t[3] << 7);
+ r[2] = (t[3] >> 1) | (t[4] << 4);
+ r[3] = (t[4] >> 4) | (t[5] << 1) | (t[6] << 6);
+ r[4] = (t[6] >> 2) | (t[7] << 3);
+ r += 5;
+ }
+ }
+}
+
+/*************************************************
+ * Name: gcry_mlkem_poly_decompress
+ *
+ * Description: De-serialization and subsequent decompression of a
+ *gcry_mlkem_polynomial; approximate inverse of gcry_mlkem_poly_compress
+ *
+ * Arguments: - gcry_mlkem_poly *r: pointer to output gcry_mlkem_polynomial
+ * - const unsigned char *a: pointer to input byte array
+ * (of length MLKEM_POLYCOMPRESSEDBYTES bytes)
+ * - gcry_mlkem_param_t const *param: mlkem parameters
+ **************************************************/
+void
+_gcry_mlkem_poly_decompress (gcry_mlkem_poly *r,
+ const unsigned char *a,
+ gcry_mlkem_param_t const *param)
+{
+ unsigned int i;
+
+ if (param->id != GCRY_MLKEM_1024)
+ {
+ for (i = 0; i < GCRY_MLKEM_N / 2; i++)
+ {
+ r->coeffs[2 * i + 0]
+ = (((uint16_t)(a[0] & 15) * GCRY_MLKEM_Q) + 8) >> 4;
+ r->coeffs[2 * i + 1]
+ = (((uint16_t)(a[0] >> 4) * GCRY_MLKEM_Q) + 8) >> 4;
+ a += 1;
+ }
+ }
+ else
+ {
+ unsigned int j;
+ unsigned char t[8];
+ for (i = 0; i < GCRY_MLKEM_N / 8; i++)
+ {
+ t[0] = (a[0] >> 0);
+ t[1] = (a[0] >> 5) | (a[1] << 3);
+ t[2] = (a[1] >> 2);
+ t[3] = (a[1] >> 7) | (a[2] << 1);
+ t[4] = (a[2] >> 4) | (a[3] << 4);
+ t[5] = (a[3] >> 1);
+ t[6] = (a[3] >> 6) | (a[4] << 2);
+ t[7] = (a[4] >> 3);
+ a += 5;
+
+ for (j = 0; j < 8; j++)
+ {
+ r->coeffs[8 * i + j]
+ = ((uint32_t)(t[j] & 31) * GCRY_MLKEM_Q + 16) >> 5;
+ }
+ }
+ }
+}
+
+/*************************************************
+ * Name: gcry_mlkem_poly_tobytes
+ *
+ * Description: Serialization of a gcry_mlkem_polynomial
+ *
+ * Arguments: - unsigned char *r: pointer to output byte array
+ * (needs space for GCRY_MLKEM_POLYBYTES bytes)
+ * - const gcry_mlkem_poly *a: pointer to input polynomial
+ **************************************************/
+void
+_gcry_mlkem_poly_tobytes (unsigned char r[GCRY_MLKEM_POLYBYTES],
+ const gcry_mlkem_poly *a)
+{
+ unsigned int i;
+ uint16_t t0, t1;
+
+ for (i = 0; i < GCRY_MLKEM_N / 2; i++)
+ {
+ // map to positive standard representatives
+ t0 = a->coeffs[2 * i];
+ t0 += ((int16_t)t0 >> 15) & GCRY_MLKEM_Q;
+ t1 = a->coeffs[2 * i + 1];
+ t1 += ((int16_t)t1 >> 15) & GCRY_MLKEM_Q;
+ r[3 * i + 0] = (t0 >> 0);
+ r[3 * i + 1] = (t0 >> 8) | (t1 << 4);
+ r[3 * i + 2] = (t1 >> 4);
+ }
+}
+
+/*************************************************
+ * Name: gcry_mlkem_poly_frombytes
+ *
+ * Description: De-serialization of a polynomial;
+ * inverse of gcry_mlkem_poly_tobytes
+ *
+ * Arguments: - gcry_mlkem_poly *r: pointer to output polynomial
+ * - const unsigned char *a: pointer to input byte array
+ * (of GCRY_MLKEM_POLYBYTES bytes)
+ **************************************************/
+void
+_gcry_mlkem_poly_frombytes (gcry_mlkem_poly *r,
+ const unsigned char a[GCRY_MLKEM_POLYBYTES])
+{
+ unsigned int i;
+ for (i = 0; i < GCRY_MLKEM_N / 2; i++)
+ {
+ r->coeffs[2 * i]
+ = ((a[3 * i + 0] >> 0) | ((uint16_t)a[3 * i + 1] << 8)) & 0xFFF;
+ r->coeffs[2 * i + 1]
+ = ((a[3 * i + 1] >> 4) | ((uint16_t)a[3 * i + 2] << 4)) & 0xFFF;
+ }
+}
+
+/*************************************************
+ * Name: gcry_mlkem_poly_frommsg
+ *
+ * Description: Convert 32-byte message to polynomial
+ *
+ * Arguments: - poly *r: pointer to output polynomial
+ * - const unsigned char *msg: pointer to input message
+ **************************************************/
+void
+_gcry_mlkem_poly_frommsg (gcry_mlkem_poly *r,
+ const unsigned char msg[GCRY_MLKEM_INDCPA_MSGBYTES])
+{
+ unsigned int i, j;
+ int16_t mask;
+
+
+ for (i = 0; i < GCRY_MLKEM_N / 8; i++)
+ {
+ for (j = 0; j < 8; j++)
+ {
+ mask = -(int16_t)((msg[i] >> j) & 1);
+ r->coeffs[8 * i + j] = mask & ((GCRY_MLKEM_Q + 1) / 2);
+ }
+ }
+}
+
+/*************************************************
+ * Name: gcry_mlkem_poly_tomsg
+ *
+ * Description: Convert polynomial to 32-byte message
+ *
+ * Arguments: - unsigned char *msg: pointer to output message
+ * - const gcry_mlkem_poly *a: pointer to input polynomial
+ **************************************************/
+void
+_gcry_mlkem_poly_tomsg (unsigned char msg[GCRY_MLKEM_INDCPA_MSGBYTES],
+ const gcry_mlkem_poly *a)
+{
+ unsigned int i, j;
+ uint16_t t;
+
+ for (i = 0; i < GCRY_MLKEM_N / 8; i++)
+ {
+ msg[i] = 0;
+ for (j = 0; j < 8; j++)
+ {
+ t = a->coeffs[8 * i + j];
+ t += ((int16_t)t >> 15) & GCRY_MLKEM_Q;
+ t = (((t << 1) + GCRY_MLKEM_Q / 2) / GCRY_MLKEM_Q) & 1;
+ msg[i] |= t << j;
+ }
+ }
+}
+
+/*************************************************
+ * Name: gcry_mlkem_poly_getnoise_eta1
+ *
+ * Description: Sample a polynomial deterministically from a seed and a nonce,
+ * with output polynomial close to centered binomial distribution
+ * with parameter MLKEM_ETA1
+ *
+ * Arguments: - gcry_mlkem_poly *r: pointer to output polynomial
+ * - const unsigned char *seed: pointer to input seed
+ * (of length GCRY_MLKEM_SYMBYTES bytes)
+ * - unsigned char nonce: one-byte input nonce
+ * - gcry_mlkem_param_t const *param: mlkem parameters
+ **************************************************/
+void
+_gcry_mlkem_poly_getnoise_eta1 (gcry_mlkem_poly *r,
+ const unsigned char seed[GCRY_MLKEM_SYMBYTES],
+ unsigned char nonce,
+ gcry_mlkem_param_t const *param)
+{
+ unsigned char buf[GCRY_MLKEM_ETA1_MAX * GCRY_MLKEM_N / 4];
+ _gcry_mlkem_prf (buf, sizeof (buf), seed, nonce);
+ _gcry_mlkem_poly_cbd_eta1 (r, buf, param);
+}
+
+/*************************************************
+ * Name: gcry_mlkem_poly_getnoise_eta2
+ *
+ * Description: Sample a polynomial deterministically from a seed and a nonce,
+ * with output polynomial close to centered binomial distribution
+ * with parameter GCRY_MLKEM_ETA2
+ *
+ * Arguments: - gcry_mlkem_poly *r: pointer to output polynomial
+ * - const unsigned char *seed: pointer to input seed
+ * (of length GCRY_MLKEM_SYMBYTES bytes)
+ * - unsigned char nonce: one-byte input nonce
+ **************************************************/
+void
+_gcry_mlkem_poly_getnoise_eta2 (gcry_mlkem_poly *r,
+ const unsigned char seed[GCRY_MLKEM_SYMBYTES],
+ unsigned char nonce)
+{
+ unsigned char buf[GCRY_MLKEM_ETA2 * GCRY_MLKEM_N / 4];
+ _gcry_mlkem_prf (buf, sizeof (buf), seed, nonce);
+ _gcry_mlkem_poly_cbd_eta2 (r, buf);
+}
+
+
+/*************************************************
+ * Name: gcry_mlkem_poly_ntt
+ *
+ * Description: Computes negacyclic number-theoretic transform (NTT) of
+ * a polynomial in place;
+ * inputs assumed to be in normal order, output in bitreversed
+ *order
+ *
+ * Arguments: - uint16_t *r: pointer to in/output polynomial
+ **************************************************/
+void
+_gcry_mlkem_poly_ntt (gcry_mlkem_poly *r)
+{
+ _gcry_mlkem_ntt (r->coeffs);
+ _gcry_mlkem_poly_reduce (r);
+}
+
+/*************************************************
+ * Name: poly_invntt_tomont
+ *
+ * Description: Computes inverse of negacyclic number-theoretic transform (NTT)
+ * of a polynomial in place;
+ * inputs assumed to be in bitreversed order, output in normal
+ *order
+ *
+ * Arguments: - uint16_t *a: pointer to in/output polynomial
+ **************************************************/
+void
+_gcry_mlkem_poly_invntt_tomont (gcry_mlkem_poly *r)
+{
+ _gcry_mlkem_invntt (r->coeffs);
+}
+
+/*************************************************
+ * Name: poly_basemul_montgomery
+ *
+ * Description: Multiplication of two polynomials in NTT domain
+ *
+ * Arguments: - gcry_mlkem_poly *r: pointer to output polynomial
+ * - const gcry_mlkem_poly *a: pointer to first input polynomial
+ * - const gcry_mlkem_poly *b: pointer to second input polynomial
+ **************************************************/
+void
+_gcry_mlkem_poly_basemul_montgomery (gcry_mlkem_poly *r,
+ const gcry_mlkem_poly *a,
+ const gcry_mlkem_poly *b)
+{
+ unsigned int i;
+ for (i = 0; i < GCRY_MLKEM_N / 4; i++)
+ {
+ _gcry_mlkem_basemul (
+ &r->coeffs[4 * i], &a->coeffs[4 * i], &b->coeffs[4 * i], 64 + i, 1);
+ _gcry_mlkem_basemul (&r->coeffs[4 * i + 2],
+ &a->coeffs[4 * i + 2],
+ &b->coeffs[4 * i + 2],
+ 64 + i,
+ -1);
+ }
+}
+
+/*************************************************
+ * Name: poly_tomont
+ *
+ * Description: Inplace conversion of all coefficients of a polynomial
+ * from normal domain to Montgomery domain
+ *
+ * Arguments: - gcry_mlkem_poly *r: pointer to input/output polynomial
+ **************************************************/
+void
+_gcry_mlkem_poly_tomont (gcry_mlkem_poly *r)
+{
+ unsigned int i;
+ const int16_t f = (1ULL << 32) % GCRY_MLKEM_Q;
+ for (i = 0; i < GCRY_MLKEM_N; i++)
+ {
+ r->coeffs[i] = _gcry_mlkem_montgomery_reduce ((int32_t)r->coeffs[i] * f);
+ }
+}
+
+/*************************************************
+ * Name: poly_reduce
+ *
+ * Description: Applies Barrett reduction to all coefficients of a polynomial
+ * for details of the Barrett reduction see comments in reduce.c
+ *
+ * Arguments: - gcry_mlkem_poly *r: pointer to input/output polynomial
+ **************************************************/
+void
+_gcry_mlkem_poly_reduce (gcry_mlkem_poly *r)
+{
+ unsigned int i;
+ for (i = 0; i < GCRY_MLKEM_N; i++)
+ {
+ r->coeffs[i] = _gcry_mlkem_barrett_reduce (r->coeffs[i]);
+ }
+}
+
+/*************************************************
+ * Name: poly_add
+ *
+ * Description: Add two polynomials; no modular reduction is performed
+ *
+ * Arguments: - gcry_mlkem_poly *r: pointer to output polynomial
+ * - const gcry_mlkem_poly *a: pointer to first input polynomial
+ * - const gcry_mlkem_poly *b: pointer to second input polynomial
+ **************************************************/
+void
+_gcry_mlkem_poly_add (gcry_mlkem_poly *r,
+ const gcry_mlkem_poly *a,
+ const gcry_mlkem_poly *b)
+{
+ unsigned int i;
+ for (i = 0; i < GCRY_MLKEM_N; i++)
+ {
+ r->coeffs[i] = a->coeffs[i] + b->coeffs[i];
+ }
+}
+
+/*************************************************
+ * Name: poly_sub
+ *
+ * Description: Subtract two polynomials; no modular reduction is performed
+ *
+ * Arguments: - gcry_mlkem_poly *r: pointer to output polynomial
+ * - const gcry_mlkem_poly *a: pointer to first input polynomial
+ * - const gcry_mlkem_poly *b: pointer to second input polynomial
+ **************************************************/
+void
+_gcry_mlkem_poly_sub (gcry_mlkem_poly *r,
+ const gcry_mlkem_poly *a,
+ const gcry_mlkem_poly *b)
+{
+ unsigned int i;
+ for (i = 0; i < GCRY_MLKEM_N; i++)
+ {
+ r->coeffs[i] = a->coeffs[i] - b->coeffs[i];
+ }
+}
diff --git a/cipher/mlkem-poly.h b/cipher/mlkem-poly.h
new file mode 100644
index 00000000..4b761986
--- /dev/null
+++ b/cipher/mlkem-poly.h
@@ -0,0 +1,95 @@
+/* mlkem-poly.h - functions related to polynomials for ML-KEM
+ * Copyright (C) 2023 MTG AG
+ * The code was created based on the reference implementation that is part of the ML-KEM NIST submission.
+ *
+ * This file is part of Libgcrypt.
+ *
+ * Libgcrypt is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * Libgcrypt is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this program; if not, see <http://www.gnu.org/licenses/>.
+ */
+
+#ifndef GCRYPT_MLKEM_POLY_H
+#define GCRYPT_MLKEM_POLY_H
+
+#include <stdint.h>
+#include "mlkem-params.h"
+
+/*
+ * Elements of R_q = Z_q[X]/(X^n + 1). Represents polynomial
+ * coeffs[0] + X*coeffs[1] + X^2*coeffs[2] + ... + X^{n-1}*coeffs[n-1]
+ */
+typedef struct
+{
+ int16_t coeffs[GCRY_MLKEM_N];
+} gcry_mlkem_poly;
+
+
+void _gcry_mlkem_poly_compress (unsigned char *r,
+ const gcry_mlkem_poly *a,
+ gcry_mlkem_param_t const *param);
+
+void _gcry_mlkem_poly_decompress (gcry_mlkem_poly *r,
+ const unsigned char *a,
+ gcry_mlkem_param_t const *param);
+
+
+void _gcry_mlkem_poly_tobytes (unsigned char r[GCRY_MLKEM_POLYBYTES],
+ const gcry_mlkem_poly *a);
+
+void _gcry_mlkem_poly_frombytes (gcry_mlkem_poly *r,
+ const unsigned char a[GCRY_MLKEM_POLYBYTES]);
+
+
+void _gcry_mlkem_poly_frommsg (
+ gcry_mlkem_poly *r, const unsigned char msg[GCRY_MLKEM_INDCPA_MSGBYTES]);
+
+void _gcry_mlkem_poly_tomsg (unsigned char msg[GCRY_MLKEM_INDCPA_MSGBYTES],
+ const gcry_mlkem_poly *r);
+
+
+void _gcry_mlkem_poly_getnoise_eta1 (
+ gcry_mlkem_poly *r,
+ const unsigned char seed[GCRY_MLKEM_SYMBYTES],
+ unsigned char nonce,
+ gcry_mlkem_param_t const *param);
+
+
+void _gcry_mlkem_poly_getnoise_eta2 (
+ gcry_mlkem_poly *r,
+ const unsigned char seed[GCRY_MLKEM_SYMBYTES],
+ unsigned char nonce);
+
+
+void _gcry_mlkem_poly_ntt (gcry_mlkem_poly *r);
+
+void _gcry_mlkem_poly_invntt_tomont (gcry_mlkem_poly *r);
+
+void _gcry_mlkem_poly_basemul_montgomery (gcry_mlkem_poly *r,
+ const gcry_mlkem_poly *a,
+ const gcry_mlkem_poly *b);
+
+void _gcry_mlkem_poly_tomont (gcry_mlkem_poly *r);
+
+
+void _gcry_mlkem_poly_reduce (gcry_mlkem_poly *r);
+
+
+void _gcry_mlkem_poly_add (gcry_mlkem_poly *r,
+ const gcry_mlkem_poly *a,
+ const gcry_mlkem_poly *b);
+
+void _gcry_mlkem_poly_sub (gcry_mlkem_poly *r,
+ const gcry_mlkem_poly *a,
+ const gcry_mlkem_poly *b);
+
+#endif /* GCRYPT_MLKEM_POLY_H */
diff --git a/cipher/mlkem-polyvec.c b/cipher/mlkem-polyvec.c
new file mode 100644
index 00000000..1841684e
--- /dev/null
+++ b/cipher/mlkem-polyvec.c
@@ -0,0 +1,409 @@
+/* mlkem-polyvec.c - functions related to vectors of polynomials for ML-KEM
+ * Copyright (C) 2023 MTG AG
+ * The code was created based on the reference implementation that is part of the ML-KEM NIST submission.
+ *
+ * This file is part of Libgcrypt.
+ *
+ * Libgcrypt is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * Libgcrypt is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this program; if not, see <http://www.gnu.org/licenses/>.
+ */
+
+#include <stdint.h>
+#include "mlkem-params.h"
+#include "mlkem-poly.h"
+#include "mlkem-polyvec.h"
+
+gcry_error_t
+_gcry_mlkem_polymatrix_create (gcry_mlkem_polyvec **polymat,
+ gcry_mlkem_param_t const *param)
+{
+ gcry_error_t ec = 0;
+ unsigned i;
+ *polymat = xtrymalloc (sizeof (**polymat) * param->k);
+ if (!polymat)
+ {
+ ec = gpg_error_from_syserror ();
+ goto leave;
+ }
+ memset ((polymat)[0], 0, sizeof (**polymat) * param->k);
+
+ for (i = 0; i < param->k; i++)
+ {
+ ec = _gcry_mlkem_polyvec_create (&(*polymat)[i], param);
+ if (ec)
+ {
+ goto leave;
+ }
+ }
+leave:
+ return ec;
+}
+
+
+void
+_gcry_mlkem_polymatrix_destroy (gcry_mlkem_polyvec **polymat,
+ gcry_mlkem_param_t const *param)
+{
+ unsigned i;
+ if (polymat == NULL)
+ {
+ return;
+ }
+ for (i = 0; i < param->k; i++)
+ {
+ _gcry_mlkem_polyvec_destroy (&(*polymat)[i]);
+ }
+ xfree (*polymat);
+ *polymat = NULL;
+}
+
+gcry_error_t
+_gcry_mlkem_polyvec_create (gcry_mlkem_polyvec *polyvec,
+ gcry_mlkem_param_t const *param)
+{
+
+ polyvec->vec = xtrymalloc_secure (sizeof (*polyvec->vec) * param->k);
+ if (polyvec->vec == NULL)
+ {
+ return gpg_err_code_from_syserror ();
+ }
+ return 0;
+}
+
+void
+_gcry_mlkem_polyvec_destroy (gcry_mlkem_polyvec *polyvec)
+{
+ xfree (polyvec->vec);
+}
+
+/*************************************************
+ * Name: gcry_mlkem_polyvec_compress
+ *
+ * Description: Compress and serialize vector of polynomials
+ *
+ * Arguments: - uint8_t *r: pointer to output byte array
+ * (needs space for MLKEM_POLYVECCOMPRESSEDBYTES)
+ * - const gcry_mlkem_polyvec *a: pointer to input vector of polynomials
+ * - gcry_mlkem_param_t const *param: mlkem parameters
+ **************************************************/
+void
+_gcry_mlkem_polyvec_compress (uint8_t *r,
+ const gcry_mlkem_polyvec *a,
+ gcry_mlkem_param_t const *param)
+{
+ unsigned int i, j, k;
+ switch (param->id)
+ {
+ case GCRY_MLKEM_1024:
+ {
+ uint16_t t[8];
+ for (i = 0; i < param->k; i++)
+ {
+ for (j = 0; j < GCRY_MLKEM_N / 8; j++)
+ {
+ for (k = 0; k < 8; k++)
+ {
+ t[k] = a->vec[i].coeffs[8 * j + k];
+ t[k] += ((int16_t)t[k] >> 15) & GCRY_MLKEM_Q;
+ t[k] = ((((uint32_t)t[k] << 11) + GCRY_MLKEM_Q / 2)
+ / GCRY_MLKEM_Q)
+ & 0x7ff;
+ }
+
+ r[0] = (t[0] >> 0);
+ r[1] = (t[0] >> 8) | (t[1] << 3);
+ r[2] = (t[1] >> 5) | (t[2] << 6);
+ r[3] = (t[2] >> 2);
+ r[4] = (t[2] >> 10) | (t[3] << 1);
+ r[5] = (t[3] >> 7) | (t[4] << 4);
+ r[6] = (t[4] >> 4) | (t[5] << 7);
+ r[7] = (t[5] >> 1);
+ r[8] = (t[5] >> 9) | (t[6] << 2);
+ r[9] = (t[6] >> 6) | (t[7] << 5);
+ r[10] = (t[7] >> 3);
+ r += 11;
+ }
+ }
+ break;
+ }
+ case GCRY_MLKEM_512:
+ case GCRY_MLKEM_768:
+ {
+
+ uint16_t t[4];
+ for (i = 0; i < param->k; i++)
+ {
+ for (j = 0; j < GCRY_MLKEM_N / 4; j++)
+ {
+ for (k = 0; k < 4; k++)
+ {
+ t[k] = a->vec[i].coeffs[4 * j + k];
+ t[k] += ((int16_t)t[k] >> 15) & GCRY_MLKEM_Q;
+ t[k] = ((((uint32_t)t[k] << 10) + GCRY_MLKEM_Q / 2)
+ / GCRY_MLKEM_Q)
+ & 0x3ff;
+ }
+
+ r[0] = (t[0] >> 0);
+ r[1] = (t[0] >> 8) | (t[1] << 2);
+ r[2] = (t[1] >> 6) | (t[2] << 4);
+ r[3] = (t[2] >> 4) | (t[3] << 6);
+ r[4] = (t[3] >> 2);
+ r += 5;
+ }
+ }
+ break;
+ }
+ }
+}
+
+/*************************************************
+ * Name: gcry_mlkem_polyvec_decompress
+ *
+ * Description: De-serialize and decompress vector of polynomials;
+ * approximate inverse of gcry_mlkem_polyvec_compress
+ *
+ * Arguments: - gcry_mlkem_polyvec *r: pointer to output vector of
+ *polynomials
+ * - const uint8_t *a: pointer to input byte array
+ * (of length MLKEM_POLYVECCOMPRESSEDBYTES)
+ * - gcry_mlkem_param_t const *param: mlkem parameters
+ **************************************************/
+void
+_gcry_mlkem_polyvec_decompress (gcry_mlkem_polyvec *r,
+ const uint8_t *a,
+ gcry_mlkem_param_t const *param)
+{
+ unsigned int i, j, k;
+ switch (param->id)
+ {
+ case GCRY_MLKEM_1024:
+ {
+ uint16_t t[8];
+ for (i = 0; i < param->k; i++)
+ {
+ for (j = 0; j < GCRY_MLKEM_N / 8; j++)
+ {
+ t[0] = (a[0] >> 0) | ((uint16_t)a[1] << 8);
+ t[1] = (a[1] >> 3) | ((uint16_t)a[2] << 5);
+ t[2] = (a[2] >> 6) | ((uint16_t)a[3] << 2)
+ | ((uint16_t)a[4] << 10);
+ t[3] = (a[4] >> 1) | ((uint16_t)a[5] << 7);
+ t[4] = (a[5] >> 4) | ((uint16_t)a[6] << 4);
+ t[5] = (a[6] >> 7) | ((uint16_t)a[7] << 1)
+ | ((uint16_t)a[8] << 9);
+ t[6] = (a[8] >> 2) | ((uint16_t)a[9] << 6);
+ t[7] = (a[9] >> 5) | ((uint16_t)a[10] << 3);
+ a += 11;
+
+ for (k = 0; k < 8; k++)
+ r->vec[i].coeffs[8 * j + k]
+ = ((uint32_t)(t[k] & 0x7FF) * GCRY_MLKEM_Q + 1024) >> 11;
+ }
+ }
+ break;
+ }
+ case GCRY_MLKEM_768:
+ case GCRY_MLKEM_512:
+ {
+ uint16_t t[4];
+ for (i = 0; i < param->k; i++)
+ {
+ for (j = 0; j < GCRY_MLKEM_N / 4; j++)
+ {
+ t[0] = (a[0] >> 0) | ((uint16_t)a[1] << 8);
+ t[1] = (a[1] >> 2) | ((uint16_t)a[2] << 6);
+ t[2] = (a[2] >> 4) | ((uint16_t)a[3] << 4);
+ t[3] = (a[3] >> 6) | ((uint16_t)a[4] << 2);
+ a += 5;
+
+ for (k = 0; k < 4; k++)
+ {
+ r->vec[i].coeffs[4 * j + k]
+ = ((uint32_t)(t[k] & 0x3FF) * GCRY_MLKEM_Q + 512)
+ >> 10;
+ }
+ }
+ }
+ break;
+ }
+ }
+}
+
+/*************************************************
+ * Name: gcry_mlkem_polyvec_tobytes
+ *
+ * Description: Serialize vector of polynomials
+ *
+ * Arguments: - uint8_t *r: pointer to output byte array
+ * (needs space for GCRY_MLKEM_POLYVECBYTES)
+ * - const gcry_mlkem_polyvec *a: pointer to input vector of polynomials
+ * - gcry_mlkem_param_t const *param: mlkem parameters
+ **************************************************/
+void
+_gcry_mlkem_polyvec_tobytes (uint8_t *r,
+ const gcry_mlkem_polyvec *a,
+ gcry_mlkem_param_t const *param)
+{
+ unsigned int i;
+ for (i = 0; i < param->k; i++)
+ {
+ _gcry_mlkem_poly_tobytes (r + i * GCRY_MLKEM_POLYBYTES, &a->vec[i]);
+ }
+}
+
+/*************************************************
+ * Name: gcry_mlkem_polyvec_frombytes
+ *
+ * Description: De-serialize vector of polynomials;
+ * inverse of gcry_mlkem_polyvec_tobytes
+ *
+ * Arguments: - uint8_t *r: pointer to output byte array
+ * - const gcry_mlkem_polyvec *a: pointer to input vector of polynomials (of length GCRY_MLKEM_POLYVECBYTES)
+ * - gcry_mlkem_param_t const *param: mlkem parameters
+ **************************************************/
+void
+_gcry_mlkem_polyvec_frombytes (gcry_mlkem_polyvec *r,
+ const uint8_t *a,
+ gcry_mlkem_param_t const *param)
+{
+ unsigned int i;
+ for (i = 0; i < param->k; i++)
+ {
+ _gcry_mlkem_poly_frombytes (&r->vec[i], a + i * GCRY_MLKEM_POLYBYTES);
+ }
+}
+
+/*************************************************
+ * Name: gcry_mlkem_polyvec_ntt
+ *
+ * Description: Apply forward NTT to all elements of a vector of polynomials
+ *
+ * Arguments: - gcry_mlkem_polyvec *r: pointer to in/output vector of polynomials
+ * - gcry_mlkem_param_t const *param: mlkem parameters
+ **************************************************/
+void
+_gcry_mlkem_polyvec_ntt (gcry_mlkem_polyvec *r,
+ gcry_mlkem_param_t const *param)
+{
+ unsigned int i;
+ for (i = 0; i < param->k; i++)
+ {
+ _gcry_mlkem_poly_ntt (&r->vec[i]);
+ }
+}
+
+/*************************************************
+ * Name: gcry_mlkem_polyvec_invntt_tomont
+ *
+ * Description: Apply inverse NTT to all elements of a vector of polynomials
+ * and multiply by Montgomery factor 2^16
+ *
+ * Arguments: - gcry_mlkem_polyvec *r: pointer to in/output vector of polynomials
+ * - gcry_mlkem_param_t const *param: mlkem parameters
+ **************************************************/
+void
+_gcry_mlkem_polyvec_invntt_tomont (gcry_mlkem_polyvec *r,
+ gcry_mlkem_param_t const *param)
+{
+ unsigned int i;
+ for (i = 0; i < param->k; i++)
+ {
+ _gcry_mlkem_poly_invntt_tomont (&r->vec[i]);
+ }
+}
+
+/*************************************************
+ * Name: gcry_mlkem_polyvec_basemul_acc_montgomery
+ *
+ * Description: Multiply elements of a and b in NTT domain, accumulate into r,
+ * and multiply by 2^-16.
+ *
+ * Arguments: - poly *r: pointer to output polynomial
+ * - const gcry_mlkem_polyvec *a: pointer to first input vector of polynomials
+ * - const gcry_mlkem_polyvec *b: pointer to second input vector of polynomials
+ * - gcry_mlkem_param_t const *param: mlkem parameters
+ **************************************************/
+gcry_err_code_t
+_gcry_mlkem_polyvec_basemul_acc_montgomery (gcry_mlkem_poly *r,
+ const gcry_mlkem_polyvec *a,
+ const gcry_mlkem_polyvec *b,
+ gcry_mlkem_param_t const *param)
+{
+ gcry_err_code_t ec = 0;
+ unsigned int i;
+ gcry_mlkem_poly *t = NULL;
+ t = (gcry_mlkem_poly *)xtrymalloc_secure (sizeof (*t));
+ if (!t)
+ {
+ ec = gpg_err_code_from_syserror ();
+ goto leave;
+ }
+
+
+ _gcry_mlkem_poly_basemul_montgomery (r, &a->vec[0], &b->vec[0]);
+ for (i = 1; i < param->k; i++)
+ {
+ _gcry_mlkem_poly_basemul_montgomery (t, &a->vec[i], &b->vec[i]);
+ _gcry_mlkem_poly_add (r, r, t);
+ }
+
+ _gcry_mlkem_poly_reduce (r);
+leave:
+ xfree (t);
+ return ec;
+}
+
+/*************************************************
+ * Name: gcry_mlkem_polyvec_reduce
+ *
+ * Description: Applies Barrett reduction to each coefficient
+ * of each element of a vector of polynomials;
+ * for details of the Barrett reduction see comments in reduce.c
+ *
+ * Arguments: - gcry_mlkem_polyvec *r: pointer to input/output polynomial
+ * - gcry_mlkem_param_t const *param: mlkem parameters
+ **************************************************/
+void
+_gcry_mlkem_polyvec_reduce (gcry_mlkem_polyvec *r,
+ gcry_mlkem_param_t const *param)
+{
+ unsigned int i;
+ for (i = 0; i < param->k; i++)
+ {
+ _gcry_mlkem_poly_reduce (&r->vec[i]);
+ }
+}
+
+/*************************************************
+ * Name: gcry_mlkem_polyvec_add
+ *
+ * Description: Add vectors of polynomials
+ *
+ * Arguments: - gcry_mlkem_polyvec *r: pointer to output vector of polynomials
+ * - const gcry_mlkem_polyvec *a: pointer to first input vector of polynomials
+ * - const gcry_mlkem_polyvec *b: pointer to second input vector of polynomials
+ * - gcry_mlkem_param_t const *param: mlkem parameters
+ **************************************************/
+void
+_gcry_mlkem_polyvec_add (gcry_mlkem_polyvec *r,
+ const gcry_mlkem_polyvec *a,
+ const gcry_mlkem_polyvec *b,
+ gcry_mlkem_param_t const *param)
+{
+ unsigned int i;
+ for (i = 0; i < param->k; i++)
+ {
+ _gcry_mlkem_poly_add (&r->vec[i], &a->vec[i], &b->vec[i]);
+ }
+}
diff --git a/cipher/mlkem-polyvec.h b/cipher/mlkem-polyvec.h
new file mode 100644
index 00000000..abbfd94b
--- /dev/null
+++ b/cipher/mlkem-polyvec.h
@@ -0,0 +1,84 @@
+/* mlkem-polyvec.h - functions related to vectors of polynomials for ML-KEM
+ * Copyright (C) 2023 MTG AG
+ * The code was created based on the reference implementation that is part of the ML-KEM NIST submission.
+ *
+ * This file is part of Libgcrypt.
+ *
+ * Libgcrypt is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * Libgcrypt is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this program; if not, see <http://www.gnu.org/licenses/>.
+ */
+
+#ifndef GCRYPT_MLKEM_POLYVEC_H
+#define GCRYPT_MLKEM_POLYVEC_H
+
+#include <config.h>
+#include <stdint.h>
+#include "mlkem-params.h"
+#include "mlkem-poly.h"
+#include "g10lib.h"
+#include "mlkem-aux.h"
+
+typedef struct
+{
+ gcry_mlkem_poly *vec;
+} gcry_mlkem_polyvec;
+
+
+gcry_error_t _gcry_mlkem_polymatrix_create (gcry_mlkem_polyvec **polymat,
+ gcry_mlkem_param_t const *param);
+
+void _gcry_mlkem_polymatrix_destroy (gcry_mlkem_polyvec **polymat,
+ gcry_mlkem_param_t const *param);
+
+gcry_error_t _gcry_mlkem_polyvec_create (gcry_mlkem_polyvec *polyvec,
+ gcry_mlkem_param_t const *param);
+
+void _gcry_mlkem_polyvec_destroy (gcry_mlkem_polyvec *polyvec);
+
+void _gcry_mlkem_polyvec_compress (uint8_t *r,
+ const gcry_mlkem_polyvec *a,
+ gcry_mlkem_param_t const *param);
+
+void _gcry_mlkem_polyvec_decompress (gcry_mlkem_polyvec *r,
+ const uint8_t *a,
+ gcry_mlkem_param_t const *param);
+
+void _gcry_mlkem_polyvec_tobytes (uint8_t *r,
+ const gcry_mlkem_polyvec *a,
+ gcry_mlkem_param_t const *param);
+
+void _gcry_mlkem_polyvec_frombytes (gcry_mlkem_polyvec *r,
+ const uint8_t *a,
+ gcry_mlkem_param_t const *param);
+
+void _gcry_mlkem_polyvec_ntt (gcry_mlkem_polyvec *r,
+ gcry_mlkem_param_t const *param);
+
+void _gcry_mlkem_polyvec_invntt_tomont (gcry_mlkem_polyvec *r,
+ gcry_mlkem_param_t const *param);
+
+gcry_err_code_t _gcry_mlkem_polyvec_basemul_acc_montgomery (
+ gcry_mlkem_poly *r,
+ const gcry_mlkem_polyvec *a,
+ const gcry_mlkem_polyvec *b,
+ gcry_mlkem_param_t const *param);
+
+void _gcry_mlkem_polyvec_reduce (gcry_mlkem_polyvec *r,
+ gcry_mlkem_param_t const *param);
+
+void _gcry_mlkem_polyvec_add (gcry_mlkem_polyvec *r,
+ const gcry_mlkem_polyvec *a,
+ const gcry_mlkem_polyvec *b,
+ gcry_mlkem_param_t const *param);
+
+#endif /* GCRYPT_MLKEM_POLYVEC_H */
diff --git a/cipher/mlkem-symmetric.c b/cipher/mlkem-symmetric.c
new file mode 100644
index 00000000..22d81982
--- /dev/null
+++ b/cipher/mlkem-symmetric.c
@@ -0,0 +1,85 @@
+/* mlkem-symmetric.c - functions wrapping symmetric primitives for ML-KEM
+ * Copyright (C) 2023 MTG AG
+ * The code was created based on the reference implementation that is part of the ML-KEM NIST submission.
+ *
+ * This file is part of Libgcrypt.
+ *
+ * Libgcrypt is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * Libgcrypt is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this program; if not, see <http://www.gnu.org/licenses/>.
+ */
+
+#include <stddef.h>
+#include <stdint.h>
+#include <string.h>
+#include "mlkem-params.h"
+#include "mlkem-symmetric.h"
+
+#include "gcrypt.h"
+
+
+void
+_gcry_mlkem_shake128_absorb (gcry_md_hd_t h,
+ const unsigned char seed[GCRY_MLKEM_SYMBYTES],
+ unsigned char x,
+ unsigned char y)
+{
+ unsigned char extseed[GCRY_MLKEM_SYMBYTES + 2];
+
+ memcpy (extseed, seed, GCRY_MLKEM_SYMBYTES);
+ extseed[GCRY_MLKEM_SYMBYTES + 0] = x;
+ extseed[GCRY_MLKEM_SYMBYTES + 1] = y;
+
+ _gcry_md_write (h, extseed, sizeof (extseed));
+}
+
+
+gcry_err_code_t
+_gcry_mlkem_shake128_squeezeblocks (gcry_md_hd_t h,
+ uint8_t *out,
+ size_t nblocks)
+{
+ return _gcry_md_extract (
+ h, GCRY_MD_SHAKE128, out, GCRY_SHAKE128_RATE * nblocks);
+}
+
+gcry_err_code_t
+_gcry_mlkem_shake256_prf (unsigned char *out,
+ size_t outlen,
+ const unsigned char key[GCRY_MLKEM_SYMBYTES],
+ unsigned char nonce)
+{
+ unsigned char extkey[GCRY_MLKEM_SYMBYTES + 1];
+ gcry_err_code_t ec = 0;
+ gcry_md_hd_t h;
+
+ memcpy (extkey, key, GCRY_MLKEM_SYMBYTES);
+ extkey[GCRY_MLKEM_SYMBYTES] = nonce;
+ ec = _gcry_md_open (&h, GCRY_MD_SHAKE256, GCRY_MD_FLAG_SECURE);
+ if (ec)
+ {
+ return ec;
+ }
+ _gcry_md_write (h, extkey, sizeof (extkey));
+ ec = _gcry_md_extract (h, GCRY_MD_SHAKE256, out, outlen);
+ _gcry_md_close (h);
+ return ec;
+}
+
+gcry_err_code_t
+_gcry_mlkem_prf (unsigned char *out,
+ size_t outlen,
+ const unsigned char key[GCRY_MLKEM_SYMBYTES],
+ unsigned char nonce)
+{
+ return _gcry_mlkem_shake256_prf (out, outlen, key, nonce);
+}
diff --git a/cipher/mlkem-symmetric.h b/cipher/mlkem-symmetric.h
new file mode 100644
index 00000000..d872d784
--- /dev/null
+++ b/cipher/mlkem-symmetric.h
@@ -0,0 +1,66 @@
+/* mlkem-symmetric.h - functions wrapping symmetric primitives for ML-KEM
+ * Copyright (C) 2023 MTG AG
+ * The code was created based on the reference implementation that is part of the ML-KEM NIST submission.
+ *
+ * This file is part of Libgcrypt.
+ *
+ * Libgcrypt is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * Libgcrypt is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this program; if not, see <http://www.gnu.org/licenses/>.
+ */
+
+#ifndef GCRYPT_MLKEM_SYMMETRIC_H
+#define GCRYPT_MLKEM_SYMMETRIC_H
+
+#include <config.h>
+#include <stddef.h>
+#include <stdint.h>
+#include "mlkem-params.h"
+
+
+#include "g10lib.h"
+
+
+void _gcry_mlkem_shake128_absorb (
+ gcry_md_hd_t h,
+ const unsigned char seed[GCRY_MLKEM_SYMBYTES],
+ unsigned char x,
+ unsigned char y);
+
+/*************************************************
+ * Name: mlkem_shake256_prf
+ *
+ * Description: Usage of SHAKE256 as a PRF, concatenates secret and public
+ *input and then generates outlen bytes of SHAKE256 output
+ *
+ * Arguments: - unsigned char *out: pointer to output
+ * - size_t outlen: number of requested output bytes
+ * - const unsigned char *key: pointer to the key (of length GCRY_MLKEM_SYMBYTES)
+ * - unsigned char nonce: single-byte nonce (public PRF input)
+ **************************************************/
+gcry_err_code_t _gcry_mlkem_shake256_prf (
+ uint8_t *out,
+ size_t outlen,
+ const uint8_t key[GCRY_MLKEM_SYMBYTES],
+ uint8_t nonce);
+
+gcry_err_code_t _gcry_mlkem_shake128_squeezeblocks (gcry_md_hd_t h,
+ uint8_t *out,
+ size_t nblocks);
+
+gcry_err_code_t _gcry_mlkem_prf (uint8_t *out,
+ size_t outlen,
+ const uint8_t key[GCRY_MLKEM_SYMBYTES],
+ uint8_t nonce);
+
+
+#endif /* GCRYPT_MLKEM_SYMMETRIC_H */
diff --git a/cipher/mlkem.c b/cipher/mlkem.c
new file mode 100644
index 00000000..083d32f5
--- /dev/null
+++ b/cipher/mlkem.c
@@ -0,0 +1,479 @@
+/* mlkem.c - API functions for ML-KEM
+ * Copyright (C) 2023 MTG AG
+ * The code was created based on the reference implementation that is part of the ML-KEM NIST submission.
+ *
+ * This file is part of Libgcrypt.
+ *
+ * Libgcrypt is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * Libgcrypt is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this program; if not, see <http://www.gnu.org/licenses/>.
+ */
+
+#include <config.h>
+#include <stdio.h>
+
+
+#include "mlkem-common.h"
+
+#include "g10lib.h"
+
+#include "cipher.h"
+#include "pubkey-internal.h"
+#include "mlkem-aux.h"
+
+
+static gcry_err_code_t
+_gcry_mlkem_get_param_from_bit_size (size_t nbits, gcry_mlkem_param_t *param)
+{
+ switch (nbits)
+ {
+ case 128:
+ param->id = GCRY_MLKEM_512;
+ param->k = 2;
+ param->eta1 = 3;
+ param->poly_compressed_bytes = 128;
+ param->polyvec_compressed_bytes = param->k * 320;
+ break;
+ case 192:
+ param->id = GCRY_MLKEM_768;
+ param->k = 3;
+ param->eta1 = 2;
+ param->poly_compressed_bytes = 128;
+ param->polyvec_compressed_bytes = param->k * 320;
+ break;
+ case 256:
+ param->id = GCRY_MLKEM_1024;
+ param->k = 4;
+ param->eta1 = 2;
+ param->poly_compressed_bytes = 160;
+ param->polyvec_compressed_bytes = param->k * 352;
+ break;
+ default:
+ return GPG_ERR_INV_ARG;
+ }
+
+ param->polyvec_bytes = param->k * GCRY_MLKEM_POLYBYTES;
+ param->public_key_bytes = param->polyvec_bytes + GCRY_MLKEM_SYMBYTES;
+ param->indcpa_secret_key_bytes = param->polyvec_bytes;
+ param->ciphertext_bytes
+ = param->poly_compressed_bytes + param->polyvec_compressed_bytes;
+ param->secret_key_bytes = param->indcpa_secret_key_bytes
+ + param->public_key_bytes
+ + 2 * GCRY_MLKEM_SYMBYTES;
+
+ return 0;
+}
+
+static gcry_err_code_t
+mlkem_params_from_key_param (const gcry_sexp_t keyparms,
+ gcry_mlkem_param_t *param,
+ unsigned int *nbits_p)
+{
+ gpg_err_code_t ec = 0;
+
+ unsigned int nbits;
+ ec = _gcry_pk_util_get_nbits (keyparms, &nbits);
+ if (ec)
+ {
+ return ec;
+ }
+ ec = _gcry_mlkem_get_param_from_bit_size (nbits, param);
+ if (ec)
+ {
+ return ec;
+ }
+ if (nbits_p != NULL)
+ {
+ switch (param->id)
+ {
+ case GCRY_MLKEM_512:
+ {
+ *nbits_p = 128;
+ break;
+ }
+ case GCRY_MLKEM_768:
+ {
+ *nbits_p = 192;
+ break;
+ }
+ case GCRY_MLKEM_1024:
+ {
+ *nbits_p = 256;
+ break;
+ }
+ default:
+ {
+ ec = GPG_ERR_INV_ARG;
+ }
+ }
+ }
+
+ return ec;
+}
+
+static gcry_err_code_t
+extract_opaque_mpi_from_sexp (const gcry_sexp_t keyparms,
+ const char *label,
+ unsigned char **data_p,
+ size_t exp_len,
+ xtry_alloc_func_t alloc_func)
+{
+ gcry_mpi_t sk = NULL;
+ gpg_err_code_t ec = 0;
+ size_t nwritten = 0;
+
+ *data_p = 0;
+
+
+ ec = sexp_extract_param (keyparms, NULL, label, &sk, NULL);
+ if (ec)
+ {
+ printf ("error from sexp_extract_param (keyparms)\n");
+ goto leave;
+ }
+ if (mpi_get_nbits (sk) != exp_len * 8)
+ {
+ ec = GPG_ERR_INV_ARG;
+ goto leave;
+ }
+ *data_p = alloc_func (exp_len);
+ if (*data_p == NULL)
+ {
+ ec = gpg_err_code_from_syserror ();
+ goto leave;
+ }
+ _gcry_mpi_print (GCRYMPI_FMT_USG, *data_p, exp_len, &nwritten, sk);
+
+ if (exp_len != nwritten)
+ {
+ ec = GPG_ERR_INV_ARG;
+ goto leave;
+ }
+
+leave:
+ if (sk != NULL)
+ {
+ _gcry_mpi_release (sk);
+ }
+ if (ec)
+ {
+ xfree (*data_p);
+ *data_p = 0;
+ }
+ return ec;
+}
+
+
+static gcry_err_code_t
+private_key_from_sexp (const gcry_sexp_t keyparms,
+ const gcry_mlkem_param_t param,
+ unsigned char **sk_p)
+{
+ return extract_opaque_mpi_from_sexp (
+ keyparms, "/s", sk_p, param.secret_key_bytes, _gcry_malloc_secure);
+}
+
+
+static gcry_err_code_t
+ciphertext_from_sexp (const gcry_sexp_t keyparms,
+ const gcry_mlkem_param_t param,
+ unsigned char **ct_p)
+{
+ return extract_opaque_mpi_from_sexp (
+ keyparms, "/c", ct_p, param.ciphertext_bytes, _gcry_malloc);
+}
+
+
+static gcry_err_code_t
+public_key_from_sexp (const gcry_sexp_t keyparms,
+ const gcry_mlkem_param_t param,
+ unsigned char **pk_p)
+{
+ return extract_opaque_mpi_from_sexp (
+ keyparms, "/p", pk_p, param.public_key_bytes, _gcry_malloc);
+}
+
+
+static gcry_err_code_t
+mlkem_check_secret_key (gcry_sexp_t keyparms)
+{
+
+ gpg_err_code_t ec = 0;
+ unsigned char shared_secret_1[GCRY_MLKEM_SSBYTES],
+ shared_secret_2[GCRY_MLKEM_SSBYTES];
+ unsigned char *private_key = NULL, *ciphertext = NULL;
+ unsigned char *public_key = NULL;
+
+ gcry_mlkem_param_t param;
+ ec = mlkem_params_from_key_param (keyparms, ¶m, NULL);
+ if (ec)
+ {
+ goto leave;
+ }
+
+ ciphertext = xtrymalloc (param.ciphertext_bytes);
+ if (!ciphertext)
+ {
+ ec = GPG_ERR_SELFTEST_FAILED;
+ goto leave;
+ }
+
+ /* Extract the key MPI from the SEXP. */
+ ec = private_key_from_sexp (keyparms, param, &private_key);
+ if (ec)
+ {
+ goto leave;
+ }
+ public_key
+ = private_key
+ + param.indcpa_secret_key_bytes; // offset of public key in private key
+ ec = _gcry_mlkem_kem_enc (ciphertext, shared_secret_1, public_key, ¶m);
+ if (ec)
+ {
+ goto leave;
+ }
+ ec = _gcry_mlkem_kem_dec (shared_secret_2, ciphertext, private_key, ¶m);
+ if (ec)
+ {
+ goto leave;
+ }
+
+ if (memcmp (shared_secret_1, shared_secret_2, sizeof (shared_secret_1)))
+ {
+ ec = GPG_ERR_BAD_SECKEY;
+ goto leave;
+ }
+
+leave:
+
+ xfree (ciphertext);
+ xfree (private_key);
+ return ec;
+}
+
+
+static gcry_err_code_t
+mlkem_generate (const gcry_sexp_t genparms, gcry_sexp_t *r_skey)
+{
+ gpg_err_code_t ec = 0;
+
+ uint8_t *pk = 0, *sk = 0;
+ unsigned int nbits;
+ gcry_mlkem_param_t param;
+ gcry_mpi_t sk_mpi = NULL, pk_mpi = NULL;
+
+ ec = mlkem_params_from_key_param (genparms, ¶m, &nbits);
+ if (ec)
+ {
+ goto leave;
+ }
+ ec = _gcry_pk_util_get_nbits (genparms, &nbits);
+ if (!(sk = xtrymalloc_secure (param.secret_key_bytes))
+ || !(pk = xtrymalloc (param.public_key_bytes)))
+ {
+ ec = gpg_err_code_from_syserror ();
+ goto leave;
+ }
+ _gcry_mlkem_kem_keypair (pk, sk, ¶m);
+
+ sk_mpi = _gcry_mpi_set_opaque_copy (sk_mpi, sk, param.secret_key_bytes * 8);
+ pk_mpi = _gcry_mpi_set_opaque_copy (pk_mpi, pk, param.public_key_bytes * 8);
+
+ if (!ec)
+ {
+ ec = sexp_build (r_skey,
+ NULL,
+ "(key-data"
+ " (public-key"
+ " (mlkem(p%m) (nbits%u)))"
+ " (private-key"
+ " (mlkem(s%m) (nbits%u))))",
+ pk_mpi,
+ nbits,
+ sk_mpi,
+ nbits,
+ NULL);
+ }
+ /* call the key check function for now so that we know that it is working: */
+ ec = mlkem_check_secret_key (*r_skey);
+ if (ec)
+ {
+ goto leave;
+ }
+leave:
+ _gcry_mpi_release (sk_mpi);
+ _gcry_mpi_release (pk_mpi);
+ xfree (sk);
+ xfree (pk);
+ return ec;
+}
+
+
+static gcry_err_code_t
+mlkem_encap (gcry_sexp_t *r_ciph,
+ gcry_sexp_t *r_shared_key,
+ gcry_sexp_t keyparms)
+{
+
+ gpg_err_code_t ec = 0;
+ unsigned char *ciphertext = NULL, *public_key = NULL, *shared_secret = NULL;
+
+ gcry_mlkem_param_t param;
+
+ shared_secret = xtrymalloc_secure (GCRY_MLKEM_SSBYTES);
+
+ if (!shared_secret)
+ {
+ ec = gpg_err_code_from_syserror ();
+ goto leave;
+ }
+ ec = mlkem_params_from_key_param (keyparms, ¶m, NULL);
+ if (ec)
+ {
+ goto leave;
+ }
+
+ ciphertext = xtrymalloc (param.ciphertext_bytes);
+
+ /* Extract the public key MPI from the SEXP. */
+ ec = public_key_from_sexp (keyparms, param, &public_key);
+ if (ec)
+ {
+ goto leave;
+ }
+ ec = _gcry_mlkem_kem_enc (ciphertext, shared_secret, public_key, ¶m);
+ if (ec)
+ {
+ goto leave;
+ }
+
+
+ ec = sexp_build (r_shared_key,
+ NULL,
+ "(value %b)",
+ (int)GCRY_MLKEM_SSBYTES,
+ shared_secret);
+ if (ec)
+ {
+ goto leave;
+ }
+
+ ec = sexp_build (r_ciph,
+ NULL,
+ "(ciphertext (mlkem(c %b)))",
+ (int)param.ciphertext_bytes,
+ ciphertext);
+
+leave:
+ xfree (shared_secret);
+ xfree (public_key);
+ xfree (ciphertext);
+ return ec;
+}
+
+
+static gcry_err_code_t
+mlkem_decrypt (gcry_sexp_t *r_plain, gcry_sexp_t s_data, gcry_sexp_t keyparms)
+{
+ gcry_mlkem_param_t param;
+ gpg_err_code_t ec = 0;
+ unsigned char *private_key = NULL, *ciphertext = NULL, *shared_secret = NULL;
+
+ shared_secret = xtrymalloc_secure (GCRY_MLKEM_SSBYTES);
+
+ if (!shared_secret)
+ {
+ ec = gpg_err_code_from_syserror ();
+ goto leave;
+ }
+
+ ec = mlkem_params_from_key_param (keyparms, ¶m, NULL);
+ if (ec)
+ {
+ goto leave;
+ }
+
+ /* Extract the key MPI from the SEXP. */
+ ec = private_key_from_sexp (keyparms, param, &private_key);
+ if (ec)
+ {
+ goto leave;
+ }
+
+ /* Extract the key Ciphertext from the SEXP. */
+ ec = ciphertext_from_sexp (s_data, param, &ciphertext);
+ if (ec)
+ {
+ goto leave;
+ }
+
+ /* perform the decryption */
+ ec = _gcry_mlkem_kem_dec (shared_secret, ciphertext, private_key, ¶m);
+ if (ec)
+ {
+ goto leave;
+ }
+
+ ec = sexp_build (
+ r_plain, NULL, "(value %b)", (int)GCRY_MLKEM_SSBYTES, shared_secret);
+leave:
+ xfree (shared_secret);
+ xfree (ciphertext);
+ xfree (private_key);
+ return ec;
+}
+
+
+static unsigned int
+mlkem_get_nbits (gcry_sexp_t parms)
+{
+ gpg_err_code_t ec;
+ unsigned int nbits;
+ ec = _gcry_pk_util_get_nbits (parms, &nbits);
+ if (ec)
+ {
+ return 0;
+ }
+ return nbits;
+}
+
+
+static const char *mlkem_names[] = {
+ "mlkem",
+ "openpgp-mlkem", // ? leave?
+ NULL,
+};
+
+gcry_pk_spec_t _gcry_pubkey_spec_mlkem = {
+ GCRY_PK_MLKEM,
+ {0, 1},
+ (GCRY_PK_USAGE_ENCAP),
+ "ML-KEM",
+ mlkem_names,
+ "p",
+ "s",
+ "a",
+ "",
+ "", // elements of pub-key, sec-key, ciphertext, signature, key-grip
+ mlkem_generate,
+ mlkem_check_secret_key,
+ NULL, // encrypt
+ mlkem_encap,
+ mlkem_decrypt,
+ NULL, // sign
+ NULL, // verify
+ mlkem_get_nbits,
+ NULL, // run_selftests
+ NULL, // compute_keygrip
+ NULL, // get_curve
+ NULL // get_curve_param
+};
diff --git a/cipher/pubkey.c b/cipher/pubkey.c
index d8f68a08..dc1ebbbe 100644
--- a/cipher/pubkey.c
+++ b/cipher/pubkey.c
@@ -47,6 +47,9 @@ static gcry_pk_spec_t * const pubkey_list[] =
#endif
#if USE_ELGAMAL
&_gcry_pubkey_spec_elg,
+#endif
+#if USE_MLKEM
+ &_gcry_pubkey_spec_mlkem,
#endif
NULL
};
@@ -339,6 +342,54 @@ _gcry_pk_encrypt (gcry_sexp_t *r_ciph, gcry_sexp_t s_data, gcry_sexp_t s_pkey)
}
+/*
+ Do a PK encapsulate operation
+
+ The function returns a sexp which may be
+ passed to to pk_decrypt.
+
+ Returns: 0 or an errorcode.
+
+// TODOMTG:
+ s_data = See comment for _gcry_pk_util_data_to_mpi
+ s_pkey = <key-as-defined-in-sexp_to_key>
+ r_ciph = (enc-val
+ (<algo>
+ (<param_name1> <mpi>)
+ ...
+ (<param_namen> <mpi>)
+ ))
+
+*/
+gcry_err_code_t
+_gcry_pk_encap(gcry_sexp_t *r_ciph, gcry_sexp_t* r_shared_key, gcry_sexp_t s_pkey)
+{
+ gcry_err_code_t rc;
+ gcry_pk_spec_t *spec;
+ gcry_sexp_t keyparms;
+
+ *r_ciph = NULL;
+ *r_shared_key = NULL;
+
+ rc = spec_from_sexp (s_pkey, 0, &spec, &keyparms);
+ if (rc)
+ goto leave;
+
+ if (spec->flags.disabled)
+ rc = GPG_ERR_PUBKEY_ALGO;
+ else if (!spec->flags.fips && fips_mode ())
+ rc = GPG_ERR_PUBKEY_ALGO;
+ else if (spec->encap)
+ rc = spec->encap(r_ciph, r_shared_key, keyparms);
+ else
+ rc = GPG_ERR_NOT_IMPLEMENTED;
+
+ leave:
+ sexp_release (keyparms);
+ return rc;
+}
+
+
/*
Do a PK decrypt operation
diff --git a/cipher/rsa.c b/cipher/rsa.c
index 45523e6b..9fda53c4 100644
--- a/cipher/rsa.c
+++ b/cipher/rsa.c
@@ -2226,6 +2226,7 @@ gcry_pk_spec_t _gcry_pubkey_spec_rsa =
rsa_generate,
rsa_check_secret_key,
rsa_encrypt,
+ NULL,
rsa_decrypt,
rsa_sign,
rsa_verify,
diff --git a/configure.ac b/configure.ac
index 4f7c3a52..557b014d 100644
--- a/configure.ac
+++ b/configure.ac
@@ -216,7 +216,7 @@ available_ciphers="$available_ciphers sm4 aria"
enabled_ciphers=""
# Definitions for public-key ciphers.
-available_pubkey_ciphers="dsa elgamal rsa ecc"
+available_pubkey_ciphers="dsa elgamal rsa ecc mlkem"
enabled_pubkey_ciphers=""
# Definitions for message digests.
@@ -3339,6 +3339,13 @@ if test "$found" = "1" ; then
AC_DEFINE(USE_RSA, 1, [Defined if this module should be included])
fi
+LIST_MEMBER(mlkem, $enabled_pubkey_ciphers)
+AM_CONDITIONAL(USE_MLKEM, [test "$found" = "1"])
+if test "$found" = "1" ; then
+ GCRYPT_PUBKEY_CIPHERS="$GCRYPT_PUBKEY_CIPHERS mlkem.lo mlkem-common.lo mlkem-ntt.lo mlkem-poly.lo mlkem-polyvec.lo mlkem-symmetric.lo mlkem-cbd.lo mlkem-aux.lo"
+ AC_DEFINE(USE_MLKEM, 1, [Defined if this module should be included])
+fi
+
LIST_MEMBER(elgamal, $enabled_pubkey_ciphers)
AM_CONDITIONAL(USE_ELGAMAL, [test "$found" = "1"])
if test "$found" = "1" ; then
diff --git a/doc/gcrypt.texi b/doc/gcrypt.texi
index e31c9019..8fdaf781 100644
--- a/doc/gcrypt.texi
+++ b/doc/gcrypt.texi
@@ -2881,7 +2881,35 @@ Where @var{a-mpi} and @var{b-mpi} are MPIs with the result of the
Elgamal encryption operation.
@end deftypefun
@c end gcry_pk_encrypt
+ at deftypefun gcry_error_t gcry_pk_encap (@w{gcry_sexp_t *@var{r_ciph},} @w{gcry_sexp_t* @var{r_shared_key},} @w{gcry_sexp_t @var{pkey}})
+
+
+This function performs KEM encapsulation which accepts a public
+key (PKEY) and outputs the ciphertext (R_CIPH) and the shared key
+(R_SHARED_KEY) that is encrypted by it. It is expected as an
+appropriate S-expression (see above) in PKEY.
+
+If the function could successfully perform the encryption, the
+return value will be 0 and a new S-expression with the encrypted
+result and the shared key are allocated and assigned to the variable
+at the address of R_CIPH. The caller is responsible to release these
+values using 'gcry_sexp_release'. In case of an error, an error code
+is returned and R_CIPH and R_SHARED_KEY will be set to 'NULL'.
+
+The returned S-expression for the ciphertext has this format when used with ML-KEM:
+ at example
+ (value @var{mpi}))
+ at end example
+
+
+The returned S-expression for the shared key has this format when used with ML-KEM:
+ at example
+ (value @var{mpi}))
+ at end example
+
+ at end deftypefun
+ at c end gcry_pk_encap
@deftypefun gcry_error_t gcry_pk_decrypt (@w{gcry_sexp_t *@var{r_plain},} @w{gcry_sexp_t @var{data},} @w{gcry_sexp_t @var{skey}})
Obviously a private key must be provided for decryption. It is expected
diff --git a/src/cipher-proto.h b/src/cipher-proto.h
index 2d03ed7d..bd377471 100644
--- a/src/cipher-proto.h
+++ b/src/cipher-proto.h
@@ -58,6 +58,12 @@ typedef gcry_err_code_t (*gcry_pk_encrypt_t) (gcry_sexp_t *r_ciph,
gcry_sexp_t s_data,
gcry_sexp_t keyparms);
+
+/* Type for the pk_encap function for KEM encapsulation. */
+typedef gcry_err_code_t (*gcry_pk_encap_t) (gcry_sexp_t *r_ciph,
+ gcry_sexp_t* shared_key,
+ gcry_sexp_t keyparms);
+
/* Type for the pk_decrypt function. */
typedef gcry_err_code_t (*gcry_pk_decrypt_t) (gcry_sexp_t *r_plain,
gcry_sexp_t s_data,
@@ -108,6 +114,7 @@ typedef struct gcry_pk_spec
gcry_pk_generate_t generate;
gcry_pk_check_secret_key_t check_secret_key;
gcry_pk_encrypt_t encrypt;
+ gcry_pk_encap_t encap;
gcry_pk_decrypt_t decrypt;
gcry_pk_sign_t sign;
gcry_pk_verify_t verify;
diff --git a/src/cipher.h b/src/cipher.h
index 3c48c2c5..e13dc735 100644
--- a/src/cipher.h
+++ b/src/cipher.h
@@ -220,6 +220,7 @@ extern gcry_pk_spec_t _gcry_pubkey_spec_elg;
extern gcry_pk_spec_t _gcry_pubkey_spec_elg_e;
extern gcry_pk_spec_t _gcry_pubkey_spec_dsa;
extern gcry_pk_spec_t _gcry_pubkey_spec_ecc;
+extern gcry_pk_spec_t _gcry_pubkey_spec_mlkem;
#endif /*G10_CIPHER_H*/
diff --git a/src/gcrypt-int.h b/src/gcrypt-int.h
index ba52fa8e..7e99957e 100644
--- a/src/gcrypt-int.h
+++ b/src/gcrypt-int.h
@@ -95,6 +95,7 @@ size_t _gcry_cipher_get_algo_blklen (int algo);
gpg_err_code_t _gcry_pk_encrypt (gcry_sexp_t *result,
gcry_sexp_t data, gcry_sexp_t pkey);
+gpg_err_code_t _gcry_pk_encap(gcry_sexp_t *r_ciph, gcry_sexp_t* shared_key, gcry_sexp_t s_pkey);
gpg_err_code_t _gcry_pk_decrypt (gcry_sexp_t *result,
gcry_sexp_t data, gcry_sexp_t skey);
gpg_err_code_t _gcry_pk_sign (gcry_sexp_t *result,
diff --git a/src/gcrypt.h.in b/src/gcrypt.h.in
index 7dc1196b..85beeaf2 100644
--- a/src/gcrypt.h.in
+++ b/src/gcrypt.h.in
@@ -277,6 +277,7 @@ enum gcry_ctl_cmds
GCRYCTL_DUMP_MEMORY_STATS = 23,
GCRYCTL_INIT_SECMEM = 24,
GCRYCTL_TERM_SECMEM = 25,
+ GCRYCTL_RST_SECMEM_PEAK_USG = 26,
GCRYCTL_DISABLE_SECMEM_WARN = 27,
GCRYCTL_SUSPEND_SECMEM_WARN = 28,
GCRYCTL_RESUME_SECMEM_WARN = 29,
@@ -1056,6 +1057,7 @@ gcry_error_t gcry_cipher_encrypt (gcry_cipher_hd_t h,
void *out, size_t outsize,
const void *in, size_t inlen);
+
/* The counterpart to gcry_cipher_encrypt. */
gcry_error_t gcry_cipher_decrypt (gcry_cipher_hd_t h,
void *out, size_t outsize,
@@ -1150,7 +1152,8 @@ enum gcry_pk_algos
GCRY_PK_ELG = 20, /* Elgamal */
GCRY_PK_ECDSA = 301, /* (only for external use). */
GCRY_PK_ECDH = 302, /* (only for external use). */
- GCRY_PK_EDDSA = 303 /* (only for external use). */
+ GCRY_PK_EDDSA = 303, /* (only for external use). */
+ GCRY_PK_MLKEM = 401 /* ML-KEM (Crystals-Kyber) */
};
/* Flags describing usage capabilities of a PK algorithm. */
@@ -1158,6 +1161,7 @@ enum gcry_pk_algos
#define GCRY_PK_USAGE_ENCR 2 /* Good for encryption. */
#define GCRY_PK_USAGE_CERT 4 /* Good to certify other keys. */
#define GCRY_PK_USAGE_AUTH 8 /* Good for authentication. */
+#define GCRY_PK_USAGE_ENCAP 16 /* Good for KEM encapsulation. */
#define GCRY_PK_USAGE_UNKN 128 /* Unknown usage flag. */
/* Modes used with gcry_pubkey_get_sexp. */
@@ -1169,6 +1173,11 @@ enum gcry_pk_algos
gcry_error_t gcry_pk_encrypt (gcry_sexp_t *result,
gcry_sexp_t data, gcry_sexp_t pkey);
+/* Encrypt a newly generated random SHARED_KEY to the ciphertext CIPH using the public key PKEY. */
+gcry_error_t gcry_pk_encap(gcry_sexp_t *r_ciph,
+ gcry_sexp_t* r_shared_key, gcry_sexp_t pkey);
+
+
/* Decrypt the DATA using the private key SKEY and store the result as
a newly created S-expression at RESULT. */
gcry_error_t gcry_pk_decrypt (gcry_sexp_t *result,
diff --git a/src/global.c b/src/global.c
index ca35cf6d..ac943a6b 100644
--- a/src/global.c
+++ b/src/global.c
@@ -550,6 +550,10 @@ _gcry_vcontrol (enum gcry_ctl_cmds cmd, va_list arg_ptr)
_gcry_secmem_dump_stats (0);
break;
+ case GCRYCTL_RST_SECMEM_PEAK_USG:
+ _gcry_secmem_reset_peak();
+ break;
+
case GCRYCTL_DROP_PRIVS:
global_init ();
_gcry_secmem_init (0);
diff --git a/src/libgcrypt.def b/src/libgcrypt.def
index 8fc5767d..83afca39 100644
--- a/src/libgcrypt.def
+++ b/src/libgcrypt.def
@@ -147,6 +147,7 @@ EXPORTS
gcry_pk_map_name @114
gcry_pk_get_nbits @115
gcry_pk_get_keygrip @116
+ gcry_pk_encap @117
;; @117 used to be part of the module register interface
diff --git a/src/libgcrypt.vers b/src/libgcrypt.vers
index 8927d48d..4b5014a8 100644
--- a/src/libgcrypt.vers
+++ b/src/libgcrypt.vers
@@ -59,7 +59,7 @@ GCRYPT_1.6 {
gcry_mac_write; gcry_mac_read; gcry_mac_verify; gcry_mac_ctl;
gcry_pk_algo_info; gcry_pk_algo_name; gcry_pk_ctl;
- gcry_pk_decrypt; gcry_pk_encrypt; gcry_pk_genkey;
+ gcry_pk_decrypt; gcry_pk_encrypt; gcry_pk_genkey; gcry_pk_encap;
gcry_pk_get_keygrip; gcry_pk_get_nbits;
gcry_pk_map_name; gcry_pk_register; gcry_pk_sign;
gcry_pk_testkey; gcry_pk_verify;
diff --git a/src/secmem.c b/src/secmem.c
index d15b6c3b..ea148c09 100644
--- a/src/secmem.c
+++ b/src/secmem.c
@@ -45,7 +45,7 @@
#endif
#define MINIMUM_POOL_SIZE 16384
-#define STANDARD_POOL_SIZE 32768
+#define STANDARD_POOL_SIZE 65536
#define DEFAULT_PAGE_SIZE 4096
typedef struct memblock
@@ -82,6 +82,8 @@ typedef struct pooldesc_s
/* The number of allocated bytes and the number of used blocks in
* this pool. */
unsigned int cur_alloced, cur_blocks;
+
+ unsigned int peak_alloced;
} pooldesc_t;
@@ -176,6 +178,7 @@ stats_update (pooldesc_t *pool, size_t add, size_t sub)
pool->cur_alloced -= sub;
pool->cur_blocks--;
}
+ pool->peak_alloced = pool->cur_alloced > pool->peak_alloced ? pool->cur_alloced : pool->peak_alloced;
}
/* Return the block following MB or NULL, if MB is the last block. */
@@ -869,6 +872,15 @@ _gcry_secmem_dump_stats (int extended)
}
+void
+_gcry_secmem_reset_peak()
+{
+ SECMEM_LOCK;
+ mainpool.peak_alloced = mainpool.cur_alloced;
+ SECMEM_UNLOCK;
+}
+
+
static void
secmem_dump_stats_internal (int extended)
{
@@ -881,10 +893,10 @@ secmem_dump_stats_internal (int extended)
if (!extended)
{
if (pool->okay)
- log_info ("%-13s %u/%lu bytes in %u blocks\n",
+ log_info ("%-13s %u/%lu bytes in %u blocks, peak usage was %u bytes\n",
pool == &mainpool? "secmem usage:":"",
pool->cur_alloced, (unsigned long)pool->size,
- pool->cur_blocks);
+ pool->cur_blocks, pool->peak_alloced);
}
else
{
diff --git a/src/secmem.h b/src/secmem.h
index 4dd5c318..0a7ba5e6 100644
--- a/src/secmem.h
+++ b/src/secmem.h
@@ -31,6 +31,7 @@ void _gcry_secmem_set_auto_expand (unsigned int chunksize);
void _gcry_secmem_set_flags (unsigned flags);
unsigned _gcry_secmem_get_flags(void);
int _gcry_private_is_secure (const void *p);
+void _gcry_secmem_reset_peak(void);
/* Flags for _gcry_secmem_{set,get}_flags. */
#define GCRY_SECMEM_FLAG_NO_WARNING (1 << 0)
diff --git a/src/visibility.c b/src/visibility.c
index 9b29c4f1..23c1e8c9 100644
--- a/src/visibility.c
+++ b/src/visibility.c
@@ -1024,6 +1024,18 @@ gcry_pk_encrypt (gcry_sexp_t *result, gcry_sexp_t data, gcry_sexp_t pkey)
return gpg_error (_gcry_pk_encrypt (result, data, pkey));
}
+gcry_error_t
+gcry_pk_encap(gcry_sexp_t *r_ciph, gcry_sexp_t* r_shared_key, gcry_sexp_t pkey)
+{
+ if (!fips_is_operational ())
+ {
+ *r_ciph = NULL;
+ *r_shared_key = NULL;
+ return gpg_error (fips_not_operational ());
+ }
+ return gpg_error (_gcry_pk_encap(r_ciph, r_shared_key, pkey));
+}
+
gcry_error_t
gcry_pk_decrypt (gcry_sexp_t *result, gcry_sexp_t data, gcry_sexp_t skey)
{
diff --git a/src/visibility.h b/src/visibility.h
index 6aef3278..5bf6d838 100644
--- a/src/visibility.h
+++ b/src/visibility.h
@@ -157,6 +157,7 @@ MARK_VISIBLEX (gcry_pk_algo_name)
MARK_VISIBLEX (gcry_pk_ctl)
MARK_VISIBLEX (gcry_pk_decrypt)
MARK_VISIBLEX (gcry_pk_encrypt)
+MARK_VISIBLEX (gcry_pk_encap)
MARK_VISIBLEX (gcry_pk_genkey)
MARK_VISIBLEX (gcry_pk_get_keygrip)
MARK_VISIBLEX (gcry_pk_get_curve)
@@ -365,6 +366,7 @@ MARK_VISIBLEX (_gcry_mpi_get_const)
#define gcry_pk_ctl _gcry_USE_THE_UNDERSCORED_FUNCTION
#define gcry_pk_decrypt _gcry_USE_THE_UNDERSCORED_FUNCTION
#define gcry_pk_encrypt _gcry_USE_THE_UNDERSCORED_FUNCTION
+#define gcry_pk_encap _gcry_USE_THE_UNDERSCORED_FUNCTION
#define gcry_pk_genkey _gcry_USE_THE_UNDERSCORED_FUNCTION
#define gcry_pk_get_keygrip _gcry_USE_THE_UNDERSCORED_FUNCTION
#define gcry_pk_get_curve _gcry_USE_THE_UNDERSCORED_FUNCTION
diff --git a/tests/Makefile.am b/tests/Makefile.am
index 9920bae8..5599cb6a 100644
--- a/tests/Makefile.am
+++ b/tests/Makefile.am
@@ -31,6 +31,10 @@ if USE_RSA
tests_bin += pkcs1v2 t-rsa-pss t-rsa-15 t-rsa-testparm
endif
+if USE_MLKEM
+tests_bin += mlkem-test
+endif
+
if USE_DSA
tests_bin += fips186-dsa dsa-rfc6979 t-dsa
endif
@@ -83,7 +87,8 @@ EXTRA_DIST = README rsa-16k.key \
t-ed25519.inp t-ed448.inp t-dsa.inp t-ecdsa.inp t-rsa-15.inp \
t-rsa-pss.inp stopwatch.h hashtest-6g.in hashtest-256g.in \
sha3-224.h sha3-256.h sha3-384.h sha3-512.h blake2b.h blake2s.h \
- basic-disable-all-hwf.in basic_all_hwfeature_combinations.sh
+ basic-disable-all-hwf.in basic_all_hwfeature_combinations.sh \
+ test-utils.h
LDADD = $(standard_ldadd) $(GPG_ERROR_LIBS) @LDADD_FOR_TESTS_KLUDGE@
pkbench_LDADD = $(standard_ldadd) @LDADD_FOR_TESTS_KLUDGE@
diff --git a/tests/keygen.c b/tests/keygen.c
index eb388374..56786a67 100644
--- a/tests/keygen.c
+++ b/tests/keygen.c
@@ -256,6 +256,31 @@ check_rsa_keys (void)
}
+static void
+check_mlkem_keys (void)
+{
+#if USE_MLKEM
+ gcry_sexp_t keyparm, key;
+ int rc;
+
+ if (verbose)
+ info ("creating ML-KEM-768 key\n");
+ rc = gcry_sexp_new (&keyparm,
+ "(genkey\n"
+ " (mlkem\n"
+ " (nbits 3:192)\n"
+ " ))", 0, 1);
+ if (rc)
+ die ("error creating S-expression: %s\n", gpg_strerror (rc));
+ rc = gcry_pk_genkey (&key, keyparm);
+ gcry_sexp_release (keyparm);
+ if (rc)
+ die ("error generating ML-KEM key: %s\n", gpg_strerror (rc));
+
+#endif /* USE_MLKEM */
+}
+
+
static void
check_elg_keys (void)
{
@@ -758,6 +783,7 @@ main (int argc, char **argv)
check_elg_keys ();
check_dsa_keys ();
check_ecc_keys ();
+ check_mlkem_keys ();
check_nonce ();
}
else
@@ -771,6 +797,8 @@ main (int argc, char **argv)
check_dsa_keys ();
else if (!strcmp (*argv, "ecc"))
check_ecc_keys ();
+ else if (!strcmp (*argv, "mlkem"))
+ check_mlkem_keys ();
else if (!strcmp (*argv, "nonce"))
check_nonce ();
else
diff --git a/tests/mlkem-1024_ref.inp b/tests/mlkem-1024_ref.inp
new file mode 100644
index 00000000..b1fab113
--- /dev/null
+++ b/tests/mlkem-1024_ref.inp
@@ -0,0 +1,495 @@
+7f9c2ba4e88f827d616045507605853ed73b8093f6efbc88eb1a6eacfa66ef263cb1eea988004b93103cfb0aeefd2a686e01fa4a58e8a3639ca8a1e3f9ae57e2
+Public Key: 780c725a25151f1b09e9c71d26975dd65220e059ca526b6e6f874aa5e8b62297ce0f037da312a86a05131f2923d49928b7450ecbe996d8aa21ae6a25a9e44d4b8c991bccc59d6313a61c652bf904790a063cb84b1d870b11828c6c8c7df7632dcf717d5ae33e4d487a25637e4d030e0a76b21a2142eac1024fc5a4603ca08d1081c954c8a9368e7011169a00a4994a56f9fbaecccb022775c9a2679dca6453eb7b90db61354980c03cf17a7405140497b23aa996d637a4cc027c5e3911de634e3ea65ab49455efc253261ab85efc5a55ba703a8a0c1c789d94bcadec88b319bb6918354eb33498d6680d2197206c35820b7b193952b4c6e81d7222844ba31bf446a93e817be86b7b406165ad9b45bff86304d3546092cdd1113e49a1be90e388d0a0155de603b906ccb8870ae162b231fa3ee4f20163cb0322d23a2b217fccfacf4a6324eee4b853b42209e44786ccae52571282d238a85b838d4787a1852cc28561384b201b13a2df710c7c4c3aaaeb7fded4620afb43fcc8167914c7d9a3176222007975c4b378ce7cd47135c072ddf03cc69b7bbcc3bbc737433ee05090c324835a5c5b9162b8cb2bc8c409b0682322f45d36626fbc58c0ee34054343507b20b79b2a00c929213487bd84072303023f65b8c68f3c5c6ffca1f7a77a3d1a0da8a237a30518ecc8a5b73c20c8354fe0167bd39c64f0720503f711fe1839445768504548b3b87a0deab387507dd80a4cce69994a652a362366be86a2f75182f278796f672525e23c83271be4265cd6288035b49e365224ed1405b1214f45db48dd28c8f3138224ea177dcc56720bbf754c2d5304148a95c4e724760e0166b9104bb0970e90f20f32aa75c838c6f29321bf161a0cb518903ba3b53a9caf5234d2b24ecef2cfb560201f738908099ec4ca90bf2551c7449215b32b8816bedbf69d816b583854ce85dc729e820accf15efe9c7fad724a654338d3a36eb1a116c20aad05046d2bfa4481d0a5e1c29315e94d85e16d344892c73a66a0d10e924c2e3c650648da8751465aa5913a92884fd3873491db5b9e108360cc8d33e08e508375ad36a90df865cdb11a617cb82bb0940b6063331200c0185f7ff8515d554bd9c71a3b97706268a14c60382dd169f7762969681d0d759c497b86baca5082a31d3db4978887172bab9573fab18b4198cb71cfc25c9396a0976863348d13287f36bb016a7cc031169f629eb3d447521b7d9b3b22e68ab8f4089077e35c874843bc55556f2508502c8aeaa931c9d3519d1355bce3ad87d719a3030c5441b498e4779261ca64fa24e4fb04fb98751c8848fe847a84704333700516a349f00ccf90506e725a5dd9e46d9bd83f8a2b8c89f957a316a9f6bc21a0e69c1ea42f975756580a8b5c378b8332127f6a5d94b639ead24fa0c80b0ff1bde9294111c1c0eab00f796a9d6882164d246de3f91c83583e551970e633cd3fd00fe2624ff0bb9e2d461e0aa760e8f7b9935b7fadda8e14a2024238578b34b0ef7c9f8178ba90b4cc73d90fdcf2b65102a7f6abcba83492f109500c4b166538099045c5d50bd0c7d73e9046317ea19819b34002cc0ec6691f36f064a6880cfbe450887b38498932402561222325d1e808e804aa544444407c944461b326f78f66399d920b2271f357299472e0f41ad7c727722413095978afb80e889b2d52873ce1747b98f29b75b103838b84ebaa979bab1cbb8317a5d36251073ab5ba0047b9bddd75b38bb01459d6210eb613ee260425045e2ebaadb95884c5a20cb6fa73a6f4280ae51ff9dc5b8492c21af36fbd49a70b06a698aa032763464886aeac2170fd4bb8080355c6a5abfa8345aeb72e0df67ce01835b294408231b7ae4581a5d82b58b631d041939d04b31ff0add36a4f00a7adde9b27f6f1c154400a2f8854865c5005fc2158226cc263532005c9b7165bf52c72ec372ebc15bb5621003d16791f6671f4f9cbc463171e101009e4bbc5d1aa54634e73c77b00684209d49c3a616969231dec430e5989aa6800185ab7b6e14080740617456ab7b9dbce4ac1017d2c6f823cce5df3a0bc3585cbc97d771437d01b485fa40ea04871ba59b89b22b59de2ae7c9648ef3206dbdb9502856868635a224239a1db01e9076e15882baa050943921d241297f172694cfa93f56ee922c7d660937b5937c3074d62968f006d1211c60296685953e5de
+Secret Key: 24c59d1c7603e7b74bc7aa1bc2cb3a214b3cfaebb63bd85b65408427c498ba394371bb271f92a3b506b81d54a95a7c0ddfbaa1519553d6f3cd5a601b7db6b0e91a5149468f1f68ad26478bf3c6670e093ac4c49e7a90ba46595de94c50e04129a811a841b39534a87f0ae7b1116553e20c9a566b9b8ff7c7e728b8b201893403a4f252a55230874c256b897834cda349807b25cbd75a30867bfb80328200017f1cb70b56cc546b65d3dc9cdb45107cf10dba349619043ac35c0b9546309a239039813ed5c40f353a5e8e42193564496112bda56cb38c081df252ae9c2c7e441a062e92a7c8da7a240c9952d86b5f1bb6a53b38a5ac0a54a84b43f12da1d0525655684a12090b60b28b0c628db092015547d1070af5d6192e639636615d03c654bb90008ca15b784119f6178a00d7bef4a54a274ac922e55c61a3a8840aa258639484a3bce2e43b6c969b11275631daa129a61ea0e2939f0877e1a110c8a44b24c54fbb07a958db9feeca1eb52b086c87bf43a9b02a5b2c4762117c3a99ae4c4e2eaa7a33b9a714737215c10317514f6c4299ef92acd64c4858e85ce737a801890022d7381f3540230c0c8ef50a848a28b09ba0bf8b50619c905751601d7629767449c9c0b2bae321f438a77f412a55e45ecab4b39053c6561801c639be6495be8fa144ef6029af663407ca9181946de5f3aec7236343ab3bc5a38a09c01b412baf0afb23f9e9b8f2b40810f2ce4ffbcdbfd87972323e98065160bcba34b3afd6c25b664745fca99a9ea75cef019d768485ec23336d9b39e4d05d8d587b30633d4f69ade5753a39680235e44f27995da96798f3a85e184a9fad19320829629f4140417bb7dbf5851ab79258134146d088452774991a087a1c2beaea89f218087ba774ae253b494c27750b1de04b44d953c5e47ab10f65205ee212f9c30391e5299553954916873a0b41164543e801c0b099cb44f48995675823c10b40f4bbac9177a558ca0c30765c2aabfd6a4da54c8413e33902d63f064330f0464982429de2604cd03b4de84a9f821a5470423a40a964dcc41863363d77b02c3127304f942ee71c98c643a427533ef300104948b825277953aaabfd855588f75a77d199a213ad348116e9e539f6d37068a551c710548b7a2c7ee95f9cd9b3483332673cc44bcb18a778a49455c768e0b340f81102ac6b76b064057151ef101ae143787f548553558df8035a3ce00c9c43cda43142cca39034b09a7e6089867b4c64980a69ecab2e6818724c35cb909d5d45bc6a349c71b306567664adc0cc8ef698049b4b4b432dd0f69fac07580f77c4f79b22bb90cb97b341880716853431694c9120f6724ad58d57127fced999ff6229a5d4c3c240129cc812acc73698f949d8e73661f2528262bfccfa5cdf5a2104649806e295ea161217083365aa26cee6ae2f1356e8e1c5cefcc85703447ef1160a1b4a0e8c017b173802c66c88ab70d39a6c96c1569d5a86245a7eeb087d682219080768745b44bf244f65b567b2658dbae6962ba52b322118e214cfadd7cf3502582dc9cafba952a9637ad3600710259778d99d23f8235da90791604b4f0a4f7640680f59b633d93dfb84282ba54c674b115684a4ac1461a4c880e305116c5354ffdbbaebe0c067b63240b96c47f27e9c8129c6183ad904785c486999b7aa8c1c8029153ae73bae6997558990998b809a25f86092b1267e70983aa7cd0fe8c19091c0b780c95f2632f5eaaf49fb4abd60c976942b4e0cd0ef17711ac5388beab01da0883b8c4c9a286701e36e54c46aeee0847a2308909b8ddb3c7b37b9ceb0334bbd3b4000db0980b81cfe7857dd543b09d71c98c0aa12d658ddd93948bb7f4c874e449ba6ee0c4fc94a70ee353580b19a04693cc6f480abf96db4305ecc031906c9b4cc167c9c932ad5203ddf143111e6463739c337a2426a01c88340785638b05df5b81084885c8103289142e4bc6bb89598f85b852ca72594e732010860bca635418984fe8631b6d5b514f38128800f7feac7effb1e072a4d0ce336ec9769690c80c9579e1ff3893daa1c5b11552aec0ca3b37ab3927674778b4b3367542926d70bbba796b409330f06acc913b04b45c81ed5dc8abc2629eef92c712c0b9b22a6f8252e7ca148c955cfab8017b9077fdd18a2780c725a25151f1b09e9c71d26975dd65220e059ca526b6e6f874aa5e8b62297ce0f037da312a86a05131f2923d49928b7450ecbe996d8aa21ae6a25a9e44d4b8c991bccc59d6313a61c652bf904790a063cb84b1d870b11828c6c8c7df7632dcf717d5ae33e4d487a25637e4d030e0a76b21a2142eac1024fc5a4603ca08d1081c954c8a9368e7011169a00a4994a56f9fbaecccb022775c9a2679dca6453eb7b90db61354980c03cf17a7405140497b23aa996d637a4cc027c5e3911de634e3ea65ab49455efc253261ab85efc5a55ba703a8a0c1c789d94bcadec88b319bb6918354eb33498d6680d2197206c35820b7b193952b4c6e81d7222844ba31bf446a93e817be86b7b406165ad9b45bff86304d3546092cdd1113e49a1be90e388d0a0155de603b906ccb8870ae162b231fa3ee4f20163cb0322d23a2b217fccfacf4a6324eee4b853b42209e44786ccae52571282d238a85b838d4787a1852cc28561384b201b13a2df710c7c4c3aaaeb7fded4620afb43fcc8167914c7d9a3176222007975c4b378ce7cd47135c072ddf03cc69b7bbcc3bbc737433ee05090c324835a5c5b9162b8cb2bc8c409b0682322f45d36626fbc58c0ee34054343507b20b79b2a00c929213487bd84072303023f65b8c68f3c5c6ffca1f7a77a3d1a0da8a237a30518ecc8a5b73c20c8354fe0167bd39c64f0720503f711fe1839445768504548b3b87a0deab387507dd80a4cce69994a652a362366be86a2f75182f278796f672525e23c83271be4265cd6288035b49e365224ed1405b1214f45db48dd28c8f3138224ea177dcc56720bbf754c2d5304148a95c4e724760e0166b9104bb0970e90f20f32aa75c838c6f29321bf161a0cb518903ba3b53a9caf5234d2b24ecef2cfb560201f738908099ec4ca90bf2551c7449215b32b8816bedbf69d816b583854ce85dc729e820accf15efe9c7fad724a654338d3a36eb1a116c20aad05046d2bfa4481d0a5e1c29315e94d85e16d344892c73a66a0d10e924c2e3c650648da8751465aa5913a92884fd3873491db5b9e108360cc8d33e08e508375ad36a90df865cdb11a617cb82bb0940b6063331200c0185f7ff8515d554bd9c71a3b97706268a14c60382dd169f7762969681d0d759c497b86baca5082a31d3db4978887172bab9573fab18b4198cb71cfc25c9396a0976863348d13287f36bb016a7cc031169f629eb3d447521b7d9b3b22e68ab8f4089077e35c874843bc55556f2508502c8aeaa931c9d3519d1355bce3ad87d719a3030c5441b498e4779261ca64fa24e4fb04fb98751c8848fe847a84704333700516a349f00ccf90506e725a5dd9e46d9bd83f8a2b8c89f957a316a9f6bc21a0e69c1ea42f975756580a8b5c378b8332127f6a5d94b639ead24fa0c80b0ff1bde9294111c1c0eab00f796a9d6882164d246de3f91c83583e551970e633cd3fd00fe2624ff0bb9e2d461e0aa760e8f7b9935b7fadda8e14a2024238578b34b0ef7c9f8178ba90b4cc73d90fdcf2b65102a7f6abcba83492f109500c4b166538099045c5d50bd0c7d73e9046317ea19819b34002cc0ec6691f36f064a6880cfbe450887b38498932402561222325d1e808e804aa544444407c944461b326f78f66399d920b2271f357299472e0f41ad7c727722413095978afb80e889b2d52873ce1747b98f29b75b103838b84ebaa979bab1cbb8317a5d36251073ab5ba0047b9bddd75b38bb01459d6210eb613ee260425045e2ebaadb95884c5a20cb6fa73a6f4280ae51ff9dc5b8492c21af36fbd49a70b06a698aa032763464886aeac2170fd4bb8080355c6a5abfa8345aeb72e0df67ce01835b294408231b7ae4581a5d82b58b631d041939d04b31ff0add36a4f00a7adde9b27f6f1c154400a2f8854865c5005fc2158226cc263532005c9b7165bf52c72ec372ebc15bb5621003d16791f6671f4f9cbc463171e101009e4bbc5d1aa54634e73c77b00684209d49c3a616969231dec430e5989aa6800185ab7b6e14080740617456ab7b9dbce4ac1017d2c6f823cce5df3a0bc3585cbc97d771437d01b485fa40ea04871ba59b89b22b59de2ae7c9648ef3206dbdb9502856868635a224239a1db01e9076e15882baa050943921d241297f172694cfa93f56ee922c7d660937b5937c3074d62968f006d1211c60296685953e5dee3f8c83144b3bac8b5a5c98197832b44c8912900853f84b20f8af5fa6fd852543cb1eea988004b93103cfb0aeefd2a686e01fa4a58e8a3639ca8a1e3f9ae57e2
+35b8cc873c23dc62b8d260169afa2f75ab916a58d974918835d25e6a435085b2
+Ciphertext: c4bf255e0cf98925c2b41f9dc08d77171ac5f36328e92e738f5acc24992aedf2e13f316ba7387c9c452f3b99e354c53861eb3b24cd9144662f0cf9adc05be928e15547d05f75e23129a8cba035ad4b877f69f9b5373ad5befdfb1b38275ae4e52faf1dbee305e598e33aaf7ef5335cbe5770c1c3057f8b2ef08dfcc147c0a60d630b8e35a9f9ff1a73645e9f2bde04e2d11fc032cb06a9fdaa3d1ad30e2f38f892ed8eb55264c47a0e5efd62ecba4bb28ce141234370834b733bffa7dceac61aee88a9f1cbcb96447803d22ec303a599ee9e6e676dfce0f973b4b5392cb79e0ff4c5db83c7a279f2f15b3d75c635585ea01ec115d83a3b5e153278142ee3ac136f95b99867b72f2e579b8f376dfeb8def15d3d67b878e065bfe6e89a37f22d9bda53562c3a2e80175df0976cd61bb8db5880256537ac4f0a29a126c733f0567ff0a128f39d2dd479d2b4bc100c7d2d8df4cc8245856ab1854ec0cc78089289f3a4e30be309bb536f44f31b26cfb90f1464f3f887c4dbe465ea15087e7686f91fc68c063c14fd8c0d220dfb245b57c4dde6d72779ad34416b26fd4b8a36a7396efddd41a6284090cf3c2e8680f7b20bd27cf5b46f3ecd1c6d26035749ae22fbcc11dbf239d817bf79a581513752fa73be0c72bec3e09f6be795292c139ad05a147959c9de697025561235d1a522823fdcd874a2e1c027b984621fa63583058af7218670bf6b644699ad4f30eee1d4ab3bf64efb4fac3c94102fec52e453501315d02396eead1e3af7a51791c17165fc6c7ed6d2d5dae1da127fb247ea323804d81d086d23937e89d80455e6a1867be6ce2fb2bcde6a532ecea5265f916042d46f528bf20d92152db2abf509511bb98d54212f74f431fb5e109bd4856555bf13858af941b8bd4f07dc7edf0ffcdd54e09a5f7ddc40e92e8872cd70b9677d46c06dadeafc64756e3cf39b374f8f8ad1f26d8ea857e6dd71f0be3cb20ff9b74f1275a06d96e68528376f9d387449d31fe5416a84808e5941847c8f601def82eb67a7a68a8fae76d24b73dc144252e709ae5edca93341b5292e3f8614ee8810ecf6bda92eefa611943df036e3a5776d4bb5333f80aa4d831bee5ccf71839f484ede07994d5d797474b0a7598f6753476fc9b4df5f602545d3eb713074283f9560c9c7f7593a72452915475b77a885449bedf97d463a396a4122b9753a8396c6b53236a8a4a416851a1751142c6f5a6797b26774acc08767ca6f5610dbf5b2e1fc1daad22c6730ad71d93d9401c84d3e01b9f0cea5d3641f495213adbb31ae70ac07aec735ca493eab5265d4719424d0c5cd6aedaa9f7243656c97d6337c9642f0091e223560e6100c2ce0f4c3aee7ae8d1e7ea3b76141a959b7c49f301c611f7dd544ed87173b87bf9c4092d3ad8987092e8db3af33305cc2211046711701fbbfb913b48052b61fea890e9d459fd6cddc44e48c3e5160bc2b73aade1028e1ecc822b166b3aa95533bd4609acfe9a48b05a99ed707772efa1ca1c2258d525be27bcb68ea28ee9af8f71e0c84d65347bd191d1d78ac1a0c43342efa128cc3c13a3db4f4f74cbb52207b49d1833e715934e41099890d90ac35fe09c2895c9a1d8911831aa6dc2d0ae4f4f2ae719a85ae91d98100252b219c2d25d5ee0ac9d347db36caea693f5540cd3853ddb8cd41e82a756746f486626d04bbab82c60ec711c72484a125622aa1336012e055ff664ce4a525e5dba75adef8238ebda754613420bce2e56ff765254055dd39b8d0cab192dd318f40e520d8358c03986b4c0f726c81cc77d427be7ca0780da03d8b8d9fd0526c4c121641f8935ed84e1c18bd641a8c7cdb45e6aaf66f40ccbeaf9358731ed4c9b93ee3ffaa773467d174283bd5c9b219de9622a0e85206108e1fc580685ce6e5e68a7dbbc013ccfaf99ccd3409eed2f7470b09628bf3f1f2a395601afc582314333012ca51f64ac8b16590c11b7ce15240490b7c44d923b51bc733733f3f390d9dd3ab41725446c522e3320a54483978dc26e9967fb84b24558200126fb05e10410418fb77cdc5a188245b48b6b2f6ffbd519572b00094965172ff7dd4cff1784ae201383df721b36a80d4ef70d2010b7fd3d78f398b193340ea6aee06a86bff4a58fd86c08f6e15f3f37a7209de5d2cec28df1b99f8a5997339de9c23bc05243ff953ffeaab7ca3a079ae03c3ecf5719c
+Shared Secret B: e2bfb012335c40301e970524feb1575e1b561ab5a6ec79b53f7199bbd45abd8e
+Shared Secret A: e2bfb012335c40301e970524feb1575e1b561ab5a6ec79b53f7199bbd45abd8e
+badfd6dfaac359a5efbb7bcc4b59d538df9a04302e10c8bc1cbf1a0b3a5120ea17cda7cfad765f5623474d368ccca8af0007cd9f5e4c849f167a580b14aabdefaee7eef47cb0fca9767be1fda69419dfb927e9df07348b196691abaeb580b32def58538b8d23f87732ea63b02b4fa0f4873360e2841928cd60dd4cee8cc0d4c922a96188d032675c8ac850933c7aff1533b94c834adbb69c6115bad4692d8619f90b0cdf8a7b9c264029ac185b70b83f2801f2f4b3f70c593ea3aeeb613a7f1b1de33fd75081f592305f2e4526edc09631b10958f464d889f31ba010250fda7f1368ec2967fc84ef2ae9aff268e0b1700affc6820b523a3d917135f2dff2ee06bfe72b3124721d4a26c04e53a75e30e73a7a9c4a95d91c55d495e9f51dd0b5e9d83c6d5e8ce803aa62b8d654db53d09b8dcff273cdfeb573fad8bcd45578bec2e770d01efde86e721a3f7c6cce275dabe6e2143f1af18da7efddc4c7b70b5e345db93cc936bea323491ccb38a388f546a9ff00dd4e1300b9b2153d2041d205b443e41b45a653f2a5c4492c1add544512dda2529833462b71a41a45be97290b6f4cffda2cf990051634a4b1edf6114fb49083c1fa3b302ee097f051266be69dc716fdeef91b0d4ab2de525550bf80dc8a684bc3b5a4d46b7efae7afdc6292988dc9acae03f8634486c1abe2781aae4c02f3460d2cd4e6a463a2ba9562ee623cf0e9f82ab4d0b5c9d040a269366479dff0038abfaf2e0ff21f36968972e3f104ddcbe1eb831a87c213162e29b34adfa564d121e9f6e7729f4203fc5c6c22fa7a7350afddb620923a4a129b8acb19ea10f818c30e3b5b1c571fa79e57ee304388316a02fcd93a0d8ee02bb85701ee4ff097534b502c1b12fbb95c8ccb2f548921d99cc7c9fe17ac991b675e631144423eef7a5869168da63d1f4c21f650c02923bfd396ca6a5db541068624cbc5ffe208c0d1a74e1a29618d0bb60036f5249abfa88898e393718d6efab05bb41279efcd4c5a0cc837ccfc22be4f725c081f6aa090749dba7077bae8d41af3fec5a6ee1b8adcd25e72de36434584ef567c643d344294e8b2086b87f69c3bdc0d5969857082987ca1c63b7182e86898fb9b8039e75eda219e289331610369271867b145b2908293963cd677c9a1ae6ceb28289b254cdeb76b12f33ce5cf3743131bfb550f0197bfe16aff92367227adc5074fe3dc0d8d116253980a38636bc9d29f799bbb2d76a0a5f138b8c73ba484d6588764e331d70c378c0641f2d9b6fd7c090df5a74604a1324ba0cc5c447b2dca644a50f1ad0477a701b9052ee9bef28833476343c82af29ff3a9b1c4cf12de559cb9d9411f62bec838121fd74bc1fa712d8add51505c55e89a35deaf7a69dc0a18ad27396029cbf89f513e1b8f48bc01783d6849fb32f211a4c87e16bcce0c41240a223ba6d69e0c51569f73cb107ead84d14dee92702e3a95eb844c716aec9829d06591ebd2501a3283cc0ffc0fdcc031fe8d865e77fae5d6bb73815d9ae376006d0ae3200c24d84c6b14a8471845a7522e7c3d0db9aea0cfce467be633d4d46a5086814da467dc73403c987d8fda5f6e568291dda40d7681a07eb9f80d8765c734bded79fcadcdacf4816800fad2888f935ef77e72aaf288ce1ee12edb5ec1a6506e0b5fd2e4395863c29b6125a26f639f25018ebc147a306ab05eb4d4804327c9216d59ca328d5f5f1ce0eebcb35dda72c85332c6cae642c1c539498fac7d0d2ab2fd3e0e1d90ab9e451ac914c664f1ae34209d96ebb92d7d93ba3e99699827a8fd4835d79d93683c52087dca88d0cd4b33aae8e01023ffdb6633dd049518a7e9ab679039a691dd6a1d5c825580a07a686d43e85f716d87918bb6c0a6fab7c8fb8a41c70d61963fcd3579a69b863b8b9607c5b288e775b9411d3a2d8dfe973db3911b2a83b4f5d6873c6a13af1ccaa460f00bb555d5e9672885d877c1d867230cb56137df134b7304b281b99995024cc942a1a081cdd7040ec432db72fc41f77b637b1ceba3a6b0c8bc96466e4f5d725b698e65d8f4d1c1488147cee888ca0d9be1f86af926abd878b253b450daf33c721cf9edde455879f53407656b28a87f4b571d222e93909d8437b7ba57609f3987b2779fe89dd63ec52ed496b81f0e1362c6554fa93a347fb54b08058b64ca9b7d08254a564614e39566584e4f9bcea365b9dfae
+Pseudorandom shared Secret A: c91f344f49fe943509991ef30392fc3d25cf65be3c3baf6d0d1487bf95d59f42
+2086c3374f5ea5adf8bdf5a3c6833efec934d4fc23a7d81c4aa217707ec114a1f4999f8e6038b6b6b7dc806a23ceb21c757ca6c46071154f20b46d2f2fd2cd7c
+Public Key: 4595ceac1b0dd1aac964e755ce455bc11a5859b91e6b14b403b52f15eb76e71794c9b1020fbbb6e8618566cc5ec451424d410e5f3bcd0eec84f8e7b95ff553bba6139e012e19a21378386db3e5ac04a36c9bf65cd485554fba6e3aa8ca9007aafd306c3a703cf10503b916743d6455afd39e6a32058f069a23c2196f075d17c62e23b296fa837fe570c2c6c4b5bb87116920b14291646ffb9bb2e2c5b925114d06323fb1665f3c6da5e06980e8c5e0d6c9fbb02e88f57cf480a6c990a473d04fd9fa9244989b30490b3569ce54c96c01730c8d117d34aac685164f9aaa81141b571c69ba28b2b5fac8074367ccdb7271265caec2833dc2bc9de6c70e3fc49a3a17b35fd64eeba0c472d947b05702345928bd28411602aea0344eda194857661adbe45a1a460a4fc1677cea57baf2b21c9b402008b5a2e0cdbd98433f213654a5cf65c79fbd7c1e843c340242446bbbaaf8f82681f26227386a29d92200034ea1babb6e079c05f201b4a3b28950ab32406eb3351c99c2a9c6575242e7c8c83a07c20a91037c8ca85618cab98ba0732bc9f43f559a0458a066e8b194a7305565152951a1819e0bc91e6bc9b870445f9791cb056d4e176302c139d2e070ba18384e19986a39bdd936c8dba6b2db6a9aa39b71f6f35da0e9a146d0caa02c41eea6674e382b53128772f2553b3b860912a76e13875f762bca83c1c78756dd67542b3b97b0e65cedd39d74151a681a0a987183414591e780237212ca074794e8e029a4baa1e5b3a69b49b6b21b287ba4a33cbc6c736b674886a71f437f383c2fd6051694791b2c657039b92396127287b51373e3bf4f725067508965919ec77a7b313c33e7d1ae55bb3f74d381ee0a9c85a6889cf89e777444657ac9e10697b7570d67322b85c02088f80c96a2ae8eacb0820cad5f07195ab99353ebb794013d0edb8483ac83c7098e41510118e3482b698254296148a87fe11b39ca059bb456a553b9437650aca293a4b7a6c2f02989bbd55e5a83cfff1831479346cd34443b674ea0883a7a1a1ccd2010150c99b91850727c8c0b99196ba468ed374adbeb7bc958a839d08498b75d62a1891b122c7d8930ffd723eee87eea3421da7b2e2e830400e71dca623b0c177de97c0a2fe041f14a9e1b431e28da9699a262f2a8a16af781f6102e20e02dd373658f61609d9a1a38100186581c45f99ab520c157cb6c52d6375e5688ce9161f674b2d422b499f9189cf1b7ecab416c3c93d61727b75c6052b78e7150ca97404393c04dd6b67d398c9a1da2cf29b243a003d0c9b6a459a7c15ebcbeee703d52f40927789bb2462bd9968982ea774206bb87566a4b22b3c060451f0722d3a61f3f526b779bcd69f460aa432f7d59ccc38219b39177efdb8fbc439a86e769140508f65098b9527f59e75b937cb7bdcb6395270ee489be46f5357b63ca64656071b720cf5b2cbc3072cf4b2571fc4e49a30143a269abf33b00485a59da0b1919aad18ab54dac157fc6b902c472576cbf2a19cca20991b3d5087277b7eab8b01eab373dc56bb3577c8857be76b5402e90ac6dcab1db856258d53479987cb611a421c359d00bb1f03b9e3457c8be32212283b7664a1489faa6c21419c118c62042a8c0fc61dfb386360461d461b8eb16717d3216390548bee70c1430abd1e0792e899d4413913274ba0ba787a5a45146b00c32c66a29aa71b4e77327a2b8c7d3579ec06530f827ca550410f21ef7111d52831fe52871f4aa3c14536dc845cb7ac84160bb4a74f2a203001238c6a1efd527e0c65ac6d24adfa35bba5328c918482305828bf187c62654a1c7bd4282a2141c8a2f11c27f959143eac5b4338f4f808de2348637702ec0069ebd0b11c524b44d766b0c55770b401c30545bd4c331d9fb9185f2554482b7127ac0d066cb884808d6a8278afb29e6e76ef335aee4c64c9a2aaf3923c91081529a00890f3a7d2e9b5088199321c0c8ec9b127a9108742b4a76e038cb340330c6bded19937c192eea808fc98022c9ecb86cf46b65e93c6d8c0b661a7edc56226eb1862c267c20227e8e833414e734bac983a5572002f4b2fa0a107b453e9ab1403508c5c7db2299071b70e01c06732279739c57a484c055a2df466dc98c4a51d66b43f584abf0cadad501dc7928b2cb48bbd0af14678e709e03b07a96eaa90b631986dc386f389a21f799c3851bb772b215dea1
+Secret Key: 304a67a96cc9d6f78d0c0341e577052ba6542f262e9d230c08e35fcfa06ee8dc09af39cfb9742d2171c8ccd04e5e31066e863ba4f10990f0821ac0b0fb2c4157b49f9224c2adb3270a60b54e57893e3b346c19a0ae164746406d3ed5a6e5faccb3b3a5bc75bf9a12b494b2158e3743f381b2fc04083a65a3cd12273526801325bb69b30a77803c8f66a4db72b3a5993837e28bc1739306eace218c335cb713a461cb39702226a92726cb0686e60f6751c89d5b147afbc137f328b1cac1238310b92ba2dec1186d63c26c16c8a71079a1755a0e698be1304e886099140b0ac0f95867a0309d179f2c5086de251addb68abfeb4fca6b259b8379cfb4a76550007f93962d5009bd70c81ed091064c451ec01eb64c47ba862397e5223b1b3751e19103764c1ef8a129e089806aaff172259dea83595997e42b436d424a9247bcbe391ab9bb9cea4c491e37aa4de8b2aeac40222856a091255c47b94d787f826c528d90be487598d4253fbae04e935b3dacd8351f81a2f41430b47a158e7397ca18a750511055ca5763182e19627343d4b26d082dfcc2193d064ef903850e27c206a11a78d745c54aa53d186b6ee3baeb0c60d8c914cc3755d9e1c0f27b9d225485b5d9367d459144202c91a429b75a0d6bc78c5fd000540856ab085804bbaa234c7aeb81af28613b89c511012cbf8560a46f822e6dc91ce0b5c53c96000ef651b967b7ae3b55a0e61d9d92c4fbda42cdd078196ba1599b93ef655a6d95179e2b65f2b64190b05cbf482a9f628c798570feb329fc30ae2f524fc3703a2de19ce4e28ed407aeb6f9cafb8479f65ab75ec608d10057b458972c38799331cf3787b4b6e614ec34a54ac2775a39ad02257952b3a6fe8404656c653ea32363606d6637006482164fc505f0d7154c31b6ab361c1743bcf1297c11278dbabc29b7469a31830bc50795a0a38d7503be475bb89f44921cc4669f6b485f561ebb169d45ec218b23a442848513e45cb5d37325757d9e183c057881cbd7b625a41f1b42613b002a7f7477b51ac05e39500ca6b267783533a509355c1c84725e7361a21c3cc313d45890d72770ac6e2263a26ea730f65119a96725b9c043a42077f3925fdcb5064f0775204c02695b201f25877f4c2730fa0940d9276d617965f406ed340fc771b3764318f7028f27e344c922aa052461d3a1c9bb5c01b14c5c3d269b0131490ef662e55c6132e00b61f3bfb3fc6d911876a2301c0c326629bac672425305e19df6264c9529aedf231c64396d114733293ab30ac845a6112f16c77c3b9754a05150b1659132315912839ab160078dd698acb31a03687e24b942e87299e5bc2f6032ba9f27702635809d961b7ec453c7977e058b68b9fcaffc5073725543b5242c70a0b93ff44547d5c60b357fdd47b23414c7b0d0286018b8d1e73a75a27e0c6677682386bd5bc4841664eed3a34e55000082100ea44fb7c179153b88bcea67320a0da2568fd6963d705b50f9e49be6cac6ad1c22ee151139572f5a650956b8762d7316d275bd1a29a8d57aa403e9bd6be6024748466db1a1464b3dab08c4acb2b53e0567d436b19ad2241ae178eba2a37b3b2947879f4fe9b1c81768cda28e2a7619abac212dcc00cceb24806b5ce53a387bc38fa0668d5b620c93dba2071685db23a98988294f383466aa912eaa8d982697e6dac82f29c568363076aa7948b967d961a3dd3cc86ee54b42db23cc309575b18ff969c34510c07bd43948513a3721c9bdf4762212aed6f686d2a02d9483b368859f68298f3ba6a9b9e98e2f52bd021603b48aa1bb678542cacc307bb6d67ac1a5aacaede0688b02591c55743d3cb9a4950aa95750f3312b02da96ffb8b6acca5cff0a5259b37eaba91e14b128d05ba5b92a02325a9abca0b0589c2b60884d655966634886d3d0497c1a574f478ea7a941c3665b1ddaad73e23b80a6160c7c665940bc6b2a69fe83863037998ff066a844801c73246ebb7f500146bdb4b9cae32a246572fc363039fc29f27876f1198703f939f6c82093c45c72064d8ca518948823f9a007e082a6b0332a136bb630eb6e258a1056442d6ac0bd994b74b37a3849e3a9eacb4f1591029b8a02839576f48a253fd4ae6eecae41eb370dca9568040b961b8cf3721bcb57546a81767ba1bd4595ceac1b0dd1aac964e755ce455bc11a5859b91e6b14b403b52f15eb76e71794c9b1020fbbb6e8618566cc5ec451424d410e5f3bcd0eec84f8e7b95ff553bba6139e012e19a21378386db3e5ac04a36c9bf65cd485554fba6e3aa8ca9007aafd306c3a703cf10503b916743d6455afd39e6a32058f069a23c2196f075d17c62e23b296fa837fe570c2c6c4b5bb87116920b14291646ffb9bb2e2c5b925114d06323fb1665f3c6da5e06980e8c5e0d6c9fbb02e88f57cf480a6c990a473d04fd9fa9244989b30490b3569ce54c96c01730c8d117d34aac685164f9aaa81141b571c69ba28b2b5fac8074367ccdb7271265caec2833dc2bc9de6c70e3fc49a3a17b35fd64eeba0c472d947b05702345928bd28411602aea0344eda194857661adbe45a1a460a4fc1677cea57baf2b21c9b402008b5a2e0cdbd98433f213654a5cf65c79fbd7c1e843c340242446bbbaaf8f82681f26227386a29d92200034ea1babb6e079c05f201b4a3b28950ab32406eb3351c99c2a9c6575242e7c8c83a07c20a91037c8ca85618cab98ba0732bc9f43f559a0458a066e8b194a7305565152951a1819e0bc91e6bc9b870445f9791cb056d4e176302c139d2e070ba18384e19986a39bdd936c8dba6b2db6a9aa39b71f6f35da0e9a146d0caa02c41eea6674e382b53128772f2553b3b860912a76e13875f762bca83c1c78756dd67542b3b97b0e65cedd39d74151a681a0a987183414591e780237212ca074794e8e029a4baa1e5b3a69b49b6b21b287ba4a33cbc6c736b674886a71f437f383c2fd6051694791b2c657039b92396127287b51373e3bf4f725067508965919ec77a7b313c33e7d1ae55bb3f74d381ee0a9c85a6889cf89e777444657ac9e10697b7570d67322b85c02088f80c96a2ae8eacb0820cad5f07195ab99353ebb794013d0edb8483ac83c7098e41510118e3482b698254296148a87fe11b39ca059bb456a553b9437650aca293a4b7a6c2f02989bbd55e5a83cfff1831479346cd34443b674ea0883a7a1a1ccd2010150c99b91850727c8c0b99196ba468ed374adbeb7bc958a839d08498b75d62a1891b122c7d8930ffd723eee87eea3421da7b2e2e830400e71dca623b0c177de97c0a2fe041f14a9e1b431e28da9699a262f2a8a16af781f6102e20e02dd373658f61609d9a1a38100186581c45f99ab520c157cb6c52d6375e5688ce9161f674b2d422b499f9189cf1b7ecab416c3c93d61727b75c6052b78e7150ca97404393c04dd6b67d398c9a1da2cf29b243a003d0c9b6a459a7c15ebcbeee703d52f40927789bb2462bd9968982ea774206bb87566a4b22b3c060451f0722d3a61f3f526b779bcd69f460aa432f7d59ccc38219b39177efdb8fbc439a86e769140508f65098b9527f59e75b937cb7bdcb6395270ee489be46f5357b63ca64656071b720cf5b2cbc3072cf4b2571fc4e49a30143a269abf33b00485a59da0b1919aad18ab54dac157fc6b902c472576cbf2a19cca20991b3d5087277b7eab8b01eab373dc56bb3577c8857be76b5402e90ac6dcab1db856258d53479987cb611a421c359d00bb1f03b9e3457c8be32212283b7664a1489faa6c21419c118c62042a8c0fc61dfb386360461d461b8eb16717d3216390548bee70c1430abd1e0792e899d4413913274ba0ba787a5a45146b00c32c66a29aa71b4e77327a2b8c7d3579ec06530f827ca550410f21ef7111d52831fe52871f4aa3c14536dc845cb7ac84160bb4a74f2a203001238c6a1efd527e0c65ac6d24adfa35bba5328c918482305828bf187c62654a1c7bd4282a2141c8a2f11c27f959143eac5b4338f4f808de2348637702ec0069ebd0b11c524b44d766b0c55770b401c30545bd4c331d9fb9185f2554482b7127ac0d066cb884808d6a8278afb29e6e76ef335aee4c64c9a2aaf3923c91081529a00890f3a7d2e9b5088199321c0c8ec9b127a9108742b4a76e038cb340330c6bded19937c192eea808fc98022c9ecb86cf46b65e93c6d8c0b661a7edc56226eb1862c267c20227e8e833414e734bac983a5572002f4b2fa0a107b453e9ab1403508c5c7db2299071b70e01c06732279739c57a484c055a2df466dc98c4a51d66b43f584abf0cadad501dc7928b2cb48bbd0af14678e709e03b07a96eaa90b631986dc386f389a21f799c3851bb772b215dea1cf6aa0bb38a7d9761c15752cfb881447ea78dc4ee7bee98a1c872551e7c17b0df4999f8e6038b6b6b7dc806a23ceb21c757ca6c46071154f20b46d2f2fd2cd7c
+b6c397d7c76cc8b0068ff8f1002de8a73f7f1a7bd6e39135236852b464fb98c3
+Ciphertext: e206e5841bd855cbca1f67cf88f67b5552464e68e0385e64f2d4b2fe624e5d775062843bf29b88df6226f6f8309402b3e192df72a272ef8d1cc81711f400a2ec69d3bb82169e2a5a29a16daccfe7ae0780a08f38fdf7ced37f002040817818ada791b27d7c54293325801007b49c82daebde0e94d5453951398d70f9496ad0777df24125a3e87b3b6d40233221f854e777dd38d21962bbcf38bde7d28df29199e28b3cd07d46c18fa785d2c961f39bda78287267cc531cb9fca049f5da64b3ce2e8db5179fb0edb357941730b6676ce4259fda38fb1c1f5de2b2193ba6be8a2c80157f1f44cd0cbcbfbdbd0da3eb102c90e86fe7bb124fc7574f3a92f42147c352c1b3cad1f856719b91b08daedd4999ac752068ab6a90ee7efee1e5f76faa0598e8be55c665d64f811479ecb10fe9ed903b80eaf8919d888b3888be8c2b1d6979c25b74aa2eb3329b27b5577bd92a4932aecef13b42552f62c4b2b48fe927ad676f32b9db6d71db7562e5c28727888dcf8a372aef3c8d0a88764c5f45cb4599221ef78f0de840792a788e406ff0567b705670358d166fe6a3b3973f85d5d09490c5b4be5b20e64d931b68fcb28725008f870d21f17e135479a143bdcb0ab791d87e7c79aa16817fac5fb0811d8539f46b17c11fd8585493b93df9d09af5ef3cac7eefe6941dd6ebb1626936c0cc8996c98c887c6c0a14f2faf706680502de5079795cbb339dfca7a46452b456106748738676acd74cbd04cae1db999c5c608bc3a0543a7664e5e509ce6bd446bc4c6f100985ab07dd1fe614f7f5f17a513e49e4333c5a63be0936eaa44caad2ee354803eac312ec92ee6e76810851cf2ec9b7cab8400be3378ed7c3a91b1c511317f3bb5c412ecb081c75d89134339e169935ad289215c948fc05bcb5b3f0e688853a2df1b04e0da1d091284b087c5f5d86e3dd710e82189c90285f6de819d8d8dc289a64e3baaf6c68aff89b313e9154aa94154dbf618f4138c16999d36e0e49607d3fccff574e0459bafa6fcf86d802012fade96ccb2e012efc8410c897d0948a7a9ebea9044f7783a9bc270b8574ab2cbbd102f72203ef0d6a6955b123bd06dc2e257235aad1e29df1d90578d5528bedb133d55e3ef6b38dc569c0a576fa4fbe0dedf8d06b80403394da7e70ab29c17be4c4b6bdbe95502d07aa2464fc92f2fa3e4dbac333a4b6c3d7a47e8016947bcf4ee2c90eb3d0e83b96ce2fedd72e5f1d406437146414c0f6ffe0f6f40c6204645e603ef2867436cce10377a3c618d06c9ade6cffb94f3dee0588d35dfe29992ee4dedc89f0b626f1c70081e65a194dc0ea9fc45fc1b01a690da4adff2c6848a095accc8b243433598dc6c5b727d3ea144757e0f76a6e51d42f8ccc20443f7d3d8ce5b7deaa5da7b053779caf4a2ebc3a5fc851ffd82fc8f141b420ff49c5d190616924563a93cc94768b094a729e243f51b7600ae4090a4cdd83388c3291d41dbca44d81fe7abad6aeca13c4e541cd204fd9efe18f4df30f66c8b8e67c6f480564f4bcc71fffedf0d07efc28a582d9778f24bf439dcfa2621dada2ac8e6e4d1aeca2db377c357e3a447096dffd4e95b84221aff520774f110401b3733f6844744954d036d3db67a65d1a99eaad7210805cd6f9722e6be1f28c43598a87d4960c274ffe95d709bd1074c3a2af98fe6f05ee34cce38c7a45e47b617fe791970c13e66a96d2843e0e9ee3338c786cd139bdcb13e57973bffc9354d887e69cd4d3300e8435010b9c427f203d2a07854efa60ed45acbf3df83b65a1829961231a55d0b75054898adcbf51c7862042772d80d56d03742608016f67db036967a68d01d1e599133ff771ca6c6b8b923ea5b350c1cc837117a615e039c4b0d761ffe3bc07b2fdab8c81204f8abf38948fb55e679c7abedfc9fc56aa49220d1c592bb11c239d50edf6425b12d7977db85e420f0b554862cd533f96f06919bd87f2376fe231b69c41c7a50773a1d60ed3fc9e851a30f5cec87c70510e5cb8dc77532d0fad863e03393cad05c9c40620088f22f212653cf402cf700df4d875279840b6c1a194db50c94fa5f78a8b7894a72ee07ce80921ffbda2aa622b50ac09ad7f6553c917077a169ca4c20d6435b2e967c55ab767555394f8b5159ca26ca2b7b142bfae13c6150f663fb593ae19b6cd3192573568d3ecbbe2a91a4de1ac14e25d5c18ef48db
+Shared Secret B: bb52107a9bc9d343f6f4fba05746d027aca71dd6936320e12080c74d8ac42aa5
+Shared Secret A: bb52107a9bc9d343f6f4fba05746d027aca71dd6936320e12080c74d8ac42aa5
+87e1c43616d983a7ead5abbdd6a173b273bf206e4cb454a4610d1a995bfdf8c15f1c9dbed07ed397efb8dc87ef42fabf6f705c23ce083b92d40c5772e14027cf62f2f77376ed43035464b6553849a3c69903271a4da9215a3a8a699774325effe316afab4aaf5da34790fce0b70263913095e7656ecfe1efd3484818e3278e2b216c9c6fd2949415adfeffbe9d78e92f87bb604da298b930d642e7dcef466e6ed57edc976b82e6600635178972a821842195ecb9ad10c6c6f531226fb849544e3a243f68d1252bca4af90fad9f052c97e49a0023cba500e31c9d23699298ab57ec6dfa57cc4d76143609df285f2d5d2c96a9ca2c861e5cbc30f46581ee493cc888ce97c1dbf239e4c4a6b95b9588e68510e7e33816e581d85fc48a77254c23bbd43f2ed13c42c76404ff89a9e02348c7e17fa1e25d4b80ef0d7e33cb059da8060b9ab4c248504e3c181ddcb010d446698bb09f66392624ff75d2be6af8fb112f747f136ff7f1cf696cb48c9eef6f0188d596c215e83544d42c13ffb662007f876b63552513f63e996b0e13be363c8b495ebe659b26dbe8f697700a3c19dacc9c1b5186f6af281ab44bb74b892a3fd596a7628adcf94489a1aaf805d9051241af1612e2f945559d5b822ffe72bac8c8206985997c73f9f2dc0b4c68edd6b35525edaa4b5b4d29fdf09e3fbc000af2da709f0370da3cdbe2f2764759fb32170a901ac2167d5ff4a6192fde39e024646a0de21b9c7c9e59f6f254e6d6ea1c4d72471759c2dea53126fcb7dc9300e7eb80dc62502c18d071cb066f81c3902942683b9a37b0409234aaea9482a25199ea657f10cfece030589103c75b815fb98e500b4105efe4325ddf1437c4deb8f4bdc35ff742353ef693fa535cb1cc003cab6fb06ba7881736f2fc4bde18ec531d0b7b75d22a460533a65ac12de5f1c4b57fbc0c7b6751da0403cd9ccb8f146afb8921c4b59778de724e7c4482461eb80e48e6a68a12b4226449f84a764312cf703b7b4aa999c4494c8f5087911abe44ebeeff0b7dd1f37cf96399c8ac37f5c9dce23bf274c642255bef83720d0c9cae54ab770d9801703e0191e0d332f5351a038377bca92dc972a5a9bd727d8404829688f9d1725fc63da04f076a49df561d82f999bc82d492d303ad3ebefab9d6c8bec2428388afd9d236b14d67d042ad3c5efb9bd9c673b60c00e3cd14743c376a820e76ed18c022eb826812bc213adfa8837d2d76670708477afaaee146d024f7ffce8c2e741c1f1fad389caa2b1d3cb7f35e4944959163768fb98b489817c28bfa30503b6cf78c0b88f460c7227af72d5d050f6f12407ea0bce09649deefd72b524ac0fcb349fc8aef948bb83b46905fa4876aa5e14a7b5b681a2a672aafa7f641cfc7cdd6b257cfd43ca031f901bf28de17510a0e472e72f0b5ae7dc460f685c4889c8e421e71e14d351153ce7cf599483869974ca4be77203ca8230be0e93b5cf6e2dc45bb2b04da20dbb5b7d3ef71cdd3458701b0727f8f83089fa4ef121d5239650f80a94b97df9b875bb1fea5c91b9c081f8fdfff79338131aa8948db6fd1ba086b507c19fada31fcffddfacd028196305bbb895b5b43ad6a2cb43cdd467e8a1cbe72785f607a07aea93c88c847219c8acedb40776bd379b723962c7c90d8990aabbba33b1475ead038700519330d032ad1206fa09d8190a45cf807863f786220028938527ef92f90ecd8f092055c31f25ec4351afd8a6bcefe17623ca52fa9faee6a970e51a98799481129812742cecd1bd9bb8b5147f43325a070808de138233e2de3dfe9bfef4d30045b32071516b08352f253ebc0b59e6c534a05b2a62bd870a70fd6fb5830698d4d30941c8cacc5f3336bfe8c295e4b69220885968a207e5dcdb2533fccdcea0b3b4a47cbf7d166e5ad1b405ddebca5bd442cc533d8cd4703feda00d27229e9c12e79d587f5298370962e2b769bd6a058f1029a12f70c00a98fd60584cd392c8af8978e306d699ed82147636b2f0a2bb991fa9cdb643518a2644b5126ccfdb6e3ff8fffa508321c62030f5672f59ab00827b952762a4ea34272d4f82e96f3f1224c8dcf71d742d6ad8e7b90022bff72b845074a6d58398947b00593bf3be44b865933238ae3165a7bee4c153c9851ff8dd5265266a6e74d2f29f689a3d5069873a3f75631f1c5988e40083fc4300e8c1bb95c19a6bf895c9e
+Pseudorandom shared Secret A: fc3f5bcf7449dbaad42a59644dea8e0d58603ed8ee0080707140823ec4df832f
+279d0f933a23c1df0d2ad6e0eb394baf14e416e32ba2d41df4f016c5aebd9b9d6cf3c13f459d34acac62c2b8999ee364e92f3e8ad5c6f39944611478cd059176
+Public Key: b42744685ace38d673844acea83c7bbd9170f414c7e5c322420184a217b4107aaabe4386a8f99f52b7c5b0d9a60cc33a68e32113216a381a2835d499e19947fe0512a0113dd0415549138ee6138a0c05a5d308bbc0143ccc513d59c935e820afd93529343163ffb9cd91e9b0f0945bde3c38fbe80385c25b189a12215341dc973c3b5b07c803a2bc882702e151f3c71ac8173c5b975b2b75b25703b094ac9cd1a63a6391800505b3ba09b771a6b84faa8f744ab336b2ac97274aed1bc11e2960e4b6b8be5908f9d283f2f7cc46d05e703438c97b53f9b06ae3690c9b7acda5a9b359f9c1a1d0823d4c9fb7a35f8129348b38574ad832f744ae606826cd5ab1e3aaaacfc9053e90bff14923457b9991d66c9dba558d862efe49b90750081d61c0b8ab323bd10da60c370d2804b3f20b94165bfbeb11dfa159617a9ab837664fa1b3e3b17b3d63c9f382888cc3bd4ee8bf02da42da407daecc356ab2a09e80b59ab40719dc23f0622f5112bc697041cbe3b2acab03732370b736b94cacadd2e0a614726bf8b866870987eb67c8c6bc7143670d84d9bf640cb8baf77b08720a54d215c984219c2ab474a10adbd38596f1b81518b930fac994e611a1791d735bc9e420284cc49d84b95e09f34b45f273af0a081584a5f03ac8ae3c0f8a5c0466e98db08a0160e2c452d24a29157c7e9a4e41d731f41971d603bea51805286a4130d258f063adaa4a6a46740d011892ed9aa77b37adde05a52afba7442547313b26a71c5cd23377c5c5813e968ca4d490271a7d60a0cd5587737c300ac296ae3ae149ce8a81708470e859809c025e25a94bac2062777397dec4ab699158c13cc709c42d35206d1c305a111b55d0c09b6ee471b4e445cca2c86a1496d5d30ab04a7887e28b4f3aa4e1639b43bcca8c9747f50307928b0d36a5194fe7a159d81a1b81053e55b7d158255f958e4b7a47ba7b632e1a5a12893a89530dcc2a176a5ccaa69c6ed5b58513b27df078719083905ec9892ad2b72f84b10943564e90434e0a6c5c152cd7a55843623b6541cd70c940856ac36fd07d223a1ebe21ccb92ca53a62a996197cbf289ec3cca39b2248519840a33825151330e9b881097aa7ee7c8a4b5ac74778bfd5d9b69903714fe64dd2f181505a450b821c0fd9cab00067ff33c9174972bc742d586965b4a5b1c883c6afba89dbcc60edb991de540ee6fb9c7c32a8cd962a3fd003c9a99e7a4c44876915c9c32cf23ba596091d87033402caa1e3178577a8bdabb61ba1ab8f6736531e68a2757a37a5fc053671507e697d60c33097897ed827c087395454d8399cd9b26fa7386fb4a4f445cb36a23021ec92b8322ddb82ba50f6ab3cb15fcf124ad9d7554861241e8822931c0ab3d7610dd86fee470f66b645f89589ec748313bb6d852a320bf517c87b8431eb64f6760dc3c646b10478d9837e781a5a83628dda740cd39739c8e5c557c72696cacb506b4e6ba1897d293ab6a25b962b7dfe4457af964e3f4792470bbc51161dfa4ca6e5d23eb0b09aabb20b2a7740ea20814283bacfe39ea82a852af229faec9f162462646a3923681661612f0803c2fe15c2179299aff7896a5a4f8a254c7f61726ddc35bc89b64cd9b462d176c277959cfc8f3cb892d0e854af1b3071c6c37d7576e205a5cceb7fb06bc9bca48656c3498aba977af1a91d4a61383ba97385c55669be0374b63ba40b5ffca11a230c703903a9a56c0b693702d45333843b3b5cb29f12af0eb036c85ab5d8db30a3692a10ccc03d307d6b97ae1e097aa5f9ae8b8754a92105f7a72bb97074988064312109f0ab07ce1bb25ce9b4a6bc237e5740df587fffb4c89847b2e2b74995b96df477795bf1232d31a73a30c1a0512ad5192c2a162127e164746ca57ea222f94c671ffb43f7ba49b9ec3c915111df3b009d40463693c92a8098f9f3289e13776718c7f546bcbf7ccdf9f1a6e0384da5f2825d111b26a11cc4b250461148bfc17152e40eba73063d096896f6bac014b9e4aac49241998334b6678158e0c29e05433316d64688fb4bb7f07857f641cb90c4efe928505b108a3201191216810b9e21643a2ff1cd4ad66f5f757432654a4e328352938f1e4b7e4dfa5274e601202aabbba78aab3546fd9935eaa99986bbbb839954258c2fa7a87ea97c77f4c7aeb5889722dcf6f13ec43c01ebbcf9de78eabfb29718dbe3e2d430
+Secret Key: a3292e7c922ccf1a4f3d6c38e6013163d8c8b2163b4c193b8bd82b755cc237198ec1a8480b788a8e0b4c1263812816283ca98d64e2a33f8246d7953898d5b0e9a71aa16a755429672770b77afb38b3d60043dc14b5a816ecc39814a5b2e7c559ac4c6679406878131f023cab5bf64c56f3a8b95273ccac4c26f3c5748541aa5b89e7ca86b2e62ec6700c4b78c370dac3dbe520d8dc9768e038dc4cbec2101582c94c7ea62c73c776a554943602717b9846a8119753091f24d165d664aabd5231cfeb943fe49f11647bf2c1775123123f2c94245bba7e64c1da931c1c1901d1d7ab508857fd0a3c3d15af4f91bd6458b3633666bd01acc8b7a7fc83adbde990f062576af8619b0c0e3b9517ccf0ae75fb7ffaa2609d21cbd72ccb6236695dd24eae0c551bf47d96cbc0bc8ac5d59b9b92a83a84c90dd36cadf1357ab8299eaf154ae7b69e1b47c8831388a3c5385f382ef7718205185567a1ae73d77869e64dd53c5b8605b6515c195317368dc407b11b3b56148547a11fb1d08d714abfc8d8a9a14a0fbb0994f0b24feef9b927665173f89417988f0d5baa5dd37fc3a775f88c126750550d04a5682732e9436d819a2d304a5ff036ce1ceb2b5aa1a021c6cc0f9876ee66b072c4057827089dc347f00b5fddaa354d0628036827f8f33bc40b8606994fbc99a80bd3870d000ccf955352b2030f2a64ec1b3c015138aa944ad7ab96ce1ab47aab266fb882d36cca31067970e67b8b3406793c0c33502a90e2a695c74b7a6cbf66fa2f6c6c4320553422126cc516005bda656fa9433195864e711c3930494c509ef72b1b69784000927fcfd5350338023b412e73a95914900c0450acc0b52fef98be0f310929b4788ae8350721120e4ac8fd50068aa45c3f499b5ec91080ea0db71ac0389c07fed76cb63670f3b67db3d96e9ea26f5539143cca27d0ec618df46726a619a06a1954c5ca4e251bfa260ceda0c0fd767bdc56b63f17ae92867f41b6b9bb3b9c3f8c66b531cc9f28c48dc0a659757002d68575c82f00ab1642bb9adaab4ccd76271d75bf13f1697e058567978816e10413c4cab691c4742241e6c3ca69ea94c9694b663c3be31cc9fe4ac39d38359101871c94c27323046720b485b85950195a4e1cbabb93bb14174534c36a1d9012f86284c396ab097aa50438264d316247524091d8c9ea2046a97888d1d089d6350a8724a8d03856bba40fb9bb7cc232ac235cc323941a38385e9c33cc23a0bf42884dc7d9b527500c43725cdee3963af688c960371c580e9f978169c368f5a546e9500e681008eca90195f062695c36a3d32b95250cbcd140c5866bfb440683f06d1bf555185a2c15552e53d15b894b3756155f485c8f892abc47f80c7e45071d457b9d934bdf17b51509134d18612c06262eea8b441aade3160129d425757b87e2c2b00bccb62cb33ab807a3bd9541fcd5259496a328980247047cca35bc4a1b6c6a6200d764ba24a9072d4434fbe63c99bc53f6495dd6646c80a1843801a01e1bcbeac2ce3c1bb1dd670d2a915a02d34eadc85fbe9432a8c64837f0490fb0a7741a0c6cdbae864a440ac8445c2a7c0d41a091d2323ff79cce9394a1c23717352b9d463dcb3741a275b2e7d6a55db9438d9265cf795838e36e46541190d30b472047e4b8949e254e1ab7c050e39105e7053e2a7a19d97fa5096d43d3abe93b8f3118416e0ab04c519b7eb01dce9b6c953ba884349f7ac4326a5463fa3964760120550b01d0857d1d1c96fbda7f693457fa465ebb49a82c42aa9d59240aec2b1674bab8b603b329beb2ac31a85331b49b991f575402611606026a40273a7a8cb235c0826002b3f01ab1791086e1d8c1f9e0b20ca6c1bd7094b45055d7d1004f8839a8cba2ac158f2b565e866c076ee161b743b7e9bc358011218cb928e9969bb6d38234111503573498d4cf695ab9f0806927a8418e32b797546aab502e7aa20687107360c49338009b277115a1475c2efbab91da4247bc84046a1e82c9c554e4b2f0752fdcf5c238443717674d25240016accfc84cc768f23028c30bd1087dcb690575bc07aec442efe6b1d45c9e58886be9d72f89948187876bd59b7287b569ce538c1a47741d82ae2882410612632e3683647331a357703647a354399a701615301b65c5e526b42744685ace38d673844acea83c7bbd9170f414c7e5c322420184a217b4107aaabe4386a8f99f52b7c5b0d9a60cc33a68e32113216a381a2835d499e19947fe0512a0113dd0415549138ee6138a0c05a5d308bbc0143ccc513d59c935e820afd93529343163ffb9cd91e9b0f0945bde3c38fbe80385c25b189a12215341dc973c3b5b07c803a2bc882702e151f3c71ac8173c5b975b2b75b25703b094ac9cd1a63a6391800505b3ba09b771a6b84faa8f744ab336b2ac97274aed1bc11e2960e4b6b8be5908f9d283f2f7cc46d05e703438c97b53f9b06ae3690c9b7acda5a9b359f9c1a1d0823d4c9fb7a35f8129348b38574ad832f744ae606826cd5ab1e3aaaacfc9053e90bff14923457b9991d66c9dba558d862efe49b90750081d61c0b8ab323bd10da60c370d2804b3f20b94165bfbeb11dfa159617a9ab837664fa1b3e3b17b3d63c9f382888cc3bd4ee8bf02da42da407daecc356ab2a09e80b59ab40719dc23f0622f5112bc697041cbe3b2acab03732370b736b94cacadd2e0a614726bf8b866870987eb67c8c6bc7143670d84d9bf640cb8baf77b08720a54d215c984219c2ab474a10adbd38596f1b81518b930fac994e611a1791d735bc9e420284cc49d84b95e09f34b45f273af0a081584a5f03ac8ae3c0f8a5c0466e98db08a0160e2c452d24a29157c7e9a4e41d731f41971d603bea51805286a4130d258f063adaa4a6a46740d011892ed9aa77b37adde05a52afba7442547313b26a71c5cd23377c5c5813e968ca4d490271a7d60a0cd5587737c300ac296ae3ae149ce8a81708470e859809c025e25a94bac2062777397dec4ab699158c13cc709c42d35206d1c305a111b55d0c09b6ee471b4e445cca2c86a1496d5d30ab04a7887e28b4f3aa4e1639b43bcca8c9747f50307928b0d36a5194fe7a159d81a1b81053e55b7d158255f958e4b7a47ba7b632e1a5a12893a89530dcc2a176a5ccaa69c6ed5b58513b27df078719083905ec9892ad2b72f84b10943564e90434e0a6c5c152cd7a55843623b6541cd70c940856ac36fd07d223a1ebe21ccb92ca53a62a996197cbf289ec3cca39b2248519840a33825151330e9b881097aa7ee7c8a4b5ac74778bfd5d9b69903714fe64dd2f181505a450b821c0fd9cab00067ff33c9174972bc742d586965b4a5b1c883c6afba89dbcc60edb991de540ee6fb9c7c32a8cd962a3fd003c9a99e7a4c44876915c9c32cf23ba596091d87033402caa1e3178577a8bdabb61ba1ab8f6736531e68a2757a37a5fc053671507e697d60c33097897ed827c087395454d8399cd9b26fa7386fb4a4f445cb36a23021ec92b8322ddb82ba50f6ab3cb15fcf124ad9d7554861241e8822931c0ab3d7610dd86fee470f66b645f89589ec748313bb6d852a320bf517c87b8431eb64f6760dc3c646b10478d9837e781a5a83628dda740cd39739c8e5c557c72696cacb506b4e6ba1897d293ab6a25b962b7dfe4457af964e3f4792470bbc51161dfa4ca6e5d23eb0b09aabb20b2a7740ea20814283bacfe39ea82a852af229faec9f162462646a3923681661612f0803c2fe15c2179299aff7896a5a4f8a254c7f61726ddc35bc89b64cd9b462d176c277959cfc8f3cb892d0e854af1b3071c6c37d7576e205a5cceb7fb06bc9bca48656c3498aba977af1a91d4a61383ba97385c55669be0374b63ba40b5ffca11a230c703903a9a56c0b693702d45333843b3b5cb29f12af0eb036c85ab5d8db30a3692a10ccc03d307d6b97ae1e097aa5f9ae8b8754a92105f7a72bb97074988064312109f0ab07ce1bb25ce9b4a6bc237e5740df587fffb4c89847b2e2b74995b96df477795bf1232d31a73a30c1a0512ad5192c2a162127e164746ca57ea222f94c671ffb43f7ba49b9ec3c915111df3b009d40463693c92a8098f9f3289e13776718c7f546bcbf7ccdf9f1a6e0384da5f2825d111b26a11cc4b250461148bfc17152e40eba73063d096896f6bac014b9e4aac49241998334b6678158e0c29e05433316d64688fb4bb7f07857f641cb90c4efe928505b108a3201191216810b9e21643a2ff1cd4ad66f5f757432654a4e328352938f1e4b7e4dfa5274e601202aabbba78aab3546fd9935eaa99986bbbb839954258c2fa7a87ea97c77f4c7aeb5889722dcf6f13ec43c01ebbcf9de78eabfb29718dbe3e2d43037ce1262753670aaad84e69accd1380f84acd48b9d76fbb843c5452ee351e12a6cf3c13f459d34acac62c2b8999ee364e92f3e8ad5c6f39944611478cd059176
+4589d2ad9c50e154157a587d466b3a2122944afebb709de3289100f76c2c19ba
+Ciphertext: 8ac92dabd54271301fc1f24f83a8ffe44dd9b483058f00780db2a41f0d41dd363011d7924a1c507df8ce7a710392dc86c7f9771aff05a26fe7126d48a0341c18be28dd730309893b0c7fbf9bccad3d3664a93f35b75f517c92a57e8752b0ded010773b4f8b701725200a9e70a90cacfef5c367cd160c67f48d322b17e13eabcfadeee8acfc0c1ecfcdd9bf47d466c2301c51545fce15556de814669f3602cb0f267f2330e96a92732fbf8ade7071d7708726d481e65c94fb847604f429ba7014236bbd1a1cb285d8319aafe0d478a841e64b28ccfcfd6442abeaac9473bc199dd0715c3993483423e6f487042697c31aa3f55e1877a60f6681aa1d547b0e8537bdb1e67807f612588024c90460be6aa8ba7080b81a920a3f70ba95b6afc6e70885d40e67e77262ab04e3fc096a442808aa4702a7aeb67230503b5df95f1b95a606757a1c37d406ae4f1cd43dba7fb6f81536b58d30d86d29ecdf1ca217a5e033faff189f45368be5c61bc977cb61033e45e35a84a4f70a605be307d58ace3051080abc4657131cefc525f3b10460313065784a064cf4d5af0785f6dd3e752b101c65ee80ae6ea030aa806677c5c83acbecfc76782f2b643918cc89c0596fd0e66f6e786df7ffef6e9fe7266a8f2965997c070fbb50d55bbd1675376ffcce607e260f5c45f60f2a1df4efad9fc7f38e62ad6586a3797a7e316907b82459f365ab8974d7657af8aa2a9e6cc400f7166b69d5ea0c84bb3a4c1634965be416bc9876d5fc4292ff47ac0a41aba6d97c237641ec347467c904c4de002797384a8418a723aee5e6bdc19205494127ae8a0db1389adc4486682a7b15686cfd660c2cd19d2c27178093937ce2e3bd01f21a40df71de0b084ec6d9d9c26b7be2bf87056e4b8db8e86fa87cc86048cbf2c26a128ccf620e82c9ce0b832736f6bce5c329d2f46deafb73b49c3427a09cc5a5f45f55d1ab42a2a12f4d097d015ba875e43c63764ceafc6e36bf0ae11f0149c31fe998a1600127152d5964d13fcbedaba84d67f626c257bedb978025e129ec434b2e16e9fff325e608998c0ee5f8e280598192539c04ea2d0967cb634d73b8fe971226128e60fc93bc22505dc2ec457f8c5f6121cd473623b404367ccec35076b5eecfbfad8d73b1ca97a56aa338bacaea961a6cdfbbac3440842eab315752243fff08e7d960ef903427160029f406744c3601b3cfa771432cafeb6525ba8716785d935dba04099414258fa423cec4c2319ebd692d27636328734407f3daad283aba60961842209da6e4e1f4a5ff5a8b9a80d232375b4ce6c5ae469295c0a9f7450acface7fb992e19350ccf1144c0f71471f9a55d17ff0e9585f8d7a5d3d6f490b55b81151397ccce39fa488dcbe433c28c8f4522eaadb5735005e3c37ccf4b177f28ad44cf79de28cb3b6ee8deadf27f3c01e91ad4b684519eb7b99c2a88358203dde5df0f6601c53bbcc7f1a9485b68b3d63e15531bc04a79ad256adf1f31b4648c2697781c6304c8bc0a3c09f6e24c763b5020512f0ff4909569b16e6bc930b54b64b9c1616482f720b83a4cdb4f23b88a529edcf3fdbef77913866e63bb5ed94d8054b24a63ac6c1fc119c660d0ec31535126d69d7bce2b6ac2e038665e4b4b4eb077d221b568856baa859377db3aa24df3f6058d0ee8047252e6ce3ae558d80b9718a72d67354765416c665f3a06a208162f6ff260cc0ccaba916f4219087bcafff043f0de61363db383f5e100eeef4d55425efb0f9be1d0949f885c5f5fce5fe0b1968c76a45a738e4d0576cd4c776bece19361329d510dcaa0f457ef980a191294140456149e15ff062726f4920966121e0e5f1291cce9063e2dd1633ae2be7146db8e76926a8b18d74dcc0fdf3b6cd54bbb400dd48d1c264f23bb755498bc5d6db9a59d771bd530e9e3c40578c8a12aba46964748fba616269bc368d0957d4e9af06a50019145a68bc388e6acd9d5ba065688ccf76435279af3aa876602cb1ce4a230225c767773301865e71ece97805cff6673d04dbf7a36f0df9b31f631836557bcb01af253ede2d0985629561775f5f76b899472ab64f03f66deee5052f3b26c6cdea7286f80227bcb9d11e02fad1fa4db4f41899e932d1fa29cbd59fbd54998c71a4b2319957dceba3ebcfc14f30f9627f61e37e0b4c43c15461e937178a3232a935d71951bdc08e90d995f9709
+Shared Secret B: 915b06e2921e25916a5bce805f36c648ab89d348e73ddcd53879bf6ca7ae2e44
+Shared Secret A: 915b06e2921e25916a5bce805f36c648ab89d348e73ddcd53879bf6ca7ae2e44
+263c4d8b6c80e029a67b2e685f8c7c101b6d84c19f483436a41146e14925d18143a00f5a307493d081f00d0a823117b25b2f2eb82306280505a087696e2a46c877012f0da937e970dcc22b3ed70dbdf9941ef3063a231e0d09c2abfec7dd70d5669fe2b0d7fdb1327a2146d91fcdff617518af48443f3ae7845bf6e20b5c7d85faca855853ec0eefbdee6380072a8fbc3410b06a28a73d7932f180ccc23e4935a25f247b01b41c215a285569b1496f1b528727b526f67cb8a967134c7c4bebf946626741e80b53cc7e2dd511f1c42c850f5df4d5ff208e817e0090d13156f7ad22ef2185785e621571091457d051a96eb1dc069e2ff878687967ecadb1dd794cbe7e1a25ff082f7ea568e37b0157249aaec67243e6117af13200bfe0d0032d0261e66cb8d0a0dfbd0e2fc077535bd1fd27569bd731bea63306f187a11872f95df6ea921e45ff8d3fc1babf066800e31964edadf9e3fdf86dd9a7f0d83ecbbd5e0a83936afa2a403f292c61d2190db1147a2165f1383030091f41255377de4d6dd65f43d37dab01a9860fad130e8240807b12896d87488d0b1ad61290623472d61564d5ec5e9517a8f98a97e4881f604cf72495e17f9583f6e2984286cf8a13f67b27febaf73422fb164c107c55c661ff412711b7ab9aa922c2435f436cae6acdb3476ee7a9946e78da1d5f96c6c893f9d510fc564e3aba376e832fb7a8e9412f317c3b4f2f32e5433b932b241252bbd4bf4a99d1e7ff6da376c32a90ce8658db5a7a68f09777bde2d400985a851b8c006bfb25211d6ad0cfd0ef292e083834c142e1cc4cee41d57ab8dc938287e137c3fe55242d7e44ba6f332ee5dc94697cb333894f0e079721ad0cf1d1980248aaf52e8797f86271c16941dc033672ae76b6945efc27f3f31960fb94f8bad99f407a6520bf1c63ae6c9ae2ff8c066d392230366a18cd9e855ff397b5381329f2f6788e429b0216ff28cde414dbb24688c9baca819a8134f4f8ab2dec30178fb800914fcf200fa211c0079338e6a4303b0b53e2602fc99b5f5e65cbfcf708dad3a97387a6eb0360576288854e2db33da9fe86204ebe8d8fed8d75523c2c9226ac321e441818a112eba198f8c65f97f57a1b66be324b82e57d46979a517c7eccd00c7fab3418434d64aba4958ee74aaf7ab6f25ad87d9e16fbe1e675b8383b48d3cd3ae0c714ab8211a457555b56d1f2cc3efa84dc4394c44ce09c11c3162f7fe577d559c1aa6ee883cc4ef75a39d2c1bcd2caccd8429d27a12bf0f27d5ee0ea6da208f8363e59e50d39b65691435de9703724b0f26cc365aa65dd03be98ee2b7694ab417522c26b7c4b558f66ebfd660713f633a18b78a8f6bcd7d484e019e64b04856c6eb8b00f403ebc6875cf7af78adf23b2ddc3bb506b5ba83878b15c9d7dd4f75d3bf08413e14cdbb2f3bd2401ea286fa1c11da46abbd66c87ba0ea47d08e48eb242acaae1aa8c9b0f614ec7a18851c0f9b6dec061f54b1aee5a3f1fb04b58faaa5c2be7df04b3f0cbace5c11e63240bf3533f08b1b5ec9dcbe90cf8addc67780ae99335fcbb95d26d93df3d779a6bdf240d9f3aaf47bb28892cb5b52260fdde73343c9210f419a073a65292bf172a112414cb6557183031346dbf9a1b8d3b4666200ddbfda1f5aab2ed566c5f9201c5c3fba9602635da75d7210019b77fd6137c2e657315ffb95f7321a3bc4a919d101b414e2ddfebf373cd155cf7e5062ccc8bf04305f5d9be277819b27f52b464ef7855146d9ccf9c4aee4fa38d9b8af9f1d62d1044fba99a690ff813471cdde7f0e79cb2eb4526c193ffe87a5a1ee29b4387fc64fc6061ade9160c334d5b867afa7f021e70393bbad3b00fbb439ea793b28642fd3b8a285befe98d07c7bcf62ef74b55603ce096f17606978ff74ccee68a3a010e01cc7d5fa855d9fccc994f87000a311c32257b54aab0a15425ab5b7e759a4994c6c5d103911c37c614390aefbc5f4c7e78387fb2b9ee0d7b2833d7521a3eef19aae87de6b69b17dfc19e30003f85e629555b4e1b2cfa76efdf8ff1ab781236cab5fddafab8bdc3f5ec16c6adfabeedb421c846a5a61b1fd66cfe4b8f19b0fcba3c022fce3d4672a3d457bea36e43c574e9473761835f9d61983e9e78e08e28991156113763b51ddfdd3a7c21a341a60c1235dae83e72f6b9e19cd74c6b7a631c7abcb3be2a8bb9d614240ba437
+Pseudorandom shared Secret A: f7f9462b50e493bb6a6c36aa187b278fb753125749ef3b96780d9a1173df5a6e
+6d08d35e423281a6812d1c6e9eeee33147b52142b8664e05594db6e79bbbea925b5ca733950b6973c249e642de1c151111c1787616e68e4a1e6b897566546d9b
+Public Key: 93ea84d5989ab22652de9067e3339820039d80e44a24945a6c154c730a83457976aa29a354cccfe7fcad5023362fa80422faa2fea1ce16b05aa43b581f8c8f648940f6bb4a5a87b6f15940804603e23880ee5028af5b4c1f040832d56841a4b981c80288b65f6f8278f33a16f912a0a36161435b61857b65fa20bcb9f7beef8b3902359c66e25a766614118c5caab32055783103593e0c76426f36c394f391de6712efe1c6e101b42e3251de5135c91089307bc03712ad85b33e9e8b5bc21309b4ccbe49a022da5a983a6679c5b4c84620a88124276ff83d8a0383ab84223362173c740c8241b74d7032410ccf59ebb158b59823b45def1532d4097361371697dca44bdcac57360b58912ac43a0c12e34b234753d8682ae881b5c9a314fc2ac58d465b4569552d2477531a66df4c4cb2b18491c161aaa8294ef1cf4643611d70a2bf585044db640deaa6b00b81c3cb889bb547f5ac154c383824239dcd45787024cd388130a53c4791bbae643c7447fccc57b91ef6812a3cbc97e3c691b7b18d781912f88a39aad39779e54610d4430a1c76fafa0ad7bbaa47a45b4a44244e63862bf8347bf465e830be276803d412b205183c3f59a50fc47eec27225ca9888c7a4c510304d5ca5ed5792656d15b63a30bd526b1b3bc820f8336497baa81669f0bea2bc220ba31275455d09028e119e1c0b4513b3cd4438ca52abc496b5b2e731c9acb5889757200371d003c7efc4c2923896cb5fb48ff2a581335bbb7a4c5bb68107eb6146e4375f43a43ae678a833c773dd2c460607a4a40cb5e8a5251514c0c692d2ac21dfa2c296755543601bcced30f656a4ccc82340ebca175c4191102446275a1d9f669d405014e881e98b676afc82a1c5a6e7fcb482a1a13ca311fa6765eaf474ed2ca8ee2e056cbc469bef18668405023926309710cd1d4a2ffc42af54a8c3fb499781579812007fd4a63929a1d945a38d88b205a51035e31710007c218f23e06e83408507f76ab6e382c1c52940f3d0b0d67a6c478a69a2835a82c3674c0e29d430806d2097fb2b35c5de1940041cb13c910db779b64f9a2af01718235a3382b19eb853cc1999998c00090881cb45c89c770c79d5a8772230a9d22791ffb14ea53aa96b66cca4acd8fbb03d642174552682d98c8089801a1376c72ab743db20e7c62977e4c9232cc44f3c95d6761062f9b73456228fc935264059fe476bab4f0a920917acc7989afb69126f5c2d105780da3a3c4a38ffb932ee7daa6fdb8c5ffb0577c367845f75f2eb545db05ab7d20c9bfc57788ba8725c62a06c728b84b5b3ea39fbfd7af0967703ee7b64e26050a741f69fc70b0bac44396a7be3a90018734ae0a76b5239ff92945babaa880d3907f347b86d8a834e02f660764ae88cb300c3f6e77634409249d471f64938c7e70b08492c66372753af46d71691c95a00b86124d552b482266b6f463620a510f823bb406f509bfd7987cfbb113e0104cb04b5861698599b8aff57180e898d494adbb15897efa3fb7c76c86c21a37013f61e635f5bc422865a585c9c6ad34a804facf6b035bec34a65f645b564a3aac7597b6911b4c90006f66cbf338a802714e7567b30c0770c82b6cb9f042f8614cc25a0348f9599fe5c65638737157cc11eb0d80866c51634ca6b3435ba6ca918557ff4c3174eb8e85449cff2b798e054cbb32531e633e1a9810f61988a0d60cecf62918257769941ed9c1618cf45e78c028f24bc1ff2a0b745665fba04869f38e597bb0007d511d90abac794ca3cbba9aeb391b846cb702b0ec0c8ac23a318798c31851710b572feda34f00362d36d623db678254e32662b6a5fd326e9697010ef4078ef25c099990dc082e2100ca83f36cfe8b9052320bcda70a2f641bbb65bbcbb5647fd0cbd6c0af7c1bb55761785e9716e2480519714e6a12bb2283aa49b3743b3965286b45f6709890953719385a656ca270e902805771ca087dc4e9c504656aba35834db581cf578efbfab089498724a34af043468c517e754489149051a1e77a1332231970c9f43c1fdc513e902364efd60e42f965ec0018259276f8c2b9ca503188d8a612b5a1fefb013f17a97dc0cf6e2a37a06261f4f42f4daa556493231f81a915a2734b7922929b6d15a6b9c6383c77715ba6610ce9b416dd44a424940c88db7808334323ed107046a705c670bff4311280840de3e264f3
+Secret Key: 5f4a2b7dc30c06841640ca3cc90140d4f010004b112c0b085d0b4e7e245ef6c51eeaa18c09b054887343c2f5394577a379c6806aa005b1b64d8b585bb6f42e27494c5b4c42d1a555a5295e1e050e54c1731704b0bb174e7dbb68d69a51189854d2432cd9f5bb32456276c8a42bec6aea78a784396ac3a9355514b7d419ab2bbaa0e8d428a1a014f2535941d416ab6a39f81a85e71429e59b70e51241c33558e0a50651073f41f62d6f044b6f80a1f5f80b526cb5776ca1cf13af009119d59893e9c77372278661484aeb090e86cb7481421a22c7618e99226df73e30891856e5721500afaf56c22c539e59954f56317934b43d8a84b8d61cce7738264be010c5db91bb14c21db23ef1ca4ab6f5b3d08bc3fd3548408acb6a95ba1c046af149b9e7915f05e80501f73f183384a3e45366215f2d0b357127adc217cd58e3b5bebc370d9a00d04b4147383c73f504d9eb3081bbc11a13b9c4da162c65b41d32c55bf25ad41c7160778ec1c11138a3816a9c23881bc804420873bc13d9f4630deac4bb399e1990986ac63de176c11a1b1dc2fa3008f82685b021012ab9c7ab5a8bd320aecb7a46989f6ba510a3b038059a67b5098cae282fcf4045638c6ef7210db232a43ee09ccc7252dfe7ba480bc7bb7119351991d42965bbc64172c572bf1b3f6d8906ccbc4f7000412171ca06890405198597211644b0717e16899c36bdae6c88acb0725bd9aaaae989fef280bfb72c6ab9b51a4423a39004fa3292eaf2ad9a2b001be06fc55c32803b96ba75c779ca182a707eecec8d3ba79583ba1f0f65a2c4aa3379223e972729f3a7304ea8566990b8479c86d6742edbda25585849ffea962eba334cd018b839a27f30200679a65de727da18cfdb138eeed80a450c635d82161756354e7b6d197782efe6b3437510a705aef84b5867f56a10dc33ce214a7cd80fe6a474f0babf1377400959aba9d6140f0a6464b69487902337c40de796431f23340e1342e9629d2e7b86442a5700d27d9967a8f3da1da755c008f909c518c05d2439697065148cce4b0ba107c3003597bc43cc8edb0b51bfd77e937631f395b469c22a3d252d99bc3ba59ca47a54cc40e0a8f61796aaa0cb703caf00f29b5b61cd54e3619d4b03ff315720ba58c7168208da6a7bb1886cb04b8a21936218ba231ccd392a9ebb19ba23f3733a08a76e6a81536a383076871af98af2541558a83edd117e4b896704a3910aeac63dfc80a90170d9036e133a0ef7f2459f4964ef0923b1e02338b24339bc39fe66ba3fdc42810232c39380d136c019dc504e770136736f7c543caf8a6493a9b190782b86036ff5983221dc029c6861a574a908ba50722c82a7712ee751c144d27b04a754a3d62f0273b4781bb56574bd2c0b5d113b8ae97968abdc763a6324a72734bc59a9780783678a2c11896998836165a41f295a8a5e38c55de7c707d449c7a991bd17954ac29cb043048616037f97b044bb312eca07a15354f569174c1956bef673046231ae774e738bc7a2d9c130d8573997baa907bb65f722de59b9988c992d2b6258e3b5dc6b83aac06e9a71c2e20761f2419ee1065dc7715b41bc78d9e36d4ab92d91dba378c4a4a246aa7406a52c8413c0717840071bc06558b0d780e5f98608b216aa995c2429bc353270ffe14f40057b42fa004265696d8333b3016abdc80065a4770c2a2da21c1c3fd802fb0ac1cd302781d37c26601fccfa8ebb1a6518436bdd68c7b9f197f45c33189352b6338af430bc01962f614686b60713391a050628a3bdf1a06b695a69e07c164ac6f331517e13b27e4cb0abf7a348f122ac72726ec76f74d98ee708b82c67968e106077050ecce329b030335a6a69dee6520be6c4f0a8040b39c7d2ab65725716b1c847693c9ecc122da9d7326584a281f3cefefc82da1b1f3b1634dcc323dd695d72d0342f5750c847b03c969974c2b8ef606110c60467cb9840d47833d49d3a02c8521a38d9c90eb6109f7bd4295263b2124a224054bade4c87d0511bd699a21b9c52b650907b8c5f0334ac8a54c2b87146166647064088e73b65b75a5b9243bf2f9c3b357988e809c87fa542eb4197883067020091b92560637599b086c7b13953e3a448ad3042c4015c12668df13a5e92cc564879a475495724866d8d585f93ea84d5989ab22652de9067e3339820039d80e44a24945a6c154c730a83457976aa29a354cccfe7fcad5023362fa80422faa2fea1ce16b05aa43b581f8c8f648940f6bb4a5a87b6f15940804603e23880ee5028af5b4c1f040832d56841a4b981c80288b65f6f8278f33a16f912a0a36161435b61857b65fa20bcb9f7beef8b3902359c66e25a766614118c5caab32055783103593e0c76426f36c394f391de6712efe1c6e101b42e3251de5135c91089307bc03712ad85b33e9e8b5bc21309b4ccbe49a022da5a983a6679c5b4c84620a88124276ff83d8a0383ab84223362173c740c8241b74d7032410ccf59ebb158b59823b45def1532d4097361371697dca44bdcac57360b58912ac43a0c12e34b234753d8682ae881b5c9a314fc2ac58d465b4569552d2477531a66df4c4cb2b18491c161aaa8294ef1cf4643611d70a2bf585044db640deaa6b00b81c3cb889bb547f5ac154c383824239dcd45787024cd388130a53c4791bbae643c7447fccc57b91ef6812a3cbc97e3c691b7b18d781912f88a39aad39779e54610d4430a1c76fafa0ad7bbaa47a45b4a44244e63862bf8347bf465e830be276803d412b205183c3f59a50fc47eec27225ca9888c7a4c510304d5ca5ed5792656d15b63a30bd526b1b3bc820f8336497baa81669f0bea2bc220ba31275455d09028e119e1c0b4513b3cd4438ca52abc496b5b2e731c9acb5889757200371d003c7efc4c2923896cb5fb48ff2a581335bbb7a4c5bb68107eb6146e4375f43a43ae678a833c773dd2c460607a4a40cb5e8a5251514c0c692d2ac21dfa2c296755543601bcced30f656a4ccc82340ebca175c4191102446275a1d9f669d405014e881e98b676afc82a1c5a6e7fcb482a1a13ca311fa6765eaf474ed2ca8ee2e056cbc469bef18668405023926309710cd1d4a2ffc42af54a8c3fb499781579812007fd4a63929a1d945a38d88b205a51035e31710007c218f23e06e83408507f76ab6e382c1c52940f3d0b0d67a6c478a69a2835a82c3674c0e29d430806d2097fb2b35c5de1940041cb13c910db779b64f9a2af01718235a3382b19eb853cc1999998c00090881cb45c89c770c79d5a8772230a9d22791ffb14ea53aa96b66cca4acd8fbb03d642174552682d98c8089801a1376c72ab743db20e7c62977e4c9232cc44f3c95d6761062f9b73456228fc935264059fe476bab4f0a920917acc7989afb69126f5c2d105780da3a3c4a38ffb932ee7daa6fdb8c5ffb0577c367845f75f2eb545db05ab7d20c9bfc57788ba8725c62a06c728b84b5b3ea39fbfd7af0967703ee7b64e26050a741f69fc70b0bac44396a7be3a90018734ae0a76b5239ff92945babaa880d3907f347b86d8a834e02f660764ae88cb300c3f6e77634409249d471f64938c7e70b08492c66372753af46d71691c95a00b86124d552b482266b6f463620a510f823bb406f509bfd7987cfbb113e0104cb04b5861698599b8aff57180e898d494adbb15897efa3fb7c76c86c21a37013f61e635f5bc422865a585c9c6ad34a804facf6b035bec34a65f645b564a3aac7597b6911b4c90006f66cbf338a802714e7567b30c0770c82b6cb9f042f8614cc25a0348f9599fe5c65638737157cc11eb0d80866c51634ca6b3435ba6ca918557ff4c3174eb8e85449cff2b798e054cbb32531e633e1a9810f61988a0d60cecf62918257769941ed9c1618cf45e78c028f24bc1ff2a0b745665fba04869f38e597bb0007d511d90abac794ca3cbba9aeb391b846cb702b0ec0c8ac23a318798c31851710b572feda34f00362d36d623db678254e32662b6a5fd326e9697010ef4078ef25c099990dc082e2100ca83f36cfe8b9052320bcda70a2f641bbb65bbcbb5647fd0cbd6c0af7c1bb55761785e9716e2480519714e6a12bb2283aa49b3743b3965286b45f6709890953719385a656ca270e902805771ca087dc4e9c504656aba35834db581cf578efbfab089498724a34af043468c517e754489149051a1e77a1332231970c9f43c1fdc513e902364efd60e42f965ec0018259276f8c2b9ca503188d8a612b5a1fefb013f17a97dc0cf6e2a37a06261f4f42f4daa556493231f81a915a2734b7922929b6d15a6b9c6383c77715ba6610ce9b416dd44a424940c88db7808334323ed107046a705c670bff4311280840de3e264f3dfd30b29a24513331df9c6a913e0b56efde554779cda1279fa6a9c35e27229bb5b5ca733950b6973c249e642de1c151111c1787616e68e4a1e6b897566546d9b
+5fb31bd6bf7c1b7595592ed9e590eb2ff125f1a2510b15b9a0587b813084bc88
+Ciphertext: 7c01232c2bfa412a5b0ff40024fc9fc94e493868326eca7cd4fe0689408e6f2027f2c55c42e7ae10321ba154cb1402b03c620148ed71c0d77fbe447d5a9f732f3eca7afdba0c41cadb07f4f3f18d11bc2a480fe39f01c4078b53c8c75bc684f63730272396dbad4ff1414117e039ee2b0841fba96c18d7843b5a011049e2a036f7e74425b4e4bee9f5e51072185e9f12f2193ce7d8f1fdff2a7190923c878cc7d4024f782a5c47176d3e41bef0c7fd535945273617f41e03b3fbdb54d03d3de244e3eb5b60cb9e95dae8772d8ec3c93aa54f439883c57ade3bf46cc57b2efa3b6bc79d22f70d55e04c8135a7285aab63893e4f5de5cc5add41d7b5a8c1790db9c26cac89ccf408a9c0db74a461c68b4d33dd745a7e3a9ffc47d483b10314c3941b3f4083e69d2f0fbc82e3a56b13c5bc4e0c2298bdf06acdb1b891eaaefb299e0ac58d3eee8b12edf66c0ad1fea3e20a45a16cedf2554d22b16ce545e56d7f7977c2dde29b75b6aaa6c2dac8db7a374c074c95fde1415b9a0db1c93be34a854f6bb12896863500d4053cdd004e5bf2d94bac12c923f54c52cbc975cd34ef7159bb1fb162b5e508d02d7ef726917d3b9706a73cdb9752f80db9d774664abed271dd2520359788835bdb568631a7395a1f7f2ee8a6fc962a70bea93e1961788d82dd95210e248628c89d79fa7cae33a50d1e59ac6d74a5efa809e77bf2297a1686b4e45a73d33de790ab9576a7848e97e58c4c8823f85512e84573be131eeebc7efb010c420662d6ec175d49edfc26a1a8772e14ca9690557b096923f673e81f3d7c2412dfeae71908803a634bc91a8d38834f1aec4637e5c6209c2c8db904d2dc43ce0088e4385805ee7df9e6842a1f3ff8557230a61aa7b9a1ea78dc0153b2b0402434f87438fd1a33b80946b6b90c6593833db1921b02d198713eedc85c2d05af9b945e86ee322a1cfb8491e518d78680ecab20a07b45a7691459feeded3b062259f90cc90db68b3dcd00a4785e069532ee01bfa1e41155407b62a4c3bdf303e003e58037bdf632305aed792daf96e4f73a7530185013d408eb455e656026a08ceef03a34cdcb01b538a768834f8b155f4a88d6e36b2ff96c976fec97973baca10ab889e713f2f8bf6bdc37ea572b2eeea1f66f129266d3a9e8aac92b0ac8bb4824f514864462b246574b5cd0e6a5967d12b7b097c84fbab5c90033faab5219d066e6932955e5a3607f25801b178fb2cc2507bc1068c09d23b2067bb4fbd1b0938c2cb8025946a4e6b3ba3a370c4a2f2002ab5136da8834b99cbd15802c6feff21ca8281cacca48d48c93ec9a8592a9bf0b7327c7c372fd2bcb4eaf9f23824929a501a29795872527cc1427460ee09b85246c95947128d5812f7c7a962b6661bef85a29d91bc9eacd3b4d2a7b3591e04734b34fa05126d717ad0cbdf225bc6a5b4f6ca729df8a9fa685d57042f01512ae5f175e7e7d163fefb10b4d17feea11167e78d613af0541bc6da0122fcd6f241806393875eaa6791266106a9bafb8ac10c4e670fd1e0cb07bf70920d26f1a9d830e6932f858c5f3efbac545d47c68f14925933c43c0bdfd37a6ebeeb69dbd7c55a5526d227056b4933209302f86d647c136a88bf476bbfafa739aa863164d2d21624ac8ddec360d0912efd473361379144d933239b9392b94a7a6b3162233c3bbd3758c40251b66097a8436b69b2178476d012e6d116e5bbc5c42fcafc16e951450bd2c8b5f3dddc9ba37d2025ef882caaea866958210c3a210690fc8424afe306c9ff0dec66434558e6a3306fc732dbe334445feb194e0a40692ff19425b2a28bf28cb3c19afed80304f7dd17a3cc5e90eef8037b3bc124e4602a2dc9dd6f0bab9151a6fbc49a99c06f7eb8762ff39d3d829db2e6e3992ddc9861d7374f7abd4a1f094258cf03f505dfc22119df3bc4838bfd3d9b1a8e987f13f1d7fba911a11fb1bbd82ff0fd2b38991be1557952d7248e9966fd9c0b38b2b10b66a9b99dd2158e747bde9b56d0f45dd85d1e725caab5028ef3c236587b7d0e81a3cfff50aeced8e58c063c16ac9b266ae847b85d3217a2969c6537945ccb3587805f5fe40f4a9b9010ee587c902b3665deec73d9c6d2b0b0183cba745693a4bfd5632f16e88f1e42191374a898796e2198fed39a5b1ac39e140ab0d5ff495f698669f2ca449f19791c52b01f636376dbd3a5b0f61
+Shared Secret B: 23409df6197cd89a8feca3977d0c7fe20434883cbe8b3f887083bf227a7ba527
+Shared Secret A: 23409df6197cd89a8feca3977d0c7fe20434883cbe8b3f887083bf227a7ba527
+e033a180206cea50e15e2870b37dd84ccc5b5c723b85d52d3aeb6f7b049ba8942072d88dc103c035cf13f57e2771cf3fc9668f271c502e83daf1d1ed773dc66ce18d46e4c4320017d8599668152e4273d0dbebf15499675746d02cbc3c715d49f46b8b59fb08506505782023a6ebaed03241cac1c66edd932d20ed52000188a7e259d98c355d79a617d33094c565315fcb98fe2171009621d085febc8ca7f72b739ee24dbdba18904f0aae1b322734fd4b5ff1606462cb9d639c8e9134b5c0af3e35b190d75c76a01e783bf1245d29606a63d926bcf2224f7e9ef7199fa1203e0d8627b8719c79cc25da3e616ded0d01c0e4af204ab7a781b3854acd350b9d20e42b03a44a3d0bbb40281b756f478a4f02ad7be1bf850b1ceaba5fa735f60f44cc3ebe49feba4331990eec12ae5de20990161eeb02930352c89ad3896faf41ff4a4306479b3a5a75beb96215b7ad65afc04dbcae4657422b626452fbe33d708991f27f2262c92a223dc0a9262a3374aa775bc9400dd61d68a4554b36943e2c33028b57cc90c5945ba78540bfa0974ad2f1616196b5e3c6b10de0bf45e61c8afb66255e865c4c700805b21a725ae5eab1bf2ef4a5be7ec052512f3aaeb605213e7a17bee43a8c9f2ffcf6a1f151629ecf44b0af0f19dab78fbea043ab3bfe32337d24130b9ff309c3254af226cc30373b601cfa9118710549a7a074c032f26c4201003eb6719b2d114a90b758f60523bf9747703ae33aa6d53921d7615f6383f87756b19d65a9c3b805f4a5423ba30c1a0b00eafbbf4c664e247cda362cfe937970e0ea11e82761c15127c51bc6a9b9acc96dca85483e41b80a60dbb6888e8e22beb08256deb0af4734d059a0328ddc1ba0b432d8484c0b103db1c2e66d01e54fd7d4a5ac4ce7f97f3c881f29b12dac452f3b8faef51489c23139d33773f2dcaa8a09159d46dc251121b18acf0ab4a53550588b78715dc2ae75e5df4a653c06b69d55befc5811bfd63f9cfa31511900abf0654d231cb22f7a27a7585e0d725e40654a2313cad95bd08d7f4222e1acb272531a0c50445c82a35044d4d2b9891322bc9bc62a09c7b299dc74054b992b54535c954a81f8aae8bec2c4f88820d293bbcd5e56db34e7fd6f66791be45d7bb18d51077b77e78a550b7f4776eeee21c516e19025361736a397c9984d46dc0e4b71b210fd3fee8e7ef5851bea53b5f2c7b2e54cc37a9f2e94b014fc7f5b3889c88f53ccb545726b162b3a5a9e366b17c6ccda0529a1c6a027c3b0729a564ea2f22b5df0f87f96557428eb5972170c7848134c04136b8892c27640ff57d88f17d296165b89f35f6790351c1cfb6fcd8f64d0341995d538ee93cdc650a125aeae3b2cff5646440521647678d962b31beffe03b23e49444957aed4a91fe7c694807b97072fa9ca9ebcd2a7979e395f4bfed32622514145cb7f9a40b62dc8e0c1cbaa4539add7372e4d26e120d3fcd8cb2231712af56dc4ef40701680562ab054f23a4a3f3d1e4eea384255a7587ca0db3a5e7e8e3007bf67a71af318029c309c0f27d031ea2daf29610eec96f0ffe620fa8135cdbe72538ea1d4424d9266ee26db26ea49319701c71d44d686eb8ff43bf12e3bc3b4fe582edc852be9fdb6293ee8d3259d0ee3c65271348b415ab291e9c3435165f2b03c696193476f7148df450d11c6588909f9bb5cff965fe015cf93a35e47d8c72e60b61ce81287f684d197762b17b73f064d853bfb6670e06baaf06ce9ef7befc36e3e079134e39fe39a0f592e2144d29f77e842ed07511b530b4f547da6f4fa3a440b6cd3d24c3cfa89168f2f72b173a1c459bbce7fc8563d8b7f860f392fc737d109fc9c3a5d8d7558d4482bc031208cfe4533e9979c71ac59fd6f5f8ee08155871ceb49a8b20f6f687ac11b3ec1adc66f2b76582996b6c738451099ead977adfc575ec89bbe7dd58a3b5056a6b0a6862de78352ff7be2061017edf9810891cf57a3d9af31ee7e2916510600b712895fc0ff028a1d7bdefe45647837780a135bb8d871e828d3f78d89500ed4a466b5140f31c4f2bed35393f7022c01f0a2ddea2f781f4ea65d50f6447f97194ada7154317ff678e67c5ecc05328d7179e4ba0c7017909f71864a7bf31fadd1f9585f0cf2ddfe71ce6a6e232a0d853102272be58fb5db95cff939d29e1425298496c278494d648849bd4b40a1be3504cc
+Pseudorandom shared Secret A: 9a4bc1b2cb506e8e51b61a3d3ed76dd3449df2b443d6c288c100f1cfc03b1ce6
+a9acfdfd4926942f364361bbc88c6fb099dfba48502ac87348cd12d556924c4f49e0aba620d52322f200540658c370ae5ada496969200b6c2cdc179acd2c49d7
+Public Key: 36c22505c463e8c513b2f146da7c6f5cb72168d39f11e8b428361b40eb4d48187000e59e6a082a7ec6770093ce2558b14d131edb865e47f799559ac0d95a25f2a25b3e09325fd4621a8743b04cb0cb81864d345b3d6c6186c703395c783a8abe6d10b0bf96815ed17435a29f48e59ade23a56ff44825e3647b7407eaa9454d522303873c24b503d742ba851bcd1177c4dc3880991230df0b20976c5cc673231073a5e202287c58ccee800c52bcc647709de9203620183c0f817a4cb85ee71a017b196704052d0bb99faac375e1099e43257b456ca5ea2a3ff263a7ede58e1e807718730218e19750fb0cec1b67e29b33762229984691d01b7cac0225f323a86b316a69907b2b0c4c2d0a19c4eb9788a58df734c4ace16667e138c31b4e5de96a5f34301a7069d70274f3153ef3d560d426024dabc23327b8938ba18a089e3538bfc6c48478484757804507dc460d479712810a04557b7ab8c5ac95b3c57120d9b6c64f25299d243da43c121571a2e71b28d1b5a424c10b76004e35a422e21a3723d996d4895683ea56b240468e0cc3a2e2686558ccf6c6164f6a4ebfab3b242b437dbb8812578303b7058bdcb2f8e785355c37e70737b60864d330153e0657af7676aef87fb8027f3d17a7fcb53a470b4f18120a6047a599c92fbf00a7db1b752cb45581dcaa3e8acc454a2ecd0a38f5c59d7451b778828ab93b8c13fb440aecad8da62d808950a5564dbcb5889b4c829d41824776bcf4029576f2249bd16747f620b91639f0fa1ed62b659f75afa342b4ff2c7fa9859e59a6124ee90b6546595a0b875841660a61c0e3a43d45009ade81b1abf576857b9c7e94447c8abd719b32f836629e8b6115901585c815b18476d014824c5b5df7c7c27461a7d72630a17c852b7516174a5cef2903081037a5689bd3060906406612bbba150bbe2755263ff7492a201e80559000b453b77246a7f70b03ac0fb5042002ac76754742e3eb5d4cb090c8ab41a8290dc9936ee6dc9a703366046755ea7b3d8b105c01e59905e47a20e4758a3a7fc630b36a4b4b8de11be3f84fa0648c7263a5eb2b736673ae1b619f28ac1087ca36d1c51d11b7c071bb1b8283c59db64bce9b2755b62f531582c1740421c5640c69cac7206f9cc95c14490d5da8905df287cdb58e30e8a6495565a2d32436c55fe074b297c16cc0794788629f45c66a0439ab06a88c0e57536c265bdab290a8f80ebd7447a11665c851aa3940cb9aa6be7cf936e8f070a39b8c2f892ffdd192939031108085b1569785503c2d7503c98a6f141c016d853c1621bef53224b892c552207d7a5255179b0ff88aa98b79b0db39386f929cfea3176aa82314a038056cc7899537f79c9055c438f43a680b6671e670848f199635f65b1aa38fa4b55ba6c7a9d13a75120c5ff2141e2397cad37366cb14cd67fa5bc3f474ae219c740c6392c1225f52bb2eb61a5e3340964128d5e22444d149535313067c11f2a95c8ec89ed5158fc1569fefa68cec8b285e473d9d0a783f736ab427adfe508ded57af03dc468e59aa9d486f0e45572d5807be512b5bccc1805105cf240c6b8313ccaaa55065712d012bdc13c6472730b9d098cf7b9aa4e63fac7a0c5559aae0578db146074c472142153f53c43ca2ea561e0c44d1eb77d86960c13a08a52bc200e3253052bab7f34215bc06bbd74e618281093527df911c692c5fca1b9072234494a9cba47296d2c946174a341c2675161559d2c5404d26bcd92234ea516be46b40ef208c82c079c645cd60e51b06129cf207b47dda8d394887e78292a7032840144a31e37cf5cb0f172a6e5537188dcc1c7e858020a601001caa40d0c078e1916d9b78f8e40cbf0c5dc05b599463aeb65ab4758cbb84a7cdc98458da5a8bdfa6bb27f44b6a38722553b3fdc1a163c28eeebbadcac491d48ba1f9736cd942b5220bb2d22ac12b236c5a9baeede0b2cdf29beb137a90965773071eab457886e2a61148502c5c39cd27cc4ff2690b9728a609ba7c142c4fdb6989b76e8308922683ae2bf47780f06308b260c095a3b4c0348d273fd24ca281b842f2a981bcc85f325869fd3cb96b94928e180262b55ebd3caa895ccc784983eac8a35bcb0cbf948101f6af67e02a52377783e67c2a01bf6ff79803f483efe6635e94639227a11ba34c4133572f1bf0aa4cf2d2f10893bc8ee5e4fbb5dfd2555e66adee
+Secret Key: 4f7888df201f71bc8d79fa3be946a5b71b9cbc577789d87f1f0b3dbd16089711b7b2ac33e3822fdff485bddc4b1f1639c619369cdc21d0398204410f260801c1c84a0cb0b52187b1f6f00f46d57b3f2ccf0e02485e63458b15c48d688890ba2377d081da70bd5f4c1669c2bd2ce96f2ba238b0b5b78aa02c6e1189147893cee09982c75820486e3c6598def52cf7da46038640c343a1a4d15aed66342034721eb0938749137d30716ca36325b576b63563641a13f4029d10f0befff250d050392a6947260638ecf81e480373e3b11191b2cab2d55b5ec069400c2c4ad79909cc8206237f887bc870c128ab0b680cc7bd27c98ce4a586445b42072aa62ccab0363344cb160bba3473b320b4d653be1c054ef3d3838e20b88e07235846839739563e643ef8c6ac904322ae10523ea952d1615f080545c66033e692a720d895b4d03084d9cb2b28bfad0b42e6cb24fe57a783193cab99661bbb0339283e42d89731d023cac14ac98722d5916e66c3b4658a6026eb965e8889b114687c617c0b897f4d920d065c963852c298f54b4b380cb8077c22719d17998b626cca22e89d3ad8186b5663ce8741f3f38d01f8ba01c00489469af3e3ca285678171ba6995baff974a86620be58e85f64198e360b40db2979c7d36972db1299c6a59517c3ff044fb6c6ba6ef29460c095ad217d997c6db28902d094127b29198fd9291cf08200104a253a71a0dc387d92653f82cef9416e6a3254a71444280276dca4373517c98595b2a5c070af482f9d5a39f74144b76247c357b08eea7fb0e6beed3b87e6767a17c88f2aa4c83f781eb902b38af2a6ce72aa2ee2670d8134c7f30d27bc930640b958ea17588c3f9f55c1de103745b849caa929c36194e1521bffa6494d396a2ad08199423872eb1dc5b588c7792c87b2b53a757c7c55a764d66e1b2976c5a7bb75028d5aac84f2e6ac5cf0808d49cbc5255dcc75195a4915e3728492d8604d76ca5fc239b68a1da05a303029ae8df3b4ac73ad22b5564d0a53a3a3c34c9517caa43ab30172e859932af50b4d0b174b23cfbe1104a3084c72b78d8d2c07d61686553683fb0c672720c285ca7797d9696e48742d058cadb50c1c1347c23b6b21b17cf8e988a238c7fd2871f2b8b10498a823f37f1918b205dc627234416c697d1b394b001ac2ddd8c7a6772c5954bd309c0c6f4637a0036d75ca2204155ecfaca64b35bf4ffca1a820cd6e0820e26381b115b2846ab687d21a9dab97d63a787096c744768c20d596efd6a12a9acd9f122494da8d1c588b9324660d7644f3e478c4fba40de1241dca8e4b871c7ac961cc4acfdf87696f1cb590c60420b280f517152a9b2fa82ccb2fb700e4196c54b2b62889cf61f1c9c4f6642cdc5dd6104e0bf9a91c03b85d6aa1ba0315a2819ed70825696750e0203e25da891fb37c08401aaa728a279ca0b33b47328290b6c63ab0e034a8b9b2f44c87c0f924d0f04b6b1c5d5741462ebcc59cf6186e306396c5cc157cbed7d39e7d1576580189bd901923368da92b3909758f1ac4c8cb4806b7123cba60376be4a3b1c0837908b132f8c25da1cd2e7c123f7441dbc769a0704719898cadc20ddb886c24787b0778b510e6716a39a1c9830e76e81ef08467eae06728115293ab012b2768dcb8a0d562739ae49916e1979fcb76bb99a2f3fc66a781061bcb05210425d29679104a15c398766e329582a71f0c10ac73826b9ae918f9928a4ec61b859c67ee4cbe57244a3700b0c2dc7c24a338f832a8ec8c39df9387c3dba627b94a66034431f12da8e0b2ee18229d42698cd415a4f450248952ed46ac9d8b521b2a4835d5991192bddfb36c4dd98b7e77769499adef753c6540a03353c2c2ac4dee307edb4a211faca5e5286c9a49878ee2ba6e5ba0c4697fe79791414caae6a44207732d59862ec67c09ed0bbe0dc7666232b49b066218134b882c48ddaa747d35b6f41c4a6244cc3f6b9057589fd58071b63591fcc6c635947b48e86fe2ab095556859ec40e5c0371b981355113491099c90b4b38e05293e665639e3174b1610f504c80ea9c62082063d28287e34a6d2a2c7bae818509f5265d928fab436179062dabbb1fa1c8b1b92589cfb24a812a061f511548f654a1c8c508157a909596ecaa7158e0c171d48604fa6e36c22505c463e8c513b2f146da7c6f5cb72168d39f11e8b428361b40eb4d48187000e59e6a082a7ec6770093ce2558b14d131edb865e47f799559ac0d95a25f2a25b3e09325fd4621a8743b04cb0cb81864d345b3d6c6186c703395c783a8abe6d10b0bf96815ed17435a29f48e59ade23a56ff44825e3647b7407eaa9454d522303873c24b503d742ba851bcd1177c4dc3880991230df0b20976c5cc673231073a5e202287c58ccee800c52bcc647709de9203620183c0f817a4cb85ee71a017b196704052d0bb99faac375e1099e43257b456ca5ea2a3ff263a7ede58e1e807718730218e19750fb0cec1b67e29b33762229984691d01b7cac0225f323a86b316a69907b2b0c4c2d0a19c4eb9788a58df734c4ace16667e138c31b4e5de96a5f34301a7069d70274f3153ef3d560d426024dabc23327b8938ba18a089e3538bfc6c48478484757804507dc460d479712810a04557b7ab8c5ac95b3c57120d9b6c64f25299d243da43c121571a2e71b28d1b5a424c10b76004e35a422e21a3723d996d4895683ea56b240468e0cc3a2e2686558ccf6c6164f6a4ebfab3b242b437dbb8812578303b7058bdcb2f8e785355c37e70737b60864d330153e0657af7676aef87fb8027f3d17a7fcb53a470b4f18120a6047a599c92fbf00a7db1b752cb45581dcaa3e8acc454a2ecd0a38f5c59d7451b778828ab93b8c13fb440aecad8da62d808950a5564dbcb5889b4c829d41824776bcf4029576f2249bd16747f620b91639f0fa1ed62b659f75afa342b4ff2c7fa9859e59a6124ee90b6546595a0b875841660a61c0e3a43d45009ade81b1abf576857b9c7e94447c8abd719b32f836629e8b6115901585c815b18476d014824c5b5df7c7c27461a7d72630a17c852b7516174a5cef2903081037a5689bd3060906406612bbba150bbe2755263ff7492a201e80559000b453b77246a7f70b03ac0fb5042002ac76754742e3eb5d4cb090c8ab41a8290dc9936ee6dc9a703366046755ea7b3d8b105c01e59905e47a20e4758a3a7fc630b36a4b4b8de11be3f84fa0648c7263a5eb2b736673ae1b619f28ac1087ca36d1c51d11b7c071bb1b8283c59db64bce9b2755b62f531582c1740421c5640c69cac7206f9cc95c14490d5da8905df287cdb58e30e8a6495565a2d32436c55fe074b297c16cc0794788629f45c66a0439ab06a88c0e57536c265bdab290a8f80ebd7447a11665c851aa3940cb9aa6be7cf936e8f070a39b8c2f892ffdd192939031108085b1569785503c2d7503c98a6f141c016d853c1621bef53224b892c552207d7a5255179b0ff88aa98b79b0db39386f929cfea3176aa82314a038056cc7899537f79c9055c438f43a680b6671e670848f199635f65b1aa38fa4b55ba6c7a9d13a75120c5ff2141e2397cad37366cb14cd67fa5bc3f474ae219c740c6392c1225f52bb2eb61a5e3340964128d5e22444d149535313067c11f2a95c8ec89ed5158fc1569fefa68cec8b285e473d9d0a783f736ab427adfe508ded57af03dc468e59aa9d486f0e45572d5807be512b5bccc1805105cf240c6b8313ccaaa55065712d012bdc13c6472730b9d098cf7b9aa4e63fac7a0c5559aae0578db146074c472142153f53c43ca2ea561e0c44d1eb77d86960c13a08a52bc200e3253052bab7f34215bc06bbd74e618281093527df911c692c5fca1b9072234494a9cba47296d2c946174a341c2675161559d2c5404d26bcd92234ea516be46b40ef208c82c079c645cd60e51b06129cf207b47dda8d394887e78292a7032840144a31e37cf5cb0f172a6e5537188dcc1c7e858020a601001caa40d0c078e1916d9b78f8e40cbf0c5dc05b599463aeb65ab4758cbb84a7cdc98458da5a8bdfa6bb27f44b6a38722553b3fdc1a163c28eeebbadcac491d48ba1f9736cd942b5220bb2d22ac12b236c5a9baeede0b2cdf29beb137a90965773071eab457886e2a61148502c5c39cd27cc4ff2690b9728a609ba7c142c4fdb6989b76e8308922683ae2bf47780f06308b260c095a3b4c0348d273fd24ca281b842f2a981bcc85f325869fd3cb96b94928e180262b55ebd3caa895ccc784983eac8a35bcb0cbf948101f6af67e02a52377783e67c2a01bf6ff79803f483efe6635e94639227a11ba34c4133572f1bf0aa4cf2d2f10893bc8ee5e4fbb5dfd2555e66adee1dd8471a5b03a297ee48a09fc8d43ad0afaf6aebaa9f1d2f73abf7701f51cf5349e0aba620d52322f200540658c370ae5ada496969200b6c2cdc179acd2c49d7
+5460e65834cd4555a88cdf41922331ad67d56afa39c076dd5a89e64d9221ff79
+Ciphertext: 1b3b17ffb92835076bc3aeb0597028a27a9e0feba930f05ca3ec7ca943d309e7dc6abb9cb652ff9bb80ad1cc62a8cefcbbf80cfc5c0ab27c51ea3695d814f00b75ba70d21bc69e84d9e6a83246fbffd5d3c87e25be1e401727a00938db674abcb278885de2cd09ee2e589f4bd52ae2c0de4dd4504ebd6c3a434834ed119cd979f774e3d4b7ffeeb34ccc968dad126d2e1238be570bb8c24c40f02c895641d0f9831d8ab33806923e962660cd9ba1d0c0c5e3985f12ab8fdec01481f9684402b09a0a339917ae63fa7d0ee653f6adb3e968dfe64ba8ac559eafbd7f8fae9f24d291b3d8be07c7bc576492284bcb7200939e04e9e54366156ef4a6d9cd640a298fc61c7197ad886103d14f0a431648727bea43e59af1068d59d414095a446c05a9a77d42ae834ef6c1ad26fb9172760c84730fb486e4b8191766fcc35b2b0547bd3b37a545f0635b15167c2a15ca50759f93847cfe19cc4a62d778ce669627ae67fb9cf8ea2c954043deead5faa841b14962144932d76445e910f352dff761135a2591d6477771c25a776e94e99d5829ce024377510ee5fc031ce173ee5eb1623a541791076aa32e9db90e58408cf5203e6c3a53df291c8c35d68d884b977c72f3f391b2696076f2822bb02631f6db2f75297ed8c221fa26d9b5aec5ec7cfedfd4859a4c5bb760fe0c2b195cc0d671474c89e9d5328f034dd832d9c628c69488508e2395aa2ffeeb51231b1896ffa05f67ea8feaa6510e60f150fb4b702ae2c3b53d722f152a13c7924be586c8d95b3f3857a7897e81107c09eb950a61ebb4608b96d98896ad709fec0b0164023619495773c2a0899e82921cb0c047edab790144986530d816c28c5fe7211b16bc2ad97959b0f94515e9a39b1cde6094899b26e5e571f28240a350646191f59c268d8d4f0f6be6d80100dd669717ccd76f137cf53d85d20ff526ee867795b4a4da97536ae7acd36fb37d97cfe974184f6db08b30d6a4717b4830cb194e2cfb92437240d42fbbf3355aac690c73fd4cb43c1eb724c2a5b282b2fb178672c38c17bbf12ef838cdf58dcacfdb50131943f40044fca28b664dcab7f2e137f9163097e8fc8c7747982566212584887814bd0bf90ca0d8c1ef33907bb65db2e9f83ce68ba92d6a61619b5991db7ceed0ae68de99f88469313417c5fc90dbaa5c20b7776029430707ec1a1430d304ed8a2e0448f77877a88d60b7a9e047e90652332146ef5662c5289ace556475f675ca27f8adc25b87a6a2dd37f2f25b793fc77542fefb281e751d6074632f5078539dec9dc6e9ddeceb98d9362eda107c222b57f9cd4b8afc9124bf7035661c8bc3e6c077a9102cf2d7175b5aaf5868aea8fd77f9457c3cef0e576c059163cfbda5950e3c95758ac58dae102a9281c1a2f033a519f14b15b8d325fe5b2edd8856435be954d256257ddee3e8956c6783b7f4ddd0348618709e490e46506cdee08b5e92c532a9260cb694ac4f06a59c46551f58cc932fbf147202c1dcf7f77dc42b7f1a300513211930c70ab68ff9e9caaa3eedc465e2e90f6bfb1d3a20bf8331f99aacd7cbfa42eebb3d32cfdff0713635b2deae207fa28c7d155a01c5f4ceecfdf1c47ae4a8774e88c09edde00f974c0a90d3d0fd91517483b6809504f7df2d87f93a7ce9480eb990748c6e24b52cfeabd3a852c0f07e96f42218acaab2d1108e7bec43ed33a0da368a328c6f3a549154f1aa528dacc8b11284791b37b0bd28eeb40b0f6316fe8b493c6d9e8b0cb3143db4579f625fd7b0d9027a20bd823c17327552a2d7419428d0e5ffb52a5f60d2fa336f30f1f73e02eeedff3e4f12754322c7eb79226e788abbf988afa65f28f682084c6495ddbf9809c9f5a455d6c4cca62a45bd4f4b7eb1db45f30fac535bc624c41f6fbaa5ff6bb54747fad0e38c85af0fa506cef2d4518050f6cd4b808bdc6add2aaa0fa94e6acb0d65d88581d53c59b644ac3eacdfdbd7cc611e376ef508aa8d50fcd06f361ff1c89cc82665b1e0dc2598956ce5ec91a789150292f320700ffa1557599a560cd090cb40e0cf68aeddc515914840daeb68eb89513027acaa0c5efbfc87d912524fdebd0e0c175a06e91f36f5c25be27db70c51f9ec9fba37e580e594860c6d1d8e173e038769cfada3932dc8c5cc86379b79b95b8c9637827f1cf85a957edc68bf5e9deb9c2d0768970b55b5c27dc632e455
+Shared Secret B: e9e4f6ac37f49cf2820a96749fe7450f721503d04113b1d6e87142cd2cc114b5
+Shared Secret A: e9e4f6ac37f49cf2820a96749fe7450f721503d04113b1d6e87142cd2cc114b5
+9987e191a1931c95884b65f8ad40cf3e4dd5e7de349ad6cebc11e27737efd083a15d0c5d8c60545b627719ed9633c651a9a56fb555c87814592394fe084d896ba6cdacf58169ff9926e495eb85a5efd2c20eeba3df81231254685c8801e7e5ff6b370aec3b979b88e2dcc6c51cfea293deab0e6f7552bc9051912fdff20f1ff8cf8b43519971b6b74444816a661047f997c422e5d371d96b00ae0839948a3be32aa7b4a4a6ad9f00e6e6e6b2e5d6b60431d7f2c8eb27b093c2baa55c565015fc70c1bfc6cf1c8312b6a74ad242466d09c84c5769719e04dab40bfc9e883a5645d1f53fb38557e8c144081fcfcfaa64b72d482d5076cb82dba1fb227935c0558a669cbc151c20d55ce913a9374f866716ef1c1bb532d193faffc025e2456932b359f060ca2f0f7687e3a6fbcb3542b5a0a6fb8eddba6cc20a2bc62bca63be2b37d6118542f858cf44de81f40fbeb33451bc0f9478d5b89d6d76357e45051c18bb33f250e006f1b76094d5c2577e981b3a45d5c8c7342990af97bb74a3b4ed400e7a09d13a37330db4d7dc10605a823595b3a3a784d530e2e1e11c315527ec2bcfa4c0f952a45e691448c92eb44f3da199823a2a9a6a4e3f2a7f1720f487baf883e6d9d5a69ca9d529c70a831134074eedea45f3b53f2004871d7e680a777deb3c17e714a4ac53fc3ffedf08acdf1eccbaf246a2afd830ac34658e6822ee03faec79b7de8023e0e5072fbab9e8a8d9b3848ba2068392208288a50aa8cc3f7c13c7cf4fa9824c29f77a760f0c295206cf5a41d4870af4ee9553b9a37ca8798c7f476f16001724517f50bbb0a7605e83a5660dc177908a11c41c43a1550e75ebf4e8e17dc50e55015a31e5eb731831cbb2ed541fbc3a340170292f2ea5e62ce8b88c94430e6ec304c4e20522ad0a0a7a8ba8cef5c00c3e995a433cb6b59ff8f7aa9b32449291039e62eead1f21393822c92dd7f8a83827a2376797d1bfcd5b698527707bdd4f220b9d92e7496eef569ac9109f4439a40f5450523de9ecf5f8ef4b472649a6f3d2c62e4a7cc72ee4f36e15d5f3eec39a8b7c2db2bc4b36528c0e63958729b689ea4c8ee8a36f6d6afbfb98a50e97b75e7e85482ce08e61c35a6af4f609d746ba083b0c156ef4cd567bcf2105b5c6d90e34deb36fda161cf64a1c4cf7a39658d91cae7d9234345d719e70d3e3bd21cd52f7a6a0db17bfdcc15d85cc292fd344674795b81c8fb7132386eb8af0e5e3159f3e2b9d57309a082dec317a05bd3df9658775e977508f5ec1b0e3ea2424c79bfd283dce48efa99a920ee8540c554f18faae0ddf2a07abdad49503503b8039074085cd0e0337b7d03cd16c4a72383bd736a2de6938f9107c75af6464b18cbd91255c502ac70d66b28c1f813837b8a9d715fce514da78a77f1fe5127d7cd981da296462b3095107a7a9c9f3c9e463603f5b664cbc9aafd07f875952f792e15eaa4c1ab1b6cf9fc9b3ee83e54d9d0f5c9fda1a33552db907c11a770e2074c9f262fa7affb6803c422e21b0924f74bf5826e61ded73942b7e8e7632939ded9e10bc71a9ab05d85adb66c7ff0febe812a7b6f7d8765589a9b6149afe62d69cd20c30f38aadad911362101c370706202e2dbfc37a38a74e6879038e374ab09d8a1e77a871ae0672b45e6c7df6493c10a62b608c1dc1972e6686a44268402a51227dad2ab9ba9db01e14b184dcc4a98d6bfb5a0d1179198049eff88257cdedbc2396e75e3af26fb6d16050d460683d5cf79cea43e0e20163d993acbb0b188eb7d39f6b304712400df23aabf97db252a874304f2decea932eb85237f2eb4995e537cf149226cad3c37f9b6e822a7da69c22987503f166440340d9ad6e255982d57bbfa79664509b718e9bd2d1f22b64f0495fbc2c82801c83056e45528651bd58f2ed84830df98d094d19d1c457ff287a8dab62ed7cfbd02c79c1fe02975bbff38ea5691312567e9dca83b76ecb3f068896dea338b8bbb89004d1159d563827d2aa32333146951c912d4407fa155cfcfa058b1c79518c62ea49ee99fd76c9ef74344e9d2f9ad828a84e693a471a5cd4d144d5b2c4f24dbd5d15b628dbd906d1bc2c07d4d4776ff4df1591adbb58f2e68649cfb76e4eb513c7155a4600808b31eb123908a168cc491145ffc3b177e6ef125a0a7b9cdec4c5ff8dd23b9363bfe36024538834628b2c51d4006b2e1c1a8237
+Pseudorandom shared Secret A: b0a109bedfe12344070b38264b1d2ffd1551f06d77463a3b93e19497d7d8749f
+f012556160316f659cab6895d02c47deda1ac4ae347cc23c51d8ce6d6a8d29e7c70fcca770dd361562b612bd2731a4738c9b7af62e7dbf290b1f530c6984148a
+Public Key: a7030074a0c54bea09e8b7a3b2cba68d411ad908b991a0ad34b26f378c820b74b6e8a4bebe4b2f6eb7cf4d435c390555de44b4b8a5a60030aa66b84178d9b85f34a7ed03b9891097e09057d3220ce4f07f11cc603149877fb02eb09155dbb0c040b2668cc1661272cb1a80903ac72abf128e564496d465058d601220f0850c1390cc662149b0cbbaa7885bf18ec49335befbc04da7c310161a3f6170dac0176e707f00e45aa945ba99b93eb65703f6f733b7b462809b6c33770b2adc4898f6b55e5a08b83113ee55be00a5a5198539fcf0387ea38cc897b474f7a345bc7907b9cb9bdb0ad1d103eec1c16c27a20a497398644cc7228644c0201e549b9933a443f218a8c5bc3342ca65a707c7e70a73148a9b924f8b8b65f914947681950b8126c80356c8f51e5445132c43c53252ceb643676e75c5f3b1c4d0d844d8f513e266070777005295cc34a0447d7c4bdeb56da426a5ce52800c3a2d4b9515f019cf86b1ce5f95abc759009db18398488d89640c38b0081d22488fa4caef2206b58280fbd9a859a94099d503f66066d0f86baee19a462cc36c7b6ce4617e87020571a3a8c61554f38307ac8141857a80fa2c8ac1e08aea819009046fd6b901ac3c2d54e91ff35cab0d76358f6ab6c3a0011fc186615501b5533c9351cfa23510f222bff803b202012eb3e790bf4555f9bb0022f424f660c5db05bec4b0c403b7b43928a8f327ace3399acec7985bc89fae1caad269c688a77d1f32b4537b9466809526161b26bcb07e0b212f093a98caaff3336b21b2078dc632e1bc5d70c5c6e2c3006697997aa64ee0905081872b42e168b5a10c76883776a0075ac697423a17e502c685ba64d59801dc06586c141fc73a28cd535cdb009e59607c1124002d7bb44c2671b3a57f6f4067de425fbc5528004a5d68e89e0804b417853f19711bb6d32230324155030bc2c30e4c8687921505ac446b7deb6383cc66f0c169ca812576f5394d03c8a6c1305890842412a0255c361926765c46bb0ab6b61a79ae5275cdd0e449c7880494f977742c92961228e68c30f2e172aec61bd7034ece85811e10aa10254335368c05d5ad1c1490f73a0ae8498e49025d2f5cb06e825682518f554735b68807e1c1bd8c229acc8c30a9a3a7cb01a93382ab47fcb9c30969c79c9ff406badafb650b74c6eafa6c9696a043b17f57184125d9734a2c2fcae10602b74fecdba04ae285c031153f905037c87ee9c07540ba3468b8afc0c1b69f55bfacbb69c9323200e63ff0ca7e6023233cab0f88456f07035e6d3b8b3e0a1ed608977f2890d85778f164392b209d47c003f6f398fb5b4686e2389433247d10026531245ac3126ed862609493a31ab7a9154a30561477d6b628e569ad3bc4aa34b54e419619e3622d9904bd2c74496509db1102fa575f8b048193d41cbbe4686ec00fcc76c2af856ff016c046a863f4845f7e737f02d508bfe3b46bf1bd36c664f16a747d191d1f83726c577e554badc52b7e1b7c9a4668afdae8523ef641b2538a9d114f1ef6272af55a8b6a5d65174432ec6884c88646e0b282d7b112216848c44cc5b9805fcc77fa44b685dacb49e664e525c04dc692fa018d6ce51822c85840e6b26319b518cab182f7692cc24db098b3e689ac418c590a606fdc720f89f08f11d3062c67957ae6bb9e8124288a59b4b236d030522361460848213409b15557385678adc6892aa6945e06b9bd5a919477710562cc3a58f42a2aca7427396968d35bba7b6d1cf40097eb26e1966cdc403c25fc5a45011ff578cd52825ffac89e935366ddf644856878bbc400f53cab49291ff3631e9f2a2f6991cc264b6d1d583b2f84ada6458796d5a836b845000454acb1202aa4329c41421b002827a675b16ac90bc400d9257404d7206ca7b18b873fea71794a580221f07e7dec443fd83998ab3a3e573df5e7be29c8cdb5b933b2943e0dd64b88db90d01cb068101f48f8404e7a9aaf073b21e98ace354430c7a86cd6cc751ab57589a6f957ca23a4a9962b9eaf429ffc24c35d06a24070cd6cc16c8b380278996938225891689488e59e8e605e72269a4767c9514670621cbeedf0a7be34a91656c5c2688595b2a30ea59d178831c819100aa1b1e1c75d3ba45265607bd771650a42abaa622a6608bbf72a34b4da7ea7a373ef3a1af4d11a642c57f5915637ca7fb88ad8d405c0d22683f250
+Secret Key: 6b1352aca0519505bdc79ccbd4a24a7b381f62f63e30e2748bd4112e0c4490db4449794fdc1c63c4c0affc560eceb6afd4d95491755496519e121a48b12a1480da455c8c0c44cc712d3467912222d8317d0ee1c1d36c9610620b17328775165247ca1bd8c7b38a4a86fd4683f66420e5a45ba6533341510e45439b29f948a15a440947749cf592b33c13d8c9afe6919910d73d651a5920a93dcacbad14c818f301570d8c6f69e465d3b53f19954391803fd3e0687c8bce40190c04a421c8f09d5f3104eb9372bc1b58b9e83b1c169a3ad34c3c53546f05bd1314078f476fce805a9dbabd67551a3f10580f00b64298683eb82f1349554917b83915bd0f439db6610f40699bc627969de5b254bab335f256a2812ee94c1532b263787bcfa12b5369873f99455b31c5a6e7780c797855771532f5770d36087fa0412a45f7c4aa459980283e331612ba3c04520834c65c60275c899cd56b60601375f9807a91afb5d005fc86cc17cb56dd83a6f7957dd0f89166aa0ce3969ceef1c5161ba24dbcb552908b04955a71526b3e093401e96217c280ff06184e9540c4d395396c36af91818c7b672d6bad12c14ecadbbc377c4885076ae5bc2b4d2b25ac90b76ebc1b071390201b6768e29398b9798ee448498889f952b8450b6f53ec4212a01a46f41fe1025f94317e32474936b707f0417ba87c2ac3632158a9c640046511047179b81202d42a07a10ba4831ef34a0585930659c6c86e98b8f80281e7082b7fb8976ae4a4e4049a2ea976c6507eca8329ba260f43b5adec82396c2c93821298dfc492b8219b5487c52aa09296db6b96132ebf759f33257d0edc92573269cc9088666bc22be4c43cab58ce9602ca34357a2bacb8f60460f0914bcbb6fae34d44e06607c9099c8618a24cb5d52063e6e188779c2194e4a5521b89c1e80c0de00a87e67e2fa59b29794a0617c295a88f42d998918caaf1a9a2ea85a39461ca945c6959e353d5f9222074393d02906397016b558d04fb67bf609242403587bc71506820b6256a092c7f7a22993091169f51aec26c0a06ab90c03104493589d1e840e00bc982f83bd5f48a1ed25842c6c0a2daba2bf06db4098373f24b7e6a6ecc3020148c9710e53525fc5dd8b75c2bc6bbe4d9a5a312260c30c83e35172a75c61b699421252e4371ba3bf4105f19a0bc9a5c8d58cc40c60d02b80768437c8ce4cd5c8a7bed967eea029d154b4c5a5c3c2c46cd412c423ac8be6622cf5ae36c8540b001f67db2a367ee522ef6827e672430c028cc0d9c06f072533ae7a9b3186eb25435d3a6cd3eb7213743241bf1421ac20bd254b1f8239fbf498fafea06fc6552f1902427852fc7e383f5f3c678d48e47fc0348338e71b85b3844630bfbcf1ab15daadc73a0b17e193cc4d6fa1a2cdc2bcadc6c4ba3bafcd54156427ac3852a18a45bf1c1030a876e03b34bf2a2ae47d8b85de935c1c9742ae857eb647f6ca70162519949dc90ecc670c5064f69a8aa1eb6c362da7e4c8a59d309cbdaf4c02bb449dca5908ea120126bbff7561f67f61ba3809e438a18cec0afd9f6abb5422190ba731a95404a29cf59a62a05599a37912de4d126e8093a1dd8ca0e92b0ae7c8a78f1470aa2986c396c3220c2b69818b854cbd68193b775826b2502020c6b29dca52f997cb949099fb9036435052999235d889fda40a185dac3f514c97d415992c78bde52ab50cc14e64278aac9c5727b7c4215aac24a12da495beebc9f908006bfc6b86ec100c839676f0b61ec2a2425b50918a0807ed829882c4ec2da22615ba3f68227d2bb1da56b02c0614e681b6e6e720074411e43b99136e1b292974d599712f01767b4853bbfbb0c927a349ac70304801c467c8813347c9e22b78c26b9a0a37627da8deb4b98af370ec46bbaa40709d48979420283852b1a03b009a472bee8fb4112c484a211c158305806271654680d0ba859bbe92433476a932cb8719b8e04d8b280f0cdeba8289a98c9d0782dba7a7bdf49b34ec6014b2a4ede5ac3e4056e49d5a114b7b6e3052de96879d9318bee74b7ccd5b303e0230bdb7428f640cadbc04beca13d3b2a5a4aa973db98b895c1acc3bd182618525bcc33c260df038a16556ed924ca0ce3a2c12b5c8e7474cbc66efa0546b6a900c7c89b961114d0451fa7030074a0c54bea09e8b7a3b2cba68d411ad908b991a0ad34b26f378c820b74b6e8a4bebe4b2f6eb7cf4d435c390555de44b4b8a5a60030aa66b84178d9b85f34a7ed03b9891097e09057d3220ce4f07f11cc603149877fb02eb09155dbb0c040b2668cc1661272cb1a80903ac72abf128e564496d465058d601220f0850c1390cc662149b0cbbaa7885bf18ec49335befbc04da7c310161a3f6170dac0176e707f00e45aa945ba99b93eb65703f6f733b7b462809b6c33770b2adc4898f6b55e5a08b83113ee55be00a5a5198539fcf0387ea38cc897b474f7a345bc7907b9cb9bdb0ad1d103eec1c16c27a20a497398644cc7228644c0201e549b9933a443f218a8c5bc3342ca65a707c7e70a73148a9b924f8b8b65f914947681950b8126c80356c8f51e5445132c43c53252ceb643676e75c5f3b1c4d0d844d8f513e266070777005295cc34a0447d7c4bdeb56da426a5ce52800c3a2d4b9515f019cf86b1ce5f95abc759009db18398488d89640c38b0081d22488fa4caef2206b58280fbd9a859a94099d503f66066d0f86baee19a462cc36c7b6ce4617e87020571a3a8c61554f38307ac8141857a80fa2c8ac1e08aea819009046fd6b901ac3c2d54e91ff35cab0d76358f6ab6c3a0011fc186615501b5533c9351cfa23510f222bff803b202012eb3e790bf4555f9bb0022f424f660c5db05bec4b0c403b7b43928a8f327ace3399acec7985bc89fae1caad269c688a77d1f32b4537b9466809526161b26bcb07e0b212f093a98caaff3336b21b2078dc632e1bc5d70c5c6e2c3006697997aa64ee0905081872b42e168b5a10c76883776a0075ac697423a17e502c685ba64d59801dc06586c141fc73a28cd535cdb009e59607c1124002d7bb44c2671b3a57f6f4067de425fbc5528004a5d68e89e0804b417853f19711bb6d32230324155030bc2c30e4c8687921505ac446b7deb6383cc66f0c169ca812576f5394d03c8a6c1305890842412a0255c361926765c46bb0ab6b61a79ae5275cdd0e449c7880494f977742c92961228e68c30f2e172aec61bd7034ece85811e10aa10254335368c05d5ad1c1490f73a0ae8498e49025d2f5cb06e825682518f554735b68807e1c1bd8c229acc8c30a9a3a7cb01a93382ab47fcb9c30969c79c9ff406badafb650b74c6eafa6c9696a043b17f57184125d9734a2c2fcae10602b74fecdba04ae285c031153f905037c87ee9c07540ba3468b8afc0c1b69f55bfacbb69c9323200e63ff0ca7e6023233cab0f88456f07035e6d3b8b3e0a1ed608977f2890d85778f164392b209d47c003f6f398fb5b4686e2389433247d10026531245ac3126ed862609493a31ab7a9154a30561477d6b628e569ad3bc4aa34b54e419619e3622d9904bd2c74496509db1102fa575f8b048193d41cbbe4686ec00fcc76c2af856ff016c046a863f4845f7e737f02d508bfe3b46bf1bd36c664f16a747d191d1f83726c577e554badc52b7e1b7c9a4668afdae8523ef641b2538a9d114f1ef6272af55a8b6a5d65174432ec6884c88646e0b282d7b112216848c44cc5b9805fcc77fa44b685dacb49e664e525c04dc692fa018d6ce51822c85840e6b26319b518cab182f7692cc24db098b3e689ac418c590a606fdc720f89f08f11d3062c67957ae6bb9e8124288a59b4b236d030522361460848213409b15557385678adc6892aa6945e06b9bd5a919477710562cc3a58f42a2aca7427396968d35bba7b6d1cf40097eb26e1966cdc403c25fc5a45011ff578cd52825ffac89e935366ddf644856878bbc400f53cab49291ff3631e9f2a2f6991cc264b6d1d583b2f84ada6458796d5a836b845000454acb1202aa4329c41421b002827a675b16ac90bc400d9257404d7206ca7b18b873fea71794a580221f07e7dec443fd83998ab3a3e573df5e7be29c8cdb5b933b2943e0dd64b88db90d01cb068101f48f8404e7a9aaf073b21e98ace354430c7a86cd6cc751ab57589a6f957ca23a4a9962b9eaf429ffc24c35d06a24070cd6cc16c8b380278996938225891689488e59e8e605e72269a4767c9514670621cbeedf0a7be34a91656c5c2688595b2a30ea59d178831c819100aa1b1e1c75d3ba45265607bd771650a42abaa622a6608bbf72a34b4da7ea7a373ef3a1af4d11a642c57f5915637ca7fb88ad8d405c0d22683f25040b3c378e0150b87b451e2680a442e3d47500a8e8b953373b426e32f46c19f82c70fcca770dd361562b612bd2731a4738c9b7af62e7dbf290b1f530c6984148a
+cf14b53c0633b0fe2af12d74888ee7ca43b2655c11a76532a73cdb8824fefda9
+Ciphertext: 9c51085509ae2888b11ecdec39d14eab0ea3d91204d1c5a1bf0d69dfffb23dea73784a862cfd7da493c6393371ca404931952e1553624e6293394bb3c2016541b327f238d72f9cefc5d5a11832225fc895202b485049266ed7499b1032dd94527845ae6011a137edf9f35748fa8cf2097d45ef000bc8c4889eaecde44ac4bf02e997ac306616d8b4225147f7a9e1d78de56cce39eddccf4863e502ca8b63601399d82f6c9174f1d5ec4c8126e6b0a40140607fc21f89d43f21980e4d8a64c3c352c39cdf7dd5c3accb43ca423714bf86c8d5dbedd30e8254dd1f58441721756743fbff36dd548fb8dcaccb21a937aa5be129d92960a4818b26e30006cffe05fb573f33979dcfcfaab12fbd3f673d36f3a018df68d3bd832357b9a5d3de7a15c590adb48443e5997e85e8c1116559599764d269a970da9aa189f0216b46e1329d39d3238c25c43b69ff1df6a38e03424d7c896b2c088ee8de07f6229e98feb31e6c566c998597ca8ba0a762f445e2ac2aabfd28efb60602d84e5f0de1812fc5a6968e214cd2237e27cd996fe3106338398605290544d7b2edf94e2107c31c075936a28504e71bddd8ca396e6a6d48a5096223cebfb2c7c65cd297253c010be6f65076784db2cae501284679a82c0cbcef5e90b725a9142556a566174e25364cd9117b0d5a4b8f61c087bd9a44eea60ce5ef19559b41fb97302625e8ac8ceb8201ec9604791892752c9aa52ee2c2ade8c9137e5940cda7189b58cf0d49e92b6f40a79e1754300c09e7ef3325c5cdea1848fb0bc55587ef1470e68e4fc35c1c49bea7b95ac6298dec285bdb1c2862cfce49478228dbf8d5c8e76618c495a9bca2cc12efc0f1a2e88dfb7e24c6fee4555897715b76e32c1655969690f0177197953b66575b8f7d99686a610b939db3117528e39f83c6c91d669a636e5cb3125c2417f3d15f584f9a2a19316035f9bd1cfdb6860a6108600f130635c9b0ab9cb6d3a7401f2b06b95f214b3b666a27b34302714f0ef4a486ee0341f54c8b00da4affb36042f9efbf11b29ce319e5e06430f7961f31e9ac7f40a69703eb641b314420259fc4f1c2aa830d4bb23d612168dd277d96ea3265f6cfc3f6e73c85112504607f838f8a1ce57c595f742b235ddcd3d21e2a865d9df979150b9808c263d079bfd75effc48ee6788a4803ea3b0df7cdc250aade59a2407a5314dfe17a5319dc691fc65790982c3ae1b32ececda1d3eb88bfc9a0c2a6e5d15192557377b02ab23ae4e17065f07bbc0ce3f515602e225c40adf34700586986b8a2c77cc6508dd50ab1de344a43b8c39a3cc858bb74d5e9ff3fc3abae58187e257fef9002fd15899d997ba9c99119e0054b81303eba98b0752e7a7a3b454aae5ecc1e3a37bec92258e5b10ba89d5e2e31fbc19503170a37e055c0d809f770285811ff74fa13756523a43e79fede5a515589ccc088ec8d535529b2e321beaddf07d12e1708b2d340521e707c8d6ac20d67ed022d49ddcbf7a7732ffdfb546d32424058d9e7fd86591ec09365a52d9a8e1dbacb47403a5eceab1f520068156c2ce47bd638f2b835c7a06b82358b74192c053546059a5a0d39694e1d75f029a49c93a41b0dab78ee02553f8a42487b8e6a4bb3488f9e02595c03b209a0773b08c073b854551ddbca094d80fa6e943a55fd7dd5df71f519ca4b3f6d0d399fa75115361b1a952a394658df262cbe04b467b8bab47cb683d4988cc2f92f434ce67e543adaabfd0021b994663dba5bc1f6e438d93cca294559cc37d95722350ceb31549a66e180048841c02806862dbdc35489887fbbde2c941dffef95fc898654915f57200ee8903fd53161be24fc4604ad5e2d260a2f5677aea628edc5f8e7d8dab2334a21fe19e70575f08b24a10fa775a6a40828175a79c6684c2ecdcab1ff3a389a08d38cd61581f85ae248d8ec977f91aea07a7694dc6be12b84546198a09805898da24d6cc9f97edeaf11be8747666d39937bd5a091c35e7ef0dc3ef06a001b6a2c24b87e3a640bca6eed4a53e79ad3bd22e9334129648ad7af841a3cbc9bd95a11d0ece608afeab8ae6ef8b6386928d643ac771e980d1d7d750bdf027279f36f5cf395f08d152babedd77bb571c430b51efb565704dd2fb9ce56967f9d63b1dab6d8a5c9a2ad593f193b269025c29147ea070663701e03009c04c7857100947631d3fb8c4c2f28483b
+Shared Secret B: 62c9667f2bc371b26bd4f31e48647ce094b7c907607946c4ead525a24de24fb2
+Shared Secret A: 62c9667f2bc371b26bd4f31e48647ce094b7c907607946c4ead525a24de24fb2
+73e0e91561e852107e7fbc3f2baa10b320ca15d2d5f1091c3111878d481274805bc6d128f44d3b8d169e2fcf0ef94b87c8609ee095f35d24bc1bc64f40416ba133ce505ee09dd05be55e9b99e03c6b7298c9be0b4535236488e5746b2fa1db2bf33025c4386a68abdd41e2493e10b941153146887284ffaedfb90c814b0142ce7bae311a0feb2a8dc01301b6ab4dadc1ab81f8bcd5cf70ccebd71ab8bf373eabc68f9a4a8f5f2177434353b4abd8407af92ec6a1ca0653c9f20b561f0f5fdf2a746226ba82bd0ccb7b03932524ab5b3ee6c79a90d46afd30fc0445ce537a0766686e3fcf1a3617cb6176521b901775d915811488f51568b0edceed2e945209ce8070f1fa593cd531426a30f0e46d7167521be18d3412d0b51c5004518abece7c7d1aaf031e699336520c6854cb3ecd994dbbc0a41b17f91f58e66253dd225d649cb3001598a6198d1e704c9e829216270363654211ea52317c1e067a52456b24d85d455821a6ec90f73b5764b95a47f591f0d7af3796cada20f3002ee71dbba4d21027b7905c44a2cc83a0f057197aefdc0fe486bdf7ed9767c41e524762df17b07fb9b81156a28c71b3907d1542f215e442626c6ed4e86d14d5c6bfada09d8759423870f5551fc1fdf87461f8d283c6b1c7ac3fef2d8d119600663db2ab90bc93b3b1462df9a52394789c4b718ddd9d7b62156bcb07ce87d92a87ee6095748ca2054dc2c9926b87dba44eaba546befaf419fa258ac2962b23ae579edeac6d294bc399fe53b422668f77918515dc5c411b7a20747c2f5efe5fe0676031d09724fc2c5d818614c567310a9ba4f7d794c2abdda2dda116a95172eecf456b1b985998c317e0a3f8c4798f706e4545a0473b46bd853e18eba053def4b1b2a232a057e6aab590d6703ef93f3faa563062ab818e7cd93d6ba2d2a733df68e28148bec26d24404f5c9a3e7592259b4e7633845826014794414ce453f9b843259e369f22b55f36547a8bb94cd5a45b27b91f212b5cc69e5daa3d3cfe7962d5c519fd7931a3128e4021f38628d5ecdab25ede1f5d038ce8597083524200b9ad8ed5455f025280a41fd32109daf07ce44e22d33c589e987da7a9b8979a76c8cd9d04b23197511cf382357cf96326ace00df56fee7cb53c422a3faef8d0f992ec3def1bff9e6ee46436fa393d53712d63c4b67c1998d182b1f65f2f3600a028b88434a7a7212529382977384ba9732ae2e92bfc5ae8c6d605bbd1445495d3b2f89e30bef8486f90ccd6e5fbf2c77400e73913aa5ec0f11fe9fad2376f9a6c45bab6c699d0e4f9e6ac9f52120d3e5f75cf8f92159960c8e1208cd5f1cabf31f4ce8c6d9384269474d3385ad5657a42185016c714ea7b0454c0963e7e77060d8b178c59f25a5775f1ecd6dfb7ae41f1042435470511d00adae1cd11e24175b2a5bd666ec3a24e36fc4cd61fb7f591da29b28f88e23f2eb304c6fa2b63fbfde7a36329b899a0c4bb1fada617ec172deb03478e87abb75b9000e7cae48fe40adb983e3a30a83f4296cefab1f18f92ae2b79365c284ca5f3a6db2d987fac3e983bc8ee0c06c59b55dc0319e048706301ce51438920bf386ad72db2ab92f0bb9b6b36e452bc5870de5d93cd8c45b04317c32543d20640529c075e84eb9c57023ab6890e328c69af3340c62ae0f39f32387d0c906b4c32a40e84dd40d10e321fcc396d04cc1231effb2b887a3a28434a76637214e04e74733ce8774096e6cb67d7a212adb468a54ded1f599b995611d2b6a4868d3e4bab0183622eee1aa3f62b86ec60f13baea91fdfa56b4194df169f902a31ae56c8cb19f75b83075112d6853e89a811b462fb53a2b4292c468d7a14e671475fec24cc3cb38a2e19af1fa5a123d1f7204d63c2bf59fde90b6fdcfb14f03b86c263d6d991703ad05876d25fbcca6d34735d95b0caab4e6c1b3f75682c4900c011692fc53291b8b1c0b7f5937c449e202c656cf45a53ace83ce770771b2a05ba7915fac5983eafadfcd05bca3e888b4902cfd3beca418a53a9f96ace52abb470e3b77f9dfc8f79d702f251c9f63e6b9bc19c4fc67d099eefc463073bcc49908ab27b67a4cdb79d01695f6e521b1e43ab6024605a3064304dba71dff13a8307a4c5de593d4da7cbae2ac6953690150edccf35b1719a7c3ff8014627c3392d4a498734ceea111c55062d2e63c83ee802d38846ac7adf2d
+Pseudorandom shared Secret A: 9e21f9365d560462b18f0481dcd4abc62ab264f8b9764962258ec8752c90f1bf
+d2285aa3f4b56b9fa5644a82ee19e3d685d34876d1b94077236f3eaa93390b60b9d1a594d9245ba3201545235146f9a25134a46ca3fb04ab0230724055bb7998
+Public Key: 750414aecb5889f845a9361729742cc27cc5937361fcd60826f510bd4b2f29950373fbad8fb3c5e8724e46fc5a01513dc48c1cf2959a49f07897220fd095c0e43bc02ce19b4a985adf543a54983214e36b5d7958c6569f3a98809439b5c9a580c8347526105f91317c6ca16c58e406f8176443030853d92ef357c194837333ac8e4338008968296d558404c0487823623d87c4efc029515ac150500ae5c723991b2ec72750e1a4b87530673c29c4873c70af26605aa22d1450895eec579c985e2d24c0cdf0b7a8444a0764a87f9758d4e64df088946ff39887081429336be020aa0461b7b19257c4d3be2ac86918b27cff9932031bb96bd27833c203de871762f52b8a269059dba553677be6db75eaa615683356a4372d445ab25c6b3bc32a86f5c5cc3fea88053a1fa228268f98c92f7a92d1548230b8aae1054b82c290258b183817ac5670768ebc80d30668b3179fb8d5af00233f22d6c9ebd33ae4318491c4349c712e6675a103b969e72072ed5811fedc61188b93993078a7ba4219fa1baf982dd655430408aac622abee33b0a6878e7f9b906d67cf11650543d07e39a4cfa20a660063b9bb40974e39a3978c8718e413abe99e8774c3e3b13ddcf64d25a9cb89eb5aab5165156556679b5be7b4136282b655393ff9e792e92670d9a93ce65714daf7716199cc6ad7c6774914688c3e7db13bfd525b01c567b72853d1a23d9864b059401e24aa85e8d7178c020275450f97829a50e234251097bc2691362829ebb7482b309b1b10acff00af75569eb43a94731a5a40eaaf9505a3992935064cbffd34c88e6415f605010d585fb666c9a3282308cc891cb3b9ada1075a6514f0d1b816970d3b425234f0af024b1f8e3a108d5a724357a1e625970631554c32453b7b17b1e9905683a61c323019c6b641f916df67aee03ab9f664460521b72b51b247bc5a64c032645a8e8fd6218771a32ad001d7854386615c50a57d28a04ed29a93e9138c5ec46e54e31cd5f04b930b881ba7b88290b1de741269b912f90c612488319c3467d413cf8d895383e09bc7d1a13cf80176c505ef51941691ad9db6205a871338b532e873612fc929ac710d8c4334ff7692345b8ffb066ccc69b2ac5084e43466f31c6104964e1b61928b4743155a4a681c906aa8034bb432edd68b121758eea472eb6426d4415f3c46170361546b17776596c8f5f9842af35e21a882aa912af924a404a6187dd0b8fcfa5bf678c224a10deab865328caa2e352b90c20c2ee38c3003a5423c055fb0261cb61ea27c4a0a30a40ca75998c470e2575bc6147fdd4492cefb45cc0192d20129294b345c0823442576037aa26b6528c090844eb820000b709f985a750178c28b7bd7a63092b5712bcc5e94c72b09cb95be183623324d102156cca67f73493f64b9c5e2da19215c9fae3154afc93702e41102432fc454a2e6fb3475c61ab234ad6c403580aab7654cbf301516eed866f84719ebca8279188709a74ce228755859a48b13002ff100e4fa5e2611a57df524c31a57ef125a41935925c6434d956e63934b4a0267a29b1c1da23988aa7b1c97cc466c4aa88651f1ecbc090ba2f56b9a70089fcad9238cf0ad4012abe4659e99f0926f948f114c20025746bf2a7482730a2254c340257b42469fc126786fe91f19dc3887c8714ae130be6620df977881606dcfd3ae63c70723a5bcfc95531a175da633a197e73c2ad3941fe85513d1786df77039fb142f55ca11d2ab92003453dc8773233bd0ab1eb1119f15e853fab5204c7c538d31032fcc968658812e173299e374a6e99faa40605485cebf4c454c99c5339918a0c74b1d30c05f9b3216b68dc96c7e9e256f0512a16a3b0f76e43782789e0b856de1b05e81e90dc82c0260a3b28f510af2f5300a4731ac064669f58119630813acb3d06b738b01af77d116f6468730aa277b62a00ab60038cb1acea20419e6c117fb132e271f57f84ae53ca09b508bfe1ac49e6a5b63b6000f1b6e73d96406a91700448e292c3c86d076aae9482b4188a069445e10cd2afa7d6dd496b1951e7de38ec9069a65b94042171df75c420184326e324192653d2aa843080694edb17720029960a8bfd53a4181145fa877be04811b02f8af5611366a2c1bb9306ae4c1a524aa191430a21b2949629be7527f1ef217a6aaaacd33828090352c6f812462a01cb808c7f3ba81b6ce
+Secret Key: f1216dc25ca478557ecf35c6f854157446339ce408f2519e5ebb41b2f59442b26f92c196d1ea0f9b410006e37d5db97a7e263679b211ffbb630fd8bfb4127e68d3a1b59b26515a9e41c4300ddb87eb119671eb87f4f9626e1c7925e70b780579fe060fc3545ae2062f65857741c148c17439aa0c4189008ec6227c77754d7808278e72b92bdc3054d7159dd22a5b7b75fa92ba2cc7791ab2c1dd65114a298d8181a7a6a15596c0552335a311730ffe131b646312abe935cb0cbe74548d0c5a08a5aa097a65bd494613dafc51167893c45468454569148784a4033e5edb24dde89cff4561fc2bc05e313315db040da608792c26884212c6981d56913ea6709ce729baa8e10502f8418536c318da648558c9fb92c22d765722aaaad5ea04478ac318306a29e04679d2399b6588e0fc2af25b44f119c2ef9118798b75f702186f5b5c202cb230e25969b1c34c9c3ed52bbea5779fcf399cf0d1112f88a3cfb45a17245769a790825152a5111d4a1a71b6c973c3471412b8a72fc85d67ea9d442bc34925c9a8494035eb645e655f622421b9e17800077d5ef9a5dec91fce4b7ecd09ccc59598b5ba4cea09559f269e5018983603874f604c1cb6ba406846f262bd77b1132d9119523371f2845a9cc3b67a0c79f3da536c20732127704a435543c7cbd70b00c0dbc24ac45d21c2a47cc37b1a52383c14512959935f072f0e1945224a5d4975c81c63694b9169dfc7b477f08319a5bf6555a3b8bc14dd58b297d789843501b3018050400e419c88afa450dff2a5db8b185dac974a43150fc038b3016777d7494869c8575a6966a85d9c0a9b8a2c6cb2b0768c246484cc0a7b7aa29292040f33878cf03fbb302e7ad4b91d0c5591087b6dbc1582398cf4155dae3309f7b5857093c62e9b7de170b6a2e765f21956bc3a47ac8bc545843499fccf21b03f5a44bd57cc2c0f909f321b2d1edabbde1b6b8b26b4e4b02ea2558f648655d8611d12f699a029399c036c195297e86b1f6595bffe8a116cd54e9c902404639ad308a42a78c6ea80ca55948188c52d70303b40043e7056a8e6dc23bbd249d39c465506a6b422512b50bab0195e9abc29fbf948d31458a0c3626a69b3ad2bc8116a1f05a7401ce50da66b8b2b416d22d96a88512f1e07433c63923c26b036c6cc8fc0b16c8865fd8c0d16210996ba1859d3879e2b7237b54a5a068c644188d53b2a460849df766dbf818e8d475a79c6681f632df3849279e2c96c88c4b19386252b3728db9eead3644e035cd9361f42109cd8bb63139a2a3b927da3da48fc7ccbc1c23a6dcaa980c480d37b37fcc896e0e49d3a006fc95aaa4e57c0665b35d621a6dab3c9670404df97261bec5187b35aa340ab6bda2cfa5277ba713a198a20e368b9643c7b06594e39dc673861b1b9c6c776caa47a2079e0f04956f6c89a74a9e960b4f4795ded59113ec95b935b4e36fa587870be6b28275972a8d456754aa275b317a4d48b97cc88bb38d8666ff55093c2c77df311db50b5edc110bb522893b769741b9e03b80213dc0313a205252065719469ac04b1fef9b72f921a34c91b62919e1121cc74972c7ca9539bc21a7d846a2e92007f618927f77a52b8b1fc8592b59bb782618cdc489a1b71b5b3a5b0d8369b2ccc0a7ea93809282efde2a9ceb9097f3807e96004ba375ad7547ece870a7b8b4b63e1935165509a9c5fc17cc155aa8a80875f37229a1eec6fca02ac99348aaf3c095b9b4f2853681f668f6dfbb9d44452cbabcd7c3916c9c00d11d8caffd17256392835e483c52634f0b4640a52ca6915127a1a03d81a92d5c950a64316c2f1515b21076d6b8bd2ac17e8234eac2402588817702c16dff77b7e3038bfa057e61b8024d329c93166c68a6ef05148b8222b26a21bdb389a53d59c73b78debb804de05aa52549f6cc81f7f02b1fec747a7094e4ba9925790bfaa5a0c8085953a55373eaa8b78282c48726c2cb6c087e07cea8aa44d609b7488b6d5c8195cc415687a6d5ec20744466956aa9d8aa56e8fa6b7a320b604a9671f7c864feb2616a45c0b362b4d186d2cd3742e3382b8a7c6f3f720d91c30e75972b5340d6f97cf43339535d81340e37675753cea6cc376bb4178111c1ffba9b506ac5632bab5d984213c4e2b95bb6d865848949b971295750414aecb5889f845a9361729742cc27cc5937361fcd60826f510bd4b2f29950373fbad8fb3c5e8724e46fc5a01513dc48c1cf2959a49f07897220fd095c0e43bc02ce19b4a985adf543a54983214e36b5d7958c6569f3a98809439b5c9a580c8347526105f91317c6ca16c58e406f8176443030853d92ef357c194837333ac8e4338008968296d558404c0487823623d87c4efc029515ac150500ae5c723991b2ec72750e1a4b87530673c29c4873c70af26605aa22d1450895eec579c985e2d24c0cdf0b7a8444a0764a87f9758d4e64df088946ff39887081429336be020aa0461b7b19257c4d3be2ac86918b27cff9932031bb96bd27833c203de871762f52b8a269059dba553677be6db75eaa615683356a4372d445ab25c6b3bc32a86f5c5cc3fea88053a1fa228268f98c92f7a92d1548230b8aae1054b82c290258b183817ac5670768ebc80d30668b3179fb8d5af00233f22d6c9ebd33ae4318491c4349c712e6675a103b969e72072ed5811fedc61188b93993078a7ba4219fa1baf982dd655430408aac622abee33b0a6878e7f9b906d67cf11650543d07e39a4cfa20a660063b9bb40974e39a3978c8718e413abe99e8774c3e3b13ddcf64d25a9cb89eb5aab5165156556679b5be7b4136282b655393ff9e792e92670d9a93ce65714daf7716199cc6ad7c6774914688c3e7db13bfd525b01c567b72853d1a23d9864b059401e24aa85e8d7178c020275450f97829a50e234251097bc2691362829ebb7482b309b1b10acff00af75569eb43a94731a5a40eaaf9505a3992935064cbffd34c88e6415f605010d585fb666c9a3282308cc891cb3b9ada1075a6514f0d1b816970d3b425234f0af024b1f8e3a108d5a724357a1e625970631554c32453b7b17b1e9905683a61c323019c6b641f916df67aee03ab9f664460521b72b51b247bc5a64c032645a8e8fd6218771a32ad001d7854386615c50a57d28a04ed29a93e9138c5ec46e54e31cd5f04b930b881ba7b88290b1de741269b912f90c612488319c3467d413cf8d895383e09bc7d1a13cf80176c505ef51941691ad9db6205a871338b532e873612fc929ac710d8c4334ff7692345b8ffb066ccc69b2ac5084e43466f31c6104964e1b61928b4743155a4a681c906aa8034bb432edd68b121758eea472eb6426d4415f3c46170361546b17776596c8f5f9842af35e21a882aa912af924a404a6187dd0b8fcfa5bf678c224a10deab865328caa2e352b90c20c2ee38c3003a5423c055fb0261cb61ea27c4a0a30a40ca75998c470e2575bc6147fdd4492cefb45cc0192d20129294b345c0823442576037aa26b6528c090844eb820000b709f985a750178c28b7bd7a63092b5712bcc5e94c72b09cb95be183623324d102156cca67f73493f64b9c5e2da19215c9fae3154afc93702e41102432fc454a2e6fb3475c61ab234ad6c403580aab7654cbf301516eed866f84719ebca8279188709a74ce228755859a48b13002ff100e4fa5e2611a57df524c31a57ef125a41935925c6434d956e63934b4a0267a29b1c1da23988aa7b1c97cc466c4aa88651f1ecbc090ba2f56b9a70089fcad9238cf0ad4012abe4659e99f0926f948f114c20025746bf2a7482730a2254c340257b42469fc126786fe91f19dc3887c8714ae130be6620df977881606dcfd3ae63c70723a5bcfc95531a175da633a197e73c2ad3941fe85513d1786df77039fb142f55ca11d2ab92003453dc8773233bd0ab1eb1119f15e853fab5204c7c538d31032fcc968658812e173299e374a6e99faa40605485cebf4c454c99c5339918a0c74b1d30c05f9b3216b68dc96c7e9e256f0512a16a3b0f76e43782789e0b856de1b05e81e90dc82c0260a3b28f510af2f5300a4731ac064669f58119630813acb3d06b738b01af77d116f6468730aa277b62a00ab60038cb1acea20419e6c117fb132e271f57f84ae53ca09b508bfe1ac49e6a5b63b6000f1b6e73d96406a91700448e292c3c86d076aae9482b4188a069445e10cd2afa7d6dd496b1951e7de38ec9069a65b94042171df75c420184326e324192653d2aa843080694edb17720029960a8bfd53a4181145fa877be04811b02f8af5611366a2c1bb9306ae4c1a524aa191430a21b2949629be7527f1ef217a6aaaacd33828090352c6f812462a01cb808c7f3ba81b6cec1d84fe9136f889118e8bccb10175bde58ba45ead34e9535264ec0b43ba0f10ab9d1a594d9245ba3201545235146f9a25134a46ca3fb04ab0230724055bb7998
+14d903b9607c73a8de7128b816f60a7a740449256229df050389a5bce85bb7dd
+Ciphertext: 7958d96a71a5db5595454c445735644ad957ccac8e366cdddeca5c8c888a3185ae09fbc9bd7e5f556115074ca6f160e15d5da1ea90e52646d40fac183a3ee40a9adf44289f3b6bf2ed19baf1e5792290a58f6db3a221dcce3120be061f817f1ef564dfca93b6eab37c8754d3439eb1d0cef163a4581922168a7cea2e64b13122d1806bcc33cdb18260c8dd4bafbc6f211d297a946814197a6ff0b2fac66b7e1d822bf412b113d47d208ab6e78b022bddb2284776a251c739bd83853bf889ceeeffda2f2ac53b6d16881e3a71f4acbc8a4ee108757a6a1937a4ed6a78a5f1598e6139becf1358fd9ac3dda9ae30e3a7e636fa0381661a0b62b40451ccbe555ab51e32a1b7f8a2f46f75eb8f936f854cc6de975099ad4985b80b74970256335064b1514a5d3e628438eebd404641e35ccfeda13863d422b4f934607076939716bb7a3de840250cdd7fc44b24ef33d2acdb733a921fbab1c4d3ca99f38b0dece41382c7464aa47c9ab1a7fa071c45adfd30f6d5ca4d587ab4c9a7444bac7864e3cd67e68fc4f5f565b1fccc5dac4ed9430541fabf771c69788d18f8bc8909486bf2a73545e34fe180466586e80a868b163530521a8f793a786f04af9f9b0381e2432c5419a1a58d1a80ffbd8c23b11dfb9c88f15af2f8e13538947120b952ec41f1718ee305d7fa05a4f63839aa198c538ad38c78d6c9846832fa551228053871f98eb3a1588d2b88a5db4fe1e2de4afe19bc05ee5744373f0247c6dc59b313f7e0541311f0864d3aaa0eba0b0ef85222a262be249cf79f5e50ac39bb2711c8214e8a8a60dc4d77f96354d8f5c0979ec13f85c98ccce7f1035eaa1ab8ddaa92f96506f254117a18b226b8132880ac118d33bd296eae628ae70f4253b258d51ff821b1c3cd1d2f64a0e04fb62d7038e3bb78cdc50e99edb1977e293d4a59109f3f7ed523d5dd20182c2aa13d6e40026d0a63cac8d3da6f079d4c567ee5f97fa3d25181e4e54717f8165ff1169fa41dda583919bd90486ea77c18defb88ac8aa6ed6a2170c603ff8013e0e2f16390a41417ea58e179d53bb36202826099745a337633d71010bcedf14164066214f5fd5996a20ff8b80d983a06037ce6d8f376ce0997aaed1e857c366dfc2dabecd3fd5e84037955d1dc2991fd4a088864ffbb129940c50db46758e63674f6fd2485ab4004f1e0c6ab0f663edffcccf809c2ead39177ae57a369300343701c00d65a258be3f220844de10e16632fd107ac5f05510d236c60dc419ee0121f14e2d65b5d3fb4fdc88c9702a06c4832a8a65d380b5405f4ece116e9c08b6e488bf82e7915a75ad568ffd27975138f8eb5fcb63e29ea88ca39730fa1c35d2e1abb638e416679a4928dabfad908cf714a206f77a24d32eda20241b86e986a0f718752627f32304b0d897d091a6ae0ef26f54b477d8655a0066e0860ea4d46041bdf25ce6f54e9a5982413907dd50df95c13beb4ed14c766479bc0dbcb77456ff4bf28f6be82f8fbde2294d7c105b1e1260826866e1f6a1d6d8453ad14390d9b5fbfcd6bee4e1d2a63185ca148e213e255691238e53ad84b7bfb246f7c09cf0141088f67fffda164498fa96e5dc4d2c15f4593eaf3ede0ebad9aa6b1923fd827470a2755e254a161e6fc4495ff568b9fb812032cba764a52ac4c479dbdc8271333ce407a3e9081d1af995fb7da345f14f82f1c30daa012886329be5490389d08fcf9d0002b2e0714e92db9f40f9f2ed3e847c271d2d76959f3531d279a5a89edf0f4fe88bceb47a03ff60ea46e089bfbf48d2deff43be5f9dc224b3a06cc364e6e8ded71eb41166f4a021cf54ad9b13018ab6a081636e03d32ab9ea415ff9992057f1ecf7ba5237c4345df8b983ef5bd384d33d2734f11cb1a0627b56d712ef7552d68958ffe87ad0903750f8c16f7e9b1495120f6140d5fa3401f254f9830d05a891639e266239aa63e9491e35b4eecc97c9cf737220570831f5a40fd60696a701852b792a7991f409b8009870b9d8dcf4aeea5f008970cc176c32b25ee9b969f5dce5c8a1c7a7132d7403093bf65f8598dbda0b2a6f74b5bc1e09cc1b64d40627b69803baf2047222a33e7352f718ae8c08a6e040d304699eb05bf3d5a660c66919b49937f40b44a58286cd944b1b4c0e1426446401f3ccffc9459f6434db4dd80dcd52fe24380ea7a41fb2d3e5327c7cab9a69fde2cee2e
+Shared Secret B: ddd5d31d26f9da19296f223b3c16171c0aaef2ab0ab02012162e4a72ffd62551
+Shared Secret A: ddd5d31d26f9da19296f223b3c16171c0aaef2ab0ab02012162e4a72ffd62551
+ed2c333c26e3bfb816fdf90c5bf4edc6a77a75b19f24a54f95030f063497740fa92a263a925b2d6ab0990de10ab8236728bd43c9fe15bcc2cc505393fafe13c918d895ca0cd032889bfc64bfcf6706e71f3f975d81be9f7d18450e9a83eabc32a6eb436ee6a7e8e81146bce41a8297ee07a24b041d187f86f154d212a1f377bddb976cf33c77abdca03ad46114e8e3a2114c4fe6405686473c74e86094326ed78d2abc386407096df8043b5eb33c8dff2ea81b3ff147e615f782fd7ce4f512ee70545412e44e652eb9bc6f2f99e013099553257b98cbc8a1f83af0b77f7e6860a04f68a8b9232b7ab66b734ef893659e927a4ac5a8c5753ed480966f67bae7790664345ff7f2fc929167737fc37ab4faf1dc3060ab7ee57c9792af718db4027a46359951bc21c626eb5c78731bd2bd31414fe493381be0f616b732fa1954217f3c6f3ff0913a98079bcf085a1fa575e45cd0a49abbe56f49225a0b4e91277e15c34bfcd5158c4f42fc4c6dd42ecd82fe1cb5921d140eb29e459fa1929cba0b605f82375dfea869725981fc3da6f122425c00b13c2d4c05e8a3dbe03fd9e9dc5edae2707828b4dcfd960cb8a60374ec2bb86005d51462116c6b91965459662dbd2091a340ca9c232e64d9026dfaccefa19197c21258d97830413b5c401877b5df4727fd406b192e949e62eabc1bff7a1e2663ff0d0388d5d21862295df645deb7174f305c7a87c596708649c978a95dd5c43915feb7cea013f28a44196f9158acc99e61dc78dbc55c437f3d807f24a3e48d8f9cf36f85a4e7386f75f57d84b778a76fa7f0480f213d3555237c6556caa4545ede312a8d763d4c16169a04528c39538cf628c175047f13a1690ef6f389506bfbf7c0260fc69afe912d45c70f4b4671f9af525dc3325e9d64f1d96c59390a9d0909cd607e4072e62e751a3987fc8668e1900cc9e25b38cb32bcf017f9db5082fb7aa7569f81d96b7b305b2a102121e1cca279bf42db23f2924c0c6b97d495858ecd0d12fe71504f9aea00cfe7016c6fabd7e7ff81dd095c3481eba22c123cc03ac435ea9a2f28a85e1b5a2dbf8c1fddced2d906d27d98252496773b5c156a4f7e3f26bb63650e84a5876a8a4641a7a4b7f147162160ceba992c7246577fdb537e86c13d97701f1cd10c2c532539dfd28af1ceeedd3bedf3455c3afba39454f1e3a3f14e661dc72abe932fad20ad31fa9692c322de551daf5d9bd6f972d81189e44396f76504e66a4eab8178805d05d76c17605a74af4120540a7d9396ac472f0bfe4bbf0cb511536be4f44d45765a69dc2367d1003e7eb42349d24064aba4280c494355934469092d489bd57b6f076d04d5e3b5588b0c1e2b2761b87d01c6db5faf8d3ea6b2f7854ae318477e17b069e240edb4af37565f13c3695d30e46902f6804ed4e094f7292027aaeae4646ffeda9d253124c65b95deba24bd96316dd1db37bd15c7b9b55d1ba77c3a5bfd2ffaed9f34e24cfca5a122cabdc5128646c4240f714bd063d438e6abd72dfcd34433bd6da011abbd00710ac44e907907e674b899e80c3ef1ec79c2cc1d4cd41a490cf686c6a51982b6fb270ac94eee7409d2083360066de6bb5c2ffadb3744155a8199bb035c47d9a7c4cf6dcf8a565428af4a3b7f0a8e53604457c9ef0b885daf90c13a53daf16ec497e50ef8b3bd119046065670bfdc11f612b324da722d4939816d6dcae30dd58d319b5911324a2702e471a2a4da605f503fe379b01031cdbdf6de4f8c78dc4b555cbcd9e11bae900c3d5d870fd8efa9a400ef6a7d50acc71ddf43907c235d19e63ac1e2d90f35e324300e2cd41aa753d6e715ca852617953d35abcf07307c8c55df1b53937d7245ea820686d7b1b865d7cba299de068146dee9eaaf69125fadf3ab36506e26fb7e9ef722cd806f5cfa0b695c0f52b05450be7afb41d0a1011346b7eac53439608b346b64504a690481f390d483cf268de86f3142aeed8cf8d298ea25a33a9502928256b469fa8da460c36c8abe876927d00ac52f92658372d4f2876f34fd67dd54502e14437dedfdf244ab337cdbcf3349e3bc2b77f0d5045062a62df65597ef907338de9a83de97ff24a5b4533d87d119a304607a5d46b698851c95b3570c98974d53c9ba2edc4ce10d24ef4dea539173f974a1dca14dfa57932f15d9e4d3e5a2274e0080a186fec22bae7b1c9807a20466
+Pseudorandom shared Secret A: 97d889eb6ed005097b2a8657a2ba280f0a538d06bc164840f0c6957ab50ac4a9
+afe4bd0e1cdc6cff09e4f32d68b38236f198e7ac5dec6d05d25b773d4d5cd11aecabb7746192ee9fea9bc1b717b7a7cf39b784554ea65847053a4970dda754bf
+Public Key: 7b021071172f7d9795b1b519c37474ac2a618331b89fc36e0ea7131cb69e23c6158e430c9d7c2f2da595c5970166c16e21150689262302ea3661e7601c881805f679c71545c797379310766cf96cd2e17a65f9168c2ccde530a5cdac335d88622d667610821848362384e7c7256232c3000083179e3a73c9c10a324698cbe401484fb262a3773536d35c5186ce511b4be17c3dfa4c609e7b0370e40f6bb0811e5043b6ac22eac68ec1d12359011bc0514a81730cf93b1b164332f0735c6c6827cb08bfe6901de255c15dc728ed3635046087f70462e3832fe6e9bc11a5a1390847d36286dae81085c51e2719cc66f1146f1b92ce079034d083065c2df90c1caf15ab99336690d0994ad83602518cac742b4128442e221c971a48d89c78c88b5380cc10325ab82f22564ca85c85c8c6cb421013c9b7007542e4c2b4203bb2bdf8abb8ec9f42b57e022c728c108d22b27aea556a84b29d26265a1dda788dacc54ae55c9ffb949b7778462706e867abcf48838b2630a1597c46d841c61740ebf39d26d0a15ca88270a19af024b101a16350c0a974d4ae52ab35d0bba2a334ceb45836ac9cbf63055d6af575a53bb96dab7f2fb82d3cb2676498a8a50160dae1522be33341321ca69185c66aad0f741cf1a59d36493aa61476176574c6aca50271046496bee6fa1bdc4526255baf0c06c24c450785161a0fc36c7519aec7c74149c638e512bfeb190fb1c7653a017572992f71d2bf054391c28b01be219bc1b1b667f6bbe1c6c4764b4d95628602f6bf61fc5e6d89669851802194069ed774ba115d17e80cecda151f408b6999528df701d95064e22917af766a33f2352293063be7842640b93a19895ad7a5fff76bbb94ad4138b4a3997ad8166684b51a1a7450b6b84cd8b12b6ad62ae1f22a49e980e524286f24a93117444c8643d5d13bbfb54fac3a95b3ba20cbb55a054686f0e2cb0955b84d6a9c77410178f13d1319a981f0b95e16a0b9b17707a718176ca5acf6211bf0974689c306c1a01f0bc03558674cb008ac2200f502a8149a2c11fb75e6aa1436da642f82b0fe68382646b8c833140ee634104213b5f8502cba0c119c02f7b10c3d2c8d5cd01618941bc378026f07cf728c0714c458e7b38e36bcb47557992c9697ba41bef1811784d1ca7f92a622b88236f9a3ab4c802eecabf1505dfdc956a8ca24008b050c54ae4efc65af9b1fe40b703a56a990a55b6ee97800b6b3fbd7624b4c768990060fc476beb7ad888181a608c5a09200345379f3dbc5df4831f4320c7fb3a47d1ac3de893fd8935211970393e0258cf21bb797040ac5854aa30bcc7005ae209e09a564f50703c6094a06f9494f8b15f7681428f1b781a72700847ac9f568de67c8962284ca4b78b5bcaf343c43d69396deb6bccdd92e0e8c6e42a89e421b971e25679d7464b87a15149778294768a7cc893d924369a59550f1bb4f8846ea2882e9b9014f33312902071fcb1642d69ba114c6f247bd68ec9f88821687468ebab91123d9b618cc75ad1b43285cc7db89b0c0e68200d396a52077adda2b8d747358f743d3d34c1580b3a32496a4cc5cc3abb8cfc75f8c6627a7fbacaf8856019080b9203b5f811516f383d661cf3fa767ff22afc2c71f1b1310daa03faf235ee8b57dae7a8ec35bcf1e422a7d861e01d93044e4873e84a94208255a7b9bb0511cfe719a1fa06faf3345e2e0114189207537b51761024f849298ab7b49b36976552de2640da6049ccc8c6701c78fbe6865aa8b6cf5c03ae07ba486c215a42180e05714c3340b53d17e0a8cc0387291d394135c271b47b71c5a1353a963bf71116bbf10991e1858cbc729d94b8cfb3c46ed181782667efc6606aad58795915ddee3140e566d839c1ba67abea7acced4c4608ad8c8cd5c3ea6685601676edb81a152fa5fe3929a31a6656d6a1d922405e03ab813b2248f396b9904ae3ac10c025068df4871485c7b0b6219d23b81fff03594ca76cef375ba6b17dc2c9550ab7fe372140444971b461f65468f0255616f2ba2d009289224a943e930abb7558e72cefd237cf1e20514793395d47491fa97b1d5ccc0c6448ba9c17c18985a302d63ba425a6876b856957ea99643b77529a44350763038482003eb5537b2cf00f4368ef0c738562ecbb46119153a67bfbc9cbc68af16a983991c9d051e71eb543c4f785adfac913f646270f63f71
+Secret Key: 08454c00dd757409a928f91868977ea3ba8ac207a70e157f3b2004fa22aa14b9196cd4346977439ca42bfba8247c7b21b79581d2d97656501da8044d804c69ac5302b4004d1b7597173b2181da173d22a36fa49f30d0a6f9d8836b4c9190dbba1f0805668655c9bb3df0a1206a57a35ec5a0de36cbb15917f816b8ee9140a2c87e93dccb3445ce65468b7d87b030329981d0cfa9142142a95ff94b108b1445f7431f56625aa3949a26e9450945295b43abb645aeeb486dee7b124b99782ef11ca75b3e93fba9a8d117500046bb76a5cab01513247d98f0bd0a192f79ab8eeee15e879ca885374ba5b18fb16a27d8c5473d53b43df13f20f110c6d518a615944dc00a6d22ba1957ac91469de5623c0002b236e92f7bdb9e50acc1c3e2ab964cc5703a0c89e6ce2849c95d751b7fd439ea943c5454ad5385238c71351645887d1b5eabba1fff174d6f08a108f7c3bfa96f7308942618cbbb3117ffc111ff31c60b36955af3913579037d7345632a464ed0b83fc3b095c2b09d83558839b2e648be3c87b73e1272ec39a5f781b34f615bc8b00befe4ce8319884a909868b7834177a87ad595b18518011350b9a9ac96b80d3005607ac879fa2a7f322817ab909d67219807fa5e07cb4271d40e110c7cdf622bdcb5317f120de298b961a89a96e58332d0ccd0b38b8072364cb271950ccf990a6d0bc4b3554b77eac2c61cd7984b1560f1f07f5ca6226dc79978134b5d8ac768abc6121a6b749852eee9bfaf307b14aa146446192173cf7ce0195be05adfe52d57d108d3b49dbe805d25970ebc291a6a097052d6b5a731885454b68bfa86949c9fa4a86a1790c4585553d682426bb25014680f4728cadf7468b29255b19b68a40693ae020cc4e166a95c434d84764896924a4a5325ba1c33d0a23ba44d5fd529a50ba7c7f4830f34930f1744b680ca45dca960425f8a558bdb3582376a469a51b205541977d693344cb823798cfe49568b1498135353c3f37b3080632f7725aad64f5c042347d842ed944983f15bfc7a2ee7502bfdb41c1ff32790ab827b70703ea4a6e79c09cfa789a802539683956d0c53c4b3a6c75b1c83307761438039041ce9ec873eb43b55307ddf651eaac9987477b71e5c70a50c05de594856bc13d6a35a4505c6b125261f5acf2dd93557a8a7a9e524081328d246ccd2160f24d36e17eb4714c548fa569937bb7959aa076858b2053a1365850d01b1a278a3212132a8784cc676ca45b0e8ba8fdb65269a9c2bd5bbe7b0b1e17b4d1738a7f079ba1c92bce0b1bf6693c665aac17f929ddc4a75ef151eba741a4094bad948726dc57dab56b41a354da6805b0b4bc2a26c8158049d7a8b585d8aba2d4b2dcb399d977a0586d23d41658eaa9192829c143de545c783b32edc73ead50599fcb5ba866eba2a82580311d8c962fefc9a3b1c2d6de66634031a9837ce14847fcc8a111bea8badd82310899a5c543ddcf9b0090b1da98830455c93a968068af322537153d9e083a09295e0ab5c5c989906578ed2da9c30a4871bb06e86a086ec541129a6c845293f25da11f5b31a42a9c76a8881d4d2638a56790e4c346d03448a685e36067acc4a433a7a864a603bc461906ee233fbb951ca3649de598c9004c873738fdea337d688046c388ba3aac6ea24768581b02b1732b5f906cd53cecf938c19e8146127adb8b28be2517e77e245db7072c0f08f5dab71697bbbdd92042a40bc7e46822af051154742e6ac7a7ffc41701b898f31521621cdf8e91260563c15a521a2007f6039208b714346a06d0c81a66f02142f1077f6188791e5c0d73a5fe413679f319d043814df101dd23a2ab736322259029da074ad23c023517f24a1c95e3a751d88631b6901d6b61714d08494536dc65b151e099284b7a967014cb4a1658b596a14d0c147db2010190e04e46aef47b8dd599a47a7780740537a1756d264bae0133093e352dec249cf88a4b855b0ee509623334eb94869be828cc1123fa3ca45ae0207fc177e3e9009d684bc5f576761d3c400618c913b56224b50a1221611c366c508ad67e06a1d628a55ba700a427994309d0d18634ad4bc75fa49ad2793a6f60ab4243698d949c6e330f2dc4b78a05311394119ecc6925339a39660758c8e1e1471e9676db809877be20e4dd7727b021071172f7d9795b1b519c37474ac2a618331b89fc36e0ea7131cb69e23c6158e430c9d7c2f2da595c5970166c16e21150689262302ea3661e7601c881805f679c71545c797379310766cf96cd2e17a65f9168c2ccde530a5cdac335d88622d667610821848362384e7c7256232c3000083179e3a73c9c10a324698cbe401484fb262a3773536d35c5186ce511b4be17c3dfa4c609e7b0370e40f6bb0811e5043b6ac22eac68ec1d12359011bc0514a81730cf93b1b164332f0735c6c6827cb08bfe6901de255c15dc728ed3635046087f70462e3832fe6e9bc11a5a1390847d36286dae81085c51e2719cc66f1146f1b92ce079034d083065c2df90c1caf15ab99336690d0994ad83602518cac742b4128442e221c971a48d89c78c88b5380cc10325ab82f22564ca85c85c8c6cb421013c9b7007542e4c2b4203bb2bdf8abb8ec9f42b57e022c728c108d22b27aea556a84b29d26265a1dda788dacc54ae55c9ffb949b7778462706e867abcf48838b2630a1597c46d841c61740ebf39d26d0a15ca88270a19af024b101a16350c0a974d4ae52ab35d0bba2a334ceb45836ac9cbf63055d6af575a53bb96dab7f2fb82d3cb2676498a8a50160dae1522be33341321ca69185c66aad0f741cf1a59d36493aa61476176574c6aca50271046496bee6fa1bdc4526255baf0c06c24c450785161a0fc36c7519aec7c74149c638e512bfeb190fb1c7653a017572992f71d2bf054391c28b01be219bc1b1b667f6bbe1c6c4764b4d95628602f6bf61fc5e6d89669851802194069ed774ba115d17e80cecda151f408b6999528df701d95064e22917af766a33f2352293063be7842640b93a19895ad7a5fff76bbb94ad4138b4a3997ad8166684b51a1a7450b6b84cd8b12b6ad62ae1f22a49e980e524286f24a93117444c8643d5d13bbfb54fac3a95b3ba20cbb55a054686f0e2cb0955b84d6a9c77410178f13d1319a981f0b95e16a0b9b17707a718176ca5acf6211bf0974689c306c1a01f0bc03558674cb008ac2200f502a8149a2c11fb75e6aa1436da642f82b0fe68382646b8c833140ee634104213b5f8502cba0c119c02f7b10c3d2c8d5cd01618941bc378026f07cf728c0714c458e7b38e36bcb47557992c9697ba41bef1811784d1ca7f92a622b88236f9a3ab4c802eecabf1505dfdc956a8ca24008b050c54ae4efc65af9b1fe40b703a56a990a55b6ee97800b6b3fbd7624b4c768990060fc476beb7ad888181a608c5a09200345379f3dbc5df4831f4320c7fb3a47d1ac3de893fd8935211970393e0258cf21bb797040ac5854aa30bcc7005ae209e09a564f50703c6094a06f9494f8b15f7681428f1b781a72700847ac9f568de67c8962284ca4b78b5bcaf343c43d69396deb6bccdd92e0e8c6e42a89e421b971e25679d7464b87a15149778294768a7cc893d924369a59550f1bb4f8846ea2882e9b9014f33312902071fcb1642d69ba114c6f247bd68ec9f88821687468ebab91123d9b618cc75ad1b43285cc7db89b0c0e68200d396a52077adda2b8d747358f743d3d34c1580b3a32496a4cc5cc3abb8cfc75f8c6627a7fbacaf8856019080b9203b5f811516f383d661cf3fa767ff22afc2c71f1b1310daa03faf235ee8b57dae7a8ec35bcf1e422a7d861e01d93044e4873e84a94208255a7b9bb0511cfe719a1fa06faf3345e2e0114189207537b51761024f849298ab7b49b36976552de2640da6049ccc8c6701c78fbe6865aa8b6cf5c03ae07ba486c215a42180e05714c3340b53d17e0a8cc0387291d394135c271b47b71c5a1353a963bf71116bbf10991e1858cbc729d94b8cfb3c46ed181782667efc6606aad58795915ddee3140e566d839c1ba67abea7acced4c4608ad8c8cd5c3ea6685601676edb81a152fa5fe3929a31a6656d6a1d922405e03ab813b2248f396b9904ae3ac10c025068df4871485c7b0b6219d23b81fff03594ca76cef375ba6b17dc2c9550ab7fe372140444971b461f65468f0255616f2ba2d009289224a943e930abb7558e72cefd237cf1e20514793395d47491fa97b1d5ccc0c6448ba9c17c18985a302d63ba425a6876b856957ea99643b77529a44350763038482003eb5537b2cf00f4368ef0c738562ecbb46119153a67bfbc9cbc68af16a983991c9d051e71eb543c4f785adfac913f646270f63f719f2c8cee3a0501d1c3f41a94f08e50639987c952f238cc6f04db25fb41341b2decabb7746192ee9fea9bc1b717b7a7cf39b784554ea65847053a4970dda754bf
+494b48739ab6efd1d17c7b0cec19fa822d1789076efd8f7c2900593e278e1ae1
+Ciphertext: 8b2a109f58e6d8878f48304c01d2159e5d9c8d6801bcae3b18e5ae35733d30c60b4d255d7abd105272dcb82500827f8d2c5bab1c1e0a4575bad4ba10c47c838a03ac3ac4048f6a4883bb7e4e79a21d76d98675eb0b54c48f3f97a028bae585517c7372884a6ef416b38c2901b2fb18b4ff36f75717d645ff20ffe1f843f083aa9297067bf2b7b61cdbc67d079afc65459561c44444181b4190802190ca1e3fe77f07bc963c76b0f7c02c8d5b62a0f843d23343205b86dd3402163e7bcc678c3fb55411c49aed44508ac18d3f1ba602ac71fc35a8c5b3d0d50116a99b5b2d1cd1b75bc2d0dfbe27170627c5d4d31f3cb3dccdffb6bb0c5bea4172ebb68f71c1e1e2c8ccde071ca950ffe2a86b179a09232d6aae7d93fe9588c413d4a9a0b0d53d7fcd37a80ec46a87eccacd33cc7c0e10feb27e6c7beb9fde9e89bd35025163c9b48db250c7088e2b0d3b511f1a67bb5fe8464691c4b116fbc8e1ce48c3f1d0c6d790d60fa890176a6a096fee6b57d010f9041dca971be3cf0473b6cc1af396362c66e7c868c717aa1b293a9b807ac8fa515f6a46412f623eacd97944b9584c8a7685658aad0507b45ef1a9a21f4e470f69cd4944a6e3a6905ad361399bf55e2ee66b04e336340ac1d32a8d584265b5a1fd79f6be75336295b51aa116e49615ca21ffc3eaf02966efaae8e62e516a3539c97ed0196a91b01282e185c18c06ac8448a6169c980274219a6b85b689be8ccf6e68b03a26184111778b2d6244ce2c21a7ee530050086457da468627014a77898d6eb6c283dc42b842f4da735c119d39c533413d71165686575621d9a93f6a083ec7f81a66262fb45c44418badefff96d03a37b35e66d9f44ac2ea3fa036337430bd4fe37e2e5cbf6321df1bb8823886173515cd0be0b820d997c64eb6796e49f5e84496a5541ab0caa446c5adf471f3362937362b19310cb3a7ba02f7b82e4cf355ae5a5cab131bd55954a15529a760c8cb47483cea49add2840806487f6852cb1f396cecca00556644222d05c90f8762ec4035c69c53fd26052547cffb5423cd1453aeaadae3f3ff1159e0041a79cdce645e26514315a58406ff5c48cf256c43b6823a219c677ad5eb51474c3c711ffc1d7b05a81535861dde9970ba1336bd71ce0f21b780c87a1e38f4eef565072406d34a3b9e2d4e4c471de2c383c7cbbd24b07043fa0b5107fb197b8c3b84ac6c047d7a820a21591673b586649a646c8251f0a5e2b4acd585db2eb9310f533d9dedeee9d4e516eac09859a34cf03b39729f4c142a103e0c0a28fe531a7c9707ad788425cd0efac2b467e5d54b0a71b68f31a9fcad450bfb81c7aae5fb141ceae10138006ef224ccd1fc31a3be5a5cdcfcabfc9026e6c43931c82a95e462c3c66edd96e9df727e66340c50a2030a2a112db6b71052cba6fa32d44007b0c0832c96799df89aa4955e90a3f488cb5489e9e12405fd1a90364bb9e366af98413d03871b6f5d2256279c06e60d5c94e15029c63e4860fe1f96a8a1d5fca6f9afe76c47f215f85c0eaae3e9d4a364be9d13e3a792bf52287e7cfa3ade68b942780eff3f165431a309e5cae3169d412693bab7b87c2d48cf97a5bb2ee89addbd5ccf8721248893418e532747d7bb21aacd5a6b5db2942a22db4f34b3e2146fa4ffc3e3422297f258e4c466e59814e8151267dda39ab73e18070a45364d7f7550d2e55915ad586c361bef86d493bac28ab6cd6fb1360d667a17ce47c600eaaba19ca5f646ea6632798d14d8d547b1f455212688b59731c065459770a6a921b598e12e69e2f3f18a76e32ac856a8e3f72f00f0ef8540f3c233a83675c7547204df819f9ed773be2a972659e24f56d49c9ce6b9ac0cf4115f0c2c1ac771c97e760333b9b7e73f9c3f1783960cb6d00263a331e98bfdb2ed0e49af9ab2a315f609648413e37e10259aaa07450c67c2a63e85a25c4209f157e90a07b38e25585b28ed79a3d53aeb9f2f1c280ab859bd0b2e1534ab966129198eafadcb2eb54ca8463a59c321f79da7e62e69de579aa99b82fb5e9696f0ddd5386551f3616e0505fe2395d70bfd09bf43e7add3aa350e10541050bbe59ceae537e20b8f731bfd0f353af18d361512960ccc58745940935cffb3e633133d7a3be0240b1629feb36b01745a9a9289acff7d82ef58a32cee596447a96950bedca72752825ac3bab80322dd3d6e0e39
+Shared Secret B: 82a147ef4610c91a34eb84b462b1f6212b42b63980e19277b19025c7fe234870
+Shared Secret A: 82a147ef4610c91a34eb84b462b1f6212b42b63980e19277b19025c7fe234870
+aec82777cb64d4a25ae3bb3aecd1602bdf418db55ce5b9de560addb8fb75dd872a292a6f34204531457f0a610091fd67a44d42ec4c2710bd1ca8c5e7df6fc2e38b726cbf22fda368d0c59a6e77ba700504e5985f2eb32207ad65336b1c611463a0ee89c9af55bb4f78512e339a6ba2a329cac9d9ccdeb73146c18dad2ce91feed76c6de5b3a5b407e339f61e5d622797bc5156b1403818f8fdce74d4f1ee4bc072990fe0ae395706edd6d24cc07425aa513fdda353c716c41e682309da645cf37d7a128ae352e32cc60ca981890570466e54aa9ad4b9197f32d39bdf190255c9a7d62ca2aa618b658b6c6d0b0a254a36495d87c8ce0576e679217e2b343fd75df3a73442c0d90527616abd11d89780df42bebc8148449d006843bef28206783b02e4e50ecbc1e27c7b00640029aaa8908734b0110e9f719c519ef91f46d16ed79075b4189a0e09f29073ddc287f7e660572fe07363f4bd94e83801da766887a94ff3b5187beb413e5f62861cd61c05dc0ef70e3a6b84d3aa25814c45c0ef0ebfe6d2ef1648885d5d0cb43e7f369fbd313c8f8c3eefc6b9a30f18a0e451f2636d4d2412baeae594fbc7a8fed0e5e839ff17f746f1c81bb87fd35d464b464ad12d560f35f84c956ce5b0da653d494e5e7294dad347b48099e2feca60d2329e5006ebc1020b21e6d2f59f8b43047514048fe51eea0d1865c0227bb7065c62b12173bba3b3fb28ca234ee0441b8c83c200fe3a3a221acbc199664ce775d2521e64f82504d4dc4e1f40ec1915c321fdbb9d9982d6dece9df55e89ca63656360fca6ce105936ac6f768029d4d20316d8d70844eca3c0f8f262fa972b70c55fef5fd25e702cbec4c09c5fcf5c333fa1780cffe1007d089e88e86d1c1ec98235acd742055ce1a3eb0ad83c3bdbb1b75fad0033ccd0bb706e1505280367768b7f41d7c6fdbaa96c2eb17ab92447fad94120a74e24306ce5e3e2366431c8fec980ca8531a1c70cc4b3937781d93cf5b5fceeafc74ddd1e7eb6e3de92555f33310278608670144a314ba3416aff9d84877a4fb321ebdc935406962c6be6c6ba31f0bfbfa16c6c2d0ca47107578a8f02b2c8238def34e51e575f7a64653cfd797ea3f4c922b25ad6989e0d70d175fc05ae34c9acdc40619e2e4785c73686eb2eb41367fbee5639468e59a3355f6cc49aac35f73234eb4af37386e419d428392c2318f90fc619faa1f3119b70a9069e396ed7497b99b9cbba4ba372734a739e498419338d2685e806311b6bcc42d8142ca194a40843827d031cc14292fc8ddb1fd1862fada74a6a8a0ee40ca0c7546e8e2f2e4d942b426bf82f0a9b48be645a653e4a6f56100363abf9f24f1ef3e3619bbf1bd57aa4f69e0e16fd54f2bb9aa3cc2fcc304af147840bc5e66d2062a8274c01a91d316021cfc87c2b0159d719de4255a3472680b9e5d2c03ee3d68b40fc1843334303e1ff16fa0a0ba721430f6c609b64aa10e2ccf2a5d9a02aa40c5a1cbdb4cc957fdde8d40b7d83af9f5f7ec790f6612dfc941e4c853a39b4962e1e8d967e701c571664ee24aff3e7dd2ff1e38274ffc2f6c99a80aac290dcb8fb833ee67f6adfa515e0b59c5e14554b449e9ec8be5704ec9f242c978da8fcaffdb91ac9c1e9a238d9f51cc1e576e26dc9cd23d6359642c883d054417a7ac71b0f82946431412a54b005f31e0f2ef3a72c9eb147bdd6176cc0dfdae71d838ea41be04314fa4cb72ec2aa1beaf254fe18d52f0b991d8ec0b00f7f21ffecde233fbbbe47856dc6c742d8abccb1a3686fa3f9fcbd05823100b2305436d93ade5921fbcd09257b6f02d56385f99cc972d0908b091039a55086fcb4743f961fac5da9f39757d3cb5cbde2bc3b7ea068d3b6a6f4b388d4987dd516da26ce021225851c4a47169f40e6ff3da59e5def9365baf8a4f9ed52537506390669c79ebbffb290c9a3bd058d77426a75dd9dc49161c6cb26acfd5f1d55614a46647beee5ec6b9bd60bfdc539e8f353807751af43daac61939c22fabc2064061d0a5861cf3c699e73b48d6b29550e18e084f5c88c65cd8c5e9ff54467a86d6aa6755dc93fff6a5075916710e7490582dba9eb2d450498624eb4939cfefd0958518cb555d423bee60d539fade6071308ed68e202763e2c1cf123f346d0a41556afc3a35813b4f7aaf5ee97181ccd3b57573eb4bf46450109f32eee98bc78b67bdf7a
+Pseudorandom shared Secret A: 7755f20ee19646dbf3911cc0e9abdee69059cfbbf7dade97f2ca42e71c3b0e0d
+48e52ab8268ea338e3fc71e60f7a4d3300c05ae6077a2fc3ab1f513e93c88c8a8981bceb10ca7c4c3f749091e8fa6c33559493a7d179fdf23157c14c9f1ff900
+Public Key: 60b4343108ab2751bac766285e63a324b301aa3c246f053b8f60288e6a2af162285c8aacea785bd967c9b89a994cc7a3b9f57f5b52865b441e1bd988fa00727a54281e6768c1ac4876b0655798b7e8c31b15d6bfc4961567517284313dc49724def79b1fc4a34261237da8b049f407bd03191712b30c01209aa13fb050699d8920c656566d9119fde057e34625498153c53c3f4d905a2698544a7076cd56c1fd5111c4299147a6745ea235bc6086b3600e1053557f432ef79a2eda30a808f2061fd898954269af775256c030fd600fd02b814b0160e6579e05c815e1cc8f7f3ccc8b017166848b6dda56a1e775cef20fafb126641a8a1de6b0cbcc944b4826fa770b0b9b9e0317b914866daa217662874879900490a4295f3a5a9d577127558abcab8a3a510d72597379a835e542ccdac127061764b9ea2b18c2c02dfa14f532945a685322cc3c52c78cd3c79ddda20f576298bc150742f3ca8d436995e311d5a14a394b017ab982296a2933d4a7504b01b24491bea3b07b753800a234a0873e30e855b2117e526c784cfaac5951672676b1ddd65bd37993078467014ac0f3b26fed66a29c07936a480854d445e06014f96876d55050ce3a824fb6056aa0c18f850f3641343cdc5eec1ccbf3d97b05222c65079e2e62c0758c241d729b28479977891541dc41454755ee177faf33b641f331edd739e862cfc7f39b67316e14e24ff509cb15f49e409ac146f2830283b5ea98c5e1eb437163984d27c76706287a44314e7955822810aca92f339b1808437a1cc92d27e24aa92a6eb19804a4160eaf6739bd71729ef3904fc8bbe203a0d573ce099478e0952bf8f1712e63cc53a41834142595648a22c915eeb798f27b0f796327aa091c52fb7d2492a19c46705edc4368540592010370b10c7214542de10a9f78a4c83aa9c5d55d20aabaf927b86cd0708f979f69c152a5f439b4281888f5505af98f9360326d7c8e9a6397d2813cd63cc56049628a54b4f22c9c680c070c8b7a5ba4805122449ce65ef4973c27955c89d700bfdb64e47c1c76c01797cac924792945da3a06c7be7f6856ee070072cbc7bce5331ac09fe7f4cc2b66498fc53c0afb4f824abf1a3b08549ac3e6408deaa446a223966dc817495a8dfa3217aa57727671289b263725299305a468a4b7394b25c94ea701d403800679283d11c50796604a5174c7545104a5bc7da243406bbb0298460f548befd90a64f14c8758c1d62c4cc092cf629286fbf43cc04cb6822247fd1263a97c3383aaaf0dd5b39ff2c661a0c1d108a708749e32bb41343795e0193634d28e3831bd32922ea690457328690e957e4e869dd51128944760095062c754cd127bbbeec3012d7786cc78afa022a5f2393ea4496a834b6dca553373378818750dceb26d761012e3787437a0c07027a8f41c03fdd841d20ad02bf1858f9c2ce71558bdc08302c5155d7a1740206ae12c7ddf1421a18194724c0fe580684462c02f32a71ebc40125abf1de897cf646fd676a6b1bb8e9b8b8f15822eb6e5a4c4c96fa30c811bb430711808b616046e777f3564a4191bb42d160ad434a5dfd47c3d496cf07c7a88802b2cf9cd5b5b4b7b301294c28acdb8633378ca7231cbf0a484a85366015773de67398d343e6a432017d9897cd16d9aa0bc186649f5389551604080b48705a9bc0cd58036826a1ce5b1ede108a73322bc56a196608497cac224c3974b00c05515942bc2696c1b4132a12d1d365d8116bfa4e66f00c7cf3026afc0e31336b00c39ba5a01a557a37bb54d9798b56a0c61d59b06b3b55531424af74350fc9d8bf2ccd983ca6c885cd3f0036d83c1df549660064e8ed6b0afc41cdd11b54196abade450a3388d149a1c004dc8d3804e9184b378c02d5d7b445fb60b765929ab97c1b2c60b22185828776d89b94438c1557d37a99088a5feb04b3274c70110917b642e74b427a4f3baa6217310a35b2e7b16e53545c078b728bac496e1958216b4b9bc1c9b5570fb32a760c4584da375c7a7ce1ae24c1a49792d4b45e34a991ea37ac19c7c1cd6ae20fc24cee859b1fa7ff5d7061f74209ed308eea90509fa268b93c078386a30b0c3da0401428083b0361d04e1041c6a097e19b36a3ca868ac9b1169971eb45ec4f6cd9144519b968ad121a83a712fa492cd7933b0b8334ee77a46942b03b50e59f287fae2abb52b4762f16827301d
+Secret Key: 31d570552c952913b86b92bfd810b56bc512fed756deb711f37849c27b76bc98ae9416bc84b06e1509278d5998117ba2ff69088001c49dd0b6cad40358fb5476f6254736b30af8871b317e07a84fdeda96855abde55c37e6f452f1a0371e79090b0578c3552d2dcbaaa3313b7f7bbc5db390fe513f02e18b48c9894d71ceb4a5961cab6578727473a808fe45a66ab420789a820fb6286f455406467b769167db5b5d496379a6e483b6e3abb9a06224fab05ee72863c7359d76bc24f43622c8480068407cb958f8a317ad9badf77bbd005c51faea1f2ae2892c5a2282c97707c9c6892c8887ca7aa45416ae80c537ac51225918d491500c7a288445b60b6057da89bb6c936b6eb3cb02e9b74e4ca6c59c00c0c9a5931b34a42347aef11a9ae02ec2ca785e5a627cc7c153d27391b3af20d533ccc1c2f5dca08c982375046404221d3fc82ba8691f7c10655c38021edbc878b8cb2749b7e0941466f23616527703320f89e2ba6325cd6b7b30f5351a62db9d040143194957d565cb17d5a728b18868416612bbcb3f208f53355f372b5c243c3f421bc3b01a9f610a7fbddb10aea2b9d64c753d0b8cfc719c2cfc4e36f196337a83f18693e24ac8d7a58ad6d6ac72567aead06712c8c3e09740f04c6274d0c53257cec7294ec0c46e5f3a4208a9bcda6a729835768ad90b71e5491f04242df447eb26b1e1ab39f3309d5e177f1f49271ff602804745b9e74ccb5ab50023b73032954e025a8f1622109765b5e8224cb11194d096a000256893a010d886e2cac75ba54934e2b909d08d2d5766c08baeb3784ac029ab96d80a70743cfabb7a9711305bf78c967a66a0c30f1db699cf341c187879ab833cbff75e9a600ce795487eebace2b43dea609c52f1b3e40019a0d63c39cc1a0ca25a57f6b0fedb1a7e72119b2c3051263df329c477798670e55e7bf387054593f9b867a7f16939cabb97d17e0dc5cb20cb28d6a7cf2881545f1159e10b4d88325e5c757f968384ae273477b0a4ddf2b7a4c5ca9026a2dbf0b63b3884006d5675e2091659cc2854cc5f50aae49492b6c7a43f8bbf3c199e0cfc7e7e2957d6a7170964a369c017c152cf0e01215e663f6d6b17a98a3fbaf2809fc67e1b83ade742c72b2c38b17b6f95097f18177e7440c955a863fa52cc595555d0a9268f975dedd41d07d60fd3f7afc5dc7ca9dc4169a49ac691211ecb10ada45eebb63567e0cd44f31e15c4ae53eaa8d1d116fe5a5230123ebe708c9b31800c399c3e05c543e75ebb878cb5e4839f16a93eba3f6b7345a7348065ab582f2cc3b52c83532aa9ea2ca439a8382b894db561ca809c92b58c6075f1694b1a64f4b1c9ce6a58c5294bc469cc9593c989680373e78f4cd019ee2b63dc2b9017b81fa9924d501a82e717cbd3fc9d20c098b421accd162077785a3e6684fd5aabb984b83a8621911ac998f3612b4b848bc21e9c649e1af6497c032527ac91d8caadadd5b200731c1276401e9abeaafa7a4c52c1085c9d012c942f92b45b5816fca3756f673bcee624c8c43e60f441663a3519945c69a4a4d309403ce59aa8144e382861439113df875f406168e77824535419d3dc1266b21477c793b526a67673612e809416a24a08b865b8c3b20c242b2431ae5081a56c3b2200d0b8857c8680034207453a97066c16b67fa0925002db28ba228a83b159aaf77c04256a7b44a3dbb2afa121232169a90d0c6d9d4aa8a4c022a9c3b24586329939550c8c39a4cb305af13e36540b0d52068b0b33708cb551d82f94da33eeccb5a180b1c8962e2245ab15e44b4be687c6bb524f5638a2023a8182b964f2b5b7403ba0650554e96191f8a0de214d36c3cc58001d32e98c50844ce976c7b73c6dc0f29e8c728d435c4d0e712e9f969c5e69672c92347df5a9ca01c3a0819630507f61e480d20169e6f4ca93725f866bb43a644b40952d87446fed2a1f07372761b8a435fa3bc4c9b497352a91779350a0889b08189fcb5c7c1775e673798e91428db32814c236151b716cbb4cfacb3a08952d777b45290936f9164f2a8795f3f91a33f88f635630bb216127395b5cd85f88e9439efcc00034127f52302a02c8c1433738864db47ca70766b1c3087cc252aaecb849d7ca66605790da89a344d9cae3560886d9c694515ee8b00160b4343108ab2751bac766285e63a324b301aa3c246f053b8f60288e6a2af162285c8aacea785bd967c9b89a994cc7a3b9f57f5b52865b441e1bd988fa00727a54281e6768c1ac4876b0655798b7e8c31b15d6bfc4961567517284313dc49724def79b1fc4a34261237da8b049f407bd03191712b30c01209aa13fb050699d8920c656566d9119fde057e34625498153c53c3f4d905a2698544a7076cd56c1fd5111c4299147a6745ea235bc6086b3600e1053557f432ef79a2eda30a808f2061fd898954269af775256c030fd600fd02b814b0160e6579e05c815e1cc8f7f3ccc8b017166848b6dda56a1e775cef20fafb126641a8a1de6b0cbcc944b4826fa770b0b9b9e0317b914866daa217662874879900490a4295f3a5a9d577127558abcab8a3a510d72597379a835e542ccdac127061764b9ea2b18c2c02dfa14f532945a685322cc3c52c78cd3c79ddda20f576298bc150742f3ca8d436995e311d5a14a394b017ab982296a2933d4a7504b01b24491bea3b07b753800a234a0873e30e855b2117e526c784cfaac5951672676b1ddd65bd37993078467014ac0f3b26fed66a29c07936a480854d445e06014f96876d55050ce3a824fb6056aa0c18f850f3641343cdc5eec1ccbf3d97b05222c65079e2e62c0758c241d729b28479977891541dc41454755ee177faf33b641f331edd739e862cfc7f39b67316e14e24ff509cb15f49e409ac146f2830283b5ea98c5e1eb437163984d27c76706287a44314e7955822810aca92f339b1808437a1cc92d27e24aa92a6eb19804a4160eaf6739bd71729ef3904fc8bbe203a0d573ce099478e0952bf8f1712e63cc53a41834142595648a22c915eeb798f27b0f796327aa091c52fb7d2492a19c46705edc4368540592010370b10c7214542de10a9f78a4c83aa9c5d55d20aabaf927b86cd0708f979f69c152a5f439b4281888f5505af98f9360326d7c8e9a6397d2813cd63cc56049628a54b4f22c9c680c070c8b7a5ba4805122449ce65ef4973c27955c89d700bfdb64e47c1c76c01797cac924792945da3a06c7be7f6856ee070072cbc7bce5331ac09fe7f4cc2b66498fc53c0afb4f824abf1a3b08549ac3e6408deaa446a223966dc817495a8dfa3217aa57727671289b263725299305a468a4b7394b25c94ea701d403800679283d11c50796604a5174c7545104a5bc7da243406bbb0298460f548befd90a64f14c8758c1d62c4cc092cf629286fbf43cc04cb6822247fd1263a97c3383aaaf0dd5b39ff2c661a0c1d108a708749e32bb41343795e0193634d28e3831bd32922ea690457328690e957e4e869dd51128944760095062c754cd127bbbeec3012d7786cc78afa022a5f2393ea4496a834b6dca553373378818750dceb26d761012e3787437a0c07027a8f41c03fdd841d20ad02bf1858f9c2ce71558bdc08302c5155d7a1740206ae12c7ddf1421a18194724c0fe580684462c02f32a71ebc40125abf1de897cf646fd676a6b1bb8e9b8b8f15822eb6e5a4c4c96fa30c811bb430711808b616046e777f3564a4191bb42d160ad434a5dfd47c3d496cf07c7a88802b2cf9cd5b5b4b7b301294c28acdb8633378ca7231cbf0a484a85366015773de67398d343e6a432017d9897cd16d9aa0bc186649f5389551604080b48705a9bc0cd58036826a1ce5b1ede108a73322bc56a196608497cac224c3974b00c05515942bc2696c1b4132a12d1d365d8116bfa4e66f00c7cf3026afc0e31336b00c39ba5a01a557a37bb54d9798b56a0c61d59b06b3b55531424af74350fc9d8bf2ccd983ca6c885cd3f0036d83c1df549660064e8ed6b0afc41cdd11b54196abade450a3388d149a1c004dc8d3804e9184b378c02d5d7b445fb60b765929ab97c1b2c60b22185828776d89b94438c1557d37a99088a5feb04b3274c70110917b642e74b427a4f3baa6217310a35b2e7b16e53545c078b728bac496e1958216b4b9bc1c9b5570fb32a760c4584da375c7a7ce1ae24c1a49792d4b45e34a991ea37ac19c7c1cd6ae20fc24cee859b1fa7ff5d7061f74209ed308eea90509fa268b93c078386a30b0c3da0401428083b0361d04e1041c6a097e19b36a3ca868ac9b1169971eb45ec4f6cd9144519b968ad121a83a712fa492cd7933b0b8334ee77a46942b03b50e59f287fae2abb52b4762f16827301d84c680df57b110cc1286418e7f9c757eb249a7cb2de2bbd3ea87bbcde1e73b768981bceb10ca7c4c3f749091e8fa6c33559493a7d179fdf23157c14c9f1ff900
+602ccc0e1e5192c19a7f0ff1cf1201db3c4e0dabce73816bb0a219b1bf61b3c6
+Ciphertext: edd4fc89afcf8e312afc4709f3f24eb6cd8b624c1c3b66b6fb5f2806da4c045ded051253569fc11cd388ecd1124811a14d0c3bd08571cb314e9e5947f51282ac4d27a71e750245a3396fe309c9c046ebf1ade57795dcc205b5071e5776023e2dcb22f877c2ef7f4668a2f2810c1ffc525307d33cf14b45d483b26abf843cb4c7bfe7b8ab759a3023f4b34d02f0cf062b26af073d32a3dc679cdf14c0e5349b24352c582048d616839fd12f2b3dda8c744fd14d2991475dc19763ce057a2856c9dac3d43526269441cc10167b83ccca69b2f12eae8062b01acd466e6b66ceaa26c90d9b22a8e8d7fca9c4be71d685d3a60cc463bbe7f046fb082b618f2a1dde5254767cff445d5f6986b08966faa289138dbe11f3a2d79401683ddd4d3b0f4b4729b80e659bb81f8ad01e27f95af5457a2626ba1bcf504026963b750ce12ca031b0ebc41abc81b18663e982dfd7a70b656efe986b792e3bb25487573295154d5426b56378bdbcdb762d57b4659e1a9008e66b387a70041fba016f47f32e74daac2160a3a40fe0bde258f7485830c4fba805d8c94ad74f5e1e3231d6a0d0a3cd6be24c004daee28cdbba71a6c72677674a57d7274917432d8ebc295e68aaa783531a0a6396c7aaae2453976375117175600fcb4b309924d1ed046c0485c41df840c38ecc9f3696e3e04c605e7e6d9971fe856f4f53ff26b87e9efb210b70d834b4c976680389c393c9186503297650f846f882d8b6e8db9af68ca1806272e040344720134ac590cee07bc5adf0f4ad1223b46697de0c0d5cfa61bfa0136abcf5204e83c003e14951ae006f7e96777bf1b9d0c8e9d34180370040acba1952f486ebce47c2a692aac2e17e0f4947ffb360fc7ddcf36184a7b16479f9975ef62149f90bbca8b580aa99169aa44b05cf6afa228a9886de999aaccfd0406d82aefe3a80b4802f30232e81096152fd9361259622295cb2a96928021001b23fa60c6e3e20d621baad182681c508addf319d6749988005762f9c44892a099241e0e0e65fe4190e5c1660b81c11bd8b5cecfa46e341f3f01fabb019ce4e56efcef6a994fabf8465616059abbbf5f96192a588383417cc820e24827cea1398f5a7eb850ec99a904c2f5e39a0ea1051d33ad5b1aad7f5d3e2da5f8e62752f8c59f14085e5a5d78ff006c03ec87fd9eeea351b43808026c7ae8e02b270f002f8dec10f254be66ffb3dcbc7794cc4ef4ad61ccfb02bf990d7f7005942d0b47110a919d18f8711b1c3e6f16db8f65ea5ef5adbe2cf38e89f406324fcbd8def32f563196fa82ad39538de941e01ba76d2c7e4f1f19877cfe7afaa32df32412e8f9971a3ae5ba67bc9bca55107f322850c9d11a6cd3991941e84203148017e7d98ebd670429670e8b4ca1ab9d701793ba151c990ae9a64a18061c4d5961d9b8cec37d80e60b3c6ca469b79eadae3b8d4b57ba8a29c0125b822ce1611767983c82ab04e1f3deea633d29c10ad5fb6f60cc0496690cbd2aa8987378378cc05fd07a2056a57f92ae7cb1f6b9a8f108be582b6526c6c767ca1e518fb624bfc3a0fb0956a455f2582e15c405367e52171587564b01955c60ec3bfcca0e5253d04408a0550201fb9e96ef05f2681b5f4826d9aa6fdf9a49337c4132d73ae4f771ec3cf49137505e8acf0fb75eea8bf67df270a0d8e708bf9723afa06f5dfab9e2e38188a4cc7cdbea59183f0f9b44f0e5764f6caf7a97e332aa7894aad582326e30a7d15bf74ebf33ea0b5bdaea63655944673fec8dcc487fd215d7ecd41095c2d7f5d4736cb4633d96f92f50bb8e1e770293d7f514b60d6386d458b38ea6f95f2014be7683e5ee92f40bcc0a911ea866887655e70e763e55e23c7bc28b8dee1435637dfb6e53d5b984c4de90389dfe6d92f7ae1c87bdd5458428e5273a4176d4177add999e00c21333bd85f90190a154556e5a8e324c0e14f925bda9fcd0e301300bc9aa630a6c57370785884cad18cf1a7b85d866541b8f8169f0810064e88a0bf73216eae1e5e2beb20fb20a0a68e3c340c629e6e77459e80bc7fafc5022e5e495dcfe12124297fc0d266a338751788b3077ccc583900ce0510c9b39fb9cec39cf260effb0aae2738abe0fc6d2d8bb44369d0429fc7899c9defc5ca290233a2158c56d02992779177e0c69e8fb13878051dd3b8eaa863c030ae348fef740f90aa3875ec15469be233e4b4
+Shared Secret B: 538656ac6f786af52cec54a47491605f291eb80246e916c93ead4872ba4ee6ba
+Shared Secret A: 538656ac6f786af52cec54a47491605f291eb80246e916c93ead4872ba4ee6ba
+6c6a232a2985b349f53d375964abed029eb8d3759f1a5493f77c317d81acb795c1989d483788733606ebcda04b20985337874a056b344925bb04424715464a6814bed3dabee1d2549c662eae687aeba1d88eb839a5211887ad6c3752b643cdc266d97874f5110b1c5ac5fce293f57d912841a5376c83207baadb5724c1f73547464c7ef0e9f9004ef772cf6a5c8c7875e0caa9f1a8fb423affcfcec60c869ca1f0682e221ac5bf92409ef60d2ed190f026d28378efb6e2ae6f2c86b357f1088843393f6fe8f12f8b2a7dfc44d281341af7e997ed457737273f21cf1f231a2a4dce928c76196e85f9c9eda9760b3d87e9c44eee482901717726c22e590f64a1d40bfc75c5eca4b9c3d3586b1fb7696eb60cca7bb10fe7368ac4ab047b0596abe5c83f59264bd46b6d72b8cee26f42ed7a5211e595bf71686f802f858655c71e21d2d3f0e512c4faa00e0d14a131482ce2265c50b2d5763ba2bc0f6d3cb142631c8cbdb2c28970758ed322859088164640877aad25adc53576eaf71a4712a35255c97f7d4aa03d3cf04bf0d7262aaac22f48a17d7405b2df910f8eecb21c15456df068cb4e11581e43313370046a10705e01aa0f9b0a79de854950b89f7a5d9267a80e77288e5d78cb2590e15b22705c90955dbf87f3f50054ce3577221d04a889e0c8962a2c4ce303ecbf50e5beb350bbf9991ce95f4aac43caf4a9e4204b0979a23cbd2d50a27a7f525379c2c549c6ada66e4fc90680ceccb3e59a74ba9655fc72c7c3222c9c8f0c80059604d53ef3fe1d5ee9cf64cc177873f560a06e3b1c24a1b697fa049be79d749c5e1d69b8fcb63d0f37ffa67e467f60911e79efb5048d6edfe0df8d889db09ea68e1b18843f5239b9801562e46126a1730a9dd3654ed80734427d59162ce01417d1e18b694728a24fa26a1a19581a09f513c4b4ef56c1bd0d8b68f2659d02bce21630a75bafcffc95f6837e2543047b8fe8fe081f863f8e2915f679e317f98e05f8a027800a590aefc0c136317e809c89ad28a7d5a565a66e4ea743f8cf21a75549e8525fa8a0bbbc822a5567a966bc74646b447d64e0d433f12359578c5cae6497b49f5d125992e75bf3f5cb3cd3249818127c4d9264e3842cf0be81489e3c2c319e7065f8807d821711c1880a774fad78eee604b33e0bdd08ab53c069fbaa66c47b2d97e64546dfc1a96b9230c9f2d25a0a96b43dfb9f9f1987799290441d72c63edcbcc04ea8924e0658241122703f19614ae5f379ac2b2af9aebf4ce6f583ab524c22053ac21dd9e34dc0be5ec3ef6349b3c1d7da6a127609684466e8f713fa0310b70672c1f3a4ecad1a8419541435a47829e3b7dfc7ff6c53e013f9e4f1bebb297e61841f299f2d1dc657a147db021580f2bc3bd67c91cb0505943d7c25b211780c197e68c5f83bfbe7d504d8e414b9b28fddfeb3c23fcb1c7c1e34ff233f884bb3518bfe3730a86df26e6f9f5ff01734d9eb7c81387e4e600f1cbf501f0864b90f1bb0f32ab7dc6804fa0efc28d8661bb62ccf0b9f581d68d938872bce83f9b0ec994d489c4322755c1bacf083cccdcd2ee091e112f19f70f95233db5c9534315203646e78617d0c015ee5c3781b79a26c28c7be454dc6d21f682805ca66a328663b9782a1728984143e9137099732434e73201f9d0e12fac3078af26226d308a6c05ca866a4ae87ed219d5ff3ab1a79371cc6e5053a037f5ca5c5b7dee4185f22caafe2eacef007175c8069957e347f428f26a899648c29ed4ec9aa697a55e13296838e5a7e619aa725087a3bee2af43fc4e8469ce4f17712f6b87ff2e6fe1843c301de7073f41cf93e152dee5588498fca5cc055fff76feffb66002eb44f13e01b497b54ddb94727d89982a6c0cc0edb7f45a5ad6f192d569955eb82b149a5b99a64f10c7e45ad1c52d0e8befe7834cceff8f421acfcd6b217e6b9faf407c3ba2110ad62ef17dfb60f1068c6e8b44f2d9c3b61f9a4288ca66dc797338f9ca5bcaf2df052c14287654a17e2756d1910bf23522fe2ffb654ae6a43989ce8541b862218e5fc6aa29003778cec789cb5370fbc354f0231505f99e7bc90a2af24f0d5700e5970d08249eaef70d6156f542ae6dba7126014a16e4f922eb8c2cf2080611804fcb37ff9ffefee42469257f83a39b0c2878bde945112d919dd61368c61a062210182d00ca4065b2868650ccb1d9f6b1d
+Pseudorandom shared Secret A: 55f4b50a369cab449018f5c68a9c53be7303b72d1c3613d594633fd68e014f4d
+75386a5d590783f596747389c5c2a42b647692a3c25f52dc611cb7d5ef2fff2fec5d3df80fa00039d70206d0a30483b1253212ac2f0177c5168a36d5245ef30c
+Public Key: bf0c06ba3711922729dc720ec8207efec1132b39c5d75646ed5059fb636d1f206788087e2c7b0a9ef247e58567208192fe1b6fb5b67eecb91a935a67d40a35d1cc8b2893a598616695933629369dcc655e061c244ac8216b1b0b0cb41afc1918b9ea0125434d7045ac6dc50777db3829c246fc469cf33a8daea012a9e555f721945cb2679f0839ee36a85f25a53517c6c813c450b32238c7858bf8afb71c5c62910ed3da3f2c769034aa4a34e163de049a81a265bf835837ac5cc5377420f6a8654111852c59d69687b45041e4f04b8f6944cc876e4fe77322e5bca5093a6cf1913b4a3937253e5cd825b6e04d97211024b47255981dfc669122359249cb77c8f2a5f699400aa939bde5a121e17700982ba99b2a221a8a766a1e561a10829685b94a78a93cb79d15bcd2016de2132481289fe3899008c29a1944c5ed900c04f8a5f4978502670edf939b79c77d37f412f561a9a1174aead3ca08f22bf22033e283a54f12c66cb28aec754ac12cc5d73c07df2cc50b660b6b426e0d58a9d6f33d82b593305bc95d7b1377c00638f294b0983c98f242370c54dba65fccf93acc31c2f0709017ba8f0ac0b9eaf983d0432905e32c18d83ca04b0c4e0c7e4ecc7f6a285786d23f13e9680a4462cf90180ed816480666fcf613262440a517ca4fa702a425992667a5989c8ed3f935cd52b6456a6aab903634d50a1ceb484059c1ebfc729db451abd26444826270c4645d852ede38aa9df531fa649623f3ad90fb5a19957f5ba7556124630e39b723d114058b8b602763d2996c2e106c7aa623f01b6b3a154bf1123df956a3f4a319855722ea8856bdc342f6c0cd1a2bbc0ff697dce97c5fc341f87a4d6a92c312f689171972bacba9b42538b3c6bf055c841e5067c79921008c5527539435b221680654e7ea9894fa0ca1c10e21043109446885e1213bdb747e288db0d4af204bba169684a68a5c6e7010732caf169cce7f81421cd90100d0b90097393b7390eada62ff076a1b216860fc4f656a35979489e9f60a0a85623e04b085d2ce05f05a7335a18b9498c51083fac2c898c630afc5b34ae8175fb92fcfd90018d45ead23c00714620fd05d8d8607abe817f919363752119aa431b1235c4f37ca6fd06b4b959ad84c922af275ad71a770cc480cd77edc501d2692523a29bce78886e8f78c7dba5dfa322529ab9b2c11928d095326cb33f80620aa61519d08b4dd326fc83554f7dbb3073206e251b3c3cc3ddfaa02cea940b7f52c7c6c0bbf9a0bf5476eeec64e59a0190229a65e082c4f354cc52029a15abe62c372a6c1a136c621c0c00b607ace31a23b3fc602ec96769fca73a3b9641c7164bc309a1c85906d8539a6ac018c02455718597da441bc977b4a651d64eba74fa66672f3280b3737ca65c905380b65f814025abaef68c13230b2a4d4b28a31a29333ac5ac001c3c753964529b1574507c72a024c2f1928c28ec56689a76daa401f4300733e65a54c6386799871c472448ae4b2a49b5884bcb62ae7610df67edfdac08c361b719b2a17746b67fb778bfcb5578a7da8875920c297c4e876e0d03a244cb38ecb7ddbc58f18204ab12b8e3bc394fe15c2eb208cf50b0e2f8c144e5ca74bd165531b6a9d048f57cb05c7a4982e1a2324c33438b1a9e7a9c92f07b90ef389869b25673971ccf50906b7ba40da3af4f75ed4a6018d9368277816ac6cc6dbe7257530c5c88baa1c908917c08695899198bcab62808f1ec977da0c036b3c5c6b5b6c810b638532b6b19ab6103a2066d6487341a63a83205311a4550a5aa5553d3041bc5fa779a1a118f5831e28c473622b0013a351d8eba3ba4a6493b83a7737c1cf827732d65bc1d29eca4c1382f97216b81ac4996a90d025f1fa76e1aca81ee917c8c3939ce1b54a26b9bc4162424c3bc0f642f3f82df958891b8b76a76248d4d8549de9844d7aaeced7aa8c8485bd5759a0194040c671f4fcbbd1b416871307b12304fd000287a30635293dfa203184d996d71751be729245b60f5673b333bc4599b36b0fa705b0c15f63da3597616d600374ac0491f64b940b36618df7c84784cdebf3297b101b9771c68df5477f712b722918ebe11e13d494128c57c5914dd3257353146000e07f12a1c08fa35a9c60aff5b84f8396c8a97b65f9eb819bfa5dd7bccce0556a7e45a60bb22ca41ba2a0a889815c375edf5f6ed3e1b2a5
+Secret Key: bb996bafe2a8ac962dbb7a294cb85eee1ccf17222512f495fb151970b032cac8a9c1da4e39948462aa5fec999a2caa616b421c566ac995b5609b36ae8b7678c86624a9c4204416af525490ec95cdb5d033763a136cd75dbbd00b0948bcf32aab324babbfd9256c37badfe41f0db795f0c8268de2973a8312464350474c250c4651999a43ae651ef699a76c30bad6038fb8640ed7f474b7e502c6140a1c00bfcdb7c2844c3c49538c575172e913a108927f687943aa5cb4a6ecbcbee4b3d0ccae5434c45b819829e1559c950254b96debe5b04713b9d38949a8db25b56b02d9f80c0a058980363cdcb06e12b267f8fbb874251cbfdcc9001302bce1b2c32b3d4fb8ac5a832a8807cff8b22d5e5728742709f9c177a3f75a92c74b11e846c09b5e92426cfe809e2d3a7987076407d71c6d668daef969c48c9d8f1083d5b5985af85d9107766c678bdd2b169359b24b57b08c941b47b1758ec7be0f043e8ae428de57775e83a009079fbfe4a85dd23ccd503bc440aa2d8b3fa8ca095a78946403275c4c1f36d42168a85272e46e6d77bae8f62175b7c2ea191db082189bfbc7f25a8b175c3689d14b2fb39c5da084aa1c25014717c42a017066b392177721b19c2a595dbc895fa4ca93a2247a758a8d491242d577095cf764aed8a5d0710e3f9156ac41be8e97103d6559d93b3418e0b6f104b7a90966958b5bb669151959c93c950ef91a2f740a3d69f634b45b2298a1b69cd1289043ccdb0c3c5d26925637941e82a073893ecaa09008e444b72508eaa582e513c5e9d797ee8757a92c8aa9f5bd5b85b20b5cbbb2343d7930a836c4483b0141c6387affcbc5a1b76b74697ed89c4fd45649cdf67fed040c31693616f8af3437cafc0b6cdd0842f2aa4da2966e4c4ac198d728019604052533b3924abbdc031e12ac6bbc1805e887d14131999c4f89f22a09c767e0aa9d02b4626f1350ade2aff290b25e26cfa44aaecee25883a3bea8922912274f761bc9b858104bb6b521468d097b9d21aa35ae62a4f5d50d6201cd47076319556131936f2408a66f962f2d4023e44aa16409cf07391a4e727b87328353b66860d7776e24a1c61b09a76a6f8e62a2df17c0b8349710a9a7c8b82f6ed5cfa7a05db4d34a408a9395bb97f9570f480214354127edf20aa3899d176ab55a38ac0074290e6aa292738a108932b97b410c928e8a1b58349a340d81a380c8c65ff602e6c5235a8732c7e0c0b7269cef081a6975ca3e5061bb074088dc0010d8b4ad4c86b7552c50ec0bec41c1f00b2c0f2225f2b7cf8494b66bb122e22acf8ff818a5570214fc7dda426bedd479a1f41d3777a361c42af1113d775186f641cda0178f8d1c0e9a7799df260a9292744daa6c41c63f2a10424c470ffbf35c734967df3431ee073ed405521d0075e1563b51484eb32b8e58b8b9bd04770ba6b04e633343146688705cb4e1088ef80b1b5853b043cb450a7299f97a7933a5a527998a57ca8715189cc54878fb9dd26162591359c3c195b1ac01623a2916a13eb4e84be38c40459343e2723c52d2a60c2b001a6b4a561a23c02420333c572744babdb99e0be7c4ef76c216ec21f7308555f09e956c43e9b0912fc4a5941aa9b60902f5400933b4a66540c770e184e47c5c2697c3eab94dd3542a23f5051cf3378fd7590aac3f62664ba793531d09d0b4c3a84016ce49173a02aac440aa685f0bcaade1898f6043f9029f91a7808b22015fb11927e6066e96750f392a53b1a262c00a7f5c3afae8751eb2588dd21e0d592b29f35129427a305bacaf198aa606bf7f73cfc9816b7e17621de59bae349ae0a60b55b261a2479ffbc4cef3db7c8b0a802bf893984423454c434622bdddb67d462c723bc5208072cdfe792c8b266cde8914ca409dd45b03d9f7bbb459c119b36b7618aa0d14382727b19364907389aa588775e5b075ecc6059827040a9c4dd189a73c7724160288a4774b8fa23553b43d330538200721d28b8368fb154fc9b16d9a694119a7da5409a884b2c2fb7cbef43bdf20caddb6b788043767f1789eab19f1675285e566a6599331dc44a1e274bc0661a0b637742076224436136b1aaa419751b9a9d4e993d7b5b5f2bc0ef3b97bda939be596c72eb460f1585767c9369ed39402c52f29903bdc52a43fd356bf0c06ba3711922729dc720ec8207efec1132b39c5d75646ed5059fb636d1f206788087e2c7b0a9ef247e58567208192fe1b6fb5b67eecb91a935a67d40a35d1cc8b2893a598616695933629369dcc655e061c244ac8216b1b0b0cb41afc1918b9ea0125434d7045ac6dc50777db3829c246fc469cf33a8daea012a9e555f721945cb2679f0839ee36a85f25a53517c6c813c450b32238c7858bf8afb71c5c62910ed3da3f2c769034aa4a34e163de049a81a265bf835837ac5cc5377420f6a8654111852c59d69687b45041e4f04b8f6944cc876e4fe77322e5bca5093a6cf1913b4a3937253e5cd825b6e04d97211024b47255981dfc669122359249cb77c8f2a5f699400aa939bde5a121e17700982ba99b2a221a8a766a1e561a10829685b94a78a93cb79d15bcd2016de2132481289fe3899008c29a1944c5ed900c04f8a5f4978502670edf939b79c77d37f412f561a9a1174aead3ca08f22bf22033e283a54f12c66cb28aec754ac12cc5d73c07df2cc50b660b6b426e0d58a9d6f33d82b593305bc95d7b1377c00638f294b0983c98f242370c54dba65fccf93acc31c2f0709017ba8f0ac0b9eaf983d0432905e32c18d83ca04b0c4e0c7e4ecc7f6a285786d23f13e9680a4462cf90180ed816480666fcf613262440a517ca4fa702a425992667a5989c8ed3f935cd52b6456a6aab903634d50a1ceb484059c1ebfc729db451abd26444826270c4645d852ede38aa9df531fa649623f3ad90fb5a19957f5ba7556124630e39b723d114058b8b602763d2996c2e106c7aa623f01b6b3a154bf1123df956a3f4a319855722ea8856bdc342f6c0cd1a2bbc0ff697dce97c5fc341f87a4d6a92c312f689171972bacba9b42538b3c6bf055c841e5067c79921008c5527539435b221680654e7ea9894fa0ca1c10e21043109446885e1213bdb747e288db0d4af204bba169684a68a5c6e7010732caf169cce7f81421cd90100d0b90097393b7390eada62ff076a1b216860fc4f656a35979489e9f60a0a85623e04b085d2ce05f05a7335a18b9498c51083fac2c898c630afc5b34ae8175fb92fcfd90018d45ead23c00714620fd05d8d8607abe817f919363752119aa431b1235c4f37ca6fd06b4b959ad84c922af275ad71a770cc480cd77edc501d2692523a29bce78886e8f78c7dba5dfa322529ab9b2c11928d095326cb33f80620aa61519d08b4dd326fc83554f7dbb3073206e251b3c3cc3ddfaa02cea940b7f52c7c6c0bbf9a0bf5476eeec64e59a0190229a65e082c4f354cc52029a15abe62c372a6c1a136c621c0c00b607ace31a23b3fc602ec96769fca73a3b9641c7164bc309a1c85906d8539a6ac018c02455718597da441bc977b4a651d64eba74fa66672f3280b3737ca65c905380b65f814025abaef68c13230b2a4d4b28a31a29333ac5ac001c3c753964529b1574507c72a024c2f1928c28ec56689a76daa401f4300733e65a54c6386799871c472448ae4b2a49b5884bcb62ae7610df67edfdac08c361b719b2a17746b67fb778bfcb5578a7da8875920c297c4e876e0d03a244cb38ecb7ddbc58f18204ab12b8e3bc394fe15c2eb208cf50b0e2f8c144e5ca74bd165531b6a9d048f57cb05c7a4982e1a2324c33438b1a9e7a9c92f07b90ef389869b25673971ccf50906b7ba40da3af4f75ed4a6018d9368277816ac6cc6dbe7257530c5c88baa1c908917c08695899198bcab62808f1ec977da0c036b3c5c6b5b6c810b638532b6b19ab6103a2066d6487341a63a83205311a4550a5aa5553d3041bc5fa779a1a118f5831e28c473622b0013a351d8eba3ba4a6493b83a7737c1cf827732d65bc1d29eca4c1382f97216b81ac4996a90d025f1fa76e1aca81ee917c8c3939ce1b54a26b9bc4162424c3bc0f642f3f82df958891b8b76a76248d4d8549de9844d7aaeced7aa8c8485bd5759a0194040c671f4fcbbd1b416871307b12304fd000287a30635293dfa203184d996d71751be729245b60f5673b333bc4599b36b0fa705b0c15f63da3597616d600374ac0491f64b940b36618df7c84784cdebf3297b101b9771c68df5477f712b722918ebe11e13d494128c57c5914dd3257353146000e07f12a1c08fa35a9c60aff5b84f8396c8a97b65f9eb819bfa5dd7bccce0556a7e45a60bb22ca41ba2a0a889815c375edf5f6ed3e1b2a54925fc9825ab6619e9f3d54ea33b67a9efddbea0413199642d0a8eaac27fc0c8ec5d3df80fa00039d70206d0a30483b1253212ac2f0177c5168a36d5245ef30c
+61b5a6d459d56e6db1d3367f25a91828c6b430b42d1f50981aec6cd86d9d41e3
+Ciphertext: eebb72004b77c1701cff1bc2f77950d1e2ce81fb1f79762e0175fb1adf27429e1079b06c4b2a69cfe99159522a0c2b8bce20a0f1b8b4c74ee1f358dabb3d2496ace2c71784a8f756f3e13c0862b67e48cf08f825771a4334c2efb35548095fcd9b2760f2bc7486c1388a289bb620fa0202a77ea4b55e809f406814d34a589d4e0d82b04c90329dd79be3773a6d3a24561036bec6f311c754309ffbb0bbf674b0f97985f23bf5f9a3fcfe600a566c17433e75ee9ffc1e31e052f11a4db3f737e6becf9fde3b777fa10ba50d7c41680db14db3ad1540b14becae6bd4c08a6805d97ed50b8220c2077d8431b7b3fbc50539efa1650b22bcc1f0a9230c1a56ade0c8dad0b2530b5764b8a9ddde4d703b54174613f32e084d8bc4f4fbc552469718084f11919c08a19872f1bfde72c65824cda597f8aeb695118dc85f5a4dd5ed60f187954e06b6a2cc025c7f6283d32dbb8f04e09c62cc7b5712a5f4ea654236b54ef2b5a54469a10a479a6b76a6e57a29359f13fb651d2e8a77728e5d0da13615f0be539553a2af610cf4a38885c882a8c9ef24b0622d2127252344a307591d9055700f121d21293a0e66252eede23ab913385810fae51b932eafc0f076f0c764b7af06a9c2923ee6a8a47abad4b289781661a0eb8a34100232c4619148752c76227f0afdfce17e843b9823f46b31a1c9254fc04d26ee887d24ffcc3d7d468a5cbf61d018b021d7c70ba84c8a60a1ad28a9e3bd4030b81cdbe166ac997a712d2fa90cd244e5ef09e2a8765501a7e799c182ecac60e826c2f22b1f23c6be2d4b1d23069cf09baf44530488713dd89c19947de3c3a1263a9d368847767594ef9492293251ae9afeb170568f0e384d74017f464bd513f782098eca684c0be7572a07223fda822968010ffa1588d2542347156afe6b48eb5728cdfec69d119aa4f5670c1f9568e70e995223fefa17fe1903b289ded33e4aadbcf94bdc3619d6b224c16dea8b9a7e4ea138aa386796826ea6e144bf8a59e2c45362356394990a0d8d1c8bd8ed115b790c279b6a73ce6ad8e21129adaa1e5ef008d12038dd89be35fef2504a418bddeabc7f506e099a0491cc85de6d5201649d73312aee46e1ecaef9d4a3e006740f48ec3ac93b69e1c1a69bfc8b989b51fb0f9d3ea212b05637d5a18797da53299a4c795e628415d52e97b2d9327ce54d24d39139c92f9a47d3173cd92ec6fdc52628fef4893d46d7c279aecb59af2961a665b14c36e78ae1bb182876c877efbbbd53c34f473f09ba32b376bd5e2b069b53b932751cb5f9c6e15b515b2bfa9b995243f54404aed1b69ce9f7058608c6622695e13357305194ddb53c5072759ce74047255b4318b200c70c6c9da1a8963b815c728d38dc3c52a7b83ed76a981ec22715a94e0378698cf2babf20aacc379b1970acd6743557b1f7393c4fb0afbe952dbcf7ad329c341e870582781306eab5b3bd5d0907fcb4641bc24b848827a2b17037b75964bb3fb98e2c37381b148664151296665db8c3271640629c4d74d6f7f3cbb08d9e428ae25f8e80c4aedf98fb3d2b9ed4ac264769795f91c3f008b6b7ec6e5118d1dc7313dc645b5cb0fc7b6dd623191e57eb5a604a37e8638707f4dd0b5ff7d6e3de8a9d608ad9728b766279d5b9710ac0fc6cd64b553b2eb86193bb989bb3266ce27109a42ecdb3b022c4fd2ee26fc15cdeeb3fff1425abf1c59e304c500b26495d5fb23370a6b89e0fa25cf4c2ddc3f02826b6ef991ef32804e7beec196c2344dfa2f05bb27bf14f2190b3b98144469b70b7b51414c2ba57cba752e464a7f834be8277e11103d67f833861aba29b08166d3da281018571aec4124ff5cf6eece3cbab02234037bf0dc8b681f5c9294e34c16a516a49c6ecc7dba24e4c1b31bb4c9bcdc4ad1f41eb895effe256e7f81334e243e1b37935ae17db25af62809988d09ac6a59356e0dcc6e400a0e96ff8c9c94c17bcac954e54ff75d37d917e1a3c2c359e6c763a7bbe6ccc21bc95518ce1accc736a94f42b9a798d708d29be99570bf02fa17da6901494999347738657ca8a1fa0d5dc3efa66689e18705c81c6839c8f48bfdc39800497d0a93c56d8755e797f7a88c0af643398cc0792b085d5a1a928b73b852278744afbf689016258555410340dbd616b3919b06fd2a31c7444b12765ceff7106f00a47a46166f21a818c847f68432ba91dd5
+Shared Secret B: 68d5a4e72c0474e055b5534fed11387b0cd864d8681a2ae0a4e70cec2cf3cb2a
+Shared Secret A: 68d5a4e72c0474e055b5534fed11387b0cd864d8681a2ae0a4e70cec2cf3cb2a
+55ef3d371a97ce7693c7778f2b08451269bf4630dad769bc375bdb76a335f1e1d89c125367d68297e463bd9cbe4dabc91d511a1367cb119e337eddb218c9d3c4155c2599c6c3af6343a5b38d40cd5609a1053330da51a40459d40ddcb280e6a4aa0bdb7bf68123b83ac1a9e9817be0b69a48c61b65d72b5804b931c2121bff05e666d899153b134babb8d16a36d695380c23bc24fac7028bb2180e06d8d5f3fb1c71f89163190b61c34353c40131b606d386aeb5832785cc2619ca38a5fcd7d8e897ae2b0021fd4daf38737a3dcb07dd05712aab5ddaff1495bc550ce8abf44b5577c18b41823947d3c98662ddad7407c3837c0aebb277c6f5c5325566ad924750ed5fe4beb9bd7828c06d18ae429bec9e7990fbbf1fd037cc9724c804593f23795e3a20c0d4f5a8d57e85b5e7824fb2d23d747871efd434fc2b77c8286c1e40553a9d259f418aeeee2f77a8cf04d2cb6f48579ee5d2a2d26d51cfd444ddb13639870529932ff366135e7e14e90a9d5a17bf4030a13568f95373f5bd40ad5e9a5a0e09a119210cd1c246a7bd00500ac5ff969222bbb629ae116ef9f1dba1dd9edf42deac0a89b7451a553ecee4bddffa28d4ec9bfaf60d8601a94d44d0a454f4391cc668d08f76a287c43f46f2a8c32232a8687455554c3a5eab4c06f97652e1bbd431c4dca16a6f6e4c2e21ee2e1400a2892ee1b471d2968734d5147141b54127b202751b0070f099e6862983b7e8ceb581169f0f18d165e88e85870cf588dcae721587a2dcb97fcea1c19794022841d72ceeffd970876ef32f2c7e7ae014a6468eaa83b1c9dbc02dc1c0316806ff1e1ce715a92257f7e7f4ae80df3511f687a5ffb2e8c9dae33f79a2e83af7b2da6e438db29c0ce8c28f3b0847c6e09dde534f50139cc5c737126d9af8c11add76551e4bf7425ea7cdedf5b8e854e1f11ebf6347a2a024ef49bc058818f37b2b4b2d7d0eb2b3f43e17815d29785c38f6a8bb22c5e8d988df6142e92f86f4abba3e95144d9ef8873b46ff5d52bcc45033f1b5aa047c1f370b782f23e687544651c4ff26efdb35a198ff5883684fbf098f46b348ae7298703495f9b00b204cd9146a5253b3ceef95fcbd0dc0cf9113be5ac8242f2a0accfbac50abda2309c31234b5aaf639c305a168df23130935a35f650a27ef12e884be86c8999c861c45bf8455caccc7b63e6e71aa64021a1a40dc3e9d38d94b9995d951337382da30535d5878475f7db002460453b7c2a4106fde9e01a7f0bb7480ce86231f50408c152990189d47e5faec3f24d7649a7ff28edc61c359ceeff236634a39dd729306c06bc30f82e2171256fcc9a751c9a3846e007c964d7bf353d056046e9a21cca12c3bfa4751131e34e25fe112ced20fec5ad64296555eb47d5d30755a9d2ce227020a5c49cd7801b48718faf2d8443d8c0ae45feb46b3d56caae7f8b453c7ad4150e58ac9e366705784cd42ff42ff0b07f25019e414f7782c18f09b81d9a361d1ea4e771c8c08b83aeae3a6102800068c2e390a374f4d77659c5517ad228f688ebb73d41f9b7dd2b53be8b6137f82d5392dd237e771ca630ecd8050468c7c976381372e47d6d546418bcabe005f96d72164cec81232dd9efb3d2bd58c3f83fbf8b0eb9ca2d1dda9e6a43982a3c6dcb5db5a93dba679defa44d233cf713c957914389be29c46dceb803f394d4c361004a3823d57ba17a0040aa3ed39c66d679edbb4c0d37e72f3ab73ec3d6575dbcb67ee4f76aca80b0bcc4b120ee953302358d9f05cfabd8baf79ce17f2ef5963e15577d353b4872ef1cb733ca4975b101850351699f0ce45ca452c48ef6cad2dff81caa1f5e294fcc120221db2254b75665a7b65f2632ed219acdaaf354e7f771b4b361e3775c1b1ae7378f7dedc5349e0c457c02b22c4b2342462ab12ae857eb28f212ba6d0ef1d7cfd172e910b9a2f5f1759ce9f6ebd82ab6ca130080b2cb7539ec8cb8553c6aa91cf742bbe0870e0e4d07191bfd0f61e5da688d25d69e50dcec1ba587d7c1998d7fbec2271c2a5020c0cf3700f1bd0897143f993324b174f94f77cdaa2c5ccf41af152015adf033f596a956b141a4621b27d9d7a6695642c66b8e72bf53abba62575eaa8993f8497e969f8208adb0ede5c56c8178ddfff56152ae41ed1a31401b6173d8b793b53138bffea90ca7a65004b45c3ad2f1738b3bb1e427b6da290c7
+Pseudorandom shared Secret A: 290d2e3c41f3706a8a4a9fb7d7b136708e32ec01b22964f75a64c905e0227aba
+1a74405d99bedf9eb6f3d7984f05bb529be44b76c7c24c3b0372c62376774c5464299b1e04e282963cdd64bc8ab917f2f1686d4da590368074c81f52366d5c3b
+Public Key: 1da80aa8880b7a0048a428800691c5a4159abd4962c28a6580a171ea69ba64767448fb8bc5028a09ec60bbc826e477a028f88ed35bca2c2333e48694391404506725af312c58a1c812ea7660eb188ba12bc83ca028b27a46635ea2433919ea68c18305dabaab4ef3a9da168c552c7eb5e02a3458a15ba72f7cba3874f1060ed313688b460ee2c00aa1a1b81cb4e1cbc58eb46ca5162707e57ed4623ccd207fe9600ea0fc7e865358fe878b95522b5d329d069710ed4a4328a91748359124229643446d5d5b788e3218987586230baf37278532c2090091afe6f2949e3b78bae47c69c321367bb29755cba83425c97c93d948300b820fc5e265ef38758d74cc6c787b0504cd7b709debc1af3358248a58b3d153a9456829219ac95606932d923d67188c42ca7040d31e62367d95f0c387a84680931505f05729a3a590532dd3f11cd61730acca48d3296400f3b5e5c742908091b3577244c86ea4b39f0c0672f3c550a87b57477b9f00773a9e74b716f563b525934b29bcd6e5458aca290ecac67f938aa52042844c0ffbc2aa27e27da866463ea003426364b38010e6406e89b300e3663d111883c18cb85ad25428672b7f20173e147d4715c0b6432028cb0802e225a7dcc90f143bc847c18e498e52a0b33f9cb3b5665cf33c9bdcd2bdd2f496d1b6b777a2a7c3858597c97427c060825906f914099c6143ed19c96a010710f917d145535f36793e73827b6c07d5271abca98fa417afc0a1a61d4b0379013a0c064e7b110087482353c7af6296996e68c9422c6ea9112112412a5482878a0cbc8f708649fc78e492a28f5c46c503c14023421f6a10094a46c46a9844fcb73cc8a1f7f93bf3cc026ffc38783543fcc9992d273ae450802e62081d18048eda1c334476ca6cad222895d6254246437dd8603188778efcd5294f97842dcc5094581f52121dd59c192233106ac817eaaa6c5845a40e4c9b79f98e275b8a39073616ca8dc6085588d28f81c94985660a9188190b69cd28c4743e24cf78574be7a0a9de404ae1b98812a73a5bbb4a89d8c6a337bb7bf94450041173d71c93c4ba5c16a8b91b84731cb8297787b13250e2cb082ce6ac3ad744128327efc17cf0e2083a90505364177c3c05a825394cf257526151eeac489f139c05e85160522623244ca2f6805c5218caebcd7b644579f7c851c03897042ff3fc9d06e767d4d87abd69a853b833c0931ed8d027af77c236771f33b7bda941a76507887ef064d6991e6bca0a0872a77b26557078677093594b120dd2245763c66f782bbfec7a79e449bf25b4c676b6bb95310a3eebbefbd398f7d0165fbb056beb80b4c8444cb252aefc23ff9abe64b9c30f3334885aba7070741fd51095474217b19895d5208e58456718aa76e08c8084a0d911b210d62d01ab6a68da5bb038627cc565475b3c72cb24de86cda0d5942f536983701aae52a0fd243975749c4aa9cbff74241572bb4363190ea532a2219893430714c56bee038ec308808817c96e28959d775a65623d7074310cc28ca5c58c486ccfa07070dde8acdc560ed5a5b18a533532758683113bc5ca79b3b93d8e708f8f93aae99a0b09e549d4c06e395abacde158c4558bf034325a97618ce13b778071871961263842488243bb5777b3d179cd811891d567070b65dd01b04f409474e07f18f15cf6db90144b0241d62a13933c7d960f6a846bdc59377c660950e865c6f04030f71630b9772212409917111015375bb2502fc5ba076ccd9f7c264823083889b02182b83ef0ce160826a2ec5cf1cb2d2e8687d3c3b536c633452282209a5c2e960bf95a448f4c0ad35a047ee507447a8a23a2b6ea47398417a46e0a12998326068501b378af2fc870792140b7c9516a394d24b4a8fd274238b1244db313ede896e8150396499e8f5b1378abca6921bc94e5757c30a1dc717efc7cb5af624eeda8ca60664f02b62ccd7c26797324033053a74381925239a51a6ac514c57f306ac7c25a777113c2866b0b45995979afde53bd9a789b86444fab4a0bdec5c024e9288e39cea3739ce50b257cc71660403571471919e10df66869ba9b6d156739dd222deeb117d9169822f66258cc5c62215a2468557f6b988e39ae4fe4ccdbb67cf78085ed0733cc3ccecb8a2c86f33d64fb74c791229f62315daff82a8090085a5247ac9e21c8930531826780ebeb60eea5c7a5d555
+Secret Key: a0ea24ad5aa2930360d3b097de2ca430b1b355cc7eb4e42d4deb9012960479370422e5479c6894ce5436df617d055359ed17c4aa6737e0ea1314d44cf3c32f21e4ad80847fcf7b7f115770cbf96cb1894098f290ff2b6e82c52d7096a835e239cacc345cd6af6c273544a57247bc181e021e90061d9298056e949a95aa0ecbb23b9bf2b64269c8119232d11b78463bcc52808869b84265426b5122213155c0d2ba8209fa6cf4440d7b326b7ed593eb0314c1cc4392e7442aa3870875160e06a3f4a820f3060f18890bcc804c1b49889b455da5126eeaf5afb7a301c6a42a679986bbd7c7803613562812d4507fca41af5067a878661b048a22a308049fbc9349f5bf90c2425b486c51e440f9b79df5653d9474c0af762cd7c58310949b87572076163d7e7241058206893c359175369b5829d277024c173d9c81743358cdfc951361e99624f8111c5b7dcfd74d426b7b0ba59ddb0a6e6eb8b518f51578639664b256573a7f9be95d19219169fa93b4564bd2b136b995c57c51b1bf158a096417e7c163b78b53ff5768bd8829806986167a2b63dbb5c75c1d96f22a5b04ac7be7b3c2404d069b4d36cc176cc0c35f458339a39a94441cf46327cf447754411a897791323ab70bb38593239fba3ccaf2d407bf7974b1f35dfb49cc5063588280a9ace7b4428242b05b157b517b3ebabbe48140eac86a77a84c53e39af05a0e35240a89b0247996a42567ca5b7ba19b9503eb691a2ceabf4d7c0f5da3b1a530755f288957a47274b6c6585354e26160847980b7d2b95a50989e298dbf190dbb48b64455cbd0baaab320c5c4425a09c806676291fadb7e8aebb0bc17a6ba426c3578215d0c5e942a4519c48e23ca51325187de4278e2865fc95610b61888a5817fdb1c36063c30f321819b487044d47f9bb65b2b7a9243cc495dd6154b495d34b99fc2916e881715dda060c8f4c7ca800099574e5fc4aad8db29aa7c3bc592c9a500b21fda0242eb2690a464969049a681bd9759351d02c4f11b94c4a2b7d4f204a4075ec205ac75d5b0e6665670d9501930b58dbb85cee04fae060693eb1db1ec1373373c27656be0a969dd006ce1ac3187e660d5cb8bf7c9a0754c6dd705a2b6c8611b9878a952239917471351c5d4247c67e6cf935269c6160cd1b7bfa55c38be8387804b4b9d1305132878af52724783bfbe2b995152185edbc824d961e574b075e511bd456dbd150442381cd53a720e7546bcf5247a091be282060593408e799b4fc07016ab95931657901466f12b1aeb29c578e22332dc9492e590a4e18e026890c08b0bfb07bc033513518c1af4695f396714646b8344a3c2b76749c19b8e28f9cb73a687806b461bc874a554a585e993426c57048764fefa410f39548e771c3de0397c5c8113917c04a704f7fac545d7211f98b8a8c4323f889b718ca57b156c19861855576a4c3010509a04d16046ff3196cdec2faea35ffc320d19d302784c9bbe814f6d916947eb6274252b853b96bc780ad04051d469af56c297829675dc387eff3ba7d13ab0ce0c5c628602c3e654298a3d75e91cff1c63ea7856399964dc9ac05b9720e226ba81133255cb6e9509c66400093027636e27aedde9243e48364fec481bbb7a6b95501e45399af677ba763b6d3c1eef67cf0cec5ec7fb62488ca1e0b8c56825032c655e71819f7056bcb0d827e86999d9a191e1b310fc7570599c9d57a83b9e76c2a3815d3f727e639c76e7ab6f9718c7bb3bb4ead3c0bc30231dbc73c3476eff2678b0fc6979010c809953814c6f4c28b01413c1f1f2b0d5093f2f965dccc45060b94a1399a35a843e34907e53f31e374b792197046b5ab5cff9857ddca274d73bc20acb2e73c81c91384ba1b5b0102937db30f5c3c8e8491f41e599f9d6bb0cf6c3ff786a20377759a1cc6d95739716355f60ac9ca51d948833063486bdf08a4ca7750889692544635f7c3910667714a4174e6caa1f139651c8ce0b3921fe2b82a30691597019da45a35ab7c5edc21a8a335c719bc4b1067fb7f71c0e6acb0536b29d54b9d6a00b9d2852e2ba003503233d86763a4c44c391653272ce0b9c8b2f658a2d09981ad540a37549c03b404335af23e191b5197ae40558b0a7bf546416f974318473360f338ab972714651a672430fb4f76f1da80aa8880b7a0048a428800691c5a4159abd4962c28a6580a171ea69ba64767448fb8bc5028a09ec60bbc826e477a028f88ed35bca2c2333e48694391404506725af312c58a1c812ea7660eb188ba12bc83ca028b27a46635ea2433919ea68c18305dabaab4ef3a9da168c552c7eb5e02a3458a15ba72f7cba3874f1060ed313688b460ee2c00aa1a1b81cb4e1cbc58eb46ca5162707e57ed4623ccd207fe9600ea0fc7e865358fe878b95522b5d329d069710ed4a4328a91748359124229643446d5d5b788e3218987586230baf37278532c2090091afe6f2949e3b78bae47c69c321367bb29755cba83425c97c93d948300b820fc5e265ef38758d74cc6c787b0504cd7b709debc1af3358248a58b3d153a9456829219ac95606932d923d67188c42ca7040d31e62367d95f0c387a84680931505f05729a3a590532dd3f11cd61730acca48d3296400f3b5e5c742908091b3577244c86ea4b39f0c0672f3c550a87b57477b9f00773a9e74b716f563b525934b29bcd6e5458aca290ecac67f938aa52042844c0ffbc2aa27e27da866463ea003426364b38010e6406e89b300e3663d111883c18cb85ad25428672b7f20173e147d4715c0b6432028cb0802e225a7dcc90f143bc847c18e498e52a0b33f9cb3b5665cf33c9bdcd2bdd2f496d1b6b777a2a7c3858597c97427c060825906f914099c6143ed19c96a010710f917d145535f36793e73827b6c07d5271abca98fa417afc0a1a61d4b0379013a0c064e7b110087482353c7af6296996e68c9422c6ea9112112412a5482878a0cbc8f708649fc78e492a28f5c46c503c14023421f6a10094a46c46a9844fcb73cc8a1f7f93bf3cc026ffc38783543fcc9992d273ae450802e62081d18048eda1c334476ca6cad222895d6254246437dd8603188778efcd5294f97842dcc5094581f52121dd59c192233106ac817eaaa6c5845a40e4c9b79f98e275b8a39073616ca8dc6085588d28f81c94985660a9188190b69cd28c4743e24cf78574be7a0a9de404ae1b98812a73a5bbb4a89d8c6a337bb7bf94450041173d71c93c4ba5c16a8b91b84731cb8297787b13250e2cb082ce6ac3ad744128327efc17cf0e2083a90505364177c3c05a825394cf257526151eeac489f139c05e85160522623244ca2f6805c5218caebcd7b644579f7c851c03897042ff3fc9d06e767d4d87abd69a853b833c0931ed8d027af77c236771f33b7bda941a76507887ef064d6991e6bca0a0872a77b26557078677093594b120dd2245763c66f782bbfec7a79e449bf25b4c676b6bb95310a3eebbefbd398f7d0165fbb056beb80b4c8444cb252aefc23ff9abe64b9c30f3334885aba7070741fd51095474217b19895d5208e58456718aa76e08c8084a0d911b210d62d01ab6a68da5bb038627cc565475b3c72cb24de86cda0d5942f536983701aae52a0fd243975749c4aa9cbff74241572bb4363190ea532a2219893430714c56bee038ec308808817c96e28959d775a65623d7074310cc28ca5c58c486ccfa07070dde8acdc560ed5a5b18a533532758683113bc5ca79b3b93d8e708f8f93aae99a0b09e549d4c06e395abacde158c4558bf034325a97618ce13b778071871961263842488243bb5777b3d179cd811891d567070b65dd01b04f409474e07f18f15cf6db90144b0241d62a13933c7d960f6a846bdc59377c660950e865c6f04030f71630b9772212409917111015375bb2502fc5ba076ccd9f7c264823083889b02182b83ef0ce160826a2ec5cf1cb2d2e8687d3c3b536c633452282209a5c2e960bf95a448f4c0ad35a047ee507447a8a23a2b6ea47398417a46e0a12998326068501b378af2fc870792140b7c9516a394d24b4a8fd274238b1244db313ede896e8150396499e8f5b1378abca6921bc94e5757c30a1dc717efc7cb5af624eeda8ca60664f02b62ccd7c26797324033053a74381925239a51a6ac514c57f306ac7c25a777113c2866b0b45995979afde53bd9a789b86444fab4a0bdec5c024e9288e39cea3739ce50b257cc71660403571471919e10df66869ba9b6d156739dd222deeb117d9169822f66258cc5c62215a2468557f6b988e39ae4fe4ccdbb67cf78085ed0733cc3ccecb8a2c86f33d64fb74c791229f62315daff82a8090085a5247ac9e21c8930531826780ebeb60eea5c7a5d555563b6f6ebbd1e388103e09cf66d4a3dad394780163d6bdba7a708ba580e941c264299b1e04e282963cdd64bc8ab917f2f1686d4da590368074c81f52366d5c3b
+81f44165048e2c5415aeb9a398129c79a0fce7149efa4b5d12991a3b3cdf3261
+Ciphertext: fea7d1084f12c822a65f77e06ef5019c995908f937fe034713be4af96df1bbda2db80780c7f95ea6a9e525aa0b15da7f881f3297c810cd704e682d6d0a6f4a17b17c1fefb718d2de9f5c5a91f6d9817e313885c8fe0425acb18e7f7e25dc44151c22821571cf1d3349d9918b2fdfa7de2021d610433723a6e91fc87d109b3b5957b723c1afe5ccb2a50870b0e6b19100fd837ee6affb8dc5ec1ab3c648228089459cf5a9050d7a689bc29f06866a2d84c132913089d4d0cfdf461d2c8a4679b871fab628a1106a931976c352ef670540c513a68dd5078cd70c1338bfce6d17bb1b18a5be853d1926de53db7f50ad56ea75ad9fa2ce6e8c8a9384cc8d6891a572039fbd60de1b25f3f7e188e3329751ff02f2f37ad5a656895353304cd5f1efc89b002c57cf65f318bf84ac2e9d2108f8aef9ec22f0b22d99210666d4d01d3d1432423bbf5355801daa31f6741fe6012fcfb85a75c87d93d1d09138b912a3a54af30b2eb4167dad503996dd455d181d78a97ec47183d5190ecfb1294d9fc7d6999ff7f8a3091c36bcd622af3e14b3f46c7669867fc9f0019d536e2a3898d919893ed039dd5f3c0b6a9d269c84bbb42ce57dab8d452639352a6d6e7d2d3f3f413fc77bfc833a7d97fcdf4062cfee16e059f1a6bea93d9d2abc139c1ae17ffc428494505f9241d84975ecf038554c50306a9dfd9a12d21b30a7b83409e3532d169433d9918738494197873450d767b599000344ef53d4133be7875925b14d265e8b6a283aa023a1df13bba0693332e114ed645d693dc727267f2f8be935c0953efae52322c28e9c321a78d35182ab971a520b72f20d669340051540279ff793ba88c440da0eede81493bb96243c19ae760fdcc7acdff734a02bca1df8d9616a8acba628c4c16c3f674579de5da1f62dcf81bd0ae046824af576cc4485eed12d2bd4aec9cbca68a93b5cd39ebaf72c1160aba2accad7c96c3f359d0280342514d302b83031b1a057f77c24a416a76c4acd3ae0f3f2ec97cf1ba30c3f328ce5c0b6b11b610d2b8383e06680366b13af3036b13bf175bffd7ed4a1f88ea27869ca4bd95d13fbadab92c89607d89a5b761d5ab65537a4be81fd0589327062646224624d08b9120ae4807e18669c771a76c818d6f3c41b4aeba88ccc312df11fc3973129afdafe4d40aac548ec40f53304ac8945556f5a96c3ba7a3ceefd3cb138decd1fc95f5eae4dff7dd7d8c5b3b3fb6bcd2a0bd51dde82194c7b8516aa1c5ff3a1256344fdae8be139673966f30f388c5f5b8f822bc77801752b26adfd94ad592385f1270817974e40cd49ea41bc8d61cb275445b5f56909298b502728d091c8c199c45ac32d22f25983d151c6c19e82cee983ebe9983f8837cdbedb8fa781b06702e05e553928d7b01a9fc05e79f8dd6141bca1668b9785eb0c94098a648be86664709ff5e412e23c09d6098c1453722bbd716769df64a69d1a96bfa6e2ee3d5e6cf2dbdf105ff66d62e557c16e205f3c7a88a2a0699b64a7d6caf30b156567542b1ae0ea663e7831904ecc8bd8f69df5a680875dc8de7234f1add572f72ec4ff52dd243fe740dae53647812f6b1849b889a0c17787d6fce82c1b9f446d12a6a3c65d3ce7a3f2c1112d7719a7b453028bdc97f90ec6a16fa173537a3a7429965aa6fa9230fd3106e9653e6300f436c79d15caab13553579e57bdf7c2a193236f0c66972d9f54b57c8634c7370004ed6ee4e82ddba9b38fc71397b340604e37a4db712e56c1ab50a5e013217afe62dfe443eb691be1fd8e8ac7e752308d79ac2f9e296f415b4b5b889546030987c3988321d06ae7d84d2f80c2dce73c84affc50d2ec5ff4fd0b63934090b8f22cd2e5457f6fde56226907e30d555c76386e648d01c2b8cd4cff78221b3a3d11787245c259196ee339948d219c240fb4ed3634e59635d9b06d0de8f869deaa7bed203d59bb6552411460323777ad5ded3bfc6cd51316c209560bedbd5010b9c47535a100d5e5adb516b150dabf0d51362df07acb4ef81355d9f843e73f843da12afd23d2f99832acb767e8b15609e6bab4bbd1cbc0cf90569510802d310636e3539d0a5da299076fa80c167a69c3c486e3ec0d5f19c7a7bf52b8d2feb297e0b6a027c2b9b64118f39052d7944ec8c18dcbacda75923e1f24e3e58da432eb05ae74bc87a056738e3054f08b5101457b587ac01f6d308
+Shared Secret B: 670409c3670efd8e3ef40a614038522bf4e2de7a262e01834bb08e94f27ade7c
+Shared Secret A: 670409c3670efd8e3ef40a614038522bf4e2de7a262e01834bb08e94f27ade7c
+ba03374e136b7d4978bb41b8fc1b29d718057ec8d0b4609319cd54af91522d0b732034740403c9987a3d152cd1c3d3d786644f12c8b0e34ea4c1d86c2f9f755154b45b5f921bfc3f54453533346d22e6ed290493656873a6f3ca3fdf310e2760ce429eb1173590641a56f695c2652bd92ef5ed6a9c6ad853f82745b1282cd6417f961acc458a94a07c4cbfad4e959652b7c24781bf79b20b1d7c439663a0f2ceba023f638544720eaae3153033f9b6e5c55e1aff970f263182e5729696c4820653e96d087ccf6577fb6f9296685d492c2241e174f8c14ac88d9e0c9d2c85d52838139de412ae966676a21cdfd4828273f6e38b47cac68404645520809cb167561f9be12e12e6dbe60dfbfd208881a64f66381eb05aeea9dc4b97800d97018ff0aafe9fe0766e8159980051bd54d6a3ba94382e2a03221a3144bd32a09984aa05ef427c34b9d0b20d39d3da4f9ec24314494239062c87376869a7472647af3926fbe9eff63a4887c7d853e68aa8fad5d5340d69cccc22ab2dc3235ecd4b857baf744a5c57607727e7a12a2429a188b2a5783838aaae80a3f6ffa126110a52f198277947b0897603f1fcabf8bd50d9527ec32bd6404445153eef45aee73327f4d99ff9ee7c7823675bd3e27acd5d5d24d230c24089f4e2c3a38da9b786d267ff36aa1c47752ec22b07cb8c00265ee1093c65c8d6c6447c54b53b651ecba0af2bf41aa0d658e8a6b63d95f312a58df64094461a039a8f2f5d4bc4e83f2134a5685eb26eb14556527c4aeb65eaa218a692ded871398ea705c9acf3ad06bdadfe5df5a0b22e885d47a6f1c3d6e96a66b2d37ad1142f27c6f70b7f98abc2a2e7374612fa008b1e63bfdaac48de130672701698d48863a2e55a62e25e892c73fd40d9cc891e0c691ba724e904a4950544ea23315ae37dcc34d283d4dfe77e00823391efafa3b9686c28434450e0dfdab7b548a88c50bf1ea48d96cf38d8ab3889c5c624e5f04f390ed74688d5fe010a77c11469677ee1411576797dbffa3aa83c9d061dacfff4d04b829821dfe0f628c99def63a0bacfa4e575f72636f216d414e94d379db706240eb536a2a9d1728d704c36c55ebe4867237738d654de85b46a6a433b000ceb9faf942965c1103aa9dd81721c467eea4d8d701e14932ea0bdce5edcd5d0d999ab98e2d5449833cb7ebe958a6b8f56f159bf0266ffcfa40a21082318d413c98002bd43f7cb26687d1dd30f08353ca39e0481935e1e9cb47b9fde71aa773fc30f629f7fdcc100effa4fd31908444e0e4fb0baa6320409c7b9f0654192fd44391b22c456a59acac2b7e574eb71f87123df2721b8c54a1b06d124c64cd20d4973ef24b10335f3ad3c73b3ab50d297c30ea25fdaa00c520561f9a48ad1b7bc2820f118abee5905b9ba8082e1a63f4cf9b85fa2e9f5a0e99e59faac1193502c9dc9008e5f5a4e8f485d977a9a47420221df58c874d76c8fa5450ea826798c8faba9afc02d22f5f8c295f84d8c53f308962cdf6e1759357256c22c71f7480da10970f99e4d70f08ae26920cb97b9c6f45ca90718c4acb1cc84e8abe995b6fcfb8ad4508d6c22ee594c367b2836f6d5f5493b4adeb8e2e1d526ad8ba6fbb15aa3f49e25f1c71a5ed88cd137e5c7f8f5a19ca7a676600e2a61f2c19f063a6eb59b02829c18e1dc8b2782648c68f81dabdf2ba31e27959f2abe4340b70f8b2ca3c074539ae297706f2690927d312a8c8a619ae8efa31f36ffe2796fe80ecbd70819506bed5e8ce1db7cad527e484a3676a65df4c57a670cae69dc9f4ca8a15fea1bd4038d2c2305c538bf504f87997caf20b4896388c980cdb7e54a2503ebdf73977fd7ee370a11c49e865d29f2b8fa925f53c41f3b47a86ab874114a3d555d8d4c4dec106d47c468043eff78b3f9f0578fe3a844b9f98274159d7a23ceb9b2c83ac5f9fa159bf2d5bd6aac83246a58f697168d12aef2eebbfc5ddc4751b56feff85815c632c82d2dbd02a7a3cf1ab8153eb3d3566e79ffc3d21a4309403b6f5d44a970adaeed596d1f0ec8180ec996b4b55ca37cbae8ae811ca8fdbc0770d356ce3638c17e3791caa903eec79f1a515a8d259b1e58a91a72297277a7517ce2c2dec94d9cb6edd31dae1d390d7bdb965312425c2d9743a54337a46be2ce5d881c2e61e7cfa0284e745d685e5b102f6b95916520123aa970c144dc5787475ceaa429
+Pseudorandom shared Secret A: ff437aee276e5df9354b6fd79427357b81a18b08a1c511e12111ec5e59097cb9
+bb40fe839f54b17f1f076a21d01c5d42b0291936d58010a88e6a9774021559fe840a5ff96b68bf00c178ea9b9b151a49f1beb561fb1c4c19103c4b7d974416b0
+Public Key: acb732496c727ef53a4b2a08167b4472ca5e958c7342824c9945add4649137ba70cb3b280820c0afeb8e26c458a9da96f926b4a43633fd6c997dea083281179c89ab8ceb011c5a56dbb69a5581b47fe66426896ae0acaf177198e40b22aac3c5af829e082cb5a2d077ef84b5f4f31075078639cc7b162370dc2247ee98aaa212a9828940d1d477f6a887213a3929651398ab78c5d2258b54ac1573a94270b8ca342339a81833e87e6a5691b9531fbeab15934140469506bdd5a28a353a7f7180aeea8f701b74168a8372564fc08206144b7fdb98974d36407496a42be47623113acdc4c19501b095e636f7b1a21c46cd597b7c31825954d9165e4a199d2530e7e59b99d0481b359e27bb563a8c0ca4eb72ab839d3f50b650602c1c3abd2c3a83a3a0508a2649a0965d76051a9e41a741200f2d44307fb721ae804f2f255155f8612d731ac27bc6c1f69a7e2a2497015ca6b2c417b5192b148c5eccb6fbab7ce232281a56700ca13fb815c8cbf4c4f023b3aa54a42005b8bb23835f247045c796b7da3140d5192e75901ffa81c086409f21665324b60e17921eb70e7d4081a7f39025597f930cb28035ccf9b89447fbce03f88a37432d8d611a30f8924d40b3e5c409195381f43a2b66a4c0994523296071fe4b250cb3a53560a8b58b2d66348ad62758f9d504fa89094d7c4698140052957b95388f48d6ac200a7274c324cddc8c0d0b58d0d4aae4acaf81e86310c1b78fda2f3f955875599d8fda2e6e866674395a30b5b0bb2800ed24b4cff29e3f96677914abd792c21ea48e6098587d20aa098c7767d72e1b511bcf2c7b1a950d9f544e8fb9afc6fa030f9ca8111b6ed1e71eb0a8ad5ae35208f17f4e34ad35752a57c8cf4af45524f7031261b5abf791cf27a7e31655c4855957a99f34137aaa40495cdb5171069816e090aff39a3924cfea276a27b9c2de6730cbb0c5e53122f9712c04d16fc7176801854a006901c58b37f83c8fb9ecc4c4715a4dc302836a97d8e93194304fb78087ce71a26079ccce77383ba403ad9a4c20a027628588ef78a2e54c9741859c6f500617024a9c35988e109b76c2057532585bd29c3ac9153f258036cc9dbb493d7936a063a07e0ec463e22c96bc33197a0781dc7bb326ca2c0bd042b2042a67a8ca4dcb849b2149685680ea813e98471a6cdc610f84cea0f4a80e122cc8872533e02100155cd763c2e25a9715717004097147cb76628ba7b0694a181b27707c4bd035300081444ceacf48c5078479ae0feb0529da486cd506414512a6ba905ff97204d11246376881380258f18417f980b601823d093cba98caf9db373b87c6c39429bc5c042d83c761aa46de020134011a75585e081b86f15643102621480abd5399102fc4a83a7922438cbddb3c9fa321b57dfc4ffbe5b1ff750240716e3fa097e682cd8ff3b315056d9bbb46eed149b0da73e373544fc9a582b786cc5a3769f47f886a27f5b33ab28396eaf97d81317f8ce62da5a34cd969ab9b9886eb6386aef1c100a6c9f3a1190a2405031348c6c7a720f726b4714a531b6505262087c1ce76e012b61cbcfd4576f6c45f5f3434890c60d2a90e97f6be39c539d2035f5f735396488a6a39469c3287a3e4126e5301ac41997b4ab061b38daab26a574c8072c6553be57c966a0a41361d759c074c4b0358d0a7e1e08bf170689dc98e017863b816590c47c95bc861b4d51dff753f96475bcca4bffb02bf49aa7adcf8b1c04b3136a3035dd17b50952fd928c376458d91a2c5f413bae7967f57d820d48a3bf518aeba089ed5c43a00d665c2e89c8a426c22c64be60c26de82af9db35278eab0b39cbe0f536d775abdcfd7bdc39aca1d324ca28167fdb50664aa4f7b1a22e435717ae16f1c437797a7877d75c03310342caa0a3426ce4fe4366c352e6b6b3c223c2e0c1c0b408b84627c643e910d99f675aa2484ec6a997bd89f0122390752188bf3c929e7067a683b7ed0b7b7d0a500db0a5f01bc3b8880acdb22578a35f8d89c68e47074d0a3bd4ca2772a76cbcc41401a351ba30281904f589c58de6aaa6c48b0f4bcc8dca3a371c09c47138ba05a6f65a8b175d3c4e8d85ac4a025f203a317f5271b646c97b5698e8977803c1b28f60d9cf2519dbcb786346594c9acbc32a051489e6ec05f7f8589d43be95d2b7ea4dc0f64ff2cdc1d33fe8abae5f06b4585706658022a8b
+Secret Key: 3cd392e4e176fef9bb92a29d29a597ef686dce36c5ba807c3d8136b7c357f1580fac16295846359592c3cbf1beaad73d039414db8928088b1dd2ab178f345848846c6df6068fd905d89c29415805b1e939c78809a8813e8e786e196ba92a851e2f8c4b57531edb7a4a980369e2268326646d3c9c042af7435b6954787b8103e189e73cbfcd037aec229310414dda3238a1072af7d5bf8c634c08e9820e74958c92b37bf42bf396bfb8e809937b58a184945341477ac7cf48ac91d68c25d5d4464855b808b19353038aa0f4a103d9bfd1b9922fa6755bec11a2050993c3b066b426c30a76b2c45869d44a8bc44d4cfcac255511f4ec498a384dcfb606be446aa29336c98783ff6bc7eb1843e3c0870d152b73c55f89c4aac467b3d47987278cb4d7f83b7fb232c44a9b7e5ba4d728832f828148a2bb4963685e1a0a74888e2c66ce903ba423859355cbb905da92f2473837d6aed687bef81b40e3e17b5303b59a3b09f347550ccb849127aa7cd48781069d2a5bbdace82848b80be4b50094fb23162911d159720be04a039b9f6e896ca98c2bbe646cc0fc3b1fba1992a92fa3b3b8f521b102a64873dacfe15a3190a2a96f56570826234177c07a8179ab77a81f5b86fe613af7241cfcf91854b08b41f75d7af855f3324eeb6a1fe619a6a86c62b1692809b7902a5a6c06b14a3f711e29b2526f2cbc49b411ccc77f634a77e97671b0aa101267c87ed667f7cc02a2801ef6cc65e7584c4d711b7d5b24424c39796530fbec6ee0f0642ff621e5967511ec734a38a138551656285403b9adea732525da15fb85b8af9acc419678c27c09ca2c4bcd06a0a0cccdcee24723dc0cd24bb5de42047527af807b64b1c4795ac7be99a494be8b880080b1fe6b384be92ac64cbdbf4b44ad5b356276caf654329cda4cf315c9e06c4353b61342c180c616cbffdc020df2955a741c8fd5213d159d7edccc4d5bb63c7b88cb6cbb6f5ca55dd2324399a84e7a0342f8882fe18cf2a5ad5af99580ec7202348104fb5cfb4135019c842a7ab1e1d73d7dc85f84e3100c5c9fe7cb0616d326c3e7a0e2835711a2a545a830dff65ff5446f0ee6b6befa7274a3a2a80a866fc0149b2140e3a6c7a72a4caa6b3a11557a4350b379f30438b49d1d705707087b3e969b188607c0bc487dd78f33f93cff0399fb179d3f886ca876531d762588c62d2a1cb5c1517a51e463e621c5fdfa6799f83c111a538b3a0738e54b97513335fc10b4a68b2100c6e0635d9bf3bb7e2546a3b65581d4b78465b8f614ae2636844cbc4899748aa2b51e5fea8e105b05a2b40d5e376ffacc6f1df21a23484b79284f58e6cb747502cd343fdad9868f9291f650ccb261085966a476010da439bbf86b3495d44ef9582765c0cc49c941a86243ee433e807024231a18d8da7a7bb96be1014ec5c45c5ba52a42f83d4843c85b4c178c216e1606754cf462fa32380837b1504c2b0588aee7c82a1b6191fcc80fa173b269d7774fabc60ec8cb7ff38f9e0514d37815735aa3ee9450bff159c702c4a4ec1c60205d66241b7fd2c33e5a52c8375ef4235f7d85bfdc2008a7c2a53835c989a947d415350a6281c64695fb13c43653bda4879415eb4c07b0573d4cc7be602c97e780e3e92cc1283b18152153a65844b70e25b67092c214bf8a158ed3c30f8a626c66ace35a38b9829980bc7bae81739075205aa1a080ebb61bc644ac08518d920079fb5ad88348bb3885a71c220ebbc5e6d8c2214b176f25c4cdb37689610fa7f918fd022628c1146f063127796ad843945e62678e47b1197954d7501a6e6a5cbdf4564694126ec31b26bc7a7b3514897ca7535a90d8894c11475005f30f5b71b3f95549403620676bb40d320b0de3851fa4742df39277413546113a3c9793ad70c90b997f4494ac17884e7ce8c594aaa202b8a5ae059c88298a31f6969e5475e51ab7650b26b86b996de405083a5d198bb4202c49a5945b5e4bc6f5db70aad425b8e40e314047381bb40fe571775c7ba646b57f842e77081e4f68748b5a2e151502d8400af1451d8c700c38f37b832c0d9167c3d48b3b98cb1c8415a9939296ed0aa2f3c4c0045629d44a5fba99c94c552a38ea3768f50ef8f376b5974bb9c49b87106bea3513f1bba999142c80335707975370e383acb732496c727ef53a4b2a08167b4472ca5e958c7342824c9945add4649137ba70cb3b280820c0afeb8e26c458a9da96f926b4a43633fd6c997dea083281179c89ab8ceb011c5a56dbb69a5581b47fe66426896ae0acaf177198e40b22aac3c5af829e082cb5a2d077ef84b5f4f31075078639cc7b162370dc2247ee98aaa212a9828940d1d477f6a887213a3929651398ab78c5d2258b54ac1573a94270b8ca342339a81833e87e6a5691b9531fbeab15934140469506bdd5a28a353a7f7180aeea8f701b74168a8372564fc08206144b7fdb98974d36407496a42be47623113acdc4c19501b095e636f7b1a21c46cd597b7c31825954d9165e4a199d2530e7e59b99d0481b359e27bb563a8c0ca4eb72ab839d3f50b650602c1c3abd2c3a83a3a0508a2649a0965d76051a9e41a741200f2d44307fb721ae804f2f255155f8612d731ac27bc6c1f69a7e2a2497015ca6b2c417b5192b148c5eccb6fbab7ce232281a56700ca13fb815c8cbf4c4f023b3aa54a42005b8bb23835f247045c796b7da3140d5192e75901ffa81c086409f21665324b60e17921eb70e7d4081a7f39025597f930cb28035ccf9b89447fbce03f88a37432d8d611a30f8924d40b3e5c409195381f43a2b66a4c0994523296071fe4b250cb3a53560a8b58b2d66348ad62758f9d504fa89094d7c4698140052957b95388f48d6ac200a7274c324cddc8c0d0b58d0d4aae4acaf81e86310c1b78fda2f3f955875599d8fda2e6e866674395a30b5b0bb2800ed24b4cff29e3f96677914abd792c21ea48e6098587d20aa098c7767d72e1b511bcf2c7b1a950d9f544e8fb9afc6fa030f9ca8111b6ed1e71eb0a8ad5ae35208f17f4e34ad35752a57c8cf4af45524f7031261b5abf791cf27a7e31655c4855957a99f34137aaa40495cdb5171069816e090aff39a3924cfea276a27b9c2de6730cbb0c5e53122f9712c04d16fc7176801854a006901c58b37f83c8fb9ecc4c4715a4dc302836a97d8e93194304fb78087ce71a26079ccce77383ba403ad9a4c20a027628588ef78a2e54c9741859c6f500617024a9c35988e109b76c2057532585bd29c3ac9153f258036cc9dbb493d7936a063a07e0ec463e22c96bc33197a0781dc7bb326ca2c0bd042b2042a67a8ca4dcb849b2149685680ea813e98471a6cdc610f84cea0f4a80e122cc8872533e02100155cd763c2e25a9715717004097147cb76628ba7b0694a181b27707c4bd035300081444ceacf48c5078479ae0feb0529da486cd506414512a6ba905ff97204d11246376881380258f18417f980b601823d093cba98caf9db373b87c6c39429bc5c042d83c761aa46de020134011a75585e081b86f15643102621480abd5399102fc4a83a7922438cbddb3c9fa321b57dfc4ffbe5b1ff750240716e3fa097e682cd8ff3b315056d9bbb46eed149b0da73e373544fc9a582b786cc5a3769f47f886a27f5b33ab28396eaf97d81317f8ce62da5a34cd969ab9b9886eb6386aef1c100a6c9f3a1190a2405031348c6c7a720f726b4714a531b6505262087c1ce76e012b61cbcfd4576f6c45f5f3434890c60d2a90e97f6be39c539d2035f5f735396488a6a39469c3287a3e4126e5301ac41997b4ab061b38daab26a574c8072c6553be57c966a0a41361d759c074c4b0358d0a7e1e08bf170689dc98e017863b816590c47c95bc861b4d51dff753f96475bcca4bffb02bf49aa7adcf8b1c04b3136a3035dd17b50952fd928c376458d91a2c5f413bae7967f57d820d48a3bf518aeba089ed5c43a00d665c2e89c8a426c22c64be60c26de82af9db35278eab0b39cbe0f536d775abdcfd7bdc39aca1d324ca28167fdb50664aa4f7b1a22e435717ae16f1c437797a7877d75c03310342caa0a3426ce4fe4366c352e6b6b3c223c2e0c1c0b408b84627c643e910d99f675aa2484ec6a997bd89f0122390752188bf3c929e7067a683b7ed0b7b7d0a500db0a5f01bc3b8880acdb22578a35f8d89c68e47074d0a3bd4ca2772a76cbcc41401a351ba30281904f589c58de6aaa6c48b0f4bcc8dca3a371c09c47138ba05a6f65a8b175d3c4e8d85ac4a025f203a317f5271b646c97b5698e8977803c1b28f60d9cf2519dbcb786346594c9acbc32a051489e6ec05f7f8589d43be95d2b7ea4dc0f64ff2cdc1d33fe8abae5f06b4585706658022a8bfc1d4107cf7c31dde305c8622bc5b5d6dbdc7c80aec2744daa44e8840dab893b840a5ff96b68bf00c178ea9b9b151a49f1beb561fb1c4c19103c4b7d974416b0
+a562d411d01ebd229622095dc3d89d62bef9a98495aae035103be4d3a7b94010
+Ciphertext: 5d2ad3127f061e1960f467479185ef332be3d2a6e03cf818815d473ebccacc9717ec67cbe3969bfaa348aef151ff597305cf16e0ba78a1a99d01e2b14cebb7218d9e80d5e96690c5b5cde329b55d3bc5507c9e46d51ebf4a19b382a8f200ed9c1842f39835222787a6a11badf63abb545387201b4cc2f50d8a651969ca7ca193b5fe6acc6ee152e51a217f8a288a6e29e32d077f36f807e824ca29b6ff4cb8bcb8bab4a421f144d5577841365568810bb1b8b6f1834e7c00b6614efe9a1d1d2c7a522ed7ef5d5e61700b7dcef89832fa5b91155edd5635cf9b5c84972f713783eb6b34057ce54bc701e902ad18d2f7c811f84ad1a303e67b94a7b470639b08ffcf90b573237888111d928534a21e97567ceb3d751ad09308e6d09cd6d503b6e2fb16306d0cd5e037d1d69ea15bab83dee7b9c17a5824c06c4df06a38a7cbf7ab42ad20f6fa923ea7066e9758b14e09621f045d74575374de5f4aab3522726026064426730f2f7b36bd7d32dafa81f9b2107084f1211640002922e79ec9b2f5abc73cb3a2f19d6dab77f10676100dcd24ea798d9f014c43afe10ac9dd1efaffdb71ce945cb01be3da446426d306124fb6f43410c69408abdc0088d46cdacf3e4b06f546378af3c55db6f3a85af1228d64f46a1b26b63da906b393861e612597e084f528ee9cb1e3c5d78d9eab140a8152786103ed96594e2c5c58008e733e7f22821bbe9131e3b45f84730cc30bf11d862f3c39ec0c055f73d34439026e0e0540ca0f21d388a2f10a6ac1d7d822616480bb99aa2d0826ec6ddc0852a877a928667e025273eb93ae619527f6282e54476fd0fc3ed6e73868c20a13b8212df91d20346fe539dd23662aecf1b1ef3e3eb9c39f80d0c0057e3223d58cb14e4af0ece58c08c753b32743af8b8d9bda04cebdb8e7101996b101e4971af17e384dce42c4000d4e4da8851ba076cc70dc7a5a9cdd038fa6811a4de50260655e518fb3ba73bdab4ace57a50d2175a3a9f36e8c2b3d0f2f9f0a7042b13ea3c3792483f48bc2c688ff577bee9fd5405ab21f36253339b05b3e2a39a17eddd5d4e47c237ec967891e1985d6512d2a0192db88f46fa8b16db910e9cba10251bbdd3a3bcc405ffc4d42bfd488a3e26f56ec7fb38f405fb953976403d9b43206c74f8a8cfca3d5417a686bf5cd2374e5c3586832c8792bfaaecfae76ac5e132d96a9a19855718f2da81c78db06ddb03a4baac1581eec3fc275bf592d2ed2c981e59aae1664c89de8fb16d26b193fb97021e75baaf2fbaf2462c27a80450f20426c8e2eb438e85b1f3cdc20c1ecae6f47b1d0c7033d9e6d76a724bb7663e70e2235c77762de3e4af8a743fa57f96a6cd7d6bb400d5392dd533729a86781a7e75b56948db13916fa7abc972a123b170e6a3a985f6041060c4ad8583bb8677a6155799a72c74835a5e623ef717c8dabaf6715a1cb208695fbcae2b463f9623670ae3d4e246a5b42981bfa1f4eacb23f3a33d5e34d12dd3b5d20dbab4b95d5f089e089d0acc6452679de76c906ce99baa0e50879974b6ea440e2d6d26827447b85cff33b34099f4d1f72c53543809f552ff3fc2d22ebe619f354a119bbe88e743d2f5129055e095ca8591c0c1f7b870db6d219d63bf5573009ae9fb7551f5606d8890b2f023e387315e0fdb24853d52ce6016831caa77545ccc53f8de32aa4e6a14f1a884969162ba09bbf9690ea6d430e82d41e691a79fdf2520b83e2ac8a58bfca37821b8a9f70603797541caf9af3d7bf48cec13825e694955edfaad83633ba7cb3261533e39e54e5d1b8e52ccc6b09dba7700b698ee7ee1e1780f54b7d5dad8bf55bfb210293d5068fca509174ae4158238766894c3aeabbe588d74fcd4629aaaa2c3076272d5a75b98a020aeb2cdfbac9e03edf89fa4fbcdad427e3b2d1abd98f66e3cec9d1d1062e8eec03045fef84ec1c62cacdb1b0b3a12b0a1da2816ec432a1a5bf2b0c7dbe63d1b8d9b30b7d2e66f154e9507d10f7c0544181a92ea5e89f3f1e771ba9d956c935cdb5f272c78cffbfe76f9b338291851d67d13e98fbf84f7b0b117a519b35ae306097b55dcd36f1b466d55346e48e5d49f0061eadee1c88fdb60cfa87910bf076de9dce6b6635f752913b80b0b9540696074c027f51bcd23b7122408813a74d2757c98994cce45447a8e715de183b9301492fbc77a69aa0b8ed1db833c3b1
+Shared Secret B: 67b6a2a0745b56d122f53f96f61ea1767e701e87575ef5447fd0e50627b938c4
+Shared Secret A: 67b6a2a0745b56d122f53f96f61ea1767e701e87575ef5447fd0e50627b938c4
+3c94800752af7b3904cebdb4a0167e8479f16bba8661f253e697344aec5d74f9cd4f3a5e27555a75157fff40331e89e74b0acc309cd6805add0ac64a427c04c858a1b34a51f11aa3d00519088151bffa14e38e69a9371e3eeff9a21be61e58722581ee5c4bfd6e3016d103f3bc6fa893754f34d59378b65fe539d89810b61af88ee80fcc7ee9af9350f8dd2ea3a74e18043ac4948bf11e5826acaef056caca283e2a0503d75f0c32d57c14847fe8747380b17dca1c50257f46212424e00dc49667f60c02ea6410781f1aed3b8b558ad41eb312ca6e53a17fa43ca1b2422ee34f0c5e7daef601130c32bbea2ae8607c919c1a27ffdfb54a0ac053c1467e2dc4e3bb9fb73c1337b07e6b2a6680c88008b13570bf64bf44afb5fc79746b11eb69bc77e4d70491646062b6ae88245f7953b5f8019d30ebf22a3be757dc9a551d30dd5196a0978036aa2113f0be3c36def445fa2c5699cc7daec35c4300cfcf6c547c90781b0a30e8e72435e66a5beeede980f496ba515b436032a683c5e94b843253764c432e5e99d9d70e6176ea98a127ed4d6aef8307cf387fa83b60ee91b4bec001b3fa72aecd12e598cfcb3301cd2f1552b298c46ed6cfd97b2748d4d6aadf4b7a317e21ff70d3ce207f3b537d704d8f61e7868b16091e386759b45630422030d12df3e17cd9c107797607e6a014d89bd6c5d9a6dcb51d923b7f720049a5418c5a6d70db77d38794b4f41ce03833b85e360d7d81f04e810a92be94b4404a94d8d4216aaee17846924aabf79e8a05f9986b75927edaaed606a7c8b7836441dee3c9873bf53cfdb3a7fbcb9d6a19c12d7c449ce9b2eea1bcf0077d74e0864e71c24139d26453909a7a5faf5cb7fe6fa3ef06b2db5c13fc7679e515246d0a474cea2f2dd05f16d1d043a5cb95b0d67bc7612654fde3209b32a39806b53ff7a9a986f4ddb3835465d1488352d03639baa03b0e1290c4576c6682d04532a9a2e89b4bd2212fc25dcd711d24286ada90798eb88b87dd11b4d972940339a69053fe97ea68d10e5af144758a219b1ce7701797c2a3feb50d4f11a4690a36bd99067f380fc3e821bbad65e4ffe2fe668737b3632075086f7c416f973c46dce2cde7f58e385457ec33e327800c142ca4711c6287dc728e9fb19f56efa34b966e44c2872a934d93fb5f2ac61b46232440095ba318f3c608418b7925ec5de911b154f8e0265d9e633dad78b8ccb02d23c8b4650b30e21fba7877e8d9789f5278618c0921b67d933a5f0472efb1ee598bc21d5d0d9d9d1aeaeebf02f87c9b4fd21227192198685e41299ec42c091fde9e108c1fdf659b06069eeb188535736422a81b94e4af517725ba637e8445b8b38ac34094844fb4a8fe1b8d5365102f7acbd158655547ed13dc0994e6289113eb345ff5999bac54aabb3ec27ff64369571f0cced17ec70743e0c9a5e10f2abdfddfb1181e4129ba6e4f3457b5de70ad37b8a487360eef9122421fd57aa722638d3cac0c526487b7f8604720713a121688ffc7983def4895638c7b8ccf32746e9e3f1ae082fc1183046276fc13d04aa94485d4e1ee5c72b14d9e919f7a54599326b6ae798c5015be2cb75a0901feb81798571e8f2d14671d216351df06ff1981f72e0aa82601c81bc326d0ee317cdc0d2d3a070cd9cfeed510adc0af725749cabac8bbc3fc7d276a96b01e5a73bfa98a7787e818ca5ca0de59a35e63152dd81dd50e6669013c884c9f309fdee8b39349d42ce5143fb721527f0eb8f3b87b922330327e725fbbc8ae16ec85890eede8d3267d9f364e789f6791687e4afa0046a9667fd08679f50ef7209ffccf4288563809b1cc47db801ec8b48fa4c3d953dc531ee02c28c1d3e480086ce8ef01c7e0fb08c415220da00d77f6f349af618a6421c02dd0a38ed910b0067a18e392fdac7c6dc152535bac8eb40f18ce86a95703ce848cc7aa3867259ae693a33bac9074f4c2f8935f423f2fc35d1e93abf06beacbe6b883303235cb21401478d660c64b2968529c1933bcf217feae0e8bb06b629106d3c465cdf6e220f6892b5b580c28b36b5d9326dcbfc6ae9eecc90907248e890a88ed1333c9b7b061fb2c49a26ad8a23c0f3f354029309df2a41496dfbb4c9aa3403540a7c8c92d0f45ac7ca0678654ea7c581b1607ab445ee1fffe1e7baad53eaa5627e25c317d2330d7a38579a84261037a67bcb85c48
+Pseudorandom shared Secret A: 1e039949077ac9305e3dd20a219b884df1567a29f145f53c297dfe09e8e9d0a7
+0d61b7429d926184bfebb12968a1e6a69095919c502423889031e3090a046629b8cf5df80f0aa6545882b8c761d7bc33f2662dce2b8507f517982b7e0511f8dd
+Public Key: df7278fc08be8422a4ead391e6b189a9698ab87b28c0865dba689476567655a52a9c188f31988def906deb10880d8720ab62617873178267606a22a3311414b94c7de368ab4d116f63544de728975b6459da9a56ede9cfe6b1880c8246b509b7b3e99b5f486b1ca82a455726b7f31a119147a731470ab48ddf026a9e73c32b0b8ad2820daa4658f9178622714ecd328999cb6e5547a943d0b3153b631f3b0dd97301e3580cdc4b9f91b1abfdc295913713f39c390863a74a576386ec6f23969c26391b67280406cb754fecbafaec8b217840640368b35b30d4597f081978a5778d8ec806368715539342f4c545654755b59295d13809d51bc79e345e54819c0cf080b1b45e888156fcf9313474438ed8aea296bdf889734cc034409090511702ae734144680636a6beb1a51ee53ac81eb39457c7b061927f8b7241f0b443f3d589c6450d127c5657bc55aee6b874da4d641bba03c52cb3418907d841aea0a5e92ac0be61cef3969aaef84e1f5a0cd83460981c7fc12b1fbd837a8c03ad7d8554500067168131476845167461f8eb01ef649a04b04ee25c54ef7947b2984b900326755440d768b343468b2fd8c06365cb7195ce19a00589c07da1628988b2bb48d1879900b624b278b2a903037c3238581b7b6c74d9a058880152921b7cb2c205fcb1856db5a3d9da9076e250d10c841b767b792b0d1468a935b690f9014d597851b0e00e1dcb13b6643c001dbaac0018afd845b52c161ce61694411b67eb1e4daa8004216637a19c2c372fd631bdf79a2460b325ab921822535fdc042b59b90db05ccf07cca26790bc00900626d1358544712f66140639246033a64d80b37eb916919348d6018d825a691d7c635337c5cdec385280076cf33ab29a17b80b544121c63ca00383d504c1379209d098795363f00482cd54327f150f73d067b45a8957ca603476b10e28b26698001bf59409648daac4086fc36e25f63acf71a56a2ca3d841bfb5f06d110918a2c14417491090f7526bb7254e246798f9b648553cfe5c19b288af0222422bb88bb31017ad4975b733adeeb5751d715b20d30d35eb1b450212adb72a017a30a03184e466089a8615eed8ccbb241c1f99b6fd1432e69976fd38b5b0961b7eb94f98c9aee89cb5c33a29d1521c663c510b7b2f48b1801a4475af3a7f8e9c325dba4bfa82b7227a09aac6c86f7593e198c555e2cba5994c0aab5d566937899a196a635589d666c0c17dca1b3cd587354295936019532f544bf48b9479212f87412f985cc5b0b5b0a774282fc8451be29ee43249a0eab898c53faa4183213028627057dbf250b080831b93b257f8a3ffcb4a559b9e16bb49782932c17c988f2606645bcc6ec67e3de1bf71e1cda3460facd07a82f88ce0325891f8ca9c769818b3cc046060312100b6c0aaee1c1418b2c43b142793ec5e489a94272c5d8348711b7947cf184554d63412d117e1425bd8e48f5e2941dd70040cd85efce0cf1ee4195db9a13233a01374290b908e1c2b27fc66c72d03b91ec23169e872d4036802862e3eeb472d707fac8c410f605bede8304e36bf8b280af7e250e4513ffd7a841237a6249c70101c7e1c1c4406f9249384874e84701d1b30605bb8d7819efe41958ecac218f51b3b946938224f636c2761c635a7ca33435c669e470318882e69b49f108b12bd78c48da58c9adc4746d3712f497fc221b17fb981288abf42c4beb0225f99b34ba00c8ab1719163589b96a6845ac9cb8124326b47760eec139b6c44d95a5924c1c68f8385eec086399b07647199ea1138d7806e2d073c834c21c594c81caa3be77919a4797fd20356ce63000f513dabb197981517b55ba41044be9d05285f4bbd2c29b002766fb5517a0b5004ed3c7245c4c3c0d08c10a91f7ca64bd015815ec34a66b85a030608809c6b0fe36a839c335a062678f91d037ab4bdf3ba3b3c81a6b084451a129aeb7261f04d1cf82082c043fff8778f4a249a96ad6db1378acb3743586d39028e5e06481a940a96d69aaae1866fc13b1a70c25b9047ea11603913686a2202f4dbbb9a729815fb95cf346b999723d268a76e249c22282b6cd40b4f26841287a27be3b517aa339152525ca363eb306c7343c83aa534ab0a0f39524e219b20d5667eb9cc06153bb67e60be4fc741eadd5d9fd1a3fa362698e2de7c6f3bdcb48886341b5fafb4d0a7f54e20b6190e
+Secret Key: bf9b534a87596651484f020cabe87934f93eccb3704386ad957547a2f2934173a2b0a5b25f83b9f3344a8f8697d0e541b7a442461577e2470f26521c92d27407e82dae1942de43b778d762df1366fb3169b1786e39789e43ec09f476cf65b7cc4d54368f8103cd3565cd2664c1db9b7d73aa9140ba867c2b6c2caaa369cf3a31cfb1727a0dfa0bb07a98ac28932ccbab9e669cdc5227a71066110bc056176379ba92b9bc3c5638710b6452868874dfc3c559403d81351d6595064a463df5758e657414ae91920e49793b0b9c05ea2547a0b62f0caf2404babf152c45f016ceb14ad95905bc390683907fdb6a6cd97b23ed9c1e41eaaafce6b9e6eab10ea916bf80c93bd78b70c84846344858e41e80c38aec120ee0e88ba12443b562aa2781a071972b8141b9dcfa2446979b643b3dd6520c7e9440251908082c9e28f228868acaf489411af8525861c787c35a1e6aa86621c1949c038ca148891159eb095d000290d37b9b190631fb47ab0663bf794a82da62aa28ec3f586bc1478903a6499a9e159e3403bc6e856f1502561bb1aa84f26c6b7c34f89b86ad174d96f622200469aac68f2ddc037c64007cc9cb1b45767ac10775b32a14e69248e00028f80dadf1c0431abb0e9b9939445d47669bf0d280cee4b1d3d20307e47ea3dc1c1fe482ca0c4f59051685cab3dfc24c160258684c697be375b0393cc021babf6123b7fb1418111d200a302152cf4fb89eaf05b0bdc6caa07ac3a6f3ba9468a26758586b252f15594980eb9c7f564b3329a6c7396aeb6691df16a2fdb91befeb2407946ce940898135a509964862ec71edf16fa301d018c1b9a40b9306b39c3e58c07866137592518f561500aacddd128724e4bd3433c722f1635297823c0c7b6be9a9d46c6cf33961edc2576a15a31de79606fb797fd9c51977280e0a3231b95b76acc305ba130d544d68071de5c08e6cd3316e400bece9af329bb5c66910faf207f34881df40a84e7962a8f75d728b62d9332a9d43039269271cd3569e387c02eb869210499d146298026fe583659c2278632433db9177a66637f438bd310570bac7c3d10bcd3cd329cc47858a20117f52a8e28a005b055882fbbd0641b33ffc7541e045d6e39bd9d422050b21bbc1168d6b052e7662d4a728b68932a0e858e00c01dbf9b7caa092c96b9841395df839946b1366f716582db53f76a422e164c1e2a6ad3a910906726cbee6353c7bc93eb26a2673a5a2d12459c659183760f357cbe1ba7716270472a231788848c60263928abc8a2679b239526db935472114c992c7e887afcbd7acebe60f329acd4c70944f78b45d367db8aa0f4e14b4b39c077f60b52dbaca57a8461883bfef274ad0098f93b1ac869507e2b9407036cc0ac8101f71aa184014b3444b26a243fdc158db7bbc8b8879bad980041b524f64666f596b28051314db81ac1862c0047ac3419dd37b3c7a947fca9a36ee17cd21671347b17c66375b9c75405b887042346fa2dc227649698916ac091115ac01153fe07c50e048a5b30eb9f81acb28c315bab9e353741167153f27009d077e56f6a28511cf7276b2e1543072a218bbf29c6c831140f7350f3841751a8b5a63b0798558d71295b418990b970502988a25252967ac392ad2831d3bc0b55c4624b077511abfded64cb6a862616534eaf468754aa3975905fe6a9b816510f3651d6621609d4b19f803d05f325547c3c2e0f362934255ed16845f8a95068bc4960948dce3c60e9c485c2833bd45b5b4007f1e29503af05f00189e2ce90ee61b81b9fb239bc1934cb014fd2c8968e82ff9192ad3216144b2aff2bc416e237309663664459c2e309eed36cc51550eaee4153c91ca973a9590a1c678a5478bb58c84861aef0543f2a569b616b1ac5cb4d9e91abce5678dc476fbb076c9304fa2c3bea28b53d8962716c3ba8e7505eca444783ba551c69114020622320fa7c380a679697e60082004ab74b0422c410417a737d7355cecd570dd902519e188941973e0431d463809d66c81c37423db41286c966fc8426888c1514798501cfa14aad72d998b6cb49b0b6d1646e552526f916c0a569777a634a6314bd8e70947d50f5d138fb4d9193aa2bc73c928b098031465c013163cfed69c2236b241e105292c3befa91e93c09683c007df7278fc08be8422a4ead391e6b189a9698ab87b28c0865dba689476567655a52a9c188f31988def906deb10880d8720ab62617873178267606a22a3311414b94c7de368ab4d116f63544de728975b6459da9a56ede9cfe6b1880c8246b509b7b3e99b5f486b1ca82a455726b7f31a119147a731470ab48ddf026a9e73c32b0b8ad2820daa4658f9178622714ecd328999cb6e5547a943d0b3153b631f3b0dd97301e3580cdc4b9f91b1abfdc295913713f39c390863a74a576386ec6f23969c26391b67280406cb754fecbafaec8b217840640368b35b30d4597f081978a5778d8ec806368715539342f4c545654755b59295d13809d51bc79e345e54819c0cf080b1b45e888156fcf9313474438ed8aea296bdf889734cc034409090511702ae734144680636a6beb1a51ee53ac81eb39457c7b061927f8b7241f0b443f3d589c6450d127c5657bc55aee6b874da4d641bba03c52cb3418907d841aea0a5e92ac0be61cef3969aaef84e1f5a0cd83460981c7fc12b1fbd837a8c03ad7d8554500067168131476845167461f8eb01ef649a04b04ee25c54ef7947b2984b900326755440d768b343468b2fd8c06365cb7195ce19a00589c07da1628988b2bb48d1879900b624b278b2a903037c3238581b7b6c74d9a058880152921b7cb2c205fcb1856db5a3d9da9076e250d10c841b767b792b0d1468a935b690f9014d597851b0e00e1dcb13b6643c001dbaac0018afd845b52c161ce61694411b67eb1e4daa8004216637a19c2c372fd631bdf79a2460b325ab921822535fdc042b59b90db05ccf07cca26790bc00900626d1358544712f66140639246033a64d80b37eb916919348d6018d825a691d7c635337c5cdec385280076cf33ab29a17b80b544121c63ca00383d504c1379209d098795363f00482cd54327f150f73d067b45a8957ca603476b10e28b26698001bf59409648daac4086fc36e25f63acf71a56a2ca3d841bfb5f06d110918a2c14417491090f7526bb7254e246798f9b648553cfe5c19b288af0222422bb88bb31017ad4975b733adeeb5751d715b20d30d35eb1b450212adb72a017a30a03184e466089a8615eed8ccbb241c1f99b6fd1432e69976fd38b5b0961b7eb94f98c9aee89cb5c33a29d1521c663c510b7b2f48b1801a4475af3a7f8e9c325dba4bfa82b7227a09aac6c86f7593e198c555e2cba5994c0aab5d566937899a196a635589d666c0c17dca1b3cd587354295936019532f544bf48b9479212f87412f985cc5b0b5b0a774282fc8451be29ee43249a0eab898c53faa4183213028627057dbf250b080831b93b257f8a3ffcb4a559b9e16bb49782932c17c988f2606645bcc6ec67e3de1bf71e1cda3460facd07a82f88ce0325891f8ca9c769818b3cc046060312100b6c0aaee1c1418b2c43b142793ec5e489a94272c5d8348711b7947cf184554d63412d117e1425bd8e48f5e2941dd70040cd85efce0cf1ee4195db9a13233a01374290b908e1c2b27fc66c72d03b91ec23169e872d4036802862e3eeb472d707fac8c410f605bede8304e36bf8b280af7e250e4513ffd7a841237a6249c70101c7e1c1c4406f9249384874e84701d1b30605bb8d7819efe41958ecac218f51b3b946938224f636c2761c635a7ca33435c669e470318882e69b49f108b12bd78c48da58c9adc4746d3712f497fc221b17fb981288abf42c4beb0225f99b34ba00c8ab1719163589b96a6845ac9cb8124326b47760eec139b6c44d95a5924c1c68f8385eec086399b07647199ea1138d7806e2d073c834c21c594c81caa3be77919a4797fd20356ce63000f513dabb197981517b55ba41044be9d05285f4bbd2c29b002766fb5517a0b5004ed3c7245c4c3c0d08c10a91f7ca64bd015815ec34a66b85a030608809c6b0fe36a839c335a062678f91d037ab4bdf3ba3b3c81a6b084451a129aeb7261f04d1cf82082c043fff8778f4a249a96ad6db1378acb3743586d39028e5e06481a940a96d69aaae1866fc13b1a70c25b9047ea11603913686a2202f4dbbb9a729815fb95cf346b999723d268a76e249c22282b6cd40b4f26841287a27be3b517aa339152525ca363eb306c7343c83aa534ab0a0f39524e219b20d5667eb9cc06153bb67e60be4fc741eadd5d9fd1a3fa362698e2de7c6f3bdcb48886341b5fafb4d0a7f54e20b6190e923712d5db6a80db3f27693313db4e1947749dbe50720b09dbb59fc567c0d577b8cf5df80f0aa6545882b8c761d7bc33f2662dce2b8507f517982b7e0511f8dd
+7ef2ac60a4a2392bedfffffc02bb7acad5e78700b4ca6a93e8b2e9dce54c1f06
+Ciphertext: 279b458ceb2ae434dc9dfd90331ebf3bd4d5ad27c5be422edb73bd8ce4e63d3ee8f48f8b03d7c0fd4d911aac7564206f28ae53a82e5a9650ed5161ad2930a5da721d9cd85bd3f545f58be7ddb6b2c8b2171046fdbc02d8d382702ce53b232b9c419f78ca69e0a07b28e67082f7ac3b903ddf2d481c441e8265dbcd3a224b48249dc929afd812a0eb66e99571320c9054962311e7b7b70fc18f00578aba1e6a7c579bc77d3e5d22bdee1c72113fafae95acef575600f37eee2292b5cc2101a1d18eb944fcb71c769eb863e790041c5e1e6ba8ed91059d7fbedd911c844c8bedd651e072d68b8c11e37a58ebc8ed5f3afde861d3bab6feac17fcd566273d2d3d01c8b969a145d21f2b04473dec02be78d3a0f56014a63057044dea631f8324871105c1c14539715ad8271bb0c05310f777bafbe31d7213282a3dc7cd0a669c31ed79c3c57c5a22cb62c79b43e08d99d931948d0b9e486b952590badaee642fd553c9b63f2cfbea33931461315accfe6284ba4057a0a8b1b2fcd13477a9a7945e1c73e3752ae7c80af66e58fad288ceebc1223ccfa0001d671fb220f0c8bac7228a3e52a8b736cbc5a12114f1bf668a137ecbd8fe3936ff01933d922d54c569de86d662d0ec49eead15ce222528678ed50da9120716d6a0b68b273797633e94b55ff674510c5120b03165956306bce1fa5cb84e5c156faf68f996e6a2776ce068bb14903486ee4e93dbbd5510795ec305d83270df50a2bb3a84a019c8871fbf8730f9799cd937eaefabc905d666ed1f09a455fc872fd25ecf96ffd67374f00ba61bed885263f765bb519d8de7864be0485806c5e02d1035121d44837ac7fcc2e46e180c6ead75e28e5781ea0446b1e3da451edab9b1dcccc2900f506769cc2e553cbaf806949442409516f47f1d57fddd927371e9a8d43f0d4a33ff9c4fbfe3358bcd5609428c37d478a82f2da2ebbe1bd5b502b29bb261d601aa133dc401b82fa8ffdebcbb92891740e10e12424b326b1f820041e5ddd320e1323d663e44ecf2ae9df043e939367792fcf24d65fd97330aa05d885f191067c988f6ae725abe837211f07a557fef427035bbc39f3713195d7fd60586890dc552590e1f41636f5f4040f8e8a39bf95a83f768cb67e5abe5c1877f75c67590289b0b071b7b01d69d4a1bbfe60ba7a1796003c17279f025cdbbf2f5ab44d85728cf0bb49966b79bf55fa702ae85fc6e2fd95dd295ce25efd2f15ca872b26de8631ea596c2634bf33d74a777f33a086f82b0f6199ebb8f7fc8f6ee0773c8c588cc4cc95c7386cae36f96a127b18240b8262c3a0598c5cc9079200d7dbc39870e3fa57c29760f927bbb8f514e30d7583efb31d0e3b9376776330e2f99ce550a0eeaf66bf373d49cd5dec423daa81b0e2607497375ab040899536bdbe90b683fd2ffb833dc09007cfb465c929a240755aacdbd44d6723bb15d5281640e10258d5fa03b77aee2c388b509ce9a8aee297c11aee571006734deec8057f7384dd6ccc66ede6a2685092de4cab42f179ae7b57f2059f6a8073a7288c96eaea5151ef64c9f6b4b46b5e5808d94d23fe2dc231b2617e07740a389ffb3e562e4892219aed3320b7ebfd80e29d21ebaeec9060c4ab30e74252c23abc602f23898c065a67f6cc289b3af99150a789132bfbf9b8ccb82ce015cd096a9917c3e7b66f33016a97870260584a4870975a0fb8bf04fd58a80c5281237fcf11e6d83ccae558620e4443d439e73a0124871acf46af072b8530b0ab182e0d9fabc8358cbde7f7f38a9e8a4c47f11acd2d589f03075e27f0926d53f4d63ae2f8dafc6f8888ba0afcff6aba5b96a8e098a7fb324432b705b106f67923cad7f75cc511bff82eca329c25a1e9ff37b0e3b0b71e7db3419764e5761266082f36218e63f9e43543a5c6564e335e287b4a3e84b337f3993567c5ba6f62f03b595cae5e6a7d06b8820cc423523419e9e1d10d54392d60c64fdd4047a44cc3db74a7bafbb0246e1f4ac08ab634a0a5e6b9fae4bf3ce5b2c20370974914b557ff1786873f67550a25462d8dbe4f7ea6482baeb462247c67720c07531dadcade51b7646469a72540f800ef3b4ba0e4c783ec76bcfccb2526e047b8d6ff8c98698a05ac15ac6dd38d80a96b2b62928e6ef0994e406334de18811e140762ec823d70cef0aad84f1ae8336ab455adaf354eb158c1e5237c933428d
+Shared Secret B: fa8e1b41f1ee1376c3ecd464440fd412d9f1f1be24ba5628a78b24bb872b6eba
+Shared Secret A: fa8e1b41f1ee1376c3ecd464440fd412d9f1f1be24ba5628a78b24bb872b6eba
+b19eab53585e27e8a9982ab581726c8cc7b258d30f793e1e5baa91bbabc9e87cfa934ab4feb2a76a1387653ed9a30f8ee3c54c347142641e57c12287f69db4b92e76a29b42f3739935db9bbdd2f2288ccf0de0514ac7758cd8852d3d6ca1550f29a8d39d0866447cf8f33cec0a71dc4fedd2844b5f84922735a02ca4e4f707d11b62b667b89063253e01d3d60d89316c0cf8e3ba05a8e6685be27367fa0931204c3157fa774c24bf56b82f785ae3f57e7e7072b3b435c2b9770baa6b3b4246b1db390923225586f3701633493067774a6403765dffe2f433e79534358ebb208ccb96a8c35ad5e9e2edf5f319917e6b61f63678d52ed580c0b496811ada9a9e8de26c912469c6bde079dc6bb6ce86311c2dd26c1b3c85c2ac61c83f01e9357b7b556d5658c59f04d77cecf4daf3ad3f0c0e79c80b8211165c05dd94d3cfc7bab5648979be7cd871ffc0433f38b68d30ed1b03b7a7e7f6f8713a277b17ea21a6277bd3fc5984ef592f69d4a3de852a484cead68c0c34b61b76b060fee3acf6f77933696e1be19042be017f88a768619cdbe12bd7023772aef098b6d78648fe3989bc4d3bf0881815cf0186ebd219faf4c4ebc2706edd1af9e7b3a8752e843f571acda2e183cf206af2953c1cf54d5e8cee9b0fb57be836286588c8b90c91f5948eebaf8b30c96ce217e6ccde524801a5feab755414ffabf7ffbeec398dc9c7ec15f86be155bee7242692cd3e13c2530590e814edb738e21b8a54dbd977516b72cf05991f5c8bf3d856ba77f7d78e1e686768059ceca2eb8466f8ae6ef03bf83cf4db315b3d8945ed9e255ca86a00dc3a0fda3f63510458452a0853a2de342f5f37150301f20663c7d59d594ee653ec2ecc5678322c146bb6ee8804352f74cc24d0785664c1f411f33c893c647bb12fc212aec9a45f69a21d4b3fc9a4f2eb8d9bf9d0b12f85064de1d2013212300e6dd8d5627f1c20f44d16a2917ef75727e3558a6f023f2a4ee97262ff3581b6efc81d873f7bbcd7859927c383e7ae4204934ddcc4d257a5e5261cd035fbbcb2c29eaaf49e6ea89d351097f387eb548723abe4e5fa91009cf71089f1549bea0dc661dcadd1517dace34c80a9f4d60a2069b7463cdda62bd220cb7d07be41e1acca09c567a74d70d59bc2f82e63ac4c00ead5cfdcd79722edc6afde7a0d873c59a5d9b287d5b2d2e15993fda9b811a588b4528d06fb5145c4abddfdbe73c43d8d1612fb6c0799118547d4e63effd5f048edf667be2fc524fd5515cba147d4b917b4768194db495b42788b8ea31dee852ea3d37b2d0292c746ffb5199227eccf877b8945a38f2bb665ad49e0bf792f5fc349f20dcdcbd5286949a2a9bb89847a9bd2487e1384ea06d04f9970bb518ae998695a9017dcb5c665ec1b8bfd17005e6ed507a588cedc837616f94c428261a01ffda5704f1b621e98a0b937faf55c972e14ecc3170103ef0030f78f6ff1938e53bf208915bb7d4a616604fe463782806427548a116bd5981975de4fa6b25bd20d078f82423cfc01bae7ea24e472b9bffda41d3569db010ffadc547fea9c79f03585899694ad7853047df7fcb9e6ae08e749414ace15d90db878603e551d3d65ea689a58dd8f83bea05bf38a7b29d5f1df99ca8001a934c38de48d1ea8a2b52826d6229658767c45d23a9b17443a5873264ea8c37df574e036e8d509429b5bc2cecbbfa99b8e38925357749e0c7793209987c3bb0273e19572f99909bedea449a3afa0ad9e161b9d3c13581e518a3651f150e55cf589b97efaf83d17dfbfbbdd141cbfa82cc320c47b14255a18fd390ed46653fd762cd11d95f8d57a3e4c3c5934da325f149c138b9b778252d4f8c091ec239b6cfd85d557592398746b5d4bdc1e1902d6e46a9c16f120b7c9d6db105fe58cc1bc17f92ac3950cf8ea9e4c71ca98a76222112c764b093c9c15fb595a8bd57fba13b33d4f73170e9c0ea86953f1bea7bd9bf716676fa58cab4da9f1d98f97cf7fac68ed5b1e3a4d5520da717877f2c483bd79d978a4bea11121d5a66cc64d65436c414c6e0a03e59fd42afbf3238bd170cd988086e49a738b061c0cf127f2ec655ab8fdcbc9c6af21f6bdac8ef6b422b7c1d1b526450ecd5a92b83d1c29921b668151ba776aa522d711ba5f44163b6f1db17425f0f8daa7fe4f40aff15f6992e39f7f43077c88583483af26e1a1908371d152
+Pseudorandom shared Secret A: 531145ccd8594be727b1c09a9c8bcb845e767190b39d2c3ebcd5eeb9aac836df
+f475e75c8a9a89ca2f68a4eadd5674647698ce7739f44458fd95b81b5187e59edeef3ddee4fe4a1938ef4bb1917301cfe1850e04c90938e4455fb1513d8a18c6
+Public Key: 78b34df29b9b518bbc5cd1cd0ec99a31a4aa073a7a6242630af6ad491c1b571a6e1b553a640bb144aa6938f285ffb35da59707d752a553b72a4d2062fd16a589c25c28b89a51867d726855da369d421090cb5479ca55cd8e99bad54aa7cba59d771705a0584042344491d0691cfbc4329c73df4432d1d70a755c606f96646505b89ee5c74c813a658c6688116dd70732142635c835b6f4371e61297692544fedaa89404a44fd29ca1949ad3bf722f5f76b29a4ae8c090379a0bb1001151746bfd08105282b30c5532bfe235905e8157f5a83a8a3863d213124006ccc0625b89b03bf9399c431a2de6a49b2e62a1e154b3dd909d949bbe2169ce65422702c2d9fbc3d6dc355010abde6283258d78c4890704f2402636428cad643d089695bab0b83a0210df72ab3bb4d982a37ecc005ce55357cfc946c23c4c001aa2dd5923e59589b4449cbec7eea1b88a0365f8a77724bb034bd53206b98ca24f006f19a1d7e6b6b9dcb2ceb91054de572387b485e27399769b767988b0c961cec7772ecdcbc62fc104b2a9afd04c9f4e944acd6155f19162a349927d371715029f6aa583afb23b6ab2bb14893b02c58e5981fd68022ca74a2be0a6e3349a12f663849d91b63b87ca7a53f1413623e4710e51aaaea362d2e1ca4a41bae4f85475d20ba12342645292162caae6180a12b775b8a724afc57a5043281153681adc76bdde503bff33ff01449ca15bad940475ac48e12d9cac34828febb8c42e01ad8c88e0bf569deab5876e36bb93b898e5c691e3b298a799432a19e5736150253b2b982a42df95e917b4291978e6501cb4540cdaf0522ccb46a7067c44298124ae5502df42755b4197009b7c67340e335c05a961ea7b29a44e20404848690215665130822315c8bdc3b72a7698b752ae8c14ead9040e081b46bb6b7129971e1d258a384abc8cac9c6a0485be57e66b500d4ec5699a88e92ca41635258d5292e3fe87cfe89b437210d8b8175293373dcfbbc43778dfcec43cd724e94f64fd272717ec0b329163b6386163587cba61136e03bcb80201d0fc1824942a7cde0ca6ebb0db0466e2224bf8ae74fa9f09b465a440627a5eb281b2fe86eacc099b1265d4f9a877a83415297599b3b28a53335a2b8a81c097b975596e29b4569db834cac350af848d7ca8a0b70b03f69adf2ba436e6c45f06a19325a1a91f1cd39e785efbb43b2988c836a5f97836f9af04317e7062d864fc4468d788ca8859c5f11268b79a601e4dc00df63cb72b041f99b31e9412802cc713d5703a553a57f0ac3e7f05753f28337576b1eb9331101b59ae8131af416f9e683b70336ae8811c9856982e2548a498848932d9ffc5270a3c4a0c43eab372992c270b1577ddb1873b4bcb99caa60d6d36f04c7c22854598888169f2639016a0e50f73d38d695f2b5659ed1862440bd2d313350c7992e2284eeb3c0950bcbf4e1aebc9311faa64d2f8246352aacfe990e19170b535757b3a33d52353d41028de22ab60070c053672a95092e7461a1f5502a4dab7e58227aabf52ec4d6a87c780630b16cc51baedcc235f5a8225c5a61de058111eb8f9432a49b9c4d6383905077600de23b2faa17f8048de8d16513065e65c9c20b9c0d87ca95ee5520d4186edb04cc161729b30060749468a09c190f690d65c86030401012d56c6cab71f282880518c2dd71c98f30bfc678cb8e098a92d7880163cb481583ea208504f13b8984515190631918bc9a61ac6706beea8b954dd7289845561bb062681b3c8fd922d2e8a97b449f018c99fd88355690142c128b74593047e2ac38a727c4c067d5d03c5898c53559838a9333744a50511506417353f6674c80610e0a416b1691411fb36170eb0ade0c9bbfb6c0e5c8586509b093d10b53db5366194d16d34360e744c2b880a4192c17b7815972a5acccb10ad3b33626b59ff194f27486c3089c09c763e09b6f19ea2e8c6c7aa0dc4d1931999281452454ac8a949053c579fac3af8dd9c273929260ec56051b1275a20e4b805e80795372589df5c59aa6534ad54bbb2fbb6760064929dac1715ab52e56a4b82b2527b10a9a090f145150762bb8ebcb99611041e359b3a3b9176b9a278a09bda5516fa3f649e5fc493d241d05141f31e811ac65237eeac06951a6dfb4037a10cb9a8a98ffbeb2eb494033031e1e0c2e6af56447ef6e85406b87cc35c86b8aac39ab1e5a
+Secret Key: 328c93159a05e227bc8ff1288cdbac2195a38375ad148609abfc406ee76793e46d258a24a4937062772977d43e2c7b09dfeac137ec5849d7bb53aba823241b1fb906f7b242512298d337429e2118fcb9ad64e11281a97b933258b4a427ff7bcf61e2104df5418bfcb9ab6a647a814f23b21bd321ba8ea7afc7c14eef8c99d868be8a4a738895aeae1b7a77bab42a774e0ce216d3014fba6152b69085a9404d82a1436a9967f27c26a1ab04be5382bb238a3569910b80ace03b40a5e504f2347bd0c913ee990abbc149d029666c6b1877b885267467401251c07946359091c4062cb3c7aa704a0f357c97eb43c490b345d9d4945d2808b405041fd0c9c74c58d68bbfbc2b4e24725e1bc8822edb72557ca7e799992271a0a3996c3cb1503f0bbf87c83595a06be5959a6a6c73e4076041fb59da6705e28482a3d1aaf9d4a6803bb8ddba9d78b7cce3699b77f3361eda7148a0238da259ae565081209854073f3675568ed49c8099ad8fe235f6d996db866ff1087b22b3c42216a8c394c86f4cbed463568b017d01f087cb1758d9e40be7820e849316bec9bd69737f1ad904bc70b89772ba4c106f4772890c454def76cb1fd23a02c26faecb5d2783c98bacccddd52720538c7696a9c9bc6dc319502c76166c8409d0787f80bbb820780ef445b922118eb6095bdbe8b613a192ca8a94f15305f5956a364b6157b66f9eda396a6b866e7b56e913650247c47ad22d84f7cae9428c8a15c0963026943317c5927287316ca0c661172c1547863ee841821bdba6660b79b584b7886b39297950f94542c42c100be9b0f6417a9442b8357926ff0694a4fb9a7fe03bd9f85d79e9ce59820cbbb1bda23aabfae48b327a5357216dc9f675bb7a20a317ac981ac060c417d4664b62774ba519c48751133c850fdf115e749bc5bf6c1151dc5773e41b75189e14b6573f78a7f2b787eb76277ed1455e178cd3581ad5362fb993a85d2696c186b0137208e7948d3ac745ab9956a4d7ba7fe988723107a8b2379f56a49fa25460a258e6c49d167a309d0c5c3632c4e865a4c4e15ca4670aaf4cba2369a9a838356b9c6b06e317f8c8cabb939b13d1233b53a4a3494e60284c2bb631bb779a8661ab1903359144009f3aa1960a33354536c61948a556b63cd954e0e6bce2381e67f1c593d7304a0540626b5b61420fb2e17ea0980181778242246ab295081ce8c16a1ca4b9e796abb579cc233dfce22ee290caf416322997c80d3096099c75976b429884c0385a41d3cba496617d5336751c182146268a45239624d99d59fcad73910667ac6c9903c018b183650274de76baf441be14599d58347e79b1a9dfd4a45cb52980db27298432b6449f27370ddb19af66a9003f5908dab35c22d5b1fb191764db820d80187af358373918725aa590308d9a25526cf17e09671500090b6941ca28c8775b47a83ee04e60629777337e1900598b1540a5f75765085e2b4cab7a394d668764a16181b421b3c2fc7eb8e619d65202ae96b0bad972bb123f5171c9c21993aea4c4b82c8f8311c4bcc3707a3199912c1e0ea8717522593618698d40a2dd253c4ee81ab5b84e3af1c857a13cce3b923b619357b7a49f571675b2987b6b5a53e71c7952c5d7e02237457d5a719370a51b79e35399883016412550f43417d552a33747d7155d61517a07b8ace6f0a052ec0e28c304cee6573a2a3ae6890831b3707956afb49075439237c1736d696b4e734335f2203110c72666d22bf0785f632549b7eb87d87c8fcbb099709a2d9b928230ec0d0f2c65492101c1148709797c1e002b8d498ce9b98b58bbc2b9d05d74788c33470c3d759c345c7018811affb5107ca27a05ccb2b517a4b7536247d350d4f02d2bc9ab78b7ae2f15145e99abb846b77b62ba7ae531da734834e88d023bb981d708c7623ade5cb62bf69beae1c0924b5b9e74bb91b5c20f99472eb2844a06670303a9c2b0604c0603b9f5b4ee98460d76b718615736a8adf64427bb3b2c3ca246eab58412aaa0352a4fa9048a50e6167bf807357a2a45f31ee0c168e584cbfa9677c2510dce0a5ea58c135562b3665305c408a91b572f68e382c5c387d38cb46e569d890140430613f7e2b8cf605032f1804c967f13937e2944ca4afc58f6266da2f73dd751be4189b578b34df29b9b518bbc5cd1cd0ec99a31a4aa073a7a6242630af6ad491c1b571a6e1b553a640bb144aa6938f285ffb35da59707d752a553b72a4d2062fd16a589c25c28b89a51867d726855da369d421090cb5479ca55cd8e99bad54aa7cba59d771705a0584042344491d0691cfbc4329c73df4432d1d70a755c606f96646505b89ee5c74c813a658c6688116dd70732142635c835b6f4371e61297692544fedaa89404a44fd29ca1949ad3bf722f5f76b29a4ae8c090379a0bb1001151746bfd08105282b30c5532bfe235905e8157f5a83a8a3863d213124006ccc0625b89b03bf9399c431a2de6a49b2e62a1e154b3dd909d949bbe2169ce65422702c2d9fbc3d6dc355010abde6283258d78c4890704f2402636428cad643d089695bab0b83a0210df72ab3bb4d982a37ecc005ce55357cfc946c23c4c001aa2dd5923e59589b4449cbec7eea1b88a0365f8a77724bb034bd53206b98ca24f006f19a1d7e6b6b9dcb2ceb91054de572387b485e27399769b767988b0c961cec7772ecdcbc62fc104b2a9afd04c9f4e944acd6155f19162a349927d371715029f6aa583afb23b6ab2bb14893b02c58e5981fd68022ca74a2be0a6e3349a12f663849d91b63b87ca7a53f1413623e4710e51aaaea362d2e1ca4a41bae4f85475d20ba12342645292162caae6180a12b775b8a724afc57a5043281153681adc76bdde503bff33ff01449ca15bad940475ac48e12d9cac34828febb8c42e01ad8c88e0bf569deab5876e36bb93b898e5c691e3b298a799432a19e5736150253b2b982a42df95e917b4291978e6501cb4540cdaf0522ccb46a7067c44298124ae5502df42755b4197009b7c67340e335c05a961ea7b29a44e20404848690215665130822315c8bdc3b72a7698b752ae8c14ead9040e081b46bb6b7129971e1d258a384abc8cac9c6a0485be57e66b500d4ec5699a88e92ca41635258d5292e3fe87cfe89b437210d8b8175293373dcfbbc43778dfcec43cd724e94f64fd272717ec0b329163b6386163587cba61136e03bcb80201d0fc1824942a7cde0ca6ebb0db0466e2224bf8ae74fa9f09b465a440627a5eb281b2fe86eacc099b1265d4f9a877a83415297599b3b28a53335a2b8a81c097b975596e29b4569db834cac350af848d7ca8a0b70b03f69adf2ba436e6c45f06a19325a1a91f1cd39e785efbb43b2988c836a5f97836f9af04317e7062d864fc4468d788ca8859c5f11268b79a601e4dc00df63cb72b041f99b31e9412802cc713d5703a553a57f0ac3e7f05753f28337576b1eb9331101b59ae8131af416f9e683b70336ae8811c9856982e2548a498848932d9ffc5270a3c4a0c43eab372992c270b1577ddb1873b4bcb99caa60d6d36f04c7c22854598888169f2639016a0e50f73d38d695f2b5659ed1862440bd2d313350c7992e2284eeb3c0950bcbf4e1aebc9311faa64d2f8246352aacfe990e19170b535757b3a33d52353d41028de22ab60070c053672a95092e7461a1f5502a4dab7e58227aabf52ec4d6a87c780630b16cc51baedcc235f5a8225c5a61de058111eb8f9432a49b9c4d6383905077600de23b2faa17f8048de8d16513065e65c9c20b9c0d87ca95ee5520d4186edb04cc161729b30060749468a09c190f690d65c86030401012d56c6cab71f282880518c2dd71c98f30bfc678cb8e098a92d7880163cb481583ea208504f13b8984515190631918bc9a61ac6706beea8b954dd7289845561bb062681b3c8fd922d2e8a97b449f018c99fd88355690142c128b74593047e2ac38a727c4c067d5d03c5898c53559838a9333744a50511506417353f6674c80610e0a416b1691411fb36170eb0ade0c9bbfb6c0e5c8586509b093d10b53db5366194d16d34360e744c2b880a4192c17b7815972a5acccb10ad3b33626b59ff194f27486c3089c09c763e09b6f19ea2e8c6c7aa0dc4d1931999281452454ac8a949053c579fac3af8dd9c273929260ec56051b1275a20e4b805e80795372589df5c59aa6534ad54bbb2fbb6760064929dac1715ab52e56a4b82b2527b10a9a090f145150762bb8ebcb99611041e359b3a3b9176b9a278a09bda5516fa3f649e5fc493d241d05141f31e811ac65237eeac06951a6dfb4037a10cb9a8a98ffbeb2eb494033031e1e0c2e6af56447ef6e85406b87cc35c86b8aac39ab1e5af7a16095c383912b155c2f3e6d3f86a3673811d50bc16e4d5cd08df4a115697fdeef3ddee4fe4a1938ef4bb1917301cfe1850e04c90938e4455fb1513d8a18c6
+8a4dbe45cd8090c5eaa0bb07865c2c82314a4fbdcba8b1ac0ad4d9702effc561
+Ciphertext: 635a67cc6353dbe111961f1116368bf5345bd5253c2c7751dae5e51184d89ffbad0ef79f6b812fb94b841b747cbb992212d6bb2ea538c8be9f56c0bb154da4de2f9bc5e9fb8c2171a65f91ff2c081652aa34a3c680ec8c9a4ef0abdcf4fafc61733d382023269ba296dd2131e82c0442e756c83e7a5579af45ec6193ffb8eb85a680b28ede7e012db20fb292ad4b9d80d6c41b87f0926ea082eb50a6e5b984481a322626765f8b94d0364c4a50219636e617c49e2a4911c58cc9744b8ed539d21eddf41acce9f6aa8167d0a380b43dfa624f43e39af96166c374b2ee3439d480819eaf3efb6656d7b10a63f60b7095e7728c2ce632d547673a1ffa580c2881e2e64ed4176b00d869c50026a89b949f2044e14d56472a70e8e05e7ea572ce998f7abc8f742f9ca1c3ab817a1a86ab2eac86b525d7fee24f98ba1d310cfa78c3c709a9885ef94af634a5447e0f464f309b7abdc35210ce0c7403578960b60b8af4e28f3c997de576e9a026247f3b93f2c8d329e71d8fa27e0266d76aaaba33871ea6c32c5b7ac7cee155c6d3d9140d3e8af4cb2cffa42bc9c759977aa75d3e3994445fce11e286d9bf721d072ac2ed83ae566e7fe8c0c22b1433fccf6b042095bbe51ce74aca3d3a11a47f37b3cb7cbef59c8c9a5acb0bc7b0786a9fee56dbbb6a240155658b55a4ca2c680fdb99f3ba7e77386bc07534811930a5015bcb65e88e8d62092ed930b3a6ce7b72953d846598dd40e12cb39c954e117e2f6d0cabfbb7de971048ec2a84b8bdda6c2fc46b145b89753b86b808ccf041662deee804e63333ef5ea5b297d1124bfb533f6de455a8e9523d75380c1669ba5de67aab3e16b92ef04e5c65061f3d16df8f56b32ea4c531a16d6ba6dfadc0c587830bd1ad785d26483da41dfc016e0859e7160b30470ac2b7620760be2f7171af243488d21eba8fe919225a0f35ed9c4856a10ed945c44d30d53cbc787e0b8c0c61c57bbefb905dd006e9a768c4b28d66b7be5785470bce0790d72d98541ff937204446e7311345e7717287698fc9a74ad4b7dfdaf00b1c98d13cc52174c5ae32fa20dbf50cc73a4ff11154a8c797cf7b4bf13d61c1a2315be2f102bf2cd2f6bc6cd6cb4d78f7049a0d194f0485db38eed3d330fe0e3025707ef25ba06f329c3675df5281842494822f6562d6328e3666ac7caeca07794b7c881d5c0dd0bc476f73e7a7914153c1995c89d6d67f4e2b962c79483de2cf3e58b915e373f14afa9e2f9afbbc7c3611d02df58d5d6a29aa271d2b40548c5b7a6967458c3e5890544b3f26ddca0cc6788331cbb84528a190bd77a84f88c970be537af62428a3d1d99903b243aebbb2d51766303b8c2adec8bcf8faadc07a36747472adf67e011f732d55a5c9de8353089c0784e63c7b80ab95983e0b49493dbc0ff4eb9a05716855e485c8e3977c6e60cf0fa3f0f221a1ffe74f682fce34f01ef4ebbd91c461f393d4c7398e73d2dd34bfda8f9695c10a55730c8470941a9f4eb059a4bf7bd7714f18d0f4bb558784e613c3d3c2607c7059bb7983c44782f08f2e10037c6954f8377e4aeede350ee87f94aabf75cae8ca089ebcf5867da985544f0dec6885137e0361c310e8d2a82e8b6e18fcf271ef86ffffe1a3a867e308b0fb8cd0d4c39e5f109e4f44dfd8cb58815406cf3ce8190ca5825f37d2b0573f2e2797a83d6d6b1ae1c5c8e3dcce31b5067a059ccc6223348e799fcb99af8fb38bfafd695d1ae0cc5279a9adc0083becef6751f4e79d5171c54c410a4d2e9f9e4cec94d396a960c76a962bf9d6b712b0c4666c886eb790b4d4be29cd79a5f624a3d801c934515c49e525e333516fcceab9f3548ac0f5ce4df3541cede1f137c46e377846f02431eac9e3a42f54f73fd5da9e77d9944a2422acb04b21c34e28c3a283fa4bdeef585a6dd932b9399fb92876af20ce1248a48dd6fd1f63d4fbbf138ea426bc6637e23b5da4f47dfabe03af03c97f4995a1b219bdfa2df5377f9e909338b44e09efbdb9531831a854bec29e8725c3d05f6499bd178778e0cbeb4de65eaf58043a8a4097e64a54761228afaf7598d278a87e2087fae0e58bc44d899ff7105af564266a22a13525ea9fe33b11aed4a0187bcaa80b4064fb643a23f797f27959ac0da78aeabf849bcc4a163e813bd18de0d2d1a47e1b1734b62fbf72185476897940f4383b218b9c8339387e5c
+Shared Secret B: fe6082af791a05a116659a11260564bac2cfb970ac90e025a7e29d61448c70ab
+Shared Secret A: fe6082af791a05a116659a11260564bac2cfb970ac90e025a7e29d61448c70ab
+3e06d8a296c66a8c911449875d65d7981c82335ec79089d5eff16919f93bb3c0834157bd5cac7d51025d9b0c52ec5a9574cddea7b5ee56b51e32d4b518b44f2f005c6fa44c7529f20240e8a0e44a67d72f36a1d2072bee3bba2e77321113ab7ffab2e69af2c69888ab0e2234d07874088faba3843c796d1733b33fe03964313242a95372cff3dec7863c05565b3a10f8ab9a380567d82873b1d72121b7b4d991a2fa4847823661b7acf46ee10e3fff107b70a48caf884238f437ade961defe52096f5cac4d05e8297d3444e408f1dbd7a1bc4bc7743059cfb6cdd0b986ea199448ce8e1670e5cfc34ae646fbef4cdad25fbd3f1baffd8ffe42aa96de11e35981bed96dfc82bf421f460f88926dbb37ad402257dd813a38b7c4c8ba90772f87bde81c042f6e5426a2e3eb717ef4f8e2ddc883920915a585e17e10f32ab43eaa7de5a8b0f0e9ff3df0c071b7524406ab58063335327bb3843c16750c0fa86127b15f698747c68fc56f39be4958ab180c50ef63aa5536c58e6e8ec66aec224843a5daaf0aff417a2a0b068a9fd413a028fd0940f93d0f406dd550c3aaa31ab1142c376645e152ad6ae4cdafa83395fed3c775e0b599af62b338893f1e83b2243295d613fb2efef4e413a65b6c8861094169994fc99bcf26f35a27953fb1e5bf265e77a33e01a97d628b5add7252701f1ac4b8b2f3332a17c613391230a9c587bbab2c64035582eee1b9d987d658446f66f3c451c5a4c6ef50f5e9265c1d5b9f3e2ad3457a87dc89912d33fd971b87d7851fb9e76783991ff9fe020af9a6c3d659e4e666b61e78511151dfa3de90adf758745182d3aa439f0e178e18091d35c40d529c559fabdc472286e11a0750f9371b4370b06af7c3bd49948b396a408a3a6831d9273cd534e2d26dbe807b2283cc61e63e91c4e0e618ca0c4af371838edec0d835aae368de2eb582f90483116db2753e868c6ba1de6beea69b52bd938a6afb54297de68662833c1d528b9d10c874d43f67bb247112c769ad5284f1fae8ac7c33455808d75b3c900dcc2e065e14e887a25213fc15efa338b72eaee2fdc13abc8de370a8c16434e215bc3169acb091d9e3b5d4d886547217435ba3fe667eb9d57b4533bddbc03458dcf0885c22287c8663585b80fb548101d26476746d72f804ef0d44e4bf5e61d461d5503d3a7f5b3d01d9d9dbcea43eaca46825dd781f603ebddc931079ac0f8a94a19754780d16a457b7af3394c82e1d4ab662d7421e5bb1c51705107039830c6652897631c215fe4e0df49435a7410f66e1ee671a3c9ea0bdb2bfc7b2a64d25b4f5752e3af70b0a0f038521f8017711b8a98d04171d20b22fa88f56ddb6e902abe88a05335d3cf5ee504ee38a22d784049ab54a24c9fb3cec8fb3a7508db718e04b6bcaade48dace4bcd426d24b7cb2691fa906e6e8c5f86b28a4f3243fabdd79612eb6173de1e205fceee18b3fc640ba36612ae6331d1b483985e15147d2e025628a11172df7fc07329ec85c873a28db927683cb6c477de6142deb757c817ed2fb03f62ab9c3901be16eec2e1c249ee1cdf7fe24d94668db6f540d2faca9d5fc8ad17e284c8d52aa1931efebe31fe5787571716efe8ce1edf34ab60c9ea5211657c77f301af247affaeef7ad0259c6373f21460a46b4fe7b2823ce053813fe242816afd5c2f9acb5a6898858727363b0c6dabd2e5e08c074d9558378bbb517b4e61ee3a94dd4a45193a06f50183b7aa417b0a0c5ddaf38321bec5d8445ddc352c09948de14e2e083226dd08919de3ba1e4b3c8fc6d52cc517659ba83faacabda849d3296a05861cfde26ab1023a6a70af8d9e2605612da4ab5d9eedda1b6d8b36933c28fb7d61de40521a4c071e0143a09703e951686197b004e5f960ceb35e50933a5b332ef707a64406748cd731ac635e3ed79652742c3223257eff5c34407efc00e05be558f8355d34801bfff053660cdd6613befb2b9e2e4ee449fd561266a136a48361e6dfa9aae1df0c20ec9143328e4ee6f3a161a26c417c05ea5d3aed32c222e1f81a5d01828e5d8e98ef3845f966964ab8f762f2538219f1ef58058b2985b63fa30a50d715e9ca65005df24c0b83dc6f63d316a3ebb8426f80d6a6d3561cbbffdf7c6ccd3877995f75df6aa61784bc3b2c070af999cda0f9d9a5f09460aab7a1396c9f67f5e2207cdfcf916c07ccc26ffb0bdcf
+Pseudorandom shared Secret A: c8c4e9a18789967fc2ca8ab83515abbf7f05389b8f493e958b856944e568d4b2
+cb3749f86d34ef412ccb34e75570734dd6b51226e45c647f0849f703e898b09f2eb4d0911a87ecf849fa515ef1a4e7e7567172bf9a667b7de1dcd6c7b041eecd
+Public Key: 33db83884269eb092d9e343b633a7081b1b727a134b2b606507198106ba36e89ae17eb3b6b32afc3f4ac6e12a37d1c3180845918db5532c73d5598599181283c7521b08714fa8b64d924045d95434b29500a475185927b38774f7823c0b2f415fe5c5c64eba05de236b7414d1c3b2ccfa0a0a74191f3cc2b07a036443c7b8eb898beb316d1126960c192f39940c4c91219f5a816dbab48eb36d66136ee4bac8f05adc193c09d5c082eea468acc4931aa3ec1e51a74c32897b6b55e09308fcc967dc78f1509706085796db32b16bc5d6f24592ea95185b90a34c83d55fb9a5a20048d541984642080ba09c0b3c566d554ae4c2a7ac2bf7462caa2eb9d7b31184ee65c73b9382a7386749b5102b2c56d57bc3f4a4ee6e20ddd5cc5c1d8b50a023b9cca3bda14187ce3bace06a4a047bc98da01a55847ef6096a6ec5ad162aa3fecb8250803ea9043def196173a4e7aca4bf6b00fa2b657ea83aab349966bb0ce6199b1346b5ab207b1b428b6984c987a3784ad328bce1c4b53116f18b3c1959a7d5f54ba8306ceaed5233b2935741a4da02b5975e9068b782563a00e76319958d7791ee48bc4f1ce4c64b9a015b459f5772d26bdb41b7bd3cb22d2599304c2cf0ae5afee8388cf04526732014676ad90d63dbae38d00c65b49863386725242b4c2e0e7866c44330e4375e6f0a3e3607e661b99721442a3f852e43a01ce55962bb9bfed5b0e26abba7af91ded9a3192c287459c9de1c2cc20349122d87320780046e08f7a8090312335a9fa65d5785c44ba6c6fc04d4c8c9207664686f8c7b8f731bdf52dabb5addb21a289548e3a5b584fb5c6911a478fd2c0d7a0be7f3b9f25698b78b0565093c24490792ee01f8144905b26190ea9cc9c885c7a108c6d764403c13d82d56b1ffa866345552cf93116fab696c3b858ec32dd098a495539640bbf5adb386da67f9be14bda9c179bfb5b4ebc6b559b8b5a4309268592f5046684847c1a2a4e463626228361b9199b6b4705d9d9a8ce841795a326a9a56c9deba5a7231ab385869375b76a604223793ec29abdf03480997154ac6b0f88570eed4ccbbf92810c28288234074f5c3a60ea090dd592e91aaa79d707b09b191ae837d003bb3f0c1122c61912e3049491386b6b7fe8006f70b782efb42017004cf298763984bcbaa128d1e95ea1308e4d8022e3e0aec2ab7ab963acfd312bc2cb43bd8819fcf171e47c44d8c646b9704524d2b14141c1f548ca16fc3225f63598d7c5a7788503a362d9a87e9540c837d556d3f4a044d180076bb454b08a04c3278b185ed557935c84ca24e50969e5adf9443b77dcc583510085744caa413914451f6d8705d8038de5163071176896e963e4dc159362c28331045e0941d199bd0920b16795adba09a51a88a040281520a56a7533a34d874cf34c485c89741846598f7b8c85bb0d88cb042d67aef55325b8255f822a3e74549c74426bd8bbc64fa6057f39848a3b4f89fac3ebd349cb8759da207bd30884b34865c65a0b0cb59dde701d25155916c6c276422ddba113867494e9cc4c21486d59b78bdbf2972de2b8d3e611fcd886c384102f24b48d67cabc1baea68aaf76531e62d3bc86597015a11e3e41181e27c54ab10e28c7c44a3b4dae4b5cab2b1914a504b883448be267a2438614d130da129dad64aa1fdb92ba9b35bd11593c871c9418cacbe686553749616c92ac242faac854dfec0c50830fb3315594b60296cc4aac29ab8e7b930f16379327463bf2be86f297bf162dbc24312b91882a8247cd474ba1a5bcad823b00fc868b516476903c947968ac9b825a68661fb699e4a18dc7bb7663b05012c8bf12007dbb42a663447362f9ba98ba9141f42ece73ac37d80aa9757d055772b355592687475850006c92ad1e77a2fa6a3717304b6ad4c14956a85094798b005312545303a459bc64cf14682340690826e05b8c15a91678acecd43ae1c37b207a43a0d88dce060ab9c32558a3841fd240c3042e2cf00c11c4208168065465162bdcbdb48668eb920c7591b0da89c8585b8cfee67c82987534f401f0c9a1a6e33155f70c3e607dc4a33cdb34420688939341bd7b93c794a859c2169c7df5cce62a3a3a26ac6242c65bf97638cb4cf65b9f99c46f181282a50aa382f970ffd6832dd567b4e3ae1a78d26fe6d9585fd2b74562d7b9622cfa6fb4be4b3b935b8beb7f250349846c
+Secret Key: 2a182f9d5c0927d9a8589116bc6b6ef85597c8b45911c758f8ea54b7d94688331f50352bcbd3b612564ca35086fedcb6a4709304d74290a2b3d28b1a010ac36fd581fec0c405864477b32beb6165d696be953931b7358bb158186c82ba81838bc6c7799bfb7c3f8c3079db706e7b56bec69f74c2b4011218d3bc5bc0c0cb003bb0f1c696035a8b2f8419e6a5454f37239f7932cbe935ece4ca6d0b22d2c809ad1912556525c2256704f53b4c195fbb8306ef1119f5273c9cc61ea886c97a5a0f3323a988732c904b2dcbe2729e718bdee68668e26442269efbe82a52aa46e86791480858d315b842e37f7a97a140749534c62282f85e2c93cbb75b2f0b15cdb4e34321309cb679497f164ab380133b0260c4892f98f75256e5c28d0c2d1350a7fe86c615c8a1d2c5a1b72a342ab792e4338d854646676a6cd231ad2675819195813071340bd5c779f167cf8b338735152a93307976640b78215363005e6a9acb373ace447a8c6142af661aee986908c72640e1882a772cfb1c9ab6a6163ba9381629b872662d18595b82353f769b9edb78518ba306a36b2ee167a0014a307494621cfc2284d122bb680f7825cc5a751cf6a4088408966e219323e7c24615a3e2696d87c563480394f6bc66d5077cdee2aadbf77ac750c43660b07f1ca9cb3899c639ba2016157cf04da9741426178725f3175f7811f3973d324c179be38609a0b98bb93d02323c72acc61257939cf82bdd29c122d95ac00b7e07b7ce4a3ba237f3bef876640a1bb55b198088176b4e85c09e7221d4551a77eb5a97544fcc20b68afc5c3684668da0cd5af1b8770714e5f35ef1c216025b97af3cc2a80a69e99532b5550ae1a430e84a0ae0501c15bb44ab7987694c4886f958cfdc416528a0f1566d5a0c01133b2d1fc87d5cf0515d876fd7e41dec5881d6aa6d12ba1c9b966cd2cab19710a3474c1a2d387cd1e114b23387e6f23e2a8409d8a163e1421a1095ad83624b4c868dd47ac40fe396f086a453d68be7009e8dc75380a14cb32605cee3a49fb638a80c6dac6ba362fa98f76319c8f00a7d8c11b0d61e94654e766040145670de04a456d9498ec66ce3bb85348b098c18c7c1d7538c2b289b583d0c605d62f428f1d3a25d8410fac80cf228c2d16b1474e68269f729e5218d2062517ba265b3e3842ffc7c3030840b309ca12c73dca223fde37164938a29538684b0b64d70b36a34c826b8cee740b9b5fa1c75144fb0e881f4bca60f31639e011f499b5d25d0424377a349a3ad09db75d6638063b199103654e24387eeb0a45ea66667d0a102910d0d3879f7b359aca98cd8d3a2e0da677d50b39781ba56c57ce93111bdb9a1cc595f90070c5ce9cddef86e72212fed1154e3740dd2f04ebdb356249506e94c46c86a058d44882bb45ad615526033474e236c1c43961b69b28f4092b88a7fb882abf9b35c01e16ba0d78b9973a658fb5f706b2231eb41b903a347f434e2670c6bc67baf5028eaf8b401c170b8e17e4c0b09b882caffe5c5b162bebf78cb1f3575109799da80bc46499a282c197efcc993e159d881bee6817cde3615e3323afdd4a558ba36fcc89398951d0418014df96754351dd4c396add4753d26b5c8dab04733007479ae593c4864429534988200dd840f5a2b5fc6a7b174121f3a68087482c0aa139bf6b9beb64548f9b0dde54a18478579cb1b7cea511624c77b9a0ed3e5886e4b5a60f1021f8072aa4c33cbd1105e60988516135d3b0867a276cd2bbfe26541f1e7b28338c3d48844e9924b4e1b57826c18333347f6b624b09b7dd65231717942078169ec57562b33a880f45d63891bae071ae2c31b6cc7b2580144a3c358a6395042019158e154ea7067349b51fcd18d2df7017597ad4aa67cc706beef5b566113b00c8714cca1a681f2446d83a2e5da726b373fe58a0670a79eb5d70ed0f90e597a060ed4b0e2f07c5058b07cf41f421127987691d90985b155c59e1a9cf6eb30b359b3cce9b5bf349286fc6fca4c1e9823cc8df9328c00c4d32322db3a0da7433ec34ab642d75aebf18f28c66c5265a36013927ca8cc245b126a8c429eea162910b706f7bff6c7a35cdab68c79c223679ad62b3232f76d1a651f2cb27177a9263888aabf4b3b960bbcd20a6c88246d42671007caae075c0033db83884269eb092d9e343b633a7081b1b727a134b2b606507198106ba36e89ae17eb3b6b32afc3f4ac6e12a37d1c3180845918db5532c73d5598599181283c7521b08714fa8b64d924045d95434b29500a475185927b38774f7823c0b2f415fe5c5c64eba05de236b7414d1c3b2ccfa0a0a74191f3cc2b07a036443c7b8eb898beb316d1126960c192f39940c4c91219f5a816dbab48eb36d66136ee4bac8f05adc193c09d5c082eea468acc4931aa3ec1e51a74c32897b6b55e09308fcc967dc78f1509706085796db32b16bc5d6f24592ea95185b90a34c83d55fb9a5a20048d541984642080ba09c0b3c566d554ae4c2a7ac2bf7462caa2eb9d7b31184ee65c73b9382a7386749b5102b2c56d57bc3f4a4ee6e20ddd5cc5c1d8b50a023b9cca3bda14187ce3bace06a4a047bc98da01a55847ef6096a6ec5ad162aa3fecb8250803ea9043def196173a4e7aca4bf6b00fa2b657ea83aab349966bb0ce6199b1346b5ab207b1b428b6984c987a3784ad328bce1c4b53116f18b3c1959a7d5f54ba8306ceaed5233b2935741a4da02b5975e9068b782563a00e76319958d7791ee48bc4f1ce4c64b9a015b459f5772d26bdb41b7bd3cb22d2599304c2cf0ae5afee8388cf04526732014676ad90d63dbae38d00c65b49863386725242b4c2e0e7866c44330e4375e6f0a3e3607e661b99721442a3f852e43a01ce55962bb9bfed5b0e26abba7af91ded9a3192c287459c9de1c2cc20349122d87320780046e08f7a8090312335a9fa65d5785c44ba6c6fc04d4c8c9207664686f8c7b8f731bdf52dabb5addb21a289548e3a5b584fb5c6911a478fd2c0d7a0be7f3b9f25698b78b0565093c24490792ee01f8144905b26190ea9cc9c885c7a108c6d764403c13d82d56b1ffa866345552cf93116fab696c3b858ec32dd098a495539640bbf5adb386da67f9be14bda9c179bfb5b4ebc6b559b8b5a4309268592f5046684847c1a2a4e463626228361b9199b6b4705d9d9a8ce841795a326a9a56c9deba5a7231ab385869375b76a604223793ec29abdf03480997154ac6b0f88570eed4ccbbf92810c28288234074f5c3a60ea090dd592e91aaa79d707b09b191ae837d003bb3f0c1122c61912e3049491386b6b7fe8006f70b782efb42017004cf298763984bcbaa128d1e95ea1308e4d8022e3e0aec2ab7ab963acfd312bc2cb43bd8819fcf171e47c44d8c646b9704524d2b14141c1f548ca16fc3225f63598d7c5a7788503a362d9a87e9540c837d556d3f4a044d180076bb454b08a04c3278b185ed557935c84ca24e50969e5adf9443b77dcc583510085744caa413914451f6d8705d8038de5163071176896e963e4dc159362c28331045e0941d199bd0920b16795adba09a51a88a040281520a56a7533a34d874cf34c485c89741846598f7b8c85bb0d88cb042d67aef55325b8255f822a3e74549c74426bd8bbc64fa6057f39848a3b4f89fac3ebd349cb8759da207bd30884b34865c65a0b0cb59dde701d25155916c6c276422ddba113867494e9cc4c21486d59b78bdbf2972de2b8d3e611fcd886c384102f24b48d67cabc1baea68aaf76531e62d3bc86597015a11e3e41181e27c54ab10e28c7c44a3b4dae4b5cab2b1914a504b883448be267a2438614d130da129dad64aa1fdb92ba9b35bd11593c871c9418cacbe686553749616c92ac242faac854dfec0c50830fb3315594b60296cc4aac29ab8e7b930f16379327463bf2be86f297bf162dbc24312b91882a8247cd474ba1a5bcad823b00fc868b516476903c947968ac9b825a68661fb699e4a18dc7bb7663b05012c8bf12007dbb42a663447362f9ba98ba9141f42ece73ac37d80aa9757d055772b355592687475850006c92ad1e77a2fa6a3717304b6ad4c14956a85094798b005312545303a459bc64cf14682340690826e05b8c15a91678acecd43ae1c37b207a43a0d88dce060ab9c32558a3841fd240c3042e2cf00c11c4208168065465162bdcbdb48668eb920c7591b0da89c8585b8cfee67c82987534f401f0c9a1a6e33155f70c3e607dc4a33cdb34420688939341bd7b93c794a859c2169c7df5cce62a3a3a26ac6242c65bf97638cb4cf65b9f99c46f181282a50aa382f970ffd6832dd567b4e3ae1a78d26fe6d9585fd2b74562d7b9622cfa6fb4be4b3b935b8beb7f250349846cccde553386cd5c5be4666f80c781fc81d6fff50e74eaeff3beaeb5bccdf8dc782eb4d0911a87ecf849fa515ef1a4e7e7567172bf9a667b7de1dcd6c7b041eecd
+1267423af0c106e0362f1466267dd0912e8467116af43d9ec98bd7f306860c3e
+Ciphertext: 876c118ea6377ed8e378d6241f761dc69b0754f189324708b6c10fc4b3fb4ed596acd6ce97ed6460069abf6f184c6539ccad8d7bde32b07a504b273c6bd0c5d9b2b215d095b3fd9f3eb9915c6a6b4ebdc6a159f892c06952ae6918c6e10eb27e3d02a7aa05b9bcd0379514a4ba93a62d5b760f93529238ca335ee77f95628cdc81e179cd820e6e51487d2dfd1e9acb22198dbdfb882eb77e2fd0600265e0bfdea591458f75f08d427d21c33d60fe4b74ae3f4ece95955ae2fea4706d82f14d8a34669e5935005e90014778f3a47007c46bfa3cf8bdcf2c86c7a0d59938e7863ce2f9a6de90dfe5fca8cac12b32c15bd70f3353ceefaa52c4620c30510e3eff690ed89151e2caea399c9b18617e6aac06d8deed0fdc8c7a3ff2f77b938ce898031255205054dad223a37d2293c7dd1d97a964ac8336008ec841d889597fc1fc1368ea5860f6918b4788201ea23cfda8d4385f929ad349fd395d2a02be2644a56651ebd926725b4f6a1452eee4e4659f9057f6642f7c621a56509b9428747d2df927fedd4d5b8af806da8e5fa6ff51c5b27ecd1fedfdb6b7eb4c3b2bdccf45ddfb7666bb2202afbdd2c35e5ee575a73c04d98903a17b170fef98d8c21a2013618a289499a66d4da17c0921bfbba3df7668677ef415d5c31464e58787616bccefff05a1916bc7868160fc3ec83f20144e0af886fe36b36e0eccc740290bacc95791e5bc5b1b4f0df33546aa2addcdbec95418f427fc31ca00c9d88c3482214394c1e6f39225708ea6e4192cf23b2c0d84f15353e050beb769c889670695c5264475c425bad6ae9dd6976a6056bf4bf138931fbb7712eec294758596c439fa0bd3dc7ceed3f25ae4b6409fb7bb071a58fc0ace764bc9818efa958bb6e179d7ae14f3bb632f3053c1f9c1716aecdbc6ec3ad94a4a53ae590b327a71fc2b5a90b7394abcca241101e3d70036294a83ff08f0a9ee5edd1438deb5f45ff14967908984c2f88dcb6233ea907b6314ca120b9015f09a7215e293c03f44884878e745942f69b59ca7080a7f88f1bdea06a0937e3a4642d99666bb1eccbe783d8940fb350966dd488c9d5c6bd3593d5bc49e6c4e7e5885729faad3a8e04fa6a4d31bfcfed7606f71cb99b98047172460a67e9c20571590eecd2784f354cbc4a064acb56114f51d5ce6ed3e4517868884da53f9f1aeb647cd1e70e880a7cc14b5bfd29c3e305fbeab8bc5dba80b6f3823a4ad8d7a92ff23a8e6a91d6d272c20c17c6b17851f40034173036b52b1ee615fa53daa5b7d00ce0aac48c8c372d90ce4ec451860b56933a0af012601362153e16f35b653b8b908c48051983459440366dfe8f5a2749fd860ca2315a5126967a23b473b62bcd9e8023ca9e825e59d07567b525552e95d6c2855babf560864cc119992eaade06e26a43839bc1f236fd475f75e98f6751d5bf8afc125ca2eb7c0af6966319a2f4e02817007095c07129334992212e7414a8fd82ae9fe0324d5e5a0483afb061da270eb4eaeea62680231f726d59d697a8b7095166f23fa3acf7abe35dada82de0320020727d428c72b139defcff4a73ee465bbcf1d8ff85d158ad3d0b47812195c04f9dd4ea58c04868d91bf7f78d7fd84c287d9add82639095bb69fc852761b8f0a966101d7942f77ba64c9eec9cc8f359cd817211849c5a2ee0133f6f42c88c3e9c951100d75e8a03e2fb420f31880d4f12555deeff16d3d15bf7a522dd1880979550e7f9a58c5c6991632f1abfaf1974ef8565d4b4b257bb7cc122fa4362923b0248642be87a3280ba0991eb638241dd864b832be8c9a9b08458b7fa504b03cc0c9ffe6543e0ae5524da3dba035a36a5731f3a2b309e83add080931fbbe1ba6f3bb984e104555ef6f51db6f79b0f592239c3c9d49e59a354e768e9d7b769df179aeb5306ece6a0dc304f4201c4d2a379766e7091c5f89f4cb2ccca809eb01d362d3967d6954d8f914710eb89a0db5ea483917be8398555d6b5dc30fe8622185ba0f37a4d8a835dc9baa2c0f8b613d385efefb8ca4ccaf53734ab598181da077e6d54c86f2066d8042ae549e64c4bac6a12683e923c0dca47619d720dfcb001a4bfb2bbdc3bd836895284dc66204e43ebc94f5de373ea501cdc3f8dfb78e607d55bb677e4c0453db786a191d3b44061ad970b033dde7bd9fd19fd64742037a3616bdc9f5e511c8dd2e4db3de4621383e
+Shared Secret B: bb660e00b7170e63ef5fd1f1558fa522b5c203db31f1c9d5ea792f0122ac1411
+Shared Secret A: bb660e00b7170e63ef5fd1f1558fa522b5c203db31f1c9d5ea792f0122ac1411
+b310db57069919ae93101274399fc861e15180c50bf7e6b3315f5426d54664bcface0b5016fb8b68faddf77abeb1481ccb96b96c48217716ee95827b22ee08f474663f8814d12d560fbc2f52728856104969e82ec0420d22031bc4dc36618b81ab89423060ad6a5614b8ecf559a7f9cad08c9951497fa834e08eb12a2506e25f0716683a1fb4470d6a607a243a99830d70aede6025ff7b45b0d4184a3b8ad17c4a10c8278dc26e56aa78108cf575d8f4e61c0f1a1314ba7bc301ae1df323e6c14a8da9de6dc54d24acfc5eda5d43c6315ff0b7a4303d416fb82a738b053228534f076d682c3a3cec84d16df29eefad8ad2dceca5aefc5ca7bf0c09658cb1ea91d3bc9d95164da482dcabaa6bbda4eee19f61be2da9a8831c610bd27984407a7c1e35b38d5ace61c5cedf6a6158dd514b314fa1bf51f99056a613a5bae1abdd1f4bc08e46b33d12705731b3f228550df8c1a982032ce234462e47f2fa5c254ead3106b2bcaf7b824860e36eff86a113cfe1ea4189c84b11ce2204ec9820f1686a0a06d6ab6584d4463f80a7e3b126bb59e71da53734ec14690a3414f7e83d78dd2652c90d79fddee9a00e21e5a79a4bc6b0055b9bd516503dd6559ab939947892e2f47a2ca861d7818acdb30b153b400d4698a41d552a7cb80467335f7f230ad7624bb7578aece725d33c29d6d148ef93b863ca8631050ccc40ed584d6e0d887a3f572cd1afbb91acb0088116071e855252f9806a8fdbd1c9f86ad00ccd5c2cf3b1c651dd9db8d70a148c05ea450d5dfabc55c54320a91c6f258e942eaa7d944936cda719dc25f255f8220a610cd5e25d71747b5f19dacabb27bd78858a4febd0e107021aa14bdcc7ad800e995f29e977a984e5d8500eb6d93c43c77788099a93a1aae874b2f2778047b6ca0547170b93953483abff639ec39e579a733bf2c437d737b4b14e2ec9536be0b0e964075b0445d57c6456a8e34cd6864579f664d5f5bd9af69c31b723a5dcd00b6896f420ee9a0357c734d7f9b3c9f4d0fd16c4ccf51e64f57d162db58401eb323a0d145271ab392903306a11e4488ec7da177f80f3345622955fafb12ce4185da1fc74394f38deba3417e7bd0f9eee40677914b2b837f414a9f2817c0007b32657cd81b7ecd755f1ca8180ab9d3768d40ccbb4364e2e7e9abbadf477b527463730de6294f3aab661aa0dd5fa2a12ef4958a903cb330cc34d86f31b7c4a74eb78ef0576fe6204c99904104fe724a09a4b9fdfcccd2f2d2b1622f5ec6588e2d1088f252ebf4ae193760ffaa8537ea3fe6f6a5598c2b32f1b3715ecfada7575aaebcb3d8392b270616100873b0ebe8c509da70a99760b3cec594cc9fb7f97ef7ef3d1623a0fac0ff541a11a450518cbe32e177672c8fe39cc88065964650d7da3ebb2792c088d14897ebd9a536b47b618dda79f4d587112b5ed018e7bc0de0fee8861d8ee70acaa8e18b3db032dfc36bfd040424c3bd551b37cc00295440bbbd5b55a24adab108bf1a0211269910c25b3fb255b2d45fcbdf8023ea2011adf32e7adfea7cb983bf2c242b2d4ef24b592b44302772cdd463996b043f246354b2f4dc70b93248b605776598a63aa3f2652a2600e3a29c4cbf85d97bcc9f0b2238cadff729660e0db64744cb228b46e90d58ccca4f9fe9d3517a624d62ce0e1745433059316e8342fd7db4b45b101d8f7e55aa46a7350a596095cfff29cf70239a4dccdc0c855b7f4786240ea207fe50fad58b297b09640ad401a457ad55e1e4eb9fcd6041daa132e5e96224c4a245d081512c859b3fe1540947894595ce31e5c60b7bb585312535dbddb73319a2676e6a03a802cd9eff5cd4b576c9a5d408b0fc5ec0af1b8dc399e319d14235231c637b32752f7c9b213dacf850f44e79af18094a0598d2ba1942fce0d3af94f5b9b5001e9d9b503243dd65740b7c008ab054874dea600eb69efa57e1d04bb6525bc8442d96b04cee4468c699ce0402d851e6075efb84777b1258de31f463654c6668341c0a13bc8605d74e76041c979ff9de066dc2a4e98c8fc84ae07ca4597ce6a87c92b52a041ba6022bfc009e21c60ac6bdfd97c0040fa53544eed3e5ce48a5e64ad1bb68dda63990c9cb0ff4470429add4475f9230b3e3e2774facb68fc38cdebef625afe64b28e3151eb1c84da00664319230aab240f097b942b5ccbfeb14b5eb67592cf39b32215
+Pseudorandom shared Secret A: bc308755adc1ebdbf6041725296eea7014473dd12717a13ff59c340607edec64
+dc219cd53fc0b3b75e5dfe68276d1c1014be3e9e27b36e885c7cd2215eb4ed122e94c61b53664c8b8a7283ecf9f9b93a8c08bcbb249ec22ab9813c18c06b7c64
+Public Key: 76740f953665cf7994efd72ed187b943538c67b8193f51290998cb43961cd7c749ffa937cc85541db5c6b332210748b5b4e84ec140437a2b6e17605790094fb2c457273c3383e38d23a78ff07c000cb7a5ed25c5640bcb4d57c074ea298399794f3b6a6f870ba87c4395a17a3aa604f3fb6d93d7c98a43a1a5713ba9ac03872a88267394d0ac0248149a0e900f78b300dd7764358c863bf05024a334c10b3734051106eaade7227c6dc60444e732c072208648cebb6b6c0827cba7fa153310c770162fb723b497666f79163c0b592a77d70ead83b14e900d73c88f116516a4fa2077314e836b5e807a2918a7a9a17b171c125ea2531b2ac66a7cf997e4518c96567934fc4841903f163a2e39a6c4cb110732267fc0488d225a866fc26874bcc322905f5c2308f3f209ed89726de0837b686a99656525e229a81b4827da840d44c8e4671842b81290ec432b44b03a06a6cf89ba3d378d473420ef05ac81fcbcc607306d76545c9535b7b34c09ab64134c686123257259251fd950a4069fa62c9282318451688b8b326251a5602f66c797f863aae2adcab0c136f1c394db514727571fe5a25120c0fd7063309ba06a40a6160700a486725754568fdc8b8be462b8ac23fa44a270d1ace66855dbd66c27395f13f62b79f30a9434c51f8ac93945118a9a1103c26ca574aeadf986c60752f0b17d1a78426be1bee97893f2211e204c11a852b906dc4d7bf4b0e17250dd2481b337c68a9333cbb8af59d5368d962708f69b6378af1ba1b8afd42bfd640533e7bdb425a5fae4a82e7413b79497a106ce7c6947fdcb0d3ebb9ffcf5396324603e265d52e5af04917b948200ba648d89779ae0e77ec682c454f7b3c9da163b53905a2401ab89c8fdb196bd7698c77591e7405ea5d1b588205542486e5324887d173d9e61643b4bc2f19c45ec78cad52ac35931467a253a41e861722065c5d23afc3725ebec44c3a524d0a7464dd9696573bfc0673550522e5a932651387f00c78fefa84699128ff84b15b3e678ab4215bd56a19bb4bbf274210eb064b4949fea2c1fa09555e9343db9c57bdec535c8ac079c6aad00382e909c575eab07ae24c3d92b6c31b87747e9bca279a4c77a00f0300617c42d5e3a165789aff22b688d569fdbebba2f235192c013e996607e5c62645b4202da21c7d553067752354c9c0fb5625db30e5ceb2f344828bddb6303e1493d3909ee3c65e1a8a4795b6703b9775734ae481aa947141692c6447aa762850906c162a4e55b30160830c78a17a4d5c9445ab9f2a41e00d50c751514925159f82a15c0875138a62617f35756584bc8f9b98108994c397469370f658a2378412506f90dee961e08607a56f93f21ccab28fa07d9f0a323a3297554830c0214d406519fa53a5baac451c8b96354249bb4b7af466b24f459502674ea83252300b234ca16a7d62eebba2ac2c860c639addd796799f452af6167d4b4525969406dc0bb65420d3e6a5877227f76f17eeb54cef2c69052b45d107190d7bc7bb901b36bfb3ba587abcc95c8db143bbb949b36e7025f6ab929d59e73e15e1587c8b36b9bbbf83ebf7255dcc48238620aadd29b5e9341211a2577d0c0e4786045e264021cafe1b6a132941b570a9b6e402230f680405b1afa781852070a549980efd16ba792a80d621e9bf069a89668ea28c02f6b5fefaa59852449636648d1d643773aa67dec64a72b4b13d5892aa35e6a9c4535152d95574b94582316550d3e4c9488db9ee0e14a1f05a9cac801639207351611d7e8726dc04b2c5c6e23945d0ec5bca56a01e062702a976c985061221c7deff925c82a1d80f05a5cec0049d3cdd0e38f5cd32839d78d4ee05906b83197306d0c986c9725809b251479f9298c718339996cc3a99656a20b6b7926f98cc2e0403a2998bb6c510b749a13a8384c7907083e5b44dd00c8f73aaf916ca844968a9ae16519873502ac557c5b9a7967799d715ea142636408a5750aa45f57a26b249074f1b8dbaaaa5dd30d54a9085d5c535753a5f0e4a6d33b0a72dc31cbfa9902168c68e90c11c13eb5899103207ecd3249138a24474302ee4c56194066dd9819b0527eefd3be3c176be10b93ae8b8ddfca5a42866e4a6a53e735a353651486da3f8fecaa2dd906c8380702061b06f7aedb21979f03295867571f6c99c5c6b987b02311f5120fc9fb130aa61b9b94cd11328742
+Secret Key: e5a6117460af9fab6281c339278c976e319afe125b2d12973618a842bc5a840a265d51b689aa3f401cae76d748c4787b00f7cb8735c1f706461ee720f60173d1c75ada0125946426e0362a65a097fb467de9a56c7e755cea16059bfa0a169c44f7fb34ea648ad295c3f36ca65fb903dea99fc6658099e626c0d41370db9f7ed94fa1c4ab68109779f8566889af2579b8f727aa857b9f68b2023a25b0398b8eb8117abf897d9ff6a0542c81a9b41d31dccbbda2a8fb8b2b17485d31600f4288a45936aa89124b8adaa7f78a51aa8c5f7528b0b8e3954e7b2dbff0819f989629e81d2bd167fe67a0b454b798b514914818b7bb7fda779b498b75deb3abd05420a162783f6613e9266f51e7a24ca32e96c9359ee69ae47b6c7302463676a29d394bdc46cea7433c6b59669f066f92dc17763786b059374eb81e2fc3ca42628ccb3a1af387713b0308f757b732f5859c7953620776195b27da1097c62b172685c50e25733b569d3048b295fca2b2e25fcd860a9263044a474d4e0b7da0f5a606110895e82a2f532fde883b9926a791083a55ab74e0e62d9f42882d63c9d7f93d6e7a8f5f40a665c75640036327da49e615244fd9164ea3a730d2a71798aa066c739556776f132888ac67daf51800063b8b0cc396839b60e46890244034117c78aa40968c5a797aac8724c171686765eab921985d150856c7f930a4432e22aa832d9bbdf8f8bd9e950ebea52cd6914991d5bbc492927d71c24e3c134409a836575a09594067708c135a4cba66ad26d50c2a4a843a3889708a0f0045a6d6eb1206277d50a8bdf1159193c6aea9b60ed9fc482d0a08001d65a3261681502519a86e2e756a3f322d2871600a12298fb92686039aa881223e66952ae3c806772d196611735b2d13da83cf688ee38b9728485621fa55acd590a585146964445a6c159208b7d941c02e7894f8313087477c3d95bc7ea12d36a8692a4610919860751596899a20d536b73047818f41684426088cd084bd35b703879bae028fcf62792a306b83f92363e3ce365b135ab807fa594b013836d8f5aa118978064148e3ca5458f9c6198064b063b94c48c851111721261853da6b6011926c6260d3b55026d3c8c87472b81143ba72bcc9126b36e3402c73aabf0a7ac6b0378f0544dd11201ec90a90f09d80685c8e02ce51021025b1456b507dbd82304a75270d7c16fe007df066324e76365969335ac5a627522056466385e217dca0b0818c47c8145a6fa301e157b351f65505c4a3bfa7688ab71a8522be899562224126fe18b9a983077a081455da187e7348b197269c6b0aa1725321e9755e27441c0a1dbcdb7f5070af975a57add7038016697f23888d932d6b44300421647c71cfe6a276570c42c0b54ecbb423fe44a074a40edaca85f250cbbd73bea7ecbb22fa28afcc2f46c00396222a4633687d012481bc44cb0b24d7b8279f15b5dadb1e1999964781b9f027899b21b34e9c195ce5c2676bbe99d6046b68a7d262a4a740734c16028210a062b47f8934052ee737b3f9470a7bb1de226faef97112f99163095ec8e480b39bb3f64936fbc14058639c543c1bc5b47bc372c5bcf05ab491442ba41410a210cf1ab46b375a049753d9735bfedb7abd32029e00b177207119eb23dd5025edf8cd7d1c64b4a4385e41a779acce187558262145fa28672f28ae2f6036d30663d4414653c2242347b1dd82b5c404739bc3077f38c6abd467bd98a9c1d28eff8a3d5b0a045e121fed1c5c8e5bb58ad729ae9c1dc59cc2d1a410625b75b188ac27f58256505dde944c634682af35abb3c6cbcafc6068303eae328598890b43d62c6b1b825065426b5817cd5bc65eca39f4fc2240b41627e889a2199b4ff682c261ba60b342c4dc9fe8190ef0127e054a72595080e1812dc2d9740d80168e8522cdf76b7938c2971a94a1d3339b709c15f77e05804c6f487a14c5444557094b044d8b394c2f115f8ec94ab5c4b233fcb6d2babca1c4b7292a4a0cd5c9d3213646c86471012899e138cc0b866e1a9d05bb5730166bf306124e98cc313b5137bb3e31b5569db26d84c49f48491691e47c61b88cc6738c84d14d808552252c8703f097e669cc7a7040049c2512898656a08e8bd93f920a5411348be662652d946f96ea1015b4b29c062e76740f953665cf7994efd72ed187b943538c67b8193f51290998cb43961cd7c749ffa937cc85541db5c6b332210748b5b4e84ec140437a2b6e17605790094fb2c457273c3383e38d23a78ff07c000cb7a5ed25c5640bcb4d57c074ea298399794f3b6a6f870ba87c4395a17a3aa604f3fb6d93d7c98a43a1a5713ba9ac03872a88267394d0ac0248149a0e900f78b300dd7764358c863bf05024a334c10b3734051106eaade7227c6dc60444e732c072208648cebb6b6c0827cba7fa153310c770162fb723b497666f79163c0b592a77d70ead83b14e900d73c88f116516a4fa2077314e836b5e807a2918a7a9a17b171c125ea2531b2ac66a7cf997e4518c96567934fc4841903f163a2e39a6c4cb110732267fc0488d225a866fc26874bcc322905f5c2308f3f209ed89726de0837b686a99656525e229a81b4827da840d44c8e4671842b81290ec432b44b03a06a6cf89ba3d378d473420ef05ac81fcbcc607306d76545c9535b7b34c09ab64134c686123257259251fd950a4069fa62c9282318451688b8b326251a5602f66c797f863aae2adcab0c136f1c394db514727571fe5a25120c0fd7063309ba06a40a6160700a486725754568fdc8b8be462b8ac23fa44a270d1ace66855dbd66c27395f13f62b79f30a9434c51f8ac93945118a9a1103c26ca574aeadf986c60752f0b17d1a78426be1bee97893f2211e204c11a852b906dc4d7bf4b0e17250dd2481b337c68a9333cbb8af59d5368d962708f69b6378af1ba1b8afd42bfd640533e7bdb425a5fae4a82e7413b79497a106ce7c6947fdcb0d3ebb9ffcf5396324603e265d52e5af04917b948200ba648d89779ae0e77ec682c454f7b3c9da163b53905a2401ab89c8fdb196bd7698c77591e7405ea5d1b588205542486e5324887d173d9e61643b4bc2f19c45ec78cad52ac35931467a253a41e861722065c5d23afc3725ebec44c3a524d0a7464dd9696573bfc0673550522e5a932651387f00c78fefa84699128ff84b15b3e678ab4215bd56a19bb4bbf274210eb064b4949fea2c1fa09555e9343db9c57bdec535c8ac079c6aad00382e909c575eab07ae24c3d92b6c31b87747e9bca279a4c77a00f0300617c42d5e3a165789aff22b688d569fdbebba2f235192c013e996607e5c62645b4202da21c7d553067752354c9c0fb5625db30e5ceb2f344828bddb6303e1493d3909ee3c65e1a8a4795b6703b9775734ae481aa947141692c6447aa762850906c162a4e55b30160830c78a17a4d5c9445ab9f2a41e00d50c751514925159f82a15c0875138a62617f35756584bc8f9b98108994c397469370f658a2378412506f90dee961e08607a56f93f21ccab28fa07d9f0a323a3297554830c0214d406519fa53a5baac451c8b96354249bb4b7af466b24f459502674ea83252300b234ca16a7d62eebba2ac2c860c639addd796799f452af6167d4b4525969406dc0bb65420d3e6a5877227f76f17eeb54cef2c69052b45d107190d7bc7bb901b36bfb3ba587abcc95c8db143bbb949b36e7025f6ab929d59e73e15e1587c8b36b9bbbf83ebf7255dcc48238620aadd29b5e9341211a2577d0c0e4786045e264021cafe1b6a132941b570a9b6e402230f680405b1afa781852070a549980efd16ba792a80d621e9bf069a89668ea28c02f6b5fefaa59852449636648d1d643773aa67dec64a72b4b13d5892aa35e6a9c4535152d95574b94582316550d3e4c9488db9ee0e14a1f05a9cac801639207351611d7e8726dc04b2c5c6e23945d0ec5bca56a01e062702a976c985061221c7deff925c82a1d80f05a5cec0049d3cdd0e38f5cd32839d78d4ee05906b83197306d0c986c9725809b251479f9298c718339996cc3a99656a20b6b7926f98cc2e0403a2998bb6c510b749a13a8384c7907083e5b44dd00c8f73aaf916ca844968a9ae16519873502ac557c5b9a7967799d715ea142636408a5750aa45f57a26b249074f1b8dbaaaa5dd30d54a9085d5c535753a5f0e4a6d33b0a72dc31cbfa9902168c68e90c11c13eb5899103207ecd3249138a24474302ee4c56194066dd9819b0527eefd3be3c176be10b93ae8b8ddfca5a42866e4a6a53e735a353651486da3f8fecaa2dd906c8380702061b06f7aedb21979f03295867571f6c99c5c6b987b02311f5120fc9fb130aa61b9b94cd11328742495fcdf6f0c5a5a5d0f588c965134aa0a56a662d3456d8df28ad8826265f414e2e94c61b53664c8b8a7283ecf9f9b93a8c08bcbb249ec22ab9813c18c06b7c64
+f99fbae5af504bca7d31fd28500597d6db567003010297edc80509d95edc8516
+Ciphertext: 836a26f6d6d2883acba236232827279c0f6b7d977d64f048772319d4534023549312c4278dbadb14b4a6c71e08dd9b9d656ee58b2124bc4a6121fc22d2405a68b53c1b78441e960be587d421d547a309cedffe5a85669b9b4307ec9d38beb32b1b9c7e80ae13872256d4693e8302ba198914e99385a07abc2d3863047dcee7aab3adfe42500157014b00289343f06147192a68da51f7506ba9958d49f3209621490ac739b7e19ac06dcc2e80ce98e007b34e85a0b009a900c16d712f346b469137efc9c96681cf9c9c227c8f9e94d2508c5ffc58f38772bf2d1be0016df9b58ff591752da9ebe8429a317766c023dbdd21f747832a18c24fa79f19fad4ddb1e3538e8dcdf59efbeb371b947b7c9b885925b25dd16fceac74a390d1baf97bd28d54a5086035d5dbae5c933e0803a6ea198c57188a6b03abf4c3248e7b0bf75b7ed0f58e22526bff4ad009876a646e52ea4602051492d0a3b3ec7c6e5998f34ccc3e3d7a17fe2fe59e14f05aa78791a116e8462a4958a9acbfae5dfd4920abef6d64ce91855a24d84097daf3ddb9c9dbf48e53cf8477f34ce491cabb1d9229731f298c1fde85d6ebbd818c17ae20b50f061f1379f6ab9c841651bfc90d7380415ff325f782a349c9414a9f92f85f7862a1951e182bdab993e12a683cde1948fdf8428a454afb1fde1ba8a7dfede08464a1ac69001e843fab705bef18e0eed2e3e8794b33ba34b9787c0d01bc48712e6dc7b8331f54bd06cd9b359ee5393588d2821d5e0b6aab5b83c31c92ccca9070255b6688fdb4071f5036c82417c5603bd982ef91642e5756c5a942f3e1f94aa1b640a0e422262132e4b135e32cbdad6c66ccbe1880dfa87174c75cc9344d96a3ec5d1708d6835048446952c22ef2ba5fa64a6c948f7eb6376723bee68e4142d5cdc72a1d34d508be49d2d6edff085fb0159d873d769e2335bfc73b85c59af186c74368618c153b839cf834892da5417a2e1488ba7824d7fa5bbf8df6b7511fee0ac357c5f9428fb132e637a27a185c00fdd88346914b030fecc76af94cf484e51d95d0aeac99a70bae9087444101804016248cd86e980be476998d21e7c40aeb22026b03e1d8d3b2b18abbe2c472e7b54ede87197946134fe126b7a865f8e7e96d6dedb4127d99f3b081d32b90231c2982c8ed296581317898b6a441e0631c0bbf5b441d978bf7a1c13881dccea4af8c9558b50034af085ae25e348b9a3eb07ecff7681390145d5990ac0a695bff6fdff905c07a1954931535e39ea8a9bdcec6f1cef5699177269faf2445a8cb994bf0c08f0a67b1e45ad7e40004e4d933a4233af2fd782fe8f5be0687b31abbef5d92823b4b80418e91577ca907233fff2b3fb270122018e26794b44f0635200233171a141d269175b9ddd48bf6013ae87dc2cb09342131a973d135531a992b8776e6aa67ede40fb5e3fe78baba73bf316b4d3ca4784fcf5535c59624d33ae7e8992d994fd4905837253846f5bdd6a741cd258a835bc2ca139bc177100dea7ac8816e6c967107bb99bd885c1dace2d33ca268abc5dc65f4ef6d960bc67376ceea9ad061c68add5f0a0413faee0347b71be2e9eea5e5e517443a8d7a8a94c81dc2488bd38a1995e69c7f7a14085f6fee5c0c82db253f6215ac1703f2bb6ea69e14895c40eecf4360dd31b278be76e377024ed76fd3af6fa8ffba0ad9b9a02b57e43b86e7d2a15d44b18b4b0f05e4837034090df1efce7ae47dac7e17eab063d391cc546d0687e7684794ea85438a76d4be75eada1e10cf34a298ab11703109e0423faaac74574e4950ea4277cb5d89f08823b85ca8512a9e16494204b6b06091721e93dee1e5b47fd11ba309c6e555ac159073b398dce0a727da5598b2396414a3b83cc102de3219c5668c89df5afc99561d8dfbf8df632626b6d1819f492985bbb53bb53ceedd5c487c8c9770d80adabce7057238ec1af8d4042ae720ae1a02c614346feeecba69669e47ba48671e7802286291a89c5c688cd991f0088d41fc39b94600f95d1ff1fdb39ce77f6b445d889588b0c1207e9c37e284dc45718de494641abaa58e31c567a90c84388ce7f2411791d5cc80a9f3d50f83b1b1c5fefabba0bf72983faacd7c1c2b7a029f47ec61aeb7a590222220ee55e8f6700501084d59793f314a20181bec751453c7ef4cdd78db084dd62b10bc63cae2ad4ac042d1dddddcc2
+Shared Secret B: d770f9af3c5339450c9e9ac5c6432966cf6a5d776c496e69e38db435ca8bd864
+Shared Secret A: d770f9af3c5339450c9e9ac5c6432966cf6a5d776c496e69e38db435ca8bd864
+6c0faae087e4ecb8a56f4a31d201d5563da77b6d2c3b565d544bf5fa9d78dbb7143d3fe1ab34aac497b3df5bb769801f2c9223afcdac53dfbb343c92b90f6da91f835751a7eb679d9fd304a3ccc6db2ff9919a28286a4b46f0a55c6d33e87cf5835d3c5e1c1c70a71f5e8d9a873f4fae3d731df7a66dc4e7e81dd6bc757480b2ad25e75eb2615d1e59095b43abbc68c8443910abb6a31b25f0cd658a811725a9a5093cead7f3d6081756c931dc88e7ba63afe23aef43055b542d4b098be8fef8d773bdc2860b6513ac8d22a72805d9375528816f96ff4b45c7bc61fbea2f7a41cb1df7090653f5cf29444a4b730e7c87c39fb5c07bbe8380b686b9f6cef25eb28189285651a277628fec931bbfe10623b937d8efb39573511671fa78a05c38b6b3e48debce36ca5754a8dd789f8fa172d7dca6c790cab5fd40fe351a05a3109f10dbbf925e5243017cb46a17bee6da2ff667bd645b4d293b6d2173eb4fbd99641c1a8df60941879cfe1885f04d32f0ff4f2d0408bd4c955a997002115467e20a592b31346da8d8b52186f886a3e1f937a843c6c8e802eb8143fcfc91f252e7cc223edddc980626881ae3f735d44bbe5407f9e70fa9d06fc9a9c360bb5baf821c6b015fb8a868b8b91688de2aac589fd0ad15cf6b6f5890155faf3ed7fe8fc65b3d788ddaeeb752fd104e9dd942005433e1d0e81f219894e8243c3ed60527416591e3171447a1e26f5d22e52a09f4a06996c025c0e3d685f7c007d5730bee3c514bde074cd68322ed39b973f871d074f6af5d89690ec8f8912fd19bec49aacf7872aa2290c4e8279e3ffce0ee8df8a39d1d6b25484f6762374cfbbabe078689416728b75fb58df0cbb497b43bcd38f54ddfff6b86ccb6f6cad1b9c06c9f31b3642b617564c54b53df029052ee2e888c5593e1615f397ff749a471d299bd673ec234ccd12b35421fc51c5cbb337dfb4a4f01ebf708fda9fe0209ac3357bd33acb97614399748ed57d2ecaa6763557f16758f3a09b9579e9720823a537b99662bb686cc48b6b14a4f4e55b13025cf479b7e0396acc7bb50522929d96953b99dd2043bde6e0a2f0c146009bddccf97f710a4c85207370e390a37fa485ce1baa7b35eccafe75ad756cd4d2d84a9caeedafb1d36250fd4f5fda600990f4cade2d79b04e58d6b0f1d4ca450b4b9d567a1677489575687a5cb9c91fe2ba2e194a50686450edca6aadcb2e33d71c5312b9db3386936f04866016743ab140b738176ac4b9c82e688bc707dedb531189fe5910924512c265f24cedc53878261796c99ca97062b196261db0c7ad74b484da0f69b3c2025527d65aab5cc65df6d83610b94a41e600e507733b6b4d94c695fa86b69cc4d62f4f536c23881b259907944d4b7fe899d3306a4558c54962623cff21883ce142d1e359a4b9a72283a3853733403eda2cbaacbc0835dc465d82e132b66df6ce0dffb5cdfa6942e6a53787d01971f5a8022e6ac8873309c6d027176a865d9bed254a50cfdde38cdab18ccb686ccca366a612a59b280abf5615594eedd0e73b9ec0a96e4ddb8789df226891e19c5a5c61c717ecdcd94fa8cc241e68bf7029528c09864902a78b873b34e170fb30d8e7c91d5022793e015af491997c06e9184d8d9c39a2f689df2de64d6332fe28f4fb0e05b9473d2110f91b0bea8f922bdcc7fb40d2d84acee5f8f1c209f5c8ed3c1c10c315dfa1ce53df0be8afad4a32f8d83cddcb464f924746bd08cecaaaa31984454f23d9797f5312e798eead16b3adce92eae50cd8dce9846e9b44e63e60e0186a8ae387e3ee021ab0cf6c190a7a177d78ee86e95ba4d0efd2980524ea3735f0c4c97036193b263aa02300e7cec7c6d2842b1beb86dd0029b43b7b57c52ab5fa77d91b0f66b8f9ff15d0110a4affbe6d2c54b061a95a63501e6fe2a5651347239784bbd67b1dabcead31a969b0216a7d65184bdfbc4ffdb3883678c537b4e536b933f4758f1584cd1ea2af103a95e64f9de5cc5d2b30f66a0e6aeaf0baf530ebf995df96d69056ee2969b7ca1e50afaf346d46f4a8435bc7571f74b81e026eb71f92396dfbcb7d49edf4dfb238328574d3e7ea21d42340e2e3ce81885af3b2e7d6c0c9084fa8c8d4b0c840987712d694dc0d719675d2ecb69ca55b8fe313e149594a07e1b1db44c1b951718440b641d62dbb602a1bde5b9ac4b0951f218b7b6632a
+Pseudorandom shared Secret A: 9110914f53c29dfd59ebb1bdd76ae00d1889ae60a6933ea9d82fbd45d1a906d5
+cc8856a2b6191dcb026b3beae52a2dcd701bc03f091e0ba27d1bb4de45d0c13c5432b74079268b62c0be41e0d3dd4f7ede4c403d388ff7629b0c8440afad0c0f
+Public Key: c607b833d58834e29cd5b4919255a4ddd8855837254ce870d8009601130b52a7b944ac2e41c802895097f8a9923e699cefdb6f7175c4a78252cae9036c19a9dbc4866dd3147940bc142b5921f3cd67d92b38e977cfa26e86d79682aca52d7455f1456c3f0065a0482b732b7a44eb9cb6059f60d32641b8bcf314517662c2958089ab4572f1a1bdc0691a3c52bd015364bbf0cf9ba1a6391a0c7f88177ad69bc8114e33d63f0648187434b07fb43270a7706de0cf8fdb087bfa22dc7bc0b2d2116b29c6d81805e6fac595f392b0949e0e3a50134c86320084d0f78ea25128cbc7b0bbd973f5532a5305903b4420d7526a248b30b4969c24305e6ae5b7cd88c6d243bbfe593f70a5a1e40875a1448810ac8eb4e65bd6cc671dc33b87052f76fb70ccbb16c6733d772490946c8608060dec14641cd5cea73952e1fbc6d7346adc14ace7e6b8b614aad98aa8243555cb5260dcd85572d8caa350848e3820f0f25935fa34d108b9bab45136640407cb1bc9a369c3a80dcea9adad4926d62590358aa994b95d32c84ec161794f508a891c08bfc78d86941537e0836dcb42dd6c1131d884aac0c471389ddb996d0b43a0e76c3f1089062c3825e3a07c82251a624832a49413969ab08478a02f205c75186d892a020264a4c483a33ffa20323541439770c3d95940db720ee1cee1a6588b05c41db93a0b0130a28847f9372742564b4b4435ee05cfd6f6a63f985307281a15576cabd24b9505684e2c545398524e99a7d9917cc02b01f4d713daf8946f2363ff0684e0e930d5b64136ec514b95c263da909dbaa8440cb03aa66f9ffc019cfbaaeae5811443afea1b14b8488107d78b627a27bc720a36d5b114e767c223b3b4379970c6097867bbfe00aa32e5cc48033f53115a2a175626357b72f050d3f46629e37af8a0bbd85774dc440f1cb962ba482771ac54e8d196a3c32d592c74c24aae45169725c2546be393a90b8c02287455680666636cdeb40345b428e98916259625302caf1b567274612d9c356316133adf8a4ab8c17425700baae9b93e8ca76641342a7573e3339de5fa8b145c42b4bb25ffb00943ab4835c2a395d57b4909588f08a7de967b0572504d3991b138a4f4d5579a9a11b7e99b803bc6b23952f9d0b93dea8df052ce0c8b9c88b76dd174bb0540caa25c30303a09dc7027e7977fb0dacf7f699eb12c7a54fb4ed4b5244d2c719dc34a8eda1704c43047e57ef314cfc216849d894a96060275182ee24c5280d788f0c262ac832a97378ce7ab41e10bce2b2a78579b289d9791a9c88e1f9c238126a05539a8ab088f102025cde6891ac72d86b9bffaaa81c2956d91aa0cfa36848a65b77219906966568f81afb656787f3a73228258bf2a59ae76849534c44b775b324b913d5210f0bb0cb8b828de0a44553519f4ca6bf20b30996913f798203223be18e4a75c92c32d261ede096d0a226cf9f05b57183a72984af81a8efb7c506649c3117b4553039332d816de5c860d4ac29f21054b55239f01accf263e5d683c32d295798819496c8d12906cd6f99a64c186eaa65d47547d2aebb63d4a658407ab2b9c398b3b4268071d9c173aadca19cf248c160b445bd729c0825b0517bdd8f6628c5842be460b3516302c8c2438a4a249413d4d611347436be1019f029a550f052e8a88c13f162133d5b658b0290f1000860a8ec529afb1c300b84ba71a985bf403108603c39aa1b3dd7b50e13712786ba7353960401894b8a4583bc77c9d076447ea1a987163b2c2aa44a1a7865ca6bc690afcf8a0669bc82d922f7c133d3962032a489a935a69a2db3d645c79f17a318b2129a16cb466e116e9326ea7eca43ac8048cc53a08fa3a9c18a61734bb27937de75048d2d208453068bb660cd257a9fcb52757252579932f0ef3ad59459aef44416fc8356a3a5be0d50a6ea480ed23a6e1a9629b17a98f4532a3ec494afb01eb11b1865993f6e8a6ced1c812b5a1b79c8f33364b7a09b6fc7c73984941ab94965fec939bc294eb53b3b72c3f08a2bcc07c815692691b9730ed6999ca373d3c998100fa11f32260720a97b451b82006b754c1c288935c151105819b20edd8452d449395f6342dcc37c9549df3446f81089293b2a0f752c86d7bb976308dbd74887a3b3770b8b6f53b1b3e25b8c19a8a2dead6fc89d81d879b5528b550961361d01094249404660e1fb89966a4
+Secret Key: ebaa442e999119ab0510805d5730c8eeea5ba2f7084de563025a5dc9a422be9165c5f79d45d6841da95ef924a9eb6387b5a93e24774516e10637c7903654ac538b0dac93791827a0caa7a185fbbf46b550e51cc9277c5949179efe8b5014e76eec4b8966f8c8cc2704cac2b9ad4c0696fba55b251c97b4547ac26632a9029cdc4a3e53c6a6a117900895a0199c6327c47bf11893162c464ca4fe2c1f6995a7766826dd17862ae93a31b67ffac56f90041144b515ac464dfa1318ea6cb008779b87c65b32ec75e93c55848386208a6c5cb37f1abb66171480ff444976a4ad9757535fa643b3cc1d7f0b25d501323331734caac617f9c2093c55a8a5559e4641c3d892c66c81e356502056c3541c54d108805c5262de0a2b9bb03000064963288a454934d5e4bf970c4803a06d990424fa076665c23c4d79183e0803e8e056d6cca96d9a035d85312a38c80c709937a32b63fb7bd3f8b9065a58d1fb27fa31a6214606eddc5b8b90c0153181a1eab2b61b5ce40c2101a01bb75b9dfd76a84037c57ac469a0a49f7d888eca58b09df9b3b3ea05f78ca279d598816a23f4ebb9a12468ac138bc12729a852511e3377afc1239d0cc7a4a245e3013798e09da5c33937cbcd155534e5988aa3f02dc7205950767f15c448db09176cb9c4d6d63d00401fcc00b78c0c1713ba4a36a12da30316a0349321e790d26a8ff4f8323340097c00af35283d5ed5b8d617b428ba03f3326536e66097bc708b53ba0033960c524ccfb49db0a22e235188da0a2512322cf7a704368bcc88ab389760bc53e23c37048ed4108ca2e10b13f6b3bf100435779a4ae3ae1605c5dc0863ede61d20401ec5176f7fa387162b49a7b792399077c49361c5924c9d698282b936a71a0b8b591f976c13e8322ed5e3b9d53a93ed6a905d4b0ef20983fa1a81ddf1944b8a449ec878368648529204c535059c75c2cb34b9ee5c44e1c2c1bd598fcb38cd1bf44723036003906e3935997b5b407261b6b9a872f76b7f50d56308c631bb2b34f7c82116058a77c6a0cd2096773b0d4a20c2cbf095c8a83a6562b644b66b297151b40b2193f105b5e2269b2a3b50fca3bad1540f1652f09bb1fc89178735035569c54d8208c6ac9f3f5070aa67a60f22719cbb6447b67a0334a637d7514c3b94602b30ac877a5e557fa3c20895e70b42d556fd2746afcc9590a72d1c0880d61b2c4eb3aea43c88c293a874849ecc65111bb03173c7ab3716c06198574271c4cd18b31cb39cdde82b73fa826b30355a17a245f96a8a7a8105a8a6791450f191703f6ac62f2c974f57a09787c7d150c1a8aa56a8697516a89b39e949495a19d5f6359fca4b9e71674ff8938d3cc6ca09b311186e0d9c1311902b0a91cc8bc6852969b6a0b7be9834b50d200f541798a3a696aec7821175032978a76d4012523b97bf047c84765e9f70cb79b245faa402939b814d103bff1cb991952a1675400f7c8b63909472b8ce1feb0371a7cbaed0a1571a009194c2a267b947e30037e4067e98a21d03a81dda58b54178a35606fa0a95374021c50b6869d91e5f6c61880468933c86b9f296121c0322a11329d8ba4d343a9fe95f8c6480f55379e6d4953259afc36a7e97573c680b1a6b747f4de38c6c9bce97a432fef6503514523d520ff3849e36270381a50abe3a3162d6682946c2a97012c11634da2807d53757494cc0147164c0182cb7271ecd1459b6f148e59aa9171104eaeaa5b3262d5ca23e96d2693ef01d25f67884bba7ba815a262726e543579f02068f672310c6972d56bbef891a9b2708e19a23d9a689fe3c03ecac70e099aad414c9238131a1086d9c43c660054dce186d405a10325ca8e5412b17a1542cf8cc35888ccf9a47fee93c9e54aa07b0ccc6036fd350219c55321fdc0983c66aaef0784b5b0b7125b1c8294a58d71ca19779a6da7aa241991c1701224762a6e57ef74a6527c7c45b403d6c78b58e68b9f0e517d7d50eb3a81a18f04b95d5693ed7358cb0351a78cb1ff66bee6a3d37a5156cc4ba56e1ab7d6aabdd3a06a9daa168fbc687787090eb8ff8c59853f7129b938e34f8447733cf1c7840ef690339c7486bb408e9643f537971029a24db7204c2207ddea385ed7c02da9c115dd428d69370c7069486921bfc086d12869f5fb8aec607b833d58834e29cd5b4919255a4ddd8855837254ce870d8009601130b52a7b944ac2e41c802895097f8a9923e699cefdb6f7175c4a78252cae9036c19a9dbc4866dd3147940bc142b5921f3cd67d92b38e977cfa26e86d79682aca52d7455f1456c3f0065a0482b732b7a44eb9cb6059f60d32641b8bcf314517662c2958089ab4572f1a1bdc0691a3c52bd015364bbf0cf9ba1a6391a0c7f88177ad69bc8114e33d63f0648187434b07fb43270a7706de0cf8fdb087bfa22dc7bc0b2d2116b29c6d81805e6fac595f392b0949e0e3a50134c86320084d0f78ea25128cbc7b0bbd973f5532a5305903b4420d7526a248b30b4969c24305e6ae5b7cd88c6d243bbfe593f70a5a1e40875a1448810ac8eb4e65bd6cc671dc33b87052f76fb70ccbb16c6733d772490946c8608060dec14641cd5cea73952e1fbc6d7346adc14ace7e6b8b614aad98aa8243555cb5260dcd85572d8caa350848e3820f0f25935fa34d108b9bab45136640407cb1bc9a369c3a80dcea9adad4926d62590358aa994b95d32c84ec161794f508a891c08bfc78d86941537e0836dcb42dd6c1131d884aac0c471389ddb996d0b43a0e76c3f1089062c3825e3a07c82251a624832a49413969ab08478a02f205c75186d892a020264a4c483a33ffa20323541439770c3d95940db720ee1cee1a6588b05c41db93a0b0130a28847f9372742564b4b4435ee05cfd6f6a63f985307281a15576cabd24b9505684e2c545398524e99a7d9917cc02b01f4d713daf8946f2363ff0684e0e930d5b64136ec514b95c263da909dbaa8440cb03aa66f9ffc019cfbaaeae5811443afea1b14b8488107d78b627a27bc720a36d5b114e767c223b3b4379970c6097867bbfe00aa32e5cc48033f53115a2a175626357b72f050d3f46629e37af8a0bbd85774dc440f1cb962ba482771ac54e8d196a3c32d592c74c24aae45169725c2546be393a90b8c02287455680666636cdeb40345b428e98916259625302caf1b567274612d9c356316133adf8a4ab8c17425700baae9b93e8ca76641342a7573e3339de5fa8b145c42b4bb25ffb00943ab4835c2a395d57b4909588f08a7de967b0572504d3991b138a4f4d5579a9a11b7e99b803bc6b23952f9d0b93dea8df052ce0c8b9c88b76dd174bb0540caa25c30303a09dc7027e7977fb0dacf7f699eb12c7a54fb4ed4b5244d2c719dc34a8eda1704c43047e57ef314cfc216849d894a96060275182ee24c5280d788f0c262ac832a97378ce7ab41e10bce2b2a78579b289d9791a9c88e1f9c238126a05539a8ab088f102025cde6891ac72d86b9bffaaa81c2956d91aa0cfa36848a65b77219906966568f81afb656787f3a73228258bf2a59ae76849534c44b775b324b913d5210f0bb0cb8b828de0a44553519f4ca6bf20b30996913f798203223be18e4a75c92c32d261ede096d0a226cf9f05b57183a72984af81a8efb7c506649c3117b4553039332d816de5c860d4ac29f21054b55239f01accf263e5d683c32d295798819496c8d12906cd6f99a64c186eaa65d47547d2aebb63d4a658407ab2b9c398b3b4268071d9c173aadca19cf248c160b445bd729c0825b0517bdd8f6628c5842be460b3516302c8c2438a4a249413d4d611347436be1019f029a550f052e8a88c13f162133d5b658b0290f1000860a8ec529afb1c300b84ba71a985bf403108603c39aa1b3dd7b50e13712786ba7353960401894b8a4583bc77c9d076447ea1a987163b2c2aa44a1a7865ca6bc690afcf8a0669bc82d922f7c133d3962032a489a935a69a2db3d645c79f17a318b2129a16cb466e116e9326ea7eca43ac8048cc53a08fa3a9c18a61734bb27937de75048d2d208453068bb660cd257a9fcb52757252579932f0ef3ad59459aef44416fc8356a3a5be0d50a6ea480ed23a6e1a9629b17a98f4532a3ec494afb01eb11b1865993f6e8a6ced1c812b5a1b79c8f33364b7a09b6fc7c73984941ab94965fec939bc294eb53b3b72c3f08a2bcc07c815692691b9730ed6999ca373d3c998100fa11f32260720a97b451b82006b754c1c288935c151105819b20edd8452d449395f6342dcc37c9549df3446f81089293b2a0f752c86d7bb976308dbd74887a3b3770b8b6f53b1b3e25b8c19a8a2dead6fc89d81d879b5528b550961361d01094249404660e1fb89966a4b759f026ea283d7c9bf7bfa7371183ff11fb82762e241a22a9063f26d1050a105432b74079268b62c0be41e0d3dd4f7ede4c403d388ff7629b0c8440afad0c0f
+b31ebd6800e8fe106f9539b1fa5c977c1811ce282be54c4b09f2fba4c08d24d0
+Ciphertext: d9a26d9b242e183cfadc8b52f2baeb44b26568da4d70dc009c0c6593f86a06ed1768faccc0468a39c57fed61c674cef50357b2e41e92086b774b171b62eec9cd5d702751173c0b95772a50aa270d98d34f482d2da6cb45b4d9b3403a95aabf19539b133d6b9210bab8d760ce629ac1e89f4828cf9ac52d2e2f6b4c74b9aa321796f48b1764f0dde3c8b66cdc72818b87ffd306fd373a94b8dc9d7260a767e2853bd286326470b29f38a091e3f103f10d4b8bb3ec389f63b6ce0f77cf719a58eaeaca9c3328f1ece00cc856ed03d48a88276af2e4ef5bba283b5791f73884a32c66c274e762125ce28ec7962b2a3a897886ddb4816d20175bd8463fa4c55bf27cee751b81a823cc91e59aaea8b8b10dbd09cb48e4e56d2c4e13e6cb01b3b1b90392306e543cdc944990cb98bacf1ab49286d64d8d4dfe377692f27780f2538949d0ca0197d3aaf066e418ec9e899237c801bcc38a1fb90897f61f956dbbfec30f7dabb25670937dde2b30b1ef0eccd3dab48bdf5b79b6d71fb3c8b03c739a2be52bdc01ea2e01d155913b29df1a90603992eff3f698db509106e79f15b1417657e3f60cce7df11314bb50aec38cfea2b8b97f8c8e4bb43107123a7ae4a36035e01c4e8bd259f58edbcc61dfb7287625220d0350f4e9e0886c0858f0ffa4acbe939cda4d78aba646602d7797dc6db878887500eb01786f23ec4063bd31d7a305079b3e0af9a8dbfba5fed4e49875b3e51c0115f9e24951c5e80f10573119e8af72ceccfe25411f6b0712c51b839c6ca26fab14f6f47a538ae1835960c5697de58235900eb9f47075d61db51199aae2f7a4940933ed4b2fa4f7d174322524e3d665a11c9168a69c584f624047647fb1e8cdfaf8daa54cb61e92654174746c1e72f972a6662ded769ffe8b1688c39d80dc2d2b728166bab831126818e04d821b4d7400582e3755c06fffbd5ebcc2f5fb7519a9ad4dac4015156a77385253bf1a90de94b55b23f9227f4da9c69aa595d4892a4cfbc0d7f3753ae6a7b992a9c04b3ad4e9a93c24f87e33d509f34441e4ede9c3172145269d5e5abb25691a6afa71cc5a653c96e92a4861ffa511816ae6842e7931291ad9a8fc88d139bac4df0d4da4cb2c0aef414e988e871c57374f75eee48a24eeb8505ec68ecfa7e7c41e3c449ff3955118c76a1c9b8ae29f49f5e7588e63d62c3085042dec72d782e318c5edd2b86adf89242874d02bc1095463e71a2ffab5e1cfb86d3d68b5a6a43b96d3505f5086c89d5a86daecf8b194eb346ad7f0c2ebbe93c5ecd4d24e22f40c978164435b221ded29d6f527e3b660ed66a40dfb99522d06178d12d416c2c4a12fad9b04e7ebf5594fc8ed339637915d2be65603e5330a10e7b42e4cdf87b3c25ad33c006e25562581c2510a3087a4381848b61cad0b6bf3f22be1acc9ebcf23f84e4b8818b6b92f6523aad7a45e10c306acc97fbe5ce2380a72f50ce3e4f59c8ddf421040dd62d1943bc4e21b09a84fa43d937240a061fe96d4718a7bbabf8d62703fe673da417752b732316ba965a260972b443f10c1154ca4d2d5b4607d90e3da8f5ca87fc7c1f06908c67aa3dbab2e7fd4519bb0fe947a8a7ce620ab052b6c45583e79d0098655119b4de1ee6f567e74d8510930e3ad79f35d0fc777f683dbba0386b37818126f33164650dc777e6265006b3b27b9eaf932b585b5b14c1407995fc55fca1f7d45d66e16a65c96700fc5a2d8cd95a89965e6ebea08cbc5fac89255a384447d31e94f4bbb8d2164311ff17418204a8f23a7b0f312f21c89883535928845c723ba2ff08cd460a2ddd1d9d646895323e761a02ee0becf6428290baa5fcd92fc6fa8c2a45ab873991f6bf75f1652fc493fe0564424841f5e29ef1bd060cfa85b5acf919ffdca10db7b8ec975d8a80ca507cb85f37b6b35d31c289ec35a4b9a565a9ec842e9dcc3e287f5f53d49d3a67ea3eba450a60cd6ad48d43231a2ad22ca53c0e4989b6f78b40198a7410cb2df3fcaca68d9e8d9ede4ac33dbbeac61e16c96fa3f0e7a9e32fad83c2496ad19be90cbd84b511bc03702b17fcba1e3dab996074bdede044cac002ff960f7a181acfa847f41eaf8bcf6430988ebb16c896a4280320f69ffad8fcc91794289db066afb807f27a383d11182b9561a25b202ef85a09cc20af054d21ef43d5bd514197d3396b1ccf9a0a0169e29470fe104cea6
+Shared Secret B: aa3ebae68d145c781917da14158f8c5d01e1a77507f181d1f82ed9066948f6c7
+Shared Secret A: aa3ebae68d145c781917da14158f8c5d01e1a77507f181d1f82ed9066948f6c7
+e19632d8148522dac9e751127bae1882c6cfa1afdeb49c214a31649e700435140310b0aa478d7988c878716544ce31208f96d7b0310d3291b5e21a3b94f9f550d9cc8bdafc5bafd5546d61dfb2a1e277b8cbdb3c4b354fbab431e59810a28a807814e4a466196538e49ca245f81b248dcfe0c308eb18e2d433ab36406817022b9d3b153a19ce306a1bf21a76e0e0aa89b3e86e87db142535a67f69b724e6475e13114ab308103b738cf7c783f8ee5d550d68568786055719b942b07de735e4fe17becee65c0768e23ccb6f026c2879e9b6f664036c1ffdf22e78aa0d908b2d8c4af81d0243316810b06d8347518cb104ab988048ef75b2f342008f6fc32e924b7f59066b67f2a3d9a0780b7b1dab8269d7cf7a168b0f9880b427d3648e134b6d35dfaf671994535e944441331146d99735d6795601cf4215e956a9e07406addf43021edb1a06d20c8bf50e3f7dc6ea19c027b56af1dcd4b183d6c20ca6b4fc225008233486271b698e06545c395c8e6c153efcde2309c337307c5501204ea818b3120b51b7ced64bd1218a77105a613bde716f979670bf5b9be5d81e33ff48645c06de2d7827d8358525c13967c29001075f569aa9447102869b99164bc57baf6e94f6a3ebae123afe003d188c580613dc04d918bdf7008d2f246abfc906ff871cf9cb45f703293330a4151aafc7258b6f9c8f8ea117da470293a23a4ce1625c12045c85dac0c5ef84ba724409bae342f1dc69d4fec0fce2307b2905f6a90369c0b7d47d1cf14246f6e4e18f0fa5b4d0d420387c7545df49f828c9d7118fb3123e64a849992018f942d71af061c9a1f57a7d09dc249f5dfca04eed0ec75ef2c922fb0371dd8c51de32be703a4c9a9f9c84c9defa261147b70415db3b861bd72d9393d6e057dd8a5dd6e7f07cd65980949df8f9b4d4ffcb200141f72e49ba744803ddec58630f26d6bba0fbd6a88afa6bc0b5fdbabd2994fda7dd8496284123decc902acd585381545351938b50a4ff44c2b2db999eed02803e906b0b37bad681c5482a60160c4bf74b0d599969f43e3b76c01729e78e047886a7505c3b55bb11cebcbcd4893a8bdf45baab67e94e00d99b6518008f58e0eacd0d8ee0c7b6859af378ec81ff214e8303f9da10fccb32cfcfe9e5ba200bf71eb1aeb7709d935f89c0dca256e73735a3a5e88189ebab713fac88b53283d54a2969fbbe2730424ea871523c277215bb07fdd1bda0329e88c1e8efc06ad8960e54bc15e4f77189b141c20cc5d4cb1375414c676aef85cb3f844696474f8b7180ad530aed677047ce7c4746948b21447bb7fd31a04a35d96c770a2a7e7e949836d72075455059464225bdffcb0ce902032ea59be8ac44b5f1d47fa534399ae62837ca5de822bb3a65e251619fe2b7d47d79df6118fc3d181e71468f39b8f839078ce039b79d59203974c3f3168025186dbbff1d43b0b196c156cb94451dc2eb13f24f427bc5d92c1df505c52bfa3e6872ac3298a6be9e1a847df12f98e6ac6ac16c538529a8539f215130459df232fd81453f1f1abcc437c8f661e9d53657084e48fc2647f7ff9bc12139480c80c324d885db80cec6ff3ac90ee957a09fadfaa228d3efc8954adc8b26d5216bc3d72f44c7e0e7c02f913537a131606d13e71f9b2c0c701cfddfd2b337280152cff6f9f2e2ad8775e41ff90ce6fc6eb74dd1265af2550c70a23648f68cdbf869bf7f78bd8a2817e80d3af53877a634bda4e3c878df5af3f72f7733455510e198db8884cdad21ed61bdc9dc9de0f7c8b80ed7a5c27bb5f25c536d651f2b90356365f2f10904031a67d74e5f8595404f95641453993841fa8beabbd451bfaa61919201d0dade73c8106ca78f9c422d1c5ba2457edfdd627c3ff8b34be4e88a22b2824a17ebaf09a753ed194c0bd68bb9ea4ecddd14284c03fda9ebbddc1e421768b8c25baf47ec283f29af2132427a78c6e55d81e1906ec0d6737c213642b24a5fdf33fa5699ff181047446715b80f29f561a2a587ea705142f8ca953857f765c7259eea2a372fdcbc2a82a0c8328a31df6ed4244fc63007968a0e4d6bc76220f4e194eef70f200dd09fd9c0eaa5f8eac1e18b5f4ef9f3540205d4930e5bbcc47e50c95a4a81e3e654f39533f5e9551988109c6f1edd82a8ef9b09b948c7eaabcd75e53ed7f57d19964ceef9189ece98c4838e6411fee99263a5af2ac153
+Pseudorandom shared Secret A: 2d8677713a9c60bf036495829b6ee2fd9983e73bd2987eeba4d0d2a182af5636
+a67f660eef75de943f5bbdcedb4c8edd181978028168ba1015918b30240d90e1df0c8da10bdeffeb230be6a3e8b7e367b229fbaf779d2d9801e17e2218567ce1
+Public Key: 50402953ea939f278c637cc135e19489e00ccc221541631e6482195731b9bb669382307fa9c67cda520f07469e7ef988221a314accbdbccb27a3cbbee4a741b1e4093b623f6c1820b11a92a8f94effe80c2d4cc2b3b40b085385f5f3bcc7f4840aabaa26933a8c7012dada1b5974c446dbce1ee48169f41bf8ec3e88a4536abb133e82827f86abc5c17aa64515bc675147a6204e069343ea8a0ba3a198fa5ec0f179d9a3bee06a3895e02c2be9b609c6a52ddcac38724d60ea677b20a499d41a73810ee5ec8ba550cb18f1a50af68f74d809ba5c921b7c2789ba198dd81df1c631a3ac947d0c17a3f00f5ee75cbcdc0a23b63443bcb49567caecb9a936543b0a0c0f7f614f5cc27991b8983051b7a6908fd5745f26c6ade2466786113726bbb72e617314044af47490ac03b98ac4057a9bc4d9bbca04f19fdc8794d7519b78204515463372a4c69c94720a6a35c007538cf55e45c140b119adb5b875560abed03922f4ab8831d68bcc5702696733d940b6befc8c63b926f737a864c03679bcce3ce5a187c021c2cc723fec678ec3705964301df03983876909365373207d3465a02bf63a7254cb610810c6559eca52835de969cdf16885b77d7c6656e9cc0bc18b2159f9199fd3843a4b82b712a06bf97b7ac09e02ab77c0c6805310547bda08a6e7c6d7302e72c2302fb4774844c5e9e0637b351a7a24819678324fc9a8e400633b7abe8b79336a57c9e7321979e103f0d0b744a0689dc03f1847570c676a4f7ab4ee93bebd336a2a957684046aaa0814d64c65968c0407f947060133cfeb4faef99343eb4abab77b551719652308fb110b6dd9a727862fb5b1bd1f76a1ea2c560911145f45985d8424f20c88da736041579c7f8ba740604e6de2a3bad879006553e0416bccb4a19401ac0a830ff4e056cf3bb1d43c556c0c7d74c7c23678aa01d3bde3e7bf3ee047d00213e42c4638e8c0e22b1601855b2a38bf2191c985269380e270eba82067332a1c576b3426acb780a020a55d5fac305d67143ee36c914b1d8ec11e0fe0b4c26052d78c193b133473a66635e01823222b1922bf8f627ab437a0b1d84f361790a0bb60e03a72a9f1880079b2f9c160346869106c18bde02dd2a24c87c0a5954947104c319dc949cc1b85e2c12cc9c045e85577d3274a1571b5cb738ecde4bd7e40b4896c80583ab31e13ac5867420c0c7fd45c5ea168539f330103d44e80cc6a52592aad164a14302af4857f61881027dc568e37b844da88cd8458e99651a0953ee3d92c5be4ce14b7bf2c0c644cf25c524485187a8475fc8af1462b5124c5001000feb761faf02c08a5384e59845e8b82d584a50b84c6ced4c184570d3b2014c49a7b8723377a96c2ea39406a9136fe74bff1aa7ff970337ebaadf1e6c2fc3b5577dc3891bbcc1b6b57a7b844c91402dd758258a79e59ba7217c6107cd3cbc829678001af647a3cbdc782b83b6717a20655f906d3752f57aa3662cab7d4364e0ba6037b23938cc118b12410aa89a29918604144b6dbf47698e6adb4a23063743ef190c72d6989c35587bd0078105648ff1435392b66b42b56c2749d4390712f44b4fca0068db0ce4d07514efaad633a45e7864c6dc1c14f9474ce244753b9a99aa196375041e82188c26a07ac9699d0198501aa13dfa2689c507ebebc814ad74aec0a1792168137a4bd5adb903a81b295b53fb6c74879ea9b41e681bd9aa605e91e94b22723dc01fe931d5682a04ce78cab89a19ed83554392ab3c677c621aab13aa1d2f221ac0711f04c49aa598ba2d66b9003a9ff1a6a97873a3c8b0f7520ac5fcb4abe1930f113a30a4107e3522b4730346459a42c37ba51a97096a0967ab2c3abc4646756154ce456b47510eea69bcfd228d5760b73a6b43873a731dc4659881bc4d516161b039117a8859c6c43766130580207c103b8006318fbc89083ae0a801d91b004e5ab841db60210da5ceacb2a18a41465274f24264146443e198c739ab0c49ba005aa5c0ad318bd050ca2c618cb348c0c99b8b633fa85349ccaa5c43692bb61a30bcba8b4344cc9988e9787eefb3c6448c79704848bc8ad0d469553709b2e62cdbe4471d12521658060b10bb6ca2a6c95841638f813253a6e16ab778d5592335a35d2454d730a3b0b009b4ed03ff73c4e717cddcd2020c653ad2f127425ced3dbe7bccbaf35675ac608b5c9c5ed78ab4d
+Secret Key: ba7796c28bb948942d1a6b6198cbc3cca341c92b04641c8136cc57e69c11cc03c580da068ddb144a565d30415fc66c24c31ba838a120d439839155c6df67c88970a53c1b52ea1ca6f1e4a74e2ca0bf5300d97c4cecf7b857fb3befe636287b07728aa3cd93ca196189b5b2b711c888d583222d61245188bceb696f70d0a454416fd9c30c80dc815e993c1eacb249a66859ec08931bc226a4470efbbeb17b96a902b376fc12017c5959351bf1d6b71d19385b35c3ee823e4c26730df7beec8c8cb3642e3f3a7be3a68dbec408aeecc65fb67c27a0bbbcf97f811b8e4340c852736d2b45b24f9ab2088c0abf672d0d2b535c76c843bc064659ba6f4b94aa945aa73a5cbda34b494382e3e88734a5311940cdcb6270239076f626b224632659aa6af862bdb0a0296016bd058849fc6985add513a879cafad96a08b776610961b52b44d06b7b737cc38d5b1854d023cc174ea1d5be54d7787583c1eb9a5565078216fcbf6c5548c9e68c2cd80ae4478af12828b8ccc67530025a7c545f6a8d6ff603ad8b2b568901e5c4902c60a921b744bb118de23303e8c2b4cc4c1c9cd9654e6c8e8936096cd0184ec40b5cb5c3dfa27e069bae726555724ab2a318724aec99aea2262da52921757620a47f6a088a606927575c2365741ac4a20a5aa72d12b06e45cc2f1c059175e27dbceb54b3e741279cb3ac85096e6b2580fbcae7a765dbb2557fc0641004a14d3995d7c1347de15df35970c70195b2923bcaa81b66610f3f455d8500638a1b9961c824c5a99563e2ba27ac78de81713e58a29f244b7b5032a431694a38a4ae720701725084e45d317b4fbc95640763b864f490d3211ef8501bed944db50231875c2b5bf7beca6242781499cbf5cb23a14797cb03ef2b2c650417a2c0037127bb0a075af8c909fdf009047c57511809bbd09ae5469e44377f67732e350c7f3672a564259a1231960146ac9522cada6ccbcb029eaea657b818accec65c62438a568a5d6063a1415440e5571139a55d77c8083ba472ab1451404760a178859c7a6f0f17705a8130184bc9c7dc2ad48c6d09c45c1fc8b8e446b9e09266478c90f0c84eae961bf5d37d75914e8a4394882764991bc610a5328395be3aa28932752f5a341067b96d753398d8825d3bcabc25d262fd26008ef24fb571ad5f4a091da0a7025a84c078bde338a92842c1e5a9b47b487dd3fbb133a6309994cd3be62a379a6b69ca922dd5ce1660ccfd5c1464ccb8120114ac3c22956358d692575f792c82c38aff0bbcd704cce821a88ee81cc40219eb948c8faba0da032c43e5122c254dd9003b1e57cd16f059f35397ad167ecfbc20a9c5224f1c056965b6dc5b0e26238d0d02ac1430927538a53d1a727229af57d9b897d37e5e12452a4a632c30a6fd5693b5b92a5e73aeda7c31ba4c0b1b67144e6571fb735228eba5380605a088c58be85957f31571b949c2fb664bb010838694a547c188163226406400152e22737d307b5e2cf6c5d59aa89025a95313557680b0023a6c737c401b407aa0b911a63c1ce3ba0c80f35febca26621087647964b46a6990303d8b86396f0a230b702773c50a0dc4779e43380c2b2b0d3aa6813c12a0401adab8ced571817bda742fb0070321c0ac9b30ea16406887cabe814090450f58ea0db1167782fabff260a46cfb0494c822ff4309621617d9c866b2f658e1fa5e0b352ee8b378bcd2c8a24583d4800ada01b92d502dd8d1b4ec4abd2fd33a8f7b20bf02178bc80813a2ab7a1893cba574af69cd9308936d862b45b528fc0b17a9a01af8b70143bc962d253e1a42caea6054784808c4ea094b4a28e77840fd846e1ec473f117822aa3177bf4a40682ae9e27b0364318d176a1cc4b079f222fda9a42c1969cebb0111517abe398532da35c0b3c8c89b16ed63751ec08bf31a2823b46caec909747dab2fbba8488491e1de29ffbc0bd73fc954e1923d1a790bcd00cd0636c50672057439498b46f09f231103513df891e8a4347557850752b4c64fc55bbb96c19f00e8eb88989646f70367356e86c92329ee591932cf8b3e41a4bebf9821664a1a0260020492d3fa48f9ff9c28d324638120700e8873d8742a9307d311c4dab6ccac31745e802b1d8246457120e69cc7843860b3c932bfbb1361f7b3e19713a50402953ea939f278c637cc135e19489e00ccc221541631e6482195731b9bb669382307fa9c67cda520f07469e7ef988221a314accbdbccb27a3cbbee4a741b1e4093b623f6c1820b11a92a8f94effe80c2d4cc2b3b40b085385f5f3bcc7f4840aabaa26933a8c7012dada1b5974c446dbce1ee48169f41bf8ec3e88a4536abb133e82827f86abc5c17aa64515bc675147a6204e069343ea8a0ba3a198fa5ec0f179d9a3bee06a3895e02c2be9b609c6a52ddcac38724d60ea677b20a499d41a73810ee5ec8ba550cb18f1a50af68f74d809ba5c921b7c2789ba198dd81df1c631a3ac947d0c17a3f00f5ee75cbcdc0a23b63443bcb49567caecb9a936543b0a0c0f7f614f5cc27991b8983051b7a6908fd5745f26c6ade2466786113726bbb72e617314044af47490ac03b98ac4057a9bc4d9bbca04f19fdc8794d7519b78204515463372a4c69c94720a6a35c007538cf55e45c140b119adb5b875560abed03922f4ab8831d68bcc5702696733d940b6befc8c63b926f737a864c03679bcce3ce5a187c021c2cc723fec678ec3705964301df03983876909365373207d3465a02bf63a7254cb610810c6559eca52835de969cdf16885b77d7c6656e9cc0bc18b2159f9199fd3843a4b82b712a06bf97b7ac09e02ab77c0c6805310547bda08a6e7c6d7302e72c2302fb4774844c5e9e0637b351a7a24819678324fc9a8e400633b7abe8b79336a57c9e7321979e103f0d0b744a0689dc03f1847570c676a4f7ab4ee93bebd336a2a957684046aaa0814d64c65968c0407f947060133cfeb4faef99343eb4abab77b551719652308fb110b6dd9a727862fb5b1bd1f76a1ea2c560911145f45985d8424f20c88da736041579c7f8ba740604e6de2a3bad879006553e0416bccb4a19401ac0a830ff4e056cf3bb1d43c556c0c7d74c7c23678aa01d3bde3e7bf3ee047d00213e42c4638e8c0e22b1601855b2a38bf2191c985269380e270eba82067332a1c576b3426acb780a020a55d5fac305d67143ee36c914b1d8ec11e0fe0b4c26052d78c193b133473a66635e01823222b1922bf8f627ab437a0b1d84f361790a0bb60e03a72a9f1880079b2f9c160346869106c18bde02dd2a24c87c0a5954947104c319dc949cc1b85e2c12cc9c045e85577d3274a1571b5cb738ecde4bd7e40b4896c80583ab31e13ac5867420c0c7fd45c5ea168539f330103d44e80cc6a52592aad164a14302af4857f61881027dc568e37b844da88cd8458e99651a0953ee3d92c5be4ce14b7bf2c0c644cf25c524485187a8475fc8af1462b5124c5001000feb761faf02c08a5384e59845e8b82d584a50b84c6ced4c184570d3b2014c49a7b8723377a96c2ea39406a9136fe74bff1aa7ff970337ebaadf1e6c2fc3b5577dc3891bbcc1b6b57a7b844c91402dd758258a79e59ba7217c6107cd3cbc829678001af647a3cbdc782b83b6717a20655f906d3752f57aa3662cab7d4364e0ba6037b23938cc118b12410aa89a29918604144b6dbf47698e6adb4a23063743ef190c72d6989c35587bd0078105648ff1435392b66b42b56c2749d4390712f44b4fca0068db0ce4d07514efaad633a45e7864c6dc1c14f9474ce244753b9a99aa196375041e82188c26a07ac9699d0198501aa13dfa2689c507ebebc814ad74aec0a1792168137a4bd5adb903a81b295b53fb6c74879ea9b41e681bd9aa605e91e94b22723dc01fe931d5682a04ce78cab89a19ed83554392ab3c677c621aab13aa1d2f221ac0711f04c49aa598ba2d66b9003a9ff1a6a97873a3c8b0f7520ac5fcb4abe1930f113a30a4107e3522b4730346459a42c37ba51a97096a0967ab2c3abc4646756154ce456b47510eea69bcfd228d5760b73a6b43873a731dc4659881bc4d516161b039117a8859c6c43766130580207c103b8006318fbc89083ae0a801d91b004e5ab841db60210da5ceacb2a18a41465274f24264146443e198c739ab0c49ba005aa5c0ad318bd050ca2c618cb348c0c99b8b633fa85349ccaa5c43692bb61a30bcba8b4344cc9988e9787eefb3c6448c79704848bc8ad0d469553709b2e62cdbe4471d12521658060b10bb6ca2a6c95841638f813253a6e16ab778d5592335a35d2454d730a3b0b009b4ed03ff73c4e717cddcd2020c653ad2f127425ced3dbe7bccbaf35675ac608b5c9c5ed78ab4d9ad6d5898833bfa2341272278b9935b274031eea9db0cceafcfdf8d2355895c4df0c8da10bdeffeb230be6a3e8b7e367b229fbaf779d2d9801e17e2218567ce1
+dcf37c6b65178a668b064effb5326a5857d9bdb8b496def177ccf13210992b48
+Ciphertext: 9f51e11144f78be3ff3b50b5dd39dfd31489c2006953232f0eca1686b2024acbca2a311143eab680533291007322fb7f625fb3708a887adf42df63bca83660a8d3bda5cc229788807576b099e80509bcd071c460ac249fe4713138a27f2028f359609c43d62e30bd21eeb8083f3635018ed4bba6c0c34e148de362f021ca2087d32f28183c07a6d715b1760ce860fe8cd8a66b42f24ad505efedea904a1b5b81de38b8e5305ac9b87586adde62446b97018da1a5c001c4add6bedc482aadce0818171b3e5142fa0f1e85773a0e14b921a56472fed61ad7e59cb225094d33bc8564426c057eb3893eb0edad087964bd9febcaae9780a94b526e9a40562281e6418c74c7b582db90b46bb42ac67a0301c46122a9eeb9be290fe5f540424b6e1ca541398e5d5073479429d2b1f1563d1d8af23bfa0fc5431d45d4437dabc62340f0a39e00ba06fefea3ea71e53c3c1830fe4b6a17056bd5648cf2861fbbbb2d6a5588b9b9c24cead5b8a23e91082c99108784729adc4e67034b69a48f2554299649f0d6b46cb98c382ffb10912e247fc01fa8d27df4e1a8992a971559e709202a5824a524df76bc3ff40b4c9620072ea13f6edd2c79691d6b1d3480f1eb6e814a90ac7257cb3b74521e967ad9f8b715f727f3a0da237348d0f95cf0eae23f1fade445f776ae7c799403ac3e1142b991433b07b51ac77d70eb11f3d7eddb65e0a148cbe2181a4fa439d6dc7ee4552556cd1d9400e1de4dd7cda2022c1acbe288cadb77db349368cf45a9a49926c14a4905afb1aa4f05dcbdaa8d041078ddbc9eefe73ccea29a66ea2a2573ce3d06bd9d1b14431f1b4a84e6aaea2dc13c29aed01757508b4d8656f59ad8c5d45090e6ea608b6747d79c037b49aba3de665c3ab67feb06e5407a8bd7f0fb82975f2d87f65555b8ff4f683e825c5a2907850ef96158fb66d8828f23cba6a73bcc6ed0e07cbb82389134f2478b8fb83a10c96abccd698c48b103340b168e5f42a478884bed195688c85d221069b557b6e0634a3913e1a9bc29692df868c529b6d31b5bb50aeeab2ddfe6a5ae2f2c301e33c1fd21ab82e92dc9744fc52b2478692ac369ed62dcd35e59442dcd7e43b300b22560d018509b7057c097a7b7699b68f3996f6a602cc869871aa22859dddd6cf7337f7d8b823e658cbdc7ecf94d3f93416c34c9c019cad2a69056650469993022abdc10bfc0e59b585ab623ed733c2a6a26140998977ef68ee705276ea77873c6b660a30772cfe445ab9bfc2cb416a08137b56d13bc6c173e486e73ba3fd0675f44222157546444f31ce284ae0653b0eaccbd6b798326592e306cc7605c9f681a871c9a8e00950e530ba9e3b2568cd5d49e917c7f73f606648c055b22331db7b29e3a4beb8436302de67e8a4b7bd17f64c1168a19a3cdaa7ee02e1252f1752ccfd7e53e939c19a86306ac32c9fd4fc07500f281f992b64cf4e865e90054d4ca5382556cb6a886cb4964b56053280041ba2af7f07b50094e2d2d3bf0e913cb6344ca49c0c5bd68ca47836c46cd727c38daeedb320831d7ecf720421ff20a9a5b2d7edd6c871054e4407a334f5e4a7613991417ba34ea06ba2abbb47761f01bb2089f21b58ab948e43d61e25a305fa871080c9de73454b8e613b71197aec4b2194a7cbaa0642baa89c2b6f53915a74c235f1b2258e3451e0e1de25045e595f1e54dab73296ee73cde5a879430039e5fcf24ce6b992d4d63b825aceb48fef8015a38ca71e5c7e495e913ca0e0a99cb55646de1db381bcc0cd9d00865ab52ae0db63be0e537c37a389be64ba1e432a94c04b31e31dc26e4b22ecfcbefe3a041939ec19de407bb3aceecbeb06efaf8279ef05f24214e98cdac2d6c18849d9f749659b057ab05a6e70ec0c46f44277aa3218ac538d4a4a03444fb3fa7290ca1847f64f6eb420cd3a9ba3ac4c22d2f3cf8b74d35054b8bc58d56775189ab271291c644fdead3e71e71515fd5fbf926122ad69bb961821e0387ee02da2a787c4320605cf25dc2ab160fdf242c04b245db18feecfcdc3a3212006f0a544a6e84f9ad53e76faffe48f5183f35f30bae552b6a0558822a2e82fa154911fd317a4f635fb225fda0aea8a2ae65d3bfc6dcb525a99381b8ffe7df92e73f205f415696b984112acc3560c8a5d37e408534b70659067cad770b97b3c8bca7bb8a1de290e3d045ea7382a603519dd0
+Shared Secret B: 884cd68cdd109e4066951ef9ea728750097bdd5360bbf10860d04b091e7c65e0
+Shared Secret A: 884cd68cdd109e4066951ef9ea728750097bdd5360bbf10860d04b091e7c65e0
+fbca9c394b6ea8aa5945a6247af5888bfb85226f6e7bcece666af468ee9375b1b9117b5bc018fbe744e9d6026ad385bbdedce228124afeb6f40fb82df3a6fd14bef48667a754c12bb181243a041f7f82d4f4056a4ecf0229b64b98d215989a47592c2dd23c7a95cee0e9a5446ec0e3781ed06f718f29dd84802cbc69f1c16509f1396ecb9983c6458e3b9a1c0766c00990490104a0f560147e09000229236a8b1de7bc6f84fc3069cac440aaa207f3c50b79239cbdd0f4615f1fab4ef06a372d0d2e2faa35fdb4dfe4538f573ae4bbf7bb9675d97c9b496aade7dd4e85473feeb03874f936dd2825d7a1dfeeaa2617ed7e0581c596550b6f23bb4736e996306b126362736c9a45af009ed11963416098fa65a45adbba522b6eacaa568a98aaacd3ca48e820d9b98b8631d9a00dd19a3f24fd9de1eed9c099a340dcc27880816605714806b0dfdf1d2c366db7e89f18347b30ac18db840b31eda8e2ef32dfb42529c03ac89ad1e5b99f5be2cc0173a6a9d3811a7a83ea5802e2cc081feddf15b76ab5266598b1dd4911d3a984e415bf5ec962d34a9e5c467a37645554a1feda8f2242a12fbf52ad3be6aafe1e69e0f0e40c576583890d728d363b42a92cdca2faa87762cf27e0ee36517e73e20c8eb381600fed9c49516ef46d28989a79c8f27681a3c66a4635ba093fdd55970cd158098501ba976d3c63cc702dd8557859b58995b97f1beb7d092937b1c971c1744cc34caad365bcca101bb15b0dc2c3cbcc901e616d64f9c4da8bce3505b5fb8683ceb520617b0da3ca8130eef49f92afb15cbc70fb5bf8236b283077ba964eeea2db8ff3397e549c672e9531980b4137adcb97c4d9e71e7d5fb0c3d3fc7a1c5ab5a21197667a42fe7f3b781086f2b820992c00198b341067f3954848c1eea4bedf6ae2129fe6e23ccdc113ce3cdfcf4175edc9d9e45a3c7a6a7833e3df3d5a79e236ef2f5d35f56f675ce16b879ecefec0bbb7d67ccf49a20c6b088173d5b5389a5764457c7e988335ec5bc7d17af61cc6ac733e3a71af614712a19e7d2ba365bacf8ab93c53834fee9936a0a820a6eec373c449cbaa46ad7be5832882c77eba89a3f8eef994622509df29d8c3b10c58f919b16d116ad037d69bdb628e59370887e97a9290ebe8c9d858ab8a342dd1bd2870efc1710f53fc91e584079ddc8c52bb0e71777fcb922e84fbe3cdc054f2431dc0278f52d2d1431281012dbe5fe19da83cb061753fb9c87492d046bb2d90b40ed16ec0fe4260d15bbadd5d7612cd3b78b0087054ea4140888605b30acfe6831d965bc891a7c6c03c01c2c49699a8a774d867043846b8889d6bad36214cc7c4ea2d9c5850e0b72ed003d44ca1bde4fc647f0b3fcdd1c265655034f19d428b42667e968e27562568cf05cf53adbc724b8735da074232e7a39ff9233d31c6371f095ce1dd06b0a2621624c55d3684316d332e17cdc61eb59c00e0fa812030568cbac6df242e463ff23c2490e948c6726f2f12c584f1c03b36afc595b0ea3f868ed2b39c06ad2fda6b93a8c45eb2eb9f78228a8a1b06acf2e248cd31a04e82f5a9e1ae3cc3dc38dc3e8e825620e455d91d61c9a8355402a29c386d692eada8e49430b3aebfa6df0d28ba8f945d7dbaf2c4f9866b92bc9fb87c6ca18fd5c7546d36ceb41fe10c589d8245ed9d2bbfda194f30b3143d2c207177198ff1edbd0d9edb2a5b2f8ecb691a645209a3f5df9d9d3a20b65c20db4dab407f569d75d0160de76d9c7a17372eff85c93c07da14cdafbd7081099c714f8b1de21889257861371456b4e68881e2dd77c9e969b14a9ba46ff0cc92dbd0914a341120f36bc91b9f8fbe2fc03eeaa55d5c060eb509ebb2c346586b667debd9d5d8b511ba4fb5abaa7ef995dafde093281ebb6c158dd20c071eb4425b9c9400af937aa61c012380774ff6acf97f15853780874349c78884d48c5e88fdd7cd4b521e86fd3ed92c8650962ced216a4458123fbeb51b608fc6150e303a4fafa540e23f3f66dae2fb9ef037e5fa4797c41d8597935e5dff1f96d095fa1754e989aaa75340999a0ff8a457c9b71f0b415729f7e8a67778739e24725751d37bfccf8e5bf87a14ce4e6062b87e937e24481c45d278c7d50488c0d52ecd5d4a7d3be0f561c62d0787e090b544311d8ab240ab761b162aeb9471500d747cc5299f8569abb3536be543b54425dab08b7f
+Pseudorandom shared Secret A: dbb5823e9e259fde99520b6243075e3bdf8da1fe14c3a8900cfe4a80b2102a6a
+0266fcb432b01340768e20cbdb689e15a1192e83326976d308fe22acf3f12484cfb816aac9d2fbd7aec601bbd960d4a178ff393bfe191c9a182ee2a3c80303b1
+Public Key: 5cf0506b737400ec551e466b87e98805e608268b038bea1f388679a5f24899c57b531b06bba157804aaf5b4c651716bd9e04ab1d055ec88c18ccc473e6b595dac54dfe264408044d2a062db0976302c87145a041d6aace344540f0c72ceccc679bc596f88b3a48578a30691d53c385edd848d11693691a5b8e225093c46da2aa31f0ba66054273c9bc25f19cac98e50a795804e601496316b280e616b3a22e76770c740694ae49229e140b00f5a8760b8df5c419900b3bd66710ddb402065a27cff38dfa987a5d3022763c9842277f32454ad042cdce8750e85205c13a37d4f16e80d8b5d6139610170f558b3b190c28781947a18a02e4789cfc42a56b2b99d675285e124eba48ca5d8cb223f065ac615784d1c7dd86a457c9b8d625547570b99bcab4b75250d6863cf98039d7e1aad277154bf11223101c39fa100c56344443566f1a65428c921072330b14868c0287b08c7cd06628987bc05dda8fb90540d5726677828069786abc47b1aac31db90b7a52753fcf704acf356c83083644d6863ec5107b411e9a229d1847c499175c7f710cb232ad6af3a02a39122253203cc94ed8c638683c984c5129bf90ac1eca9446f9bf96980813a51a6db85cc8817164d831dd6583093018c44785cc2c0b972a600723760d5967e45ba1a2e04dfc800754dc3b7499b829e14405121034f261650a5a45ba12ed068e650454f47309422abe5c6c95821c488488638474a74c10afa18241fa7669cdb7209a17c7398c676e0c54eff46586d1c980f240389b7458388d961745f658021261b2327c9fe5299ac9f39c0e62aee8ababe1bc09f1c8368ef1a258d7495e3914e9009ca48c899b24ac807329fa8048cb83308eb2767dbc90a87066a3979866b74b17b2496a71308483ba81a2430e29b356f208c1485980036412d977e4627dab9a528dd1911d80aa84a88615d863fc2397a418891be8a20cc226812731e80ba7bdf478a8d0aca31b6ff523a7a7809fa9699389dc844a04143dc20d0d38a116072c8a97ba5fe4827ea10351230806f935b5967dcd8487cb4b3fb5a74939015ceea4b9adc93ba85948a7d321ee4ab400c30c6056906dc3793bec6df7470c330186a96ca79303a48b6854ecda6fe3a06849903ac516111b07511f9140fa467655d56d4c888b8f619083684dfbcb51aa28aee647ad85e71573c9144c82541f6826defa0ee8715aae032163984f6a8b3c46ca5162c44800e64d8658a7270cb86d0175474913aaf13476a70fb6563999152bfcc904e00b7d0e80b26f96a603162e7fa792e24c4377e60e20e65291fab82304322d5ac3166a3a311229d8a2b50d0191902cc17b5c401d200cf83648ec5025c8c76f28cb4b26653556786a0917c47695323c064017ecbd4fa5560aa525795a62a261451a2b4b6fb86ac0e6b2b506824ce38d81fc8fc35baca9057d45f9b5dbc52d05346667614047fc8835450b574c21927715a1e95b68494e9cbc8c0061a1540c0cc543cd1f559237a947f7998829019aad906927e2ba63d77630d439f7c2bda6e52bca833b73877a6cf402344b58b1dc1b01aac85c48358d775beed15566c1337081b21bb764e4f89c6ed3a5796a4165e6a47534784bc8550f74cea87222f5062eb5aacb7cb830661a5786f75e677c7fcd721340726d83f945530249239caa4b5213cf1139b0a4b8b8a5022c6981fe61c516f1180ce68e78707e08e495a3e6b2ee5a5b220a2a2ff4346c0c4e50770a65b071632ac0ba93339bd2292da7a19b34722fba06990728973883165c2926121cddd670cf33a72d556942fcc1ca74b0c3ec10ae70a06a9165c47154923859c1f78e8baa16d410b9d1670786a15f955ca54614cb731653e878790d52b830cc21e864899d61258f3aaa36f4a2ea2ca8b7f79a21bbb84bebabfc9a7aaac20688e69231b8bbfabc60ab44b6b1926670d1b0321155d84981e3150597aaacae077b7d006f42d4c015a20b982641c7b49d75a9abe6e03689b5bbae69c1df1471cee07eed39af8df7313488078ddc847649b4e752ce312b0abaeb9a131a1ff4fb434ffc5e6f610712331d64f16b8021a9e8b7bf41caad98d42b02eb8abe2c508aa68b28544a6e0393ff95c06d070114206d77272537891b6ba59e7c8007d9d24b5c6c2596794ade811ee70a83b2c336115a1808cb2483bd3dd2136908c9974e40922192759384e7674c80a3da
+Secret Key: 4491aae7d98ee1b0b786f41e9b53198fd558a8a51a40259e2d7b27c4a4a64f35b426618530d2a21e651f860093e038ad08846b1dc847d43b55284090b549a4d4498db0f4b39fdaa453569de8e88f5503b0cc19742d4a7e842319dcc394d5833363c71e15842ded142a798c9c91a815ec372d8d8bb720364b6e73c156098d38f0b17048adfd0c7651504a7edba14fdb0dd492860638a93ce2aec3e27b9b5c1ce52643ba6045fdc88f64336971752472330905ec9c40d4b567ccac6a4596ae1624883554db098f9fc84013a78c0ff18edde60c3045c1163b64d312b6bb08a8e86c3f70b67c92f71e9ecc7a16b27ac8893c653110ccfa6bfcf7cf31145e05d62926eb7c2f744c65d3a12752b62944720d71bbb02b0d1b178f9a0b961d78c1732555acb9b5f6a28750337501770a54b840add35d7edaa0b51203422056f0336e15b414da380b8097c677f1c33b087774c997d4dc4f0b84c80d2036e4d61bd4aa4c8f34508efb7d51a9664f53111417ae7df14e72bc40dcf016f20c57c812b68e14aa03c83b64131d31c4565c4678f0138b93904263417a0b6b7fb75478ebf88bc418b746ec2766a6c255d95869d01f294348417c83814151fe663266a32fadf961dbe0a7c63456c4e2b811613f8bcb005dac2074abb8a678047df432071c00833b13e231aa05050c65240705253e94d4a5bb25a0179259398cbcb21c27551939b0c5471f78c0f6c424a237c135a7a98a1a7118418796d1ba21159f2b8c73fcf194db0002735531b7da05c6fc861bc79ab6b069a8d9b1d1e7251fc979f88213f12bb3726ab1c768869ef66de9b0b7263ba48bf156e9446685744ce9d4aaba7b02498506d15abd9a7a7e52dc86eee888d7192a0b2a7f13702248fcaff3127af064ace6659cf737a8ba21133ef959bc1463830bb1299a5cc7033e495b4bb4a4719ba927eb94c3194740082901a0c0ad125416e1e6cea2b241495a36ebb1766e537ab034be89e2378d5237fb757c6b69b72236a4a0565cd8fa2419b002c2ea3f1452262c9022d8926c38fb077bf223a3b72ecb779b9edc30c2ab1b609311ac939105c6a5c3063437658260c3c5f290ac6cb5463ec67d8559a0d90a87e2917c1385117388aea544ae5088ad971815f6667ce5695034928dc9b898a8a41cfaa2cbc763616b0abb77860a281923761319cab2310fa6acab6b7d3d388d11b284c87102adf361db693f8191148e19a19ce19a02db1e344ba9c3b39f293961a8a54f306926f7f56426a93e26cba853d65ce2b896ab941570ac8fc6f193b5e12dade65d5040b0e0a738128a7567e47b73a69a0a526deb9a81a57a3a95845e94086e5d691c786c07da2732fba13a070cb8e248c461da6bf536850583352c580d79e99c6d45b19e7c6fa89144661a7d36581673dc7a08aac1f6828a39780c33c35984260422465c9cc6c4c98637705b8841b8ac408059c1fbcde41a3e01a474a7367600d76936734e4564536ca51157c724c5115418e202ad6c5ff40b8088018e2ab8216576c5b1159ca9515105763f199023c53a35b0a3bde1f5000530002d440e1e64c0da626ee82220ce2c7d375a68fe1116f9b442eea3098ea72495809d89701cf04193940c56ddb716295127d59c681c679f9c8878e969c25e69983670ce01629261710ff99114af175c7a39657e61c808b26479d21289419f272c19bde84fbb70817363575b576828671435102796986ab19584aadca349263b0ca80705a04a1369aca36cc2727583d717c80f144cdc9ac4d732ab0bfa67a7b28920e89842719b820b74ef244c5d350d054113fe85ba63678b10e0be5ba67021433d19c267b10a26f9f8396975bd970756e5a36f79fc6cea80983e952b02a49bdd13addbf80685295a4f253d250b32c2b04232ba510ef92266631dfcf2b1ad721e11f7786006313251314cb22d13b4028a061f1163522378532fa68f76d7cf2a5904d23b1431accd134ca4d4407c71b54671ca2e656709448aaf1cd48f06628eb817427e616b4a8b9c0c549547bb4751c3758e439759fa04ec58601ed62cceb3481f697e7e77a7f8c66af6684019bac8b1bb4c68c0944fd10b8285c22002813bd2bb49693a5fa73d9984af70daa4bf804826d066e73505c623a830cab54297008079c46ae575ad88272be4355cf0506b737400ec551e466b87e98805e608268b038bea1f388679a5f24899c57b531b06bba157804aaf5b4c651716bd9e04ab1d055ec88c18ccc473e6b595dac54dfe264408044d2a062db0976302c87145a041d6aace344540f0c72ceccc679bc596f88b3a48578a30691d53c385edd848d11693691a5b8e225093c46da2aa31f0ba66054273c9bc25f19cac98e50a795804e601496316b280e616b3a22e76770c740694ae49229e140b00f5a8760b8df5c419900b3bd66710ddb402065a27cff38dfa987a5d3022763c9842277f32454ad042cdce8750e85205c13a37d4f16e80d8b5d6139610170f558b3b190c28781947a18a02e4789cfc42a56b2b99d675285e124eba48ca5d8cb223f065ac615784d1c7dd86a457c9b8d625547570b99bcab4b75250d6863cf98039d7e1aad277154bf11223101c39fa100c56344443566f1a65428c921072330b14868c0287b08c7cd06628987bc05dda8fb90540d5726677828069786abc47b1aac31db90b7a52753fcf704acf356c83083644d6863ec5107b411e9a229d1847c499175c7f710cb232ad6af3a02a39122253203cc94ed8c638683c984c5129bf90ac1eca9446f9bf96980813a51a6db85cc8817164d831dd6583093018c44785cc2c0b972a600723760d5967e45ba1a2e04dfc800754dc3b7499b829e14405121034f261650a5a45ba12ed068e650454f47309422abe5c6c95821c488488638474a74c10afa18241fa7669cdb7209a17c7398c676e0c54eff46586d1c980f240389b7458388d961745f658021261b2327c9fe5299ac9f39c0e62aee8ababe1bc09f1c8368ef1a258d7495e3914e9009ca48c899b24ac807329fa8048cb83308eb2767dbc90a87066a3979866b74b17b2496a71308483ba81a2430e29b356f208c1485980036412d977e4627dab9a528dd1911d80aa84a88615d863fc2397a418891be8a20cc226812731e80ba7bdf478a8d0aca31b6ff523a7a7809fa9699389dc844a04143dc20d0d38a116072c8a97ba5fe4827ea10351230806f935b5967dcd8487cb4b3fb5a74939015ceea4b9adc93ba85948a7d321ee4ab400c30c6056906dc3793bec6df7470c330186a96ca79303a48b6854ecda6fe3a06849903ac516111b07511f9140fa467655d56d4c888b8f619083684dfbcb51aa28aee647ad85e71573c9144c82541f6826defa0ee8715aae032163984f6a8b3c46ca5162c44800e64d8658a7270cb86d0175474913aaf13476a70fb6563999152bfcc904e00b7d0e80b26f96a603162e7fa792e24c4377e60e20e65291fab82304322d5ac3166a3a311229d8a2b50d0191902cc17b5c401d200cf83648ec5025c8c76f28cb4b26653556786a0917c47695323c064017ecbd4fa5560aa525795a62a261451a2b4b6fb86ac0e6b2b506824ce38d81fc8fc35baca9057d45f9b5dbc52d05346667614047fc8835450b574c21927715a1e95b68494e9cbc8c0061a1540c0cc543cd1f559237a947f7998829019aad906927e2ba63d77630d439f7c2bda6e52bca833b73877a6cf402344b58b1dc1b01aac85c48358d775beed15566c1337081b21bb764e4f89c6ed3a5796a4165e6a47534784bc8550f74cea87222f5062eb5aacb7cb830661a5786f75e677c7fcd721340726d83f945530249239caa4b5213cf1139b0a4b8b8a5022c6981fe61c516f1180ce68e78707e08e495a3e6b2ee5a5b220a2a2ff4346c0c4e50770a65b071632ac0ba93339bd2292da7a19b34722fba06990728973883165c2926121cddd670cf33a72d556942fcc1ca74b0c3ec10ae70a06a9165c47154923859c1f78e8baa16d410b9d1670786a15f955ca54614cb731653e878790d52b830cc21e864899d61258f3aaa36f4a2ea2ca8b7f79a21bbb84bebabfc9a7aaac20688e69231b8bbfabc60ab44b6b1926670d1b0321155d84981e3150597aaacae077b7d006f42d4c015a20b982641c7b49d75a9abe6e03689b5bbae69c1df1471cee07eed39af8df7313488078ddc847649b4e752ce312b0abaeb9a131a1ff4fb434ffc5e6f610712331d64f16b8021a9e8b7bf41caad98d42b02eb8abe2c508aa68b28544a6e0393ff95c06d070114206d77272537891b6ba59e7c8007d9d24b5c6c2596794ade811ee70a83b2c336115a1808cb2483bd3dd2136908c9974e40922192759384e7674c80a3da6ed34d7b8523475de9f14b77fb2cdd6693587cd818a4ae5bc6fb7b82eb3ecd4ccfb816aac9d2fbd7aec601bbd960d4a178ff393bfe191c9a182ee2a3c80303b1
+731fa594a7960f8b5163e47da7a0132dd209f8ca13935063a8076c9e17b27b16
+Ciphertext: 484bfcae792862c1e2cafc2dcfa102ab6f7f97344856c248fa6030e5edea57ec3c374875cc7bc358159650c577ff3594625cbc18eb4f41f191d23dc2d747f281992252390b724d6cf3fb4576fdef966038615b45a68f0a9dc849a4e698e4f124eb36844ad43cefc25953a1e86fc16e637c3ae0169232598d11089eee810dab43c57ca0050aab653e14b23167cc7c95da3ae0d7298420f3867ccba0e130f1bcd9afa4a75da5ce91590569534c736b507a12a4a211500643d19f359a06bc17ee4eb541754137df0e37b15d731e585adbc20e6f210e5ee7167ea9787c97629292c902d00cf5f713a29506915cc413b51d8b3e543bb7edb3ea095d623cc020e3d51f460f86923275c72059d1d48e51d4e557850f9a3ecf10b8822d6ae8871de13955497484c30d1fe81fb204eb3bcd5d987b40b37b6cc6546a7d87458c5417aa9b378b3dbe1a01d6415690d4d0597287a2f994716fa3812db27e4cd5cd1c408e0c35c1bad7b0e07990ecedbd816adfa05914792937a88a4201af4750e3e2eae506bb428127b611628e2437b4ded263915ac2035119637364b138df63b5b8d68ecca3d0a33a415d837e63a50889be60f80af2fe02ea55cfd5caf47cda4ecac16ae6396a1a550fc0a26d7402a4e7f717969229d99adfa2b4605aea0d097eeb54679dd466f551f64427c52419d07251a4ffdb28e8de24fc303c372f567b907fa25a33e2d6a85b938bd6ae8d037ffea580a2d5a715e239698480a832b3abeaaf427ad6e3ccfe5e1edf3cd0dc4ee29b29995b076baa6304db0da819d5ffc8f0d97cb69e5ba5a78f317a154a642923aee9afa658ceaba4827dd1b60d3cf4aed5e6a374e3edd6696ce8d48e534d9226bc56bb62781b63b867a7921694b14e03b979700029a60ca137a375e2580b8066ad887f9521b3b644d29abbea335df1054c942139ed5f2ad592e0198b54bb229cc62bfce60824793855fb63681308451b467baec185fa037db5f118ed3fea5429269adb3fb2558778aeb694125d7c4230cd4160f4a111a97ccfee4e43582a6dedd2760c4c6692cb5c84e8d2a3155db08f02f5c96c0022dce3d14aec686d88b9429d6464f052c0d7b7c842abb4c74237fb7e3d19900bcd95351f9d2d21747eb44b18505c8562d0564c27b3b0fea093d6cc7e9b0bcd69e07167c4de76d477a213c7e4b8e1da7caa232ab8ff0d280a168406a799350f6eaec80378d3c1f3791852dd2732fa0bf74dfc7f3bc6ecca51ea9cecb5a3ec4ce0e0417394621e18dc2d47eb2a11b32a8e8ce2604c455733e9bed7f3c8d9dab1e8ff54068f55210ab7c6e8aa2ee620df7b0f0b184393035e2c2935e47f078b1fdcce4231765a3efdadfac777f3c1696b03ea47e0b1ed87dc75e82c40621bbe1438cbad5230d3ea3132e12e52b8fe21168a7a6cbfa4f6ce4fb0e0f34030fd43e7de7bc766c400737cb25b609694b27aef9864736854528d4bd731fcb63cae7266c0489b1fa528361ae06967836269514ab8c6b32e837f975520170c39050718d6ce23a5d5b0ba9fcfcd095b3b932e3151bb95edaf3a073d617def84d2d74d5aac80d34f1c608866be6bc91ce472ba9e1e585716414f4417d6154fa4ee1fe8907d92b52e0dbc6220e14526257510db899db8ca3aecf085410b89acfa9b7c4326bf56328266be8c81c417872f2583f3ec20b60ee8275dbd2893e043a89f2304186da96deac41538261fc0d6a408f4009b8cea3c6092ae8bf748a141cf921004450a3695db1d292c1ec1ecfa6952394be31ff856d5d8d82ebc70844add5087c9a4391d74295016533fefeb67a9d472412fa1a6fef663f5cc3a93f9f0f3a464e5d80c905be98e74b286cb71db72b9e2189abc521f7f5995da993af6657ffa5fcabca23b9618bc62c199ac1e7c74b2e88feda25dfe8e7e60f7b5f79a33de57210100048e912711b313bda3163579eb03b74c202a163748a9438f74d415c4d613d32d30d645a48ff31395f2c40589813befcae3b44d4c45746b06e67ef4fbd99d99465ee8f406e36c70a58cbaa37343d6aa0b4d415000e4a488cf842881fe5dd786b285d9a7d0d607720614816155aa323db2e07e78c72cf5efca716a44acb93c1182becdae7b9257d8c4be6ca8e462087324ee50ba0735bb1ae63905ecfdb6ba470174c2b44eb96e485f0e1926d9dc92515a6f0b6d5ece0c82f12371181a5173b4d55b0999
+Shared Secret B: 0665d1a2b44a301c624a49765bbc6d562cb35043538056bfe4446e5be1949724
+Shared Secret A: 0665d1a2b44a301c624a49765bbc6d562cb35043538056bfe4446e5be1949724
+d5feaa5ad65226ffbf59f980fdf141b2c307a40e155e3c132f2a66ccc959e772de60fb21c3913556cbb43a909283f967caa99e8e736fe9fe8bda35502380c6206434ec3b09ce59ed9e509148d214c4bc15352c5bcce98719800385d8f2a647137e0c6160a0c6f5cea7a9d41c04f73bc82424eb66baee6141edeebf9345d0f304d06d516cffb27a3ae1e76d26baaf9035c0e1055d13c9cbb2a565c2a79120859755c45de49785f019bdbf7ea5aa92d299e5e11a59b29294a4785aee61f34a5c3c48020d5c20c7a29c8b485f24d867fa8968663210fefccf00024953eadd720707eb06bb2847a48345d50cd812f4bf17aab3fb492c2348efd1a189ab795267233cf7a67f1fb87973cd8ac9246eb2e2f2492f7ecab614039de8efa04994e5d1fe385c80683f962a3f75d9a73ac7eeb83d71c2f3697f6303d4aab74137448bc9b6cd5772227df3767db62f4ffd6d2274e9c3ff4a076d156291865a5536a54b1e5c776789a622f5484f2ba967c7bd08ac15739ce5734aa6037b7993bee59d8cb5908e857f2cc0a2ea995c8b9eb4c8948bd63b182d11f4687a15881f075059d3a4cf9740287f049caa4e73bd45f393a4686e7e49554241739e5c68636126db448ccb8a4fe7400f5c3d10155c464cc232bd8a52f8c1112711cda46de29ac8ec82617e68c50826b14e1e01c081617eea53ff6da3cd3af24edf9ea8fef91b7f539e56bd5bd3ba4bae1b76b25a9df91cca3a211bc395acbb02c3442e0b4c316d30b1956b65803b8e7cc53486c5ac5950f823881d87021f19cdcd27555bce9d06c77e40dc5d0b970618df652dd9dd9a3dd13d719c46ef19f596e1639e835452dee018d5c91840c76815313fa4a8cea5d789447716ab441fe150594266d33bfc72208f3c831c6bee61ff8b66b5510816747bd0e03202518eeea375516591eb4a353b975f10a508bdaea48115c7e3173a99fb1179cc5f3c8a31025ab5bfbbb846231ccc1e8afaeece20a00d5d78fd92d6ee0338f1922275b5029f9dbc1d148f3e216f327dd4750ec1664084b7bc2ca5604f51372eea28087d8d0fdf5d9d8a348e7db292bd6e8a8fbfa29dd28367e8edaae480e708f7f619d14c434660f9de82db9c68a5950d43467377a05cd895c49faa369b80bd5e98c27eb41b75e7a4997364accfc9f6e2be03a914297eac6c70d1fffd2df95092f91ab734d28b9c3bcb50e0574aabe24063c97c99dd6d12275a1f995f1f5634cb77356191dae8f3babd772512b27b7b5d14ac3cecd163a5f48da7660cb64b8240bfa8e1099571d6f477f06f0b19e8188fb16737926b72e8f5dc9bf23da2efc4627f2be020af663e0756c9bafe41f4577b7f724739db76deb09b6b579405ede5900ff7621dd6014d1b75c9e8de272d4f89ce6a0649a389806e738f0bc81312922d2d2570107da20070b0c77ed712e82f57345f80065cf6c9b05d6f2eebd3a50f1c8cbc34cac9d68b5e8fb9bb4ebc34cea09730fd5a0e3766e3f4aeab6cc8a27ee87ecbce18d6a815bfd154e070db44eccf3ffec80207aa8f276cd4dbf12dd29de27474e2a7758594fc5f97b65b05a6e6a094cec6bd2dd310fe4d4ddc828d89b263f550de6b61b716674492494927f70ec47b64b53749fb81fbfb7cf2ef4b21ea1986f545b7497b36acb12c05f912bb251f8a2f909aca9976e0d3218cf7fc01cdb9522a06716fca529aa69603cc8b03c350aa46f2b41a8f45a6cc7ed66a29699f84b090a75db21168efff6770196c325585dc6c326871c32ead3da52213fd7077d187437513153b98d802fa00c992ea8b96434b1258b897ad75c2602896791dd7b90d351fb820c139f68dca1abf2e8f5718b0483d7356b3393c6548686309af6e1ded5b99264619977e63d991fbd80e86e819358569dba028864c0ecee1f186899d2bf0d5292793e185df3f9f8e432ad62333d60dd60e8310d36032a76acba3adf16aa321af8583091899000b214a560e4174dbff46101a422967c51b856e24b9c7b4b9b6ade6519f00e3bac1f212221575977b8e9ef6c585d94c07824ddb673012ff9179f1e17fd7886da8ebbc948799e14454a64f045e1b42b0befcaeda46523b15106665d84b773c833b26d56920a076bfcdcf82f21a8da696476f8ebb1e4cfa6ab13b16158244a5442eef919a53197c83fc828d77433297f1faae0fa69faa721a468dcef6cfb9f0ea633c9cf73c0a41e5
+Pseudorandom shared Secret A: 231830bf3b4d9d53825e71e6148e1442cbdc0950d5a112ddf76005297116ae0c
+f5141b15c6ce73c1f2d3cee2c930067db31c5b6a2c7320c7be98db09b38e1c759a28a375f8eeb41736a7a645f36a1b38b3db87afd58fae0e5f5ac33ee0454d15
+Public Key: f89151457820b3156a869c2cabc8935f2991b155a57cc60c8de21978c86fed1c57c25c3b1749a98a9917c94179bee7c269b69e31a2c0e9cac135568d3c4c4838183119214b1b45465ed25e4e362d9ea9bbc8675eb4f120f9634864c6b486d2102d58ca2ae35dfe2aa03b8c100633bbe4c35b84f0a14f85103339065afc049bfcbc43e6289909277b333313e9a7881b87e044afd1327546b8bb0a62312e13c1c1f898e142b45a5491a95a3747b9bb72274f1b72cd52975abf75b542751d1d8c8fd413619cc4c0c91268105a2e69da1b313ccdab66016386319901070be45245e4659fe38f90e928ea1c3418699ad6e99c2deacb8896030d4b656e22417bf007c5c401fd5c839d385f4744499663cfcab7772d8b1223275696aba2de63bfb67538e3a747b4d112be2c88015265d3971ec13020f9072843bc1e2d1283a6d20c9c966c8261b4a4515e39eb84c670222675bc12e926ac2336ed0b1bb9f39f5ff3ae8de7adcb17501cc281e555c0d672ccec3c848fe80e460a24a59a770958b537b6be8dc1187017595351c889faaed291cf742c4f9de37a6ea02630d1a843347df82a090f167020fa7fab236536e83beb5b7b7cbcbc7be4b2fd051f8fc7a546b216190481ea777f3683c59fe4badc142badc26a60449da41658be46608de6bdc5f39af9c418b0225270584c0a1b195365677ad93153eb9d14a90c77b6719dd27a4c6562f37b717a1786e7999a9c8aa2042704088340be025fff1a5c7fe279de471bce57b11c7b107c68a279671125a260efe924ee27c95fb79d4d5b883c35c846e692d6ab11d6c8cde7308cf21203b27b5238e83e1833b062e84106581c0c940b15990caba42861ba194a15c8744cb82335740fa77dbcc649a1d16fe86c6e646728e9a3acecb80b2555230018907890168a44087580109392158b77299d3b6f321b84583c7d06729dc33654ee87765c22b946320a2c720572f4624eaa9535078af72c34401a921f229ee4b497101aaf6676cda4c5b88ab1561ca683a5257c04e6070b47cd1a285fcf0172e55367c84cb7f82221cfa51dabb91c4fb751573945913c7644d348c836b142c7617c97bcbbbc4bbc1645865b98189440c94933cb7c7ce12bc187aa737575a976e21285dcacce565c6af0429cab0dffba1fb2a349d237aaa3e5a0b0e0a47c187bd5057e285424b4daac730110acfa033411a9e7824d9d5acf0da522e5728ceae5202002be0ee70f901a1c0161b31e8a4c9a0bb3db8c5b32c094906101d7dab10a452998d922449b4b4d7abbc89a42d48ca1fe56885365a477808add914c98d038dda124292718c8ba8a64651017883872cc1982aa734c932651b21e96319f1625ac745044aad56cb43c06f5a7b59933b35469b8c577460d32446de309d1b11b0f763a60b62d44e0acf805007c6b5f4283313deb65de206bf7b0ac75b94b627a931959b89dfbb46258a7098830332385d4ccaec7631a1e1a06635abf948166967b02d9c088d93970977a934554ce81c8b34ac76e0aa4617a9c3fb8d62e1ee98cbd2c8a7d945111d840e19cab4bb167c9118b2f913c126a68f8470334516cd176c85bc819853a1a7ad58f7d60c657699215b18ab90611cc8343c136243d6284d3ec5495ecb0587b85a97b7542f07a34412d41d1a22686829b58c26750313567c24195c665305159057007363a1990022ae48df44a78a16c40c1f41c090b7b1efb468108ae6c70879772564c83b8c713b3480127f7594054c93252904f18f503f9525604e96816e279f03214bf14c900309bf33571c4d2a2dde642823b9723b368a49b75b4f72718757cadd595a1043f23d0cc5fd8649dfc85b7b11c59fb1b83b57f4f825c1e21a76c7bce87d46ad1eb00d8331ec60660a8e1b927a392ab966c789a17a3814dba630a59331452a0b495608cc4809d76c346a3250732808ff08532176056fce1534a454003930510984480428face30034d4cc5b1505a4e297bfc0689c836564c7c5ee02440405001ed44cabc6a0e8824eeee93861cccb20b35a60345a110986d0c094e494513e08c59ea31e0b063cc644017d21944a0ca6279bce28cc008cf5982a64743968289c781847368e382762ff2b79a09337ec0bb1353166fdb45299259b69ba238e27772e12a51cf49abc228dec815eddf601d2b55bf55c4d61d28c1a6986cc616054f2b912394ed06100926dc3b34f
+Secret Key: 38964d99376298a9a87a6a3b9ec755b2f97d33a356abf84590b091f420881a77b55f34531823708fc6bb68e2365342c267e128b969c634fbc28bb951fe7c0e0dc7560f8523254c71383914b0168c751b73335c735fc58263e9a196d35b433984af5192e6c61afbf736953a72b5284b95f79900824adedc23f02105bad17fc5e87211ccb03d5356bf546cbac009fc47699cea203754b379f64b501c6d665b225ca59d0a572f4f455f8b52c29b926b0c20a4356657c235b7f9421e1394287ca3cc37ca86727609ff5c3faa34a10e778e45b64cae181ec3b2af9507abcde7b43098b6117163a6b7c638da3924fc38456ca81ba60aded98cebcb80768a005e416aec603e847848614473962a92ce0112d539a2a0603d47618403116603cca30a7a9e51264189eb9f3adc112b686b8262057c036e2cd1c71be24d6d40422699abb4829b2fc52b4ed5586a56b4277a925acc45ca6292cf222386f56f31389e42418662d829eb9bb17f5b62822c3172c40d8da969a08a7f88bc498eb280efd34a3238af659c4a87142470948703db31ec0b4b0ad56625647bf28072e18377bc395a93a9a4c2e26643c10b27e830b4f50c45e1677c52b461b225df2957c211aaae5a2b8f05a03f5688c699b89f13ba67887da35c0dbfc68249030de7007e84472afb6578b829246a336a20e32d1e38a1a7018f7746331cb04a6ff62fc12141ee467be4f97b054802741a2aa1a451fe997e82e12e42562c4069763772456dd248290953e352214f47c34a3b562cf659dfb3539c5c8f4b492898e18b3f0a163fcc675f666700c398a0027aac91b075623134f03fcab52d79f4603a38a68155552190c20c62789b17b5b002a0b46baef64444b56c764425c5c7f8b2d5f32d419067e60aaba7d6b296aa69d8186cfb1591eda5ba60277f739abdb8193574c22a66fa3b834156f16725fff738b695aabed080a37c7be484716ba2ca367cc78c367b0745443e550d34494c6066896a6004401cc1dff67c5ed9a5fed771a0c2277fba5f09b01a600873063b2cae0c6ab8912f58342d80e33f6687a12381af0bb0b2865853cb0c5fbbd070f56711b24bc97a431c5bfbbb904541d7656773d32c125265fd660477b3548b615664394f1ecc37b43938e9da126eb79f145474d3158ac7363a7b432449b78d958aa41bfc0a820b9ef4eb0b1242172d63ccaa50ac1584773ff598353b9be34acd28270cffe498abf7229b5b1fc40039ef15b5f1aa231b3926f29293dac5566ae1620ad32da46c3b73b8ad0e62ba593123993024ecb361fb6aa2fae57f2167bda872423c5b8a003507fff31e6f64170c642b35047dd035acd0145feaba13dd4165e2f3172100acce9598c046aafbc00520f38e54174ed2d0aabac142e8d95319022581862d23c5554ae5cd8c160455714e238420fc2875baf34b6e229e30d0a3ef674af7543b47bb21f0d41cb07a1cd8c2b312fc238d0a263f723c31f72fc6316413b6a805512ceac944622656f4b9ada706c374b6b3851756dc161d99599f9732a013f86911961141d75048e076df84baf5d187f1d2c4a7e4899d229abe2088d886617f08bb7f2227b110228846ab97d5090220c0ed46201dc81ea78b15ba95315c7b9d5a470fc896710c90acd384279c5bbc40a4359e0544aa1615eaec26dcab9521bb709921cbdd56857d2a1edc7c7f4b407e2317b42840833c952839129983671d74e013ee080dc9e8370991a277d893842793035ba33f86b0d9d31782d27c32f32bcab64a7fc1c34a863a56c20278b35f0eaa0c25696c4d6a5c7970c233b425ae23c54cc7c2cda91bafccbab5d2535009295adc5cc122b605f737fba09bf6558a6a93210c0ca5d394bdacf84b414c4e1fec13d56b956825903850a45fd12149e19a717bbfc296a3c80c4dba8499ed28583121cec9156ce43b8d7ff715a74357eb876d678259fe92258f0161358a7a7955bf93da7f26c003bfd1c4de5a894025bb8611c1f36653ac39c41f53b1e0971729077e45e759afa71b7d9c102e66a96278c963ec0454ab154ea79a3ca87399b65fe1c88bb2898fc15a0828f17c1dac3798d037aa1b2a36da60377181bc247e3e32815c9343085a114d11426e242fb5302fb679a036ca45de6473c0744da8187197b4150e2ac3b48c1e27fa9df89151457820b3156a869c2cabc8935f2991b155a57cc60c8de21978c86fed1c57c25c3b1749a98a9917c94179bee7c269b69e31a2c0e9cac135568d3c4c4838183119214b1b45465ed25e4e362d9ea9bbc8675eb4f120f9634864c6b486d2102d58ca2ae35dfe2aa03b8c100633bbe4c35b84f0a14f85103339065afc049bfcbc43e6289909277b333313e9a7881b87e044afd1327546b8bb0a62312e13c1c1f898e142b45a5491a95a3747b9bb72274f1b72cd52975abf75b542751d1d8c8fd413619cc4c0c91268105a2e69da1b313ccdab66016386319901070be45245e4659fe38f90e928ea1c3418699ad6e99c2deacb8896030d4b656e22417bf007c5c401fd5c839d385f4744499663cfcab7772d8b1223275696aba2de63bfb67538e3a747b4d112be2c88015265d3971ec13020f9072843bc1e2d1283a6d20c9c966c8261b4a4515e39eb84c670222675bc12e926ac2336ed0b1bb9f39f5ff3ae8de7adcb17501cc281e555c0d672ccec3c848fe80e460a24a59a770958b537b6be8dc1187017595351c889faaed291cf742c4f9de37a6ea02630d1a843347df82a090f167020fa7fab236536e83beb5b7b7cbcbc7be4b2fd051f8fc7a546b216190481ea777f3683c59fe4badc142badc26a60449da41658be46608de6bdc5f39af9c418b0225270584c0a1b195365677ad93153eb9d14a90c77b6719dd27a4c6562f37b717a1786e7999a9c8aa2042704088340be025fff1a5c7fe279de471bce57b11c7b107c68a279671125a260efe924ee27c95fb79d4d5b883c35c846e692d6ab11d6c8cde7308cf21203b27b5238e83e1833b062e84106581c0c940b15990caba42861ba194a15c8744cb82335740fa77dbcc649a1d16fe86c6e646728e9a3acecb80b2555230018907890168a44087580109392158b77299d3b6f321b84583c7d06729dc33654ee87765c22b946320a2c720572f4624eaa9535078af72c34401a921f229ee4b497101aaf6676cda4c5b88ab1561ca683a5257c04e6070b47cd1a285fcf0172e55367c84cb7f82221cfa51dabb91c4fb751573945913c7644d348c836b142c7617c97bcbbbc4bbc1645865b98189440c94933cb7c7ce12bc187aa737575a976e21285dcacce565c6af0429cab0dffba1fb2a349d237aaa3e5a0b0e0a47c187bd5057e285424b4daac730110acfa033411a9e7824d9d5acf0da522e5728ceae5202002be0ee70f901a1c0161b31e8a4c9a0bb3db8c5b32c094906101d7dab10a452998d922449b4b4d7abbc89a42d48ca1fe56885365a477808add914c98d038dda124292718c8ba8a64651017883872cc1982aa734c932651b21e96319f1625ac745044aad56cb43c06f5a7b59933b35469b8c577460d32446de309d1b11b0f763a60b62d44e0acf805007c6b5f4283313deb65de206bf7b0ac75b94b627a931959b89dfbb46258a7098830332385d4ccaec7631a1e1a06635abf948166967b02d9c088d93970977a934554ce81c8b34ac76e0aa4617a9c3fb8d62e1ee98cbd2c8a7d945111d840e19cab4bb167c9118b2f913c126a68f8470334516cd176c85bc819853a1a7ad58f7d60c657699215b18ab90611cc8343c136243d6284d3ec5495ecb0587b85a97b7542f07a34412d41d1a22686829b58c26750313567c24195c665305159057007363a1990022ae48df44a78a16c40c1f41c090b7b1efb468108ae6c70879772564c83b8c713b3480127f7594054c93252904f18f503f9525604e96816e279f03214bf14c900309bf33571c4d2a2dde642823b9723b368a49b75b4f72718757cadd595a1043f23d0cc5fd8649dfc85b7b11c59fb1b83b57f4f825c1e21a76c7bce87d46ad1eb00d8331ec60660a8e1b927a392ab966c789a17a3814dba630a59331452a0b495608cc4809d76c346a3250732808ff08532176056fce1534a454003930510984480428face30034d4cc5b1505a4e297bfc0689c836564c7c5ee02440405001ed44cabc6a0e8824eeee93861cccb20b35a60345a110986d0c094e494513e08c59ea31e0b063cc644017d21944a0ca6279bce28cc008cf5982a64743968289c781847368e382762ff2b79a09337ec0bb1353166fdb45299259b69ba238e27772e12a51cf49abc228dec815eddf601d2b55bf55c4d61d28c1a6986cc616054f2b912394ed06100926dc3b34fcd0b06944bbe452fb8c5f22a5a2a68bc9c7a9cd8dd51977fca97a353d3c5e01f9a28a375f8eeb41736a7a645f36a1b38b3db87afd58fae0e5f5ac33ee0454d15
+9205c8247f5976b340d72604ca9c7709115d77162c94e850d9485809495bc7bd
+Ciphertext: b7a6411cffd2bbe5b4851c5955e1bce69e90e9d576d14e75f6c65a0da643d3ffdd7b324e2c3d0b0420b2c69c890745d6fa46214a0563a24a11dd4a47d87b38176bb0b92eb3fe70124ad2736383df4120b0669596e975cfc223ef1d3026c8052824d2de72d19ff3d25831eda4bf6a8ecb2cb96decc24c0327fcde07256ccb7264d415b4e48edf6a2addf0f375f08a18b440bad874269c28cd598ffd0cf61c5e2a2b8d893ef0856ed14da78d1fb9f041838a974febfe7ef893ba1a3fd8da688f44abe0393fc6460982ae1e4495af878b3372f2fb99cf7cfcad456a8acb1f682bc738124a33b0807b3fa6c0bff42c3c12b9757f0ada1eaeffabec47408a07072926faa47e7aaa7633de5ab1ff92a13c597da423764f2aae5382c018ea43a778777039006ec2dfbe9f48b7a7d9f3c152dacc8261c433ae3b30e004500dc65762634f3e3bb3a7c9772e09f92a57532b9d5daeb02fc314cf0bce0a6c3ed447a8923aa10bc1ad2b910be0b54b630340f30bd45a3ad8d8478815cd8720987b38688f8a0172172b9edc7c4c5edfbbcf705ffbcf138d09647979d0049bba1aa35d7bb08c6a0ac986dea2c9db3a4fc154fcb302d3b5640bc7c83c922bea7fe6fc7fc48b272f488cb74becd5001e5afdb77badc90818d4973871f24fb806874c564c072505985bed64aee1a6d8e331a62e1d3945a0fda0d22f28a07cbd2c174d3c5d6a09bf13bcd82a8cab4a455f70257d0da47da1256cc622651eaf9bd4825001b0452d212261f94ed126c7e3670945f8b0a0041665ffbfca9068d6ee023fbc48669ac878362487697e4275588ed7be653fd1609af09d9b69461c72bbf1245abd85b6dc97aec6824a9b74f9f05ad2e20b6fcab261e15cb85b8dec4afb07aacaa63fd997c87dc82d873267e7b36b1ab3df660c2ac9c9d3e7f8d8bcddb0d04556f061f8f2722968ee078cb4d346601886c2b85453e23289472d796afc8be7d270cba56f3adf59ad2f2742a6991700f5e258f033cdb3b3741f761eac6b26cb604072f2967494831649043d5d79c17d51f4e0f4e29b2e4da92cf840685e699fd1112e4174566181a91d1bda6930eb1b603f1b6a6530168e9e505392c3734914ec4b05d1fbf351a5245630b7277f208e3deaf75e3b3a5b032fb61e5e27bf844f9392bad948f23e0c22616edb7b7be8d4d96cfad4c771eccdbbffbb49500fa9191948fff0010867c9dffeb8d6e5622beac1d2687a7eb39bada8b18fa2f630ec453222692fb22e6dbf3a3e03389237523522670d36e40bf2f9e005de8ff78f787a3f742f37ee8568b5f9d1494ab49839e1a5df18d1e767a925369d02590446886e483821f051a2b7b57031b80ed64dfa9e19506fa21083d2dc024d90f57c226be43aea92bef39c4233f18544ce88b80fd4851113096e7a0ad1534cb8eba0c4b077a03238ba3aa1f15e8eccbccd8ceac5743300e8d913bb9d9bd66ec17b3006069ab951e5d3fff71ba944967e8998bedb6235c05139b901e6a4c7b7735aa004675861265e8ff77fbf02c261dd7fe5c0db6b5b9b7d3bcd593a798c5937ceb1e6b57e65793bcae482294a0ed19dd03a5240aaed946820db1bfdd1860d4d97352e2ade67985381bd2b93707afa850068171bccb14a569358ba95565bf9d76580f9ba40a0e4c033409a6fb0f8bb85344581c020e52f39ed81e54180c5462983e408129598a954192d21dcb8b9924abff3c1e07df4ede455ee680b912e57dc6a9b62e7ae4cdede5dcfff0ec594d03715834ac95f8eaa6e9372d22f416e09bc46c76fd438b79d9d5629a987af1b371cb0cae4a475062054228c8345ab2023b12dc4909e71409a1c5f3fb279f4cc5937399f5fe667e6f2b687134451d1a6e26fc69cba452eee695276148ceb3a77cf04f5c9d9b6ebbebc98eb0942ee2dc3a67b23933ed3d0d86dd25c9304a24ce81652f736dcec148eb175b850e58e85e0125eada79e48238cb0a8c1aaa141880deec9e272013c187d78e3bb66bf4bb42f1cc3f71b1e96aa6bdaa86be2598f679dc6c3ac4162b204272eb163be267f5eeec7342667d7eab6c6e0eda980d54a2a43cce69e239adfd17e4c9982e3dfa25ee548219fee9eef19d422fbeb52ac99e2758144245934430c87348e64e4e12e5a395b9c94243f17258f1595f1e9c8d71800a526a12a0b8fdf29327ceda9b6644a7f8fa998ae47b4e94481899f922bddd4
+Shared Secret B: 355169a83ae27f044928db0805ad7cb08f4adb7d712216925a3002b568a5e8a5
+Shared Secret A: 355169a83ae27f044928db0805ad7cb08f4adb7d712216925a3002b568a5e8a5
+b8a9ea5b6ec5505097790fd829ae1807103737197ff9d78a780632d70ce9a411ca724ea0804980d75ad5d5353fd2dc0556ef0385db1459047a3ac6acecc9de8445a4bf2d9ddd48ecd7ebc932a1e3c278c1c684c8a7dd0100b9d8ad432d8c8b672c33c137e38bbb4f05a34f48cceafecf22d0484d11f05c2077a8b1627ee3a9ae888cd791c79a9696c588f18d548a2f98ecddc37978a602455c856124f38f1a8525ff34ae483a3a593f0cb8df558ab37bf9eecf66fac4bc17ba3221bf2344da0a9886b13c048aa0b9b843659ec5d9cb2b31f37abba48201f53ffd94a90f292794c1fcec6d2d2936b87a33c257c88e829a60ae617c9b38037e05c6dd31670533d2e11d7ca9ed8a1c447e123bdfb77ab3c3ab9e699052ea24e301983010688b366f6a88f3d02c8f1c083f16c01c5c341c8239598a3bdd9cce5ec7e059f44dc2612866c1f1f9e671abadf915aa1de08bda0b4bf98d2ca3517af2d81740e3f5ba997407d6d76d78de0828138daf434ae278646dde772ecae8d16f539f88f9bc4960da304a85150778642a3f73ecb9b51075ba4ac063adb81ab3581da08da33e0ea699a776381fc0a34e1ce5492f8a0b732b967d2a23a2f08c4cc79f5af881a1e4ae36f1d679fb660bd7398e4979cfe1c5a8be268b5a101fe196306f63403472e2fe2292c410329527f71ab264e888ac2cdb3c73351475d166c40ab212522c7f5e466de89451fd2c4ee356a2f74e2cd13e5b9cc36c26575958ac87a341f0a72a35db58d1c4f3aab8b4a22699b2423f6b58fd409c73529c5bb8d5690e62ae66fe78994aa6f3b4b3724ca5d0e3629c47c54a81306377029a8123584b641a7b442a02e89ddcd2bd57f0c38e87b918596cb1cb7d7d9f12af3dba4c1de9020595985f577d56f1642a03dee0b2c6b8be6de35e39067f8b66018480696c6c334371e26ef3503b573becdfc61bbc6de9cc8ee6c9c10d0a1d1f6689bd911461c2b6fe203b4690aa68980145e0ae490d7e38dd594872947ea8e822be531ae29eac8a9e354e90eb7294a2a64e90952792201a5c25c327474541c23c16db7f7df3bbf51e6d82f3cc1ceaf19d5cebcdf649cc05f6782faca5a8a97eef382b2baf2cda8074dcc1d703c006321560ec089566173a863703789e846b21be64fa390958ad1925d993e636c4b1039c554f73ce5c6c307a8a3c3817189ec32fce34253df507db6c86415ea32a0fc705a79e606e0960afd064a0c92fa9a9409cce58a0705b03c1bf18a81b85caf0e93b0b0845e6d72605b920cd3b9915d6b67734c68ba27f53cd6a7954690b9bd3bbb8494d6649060e17fb9775e42a3e2f1233e58b90723744ed1305397f17082128539e28b4be8b582b1130a12cfc0135d4603ca5ff06edc21db7d4b77847dd2234c95468a3d668d4f17ba881fde18608a03e943d8a46effd147c7f181bcda8c86a897ad1154bda591660a1d029c612f137bbfecbe0cb868cb8601cd0fc4ef2563a96241b191c5def6bbbcc3cc62f4926ff5d3c68bddff2bf07c86f23e483083c468f7fbca2ca2c79d5467ad7157d2cb53a6ce9688ed8ee98f320a7db6328cc00a0cf80d5599bb3faeae8a5386a22ea0b68a9b85d2cecfd2417ea8f2a55cb149368faf86913c1484685de88343c7dc0280e962ab925be7c092b52fa26eb1c1ec7bbddf1f52112acbab135c1d97ebc1d4e43881e744eba02acca0ad015e3d52f069555f88811ae22cc48c9b3001855b61c9fa6753b9b410a1b61718a01b39591c9fe0a7d361889ac8052d13ce2036ff6705359e124a0c967c570aea11a339c322bb5f9c0ac448f15c19a1a1225e3df1c0f29ad84e9defe4d30d8e554889f07deff58b764ffd62f5c4a01664416e484694f3ade2d9d65762a8cee69d6cda65f9f6cb50470224434b35ce4664f431acecb93ed4175396640eccf3002c14be5a220315823a6bcde63d0a8aeda06f73c5838c61f1b7312a895ad0210869618ea595cdb8718a0d7ae7ff70eb6ce97c65f498f5cb7fdec16f70ffafc6670630a7c6f303d1c7a80d7f954319185ef880c9517a4fb79ee385927d9c55aa75536f4ebbf8b856a967b06a4facfcb1903924206487d390d4fc407019b82569dfe8ef23be27705ef6ccb978384778646995ad30f5876e5af81c70b868ceab5ef777a485828c49f9ee316f750aa9571fdc3fc6e2740be4badc0c03afc2b58678e7737e7d0a709
+Pseudorandom shared Secret A: 4bd0a9434d177cfc14bf4fd8711302628e7eede6e23b304197c773537bc82eea
+ce1b5adb8825d8a05d95d8f350ff6c931ea7faf9b27a8e7de26947017e4a8010d1bf1980541b31327b5d0d31fada3d863e1ad953a638950a7d3633603666ee90
+Public Key: 81083718a09805d5b55e6c7561ba04e7b3595fc568d5426f15f9c57582883a9988082a7fc48c8757e0000dc23e5a75758c8a44bb2c6c831a8a77a1a27b323c81b3569662c8fb9832630a2e4292b70ac703699626ff140106720bdecb68ddbb9bfadb9450b57b9f435273840c168241285788ab754e17303e481050102284601b7bc4b733db12c8f40626a956a1fad07df3512c699554ec94115be75c377a58376541e2a6764d2a1d18c8caa1ac927566ae4a862ebac3b742907316689c0986b70914afdc1359fb517dfea0987f6687f1c8b97520545a8988662a06c3da478e40445d453c99fba29a5b49281c91a552678d1780ee672b8cc080072446610670ed796031ec636e9ac820317e4f4117d14c27e7794e8c369a423337bcb3afa74c87ccfacbf4a418fa8c65251a5b8b41bd79b5927170793de6a73bac80ef7598d6900c1d3ac72bf1014ed16bc3e63a21508a8d8286e95504c1d913755487c7a270c9e81ac249509b716593bc292632bff7785d35525965a902dcfba52e772b3ae28a1927b94ec3becbb9b66f1aac7d091906864d36b2b4d8d152c0f132ed68a432d48774a29428e28c25d1c71f02886583b93d07a7d45b3982119a54cb459ba2519c4190a7a42e1ce07a58249db024b2c1a64068f2ae6807b228b190d676a99403353de1c252d91d3133c9b31721b28ac7475a300d87737b56c014d969b2c2ca9e6146ea617a2f1367420b1f5f594bb1e1b5704a968db39a79e2950b93868e26c35fc829b80977e4cb51b6a39a65798d290bbe34a5784c53afda6c40348c7b13f088d9ea9ef51c664b776b9d3b3dced39530907df06170435a613d49c0a09b71bd68aba95216ac849be43307163b60780a323216c4c5f60d7af98b6fe048b0b5930b08410dd48a2d611b9575cc867255f737b73ceb7147ec6d6870c06457cbba918c97a25b60180865186279c395f21a408cc11fea9157964aaccb0b716200c0a3fb888e7c77ea68c4e071ac56baa638a30575985022b59d950967ae17801f8a9c2d9b3ddf0427e4524048b8a869470366fac547a81a8b445ebdccc8bcf3148af0b0412208cec20f55c6c65d183e905c4ca81445f2369ef050031ba252f7fc86ae3280900704b4e797caf009d0c4554b543b381467ff879849e4b553d1ad8e281b2128c7656177dd6310d5060004162357e6a8e4f10668cb862a9cc800d974364a1293fb0986a009df388428a376a33bba26d68f1b910219235c27093ca5e906e630c98c40c7487590df397c9b2715b3e7b8e62b49b4906369a66422d08cf2337bf6272fe6316235cb81adc6b462e12376e70c2aa50b5cc25d1b36b37b35b3140bcde1010753a104058aca91869318e4a3130460053274346b9d8d80b09eb5a68d8a919dc312ce41719b343d5850ba5e96a926e5a231fabd164576ae3761aa26becc53250038036858b9b8c023eefa335161744c80b65565703538771a18664e64a5ba234800819609769e38589ed171b4236b56e6227355fbc05c9846f7b1cf901023d557be13a5630fd7a1bddcba1e145af01bb60891068d55b4f4185f2cab5e3b455d61189c73d9b592b40383d386aebca671a20e242ab6efd652d7d6a12ac9938c3c2b88475d91f445e32622d92725e236579de522072375b3d87a5476beeb05066a140612910e783c9a7c24c5dfec92e9e174e6e46e16c87a46a6691ec861c6480dea7647f0b78dc48c7f34a890ec570ee5f864e84b2c622c1732e05845d5021f6c062fa944852609e19b93def02439e4438e8661e1181c4964860ba8aec73062fc50283e16178851c45dbc08ea62a263d6ae49214fc593040ce66ed88a4404a192be50cb547357417b28ba0ba8d58a405b7cb44f1174ec053132d95a979c6806d9820313a644912e681000cee0697738cf7f4cac26e67b88f39829c41b59f63ee2926b060b874fcc0bc86b2afa844453916f5a64168fd776d219087ba6a3ec5097e63aa4a9b45d08e999b6c4978b09463512227d906f3f73ab48fc9f2684b0bc8581f2f23d3a5cae597a7779330cde498e87aa5c8484761e9273527bac0077c91cd44a0d12bc39321f42331a28c5a93447afa3b1a58977042d6270703a22558907ee35b9561694a2d518b2194a1d219778157414729fc6470fb4eaa9b8232883a4394926fae964e5f4bc6c4bbf5d0b274d8ee36f605d6a285bd9e43c3f9bf7
+Secret Key: ecd64f9475909529985e6c140fbcc537f271043b8cfdfc5190892895d056d332cc9f6436fbc523ecf6c8f5a40d7090b2f4308fd9a7b6b34011198523ac4a105fb3800641334467be084a9ba8f668e1775f70bacd74b52f8183713d199343291c044b874c7256334c71b0236a5daa25c6d04896b4450398591b726947556c13f16d46b12dc47084af865b35346f3c9cbead522399a67fcf30aa3545a4b8949d8c0c03d7751395f57ef0ea23f3e0426b10206a3b3be53a662057531b5a009f09cabf1c874ca0785b8931366785b216be0c0baab21b62d51c9633462fe7910de2697ba4ea104ffaa48415a621163fdf906f3d601423402952e58e98361a3d7b01dd25ab75d695b8977117422bdfdb92aa809d26c1ca7d0b26f1e82d9bd49ed3e524ca63ccc2d02e11e399621393bf8871470246b5aa61ed34887221b78f018474ec0cf16405da2c750b7506520907b352670b4772d89c18c785bcdac01799ba3779a60be8a4b090c33677d12220dc9bb1128a38a598205752bd218a76f96edfcc2abd60333e073cd8c4305f64a932d915b2dab1ce57978ee7c394b49df7d600b03691dd86160a0665f9980b4bcb32bf207380490765cc02fa9543e82b48a9445e185bc523868d83261bdbdc0133e27c8e17209c643018904cf65c4459b456bda104e49700d42842e728811bb38cbb2152ba7104bf7cb49e225fe75893bd3a55ca9c2cda7138f2ea4a1a496f357522ffd4a60435a7f2b82fe226c27251178947734f966748a50769ea25c1e04d4fca6317d38b3eec523451304dc270bfca8b93386815f891821a58404ca2be4b2ee5cab2ca5a01c84ab58f399e96fbc9c4481347260009067132a52fd4a309a9748d63d95959e4800138c040456961c016d269603dec7d77b325288b3ff60a5199b93e16b4b3608c67c0d9454ea77c941a6b2c7073fd0209a6295b90f4a3fff23ee025a91791c5692c69f3150cc41632077b775db4121a78c44be8b8e4e0b9fd071403aa23c0985cb83666b621b856845f7517a4a998bcf584996bf524e8bb44b0145be2ea9eb4994b64db9ca9cb41a2d4325e12605d8928e3e50b96fc79dee990f6cc092ed1aac94894aad61cd1f74f2e65b848cac76367c1d8034ee548641c9934ab8b974f43caa25625ec115d67f4453a176f06ecb4ef58b0c328ae938c16fb66c87c72893817286c9ba52e26c922da0b0f100394aac4ede66bfdd3b8a091275d2506f4e8663e0742c66b6dd20320b31157651c872b62bd63d7853fba29a9c50ed2b4162f35b4a38830d79b45dd64908e1b10ed9839bc795fe4d64776e58bc34ac17549bc2cb3751255c1e887b733ea0a3d8c1e1657398f9b404d6c282c983f6247820b442c4589c64e8b6639c86800811541d920ca169bc93762b96bc92b470706d659be3942f9bb958991606b3652025aadadd0be415b36ad62578af68586cc9a8018a77cd858945c513a1242fe575c0d5564c0984fa32889973149816952c457bdf91a107618c279c7031cba1a2bb2787b71b701766fef6988cd797f6be938e9c72f8d34b870e8227c78755c9769d4e04a96e0a06c6b606e7cc5366ac47e4a1cda9278e2e3306fb486fdc97a6fea00e4fa9215f410fd9a5f0348798f0c1a2ca49666730909c02d75ba21d2d7280c86b107f11238f2bfa482ca4841538b1744bb3a2f987716b502850774c50998162720424210411866654b7345b93ab51934bea0fabd01f0996cb9611803c79ae603606c362ae59ea7710cae1c4a323b1c7bd0a5f3d13a7212a620ea91bfd15f682200831165345411175213a098379e889a6d776444ba7eb4807841f774b4fa1083e73ff7322ae41874bd3794ad5735e6e50f05173d3ba1b66ae9a3863322c0f56f4256b66c6b39ff13b8b3815a3552a8312a62a501b2faf228c15bc614a7433071bd65a7959ddb2548a246c30b431e5c21a8180fd4d14cea346ad6b01c974b5b1870675c3c2b30926261f222e76cc43ea4407d854ad037b2392a1a28e570df990ebc626362e1829acba86043516d342ac4043a9fcbc6862b8466b251584b9eb4c512f9d054879166778089ac17c619178bc3bc34c72963ae88626e3320b87b58840b536a851bafd367e1094c1e4c154e7b84a7ec1500b09b707b849cb402136cca7c591d81083718a09805d5b55e6c7561ba04e7b3595fc568d5426f15f9c57582883a9988082a7fc48c8757e0000dc23e5a75758c8a44bb2c6c831a8a77a1a27b323c81b3569662c8fb9832630a2e4292b70ac703699626ff140106720bdecb68ddbb9bfadb9450b57b9f435273840c168241285788ab754e17303e481050102284601b7bc4b733db12c8f40626a956a1fad07df3512c699554ec94115be75c377a58376541e2a6764d2a1d18c8caa1ac927566ae4a862ebac3b742907316689c0986b70914afdc1359fb517dfea0987f6687f1c8b97520545a8988662a06c3da478e40445d453c99fba29a5b49281c91a552678d1780ee672b8cc080072446610670ed796031ec636e9ac820317e4f4117d14c27e7794e8c369a423337bcb3afa74c87ccfacbf4a418fa8c65251a5b8b41bd79b5927170793de6a73bac80ef7598d6900c1d3ac72bf1014ed16bc3e63a21508a8d8286e95504c1d913755487c7a270c9e81ac249509b716593bc292632bff7785d35525965a902dcfba52e772b3ae28a1927b94ec3becbb9b66f1aac7d091906864d36b2b4d8d152c0f132ed68a432d48774a29428e28c25d1c71f02886583b93d07a7d45b3982119a54cb459ba2519c4190a7a42e1ce07a58249db024b2c1a64068f2ae6807b228b190d676a99403353de1c252d91d3133c9b31721b28ac7475a300d87737b56c014d969b2c2ca9e6146ea617a2f1367420b1f5f594bb1e1b5704a968db39a79e2950b93868e26c35fc829b80977e4cb51b6a39a65798d290bbe34a5784c53afda6c40348c7b13f088d9ea9ef51c664b776b9d3b3dced39530907df06170435a613d49c0a09b71bd68aba95216ac849be43307163b60780a323216c4c5f60d7af98b6fe048b0b5930b08410dd48a2d611b9575cc867255f737b73ceb7147ec6d6870c06457cbba918c97a25b60180865186279c395f21a408cc11fea9157964aaccb0b716200c0a3fb888e7c77ea68c4e071ac56baa638a30575985022b59d950967ae17801f8a9c2d9b3ddf0427e4524048b8a869470366fac547a81a8b445ebdccc8bcf3148af0b0412208cec20f55c6c65d183e905c4ca81445f2369ef050031ba252f7fc86ae3280900704b4e797caf009d0c4554b543b381467ff879849e4b553d1ad8e281b2128c7656177dd6310d5060004162357e6a8e4f10668cb862a9cc800d974364a1293fb0986a009df388428a376a33bba26d68f1b910219235c27093ca5e906e630c98c40c7487590df397c9b2715b3e7b8e62b49b4906369a66422d08cf2337bf6272fe6316235cb81adc6b462e12376e70c2aa50b5cc25d1b36b37b35b3140bcde1010753a104058aca91869318e4a3130460053274346b9d8d80b09eb5a68d8a919dc312ce41719b343d5850ba5e96a926e5a231fabd164576ae3761aa26becc53250038036858b9b8c023eefa335161744c80b65565703538771a18664e64a5ba234800819609769e38589ed171b4236b56e6227355fbc05c9846f7b1cf901023d557be13a5630fd7a1bddcba1e145af01bb60891068d55b4f4185f2cab5e3b455d61189c73d9b592b40383d386aebca671a20e242ab6efd652d7d6a12ac9938c3c2b88475d91f445e32622d92725e236579de522072375b3d87a5476beeb05066a140612910e783c9a7c24c5dfec92e9e174e6e46e16c87a46a6691ec861c6480dea7647f0b78dc48c7f34a890ec570ee5f864e84b2c622c1732e05845d5021f6c062fa944852609e19b93def02439e4438e8661e1181c4964860ba8aec73062fc50283e16178851c45dbc08ea62a263d6ae49214fc593040ce66ed88a4404a192be50cb547357417b28ba0ba8d58a405b7cb44f1174ec053132d95a979c6806d9820313a644912e681000cee0697738cf7f4cac26e67b88f39829c41b59f63ee2926b060b874fcc0bc86b2afa844453916f5a64168fd776d219087ba6a3ec5097e63aa4a9b45d08e999b6c4978b09463512227d906f3f73ab48fc9f2684b0bc8581f2f23d3a5cae597a7779330cde498e87aa5c8484761e9273527bac0077c91cd44a0d12bc39321f42331a28c5a93447afa3b1a58977042d6270703a22558907ee35b9561694a2d518b2194a1d219778157414729fc6470fb4eaa9b8232883a4394926fae964e5f4bc6c4bbf5d0b274d8ee36f605d6a285bd9e43c3f9bf7b5ac2d88032f4ad34ef47c1194e46c021becfa5985c8e5626d353ff8f0fbfb4cd1bf1980541b31327b5d0d31fada3d863e1ad953a638950a7d3633603666ee90
+6158c0c574628086f46a93286ad02a565a5fd16e04389fb29fec8a1795b9f7f7
+Ciphertext: 5888291af116fd9f5b33a76f130d94d36d78ca2e75d3d3e32968449587e5a902cc5a63d1c1047cd4bbb1499c9293118fc56704342f4b1cbca7e9d76318dde31e1d0e73ac0d742a16f8df93dca88e5d2db347c96b22e56b1976d5c795bc0cd35f9bc1c12737256766dd6e24f52c12db9390f68f9405589d9b12f1264d1387eaf686f4cac4f5384013452191b573c8b4fd7f48e3cb184fdb9b0f0f06ad5c51088547cdb39e3e95d20c5ccb966bdb69ca5292fc5a28a44a5b89d574a92db91a1f39f1a24e93cd098a5200958b0900fc53ce01fad152db1a0950e2df041b8fae0c721e7315c3de4cc44f85b6937bf13632699df1c4006f0322cf15032211feb1949ce7e26d057905d06962e9feec7663f0e8f7c5c5e8c4aa6d4d2b888f6c54db4268e0fe3f24c72263cdd0f420000e4f23990642ed55b728977ab04758f7c10cbb4e57f7684b10f645cfec838a506b5fd7c7ab859760852a4b8610e084b9a42a524f7110297cff1e36e55f402e3d5513ca9dbb28a3733fc9e751b9883176febaa24e409e58644ee72cbb4df3115d6eb046411ad7bf62b458646708c9d5b15368d462b82f5384c2d1280bb4c1a06ea6ebfcb89612909ab300d30d4eeb452068cb175fa7fd518ed01f785f1d0a004685d1937b10e4ed8eeb1348e33eb3eecc7ef18a3de47edd7cd7f8789ff73d6ae5669ba3a5ce78295baa04baf46d0d91f8c1a2ec60f185698b4c0fb1ac6dbc6c829866def219cc4f6bf846e0d7e21ab25406a1a890f12160e5e5e88fcfe887263bc496ab07ce5c35f2b15c52c078a2795603bcbfd34530851cd7cde60b33aacb69315ae08a880cec66c38bcc4ddda0886ad8e4509476bc781aa6fb00a789cc44e4ab52c1ae86966b088ecb5a236f09c519e1475d707382a976b5d2c493335d19381d38c2e5a67c26a947670843c294ef4957e8b5d5d1c0ed315398c4c0079ce93d7f815de924b36b45c53c7dbd3b02f264ce3cbc234436f4831659a847d5af74dd35621d81e885496132c6d42ee362331bf6e5f5cf2a0d7dd9692e01ab73772c4d59f6696e3849aecb25759fae2241619585456526c5cd73c3718daa2148f244b35bb3fbc5c6d398b325c23708dd8b1df62880e228b7d098f2b3328ef7d3cd41cd7ad3b5f15c607b5a2988134a8732eac9b3011cfdbdbd9f3081258963ff7e994b99b42e887587fe391b098faab94a33f6d184917da692cbecadd5b835758a728bdcacbccfbf21c830871de9e56a89fc906a07321cb2e1c155b7c40729864d8719d5a97c6ea783cc1a03c5e10b2db3cd10dd8f3d70e2522b2569d2ad53cd139068562d5e643c77fc9aada3db2520a8658ce93995feabb7578daec27d8aa02a0aae7c847eca1faf1993657ea1ba28783836a35706e1c6a9b3ca13a72e0c8981c9f6b89e78fd0dda7acf9f9d82cac7a47fe853159d54879a6b5ac77d81c8c8e67b22cb88d156e10e1c459e30139a7359e6fe99ff0a3dec53d1606f8ff5b13dd2455fcfece640b0badeb57e506377ec7e286780c181b51634d3dca094ad2c3856082f0d6fd2e2ca48626a770c99bb138f98acca82b6a8ef66414b7e1dee3587a9d6273d5b0dfd57ab791b8768ca463c1c808a389bf637a0ffc5dd70880fb627aaedcf00d5b9529e9ad098fa75d22a92ce444a9bfb61a922d7952ac01c7616e787b6c8caf0207d33e0b2d5cbe166ae94fa22f141d984d4bfc727cfe2a8115709305ed18cef77e13752d7905991e27359ef8a6f648477360a68c480cbaa9b2c407902d94b479dbba6cbc924cab9846701263ce4a364f0e3e1e6231e43246f9c21475a3c74e1b11e311ee5b47f93835e4164994529f4e89cb11525f34806f468caa7a3fea612845218208aee30fef40f6c6d033fe4f936fccff5bc4069a4f2de3530047e1e2e53c94b2d107d5f5186287eb24c84d51a9f2f074ed8d437e5882199b1083bf87d7636cdff0005a7253af4eb6adc1f0895c46d009642b6ae5ca8fa49860ba2ca6e624126e67b569f246bf2f3bbc67cd93eef8cf33d09c1f1cc05806c62d278c5caa57a9e8f7d64fa31b79834a285aa8cfa87b834d83cfffedf8d033da1cf0da8f71372051bef934197c21620bdfc5c1bbfa6a98baae65b568b4954de5e9f32fd7b0eff05257767d59e63d7aa17b5c7e20a1c8f110b5383d247d7c2b2f9820d7b6b73c38371caa3fdd71790b2405c05dabb47bf
+Shared Secret B: 0909e22323953281ad3ba83592c8c787fec10f4ef5c030b7a3f7a8e3b188163a
+Shared Secret A: 0909e22323953281ad3ba83592c8c787fec10f4ef5c030b7a3f7a8e3b188163a
+8363000e2f07e3327a37f0dce4dda03a62469e2ec92e8f37785a5c678cb3db08d5220d4e630d2054f877708219077d21c7dac76c32011b17d6f520a317097050d6f5f347587f47de0dc0215ef52d9f3cfb6c709d738dcfc4610ea0f91230d5f0fbf97f7f79b559c61ca4a65894e1284ac2d5a72dde67eac0e00137df447e2e526f9ded5f31f27717065b6bf25d868efb6ca1370ca73b92879a2d302682d89794a1d378f5130267e02332eeb9794d7bf26b581e3443d5edbd1c0b3a9a7fd384fb50d539cdcca5bbeb09bf7d06331e7163a9f740aa8dda350bf1dccc81ab742a097346947aa8e83059e8098e6eea168df51e966b0b039a2b6d399dc877db261a9cc2ec5261edd9cb23ee39990ab936420b257dbdeb7bfa119bb85c9c1240dfd68b0c108353cc57af30edfb42b151e1e14870654a62e01ad7af79f62cdf19fbed0a9cd46295241675d2027f064266844421f0aa2ef65a7ad678f15f4fff91a4796e4ef3c0798d4aaffad85513e4db45db9ac7d96d4c1b6761a25be68d9176661eb8835649184422c8dccd99da978b31b34d5945ffc9019cf400dd9ae07e502f2ea21befd6ee219b75b90380a3314988298157e5f1599a9b0f0b9d8c5355be8ca6f44c25c5c6f0a55404b1ff245ded598bc03295b0ca84e9f06b007c5685a527154ebc2d402fa4cc6b960210c2ce29ed179efe194b68cc3cfa2a52d89c1cdf388c5ddfea03903ce544fc6c74aeb24dfa59af5d6c79b5236a303382ab7fccc76cfd5ba75b36e64a5dd88aa73402600ec2bdc3fae19fc2cc2412c3fe2d135392eaf217538266e84cc7e919f0faa7f2a814b0c7840f650e6dbe6bb96f24105f0aac943e86b45e8d9ee8d2f4f974cf973a3183a8d87073a50ab9671aaee2b923dbf3acb4aafab4620058020c859964c3eeac26836e5cb621f097c8a5c9bcf0bfd55b503b4ab5a5d8e13796cffa8a6b69ccdd009cad65d526fde75b8117de1a138c76dd018d8256645323fe10a70891e9af983fcc77d4384c797c00fe8951ba34a4303dee260665c94b493e93da82809cd0bd1e3abe30f0dd4672dd3b11ed16bc8a4d08a9799b618c070a48dc8e631503a10d17d80ab406f6a58d679e34a1aab75ed75f6f0eb18c08f41846836a3d31f7a8f1e6f31b4184b7b259ada3231f2b7ef17ac2eb6fa715c2a029ef95ce5123660ae695e976a7ead00ec950ee75013ce1d5980dbdb9ae6735c023fd160bba8bf42101213a85b709211ee826dbbf46b2089e951f8cd7870fa2c307a07795d842626db77d296c6e04cafc4b24b5e2179cc96c350077437bef7d4b43f2d7d042edd6f9e633acdc74a4dd9f83801515a83eba1c007fd6dc3a82244957d2bda0374892f2adaa3ba6ac27f10150c8b44c275bea085ed4d3513461654e9dcb7e8b274727a3a532c41dd92b20ee702422e7efc4105d60d6b3199f95387eac5c567c54e4cb043ba13ac9c078b4c96a5c3eb971fdbfa786585d4668de90261828ed040feb00e7fa76b12a0f9737e292026c5c1d23f391a34d768b3a3addaac4e504336423f8f62769b289e306479f0bd024d713e5d88a5d0c0c6e44eb4048413a5236e5f0619a93e11f141c1d5ee3f998f67362174d3ba714111fe57d8a1b7d5f82fadb2d6f3e72adb9b5e366778d8d378b98a531d986122072ab8df21c0859b099594f6304265b520a14efabad9c423acf74e398375f4bbfc23cb90bd1e21ba5a431412d3f3a531fe2d4505dc4e825d1d09df341dea0a13d0b7ed7d580d980a21851fa2fb24aa878e5b699b4d0108035e7e39634fdf5edb0634b559b60c5e50b0188611514858d943db57e274557858d1a7ce6e7ad03822a96ae163b79ca533fe4d7d09012cc44c42c3d5edd6409582a49e289ddda01f539328b15e4ac2ddc1bc403db2bcf71cd285e0d45ec63a60cb958fc6aa0f15a1b0001d37a13a32ea64d4e1e8bee74fe4b05ab8e11b7d3256162954b6bb1da36507b511e38e0e87cd404c55c9e5d8c6dd625c32a2872b62079986f30c1d4695434f2e0a008a21a0664eeffa7e743a785cb327c88d2bab96740b2ff2bae69642c746a5b2fe2fe27e5aec73e202e3a006c434da733c903c6551ae4772e6c9bf1038e5560fea780583400a5bf0832cd125fa23c12444bd4be8442e1d7e72e2cfe3973b6be8a3ba73becad041ac3b1e9d2e03feb32cdb398962ec8387d95d74784409054c7
+Pseudorandom shared Secret A: f3ae933089b3f470bbd11b52f2e85c9765bf47d060d6023a53c9f808e21457af
+1b282befe1187748f87371a084661adb55912d6fc5a38d407ca25e730e6bc973ad136694583317fc8677b635e7ec86d60dbde5c343f69c47fdbe1aee8fb16ed4
+Public Key: 9ab0a058018832988911564bc9ebccf6760f7418762ed41242b1958c367f4a7aaf086abebe7538833846673794f61b91e912b48165067ad64f018717cd268fd1a7a61535a199d5bf5bd7b97c51448c411a0ba93cf2158456811f8ad9a8b6a682d2712b2b053dfe283552f7bcd7358af2e70e51e643c022cc6619220994bfa68ba3c5f75acdc32a28871f0ed098fa58c48585b0f73350d94671b19314bd900c66b5abcfd04c1ee9a8672809ece2ababb414a5986f9a1b3b0f5bb0f469ac4284b46f497ea34a4801e830bf2546a23c1402008eb9758ca83731e3e5cd9cb67cd2212ccf915f3b914092022933103adbd92102131a1f43307d849e467c2a9dc4584f5b41a570b87eda69e239c47c0427a931335d848ff86986ff2c306783357566633f31596a2cb1080670a4465c82a55a9fe117887004ede4c3c1a86a2cc2a862f08fe250a7fff1584bb14401f572aeb4040cc3a0f570b7f0c0c1ae2760a31b933b2a35729ba47b73505f323d3ff9544c0c09a666b7ff380b5aa0607ddb4c95d11bd9b24e623621c90970384b68e746714de8ad0ae5cdd20a03bc513d0535ae4ddb8eb111c13d37b81ca0ca82f493d54aca5a6bc10ba01467f52dc71ca7abc1af4d2b9b88e51d1b1061e7469005e46e76829fcc25a10ffca032cc9533416abff2ce787047cbc81ec7010dc31b83fdf27be208c087c277c30351b7970474cb50f2133883f5784139ca45164ba7eb244573a3c353bf0942be5e77cbcc6c3c26fbcb667b902568282e582598924bfc779c14e109a07a52f3704a88011761dbb58962441ba927682a0911caaf3135cae79730df8484b4d7574b7b726e73c75d71289c6093d84baaf1c7826d770700822a81434e5401500c037769c01a36b8beac281a4af385276036f4d370351157cf608779ca5a5652423afa9a41830a75f3996ab0b516f63ac3d55e413a5e69ea48dc005e0e7c159a12cad9374604c385879ab84ad364b0f5a5fe5364b68a474abb2ee782af3ba6c729255d411ab67aa315176a8532a0b79cf9b4d363241c6036f857cf2af125f6d68c5034447e27cd45f67ee638c798176584a38c22e6a572d5cbe02201e3cb4e0ef9b590a916483b038020bb1dd353f1404c5d126d3e812b67444a3636bebe2096df96cda3e519351ba91acb70eb4910c711919928888a819d8137b71b994b84505292ea6b659c4ec1f72aebb80a0f9abbef0a2e94536fde7c373d40c37dc19d53e3070d679e41078f2d05772218528217bf4c0b4d604676e47a05be822c31984e306ac60430a1e4f2c49e822cd221b422290605f5c2de155afa77784aeb447653b961088158ca5e56066ce574aa2b267a2d8931dfcb2a3bcb17dc911531342a115355f315ab9b660b31cc1f1230a33df87828cb69026b5c3b7166e660747fe7c04217573cd77403c42457da67c17c4723c7695385709a646394641ad7f038001c0fd193c7b2b120eab3173783159e6419ede22c88167f851a0969010d2110c0ad406990016a23e37c5d615952d26fc21c9a46400449e4a3b752cd71b5793beca3822690cea681dd92c00d691d7ec86095068454b84fb0ec6f21ac6de18cc182b67c83605149f5368d43ce82a04448428a5bd3b4d8f52ab55865de17045621caca717013322030481f3a1473b0c707bb26581079ce6e0c885cf30b702310da8a855da272345a35233184a79c7396553e22767d5d766116a2a35937c98e7420e5bb89448435c815a9e0d739d929502c81b304774e12f2880b7303433093779681f9b7062fb11ff5e1127c816643b8007818099c6656e3867f9365c9a342bbfd6831982ba516669947a34346c46ec42c2345d47874030fc4631cb7d01d2456ac4d64b9de51a0079b72acdc2de0ec1aa8036dfe57381ebc302d433a16703d5c456d68742c63d42e18972d0a61185be26777a75c579c963a8b41a7b603e7f2a339e9c9e9d213dc234e47121ef0d026c470613ce4afffc30ce1ea969940ccb410460a105042f979f5142cadc260c804530af742a22300296028d808afa37c5a6c874915dcaf74201f0e52609aba4c4970ad1879406e191552a822caa91f24816001e20d0f96753bbb859bf4346c7b6256fa10cdb74c08ac759319924520bea335252ca0bcab077169143c2d008b78121e2c124850f473e329efff8a143c12851aad055323aead8ed47c817a0df7ddc25c
+Secret Key: 827a6f29828bac57a5a0e07755bcb7a4b791cb385163840502c05c177257e26a237bf60b81f36541fb57ebe560fff5becf550761e1c9f1c5bb2858972352ccaf4b9499e1992ae00884aa2f1a127493dc5d5fe9bf8c467098830261e0ce65274cb651527c134029285c0cc89c074742cb9c8cb7716fcee44257d5c9a198aaf2f315334c5040e2a4db6bb55218a29363bb4de44dee4287f16b1fcf335b9a10144e5491d2508e00e0cc24dc556d19091dca736c8b248fc216505879819a665d80a38ed7bf87a46b551898dc8c0077e5a89f565d236cab6a8a324b7aa5e04c9277f9a3f5163ee793bc69e56fb52041725818cd62b6af310c5f0577af0c1e87ca199ac438d1a070fd058fbb67bc90b61e47374b5a01945201319f1b79dd316af64c456d00b56a4b3945ac58ec7238c5b2276a90660b7a845db45a40677486e851b2787f5e4095e5a7cab52b15bed8bf2407079d1b905e7c47f5f63f81261abae12193e250396745b6827ace04728f1799c3811d73d78ae8227a6d2089fc69529d7683a39baa934a661ea22508c090540c2ddf10721246810ea7af13bca741166fde54b8e3e57cd1a5cc952744b020a9a8e72316d2054d5a7fea640b289c40e5ea4bd4e93616d486c0ca639dd46c9071565f5022a8d601aee2685e91a9e349bc2fdc4ada4a593fd494d2e2b89eb528393344a1dba4f02b6ba5c701fac6791048024debb2ee57504f274f8e2628f447ae2ea07506843f448056882b81cf3a5d101c496fe56eaaf0b23aa8cdcea031046907880c2a70a70b58c90375d4515f094672163912f63a7d296e8cb9082e55b22e1503339a22e4685fd032179c2304ded08d329820ef2464eb49435c738fad692f742ac4d8a58d479c24a2da124aea877cc71c083a03d83446eb8327d778579e04ad9cf8813f6167c8681621330b16732d1fd65359a087cee8aedb00a882f17b64a6215e005497d6b15510bebac216e2ac2ba875951713b9c7646f25d6461ae938689cc2da92232bba8ed5d67bb083230003089db658f5156ca6279532711f940311f65b9205861552ba119d993c696c9b4abb1375a47d9b17bd8cf989737825629ba8d7d5a8e82b5e36774f1761a38263374194084ecabb311ac8e9957bb89946aaa629bacccef1133d127a7e07a4804723bbdf25b4baf56beac71199539a0e56096d6350d340448af59c72a5c5bf5008fe744e651a39cbb76736a557af12b499444a61468ef6dac5be566d528267f7a3997f380f33dbcd588591e0017219945c494b8c1a6771820304be20cbec172abb794b43bc4444490c05d0bbb6f26813299d68435404bac2b34172f3310762483747033c30d28709b013fce3b6e60859f2aa4a9f124feda26aea09cbe49194377ac064148b225154adb84f16dc5f215930f8e5c71b89579ec9526782b4bf457e7aaba60c5172aff3a49fc255eae620cce5b60f3479e10b2c275b6c7cac27143223ff0a7f285007fe148c1b20a662c28ed0609b2f70114c444491b9b5278417d271048e7ac32a6063c1400d0df8c5bb409dcf3c1375c3bd297a1967782476dc437501c5d201a40fb5655f444b558b4b74a200bc91284334bfae2b7c02515e3ac8a2a0c1cdc0592a72194681b6390cf89982fc6d6210cad56475d2613f9bb673f2609afc3c0209c28b6d5c33021151ab571736302a8c316f30f80c963228a35a27a37476cb1a98d9a6c030cb056a9b2ee73ab74a9007866ab550e775504b7c74b98abde33675b2b2f4fb57a36c2554f73cc650b2d275375162a6e0e23ab3ac4ee9895bfde2c77b7ca1cf129936c03ea590452e3c703a8a08f41a5866a202e7a35efdf773e7c90c861ca1bad3887210084634adf8d22c38e6bdb7d51d47ca96b74a520668ba23a18e54101d19484801fa5604f635950a3df182adbd69ae16a91e1b221feda94c3ffc400ab32b6f62ca5e424e33ab18fe02b7926b4fb1db559b482c34a923408b0903f8a135552419ac86e7bbcf2aa565d216ce7c689fac530f1979cc5579452e1bc373e90efa2b8976a59575717c024b477554449c9b5c0bc860b9015bb8d5663393af93f48401db1685020ab5db38258830246b17c1bcab6f249d9cabba33c293be397cdbe5c33029c15f4309b8c41f1ac59c2dd9899f7328f2889f75e65d9ab0a058018832988911564bc9ebccf6760f7418762ed41242b1958c367f4a7aaf086abebe7538833846673794f61b91e912b48165067ad64f018717cd268fd1a7a61535a199d5bf5bd7b97c51448c411a0ba93cf2158456811f8ad9a8b6a682d2712b2b053dfe283552f7bcd7358af2e70e51e643c022cc6619220994bfa68ba3c5f75acdc32a28871f0ed098fa58c48585b0f73350d94671b19314bd900c66b5abcfd04c1ee9a8672809ece2ababb414a5986f9a1b3b0f5bb0f469ac4284b46f497ea34a4801e830bf2546a23c1402008eb9758ca83731e3e5cd9cb67cd2212ccf915f3b914092022933103adbd92102131a1f43307d849e467c2a9dc4584f5b41a570b87eda69e239c47c0427a931335d848ff86986ff2c306783357566633f31596a2cb1080670a4465c82a55a9fe117887004ede4c3c1a86a2cc2a862f08fe250a7fff1584bb14401f572aeb4040cc3a0f570b7f0c0c1ae2760a31b933b2a35729ba47b73505f323d3ff9544c0c09a666b7ff380b5aa0607ddb4c95d11bd9b24e623621c90970384b68e746714de8ad0ae5cdd20a03bc513d0535ae4ddb8eb111c13d37b81ca0ca82f493d54aca5a6bc10ba01467f52dc71ca7abc1af4d2b9b88e51d1b1061e7469005e46e76829fcc25a10ffca032cc9533416abff2ce787047cbc81ec7010dc31b83fdf27be208c087c277c30351b7970474cb50f2133883f5784139ca45164ba7eb244573a3c353bf0942be5e77cbcc6c3c26fbcb667b902568282e582598924bfc779c14e109a07a52f3704a88011761dbb58962441ba927682a0911caaf3135cae79730df8484b4d7574b7b726e73c75d71289c6093d84baaf1c7826d770700822a81434e5401500c037769c01a36b8beac281a4af385276036f4d370351157cf608779ca5a5652423afa9a41830a75f3996ab0b516f63ac3d55e413a5e69ea48dc005e0e7c159a12cad9374604c385879ab84ad364b0f5a5fe5364b68a474abb2ee782af3ba6c729255d411ab67aa315176a8532a0b79cf9b4d363241c6036f857cf2af125f6d68c5034447e27cd45f67ee638c798176584a38c22e6a572d5cbe02201e3cb4e0ef9b590a916483b038020bb1dd353f1404c5d126d3e812b67444a3636bebe2096df96cda3e519351ba91acb70eb4910c711919928888a819d8137b71b994b84505292ea6b659c4ec1f72aebb80a0f9abbef0a2e94536fde7c373d40c37dc19d53e3070d679e41078f2d05772218528217bf4c0b4d604676e47a05be822c31984e306ac60430a1e4f2c49e822cd221b422290605f5c2de155afa77784aeb447653b961088158ca5e56066ce574aa2b267a2d8931dfcb2a3bcb17dc911531342a115355f315ab9b660b31cc1f1230a33df87828cb69026b5c3b7166e660747fe7c04217573cd77403c42457da67c17c4723c7695385709a646394641ad7f038001c0fd193c7b2b120eab3173783159e6419ede22c88167f851a0969010d2110c0ad406990016a23e37c5d615952d26fc21c9a46400449e4a3b752cd71b5793beca3822690cea681dd92c00d691d7ec86095068454b84fb0ec6f21ac6de18cc182b67c83605149f5368d43ce82a04448428a5bd3b4d8f52ab55865de17045621caca717013322030481f3a1473b0c707bb26581079ce6e0c885cf30b702310da8a855da272345a35233184a79c7396553e22767d5d766116a2a35937c98e7420e5bb89448435c815a9e0d739d929502c81b304774e12f2880b7303433093779681f9b7062fb11ff5e1127c816643b8007818099c6656e3867f9365c9a342bbfd6831982ba516669947a34346c46ec42c2345d47874030fc4631cb7d01d2456ac4d64b9de51a0079b72acdc2de0ec1aa8036dfe57381ebc302d433a16703d5c456d68742c63d42e18972d0a61185be26777a75c579c963a8b41a7b603e7f2a339e9c9e9d213dc234e47121ef0d026c470613ce4afffc30ce1ea969940ccb410460a105042f979f5142cadc260c804530af742a22300296028d808afa37c5a6c874915dcaf74201f0e52609aba4c4970ad1879406e191552a822caa91f24816001e20d0f96753bbb859bf4346c7b6256fa10cdb74c08ac759319924520bea335252ca0bcab077169143c2d008b78121e2c124850f473e329efff8a143c12851aad055323aead8ed47c817a0df7ddc25c9b2c07cbef9d22a9b065d8c5f4f4e70277b6a72ec92e740866151833dabe41d5ad136694583317fc8677b635e7ec86d60dbde5c343f69c47fdbe1aee8fb16ed4
+ca348f598295b4a7f44c9354dca5ebedc1da55822ab8f83e2db8cc5d83c341a8
+Ciphertext: e900cc8355b043c0ad139a7bdceea2441bd4ec4701ab52b7ccc3bc425fa7a2852bea5b3783a33ccb3fc4bd3660fe915076a26fe4059be4b6c4752dae2192154a4570da0f6bfe47415e1417aa8fb5a2d2cc2dcfe0938a73cc68e0a1d90d7e1a8bb4eac5eea4a651b5beea7fdcfe503b6ead0eda05e8a07adb067016acc036e0f58bd8a5b8debd973e5c4c66d1b5e622462b2ac1db62da3dd59c0008416074bb694a6c09e4f660e03d26285471eff526a7ced347f3200935dc9cd2faabbd900def4e3336784dc93e9c337e40a4b94d4e334d2df2c12d24cf7048560515279251557f4deeff289114bd935dc229ba29d7a22c106677448061e0711216655b52b4b7fc1defea32360b70166512199377b5e902c87885d5a313d66648fe3fe0d319e58145e931d40e66bc60cee6b197b1efebbb645db17748f672efc4f278275d9e3209247cec6e16fa0792bd2dd1d11bf5a24225c894408534c19e42c900673be2f73ee949e65f3d01ccd42d6917b969bdc7dd75076f02d595094d808bdba6b6be9c0fd37693151b69d6cd19a3effc1eee8b41eb7c32135f463612ed717b0b448663c803286549c01afba74fdff0f427b8a2a56544d3b41cdb913638007e11b5aac526a63df322b1040568831dbb40684508e01f4fe0bf35834e6c205568288ed19e5b3af55a8791156c5d7f2e9b163e9ecd2c20aa0c7ba8faf86f553aa0f237395cb8f027acb1034f81f40099517e7610e14bd6b25e7d332f4eb5efefa6e5ef3cadfdaa10772d7f9f4b3055c74f34946062bba8431663e8069b7bb062c63007ce00689b8aaefb43436aa3009daab9f9639f20f0f9e9d353c26ff49f150355438da3f4d985424b927ed94c290cf31bc899009796f47c79534f6bdbd63b55d50dd4a17799bb8da6cc03b2ce57fd47aad1062d11fd95efe8b0f689b8a763d16fb2edc2b8f48a35028b2b3c56817c40c04ca1bc687a2d9126912ee80c61a3a378b34df0ba6e9dae16e435406701546cbfd37063117990bee21af61a3cffa36a961c7f3d50e13db8daec8c5790b50567731d5ffcb55cffb3c57f8870871a97ce6f653abd7bbc8e586aa4410ac9da5acf77f651c78ef96f96d871d442e41109b3dd8e5d0827f243ecb3f8d66e056639c0fe6f09450e8ed063bd6d2b3cbe2da7fc09b71a3b93f3968c1b16a17e712c2ce3a0334f9a595fbc1f9fef89a8df07d08a8a03cb67ec78a78da58a4fcfb972197f1c960a2b6e9ba61673fccc9202ce473908c81d5e6b614fad081f26905b30f70ebdb4bd9792ea5b0d056e88ba389cfc44b2f01f3cc14ceb13692cd40e8e8c0953230f78ae7ca619cb3a3a42a2ca6e2b217a29d3b49e34346760fad30504673f6808aa336c3b151bdbc402851be9742207b60a7604eb24010ded0df4897fe58a6ffa75392be13610da4654113ae09866205e2f20dd8a726d6111f8524cffabebefa0c84012d03ab835faccf50b891823db3fe0104fe125f20647577d5b27dee4f47c837a18a1065baeea3c4ecd5c4fcd7db230503be5d0c8b9b2225e2db42d43c38cc9eda28d73109b78c3b142aff1a87d0e668d79fc227c890b9cbb5e0e55cb404a3fe223a0ecde634969608c34fbef1ee35c912277ad831eec19341fb489388db7f8b65c227858832edaa89977b0ec91b1c5eddb516dd8ff54a4d88db49a92d68d0f585f1fa08eb3ca705d309a9cb39b5615727ca2a6f481c835de711fa5a88606a44360bfe2a6fefcbf5f8161df945fe03871bffd2cb26472ba3fa2d8672cd500e5206cce3a46de3c59cda50e32c1d62a1aee006f23b96ef83bcf2b33036f1dfc2d7c6eb849d9452790c4a416832fd290afa7bd5d7d345f11f9d8af11ee60fd5fdd565cfc66f5fe40a333f8f1e1faf567933cbf362019df7cfe669a12dcf21a78ab19c770eb7f755f3a7abb1f32058fafd5d24a71b83b6467dc9fc14d8d6fb27b4e02dd2dcf5b456fa7e78595ceb17d237c7b1c906f0f449764505ad0c278712beb0019dbc7bcc439e866ebbaf372df22c1e97975eb765a4e3f9d1a5b099fcffa59ce69f722d8a0959fdc10da18d9434baa285aa3ee79114bb2790109b94b4ec75bae3a3c4b7cb99c32e4d678c03c57e3b656858a2e5b58d3da85da7e98bf0148bfc6f3b7088f743e735c52f31b593813c025774baedad7a8217653e2aad283e115a908e4f0991ddfcbc3a9b1f00a0f89aa362e
+Shared Secret B: ccae92c22f9a874ef5701e7072153bd72540a7a6ba1957c41973dc908dce7877
+Shared Secret A: ccae92c22f9a874ef5701e7072153bd72540a7a6ba1957c41973dc908dce7877
+4880ff75a18e25c3dcd9378eeb899f63122f65d8c225144684beed6b88816151ecc0abfef154ff4651f271ad2ddd594a234e644e15ff2121788a46ac745cf4ebd926154d8fbe71c23679cee6f8067a84a8c616212bcae2a23df9730bc7164ceb166aa4ede1e2b6d8bc061880418eb206f17834ec434b23132355784efbed0d3e6822b8eaa50b7df6a909fbabe654bc85aa06009be8c71cc179d5fea6953e155dc983df18379d50e8d24bf93b796cbb11248acfb52f9fa90ba6457f355072a835d4d4e73db7a4fd8cd7db0983aa73cb4c62f7a010c09219c6f55a6e3f426afb23a26688db9b114f9029c8058908490eb7a6bd82ce3993e24ee2ea053be05db1fe98a16117b3f78d9ff59e92db7bccfbef133dcf6e182409cfe4d9a7eb5bfacf3ad3b22ea3bac1a82031859751cb817a1d84af492b93f8bad52b8ad5e26e93c915f71c7c1094c71a08b82472344b3e3572301291ca4fadade3cf10f9ea1ce65b900b9551cd4c83bf00d09fef313a7a2498ba5ec9e150a8f7263330bd10ab9424bc706ff664509bf4a352fdbb2d2790d4a55cf904ced9e156b9798aff0f6e07396d30810f5ae7e7a9fdac9d81234c5e03821a527276cf632ac1f743108217675f9a20c15bd56ba0d4d6a075ef0826ca88d1a5f5ce2aa68301c84ea5fca5569a987b4a61b3741f6062938252f8e9e4771f68c8099e024ee1766a422cc4fb29737602b5b1700b746d1db1e067caeadb59ef06064d72a56a40859c2e383f1cceead099aaa27cf609d025e2ccfef54e154a7bf1a3df8f7a75c0d915cd91a52e2dd5cfbe1d34f158eb07d45f10b309ee309f045af62c6ce87710e005993a8c51d057aa97a69551c0c91ff37e0a8ed4957f87415f29a0c80a4cabab79867a728462c84b1171f736edf727b341bce56ed429691f6489dc95a0c400e9914ad4988543f923e56c1af51a1d4232d58e727fb0f7253e63e37fa9864894926369bb4e296625f1f1949249a2d589a882f3ecb68e5a3961337d1f866ea19d67b385bc48416033e9ba90b818532217fac2ab9335215ccc9ea89c8b4d59d5997699fb8193b5b2364ca1c76e447590302daa2d699698e361caf019e637c01a0b08ad9499f62e41d2a97175520f16bf80da1b29d3b3b25a55f2fe2843053c2f4e7020c3d00aedbaf140f5cf24bc16a00c92c58f77bf26997a21b97ecbcc37c97e1416cb78da4a05cab11403f2c08726bc5bea1464873b145f4e0304b43ae3e93f280507cf4e1824a3dcdce209bd7176e60aabbf012848092d2eb52f9da8223ce6802498416f587370b7baf4f3930190c56ebd2b6d5b30851cd9bf5bf9edcd00cf4f3bb78f45b6e6dbf9e9e72e5f74e2ffeaef90286b486718806d54b41d0f918cdb19efb2a500e04d415b7836c590307850a4b607f906bfaee89f7a07f729948d489d0461530cf531c46020c8e1058e8d19e7cccf6e862d7595ff95c64516236d4853e9f8af6082318dac5f4ccf18946549e5ff717ffc84a12c94d1931e916f68288614912a0ac560840fc64e5d2faf80200a0c074eedfe961c44e0ee78193e898b7e05c2a660775aae8207053f726cca20aef157fa3a5c6c413c1b976901a9281dc29a6de84dc623664d7eff3e2d3922983f3b0363499a7a62f4f803808f7194c7d339bd7ba7d229914597751f32add5209198bbaf3fd4534f4536ca4fdbcd6450f2352c500cc4059a9c36dc6b6df7696c9f82e6697cff03344fc976879f10640a1096e228f7ff8fd6cdb36e8712bd9be8b9713d6aa0ff93a20fc700e80c0975d0be83e29a2d3bf02bdd27a070121b4becdcd01714d17d98efbbf0c72d04dacd0b32fec37a2f3c4cabc73aee17254ab03ef32e23993b9fbb6fd88c4de958d7a8ab3dd6d7c5f0b92cde98b5acc2060915a2b07fd59b2d72449c832f174f3fa5012c6be666246399e935fbec920b599b4f5868b15d936a11341345dcb50d813be50e82e5a2b868ad115002715bbd7cca2e45d131c7fbb1cbfd97a741701bdd2d6fe70018d655a7c24e9f9926c44e7d38057e650a808314c7c404300d63e77d02a255f4d53c2634e3b81c8607271322b0fb07a2917fc4b1827cc465e22f55743d750c0d063b81886faffa1269c758688b8904e3059f177ce50d35fcf0dccbe9c8ca2889b500cdf2f9ec35a2481402270d233b86468ad8713dae3f4ba7b9c781c026bedd2befe4635b0eb9fc
+Pseudorandom shared Secret A: cc6a9366efae82eb8bec3cf065acd453d2bd9228fab68ed750c63137d94a7f7d
+e68b85716493b88bdba339ccb2a3d9d3fe7ad7f4d3555b9f0dddad2f2daeb185ed73f288f9ec1043b8ecbdd458b5c7afeced103ad84dd41e611ab603dfa9a09c
+Public Key: e5672b8f46187b42b93748c7e361371c32a2b3a1b06f597396e4abbd95b9dda20d6db894dd123cecc79160d630b0683f8f2c1381f05921923bd0292caa08bdde785f1293cebdda8b72e9c492a11699c1486533a2da2213779717a7d2c9ef477ea58c8193312e2df095939c42fb004b1df75b26665e6bd692ba1499e87417ee6bc85c7914dc902d42386a83607ed5849ea828b4e87458d77b7bab211ff3a01a0d408f8989bc1beb06fdb694fd33ace248163ab82c52531131b432e76b8188447071f3801b12121b1b33116312a28c507f8b2c38aa8c63991ca01359675130b91120e3f15fc8fbabccf878d6285b34818f7795453eba91cfe970d10b19ee822f1006a8fe7b7bc8b6167cc79fb6e54864267ce41bccb7e64b1222077f7080cfd112d478a26aba0aa3c41693c5a074503e7bbb168ad81246f01a2fb80ee6032275c4ce4bf66eb1078254c248a267ae5f598870a32507f1ac64856755ab3b79b683ac6422413405bfc77af4bc6c0250c97ef69049812673d562f34c602f633ce463c7d8e061236c42f629155c506a101b82fab4852b9b492b1b025a2b80b2b52614cb3be93a470e078c66919a055018e49c1a6cc0bd0b9467ccf381757c08dde65332f2c5da819ef329af4db550c428cdf3153384483ec80bcdcaab1467c1543ee50d519b94c8621879bc92834372fe7bc41819cb4c929602ac1a58429bfd49b6cfd4611a37bc012310b65a5ba8f13039a71494370b8fc16448110749f18b63ca4209522366c5b3d6dbae88a20eb3f4bfb0d86b050492a5744c5a88c7dd392512ec2aeeeb0df4b49701485a8b16378314560b85614b11177868006e8c28b9a891a6db93d620863c8205fcb81dd70a7314c1c60e75754f17595d8aad9e9c9132cbc019a0538a48c2d1400656b4ae0b3687b2d63f8eeb5b83a580cc513921ba669f3602c7d4bbe2f5a9e264b86624c852744ae1239183d39471c58bdda5c2b7a906a76c1ae7b6cb2733c3ca3b04c38544b44bc653a0977222500a402d819564a85b4925831cd2a7963b13af916b683a966021ab44d8f37600c37f70a716da21bec7652ea8551c9f617a523180def3206935cd74a462b5f6a1870a3e9607286174af5a75a425874d9fc709c481209e04c80bbb6756fc0beb874d4622575a267782b41a465a677be62d16e15400287647809eb29423309b0e72f59d6d462d1b203748948eafd98ec1c2921f7700f4e1735e168a865c4f7c09788d4bc0ce17222019906aa6c0b609c05884b98c612896824bc944983484cd3a947658b5cab3285a38b63588323f137658f1c36e97c293d98902cf233c6b05c238c014d1142eb20a18a9a90f2579836f81ac300020cd050b7ae836ef4021b6a9ce1d89b897ea801c4b3f5f8b2f41656b5d1875ad07c200100d2c35ab58b7c86d307afd93b7568523171b231f2676d8143b15129c2d457b8ae8c39a04888892c3c599b179432cfdac6d5a774c056363edd0b0afc2b97c74377488221cb1023eb331deda9c3da06b77c11098005ab94294d4e10431c4c14d17be6341804687b68cd423560a4f42e118c95758cd652d23b3915a92638b597682e6b045d23da07c45b6b88cd6b15e8197cfd2e7c37a65251df02d629167bfc751ff3b1f8c22a0aaa60bfdc114d0971e9f3b8a96744d52b0a83a6ba668350ab67c6cf4a807c9c5299d97a1e7532c45210d8755633802a9b52ac5298b9a02ec52597772741a443ee1a6e26cbb04ba7bc4c07154ac13840892035cabcbacb63c3327db88991af2ab5a7bb1590c1eb62627975a45b312146b8ca871067ee9c985e92494f981ade9977afc0c7bc3d9a3eb7750d993459fa381eb2445a687c8aaa2901d91a5f5567964f709cd742178869152450ae46257ed7a6c1c73962ba705f1073c5925ad0a52b43d55c7c395bb9bca4e94200486cb2605938775707917588baa9b8a4e79aaac1c1868037e24570850c17ab3d2c887b063f73abf7f3a8f95d52d5ba95419c82d9f888ef3b480f6890ec7e8437b7a912d037cc4f33408e231d3501bdbbbc8d5fa3a9b06a4618215b42ab18d8a2861633894a50cde29c7faa0a6d9e8827f20874a2ac0d0d44a5b3798da15a3ae57bfd720168de48bcdf06d536c98cf8a7061524cf1b16cd9e86a2ea248d6868d9cca347d9f774f4a74dbb0e6a5d8876f461d4a6ffe2420014e1ec09448afed73f168f8
+Secret Key: 600c7d2e5362fe76ac8c64a3e109ae3a8c8e5fc8a2d64a90fe57b510964432c682ef025275e8b63531adf76170e571a837711e72324bb331a9f3f49acc0b77f13ab3b4769812154b1722baf1988f861b71316c11ca1638383491bafc88a9999e679a16f5d92d136a3a3f49b25f31a23e18c0e50a49763cc726d6929378c21f2b485683351db1276d7788f8c0553296a8f1e841683834906a4b1a625989375cdc19b473fa7a66acadef26394883550a8cadb4a57b9ba88ca008404b6a446ee30acc088b2f42a1cd3a30b616c530c1c0cfdcbcb3dc6907397579056f2902491d5b5ffb9393e41b9972023d82d49f4fa6c9719267c5925fbac84646044c0c20a4edeb80a8a18f19294d25f205f7e0a8f9124e15d0962105cefb6c764695b6696420060650a69571b04a86462aafa9c5c312dc8976627ce435abe37758745a5eea7651aa6ba682ba85246611d3858a51ac7afcc52f228b3000011bf5ac5effa0c694800afcd415286b178c237efefb1a1c9c20b3a76369c180a553418dc82ad8d3293bb3788823b63e4b20306531fc616e181bb4709a9d56d4c8ec14b204513b8d7a81f3611ca596315e05554185bc594746f817b5a519ac899342cb387399e28427d758a27058f23579a809472686b590093a1ee61d96ca6c505056ceb2197304bed67392bb4bbaa130830705ae2e5b73f8004914c041ce778862f8a42c907dbc766ea96457cabbc64ba7356de06edf79435fc534e978a88201c14b82b2399490f3d15a8e0a9f9a3a27c9a7715dbc96aed6910fa94fbcbaae4215096ec059b2580a62bb9b097011f5fb1a3ac8079e20a672780d1ab99ee49574b980bd9412b54c8a3e9fd886af784159e72665010e968747fa8b804e071b1160cf7a938cda684b3ce3809f6559716410a263bff291bdc11c27ed4b5726c39fb93c8b9c2ca755f47bb8cc61ece3b0dd76934d235750f1af5718190643753825b8c20514574238cf663222a5a5982b357062adef410b231b84a6c61ca748080a0a09d88206ad6ab054c614b270b2886303ad715a43832c0920ad58f81dc1406955363279c9be2eab7d96716a441b207087340a02c164461e4f546c415b2052736540f61584c5cc12ac47fa2a54cfa556d5e6582c762e6806408f830d7df619469b4948e420f8c37b56463135c14ec110c651f328ca83cec94160dc5a8b48128927e457efc2007fc2493af77a5b72c983658fb2f934f9fcbad1964122408290c901dbf598de152a1794ce8c9b271e395c44c61f048679779758d984298e5c15b3294ccdf18b97d0b33bb8a09440038b2886b2d11673256a10e16daa13a7a6e17af21741541b04fd0c543a0a9eee989c601a0dd2a5b6ad50963e6aa3e6ba4bc771250bdb105d6ccd5088a6c9984d67f39ef2f202c28320a1a952d132468d6801a23c9ee8a95ce00129ef38b6a57c73093a16e5f85febfbbc74ca696f6151fcaaa52f4761b10980e1a46449588438215017329776f4852a14c77eeb57da6b78c577ca810931591c64793509e10ba3e165ba741b6212d080911b6b441414e2113d307308e3c15a1413886d79940fbb40f21a88fb2bb635b0ad67824ad01a6c0c8c0c5b4c4b7aacc27feb6322ba9c715131ea91a2c7b8c5fe48368fc9686fa140f1e9c3a8517019325e0c6c167288793bc55081c183b524a04ec773991035e4c29dce1413fc08bd04058dbf9cc559d99c2b60996e7368dbd08f5967a2297665e7851864d7b710a32d7285028a330d6d3ac0d82266b73b47359caa29716dceb83330e628620a12d7fccbd0d904b4e6b427c026a1f38b85f17d5278b61b79238239c8fe5344aca90906352a48c14093037c59c56e54825a0fa52ec142901d7531af3ca99ac86933a78b0de9a20781b0b3bb2a91839ebcf432eae94d8fc60884aa931293c6a5701b965a8330a426812abd7ba224e7495c26c76991749bccc5c703566f105abaf80736b5dbb597c486398a9f74b771de883036da7011354757b87465c7abf01939f6617c402cb3bd6a02a59166ffc6a9e5814e6ac8a6d4f7296fa1260a445b0750c71837494fc7ac42394a1c255b87d15d58f80ebb324116f2201bc0cea2676e78d1cb1002c5c2232554d1b3482192520235f5a5ac9bd6aad99b032bd841e739149de149666a3be5672b8f46187b42b93748c7e361371c32a2b3a1b06f597396e4abbd95b9dda20d6db894dd123cecc79160d630b0683f8f2c1381f05921923bd0292caa08bdde785f1293cebdda8b72e9c492a11699c1486533a2da2213779717a7d2c9ef477ea58c8193312e2df095939c42fb004b1df75b26665e6bd692ba1499e87417ee6bc85c7914dc902d42386a83607ed5849ea828b4e87458d77b7bab211ff3a01a0d408f8989bc1beb06fdb694fd33ace248163ab82c52531131b432e76b8188447071f3801b12121b1b33116312a28c507f8b2c38aa8c63991ca01359675130b91120e3f15fc8fbabccf878d6285b34818f7795453eba91cfe970d10b19ee822f1006a8fe7b7bc8b6167cc79fb6e54864267ce41bccb7e64b1222077f7080cfd112d478a26aba0aa3c41693c5a074503e7bbb168ad81246f01a2fb80ee6032275c4ce4bf66eb1078254c248a267ae5f598870a32507f1ac64856755ab3b79b683ac6422413405bfc77af4bc6c0250c97ef69049812673d562f34c602f633ce463c7d8e061236c42f629155c506a101b82fab4852b9b492b1b025a2b80b2b52614cb3be93a470e078c66919a055018e49c1a6cc0bd0b9467ccf381757c08dde65332f2c5da819ef329af4db550c428cdf3153384483ec80bcdcaab1467c1543ee50d519b94c8621879bc92834372fe7bc41819cb4c929602ac1a58429bfd49b6cfd4611a37bc012310b65a5ba8f13039a71494370b8fc16448110749f18b63ca4209522366c5b3d6dbae88a20eb3f4bfb0d86b050492a5744c5a88c7dd392512ec2aeeeb0df4b49701485a8b16378314560b85614b11177868006e8c28b9a891a6db93d620863c8205fcb81dd70a7314c1c60e75754f17595d8aad9e9c9132cbc019a0538a48c2d1400656b4ae0b3687b2d63f8eeb5b83a580cc513921ba669f3602c7d4bbe2f5a9e264b86624c852744ae1239183d39471c58bdda5c2b7a906a76c1ae7b6cb2733c3ca3b04c38544b44bc653a0977222500a402d819564a85b4925831cd2a7963b13af916b683a966021ab44d8f37600c37f70a716da21bec7652ea8551c9f617a523180def3206935cd74a462b5f6a1870a3e9607286174af5a75a425874d9fc709c481209e04c80bbb6756fc0beb874d4622575a267782b41a465a677be62d16e15400287647809eb29423309b0e72f59d6d462d1b203748948eafd98ec1c2921f7700f4e1735e168a865c4f7c09788d4bc0ce17222019906aa6c0b609c05884b98c612896824bc944983484cd3a947658b5cab3285a38b63588323f137658f1c36e97c293d98902cf233c6b05c238c014d1142eb20a18a9a90f2579836f81ac300020cd050b7ae836ef4021b6a9ce1d89b897ea801c4b3f5f8b2f41656b5d1875ad07c200100d2c35ab58b7c86d307afd93b7568523171b231f2676d8143b15129c2d457b8ae8c39a04888892c3c599b179432cfdac6d5a774c056363edd0b0afc2b97c74377488221cb1023eb331deda9c3da06b77c11098005ab94294d4e10431c4c14d17be6341804687b68cd423560a4f42e118c95758cd652d23b3915a92638b597682e6b045d23da07c45b6b88cd6b15e8197cfd2e7c37a65251df02d629167bfc751ff3b1f8c22a0aaa60bfdc114d0971e9f3b8a96744d52b0a83a6ba668350ab67c6cf4a807c9c5299d97a1e7532c45210d8755633802a9b52ac5298b9a02ec52597772741a443ee1a6e26cbb04ba7bc4c07154ac13840892035cabcbacb63c3327db88991af2ab5a7bb1590c1eb62627975a45b312146b8ca871067ee9c985e92494f981ade9977afc0c7bc3d9a3eb7750d993459fa381eb2445a687c8aaa2901d91a5f5567964f709cd742178869152450ae46257ed7a6c1c73962ba705f1073c5925ad0a52b43d55c7c395bb9bca4e94200486cb2605938775707917588baa9b8a4e79aaac1c1868037e24570850c17ab3d2c887b063f73abf7f3a8f95d52d5ba95419c82d9f888ef3b480f6890ec7e8437b7a912d037cc4f33408e231d3501bdbbbc8d5fa3a9b06a4618215b42ab18d8a2861633894a50cde29c7faa0a6d9e8827f20874a2ac0d0d44a5b3798da15a3ae57bfd720168de48bcdf06d536c98cf8a7061524cf1b16cd9e86a2ea248d6868d9cca347d9f774f4a74dbb0e6a5d8876f461d4a6ffe2420014e1ec09448afed73f168f8d35c98ebfaef2b3686a0ac89815a5dd0b09a83d129580c11ecb914f7fdd153cbed73f288f9ec1043b8ecbdd458b5c7afeced103ad84dd41e611ab603dfa9a09c
+977e37983bb79f92e665428fdb8c7022739fdefd55cd456bfeba4a0ec1314051
+Ciphertext: 9c07e3f8d2ae92befa9eb3e618955c2a7e2d9a280581cbd329929cdf50bb6a1b4ef15fa0ce3478af03d56db665fe646f587ba1bbf35bca67c3a08d5f533cc7bd823a4905e8646ce92db47bb797bb6d5913a6d71a0d879c2d4efce6f3386be498bbc00d7b6c0f77041e8eb6e6b45a7acd80e91e554a855e6be0bc8c327aa5530fc1e45254a3689cd935b1934e3644593fce7270bb83f24e15cf80c90ad7ad49f23bdf2f9fcd87568922dbbad1240a0749fab2788ce62741fad03d390e3eb81bcb8d041e1c178126f7585b684ecc70b86d5d1d5249ec4c28d1fa689cb28188eec795c42866ea4b54e773e1ad377b2656332eaeb2301963997093c75e1d93edbb6f013dea6229d653694dd4e4ff27df9bc5c2a23431f7670238fb7877e096723f087059bc0e3475dabb98d1492873327f1aa634b4a47ed195ac226b83c2b189eea82c8aef0167c2dc8610747fc0e98fa62f45f45b61c750fed53d8f4288a486e4267eccbe9761a1fe593f1438b81582f9a086dd96a947b8ed6c2bd90bfe4a4e44dc0f6b7bc2dc706c5f09d8a151b70a8ee29032cd643c0c337c41e9a34809b9b32be1ba57b05ff436bba2c49668b881c52fad50743519ee34a5c59db029290068ec52647cb3b6ed032c6977cff6a5426a3f6232e959697adfad35519501be1db712ec507756d0200f79acd8900fdca4515d4137abcdd6831071a173f44945dca2ff5e6b6398e1be84d846e1558fd29438ff69a1ba1516a525f2833866353dcb44a9fc8c50dda50e717785f65ead0d5eeb6a85983dc303269dff9e6425de0aa3be149b33d5bc20dfeb36d5f84b3a39b25d17b22e8c7679f36eed2a0d85644a96be3dde6279bd0c4ba247cba007bf732f397683a1d74ed687d5e30fe02252ba2f58b26fb6bdc1ebfdd588c280fd46da6c7f130ecca355df8acabca82efe053e548d1c7b52f259994e0be4417a513600637c0f46394eee0c80935d10d498cacd0529d08d3b746b0727bf4d6e6a43267d9127066e8c0e14594162e95433110a76894cd060bfce2c841066c768f29bcf719afc642b73d49c95f80de8c61d5fa7267e109aa61db2b4a5c313af0847432ece2b45a904b23de8c133b697679eb263c8a285901ebc5f73f477469db17417bc6dcc19fe4c8d326d5ea935f0a320b7e26b7f0635fac918a4741e662df7ad140231884373aff33fd74be360d8d18745a9168703d1c9133720bfe9aecfebed773dd7c5fd682a0d31abeda27cbf37c3b76e592cddd3cd25a7a8de07cf52eb001e628b45293fa8b1dde07d7e604427f9d209a630f7ddcc0f27e722b21796e48f221abaf1793a135a7bf6e0647e7f5dedceef6b47ef94164e3561df16df08447ebb5cc46f1799637056c402f63ef80511308e687e483eb57c058672715d40677e2c26c4224118971be2ef9f1ee9a6bf95d858e929d1ce772e759418fcff778e56d7eabda95b4d78a16684faf6624d4c35e0e3543fc7622b8fcf2994c35d07c79c15567d25dd70811b53a133f369763c952f2d3017f8b03d0974ef60cf52f7ce1a76a93774fef17db4ec0ce69df79e9bea6e83e0d36f03cb1195f9c97ec830d25d3b20a6c1e3f07da415e3b10d11cf6d72292cceca6e4b72f5cd378cbd6658bfea1a52c28e159f718625f468e2eff3edfc48aa3a44a031947d63bdbf6d2394fe81c3e9693c4f391e9a5d46d55dc4aab49e28e17aed75b75cc6aa60c47c8594ad5d1a1472c3d0aa0d81e693b20a39c1e8c0ff36d18ce3723e4098321646572305c72854a5374d77e0e2d156a44011c332151ac5d013da43daa2989e6ecc4cca60b0a428419924b548dc21d78dd8b11cf061c92d55d994426764ff8d4c8a96325fbf0e7eec52c9a9ec29a5af3e98978b6a3312162dd4856dd61ad90da84ee9405c4ddf3d9c782f13d8e2f760741b4a1d24ed187658bf9f4fe37c9b898fb53c8cd00b3dae68850c6945e5416972b7a3d0b5b92208e4b0c60688585974ed60b89e332c5fe0fe639d091127281a494217d1ca4f671354b591148268fca144d7ba7ae83ad6a0274f8daebda0f5bf4cae7520506a9011c822bd88974e80ebb6f49fb5cbcd92239aaa4819e474744d3321ccf6d728ce86178e2ca1366c715fd335b25330b55f06e5ff21996541bac5e989ba100d8b038f01d8a4908e08f1337545c66997135e52444e2ca6ddc47aeeb7f736c2115951142d424fc9
+Shared Secret B: 36d614d1acf5e5dcf865f5cfd7d824128d50a900a749ab10786b29bf689bab22
+Shared Secret A: 36d614d1acf5e5dcf865f5cfd7d824128d50a900a749ab10786b29bf689bab22
+502a5c1cb848be014b7544dc3c9956033e8490d6a99b59e483a0909c6b35722dd5030464634f86873a86cc6af498c4defab54300e70f11416c8c5ece7c6a666d5d7bf12814ef37a2c5b19866fa4d1816d96edb6bbd3ac2ceaac030a509ffeb7c9ded50e33168d4379efa62ea1c910f8ef50cfe634ef695b32fc8acf5c337f6c190327da23876b7292811571dbbe70d0df28974c8a868556f2de0ee2f6ef9ce3bcd232455ec7348bd109cedf9b601b258c968d8faff8f079cd513f20276e07b0e32f81436fc9308a13ed92f3abca2fa109f8a63ab999de373510d8ef6056a5094182e83432ea57decb2c7b75f68bcc78799c396e2deb24d10fbced0206c58a2129207572b204aa82efb52b587a50f7ca8da8430b10a9e0ad20bbe3ccc15138ac4998c939d043bf223014be90812444be9bf83be3bbd35b029a1bd2005ae8227c567e767aa4b9c2eb70e05d3d8c787ac3118db1a96a94ffd44dbcfb3db04b0b478ac29e23198bb185f84e4bb77fa5646f7b9a03c4d7a03ee27dfcea1b7de2e848183a27e13d728fecc9df95b4d73b162cf0996b75e40b11949124157a5219606da568e0a44461340bb025011dea143d67ee17afb45366c8ca2a0fc1cea23f679e6132b5af823bda854e761becb2efec8257150207a03de711ae501ed5cb5f51309d5c304762cb0c29b5a2f71241e7f8172661bf7833d4f115567fb8e27e3da0202222b1579b2f8085ca8acda9594f08854dfd618e72e591717bc8ae29a4697b58aa844ce86f1b8ba7197d7ef317b6504952800d9a72672bcc3e8fe5700b2e83e040378be615f9f8473289e70214db7b61446247c9eecee601e519c7c86d6e52245e002c9aded5c095992cb9a7d94ac7024461ae345adb77265d7c4b08ca171173c7d50f549c328834dd7a6703eb37e167a849b3a3aeec2945f35c85bcdc14e84de3e6e809d4f25a139c71dd732258b93fdaef1ca66a5822453196669263e1d10520c8412f558a79fec68fa89a8c1f51109808a948669989eb5b288a706a0dc1bec874622967c770b88970723a214cc1e0c1c70ae4e0a83cf9297a0f19f97c2fba6f7aea7b1352fcbf4681340e45e064892b8060f2853ad8f4abf84ef7f2263e6d6662e1060ca1760605f4f29889e2048c86483d9c1ab961b93120468a39c22f760670cba32c1f326a1d47be1bc58d3e2574c851c4f8e2f082e5f9a16cdef572c98afa8ad8d0297e6b8b0585159b5c4c2fc32d5cc47d2a0f50e191ec06d4662ddd0bac5be40f20d2602cce37e7ccadaf2e12395b54c0aafd3b84416164cedd72543f66eaf2640929f3871749b7ae628ca29ac376444bc8d1d31dc14afd7748d2576115cf60a406e1bb44bfbe646d98c743ed837329d3bdd36921cb3456c3590576f707f12b6438e93404eb1c64042f81c40878a9e6f118b0efe719e5926b761aa3c15313027263c5e3317c1436a3fb6459b4c3941878c4321ed759a554751528b25b73805b3e587b85106152378578e3b5921f900025eac7ad66a2e3996f32a0f960fc2776e9c1ee7371b3dfc99970980195f918ce911dc4cb327b132ded6024148cd2ddd0b65d7fb8c2d762d3b8c4cbd22c5e5589cd7b342c066d426e7eaa7a6fe53ad9949fbd2785edbc2200a9129dbdcf39e109c1c750df19cb620a3af48396c8f3dfdbe813c1ee938b0e8d6d9b8157ea1b25360f453fb6add3f6495b38d3b0ee68ef4980a2028a59055cb6ffb7adff0db03ddd75c614c3e4509d45524a58bbecddcc3daeaf4adf75affe1497085f6d26aa2c8495dda5fcbbc3b18c3336feb04e683354e1b790403d63de16b73edc42a212f21420906cac35aa8afbeca09db33f611cb417f2dd676fdc71233d6ba2ce2052f1e53123e87934b573660a309b9617358442f6df5a1cfe964441ca1cba6381ac8b786d899e0bd40ebef43fa120d39848f48ce4aaee630119f5d85a74ee14571c022243471f2914db351964de09bafd3fa79b4b513c77c4cc3a8234319f51f30718aa1b5566a4f01f4757d2d56396e24aa5ad78a679f31b9ee570189f3c8d84af85373f8c79689b10868be6a1f62771c90b867e14327be2d4bcd93d8206d4baec93711e64336b2ec563d316a5f28a90e223ac639019edc3c9642ba68712b7b6e10d47d3931b753eaa87891aaa949ff8f081a647ef51449ef939393cd75bf526634769d8a1bdb67fe756924fa7e8588
+Pseudorandom shared Secret A: 327e191be1ba7db5bdea21bf054df6a6508beb7e2aad647a0a7ddf63151239ca
+f12e5319df6d1f14c11c70036777a047eeda89423fcb189ccc6730f07b517d179ba62bd9c0c78d8a4bcd6e15a75c2f7a169d3037306f4c2755757fa6278c6714
+Public Key: 8fe185df3960eb060da31795d7252fc2a0305ab89c0c674522027e377b058571a5f4bca21d2c1ea90239c9543c7292a69bb512b3017aaee85a59c17e7e9509ac6696b7a9a7be45903754340452bd43d66cdac11fba528c9837947fb77507fb114337cbb4e94344b5433abcb46763bf39f60ce2788bc4705cd895c93916787025be0da26aa12842765433a1b13416bb348892c220627b34ab2af186c0d128bf3bd79812cb88333c6bd3c56f4219714c083257d30ee9d389a3b446099c9055c93b3d6a1fa7133cc7c56b037b16f8d60b2cab26501abf4a622f96c0645173bb8974b70100c5bbb4856e09936f810e85497a299096b222b710eca499038dfa587dbb67c5648c1c1415afd42b97920a325264c71fc623d85918a54a1606a61f72144e332cca7e60686d8528ae179d9c897df570978026ba2459070dea148c0c6068cc7eab225957e4b63a9464389a5f44c59228133592f48b6a42257b6353b430925b17c8273b9ab0011dee29c48a65a430259ff3388183e58c4b8c844c6b50332651dd2270afd90fe852181c0b74dfb89bc8e682283ca6a500882045b2c6079c09a3b4425c2dba533db66ac7c47a88856b1460c1920355118d0180a1818bc2102446887dc5bbcee9bb9f65d2994853756e5068f5a1b2d924a258843174293dd5d8a5af2482221ab378d831986629cfc6cbad57ac270cbb65db8359572193a62ffc48704479c96de084e33a44309c6a720821c4d35194e55f5328a712052da9625676360e0bd6bf78f8c57ccb4b3e0088870870e99648b93a2cbf1c4c03bb50825862ea0180561b729bc217ab848aaaac7b57566bc01a938484030ddc33ac18bb8232334518cacf85a436ab1da84297916069e993141df2a19c8430a3d625d04bab9167b4373595708945d6e743a7e863c56ab6985389ba7c405233460075383811c7a5f0338649a124f51aefa47cd6b43d31064f5a315b09607a56c9c8cf78ad2c85a6c855039d74b656907b2888c9faf8a505ec50162b6d9253b39f5978bcf32a6b30b51b050b34da68ede91a96b2935dc0581c2a96f2c33378c407dd5088afe29298f02cf35a5ef7fa6e728c31dc35558ec3bfe5c8bf6c29c1f7d77c242016c319423837c71260070c48a35bf4cf69930090a76dfaca665f834725166a6fe72320a88615839cde826428506fe9427d58107544d294ca4960368c068e2a0bcf682d0146c93d37c1860a3d36b1397d712a41f97e78750f2225b229147e8e7451a112756fb9c42c5717458946d46b057a3728830ccf53a83e06b34f804264d29957bbbc6b076a94590482efc657035316e17b67f4125a17575273abbc2acb9d2bb53211696872ea5c230006d72a1ea05a52e8e52d37014dbb3c94998cb86044c3c8dc5c94bba86db2c46ad46b65759ef027c1c53a292669c18e4569ae32501dccb4b7f15b6d05cb8cc26db80cc6842b2ac795267a596238d3b315684e65c4b86996911c7a968beacf70f97ab8f0177cd76ba9797614512e371076be38691f324d01d4c9be695536a03318272a90129c844c2894b04509c54ae51309a13b1786865e2b312619a59401a845fd4c96e4bc67c19a654c13802ae8bd28738e62f694d4561ef2dc40257242ea84750d8a2e5b7a6f3ac4bac3f9bead4acd5b373cf4526253cb9da9448376caceaaf25b4003b6d6c972a7dcafd5531431f0800f231f0d03048c668732b6aea0f2051cba2a71c39110f96f43620683822f2016c93b712355851a69a5a1121192d73c4ee72c7a94d14b04e49ead8885258c59f4e80435d61a3fb30691f0247fd778cfa6644df69823350d455b4cc7b15846fc81cd729a07c526d3d54e49b02bc2d2b02062317b4c4787809d3887129a342f9920139685c3783043be129ad3c9beeaeb6ab98871a6271acff7a88b1a5464b8b2de588ec3e848f442bccdb2b089ac6a6b7552515053fc80909c3725541190295b9704586a5bf65280f812f34bb188f47ca9fcab4f944a5958ce770761271a68a4790ab7f21691c043dc2232d07ba773db3ee7675dbe2c6ab78736f1c0390b3c1324a2505afa6ddea95d7ed91545231158ca0a267303a13b8ba406561ff63fa0fbc1c7758532712ac65109e11b89056a1cd6bc252ab7ce03eb670928a24874c54526b59bd06bc9fa7afc13ce704d0d151d5acdd05aa1341dcd6288134af8b50c992c33ddfa9a5d6c36
+Secret Key: f268bea51a282a881e0ae1cf486481a7156fbb533cae55a55a3a37d3084563740575b26732b77bf3330c24a97e1a57b2582b3c929368635703eb667f62533a60c46c6a9a0588e6940e850949c93e2860c85cd97819e7b31ac512a509422d9997b58020611144ce4373f71b8603a4026c253546c2395848410dc6bfe169af22b73819d9828746554df9765d7ba77ad33fcf6470f88695ebb360639ac49a930bb92305aa42671e50a5d556b1e01733981779087834ca99ae07649391510fe5493ed031846231595ff973dc8a150da143db184c969628a0266f119346bb493a2242059356ae93cc0078ca9367d9c615dc76f29717b43b60c8d93aeb28b89f0bb8d4b725e4c33b0ba92baad90f6ad683ae60bb1f8164e7d684664b938e9192815a91e59b807c4277aec559620c278b4049133c2832d254749bc4caf11394e74776126b4737a3bfa262001c640ef27605d250836948f3a137c781b7cf746544819e9de8350cf4bc87187eed1c41ad2b0cc1a09c06836605e68edcb136935c3d5f9b68887946d9590c28bc6148479a889443fe502b89dbb29990c22221207e5666ac343266d545741958af60a755a2bfcbc47347b37c59cb7936e15a96a16bccf4389db60d0b46b290c435fe89b7821529072543d635772fd1c932747f520535ffa5bd4cebc33989347250295fba5e007232cd540afd8aba1da797850ab099732e60d0587659cc2072310917cefa978e72373a7ddbb8ba4c693ec53359058a82e3539dba683b23c5e0a10af31817a2590a0928396c2113f9134c6ac7a461261355cb20ad2b9637a84caa92b5b1002c83313540357368d8be6d6cae3a40a9dd6835a13438328101691b4fd2bc12a607289a456b46170634a48a5625595a4c585259c4cf3b8bb49a2fa4aca530b6c85da02d87654ad290c2ace17241e8252e697ca9b1cb48046e3c500be899887ff94302406863c588212592eb26b152c4b23370256e1a6c3bf43c189bbbc073b64889cd60414f0025171645cd817c377472c63256adebf770b46736c827588e320a9b8a6f88b304cf9a7d7740c29532a7c7d30254d4504b8889969a8abdc3c98cab4e4b7684f834be7e57cf40f73ae86395fd71cdf4057e385211aee805464cba9836730ce8752cca8c627bb39426b63b046ceb595ce34747faf4ca76902bb6f4a2c8f79bccb07df0348c35078247073b30262372c98e7e937894b0a0702643c1870c9a8546c99aa23b850f354022b057ae7c24b0c5585e579958871393e964c22e1a1c49d5469fcca637062de993471b376ade90a577522473692d44005875aab28a6869df3942229267a67454d7a9b79e5220b157c3e8b80d922521d4fbacbe86601ac65b2605c56d403e6a449b13fb63b5516732d9b4309148eb09a8e7432a5290adba7b27cf32c121726a7ae760c1122221423bf9f6c8874683b27a2f29393aada5ccbb59902bcb399c0cbe5190bf78343a76b23b511503e9703824c5a4082a7e685856a50485fc50b8c3573d61eacac999b9250c2a3d0b78912722cba15a103747f991b122f37145357e3cd463806029ba390840052bce2b04e45847924270f2fc268b91b3f58975232acd51d4095aec847dba1cb4964d2415af02ba7c733137332745f379c82479bddeac1a0f0334b59596fc2000d4f3a06ac902a13819a62918271327b5c95f05d7ad05b7c76000551f1a37324898e5caa0c6e7275a05b054d79524db9cfff46fad2ca7479047c4c55e7d858c05d649ecfc2f48193da38b042411356f1c7cd677574bb091f7a5b2a9c15afe864c4fd58accbc5c23d63b5087a70f4647734abee5f47d503c485f7a87add6204ae43b4493819ebb71378989a8865d8f4723c96aa94df6ac925c2f8de84db5848d4341420bcbc42c8c5c61b9a6937824d5105446593b7be06c2ad63b16f87a575a05fdd8406b9469a88479f9d9c17f38c4291278b06a6185d799dd7b26319a15547b206caa086a40be476650927a3c794ca5c17773e71b833db22e189c5e82daa981a98a070a26ddbb1d3aac054179b67ad4a48d4557ac729be264288a63aa42b1a654e38c1a609ccd4254ec094cd9e9ca1706cdc9aaa1e970138023940b9bc24947a8fce15a88bb1f01967cad4caf8f218870c53057c47f0ee77dcb9a3779e33b8fe185df3960eb060da31795d7252fc2a0305ab89c0c674522027e377b058571a5f4bca21d2c1ea90239c9543c7292a69bb512b3017aaee85a59c17e7e9509ac6696b7a9a7be45903754340452bd43d66cdac11fba528c9837947fb77507fb114337cbb4e94344b5433abcb46763bf39f60ce2788bc4705cd895c93916787025be0da26aa12842765433a1b13416bb348892c220627b34ab2af186c0d128bf3bd79812cb88333c6bd3c56f4219714c083257d30ee9d389a3b446099c9055c93b3d6a1fa7133cc7c56b037b16f8d60b2cab26501abf4a622f96c0645173bb8974b70100c5bbb4856e09936f810e85497a299096b222b710eca499038dfa587dbb67c5648c1c1415afd42b97920a325264c71fc623d85918a54a1606a61f72144e332cca7e60686d8528ae179d9c897df570978026ba2459070dea148c0c6068cc7eab225957e4b63a9464389a5f44c59228133592f48b6a42257b6353b430925b17c8273b9ab0011dee29c48a65a430259ff3388183e58c4b8c844c6b50332651dd2270afd90fe852181c0b74dfb89bc8e682283ca6a500882045b2c6079c09a3b4425c2dba533db66ac7c47a88856b1460c1920355118d0180a1818bc2102446887dc5bbcee9bb9f65d2994853756e5068f5a1b2d924a258843174293dd5d8a5af2482221ab378d831986629cfc6cbad57ac270cbb65db8359572193a62ffc48704479c96de084e33a44309c6a720821c4d35194e55f5328a712052da9625676360e0bd6bf78f8c57ccb4b3e0088870870e99648b93a2cbf1c4c03bb50825862ea0180561b729bc217ab848aaaac7b57566bc01a938484030ddc33ac18bb8232334518cacf85a436ab1da84297916069e993141df2a19c8430a3d625d04bab9167b4373595708945d6e743a7e863c56ab6985389ba7c405233460075383811c7a5f0338649a124f51aefa47cd6b43d31064f5a315b09607a56c9c8cf78ad2c85a6c855039d74b656907b2888c9faf8a505ec50162b6d9253b39f5978bcf32a6b30b51b050b34da68ede91a96b2935dc0581c2a96f2c33378c407dd5088afe29298f02cf35a5ef7fa6e728c31dc35558ec3bfe5c8bf6c29c1f7d77c242016c319423837c71260070c48a35bf4cf69930090a76dfaca665f834725166a6fe72320a88615839cde826428506fe9427d58107544d294ca4960368c068e2a0bcf682d0146c93d37c1860a3d36b1397d712a41f97e78750f2225b229147e8e7451a112756fb9c42c5717458946d46b057a3728830ccf53a83e06b34f804264d29957bbbc6b076a94590482efc657035316e17b67f4125a17575273abbc2acb9d2bb53211696872ea5c230006d72a1ea05a52e8e52d37014dbb3c94998cb86044c3c8dc5c94bba86db2c46ad46b65759ef027c1c53a292669c18e4569ae32501dccb4b7f15b6d05cb8cc26db80cc6842b2ac795267a596238d3b315684e65c4b86996911c7a968beacf70f97ab8f0177cd76ba9797614512e371076be38691f324d01d4c9be695536a03318272a90129c844c2894b04509c54ae51309a13b1786865e2b312619a59401a845fd4c96e4bc67c19a654c13802ae8bd28738e62f694d4561ef2dc40257242ea84750d8a2e5b7a6f3ac4bac3f9bead4acd5b373cf4526253cb9da9448376caceaaf25b4003b6d6c972a7dcafd5531431f0800f231f0d03048c668732b6aea0f2051cba2a71c39110f96f43620683822f2016c93b712355851a69a5a1121192d73c4ee72c7a94d14b04e49ead8885258c59f4e80435d61a3fb30691f0247fd778cfa6644df69823350d455b4cc7b15846fc81cd729a07c526d3d54e49b02bc2d2b02062317b4c4787809d3887129a342f9920139685c3783043be129ad3c9beeaeb6ab98871a6271acff7a88b1a5464b8b2de588ec3e848f442bccdb2b089ac6a6b7552515053fc80909c3725541190295b9704586a5bf65280f812f34bb188f47ca9fcab4f944a5958ce770761271a68a4790ab7f21691c043dc2232d07ba773db3ee7675dbe2c6ab78736f1c0390b3c1324a2505afa6ddea95d7ed91545231158ca0a267303a13b8ba406561ff63fa0fbc1c7758532712ac65109e11b89056a1cd6bc252ab7ce03eb670928a24874c54526b59bd06bc9fa7afc13ce704d0d151d5acdd05aa1341dcd6288134af8b50c992c33ddfa9a5d6c36ab3582ca1704681a14e81e0e8bc5e987305f213ce9ad758f01911b9ff9eb55c49ba62bd9c0c78d8a4bcd6e15a75c2f7a169d3037306f4c2755757fa6278c6714
+d73c3d8a1d505455ce7579d520eaf06158042646cbec8202ab5bdf5d841841b5
+Ciphertext: eb1ca7cd621c6f82c73840cb2cdaa231b8e7651813c849e89fe5acaa34a3e1f8fe218e44d17d670ee900cabf680f5b3cac8166a806a34d1b3b149d3af52a1c3500039d43719e0f45e980576297477f3bb692c9f81c97680971cdbaacb6f2b55fd3f8c4e3da6aca5b6cf9d3441c0f9b691ba2923d7405dc27c4fd1cb1fac5260f577d45ecb1e6f6ab6cdfe1684d75b8892d22c1e79c029cb15414362149939cc4c4d4ce920d7d70076b7a728822dd08a0b47e4020303749898d8bb76466a904d5769ba13a7b66a572af5894f8ab2ebedf5fde4337b8d4ca6b190f949bf3d45cbe4c4ccf20abaa9bb7b4a8e919cbff867c9bf8909f3b0e611089aa5406721815ca92328c9b245cf04be78fb77304a12508760957fc805f2cb974d55738d5fb9367a4565f3fe8009c267746e78241e997d8dd89af9730b46a587e1766c940153ca1d7930e597c93bc9033992564de1dbf045477e4ae582fbcf0bbf339153808346a8fc2bbacfe5614b4bc7e810b8cf3960dbcbc21fde1e35fb3afbe5ba64b564c5219d3db6714e72b7d04266faefa7a12b081dc66a03eab639a66bbbacad4a3f58bbfc44c083c8905b18d2ca129f06f8faee9d80208cdf775fbcac522a018dbb8d348e4e6a415599f8f218605d6335d24d016d4de68e62ce57b8a16f7f5a662a83e65eb55d82bbe47b9c0d1df57b1b179afb7980b2f9bf6d5d6697c398e26b6b2373b2369e5f954f8884899bc767086a165ec0527996c5be99ea885c1cb916413b983cac847424eac6db15b63cba6cd7f78a51cc531b054b582ab524040d33b0427a7b2b2434f5bd954cf43d96cbcf455fbcc0cea480268309a6496973c715a36eb91fa07dd6d58cafb093d726c8d79f621b703915f3994a277c663d5f0b0cd8b7362963bda8effd8a0e3920059502278b78f5e3ee91afc1d95385edbd6d128e1ebbbd9dc4d7b13f5492311fa5e2c5c018d611bccd7147d2ccaf79a4a9abc42b4b0fefe9c3d0986cf53080783f3befc7e37fa1a75c4528dd1569b29e76bd08f18fa9eb3be589d4ea911c8c2ffdd5f5b4ea13f79d4a2b76382cc265848d82809966f103482799c6f091f002931e68ddfd824766a01a21b32e0df4c39c1689d1014a98c88ca7b43dba43232389958fb0ba3eb31e49b999e3466d288e7e8948668e2800b24b2e3eca0f6c4f464e1c7b90dc1c331e6c810fea4390e0b203863ecb60c59bc8cbbfa1da69b8b36bed9c129a96ec44f048ca814cd7314247eb57510ab128024f0d83ba71ecb62c357bee07613aae55de5b30056ed6bd3b945e159342529b38bb6d7823abf52cefc46a813d298952af75ae81ca4439107ff748b9df21c970d8cca675b3cde052f585ca3b1fb01ca3f2093c5d178ecd6fea6058f70d65cc5b4e61afac725257c2befd6745c977a30da653c6d6092dbaaf884af84dd291db040265a9d12e90e827c1a3a85a9da2ccb9d5ab036ec413c72261868cbec6901cb7af6af0649cbb844ff7b72026a5038751387a062dd350306451c41de95f93083b731bf4a596505967c575567075d2a5ec2a465f4161652f4b5bc5365fef5b3779b8103ea347b2f44c98f1198fca7e19696703f4ce67f907dec785e03a9a880615148b697f518544881de5084a868773a54623acbe384df61db956686b8662fd1b955870de7f7df34ded1b56df6eccfd3e99ef4bf9c1ee42824e1679f1eb360487b62a872586e4f7bf20cb3ab9a438bb47f24e7919537fa2c4cb933df2e664b21a2a2d1b6c9916202eee8cd4e243a2360d0ae5650d92e0fe894303f6921ced4e3cc1d4627a074a32cd112129b24339f34533d44ce627cd4be73c7fd48b3650354a7f7c494f8d7afc3ab8217762eb3e4cff00739d3b5f05291e27e3b4a309002444c706dc3eee8883b7d30441b8b23c0b7c2412966a654e8117ae87a489129e05e6342840767cba93a0e3ad94430eb38e0e451c3ca08f8fb984a23d2824e15975052191cc3d23ac5981f7ddd245f83ec6a9a337e428f1d6daa62056418f22784c043ee045da36a2595c1f9b4274280e298cbf95286f9b7153042559f2f57e4e0ab058994cb94a840598a03995ab71c64d9ad3b1f01052bf500159ace19ad71ac0f60a20aeae44aef9380439fc88415cdc6def84cca7ed03531ed14af8ac0af6b0dc83806dfb6632168fe476e12021d4ded45e0c23ebeec79655677dcbf2a93d4771e
+Shared Secret B: dfa553a7870b46cba65cc6d814a2181898d08c914d68de826c35a3b011d680f9
+Shared Secret A: dfa553a7870b46cba65cc6d814a2181898d08c914d68de826c35a3b011d680f9
+3846d274aa363f870eb7a4dfac96105f0a78de8125d02b9d19da4af0e241cb16b0bf7177b01b1c9df1f03a99484e76c5a9de7186803ea94fe62fc5f3ef44fd921793f421a9815e83eb1be69f39baac7c532c0e0a474192b4797406ebb3cead68a4118ff721f955123ec1d678ff16dc2d8b830fd1cdcd5a7535c7e251456104562faedf73fab4351c1762fffa0383acc3de16f05243ca9e8f69caf965df8d9b17265abdc2e5de6d96555f512df47ce2292af9e733d22be3cc9e63b741640ce04e66e62d2f2ec279c9b81901103ba187d0def47f38927c47c7799edfc22a4e82c18690a304b9191816a33ce5d09a5016d9fc2d4259415d848cf60f36679a5afcda68307ce2084f8ac3238412afbcf5098d21ae0ef3533d7c338a7de5778684ef66f3174a8165e4e541649ddbb53a9bdf264e7ea9772dc1505640045fcaf9d5d2b712c762ae62f373c0bb884bb5061c53b07d920041a6e193bc57236e16e5de9b31695c318d2ca1cf5c0a029d19da195d5b0df80408b1303642288ead67276f1d8fc8b874f238368b326ec9bcb5b06718256790a6ac97be8e357385eb3925716d816999eef26a4f402d56424648b98e8c7ceea74b7748688f47e4f0587ebbe51b8fc619a15c2b25a90e9ca2328a6ec35588af25fc85489d05544077b970242824cd301b6324f4aa270131969d5536c366f8e911af3a918409f06ee0b2bf5a854032a5a076423dc10c5d57a4163edd73efd9e674c58a3a07b0c583abf365ec7b76cafee223fe7a401cabd3148905a17f33785d7466d6ab3f319bd4112102cbdc959ec08a995c984c41fe4893b9f6e502ceb2ccd6dfa60b53ce3259acd7ccf00c33331588a71308f6e382cf3a009448cb8996bca82143c1088efd1a778daa69355db9d9f289e452a74628b5f6b0423e63d3a287f32e1fcc8cbbdd7abfd743d57468681faab25c813ee4977cfa6b709d5767a9ba28c5d2c67055ad1eca108dd82d651adca12657863f52c14a949947e013b90adac75cc8284af858628ff2ce82f9550fade743e5b3eb7cf583b698dd214a77647284ae4b3b65f4725284f44d9ea4da0c3e9188264f31efe59799603ec42ae73a73f690955c53e9b679a9a71a40e932155cbf7d437ef6dd00a61cad48cc83c2cd57e4eeda4785024d599c43ae18ec6745a59524f899563ed64ba7fa7206d0d7b7fda5fb353a4246efe64482fb7db8260ae17d19da4e61ecb2f66add12de61e09ea07a144a2b9968845a3944ff6f7db054e8899abc9cedaa25e1e36a42a166aa846d141ffb482c40076e44f897d732a17489981d34b1130c97c5d09381c78d625899ebcee6bd8963d2f577c1f593dbf33d4eb97158a44cafa19ab60db608ba2f6222f6b33795930185abd709b783cd6e8bfeeabeb37cca9f59afb665d8caeab6698627223aaf9bb13f3d0930f38b5ffeb8e11ad12adfcc6d8f803ecb208c497524ed88a181d72db37b290b81fe82e82e675ef4957c3085f6fa568b0e0defd5fa8f2ccb74a9ce4def95f43744ba1e27cacc199b5518e745b89864652e1f247d5b2cafca6963008025a760b80e1557659bb376a003502536e2c2bb06dd5feef8e6f833c0569ef9791a15fac0f7ad4b4666b5a92e34ee992b65c99aa4b0b85445b58cbd8d8f486eca6ca3bbb30a046ac966fe9fbb4ccfe208be84f5e62d10ab15bb07089bad9bb6e441131e6307986d730e93d2f9bab04f4bdfb40c6cbc4167cc546cede9238efe2b863b90a9a26a3fa88e748ee86e4af25238e0a06764f63b986c464103f3617d9aaf869850955883cade46bd03ce00c6a8c89b75e074f7e69443538e5ea97866013c49cd9836b477816f095a4a98fb3faa6e438a9dd87504984c8f57d37bd9833e7a334a82bedc9ebae9eae723d7720a2b46f0da206af1493ad0f034f45f9fed592f1fd35cb6a7a4008261b839e5c8192d1f4a3decc0e7137c34d26bda5a9a0c6bbfff9a10193fca1d3176d7a3604a2c8d35c93ee32344d479368787ca7e0335835b0e58c0be9f3cf27160d66453bc5cc77f5b1ac433790f52fca64500c1e9b6f8bac859a6f43f03435b31aeaec63d1ccea6c6b34c5191cfbd19b70014ff41f3ba91ab3e19d4243eb4abfcf13b30974c89796f6da10c960c1539efc8d77ec68ba2a32445458a86188c511c26aa6c98e2bf25e2e2503ce2fda8addfa5700e737ed5b754246cc85e04013c20
+Pseudorandom shared Secret A: 42d8b786e3dcac79957f7ef4509b9f85fd0b9eafe6c8d57b8bbcd7691d7ff5db
+1a2d31fb5defc6201b477109071a0cd10aa2cccd0d97e7503106187c2e4da0a715a02fc1d8ca42479c65a9cdb4194831da191e5ad66c23125991ca115054ea77
+Public Key: 8eb888473c279f632978b1a42486220f290ba9c771cbf38884bc9c474c3016a469e091044d3c7423ca2a0cc98eabe391bb714a1d0ca19ae7497786a024278f3e73cae5875414644cfb109080c711de0b82446a8d4a1cb85565a923a152e8022dd41014f8c193dc0599e7a12c34a385f4337b136743b74b525317bb27f68a5914501ee14717a81e5a7c80efca597ec3a5a436a09877c374b3017bc5151c97bd2c359cf892839442bcb916b5d5e50a00073007a80f67071d0a9c04e7e223d07a406066c40a421bb62c84d251a690f2289923c2abcb243b32ad6fe0ab1ec36ec36a2828256be0a194e01b06b18aba71610d83b6099be66884c016512213531038dab8a76852b38b9bcae8294011258f43854a0dd6aecfc096d14a193d5220dfa0200cf099b6ba40728c723b1821c091bc79b27ffa52a271a84e40d1a95b0451b14724cc516f29bbca36f987862a3aee1c0c5086a44a5a8d1628ad305bb9e7fa49d9b24cfbb4813d53c47887498bf66c30fbb7692b4ddc4c93f17090a6f8b228338cdf7184511422098543e3355798272ea097125205d0ad10995f715ff34630ce1bab6f602f610c1fa5e4975331868bf243fb5a465be7121a0462bcea1be420521f447117227bbe730f56baadd7233c6d11aeba408c8cdccb63149b64b8aedd415a90667de4d01c17c60d1460ad5a5c0094a6cbeec2b70c4437e0f6c751a0a750cab895d9449f30a57d1781151583e0b1755c259b9264142ed3650e2286f010a083f34e346a4ba8208f2224bd71f9b64a69b3e217b2788b3ce7b82acd04694e502713664bdc79418b080712648aa0e758cd25951e00250d9661d0dcc002912fe712420696b08af1499ad2a731419d4e046cf4b575865860218a242405b932516fd302a8e2634eada52330445ab8452d765269318293f4c66a1479b87d99a48b9774b28773c069add594697686a9f12135ff18223677728e781a4fd41f02db50ae35028c8a25b57218465608ffba8349c077d6a1a43a3b6a5f3b3a5a7892db18889af795ad99c29bf2a836c07f32176f2ae4ba06ea9739580dd3ea94cd906c6d5bb1b30c0fd52b2146aa3e6130274f454c203b952c845c2775224b964c5f316dedd80345e5b625c9302e6843e1b970121c0de51b4711596dd9672141da7e122b4798b472649a5b9d6b99b81578689866a25b56632001e275081da73e667046f606a44f67907d4c86c523b36e900899621e0a6765aa97992a6b8324d997a1a22a1c90c93dfaad3168039261c0d0dc99fea5401b19778ac76ed61cbac1f003918b10b245adde672a6734436feb736d20ca14b0a803071539863cd4b17adcf6bb2ffc9bcc476f9c9586b4f92f74d3cf1cf824fe901e3de28d007222d2db7ac3fb25519236367b87b521c953251a174554f6a70bd0794e59797588c09f9de39545998be0397ea13136fee483f7f23b39d96c88f592775944790abcc3134dd8849577b56a1e8122a40385895cb3beda68a6b527d5d1afddb566f061712e33c87d067ad7b4c1f893421ec21dfc401937ebb597f6bcee6a0f5b0c8eca198626a569143224dc300f7ed460d9b2ccefaa1646a4012337aff27653e0f93a3fdb30fce801ebc074c53b319e8aaf6d646bfe92c9b4f53c3f4aa178b34555acc5f496aeeffb027f3cb85e21abeaeb1073c90c0ee868cd9c72400397881797838b077c126e9c1578a3b317bacba1313bc2817b474457792ff0c0816a8ed9b26ef6eb664ebc69ea3778631b78d73a73642544aaf83dd4c426ead52e559a964cc01ca36964bd660ac7dc3a641c0679331945bc07b08a5055c773401ac353681d3cb8ae50c226d1944134fa0df0651a65849c0c728a49852c981b1a74fc41e1c12ee76a3387c2848f7a971134b6126b437aeb4789d1317f645ddf1b18d244b8d27b956df86a5c38184d182e139c68facb1bade71952f47fe94290b5a34143733ce86cabc32358ef7b285581bde9890a5240ad323ab040e7ab08404a8fc8bc53369633eab009649e3aeb2101d73fff3c76fb6a2ae66c086c380f41835f63e6bd51198bf958ca46a247bc255f775ca512cc919ed1c760801f374923bfc809c9051dce7a4a7786bd18357fc8c653566326f5d8c7506318b335844de8c8ad0cc8927796878ab5c8c7ca11aaba9f6e470ad29fdce3eeaebd3abf19769dbd7a10913c3a185111c0610c7fd7024c
+Secret Key: 02925074fbca15057ca9cb3d7aba0563ca3bd4169f729982bf7c22d109399b2b86cb609c2185ba1d4893f5ea62d3b6217e5a2752e349b8e7b1e5c290f9069e1d93abd69baece168a85687af2c9a15ef4a0ee2947c5c00213f4931da5ae88174bca03ae55b27c768b7ec1d595d2ac007a3a5b8b5bc808f83825da04da4c6aa8f2bda6032019585e53f77a612c300cda9844999d93a49890369ba8864f78025624d7187a915758ab10a69a712bf81b8a343362209f2ad48b43805ed8a343ae16727e9248dd0241af5319b3c286cb673d78066b9e188470a2596e43b558867a09f08d7576b8ac05c61ad143cf6c8b2399cb35417cb7631347ca6352a83295cca8ea5ca439a218e2c25a48f1ae05a21e037a1784a9791d860933b46f3980b1113cb346ca92f6d497e93c9829200cc067412596470ca85c51b96f6aa37e263cc937f7417e70cf70375dbe57abd19027be0a80b53164cf786e41c81920e3ad2064c29dc026a302b93138adf91004c2231318962b4c30715a31b1e3fc52148a64ef29c92fe757c35c24bd4ac57557080ba5b68af688b4a75dbd60a6f9b4b6a8e42ebf7a65e0dcb359033d51b78071c89971f43f09dc8bdcc8630aa9bcffa15233256096215b349c2ba9c5374fba7bfc2a3ffa07059ca39c5f904eeacc3109c62975254622270608838d03622b45181b6be52357272989631c4c492b8bb44ec96983ce79bfc7c87804716e45da314d9343fc3388336318686176ac9452d1b1c6b06107fdb58e11ab0c28b75739d4ad615870dc990281b137486281f9c0308c7c7ce8fc5b046a8ddb671fb307bbf7803f882841e70acae78728bab11b0dd84478586f0ea870e5f0961a32a670f767d6d06ade731e888551398558a5bb62316b450695560e4b03663a730af92955ac76e7da5a01da3dd3ea7249cccdf679758bc45f56b9209940ad319ccadb1317aa47343995ca7ab926b2667c9625193ff66541498ac21a886fd71165a777fd468325e6bfeaa787441b00a3c51aef53b7291c0df9341425bc4cc4c59ee56a6ff38b9190d880988b9d77c06d88a7b29d82b5e602a9fc8a680f6b2cb2b350b1b6613a5536b16c347f3737fb918d099998cab3bd9ef45e94017c9e754b5ca62b31ea70b9fb13a12cc078e44d4394249727a09c78961fda133dd345c179a1ffb01c737ccc6e402a4f5ccfa64bb426248a8d71b3a9d0990bd7b861039726f6c17eb4abd3b697ec93854644cf11a57cf6575dc2a487b5b892fc463659791f991b0b2ab243e6a5080d31698489be10769cf3e82e7f5b6aa3eb1190a3780380122c884762c70c479a1037d4017486648c0c9c37ac7b4c076419f95f6e878e3155058c2a9006626279e946dd7a9c3feabb01116d498182557357e3f775bfc49c4093b41005988fd6371c1726f1a6ab9a82ca8cd50753658849a42b886800dfbca88305c7cc449aa5d4c2da45211e803cf1d9ae5c92c99f7169dbf607a8a11d991696fb836dd998ccef872c7c3a8238b9107c865a91cab1bc0b666239bb64a47d3d9810b84bcb80b7054dc16ce3e9239bdc088bd77c7934627ea9c13b1840cab56284f65f4ca4af4e470e0bec6220572911c36e757498e4720a12c087166b5d41fc7f8bc521c126c102a41d39d1042f8199b79a4a2e62acfa3b9f2d288685763c035cbb89d46c651b18c3a5912fea921baaaa5e20052516ae17229b1e16710b163cc122b3be5b35dbd32ebba6092fa9052dc9b70f6718acf8a72e538887ab287ec4cb27321b12182353613b81724a01200060cb87edea50463502b30c1ebde7879afa9d2ff26a2b45a4bc56a5c222b7516c863c5cb26c32755d2905a44543d0333f999322ce6cc6fe6a6f15e2ccc010be67c7804cd5720c579e3c2c3c76a4ac853c55ae08290d936ae706739d90acf3bb4911149de03051ceb912d332b2e08304e0426bc5e99fd8ba76d4655ab9a8c95c2b032b204a49cc9d263a5606f55c8931745f1435eed8987b39433ca3bc332a057c21ad5869c0cd407ffaa876e52aa1c8da94e6ea3aba02bdab83691f36c07012418aa3b427868881035e96684cc94a54938767899cb7b19cb85356cfdad8305b3c30b2f87306276262c45d766a70684c8d9ca1766911cb757a74f9e47a1943be1edc95f2e6334ca485b6851b8eb888473c279f632978b1a42486220f290ba9c771cbf38884bc9c474c3016a469e091044d3c7423ca2a0cc98eabe391bb714a1d0ca19ae7497786a024278f3e73cae5875414644cfb109080c711de0b82446a8d4a1cb85565a923a152e8022dd41014f8c193dc0599e7a12c34a385f4337b136743b74b525317bb27f68a5914501ee14717a81e5a7c80efca597ec3a5a436a09877c374b3017bc5151c97bd2c359cf892839442bcb916b5d5e50a00073007a80f67071d0a9c04e7e223d07a406066c40a421bb62c84d251a690f2289923c2abcb243b32ad6fe0ab1ec36ec36a2828256be0a194e01b06b18aba71610d83b6099be66884c016512213531038dab8a76852b38b9bcae8294011258f43854a0dd6aecfc096d14a193d5220dfa0200cf099b6ba40728c723b1821c091bc79b27ffa52a271a84e40d1a95b0451b14724cc516f29bbca36f987862a3aee1c0c5086a44a5a8d1628ad305bb9e7fa49d9b24cfbb4813d53c47887498bf66c30fbb7692b4ddc4c93f17090a6f8b228338cdf7184511422098543e3355798272ea097125205d0ad10995f715ff34630ce1bab6f602f610c1fa5e4975331868bf243fb5a465be7121a0462bcea1be420521f447117227bbe730f56baadd7233c6d11aeba408c8cdccb63149b64b8aedd415a90667de4d01c17c60d1460ad5a5c0094a6cbeec2b70c4437e0f6c751a0a750cab895d9449f30a57d1781151583e0b1755c259b9264142ed3650e2286f010a083f34e346a4ba8208f2224bd71f9b64a69b3e217b2788b3ce7b82acd04694e502713664bdc79418b080712648aa0e758cd25951e00250d9661d0dcc002912fe712420696b08af1499ad2a731419d4e046cf4b575865860218a242405b932516fd302a8e2634eada52330445ab8452d765269318293f4c66a1479b87d99a48b9774b28773c069add594697686a9f12135ff18223677728e781a4fd41f02db50ae35028c8a25b57218465608ffba8349c077d6a1a43a3b6a5f3b3a5a7892db18889af795ad99c29bf2a836c07f32176f2ae4ba06ea9739580dd3ea94cd906c6d5bb1b30c0fd52b2146aa3e6130274f454c203b952c845c2775224b964c5f316dedd80345e5b625c9302e6843e1b970121c0de51b4711596dd9672141da7e122b4798b472649a5b9d6b99b81578689866a25b56632001e275081da73e667046f606a44f67907d4c86c523b36e900899621e0a6765aa97992a6b8324d997a1a22a1c90c93dfaad3168039261c0d0dc99fea5401b19778ac76ed61cbac1f003918b10b245adde672a6734436feb736d20ca14b0a803071539863cd4b17adcf6bb2ffc9bcc476f9c9586b4f92f74d3cf1cf824fe901e3de28d007222d2db7ac3fb25519236367b87b521c953251a174554f6a70bd0794e59797588c09f9de39545998be0397ea13136fee483f7f23b39d96c88f592775944790abcc3134dd8849577b56a1e8122a40385895cb3beda68a6b527d5d1afddb566f061712e33c87d067ad7b4c1f893421ec21dfc401937ebb597f6bcee6a0f5b0c8eca198626a569143224dc300f7ed460d9b2ccefaa1646a4012337aff27653e0f93a3fdb30fce801ebc074c53b319e8aaf6d646bfe92c9b4f53c3f4aa178b34555acc5f496aeeffb027f3cb85e21abeaeb1073c90c0ee868cd9c72400397881797838b077c126e9c1578a3b317bacba1313bc2817b474457792ff0c0816a8ed9b26ef6eb664ebc69ea3778631b78d73a73642544aaf83dd4c426ead52e559a964cc01ca36964bd660ac7dc3a641c0679331945bc07b08a5055c773401ac353681d3cb8ae50c226d1944134fa0df0651a65849c0c728a49852c981b1a74fc41e1c12ee76a3387c2848f7a971134b6126b437aeb4789d1317f645ddf1b18d244b8d27b956df86a5c38184d182e139c68facb1bade71952f47fe94290b5a34143733ce86cabc32358ef7b285581bde9890a5240ad323ab040e7ab08404a8fc8bc53369633eab009649e3aeb2101d73fff3c76fb6a2ae66c086c380f41835f63e6bd51198bf958ca46a247bc255f775ca512cc919ed1c760801f374923bfc809c9051dce7a4a7786bd18357fc8c653566326f5d8c7506318b335844de8c8ad0cc8927796878ab5c8c7ca11aaba9f6e470ad29fdce3eeaebd3abf19769dbd7a10913c3a185111c0610c7fd7024ce5830e5927aa630eb599f3e73ae58ef8bd42f3551158a1aec568a084166fecd315a02fc1d8ca42479c65a9cdb4194831da191e5ad66c23125991ca115054ea77
+3f903f15643d833c6d67796881782993ef2cdf4ca74596ece604dff505c40127
+Ciphertext: da28531de2ad31d0659e26ce3058a40176deefd1a711950b52067d7e7dc8fa9745b66423167369008ae15f77cd3c74437f944f83f34a21b350af79170a4a8560894a34cae4cd002ba47cb3267e3f2abe26c5289087f808461fcf9bf60fb03ec5e9f5091f21b035fae67b84525f30c0dbb2f442322e60951bca43dc0292f2fe555a7318aa45ebb36b270dbf8fe84daf0b649fa87c312cf9ff87c67f39bd9d9fd23f0a127f58ceee4de2b79a54099812b38e476bf6ab56180f0c0e3311a6f2d00d5d6b1ceeefd074ab443279d72b40dee619b839fec8ba918a0f8d78928386cb70bda9713c6bff1142f32d5128efc5b2e55854392e1154c1062be67dfe2d31c564dd2e3f495a61eb19d0fd3aff628b7b72a0593559fc80bb93927f17378ba566673d91827cb237986ed6d4d5a1b8d06978778afd87c39fe91158bde9a585dd06de45e997f75a8c50339e6cbaf1383beb9afda764c53a895dd9bef38d0923d2c14e57c0374d2d684d4fe6c0706401d32a3c2bc7cdbb2fc1f462dfe7e38873d0eb7bd6266196221acd2ef72e726b2a7a8ba0445ded13cc231cb4fd7195fe946302fc5b0f47805bcae1945c45b3594d0c05bc7f2164da9f3058a822e1921dfdcdf1ecaa5d6a74efccb2b8195403a8a31e1fb3d2cd6c08c2b3cf39c0aae73117027fe02f24f84e4c45118f95f301b0757a6c70f6bdfcf7dcc3099a61a8bcad140c9293e907a5fbdec16509a056e6b3854556489fd9446de46741ff6af8412dbc3ed8c9770c5d0aedd7fa38080fc8fa7d27122524c65ba01aa974c246de065101e73e775a09c3a4a862521c1fe810122cd921257a726a5a96ffb035760da89e980c3382cab3f108f5c6cfd34ef25f20e6dcad88041d08fa68dfea16d24ebf0f98afc83921fa982b1e830f954e00a385e446c9d4640880bd38e4d78519939a00cbde0ea11bb88d2d69f119ddc0ef63eecdd47169da0726d6023c978558de18d05d03b87f6d4ae5ed133bd92921aad8318dc9c615fc0b6332c6c5f13402fce20a51c5d66233df2699c08eebff34c039c95bc3d4b085042e7236ab2bcbfd11bba2ba5ac2f0c929ef27be4bbe364fda22aef9575fa3f64b683c026c56a40dffcdcd787392a76b6b77a639832db48f9ea0e38acb584e6d3bd4d58defc69b4627aba575e685dcee5ec2a4c441bd0f61dbe6e343e83d5c367ad818f273070fbbfb404bbdf67588bbdb5d0471804eb8126779de8890a39eb231cb7dd588afe94b9f4f8f75f1d10fdf1828e538d37cc6722b7583f219ff51742afd20c7c0dc92330c66ef0e2cb4ea2da0d1689a0aac3284173126c9ad2a0a0b7060b0d499a271177d6e1dfe8580aac6758a78f65e07361561c9a0fea6fee7b9887e3b6b87e8029964531db6593cc97da3d7716fd187e40ec93e4818317b2c4855e413ad9b069a288bc2bdca95bdd1d5105616c526eedca1baefffba2e1cc6639781d3eb6ecec6f694342d11b0bf85f8bb5f50c648f4005f8bfcc014f922395c2f60cc4d1af1328e790762be626d3dc06b97d82e886e6252bbbb0f395020f4002bcab3e4f72f89e28f40238ad5453dc7d42adaf3aae22a961ddaf1315fcf61ea9b0b6e6a58aa6f30c225ff795816265fa7890835c9c5d5c5729d702df85712bce216171c0b043844b97d85c94d5cb956ccdc1f427130aafc2272f4540db4614900e0f0e361433ff0e84412744c16eab96bc92b0776ada0be4094e847f5af15b4c042e55248d83437165f3d4987b2b969fd924413671385211444b3b403cfeea8b623139f577974cff4cea482521f6cfc6c373dbb3807060e8a12605ba1f7b0a467b6ccdfff31ae6d0f51095d267ae995598942c07376dda9c3a31eb6fc2a62ac98445003654248ebeb3425b911ffbe985129b1e4cf58eed4d751503ee66a1404b63ee34809304d7c9951c67bfb4b8e7c177f6da7ad16fb014194b53b878f4ac4b6bc5c420985900feb07bf82098ef4a1efe9e3fefd240b072d02a4d9b125fd30915ecda9bbb256b807aaa35dd383905da69d4ee22d1d43bfb9eef110850cb80630fbbfc3f1d31e5f991cef6c9635cc87d5b0170c240988645736a929599f5eb547f8e88f9b6ad0019aa62d42666b3a6d74be338afb7f413e906e148688275a6ab4723caac45be8598659a65dce6e20b5ff54fa5c33cdb47b454ae889e7af38947e7565be3c0e632157fc7b4b962a0f
+Shared Secret B: 97b4298a32ad4f3f142327ac515ce8d887a14fec07ca7af4aff5fb7aad00b9f7
+Shared Secret A: 97b4298a32ad4f3f142327ac515ce8d887a14fec07ca7af4aff5fb7aad00b9f7
+641c2a7dd2ae775878a8170d2820df685207cb32e7863a1795f622bfd9ae94ec696ed6c76bbe343df2aa79bc656940b1957d4aa80cbda7a075d8df293fc33f3ab8ff6a29ef940f7677a2688b4c7f2f3de60f856077ccc7fd6404f195b70badb1a1948336a618d1317e1ce65b6f794b8371e4d7be35ee137d4243aadb7fb414be648ca1bb19c4cba1ec560b3f49cc11acfacfb5ee45d898f26dee7043e23399a7f9f4ad78afa1e594769554acb2878e6bf78ae4a0fecdb95b726cc552ac769fcf4b81767a9fd27b4786ba8e3c2266d9f3c3e6ac953ee65a7bec4cf8019b18a5358400417c567fe5df133a69ee84023fa7f82099f8a7623316ef1141a4fdcf4f9d423f7050f695d156534b78abb6084ba341bfbcc9fcf917d2b5b74a49f8d741c0a0b24b29ab598eb37e023c6e08451148e52f2737538a0c78fb92fb3fa6dc8eb2d4f9d541fc6548e50346873d02603e2c00115209bf02984ec916fd2621fb1ff413568852c912e9e98ca560e3a0475b7f48d449fb3fdc8a5eef716f280b0ab1ae0ecd4e8146820cb855cede071bdff71d815750d87aef5e94fed265a0a846628c106dab46d21ddcdc9ab53feb004c2d08701f0d59ae1454c9517b51db15a1c1458d77947de4c3293623a0f6706f0e4b9169f43587e7d916f555cef600794839a523fdfabaa885fda2e90f216d4d8dde59e73a7f6c8836b6a72970c0f34467ee9b11254b438e6f6c95f761991666685ad13e8dee9a4489305055962712810995017aa68f8e09fb0533777090992b839ce679ec77d2138a35478cff722d1cfdcb1f950192af9df3f4faa61cf8e0a077915edfadbab083f060b35b72039aa688892a2afae91cadc8ebafad278a1ccbdffab85268d424339e68b2a8f5c5f5b317f8cc7345a953edd9ec67ef289ea398762381c1ecd39bc0916b6e77de85740d3cb63bba937b13e8e3b9b29005dcaf228fcd340f13822894f96948ba178ccd28ec74011a8ac242068d2c55d73e54a0ef5aed1bad58f0838abd17338f580f83c88eee2b1be9d88a50685b38429769c68c7db0950d8ae1ed2fdcc7b424e49dbea29cb9210bfcad9659079f280b4633abbb2f6981aac76c939e953a0d687a5c49b0c88cbdc6ebb873301ccc0ac55dad26655ff07a5fa2cdc2d6bb702d84cf78cd3253b85094ea4a34df8a7b3bbb91c1b8425466d6d8276ee5fd12970bca992781a641f88d8d7a8f65506cfa5c2af18d934070111b8330334c7c356ca10518e34469fc0e5b20b90f84072fa8b0404bf2f9dd400e9cc742c71a8bc3ee03af7ad0cce8d8c39e2a1c4fc4c8df46a6b96ef97c90fd7f6888ec4134403a18cdc5f194b5ce9c4d9e54991773bca86a0f50c5f0acb67a17dbd8c8f4b3306a3d7b553020a0616b3f8bd51c535782fd736341967fdd59c59afc17e39a78d88662b7f75c2ae00444acc26d0ac2fb9f21f7e9f94d708874418b78abed389be2afb9737f50de71d559755dc70a1eba4d112ed2f8f4d81b714fe7dfc47707a7ba77d1e785c0de60bef1090b8788b447e9391791ce7a03a3877a9d9b29ffc8394cf4307a6e7e7ab54713d615e1bcbbbb204c7cc8da6e7fd2ca2baa26d852e9a74d59eb3ae35b09abc807b0515ccee60cb4332fde2595c72a4a1333a454fbb8b453b288396a7a32b57c11057cdd53bad1a3c61d6ead75f239edf020c5fc92a258d86089696714954f2a235632404e565f2dd594e43f1688b97deef4fb584a9d90040f9cd99e53d6854f84cd685f1855dc2b242482bb7d89f7e3b29d1e8a3f3c914eb98ec9deda9d500aea9f06e2d08a974cde25b0cd501e055e94f801bc44f8295c8608e3ff3cc7984e2919564aa9e4905539155d8915d777b03eebea0badf47557d166ac1a55e4c7794c9556ff0dabc2d5e38534c0b5c5b303904f3fb572a23df9293c6cebda4ea85ad1d4e131975ee461f7e55dac31e22489e568bf28b0e4b2e6ed9f62ee3bfcadae452cf6efc4296f1070ffc70564762ef51b48da2e79a1634a0e9a9a4e47d1c4082fba8ace26b5a11a2c1aeacbb690ce1f2498de9bc9917fe0dfab8d9d557843a773db7f642281145ac933a17b2a4612969f75be8d8b307ba3993417c042bf7c3d6df554367648256b5fd9b79aa6a060d25f851bfc510ebfc6b5804638e2d57ce348a395ed8d34cd0e4f53a9d3ec0566c5934e9862b4e3564d47e99aa67e0d5eb7a378ca
+Pseudorandom shared Secret A: cd97adae2ff9924dad1410a236ea843248fa76d23ebcede3f601b464be5ee10e
+c2c6f29ee354e99e622347e06f5af9b2801e788ca95580718a2b9b300d1a2dd06b05021bd2bf1bea97036dc3749adee9f7a115a58cab8f46058d54f04a86a040
+Public Key: 37128585a1428958b1417945261672a9bc0b3454bbfdc498c5128c7a30688471a393e65e8fa0aec9a9328c2cba3efa2ffa15b334722ec747a25af797f157190949a1441aaf82152cc7375780c95851208449644164cc6c42ca8ca442b5847488bccc23eaa25ef43bb58cac6253194e91d31d5095aa1027a8bf585ca5d86271583b9aa9911f5b8e19fa07f1d24ec09c13010196b2269b33b4ae706964e9e7315b897b0b9c0d12d897e3028a17e9802fa05ba5b8a47f1242163cc968aa63ac49a78267513786b6358924631c295bb7767e613b9bd57f4e56b9548414b4e8205192663fb140f26271e7e54de2a58265cb4f1eb070d4001b350908b6352791b14301808194e09d35409e24d09035698ade949ecb098f402185261c35083931fbb45a8bf76b33b50383b16caf7b44a9cb87f7eb000b7c493b36368351a1c9b2116d5a6c89bc02ff8b04356b16789c9b76e173f3f62f538623da79482d5414d8dbb268856a2e50bff7d489daa942c4c695717388f9c226f07c11f88538a537b151cc9f41a014fb7135ca81b8492c7908ba6b499b462b3a3f48e74ae1496a6b4aae631c5e2bb9654ed037b3a6ce99818f662941c1b40df01783ed6ace3904371c533124273a503c6159e7a68c9832186b38e3e822e815916e8cc28668522da2205271774440845300ad6c0b2d19d0bc1dac65174c7ff65a128a51476d96890541a8ed935e46e18c504844c2213e81789abf4c47c4830ed441a01051b0212195794140bab75ec027c12e9178f72061ddb919b9f46b79c37d79f1aa15b04c2e7336e2eba343588da7aa8216e490f4870e63505d9b59351fd5861d8689994c4b7c07a478fc551ae57b9fe058a9b8c2ec9620ed2c2d71f5879ad185a971a877e1a588b983f11273268242bb190bed6109d866077c150e432ab9b46a8f03fc8f964b7b5c6b981486a6a093578da36cb24a66c06c36a6189203d3c8d4d1c048404007c52df4f22ef88ba5b91cae7cb138896618379684601a7a096b60b9d47370d83627600177f8b5fc29af03eba459b480ae810ea7450f83c62f2738113a5b6318527de84887e19922e955bbed021987818bf4085a99fb0a3394c4bc593f508b0e97c594b6d0b4ef8a5f9246a4dafa099dd2b4c4513d5a8c4af8c96d96dc79bbfb1b48137c4e09b60fb86ff6bacd6f302b66b4875ce5c71cba461423cfada0bd1c4a6495d3c4c2691ea1009ff14297c0e9b22797288754b66809bcd8c97031b6bbaaf8c23b815a77c6c1fd90b140fcca8a8715ae99bb8e864c764850d0c5695e079e29a24ce19c7bdd561402b6126d7490b40c163d8a3ac313689be46aab6ca57e195762877ed0a124a903b4eac983a9489aa27499ac4a3287c6ada4eb14f7bcc3ca554035163626b82f4ba3995ba877e7b61919330ff8580a6f299a84a2b6a1763d61eb7cbeb765da88b15f22b6446c553d169c69cc665561ae24e625bb69cd2caaa47e76437db56bb1e993f86a4bf27622006401239846d44a1f0f695ed785280bd48b7d17486554714fa44edbd13d7a01ab5fb240d8037685e4805f3c6bef33a808bb94d69cc505a9af2c04ac8dbc494d81c3a7ab3452a172ee4168ba6147e2ca471a0b6d2e7350fb8c9b53d00e33f67e557c6d224a46c8a50664b5463de3bf29c136013a0605695bd05b3e7e8c6018a9adb153555045be46a9396a9b589220051b7b688d1acdc0b98f59d5bfd5aa2e75873952d611ba95617e955db66992422622800195c9f330206163464c1f688cb8abd1bd846b13af88958f0caff23a122160254e04c17dd77b1a1ac78a7b502f1abc0f3c037a972968f7095f61a5350b4783b51587f2a9616c3595aa7d4480b413f04c1357bb0d3129f4033dfd420717038c56318f09e20e5f4a2d14c83983855b380b2cbd76638d0751f6703fd3f7b2b90a85e0c89f9239ba4b62ba6b74c655c6142ac8a3d0490d8c195318158c30544c7c37b272f561a8dcbf64bc3e3a324b007b43215114812bbeb8611cafab18e0877d9a4364f03ab69168592daa279f147b57e1928c2450e2b72e8764719b1c9b5946491820bb84347c63087e87e064b5a9cabf9509797c8a9a89cc57023406840855d2c3175673e385b349c7b008d2b84c6c504605be0d8bc1c9b389e27371f2ba1c81d38c29cb1668bf0aaf858810d2d185ed4f8cc79c53546ff08ca8ce69abcd14f1db7b
+Secret Key: 71308f10c315e59922e8343e91e4c7c21059c7fcc8879095e95cb6a5915b04f70346f23998322c1a3737785ba5e60065d753989450b80ba6a76bf4050670ac90c862877c5b2189676fac13583483cf9aa4fe363cb3ebaa90e42e03f25c9865b9b28392a4d716b49c3837b186f5001bf129c0a31316af03046e90b9599633f2b9cff224234d01691450c060c658e57cb8939c3cbdcc626a065925535dd0d80ee0bbca7b047db91aae0bba02b10358dd61a0388753d2627bae9a429936bec29a90d71b7935cb7220d17d23100deaeaba7a09bf0ac78de512775e179dac2933aab95ee29b64dfccbf5029030a0274a88330d3e02f34014a5d8c1deae54cb5338c5b4baf15f8c837271acd4b8c4a103635b9013817c4ace4b04e194c887567e03b8076b55aa3200b45e286cf7008dc08679e5599d723cb6d88216ae1a5a945657609b8972025c7e115fb19ab9c051dd8aa01ced542dd5c202ef41a899bc279ab11393b8a48b579f0a19b987c31551c2ff976404f95063df78736a27e858755bc139db62a44f54012d1997c0a28663ba7b928a77e19a0b760c8887baa320028894a2c6488378fe497b742f129ef63b2d5706173572aebb0292fb42c0da968e1366d9b3bc989d02dfa20a97071134d7a3f4601bc967661aeb59d91e468a0f8657677544379b2a088a16b98c591655dbb83a334197a44971e0597b2afc6c94004a80c55c687db16bd357147810e89197c9acb7b71028ee2d326ed263989c7135e2c5e8873b402410dbba34c4cc3aafc640bae602851e96844b6bcd75808a8f23c88c57056d59e3b703e0f39b2b720714f938afd042d7e430e6e0acced5818d87a0c780c4147491ff5dc37d88753db3c3301526c23c72e5a397df24a6ecb744067c61e1aa71a0e900763ea0f5a4a1b27b86e4d4b46dee0c7b7d18708b5c365b253d1099c739194f115c425814534a8a6aab4156dc222d2ccbb894b67dd32941ac63db5898d49634c9178be44d935935007520cb889666728c19bfbf07d8a444b82c15da010059662a9e20b82ecf6ae3cfa1a310a66bffb5ce2186fe55bb874bb4357164f7dc0c3bf3b05ff36cd054751a6c2aabae0b5cf04c6ba11a75ce1a818165dfa4529827aa7ffba02cad56d95b20bc1d7b8a4a7370bd46f11d48dff430a6f0314d4d54800b5346914935aa7a8731b258d566ccf337c88e488e6c707f8cb81ebb515015429fcac4131e56ccc66b81e034df139b83a850d63e7a264e59cded6893d469d8dc2c4a3f05c5bd8535957674fdc4827264d9ec07b78310baa23bfe22187e527c7b305d08d018a2b2b5a7ba441f720a9c1570a0cc6936c1b41c0554fa41bc504b73b7cc782d21607a1dab83d3a09afdb5fa3537808e26a39ac6efe515995928cfa0430ac94025afb9c8fec2e61fc390fa232e73377247c045d3a0a6133017cf07b4a523fc4523bf768062e524c23591e8753ca3c5660cbc369ae34188cba9d150634629156b950b59e33063bd8a8fbb96ec41a34a7d6c12aa2a140e4573e9818a8b8cfa6a5c4ad0c4f0dc5bcab889f42747278524eabbcc17351869f0797d8d97a08125101543c91ab69b679abaa5c0de9b45dcec68403c33b72630da92838612442c6ac7371cc4d8a0a81457c8b0cacc3085690606a66ec0307cd9c589d1178f42418f15c561b679bcf8b1c7fa005bc7a4d6c099509a32e1a6561b747751ad7ca10c760c39912665133c69855eedb2a51a43ec151a7b753bb014990a22b5c198406290513d334c051887c228bba9ca2972da934aa97b056d66219d08d6a6949eb222aac7755ee117322bb9177ccccf5080d8868bdeb263e93a479a14bb35cf461720010edb55ff4ea18f0921f4e7956ae97bcb8fc5a9d8a22cc8263a91cb9d2b51f5fd5b358299bbd2c113f721b51e968754817998050c9eb14003a120c053c6c3594fc5a988a54c45bb592826c46fa3548c3b65435d60ae495161af484dba60757145846ea6b231b9335b6a7a7a475f3e156228c2b8862c3f13a1c4c17ab4da833bb198e563454c56b108d0bcaaa362c31e6aafb165ee65b81ee98302cfb0ff208c645b13cf861b0f4d20c9088cd98f7bb21446372e959c3a795baac1d8235c59b292472bc4019d780a485a0c0e224f1e76883a62c44ecb65b767e99282937128585a1428958b1417945261672a9bc0b3454bbfdc498c5128c7a30688471a393e65e8fa0aec9a9328c2cba3efa2ffa15b334722ec747a25af797f157190949a1441aaf82152cc7375780c95851208449644164cc6c42ca8ca442b5847488bccc23eaa25ef43bb58cac6253194e91d31d5095aa1027a8bf585ca5d86271583b9aa9911f5b8e19fa07f1d24ec09c13010196b2269b33b4ae706964e9e7315b897b0b9c0d12d897e3028a17e9802fa05ba5b8a47f1242163cc968aa63ac49a78267513786b6358924631c295bb7767e613b9bd57f4e56b9548414b4e8205192663fb140f26271e7e54de2a58265cb4f1eb070d4001b350908b6352791b14301808194e09d35409e24d09035698ade949ecb098f402185261c35083931fbb45a8bf76b33b50383b16caf7b44a9cb87f7eb000b7c493b36368351a1c9b2116d5a6c89bc02ff8b04356b16789c9b76e173f3f62f538623da79482d5414d8dbb268856a2e50bff7d489daa942c4c695717388f9c226f07c11f88538a537b151cc9f41a014fb7135ca81b8492c7908ba6b499b462b3a3f48e74ae1496a6b4aae631c5e2bb9654ed037b3a6ce99818f662941c1b40df01783ed6ace3904371c533124273a503c6159e7a68c9832186b38e3e822e815916e8cc28668522da2205271774440845300ad6c0b2d19d0bc1dac65174c7ff65a128a51476d96890541a8ed935e46e18c504844c2213e81789abf4c47c4830ed441a01051b0212195794140bab75ec027c12e9178f72061ddb919b9f46b79c37d79f1aa15b04c2e7336e2eba343588da7aa8216e490f4870e63505d9b59351fd5861d8689994c4b7c07a478fc551ae57b9fe058a9b8c2ec9620ed2c2d71f5879ad185a971a877e1a588b983f11273268242bb190bed6109d866077c150e432ab9b46a8f03fc8f964b7b5c6b981486a6a093578da36cb24a66c06c36a6189203d3c8d4d1c048404007c52df4f22ef88ba5b91cae7cb138896618379684601a7a096b60b9d47370d83627600177f8b5fc29af03eba459b480ae810ea7450f83c62f2738113a5b6318527de84887e19922e955bbed021987818bf4085a99fb0a3394c4bc593f508b0e97c594b6d0b4ef8a5f9246a4dafa099dd2b4c4513d5a8c4af8c96d96dc79bbfb1b48137c4e09b60fb86ff6bacd6f302b66b4875ce5c71cba461423cfada0bd1c4a6495d3c4c2691ea1009ff14297c0e9b22797288754b66809bcd8c97031b6bbaaf8c23b815a77c6c1fd90b140fcca8a8715ae99bb8e864c764850d0c5695e079e29a24ce19c7bdd561402b6126d7490b40c163d8a3ac313689be46aab6ca57e195762877ed0a124a903b4eac983a9489aa27499ac4a3287c6ada4eb14f7bcc3ca554035163626b82f4ba3995ba877e7b61919330ff8580a6f299a84a2b6a1763d61eb7cbeb765da88b15f22b6446c553d169c69cc665561ae24e625bb69cd2caaa47e76437db56bb1e993f86a4bf27622006401239846d44a1f0f695ed785280bd48b7d17486554714fa44edbd13d7a01ab5fb240d8037685e4805f3c6bef33a808bb94d69cc505a9af2c04ac8dbc494d81c3a7ab3452a172ee4168ba6147e2ca471a0b6d2e7350fb8c9b53d00e33f67e557c6d224a46c8a50664b5463de3bf29c136013a0605695bd05b3e7e8c6018a9adb153555045be46a9396a9b589220051b7b688d1acdc0b98f59d5bfd5aa2e75873952d611ba95617e955db66992422622800195c9f330206163464c1f688cb8abd1bd846b13af88958f0caff23a122160254e04c17dd77b1a1ac78a7b502f1abc0f3c037a972968f7095f61a5350b4783b51587f2a9616c3595aa7d4480b413f04c1357bb0d3129f4033dfd420717038c56318f09e20e5f4a2d14c83983855b380b2cbd76638d0751f6703fd3f7b2b90a85e0c89f9239ba4b62ba6b74c655c6142ac8a3d0490d8c195318158c30544c7c37b272f561a8dcbf64bc3e3a324b007b43215114812bbeb8611cafab18e0877d9a4364f03ab69168592daa279f147b57e1928c2450e2b72e8764719b1c9b5946491820bb84347c63087e87e064b5a9cabf9509797c8a9a89cc57023406840855d2c3175673e385b349c7b008d2b84c6c504605be0d8bc1c9b389e27371f2ba1c81d38c29cb1668bf0aaf858810d2d185ed4f8cc79c53546ff08ca8ce69abcd14f1db7bf27ee7a832686962991a10501f57143cc4b95c00c08012561fd25dfb17aa19e16b05021bd2bf1bea97036dc3749adee9f7a115a58cab8f46058d54f04a86a040
+5fdca53ff15c9b027a79f8189c0aa73659e99f88b07096c07c7f694a3b7f52a0
+Ciphertext: 05389cb01533f3cbd5467d5f63261adbe092926e9ba1da5d6e36769b6722ed43858ccecdb380654d095e48847ff03842ceea7b90fdccfa7f23912dd3f98893e392a8f18cb1bf2d4e0ea514e62e5f035ab158daa644e290593a93162d760282bcd4cdac39a6492bfc5bd3375fbcb759e9eaecc9f07a85748ff9c2e373cc9392e3ed33e9f90d11abff65084bd7def6bc5143614ef485ebefd0872dea4cdddac0792cf1affce632ad08496231f0c50514f88fcd45a67cbeb7ea9f88ad8ecb612e4d4f767601d48ca196a1f5e775fdfc6f237c9019b7b2e9b340728337bc486be9b2d125a7681ee129abd3d1d11c38d5bef8cbe25e0e2ba484dc93ce6cb815c1c3f77215cc754ecf983d1501ac14ef12cc60d07acbb917d6b5fa75720d1624ff5bebc5701667657c2eb9b24f54db9121460c3cf513cefc5d345b866e7a41b533d7710de6a1f55417833e094b437c5ffd8e5fb44367a28dba8071411c511c140135cc667ecd39bd9186b4fec19726e76051e39a1a23297ee7233a5534c972301d592bb3ba377837f742a4ebb0d22191870398e3426c7575a458617ffe2bb38fc31d99c8438a7540fcbbd1aecb13cd916fa0c65be606ea8ac4399ffd4a9d331593d396b31f697dd00adb7d7f2ea45f4019de8a67edb489d847e3e68d4f7e1a6c3158d599bd0518d5afddda92bf53c78dff5944d27f92d72fb70d4f9e4336de143b80893bf1b7e60fee7fdd531612e1ab53ee22eef6a1b7639034465345314db3f6afe57dc1b4aebf160732e2ce1ee6ccf17795eee3755c06aea4dafadd4935604c77194eb35f86178d73ff386ac37cc18199989cfc545d2591b57efd0cf03700046766f2db504ba540b25209647118be9843aa0c9bc3489c9164a2ada07c5fd1a4cc49b1b47a98773af74605c0b0a259cca75150e2ac583a3e525f117b74f37583b40b9762207dcc38d8d20a566beb725f82e9e528c623768b78b76528b636d7b1e7038d792b2ee2a0f77f8f0e2d3be176e5658f5c68a627ea94517d71fe40df2491e833842fa615c24afe613e489afc27edd905366319426b65db6aa97c6b540b2f572c06a00569b87df3710e99738724673541ffb66dd5d2bd9b537c3e7e077dcba710fc6fedbf7a3575e40011102724578346b4f8df2cac8fdd7d6bb2f5a35bf919f79303c5cb1e13276cadcd5450bda7dd142509b8f4ffc268002c432b3316c51182b510029b65a2fe940d2c2609ae5a18d0d9951bacc3ba71a21753da501f42089ef09e7d6c63f882c35a76471b440d04441e7f3811f4f6b8321acb3fb8a3f5ae9eb9e73aeeac700fa27f9a91864f7ebf24aee9897038097d739322b7ad6064418aa45b06d5574db940e2b54129e083e0506572dc569ed4d041a7ba31a5d7cac31cfc0e9f97549a9dd0b0cd5d46433951d7138010c920fea9c8af322f3ef95a54bef78f0e4112e88458f1a79d87ff65176814a8608c5f8f5468cc197e0b73c850f4573cef81ee7c47970e4a17c0f9630a6dea6fcbec246a525c48e1b5ac452df4e7065f1c145bd0b1136b474047096f82d17436c5031a6b0315326181a9ad2efe4a3c82a85771563c57806eb7653d45982ae22d9f78cfdac7a7d30849b4ebfd116f8fbbbcda62fb46bd2adef38226dbf98808e60ec7587980b6caf7e1320ef5063c0e14524c303ceef388167bd471eaf69b40597a7633ebb19018fc07f8749f38b666125da6a6860f21166de4b89285c07cf150b5a38c3a7151a4737c3170d8f1197184864270d1b5405b9f75b6471b5942d611755c299ca4276d59446573ac33014d26c02fb2608834c13851f2aa46929b99a8e09c92ed6fd2c902d44fa53471af3607bc00a08cbadc814a1531b71ca53cd7801cbab6a03292ed3f312f5c82c0f3ef5b9cefbef3d680844839e4c7261325f03feba901a376544e8c181f2ceda5501b01a20f73f17cfccc68550e6fcf1b5c2436b10bbebd187dde527dc42d72a77beb210af22e43ae56726c75848cb744dcd0ced1c7057b06549453cd4ea41607c2d3d70146d5e0421f7fe13fc3953f22232179e84efe151124152a2825bd7e20a8354d5df15a9580257c6ca137cb5f335e1006e460343bd99e98f9e84c496e1da2144a3c0943297e2829aed0c0ff463f43987c6fc28514ec894a796a1a285658736a2c329057e21f0082f0239c10dc17bc9159115450600e9f94ef5dfe2c535b
+Shared Secret B: eae80508ee93fe3e9048e289d43cbdd7fdd9c7655d714787431d27604056e5fe
+Shared Secret A: eae80508ee93fe3e9048e289d43cbdd7fdd9c7655d714787431d27604056e5fe
+7fbcedb663415025b8315b004cf0ad3c64daa21e290cf0cccc3bb2d9bed0c9e68789bbf50bef9c6c9cf94db134358992546bc26c9d9b6eaa7da7ed63ca061f2f27ed1980ecb04eb07640a13fa97b723856fa72d97ac8b1aca5c7508bfb6fbf6eb4c5c8d899aab67b8f10046922d46568fcd56223aeeb80e147352aa691417a153af5b19fc1b5dd943ceb663d2d1e2b9fa904514b99beec905bb3ca4fc05b410fe5adf5005a421cff6a88eb48bc8858692ae213fa6cb6e63bc52e934f5f959bf64395a656cdde7da77c3745ade36a37ab1c9a41950dbd35e2307ac8a04d88ee1434645f283847a87aff8f23d17e7e870bc70f8c952a1ebebd7c4e8bd953f978d9db9c31c6da9bd73d27fb915472fefac4acc36c536fe4b039b6f9ea6b4557388434360a7f87ac0a72cfaaae98969de3f08f19a6a9ae97f00dcc1a3776752db14d7c47ea1b625d41c619df7d5ce9ab9f0ad08ea8c32c31ffca681c8d111b66027e0f62051de1968538abf2e8fd305598772a268d666c26f5b070d19bc13f3f7fa4a47d492cb0664fc12b503f498aac5d6f7d2975651e715c1c2dbcbdb899208fa02011830aee8feea9766a7b8af24e2a55b0a3c45fcad4b9cc90fae2c0847cca5d4d25a60c465bc2841827de683ff6ed2790c04bd2600d6bd82e972c9d5a74283e1f0b203eb9e5e13a3f12f5095b37171408b824b9a0222c13080c1e6b36d26190a69ec8bead4993cdc54210b935e2bdff6746f68a496b05f55793b4dd9f49fa5d47f54736b239db175613427de5f7f9131536155f1aecc5cbca12d5694dafc8bc47c03da4c4eb3b85689879dc9701f27555f55f6c2378728a5e0f66b5843fd6b41843524fda6fb4f6340dd38f4d444f592215cd2a7aa8e172ecde561a300f1e3f538fd1c5678d7b6b8de88c7bf9c62c95090cad512f089687b953cf2028a5942c221265640317613ea46ce0a77a1dc8c91e658ea84d3910ff2b5297c6bc096534a6f0cf08216bce77ebcee70508770adfe233857b897d956a8dc7e1dfd36356ba1b39dda34b2422d919f2ab5c8ec25b3ba5f91cff012b4d89fba97e9ac85ac28299eef59e687ab368e85876161e3e36baf1a7d43d8c2a8dbcf4e19e2ee7e48cad4b7f493a5ca7f110e76a96077a25d6f148d23b59c238eb8068fd2f1b25df54a6f03999ae46c1e0fcf86e9149e9955cb8df09e726975533f6e4cdd914f31870e05bcd3b052ec240348b6835c710126e18f280fd2945cb406f0672b29eaecaf0c56357be3bc36ed1bf0bc94ccce64a9089addb56734eb711a4c09f0cd930468168ca961054cdad71e17565cb46b968a60d5a932424b7e958077e27c7cb47dbb5978b3339a590f13bb239c80ec64b4ce981144686a5361146fe0844434409988342f0a0e2f81ca2371fb84eda9588f0b6136de5abf4c2b0adbc46fea85879b31197fac2b23076765a00f0c7824a49b39920c16ddf53faf806d1ff12ecd029369b8ae517cb484204b4e0373dbbdae489afd7f89f94473451516290d65de0a0cef5acefab7eb079a092604a4efed5805127cc97528caf4b6bf95276420d976d6bcc61323abfae2f3b5f36b4158792912bbc4855b344db8379d6a6831640a54c14f8f5dc666a3834bd84a8d4a9f02b5a25ec835481c5270756234562821ec29aa241d9634619bb726de72844e65e0b6bc437b1a94e7874df8ed3f3c9bc6d4f358b43faa1aebeb03155db627fa4680ee1b25adeace159a220b83bf6a945c5016099a0bdce8854d61e2d1f3f4a3ae0f412c961cabc5b515ecd58aab194c827ee0eefed09661ca472c8890baf279de15fc604c191d673fc1b001c145e28298a8fdc448839ef511db44b0373c224ad780b9a5bef384d42198d12352b8caa653d0e9b34e5c05c86addbecf8d42dceb2e6df375f89a948b81f52f619bdd9ee78ef5021f34e64335af219f874acd3257b5436655c4ba898028b38e3b6a0bd056b8b69518d68126256d35f49ce28dc9a8a70a51c91fabe2e26e8ee6ef69519aee36bb45894f3c01926616d04ea7b190168435b590489f40962b5e7193dc222bdc34288e3b68f3cd47819fa5690d6d0885aacfdda1405b589b36fffb919cfaba7057de5e6f728f6a580c4f9e7f8fa3919bb902b3f286cd73e71b63e8e0e757ca3acdbdcdcb449d904028f9145916e8116747e79400aec22a678959d89bd402c0c432598b0ece62f
+Pseudorandom shared Secret A: 71a5917b515c4fabac1a33880c34cead3863aacc465e058d6cb854665ac0b639
+6d1703d1bb0ff349f0556f995d8dddd31c817524ac01173fff94e5283241f2f5ce17738e5fa5fc367a622059ffb0c6dc8f7d6e1158e7f14053dec8438ddff8fd
+Public Key: e6aa4d31f4bcfa0aa872d0386a03ab7d2a554b654b423004e68bae85eab93d4ac861a23121481fb3b162745a7d94822e3b0c8e3077320ce20b83927453076f1637537f64750838515c22a6d0ccc865b18e78ea3fb0f175cbb96b4899b33fcbcb5d5020686693986463a3a2b7bf8758c5b1cfa7a617240a6ded9c6308874aa07bc6ba218f68014a03d17b089b1c9732181b9776a63a7eaf68cda6863b32569e4c050113e1ce41510d38524652b30514555a181a946a4b037ec092d92a3ad79a552658bb02d0484e6b15edcc787bd09dbc706366e33d9a501eaaa793d40a8d96ba43df519db48884ee4428a31131bf126df8226522d310c9d97a5d7b021883007268658362535dccbfd3819f30a6c6257886da99bd5d75608cd91bc4d6ab43b7bb0e13221af067549138d9106e8a425006e406c0a6b060e7cad6c41634391e3b154767f7695c1851adb42e8972b30ae26ad37b0b27c184a6b076133279fb39c6dc211c81041d3ba58e8281484285bf912ba40da79e50ab41ff578e822b767b76359a06181d7b158c6ccf83ec0bc88b9517d09e508c782ecca2ab732b2e2c7321359a0c5169f1fb91f1dc9402b53d8017a975e19f555143461a6f3d77be0a8a9c7e370d61a069bc95a799d07d8d730db931b5d9653d5a148777319f791640ed1b24676831de92acab8665854a1a6971b17f89444e815623d30cac437116d5a18338aa6a75695dfab3cf0c1443b16137887f73639df719497f8ba48c95212a968e4e9b35ab6cb384a84288b58b17266a8199719fc9acd0a3671c103237780858943472c3a79fb472831a4343087f1d10c043c108db861987479937e828a4626914e3b6f1148e872644d54cac92ac172a056f8e603cf81ab52c7a064984c69991a4d48992815c96f9f77708a25116301f1378594ca4519223359b283bc0f64bd7104ae1378431d6a01b933541248570f039c9b29fef1b96e12632d24979953a491c36ab05479fe9f93932946a6ccac10d48bf2d63833e58723a40c13a45a336d347f02638d1c8aea672ada433a8447654d8c9c43f54c2c18ca899674cb2c7288bf1aa22e509171446ee705312c97e174a5df6fa80ff91429748bdfaa0b8b4789a2ef6cdc8848858c07443accdfc2450f2bc538906225051a4b99025d2e0a24dab7812fb002a89289086c708778c79ba2ee7348a126cc98afaabdb9a3e3f18487608a492681c0e949659446c65438a48b03253806086f62ea7f5b0cf4c8f36592075cc5f1b357a21160218ab2098c477a954af72638c4a8ab7b9c67ae74271512a517c862e556ab4b58060f02b5414f2662ab7861ab77f4bab1126f94bb760963a514df7b3064ef50f9a9bb086d7cde6186628d32f45388f530513e838cc7c7a2406bc1790426e20b15479f9404c70b7c6464f4a8743194405ff95c466708071672aa7da1fd68a16b1548871b2962b51697b6b22a55a6b8eec9cea2b2593110fca145976d691a3131ebc0c632f9a8f07caa89f34cd68d178cb85729f28b921f84e731aaa57919bf015985e620327a28a82a701e15bc5795276af0a885e78b8d3f09afe928512405de2906aac991a1e3c1be3c87ad8602f3b93bb23778ff3d0b10ab62198707d6fe932119a220d90102ac0bc7227496f580ccd03a266c917f05ba675c48a55a108ce454a3a659cd4625cfdd59367443009419d28d564b2358fd9e35db3f87749762b135b010d5a89ae111ad479468973b264dc6b47002752db880be747b5b3317f45898fc63739922d5b2b3a3953181e60a70c99be152850aa3088ebb027d81a84dae365d7e3c6542b53004a8175c16f4f9c8ef01878bdd491c10c7f0be27d90804ce2458dcd26a6ec212a2e2c02cd8714dcd3ad5515bc2253c6c0676abe59034459c244626db5e5a094dc7336989693284f3723c4b94b863eb12d5a3068a7c9c3b267ca8df35866964c9001634f88b565d281fde10e24256312693ee0a9767ea080985c8ce526442db081a6f45a94636e9bda0827a579434086099230e15c88724911ec4c0f6f770f2b0363614a1b78a3446769c58e9a9614da600fe47ffad67047192f9d3780383c0a3a36aa6177b09655477916664fcbca19224617e74880424a257bc169950858c5b39d1516d0c42cbea34dce80952440874ee9977b771a91a3ae724c3199f51f2856442b4f7d4cf0c210bf4ed16efefc5b591f46
+Secret Key: c1287e0b9048e7989809f309c2730d9b7a946bd71180412fd8f7613d50c574a0b4f2c743213a8d722c58649a5df823677e579adf3377fa118a8089569536ad16a6817ed379f0c88f2e746ca76b683c145e88b787bd34bdd9a468ed3835ede07523e79c421a4a83c583945046a3f9c5489758db6a8a2e4c18f53c88c5475e3a16bfe7630e65d72505d0093292734f11a3e198132a41522c7783a08a1502f6c86d73c4ba8a530979274e09b88933a2bf05724ce56027eb0959a1afd63455227429a4fa34c17b4085d2880e17327739c601a2cdd69835c131cc8e982f5bd80f6f89a36317351eb95d0ff4cc5c30419f3b4d0ca94800968ef6174c910cbbc21c8731e9622e6363ccc212faa86373d7c224474f5ed4701fc3b4c4f080c3e111896b2a267864b6ac6569bc7e0fb5794c34c2f582a2304c71de03a8fac47102600d11fa92d5797c754127a7006c3eaca0df97ba2133a941ab3a9cf3c39a7a27cbd3b8f335a6f2119774f2191059c9248520a4da002b1550bcc27e9096715d13179103ccfd20b4f2a5a86a303742a53d47aca3534465f579b793c44cf50a38b0265a03e8331ae68e6855c3d359c2ab2c17c49332958675b5fba7241a5903a668f1f9a0549a95545ac4c2493fb1526dc3e637a2e85805f5b60039658a84691d386f03b09bd18a04b09169068080c2e690b2d9cea2f762d63aa8f0aa31061244ac6801bb1236c99ac6af558d4b29a86fa483dce467a65a4b3ee026251358c4a91d460495ad012624d745dd7455aaf99d323598ecf0086d083629b9ca37e51a1ed41233e1c3e95c35c17a8993c45a75aa014eb068b4a1765c1977c591cc41040ebf83b5471a759b163ef6414b4e9574ace051d3fb9b47d056afa51053cba17dc956ffc98ce7151942d7a29cd0968994a9abd062e9347454a1066457369b46058af93968176a0be1bb9ab15e8bf031e78173b9637f8dd8bba40672a3211004b782ff28063a1ca39caaba0ebb932720106da947283470398c089bf43ea1177219771baddc0407bcbe3e5a0e3ae62a4fb9bccfb5461af94d7a514e9ed2b811b8879ee2549a7965e8d85ed631cf98bb8c131c8d541a1be04601b23125b94c3ce49ccef9c2cea24613d7902687a61fa02b4d5e97710bac6fc672216a85694d47060199a7d4454ee5916d7bac8c1ba56cf1a26627200f92302f50a87124815831926dabb24503001680880379304b869c2ea6b6098fe4a858a55100d6b21d212ee60aa222d219c818ae6a599c75e53f67928d9264bba9699313d7ad31fc9c553cc9d9847737307666687d4bab4cbb74c087bb6ee3ebb0630a96e1d3417927a59a391bbb905e7e2330817c31ca67c96cf76e00257c0811182fb05467b2013d1a5f49034e1e294cfc4943e9131d145b37a195869546b0b9989118726cdaaa3b0d9835772b3befbcbf6fb0ce3fa9c0a6b6b4ecf8b63ee973df4b0efeecc4c32a996df544ff28760aa28f24814c6033a58bfc7982f1bc824b5ac44c17277453ef7b2cafca6f35b96bbc411b649432731a693369c1f2e76dc948204ed0cdf541585d431c08b54395b84c86b9cf64651d54789fd2a358d89b8e58347ac3d01a50c770e539335912be8754bf7f457e9e104f85e06e70b43e0f8ccac711795c009ab5d19dbc8178888bb3596458a6009bb908c820ac61b732a1de625d62217a0b544054185f1f783bd0979fc76871e90a8b695cb14111460c12432c9aa722e8374f05728776547f32a5f176c4b8e06223261108600714608d22682d24c7b5393544e0651b3cdab9602b226461a695eca800017061b073366a0e306b4a9c0483167967531538a69ca965aa3ce1462a8c187537c3048ee6b886b496fd29a77cc14a0611a0e278b87f733f2f4c22f7d96ec085b30e16639e38c0b651cde0309ff1791ed3367246bb2180e662e67388f2d7b33b7a5597256a2f26600fcb2a57f070a9d261a50119c19c2cdf99b9a6669600481134c50eea0bb0907a5f5879467e63ccb00c96114c9835e217540c68f85096fa5494a4045b68cc62641226949cb4eee5410f191b736999d83652e4341c0b201ef5122829b00822382bee7c211c3575327b5480a72e7d114dac686f84a40bd805a68c4324360205d8bc95346095ff053b1ac7a2e00203a9b72c9f192ee6aa4d31f4bcfa0aa872d0386a03ab7d2a554b654b423004e68bae85eab93d4ac861a23121481fb3b162745a7d94822e3b0c8e3077320ce20b83927453076f1637537f64750838515c22a6d0ccc865b18e78ea3fb0f175cbb96b4899b33fcbcb5d5020686693986463a3a2b7bf8758c5b1cfa7a617240a6ded9c6308874aa07bc6ba218f68014a03d17b089b1c9732181b9776a63a7eaf68cda6863b32569e4c050113e1ce41510d38524652b30514555a181a946a4b037ec092d92a3ad79a552658bb02d0484e6b15edcc787bd09dbc706366e33d9a501eaaa793d40a8d96ba43df519db48884ee4428a31131bf126df8226522d310c9d97a5d7b021883007268658362535dccbfd3819f30a6c6257886da99bd5d75608cd91bc4d6ab43b7bb0e13221af067549138d9106e8a425006e406c0a6b060e7cad6c41634391e3b154767f7695c1851adb42e8972b30ae26ad37b0b27c184a6b076133279fb39c6dc211c81041d3ba58e8281484285bf912ba40da79e50ab41ff578e822b767b76359a06181d7b158c6ccf83ec0bc88b9517d09e508c782ecca2ab732b2e2c7321359a0c5169f1fb91f1dc9402b53d8017a975e19f555143461a6f3d77be0a8a9c7e370d61a069bc95a799d07d8d730db931b5d9653d5a148777319f791640ed1b24676831de92acab8665854a1a6971b17f89444e815623d30cac437116d5a18338aa6a75695dfab3cf0c1443b16137887f73639df719497f8ba48c95212a968e4e9b35ab6cb384a84288b58b17266a8199719fc9acd0a3671c103237780858943472c3a79fb472831a4343087f1d10c043c108db861987479937e828a4626914e3b6f1148e872644d54cac92ac172a056f8e603cf81ab52c7a064984c69991a4d48992815c96f9f77708a25116301f1378594ca4519223359b283bc0f64bd7104ae1378431d6a01b933541248570f039c9b29fef1b96e12632d24979953a491c36ab05479fe9f93932946a6ccac10d48bf2d63833e58723a40c13a45a336d347f02638d1c8aea672ada433a8447654d8c9c43f54c2c18ca899674cb2c7288bf1aa22e509171446ee705312c97e174a5df6fa80ff91429748bdfaa0b8b4789a2ef6cdc8848858c07443accdfc2450f2bc538906225051a4b99025d2e0a24dab7812fb002a89289086c708778c79ba2ee7348a126cc98afaabdb9a3e3f18487608a492681c0e949659446c65438a48b03253806086f62ea7f5b0cf4c8f36592075cc5f1b357a21160218ab2098c477a954af72638c4a8ab7b9c67ae74271512a517c862e556ab4b58060f02b5414f2662ab7861ab77f4bab1126f94bb760963a514df7b3064ef50f9a9bb086d7cde6186628d32f45388f530513e838cc7c7a2406bc1790426e20b15479f9404c70b7c6464f4a8743194405ff95c466708071672aa7da1fd68a16b1548871b2962b51697b6b22a55a6b8eec9cea2b2593110fca145976d691a3131ebc0c632f9a8f07caa89f34cd68d178cb85729f28b921f84e731aaa57919bf015985e620327a28a82a701e15bc5795276af0a885e78b8d3f09afe928512405de2906aac991a1e3c1be3c87ad8602f3b93bb23778ff3d0b10ab62198707d6fe932119a220d90102ac0bc7227496f580ccd03a266c917f05ba675c48a55a108ce454a3a659cd4625cfdd59367443009419d28d564b2358fd9e35db3f87749762b135b010d5a89ae111ad479468973b264dc6b47002752db880be747b5b3317f45898fc63739922d5b2b3a3953181e60a70c99be152850aa3088ebb027d81a84dae365d7e3c6542b53004a8175c16f4f9c8ef01878bdd491c10c7f0be27d90804ce2458dcd26a6ec212a2e2c02cd8714dcd3ad5515bc2253c6c0676abe59034459c244626db5e5a094dc7336989693284f3723c4b94b863eb12d5a3068a7c9c3b267ca8df35866964c9001634f88b565d281fde10e24256312693ee0a9767ea080985c8ce526442db081a6f45a94636e9bda0827a579434086099230e15c88724911ec4c0f6f770f2b0363614a1b78a3446769c58e9a9614da600fe47ffad67047192f9d3780383c0a3a36aa6177b09655477916664fcbca19224617e74880424a257bc169950858c5b39d1516d0c42cbea34dce80952440874ee9977b771a91a3ae724c3199f51f2856442b4f7d4cf0c210bf4ed16efefc5b591f4606b08045c587c4d0688113dabaa5cd6d61a134466a773444b5af13057c27241fce17738e5fa5fc367a622059ffb0c6dc8f7d6e1158e7f14053dec8438ddff8fd
+e2fa7775a4f04c6cc8284b90e25b90ea3a4b59eec4dfc4d54458aa9dfc47a5ff
+Ciphertext: 350ffca85821b1bce285edd69f91cec90b9a2e40d5424230ebc12dd43de070dfb24fff806d478d58d7a63ead3c96b5c20a277d3b6a5e8d7c470f297a3a86cbd71be945414068636be21d5fc29b45eb998bcdf803aaf7aa8589ef19ea86420861873604bc6da3228d4bc0a09738f296c3d7ca47db3e1fc08fffba441ccc0aa13707ba70204ee16ed96d0db6e11ee8222b43afa55b35aace90f7eed35c7ebfa3b97b35f8595f083364c1ba7aaaa5690f4413d86e4d91289a3defaf4a0f8aa4ff1eb39e83116ed3c06eddf92d797ebdb60e6b007461a4db25ef4d57649fd031d3270e150ce77a536f913e974d752e209c01cee7d439ef67494966e9d06a584b33437b07c8fa224c5969b864cbf70bd5c8e1e22f2e5d67788f3c8ea2cb25036088ad7513aa253f32f05968a2c31e67755d19cc74ab99b4b19fe71f0d60f1e338c0752d7da732ea7da3b38fecf4ce45cf46cca462ac9810b499974a43ad1a43e2475042eae2b7b628addd58b17d7a7f2b5041baed396cdf84a0b1e97013430d8945efe14868960f7df11dfe27438f96fbbf98d862dfa672b8c16f8ce67744541507333efc84e8b18a06daadb8c4f92e19199d15cab93ae9034c8d27a9a78458400d1836883d75035ec2b39e5aee190cf9b08a67e727daec4ea23230c0d59f31c8efdcbdbacd149ea1c349b991553b3983f9fdb85f44a7aac6bfef968945a7ccc0ecb53422cfeb2cab128f50412b4c2a66e0ddc213b7589cf44b40e77bd487653030ea78fbcde10c930a72554a064d661cb95cf9d8dd036762de30a43eab668d2d58f465996cd9dc162b702e0a3e66ecc2654f297b2196e034b31c87d7bf239b1331ddbf4a8cbc6ca7434cf741d320d0bfa13d2f5208bba86af500b8032aec706a06d7c2a62d891b9a4e2ab7d1e50980b913ddf70b3bbcc03d95f082a6c1c280e65ac350f1a278c2712fcb25e20b0c8cd7d428e1f19e89ebefbe6443ab97b2cc5195afeafa0e554261706df95af8a62b8bf21177c7f723a710c8abf6e3cccdd6946aadbdd8704db3307985f736719f7f30fd71ee1a80e6dfab251d21c3b0ed98a34e37ea4a15350076013c417572aad05229ae3ddf084b8ec3863be45dc3a7138ab5a191657fbcff4402549833d4109154aab87ffd094d49062f5d4ef4ff061c3f11a14e7aaf0925829b3f176c9aa32c37b9fe6770ed5e75ec20ef9977061c2455f352420c68a173c3aecc0cd5a6fc5f5c2133193f36d544515a92022606dd3418afaa968a0595d0ab44294b683be1e5e04b1d48601ee6979a0684b5c3100763ad965395019a87dfab796f0bc513820d3193aa2541457aca72f0b62ad1074721bea66e73b18f9f09a57fea628c141a7dd85c1e7c80334e3d6c23b0152ce0293f09fa46b3d56be856f4aac8c797dfe62634985bf22eaba2c876a998625f23e9dead2ff4e0d2eceae4551f62619fd4f440155d87026139a968d627b0122a03c0fac15ed2c147a5290065928cf6d15e6b0366befd9f128b27e782fd92a22c3094086c6d241d36d66f38364a30dfddcbcc4dff44d26a6e7f88bda860ed8a6da524431df8c2d287fb7c86e8707418a27505acaa106bcf37b6ac3166c428ee345234116d073d632eb0896e25bddeb76a04a7b46ad2c8a51d7e28b6fa057c875c7f033aacb599861ab043637523e98b2cfddacfea07ffb45e786e9caa130c6ad38e0be384021f80684d00c8c1208a48597408d1cb30abccbb2c2a761b6aebc0788ca977371cddae040bce5825ad1e8452ce9f4d70b9b3195dfa0d199e748eb7e55f4274accd6ebf1e9716ad6f849014eacfda965135491e5c8fd66f401fc634679b196930642de17a03ca0dff803a2f1e548b3a9f994cb694f41a1fe2b269a0a37b99caced7fe20694fc38815092cfe7bdf9f11525326284f90116c270ba50b64c34f89450906887c526b97aa0a21ab2419439613284db35934e56fab95e705864c79baffc6969b206bd1fa1bd41ec9a3230e9d7bdd2a3a66c07de3a3051cc8b1c2cd7cc110abb2a0693c0d45656b85408aec0a1e603b31abacfccf142ed46431ea0d6acdba3f50f60176ed2bb217d97ae60f285097c708afe74f96cbf16369712070416d9a898134576f056081167cad2b0037f6bd547f44e3e0718240d3aee3ff8979add3d444b6f7a1b6ceb42f61108ae6d8a672a543f9c8f75edd164cfd7f0ef0317ec4b3
+Shared Secret B: f47421c6593e82b336153d1a1a970fbbbc4da9f122b24c1789e9fc422170b5ae
+Shared Secret A: f47421c6593e82b336153d1a1a970fbbbc4da9f122b24c1789e9fc422170b5ae
+38e3bff4549304a5fc3629d2833996df5c130e9d6e6080cb0e7ef51c8682506a911c4a4186cafc4bc2c6bbc2ef0d4769f38024e075f4fc76740c22a121db358dd982717d9f9ca2a4903e81fcbdafc6a57d34ddf6843094a5c00b62f69401fc982020214c9a485e48b4ec645e88c17b45448292ffbab3ba7cf4cbf87e67a99f4be3c584832ceffe95bd58b288e3f43bf5ef15f2ce3a6af669178fbc5930975be23976c41f592d0fc325528c2bcd62251edca7ac8a675b431c343d5f4219bbf4c0044547eb403891ab50b2a95ddd06ae7f7470684f2ce5b868644fb95a3b1285cd872adf8c11137118e3ce33d61d85f04de86b8cc47604da42dff554c8492bcaa127a7388d11c484014bc6bbe64b5788dfa337ef18b2073bdc1dd900bebc09a4052bd7a699efb4d1538b59e13353ae57e403e1d94b5c6c99feff474a99836aefcd8002277201984dd3093f29a1c8c83a3129dd2cf62b499fe8d61f3f43420fc3ad36837e9cf7e9700a0e5810c6c831919c1d9cca8acffff08cb69ffa7504979b6219c4bcba66faabc88538ca00e5c98891b5e632d74d79e148ca02c767a20b401d7e1d06ca9ce7c2973e4e4d87167d46579142ada52d47703f7a6cba335344622e854df0f20d7f7e79100ff185a33a32e5092d75d5ec48976fef5d33680a488988695e0ccdff64fdd9f62abca7b030595b92ea1e400549819fdd4b2e05159d89cfe8843fa61a99fe5d967994e65939f523864d7adb1f4c62bc901f8f344c4ec7822be0e85ffc62c76d98eb3ec38f39ef58cfda9b6ce139b71e4359c6ac8cbfb03235c7e68355e13547ac031c24aa0d7830b294ccc46fddb74af9f4cd29fdfa915fcc5231cfe517af678d6cb3f18523bf4c69f9b3090bc34a22d2c359a2c26ddd4aaae72c72fe312b522434ce3b5616267e54d35795c5314101df41370146f2703d72a7124421475667fd908ce77918825609b20e4aeb204a96abb207ec51537d0d716acced6eacd21b56f04b49a91890a6870a100346575170eb2b9bd5c03c09160f2cf2abbdae47f7d36d73ffe7ba4325b100b9a1b5a8aa7b2fe914f5b6965c2f14a71a856c8783b36f6cd990dd3aafc134eabfeeae2a16acec7b8cbdc3ec214a61bac3844862ce845bc95dbe36c009a48eeb98707fcad42ff1205ccb926b3f7f547af2f88357e455849e03a78493f527f32e23fea38ad17be561073fc61ea469be43ca0b61f743a93dee53c0c9acd86f62ab66a86f69609905ff2bf77d0970ce5f6baba7c2ce03b9ac3396c4f42c99aec2d4e7546bbbc055456d0b852ed22293bb55d9840e1e88efe63a72ee80291fe859bbb1fa9de8af3441c4c8747521e0093fd9f69072f78bc1451947280c60fb66dffbcf7d1fefba79cf5323baaefe233b243f5597e0a19732b4d82a6e20e8bb9cc7faefc7c664d089dc52ad4c4e0b9983097ca36dbd149cf37de8d4b7510fc6cf78d3bb9b74298e00a5bfd4f72930090821dceb50623c99684751f66b290a836b62b636f94c2f50b063c0d0cfdaed8569d71a1aed5c2ef5b9630141396b14b71a78ee12c3751292b95abba64a3542d459d0778d2bf8244b2f6e4e2988aa50fcd6c05dd17bad6dfe4cbe3033374deff41117e17eb213920f84dcacdf788bf5cce5654650964b9b10c7d39779b7158c4a1b06f80cbfe16a82d17907f9e87cb2888ea0f4fcaa9093dc2b56390d99d390747a950a2fc8e5366389a59f4934ab88328ca7ab4fc30839065b5df0eb067ffe577ef62dce3a1290026db1e894d9795047b05c89fa626e1be73f1a420eef55834c356218cfea3a45a8957e96f3f6592310fade69bd318b0cb988f1e887df0033b5d6b0d958076db793448009c0c4a14491f8eeeccc527f20ccd718845a3964cb83995d988a2ab96619a31ddacdac891518e971df5d441eef34f56756f01fff94ffb76284d3f33ee7d65193489ce27f6ba05b9a842acc4b1cde48b990f72e02b7f2cc912a067ca09f1becff6ec17458d842b832b53ac064185f88947bc8cae0c4aee507f7323d83fcc7f38e5546da96be7a70c77a9169dfba00d63d1c1e007ca5a109d1f85a3c0f928f1a36cc0ca70f03f133bcbb3998fdb54e8dcd99055e2a35da292ae0006fc2f15cc98c2bf32c7ba03ad53b33831e11b12e7ac4be88c50f9c318ce3d9d1b1603fd489df1be75ff071991fe4549da5db1da4200254a9f274c692df
+Pseudorandom shared Secret A: f99b16eae50cf4bd8b6696d09485a13974ac38eb2e29e5d236387fc6be6e6317
+1fc6a392e4def830eebeb3b634ce01f6c59e08d8bf00c872d1a3785c78356222be7adb7aab2e2191acf1dcd79360a45fb32969661a78756c30c53ac501ef5260
+Public Key: 518913cb235cb96987db6764b1f7634e8c6ca0705b9e11b8d4173021c23f5c8135700bcd42786de34772024c09d6f7271f883529c813fa902b37c88de5073bbdf887c9e872c6040d34c072ea5633d3f158e8155b01e2b6caa895bc5b10445636b8690cda03c48fd1c5a92a054f1051e5c0919f373ea3800735f8b0228570ed6b1c1eb64de1ea0a783a4b6e255bbadbbaaa34b78ce024188596841cba52e496fd55b86fd8c412f64ceeec9fd7cc63db70312f128d1eaac5577c5c6537b17ad2af8e4326041aae50fa69ba132a1c4a8d65a8132f18639e0a733c20b0cd6c8f6dfab5cfd2430b46b5a2a64d810411cfd9b44ba016e41b665a056c139141d2a43ffe549d75806949203300a716f8249d575c306b694abdacc8c9a37fa8d64578a255188ac35b485e1ae38794b10ef0f6cfd1fb2a8b36133df3377cf11c0ef20a298079d47189675a718a0c5a65fc60cd73b13edb67af1b4135496d9ce83b94bc9a6c26194f8c1ec98c1e760b83af82165abc6988c1a214474139a7214815a9f7490ae5339742252f8d15b1203a0f5da246ff519337b88f4c3a4f7bc8a76aa6034b23a0b9a4707a9a4e3367148ddb9fae2a4ddff57ece57a3d61764c49455b772188449783b3baf0632297fa61148d087f1c606a24b368df6ccc2c5acc781c6e280b0d140093db38bd7f413b1b344f1101018a49f528c24e3f64af379cb6137380aabb7bda1516b6804681bb438db68ade7ba35c291a562ca8c3c1315c6868b909c01eaa58fe98502265fbc785291f87e94bb1334788052d682b007cba6ea7f25b4bc76509e191748e8e03443c39a705a1589519530445898969f179b59387303cef43387ec1bc228a51665327f795324fc119002586bec93083a7bc15770a1d202a5b7818954834464930c437945d2641d334c6552c32c9c81dd0cc0c684516c849ecae38190f47618b877128763dab67c0d5b8f9c06bd5574156765303866b010ab9f2480b440127cb193613084a41fd42e0846a4c5a1124ba9057a3259b8a40b25f876eec6149658ce4d4a65a50ace8be213b1c672a3a1c5e4f94e7af5939c66be173c80dc03c76a49573e720f88f149c154a21a140ea95a66c9172643516af8002da3231ca223610ffa43145419fbab5f8fb322be82aede719ea396387d7c0f43ca0a1f28571acc4c97264646c78fc19c09f453c70c853b63a1103eb524ac6090e47c61c4469757108406a772972040f0ec37d455aacda25d18f72c8a960fff765d10ab15b92657e9c289c155c6c4001bd116c05a416a97d3440d3920a83a06ff4a5a42d9b0b0e963c196496eab2d88b31cf4b925d6d20f95ea8b14ab605283c796842350b088a5b86f25a71e2244b2837b1c105045aa5ab8d064174287470782ab2a8abb591aaaebcbb49df8a2be7348e11a9ccd459dcdaa94f8f1001d31871a595efa50b17adb2f169777009b5d4e019c49ac0ff9f36f9a892deb392cdce304c0ab871d571e59bc9549eaa40037409bd999cfb06940523364c98f19fb8787b60d8ba73093dcad8ea92f9d747a0493b5c478018d4883a82505fa59211ae994938b452c026c94dc0018c75b0f2208cd767c1bdb11b85c5ec96538cfa77db636ad1dfb1290b71fa5e4b9f3b53b80d440bc00855d5c4c898ab7ace9cc8097ba8652afc4dcbd325b0c47db31b5726638510f62d72d6a9c140425bcf1b35fe1d659a74a3011b96c273a0659c5a81bb0ce8e332568ac8afac03215d90308a4957f86727047c4b410c5d1a7b29aba7331723239fcbf48b3432aeac9b1f67e8514bb9b44925f1717ef263a9a4c6a07eb29a5bb9aba9831a5630874c08b98159de7a8aedb596b06ac1541399f91034b4ec967209804267482a3355e1d988787c7a4ee700557c02bee413e61d01a74f786e02436a877995ef39a44c6718166afb06566d038003e82568df15713994ce82429f040773c103a738c04626c531831102d6b1a1d59428ba9c0ee44ac21b91a0e42c61efc1baedab130f1bb235b40e5294b9f258f4ad18212bc414b67198f27417f42381e08a7fa98aa782b13f6123aaee07cf7f8a5117b00b47b5898c7cfc759407988c38a37542678a41bd96006a4bc4f96a505e947c118bebbc171cf269722a718fe83190e292a58345d366a2685954fd081490ca8221101d856e2a370080d3e3914db9a59cb19821e1aaf5f297e17bd8857fb
+Secret Key: 2e0623b72b1208c4cdbdd3980dac2915b676862988c541b8149cb287576d0424125c593016c442af5c4c3386b5d437452d6b58f516c48eb2610ab2a1a335a803b448446919568c6f023cb8c2918b4b860c4c07582e458466652b97e5a81bdaa1ea4827ad97cb5b669b51c03f6f0503cd110846d5a158a60a07e3c3a3c3055c549a27b9693ccc6b12f60bd026a6512ca442e05eefd4a5bb5455ad5a435d35a8faf418a090ba172048bb0ab05353275519156cf1153a13356272c1f83b48e362700d0c8d115c9a20b24493847a5cc31556d02f08459d2bd538e05211c9cc0af694582782382c276ed49892264b857a284acb86951bc5a3031864b0029f37d6759ca8617da929b9941b93bb40a4b6a6e8133f249c107abc4849974f6f2c4f46b56f8cd82f0f7679f9260dec5c2cf3173dcb9ab9f52424dd5a60d234a60722a46be78a117bc41b004d5a05700339b02ea7531641c779154c699ac5aad5695ec453fec926b333790f64728fe892bde062f92121dee97447e3b57510638a4b7574b57ea1b0addd11701c2cba2fa1553ea0a31f035757584cb66248b7e882a1390332f415af2625c5004c75786ee85bcce99297cdc697d4da7621cc8c637969edb634136c493b15969de62ffbe81ef9aab86db6c9feaa4895fc96327a9a460ac1d159b742c50acf1638f558b64aa30d3704bf21342e115c2626725a0981c7e1eb2913984b758b1bed59744db6577fd581e58c9cccb14600934ef7683cd5862b0f794ed8b9340e319d65091084dcb5bc60687cc00e3956cb96b87092c22f913b7284bbcbead95e6cb087a624437c00945001099d606d31d7745d651babacc5407882a73056ff80b532e78a3b34c039b70734a206afe74a866536bb2a423ad99c97e0601cc83b3a4a1e8b56b2de409325c220e1b1567df88d5ff4c3cb43c10799ae6b941e553c0cf4660139477517142240d34fc1554008e391ac714fd1c5460ec6cd94d6b73aa081bcfa44f4289d457893c56a82d6a87f0ad9a913861f4d18612bd179615cadbdb9113085b5caebba1c7335792696304003c4dcb2201470fa1760247475f965256c770135b23e0ce1683b7a15a1faaa66b9af3cc717889a5753838defd1278c964ca0b0473f0a6ac2351057e60afd73af1fd0a4b215a1c43465cae8259b2366c4859035f87139706bdfd67f92156d37c468327117e45942a5748c99e8cbc7d61828d9b9e7b33094f59022881c0b485aabc1ba9d614935c65923c8adf7293aad5266f380644f9745c7d5316d308e5d2a2711276c4a08064259871b3437ea2aa11b713300436f2e05818f2a02285291c37b19caa539fd2280997446f4a8ca9940341bc762a5503c818a57923208500553ce699f03d645bd985e57ac535a306e2763cc753644f77a132e4c9be5a01eedf3b25c1b29224751deb981cc36aa2297369a497ce8f657bbb09d5ae8163b9b4e616534be852a05251f17c03bd2307e249b00f59ac1b8f56f9b3099b06a7f967a2e862622c221710d5b2f830658169551d9010a1e7253bee58e64d653f4b8415efc456c63b009b7590663ace24b7e501747875ac00610c04dd55329b290dfd519ecc53028eb4230fa892a054b7f8195e24524ef0a9c869056942290a7ca4f658594f1009e962ac8898910d8a41f5a167690b61b15b604e1e91e84f7456e44c7e66115c9d7473768c23299ac9b224d95f4a0dde8b33aa93c8bba444fb9ac87687d9e4413e75b2c551663b5098bf389ab12ca4d466734fc61b580158a77646d26a01f9264cc9b07c45250c20af00b44f17c5b60c1852496b4573c0a208cb8aa3e0da3420dbc04f3a1101e1100236c5749885fdf21384f7097255b1d49f14283b941d485537ad92f3d02846067bdb8c35bbbdcae7e5a5519428def197ef65064bd3ba31485492eb86e86f04756310df6fbb81f3013832b507fea48394c4108b24e2f2655e50555efb9c0270705c86162d1b23ed84b73a9e056e1cc78202c11f065a5394999ee00663b5a8ca9caa2ed91b6a8d9934c5aa45eb6c005d035c20a827538a7df97c7443cc84c1474d596248ac56468174fa0e0803e0554c4fb50b7187573964058963b60590c7371b84e436e1ec81238d2b4cfe486b505482e281c9fb658fef962632045b7f4b564ab489cb8cb518913cb235cb96987db6764b1f7634e8c6ca0705b9e11b8d4173021c23f5c8135700bcd42786de34772024c09d6f7271f883529c813fa902b37c88de5073bbdf887c9e872c6040d34c072ea5633d3f158e8155b01e2b6caa895bc5b10445636b8690cda03c48fd1c5a92a054f1051e5c0919f373ea3800735f8b0228570ed6b1c1eb64de1ea0a783a4b6e255bbadbbaaa34b78ce024188596841cba52e496fd55b86fd8c412f64ceeec9fd7cc63db70312f128d1eaac5577c5c6537b17ad2af8e4326041aae50fa69ba132a1c4a8d65a8132f18639e0a733c20b0cd6c8f6dfab5cfd2430b46b5a2a64d810411cfd9b44ba016e41b665a056c139141d2a43ffe549d75806949203300a716f8249d575c306b694abdacc8c9a37fa8d64578a255188ac35b485e1ae38794b10ef0f6cfd1fb2a8b36133df3377cf11c0ef20a298079d47189675a718a0c5a65fc60cd73b13edb67af1b4135496d9ce83b94bc9a6c26194f8c1ec98c1e760b83af82165abc6988c1a214474139a7214815a9f7490ae5339742252f8d15b1203a0f5da246ff519337b88f4c3a4f7bc8a76aa6034b23a0b9a4707a9a4e3367148ddb9fae2a4ddff57ece57a3d61764c49455b772188449783b3baf0632297fa61148d087f1c606a24b368df6ccc2c5acc781c6e280b0d140093db38bd7f413b1b344f1101018a49f528c24e3f64af379cb6137380aabb7bda1516b6804681bb438db68ade7ba35c291a562ca8c3c1315c6868b909c01eaa58fe98502265fbc785291f87e94bb1334788052d682b007cba6ea7f25b4bc76509e191748e8e03443c39a705a1589519530445898969f179b59387303cef43387ec1bc228a51665327f795324fc119002586bec93083a7bc15770a1d202a5b7818954834464930c437945d2641d334c6552c32c9c81dd0cc0c684516c849ecae38190f47618b877128763dab67c0d5b8f9c06bd5574156765303866b010ab9f2480b440127cb193613084a41fd42e0846a4c5a1124ba9057a3259b8a40b25f876eec6149658ce4d4a65a50ace8be213b1c672a3a1c5e4f94e7af5939c66be173c80dc03c76a49573e720f88f149c154a21a140ea95a66c9172643516af8002da3231ca223610ffa43145419fbab5f8fb322be82aede719ea396387d7c0f43ca0a1f28571acc4c97264646c78fc19c09f453c70c853b63a1103eb524ac6090e47c61c4469757108406a772972040f0ec37d455aacda25d18f72c8a960fff765d10ab15b92657e9c289c155c6c4001bd116c05a416a97d3440d3920a83a06ff4a5a42d9b0b0e963c196496eab2d88b31cf4b925d6d20f95ea8b14ab605283c796842350b088a5b86f25a71e2244b2837b1c105045aa5ab8d064174287470782ab2a8abb591aaaebcbb49df8a2be7348e11a9ccd459dcdaa94f8f1001d31871a595efa50b17adb2f169777009b5d4e019c49ac0ff9f36f9a892deb392cdce304c0ab871d571e59bc9549eaa40037409bd999cfb06940523364c98f19fb8787b60d8ba73093dcad8ea92f9d747a0493b5c478018d4883a82505fa59211ae994938b452c026c94dc0018c75b0f2208cd767c1bdb11b85c5ec96538cfa77db636ad1dfb1290b71fa5e4b9f3b53b80d440bc00855d5c4c898ab7ace9cc8097ba8652afc4dcbd325b0c47db31b5726638510f62d72d6a9c140425bcf1b35fe1d659a74a3011b96c273a0659c5a81bb0ce8e332568ac8afac03215d90308a4957f86727047c4b410c5d1a7b29aba7331723239fcbf48b3432aeac9b1f67e8514bb9b44925f1717ef263a9a4c6a07eb29a5bb9aba9831a5630874c08b98159de7a8aedb596b06ac1541399f91034b4ec967209804267482a3355e1d988787c7a4ee700557c02bee413e61d01a74f786e02436a877995ef39a44c6718166afb06566d038003e82568df15713994ce82429f040773c103a738c04626c531831102d6b1a1d59428ba9c0ee44ac21b91a0e42c61efc1baedab130f1bb235b40e5294b9f258f4ad18212bc414b67198f27417f42381e08a7fa98aa782b13f6123aaee07cf7f8a5117b00b47b5898c7cfc759407988c38a37542678a41bd96006a4bc4f96a505e947c118bebbc171cf269722a718fe83190e292a58345d366a2685954fd081490ca8221101d856e2a370080d3e3914db9a59cb19821e1aaf5f297e17bd8857fbb5c6ce980e7fd8c31061e5392ce202eff332056db948ac78793d6121625f8519be7adb7aab2e2191acf1dcd79360a45fb32969661a78756c30c53ac501ef5260
+731b12e1a67c69d8eb2c415bdbd02a5e19362cf95d83b0bc5273e0d53c75d239
+Ciphertext: 026f8667993d9c077cab444b8af0b4ef7cebc97068cff07b94ffe7552b28dde571627b26a96f6cb795303dcfd684a29f79928ee832382e467087c713f05a5e2cace2fecb8aad39449339e33e61e4a85e1979837903814300ff1617ef5d19affa735bc1b78ab578732c7bf1eff9efd7de5dfea2bff0dbcf5c7d59c65737bf5fc492a982dbb8c94702061ce3cb64b73d2d2479f31876c68a379a4f8df8faaf3706cc82647b73343df5690065dd9222afadd027b648de4521ef723c9270d6fbad5fc5d94e2c9341a7edda6e6fec010d017282917d36c749497b2511674926f427aa26fb0689c8eef72eeae6e222ce8b4bcc8fb52fdfabf3d0c877bc8ceec991dd2010191f300513e3005c3ad48330f9d9947abe6469c170d7e4d7bb478d956846e4a6eff22ea935ce8fe307978bb9fe205fe43f895c8d480a93a22f814c793c2189fa7448a6016802c0ff65c392c4dda586e43ded1683cbe82cf5a178f10d6b22282c0bc1f95303d74c105a450d4fd9b0dae32384c159f1a5eb0c725e41995e6e0b9facdf585e6c9c021f77a33ed4b844506745677a23af9bbd66dc629bee9041be6c9361336971f44a0dc30fa8ffb7f6c7c44085a9c9dbfa3ca46a6b2eba423195cd4d74f84135b76545ba37300832209f2aa18ff30f1a50c8afd0667c79e24dc2cc9d1dc492ef0944393d21d2c2b84f873809e914a91ce2a6decbae6d5c3555d098db6b04392b8ba780a3f04a5ff327b33d2c690a3cb240bf5bedd9441204f79a16ca9c2ab57e9c804e15736170296e5aa03b2511e416d6bae047e036583294289594d0fd1ed2d97ae2e6abc7cc9bc73658058ca1de5aefd1eb850d2d156a242c058affaf73ffc99827036ea4910945c9cb21dfa43fbd98c585499308125ec2a9e12c38c2005b2ee0a70f10f0433156ed1b842368030a54d57c6e3a35e9a5be2153b614d52b92b10328bc93f4ea65c8eaf29968bd0012101a636483935c9f963accd5c6ad06492d0ec73e0893b4bd14597297748d0345675bc90a8405afa06761c7fadee4eb577f21c2e407894ac97f3256f2fe741f5b1816d083f6b2f27d307e5014d4d6d730f3e8427c4db08623723cffdd906b472fe86a2a9aeab29aa3fc9f2f52297a2c67422af819d4eeb3dc34e25d43ff5e227245ed32a2830f8d748064bb52faf5c3058e85093c833ae2f3bbdb526d7532cd6fe3ca8c5a43253303bf10f63f1003d27403de74b99567f14b7fa7bba2ccc26612eae384be646604aaf7efb1f5915d3525e3b8f5524f9db52d8276798a5a3454e38099d41389c0c94e641cf561d6ed6e19da07cde40d7c3c0cef0e3a075754c95c5764550abd3c5deb45d905764e4f9773f3248da35e4090108baa59796a61b809970e03810f9ce83eac974910b6db1cb1e6ee8a52fb2b625d4c9a840f4f1bbbae6626fbf5133219dbc6081d3f48556606aa25087715ed3a15423c8f441c6aa6356c75ee47e87ae79acfcf91333813002c1f5a8289299593a09385072ed98154bf4b6cf1f4feeacb7efdd4dce66d3b4f3fc512b3b72333c64baf62b2ff9a6d594a0ced1fdc029ffbea4bfc16100edeb7b0e0017be214e3effb62132ef6965b586d174a3e303673fdeb5c3e42c598cd925f11bb82652ba6821133a3c58a4b48862f3195000b03d0fd9590e03e90f74a21b79e1279e3dadd026499990a6db785a9f30f90ea56ce27b75181ebc21507aaad1583bf1066202fc43bf23a9ca26a49a3c9cb615e8e09719b01f8426b792e67fc5d8ec5722a09e7fc7b191b209c464c940429cbbb25c1a0512a5d85e7e4a1d28f39bfa82110e46c80c4939832511ffe12bee51eafbc52e0ef2343ee3d3d8e5af66602ec15f59b7149e7570bf9035bc6df4f8202bf3c7313219fc67131250e4661bb3d89380b19445baa290a802d64ae150fdceb0797c72164a2b46de732738d5e47ca0b1c8772b9b9d817240fb95831001e8d0b3805ed75cf35a79b4f381837253a49fe46aa37866af2d41b914bcf317f3f36fd91bd1ec761d95d6d4dc56594bbd252f0fb6b99ee97100e62ce4f04876a40a68c407d818cbef62bbe833c6af2037b8f25f69d22649ac68e48a3aea8775f11d1cf066cc8490a87aaa9ca018219a0422d1ba738d794a1a7713a430df273278c4c6b682c2eb6dc202f0db59fa48c9960cc10a001767ec68a1e1105a59c2d770bfb5bd63620e37b4c5f8f
+Shared Secret B: 7005c853fbde1399bad72cc432b725ee1ba6d3788df3d69b40a185327af7fc24
+Shared Secret A: 7005c853fbde1399bad72cc432b725ee1ba6d3788df3d69b40a185327af7fc24
+f1975b7cc6b7a6ae433f4fa0dad0e1331cf837a45781ce714183294943996d41a8cc1e0e0847b803909e4574d83d2a15dfcd6a7f6c1f4ca1456ceb0843f490a00f9abfb275347db55e7be776ae734d2a9a578b2c7494882ef995e691a607aa2f2ca2ab617dc4e86369733951e516df2bdce9b0592acf0892b980042e51d7d2c2ee1545ca7af89b52956f8a3030023ee526cc762d729862878fe7353aefbff9a0b9127bc72f39c5077012ac178f688a18df4d3bf0dccb1532ae3235a548eda529019d4eb218cdd1fb9b65703e62112cdb8c6be58fcff061265d6783f2f999b9f46fc623508623a2776788f8c66e43ad08456da53bb615964d0f603aac3537e8dc543630e3550a1078c2c7561e0608ee72f003ca596eb2e43f9fe531d5cd143913702633ea65e9226364adee3f30129f4b8a97271f57603471b9845ee78458dc5c1c5a415a959a23726424086cd8b4a3488ed2cb5c60352349708ba47a650aeed0bb2afe79bbf9da878c40ffd21dce2b6a15fd9adb0cff1e17e9cf7c764e1a1951ff5f11d03cc83560ccce4929839f087f1021a4e2aff269d36f03b062cf073aff023e483c1b62232bfd53b5d704223934d458e455ae26a43cc0584b6cadaee1d2f6a8595d393de261fc979d1dc0c0ea207db65de2de945c2ed09c712d94139c7813f3086695aa6013cbecf5d9a95a1efdcd9435c87529d199e6c379e18daaff0588570da7a4fcf5d3f020f0491a60067ca8cbf6d94213f38a28a3f876d44b1f21cd4d306135719d1872009fd0a8f65ed267d3546b8590bd0c1cc6fc40e922e3d90b7523d0f788ed5da5fd9565119559a0cde0dcf10969352c9f14f07813d54b2514d1bdba2d43c799ce38179bb8f4b39195d27561478420e614db651bea6ff381c0f7855a2ce3ba387bafc8ddc0c2619755bbc3f3b2c4510233a75391b4b22eee8043e6ffddf2b4bf85fa97a8a25108520593af531c900ed39fa1cfc5872d8cd9f4c6f745de94dadb52ac3c7bbf08604cb126f3a9dcc268b88f3bc9b8629e7eacf4bba502c48b4f0e6f3fd5ca1ab6fc7f063a26dc26245b960c32df153e2b9bfae27bd952cda75ef6d35e16ba854946d6c5cedc9ae4a84fad9deea4d3c89fc8a37a213c3386d895793d1be41399b8a7204acd90f77ee145a50cc2a39bd5fde4a18804b1f10f5bab399b693d0c59e63594e28f0d34adae5ed00b773be005a2ac743da58ba6584588e163f78eed53fbc7aa649a6cc838951d22f4473135930834b03f29e882dbb7186e1eb8a64eb911fa916c25c121ff124160aa4015b2eff8911b6c4e517b5d02a021cbdca1021f97d5de8417dab4681a59449b1f8520dc5a7a4402e44113aac1f0c5e322183d7e6e9ba652bab8590735c6bab7b6b252874dc9b49ec6fa6310682951737ed37f05e3bea5c1ad5bba60f12946f9f40d809e756dcd549b6943c9ac3c680d5e20791bc80e50f207a54c4b43b83cae11bb4d9c7cbbdafa539fb277b9f533aa98160c34a74e50d4c55158e2a36e2e7e5a440e92a4d5cf0c75c4ae87bc1559429fcc47fb2d3e0f2e40f937226f39c3d6e5c836fe2993a0f9ce1ece9af222185d2cc881689516579d7d534169c88ba53e5c4cbc38c88668b331890c411b66d9453540979c0a3de9b09fd08a7cb28a210a496c9b0a5cb3e1b44c2f0abf30fe8ccaf6717df4084697d457e648f6f27c02ccf2354b4a0c419c1ae35273f8a03fd1101f260d89e21f7d55acb785dd0fe673cc62bbdc15ed88590fb214591e543cac1a281d8817930ded1e00f8f55b5e4f4f2f55e245d15cafd0d115878bfd14e811cf8cd640ef2ea221ece328328dc1695760db4142c495b88cbf1643aef75e53d3b92ca822cf953d6e95d9007c7a4e95a151b5e759b0b66ff16b0aade12385444fc58fe1091d1f2d5d9012893d821403e81707fae3412067407afe127340eda44d16252e6e7e0a7955933b23df0256fb09e380de309e60cf9a79cc07189ff8b2548c1791b7243f777caa2355407da6ebd4a55d4868ae63c3ddf250ca2862f975f29fceeb892b9b8ac2613b20992d20c128249493a5e8661d2235108f9e2ba1ba5c04f2431eddd3d2fb5d1782369846dd8364418fe6f281fc32ffebaa657d144a79fc6cfa424518c46617688237c976085236c80c6e1b999fa5c56dd40258522273fb615879c6a2f9727b7aae748be57ed347ad8b028efb453e
+Pseudorandom shared Secret A: ddda39e0ec9336559647bd259e1de37e5c71b4392413b3aafbf3c6c3267abad8
+2a39365a0e4f9ec3ab540ea56f3169e4f107d98bcb2d8461a6f1385f94f260b71cfcccfbcc324c19b37a9b00275c933c8da47ae2a9b504f9d9df0485eb883a0c
+Public Key: d14a3d3cc5bb4cd38019014523d06398021485605582208e4240c89c1309628b903f78a2686b1c096a81137b3d794a097e5b99d8159b70c38a14ca34be72a382dc65914984ff753e75934ada582f24e50765908ef02071a7b031058c3a0f4c9263da3f3dc44bce41cf5de5028046213dd4a9f5ccb8839a5db491a317c8273e0415e536c9e817794c2c50100591800b4e332b3af9088c7360a60b6b4892babf0cbcc2cac7a35ab9babfca634dc39614b36f12821c31dab5636334739a2659f16704256771c1bfc8d60e3496bcbad3a1deeb70f05b8627996ed3254fa5766596f010322328426207acf3bf0bd4a40ea7b23d221a891a6cc64470518c669fd88b18c63cb9a4819b1a6894389a7775cf58793e583c8c9ccbb2db0232369037a8a95d7e41057eb0a931c14a37976c2d139af483b7fb7871065a1630358ef8366df572c775a69520a017204b961401a7a1b199a691ac771aa92736b19aa107ed3acfe2448f631c95cf2b655c513d0ae6bb298c99d1dbbebe7a26a9745648fc374c343667937c53e248165343fe4463a7818f13a6368cd23ce43a67a954baf0356038e6a44db540c128bc5d9814f12651861084edb4020bf9734c1ca34bb8a46f6ac1f4088a3b9c623a49b3166a7deca176d916a23db147e252ab75d78138fc66bb1213083c956d92156618a36c97b6d58c164976409ec55a6fb48e4a8cac3e4483604989fb1058d8603360199f2211b15e4c662143b2d6ac75ded73e70c1cdf8ac790e49ad1cabbd2291960139a34c1559eb295f97a251320491a717cbc4e5202e85324edc107eb52a19059e9d328cdb17b2b0f1c9c3095f867b3fcfc7583a15ca57a7be2e084518898c64d418ae3cac7140506435cc751c050139312a73c89ac0902da5354d71bca1fa262d464a8966559f050373ac091aa358c2d81a9e31059bc63fccd59eabc01e76f264e18bc6a1883c220261c8d58f5ff5758e7185fc374dadc91391b43b5b1021cbe98900c89745ba9217db946170b2359798e9e971c8e887dfa586583544a5a05d4220b18af6bf50f5beaf71823fe4aa7a3c93d197767405a6d57b0344ac6c841bc60769088b05bdd03377484c846606c2ac34499b2315baec195bbc9b50e596b941b654b36020e34dce6a7269c27c1c79caa21aad26eb95d5295d55c75ea2e85b078794d3bc31ffa75c81355d7af1724b20b6db6a569775222cf69843b30a85cb46b6b32ad65b2e1e705d6164453545a049f898c383999eaa6b1a4bae7fb2690de96ab87c829f2aacbf437e6cf7be658ac687f95f9103ab0dac01f8115961777dd16a5cf4502f76f47ad42b1f6b35a554600cb8f72429dc9cab51a8a368c943d5c2c565a4870875ef051c33a219fd7bb905b064c975754ad9bfe3d7586a50198448c0a6ea2260d4846e6aacdfd6ceb772390e3031dc7018f776cdb6964df6ab391ab16a6fa89c5fda2b415c71a2f4adfd0a99ca4779003597b98bb7e783ce9b81471c755e53dbc806375a056912fbd3891f64126b6239c897867dda2e1a440d1708988f8a9eef22addb16bdd0777b5b6529f850053a9aadad4b965934c39eb2ce5ed81e44f961e9958f5ef0486dd4b77331536be358657488dcbba6a55904125225d44c6e96604ead5b691cc17d84e6286946ae92b96246c3b033b981030457c4e69afcf46ac625c80e06605f50cb03506653352dcf30a065613b87f061c2465f69a26ca528718fea5a83c225790a80cdfb29962b259ae86daddac9b480a5e19171cb242253a49b6a4287c584a3a08821717bcb9cb8b58e8a20be7acaa1c187ab9112aed22f02c9978d1c58a5152c66a98f388b2ea461aa03921dab4c6df4b00d0253864dd76ed2f7004ca37c6e2766c5985761573881f9445892773ccbc401697190147676949cf7b361e8c726825311d1003cdfc6bd6f543497620ecfb5a137381f9af4c0c76c9cdbe474e4c24378cb3ed527697f43163f988e9246bf7376c913b002f87a34e7d63e618b05360687c99b0130bb5b1f355c62620ed5b2ae7160b4aea145acb392455283faf46da50abd917b2d4e91baf577b560bca21d185499e75c63dc351e8451b768171a07a9ad8b56a5d3172de3bb68e763e552c79b895858e2b2a5e6aefaf4b1edb3babd40233487872a7b228ee359161b99ebc671172ec8194586a945b9a37c594944be3c2cbb64238b958168ba98
+Secret Key: 54e20c5c07811f901f974ab7a4e0609a35c31f6854b001699229bb57217e55325512aa43662a29b0e3709ab502aa16583ec7ce3ee53d24a6c2e13bb58e9cb560d80141a24e8a51c562d2a2f14c889904bcf0613e5c499885588fd79806dce5c3a7b19967f51874928fcfec253e0c0ff2dc37ed141b120cb4af59114b59cf3d08c5be285b1a42ce8aa91a29db35746453ca1279477a57e4843cd4e5a051d990965300c54271bd1abc009a64b5a61464724dfe720b2dc38654a4ac7f647a97215743e213d9e56500e2ac0873227e7c1b399145c4a71f88f704095863c60797e386359e84a299e2021ffc2222c10580771c5b2b4dfeb5cb1b2a1571028ab45ba3c4a3832ab223600b49ef4781b2c862f0e6b01b7518a6b3417529887413b965aa0ae155402326280b8371ddd368fb60aec5d1a93aa52f80065d0585bff5899f16746be43a423f34474c4233d3b461ed63271f250c0772aa2e64700fb8b03edb33da81707071b874b190ee756bec2bad62a604862b930900cca07c58ffdc751a21151ccc35ea9c9b4197319752862a424fcca00564c91e56bb9823e72bec88000c54769022a8fbb7a96fc0cd8de684c61290de183ede7a07f7190a26058e923a12987c69e1c69d7e16b65b7890ce223c0a9b4f6698ca81dcb322340bed755bd9b98df4a71b973963553c289f5b10750921ca4b045c72318558abae1b2e63155f06d45d1a49a5407894f5115e50f66e42fa4f641911a5a70cbd91cc7cc152ebb50920fabc9612bed26a828170973106ca936a25a8f5c5479105e4771b49cc1cdfe31b7da988c717a3701114e09854df848cd95265478bcd891805c3317a9c9a5f74e4a0ac091c734a69b2fb5f049968610b72cb3b55dcb4907e605ffab995e4c711b2e4a5f6f181528195328a4efac55fdb87aac6343f0ccba071472aafbb55afe8825bbc3062ec28d39c8d4990a17f4a7e09b02ac87731da6ba0dae30a478420ab4092af34a541a17804100c92f66247a79242f36c46964b6c08a95b3976c4723277791794482ed692ab6271bb23b5b064435cb56592ff90170ab96f0389875a15409bb72218c8ae78abb21497125b368f6ab90843d2424900abf517107b9150fe6298db3aba66ab0ec300a5f3645d4e0b4eb9e7c515b331efebccda19c77c706fa7a52cf6d5151b21a926792ff145b54a299d4615837249053d577a58b42c647914ca2ab39c8807bda9b20ab649b082615f823c0489cdf0948a8657c58188c869c493532b11635c1c08d14f958905f4674d35e19a541a6bb406a0bd64c167aa6a5e8612d1699e844037c5c3c859b21ef5897ca61935fceca3d0e900a0c240033b50e5557e9e482268d518c0c564898337c8131f290185eb06ba5915026d18403f13b81b2510644ab3f5248a31f27c19eba42cf0c5e703b52f2c2e3877836a077d382a01517783c6e6276431215f4509921b346e066173e7cfc04a002eb88e47fac5b1c693fd696cd16c45833444c7459f5d07837014c9604c6fc581a984757c3834a83079bacd28c826462b4fc38c4f259fa9a54167a1cf82278e0b1091b3ea22719cb63aac13fa8ba3d83b3ef095a329128b318b818d745253c82d77000169398e8703062cac10336aa796619b09513012a74934e314ae751ba26424b375aec53031c7214f03d8299726c2116c263fa718c40a868cb3456f1243987a3f1f65c0578c663542965ddb4af3124d3a9199cb87ad0b9b8c6c47b57e273e3c1b53fe8348dfdc49f09a8d5146962ba833aa727b465501a55b290fab770660c90834cce6671690321e734916eca481738caa003b309be126e5cb049f09bcf8957580dacdd61437cd81296c851c524c733d9c01a2f70bdb57166c210396192cd5fa45cd8b5a05216674b6016fea8394756d7e3b2224674470d679a6d35aa76b8ce6a025d5e77c69d17d072a215c53a561bb6a76fb059318a7035b7c01278eeaec4467575bfb06d0155b207b495c7731c103468c96c5c6beb07e332b748a941974b1ae2ceba5a7097677da7dd8db22a7d92f92e453c6f83e0432748085c3eb3c323db745f59b7e0ac736e8e43269ea5e7dac3410ec894a4981e762b89f074770635d47583bcb19b70ab7ac1d7bbe38078021881ab5c5b558d69340040e74513f84c77e767664d14a3d3cc5bb4cd38019014523d06398021485605582208e4240c89c1309628b903f78a2686b1c096a81137b3d794a097e5b99d8159b70c38a14ca34be72a382dc65914984ff753e75934ada582f24e50765908ef02071a7b031058c3a0f4c9263da3f3dc44bce41cf5de5028046213dd4a9f5ccb8839a5db491a317c8273e0415e536c9e817794c2c50100591800b4e332b3af9088c7360a60b6b4892babf0cbcc2cac7a35ab9babfca634dc39614b36f12821c31dab5636334739a2659f16704256771c1bfc8d60e3496bcbad3a1deeb70f05b8627996ed3254fa5766596f010322328426207acf3bf0bd4a40ea7b23d221a891a6cc64470518c669fd88b18c63cb9a4819b1a6894389a7775cf58793e583c8c9ccbb2db0232369037a8a95d7e41057eb0a931c14a37976c2d139af483b7fb7871065a1630358ef8366df572c775a69520a017204b961401a7a1b199a691ac771aa92736b19aa107ed3acfe2448f631c95cf2b655c513d0ae6bb298c99d1dbbebe7a26a9745648fc374c343667937c53e248165343fe4463a7818f13a6368cd23ce43a67a954baf0356038e6a44db540c128bc5d9814f12651861084edb4020bf9734c1ca34bb8a46f6ac1f4088a3b9c623a49b3166a7deca176d916a23db147e252ab75d78138fc66bb1213083c956d92156618a36c97b6d58c164976409ec55a6fb48e4a8cac3e4483604989fb1058d8603360199f2211b15e4c662143b2d6ac75ded73e70c1cdf8ac790e49ad1cabbd2291960139a34c1559eb295f97a251320491a717cbc4e5202e85324edc107eb52a19059e9d328cdb17b2b0f1c9c3095f867b3fcfc7583a15ca57a7be2e084518898c64d418ae3cac7140506435cc751c050139312a73c89ac0902da5354d71bca1fa262d464a8966559f050373ac091aa358c2d81a9e31059bc63fccd59eabc01e76f264e18bc6a1883c220261c8d58f5ff5758e7185fc374dadc91391b43b5b1021cbe98900c89745ba9217db946170b2359798e9e971c8e887dfa586583544a5a05d4220b18af6bf50f5beaf71823fe4aa7a3c93d197767405a6d57b0344ac6c841bc60769088b05bdd03377484c846606c2ac34499b2315baec195bbc9b50e596b941b654b36020e34dce6a7269c27c1c79caa21aad26eb95d5295d55c75ea2e85b078794d3bc31ffa75c81355d7af1724b20b6db6a569775222cf69843b30a85cb46b6b32ad65b2e1e705d6164453545a049f898c383999eaa6b1a4bae7fb2690de96ab87c829f2aacbf437e6cf7be658ac687f95f9103ab0dac01f8115961777dd16a5cf4502f76f47ad42b1f6b35a554600cb8f72429dc9cab51a8a368c943d5c2c565a4870875ef051c33a219fd7bb905b064c975754ad9bfe3d7586a50198448c0a6ea2260d4846e6aacdfd6ceb772390e3031dc7018f776cdb6964df6ab391ab16a6fa89c5fda2b415c71a2f4adfd0a99ca4779003597b98bb7e783ce9b81471c755e53dbc806375a056912fbd3891f64126b6239c897867dda2e1a440d1708988f8a9eef22addb16bdd0777b5b6529f850053a9aadad4b965934c39eb2ce5ed81e44f961e9958f5ef0486dd4b77331536be358657488dcbba6a55904125225d44c6e96604ead5b691cc17d84e6286946ae92b96246c3b033b981030457c4e69afcf46ac625c80e06605f50cb03506653352dcf30a065613b87f061c2465f69a26ca528718fea5a83c225790a80cdfb29962b259ae86daddac9b480a5e19171cb242253a49b6a4287c584a3a08821717bcb9cb8b58e8a20be7acaa1c187ab9112aed22f02c9978d1c58a5152c66a98f388b2ea461aa03921dab4c6df4b00d0253864dd76ed2f7004ca37c6e2766c5985761573881f9445892773ccbc401697190147676949cf7b361e8c726825311d1003cdfc6bd6f543497620ecfb5a137381f9af4c0c76c9cdbe474e4c24378cb3ed527697f43163f988e9246bf7376c913b002f87a34e7d63e618b05360687c99b0130bb5b1f355c62620ed5b2ae7160b4aea145acb392455283faf46da50abd917b2d4e91baf577b560bca21d185499e75c63dc351e8451b768171a07a9ad8b56a5d3172de3bb68e763e552c79b895858e2b2a5e6aefaf4b1edb3babd40233487872a7b228ee359161b99ebc671172ec8194586a945b9a37c594944be3c2cbb64238b958168ba98d28bf6a8ec055ce0642ee8f3ea1eb21bed2b635825db13f834f5d35ae36e1fbe1cfcccfbcc324c19b37a9b00275c933c8da47ae2a9b504f9d9df0485eb883a0c
+a87b7c005ea9220d4e0391da4441de33530b9b661018f281564b74316b63c5e8
+Ciphertext: 8556414d471fee60b778a37815a526a651b3db89914855c943bdfa32d988f9421a89d015b3d41810bae0465634579f3ee0a9dd71a2468628dd2aea61c86504cdef33c60c6f5eb4f3217b713fb7eddf7f796fc344a4842fb149505aa6cb2d9d0af786cefd48f0cc817ca6751d6d42dd394688e19c90b32ff2d7f9adf7d6756945202d165c90f0e409e01874c127948946a1d7033680e11786d6ddf5f37749f13615e544995123479748bddf75d7bb68c45a3b8e9d5855ebd6b196ec11e0ca4f0ee42b40968ece89ee48ab1d6b3f755586dbe84348b2c5cc2424b168948b3e6b6cd59f7cd105d2b60118dc08467d56e7b5b75ecce28aed93d02e31c71937043925077c572f6c0ad6cd3b56a25b03a30379b1c3703f1376856a4db7f79e3aa59ed1585e9922255ac5c14d4120472e2e7483872b6a7dd7b6c739893c82e94487689295508023974d3900a6696aef94eada16e32ff21b0a35add9d51a1e5e907a2249b4d659513139e2976bd1e0b52bac9ac8d80a5af368b32b67bb7002126ee65cc84472ebdc80b0bbd792f82aa4471095282981d3b8c49997fc5620043305d73dd189c852e41481c4d4943fb509d6afd78262e7370f1723b33b6287aa9898914b03331e77741eee619fdfa58a9001a093e48abfef01d10d877b7b7e2d434d4605ecd36e6e5dcfd2bf4ebca7873725503e28daae141b0520da3be1b18824c7f5d1b3a36c50e11e3366a6eb586df753b11866e6a30728df20b2882e3f0251af9fbdf08ba99aca6592078a4f1dbfd92afa3f8626c79e5bb8301d517f8a8617e10c8c77ea48f0080d6cd078fa85845431f31c94f2feaf8dd4d370333a1843f914a80ab1c71cdf461ce45325b6a087e1b87f5119b0dca10f4550e88124447e4f51d7175dae716026232c66f5b8e0a2c408794b27734265c5d0d23169a64f068acf8c542ff88b10a0410d18b200c0c9ccf071c14571d23cc444d82c5a485fc317deff4df7a9fd0b2273555e91c6c0d11a5760340fd012a2ae6360d53127d21a12f62ce40e1eeb93ecf4dd163bd05c07644b7f4463f89b6b0bd2cba634e1aa4ab689d317412b03d418d05d044559e7053997c6c5681c37a8536d556c81ad218ae39a86b0a2b024ab9876a123325df068c483745e142bdfcb24ed0bacb8b842f9ba546c1c6ce80decf6b198198b77dc8fbacaa5fadf707156cb292dc36a7ff8f9f53ca541e57529079411a7196eb3488a19133a1e049435fd5192d1835d1ffc0ba1a2914f71a476e81d5e6b2a53c3ef78748208a2b8653ff98ffd10c8a35d2f6d621192906105a4a71941edd68b0d1841ac6a17ae1eb4ed336779be5b4c3bddfcf9e0f74f4fcc5711e95094bdde49e937b1e48f8eb43446be6e30ec19cc3417c02198a08f62fd498e76e383e8ea037e35983909e1c5aa11d8d715cf65b764ce21783020a7ab7f8099c4c410b4e7d0e8d6e571ca2b0bfa065d8ce08bf4ff14f82c96122a2e9a32eb2369d002cb96162458183d174f821683ca754660b9fc4f17709f6a38b137c0c75e9b2b7392e233eb66e0455744aac3520e951ac8993ed4e123ee3ef13e5912793201278268dc50ba95a98bdff9b9fdddfc6904eaf18ca92c127ed7fdf5fb5f2244ab2d234baeaf4059ec380277c10d25e6d8c5c5e9962753fc99465cacc23fa9bbd905aa632a1a25b51b22db53f2eb485f7940dca4d3bcd1b3fcd810ebf7484a8737ff590f029a5331d2c1622dd8996a15338686623665977b2f87d42a47cd67a0408a91c501475ab15598b53784a4f330e05ebcbcc0b086ded3151d567a2797683dd6c240c074246e284ce93bf1e1b254f4b61b527777a74c35e9590d735fb8aec13f6213940b40e82188d0cb73acd2c46946c54980b1409c0138bf9efd86ca3e0e6bb6a1c16891c2f19343ef40e9a06c576a437693dcefe3b07c08553dc2794f63cc8cb4fde9f73771a5c0d5320b08cf22e37044f293d09ad160f2c5648e0df33f00d0389fd84ef8be44026abfa1e332af2e28cb80b632d8411d655dc4d3d5eb289dd0ee328c72adc7c0d324de1e001451965e9eb2a8c030a742736d506c4dbda519137f83715780389abe534956646761e2ee4d02c506fc806965aa4b3d843cfb0e00aeea00af2048bb99629a0ca953cafe55e697e41b2aad268e0fdf10cf04b1d97aaa2b23365fb3a05aab24af0e2b1368946458b7293dfee068ff6a
+Shared Secret B: 83ed443128ab286bd13c32ace044eaa2584553e163fef776aa296b28fcddb4d9
+Shared Secret A: 83ed443128ab286bd13c32ace044eaa2584553e163fef776aa296b28fcddb4d9
+683787f587a5cb1505de221d9e932782bd38eac42341c29884b1442145fa2b34165bf4911b4e45b809195a688434850c2f400bdeb485620796d7274f32a6430b9426e8c95d2100d30c5c11ccebddf1d8989f90d415964f7bbafa086e3e83981e72a5b09dc658b12743d35e164ed810f1606734e6c2190de7feee0c706a774bbe6569bdc6138b2a839a8354838bc1b593136e222f14967110ed479ea3f74246978ccc98c0a3e1e1c4ca415d8560ed7ea8c16a96ac2c730651c0fb1f52a75894794c1bcd5f8bbd2c8867b608f158087102f23aabbe416bb18d6a3b9b0773fb29ea8dff81dbdcf74693bea886faad621d6ea4b642b1ec4eef8787b47ce676fde9beeb148ba7f65f2feef1ef7eca94f505ab74a95d18c4fb1f2499067b37ab12732ecd0794568530e9830931b83f87d847a0118b0cfbec84b22582bd237ec94c0de6b7aa928ff653e2f91303aa2a2155a8621f5913de9ff58197e4c51db1f14d96ba043fdc7e6bd2763f416efdff5ce299154fa9ba0d39d2d4f845a0a0b4efd1fdacc8369383058e1b970d3dd2550e4ecb969792513aa179e7b7e8e150368f753d17ab87487d0ece79f718f3c53e5778649b58be14ad1852a95f9fb3d746f2b0431b6e74b000c96cef7a2436d9168c33ff5dbd7f4a76a2c33db51304253f97faa0b4d74a3553a810465265e304893f7e9a5a41fc57aa0e2c86e03110a183f4ae4c19d63e97e100e38472f6e3160316a71f94febda6ce773025d2e2909619ef805493508f124daf90b4b5d642fd1723f7e04d02389ddc497734b379ca780771d4f6a81bb98895d598ce69f803a329e9ba9fe69a07f90816bfc774787c17a862bacfa477478431dd913707109f26b11c55c4c1a6683d7d6c7afaf2804acd3107b04e2e13f21e6de9325db16f88faf8289d2264ee0f5c98fd69e2e9cdb23e2eb7b0a6603df54ef8e377725bf5e6d86e24a5af27b2119ab90adf0e8651134c28c878db43f864970018736bd6f4082e6d6523b7cb2790517cbd92792704b05b43f3835d5fc1d45c2dfc07ef59e67932a727cdbc3c426712a23fb74d7d254eed2109f1c8512f94efe439fe860223916e4b150cf14716f0af06f7c4bd4eed5c9b1f5f53ef4a030bfcb89783e99897313d4e8553e9c3cd925b333e695d54a7cc8891bf78f37a6be9c9ea9e019a3ee911ca8aa4e2042f2c49988a9749e4dfd2d2e3230b99d50a6ca2b33b202e82afb9b6ab2076e1df506d98354b45e939d091c2fac6f904068b047fb516f2e409b2a1c7d482a2a1b84b9287336d45b7e585a5c2aa55d28bcabf021809094684904ba11ecf2a0947411e8b0d70d3ae1e11da2471e8d6707bc40618496115b58920e33cd3fea727be69ec9a3ed4d47e61b20a82c7044f5337e2116f1a6c547daf4613576f1b6464d35489497f88880edfe950895c766fea9db75b7d8a9b95c3cbc245a43bb880bba57b4bb5ff29a91a68758ed12c0a0fafb9c6583db5265b81853189b6976da466a13a29c5fc5071785574c080e1d2e2418a621bf3e8617d00c499662921d65de47254ab48f722854652dee7785199631e4f9d464bced56383748b3ff16e3666e6e612da8204cb1c89d02979f4abfe35f3f1aab84d8ed75e617a89a87e23175037a46d20b9a3c9e75d4ec042ae40df2d629ac8286d7d6a9428ec432f73a12e7eb3a5223b60f4cd3f8168bc953e323e2e8a8dab0dd24c36a8c6f4f9dca833c55e725e2b0699c6915cebf962341fd0c3c2326ee981294c23f88da45d5a82f7f7a504e0d525d7f3627c29cf881a8a68ed4bcbac94f5aad69a43820048a59485fed7fc51775d2d98084e6e6df3631582c25cc8fd4f212e586fb188453dee24d61aa976c0f7e50f73677aaa86ed2145499946c5803b9a9fde587462e312850d50327d7c020b048d222c93e141cd59122af84b69b00f24a587098a6641d761d239559f79e51d3f021b71fab95df5f74444b0350c5eea02c91e54fc8b5e619b6792cc6b775c3097e0d5bf47bc40294a3e2f16e6d637a5765d24a117315f0b664d00a4eaa0f16cf3a742f5150d266a0b8596ef5f3ecd3eee066a9592799a3fcca0e434f5d9d29f851b08012ece366f4cc793f43e82259c244ed20b93f1a95784531489460d947ad5f44fb8924b0b08aefb18eebaccebd9e6d75c0042f19b0821fbc6de70544727669eeca513cd9667fe2375da1163951a14
+Pseudorandom shared Secret A: 805cb94dbfa7a8a99ce989f82d76d665845a9d35cfc8cc4581b52f73f73f8431
+72a5c3a0f6dd43337bbc0fa478a7dcb33f4ac175d2ee291e971650b20d62f5f1f705f4f138297670c2c46b02839e59bc9d513a14e343ee500d5ded2c349d3f75
+Public Key: eb0b62ca83165af81a688b9043f9bcc05127ad117f96662a9a9a0a867c8d247908cc16c61b784ca696b1018049a875a105d38996c501943904677aa5ae12196629a9338bcb102949b719bf9bd50c3fa381146648b4f771c4c7892781a902a84f85931a3331b1ab804837408d4275af7d544634265e2da8a5ddd79141d046004740b6e7a901f92ab0588118ebc258aa9176818e9ae185084a7a96dbcd45c9a009ec67b9c633bb899f4bc49b684202bfc20b302b02305713ae1a9af8238a05e5b54a7878b35312241438517a6d70a87ab2c46272d4c79550896d2726ce649bcb810ecbca5e3ae017cc7b8f9fd9af0821b18daa6e908c6591d213d8e6311e57ace2b72e1e63c6e0ac63023a424855be7f157054f6bff636711cdc9dbe35b4ab87780d15547e8aa3634581cbf417590b18f0f315f9c7be803698b51c87160896d04a0c0b7aa93c5c4fd481c9eb4aaa4f2a6c696a7c70b5aa377628bce3681805b44cdb8155b40e224555e0ab53af1c794722b25bd186c54b29b718b4c653b801989937b837cf0a4ee982cd8d80a409323a342721c5287353c24679fc2d267a2c180943fe4352eee408c649925e74804a7823ee401ec4da0bbeea768cd8b9fddb7f015aa095a5ad399064bb44643a6634ee16170210aff5fb6b1b805d6fd17dd19961a4acba9c26363b3c13ac701d82db5768626e1d372c33d490f3cb0b390c769d23a283865160e18f3a57192b643776278377ec91d10945f51aaf42058d1e711669796ffac533b743a33aac3d1c21233dd712ddcb0f0e760e0804705ee4329b9916d985a3f4a0372d5835670a0667a401739061c60745c140485dd44e0bf9bbc7a04845fb7b8c96971ddb29ca7988bd868e5d1c1715e008070544971a253f8036f4e57ab72c9319f64b9920a74191708e0848fd18a2b6f765e5a97e86c37d44c69355e7cb497b0241a898187b463961908c6787b0094450e582371785c4a381c7b3b2031ab9396cb2af576e4a4a1c7381b482ea0c694bb52023a0fc02c86aeb7e55f7b9e236bef0ec7e1cfaa971d497265443d8713d00da424b61bd830975a4602628c42182e3b2bb5b7df7ab444fd2947e329010003947cc00581793ec5c2130eb1d8af22a05ca2490534ec569574043bc4863427fe51cb60c17b224cc79f1c10f8496cfa06be897a134e91367419bccd43470072251dc87a6ba5dca861ddca60279c79c1db795f6f7a9b60b59774918e92946d0fa73fbb59a671a52a4b1392a5848676618edd8a4059b723eb83c8f149ceaf4b76144964bfc2e55087f045b7bf1a3cde1aa73789507fd9854760c7aa9db436a48364ed206f70658cc216960c72c519309ccf611b2e260c3eb3a61c7066ac05e375a7dc8d4940a3a59d5db0d24b17e2cc098379342704572608905466242554c08b2eb32e692bfd56a9c3e9678068c5c7d27cb6da7c2320a78117558b01076cbbb734ff43099eb7ea1620fd4539e8f085566312b82b4652b482d6292620f0b7ced9cad7f8943642cb504c2175a92473d467a13f00b33c645b9fa985771a3a13a5a5a8880f08b543cebc67d48cd824b267dd5790d576b88803ebc645a8097c5804c89aee046610994f50cb97bd0588f70c6d7968f37709edf5062eaaa3097ccae57d0493c441659dbc02bb102732099ac9040a3f60e47658163147cb6b33a40305accc6bc45946b83448b84c288a0e4b30fe32079d9ac4816447f2b007b5875e0d56897f160ccf51158968c37c01116e1087ff0851d43a1f78cc56aa8c7c47370405731c60483a0d927c7bc26d6004e8ee79c800c9df292c18d8c5d58ea10b01707c9f26652c0766772677ff64d5150bc523b453b8271b550762c03b0091165233bac458b86a439117390286060934fe27210394b69700b5c5628c48ac78f42c69d9c87e7e11e30676bd869c8f4ba14cefa0daf1b6427d8c7333271b7078a0827327c1270ecc17b44254330f3b075949dd34232a8f750dba68f4640cd07f03518f9137f8b9aabe0828b8cb5230cca5cdb3c9a82240e1cc03e357024c948559b77b9ac68da6a0b7f2b9b400448f7e8a6e8b326cc6408b7599d3f7c82de369eb2e7369fca33d3a77dbbf0cac8c8760b481ea8250909c0c86db476488282b792a26206c8c2223ea837344596851710cb45738bcf88e62d34d8c4c181bf22805888c3667fd318dbd1f69a41a203c7bb11
+Secret Key: f4129e13eb3b5057559e9c2b36a808e8f8ac7e7124fd8c3c7008be8c44b9b5b8375c3833e9c406b268ce1104ca623c6b7796244638c3b558286bb977638a9f3cb54499a8a052171fec75877e246972247ce7e8c557ea7d0f056400a7a109366b408c57b35022a7e80e53c11b6e220ed50a9ba4104bcfca175f2c78d58588d1cb56aada32096b76b97178a0b0028cc94be9281094015fe22758a2e1b57aec8f2db909cf523d3ca2c1ce6957d221c5d3b57f26f226d157619c619980a619c669521e8680da56991b4bc56c70886a97957546b871514977c48e00c28d377a0e38f829bf203506dbb85c17104638a3a9090ac641aa3386cc095b6e883541f4da2e48e76eb26762414b31e48117274610b388461a1b50a701312cc8179956b65fc5430f7602922327b2ab98a14284839672b08941d03584d9f689955845bbb879b6e1630f6428fdea594b1075b2b4cc9c0240a003897b9c49f030482d89a24fd566b5e658c47387b8c84abafc9b91434b30656b1fe6bbf91b6ce4128e85dbabf1a0777224461ca5377595547e3b61b2726c17aca2c6b47af5ba1b7f303222c419ba7a350eb19d1c49be25e16a5099033489625bd03204f45c811c7095167408305588405fd7b3ca91675405728196aa0f82a3639294326edb8be4452e22832e8c0b303bc0667f610a5374ac0d581e0dc63cedc91b503569aa9067fbe9a3620c97c04cac028bb359cc009c28792364a1e1c992646623eb5584da51a2ee12ac9861a145f6be91c8763a044ecb654b6acc17e4595efffa32ea4b4dd418a8dcc9abba41cd2853b40f73b56c8886ce74751409c036ca796a2c6a0977c11c8860da9120845506f696c0cfe63e625096f932572319b85bc81f4599311b9c764de5b43b9184c9c07bb7153185e7adcb8b67d4c17585f15a3267a5fe41bb174817ea1ca42f3a77aee4b92896cb963790fcac75d3d14909f83fd9e11cec472ac81c3370a0c2320369f1fac6782aaa1a857c62d166e6a76e86f549b37877b0393f11a54b26c0b3bf394ef0da5fa466264e7b6ae9c71eab64077725c991501849c010d883182c149e8e5b0528c624a00aa336411ccb763973e2c91c96b61f1baedab200c7e391142bbe054236c6182e3964ae73253612a62f595104af76a000e80d27169e6b076092b07dcc6c82b131cd4e17c8b59b9ecf5b35f5c5188bf5ab61a0997e6b61690159bbd8a05592a812c86333071281e33370189a1289c28862550af195bb4a91e9538748e904d1a6aff5f72c6b2485d5d8b97681206120cf5922aedf061337c6cc4f24050d30924882b4465b9f0ff38233832bc9eab94f75b602d1665ef67bf06b1513fb78cc2c6c0c58867fcc0433b6a174a31dbfdc30bad10c0f52300271c582f01153b72385444c2f76ca3d50471ff737a73916610a52e0668315a8a86a183ab5e6b50bc57604976a6c2b7ac970639ea270cb91b08f506a018c911d06b30a30ca2b52332aa5457f5b4240012dfce1a504896d784709a8879385fbae0e284967b5a38dec14dbe6b94e2899fdb409a0dbb7ee211dab038eb939a4c38b59c8791fc963805ed88736495f76b7830c70b2104b1509d4a78e896e40a80dc62c1a18b4412057bb8355166549414e5c7dbcea02a90897b1a7a293ea0cc019c025ab18aa83224a75ce5df87fc78c5b364b4083f15de9293abdd62d4aa823d68aacaa994573428ad48207cc1ca3811390eaf90a98448da87153eaa3cde704cef437a37bb3cc0e44ac26389be61cc13d686d2f9115dd6b1d687c386f68656f866d8cf6338c2b50d2a95b0e11b720f46d08db72403037d6793c5f874c3e88c7608c2247c59e32040ab33cac0908482df43c3c74495ddcbbc4b15731b22b8f63125bfc146deca9c8ec38091a664839183ca66c57c5a8cb4566f7a403e76967f46745adcbc917f27ff1ba8a2c85405400431366c4c3e26ef97261a873b53cf2a0d9f6adc80c587b38930d18b3c10338f0416ba9b18e093a74892a3398d62f7bfabad5ea721204253ab55a1aa17b1064bc0fe022eea97c41d713c71720e4b57523a0ae9b57139da4071dc6812b7659fce0b87fe96c1e4a06cedc5a1d6654f0807fc7fa199f21b21108c171611a7624be14a18a13914780721c5f96302de57728d95bdb3974452956eb0b62ca83165af81a688b9043f9bcc05127ad117f96662a9a9a0a867c8d247908cc16c61b784ca696b1018049a875a105d38996c501943904677aa5ae12196629a9338bcb102949b719bf9bd50c3fa381146648b4f771c4c7892781a902a84f85931a3331b1ab804837408d4275af7d544634265e2da8a5ddd79141d046004740b6e7a901f92ab0588118ebc258aa9176818e9ae185084a7a96dbcd45c9a009ec67b9c633bb899f4bc49b684202bfc20b302b02305713ae1a9af8238a05e5b54a7878b35312241438517a6d70a87ab2c46272d4c79550896d2726ce649bcb810ecbca5e3ae017cc7b8f9fd9af0821b18daa6e908c6591d213d8e6311e57ace2b72e1e63c6e0ac63023a424855be7f157054f6bff636711cdc9dbe35b4ab87780d15547e8aa3634581cbf417590b18f0f315f9c7be803698b51c87160896d04a0c0b7aa93c5c4fd481c9eb4aaa4f2a6c696a7c70b5aa377628bce3681805b44cdb8155b40e224555e0ab53af1c794722b25bd186c54b29b718b4c653b801989937b837cf0a4ee982cd8d80a409323a342721c5287353c24679fc2d267a2c180943fe4352eee408c649925e74804a7823ee401ec4da0bbeea768cd8b9fddb7f015aa095a5ad399064bb44643a6634ee16170210aff5fb6b1b805d6fd17dd19961a4acba9c26363b3c13ac701d82db5768626e1d372c33d490f3cb0b390c769d23a283865160e18f3a57192b643776278377ec91d10945f51aaf42058d1e711669796ffac533b743a33aac3d1c21233dd712ddcb0f0e760e0804705ee4329b9916d985a3f4a0372d5835670a0667a401739061c60745c140485dd44e0bf9bbc7a04845fb7b8c96971ddb29ca7988bd868e5d1c1715e008070544971a253f8036f4e57ab72c9319f64b9920a74191708e0848fd18a2b6f765e5a97e86c37d44c69355e7cb497b0241a898187b463961908c6787b0094450e582371785c4a381c7b3b2031ab9396cb2af576e4a4a1c7381b482ea0c694bb52023a0fc02c86aeb7e55f7b9e236bef0ec7e1cfaa971d497265443d8713d00da424b61bd830975a4602628c42182e3b2bb5b7df7ab444fd2947e329010003947cc00581793ec5c2130eb1d8af22a05ca2490534ec569574043bc4863427fe51cb60c17b224cc79f1c10f8496cfa06be897a134e91367419bccd43470072251dc87a6ba5dca861ddca60279c79c1db795f6f7a9b60b59774918e92946d0fa73fbb59a671a52a4b1392a5848676618edd8a4059b723eb83c8f149ceaf4b76144964bfc2e55087f045b7bf1a3cde1aa73789507fd9854760c7aa9db436a48364ed206f70658cc216960c72c519309ccf611b2e260c3eb3a61c7066ac05e375a7dc8d4940a3a59d5db0d24b17e2cc098379342704572608905466242554c08b2eb32e692bfd56a9c3e9678068c5c7d27cb6da7c2320a78117558b01076cbbb734ff43099eb7ea1620fd4539e8f085566312b82b4652b482d6292620f0b7ced9cad7f8943642cb504c2175a92473d467a13f00b33c645b9fa985771a3a13a5a5a8880f08b543cebc67d48cd824b267dd5790d576b88803ebc645a8097c5804c89aee046610994f50cb97bd0588f70c6d7968f37709edf5062eaaa3097ccae57d0493c441659dbc02bb102732099ac9040a3f60e47658163147cb6b33a40305accc6bc45946b83448b84c288a0e4b30fe32079d9ac4816447f2b007b5875e0d56897f160ccf51158968c37c01116e1087ff0851d43a1f78cc56aa8c7c47370405731c60483a0d927c7bc26d6004e8ee79c800c9df292c18d8c5d58ea10b01707c9f26652c0766772677ff64d5150bc523b453b8271b550762c03b0091165233bac458b86a439117390286060934fe27210394b69700b5c5628c48ac78f42c69d9c87e7e11e30676bd869c8f4ba14cefa0daf1b6427d8c7333271b7078a0827327c1270ecc17b44254330f3b075949dd34232a8f750dba68f4640cd07f03518f9137f8b9aabe0828b8cb5230cca5cdb3c9a82240e1cc03e357024c948559b77b9ac68da6a0b7f2b9b400448f7e8a6e8b326cc6408b7599d3f7c82de369eb2e7369fca33d3a77dbbf0cac8c8760b481ea8250909c0c86db476488282b792a26206c8c2223ea837344596851710cb45738bcf88e62d34d8c4c181bf22805888c3667fd318dbd1f69a41a203c7bb1115785dd666865479f275ae7ccc12f2a226e23ac9fc31b5b41e71beefe331ce64f705f4f138297670c2c46b02839e59bc9d513a14e343ee500d5ded2c349d3f75
+34d7a718a028e49e7065f32a40a2ecbeecfb896678fc13fdcd9abfca88ec0748
+Ciphertext: a73907ea61931757a95aa624a88c7c08b1463c05587fd15da9e218f28ae44cf49f4f80d702c86e02afc2f7e467e6526d193e1a219e22769e9be84f2bae32628bb42e043a79e64c3cc0432a851b59250ba69cbc752fbb4cd74d42857de9a82527befb8d9626f80a0be7cfcbcd38cdca7e1155bffab7f12dfa678ab23dcaa3c9d71fddb6122325efe5899b83b42287389ff79b3bab4555ca8b229223a07bfa67463e1504d6e2fa3b7a899dc6b2b66d483b1a4233333315f3ec27c186bdf3a11c3d1688abac39086290c1ffc33d8e2b2d98122d3c28033237ae1098e85281b40e80ea06a1ce719525a320986b1433f101ec94847d8595543f0cae9dcd8ee64843184cd91f8ccf13fcefff8592e539b6e72a7142ba18f00e7702ccbb1f5e2633100c8c09026fa8046333305b974f926a5a1d57166857b1784a03bf5cd267c3b6609a487bcfc66b256b3e266f71c70364a52aa22dba52e50bdcad933d1834359c03b006c0b090cd67078a622ab01dd1e4e84533eb1fa3564775fa06e8b48b278f0233f580b69964de85dbe01304923f7e49ac3dfa8b85653b01ddf27f2ccbf3fd40c0785d39313a66323dc4e39b4ae31accb5bbf9cb6ece5e9f0d3d6ccdcb231810d0298eb1fff6a78a301668db3f8e8c2f2fc5151f7409f8d6c3d75c51858dfd8e79aa3579b8b32bc01f2871b3947c2bf9de0ea9f80cf7bf2fb93196efdb0bd9976d5c7c2a329c88f42bbb2833efccecf75f3f07dd4fbe0fafc4c117e2e2e1a43f85669f2577a408d966bbd76b877913661e7ba40e0099e993e72fac59005e2d613c5bb9d11cba00d1eaf33d7d1ebd655fe64d0d9f2131af59b2e7b23d8906a0eb1f0da21d80f18e0b4993f5ad189caf9eb13b390a4a69cb242a7273e7d65e0895dab79a1077ffd67e2aaf64362d9394e83fe2ce934956ad7e509830ebf31cb192eb0be0a5784d748542eb219431838791c513dc96257532316722fa95589666c21b7edba8134adbef76970042a5ef14cbcfe3ffaad6065436f539c5ac5a52ce2c80a451bd7a7a41bd74a86e39e590fcd775131c8bb783bf4c53e718d5e6f1ef2a728fb32d79fe4083e15e1a0a1c535f8be1dbf712dffc32899ffa0389c8b6eddc4771771ae7d296d0947eea2c83235adb5c1d97f6587a57e505d03eaa1e5fb3a09a895a7a389c36a671672b78dd477681bd8a30b8703c1602ad4c24c40ca75e384de575ff27ee6edcf67182cecc686b2a098894c3d09f3b18a53ca55e1f989a0dc5a403453397d80534201aa18539169b8e0374f4a41bf19d0f3f8dce5b2092ce1f245dcba3d7495f72505cba104bc083b4709a23befec84135247f75d54db76a68abe3101f6f0b0c2349762f514e0e5a9e444506fc2a51a0be8ecd41fbe86a153b17a20b03e62e544a2daf30dfb1d2df3811cc6f64a1700d224998ecb741d0de3f1ad7e514a75bfb73fcefb89070b753a01df6ae48c13b0477b8eb66f09840cab04be0c9cc4b64551d19ce8d2820efe3b2513c977c2a12777b01c3870bbfa2bc01561c67a1fa829196c931995b93787f2b1ba6945e36ddcb6709f7ac6b40789cc2d873de6636223dfc7f63d52cb4bb2a4b7e82dc1a54cfae101d0ae628d9f24a049470989cffea91c6cfa7c258a3f25a315ead3ac7a7151b54693457f3838305af4e3a329b48e339141d34843b66ddbf4d6d5628ab29e1f5e96e2920663e7d33d428e7a64dc05a6916daf8bd2ee346d296aaea0663b72c8d9f31ae1d6f002d19e22ccd0f229d3d4d0cd27821539ac5d5f9689d9b74bdeccfac2d86456796ada9a098a4f83e5a6f474791e2bba73ec2a5832c975602620b4187b33c572db23ff9982de3be94fc9527960bfe449759c6e78bd29e230d7726da283db4fb484b40845c2daf8cdf34036d3f1f78b4f4d6a13790a457972096bd8bef2ac5073f26c6110f4aa9d6ea63554a2178c8cede371b0342c89c09f1e05828d9bb8c8c4fec5363751389ad505e512dfcc4b8151f259ff0ea9b95b31789ca986369c5cf40c8a466f7570daeb55c963e333e44352dd8a476a35bf599093589b8c21726d9ac3a1ca06e9a263365b8fbf931ffe0e9dd94fbd8bb3b152aa49b373e632930d8ae3b0165135ce1854a21055d6427e9309e9d772f4ae32f9144f17fb0fddd71128b3a69e3f1fc51658c2661b6b26f96e52d51efe28f9a9538bff55d77f31ee58ed285b5f797
+Shared Secret B: b82e0c4f677866fcfa9d6e0e7b328af7ab172ac02ac433fc9e2455016608f159
+Shared Secret A: b82e0c4f677866fcfa9d6e0e7b328af7ab172ac02ac433fc9e2455016608f159
+e911faa3c0f6722c4f13d072a02762bc1cc80689908851dfb390cdce7401c8dea69eedb6ac777c8a194aecbbaadd60ec98e351fb56a71c58fbe847566f594ae44ae3761463cae942b848f63709862c7d30d758699e99428cfb22702e29d412f36c2b033c9851286bd44cffb4622c9ff99ba7064323be2dd8e762368f28360f9a31b3fc20a4824b36bc246ccd73948ec9f79ff4ad823fbcfed6ba12770b3471be97fd4c59378816c52b44dee11c3484cb4ed6ecf1efec43c3de096656a764a96783f6cd00c886d8ed253f7b53a1e84919413faf9606a12f3a5953dfea4a4878f9d510c847c5b43111db33d1ac0f0f747674973973e55fe21b669f51f144eada52045fbe553c89e64524bc1ae1b54a1d1a37ef2362e4e99a978fd07d7fb53380542b6c61ae97da1fb57951d82abbb0b4ebb7c6b3b1ea317a66e6fff9342ad84b69f97b474ebe190dfe5bdfd0e4886b12e726a0c01c12f4662315d565f99744e67079b12bb1e58d236671bca045356c74634e2c9818d3df7876c1bca51994583dd0a01c4301b7bd251e94888474652d796c3c94ac123c7999b48d9e1e55e3caae6d873586a5295312c2800c986f403b3a48f462e42fc464dd3270c2b81f27e49cd215da880d24530105fa0ea92f0be49b62f51065d41bd2893ced0b8519a8677e098c796c38030c31f153fc5127c06928bfe38bea2b3eb4a472f5b461d9cc7dbe0e7e39b00d42dee6451f922b184da03b41078b356ff1adb4828c00db9749257342dc9dce3f9458479da0151f303e015c0597149c22d3f850c8306ebbbe0fd235a3feb629cb7b87b5c7160c9cb2db6c35cf2c1d229bf52207df727a63f86f27abb4d4283d853b850b4209f0e73bba9aefb823a8becb4e0141120d6fe954641be85f9f42079e80f69caf01cca215d052552c34257761a375e7cb76a0183c7698fbefb8563431941dda80f39da0cbaa3032460ca8c8cea158c9405849d52f30c703d4b91c4f2f5fa4dc561d2fdb664d9cbe015157f83805c7da675de4c21ffd5a241fd22ab2a84b820caed050e4e7ba1e4859d56b04b74e9a1cb978b367a832dc8cfa2d2998e6f727954a80b77c3da9756267e36cc1163414b4fbe29d1c4999c245aff60e82511850560d2af510c4889d2e7be582db24b91f6e8a1907d50f500d9424763579f613176287b03e642748ec061539a7e4fdad0ffc16455ba63e6f50f62159f9469062ef326113a5679dea2237dddf83213ef29056a353931088b054cc7055380d5ae67484c401905ba121c27e5938bcc7bf87a0b07b6aebf63c48b742ab4c44c9cd58a431b38a3d7bb9673376666f2c0691dabdfbacf4fd931451aa1ef9373497abd51a9e5ebf5d4e016bc88ac482b2b22b57b03e2f71cc652bc0f36aac3e5f59c7f8e1feeb1a64ce5df09c03e00d51a896bee91fdecc7a0130f5d0fcc572a066a84430c2cab43b0f8a6c7a556b47376819e751516447ad6d36ed27f049699e1e40b73bb597588532cefb6686c48c59586da7ba7b8493895658682f197f570eaa23d02947202f51b6e9230e92498779a9010aeaff41809f7c89106af4a154d11eca548c05c1f3869bae49bfc83f0b9bd637a1fb607e6f71a69d0951d5943342de8bd4b32bfabda86a92d3d1a23b55bc9656b0eb5e43e02f9c093dc3faba910e5a93df2bfac6aac43574fb95d9a859e050b5d5b83bdfb1dcbb2f5db54616ec18d8893c8d4c62e8a1591fd9459fab43888472ca604c24b3627b32cc462354c2a264fff2ba803a00651b32a7c1e028e073d18d6ba1f4856acacc40fbc85148265dd84ba1e03bf87dfd75d98e43e3374b92e4f4bf9d69060d1b008cc847147f35bbce2c9333dabe4728e65134e08dfb56b6597dfaf15f43b1f82022bd239e02524b3377c746ae809271a315de4e85acf9a712abd325c6eb359473febba7469d4e2ce596ff4573b475379d6001065ece23c4f3b49115f87ba015403cdd53512a45b5643e281e44c845a8f05f64d9b18f7c5aa5cc67f3926981eca72bd82a5c4342980a67eb8c495e81bf42bf5e7da80036efbe02833d9732297086b11eb480b4952d13c8669e79c859466df3aab2cda6fa09a923666431f11761d12b2a0a1d5b309ee9306992438b4b1ce12ceaefb1823e96cb31f0a991bb08426749d35fee0715cb35b0027b3b7cc5254637734cc896314ec29581b21d80f059e69b1681cc7f
+Pseudorandom shared Secret A: 2513b359b52b36ec7e9c8c8a4f7ebf34f770e31e56f20e45df242d1eeb302f0a
+996a29724df49bf311a4094d66e5b9e5c51d6dc0ade97b790834693e0f851394938cd4a60fd9e36cf3f0593b2fe2c14589a0219991d02615de876a0c54e6f576
+Public Key: 412992a81b157dbc8756f6a6354aa1a10a4f62e15c3650bb2b8264cb76b0b173bf3b47b896e717a0aca7e95a203d78bdb9c885f89443f50144b0da14d130cff7d787a841534f80682882450df9aca4e6987ca6a253b48d63eb3954d068c5ba863a3a918d3356fd749c3d0903d4cc96d5f81c25db9875e1712babc2bd20773654224c923b9e88a7cdf98fff111aca186595aa386c200132028dbd34b2324c8458605f7d52cdfb11cc6eccb7f4aa4bc9c9a902d8864c1b1a0958493bd8784083bdf4e9bc07842b03b26fc7b275c34899a04b6158f7467d288011f2059dc875f7f9b1793a52dd7bc6e300bc6af29a0fbb6241e91e5f498aa33c2f64bb1d08daaeee24329c83ab76369f3d5697a413a581b392f69b617a592418154bb96c8728db4f44698ef735776e557efe893ee507af9f3b24da8b8da0506289096bee497989a9b5f1483b5a999995a663186411466740e6975ae2e6272920bb4d1518b491c3dbe3c28f2175cee0550260704ffa69c3216df65c0c029922e37a0dd798498b08b424898350a1242efb2a0e01453aa60200514e5cf5815a69954586165ee3a3b9f511be296dd4e5cb244bb7e94b813f76ad43a679f8a6a57966180c14c51c3c058fec18eef78cd6164effe80e54055dd3199e83e92c3e76caf368879908b19d3338034015511b8a3c9063bf960e062b45885103951869f6209455ab3b10069b2b2671bfd7aad8659495aa7d5b2619d3d95974ba268f044022dc58c466afd93216870695eb0b939e669fffb3b87ba79b574c135fea500bd93177585725026a689375988c7c01a116f27284af17713cd63592fb6d96298cc2f0a644a823d5662291640ec36085f19112d245a19bd07ae6dc1cb7d28eb97aae998c4dcd594be748ab81c4acbbb99fba3b77d573b16d605afc51b00e52780d921a7a8103adb5bca352acd421ca5d537241f120337c29885a7daa4248cfbc791bf907c76154c1fa7846839ef5aab5fb3bb97fea592b3c2112059ee9f5be0ef0637ccb9f37398bbd4b3712dc7dfaf5c5dd084c475b9de79ccdf7d194ad959f986560d601be23a2241979059c62b547590440771c72e72700ac028fe055bf93a854608d96a7b631725f76d33253bb1b0f57c6177073e9b137834176db79c4a6e740fec3a7b0185124bab2549454fb289ce42844f698a58ab100ca261ca79ac998db46fcdb073f837b70bb79d46cb50db910ea465b133bb99d1363c5f6470c19ab39c89d4b19b7c6774676ab1063ab19e07266355240ee781b358a0501417d51c193cf262ee03b91da282920d1a89ee50455e60404826fe5e8a0a39061109ca555663bf13c17c3eb64eada94096a507773885ae4b99dc54007476e318187966111dcd864ad80b86b240a2d7100f41b121d8878796406a628ba596cc975564541ec5019c166dc16375c024d632aa1f9e30317eb35143060a41b6dc822968025a3c753c2d2930422541204640e3adaaf54492baf0a8d53b8b4376bafb9574fad6900b093baeddb24d7e52cde1442415717e7f099bd326d3c399a1b54c657806cbb54a511d997a07067d0d8204e252977933279e5a02e1c064849991d32c889f1af3c7301fac32843c22c21eac420593bfcb946ec6a36cd1c2a580877ef893a74c189364c8ab673292931680356cd10494ea6f2656226bcd0c28c9f251284d12160dc3383198adfa895de2746c50c0317b4408db23c5da71be3fb423e2597ac25aafa91ae4d765b391591e88ac2f8b5533fc1b1ff22a350291fea170cf90a15061a2af2d38d7728575f81b9c4811b4ae18ca4501c059bc63a90848c86ac2febb0025a4271232687f535f91002d82409114148b9312e09f8b9593912f6d73ca270acaa72b26448111270553095474f6c2b68d1acbb8b505b40ccc7394a74544c38f250eea92bb9b767347bc09658abcaaab68e1756d2939ac3895ca72abb4e423a90fa4effd736fb9c91c9d92f3279b49966ae852c789d516f4fcc20b3f025cc9819a7c553eebb129e85bad23349348531a195bbcc7c0095dc1050f574e14563c9756f09812cb9795e6f04656f9338ebebb735509189aa126013b71c383fec1b77ccf109911412a1164734d8517a24c0a5b687a5222c13d4b645da8978142924a6358c715a288826284cb0bbe76cd19e2135cb6778de0da207212c9e3cdff9f81be4e0212feef4c5b2891746f43b
+Secret Key: b0f394d2842e0fbac05d04bc6791cd5f55583743c7382b0b7fb73d06d98847105b20628ceec4889f4a2a1b6478ceea7b1ec27de14167a7e24743a18f0b914678ca06fe37ba2f5973ea8cbf311a27afc91eae93989a57cd25814bb73b5a12e824c9046cc30b5fac82728b5131af12764d239b7554708bd3aff40440bb0b1d8692401e348b6e39bbee21a76f16792264a503ba5842f4b94ff373530a9a7f68b71d6a44bdc732ddaa13311bb0700a71672cced5e9488f438db5c14f119637d2aa7e104507c24871b1b902392705c9db95765298a83864264622427903882329904405074435c03666821529f47b17375743f9954d55b433db73b9ba712c9790bbb5172e6bfc5759a1ca77fc752d8540b529a7a9629b2f14494b6a0aa7fb3bed388f6ec7020af07b6ea07721a08066e8acec04c6462831a52104ca408b819453fc063d2c813f75716a6f62b1a8e88d215c02088a99f44793befa30de474d5ed224fe631a883281124166e4fc3255430f9b9167a0113570f48dfd26a77266bc1fc518b7742b205957a858372c2767f2203c17a17079b5b3b0d3742072538e8288e52943c060cd1c4a9bc8cc0eef4169be441153232879d4961d223a7e4a5f7b9715cb0cbb40c2602d5c8e618485f5a02d14692faadc120751871cb5a3c8e76c25ea112c2b39da570574657aee2b54643babddf22dc129b7edd94afbd679615306e4fc640ef7bd14c004011c8013c2166ec697717c14a93791822c0781158933c74cdd2544bbf2afe0f0a8a8d51378ca9fc5f885a0f329c388bc648ccb74d59fe042a265219200c9afc92492eff435de308d8ea35bc7a3c323440c04b03a88ca818113b36e63118c0a50dbea2e88e986fde423e136ab9db287796c460d9a4778e576a023a25f422203810118642c9e2823db61a08afb198b80bda64cb479202b99a93f07527a22e75f9db80844c96160b96f71aaadde768f7bc01e1af5b032e06e7a8c3167e1a9f68879af29ac82ba257cfa18c507c65a532eb835c2171bbd2e7926923a0be30c4ca5c2ade0fc16fe33b525e4c8693558e4293ca44b2b90d42ccb4ac13e37c2d5635fda19014ab529e6295f6ec16385b8b7f3e83f2cb57dd90a705e4a8d367c25cc1968d141ae56b1418b97491a659c5158921ee58e615997442a80dde51859f39763e50902017002610c86b30bc7e9aa89e5448ac775d70a844c948f661b3d5c065f121010921b8d5eb3927501a6af392a367b6b45900e9e8113bf05c76b0b720291bb544b072522c5f3ecba8f885fdf97055339aa9eb15a8419042d2a8654f286f5b685282b0f4fa20b87053965678150168745db6c0f3878a1159f7e7224856bb6755c14191b074112b62ddc0041217e8d740da726639d8b2a7fac633b458accfbb295ab6aa46701bd93a4d92a2f876a5476f378dddbc3a040c45f920e26313a53904b02c58907fba91a8939de099aa7879c24b298de5874bfe08c82677ef7cc439cec8d786a2dc63369956745e1360222683c98064d2c77a5df50856e07744ccc2cc6145ca1e3bc1b6944ca4955f63933e7d7c52c28045f75574f46615127a5666783fd1927d2f7a85340250f9cbd98da001b5bc52c2a8110112013286d08895ddaf6cbb695150d1263bc11312094c2ab65b914253a4d043f2e743eeac00ab0e8ce72d552c42b52bb3b86a81841f80247dfa1b1e194c6b420709957a76a575e1201a0865bcf8968353236742a11aa00411c3e286b26814aadc5cc0191c3574a8e77f75c6b2ab2cf43453627c60bfa1783dcccb02b636804a12dd86d2ab6c43b9564084b597074929644b66659bcee3c8b65616fb034c9913c614512abac69bd183773c51490200a0d31cc2d62794b60672b0f81ca23d144704154ebf18b54828bc347ab12274b42d704c2f12ae5c3893f4473f2ca5fa59553c14335df2a3d410ad043015b47806b4fb627352c019a5946f553c2bb406e63b916a297c28b27926967497d481896ab1d1d61a4e7389b716a96bfe977fa0a23da2a8c2a44b616174aa92a7d803109e128033c23971972bb293938f29c860d852a41b8b457b07d59e1b2c650111c9bcc6386519838574bf29c67c281446c05c6c547c4064eddd60ff882c061861ec8e663178911b44b5da2c51b4f687a3cd377147bc3412992a81b157dbc8756f6a6354aa1a10a4f62e15c3650bb2b8264cb76b0b173bf3b47b896e717a0aca7e95a203d78bdb9c885f89443f50144b0da14d130cff7d787a841534f80682882450df9aca4e6987ca6a253b48d63eb3954d068c5ba863a3a918d3356fd749c3d0903d4cc96d5f81c25db9875e1712babc2bd20773654224c923b9e88a7cdf98fff111aca186595aa386c200132028dbd34b2324c8458605f7d52cdfb11cc6eccb7f4aa4bc9c9a902d8864c1b1a0958493bd8784083bdf4e9bc07842b03b26fc7b275c34899a04b6158f7467d288011f2059dc875f7f9b1793a52dd7bc6e300bc6af29a0fbb6241e91e5f498aa33c2f64bb1d08daaeee24329c83ab76369f3d5697a413a581b392f69b617a592418154bb96c8728db4f44698ef735776e557efe893ee507af9f3b24da8b8da0506289096bee497989a9b5f1483b5a999995a663186411466740e6975ae2e6272920bb4d1518b491c3dbe3c28f2175cee0550260704ffa69c3216df65c0c029922e37a0dd798498b08b424898350a1242efb2a0e01453aa60200514e5cf5815a69954586165ee3a3b9f511be296dd4e5cb244bb7e94b813f76ad43a679f8a6a57966180c14c51c3c058fec18eef78cd6164effe80e54055dd3199e83e92c3e76caf368879908b19d3338034015511b8a3c9063bf960e062b45885103951869f6209455ab3b10069b2b2671bfd7aad8659495aa7d5b2619d3d95974ba268f044022dc58c466afd93216870695eb0b939e669fffb3b87ba79b574c135fea500bd93177585725026a689375988c7c01a116f27284af17713cd63592fb6d96298cc2f0a644a823d5662291640ec36085f19112d245a19bd07ae6dc1cb7d28eb97aae998c4dcd594be748ab81c4acbbb99fba3b77d573b16d605afc51b00e52780d921a7a8103adb5bca352acd421ca5d537241f120337c29885a7daa4248cfbc791bf907c76154c1fa7846839ef5aab5fb3bb97fea592b3c2112059ee9f5be0ef0637ccb9f37398bbd4b3712dc7dfaf5c5dd084c475b9de79ccdf7d194ad959f986560d601be23a2241979059c62b547590440771c72e72700ac028fe055bf93a854608d96a7b631725f76d33253bb1b0f57c6177073e9b137834176db79c4a6e740fec3a7b0185124bab2549454fb289ce42844f698a58ab100ca261ca79ac998db46fcdb073f837b70bb79d46cb50db910ea465b133bb99d1363c5f6470c19ab39c89d4b19b7c6774676ab1063ab19e07266355240ee781b358a0501417d51c193cf262ee03b91da282920d1a89ee50455e60404826fe5e8a0a39061109ca555663bf13c17c3eb64eada94096a507773885ae4b99dc54007476e318187966111dcd864ad80b86b240a2d7100f41b121d8878796406a628ba596cc975564541ec5019c166dc16375c024d632aa1f9e30317eb35143060a41b6dc822968025a3c753c2d2930422541204640e3adaaf54492baf0a8d53b8b4376bafb9574fad6900b093baeddb24d7e52cde1442415717e7f099bd326d3c399a1b54c657806cbb54a511d997a07067d0d8204e252977933279e5a02e1c064849991d32c889f1af3c7301fac32843c22c21eac420593bfcb946ec6a36cd1c2a580877ef893a74c189364c8ab673292931680356cd10494ea6f2656226bcd0c28c9f251284d12160dc3383198adfa895de2746c50c0317b4408db23c5da71be3fb423e2597ac25aafa91ae4d765b391591e88ac2f8b5533fc1b1ff22a350291fea170cf90a15061a2af2d38d7728575f81b9c4811b4ae18ca4501c059bc63a90848c86ac2febb0025a4271232687f535f91002d82409114148b9312e09f8b9593912f6d73ca270acaa72b26448111270553095474f6c2b68d1acbb8b505b40ccc7394a74544c38f250eea92bb9b767347bc09658abcaaab68e1756d2939ac3895ca72abb4e423a90fa4effd736fb9c91c9d92f3279b49966ae852c789d516f4fcc20b3f025cc9819a7c553eebb129e85bad23349348531a195bbcc7c0095dc1050f574e14563c9756f09812cb9795e6f04656f9338ebebb735509189aa126013b71c383fec1b77ccf109911412a1164734d8517a24c0a5b687a5222c13d4b645da8978142924a6358c715a288826284cb0bbe76cd19e2135cb6778de0da207212c9e3cdff9f81be4e0212feef4c5b2891746f43baa99dac300f0c1890d32e61c09af1cd83499f4680d96c8fce5de768ad13a9707938cd4a60fd9e36cf3f0593b2fe2c14589a0219991d02615de876a0c54e6f576
+8beeead02772ee254686873e2a61664d01d0ace4c1c891a19bc8970ff2003b31
+Ciphertext: c5d3a2f358ce69995c2c2b05b9ecf218b2587b06081011b0df905bd5c756efa25d2a7265d1162f3fe8d405c13d99a71970cf920878cc8d30ee61c910f6a88d8127caf560c440efcb64225bb027ca47a0e85fa788a0c22408227f4169e067846dbe201c49d30c4958136a7a04173e51fd8db3a12fa6c3c49b889adfa4b842dda2b59c087db2adabff2deb83c2f65f1c81449f6431f880758acde56ac80c1638835497aa9090b47cd968670c79c46a158f894d1ddf0f0fb76670fb3c5d71e2bc8f825518175a79503d0d5d4475f825469f764434bae3ff413febf9c2b964e1c97efd8aa0931d9f41ae9516595ce082631819b55146f504b6ab34e2da30a3d42d88f3696d5791f8f4fc02c722a5857090a7811a804e3589d0dc07b19a3199804a391d9408bb5b945a0871dc139a670ee91f723989fbf710a967252d6a01aac0c21b86883bed57def81afbffdbc13ca6e335705d8e8ab8324c4120a14b1ba47d968c1e5e15b094ed682c79cb66703ac8ea02c2cc338522f0d1da90326db70035cccb215231f1e821bad9d79735985bc06b2119d1bd0ea5113f7c1a93f80fd77574e922df039e63dbcb9a98ab88cf8a063c758db1ef4ca69764e8a0aee905502b5e2ce0cd52383f979a1aed4bf19b9214d291dfd2028654aa7ee16b206a58f02fd255416cb2b5680ca8ecdb8d4681c6d1f9d95020714925b38280d3c6633664d3a81d8349a95e3d5285597ba3ca84ccde472d587f265ab385ebfac537c03edc93e55f4ea56a757bf7fd40c3455553a470218f3efcc763237ed31ec3cfc4e6962b4ca5ec95e830a0eb1bdf925d82c98d0c094827649466674ce9ad97ed176a4949919bbb1940d070b5cbefcba84cebee16b117b8edc7adb38bdfef712a867739f93ed81103d4cd9a54719b794e9aece36e6d049a4694bc9cdd96741665c6670f6e9b53b49de5db64d493914c449980feef995f537e5fa679b72a87078c16e3e856afa16c6b96b8976138a83b9d4f82b10b48c960e81b03cd3bd4f9c408f3f604815ce24527c48c0500b373da8fcd9aee54684f2c1693ae6569bd065343f1a8171148ea279c60ba8df404cfbec09763cab9e1520fdfaa4149c81689da8059f13d904bd2c556386665013c5a0c98e71c7c501df3a35f42bb1f4831ceed499c45d381b76694b84e1024caa95a02162c15799a258c94472d13300637327677047611926fd392e1eead3b9522d1b9530b17c484fb5635441cc24d883137e88073d1b40bbd6964a442adb8632bcd6f2dc1ebbcb685608d748547f09ebb6c05193e2b1fd1f2c692e04f04a0558cea7f8d19739c440cb02cb53e59e84ffe0a2174400bb16e54dae8436200cda1f19c73acede395de11dc918921f5c410abcf56c54985044c56dc20060a3b4a57404cb1a37d3164eb75b4f4e47d9c2e942a05e8b2ef1fa6a29e9b5ad68dbb57fe0f3188d45506996e3c21c954863ed02e3f8ca4ed9fae35c0358fb5228d8767bc768e080d81e011e469846124ecac544b620abaf7a64809e089af83eef75fb2d240fbca6bb75cd5b1d0fe40306510ac426913b9bcbb90ccc25931edf1b325a98424b2307321eec716604f46b4431b86847e0f85a30a89c18e49bffce4e4506b1dced08742268daf282d7ad836b257ce0c04c4a267aa0b5a4b0542b3bad787e8c494d4c290222053f8f13778cbddf1c6270c712f9a8d65d333303844a0fcbf3b05a68735e166323f2085470edc579be64c5ece7de72ae40b4384ae5143a643187ff1800efc010d479c9219d991745d6f90eacdb4e20e266b63ccb509a303b8d2bcadfb9041730811d793c076b2a2bc54927557fa3441f225c054d2ae8c85e49f34dec7cd31bb87cbd14b2e492f6e78e13656a12369e24ae8f997e302e3a138296e7f20e7ad3bc9abbf7b19407d2dcb439e2e77a33fa550cd338eb9dd974c76ae19376704273dfb8391d03d0efe80ce67a6d01b47499cca52cd6d180c309b2928351ee247a1aff9d661ccfad8677ca06605002d25991291c5f3343bc6af02d715b3b7b0e626072b8dfebe9f5b29798872b3692d2cf5d532f7b6abc4ec688e9f0897e5d03a68403afdd53886bdd49fc1014413586746655f7aad8637a96d1bf8b445d1c99bbb8059effb66e9365b856d6701a0cebe2c14db69cf95cf99559bd92384d618d11e53907fddfce25af852348ef3186ef2ef173e20566f9f
+Shared Secret B: c4a60cf81c3a1103580ed38f5073efd6d7db56b4bbbbd09b061aa695be185027
+Shared Secret A: c4a60cf81c3a1103580ed38f5073efd6d7db56b4bbbbd09b061aa695be185027
+7ad20b8d4bd4bb7d506df864d8554556f085495b4bacdca4853e60ecd2cb7929b6e418e899aba27cd6dda4f46468260e8d16025c72cd398543ba4243c7ed07c2318257d159f0ad2d4577ec28a6f3ab35dfdc8485d0e1b452c36169aab197e4d32a3478f7695765e0ee3b7f3aa1999862f432f40af7efa2e3b14dfabbfd5b1c2bcb4a1098b6097545d09cd8265a9b0d6cd8eba472e2a97699a35df10422b5f0c40a02907115f875b5c7a147468a32fbcd5e93d362bfaed9b1780080d4eb714be121ae8ceefc68b69754fb014fd6250f89aee7b406414d1429a998a5c4f2db3cc1709e4eec2b3c1bec536e7be2739c5c51dcb6fd0081121ebb663f65c4b8ba357b9c19c773d6dbff4b45603cb702e636eee48b4105114c87fb01b0fdfb733dcf7ebad3b8164cd934534b7759e12ae6f8c78b74a75681c577b739843e8d2f89f5f2364b4bb5a3bd7e54a7134b04ef48a7b33448fd5a6553deea41997c27a1d18733d9bab486f810a2c5baefac7d9f2405f41af96f5e0521e33887bbb5424e5fd71080e542b46bdab3e84add94aedbf8e6d39f8db8ef48e44dfd206a1f797cec4b33f140b391f6cfd4c8556f306eb3b83c7db07c448d5d5b95aab5ac7bd8e2bf40b40b905e5dbbe23c171395fd8eb3e391a23598900ccb50f48ee740199dc93a3fc0c9c961da48a9eca4b4ad1f5461fcdccfdf19370d053ff404a546ca48fd893fed2a93627fdce8a4c3f2e085225edea0da1bcde32ed09b15448be9622e378784973e80f33ecac49b4f02001f7d9595e626ddfebff957f096c48962550eb34d93c4bf36b7a9884fc0b6684b8762561c93ccf77f4a4b140928520a29ed83aef8e56317a435f3f017745bc7aa38d00767df0eb081ca031f3a82eae8c49a03bfffe116e6339b8e300420f86f2e19984a1acdf57028edb6266ce9a97e1f787ae9631061b50cf45384dffc6d5d6f30f7b83646d77fd4b7634ca5e99497bafcaeb429b79372f93f573eecbfb5abbe0d29ebaa82e3a67ee1d4ca960a1841f939e00d0826a3af2d5e049440736c32f994bad2a6eed0bae759515e4e96b36ec0c657e57841569f80c62cf33e9d1a8f74a5697e71e7ad9828780529b6b487419b133c0f38ed61a9908de1a393fc75c5f1f53409e1fe00104e7ddf579d24245418025e330a3a725a1fd7c01cc116f2841f35ba38d8e3d81cb805074b8f39e27b975fdb14fde600eeba33c967f4999f6cd6a16652b826fccecd45b099c0a7d07d074ebeea729654aa12e0ba2df23a3afa325044bb0d82ba15d341bf8e11d418d9dd8fe54251203688145e0632291828b9a68f832f5000c111a6149e5419f9e7cb90353c2c512ad6258d01c6e173e935173741d6ba0eb37189a5170181bf05e3a6ec7109b6d4fef73ef8ac68b1a1ae27112ef305d740dce54db1e3a8d061f26b2fb9145b8e8ceee5fa23f681fb4336d52f347a8b82a908fa666eeb320ef7397d6304e02f57ea5c4d3f433cfccf29cc67463ca8745f8c33bdebd2031a4a04db13155ecc93643a306625e9ac90fd6131ec38ea70205a9fcd7cac938c8d0757724bdbc5bafefc2827b6aac6a255f94cafa9f3d9b910a2c5424b9f07d669aaa158a9cc982c8b97978aa9168dbebba71e4057258e96942a52369b46dd28e0fb9a551bfea18612e3aa080f376911eaf6d38c9fedf9fbf7d907679221242b37dadff9986714f1c705ef3ab577df52a2552b6c27ba71a7f3ee3aae8820fd3c66d300d284dc213fdee0a63a8f0f8970c98ea381434cbea61de27ff88bbadf9adef4672e28a06181f274ca0e08b2a4227552f79bbbbd16ba189515f306c9f969a02927aaa97b8d7131105209beaf8235c3b9fdff3333d20a122a7e509a6fb30f130bfffdf7061c002b61f14c88d21007a792fbb06dc1079e2698d5da52ffa691c4017a1d7f06d44fd6f2e931c39abb2bec8be4d27dce4907806c282e6c641f3d45f82a7b7eba711f7b8c63f1789fe33bdc4bc498b9a55a6059978f698c35a3bde1197c611c93dc6388df10e00cc9079c9016c4e867ef9f0b73544846931ae409a42a0e57e571bfb00378f314d2f12ba146755f872257a91da150b5eff53bf1a8acd327d061fc1da81875ad10627a6124573b220cc598814184ee949abccae447a331834da3507f58fef8eca197ccbbd36c6b4bd707430b3996b2a088ebce5229abe38fb6c1b010fc3da2945104
+Pseudorandom shared Secret A: 34f69fe99aef7e6e83b1d45fe5573a3f76d200c27fd1119b0bd130ba0ca6bbc2
+c797000b72f761f40444dfe3e70e8e35aa00f8ed3fcc3dcb6e879a71a8f52a682b409fdbb47d27431af80520eecb7dbf5bc371228973e7ff6388a9d0fc5b54fc
+Public Key: 01e269ac434f2bf8917530bd7b211f4345c53b2236f349cd66b3003c552a01db40a61490aa9c6688eb4203f634d2d6a2ef1a6b3ec7b6bce73a660546e764bede0b6616b4ce78ca714ebbc449224ad04c0d2295659d7758e53318b5a32a095456227c09d16b27b4115387a116fb4043a0a067facc4986b3b02914b8c30a91d0929ee868ae55ec2596e1a49383ce4290c55ce92ae30070efb976a5a489a9aaaabcf7499b90adfd1262ec9389f1d4cb4e0c1c1b24915d96b7f2d00b0af61b7d1124fef09ad9c8cfc02aac32354a17a805c432779490639f7b436cd9723cab9c7ee77c99598fa0d600d6e5c477999d24284910accff9a91e432418fb49209d31b1af0557ef35c5eb045feee7bbcdea7a3349aee5c1c725a365f7ea1220f320ec1c8da3571f719b82547b862a70a5fe22b6e7f4cae03c806b7b9747a34ba0c40c0dc61b15bc8f32402fb54a5a671c05c996bbe8e4bac2828a2035aca3f946cbb63a45f5b8c598256cf0bc6b633b6183c462b50635442df2275327a11a21c0b532796f23ac7cd9ccb2d9c56c0878c6f86c0728fc60a32b1ed4a220bc20244c0babfc6276bacb0e55871f023c1eda599fe658169d3a69b590b29591cd3097451c387d2fc874439bc265270fb70b56f1ccbec0441ab24846f74043ed486dee328da0a37367c408111c060a8038d1e2351d76b2a2330120b8cf8001b5a9720ef8d1ae487827e3f9cf948a2d2a6b452e344d43f6c5ed90731079c26253cd9f064b3fc11ca5b07fbbd2b94712040c8b2e9d0666847b681a03a9b0181def150481390a407966b966652ce973a1274539238709ab2fba0702509cc31651a953641882d79ab7e97ce53cc480f66b1ef066e3277ae81737d839821fa5aa95cc37522b921a8c9f71d2b4f5c583e38ccb220c356a317087e51c8d9c05c67909b8568e218c42884314e4e91b87380b93445fd4132069a694ed03138f3092a97831eae9957387041930a2caa84e8e52546363620a59b8f8f73231d57a04296fa0c72e83f286ecf127a7a35ab895366f50a75531c97eb78e380451b972a3732a4323284c10f826bba47f39b55c3db2b8a7e8bfa84621a6c39aee1b9d5f9015550525e6f5b116727ebe095c605b6032f7ab58763dc6b2448012339a700268b6b5290a8846234bf0702941320f12ea4ba0253b27c321970485a937a0356b48e7da681c5bbb1bb617d2a46c821966301ccf93953d9d612d190808911608c9c02c2c3b2c58d532f6f4b95f09496d5141e6b10a73760104759eca4203e725a1926428bf086a8bcc74565507bdc00e2b110ddad069a32b4385774e063c8bd1b4166fc70c9e490441da5b0b564be41caa30363cb0333f01cc51fe9733fad51bb744b93945c6a39a6071d86dd066c3789c7be8c940aacb8af0e0003bcc9a267aa854d7002c647ab8e5a7d85451b1f5155fe2140677872a7c95b15b17b26572fcc33ef0d4ae5779a467712ea5994a0fd8cd118955acca03f4292aa2d4081dab43cb3c24f9c74c9256b572578d061b832895a0832c0e32394f93f537498452692b237251c314b18487e317ee8c0ef993cda7e7645f377ea513ae3eb56e52f284900cc675f9911502115d6132b238122841babba96b318c64dfe52c2536867800799e6918a916a9918a6a41a7680fd46c40b4cd94c9a6211b38fe3b7ec3d480b01c892aaa83f8b086bb27153e086620c97591817670169cbaa85e1ee7ada1b634889431d055a8ca9c9407027e884472676a0d94a884ff213b6963670b80a7bf79190b9b4d7a25a291223c7c998f1ebb8d3277b73a79c32b22923eb5adf9c8c631f46ee15c8689d8008ea6758d97c1f0747b80c91bc5bcc7eea6556b6cbe56919147e70a2f9565db8c8bd03b9f5530481179abe834c286fb84e46bbe3ff72f505ab3ae6481bc52baac2920d7a84cef473ea2054f2d8a795d7a1722e037aa71271096c0b08241fc570183c7ce60e5219046c404b5846b5828f62a992bc0759f04334871249fc530e1006c73aaafdc437debd62e102bbbff95af241b6e88076c3765c836112e800c8870676666f14331e927f5aaaecdbbaf07979761b0c378ec90be025fdc569f8fd3a2c5d42c3c4bb2d20904ae7988623975c932452ee72cc10483b0d6cdcf247667d20190a795b779773b3e67b29c1d1104cdc2f9e71ab830df2e3728727f5e1242ea6e51f15bd2c135
+Secret Key: aec39d0db94804c050a7339fcd92a06d9686d2d16b5bc62a9efb402707a97f584df55b3b85bc5ed8840fc15377eff55a0dd59610fb238a6a2813f8315e1ca4d099339f0b230ca719be229bdaf7aba2a42c6d4103b6f30e4111a16da19670698ad2668f57756dc310b622bcb60ca3a8dd44b9b11b19dc636084f61ebbdc9ca2419955502336658f4bb25e1d2455c288a68a34567505b695c3b64e8720baeb9433ba69a4b636d7c4a4d6f66856049c67b3ab71715db56672bd171114aab43147a147715cc5faafe70c5f42a628bfab70dc065dab35c78c0519447c8a863c19183b2db65a2e25b8bab1db0356129fd440c2e71b906b9cbaba0198c9745ec925ba41c86868847c76c4c866374d1e1697f13a5b27d25cdb1205aa8765282b090447b655fa868a0066e70a0a6ad61d967c45acc5b8765a69f83c8907aa8204a9c4aff82b9bfcaa88179220d9b862d60120f5234c1763dc26ad47abc7e9b132108801a7a59c854085919152ff3005cf94c63d769eaf17a69ffa3ca7025bd4309c811347c67c9807407b196210d7391dbfc216d1a8bfd820207401c2bd3044178120f1f51fa65c00cc9a441067ce8f9c2ff0c64672e6b4f06b25e81cc7838a1d7d460757a52f73b9a45d32065c507d9499262203afeaf203d9564df338b790f9b2208c50b8f1316cd110b35accf39754c23c0c6843ac606c4958b9b0b1378acc45bf0804993be741662a6ff3d7230b9c5f33c201002181d3877333932a3391aa84e06938b8283f835a7c8797680a2d623966a667110fe1c0ee6c35bb0cad088716984cafcf9026680ba43c029f26955fed9b5045c644765545dea44f56877f87c7bc6ad7aef6a16fe9a67a5e15a437813aa28a88af2082047184feb14406f9a6d6a92f32735ab097395b8aa85e470b5b1a7ff3390396816aa9548764a0489b24c16718bd07f3b9c43c3b79655ed8a80103809a01a4922cf21a92666a6a7a31902c15d895b544c2a7ec422981a40a139a79f6ea1fe1890a70e319774306c8f4464bc9cf15528802a388f8405a84847558949dbdb468eed21707069583cc912046bbe00b93bb7902bc20cb5cb4620663076ed26ee4395cabca6fd5986f0814be5716149099527b43adeeda5808d61b54d061854348b5f92b06979cd5053f11626aeaba76cdd9a1dfecb65c8961c58005eaa7cb4b45c58582bc55f59cc65c1d4d9c2fb284297553aef3a6a81d03078d8365f688ad5ceb65fa54616dc3bf456acfd06a05d506873f480f4be738f6e8827400b2cc3664a72a80bae86979a6900dcccfbe92a5a13b8da94294d37c5de6da9ba76204dfd63ffbab229cf7ccb28a4683ec7ea405c0fe6c63528655068a6723054b9f3462c0839a21fa86504987b8a2cbbf4810041a40d6faa23f594e3ab12336b780913b1206e50c72769b9708207fd42995427be9a86690d4315f79c65985351b0a9ea88bb1c2046f1e664c6ee4a89a4381d1435fbaa51c53c69bb6f43b03e7216c10102c293316682164308809eb3b6d402cff18aba75c0c7659449af31adcc6b1e2f28b1249c6bea888ce400293c8193718757952847e7973cb88c788817830f176567a5cf55ba8c2241a229a81877c371e1c3a83ca7e67f57bc67a060eb36641e109e55372a956c5660541f5ac697508b3d1e005ecd6cb4dc18d93f793f5281e4d840b7ec441a870aafc934b61a4850c854ef23773bcd07be1e94711e35362cb37196a522cbbc1430069b1fa8e00911e821964685cccd7d0344f9897bcf7bfe0372c3e85cd32f1a06451359f125cfd1319df56b51d6181ce36902dc304b6977671cb5abdeb9ff8823cdda9ba312614b3928b3cf09b83837574a91278002084f6797a6b3da2d882d0a252b8619e9c4c10b85490e3c837e67900a0cb7a8ab78f35953be4c3291de1552e695d6657beae145ec98340ab3c8d7457c7b98472934829c7f5c9f1dab93b5bbfdd552fe1d2cb54e236fc1862b6ca549f279362733434d1363975bf676317d6842ce2668c36343e3e288a51996773a70e6b383c696973e0151fe5fc2a19c840cc7c56ca33282e0962c82548aa25346d00b252b1276587a49cc64835e1b2b5056190a034f429c3a42a5c672a264b0611efd5a0fcb5461f9657735a2dcfd172f6d035ae8754a62ca5c487b501e269ac434f2bf8917530bd7b211f4345c53b2236f349cd66b3003c552a01db40a61490aa9c6688eb4203f634d2d6a2ef1a6b3ec7b6bce73a660546e764bede0b6616b4ce78ca714ebbc449224ad04c0d2295659d7758e53318b5a32a095456227c09d16b27b4115387a116fb4043a0a067facc4986b3b02914b8c30a91d0929ee868ae55ec2596e1a49383ce4290c55ce92ae30070efb976a5a489a9aaaabcf7499b90adfd1262ec9389f1d4cb4e0c1c1b24915d96b7f2d00b0af61b7d1124fef09ad9c8cfc02aac32354a17a805c432779490639f7b436cd9723cab9c7ee77c99598fa0d600d6e5c477999d24284910accff9a91e432418fb49209d31b1af0557ef35c5eb045feee7bbcdea7a3349aee5c1c725a365f7ea1220f320ec1c8da3571f719b82547b862a70a5fe22b6e7f4cae03c806b7b9747a34ba0c40c0dc61b15bc8f32402fb54a5a671c05c996bbe8e4bac2828a2035aca3f946cbb63a45f5b8c598256cf0bc6b633b6183c462b50635442df2275327a11a21c0b532796f23ac7cd9ccb2d9c56c0878c6f86c0728fc60a32b1ed4a220bc20244c0babfc6276bacb0e55871f023c1eda599fe658169d3a69b590b29591cd3097451c387d2fc874439bc265270fb70b56f1ccbec0441ab24846f74043ed486dee328da0a37367c408111c060a8038d1e2351d76b2a2330120b8cf8001b5a9720ef8d1ae487827e3f9cf948a2d2a6b452e344d43f6c5ed90731079c26253cd9f064b3fc11ca5b07fbbd2b94712040c8b2e9d0666847b681a03a9b0181def150481390a407966b966652ce973a1274539238709ab2fba0702509cc31651a953641882d79ab7e97ce53cc480f66b1ef066e3277ae81737d839821fa5aa95cc37522b921a8c9f71d2b4f5c583e38ccb220c356a317087e51c8d9c05c67909b8568e218c42884314e4e91b87380b93445fd4132069a694ed03138f3092a97831eae9957387041930a2caa84e8e52546363620a59b8f8f73231d57a04296fa0c72e83f286ecf127a7a35ab895366f50a75531c97eb78e380451b972a3732a4323284c10f826bba47f39b55c3db2b8a7e8bfa84621a6c39aee1b9d5f9015550525e6f5b116727ebe095c605b6032f7ab58763dc6b2448012339a700268b6b5290a8846234bf0702941320f12ea4ba0253b27c321970485a937a0356b48e7da681c5bbb1bb617d2a46c821966301ccf93953d9d612d190808911608c9c02c2c3b2c58d532f6f4b95f09496d5141e6b10a73760104759eca4203e725a1926428bf086a8bcc74565507bdc00e2b110ddad069a32b4385774e063c8bd1b4166fc70c9e490441da5b0b564be41caa30363cb0333f01cc51fe9733fad51bb744b93945c6a39a6071d86dd066c3789c7be8c940aacb8af0e0003bcc9a267aa854d7002c647ab8e5a7d85451b1f5155fe2140677872a7c95b15b17b26572fcc33ef0d4ae5779a467712ea5994a0fd8cd118955acca03f4292aa2d4081dab43cb3c24f9c74c9256b572578d061b832895a0832c0e32394f93f537498452692b237251c314b18487e317ee8c0ef993cda7e7645f377ea513ae3eb56e52f284900cc675f9911502115d6132b238122841babba96b318c64dfe52c2536867800799e6918a916a9918a6a41a7680fd46c40b4cd94c9a6211b38fe3b7ec3d480b01c892aaa83f8b086bb27153e086620c97591817670169cbaa85e1ee7ada1b634889431d055a8ca9c9407027e884472676a0d94a884ff213b6963670b80a7bf79190b9b4d7a25a291223c7c998f1ebb8d3277b73a79c32b22923eb5adf9c8c631f46ee15c8689d8008ea6758d97c1f0747b80c91bc5bcc7eea6556b6cbe56919147e70a2f9565db8c8bd03b9f5530481179abe834c286fb84e46bbe3ff72f505ab3ae6481bc52baac2920d7a84cef473ea2054f2d8a795d7a1722e037aa71271096c0b08241fc570183c7ce60e5219046c404b5846b5828f62a992bc0759f04334871249fc530e1006c73aaafdc437debd62e102bbbff95af241b6e88076c3765c836112e800c8870676666f14331e927f5aaaecdbbaf07979761b0c378ec90be025fdc569f8fd3a2c5d42c3c4bb2d20904ae7988623975c932452ee72cc10483b0d6cdcf247667d20190a795b779773b3e67b29c1d1104cdc2f9e71ab830df2e3728727f5e1242ea6e51f15bd2c135a71d59385989b98930852ac5f87c48562846cf76ca9787d4681f2335ca099fc02b409fdbb47d27431af80520eecb7dbf5bc371228973e7ff6388a9d0fc5b54fc
+0ec65ad5c6c8896a60835e660030c7dd4753b9265eef9abcbe1e882abd4ae007
+Ciphertext: 8043d2d200c45ce9f8d779f3e5861d2646b9db853cc9db7cda5522809cd985a15f0e5ab6002ee9f3ef91a209e4020f4d2ed6258a88c4aa2b5ee9c78b7a2f691d035fe2af4d0c9f0745013b7dce460f65e01c2ac5be0865a42ff2ef57ae6fcaa00e3e135bd34949e38decfd847ce98bf5dd9d791e571ade1d79f7030d0d448dc56e0c8d38b2e13da22dd52a3a05a837cc41a2b537f517f5a5d247028e3a8e41df4eb81f50640975cc96f4333aecab44869796de4cd94c7966927d828fb263d42bb66e3175049bad7c07d7e7b2f39a5d0a4cfff0f9dc7c3f0c6e0048cc2d41ebc5bd6117e87fd1c5e7ec845f2f91f633008729e759d6a7a62ed957795889719d6e72884f94bfec9392e4f642837f5cca61662024a66d7d89e40177bf23753635fdf53b261e7e10bdc0d9c310764f8a98e0be84f62a25a626571a035f90a0daf3ba704605cc9e8977801372522f1cd46c8f4b46e6135b469553a1a2110c21de5a37705fb2b87ee4bb5e5d18e486574e5c4f9b84b73d4c74ecf5bb53b300b1892bcb9e932ed49ce8530f00934b16e9da43659d551130610646fe97116cf3b14cc7d38f4244c0a2bae0df167ee010cf729c0c16ebf96c93b3361ec9467b853eb0bdfd85fe5c9d037a2298fa1ed5beb2c003152592f5f2608d36f5b4cf25aec6d28a27ebce5bfe78247f7baecc05c71e842ea5645feabf9277ae93d38fa7576eb6583f33e5049444d7b6acdc1f53d018256662bfbe0c5497e1d64f826589c646dbf2a649a39d52497bb77c2968aa773f3c1148055916e13dab317c30e69dd07036abe78b5cd3f43a57d4d7c06c5e4612f7ed671cb66e6d9c81c800a1cabf01c49427b589f7187ad3e9418453eac5d312b0ce1605b434bd2d7ac465034512b64987690db24bfb356c8347c2196d8b629bde16ef4f220a7ebbb2dc7353f1f3a68441225cff14c2965f4ffe2a452631f8245ebfbf4ecca154407c46318e77920b8601ac775482311bd10d62c5646b0b938b441e2b33e366cc40de8003e021de04a43cac3bee22321070c4179c16d4554dfd23b2e683af1df2e4bf91c0b95dd8baa1af59a5d6daa8c263c1d916f1c84871233835435cf634691cfd33f65a19db5081dce360aad6beb76287c414610b8cfd86067ecf6366e7de7f55fe2b93dc897e1dd6be4381747db7a6b53e2f3573a4525a97f0919d456f96b72ac5249fd88ef4b3f53c5dbbb93c3722e2b0eaafe26eba551da21e33ce0f1f94441755c94755de25b1b9875ff2d7937f6de3945e57b58519e90435ea2e1c5ba05c9e525dcb017ab7760e855b9de668603877e6104d35dfc76202cac731d8e78e686d29286764d2cc57826dbce1288ba975eaa9ee5d61a211f39049d2c61c2ac2b1d44f20f900e554e973585f2538241c4b75454d1f54fd43149f4cbdb0fc364ed6c925c841221306d5ffe1b3bafc15df28b6d08cb5ccd773fa1eda173d5a04a7e2751e8f0dafcbe91a9b9e2d7995b3f4d5355d918a13d3f8cd2bbcb010b325def7de5697c6f6c85163a604e8c4da157d924e7018b5bd735b7365268df60b7121513cba92cf09dc9c07f3dcbf14c76bc6f5b3410d8232db2ae099fbcb48c44abf2e48729604a8a54fd24b9e8355c79f1749f106955726b0e7233ffa3fb06938b7549f5e4ac1f9446451b821d646f6eee67fe1f1cd777d6ecbae87752dc1851da96d9c7e98aa0efc1766c507be3e577405a1c0c1f942012f00633ee9d37e765bd6e73b473f60fe8c01d2f1d126fd8c77fad300f295ae11d7ca42c93f1909c1246e551632bd3569f4c83aa33639ee8e2a5ce368c09b165c33cbf8b879b59fde947874093f49ebc531c3879b02e6288626c359e50f94c01c94e7dc6d0c0b30291f41f15b7eafac4054b46118ea5f534eed15cc5e657bdcf6aa743451b6413501a7077d43349ed1c8ae26701d65799bee78d51bd2d3325b58e2c7904f857af94e11de1a8c097fd1a3b5a287b48bd49cd2c652a7bbd8cabace7bafb63772c8c2d8858aef3be4b7f92d07e9f54febde42f4582e4a80b6699342626bcdcb1eb335b3bed7c4529fcf811485bb090fbb7837adca48bbd7d1303e08b79c7b6fb6af9a5654425d8b6740c541710802be1b6ead4e5b324ea911a792d7b4b6d2fee62b1b4d9afd2671b58d3645e1fb38ae505c95a872cc4aac3f58e09725a4bcc3885d578a628788647afb0e3a23fcea5c10
+Shared Secret B: b1891f2e045e2e17858249ff7084e9dc21ca4a524de2ed64d266d56b2ba86b60
+Shared Secret A: b1891f2e045e2e17858249ff7084e9dc21ca4a524de2ed64d266d56b2ba86b60
+91e30712e27be1c2f4d3923ac4de729f9483b980d35c3bdcc8a957c82cfe7ee00c6657798ff008060f790c965ce2814135259650bfe2a044f862a4feca0e0401aa388316de5218a3b6bc04b1d329a38310fc1b262e8054ae6e9c13ce1cd02b8d3afe9827c4e2dead50bcff399bfbb53e3455e61cd2fd1a58c74986e17afc1f1b36f5945ef2be4816ed82f1478bbab2ba24d7bb8880f26f65579ceb511075e8a2f6caee4dec9768db5701061ee314c0a12e05c23dbc5c88cd8c240e393a9109c4ba235abc17d87e105d34f90d8b3b97bb91356aee6a965c073fbe204ae30198fd1181e26b6cb1d5885667464117fa7243182f2329f04b0ee283b3a2821241dd8a0650659d42f0033d9fdcc2c24e07f7260193c7f0823318bf1d2bb16c63619bcb7c0560f482723e89bf1b2d05150bb5ed9c9890bdecfee6d00742350ec550361ce0152f0725c566d76f796dc27a520eb573d8b93e3d781a4ac3e253fbd399b8ff18a16275660ecad04d055e40f0db67f78e5cafc9da0020cac561e22b52c2b17f0dbba7871f0dd9bc38499cc4c17e6ad3064445c721eae27a406e13ef600ee92fac53b47adf5c031a94810d83947d18f2fa1b07c462c604fce0b7e075a03ca3e753a0792167015e8ebb860b49810fcb27c8d015fa45848fbaa598f972e67d334964ebbc392e4b269bbdd064356478583528d197bbc395f4b58b28703e745895708d251852d6d08a925450b1d4b0a56adc2d7bc05d9d29d626a6b61f49478e7a87a481bc71911f0131e1a75a78635174060d0126aade2ce1ec84c454b455bf719da78a4bdf138d3948b1a906cd03ec56b01bbe6e9f168e8d66905b318db89156df359e3e61aef3ede7a2e6db9a360d2e7a4845531ada38417d929f494af3b8e3d197bbf6a739fe528b79d0c6b3bc8c9f1e88a9acb57e1f9d13f934c123d5de7345fdfd2fd6f096d212b4f5a8ed0ba982a3d4d07ad7f628c36e2065b865baa69be080c76bcf8e7208a30e9a722fcc9f4b45961cbcc41931fc48a2ae967d52d90a121f092dd7911c2f0a81a3bd4813fa30de14b145284fb8ecfa9baed08386b393ceda556d879fbda1d88ccefc770ecb79f1d73a5f912d6654252a7f61d41ee3f5ab6cb1807b8829c94c044dfe4bda29b2b541cab8daed631e3605c97360bee1b60491685f28718a8625c0aa3876a5b64698189ebfc51adea72f7d434ba7c965c6044537c3504950b2b2e33733fe24ac4067055ee06f47ca00b7b48fa8dbd980cc622af4a5610eab9c5f6762c43f0d2ae1324eb93d67332ed62e6a8a6649897470d60e28f274483df6b4a9a2d015077d5eb924f57be7bb8701d418414d092932c458c6157e1229446de6b278ba5fcd27cbbe90174c756c5a00e09dcec873f32ab0e247219df80120a5e15d1d61868643964b37b448988e1ef01228d1d0b881160e33300774b98b8e18182768e593fd2f18e2efcda1ae873ddd1a9e974e9ca5f1fd1634a383d7f1241cfa77ea65826c6a5d73a93c9ced34848c76d39afbdb13b1f4ce21bea111a60c892fc059c7312d684b07e8eb12631906acaac1bb9301bb6b63c6a95fd9c05ccc301ad157c8d5fa4574e53ce623fd59758dcdcdd5a8c3c8556972e31f228328b28560afc5c8b8a9b33575bdd241095ec361f76f19c0b39e75fa2299d0c331ae661390dca7fad5e7bd4df3cc2103ebbf802f7352e704eba4406595f9bef2fe66ad6685c19170d7328bd0596a1e108abf092a275725e1f9284fbd10aed0fa8d94909cc07d2eef18ddab499179f3d867e380ac52a17b75fdf1d456dfc7deff2bf9b7eb4d89b7d6bfb85d788571d22d34008cae081af2cf32a8a3ae79605cf34cfb276447fd768f25d4442686cad0027845ef9d49e79deb1de2cff233447841d13fde2d72013e114ba555222d507e6105437d2af1c5477df9194e00ce99cdd07d3658c1545e9a257a7cdaeacc785b2ae71b440b71d7ba1959e7c02f4eb0576858773fb14317288fd7cc99720d32aae13f091dc42d4970fea5a43d9350fd9084f3f3cbbaf096e3bf97b96b74e5234a566127ec756c7f0ac3fef6a59c058b7ab840c568d23ffb8875f7d99396b0d384ffce5440cdf8d49ff1221043a4cd7b338e93dd65d409fc49e3910bd9b624cbe8915a8984cd6e46508d489be3296c02e5a983b0b7a227666a368e3eb6dfb10e00d110d362031377e325a638250133
+Pseudorandom shared Secret A: 7b9b78db7720732e0068a2cb66ced77cc3878141363eee28c2cce43e13938f5f
+de6a3bff9767739bbd1262e7ffe125b888322eab650acbcba114c4953fe3b5768e9c9a0a62c412f21e62be1aa7dfcada9f0437250a51eded7b961712f162e2c7
+Public Key: 896a76f7ba6d466ca421623b06eb8cdff009f4d8cebcb4c2b7b19064632442fa4a0bd67c55340ee5b92e323511e0d194978977d44b3ba934c723c80bc0781ff2c897ddd34ccfd6c8bf1bceb81285f033a2b1c381c32773187b48071a4b9b3510f9294bcd48b781e77ccee3726bd538cd27172530c721f11daea2b0f821525dc469bd7806cba5b9b0aba2e00930c1f036e7d42b7545c58249be3c60be3bc4b0146b6cb2246b73e2816a91348dbccec4fc7129305dc9625b432c2d804145d921adb78c08e8bb5de9d21905c8ab1ffa450ba24e40c23e27776a9a40bb7c44131e98c75a06306ab72c651b6d6c69571edca50b353f6b816d9a9a06e7a149f183c0b6904a2d47051598cba8a694001b5949103909636b16d83a7734627c5011a4f30f2585404a9b5b6671489a8512030b382b5867d89a91c743559cdb745cf6aa13b58ffba75aa084ab155b7bfcb8c3e24879f7db501f6a2298d23b9dc957bfa04449189d2a4252a1a3ae99692611f43a9ce481f0b01fbad52308409add27a5f60c9d081b888ed912aa7b780e924c276085ecaa345df247448b00beb0c8fa5b951bd635f2192b0e9cbb35c54b93e9b59a695254665db6c40b0eb814d8746454ab3033fa3111056de454c5e49461e6523b4950330ab510c420096c6a1604c73459da176c1430653b88173583adbcc7e7e42d23a91a491341fea49e96399c6cf83489a13f4058b88e5514f6848f34900c1e97a9fcca85d8689f975ccfe014a8fc0b1f63069dc3f3279dd918b988a45bb697cd1b1a32f4777d34744467a88363bddce8b4ed67b99a43590fc61c49746f7e71b030630ba3d38ef8c807998531a0a5372654764512239c38b3eaec8471fa8f57f7210ed7886115aef82c7eb88bb1f0d250c0dc0d99b4a737dc025db993cb4c54fdc0071e525cbcc31f5ec0cce3f18804f7450ad7a67af8b013f5c069f909da848f9ec83b4d021f9061a22e9baab0362bb20aa7668752f8773c43699dc0fb11932601c42ac1f138c52898a250679b247b5c0c4998ed98bc27a224e9274c787ca53a272b30616401155d3f7aa55bd4aa59d598a3c936e4bcbe19e34e81e5b5680a9b58b25c268c715bb47042ccb6b7dbc6e7ca8433b00a84c79ce3ebbfa0092acd2c793b3954e137391b11b064d9be06d5523ee842cc711282c970226a4cf3c03589c94ff2787e4ac685467ac3ff901feb969c448769f54798d814c936633d29ec1ccaf11df123444623c3a4881c66b550ea1cbde09cab7330492a14c4cd7a8f110b41c4f75d829576ea549fffa04257b4070a8462bca1bf8958373cd51acf1595bd3115a61b7f6ee3c97491989dd8c3985458060bb975e50681aa90322591f13197eef9614522ccab000d54dc46215c9e52c790eb41632c12097bbb0839d70e77dc184f8a9229c4391085b46383a514f2bd31ec4d26b79f230726a6a635acb8b9b803b2c7e2ad72a259ccf810479a872af2672e71295d643cb910a1129bc8732a5532a7225ad80f7f995b54200eb6f3c70c141bd7786760e2bbed7a99487b42c5f423d15705f47429b24a6685f51f61bbadb757451b84a143e256850521ce6390f1ac3c0fb07823ac27e2b32540f3b3570c592e49ca0e0b460805757164c236e2b1407c21946285483492fb94b024a545c25b07e23023bd3684b21c455cc7828f13c113cb679f39438e386494eb41dbc1711ff19859844f58299a3c39a92b58946488207324be77b1c6596b9cab30070c44c88b975ea7d0c48c6923d7c96dfb3392b0a109a551983f6ac84f4007c9a02227bc17ef06607f71ca1f8773aa9429cd1c2850a289eb0bc7333486adc142bb1a06cf457e07d33ea4c07493500008752af47435c88780d9a7cffae4b1c767afeb54953a87bd421723551373e77ab96a29ba72140153d0824de16192bccb4aa43e02dc195fdb181c3a40cc94cad2100c76430d700aad6bf126f643b7e7f184181b8aa53509662894478b6157589aa764973ef24a10c332f3ac947c3690d2332c7e5c7228e71e47286ad4737b31cc9b2d83b942e9516f6727ccf00b0d884e54da0bbcc0c1553391623baa01abac7832c1d8794a063bb2acf359a080c816672c30d613fb94534eb30cab799c5407109f167d28120c28a85ec9848c9fc9468ec9061c780fa6ce87e050f2c674f4249c0c787f1d27c7a3336334030163b3cd5d402d33c231
+Secret Key: 82e1102df02a226604fe59aa9b9567339128a6118b975193ec7834a6e0925967cf10bb12ecd12a4d639cfdc71016d886b23b5ddb0194b1940463f2cfbc994227051f5511a43c125fba74a2efec1e71c4b5f00b2fb2648461031ca121b119e41be8830bfb3a917790859e952e08a38b000503f78b58b1120da4ba84785cc2f6bc60ecf81b3058030eb520d8522ced80a0cefba84c9c3295d6cedb1701ea812f5e08a88d700e51d3133b061dd20c228c1037bbab0b9a712f85d9bea07312a4c81d0e9ca5b5333546310d0b92ca06232ab81419045bbf5763b65eda20d5f2414227c5db24cf4b71ca61227d6f0459584abb0fe06679b11773d65c7568a58fe80eacb7728466a6c2c433413b56c64b0bcd7a71b9533b6645637ad71e4ff64cd9a65d806a1e732a4699b989d4a128c966494c76ca992cb44b823bc43cc695cb247b4b91aa6837c581629f85983da60bfed99124b07484539476a99994d7bee866b65f60631f842dc7806fdfb736927a792cd72d29cb0da5191b2c8a38b29b520d474856787c2ca876bd0c918bc441e81b46b1d1c784d055161c0ba6f09e1b474cdd884c06f7b53ab6a8678b71c8ca62b0a618f321417c8950b035bc1a3473c79488e169462018513e050c021192d8e477628400edb44337b6a1a1b642c961506c425645712c002c8f2575302855aa44f62863d20c03970844008484837813ea7fff9a280306712a1266f4a88a5ebb62689776e692037e8677ae66b28ab2c88fec345e135cf1027eff9bba6382b8cdc547b09a2fac4096a9cba03188a957c5c8fde860166b0646f4525da0ba01c126e0b815a247274a6a9425b2a1127a1dbf7a1890430f34a13ada398e05d9812299b904297afba68271b4185dc26340293b0a8773937c79790b76dc9bb5502c841b1b1cd41585c57875ba25cc7976abfed9355642c32331cc56a34c23ca7912e6555ac935281bba8260811771ba12cb11dee3bed3209a2f857c95b1132628621f94676bc715bd06376650a52e84632e091cb3dbadb3998f66649f15dc975ae75c016487f6c24620c101c9f8145d20133732bb67292a42d7442f13528dd5c9d328607945342d492cd3b7ab1afbbb953348a2d8884c6c0792cb09ced1b909b800aa35c7110ca5b008741ca631f99254dad1c74176189cb96f7631828b1014a1cba09b10a4a56390eb296d42eb7746fc0ee354196367af8532a447bb23e1a6a0daa1acf3c4133ad42f281a816bb82aeeb53943e1a0e4377f1004280b14ba7e033760906335c07442955b774cb846b44444353af314ac98c08a57969251280c1a2b7c95a51fe3a687508a6e0feb85a902347a560b0a20552facaba514542a7863132412603747dd748bc0642faa566ac8757a8d6b7d9dd97a0d0007e190b8946380ca093a7092ce80a08bc3a3674535b475f2069f2a313e295acf8a5105928666d26c993756660459fe943679a5b488849b289a1f05f73af6a8cd63c3776f600fbd93b3d47459fc489b4d80c53fda399d20cc2e9645f868977190c528124370c79e4f77cc9152b360684fb1ecb537f5c35f03662eca866c229572e54394c9b724268991a318b8d8a066f27efd2133e48682c8716685017833a5b93f0a861955835e618156460c595a656765889ce9988fe4bf62b479c9da6e6a9913511bb270e30f99962074db2b72493abc50bf3ef7bf7d5c960e03cbf0c458f9028de8bb00385a5248f52154733b63b77adb0b5d67d30071d523b43a10a093cb9b57a1932304d2b131ce3c3227b17eb5a54b153b1e9eb47a02546a93081048677fc03c064a23ac57dbc99b4c46669a74a9824b4b43c29e4a9786f36ef1b8c67c101801d92822f18269dcb01a96c2d5189f2afba7e11b8034e60277b4904c8957bc3b1b9f75b9f0652f9074808b058ea7b66a8408470f603ea1f44841789c7f98222ff461fd274c2115543889a18e401a02c1bd3cb319522056c8f5b0e2300ea33c9fd1a53a68777ce8348737377671d6334c47a13f37064a70cbb945a900d43bc083c1d953a4b0644c5c52b7bfd961b621b458242d89ccaa3ed1b9eef88e02b03693e3736e3016566a975eeaa408d1b63a9a7dfb571ba450072b5898c93a9c72dc48e778beca2696fe051982a77877eacf75d98cf151746969412b671a896a76f7ba6d466ca421623b06eb8cdff009f4d8cebcb4c2b7b19064632442fa4a0bd67c55340ee5b92e323511e0d194978977d44b3ba934c723c80bc0781ff2c897ddd34ccfd6c8bf1bceb81285f033a2b1c381c32773187b48071a4b9b3510f9294bcd48b781e77ccee3726bd538cd27172530c721f11daea2b0f821525dc469bd7806cba5b9b0aba2e00930c1f036e7d42b7545c58249be3c60be3bc4b0146b6cb2246b73e2816a91348dbccec4fc7129305dc9625b432c2d804145d921adb78c08e8bb5de9d21905c8ab1ffa450ba24e40c23e27776a9a40bb7c44131e98c75a06306ab72c651b6d6c69571edca50b353f6b816d9a9a06e7a149f183c0b6904a2d47051598cba8a694001b5949103909636b16d83a7734627c5011a4f30f2585404a9b5b6671489a8512030b382b5867d89a91c743559cdb745cf6aa13b58ffba75aa084ab155b7bfcb8c3e24879f7db501f6a2298d23b9dc957bfa04449189d2a4252a1a3ae99692611f43a9ce481f0b01fbad52308409add27a5f60c9d081b888ed912aa7b780e924c276085ecaa345df247448b00beb0c8fa5b951bd635f2192b0e9cbb35c54b93e9b59a695254665db6c40b0eb814d8746454ab3033fa3111056de454c5e49461e6523b4950330ab510c420096c6a1604c73459da176c1430653b88173583adbcc7e7e42d23a91a491341fea49e96399c6cf83489a13f4058b88e5514f6848f34900c1e97a9fcca85d8689f975ccfe014a8fc0b1f63069dc3f3279dd918b988a45bb697cd1b1a32f4777d34744467a88363bddce8b4ed67b99a43590fc61c49746f7e71b030630ba3d38ef8c807998531a0a5372654764512239c38b3eaec8471fa8f57f7210ed7886115aef82c7eb88bb1f0d250c0dc0d99b4a737dc025db993cb4c54fdc0071e525cbcc31f5ec0cce3f18804f7450ad7a67af8b013f5c069f909da848f9ec83b4d021f9061a22e9baab0362bb20aa7668752f8773c43699dc0fb11932601c42ac1f138c52898a250679b247b5c0c4998ed98bc27a224e9274c787ca53a272b30616401155d3f7aa55bd4aa59d598a3c936e4bcbe19e34e81e5b5680a9b58b25c268c715bb47042ccb6b7dbc6e7ca8433b00a84c79ce3ebbfa0092acd2c793b3954e137391b11b064d9be06d5523ee842cc711282c970226a4cf3c03589c94ff2787e4ac685467ac3ff901feb969c448769f54798d814c936633d29ec1ccaf11df123444623c3a4881c66b550ea1cbde09cab7330492a14c4cd7a8f110b41c4f75d829576ea549fffa04257b4070a8462bca1bf8958373cd51acf1595bd3115a61b7f6ee3c97491989dd8c3985458060bb975e50681aa90322591f13197eef9614522ccab000d54dc46215c9e52c790eb41632c12097bbb0839d70e77dc184f8a9229c4391085b46383a514f2bd31ec4d26b79f230726a6a635acb8b9b803b2c7e2ad72a259ccf810479a872af2672e71295d643cb910a1129bc8732a5532a7225ad80f7f995b54200eb6f3c70c141bd7786760e2bbed7a99487b42c5f423d15705f47429b24a6685f51f61bbadb757451b84a143e256850521ce6390f1ac3c0fb07823ac27e2b32540f3b3570c592e49ca0e0b460805757164c236e2b1407c21946285483492fb94b024a545c25b07e23023bd3684b21c455cc7828f13c113cb679f39438e386494eb41dbc1711ff19859844f58299a3c39a92b58946488207324be77b1c6596b9cab30070c44c88b975ea7d0c48c6923d7c96dfb3392b0a109a551983f6ac84f4007c9a02227bc17ef06607f71ca1f8773aa9429cd1c2850a289eb0bc7333486adc142bb1a06cf457e07d33ea4c07493500008752af47435c88780d9a7cffae4b1c767afeb54953a87bd421723551373e77ab96a29ba72140153d0824de16192bccb4aa43e02dc195fdb181c3a40cc94cad2100c76430d700aad6bf126f643b7e7f184181b8aa53509662894478b6157589aa764973ef24a10c332f3ac947c3690d2332c7e5c7228e71e47286ad4737b31cc9b2d83b942e9516f6727ccf00b0d884e54da0bbcc0c1553391623baa01abac7832c1d8794a063bb2acf359a080c816672c30d613fb94534eb30cab799c5407109f167d28120c28a85ec9848c9fc9468ec9061c780fa6ce87e050f2c674f4249c0c787f1d27c7a3336334030163b3cd5d402d33c2312e625a18b3bd51006a8167c7e99e82a9903da72be811fb487633286c56031fb18e9c9a0a62c412f21e62be1aa7dfcada9f0437250a51eded7b961712f162e2c7
+8e1ffd5c73c9ba7de943d6e7eeae55f4db5edf2eb1e43b217adf87a3b2e6a063
+Ciphertext: 0a30db1a0b07e370e46fca838d923bbc992c85b37702275df9c15b2af6ea583b12421cea9bc5d1741a1fca74e64773591c228909eab5bc33b336ce6684e6927288910371d4906dbcfbb86673ab7d09651dc99a6a2ec5d952d577210051861404eaa55edc3f5b13c00617909a7aac15a163d78e7d345fafa05747070fee76010fc5a760d804298f375905cae6751ca5a552c50fa83b0afd09a56ea62e924fb542e26cc53a1413e74b015d9707966d4043814f92462c529052f1af234aff8845d59c9267a9fa0ab8f4bdccdba2aa60e380ca325204f3c037045cc813592e1495fbbaf56f20efed5f91113f8906068184da6172a6a17567a606cd0d42eb26f0c709eb3f152b5ef5ac59e60ddae155cc54cffc7a596ef5e2c2d1147571ebdde8b4d3c77a2135dfd41fcaf07f69d5dad10838c409df32d3767347714ff2f9fd07cf259930d9198d925c1a09f786736d906d1e5e8b8794daa319f3f2f26301f77ed90c1e2883d76c4bc600f1cb7203e78f53820f58bc10570a4a8cd553c8e4f273da17fc9691bb2a285ad44819a86d9fec0095bbf1f9e2ae998f6f723efabaa5725979ff1ab854b86a7c8d9147e9504424e87d9d10d8361fffcde56936c76b3e65fdab9eaa5a7d8f2ae5853ccf1aedd7220f4352f91b5a11dc9aa1421cb5bd76041bf0c076c693103eab73bf21fa763af1454eb52851122f0ad93e8531ab4139c7fab1899ddb4294410e9d527bdbd047b9b14914893e5a3f832bcc7bb78aebc4c00954e58687e0d5a0814570168e45086a68d4a058f3b0e1f434d5e575ae6e5c8162de37e51addc26d667c342cf8808323388399869996a2b261771ddd487206d38adeb987ba201313c837a2b6d77a9cbfa1c87b9726daa88db846eeeca87f61ed3896f871449668b2f44f79fcf0ff05a84e4637cbc6084a26fe7c97914895f9a094f168039e019e80081455899b5d9f3de080343f3ecbf9622a5a38507bab7b9627706046ab06c59595339540daad1f6c3bce7ba471eaae95ac4e17c2e1ac029821ab9b6cb83a65845847ea346a60047c13d59f4e64f63b7788377023a653e72fbc1abe045b393ba4d2b88911c3a29f094d595b9f51eaa612fea8928f6704049871f028a9ccc0035c34d26bd0c9361d5dd3b6fe836890fff9c48055e32a4769efbe2f3ba8232dbaeb5a695cbde506b1b79df210fc9a178c3b3b58fdf5089498b31d07b92ad6724999948d1d6c7b0d2c6d39aa11d88ff46901bcbc028b1439bdcbdab9ed582da9a393c6bf6b4f45302ccd43ed42da7b08d385624d0a6366c9575bacf6b2ee2dc47fd91ff9a7b08db2891e013104cb2c197ab45f4f2a11599ffd88fa35aa9e2dc11b21512db26b9a113181189b65d341c69cc6e6de45374bb789335a6b68598a640296f6948807d48a360dd78de40353609b76ad8dbbdabd7501098d039ddc1ab46355022ba543b5e18069a1efecf0e9c612d684ac8fdd4a1689b94f36a49e22f7f5230dd11bb03ac8cd7dc753d6e9ea6e2d18a9cd3b1894844a3e77c29cffe5e42bbe1eae4abc9f3c6050412708fc525fba3d92bc23c9ac844555b33ae0e550236e5b800768fb530a90539f785d21f90ca7eb5d18d8272666bf5e1a578aa1429a9d386b2679cb0ec5df4c99fd676c5b5345d41bfbab2490fb41dca8c7f0ab4f56eb83a58f71f2458afb26c7bff4c15d5e1eb9dcd2c1edac2ac3bb4ae7e4de79aec594af22f19b203506b5d8a6e636d561d533ed8ee14f5e0d1435fdad6eeb95a5f7f60b9cf1d469fc85414339e8f5c33c9dd906660b7c72b77e2f52552685510c7c455ee798d00065cec85fa444dd30d5c18a1f0518b71144cd4f91e41f0d95db57c704c931b79daf4bc3faa8dc7fdaa32c5a34097a1774263d973d95a7f3cd8e739b6f8a0ec2a5af25bcbe46c88cf595d003ac9d3f420dc9a01cd62df83b61f7061d63e0f743b187648e4803e3f2fccca6b878835620c5e05cc8554fe49a3fd17a4f31fb397ed12a1b6bd6fc78e1016912595947978bba7a33b917fc2a40dc036e1c90927872c4943cf624dffa8a435cf0bb90bfa878a529ad1b9011891bab670257232fdde5fb35a4b81a92a5947affb3792443729f2a82235d47ca81a7a52ca55c1a197105b5cbdb59d5dd12b02fa7171c33ea84746f2dc62a2b627cc99ec43172bea3fc4f39000b4a4c35b80c1ffd6e105e8ab6de8e1d638c75bf
+Shared Secret B: 33a00fbaf0576fe9cf2d88544c8a9a688bf437aacade4dfd60df31d8e54ae4a6
+Shared Secret A: 33a00fbaf0576fe9cf2d88544c8a9a688bf437aacade4dfd60df31d8e54ae4a6
+2621d674dc46b84ed5ec855dd027c36679561260211cc27e1c6978e0962adbb62e08da026087c36c684cd6b6bfd73733986f9d38e9064e96b02ff6e2ed418affa4db6d69094b9e09299379f9081c4bf3a163dc1b775890a6bf641ae4b08eda21521e46cc77f086251a0985ea3e96e091924d92fc914550c28acdf132c06d7d977d103f9026a0bb9afd5d1f16d86b0d9a66475ee82aaf4ad562cf086d73ad100832a26b41874dd65ec7478ee9ebe553c86d5e2263601ebd6174003f2545ab70d28628982cbaaa26bdf1cca1a8c3b3cf715bbe456a107514a2ee38e2515d79e1c579afa14032c6d3691f7ee5df438389b5854f11679eecbc29bf683f6d05dd310e6b6566ec7f12d307480d00b4528173b26ed5808138c1396f6b970b4d088ba4c4c254c7bb0cfaea8218180db2b648d5f27ac27d6429e112ff30f5080a32c09b0932c37f0be9ddee3aeb384a41209973f7142b12d3b37438cb4bf851d34b206aca3973f52293bb52b84910fc3fa2c409e54ecf62b2e2d6bad1990d5d158ef3d0a559c0ee175ccd0631da3f2e88635e404b8b44508ed98657638dccef1d4d61d6686ffa7e603280232e413faa3fb7d46710ee476567cdd06a53eb8956a3fd3aa1c190e9810860916525dad43d243916ae132859743337cde37256a77576b956fbcd5848556c6749e688ce1156c623eb0a746388ec59a6ac3fa04334fbb9b61895153ff980c8b63478cf873cb779796b9c71966ba46a17848b19269ee062a125315d764030c0608ceba4981f0a1e06d01467e4fabcdd8bcbb35a13dcc88008bfe815263618b46d2646726b6504183dde036c9d38d193b93272959629a5bd513fe008751d9b009890bc1bf6d78844471b7a4034ec747bee449bd62461de274e434c32131fc29c365a6b22530b047269920ae4cf016bf6ae9bc80e2cf0fe37000e818247875744807a9a56bae863468c3c96a4df35333cf4f2a22efd60aa1dd8798e17b01efdc2bee1531e1a5c2f0c1262cb464ed1defd4c2111764f103bd23a7c50065fce9943aec3a9a5abfefe1e2ac214b9254888fe2f6545d13c9e748042cd629cb13b73cc8d48329988b948f39450792bec2b87cf0151594df97f6d4645c6a7fb169107f5ff0d9218f2f4d4d3cdefa7cac1a3a28cf236407dfc285d60c1836f7c7a8d5da53accc8bfbc1b2f7d8658ffd72a19cc9a36228373e73550f7957cf8ae371318cf833c6c0b7d9c5cccbcf0c18dff6c74f083925f269c0a71305d44ffefad4cae307a12eaf567c8ab9623ca316adc9eff6b2f4dd8b8bcaaa98ecec3b648f3c41caf7e5091e0b50bf8d54b43efd1ac610b1b83a67aa445779f67f85dc4a88ca7299004e2e9612c6473fa3b3b04cca2531bec3c7c6328117c3406b76aa6d978069ca174157fc00a2d2880c13c7f714a47d6be21e249c19f901777b0305248557c233d9b86854224147998c875ae2d6509c91cd7ae6311e280a99c9a5d5d6c4a12054d0566d5164c3a6f31568876086fc933616cbc1beef3b68b53017c4bd5a133fd8a3a11afd09cc6b68fa9a851f0be69428e724a69f06d3b5b0aedef3cfc65e0711eb7abc4ca8aa12cb33d0b47ff5839cf5b3d97ca0037064b7b8a7609f9a695550b19c570f7c8610045d8a70694c6d517686b295508f202200b981f73288a0b959a9dd8f083efb274ab68e02bfcf675e123dfa2ab5edd8d827c6824dc4c8da5d1d4f8765e98080a99c29569f17e8bb10307d84cd57cb80b013b986377b41c089c8aee83abeac63b2a92246fb96561aa87010c821d44989be8d3bda53655a087ca7a70fca2c924941de320f58311ffb34b70d725d669db7cafe9d4e06c8ca4eaee83f98014f58f8e1b5edb34359695809e24fefab2effbc5e7ffcd89685d66f36ef1e0f7379983bfe7955edfadc65a9569f838fac34635c2a7c702459c905d471a6cb373a1e2d66955330e20ab7d99582aa65ee1215606e95812acb39503042623c92577858630a1993a23afe67c190bc354c6129618871b51380daee30a20eacb67d84a085093a582f10d744fed810996ca7d352b9cd1ea2532bdf5e32bee4d408fe7e9f523a642fcfa19e029caeef2a610a1e5e3cacba8ba88562c6eab6a999f1960bd026fc1916bf681e926821138834a2dbf687813e844a149141bca34bb715efa55f3783d02ecf1572d7c9a0f04fbbd39469cd9c0ffee45382a471d
+Pseudorandom shared Secret A: 9df0754c48978e7a9b0f3546030cf937b35ee81de6b7f5af771fae26df76d477
+0d8cb7e1f0e252a52a17842374e89efd14d2b39d672dd1a336028e28f4bf771b63a95c7cf988b4457fc9527bb631d18eafc16a2ca9f264b466c8ab6e8279bd90
+Public Key: 230524a4097ffe649ec8b91e0b8877eb0cc9a4c8adddc696b277cebdb5b4db6121e8f1748b01ab5428739de5a7f0e675ecb59e2adaa683e6b689670dc88a83d2aa6d47d6187c5a0a99324e2aa565cb127a35b756549338f6cb3f41525f32d4c271523df96823aa946633466cce0a2005a3cd4d6833b625bd600592ad707b43db320dfb1059fab9fdc6cd2ba5076107556c6bac4fe757008aad864245be659217ab1e52b9630f029e066c8454707d2487a009f20ad61679b527984960892a4797b7c6156b86650b6368eb1599ef676902752d2a7cade30983b10413bb34122690b192e1a2b7e137b2f4bbaee562d187623c556b9da7cde0a32f6a19755b03c091810b54a2822567bff2b6c7cd2a08d2a400e246cabdac6bd623913441a1f7c34c3e2763ef058ed505b577d61969e295dc290a90e6144d96b0282578b24012ccd7406123b60d080a6224a975247160e6761d930946396d57f7c0d5fccf05f35a8700b37a2908fe9b77f908cf9d84639284914a065ea186498fa5751bc36800c269f1ba13198a9fc1420603eb3b0d6744730a2d79637ee4a49924a32420c410c578ad65c4a54b223e3e683140b37f21da22ed021707a37ce8248736ecaea344bdc926189c469961e52228f24638141d638bc877b2beabd41f0326b133122848621afa9691e282bfafb3b5a11618faa54aeb3a9b5b17c242221fd47197112c66300a9bb6154e0fd32a7eec1b0d2c087736896e5c55bdd936be974efd193c65fcb9dac65c864b902b004083eab1b16c1b865144b04bbebcb99d80018d9851cb48d21e5903269ca6354be61bce90055fc38f80751655b7c207bb6a1e458a1586477a124d97961fbd0cc08f6bbea282cfe5aa9b72a23e3ae37322a798ff2952993a73042129e6398e51372a26888f37ac93333846aa6b17f3c75f4eea590709a0e2207f5aac8f41b911d0b67aa9a86aaca2955f13351b6aa3ba1534f02511c892bb3f642d5054a26c11c815702ddc4689d928bfaf43354c0cba73da0ce7381f43488483242edb343c585426117ab6d1babf5e75be74cb3c9b3771f3122613ab142dfca2b6f3563ce001246426a730a8ea338751b84305824b371b11e2b05b85da0b1c82553ab0896b305d9990c173e09651c62d0e8803c9c902d4140840881abf13aef5a41b78d5ce115ca71b72b4818011a213cca4c96689b30e018cc12cfc09b7a0a4392b50e5150f71435be3547b6a753c2148721839864ca63fb86c6e73309fc97679fd5878fa8b189b540da0d5408c6c15a0f950a5e83ea8d4267934691b52a5706b9ae279c852786e43c88a05e246adc308de2a93d7934165325c433b7022764f20a0551aac2fca5ba7036b8ba2a86d0261874f2003fc26384f2a00530738a5722c994a8feb81ba7fa60a4681674be4563eeb63eba1692c34951a61508ca94a7ff56cdf81c66c1ca14eb0ac24794a458167b9490ef056a94672877a85164df51ef6f119247099317173ae24be1aa093110c4db8dc24740838b8a894c64bb15e15b700bb973f11af693cbb0156070eebc06ab50af7470850cc0e8d5b746c04829e0c4a9107c06ef92fe0c15566785e78873794088a116123b1e1a4ebfa5bfee997479c0ac5fa5873039b290c6f3839189ba42a640b8326274cb4b8ad2af02b91b4c930d55ede83af09d546d9c7536fd07cd31034999a5fee55c72ec8bdb787b0069a6d4c67cf5f67b5a2388de4c1b7631126c00a0ed509818b8c96bb01521703c06ecbc8fa3858d7165ac50519332012829643164259bfd4a3a00c12c280c98a684815775b278878553296b4b33844257304a66781e7179d3b2c7a183e14f70c7e7157190a0cdb233ba78b6afb24af657712d8c32ae8978be2dc7c780cb45c747a96ccbefe9b628e612eab873a7410c41abb8597d553699c10b913955ce9cc702a8a06d5329ec48597b97031b5ad965a8de05c964e168183947ae9c76f74121840d15ca3a70ab05b00db0c061b48138a355380c14db0e850d9a00c9803cdeab1822ec9afd1035b15418e7a5b608437213566c5f205b920e05f3367b149ba38267a8ef26b395ae56c06e07b2177871b7b48ea3810bdbc7262e90472804698a2c27c105d24286bf8806d2e536c93b13345433069d744e2db5a984170445704a2274d098cb57d0e45452711cc97c7780da7b1ea5583c2a7c3b88b3e62ed758cc8e2b1
+Secret Key: c9774460661602a508836724acbc466a8070eef87f6c3a869eba1c4397c9d245b15714b05200bdfafcafe6133dbfd71be2f49fe51a29afa30a4feca61f6bb37722b561e530e8462ceaa55a42e4c731234f9d1c6bc0e6537ba1b381b20f25847a2fd31e2a28857156654ca56c7d607d7e3522094343509a339bf551e4987947b2217bc9c0b6627fa72897efc408d6830f759718e74192c651a244bb6c15186c3e4ba8ab4a741d59a144950f225741f56429ba245067f909621b4d668ba2d56350fa4940f38008a8a65ee75cabffda056b59c74779452f57377ac99157d747887452e46728be7c919dac4961a993b1f61b5f102a5410033338b92f5599cbf03ff89b49bed79ae98021569c266911cc9da98604996f862135439ba72a69b3a315777df348a8a79e50fa2ce2281d5082706064a2a8b476a6f9c96a9ac393cbb72d373cfa51c03feb01926c6efc9a685b689beb23cbbad33b3ef04ee3f50dc67246feb35d2f1c530eab3e61f7620cac6462a059329c1c3890011fd4cd51353138f7b7c07b78c90c9532ab1d13c2408ac9b397619c4f7a8cda936015371313f146a00bca2de24986139649480eb584c1c8f24589baa0630a8fce4a8261a057d26c7880a4193cda30e2824a64963f62253525078418c83bfa270fe8b9819a206d25a3ce297c73bd81563421aaf6613a89f1a2fe876c26c153e8600d1b3a54b846ad1bca7961354b1f618c39796a64b72cb76b71cd1c8f98b35968d90a0e0302efa6a4cf38b2e3d41895e087ff174d28dac49b4a7f5b4188be7ac03a315cc5cbb16773a8983296f9fa5b2115ab66a67ce9b76aa519476959c013a8173796ab29dcc90bcc7748c061fb229767e2b94376601584a930db22e7d0c7b8191e6300b92384680983359bc885be7aaf1b215d8e6a331e320398c558817a6ac39a5cf6d436fa1c2b848143693aa68b22a55871b11ef32a4d45c5c453bd74043009c36a61aa157fe24288c1105621743cca1839b9cce1a39c5086874ee4ba5a7524857a75767086e6dc8011461bf4a77889c58b22cb32a0453b931954394bc8f8796a4ee5abdaf51e7d09521dfb91391452b9db9caf95868a1451df5226bd971a6abb5e8fa5b5e6378eb474c8abb9a5a44b197213336e4356c9096892cc9ecb03578e8a2a1925cad5ecb5e9fb696856847d25694c82badb81781afb1f495c67d321091e81170c0947d9a0c41a4830bf2132a4b2389f5c2b03d3343d68c8dc436e95c227b6cb554f6c2a7d14550c251d9083b07b25c6cd827f9ec7417f58478807609ef64bc64289fe79718385a000d4b18c3640cfa880cd8b92bbdb28f8a0ae1a0c8ab019b410bc8e6953a12e9754f3773a10118803f47025221a6854afc098035e35b8dd9b6136c6406750ae532078098c7a09b196ec678b5825aacf4969067bcb17722580a73eee836876516fc7c0320df30128c0ab5de4546e28190f4c99467171e1067f4d87ce35c58ebf8934902949b32b4ea6a533fd20248de819c310433a07bb7c3788f326ccd05c1491380380d2214f149a148262e1f672e1e44b6f64ca4a83b10edc1690685f3be841d574cb7a9569f3eb23efe84a467b51e2804a31f0bb51ec031025482ba45c0b1a0ce29674aef34b31b69f79c67882807285e559c5f26235c62c27aa215402ad0ba0469d97888b9849ff776b57d5c89830bbe84c5c1dd961b322696fb0384f0126a0e27a59730dbcb765360927836a9416587a570794f02bbf193267426044be333c713a86fe9b19bcd15b53f362e5f29e247a1bbc64a6e8133f6e5c68df6cb2de692e9a96be2a7a1cf7352483139bc9196acc0436cd8b644550cbb23730c9b8ab68bac76f383f66684614e08280751791d96e48f330c0a13717a0be2ba1c4b2bb9001943a5062a9f01a0b36cbae1709c09b8153a23b81ab299b1f7050fd9846812c56464b4b57b603b98013796097a5fb392e007dc36c9514a42d86fc80ac2bc956497bbef45119761b00f4403a369540b1cdedc780a1053100a11dc57b2cafc98146a5a24df390c96c431d5a8a9da5c47fccc853164e00f72c440a2c54857f9134b13cb861f6c4b9f44b2558752cf6ab6acd6732dc34aa5c2375834bb870eb23263383a10852553a445913a72540c0f9e529c1d6cc7ad45613505e230524a4097ffe649ec8b91e0b8877eb0cc9a4c8adddc696b277cebdb5b4db6121e8f1748b01ab5428739de5a7f0e675ecb59e2adaa683e6b689670dc88a83d2aa6d47d6187c5a0a99324e2aa565cb127a35b756549338f6cb3f41525f32d4c271523df96823aa946633466cce0a2005a3cd4d6833b625bd600592ad707b43db320dfb1059fab9fdc6cd2ba5076107556c6bac4fe757008aad864245be659217ab1e52b9630f029e066c8454707d2487a009f20ad61679b527984960892a4797b7c6156b86650b6368eb1599ef676902752d2a7cade30983b10413bb34122690b192e1a2b7e137b2f4bbaee562d187623c556b9da7cde0a32f6a19755b03c091810b54a2822567bff2b6c7cd2a08d2a400e246cabdac6bd623913441a1f7c34c3e2763ef058ed505b577d61969e295dc290a90e6144d96b0282578b24012ccd7406123b60d080a6224a975247160e6761d930946396d57f7c0d5fccf05f35a8700b37a2908fe9b77f908cf9d84639284914a065ea186498fa5751bc36800c269f1ba13198a9fc1420603eb3b0d6744730a2d79637ee4a49924a32420c410c578ad65c4a54b223e3e683140b37f21da22ed021707a37ce8248736ecaea344bdc926189c469961e52228f24638141d638bc877b2beabd41f0326b133122848621afa9691e282bfafb3b5a11618faa54aeb3a9b5b17c242221fd47197112c66300a9bb6154e0fd32a7eec1b0d2c087736896e5c55bdd936be974efd193c65fcb9dac65c864b902b004083eab1b16c1b865144b04bbebcb99d80018d9851cb48d21e5903269ca6354be61bce90055fc38f80751655b7c207bb6a1e458a1586477a124d97961fbd0cc08f6bbea282cfe5aa9b72a23e3ae37322a798ff2952993a73042129e6398e51372a26888f37ac93333846aa6b17f3c75f4eea590709a0e2207f5aac8f41b911d0b67aa9a86aaca2955f13351b6aa3ba1534f02511c892bb3f642d5054a26c11c815702ddc4689d928bfaf43354c0cba73da0ce7381f43488483242edb343c585426117ab6d1babf5e75be74cb3c9b3771f3122613ab142dfca2b6f3563ce001246426a730a8ea338751b84305824b371b11e2b05b85da0b1c82553ab0896b305d9990c173e09651c62d0e8803c9c902d4140840881abf13aef5a41b78d5ce115ca71b72b4818011a213cca4c96689b30e018cc12cfc09b7a0a4392b50e5150f71435be3547b6a753c2148721839864ca63fb86c6e73309fc97679fd5878fa8b189b540da0d5408c6c15a0f950a5e83ea8d4267934691b52a5706b9ae279c852786e43c88a05e246adc308de2a93d7934165325c433b7022764f20a0551aac2fca5ba7036b8ba2a86d0261874f2003fc26384f2a00530738a5722c994a8feb81ba7fa60a4681674be4563eeb63eba1692c34951a61508ca94a7ff56cdf81c66c1ca14eb0ac24794a458167b9490ef056a94672877a85164df51ef6f119247099317173ae24be1aa093110c4db8dc24740838b8a894c64bb15e15b700bb973f11af693cbb0156070eebc06ab50af7470850cc0e8d5b746c04829e0c4a9107c06ef92fe0c15566785e78873794088a116123b1e1a4ebfa5bfee997479c0ac5fa5873039b290c6f3839189ba42a640b8326274cb4b8ad2af02b91b4c930d55ede83af09d546d9c7536fd07cd31034999a5fee55c72ec8bdb787b0069a6d4c67cf5f67b5a2388de4c1b7631126c00a0ed509818b8c96bb01521703c06ecbc8fa3858d7165ac50519332012829643164259bfd4a3a00c12c280c98a684815775b278878553296b4b33844257304a66781e7179d3b2c7a183e14f70c7e7157190a0cdb233ba78b6afb24af657712d8c32ae8978be2dc7c780cb45c747a96ccbefe9b628e612eab873a7410c41abb8597d553699c10b913955ce9cc702a8a06d5329ec48597b97031b5ad965a8de05c964e168183947ae9c76f74121840d15ca3a70ab05b00db0c061b48138a355380c14db0e850d9a00c9803cdeab1822ec9afd1035b15418e7a5b608437213566c5f205b920e05f3367b149ba38267a8ef26b395ae56c06e07b2177871b7b48ea3810bdbc7262e90472804698a2c27c105d24286bf8806d2e536c93b13345433069d744e2db5a984170445704a2274d098cb57d0e45452711cc97c7780da7b1ea5583c2a7c3b88b3e62ed758cc8e2b150b118b1c25c62e96383a044f985bb7615ad84d73ec5a345e2fa3e55762f447863a95c7cf988b4457fc9527bb631d18eafc16a2ca9f264b466c8ab6e8279bd90
+6842037f8a2707483041739b2451c058ddd1091c4b6e971f40370ed784a5d966
+Ciphertext: 66bc49d94f761fa2836fe3e148fcb4eac08e1badad7862d4872f5dc9f96db70d038c52eaa661ab62f63cfddce53c86b541185e8dab4c8350851af7a8aaa67dea7b645e8ed3d9d93f366d18334b881cb932d0223712db30009d13e27f175cc0862a7b00148abd9a1c3c44169dc99e863da46e808364338f29f96644714514d0952a5de8f89e5df973c852170ea777cefb87dad88892a360f20f2df2581d545932e082d6fe0c6a24befed807bc6d01c224594f3c36a84099f176e220aefcf7d106799de9455f65ebf316ce57299ec2051e49ece94ba1f486acea290a72fcf68fdcaf23e739a264858c09628f0a29e554ea4307ece954a0c1a27f841c5b2ffe5cae4cde23aa02ea4077beee544630b7d055d99de4300498a9b53ec91842d5756909ab6f6035bec27bc766d2558b164e34a9863ac0af5d9bf3ff6fe437d42bae383117ea17308ac485036fdacff7a398c47255d758202e474be0e1b78a9cfd3f0250ad644990a6ebe1619cc0bcfd85e643b1bc823f8079bfeda1e884d447bb382fd9e25ba64fed078eb01022047c87caca3d29487d2dd88284d03ad05732716df21c677935b7d55dcec1a238884584d496da9fcdef50687900b4023b1e9e58fd11f6929e20cbabc79aed237ab7af57b8b0d289465ff04e273e5418088dba652e8e1a384dd89e4b5ef838ca218341724f6f954f0ed0763866755e5b00fdc3aeb28e8a51bdb03e08dc160c9e148b5f1461531f7d501c7af2875370a2e82ac6ec27cfdd0e5bb00231cf65af5bc9329dd128eb201f84dc47b5825a14185522630dcfe91ac54514efed40feefa7c7a0c21b6e832f0638be140025448e58dea682d44ccfeacd439c53ad6c63a0037a45df1ee56a4bdb52e30b2f6cacf626c41f10113cc6cb736cb935ce6f1ea235f1271f817b31c42ae03623232be32c45e8aed8924c263dc3309deb11ce18d8db5a4092646ca2f9a78e827fa759d95cad07f2ec69fd0b96eb1e53dca08f0dfa1b7485a52226a3f9f91cccba4dffe250c5da38d434ed5f1be9d4fa609845ecea8bf193f6032a25ba31185afe8808a2211accd3477f949897e5a4213e181608fc93a64ac0c85be608c8d554a474b217a306ed7e9c29124ef8410736c01ab0194eb6d906069f749d4968b2fb66ff89bad67c9455da60781d67f0af57155f3bb743c81ef3c9323c216f0d8de4935e4f2f086f47d5136444a863f4d78b4b8c837d744ba26a2c7d0ad61d6f5c8d856504c9402c447588a312c48ce8a1044bc50b1e6df58a7547e7f314ebbe5fd6092e677fa322b65c3dbe5e2132f9ff31fc332eaa842a5fe88b1aaa1417cb979e35ac31af508bb8d7229ad6ebdd944bd103b6d11408768e6551a264294be55374b10c852a477c2280152fcac313f4c00665dd6f604bf1f64aa8a3765d06cb4aa3581c161f134af080f758e64509f446db9847b467dc625cc8a3b31413b163b0269c4e3106f1c20095fe3f69a3989562448814a199edea0282150bfc2e2de9bd9bd9757a695960c784a28c23d9490113e780fd8462853af509e4379a5e4048aebc39af0a5e8a1c78e31ef8ba9aa9237fb3d23f076430c1f6801b33fdb006e296925a700a0c083688e24c844f6e3ea985d353f8968731c8fe38ea9c10035ae70770ca6625c25fc3d14e6fa429913de410ad395895978cf641094459b9e434dff626739c2edd61603c49fe4efb66f6c5ea30e3c249f0256f2e74818b0037338108276796b870ccd05073e87bfaed97ea6f1110562e29903e766ad16b23066bf9ebed48e60b766b9dc739890a53e047e94e37018f7c75e2611cbdb0261f987b608fbfe7d7b1ee25ba92473f9371bb0b0c5556b7144d8cda6a6a6e5f5c6f0595e8ab292faba69c3e173e43b5939003c635c79f702deac8cc4330f376098d3bf570d7e1d57699787f7ceb734953a92c3a9427b28f8bd59b3630949920f915754f09291e79c7c4537cd3aa1292157593bd6dea881d62f2cd90a5cfb6faa55f5f9317b4f042ec39a6f22a5eab813e5e9aa80f655fdd31c0bf2da5ea1127d2833164813b86e37f0f6b449436ea7b15bed37e65ef39ce6a23340bb87f7a664fafed895c225f0e9a8a6808133490c541a6eaaecc31741ea240ab03d28fb4cfe38d4534c610d96481d9d76f8b549641c16d8a6fa215881124c91b88da5ea8d12e431f6095de8ef539b9111f5805c712bb7f266c
+Shared Secret B: 22eab926c7b42ad8f57efc94c512bd1b35dc879629ab22e9010ea2cd60ae1c31
+Shared Secret A: 22eab926c7b42ad8f57efc94c512bd1b35dc879629ab22e9010ea2cd60ae1c31
+acd86d95d878ac8e1d1772097bdc5353812422855a79bd8b28fd7ecbc4f3064b620719f6b1fdf5c32ccdc7ab70a199723750954850578e08f19dc8976a61d683efcacf5b356c27cb16bf32951af20cb6aebbdec2bc8969ee2019431ebd476016847e1ed792a884b74dd0ea486da1ce81371ebd1374842b7caf281a74904eaa6c7b87365eed30c834c70526deeb7f6c2331c6426c2d572f51e3ba824bddf9eebd7d869a4a20325eff715a2fcedd907b8a4fb55c869399aaed052dbf2b719ac8d006e9dc5b070e814c753c1c1c128fe0671415f55d238dac9e368560975ce1e50eed2d1744f4a4e98ddb6b879fad00af411066d388efa8b1bc0fde51a6ededd60b62b8d145b7d80d8258c741a8e872219d667e0fc2ff9807051c67f527b344898902b3fe8eb18f7d2939f13e171f403aeed9e874a475dc532125d4ab0b1140e9ffa849a6bec70a617fc4f9f8a58c28b51f98ad13bc70fdc5d0e688ac14bad096521b42abaecc4a278d79ebb4b8479700af7459c33a0275300248d29016f8b26f616fa0c07c94168fd5a660cf924bbca2dd4193df381425e0f64a735d9e990b5478bdb64ecda3f04a6479bc3f7421db2b91d5bbf59e18380a0fa0a7de8e210c34ea7dea0eb169d4dcc08ea195c69e1039140f3d7b56f51827a756800f2ef295412f56e5025516eb837564b949988706c1886c367352f5e55c5479e503a87d0b06e1b2eadbe5431bbf04866a80a394a799be281cb1cbc4db637118f68a502fed96bb940d202b73ebac8c77e7d78a2fc16a39d73615106dd8966688efde4f72be62d5acbdd19fc2f571b8452124254eca714281b44279db63568cabec1fbd0640766df81f92c64941c696522ecb2a7012ea66220c081a31ed6aa457209bf365f5b8ed82e80a4cea2d3889dfab6706a04d7e53fac0fd96bcf4b9f932198bd0da40afead526ab8c26afa5581648c0a8a8073b2fc66961669f31388e7521cc41248b66c1d673d4428cae7534f094d60b4c5b492da4966ceccabd2dc71a9a4f83609f78480a62c07f8f5ccc18f270892c55e0245564ff35a13546adf9ac0a42de3545e9b428ec8a91f7bced3f4e3310d49f12918dbe4abe1e8d203cbfda62fa49b61598ea0933cab3f8bfc2a654bf319c01ee91a3fb00d7d5627a73df7f8f60e1b00270f4bbe75634b32ad2ed369e61fd59624f27a8b16de8dc1042df9aaeac2da18070468b6a034127b64220e46a555d7b44cd62127d4a6d6aed6ffa4795f69eb911a8f477546bb4316ecba9915b24ba63a1cdaeab1ae7ae416a2c62ba197686264a9f046c97c997dcd7402bda07d0337e87a9892d15041273504ba6b23fa98092a7baee606df302f38d9abb6e585fefa390d9332563ba5a8680b4137612bd333e68f7e381478d92f86549d300e947d2f69aef7fae8a1f3fec93cf6eddb982dd1aff22d1fa1981fe15054d2b455be6814118002b12cd7672ab7977f2963c3744372ad17c69298e9d9aa298b1bf848e0518b04dba7bf503bc9c5e0c0438adc9e9ff72eb1ce965b19f3173c474bc53394645a922a876c44152a8188607d02cbe1931fde957bc6b3d80a939feb94afa6acae9fe967ede2fe3460c9fafa148049a56e741a2fb311030bb7ec8e8f77d75c9dfa7098cf538b69de9642c42388e6d12c5fc7b8048876fc49b1709eb227390948b3acc7180b051c42f80dda69d82de880de260b9468ff85f2e9534d5344ada5512639dedebd8c330eda4992875ed5f37ca20a9fb4fb9bb898255a5f6074915a451b2f5197cccc8e6a9346a03c35d4275a3cdb38f673e95f561f2decc4a935879ce809c34d98e52aa7a812af7514bd5d4b526019691158f89b45cbda29ddfe55aeb91a8def415a471d0cc475e1abd0b548bab09c89e098aee891f508b45f05a5cf144d9822b400ccdd89079ce28c0312b5585339075b6c244f126a81cd487ec81da2ba6a93016aa2ee76dad288037962beef1e86500c98c5f8de77eeaf6b96176234727a3e63103145a8a54c5d322dcc95d600ef7a1563c695222b26f92e056e628c1e5c2ff36d78a26d22fb39bc7d2393cdec6c2ce3837b0abbd103d406f90f9e67489a352843ac5cf8076551c04c4917e1ac54380f2444b90d188e431c1878af2fc7dbd632009807b228ad1b78cc262403ce8db118c895621d09e8e5f61287f59048dada68fd7182df60904ae47b71e1da7dbc18e
+Pseudorandom shared Secret A: 33113a6622bb9fd7493284b4c502d7f87bde7e32628c91bf73316035e8e7b323
+56b414d850585e9fa1cac8b7360f20dda96c8fe32a6fb416b4aeb50a6261b2a9f69783397f75638e5abeed1ae2b8a2c2e6597024161b216607c6070fdfab6c73
+Public Key: 36052f3957c69252bccc10cbdb05693562074727c4c3f436ceb455805b90e81c23fa8687e2d1154ff1113f474bd9447c287964a80394fb2257efa734bdc90dbf9c19f4c03d72c741f4ca7f7ed581b52a70df40683e11041ba750b0072b310b158f092a1047642a6ac6a1243f229977930ab8feec9d1b7c9a5e4a42910aade613b92f563e58299f1c524f3912a93b049a4639c712472082736841018099fc1e3fd8ba38fb8c6333a3468a5a1828a64ac4a0f661574ddcc199356d7e8a8f4585bbbcfb682228105ed5449876b8e9e79858a0497bb796848380ef0154c5133e8b44547ac98ca513919b8ac7bf12550b34c7da537cd7c0aea398248fc44a3be8c7ef9594e7078253f095a6743937d223fb70b325bba2459267e5f95f700a85d4c956bf31bd04765b2b1457752c549f5701ac84cfbe76b6fd6c6d629cbe0ffa702da62017d724e313c051fc8eb25b46e40b2311f8c569b1880d446a3729b8e10251631691b7f46288c58ea16789f5fb0cfadb85e02b6f5217205d43856fb0542f151ed37c3ceeb9c5cea678ad888daf84a87ef51a5e736232dab42e69b24cba5db51754988361cd8b89e80a4371a42e470b556450423df6cd7c022335b3b327ea9d2aa4079da65319b4cfb8a23c5b68b966c53a4afc0195530043732d64530fa22a0f592c672621b1c0c60181c0085739371f6632765184f21c8286822defb706ffe9597083b08d242d68d47f0208b4a86461aa015e07e39511f01e89809e385b9f16b673ae75682a9b2e1d20201874af36c608b69c5b44854dd0673a19c4837264a3332c2e2ff27696c1b15b78152cfa08cbcc624ef25d06787a0fa43211e5715f566c4f5a14aeb97492c92b5ec2a489d91486011b4f31224f4b15b125ae5ab50300466fee955d7840b13be90681ec0c92667f6a9845f66953f659ca7b2642c68120f8f0238a20968ce9b87a284254590a01ab9598ea27be4261941a1c354631a234ad9b76b4ade20b86dc394089bd02a1c331a6a9751b9987b5c0469750403c5a2ff953e105603ac29967b6a0fe77789f0aa13fc8759544105c0b370325596d7ca2ef9c3cbaa34c41c799c5e399eb449c47b7aced16b1e3eb94f8a6761aa55795214aa6e9b1ee8b677d8a7ab7b608b0b460de64121c535652c15bbcb6ca09ba435ed2477307747e40094c2087abf97a6a638bd4a77d4625a121f935cea14e8790bf3eb4bb021158c87b8a83216b4fba1b57e37776432bff3857df8a8380449b19e34d3374a99808191cc8151140935f10b365db380419794dcb76ea6b8eeba621eba25979a9b9f3e5040c417015c334df558fb64322d4c6cfba767a56e7bdbcfbcca8cc230dea3e5d0b09ae808e73571eaf227a4ed5c28e0a73d5f29a6fdc7fe1aa5751528be4b824db5c960429971fd202be817acb73cb0f08979c109f3a214eb492b0efd532cc68c62d283adf3238de229d14b982911922e97b767efa25d564265f988506d72cb1e6a1c0768a30166e2d74041769b4d6988ef66829cb3774483c9d6c716a78f156d330ae83244b38f92b95cc108642678d6919b05b3fdfcc0bb27c3572122a2684a11bbc0d1dbb76ef34c00b70c0bd103e8506bb39b80f453b096f0019579a1401c3c6889c286f168358479c15119d9d291fb8580409c10882fc755b886014c10d2a09985535be2b20422c7963f2e23ceb7388ef8735f033a596133ead29352da317ee2196fa4c40886b182ec4bd475353a4d5b497f3502182b285534a9dababd1d88add51b4bd40523618b0655988cfe813a1532be36b31b5b36efcb5b1ec3c2f2b567b25da2d1ce99d02bb1872f2cf47f7bd103057c8217ae199a1e62186a9f53cd9c84235f19277fc40a9755fd476a15842669ab636ca096f52f4c0b9098ab0c4665ce0307aa21bb04bbc26f3cd999352ce7732cae90a939c0043b21596e72f3d54849c078f4b9b46668b356cd664537c59d947330443b55a94386356ab1a6b6844570d03cb71c3c37fea36a0e2e85f165b7d45740b70523d3f12ade8b9005192a56f2373b4f42717c653bd8309ad454f934c5e8e3522a82490a8a8c86394c3ce5459e0e83d24f080ef8254e39c07acfa3fc5476f19789af1e40541f2b5bf978abe2a7d60e37881b90a9e969e121acc83b003d2da610c5a384418cfda35134388cddeebe9d54af2e5bc1f1ddf70fe0781c37b682e89a43811
+Secret Key: c9288ec93484efb6145017c65d851cdfc6a8d8c3749c1858132b613a33a9ad5988345583d67b10dd0a68019724b76c4e8d63a41b6860ea4c7efca65f69a813d07243b7cacbc0ea7f56530fb6b1c2d379b074ea6464239c0c1a3d9e1270b24142a3ec0155b194a1333e28bb59c76630c676c3d7b8211877a1b24ab7e79116f9c9cae8204d2a129aa9d18767fc069b932f21b6968de7cec05072a5dc7df5880b9e860480b045602b903bf6453e22389a2a6dc8193cb0ea69f2d0315bcb3d4dc25514343f29ca6369a27a994a8015a79dd4c78259909f3bf3576f35afedd40ccddb794937c7533b8d09c383dc2b0226a0c7848c4eee906a669c9e93ec200e303093fab14891ce2024794cbab621a91b7c7924af691ac782b8b9569252640ecda1ae1bd1564dab47078cc39ce3cde645205fa7a64aa1b9118313d7714ea3f9a2cd918074f27e3b19cf810a60d682521f7147aca71ba4624de5215d45d424b8678a2339008cb71711e72452879133643ae602078ea065d7872e8071b1c9b61a44825200cd0f8039cd4f40a92548ae4138232b4593bc010a6d9c3907926ed46770aa385c0c5875b8e13ee4a66a2be6c4184146c1c61b465409e5aa17f7abc052124ef0aa9d358b93b211cb4dcc36d06908fab4a2e198be2453bcb483915a0a3798b4cb59f6230acaafd75528115a566a92cc370417b3818a2899aecef91786da87d255560e79574d7b4866c9287179ae09362c737691aac486eea323bd99687fa33b356086d00485981733d6c091e82acc31f9ce9f141d2ce912a1d71488e3570af641f22365ebfa2c60170ee3087dd47b9a4820baae74133405132d752dd364c969a134397ca30af9bc2263ca06225fbef05434b87be5b071a7b31003322c787162dedba12fc28b6980c9c6e2889958ad3ed47d7d5b82c2355a6ee047b48c7d78b3aca9975272f4baacd8107440c4da58c0147213e6eb7e37d27b796925b2a332678c1b3010394948b4a22ca0b75156b01a244663451343443b2c756b572891830473985d4b4c63d15641d74176ac9ccf09b00f1d896d48033bbe477f69287917fa844c093bc9e81c3eb624cbc827031471442795ef5b1cd25b92f6c109367c2483e8979f77a9cf6759bea01337760a10fa1c7c304162457ca842baca5b30c4685c5c7bcf84798924d545daeac6893badb0fb953f519886bc818c75c36b093223040e1536a6eb2a91d9612bdf906db84caaae5c350db221d6725848ab55ecf53617fb3aff100190593039428c1bf49412b46420eca6046b61bda183e5053871f31c71409960cbce7a0221d0052152b90f3801072222c270db4bb277b945188fa8d96356054f8d8209f9105a4d5105097974efe60a0b09831948982b7164e36a5b03f17b8191372ff94032421ac0a47e9b22b2a7686f4f67abe2d107647911c0fcafd8135a07e6180da74dc0c4018967a7216424707a72ade8ad007183e463709092b17fb0cc40b660e2ca943c1b8ed9e45e052c4720480e2fd2adfd3b6445a6505f555edaa508e69478c8a0988c883fa35ba3d693ace5448c4c05a777b71e4ac57d37bb1a11b544a466505c42b902e84eb5e17a62924c851016bc25073a141aa3984190f2c6a33b10cc49123d054a6cbc0454eb5b66c005a833a686657eba2a66a5213351e0c39a426f48b4a04eab1087d6baa04710392b1daf429791d975e5d98b09f7ca37c0b25c851b3093b05619289235430089200c01b79aa9a1bc9322f63ca2a3394417acbb34d0a8417b0c673491de5069b7000d687b8bfcb1977933af346814b4e7251d04c5ab686bd69c1736ec05aed0cfa8c53afa568f0c8129e0d84b5c905e1754313ba476d2e493c0c2415b197a6346021ea5c621243600459cc28c6ea0ea23d04a87f17bc222bcce5b8082c67c671dcb300ab89673b09a1390761db2510f08d0aee88ffc617095075ce3e818ab157eff030381350beaa2a50214af8db10d4ce2cf56da9ca6985482e69c4dbc018fc5460ef53d0a66c9a8c331dd309f4ad42677884acd8788d6e40a9ea796160a2a5a9599b2e22d79516dfdecb323f6ae9a726e4ee108994474add4cb91684ee54256c82210bcc80f9cc9ae32536512c708fcf60b435525f1e92957e72112f167ec545c8a1151c4d91a1978b706aa0836052f3957c69252bccc10cbdb05693562074727c4c3f436ceb455805b90e81c23fa8687e2d1154ff1113f474bd9447c287964a80394fb2257efa734bdc90dbf9c19f4c03d72c741f4ca7f7ed581b52a70df40683e11041ba750b0072b310b158f092a1047642a6ac6a1243f229977930ab8feec9d1b7c9a5e4a42910aade613b92f563e58299f1c524f3912a93b049a4639c712472082736841018099fc1e3fd8ba38fb8c6333a3468a5a1828a64ac4a0f661574ddcc199356d7e8a8f4585bbbcfb682228105ed5449876b8e9e79858a0497bb796848380ef0154c5133e8b44547ac98ca513919b8ac7bf12550b34c7da537cd7c0aea398248fc44a3be8c7ef9594e7078253f095a6743937d223fb70b325bba2459267e5f95f700a85d4c956bf31bd04765b2b1457752c549f5701ac84cfbe76b6fd6c6d629cbe0ffa702da62017d724e313c051fc8eb25b46e40b2311f8c569b1880d446a3729b8e10251631691b7f46288c58ea16789f5fb0cfadb85e02b6f5217205d43856fb0542f151ed37c3ceeb9c5cea678ad888daf84a87ef51a5e736232dab42e69b24cba5db51754988361cd8b89e80a4371a42e470b556450423df6cd7c022335b3b327ea9d2aa4079da65319b4cfb8a23c5b68b966c53a4afc0195530043732d64530fa22a0f592c672621b1c0c60181c0085739371f6632765184f21c8286822defb706ffe9597083b08d242d68d47f0208b4a86461aa015e07e39511f01e89809e385b9f16b673ae75682a9b2e1d20201874af36c608b69c5b44854dd0673a19c4837264a3332c2e2ff27696c1b15b78152cfa08cbcc624ef25d06787a0fa43211e5715f566c4f5a14aeb97492c92b5ec2a489d91486011b4f31224f4b15b125ae5ab50300466fee955d7840b13be90681ec0c92667f6a9845f66953f659ca7b2642c68120f8f0238a20968ce9b87a284254590a01ab9598ea27be4261941a1c354631a234ad9b76b4ade20b86dc394089bd02a1c331a6a9751b9987b5c0469750403c5a2ff953e105603ac29967b6a0fe77789f0aa13fc8759544105c0b370325596d7ca2ef9c3cbaa34c41c799c5e399eb449c47b7aced16b1e3eb94f8a6761aa55795214aa6e9b1ee8b677d8a7ab7b608b0b460de64121c535652c15bbcb6ca09ba435ed2477307747e40094c2087abf97a6a638bd4a77d4625a121f935cea14e8790bf3eb4bb021158c87b8a83216b4fba1b57e37776432bff3857df8a8380449b19e34d3374a99808191cc8151140935f10b365db380419794dcb76ea6b8eeba621eba25979a9b9f3e5040c417015c334df558fb64322d4c6cfba767a56e7bdbcfbcca8cc230dea3e5d0b09ae808e73571eaf227a4ed5c28e0a73d5f29a6fdc7fe1aa5751528be4b824db5c960429971fd202be817acb73cb0f08979c109f3a214eb492b0efd532cc68c62d283adf3238de229d14b982911922e97b767efa25d564265f988506d72cb1e6a1c0768a30166e2d74041769b4d6988ef66829cb3774483c9d6c716a78f156d330ae83244b38f92b95cc108642678d6919b05b3fdfcc0bb27c3572122a2684a11bbc0d1dbb76ef34c00b70c0bd103e8506bb39b80f453b096f0019579a1401c3c6889c286f168358479c15119d9d291fb8580409c10882fc755b886014c10d2a09985535be2b20422c7963f2e23ceb7388ef8735f033a596133ead29352da317ee2196fa4c40886b182ec4bd475353a4d5b497f3502182b285534a9dababd1d88add51b4bd40523618b0655988cfe813a1532be36b31b5b36efcb5b1ec3c2f2b567b25da2d1ce99d02bb1872f2cf47f7bd103057c8217ae199a1e62186a9f53cd9c84235f19277fc40a9755fd476a15842669ab636ca096f52f4c0b9098ab0c4665ce0307aa21bb04bbc26f3cd999352ce7732cae90a939c0043b21596e72f3d54849c078f4b9b46668b356cd664537c59d947330443b55a94386356ab1a6b6844570d03cb71c3c37fea36a0e2e85f165b7d45740b70523d3f12ade8b9005192a56f2373b4f42717c653bd8309ad454f934c5e8e3522a82490a8a8c86394c3ce5459e0e83d24f080ef8254e39c07acfa3fc5476f19789af1e40541f2b5bf978abe2a7d60e37881b90a9e969e121acc83b003d2da610c5a384418cfda35134388cddeebe9d54af2e5bc1f1ddf70fe0781c37b682e89a438116e4ba09a61da4017d09f2e39edff6aa2f782341d3c4b5227e832c4a0a65fb5e4f69783397f75638e5abeed1ae2b8a2c2e6597024161b216607c6070fdfab6c73
+649e286ea8c9a6f13e47af0fd32c5fc4b4a61eb4ec9d35b40511fb369f475ddc
+Ciphertext: 665e74261f117cb52e23ed79ed003d0949db7ce4230e98e47630988c08879f896f71d9a6ee1e42f35aba19714a187a8813859f85011963a8ef1cbf7a7c29e5ba7d298559e056bb099303edc4de26aebb89dedeb72be0d75b5127acf6d18cbbf36b108b2a721be0dac1e68224e3e587254ee72f0d60cc3f22e439dacb11829a4ccdf4ac379ef774adb115f52423483de3f65f466ac7cadb68839aaf0842c8276e49fc30de7dcff2d78415322e92cb1ddf9634f00e42d9b3dd896857cfcae7ab3566f6cc98d3df6d8dd242f9e166e758914b6827f100511b957050f7e6bc2c129b316318a88e5339d405b7d4c47240633b53e26ba672bd4ee5d3ac5bc08698f1ba498218de6a3c20d41adb2ce54e4b2631864009fef5b2bfc8b77ab1f5431c5fd0ba161d6c06b6ab30f18a1ad5edb33b5c64c2734f61fe6c70172193c303d68280ae408ff914311118f50710caa7bc164bde82f28f4169b647156198fa6773eb5fe50c45c2ab7537173d88614c16b8b1a9f06f31b7489c627bd1c5efbf9bad27cffd663ec3a4fe8c5d5bcff28a7aeb5a5afe3cb995b32634027c177169297b5ad0c5ac441a9f861f33d8a080277030524ca983bde61dd79522c785e6ca2c3b0804417f6c741acf10d14a9fbf6370dc3be5bfafee509882e1026c8fe2d44e9f9c4a53d3e03f3363fe67a7c5b6033179a6aac8407e1582dc8a74726644719e7f33ce3a7e1c9cf82a34ac9443e15ca482ddf52df428b8668a221386fd226ac7ed9c95232831bbdfd2c3ce25043b98874e357d5470b3212c9dd76104a74bab6d8a57de49cbf8c33ef53396186d44813aec3ba75368cf7a5b9dd087d3720140b353d1cfa0cdb3617598ef879439afd7e9a49fbe5c13b0185e9b0daf0d259e9098965b931eae22def92582ac627b27f6155c99ddc976cf028f63822194c26aa01a4b7a65c742f7ad9ed8ff3f0225d43d9a2ea94e0053b6560cfcd659c1327e2e5b3be427fc488339dc2dd99b04fe3723938eed3b6e794495f75d265e789ead164b8fbbee0f8efbb6b4484f9ba543de70e5a639e02d0f3f95c6798953c3e7e99f0031b577aea6c5b66834fec07bb03779ce487564a00ad22a011265e3ba3908899b413088915b4fd00650453889f0519e28ab24a4b70eae35ee8ff1e57bafb030ca40496d2152f7899e522bd757acaf54c69bd76a7435b5a5f19e57a0b86f8374dda231aff2367e0f9bda98434ea0e48b16a6459d6fcab9c7556f501328bb8bf93765e8d2d0480e60d79bce5bbaddd2b9d10e9ae7a86510f2388dec9353f82c2cb16579823bce05e4ca72678be46b64214926d88de744b687950c8428cfadfc95d500c41c9644c9da24db5c200b939acc0e2099f60da856dd31df520568e43e0db732131b6feb02ecff1c3ce7db6c747c706d1fdee9294913f69d63fc42cdcef1ec109e07b37a777b984e91dbb8ea1bd16699c8012371d098e35dacdb1d92ea5ba27803af0e9e1bdbd78a31989e086d4e38b5679b217b77016a71db04ad2511ad7c4e142f19802b5dc5dc4eab57e9f12bb955df4ebde9fa86f1d1b4793a8b292ac46f099afc6580c3d23d9415ea3ae6004367f946938484c63837e8e883b9f5cfeee24ee8284d65aa2b3f94faf820c4f1685642ecdbe407ede577cf70efe90c89f5b1fab0bbbfb29e1655bc0fa29063aa90c6bc60cdf2c44fdfcb27942bdd93464359aaa343fede73c1793892b5a59c4845c712b574d0ca1ce94b638025a4c2e5f80568bcc89f58ac6c175eb959c6e167eb187f27ea094e64a971944405906499cebeb094b03c0a8c8d9c0e54e3a93543c1ece8abe0c78851438280c0138e376ee22235f4f4184425772b48eeb96d1de9733d69b5a9ae5345d4b430042428c479edd611f5e9d02d6a3d0615a193d9d4ff51c91149bbda5cd984ce0246f9d28d5b9ee8df59a805b4070ce04f259afc948262467d5aeb0ed531d82dd67ea12ae97f539f395be7eca331f48eb4df12200e430a799523c8f136615a50fde0f95ca868d58b6cd5e3689a5cfb10ae6e3649a0add57e92bfbf5a47b92d131a6de11b68cebfc7b35abdf1d94892481387e90c3410bc65c0c37c445cbf2b4b106f0f327eb405535621dc66db357a2dcf4e29db6ea2011d0b9a52bdd747f7c7bde23320f03a1fe19fd5a6ce02e3f21d03580639c6d29d1bd4314ef1ced39a2287292422f8021513e603
+Shared Secret B: 22b382f07c259e63658a8c3d74b4a2e9901a9e4add8bc04cab3fa4cfe5708b2a
+Shared Secret A: 22b382f07c259e63658a8c3d74b4a2e9901a9e4add8bc04cab3fa4cfe5708b2a
+b5edb426ac5f3a30d6304ab62b6287dd77c1dedcc8a818d54b0b12fae794e3471fbaa9f57a02de9a0f4208b2e1dec50bb9b20293cd611bdfa96843d1c2dcd72de3705046437d7469f243070a3122f5b4c69916cad45229d9e2edaa0a7c8c5267f4ca8281ad2bd612cf0e00a0f76669c4b12229f222fed5cb01e0c67c2848af0d0b87b24c4fb8cac87f90f7b1012f79c885e2c0c35f29148de9a4b798615553741f5dce325b22a94e6f97aa93e0cc6904e6dbf9f96a6cd3e49d33fab7fb67e01fa8a0116194e469cb3519dfdad40d0b1de2e7ecb2777a4961e785ac8bcb33794364c6b2ba17ff28a91586bf01b1c271a2bae3fa9df694737a3b40834e5bf4f0ee4ff7593df8d5bd6a6a8c6f14ab941d53d8ebcd4be18b20a97e05812c4a0b0ec278c4472f7f507039771cfbaed5de5ec55855bdc191826e045d29d36ae43b9d6c220288d2a28cf64b1b16ba44c045f5776673a181e9e8a963561c76e0f508752fbfab5b0c805aa4641551be16b151842bda11dd5f8c9f1873714aee60dc49594f6de24142254717e201bf83ffebfed177b306129a5f1976e923806b0afaee05806696123cd54f0bfd2f43c79e5725670f3ef7dbdffea3969e02b2d8c29617a2914cac2a972dd950baca743a02cef7563bdd67fa8571e924825f95ac74819ab788185fece26f4a069f678d7fc4b530b5bf7f396e73e3997e987d3271eda6e582407103d497485bce53cbf15ca47374c227470ee43954011a0dc1f20b6a49632f0a8b4ecb8352284f8d6740c440cbf048333f82783387ab842824dff92ce8253d1a295be2d10b0193ef3749394a58bad5a505e815178f13ff6c9ca03b2b466aad44cd8b9ef5607b089c604eb2598800b2f8a68b5e7bc56d3d64987e88f5256f5c71d4564457150b5f713a3dee7436e05a9c43789e22b24ff7f896f5afe8c80e294276c14c1ef714cf94e5ba11b3f99e16d0afdcd0181cdaf94f617e41417d8c5b11830dd047629bdfe31c916494f1dd3d70a15f20ded2911cd26cda23bf643720c45630b1c8afc80ea92b1de13bc6f8d7f4c0afa4de4008e02cdd5ae6eec904cc5a306c7b4494de7c4c0df71b7abce33141b60930dacce1a79e8415c3e39e8468d256b11b14b5e22645f1c8642840e2eb7bc7c98c2af5865def525a057401cac7df99912a21e141639ba53b1ebab1fc3cc1124a36a285173785a67560df3810b6097a403d5889dd3d1c3e3fe79013a6fe871bf66c3f6749701bc25d07a6497b4e5e5f854492de24c5329ef360a6b4dfc0da4061958f146d9a98610f46b2415e575fcbbaea52de3f96513866eab5ffca0729f9b5f2a75d3248aaf03a751f8917d5d952ce108527fe3fe71371e3266c0bd51c93a076678ef7d92d5ae53167e98642b7b190a93b51c015f365ce071586555b623beb3ebdd85db0eb2e6a0720d2f77c37042baefd4dd8a596df2cd0ad655a9c111983ae650d5cfb53c229f17ea56dff0723bc28db840d7cfc8be14481c11eb7c98aaf0d0eed32c96d0823ac3d2fe62a262309d0fd1de71e6fdd7fe79b5441fb877278dfd451e49e0505ffb3b0679d78df1eca1f2296035d0d643c388ca1e88617e36a56e53a1b190539e82471aedb1ed4d9a4ef3d78452409775b48cd6eeb69a25295e54bfd54373828ec5703ef813cdd64768ed159e6829386acfec714f80df38a045a04e191328ea6f176ce920e6ddfa6ebeb38de68fafd572449643e3680d6105e2bec1f870df22632e8bd0f546137f40f1ef85122cdfea96391b48746125a664359cd50bf6a3e792ef955adfe9d82e69ffcd45dfe08c25f1242dbc0df4c6b3f2489115eccf948b4a2e9ab5cbfff78755b951eb424eb952fec8f239fcc9a297c28a78dd3888c95544b17b7b1440865d86ec49185653352dc845b5985e0d2e3ee546b9e8f0de3538ac50276d5491eef6783b62cd2a8affa78d17e335c91bf052ed1c2314b44ce205ca95568f5149dd9c520d0607567f65956c506349ca58e11da6c32d655b6df818362949b62b1ab9213e187ac9509c814d447ca3f552735b51b23e1575158bcafe78f439fe2c8c2306fc55319bb4e77e16b9852c807a2e6a1b310cf8c840f8598d2cd97d9148c4da6e8ca82021960e1abf58408acb9d8d5263004e6cbb0f2674b32a407cc806183c4b29e12a79270d76a7494c1934f56fa42c1a974471beedeaca01bfe781f271cd3
+Pseudorandom shared Secret A: fc082ab24c6f74100d6166a240d2bd5c4fe232c949d8581e25b417514746755f
+061a8faf2145ae80b85a03f01ec93de56513526c2b0f80a284acf8da60bfdd4bfab0b4eaf18500c83fc8ac13de836f99dba743a46dbe115dfb06396cc232731c
+Public Key: 739991554a8e4dab63de6382a292a654b4b5ad53507ceba0de82ccdcbabff1781d8ba5a806d8c1f8072a9c662340bb826280a644214dbc933f0c552cb2a9bed4d38dc3d5a52aa088316566b5313dec12974ef3bf26803f3656889d397d57e618d7134b4ab017b1f0978518449fbb16869b11399b9f44ca39d830b306f7c0f4f027dc272af5814cb80c3519432edb769726781bf80435fd73127c13af20667e7ddb5bc3219cec5490ee4bc6ba931e18e02b0e9358490c4efa600355da3b58c89c2c60020de7a2da09702b1ac579fab16706ab2cec5e520c916f7c91706482d3096c15c5a720898bd6814597387e5687c162c50d9f22177ca8470184c111b22a2d824f6e4001d5b59d788240daf2953963c8254bb68114b7c90651e8e33a1109c402f84e818c8d9867bcf2832b18c5b5f9233f61265699415829387cb767315d459d6b718ed4d64a8c2a42a63347921207aeac2051599f0be68d299825cfe3878f53a13b2c7bcb8765d5e5ae2b04649ce8bbf4098b6adb9e26fc8c617a3fc427cca44a00b997c0ce4a2f8f3006aa57a578c3c042396205e34d696a6acd1c1a827261b9d11aeab0b920c288a6885b862002958b1304923ad4d46aaa839229f9b817759b08b60aaac4a98881319426aaba88ae3a704bb689b319d6b7b06663f713c6502388e6928348f7626ad04198305ff800296509ce9a864ba7c18476d13c4e43be5ea1c43cbc0323215607c616c40b118433a728646647b43e661a9e5970976db4a2ea261585961823771f2dc6a676177c39598472f0262042c82c956bbd3c71a0882471a01ff114bc2dd41211e32f96a8257e2b8240050318f09882e72b7dfa055242884425c7656270007b33ed511cc6b684fe521ec4c82c4944451e939f02618aceb935ec308e62a6a733f519ae0286f4ab6e59d3b451901428f72e1d64b7ef06b41d29b9b3636767ea9e57fb98cdd752f613acd32bad09ab2478ea89efd65d0a28c2c5b9bcaba8b68f18ce116b1bb6c1776d763ac72b0deb2730ea742bb31422a4d118629ca89b33a4d76ac4e2371e439b82c39b8bf6b6bb2f81ab0b857d93902e222224f14c1250dc9ac9b80c1b1b3a21044d1e67aa7d022e147b5590da52ca6408d9f80159054c8b4048e9358e1b45323f502454235abcf9897cac46065b09ed92718fa642c4f532607154176b22427458e972a5b08746af1b86676ab5c5717082e627807766e3d73082e96ec0173372f51862331a79ba3ff67a6dd4118a2b50ce88616267d110bbbb9a59b04fa4b883076918f6855321b97306089e5a6723ca2467618b44345377d1f1be715637e5c06b17989eba496f3e9b9fc7ea231ce9088402a1eed64fa3f562c1892ef33b44c462aec351ac217ac886751e97a11a79276173f69d456a11df41178eca0fd086912e7aa782e57f14a916fa35939129671f5611c856275f104d243b855030b29b705a96cba9fd12603973b66e8531da78b80dbaad33a28ba8a3afc52c78f0f93176b51592566a63a3a0c640b9d0ebc892ac50f926675d62a51a48cdb866695e20610e813522eb8312582919a10e7eb95161eb296d8276c61cad39e57d44b8c99c63b4bf64a08e30422810746b50305ab98b3d3c6365e681f3649e771210cb23c2270782d4a4b6a18c3c4abb0b4524b78503ba0078097575ac35482b4626bcfdc32d3014747c4b4f7d84c4f7b343586a25d9c77d1ba55e9b5c7f7b1a73d4b70d6da5b30a456fa460bc559c9f5212888531245195a34518047fd8ac573c94344816fa2cbcfef2bd2174c21e54280e306224a81ada17ad09d83ed3f6252201136679a820ca9c18994773057846a4afe9ca7faaa2513504ccac94675c22217c9c4880f76e6de718004686338c3c72ea732706093ed43a2abb30dc4a3c0ee02aaf241758b6858f83169e5ba515cb6a0c30336fb84d38e915897b13e3b7b99d084b5296700425c96a31b125796975e5455f9cae5fbc4688619b702c1faf248ec804058dc1ba71659696c2bbe2f26ead611dd3e9560b8024a2e42221112b19d2bc6b827d2a9b2fed8658d674617304520bda019c19623dd317fbb86492dca99ba35b72556dd368147ac50ff7b92a4edc745ce8a1633519fbe0138f16a416342f7d341beab66952b16014b08ab2e451d571cbb90f8ff51f07785ee68f6a3cd92320a6209a91286378e072c4a6af158d19d9d7
+Secret Key: 63cb2364d6bed194398c3159ad970f0948c8496a00a40739d5e30d3aa52c900624c60614450751f595c4eb532c97f16283138c0a0c4cf4b60e60fb39b1eca8f39a5b07a9886f5889f120318b08b0cac34290a1b44e9465a7f50f847527edf321e2d16ee57113db624b3c6c18ac0473160217c4206bfcf3c0c0040c60a118e621ba0df1c2a2c88d90320de384257803481b9b71b4f60bf27477e483011f206ea7ca776b7256ffcc79fe080fef62ccd769826126074a199427983946e9196c250a78152f3398a4c6a857af86cf65b2b79643096006076db098dcb489f192545e0ccc1e25072fb73ec8401745b084bfa507c39b5aa95195f7437fbd9296d9577ef71b47ac2abe49ac899c9baa0dfb3e58709a99b734026a8abcec1d6a40afc6b43690c991878bbb7959c97c6084835c9df93ac8a356b30fc6a7e58b2d09d3787ba170ac821b16a1c7f2418345477b3296ba73ab91819c2171aa8684c34562311fa4959b5d520081b922193b826ed9baf56ac9c5d4cbe39678203a4403181b87d27faa09832454abc6d865676452dc038f8739bb837b1c90c72e5da1c94a19681c52c02e8b82f11a3b5e49cf2e9144dcb723e8e8747692b8e51776c115a8ada82565862782e4b488573fb0a660dbb7c50146be3bc2622aa8cd3e2707ff235027916fdf71c529a31d4111c4d0b8c42c3bc84774ab588b15db7b96a89182cd6977325bc2de8a807806b0d2753e70e3206e2aa4d3834bf2440bfac58d70724dea82ca2745a416eb6053519e562025a0f57cf70c4cdc899d4a119622c6782efac1b81aa7ed6cbb86c0912eea959fd7c625c2270911856e0550b91a810640ae16f004c644a89df17782aba14b1167296478c6a88bafeacd2771b8ff740cc933176e17464674ad5751726f5c24324b3e0d4a8b5e3c15d1a27670f77b6d26210bc3a5f1ccaabca9887d55b7bbaab8b5d21b959557f1bb42f577b55d130f035c881c22928e780bb202c6d8775fd0c1bf9240ad30177df432a7126a80f27343940626b23862664a542444a076004c551815b67483d18c3b03194059c5cd592b6dd7824b40e684bd09cd5f0c6098abbd36e2ad651c6da5b272209b0d99101c3d32715c41c173f49e8f40473cb60298c7007b8b12e7f56b50f39111c8393536b14e1182c49c0700a52f221aa11a92b07f3bbd599bc91f1bcb3ef9643c09b02b492e4ca84a6057cd5aaa5ae79574594bb11cba269124754db2bb936c2207841f25a7c07f9409a7b07764fa5a664522e297193256167debb854871b657751a2f792f1bc5c787c6689c910a0e719d571c204c456b5f46a1d3387cc9c8af7d24a2010ad7a2055afe3ce0b83c523639826c30285603ab5447a7c654a5f12cc7c700b51c71c685a31924c1ac06b862e782eff4c501bd55604827d8d90cc25a41e07aa4dd722972953492edb5097905ca8328e7d99838f6c8178109eade3a17677943fc0779f4695bf37a0d34c5c404c00cea82a6a222e4f25b328d56be9db1c4ae9c201352ab7a8108c4b1a1fd1c8346a28a738968f7a6cd2374ea11a3159ab87d03ac8d3d3977120aa1f9a08e1063dfe782e24d2398a760ac35a8ba1c23ef1f54e2c3a9ab7754df420479a8c47fbd5346e61118b51c98285864bdc63e0197398847174d28e20a179462a4b05f53d3ba13d2df537faf24f1b939cfbdc1424693d645b209360869f43015076891ba7374b1767f75437208bbc0d3466723b623790529368b8f2c2b23be057ad271c2c2ac701249f67ecc3eb7b2fdcd4760389b8b5086cb8c0b60f67c18275420e81101afa3f2d20b06b2ac9f375ab5035a27b834b61794150d2c332c57e347a98fd6b3c6ccc9a6090351568582e42b604d56f08e763a93998e10622199306f20acdec17370ce8c44f332305f404c7eb3a8b8532180732fa417a4ef17f9da16683235e53fc7d52f9834bf170e6392d99baa9073313331007cb881794c198ec7664fc225a852c0035b6a6c8232adf4432f25292ac956147444db9c45eadb06c320994da71488789cf55d40b2c3962a1d184c9425b81c5b03c6422cfac569b4c2f823864da9515c612366b078af38c40be11cd91fa7e92789f2c4a18c971a418d532bfa63d7f505a5da1ca2f68b9b1e5adcd2a037fc0b69cc79e8e240a0c452d739991554a8e4dab63de6382a292a654b4b5ad53507ceba0de82ccdcbabff1781d8ba5a806d8c1f8072a9c662340bb826280a644214dbc933f0c552cb2a9bed4d38dc3d5a52aa088316566b5313dec12974ef3bf26803f3656889d397d57e618d7134b4ab017b1f0978518449fbb16869b11399b9f44ca39d830b306f7c0f4f027dc272af5814cb80c3519432edb769726781bf80435fd73127c13af20667e7ddb5bc3219cec5490ee4bc6ba931e18e02b0e9358490c4efa600355da3b58c89c2c60020de7a2da09702b1ac579fab16706ab2cec5e520c916f7c91706482d3096c15c5a720898bd6814597387e5687c162c50d9f22177ca8470184c111b22a2d824f6e4001d5b59d788240daf2953963c8254bb68114b7c90651e8e33a1109c402f84e818c8d9867bcf2832b18c5b5f9233f61265699415829387cb767315d459d6b718ed4d64a8c2a42a63347921207aeac2051599f0be68d299825cfe3878f53a13b2c7bcb8765d5e5ae2b04649ce8bbf4098b6adb9e26fc8c617a3fc427cca44a00b997c0ce4a2f8f3006aa57a578c3c042396205e34d696a6acd1c1a827261b9d11aeab0b920c288a6885b862002958b1304923ad4d46aaa839229f9b817759b08b60aaac4a98881319426aaba88ae3a704bb689b319d6b7b06663f713c6502388e6928348f7626ad04198305ff800296509ce9a864ba7c18476d13c4e43be5ea1c43cbc0323215607c616c40b118433a728646647b43e661a9e5970976db4a2ea261585961823771f2dc6a676177c39598472f0262042c82c956bbd3c71a0882471a01ff114bc2dd41211e32f96a8257e2b8240050318f09882e72b7dfa055242884425c7656270007b33ed511cc6b684fe521ec4c82c4944451e939f02618aceb935ec308e62a6a733f519ae0286f4ab6e59d3b451901428f72e1d64b7ef06b41d29b9b3636767ea9e57fb98cdd752f613acd32bad09ab2478ea89efd65d0a28c2c5b9bcaba8b68f18ce116b1bb6c1776d763ac72b0deb2730ea742bb31422a4d118629ca89b33a4d76ac4e2371e439b82c39b8bf6b6bb2f81ab0b857d93902e222224f14c1250dc9ac9b80c1b1b3a21044d1e67aa7d022e147b5590da52ca6408d9f80159054c8b4048e9358e1b45323f502454235abcf9897cac46065b09ed92718fa642c4f532607154176b22427458e972a5b08746af1b86676ab5c5717082e627807766e3d73082e96ec0173372f51862331a79ba3ff67a6dd4118a2b50ce88616267d110bbbb9a59b04fa4b883076918f6855321b97306089e5a6723ca2467618b44345377d1f1be715637e5c06b17989eba496f3e9b9fc7ea231ce9088402a1eed64fa3f562c1892ef33b44c462aec351ac217ac886751e97a11a79276173f69d456a11df41178eca0fd086912e7aa782e57f14a916fa35939129671f5611c856275f104d243b855030b29b705a96cba9fd12603973b66e8531da78b80dbaad33a28ba8a3afc52c78f0f93176b51592566a63a3a0c640b9d0ebc892ac50f926675d62a51a48cdb866695e20610e813522eb8312582919a10e7eb95161eb296d8276c61cad39e57d44b8c99c63b4bf64a08e30422810746b50305ab98b3d3c6365e681f3649e771210cb23c2270782d4a4b6a18c3c4abb0b4524b78503ba0078097575ac35482b4626bcfdc32d3014747c4b4f7d84c4f7b343586a25d9c77d1ba55e9b5c7f7b1a73d4b70d6da5b30a456fa460bc559c9f5212888531245195a34518047fd8ac573c94344816fa2cbcfef2bd2174c21e54280e306224a81ada17ad09d83ed3f6252201136679a820ca9c18994773057846a4afe9ca7faaa2513504ccac94675c22217c9c4880f76e6de718004686338c3c72ea732706093ed43a2abb30dc4a3c0ee02aaf241758b6858f83169e5ba515cb6a0c30336fb84d38e915897b13e3b7b99d084b5296700425c96a31b125796975e5455f9cae5fbc4688619b702c1faf248ec804058dc1ba71659696c2bbe2f26ead611dd3e9560b8024a2e42221112b19d2bc6b827d2a9b2fed8658d674617304520bda019c19623dd317fbb86492dca99ba35b72556dd368147ac50ff7b92a4edc745ce8a1633519fbe0138f16a416342f7d341beab66952b16014b08ab2e451d571cbb90f8ff51f07785ee68f6a3cd92320a6209a91286378e072c4a6af158d19d9d72c18af9e7f94b7471ae1f8f44af5281088f4484d7a28d2d50a55d11883698c52fab0b4eaf18500c83fc8ac13de836f99dba743a46dbe115dfb06396cc232731c
+ceadf7c2e46fa6298750de23bffc0872ad0f4c7adf66451f8f95b42ebcefcc06
+Ciphertext: 22bc6c516cabef2d4e2ed3c988a5e57d40eaa4475c072d3442af77f52b76f39631a9cfae8236b95b8c60a266326f7963d241132c66b4a9c2288b78dac29a64fba59764b27fba2013aa474e10a8674b3dc8d33e4aecafee113517a28b374ecabcc9d1acad1cdae5091f177dca6deb24e8d359d64e8c489786e61ad3c8aeb63bf70f7c84f179055d35da0c9b730b4ef28a1fdaa34d5dd0e5a712a2102d0c105d54085b6be7cee4699ac456d08a1ad1ec6f73773b9dcf733df4bea0928e7380a930c4753cae9ab6458a2426c74e73009a7f25c5dbf425bca3c2a1806137c08b1198d25e25004c851a133327aaf06528c58dcb81ed7c85034c7eae7cf667543665b8c2943bcd45f361d8036e67d9e62a88cdbe6f662a5e63f74e440b571babd6bce6063ccf900353e2029ebaf131f1f93d46565dbe3202fe339c660b179b83b33e468bd7b58cbea2c2ef7e07a6ac29b01abf28903ab8b60c506886e12cff6930970457c2b76f89a2662e4bd03bc42c1b687cfa732871e1e83998ad153874ed3a1ebc5791c57a08643e26f98c99f31788814d41735b39ef8cfa540f3eb88254224dfb9520580a83965e8781bbc397f0782a98d3695ab3d851181e22e780853402e825aac408ae3c0283cdbd4a246d659bc50ac87bdac75dbfc0eee57902682fc1065f8c025f41490e35ec247671cba1db649c5a2a86a908cff09162c7b44e09060f4ffc6d1ce79d81b1315cfae16028c47ae428ad39e568f1720500b90ea0d5b4b5f3633f2c758832248bac49252845d0f09bc135836169074e474e3261a8a7880a6fabf72d1f238a7924d26cee8685ff1b7b93eb2f41dcae99b23e0c9ad5078ab8ef2751a61e07870b6fa74e43e1c93c72f53c0d321be14705be0f2db37bf1e6521af0ed3356c1378d546bceb7ee035a4624584efe5e55d3c4408114cf6b467373571a2ec07c5a907b7c8789ffbfc7dd73fb071e71a0bdd9174c89dbb48fc1ae598b77aa1425a45638231565607e066cb352ed5c76f48f51230c8fae5ed78e83ba3405f8340298d1ed7049bde4c153fde0d36c554ee7801555e8ed6ba21c268d1c2849e102583c60b59e8ba490a956163f59adb7b004cf52e8edb1031f48bf82b9638f14b86072018d99a5beb9144c3b534d3d487075be77b6a08b7861dcdb49a675f5bd26571d1a78388b70d881ea555639d607f25ee0df36b22f288562be1a6614d3fe7d417b3db3e4298b66e047ea301374109b9186e8babe6de4355aab3b6cbee04acaeff4300906ca274b13b3d683b685a2aba1f17841de809745c47f258ba89ad58dfee032007d4233d4bfd51cba9b94205bf9472049444760395b4ef589788091f98f3f41fc39377da04ec3a21465200aba5e5bee01c9933ac9e1d5a411dc0b72a07669ac46b067de40549a89e8e9a32b06d849ae788116b2ff01d0dda1ede0663e8bfec54eb3bb27a0707e6d5786c238c7d5fef604e3aef860d482c6387ba71e753f04c178c8f41365d18dd6099a31f55298c425d60f3862b939bd253ab0830227cd9656ee5c72c91a1539494e519f93e84bab4f071a5102d871d8d3421bba3677a2ee28bc2e904ee0247495b859b88cbfa1554eab1f64bdd909605d8413267cd7109d68bfb17e1a5f3939d166eb6397ecca23d101372ae9dcd82443ac05fb5fa646ec24d0f9ff448e996f52341d914c2f0c6afc3063c1d28d60348510eac8b1857251fd1a79ea1a2e955e6d1d91f004503e53891bb56801a6c1bc51f6d9d2a5dbe868cecae860681c4f6bde9689df5c30002c0d7fedb229c8cb1c91387aa3d2440e0baefe1532bb0425b1b003b818352f3f256535d90b1e9b662417e5c0d6b18cb47f85e5edc203da972e9078a962f5dd832342e871c3567a5018a102915d62fb2014970776ae77fd2312722dbaa5f7a79f6e5b9be6d5027123bbdaeb4e3b5bb3a5aead2b0939a3a6568b6d417807637331a4fa7fb4a79b4972c91eaae63e72e1d5d38b37288addb6d72e863ee1e34b601ef9d2a9920870f49afa38b347c9cca72a376a30cbf7814e7e7aff0f57473520cd3a4572e460819c631e57b706444086dcee79cc90b353dd03a168f99bf2d00f3a1e4865b662a012471f645ceba18afdfae9c94a12dbfffa2c9aae45966def2a0853dd264302db8e6331b6f75d1ceda162fe91143ee3510a44f3fb1fc68337eae4e5cdef3857f86e5c84d9c95a
+Shared Secret B: 144adaecc7c4087b7ff4a90e28d3b0a0c598ee91a162babb6d3ed7156df5580c
+Shared Secret A: 144adaecc7c4087b7ff4a90e28d3b0a0c598ee91a162babb6d3ed7156df5580c
+d7b69673c93e8df11ee5f796b049618c3e8a12dda74d39996cd4db0ddb4a8610e6fa0662ace02874123a037c12fe2b3ea39889b3a2821a474e8c0999e180a91d49705a5b67b85bc05c76a17184baa5bb06b09261d2641a1cd9698015f3dba1c1449d62d9663cb703876e0cae5ec844472907c0bf6785e9ef57c422a0a7ba2be81d0c27f0b49379d8398c07d24a05020fe461a9d70ded2af78d4b3e249ee5b6af4feb3437745c2b27c002bad2d917873359598da0069f0521518f45e06d04a945a5674966db4519283aae423683f818cf6109c909946a0e2d94fe680e0a2f56adca73f756ebcde53bce1e146a59461e32e6b69567d4e371daf1512820bbde9d75aadd103e372a386c0e136dd4c547f9e7cc3a5032dac2976986cec3ad15618faa43fbbcc8e7f8bc957c02e8b84b89760036b2660f7ab8236d57275932eb8b44b54e63baf0b63389b73e06cfa71c5492ccb7d82d3676bdc2b7e8608dea05f94a8bfc3cdca87a1f68d328d35ce901b27a9d279d2e20ae45666a4845ad8058e65e3e337b735a78c6e230c8cf6d2cf0f6bb4b974fa4aa02b8fa15c496e603b58539230ded514d19278952adb5e6e5d72ce14fb866e4f25f7142597fa4cb1fb7ae2d2c826a4fc8733fc88c9e9cc01bf2b0b9050ffc10708df36297ee5877edb2ec7d5fdd4891e2d772e7b93381f20e48f441ba33739f916b6e9477df642dd2b9480a3c332a938ba2aa9d93fb385497e97ddb5b9eca7c540213f9bd8979b78dfa4ea91e1890e5bddc75144e2a4476036d5513d44eca9d6a7eefc7301fc8b4c516b7ae27064af9f4ca72dcbcd5d5d7733f3e45506b43c58deec05376b5bfb55ae33f5c4bf40f0b7e4418e10bf08d3489c1b463bdc6ec78231f99f4d97627b24c8f5695fa0573362b2ca12f11d4866111a44f56baa82c5aa5ceedc7b1bdad9a98a40329e2667de45b5fed39d35159a19a388f0fa4728f40332ef452a3fbc664bcba0fb350b110aaf7adb53945c2d8dd28054358e8d90b2766d4daa4654f9e234abd1a69549a8c1b67c43ea282bbb2238f1130f2709e078875672084e105a4d93459431bb4ddb820853322db9ec0bd7fa3a5dbf556153d6dd3091b64346809ae488ca80e7add06a892fbccb1819d2b40005bb394c87836064ba37cf393f03101a3e025de4b94856f7fa88e05fd94a50cb6ca33641ce9db354253fee715fddfe2c80fb41ac3dfa3c0e5ffe0db777ba2671a029af4016823449aa4b1b69a29e01058d2dbd6b2976bdd8695c8107dc615539a1682cf811f629aa907d123fbf59ddfb80e2166629d533d14b4dc3565ad8375911dda8be53b2be58ddf295e437979fb0dc4dca07c6c24f3975ebf32afd004c2508e435b7f596c23ef3c294c7a603c37e883592d1cf128567bec7d0f210781b48ca325b0fcfb7743bded8a531f0d65fd9ab07dbfe8ecec4e5cf187eb41c8b46f21ce794413f0659e7ecc857ea94228b710fb2a6e8e7aa33f823706faa67e187c313815b36a67396a11532a1d36187df94799e507dbaac155a80fcefa3292a9fc5bbed877f879e155e907976550c2713e4158c02b39c27f33a5ebd6fbff6ab8d86bae8a0baa439f8cf509388bab161938743df7f406fe0e7b9e249b75269c2da82bf1faa800ac7b432e643e1b8e55309aa4c09f4298c3c332a7d4393fa633b3a414794f475dcd2881dffabf1e66fdbc37eda32cd0780de4b331a07951849a17fe1f2f76f21d5574efff40570a6f8fccd47f45de4b60aaa2e239eb860576a3c5725f773b990ae71b4c5dd34bb609ba305efca50df6f5ac17f80179e9b208a5a72be2b38861ebe70925129cdc53b61e310161a5ee50d44b567205bc1bdaa2a9966381a4d780827e4dc4624438b0bd1c616a3d3bda42e9ab4125d61695e1c025559f75520b315afcec0d73b53fd35284d3cdd5cf0a23b7a91431c9a54fd91d9460f77e8ed34c09e17a12bc6e9c386e49cd76cf981adeb21e3808c01c0dec55e5ec6364a0bac8be6c8897c339d2236ecee846c0f54d856a64a0560b174b8af38e66a9367acef65f557b7c1db9c2e1a6cd841908d704e6f0ff735c34e0dd3bd18fbd6a12bee4314a81485eac6b2758968962b6af1d75076e4865c12b6d9c7a1cf4d6e4deec1befddeae70425d19762bf90f4de8588054e11380e5af75dbc7cc9a98b740d7d4cba8df11a189736a640ffdf8a585221decaab
+Pseudorandom shared Secret A: ca277fe7b4358c7b73ea7f0fd82fb5a23000efd42394d2ab9b02565a95c910b7
+26a9a5ee50ccd3d3a1439978bec30416670ebc7ae245fab10fa308ddbd4947839dba31a6f62ba55c0ef2b5cb837203add836f548e9bc9d0a3bf876e903521e1a
+Public Key: 7c272cf8b5beff6c49f021485ff8a8da107aa5b36625f93c76846168e306af365b22c743c812694ce36838868a51e623a2e1689236c63cf93d23a70b64e1c6a782be0c0a2238642f53e29295783504c543557443f275cfeec14d4642aef0638ddf6b2a120bc7251b00bbf29b0ba35596d5401392c0d703447a52ca31baac975c55c2387905e7380413857699ae318b925c4bb4b317945d2a86665661328b9982264bdb78b1b358174db69fa660a395a5044cf2cae9e0420f62084eb3260d37b41e508abac8ac995b3b81b592bbab520110406a7b748fa42330c06042d85d66a5c083e25943f7454056b02ecb268af73f54ea1ba57a8fb0e76668e60ee4ea3dcdc662fa14a05e486061c13ff82b47fad1bde27c6d58eb92364531689bb0a97954e455329f881fbd377294b4ca58b003e1c37b6121bf5aca363afb927b99a5595b94fbc817e6754ec1983d874100b1b819e60458ca7ccc55cc42422c06f61891d3005e177085b832118fe961633929d8a137ff8bc2f50290445c6bd9d307d633c136c51a4f0b1aa3501afbe05ce230035a000ee6371cbcc4c811a50afbc9913de975e428beeab41e8170a9a3db75520a6ff72012ead899dda81cb5581ebb481a6ca57ba1f5ce02e5645925b39cd707c80a298faca76928a253236c16a7558311ad0d4535686b0fe3286fde9510ff5585ffe095c6777425739a0320944612a44b40638fd49918eb24d88b63e335680c4a2650f5a1c6602d25c17eb8824609b6938863a3ce6a94d2c94d8043b56726c395b237e238662925702b3c2e04fbbb02f2b5a7e40aa7660f4a3595fa10c2f5688ee88c383eab97831972e09cac0996597087497827b8399a14aa279286d426fce94f9ec8871a1997304c00c4d10de73a125856c04d71ca29104715d6777370c8bcb2bc7853b3f6b38b6110498bf41de0f1b55a0c606c481ea718928f0b280ccb21dc5c0aa472581b0996dcf32b1b6b3dda68cdf9b4596b5c9172478ff81477b038111c3bb7afa2b0f097426e11cdd809c363f211f4a84bdff3848581ad4d0bab93901f732b9ccca5c508c94f314097c120728caa1768a6541dd4129b64accb9cc350f8b1037c5c01043c9bf9c556267507e780f6b5cf73a16ea06a42deb21c4b007900e6296eb4bfebcc5a2e1b18b691507bd9584467941a93c6794a59218020e0b4a1b79621bd1a5508f35b01c9744beab5cce12136d71b0118812cc38c73d7b99c12a34a056c1a542b2a3cc54078c9934c4998cc88e39a1e181b9a099c1912936268fb51e322af2fa6a63c806307b1690f2a68871a532812362272700e259774a605f6b8bbb42c90ae278f14c1a119904ef8c8ab90719180110f895a07ffa777820616f5e16cbdd83519d558a224885ecca53cf10cb7a91801b31952e604af90236d584a09d44e050758cb28a585f555e8492bd0c1c5e26610b8cbbb8da6486e6c08e9467c5898624386ce6a893332e5524459163b4647af673ff5397978c81cde453cf6e6ae95f8c90198334822cc1dbaaf7b709cf98687f11b7b955c3393118a3e705f0ea243aca056c6ab54371cb60c150670049cd8f619b062cce3153b24926e3c7a9e28111b4a4630e4d10cc519442043afaea62d7db8009852441694aebd33ade6590debd5162b89482b5229344922fd310a4a608cd9eb79d76408bf114d35f25b89fb12d3e8302b32035ac1086df67cfdf883cd35c4a971b9daa8886e1123bc0561ace2087198892de250f3840340656d2df4c2c155751ae6ac88bb7fd5c48ba2500b86ec522fbc4a944823e614180317c09c1b86bf72b57b52382d998cd942ad1bbab9f2a91574850334077dfd53cef495b22a909900eacb40994cc50043fad72a0d2aac3e54071a0917b751a83b2b6ff4009cee332ce2471208223f09d763fc540a8f42cba6938803925c22164d8648bf76868390118c0ea4be701c4fc0e0095501794f3b4c294aa5380131d784c9718a4ed3320f1a77a4ca832b64801ec4174920c378c41680dc52a50a56a3457663c989be5c342b48921ef3a99e2fd15926b724b2fa23c4370323d72253b0600cda6e598b938606289edc5598e3bcf555b6e3c58bc91bab289b36c2dbb7eea8b24adb9ae1ab58dbb72fb8653bc3a06fb8f2a91b13640ba87cefa78bd2247e26077c7b21d52a27b102ff401e4542ba568615e4418ab0098ce65ff5aaf23c88
+Secret Key: d4f86357c0bdab4c3018c4be652b04c21c2adc99a01941975f82967d94b15296ad652ba11ed155d50840ce324682a032a97037d70464777a8bb2794b7af60a9fc65cc78449189a5001e15084061c439c28448c196f5a71d8c7249b86b1b1b1023b750159ea1684dc820a7c3b70d0b9edc0796fc7aa3e439c1114adf42ca58647ae1c524fd10b7a83a8895ef8a3dd4b27db578a78291785e3cb6f3bc4ed997f90797341335ed202cd5ca823a3aa2d27d88f793c0d843938669936ee916e72b9217ccb4581f1bf1ad101be215357b8802faa23490caa190a846f9b1868d57cf7056c5339abfd798ff118a55fe12600647d3ec09a7f662e1717cee59a9f8ccb1c1ec22173c14d52cb85b9fb35bd46250958b3b412b167e391e4f642fe36809a1c9dd8d7c4f6c59f1cf225647783f2843af1b4af179c8663bb5112b4ab401396d4d34f7d89a0f95464888647395b3a93188239c16296b32a0e291a7fc08b6a50b2d8a4cc962a2c289414c6e03ef9826027e0a7a2c28db617a939396c3d525eec6753b70196bbb45d71b98f5fa8a4f7a2c9371943b8291aa9d0a512e70764b5b010fc7c22cb32078a08c3e96c5675929c74a12cd9caf0233c30cb521c6a74f6c4b845b076776861ec49c081485d6d104c26c9557b5351ce7426ec35cf8a15796cdcbc1cc9aace494508b0507ef6aa0cac0275f62f0d0a306982221ce44eda4756d315b39e104ada4a114a09ca0336a4bd5476a509bf826c62660476543468c7fa69496cb5f9f40a6d3913cb60702f23cbb7637876a65861f48fe9e6b6cb7631049c36c4102f26797e70c734761a608582c7f620c3711a97e8989478904cfb8b9b78ec1e46b8ad2c3a15a418cf0f0204520123a467bfa284997bf33a6d66574b4622b9b9b27a998de1e1c01665bbf2f6b5906c4dfc32c5b850583fec2dbd2938bdf4976e445945f7651c1c8c04f07b3ae73d1101960057c0ba8c8eb692998ad2c9b06b1bb3f99e4021c93831cff934a4ed838b77cc13687b08e8c25e18f94ef5a9048ff92c596c78f435037dba8e0a55914064c1098450e02952c35aaa66811b06bc4064f538f5715ba3c21f889779699aa4c0da20b01c3419e6a87775c6bc55656ff49b9631034ef74e81a034f3f8a2f2ab6798ebb236a73a9530c536701b5cab1b403638ac5909f7b32a61a67844f8b4979544e1188d47eb5a88c32302908b8e154cf8f023e77896a4b2102a60209b75266c2905b0aa4424b6ca71f65bd4a140b369013e6184d46c85ccdc7789d70c914b9b7e7a44cd653ddb05afeaa5ae8b8b6971f918750c3307076599d860b3c9447acc7024ba85d303444923c8ef3628f57ccf63aa35cd230ae388348574b6b46738ca1c23e4d77e50345957d98bbc6cae6d97bdf90a62452427ee75a099b1ca1b43b287006037fcc69ad76242604e05473686fb05bce604a668bdd452c86ac91f76d00367a413ec21c93cac2275733590e5951a57bcbb46a7e1901b0b13a45f12217798b96d977ea6d1c16699478cf642df0982d1b5c93411ac42f1c43938c0b5108697e26a82918410c2030dd28a7583709f0c55107112bae9ba77d95696bcc4fe3507cb1192e06494b6210a0fc7bb67215b22eb93861b97492b864a560b7cf89014a1a3ce090d6e4419c334897f97c4e5ac2ea0a2591325601f43483b753ef1052b046a585fe0c3c0384afec7cb1447c021e6343f3003c2577b18c0cad0910651c2200ebc8ece1a8eabc51a6188214daabc4eb9221da441803950b54215b01520ac37008b467740d28c891c019bc8823b06bdacb5cbe9fc7668630b8c58541f0c5118a2c217f6b47a705f06a978b2ec2e9ad563a8d724eaa3c5e93147c2a790b1e89aa2206979f7271f746499e52665633bf2c299379ac6b14348fd05048c2c27cbd4cefcc93b19e1a9cc90a511ea033be23c86080089fb6b17b578bfa6a13b3c3b845015c2f951bcc03acb5c818c613c283bc569d5c769c0a21d30897710a1f3f134d1d1ab0e45bf7de10518c907f355156d839829e98e8282cc8e09906301c92aa7a63a5cba26191f597737c10a20b7bb31f4038ad4f70de71b8f0120b82ea151d48084a2964ef8c49eeeb66f9e97ae2bfc66bfea65fb746e25e29818515bb1c463f7a7076b3ab18c63422f5611f61c737c272cf8b5beff6c49f021485ff8a8da107aa5b36625f93c76846168e306af365b22c743c812694ce36838868a51e623a2e1689236c63cf93d23a70b64e1c6a782be0c0a2238642f53e29295783504c543557443f275cfeec14d4642aef0638ddf6b2a120bc7251b00bbf29b0ba35596d5401392c0d703447a52ca31baac975c55c2387905e7380413857699ae318b925c4bb4b317945d2a86665661328b9982264bdb78b1b358174db69fa660a395a5044cf2cae9e0420f62084eb3260d37b41e508abac8ac995b3b81b592bbab520110406a7b748fa42330c06042d85d66a5c083e25943f7454056b02ecb268af73f54ea1ba57a8fb0e76668e60ee4ea3dcdc662fa14a05e486061c13ff82b47fad1bde27c6d58eb92364531689bb0a97954e455329f881fbd377294b4ca58b003e1c37b6121bf5aca363afb927b99a5595b94fbc817e6754ec1983d874100b1b819e60458ca7ccc55cc42422c06f61891d3005e177085b832118fe961633929d8a137ff8bc2f50290445c6bd9d307d633c136c51a4f0b1aa3501afbe05ce230035a000ee6371cbcc4c811a50afbc9913de975e428beeab41e8170a9a3db75520a6ff72012ead899dda81cb5581ebb481a6ca57ba1f5ce02e5645925b39cd707c80a298faca76928a253236c16a7558311ad0d4535686b0fe3286fde9510ff5585ffe095c6777425739a0320944612a44b40638fd49918eb24d88b63e335680c4a2650f5a1c6602d25c17eb8824609b6938863a3ce6a94d2c94d8043b56726c395b237e238662925702b3c2e04fbbb02f2b5a7e40aa7660f4a3595fa10c2f5688ee88c383eab97831972e09cac0996597087497827b8399a14aa279286d426fce94f9ec8871a1997304c00c4d10de73a125856c04d71ca29104715d6777370c8bcb2bc7853b3f6b38b6110498bf41de0f1b55a0c606c481ea718928f0b280ccb21dc5c0aa472581b0996dcf32b1b6b3dda68cdf9b4596b5c9172478ff81477b038111c3bb7afa2b0f097426e11cdd809c363f211f4a84bdff3848581ad4d0bab93901f732b9ccca5c508c94f314097c120728caa1768a6541dd4129b64accb9cc350f8b1037c5c01043c9bf9c556267507e780f6b5cf73a16ea06a42deb21c4b007900e6296eb4bfebcc5a2e1b18b691507bd9584467941a93c6794a59218020e0b4a1b79621bd1a5508f35b01c9744beab5cce12136d71b0118812cc38c73d7b99c12a34a056c1a542b2a3cc54078c9934c4998cc88e39a1e181b9a099c1912936268fb51e322af2fa6a63c806307b1690f2a68871a532812362272700e259774a605f6b8bbb42c90ae278f14c1a119904ef8c8ab90719180110f895a07ffa777820616f5e16cbdd83519d558a224885ecca53cf10cb7a91801b31952e604af90236d584a09d44e050758cb28a585f555e8492bd0c1c5e26610b8cbbb8da6486e6c08e9467c5898624386ce6a893332e5524459163b4647af673ff5397978c81cde453cf6e6ae95f8c90198334822cc1dbaaf7b709cf98687f11b7b955c3393118a3e705f0ea243aca056c6ab54371cb60c150670049cd8f619b062cce3153b24926e3c7a9e28111b4a4630e4d10cc519442043afaea62d7db8009852441694aebd33ade6590debd5162b89482b5229344922fd310a4a608cd9eb79d76408bf114d35f25b89fb12d3e8302b32035ac1086df67cfdf883cd35c4a971b9daa8886e1123bc0561ace2087198892de250f3840340656d2df4c2c155751ae6ac88bb7fd5c48ba2500b86ec522fbc4a944823e614180317c09c1b86bf72b57b52382d998cd942ad1bbab9f2a91574850334077dfd53cef495b22a909900eacb40994cc50043fad72a0d2aac3e54071a0917b751a83b2b6ff4009cee332ce2471208223f09d763fc540a8f42cba6938803925c22164d8648bf76868390118c0ea4be701c4fc0e0095501794f3b4c294aa5380131d784c9718a4ed3320f1a77a4ca832b64801ec4174920c378c41680dc52a50a56a3457663c989be5c342b48921ef3a99e2fd15926b724b2fa23c4370323d72253b0600cda6e598b938606289edc5598e3bcf555b6e3c58bc91bab289b36c2dbb7eea8b24adb9ae1ab58dbb72fb8653bc3a06fb8f2a91b13640ba87cefa78bd2247e26077c7b21d52a27b102ff401e4542ba568615e4418ab0098ce65ff5aaf23c88631bbbf9f3e68d5f9625d55bbc7060a7e8f1d42964cd7fd12f8b425c14d5e43b9dba31a6f62ba55c0ef2b5cb837203add836f548e9bc9d0a3bf876e903521e1a
+d45e5f05c34a4ab808f04ab25e6de26b2ea423fad7ecfbcab390b3489c81e1dc
+Ciphertext: 245e96ac48d43a873de22a8a7c85e3e741d3a20a621fe9028c6bac39eeed4135697c10d9c4d6c38fb8d05cd9cc8637a593a2b7a9dca8c6b9a7f1424c78b543f194f3ff5ff35aff7e1f2693fea3e08152a8f5a754973ca03bc5090b5a6ae6afcbcdb065b6d0d7c735b4696acb8607dc9108d816bca281d7c22a90ad4a6cd7fdcdd7e7658620b26a34a8ee2204fcdd0f108db2069e84ccb9877e7813ef1fc01a0a2f9ddc4b27c790961c4ed4e7fbd0969a0a34c040a3921416e576dface7c3ddac0b432931e4b6e1b05cd6145601dfb7c6e8d7ff17c6dacbe46ac819654cd877320029b9b9d825fb10551a5da0abfb1f31ff0424e738811c7cb77c121ad59e9f8f73d7240436e5d678198fae9e52e95beb1da69067402878eefbca04759f701ef7017bb71d8fff08c6fed3f8d0e9c31b6cece08498a88a0040e4d38f5d06850a5565f0a59f101ff37de4a350b5a2fc689a6b9bb11fbaffe76d55eac98b8af6a4e054230790983ca106bebac5f3a302c5c16aa8af76ae0a7bf8e056cb426e41b2a357d6a04435efadc132a6ab5e088ce7328465d56f0f7b04519054c2e009e37d60e746adbd69bc3b13b20c0bc8973ad594c2d8dddfa65417b60d8338178d4ed62025406ea85c7416010d27cf650c5d799e99a96f86182f805c5f7ca3f42f3f85e67fd06bdb9a57cfbc454ce41f2bdf72c5613e61901a005559e1b22233ff4f017791142906647f11906cee654463a970f774f8266db32589647b28faf470e805072e17ecd449f07c3e46d3934e189b2c91e87d3db50c0c1801237fea00e7c941e3d2e2c7ebf96b3c8428d607b81c4f143197b97b76217c1d6e53f94c43a5a7fb55aed99f5f8188a5c2580af7fd9ceef44477f49b763dc32bbeb7c99b14c894240e6fa2edeb26b29bd9814cc94f37073c4cda55657403ae93aa689b97b37876d2b108a332df6e6dabbbaac6cc849d7ab80e49aa8391cd5c0aff95bab2486ce8a0bd4667326d57757822210885a918c89a74ce92a5d937cc64a2beb1abedf9e0959ab28292cb7079772b0a0426a570b67738b9ab26eac8df0e7d7aa2afd6384b733ec3d2071af4ad79dda2d80cfda2344e4998225a503195f10609a997ebb0eca1f9b25cd8e5b03d209593bae4a207eb50ed18b4826241630ef862d97647278d7e3fbc12b9215fe669d72842dbf0db294aba92edb8120d2a2d5999f85efa5e86dc55458da074696b06173302a983f667a0ef9042b7c8fe9e91d8d22199daf3193bdf7118aa506af6a51294b8022e31dab0583e488c0f9b7c96c968425d5c69df9b0d41913510ff3797f69f46412bb3583485b7860bf8896642a6b3352476d9f418f9a4125a32e74b04b8a4d593484d1fd174e0ed7c183177fcf7a534636ae3e4c6fad4be225da0867bfd7c8468a501228c77f0a82fcac98f3742b531953bf7b67ed21e6b22b9bb04786f51ca68dc726614f3ad93ecf204b87b8f7dfd05aa4a013a141e7a65714600b7a6c38d329a687bdf4b6a79a2b269cef9735c8dfff017451d07912dd2464ea3326435d456f7d7c115f6439617bfb7e829bd48bc65f8e45acd875907eb575b79d00c28e14d572f6fe83c76db36e42010daebed8c00dca1db13044c1cb6fe47cfd6966843ae66fff071d08c59bb91fa4cca34c906b3c696acf0fce027767450d5db3978e4ca81ca613a6e2450ddf32d9d1c2c5365dc9fe2bbdf76ed884f75b1661be99f4c2b3f9bae0a657529d26c3fbba44650e5127e22fa9d6e9e0faad4acb8ecbd16343c5c1993659298f2381bef3ac86fffa3b4af4ad9f99a36d8976b741338f746fd3d40f62829785554f6b5287bb225248c0d576e785af9635ea6c1e47228d712b0216d39e4fcb1866d5a46a1718cf9a8a933853b05a7786902683ccded7f1a4f7f1fb2c49ac7e77a64bcaa0cffa8e4c980ed6d6ac39904d8f2778814b575f61f6c640edd67d193d1cbf90f8c48434d569dce789a30da556289b878516db6dc9df6b0a65eb510b6f59319bfd649ccd38a6dc1942a1a4340ce1fa6e17d4d10081b32b0939f561a4eddf49e0da45d6bc9e3549856e7f30886fd48a065f458b0c70e973525210551352f22cb10e7e14366505cff106ca948f8303445fa30586d3870ae8ba41547019fcb8093b918453fae10321926c3356e66e466099eb4918f05cb1d85ac242debf9c45dd0980da9dfdd3d854d56591e6b2e
+Shared Secret B: b7514ceb88ee41646411d24984bee410edcec1e549ce5734f24ac396678ccf43
+Shared Secret A: b7514ceb88ee41646411d24984bee410edcec1e549ce5734f24ac396678ccf43
+ea68dc53d9c491ee1db913429b0b67bb6052ffdb69580b44a6165c534a8b593f24b18fac2972c831beabf346576e6db1cb98f774935c6f9a6758faaa5e78241f465eaffeda4a2c6cafe68f28644b77e0cbbc6054706fe16a9e3fde8aa07934be4d3510318a18a8c83a6596671186ea8cfc220107f0af904b74a83ec11fe35d1a9a707bb5e295649dbdbe79faa7be363807a34db2b1726622ef69c00550391264453af311c1b60446854e2494094dedceb3dbc58684ee8dd5ec3121dec59466aab1959a74af579e1f72f111c7ab38eda70518caf847d068a6bd4fa48c10b89afec519bae134a08383aa9d72544ad03142b8f44205cbbf0d53490e7f4ed4ee6abc20ca9a9966bbee58834b81bac94500ab50286a1d99b8f57b5f9d1fc940f2acf34c7e36f3bbfbb3be0af80d1251cbd35db5ebd3a5bec94ae6318c6fce912d9e4a4c6de25dff2fde5f6871664372ba356dc0ee4909fae2240d4517efb8a62ac7bdcdd3d93a0f99b6c36a717b28a9a52753534b889783f9c0f7869a389c765fe025e96db53a92423221c8c5653777d9460294acfb7fb07489de3043b543502facfa03908a12cfb94a6dd5af2ea4b605d6e018a990d00723d645ab80f409c348bd455a55e8e8db68e633b70e4e6d2522f716ceaafcb74b8b1a0a49a5ac89df84eb185cc769a3f5f712d5c1e7eadcb6300e3c9bb4254b303dc18e2f28747b4d5b6776b435082c04c3daed38b9a6e369fc0c83771420850c396742dae343a3eab5f73c674280a4b7ad73e72fffa57ec336320eb5ff03c0eb0909a2fb78f0066b35e0322e0af19d7e72eeff3f06c439543230d1a0861e21a0cce5366f4f38ca91d679a3a026fb53561a43e36f278f0a7fcb72cde068f07bcd17e2db8dd9b4663430f5d64fac8c7ef67dcace9434bc1e3cd240fff5f5692b51dc8e785b0494eb80a151cacfbf3d03d6d43fbb7e94f4db12bf0723abf2b01a5c393e7229a567b929426507c5ca929944288744247dff59a2e2aac7fc09018967d19ddbff9e686d44df45746ced230c1adc112d76017391c2221b9c850de7f16423c404aa571a49452e346178749d8b1525fd94180a7b53eeaa9dc544618d605c6d51c83371c00f2756aaee224f4adfe49efd4ede92f19a41fa4e0e2edfda64dda8adbdd0011f88d67339aaa88a0b25ee1703c2ece348e3e5486e0d66b91c9b05f83cd9756f3de918baa130f97a7c8ae2aaf7cf91b9614c853b385527e27c9d87ab3f24fa3993e5c095337fc5896c841a1654f5b757eab063fa5955285521731d9635b4cd5203f77b5708a57e872f437b1e714ffcd8377e16e06bdbd65b6ce5e4ad28b7eef2545a1367699aa6843c3d16243e09491f5ab7523c1460e061e8142405cb63a1700e645734fc5095bd41e597d06c4686b3823288a6f595e9b895c2195db8fce84290562533124ede743bd76d40c818dc2f6bf7a32a617918206bda9b036e52ed97825db1907ab29fbb7fb45fd6c01a94c208db713286cd466e447ab360041c0093051d2bdc20ac6dcc9793ea1b8d688c4f7576f8b26bff878c657e35213550975bf0a4d6074dc9a347429640bd88918bed76a7e083cde7bcf2a5c2a5e4b8e45dc4252aa8722f06991754e1ed1e5173066570a3b556f7f3519da035932ae8b75ff426e926c59c7c3e897b5ac4e53ff6525cd1eb918ec100cceff48fd649676a456a8ed4b2dee0b7bbe5a41db344744bafbd6a953b285a506d0891f72b73339496da727c52ae731bfd4a94875ee155bbbbbbef3acae8e289a2465fd8714b0690d88b81a3e8e8dd5e6213c5270b1bdd681caedfe874d038c9800b155523744e2252425565bb3256d8722b862407b0d7eef15244d463ec6c040456061dda9c4d04ffddb4db524121409663c97bf7c60d82277a2ce2f1ca4cb9655235318666dd42e92050430662d0bf9f268fb761020b4417e2a5e9308091106cb14a823f1ad3fc52209cbc8792c6000dfbb8a52a5e09fabf671530f93392efb4d7fc468284c9c10bea471822deccc3e423200e51894c7c7f40ee801416fea6e5cda9ec59444645f4b2cbdda42a9779295b6c863fcf8b49592e761cf94dddd8de71196a3368c7c7db5c7f6e3cb2450a712a62e7ece831dd6c404d372f639a7d12d810efe6bb5e59ca75cbe0f9105a57ed3fcf80ed68f2a948dae1d3e257562e94dc69c17a49b49235c53f0ad6c80716
+Pseudorandom shared Secret A: e0bc53a3d63a4e06ed854a6e3c9c27446c2a0d463b6933a5d1cdc61c6eba5169
+e20169fa525d31931eb5ddf847201975aadd8396134eebb05e1d7b2f89e114a1c1551d40f09f9bdf84c08c776a279f5f16167784ec7403204718d7fc13bd0fec
+Public Key: a25caedd813cef7b4de8f32af4932601ac51eba73628da394449cefa269cc1b14a9d01078439650ffa6c04f392bda04ce6e12fb6990854f954c1f4395a8948add544412353dc404c170c036043864c94a32c64ca887189fe28c870a3b7daf29e93a34f8b012957e9852b5cb14051753007b8eeb23e1b9481234c2bc4724932c84528dc45c5f74f82e3b23c9c032b4c26a3594058135f51697a7b7963c8730a2f98b58bc73c900885f0883a93d008a48b7e2b0a11e1769b6ec1516593b80f4386e5caa9b906a17ac4aedfa867db10138698b95b83ba59071c7a5b201d1c005145b5bffc04c5cac4ee3456b3aba2dc64132a7633b29bc281ccbab9d9166617c288a937674368c21ca18928370d9752f4056820d64973f177fcf5671cc43ba2477748f27a69088a347c7121fa8c8c29ac61fb2ce68529d27112fcb084681c7599ca0db81c307107ada28c7d938068d51c68f1957b19522d6e91c027d59c97155539f76730a16765971834081e951521c9714b74eab110b2084b88af6e69876a78a50164335740be50cb3596931f82da67a6b49b03573f015b5e5cc1237920570d01a9efa72b03fba3d7f43da03192c9677bda40c3ac35564407464feabe25abb6232a905f34a16581130674a92f4b2ae04905da2091f0787ca343536bbc128c6528df4a12ebd1435b2c3f3328c993cca7b8e56a259252527795ecb86666548885ac7ebbaa1e8f5ac72eb8896ca6b354901cec105bd7c400a7bb01a6430dd275b36791c62a62a1aec097d1cb7732e053da76b9bd404757b63478e2653b7a4e5b742d40c299692ca0a3cb061317ac81b50b08bccd4a820b57602fad1b1997bb2375dc8966c6c4279cc744d1314c88632dbbc98d511748158d5d9c6aa37a7e3ed455003c98e87aa0d325a2e81ccb5a689f52f29c27426f63fb2cbc239284243ffcd9c01f7577bdf94d1dd14f4060861c78c10d82be90ac1031771f3400790c30306176c203884199a097b8a59998766d32521c8b13b0eec3961665955a326c49c9beea822bffa7bab4851607d241b9ea8c0c6b685a041b548c44c9242c7d40aa29fb9ff55bb45a79997998272d9cb87b198b829a6fda030a24d05a685252d574a5b528be9b4ba2a9b9a194a010a341895e0b66a3ac5b8f0c91535a3f7330b2ad9599e5c377d672b26f2680ee107518935baf975a25752b86eba8b7b213d4c9c7d85a877bd24282c84b6ac385344415c04296f8cc594fa64cf45112fbbb0ba82540dd6c14b942c283f1b81915c5be604e00c984625c210df80ecbf90a5d36870d3c2a7eab3279ea1d9b17666c382afd32a80f75bbae82a88e90977facb020d57ca3c707f2b5bd3c908387d412627b166e7661a4d0aa9b5863a3c17937ba4b5185b53d0429ff702b41b445f16ac3335070c0a48485a09f73140c21680b29d22b1f2640a154b5fe29bbf991b8f3e33720979123ebb1635a41501680497604f00b4fa9523dfdc4089944c132c8a3c715ba9fc726085721dab137ce90674722a0c2c9a5c06b5fd8841e52ec3bf7864496879224337c2a93280c3b8fa8262603f8c409865f80b51714fcbb05c432f8cc921648c8d46c5078857bed74b6272403e3e41870937f2349bd1bd62cb0f3271f436c1a4003dfc5645b635ef59294c752ac6e1267babcc6ce41b03713b8825c3fb56b5f5c3caf0988273dc710d5fb9397f9c257332fedabc0b2792c9425bd8f870f8838646b74c84341981df348cc00294be42b308b8896452929d917a8062ba8a275a0105873558a78d2a0c285923215754aa21b31933eda43236acba802ccba3ef393f90614900b4a4fcbb805b8b9baa12e65d5111ae5b286e7adde8ca263754b6aec5d2fe014a0c652d746aaf7c04e03b723bee690634b3e5c6a851a047f32c71cd271b424a9c488386c9ee72b1176aadcfc288ec23994c3c433e78498b77b51c247ab78680345ae281a11b8853acc67051fe8a502ea440a7c8e1cbab902d377327b930335ae700592c8893d2f57cc6e898194462360a855a8ab9b6f2b7e0a5267dd121e8b4bbd414470df275c2dc2535219587a5b87d303c1dbda6dfe8c467770360670ae19d9a8b338be95b8baca159e1623507d7c005f5198e86b645f472a46f2aa240a998b9a36e10b3cb8467b97c3504edb52a3fd30be8f4c833890f07c5a00d92c8d800cea8923fda8910bfbf1b8ca80a546
+Secret Key: 7fa61f153cb0a7b3c6ecf35c0ae18913106dd2543982f58c48803c2eb357641b3a03f08a1f1a21c2b574e3e420fe8669e7e46240c4a4fd893b1951b662785560e633a8887ea6b705ac7886cae31730624fa1b97ecd9c92fe1ca2334a560e762fe4c36884366f64f5577aa67e482a834b9a5538752ed00bbcef0487851870cad9c0ea2bc1ddc719985864ffc74f83f865310670bedb57c806701e836d5399718624ae0fb957a0376a77a5a15b64b68553b65d18114fccb80b42490cf142320b3b021a15ce6002ea16cf2f48cccb63583db26cec56b7798080c5117710136f846b4c722603205c5ba80a5aec62406b521b98b0843082453d364ffbc06754362380c97245e343a2e5cc03a37fa12748dcd5350ca0a7959440078286a7ba1cec595fde45ace65a17b183a421e84d49d49c76b66b8b2a2fefcaa8ba09ab32200928bc35a43101cd764cae6cce5e1a69b52b5ca4295086001edbeb0ecf1033d3681430674b3fc0782c719b3432b49e4ab594d39e6974400e904179434a10eb10cbc34e000cac72407eebb5ce203692a8a8bf5f6ac9b84c3a48c2758ad45cd6f01d88f57790c0cc443230ef31acea382b9338b9402b6fa60c60f161b8239724f4daa98aea4507c08a858b5b53557e6024045d2a20b5ab86f2b0bcd02c14d874383aca7da8e757fe233ae434a49dc1c455920f21d36032823119f85b8ffaab9904cca7098120677af6c01d4a4245bc91821a9a7ea7cb1f06801279c66af630cab9e485fdc9471683092164cb40a4973b4a7ff9d95a30055de6732c35268636b18e8bc56f1c0a7a78794f59c99240204ac445112426603e0316d5a41b8b5a3075711f315ba0bf417bf02a36e775aa04570649884f8c5bb1d28585c7e0a6ad8c2ad6dbcdcffc9b0488bbce86bf5aa5088edb1c54b625dab7452e43251107b08de4c302bc55a4dcc15f56563ae509748164abb05e8ee80177e34993448189d64082c9b2e9a36445f87b61fc8aa8f0281e9487174100ebaa97da52559d260d52829741c350ac2156ca5a9485915624ec933d58ba724a1db4963dfc83b32276b4072899901c153e20320c05923d3ac7e5279f37578d6b481839558f9df4b19dc11039e854d60b642e0069d396325d81546c0671c8134127a437efa7c1d7223afb1c34b6aa82e79c41da368d2233ad27cc9a44d5773a742ada308ba1861cf7d02b2c8cb6496261f8ea7dd3335a0823c1efab58750452079b2f5ae8617ee7223df1abb0b6bec4e2940adb0a77f570f2f3cb5bc79bee77cc01f4120e04cbc4c8baf8c5c6d0113fae12a94d84bfd7359e61b1a3dd078e477689ef4283305b656e764749c646e4175086e49571886b1bba98a7d1551906009a46a489191ee3880ddc9a15b084c308505ba344ab478b008bb98a2f003f490936cbe699c904781c7cba8826bd35187a487438675bb7b6d481c0da9300d963e38148a6a57bf9548592f5814e2a74e477051fe58892c8162ac0c9d1172bf9035d75fa404f5bbaa81b79337b84a641abf807bc064c4b7589751c11b88a508a38772fa420047ed38fdb2b0e98b21c3bfc86abb471fc8c2858d60e5fb04cd28b01de848b0ca00a58b526e6971c67028666ba6009aa1f21c8192b37633e840fdb0286ab2765c7ca5fb056b4ebf83a1b707647b24139b18092e84835423d4d316007a6ab0d63602d51ca38d865c5302e67fc6aa0e31e0cb1a0ff5b4b2f464491eb16a29297d0580a11180a72262d96889d7937a106e5045049bb2ae07310b0355dcb5550a1b70c782a5594a11bd02b7ed5b4272c7a146655b1756a86e3474219bd75f94c590b500231370c1326c98061c29493c8e85e501accc288727e071378babca4471b238c7f8410124034bc2e4050637763ff132fb668a77380af642275601b4f5535a4c2caab3e9c81e0458b5eb4c863306313c528b4e4c6e6280eb5f26a8aa374c7c5b9909c9c2b9a5da890bd49947fcf98528c5817648192b7485f1d1066b1b52408ab452833954307bd5610c1d1f7465a563419032828c68d8dd41da85815ae2778e10b813c988794684d7d6c94b5069fc9a33a4f14cbe683499b27300423223c985d300ba8ef1ba500e152caf12603b9b9fd602d13246c8e690eacb07ea5363b63bb82460a83ff802615139b4e9219a25caedd813cef7b4de8f32af4932601ac51eba73628da394449cefa269cc1b14a9d01078439650ffa6c04f392bda04ce6e12fb6990854f954c1f4395a8948add544412353dc404c170c036043864c94a32c64ca887189fe28c870a3b7daf29e93a34f8b012957e9852b5cb14051753007b8eeb23e1b9481234c2bc4724932c84528dc45c5f74f82e3b23c9c032b4c26a3594058135f51697a7b7963c8730a2f98b58bc73c900885f0883a93d008a48b7e2b0a11e1769b6ec1516593b80f4386e5caa9b906a17ac4aedfa867db10138698b95b83ba59071c7a5b201d1c005145b5bffc04c5cac4ee3456b3aba2dc64132a7633b29bc281ccbab9d9166617c288a937674368c21ca18928370d9752f4056820d64973f177fcf5671cc43ba2477748f27a69088a347c7121fa8c8c29ac61fb2ce68529d27112fcb084681c7599ca0db81c307107ada28c7d938068d51c68f1957b19522d6e91c027d59c97155539f76730a16765971834081e951521c9714b74eab110b2084b88af6e69876a78a50164335740be50cb3596931f82da67a6b49b03573f015b5e5cc1237920570d01a9efa72b03fba3d7f43da03192c9677bda40c3ac35564407464feabe25abb6232a905f34a16581130674a92f4b2ae04905da2091f0787ca343536bbc128c6528df4a12ebd1435b2c3f3328c993cca7b8e56a259252527795ecb86666548885ac7ebbaa1e8f5ac72eb8896ca6b354901cec105bd7c400a7bb01a6430dd275b36791c62a62a1aec097d1cb7732e053da76b9bd404757b63478e2653b7a4e5b742d40c299692ca0a3cb061317ac81b50b08bccd4a820b57602fad1b1997bb2375dc8966c6c4279cc744d1314c88632dbbc98d511748158d5d9c6aa37a7e3ed455003c98e87aa0d325a2e81ccb5a689f52f29c27426f63fb2cbc239284243ffcd9c01f7577bdf94d1dd14f4060861c78c10d82be90ac1031771f3400790c30306176c203884199a097b8a59998766d32521c8b13b0eec3961665955a326c49c9beea822bffa7bab4851607d241b9ea8c0c6b685a041b548c44c9242c7d40aa29fb9ff55bb45a79997998272d9cb87b198b829a6fda030a24d05a685252d574a5b528be9b4ba2a9b9a194a010a341895e0b66a3ac5b8f0c91535a3f7330b2ad9599e5c377d672b26f2680ee107518935baf975a25752b86eba8b7b213d4c9c7d85a877bd24282c84b6ac385344415c04296f8cc594fa64cf45112fbbb0ba82540dd6c14b942c283f1b81915c5be604e00c984625c210df80ecbf90a5d36870d3c2a7eab3279ea1d9b17666c382afd32a80f75bbae82a88e90977facb020d57ca3c707f2b5bd3c908387d412627b166e7661a4d0aa9b5863a3c17937ba4b5185b53d0429ff702b41b445f16ac3335070c0a48485a09f73140c21680b29d22b1f2640a154b5fe29bbf991b8f3e33720979123ebb1635a41501680497604f00b4fa9523dfdc4089944c132c8a3c715ba9fc726085721dab137ce90674722a0c2c9a5c06b5fd8841e52ec3bf7864496879224337c2a93280c3b8fa8262603f8c409865f80b51714fcbb05c432f8cc921648c8d46c5078857bed74b6272403e3e41870937f2349bd1bd62cb0f3271f436c1a4003dfc5645b635ef59294c752ac6e1267babcc6ce41b03713b8825c3fb56b5f5c3caf0988273dc710d5fb9397f9c257332fedabc0b2792c9425bd8f870f8838646b74c84341981df348cc00294be42b308b8896452929d917a8062ba8a275a0105873558a78d2a0c285923215754aa21b31933eda43236acba802ccba3ef393f90614900b4a4fcbb805b8b9baa12e65d5111ae5b286e7adde8ca263754b6aec5d2fe014a0c652d746aaf7c04e03b723bee690634b3e5c6a851a047f32c71cd271b424a9c488386c9ee72b1176aadcfc288ec23994c3c433e78498b77b51c247ab78680345ae281a11b8853acc67051fe8a502ea440a7c8e1cbab902d377327b930335ae700592c8893d2f57cc6e898194462360a855a8ab9b6f2b7e0a5267dd121e8b4bbd414470df275c2dc2535219587a5b87d303c1dbda6dfe8c467770360670ae19d9a8b338be95b8baca159e1623507d7c005f5198e86b645f472a46f2aa240a998b9a36e10b3cb8467b97c3504edb52a3fd30be8f4c833890f07c5a00d92c8d800cea8923fda8910bfbf1b8ca80a546da0c3c971bfb3943b84421f57386ee1e49e3133c6ee58cbb2df48e86f0eb45d7c1551d40f09f9bdf84c08c776a279f5f16167784ec7403204718d7fc13bd0fec
+74eb6e124102dcb3c69773c0337758a0e0ccaeaeed050964951e95bd210c481b
+Ciphertext: 6fc0a04b113abd1e86ddaafa7b5e3162d9982d6e9ddfc6d1f16902cd6f42df462c38f575967a0e4c709aad7970a49731ff5e9ceeb50568cc2174f665f8f6d2caf07c489a9bce484feb950b3f5c5bdfb299a78a602c365c0be30a35bb9912ed21f71fad0553432cacd7b608a785c136e72320b72b4cf2ff9e9ad2a8a09afeac39d5749076e5e683826843c6533cbd6d89b55e6132b2c4e5bebe5633af8828a6dd3983ebac93caa4e9e4f618538fd99d4a333595a0fc4de135111e4277e12aca47a2ee5a0caa5e7b3742c20f22cab1275b2a2d29b7465aa23b8a9dd9d0b99a66105cdeb664f1dae1d3632dbd9b9d0cb81a608d908b64b54826c7ccd324cd322906f554bec7a8393a5f8eec280182894c72ab095f2391c0743d80ca17d3c17687a99280b793c4a937e9def742030174385d43fafe5a85762fc08419faf844322e5a14353f250820e796c7934b178cb62d4f3e8a894b66fae816983833de661db18fb8611cae40d9b06c3e427f03bd555325579ecf2cad14003b8218a791989843d5d651fe138d25a6f84789457ab72f57376573d965a6b73892a3223092bb9557c9e5ce90fbfed787bac89ce20ccfebfd7e00f6d025a4c6605f7b2e166b304bb68d1b509e8cf1ded6958637dc614614a739c817ce6403cd94d09dcd9a567ddc203f012e6a27b36e57c9f56851bfd289d4453f9d0eb3c716ac195c6ea66c5f59e9373eb492a77628a6d4a73cce611016fc6a3dc5e3480ec0dbc1bc15b5125d866cee3b45ad2826d75cc4900eb6c77bc28be06bb93e5a93781b305abf8800e145f87ff8f2ad2f089729eca4af2c96cdc621d90f0c239a4181c624f67d21d4c760925ebc90ee469979c557aebb9710c44d9ba84863962137597ab5731772e45ffa00cb037c587341a29caba725c1d695cb4245676d1ea61956ff22b2a1e5217e4bb532e1bd0f358ba9b47bc8befa2883757969a77ef58bc61c547cc981d5b03fc9210fca51479c927adf2fb6c3744c74b477c00cdca7f3437caeece1967911bb806b8cbe22f7cdaf13995551b34b6c8640d29820a4a3f0c98941118d39951893b3df5308f39d3886801678b466d1e269f93012beda1f15f40a5bf8903d950df5e236e4781ad8f53ad7f72842a3bff3410477e13f89c174224018b908712f1ebbc70b61a2ea34ec28a64b632aec56024f3af6b9213cb8433d155bcfa694d73899552954b9d69525a0f020802df3e9f44f2c7058b53ef0dee574e2a2df2fa61eec1160cded0af8d257acd9e14a2d67690118e5714d7dea4f9d410ad6890134b1efe344551ba71aed16d8dfc439b01e59b7d814c8729c12adcaa848e0d053518d477e8d6b433725b2f2671851929611ca1d5d0d62f52ff8c7784321c58923a253a2fa6f0aa503f1b95b8fb7e271ec71fc55f012fa33a45b2d376078c9c61533bed1a90871b7a5b6198e51554c0e2a9759d45f90335a756daab049ee631e608a943d97ea093a3af728ae73de94d8221410ba90c5edacfea47b3cf758fa3b0b10d6b1813a9e9fa63a03a0833b9da32d61920283f2db27b14ed2f80f91d205f7e17eae4f1fea6ce5af07baf25b938857b1fb599482201b4cecd538408e08c021fabb28e55ad385b27abf9eb62a5a553f503a6e910b74693ea973feb7dd602f281bc964fd9d65be9f0ffea86b13f79cbe249a8b8fb020c6da1f2697babb763a9c75e9066794a4f92c07e03e28475882294389943ab13abe7fbd86ca6d7029da0607df8284cbadfcfd47b3778840247b670843b8bbd44827514c49370678bc178e8a0ac5b0e50893e0cf465e07fbe64194632ba98575928ccfd1d11787bfc11c59f66129a6b7b5f57d0db2a16f551514a5d3283e9665e2db9e0cb16de47bf9b264d2824f1fff5aedaa4d9eb4ee61791172a47494e459df9f11487c50c26b52a9e25e4d894a4fe94472d8d37f9265b15048341bdb80d1b13b557c3c2daea230708ef713d70e1e8a75083330b3445ecfcfaf9d34570a6d870c9f2cce87a17ceab73d674ce34b287607a26d96f6a1d53ae46ed2bc3d1075890e02a847fcb89f39ae22d46bd8868df47018517fb7aa664459594f181ca560608275b7902d99edaf699689cffe42f7ab38d983b174c493773ac4380f562bede2b56be502700032f2d23e73b14079b4ca6c11b61e6ad18bbd9048f1b33dd412581b0d34b644fabedb9fc0c6094db17b73
+Shared Secret B: e0843018596894e7d30c18b4f3f438e17b3fe73ab877c6aa5272bec765d4c0f3
+Shared Secret A: e0843018596894e7d30c18b4f3f438e17b3fe73ab877c6aa5272bec765d4c0f3
+c0e7c976d8cd8fcc99fe064a6f06c4f07f3f2e889224141910acd88457311f14274949bed90063e2797fbf8848938164aa708cee7a1617e6728ff2bbb696898d22546ccf669d6b759bef28ee26c64bafddd29dd48ca70207e227b8f3545456b166f2f72e98dbf9644962bbc1bb428d67e95e20ef5d6c374bf330237cb396d3a624808efa5a3f5c0fdc5003cdf109b49166b0db736a1e086a7b23302783c12fb370fb78f2ebe56c50fba3b939303bd40461a31767a361e19d4f0b0547e62ec1315fca6a538ad185d246b90f18ba866a5aa18bc4dc7a089f551f697a88b5fa75f58236bf57ec2f70c8f94a612ff0cabd8e1d993bf9ca8c742c59994b43f84937b3654a83d73620e47bf9fb35999b024a7d7c73fa348f8730855e87bde7db567f9baa29aed0b1841b46f6d78cf8d2743de486e44e39da76ad5e35d32d7bed20b7ff35dba1f6b85125d6899a6a0ec3ccbe3a83ff58ce39ff7575690def4c4195e29978b75c432521078cb2e9bd04b670120d8037a95f469e44e61f0abf427a2f90e7e086e3e9e2d0488ee955927b13edabbef440150a968800f94dfec49b4ce9612f3f82e73f7d23a801ee112fc35be00c237c589d92bce5341f864389cda9890782a64f2d5a35cdce1a54b5ac20d7cb1faabff329f11ecae822fe3f257060330b87736bebdd6a6a53679878f290e0fa2cb5f149ea089406be2bfed76c0cbddd513dece9a3f63ca969578c11eb684ab5c32ac9c39b70c03c9bbd8a4d89b445e7f893d4fe8e8d5e7b80bc2872e7c99e136158479f4d8229ed0334d88f774735bf92634b5c540a3c1fd199d0ed6c3e71c97214d1878dc593751df1b61005cbc3afd5bbcf49bf3dec3344fa18615030506206813f1d3aa829efeee31e30e3e76474dc4ff12d3dc3b74e324abbca1b2f656758b4dc77dc4ea21b83c77f36f98e64c7bb695bcf1dc4f6180aa9f62880a38cccb52785948f5dd4e41873f2a211dbd171f08094728814049eeb16e9af9f145a035a201e043b4e8c63e432ea4f13a7207b3e3bb141e7ae0a65c9811902134aaf1ed8aae5ec46d09739e9116914798b5bcb025904a6fbecc799dab3e5270b68ec068fbaa12717c6abda151a910d95f5fdc70fa5d356b3743821a89fb6808d359580413dd6657b6ac99742879a9d6a9ed61fa259deafbbbcfe9c48b88865a17e743cb1b2a43dba782502836b64e9ec1ea575ca70dc5d6caeae66811bf838cd3e16b30d124b4c1afa2bc663df3f7f970768f8ae15392386a00703bceadd3022f642fc86cb7d24452ec890276951f74a79b89a1b2c97c29f7292bdb13aea4fd335046aae8777b0ceb4c2c152acf512ae8a1dd389d66c3246b386e0376b640b931708280f3844dbdaefef0e0f19d5a8292af34424a6a63d97c5d0bd324262b8db3034c2917f304f52a7d47eb7f77585edc1300202c276d099168b176ada9ab636dac5653c4909b12ad75558a6f46a5412da48fba5e298c067717402d17f9f921d9e3786fbbdcc16bdf0701336a665f08cd33d66becc0740cf675379a19356237def5b75eaf56beec911bf8ffcb59417a69b0788964b0bafc1442f92e6c4921dcfbabf6a724ad00e5301386806ea243d002e760519e51e380fc1ceb250d7f11ff6cac5d279f7df89c42a0155a80d30cf942431c90d7dfd529d2b299c053a6c76392be9925900fc5eb650878023ef5cc59e715408078dcd43e04b8d6af6f12b78ab1ca7cf8ab306b128c6a37bd3020dff90aac395ccfd2fc2ca164155a9790cf660335064e8e810d79e344a115d2ff3f6dc19eaeb8394fca3cb4f1b9c4892c84798d10041ee79517cff067aa224ac7c307164c68f1750cde0a87ed1406f22942ff8b5baa930abca48ad5e528a6f33c7f5c9bd08b8e2580c1b735078f9691ae91d87d7ee5df03e4016ea417a05dd135859a98fb53911f599d53c709d527ad442406ed6aa64795319a237eb862c5e4f44c2aaecbb597b9dfc59f867f3f5853728f6073f5f70c6ea11fc0c33871279178c21a0754dd3355314a29082b36e6a2ffaa19fdd161f2cec180a41f01e6652c3c9c116e7e2794aaf9b0a9e1a8edb3b97ef475f70f3f90c082e6c436940df5085469bf1a0ae2f74cbc78ad612341dad839b98319e77ff71731d59d399055c43c85d3a1e071e9066258f85ff5b8d1919875f275d861680c494fbfeb09b5fe216e86f080205bac167db
+Pseudorandom shared Secret A: b7a241e133a1b5b2b34622c8524be454379dc7af757131d49ff3785b65524712
+2189938fefa52308d23c771d266a746959f169a9097471f222aef89808e46f9a82e2b1d3613eddb6b7f6230656323ace29c7e3c88b25cdf57838e8d5913f9510
+Public Key: 10bbae54e98c686a2b1712707038be8a8b577fc833a7a20c3016231a133f1ada4de83c05948491e8f0c5f0ac3c9fc347135619645917eefb008ab603cf8c79c59597b2faa681b99058eb9d8f14ccb6354111c61131499f5f50a2e55c6da6f9698e3c3ee1461e80754d63b9692ba41848ca45f431221d7b5c8e88960a299ad5053009378caac6875d34cb8c11432949cf1c7a7a9ed479a75626b4b74436a71bde093d493281f3496357bbc3f6c02d3d731413eba387341d2b3907e3e797925497933aa276f2625781282fbc3a93c0be567128bb50579e682426f11e89764042eb3e88d12cb9e63394d4b15af1322f5ab5c50825a3386394009caf792c0aca9c8c316bd16b3fec14783105b3fc19ceb850ba5a22aff947847a349932937657e0723e8a1d1fdb4332e25724f70b26e244c1d246ff65c237180d181301ffc03d81e299a2449036094ab1ec46d1e86c3d1c4b7b758e28445202d8b024d6ca7b9cc03b79200f6a7844372e3a90a4d431b5c1eb91dcb6a1316960cc25215e5a52cd9338afb03755c6c0a25295c9b5255e398167b325dfd25ef2b558cda802b5a717251b6bc7aa8e8369af1c851ef12321111cc6fed11acbd7bdf926b8287b2ca139a2c2371b95c0492055950dd39d3213c6c180c0e03c84c3c28a22504d96e17a6db0238ac92bb596771c9b3933a413935333a7271c3ae9ab0e36a1db7643edbc508315cce4828cf6833eb8f23ef37716f59b65e254caa16892d16b2ce0219c994c1b07b2be27d5cb4be678fb65aecca81e101519413324142c181643479b2aa64b98a08d34b1c2d15c6105482b18af1f76b6f437b75c42c761b108bd9b1bafa037c61002370846f7332e55e79464d029fba79389a9c1f89c3bcf29bfa2a86baac16cb0754dcac030e8f8c4f4ecbaa68b50cba5231e4381f51a26c26bce1559775807a730418f1849cbdacbb7efa891d91cbc195778be70ad1af67b029a7685771094f07aabca5b8c797aeacbce5e6ab0ef863903438ead7983f1d7814094abb35a024db54a20184db0db4ebcb738e1d69b95980080ccb504971d93716936456d13185a56a19cf35baca387c79392bd19b9620d386088f45174bb13b939b4c0e33dca702684395446313b1fc29667631ba3d1ae5aa98ec70b2590e576b7c4c76da0bb0ae72f903624214a6f918470777c43694135eeca95f94104d988488dc4a62a845f38d9cf4a6a4acd06ade4083d55093b903c91fa78576f028fa1458ae0ea13a0a19eb8450da3102b7937100bd3a64d5c39dc4451baccc9861a19b320768242a8bfccb351e763572018546b72a3ea1b6d27921061634c87be7c057e25e474893bac512cc0cdb75e03e4cfb44511c56a4ca7789390fb5d7035469e2c4676c9b518130846c2124947406f95362ec571e9f020e740622fc41a35a85e100370f728b8f2f25271b133f0e18f226430c632507c93a9fbd24c8256ad66d75e3db42feaab3943d55ac62346a2dbab816a59dbc206d3216ae7954490f56b5aa8ab00ed4532eaaf18057ea04b0e783908ce3067ecfac4e5b1b93d34b4a34010bb95bfef5c00ed115b8e9b0340286356ea11420438990218a939b6e727b4776c7171d6a990447da8c3b8a75b823be3b78bc91fbf95789a02b7bae062880a14754bc6d519c4f50aa1fbf402e1ca2d82c986e14514023126c90391055b6d4b3c5e80973416c6bdcd9332f0076e54b5491eb5b7b752ae1e418d96306f4e7986fa9a4dcb52b92856aa9df77742113093b7a899a627e6b860352c71030918dd2c1eab0942575402fbd63e09b66429a156c7c546557c3f8368abb8f0ada255732667ac928263b9e868acb01bdc845fa737bb26d15951680ef79634c6271e56b10f786b33e5d636c94caeb71c2567d22b72954f8cb3627e1c3b1fd46d6c83bdc0d746998649142953d5737db1a0abaee54d2f2a2391c6ab661348fcf5c4b535bcfe31b8979b3e08d32380d5c6ef532074e57942b45f0d6b2424535ac7a6c5a0563b5e60b4348b04e944af0fca476b5290d55ba523dc6eeac9ca826918c9d74db1c7a244dcc5f4227453d6144946bb2ada0c45039ecbcc374341b3cfb700d9625430b8b18ab279ca91b0fbf0b571cc6597295b4c221f93e383587778e985c630d700ab483b7cb277d37cb7276cd3b644c902e953955cf17bdbb3cff1628e5f125734d193dcc8d11544c453
+Secret Key: cf0021c3e391c4a17dae924bb0c756b240a5169a9e1765acd819c8cdfc6a004acc2d0015e84964ac6cc6993b913e6936f27a3cb94cba1d2abfd09abb0b3a2266f9c6c2193d6529132db231cf5a8968ea5963177f3d97069f8215330aa37ed95647c7943adb9ade293e96a8a463695e2a1b58fa0ac19d847430b8513c65b3078c16b1a7271bcb01bea2781634990abc10528cb9a5a0a3d72633d36c4b0d773cb4635475d086c6403ffa9700d69778f3b09afae27118e180cce63a1121506a698a959cb3404b78a13ccd9e2215849a5c734208fe22a6ea811a78ab6a094b9de801aa23907e27262d426566cdb322dbc8702271acd8536c1725cb6107c01c01909ff4402352927ea46475417a4e9b367ba6828d30a6f96274b5c372270b7e98d01e5f8c03e05cba1773422500ade6a88b67f6878e4a50b1a5a91892a43ec89cb47521aa7bca3c756211460eba8519cc6c54a42b77b220097c70761fb821add1c256156cf5046c47f2b9a7a16c3810a825071089161ee2150c2417bffbea4f1c88bcefeb3aebdc712f76a97d947e963340c8861300fc0f4626629bc81873479b1580016522c3e325401ba89c2200a41f8a11a3d416a3f699e90c962f357776837ec38c288af5bdb14bcd8b0a18ffd5380e4c1e6da3c26f82886fe0cc51ab790bd51be1a00e78138683a741bd32aa8563bef6aa643b4ab743c06bcbc670a127b1cd40ac924c26b6ac343d395510768f6a1b80de48ac8b6a09765591a49957433783f0cc601424897262156d1548e1c49e5869c96413ce512570c1ec88e0859fff4296c6160967d6c8af6a4f2b8b91f5d28834bbb44e4a7a4289bbd1547f3a42cc073541abdb83c31588582a3e09ec4a2fa6524b36a4e3bb059cfc9d7e03a965ebb3caf237cdd658350ca28590220e102dc8aa65e5398b58874d02939dc1e81fe51463325b19db480b13196f9508a9f0f075699a6f31a584459114b00528da6a36a444146dd92c76d93df8391b653c386eb01e19053976ac77a30385adcaaa5f90a1d5d291bafc35d083543d6ccdfc6278139064c155aca20578d461b311719227c6c247426995762fb714b2852122a234328aa38a219807c92b7ca595487e4908237662601cc4a4f54cea733e827275b9040638649284bcc302386c98782f0328c19466028195b3b41b573252b40fa6be1dc36721a89c75161306852126aaa7624a471d0a86d6c30e20d7900b259a6df530f412139e216982227ffdb23e094c8d2a08c65f571e469c0ba885773012af86cc54827b5c33092204a0c97695612868cf0f02814c07c7c1468044e101ab554c87eb0f0e323735c18f37ac39fa561db0accfad174a8c6cbcd08677cb2aa92bb58c2ed733b6c595836857a44075b5b7a93b01b97cc284d94979a395057550c4a0a0b596d7b403192e87d4b5d0570177f4156b5835d0196dca48823b40230c941e4e91498cfc14399c3fd3b01a5d963c43269dcc2b121260834aeab94ce21785977f47b54f967049d135b5f6c0aec7729cdea05275f3cee9d044c3b776f676877dd8beb5c75364da8827f876b9a1425ac22ad8b20d260c598f26133e5ab6139541462523d93243a05c0b03936a1a5092fa5c1e1ab583c0b318af98c5bff8c13ee03f5fb477bd4a4dee45598cc95c06b807f520b00bc33614521085448f4b6a9c64eb1408147a6b2bc18bd8887bd697b2e35356a865fd780a21fbc697116d62243f95819e543344fe58b96b4b14a7830c3440961813721c624d3fc04073fa2e902ca41861ab10c784d10784bfa154651400b3f3c9853bc68ea9c57a5c5bca666abd690dac55666b27858a4c1bd29bb4a5232b3f11c2daf4b7fb7052c3ccb7b1921d9003a7cd8b2297c23ab5413f758c8d1818a6bcc10ce15b71e9b3bec9471013a1ae6bb03d0b13c5df456919217af19855e724c10795473257b09dd6554677875897154b7117e049a7a0e16eeb4ab5539916f4d47bf6a080bec47d270965b6f90965c804bb06471e3b25d0f77e75f72a0227cb731acd443a0b3fbc600cd5b7ff08342b590c44e4b150c6153336406449c6295a0d89199cddd4268333cb9d1327be006337d6cbf238ba43da2d2f1c324af5cc24e6497dd55782a16ad23a23c27958db50a19f95204c54b06ae0ce282a9c7918bc10bbae54e98c686a2b1712707038be8a8b577fc833a7a20c3016231a133f1ada4de83c05948491e8f0c5f0ac3c9fc347135619645917eefb008ab603cf8c79c59597b2faa681b99058eb9d8f14ccb6354111c61131499f5f50a2e55c6da6f9698e3c3ee1461e80754d63b9692ba41848ca45f431221d7b5c8e88960a299ad5053009378caac6875d34cb8c11432949cf1c7a7a9ed479a75626b4b74436a71bde093d493281f3496357bbc3f6c02d3d731413eba387341d2b3907e3e797925497933aa276f2625781282fbc3a93c0be567128bb50579e682426f11e89764042eb3e88d12cb9e63394d4b15af1322f5ab5c50825a3386394009caf792c0aca9c8c316bd16b3fec14783105b3fc19ceb850ba5a22aff947847a349932937657e0723e8a1d1fdb4332e25724f70b26e244c1d246ff65c237180d181301ffc03d81e299a2449036094ab1ec46d1e86c3d1c4b7b758e28445202d8b024d6ca7b9cc03b79200f6a7844372e3a90a4d431b5c1eb91dcb6a1316960cc25215e5a52cd9338afb03755c6c0a25295c9b5255e398167b325dfd25ef2b558cda802b5a717251b6bc7aa8e8369af1c851ef12321111cc6fed11acbd7bdf926b8287b2ca139a2c2371b95c0492055950dd39d3213c6c180c0e03c84c3c28a22504d96e17a6db0238ac92bb596771c9b3933a413935333a7271c3ae9ab0e36a1db7643edbc508315cce4828cf6833eb8f23ef37716f59b65e254caa16892d16b2ce0219c994c1b07b2be27d5cb4be678fb65aecca81e101519413324142c181643479b2aa64b98a08d34b1c2d15c6105482b18af1f76b6f437b75c42c761b108bd9b1bafa037c61002370846f7332e55e79464d029fba79389a9c1f89c3bcf29bfa2a86baac16cb0754dcac030e8f8c4f4ecbaa68b50cba5231e4381f51a26c26bce1559775807a730418f1849cbdacbb7efa891d91cbc195778be70ad1af67b029a7685771094f07aabca5b8c797aeacbce5e6ab0ef863903438ead7983f1d7814094abb35a024db54a20184db0db4ebcb738e1d69b95980080ccb504971d93716936456d13185a56a19cf35baca387c79392bd19b9620d386088f45174bb13b939b4c0e33dca702684395446313b1fc29667631ba3d1ae5aa98ec70b2590e576b7c4c76da0bb0ae72f903624214a6f918470777c43694135eeca95f94104d988488dc4a62a845f38d9cf4a6a4acd06ade4083d55093b903c91fa78576f028fa1458ae0ea13a0a19eb8450da3102b7937100bd3a64d5c39dc4451baccc9861a19b320768242a8bfccb351e763572018546b72a3ea1b6d27921061634c87be7c057e25e474893bac512cc0cdb75e03e4cfb44511c56a4ca7789390fb5d7035469e2c4676c9b518130846c2124947406f95362ec571e9f020e740622fc41a35a85e100370f728b8f2f25271b133f0e18f226430c632507c93a9fbd24c8256ad66d75e3db42feaab3943d55ac62346a2dbab816a59dbc206d3216ae7954490f56b5aa8ab00ed4532eaaf18057ea04b0e783908ce3067ecfac4e5b1b93d34b4a34010bb95bfef5c00ed115b8e9b0340286356ea11420438990218a939b6e727b4776c7171d6a990447da8c3b8a75b823be3b78bc91fbf95789a02b7bae062880a14754bc6d519c4f50aa1fbf402e1ca2d82c986e14514023126c90391055b6d4b3c5e80973416c6bdcd9332f0076e54b5491eb5b7b752ae1e418d96306f4e7986fa9a4dcb52b92856aa9df77742113093b7a899a627e6b860352c71030918dd2c1eab0942575402fbd63e09b66429a156c7c546557c3f8368abb8f0ada255732667ac928263b9e868acb01bdc845fa737bb26d15951680ef79634c6271e56b10f786b33e5d636c94caeb71c2567d22b72954f8cb3627e1c3b1fd46d6c83bdc0d746998649142953d5737db1a0abaee54d2f2a2391c6ab661348fcf5c4b535bcfe31b8979b3e08d32380d5c6ef532074e57942b45f0d6b2424535ac7a6c5a0563b5e60b4348b04e944af0fca476b5290d55ba523dc6eeac9ca826918c9d74db1c7a244dcc5f4227453d6144946bb2ada0c45039ecbcc374341b3cfb700d9625430b8b18ab279ca91b0fbf0b571cc6597295b4c221f93e383587778e985c630d700ab483b7cb277d37cb7276cd3b644c902e953955cf17bdbb3cff1628e5f125734d193dcc8d11544c45332b4fcd137c462529e3c686f7872ac45003e99d92b952ffa3ca84b65fe43999d82e2b1d3613eddb6b7f6230656323ace29c7e3c88b25cdf57838e8d5913f9510
+c4cd71c42568d623762266a4192863a47bfccd3a8129292d88be0e0330b8e7c3
+Ciphertext: add3b91f90eba438588d42c606bc4ca5a1a3eb68a065e4c78cd6f5e06ffb21b04f7d21f5b84f157a922cef24c6dd387f7dab40819ff64a19ea6a7ac5440499b593b6f0d15232c36a81bfbf1dba0975aa108ccf92e83c8042b7d3c8bdb2b9d5fdb7cd57bfd1baeaf829a6aee9be9bef12542cfbc3f6d3ecc8f8a035f3b26d2d365af39e512cd7c41769cbce0916e7a8797eef18f56c881cc3f22c2aa22fbcad9bdfb6c579f7332ef4c9bd04ad6ec8260c130b7f6115f30f2d9acea538870110f53853462851fd6da7cd78929171dd9d86015230c978ef5425feb66c0e7d3b4674c33c76b28cac56d50bf8fb0f33accca2ecda4016f61964dca6b02f23142c335a719e80b41dd2da0fa3e4c046c60f650324383dbf0054613c0fb3a4d5d5bc079ba3a52f499400992fa551121e1c882faa1597c9c9aa56c922997e10eb7ee152b9756ac427a94459b295d7b634313485ef952da7a62f6656dc5636a9f9c9557bb24a902712804e90c2350467f5e0f98e1caa7eb607ab75d686ec02ca4484e53f47b02d0d29887f76e077d299c40c592e29869d0af88a6f492f16dacf42331237160dd13783b963e1e8575ba5b0333f08d926d4b5398ea06b958777f8eed6f871623979c60f027cf6479de6b0b264ad9444969e162ce5caa73323d7e5f975fe27a2fd6a0744060c8009de9d7485901e9f94fa534ceb574a20baf10e83fef7e6c42cf537fe31248642da27bb1ff584ecafbac4afa31b618a261ee701f6be9b4252f8a1bc5585b3325a71425e4881cdba9ba9a51dea290978d08cb27d7d66b9fadaf4201ad2809938dffabb764797eab9ab3e414e651bcfbc28150b2c24bce42b2ebe8416888c6bb5eeee303aa3cb51b4adfe85d2b10a3b210f649e876220029c214fc2515223d092e071913cf9f41333ff96a7cd4ca1b4ddd8fd131c45d9e3d131702716cb5326c16afa68f75e96f8ac640653761b1e985293ac807413097fe0171aa938c37ba24eaaf3e804a20aab1ec88d29adc30b21e64bdb9c8fa5653b329f2d35a61e0a03f606e695587e5366e4f6fc110749e8119ddcced6f3eefd7c644f23756868250ab8672c2f3d3a35a56fc4bc9d08417b123fef1ea02d85388a7ab553a75723fd95100ecdf6aedc15aa4335210fd2a2d72aef3b98a23aadcde51d2f2ac40d18db3bd81b02f24bb628da360e7e08b41007257ed2cea3a0cf7e46dae0457aaaf9f94fa3ed672f2a39c4316146b778d2dc5e112668bb03edc02ea6a87f64dfb4b87122dd5cb8db4de49673f644543386d605dc1f6a80fbb05c8818c56146245f272c25dbaabc7b9408b66eea1c39bf8eaa45bc40a75f968daffab5def8528fcd171116ec1573bcfde24058233d5de480b93c8010e1a9dd2555dd911ef1e75af9167fad115325bbf0b0fecdb48d7b1982d7bd7d8a61f8486a564e70c48abee38216769cd22d53fa19ec4b2d742bc7a4aaf8dcff8a0c7d53708453b9fdc30402c25e3c403ac2a1e0d296fe1f1808855727e290c2b6324dc81d3ccda31b5611584f320097ec5dd32e0a668d8688bdbdbfa90d1cab5752018697fb35904728e55d28906c934ce2ae3f487945baaae95dbe0f64f62643daaab96c4a8833ec5f89461d9f59c5d992a0ac73997842fb943a8c1d98ac167f5c010bb2754ab2599a5d4effabff3e4b02333102ef15fb16af1d91035ec1e7e11925a9a09466cb2d35ef0385516590186c8d8eae49f17454d199e37b97d6d4a4d381a8ae6208aabb8a12fedbe51a3db24fdcb87ebefc3322944c676df633beff00db2d2b7413367fd87c2a69cbfc792eb3a7ffda6565199997e0e5e4e8afd5004541b0086536c6ac6f666cf719cac4bbe296b8cb336f9c01b87ca90c3d082385838eb9bfbad15739c0ec6237c92bfaeea5af365bafa0d9c5564d354d5537dcefd9ce8ea6d196d2cbd370e3856d7381194461c9881fe1a5bd5cc321842947530c89643eaa66f7e3738880d494cba19b0c53499aee391fee832b469e6662145b7f9a66928baf372b9a76adf915d67f09e758888d928bd2ffb1ddf4c636a8c47ced8b07ce738f29de4f833f8e1a393c6c8408869c02a092360dcb5ec2beb0fb84f1a0d6591ba93dcbc107aeae18de691bb663ccccd4376e4e3d647d9b123735f20e821b3300d301381abf0ee83ff080094672ffdb5d7d4f1fc50e78cf30a746d35a1edf9e3fa811a5beaae0
+Shared Secret B: 2b0b937c5ec16c2a42a0173c3941a241011e8dad621d005b4c0354b3340eb3bd
+Shared Secret A: 2b0b937c5ec16c2a42a0173c3941a241011e8dad621d005b4c0354b3340eb3bd
+b3c37c40d5232f9b54f2042cc4212da1fea9d5f87981da61776b9a438b406f997f035200286c4cdb56ed3dd208ade0db940f7b5d2854d147f12b6d790496698dee36015ebff61c92a3f5fc80e0cba131717d6c23c01f680b92b0eae722e4dd94e36d40d99b248c4f0e4f67404ebf63afd0e9accbd24d2c8b3827354f2c0037736063b4e041ab65ce8611ed1d391f517d42d43add04a46b7fc3e8ae4f1fc27f16b606ea69e98d9e3a84c0db999efa55f212456e83a52de44d954f6e633e92cb2cdefe1aeef925cb2ef7906ee0f2d812fde71dbcaa6c6738632dd46a9707969a856166b74d39a55e517b1f797b663ce390db36b28ba000f5875eade3eea23c3bf6c4403dfe774258876c1883f7a1fa89f19e5e2d584fa92c2301abdc6f306e66708d85f0197f48ec85bbc020c6aeee44b5ff7c60346cedcc0d3d4491a7c8f1e0bc21baa814d543f19b0e21585322a28e110851c3585639d1ac7b070ad7e0c2777746f5f3bc6efefa9aa517ee57120dfb98508e17566b65ff6bd04685b4a08677ace592d33e821173f3fd128a48c60b886a6044eb8306b10cb3fb5fcc330a7dc83da0967b077ff3e889eb284a613d38e1db5e694a16f05d12bdd03e012794e6637ce2a71303aea34cc07799292cb1925cafbd10e11570b5a77cb5222b8490cfebf697d8eda3bb985b28181e53d514da03b435ca80c6ab5e05a24bf75097ffb75671974447e71dc2b9ec55ab483c764d887f05aff8d4e0d5a9fc572cfb02592a880d344f649c14bb0707e265f50df285de5b86a2143b29b009a27c322f8614f29bc1519703330e89d99ee4c21fbe8b1389819d9afe0e3eb4bffdce185f425938e109f678317f1bc15245304801ac06498d60cd5aaa109ed30999e2db70ae800b5ed81550e3188d2c1a11aabc8d79cc215d83e6696114603c81ae986ad7447979e61bbb59ec64620491541a667c110276e8bfe1112af2a5cc2894feac44e748e59ec27ba62601adc3386451bf794f63cceeaf4695c00672df7a9886464a5e1b81c67b14d68f93a792baafa76e9d4d1e4c36e66004cdde39cb1db5a9611ec190108ec4fa11fd722c2146cf3bdf185cd10157afff91963fe69cefacafdb69758a72ee96b1d767f2e664f60894be9f49a841d885524e1ced1fd11224fa6c9507f495fbcc8a5fb3293219cdcc398b3d6258d2995996a2417eb65bc755f2781066dd57cf3261aefc62f363a1c5879534a5a04f0586d57f18fe8bd1af6dc548238e0fb85f4fd35e4686b369a0cc22ec1851c33facba8e033d09f09fc85c5db194c967d1a61b5e6c7625b74412a3ef6272ca86125a0e01358ee9a22ad15eb19417d3499868eb086337b3b0a30202411326f4a737b54f13c2253eb37dd32a0fceca907e211c13a94008a9b78d4737ac16a593e830200138dd3fd2f2a50b14261fa8aed6726d11a14658af893d685d7d5c70dcbbebd2d3ace07ec9ef307c597a03e70b8d33ac1b72f63c1017c79a864119038ac5357aef466ae272b9e1fea08c456264c9d0d6fc24a13db59a1b203a83e5966f856c6bb182930e47828a76b170b8fb26e84bb322c33c2a468ad5278242179c8af14353dc6bf1137879b01f27eedb831466ff4f2bd24046ad1a3d9979a1749b1a0a92bd399ed87573c3a5e0462ba8a0c324082047d6d526900bdb61cfdb80052ae92c801ff23d86edd32439aee092b7e1a2c6484fb76d12860d3476b2925f7a2fd015505440a2edbcad722538b4294678d849f06785dd7a7b67e0aea2a86394b494f6a287bd8548a7318a7345fa9781ec0ee49bf922f76bcdd91e212b19fe63bc1c45937cd73757db80dcb3491bfbabf282668cd196e9c80e5e725ca1dfbb969d9f1644f77bf709d1a67ec63a008fe0c857f50d0b02b1363bb26243b645e60ae363b72046b566be9e3f74a6eecc046e7929ee741454ac8cfa789b8edd201e22cf0356fae3b6cee0978d37eee27841e177df479242122e06ac5fdde06d61f48338dca653a6360e3d33a5535918cb9586854a3ccfa59aa56dc3c27a606ca77e81f5882171ce1ea288f5c75b9f99b3d9eb22d143afd99af2f3dc53844bbd468f5a7d02940df15b3ae046ce9165d2abafd62647fdf254148586019a835a709207eab4fc309ea0e5253c590a9828a26eeebc7f0ee539d42f91bbe46710ad548111aa5f42c6a412fe3db49456caf18e2bd95ab36635bd05
+Pseudorandom shared Secret A: 3b58aa26c55940f4d6adebeb12cd308bc928ee39a17e28fa49600221cd62ba81
+0d3d4dc5fa820395088e60b5ac1d1d9ec2c09f21f878de6244cbc2dc6be1c6f2ed78e66e5449c3742f047c721f05dd635f59a4b41fc78b69938971c5dc65a842
+Public Key: 4839126ad8045103b89776b6d2935d374b93b06175fc1ba9460b07d42ca450b491f79c3f84ea2df494436cb4c7159b8c4fcc6e6fca7654d9b90ee3375ae765ce6834ad099a2d9a87c5a3cfb8b276c279739a92c76946366c5303ec5c009c4b41af0955152a09988315ce17b1172624207172cec75b9c86c9d1b76137202dc0d1041b4239bb246f13b36be602bd28f4c998e684fd98a10b411504e01808800977a64191c75dd4b437f9140665a82799562020bc91c97b7587a848816cce54d1ce32d7a304c59025e0620773192a904eeba7425852a9b93a938b745a574215ad8ca25aeb6553e68db5705ac36b3a85586862a606c715895f917b0d8c3469264880c265fd879a75e0987bda3fdcecb755b513b8b219346b2709400b481acb3673a876849ab68ab92d1aa639451a18f6942d56215643b5fde3b65868c72558b25b5b6b430ca105589f8185672470732f943918a5a2682b4fc7432e5c70a7af24c093a973fa09a0405761d1188f02739acabc613650bbc3328775f89345b391fdcc965ed23804f2778e323fa72a134b39a26feb0a531479109416ea23b86f7229ad38b6a0b390bd060c8446882f20478995ca7244a6d7b3a3e9b6aa89419d549ca4d93b65a477c8a3a62823b49f213cc357342ce556ab2a77104b6970e9868246a78dcae98b65244701baa3072ba302395d506975d01c89ca10861a1b0059a25d19e64cfc79155d80917c960723f880ba3c657ea14819b12c3d36036f5c60fc6340d589386696aaddd862639868b308bfa0fb825ce79693d10db3b0a1702a235fc790ba9c41ad30721c408a2a7131559b449d6513a1d37f5819a252c138f346842909039d2971f3f4a7c5e80b3ca21531972131196355da40f3784606889aa9a112d4a19908739c8cdbbe32caa96ea20282243311799101e7c2a7a922a193c23ee32709c6045d5c8eb258b62e3c3925584af071279bda7f00d196a693b5bcb232a223a0d2422d84557dda2c371c77b26aac7384925d77d0c5096b6ac66819854c06a9c5cf63292ef78cbfc8455c3e4cccc003a0b6d5705962b739ea5870c91a6907a09d9c91e0a09e9cc6af53a28eadec3f643461794b1dcde0b9168014a0363b51259d7652214df216fb7219f99212604a8cc7a7b60e1979cbec077bf22271d65efef40f19d800967bcb57b98216c939d4821c5fb710f2b5934077234fe5b5b0315573f275356a92370585d04893ea6a9894b755c4a5c52adb95f38744c3f047b171c7bd9ab04a5724e3b82720671f8c686f7e6603c1836fc0696b231175f2416fa317a34ad4bc9d858abcac5abf0924292a243adbad5b19a38ee3549c4739fef2290994c5b10566b0f0394d1568a07bb6e9420657c1787ff450f7d60a3e204c4b120718558f99042d0b962012203e41011c68c5cb2ff05e1fcc095b793fe0f76790ac44e5fcc88f774adb60961d681622d978b706c73a84119639819f07d074046103373d00d18fd9588c66b13fcd25a101a1b9f0f84dd35b092e5a7689045f53b383a768b13e060f712712bce37bcb06571360849223c856a270f45027d77806e2d5099a171cbdda0b43b0c4122b5922b239d4d03ca1a374dfda60e778cb71b60e5990b8ac08b819a9a140c255e2998693a80dcfab730dca167a1aa5df895621f11c51867dae49881fe27ad8ca94dc52966b813a5ae254cedb14e43343a6c560e2767a96fb79736c3f02a3379e829fb702ad378a8a61f49caee772df8c70fdb7526d576b2fa595cc067835db71ffc3333e963b62d41f122bc6b835739c876d3dd147bdf5cd93245220087484f561ed21bf4c171445b3cd4aa9ac890874744578dd2c2713f70bd9833a62955597ac935426730cd89ee603c99feb033031cc3d09373e699038eb8fe33821896ac5b218c7e57c2fc5e3cdb79ccf3fc8c7d9bc907ff708e8f57c74f6073af094ae76b807b4655486ba2f934807171f822ca41ca68a4fc80d5ce381d2c20b48476007c12ae3ab55914a694d06848dd6929c17c82f1c9ee7352275fb2cfe211eadf73bfd785b3556b7bad8258aaa6aedf0479a7455e0a87c01f43828247357d953d78b2905d325b0c1b4a77a12ce0022e4b9925b07236e45c572321cbdc530032b797232765ef293a0745e3314c8a3180129371efff34bb77de0d45d9cf2eb128256a10ccd32c2faa0b4af995b61ad5adb7abea9aec909
+Secret Key: a135265321554f92546ee70421414af86a9b90006d21a8149107c64770b53fc82a8b8b28d38573956008164a41ac310d2bd1555dc61e566c82efa58db78a87edf7c7d432b145235f9d305d5a1b06b18a8b17a6334c02349af2727b6087c453ac128356ca46b945520f67c51d7e9c57c7d011be85443c006f486353535b0a57c916edd39116b6babb304e7fa32d6f09815a7681339503115b9f8f90ab4367088e5792684057c4018da4878a9bf90267572875341c5c945e50cc0d03d1032c0bc1403080729108a60c549e3c6fe5242b02168771a388eb3665173a853841ba4665705da0069af1ceb833c960e70ee734c840942deb3ca9cfba03c55621861b1f5f892cd3ab1950674354472e4c24b3eac0ccda134c8f2773aa721bf182c77fe72778dc2e814bb25f17337989042b8860b1c5bc256b6d695b25baa14b4186bead5a7294d8bc6a0c881523264c2b8b793987597b5968537c7f75aa9c2398e4016410dbc2ee60c8d524056d702ba0d6ae62d668d82c188eea8d8216605b18b86b199e65902ac75ca27b23882f4907eb03583e407ddfa46d992b612d505d77c32d6dc504285518c02b5d6414adf03c7f56a613b696985c175b77f16ec2e5be56cbb1525983dd072c2f041ef7579bf3cbcaf773b9f08aaa8d4bc7c923a2fae9a7f67285ad349168c3b360a93262fa7d330a7f1ee34bbfc478ff623922956fc6c839f02c6dec03bb3c1b55ee3128c1005c8e987afd9bc64c4c6381c02007d8508c8b8beeb35c0f793f5df55ca2158b66a87dc4176b56b0a4475a75947449b8a8cba2359f526cca0b41ba7011b7ce4b11016b0c12443f0181c124d485130051a87b3fa7f14ef574c238b479f22513be5b531b43a09336bfe770143ee84d505bbd0510480ddc5d2642851fc91959da5f8bb2744e7bbecb5c72abd56a4460a90df2ad438c3ee3e2a205c15a296b06e47a9c6812c2ada9b9c3070d0e641af3d9260c49cea7d33d58ab87d416bc82c83fa6f370e7f2590ba2291de19cbc3460ff53ad0a2c232ad6cf64ec33c3c5cef31304ccc5437cfa7e5540167fb30a35310b9a4ccabe008d3ce2389d534656761d68a998ae783d238452af4567e3430403d585d1b401582852fea3b56da24903e1abb1f287234976ecb170d36823f545178ad4bc9a426fef31436c650327a4104fd77dfac97b8c25c8832360fc7c5a465392c3c6c0bffc717ea66159489d76d0036bb5c9bd484071131643b6018462051347c21f4738df3c7014e16049d56f06e448eff5722ef73bd68700381bb1a582a7e9e8a27161511b550d04d2679463255f924cbbd17b96bc4c13365a3d8cb9cda80511a75a04d9381d18379879127fb35932d85b36ba937b0169101b3dd2f245b43a4d2e13ab5a07c993ab9d3f7a69cd9874d7f031c651ad54fb9c11e52f57945178f85d8879c2b1e05e8f61c6a68c553910610d063e024416310c8710838eef2c469c5a5d72f647a59a1b6f75443ef3a701a854bf4c4b70b06e5f4011fd3b1e2a751a00017b0ae3988e6585073474f10564f28500b913b203126c027760c1e52305fac46c612e2e3350ff66815829c3a5576c859290a6340df6161a26b1c86d04600781bd0440805db19ee41954dcf63a4c051c6d6800e0302d3ecc21eeb97207b23362fb336df313fa00940c4360c41705b1183596e18cd3f8925e7bb1511059b031ab7e003e91d6cd879068a662873e5893d04b9a5e68b0ab4524912398cbb7340ac8c78a551178803372097bf642438358a9119a4f05aabbf6ca56f1439f964b3e43e92d8683380204c5b7373f78d3704676c281d3535d230544a79613385ec9f5c5b8f52661f74134c890ed3890e4d567c2043096f65b852408acdc7b2001718c1a94b8716c5562b20cd7c7817acf2831433e4593eca897b9941ccf657de22361b0129024293fd61b3eb8468b6f07c8b143b40c365f88c7a7ada2a9123784746b999025534408ad347a9d3e5c8154140ca723a4af70835c36b8f22cb97bcaa12d1313bb0631cd34c45495b5580122dd3693b2583948a287ce1cad2f43c64b60aca0674f2af71846901d456239755a6661874eef5c8bcec7ae168452be18784920963dd42e128266dad63497f3c6e9bac0742c30544a03cf893bb2c79efed147f0e9ae3ca85a4839126ad8045103b89776b6d2935d374b93b06175fc1ba9460b07d42ca450b491f79c3f84ea2df494436cb4c7159b8c4fcc6e6fca7654d9b90ee3375ae765ce6834ad099a2d9a87c5a3cfb8b276c279739a92c76946366c5303ec5c009c4b41af0955152a09988315ce17b1172624207172cec75b9c86c9d1b76137202dc0d1041b4239bb246f13b36be602bd28f4c998e684fd98a10b411504e01808800977a64191c75dd4b437f9140665a82799562020bc91c97b7587a848816cce54d1ce32d7a304c59025e0620773192a904eeba7425852a9b93a938b745a574215ad8ca25aeb6553e68db5705ac36b3a85586862a606c715895f917b0d8c3469264880c265fd879a75e0987bda3fdcecb755b513b8b219346b2709400b481acb3673a876849ab68ab92d1aa639451a18f6942d56215643b5fde3b65868c72558b25b5b6b430ca105589f8185672470732f943918a5a2682b4fc7432e5c70a7af24c093a973fa09a0405761d1188f02739acabc613650bbc3328775f89345b391fdcc965ed23804f2778e323fa72a134b39a26feb0a531479109416ea23b86f7229ad38b6a0b390bd060c8446882f20478995ca7244a6d7b3a3e9b6aa89419d549ca4d93b65a477c8a3a62823b49f213cc357342ce556ab2a77104b6970e9868246a78dcae98b65244701baa3072ba302395d506975d01c89ca10861a1b0059a25d19e64cfc79155d80917c960723f880ba3c657ea14819b12c3d36036f5c60fc6340d589386696aaddd862639868b308bfa0fb825ce79693d10db3b0a1702a235fc790ba9c41ad30721c408a2a7131559b449d6513a1d37f5819a252c138f346842909039d2971f3f4a7c5e80b3ca21531972131196355da40f3784606889aa9a112d4a19908739c8cdbbe32caa96ea20282243311799101e7c2a7a922a193c23ee32709c6045d5c8eb258b62e3c3925584af071279bda7f00d196a693b5bcb232a223a0d2422d84557dda2c371c77b26aac7384925d77d0c5096b6ac66819854c06a9c5cf63292ef78cbfc8455c3e4cccc003a0b6d5705962b739ea5870c91a6907a09d9c91e0a09e9cc6af53a28eadec3f643461794b1dcde0b9168014a0363b51259d7652214df216fb7219f99212604a8cc7a7b60e1979cbec077bf22271d65efef40f19d800967bcb57b98216c939d4821c5fb710f2b5934077234fe5b5b0315573f275356a92370585d04893ea6a9894b755c4a5c52adb95f38744c3f047b171c7bd9ab04a5724e3b82720671f8c686f7e6603c1836fc0696b231175f2416fa317a34ad4bc9d858abcac5abf0924292a243adbad5b19a38ee3549c4739fef2290994c5b10566b0f0394d1568a07bb6e9420657c1787ff450f7d60a3e204c4b120718558f99042d0b962012203e41011c68c5cb2ff05e1fcc095b793fe0f76790ac44e5fcc88f774adb60961d681622d978b706c73a84119639819f07d074046103373d00d18fd9588c66b13fcd25a101a1b9f0f84dd35b092e5a7689045f53b383a768b13e060f712712bce37bcb06571360849223c856a270f45027d77806e2d5099a171cbdda0b43b0c4122b5922b239d4d03ca1a374dfda60e778cb71b60e5990b8ac08b819a9a140c255e2998693a80dcfab730dca167a1aa5df895621f11c51867dae49881fe27ad8ca94dc52966b813a5ae254cedb14e43343a6c560e2767a96fb79736c3f02a3379e829fb702ad378a8a61f49caee772df8c70fdb7526d576b2fa595cc067835db71ffc3333e963b62d41f122bc6b835739c876d3dd147bdf5cd93245220087484f561ed21bf4c171445b3cd4aa9ac890874744578dd2c2713f70bd9833a62955597ac935426730cd89ee603c99feb033031cc3d09373e699038eb8fe33821896ac5b218c7e57c2fc5e3cdb79ccf3fc8c7d9bc907ff708e8f57c74f6073af094ae76b807b4655486ba2f934807171f822ca41ca68a4fc80d5ce381d2c20b48476007c12ae3ab55914a694d06848dd6929c17c82f1c9ee7352275fb2cfe211eadf73bfd785b3556b7bad8258aaa6aedf0479a7455e0a87c01f43828247357d953d78b2905d325b0c1b4a77a12ce0022e4b9925b07236e45c572321cbdc530032b797232765ef293a0745e3314c8a3180129371efff34bb77de0d45d9cf2eb128256a10ccd32c2faa0b4af995b61ad5adb7abea9aec90937f7b50e7893443d5307b0679d0a22865a0f2c7843962df7645fd58e11616587ed78e66e5449c3742f047c721f05dd635f59a4b41fc78b69938971c5dc65a842
+d0879848b4ca0ea43286671a6880b4d827da29c9095d9f60a4507e5e81900da3
+Ciphertext: ed884a23127f91323bb002ab98a5187e96d96b847c006da965b9f2e2a4879d06d32aff42ac09a9f646ec76971039148c6d12f6055a4272b9e6b8bf658cde90403715e42d6432838df465f7b896d252559e3f2be076d4ade65be5b7049116540df66ac8e35796316c7fad0f5cfd2faba3426b1c2c0a11adf666c7bccd6191a9b8065838df9b6a0e4d8a884b53d3ba743a3950e26af789a38485ace09fbb569e3f1bcf22f6b55949166bc58c163275c0e75bb8877e4013496c03c4d5b7316c36b108d6fca3af67df96675f5f516291e4659b4fcd00177aeff942193a95988b75eb4a3bf28d80effc3280c5fda1860ce56b699756d23e80f940edcb0fefd0510f7d3a01e9188e0740825e2ca923a4aab19632a6149caf8e1d851134865a641e51c2aee3d415c8b9c95729835ea5189aa6ba69837b72de4e0d5fdebeec647632a6daeb3bf6880fbdbb2bea91628c3771fc34b85aa46833df1c2880d1e9ce5210c2c95c17c0086a9bd476641bb330b5296573f32b28151d454bad14534aa77dd0b97592333ce4378b5e1fdd980d1ab0613cc3a129ff31faa17b561ea39b3426290b1c81bf6140d190f7899d4868a28ca1325f3c0ef2b5f0fb208223b142a55d384d90d5ebf9de9c37ed9f5d6aca1e551349ef922a2e417e939a20ca45c312e0edce01df1fd6f5a93ed9b1372131ff2ac69eb0bb46ea85f17273063bb16cb9eaadcee0f1c65096cc1bbe3f6aae45f937da11d20c315e22c7a9ebb637251f8f8db1fa0ca84f373728133ef70f149149db3e9e3793e0b46de827f2ed68c118ad61c1e37205106beafa78f3e697eaeccc6037c0dcfd224f4e82fe43fa89aae966c7053c5a16b4f715f7917f66453c42505cf5ed272df4f158fcad62d6ede3acfbb23bcd40d0d9a13c64936f3933db529eed405ceb9eeacb7c21a74409004715c6d04cae66fd4783c63ea5025e5da88bd3605627832e157d2910d6e789f8f8236fd50ff3a032bcb7881ad78b3bc0b8cde35c8508564bdcf1403f5bf5b6c12d8665003384fcb7cb7f683cb464d12c9f697aa74dc3d06f77a23dc8e602dc82d2df22022a9c8eebd39f3beb7ffa33a85cbacc07103c94535d2d0ce42e5b9ab1d61bfcb5a0570c4512b2d50e3ca44ed6f0b7a5f333e8ea3a5ff6a69c93912b09714750a14c5524747f1ccd0e37933946f8abefbaf250262b756fd6c8167a73cc8fbb4c5235ee2737ad691c5a3a53e17ba100273b37f55050379eb729d294faaf78fe48d22a8e13bdd524ea6bc29489f5f12bf50a38b68925ef7f163433ee6af5a287f0279ad22a9b5d16b77c79575118b6514a32aecc0e52f13929a72f57f52c32a3f194f7389a0e3cb97401b8852eb1e185968e93cfd6d2999c3748685225f1c0d3f370ec04a635847afbd8c4a117ae3a73294c85c31db664fd38d57b222a150135a1b91ec62f9e8264d89fd47345622bfbabc8292fcda9bb2c3d9bf5633f7d6f9075c02ed9b9c1a3f402d2f8698c3e3d953c3e881fcbe6a7dd7b9bc22d5778f51e4f264203fe39960326f34f0566a094bcdbc4dc6bdaa8805a37839137bf20f063b081444de4124d8d199b942704e5953fe1127449b70e4b033dd8a1e5f8e738fb43a7e9ed8f1b28f90c6a0dfd6a62dc3e44c5c84ae0c6145bc2e2c9924783476b9ccb8650e9febd11836cd224d0a2541d8889a8e82180ecf5dfc2167be1ce744aab4f52716fd966e87da0085c9bed95f51f5c9d16a9b115d54951837c0b338410d406ba69c450d510d0c37b008be68c740a53f0e496ef1d843a7cd9bfa72dd2201441918d9b830347369e47eb0b0e05769b02d8697becd646e02e667a4a8c8df51232ac4f6d2cd62daa672f72a66a5a13e430dc4f78eb7e574fb2665699da1e38d591f2bfe0cab6adf088641ad5cd05f5f617514861e9e31c4e99c03eadd7e388228a49abdc04ad56b0e884cf7b1d1e22cc472025d8a3b64032d89d721dfae5e753ce7af3140ff9da038f4634ed06b83589451dcef3f02b0b7d6862f247a25d87b3d6966a996802167bb3cd13c51e54d8b95d4eecd25a4edddff5b48c20833576ec671f83704086e47f3d707075a91807ccc8424707af1b32cf23838bfda7d3c6f6b0f81239cf0e89b334342a270e5c4344b8a70e1c81b8ad3f141348fdfd812ff622f270e638e194179a0bd87bef92896edf666976a1891434f70763b9ee7e857fe575ee8e
+Shared Secret B: 69e830ed194f88e996ed62a3075750abea5beb80ed7427fa452f45926ba06799
+Shared Secret A: 69e830ed194f88e996ed62a3075750abea5beb80ed7427fa452f45926ba06799
+15d86d853d34d0c877ecb31ca402d2b5eb2e04bf35ffcea6b231e4cfdd3a17762223365990695fa790a191bacf68f06b9af140b63d5e3d2a2d0e7db42b89daf01d506c57d3b9bc59bfbbb55fa89a3097dc208efa694f3372a04de104018e4085abab7d9de5aa0fabf61ead07ae6bed1e1a17477c12d80b783e439fd347b8587c8e8648a62f469cc3c5d264ed30413f87323011a1371b013815ccf3b77f96267ffebe0a30c97c03d35b65c88a2297011a8afb5834812d7863fa95176731ace1e4396b1a59f05f05f672283221d5811b4162cd5675bbd368cf774b588921c0e7c9e8f63981a73233f564cc26c551c65b66befd8a0696d2ff1db5f81772cc28808ce8abbb804fd250d44ea97e75502776cb907f35978158efac8267c024b180ead01388a6e30648cb6c0e14e65889a2c1b91430eab49d0d970f00e980366fa6bc52cf3e11b5d6cbe704702ccafdd56142bbf1c7a8ab0c8708cda75d8a55bb730ed8a13c18be55cd7b4e3bff184b96a174b120898a07b4692e888b6f5524fd24d832be585e4ccffebb1308be08d6da85f20650f3cfedb35cb414bb0c0834ff685ce5a9f14a8ec4ba9af02e9ab71b3017ff9d92c56e72e7fe915b00084102e691955237ed318abfdeae0ff78333a484762cd0cb6953f46d3e35cfdeba66002a5337ec8809e8bb7240cc5b7a3c87c321233f9a228bbec0c32f53b97398124628466915878e5b70b8aea4f9d3fbc179ac77b2c3e60786294e6b2f80560371ea92d382cbbfce1d95656e09a7f481aade3d88c8ec2004ff2471d2eac82cd792ef2641ad84f2806c6a2596bfd5e6c13262180c026619004c4e806451707092aadd4e3df6dd0b6d53bab2bf192aad1cbdc3c46f69c22b26e9ea4eb120cf27a49b15c4a82fe2cc4fd065f745dd86103bfa438811e060b690c68561ebcb9c8f74ca710c9e1f72a91f1c7133e9841b863903551059070e58f3d893099a016780bab018ce0408343a030d539f452d565f54d49370222f54732461556cf0835e035434c62d63f0cffb9a3d7561ace5023dba72433f245d60b68193d4a7d55dd70e4d4bfb11bcd7d4cb062a18f2b796e8f3e1f0b8df0afb9586fbaf6055807fd2316faad93867178fa47a4f9b3a53b1042132ba77051feee0d72916ba5a9ba8647339af6aea07c42fac3fd302269143e8f5e4cae50be3b77b8ade8d4ad85b5c8570f11c48eb8856e45c7bc032ef37806fdfa228a5bbcc1674299b5adf41b8eb6084390e63b800a34d85b12ac0f6d125b9ec670d2d08bc2c04f7f5a3c4f0c76369131980f6fe0b33f4b0e6b624a859eeeee32c87e0dc6c305634e28c60be5a00d2ff70528c2049919411d5659f002b2c327e3c7c6e1f08c36bd8be1040173d05a689a30b020020b3e4510caec7123bf615258d5df50845be035274a03f5ecf0c66b45179ecc72a6dc0efe2df5d5b5de50857bdf995cdb6e2d4d175388f6bcaafc7a8ec060821d7d180ad938a73e1c867eadc7f54a0ab0db828d9c483623d90b319c4873981db9088b582c0081e7be455a783937407d48117795e9139d6fe15673627465746e24430ea5c49be7e4a27fa7b2091040eb6bbb89bf2ea4d8fa1093bfa7f7ca37ff3e86364fc590c84cfaa5a46f29954a1e8642889f6f58742533bc3b07ed7a1f9f42ccb555363cc60272c12b145df022cf19866288217577ef5a379c0b11be9b52fe690d935d31e1e8b8a43bf29847bf8a30541c350e24770f81eaf07fc5646216c78a9b489826be64ecfc939e74e68e70aef04db63f776a85b5767bed76a4659f940e2819c2a9df6f54d7815e9b2fcf5eae7bc2c7c949a9af3623ab31423a660d864aa2950b0af3ff56e2ef29f0ab2a0e2dfc5ae147c76e37f4e18f70754328fd2c6d394290b9164fd71edecb631f0111736c3e7527af397eca189eee2b05ca73bd9aa0aad305ee6ceb59c60f318c488f1df4efe54bb14eec44a96d33b4af3de5cc3ea7606de871cd7e233efdcf80f8595954dda7516b0c75a51f4448ca9b12fa74cf43fcbb7a9e3019f1b01c7f39540d11ec5683f6164b4686028780c325524cc8974e9cf68092455347c24f00a8226162aa99052c82caf8e9398e9389b6d32680acb08123415b49649190107bf033296d6a761786b9f4c456de1fe448166673ba4465bfe9d33465a483b3249863a710417008d869105ea2ead8614ca690d3d90a1c803
+Pseudorandom shared Secret A: 38127746959ee5f810abd4e02595981fded729d777a223abe2f34ced1e77f6dc
+e410ade359026748ff9db03c4fded5c47f0274efc5d1617b4753101e795e591f664db2392b4fca6ab123e4979a0120129574ba3c71f48003508e7eef6dc9fc35
+Public Key: 58b09e441c7d0e00b8ef8831d0882d72cb714f932047d546a41a892fd16ae1435cde705887b291a00c6743058de1480571c33521026b031629363ac0fe6a31cb1cbcc306405a3cccefd642b0fbc1be1796fc2a3de9975f709577998065cfe9cd86eb3bf64898f04708c52c0ff762341e80a22c3c87777b5330babf42657790b97940ecc68a0634a3331f4fe83b6ba28cdc9110300a7b4acc8c0a3947095616db8a9dd827c5ebf7676555a5cd667b169ab7520990acc3ba16d51678e04ea3ec48a1773b7b1b8c570a48633554ebf646c3c58c0a0a2e54ec1cb1c8806f778bf5b8aa4f8a860e2265a4878e0a02a35cd937c5a46947d3cd636013fb855530c0660e483ef8c767b0313bde92083beacc4861624135b15bc02e3eb19bb50baf968ba348825803e42df4d8948d60b8441cb0ec33878b31be7d12a8bd50adc3e44d2d12260e748a247713fef1ce909715945461feab2c7e62ba7f1582da4696e35788fb57234f296c6a0cb56cb85f9fc8188fc28099e09b3da01018278a2118b9bb2ac21c80a043f9880f2884befa63d3b54093a66d6e870f3ea4ca60ecc913079e280c8b98d51bedaa44c905c029f8a7aa15b5a7b15d85da7b494929dc3376ae66bc62cac558884610d7b50f0636e0d317cfc9b3e3049b078b84b6c5700eb314b04bb7020129d108c93c4a930db11d173ccef8ba51efca37efb6c930b6383b29af63710d34eaad27ea5b6ad5009efc957e3bb2452247a1f523d6580d6c64646814013af193c5360444312a48ab0245132b3f438f09013c3f8813245b6a77e83dad84cf3ce832b5bc57628b3d53b49b064c77df0528cce979bc398bae0884d5852a980731c6eac0dc3805d0260ab24543d69251567215b96676fe8b212ce36916d5bbb04a36e5307b23d3ad183146ad501be40ac14ae332aab3a6919a9761e66753259cdeb84bcaccc195a49acbf858c317aee10c64dd2403bafa9ae45c230c32913e144f792c56c832afc11bc8dc872563ea319190a71ad194ebc4a3f3b94b8945baf8612af792344a027fd97439f9d01f8ef4b806850103424257a35cd8976876d953304c59dc8b28bceac5de9b9a55e15eebb246b5bc38dc743e33e1622d879ac0f6051bcc040f250f06a67961baca7066426fa306c91810e8f82c89f360c975a41da7a9d33862c8835a0e9869c0238a718b13d739c126054bd1691b7da328cfd5807ec19665134f86800ea23a435324960d9155b772340da09a22d9b5c825283d83cdfa2a31be08cb1057b61440b9dc2876b667534a859cff808967d9936649458963a34c226c6d18bd00dc39d9091a99037e73c7c6b10758d969ab82838ec5160fd63bc86d4994c1061484c9aeaab32738b8b700b1a96eccb8404c6e8e4ac860245a7d779c1d4793bc846e4480c13f386c0e4a9784b011da62c41e851b4dbb7517d92f756b73ac5059ad2b3a86e2c0c6b927e0f8b8df5c3d9b7767f5015270aa0327838d388a3269c36215bbb032116c3f759823247fe646313d7284ac55c6c9969e8c42bec6e988d27c47f17ba712852089a0c73f3c9210a3097e9a50741c8bce812239662d2657b727e03ec69c2a77d82d0e8c12cb4427feec94c4ac2d92c6273a53c3b3b87e63478262760e1a16a28fc111f72556c8f70babac7f064b827b9078a6ac7da73c7f91b67bceaa66d613756a5914ed677f067759a2051d2f412372a08af9dc0b154601c0dca6b2577ffd65a6a8270be28ca89f56b5373230ba1b93a338aedaa19e7d16a5b6629d110b6574f4ce277c7aa5fc485d7c1101088617b742be8701d6633b784b08ec7992283a7280057d923c04e523073dd23af1da0961972eee28a1f7aa02808128e07a655285706ecb6518a10a88e8afe8bbbd5beb42b78a7258774044833af2cc6d96c73a93196823056d1f76be7fe9c929c6c63881367bb35248553cf4258d95627c51c4348e5114eddca80dd13d69037cf072139e8961c485492599b3745a70d3a581f57a74e8491dc24c629c536417981ec9571cd5790525c9611ef7abc480230155c95e805824a3c621d0238997cc2127878cb91aff16cf52029f9329af3016c3a9996bf7973e025010e4730bace7be353b6ae7d87c406c83bab2cfa2c525e72ca5c8a451eb371ec362433a33098db21bc2b485b79cdbcb6b3ee105fb3b174b732af570fbaeaac345f4c97ab82f8dbb15767b5a
+Secret Key: 6149b449b50da63506218a3e18883cc3624cc62431ff2984c4777343f2403fb1bfb3324e5131a7279749163315edf0c695db38e0911cda0874415121d8831af40648b70c16ea669c3f17734ee697468c0fc292a504b665a8cb217ccc275a37008c3585874aa058f30b55ea9a61c7cfee317c1af8cb3217b68a569779478350858f22972c0ac62d1c697431acb5e7d4284d4b724cac2a6c266faf50667fa541ffd203348c0a9ff93967db4c9d74c78304b949e890f2d49734b1974d0b3513e3722c7021da01aead52c74b251aac7384095b97cf269f5b9794e9380406410edc22656ea5b820868dd7e21062913a266293a277b8810b7cb8c988085012faf28aca141132b74f9b1841e2dc5f70d3bc52cb1e11c22df0555c0b32088f948dd424155c255b9c49634d8649ce83671ed648df169d8fe802f311020987cb0f12530cdc790a99591950b8333477e231cdaf9a06061aa7a608210ffc9ec5b3b754bca602d3146d3a96bfb8aeba174d9173c1d63b74ec285d1e44887ce566bf7b6b1cd6536e92827bf4582306ca234bcb9a0969ffa1cff0b0c1a73bcdb4404cb0ba8a7cb5624a6a1fd12481efa7b7c9f39d2667c247017b332a1a5022c2e85b7bed7222e677b4e9d34e528636a2175b93eb308c893f28c76d941a0a5588a84bb626c3133d55d483f248a752739f64fa2d26da8cda230a0350bf02db08b3357ae6375cfad772b9753025f6b011b67ebcdab3affcce805a1970a80eed35633e54402dd873bdc062fed417cfea46fa197a7fb0140ffa3e6471140f3633a4fc5032411116bb8fe921a6b366caa0479d3a5621869569e6749121db2b38586047aa2426ac74e60616a1a90f58f70f70c713c1e1c96c74aeaa189aab1cb509a04885db3c06413a8ef25b59941d7811925b727d10792f86292ab8e460383615211425a499bfa757a9e98b979e56c3f6b153578367892c4748b69773141c3ca6abb72cb6b25398892ac7621c3cb48c3a799799f30c53faec3f6dd18956669dcb5901ca883e4db8c824e7501a149a5916925cb1aa9908a1d843907f3c62e57268f7f03d2d893c37f15679a53f0106b02a8a02562b26f2190a7db023d112cf59650054c3c02a2b3917a98080c104db09cf0de05df29871ff8b00054cad43b0b0c729cf29fb8cdba8cea18a339ee5989386b0cda73e93434b390ac56f4630e2da6d00171c73e0054ff53aba38650ad8b3ff7c45addc3484b74ac6d01d64684e90c59e09bbb887c10514b18c6296cddac174ab563a2b47cb84a5b087083f6435c88895ad15a8ad853957a16885acb04800eb333ae7bc7e135c0df2375b4a96cb2164781518a889bfc2514853b035ced208d3e9a6d4457c3a367caf8963b12829775a6870d20789b98781f78b80602d6beb503d0810fd294a43e983627620c56530694838c5558952588707f15be1809cc6fc7dc9e99c27639ffab7b91311278d9493536b30b09bac4284740aa63d1055c5e70bc554f15097a51b79d2b34dd79b9e52c632770f73799d7cd3c841c572498927abe48f8d100d01f4350bab8db3578139a11146f04820918690038ddb665429960cc70569ce0c7b88484069a1bfd4002ac88b40cdb2be2b3691b623bc067a9d6dd35a4730acdbe6bd9463c7af53153c029f86f5444dabaf200aac413b5469cb641e847a004a1243dc0c36e125734729854c67a2f06fe8fb4cf202bddc214966129a9ec9a68388ccaea6cb99643b950446c8eb94344aafaa2350af88a6aa6aa4c025b8996b385f17b8e223911780b247166d2449616967225b6a552280c83dbb59bc5459fc1a79056b3a3d56a22e5c8c12064f4b60635225a0901042e7008439c84ad5241ca0c6030314a0f77a3168b40602d3832e995c63a36e4ce96f7abb181898c96f0a91b8d8935f290c182502aa357a28eca4a7ab332db86caea9121a7a8e9da146daa7c3f5f28dec01c858c9554ad683ca705d089513eb1a6ef1b75a15d7cb15382c2787207b8006502011272b4c8bb96d02d9112994395b73287f068d6b491260e49ca315180315715dc02066c49f10fcbe522b5cce58a8808b6b0d79baf3e3ac1ae553f0e82aed9912426c8200e65f5d85bdaac7072d210ba9535c60583d6ada7a8c307e781b0e15717f7cd29b5dba4357175570622e58b09e441c7d0e00b8ef8831d0882d72cb714f932047d546a41a892fd16ae1435cde705887b291a00c6743058de1480571c33521026b031629363ac0fe6a31cb1cbcc306405a3cccefd642b0fbc1be1796fc2a3de9975f709577998065cfe9cd86eb3bf64898f04708c52c0ff762341e80a22c3c87777b5330babf42657790b97940ecc68a0634a3331f4fe83b6ba28cdc9110300a7b4acc8c0a3947095616db8a9dd827c5ebf7676555a5cd667b169ab7520990acc3ba16d51678e04ea3ec48a1773b7b1b8c570a48633554ebf646c3c58c0a0a2e54ec1cb1c8806f778bf5b8aa4f8a860e2265a4878e0a02a35cd937c5a46947d3cd636013fb855530c0660e483ef8c767b0313bde92083beacc4861624135b15bc02e3eb19bb50baf968ba348825803e42df4d8948d60b8441cb0ec33878b31be7d12a8bd50adc3e44d2d12260e748a247713fef1ce909715945461feab2c7e62ba7f1582da4696e35788fb57234f296c6a0cb56cb85f9fc8188fc28099e09b3da01018278a2118b9bb2ac21c80a043f9880f2884befa63d3b54093a66d6e870f3ea4ca60ecc913079e280c8b98d51bedaa44c905c029f8a7aa15b5a7b15d85da7b494929dc3376ae66bc62cac558884610d7b50f0636e0d317cfc9b3e3049b078b84b6c5700eb314b04bb7020129d108c93c4a930db11d173ccef8ba51efca37efb6c930b6383b29af63710d34eaad27ea5b6ad5009efc957e3bb2452247a1f523d6580d6c64646814013af193c5360444312a48ab0245132b3f438f09013c3f8813245b6a77e83dad84cf3ce832b5bc57628b3d53b49b064c77df0528cce979bc398bae0884d5852a980731c6eac0dc3805d0260ab24543d69251567215b96676fe8b212ce36916d5bbb04a36e5307b23d3ad183146ad501be40ac14ae332aab3a6919a9761e66753259cdeb84bcaccc195a49acbf858c317aee10c64dd2403bafa9ae45c230c32913e144f792c56c832afc11bc8dc872563ea319190a71ad194ebc4a3f3b94b8945baf8612af792344a027fd97439f9d01f8ef4b806850103424257a35cd8976876d953304c59dc8b28bceac5de9b9a55e15eebb246b5bc38dc743e33e1622d879ac0f6051bcc040f250f06a67961baca7066426fa306c91810e8f82c89f360c975a41da7a9d33862c8835a0e9869c0238a718b13d739c126054bd1691b7da328cfd5807ec19665134f86800ea23a435324960d9155b772340da09a22d9b5c825283d83cdfa2a31be08cb1057b61440b9dc2876b667534a859cff808967d9936649458963a34c226c6d18bd00dc39d9091a99037e73c7c6b10758d969ab82838ec5160fd63bc86d4994c1061484c9aeaab32738b8b700b1a96eccb8404c6e8e4ac860245a7d779c1d4793bc846e4480c13f386c0e4a9784b011da62c41e851b4dbb7517d92f756b73ac5059ad2b3a86e2c0c6b927e0f8b8df5c3d9b7767f5015270aa0327838d388a3269c36215bbb032116c3f759823247fe646313d7284ac55c6c9969e8c42bec6e988d27c47f17ba712852089a0c73f3c9210a3097e9a50741c8bce812239662d2657b727e03ec69c2a77d82d0e8c12cb4427feec94c4ac2d92c6273a53c3b3b87e63478262760e1a16a28fc111f72556c8f70babac7f064b827b9078a6ac7da73c7f91b67bceaa66d613756a5914ed677f067759a2051d2f412372a08af9dc0b154601c0dca6b2577ffd65a6a8270be28ca89f56b5373230ba1b93a338aedaa19e7d16a5b6629d110b6574f4ce277c7aa5fc485d7c1101088617b742be8701d6633b784b08ec7992283a7280057d923c04e523073dd23af1da0961972eee28a1f7aa02808128e07a655285706ecb6518a10a88e8afe8bbbd5beb42b78a7258774044833af2cc6d96c73a93196823056d1f76be7fe9c929c6c63881367bb35248553cf4258d95627c51c4348e5114eddca80dd13d69037cf072139e8961c485492599b3745a70d3a581f57a74e8491dc24c629c536417981ec9571cd5790525c9611ef7abc480230155c95e805824a3c621d0238997cc2127878cb91aff16cf52029f9329af3016c3a9996bf7973e025010e4730bace7be353b6ae7d87c406c83bab2cfa2c525e72ca5c8a451eb371ec362433a33098db21bc2b485b79cdbcb6b3ee105fb3b174b732af570fbaeaac345f4c97ab82f8dbb15767b5abe7409cfc6128f974162cd0de0d059abde3088be4568719ae68e56425458166e664db2392b4fca6ab123e4979a0120129574ba3c71f48003508e7eef6dc9fc35
+c0180da7282c909918d6582ce0dc49f88ae69111ac37c93e03f70337c602c836
+Ciphertext: 94f42e89a034ba8d0f8a5d21f81e6cfe38e7918a8925e86b151ff7e6feed52a0d2ebcaa67f56b96ac9fff71c9b8ee0ef46e61d7efa7e7b5af73d389defc55458f752512341249aa26ecad653a997a1d23a49bd21dac698f38630a178ac87de41e7d90dd34d7215bb7cc645e062efff429c325df064efd47ffa400d82107643c1c5659dac859196eb90950fc74a80bf426b890ef5e0f226991542c262fc78040f352e89a204f40c5f8f267305f4496391d90edde6d3ecc8969b606d708f2252b1232e861de5f5c6c5548effce5192ea06091c4bf0746a776b2b2f7c9e75fc1f0145188346dc8395bf49e778e538d7a5d1cdede72ff364f3585384a1b93998ce5523bde0fd9b77019c63042dfa6dd677060ccc76743e4c133118bfa1c43d17d96010d1dcc76763db965ea4cbddca601606950ff67dd4ef226867ef55b0b652574f77bb60233bcc6139175ff65dfb6b43b1f79d8a310217591e3e3d08cbddca8ac4d3d71eb3abe66ded414e86a2f13e005942762175421974614f660943e4a0bc8b321d1bcb6366d59c036d15c6cc164c3963f122cf9f6f503db7f23a39eee89d6308aba9939d93edb15c9327cb9f35578c3226a7b383567437b46d326827a64b826ad8800085303a8555f1e2a947bb426e8f307005536696f5eeda1426eb8a2934092864d5d645646e1fd16482ac169809908b679086409a17c3bed9da189f4fa9462d14ff36d6f3c3da043ce9dffbaa2bdd854f679009dbd26b423d52deba441a6024ea9468cd5935e67018eed020c0acaeffd4403fcf6a05f0d9be9f5bcd01a2482820a4efb049df4a8fba4ab9b6b690a6cbcbe09ca43e616838eaf04b0edddb164f39e822ee5b7ac04ad8767797b09bf50088f6e08115f32b2a3bae84cf8ba1a912b9a3820390862a5c01eca2b1e4ac42e93cb2f73aee37eff7a7be710646270bc8c69f8126216d3ce5f94e0b64776e7c956cfbab6a02ddac0dd5ebb628a9900d47e5bd61da821c64f65a1953f2a191e98486c2af3c9b96014ab5061e033463f7eb457394c8369fca25b3ac4d6f934ccd426406859c4de73893c38589b57409240acb86e6c863eb4232556ab9f4d2e61bf1e1d023834dc9fc781078def44845cdb2d77ff330383f81c644dafa9dd3d878e6839bd7b434a368efd6cf7385b7ec36420af4c242a36551aa2252b8b6eeaea703d3ade1257aa599295284968f37b808f566d4c60bb525c34c9b58b1a1f941f4719605770b1bdcedee62e20ba7f991488a5b4fedf62489be2d8ff42a2568bf7d49da8c73f66a478ecfa16af6a34af64b572a811874eeb57bcab5247b629a70147e61fe7e1522e2ac3f10c40bd49c165978b29917f81f812cac92b21a21351f9b596138a41589f15ad15cbb6aab4999b229b5064df8bd4f6653a487e3a73dec0c3be00aa8a03b6be249f0e39119fa12ecd78b77e76f5c5162cbb5e1453805bf21fd8a51208094f2b15a9cf4a59dbc594da5c7149f31b9ba755776203d86f19c28f38001acfdbaf43d84444d63c17bafac320b59ae6a49a322bd85061f96c02cd2ff3433c4f2a1ced71ee98af4475c566a84692a604d679390bad6ec890364b3e8bf50e0c2e55acb585d48dc85b459aa8c6f136cfe4fb987e6104a0e39bcec60ffc8597fa2a86e35058c670b2c432ab91d61e5228ef5f0b931ff2f42baf3d9f6215c2ae1b4a69002689c6fb9189d115aa8c374f92858a5b980a62ad29c463a73f1276f5ae871e458735b1d8c4126e90fc4627bbf4936c20b07e49a7995c01ab6f9adb5a8e2dad4d5b3c190f4009516fa6d77d5291471be99d5cc39b6ae007a0ffd29029905a41bd2f7f675556a9cbdecac6893771ce597068e1424bb075dd01276524cbaefe6e39eb56a0f1a0e3d1a1bea4346db1be9a74282fad3f7365c5b1a32e6f44a4ccb7821e9bc580083b8fbe0f2be46dd1c2ec28e17afae076d3e64cfb41256c48b39461e9f0da4274bfa399628c9d5b4f98901c1d321e2cc4874f0c0fbec942e575fba9b8b7494757e28f90b3363ce0bbebdc0302607088e06534bfe3320c696eadb889bcf0b895633ef71e4fbabeebad19e8ac08fc5529c7978fc972a4953441a0c67485925b3b080e7f15c2133dd43c5080a132c1d6d62d42cedbba28306b15722e56719c4fbf8767aaf45f772bc4291145609b09b8e198fba99056a9beefdbf8f8bdff713e38e06942ac1
+Shared Secret B: 729d9ed846cc4358a2ae980b083b55c132f6964ecd5ec2db8f78f7858ff8a9d8
+Shared Secret A: 729d9ed846cc4358a2ae980b083b55c132f6964ecd5ec2db8f78f7858ff8a9d8
+aef2e21262e81dbf6cf5793a7db57620fa1b0901be28ac1ff00de2d0650aa2dae76c89f7a1847d5e9eff840618f805e105b4bdc99c1f759a3f5a77edb5225cd4b9561fe3c9a94d05a6f72ad366a1bde06d92ad67f32164b63c9f83c946ec910642b133590e881aca673799b5d2f44144a91439c9a5f3489421085bcad422b08760fecf02bdbdf5c51047326f4abb50f06ecc9c0cc5ca7a6a5d9f3574f65e0b075b3d261be68f436aebad73a7d28c1230003a8ef72423358ef5aecb8c1e3eb90f2cd1e4ed92f7b5cd961975b29ca7f3d3edbf2acf2b93e5e46610196dd2aaf6654e4857d60b443239e7e90c80b7a213c1268ff807a33417490455b808b07c76ddab9a57c2439fde10426126b7d55a6bfa051e3f7cbf76e6081947bf48a659e6ff11fe4773e24927b29b4fbfaafa169ec8c54743e73f1cc7c3f33093761d13111d37169caa4455c756cad55f92b26d05636fb56c6349371bbb7f81a3e0414c0b856ace9d8e34492b056c8b63c6489d88eacd586a0d47d417ea4b09fe1e7fb832865e70734dc33118b93d71e097b90477a7c4189bf8a2557a14261609fce4fb05adb818d283d0da782e25a3f84b182904541a3540b2bb295a412e30ac50dd3a9d7f68cc6067fcada434b2c798b4a890d81f55effae01b0638af21dd791f4b65b9518e8ad563990230140116e337159b9f43252abe154479c625a3f06038940aeb82205db260038fcab8994c8b23072efb46509083c7fee0695ab01803ecad1c18b61d8e79daf3640ca48055741229e4502e5dd3e1ff614564922d84f8a250e0e4f94705d01a2cb692e3b4d8809d9b2917ba7e258a8c9c3bb95a75ad44f24c505b980bd7cb65e2e60233bfb49e0ce78df68b31044cc1db96b6631a9e36d33e6354a61458ac45fa3b74b36f0bfafac80e52a53d87540f196f8d0f8645da1527eee3ede70370473e87933413e46a302e81337ccdb3f3f57989ca58467ac5182eed938f84cc39821d0b53679129a3ffdce0559463f8fcc421f49010a19ed5216e19feb520e3766608a2078ecaf569716d1628a183e1959688605f5491310e3daed7ffa5711de0b5ea187f4715d8c4853702760be4f48f51631216b71f60285ecbc4ef1174afd7cff0a51283f1a637dc75693dbb6b39d7a02c4d86095e6ea22df9e399fb9d6b41a796ff07c73965f1e2417eb7c8f976f4004bd5c4092c9f98953ae4ab08ec9c769ca602e94497fc38a665d505cc88d1a5034bcd9edab41e07833566409565f7bf5ba7d84d85cd04736bee9ff60ce38ade05bf0ee2d5ff7f2dc49371a1791220591304092e58359c8ea9de87005b595d8d1842702e2a6ed054b1a5408871bd56bd8767349a6bec799d7a0a55437dc90a49f30a20a2ce7148a8358a4e7af10cc06b20fa4b24e26c9163abb176e7473fe6725eb2a677573f6aa6f4cd014ee52850f62673c23ec7cce7fff4c85407d721c6628231668e36fb65d4b1813a18232789e4dab7f7f9f0dcfe62eb97d4b3505e9ef04d316d597eb870425f95d7307ef5b089db2dd3b2b783590fa66bd33615d1429d555771ca8db5648eeba2a7b453774564855f3c7020633dd2da4a7d5d10e96aabbd76698b190f875f7b22f2283232335f3927c89f0b904c2b91a9c10a453bdfee24dda76bede2e509a19e2123f54fd25b07820c86197661c1c58d7db2c220294e5e1f849df714a52a1ac371d3ed38f180dd46645211af93dd0da263a2b577d5cb51054a9bf34879958794d5895fe5e26660bd8fecf4cfb0bab91e7c471f200adeb14ede2b1f5d44af820317dec039f0f44f99eff64755a11a40fbe72617387dfb6d9d4833a4f549e22bff416f6806fd8c0f5a6dab8458e5d143977d608ed6f96cc4bf508441b2bd317a0e48674faebf4fa852954ab45313134d6cbafe18335fa7eef51631670f8feab1be27e9f4c1d777715a42ade24104ff8a63201ee74bcd60a100f50f2aa5bff3f748f43c6a63aa17bf8a2e65a97fbca17163e96cdae2008d9979c040bb78e213378977d33202bebda612196a482f08926bc0eb1857d142194fc8797b19fd7bf0cc6beb58532a0af3c1d797b976ff12046b9d934e7e98e9cbba5e2353ba08ddbcff15650be4b68379bf31c0b83bab4d477fa3dd7ecef85b0ad525b5fa8a9424079269afc6bfe2f9eb14d65823176f7bf3c58ac62db7c3dff0686f6d3eabc4b1e9f241d5dffa
+Pseudorandom shared Secret A: e1bdff0fe9f94b396a0b8fbd92867ef989411fa30eefde70e008cd112223def1
+9a008d59d05033ee8785a4f7c167629464967879affb2cd07e5883bf9493a7883daf7f674447c2dcf91e1484ac8e77ac9ad2df259304f85aa474376a0599053e
+Public Key: 46b2264596c56e52932c22af709620b2f27f39c7ad0fc26c5608352a1bb754e77afb9018b763395897ad6c2c7750228283f09f268911bb06b4db4bbab167728f0b0788711ae168c84261a6d25c11fd7ba4b1446db6812563fc2250120fd2e2ce8828cadbe8a47b4c54c5a116bb9b1445e07d0ce64fcda5c86052c1eb707cda9b25ec21966b4029eb743e92e3b4daf240427991fe54ae781a17dedc6542701b493794b63089827abba99a3d26f4bc495a0749447266107eafb9832313a0abda2623dc8e6f950f2352c9a87164915c3524ca8b0379b0373c9e5423ceb2f85e9d700fbb25c525ec813d93a51412619ca41b7312675cc53a86541d50d279f6401880e4a751726201c96f4f6076668384ecd329c69b68594837d3d6a45a40195cd6af7386710e2055ef48c325203a4408c995e435f821783b213fe8b1a94bc5a347f53851b5538aa57329245911cb3265851f85970a67bb883c34508c9a8ae2a38affb7a11726ae0fd254c427580cf1b355c02e0db6a13b882984669d9df912ae8cada87498917839b6004f6c1205ed8a9ca4bac0a0953d2408c9775c83541c09cf80c85ff6ac2d9199e1f4cbad64cb6fdc076f0b00050778bfb0769ee2b40f3c1c0b17434e59618b773666d22e98863a1ae18966a51367693fb09b181b858e9c3c7eb3c7593986ab8f214fe7b06126047cc59b94eb491b10d8a7c9baaf10095daefa49bfd0113402446f0b96804b2a00726eacc17f8b474ddf0671b397865fba6d84a468671a81f6b37b55c864233ca9fca90971b2727a27bdebd953451118c0e94534656cd42073ca1834cb29a91f6c700f62a296555ad06526fe4b92b765159ed685ac2427e48262e3499d62c58600c9349163c5cb46861a0c2a8dcab0cfa30d2715447cc1c0f82086f2b4bc2ef66708d963e1c3874169a7eb807ad97717b3b8b8874c56b432c7e7f9a3825b060f78799e50c86c564a82bcc2f5433526e415ab37c594f2257baa1e6ba5554389a213c61a84700dd2fc24b79157ae58297b9b6c656cb3797785c53ca43de0c1e1579a59f23cd0807ee87614eca58edb67901ca8aa0086656e15970edca66019194287a08d241c7cf735237a85f4a540a9d13794c5811ce8107a90379f0697f53675db8745da808a49a02d3ff033c6c47321e408df74071e890466ba21924cc42b70079c5103b5da77a029794662009da93d2813abba8baad3db5c317b539fa95bac814f26d899d7d42d7979879c869480b642e62832fa8a1d0e629cc0a96d27d71bbda25505935c519a718215b8a96ba0f1d01e13071e5a85c7fc736789f75ddfb5c7db392e0f02168c2c603d0bcde1bc83f0845082c4105950190574c1ce38af46da34e8d76066a92196d774fb753231a6cd5659a1a2a67ed177582d6c88d41632acebb1265616a5ec3da5bc63c5815351375fc21a046dca6949da4745e709c927c04a6c448b1c810bd6aaa301cdbf693171d4483c383d7a728ea578c204887dee6b91aa641fa5171fe7b08faef2602870552e8689d6e7cccfe13f2de37e26133f87943b3d7346e8d1c443ec43b561610da3b095103292a943c7f6994ec29670ba2f12ab325327308738a46a08699c80276765bd644436c54929b4ba2df0043b07302ff36bb3b6f40fe24b61a5311686e5b90c738cf3757bee0224b925b812a49902739decb7b8f1ba664cc5bdd13739b96c54f92450f029185bcb7b5875368bb04f5e70a6056082f761274cd10912016133758f75499a59e9477d45639790136299280416abed0cb8d8ecb345833f25e3a08f3581bbd333f964aa302379f726b2526657bf56bfb1b606542449e4fbaa4ed35010324aa021c1ed8a79067577f86597da741324f4bfe8697501c4b3a28c26aabc02648300feac2ca2244022701e436b97e848c9f5b1673ec5364a71228738833d113fe0eaa71d38ad6375c2d7f41ed08b6738da428664a190e07a74247a1818c83a6846d3145329ca0ab3a66b87c72d180217d5dc0e00a2aec5ba0f6ed4b9d8d3171a5432bc9634a48511e94c6f22f76f04a58091d10cc6152b14614f45867ce5236ef4cba74fb8759368c619f61b029912d49b92c3eb97fb78a164970f0d23746c50354e980765972130c50d0f6a325e0c0cfdd036476ab2bd25191bb7cd89eacac31ed1df1c14a485c6b23ced8919ebf156e8c6e45ff258df983042a11657ad8f
+Secret Key: bd18974698c63eb1a757d423ed562442d2c132f77a5e6a4108562ee395abd56a0afec288058cc98058b8e2f792468a2c4a936836281129d26373e822f5d7c60007724cd173b3a1bde0629ccfe306fc105baf98684e5410d9a7a8e7fa0f9c7ab3a5aa9b253100c1ea0f3f3b717d0cc62110753b454e71c963e5082de34832779838ca2a43a95cb218a50bf5946d9b2664cb9c292f42c924b190b18062159c14f4b97b497c2cfedccecfa7289e2b3c7e603126499ae54364cb87cf11f230ab6a89401814614c097ccb46bee4b27c327b6378bde2b2a4cbf90f0d606d9ff26310277735c5c248e1a8bc1847173a2a711bc79ad9630279716a54c867e657f2ab336c708917c489114886619877802b11ee5219b823078134235e072ea0a985bc7126800b05b0c1cdf6accff421787a123878d714ad764d22d1bed1419207e080adb17633b63fdaa8319b55cd9ca316e9277100c40062fbb134d76fd9637d1d306958d3217130a68e18a0d3a93c00960357166e31cba31db43189d31dd8b43d7e472206640aa0b329218a3eb71ac362fa7725b0462f764edfa932390712a7061ccd8b7f5ee37097a36ce68711b32b2a7e9aaf92495cb9d2b053450d6ff8a8cc121ac2c891b8fb90f5db044df7958b065f6b5822a7c80de1dc850d7c7e3519bfd3545462405e37116feee38a08a545369068aa6a209d6256d4f436d8884b78751825f049a71692a2221bf867459fa75a844c1a62f71435ca94d1d8afed973ecd8ab066e72de7f124601916e415564af31be4c9139dab66c11238df4829a5e53775778cd978c706a5845f6a5a98c4cb1f0b23c9bb9b216a56f50089530a1a6e391748731317779d83e818568023a5b31f78270508bcab2cb4ce2cf910b6d8c143f5404f1837a23c0739515826c49b12d2b50fd81ac6f1528ba9ce05822bf5007dc95ab213078444c3466245cd3771b6cd9cafafa8945c75907cd73bd7506d32f457d6f6c872ac5fa4235a4e00ae39182035110bfb7c9928954a21e2b5c074c48fc8356566320731821df342da14037c7bc4c248c8c62c5e53658af166cf3252a130baac747326a9e321d72a03f62a0ac2006517e3bfb641c6b747a51768bfd294a391c9b25a126de30724c2239a74730af16660da1699351cb4fbc2aab65c9e2d62af8c6b04ed63c20a9c2290006b3088bacef3cd485aab76871fa9103ab2d998a226ca58727d5e844c50d981f14b83882a6c850388c8cc7010fa15f418232921346ba87e12d178194a53e7497b5ea2926bf951d413771bec8256264b524172c8e044be05cb535853467baf1a163046b2844853c84ed1ce79f636a2350b24e1726b3312ec214a7bd0ab8fdbaad06cb8b7dc56bbb519ca404be38894519b3adb1bcbb9f1b0236c9a292a7bb0bb33ae4540f9a367fb6a6748f05e9af1c30b4349b6e8a08534885ceb79cd027deb0a3ca6c8526e4139f3f99b15982ac3f063bfa62cb08970fc15a3470374435210c5622ca88a6fdfe0472f479bad7aae5d751f87fb23ab643b874999e314cf7522aebbf147cc3465bf011978058c6a7c9facb67f6de8b145cc6fbb9bad24e36c42ba054d39ab4d6c9897472797ec570815b22e910431b41dce87678920c82417ac55ec2b9004108f684e6ca417e6d216309642041780d4a15bd19b051d805a59600837b83c34755e13439827c810baf124e9fb8dac0c0d9b5088f7b938f672747f9562a6d36ee43b9688d6112cf2089c62b8509728790738e3112974c87eff189e2f226d41b1c4b70406a005aaedf757ed53a573e2710051cd68f5bdbada9c3a1386ae18b2e6e82d42e65abd351666e77ec8e8252a335436a3838df8284179bc32f4cab2fa01eb34cbace9b03cfcb41c23a821f984875b4d35984886e37a2b957dda0295d7061651c53a996a4d5a635abf218a5cc65c6ae3bc01179de99b2a2f16201d2954d0e7b3162c5e0063a7170613cc24bc8c3c3ff604b9ab287c2713afc4391a8fe80369e887608376045009469c4f6a592d46e457cba8a981990e881718da978b4815968664538a4262e629a33cdb6f4e711bbf11528d47a84eb2a8faa93ea25c88f2985f06e28e61198396e159c026619ff0c22820a6d0a9a3462154655052bf4a11543423473a39bdfb56e4eb8fb773c348594046b2264596c56e52932c22af709620b2f27f39c7ad0fc26c5608352a1bb754e77afb9018b763395897ad6c2c7750228283f09f268911bb06b4db4bbab167728f0b0788711ae168c84261a6d25c11fd7ba4b1446db6812563fc2250120fd2e2ce8828cadbe8a47b4c54c5a116bb9b1445e07d0ce64fcda5c86052c1eb707cda9b25ec21966b4029eb743e92e3b4daf240427991fe54ae781a17dedc6542701b493794b63089827abba99a3d26f4bc495a0749447266107eafb9832313a0abda2623dc8e6f950f2352c9a87164915c3524ca8b0379b0373c9e5423ceb2f85e9d700fbb25c525ec813d93a51412619ca41b7312675cc53a86541d50d279f6401880e4a751726201c96f4f6076668384ecd329c69b68594837d3d6a45a40195cd6af7386710e2055ef48c325203a4408c995e435f821783b213fe8b1a94bc5a347f53851b5538aa57329245911cb3265851f85970a67bb883c34508c9a8ae2a38affb7a11726ae0fd254c427580cf1b355c02e0db6a13b882984669d9df912ae8cada87498917839b6004f6c1205ed8a9ca4bac0a0953d2408c9775c83541c09cf80c85ff6ac2d9199e1f4cbad64cb6fdc076f0b00050778bfb0769ee2b40f3c1c0b17434e59618b773666d22e98863a1ae18966a51367693fb09b181b858e9c3c7eb3c7593986ab8f214fe7b06126047cc59b94eb491b10d8a7c9baaf10095daefa49bfd0113402446f0b96804b2a00726eacc17f8b474ddf0671b397865fba6d84a468671a81f6b37b55c864233ca9fca90971b2727a27bdebd953451118c0e94534656cd42073ca1834cb29a91f6c700f62a296555ad06526fe4b92b765159ed685ac2427e48262e3499d62c58600c9349163c5cb46861a0c2a8dcab0cfa30d2715447cc1c0f82086f2b4bc2ef66708d963e1c3874169a7eb807ad97717b3b8b8874c56b432c7e7f9a3825b060f78799e50c86c564a82bcc2f5433526e415ab37c594f2257baa1e6ba5554389a213c61a84700dd2fc24b79157ae58297b9b6c656cb3797785c53ca43de0c1e1579a59f23cd0807ee87614eca58edb67901ca8aa0086656e15970edca66019194287a08d241c7cf735237a85f4a540a9d13794c5811ce8107a90379f0697f53675db8745da808a49a02d3ff033c6c47321e408df74071e890466ba21924cc42b70079c5103b5da77a029794662009da93d2813abba8baad3db5c317b539fa95bac814f26d899d7d42d7979879c869480b642e62832fa8a1d0e629cc0a96d27d71bbda25505935c519a718215b8a96ba0f1d01e13071e5a85c7fc736789f75ddfb5c7db392e0f02168c2c603d0bcde1bc83f0845082c4105950190574c1ce38af46da34e8d76066a92196d774fb753231a6cd5659a1a2a67ed177582d6c88d41632acebb1265616a5ec3da5bc63c5815351375fc21a046dca6949da4745e709c927c04a6c448b1c810bd6aaa301cdbf693171d4483c383d7a728ea578c204887dee6b91aa641fa5171fe7b08faef2602870552e8689d6e7cccfe13f2de37e26133f87943b3d7346e8d1c443ec43b561610da3b095103292a943c7f6994ec29670ba2f12ab325327308738a46a08699c80276765bd644436c54929b4ba2df0043b07302ff36bb3b6f40fe24b61a5311686e5b90c738cf3757bee0224b925b812a49902739decb7b8f1ba664cc5bdd13739b96c54f92450f029185bcb7b5875368bb04f5e70a6056082f761274cd10912016133758f75499a59e9477d45639790136299280416abed0cb8d8ecb345833f25e3a08f3581bbd333f964aa302379f726b2526657bf56bfb1b606542449e4fbaa4ed35010324aa021c1ed8a79067577f86597da741324f4bfe8697501c4b3a28c26aabc02648300feac2ca2244022701e436b97e848c9f5b1673ec5364a71228738833d113fe0eaa71d38ad6375c2d7f41ed08b6738da428664a190e07a74247a1818c83a6846d3145329ca0ab3a66b87c72d180217d5dc0e00a2aec5ba0f6ed4b9d8d3171a5432bc9634a48511e94c6f22f76f04a58091d10cc6152b14614f45867ce5236ef4cba74fb8759368c619f61b029912d49b92c3eb97fb78a164970f0d23746c50354e980765972130c50d0f6a325e0c0cfdd036476ab2bd25191bb7cd89eacac31ed1df1c14a485c6b23ced8919ebf156e8c6e45ff258df983042a11657ad8f706565893e7f59ca60142d7b7956b7bbba0ef5e801a21d947fa91d4984c1e1f03daf7f674447c2dcf91e1484ac8e77ac9ad2df259304f85aa474376a0599053e
+636a1607aab812348834c740b8d13f9265ac3ea11cf869548ae61b588ea87898
+Ciphertext: 250d03e2be4109f334a814da383fed696e04fdfef551e07f5383a97c411b52c3448e224c82c882badb1332292d118edb57b96566352d21174cfccbf3ca15c2a29424a8dd9a8afdb7b200c0b28bea18f9d01fad26ff53568c91b76b29e46cfede886501336b21ad81a4ff64522693df6c451f1def83072c5f705fe094aea20113f5293231a3b496a764a996b2dcec7a245f09566dabf734de28a4234d6945d48d055a90319bcceea77434024dbea30b6a54608eca8ae650264392d0b822dd57a2dd9b2a1260d88476e8a91ee5a8ae6355129d7ff6b7d36906f322cd9adf39fb16a1ca117f5f09984f203f899cf23d9a6869890b5ffce5fe002719f62b13df278e4dbd1d8c934cfb5522a38fea0ea3f7fc0f3b152cbd9ab10bfea0e7746e93c50943c7a4882845bbf106fcda0049720d5c1af0df75eb43300ab23e44765784fa600dc6e86088bbdb4af9f6683b4665d1742ce40a6ac893004124dec9e6ef6ce2109c6d1872e6aabb463324acb0443b6b377a8db106f938f04bb72e62625d8cb17d7c286b31732035d53086b6a27eafd0fa38dd49ca3ae14744217de9a09071ce035e8a4aa60570c01416264cdcc14284d93f122afba5cd1af505c5424efe01f24a4028c76991f4ad20d2704e7ea5531edcf5a3b749af2365e33735a14ebda3b258c97724170fd107d4061e85c2213ea20739825b0c0adaf11e62833d8b9dad5f4d61399d07f1d7316ceb6c05520a0a6b3045e44853794e1c3549ae24542ef93262636ba9bc5b807330dff18775f6d93d54512340e34000d1b27e3e3a5b3b13749c8b7f69e178b9619d9844ef585a8024a3fd0b468ed35ef447619552d966a2a155bc4ed125a524a7c462904536c69f736eeb165d04b1defc629b4f5fb71dc3cdcb29a58b4e81ca0ed2ddbf5502ffa7146b889a4278ab4344633dae0caaad02468a0f798fabe8981deb9bd8a1ddd391c0e914e1aa954236a9b0411d7d7be4e5c77f6ac01d8378af8c297b38d5d83cd366f1b1c68c460aaf8e5d0b1ef852876cafabc3973142b7b61f717e4057d44e848ed63bb7b3b65fc3838a1cdfd0adfc3cd99652b37514d4eccc5080ff3f29f9420cc3c54d7747940efd5b5b5f3b972fe5c141a905462d227775316f380ef18db3b94b87f1dd3f5617507d853ecdbf4b9977fe01fbd6ba94cde6d2e196fcd0f75352e8533d1ad8b2848eab4741e991a284bec52909bae6ee882b586b812784be8d50d76aa34773260e5055ebb083b446231fefaaae9b05a2153fdb74651c0ec6a5d62f211d25c0e9530c324b41d4d179198569b00a0db0893602349055fa236256e5e1429ba4150f310d2d155f6e5a64987b388137d8d6d575173a6903a3500ea58b807a4234fbdbd5555731f3d628eb44a97ba86e254343f3ced6ea685280043d5dd10b74d4aac50596160c29296aeafd8a913abf5dc72c9749bd0043473d5086e858cb46ba6edaf4b5bacb2975b96e6a51108fd11747f41f101694b482d12cf5854a3a4ee79e34262b471566a548e3c01ec094e1908dc48ce148e765c3a635dbd19cc759717317be33305507550e8adbcafafeeab1ee0c7f4d6e7b282f8eed7676d995ca46a560c48e3793f66672359fd27e2ffd4061718c32c570f0e0cb87d05b9001fc965ee8d291b0e491cc4eff4ecf97472027c2e5f17bfce675a6243ad6c59a4bdd7e8d5443837a5502097e7aabd6eed88f28e6fb6d2f0cc26d200ba352fb30e4f6623bf20d90fbe98d109c87cdc541e9dd4099ddc7f252237181ee7d3bf3829845333ff62d574317db9fa2e2d9e9e682fbd88dd9171d87e5217f7de544ff688e6f3ce8677f692ea648eac68eca77e08a10f98c587adc5cdb7162c926364309401c37e9cf1dd0786d16cb3ccb91fdf33c4719f5833cab596f080bf243c4f61ae6fca9883c0548404d89ba32ed3dadd9ed5fcf4c41895f6498adba423b86712b6ecdc956f7327f49ba67625049dce56dc5157bb5b855fb0fd2994f189cec11db7d53538d8c82acff0fad9033e28738e76507e33cb30a2cd81f26cdd2c91606d6b9f86c610cca245b77bc7a7b8fa4f3b096ad7802896316e41a476958868fb5255f2fbcca5f1f45d1a0243e42cb3b18678d436f120c1c249a78380e65b0372a00503d0d94513234c76306980cd6842e9311776dc6fd6e99ec64dcbbb168c469fabb82392914660e1c871364690a547bde
+Shared Secret B: ff6634726b3a06e7749e20864dee9d55e10568a0cb69d2a54080830ba3080d33
+Shared Secret A: ff6634726b3a06e7749e20864dee9d55e10568a0cb69d2a54080830ba3080d33
+5c8a94009150494db4158f1c79d3225fbfbc2333c3b1e343931cc6b133ea534d92b7bc0670cd05776c98158869ade5238e28c794b9d0ecc619e6f13bd53af286831a9dc2f0dd34e3284cbe5d95188b70de12fd3d77844563c288ff7f89a50ffa580d36b6d95b26404c563fc61ecfc97029292eeab02b2f06fea2afb8a644c04476def2e172fe541a315176b92af8b0af6a7b5062de8db22c96047c4807fc09ca66b472fdc26a802fde50122c3085f2086b53fb9ce3a879164bb1a5503fcf558e1896204442090ad458869a84b33978b7d86fd5ebb4caf22df602c1272ba80b8b184841af077f371a6b558b4bcc48126178c82d7320718fef699554256e40d5da79804d295a4f4b0917a06db830a3bc5839c03895f16d071aeca097740f8ec99940ed28ad5986bd2ab5f20d809f7767b74ff12b510d51bec90cc3616e1b8f0ebda05d9ae7634e20e8f594b03a9b201fa892e5a3cbba55c8d9225df8b9ed9c919cd5ed7e470a57da953470b458a4b4f5ee358740119cf5be4de951bf6e4e194abf9fef0040e20e71e404d4943e3e68861931e5181a0ec53a5eebc062d7ee84519e6302e0635efdc8536f7dcc826a88cf52dabef465dd1efc52fb19ad067e75d65e718a188d05a9d362cce43cc9eb942dbb6d530e7826af838d0b68f565e8d7c0be2a0d52edbd4275b57f25c9e57c611cfc7c07f5c977eeac231ad83311b7b6433b754a7bb464428a472836fd8d3a6bfb956b5a7e938529dcab3ae5ef76e15a7ed51303281680f88c9603ebf0ef223246b2741014f55748abdf2dca15a96a1fafbee14d4ec9185187799654560740fd3b9120ddb21c31e6318f011039ead0faa23c73af41e1608efd3b9e67d99ec29086e79d305355d3ff1462c14025cf694d7e8a1f13dbe122746aa1b104f564845c65255923d27a0533226d6e6faf753e1b6f83ab77c9eb50149b412b71f255eb89f30e971de6c5704e6cbd5195e82a7f7dc7048eab2cea127916f5015f9e195fcd1415bfd773ea4efb545a49e4479b00bbcdc75a141159b724cf7016054dc2f69e960e307693e9e62752623417b7c8cc570de6c32153c59b318a005209d4ea2f5bfb2444a925013cb6ec505db91f2c9c1133c06e5f35af3b37e64e63e406d4929b58e94519649eec3c6f7d0fc3bbb65304b330fd2fe1900667c8fd103e0373f50c0be2970797c1d950fc2c2b6350b550bf2e469b0ea8df55affd851148f10ab5e3500b6e8e89e01ca0f3a48c26dc9f38d1c2bfb2bff42af5689c56245ebec778cb83f56023f3d982a6bfccfb0754c1b4956a586383ab06144b1e765fd96858e1813667d74f3543a823382d8894ff3f4d494fa27bba55286570646a06376a0591de383a729ba0e98a75e27699ca660fa2e2ac7855804b114951be885ec83ae938404e3db6d014e77aa114a474efb6ca8001d2b764a9619ffd011ad1673d8cba40c2729b3911c04ed9d9fb92afe2772f3845ed030c3e879ee5af8c7e5ae358b2f4633d7d78a0c3a0a5d0955d70a5793e8d67d497a5085c48a502de5d376fec7f41de688f90cd5e0cfd752969a608ba0f1ac2d972e13ed0086a174bf9c90b8a0d07c07e61781f72c74d5d2d0806e0f78b2a5497200abc84022369966a423fcc208908a7439dd66c4d0efcea2522e0b27b6df0e47f26242faef4ca4049628316f4b7701a79859a4c57e62855ae1af7af07787712f0f0884ce7e8306b9bdeedae65b9fff9a1ea987df761437f506d9ffc558f145b11ce7401d123081916b3e1d622c7ddbc824e809ac3f20bb968ad2451a78ad073880742df172b7844e4399208b0ebd388dbf423d81904c7cd2ed9e1cb59162c3f7c8fb9318eb4b13205b71ac6cd7eaa465f6f37942ba34f798c0deb2a178cb55480ed1999de56911cb37ac62e725db70cf5f125a16583412961fb59086ea9b8ea49f6cce5bb1f6e9249e4629dd13c1fe72f65c8c393a623ebb509271669357844c5ae826cd5fc110bd5049beedcd1d325a1978510c312be437059e970e99e75bc44a96e985bddce2ace5ebdef1b4d6ec516326136407315140a52f3065d6ef49401376b5542a41b72679d92d8070695fb7cb9d885cfe0026148f09039d16cb51a9b7acf2d6850cf0dfca892ea8ad1e86ecce0ed0140e9e08588d407a523749256ed01f8c9a232036ab1d1fb3ee2878101a5a65788ac89069f2e913c8b5b78ac2032
+Pseudorandom shared Secret A: a53d4e0a37e2976472e15e5397d8b869000bed09e7098a3e04952de9566a2734
+647d337a1890ad97465580086be63bd029bdafc527f65b309c2da30ae89631824aa75ac89c9b3bc9e068aa6f56c83e6b58a095aa27b26c7986b209b5802f0039
+Public Key: d8b309edf942dd81caab89aa476ba001b39d147309c0578a8a44920a5bca936b9fe770693b03b9edd91773050ff1070b3037c91c3078e72ca86030a8ae26b8d31a2bd577c5361b585762a924957d2e7b7d89bb81129829f48242e70c4b1f36ad01a4c14b83446de61e149c9cb16ab3a6f38dc379cece409d506763894917d6fccbe5254d95751e26e3a837a2c9b125aef03997dbeb1de32c5b11f60341b70fef91a7c6f088722c8af1779844929e81bcbffef19eacb58788f135d759780498b2f749131280233d55c17137a23f953741e1c195ac46b5eb0f3889cf9527771409892335a2f392623e085047951274c92bde050a34c090888cb356227f9c89c07db915edb3294904921daac58a170a8f7ab0dc4abed1a5281e1025dc7a0ad5a26fc671ccdaa77fb06368c2f0be2b1a3844a2617cb92ab8d6bf239b169a69a07fc50fc0f83e9372a61edaba40046367f79153431505618cd69a505428a2ac7a174e7a86852668e5b371e02b06c6c8008ee424a66820175a9a27b04271515328a28d3485b2eb93886bd8656fec8533c296c6614b23644a62c5baf88b9696160a4189c8b42a0501b0bf777c77ee742b42dc6b4a3406bdd897b8312b9dea5cb0d45b2c6368caa20cac0c5f9e330f7bb7a9ecc3179c9c1e3f1631a5c0456bb81949b48f981343df980330318dc04c2ef5001ca1470ec3b41e35f194bfd537032983219163bb6b92cad48b3db6253af55542f8936ec8ba415459794578ae6356ebfb54fcd96c8a8635c419cb14a357894a48eeb91c58653c1d285ad5ea230779abf5611be0e4567cab18cec92dce80c9ccdbaefef89b9a4181a2153bc6db7d49a9af49492ddffba3ba65ba1c7878b8788f3e56b23f433f0f8a1b3b46b699a1b62bdc534a23862da446ef262bb26a0c1310b004185098f689d9baa8d7e89520fc6fff1ab27a17b84f477085518939942d980a8d81a987f8d4891f0c4e89b63e2244cfe343ad15469d37e0174218b8c4c3a6e1577942501709b4ae1650b26256094d59352727554ac871ee30944da24cedc7cf35136181c00c7e80b5c110b9f7bb966e5b5012cb48d99c85880386d41793edd8b34fa8a2ad51a8bf366a7358978ad1290ed54db2425c7bf78ac07327e537644304616ad91463164ba7caa5475a4439fc200d2499ada833767b93f2f1324792c5c9732ff84a8f894a6e0d95c9551a75888b270cf42311db4b2f2419f6963f5c31660a61288f7284b6148e8496c0a6689fd91a805d1bb20340378da5ccd4a52a03f48019305903c63e2d798f1149078e1a6b4159409cbc1389bbc4f42074d7185d0c3888970c29d181a1176a9ef1aa5533b553ffc1624023b83adcb4c4c08612593cf332c07b680346c3c3c26659ce08a83e188eb18c893d09246b804ae3a15f51b1506080460c5a2e3bb7b0a9ab7d04b70848a58c52c66273362b7ca2080c6bc65489524e2c1f1ad5aba9582f2805668b1a9d56a5465fac1b787022fb248feadb71f7db07f98a31565172b2cb336b2191b9b35f88821308870adbd2b14199ca62266296c9221bf181ef6530951a7bd3707999f943af636d8410426580a15debad3ca012d92a28cdd9656e635ff8d09244056b9a838899b951c3ca32d581a63a1c4d0bd5205fb661065b372c1593fd86c69622546040c41644a7c2878eea78b8b6c656a2eac5788690ba790bee315c4f208e2b6c4e552228aeabb450bcb18945190d2cb35a4c2c2748b44e6126cc83613e16a46060252a8876f583382124a25ca1a9bbf01cd9d9bcf8bb8c99e7b649743caf865bb2250b868ac02a8aadc359cfd6b560651538301072e8834fff1567f0f19ece641564ca013bd9997fc424a7174748f7488f9360c4bcc146d78b9d532a8beb2392cb82b937182ad012970426f9db971a924a5be4c1c24a301556146b5035f05bcacaf2140cc63ae4128572962f8fb869ebb99c0d969c27855e5828a5a5ca7a8c6145116ab3e3eaad525760d2e472163b6d40ca8198451330d5bc25f5163b326ecf798966b1bcafca0ccd1a90b0096b0fc4486bf68ef3a8aefa48879eeba9877ba5850132fd7a0869cc7a6d8abe5b752a67d6863677be303545770c813050842a271c263690e8fa3f6e92906efc54a76abce7e825ef2767a4fcb569643bc9818570a8a99e3e6fe870e290d2d9642b20f3ed6623bfd0f3ac1d432a4ca7a7b3b7e2
+Secret Key: 74d7618de5a115628f22a76bc3b7a58b4079bb58051b28c6974aab8dca8bf7e43436911a7ab8a5953624d36a1c9c1306d3651637110bb415bf3f22c2d88281fa21821d04aa200c968db0a33d55c4cc465246cb774bccbfd221296002876fc6156fe8c76fd15c6c1ca8f036537f0994fd46a35310216cfa2663d26b9bf4cfe877505d812b6b317e30e0cddb074504f417445c96c96ccb6e3c61bf385d35a26a72acceed0a44f14bc376963a84807f1c0c293a63a087b5c94fb2989a953650d7990e4c903211a1c3e47f8f28420c305a5d7cb16790beafe0c7a7945bc488b871b26af41361b52a5e1e8a0e78112993124abf30873cab98e142107106a12c3bbac259999a7a75619448c04643eab8a503daae53256cf570b8eea2ce4b3137fbfb5e5fb74bbf7763da711d8fa5427ad008b5882935f0af833ac61d5316aec35fb6d146bf8144927888e4d8b050f95b7fb84f2eaa5db6006c83f557f5198d3a1a39bc80acf4f0a4f0a5bac0b3b3a6b0816dc4b484993e060a72e2b913e5c8c6d1da54f68774b5653684bc4fa6c197e76b4ce1091919c28f8fd93c3aa27fcea52fb8e90b5b8ac41ac92d79454959d4b60d186caf8bb8ed968d6cebc1fae8705542009c63a94cc430349a62d01b282fc66a7f3b34f5d69395866d29e9a37768847ed22e061275a4d61ffe2236dda66e77844df8a859e3202f70a8b5a3caa9df81cb0464cb91075609011a3a71be1ab59943b75cd1b831295542f8d14e019287b75a8fdf938dc750a74bd81d4b23bb049465a14a9a4f05653df335e021c161e97697e49df423cb7e013177567cdae1cbe683cb0e1364a21b738e81b2922a9f469ba27f7a95e4751a4de71437543cdccab0ae2b6d82655a56d3137f565b01e1629425cec08b128dbb940077188fa5caccba263e011850e7cb64d183b09c708569cb9ea34ff33088e515bf3a077e3083c1b2c358bb753ae80901d8618b738011b7111f89f920567c4419a82ea1879989bbb0bb946792758702241bef462afe0010d8948ec17b5b69d84c1b3866f810ae205804447448ba4b2ca5c813f3d72f306a7b65f8887465710e57308c22c43b13c060c9378f463d740a1cbc958af0b9ab09ab142e2c99d1009126833398468e2b5412ea4b5ce1711244f888cfba03fec83e57fb216f5426d241466637a9f051b0a75081636895b7f345348c89be7486696cbf218a8949a6415bc8512e5cbf52ac9bed53b2f09691981c2fa80564f254c8a9808964210e073849407452fcf8bcd8a92bca35402d595e4cd8952adc9b1b316a45a0c68ed29e1b11052de243f343853469b0ca6b3a8c5988241c0da140201e8676f070cc6994c6297b39f137ccd132143a384652424afceb62c4b259dc42abc559535403608251a4e1c51c309660f07b69b47b44ec363cae0337c3f47e3c2b93abc54a272ace061526457c48cab3c8b85c67eb8996903039b63b16c3f136762b7f0c0c7d3dc3c9ff2cc32d98081c9c0ef9e82b05e69a5ef27e9d8b1f2cf26b3524244c83c1ad158f6ba31a71050ebf7c39acd5b60cf790e722b878743b73064d67f388bd900e686c56fdac39db292200f4101744c0c8a90eacb177dbdb51b4d0402ff7a8d5c8703e31044db830b547c1fa5bbf11370e92e6191877575a863434a82943136b3f8559a65ba6a8905450a21708d0c7c42a074cf571db021fd1ec75dfe8723e64ae19542f8ce6c3c689439ac4c2141775dd631d6a706be8e8b91d6b4e331c85bf458542d399596724f110b5c23768842aad32311baf16990ff467d2362f569a360534295d6531ea9273850b44f0d1317d188bffabb94e841d0d893c0125b87b855773a2a40c9bc4b291be404cc22346653d618a5c8379a5d0abb86326a949cc0b87948980b86abcb026fbbd46d77a79b62aff82865585b13b570a20a8b1ca4a5d45ab2c77e030e571c43a9cccf360c6953243077c467158382f7aa72d7127a1c1b2b2e5075c13a4281883ea33748e2367827abb41f5ac8b085f0898938f31ad7846934eb28dc8673c30fabdd1648a23e09fa1024239f48264235b06707ed18bc070db0891f512472a365bfcb7ba25ad052847ae66be28ab31989132c5f05607fa51de930a1374caf4e59670b7458c641d842308ddf44f552833dd3634beb8b0d8b309edf942dd81caab89aa476ba001b39d147309c0578a8a44920a5bca936b9fe770693b03b9edd91773050ff1070b3037c91c3078e72ca86030a8ae26b8d31a2bd577c5361b585762a924957d2e7b7d89bb81129829f48242e70c4b1f36ad01a4c14b83446de61e149c9cb16ab3a6f38dc379cece409d506763894917d6fccbe5254d95751e26e3a837a2c9b125aef03997dbeb1de32c5b11f60341b70fef91a7c6f088722c8af1779844929e81bcbffef19eacb58788f135d759780498b2f749131280233d55c17137a23f953741e1c195ac46b5eb0f3889cf9527771409892335a2f392623e085047951274c92bde050a34c090888cb356227f9c89c07db915edb3294904921daac58a170a8f7ab0dc4abed1a5281e1025dc7a0ad5a26fc671ccdaa77fb06368c2f0be2b1a3844a2617cb92ab8d6bf239b169a69a07fc50fc0f83e9372a61edaba40046367f79153431505618cd69a505428a2ac7a174e7a86852668e5b371e02b06c6c8008ee424a66820175a9a27b04271515328a28d3485b2eb93886bd8656fec8533c296c6614b23644a62c5baf88b9696160a4189c8b42a0501b0bf777c77ee742b42dc6b4a3406bdd897b8312b9dea5cb0d45b2c6368caa20cac0c5f9e330f7bb7a9ecc3179c9c1e3f1631a5c0456bb81949b48f981343df980330318dc04c2ef5001ca1470ec3b41e35f194bfd537032983219163bb6b92cad48b3db6253af55542f8936ec8ba415459794578ae6356ebfb54fcd96c8a8635c419cb14a357894a48eeb91c58653c1d285ad5ea230779abf5611be0e4567cab18cec92dce80c9ccdbaefef89b9a4181a2153bc6db7d49a9af49492ddffba3ba65ba1c7878b8788f3e56b23f433f0f8a1b3b46b699a1b62bdc534a23862da446ef262bb26a0c1310b004185098f689d9baa8d7e89520fc6fff1ab27a17b84f477085518939942d980a8d81a987f8d4891f0c4e89b63e2244cfe343ad15469d37e0174218b8c4c3a6e1577942501709b4ae1650b26256094d59352727554ac871ee30944da24cedc7cf35136181c00c7e80b5c110b9f7bb966e5b5012cb48d99c85880386d41793edd8b34fa8a2ad51a8bf366a7358978ad1290ed54db2425c7bf78ac07327e537644304616ad91463164ba7caa5475a4439fc200d2499ada833767b93f2f1324792c5c9732ff84a8f894a6e0d95c9551a75888b270cf42311db4b2f2419f6963f5c31660a61288f7284b6148e8496c0a6689fd91a805d1bb20340378da5ccd4a52a03f48019305903c63e2d798f1149078e1a6b4159409cbc1389bbc4f42074d7185d0c3888970c29d181a1176a9ef1aa5533b553ffc1624023b83adcb4c4c08612593cf332c07b680346c3c3c26659ce08a83e188eb18c893d09246b804ae3a15f51b1506080460c5a2e3bb7b0a9ab7d04b70848a58c52c66273362b7ca2080c6bc65489524e2c1f1ad5aba9582f2805668b1a9d56a5465fac1b787022fb248feadb71f7db07f98a31565172b2cb336b2191b9b35f88821308870adbd2b14199ca62266296c9221bf181ef6530951a7bd3707999f943af636d8410426580a15debad3ca012d92a28cdd9656e635ff8d09244056b9a838899b951c3ca32d581a63a1c4d0bd5205fb661065b372c1593fd86c69622546040c41644a7c2878eea78b8b6c656a2eac5788690ba790bee315c4f208e2b6c4e552228aeabb450bcb18945190d2cb35a4c2c2748b44e6126cc83613e16a46060252a8876f583382124a25ca1a9bbf01cd9d9bcf8bb8c99e7b649743caf865bb2250b868ac02a8aadc359cfd6b560651538301072e8834fff1567f0f19ece641564ca013bd9997fc424a7174748f7488f9360c4bcc146d78b9d532a8beb2392cb82b937182ad012970426f9db971a924a5be4c1c24a301556146b5035f05bcacaf2140cc63ae4128572962f8fb869ebb99c0d969c27855e5828a5a5ca7a8c6145116ab3e3eaad525760d2e472163b6d40ca8198451330d5bc25f5163b326ecf798966b1bcafca0ccd1a90b0096b0fc4486bf68ef3a8aefa48879eeba9877ba5850132fd7a0869cc7a6d8abe5b752a67d6863677be303545770c813050842a271c263690e8fa3f6e92906efc54a76abce7e825ef2767a4fcb569643bc9818570a8a99e3e6fe870e290d2d9642b20f3ed6623bfd0f3ac1d432a4ca7a7b3b7e252c21edfe380868b0e34c1f379e7efb77579dbc9d691c9a7a38187fc8d7a40954aa75ac89c9b3bc9e068aa6f56c83e6b58a095aa27b26c7986b209b5802f0039
+63c5c2eebd40af0a8ece280c697cb8a0d0095392f7e90d6378571016c34776df
+Ciphertext: 75772721d746627d72c108de1994275f42f2b732479be4a57364824e1651341d315733a853ee325efb1f31e643b0c27fb658329d0513c1f6c91b11652c68b35b3e5b6fee498873de0836593c6864a68274cc7e1836b6b2ada9beabff3c08b588a9c027fb266b1cc4933671f0f5d7a7c273353f4fac56dd67f346c75449567a5df109a8a60db011491c0eb0569e07ca1286c08e61f4a8fa29b7a2e9586d687bf28e23bc9dbd2729f1b94c55345fa49687ebe1425217ab7eb9d21e75bda84caaef54cb8703eb22acfd56a8d48afcfd85c896891ae0c1d9c129618688437c0e75721db5a953340ad0cc4fe8e84a337ce117c6dc836fd64cc77b392f6049ced9f7ce20e88256bf0c32baa8e07a579cdc17296ed58b7b4eef23187fe6a56d73c48a181791daa1b510da402ebafdcc57fbb7a0ad422bfa28551ae9ed1c9445090d142f171d788bf8b04c843a81aa62743bfe276d1760ab531e117eae55e768462d9a89dd95c4be172aa44137d0e071974e61a272e5827bb1630fb50e9a35f0c83997b2487a4dbec1439b15f07fba5b1bfd8cd3b9fca1a26071528967c1eb375e7992eedbc0c5a80b5e68a49a05b249269bb333d98b45d1d36a8bc789f7786ffc55983a3a4f035ee711522b26327be04bbb22414bfb821a21a87d1c2c831559f300afc42eda2e614ec582fa9df068106f7857ac794c8ff8bdbf51a2d9fb23dd756f2e11e90bc995ba3f8fb0679eee5d899c1c63c8d9bb2a507a930dc6beef5c39d3ce5f6ecad2affe11ca2ab58df60acb7e60920987daf0c3d4e0c0ae5a0dc84ab14853eb204245894a7151f1a0ca26562d5ee054acdc7babc700276a653ce9269e6ea959ee6e1d59f98897d90f040dd4b4cb2c5e2021c4d54968531a96a76ccbe92cfa3d35f163f5ff9066ce43f74a7dd870f24eb8c4bf3573f31b785373be6dce55138728e97c2014fcc598d227b2a479fe73c97341596182e3f24b48613ae8a9b2920d0bf9c67da394750abc229e8e922a3fe0ac7db682beff80e659fb77b76d9ab8f4fcd917f66892c83f131683183cf9155031bf599262961f3719aae8a560153cb1a971d130c91faeeb3b979340be67d3d9a2010cf14469848c5d701f27b5403adc87295bff042d34b095b4f2fd0e41207c822f96af75fea357640bb8e3f6dbb2039f5b7429a191393bf9022cdb0f2af91dd6639f094031ce354e9c4b4328ba11072171539b5c77b6d7f67d56bab464e6785594ac5c0aae7a921f6d10ac9703f245d284ac24b7c195d4c9239794453624b3cdbb9c3c00f36963f6503d443848e9e4988dc7b08c4fffb66c1bf87c5c63a3f212454428bd9093a7c6b19fe3151af04fe470f81ed693ee4f0dbf3b097c729eb8be3efc9c3152b1bd2af9d0ad5d0afa616a8aca62e8251f6790839a989be1110106006caffc8f42c3522dc05a1f3fdd6a20043ee45838ed74dee13779d64a383a6cb894b98b6e066fa5e70378f25f6eaca17b558c593fb7037b14b45eb3f1185ed21d817456fb2700927faf190cf4a49874a74deb271d747d94cdde11ede5178864667295cae1246cf86b2a895e6a089ff0fc31b151e13caeaeb19bbd78fcc869a4397628cfb95b51be030c0af07b312962a799a1c2a91639bf1025c651bcb33152e7298706a4a1a06700e61cdfd129486b726119f1d689fa1033900da21893e57593a5c12188ac139a3c4fc61e97760a6eb3d620ff90322609a23ab31b0f9200b1de38b82259eb70c79970e9d5fe0b16e5b87256cbc14f42507a10a7376033d535d46adfac67edafe6d2e5a106e8c4f041957a65be4338951a7e251c6de1623973c98c78e7724ffe0b63cff04bfde333a88f29c2e41a681c4a8e14c52521cb0116c5af91f53e1fae82d08774954bed82df1b358cf1c680e5111da3245ee36b9466cdd615b09ea3ea3acb0000e00f1e55480d71b73ab5ac192d09dbda381f241c5b7d0ecd227375806f950a651e0a3f78575101a3ea004a20cfb277c1e1cbc23b7646986f172ab817372020c7ca287a3d5324230c9bff4cd567ec9b59df89e5e2875f04584f7594f0eed40acb70c0527cf7a266aefd9805d89d00cd809de35fc4a11f21c6424a23d7acbe7736a908d99304f29b70d2bcfaca9e33ec38826092efeb69714d49edaf1ffc1e5ae55665681c361763317ec74332458895b70fe6d84929b0b3e699316a4c2eac2c83d9a909
+Shared Secret B: 626f2c3c8305dc0804da431b28a365f2915ffe0e625561870c1abbe1fee881ae
+Shared Secret A: 626f2c3c8305dc0804da431b28a365f2915ffe0e625561870c1abbe1fee881ae
+88401429a05c6d95e54051263f0670e8870ddc8b7b3a4cb53a15a5e9f7591d3fa6e47aaac104778d6109d56cd940d33d0ed6485adb271f666e18c26289a2b5cfc2909dae5ae840c3075b1d35a05c9f0a9596d77166e96cc24feaf610e2619c3f7665fb2c409564b65af2fdcb2fe3e6e00acd447aee1263fae91ec2541148b68783aa363ac22a29e8ce6a9602f676ebcf3d33f079b51ed250a60de1fa671d82ca2f0378388d184b8afe685a1fe5c9360d72266a8c45f5fb7c7f6a4a2f2a9a04280a105aa067792129f31db3aedd287bbc0c3b0844f0f44787d346e94d1fb04b3256f6f52a0c53c1c2d2eba8ba8469ceb969f34b582fc4331560d98316ff7dd5a66e4b509a141a4aec5a04ab11084bd5e6301557200ab7127781fe04d6e789e2d595e7d60c366fc506d0197a705b3a1b142620b9fbe278a46ad96f3d30d162b13a275632f1e63375d334c32e83e187c69a2d4e01970bc8cbd5d9b3ef2a48f0f4a05f84bc0c2554ab835559fe268faad24606347af82b37657784e2a9c77c53922553eccd3e0a820f555015ee9943b0b15a452623fd6cb72220366312a7485a4dc196acf3e0c40f52485e008f483f6267845506440b85d5f8219fe98142de40089caae525d3b02529b451d7f3603884c734a761e1aa74b79201cb01aec4911b058b103288e442ee40d7b2d923cae32c453b7d830809d94ae16515f8639f8f735144c98923fc7d00096df10347819221bcfd982756a5b4ecfc973a9669a315e5c7949a002d9009c7e9f1c1d2d17084e65aff4aa769c41ce96189022778a6828b665a8e0cc5100cd5a5036ab4c47e16baf2ef1c31c47219aec76b2191edd150eae8e5a7c5316b8d61d8ab1b46e28c2b4e09858b07d0953be4a69e30fa3f170e81e4baadf97ef1466889678d1c55d2d5fd39c09641244220215efeb57cf44a4d9fbbd6562ee379396ae46ef6fcd8e3d26981a712727da79ce39181d0cf49979ebbb062507da716caea42b9e279abfc1f9ba4edd701f54f98083d581544b1740e7de78be16f90ec9b854edf2c70ad7be807291d56cb4d62abbf614991f293688ee09d15ea167300f1cff71c7b8c987daddf62193e1c2e3f3c9c5b1e74fef1e559c3fec69b4d92554b1fad1bd59b18bea5c575200d29c4e126ad2bfbc98d2f3c621d60c81d3f394e7c5bb1dfe0204e43d7b1044e033e1af1aadb5dc0c0b5d1e91f49be3c9a867dda5a5a33dc75f9168ffe4ad10293b4516edeb029a391c2b0790e0338bc87641b90b1a7855fff57a656893a0e9493475f11d78e0ba5ac00807ded08ad2de4ba653173cd0227c0cd281d51fdc33fde3d27efa2e2f6e488bf80ee2e3e8c25ca3ad2fe391071f8a50e0e581751cba59421c52575ab41744c574c2de280560faaf51625f4b586629578562ae1a3d9b7ef401563d4c866a62873f4835368fa12d7fae213a0fc5ed2f4f20851233f35e8dd07618745d511dc2055dd9a25c01a6361cae7a60869bf4167f070a45ba1740ac1ccffac78691cc2839d7394fa48a58df9caab3e9a9b2cfe217520d5be52c735f489b8d08a1b34e7b806b23f4da04ede4dad36f26b5b8a88131c09d4805d59143be4bebd78c3d764d580708b77187d44f971324989e51d63780c42b0aa7120bfb13ca1708e05f6034f314ff7a561350be709ae81148b58f268c9740297d23e1096f6252d4b2371bd6c343f482b7d30d191ea8f607862e6df298d0c784f376b246c0f566afd004fdc261a9a7c4bf95685c9fbba72d9a17e5303accc1202f6774387f57eaf96a21a1def8f025368b93cab5223536fd4efab5ff6ec17f11e25fcf71b27805a4da93edb331139d9b22e8139ba08e66bd7a66a4eaee6484dca349d727e3f97e4fbdff1809de9f9a34c00329f0cdc8b90b70a84e23eb55c9a0adec45585705be07fb39d82e0b01b7dd1661fa3beb202abda57ac64fdfa975ae40333d88285231c293df309e7b8c258734700a625ca64e4e17e7072d293ff51e4f80b6f5a1aefa29f77eca94075970544e24c6b8599ef1d8464d44a1d780aa557077c2bad3bf61913fd110a5769e97cfa2e4f8eaa438875218a89c6a9a812dabdcd109fcff8523826e2bc162b9bc6d4ae8e3711f25c69606edc6f69e1eccc83886e83cd292f50e4f8e9c15f081f78adf736944173f94b2f78b02e659ed685b57b01a6a033186826faaa7d24250225cbd8e1e729
+Pseudorandom shared Secret A: 68e706f37a3a7df48c05a30ece6e4335b13d02568f57bed093398532237c3f40
+3ee7137e3fac01b7b1b8d69d9f1ab324191626aaf735a6e9cebb09d65dc2ac651235d85a55038580213c2cf28a86665578da08d461b5584c3648ebec4721af8a
+Public Key: b3da6542706e4999a1744c4f05b46b774b0d7965a0cc61a2aa0bcae39028159b3a646b967f8b582341c0c16a038ee43be7fa900911144cba75ed99357068c00196825c485cfe75a81c071609785f122b6db8da86218b23bb3aa00bfb5833802678d574fb7563fea45dfa57a6a84598ca6acddbfbb64e314270766e1163784a475280a2866fb09a8d596809f74006cc2c825467af6c3897288328c7b62ea3789b998b3dd61e198cbbb2b5ab371b4029093d6e76c625d61649e28b30368de316a18e008431b96690a56952203ef17842add681858385014b3e105199180b4e168b094d28380a081121050ecbb8bcf5f6880f7591c262639c73b54cc5a3c01a590eb88d1c6bcee948686ef0547b41c8d617a966d235ba845d65a172dc67a33211c1bcb5ad2e00c0f6f87952b086439cba768abbc8fb9a5f9c272f062c3f426b9dd8c06f2648d98bc79633311f8c0ca1e663b0740d5807a31fc28cbbd83f48b9a86dac4b51196da807032cdcb66754c37de70ef06bbe2f035e84e17b2475b51658419067761e264b4788b89bc702de60319cf8bcd064cc8f645363c786d186987b76802637cd561056e7260f01250e547695b0e0100fcc6879a2801b7019fab658ab42ad9ccb99dac86aafb2b1bc9aca36443765e0778ad15a35909521e625c3e45c508215f115b5f3e94d743b196df5090310aa5311107be28793447b0e103a7159b578d60910155e602b9f9057c15be507462203c8721df1e5c6af5c390ce7b8b00b0c44f52f99bbcfeca1362de80f95b39d4704b106f2915c19a4f5661515e001bc0a2f6fb653b20627c1fc4ce20b77fcc5497cb785928047a981932f9a1de9da9a7462b57390c7550c5d8b6b999e738a1133a50fb903cb8999655208ad9ab19721a6c5ea204f080d38a75b33500be482a4161c356b8ace241298fc09b95df06c5634acee4b8d09491a5792c0de87233d3a9ab28442e5892ec0fa3e07652873880b618542143accffaa91c34483977737eb99aba9f16b93918a73e694d3d95cf9a5011949c153ac1ffd6965e7bb8281782c45c4104e72ba9da3a6d4b83e0d8b855ad59a1f0254406ca5b9f539347274bc4ca5ae5520b7f45e1fa38d8a69c38b44b31a2990fb8b375b50a434e323f2832eeee304dc0b4b63d262a859c6c3d1cbaea61d69f94d0f6c2c42c49fbda44e52d55dd661182b546cfceb02b90bb7897874ce15a946c51c311c17680773dcdb1c7759938454631854cca6947f15f91b75350d24e3511f3750daf22906036e36ecc9c9a1adb28028b0980814851b9c87a9fbaba83851ab960c253dcc54a1f0b1f4917b9e7280f09946b3391f0fd796f1a3bc2d735ec6530edc4129520b091e4a0e3c5bb19ea309eb6a8fca0441d46a2feba7907e37c3faf845f7cb774dca920e2507126a7fc4038c795b12a12669d6fc255d056e89a3c7d35b12e9ac7832361b78a73827124b6dd18c55c2b89f1501488abb05a4a4ad6161f6351e9f79cf615b58e4f6afedc38eee037dd95b5bc603352846bcefab3499193df16a9a566b40e7614a5137877c7a00816b3fe4241896ab4dbeb88a5821709e716739973537715b0cb9074887a182373c503b7f6d2b3ee584b59d0976846735520139dc324ef9ec7ebe7256b252a750772afd0574e0cb74d565ae7f238aef42397d7a0ad8d8282ed3915e563447ebc063c682ff601a383564281652e766796ca30bb75088e6084b5bb24d12a1c86b340e56cb8d3a731c4ab75d96230416414bcf3a988b6914f6662c998967e0f12d1ba6c36bc919a1f12b9d90be47f1a1264723e942a88759a33abb7e151aa74d4790408b62c6016375296870fac14abacd41182434c2547df8263433050632becfab061f5435435a5da0901d92a8319793c9b94b7d2154b23b259b97fa8263c2ab0fa3af055c7b6715425895af8d78747cf4721f223a7136c295dc8213fbc74a244917ca5a11e792bd26c22a4bbae6539726a99bd33001614762d36cba2056273b653be9eb26db1895fd067c165321cad6bf5421724cab3c15a0baf51b6256694907f0ac638c64c2145e17780ac49b1bd3568b12ebbee486ac792101e207c6dae59055fc64f6d573d9cb00ede81649f584f101140820aaa64154b5d834f78193a9d48073f81b5a8b4e39c73ca2bf42e100164121849ea17e7b0dcb9ea5ef339f9c994c14497c5791569bf49c
+Secret Key: 37722d744ba3fdd95c41b718b0d095d4a431ff7608b4447f5dd76041a7a5f6ec8e43d5ac74e1941bd31b22614f5bbc85a4735cb549a21b7839509b62c79a6280e72022762e915b120291282f088acbe60358891dc8e00625f65ad0698e0e296706454efc354d47c7a586072229676068f68b3f457273a6b6210cccb4ba7556d75d00803da636072b90095ca16c65e36fcf501dbdf8372188264ef64f8753261ddc675c40581eac02ac9ca2a5b6805d718262683a9e213ff2f39924635f93a1ca60eb0876ab039419163377b8bad35f2ae40ce4964861db9d93488ab68a25dad6b6f474c78cf07e9fec699be231e69877e91c6c6d8c739d93cd7311542e550719569545f597b3758fdb361eb673a4ed536d654ab4196833bb4b4a8b6c3a71c0377cf1badd7293a8ba3b4eac1031a2627ee1af924a03c6378e9d2a7943c9587c031377d8bcc4a71392cc7bf4a71698734d01901e094b39f4d623c66ab8c7c5b8cc8910c526470644618efb8b02c6c3a6ecbad3601fc04a9fc838b0c2c68dc30a2aee1c76e82414674b2c26a10ee02b6cfb90c4570102d60338c5e00f46b41a5922a2ea395551f3bde0230c3787c38e4a8d084a4916b7a866aa9ac9957d00f7349f36941fd39baab5be66b002f08b4419254b88d071641a9f3608701513a915f133565a81e89468edbcb012265c320aaa84e876e6fac8206c61ef047570109773e1247fd6517b00d028e78c8698725409a325a429cf36641ac145fd800c5ed23099985816db00dc3b3263241833379ff77a5201b1cf4c7c6820349ec7a61ca5540db9eb29d75425ad20093d1523ddd1afcc236a6c2ab912b7b336e082e8972b606c7fa2a417c63c04213062eb778fada2a27a7711ad0648cea849da4108c7bc6a1ee360e3e97df5531d55bc2f34c7642a091038780107e2bc10683a9e250ed3812438225ea2ea10e8d5c060464a09fc961498734df651c8e9121fb554018554c3b1226c59a9fb446ed0b34193d681ba1b94db0cbef6fb58501a49792b19359521fc745d98f9840d01b2cf7b2f7a0b6d179cc44b4bc2e6b5045dc36c67d918c30c0156146bc5d300435bb1b04ba67c50a3d8aa2c59005357b44a5f8170b8b9913f9a1331249552bab0767013d6657b082a2dba9305db055cdd486d29b387529b999c8456b6d5c06fc1c2b27306e284a94bb37b6bac3b53c53b64702cd6333b8a24b8a2a314d3e8993ce50050ac4b3694b56c843bd3b7b9ba2b0a2a8892a3da4a1feb11b7f0084ee5a2ff2312f8b684e75ab57d04013a6472d38923e9810a465666af65bf0acc849ac04e93856f0cc0c9e0f368af201203cabfbeea63976521bf9a5d0f85765fa2b153841c594971fed0817263bfb9cb9b5e21cd22f59d87c675c6265528d6438cb18dcc7b8e20f954a1662e2a206ddf859abb08445f0c940a74a44114a1b5e9648da4bdc732b272d83fc25c680be2a81ac8093c5c70a2410a5015a4b8551848d87ac5155ff04c7f29d5b68ad60136c25a1f069309b7c702f88882611fd53917dbe281d5f8233c91b605f4188508c1b3127c017545a735b0a6b78282c8843ac8a88bb7b409b6210874b293e54d42725d015906e5f137c3592ce326b98401628df924ea4326ede88d3b072ce794a92f2a9302594e16b24ffe92951ca42c242bae9048360432249968a0eeda1f22e2bc7f21785d4b13c3d99ce908143cb313bdcb594b4ca0ad34581cc493b3981edc1a0c3a025aae605c77a569d1dc036d266dfbb90246cc846f322cb1b1c8062c8d791998070928ca2cb2a8f90f83751c45d0229215a7c2930a40d4ac4f82b9ce70ac54d202d6b1685380bb2fe527e578454dc480989c55700c9c9ed48a9306c4d177712502cd87d7be6c511adfb3141fb923d803958025580747660fe296d7ba036d70b913809e92317f29d1260bc465909185b0276b22e137f640a76f79754c0ac727049480b3c7c0e2a7503c12ed093e4ae30248d37b2cd4718603a0581a9fe108c94ea71cba5cc0c90bce506c7309a66a27a8a05c4ccb980a935e835e78220f28d49a019953d6b9511277b3df700243408041902fb8874dd9b78b5aeb5d104673b1ab8b0d315275660b0e44a03c335ea338c8632369f341b29cb76cb93564ef03212df087f9404791d03624d761b3da6542706e4999a1744c4f05b46b774b0d7965a0cc61a2aa0bcae39028159b3a646b967f8b582341c0c16a038ee43be7fa900911144cba75ed99357068c00196825c485cfe75a81c071609785f122b6db8da86218b23bb3aa00bfb5833802678d574fb7563fea45dfa57a6a84598ca6acddbfbb64e314270766e1163784a475280a2866fb09a8d596809f74006cc2c825467af6c3897288328c7b62ea3789b998b3dd61e198cbbb2b5ab371b4029093d6e76c625d61649e28b30368de316a18e008431b96690a56952203ef17842add681858385014b3e105199180b4e168b094d28380a081121050ecbb8bcf5f6880f7591c262639c73b54cc5a3c01a590eb88d1c6bcee948686ef0547b41c8d617a966d235ba845d65a172dc67a33211c1bcb5ad2e00c0f6f87952b086439cba768abbc8fb9a5f9c272f062c3f426b9dd8c06f2648d98bc79633311f8c0ca1e663b0740d5807a31fc28cbbd83f48b9a86dac4b51196da807032cdcb66754c37de70ef06bbe2f035e84e17b2475b51658419067761e264b4788b89bc702de60319cf8bcd064cc8f645363c786d186987b76802637cd561056e7260f01250e547695b0e0100fcc6879a2801b7019fab658ab42ad9ccb99dac86aafb2b1bc9aca36443765e0778ad15a35909521e625c3e45c508215f115b5f3e94d743b196df5090310aa5311107be28793447b0e103a7159b578d60910155e602b9f9057c15be507462203c8721df1e5c6af5c390ce7b8b00b0c44f52f99bbcfeca1362de80f95b39d4704b106f2915c19a4f5661515e001bc0a2f6fb653b20627c1fc4ce20b77fcc5497cb785928047a981932f9a1de9da9a7462b57390c7550c5d8b6b999e738a1133a50fb903cb8999655208ad9ab19721a6c5ea204f080d38a75b33500be482a4161c356b8ace241298fc09b95df06c5634acee4b8d09491a5792c0de87233d3a9ab28442e5892ec0fa3e07652873880b618542143accffaa91c34483977737eb99aba9f16b93918a73e694d3d95cf9a5011949c153ac1ffd6965e7bb8281782c45c4104e72ba9da3a6d4b83e0d8b855ad59a1f0254406ca5b9f539347274bc4ca5ae5520b7f45e1fa38d8a69c38b44b31a2990fb8b375b50a434e323f2832eeee304dc0b4b63d262a859c6c3d1cbaea61d69f94d0f6c2c42c49fbda44e52d55dd661182b546cfceb02b90bb7897874ce15a946c51c311c17680773dcdb1c7759938454631854cca6947f15f91b75350d24e3511f3750daf22906036e36ecc9c9a1adb28028b0980814851b9c87a9fbaba83851ab960c253dcc54a1f0b1f4917b9e7280f09946b3391f0fd796f1a3bc2d735ec6530edc4129520b091e4a0e3c5bb19ea309eb6a8fca0441d46a2feba7907e37c3faf845f7cb774dca920e2507126a7fc4038c795b12a12669d6fc255d056e89a3c7d35b12e9ac7832361b78a73827124b6dd18c55c2b89f1501488abb05a4a4ad6161f6351e9f79cf615b58e4f6afedc38eee037dd95b5bc603352846bcefab3499193df16a9a566b40e7614a5137877c7a00816b3fe4241896ab4dbeb88a5821709e716739973537715b0cb9074887a182373c503b7f6d2b3ee584b59d0976846735520139dc324ef9ec7ebe7256b252a750772afd0574e0cb74d565ae7f238aef42397d7a0ad8d8282ed3915e563447ebc063c682ff601a383564281652e766796ca30bb75088e6084b5bb24d12a1c86b340e56cb8d3a731c4ab75d96230416414bcf3a988b6914f6662c998967e0f12d1ba6c36bc919a1f12b9d90be47f1a1264723e942a88759a33abb7e151aa74d4790408b62c6016375296870fac14abacd41182434c2547df8263433050632becfab061f5435435a5da0901d92a8319793c9b94b7d2154b23b259b97fa8263c2ab0fa3af055c7b6715425895af8d78747cf4721f223a7136c295dc8213fbc74a244917ca5a11e792bd26c22a4bbae6539726a99bd33001614762d36cba2056273b653be9eb26db1895fd067c165321cad6bf5421724cab3c15a0baf51b6256694907f0ac638c64c2145e17780ac49b1bd3568b12ebbee486ac792101e207c6dae59055fc64f6d573d9cb00ede81649f584f101140820aaa64154b5d834f78193a9d48073f81b5a8b4e39c73ca2bf42e100164121849ea17e7b0dcb9ea5ef339f9c994c14497c5791569bf49ceb562edb77fdd97cf3502a24fd6f28610df818fcf49175ec20ff3e25372fbc3d1235d85a55038580213c2cf28a86665578da08d461b5584c3648ebec4721af8a
+dc5587e3a4bfbe7e26b9f874afaedec4fac86d3fff166378603e5bc69b54fed3
+Ciphertext: 82a1c651e61c716e1a9e19089401a20c4f8f679f895d08844c443e7acabc621963d6c3c514f952fd91c32c04c96e1099e6993e48acd3ad32446d4baa06d734f4ea723689b67cf6ce8149957abdf07a2f499811d9e873e6e76e9ee2ed7d3b1b978f19d450f65d75cc585bc23cadd964c9f6298e6dcb7893e5dc3bfb8987c36f4460b2a2521733eeb5ef2110af2f34018b8d84f3033a3af44efd7aef383d8efcbbe0347366759886b0561484a3b65b556eab0ecd17ae24a21834f5e64fabb3b0ba53af35da9abea20987822c6c84862d1f7c9c39ebab21a911ac65e0d82d723d5c546de06f148751c351b7c7dc826dd6a38215eff67f578e6d12e6235b1e47822c45025188172900a0979455eb34d046c19874c995835585788338127b5b9ff3963b6a61ecc44d28164e112f10ce3f155688f54d943abbf44a45324c85dcf70aa0fab401463ab7bf3c812e372030325b82e586ac05bf263a7766b1065ce3353a0a545c4c55f422468164350f49ce89df918927493d37927b87d7f2bf19ad81e3b7609ff9a71ff0a45133934144a33fd8a012a01d0de8b496536fa7705619f5400f4bf95213a40c6df9f566b5365bbf4c492fafff908323d497752a7bc52a884316b749dd2105f83e82925744a031ada19e224b6932590b184a41d2104ac6f0833a6e87d0b5fdf3b254b1e17d81f066ae7fd846c8b4500c100dbb75edcc2766c99fde938df25b1fcab8d9b0165c07f0f91d8163430e448fa29738a0114e0d7e77bf71ac4fb87b2e84c0567aaf002b12c326ab95b028de6f502c10c3238415216241acab4352c81071b1e81fd8582003bb176dde824fc493d900a2753b9fd3c005c129389b03e5ccf99ff56059ae49f793d3bf424bb1c9b70708fdd4e03ee3d101164d2cc37898b9bc78471a62f512085c35e682115aaeefc412bac82067afd69ed6e24a59d5c62f6ffbc4cd585d328e9034079b570bce28923e55c043886ae5cc08fd2b4730eaf0999d05db9f7f4d1d91448ca93ee1a2747f99584a48640a28e600313fc8e6a581ddf7aff73f70e6b239e5700b3990e987bc9164d6ca3a8a357d5bf91cf1e6592d38b4dd8d8e855230b39acdc92cd71ac9672f1b99553515844f2acc564e14ca80cd81f7f01ba3be14e8b552be6ac49f647cdb38b63e98e460b9c6a1043864c8c1d2ef6dbc21d86cb853506c94f4c4772326484515da1cd4d950968e8d6269e004b6f4c9b860826fcf50dd359d57df3448f3548620d247a17ade65707b6111db759cdd10adeff93baa364a61b3647a254720a988f5055a48cf6859ac0f3ce424a8a46e8c94e3081b2e523d6ae3b47b47c5f68ccb508014e249eed7c2ffbf3e149669a46f0cc02098739a717d1083f1acd25b888f023b76d0a20f331d157035d92cb871723b23919bce3a4127b32096b244e082f15edbe6cc589aa5b08806407c950417c72e91fcc7eb1688c6ba7b6eebb0b5c3afe0e71166989631f84ecac1ab01cf367b5daaff4486b7f675a9dda1f66dc1369fd39e8230353d2007664039b3c47a05475623e1cca20881afdf1a1e5bb91117ebd7c8f31b62e5490e95b1c60be1858a5ee337e53b121905dfd86ade0c0961686c29a589a0766c9e8be82bcd94f895ace564f37bb598c8fa9947b0130e5071e8af3bd3cd83a99f11641dc78196bd38a63b696249853ca617d92d883968c43dd2b0e86920b6e13b92129c2fcafd095f2b7909894b525c665051c92849c722465bb769c22e7a0ac78d0930990fc1c119568ee04b072882410324528d5988a1a8b59605836e229153e0ead91bfdc11549d559b67a9ae75cfad8dab35825c685b1c25e3b6eeb966ee6330a3d33589de02c05d1504c9176a7354fbfcba1d1adf7554f841802d51df6f0dab88b7fff7107d5d32617914e1dc1588cd75be64f92c4adaa02ee72813bed487b9df7e70d2b1ae69650fb07db8ba3995fb448c751acfc0d1d4e5feb40f4e5ec3f512e44dea48ec9262dcf9f78cf9d34b99ae9acbb09ada314aef75667d31ae26d4847ddce1ffbfd46e1412ea9d36d4298a565c436bc343dead63a7fb8d3998b0c62588ab688f053498b825ba29c159d1112ce1f2c320f1520f441391a01b8344a938903d92104cdf890690d6d665225e3a59731d3fe1d4b48c28d4e7c8aa5cac46dd8f5ce82ed5a426d7db9e75731baedb5f0ee7cd67a86a7c907274ec2ac898a
+Shared Secret B: a5d095d58b423b6bcf19752f6dcf1255e554266244237b36e9b6975d06228502
+Shared Secret A: a5d095d58b423b6bcf19752f6dcf1255e554266244237b36e9b6975d06228502
+bb9377e747a48908fd53488fbd980d79dcf7f5bfa4967b77565b79d73cdd4aa05e3d4eb19ad3b7b093c899acc92dde304e2c19ed99f6b7e05beb3b401e014389fe63b9d248013580ef29455934587545c3f56ab6b9f1b4abac478340e483377a5234f444efb0731578d06f864bef779e683b3951d30cc4fdf85f2e56c6412d4c8062b2a721e3b1334235cabf06e5cb5aa9b48b7d052ce27abb861afa14e67f2bfb444b922cea80b66b5e75a5f119dd793dc4cedcba8846e4cb79669ef7139d7538292ebceb61552bf84539c810b4dfcb987d38f0985b77e1d0fbabb0619325fa238c492fdd68886c2101f83239fe1c264c331aa2eae1ba13540a2de7304f0324b32ce224e59a9034107519646e07a643513c6e1b0fc6c03ae4a72aafce35546fae5e006ddbc5b994d49a6ce310ff327e01c8f1766aa37ff37c6cd09ae1f945583f06b5f6ee90814bd9d69588dec0669efa2fb9d924707c67984c48354f3946158c46b8283bd59d3e0c55871ca2a4f25dfed8da2abcb6832c2ab7090f657069868b02311d1cc606cf848f9d484a875295e41ead8af6de1200e976dba74f226109ee6901ba5bb136d4935ee017dc4c904944730b0923ec267f4a467da55f370fd3c5b310c777fb190223231a29cbac4484e8a00046746f996a99d9c907b940cd50b36d2f0e66710baa2b484d83d38af8ee0d2e43b02795fc1b864e8ebdace8a86e5947d94c1aa7edc4784df6c5be34a0fb433bcde71cdb9701543015198a25dca470012db175cda10ff9b1d80d3578e912c7135daf38431d593426d8412e641def1eb74af26ed5a8eb7ac0775a9d523fc1f6484a5fa164631860cc26e6b3e13126b3eca6b7b2864fe5d175ae4ef81caebeb94a96185a8861bdac946f5fcfc25b7d2b57f24737f59f372a5627d0ae49434a4226e73a66c9d7403e3838b2aec544a33f1da8c31db27e0596bd36af93e3dcab3c1cf05cfa588bae72dee7a707a2051d3ff040839ba475aa42a0782f0d143bc2414c74b52793689641f9396726d6bc0a101e7f3be822d9297d9aaae3b933350c05f3093e56eac8ab0f426b6abfe7d90d73c303b6734867b840ae126fcad379fb82d32753ac9f274e8b5039be852f2d82ef6b3fc089dbd88d070ef1b5c66e84e7922a853fa6b25c4cfcbc83a637352fc5dea840fde22bb75d7569adf3f0c9113e9ee77efbd98eaf618b84425bae19aa1772beb4c1f40ca641b203798ef0b0a45edc1dc02b78efeafe2e0c6dfae213f1270aa882387dacbab2eebf9541dda5b7efd3ea597d128d6deaf9c31fbb1ac2b3d7f84ecf8b76d369b437fa77dc2ed3044d82fbebbf6be2211d9252fce9de77fa081c1721f393afa36945afb2ec50a2158afbcc6682fde77f6b51dae30b43aa654664102abf4e133983f7ea28724428cac3b9fb8e07cc4f20673e4feaf50743c6458672ed6ce54f2db9ab15558fac76bf6f1f2a7af5672cbece432d492f16bf0548f6eb9b30a486aeb76176c392ded8f4ed14ca2df0acffdc15aafd83e9469079737982c6b7bd854b69e997f52cb29180d881d9be19e8ec91acb25c16222528bdb4d38aebeb8ed36846673d13035c014359666f77703e0370c2a150e79e02cfac8696824dba05a3d97404d1194d935c99b2024f48c84dc708784df5ddc23f4694410950ba4ad24ba5f5118e1933de4053e75b0bca892ac597a09b5ee4af405477f76bb1a38a631f10672e4c9f5986eacde383e7f950fbcfce69430d433ab91f9269d6396b916a796946e1697729f2355241921e7e43007e37107f0d5ee62bda5ca065bf7b9faaaa903b3f5f792de26e9283602b0ea94c7c9fab6f4ce041387bfc74d082d9dd7dcb8bf39213bd1fd6a44580654e679204f9a013a181cd2912086d44259a3c8d15bfd9478e3c6a72e2b6cd35b29bec49a601e5cd9cfe4a92d265ba1f9632ad6876bcdca008e8e662e8188ad9f38fd51937bc2f33449128e4115e363bd42246dfa737c672d038205f9c42763824880d45f0273f933838a716a1e155573155df17882a5f23a8d60dcc8202caa403582d7a5d0039a7721d8bd5ce82dc7b3bdd5067a5d492f7de0bbc90a86d7eb9752b35daea8e23c97988662fd96d44b28e01037bc12575b7209decbba00e309207f7871d9b5ba78b79979a06b442672d13205e1a5a84e8e46f2cd4659eaa546a1c0aad548cb8f8aeef7d3bbff07dc713
+Pseudorandom shared Secret A: e9ec39109dba27b3b5b4dd487e6573f904958670dff2873018df55756e6f2828
+922b1a2252dd8047f8cf68c812c791edcb34e532d032c29d36cbd92ca78f0298199faf8cb3ff2e1bf3320a79f1f1559d58034f698edc7b76c3f5bdd6b945bace
+Public Key: 3c868fb442ad6f74c47211bf094b70d277bae2818502b55e0071434d3a4bf3906a7bc817fab69399864899ea472048c20535523a406cd22b5241b15756591ca7e9bda90676e891b225fb12d12138b254ce952b3cc9018db0c59b7de368d199817e55823f00136a784eaee87f323118eb576bf9c639f5971b88db6c01952153e65c0cb6c5f70790ab91832454334fababa5e41e571bbf59059dc018901a0c6db0b6b57040782da3a6b6833c36208018c98af5627c606a4f05372c612b85651236f4bba383d274dfeb0c41997528caaf72d50e2c73b14597425616c369f05cadb892cc72312e757f7f5726f3266faac7c7a0c8bdd3a81a6703a23af36d17707b14d2c37aa39c76c48ecee93a83ab365e74a6684951c6e2532ff5862ff0c2a7815238316989d708a1811b140b2e9aeb6fb50aaf9798bec806c6f3614ab6f05d117908ec027f627a7d9fec8184a1bbb8d4109e00ba5cba3d3bd6884961665e78c2bbbcb0dba92dc187b985eb83805861f9c715244817a9ac78ecbac1659b7e2e09bf4ad75c6a6b48c2882b6ce32bda2508bc8371f38214ffa30af8315524c0b5b2b965edb49a1759ac12e6ce85763a1e010beb0850b8540b9bd21d810aa210906426168d0b54bbc68a138a55a68f86b7e2c31ce5b18b79e924effa168f62c57dc6820075be93839ce17c38837279a6724f5a607ab7d9a5d42699cda22706821f387ba48d124731544aaf488d99457197724603c27468a6778c128afa47a6c234ca72797268c2055e03a581b291fd91cd19d9becf303d45cc0de889188b5698f4e29d7d4480ab3848e1740d750c6bb7d497903ba21b86876ca09b97377992ec90a3b026da75093574870e102064009ae738b490865285b4c9f0f043f16a2924610a9fc7c575e295edda3928880b5718518e62a23302c0e22c13f6a9270e8010baa1845c103907f848d89811fe4048c37250dd4925e13a366662662f562219f7313e50bc0b27435ae96cbcf77991727c7844459472bbca8409c7a9715100524a8c1e91150c076822c917429ea4a7996aa4be87326c41ba77e87d22871d9a3121c298b2342879fd868bfb67be5a31641b4c80e7ca392784b8b9e4013a53bef80214da27b6015b955baa087611427c3c9b0e2262fe02719b932cd5729b768836d4ea913f0a238914adbf9b15d1d66ceaa3c49216744782cdb0574a58e081f56058b4e5a59f688544c94d45d45f1b21a0cf76b6c673442f443439f779c2d13f8d490342167130553a964700d0ec9f19246501fbbddb1a641b4322a679b79d778411c9b8063510746913e06549f193592387471f6b4dbffc6e49606b053455c8038397ec3df0f2c3a66655cda314388a07e87c14d97623b460aa2e3054897387ce85ab4f4c405eeace095b796ec1c972d18202352d3136778f48cbaf30cf2edb68a9c73027278f2f4a67b5d5414e2ab730809aec973fdcb758b3b3c2e674242e88a5b2bc1f53f1359a1778363ca6bc90bd2d55456701b2b411b1f547cea9236599195307251f35d58cb3d065845a0bbee7b4940ac89944c5f72614348809a79c9066a570f5347c2574897134155f0543451ba4f084065776c2c43a4f6b393d29655081d3ac52b846673a258c640ea69c2eebc2731f3943e3246a319c0d69a11d42b9022489025e098c901caea548b848f79fd1b57c4454577dfa853f6210759619ad7a057a31958fe407732c787956109ed753d723bc487749c1d991eac93d166a28abe72a175733425b9b61758e5c9284e5f465f1fb274e3c0da8e5c8eea306cbd5bbed1259d3c884dca8c758c057730c50fe565c51001518762c2c386879e0b71efa284e333ab049957ff17069a4a166d7bb736c60ff67157219419d6ccae2020c6a1c1dc813c221facb3a7232208a774d804f0c8b1626e55a77f9a62c16a8e2446b3e88c75724797de93a9c7a59b84bb4a9f30275897134409fabdb555385a92014167cf41ba79c0809fab31cc3212a714145426e44aa19a168303ff48c32a3165588725a264a4edb03ca17039d8b8522d549a25a2f93d1353e6c70491c3482e664df12bfe1c8c5a65c78dd21ac99e37ee4617ca80c4063d4284a579fa21709cb667b225c6747c409f49298216a544f722a88a3321cca64d06bcea5d43ec0b9a940bb81b442a63a85649fbd40f71db5a91bdf7204174c1c99f30801c1921062cf401d07
+Secret Key: 3ce561d33ab6a12b98a23c7eb43530bafb35e81a4b64bb15c214626a122869c1882a13ac0d8a6c00339da5821d5ff959a2e01fa10b9b18646ea1c922906159598acde382453949b416a52a677621020b7a211a7aa2dac5acc0addd194c79e357664a4f6ea0284f1664f2850b4349711cca9828f9c8a5a200896c62f318a5a3e6ae3ed291c9e0282a34639ca39bce9b0b742c7deb9c2d189736a4e426efe7762d47b78b6b8a328ac6901a0d095a0ab70c7eb0b572d8ecb7b727198199c1246c7ef0588fe4c7821653c51a32b4e243bce40b2c1da861ddf243e31100d99c41836cb8bc07a5b464cedf1cbd33e80637b0a3e3d17b9b09a8b2cbb725f74273f8af82650de26662a1830fa8c459f9858ea7ebc1214137e9036a4d6171d9130a66c0c8c3978ea196a91e8c0375317b92644e1a705d10897855e61e7801a6a63716b3890257591250e123874b0485516820b1c2aec390193c4bd3c3c215727d1a1674fbd91e61945955872a83669ec27895ffba67b7e01a01bc96b5293dcda86cf5532095b2994f30b82d0c96a53a08ec0818cd9a2b560b08d8045662ac4f5a2446425b51d86cc395d2270de79f37c99e75c94e5b5b2c88c5ced3a06c07139633f955c4062670d130f2d0598cf51288baaa9a862bdd07630d9b9b3717c5a7605fc65b33755c8e9ed10dd5ca4c45a6c61b45752b77433b2a114fac701a718737715b2037a37390c5f3e12dcb3989354114a4932354a7c28c002f8e6296c3a21e09f49637f6bcef37c44980313b566386305314e75bf6552a48310349e1ac8463960c2397c8c13b63d324ba20b809463692f74286c2be987c29446b485e8137b6035a51ecafb1babe99381b44eb8b66005e6fe706d1b28dc3268f18881032f873dc9c5d66560c72eb208ae41293b05cd2cac37d31834e2b34bb56c9d08a44255999aacac32300d0b680c59fe981734c102c747e0139234c41925976bbc869b52f69caa07384d67131ec061e823983f6ba4f0e133c26b22cce6848329c76bd83caf93ac05f88cbbf35499ae8677fb650cd301c012a7a825c71eb879f7c923e08bb3be1c071bef7bf3932266a56829db431f4805bec711efa6408b2a3c3362a120f9712d591c3e41358bb2a0b0e42264b510a5ebcbf129367d62a70acc45dac576742e053e21c009ab9cde39113add629eaf29370b1542f401299e873bb430c4730736fac60b42438d3731f7657b4c991273ea614186821c4745e449352a77acaf434783c71c99f17686c7431ba97372df500f61859ccd5c5ff7c1bf07a6a633ac43d9363e0e105d0016bd6fb5bba1454a1c715f4e9bc53bb0033a8bd3e178507c4b6a4e57654355c0cf6217bb36643ca4f3cca38d6f6522e3622ecb04c05312e5b09914af4049e2670598090686b8956d005c4195e1d53126159869f871b1ff3aceff01fd7e23d6244a0ac961bd36b735fe5206cfa4d7ed7962a0203fd3a80b63107720769d2106975e94d3b4b1fe2070b947755c331a0f2757586217327f8bb23e883951244d784b4632b33b781869a6c13c2e4435133299ae6c41d1449f8f2c58c0875e78727befca970255f81b7935d3b5c23c9458d38030b6b60cbc45e5e6cb7f6eb005031aa01c69ca436a20b5987e7f15616443f29e3390e2b299ed1bd5c9ab3b39acb8e1c230bd5590da593653452a186a446151a24e03116eb51b840b273c2255c008b4ae089f2d24318e62faa1a3c5f1bc96b3073778cbd08dbaf54f43ddf7755394c95672621a784520beba948241b9620b67f535eb694a3a171afb0c2ac01338256a942e04b4c34dcc765179757089d045c5b9c8754ef3c5e3d31a0ebd391e3329dbda8bcf8ca15334c0832c1762627c22c772bd2d79490e421246959a8d263cb6c173021b6f2a6504feb262ae99478d9b338e8c8d6f2a47e3ab93389bac5c359bf549706c4afe2e815a1698fd9a555e74920dd1b682aaa7ba0000b4ee6321587ab5d73140a825aa5f654c49437718ac9127741b94cc53f2497d139171b8ba7b5391373c74b2dd87e774c0ce730b26cd01f5dfbc62d8acb9c14cdf9f53355d47fd351b7abda0b9eea2548851f870524bd64add9f3a01a33aec62a6d75638b7407ca048353fad5a973d324a2b5b522a6741e1893d16551c04305c3170af3ac5b3c868fb442ad6f74c47211bf094b70d277bae2818502b55e0071434d3a4bf3906a7bc817fab69399864899ea472048c20535523a406cd22b5241b15756591ca7e9bda90676e891b225fb12d12138b254ce952b3cc9018db0c59b7de368d199817e55823f00136a784eaee87f323118eb576bf9c639f5971b88db6c01952153e65c0cb6c5f70790ab91832454334fababa5e41e571bbf59059dc018901a0c6db0b6b57040782da3a6b6833c36208018c98af5627c606a4f05372c612b85651236f4bba383d274dfeb0c41997528caaf72d50e2c73b14597425616c369f05cadb892cc72312e757f7f5726f3266faac7c7a0c8bdd3a81a6703a23af36d17707b14d2c37aa39c76c48ecee93a83ab365e74a6684951c6e2532ff5862ff0c2a7815238316989d708a1811b140b2e9aeb6fb50aaf9798bec806c6f3614ab6f05d117908ec027f627a7d9fec8184a1bbb8d4109e00ba5cba3d3bd6884961665e78c2bbbcb0dba92dc187b985eb83805861f9c715244817a9ac78ecbac1659b7e2e09bf4ad75c6a6b48c2882b6ce32bda2508bc8371f38214ffa30af8315524c0b5b2b965edb49a1759ac12e6ce85763a1e010beb0850b8540b9bd21d810aa210906426168d0b54bbc68a138a55a68f86b7e2c31ce5b18b79e924effa168f62c57dc6820075be93839ce17c38837279a6724f5a607ab7d9a5d42699cda22706821f387ba48d124731544aaf488d99457197724603c27468a6778c128afa47a6c234ca72797268c2055e03a581b291fd91cd19d9becf303d45cc0de889188b5698f4e29d7d4480ab3848e1740d750c6bb7d497903ba21b86876ca09b97377992ec90a3b026da75093574870e102064009ae738b490865285b4c9f0f043f16a2924610a9fc7c575e295edda3928880b5718518e62a23302c0e22c13f6a9270e8010baa1845c103907f848d89811fe4048c37250dd4925e13a366662662f562219f7313e50bc0b27435ae96cbcf77991727c7844459472bbca8409c7a9715100524a8c1e91150c076822c917429ea4a7996aa4be87326c41ba77e87d22871d9a3121c298b2342879fd868bfb67be5a31641b4c80e7ca392784b8b9e4013a53bef80214da27b6015b955baa087611427c3c9b0e2262fe02719b932cd5729b768836d4ea913f0a238914adbf9b15d1d66ceaa3c49216744782cdb0574a58e081f56058b4e5a59f688544c94d45d45f1b21a0cf76b6c673442f443439f779c2d13f8d490342167130553a964700d0ec9f19246501fbbddb1a641b4322a679b79d778411c9b8063510746913e06549f193592387471f6b4dbffc6e49606b053455c8038397ec3df0f2c3a66655cda314388a07e87c14d97623b460aa2e3054897387ce85ab4f4c405eeace095b796ec1c972d18202352d3136778f48cbaf30cf2edb68a9c73027278f2f4a67b5d5414e2ab730809aec973fdcb758b3b3c2e674242e88a5b2bc1f53f1359a1778363ca6bc90bd2d55456701b2b411b1f547cea9236599195307251f35d58cb3d065845a0bbee7b4940ac89944c5f72614348809a79c9066a570f5347c2574897134155f0543451ba4f084065776c2c43a4f6b393d29655081d3ac52b846673a258c640ea69c2eebc2731f3943e3246a319c0d69a11d42b9022489025e098c901caea548b848f79fd1b57c4454577dfa853f6210759619ad7a057a31958fe407732c787956109ed753d723bc487749c1d991eac93d166a28abe72a175733425b9b61758e5c9284e5f465f1fb274e3c0da8e5c8eea306cbd5bbed1259d3c884dca8c758c057730c50fe565c51001518762c2c386879e0b71efa284e333ab049957ff17069a4a166d7bb736c60ff67157219419d6ccae2020c6a1c1dc813c221facb3a7232208a774d804f0c8b1626e55a77f9a62c16a8e2446b3e88c75724797de93a9c7a59b84bb4a9f30275897134409fabdb555385a92014167cf41ba79c0809fab31cc3212a714145426e44aa19a168303ff48c32a3165588725a264a4edb03ca17039d8b8522d549a25a2f93d1353e6c70491c3482e664df12bfe1c8c5a65c78dd21ac99e37ee4617ca80c4063d4284a579fa21709cb667b225c6747c409f49298216a544f722a88a3321cca64d06bcea5d43ec0b9a940bb81b442a63a85649fbd40f71db5a91bdf7204174c1c99f30801c1921062cf401d075c5aa8b2be3fe03fba068441d933fe325854ca5f6dadb888afbe3d1a56fb7bc8199faf8cb3ff2e1bf3320a79f1f1559d58034f698edc7b76c3f5bdd6b945bace
+c762fd918dfe60850b47665f3e31cc845f9f7826fde0161e7e0bb1cf96444806
+Ciphertext: 4f2bc9a81046ffaabcb51239c4b167a9b3ed0c1b52fb232806dbf9741cb4f2fcda9d4c5f6998e4c9ac89c63eff53557a7fcd1094942d26f8698ed03cdf0b45dd44ea32de99f368c0f2e233ced937ddabd224a3da0deb45b8db060895cce7cb4ec4080167f9d9e3bda496993a2fd107724109bd205458bd792746d5c5646583d2079e7d068d55c7eb4d990e1ccbf42e648db8e539cdf3078db2409516822f17e085725381b92195201270ba5a8e9fecff9b7d0d1aedda48a5682922445680f0d9771f2d500fd27e53144485229ddad261c33cb69dec86cb185cda96c2104e65e1b86b41ae933cf8f14d018e1cfa0fa89eeedb5c0b0e994a8349d8a820b71e15dd94096d4e463cd216576e03111c1d16ba7fe6e2ca38924298ddfb04c8f5b2652c2cc2859848145deaf5381eff8a299d01249b3d13988e33a7e31e68984ba8ac4b5f136bdcd9b9a5ab80c66a61bae4cfab793f13b336ac8e2db3533940a9636e969284d85d3c2a4b38d167bcddf2c19610041b203dc3b3c01ebb9d3ba5b058d93fd28d5ae1fac9a056ea23ae73eb8e87d7ef7230e0ced13aa4aade69f2ae419e6f28a00cf75c3f364c2dc68bc608fcc5cf4d84ffe2b962873f04030276da76076a02a79a35dd188cb9132ed2070265df24bc021b9ecf33cba550c75f41012f50a3cb2848e1e1d8ddc5c27b12aa32abd627e733eea8aa73de78cd0086dff5400cced2894b891829af1afed784dcc9c30cac1dc217ff075035a6b35a6235bdd2b91d12dbfd08dc278ecbec35f5c4ce71bd2c82c7de15870cd5d37a57db7fbb4aedf894adaa20d70210d4d395f170d3c5afc4b33200395c3a1c1e5907988d32b975669a19255920ca27eec1737c978a7177c005024e51e173c16e7dc87665aeab794dff9924ff09d5bbf0e64d81da7235c0ef0f695e2c854157099dc97a6e53872bce05e4932e00635ccd6bed205d9bc8c30650b90a9db89b14bfa5d8db5520ed167d5a352f2f8ebdb4bede317ec442064045c371aa41a9a15971dcc96b242665a2b2003deb200f2493f46ca7e5167da20d7b504cf4f00a4bf425efd081c26f8b483612474c57eb591a247316effba630a2361f7e93b0cb7ca1211437b5e45ae4ea28e3f502740a5d39f20a4e5896d4b253c4b9c539367434f041f98bf00d76de62601d7d7b8f83cccacac6308c5780cfb1a5659ada7f2fd9fc6e35122242c72d4743ed4c399d86d439ccae5bbd55f3a495589c5876a51e3644b8226592346a4ef5d5bdf290c63b214762c8868b7812148211edb9fad7032d80b8bd6a36d07d2136dd731b0d36696766c36f0cb8349aa99081b8d9ac754718d5f68c393969b09e664f3cc889988384ff4527304f4accf8f30625a8c24f7371bc5b44a06260ba82f2aae29deb31d8b2fa26c95e2785724d38b93457e1564726c3eafc4f393cc218706fd1f9428cc8ce52a2745f3250b802fa158789a69405d3ed3c1c044b8f19e8afd702251fd0706ad7677a9c6eb269844d4e14d4a0a3b17958c5246f918682ef273957afb1a82de9970565b87b56afc7ae697d3f44d701490b0acc8c7b6902cdf22dbf11ccbae198a742d5c9516d8b111e423c374e1677357acbcf8fc91e0843b2711fa1d8bbf4d98418ce5d9487b023c57b17fb89cbaf42705a273f6a37e8e47d947028cac7a1b978297fdb57296b7cab400a43eacc12f9503e5c22775ae13b91447b7d114442a7c478f9a5b7b8fcaf768aa70887f99154f690087f6e0e0d9b37282489e96bf64a1a9934602507c0c517a4423a662e94d1a4a6eeb17a6a47deeba2014b9a253530f368a920ce3101dc09bd07c480e27cd9fe431bd3725d0a05ec5b21024b1c56e38bc99cf02e8b3a265a3842755265a105024d59fa30381ec4911d60dc71313540b625b47f19e0d9af81a8b20c831bef7ab4fa71a637669b8253199910f0086c10d02dfbf22cc1cb77883bb3e7c634af3ee028f6ea549e0e7181080f8cb2a845cc33235788dee02b89cbd82af06c0e32f5bae7d96ee7aaa5638e189526d98f6c6570eaebee7d69357d9bde461237f0f933f772087f5933e7ff49e5734379c3a65c471e03c79b4e22d2cfffadc8d7ee245168cacce9edd4c7b771d216affe92fbad06c6ef038fc61bf0d5c463e61a491ad8fb5ff0d8a18d60b9a15c8b59be33276b20204eeefe935969562500aead9dee5e0456dd1e60a4c6798cee
+Shared Secret B: a97caad722a7e95b2a8dbb17d8f9b45c728641ff508c4ecf0eeb5b34eed294c2
+Shared Secret A: a97caad722a7e95b2a8dbb17d8f9b45c728641ff508c4ecf0eeb5b34eed294c2
+f1e9c89afc86b3f7e6763f1795fdb1693733c0d408deb1b348554d376cb7101fcfcbcb8b8610432723f36dd72a43930632a8b4ad9444941ee5a0235b234005ced61503343b57712e3a87330a6902dd505f09bf94d664f448522d77593775339330f4a03ec7260354dceb95d21de92e6ecd584f904e0748e6667471266bb823d3fa780defcd8f6cdf37abbf78bcf2f9d3bff94a38dd2f7fd7aed873432cb1e7a7948cb8cd35bdd6988fdf7609604d9b814349a4d0519299ca7a08e8c431a2353049fb0b22b99c8fd15710dee1ecd77355b803867d8c24fb8d7d7265d5b5ca16bae52c8f7d1edaf95052a304f46c6d476f6438492ee6d332bc2adc7f1c7970e6500d2b3c590d562df50c504eca2ebeb3407b693dd69b352f57f64d17fbb23b9557a7f63141281495cb2910510d9b842a6aa8d23a24bebaff855e046d9b345ca66d45675b810959ecc43d5a483d2ddac08f3299e364a4395abfaf38ed0975eb44df9876b2af9099d1c61062b96e55e56df27ec33cbbb99c41856d21c5014f1b49cf90238eac08f856664deb212dbcd7f8d101fa815834522b01383c596c899b4c1e5049082ca15386a56e9eb4f6b46fd8dde0ec0105bfa2071895f4358fecb53b8c59e50d65ed23318645823943be26a6aeefbd3e47682c48a67ba163a1a57dfedba95316490d43c1356f398c10baab6d20a5b022f56cd6ede53dbda8ee104ef614366935525cd9deebc25035bcaadc4edae90b10c7ff36068282a4046ed9d7dfd9ef0c3eac111edfe17450993e1907ed29b015d1a224b837c4bf8cdae50472647197d317036171d6444cab5ea7a38e53b0d5852f9d01ad7547d1238b19ed2d4d32b3a1c2290f25ab4180c395512e02a528c38f8c53df8b53d1f5d08e5fc3a6501baaef6e62b39be252259e7a80d357e863532b898196813b9675e2e688549112376522ff4f4d2d6ba3377ff7dfa85e720530274470c65b86f64429c292e39385a84fd4bde5df524f2168ae43838098f379ce636ef98be9b246c71e9cf1ff37c0d9b96d1b272d7428daab984b1ed725e802e6eb25760cfe7d2b18c2d37ff115441da12f4b718567e96046e60ae08a34db63ad1dfca50b1f49ea28731022fb45494351f22be2baa174e382d355e0623d2bc81da87e5a3bc2ce2ad6ace68001e509337decb125f11be52bbdbbbf76f25252dcc85b1b30d46abe6a178a04fc9da7d45b01f7fb5d18f5a633967af9d2daef60874497613a20a9364c505f9fa7a55d2155bf913a889b1f071115b62ce8b5c4ce4106ed08b0749f628628d0e72bc0e3ec7998e9c2ea047d914094cce09ac8585d2e646196183d4c5fd8df317ee01819e715e972ad79cd3d00d705c7f7ea3c173e64a1e76feef17a28bd58cc9d84ed470c9e927c8cadadc5c8df20deb4f881c20e409e4a4809097facca07f6720fdfc4c7f86b22892f097aab74e47a7fea9ee4e0e223b3d362955533cfd25e459dc5139878b36aa67a650ef804c17306342539d3da8a4e0c79a947b32fd118bf49bdb476b9f43f9323ebcfd52d4f2eaab5e8d5d0cb72564c3e77e2bd0e5f907d5d3f898ae7ec086ec0b0c76dab038812b8e3528f630196d05eabe544a41382c1c02a31ca98e6263b161c94ef50f873ebf1669046ef13759163e7b8ba6b92c74a7f552f6326e7fc41dc9302462088a76b5b9fb9a3466e0bcd823e7207c9d29df7009e2f03b7d300aa96dd71e44901c499f6a16f721a2441b5261c0c9ea8733af38fc794586d702201bd366d0003e5ad1aaf88cca12928d3bd3f4a0c618730a21bcab374ee290de4fd7fbaba54f3ccf2544f81b0e70a2840e671fc6436eca747c397c5ed02d8fb105daf7349289004edacbd783007dc9c121594c608c546bbd4c3994418187c83e27bad150ffb19ce3d2724ca934095b4f37bf1dd76abfe72cae0bd7a4cc8aa7b40d598461afb601848f9a9ffd599c468009cca0117f8631072fe85a84e0159551028281353877aee6b65523705cff212f0cf9051e28a5523c7ef498165c71541c0142a48f5c07ee585da1144aeb575831170285066f9bb86cf3e2da3e4a82be8d0067922447d94432daf8923524b4b8d40c5783a83683092791662fd244480d980cdf77dbf511bbffa5e182a965c65b0e7a148782e5b50610c774ecfeb19a889a5a58612e4f55f557dde2f6ac999700f639531d59445d21c962cf89ca8c350
+Pseudorandom shared Secret A: df0e140860b77f407f8ad7d6ff3e84c5f1ad969cf63fbffcddcb726adb3257fa
+5ffff1a0e47c2aee16e214d04f153f180101699706ed855ab1e4d5722fda780104aa1e4ed67a4562a8d29089a5141d55f5a177c6c85821b330b22c44ad8cc349
+Public Key: 6ca5060c411326917183961dd29204f0947d75b2c28a2ba4ff36370d502cea7b27967b09bf7a8b82340f3a436fe60115e12a3419a86acbe417bbf41c7b92a308e119d2396c2a8aa31eeaa55488952c145f4b3686c6292bc26857a8c891072142591c1661700726c63e7cfca9406b3b32f53c498308ad748efc65193d7491af995691d67420bc030c6148efcb99f1e619fc5579751c3add71812244c39fcabe79dc60e5148fbe55b91b933d6bb09e1ec9057654badd98768d71ac27117518a2202a5ca3071cb0d1fa692f90bb8d56185646966d040a39f86f48a0ccc3cc81995a4983b1a03b051cbf9761beb503fe9c9673208539293ac4f2c2d3cc125ac2199d19754421b372b621c03365625c71549b585158cab9518211bbc538781c4463b746f99289b58e5e4997d0e8a4bb1c292c1b2a0fb48c09b5670b27a92d9bb861967d35b8406f905f35c09389e6bceb37610af403cdc864e8dcb4ac53b9190352b5bc249576c24dc92fe9592abdf8b4771b4459549d4fc3a5ea0061fc63a2b5d39526601c5836a228b634131b80be204cbf9c75405b8916a421cdcbceb5ca56e2eb759c68b770239d2f2b9565f09a825796b5cc427c17b24fac66c488cb1f9b8e0cf136c7ea4dfb83074b098917428573292d3ba923dfa3b6943b40c4fa349625ba37a10688e72953bb5c33e0bcf9aa9c4f5a3d24a7bf3642502344b491b028c0025180d73abff9b216732257863953381990db59bc4036c4d854c98b7ca698aaeddb048f9a1bde567de5c21a73498740e89f63956b307510f2d003cfd3bad1551343d21c616175a69740851403f0035385243dad317346d8cd97d530ebfc34074357296c2d6f324269715665d3c7e117605a64ac09ecbd29e784c3b5812757019d6bbcf21a8099063bb3a7cab3a14fbd6059837b8607b26c9165c0c39bbe2230b0475423353b1e8a4202a15724f2487c39952a06132579323c06114a41f987efb5bc732714d62cc1f2983776cc9dd0e4bfdf2801841c48bdc523dc0ca9d0286b3524c0988403aff3437983282dcabc627b38d28c67df5c6798f91f57691f3f8301b95cb59207418752494e48aa5fea9d2e46c4d726135a9a8c1d6b3d6d52cf5b737165b8963019b09ae5bdab853951475741e531455567c1e2829fcacb0d367c0847b22bcb7fdea688f979a03f04ab6bc236b7a0926a440029e3ba6f689ec8e01ce65c8baef6061d3819ebb244cd25b7579ac78aec0af30cbcb4a82df27509e754b2421677b174988b4365e4c50cc2a014fc481652ecbe814c4ce0aa2b4b414eb203ac91f88421b1a488db05164a5c1b434df34900070349024aae0cd30aec50c010905796c13159eb92b1d79a363941c6508547a85008f07dd01417ba916d2f918fd414b1b78b1d7ae08aba6bc125d1217fa6b680844ced0ba37e64b79f8c5af7b776d9eabfab3b8aa7db516551a712ea925f6798565c62d12165dd96a5061b48fae93f9be3075b30ac773660c9d69066b22a9230b26eb976a64c099b47908b78a5366b503c139885f9c748904905a9bc3d389a87825ce502382795cb57314ccf0c252e583b453a3f6ee3219c7a3d17b54ded084525561b1f2b41a7ec6ef9cac3d125c3d3315aded187c14288cb7b7704b588a41811cba98f3b132924a8cd4c3ac7e59478a3f07110958886415c3fa252d3661961260674337832ac83d6ccc459c00c2f5bab31e7463c45b0cf60684bcb1833871d3703332cc9a10de70dad00c786656b8f80351ba55e553ca20aa82bfe118f5ef09da29ccd902641cef3c16222c729d648df2c7b72642134e72f8a06b5d30751dad55e65a9cc12010be973c6f9a7814af133bdab5cce5b0e41e7a8e8ab242fc04a14674fe9511056e7907f26979005737a3397f616982aec4076c46e9bb81e06c4ccc3c6677fba7dc03570d231048e265e4d12a15e110b0a442c8911c122b895953b78cbf6a69b143baed451813c93a22640fb4c459cd59c6ba46f2d64baf2512ae930b329ac7e287a02065ba91dbc200f0a0cd22ca19e25b9698b8884da70e5f994de80cccd711dacf4323fac10ce222a3ebc5456e5c572d90c7f452ba87c939a46096432628278295bc9322b776b121299a383195e61314354553904ba92a429c30c1799e0cd27c68d79d16fed05e323f9c13da05811ec48136c031dface9b772409fd955d8ef8674593f1dc
+Secret Key: d25a3c02987f3bb263629a3b479433a503bcea5a849aa7aaec51b42d41129eb846b6939c0fab43a8b25b4bdb7f2b204523159b27a62d68c9710d39c94ff9a7613cc8d50b7494d00c8eaacfad6204fb99b2b9960d96249d9c5b9e1832ac2cb5537a2c93de0616c1c1216b5bc8463b6737b2a3b1707979799b9feab14f61a55dd0c43dbc59dda2329d8883fd5170cfe2c2c9d323a6617715182c872a2f4ef01405d92ba9b5c32eb3685dfc56fff6afe781c3b9f3bd50d1a650469e19caaea318a75ebb6aa734cb7abb2b7fb12f2b47cfbb115713862613b63564d2052bd02a4e33a670b058c8daad37f18b042282de476c5d57229bc9473f42323b7764abc3a4d136cf7900c7d4fc0ce2daaa396106470223c42c63f64c10d14a7571a512607cb0dac01ebfc3c182b31975a79e2b5475f05914ad41b40c035cadd9afae9557ebd6ae5d4c7216b29af801048fb9c6dde02d11840048facf1ad8a0699ab3686102a05baa22da820b47b0650537cc206e906787d08ca26c2107cd395a9becc4d8f51bfb32a4a0442c6f89851ecc73c87cc0ff2077b33acc5a915e8b04c59ba02dff3c9117c4ac12150e3792574eab75860a5132436389d4286307942c40c42f577ca5a3766bd06c1de30a7501369b635826d4b8b42653848cbf9e6428b5028592954b717105b1a6a3622a4543d20883103b9bb3630e27684e96c269d73a0f24872964a63e9a44d2d13a7ab06333709ee83a9879b22a6f681c2dd204ae524aaa1c133396aacb641821e6181269ca63e486330a9f6f4853f84884052037ac10a37a09a420d56fc276a4aac9036452bd1b3a8103997fa007be12e3ba6fe577c3822396b3a9dbdaaf64ab411ec21e94cb022fc21a42891b00c685c151695fb7c3544629a744944d9caa17830a302a731da6347c731eea3644ed110a5f0005d693327875132844ca93ca42ef033a9ae2c0149c3fd20c497fd0bcce53612c0820d84c1564ab712e29898ea60adedacabc841068603e134006c14b93d1eb8553f39de420c2e743bc2b0640f6635e59a4bdabfa7ed574302455a84fe1c1e8d8a4bcf18b77448d87f222d8b9716c75cc0d1aa852e36190fab50c2b8919066196f7ce3b42a1a4e904538572f2b0b7da800083b868fb11a643110b83c37a084220a4c2094a6bb9206a43b226a74fe07992d01f1cc1851371a4aa366775937efad429cdb71b1fc2a5c700241372cfa0f1ae3122b30a708a2c566c5b237f4f4c9ee347537216685752432ee623e0f3579eeacb98715585f4b8bb3ab2c79700b6f11004ac9c1647ba1b53384ee4c54bab4c47c1767516baa75629c63759473700207c4ba595058ccc032417bd32f2cd85223ea85ab0a6ec78fb664996fb847ffa0e00e69b942119d38c2668c239e14b4105ec4b868bbd9fa28b6bc07ade8b2b6dd1349327404d3a0cbbd4984b85c36f50017554cc0d3419693302e74874c70370cee9c1e6a6822d05a804a5a6e9f726c9ec34715821f9f430d3eca0170853b2574f614371354758d1d3260332ab8930237e39bb5db24ec41c583fe0053ae547a652460a897677843e7a015ba1927fcdc516b7151130906f438c84472450ad093b01a13a6866286a39afef8c6d2ec1b2f6350cf79a3c4e0b10305c9b94c4c8e6c255a50116d007d097a9236c62bedaa3185fc00db8f87a5999702d345415351aed045d40a32d58829cf76a37d191af4a25029ec7aa4176c78461b29ff69114d5b711838a939a9e75f007c5a3567281af251b9c4c69b754076999e7575e533294d34c1e332af0d102760644a8e8aa39c0bd91d847e7186e20830f5af507744a432095a3e35c1726ac381e87b6a1f49674d36d1fd415a1165600d0a25b3baaec446d2e5420e7d00465a0890f72aa68540225b9c2b71b84ff757d222429c748a17d633c7a7a1871b3a4278a062005ae81b91eff5a6af99c0b9317a211b16546c891c0618fbb90cb25f95bc2022e13fa0dfcc37a55b496508605d9e7340e6396571a281177c901f92a2f2a78bbe409a3694e4c7ba5b6507e2ea801ec5630305049b9f252683b3b5f9a47148a82ecdb61ad8a60406b144e42021307be2c8c35824470a58badf9741a2c20495236408cd484b904b118e530002c410ac5b6dd17381d25c187620560a6ab57ca2a6ca5060c411326917183961dd29204f0947d75b2c28a2ba4ff36370d502cea7b27967b09bf7a8b82340f3a436fe60115e12a3419a86acbe417bbf41c7b92a308e119d2396c2a8aa31eeaa55488952c145f4b3686c6292bc26857a8c891072142591c1661700726c63e7cfca9406b3b32f53c498308ad748efc65193d7491af995691d67420bc030c6148efcb99f1e619fc5579751c3add71812244c39fcabe79dc60e5148fbe55b91b933d6bb09e1ec9057654badd98768d71ac27117518a2202a5ca3071cb0d1fa692f90bb8d56185646966d040a39f86f48a0ccc3cc81995a4983b1a03b051cbf9761beb503fe9c9673208539293ac4f2c2d3cc125ac2199d19754421b372b621c03365625c71549b585158cab9518211bbc538781c4463b746f99289b58e5e4997d0e8a4bb1c292c1b2a0fb48c09b5670b27a92d9bb861967d35b8406f905f35c09389e6bceb37610af403cdc864e8dcb4ac53b9190352b5bc249576c24dc92fe9592abdf8b4771b4459549d4fc3a5ea0061fc63a2b5d39526601c5836a228b634131b80be204cbf9c75405b8916a421cdcbceb5ca56e2eb759c68b770239d2f2b9565f09a825796b5cc427c17b24fac66c488cb1f9b8e0cf136c7ea4dfb83074b098917428573292d3ba923dfa3b6943b40c4fa349625ba37a10688e72953bb5c33e0bcf9aa9c4f5a3d24a7bf3642502344b491b028c0025180d73abff9b216732257863953381990db59bc4036c4d854c98b7ca698aaeddb048f9a1bde567de5c21a73498740e89f63956b307510f2d003cfd3bad1551343d21c616175a69740851403f0035385243dad317346d8cd97d530ebfc34074357296c2d6f324269715665d3c7e117605a64ac09ecbd29e784c3b5812757019d6bbcf21a8099063bb3a7cab3a14fbd6059837b8607b26c9165c0c39bbe2230b0475423353b1e8a4202a15724f2487c39952a06132579323c06114a41f987efb5bc732714d62cc1f2983776cc9dd0e4bfdf2801841c48bdc523dc0ca9d0286b3524c0988403aff3437983282dcabc627b38d28c67df5c6798f91f57691f3f8301b95cb59207418752494e48aa5fea9d2e46c4d726135a9a8c1d6b3d6d52cf5b737165b8963019b09ae5bdab853951475741e531455567c1e2829fcacb0d367c0847b22bcb7fdea688f979a03f04ab6bc236b7a0926a440029e3ba6f689ec8e01ce65c8baef6061d3819ebb244cd25b7579ac78aec0af30cbcb4a82df27509e754b2421677b174988b4365e4c50cc2a014fc481652ecbe814c4ce0aa2b4b414eb203ac91f88421b1a488db05164a5c1b434df34900070349024aae0cd30aec50c010905796c13159eb92b1d79a363941c6508547a85008f07dd01417ba916d2f918fd414b1b78b1d7ae08aba6bc125d1217fa6b680844ced0ba37e64b79f8c5af7b776d9eabfab3b8aa7db516551a712ea925f6798565c62d12165dd96a5061b48fae93f9be3075b30ac773660c9d69066b22a9230b26eb976a64c099b47908b78a5366b503c139885f9c748904905a9bc3d389a87825ce502382795cb57314ccf0c252e583b453a3f6ee3219c7a3d17b54ded084525561b1f2b41a7ec6ef9cac3d125c3d3315aded187c14288cb7b7704b588a41811cba98f3b132924a8cd4c3ac7e59478a3f07110958886415c3fa252d3661961260674337832ac83d6ccc459c00c2f5bab31e7463c45b0cf60684bcb1833871d3703332cc9a10de70dad00c786656b8f80351ba55e553ca20aa82bfe118f5ef09da29ccd902641cef3c16222c729d648df2c7b72642134e72f8a06b5d30751dad55e65a9cc12010be973c6f9a7814af133bdab5cce5b0e41e7a8e8ab242fc04a14674fe9511056e7907f26979005737a3397f616982aec4076c46e9bb81e06c4ccc3c6677fba7dc03570d231048e265e4d12a15e110b0a442c8911c122b895953b78cbf6a69b143baed451813c93a22640fb4c459cd59c6ba46f2d64baf2512ae930b329ac7e287a02065ba91dbc200f0a0cd22ca19e25b9698b8884da70e5f994de80cccd711dacf4323fac10ce222a3ebc5456e5c572d90c7f452ba87c939a46096432628278295bc9322b776b121299a383195e61314354553904ba92a429c30c1799e0cd27c68d79d16fed05e323f9c13da05811ec48136c031dface9b772409fd955d8ef8674593f1dc531f8aa1412c1abb19f2409e0de95fe48afea3fa2fdb2dc5ac70de9b12f4c44904aa1e4ed67a4562a8d29089a5141d55f5a177c6c85821b330b22c44ad8cc349
+c85a5ebe49862bea2f6d95190ce6d86feb891924e0e0e068029fffb69d0e857b
+Ciphertext: 72806d452252309e74d4caca4a33c9f9d2d20329221a0366bafbb7a396f2a5a5ede32263243db7aa1b189b9b8af7645e2ccbd83e2e7bde7dfd525ac098d36631fbe305159c511fe175210dd98b9157e3cd8881bed72caea38740448a2545a5add2ff9ac485a15deeeed8d671c7e24efab10ed0658ab12d178c9869e83a8dbeb1a3264d15853c657ff2bcde2a4f716e8a06e56e266a765ec0abbd70e5d6d6474f277874b0806b8e30c737f8cacc132199501e6bb27c8ebacdc17607cb7ceef786d0d3b6253e79b9e4897f19217ca1758c0aafe0539a61b9da6b6f39bb85dc20979d87a3d0c5d434c1bc1279645226e0ab868f7fa15b034d7c9482121a410a47fb1452bec5b18d04c101579ee796aaa442448242f495fa60de4721e05d45dfdcd0d1af27caee8e181187ef262c08998b7146e71eeee4176318f09b84a67dce7ae365bf8e7d9892de4b91d612e18738fff6a53e241d44b0257de8ca4d6da3d976cb84dc685136b5924b4538c454b8f46df360d398e06ee087a293ef1ab951f862ec679f77ea7b5c67daeb10532551d82e918bf768365454cfa7f98f4ca88939b52b3d37f157dedb0f659416bed8e1bc25a76cf72cb6233d881304fe2547efd623dee6901537865293972ffe96cc6524633cb7c54ee4e04034117f9168c7a5d9a91f97591f7f1cee5a1bb5ffbcc5dc27b4733699a121db45b697eb19b86a43fc83b9177bb116f9775b7a444599d7a8a8c8b70e1ce7c43b4ac88d1afde3bca5876249aab9cad848f1dcc86a3b7db9ae4519f9306ee144e0041e8ad145773e0de4e3ef6f8dc7284831f08cdc6d84f9bd94db220c8b1503da9b14601b2934b412f5809690f31f4d092fe3555fda27c0dfd362642594122b19e8b2c5a836e0fc1b6388cbaea2f865fead44e8ec26d34aa9898dd0d9df0955086bc2b0b3aaaf6e1430665ce1c1c6cf5512dd1d063c3b2d1d74ceac01708109bd12678db2a66dbd76672e2665d5d02bc163ebaec313c10f4e087f13d28d6bd9f110d5d5c41922d87e75225a1a2fedd3b2e1a9e2e6610acf868dbf66d016977cd6c3fa5f99626f1a9114ba83a8b1ce67617a77be021cd7870f16cd97d6f4997ef3d6d6db1120611e502cc2e6ed497392524b9dac7e08e2db158a2eec8ec5fdff1fa2b1679ce5ad4d273cbaefafe1b921466c9fa37eb6b42fb0d7cffaa4b9fdf0a7258b76e60ac50503e0d80f5f54f5916a5e45df3017a81ac95560dda23f9351eb86c7a1ef1f82c2618fe3b44d669c9a3c244dbef1b7d81cb200883798ee9f2bf5de29d05e69ef713d3b583a75b164d086433664fddcea6ab6d1f2b9f3125c4a3a0cd15c9fca79201583bf61258dad5ebab0023e703e9921de618d33f839c0e4a8d9b56a6fcf1eac18e86053832432598cb8f7558143bb55863771e2174a6dfad40f5408aa58392019ba47a0ec0fb3298adaa1236762575691e411d2f66216d77b586eb132750d3551b5ee27cbce84f7a10a5fab85da5a0b6e71f5006664ccccf397261ba2a74ad80ee4f672cc0a9fcdc6575aaf4121f8dfa56047c8530f0f657f29c9abbee3f053f67300d77f7376b999f8269a4aa664759903109c6bff8404deab2bd9fada95868efcfab516eb3c8ab1f562bacc61f0de2bf1d7e30d1f0c383c317cb0b22fbc012e07e746e922a88ff06c32d21615d9c448cae416a6eb2cc5097487ea923ab5c85998629c56f3d297f7fd2cfdf1f7be56c0449b225f41247bcaea578f4c0669ab26b9bb0759e0977cc02bc84463ac51316d6367b426f84a7478c5f7e3dfc0413a190fb91e38dfad77a9c33a8a50715c9587be39e6ac9ed965e74f341f8443abe97c27dfbe33997f11a71e1c3685160c5aa96bd06c8206e6f4d0363e5af6c13e91122d8dcfbb2666d6dbd618d1c28797f6d2002a0e1468cd133ca332c47a66bbe5825170242da5867c63d1e6c965d3206e4274e58824689e574134363c0b668d400684e811010ee4bea9804e801e325fc4328560e2bd3d1a4d82b7a440018ddb789c978e847fcfbcce2d603a851470177805aedf8e2591b301b699bc35a96fedf2ab92ff9bf86fadb491f37eda0f630919e4a7a51fd7938b10043b95f4d443209042a0fd66bda6296019d723c91ce1ca44266bbd6cc69ad0a8e01bac7fa91803e84b940fa7a42d3b00ad6ae903f04d5dffd122715ebe85b4c093b55542b126588f038bb703
+Shared Secret B: 16cfc71401e82925e893b5f9feeb8d41e3250a1ea52bac06418021df19c681ba
+Shared Secret A: 16cfc71401e82925e893b5f9feeb8d41e3250a1ea52bac06418021df19c681ba
+bc81423d3000b22e6bff2eee10acec7a0be85d0374b67d9c2af4b23e4fbcafc8dcb366a40e1ecc4510cc6b591d4dd3f996f40a10e6c0e9fbdd3c8db1802eca8709dd523db5dc4ba1c44d123b121335824b57ad9c234db656d6a1973bdcdf2bef356773b80c4d76af8c2cb0a8d84fe7a6a5cd3992ba59fe73aba9d1088368f41d0f357dd49b2656c061f3018e446978ea13b3ed15a4ac5dbeb6054ca184c53083cebfdae03fc375cbda8e0c077657e449db9db23bbea3324bc6d0d8abf9bf4c022e5496050b4a3d707c6c63393f6aad78b9e75be93dbba1f496b46862cc8951b159ea4d8b3e5d100c9cf7bc7ff5ab6ded8a6501d7db8dcd482e452ed4c26f4dc7a29627ef61ffc1d7b2555156d10c109a32ca6937fdfd591eeba9e8ecd1ac899c3bb862d871a826fc3840c50c58730c340d985ebca9f5d52be73e849e51f6815a2867340d3ace0224b3e8bbb895f25cbe0b14a62a4dc0d94a9537eb8ba1b2d6f33065b3f4fd372eeb2da1b2894c5280983b297d67689e704576a979bcb05bc89c32f73dd4eba274abd171b6de30817cc3bc6bf128365a0849c6f43a9a3a2dd2adce2fe7df0db4a747fb5f5ab88c042b637b630ad4a9a76bf0f279b00ae000bc51e7900b01331460d19e6e2a34d8b5d4fb1447a8cee0b8ef857d215e31972d7167335f986e30d7ef4d4eabb643f0c542b72c8e242239ca87f6cd2f4b966df3eee6845b4b1ac8a4fb7ab3a5695b2c5f37afc0efff973df98fe333b7c67a205515caa5406ea9221a02d2605f2f549ad79a285bf06b61b9471d97c48c4ac5225272f8dad44b1db253a1ab334e5284f3d1c8f9489248735b9e0ed076c3cae9891176af00ac804fe6c46b32de5b3374df8ac72c61ef9d735313aa9848ed7912049b946255ef19408add150f2fc3ae198631c8f8a7fd93434eecd93ddeeee9c4e1e5aa35afb3a006a8adb70ca0ad274611c64b6aeb7cc98faaa6abf1fb8e88071335cfcc800a44fb3c897518f9c57d01bcf75454d05ce5b02f93667b6bb078088818bf32a2ef5968a6e6c99ce57f8bf3c12dbff959850fddba5448e2ecb6a3f4b7ce6dc7200a1051ab91ee6accf36aaaf4fd58eae4add8145a6c1b6979c790c8d4df776a858900731cafe1b5f37dd70aaf88592828dab2ca0617a6e77e5bda8400d54eb18174272c878714fd27091b2d950765bb50d615a2d84b577a1bf128517177b78932d557818cd70b7a155050c7af54705db58d01c3d05927e5c5e52eeb0c440b274daaa40c5a55357c74c8ce89f94e90f4659b925d5ac2e358c81e3402876b37b1843b6b52aaef0349ba614c2283773794dcff75c7ba108e607e979d89694cdab0d59ec69aaeef0860049a47349601d45ec54c4af41b7c373bc94baa72be17253aef153660fa5c1b594526e5e263d6a75606d7e2ab114b396b15f84eaa02906a725fc0b1d1e52c125bbaac73d2a2c0aad6fc282479baa8f4ddcf34fbebaeb63470e2e7a42931786dcafa852610f0cb849edf5f46f9e770403efdab8e0b8171c0f85f9a877b013035b5cc2e21034748bb16d4792e026519159dcccde7f9f5651ff0bb08a28a3c9f57e6ab7711f824d409533a6021f3db6c8b3ab4825ff4f94ebbe9141a1d428bcc1534879bc0a744082904c28fc8b2c96b38f5447bd9c6dbce0cea3b21d8ff8eff56d961a848866fa2f561d69112a6357b91830c8f741af364bd118b70674952bbf583de150802905aa8d67acabb55da3c4cf82e90f04eacb6852020ed4615d566d73e41dfe01bb11a266a9d069c4300e052c1c0ecf88e2dc52c0284a52d824cc102f1726ef069adb92ce5d109fc7388b47d6aedd8adc670a63ce6aae6b9151b028030ec0586e0af11c5511bbb7049aa1da21ea922bc702b2e41a31c0fd4ef8c5a972db73cf952a21a5d54efa4415c9105bc6b21084fd1c57aa61ba2cc799a2adccc32b0a91ec07f770c50296d61976cc64909b25e86842fa358dfb8b5376f40a1659abd8031118cfd3337572674e2535885c14d85dccd81fea3bf924e17bd28d389eaf79a2eb79cac8811255327c3134b8daef51ecf00d0abc846e9dda74832cffc2129042319dd330daa30085e0a5f17c546d75d9c46c9143e8feabf7c18b72d6e4112982702970c0d488fb516d944f4556a6465ebe1af2b77886db4af7d2e191de324f2fc90213cead6a64f7b49eab4db5fde20e3d189930609
+Pseudorandom shared Secret A: f05d1afb68dacb466790856b6b04cf6bd50916fc7895068e1c33b01cb93f35ff
+b1b117a76d0c3943bf00c96f58763fad803b4bbd956d6206ed3e0ed10572702a641217884b3e8ef8e721ae7a9aacf60b03d7453a39d1dd5df0c9d3c6ee5867dc
+Public Key: 444c95bfb362de1096b67625f4e444da8a02b51a8a3b85728d20318abc0bdda7c721e687d374cc7c754506fc2d371135f6897ee0663dbd6a22f8daad15eb7437a75cff79956ce1b7a8d9413bc23326a65d2070ceaba3bf6d99be2bda64d210076b1b2f70038aad189d342ca60d362af222611666c83f296095c8891d8777f5e719b3393e4d5191868b6e35389eefe23f35102136f31957503e63e7892346686315ba22a39b915b8abf5052a419511b3a101f42b5829774a0f05038f4469c715e653976db433ca767960e21ccc9ecb9928aac6d46623b61cd243695a932504ee0b7d6cb244404a00be41c2feb486bda682a3656dc772bfcb5cefcda91d947796aba0b04b01bbea2a561972eaaeb465413473347bccd707e2131905f015832d85349e52fcd1ccafff21d7e72c3a723055a9a300ef97c553bb12068bb84955b4087cd30d4aca33a5b4e5c201931419a958afe0c4114a8cf9c65bd65721835dc61d5884df8c64bb84ba22f26a2098056fb940f2e0c3dfe36977498cb1769310714408b5a1f768b701923220c4a56156a48a8a57b2120c51281674a644ac2413499a96797035e79c52be3d0973a6311f5700b7304a5056c8370b69e88c6a9987c78b3a76ffa68c51f1b49d540249afa797d9b6f6a0847f483041078121ba5bca4ab461ee31fbeb10cff1c6a1ca562ac7532425b979ba9079506b13b22680f701d9d521c3f1cb6f3896e014bb72fd15ea187b4c0186fc1746fcdeccdf0e03692f1725082becb03bbcfa01acdab5823566f9b3c182bf05050fb7d4c705762f2c5b7f16e15e4759b5c387af7551b0c9ffda3c19c84219ce91dfaa7c9b5d11286599fddec5ab3c273fdc35f976911ecbc5bf3e91fb42006cd701f1056958cc950fa887e01540bdf40aeea496260eb1cfcc1726e11924dd181e0b853ab010258c7cc329b7689714416a878053c9daa07194e874b8ed1b124168a3692995a4294e1f4aea707c31ac970f2122d82245eabf88fa91c741c6a4a70c597fe04898a0767d82cacd0d928011214b5b5aa5ccbc1b9369c8680b129d4458be7c3ec4a4be144a6fbc76ed343b59c608c8604a135c275e5cc09674a3054f2493852ac0c885face68707b70ec9b8a474109f96f4885ab0a43611a5ed62cca8557d11a41bcc35322b73bec0944a380080e7ca119bb19a32001edea0a6f4c82d5f4a6317ea686842035b860332d95e5ed40753e31417484cfb63769d27157ea6a078490c00d38aece3a401c0a7c6a097f1a83a5baaa18b405c73630632b476836563f0f4c0a5bc1db07710e18aad5e14a4338b93d36a61e9858090050b60a66ba33709a2e170f68c523c6578ff300077d93890c260c9d2058a228c8aa7acc651326589c8b8383723a69f6609aa33d67a4c04654e2cca874accb9d80c7be6cb30013b81029c56b2345d0bacd66c48e092037cc865e20b2a558706db868be8b41a025c138d30384b877fe7896d68298f41519cd8cb524698c48415c63da197f9831d9ef61841960be3c76229b91d3699943969b2f497809d2bb2bce8a407976928c4ad8867bb9b6475c498b913c1214bd6373df81b01d2cf7309760130ab0f7c4c513a816685b1f271899089ce11dab75b276bb0184e47c74987572efd0015d5fb1a8414486542b2b3d317b4691ffa589ccacccc2b7cbbdc97c44f51329997c76052104c74b03e5915b4a34fcb0a7c3dd0211bc21e407437339c1076852c88a746791694f317779980a76241395c303b5963b80883a1e0659bdd182d4a16b2a1672afc37b69af195aa7689550834213c88cc421b0bf93020150633256216f40a6fd292fb873c0c0cc80d30183d510efa0a975574a58d5426c863a95b155df42474c74b4b5fe98239e93f716482a685c576ca6f92486729806deeac92557a298cdcb0a64038d34b8707f4590f2cc10e440a44d9a1257a183f7a7c6f8b50dcd053017307dec8ccedd061258804e67925322290c832b3402b103cc50bb6d1069801d081bc49138656b5804c2ee5011252748d941341149056338544e220b2cc5883d3899a5468c0a0a5ba36ce1a1bb20f233a991b2a442922165a918f184d0d95a50cf39d5fb99ed3b275e4a12ff0a84b5363482c526e51da0c4ec902c3323d2fa1c02202a087259535c3575695781a117da62e911951d3013d861c577e03000ae85f50890376f44ea615449b11e2
+Secret Key: 261b98a03cb6375216a3769973f3b7f6c7c705a089e617877b576c5262a1d014ae71433aa382b150812557a463dc625b93b47f07266b4468a60bc076e27c26df28c2ef114822f6cd68e77b5f48169a23548ab85fdea37b0d00c169202352947c27633f3a8b0d17d463d8a8a6e4ac6f0ad941466a0fe5c7afc2a26db023bd53b68213549d55779efef909f9d79ec755bded4163082209f89c59dbdbca3fa18dd0d54ebeb1223a1ac4a9c01aa6e51e6561a0e60c3d15c5099942343b9039026669a7f1362fc8a9a8ebbdc170c44aab37e46cae05722a5cd09199f71d7f93bc1359a96bf709bee88061155ce5d66da40977cf6b219cb13ecff9c335716d81e8942e3a9226ca0fb8225c210a005e60c891c16e11fa67594a3e104b58851a90fb6b1745e15ba7b751cb732e60ac1d22fb2941d3012fc5066aa981665779ca216a0d6670ae5209ea120bc0989a8f13bea93153ef534784661aabb272ce71190a179404b58811fc14bb6899026a468709673880c07e658bc8b24d2ba937edd30849b93da9cc2a79a7049975aef9a2be073915f20b23000d0ff05c2c6a397daf606cb6f02a3cea2c9e2051aab88b2bd274583c7638b42e67d12e3ae6a5d8f71ea3a05ebc76453d99123ed0602f68ba52380c4316b6e9b510f3215a93a609a0e061a572bf00982e3e037acdc52a35dbc0d77b210d374acd334c1fa90eb2a4500dd30141172d4ac61f85658a402104708b5b36c64da45c7888e3bb051a217ecaa96ca33811d447d8225cf4d1c21e09796cc3986859029c60a588a77dc12c5822d53af3721e320631394c2e2984c41ff37f86b3b25f325843018393374d58d14c10678025c4459c275e31c99759465f6a04c14b1594dc32a34d7452cb58b1109aa21e5390f08956f467293e7c1711c6814ca22decfa7b85824b15c0068b8397a8638f77a52d8602c6fe26bd621cbb22911cb1b9adede61aef8763a29b9663790c8178689987c366e99040a43402b183f57a74e0c00ec5d58dd671c56f587a3b8311ef657438916df3ea73145b5057e31d33677cb9516e1636b6da0b539b6262f16790144a7398d779ecbaa3a8676077f93b2c80cf7fe3ab8d119e7b182d6bf65b64a443b88b388afbbb86ac3461855caf747c211800dea63e827345d6531202dbb5365783b808711447482d5ba1782bcaee5091d736095bb25d079893914a53edf55cf71382b7d465f99a3942f0a7f56370e26b267ba8c380154819e388508579df2c319e316ac8e3738db00f81064c217635c1951f4577a0c48566158824a78040c252416f858d402c666dfc804bc2a0bd967513fcab716ca99f0a21709b9418395eb0ba60ead498c8ea57aa4191c11598a8009e3b1540f20781c17c4a90f77dc695402cb3748fc3c1d6904697263041632dfb422a520c36dc486e40725948c83663f6604c76c7f056641d352a74f73636c36bcee367648360b52a0fc3cacbc4963381581550c46fa7ab209679440ba9adc4aaad7769bcbad3620245038567cb29e9574e987182781456a8a081ea7fc4b827f56b201903ad204b7832d79b08642869c9053a84a3be86833366ccbcd14bf7cb4cb6f21e69f8bb56c134b1210c9dc2a0302c959b0a7f3106644fc70117e62abc376cb9b10ce6b7b9c8f41dbb9505b87591e57765841958133642a9139ae4a8953be0c2505713e894cf3a2a81f078079da99999c21557509a100394f6e9379d835e1aea7904786bc4f16a0c9377e2959d69330eeb002afd1c37c62026e58ab3177786ff29c78476274cf338c63224af1c2efec85c8e147b9f623cd513607dd93f714b6ae776ceff5667ea39749418b0297c387786c3ef760025cc82d2c1484b007d58911cbde9839e07883beb5327b11d813127a446010c90346c34b1f6903ce29a18c31c12cb3476a85abd3af81e48ba91197482f9531197a10bdfd45ef215a61c290bf578b175e1173c233b7e08842509ca50d8651e95b0e6561e786500755a7f5bcbc7b0c6182357766677237a70ba4635385077b995b37470b6b6c42c70b00341fd3731196799754930eaf66dcfb2959cf61d324529abe59ec2602b16d19b3b2ca2ca64ae9642b1803b60b608432b917a9adb7c82995308cab1b7d406db57472c269cc569b09d1c2045901436cac7098ace444c95bfb362de1096b67625f4e444da8a02b51a8a3b85728d20318abc0bdda7c721e687d374cc7c754506fc2d371135f6897ee0663dbd6a22f8daad15eb7437a75cff79956ce1b7a8d9413bc23326a65d2070ceaba3bf6d99be2bda64d210076b1b2f70038aad189d342ca60d362af222611666c83f296095c8891d8777f5e719b3393e4d5191868b6e35389eefe23f35102136f31957503e63e7892346686315ba22a39b915b8abf5052a419511b3a101f42b5829774a0f05038f4469c715e653976db433ca767960e21ccc9ecb9928aac6d46623b61cd243695a932504ee0b7d6cb244404a00be41c2feb486bda682a3656dc772bfcb5cefcda91d947796aba0b04b01bbea2a561972eaaeb465413473347bccd707e2131905f015832d85349e52fcd1ccafff21d7e72c3a723055a9a300ef97c553bb12068bb84955b4087cd30d4aca33a5b4e5c201931419a958afe0c4114a8cf9c65bd65721835dc61d5884df8c64bb84ba22f26a2098056fb940f2e0c3dfe36977498cb1769310714408b5a1f768b701923220c4a56156a48a8a57b2120c51281674a644ac2413499a96797035e79c52be3d0973a6311f5700b7304a5056c8370b69e88c6a9987c78b3a76ffa68c51f1b49d540249afa797d9b6f6a0847f483041078121ba5bca4ab461ee31fbeb10cff1c6a1ca562ac7532425b979ba9079506b13b22680f701d9d521c3f1cb6f3896e014bb72fd15ea187b4c0186fc1746fcdeccdf0e03692f1725082becb03bbcfa01acdab5823566f9b3c182bf05050fb7d4c705762f2c5b7f16e15e4759b5c387af7551b0c9ffda3c19c84219ce91dfaa7c9b5d11286599fddec5ab3c273fdc35f976911ecbc5bf3e91fb42006cd701f1056958cc950fa887e01540bdf40aeea496260eb1cfcc1726e11924dd181e0b853ab010258c7cc329b7689714416a878053c9daa07194e874b8ed1b124168a3692995a4294e1f4aea707c31ac970f2122d82245eabf88fa91c741c6a4a70c597fe04898a0767d82cacd0d928011214b5b5aa5ccbc1b9369c8680b129d4458be7c3ec4a4be144a6fbc76ed343b59c608c8604a135c275e5cc09674a3054f2493852ac0c885face68707b70ec9b8a474109f96f4885ab0a43611a5ed62cca8557d11a41bcc35322b73bec0944a380080e7ca119bb19a32001edea0a6f4c82d5f4a6317ea686842035b860332d95e5ed40753e31417484cfb63769d27157ea6a078490c00d38aece3a401c0a7c6a097f1a83a5baaa18b405c73630632b476836563f0f4c0a5bc1db07710e18aad5e14a4338b93d36a61e9858090050b60a66ba33709a2e170f68c523c6578ff300077d93890c260c9d2058a228c8aa7acc651326589c8b8383723a69f6609aa33d67a4c04654e2cca874accb9d80c7be6cb30013b81029c56b2345d0bacd66c48e092037cc865e20b2a558706db868be8b41a025c138d30384b877fe7896d68298f41519cd8cb524698c48415c63da197f9831d9ef61841960be3c76229b91d3699943969b2f497809d2bb2bce8a407976928c4ad8867bb9b6475c498b913c1214bd6373df81b01d2cf7309760130ab0f7c4c513a816685b1f271899089ce11dab75b276bb0184e47c74987572efd0015d5fb1a8414486542b2b3d317b4691ffa589ccacccc2b7cbbdc97c44f51329997c76052104c74b03e5915b4a34fcb0a7c3dd0211bc21e407437339c1076852c88a746791694f317779980a76241395c303b5963b80883a1e0659bdd182d4a16b2a1672afc37b69af195aa7689550834213c88cc421b0bf93020150633256216f40a6fd292fb873c0c0cc80d30183d510efa0a975574a58d5426c863a95b155df42474c74b4b5fe98239e93f716482a685c576ca6f92486729806deeac92557a298cdcb0a64038d34b8707f4590f2cc10e440a44d9a1257a183f7a7c6f8b50dcd053017307dec8ccedd061258804e67925322290c832b3402b103cc50bb6d1069801d081bc49138656b5804c2ee5011252748d941341149056338544e220b2cc5883d3899a5468c0a0a5ba36ce1a1bb20f233a991b2a442922165a918f184d0d95a50cf39d5fb99ed3b275e4a12ff0a84b5363482c526e51da0c4ec902c3323d2fa1c02202a087259535c3575695781a117da62e911951d3013d861c577e03000ae85f50890376f44ea615449b11e21fb264c6ef9a97be2e344819d2c6c592a98274f9d75f5ffa834287a4fe9912e5641217884b3e8ef8e721ae7a9aacf60b03d7453a39d1dd5df0c9d3c6ee5867dc
+a15edde6db80f1294fb19c3d912cb5fe566acab09e806625be80e6062e824703
+Ciphertext: ed17d9c163ece9f2037e7c62d445b2ee0f2b45693eac6b7b066ba69476afa6569c4de58974b05a6f3f65b1752b06b47d1ae2692a23941c80a4c26c4d5119e95d8dc539c20c92873963496d92efb20c4b1c92554bacb0049ba8953520252f29f1bed3640f3251b9ef751f5d576ef074bfc32d68cd79660d584b11186a73e0fc1e2db57258e95f7d4a4b9ed0297cdff555a6bf283733c67f09d49fbb060aa848395b8b8b8ff53f2bbe3f13ae03e890b22f49bd97df093e5c62c7cc62981baade46ef646f096da9c589c897f60bcddabceb7966564e9673cac8501a9e1c48c7d8744b0ab9acffe2feec133a72e5143d64e6ad5f88900396a1f266385393490edfd5bf5413b142bd6a6521e77a51547817730848c90fb90542168b9bb3a45c5c9dd1b1036ca50a5546a04bb31c0a5ada9d9600f2f76c16aabe6b35d113c81afe1e7cfec079f0bd3ae6adabe719182fe7dd61d9d459bc3a780731012785d55bd8700f6833f1ea4a3464152a7f0c1792f7a412a132ab9c8ebd72fb3f6faa23a74a4ba6142ec214b251c709d9d4e37282297f4ed4749c66557551a0392db36b98f1598a8e5c40ca82e379ce24445b8faac68cba6a2169f56e08fea5eb02fd1984a411ec7fc1b1b5a2fec1809f13c749d1802a44a2adbc9278102529e353a5c85d62ce4c84b32998073799fa79f113c72db677fadcfa944d9b1aebab6c525de23674a736e083ce5899c6404edefaba4a1945f97acc781d3036f7fb88ae0a0d580b098f7878d25d2179dd2c941348db6815d3602b7457250f3aace5c31f696e5552258fc75b4a03030b6a25b0f42138f9d47f98092212430b30f56397e161c7d1cc53fc3dfdbaa6ae6671f7d1b8a61cb9d7adf221068a692bd8eed5875b9adbef2acc58be6db2f2bcbe971704955aab532e03baa34f2abc00c4662e428f66bee89fb6acb387248e9b756ee70dcee4d822b9481c6943b5adfa149e3e907900e6f53a8918068ceda79a589484923978d674d4a0aa2f074685f80cad4a34b8b5e7ca35cf53ba1a79aa5be6412b10aba7df6a17a8923c4553efb2c55203b9647bcf6369c54968129f64d28626006d661de375e77b8d18754598d16378d54617121e7f963d93c43802f3f5b856f8021bce7c9c4c599455b566a06b282c163d1a8937abc7f381253daf6b3608268272304059b4321751305d6a7e66ceecdaa53916457535f90f5d4dd249f05b88a086b3a62b013bdfe29fd094cf243311e4c48c4f7d675e97d63665d477bb1a0f6165075b36fc17010a413db2ea7ad1d0ae7ade3e47c8f0f31c718ec560a5a04226ac01e4f7308c665fa79e7fefa0d43d8149cf225974ead202d936d71db4b7b9a11a46309b8ff82f3a91bf1b4eec8196ce5d2625bf809bdc45c93a007d49b547843cfd2a8546320f3d8198a2c696c79fff063995d1405a3af862fa0e56ed4bf8e945e9bf29d08902575c358c57111f6db6ef4ef5e923a488089c5b2111eefe090322913d844f498c1fc7876d258e8ceb076b9772525daa1eae13be737f5bd0a67c8c087b15893ccc50ec29004e49889e3f7f62be3c466d7b074abdb17bde8a94c06aba17fdc7a46342369378d228eef407e78ddaec9be25f55371f754e2e0cc1b7bc692f11a82b7868f90ca9a5a2bbc5023794b2b83a0138b8420adfa00e945aa9b9fd81b2fbea10a4a5186390f9c91bc9ef1585e98daba94a0a2f61881049ef81a0b27e3bd7c17a33298995e5424845fc959e5c5fd85d742e59d15c8f0cba40ffea46fbfa6f537b7bb9e5df91662a8b3f77423e053291f1332822cdf65ca1dfda9e5f8e0d2d5e58fc51069d416d1c80d18f273f0eddb27e4f6e61fc5f36207eed0299f1fc9db833a136c24e2294ee904314e3bbe5e2f6b097f7c81718ede3b3811dbe774bc6e68e9efe16325dafa303a085ed061d888a8af39b537b63f173fc2e83e81b6753f9f1656fcb997ee624dd03d4e31cc5e7749d2abcc8d9d471f14f7e00b68c60a38be2405f29b034603d2f16a4ad1abe4041fa1c99107722ffc7bd8c4a200d3525872d49654201c0a950142c705890c907f854e97e672c34d790239f65534e0d1ef6113f5c020441577dca22b993b76a426381326ce93e520a894d95cfc2f77c201dada07e009f1efb4f970ed07b537fe5fb64380201063d51bb953cc4720d6a070691f1889370a7904d4ce30f10a92458d91e0596
+Shared Secret B: 58842f6bbbbf74425b84a8b4f0ba54a08a6e419db71268bdda38f205a4018ab5
+Shared Secret A: 58842f6bbbbf74425b84a8b4f0ba54a08a6e419db71268bdda38f205a4018ab5
+c9789dde290859d1a61fc2ae406fd91d314e1b4daca763774afd9485c78e4262a28fc105de9001d1c88f0b01ae8e0b91fd47dd9257fa85db2cf1fd9bbd906ab79fae9aea5205ac1fda66abca92289b5a138ad4e8d19402ce74b66f7bf62cdc1419af0dcc566c523a26312940c68d8c46fc7e096a3b0a20a74e427a673cf222e8814bb9889e0bdd9a3c89e842971c6677f870eadf876b3b183edafc316f6a0ca4193b8ce43da4af8d239480e78aa427af510592de939cb15076e8656f850f705a062860ca061ff82ed71cd0c55401b5e510035a322dec253fde3f03dea230fc0eecc82cc99caabb8dc84c7efb0c8fb98d1f54790dfd7c9a2e235aab0a0660f278a21b5b52d6de5421356fc60dff8d3b30de38414ce03b49645eacb2b63396359e837a6cfe677ca9c00b92f63c7321dcfd72fcdfc5e11b0919fa773dea2eb6be66b871d1d37ab3182c017824af4727d6f072494cce6bb0b4a032f3a08022205b3c582b8933f67adc628fdaab8ad3f1c6d7546637c3847ecf8f9563a610f408970a0e9e442d871eb4423a09fc95527e1448401aa08eb36cf1414d433074d5b16f6f127796eb9bf048da71d8834c9cbd0ed2ee7d2734bcc15f8dd1d5e9791bc45d31dd22f8666bf19d382c540a4dbaf24d5409c555e8081422f8eaea66875413ba64926f7201c4af926e6b2a8f1f6fa22d4f8a960f622a224db96f82d025576921c77b5b85cb64d1f9f808f98142a10974d9875bddf55eae79778fb4fc6ba32e2230cb5822edd0dbec0f093cc9bb5a0b27e9a57910ce00ac4e05e40ad2ae4b21da9c6cd8c984eff262b1c6068b731bc9cb4ddf1aefce507097410bb07ba35e3a12a6ed4656c5f4e48c9bd2f814382bbcc023de785e24c29465138b5a9a15794c30c8d6bff6262f6d4361678d878b7ab16ca15a355d9eb43d3af9efc35ace9334369a527639093d33989b49114210f6d530b025b3afd5e38ff7d22fde29f2e2e1ee180fd080944736b54c3669e9d2eec1c08028833142ae8958f9710d2ed4fc62b78e7d89b1e2c2c081d69e311acd5ba1f981dcf260a93ac7392122476f2090ee5dca7bca563130be842d534b29bcc083901f1c218602a7684f229e34e5aa95d8739ea1686b4cca1b58aba3045ab245934fd245b9b545e52645774e43eb604c97986987ac8cf427d0f97aceb00d5fca3f531b2073eed1b481d608fb08a4c3560ecaec686c36a801fe68a89bdaca5116880d4862f6212961db7bbf5d1f832ff2e4867a87087c83e2e000bfdcfa8540abd1e9a0727b07145057e0427dd03db30c66d92ae2828fbfee62cdfd0175d85716602c6987d69af2eb3d70510dca577a244cbe665c0926bfd42b79328bbcc62e5139e1e3b03016f54f259fb63eda533390588e80905d8750294a3bedb442a0a8f029e2064550d3242b00e6a972fc27ddb3cc7820c308fa03b89f697214c639355cb605c01b5bb832b10caf90732b36bfec22b46de5a9589c4e40bb35074893de84afcc236538ab7c046771f57005478520e7b4201dc90414db92d388b637c93bdb4e6b1205650f9d028d4f4edb84a4622650e492bd48c65456718dc3875c85855288fbdf38e46d31782dc34d7df72ce2a7f189269e856bf18fc1428a4de33cdb954a5f44bd5c403b678cb4eefdd7b4aa8435b87b4c63a290347e983a55e15ee310a738d3072b3cf4cb76ebd684ef31b2db79be48c48b5cb86a6910ac1d9e4ad4b1ea7a0f5b278eb02ef608f33f028018f315017d721131ff215d1cbccb980867edc21517cdee23e3d8e20df78c1425b7c5b5be52cbae7d5fdc116211e4d864c997e146d64fe3b57ce342753edb1755df3a11f46f841be46254c6204dad80e1fe73c51f51268bf0a35a2fe9298265953a0cc7a2700559896d8cd0fc5937e6b1751cba2d9e5fff864b969d9a3d1ddd6cf60a9ae9f151e5122da21ef2781a43f55f24dd4b020c2abd13f10f8e5b7d510204a6fa7a5a282d803685e581c0ef5231f0c20cc55ad4d19492c614a501ee7317617ee037c42b605fd9ed3ad1e912a7a7fad22feb6ac4d532e56a3a3f20c454facb734bea21fad4ddf22552341106b8b0419be01fa06782a48af5e0b34333e2c6f650b48fa656907c27e596f14ae3e34df9344a8868c362f852aab6f2df4212486ca47c0e45bc08a84bc7e3c00b5354372f33ef43683028a64dcc48dac2bdf93d8b6480dc57
+Pseudorandom shared Secret A: d534c6ebae1ef0310a8f9f9d67254e98478126624f9ca6c7e77e5b5ba4855e06
+93f0c9e387870749dc10c896a46691bf98f8ba6d7c77305943771b7991854660ac61dfc62db36bddc2740ffd48775b128dc36bb3188d6712cd011281f3c7eb59
+Public Key: 6e802bdcc1468722971271065374a7ad084006074110b0ae4be6bd4368094ffbb22aa1b787270bff571d5ab4265c8818ff22865428021292b1f084329cc3bd6664bb349369d5e96c04417c706680b6717e9a697c37bb9eb49300d8fc41ffa7ad5b291e4b169c92b6c06c3aa28f488d3b423d275c69dcf316b0b2558ed47f6bb5a15ff845791c85cf2aa18c895519750bcbd4c80b3649aa500561c492f4f59a38f25aeaeab298854a60607e9162a0acf6731d291d1bf2bf71e79dbe5024132313f189740f108454bc35295b06c183cd485c0f3d391a38c1ce5c446f33a8ad4f98467a65766ce9748e27480bb49126e81b447cb354a333895609a8eb698791c3a5d946d501c5649c738d24772cb66815b731c2d12cc74641987a442290c8d8b4b4d82b38f2917b6d114df1187062e6caa545c88d713421f17ef5309633917e3b980114e504c6f0427c5303c9a1c52eabcb65e9030ce990b37b4f8e25b2c5f5ad7e7571beb97882a584bc88a2a624533b1c952c784daa9aca1c5a1865678c29490ac8d023ed513309e32174814d57c844e0a8a39d710377e3b1313b60c1280d87b37f128660932a332f882514c801c5029e370aafb5f1585dda32e37bcc0344c9b009b4fe2ccced94890728484880206eb70644e76c7cbb8ef2a0a75601b6b4a7b6bbe6a1c90b2c7cb007fd4a5820053a71f225975064e5c4588e65b3c6e96050b7390ab57e68e039f5db6f666711395811f922728a989211f5633c6b73bb31268fe67e96b154d1f441fa24bac5d175dc42acc08860b0834223a25ebce7a62fd708aa3228bc74ae74595271715b3baa7de2049c06e03432fb60d67864fe395ee4200654a17069b333ce9857d85223b07a6fba6ca9c4216bc1165b919655f9f26c5ae3b7d8633ce3260eef043fa8c8bfffa96b0df8853bd77c1cf7a0eab4c59033591dcb6784073f70c0669125012f01811ce8bb875c76fe43bf3ea330cccc808dc97dc1e757b3bb9c4260aff49300a718220506107c6c8ba3ea512cb86c9b834d24577a95e2b4cd93068f46cf8fe20c8b0aca18cacd2fb655fabab2a2526d5c394e66e1153ea14986d433d4db320cd5c194da1f66d262277296352b3d7f9102778c6a9967ab7f8554ebb148cbba729de1b3ab5a8dfe5ca940a5c8cf356407e00b9c349ed88748bd91c21e17b8e3025cd3ebc1809c5ab2588f92db6387c7c2d63768493c8ea6d003e03309469abde6a18bbea51a4f5c0b34dc6bf92b76a55cc768c2b5591540358a555a9bac1a03b343852c6ac70a364617ce916eaac95a1c2926e6f71ea3b33a8af0aaf5bbb73b5ab5ec883a00d1c40e13c52f13748956af30a3b360d34ae343cf01b4c00c72af1e37999140c55808a6fb8304c5948de338645996420c697651b36780f9babb59b51277840caa4266fa2aa19cb0456bce1ecbbf5a02007cb81696068145295ec014acd1170f1c5555c3250c802c24e883c6618418dc1b1045b780a1843346c1487ee90a7b737597158b94cc1c5b8a5f66ca78e4ba895120cc109b3e74083a786884be1251e9650369c93d2431a317b3b7e6f22b79b225d5a307043a2b9f418de2c80bd5b35cd3339c2e2b7f01a62ee9780be7049a58b58497c4c1bd231094d13737e9a0003316792b9c8f9371b565a01a4b45129c0ea0d780b9c4c14e79967949932b7aab046c26cfac6cd2c2864e70823274c361b885e3cabda5a64e53b05c1cd05c57e2450caa0a5adc8138bb634a7a059cb2a177508fbf006a37b6b697c9b8af227b736850c4ab7d70bb50a4cc63b16baee92499b2807c8c51218eacc1f3a318fa859fb03b504cc02fb0c233d1c76807f6a62c641b11c74f9ea817256511381146512a0350717271b1a12d183960bbca00f554c1d21be4644a3140bf9a2a55164b1f2090317cbc39e0d967e571c44f1a55d3fb6347eab9bdb11445b1a88328cfb2c325e8709d6dd1acd1c68c195628437c41ebc62628e6900d9333d043c025574ce81a7125406f0f880f15ca982a5533f0098f95c57cfe4555e8836be0304e49d516f526b4193376d4851442da1674e6b1a2941d5fcacce8f3113bf9b92f507c6b6a00fd0944ee169f2f7b638896c32b51caf84181d619943ef68f1cdbb4bf04b8d14c27b3a38d1a6ba58dd10a48343c441c698ad035972b219429bcce7ce5170768e49041b772477dc9db2d70ec31f21e6d53
+Secret Key: b64c875f77ca8790a5b0ec0cc0c0130357b2984263d6e5c380c4035f1c57ec12b288594c74530d6ef71c5dc12da8d7b49c9b9de0cc36857cc044f48d2c18284a1707d9101823d603c389a29d95373be874291288f6b30a42ba7b4c3c5093e3c6c66a4bb26460a637a0f30a8dedf1253c0bb2657841db39c9dd838409757db261c3bd59842d94218eaacf63309dad59408650452c05062205cb005da8e7cc47c5156c6fcc2e2b983ee69683ae550bb4845db3c92496942f802058e47995d1b41a09eb2d029840e2055445f08e7a00ca695316dda26a234ca4aa75004421baf2a067bd593074c7741e3b67f83badfe369ee0c760ae79c4030c69dd2a3720363101fa0054246940d5ab523918d669cbba307f544a0614498da0f317c826a459e6b66c4182e1b1cfb950673fec6b76b9ac2ec621a607c2ea35b562736fdbd1583fec7700246e28d27f735336ba1414fce288df924ad19bc88bc114c2d291ef688880db82ccc91f900c2ee9f84341740486943cb44a3eb82127866b0c47f579a0b81683105fe3a98ce9d38fc490945f0713d4969dd204a01aa089cf35664b89600b10c87104406ae5983a35917504944d70c7e2b751836a0bc12aa24b675576519577016b6d5a0a136405548b1fac1755a2685d5c03bb63c4939769214b20cb874bc4db1909854c0c3d33aeff47096e6461fea19e930b2091652bbfd13439c657fb195817105ebb051f26b776f4474a93754541c1023967a87e3973cf38b5d3d99233a833ea3b7c989628ba1aa982f8b32e4b4034d781bb5476d343c5deb5c7b159a653b1a4d9a8a4ed4ba9b9710bc0b78bb9c07978453d17e09cf3455d726858d7a38300218152f609a17753678b530cd24b46803b9cdaa0cf7177c3b132e83b8fb1e104df9b463f5c2cb5fa343c3acc32c85247352bb4a642ed136e9b0865d2d19e6c30aab1394f3ba74755a6aedf2b5c378b0be607838bb9b518d798210a9ef16a562e908c10591323930113acab5d5750cc0201c5ab728d273b6da1ab8cfc9d1bf6b09b6a395d177929c911b9ca86f2b7b3e477153fdac97d59b772b300e5e3783b528027c3211f1ca2ea047bb6760d608a6f08aa5f47f6af2620cce3a7ad35976df471b1d7329efff385d42481cfd2b5b6558867e77317695b42429711f1236054b5268952c84a61b457b7f469a6e0f27ec1e4b1b618aedd8966f30242d0557afd77b838660c09b5c7be99ccb81b4463230eee5a68638477ed919b30183dd53851f7e0494f294c65b73867e44485a460474c5257302e904637c47419eb56834620af1750780ef329b0379b45bbc02b709a8b98a0a2b73f7289bd3f028fb7a06b1ce13ba9e958e2bb0bf2818eb2215b90027fe3a27c44b7764f580514355ae2da699d0c47eb8aab0bc4365ff02a950436d72a37dc461fe7e9796d2cc696f357bc554818c966a42339a6c78c07852a8d054bab9bae59c1a708a3c30d99912174874633b98ce0a5b8c580300bd0b2b25e5f615da4c4c73c529f774859d56875312306816c2df90a39fba081472877cc54c5a127b855a71c85cc3193c70c453176b373717d6396effc2172f3cd310056ec994d7a12717dc35416053390104a38d04488308065d9a196151fcd12326aeab643d23c696581af703dbeab0e08356e3a80159d52c41697a43dd162a471478a4700d7330853d62ac4c419f4f9bd15b15bc65a56dc3981b945043ff866d6fa58227c81896244dd670babbc205de94b7d5ab30987302176cbced44bbaa610aec8936d66c2e7468b7a731f18877cc78831096088ca12aaa965a72b653134f1c1c83ccf6950764e109ccf525f87c96eff59175484750bfa0779fabb23987aee6833ff778047f28bd3e9013ef043ffacc27a231472478eb415562b7bcc87383d2b661111097eae195e0bd88c886c0e393cc9af92719c1199435665b5b3bcb390a0aae8b94f766b7e468d7a0a5274b91dd2eaca14eb6894c94bb340403c65cb05ec6298cc129474a89b917a08ab6d05a4b1a8f582954c347b68b91008a17a21c3255c3fe4a8b4417271acd82b14b15e431828f8254551cc9196c14d92b095b6912d2275627735ac7f494d56f85a22c83acb95bd13385a3d975d7a9a1d9c6271bb455bfd7847c2d937b0a8757620972e487a35260c6e802bdcc1468722971271065374a7ad084006074110b0ae4be6bd4368094ffbb22aa1b787270bff571d5ab4265c8818ff22865428021292b1f084329cc3bd6664bb349369d5e96c04417c706680b6717e9a697c37bb9eb49300d8fc41ffa7ad5b291e4b169c92b6c06c3aa28f488d3b423d275c69dcf316b0b2558ed47f6bb5a15ff845791c85cf2aa18c895519750bcbd4c80b3649aa500561c492f4f59a38f25aeaeab298854a60607e9162a0acf6731d291d1bf2bf71e79dbe5024132313f189740f108454bc35295b06c183cd485c0f3d391a38c1ce5c446f33a8ad4f98467a65766ce9748e27480bb49126e81b447cb354a333895609a8eb698791c3a5d946d501c5649c738d24772cb66815b731c2d12cc74641987a442290c8d8b4b4d82b38f2917b6d114df1187062e6caa545c88d713421f17ef5309633917e3b980114e504c6f0427c5303c9a1c52eabcb65e9030ce990b37b4f8e25b2c5f5ad7e7571beb97882a584bc88a2a624533b1c952c784daa9aca1c5a1865678c29490ac8d023ed513309e32174814d57c844e0a8a39d710377e3b1313b60c1280d87b37f128660932a332f882514c801c5029e370aafb5f1585dda32e37bcc0344c9b009b4fe2ccced94890728484880206eb70644e76c7cbb8ef2a0a75601b6b4a7b6bbe6a1c90b2c7cb007fd4a5820053a71f225975064e5c4588e65b3c6e96050b7390ab57e68e039f5db6f666711395811f922728a989211f5633c6b73bb31268fe67e96b154d1f441fa24bac5d175dc42acc08860b0834223a25ebce7a62fd708aa3228bc74ae74595271715b3baa7de2049c06e03432fb60d67864fe395ee4200654a17069b333ce9857d85223b07a6fba6ca9c4216bc1165b919655f9f26c5ae3b7d8633ce3260eef043fa8c8bfffa96b0df8853bd77c1cf7a0eab4c59033591dcb6784073f70c0669125012f01811ce8bb875c76fe43bf3ea330cccc808dc97dc1e757b3bb9c4260aff49300a718220506107c6c8ba3ea512cb86c9b834d24577a95e2b4cd93068f46cf8fe20c8b0aca18cacd2fb655fabab2a2526d5c394e66e1153ea14986d433d4db320cd5c194da1f66d262277296352b3d7f9102778c6a9967ab7f8554ebb148cbba729de1b3ab5a8dfe5ca940a5c8cf356407e00b9c349ed88748bd91c21e17b8e3025cd3ebc1809c5ab2588f92db6387c7c2d63768493c8ea6d003e03309469abde6a18bbea51a4f5c0b34dc6bf92b76a55cc768c2b5591540358a555a9bac1a03b343852c6ac70a364617ce916eaac95a1c2926e6f71ea3b33a8af0aaf5bbb73b5ab5ec883a00d1c40e13c52f13748956af30a3b360d34ae343cf01b4c00c72af1e37999140c55808a6fb8304c5948de338645996420c697651b36780f9babb59b51277840caa4266fa2aa19cb0456bce1ecbbf5a02007cb81696068145295ec014acd1170f1c5555c3250c802c24e883c6618418dc1b1045b780a1843346c1487ee90a7b737597158b94cc1c5b8a5f66ca78e4ba895120cc109b3e74083a786884be1251e9650369c93d2431a317b3b7e6f22b79b225d5a307043a2b9f418de2c80bd5b35cd3339c2e2b7f01a62ee9780be7049a58b58497c4c1bd231094d13737e9a0003316792b9c8f9371b565a01a4b45129c0ea0d780b9c4c14e79967949932b7aab046c26cfac6cd2c2864e70823274c361b885e3cabda5a64e53b05c1cd05c57e2450caa0a5adc8138bb634a7a059cb2a177508fbf006a37b6b697c9b8af227b736850c4ab7d70bb50a4cc63b16baee92499b2807c8c51218eacc1f3a318fa859fb03b504cc02fb0c233d1c76807f6a62c641b11c74f9ea817256511381146512a0350717271b1a12d183960bbca00f554c1d21be4644a3140bf9a2a55164b1f2090317cbc39e0d967e571c44f1a55d3fb6347eab9bdb11445b1a88328cfb2c325e8709d6dd1acd1c68c195628437c41ebc62628e6900d9333d043c025574ce81a7125406f0f880f15ca982a5533f0098f95c57cfe4555e8836be0304e49d516f526b4193376d4851442da1674e6b1a2941d5fcacce8f3113bf9b92f507c6b6a00fd0944ee169f2f7b638896c32b51caf84181d619943ef68f1cdbb4bf04b8d14c27b3a38d1a6ba58dd10a48343c441c698ad035972b219429bcce7ce5170768e49041b772477dc9db2d70ec31f21e6d53f3b0297d20335161857e9d2e78e5640f5cfe2dbeeb50947a98139f49329421ccac61dfc62db36bddc2740ffd48775b128dc36bb3188d6712cd011281f3c7eb59
+e97606987d92e932e6b1e948a305355c05a7281371be898097b05c50e43906f4
+Ciphertext: 72380e5a84b957cb63e4d4fc2e29ad37accef048857750d9326d295a32b63070ad1c25077cda85c927cf4e39a1fe38af39e6c52fed954f56c60db506664aabd764606b0b7626cd73b97c3710a83c781e8482db8e26d2515dce842442b27bdfbe9ddf0aa7dd1a5112d73c01f044be1c0058503dd8c5fb3a825c7505742f52ae170b3d1536d5a701ce43de3d0bb4ab4e805fd5a434c6e872ced9c393dee761b2d094b67afdf6baa430db07af9cc391b712097e7e9879248a220efa31c26e172ab512089d78ccd5201bc149c92fa4a0f72a696f10f8cc3bb7b044b6339779fa0027ec97591a71440a255cad1fbda9accda69a572d6ca7f8d571f94916eb39d6f592a4a9ee6cb8c48a750f801a0fde6ac8a7de49094b5a700117210a5de8ce81f60af0cabd8fab2698b8b91ae92bbb8fe16272f579ab6252b4ff6e8e2236291dda4b332f1f7ec366e249c29e28ea04ec636a5f738224bab5b1e85d95f48a9fb1e0ea50f042e4634a36cbecab8a6bed7671964df9e476ed3adc6079b93165dfca5f46508a29e2a547895ddb1805a72e62766829b7d2bdbe6dce9fdba42b9d876bd8e1e6994d25867ab01728e2fed5fcd49c022612e7e04224bf678c3d1cbf8701e2c6c9f64ddbd6ec4eb9f4231fb8f8f842624e35dd3f7670817438f0a5bf5319cbfa67cad1cb33b23a097f75723d56ab962d0eff773647772b5558f07c9fda1b344434bcd7ee4ba70eed1a517277ec6c20d56a21be546a4c80dac3ab7382228d19df9dcbbe775eca75bb5f3c02bd2169f830aeb98bff3e3936f446020a1c2dc51366a86f43a0ca3c16f930c059a82a9573d50a1e2e052e223d88fb328cd5cd974798e6b82feae57fea4c0dc22c1fe626b70b65f985849e2982d1e0376783e5ee9f0fadfe1f001bbae7c952b202e75a097d3f32745a32a778999fcdcaad3824524a027a75ba6b4b5fc0d27e59ac4da9e704e3179a3d652012c2e3483196f8318682412be7ba38907e0b88c69cb907504debc3169127cbae4dcd591d7db0f8e8f14eec098e329ecf61e6cc0a0c220851827ef2699fd5048b27a6cffa1f56059a9fbb9a8ee8eb9e1c6fc92385e0fd8d91fb81a4bc1dead7f15017a4f64d68e6d58a7fc30ba2a33a86cd7a6533c5fd83d3a7302c559b44383b81bf5bc12e2c8231ff859b93556db94a05ea80fdc8677432c2f23199e4d60871ff70a2f861a7b4988a4f4f1a55ec7d4002fed1dfbd1a7e9fe3d97748bc32a69667f7f8de6602a53d349765880809d6f07f45bbe709108b5b431fa831a376bca5280a9e43ccf74cfc9d98d5554494fbab0960b40848cf38e1c39ae213b6b0ee7bc8d950276de08b188308878f43cee2c9b516b8e76bc52a8dfa3e60e728f092faa9b72616e605d18526c898cf0c54ee71e4562dca802d3e49d43c66fd5832cc3d02ebdbc71dbc95592fe08c8dc479b4fef0afd17152b98c27d7aacd801e2987c59eba4ea4d13732e727572cf99654b011e22d7fb3de097dca649d46a7c0674634e3014ef4cab4d79a16799cf090872f5c383cb0c0b03bdbdf9734725265ef309c4217b9bd3f2aa73a34b37478ed45666177e411514488637be9056c4b560e367ef0b5435f5fdbeeac5d207e9811ece4eee3380f32683fde100a281d5a1a3a41e893a808b2f614d67a475c9a7943b7f0fb861e0e0555a19e40989b696790b7098d56b4f5541bf03b9a71954b0cd018913e52da1c3e9d66ed8ad5d8c3a744bac69c68baeda5c54f5b3b2350d219957a0c48c57ffe69e49eefa78d2d1b7b1b0dd637767840a5f132b8adaa6a60892c2a768fd1978d3c377fe2afb76a790e539175e1a726405fc630c88658cd43d39aa59298c6a1270d5f0132b1daad41e32cd4bd6caf406a3a38239bea118b4e6f86ae7f08d24d8ae391690a316c800fac2a1f87793d0b111e82bc5f875c337322a5717b1f4d459cdee01d696a36fa163ad81860f30291d19f8cb83f2060487310e9f8c71bdf9a7cb3960fe4c3aa5e0dd52190c80545a0ce618fc6c068ff5a8bb2d2bdf29ed7fb3702e21085f33602fc160b963bcbafebdabbc3d9a396c852d9de5a32de127e2db9ab1eac155cad850bff3c28da9f8ad290f8fc3b5fcc8bb280bc118e2de72c1af0cd8dc3e7bacf217cdd8288d6ff5ede179d2bfcb8cbfd904579f26d5cd69b85e91e65adc2b4ba40d6b15e65e65e23989c6fb392e56e6ae8c1
+Shared Secret B: 27c6cb713f48ae819a0ddfe602192836896c55f4a7c9e1a876ecf9345bad3c06
+Shared Secret A: 27c6cb713f48ae819a0ddfe602192836896c55f4a7c9e1a876ecf9345bad3c06
+724301a281ce4f550703246bae9d314329aa89beb198468160c611b3bc28f5d451748aa6be39a7f4680fd44fcd0519d686817301d990e2bf538acdc0642ca1b9fd231349736b8f0366627b70d7ad884180bdddedd895efcfdc315c187ab3ef03a7a676d359e18884fdf122c318ddc08ce8dcedcdb6d2a7ff92fde8ccff60aab664ed49e829e102c06a6280ca3aaa378f28b8ca03000b014eadd958488f2e671921dd1283a896ed9787e3a23006c0daab63e141a1c4b037ce02e7185f873ed83570463875d52b85b3b50ebd11ad41d3a9378121a93eef05a3ddbe87e72c90288f71ccf61bfa6e4dfe5bd9d4347432f6b7b242b769bb662f945baa75874cd68d1bac945ed736dc763b824b26ed61527514bac7aa4e9bbe6ac0bf8daedeef30a2a75b9909222fb608db8d54a4e5608574084876c8533b9a6f0adb35694c72a0d26a56dbfd834598fef6af70ea15fe1f71f36361f943ca103fb58e96a7ddb4fc526103867bb8d34189b123cee42b1d459067377a3dee3e9a7cbe9caa91b75a4b13c4fce5f9beb8b2d7abea83a1f0c2de64eb50eb6818f9a8526e9083542434e9b559f130fa856679b7ed90a5e46054fdc0914d8334a10425badb9d77f0f4e3e2b31d59c313e8250f297931dc4b58892423b5b07156ca06f114d3b3f6597def40f521c60d72c6b99e209da9f050385706c6b8f4cc584346a088f61b5c355eebcca61c0963db3c4170eb7626025d5af4656ca98c02fc111f99ae64e4f0ab818c45e79adda12cc1b586ef9199d179b679428379f8b8f5788a1b1e7abcb30a90294bb985e91dc3662787fbcefa7807e234adf2e617b4055e8804820d9a1c8d368f8f3c75670c51e033f36c6b17ecc04e88e0882a05c2e22a994c3e9f00de3772bf812a360a4e0776e1dcbab877167d0190a57b2aed8e8c9dfb9818997fade1cedf4650f74ed94bc0691e55c049e270bdf2b15241add4208af5c3818d0bc9fe0c728d849657561443eabb7fe28fbed2f981feb0d4a881bb85a9fef80ea42a22f3cfa4dc44645807595002182952f6fc82ffd0a0b5ba71327847b275e3c2715feabf636f466067f2b5a5ed50124daa5751999cfb97c75868eeda362c073daa1ec453d09d4ddb615b272c7c0c8ebe44839a7c0b7e6911c296795941d2947f3551463fe656bfb461dbb0caa39b299880e24217616b6d48c1f9f48870228b2d13cd125c2a3b8ee4c2cdf7bf651d873b14b164d7c05ec42fe0399089d99c4a0c2df5e3487450fcf2fdab5ecd8f6ebeaca38caeafaa319aeab5b47fabff25188832b2d7b62dff0ca3c669b62848ac0d2b910471864afdd19c0c222d64cae9b25307d2388366529cda29fcfcac9d895e6d71e6f5753a9924bc7fd8531eef2f83765485fc5f6d2ad76f36c6ca181b51d2245448109ef17e69f7a7caf0d820c3119f1488789547f283b8ddd9d0a7444c2a228fe9080e0abfa7cf6b51dacb161d73a54765a91fd0ea72b174e6561bbc02d9db9df9479232849553c8c920cf69f218669a4bcaf9134078db0dd70b33e3b7dc762343408aec1d550fcfcd670c5a7569155b30bcf7642217eec12c3c0da80d82cad62c62d134a8337e5c313f9455848bfd8013f311251bd3efac8b0527cae6c2609333240900e0bc774808727f2b74e65de42737fee2f1b9041c7bdc3cd9daf83086bf9def9b3cb680873a8f037e57dd0227adb44b284bd4ff62ffe6c5d8bc3fdd861d2949a2a79ff9143907090b117d86410a0daa0c5e208dc75557e4e8aaf1d7aabd50e35bd8c8d67a4d3fd97dab3890a4b03e1fd5664f633dfff62baa145800f8ac99d124cb8e5aaa1a0c9f447c2633d80259634c2f54a0627257915f9ad996e7dbe373b6585b4b1e669e7bc4eecb542e252575fbaffeeb206d93104a7e03861f2239542482fd31757b3329d95eeda0c51fc5d8a26c7843204a0aa2103270a2905f32a66db8ede5dcaee8a183857e91c4409cc33ad752d0e1801d1d74fb58c48c6b220bc9c5a37a5bb95438baad2872816e4cca46ea20c1e54c45caa3d0ece1564430595403f104f79acb7849f1f73ab57803944ac9cb010799f8038316e37f62f9c9e577358e690ae7402e4d8458d9d2eea2390ffbb0997d3446b2e1d77a97b40746d0ef28cd21a315148d54a57f959ef65429f4f75771aa3b8cf58693e9ad75faf49e1c01f283ec2c5b28f33d9d7e56b18b1cc262be
+Pseudorandom shared Secret A: 1722e1f8ea46f688449e5e0d037d866e31ab72876f26f231c56874b5c91d0e6c
+964548e263dcd8aff25c91c7a2b13c9945a9bb876cfea6f0c73e429a84f8421bc8c6225eb4c5fffb4c432057611180b740c5bbedfbab9644a55e8aef62c13be2
+Public Key: 54e901684b892a9167431a4fc0c60d77e83bf9dc6e9bda53d8438dc8a05e88c83da8f0b7b6134caea7c83632a49e8ca9fc2b4ba5fc6c1279b0ba738ebf07736e1214dd6b551ec469cbc5953c58b08d361cfdc13fdb37c5ffd7116e362a6e357f5321573fcb06bdeaae8874586159a93dec9be927476f45c3b5852473e085bf939fcd6275da588c05298abbdc1c83992065d2a8abba9e1cec6c6224ab6c0b5e1498c0fc5829e71080ac131f3ff98b64a0bee9d02638ac2083cc8acfdb462fb382d7d3c728916ee9b9143b87b1de758a86544be01188eb2306daa01453f73e7f69456d39a3320038d3e0cf4e8002c1027a0185aee16bc7a92c8e6d209de0e54f9cd39d0c8941e838bbe001bb0a5846e2acb021b35d15b27382e986dc60bdc210cacc86231807bc2fac955572af9a611e9d9366708a6321396ab516b58d81b8f1b24d3fb9a9c6b432d95578e1bc348236044e150e92014298677717c044f3aabf71381b0bbaa880e898f7a5284b4400635c94e2771b97c967e747593746539fc97c32bc4fcf93411e9b912efbc9c9c1be13c15d83cbb524e2219b415c67e1114aec3d02353ed6bb0981bba12d4232f74a9cc1b39a5916b877d03ee5b377b156015cc52edc24370d0164ecb41c1eb0a3c828c3d3a02caa75b137e299ceb1660a4755a2c68cb9da167c52ac344041cd81384d2b3a05584e58a91cf1a3c197b41fe5767c020174f0d8705290894b55a696a8bf6fa056f2524e1bc01e4d118605a120451a06119bc48a0295a36b00ccb398a4a47c82d83fe64a4e40f2865bc3ad03dab0b0e47e9c293e60eba81a33cfab669d8db30e12195d94da98d9d68458d57be0768465798696086033b2cb5c4052add9312e33a078db7d6200372bdacfafbccc03b5aa9ac619b6174fa4254e98a04754728ab07824451864a79bb94a19756a14b67f8b4653bb30ca844f62aa6c3768864878c45fb25c965bca2b2cc6af42a472835533ba3ecc364e7d4a65fa086b3047ccd7fc4f126675ae527daaf99e1176a8eed41ee4e7a84ffb1a0f958ec1e0c1c9585379c7b787eb4ab9372115292dc6cc48c03131220c73af1727fd272d8417373739b1cf280c42d869c35677c3d41bcd706a8a5263a7341b10b93338319d44d335d5879cc26a4d0176988206c33d85aa97a3313b5bab16d2aa7b31bacc13babb7b523a79c791009bcf99c5cda86855d1b160c3739994251519402de33f62317bc1eb4db803862d9628379704d9c841de7a9bc411c34fc5bc350671bd4b0473db4c1d39cdd0dc6ecc14ac5c594a6128017d125541b667a1822f10dbc27290a568cccdeb590ef417327bd9aa3f39cbab6704df470a1e191f96068b872a2c86f84c487a6904758090919c602b9efa329d89cb3721ab7df1a52b20f5b4cd70460b09161175bf82baccdde710895acce8d264402c07c24377ba2278587b4adb35c4d43171b3594b49918872e8bafc4447a2dac2904ac561d12660989e89e84cedb9847f9b9d180c5897d92eb84227b5b72c4393910ea0782fa4127dc9bdf4673334e4a21d6305d3a1c65cc0262cc7b4d16948585a374729074ad678e1518eb46425a4508772a86c8591642345b85ceacc49aacc9ae0cec4da1160187cd409c018c505421c79ec2c34651acda0a67ac7446f6e5070096aa8b6781f5fa2c9dacb392cb02536c9bfaea759eb3a70c201263d433544340d154224c50b1449da1c6a1a98673514a0241a9fc4c2f588673be4332c8831aff6342c8814b2f89cf49b13a96056eec801ff4b482ebc34564685eb072970aa4c5ee95fa70230f02a4cb5c32e672c6ebb30a37ceacdf4fb708a6b156fe132514a55ef6ab54e37259511353ad3ca3511bd063455c689ce7543661cf6834b2bb22d56c070a132041a1757981020401f546bbbcf78472d9acb1783490fa147ff8534ab487e99f7af29896ba34c7a2223c8d47223753588914655c3761d63d731e8b7b094e965c1e02a80a56b80859ee3a480c837b6a57328f0f7c76540994e0c14023a015ddba209804b0afb96f1112db8e7464e7cad9ac658fe0c81549ca7e035938a38bdae6aa376424f119bc2289221f756b9128a14e2145db15005822006b9fbba07c6a3685b9c1e40c3d853b852c79f174114f1428fd5e81f46e047474565fea72e9f2d5c5cdaca081cc5112c45c72836ee134797156371f0367c88168235
+Secret Key: da43232e7a98a8537bd1e18e857b85ee8cc37fc11fb8c3c90d27b1fcab2f265643e6080071e019fa087ddb7890c54307b87ba89c437b8c24a5b0e231c8c061a904ae4a127bf7595bec09a880e96b23cc433312389bf3bf3d634fb7300fa9874f22181cc0eb6aa7a324f8d64ff2888bc6d72e78f33775a8b12b71017d2c1ea6e634a43027c7fa0fde4cc4d5f2469f395f8234a070ca50ba5b5017e818a5537013232b2ccc6682f80b4712886bfa056c527806d6b7f6c6c1600c515ae1922b310be1277d2b3152b983bc5e7b37efd517722322a452ae7a6430b03100176042b153cb9a0b06174756037a3e8003c1aed81fe1280e7e24825161109cd354f818a47d350cf6d49b204b0faa6200dbfaa8f3f39c1044a1a264239eb27f4581cd3e602eae18c0cb93ce3e812150f4c8cc20ab581908eb4690a21cb8da113a6ebc56b209317a97ac8ebca4cbd192e02148d7938871e2919fc812a767ce017cbcc705bd1b33637735b5fa2063eae459f84500ed331a4a67681964b98fda8f1d785e9957c294216a64f614ef949ef469275f5c9c2108a72a9838462b0861c5211ad5b406a45f6be64893b40ea4802ef1703401f88927db7a9d3aac498c9b1826ca1111aa4e3931fd1b38384698ef594ad897ab7e73337d184577f6a9461b41f148aab29081896111e0d0458758cfb2f62dbc0807ad2b621827464b7a21fcd17be14958dd19383d8a319f5b3ac6120cbc4a01e64c24a4e55fb8105df81c339fc70c4e160f3ab2bb33384b8591ac90ab7816f22019995d8163083f93823e2bba43c78ceaf9692b5990526c61d5db96b8e18ba03a1566f18c152a5c6381826891739ec3a2fb69caa970673bd19239809d502722ee780409e6aa6f1418f9b70da02abcab1b84808a2d25a71b81f27abfdb92b4a74db4d3200209985ab76d974441180558aed357fe0728d2562f52427aacd91328131666492736ba53b99542ea0798824131dd85237f0b42bdb709131b0873186896170f4f4c74226b9e04238e1e620a3233723799846b8cbba6a8bbfe809a93142a4cb39b17a578b0731ac0752823160f59650c656ca34d00bf7b33457f75232d32c4d62a7e61242d5502c454a50b37429b809aa92797421607ac3e141563000f8e937065f2757ff5251a8739cf3612a4096d52f60acb526a12777660d7951e7b77a801107aa7ae8ad52894881bb0bc1b25312b03878cd3738f4008c4011a391c6ac072533dc795467b1c1f3543280a452644a103a087272471b49dcb80704c2a9aa669eb992c87e30d0047c839f85791027ce433975cb79161cc3a6b11bd50421e5a3906e8a6b9ef0033ff548f2f74b6435a1fbe1b059f996ab5b01b54dc7d47a575edfacbb1c0376806ade1b65314018208174d66d07921b2c90d91b482f5c7f7b3ce9f89451fe142e5f5835f164fb7e3c2a8992ef4f270baa88efa280aeb4b3baf335c2ca427c74551133b895c63ad1bc78141a135e091a41241027043a80fca74a478216b52853b0c518e67c1309b8a6843c892ba52706a557dd3bd5dd12cbe5b88309004feba285be73ffba82c9610670a84611d6496035197bf454f49610f9f47801af567319a44f9c96792da02c4bb5fc5907ec1f0810b2cabd270c31478a6565b028a8ccd1e96085eb43c7ff6ae8f30c9db429e4aa11f8007791c598226950903753723da1d865304f887b89ffb086521cc92d56858c463b1aa68f89270337a64bcf91ce40b7b02932748fcc89e629a4160827527bb733c652a819255a592c121c09e6125b0d364d1376ffad12dbea2134062185e0c1eb4fa2d35e163e0461c84930561697874e63762029eb49415f6899693246adaf94851753820296a42bbb1bdd3148e3cb24f5445cf718c8b6815da710349099704d51ec232b1eab3b6e7f3b756f8a3286414da720e940acba6a9787798236598346121081007a88e35a321b839e04709f1a29e7c0b289ce23213496353187d3db152ca0a41c9663c7f1903fbf05cf9747e1588a1e18a9020c18a9d27335464909013aa9aeaaca629b541865644eb27bae606c79259d820ce6706805475b8f8b099fa3b6d7a66a0c5336cff53979d069acd9b47abd95a0de56f3b046578d76dcdd843bb682c505acf4acb1e4e77bca9e00580424496cc0e62a83454e901684b892a9167431a4fc0c60d77e83bf9dc6e9bda53d8438dc8a05e88c83da8f0b7b6134caea7c83632a49e8ca9fc2b4ba5fc6c1279b0ba738ebf07736e1214dd6b551ec469cbc5953c58b08d361cfdc13fdb37c5ffd7116e362a6e357f5321573fcb06bdeaae8874586159a93dec9be927476f45c3b5852473e085bf939fcd6275da588c05298abbdc1c83992065d2a8abba9e1cec6c6224ab6c0b5e1498c0fc5829e71080ac131f3ff98b64a0bee9d02638ac2083cc8acfdb462fb382d7d3c728916ee9b9143b87b1de758a86544be01188eb2306daa01453f73e7f69456d39a3320038d3e0cf4e8002c1027a0185aee16bc7a92c8e6d209de0e54f9cd39d0c8941e838bbe001bb0a5846e2acb021b35d15b27382e986dc60bdc210cacc86231807bc2fac955572af9a611e9d9366708a6321396ab516b58d81b8f1b24d3fb9a9c6b432d95578e1bc348236044e150e92014298677717c044f3aabf71381b0bbaa880e898f7a5284b4400635c94e2771b97c967e747593746539fc97c32bc4fcf93411e9b912efbc9c9c1be13c15d83cbb524e2219b415c67e1114aec3d02353ed6bb0981bba12d4232f74a9cc1b39a5916b877d03ee5b377b156015cc52edc24370d0164ecb41c1eb0a3c828c3d3a02caa75b137e299ceb1660a4755a2c68cb9da167c52ac344041cd81384d2b3a05584e58a91cf1a3c197b41fe5767c020174f0d8705290894b55a696a8bf6fa056f2524e1bc01e4d118605a120451a06119bc48a0295a36b00ccb398a4a47c82d83fe64a4e40f2865bc3ad03dab0b0e47e9c293e60eba81a33cfab669d8db30e12195d94da98d9d68458d57be0768465798696086033b2cb5c4052add9312e33a078db7d6200372bdacfafbccc03b5aa9ac619b6174fa4254e98a04754728ab07824451864a79bb94a19756a14b67f8b4653bb30ca844f62aa6c3768864878c45fb25c965bca2b2cc6af42a472835533ba3ecc364e7d4a65fa086b3047ccd7fc4f126675ae527daaf99e1176a8eed41ee4e7a84ffb1a0f958ec1e0c1c9585379c7b787eb4ab9372115292dc6cc48c03131220c73af1727fd272d8417373739b1cf280c42d869c35677c3d41bcd706a8a5263a7341b10b93338319d44d335d5879cc26a4d0176988206c33d85aa97a3313b5bab16d2aa7b31bacc13babb7b523a79c791009bcf99c5cda86855d1b160c3739994251519402de33f62317bc1eb4db803862d9628379704d9c841de7a9bc411c34fc5bc350671bd4b0473db4c1d39cdd0dc6ecc14ac5c594a6128017d125541b667a1822f10dbc27290a568cccdeb590ef417327bd9aa3f39cbab6704df470a1e191f96068b872a2c86f84c487a6904758090919c602b9efa329d89cb3721ab7df1a52b20f5b4cd70460b09161175bf82baccdde710895acce8d264402c07c24377ba2278587b4adb35c4d43171b3594b49918872e8bafc4447a2dac2904ac561d12660989e89e84cedb9847f9b9d180c5897d92eb84227b5b72c4393910ea0782fa4127dc9bdf4673334e4a21d6305d3a1c65cc0262cc7b4d16948585a374729074ad678e1518eb46425a4508772a86c8591642345b85ceacc49aacc9ae0cec4da1160187cd409c018c505421c79ec2c34651acda0a67ac7446f6e5070096aa8b6781f5fa2c9dacb392cb02536c9bfaea759eb3a70c201263d433544340d154224c50b1449da1c6a1a98673514a0241a9fc4c2f588673be4332c8831aff6342c8814b2f89cf49b13a96056eec801ff4b482ebc34564685eb072970aa4c5ee95fa70230f02a4cb5c32e672c6ebb30a37ceacdf4fb708a6b156fe132514a55ef6ab54e37259511353ad3ca3511bd063455c689ce7543661cf6834b2bb22d56c070a132041a1757981020401f546bbbcf78472d9acb1783490fa147ff8534ab487e99f7af29896ba34c7a2223c8d47223753588914655c3761d63d731e8b7b094e965c1e02a80a56b80859ee3a480c837b6a57328f0f7c76540994e0c14023a015ddba209804b0afb96f1112db8e7464e7cad9ac658fe0c81549ca7e035938a38bdae6aa376424f119bc2289221f756b9128a14e2145db15005822006b9fbba07c6a3685b9c1e40c3d853b852c79f174114f1428fd5e81f46e047474565fea72e9f2d5c5cdaca081cc5112c45c72836ee134797156371f0367c88168235daf7dc8f71248f2b50445443f8ee5c0637fec98c168d796c32c211de9fc677bbc8c6225eb4c5fffb4c432057611180b740c5bbedfbab9644a55e8aef62c13be2
+4bacc387254401daa2d7f92b3ce4c40c0996d0c4266e0871a856812512e09cfa
+Ciphertext: 6f6856aa42bbe0d5d53074f16d11c0043acc8c4c2e436aacc95ea7dd1830cfd6d7510d776c92248cbdaef2a80ad3f31dba592423070776f78fb63fc1149d7d779b41e9c8a55466271d38ac93da2166696606bcf88685fbd45d9599812fb3c72e806ce9bb2e1143eaac070b89b17f5118ae1dc2a21892b79220205404924549258e2c97defd334009503d515895137fdb72d4d9b2a1a27f9ef8c9b0a286e9d6a60319bccfb82b1320752ca279026a05887a69ae4cc9cf77ec397621b522c5a3464adcd87f84bd08dca6abeb14de81f58006640ae3960bf341de9e21291a4c77b2c3b2df0cdf40747778d4284158c0528e84b853d4775dbde7050d4187ce54cc3729b6b4e0cc4f0d81b3129fb3e77e5f33d1100dc4258f9df1f52110b93f9384955f42843817781106af551dcfc25f65ebb613d3c49f38d9c8928cf98f79106552419006e0a80090fbf96521e24c3553ba51fbc1843585cc0d712ed84f7b8332073058d9b4a3f6864852d75ccbbb217db6cb1e3310ffdd94ea2374e60a8cacc206c7361cb43b22a9342fe0597888b140c8e793d4948f71b9ec8f60dbf53065cc7e219e5ea03b35e2a948e25efa3a2145603927b7da4ee157112e34d9d6cd6964bceae467f7cb9be4b75a2e016358d5cd93482039cd54708d5350239f352fe6dbbcd72694bef094c14737e650c5bcde7a8d29d0b47a81dbaa969cf9a6a427db5b7522ed9ec6be6b1e39866a271c17079eed31e005fa96ce071d2a36107d3c3ffc1ab1c0389831f4ad7939cea3fb8e6547b883112dc285e482b62281972b44a40cce5777c088a5232957bae25497c2f4876db7aa12ea84f21ca9ad846c4b65a935e368df2d30c469b51373b5fab2bab763a74a4cffa0ffbe1e9541a039b685cd27794bd5e51892faf8e429e706f5d33d77c45351a12c8c2c3b7a81a6abb7c4a074732d9bc938f232200946025c4e3cefca27d06b09b02a282f1b7f18bb87760f36e671873fd78f192b8eb726dcdb42338511f4adf07e82dc08feb37ef059c3c8f59b7914d6ac848ff513c935a2754197081cfd4098340b29248ccef7be7fc1bb36d8013ed7f284d099a3d0608264e2133b0e3aa78449322df5230f85e0a724920f5465161d88db60a19ea1f506f68f0d732c1865b5d68b74aaaf9dc614a19a04a330e8fcff3505b15f3fe061b8b3f26576f307f0cb449fb2ae0478dcfbe5d680d064f14d591b547ee4b1b4c824fdd1fa37cb4e1d91151592f64a08e210846c620acd8994fc3b331124d2f452ef480ba9558821cc074cc8f33371ee4bcf1affe9cd993c30c84c54ea4a1249702bba93541da93d982faba7f74476e3a5a69352767ac32227a80262a57856e48bc9cc27ce6fd9b51fc5b4dcbe0a655084ebbe4f31c5ce879c0fdcc58f792504f749f8a4ce6ff062d0d5c8c8a465dd3e88f144c6fde13c6c230b3c474fea0df255ae4b68d9c6ec81c562270084255436ee143cb8e1517e47b95cfe38883f954857fb3133dd1a990f6973091bed0fa36ca1db21b84c4f9ded2d1a90f5e487630a45fe3425cde2eab8812534dada3910f3761e269a6b93f32c26765b014855e475831ebab7ab2d7927c423f79948516d80dcb9d7f5f3301535ff0e91c5a57a52f733a589c7b841f6632a25b2f24d86452dd4f3dc6418bdb042fac34c84de0d274c6546d3ba5d6ddd846f442a6a123a86d5fe163bda33dd0eaca1fa431d5f38798265ff1b04a2d4b06d4a17a67e55c13dd237e7a8e3c7575af8c5941e0cdcb901f2ad24a7de26fadc2adb0e84f7698e7cc7e86dfdec71c64564714163a63a32eb0f7e45784335bc0df5174079eb3d57b261ac7845644916178f20c21af183671fb624b47d95dcb1e4ba8142ae16c47702bee5071003a58ae119954165fa95d52822ec41edc170c2fedffdae63c1272fcf2255c6e99a4b691306f3d860c561b571b2b071178d38ffb2e3fb410d02c72018040a6c828f7b6360c759db14b1a4549c6565a5aea76c4e3382a0ad827ed232a897195ea0caab3fa86696d9df35f90b6ffbf2e513e8cc10f7568e898a2fd3029afd858b7f2da4baad30068395cd22faa80de813f0ebbeceb2fb1601900be19bef3eb88c9186c6c166dc3088ab131f359f3ce620d2caa1ae678641f5103efc284ddad2c299d5404c4a4a234ae571f4ae9e0edfe3634c0b0982b5730acdad7c5b25281bc5019d83e8ac
+Shared Secret B: a13fbdd57bd31e93e6b70ff58b08e87e004e129415dfde3ebe33773992a00ad9
+Shared Secret A: a13fbdd57bd31e93e6b70ff58b08e87e004e129415dfde3ebe33773992a00ad9
+ab871f94d47180604050c7248ffe39fe871062ab92b77c26b9de3a693ce990f93cc4670bf69b48b2e2f0349f534e89e13876d122ff1c03a11c66bac498bab29286072ab0b5cb50565603d5e0588566a754a681353f2029b97ee39a149207a772b82993b9e6d49eee00043594b428e67f4bde89c95e09037ee2d5aed2a06b0a2f9cbebc6452078b08b2fe55e79ca0e51e8823fd63cf98535db33ae37818abaec2ebae381b894ce0e6130de38e8a032a6771a71ff3973dc37d35ceb93d4b7ce35c04b88b3a511cb8101563ad3ac4a71d1587656b21614b53721a75ba9ae086afdb3b81a9e82926076773650b05481b611d47edf5d8a5a2547e4d614c8fedd3d7cc7984390f0178c69563185637741e2eb4d6948753c0e27cca92c1b97c113ec99a2cbc9bd5268065a1a44dee1b04187a8e95371b9bd009e4bf20824ff2e23933b68006caf8513c4981a42f56578829f3591a4e4dfbffc2c6867aa3d22422ba930381d3248d8a0932198a484510de29633992c2542feaf79e295cb9beffb02a504d21ae6cda19a42abab85edff3730c504c6933db2a2c37bacaaac88c6e8acea04c6d233e2d639e3ed0405a64a81de7f1861b6e58e9e2ef3255acda4a413baebac87b40bea340683dd7c67f21cac9b3c6e5abee4e20e03834526b30727e60eb202ecf82b51aa7c6a8b646302dc48e58384f4fdd96aa80fde2217a1c774d722adc159c17fe393ab59e28f730c48dd1fb3f5889f10b896c44f53f288f54f41008626ddb023890fc777fb03d6cd25299e450b882cedc55a6970cf59a775d3a43dee2b620e8a770bb6fd87db241e4f51bc8789712822b852cfb1a9e41e0099f5f9f477b4c3ec872323ec273a45b47defd93e2e5db24ce1c330317f4a7836104f5803d8dda6399ae766dbb5e25dd1fe96974e08ba045ea7a14680b6aae1d9910f2a6c76ae9c626e904f75188f6b1b2aec0f7ff7c4a8efcebee005bd0949c16615546ba454dff3a2300b4b5bec45c1dd2fcb30b5df03d1d4fd329f4afd3e7d01260bcab90bd8f9a452bd31adce3469e5a2ca184f2804b9308bb813f7de215c159cf6f1ec08384d10658d2e315ce5c0bd5fc7f83d9727c3f8b0d2eef12fda1f0e6dc0c37495ec2bcd2ec06992b75020753cbf87dbdfb6a7000abde4716912642f53d0174d6f4c061db51bcdea40827f7f88bb90276270a36ccac263fb951b47ab97a4853fc52336ba5db5be18f16153d373b36aa25a97c55ed76ae8b6074c02c2c8bb696a3440b2bf80efc4c497d16bccfbb37253ec3a9a7c9328f82851ff4bfeafb92563972760957f5eb7e52d70a74395b5436215013ff27429725943bd24efc96dabee95f667ab0d3569c6f6fd0bc33df1b7d4c242edfc79dee49749973834675ef3e17a1ca7ee3387a719b19eca8604c827709346276ea3f58623bdd2c94b0b1f5651d66df3f7aec1e7fbd2c670621b9fd93cd5edceea2a0a748c5bb270a04413bb0fa83b5146be4e3c5c94ae265c739ee22e9311abdbfe4f19673633092d38955834b19e103b076fa12ab3bf17bac81f289d41d1efe0dc28a360ec5795e2c0dcfc37ac9beadaad51ece3e132c42f1673cacc30424ef5e9f5b1f720dfe6566d3ba20ae290dceec1c0f639f59b4b16eaedd031641f7ff77b8e2135b3b3f3c431e51d11e9c60a432bd52a78e5129ae31260edaa75f7cad9a652ffd8fcc637ca4f3f9a56547aa8de4d31a8a4b958bd9d2aa389dc500280b9b9733ab972a997f4424d864ee007cdf808fcb78b02fedf21ed3f685747078033b9c55ff6551572a4c78cf85bfbdb456fc150e4ce7740fc74ec1dc1fff7d7831a4a34bfb600c290ef0954fdb492155038a1eb409957f5b7a2c42d6d396d56804e3592bcb47d3715a8702fefe59aa6596d4fc9496ced8a24b9a1dfe6a7135c3f442f32af9144d12cc83fb797608e5a8fd0bdb7f43ef8ef788799356c2a93fab97285e3a7b5426cd67554646cbd683e1e4c5d18129a331214a65d4a67e5e0a5436272cd3e62963e015aaf8a1e4f1cc3834c29707ac084a66d975984ebb12ed4080ea14607a5bb726af2b1251d40fc80a537946322b017bd7eceda5bd0234642d9d785cd74f98d9a71ede8c4692d6de301771901f8f08f4233df6942cf2ed94693468182e63ff95f02ed7804d1b36a90b65274d3db109f5c70eb78351cecb6ea95d2be94892a4b67b944647af12e0
+Pseudorandom shared Secret A: b2ecd1db3dea40ba377e890219f599dda7720625656ad0b992f037f0aed2376b
+399b72c09035199e5d5bb60b173923ecc694c85ca34da3a9a8fa5ff25ecea6c6da9d92f5324f316e599470c4a5a34956f438ee9a5c927aa2d10b177ce217d5d5
+Public Key: 8362af64c550053ba9635b417fb07babb78325bc1ff90c04c52b7f403a07ec9823b46bb0af42b29f88aa4f0b5e0b766531415035e9c35a7514178460fed8b2f98bb3300a2979268e82f5afe7f46d77f0709e56494ba805912025afbc7eaca99d62d3337175481f92c04563b284827442f10eb458c359809acc01cfdbc46e77199b8c44691ba254d9d9400b5c599bb193f9b7cb3428146bf2664dca6aaad67a4f943a2b173df044935f489cc5563f77d205d034878eb8503d44976e525b7b79846105462f5c2fed0985057aca4e501fd1894c53889f89f69d87554a85395f8ec809cec8a096e5a422696efe120b55d99a5dac2d25684035b63443c075c3f48213a129e70cc3d6702028065d0a9acad42a0bc9b5bccb47a064d33b2fda1ee953c79d5aad418103e67b7014b124b21938d3313d57f9c0351c142ac6c5eaf5705536074e044777d415725708c7402841187427372a383c988e62583cb010f1bb14a0dc7ba3099c4c0a8986b120ac615f9453837e49b6303590ecc6714ae9705bcbc408250762953887c5a6e39c0158e23c8fa291df721ff1d59b07b00d1010549a21028fc26faf4479179963299104b601b3411a57271b58ffc1568859c6a805b94cb1910b68a5fa43bb91f240920a3affe7572262b5c1c435bf96762b32a22cfc208207b4f42b59528ca1f86a5a10f6044c032f4c64acaae2957ff79546055447506a4330819286bd71ea5ec3196cf21502df061b7cb85e0f7726bc693134c57fe4e53ef7711ee7b0534ee53764c79725731fc333b2cbc52a836c7a9fbb530144ca9fcbabcdd74ff5f10881179ee657c62e919c1c9192605aa128c72a9b7cbd9ec52a0eea64c5e0adcdda9388b1bdb6060f099bbf83c7acd1717a81789487eb25c777668a88c44e7812ede2a9a46c9cf5f47733f7a0e31ac2da297aa0676490cb2aa6359a61f994e5d570cf76aa6da7b3ccac1c3f875fad2aaab4d8ce76c2096fd8240c0bd06c03589a360f6015127135463e357c933aab27f789b5a189b4425cfdd0ac25f647c7f8993ac551be89cf028ba542f18216ab99a6d73faf03b6a83384b8dcc4fb563089b36a8113b039c0288e692e613b9b0b316ba736796389aa1676017968150622a476eb4967d83ca0cb9839a08cac34abc003bc3c7aa2779c649230078e546496b170cfc27fdb10bb3ff48b1811281523c2ece329c32a38bc8b1d4182c3f7989e8d180a1d5584d755817cc1beccf92c8dd74f0f9c19c3e82969515e72245649d14965408287726b2c450f714a341cec0e8f646538f63a869c25cc418146b76b558254ed390067dc881b6322d0611e805b8584cc834d88937ab889aa08d024994306d385d25c71f2d08517f1c104d255b7e65127e9cf6e858cd6346778e69950b8c0a7957c4ce056f2556501f018a38496365350aac2085fa35e6d29b7fe105e20767e45b51f823c1aa2726cb570b006569d67a16c8ae01a27d4084d614fc5887052f129ddfb27c2515bc0840398514cd4584fa560b935a918fbda597af1493756c5889150b5e0814783cb98c368a5e2738ab5be8684088b71507f0ca49d8c7b029b11da92801db451da0467e6a0cef4f5aa5f9ca6ebeb679814a0d82a90028b7545223578a15a0954b1f8d91212d23b9e92303aa0554078872f8b7b101b91b47432a6fbaddaf4604796790fe735a054717528101ac8ac01b35f477581c66278277049eda4b8808c180baa7a1df276f4e413322a554835b4a6aa862f32b09ff54a53f76c605531b088b587b34e8a033a6aa9440b98cbcb852f946a0d42391da551092e8a1ee4c68ce50244f13093fcf1ace4993685133f3d858a64841ffa663d8cba1c73260947e9333df5ac02152890a60e6e2799121ba49608a8a7ac51a7916d7b9158a4c16f4874362373b80ee14e9eca5340973273387f283b0dec2101a3a013547968457c0e0291228016cfeb9890547128207a142e989407299b40559790b5981126b1bc36808ee6b452a6050dfb9e372103de812352e8ba4c3a1e3c71006980591d524ee719bb98c4a769db3abc494bf728797eb033e288937e5c9c4ae22394074206a57ad04109d248a7a9004078a53757f75bfed21b2322600458b2cdec4602681cce98254be955103c164352b52634baee972dc363500ddca7d6671fd7dddd1cbdf66ba9505d8663e21a2211550c9c15b584c3ad30bd
+Secret Key: c34c3606e312acb47a1038a22b709ba53686fa29c32cb5047308455940a453114c6eb86e3b970fbd752bb49a5156d245683cb9453480d88949bf55c916093cf242a71e2a61c21756ae775a4484a065957a7847bec167ab2d8494e8f36e0e1892e85ca3536a4113f915fc7a63d55114b3367c4e7a989a79acd5848d4fd657a71b5045c95a287090a8369d4b98a7e0560ef66c1de6670bc2e3518a0c1da52b185d45c1dd15ce61c6793f708932d684b19895e385c92acb41ca03354420134ff859356307c2250d91bb37ca25297aa3b96cc10041c261002d339a3a2d46010a3e932dc6b7c5acb59372b6ba78464cb80385ed443b4eac2c22862f967900a748c178119469e535d4a422aa602d2e7742ecb70d12a91e6f03a99a689c935ac24a55c28ac0b0f1c7a0a0b55e239312e2b43b19fa3f18724ba9bcc2e8e2b04253055a5857e8b122c9cb9fa4013a4d7652c07a6de1747ec517787b4478f6b0982942818c44bfb2950d56367ec7833c93d0cd8dda9aba591ec378a95e5b244f431a220142b4fb1dc24a8e37457a0d480534206f4770b2a0fc5697aababfc41a0141697a4b638e15325b8020737910901702f12145bc498692019c1fc94e38341fda25a69e8bcfcc417a69491528877c212aa1225841704215faa7cf834b772469726877a39422413f35a006e16bc9ab37ca656729665fddec4181b60712da0306f95f6c60039594c744046e452584e7051653c3b70df33bc036361d564cc0c5269df5cee84c66f4dc27c5552f9544b87b2c48c51584e0d56e360453916897da607a79548cda79b928c3774645987fe09bb2c78217aca1e5488f76d94c796c5ee57914f00168afc9ba703c5f3d338ede6240ad56c76be43074034403aa0f0cf08eb99019b6903b3b6a6dc237295ee3c7e1f776bf6a4b68047e06b9206985ce5d9b48559c02eb1c7db7368147a43930a592e4988e5b81484c80c16ed624a3ca5ae87107fe55b006354f5dcc23d8ccbea44a226d87ce20f278caca68b10438fa4368f15071cb44a789f341da38a04e0b5b2949936e44ccd79620851c63e5c758f225434f9abec2333705d75a0f1c191896c5478b84134184c4059cfd9a7955e2ceed239d0434043d683e993a15a793cafcc2245eaa0d7144c2298b731df4c712604cd7021fd2f01d7d22a49912b790905df4c85747933918e90a58d2981b9679e4937d7f016d9841a78b57c056bc064b5362c8aa0c188ba6a48c8f36f45fe4781922e1378cf472e331747489bfc1b849b60c1c4917b458867ba1068dd4b9474cb41aebf23564d2531db9672126784b53740c55972074b2b819b74e96a91735bad17317071c328651324be724e2c06a364bbada600c28e5b85eb533d88160fd0460e6b209a3f68db7bc3f38b1b8aa85337bb6ae985a4a7819a959e6aa0a61ca5f50c43f1c5aa408443db0942d531b457ba5005c4b5b474cb4f02aa075c14961ce453151b05a98c6b483a7b1788b7278e375c941f7a04b124aa5544d9b28746ac42414635be27b93fe3b655db01cfc5201678c728b531db932bf2b84aa684917567c132f570b72f316bb7a183ff1b1e30282fd34131c75325e980a89324268d460b530a2803bba7686278acc4753235220b784c86120a82b5d4288046bd525942a9f4db31181fc4e3db7a4aba4420ec8ba89449e96c23ceaf29a5decaaf3987422daa786c7c34e413799a66289804cc68606afb81154f45a93007343470d4f3cb5ce0c4393507f69751fcd83381311ac22a8174a19b36c3c80e3808ee03c1b91b383a34a3be6940b5cf32dd77484111c73a31635207941c1c994ff8cc801678eca8c842a67961aa841f7075513da79b058b4f8d665421a59e3207f2d5b94c057b572771c6fb9b320c98b25587350e16c2871823d3686c5a811fc0b4c8f0ab0f2326c4aeb48d86c5015c9474d7296a5e51b98fc99de7a9e6cd014ba734529b004cdb02de59a53229b9aa74cc0dbd5516515bce26cadbb6469358811392c45e653a052e8bbab9983a61b9eb181199e305f78624a577264b6cacfe65b1e2c6237c7d397278a044dcb4624f399a99a3a2cdc3cd3329fcc14aac63a279f23828ca63709256f9de653ba2570051cbbca8105808a65b3e1014cb839c6138b19eabe40ea68a3dc251201398362af64c550053ba9635b417fb07babb78325bc1ff90c04c52b7f403a07ec9823b46bb0af42b29f88aa4f0b5e0b766531415035e9c35a7514178460fed8b2f98bb3300a2979268e82f5afe7f46d77f0709e56494ba805912025afbc7eaca99d62d3337175481f92c04563b284827442f10eb458c359809acc01cfdbc46e77199b8c44691ba254d9d9400b5c599bb193f9b7cb3428146bf2664dca6aaad67a4f943a2b173df044935f489cc5563f77d205d034878eb8503d44976e525b7b79846105462f5c2fed0985057aca4e501fd1894c53889f89f69d87554a85395f8ec809cec8a096e5a422696efe120b55d99a5dac2d25684035b63443c075c3f48213a129e70cc3d6702028065d0a9acad42a0bc9b5bccb47a064d33b2fda1ee953c79d5aad418103e67b7014b124b21938d3313d57f9c0351c142ac6c5eaf5705536074e044777d415725708c7402841187427372a383c988e62583cb010f1bb14a0dc7ba3099c4c0a8986b120ac615f9453837e49b6303590ecc6714ae9705bcbc408250762953887c5a6e39c0158e23c8fa291df721ff1d59b07b00d1010549a21028fc26faf4479179963299104b601b3411a57271b58ffc1568859c6a805b94cb1910b68a5fa43bb91f240920a3affe7572262b5c1c435bf96762b32a22cfc208207b4f42b59528ca1f86a5a10f6044c032f4c64acaae2957ff79546055447506a4330819286bd71ea5ec3196cf21502df061b7cb85e0f7726bc693134c57fe4e53ef7711ee7b0534ee53764c79725731fc333b2cbc52a836c7a9fbb530144ca9fcbabcdd74ff5f10881179ee657c62e919c1c9192605aa128c72a9b7cbd9ec52a0eea64c5e0adcdda9388b1bdb6060f099bbf83c7acd1717a81789487eb25c777668a88c44e7812ede2a9a46c9cf5f47733f7a0e31ac2da297aa0676490cb2aa6359a61f994e5d570cf76aa6da7b3ccac1c3f875fad2aaab4d8ce76c2096fd8240c0bd06c03589a360f6015127135463e357c933aab27f789b5a189b4425cfdd0ac25f647c7f8993ac551be89cf028ba542f18216ab99a6d73faf03b6a83384b8dcc4fb563089b36a8113b039c0288e692e613b9b0b316ba736796389aa1676017968150622a476eb4967d83ca0cb9839a08cac34abc003bc3c7aa2779c649230078e546496b170cfc27fdb10bb3ff48b1811281523c2ece329c32a38bc8b1d4182c3f7989e8d180a1d5584d755817cc1beccf92c8dd74f0f9c19c3e82969515e72245649d14965408287726b2c450f714a341cec0e8f646538f63a869c25cc418146b76b558254ed390067dc881b6322d0611e805b8584cc834d88937ab889aa08d024994306d385d25c71f2d08517f1c104d255b7e65127e9cf6e858cd6346778e69950b8c0a7957c4ce056f2556501f018a38496365350aac2085fa35e6d29b7fe105e20767e45b51f823c1aa2726cb570b006569d67a16c8ae01a27d4084d614fc5887052f129ddfb27c2515bc0840398514cd4584fa560b935a918fbda597af1493756c5889150b5e0814783cb98c368a5e2738ab5be8684088b71507f0ca49d8c7b029b11da92801db451da0467e6a0cef4f5aa5f9ca6ebeb679814a0d82a90028b7545223578a15a0954b1f8d91212d23b9e92303aa0554078872f8b7b101b91b47432a6fbaddaf4604796790fe735a054717528101ac8ac01b35f477581c66278277049eda4b8808c180baa7a1df276f4e413322a554835b4a6aa862f32b09ff54a53f76c605531b088b587b34e8a033a6aa9440b98cbcb852f946a0d42391da551092e8a1ee4c68ce50244f13093fcf1ace4993685133f3d858a64841ffa663d8cba1c73260947e9333df5ac02152890a60e6e2799121ba49608a8a7ac51a7916d7b9158a4c16f4874362373b80ee14e9eca5340973273387f283b0dec2101a3a013547968457c0e0291228016cfeb9890547128207a142e989407299b40559790b5981126b1bc36808ee6b452a6050dfb9e372103de812352e8ba4c3a1e3c71006980591d524ee719bb98c4a769db3abc494bf728797eb033e288937e5c9c4ae22394074206a57ad04109d248a7a9004078a53757f75bfed21b2322600458b2cdec4602681cce98254be955103c164352b52634baee972dc363500ddca7d6671fd7dddd1cbdf66ba9505d8663e21a2211550c9c15b584c3ad30bdacde0b3d4e7a74c7cd20cc2a4fc0ff04b9e4ca783ef3c40585e9baf9c80143dada9d92f5324f316e599470c4a5a34956f438ee9a5c927aa2d10b177ce217d5d5
+4fd6acc0aa6130a8d255de561fe37784c345993079151856e69c44fd3577224e
+Ciphertext: 461748f887eff2f19295db496b0aa3a163d9fbe32102200b65fd32deefefac1b9ece7c42bdae5dbbb5513b40995c68a6013e35f599f4113b9e558481ba6d3bbfd69665612fb9851b5ea1f194a7b60508077101ae86a5854f9bdabadf68907db3ab92f26111604df69a6999df4e10d53af862e7a892eb536a6c928db6bea428af0bbfec229e2e0bdf620a6364e77ceafcf5baf563c017f8fae013e8cba83955f65e2c6df035293c74adee37fb5ff8179ce893d149e117bd5b405f26b4c849f59f832e08b15c6cceaa94997ba78b9acccfca20422a69f6cb43d6a3cdd1fc56c9b0bc6e268a741088f98a7d59549b629bc67d4d8740d5a9ae5cc78afb185e3422537cf1815bbf0d315add16426970f5999e3e6dba2efb900640e678fbff18a70c9ed65a611b593f8e539bb7b4fab603951b025d538ee09f9a11d57068213c853d8336fbf1b5083aca323a946707a8c798f9a78e61c0a50874bd0635d15137c6967ef35d722710831d6144dfd742dbea8a969765f1a47fe9f980d8534cfe919479fb28d542440ee22613c386f2ddb415516a29e24709cac7bbfb6eb3d38dfa1442001f93b4e30c8445f4f32768ec2f158a80a1d90907fb9f2d1e44bfebb8e341734d42cdf903c3d3a1b8c880112a2dfa7e5c2f1291f89e08f3037f1076a5ffe808c58c619c01c164b612acce9d1f2f6e6a79b73cdace421c556deae8fa603a9b9c5c5be93acfcda3db8f117b9182bc98afd23750d503ae32739b55bc5a6c7403736666143872ef5dbe571848279c7b192b67d145643eac40c2ef8e2a47e29bee9e0d26800adbf62fa8520fc9f2c8b3c1792919bd87ade9efb903ae950cb349a676b8c497e45d248ab9aa635741ce1499412892ab9c99c3c3fe892a9ec8afb35742fc358292214ef55b739fece9ec9bd011d0cf1dcb508f4801832dff86784b226a8df2be179dfed612b2239adad2c1c8a419ae838fd04d889f600408e65df2976eeab0059e1d8fde4f98e22a28eb0c106fa53f609a2eb626186b0be68aaadd0a96d3afc1483996a22a0e8684516b7f40094e21d6ff214e7510024e321e8a87cc95d390548572f4124c973f34f705b2c43d7e2de63b7e940c1149c6af057eed395758c455f9f7f28abc07399106750f9f5eaefc9596f87667fe409e4b00baa8f2f90d7376d3ddc323ce289dcb400b5b5146b094181dd65c1c42036dfb043bcb254aa9a937708b6c55ec2bd3497ecec637b7e341aaa91a92822d1261aa60f17061fc4b9a4ad232ef33916b3f73048c0fcdab145361301da9de0365c300a6216489f22893c8a8a394689779d950e219dcaed0e8718f9135d66bd58e2171ef99d0df687c7248a03aee81bfe3182795848a39ee40f7b453019ffbdd45f73b6f23385921beff6007cc857a55b6c83c26bed87f87ca63009822367df9d09899927f61119062934e2bbbbd3894717fd69a110bf35b197fe2ffdb46e3fad439365d07c16704bb1c06f9694121fc35fade574e55a1bbb1c288c343f6720e3e026ea33f2dc088108fddb29c7ee26d64133a1f48ae77635bb138d309930a8a300e079e725c29696806984d3ae0ac99ba76399601fbf7adbb022401ba6b69c093de0d6ad2a15558605423a8cec55f6a53ae7355fdd1cbc70a6f393ada4c011211c24dbb9bf377c7515f3f8d42bc2c0d6733e66999d0e327780dc673f9a5b978cc9670163c37a70423f4382050a9b95fbe1d0bc80a5fc339f515d9317cdfd1554b0f38eb7c6daca1a0ec95250d599f65a547c7436f5f2a5dbc916d7e6c4a2095fa7676a15a06787f58f85422f33eb4c04fe93a96704b0224c17076de9a6884da665d2c7f9176185522501f158ccdf42532e8c12975a16102a5696a66029a125aef812abc745b742022fb23c332f15ca6a4c2793e7c91afcae50219f6374c5cd61883bd51f7fe9e16f6d3d0b8383cbca7bc64637b473c0c75ba2d5865576abc6b27e8dc6d2a0d044e4793cc8f6771cd2dbbd20610d4123842a4e80e34a013b733b18c97e3b742b0341ec77a3b4c39b6b3a900f5fcb75dc34834e259e48f4b6d431cd3e9e4a7b50f48598f0a04a4ae4e8a3529585f02bc1c5118f49545a4f23eb97f19dcd3f2b7bb92d47fd38d74316634bc039c15694d131f192d93c8cba68cd32ff37a805920b367398972aafb6d06039aa9d1d4ad241d2f88d581570f550a0d85c16c1a9abe547dd3
+Shared Secret B: 8a1f26bb780581276bbc9badaaeb95807bf8851e7a6d72e76846f81759a9d28b
+Shared Secret A: 8a1f26bb780581276bbc9badaaeb95807bf8851e7a6d72e76846f81759a9d28b
+bb2e2806ad05ab7b6969f58fa5924d2016f779c68eb17a4357a3f96433f8f1e8a1dc041d26d7fee3550991e2bea90752ac6578e6de203858a0137616028b2aac04f8ad44a1d09fc0df6a21f2e39e2dca1fcd05f1b13e51a135266a3b82689d95885e7e22b8417002abf25874ef908aaa35254bc6ed189d045a1e780208e0ddadef45754b5f17d072c42aeae1eacae45820e8912efb00c28d9670409aa8cccf3c1cb971c4824a97f9d44c602c9c698f559b34186bfe0a71586d0fffb52f19d7b3bb540e3a0fe9f8b66020f856592db2a4330fa0323264d484b96d7549703d889f5438eca8e187a47be84429049e6bd8a6035d9882b5f03b216f9cc829ef8a162111be5fa6a18d4232e3afde3f128583f5da60eed7355f922b526f2a22a8dcb061b36a1e7291f09d5a5ed3ba6ddde539ccc179723b442cf31658aec41a961b21c50a87e9ee7a8a6f5934c55958a6a656373c94e0a9d0102d49f2c3e9442e46af98b6f1a61bce7b056caeb6d9aefa2e405a16ba8d9ff23a2be67ea7ee67e5d52a7479f8d860257b1b988f5ce01f6bf5c1d7e3edc994c2bca20768cd67b1ecc90fe6728e819979fa8763b68e1ff8e59a98455a10a8bc5a3e4347f4b224a76bd1d75a48b642b05ec02385caa40104181f26db72a7f9193706c73f60370631f28379dee319cc5bad82270a0f34773f31b4d887235a08930dccdd3b9c04eab5467491de1dc985ba691368235fd22a62cd9a0404f556c6c07011101af4b4e97b4b8947b118522296589094f87d86d7f4980af1365c1c29d98f5acf4492270cce5fe8ffa2a37564e3d6a7cde6e5a8954748df0b8f29711d01642579358eed54a09f243dce4e3392d3ce2b9beb0dab97c29e24e236f1a99e05de7b53fba7e1aafc4358d14ba585f21172697699ed4d0aca12b382f9f0f207f1308319a7ca897aeb76bb63bc9d068119fc85dd0f3ea03aae9eb7b9f45fb13a815b1a402be2c6eb91373c94aba5fd1aea879f034e0c63ecf7296e6777fd7322d35c6cebf5bf1a78fc0f4d34667edc18a9e0d41978fd411ea0a33af60e3e6635ce5fb5247d21e3d90f2b1c8b19426948023c223ab240a644802f34b6cad3e9ed16cfc4ac1a0a1686d796fe6a67c4b9669b9a859945034924a645d33fafebcf247965fb7e9dc7c649e276153f826f034425c9242c57d0abc9eac83ccbc527bcb2359859b9b744ae59bf08eee20a40afee8b895a42f36cd328c550548696a54361d7525efaf99f12be8eebfc33ff928559620c924cdc58c362d99c6b277eec9273026f9c9a6ec105c68d1ef48d12d8ff23a3dcc48ac868d4c721f33418f75b593c7f7bb036bbc26b71a4a080a50c01e97b68db1b16c5de4fc02d2140782b9e643d6a19dc71466a9c429ac9b3bfd3ee4f0cc356d02e95c39a10d46a048516e328e56b2a8f0dc269d85b9cd509f5c5a8ea7c9830536aa24b95e43ca95aefbb565310b00ccdb8f3bd61a815f7f375536a535fe4285b7235ab75e5ee882669a579d62e3f38f926a68bbe99acd962ba1ebf4c5a41834204d893b0421d5e1a5c15ec5421228971aa39d3bf1264752a1aa78fd89f7a6a0d3870d3c08167d7fdd165e640e550f7944afb4e764e77f6bc61e3b95bc858f331acfbda9f0b52d97b63b1e02a633673a2fbc7ac7167c70c1450a30c48a53751d5b52bf9df54da2fef9d54e102aab27ef7e3a87c094cfc60215544b53e83a18ff9b38ae19474b87a7e78dbb0c745a82202c08614e34be295dce1a7cab503e7f34629107f66343c33aa2b4564a0c82549957f5a11e1684daffc63e07720b75d0d49a73921efa7c6c2be36b3fa07f1be2eb956b091491e151259cf9f47ac22797a245099735b6fb69031a9ac5b545009c7902e4383a42b2a64333e529fced3e6e71742fff74b6b9077f06043774ffc1f22335e884437c857daa4a2af3e4730c6361e6ed01f393659b1312d3a60fcd678041a728a0093667713963f174e27e429f292afe69a3a2429706e71522682afb81b3e17d7cfed68cbf8e991d8049f010369d3e9a755852cd4fdb5ebdeed24c9a4e809eec4d38faff3acc134ac4b0281f3623029006f1aba7b8b18d13efb72bad223be18304ad908db7190c13063b4267224063fd295c43ef72bde37c20b4083420dd077899f96f01654d8b73b0a84efe8792987c37b9e4ef1ef3bc9937758006b345257a64a6535d0edbf07a0
+Pseudorandom shared Secret A: febac48f12d38bfca28b710854a6bce7a38d43a1710a6f1885623047abe04d25
+5dcfb0f78699c38891b0d1768005d72fc64787a614b08b74b65272bfbaf53e1cc652fc2b96f857aab82f279d502df54709685b0374e67811c7b49d4eb15b1c03
+Public Key: 5ee86e3002c7fd40aa28861a7391005160127a7b19b6cc5fe88cac46077a1e6154bb5c1617face436744bdb78fc1702f7fd332344bac88c06d85401930c354db16c0e0043719a89e95211d0a951c0354278c788511b3b972c167b04bba4bc59e93311d772a24c21b0f17aabfd3a26262b07eb5360636b56ff78c9d350453c161645f7b053f5c07fcd64829f0c7bf9397e9909781f7995b2a4b40c36013260b62e11fd1f85f4f950a74db5f737081e8219614340845aa6118bcc6d5374657aaad4ec39bba90901014c1401821ca1a18194b0081f203b5da4331bc9e5f6151c789af33a7382dc09f724a3d7b56009b895e6a746b6b8b81791014b70b3195151a6bd66f12962f08331d717475f5c848b076af504b2152a4a8a0a943a718bc4a19b492098e32caaa4b76ba611c9d533a715f626fb767c9fbd0b222e5ac29459f431b0bb055677f493552d927b229387bc43c84ea9665a38251bc062959665fab27022b8993822a2ff8bd6d3017f9d6b3319b9a6368be3b8a4f2d226c75bc6c6d0b48761b87c76b2de5fa28bd11bfbb5191e4845451532bde5ba1f6c396728b106ff29284898b86ac3913a05662aa641176b2c96b49308229306a13ee70a8980800c01b2700115446f066dfc1b27b5c28c1408d2107caaa0b5ddae6ab28b8b7f847103407179df22ad5a319d4b156b6ecbe92cb8ee972b6474b73713bcfadc57ee7e9bd4c038d08610e0ff18e3f6166771880ef050e752a2e6fe02c8a67b1ee3c07fbb5bd2b9c4188649c93976d104748477ab6944462fc23aec01039f780932eb602149bb9edc51db4d09db7346902c5cc8a914276721ee9a923ca7c29838639f54c9110192b45d9848d29c22d1c1a6de875baa113098c54b97171efe846303809cdb30f478499a8aa6a10d2c54cd1b4a93cc8b7d3848f1ac4c0b1afb96154a3d38445fab43c606f5fc0147955ae1c6b6756c6968e92225e9a19436955b0157eb66661a671c6edb680b7b2290d1b4893aa82ab67246dd229bdab04befc5122b7a459180a4d734b447b932c443554177d22b25847181f22b51977c33d7d06c943322fc4f80418193d6f297dac3c0b6711c7ff0b36cc54c6e8aa9289bb726535c24c8c8835997d37a597c4ba491f063ea6ca0e98a096dd508d65567cbff2449997ac5330363ddb1a9c4a2c4c1cb293d1041a9a00d8a24900825218e3990f8719d08c353ae1588f0c096cca7e89c2a264632e21f2a952fbc72cf4aa83f75388426c13d90784c873161bc1dbe240104507b3864d1ba2007ea904784b33cf868d07b43c4e0a33b7fc99bc8431bc980068808e6b23bde0f65668eb8d1d85b3e77bb7e0203a8e403d69514177741889484d7506ac2dc7c4e1121809679f253799689c4423d37049447d43acb137459ba9a9387db15e69825fbd44ae1e286eaa35667de6143feb4ef707c574e007c5d61066a2741cd1544c8a446297b6fdaa9c4a32c528c73a142c13b468bb94bbc847bbb68a3a57a62985d2b8112aa56edfb65c6f16217b6591bf1700e7922cfe360822200d9ce0165b3279f4416847e8c5b1650ff42cbcd7453178d24dbf7299c09c1a1ef8ab23d393c54493f3fa868d8463483b640185a1d1015bb00005e57a6c8ad9612c22bbd5288100ab78dbbb14dac71fe4334e9388c7aa3018a71454cd3a688147826822c34e0b8163ba90843a4489116f9f714495255cb5985e93497fb7e5891f4c513a0093d2008fe88c13debc6b93728e6961bd3ab616afd2bb996258c2d59b3255694ed759ed9cba40b5817234c208d598ab54b4f402be53240919414216e19650a9a5a1d635ef9920adab11fe634a7e0cc6a6bb7ff5834edc93650a848d2589a589013e73ca50d1bc38ccf6836076509f98865637348ffb89419025cb74cf528c3bc7a6794392b59460a8740895c6a24811739686c4c72e570898da19f7570688a31cde9a5cc4380794b60844fa2343e53c9575830779b61fa94f2de5b2e6769d7df3516f41addca5cb8325cad2d13fa53b85db62289c580362a455fd51ca72b381fd8006cc682ef034a463e98301e48607ca7f78e3735fc7623d916e93d9a7b1706172e9cd493527288a73b8d506fca786d40379bde77466aa33cebbaa7b665af41a19668788f8e467bb724d8f1bb99cecabc65d320a00a61081e0f0ce5a23c264a9d6410108387a1d0f6c5508e1bd6d2133
+Secret Key: d848c358d9abd61081984bbb1822406f71577843b64d9a1561a7bfbe6ba42487b0c8c4b193e160abc641ed784e89d05082205435e19c8c600e1e56a5256ac73d1051db41575a904efddcb3d6ba0cd533aaf8922fcd30b882613361819b1b1986d26015c0f343697439b723ca03700d4481b381e4393740348dca025559c16ba194c517bc7a37c2c6453750f2c3588a79276a43f3b360dae460afa83041d1424400233e9b586e8c6e0505693d6675e7b370d261451f251c29c5227f7566cc243d76f50f75a228f2e7203f99bf56e6128b8364b4f045ad0c2e8728aad81a0350781af6a5579e2177b1d748ff8a5026a25e0f988dc02171ab9bae0d9601213554be14753cbc6dee58bac66c9a661c5ecb52bd3910251df5c8e62640a6f6c8c9e027bb49c1801b0a80ec82fe5a2ab44254a8f7a7c20453ae9a684ec753119ac3d9a55640c3aab6e9744e5b18f44a8a463abb5a230ab26c3743c10c17bb608af3200a7c624a99b0c79090729b9b87c0928d2c2452ac8cf581b2b8f549d9191fd709a13de953be693d199645ad69347882aa9ac48f9c78ae5bc638ddc84dbe44b7ea2b99ed2aaef4d717b0a1826e2907bda66db94828e5477ecd7213693946c003289450019cc22a383369ef669e2e728e79d674ef834152bba01377cc299b42d6d0a66395299d64bf26ca8bd2e498ff7b027486454146abd21cbd006b04f6c11f38407e1a0513746291a6400fe1997cb84666988b0833cb786d2a5d05c535c6b989266a91f7437e8cc736f5889000596b1ae5a011d26092f710d219c7c19935882b6903bb6f574078ce3b9c6ea25c4661b420369a4870a1201c0a3c623c01a25cd5a92a3d866344b2a373a3b71b8a78ee6373f41c7d4cccaf1ca9292fe05849837a3ea09e80fb705710720b06c82a7999f593165c5693d843064ed41b7d2160696b57df58577d781210a33744989e0c0126289934ad9508fa3b05f577682a88529480566f191ff95bc5d3949bc62b87610acb08a261542775b6f660405543161009ec354a82b8baff484847cb94633a6b6e585f63a8a7a3081994882caa534021b802a83239f0f7861372715fd30e28e4381d405529d558c7356870b9b7ae96181b38a3d8495db0c5985694b1c1202d822b7999f313d1f5ceb03c4831e5be3c328c07956bf1ac2e332493b1412742d23be5d497b8c246a127b41e2bb18d6b64708083cd40540e468393494542d61fc4d71e22960cc6a686d941c23e43b53bca6fbc7b23580142b1f2a44e5a40470a19b519281eb798dc4a3946479e182bb2b2b06755684c7a29562994a90f91a015510ddd151fa0ac477a60a27c728c3b7c2ad7756db2a0043d66a0736392838949cdd07cb5a1cdd8fa04cea88c6e06c02fa2a192f187a977332f60a97e660088530060661fcd650fddf181f41675567b17a0402b4c8330c405630b9338bf72779507b8253a7619195a5429afe76441b0a3c20f591d88c0cf91f05618ec9feb948fb2c884cafaabec0a5d5a44aae4943a13ba7fd7fc9f3a64c6849c27fbf811d87168ffb65d27205157f5b0b9fc7721239737949817429f96e0002ca619dc89ca2107b1177aaf0bac0061e9c22ac40933ca8e07197d0222721396784e8592f561c4c97bcb2e62647f860fb8b48ad37702c0e514e46a865a1ac984cc4d50f909bc4c11237304bb2b88bbf13179c751e6f45a2e91ad72763cf740b95905145417c47b7978777a5b0f7507c0905cde1276da772dc4d00e6bd578e6974d676598bbc719fcf7c61c354fedc01cb250c82cf811075bcb0900d0a2c879263c2e1c90c4d8926fd014b662cc28755b9b5b6c52ea0143ac956c2010a21ed477c738c2b63465426b6dd4e3accf9695b101a47fe81ac1b384b3863e445618baf65c5516511e27219b4561baa36721365e673906d07a026a8a3c1ff310cdc371db79c0511b518fc3a3e326a0e9701d051139941a2954d13b19726eef0673bcd31d684047b3bcc9e6f86498625aae4708c42b5be172986c550d5c177e5a80a79d24607894258a0b5cb935c8ff98056a8b7597235ee23386c16a744f830ee7481913a19c513631bcd74c6ec144b06167f5093e4f19623fd337897b7d35d07be5e8c23cebbb580a02b09a3cde7ba7a85b38ec2991ce186c1149547da90a5ee86e3002c7fd40aa28861a7391005160127a7b19b6cc5fe88cac46077a1e6154bb5c1617face436744bdb78fc1702f7fd332344bac88c06d85401930c354db16c0e0043719a89e95211d0a951c0354278c788511b3b972c167b04bba4bc59e93311d772a24c21b0f17aabfd3a26262b07eb5360636b56ff78c9d350453c161645f7b053f5c07fcd64829f0c7bf9397e9909781f7995b2a4b40c36013260b62e11fd1f85f4f950a74db5f737081e8219614340845aa6118bcc6d5374657aaad4ec39bba90901014c1401821ca1a18194b0081f203b5da4331bc9e5f6151c789af33a7382dc09f724a3d7b56009b895e6a746b6b8b81791014b70b3195151a6bd66f12962f08331d717475f5c848b076af504b2152a4a8a0a943a718bc4a19b492098e32caaa4b76ba611c9d533a715f626fb767c9fbd0b222e5ac29459f431b0bb055677f493552d927b229387bc43c84ea9665a38251bc062959665fab27022b8993822a2ff8bd6d3017f9d6b3319b9a6368be3b8a4f2d226c75bc6c6d0b48761b87c76b2de5fa28bd11bfbb5191e4845451532bde5ba1f6c396728b106ff29284898b86ac3913a05662aa641176b2c96b49308229306a13ee70a8980800c01b2700115446f066dfc1b27b5c28c1408d2107caaa0b5ddae6ab28b8b7f847103407179df22ad5a319d4b156b6ecbe92cb8ee972b6474b73713bcfadc57ee7e9bd4c038d08610e0ff18e3f6166771880ef050e752a2e6fe02c8a67b1ee3c07fbb5bd2b9c4188649c93976d104748477ab6944462fc23aec01039f780932eb602149bb9edc51db4d09db7346902c5cc8a914276721ee9a923ca7c29838639f54c9110192b45d9848d29c22d1c1a6de875baa113098c54b97171efe846303809cdb30f478499a8aa6a10d2c54cd1b4a93cc8b7d3848f1ac4c0b1afb96154a3d38445fab43c606f5fc0147955ae1c6b6756c6968e92225e9a19436955b0157eb66661a671c6edb680b7b2290d1b4893aa82ab67246dd229bdab04befc5122b7a459180a4d734b447b932c443554177d22b25847181f22b51977c33d7d06c943322fc4f80418193d6f297dac3c0b6711c7ff0b36cc54c6e8aa9289bb726535c24c8c8835997d37a597c4ba491f063ea6ca0e98a096dd508d65567cbff2449997ac5330363ddb1a9c4a2c4c1cb293d1041a9a00d8a24900825218e3990f8719d08c353ae1588f0c096cca7e89c2a264632e21f2a952fbc72cf4aa83f75388426c13d90784c873161bc1dbe240104507b3864d1ba2007ea904784b33cf868d07b43c4e0a33b7fc99bc8431bc980068808e6b23bde0f65668eb8d1d85b3e77bb7e0203a8e403d69514177741889484d7506ac2dc7c4e1121809679f253799689c4423d37049447d43acb137459ba9a9387db15e69825fbd44ae1e286eaa35667de6143feb4ef707c574e007c5d61066a2741cd1544c8a446297b6fdaa9c4a32c528c73a142c13b468bb94bbc847bbb68a3a57a62985d2b8112aa56edfb65c6f16217b6591bf1700e7922cfe360822200d9ce0165b3279f4416847e8c5b1650ff42cbcd7453178d24dbf7299c09c1a1ef8ab23d393c54493f3fa868d8463483b640185a1d1015bb00005e57a6c8ad9612c22bbd5288100ab78dbbb14dac71fe4334e9388c7aa3018a71454cd3a688147826822c34e0b8163ba90843a4489116f9f714495255cb5985e93497fb7e5891f4c513a0093d2008fe88c13debc6b93728e6961bd3ab616afd2bb996258c2d59b3255694ed759ed9cba40b5817234c208d598ab54b4f402be53240919414216e19650a9a5a1d635ef9920adab11fe634a7e0cc6a6bb7ff5834edc93650a848d2589a589013e73ca50d1bc38ccf6836076509f98865637348ffb89419025cb74cf528c3bc7a6794392b59460a8740895c6a24811739686c4c72e570898da19f7570688a31cde9a5cc4380794b60844fa2343e53c9575830779b61fa94f2de5b2e6769d7df3516f41addca5cb8325cad2d13fa53b85db62289c580362a455fd51ca72b381fd8006cc682ef034a463e98301e48607ca7f78e3735fc7623d916e93d9a7b1706172e9cd493527288a73b8d506fca786d40379bde77466aa33cebbaa7b665af41a19668788f8e467bb724d8f1bb99cecabc65d320a00a61081e0f0ce5a23c264a9d6410108387a1d0f6c5508e1bd6d2133bc1748f31147794c2d17ecbc0f02764ff5be719ea64ea7dc1bb1b7d86a38c81ec652fc2b96f857aab82f279d502df54709685b0374e67811c7b49d4eb15b1c03
+58469870b3a4bd2b0723474f1c1b9da18d8f2be526fdc18f899d0c7f8bd6ef03
+Ciphertext: 36a167feaff9eaed62f545f5376f552ac1e7a341e840ecdc9fb3f52b410a4582e0e542212cb04df3078ec1981cdc024f34357b91b4470bb1cd05c9352e00625ad5d104afcbbbe5d3d657bbcb42390123a33678392c82ba39b0a5b647b9cbd702e6528886fcd844b5d1b1368684f33acd429612507e235bd765b69365d26ea35219fe3d826b1d90a965128dbdd01994bc1493d339b364a4495fc073d8d4ab47dbcf846f9a93b1d6ee5fae5097b1154c15c0f333729969d7abad594fb5fe3f3c073fc083449f2f5c036480db3dedacb87ba1a8a7bfc705eb8078b7046ec26c252fb4f188ded5b48fc5c77e3d5b13d5cfbc40ab8da118b64216571887f84890334c49aa12980ea9c4d5120232bcc23ccb2097b81c0c3fc0ca6ecd66fe581882440f61ce94f0a53db6f5f54a5147bb2bbca2f57437c6009a1fdea63dc911aa9b352b2dc18d9dfa21e23cfc912490a144ee73e18439df7f8bc97936c19382f764d28e6a8a33696e7d7a0bbf4a6a21ea9c5e5ef3f02f3648a06a7c8de149c2be2898ea02b2f24125eff6ad6b4fd9e995235438f5e38ff20577bdb9bca0ef9f1591847e594213b7aa424636bde9af11151a84d6bcd830ac543c92c94c73d0e340ca20904aff7a5462c4ed9d1cc13ba1bc9411e0d04538b38a3605b3a2ed0038557279d8ad6708ace233df3a31e3b57400a654e6c2123215965a7e9e09a5fb56961103e9152f01645f72f468ffcfb551420314b7c43db161522a750fba97321d89e5a10381de0ad488256230383e0c23e2d49f66896578cb41a9ea59b6ca0f208b0750c974f46fefb07654a0e5f045ee19ec9be8a2debcf1edc8c25b25c6a5b2e91027f52409ea25b35749b7dde843bb42beec67e4b91a3daf14e69fbdb3564641efe6b3a013b41331f70679cad931845ae03a429843f355a55a9c8b059feb855932fdc81accceb94e661c85128429c70f7a02651f3b51669c82f937ba868af0032b7869506d0e81d93ea876b50ec4502b0a9623ca6bc88b328126a28f3087eafbdfb4f67752b9dd76ed579e0132e32bc108435538de3b23ff5330889c37b0545f0677bcea26f3e093d6985f24f224956bfbb771b0b7ab35accac03db2f1a80914740d2f3e1912d688272f3372406a130d2683292dfeb0fbbaa54ac6b0172be6def2cf3a8fdffe535816c17a165b4624072209325797f388d1587fb56ce5dfe311a01ef58854003f1b4bfe2b1651da9d669034e804865240d626556787feeb78a635a65a120d69f63301f6bc5f2e7da53c0bebe6ea93786123a4e124c22206d0d7ca22fe233ddfb81e13a4ab0d0074e195f5663c02a64c35c5bb5b04da5a04bc9706899bcbebbb402883cd52bafafbca62deb26866dc0174cefba1265a2d9f47ad990c8ffa761294e6fa74f42c4775f194c02bbba3f453e10668d90e036108bafd06e1279294991bb2489d7575c7c3fa812efc1f163af74b84eeaa8936c78351eba32fc67b316d797e2679dcb1f0f288be43f404d6a4ad5b0ea973537c273c3b3cd52b428dfe6aa7c1a7da3aec4d44fc7a9f6fc07f862a2cc230499655d8f721dcb33750417cfa235109e99f469e13c7c1ad401c4062a3f32da789cad210c554794dd837a1f339d91e309f4da9a8586edc75801836dceaa52948bebe3fb5080a73027e707929007294afd015beef79faff980c7e8021fc8560e4e35402cf406638c8dc32eaf10b6c6d5739f59a7f8b1c038b5d69c7c35ca53252d5bac8976332d8237f78d11a04d1218f316ee2ebb7cf6c822aefd2185ec8e395d6ce8102d6b25b66037c1200c4b4a71d55711082339e730e0439a08fef70f1b31b22db2287e2594e37ba4d1767c6aea886545e18725e350acfd8d2480ed4604daf77b14d10b626d7b1b45921ed65f83ef7251e68b602d43ad1497b79584d52f472d253a3fd63a93032db4af8c32d309777867980da53d40eb940e53817afdcc821f9eb31f08846aed5bce558df3c715caccb28eb93502288dff233390b48f179e5877cb835ac3650f33bf08e5b68be6a7432cd349d168497d0281f6df4649fcdacd02020123a72605708290306d62acb53f27e572575ecbf5f36608c857ea8c525d9bd9576afbcd7b3f32e10f49cb397d650e6cf3b45af872b2034aafb0bea07e6163e23290c520c3698aec36f7518fee7134d18c1d7d5c78d2277e68c1db3869fb36a54c5c8616c5c81
+Shared Secret B: f0d1127314f3ce28dcc2faac23f6579340096989ef5e327dd80c0744708568b3
+Shared Secret A: f0d1127314f3ce28dcc2faac23f6579340096989ef5e327dd80c0744708568b3
+47a65a7055a29e1f9f0a9a448ccf28a5484cc1faa221f3b50e1ee840f88ac0f0d2a5f2fbec97375a6e53238be662e69dc4cc10cae8c1f52af7e1fe7c72bd983441de98a6e7f09df1daae9d873c2d71b405e38ea787693a4374228462934d8d276305a96c59eb4dee4e1fa0cc932bb3ac900e91fd228424aceeadab718efc1eb1dd6ef3ed482f61723640e91e5aea0386a527c93a85f1d80d821678e0166e3ba5e038578e54c7d2da1882bcdb59a19e2f8021896d9cb660a07016f60c30027ae63d72c838329032e4013380696f9a8e389d143a817c65679c17bb21b062f8d1ac883a81a4397b4e3c3857d62560ec735dfb89c8490821c6f6a273139dc8c287e391df9ff2a2871075e54fe114a60e94450f29b656f6723db8bc03179b39bde839f2ae7d0d2d0cab2f1dcbbc381f78deb5d08e5d29dac819b121f8ec6fbdfe6f87fea2bfb9881deb4dd129ff19842d5146c7befdfcbe011230660cde005815558578299662ff05e11939c1b698b2276cb88e3db6e203511866ecdaf26dfbf4ea966998d9f560c4a46d31b6020a0019549b498ca4fd96bfcf80b31120244a6f476351a36e02454aad6713c1436332bfdca0c7ba380c34c496aaf967de59f924160952df2379711606fa4d88c304cf9a726edf1a045c17b3e6b33da476e381476754aae4672beb5fbc17c87887ccf98f092d96f6b45b0c795aafe6188d0ea2d76fc53db9925ff3f60269a3b42f5dc6592ff3dac32f2f6e8bd3436f46a68d65d4b26ef99cef3a62ccb66c00e2e8e054b8398db226a2a4c6fe3e600726a3aaf0a180cac539da9b6e3b9aebd4b327934578e20eb2bde26a26fb5d2f37f384bb71eb3b77215c282aa6cd2caff7895771e2361636a687338eb5255b6229f30dd7510c891ed77cdfc310878ed36833ce25866bce91aa27d99995f9b9d29c8babc4e6694cc83fddd13dc91f2510d6ae3220b78c6cc13049c4d7494baf028a666739baaa069985d4c601fcc85ce8fc80b425c18a351eae046824cfa6b8ea6622ec5a3c7a017724cbe847c15f5624d67628d112bca47c24759deef38d000121a13eb3d3055aebed8d8c1d010abeca7db71faa90d702d6a124f85e52f049fb77ba55ab41ee9729c2b93fcc597b7af2a7d475b24587ba847a185610c8639539fa0ac440670524651509adda5dc514ecc65debdbfaea6b9ca95f7eb8ebe7472051c89f65c2b821e4c54698b0d2898dfdc2cd634bd9604f51187338d9d72f477f9efdc82fd770b488b829df7417413881c10e239b05b7b1d306a2b8eac28579421597fd41a506db0f0c5bfecc2638aa8984f4bed3b3958e389c63d8f76949c491ec3e23977bb3a950a2fdbf7dee075f56ee2729431f7f40ea73ff4d0a46ada9a7dbbdfffb2e257d39387d9cd249015bc22779fac1fff2dc79cdf6727e256165ef7653ec1298a57a935cb15ab2eaadbd093099062f8e33959a8e5a3c498efff5a92bf5c00fb0c4c8309842d06549aeb5bb57006e36edcb5bef4d0a471fd03fe285102ad0692949a5c39063a8261cb69c4254b903fcd55ecee20fd7c0283532701b6ac028b8448d7eb9e483726a7966e1053e6855760e46b088aa6f44cf8f859e7614af10db005d6175a36220db802c5a976c90545742334f8d6e0c7b9aa7932cacc2018b20039f6d012f810f999157c66bce1f34d4320abad21f5b97748ea50306f07fe351460eb4d32dcd65a436a9866ae7b759ff27e98b9adacc540bf9b334565990e27b91e776d41bafe1922bf0831250b8c229920f03b685d1d65b9fb9f13df8fd1e01d3055b79877cde8b21498e1e13db7a1c54aa7a12e59b084196891db10f5753d76aa970cd48d977b4e84b4f4328e0930eb1b126c95f665b741ca920310aa25fa5c21dd22f72f519337405ee6531d673f9e4a0a593a56cbb2d252a9df9e59b3230d988ded0d4a7c4dcd2b6949d706c87ca2144e680c9812c1383eb1cfe4014e981511c5f674dcb1027600e4eaca081283b05165ad8861f95ad7f5d696ee639bb787d063482466a576335d6f71d6c78d25615ec0bcb7fe55ed99f5c9643cc20731bf6335533d9173611f1b54bcfed30c52a5cc4de9ba52eea4d2cf75b8a8687794b6180d18c53c131964537594507932dd263eb3e022ee12f41f558f30f7c3a432fe34904703ddd96d8ef276977982499845ff0a65c4617c61945cb39b937cbe9cdf8809e37
+Pseudorandom shared Secret A: b7d0a55516c154cf901dcf1ecbea07f4ce56f86aa501e876b945c3381a856068
+2eaa747efd602058db60b0295570ab30a03080970433f1cc66483908c9eb05ed7ba5cc6123acddbb832fc4987b93b54e026c09c4ed8b51c77f250d94bd116f3c
+Public Key: e720765f9c3295f20a34481dba695dad621e2c138dfe225d9615172d60344c8379c828a7a4a90608c62e85b1782b7315572ab8d53962606a7bf054728c1b39d3384311ca377b5403bf8c9939a6707a265316ac0617619dd922bc4c5536e220b45e076b6f58c8ccfcc66018a1ff30584eab346ae9717db9121dd563b64632c027843d92726f8c8282465b2769b6007a44a7ccc7d413255e318ece83cc36b3bf0ca58fb5da1df8296fd5f69b30ea28d5fb840790639a50082758b892421f2667a7d839abb760b246b71427b5c10ffb9f8cb041a9580dbb72948d0b5022fa7e12aa4c9c0a46e2469701b198f9e75ebd75bd3d2a417b08121be09d3282409f06cc79d2753f330456266631635f48f14940a61bc4db652d034103c8801c5c3b638746e7322bafd41f3b8a45d4e3816638c79a5744012c0c3393af5c482ea4d28f44e98f303b163d57713aa76c4211c333f74ca406c8458443fb48c6f8a3435fd84c18e8a6d1273162f8bce19505c9c2a716c1ca11f358c06c0f2ac4a6fc346aaa12769fe190b688742485c60b2b44cbf7c16233869b9c45e1575dcaf8140d5849ad0c9928c0c6994b0797d03904b0799ce56e2a76ce43839d03ca71b2f5723a4848af067e0e4154942b8acdf56cd645c68b010eb4119182d80a17d4409717b59955cd67a12b4808589f828913fc7bf610cb3c107da06c2c77479c01c83fe81672b6e16f47b88ccd48852e508fc36756c0456a8cf57cea55990aab1a098494f77c48f2e78b8cf43a1946cd96264db461718d451ed5c2b68637896fea2809d4c975b71cd506abbe51c3af4863f7d68cec407e810aa35c4496a41b24bcf05285cca10a980cf1e63448bb304c9977a7201420174afd00b8807c78659647a8cb26e3b01d9eeb3beb870198191874739421a165b635c34a38a24486957a8683d69267e09a3e261651e0d3cdc14a671df540db34ab263700fdcc39ada3b626dca7211cc1455978c52b183ac4abfb3b886d08170e9b118c43a98fb27af8053087e82cad6a9506aaa1126c7b20d109868a169a8022a96183b79898bd88b15b4633ac3a29b6cc48851790531a69b0868f7a7713ff04a3cd725826445636d056c185c5c47311d3d856e9e7af89c64d68a23ecf54c45057942aaa497c85c347c304de97306068131f25ce9b0c4c10437db75504566a7be1c184c0036adc609c0593c287f19239316fc1d7a116e04df2446972924acf8000785c06b7791131030f604a1ef2304dbea985b775bf8c8c465ff8ad36695eeb5371c3c59bee59a88eda9e5b02601257b03bd59a8164813ee759870b45382c679d0558097268a68460658c5c0302711d0a2a9c6b69a1daa2074abfaae75c4b4c49e6e9c371a6158a2cb13b1917a885cee9a7292c487da3ea7644b2bf1100391a3585832cc89e10b88e36407372248bba3ec4c2a91c934f6d5c59440664dad5375bdb1379c3a5a9daa8c4760e3f91a2adf9ccf6035914c4aad3d9161ac2aead0689037c9964666fb891a9b4ea23051b628462baa48c20df610867856aa4c531dbaa997d299de8140eb9cbbef30c84ec0888de5205d6c7a880984aca5c9d596c1e2db6734b5bb59731c9aac99589cc00f02a78e12b372b00057a41a8faa35a31e821520b51e216022509347302213850306cf8c868d27cb355aaf350cf7a7bb29db5b4617a5929c709c3408327f0ba0df93c5a84bd0d0a74f90a5fe7436d5e833869238b0f6b36654a64b27c87d336596fdb58c506918408a60a3871b4561d82a1859d30b0ef99ac6622a71e205e3a689a043791f084c4f8f808b6e92ac8f0515fc6848de19196401c3959b85f926978711d2db559bd38900cd563d2f11bb82bba6d41ccf7a4b4cb9a6fa7fa9306070ef8f65c929b2d9c1b3273c467e8e43139d1a8da12c47075ccb397582da6973626433d0c6ffec12f3a30553d669e47dc1bf0325bf989a3ed7912e7276c08d9871d042b1f283a06d80622b35d4a68763588266454c88eebc866f25009b4b20cc283ca36645b130a6a514b12db4e1587c77f8629f5b951005cceb1110eeb48b71b10bc795157181c9787151f0bcc901c047d71bb37357074051c22d882632124812d3a2db5dc3e628b7de4f93c2e2bcc6df264015c3c80a621141373758276a91242a4c9a7a73edec4696e3b8603b1b94a0a060cf53ba789aecc2fa7cb0866c3caf8a0bda5
+Secret Key: 7e15b1edd4a910f15636678c1da64ff12bc8a27b749ac68b58aa696bd651ce6308f252cada1648a56b62f5c2536125978210cc41826134cba89dd68aca326e10bc0dd2fa7179070b62f650118140680a6a9c409c102a30941492405436c8736fa3035445a24be8542a6f45b2ed576331925923b35bc4d5a6445c3b9b553c16fcb8bb150e2801112cf43ea96a8b50e974b3808917415c04bb85c2d2b14d29b678c910e2d14cc4e89beaa91788232d972bb104f390dcec4df51497a2e476741bb309aa7a859a22dd459476fbb13d2c293c377b9025863b574d4dd791ba8a870fdcc67d9273d2cb63270cb98c7c4f13fa7f7c7a0f3ed1c8e24675a6284b256492142590c69b4da1021ccde7ca4b0c8e7e216aa271baba72a733a17eb5867cbf92aec168349c43b46976791d317547c32d20432c771041eaaa0fa2865d0654713b85cfe98a41fe70692449a4c2468c98f79ed5b9164171520b43ac338435df054155803c837424fb9a2fdd381d614c5d5d287f79fb1a1a00180ea32f09cbbe58183c031311edc28aebf817892396ea47c98f9055a0465d111cc468240167f6c20d63189da9c820c96c8948190c23b627d9c20aa64f8da30e0006b96f5807b4d8772ceb1804a91c44811685f3c4d5540b7f2c5f06014d37ba7a3a12ce9198c6b567ba1d358dc1e9520ac35cede39dbda18d956c8805d74881cc419d06bd7c37a5f5f129ed9c928647c46f520ea8d1845de7a713b1bb56a4c264e52d957bb7d76b6b37660bca037f44fa0f1b9ca37c940773d2bb827043488a9be2e2480c4398f52850a0d50c0773724e1c1f458b4e40a53d4bd7a32942064c512cf7580812c6160e06c224614699638fb7f550bc2659eb87adf5282be2371592513b82229253006229db6c19b6670ee081d91a62a159219173ae3b376ac47951827c061eb01f4a03a58ec552649b606e085e723c456332aecae7811569a7cbb04d1e64cbb76a3c5a8c2479748c362c13c5486323f4850201c013b9ab947780f538b62c403f56561c8fa1c991b76bd505aedab6a971c84ae6455658f74b86550203406b6326bd23079b756285b663cfad4243849781c82a79ff4035edcb0f45fcacd71a61aa1c930c583d88da2cde361c07a14de2068fc452b51ef198d65a92ffea5623579a20fa26037ab00443bafd14a8e0f9afa98a9f1d91023f3245a405bb779cc71d13590d36681fc22396d5b143b9350e6a33912bb168a175a17bb843159f91c16017783a270797978062e95c0d8232a6c5f30fec12ac8318731b536d010b6adfc407eabc5ad65a07e034ac5178b8c961a59606ad2e443287a1187a3a827f0c9868617c3f887422437210abbf261a44c5493f22b987cc1140d0393c8409cd25c30cd2a9582fa8c759b205f0c09357cb429926c246279ae5a5686e09a3e1da484a79039c1784d2533106162502907f589127980314e8d36a4ad39548aa0a31740f2429b908388a36ca361ab5c759241d4fca6a4d4bc4bba22a465845b2a906226c2d29f431a9d7b4c85c6d5ba166cf08967e4769c5fb1f2c18a2650b5014ccb80493b41e0a320a99c14d920f69d99019647f84299914e16dc8c59788e700bcb59eb075310f1b866c4b89abbb91cd5ccdca7127ad6a367737c6e0693cda775849f8224bb6cd968880516552b5bab369eb126fa2cf8a24429dc8a25618097bc7644c3990515059a0c5634c393e5c274bc6547709ba95d32137c182886549ab2be168ada9872ab41178ca18c06ba0d6b64131e12bf1695bf1fb73fe6215e05ac5bb5963a0e9b5e5695d65680de93536198414ed166b63617ba3511814dca423e0a5a191153727590a62ba9757680cc334af801b0764b9fe4857f63cc1ddbc7cffbc01991782f76c912d825809acaeb1b284aa04123d09c07770890c63c156d4ae1b645f8ff3cb1293c8be99996a6cc255e3afbb0212101764934235bfe149501c9649e5b65fc56de3839581eb647d2a14a3417ee9a9acbaa68e44b06c8b35c2593645508957483a7f30d5837869a7f150aae4d23005c0b0ffa98e3994380a43ae38174306d8b72b3b11c234c10bd1c647687383dcb3140014e874875e451b975b8d5e01cf5d75bcc1820f7f88a877d98d867a56fc916c7d292494726fa497bd7c2b980bd20f5a8b3de720765f9c3295f20a34481dba695dad621e2c138dfe225d9615172d60344c8379c828a7a4a90608c62e85b1782b7315572ab8d53962606a7bf054728c1b39d3384311ca377b5403bf8c9939a6707a265316ac0617619dd922bc4c5536e220b45e076b6f58c8ccfcc66018a1ff30584eab346ae9717db9121dd563b64632c027843d92726f8c8282465b2769b6007a44a7ccc7d413255e318ece83cc36b3bf0ca58fb5da1df8296fd5f69b30ea28d5fb840790639a50082758b892421f2667a7d839abb760b246b71427b5c10ffb9f8cb041a9580dbb72948d0b5022fa7e12aa4c9c0a46e2469701b198f9e75ebd75bd3d2a417b08121be09d3282409f06cc79d2753f330456266631635f48f14940a61bc4db652d034103c8801c5c3b638746e7322bafd41f3b8a45d4e3816638c79a5744012c0c3393af5c482ea4d28f44e98f303b163d57713aa76c4211c333f74ca406c8458443fb48c6f8a3435fd84c18e8a6d1273162f8bce19505c9c2a716c1ca11f358c06c0f2ac4a6fc346aaa12769fe190b688742485c60b2b44cbf7c16233869b9c45e1575dcaf8140d5849ad0c9928c0c6994b0797d03904b0799ce56e2a76ce43839d03ca71b2f5723a4848af067e0e4154942b8acdf56cd645c68b010eb4119182d80a17d4409717b59955cd67a12b4808589f828913fc7bf610cb3c107da06c2c77479c01c83fe81672b6e16f47b88ccd48852e508fc36756c0456a8cf57cea55990aab1a098494f77c48f2e78b8cf43a1946cd96264db461718d451ed5c2b68637896fea2809d4c975b71cd506abbe51c3af4863f7d68cec407e810aa35c4496a41b24bcf05285cca10a980cf1e63448bb304c9977a7201420174afd00b8807c78659647a8cb26e3b01d9eeb3beb870198191874739421a165b635c34a38a24486957a8683d69267e09a3e261651e0d3cdc14a671df540db34ab263700fdcc39ada3b626dca7211cc1455978c52b183ac4abfb3b886d08170e9b118c43a98fb27af8053087e82cad6a9506aaa1126c7b20d109868a169a8022a96183b79898bd88b15b4633ac3a29b6cc48851790531a69b0868f7a7713ff04a3cd725826445636d056c185c5c47311d3d856e9e7af89c64d68a23ecf54c45057942aaa497c85c347c304de97306068131f25ce9b0c4c10437db75504566a7be1c184c0036adc609c0593c287f19239316fc1d7a116e04df2446972924acf8000785c06b7791131030f604a1ef2304dbea985b775bf8c8c465ff8ad36695eeb5371c3c59bee59a88eda9e5b02601257b03bd59a8164813ee759870b45382c679d0558097268a68460658c5c0302711d0a2a9c6b69a1daa2074abfaae75c4b4c49e6e9c371a6158a2cb13b1917a885cee9a7292c487da3ea7644b2bf1100391a3585832cc89e10b88e36407372248bba3ec4c2a91c934f6d5c59440664dad5375bdb1379c3a5a9daa8c4760e3f91a2adf9ccf6035914c4aad3d9161ac2aead0689037c9964666fb891a9b4ea23051b628462baa48c20df610867856aa4c531dbaa997d299de8140eb9cbbef30c84ec0888de5205d6c7a880984aca5c9d596c1e2db6734b5bb59731c9aac99589cc00f02a78e12b372b00057a41a8faa35a31e821520b51e216022509347302213850306cf8c868d27cb355aaf350cf7a7bb29db5b4617a5929c709c3408327f0ba0df93c5a84bd0d0a74f90a5fe7436d5e833869238b0f6b36654a64b27c87d336596fdb58c506918408a60a3871b4561d82a1859d30b0ef99ac6622a71e205e3a689a043791f084c4f8f808b6e92ac8f0515fc6848de19196401c3959b85f926978711d2db559bd38900cd563d2f11bb82bba6d41ccf7a4b4cb9a6fa7fa9306070ef8f65c929b2d9c1b3273c467e8e43139d1a8da12c47075ccb397582da6973626433d0c6ffec12f3a30553d669e47dc1bf0325bf989a3ed7912e7276c08d9871d042b1f283a06d80622b35d4a68763588266454c88eebc866f25009b4b20cc283ca36645b130a6a514b12db4e1587c77f8629f5b951005cceb1110eeb48b71b10bc795157181c9787151f0bcc901c047d71bb37357074051c22d882632124812d3a2db5dc3e628b7de4f93c2e2bcc6df264015c3c80a621141373758276a91242a4c9a7a73edec4696e3b8603b1b94a0a060cf53ba789aecc2fa7cb0866c3caf8a0bda5b3268d403b3b397e7ce207a03e9588401ca2ee6a99948bff2e7b0f43726ff7267ba5cc6123acddbb832fc4987b93b54e026c09c4ed8b51c77f250d94bd116f3c
+5d307b240e2c8589bca9a1dad5f1c57cd47d74cd8b3b6012921be1202fccef86
+Ciphertext: 4ec3623dd4561602b917a4ab1aea722bb9f9adf1c6e6d67284f319e057782c681517923466050b24c997e5087f75c5928b78f34ad83413a9f6e144aa95f556d6f823e5e4c7d5e32880d3e7544a3d5e6e1f3a39e923606b099fdd5ad42b444b4257591c9613ca4458213dcfd5643e226faa888ac5fc7932fd0a9fb69c8dc73a41ab37a77b9c44a0a5424c6910f6ab694b8ef2c8468ba3caa34b6d93a5d1ede17d7736c37782f31cc334bffa11291182f0958004b300d5a8c4e61486782918b222374f0120789d8be6a879167be0ba0abb94fac7657c1d977e69b9a203269ae8b329fcd5b1a118b042c9a62d14e8ba1c7982fcfc9639bac96b609faa715ecce34b25f2cea7e04a24da8f4f5ade69700c3271592744cd31695700547459be091672ea9b3e667e52080ee280aa64f3b6acb538b409032e8f842167e6e5383904bb719f1ab57e2f50788c911c4d6e00c0b060ce55157420aec550f63b29de2c899bc2aee56311a33ba103e9562f2ccf8d7589db96e71f010bf694ebb0df37480dcac8d9e55a00b976de9d0a3a1876f5ba51d3ab05dc6cd2bb98db78f47360c94686bb8ae25f3cf4254c1fbd1ce562d62cade728d5bfe9732c2e5f64691fb5325231e5d7b4fc4cc22998d96fe9c5998f356166268853abfe09e6d435b6cd804ab8acc1962e4797ecc8d2a8d8a9da395e3f173534f511994f02f574f5d99023be0c20aa9271df817aecafa68c44e549bb1fc5ef7488896c9c984a298f8d1bcd21f6b0d0492d00a1e616bd406fa345ad26b6efc1b39062443fbf7c690f34cf2b13072952a7412ddb9bbaf81fdfe883eeb6bc4ba068274742341dcdb530271d72ade984119bdc3bbc3e6f6c863fffd722027e1f592d0642c8ac215477a3511eb53b6700ece4b09931d0adbef8e3dc881dd2e88fca1dd70357997f387e45884fbf17a424c4296a004a01a2450dd0a195a3b8de577595ff6279eafa1456d7369b43374ef53721e8d90e65c5679fa12f9379b3ca990fcd0071ea6cba8a69aadc50b5b91c85511455df186240e6c0d226402df5d5eef264e216c48e89de8ebec774d382c7a143aff773b40f8c410f43934b396d1cb3be495b1f72d6a4ef5c8c274baa0b4160a40ba49c42aae6a0b32a1207eeccd7858f8c2b1798e34119d695b580add4c7ee4f5c7a22a38e05c1eb970d1f7759fa3de8f226a4161b325449f4920076e832c91085d678b228045845c7b005f4e27c29a979951bc1d50fe4ac9bcf9f213b15c04de9d85d6971100d1d60652af90c5fd3e167d9969c3e6168860f9cf07d040520754c14e4b743eea5df220e9cea20a40718fa063fb1bbb69bb797a9e4c3cb445719e835d246be6c97e5ea82895380c9616649cd24616fa0005dd40e6776ba6fbec3db4ef645dc53cd465afa0b6ea15967ed806369adeda927c79fd146f68bfc33c20cdd069fb20f53554268e8b9786d4f98f28e91fb08ef751d2146a981758120c24c824e59b09c8cd1dd9cb2b5eb45eccb7141a755dfe5c13003f1a54eb3838fbd7285f13ac87938a94e9a72c3707577ef081129b7c3e9eb48476bad025f927cfa1e39c2d9accb734ef0d3b8936026c8fee89467b499f8d1dc34981c295e73f8cb2b39dc8948295937ee7e0a681154fa22f3d3e581f97e72a9955100a8f1ad39d5503b892f0a69193fbe8440b6ffe03ac687aab6383856b590fef74c80b39766db8b96816f177ae3f383b5cbea2d2b9037f42898b68e32efd9390f507a1d667528c53540eac219933d1bd6eedf7e25fb22dfca9b18bc7272a0e7a83ac143b76f202534400567043b6fc1e29758c4927f4c8a591097232706d4419466d8581a6badacea79a4a87c5cac615ddec1fa392d4a71faac1a2487f5102f59ad877563bd08ab9668748cb432dbf6f499cc9433de52d9a4ea6c3593d326e1c581e991dc2a204dab6608625d2c0a56ed9ff038820af76cec970eea94e1c6cd83bfe035ce19e3bdfe016329de9c9be1e8bdb79631d433ed3fa005e316e696bfc928cbbb835cfb2f76fc77ee6d72947d744a3ce755cabbca8508305be61f35a10ae1bfc0caa7c8a2f2f49c8f5467c30457a473733cbe2f96d2de912d085e8d12846a947444016b233d3c7d792e79ec616100e151c939ce049ceaf85d83a2c2ad056ed82a3c7da31d3dd9dacea0281323b5124b0366b38652a1c646d82bcb6be92cf8a42e2a918d
+Shared Secret B: 307699da47c6a2a44fc7143b1245cd2f88dd56d7b76810f500cecccddbd9f75e
+Shared Secret A: 307699da47c6a2a44fc7143b1245cd2f88dd56d7b76810f500cecccddbd9f75e
+a74c08680eb67d5fce4b90e843cdc51b76d0b9d79cd5a5bf9de92f91b65de5d99ff53637ceb61804abb9700922c7345951b03e81039f540752113e6a0f3011cc5cfe3abaaddaa5cea703203b2c3c71a9477b0b0bdf81b06382c1490215d4288cdd57c15227eeb49bc1f3990c13a351ba5c5e30d77eaf772d936ea39ff05c3a7355af18219f1a7d98b3894cb0b76f3aeb5bed4bb4197013e64d34c366599c76e6c0696592220d470fd91a3f8b7f6e79f2de599805ecf1e895f44814c6c338d1640091eed2d69dc972eb4214a8c0b5a320a1a7e5e7edcec68fa59c5fa28c0b7f92490dc839d64c755ea108b46f3649e6dd2045b54aa2c40560285289a93ec58e3664476aafa885752edb3647bd07e9ffd6f9a82fda7d340b0496fba2f0ec510c476133f3a5d777f336adafde62c4d79883268489ba52a01e38b2e5386585126ea30ac33f8ee5388164b1e3057627f41a85178829c454ee4d8bd64c129213bf18f179a2cf26e910a0ab5f2d27a19ed36fb5e6fcebf47989b0f21cf798abb86e9f6652a63b2947914dc0090d9f4f2f9d33c10d503637e28f0dfa9456295496aff1ed7696e498b9b0f2f3d0a5b6b83caa22cea083874f7c36b0c66255626affb981c9be20b5924dcd428d52ca920eb1e51abd47950f9334fa274bc1fa36dbb89dbeb815bafb0c5336041f6afc8feea2efcbf5fdd6afa9ef281c3130d718ab0f91614f5d0b0e85ae1efcf4c164c6b62099abc0cefee3f3e8c498641c28533e577d5f7fa9afa8e9d648215a5ce91986f182cac240154f27acdc934c1af7102756467500092ac0da790fbb7a442156a0d56baa47fbbf5ca75dd268a65a028229828bcb640b7dd98737e03bec3a73ec59dd3552d6ad6b1b252dbcb3c04a29d2cb8532feb01eb1fa6c1a6ea9d479431c1e601627b5ce6ef1d74cdf4e1ded1fcee5c5207b3db7afc1ce0481a6120a8a82625fdc4f54558bc5596015794a1eceb1bc4029a09c098efea91e852af7efbeb491c7d3c0f02b2d5c3dc045c6ac2d86ea2582d2644d1aefa9e006f475afc730b81c83d8df9c7db30df0d675a2732c40802bb184d5ea9ec4b3bfd9d2395bee815b16ac8aaa4dd783fdb13d62acf5e6c0df1c8f675eaa06844421526c2d023a1873bb8b78d9f8dca0333423b76aa6f359b72a647d327abc572242ac75524b1e2537b74df911bd5ebc98cc721b02e615599578b975d7dd07cba78edb6a7f3f8a3c327540d896542d26a748b52f9ade0d392e0cb2cf6cb77a09bad8b7b1ed038f54f323e26b6e52227ed02d78d8961a058a37e100c52cea030978516f4c8511837352b7b6eae50564516f6cf306c1482939a4b8a870d81d6bf865d5b0fc68c154f139fe837285198b5f0e207788268be5f1d391102d306f5392fc26b092ad88a6e81a2c8566852293988d13ac2133e9a86ecea21027f9d778190f10f8282551c46fbab44e912982968322e37e107afa70f1fedda335093990b1599ab6d68a1b6e176ad1f08b80d934651325d3b083b1d19f2302160780628f7b5b83a4ea3b5b014103d783921db2d53f475232171c74d48dfe5c549e21ed3e1e796a21c2d9ada593951f7f6a3dc7f472c4fe41c2feb13ff1a66cfb98e468d92fb795a1210e9d023d5e1ee2bd3e7348155b2c9291c5bcf6ebf08ae0bea21172f9f6d4cbb712d91c99577bc2c40b4fbd9d3b3d485d9979598fff405b818ed9e092bab8636855817b525a63a20e160d00e1b40cbb9e92ed5ddf239309f23cff613572d47a1bb188480e430cc5b72dd576c24539247a6786b179a0583a931c9b3b68279beb328c9a0bf03e54d0ece3584c018cdfbe56698c30dfd69e1148229ebb652d3b84f590dcab67ea78f0b1825da89e1cd11f69b5767d43a5ccea0a798a3a6c6df665949347de9c164513093d205e73e413a3e095dbcd3b3a5ff63afeeeef82f37c402dbfc917ac6c9478df2dc733729135ff0940ca9a1b5624117f420d7508d87149dfb46524bca437896b725f965168704ce6556eeb73333ae088725dda0043901c9bdaea75b099f2d2a654ba7598bab7cbc81d309057b94d4ce887502a04921aee41722a97e4bc8e608e559574efa8aeef4fbddf20dde746cb4572f6bf539af1990697b922da7549b844ba1d866844bda99e9eff89ed2af4856ff9123e078db3b5541dc535a42b903e1487101cf7194e03801a066703f7339875dde2
+Pseudorandom shared Secret A: 6006cf09ad5d17e65c7713e1c22f621b9b0de140db0d8c0b9cf2eb74496c4b5a
+727b75ae1d676ca9ade25f3cd43a265387ec076a2faed76a3efbb8d70a097bd745ed06dfcc3af270dd29698d4ac1080cf258c7ffa7f041b2b0dfa120c8514216
+Public Key: 52442249d43296a41c739977f9fa7c87488b021a5d49d963e6b11216487d9d3b43035abdba71450842614b420e7cb1a9dc8755e46854a5403159b742afa53e1379c05a193daec65e66f30f60d88d7c332161c80baa7a25c4d65533101cb2d0c38cfbb3f2c027f4f9818f33cd8c013ad81235cb29136a806c8c7a1e4875a70a79133c92c5e7113849fc6dd6975eff9824eec00fd29a71f21558f4553051c81703e35c36c6696698c202787c867677def169bed6c281348d3574b8785bbc83fa5d45e9065d0a00e0133290e7037073704016b7f72014d84557934a5151933fe555bf5166b62b09bab5aa248beb2342f502f1973207792501eaabbd73bc08e27e0e75639fb288029677db6964137a01839b483ca33b2d4bcf7a375555004d7e4c646d5aad18f84277c63af328117202a19e69280b4ab0cab31309b8619c09c2d1d0b1eb87b300d748b98bb3f9e36ef11cbb99571408200b3aa75360e3ac91f4290347744142835cf7178235a54ccb0b97b592ded28dcfa128068b6c7308cf63081a4822544fb9233337b49069c7d15b005b85b2da158182a3ce3b23bf50bb37f8dabc462028d826827f287ced96860bbc96732638a819160999c758a78b124b0ef609be3bc89129495b8fa3c3b69a92eaa854b9622a849c62a24852d7672f2c0193efa156602ab5b93c19b18a357ef37fe2a3a784643e42b9b393e3c93f9c5337a1aadf2327c87c698dfc9526ec8bb6a16f5ba35ecda170ff165c29875b9864478c299483f3c02356c6c710a0bc0381f97b56555bbdc9f6b4b98122dc46b911549976d013c88a0b63345e41926cda9c3ec12399d078237c90cd075c0eb3219196f0a83656acded8a54fb224e47c6095467d4045ce87cc4734351d2fccc70631bd9d8598f07452d079c6de761a862b3a2df86f13e9ced3a6777837373d584a80b54805f5224fe84849e0aeda5789f6b38f08a78486c33c43ec4a2361c6fd0ac2bd36b74182918aab04bab9bb2830983f6b31ceca912bbab4ea26a98c48abfa665ed25248c7d38885a52feedca5b0029ecf3358b0415c26692bcab8b6cef5005d173a2e30725df24df5b5603fd7a7b19c31236941b2a60f50bc20eeeab68b030a9a988bf5e81e2a7c78dc6b99803ccde0d38dd4d17a14030d49e482a1a62edb8c8f41330658751e2bf4261d4904735ac606625e25cb33c182185bb6bff17a1fb1688b925748a7e86f446bca96904bdab4bcf206775ae373be399365c02c73210a3fdb968ada6fe47ba391ac1fd3c92729e1b933dab0cae11d3287982e5b05dd4b71818a655117488e6b4f5c967cba9c19e27206beba87bc3a6b4e09b51c110142553e3304b6ca625dc7a0a88a98afcda6aed2c20c7d1b1b8ebc08ade53546793c5e4053b52b905c8334c11bc0d25c005af8a982a167f7bc0010b8bcd3d646c6818e540579b19589388702e7aba88ab55ed80a45697615b4b6a4bbd651cff1a287b9b9db763c7c88c5b9d5892450833e78a8c8101b95330a882756fe1c006562b295d4bb3c5090c860127387753f796c0cfa71d1b2322a877d58226401c46179c26ed2b80417279629993502f60f06a5b441f711f1006b4c628c6ee7313f126010e9a5bcc3c3b301b6a4ab4ff93135fc49923264786b010d726708574500d4d89e822a5774e82a6cc03bc8458a485795e6061aa5810e70068d58dc9e93453b2f2ca9e94b69d651695bd0a12241afebe936d74718250b79a1b0bdd126a0e8678ba85442fd9769a3a5cd710692e514c879a98ef95a76a6f3983d90bad62b354a7cb3cbc093d6e27db3a651bb18ceb7988a17f8c2028572569abd3cf0626806be2ae4651756bc12a73a2ac908c23401d251240413932b18c493f01048f83574fb11a012c9af22596c55807c618f49d2282215b5e073baa90309d362ba81f17ae1c10672384feb00a6f28b38d116b6fe2024de456aa3391a47895d3ab100c6d013a0d3230eb2c39f389c238cc729c181628160429b10d9060af2a73c12225d690c3dd6f57e545b1021831a2564c74b230c9b35c9b4d06f15e713f42c43f31aadfbe5b5de948505cb0aa66001db8c9146c9a01be16e8e5a0a47f1c64d943bb836c480b2990bdc3bdc0b0fbf208d70959b55d225cd0c55c3ba736e2926f0b42196f5994d2497451995c87a84b883eafc052a1a415b6c0152094a650fee205e4dbd1565f9bda6
+Secret Key: 1298625b2c9ae6a1823f282252d3366eb698af05258183510ac22f95fcab310487de30cc63fb2c84207033d4c5755269cf14785ff9b237a514278a6fe915946bb53bb8d93a3017834d0b8d396b81bb67c09af13d04301a8f1271a81184aa4a6a7ab02ac4d15a24729310f084e5406b1be2cd93740336876c597acb349126bfaa961f7a3b68d912c5f7200d9c326a500357b9c2d7b73f6d7a946cb9b629f6920073708b929075f05d6c07273607ac9ef48429c34c2236b0a5260e24e8aaa9b76638b496eb618dab5b8c5a4769d5f1cb8df39d5e6c0bef0052959786b8c66014737a1f942884849fc6874a256138fbd29ffe020161278e8fb0224586a06d018ea84189d6248b4817b66020ccf746bdcda3746daa9b1dc45412c401c41c8ab9eccc32e263aff27974d04f8f643a9a263b351c691441a07dc25af293aad0460ccc4044b510162977289304905a764dc8717aadf3763f978171b50a5241a5a709b01af2a2332c820a3c5e3213b4c2e0a8cd58827ecb178cf4cb43a407e1945b9392b4aef55919708e6477c5a42bca6b0c7764f175ccc59d29268f9025c32a214e2c7b8c6713af2e8aca3ae4053c53a734467b6a456faec7bdfc60a677d85cda855b3ab83683c37db70c8b3dd020577b6c6560ca472206f0ab8894bb49a228316187c0c1097118aca96d56a17781cf2ce60a8b03098e36c32041182a0bc335e504a1870c069c23676a833d288012272e41c93936ab0ad2d34462d04d2af4a0cdcb001fa1276444b65d157db96b357b28a70b9b233ba19ab27c34188014a04290472cc258585e094230bef301e4dc58b92c510a5a00f0c50792d8b3db51beff287ebd3379cbc088135960428204feba1f3535baef1115f8f9b392cbc99cb6ca633710d04a18d6d08f292850b07481744a5b1c29bca240ce1782265bb10c21b3ba41da81f04c63faa82ae27310339a3fe362c97ff53febccb05377b14281c11d8928d8468733bcbb1b132e59ba5e0da862ae7cb4af4a381baa6f42711ab9b647f9f9933f264521fca5d438b3f233c71b16ab61f47ad94a661410b85554c756022400f3025aa0c8bf13be5bdcc556280238a01f5fd434b1f5c840276fc4d8a59a6c2564accd329caa0d5356d3453d3ab75167281c2fa4b9d6697d6e878e83d33e6967242f1b15d4a321bd574462406b0cd35e799950a366ae1f3730cff14a998899fbec8f5dc12bb3749afc306a66588d8c7a99b9c9a84741596b036ff516ba22d920edc20735636abab1552c9937937b0423f6224d93380d07b8efa53c71530b257aba0d6662e887bd5a345c0f7a20b501ce97e20de87718c3f2037e38135f7491a0c13ae4fa3a43e42ab26689e2a974013469ed19805b59ca283ac68ac65b6f4150f99234cccb28d5730c3b0502f94a50d2471dd04a2bec3b60779a99746819ceb21f515a89012427b9628879c0798592bb73c4020c9735cf2b63c0a10a92c4c54cf172fd6036b9824c83da1245c0211e03be99c1cc12c65b50b83cc15652a3d650c2e280d09b9f2079b37da14bff82964a22148035a48ebbb4eab98ea36918f6d962d4201aa6cc82eb692d474a6547c0078323b7ed2375dac276833c97cbf19d9e229a36d407fc79bd39a5089b0aaf03c4355a1061355535e4665d71e14720546b8ee7c9a4d9436cc5798c2ba7b015a60bd65b3a19b16fd6a7b303326286bc8d530caea379876ba2efb98ba398073db75070f191ae096f8aeb9ef551317c6b3fd6f80f141188204c14cac495d4b78f0ab81131f66c0d9c47ff0323f9a75b41eb4d22888deaa4a570a97636e031d829acf09361339b2ce2712a76c7558654aa6f08bb001a91f3c2b7b256b8db018a809a886756512a3a14bcf08b480b013245801de5c7573c3329564663ab16d339ceb8c32fdd571b6da8b84fc93e25286b860b986c3b1dfd27036d5513a8aab074fc598f767ae366568bc8afd5a80682dc686f3b80fa620aa4f65cabba76d31953eab528605c9081f33a8f561ead1214e8ba075cec64040bb507f8382eeb7010c2486b734399c2235a0b96703b03a6ea4d896c086d69b400e15ebf211f31b6c02229830cd319a80ab338f1c0f91365a02882266c5ead820277c6b037695d08d6c4df200a0076c6bf01616870046aa188fc38ad589a5052442249d43296a41c739977f9fa7c87488b021a5d49d963e6b11216487d9d3b43035abdba71450842614b420e7cb1a9dc8755e46854a5403159b742afa53e1379c05a193daec65e66f30f60d88d7c332161c80baa7a25c4d65533101cb2d0c38cfbb3f2c027f4f9818f33cd8c013ad81235cb29136a806c8c7a1e4875a70a79133c92c5e7113849fc6dd6975eff9824eec00fd29a71f21558f4553051c81703e35c36c6696698c202787c867677def169bed6c281348d3574b8785bbc83fa5d45e9065d0a00e0133290e7037073704016b7f72014d84557934a5151933fe555bf5166b62b09bab5aa248beb2342f502f1973207792501eaabbd73bc08e27e0e75639fb288029677db6964137a01839b483ca33b2d4bcf7a375555004d7e4c646d5aad18f84277c63af328117202a19e69280b4ab0cab31309b8619c09c2d1d0b1eb87b300d748b98bb3f9e36ef11cbb99571408200b3aa75360e3ac91f4290347744142835cf7178235a54ccb0b97b592ded28dcfa128068b6c7308cf63081a4822544fb9233337b49069c7d15b005b85b2da158182a3ce3b23bf50bb37f8dabc462028d826827f287ced96860bbc96732638a819160999c758a78b124b0ef609be3bc89129495b8fa3c3b69a92eaa854b9622a849c62a24852d7672f2c0193efa156602ab5b93c19b18a357ef37fe2a3a784643e42b9b393e3c93f9c5337a1aadf2327c87c698dfc9526ec8bb6a16f5ba35ecda170ff165c29875b9864478c299483f3c02356c6c710a0bc0381f97b56555bbdc9f6b4b98122dc46b911549976d013c88a0b63345e41926cda9c3ec12399d078237c90cd075c0eb3219196f0a83656acded8a54fb224e47c6095467d4045ce87cc4734351d2fccc70631bd9d8598f07452d079c6de761a862b3a2df86f13e9ced3a6777837373d584a80b54805f5224fe84849e0aeda5789f6b38f08a78486c33c43ec4a2361c6fd0ac2bd36b74182918aab04bab9bb2830983f6b31ceca912bbab4ea26a98c48abfa665ed25248c7d38885a52feedca5b0029ecf3358b0415c26692bcab8b6cef5005d173a2e30725df24df5b5603fd7a7b19c31236941b2a60f50bc20eeeab68b030a9a988bf5e81e2a7c78dc6b99803ccde0d38dd4d17a14030d49e482a1a62edb8c8f41330658751e2bf4261d4904735ac606625e25cb33c182185bb6bff17a1fb1688b925748a7e86f446bca96904bdab4bcf206775ae373be399365c02c73210a3fdb968ada6fe47ba391ac1fd3c92729e1b933dab0cae11d3287982e5b05dd4b71818a655117488e6b4f5c967cba9c19e27206beba87bc3a6b4e09b51c110142553e3304b6ca625dc7a0a88a98afcda6aed2c20c7d1b1b8ebc08ade53546793c5e4053b52b905c8334c11bc0d25c005af8a982a167f7bc0010b8bcd3d646c6818e540579b19589388702e7aba88ab55ed80a45697615b4b6a4bbd651cff1a287b9b9db763c7c88c5b9d5892450833e78a8c8101b95330a882756fe1c006562b295d4bb3c5090c860127387753f796c0cfa71d1b2322a877d58226401c46179c26ed2b80417279629993502f60f06a5b441f711f1006b4c628c6ee7313f126010e9a5bcc3c3b301b6a4ab4ff93135fc49923264786b010d726708574500d4d89e822a5774e82a6cc03bc8458a485795e6061aa5810e70068d58dc9e93453b2f2ca9e94b69d651695bd0a12241afebe936d74718250b79a1b0bdd126a0e8678ba85442fd9769a3a5cd710692e514c879a98ef95a76a6f3983d90bad62b354a7cb3cbc093d6e27db3a651bb18ceb7988a17f8c2028572569abd3cf0626806be2ae4651756bc12a73a2ac908c23401d251240413932b18c493f01048f83574fb11a012c9af22596c55807c618f49d2282215b5e073baa90309d362ba81f17ae1c10672384feb00a6f28b38d116b6fe2024de456aa3391a47895d3ab100c6d013a0d3230eb2c39f389c238cc729c181628160429b10d9060af2a73c12225d690c3dd6f57e545b1021831a2564c74b230c9b35c9b4d06f15e713f42c43f31aadfbe5b5de948505cb0aa66001db8c9146c9a01be16e8e5a0a47f1c64d943bb836c480b2990bdc3bdc0b0fbf208d70959b55d225cd0c55c3ba736e2926f0b42196f5994d2497451995c87a84b883eafc052a1a415b6c0152094a650fee205e4dbd1565f9bda6b25650be881b96fc82b0ec94563ee00ffe13f72b061f4da7b5ad40158e3bbdcd45ed06dfcc3af270dd29698d4ac1080cf258c7ffa7f041b2b0dfa120c8514216
+12d6470abc01fc36d966b1ac126b7e208b9c620d6752e5ec4cecfe37fc3ebe33
+Ciphertext: 1ac0dbc95052ef4c68a7239ef8f0e57be4d31c73ff0ab0a92ca782705ea575e9255f386151e61d825631f1ebb13c0b83ba05773ea123e7c5de63f01514354efdbf35f92ec44935f0f918670114881edb8142930b233cd9d2b2d88f0d7dcf64ca1c2c0ef28b44525122cca3e3af1ff6c1140b03579075aaec4602cc5ed6ac77edf111e2d3e930fdc9b0a9813a4476e668335d3c6257aebfb9478b14a72ca290d3afef87216ca613796fa65ca4f8088fb3daf17b0d1de96aa30f6f67861c44ecfbb8d855ef7bcc340071d39af0feaa110680ef9d1be65e7747df471629ce73fa6d5c8e27869f243386e3b34edba4d621b22bc9793eb97c90816f55588730c372ba3c8962b1da4a2ebdb67e72576acae9a01fce9a5591872b50d6bf7f9cbf827cc3aa18a712e0a0c387179e2bcd87c2433e9a471ba3de2c09d7c665fe3f97650b8f090d6c46be1e260cb4dededc2a6998d32a27887ca02765757cf26285657bc2f4a093d4a9101726bfb23c8c8ac0337fe32c3bdc2c8a226c0bed7c8f65ea218d5119e344db7afbf2791661f89e886b97729eb02cf00ec1175849b060ed5e27edb91da6ea023a8390108d01182a8b33eb3a6a0aa5b2e710a0931c4d024a17dc455c759931bb1979c15ad72e13be98fcd869e1b3b34aea560b766c7883c67a9df0af72d6ea799f7ccc20fba7874fbb8f4c53ff08e95cefe3117fe750c0fa0a2dbab32a30b9263f33751928daed01678e4760dada12754e834c73b726c2e86b77fc2dff85fb4e4b07e40eb73841e96a317a081dbd01e643e7cde4e16a4b58a978935d37286fa808f762847c89fee5a71478a59eec0d6952debb2a7706c6f4fa2ec5671d8fd88e9c289ff004d03c346ab76a585e0c3901e6f0432d052e379728ced2e20cab432934ea8f9d2da5a0085faf8e90017ef9ffcd7024999a8bdcb4027ed553a23fcf15921f677b7145936e9bb8a164e7107c13338edca339506ce002763da1f325cde385a64c8bb878c2f81ba4c11fdb2cf8963219729f3ea748d96d8fe920e1e41e9df4b163c6b557b5b07e3fe62c5889c3f66b8037119593e6cc3f2d182965c3ec7e7e8b100b11849b470297c19b2d257aac585ec3df9617be72219014723efadced1c1a5e30ab8bb0ca2c77b732f6f0c3ded4bbb3193ab329f887f8a8ad18104ae97e765f51b5f2a05374d8aedfbe272812ce67ee9b41530cdb34d6906b5ca493b7dcf88c97f95cb732a178b56d7f4dcca1d98ea8faa727e083c624141ab1b3c171da4a8283febfb5d8a49342d9445f93d855875178d70bff1bd89d5d7993ecae6c1e4f6685c573fcf25e2c954468ce4585ae132416dfeada9c1ee480f1d4c645747b56cfe5f2687dd11cabb2702af2e05c2544264d1bf4cdc8eff513c9f837d87e2dfddca957f1490830eb2a68d6a8d601290178dde8ac219e45271794b986bd98e3cdb310e72501a00f51acaf1c72936e9126af82deaacbefc0eab4f50cc39588c1cf789965923101251dd1a36c3b73c4a06e2bb2f4920e4ce43c90a90fa1201c6e9737ca9d9e3e00efceea044114d402bd0decc6ab66edb28128e029ffd8df39ff07837d3f96d4d09da1878a404222808ccee9d35cebafc434353d84ff07858619f64b9e5f5f06aa876d93f190ef9490cdc84ffb3567e74b8a430323039ce814924e143ffe1f97c4bf6d694245aa2628241c09a136b588d30f5f0e4d60df95480a5382e21fff147b2b8258611b48763f21d937d5911b98e4968369e5e498c691d9a91ff08c3169acdb7132bd4ccdf1ce2fef534ddf3120fefe367823822718e4526085c7336ccb307c4897a0dabc8b27ca34ade16996d00addba9d18954e4772a3d47a0834103d67d4062acbf54903f138a99fc1fa21ae98f921fd5bb0d418217e44fe9ce689369ae99e8b472732e64534d28c9d987c931d34ad14e74ccb1799c9a18f0cb6d1858b1ab47926c5f99a4e8cf1966258fa872e805c6a6ca9a870ecfc94922ae053d91efbda4fc6321fd6bf76eeb20839173285b5fe2d19adb999afe822e194187ca3d0260b7ae0197bfaf1f590901ec2b4860678d20666d2d0a9d59c1eb3945a85543247b6665e5900817a7c1d01ec08b68e1bf701b3b3942eeee72fda2f349826f87a88cfaf67a950e388bdf69c4869d13754d7318513ea2008ebb76ad4d658e679e0273adb3a2f6bfeb2415df124235550b59d612a17
+Shared Secret B: 02db2321f333baa0b781ebeed6540a07f85e6507bb66272d054895666fa0733a
+Shared Secret A: 02db2321f333baa0b781ebeed6540a07f85e6507bb66272d054895666fa0733a
+43d400f57480f348a570de1daac18411c2e594d65f1ebff11d10e24444d53fb6b412805d000e79dea097737846c1359642000bc6965a7f44760ad875a97fcd94153f93be5276acf97c765d635f516882a4109790a570a04568f06c839ef452b93a55b3c0116c6b9722daaa4798d0292bca740c82cbea95e1d5a0cfecd92ec1ec2b00c4ac50290c7da54bdce5a4399cb4d67e89f57eb845ccc78b08def237b42d07ce883b0ca51bdb9b3c9a0319574619825c8981448fef7beb39386c5848636a4556bae02991be09ebff5b5fc14e8cbbd7238d4fa384f37b0fa21f94c49b2576579e46a448801b342695972e36e82a0f00218587fde58918f7510dcdc88fc892e729e2a5cb8503fee2796a830a5dae1beb8d3883a2672c37997c0ebaf3a7c44f605b511b7dce22c338428a82b8da64ca6552689ac1335cd56c2d345311e1aae591ff5daabbd1380fd739d79fe3049c8ea9bd360c17289ecf23553645b6f7e401449a4f4506018c3b1a71684444745142b3bc25c6c3b2e5150f8f4f6d57b883e40f2f5e8a38766edb5758a25a5568da8964fd14132a48206a58c1259852158d9ff19b2d318bd7a316a3961b4aa37b093ed7be4b1179c7c248e7f640ea66d63e0b102a37216ed76d69ef6ba68557a8937aba1c64a9902d760fbbcf859725b56b185a9138bff1f0fe9f3c6d49879f50a2d6533c2b5bb92738628950e641dffc6b5bb5a6055f033e901565ee1c8b474c728bce7e13e88757eaa201946c32354e705ffd1f056e06796ed5882cab0efd31935efb1038baec80dbc3c0059521341323e2f43b02cec6a58863f8d0844a815312dae105fc75da4c7e12b8805638434a346a46c128bae76f46eed132bdf2a66e15cb0e6c9939f8bf3409b734c1a54c22f39c978def8fcced415a5a873ee62ded825c05a122369228452b1a32137a3c054679ae13528b6a9522d3398bf35cabd933e555fa63502029fe6ab11100f8c6d8fd70708f34e84f017fceb8bd405dd727b462df71f8c9ff34befc0161cf8876528c0ef01be48e7d3463a8bf0db7b8b49717f38ebd11e1d73319d4fb7c22be254857b64b1872cccd36148f68469ed6e848ccf2d510de72a3cf691c4739c2a3ce182bca0e5f209233f6357d310cc4f53bbb06a505993ef815702c9042914b0626db9255a430802e3aff6b4df8cc977439c41f8832c23dcb6302f6ce0b19aa5e1a2856afa6670ee26b0570ed9a4f37fb48ee40fc885ec9657336c0067ff40ee42f6c57e939e846fa52fb3f178cd97ba21580dee0cb16c83ba489c47764456552b3b7a4e7990fa0f6cb76f7bbb61fd909c700d52b749b38b96f1e07d554a0c255ca752bd8e4366aac9e6a85a259e94d65a493f971d5de71b1563ef329b217404bd266a6a6a55124822d451bca87fc3983e7a12356f055ad7ce1e96f41863d32ae6a5193426c0a4e7044a3aab299573354b54d0bb26ae1297ff4365de18945a62cdecbf5f2fd2558be5dcf652b15002583da8261d8d39e32142406587f34cde1aa505b44fb30f40178c9a93969a173e1582f17838c3305375ce3fc386c2e01eee456409b790ae24b72b2df3113f1f6a7d6c34c27e68df1fdcc307416e6a7caf05cd5a86741167c7b384609ff1ff6532ef5d3b02f1a365c2aa81be8ec1f0fc6faa19a7532fd3d4e05f7f9b4cb60e3de875d2ec96f866f9d69ed57be49abddc2a3a97200bed79cab97535edddcfabcc67ecc968433397497d02a38c0c84effc0534feae0cbc985bb300ec736bd5c97c8374393c977b9bbc771b4b5fe7d8841883780b17f94eb942af3127be53fd5b58b1a0c54aedd51890c6434b3dc92f3e1db008dec15f0a77ea928bc9aea8f3aa30892110210d6ddeb43c1faeb8eb11b7727317e167fe66090ba89d5d337c0e9f83925ccc5cebca65c351764e92555379091cdafb17ec46cc4b17f94e9ab2e21322a94666e66d510b8c2e58d551ee18af0a2e857cf4cbbaadb1b8293b64c0942bba40d0feb77115dc01b083327034558bca3eb4e3dae7cbcd6171792b7b9f932e107046b4eb5440e2f02716e7898dce318735838a2352c19550f9eda5e42e1cfe06816225792ef3c2efd5a8966bf99254f169f76e9f50e29e72525ff44c3a175abb32a98d25005618af7cb3fc4de85eca7ea123240a44d32f103e4be6efc13ba08df4a54d806c406e48179ffd373f443ced450c37ed67d67
+Pseudorandom shared Secret A: f573f28e6e8b97482388593e071f0114e98b5b5f64ccb9c34b7ddad163595f0b
+877b57551f15b6dd837b74b2bc9eb79969695cca211b5ec0eaafe662c6d3c08c7092fb93d9e85c9a700aa5ab95c4cc7ff7142d85550cf6eda673ccd5b83e71c3
+Public Key: 2a9453fc7a0476fa8d562361590b6267608c0ada69b8060e95a0b52219bed08096d34734ecc9c3503c5895378329992c7498288f9463c59574f9aa4847c495bcdb8c86b778e6ba6991e22d1bc3a1cdd98a07c46160f614eb1943a87a06fd5447ee6aca6af27e3b0bb3f7278c863b0462b7b343e6acb8a76c1d11819ad25dffb5ba04127490557aff5c960c4c1cdae7984e800c2b3b0b918038e35176c040ae57337d1f186ea8a0bbff9c3d4502afaf076f9a92bf01f43809d6b897843e78059027f2bfd4ac2342356725078dceb2b71e6955aa2162e93a1fb949a0342b068bb99fe688763f77a332e9ab71ab57778001adea9c48ab47a93b9f0a8513093872e7d310cc5278f5e5902c61a4a658683ad8c9bd87c08c20163e003f4eb046bf7663f7105413a565694a522db72f6588b953470fc6c3c7bd5cc057e3b8a0647b4821a912778d095830fad87afe942ccd9411ad2937200957a907c225b934b7654890752c17b21f243329ff4bc2a0ba008012a20ab255d520c4193524f654c60f002d58a4812532164251ae8a733eaf162c21b13934986a5a898e229724e764666427665abb3471123fd7f1c4857a9e2d944b6b18ca3629ca18380eeba9cd2a93a41d1569b04aa84f12c612393703f121ace2ca578691f86c3f06732bd39c563cb57160fb04df76608af97998a9c8d8891c4af06e5887044c89cdcfa6476cb656a3d8cac590719aa9586faa6a4707cb6f35a4b5c672cd903267928d559115a1e500a712af77b7bfdd212fa5fa967db8b71f118359a41d43728f5c542fcad89189a2695a649b9bb417f84cb1ccb57e627772d0e11d90616914d3081fab1ae6865dbda0b9a286aa60d7812e97c559503589f7a3f6a0129d26393b2104d22a721e3554f7d13c66d25497605df3b9891d621670282ef4a298bce833bdb7882cbbcc93c14837faae249082a504547205853f564fc6022c4da92b9010b27a359b284742bcc997ef05989cbb457169b0e460be48eb837b2cc6c0774d7c90259d514328dc56306a08125360c1d9238a509284d2c09fba1a30f20d6d79594801c2e5933c7fa2a27c37c429e591e4d89263957498d00bdcf61dff995e7a3115851a62dc757e20f6560371c70fb7564357846b40c4f2ccb1d1f68bd6047d8ff47f3fc96d4b9b3e7cd7c5c21a178353c48ff845a8b32491f11b55359053fc42efab7eb23295d59ca028436a4e8049a59ac6e410b80503ac91e1c4f8526c752910de0294f4e34e0b1c4d58db0abc95cfb2219bcafc04910ca479dc221a294b6bf5b3496ab1b058a5e05768423942c4f34960f909f4e69ae34a1165f95ffec1043b716d1adb3845140802b56d86e807cd5666e7b344b1d77c49137cd4bc36ce560d8e7118a6e83fa7b78621814b0416ba3995001ae3181f833f6aea8cfef2058157b3113cc159682ad06797dc447334070e2dba30ef031a6f3215b18874b0e2bf6045155e0cb908362d3d05ab549a63dc195602654211f47be0f6b228f3249d6c2fcf1b9255a2a4f42cc5af2ac327d69caba49c5029bf58ea3b2fcaaed0050553f944ff7b7e7bd8b5d4a3478f2c32eaca159f29878461c08964890e2c8e79b7a57efa0b36e676577278df4c30e49705ad13a2a417771e70b5a53b70a65222c4b3c43d8ccdfdc6119e906f6086c4d133840a35849d64141182c91f632d5f1634f5a03f0471b79e6695bdb47a622babd7c13314c206546b5283d40af41095d0c8a47f97141505401fb426e2abc348b13df8ba5a12cb2c4be7825f101a336976c445342c043d783088608988ef789acd9952634c819abb4dab26bc3bb1c4553a4bf5eb8983881499828251b925c33382e23a1546f77921da060058b7fa727585d67773238638b89730dc1519fc0b55945fd2f84cc2a311b3a5519d2a9e50cb61bb759604228f426547e6d095e0b77131eb319fca0c5b1a353e977fd2a8b04ff458f2d4c35cb54dfac822e9c3c168e5646ec3bedf303a73fc2df372ad3c98485f2966924311c0cc4ac4186bfea320ea04881b042920954858b6c93300ba4f3888ee0a6de4a82fe06210c91105e9a3074da99fa453b8713452eceb5004bc3fecd171fb298c3cecc7a7672bf2a21a07181a9921b15a77195b99b5b9d2487a78c6a14acaeabc4689860135f0af545326e8472c193b34e6d719a681e09431eeb3c917468d4568d221e3be1276f4
+Secret Key: 2e246f79859fdb598986f50036d2a7014725c54ac858875749654371065c2b88b12cc9162ff7a6c08b439ac4901eb30505d54f0a41484d52b80bcb7f027381cd28272f70ab8df7cdd380ceb15222bbd887952716c83a5fdc470316d430dcd0328261c10ce91375074dc7b8933069b893ebc80772b6c60448d8b378701ab075b34a302b7fade463b25391d5e59acae3554504893bb226aac4701c537fc55454a5636663696c672538b945b8b17934c0445dca267a5a2b67e9953c3fd015d756c4ff4304fdbcae39a41cc56236f90057997431baa454f6092c41fa6f76a17c70270cbbf5129ba02c1d77bbc84a4f0d8443b2c3bb472735fce1ab8de3586dd8c025d04c940a4cd51b5c1421064402b4783c9b110ba4b3e358eed39d4bf48990b36bc5c3006f5b9557037bcf939835532c962972f778c37cb373fdc4509f009b22f035a7943b81cb861af0790bf5b8fce60c9fe8b974932be513b2db9781a9ac4c3c688702b21a8a335dd6a64ae1260e7ddb75f783376445a06bd66366034c75a37be49c309f09948819146204920b6c35517376414aa98e30a36fa6beb5a3c4262c2fc3fab5aeb8a85595ca39acc6b1da52912853d8374a74c7131e7a66bcd94d83744cfee195929b58456503b4a23acb010d93596123c4cabef27d8380cc53f56ef4b67be1f2c5aa1c95c15b867661a9b52a11ca7324dae7c77f4c953c4b79c7f48b942a70076acc66a9168041c5cdf72a0a240c8cdb917173ac99a309c0c23c83f45786975f074bc631dbca42a359c30808bfa1c5e3585e4a72106bd706bee75356696a44c35858b1239c7621cb2729e00785ebc7b33b90724a06c6a73948179135aaa277d3c360c30a454e3b62fba450acf558fe466f00246ae453c8783879f3516bbdd34b4dc969613ca0a74bba4bb90f32b3ad75eca43128b351e3a97f26312bac89819752ca1aa4124c526fd486c58bb0000a0c93895fa244b2876b054c86215a155e54995c0072c98ddc535da1ab47f645d1719dbe09b223a220bd58b013410c4d327a6919b2dcf059fe11b7a7707d944649f1617e1141089cb8c2c2550eebd88c6d85cdabe4b27c39b23da1346cd63ff52292525197dffc836ac97f419093c66670accc7a1cf65be195541d09cbd00463e7eccaaddcc393b87d6fa6225db03f2d0cb6490a90febc2132f4750e556ced352b5e74782aa2ab4c504350d1b3f6b0956f6a5fa9c10d02e13e6112903ed278b88a5988ea4201e582066816ad30554f896bc2d59349a37da6a64839ba30da970ee21a0f345b34e10066dd6804ffe4a518d877226b8c4121078623247220a7794b8f4f0b0399b95792a76e82108665057e381b332de573ee96428da1863fb1891d968770dcb2a75a65c3cb5e3b1ca18491621f1bcb78406496212c38c43aaae29cdd8b1c04fa6b04f971df700ddb65a63a9751abeacbd0402746a093dd7010771b3b3c2158a0252783e77dbc858f1a8a05411413bd953121624acf429850b9bf6783bde9115339022fd7537b0a9c72281c78aa1bab6e826ea1c9cc7fec7cabe8c9d7a30eff92cfdb932fd32a55db7a958174c95df1645e2256df377da630625f9475fd871d28e8c7f8d1878495ca5608b6aa639a9ab273b3b890561b0cdac731e3cbce5935a31245bfaa7179cb3554294060c5e18620500922003591f418747317243855c9e33e4ce94489b65a51ac3c9b91b614b422ab438284a1631e473eb65a098b9097e73635c09b12a0abc7d6d82ccad7cada7a8b6f7851547b74b9e44b57c9ad5b107a1078b13e240c8b4125fa366a036094a3037fd343489a65867c502ee8f029a3d5675c09081a879e71b78809a20f77fc67ae46ab479a28f1c32c831c3ebe975d8885026d4332f7793b0d6c0040093fb8f212909b3a7e04ceaabb498794a7c83a5d221c8f38486b24ec78f4f5aca3e28cffea2eae066a132cb39a38974b5b3a83b6a2d68638a95a8137b85d8943931491b9f83c37bde147244784ea91427afb98a8cb8f5a761b2b214f70e59236cb4c25245621f10c51d6b602633808dc045bb99bd7e058f3864c5936a32b1cb761ab8d7b052f8c8c590c9764374359047755ddcb0c43e71f4b838cabab3d3fb62aba512c0b289bdddc4ccb0236142676b634b618a71c77d5b0e72ab32a9453fc7a0476fa8d562361590b6267608c0ada69b8060e95a0b52219bed08096d34734ecc9c3503c5895378329992c7498288f9463c59574f9aa4847c495bcdb8c86b778e6ba6991e22d1bc3a1cdd98a07c46160f614eb1943a87a06fd5447ee6aca6af27e3b0bb3f7278c863b0462b7b343e6acb8a76c1d11819ad25dffb5ba04127490557aff5c960c4c1cdae7984e800c2b3b0b918038e35176c040ae57337d1f186ea8a0bbff9c3d4502afaf076f9a92bf01f43809d6b897843e78059027f2bfd4ac2342356725078dceb2b71e6955aa2162e93a1fb949a0342b068bb99fe688763f77a332e9ab71ab57778001adea9c48ab47a93b9f0a8513093872e7d310cc5278f5e5902c61a4a658683ad8c9bd87c08c20163e003f4eb046bf7663f7105413a565694a522db72f6588b953470fc6c3c7bd5cc057e3b8a0647b4821a912778d095830fad87afe942ccd9411ad2937200957a907c225b934b7654890752c17b21f243329ff4bc2a0ba008012a20ab255d520c4193524f654c60f002d58a4812532164251ae8a733eaf162c21b13934986a5a898e229724e764666427665abb3471123fd7f1c4857a9e2d944b6b18ca3629ca18380eeba9cd2a93a41d1569b04aa84f12c612393703f121ace2ca578691f86c3f06732bd39c563cb57160fb04df76608af97998a9c8d8891c4af06e5887044c89cdcfa6476cb656a3d8cac590719aa9586faa6a4707cb6f35a4b5c672cd903267928d559115a1e500a712af77b7bfdd212fa5fa967db8b71f118359a41d43728f5c542fcad89189a2695a649b9bb417f84cb1ccb57e627772d0e11d90616914d3081fab1ae6865dbda0b9a286aa60d7812e97c559503589f7a3f6a0129d26393b2104d22a721e3554f7d13c66d25497605df3b9891d621670282ef4a298bce833bdb7882cbbcc93c14837faae249082a504547205853f564fc6022c4da92b9010b27a359b284742bcc997ef05989cbb457169b0e460be48eb837b2cc6c0774d7c90259d514328dc56306a08125360c1d9238a509284d2c09fba1a30f20d6d79594801c2e5933c7fa2a27c37c429e591e4d89263957498d00bdcf61dff995e7a3115851a62dc757e20f6560371c70fb7564357846b40c4f2ccb1d1f68bd6047d8ff47f3fc96d4b9b3e7cd7c5c21a178353c48ff845a8b32491f11b55359053fc42efab7eb23295d59ca028436a4e8049a59ac6e410b80503ac91e1c4f8526c752910de0294f4e34e0b1c4d58db0abc95cfb2219bcafc04910ca479dc221a294b6bf5b3496ab1b058a5e05768423942c4f34960f909f4e69ae34a1165f95ffec1043b716d1adb3845140802b56d86e807cd5666e7b344b1d77c49137cd4bc36ce560d8e7118a6e83fa7b78621814b0416ba3995001ae3181f833f6aea8cfef2058157b3113cc159682ad06797dc447334070e2dba30ef031a6f3215b18874b0e2bf6045155e0cb908362d3d05ab549a63dc195602654211f47be0f6b228f3249d6c2fcf1b9255a2a4f42cc5af2ac327d69caba49c5029bf58ea3b2fcaaed0050553f944ff7b7e7bd8b5d4a3478f2c32eaca159f29878461c08964890e2c8e79b7a57efa0b36e676577278df4c30e49705ad13a2a417771e70b5a53b70a65222c4b3c43d8ccdfdc6119e906f6086c4d133840a35849d64141182c91f632d5f1634f5a03f0471b79e6695bdb47a622babd7c13314c206546b5283d40af41095d0c8a47f97141505401fb426e2abc348b13df8ba5a12cb2c4be7825f101a336976c445342c043d783088608988ef789acd9952634c819abb4dab26bc3bb1c4553a4bf5eb8983881499828251b925c33382e23a1546f77921da060058b7fa727585d67773238638b89730dc1519fc0b55945fd2f84cc2a311b3a5519d2a9e50cb61bb759604228f426547e6d095e0b77131eb319fca0c5b1a353e977fd2a8b04ff458f2d4c35cb54dfac822e9c3c168e5646ec3bedf303a73fc2df372ad3c98485f2966924311c0cc4ac4186bfea320ea04881b042920954858b6c93300ba4f3888ee0a6de4a82fe06210c91105e9a3074da99fa453b8713452eceb5004bc3fecd171fb298c3cecc7a7672bf2a21a07181a9921b15a77195b99b5b9d2487a78c6a14acaeabc4689860135f0af545326e8472c193b34e6d719a681e09431eeb3c917468d4568d221e3be1276f491ec501644719f5ce54412297a2f5c5c96e3c41e9a206ef1e5e084322fecf0807092fb93d9e85c9a700aa5ab95c4cc7ff7142d85550cf6eda673ccd5b83e71c3
+b5117b9c231b378fae86a1cb83cf4e40d28dfad851442c22a949dd34c5ea9690
+Ciphertext: f32b3b7a980f9369aec5016723b1f2d125ae331f4a79d879f76a29bff3492f8dc5fbf9b632daa955e083dda1a457fbb58d4952b0e960cdf42aefcb6e43e293f1d87a3adc3e794ffd0e4dc0565647a17b34b37316f9cdaaa9f7f9cf5202386c2a6801f28d6c6971714a837d22ec4bbc9e9ec801977280dba9413eb342fd10d31c96b48c12909e85bd55ef5d0f87c7100a66ce61ea829a1b81cdfc634663359735c050b891dae33225a690375d36e80d28c4b93f8d78a109b1a3e59bc589d9e96487db8cac41bbb790574c728b4ed81c4970867ef97b827949fea014f9192dcf4f4f257561889cbabd7dc07257de77d2e26828b3b694132b501249c458879f8a1b70110a7465bca61272c12e91ec6c780a6d1d3ead873627caa4bcfde75d218d01517e4d8bee628edba064869e54fc0f3d2ccbe1566d3c76f1000cb84ddd548a27fb691afa35b5e688cf54d7ee2d9ab4ec25dfd0250deef5924bf32027cdc61c59cc54dc834fd3da1ba5fd6da9259801aed25bee0fea70f061d015302439a634c5a89ead4fd10538ac44f408470ce6fedf087d591c05f5da7e6dc0c51617057e55997b9c1bed47659fd8772394ee0d03ab407ad3aab19955f72279a6ff33ace84c96ccb85d402b3e43da3d5c15353a5759bc1f94c614602fc402ffff71c2c92794bea5a5a631c8783a8ada391c0b36c718bbc81457fada7ae8297594d759029a579d403dac04129a30681dcc25ca5e7d071374a734ee8edb7931d5c90aaaaa069db38383e7eaa4d1e539b4715e52d68a946ad568ce8a220c48647d4fbc9b25866ef4f4d538b2d6c28b8cea28151f74bd6f8f1ec50b8b93a3ae634abc1b9541152760d36ce8d9e76005e8d7c393c98b58e7fe6bc486756e7ba0660c0e2f867c45911ac3b30a4ab7a793c0161773c8edcf6a68c6bd6e90c9c582e1e9ce920ec48603a6b75f3b6fea8b8e28af99705aea1635bc3c57f44f149b31f454beff86507fe7aa37c12d955a49147c1b55931ddf93fec3221e7ceaa52690ff2e6a302dbc81a339dfa7554c6755431b99d9d473fe865284230c9eb875d554b7b331b8e482597f7dfc8dca5180a9be3f33b831f472bbbb513e5b981ffeaf976d55b636a27f281f0fd090a62d6340b77d2dad8ece2ea40aaae472ebeef8d3e5394797f425f0ec8f983e346174e194ff213e7b73808fa28f36835f306486397bcea80ad4994038486633be48a36f6e4c03be4e58eff683365c0a47918015dc7c209041090ef9c9a1fc23b57c1d7f3f07a3eb0a294068ee5a3f0f9e6534caf19f8a38900335262d33825dc238eb9fe3c54671a71507536e4f0b08afd307b5c5435bcaa4c49b3b1e06b939d0d95ee3385ada1333ce5669df45db1011b5aba3c3e1acfff14135cc079b57448744a618308039bd80201c56a0813048ca065997cfc63979115d5322baaabdf5da191975533e02ca016f65c55f09605ae3c4e43315712cae66f0b81a65ca5431eea04bd7d6cc3c394bf4c0cc498ce661b6a71f32623635f684589eab5c1f7ba82b526da1b292b3fcac711c6ef2d5fe9651ff432aa5f28566f971052c16c9e181349771e982720455f0c788eef57da393ae36c7f90ec1716e5ca5226e772144a74532887c2bd1168143d0fdb75d39f3023c196c6ccf3b31c96c3e9cd22aba7a12627819a88e1d30e7f715e3edf4b1451692bc7e6ef432b462f9b081301b58cb70602af969a6523028702e16e3c256569ae5c2cb6f0223f7f636c3ca6e32a4f151d45aba632c4151f60f6651a3c79fdf50900913ecae25502685d17456c2557ee48073fbde54c1732f1d7063542e3044547cd73119be8e9676b451036dcf34ba362d96f01c4c8289dccf79c201dcabcb881f6d8d84eebbee0da91cb8edd510d814c9ab13b3a533635f1e7c5f2fb358a278701fb5191504eb429e2e15ed68ce131c3c958b28ee146f924e25912d98c3cbbbd952c2228f487774a590bf3433188ace429c2af2497feeebe93d0e70475a8989613927258b0e8713b5841db9b5d8e8f4ce352b6fb1007a0311ec7e5efb7e94a60c53af75c44d5218dc2203383eb02a8d7116b7a193c41c4a0d6cdf27fc1bcf2c9840b9429339e814a7c03e13826130877e470ad27536add8b6da3884d75443da3c70cbc62d36b3e7054b138dfe6422043a21e27f5f871c58bbcc3aab5c1d84d27d79aa62c52c1d5de49eedb2445d
+Shared Secret B: 514396cf35dbdc8f8e91c4205f982a449520b5a53d20d3c45cb0141cfba5f44f
+Shared Secret A: 514396cf35dbdc8f8e91c4205f982a449520b5a53d20d3c45cb0141cfba5f44f
+b0ed581bcc95569e875c388b56f864391a96e7001efe0736212ef96d86f8eb5f90373fbefa238208fd3dbb6981ca0c3aee12aff22318a9577f6053ff9426b536e9673a0a40409e6a5cba40dc30735d2400dc2f3c58263c6a9bf4ee2c3db4307b482fa4ec868919b8f802b4719b7ada4caf1d2964d5fc8507812af3ff09e5d91fe8556830e930b9f06f6ecf1cfbd99c6ce914f4a9c70174896811986a82be69eee7a4adee9e1d6dd8d88b92a281ffed5f4d86fe3604b171b5fe1d06712cdb545f49ada521e1b205b56b21779d48ede1edccda65d5b773912e0f7728242be865285415fb73a0ea9b3605edead60d7916376fd3a8052c9bfacc9c407c24a8f08a8099cb15130c61959e59f2b82b30402a98482eb376f79c3ac582230d3c9028315366a78def77c34d50875f18b16a2e484c60a46df9952166516249dd568426363301cb9bc20cc7957977482e4ef2d763c3faa196c069b617ba65ddd4d99d1eb2676ecf50365d47a1724f37ebd7dda33661875c7c30d3d3fa4a563d2145e33fe7a0562738d7e8a6820aee7f6793d50d82659ddd854d4dc603fb2ff85d428d395865df9e3912bca42ddf242b033d9c40f13ecd3f3db83dfbb7ddb5d368293647970f3647eedb89322719b394e0bd72c7f7b602966301bd1b75a0e8dd70feeafe513e2047c778d0827523a59d94a8173b41e647772b0b7a3bfcfbc94043b2c3fb48c52113095dc92db431bcc8f54fa451b3d090acee82115901617ffdbb8869e2dd52296e7eb57aba2495c5aaf428ad5588abc2f45663ad570b59ffb8401e7c3f04af8bda68925d0d8ab7435123bcded223df3da8e41fa156b6de0344526688633a72559df94171d269a4e78200f2fe646c7f217b2a2e12746c270a9a26d2a7f220c0310bfa5f60ea8ea023c7542bb3143534a2814a123b290080d2caae6231ff1c6d936dbcbe2fabf0c17a0ee3a79fcb41f55bd839400ee2f6e067120ab95d53b33d33e454303b09318588f857d4caa4941bbe2bf9e63f55d81764e3b4fb8fc8d5e81272d2861810e355781a05bb803ff1b8788325efa2daa7b44d7b648a2fefe278416dc9b947d844afebb20b17fc9b08b4caa42e9479e3c633a60a522b4f1b6b1cea0f51ac306cb3734e42e2a67eaf48e765194af5e894b136550d08d6d709f9ea3739e1383f031ce32de6f6ce8c9d895f380c9cac8237fa74c4738cae1914a3c5399fb84d00b6ea70d6aae95e722e4b8ccca06fb97d1eb5c626904b3a2de26f137b1b988aaa31856a09d217087fcf6441365f1997b7230168553779885f35a5754312c644d882c2dd76b3df48f577f33f587286f552549f97b613ebda8607f1f42eb1b8f733ea760656d9a2b1c57a3173b0454ed32c3d3c97201ef41d56605f316b45d095618d20607319c30b5e729b5c183ec17f94e3e5e02c2b1aff24cc7d0de43b444e083e2294da1a493d92165e8551c923011893f1b8edb38331375638c968716f20a6b880af97e15975ef628ab09263511e0746612af250e121b612b96bf0f5ff0340e95a58ec49cb96b7e179138650336414c566c8373d889d939d5d84ad73aefab79b1556678c4b9364fdc2a904c3997f8a452b6c2f5b47022c333c8a3c5a91a53e024858ebcdb8f53d15ae4d8d73854cff00f433b72ad9fe3cd86bd740b389d3480b125bdffc5eefc62aba2bec27371b623e8367ba971c0778d639829ef79c8cc811fae67d8923e949fbc41a9db2028ffc69743be6d4e38068866e5b7b29d82257adad2e0faf266260f8a1df500c1cf02a964d52be5aa4b9d1bc1540332f79524bd7ef85dd3b89df615a14622a9f99349d6f2b754c58b314d111faead81bd34613e9878d03284f9468677d3149771475a376c9c1fc82521a42f6f29606fa13fd437cfa8f5602f9cf62ea21d153f2302d9938343a5592bb4b176c8075a90abcb2513731e59b9a56649ff5197d27fdc566cea581ebd04c316c9b7a964b5070a2a818454981fd6cb797e3df75dddfbc78748d27de926971283ae55814a04f3fcead4c3dcfa7d28eb26c6ca84052089851635a9621db9c67aed375da1230fd561137d3647ebd872cdd3ebf23ea2759f1c98b6b81f97ec8d46ed31c92d0d38e9d362ec8fedf3b1fb1080365e92c7c0ad8de09a6c5d62f5c2b7683699d33a6a697f40e4b4ae4c5e4ff9303ebc9af8c3b42dc3171edce09bc101342a5a56ca0
+Pseudorandom shared Secret A: b2acf2ecdb34ab50ccbf589c269c308d2ff7f6a6a8dce57ff69495cc3be85008
+7c743d7976117640b44f52ff5d496987a42feb97c500110c05a093ffbed1dd8977a958c6b7bf79cca8da975fc09b3f3bb1590557bb87d98e2e178ad8932c89ab
+Public Key: e0ac7e4df5acc29433e191031905483f93b9cacb4a7b378ff61832ece60e3db901c190294e0332b5c0bafa293dd356233e6b388ab70e4c1cbe99639afd633b7f2b251edc61b51b789ef3957c3125c6e3239b75bd4fb63680f556d0eccf47917e6be21ff4dc5655e112c70321a461a5b7f75647d39999601065895a4f671c9871391ba43499599d8623bea025480ad20151a417b18362f0ab0ae24ab3dc761c54c48c58a6a022213ba2996725e816b87a8341c7c847808650f6269f228aecacc8dca5b9d01a3f99a449668461264c50b3440161958a781198a381cad1018009e2b38196609aec1dbddbcdbb7b312c6c8aeea7a32e5459e5cc4c24116af0174cef84cc00d5a59068c5e7da45905bb88c706600bc78bb5bbfd5183677035fbf21655db94fdeac9e5a6cb92e9a1ab5d420898583029626567033e7f1002fc16291f88587f05137791b75f44e0a9315af612821956011a94c2ac03a82102cf93b0b39210e5733819cc871ba884f7d97af8ae7b318abcb330a4bfea832462b244e61a1b7394223a1aacea89e307a919bb263ade47c0f35aad36b0dbc0757b147a09015761011a3948547817393ddf9a3e4b11b19a40722641274013cd7fb6aa4249b436ba4cd70657e6877f9501383a1cb6ba7c988441a26b87b2f5b741d20c2494b95531b8bb27b797abb81a2fb9ea48a7f10d2cd3e56679cb61dec5247403655a4156bfc78b1710542cfd939736285e04a55544165cd728f7d8373680116e707a7ee73440dc410730c0f336c566cac2fa30100337cb8e163cbf3643a39bbb3baf64d638c8287327be48a036da73081db077f113cce48197822caf528b24fe69cac8299e43335a0d4a40945aa6a4ba1ba697095d56e3b7a1a65ea6d0ee3a063c031cbe89c6ddba741276cd1f8124495cf70c35186278288e27e15939298a497763a67ec95bab3dc7789a4a268162460d0c745757c6d72082bc1cf18280caa6c89bc61162f70b0b15c6c22f3b26810065e3269e3dac957107821260895ab31000a5cd50a06c378329189c3831c4613e18111d4a7e417542c838fc59190e0b902e19aab1f293061c8ce75a3889c65a122216142ac0dd770572a51bc76346f71d863e28b8e3ea8995256282c8c7498db77758c92ed5ba901f2ae0e32900c7b1553093ecc2b8d4d217046a67d61e528ee864991968e6eab30913b76c7b43fee752e92cb9a88045fa2769d56acab3f894347703f34e9682fbc2cc124246236a6a2ec971027a5d07616be6c2cfd1c6c50755f19aca6b0457da178b5cab71a8ee7b7264a7442e49669a029d51b3d68c1c5d4e0b493704e6a23a4356476eb636278550323a3c294525fc1e044d1b192ddd9ce8bc3c976550b3c612056507999630f472a05e0c8677297021f05267145abb0c426882785df60b9ea886b905ab737f6190a328d961c2fc640919787267ca1575467856b99508b080a881b3364123e675cc6b0a25dcdc394973ac6dad78364a7be4e378f925095db868a3946826aca4334914865286fb9585b2461096eb881358261a8d912f56a2e00323831e1845a8c0e12446947a6b1f70179182c6f91d140b1d9aad0c0c4377cacf1267f3c4b888eca8b4d71423470673266091c3cc2f2d1a36759c0ee5a3dedc1944dd40935eb9331445523ba354bf1884c792a2ce588aff9b913c87838ec11fd1802302a66ad22bd5b009693dc557b85a16f23a222b684649319a53c2f54e8a1bb429824e0ce166c9717ac260d4a1b06b0469f72cca81c61904217692714b0778f2a0487183b9f077b17834520e8a3ca9cf3af0a780075d75e09180367a571b84a4a4cb936bf84cf6ee900fa9a69d57387799815abb631a104395d9c5e5fd014c1a4750e99862f227acf7a98797688dc400287125982f04103c6b1a783cecf777d426b3aed0b890ed76882837ead18c900aa7c2c5c61b9cc01df5a8ba6007f5427aad2809e967110a98b21bbeabfabcaa40b9127c8bc20fc112d77cb2981b3752fa85cbdb89f6ca8b2d70376952b5e29900841134d2a75b90b281ec4969de7223862cc85bfb4b26be5995bfba5a7627085d4488a35ce2b9abfbd2666bf2884d0682808192bc945c03ce315a4705da8ab19eeb64b0ef28f5cc2be22d87b5b1acd21629ab9a73a22b8bc98e93b865f8f744e2f24af76e435a90158cec2c7a489ef09f0299cb5d201846940d401
+Secret Key: 7b0678c7bc2eec316a499623b6ec8baf1cc4dd584c32ac6892d1a4b5308100e258c880a896eab55a460c3c83a5e912784a444688fc5b313a645466a26dcba4fb382fcf5a0e7aba01c916a08c33cf5a071b588932e1d4435cf5cb67f2a96ff4474c6c7ea1b5888c2c9677596c39f43cdcc52d95aa55a7502020e31d9a9a6bc3b56ccf40939348013f0a148b393b7daa24c78b2f45eb250e9c6cad819b8b614d4240a29903bbee552f1660171a28a573dc473d984f3adccb3c6a57eaf96b70643b2f92c279b2124b9880587a0ac767b3d14610c08c279f23c682f85cf84ba99fac305f0978d3eb8302238de362251fa78394166ef934718dccc3a5dc8c9c8715faa4a18d4aa89cd18e0beb551e519be408b29e0173258449cd7c70a85973dee11b349348e308b90e199b9fb51ed3d484b94c8933915e44944db071130ffb791946450e2612c121c3fa61c9a11a06eee4a5e3244f81382b057870757c23b36a2e1e812e2ef02fe704a05e9c3ffb39363413b366968fa5f561b0d95ecd58a1607792093437aec9a06d414dddd2294c214873e189313725dd5516f041bee753988eaa9060960e4ee142039857b5777b07a4391c58b48d2c949d3b5fe8c5733f074516d58bd5b5005d57a4c47ba20a633424f32170cc026cf109c4118c30c8b2f7630df1c2587f84a5b8869620263cfaf4062ccb4d5a38ce9249618cf6bc1e571f72c61427dc5031f343b38270a41474877ab324b6c032049511d95639f4a0bdf314e987a8ee31c8985709e2e7077a7839a5a4077cc76f07898c0e1030111c55f50058a4a961a236860f9258d3b608d353c292e8c978c05b9b4109e9819aebe7a04ec9999a11bd73f9a7ad46b263f464db03630a7349d5f7749d57344297ceb2064abc537305c26d16e6583046b0c748b3ac9a27fe9205196304b631495f6a7ed79b6ba3936425bccfb7d9620a74c4ee6b4e881a1749d06c1e330c560b9c76025408a47384768ba50194eb3b173b302225846f9d0c419d78014e72845dbc2e99b0c048121ea2d96fae093231442e8c24397f1bbb8f477e81a93b76e3cd0cf1c8e5e712b192b850b20ab8c84f24a7053597afb8d34945b90a92e11688e36c7230cec4d06c529a9aedf8b2e88653b413163204051f02640036baa2c654b0b0b4f49a0e92c0bd42d3c56b822150b1bb0e370f15062ac7a520875468e2544aafdc18e1143df0ab5392176c9bdc31471524a4ab3d26c2c5d25438f75cb3c222b7c1d26e103a92ac2236e9630d7d802ce08c33ecc50a66d173574ccf70243f02f1078473b26ad770dd8794da637d014594a27c4e67cb870039cb36279099812afeb4cc65f11f03147063035f910b8a430583ee239867949593c6746d7c5565b11941b82b1dc387efa87826184e01066fa7240d96905f98f455d6a67b8d30651a550198fb748b093e472532ff180b85a9315579cb8aa7080f9055a08a3d777b95f3b6c0218787612133a22b7f2802bea16060bc226a0f7c9cc8880340f0ab8af0b80740386d70c7e286108ef3c94d711844990359b94fa0e39ac6b60b5974c2dee44b51810d6f81485cf688fa4b7144383238407890b34ad2e209c6b5b4428945c841b064191eef845258da7ab8458d4ac1a3f488bc5d35965c0078341273f2c93ddc0132f2c92e5703d012534bfe670deeacc85cf402bbe5650ea20a8d0681794789f8528117ec4f6322a72e4a59487098764b88dd887ec1127c90124e2c181034e44100ac7c8a7c8e765a198db50ab833558a827ce12bc37400825abb32777b25cd2749854591c9196286774cd63574d0d670d3e269a9e42cc32c62e65c4028541248a9a9f1b50268a47ce6638725b1333accc0b106adc849acae974277d059cbd334b20739b3a6bf4cd467ca208db29c56f9877e02368fea19b03eac4bbf244e0a18bbb4983359c0316bc81cb2580c6ba37e088ccf58b559589ca81307afeecc0e1b1c4c3a038d7d73341bf247719ac5f2e999ef5b278333a596373ff8e8564b6715a39845a5a08b55865842bcb86878a93c517045020e803125cee494050456fcba6d6e8040d75365ae67102822cc3f39c92bd7b1333721fd1cb705295fda88625f0818fac68ee3a9cf0a254a6ac77c2f9570b3c48f3927a04a06cb5388656646b519b3ace0ac7e4df5acc29433e191031905483f93b9cacb4a7b378ff61832ece60e3db901c190294e0332b5c0bafa293dd356233e6b388ab70e4c1cbe99639afd633b7f2b251edc61b51b789ef3957c3125c6e3239b75bd4fb63680f556d0eccf47917e6be21ff4dc5655e112c70321a461a5b7f75647d39999601065895a4f671c9871391ba43499599d8623bea025480ad20151a417b18362f0ab0ae24ab3dc761c54c48c58a6a022213ba2996725e816b87a8341c7c847808650f6269f228aecacc8dca5b9d01a3f99a449668461264c50b3440161958a781198a381cad1018009e2b38196609aec1dbddbcdbb7b312c6c8aeea7a32e5459e5cc4c24116af0174cef84cc00d5a59068c5e7da45905bb88c706600bc78bb5bbfd5183677035fbf21655db94fdeac9e5a6cb92e9a1ab5d420898583029626567033e7f1002fc16291f88587f05137791b75f44e0a9315af612821956011a94c2ac03a82102cf93b0b39210e5733819cc871ba884f7d97af8ae7b318abcb330a4bfea832462b244e61a1b7394223a1aacea89e307a919bb263ade47c0f35aad36b0dbc0757b147a09015761011a3948547817393ddf9a3e4b11b19a40722641274013cd7fb6aa4249b436ba4cd70657e6877f9501383a1cb6ba7c988441a26b87b2f5b741d20c2494b95531b8bb27b797abb81a2fb9ea48a7f10d2cd3e56679cb61dec5247403655a4156bfc78b1710542cfd939736285e04a55544165cd728f7d8373680116e707a7ee73440dc410730c0f336c566cac2fa30100337cb8e163cbf3643a39bbb3baf64d638c8287327be48a036da73081db077f113cce48197822caf528b24fe69cac8299e43335a0d4a40945aa6a4ba1ba697095d56e3b7a1a65ea6d0ee3a063c031cbe89c6ddba741276cd1f8124495cf70c35186278288e27e15939298a497763a67ec95bab3dc7789a4a268162460d0c745757c6d72082bc1cf18280caa6c89bc61162f70b0b15c6c22f3b26810065e3269e3dac957107821260895ab31000a5cd50a06c378329189c3831c4613e18111d4a7e417542c838fc59190e0b902e19aab1f293061c8ce75a3889c65a122216142ac0dd770572a51bc76346f71d863e28b8e3ea8995256282c8c7498db77758c92ed5ba901f2ae0e32900c7b1553093ecc2b8d4d217046a67d61e528ee864991968e6eab30913b76c7b43fee752e92cb9a88045fa2769d56acab3f894347703f34e9682fbc2cc124246236a6a2ec971027a5d07616be6c2cfd1c6c50755f19aca6b0457da178b5cab71a8ee7b7264a7442e49669a029d51b3d68c1c5d4e0b493704e6a23a4356476eb636278550323a3c294525fc1e044d1b192ddd9ce8bc3c976550b3c612056507999630f472a05e0c8677297021f05267145abb0c426882785df60b9ea886b905ab737f6190a328d961c2fc640919787267ca1575467856b99508b080a881b3364123e675cc6b0a25dcdc394973ac6dad78364a7be4e378f925095db868a3946826aca4334914865286fb9585b2461096eb881358261a8d912f56a2e00323831e1845a8c0e12446947a6b1f70179182c6f91d140b1d9aad0c0c4377cacf1267f3c4b888eca8b4d71423470673266091c3cc2f2d1a36759c0ee5a3dedc1944dd40935eb9331445523ba354bf1884c792a2ce588aff9b913c87838ec11fd1802302a66ad22bd5b009693dc557b85a16f23a222b684649319a53c2f54e8a1bb429824e0ce166c9717ac260d4a1b06b0469f72cca81c61904217692714b0778f2a0487183b9f077b17834520e8a3ca9cf3af0a780075d75e09180367a571b84a4a4cb936bf84cf6ee900fa9a69d57387799815abb631a104395d9c5e5fd014c1a4750e99862f227acf7a98797688dc400287125982f04103c6b1a783cecf777d426b3aed0b890ed76882837ead18c900aa7c2c5c61b9cc01df5a8ba6007f5427aad2809e967110a98b21bbeabfabcaa40b9127c8bc20fc112d77cb2981b3752fa85cbdb89f6ca8b2d70376952b5e29900841134d2a75b90b281ec4969de7223862cc85bfb4b26be5995bfba5a7627085d4488a35ce2b9abfbd2666bf2884d0682808192bc945c03ce315a4705da8ab19eeb64b0ef28f5cc2be22d87b5b1acd21629ab9a73a22b8bc98e93b865f8f744e2f24af76e435a90158cec2c7a489ef09f0299cb5d201846940d4016ab09686bc1cf694a162faee0e98def8674a383b0d92b30f5c743b99d24c3e6577a958c6b7bf79cca8da975fc09b3f3bb1590557bb87d98e2e178ad8932c89ab
+cc02789bbe019e6ad86ed6ddd0878a3a6d5e1f918e763eada8dc0d54c464c35d
+Ciphertext: 807fe8291d5e309e07c4d50ade3816d92e0dbe64de554a57f39856f9a1085465b8e86328216d0822e9fc9eca1a53cb11f05628e075330c8d42a654ade8602b16e8e6c47fccd28c6d6ab2435789855cf0c43bde6c436401a7e70face34882327c20c56da35d5cf101d5c3f07e6518cd2dd338b9cb67ce8f7653eacd93b2d0f8f761dfba5c0694d7d247e7459183345d92d4c0745b80393ff1453f21eec39becd95aaf4f0c22e3b1a5fe2b90cc7d0f33ad999f9803287b1adbb2cfce2e57a509a5c6b99e545563d2efd09780d69c1033675e05c92cd0fe7cfa109bce083a05dc70fcfd7f3fbfbcecb1c556328778eb63a0b995edf5fe01d10aed84ec88f4ba51532a923768c46e541e302cfa29c32d246f6b8d9e5c9fd7da4babc57f7ffc745fe8467d608b2cffac5a38e3951a266910e6418239d8414cd4a37e36ec499fc0d8d9dbd4309637fa633328abc517e24540c3056f5ec8c5ee0e70fc724c0d5571479ee9dd3559025c3d04cca245a11741cab671a1269c5a2ef4653d917eba00012a8325016c93be837e0a6a178a576ec9b5426825905369c3aeada17584b96231cbba3ba3b04d1383f1d5c4a99b3b576ce9160d2097266854cb5ad9981bff613f3c56c5d50979250ef1b34e5365cc7add6880a387f93d58559327e20705b410de74756e70a7dd703751eb6aa136f1995a89eb946a474962b427512197e8e98cf6aa04f268cfb9e2733663def76fa6085c38c545ea5f3395ccec192be8006c3765e37e04be340b00f4683ef710195ea26556cca6f1ee007f9575aa7efced0f3e95d72bd129b5653511b3202a32e3fd819a63260fbdd361f5ca40ce86353c28b40984963a0e591ec07ca98e634514da1033d29354e727118bb12d9b2780270f0dad8abdca4c5e52cd78b12529775cea9d6ec994d6fd2813ef17d89552d78e972982f77a1963ad134326897a544c4f016ff22f3e6d2175c9f4a66bcbdc0a897f027537d1453a7438907a3c39075283bddf1799e211ec82261a553b2d354dd1541b7fe253965cec51aa6a37968dbb8e060d9ad41ee893a0aa2900612ec030f8794b375e3c9fd1609c50247f0832962ccb14ec96e20a5f0fb84e6e9dbbae7477adb01269a1b3bbf3c91825d4c48245986372db614340bcbe96e6923eaa3e8e73faf4b8da08183408fde7394151fdf542f72e56520324cc1be12b3a8df56f5ce1ba63b22cbd851d8f94e2bba9b6d62ef2d3731760434e104bd40ea220c1f9dc9b2ec432acd6792221f28e47767701266d90fd0a2a2eeb090f722d2aa8fdb848a162a4f2a33146ab3ad2d4e10fe328a7eb01509d650188683e9f1495064c89f2bd298c5af0947092bedd3993bc8902eeaf89c24c7ae3f6f9fcfcc4529edd697fd1be3b1fa44f3712ed2c5af8c02403001a529b3c0fe8bcc5222b5f73632110a305da8e1daff77d5a481877b60bc712be1032bb394657ee359e0cb4b28eacfa8fbbf360cb5d4a9ee85b9ce3a1fd6349b2487f301e04dda890e4ed33d33ae0856b1b6000eae6cf3eb49087e3e7cf12323633dbd74976eb36f5fc44496c8681dc564e2c2120679cf2c5697b19c1cbeeb7e205570c85d46caaa8830ee342fb9b9ffff50538ee4dea5ef005568d2b758b1247ecd1fadafdec1921eae1c9b16b44f17ae594d61439d45c77c87350a6494e3bc580baea32ab49f7a128bc6f5c4b5301e1a58a2790eb740ab3c5c4d30e8ebd14dd0a1d330667d22c285157d5261c0b1a505862e8a65cae93beae410df60c59b5f437775b5ccdb6b26d9a2c2eefa5469284dea31a47191ff639602936958c402be3a02f43e605dd7de884f7b1b9b84d961672f4cc98354259cf937bf11ee177fa95fc18efe6b67d96289a48e6384f01166bc1632830c7c79664febf1f06086b363fbec6bade3449171ffc718ca9c16d89da1906e14caa419489531303d5b6f4f28f88a672f3e7d0b66e4a684f378bab1fd27bb018603ea03aeecfc16d46faee928c1a7f76c9103be33e856956d060dcffa76c346d5f29b02e9edb12f314cc29f6e0d2e09adcee932f4e358bcd6b27fe31ad4db11f0eb528415442a3e843f1462fbd3c12b567a0cc02867053a50523a59995e9ff7d5674cd4f440ded2c2d0fb7cb7a2ee75ba26659ea511f3144f0134bdacc1fc1a04328efb6af0dc6817bfe0550c75235238e4d396f65212b4229b0d7b55418ba7486c866
+Shared Secret B: b08027f1c0e99043efafb59bf4703e479a9dd2ee7aeb5fef064b354a7ba09586
+Shared Secret A: b08027f1c0e99043efafb59bf4703e479a9dd2ee7aeb5fef064b354a7ba09586
+9d9d51d840ed6f4fcdcf225b7d31920ef82024a9c626e37ba29f37965167dc14d6359c713561c48b7a89da58eebb4b6b7486070e1b3ea2c7f8079e59fda0671536731e3374e22c7b217e294b742a600f629579b7a3d198f6b666df7e41025bd88786d671ecdbacbda536d63351432e1d38b3e9696999af5b48d62ec4e089f233a522faa1b9207b60792a0fe3fcef3c3d0245ed3faf63d969dc6a0f34af0fb73256847ad5d71a5187610caca63372d031836e4353a847bcd2220f8d76fe58a55ec5cadd541fcd110d418d7c3d801f6985d844a8747131efb69d155738aa0556095ba0a9fcde59644557f970bec5198cb73a849cea950b8d2c9be4e14c1138533a51740e48baa8dc32250072dae4a9843e520ced119b6075571c4efe069a561066c8832f033a6a2ea86f7386dd90e8b995dcad7b16600a8e11044f5e6b0baff885ee6f2147490d95a0d8c4071e8445ad9246b5ac265b2766fe6f38942aac7d891d4f14072bec2d61b72db4cb692e6c85b446ab27815381924e88b309e9d40db170fc8def75aca5e15c5e7fc29dcf2566eeec7572f5418782087399676eeb761944816292a7ccdc726f8fefb39909c58f295eb83beb29b41dc7737ed89a59c1a4f7bafa01dce0334bad377c784f01e7f791fb1581f61c04c16aab83dc05c5fc901ea626ef4fbabea6a2104e11caf69b6737fd1e08181bbe418e5ff7e1e1c684f87175a46f5aed180e23fde025464c0fb95c427cf2efe555b4e1b69143c06a64416375ddf7463cc78966c89f084ad5b8ff1abeb378f91b55fed848401004ed27783b88a3205bd931dcf9871fe119a24cbc075628b5911620c0d19f6045f8b3c2ef502f5564c97fd21c942bb97798282a3c8b0648a3471dcc2aedf486825dc689dedccd413cddfa756ce837161049f22c11d0a20d6df69229b9a4d9d2c079b97d6bbf8700f1ead2afaa63e6eb3c357bbb27c0bf787d0ccaf9ca93353290b73aafbdd1374033e8451312a441e8600edbb8f7099b9e356290f2acf286888efee863d81c3d21c6febdfd52ec81005084e2a2cf92475e1bd079800e4c906d3e8190b477df66fac5e0bfbefee3e5f128d480b9c8c19c936a670f2ba2d1b1c9ed0ed573a581bb76f67f0cfe73fc9799573ca157158e1d1a44c9663cbf2abd78dc4297af82c736f1cc45d950013afda538f6544285615172dcf8079976252b6fdcdfeee33767b1650f9edc815473074c31b7632c490b5ff5c76867c1397c09b3ee8a21fe233a75ada2c209ca84dd1e7ac288e85cd6d16163d353e96bd717f90a0339a0cc4c50be795c9ea44284f51f55c55806c8b293cd807afbddd0c25709b326467b399b96bca9ece493c2dfcdd087cb3e366a3be7885a6fd0cbacd3b2724cf961dab1209149a702f82b81f313c7d8fe0523c4402a25f119459d4798343ceffe183e446b495ed0c89aee1656815f7496cc332fd21995f986c3b0e9a8ed406d94f657cecccc5ffe641a37e580f687b2fa99ac5fc41666cf01bb23ccb3c0514adf8f1921062e9987f010e5a5b02c327e7e15664258a49a7a4d59e1b31eeb5df9b8499a8ae612ee211cfd7ccd4cb662d3901308a8c2ad8c426b7bacc1db5e70700cde9bb195967a201ea4d02a59ea4368d84ceb5b5816f72c43be7d4c8c83f478ae0f6307b93e5c824639e368787568e94ff535a5896a1c187de3a622e221a29941b5c41993f9827ce60335aa7b967f71d97195c60529dc34f67b2afc2f183519d10387b5cc2940baeffa2532a0abaa16caf44d3c71f7316f1d3f37a4d10828f8d3fc8af0938e673063677cf45a156d41523b3ba461025360793d61bc50c8e3263489d829a118d57497e34ee27521de15c179d3c2ae13efb3744f93051dbfec1d19bf3e18da905f637eebb4a0e6568a7df436ab4faa7307827e4ba05ba8c406e093368dd93cc44d44014343a4fc19bc9adaacf8e262a9a7dfb0146652535c6fe51ce38612299d29b12004c76a41892644cd6e1a2277af50f1162420f873e93e7abf529e759b02f5cec0f3b381bccaa308ac91e64d17eaeadd0cab8af3dc84b0e5c74ce6af948ce341d17a2bf5a7039a6c1fa77ffae8e50508f3b675cc9eec2ed57db44ef6fa107a4130e6ab3a31be1c4bfa4ddcb63efd89c2d902043889e8372245849cae34c97c6ecb8f8fdd780053062a32d8734d8210f794a04ac50931fc72fe9bcbcbae45
+Pseudorandom shared Secret A: 8d409d42279547c5a60700a37a86e2f8085b652fa877104bde843d38cfe360ab
diff --git a/tests/mlkem-512_ref.inp b/tests/mlkem-512_ref.inp
new file mode 100644
index 00000000..57c35fb2
--- /dev/null
+++ b/tests/mlkem-512_ref.inp
@@ -0,0 +1,495 @@
+7f9c2ba4e88f827d616045507605853ed73b8093f6efbc88eb1a6eacfa66ef263cb1eea988004b93103cfb0aeefd2a686e01fa4a58e8a3639ca8a1e3f9ae57e2
+Public Key: 5ab0a7bfc623d42b0665542682a7b4a3b7a383775b3b64ccae4070e165059691b7c161acd0904dfec10c80caae89ab920b4540c72589bd4209199243fbf1a0f2e7a09dfcbf80d9aea3f29d163c6d802b853f0687e1d23222c5b31b743a92fa00c44b8dde44c1cd3067c70a4376863e241640d8a31bc67a5ff586acaed0b1c60944af002e36e4b38fd32301f0ae3ec5cc0cf1aceb48be90324dd7113d9e24640f1595a651b29212161f2c909d76bb4dd48e0495a08f989a3fb3a2a5f13051547ef4089a4ff46906928ee70c066c3c382f174fef83818e081d7b69472e23c22875c269e800762c47cbd97092ea08a84099c5535b756790b9ec6818fb51ad273cf66b0a59e822b44051ba433d318980400036ad62c424a28c8d4c724e798254e121033b48bd2317c66a4750cacb3883754c15ad9edc64260bae288aa730aaabfa12087f9c0496ec6c59c92e54480b3fc119fb901326c67c66398ff8b945ce4335ac243912a716e6364f15127be1475f2af912176b79790b94a70a4dd0469723c1775490833554132e5a19843251388350ab77872d2357fd2b974b169e03fc9325b94100f28659c51d0a3410f96518628b87e2b5b3cd87ae48b6b0cca54e483046606a79e79a3e8a01233518ce61a72650833ab79267fc04cae1e71dbaf86201d7407de3732447335bea3c4b75709b307807dbc0c9c647357843f5a76724c395e6b69b643520a45c8a94f83497d6aa82604e9763863f9943e06a8bdbd97ab703a63f6c56f7c758e4284ea50b6cfdf611946c6d350009f2325005949fda49702412a70960151b38311ef01d97b43e924216035986434a7e1d16405a6132212a304ec91da7f0a3e40c1dea0cb46442cddc0361216a7daa533bce0796b9a9088adbaf61e79916e08388e6acaf030bc6dc77882a5e7e9a658f97c47c6a7a3686b943dc538310190eb4922168149b2092b94a825cda24b944996bb270b488579049a1fc845b65fb04520a334017837533acf1a0592234b8c6697923936afebb66dd75bae9eb8d1c58ac80e075765b5ec2336396591bfe94c8efe00a54130a37a3a5e5d81b4cfa93f56ee922c7d660937b5937c3074d62968f006d1211c60296685953e5de
+Secret Key: 3cbc538da4542cea83a2196a1d2c2f6edbced032b2f1c113d49001c28180a29390b86366d667991698ca0bc40e84f9b4d3c13b312985a570852a96b590fca08606b540872346b0beda3c1c78928df3a699578472dfd4325e48bdc3ea33d6f504a1f471543a9a7e8bbd3f768613bcadbbebbbf3113702c8916f7925464c7bd3f8c804c1ad0d237daf45cada733eb5e4ac9bf4c7cb3bc19372b3719acaf611740a10a239d5a821ba2d7b2a953fcc708e78a869a04812a391e1f2776fa8530e632ce8f772d5332f6b78318db81f4c822f3a0361bda2584d0535249b9376f09082d3084ab252c8907852028faf349631a9c38f8087c18bbafd05b9081b6465d33cbf13495e327923a53322277f9a0cc941952ccb8647325079150a6e636ab04ea127368b3bac7a5f0e701fce43bd52db5eb9485ca6e24d9a6caa39fb3eb069864e47154e39b41b77b3bcc39b09fa8aa21755503c760d44981c39ce57795c3ce69b4d805fd0362ef263064b1070a8fa4179915b87e53dd090c11935a966681692c457c24596f9318ef57b01919056a020b059b7bf3a608014d0139fb27b38199d980a9ca198925696bb549093deea5e56ca060c8958e913cd3257ca3891937b4a8c65e8216fb64910a34e46869902bb5969551a4b366ff4167de838ca03e3c1260729ccbb36fa34aec0e114b7e1b8cb824cb4599c00766bcd52b03ac1853363c5917847f3e58f114b7904cb65604c37854828df2937794c073a28c859b1bab27ab71db4719eda0c94b0b3a37ab574966558a4966794ae2724700687b06b7064fde8a6b8113105e8cdf5166e7b639cd799c2bf20bcc9143e816054c327a7ccf60dad295784229be8259b631c096dcc68d3c111243bce38c37b59084103685847963bc6416172ec67f3619b5429a9558aaa062387ec9aad9777ce6ed7acee99b611c79b7c7535cbe32b5d44023e853ed41c42b4f9cd8e8a6e7864b7c103b461330786dc17ac97880c80c688269ae6897cb039a6e613300f399808a61fdd05b87171722edb5d47db520f579ac1c6277af7339093ac620c053ac813d1c614fef0cb2cc6705ab0a7bfc623d42b0665542682a7b4a3b7a383775b3b64ccae4070e165059691b7c161acd0904dfec10c80caae89ab920b4540c72589bd4209199243fbf1a0f2e7a09dfcbf80d9aea3f29d163c6d802b853f0687e1d23222c5b31b743a92fa00c44b8dde44c1cd3067c70a4376863e241640d8a31bc67a5ff586acaed0b1c60944af002e36e4b38fd32301f0ae3ec5cc0cf1aceb48be90324dd7113d9e24640f1595a651b29212161f2c909d76bb4dd48e0495a08f989a3fb3a2a5f13051547ef4089a4ff46906928ee70c066c3c382f174fef83818e081d7b69472e23c22875c269e800762c47cbd97092ea08a84099c5535b756790b9ec6818fb51ad273cf66b0a59e822b44051ba433d318980400036ad62c424a28c8d4c724e798254e121033b48bd2317c66a4750cacb3883754c15ad9edc64260bae288aa730aaabfa12087f9c0496ec6c59c92e54480b3fc119fb901326c67c66398ff8b945ce4335ac243912a716e6364f15127be1475f2af912176b79790b94a70a4dd0469723c1775490833554132e5a19843251388350ab77872d2357fd2b974b169e03fc9325b94100f28659c51d0a3410f96518628b87e2b5b3cd87ae48b6b0cca54e483046606a79e79a3e8a01233518ce61a72650833ab79267fc04cae1e71dbaf86201d7407de3732447335bea3c4b75709b307807dbc0c9c647357843f5a76724c395e6b69b643520a45c8a94f83497d6aa82604e9763863f9943e06a8bdbd97ab703a63f6c56f7c758e4284ea50b6cfdf611946c6d350009f2325005949fda49702412a70960151b38311ef01d97b43e924216035986434a7e1d16405a6132212a304ec91da7f0a3e40c1dea0cb46442cddc0361216a7daa533bce0796b9a9088adbaf61e79916e08388e6acaf030bc6dc77882a5e7e9a658f97c47c6a7a3686b943dc538310190eb4922168149b2092b94a825cda24b944996bb270b488579049a1fc845b65fb04520a334017837533acf1a0592234b8c6697923936afebb66dd75bae9eb8d1c58ac80e075765b5ec2336396591bfe94c8efe00a54130a37a3a5e5d81b4cfa93f56ee922c7d660937b5937c3074d62968f006d1211c60296685953e5dec9587d0d63030d0c1c15e675ff63a2f9ebc156baf15a2da1645528be68c3ac2c3cb1eea988004b93103cfb0aeefd2a686e01fa4a58e8a3639ca8a1e3f9ae57e2
+35b8cc873c23dc62b8d260169afa2f75ab916a58d974918835d25e6a435085b2
+Ciphertext: 8319806833fb7d426b9295036fa2cf3746312a69d94fdc3e7bfc2fafe3c83b3996bcc1de0fe290e7126622c572156be5096cd582936c05baf9b6a11450626b73a5765389385e034d8e5a1c9d2ecbad43ad36cde1bd65110d2285808ba40adb4c675d0ef1283e014c52711c45d4a211d1dced78b02c240d78d3ea8e8a9528b86c9dfb53aaf7cc861166a4924a781dd6566cca3e286c323d699cdb6a205a7d7d734e2e006367d7ddf9ffb13245fb3aa800a1ea92d3c2d6c232ea069fe7bea5737b05f981a8421673c2f7eccee03279b19b4d95e20bfe780211f0b1bab5fe69895eb83cfabe409ec581c983b74d597975e0751eac203b1703886e7dcd4abfa15595b677d20647e18c7d1160f069ab33982306d563c42ad2f4499bf6f2c2a57cbca59c26e2fec65654ab8d9b11ce189ed7d5a180b9f1c9c8fed3a24e69277f010460e796a5b9c1087ac892b076fe557961cde84c16ceac72903141f17c656f384db89a57a4a14667c9abb160ab2e217c03bc99b8774affe9695754e69e04a1156dc18aa3d9aca6e245dcc8d0bee2b5128aa8cb2eb2870cd7c4342c9eef098170cfecdf75ead9fd7ef6e42b93edb54b216970c90575ecc90eba316812670e1b8db08fe8daae5a2feb99d633c7b24fda5a971f862eeb6bf9563c0ca00e3b3dc521cbe77cefd66ac8c0eeb5076018ea263903514b608f220cf8d74de6f46cf05ac3e5945c98e113ad93678acb8759db6a0a6e3ec79b4a67c55d3f5ec40b641499867d8b825ef9d54132e583fb49cd72028503f47b1733a46f9a2101d63751fcb80efb4a0cc8e82c0ffa0217f477aaa9caca183601b51830abf52df7f2afbf5641994545d962f39781a2660f09be4063342d6c0103d9d88df6da9fbbd10758ea66ee4ba0ceb632e04ac1da62e6f2582155318a0e916c8fb3b6e8937da63bb44d06901b9e340fd65bbcc685c4f8b74591dde2623d09a16ab29aafa606b821553367cee4991c22c281c11d7922cde898d5ec4bcc6d40a99c715f16cb11661038d7af218074f0db79c1ea3508bf908b545abce5155800710b0dc588d9a0ae0102881f525c5d
+Shared Secret B: 7e81a8fddd49e9a524da0afff64b8168743f0a61a7afe31b9056e93171aa39d1
+Shared Secret A: 7e81a8fddd49e9a524da0afff64b8168743f0a61a7afe31b9056e93171aa39d1
+badfd6dfaac359a5efbb7bcc4b59d538df9a04302e10c8bc1cbf1a0b3a5120ea17cda7cfad765f5623474d368ccca8af0007cd9f5e4c849f167a580b14aabdefaee7eef47cb0fca9767be1fda69419dfb927e9df07348b196691abaeb580b32def58538b8d23f87732ea63b02b4fa0f4873360e2841928cd60dd4cee8cc0d4c922a96188d032675c8ac850933c7aff1533b94c834adbb69c6115bad4692d8619f90b0cdf8a7b9c264029ac185b70b83f2801f2f4b3f70c593ea3aeeb613a7f1b1de33fd75081f592305f2e4526edc09631b10958f464d889f31ba010250fda7f1368ec2967fc84ef2ae9aff268e0b1700affc6820b523a3d917135f2dff2ee06bfe72b3124721d4a26c04e53a75e30e73a7a9c4a95d91c55d495e9f51dd0b5e9d83c6d5e8ce803aa62b8d654db53d09b8dcff273cdfeb573fad8bcd45578bec2e770d01efde86e721a3f7c6cce275dabe6e2143f1af18da7efddc4c7b70b5e345db93cc936bea323491ccb38a388f546a9ff00dd4e1300b9b2153d2041d205b443e41b45a653f2a5c4492c1add544512dda2529833462b71a41a45be97290b6f4cffda2cf990051634a4b1edf6114fb49083c1fa3b302ee097f051266be69dc716fdeef91b0d4ab2de525550bf80dc8a684bc3b5a4d46b7efae7afdc6292988dc9acae03f8634486c1abe2781aae4c02f3460d2cd4e6a463a2ba9562ee623cf0e9f82ab4d0b5c9d040a269366479dff0038abfaf2e0ff21f36968972e3f104ddcbe1eb831a87c213162e29b34adfa564d121e9f6e7729f4203fc5c6c22fa7a7350afddb620923a4a129b8acb19ea10f818c30e3b5b1c571fa79e57ee304388316a02fcd93a0d8ee02bb85701ee4ff097534b502c1b12fbb95c8ccb2f548921d99cc7c9fe17ac991b675e631144423eef7a5869168da63d1f4c21f650c02923bfd396ca6a5db541068624cbc5ffe208c0d1a74e1a29618d0bb60036f5249abfa88898e393718d6efab05bb41279efcd4c5a0cc837ccfc22be4f725c081f6aa090749dba7077bae8d41af3fec5a6ee1b8adcd25e72de36434584ef567c643d3442
+Pseudorandom shared Secret A: f2dbd8461cb2393973b91433b8b3f06757b0e2a6b879e98f9ff01fa1409ccde7
+94e8b2086b87f69c3bdc0d5969857082987ca1c63b7182e86898fb9b8039e75eda219e289331610369271867b145b2908293963cd677c9a1ae6ceb28289b254c
+Public Key: 07b0c3ff335c192caf0234706ad26ec047c90f861b76bbc8e0c9b8d8d61d22f837e27687e2d0923813ad50460e75932769628315a57c25858987ca48a54757acc03f9e46761391ce109c46e5a261456b5c29d443732a7276e07324474b9a3151bac934bdd052817396ae824387b9907e2b6a6b4b95ec76c97ad5a466375e55b84e19d76771b041f4b481a2997f80762f6a25c7449807725406a2f3225b0195cdb5cabfd72691395df1434744ca663e53a8016273f64b1752426ecba481ba52ce0dfa32df2c9c4b550d6b8bba83e08e4cab98ebc4b14d0a6df8b07bc8e68f9c48ca10f5877b92c9a761bb904bbf1d9c8776d7357caba1d627667b8b36d827ce4b68cd164251873c1d140c6a62d252a9346f24a0910a4795ea82aa10940021377d3f360b10ba9f490152f920c739698843f074441585f520611c5878bba5422e128c56c39f6b401f03897e06d18386b3c5de0019cae417db2a17067a7cef2b691ac619965766b5a7380cf35e97513b195bb16ca52808e78d71c2064dcc39691ac21a74abe58220e81bb01a747851e102ff90804115170fc326a8c3938245bfc74b6b32787eeb8c6f51537c66c3abc1a02041b87d0b172a830c58070b7e84041bc0f491e34ba2fff71c693c785fe84d5b58805bd28db7c48ffe35b460dbb5db703d06d7041603afe6764b104cc376f097bd2753fc53b6d0581ac7919da7f2bcff2194599b1debd021ae66a391950efed913bfbc597fc50c9892b61aa965809543d7ecbedac319712430b9e9b4138bc44962969f1243db341fca464a70f69436b5c16b3b96486279f361bf97a57546840c20ba11df20c3cec487555790d9129f8472638d2b6a40c24e0fa3bd79e07c6e5175198a8668f35cc9aabb18d4aeb3c6caaaa3aa33768143da1f3fb7a039249e3995ba114c25f1930059e1c5f76605b45a498fcb38b3b656466023c3166836c01df12c9463d7c97f054fa307b08758078db7ac742471c75668eefba9ac7344af30b02577348c0777029318df086d22600315a00e13ac086ac84bfce9c81616a8229b5baa549c4318b877594950684eeac639138df84ff639deb7414fdd3e2e458ec14849fd3477d14552a960249e9b9c9b0d
+Secret Key: 8ac28bd238b5bd576d7acbc66236355bf41526ac34aa035248d1c9aaf50672d096c85714e2a728c356c17b0cc6a352b31b0c2670e59a4a643789d94dfa501d759c238e446d4a1c99a5e15b3282affe63af974a711ff10265179a10d66172957a2f402896a43b28e5c529923eb2a0c435f65f72648767096f469c287aaa0656002cacfa3bb7d1666492233dfc8e7449338f733f0a321500d6c64e270fae05beb48253e64b915aeb590908a391bb867f459b870586ab733cb9d3590639b9c4d40cd0b92633986cab67813d7219c82a07cab566fcc57c31365434797322d916ca3098a93a2a1902625a582718b0c3c3c2c9b3515388db841251a50af30fcd6ca434e76a8d326fd69cc0529c780277b862c0128a50c27ebb2db00465ef0b4cf0ca9905f69ba06a45de9668c83a457e420561248d03b29e08c8be2a219b299c05c4e6935065bc13588f6d02b14cdac8766a7156e268ca153e6f701f79ab29f2b74ea12c0be33a1c7987070d55783156bc32c0089cac5874dc7a90d0602eb84583fb6b32a25360024d7e877ea142924b4a2f1954c532e33a53865227e95bddfa926b944a21e9706f143e55048e01597c8457c3e2b009336cc73b60b88dcb87312408afe2cd2fd99e98726973225f0a795b1ee19352bb483ae239e048248c986d0df04d23066ca4bba5b8949bdb3c68ada8a830241f95dcc4a339cd001859ee925735c29db100d0cd49703774667bc41e306b91cf647263092eb047b52303b23387a37da12600198767caba19001ebe1a8509f2c5039c3d79534638965a11546717f7754eb0081b714e4eda217de2cb6480186e742e2ff244d17610abf38df563bf80c303ee76bb1e5c9ecf22cf38754c4f2a8745316cfed176af2c061a253f026a1137eb9b1b63975d252717f01e0e9138ec220183544b5347ab9b810bcd0cbc3f27ac37e979617b939d05098592617b3787a626985f9211a7805117ca9d8b755448c49b377aa5e9972657b327655528421637b112b69aeb98685439fd19ae34640bd4691ab1996d851c53bd3bac43749a9a681cb4d17de525bfba0b917966b9cb646607b0c3ff335c192caf0234706ad26ec047c90f861b76bbc8e0c9b8d8d61d22f837e27687e2d0923813ad50460e75932769628315a57c25858987ca48a54757acc03f9e46761391ce109c46e5a261456b5c29d443732a7276e07324474b9a3151bac934bdd052817396ae824387b9907e2b6a6b4b95ec76c97ad5a466375e55b84e19d76771b041f4b481a2997f80762f6a25c7449807725406a2f3225b0195cdb5cabfd72691395df1434744ca663e53a8016273f64b1752426ecba481ba52ce0dfa32df2c9c4b550d6b8bba83e08e4cab98ebc4b14d0a6df8b07bc8e68f9c48ca10f5877b92c9a761bb904bbf1d9c8776d7357caba1d627667b8b36d827ce4b68cd164251873c1d140c6a62d252a9346f24a0910a4795ea82aa10940021377d3f360b10ba9f490152f920c739698843f074441585f520611c5878bba5422e128c56c39f6b401f03897e06d18386b3c5de0019cae417db2a17067a7cef2b691ac619965766b5a7380cf35e97513b195bb16ca52808e78d71c2064dcc39691ac21a74abe58220e81bb01a747851e102ff90804115170fc326a8c3938245bfc74b6b32787eeb8c6f51537c66c3abc1a02041b87d0b172a830c58070b7e84041bc0f491e34ba2fff71c693c785fe84d5b58805bd28db7c48ffe35b460dbb5db703d06d7041603afe6764b104cc376f097bd2753fc53b6d0581ac7919da7f2bcff2194599b1debd021ae66a391950efed913bfbc597fc50c9892b61aa965809543d7ecbedac319712430b9e9b4138bc44962969f1243db341fca464a70f69436b5c16b3b96486279f361bf97a57546840c20ba11df20c3cec487555790d9129f8472638d2b6a40c24e0fa3bd79e07c6e5175198a8668f35cc9aabb18d4aeb3c6caaaa3aa33768143da1f3fb7a039249e3995ba114c25f1930059e1c5f76605b45a498fcb38b3b656466023c3166836c01df12c9463d7c97f054fa307b08758078db7ac742471c75668eefba9ac7344af30b02577348c0777029318df086d22600315a00e13ac086ac84bfce9c81616a8229b5baa549c4318b877594950684eeac639138df84ff639deb7414fdd3e2e458ec14849fd3477d14552a960249e9b9c9b0df0d96adda9e271878c20f80e33f5c8102c599665f47d6af92ff7dd2a209d9fbada219e289331610369271867b145b2908293963cd677c9a1ae6ceb28289b254c
+deb76b12f33ce5cf3743131bfb550f0197bfe16aff92367227adc5074fe3dc0d
+Ciphertext: 92ef3b254aceb2f71483546cf6608292d68aadaf4d253d8b7f054337ae68a1d8f0395277c912e4bba9667b3d3bf2ff86206c120e28f88da48b66f127e8a26e5f7ba6c7f76ce15549213d55e1b43366de24caaff82273d6cb4c93a3194efcd985f998da2e8d02384943c558a0f2a9b5c49b176f792cd252339c8f2b7ee0c7acb38cfa80e666c139b1b0fdd53430ac8d23903709adfe34a37e7d128d587cfd72e2628861464f455ef27360a123e94a28392498cc0f84369ed3dba5d0815db692a00b4f3f59d991762f8a97514de30a99f7e8e1bbb08e8676c2c36d8cea98f46d1263f6809688e68d3fed19612caa303f2de8a7c1849af8a07b2e521ee19c107921670a3fd5cec9df51963efd361ff3ca9ed2992f5eb29acd1b2ce28dddee7d69698afed641cc2a423ef43d2a4a60e0d6886caacf1c3f800045ea2c600995ab264ae60dd8477fc82546ec83bf8755d2bb19f556c509a9355d8c421e53b8b7dc33a573f3f280a1e8ef7afe5cf9dba1aa6453ea6e8b08282f62e594746be567de32eeabaacaac06453ddf8ac4fec0a83fb445a33cc9f2ff116ea4e31f4fc8e15113e1f005420b29583be1ae0a7b7cec67cd41263085a8f20e23cfeb367cc3caaac2f346f5d3672bbecafcb980359961d1453e5ac88ee7a814c7ef6dfca40448dcf032f43fc29fb71b8d2b4e56520ac0bf6d3d9c6fc5e11257c8939643a350a6583e00e1bb8852a137de05d448ea8fc091f89fa3763942d0aa80f47cd95e38262ccf921c11af20645a225db5eb3e806f9acaa67b8954876cb7450119d7da5e3b4ceb5c1b3a126d9da6787fc7b0f33de1968cb544e56c6d9691d85fca62705eb123a56519458af81b9178b48a54cfa324a693f28a665c75b994162f368a8dc9bcd23119818d4d70a65e7cc415f737716407196dd92af053f7b08401626a99a36a695689c1ec02f4cf81c2f45b2325eaa19c453a5f52f417fbd3f21a273915ee355e3db020f21ec6d61e910edf2c5582c73d774881e52cbc75ab0885d0d51d9b19b377b815d1942187b45f974517fba2a77ef79a66e9b3dc6e5d1d306a23d079bf3151f4
+Shared Secret B: 7b3a6f4bee3da5f293b0b988d672a194b82b63fa61d92f093e3ff14fdd862487
+Shared Secret A: 7b3a6f4bee3da5f293b0b988d672a194b82b63fa61d92f093e3ff14fdd862487
+8d116253980a38636bc9d29f799bbb2d76a0a5f138b8c73ba484d6588764e331d70c378c0641f2d9b6fd7c090df5a74604a1324ba0cc5c447b2dca644a50f1ad0477a701b9052ee9bef28833476343c82af29ff3a9b1c4cf12de559cb9d9411f62bec838121fd74bc1fa712d8add51505c55e89a35deaf7a69dc0a18ad27396029cbf89f513e1b8f48bc01783d6849fb32f211a4c87e16bcce0c41240a223ba6d69e0c51569f73cb107ead84d14dee92702e3a95eb844c716aec9829d06591ebd2501a3283cc0ffc0fdcc031fe8d865e77fae5d6bb73815d9ae376006d0ae3200c24d84c6b14a8471845a7522e7c3d0db9aea0cfce467be633d4d46a5086814da467dc73403c987d8fda5f6e568291dda40d7681a07eb9f80d8765c734bded79fcadcdacf4816800fad2888f935ef77e72aaf288ce1ee12edb5ec1a6506e0b5fd2e4395863c29b6125a26f639f25018ebc147a306ab05eb4d4804327c9216d59ca328d5f5f1ce0eebcb35dda72c85332c6cae642c1c539498fac7d0d2ab2fd3e0e1d90ab9e451ac914c664f1ae34209d96ebb92d7d93ba3e99699827a8fd4835d79d93683c52087dca88d0cd4b33aae8e01023ffdb6633dd049518a7e9ab679039a691dd6a1d5c825580a07a686d43e85f716d87918bb6c0a6fab7c8fb8a41c70d61963fcd3579a69b863b8b9607c5b288e775b9411d3a2d8dfe973db3911b2a83b4f5d6873c6a13af1ccaa460f00bb555d5e9672885d877c1d867230cb56137df134b7304b281b99995024cc942a1a081cdd7040ec432db72fc41f77b637b1ceba3a6b0c8bc96466e4f5d725b698e65d8f4d1c1488147cee888ca0d9be1f86af926abd878b253b450daf33c721cf9edde455879f53407656b28a87f4b571d222e93909d8437b7ba57609f3987b2779fe89dd63ec52ed496b81f0e1362c6554fa93a347fb54b08058b64ca9b7d08254a564614e39566584e4f9bcea365b9dfae2086c3374f5ea5adf8bdf5a3c6833efec934d4fc23a7d81c4aa217707ec114a1f4999f8e6038b6b6b7dc806a23ceb21c757ca6c46071154f20b46d2f2fd2cd7c
+Pseudorandom shared Secret A: 50276b4ec4ede469eb8b3a78753fb5b70883d989dbc8984292b298e12d8abd99
+b6c397d7c76cc8b0068ff8f1002de8a73f7f1a7bd6e39135236852b464fb98c387e1c43616d983a7ead5abbdd6a173b273bf206e4cb454a4610d1a995bfdf8c1
+Public Key: f3528da475218b09ad55ab3321d20e05638e50783d7878afa60042846b02778b5e4afccf8b9314ec636accc1213323aaef088947219e8f113874961712ca3d8d77b3861c369e4b38c32b89604024b64c3c4ada4eaf09ac64839df4ac87ce7ba7ca933ba4788db8328628da9987f6cd0e0369778b386a08ca57d8238aa9179b9674aab19a1e15c166a0b7d841630c1a42d0e633c595288fc50e27cc786038a9f9236db8b630bc85109fd981bb78b5fad9cffe61588aa62cb1ab04d133cf0d051ac06700adac0bece0a571944148b4c21d7585b2603f31314cf102a91b57c6df97a611e46e88827f86fb3bfbf57bdfeab74f1a44a560926b6b9a346b708be7005554c484165ecd24922e94a7ad0c3278b35c6eeba52146c30971cd7e580f7c45360b87378eb7ce3e450c888745d4928889f462a8707c0b3c679cf70610db347e801942218bb6b3b3451c67e243111889575b13a61b3a132fea84b69212ab428214c69c697b34dca2bb3d4c9989f01d7f99ab37a5c1e588b7c61a4fa385b942491c3f0067a166677fc375e0c89c3133ce364295178024ef59b547899a9c590397a0a46a8969f5896b3f4b1040c7be65a277c5990c79b396e6a031cdb924001a7bb6e3661b8ab1928a9fb2b257a1d3176bb99470922c01377c5d07004871267e5c620a6cab34f7c6aecb9a0c62bad9935d9cf261e24965b46a7e02fa08077a26d9fbbef41548d971657a4753458457b97b50248b881046359b75455ce839eef1448f158d2ab6150d047e1d035a71eb5cdefa88766b970ca67272c022ef749380b42282a3b902c9c185a7af574209f47c4b9ac8b62c32b7a5408a7e26a62782c7c14c48745c64092149bd96c70328be5ab433ad83861fb8cc843acce8248f9d80004c52cb182b5e2bd901518060d7753e536a23e7560b446c7752e19f2b4992bd468513b7013735295ca61f1803c8e8954f7c934a44d637c3e6a03905ace6a2285171806e8354dd605cb8489efe97ae66a206e1d5b81ef0977fa187128715b6b47cc8fb2d34bc85fb84cd158782a0d614b4e9077f87c9d34826e9436bff3893707451acf92250a2ee15d6a7684957367e644c0716cfd6b44e1afa5817a2250bea2247
+Secret Key: 55bc27c1464f4221c3984c6bfeaba9ba0b531a145bdc763e3e39b9e7c86783891cb9b663799556e8da0b6848acab219b747612391c8aaa906ff82a4e6741970f270d7cb131438627873758a231b0ff7b1d2e1b52e92300b7c9153f30bee76cba05daa462868400172c0a474b2752461cc6b660854404f1a63a699caf982983c14d89b9415a15969c83952e22704f78b0e226008fc73c2e769cbca80867a72590598dbccb4f02c88b9775af13c99970b8c6864292bb1548196a22b54510f5b3bf80f15f9880bd9a8c8839e964ee659db857102d4aa604c79ef81ac665a81adaa6b7c0266739770e6b0594c5401494126a4e68c7dba234e03060cce147aa191bab179cbcfa8bd0a322db9b698f71ae499b61b2a2696103127b18407a47689810b4ef224e8f147e195035664114c47bccc12b18cd5228d6473838f44bb404c187f8ca7e77b04ffa542a5ac6e90b198012b4adf037645b2cb2fc86bfd2adb86133a4cb56b15b613d788b86f6cb328646bd4b06ff1c7723122502b00dece96d79524394777ebf695f4955c859ac2ad77781c22a315fc76f53f4ae26339bd59b64759c5145c4b9e3a3cc961cb19cec5b37ecb7a631acb1972761555a46969fba0a7bd2489765020fe519aa124906aec7b6c2c89db5515fa7475cce595fe929cb4b815213e39970c6a1fbb79deb678aa3b3c7f3f5610b5a6344c98ae2f5732e2b23843a3629626a127b103113bb6f5bcca329a180a974a1d78d9c6c911046bc69515a9cc3640d88b5c205746ea5a3e03b4baf87466f6b709911ab6ca94d0d71b97365cb567b5c644a6257691435994f6a2a1e6ef90751eb01ad72ba2d355426951807447e00dbba66c7ba8bc44f8158ab4e2849178879160642b4f08d68d866a30606e0f6aaa31646f108769ed665d65a8704d613be4715ad1c4b0fd23960fa5d18f8737c70a32ef8bdc909840cc09c38cbb4edd21e70accf26008bb684345a76b32ea0ae0dda68f7a08720974f31d3ce8de593c4079f2e8949c18c1b9f6a38c4906d32a642dec9252b029e437a917e6ac2cd050160766a8dd770d3fc303e89732abb5ff3528da475218b09ad55ab3321d20e05638e50783d7878afa60042846b02778b5e4afccf8b9314ec636accc1213323aaef088947219e8f113874961712ca3d8d77b3861c369e4b38c32b89604024b64c3c4ada4eaf09ac64839df4ac87ce7ba7ca933ba4788db8328628da9987f6cd0e0369778b386a08ca57d8238aa9179b9674aab19a1e15c166a0b7d841630c1a42d0e633c595288fc50e27cc786038a9f9236db8b630bc85109fd981bb78b5fad9cffe61588aa62cb1ab04d133cf0d051ac06700adac0bece0a571944148b4c21d7585b2603f31314cf102a91b57c6df97a611e46e88827f86fb3bfbf57bdfeab74f1a44a560926b6b9a346b708be7005554c484165ecd24922e94a7ad0c3278b35c6eeba52146c30971cd7e580f7c45360b87378eb7ce3e450c888745d4928889f462a8707c0b3c679cf70610db347e801942218bb6b3b3451c67e243111889575b13a61b3a132fea84b69212ab428214c69c697b34dca2bb3d4c9989f01d7f99ab37a5c1e588b7c61a4fa385b942491c3f0067a166677fc375e0c89c3133ce364295178024ef59b547899a9c590397a0a46a8969f5896b3f4b1040c7be65a277c5990c79b396e6a031cdb924001a7bb6e3661b8ab1928a9fb2b257a1d3176bb99470922c01377c5d07004871267e5c620a6cab34f7c6aecb9a0c62bad9935d9cf261e24965b46a7e02fa08077a26d9fbbef41548d971657a4753458457b97b50248b881046359b75455ce839eef1448f158d2ab6150d047e1d035a71eb5cdefa88766b970ca67272c022ef749380b42282a3b902c9c185a7af574209f47c4b9ac8b62c32b7a5408a7e26a62782c7c14c48745c64092149bd96c70328be5ab433ad83861fb8cc843acce8248f9d80004c52cb182b5e2bd901518060d7753e536a23e7560b446c7752e19f2b4992bd468513b7013735295ca61f1803c8e8954f7c934a44d637c3e6a03905ace6a2285171806e8354dd605cb8489efe97ae66a206e1d5b81ef0977fa187128715b6b47cc8fb2d34bc85fb84cd158782a0d614b4e9077f87c9d34826e9436bff3893707451acf92250a2ee15d6a7684957367e644c0716cfd6b44e1afa5817a2250bea22471a8b515b87562592730ac59d79913874b8710733174ca8cbe9a8a3c2d5bc0d9887e1c43616d983a7ead5abbdd6a173b273bf206e4cb454a4610d1a995bfdf8c1
+5f1c9dbed07ed397efb8dc87ef42fabf6f705c23ce083b92d40c5772e14027cf
+Ciphertext: bc58c12fea67787fe9898fd9a3d6a4897bad1025c6416bb265e1e4ebfcdcb6cc2771faa76f4430fc1c5348ce1ea0913510ff5829137030cddb6e237e651478a032de534842073e82bdb31132045b41972249e288ee15c769558728309887bf4f09d859bda9b4f58cfcb53fa1b688598643931c390f60355474d24cd43e4619c7bad2fad7aefc52c5155edef2d33374b2670757ef5b9ebf1c80d89cb6c08986bcd804a5cc58a544538968805ba98043b505ec1c0949a08a21c3250182a8ca31242d7145786ed82e641272beaa3703b34e2c81b30903c08a5820564d79a1e946075bb74b3aa473437ea8ce24801de488b070544d71691d6fa9bcfeb71a5796495e01e60cb3dc2bf58dbe05ba3c5d9b16db39a6d9140d7b3d97ef08f79478c6e200291cbd88f5a624a12ef6f9411143137435a5add5b8e057cc81b3189e96b42a5794de70c58d981d81660b8c223d702189948ac9f2d818510586ef9c29009f9a2ebcc0b4be313d616073f189318bfa9d65902b32a978c608dda995890f3571eb81b4c3d07543c3882984549d4c437eab7ad6015f098f2b438d0e8d83fa82a5197749154221f14ec9f5475b57ee7695e0f42ea0de45491f7d653cdb08b9ff45e602936446ff3b60664491ddc6ea2606b6543ddeab7aa7636975531cd694cdf0cb05d455171096477041f5d73092e8de5a00c47d007fb17dbafbe816798ce789bfa6e578fcaee6b73eff760fa014de2d4e0c8d10f7f6b13892e826619278be391ccfd7331cfbab215cc70d245c8dc2b5b7067b5cb4733e1b7cc238d4373926e79d152c4ad3502985547a9715b2f6cd25e64a4ea07ad5d803880849b4028f2c1531fc83c5732eabb48c463f5a1ff11086c494ac90c8dfa4df157545d2384768262afcf8ca0486d6a98fbef57d49e1c3fcc90617395eff293a64d7e09802ff856b60ab2ef65b2b3e28e8f8e7066424832a9e1616f78c9b7c10c50d1d487392369e87249a3bc0c98c677893adca2d1d6367d71852f034790c240676f6a1102c6326b464c4834334f38ebe3f8bc01f43ba50f764ffd464a72ee4c24b13e45b3624bc6674
+Shared Secret B: 0c4c132521112b23d34406b412414a5341ef1f79d403a8c80df9b43372d7634c
+Shared Secret A: 0c4c132521112b23d34406b412414a5341ef1f79d403a8c80df9b43372d7634c
+62f2f77376ed43035464b6553849a3c69903271a4da9215a3a8a699774325effe316afab4aaf5da34790fce0b70263913095e7656ecfe1efd3484818e3278e2b216c9c6fd2949415adfeffbe9d78e92f87bb604da298b930d642e7dcef466e6ed57edc976b82e6600635178972a821842195ecb9ad10c6c6f531226fb849544e3a243f68d1252bca4af90fad9f052c97e49a0023cba500e31c9d23699298ab57ec6dfa57cc4d76143609df285f2d5d2c96a9ca2c861e5cbc30f46581ee493cc888ce97c1dbf239e4c4a6b95b9588e68510e7e33816e581d85fc48a77254c23bbd43f2ed13c42c76404ff89a9e02348c7e17fa1e25d4b80ef0d7e33cb059da8060b9ab4c248504e3c181ddcb010d446698bb09f66392624ff75d2be6af8fb112f747f136ff7f1cf696cb48c9eef6f0188d596c215e83544d42c13ffb662007f876b63552513f63e996b0e13be363c8b495ebe659b26dbe8f697700a3c19dacc9c1b5186f6af281ab44bb74b892a3fd596a7628adcf94489a1aaf805d9051241af1612e2f945559d5b822ffe72bac8c8206985997c73f9f2dc0b4c68edd6b35525edaa4b5b4d29fdf09e3fbc000af2da709f0370da3cdbe2f2764759fb32170a901ac2167d5ff4a6192fde39e024646a0de21b9c7c9e59f6f254e6d6ea1c4d72471759c2dea53126fcb7dc9300e7eb80dc62502c18d071cb066f81c3902942683b9a37b0409234aaea9482a25199ea657f10cfece030589103c75b815fb98e500b4105efe4325ddf1437c4deb8f4bdc35ff742353ef693fa535cb1cc003cab6fb06ba7881736f2fc4bde18ec531d0b7b75d22a460533a65ac12de5f1c4b57fbc0c7b6751da0403cd9ccb8f146afb8921c4b59778de724e7c4482461eb80e48e6a68a12b4226449f84a764312cf703b7b4aa999c4494c8f5087911abe44ebeeff0b7dd1f37cf96399c8ac37f5c9dce23bf274c642255bef83720d0c9cae54ab770d9801703e0191e0d332f5351a038377bca92dc972a5a9bd727d8404829688f9d1725fc63da04f076a49df561d82f999bc82d492d303ad3ebefab9d6c8bec24283
+Pseudorandom shared Secret A: 753d9caf212c2d33142ead791f7f275615a7f392e819bda0983a35fe4f4f3d4c
+88afd9d236b14d67d042ad3c5efb9bd9c673b60c00e3cd14743c376a820e76ed18c022eb826812bc213adfa8837d2d76670708477afaaee146d024f7ffce8c2e
+Public Key: 5c33985c59c54ee6cf65945581fc03811c19ee709b2059a376096aca4645c8193f361212a42231e27cb636d413d052cd5652cc5139657974bb307292eeebb2455c9d5bb896185c706d2355770c86b73b8b0935148b3b1504fb316f48108663b4a8806d24e58ae746cce8c50efc80693a8c81841ba20d4a6d99821e94082fd18727d234690b04669b5baa933c486946cc905624cd118c6f88743f6214a3d58589b0cc2c4605dd302035b515bbd4111459762105a5f381af5f932c1586b4246a9db7bc36f96897cea9b030773a84777c88521ea235b749a7cdac1c6fd0eb12285b8bef19b2bdc226756a694abc4da0f8be8f27bb1c65c68388c03023ca4a499d9a783b2a0a2cd0a181b4c2aab6eb87c7aba6244a67d8a3bdcc96066f44aba5eb1ea707558b9a65ff91cb7f443c59b721261a6aa3a8cf4b1828ecd4726c5b681b94b9b6490d1e4264571c3e6643b8c495291a492778b1bac54cb3b4eb8c47fcad99919b691936e7918fcd09847a95020f472ec8f4cd62435d2ba65d871b5513f6917dd788d3818c713bbad6848b645c8c746bb244c8cdacb880fb99aca34a7742f48aca6288c1bc464415c5d9a0636ce07de22182ec5392943129b5e169f6b1334ed76718e735b4970b1a7509934c46320474b3a434a658800a53cb056b1ddb4904e5d2177187c6a7a538bf73a0cf522f85590e8a102ffd74b479348a409834c413ca42a44a32ab6d4842655a6bad12120962b93a2460638b2a6e85b226e4f02eb77c903537a6359836a9f19d2ff4249aac8d2eaa0dd013654565a66b7bb260a2a39024ac99d11c074a23a1813629e1448e6a1875f9bdf46852b7d922f098cf162719c1f0b45ce092b26baffa7874e68c0b098043569b309a6b4af1d1bb423c7493275ca7802bd481c2f28abd58a7530b67c75316271ed5b0561585f3ab110354a1d8c5a8324a3b96a16645eb0831563baec37739e3a7bfc4773988801decc4f89c118886b5716a25a53a4d1e51188e51bdae8164b1133daac247738262f77c683b953859b78eb08c66386913b2d51a85f062dc9c5d1f990df2089e68f4b465f26ff3be96c9d691a4e553d62fad9a95296a2a8267c24390da18ac5dd78fb21487a9
+Secret Key: a4c7aaf1d070d31b432fe83bf4447690f19fde57683f2621a8666dc1f6530191b9b2a8ab02a326fd5aa3c0279f24a537cddccae6aa49f6f00d116011b6c6397d7c169a26b350c202caf64103141d70d9c7fccb2dcb9146d60800b16111e060cc61209ae8f69a1ceb26488506a177011f8735ea721eb01aae35a790a74b5cc3da254ba569c2c819345ac0c4c42ca557889091312d4360eeb7c72f75c282747d80659e2b5500f0dbadfe8b210a178d3750618e458392c61c0e6451d56104be01814331b295eacab08ccfb9f62bca7342632bb093ab49b4c8757bd6553e0a39eb23a0c793b7a55473e82b550781bf52102ed100ae5696c22b63013e63a60938c78ce81e24817dd0f8640fea10d4128e12a047cae6b75638cfe0877dce4abe8419c0eddb794873c02a9b0d485c702d4782e13085fb0a2726986dc55a65afd36148709e41e69cbdca6e4fd419d04c395d3b0ebcf3033dc15b013a72b9456ff698839bd576e7758e525b392e786faca34ed5802d7ba00e5c24b07ad71a158a68fc8c39da220891d5bee5d3c9dc32290ca3bc6ee690b9a5cfbbf08b6e12c16b38a36c67cd86f517a0e192c1d2018f03b48c3aa44100c81bf454f9e0ce965835b29753d8992b7e0a37556b0bcf18bdd3415ca8571818268b801cbf858bcfdf5a4c788b5fe8037fca2100db8084fe42cf999206ccd04dee385479a993258b9525685c7ad2411b5235516353a219acd821a236791db3d759f484b7783652e3c8b0e5ca7ccf014a2d410829b1cd67d01bd4eb35933a934d92cc72c20ba7fa688b666695898e6aa4b8aaf109cb26364ce397d7e6340f17c1d11119c8dc7f6dc20353991fd168c4624273ac84cbfd495f377958a9ec625a252595f02433c430e7719e9077c180230ef3111808fc0c9d9ca4c9fc4d01971981a9a355882db176bc67b08e917c9c75f4702e080b551b17c9f0b713593bc5650b5b87cb76bc9c85abc6c71a1f8e8a61145339aeb4bd14a6b828b5cd675b5b16c694cd0abc21bc31b6a47b6d0519fab55d19a691dea12162f0a16f1c793a45bd25f07e670ab801fa389743983023815c33985c59c54ee6cf65945581fc03811c19ee709b2059a376096aca4645c8193f361212a42231e27cb636d413d052cd5652cc5139657974bb307292eeebb2455c9d5bb896185c706d2355770c86b73b8b0935148b3b1504fb316f48108663b4a8806d24e58ae746cce8c50efc80693a8c81841ba20d4a6d99821e94082fd18727d234690b04669b5baa933c486946cc905624cd118c6f88743f6214a3d58589b0cc2c4605dd302035b515bbd4111459762105a5f381af5f932c1586b4246a9db7bc36f96897cea9b030773a84777c88521ea235b749a7cdac1c6fd0eb12285b8bef19b2bdc226756a694abc4da0f8be8f27bb1c65c68388c03023ca4a499d9a783b2a0a2cd0a181b4c2aab6eb87c7aba6244a67d8a3bdcc96066f44aba5eb1ea707558b9a65ff91cb7f443c59b721261a6aa3a8cf4b1828ecd4726c5b681b94b9b6490d1e4264571c3e6643b8c495291a492778b1bac54cb3b4eb8c47fcad99919b691936e7918fcd09847a95020f472ec8f4cd62435d2ba65d871b5513f6917dd788d3818c713bbad6848b645c8c746bb244c8cdacb880fb99aca34a7742f48aca6288c1bc464415c5d9a0636ce07de22182ec5392943129b5e169f6b1334ed76718e735b4970b1a7509934c46320474b3a434a658800a53cb056b1ddb4904e5d2177187c6a7a538bf73a0cf522f85590e8a102ffd74b479348a409834c413ca42a44a32ab6d4842655a6bad12120962b93a2460638b2a6e85b226e4f02eb77c903537a6359836a9f19d2ff4249aac8d2eaa0dd013654565a66b7bb260a2a39024ac99d11c074a23a1813629e1448e6a1875f9bdf46852b7d922f098cf162719c1f0b45ce092b26baffa7874e68c0b098043569b309a6b4af1d1bb423c7493275ca7802bd481c2f28abd58a7530b67c75316271ed5b0561585f3ab110354a1d8c5a8324a3b96a16645eb0831563baec37739e3a7bfc4773988801decc4f89c118886b5716a25a53a4d1e51188e51bdae8164b1133daac247738262f77c683b953859b78eb08c66386913b2d51a85f062dc9c5d1f990df2089e68f4b465f26ff3be96c9d691a4e553d62fad9a95296a2a8267c24390da18ac5dd78fb21487a9365ac25e480d982b56546cc33730933edce582858de66243ef6e278b1813fb2218c022eb826812bc213adfa8837d2d76670708477afaaee146d024f7ffce8c2e
+741c1f1fad389caa2b1d3cb7f35e4944959163768fb98b489817c28bfa30503b
+Ciphertext: 052cba883f5a1c0a2b5179632adc6363e23911e09b7dfcc705ba3467219c884a8d39534b7407ae7b682297b15fa7c6c8a53a4f3a1aa04e4ecf07264f1f06a3158d7ef2fe661bb7fa0b63db505882b89a1e64982e9087ea9133d3dee7956e8f253662a9a32cd9c55530b83f7e0ab46585e1755e87ab549442d56f7a6fd5b6414007958f9ab05290d5974912e8f6eb6026c87848be69a17903502c4a035f4cb066c660070f8a9a40f7b2bdacb3f11daf5700b9b93c34be7bd691c9050238cbf530544d428ffb54be9adeff82e4e17049479a2f9a90d04a872a1f119440e113367f6b3c5b0f0829891d3d552f27d00459de61fd8354021b14ad6fb4a3b716804a5fff860c1d8e631d973eb4b9ee807f2570aac97545d2a7b2c53d19c69ca2e0336c0c9b1f011a5a8c5fc7a49ebe42fe1c05f7aeab4212f2a9979795950e2fafa68e9f3a8b226ce6b477c5bdfb2ed81e535687cb601373683b50396ed0d9a0014fae7071a383d8d5ffe9695ac05407e2140276358cddf1c4db325f410410146af263d78875ca11f2c0cc644f34100732d429d38e307cf44d404e99ed2dffabb9ef47f396c724e1f7d87ad6e3b86078f6b10765486e56ac0a066d1c8018474958d2e7a663719e425be2c51573e51e2f25a39adbf2fafadf2c3f74f983042767c1f2d90e72c16837e80d841c0dff96dc89c1f68064e88f4301352707874762de95c5d07e050cf6c84c8c2eedfb89599c8bb302b282cf4c02e3efb11411d4719ce60a4433f6f3cfd36119fc42a14e90c2161289a9a57abecf5058bf131eeafd0e925a7b58902e2d4cf5714b20cbe6e3f6052f7bf5c4f3bf5c79b02fec5b41fcd2a0300aeda2522a38276148fe6f15e79998783b53882b5029a1f1cc3afb34d2d64f14675b0f834cecb95e80f559075e6915eb06a5969006c2b331fc032aceaaba7792fe71186af9ce8e1789354490e99280c25f029ad2e46cfdd795ef068a6eeaf40cd82a620ed27315ab53c7619d84f64d1f2f5414075e45fbcc2bb3698f208e4c3bc7d94950a72c97467a3476c2aa2b6db96bd17fac84c8a8996f8cc07a68bd63d711
+Shared Secret B: 1f47b7d5b788e19fe2bb4252e31226618747b48c3ca6b6c317c98dcd7cba2c58
+Shared Secret A: 1f47b7d5b788e19fe2bb4252e31226618747b48c3ca6b6c317c98dcd7cba2c58
+6cf78c0b88f460c7227af72d5d050f6f12407ea0bce09649deefd72b524ac0fcb349fc8aef948bb83b46905fa4876aa5e14a7b5b681a2a672aafa7f641cfc7cdd6b257cfd43ca031f901bf28de17510a0e472e72f0b5ae7dc460f685c4889c8e421e71e14d351153ce7cf599483869974ca4be77203ca8230be0e93b5cf6e2dc45bb2b04da20dbb5b7d3ef71cdd3458701b0727f8f83089fa4ef121d5239650f80a94b97df9b875bb1fea5c91b9c081f8fdfff79338131aa8948db6fd1ba086b507c19fada31fcffddfacd028196305bbb895b5b43ad6a2cb43cdd467e8a1cbe72785f607a07aea93c88c847219c8acedb40776bd379b723962c7c90d8990aabbba33b1475ead038700519330d032ad1206fa09d8190a45cf807863f786220028938527ef92f90ecd8f092055c31f25ec4351afd8a6bcefe17623ca52fa9faee6a970e51a98799481129812742cecd1bd9bb8b5147f43325a070808de138233e2de3dfe9bfef4d30045b32071516b08352f253ebc0b59e6c534a05b2a62bd870a70fd6fb5830698d4d30941c8cacc5f3336bfe8c295e4b69220885968a207e5dcdb2533fccdcea0b3b4a47cbf7d166e5ad1b405ddebca5bd442cc533d8cd4703feda00d27229e9c12e79d587f5298370962e2b769bd6a058f1029a12f70c00a98fd60584cd392c8af8978e306d699ed82147636b2f0a2bb991fa9cdb643518a2644b5126ccfdb6e3ff8fffa508321c62030f5672f59ab00827b952762a4ea34272d4f82e96f3f1224c8dcf71d742d6ad8e7b90022bff72b845074a6d58398947b00593bf3be44b865933238ae3165a7bee4c153c9851ff8dd5265266a6e74d2f29f689a3d5069873a3f75631f1c5988e40083fc4300e8c1bb95c19a6bf895c9e279d0f933a23c1df0d2ad6e0eb394baf14e416e32ba2d41df4f016c5aebd9b9d6cf3c13f459d34acac62c2b8999ee364e92f3e8ad5c6f39944611478cd0591764589d2ad9c50e154157a587d466b3a2122944afebb709de3289100f76c2c19ba263c4d8b6c80e029a67b2e685f8c7c101b6d84c19f483436a41146e14925d181
+Pseudorandom shared Secret A: 3dee2b7285bf4e213b7c2a01777b5cc7906297e1c7b367aaacff623652fde771
+43a00f5a307493d081f00d0a823117b25b2f2eb82306280505a087696e2a46c877012f0da937e970dcc22b3ed70dbdf9941ef3063a231e0d09c2abfec7dd70d5
+Public Key: 454565875416ead94e31f705df3426a8c04c0ee3b5b69210b9d762280475e29b0fb5990a17854afbfb868a976613f277a4dc879aa8402cfb13291c5b0d0017571860996305dd8222bd808f7cc3a47fc5c4b6616bfd72c3e1e3cca63562c0fc6ee39c179b68696ecb19a92093a17518b69c1b5f4b0a5f7ccb21c058b0805b0d032513261ed4e3a63c2c88f9c01eafc69fdaf4a1d8e14731b4a0296b5f659c17b1262b88f77aa8b58f5642bdb1fcbbd047761e35627f6754e8582dac271d3decad679887b0c802cf4820bf02965a5c90f39c67419a466cfc3622e2b1538b9e16b19831f5ca7e87976dc0adb7fc30729a7e7a936b8a50064c9b6164c4c0b2481efe995291fccccc898778810dc590647d7779bcb1c75a289f4e622700f4a5f4c6501a956752e44aed362694915e177402aac52e1679193b18642ae8b6ce5cbf090ab0f96877fe741d8d648937454ef76c7cac594a7493aca9143d8423ae31579e4cf93c0747870e697f2242c690f83b86b2bb0c7642ff44b0b7d96a2571a99924a1c9c043661759d3e0a644d5916cdb046e8637f3c66c060c67264c446f04a7accb059b90ba3229af243abf42fc3c45d80cd610b920224989b138724294bfcc0b1ecbc532775b23a1480423bc397a17ac263befd5635f464a9b98c64411acb95b7af0b0b1bc7bcc6fac4750c3586a99378a11a85c45c829462491929201333742b64721576ebee4832655cb4e35b163dab11a937f7fca3dab6a41caa20ff24b094e4b60366379a6fa7f82f93688ec4a6181b3f8369e34f8a0d3c1b23a056aa9f5854e03916d93abaa83353fd32b07b12c23497fc1b725cc38150753b85ba312eba7a7d07816a083bddac28f4afc110cf0bf4a535f49f659eb436ab7940101501bcdfb344c79700429c33c3c9f062b970d53802e983c9d016f8d553923e45e7152499716a9927b73ed0a91fa23925ab615f2c3b723222f72da6c426c0ed27c18f258b1b11c61ebebcc8c2612b8faa1e0548ffeb1b801f194dc056e3de978b92684ca410088887caf31a7c43251f6ec5d24451bb3410483e08fc266009340203fea70e993adbf1ae67af704f32c863c1c1d587ef81408bcb19c1bcd874dc5c1f1ce4c
+Secret Key: eed45cb047c53050871393abab373987503691acb3306b9e46b16643565a7d919b11e5c613ba85c17c2161c4cb3055cadbc05e38e245b145cd621c78aaa64a67c284b5c35fcc82b82552c36989b5b8ea6cf8891744339dd36aa15d216e2273a37fd6876102a369148a9058c3805603728895f7e8b8bf5b6c893bb39b99a8b8066364fbc089cb46a4dc020c26bc4fa58c0268c1ebeb2f63609335ec225b7192990377105103d7d128bee39530c5446d84123af43505948f79f188f9f6948dc51cf46a430c84793b9abc22e87984cacd46e6cb79ca5d2a60797e69b36ffc41248276633a7265bca531b130ad21523e5407ce76c98e0ab086897cc833b634b997e488332f8b493211a286457634a48df34789bcb75d42c099e0b0cb93f17daa991e1316c626c026a4c2664ae876e7252d5af2603121c1ff02b0c3a8691a55c0eda72718c5c9a55841222c96e6f4c1cd10cb51b27c9f3c470986cac7a09053b37df070a2dd44501304581e896b81fc0605b90d835562b9b919f8dc1d42037a7419b63e9b76bf135eeae91e6cb71b19a050b85673aa35ac1852843ca79a1a840f140060b5e99f7f8cbd7eaa763f050c8789700699cefa91c3d822bc06a938e8b588d90439c4eb64a4e754c6413ab9639d97ea9dfc18cdfb818399d75d7cd34d33cb7eb047b3936b723c07b67e3b90610c114a2957acfc3008713cbf1b264245b624a419e23607f1a276ec343354fa82ad030ce53567f9d09d1dd69832f5beaa083f011aa383820228d290e439aa8a14b860827fff8097ebe88221e0a029346bf8855f2ce89fa104107bf8259ebb3145d389f3f3556475b341d38494763aa4957abc4b80b2389319d7b9c9c76025e41aa7344e4df7587be136204ab65abc11c32a299c33486a0410427c19f9c1bc7e48a0b32b18e80b1723dc16be8806a485396b7b453690a5b147cf5bd89400f8b0a7354ad1440fe958a6fd815d98d5540e54c098474e88a7050b3cb89dc67df541729b4c11e6361a0fa4153f366ea6732ef5b1cb6229088ec368d6278a4af2bc117b64ef3a3c14781e95b4652cf67b7c5c232c3655454565875416ead94e31f705df3426a8c04c0ee3b5b69210b9d762280475e29b0fb5990a17854afbfb868a976613f277a4dc879aa8402cfb13291c5b0d0017571860996305dd8222bd808f7cc3a47fc5c4b6616bfd72c3e1e3cca63562c0fc6ee39c179b68696ecb19a92093a17518b69c1b5f4b0a5f7ccb21c058b0805b0d032513261ed4e3a63c2c88f9c01eafc69fdaf4a1d8e14731b4a0296b5f659c17b1262b88f77aa8b58f5642bdb1fcbbd047761e35627f6754e8582dac271d3decad679887b0c802cf4820bf02965a5c90f39c67419a466cfc3622e2b1538b9e16b19831f5ca7e87976dc0adb7fc30729a7e7a936b8a50064c9b6164c4c0b2481efe995291fccccc898778810dc590647d7779bcb1c75a289f4e622700f4a5f4c6501a956752e44aed362694915e177402aac52e1679193b18642ae8b6ce5cbf090ab0f96877fe741d8d648937454ef76c7cac594a7493aca9143d8423ae31579e4cf93c0747870e697f2242c690f83b86b2bb0c7642ff44b0b7d96a2571a99924a1c9c043661759d3e0a644d5916cdb046e8637f3c66c060c67264c446f04a7accb059b90ba3229af243abf42fc3c45d80cd610b920224989b138724294bfcc0b1ecbc532775b23a1480423bc397a17ac263befd5635f464a9b98c64411acb95b7af0b0b1bc7bcc6fac4750c3586a99378a11a85c45c829462491929201333742b64721576ebee4832655cb4e35b163dab11a937f7fca3dab6a41caa20ff24b094e4b60366379a6fa7f82f93688ec4a6181b3f8369e34f8a0d3c1b23a056aa9f5854e03916d93abaa83353fd32b07b12c23497fc1b725cc38150753b85ba312eba7a7d07816a083bddac28f4afc110cf0bf4a535f49f659eb436ab7940101501bcdfb344c79700429c33c3c9f062b970d53802e983c9d016f8d553923e45e7152499716a9927b73ed0a91fa23925ab615f2c3b723222f72da6c426c0ed27c18f258b1b11c61ebebcc8c2612b8faa1e0548ffeb1b801f194dc056e3de978b92684ca410088887caf31a7c43251f6ec5d24451bb3410483e08fc266009340203fea70e993adbf1ae67af704f32c863c1c1d587ef81408bcb19c1bcd874dc5c1f1ce4cdb392782a0a39579d12ec9b649f19774a53a038ce71f834d6b9b206c163e315677012f0da937e970dcc22b3ed70dbdf9941ef3063a231e0d09c2abfec7dd70d5
+669fe2b0d7fdb1327a2146d91fcdff617518af48443f3ae7845bf6e20b5c7d85
+Ciphertext: 013e1a390c9d216d98eec951ba5685ba4127add41d0505afd2369a9924976d24117f100c6ff51b442c3a2e2539f816faf3d47f32703a99755f5470e0a487070588c4806abb1ad02aa2edbec598096158571588369f400c9b491e9f4377dad3c6bccb7a9bf42521c4ee13ed662c7f7bf5f3b06ea3557626e3398e1eba4023cb4e38928146091bc74f326ca339b266d5d86001dbff49e6c5b7d1a7a3f36aa6b9827dff55ddfc0898b0ddcc667caa39ce9e1bf4ba07b6dc01a42b183b4e43cfb893e96e05b3585467570796f7f1be1a1eb48796a1bb61e74fe04aa863fd75d1a69d64beb699205488340cb567a3f419111bb825b64cd6307bb441fbe629ee4c3dd9fdef26a6fef385a96a3f8a1cea7c5eca5eeea703e136766b07c3ba16ec5bf104742105e75171b1d4d4c86df0919c831de640e01d317e83e9475a14de53a913c8efe21c18570a3153b9b7e899cd46a6f1da46b83188ed755b2f86bb3e2e82476f2fa3e69625bb9cfbcbbdc7daed64cd4ab7f9939e253bbd7830fe7dbb09fd914394f8df7d0619ed5d020f0c0ba126d810f9868f69d1db2a6140ff01e08731065f5fdedbb70e7b6ba90c98dbedfe4a51f63b572dc5d1dbbc2b6adf6db85cee6725fee5fec64c6041c75c92a90eb3d69b98360c6a18415e4e1c8a01586a807f98f9e702cd8f26af8b905cede7a7c50985d74f80837d2c5c8b80f3c1071e627ec2ae3787816f2ab9f1b8230d875b47fe72b599fae6c4d05f8f4bdc05275f87ca8e29af4664c3005546707dde4248c203df6aacc70619db8f6fb2f534ad66235feb379c4a93e8fca2da2bcedc203abe19e84d3d484758c85bdedfc7b8e65d70bc3b5b59a99ad2d3824a957c7cf4ad4a2810e85b7e2e037097be3a6f43414cce88e2919cd82f2afdbc312d93ec15e4f585854448964010670fa6c0563fd389b9ee594aa0acc57b952064d3c273d69efa829f587621885e1aff1acfbc21346cde33a81f841f42fcaee2cc6cd9a31f6cd7ac302a10cc95a34631f909151b7611a9dac2b97ec6b3aeec4bbae7100cfea6337eb807026b96f259729b5f945adcfb31d66aae
+Shared Secret B: 0d38725ddd670e26a1ed0614c589c8a8db217081fd85827f2c9801a2238b11c8
+Shared Secret A: 0d38725ddd670e26a1ed0614c589c8a8db217081fd85827f2c9801a2238b11c8
+faca855853ec0eefbdee6380072a8fbc3410b06a28a73d7932f180ccc23e4935a25f247b01b41c215a285569b1496f1b528727b526f67cb8a967134c7c4bebf946626741e80b53cc7e2dd511f1c42c850f5df4d5ff208e817e0090d13156f7ad22ef2185785e621571091457d051a96eb1dc069e2ff878687967ecadb1dd794cbe7e1a25ff082f7ea568e37b0157249aaec67243e6117af13200bfe0d0032d0261e66cb8d0a0dfbd0e2fc077535bd1fd27569bd731bea63306f187a11872f95df6ea921e45ff8d3fc1babf066800e31964edadf9e3fdf86dd9a7f0d83ecbbd5e0a83936afa2a403f292c61d2190db1147a2165f1383030091f41255377de4d6dd65f43d37dab01a9860fad130e8240807b12896d87488d0b1ad61290623472d61564d5ec5e9517a8f98a97e4881f604cf72495e17f9583f6e2984286cf8a13f67b27febaf73422fb164c107c55c661ff412711b7ab9aa922c2435f436cae6acdb3476ee7a9946e78da1d5f96c6c893f9d510fc564e3aba376e832fb7a8e9412f317c3b4f2f32e5433b932b241252bbd4bf4a99d1e7ff6da376c32a90ce8658db5a7a68f09777bde2d400985a851b8c006bfb25211d6ad0cfd0ef292e083834c142e1cc4cee41d57ab8dc938287e137c3fe55242d7e44ba6f332ee5dc94697cb333894f0e079721ad0cf1d1980248aaf52e8797f86271c16941dc033672ae76b6945efc27f3f31960fb94f8bad99f407a6520bf1c63ae6c9ae2ff8c066d392230366a18cd9e855ff397b5381329f2f6788e429b0216ff28cde414dbb24688c9baca819a8134f4f8ab2dec30178fb800914fcf200fa211c0079338e6a4303b0b53e2602fc99b5f5e65cbfcf708dad3a97387a6eb0360576288854e2db33da9fe86204ebe8d8fed8d75523c2c9226ac321e441818a112eba198f8c65f97f57a1b66be324b82e57d46979a517c7eccd00c7fab3418434d64aba4958ee74aaf7ab6f25ad87d9e16fbe1e675b8383b48d3cd3ae0c714ab8211a457555b56d1f2cc3efa84dc4394c44ce09c11c3162f7fe577d559c1aa6ee883cc4ef75a39d2c1bcd2ca
+Pseudorandom shared Secret A: f427b4df77f3191250c22d1c8f2a4da7ce090f2eea701f76a41ce3bb85d804a3
+ccd8429d27a12bf0f27d5ee0ea6da208f8363e59e50d39b65691435de9703724b0f26cc365aa65dd03be98ee2b7694ab417522c26b7c4b558f66ebfd660713f6
+Public Key: 5d169a5f808dd0c31a9a726abde1ace2a90d7d139e136b91f9e39bee865a77ec718d159bc035c20f425b22c17b26e2153e5b42e861215756797920979772784a669750f2745d1b059e8c66f7a966e953982e6c4d84172de04b3d0f4970e9c53cca65b86535864c90c1c0a786d975408ac307d2624d4fe2ac8d1790cdbc1fcac7a63cfb4b93409ad15c2cef460b2921868d8c61ee3a9a54c57e666a19da277b1d35353b6907aac148ab31386ad1278980b8aef23fd3e30de12b45175cc6eb6411108590b27c37c9cca7d6854c4667237ec370a38218e5858f7673376fa34bbd66030815b837b162a40c8b197775c0380aa85040bef42186265208975a2e488509401c658b9763e2303129c2355a52abaa7d06575b23938778b012546c4dcaa6774b8ba4edb770e202ad8dd5c5f5e4209702b33ff7b2a7f0755b091d02d277811b0901b68445590a046a241ff75cf73117929a46e8a3addf1c11b2157d9100422cc0b72073aff891430e9b292db976e205c7b259b0a13b76f2b7ceb733049a1a1405ccc899e49414394d3b57238e11c432dc879fa93a47b3c2355c8330ab1174c746c7db7f40761f06167ea0472a1ca06e82ec3b35d357b4b9338bd16d749b6248e2c9b5e6cae58c52e626439af8aff7e23d6a2672ad818bccc867d4c9c01814a5b08a6ae95c74399c0172c988547b3ce0921dcd9b02829412127264970baaf5981ca5818797181f9fd54a679c2b99c061ea73b2e61ca2be2762f92539a0444bb5d5b4896bc3a5d692e21623a86337ee90ceb0058169f9005884682666bffb633f7427ca85798f7fec8ebeb2c6cdb0459b7819c15c0382bbb4b673b3bf78b66bf0a60b8489e6367b2213999e527185408f8f95035e9cc32cb55e47d35d75a02e94c5ab99908cf153caf063bbbcc8308d8636fb03391760305788997fd26155d04a8a9809b064ae5d3305225376db053f48b919c28080cb77239b5b9452b40066b88e39016210552afde25d923139453b6aae6c62db177f6f1b0c294ac95ed402118733fb2c6df4a27863e20eb0803142f722d67b6808b6135899019903a940c6623e57909dc297170304b3c1ad32b5c209cf6802e03537177c46d038b88547d93a
+Secret Key: f19906144c2a0a666ed013cfc53006376abcbcf26399388adaa314b8cb55f55710de1033d3a9a6cb1723304cc6e7b96095fb63ed689247030d16909d02034c1c121b1b720a67f4496fda5723871068951b91e862fa4133119c3207a97724f4b029b00eb1aa8f17368706a7b71182cf74c187e96725f924cd9567bb41598d2738b73187b4b0e437b36537a9f1a68ddc95d5265194807f75b294ea535f32991c73fb1f2c5c2e92569b45d29996562ff9ec9d1b9082da69671958ce81e429a532aac9e727f8d435ce27b1e42753f6c4ca11ca6cc9ca12baaba48998a2f1d293bab53a2b21bbf38ba1cc5a0703d646ea5866b66c93333b6165ea50623b45bdc62939f6943a615a52a52f39790f92b3bb486c8c1ed63fca0760d857949bcc66236b4b09d36f2cb50c535c86168920592a1ec4393df974ba8d4320b4191b7981c5569a911f5b3dbc93bddb13a7358b970ad91aef673c90d56e90ebbeeb6132f5630e8c8ba1ec5a357c793dcabc698a457b17261e3abbba78644123a2047152304b03a1d9e755833549cd597dbcb175c26a111cd44e2e975c651b679e600e0e12113a5b7f1058a70f777599685c4e1529a4a55f5e60bcb9658dd56b86bef43a0014cf308aa0611b5eab6c39b070add8d85b9bfbc044431992611a3f2a15d677538e099234f886b032638507d0a7f86b9821779da268df67909d4738a6512c10308f2339128e26c96761a9d855c0a16c68fdacbf00f284a3276e65b4ae9ac0b7648b9930ab981c80072e737f2a7118e8c56ab7378eb7106f288119a644c09b462227264bcf9876d6b454f5a033e574745f482bd42b0ad3e0aac7c8bf1c07126446216bbc83e02180e8926b48cc08e6a3b1caa2786b952f655bae0dbb34f2706c428651a7a45ec32955597537a85955fe7679bee7300feca24ab40e6588b5dd5a157f540c31d284aad85328635578b0883efc1b7ad0a62dea5f4df192ad281095280192424ed89a129c003b7bea711c96b552f64403a963f36309a0c81509444eee6c4407a41940dc6e7f36c34cc44611c438d87510d2373a5a2ba9a12a017d3576c9a38b5d169a5f808dd0c31a9a726abde1ace2a90d7d139e136b91f9e39bee865a77ec718d159bc035c20f425b22c17b26e2153e5b42e861215756797920979772784a669750f2745d1b059e8c66f7a966e953982e6c4d84172de04b3d0f4970e9c53cca65b86535864c90c1c0a786d975408ac307d2624d4fe2ac8d1790cdbc1fcac7a63cfb4b93409ad15c2cef460b2921868d8c61ee3a9a54c57e666a19da277b1d35353b6907aac148ab31386ad1278980b8aef23fd3e30de12b45175cc6eb6411108590b27c37c9cca7d6854c4667237ec370a38218e5858f7673376fa34bbd66030815b837b162a40c8b197775c0380aa85040bef42186265208975a2e488509401c658b9763e2303129c2355a52abaa7d06575b23938778b012546c4dcaa6774b8ba4edb770e202ad8dd5c5f5e4209702b33ff7b2a7f0755b091d02d277811b0901b68445590a046a241ff75cf73117929a46e8a3addf1c11b2157d9100422cc0b72073aff891430e9b292db976e205c7b259b0a13b76f2b7ceb733049a1a1405ccc899e49414394d3b57238e11c432dc879fa93a47b3c2355c8330ab1174c746c7db7f40761f06167ea0472a1ca06e82ec3b35d357b4b9338bd16d749b6248e2c9b5e6cae58c52e626439af8aff7e23d6a2672ad818bccc867d4c9c01814a5b08a6ae95c74399c0172c988547b3ce0921dcd9b02829412127264970baaf5981ca5818797181f9fd54a679c2b99c061ea73b2e61ca2be2762f92539a0444bb5d5b4896bc3a5d692e21623a86337ee90ceb0058169f9005884682666bffb633f7427ca85798f7fec8ebeb2c6cdb0459b7819c15c0382bbb4b673b3bf78b66bf0a60b8489e6367b2213999e527185408f8f95035e9cc32cb55e47d35d75a02e94c5ab99908cf153caf063bbbcc8308d8636fb03391760305788997fd26155d04a8a9809b064ae5d3305225376db053f48b919c28080cb77239b5b9452b40066b88e39016210552afde25d923139453b6aae6c62db177f6f1b0c294ac95ed402118733fb2c6df4a27863e20eb0803142f722d67b6808b6135899019903a940c6623e57909dc297170304b3c1ad32b5c209cf6802e03537177c46d038b88547d93a3cd1e410fbbea1f4989ce41f43dece2f5d4166eac421e870e46b4905e2b981bcb0f26cc365aa65dd03be98ee2b7694ab417522c26b7c4b558f66ebfd660713f6
+33a18b78a8f6bcd7d484e019e64b04856c6eb8b00f403ebc6875cf7af78adf23
+Ciphertext: 2a7cf1f56cd5d47985bbd1f0848bf734b9c04623ed4e82935f6b583d626691ce1ce9e4852940911c0e6b9d7545e159b9d6175ca0ca62494cd7a470f2e80e81a794894f5550752463a9e668e9f0012df6e659689b373d33783a3f6a063f8721daa60b096663c963b6b8f177d414d6e602825e7545da767df9d4962cb6a1d0e3871890b7dec903b6e1aff2aa6695ae2a673f1b6cf117dab572262448f6e3f8212f609acb6e7a1068607beaf5fb4c75fc692fcfa7098db1ec6c942b587eb8fed48b1eb22232bd3687e98d61fada1310fccf85ea0e16468b1614dfe685502814cf802a9e9306f3877c25ed9af74e183a591759d27108e84ef01a44c62e5f103402146a68418af2507dad337f09882337fbfa83bee1b1cdddbc5dcd60c1cb0b9f35ba6a4e3b3a882b73b70645ea53ca15020b6a4281fd1b1a2a36dad90cf74de244c7db48dd63fc845b6127182935f8e19687aa06daeed3e3d22d9405ae5e4c5e62d0893b77ec7cf3fcf6102cd9533924f3d397e8c355ed7335f39876d3e573463588c92dca74d7caebe08c7a23c5f0e6eabd7c79929546766024c2df286df8f4853246a29d06fb9dca401e7fe08e506d19eaf61f51b12093539526267a5a21df8376bb8234664edcdb6f45c52c84ab5525ca86ee4a6cdd6681ff37e9be0f0b7ffa35d860e82cfa9fc7ba34f3a325d59b9c8d870327ace8b1ced9b763bf3032812fb768e182a47678d22bfe3cb2656c2f7b2f6fb22e305fbc8d17106f990b332672bdc7433c6f493c64a9bce01844ad26465b85460cfd087c76f0dac1d44b6c5855d222e1714a619d3a235f8f61c7d61193069553a13b0fef915fc009ff57f95a4f20789e2c8a1f39ffbe34a9d00006dc73501bf1c87074390010ef842b1829ac1fb21cc305175f6542468ba97202957335d2cf8d6e674e843ad61be4283bdebc80b152f93a0c378dd271c4714c9213e5169677b8525e51f0f38afc4d49ded429760280722ba24766033f6e87a9e5853b04fab1eb30a2101381ce6f6d5a56cca218d2aeb2d56143f78516b7a940b9baac8da8e3624a6b69c331f2a70304883de40c0b
+Shared Secret B: 9f8cfb79c4ae9218520e736827d7d9fe4e93ce297fac119cc42bb613e32b7e58
+Shared Secret A: 9f8cfb79c4ae9218520e736827d7d9fe4e93ce297fac119cc42bb613e32b7e58
+b2ddc3bb506b5ba83878b15c9d7dd4f75d3bf08413e14cdbb2f3bd2401ea286fa1c11da46abbd66c87ba0ea47d08e48eb242acaae1aa8c9b0f614ec7a18851c0f9b6dec061f54b1aee5a3f1fb04b58faaa5c2be7df04b3f0cbace5c11e63240bf3533f08b1b5ec9dcbe90cf8addc67780ae99335fcbb95d26d93df3d779a6bdf240d9f3aaf47bb28892cb5b52260fdde73343c9210f419a073a65292bf172a112414cb6557183031346dbf9a1b8d3b4666200ddbfda1f5aab2ed566c5f9201c5c3fba9602635da75d7210019b77fd6137c2e657315ffb95f7321a3bc4a919d101b414e2ddfebf373cd155cf7e5062ccc8bf04305f5d9be277819b27f52b464ef7855146d9ccf9c4aee4fa38d9b8af9f1d62d1044fba99a690ff813471cdde7f0e79cb2eb4526c193ffe87a5a1ee29b4387fc64fc6061ade9160c334d5b867afa7f021e70393bbad3b00fbb439ea793b28642fd3b8a285befe98d07c7bcf62ef74b55603ce096f17606978ff74ccee68a3a010e01cc7d5fa855d9fccc994f87000a311c32257b54aab0a15425ab5b7e759a4994c6c5d103911c37c614390aefbc5f4c7e78387fb2b9ee0d7b2833d7521a3eef19aae87de6b69b17dfc19e30003f85e629555b4e1b2cfa76efdf8ff1ab781236cab5fddafab8bdc3f5ec16c6adfabeedb421c846a5a61b1fd66cfe4b8f19b0fcba3c022fce3d4672a3d457bea36e43c574e9473761835f9d61983e9e78e08e28991156113763b51ddfdd3a7c21a341a60c1235dae83e72f6b9e19cd74c6b7a631c7abcb3be2a8bb9d614240ba4376d08d35e423281a6812d1c6e9eeee33147b52142b8664e05594db6e79bbbea925b5ca733950b6973c249e642de1c151111c1787616e68e4a1e6b897566546d9b5fb31bd6bf7c1b7595592ed9e590eb2ff125f1a2510b15b9a0587b813084bc88e033a180206cea50e15e2870b37dd84ccc5b5c723b85d52d3aeb6f7b049ba8942072d88dc103c035cf13f57e2771cf3fc9668f271c502e83daf1d1ed773dc66ce18d46e4c4320017d8599668152e4273d0dbebf15499675746d02cbc3c715d49
+Pseudorandom shared Secret A: 8fbb7dbec1cc16cdeccb8310bfdda432c943036f8c6074373ef901d8af4b06d4
+f46b8b59fb08506505782023a6ebaed03241cac1c66edd932d20ed52000188a7e259d98c355d79a617d33094c565315fcb98fe2171009621d085febc8ca7f72b
+Public Key: 496214910a4c1ab31d490c98723cb95709345adc3cd7a4aee1a6758cfa8147ab2daa288bc6e3055ab54ff238540325bd0f27676344c7dc3247141bc9610b17c56106f5f7c6cd7903172b4473287ed4f027efa51556c14bcf627d4b461916599278e1bc67022d5ce36c40f8543197a48c556cb3c3a71e7c2e56ea7022758a8bf8403196a5595884119737fcc79ea38110185310522c4cca625a02a53ad55648c7cb07bd955faef6780df25ebbba6d406601e81b8ccafb930072437bb59e5fb2049393977f1c6e9b0a32b2e4472673287a3896b4d15d7020798a448a42fcc8e7302cf524a9f691190f0448b3db404aba19b1992e487c3b256771a9c15e7c026c84797611f461f8a19fd9a07faddc7297395d4633488290836424aaaa58c31b163ffd774e3e48bec8db62e18a7961515db8db3e8a467da2a51173606b7ce9b621046a0786422638adee747faa34b91718a396988ed936ccfba28ba91c5163b732cd6079649ba450884f2eb93f487327833b2329745cc56952dbf63ffa62cf4e937e854147fe9ac85a6673a1330b43d8a95903607bec917b82ad65f895a53588a6fc24b680ae5fc168c3005e0bd972df596949b607fc74443ce34c73ea63ad903ea2c300b5833cc7ba2a89027b7beca65691a823c5c922207525e75f8e28b55a76b12092cff44a1062a7a0b7015ead3121d897c1ced1a687c51983a5786fc0a913f57cbdb6be8e805c1fd86c0bb4b7a219921b503cb1483b3e303cca8b7ce28495ec9a7f544a1991b96f5efc7cdab968e42088d8c97fadec5435b5c5d01c06dd9193af7c24bbd77f246886edc505e3776eede5bee9dc79f409076a5cac8dc1507e649114d2328f521ffc4aa594fb49012b3ef2a6a466328eeaa855bf30a14f351931f13039516394c4b36a28622b0bc382a9cfa8fb1fdd2214e9e77b4f6657ea76cdad6c220bd7266e179c3246a86e0179812334f9253c7e314482bc9ac0a64d82dc8c6fe6a679f52045907408e960e5d29fc536b206d99aa6c99396564ced5659bd0c5ade413a6d742aa12a9da62c1577854a105a39507b0af21b011575057182038b70e2f150189b54bc766293d2da5ae7da0f55414fd6d8227aa56b223351155f
+Secret Key: e1cacbff555404389550c150db495ab8e602f1a11bd7005e4c8262de03c2e6704eb3702215c2a45baa1095038bff730b00f4935d3a3a8fc7cc8825635aa20d87f9c1858093bf08c0e1618251571610c51507c19aa6832e70688c65ea2159a15226e92519e00b2f023933c6bf29cb616b723c554ac613365675735946b65b6dc04d29469e67a892c04437e149802514abe45cbc1610b2200134ca666728b7bb7a17b959d64a3fec7087a21ca92c5e0e13188bfaa7b787af26968bd5b7395c670ffc41cd12f452437a63bbf85e3361704a1a50060b917a3c04a01676a0e3ae0a438370e4ca6b00483c63840f3bacc53727a60c4ad056097af56393c66403c927d24aa39e1c4910260015e4a1d238c35dc0848c5b8deaf953b7815686ca346fe60476fa45aa538dba1b2663c2062415c06c5a02b2aa6eda703e27d161bab2a7bd760922a3a8cfab93ee8153c9f4548439c590a0a834597f5ed7809cb030acbb26983568d3325766eb6d9a71372098406b5077c94734a6b0b4ae6ca09db09e3881181ed8616b24343c202f0816216e134cc3773229db12c0ba956cd062c4b8650fd82a626990b0583d84a86357bc4ff89cac3eea57658055c96a659f1a163a2ac32346a61b0c61008dabd32b1698e800489b3baeb7844b6474f73b51c45c3f90593e031531b3a0245090964df04aa074c32fd4a56c380b21fa7e60276935fb574401a4f5e02aa15c28cccb6a2a80576c0c6fd5760ad8fa509106a6bd556e14ac7e486b69a25b02a1d410a0e873762ac9ccb35b1de490de12cca2e2a8f3aa4f57aa7333a92858c6413f310f01ac10fce202adaa3cb9c0012218ba548515ed852438c80273b11c099771b2b33ca6a2aa0c0b2a52059254f85310a4b130117d7acba5e715128f4742f0a606ee628fc27395f6464a7b142c6bb1ae4551324bc203ca6154aa96b02f1b3984222f10e1361d203135f87a50f16c9b5bca56b2bc0c8328f6615810c92ec54cb64422ae6de334c548495e64cfbf77741863cc2629344dd560b101a26850ba002210d2e64a58294b41bb3c8d7c048135457660936f639618126f496214910a4c1ab31d490c98723cb95709345adc3cd7a4aee1a6758cfa8147ab2daa288bc6e3055ab54ff238540325bd0f27676344c7dc3247141bc9610b17c56106f5f7c6cd7903172b4473287ed4f027efa51556c14bcf627d4b461916599278e1bc67022d5ce36c40f8543197a48c556cb3c3a71e7c2e56ea7022758a8bf8403196a5595884119737fcc79ea38110185310522c4cca625a02a53ad55648c7cb07bd955faef6780df25ebbba6d406601e81b8ccafb930072437bb59e5fb2049393977f1c6e9b0a32b2e4472673287a3896b4d15d7020798a448a42fcc8e7302cf524a9f691190f0448b3db404aba19b1992e487c3b256771a9c15e7c026c84797611f461f8a19fd9a07faddc7297395d4633488290836424aaaa58c31b163ffd774e3e48bec8db62e18a7961515db8db3e8a467da2a51173606b7ce9b621046a0786422638adee747faa34b91718a396988ed936ccfba28ba91c5163b732cd6079649ba450884f2eb93f487327833b2329745cc56952dbf63ffa62cf4e937e854147fe9ac85a6673a1330b43d8a95903607bec917b82ad65f895a53588a6fc24b680ae5fc168c3005e0bd972df596949b607fc74443ce34c73ea63ad903ea2c300b5833cc7ba2a89027b7beca65691a823c5c922207525e75f8e28b55a76b12092cff44a1062a7a0b7015ead3121d897c1ced1a687c51983a5786fc0a913f57cbdb6be8e805c1fd86c0bb4b7a219921b503cb1483b3e303cca8b7ce28495ec9a7f544a1991b96f5efc7cdab968e42088d8c97fadec5435b5c5d01c06dd9193af7c24bbd77f246886edc505e3776eede5bee9dc79f409076a5cac8dc1507e649114d2328f521ffc4aa594fb49012b3ef2a6a466328eeaa855bf30a14f351931f13039516394c4b36a28622b0bc382a9cfa8fb1fdd2214e9e77b4f6657ea76cdad6c220bd7266e179c3246a86e0179812334f9253c7e314482bc9ac0a64d82dc8c6fe6a679f52045907408e960e5d29fc536b206d99aa6c99396564ced5659bd0c5ade413a6d742aa12a9da62c1577854a105a39507b0af21b011575057182038b70e2f150189b54bc766293d2da5ae7da0f55414fd6d8227aa56b223351155fcf0b1795707d86980c5af131f900be5e001a203a3d3cdb01147ae66634f744f4e259d98c355d79a617d33094c565315fcb98fe2171009621d085febc8ca7f72b
+739ee24dbdba18904f0aae1b322734fd4b5ff1606462cb9d639c8e9134b5c0af
+Ciphertext: 0aea990eb29be0a3c362f780b863c0421491d8dcb0ac4c0875f9d9b531fc1aa6269c75a0e613ac48123e48ccc89953e675e224db4b6ac28eeedcb2db1f315605ca895afd01fe2b63ff009c4ee5576ef8322f21203636a8c09a34f4b7bbe8c188b4dde02e205009a6f215a35b1dae306b30e4e097fde06d222b59ac2a41d1825a584cbb2f51fa9924d248a3b8b5d6a74813278d2fa151771fbcdf824e7b19b6295645f627d695d1a67382cc334fdb14edc27836e1b075e2bcbba9970586df8586b553e489b3f2f5b4a2cbb3f90338f63336cd5800e1f2c33a2576f026a989f8b6ed9e81ebde0e3d34a4cc489805d3b2348db0896a3f12d4373077f3568ef87c8bce65ca4ee3aec4003074cdab9d1eaefda3def0d84dc6d53ae9c662684601dedc3a89b4c6219da2be731cb2f786d33f22765299400fa81f02c72f569cb510b302ad0225b8d1d33dab713f89aa0dc6f9d89377ccc0bb3b4f9e9f3bad5866381a49a0de2218c390c861c95debfef736ba5f50ced2ef8e23069de65d039b86b19981fb902ca21cdb40e723d6a004233d1287d6c3fe550e4102cad442207dfd38243567a6c564efde2874965129b9621e42dd673a996e2811fd84efb1aa09ea0194cd2572db08c2d1ad3d4164386c9d4ccfdf79ca93325e578389c58acb56be1916f04b0320049f08388ed8beefcac14a298f8a000517b042669af15aaf4b90a48856e4f1b669519a14af0db96747340d8c413289e65bc8cae066b467be8ebe5d671f1a4646204358752dc899562e2d7bf6671e5b689add9c4228a3986a54d477bfcd65612f8da21a5c62485c14ed61447db436f40e6b8d0bf84e9c5fdbb5a236e649c23c39599460db92e311363419da36e48e86b7957cc03d8388fad6591cdc2d6fb58f78edef7d4f8b85703b3b080a46c4f9d262d03d924f6f933edf98aed3fcb9c25d5499c47e31f01121c040562263d569824c0ceeb3e8bbc5eb01f1eb086b4052493d564a40621ab184a8bb5b8ec4526dff0c5d66b476a7f770a7daf1caf9e1d32da3641080adc372d71e3768673cf3f168a363df4db66859512e4f46edce0b
+Shared Secret B: 3febb6edbdbbc5c049133986233cbfdc55897a8ffd13ec561af391d8fbefde6c
+Shared Secret A: 3febb6edbdbbc5c049133986233cbfdc55897a8ffd13ec561af391d8fbefde6c
+3e35b190d75c76a01e783bf1245d29606a63d926bcf2224f7e9ef7199fa1203e0d8627b8719c79cc25da3e616ded0d01c0e4af204ab7a781b3854acd350b9d20e42b03a44a3d0bbb40281b756f478a4f02ad7be1bf850b1ceaba5fa735f60f44cc3ebe49feba4331990eec12ae5de20990161eeb02930352c89ad3896faf41ff4a4306479b3a5a75beb96215b7ad65afc04dbcae4657422b626452fbe33d708991f27f2262c92a223dc0a9262a3374aa775bc9400dd61d68a4554b36943e2c33028b57cc90c5945ba78540bfa0974ad2f1616196b5e3c6b10de0bf45e61c8afb66255e865c4c700805b21a725ae5eab1bf2ef4a5be7ec052512f3aaeb605213e7a17bee43a8c9f2ffcf6a1f151629ecf44b0af0f19dab78fbea043ab3bfe32337d24130b9ff309c3254af226cc30373b601cfa9118710549a7a074c032f26c4201003eb6719b2d114a90b758f60523bf9747703ae33aa6d53921d7615f6383f87756b19d65a9c3b805f4a5423ba30c1a0b00eafbbf4c664e247cda362cfe937970e0ea11e82761c15127c51bc6a9b9acc96dca85483e41b80a60dbb6888e8e22beb08256deb0af4734d059a0328ddc1ba0b432d8484c0b103db1c2e66d01e54fd7d4a5ac4ce7f97f3c881f29b12dac452f3b8faef51489c23139d33773f2dcaa8a09159d46dc251121b18acf0ab4a53550588b78715dc2ae75e5df4a653c06b69d55befc5811bfd63f9cfa31511900abf0654d231cb22f7a27a7585e0d725e40654a2313cad95bd08d7f4222e1acb272531a0c50445c82a35044d4d2b9891322bc9bc62a09c7b299dc74054b992b54535c954a81f8aae8bec2c4f88820d293bbcd5e56db34e7fd6f66791be45d7bb18d51077b77e78a550b7f4776eeee21c516e19025361736a397c9984d46dc0e4b71b210fd3fee8e7ef5851bea53b5f2c7b2e54cc37a9f2e94b014fc7f5b3889c88f53ccb545726b162b3a5a9e366b17c6ccda0529a1c6a027c3b0729a564ea2f22b5df0f87f96557428eb5972170c7848134c04136b8892c27640ff57d88f17d296165b89f35f6790351c1cfb6fcd8f64d0
+Pseudorandom shared Secret A: 09f7731a309e61fddbec82c1e23385a5cc8ed8030cd9f74a2496d9fd82aeda9c
+341995d538ee93cdc650a125aeae3b2cff5646440521647678d962b31beffe03b23e49444957aed4a91fe7c694807b97072fa9ca9ebcd2a7979e395f4bfed326
+Public Key: 85bc45051aab867175fa37b3efbb45293a0e0a5215aa2424d2e64fa787908537aaf9ab254bd89f5d92341c7b81d744b40df30fcf884a62261a948257a819c013d71237b799fa670d43b9b20fc72c694b2bb8d7675e8395a0110eaf5b38364873e9a4c1d30756d0a22f280bce983012f30206fa41c1e5b64c863a2ef88b1bb7105ea141327f15849df6427197930aa8b6b0b30bba2748da7708efb20d116b4c72780e50629f26b63f30879bba811b0e1046994a7f3e61677a1c1fd1f4a2b6701183d1b7fd21bb478a1e745b3c51858d75dc787f4455e4e62b76fa524c9a9aaee6c2499c2720630195d09aff2b5d297098a8b584694189e3fb4c5959cb84a765e0f844ae85510a1994847c509cb7b9e366b4c75aca07d89852d807b5c00cc6a2a94cc566cc9a3cbee32d89dbb0df0c9634dc356c282e69432778462d877a3cc72c2f320b8f9f54b116e3b5e29a6fb4e14c46389993964f1784bea4c85063e42baab55d7a74c999da99eca8987ce14b2ccc78e4b11e1b584cb5075c52669146fab493321d025393cfa6a49fd57d30ccaf264145e3d9015348149248abf32b859ccba971d273183791ecd26b922a6728bcc980b63c4aeac02a886e9316564eac023e94c3f3516f4c82af0d25acb2b41aeaa40eb6ec17d152b6dd77bec0937dcaa5c455f15aa3e3822c317c306763c7d209c5183d58d85246e83aca0705b1b6564d3047278bcb0b985105502dd810785f658dcdf374a61b77836a001dea3fba828c7507b0e5b76ee28302cde0605642be0e546bb2a10606fa222e9aa668095421430b9e439543a7a83900488079a959dc9c9cd3aa5c205cd46c467f967acfd9b3163672939a543757937c5ccd1ac664f4b79770b0a06d5b30808a4c4632c24f4423046b9c88113e85575be69987f27ccd22ba32cdbc8948338a64fc5e3c5227dff4766665b25fe66276122d6e950c66c9635b9414b4092cf23220677160d16b9b3ec58f4328ad6d9a8e309ab89602601e4545bebb506580025d91b20c699853a88eaba0bebe596acb714e7b2c2ea982991a950f351a75f2455836f7516835b9ef1766471758e0769216d0bddb4e3361dbb9e2257ccb2ab9c0bc0d01f5e6cc903abf86
+Secret Key: 32c7c983e9a556bb542f3627eaf84a8897695d6cb6acfc001e248ca06152f75b2f72faae28755d5b8126628c4be13bb368f9b8be7a352754c7eb7c1b039c8ae48c851a18a96097b6f18099e3db4a19bbb396b00db223841d4a6623f328633467061362980cca0b3165acb89766765091d32b45f6993b98a8b34a7ab9fb2bafe0bf0eac2a06a17c727b5395bbc41c341699066a72db49f7cb8d60db1848b9c69fecb62ce84150ca15a26b2c529c858c66c66b35018847b57602675a5acfeca38c58cc34a36a3e0474aab95137d95141086a49fc4aaa61bb67f2287e8531ae523184af4966ce4b1cd890038427c1f1c6ca6c33a689e2c084f12447009f78c571a247708baa9e77c188d052a3010a3202152688d89776c4a53ba681ed35a0d97133ceecb226a7b6967655c5dc744df6cc656935a65313d34997458a17b3a37b96f31eb124295968bde64a57a383474b0a593a43b705307bdd20bce869394160c59321b123778502633c7b442f6850bca0308b2de6a80b110c36322cd20189c1917792e9b0565795f6da552559715f8442769b234f32cf911c66116271a7c93a5ca49a56794ac5971870ec1ede66a4b49ab93e01b21a8165967376ca1b74b3c8623958ce6c89b7e9ab11aa6932869ca004b402af8c181c731d2bb1664ff85f510b3939717da2f350885c7b9ba59511891f4987a8399a83b371417e247c08587ec3b80b76197dbb342d25b6cafae585a0a621f9d5be542394fd9acb8555340540cf4e90082034b38cc73bafe65298506310bbce92f6c6468b6d55729ab2850cf5e4ba21db2fe694b40085197a49730c7ab4113238acf0257a55c612f8ced96028d70469fbac3f1e7618730b247171abc39232e485abfe02cd5271b41056176230073c659c8b489e5bd151dc2a69d5578c739c6f4232132494bf189b7a39b89125310320b1b445e3612ed89d3c4cb91cd08a9ab2bb9b66cf9a6ba427923686c8c86f0518700919d16c9615ba9ec6163884c74d2237cc939808b2772084279be55c29a0a073be6184e1ccb3fbdb1cddc466a10b20a1c8ad0034b9695462dd0b372d745a85bc45051aab867175fa37b3efbb45293a0e0a5215aa2424d2e64fa787908537aaf9ab254bd89f5d92341c7b81d744b40df30fcf884a62261a948257a819c013d71237b799fa670d43b9b20fc72c694b2bb8d7675e8395a0110eaf5b38364873e9a4c1d30756d0a22f280bce983012f30206fa41c1e5b64c863a2ef88b1bb7105ea141327f15849df6427197930aa8b6b0b30bba2748da7708efb20d116b4c72780e50629f26b63f30879bba811b0e1046994a7f3e61677a1c1fd1f4a2b6701183d1b7fd21bb478a1e745b3c51858d75dc787f4455e4e62b76fa524c9a9aaee6c2499c2720630195d09aff2b5d297098a8b584694189e3fb4c5959cb84a765e0f844ae85510a1994847c509cb7b9e366b4c75aca07d89852d807b5c00cc6a2a94cc566cc9a3cbee32d89dbb0df0c9634dc356c282e69432778462d877a3cc72c2f320b8f9f54b116e3b5e29a6fb4e14c46389993964f1784bea4c85063e42baab55d7a74c999da99eca8987ce14b2ccc78e4b11e1b584cb5075c52669146fab493321d025393cfa6a49fd57d30ccaf264145e3d9015348149248abf32b859ccba971d273183791ecd26b922a6728bcc980b63c4aeac02a886e9316564eac023e94c3f3516f4c82af0d25acb2b41aeaa40eb6ec17d152b6dd77bec0937dcaa5c455f15aa3e3822c317c306763c7d209c5183d58d85246e83aca0705b1b6564d3047278bcb0b985105502dd810785f658dcdf374a61b77836a001dea3fba828c7507b0e5b76ee28302cde0605642be0e546bb2a10606fa222e9aa668095421430b9e439543a7a83900488079a959dc9c9cd3aa5c205cd46c467f967acfd9b3163672939a543757937c5ccd1ac664f4b79770b0a06d5b30808a4c4632c24f4423046b9c88113e85575be69987f27ccd22ba32cdbc8948338a64fc5e3c5227dff4766665b25fe66276122d6e950c66c9635b9414b4092cf23220677160d16b9b3ec58f4328ad6d9a8e309ab89602601e4545bebb506580025d91b20c699853a88eaba0bebe596acb714e7b2c2ea982991a950f351a75f2455836f7516835b9ef1766471758e0769216d0bddb4e3361dbb9e2257ccb2ab9c0bc0d01f5e6cc903abf862fc1dbb20b8d544bd24efe207b64a3ecc89dc65ca0047e76e409b24ff2079418b23e49444957aed4a91fe7c694807b97072fa9ca9ebcd2a7979e395f4bfed326
+22514145cb7f9a40b62dc8e0c1cbaa4539add7372e4d26e120d3fcd8cb223171
+Ciphertext: 0b7d36f80d39d00a46a64435cfd4f9b3453df02aa470ae4d7fbd8e3e784459c30a61f291d4ea9f251ffc18f4727ed44ceb1b952a5398ffc39aaefcb86d7aae66730ff7bf693eb14e45060ab1163eea8afc256b86b20f84e63aa66823c92cc1a12e1a11a7146c62e2dc1685df734c0510405cb6b6862121f472e1a638ca1d755024051371fba8dc279f841038fb8fc9288c95c23f712c43df3eabd0d590208a4cc50ef41e356904a878371a9d35147c486c1ec9497dea151576e4bdef2036259d5bf95f40da70cf97612daa3b1630b6ccfb2aca280873e641de32fded018cbff821c1c045bd5feaa2dc38117d817c0a88888ae1f3faf0101534f09193f8ebc036f5320a6b591938fb51f78a09f160e40a9fe100baa54964ef9e3a05ee3f2cae742bd9977bdee8137747777e5229ceccb5fe661922f23c305875cf0d410d3be3d62dadbcabe8a610dc061e6155cc23d6c6cec6044512a0d40d036a2c3e64253c5d2e181418baf6f70e55fead707e6c4a9b22b6b04e73dfad1e9976b7ac9557d093f8596e625ed0f5c9019a260c471852baeb071e9bf65432ec017498ee1de49c3c79c784ab7385670a2eff0b38d709ea6bfdea42ce1888befc20edbb0660a4bb31ec11168cb9cfa867a777c3b034933638ffdbdd29626f97a1ffcdc9aac8f682ca484934ced4fb360fbe690507040438712721be921b4759f9c483ded72c113241e09e086e4dd515d6c486451c03ee5961a3e03a5345cf66ec5288b915871db31fd7510e8f150013f3ec7745eb806f7e355577b3cbcc175cfe27c50a646e5af4ce599dbe4bac0e9d4ab062a29fc77a3a775b5d2f6fdd24552620cd4d4da95769ea3c6c42742489a6c5340cb7d5eba0a47c5c9fe1c1e013e865e4fe416d1bc8d66c7190d5df7f8e99dbb4bbe25ebc2ea7161eca5e73ff393df5524dbe96f7ffcd594dda8c9d285cdcd347618a1e7319248e7a99a3383ddb350ea9594de36d80b18fafb2d372d4867f4556a600608c9f10b0fafb3953a742c3b7f8c274b19ab56b37a3250156823839065f504b0e6120b3857befa0925aa8f676bb9360e2a9c570a4
+Shared Secret B: 52af88c862ea007d05cf6520063f4fe4f4801b45288cfd44613752bb0c2c0507
+Shared Secret A: 52af88c862ea007d05cf6520063f4fe4f4801b45288cfd44613752bb0c2c0507
+2af56dc4ef40701680562ab054f23a4a3f3d1e4eea384255a7587ca0db3a5e7e8e3007bf67a71af318029c309c0f27d031ea2daf29610eec96f0ffe620fa8135cdbe72538ea1d4424d9266ee26db26ea49319701c71d44d686eb8ff43bf12e3bc3b4fe582edc852be9fdb6293ee8d3259d0ee3c65271348b415ab291e9c3435165f2b03c696193476f7148df450d11c6588909f9bb5cff965fe015cf93a35e47d8c72e60b61ce81287f684d197762b17b73f064d853bfb6670e06baaf06ce9ef7befc36e3e079134e39fe39a0f592e2144d29f77e842ed07511b530b4f547da6f4fa3a440b6cd3d24c3cfa89168f2f72b173a1c459bbce7fc8563d8b7f860f392fc737d109fc9c3a5d8d7558d4482bc031208cfe4533e9979c71ac59fd6f5f8ee08155871ceb49a8b20f6f687ac11b3ec1adc66f2b76582996b6c738451099ead977adfc575ec89bbe7dd58a3b5056a6b0a6862de78352ff7be2061017edf9810891cf57a3d9af31ee7e2916510600b712895fc0ff028a1d7bdefe45647837780a135bb8d871e828d3f78d89500ed4a466b5140f31c4f2bed35393f7022c01f0a2ddea2f781f4ea65d50f6447f97194ada7154317ff678e67c5ecc05328d7179e4ba0c7017909f71864a7bf31fadd1f9585f0cf2ddfe71ce6a6e232a0d853102272be58fb5db95cff939d29e1425298496c278494d648849bd4b40a1be3504cca9acfdfd4926942f364361bbc88c6fb099dfba48502ac87348cd12d556924c4f49e0aba620d52322f200540658c370ae5ada496969200b6c2cdc179acd2c49d75460e65834cd4555a88cdf41922331ad67d56afa39c076dd5a89e64d9221ff799987e191a1931c95884b65f8ad40cf3e4dd5e7de349ad6cebc11e27737efd083a15d0c5d8c60545b627719ed9633c651a9a56fb555c87814592394fe084d896ba6cdacf58169ff9926e495eb85a5efd2c20eeba3df81231254685c8801e7e5ff6b370aec3b979b88e2dcc6c51cfea293deab0e6f7552bc9051912fdff20f1ff8cf8b43519971b6b74444816a661047f997c422e5d371d96b00ae0839948a3be3
+Pseudorandom shared Secret A: f7647fd5311e7af7a080e0e44c5a40b693e498a56812c075d53be016a4b54c9a
+2aa7b4a4a6ad9f00e6e6e6b2e5d6b60431d7f2c8eb27b093c2baa55c565015fc70c1bfc6cf1c8312b6a74ad242466d09c84c5769719e04dab40bfc9e883a5645
+Public Key: f0ba5604d56aab0b79d9249aac764ca121781dc7a0b5347254c8a3475cb3fe8c366361413d0a61ee9429605743d51953a40a40464c6487201f365068aca831e3812010a5adf55565357c7b3bc3655ab86aad8bcd1543b6236513c32259b7e634c6b104ebe8bc0524a0eeebba16e687496154d1d3c8b90a45adb7ae610c0f21b04919430a85884f62c774b4fb77af618e41b0a77ea22edf09923714c30cd5ba1c010a5dc8b0a0d01bd6333fa95a6f1540c01bd15776f355aeda0a21067b591b35d5d743defb2f181a22a5d54b3117b20d148a8c005d6db97fe41a9eb08188f8b554a9d1c7510a12e3c0788027388af380221a4654f04e45b29bd2a03571b28d7dd366e812b98e8210e0567c1561105a511c4967367dd8b325a1764b797317ec00eb635b43997b76e57fe17a1e7663198ee182faa07bd93715b8f00507eb374c155eb1559be9128b68b6b2b6076ee539a4ae4742aa096200f7265f848cf35881baa0553090b60b2a31f46413cdc9458fc83801b45202fbb4830089c8697c54f08308512682f4406786396a6026ce8252863c0fcc9a39906c6e21e51b602890a795996d668d12500f12b056173a5329966ef1a9407a905407681f3d30a44b7a70c2c57e332a6baa39cb8d243159091c7e3667c6d548f5cc08cc7c753dcb347c5c33a63251b907ae5cc3245d034fa16c5e1796782cf04d5dc4a43e02c99b8a935fe81db5102e358065ef41619704b7b74b7fbf60a19bdc68053a09e76914d54658c0642d304b82658b4c8936bbef7b067609b78d256388a6117e60783f702635676901e342445977fa1cc7d6a000cabb44246634edf93cd653b7911bcd93071a4b2813c142294011710a1a925215334481562e9322b9b175859465ef18bc69c58c45ea1fe6b3cdb7573721116c985c50b54aa1272850c3900e7952943486cd39410e58616e95570b06c72bb7a55fc1539c73851abd220549914f65b6b676b315384842750640999477ded7cd03a4b5436190cdc2b1ea44616a61b82a221f62b1a14f88b327e5439bca002308842a127532d0724a6c8f26a7b2c6901d6e7462bd784be67e64af7c8ec3f959bea0592517a0e77d4fcafd290e150af3031114d768581a
+Secret Key: 05193adee774f5a68696db45d26751c8c291e5635ef5fc1a763b8d484716a1c512dfb4b6c0196a835126c0d7bcf63197a8f7212ad6860158b998a1b5a274876c06779ebb7a5ad670b28592549103ab1bb4fe5946d57cbf0c188e46db86f1456e5f5a019f59b860221188e0c9a31708df9a7e04019c23b028a921c065d577547cb7614727d561a8ee3c553716c8b4326c72bb3054091d21c20957c0992447655a6b4a48765346f74293d9cfb4d5c08126b46aeb743114056cf1a8d09c2965c389026655ff058c52d9b96edcabbec05465b919a10a0b02b440fad848626a8d543a2874762406fab1b6b3394fb02d308a78abf6c3d0e455a61ca4196422090c1b933642c7c002098c3562e62bc8cb4b5e972485a69e95a03a9738895b98155a902c05940d92d577a6e05c837b91b9a031093899553696b97ca9fdb1cd9cc981d6887b474623be2316acf453b8480043a01f548b1236f7183b506f1378bc573c068b74b4ce66bed0dc263ba44c0e10c081d9030fca5049b8491e8a028cc85adc0ccaf12bacdb905420686bd51809b37928ea21a99dbb302008cd4c3c9f224320c9908ff54a262ec9308c4aae0b0a566b5b71f5ab00e90b4df47835466226a5e93be0414b57a46ca8c301b3e37334c182f5d29deb1131f5bca98745815a981d2085ad717152860b33ab454ae7559c01697ecf653c98a02d8ae3b7b2620580a0a8f12a13de058169e7cee53b64db1217b9550a641777dcfa4c9be0a4cb4b43d9f54da7272ce2c69b6649c1c3288b2c9747c4b87a2705187ea584b8147851dc6906794560bc8d59f48b19e098ebaccd300c704a8805ef44187d28707b72812b9aabecba0ed6e5c207b8c20300496d1362c187cb6f0a44a984a93eb8a732eca9c7e9582aa87bd6c40f3848808323b4ed4c5b489327ff56709073321cc06c2d184f6054cec23b53fb797472d9432ba8550f505d706ac891136126d63ba1893e961873ceb6563c23b1066aaa9b11bcbfd978b3196ded2a4d7ab49675fa5e1a3338d910015064b833ecac6908cbd792720ad7cceed2a380f35d6af791f45b1f548646e7c70ef0ba5604d56aab0b79d9249aac764ca121781dc7a0b5347254c8a3475cb3fe8c366361413d0a61ee9429605743d51953a40a40464c6487201f365068aca831e3812010a5adf55565357c7b3bc3655ab86aad8bcd1543b6236513c32259b7e634c6b104ebe8bc0524a0eeebba16e687496154d1d3c8b90a45adb7ae610c0f21b04919430a85884f62c774b4fb77af618e41b0a77ea22edf09923714c30cd5ba1c010a5dc8b0a0d01bd6333fa95a6f1540c01bd15776f355aeda0a21067b591b35d5d743defb2f181a22a5d54b3117b20d148a8c005d6db97fe41a9eb08188f8b554a9d1c7510a12e3c0788027388af380221a4654f04e45b29bd2a03571b28d7dd366e812b98e8210e0567c1561105a511c4967367dd8b325a1764b797317ec00eb635b43997b76e57fe17a1e7663198ee182faa07bd93715b8f00507eb374c155eb1559be9128b68b6b2b6076ee539a4ae4742aa096200f7265f848cf35881baa0553090b60b2a31f46413cdc9458fc83801b45202fbb4830089c8697c54f08308512682f4406786396a6026ce8252863c0fcc9a39906c6e21e51b602890a795996d668d12500f12b056173a5329966ef1a9407a905407681f3d30a44b7a70c2c57e332a6baa39cb8d243159091c7e3667c6d548f5cc08cc7c753dcb347c5c33a63251b907ae5cc3245d034fa16c5e1796782cf04d5dc4a43e02c99b8a935fe81db5102e358065ef41619704b7b74b7fbf60a19bdc68053a09e76914d54658c0642d304b82658b4c8936bbef7b067609b78d256388a6117e60783f702635676901e342445977fa1cc7d6a000cabb44246634edf93cd653b7911bcd93071a4b2813c142294011710a1a925215334481562e9322b9b175859465ef18bc69c58c45ea1fe6b3cdb7573721116c985c50b54aa1272850c3900e7952943486cd39410e58616e95570b06c72bb7a55fc1539c73851abd220549914f65b6b676b315384842750640999477ded7cd03a4b5436190cdc2b1ea44616a61b82a221f62b1a14f88b327e5439bca002308842a127532d0724a6c8f26a7b2c6901d6e7462bd784be67e64af7c8ec3f959bea0592517a0e77d4fcafd290e150af3031114d768581ac1ac0e896559e36b0cee6ad0d647606e3419bc4b9ab09bc88ae0b3b378f37be470c1bfc6cf1c8312b6a74ad242466d09c84c5769719e04dab40bfc9e883a5645
+d1f53fb38557e8c144081fcfcfaa64b72d482d5076cb82dba1fb227935c0558a
+Ciphertext: 1b5e11795c250162089a73bf942dd7a8ebe56bfe6d787baff656e7cff311ac85edf30cd831a1c6aadbf93a3aeb5bc6dbf8fac35c07f5ed1031fc29c98839ff31f08e2987eeedc7011b0498c55859561badbef128063412d995b86afed060513fe106eb63b13022a2f48172abc3562fd37305a79963f83d3cfb7b7d1f9be5fc0ac04a1b2d6db6fc9bba371ae9d03720fedcd2b0b64f0314568ca19ab216ef00ee51967a3ff7573ec42e1521c460306c0a2c46b59f58d80aaa27079ed12934bb891cae774c2d9fd014dfae4dc264a56369bb123f85eafc6248b5cbc272975407241b8e858c9a7f18df20e7455b150c51da64f14699fbd6a5ec26ad27466de23b57272a784a27b8346a95aeb75cb5518d6e7aed4cd426c0eb3e38439802aa08c90ce508cd20f9a304ec10d88f485b66c805f3a741860435e872303cd8a2b8fb1b201546aa64b3df5f67b6f58827dee6d558d9faffab1a4c5c884215a095234dca2756f9d6b7a079371725a86e9f404b2423d11212d03764b18a48a971f807d8870651a1102c66ea8bc33bc4f317dcb04287345883c89cbde8d4a5cf2f78054f9e1dafd8e3ba3bdbed48774906e71b226ae58ba0f19fee1deaa5466d1f4d20ac2251e03dfca2e1dd8ac370039cd065ef23e954c604532180669605787a5daeb7588fc682be46823b240de81c759df74bf18482d151b8c5b88f19ec477fce7c54e167f2539d6a6b9acc96246fbebd1b7e9acff7ae98feb440f192226bd4b153c2f8254f6d26092496de3a4363ee08aad0de035d72c387f55a9cfa6653a77fc655d7ef6b6ae9fd8c54687341c55aae2065efb5d8bfdf3909ee667b6f2d659ad025e787ebd4e5e2a6363ccabe7722e9cf475a387ae7622c6a826a9759bf875d87463f2566bbf5cc4e53c5cfca552507ea5e35a3dac7ba919269c80d0f2318dd7b17638bf4550dda2506cfcdd153adaf4747839b857b2450b0c978eb8d71fbfdb43ef3110f3491a9ddad59cf33d9cbff1c04d2805e341e3d892d985a70aef3c8f6f29a645142e569b0882a0cfdf73c416450c1c27bfc7efab59bb05ef871db10235ed570
+Shared Secret B: 6121411895fba87d1f13f078602196c56f2cb1e618c9d23e10a88786b6c7b294
+Shared Secret A: 6121411895fba87d1f13f078602196c56f2cb1e618c9d23e10a88786b6c7b294
+669cbc151c20d55ce913a9374f866716ef1c1bb532d193faffc025e2456932b359f060ca2f0f7687e3a6fbcb3542b5a0a6fb8eddba6cc20a2bc62bca63be2b37d6118542f858cf44de81f40fbeb33451bc0f9478d5b89d6d76357e45051c18bb33f250e006f1b76094d5c2577e981b3a45d5c8c7342990af97bb74a3b4ed400e7a09d13a37330db4d7dc10605a823595b3a3a784d530e2e1e11c315527ec2bcfa4c0f952a45e691448c92eb44f3da199823a2a9a6a4e3f2a7f1720f487baf883e6d9d5a69ca9d529c70a831134074eedea45f3b53f2004871d7e680a777deb3c17e714a4ac53fc3ffedf08acdf1eccbaf246a2afd830ac34658e6822ee03faec79b7de8023e0e5072fbab9e8a8d9b3848ba2068392208288a50aa8cc3f7c13c7cf4fa9824c29f77a760f0c295206cf5a41d4870af4ee9553b9a37ca8798c7f476f16001724517f50bbb0a7605e83a5660dc177908a11c41c43a1550e75ebf4e8e17dc50e55015a31e5eb731831cbb2ed541fbc3a340170292f2ea5e62ce8b88c94430e6ec304c4e20522ad0a0a7a8ba8cef5c00c3e995a433cb6b59ff8f7aa9b32449291039e62eead1f21393822c92dd7f8a83827a2376797d1bfcd5b698527707bdd4f220b9d92e7496eef569ac9109f4439a40f5450523de9ecf5f8ef4b472649a6f3d2c62e4a7cc72ee4f36e15d5f3eec39a8b7c2db2bc4b36528c0e63958729b689ea4c8ee8a36f6d6afbfb98a50e97b75e7e85482ce08e61c35a6af4f609d746ba083b0c156ef4cd567bcf2105b5c6d90e34deb36fda161cf64a1c4cf7a39658d91cae7d9234345d719e70d3e3bd21cd52f7a6a0db17bfdcc15d85cc292fd344674795b81c8fb7132386eb8af0e5e3159f3e2b9d57309a082dec317a05bd3df9658775e977508f5ec1b0e3ea2424c79bfd283dce48efa99a920ee8540c554f18faae0ddf2a07abdad49503503b8039074085cd0e0337b7d03cd16c4a72383bd736a2de6938f9107c75af6464b18cbd91255c502ac70d66b28c1f813837b8a9d715fce514da78a77f1fe5127d7cd981da296462b3095107a7a9c9f3c9e4
+Pseudorandom shared Secret A: 5512fe2cb5ac7e5ba355ddec6048ebddab808e7bfc0d49dd04ef6be6153e7a87
+63603f5b664cbc9aafd07f875952f792e15eaa4c1ab1b6cf9fc9b3ee83e54d9d0f5c9fda1a33552db907c11a770e2074c9f262fa7affb6803c422e21b0924f74
+Public Key: 3e890a55bccd601b6eda85430503279dc2b7317920936c4835522309fcc418e33a54c79a239b1ccd69cc3c21c1636a0209e9bfde8316505aa79c0cbe577891c81624019b7f89828c91abb2235724ba9635f03a4a3365759b72bf9ef80f110660ed9294ad6a8e6345c4dd9a8b04b0c589352bf5ca6320e31b08a9b2ddd934447a0eec3650bc177d0e857cb6b98fd7ac2021b1c17b04be6d153ee1c68c5ca029a12199302a9c9dd2c3a8342ef6e3133432098936682c162c6a356159c7834c41724cd57579cca76241c47d996bd2f48338f95bbb462d3c9520a0514429873a92999d0ef61b4fb92149d85f9d107fe7ecadc5fa47c231c83c1150de8a84e14b67fb79ba731b93d3b035c23134b072010e851727a856ef619e8512542bb24176648a0e60ab821a74942c0981fc149cb8005ffb8050fa9f62269a8aab76d2f697e938b6c85a37259b3f20b66545070d6a9a8801634f50e26e20e89d0d44a3d4dccf546aa5257295c41723550204ded10025673919d1ae3e210860eac41842cef6cb88565222f4560cc98c8dddd59ef53a4de11303d7eba9238b47242228578c3c71fabbdf19604c4a2ea204982051b4dc7650f33a16bd04a9ce7390dff41eabf25f00106455627d6a38ccb3598b8655bb1e2641273b086ad06303e5a4daa1a6d8a28cc35a291512c470d261f805a150a748d9422f59139957ea107ae1305596135418158376ac55e003efc73403b2241e7b64b69239a6f07cf001c15f6c036b7323b75623ad9b5b20566d696010f6340cba8233187b7c39822685085cdd62a7c6444a0e78137f5a2bc3ec38902091b0cb8d9d8194e1b172c5f26fafc723c2e5b465a561a8163b8be3916a469a7c34cf7f446d00b1483f9913e5a122d1701e916492b357cbfd74942ff64805b4c3037cae0fd87888ea4dbfd75bd80591f4c11e103a43b8e58001d8adaf6674fa953cd786213bb62c91272e58060841e7869fbcb42b0946f8a24b66190cd089041a8b4ef7b21d644651e4fcae4dea5db4d87cc404b8d9107ee1428089b2aa2e0c64daec4523925fa1ea48477cb0ebb68b37c5564f7892417f8ab20d52ec4f2fb643b9b61857862eb2c0fabd693ca1917fa5f4394e4db6
+Secret Key: aeb714182c074cec8a694c241e09c95240601b4594a7cc251efcb1711320f46aabe8bc99a3212b88b7782d6a2091495164825a7568ba9a23595cf17bea84273eb87d17c9618280676a1b4987890eaa7c4ad58437b5c77205bb9bf3dc34649965d2d32ef80287695797aec40ff1058ea862257119aee108459f500ea5a287b1e032110a880bd820dd8544ad574a1e798034b229e28695741651eb5a087bf69ecb65475d6b6b7d5917e9e5bdfe352a30006303435c356caa0cbbb00c857aefd65582818062556e75d8b3063c58a1a98eb4fb5fcd00056cd554061226151573928a79939292dba775c3fc771b72b2d666225c694967757fa674434692c226faab72a2a1112789c6e730370033f3db9f012a6beedc4330e0253782c37ccc60b389084e251560d5c37db0754ffa057f9cbb25f22c9946c71ad67dba1921c6b70414e04f38a1bad9a155a8052d6aa9c333a55bfcb8a98892428c577926772177d1591d48476f93a2d7e80db6443f200846cb07010228689b1a1e2fb7b4f7ecba89b22f9d698c21e10babc1b0fb6310d676930c430bc19cc28877466d953d22baa87662677e918beb5396a43380b1b6a92a27652255000535567798bb0ec9a21338559dc16963237b976897be2c18fda6a26df98fae7a967df7928b2bce98605bf8832af2d39c45901e351c7b0c8bb89f0cc1a8c95d55b01ff00958ae97ce43a31bd872b3241787350744f80a9fac1cc644455df851364bd2c9f0e10f3c213d86aabc13c859bc5b9b77d27c10f3315f628231cc8c971b75f26835b39576212b84fb508271dc4546d9ca5e3258a2a40f00ddcd968701f01c61ac21353d27cc1642a900107d99f64b57307c8921b45b80af235cb1cb989c19a27e8c81678fe070e2c60ef70569fd607c737182a80646e0ec685f150d4a3cbed97c2d7929721aba0947eb966a5641b31949d3ca9edd731a5414c87f6c4f2e061d991b1837c663c938736843081b75a2994c7f15667ef5d74f2b975866f823a1d2b1d9a76e3a3a18406cbef2728d7a8caacb53b4a4f72e3cd613dc0c9214d17d66c166e359908d435a7253353e890a55bccd601b6eda85430503279dc2b7317920936c4835522309fcc418e33a54c79a239b1ccd69cc3c21c1636a0209e9bfde8316505aa79c0cbe577891c81624019b7f89828c91abb2235724ba9635f03a4a3365759b72bf9ef80f110660ed9294ad6a8e6345c4dd9a8b04b0c589352bf5ca6320e31b08a9b2ddd934447a0eec3650bc177d0e857cb6b98fd7ac2021b1c17b04be6d153ee1c68c5ca029a12199302a9c9dd2c3a8342ef6e3133432098936682c162c6a356159c7834c41724cd57579cca76241c47d996bd2f48338f95bbb462d3c9520a0514429873a92999d0ef61b4fb92149d85f9d107fe7ecadc5fa47c231c83c1150de8a84e14b67fb79ba731b93d3b035c23134b072010e851727a856ef619e8512542bb24176648a0e60ab821a74942c0981fc149cb8005ffb8050fa9f62269a8aab76d2f697e938b6c85a37259b3f20b66545070d6a9a8801634f50e26e20e89d0d44a3d4dccf546aa5257295c41723550204ded10025673919d1ae3e210860eac41842cef6cb88565222f4560cc98c8dddd59ef53a4de11303d7eba9238b47242228578c3c71fabbdf19604c4a2ea204982051b4dc7650f33a16bd04a9ce7390dff41eabf25f00106455627d6a38ccb3598b8655bb1e2641273b086ad06303e5a4daa1a6d8a28cc35a291512c470d261f805a150a748d9422f59139957ea107ae1305596135418158376ac55e003efc73403b2241e7b64b69239a6f07cf001c15f6c036b7323b75623ad9b5b20566d696010f6340cba8233187b7c39822685085cdd62a7c6444a0e78137f5a2bc3ec38902091b0cb8d9d8194e1b172c5f26fafc723c2e5b465a561a8163b8be3916a469a7c34cf7f446d00b1483f9913e5a122d1701e916492b357cbfd74942ff64805b4c3037cae0fd87888ea4dbfd75bd80591f4c11e103a43b8e58001d8adaf6674fa953cd786213bb62c91272e58060841e7869fbcb42b0946f8a24b66190cd089041a8b4ef7b21d644651e4fcae4dea5db4d87cc404b8d9107ee1428089b2aa2e0c64daec4523925fa1ea48477cb0ebb68b37c5564f7892417f8ab20d52ec4f2fb643b9b61857862eb2c0fabd693ca1917fa5f4394e4db65afc084b0151886363346044de0bab2955abb1e4b735306a67c471ba272108e00f5c9fda1a33552db907c11a770e2074c9f262fa7affb6803c422e21b0924f74
+bf5826e61ded73942b7e8e7632939ded9e10bc71a9ab05d85adb66c7ff0febe8
+Ciphertext: 2bfb32f805af24c25cb3c63970379e0428fef89c28c4b818f020451ae4c2db3d3497a98516affd830597dc50f29f89ba2b7940684d2a1a7b8cfd7228f49dde69f5d420e0d4e28b976406494be68106e5886ed73e1e208a44fffc3b0ce025822be7f85724ad8a28a918b21e30974c11f99826791e9acec8d4944721dd9d169b5ec7b1d2217363e5ebd66ad6472418aeaa377f8b2c4d883a0a6436a860706fc46937756605805a1902e77f2fba97778e216550ea06f7e80e678f6540cae039f48888ec154b83b9b3124620f96e406af26dd682c9e3b8333c3b83f1affffc352acca4cebd780d3c8fa016f71a3e33b0444ef9e01d6d576a52bc376dddf97069a0911f079acbbac4f2cf7850cb5eb01f24dad53d3e30b45a9b6bf915548287f2c78ed5fdbc7cf8779b0a3dc5abf6937ec685f7910728927cba9f2cd231bf19fd1dfef386eb5008776261f8f61c52df994fff09df606f1078a3995ecfba9573ce7bf592699d23384e085a80a431921bc1a647e2f0a5716ec68777b18e13565004b308f9e36c4312974bef9bb30c5932d2ade5499b7a48cbd485299003850dcde80418b22514f05d97c98f284dea9d9100ceb905e07bddce447b1b68e1cc22ae98f59089420dca2f3142a96ae7861173a0785febc8ffa1917775b7fae1f89a238e5bd99e120cef6d347be344d000e7144a6112fa28059844d524a41dbc699aec6af098a45d8d126676f109d637eefca3209302c55f793927c67851ca501167e482663ae2911697338d4918dff2f23e319a817ededb32dfac7d5edb03e150e8232fcb3395389f6d84eb4e5766832ad15943baa9be1c3d6fec04035c6540c4b4bf795d93b9c6852f61df6fd7a78ccbf198dfdfc2622ebe9f4bc6287e21029efd761debb096c5c9340b9c7ecfecccdf2289dd65f80c91681c1c7c8b69ab2eb902d1d49388ee992739ca8813a2675ada821784a6344f4e0d7ed4f0a18a647c630a12bac6ab60e9ed01e7ddf8da5ff65c9bcf6e06aa7e003b3a4d48d65ec362f23ba5ba9576957e0c3797c8211cd1940a1f6aef294e602f9151d2b5d04770a6a862db558c96
+Shared Secret B: e259605fff47da4a0dec5056a4a770f8ea6a7c6a34f104a634cc1bc8794674e6
+Shared Secret A: e259605fff47da4a0dec5056a4a770f8ea6a7c6a34f104a634cc1bc8794674e6
+12a7b6f7d8765589a9b6149afe62d69cd20c30f38aadad911362101c370706202e2dbfc37a38a74e6879038e374ab09d8a1e77a871ae0672b45e6c7df6493c10a62b608c1dc1972e6686a44268402a51227dad2ab9ba9db01e14b184dcc4a98d6bfb5a0d1179198049eff88257cdedbc2396e75e3af26fb6d16050d460683d5cf79cea43e0e20163d993acbb0b188eb7d39f6b304712400df23aabf97db252a874304f2decea932eb85237f2eb4995e537cf149226cad3c37f9b6e822a7da69c22987503f166440340d9ad6e255982d57bbfa79664509b718e9bd2d1f22b64f0495fbc2c82801c83056e45528651bd58f2ed84830df98d094d19d1c457ff287a8dab62ed7cfbd02c79c1fe02975bbff38ea5691312567e9dca83b76ecb3f068896dea338b8bbb89004d1159d563827d2aa32333146951c912d4407fa155cfcfa058b1c79518c62ea49ee99fd76c9ef74344e9d2f9ad828a84e693a471a5cd4d144d5b2c4f24dbd5d15b628dbd906d1bc2c07d4d4776ff4df1591adbb58f2e68649cfb76e4eb513c7155a4600808b31eb123908a168cc491145ffc3b177e6ef125a0a7b9cdec4c5ff8dd23b9363bfe36024538834628b2c51d4006b2e1c1a8237f012556160316f659cab6895d02c47deda1ac4ae347cc23c51d8ce6d6a8d29e7c70fcca770dd361562b612bd2731a4738c9b7af62e7dbf290b1f530c6984148acf14b53c0633b0fe2af12d74888ee7ca43b2655c11a76532a73cdb8824fefda973e0e91561e852107e7fbc3f2baa10b320ca15d2d5f1091c3111878d481274805bc6d128f44d3b8d169e2fcf0ef94b87c8609ee095f35d24bc1bc64f40416ba133ce505ee09dd05be55e9b99e03c6b7298c9be0b4535236488e5746b2fa1db2bf33025c4386a68abdd41e2493e10b941153146887284ffaedfb90c814b0142ce7bae311a0feb2a8dc01301b6ab4dadc1ab81f8bcd5cf70ccebd71ab8bf373eabc68f9a4a8f5f2177434353b4abd8407af92ec6a1ca0653c9f20b561f0f5fdf2a746226ba82bd0ccb7b03932524ab5b3ee6c79a90d46afd30fc0445ce537a0766
+Pseudorandom shared Secret A: 0e97c8c15b6fda02ee5a789bea3dde9237ac81332a8f671117c2762d7aaa30c9
+686e3fcf1a3617cb6176521b901775d915811488f51568b0edceed2e945209ce8070f1fa593cd531426a30f0e46d7167521be18d3412d0b51c5004518abece7c
+Public Key: 889604c3a865ec25b096faaf80a9b50c6bca11d76ebb6453fae5984b9b1f2d8b42d98aa77a07478a566a0af7af55623b2bf98b23b244ae276efa796d77440e3eab7876241d155ba1229b8468d2cbe6c57a4198af8a2060e105cf8eab92868a5d57f721d04b1036b82410242802bb3f10b77916f6721d92308cb775197970bc6a067629068003c2e7c1cdbd6686d55b6aa0eb8a45832bed210be980c788547c18466c6b518ca10742fa009b94a187bcd738b2347e9aa1ba64081561b98fd01311a66775463a94c17b1d8722444be46f2fa11fe8462924e607b0ec7107b688fe945faff72a3b1635b94530c648670e32c14f408d3a71c10f2305d543590dcc27edc093cbc2a958906f0cdaa94a4727f7120892a001732b25ffd351622278ad538e61686a0e5220e84c7ef9370fe11475e3095b995121c3e975acfc7388fb5941d9be04b3c64663a660f058ddaa6403597311dc81f4251bc0bc5c0754745ee990b44165e8022d800588ac474640645dda86293baac640600486696736694ea6712ba1e33f1a1894c07214f966cdc6389e25f3136f23afcb4cc1ff1c23adb2413bd49664d02d875b7a7ea6a282ac8ba6c08c6dd0660ac33d01597cc440497cf88e9f88c9c7836574464e417c74ce2a88caaba2284b532715b6bff5000553c44b5157096108ecfb658d7ba24a4b7850e55b8c06695c4c877278c5afc614f179c994691adf142910159f1d930c0e60cdc6a05b541968433c35079491e12a245ec67bd7125e3be2777089bcb335a4e3f6858e808603cb904a724886e2099537cae7556bc85ca8119259f1a57b1429032d4775ddb6ba219bb395e84ad5590c163447cc052e81c98995520ae2c043366259f4f06b04b00e686aa7e38b24fe1a9c00d0a3da88b4108045a2836ad6656f6bbc4b32f74a68639490e8bb76db6747a99f360c208a016a78694f03176287e2c8bee3c697c4739e938638d6974bcc3779ca5f0d343a5dd75a0fbb9550bb1b882541bf327862d11974db9072ba893b6409b695976f676832324f9241a54b01928ef7917968bfb93cba83597a8d4cce6c34aa0feaadd3b65ae10b6d81826ff7b1ebc15ef880478481cf58e0e5841d308f5935e1bf7e
+Secret Key: 8836a251961600534abd962ecaa788dc16aacb527189866d151abda9dc3474a630d2594c30e97018ec58c38ccf1251888316222cd67de3552530b0c63b8c3bf9772f7f413c0159a8fa12383a6b250e1bb4c161165806983a83482407475721553f9c35a702618333cb123891a70c923121368ce5acbb831b824a2d525378f6a519b5a4921553948f855a943aa75337a5a1e13f89229b7bbcbdf699af62ecaa9fd052a887b29e729ee857b28cea7ff6bb24b927393a72788a657a51758aac3b928c935a838960ae95773c186c66e97c3e5511044b40c7f81732913469b72b6d1178dd8336b44893c8d55ed6e0c5bc981f94e20336d9091a2a42ebf937750c42a3b73b370094d67894aaa775100b1d97000bb30876bdd132f86761a1d3775986ad04461c8062ae5f607efc67861ae5af2b96233d302706293b6d670ca86a3c730b9e029906bd25285e016ca61b01ce6cb5f1714818675c034a5b5cf5aed8c665d814c9e1ab0e7a1a39b0a277a9433510f0889e2580da368b735553b4f77fa3790c82a70245100090e26bb13c3ef10ba4ea942ab42b508afb0ad19b25b6a2405e848a0e7215fe3505bc57c0c1cabe227320e18b025968a6ba3ca1538abdf9b5149f94922709c2ba653433d641eecc1bed765777927501456828222286d9a21b336b59339eb9d6a991401fe0e37b52c66d41215dd0609922e57ad0db8b0be0467a8a2cbb343be556659368ceff9693927b9b20f91f12d9bd6bb67d17eba11f5325d52a6291c232106874e9f9cdff130a24b203340323ecc73e0135757e56b60c7c88003634047550dd645342d42355b86cab9338cff6c428c60af4941963769d81953f5c1acd3429add9e7b126f51cb038041fd62264bc221392ad1d4b5d2949a73bb4a02a2b8380a00bb0935962f40d430957115443b0a463dc8718bd285650c8390455353d69543d784f951c33854bc01db9c23d655944271f27401aff19bdaab33812ca6597835158c3a8eb855b1bd78b42c63ec1d62ebec3bd27639e16bc876afcb794c1b9e46abcd68b2bcec45bcdd02e4df41a2c98b90c7aae89672084d144889604c3a865ec25b096faaf80a9b50c6bca11d76ebb6453fae5984b9b1f2d8b42d98aa77a07478a566a0af7af55623b2bf98b23b244ae276efa796d77440e3eab7876241d155ba1229b8468d2cbe6c57a4198af8a2060e105cf8eab92868a5d57f721d04b1036b82410242802bb3f10b77916f6721d92308cb775197970bc6a067629068003c2e7c1cdbd6686d55b6aa0eb8a45832bed210be980c788547c18466c6b518ca10742fa009b94a187bcd738b2347e9aa1ba64081561b98fd01311a66775463a94c17b1d8722444be46f2fa11fe8462924e607b0ec7107b688fe945faff72a3b1635b94530c648670e32c14f408d3a71c10f2305d543590dcc27edc093cbc2a958906f0cdaa94a4727f7120892a001732b25ffd351622278ad538e61686a0e5220e84c7ef9370fe11475e3095b995121c3e975acfc7388fb5941d9be04b3c64663a660f058ddaa6403597311dc81f4251bc0bc5c0754745ee990b44165e8022d800588ac474640645dda86293baac640600486696736694ea6712ba1e33f1a1894c07214f966cdc6389e25f3136f23afcb4cc1ff1c23adb2413bd49664d02d875b7a7ea6a282ac8ba6c08c6dd0660ac33d01597cc440497cf88e9f88c9c7836574464e417c74ce2a88caaba2284b532715b6bff5000553c44b5157096108ecfb658d7ba24a4b7850e55b8c06695c4c877278c5afc614f179c994691adf142910159f1d930c0e60cdc6a05b541968433c35079491e12a245ec67bd7125e3be2777089bcb335a4e3f6858e808603cb904a724886e2099537cae7556bc85ca8119259f1a57b1429032d4775ddb6ba219bb395e84ad5590c163447cc052e81c98995520ae2c043366259f4f06b04b00e686aa7e38b24fe1a9c00d0a3da88b4108045a2836ad6656f6bbc4b32f74a68639490e8bb76db6747a99f360c208a016a78694f03176287e2c8bee3c697c4739e938638d6974bcc3779ca5f0d343a5dd75a0fbb9550bb1b882541bf327862d11974db9072ba893b6409b695976f676832324f9241a54b01928ef7917968bfb93cba83597a8d4cce6c34aa0feaadd3b65ae10b6d81826ff7b1ebc15ef880478481cf58e0e5841d308f5935e1bf7e92da6b96f6b913e457738665fc25d4b394aee9db6ba38798b94afcd97eec006f8070f1fa593cd531426a30f0e46d7167521be18d3412d0b51c5004518abece7c
+7d1aaf031e699336520c6854cb3ecd994dbbc0a41b17f91f58e66253dd225d64
+Ciphertext: 32bf1d43ab3fbc3552701c456f73520afccf229742b153313483588a271015de0cdd3ecbe786398167e8878038db368838490e6910d3cbb9c449edc148fe9ad2672dad07bb1de251200531e610328b1f86f2d326b738a5b9d0caf125c847c6b3635ef49bc7cc3908e82b624159533680268b256e34744f65137c7b0cd0569ec813b1ca56168ff06027e5b7d6fff9b685bc45533eefbc78732fda1c74cd00769b065070515f06b9835d9b52b4fcccbbd673f463bae050efff15cecf8a03993413ab61dda21a9182e4745a284cd65da3976a4c7f8222d8ab31b2b9105e135fd78d76a2cf74344de714513bd2b2c49566070a68fd7186e6a99f0437d7e0ecce2729ee8ece0b1042d7e17c17732d26d38a4bf906d9cdba29d4998fa6469e636b4799921f56771119ee568e5950143bdfaab706217dd9de51e9a078f1a6189f13168c1c103c953fffce843641d7c803bbf3f1629ad11902845d3b6eaf1bd84519a9caed85cd6554338b57ecafbe517c63e4816bddfa9ff87e5003ca3e1f67abadfe77d04a6cede8e7bb283ebefd15163f0dd33ad1792fe7c496b15b6db7483fabe358090581c755d1a0df3fbe741be3b460080ebd186511729062e6638ba829336126a4b34bb80b474dc583dd6696ffab0c4f3f48174fa3843aeba54f8120d6dc0ade0600f518efe90b4234d2c034b1398926aa6ce1283620789f7d429ac6b3cf79ada9c1c7cd98fb651f027bbcca085285443e26edfeb6fc3315ede5a8ace56543f11b07c7f57bdd1b8e20f6d353c0ea7b1e4da98fd69e305a4e28e98d7782c427a6442f9a6fc13806c16ab43397eabe513ffbc42a380e8dd7afd5be56f4c51f9af790062bab1cb316726b3e128090234aaf398884eb681b50e241d986d2c9c74cabaf67eb283cc297e25c4bc468478566fe0266adff2c3f9d52d206fa313b190d91c6e0aa6095e3a7cbab86c1b1233c6b2ca6c5b9a2a1a3251ea8dfd0fcf84f55b653c329de0c9fc917017bacdb75b44c12c24609f750a21e63af785725ccfe894ec92042e763046fcf4dd3604f23162d4085fd631e96f8f7544eb7b95dee4cd055
+Shared Secret B: f60c6f0fda9b6b600b6c7b86b7eca6e2d99d289e41a22ac822fe6051a648bae7
+Shared Secret A: f60c6f0fda9b6b600b6c7b86b7eca6e2d99d289e41a22ac822fe6051a648bae7
+9cb3001598a6198d1e704c9e829216270363654211ea52317c1e067a52456b24d85d455821a6ec90f73b5764b95a47f591f0d7af3796cada20f3002ee71dbba4d21027b7905c44a2cc83a0f057197aefdc0fe486bdf7ed9767c41e524762df17b07fb9b81156a28c71b3907d1542f215e442626c6ed4e86d14d5c6bfada09d8759423870f5551fc1fdf87461f8d283c6b1c7ac3fef2d8d119600663db2ab90bc93b3b1462df9a52394789c4b718ddd9d7b62156bcb07ce87d92a87ee6095748ca2054dc2c9926b87dba44eaba546befaf419fa258ac2962b23ae579edeac6d294bc399fe53b422668f77918515dc5c411b7a20747c2f5efe5fe0676031d09724fc2c5d818614c567310a9ba4f7d794c2abdda2dda116a95172eecf456b1b985998c317e0a3f8c4798f706e4545a0473b46bd853e18eba053def4b1b2a232a057e6aab590d6703ef93f3faa563062ab818e7cd93d6ba2d2a733df68e28148bec26d24404f5c9a3e7592259b4e7633845826014794414ce453f9b843259e369f22b55f36547a8bb94cd5a45b27b91f212b5cc69e5daa3d3cfe7962d5c519fd7931a3128e4021f38628d5ecdab25ede1f5d038ce8597083524200b9ad8ed5455f025280a41fd32109daf07ce44e22d33c589e987da7a9b8979a76c8cd9d04b23197511cf382357cf96326ace00df56fee7cb53c422a3faef8d0f992ec3def1bff9e6ee46436fa393d53712d63c4b67c1998d182b1f65f2f3600a028b88434a7a7212529382977384ba9732ae2e92bfc5ae8c6d605bbd1445495d3b2f89e30bef8486f90ccd6e5fbf2c77400e73913aa5ec0f11fe9fad2376f9a6c45bab6c699d0e4f9e6ac9f52120d3e5f75cf8f92159960c8e1208cd5f1cabf31f4ce8c6d9384269474d3385ad5657a42185016c714ea7b0454c0963e7e77060d8b178c59f25a5775f1ecd6dfb7ae41f1042435470511d00adae1cd11e24175b2a5bd666ec3a24e36fc4cd61fb7f591da29b28f88e23f2eb304c6fa2b63fbfde7a36329b899a0c4bb1fada617ec172deb03478e87abb75b9000e7cae48fe40adb983e3a30a83f42
+Pseudorandom shared Secret A: a5ae6f9c89c8595014efb4f956325d1dbe5a7133237f06c16509b5100301bd5c
+96cefab1f18f92ae2b79365c284ca5f3a6db2d987fac3e983bc8ee0c06c59b55dc0319e048706301ce51438920bf386ad72db2ab92f0bb9b6b36e452bc5870de
+Public Key: 4a055ff6c74612b17446a9676a0b36c633c3d8079b3b061342575d5d6b823e2cc0592c9c14100216c09bef89a54d585b4df59b3ee7b9c139c9719774a57c4ed8bb3cfafb8c105b3dc6e3c3a4f38d87d63795d3227102445d1733cd927255dc87e9b481ec71581c34c18163bd4d2785352695a6a21d5e9908a7f99b65895e06384f7197893dc08d87032cd1d8122d97a8be8b3699b8381749a0a2412aea07aab9c266a72c68b7252400b54d18f8bea6637314ba56e659c1d6e9581fb6338665cc7cc6515bb0be8ab96781b0c0dcd65caa391ef895656f8a3cfb96782ce25ddf81a4706842bed5425a0475e717a3705cae22c4a73ff8c12cbc0d995a6d5d87a15a4accb78b332489aa52b171f2b7ab67032d5ce911edfaa5931b3d52a42eccd170884792fb518c6b4ac7f809587ab10d34dbca46e03970ecbb68b936877b0830f0446702b996c8967ac71f811b3a6870259f2b4de9aacdff7905d4a58161c187dd9a02e8d5a0ba15076429c915da13ddb9a1e51740afc727f266665c885d52e2bb64e74feed6669cb432ff53c53f09b8ee032eac41c4f4256df066c016cac312889464d51d587c87e020abc6e0959c3a8e792373c863b5d95861fc4363efe1c766f75daab9815af57649a1142b9b0cda945d5a6c05c2ac4ada654a3f96ac380767dc551406c53be00716438c7b0bd86003aa0b92f246c8291e36d1c37a2576ed8865d8d1971d5ca9d20cce0e9c72dc0c74afe82cde66712344a7fbaab0746c5d8f13c6ea8969e4eb9a3140aaf683562f2b7f0a65580521772ccc31f8f24a95575e57c479f7f9277381033448a7d0401df67c2a32186bbc4311ddf6a109375e73f980289575791c989c0a8ee9e1a99b3a7821eacbd32c31fee9a45d969a0fd82968c497ad5aba5a480a5df55162cb406d469ede1025e455ca9b1ca4da58ae4f5bae523b738a1003e1a7cdd663c106bb2d2b6a34c7ea116625b8dee50b4c9c44952299fbc248b9b646614127b5510b7fe01e45e5118ca967de8b1d3c26656ee1612f305d9f3405bc468e2b97c2e2736c8ddc1addf8b894028c99056f987c98d2017325bd336e738b9b27b719875cb5d55fd8d8aeb217580b72e4d1965deb03625c90
+Secret Key: ed856953b373e7f179f0317fe22143565607d514344dd9bb22714b72aa720bd3caa2d60aab7bc506021693789f0d051100aa6cb4482c3ce0c92c74bd2346ae7f31b96a513906c7b7f0c326bd7c4cf5621fe02395b05222e7d659acb0004eac90d320b353dba823d3958fa34ffcc40332e25423856228a00deaa14e390a632a3c542f108f251b8348c1290ca0455950b3c6aa7e4b9c5e0725169cbb840084b40d133594c2032794203ee55af20710aae3669bac6748ba39f97250e45b90c1678f74e802b11b6ee27639d2f247fb6078c4f0201649a918b17d1a3521c52023972024fe130c796691cb709b79cc4d4233bbbff6ca159318408c55a90460fa070ec7a702afc98c827c29f134cb63c5b25e866de687ac9cfb0741c0628a497e40561ba01b026496515e994dde089952589a78483ef4d76066d9965e85089a9394abe65f1ca743718493ba661d26377d2d442e956c6b1ae12354b88d2b382b8ce6a982b944d08570d011ab732280c1e70568bc3d50818f1b6c42c6e1cead048e6328137bccb90192b58901306c21643bd24241d30ed02bcca5045c39d5a67528700da088076232f79b0906a07b08fb125f7bbcaa09327d918319b72f7f1b77bba05354c915a6f84c8455369f8a91a1819bf4d915637a1a659926a91042a0a35dd13c79b8a87752c19153a635ffb8926f30c7c73659b0d3889caac06d65451883380f70568e060c0d112995214bd00925a5116880a12e3277a4fa249b41356b71b33aa00664f1940fda8716476b9508b9926aea28182096506531364592996827f7467fed9758b7571a0a9448eeab8705a24e260a31c7dcb9b8541fcc9cb2f3053fa3277446817549fc03e9c83b6fc89755a1c5716651652321ba06009fdb61a2746ed8356a95c9564c69c287cc7286e91fec9b7ef6c25d582a5fcf8b5558da1189f02cac402343ac68d57c1a3ae0554dea5b65675203eacd90e573929003fba273f5422950449f300b76a3c46530c89500bcbc3ad06163ec71cf195fc0f8491e372caab00519a2b41cf9799c4a31bc4a13a536a79be577a718308132a11bb14ae2b5a24a055ff6c74612b17446a9676a0b36c633c3d8079b3b061342575d5d6b823e2cc0592c9c14100216c09bef89a54d585b4df59b3ee7b9c139c9719774a57c4ed8bb3cfafb8c105b3dc6e3c3a4f38d87d63795d3227102445d1733cd927255dc87e9b481ec71581c34c18163bd4d2785352695a6a21d5e9908a7f99b65895e06384f7197893dc08d87032cd1d8122d97a8be8b3699b8381749a0a2412aea07aab9c266a72c68b7252400b54d18f8bea6637314ba56e659c1d6e9581fb6338665cc7cc6515bb0be8ab96781b0c0dcd65caa391ef895656f8a3cfb96782ce25ddf81a4706842bed5425a0475e717a3705cae22c4a73ff8c12cbc0d995a6d5d87a15a4accb78b332489aa52b171f2b7ab67032d5ce911edfaa5931b3d52a42eccd170884792fb518c6b4ac7f809587ab10d34dbca46e03970ecbb68b936877b0830f0446702b996c8967ac71f811b3a6870259f2b4de9aacdff7905d4a58161c187dd9a02e8d5a0ba15076429c915da13ddb9a1e51740afc727f266665c885d52e2bb64e74feed6669cb432ff53c53f09b8ee032eac41c4f4256df066c016cac312889464d51d587c87e020abc6e0959c3a8e792373c863b5d95861fc4363efe1c766f75daab9815af57649a1142b9b0cda945d5a6c05c2ac4ada654a3f96ac380767dc551406c53be00716438c7b0bd86003aa0b92f246c8291e36d1c37a2576ed8865d8d1971d5ca9d20cce0e9c72dc0c74afe82cde66712344a7fbaab0746c5d8f13c6ea8969e4eb9a3140aaf683562f2b7f0a65580521772ccc31f8f24a95575e57c479f7f9277381033448a7d0401df67c2a32186bbc4311ddf6a109375e73f980289575791c989c0a8ee9e1a99b3a7821eacbd32c31fee9a45d969a0fd82968c497ad5aba5a480a5df55162cb406d469ede1025e455ca9b1ca4da58ae4f5bae523b738a1003e1a7cdd663c106bb2d2b6a34c7ea116625b8dee50b4c9c44952299fbc248b9b646614127b5510b7fe01e45e5118ca967de8b1d3c26656ee1612f305d9f3405bc468e2b97c2e2736c8ddc1addf8b894028c99056f987c98d2017325bd336e738b9b27b719875cb5d55fd8d8aeb217580b72e4d1965deb03625c909cd4f5558b57bae4494e2b4c4c3245119e9d880bcb3d30a1e0853727bd1c35d2dc0319e048706301ce51438920bf386ad72db2ab92f0bb9b6b36e452bc5870de
+5d93cd8c45b04317c32543d20640529c075e84eb9c57023ab6890e328c69af33
+Ciphertext: 7711e396636718d7eeea455d747e7f11a9e5c567dedf36b0996c832e7a55f1a048878d97bf05fd4e8d35960e6dc6c903471f64f42755c99f66f2a95b760ef08b077d395e4dbe056dfcf1e1fdf2bbb4d6c6aed073df4f8292c67e9e11960953bf5b6d10f74fbab100723026f1a1f2702e299ee659d6c4ac59baf3c20269ac934b1cd8e24b30df71027719f57f58cf88690b5eb1f540c330edff65b05a45f47782ff2308e0224ece1dbe14065ce887ad46e79f193e6dfb107a90b72f219e046c0c9929269d15905729c8edb51490dff8287279092e353503d67d8c3ed98869afb8faf1de232a1ccbc1a44058873d06b153761bbc0a8a5f54e5a5f9028911cb3a7aa32d317b18be657ab659efb4647f4165ac03051e9b8bde0cce4bec760b9958c64c92cd9b2f26cc0a43bf24e2bf3ce13fedb270815b4a3ba3f8181fc39f8a7df1e431cf794b01152b037ea11f42bd17bf4152f8545da74a088b4a1b2f8f50fe2a6798023e26026c8534da7f85bb79bb9ecafd3d8b0c7701f39b2eb0a7ad1c8f22ab891787eba99db92d7c7c26fc54d54cec1c1274b2366e6204f0b4bb8f139c55f805207ceb2e1c4334512e5fb2d360ab15cd5f73a7ace9255f50c31bf7c53ce215bafdc6ab30995a2684606dbe14de6dc28c6f1ac2e44d51656f3084287814f253588409de5a06d58253c60fb3473011bd6d2f697b06317a955dfd0da70d92190fe2a628218b39826c4c5db5eda702be1057a2797788becd59ee0a4a4f1a22442ff1406588db3df502a77e6d5211884145fe62e3d1440b1cc20ef32e5fd4dd96cba62fe8c170e6b0b2cb5667fd96b5acafc550020e63c99e3ba444edecfc173e5a6967a51f25e035260d9445a3ae9ecf25685efbfa4f2f6d45605900439544e4d9f861783b6183fff182c0cf0f544c5b60170e9f444aba73d3a14e70b10ac86be05704771445e21681b3176b8fd256cc31900f34a722a7987dca89ada62eb006633c972b4830ee99edf36e2ffb22a0035e26fa5e921542aa7823aeb77a705500f6562edb080f506bfbbaa4298aeac23b468791f6a7d05178f2290a79329e6bd0
+Shared Secret B: 3fe420e5ea5f108e3c4d4f5f60775ed78792684f45a46d670ba47173afba2be3
+Shared Secret A: 3fe420e5ea5f108e3c4d4f5f60775ed78792684f45a46d670ba47173afba2be3
+40c62ae0f39f32387d0c906b4c32a40e84dd40d10e321fcc396d04cc1231effb2b887a3a28434a76637214e04e74733ce8774096e6cb67d7a212adb468a54ded1f599b995611d2b6a4868d3e4bab0183622eee1aa3f62b86ec60f13baea91fdfa56b4194df169f902a31ae56c8cb19f75b83075112d6853e89a811b462fb53a2b4292c468d7a14e671475fec24cc3cb38a2e19af1fa5a123d1f7204d63c2bf59fde90b6fdcfb14f03b86c263d6d991703ad05876d25fbcca6d34735d95b0caab4e6c1b3f75682c4900c011692fc53291b8b1c0b7f5937c449e202c656cf45a53ace83ce770771b2a05ba7915fac5983eafadfcd05bca3e888b4902cfd3beca418a53a9f96ace52abb470e3b77f9dfc8f79d702f251c9f63e6b9bc19c4fc67d099eefc463073bcc49908ab27b67a4cdb79d01695f6e521b1e43ab6024605a3064304dba71dff13a8307a4c5de593d4da7cbae2ac6953690150edccf35b1719a7c3ff8014627c3392d4a498734ceea111c55062d2e63c83ee802d38846ac7adf2dd2285aa3f4b56b9fa5644a82ee19e3d685d34876d1b94077236f3eaa93390b60b9d1a594d9245ba3201545235146f9a25134a46ca3fb04ab0230724055bb799814d903b9607c73a8de7128b816f60a7a740449256229df050389a5bce85bb7dded2c333c26e3bfb816fdf90c5bf4edc6a77a75b19f24a54f95030f063497740fa92a263a925b2d6ab0990de10ab8236728bd43c9fe15bcc2cc505393fafe13c918d895ca0cd032889bfc64bfcf6706e71f3f975d81be9f7d18450e9a83eabc32a6eb436ee6a7e8e81146bce41a8297ee07a24b041d187f86f154d212a1f377bddb976cf33c77abdca03ad46114e8e3a2114c4fe6405686473c74e86094326ed78d2abc386407096df8043b5eb33c8dff2ea81b3ff147e615f782fd7ce4f512ee70545412e44e652eb9bc6f2f99e013099553257b98cbc8a1f83af0b77f7e6860a04f68a8b9232b7ab66b734ef893659e927a4ac5a8c5753ed480966f67bae7790664345ff7f2fc929167737fc37ab4faf1dc3060ab7ee57c9792af718db4027a
+Pseudorandom shared Secret A: 7a9243b6946b79a178c7dda1a6911db500c82eefc2bf0e4f455434260f9987dd
+46359951bc21c626eb5c78731bd2bd31414fe493381be0f616b732fa1954217f3c6f3ff0913a98079bcf085a1fa575e45cd0a49abbe56f49225a0b4e91277e15
+Public Key: ee63c85f902430546e328253bea253630437185075217a6981427300e8558e338c3dd58678e5751f270731656cceab4974050b97679d2b2551171acce00a326a4161f03b2a01f80e08081433e850cba45937f19a8a886d8b373e0b4305b19c38d303aacd1b81cae07fad56ce26f98cf48aa422269274b9127afb73c66373a55a1a5aec02fb38339aa0422e198e6b1bb215c77179794a8ae1b13b426bb5a62e32794789096f72108e2d43a93498336d85744f31c7cfaab4866ab8cdc8728c0454a3bbb46d096a24523d64722d2a2a979bd30c5efc143f65b7191006c1fbcfa2c10cb8b48ed38a2f84b61d81bc6a1456cd56f42713f457b898bca3724fb714372bd4cef590340d58c1d1dac585f437a2e6c4213990fe18bbbd8c48b8c7ae654158b963aa18d8ad06661090a1b650976d731309c03662c9884a7262775963ae8c369fdee4980b850b5a523bd85348a9501d72a112342c18b651b2c1848d8858553e72139869475621c2873c9a8bcc634fa56dc1f18250a999b32927f17230be81189d826419412b03b69f6e639e54a022f01a2329b819af6462d4a097ff48c785e8532e12265ec909bc62ba66d921b9a01cf182080979883be41ab331727e403921372a49556d90449776faab2256200a09aa9f57a1986c86e857524b619d33a380797567430b8936f3c788ecabf5d0c7d3a012b2d369d11c405e128e1120503fa2c6540387699728d76418c27c452aa445a69032a8e25a0ab469cab6a5c00b7ac11c1d7490b5fe61c96ec976169359684a843eb6b14bf0541c8bb1808965e7e20255a851abf366aab9bb1a917d2cd6162dfc96ce473fed031cc077bda2671dbf28a26ca649830177cf280f2b9891ce752de781806ac9c74487b918d122b1fb131151cff1096ec8356de3eb8a5c316f34d2595e63849fc12e02706f94a296ac67588ad94b5f5506b08791a1d19b68545eae14bbe7d3a99326b1a5921f41576b155b0f4b1a24ffe42d51f9315885b388364911c114826220f3912e71156e4f54b267181bd37a2ea63546d3865bd09925c96b94bd09184a1b5ee1978e5f6b17a7d929bfd54b031c81e1aade07c93096077c62b606ccb7bafdc2975ac1a451aa10dffd
+Secret Key: 149a3656ab4f4eba53643b5c3664a7d78b90ed106b99d709460cb385846332313056427ab9208b570273b3409bc2fcbf09850d499a5447606d39839165034817fc973232857a075db6bb09910a0e0ec665aad68bf20854fb612b3c7196d0eb8ec2091c590593697a5d2fcba2128c056bd3ca621686b9d327dcbc35bd98274b28c2d1e16266f55bcae49fff918921743efdc99ac0f656eb9034a335b2e4517b5455bd5a752dd5f312a4b526344a85dc7577c7799ac5d49f0dca22fb3798fe804af671c60f3c35c3facf0920601ca8837966430217b1bde8201972119d5cc446f7790e147058dc7451067561654459a8cc02995a7270ca05567d9d41809fd51a5b39adb1240bce53a233f76d9eb3bce8e07a131000f7309fe83211fc8cc1ce016655f6b1ed3b63b89bb99a84518c7a9462629fea0809e027444415ae7f79bebb04b667824815cb6d1512b987a0366bc59608f0a16578c7bd05729e81c1687a476490360c4501041732f6e008fbe151f5506696b1a7e9bc28377a015997237fa2cc3189ac87636d837a189d0c064d87679dc394ecd097f34509dac549d651396a0b6674b2887343bd7b5164ff166a3701952de30d5859185c1ac92bbc56c0d23ac313b42b6320af7593b7194fa2214a723c1850c7c7f0a61a0a17af02865f73050d9732481c21c3dcc1330e1b3f28d979b6d91fe5f0bec25718a2924e95830369d29b90d089e8470ce20acae4084e95168dad181b900aaec0270ae8760eae6ab864477e63a2966c381be97858114c2273c226ade66f6c559ee1052253345262115aae34cacf7275c243cef3e9138aa69d18b09fec95465f3cb0e474ca5502cfd5074a8a57b747c570b9eb3931b50a9b056882d459ff236da16aaf30207cd9c3076ad19972a414226a5c9e790404d73007a90f5cb1c23f597db543b19d62a1e440915ec08ab114c4653525e65613dbf62805f895c3b22535819f85b88b3ec661bb21a6fa7044844c63fcc37e97a76dff3c114b4138b4718c6f62cc3ab04667f480ee275ec1ea4d668487117771b7c7a76ca527a6cc6b4b449d33c69af3849628090dee63c85f902430546e328253bea253630437185075217a6981427300e8558e338c3dd58678e5751f270731656cceab4974050b97679d2b2551171acce00a326a4161f03b2a01f80e08081433e850cba45937f19a8a886d8b373e0b4305b19c38d303aacd1b81cae07fad56ce26f98cf48aa422269274b9127afb73c66373a55a1a5aec02fb38339aa0422e198e6b1bb215c77179794a8ae1b13b426bb5a62e32794789096f72108e2d43a93498336d85744f31c7cfaab4866ab8cdc8728c0454a3bbb46d096a24523d64722d2a2a979bd30c5efc143f65b7191006c1fbcfa2c10cb8b48ed38a2f84b61d81bc6a1456cd56f42713f457b898bca3724fb714372bd4cef590340d58c1d1dac585f437a2e6c4213990fe18bbbd8c48b8c7ae654158b963aa18d8ad06661090a1b650976d731309c03662c9884a7262775963ae8c369fdee4980b850b5a523bd85348a9501d72a112342c18b651b2c1848d8858553e72139869475621c2873c9a8bcc634fa56dc1f18250a999b32927f17230be81189d826419412b03b69f6e639e54a022f01a2329b819af6462d4a097ff48c785e8532e12265ec909bc62ba66d921b9a01cf182080979883be41ab331727e403921372a49556d90449776faab2256200a09aa9f57a1986c86e857524b619d33a380797567430b8936f3c788ecabf5d0c7d3a012b2d369d11c405e128e1120503fa2c6540387699728d76418c27c452aa445a69032a8e25a0ab469cab6a5c00b7ac11c1d7490b5fe61c96ec976169359684a843eb6b14bf0541c8bb1808965e7e20255a851abf366aab9bb1a917d2cd6162dfc96ce473fed031cc077bda2671dbf28a26ca649830177cf280f2b9891ce752de781806ac9c74487b918d122b1fb131151cff1096ec8356de3eb8a5c316f34d2595e63849fc12e02706f94a296ac67588ad94b5f5506b08791a1d19b68545eae14bbe7d3a99326b1a5921f41576b155b0f4b1a24ffe42d51f9315885b388364911c114826220f3912e71156e4f54b267181bd37a2ea63546d3865bd09925c96b94bd09184a1b5ee1978e5f6b17a7d929bfd54b031c81e1aade07c93096077c62b606ccb7bafdc2975ac1a451aa10dffd689fa735ee7d7e16bed6a1c13b4ba4b8a41217473a68ed2e65a25fe2946aae183c6f3ff0913a98079bcf085a1fa575e45cd0a49abbe56f49225a0b4e91277e15
+c34bfcd5158c4f42fc4c6dd42ecd82fe1cb5921d140eb29e459fa1929cba0b60
+Ciphertext: 5711b7e51f5ff54d5acd0d7470ba51e3a921bd8c5665c5d8de1581f71f2db99d5752546024f52fe80c725420521586ebd1347d51c043592399686fe7fe2a58ecda98a4c4fdd74889422bbf8bc554312dd235a5c4ff76dcfabf00a6679c254c9f495eb1495f7f8699ad3dedf4cba1982052fed62050a2bd65ea4fac82cd18c6dd9fea474dc70ed51b2af5d7ce0b901da4e34af3854d66871df925734ac5feeda98be7b355b98b2555df335f31c61dc1b4d0520a02f9f442eea8e25b15699ffc0533cc80f82e11a084d6e7ea6af3063c76956fd3f6ad682e1b0587e472f72de68db39f942f5a438dfad1ab2dc162950871b4728d2f7659b3ceedf24f20ccfac9fbe5a2bd7ed2a75eb0957b015a6f13581474da42ef1ba0fb0bfedba6e9fd283254fb2b766f9fda4212dd3400dc27a87e6ca130f1550f241d1a029e104c7a46dfda7523ef4edb7920f3433455d1e7e0f0760d1d32c2b5485980e1e6501fbf135e34538f3b476c14bab0e5134650a15371c96307d7ddd07b7a53c45e2ca6ba6d421a6e16711d5aac896823e86a8da4620d8c392bb190406ebb0c755cdbe06f852aa63013bcab6b615767cb350a1d5b55e39d542b0452c20bead043ce5bed69ed9702e5b2625411d3b22a0c0a4ead7f295580d51f43346b8c1ff3840fe3436f0e8b6265cb839b7bb8c86c6b01ab6dcc2f174ecaa6be607c1e8352836f231561553fe7f571503ddd17d0b7113d2163df3be73ce05d1a1d2815e74cdc642c4490f1a8acb44de935a16b1eee7dcaa5cf3f831b9c8a155e176bb2e0a79c923f5cd975b81db079350894b1ff2e7acbe2c7c0c2c6d4030613e7030aad3f555690d0b42b77ce6f4cf721468ab357f60b6a6d4dd543a22df25c490521ecf157539251ce3631ffd2211059d3def21e49772ad78f8b22ea9929659cb410ebd2f3674bec06c5ee35d1c1edaca288b6dbe88ec120430088019230f70c15d4ad1c04dd84d97c7081317ac9ad601f7dc6b7ba8625cabe268be5d21ec3379e84dde058bc4afafdfb22a732f171deddd427180048dba78504bc5d02952e027dec29b692e95219c5135f7c
+Shared Secret B: fffb48027ad6c2384eeb12e324d1ac302bce32e89e7d6d64154c0d7c34b63a61
+Shared Secret A: fffb48027ad6c2384eeb12e324d1ac302bce32e89e7d6d64154c0d7c34b63a61
+5f82375dfea869725981fc3da6f122425c00b13c2d4c05e8a3dbe03fd9e9dc5edae2707828b4dcfd960cb8a60374ec2bb86005d51462116c6b91965459662dbd2091a340ca9c232e64d9026dfaccefa19197c21258d97830413b5c401877b5df4727fd406b192e949e62eabc1bff7a1e2663ff0d0388d5d21862295df645deb7174f305c7a87c596708649c978a95dd5c43915feb7cea013f28a44196f9158acc99e61dc78dbc55c437f3d807f24a3e48d8f9cf36f85a4e7386f75f57d84b778a76fa7f0480f213d3555237c6556caa4545ede312a8d763d4c16169a04528c39538cf628c175047f13a1690ef6f389506bfbf7c0260fc69afe912d45c70f4b4671f9af525dc3325e9d64f1d96c59390a9d0909cd607e4072e62e751a3987fc8668e1900cc9e25b38cb32bcf017f9db5082fb7aa7569f81d96b7b305b2a102121e1cca279bf42db23f2924c0c6b97d495858ecd0d12fe71504f9aea00cfe7016c6fabd7e7ff81dd095c3481eba22c123cc03ac435ea9a2f28a85e1b5a2dbf8c1fddced2d906d27d98252496773b5c156a4f7e3f26bb63650e84a5876a8a4641a7a4b7f147162160ceba992c7246577fdb537e86c13d97701f1cd10c2c532539dfd28af1ceeedd3bedf3455c3afba39454f1e3a3f14e661dc72abe932fad20ad31fa9692c322de551daf5d9bd6f972d81189e44396f76504e66a4eab8178805d05d76c17605a74af4120540a7d9396ac472f0bfe4bbf0cb511536be4f44d45765a69dc2367d1003e7eb42349d24064aba4280c494355934469092d489bd57b6f076d04d5e3b5588b0c1e2b2761b87d01c6db5faf8d3ea6b2f7854ae318477e17b069e240edb4af37565f13c3695d30e46902f6804ed4e094f7292027aaeae4646ffeda9d253124c65b95deba24bd96316dd1db37bd15c7b9b55d1ba77c3a5bfd2ffaed9f34e24cfca5a122cabdc5128646c4240f714bd063d438e6abd72dfcd34433bd6da011abbd00710ac44e907907e674b899e80c3ef1ec79c2cc1d4cd41a490cf686c6a51982b6fb270ac94eee7409d2083360066de6bb5c2ffadb3744155a
+Pseudorandom shared Secret A: 46e0088d5c7c550db2635c1d8c2a2007c36899008d4a34dcca805c79ad2b0312
+8199bb035c47d9a7c4cf6dcf8a565428af4a3b7f0a8e53604457c9ef0b885daf90c13a53daf16ec497e50ef8b3bd119046065670bfdc11f612b324da722d4939
+Public Key: 40306bb0ec153218a618744256a0c3d1a4767dd232944bb974a7bd56374d509b5539f4741879200f6313bdb71cf2e18f3ab9a020385c83eb7b2df16dbfd1786617a09c0cc105cb6c629205bc076804e27e12ab0b350564c39383e61383db650fb7289aea88c0504a2c1c431d9f2a67eb3144daa421c983429f60b793d11686023d934b6ffc0aceddf31cd6bba44bf23cd8118f06b840ef68b040109a07ea5f82e38b805345e2fb8f3f5679c041a64cfb9bd5f71d6d89a5b919955ee2523ecb8dda6836ac9c22ab602636848bab841404937b84003d7dd73717b71c9802be7d4787e045b714c86e195331762506e6bcb862d1cb0fbb8643b60f9ce9a8b41b452649393bab70e39a8c22e87e8854301a5b5976ca0f61147d33f0ceb6a7147adc8afdba968d74b429ec4724f295ee8c2e0e592a1b312189465b16583255e5583dc10ec8d40d86287426712ae6740efbb5746e548fcd4b3d74485d835c082c8b0ba8b84aafdcb52da71cd321c3e42b99c8bb67e123a035aa35fc9177c7e99fd194a3c1469d34515610529066b4c31bd9805bc92f356745b46a439f6b3833a551ba5860139767ee98b2f3970d3bd43b14430d11744dbd274797a472a40322e9942247691ae73b6afa372bd4610e8b88565ee7677657c375a85f10897b5a3c7d81c4a2c9273398b31ec2ba7074b4174e6294a40c7b893b2bf3fc9aec61add103491abcb4e0d49e6eb7587175a8a4114320d491a9bb1c5b25aa51224d63a1831aa94e8d6bc43d3575e1533aee0649494660b420cdf6d61782f52a3c6ab44e3172628a7141e8beac097d35a7580c375ffd599f5d0c96944964be1ab2516c9be1785c50092c3f711fbf43279213c07600a7b3ba2656a4a8b8110a5153b6d77372ecf0a84303ae123c1d4ba9385186bbb436651d10cb3e79b08ed63eb8ec0c7d41199ea45dea2794abc8b1f24712cff5b07f733ab92ba40d17c4465075c8824ef4d12c69508be761756d799be2ca22a1a744b0377674964340250fa8f0bdb3873bcd7c4516f821ce00845ad8607d534ceee42dfd638d2291be5d85a7b85c7f8d84658e5939dee649f5211c09961c4b97c04259e761f221be520ce6d1daf3e164c01f6da296
+Secret Key: c4fa15bccb2234f28ed0f847265924aaa2b0d3a72a1cd57bf71a18c0f019e290337781613b002af758447f121253ecbf4da4a2cd92027cc256f0d857c378273ca70183b666f9475d8b64318a295bd02339d1d31b0c5402e539be87832465a8ac89798c1086456a0ca81faa389ba106aad744ee72893163020cdb2fe0953bf1e851a3d34968f8b5b38a7358bc612634562f5767114c9e2a954e205326da89c837b2841bb23e543826f55c3856ca9ba4db83a83a9761a8805ef2836b8959e9dac30e93608b3a6dc862cf25615b41d5aa6b74a23f264139ca1a7de9591ae19844365eeecac86b6486f56a61862ac919d063d2999141960024267b53db33ec63c931a6acc6ba999e41b83475136f528057e44b4d92cebaf740748b5752891e171645040aac3ce934ca25265ca6b5f8a59a344a13c964b93c5217a098b8eab0153f4b48e1d80e0a8005b59397aad975322aacfa493524d1ca54a45e2b07cfc3dc6abfc064b719544683bb3a47ab97f62f1ea3b080ec7c5407b327fb676b0968dc123b060979fb72ace5eca74af165b0b3558c00add26abb79ab64bc7463c94333e6139389f02a94d90fe0f700b62c70b7034a941791200ca1b1f5aa6a51b2fd60486af4670a5a90b192076a10470976bdcda3874b408f34111e83b77f88e76461956f12f3b00f63c26632c3c7f844481c0bf191cddccb7b39da42740688a0466edb1927962767630acecd852310a865aa22756355ab48034ae395bd8deac405b578bed2c713e4a226902f761c26304514e4d103578a417735903fb972031488bcea2ea77ca70d914bf385a8b4718259970c444c4bc352604d72183c28ccdfc2bdcc393f32987ec75618d6eab244745e9733142957334c74556fa610b87707000b2d611610a9eb411592b15428a050653d79f85d0c017ad0bb3b0aaa496a9c2df6dba5cfe80f46634f73851811d5af88d17dfd50aa20230609b84cb773710aac728c2c3da08a7217517687558070ea30cf65642bfcb90564857648321a809ef3630c24122eb6414a20c2691ec08751241ee3699f0600601c191398d5c19d0bb77ff9b440306bb0ec153218a618744256a0c3d1a4767dd232944bb974a7bd56374d509b5539f4741879200f6313bdb71cf2e18f3ab9a020385c83eb7b2df16dbfd1786617a09c0cc105cb6c629205bc076804e27e12ab0b350564c39383e61383db650fb7289aea88c0504a2c1c431d9f2a67eb3144daa421c983429f60b793d11686023d934b6ffc0aceddf31cd6bba44bf23cd8118f06b840ef68b040109a07ea5f82e38b805345e2fb8f3f5679c041a64cfb9bd5f71d6d89a5b919955ee2523ecb8dda6836ac9c22ab602636848bab841404937b84003d7dd73717b71c9802be7d4787e045b714c86e195331762506e6bcb862d1cb0fbb8643b60f9ce9a8b41b452649393bab70e39a8c22e87e8854301a5b5976ca0f61147d33f0ceb6a7147adc8afdba968d74b429ec4724f295ee8c2e0e592a1b312189465b16583255e5583dc10ec8d40d86287426712ae6740efbb5746e548fcd4b3d74485d835c082c8b0ba8b84aafdcb52da71cd321c3e42b99c8bb67e123a035aa35fc9177c7e99fd194a3c1469d34515610529066b4c31bd9805bc92f356745b46a439f6b3833a551ba5860139767ee98b2f3970d3bd43b14430d11744dbd274797a472a40322e9942247691ae73b6afa372bd4610e8b88565ee7677657c375a85f10897b5a3c7d81c4a2c9273398b31ec2ba7074b4174e6294a40c7b893b2bf3fc9aec61add103491abcb4e0d49e6eb7587175a8a4114320d491a9bb1c5b25aa51224d63a1831aa94e8d6bc43d3575e1533aee0649494660b420cdf6d61782f52a3c6ab44e3172628a7141e8beac097d35a7580c375ffd599f5d0c96944964be1ab2516c9be1785c50092c3f711fbf43279213c07600a7b3ba2656a4a8b8110a5153b6d77372ecf0a84303ae123c1d4ba9385186bbb436651d10cb3e79b08ed63eb8ec0c7d41199ea45dea2794abc8b1f24712cff5b07f733ab92ba40d17c4465075c8824ef4d12c69508be761756d799be2ca22a1a744b0377674964340250fa8f0bdb3873bcd7c4516f821ce00845ad8607d534ceee42dfd638d2291be5d85a7b85c7f8d84658e5939dee649f5211c09961c4b97c04259e761f221be520ce6d1daf3e164c01f6da296d8bd849399867dc092143377f15c189427d5910b8b97935908ab4cca119baf1090c13a53daf16ec497e50ef8b3bd119046065670bfdc11f612b324da722d4939
+816d6dcae30dd58d319b5911324a2702e471a2a4da605f503fe379b01031cdbd
+Ciphertext: 552e0b0ccd885e2ba0bb9ff9b228a7739141b57f385601c849fe141591a0709ac8fa41ba5ef33879d349ea7d34a8849a5335e4650eb899dc33891fcc5ff7d44c122f8f8cbb9df6b04fd21cc50e7e3764e60244d7f8244e32136215d1afd2fd12e9fb1dfd3350ceb1f0ac0175a0aed35df6490a8578e5acffe2539e9eb4147119cae8dcd1bee887c1ebf6af39972e19449f7fb0c79d3e6af0a548b85a6ed7e1e6098753176407dabba1917640854085a6befc6f74314a62bd2401a9672f93fca6935b998bedf8eb56e57f686d3f7e12dc12efc556fc710a3a6651e83e6797fe29fd8ffccb45f624be47e445d955ed24d4dbeed202ab73eab70e84d7d8547068f0feaddd00ce3dca637f681d92848f717de3f9bdb428b34aa0fc1daa6424dc2d03d95451caf808d98c1ac18643a66c80c00380a612f658a06d9f236ec557ba487deec52979b07b6b305a703af3e8e885e55661707cc9b55208525e4020c0f708a8af77fcb288aa30d7ca6249d1532bcb0cd7e01526318fe9aebfebfb7f1efc2b91f5080a44026a2a3ebe9835fdabae4812bd63e5425e66579be36660daf22b31aacd449a9a2c721a3afd062b828e205fe873924774f9b20d93eb82afe101dfaf32f4f86373ed792991e0b59f821f8fa50687c6cfcf60e7b9ed3c308e72624cf4583198d13d79000c9e40f64177b2ebc04e6e78dff06a0a6d18ab51013f5bb3263df437d15cc06d6f42a8991207c947f153b1f5283b1bfb7aadc7991a748556c220068e405696f56a50c15a42d1c2ec46fea239bb3b47f7ae14f62ad7a71ff4bdc3d30e7ed5eabdc49d136a108eae57127b9202f5fde4c266f0a66887190502359e97581ce77d39aa71462a545dc024f1e972a356b6e787c96fc33c37a099eeba7acf67e55e0d55d96b380a557d0eb6afa43d78ee5233345958243a6d2294af77f9a931e90ae953f312a0abc388c15779a57872e43031a8b5acb95423d7eba8f7410de2b9b2c65d593dd8cae009849fcbce91b112a681e182244f1e1412c0d3d7bb5a998f8cd1dd0f47037200818c4794cf9bd8c05714a1a378ecfc6a67b99b07c7
+Shared Secret B: 1ae100cb2cfe4916d62d5955b74f78911d05e795a2e66e9faef1237e1aa75668
+Shared Secret A: 1ae100cb2cfe4916d62d5955b74f78911d05e795a2e66e9faef1237e1aa75668
+f6de4f8c78dc4b555cbcd9e11bae900c3d5d870fd8efa9a400ef6a7d50acc71ddf43907c235d19e63ac1e2d90f35e324300e2cd41aa753d6e715ca852617953d35abcf07307c8c55df1b53937d7245ea820686d7b1b865d7cba299de068146dee9eaaf69125fadf3ab36506e26fb7e9ef722cd806f5cfa0b695c0f52b05450be7afb41d0a1011346b7eac53439608b346b64504a690481f390d483cf268de86f3142aeed8cf8d298ea25a33a9502928256b469fa8da460c36c8abe876927d00ac52f92658372d4f2876f34fd67dd54502e14437dedfdf244ab337cdbcf3349e3bc2b77f0d5045062a62df65597ef907338de9a83de97ff24a5b4533d87d119a304607a5d46b698851c95b3570c98974d53c9ba2edc4ce10d24ef4dea539173f974a1dca14dfa57932f15d9e4d3e5a2274e0080a186fec22bae7b1c9807a20466afe4bd0e1cdc6cff09e4f32d68b38236f198e7ac5dec6d05d25b773d4d5cd11aecabb7746192ee9fea9bc1b717b7a7cf39b784554ea65847053a4970dda754bf494b48739ab6efd1d17c7b0cec19fa822d1789076efd8f7c2900593e278e1ae1aec82777cb64d4a25ae3bb3aecd1602bdf418db55ce5b9de560addb8fb75dd872a292a6f34204531457f0a610091fd67a44d42ec4c2710bd1ca8c5e7df6fc2e38b726cbf22fda368d0c59a6e77ba700504e5985f2eb32207ad65336b1c611463a0ee89c9af55bb4f78512e339a6ba2a329cac9d9ccdeb73146c18dad2ce91feed76c6de5b3a5b407e339f61e5d622797bc5156b1403818f8fdce74d4f1ee4bc072990fe0ae395706edd6d24cc07425aa513fdda353c716c41e682309da645cf37d7a128ae352e32cc60ca981890570466e54aa9ad4b9197f32d39bdf190255c9a7d62ca2aa618b658b6c6d0b0a254a36495d87c8ce0576e679217e2b343fd75df3a73442c0d90527616abd11d89780df42bebc8148449d006843bef28206783b02e4e50ecbc1e27c7b00640029aaa8908734b0110e9f719c519ef91f46d16ed79075b4189a0e09f29073ddc287f7e660572fe07363f4bd94e83801da766887a9
+Pseudorandom shared Secret A: 0b564cd97b0c1bec348f7abf188802bf883c69485f170f7c7d7d5f3037e6f855
+4ff3b5187beb413e5f62861cd61c05dc0ef70e3a6b84d3aa25814c45c0ef0ebfe6d2ef1648885d5d0cb43e7f369fbd313c8f8c3eefc6b9a30f18a0e451f2636d
+Public Key: cdd74175c5336331a0d5c30f8ba36bf375c62fb3bc2f50ba69d94a591c9bc1d03e47045d505a8f93527da2857925bc7a76550e7f5a9a4ad0734587bd2cb013e26053bf7b2c3f494a6da99b42ca270df57d46005dac0467c72056fc003f6462abab43954714b8c3bba8d48736a2919516c0871be18f45db833fc73059605be9a92d8b494d43d2c8de38cec12258ab32168937429f6668f9d1a9dee61504ea88c468b84bf68a0b483d0c44415256bc63c45a56744ca70cbff3d5b7ab997109a3a52dd157aaaaac1710c2d62a4a03e4302b41b24ef4491f5c3e0cd5ac14f05ebc4c760136cc620b9affd7a80c192256034765d10b293b990e11b01bd6782c974d37765d990a5c23e5686a5b763c668e9c9c82b9a74b64084be4966f7e7853f3e9798727209f509b0cd3552b379b774349e9a4297aa7cfcd08a5f90609217322a9316e48bb2a9a3995da25a3341284cd1b587e9bc14dd28b64eb8454da14ccd858598cb2703bbf286c89b20459b6088f70c6441a081f6740c5a7c72ea5caab97b71bff2ac4ab2964838134f373ca36584fbbf63e49c511ccf4c208e963a4653a4613a4042144a78bc82fdac354e04f12937435c94c4a19b4a9fa5ffbb94f74c88b191473a8e916c9b25b3cc95ec8b844aec70aac6223e9b4858e3c199bb3410f56ab67d7bf23b5ca6bb5ad680327f5152f04d38683239a3613501091830f0a51d3337abd4993bc89660db40487c863d2e2654dd93ea2815a368cbfa0eb81b5918a0d0515dee504052833a0b9731960a015b80d54e4b1b77091c932a8f7d67c8461af2f37bcfc77430d261ca8dab954a4beb57a3add6213b1833f0e7236210194abc866a9161007e6365975794b40b9fc37167914555eeb85d88a6efef36547a6487d950bb499a151c15909f751f6c344dac0491bfb30fe119d138730ef2a9e4ec43eb0a1a8f4b47287f8ab877306ea751027eca4daac6a94590b6bc64cf31b87138049517a8606e51f8a197057874a08b6566433a7fba46f17718af6063fe1a4886db355fd97a2e4c193224702d9354314125051f9290342b8cdc29b6ab1a25387124b8d995c0bf6ad7df16ba7ddc8eef3ae656e4b12738760dff594061fb0fe2879
+Secret Key: 0d226746f93fa13914f39b321de22233c11d2e4011a93a810a34b582341d1718bfecebbe480427872836838c8dfa950e4062653f364fa06c91e27691541502b7f63df8ecaf60372ee0366ab8577fa2e8b2e78976469956dd37462e365d235703acd9ce229b044abb1402d67fe7030d2cf289eb52265a68aaeb42b09b6468134507b83896a060848f1294cc93779d31235299a65733bd94eb001e173f2d932a73eb13feac0b8aa21224dac84aaa96db70a1039b006d636477abb2ccd116078c172bbc9f806c457ff78037e07e45596b35cb15167171d21953aa3476a6628ecd9130b0935b3a269ce5e824979a8b7cb5991714c84a126d191a21e32b860d74250b435d4876762bc63ba01c0233e8338d204543034c394905c169c39ba84bb7ea00f91183e6abca510ccb05d76850a6a1ac494336c4a2fff4bcbd5c16de521a1f13c1f8ab5091617efa3586a996023779010858be4e5a71ef4044e73963b69cba10b992886b436df74e6783aec1a40cdbeb972111afda376465677784c22217350d892b7119560178927ed45718d8507222fc76b2aa05c4323a3a35474c523d8a99916da64bcc91b58db6c42c5b03b7d9687aa8bb24e96daa0253c6d61556955aeec14a734876121a9ef042c857c79148bb4f534551e1d4bc8c68bce002c30388017d794a24a20dd0d16a3ba18015aa4ad8f40018f21e6de48ddf112035380e4d6238a5ca6c1dc4764dd94a471663bd24608c75653d4022d29404f9b53ea39c74e62c0898d9202a21a777195437514891f00c6cb7aa63e05cdd7a3e9733662abcc5ac5b4d43536ea8ec70187c72ecf9c99cb75915eb02543aa921a9a75518c7d4c9879d4a323429b7ab9534a99aac15264d5f0bb1d82aa4c4321fb6025c8f97909baa8fef551c1a4cbe170aa4f7ac1e8ac72fc2d773d1c5a23a9326675c849993a3b40847e71850a4832de59aa2573a000fd418c8c7a1257652ef617a6ee9298a82b46d65c0c78869969342d9dbba29341fc96a9941da9fd4297ae2168350b6b3a98947d095a61c146947e9017d0b7dfe2040201c2295ec186da935222cadc7a1cdcdd74175c5336331a0d5c30f8ba36bf375c62fb3bc2f50ba69d94a591c9bc1d03e47045d505a8f93527da2857925bc7a76550e7f5a9a4ad0734587bd2cb013e26053bf7b2c3f494a6da99b42ca270df57d46005dac0467c72056fc003f6462abab43954714b8c3bba8d48736a2919516c0871be18f45db833fc73059605be9a92d8b494d43d2c8de38cec12258ab32168937429f6668f9d1a9dee61504ea88c468b84bf68a0b483d0c44415256bc63c45a56744ca70cbff3d5b7ab997109a3a52dd157aaaaac1710c2d62a4a03e4302b41b24ef4491f5c3e0cd5ac14f05ebc4c760136cc620b9affd7a80c192256034765d10b293b990e11b01bd6782c974d37765d990a5c23e5686a5b763c668e9c9c82b9a74b64084be4966f7e7853f3e9798727209f509b0cd3552b379b774349e9a4297aa7cfcd08a5f90609217322a9316e48bb2a9a3995da25a3341284cd1b587e9bc14dd28b64eb8454da14ccd858598cb2703bbf286c89b20459b6088f70c6441a081f6740c5a7c72ea5caab97b71bff2ac4ab2964838134f373ca36584fbbf63e49c511ccf4c208e963a4653a4613a4042144a78bc82fdac354e04f12937435c94c4a19b4a9fa5ffbb94f74c88b191473a8e916c9b25b3cc95ec8b844aec70aac6223e9b4858e3c199bb3410f56ab67d7bf23b5ca6bb5ad680327f5152f04d38683239a3613501091830f0a51d3337abd4993bc89660db40487c863d2e2654dd93ea2815a368cbfa0eb81b5918a0d0515dee504052833a0b9731960a015b80d54e4b1b77091c932a8f7d67c8461af2f37bcfc77430d261ca8dab954a4beb57a3add6213b1833f0e7236210194abc866a9161007e6365975794b40b9fc37167914555eeb85d88a6efef36547a6487d950bb499a151c15909f751f6c344dac0491bfb30fe119d138730ef2a9e4ec43eb0a1a8f4b47287f8ab877306ea751027eca4daac6a94590b6bc64cf31b87138049517a8606e51f8a197057874a08b6566433a7fba46f17718af6063fe1a4886db355fd97a2e4c193224702d9354314125051f9290342b8cdc29b6ab1a25387124b8d995c0bf6ad7df16ba7ddc8eef3ae656e4b12738760dff594061fb0fe28798508f1d8c3a577da33a7e882331f74c0f6d1076f634874cac6952bfbdf8daa37e6d2ef1648885d5d0cb43e7f369fbd313c8f8c3eefc6b9a30f18a0e451f2636d
+4d2412baeae594fbc7a8fed0e5e839ff17f746f1c81bb87fd35d464b464ad12d
+Ciphertext: 9d3fbfa096251cf152a2d7a00bc89827761e4848e35f98ba836ffaa2f5fdd3d1fc899045f1fc7fd68c3d2141d81262c4e3e5db638860292242a5f9c41935f12a8ed4b0e6421627e93c5fdfb00e11647be51092209f3eab6052e85bf61650a5a574d6bf91bf041c4416524133783c3c46f1a214a70c43fe95c29f669dae80c4c0a41b4e84883c569a5f03987db71e2a7210c96b845ed098e8597748b8b301e1a4eafef3c9734ffedc9cf82555c06c4a0aa629515b1cfc43061fa8bd54f5b4de749cac9fab99d538fdba1959c17045705d586ad3fad185a6a7ba73072b970facf72ce4d75240d667f348657b1b6021fcf124ca6682aaa07e0501b7cc9c5de5d5ff8fc6f57c5cf62ba70889fb5250187e1faccbed95e338c0785b5bedce7a79a7d290666ac4f5056ec5f75e17dd0110e30de212b6f06d46c73291141104c2477698b327b3eccba002d27496f3f6fbcb7eff102de3fb33d77d36efafcacfa089f24fbc276bcaf09976fb2232590cb33360077bfd76ad6b7c2df1d70541a7d4a86a3a83f8a4f0e182baecf3cf1f322419d311634b08f254b1cd197957a9cfd25c3dc7272c8660f36bdcc5d266d7c560911eede3413a4d1927b73f05762f80f21c696f44275dc121ca26c8ca5d52ff6e8dcde6d3e733d69fa47d3e9f1859460ed8aba5126dba568cc6e626d0a895ac46367e3357e44dd617c1c9d9c4233230c59f91225a46ea6b60436260eab87afce4a0501a70c1a451f49acec8104aa3309ac3acbd8be00742cfe12f1460bf5ee3e8c3eff610ce65db29b9263a0a9b6db9f02e55cd066f8ad70662bfac1b9004fd434ce15b8a4de33d656fe76c69a4eb4d24828faa772e37109d7740838aebeea66614828f0e5c18ff4107ce4e57f31501f645681cb0adf1d5df86a002bfb60c8fe3c05da8ecd5d40dc8f60d83668e504f289f83731d10a5bdbc3b806238f484415eb72b67ea744e678da78ab45e8fe9937c0d85e0f75803f4ab4797228d26e0f04bd3907e813553f2d4dd9f479f21f37208dfb353e2e8ad4b781a08f41e9991cb50784f0b26cec9b4976f91aa6cfcea36dc19e98d
+Shared Secret B: cb147b4c4e9cb68de73bd0263859504038d6acf2ff008340a7b7d352d203da5d
+Shared Secret A: cb147b4c4e9cb68de73bd0263859504038d6acf2ff008340a7b7d352d203da5d
+560f35f84c956ce5b0da653d494e5e7294dad347b48099e2feca60d2329e5006ebc1020b21e6d2f59f8b43047514048fe51eea0d1865c0227bb7065c62b12173bba3b3fb28ca234ee0441b8c83c200fe3a3a221acbc199664ce775d2521e64f82504d4dc4e1f40ec1915c321fdbb9d9982d6dece9df55e89ca63656360fca6ce105936ac6f768029d4d20316d8d70844eca3c0f8f262fa972b70c55fef5fd25e702cbec4c09c5fcf5c333fa1780cffe1007d089e88e86d1c1ec98235acd742055ce1a3eb0ad83c3bdbb1b75fad0033ccd0bb706e1505280367768b7f41d7c6fdbaa96c2eb17ab92447fad94120a74e24306ce5e3e2366431c8fec980ca8531a1c70cc4b3937781d93cf5b5fceeafc74ddd1e7eb6e3de92555f33310278608670144a314ba3416aff9d84877a4fb321ebdc935406962c6be6c6ba31f0bfbfa16c6c2d0ca47107578a8f02b2c8238def34e51e575f7a64653cfd797ea3f4c922b25ad6989e0d70d175fc05ae34c9acdc40619e2e4785c73686eb2eb41367fbee5639468e59a3355f6cc49aac35f73234eb4af37386e419d428392c2318f90fc619faa1f3119b70a9069e396ed7497b99b9cbba4ba372734a739e498419338d2685e806311b6bcc42d8142ca194a40843827d031cc14292fc8ddb1fd1862fada74a6a8a0ee40ca0c7546e8e2f2e4d942b426bf82f0a9b48be645a653e4a6f56100363abf9f24f1ef3e3619bbf1bd57aa4f69e0e16fd54f2bb9aa3cc2fcc304af147840bc5e66d2062a8274c01a91d316021cfc87c2b0159d719de4255a3472680b9e5d2c03ee3d68b40fc1843334303e1ff16fa0a0ba721430f6c609b64aa10e2ccf2a5d9a02aa40c5a1cbdb4cc957fdde8d40b7d83af9f5f7ec790f6612dfc941e4c853a39b4962e1e8d967e701c571664ee24aff3e7dd2ff1e38274ffc2f6c99a80aac290dcb8fb833ee67f6adfa515e0b59c5e14554b449e9ec8be5704ec9f242c978da8fcaffdb91ac9c1e9a238d9f51cc1e576e26dc9cd23d6359642c883d054417a7ac71b0f82946431412a54b005f31e0f2ef3a72c9eb147bdd6176cc0df
+Pseudorandom shared Secret A: f8d2b2a889b987eb45f0cc146349ce75c65d206cf133c97cff930c0682055871
+dae71d838ea41be04314fa4cb72ec2aa1beaf254fe18d52f0b991d8ec0b00f7f21ffecde233fbbbe47856dc6c742d8abccb1a3686fa3f9fcbd05823100b23054
+Public Key: 1ea379f6e59ef8258bf3a8a663e2a2891588307b1d088bb302b01977a9072da6b72f1579e84775d924b4a6d91bd5a806ef459a9370488d7bbdedb9945cf178ac41b28a32bdb757431cdc509b5809f4756eb84b476d3215ac6a7672f04779c981c48a71bc8670ea09ca87055f22231789103eaebc118887a0545980d359ce82379bd897071e7079772bb5a157563946a3983509cf887cb0639149d96033380b1179034a368f3f30538277c122b5b80b6c19cd2b4ddc2a96060229bf2b18a7bcabf1733b89a538c7eb4dd55b4347e55b8196aeb5b0a2bd6c431df6a5fd885df37418e096ceec2b31c2905d2025420cda53a63a72686b3797d8ba11a9a39e988066714af145338574b5f6fc78e0302d17787306a03132d707a428913f432b2857976b0628ef63569e1c37a45499aa6305a02a009cc4ca0bf64cf88a95b4dc24aa4c8166aa0bcd6c92a6f25c94f16e8968805c307b2af0b78244021eeb3aa384867c71034d011e777b415abc1e9293639fd0a2e704c9f26c6d7e57440ee1a767073876110fcf4caa5070c9ef00c428d42aa74b7774b4ca9f85acfe52c164f62d0d06ade2b46b5670c16762458a018d2530cf1e315c53c07a6685330d03755457bf78392125c657da72a7468b3990110bed44a51bb776d981bd81588fe67156bdf397bce64135989cfa0710fac0c4a0c7ba6b9b1f3c11087720187ca074c58bbe8ee55327773637a060497bc7f9a5a3d0d85f73883af2213237b6b79ff23ec9f12f16fa39ba1378be97a17fcb4f0cb41f543c4640283afefc99b1358e89e756606349f0b4adbd5599993405afda0a0e12cbf7a25ad93bc1ae23228f84a590c142afd584e126667df79d9e696aed75374cd2a637347781f4585e77bb2d238af5a021ac15b0f709a001360e5469c90d2187940920e047aed5ab33492a97a2bc4e4b9790ce263afe95c97ec93af3531f8cec5f795910a1b613415c94d399bc9b07129541a4eb705e82c23e27a19d9a0462be6c328018ce648b3ce06c61acd359d569cf47fb6c48734b5c271849a084ee6b513c666697384fe034aa6ec846458ac1c1dc9e49f93469ab59e380ccddc850f654e00a42a24a22f3aa832449ecac4f8b1c8a5f
+Secret Key: bfdbc5c76ba395e40131243934c3cbd60269a73205f7e08a464a15074b12cb2743b30aaa78b321708a5d6497bf9041851517818c8169adb77534385e55bb527f884b2748b9c73536425b59f4f2035dc8749a833e6b2c2d32eb890c8a5e3cc024ce704a1a6a4bbbc64974e86d78530b1dc2a3085a68f0966789859dc9cb39cceb9e577c20d741822c27ce3daa70e5540555012dac7cb089c59b5c9cb4326a1057ccb4645a8528c47c3e1425feb84d266b1a513caf3a59c7e919aadf04a369b5b67099053c73bbdee57c91d283036665ef523e9f06322bb40f77984b3143cf3377b9ff344af73b8a5b807f19891eeb0718e118bf90e91e9a21758cf5383ec11d4c7a3b9c7bce35552ae8bb8c5d8294a969508617212a53b4ef820bd67b4cbbf15567e5497293c4dba6ccb162917ddc599aa4053d94b6a6d40d49757152c02e6089aefbdbbe594292a0f08e88f095149b386b02506c33bd84c744b18790ece672fd049e64c01cca6a7642a336e2074c9edba0b81951c84626dd37002aa5698d153d598c3c9fb5b49f9378ea51334ad722792429e6528a38ba4d0d329bcbc0ad2ee023890ac026b17d690c03c1d2beb5ec6438d38b9cd182957b0085d08360587783531220d34ebebc0af59a1baa8b6c2f43829115b6903700a1fa12c0b8b4611376b961013c3aca505678e87b83e9b012b4118c55d72d86aa969c68300ab6b7bba260ea348cdb571af0b7b31a812eeac01faee26b54a060566a9669935d1745c62181908707b0477acdf2870c5009cdb37503da50ac5a3a294a168dc03381ceb35843408e97dc132a14beceb3496dba8caadb8e56d40bb36ccf9760211d13546d432ded17931a6a3aa56b6f58f70cd340272d57967682ad170587c033113bb11369716beaf837123735e065bcd9a869e6e4aa0c11a79e55ced52acde2fa5c84b21b5e039e7e30b80fb9b9b02547177812c4442f7dd394b60b1719498760405d71c7c72a15b315c1ae359250226b3eb62c17f33b2953d04197b3727afa254af214dab7a6f134042ec06d0b93cf7b161b4055168d38ad88405486013355f4792554821ea379f6e59ef8258bf3a8a663e2a2891588307b1d088bb302b01977a9072da6b72f1579e84775d924b4a6d91bd5a806ef459a9370488d7bbdedb9945cf178ac41b28a32bdb757431cdc509b5809f4756eb84b476d3215ac6a7672f04779c981c48a71bc8670ea09ca87055f22231789103eaebc118887a0545980d359ce82379bd897071e7079772bb5a157563946a3983509cf887cb0639149d96033380b1179034a368f3f30538277c122b5b80b6c19cd2b4ddc2a96060229bf2b18a7bcabf1733b89a538c7eb4dd55b4347e55b8196aeb5b0a2bd6c431df6a5fd885df37418e096ceec2b31c2905d2025420cda53a63a72686b3797d8ba11a9a39e988066714af145338574b5f6fc78e0302d17787306a03132d707a428913f432b2857976b0628ef63569e1c37a45499aa6305a02a009cc4ca0bf64cf88a95b4dc24aa4c8166aa0bcd6c92a6f25c94f16e8968805c307b2af0b78244021eeb3aa384867c71034d011e777b415abc1e9293639fd0a2e704c9f26c6d7e57440ee1a767073876110fcf4caa5070c9ef00c428d42aa74b7774b4ca9f85acfe52c164f62d0d06ade2b46b5670c16762458a018d2530cf1e315c53c07a6685330d03755457bf78392125c657da72a7468b3990110bed44a51bb776d981bd81588fe67156bdf397bce64135989cfa0710fac0c4a0c7ba6b9b1f3c11087720187ca074c58bbe8ee55327773637a060497bc7f9a5a3d0d85f73883af2213237b6b79ff23ec9f12f16fa39ba1378be97a17fcb4f0cb41f543c4640283afefc99b1358e89e756606349f0b4adbd5599993405afda0a0e12cbf7a25ad93bc1ae23228f84a590c142afd584e126667df79d9e696aed75374cd2a637347781f4585e77bb2d238af5a021ac15b0f709a001360e5469c90d2187940920e047aed5ab33492a97a2bc4e4b9790ce263afe95c97ec93af3531f8cec5f795910a1b613415c94d399bc9b07129541a4eb705e82c23e27a19d9a0462be6c328018ce648b3ce06c61acd359d569cf47fb6c48734b5c271849a084ee6b513c666697384fe034aa6ec846458ac1c1dc9e49f93469ab59e380ccddc850f654e00a42a24a22f3aa832449ecac4f8b1c8a5f667fe6a7c91dd1747bf883d43147605741a7d404e4b681c8152689ce2aca174a21ffecde233fbbbe47856dc6c742d8abccb1a3686fa3f9fcbd05823100b23054
+36d93ade5921fbcd09257b6f02d56385f99cc972d0908b091039a55086fcb474
+Ciphertext: 8a16a91a44f6178c02a08ec9534779b949c2486aaf075b96f296353ab81897c88e14510b480fcec53802943807d2c59705be806e1c8c14560d83e9ae23d6891ddf9822a37e1c8d43ecf67d5d9882c6a630758843514301de06e2364392d5cd949dbf9483cc26cf8393fef26a53f4dd96fdec219ab3633f7eeb5e2e1b4e71a1560335cf275fb8ac6878322a819a2fb168d2358157f8b0b7da6bfc4a5e8a3f092fad0437e2ad65a17cfb5de4c5d1e675db24d544f399248f18c859aa84bae4b498833d54b5dd54cd323d240eabb86be5ec4ae0d2e6350fc72b8f43649217de5149e0317cc919730898970e018b54285a50c644ab7cd286043425a3403df87f98c27b117a869c8514dccd69d8c3c00f4a775de0f95a288c8de6cb5119abcf07dfa03458e16867bb065664d4fa56117bc39e3a5e480c1c83027b81a7923f1f7be076f9dd87c48d31601790907108205144c8f502953fbb629b0a3ca24522e4026fe730c382dda2b5f279ca202718a7876555f1fe3dd537988cfa992abbc5abf1e0bb1c8be61992a6b87464c255a45244c4c53b899a5aed01017e891528bc966e8a218313ce10f1e54eef7cb799822ab453639604ca2de9ed428285151f27986db70a9d9aae081dd21bedc9b51ff4dea7c5e5f44c7ffded5f906e4e49127e608fc9b7542cc1235898701d7b9df571b04a51ccf461bb9bf211bef373c94b5f651467d2018d9535c4ff9c62e378a26c712878f41e62b604d95ad76943499e573c6512c43e3329953ad1ce99aff269720d98df6634d57f8c5d0cc90c2753d4f36747c7306c73d396af346f3cbe82d86745016b20aee4987b97d1052c862e9a5b38cfa49328d2204a08e61b93157fc8809a3e6605498326e1538089663f5a4de16e657c08a321ac84bb6cd1ad32ce5fa920ce87d2a5954cf039f91a16db0850bd60d359e89dc789ad410a7393b8e2134dc54bb3f189be81fbf7520825164e9ca5ca89907780e725c4515f9d25128815ab6fd48e302683218a36410124a456461ebad1e473ee3f66500a39b14b3ecf0fc6f6ba052233d0c975bdf3fa325c713a18d69251c1
+Shared Secret B: b2a8f83b83fba1fbf17d2ed5913544f6278b9b74ad1b0c4492f6d058f2058620
+Shared Secret A: b2a8f83b83fba1fbf17d2ed5913544f6278b9b74ad1b0c4492f6d058f2058620
+3f961fac5da9f39757d3cb5cbde2bc3b7ea068d3b6a6f4b388d4987dd516da26ce021225851c4a47169f40e6ff3da59e5def9365baf8a4f9ed52537506390669c79ebbffb290c9a3bd058d77426a75dd9dc49161c6cb26acfd5f1d55614a46647beee5ec6b9bd60bfdc539e8f353807751af43daac61939c22fabc2064061d0a5861cf3c699e73b48d6b29550e18e084f5c88c65cd8c5e9ff54467a86d6aa6755dc93fff6a5075916710e7490582dba9eb2d450498624eb4939cfefd0958518cb555d423bee60d539fade6071308ed68e202763e2c1cf123f346d0a41556afc3a35813b4f7aaf5ee97181ccd3b57573eb4bf46450109f32eee98bc78b67bdf7a48e52ab8268ea338e3fc71e60f7a4d3300c05ae6077a2fc3ab1f513e93c88c8a8981bceb10ca7c4c3f749091e8fa6c33559493a7d179fdf23157c14c9f1ff900602ccc0e1e5192c19a7f0ff1cf1201db3c4e0dabce73816bb0a219b1bf61b3c66c6a232a2985b349f53d375964abed029eb8d3759f1a5493f77c317d81acb795c1989d483788733606ebcda04b20985337874a056b344925bb04424715464a6814bed3dabee1d2549c662eae687aeba1d88eb839a5211887ad6c3752b643cdc266d97874f5110b1c5ac5fce293f57d912841a5376c83207baadb5724c1f73547464c7ef0e9f9004ef772cf6a5c8c7875e0caa9f1a8fb423affcfcec60c869ca1f0682e221ac5bf92409ef60d2ed190f026d28378efb6e2ae6f2c86b357f1088843393f6fe8f12f8b2a7dfc44d281341af7e997ed457737273f21cf1f231a2a4dce928c76196e85f9c9eda9760b3d87e9c44eee482901717726c22e590f64a1d40bfc75c5eca4b9c3d3586b1fb7696eb60cca7bb10fe7368ac4ab047b0596abe5c83f59264bd46b6d72b8cee26f42ed7a5211e595bf71686f802f858655c71e21d2d3f0e512c4faa00e0d14a131482ce2265c50b2d5763ba2bc0f6d3cb142631c8cbdb2c28970758ed322859088164640877aad25adc53576eaf71a4712a35255c97f7d4aa03d3cf04bf0d7262aaac22f48a17d7405b2df910f8eecb21c15456d
+Pseudorandom shared Secret A: 3e03c1d44689e9caa28deb9272edb72a3818ffc7270bac8b03ead0189d7ec501
+f068cb4e11581e43313370046a10705e01aa0f9b0a79de854950b89f7a5d9267a80e77288e5d78cb2590e15b22705c90955dbf87f3f50054ce3577221d04a889
+Public Key: f8b45168f07b3b2c0aaec94797dac2df1a81a441b4a5321de7b75db1a23e8873c3bd698b57e33ad5e245c4f529261ab56ab44155c54471ea401206b22db27a06781428e7c8ba1701a5a449ed4435b87a6cb952a725455370166a1a6c707ee61bac0163a7b903d2f596e2b6c1a51194e4cb8d6f405e2141ce55095d972c1c85e41e35c5663689abfaa70e0ab901b276a0058911c1e3a7a8648629237b080a86ddf556a1eb0b3b6022af2ca796203503e2379ada18c869b3182a53dcb30e043a146d0312b0493055d01bbc47b57795b32bea1163854459f44de74501807501b3c49ef3285668d86be8d4a91da1792941780ed772930119d50551b3e85f5ab20f1a814482b2874bfbc692b05ef1354460537b34ea536830b96f7b5e6b511d6386cabbe89a734cc7db0cca4bb8c0a416a6e37c54f28553a5073d17011cb1867fe3d35d14f40bab441f169c7d751cc20133c8cedb916beb270619b553c866aea259e790bbc4fb6368a7ce2a95be14bbcd38745cc0c8846346749d22a28a270e1562aa4c300b42123d2f66923ad35788a46894bb8b61e13aa13577fa192bfe76ce09214072619eaab6c09ed24a506749d205642cd25b6f93c46b181b91617176943e2d7b4ea6bba3fecb90e3a210fa9a72d4b90503c1109150806f6a7194fac1afcc89cfa99f18938740479f12523d3602bf11635b33d85b9ca6c4e32a803e7129eab6444fd8198902b069f6b8847281f56a62b88ba4eff265f7c220f300550ea9a6b9a7c460ba4018b75774fa6975c300e47a6390e569df85c6e5065910bc57d7e4405e1c2cdd22c8ecc1a9d5d99ea9787896c17a2fa25f17c0bd95dc967687beadc3670e3a3eb456ab5f154cae237ec583b37da876e0216bbc9cc6df8bb6ff4419de322e5b504a682334faeb15312c02a011b32329ae3fd571baec7308117076b459c007beb2c8badf492b18136559c2c08432af904c4d533aa711c5b6821824fe03491cb13f8ef18674f629466aaa41ec7b7db9a94d20c1a8216624a76977a82063b05a920b7836823e5fd815461b030b464752a8a4859a8c84308654d0b8bf2aa2c6acd9fcc6f2adc3fecf8689e9f460cf39b418285fa9295b66862673bbe33219
+Secret Key: 5f33aad94b303120521ed606605399518504f96436d5a509a47941d782497c343cba404fe27575e6a8562c8bacefc41eb847aa593180133a2c24fb2cc89acf1751b016c9ad3a832870e82813760a300a72f88647b8cc73a397730bc25b0ef2746ac7788b18462798ac5e6b926526a93f9136ccd436be451fd9a5cf63c88ecdd827f36bbcf530b7aea76bcfe5325c103106b71d0ae9733c454be226cdb69415c9c959f7c34498cb066a43955682bfefb921d1b999f438ba3f6842f9283c7515b0e12648edd9838b83a24af23446c95ee6db4ca13a7f4e0b2373f2c58565c34797b909b576d9ac8516e6b24944b6c9e769b7854c3b2a28796b66bb3b5cab66accaaab249b43e169499685b57704556d1bc5e9fb5386db57459b73ec81c80a50888192aa75bb2690d0c5a7d16bdedc1631f65801cab2287486b327a9f99f951d807b3feca26ae11a9902b730e25affca7c7721c2564a16c06d369b34589fea921435711f365ad11e266d4d293457a6ce2d850d3cc65619c6da30b23ca529b45972b24b50eb592ae37b8667a634089f27b7df4c52a688d28a3263ec58d20f8886f36614ab2aedcb522a2fa0a9bfc3132b84ed248b516d05d35d553f0f94d87398f723ca9fe9b38546480ca91337a182585603c7c9a7e8df13e5f6abeff987b264b4b1a006579761967a158f76c1bdbf98a73193f7ffb9e22b2b4b838449e95a17809ca88b754100708d93067429452163114032c0144a2b98cb480d91a12fcf4bbc4741e61e64ce5f6629342a6323a6c904cc8210b5b2edb306d3a620d515babfccc68c41eaed48feeb336794a102b6a83ae7963bdc46fa14a6a4bc9c968e58e2eb09fbd740003bc125f7075500bc2460626c1a00b8faa010e541680f58532d800adb12b8b6238d97b67739215763625a3a308de364927d6b40397a087352d0f54c33cf4553deb889a608c730199123a4c0fc2795a88883c5a0bf7d60802499373220031894fe2d86892d0c76814561ab70ea3d102d56bbffdc38c46a0004ed3ca3f775e16dc6cf204b9b96c9894e7a556b10318444a452bca32533a4c3838290aaef8b45168f07b3b2c0aaec94797dac2df1a81a441b4a5321de7b75db1a23e8873c3bd698b57e33ad5e245c4f529261ab56ab44155c54471ea401206b22db27a06781428e7c8ba1701a5a449ed4435b87a6cb952a725455370166a1a6c707ee61bac0163a7b903d2f596e2b6c1a51194e4cb8d6f405e2141ce55095d972c1c85e41e35c5663689abfaa70e0ab901b276a0058911c1e3a7a8648629237b080a86ddf556a1eb0b3b6022af2ca796203503e2379ada18c869b3182a53dcb30e043a146d0312b0493055d01bbc47b57795b32bea1163854459f44de74501807501b3c49ef3285668d86be8d4a91da1792941780ed772930119d50551b3e85f5ab20f1a814482b2874bfbc692b05ef1354460537b34ea536830b96f7b5e6b511d6386cabbe89a734cc7db0cca4bb8c0a416a6e37c54f28553a5073d17011cb1867fe3d35d14f40bab441f169c7d751cc20133c8cedb916beb270619b553c866aea259e790bbc4fb6368a7ce2a95be14bbcd38745cc0c8846346749d22a28a270e1562aa4c300b42123d2f66923ad35788a46894bb8b61e13aa13577fa192bfe76ce09214072619eaab6c09ed24a506749d205642cd25b6f93c46b181b91617176943e2d7b4ea6bba3fecb90e3a210fa9a72d4b90503c1109150806f6a7194fac1afcc89cfa99f18938740479f12523d3602bf11635b33d85b9ca6c4e32a803e7129eab6444fd8198902b069f6b8847281f56a62b88ba4eff265f7c220f300550ea9a6b9a7c460ba4018b75774fa6975c300e47a6390e569df85c6e5065910bc57d7e4405e1c2cdd22c8ecc1a9d5d99ea9787896c17a2fa25f17c0bd95dc967687beadc3670e3a3eb456ab5f154cae237ec583b37da876e0216bbc9cc6df8bb6ff4419de322e5b504a682334faeb15312c02a011b32329ae3fd571baec7308117076b459c007beb2c8badf492b18136559c2c08432af904c4d533aa711c5b6821824fe03491cb13f8ef18674f629466aaa41ec7b7db9a94d20c1a8216624a76977a82063b05a920b7836823e5fd815461b030b464752a8a4859a8c84308654d0b8bf2aa2c6acd9fcc6f2adc3fecf8689e9f460cf39b418285fa9295b66862673bbe332199b7534b9a4a9dec44cf3794cacd760e19be05a2e29f15647e0bed286a54d5cdda80e77288e5d78cb2590e15b22705c90955dbf87f3f50054ce3577221d04a889
+e0c8962a2c4ce303ecbf50e5beb350bbf9991ce95f4aac43caf4a9e4204b0979
+Ciphertext: 562aefc635a7d3d9ad7aa888676ae71c177938c90531784f3b416c7f124accdf71f06c5e0e28917560e27a074975a74a5f2562a8d80b33fca82c15536eb280546ed57dccb7e95d4524589196f474661165ccea6a45426dbddb3d2a835dc966b4ae90ceae7a6122ffad70a7986a17e5e2bc61bd504eca2ed213e270e1de0e654a73c2511adf399989f1da7926d66326a6fa0ef66c63244baa9f73c9577b3ef1b4beef64d10345a9194c50a6fab3fdbf77f3f70af32f67c36250b7b62eefecca091017684d3799955d962b7baf6189a595067ac248d803d40d580eab506eda01055c95ac9e17e1da0e2ed3c9dc1c51ef3188bd0a974d74205eda6a7f0bcb545bf7de74f5ab994018d256c1c870142c957efeea275e3f2b45fc76d53be1cbf597ef61cbc5a0085dc977b70368fd5dbe5015c4b2942541c02f0b16b6039ca4cef69bfd40f54e7fff353272e2cfa51c311a9c36b724c1bf29465d74bd7119c02dde61b9a63d964d586b7675aca7e55cd8acd7b56c90e18db6afa1f800551b78469a149f64d52b852d78f3e41860b182795b32f298b08a0244054df674a6185f7ee004a30365adc14ea516c0759ee8397686e1d7ffcb78e89f05dceba175eca591e1376ce74c268c5d4ab04809cea4bd8bf844287fa1bd30366ed0fa5cab39f585f22daa02fa589e43f5d106733d41e99d44bd4019268e6264d7f583a83346d953519970462bc094cd0da45b52b70196f9254adcaafe76c3b5eb8b3ddad93f77633d7a2fdd2e948b6cde8d366f2760bb1b2f00dc4a103e6b9b9d3c8e876b004f82219a4f898da566d073ebaeac724ca6a2f32ad01fd157e7025d98807526fbd3e6a30d2bcfab7c137a36ddaae786b1482f6a10c0412e6a7855f001dda248da0aba8ad62a3f6cab7d465d4cffca5475938f8851e9698b9fcf09497f6de60bb6641e6deb6f3b2263ca506c6a0c7b98edc4200dfb1f8d3da402d2e077d2641e96d26dfbe5dc6c2339bdfedd46953d4446a790a1467557e2e5ec5d9186d9f0b849fa7534226eb46daf2f865745868beaf3f3a1530af842e9fac3780086ce0d5ccf6848a623
+Shared Secret B: 82c501070be7cb314cab723f5fbb23f9f368c6d13bf68f816808bd66d04f5888
+Shared Secret A: 82c501070be7cb314cab723f5fbb23f9f368c6d13bf68f816808bd66d04f5888
+a23cbd2d50a27a7f525379c2c549c6ada66e4fc90680ceccb3e59a74ba9655fc72c7c3222c9c8f0c80059604d53ef3fe1d5ee9cf64cc177873f560a06e3b1c24a1b697fa049be79d749c5e1d69b8fcb63d0f37ffa67e467f60911e79efb5048d6edfe0df8d889db09ea68e1b18843f5239b9801562e46126a1730a9dd3654ed80734427d59162ce01417d1e18b694728a24fa26a1a19581a09f513c4b4ef56c1bd0d8b68f2659d02bce21630a75bafcffc95f6837e2543047b8fe8fe081f863f8e2915f679e317f98e05f8a027800a590aefc0c136317e809c89ad28a7d5a565a66e4ea743f8cf21a75549e8525fa8a0bbbc822a5567a966bc74646b447d64e0d433f12359578c5cae6497b49f5d125992e75bf3f5cb3cd3249818127c4d9264e3842cf0be81489e3c2c319e7065f8807d821711c1880a774fad78eee604b33e0bdd08ab53c069fbaa66c47b2d97e64546dfc1a96b9230c9f2d25a0a96b43dfb9f9f1987799290441d72c63edcbcc04ea8924e0658241122703f19614ae5f379ac2b2af9aebf4ce6f583ab524c22053ac21dd9e34dc0be5ec3ef6349b3c1d7da6a127609684466e8f713fa0310b70672c1f3a4ecad1a8419541435a47829e3b7dfc7ff6c53e013f9e4f1bebb297e61841f299f2d1dc657a147db021580f2bc3bd67c91cb0505943d7c25b211780c197e68c5f83bfbe7d504d8e414b9b28fddfeb3c23fcb1c7c1e34ff233f884bb3518bfe3730a86df26e6f9f5ff01734d9eb7c81387e4e600f1cbf501f0864b90f1bb0f32ab7dc6804fa0efc28d8661bb62ccf0b9f581d68d938872bce83f9b0ec994d489c4322755c1bacf083cccdcd2ee091e112f19f70f95233db5c9534315203646e78617d0c015ee5c3781b79a26c28c7be454dc6d21f682805ca66a328663b9782a1728984143e9137099732434e73201f9d0e12fac3078af26226d308a6c05ca866a4ae87ed219d5ff3ab1a79371cc6e5053a037f5ca5c5b7dee4185f22caafe2eacef007175c8069957e347f428f26a899648c29ed4ec9aa697a55e13296838e5a7e619aa725087a3bee2af43fc4e8
+Pseudorandom shared Secret A: 225a4196fafe0ae387080071c3b5a4ea32ae24b74788344f46e75042a06d107f
+469ce4f17712f6b87ff2e6fe1843c301de7073f41cf93e152dee5588498fca5cc055fff76feffb66002eb44f13e01b497b54ddb94727d89982a6c0cc0edb7f45
+Public Key: d9b929e6f3c9f7bbad55d8014710286fe53ee2d7761c03ac5aa305f94aa8127b0086db63066cb395a076997b15f683174e4b2c941c1fb3ecbb7bb7aa06ca4a967b4207758fa5c8b6f5f9a30c060c4661277c4119d160c16b154420b62498ec805e0baed77077c98b9551557a4e12c7f42090c4d5b8ed015e31323ca11b7b48b58bf8d52ab179c96b4498ca6933ff31185473af55b9202441717cf058eee580558b696ee77a12c27862a50842c9a809699ed5e9a7cdebb33739be3f61a3a6a71665b41c04a63e5a2a908e043f2f3012305429fa17a074298761a472d97b4f5d37ba72283582b72b69a5810a7751dd619b1bd836249bbafd134bfdb338a5249aad45996d494151da7ea26bb4d4748d83c97347499727837268d37c1f3c377ba1711d03358c00324f664462214c830c996350615cfc24716a9072258e7005819710b09c995be8bc5c6eb97a557a08dce1caa7c55008e562f97c1c24514c67502a2b6146aff640f0ab6d0b505bad090a1761af7dc5a831342dbf8225446cb3bc0484c73320782206be9ca64f387f6ab09bdecb2096405af991a7b641907a405e47002b767b71983a352ecc7e5cb9976c0151488c270a824e781951ade3c6f6a4430d7b1dba043585373faf6985ffe0970f7aa540860e0c1575a3fb0491677de9004350e92b3c9c6c3ed50e2b65af5d86b8b4a83e8c84278c6371eaa95b3f5b940d23974d2a4e0dd35b0b2760c3828d28177b43d23d719b57a65967d9a39ad723c5aecb8465a4bf92d7cd330b0dbb722eea0905d6cb3024bc172e003eb0430bdab01c178b001ee7c8974b3728212fbba8b48964ce3718cfbf8967da7c3039a35724938c6e648716f2152289b00850079a2213ad55b34d183ea8e99105814e732942d72170c82ccd522316328cb561a2ad2fe2c4682702e2a15437532f2af879e6cc06424b70d38809b15151cc27b3dbd3a14c003d90386226b176c527acf0ba6b27d8606512ac4039828a43b6f1077b534924bb026146508a39192e0ce13041364d45c2914a61bdc80b57a9d9986734b79618c402114a4c60c277756f63965a2694457b814c4c1ca10b751d30dfd992c4645d12067675e65ea38d6a2b2333219155fb
+Secret Key: 18f7b2f5423f589079c605a444726f4ef895081309f6186d3c115116b533265c0c77c59a875513de992935aca721d530af5cb39fc481cc7a7ff330b0634725ebac071fcb06e648b0509555fa5b1b7fe8031bb6312eaa53d91969837c76624a6b44770fd90b4bcdeb82d23b3583d2b331c89d5c275382e4524e981b3fa266e5ac8948f53dfea37b72d14d4035a21f75213098b7899a49206ac369260e6af87767f4321421c7be9bbd5b027116052c3af87e3463b221e58f963a6d64ea287ada28789b3131a8228d3a6ec783498e1a57366306da0b84713c142c7685f0121fb842634987275ff3aa35954539dbc1b2c933ddd6ac3eacc836b587b4c2a1efb59f084b9cc3897f5f24134c46a29276c3d227534395cd5b22395665b8b4a148c9e911b193059150be2af6821c7132413c98aaf5cf5d330c2fbc9b83d6b658a27dfbe9c35363262a7114950b0a97181b9db9c2eb32b149146a981902d9e751b9d31dfc554eeb109969966dd870b41ba5662b7660973258a023a5f886b829a46cd7704f3b68156d4751870708c057adeea543c0b0697f2cbe8e619c54e5904a244af4529dd49160b3fc9ec82bca54eb7973c04193a8b73bb8c5b9b1963e5597e65a2c923a3969d844ce1b70f6b12f97b62beca8078052ccc9d302b2f03fabe9561c1ba1f4ab3d1267619571a1dee57080c66da96b01cc0ac62a71b904b020439c693e828f80b29b3fd2c1e4c7288785833bcb7abf1407b5c0386f080ed1c5719ec43a019221fa835e185428a620830560a8a64507c21939527b0df702156ecc344e196d5b954a35223dcfe654d8728ebfb97025a1055a667af1733e12e083de6ab544ac0bcc9c6d6b929dc66aca5c1384df609e834113cf87587a760590444a3f742c7cdca66ec505517b50d888c7d2860c7d2503b87b4363444c5bdbb31e8b26bd8a8de43a0d64f3c94a60c07c179cd2453bfbd111baa327dcd4b3fda49e8ed60c9c788f44e83977c9674cb90623f61ab27bb356314a972284d69565b17315c874b4c4a6adbe842c995b52d6885799776796fbac585078de498e3fd07ae2cabaf8b8c7d9b929e6f3c9f7bbad55d8014710286fe53ee2d7761c03ac5aa305f94aa8127b0086db63066cb395a076997b15f683174e4b2c941c1fb3ecbb7bb7aa06ca4a967b4207758fa5c8b6f5f9a30c060c4661277c4119d160c16b154420b62498ec805e0baed77077c98b9551557a4e12c7f42090c4d5b8ed015e31323ca11b7b48b58bf8d52ab179c96b4498ca6933ff31185473af55b9202441717cf058eee580558b696ee77a12c27862a50842c9a809699ed5e9a7cdebb33739be3f61a3a6a71665b41c04a63e5a2a908e043f2f3012305429fa17a074298761a472d97b4f5d37ba72283582b72b69a5810a7751dd619b1bd836249bbafd134bfdb338a5249aad45996d494151da7ea26bb4d4748d83c97347499727837268d37c1f3c377ba1711d03358c00324f664462214c830c996350615cfc24716a9072258e7005819710b09c995be8bc5c6eb97a557a08dce1caa7c55008e562f97c1c24514c67502a2b6146aff640f0ab6d0b505bad090a1761af7dc5a831342dbf8225446cb3bc0484c73320782206be9ca64f387f6ab09bdecb2096405af991a7b641907a405e47002b767b71983a352ecc7e5cb9976c0151488c270a824e781951ade3c6f6a4430d7b1dba043585373faf6985ffe0970f7aa540860e0c1575a3fb0491677de9004350e92b3c9c6c3ed50e2b65af5d86b8b4a83e8c84278c6371eaa95b3f5b940d23974d2a4e0dd35b0b2760c3828d28177b43d23d719b57a65967d9a39ad723c5aecb8465a4bf92d7cd330b0dbb722eea0905d6cb3024bc172e003eb0430bdab01c178b001ee7c8974b3728212fbba8b48964ce3718cfbf8967da7c3039a35724938c6e648716f2152289b00850079a2213ad55b34d183ea8e99105814e732942d72170c82ccd522316328cb561a2ad2fe2c4682702e2a15437532f2af879e6cc06424b70d38809b15151cc27b3dbd3a14c003d90386226b176c527acf0ba6b27d8606512ac4039828a43b6f1077b534924bb026146508a39192e0ce13041364d45c2914a61bdc80b57a9d9986734b79618c402114a4c60c277756f63965a2694457b814c4c1ca10b751d30dfd992c4645d12067675e65ea38d6a2b2333219155fbe6779ff450edbb97e1abed392134b41267d6744c2a3a6c2e39868682fadd6909c055fff76feffb66002eb44f13e01b497b54ddb94727d89982a6c0cc0edb7f45
+a5ad6f192d569955eb82b149a5b99a64f10c7e45ad1c52d0e8befe7834cceff8
+Ciphertext: 99e0f6b0f1a72cac13e4d95dd8cbd75d29d2df9e277f63a9a72499a60792c086aefeb201799b5ddc8b35acc05196ada9be7cdd3f4be151d5c44b784dd06fc966a98ce9f6bffbe18474b943483066a90ee7c791182315c6699b0e31ae94057a8287176a23e92979f2d7777ff3aa5cffc2e5750f68b78c816a681ffdb397c88355bf988076bc08e224eaf330935fa3fe77d7a7f42153fb41d549595b36749433b746eee4727c8cc5e6236a2356731bfbf62740c540b327a9330ee74721f6b3afd8ba9bad1bfaaaf382f29e0c928dd330212c07628080c1d0ed3f2bbab88b8b76f38cad38b107eb0bffd6f72da5986cf34726c3d6a426ce0043e5c565318bebded06de0622b4aecbc4b47065ee66e97f633d57c0ff6b1b8fb960c7ce83054353662cf697fae9da1babf75d896b71d1a3879e99b7adda644fa1e2c86642e5b6aca8f5a1792915a69db560931fa2bb623c0f3e76c38609f98dee403f99b94e119b318e57a0af36ffc00f198035a2691ad585ced576628badbc021c2df7360bf4866540f80b192a2b39bb121b4d1910bf48b198e8258157d58b60d1105f0d5630ac8e703da76451185e30e9d35ae8cc463101280266d16141e505c53b172abb9aee3ce58222b27e240f502376b1c62f0fe6ce1748720f549f76a09725056276b9bf7c48b31dfd41a164c5a0481519ebe7ac8c93d9eeedea9f2b3f94ab6959492f53c3e11606e02f248b9201c6c0f96fafcb1d3dac7446cd0374d916e29bdf91b699185613e2c81448bfd81b9d7432e42d7ce30a37b67274d0e9842ce39d239ea63501399ff5d13aaec46a7d4616ce70590f49bb9b11783db0820c655ef52696291210e622acf13611664d298ef21584661e65f9684e7da3b9c236b87dbceb5f99e076cddc5ac23b159b342acba71c4a894cde9df6b9b543962abb26acb8f11bf5823a27a610c1644f37e0c4dec077880fcae3324bbcc8bf646b7a6ae1fcea20d703367f2f00a81dc89eb6ef00b6cc7b073543c0172229a3e600e923ec23624b730d7f39ec02393ca353a298e4f1a221946ee60073f8e2d46872039a8968ba7c112d358
+Shared Secret B: 4bf2aa36ebeeae7f286a84fc8535cf61efc21325445d3cebbcfd280b618c5390
+Shared Secret A: 4bf2aa36ebeeae7f286a84fc8535cf61efc21325445d3cebbcfd280b618c5390
+f421acfcd6b217e6b9faf407c3ba2110ad62ef17dfb60f1068c6e8b44f2d9c3b61f9a4288ca66dc797338f9ca5bcaf2df052c14287654a17e2756d1910bf23522fe2ffb654ae6a43989ce8541b862218e5fc6aa29003778cec789cb5370fbc354f0231505f99e7bc90a2af24f0d5700e5970d08249eaef70d6156f542ae6dba7126014a16e4f922eb8c2cf2080611804fcb37ff9ffefee42469257f83a39b0c2878bde945112d919dd61368c61a062210182d00ca4065b2868650ccb1d9f6b1d75386a5d590783f596747389c5c2a42b647692a3c25f52dc611cb7d5ef2fff2fec5d3df80fa00039d70206d0a30483b1253212ac2f0177c5168a36d5245ef30c61b5a6d459d56e6db1d3367f25a91828c6b430b42d1f50981aec6cd86d9d41e355ef3d371a97ce7693c7778f2b08451269bf4630dad769bc375bdb76a335f1e1d89c125367d68297e463bd9cbe4dabc91d511a1367cb119e337eddb218c9d3c4155c2599c6c3af6343a5b38d40cd5609a1053330da51a40459d40ddcb280e6a4aa0bdb7bf68123b83ac1a9e9817be0b69a48c61b65d72b5804b931c2121bff05e666d899153b134babb8d16a36d695380c23bc24fac7028bb2180e06d8d5f3fb1c71f89163190b61c34353c40131b606d386aeb5832785cc2619ca38a5fcd7d8e897ae2b0021fd4daf38737a3dcb07dd05712aab5ddaff1495bc550ce8abf44b5577c18b41823947d3c98662ddad7407c3837c0aebb277c6f5c5325566ad924750ed5fe4beb9bd7828c06d18ae429bec9e7990fbbf1fd037cc9724c804593f23795e3a20c0d4f5a8d57e85b5e7824fb2d23d747871efd434fc2b77c8286c1e40553a9d259f418aeeee2f77a8cf04d2cb6f48579ee5d2a2d26d51cfd444ddb13639870529932ff366135e7e14e90a9d5a17bf4030a13568f95373f5bd40ad5e9a5a0e09a119210cd1c246a7bd00500ac5ff969222bbb629ae116ef9f1dba1dd9edf42deac0a89b7451a553ecee4bddffa28d4ec9bfaf60d8601a94d44d0a454f4391cc668d08f76a287c43f46f2a8c32232a8687455554c3a5eab4c06f97652e1
+Pseudorandom shared Secret A: cca2f670d0f307e8642352408843385b4914f96e196681fc4bcc3420511fbc8e
+bbd431c4dca16a6f6e4c2e21ee2e1400a2892ee1b471d2968734d5147141b54127b202751b0070f099e6862983b7e8ceb581169f0f18d165e88e85870cf588dc
+Public Key: 987031fe833ff196be0ee84542a40a34b5743b91698ed65f14b78af93a230f078ff890b956988b117519dc38262acba5423955851619600c9e86f803eda40767647a15f78507a36d61ac1b41486f2e4665a1e0b9cdfc98c382aa10b838b0955f7e7492ac50bea9d6923c851b719aba908881fd415c2619c657d859c2c9b3cb4510d3fb65ce26b329b4793f36457ce8b79a820105937f3f9a41dc7584e13bca6d663deb0ab41ee748c5575853261e98259b5e4401aa424423c37107e7be6cc9bf1f7b105fd03e81b882fe3ca635870764da106f89a0b0c322a0b3c1c33014d65082cc465b16b819f0ab162a44b04fc14ac320901ea4178e5b893371791c7c424993194baa95449887e3da5d8d96aef55034136ab50c389e3515ba4812c19ce720d094ae2b12207ab0b8f8a03926331707984ee551883b9651a3786582b995c6c87083700f87626069b9792f3a43da06ce570aa2c65ab971eb26849a9c2c5298aa2089ec02606cd19acfe77f9a249d21c139186a0e0e160797965e05653a6968ac27160cc6e2ad1f8ac305d4646181cb056a339e28802298818954c967fc21d4299da57bc798a28e5517791ef87b4d194172290a47981831d1c39f51057e4ca526ec41d6661bb3869c55dab2ae412712550c761b6edde10790502a1d7a7c8579a3001957b249006ab33ea1566d5fe622aa5142eca8bbfde2cb4a19c3e544b6604433d218250141977e73b5efeaae36f22cf6d9322ec56c7d228243392757eb1943e49d5d92187b38549fd9a71b475b759a30bbe18884561756ea79573619cd1064b3e09a0448803a03c0dbc17a69970c646152071c59380c1341d207cf162aac4a99223200f84b323bf05b61c3b16035c9ee10afaefa8db062158e7303276455074994eea0bc022c20d5d7c44ae6b88134539306c1ed888bb640a3a0178878b09e9236ab07c7258f316caf93cd1b08866ec7ce36475ac2d008cc357b6575b7d4fb5907533e58329065973664d996defc74ff9c58cdcbb9fa17911349ca5f328c06266f6c1cc9af741a1fdc52c206473192aafff0449ad825aeb0b3b9e955a8c982bb72d7c03fe44827be69268e1a39d3e9643a7c11226d2fb525e5facc2268de19
+Secret Key: 05191ec5106be13c39a628581b9691b4d186ac402df4ca2968b682fd676f281b62cd4bb91516af705a7c58c2bbdcd4b39b443bf9a453076c279ee483b0e15995fa06e757224b155f1950a9b2113a3d95a50ea470162aa76b650417e91f172bcac4239ab9a897c97cb618f841ff652188a566f605ce163874896666c9233ac16904f854b0744c7626ab9e0904b18219be210bcbaeda18f4862fa820c09b0cc504b89393549c71015ac4c6aafcd102d3dc09e0564c4fa640790112aa963f67c8a4dd91121ffab53cc103e949c62cf909d9507748227741394a5075a2f2859cce5bc3ec3b4814719f2d72aaf41aa6bc409c08912ed0383aaeb85f606b01cd187245c1c9bee4c0761972c3f7cb7545a797346942e8a501564ddf9987ad646b99729ba6793e5b2854c14c1a28d1cf62904edab3a2d4c2577326643b2c7cdc78bdfe71093d76c621468ad24b96e8b82f174cb55987a5be20c7ddc51e36803dd02a8f4f45b8469231c4241f5d691ef173b2384643d82313614aa025202b8d036389f61226a14325dc4ce9f5297b527404818b750b32cb595220e9cf4920bf93ba172fe32a04f76a951812e5551210b92a9964c3b183cd7fbc886f720e03a3b0972b1b30d97e1885203ab522add1380965c3a522aa59f85035c0324a08bf95b832e856c7ed0a0ca59703ceec88ee73861898865b678b6f161ae7e17af3485ab3c06d8bf2794a7260de48415ad7b9d2013c5f211c6d62b739e9130a219af2039a6eb119a1223671322b03f70f00da5e8b3b78b1ac1b518ac10191b482ec6714a7786d3baa1c8b3e2210973bd7c72a109488c682b132135e89c4230919504cce678c0ac224ab1da11513a797cff84d12078156557e9305b88343bb41f4428ca93cfe6952c9c631e859696f5573f8274c56bb74ae5bce39b6978dbb417689870107c8126125558890de474d32f9be85dc46ab9c7c2bd5723937ab9c95924925711ea770061c39e5ca211f33065518032742b2af4bc55f614c0f0988abc99320f513fa7a7d263026ebd1a3d9190b8690ae0cd70ecf437e8160b458cc190ac39d7d80b9478326987031fe833ff196be0ee84542a40a34b5743b91698ed65f14b78af93a230f078ff890b956988b117519dc38262acba5423955851619600c9e86f803eda40767647a15f78507a36d61ac1b41486f2e4665a1e0b9cdfc98c382aa10b838b0955f7e7492ac50bea9d6923c851b719aba908881fd415c2619c657d859c2c9b3cb4510d3fb65ce26b329b4793f36457ce8b79a820105937f3f9a41dc7584e13bca6d663deb0ab41ee748c5575853261e98259b5e4401aa424423c37107e7be6cc9bf1f7b105fd03e81b882fe3ca635870764da106f89a0b0c322a0b3c1c33014d65082cc465b16b819f0ab162a44b04fc14ac320901ea4178e5b893371791c7c424993194baa95449887e3da5d8d96aef55034136ab50c389e3515ba4812c19ce720d094ae2b12207ab0b8f8a03926331707984ee551883b9651a3786582b995c6c87083700f87626069b9792f3a43da06ce570aa2c65ab971eb26849a9c2c5298aa2089ec02606cd19acfe77f9a249d21c139186a0e0e160797965e05653a6968ac27160cc6e2ad1f8ac305d4646181cb056a339e28802298818954c967fc21d4299da57bc798a28e5517791ef87b4d194172290a47981831d1c39f51057e4ca526ec41d6661bb3869c55dab2ae412712550c761b6edde10790502a1d7a7c8579a3001957b249006ab33ea1566d5fe622aa5142eca8bbfde2cb4a19c3e544b6604433d218250141977e73b5efeaae36f22cf6d9322ec56c7d228243392757eb1943e49d5d92187b38549fd9a71b475b759a30bbe18884561756ea79573619cd1064b3e09a0448803a03c0dbc17a69970c646152071c59380c1341d207cf162aac4a99223200f84b323bf05b61c3b16035c9ee10afaefa8db062158e7303276455074994eea0bc022c20d5d7c44ae6b88134539306c1ed888bb640a3a0178878b09e9236ab07c7258f316caf93cd1b08866ec7ce36475ac2d008cc357b6575b7d4fb5907533e58329065973664d996defc74ff9c58cdcbb9fa17911349ca5f328c06266f6c1cc9af741a1fdc52c206473192aafff0449ad825aeb0b3b9e955a8c982bb72d7c03fe44827be69268e1a39d3e9643a7c11226d2fb525e5facc2268de19aaa06784f124a7a8abff5a17e1546d6d67cf85042a757dadb04a96627e63ffb027b202751b0070f099e6862983b7e8ceb581169f0f18d165e88e85870cf588dc
+ae721587a2dcb97fcea1c19794022841d72ceeffd970876ef32f2c7e7ae014a6
+Ciphertext: 0b20be6e2a80dd26adeab576c3082771e17e506e6fbba8ba6ac0104c9f2aee9e7bbfce56db79328810f4312d2081f189ff5b45a192ec447e47b2ae719c3af4d3071d64a383ff9b29b1809ad0b761a20a5c669746042ceeff08c565f11ba4e4b8a66d7108617f79e56d760207a49fee667daf36e8cfbeb79fe078bed8929ba9159b8a89de81153b6682a49e7424b822c5d227373f061f3ddf05c5f496f3d83682df0e23f7b745fe9a0ef7d2e22cb84f54707bf07734280d15ba7d6bcfe505e259e1784850db6b3724cd9de1c9d0fcf12e8a28d1fb81ae5de277b02a9172d8a1195e9a0fa58cedc77b45023951fa6c05492eac2f1c8ff51f88035201d3174c2b0dfc898319b436b6bd91357b5e59ad2b1730b1bc8c1fe9e0a25783336d946146bb9ebf0d833b1f52b0fb3d282e917edec2a39aaee829242cc988e9596bb9f3045bb3fd00f478df06dfff65d27ff53d6239f9f439c687b3a033508cfe4a5fa52cdd74f8b0370e2a1f94fc7a0eccc32015159762064d130475c7d1ac2d05cc29871f8bb483848e93fed671a78ddb3ca81196df924fabca790d651dbfcf45fb8ac3d1de8c450cd52e3dda31cc2af2b2b2e9dffcfb18340415fdc6fd8db8f0118e5a0595fd53d50d2d48ee92134a0d609ab15e30a15b2702d6bbb1827309b223d2166e7413185689de8cdf295d676f6a8e27a6e50227ac65f9e975e31fa95064f2748272a101b092e16034bb652982205fe5755581ae40584a1b19aa2f4db29ef935a9e9c2d7363f84811180cb7ef06716f033a45da7563750234664c828c240d7bf3678d094f4f8d989956528b662c5567c83f18b9f61b295cbbf2ab0cced5ef486130b94b2624b9c935bfc63a3b5b83e079ee6c3f260476276b34528b03355865d4298da222920787602fba6606689febba4173a103d11ce2c2271325d45e9901775939a0adcd859c6ec14e90e74cf59faaf2631f9bfb1cc52e948d77bc5c52c11795974c7c2ee30bedfa58ed6f0f19bed191d6b1c5d45f70f1f5b54ae1fe99db3ab785ab027303d660b07b729f8b4f013a71af9468f47457e2d39d55765f39867a7
+Shared Secret B: 21508aefe2eea784a97f2ccb89435186bc28e3817d7b920662dc7c83f809ebec
+Shared Secret A: 21508aefe2eea784a97f2ccb89435186bc28e3817d7b920662dc7c83f809ebec
+468eaa83b1c9dbc02dc1c0316806ff1e1ce715a92257f7e7f4ae80df3511f687a5ffb2e8c9dae33f79a2e83af7b2da6e438db29c0ce8c28f3b0847c6e09dde534f50139cc5c737126d9af8c11add76551e4bf7425ea7cdedf5b8e854e1f11ebf6347a2a024ef49bc058818f37b2b4b2d7d0eb2b3f43e17815d29785c38f6a8bb22c5e8d988df6142e92f86f4abba3e95144d9ef8873b46ff5d52bcc45033f1b5aa047c1f370b782f23e687544651c4ff26efdb35a198ff5883684fbf098f46b348ae7298703495f9b00b204cd9146a5253b3ceef95fcbd0dc0cf9113be5ac8242f2a0accfbac50abda2309c31234b5aaf639c305a168df23130935a35f650a27ef12e884be86c8999c861c45bf8455caccc7b63e6e71aa64021a1a40dc3e9d38d94b9995d951337382da30535d5878475f7db002460453b7c2a4106fde9e01a7f0bb7480ce86231f50408c152990189d47e5faec3f24d7649a7ff28edc61c359ceeff236634a39dd729306c06bc30f82e2171256fcc9a751c9a3846e007c964d7bf353d056046e9a21cca12c3bfa4751131e34e25fe112ced20fec5ad64296555eb47d5d30755a9d2ce227020a5c49cd7801b48718faf2d8443d8c0ae45feb46b3d56caae7f8b453c7ad4150e58ac9e366705784cd42ff42ff0b07f25019e414f7782c18f09b81d9a361d1ea4e771c8c08b83aeae3a6102800068c2e390a374f4d77659c5517ad228f688ebb73d41f9b7dd2b53be8b6137f82d5392dd237e771ca630ecd8050468c7c976381372e47d6d546418bcabe005f96d72164cec81232dd9efb3d2bd58c3f83fbf8b0eb9ca2d1dda9e6a43982a3c6dcb5db5a93dba679defa44d233cf713c957914389be29c46dceb803f394d4c361004a3823d57ba17a0040aa3ed39c66d679edbb4c0d37e72f3ab73ec3d6575dbcb67ee4f76aca80b0bcc4b120ee953302358d9f05cfabd8baf79ce17f2ef5963e15577d353b4872ef1cb733ca4975b101850351699f0ce45ca452c48ef6cad2dff81caa1f5e294fcc120221db2254b75665a7b65f2632ed219acdaaf354e7f771b4b361e3775c1b1
+Pseudorandom shared Secret A: a806ac258ffe54d5b464dae8629a97971ed73bb8cae7a744a8189dc9118d5ae2
+ae7378f7dedc5349e0c457c02b22c4b2342462ab12ae857eb28f212ba6d0ef1d7cfd172e910b9a2f5f1759ce9f6ebd82ab6ca130080b2cb7539ec8cb8553c6aa
+Public Key: 009309c788c50223bbf43c4c39f58e2616bd032b499f924588047423cc5cfe226f7c410332d4399ffb636848157a59810fe16117f8c668467ebbe36bacc468217041bd282b1e4b9e30d5470da905bebb7114f1c2910498fe02713be22055db678583a502c89414353437f9140614aef1f1cc64280354b15bb7faa1c5db46ee36aecc86807fdc3a8228c55df5905c792910a8999428bd8996b58db658433ccc15eb962d976b9a8aa325921eb6d69d7f74b2285c6e0bf15d272391dfc1a1f77280f8f96d47a6086889ae815a2791560486a0325e802731c5532d9a28998c8888f164c7c8a1722855fffaac452b2b81c086fd532dbc675b63d5668ad812d9c914b5281c81b2924ff242c91b6e8eba903d50bbb28777bad573b1858689f527d8210819c553d0139fba46b7168504a1dab7ce86cd48135799f5bcee04b71b30a00f04a1792c8f40d21588fc2b41d30a5de63886899f03d1a18ae052ef75cd21391ed2651fd0ba3d253b7559101de02c5978a5b56b4a45534654247674ea7546b31bcfb7db203ca8b31d7832e5526ada635978ca4ce1b37bd4986671819e9e05cd63301b4dc94de880cf9e126efff88b941c0a67052cd1b034ef81b1c0ac1a55936f38f77928330e1866c1faf97945ab699bcc124d572b4bc42bc64c1855a1168de5309c6c8bbd57c95405c40c00b6e69cb6b81bb05709b2692b762b59abdfe64c3f938774091d6e3c8cf099aeb0fb227db31c6af31ade50509b81488b9284c78656c5c19c0082ceb0507339e7bd7c56cd4736714eec3e39298c6a7a2b4a0b3821ba92db437fe166c62507c19987267f21c3aee60aeae320ad435902946389933e86f8196608767cca28ec8a5281daaec7764c5161ce02357821f221c47a5e68f339eb0a94b308581bd98518da07eeab357711aa07241740889ca59c4c8345a169c3360b5c14b4d39fc9339017a16e63641af9941e31692e089415b993ae81a3a027b23902517558135d0677ccfac13067c3ccdef104a1d123097703ddb88c2580c0a6bb747250085ca454cc1292af516455037091dc38c71b8000ac17f1331a1379a0cfc3bf551ea503d8e8d21517c4a768f8fbde6259dd54ccbd9a5d4e05f09bf47a
+Secret Key: 3912a605f124576a25f1b14578ea69a268a02cb8b385204bc6686782f1072af18cb529286961585a5054853a27c4133fa17080059ca1d8c043ba91cdff02204a09a74362ce962b0fd9063780f5afc9649e67929005989c815ba423d2487cda3925e0cc2d1a440cf6c6b9f1b886e4ce30b29cc72aa785a404f1b449d1d056e04a34b1636bd101bab63aa60729ca610b376466b396d349e6664f8de45190961b92b4651f5c72db349a34961bac5b162035ca7c431190856eb2a91387216cc83003ff96c9a7b73405277b4d3a9145005ce1466ce009cade89575d271185705ab9c162d9b78b85a5320ab32fb72462efa947eb7b2825e56798b150e303b8779ab0f92a1177161c83039bf76c85efe2159c82c11f358911ec0cfb140af5ebcd5d829fda099ad03089a550b305398bc826c3e008a276b1c7156264fc63489c94550878cc6602bda209b422539a59e016c541b8011787f8fba957f80331a794619757b3cbc08118551e454140e4ba252bb809a99b6b105a2133b8f18a08e6990dd107b3f2a84d4a3ac149380260bb2e5712bf0669261f025649624e3f88074c578e26093dbf179bdb11649844c3689c3451a65cee29ac87e85b259c37ad26affa927b84183e3c9c5bb1c0023ed9108beac812180d97aa30d1b43fa40b9e36a69b97a977b79345734ba91622723a0b573688abeb2850a9508828115a5c033b9a387fdf6b50e9851c1ddb3e5f1723a9ec398911aef5dabc0ad68f01942ec4992e40830feec56777699e1c429f46ec461c5632a9ab40ccca5d1da473d6d31e05b4bb4c096a17765a9351c735e18083944b46b05f49a457487b5d5058c28ef7a3f4b06c26d6485dfacd68a57d2a46c99d277a1902916a89bde3c56605632892f4964b214432c13345c8cc2b23c0dd1a26b232ca692810a1068e5e32b48b448aef21465b706d76218ad467cfc3950552934ad2502eab4613a3ba6e1da0a2b7a1c0037265aac3235b6819e2b66cdc95c9c7d5a063e20bc0b7484fe22e14c55590d6ba8761bf393572e727247538cdf6f645e9145f57717cd1c3587665a92854a7ad043b41540d009309c788c50223bbf43c4c39f58e2616bd032b499f924588047423cc5cfe226f7c410332d4399ffb636848157a59810fe16117f8c668467ebbe36bacc468217041bd282b1e4b9e30d5470da905bebb7114f1c2910498fe02713be22055db678583a502c89414353437f9140614aef1f1cc64280354b15bb7faa1c5db46ee36aecc86807fdc3a8228c55df5905c792910a8999428bd8996b58db658433ccc15eb962d976b9a8aa325921eb6d69d7f74b2285c6e0bf15d272391dfc1a1f77280f8f96d47a6086889ae815a2791560486a0325e802731c5532d9a28998c8888f164c7c8a1722855fffaac452b2b81c086fd532dbc675b63d5668ad812d9c914b5281c81b2924ff242c91b6e8eba903d50bbb28777bad573b1858689f527d8210819c553d0139fba46b7168504a1dab7ce86cd48135799f5bcee04b71b30a00f04a1792c8f40d21588fc2b41d30a5de63886899f03d1a18ae052ef75cd21391ed2651fd0ba3d253b7559101de02c5978a5b56b4a45534654247674ea7546b31bcfb7db203ca8b31d7832e5526ada635978ca4ce1b37bd4986671819e9e05cd63301b4dc94de880cf9e126efff88b941c0a67052cd1b034ef81b1c0ac1a55936f38f77928330e1866c1faf97945ab699bcc124d572b4bc42bc64c1855a1168de5309c6c8bbd57c95405c40c00b6e69cb6b81bb05709b2692b762b59abdfe64c3f938774091d6e3c8cf099aeb0fb227db31c6af31ade50509b81488b9284c78656c5c19c0082ceb0507339e7bd7c56cd4736714eec3e39298c6a7a2b4a0b3821ba92db437fe166c62507c19987267f21c3aee60aeae320ad435902946389933e86f8196608767cca28ec8a5281daaec7764c5161ce02357821f221c47a5e68f339eb0a94b308581bd98518da07eeab357711aa07241740889ca59c4c8345a169c3360b5c14b4d39fc9339017a16e63641af9941e31692e089415b993ae81a3a027b23902517558135d0677ccfac13067c3ccdef104a1d123097703ddb88c2580c0a6bb747250085ca454cc1292af516455037091dc38c71b8000ac17f1331a1379a0cfc3bf551ea503d8e8d21517c4a768f8fbde6259dd54ccbd9a5d4e05f09bf47a15f9534f781d7952278860ab0b7c67d32c582c90c1fad7f9a2f3e72551097db57cfd172e910b9a2f5f1759ce9f6ebd82ab6ca130080b2cb7539ec8cb8553c6aa
+91cf742bbe0870e0e4d07191bfd0f61e5da688d25d69e50dcec1ba587d7c1998
+Ciphertext: 442bdbad3d5b9daa03fd010dade0e4c30ce20319c6f31b94378d87dedc0d26389f70df0b3ce7f24caa22a49d1a7a54c9f5d7b7fb7f74c54b47c554d7ccb75e8869cfc1cbe3303c9325c9784169071e1b5afda5e7dfe23bc197caa221b9e97d6a91b883ed55fb2b4e8519221995988b53a4fb85b0345945535ce3130eabf4505d01d115d02c5060382356ff83a428f7e159df3061f1cbb21eafb2c1830ac20fa0a434524d259343c61b870c8939292b633794aaad9a33871c020b49320603c744aa462130b2f8337961d473c61a4fe0b85873b273177a0a02c05de8eeaaec383716d83f7ee559293125905d04845967b89a21151a343457f79d8dac575746a4ff4c6fad7fa0bc4d8dcb11f5f0c87c5f55fe6d85be164e7b37209a1015a35b99271c5345f674d7e71703d90885ccaf70ec70654d0ca2f51ec7e1ceb7dc0ecd454fe6c22f36a6f275d94cc1c5501ee63948dce7fe050a0972bd29399b11a3b11533c80bf358300307cde33223058f6f92a6a073474b0a0e9c88f5ce4f3cb3bdbb0ad5785e1e7ea0d7ff9233b9ceaa7a47493e943e1761972dbbdc87e6091f49f60c409324727c09a446d0d90702182e8e5836f8c30425a5693b2db901a928442db20f14a95f87e4646cdc958216c4fe5212aa2bfc5e42d0e03a8d9dfadc4163695cfbc734acdc37872618a6bd394148e8499ab4355810f476dd7e44f7cab2e40f6041b1e77b449deef5f8298d6745258d274e24ab66c3e795c4a506c3b8c2c19208ec239864b28ea30669f291bfb569656349c45c1a83df7cbc8449b534fee6acb25707cc3f03fbc8999b4a2f8fb75905246b026c7123afb156396d58d56b4bdf9c2485e3d035af5eef632c316df1ec8a1f7faf019f772bbe77b67b656364e6644377b82e15bb573ac3d95a59eaa696b3dd2499d7cf9b549fe612c5a1e0582ae16079b5cb16de52c9c51a3df3bc7bc691b59e01dd33e188108122d43a1107f2a4cdc2b1255547a8fe6c8523c55dcdb42389bf483e7bdc2e9325647388406a389f1d1c290c9e9fe4443e9af4ca2bdbe716846146ab55b0f406e6e27fe278c5bc480e
+Shared Secret B: 90d2fe2e9728e20ff9f62bf3b45a86ae0486d58d3d686a8a28a4f31031bd8c68
+Shared Secret A: 90d2fe2e9728e20ff9f62bf3b45a86ae0486d58d3d686a8a28a4f31031bd8c68
+d7fbec2271c2a5020c0cf3700f1bd0897143f993324b174f94f77cdaa2c5ccf41af152015adf033f596a956b141a4621b27d9d7a6695642c66b8e72bf53abba62575eaa8993f8497e969f8208adb0ede5c56c8178ddfff56152ae41ed1a31401b6173d8b793b53138bffea90ca7a65004b45c3ad2f1738b3bb1e427b6da290c71a74405d99bedf9eb6f3d7984f05bb529be44b76c7c24c3b0372c62376774c5464299b1e04e282963cdd64bc8ab917f2f1686d4da590368074c81f52366d5c3b81f44165048e2c5415aeb9a398129c79a0fce7149efa4b5d12991a3b3cdf3261ba03374e136b7d4978bb41b8fc1b29d718057ec8d0b4609319cd54af91522d0b732034740403c9987a3d152cd1c3d3d786644f12c8b0e34ea4c1d86c2f9f755154b45b5f921bfc3f54453533346d22e6ed290493656873a6f3ca3fdf310e2760ce429eb1173590641a56f695c2652bd92ef5ed6a9c6ad853f82745b1282cd6417f961acc458a94a07c4cbfad4e959652b7c24781bf79b20b1d7c439663a0f2ceba023f638544720eaae3153033f9b6e5c55e1aff970f263182e5729696c4820653e96d087ccf6577fb6f9296685d492c2241e174f8c14ac88d9e0c9d2c85d52838139de412ae966676a21cdfd4828273f6e38b47cac68404645520809cb167561f9be12e12e6dbe60dfbfd208881a64f66381eb05aeea9dc4b97800d97018ff0aafe9fe0766e8159980051bd54d6a3ba94382e2a03221a3144bd32a09984aa05ef427c34b9d0b20d39d3da4f9ec24314494239062c87376869a7472647af3926fbe9eff63a4887c7d853e68aa8fad5d5340d69cccc22ab2dc3235ecd4b857baf744a5c57607727e7a12a2429a188b2a5783838aaae80a3f6ffa126110a52f198277947b0897603f1fcabf8bd50d9527ec32bd6404445153eef45aee73327f4d99ff9ee7c7823675bd3e27acd5d5d24d230c24089f4e2c3a38da9b786d267ff36aa1c47752ec22b07cb8c00265ee1093c65c8d6c6447c54b53b651ecba0af2bf41aa0d658e8a6b63d95f312a58df64094461a039a8f2f5d4bc4e83f2134a5685e
+Pseudorandom shared Secret A: 0fa137a299fd1a611708ed7366eb1f3f179d821275d86e9c86a5ea52e20dfa75
+b26eb14556527c4aeb65eaa218a692ded871398ea705c9acf3ad06bdadfe5df5a0b22e885d47a6f1c3d6e96a66b2d37ad1142f27c6f70b7f98abc2a2e7374612
+Public Key: 6abb4729d43fa2f5150727c11551a13da3c365d11fb7abb121a18e290c2eb61c594aa0086fa19fdf55028fd21e7127752085b1d465624a9a94a3e6084da723a85c2147073960f12a08aa657741aa37e3c9c2cb01bd3b2b79f9ab5a1b13015896a0e816c1b23f4cd49b0b650537466e263192bf0638286b7b33f60d746132ac08b1c8545dc4f8a6e7fba136f46b369330bfd522f3d7707df61fec879a1abb04fdac8c58c2145d8329171c18aa1975034a9c26b7b3b84ca720c26f58c2270a36c7f9651240e50f7948001153bf9d66699f826d1d100377887fada99807c952e66c06e0567b5704a7b444095af5c97ff3a4131b5794260e9f60b29f4ac63329a3869cbfde59903dbb43aea852f3ca759fd1cdd0b39ad72a7ea9c90ab057a42e131c1eb631018c3dfc68c48ef7ac7e9b8d00bc2ae60702be6a4632a4547c55ccbe414e576b41a81b6121789ecf16346e46333c2c8a0c503e8cac554af88da644b0f4555574bc3aa9b14768bcc2b5e2a9baba6f2c06778c283b5cc09707ea1f2cb40d1fe4a3944096054409625356f4865a8fd7054dfa85a3d4512cf515d7c3450b906c7d21619c41cf4ed3959850801199311552505662520f320e98952ae6bb0ec97393a3b1563cecc548240ee1d027e77ac2327262340a97eabc6db5112763824a3f070f2576aa6d78376b444611d0787e872c5aba19e1362a6227b1b337a168864107046ab86ab31d8373c648839e4825cf672d69007639475d33d949940c0e6727bd5b863683c1b7e6ca2c83129f62488887cbc50f192610548e39390938e51c20e8c0dce7a8bf668c966b397b38c83d01a762805af8494023ccc1b03ac93a9366e9e526fb8906544626eb7ba1446c11b0d50e1b74155a109e28d721149472d6f70b8be000c42a64aa3c70549018ed86101563133448033eb374fb5a8ed3f87b78818dfc844a943b15b77c596554b9c55096422c91d549b6b7f14960c068958c3495b830e2326618f5533fc612f938bd441541500551139833f41a3ecaa6911956b89585526b4a3e977cb00d95581fea70fc61306e8b87e24aad157538ab7554b196ad7214d0578dfa0ec889ef1a08b5d8c7e4ef0c3bd5b7faad261c1041d64c
+Secret Key: 688291b0ca58844a845a8331a54b60bd793c3de634f0e90f92a0105cc91cf3965fc371cc0943b3b42980b5487f2595a4908796f4c7364002417133292d9257bca37222f90e4d273b7e071b5db75d4aa6a3cb65c85fc6a902c5280d3b87c6709a52441ece3b7444bc6713590fc7f13c9310a0e53583998951e949cc78cb231ca512cd45c654f0b6a1d1625c844820807d529508bba48055247738baa255155a42b43a25bcc3450b29ae8882e525b5acc228fc736eb1da02bbe1ca6360085d64a6f5011c9e17a42ae8bd40360fefd923b6c951f8dac6ea9324871a9bb2123c19570ceda74a77b8879ad28ade66357fa92ef2179f7b7ab61690135468abb569b4b9102a17ec7e99340bebdb39ba4cca7827c409c089f82874e4011d258a473cdc420b98951c1b10789a7a3c4386446b65c641a052da0bb90a05d2622250435878f2086f13c8c4881f04e00a3e31903a918d755789806369de64c494a6400b146d4bea7e199a56eb802e2f8c96a195c0462073e82c9d13a81c22a829ef972d9e8c4868a11b24c97c2ee49bb4b86ee0e331bb386b7c635479710d5a09073077389043bb46eb268673861e6ab8f9d3211b991df6e744926c01ebf1ad41cb6b29e71830146a0a22a95ba554c57a53ce94bb3dfbb632f937ef88222e1161a0c277d8677669391893e89893230448b149d539275c577555465eb8096edd95a2519142c6c2976b05c73d064352a9a2e1c548b0eb4250d4aba3309b73dcab35acabc572c849846fa0263d95123037857a2d010ddc633bdf93727d9085737607baa00ce38c626aec8b85c506b3cc888626c30557567a4887609036194581580b41cb28c5517b913ae44e08dc740de7b50863cad0b888379988c988260b37c6457811aba353bdc40c5ce418b8b436e041160cb731b5c901bad74ec7c375f9825084566174e0a62615681e171b91d49857f4889dd0b31c558c90407bdec7bc59fcb86bfc9cd0f73f11fc25e0d10a9b57cc1e889000080a381895eaa1bba16cc8ebc10cc6cb7e21677ec587237696b49c329767a504cee805df41be2dd8c224206501d70e04a0b66abb4729d43fa2f5150727c11551a13da3c365d11fb7abb121a18e290c2eb61c594aa0086fa19fdf55028fd21e7127752085b1d465624a9a94a3e6084da723a85c2147073960f12a08aa657741aa37e3c9c2cb01bd3b2b79f9ab5a1b13015896a0e816c1b23f4cd49b0b650537466e263192bf0638286b7b33f60d746132ac08b1c8545dc4f8a6e7fba136f46b369330bfd522f3d7707df61fec879a1abb04fdac8c58c2145d8329171c18aa1975034a9c26b7b3b84ca720c26f58c2270a36c7f9651240e50f7948001153bf9d66699f826d1d100377887fada99807c952e66c06e0567b5704a7b444095af5c97ff3a4131b5794260e9f60b29f4ac63329a3869cbfde59903dbb43aea852f3ca759fd1cdd0b39ad72a7ea9c90ab057a42e131c1eb631018c3dfc68c48ef7ac7e9b8d00bc2ae60702be6a4632a4547c55ccbe414e576b41a81b6121789ecf16346e46333c2c8a0c503e8cac554af88da644b0f4555574bc3aa9b14768bcc2b5e2a9baba6f2c06778c283b5cc09707ea1f2cb40d1fe4a3944096054409625356f4865a8fd7054dfa85a3d4512cf515d7c3450b906c7d21619c41cf4ed3959850801199311552505662520f320e98952ae6bb0ec97393a3b1563cecc548240ee1d027e77ac2327262340a97eabc6db5112763824a3f070f2576aa6d78376b444611d0787e872c5aba19e1362a6227b1b337a168864107046ab86ab31d8373c648839e4825cf672d69007639475d33d949940c0e6727bd5b863683c1b7e6ca2c83129f62488887cbc50f192610548e39390938e51c20e8c0dce7a8bf668c966b397b38c83d01a762805af8494023ccc1b03ac93a9366e9e526fb8906544626eb7ba1446c11b0d50e1b74155a109e28d721149472d6f70b8be000c42a64aa3c70549018ed86101563133448033eb374fb5a8ed3f87b78818dfc844a943b15b77c596554b9c55096422c91d549b6b7f14960c068958c3495b830e2326618f5533fc612f938bd441541500551139833f41a3ecaa6911956b89585526b4a3e977cb00d95581fea70fc61306e8b87e24aad157538ab7554b196ad7214d0578dfa0ec889ef1a08b5d8c7e4ef0c3bd5b7faad261c1041d64ce8133344daba9d84a5eec82af3529f333026f03883a0aff463f5bfbea7b90d02a0b22e885d47a6f1c3d6e96a66b2d37ad1142f27c6f70b7f98abc2a2e7374612
+fa008b1e63bfdaac48de130672701698d48863a2e55a62e25e892c73fd40d9cc
+Ciphertext: 3d685d8b123b5f41f6dbd6ba6d0f3cd399cd1b4f481f0cb65f0757aa3e6f60d8f61a97c9afc6b907b4980f6a8faa0a14f44405c98ef5d636d4f6791dd12dd1ff6a67b0e1c9008d4513ced3f00a76b12ca1fa76610b4754722a61c7f2cde81ece5306301da632e72092636154500d0fc058c25465512e0fa97b6669439256026ea298566b0b53ac69ed76c91cbb48b4e60d96e59497faec4fce8f0bf7aff20a2905e0715995607612dcdcd935bbbc054a16f4708ca42ac7869b226dac537086a5d55920af6173d027ccef732876d5c65090d1da5ba62431cf41084dd216e8944f24ecc79eb6683de098e3cd8da673698f10f39988635c08671799fc1446bdff5b00d2053e958bc71e444303e91b168041d47bcae5cd12d1817977be13e0b40b318bab067dbf0568af791a8a044d7edd7d24149c753aef07ef0c4625fa4ce270932f0d5aef36637c50a9879d2094f17fb685eb75a3ea8e71a0fdd7fb1b82f822354354ddd4fc8483780da96b1223c699daeecf82b692360ff214693bd759ad5b0ce88cfb80a2e81050aac05f034ded0421a57d392ee7dacf394b027f4a77a5c5ec45dc4b70d5557fc58377e2491d37fee108da6cc38ff81615d435cee9026bfad520276d51088fa63026558a351a57dfd427f889fe7558ba079e60fa2990c10589df2d7f5746f7577b0dafc2f4f6daa6bbfce154e281fa6e8ec88e3c5d09f88303b85c9080559beba9f30a1bf2f61b31afe73daebecc753465c74de023e6f6ac84c3d01910baf808c6f2424c986bd903812a069a86c65c5d66fed0d5210f74c6da382aeb4fffea22b2b1bc7d069d5a4c8fc1ad5f6e766e5fdf5e9f0ab7e1864d7debbb16305c23aba869bfd972509fa288ec5a797e70e5820b8b82d6081501fbdcfb3986d6a3eacd45373498d81c9b0f2e6928e29b21e756cfa3d65f6075f0a9582ef9ba64969c1ff5769261c2f078119084c128daea94e4e0419f165e2daa9f076138a94d70cc886188dc7bb498e2ddcf22fa3f01f08d2a0bec5286cc68da9d1eb6b2eed33e50b1cb29b24e24e2c6aa58a3b94ee133584eb44ce6f06aecdd8ec4
+Shared Secret B: ccfe597b34974ba99c667f62a2523bdae48f3da43a5e987f7afcf83a34ffde39
+Shared Secret A: ccfe597b34974ba99c667f62a2523bdae48f3da43a5e987f7afcf83a34ffde39
+891e0c691ba724e904a4950544ea23315ae37dcc34d283d4dfe77e00823391efafa3b9686c28434450e0dfdab7b548a88c50bf1ea48d96cf38d8ab3889c5c624e5f04f390ed74688d5fe010a77c11469677ee1411576797dbffa3aa83c9d061dacfff4d04b829821dfe0f628c99def63a0bacfa4e575f72636f216d414e94d379db706240eb536a2a9d1728d704c36c55ebe4867237738d654de85b46a6a433b000ceb9faf942965c1103aa9dd81721c467eea4d8d701e14932ea0bdce5edcd5d0d999ab98e2d5449833cb7ebe958a6b8f56f159bf0266ffcfa40a21082318d413c98002bd43f7cb26687d1dd30f08353ca39e0481935e1e9cb47b9fde71aa773fc30f629f7fdcc100effa4fd31908444e0e4fb0baa6320409c7b9f0654192fd44391b22c456a59acac2b7e574eb71f87123df2721b8c54a1b06d124c64cd20d4973ef24b10335f3ad3c73b3ab50d297c30ea25fdaa00c520561f9a48ad1b7bc2820f118abee5905b9ba8082e1a63f4cf9b85fa2e9f5a0e99e59faac1193502c9dc9008e5f5a4e8f485d977a9a47420221df58c874d76c8fa5450ea826798c8faba9afc02d22f5f8c295f84d8c53f308962cdf6e1759357256c22c71f7480da10970f99e4d70f08ae26920cb97b9c6f45ca90718c4acb1cc84e8abe995b6fcfb8ad4508d6c22ee594c367b2836f6d5f5493b4adeb8e2e1d526ad8ba6fbb15aa3f49e25f1c71a5ed88cd137e5c7f8f5a19ca7a676600e2a61f2c19f063a6eb59b02829c18e1dc8b2782648c68f81dabdf2ba31e27959f2abe4340b70f8b2ca3c074539ae297706f2690927d312a8c8a619ae8efa31f36ffe2796fe80ecbd70819506bed5e8ce1db7cad527e484a3676a65df4c57a670cae69dc9f4ca8a15fea1bd4038d2c2305c538bf504f87997caf20b4896388c980cdb7e54a2503ebdf73977fd7ee370a11c49e865d29f2b8fa925f53c41f3b47a86ab874114a3d555d8d4c4dec106d47c468043eff78b3f9f0578fe3a844b9f98274159d7a23ceb9b2c83ac5f9fa159bf2d5bd6aac83246a58f697168d12aef2eebbfc5ddc4751b56feff8
+Pseudorandom shared Secret A: 347761345a6da1d43448233679673583a8034566fbe1a83852340a6eefef0915
+5815c632c82d2dbd02a7a3cf1ab8153eb3d3566e79ffc3d21a4309403b6f5d44a970adaeed596d1f0ec8180ec996b4b55ca37cbae8ae811ca8fdbc0770d356ce
+Public Key: 0b4c01c416156b93ba914b9cc6c08793b45a7c073a2389035ed1491c98b43fa49c9a28bcb1dc1ebb9a9262bb765943be35a54575b82c83273770e55493043fa8d23411f0b2bdd32ea62b7e06fb37b8d0c602591c709b16cca395b7611457b32f8b7a705a6b304d0c195a4266dbf8777a4b0dfbbacf1dc404f1a3c7f438ba053622dd9b984f67c3e7667782c2a0ee4a2b5de3487364513f1c3cf339643b6907b8e246bb45708f7cb0479714fd653c5e53820df395b8245efc09bd46915bf6466bc02130d531403ce16baf7a913647682905a74f61cf683ba7d2584974f29874cb063358505d534f4748142d44adb462b655b5aa65b46b0fe8c3cbb53e7018b4bcda3727b685b1e0bd676056fa803e854882b2177ce1670e5557643a4278f680ab4e4272268a55ca398ec1f11cabd74414c1596e28295205290e90ba4b12697e83374d8931fdf61839a79541641f35521a8f9a36dea08c72e27ef3d146ef424646279dd4f21fc0c59fe7d6adaf695b42c14f02b986081383fd597c89dca86f840d5623052dda3139027cb6f1cae6f1cbd8148282c65bf94675a426b369a3490cdca2d907555b2b35e1faa4b6517b65327bf3056fc9b65ee2d5202237290d327996f7034850a9eccb9e7bdbc0d9598d831a4907e2c46299bf9c0bc9f174cd253cbc1ebbc67fe063a66333ba6b386be564a206ad7d66aaf8e72f94033cf9e8c703f10e60d3120a11c886ecc409f376925149061239e7f2cb05c9699a85a64f94042ea235f64752347079bda97ef4815e407b7b3f1a9898f629558a8647f551a9a569dd97022fa20c81f99b7df599e8596200e469eb83882d0389a9d8355e73bf3c426fdeab8e60fc321fa14e75003391386df3c86148f4473dd871360441d2035d0c029b2b2a640eb31ce8d23b86b44a7b2180efab5c3de02176a52be2223627d8488b28bbb13a0077ca09be49adb61bc33900a0d6071992bc58d4902e3143517753c4364239b103a063fb06c87754f800c909220fe50a8ecbdc9c77841b47375de626c6fab23fb5bc0334c753dc024ad20177c5db856943a3e45339756538b32701f48d45740b5351320e0fbd041e8600617bb8b0726c99c0dfa8740d13e894a0e4
+Secret Key: 8eeaa87d8175e78274db1ab3a66a6bd9211c50674d13f960a8d8a1afa6ca1fa3003e5a14086b66456b3c328a71c30b16ec333740067f91c567bd744fcd086fb6e65657faaf2de50f1ac0c3e687ad97c204a6f90471965850456a35ab73224b9237c9274d5c7df7d5b498b435bfaa4bbc6b9b458c9b68a197b95713de612703b28069d4830a00a0970133e5c4885bb2972931140342223b58b5dee5176b85c1ed77aee483c5c2b8bb136ab2c4ec1289bb2af2fac941dac07119928f19be544772b1bbcdf03c89b59bc605a6489c7813ed6450b2806c86b0b39ba4635cb13e942859dab56e9069340832b2a3b03eca190b56ba18f9a43eeea627cbe43cd8f07f2f8b2fa4f5463c583f17805269ab1f9544046d9b35304427e1b451b1fc0edf4819cd7645fc4356e8b75393160e43b51d6315cb9c3392bdda2dbed38a8d7c237fcb1d9b6cb03ce9b52a4c828471a9775896c9a0474f1c77a356b10f8212fae128f7529a31b4342d67514d169db714617920b7dde0741d1bc499417b68713bcc9821cb47353b2b3153c3961ed2131aaa4543d77c752c4873b0b115cb4101d22d2eba05fad12ad6e0541eaa298310114deb6575b9c0ce423afdb3687161c487074d39ca6b7d288df30c69fa19c7d174a4ead083371427e1b689b7194c0f4282168c65cddb8bd3418a16208925b43f92123440c78650395a5a40041aa38a3ac79e7407516aca8c84a3a13403bda8f87c3350a48105cc8cb68031d788b732aab6e96e96b7bfbe482855957917c3ac180853161770183c29b6d57c4e9146db7a9fcc962fef06081508a62b81903e04a42f74943b9830d4017d6b485d12a18b53a37728f34a91d83402eab3b4bc02dbda522e553ea4b47997e34b4e0594ce3ba58d742da3a3394f6415dfc9990579374de30c570b7757c13924296f25e21a434a1bcb3536afa2b616766be2462de9e00b709079bd585fb13183b0222a30f092be14479659a7f3b758012ba3a04424bf0b39e265b8f2573e1c870219690bac564fb3259c2ab3022887b5ad876ce2846bd241ce2aaa26af85b66e6253488725bc4acda39b040b4c01c416156b93ba914b9cc6c08793b45a7c073a2389035ed1491c98b43fa49c9a28bcb1dc1ebb9a9262bb765943be35a54575b82c83273770e55493043fa8d23411f0b2bdd32ea62b7e06fb37b8d0c602591c709b16cca395b7611457b32f8b7a705a6b304d0c195a4266dbf8777a4b0dfbbacf1dc404f1a3c7f438ba053622dd9b984f67c3e7667782c2a0ee4a2b5de3487364513f1c3cf339643b6907b8e246bb45708f7cb0479714fd653c5e53820df395b8245efc09bd46915bf6466bc02130d531403ce16baf7a913647682905a74f61cf683ba7d2584974f29874cb063358505d534f4748142d44adb462b655b5aa65b46b0fe8c3cbb53e7018b4bcda3727b685b1e0bd676056fa803e854882b2177ce1670e5557643a4278f680ab4e4272268a55ca398ec1f11cabd74414c1596e28295205290e90ba4b12697e83374d8931fdf61839a79541641f35521a8f9a36dea08c72e27ef3d146ef424646279dd4f21fc0c59fe7d6adaf695b42c14f02b986081383fd597c89dca86f840d5623052dda3139027cb6f1cae6f1cbd8148282c65bf94675a426b369a3490cdca2d907555b2b35e1faa4b6517b65327bf3056fc9b65ee2d5202237290d327996f7034850a9eccb9e7bdbc0d9598d831a4907e2c46299bf9c0bc9f174cd253cbc1ebbc67fe063a66333ba6b386be564a206ad7d66aaf8e72f94033cf9e8c703f10e60d3120a11c886ecc409f376925149061239e7f2cb05c9699a85a64f94042ea235f64752347079bda97ef4815e407b7b3f1a9898f629558a8647f551a9a569dd97022fa20c81f99b7df599e8596200e469eb83882d0389a9d8355e73bf3c426fdeab8e60fc321fa14e75003391386df3c86148f4473dd871360441d2035d0c029b2b2a640eb31ce8d23b86b44a7b2180efab5c3de02176a52be2223627d8488b28bbb13a0077ca09be49adb61bc33900a0d6071992bc58d4902e3143517753c4364239b103a063fb06c87754f800c909220fe50a8ecbdc9c77841b47375de626c6fab23fb5bc0334c753dc024ad20177c5db856943a3e45339756538b32701f48d45740b5351320e0fbd041e8600617bb8b0726c99c0dfa8740d13e894a0e4883fbad993476cadd0eda932a251a2a457a49b8e5a3c0c4bef240508d0e7f257a970adaeed596d1f0ec8180ec996b4b55ca37cbae8ae811ca8fdbc0770d356ce
+3638c17e3791caa903eec79f1a515a8d259b1e58a91a72297277a7517ce2c2de
+Ciphertext: c32d95cb505854bd0b6cc2cd1158d9a91c5fcc351b1694f4df1107977dd48d8819133a6c878ddb7c85d6a829b14bdfed203db10a2cbd72ac1011cd96ebc3fe474d30818a1acd5a088c88ba7a83e845f7f4246814f611c506ad103cb3a7f0a220efdb4fdae96b45cae03b0386b01c0c026918c8626ca009e731209607e6039e7d5d3b1312c91c3c688d84c2516d8943571fbe21432db543115498c920bb1febec14b5fc6971f835d479a558a04dd4430ba7505c29481e5b4b0ef8cbccd0fc83f66909cc05c9470e5d08bea3d765138abac24e3b6a3a5f5b1a47bf1ecb2bd2dd620755867ae6765708e836469927133f4288fd3e7baa6c1bb9cada2ee522fea3e3a692d2dd7c37f867f16461643be5558440e3506e8ca578dd67a7a548b68314a12e6367ca61a48851e2e01c7edfd68ee315960977e841bf3b4bbe58db01e2bfa27c6f94b6552a72148e8d76fb0078060f6e1d7d0f57d586d359d69803571c89b46fe6df230e5545f48c7e06a31d56b019c3a33520884b3ae2d848b1c77bd6fb5e6e457645da92ec2f5493f10b8412ddc546acfef7b83b3329ff0e7c5c2d0a554e9458ffd8f45ce39fe28c51fe7a18d4a0f1f9c65101dd56c20e31d0c8c36dc2597e9ca2213a6d8a63a3c9caf53e27e2cbbab20b6f36fa8eb41d2e29eb0a5e6501d0ae922944470f0a2b97defafa531d29f2518ed65f38c4dae01921f76af3eceda30d27cfe60ed46c79a6afaeb04e37449b428a6dea4361ba0b458a2121cc3a0a8ae766ea0cf2ef4d2a7252b89451e9bcbc65c33bd8f6a97db102c600b0270c6eefb76f66dfcb7c35350aa57c2967cce356806c56235a89fb151ed669e6d1aec6469ee6fcde2226ab12411bde6c6869d5c55847734a210f4fef00c99dbc4a55faa1082746e7445bbd56243841d305e38c29d06155d86d495a7ecd054af77a1745f0b8ee5ac3bdbe4d1fc937aef04bbd587984cfbf7e46f40e3f6458e4d034917a00b4b3120abee41568621473a29257775fa967c4c3cc0542fe9af383df46199d0d6cfb957085e793b6d3aaa20d5b9317b3dfb6d9a666d4303b54885638de5bb9
+Shared Secret B: 34cc30ea9e5ba90358ee78d22bd6d650eed9fb85e33771976e63d6bd2e417f5d
+Shared Secret A: 34cc30ea9e5ba90358ee78d22bd6d650eed9fb85e33771976e63d6bd2e417f5d
+c94d9cb6edd31dae1d390d7bdb965312425c2d9743a54337a46be2ce5d881c2e61e7cfa0284e745d685e5b102f6b95916520123aa970c144dc5787475ceaa429bb40fe839f54b17f1f076a21d01c5d42b0291936d58010a88e6a9774021559fe840a5ff96b68bf00c178ea9b9b151a49f1beb561fb1c4c19103c4b7d974416b0a562d411d01ebd229622095dc3d89d62bef9a98495aae035103be4d3a7b940103c94800752af7b3904cebdb4a0167e8479f16bba8661f253e697344aec5d74f9cd4f3a5e27555a75157fff40331e89e74b0acc309cd6805add0ac64a427c04c858a1b34a51f11aa3d00519088151bffa14e38e69a9371e3eeff9a21be61e58722581ee5c4bfd6e3016d103f3bc6fa893754f34d59378b65fe539d89810b61af88ee80fcc7ee9af9350f8dd2ea3a74e18043ac4948bf11e5826acaef056caca283e2a0503d75f0c32d57c14847fe8747380b17dca1c50257f46212424e00dc49667f60c02ea6410781f1aed3b8b558ad41eb312ca6e53a17fa43ca1b2422ee34f0c5e7daef601130c32bbea2ae8607c919c1a27ffdfb54a0ac053c1467e2dc4e3bb9fb73c1337b07e6b2a6680c88008b13570bf64bf44afb5fc79746b11eb69bc77e4d70491646062b6ae88245f7953b5f8019d30ebf22a3be757dc9a551d30dd5196a0978036aa2113f0be3c36def445fa2c5699cc7daec35c4300cfcf6c547c90781b0a30e8e72435e66a5beeede980f496ba515b436032a683c5e94b843253764c432e5e99d9d70e6176ea98a127ed4d6aef8307cf387fa83b60ee91b4bec001b3fa72aecd12e598cfcb3301cd2f1552b298c46ed6cfd97b2748d4d6aadf4b7a317e21ff70d3ce207f3b537d704d8f61e7868b16091e386759b45630422030d12df3e17cd9c107797607e6a014d89bd6c5d9a6dcb51d923b7f720049a5418c5a6d70db77d38794b4f41ce03833b85e360d7d81f04e810a92be94b4404a94d8d4216aaee17846924aabf79e8a05f9986b75927edaaed606a7c8b7836441dee3c9873bf53cfdb3a7fbcb9d6a19c12d7c449ce9b2eea1bcf0077d74e0864e71c2
+Pseudorandom shared Secret A: 44933399bbe42b835fc9ae7c3f85bbc6edfedec9a2c42a729bf36bfcb14d666d
+4139d26453909a7a5faf5cb7fe6fa3ef06b2db5c13fc7679e515246d0a474cea2f2dd05f16d1d043a5cb95b0d67bc7612654fde3209b32a39806b53ff7a9a986
+Public Key: eb5c2381d76e885c677be230709060ac25c97c02891b75138430b1af171124a79148f3a86c5258d9a69a88d8bfbe436714b4242e03bad2043b50402800316846786bdc24b10a3a5dffb8677b35b77406876776c72a753f274530f84aa7ebea9940aa486ed8b1e0d627d6d8644644b84a68bcef003982dbc8e2390031820d28a9814850a120b243b5bb58091a1e3a633a1326b838b9642a3b5b8f5cb196b7396d32893913c4c7c31a83e89c6edc770c63a27766184d141655267a306c48d7898dc2327815843c8e38b5c71c638e09b45b2c95a31a0b4bd694cef1ac4ef643a025213ac56629c32de8683e164b69cc04c8ef0a2077c37639262f53e2782cf9020f981c6a915bd764cf9db2c7e2464e190a3423637f002754658490e6482d70e1ac66c4114ae334aeb64f391445886a06a46a7d76726aeb8a3b0ee89312da98bf4385917074f921275002b2084c6b202a7d77743166accaaa67484f56c7e45b842650548bf4b90a3b6728236150c6ca970105ea632f4863395b8692d3ab99b4e304af09148a700c72d8252579553f28c3ba455acbc43bd1ea868a3a2e459927ca98cd6c5431e2b1c011ebae1f9aa8906719c5c540ebbcb2a56b34ff911b17e67379f75ce7b9146e968eed4cb770a824df71ce7febc7807c1be36a8b82e4bb55b17d87c0a7a0ea4ecd069c805c4c42835910aa164c5434f7294b8146a7c1348b92e63b6563326ac4cd0dc1b025b449aa2bc1e40324e8abb054742eb76c350e82ce16f741afa421510a2cd4a940a4a30c31c15af6667eb2cb9c6bcc4c6f99ae5992b449705388a330ad47c8e4c4c25a172ab61a173e58955086aac583568932996f7aab938c1cd18a2d83d8bbf43a2aa4fb8a3911ca164a0a50083c08a56409a4601cb42b8211380b683d18ec6c224025f783a4e65617ccc6211e5928e65c54203a9ee3300b626ba98a7016dd8a58bb141a9e53c93a7b2584906c3c0b0d336bae8a834d7cc85053db4b8d756861a16b43595318c45a71bc14067284c16891f6ba7d836a0a6d22875f29b4a95595dcb9aaf125b12b36047b3b67d018b5e796c608317694f25128bc95512e4e94b486a1c8edacba8e4e681b45ad498731266394908002
+Secret Key: b3c74248ac61e4a15a94c4abfa64be31657d6b363cce233ff034cb8276b1dc9a950408624172a6ee0725ee15ab4da604ed47908c4c410126aae107a8bbb6b263e51837401bd6c5640aa654da73a9a4bca623824f0ec2c9d3aa843aac6f31b12f0a181bf1d77a0501b75c555306c43b6c9719e0d56b2552b433d3695d2cadfd33b0512bc9a29c3408f9c17a87751e283c7f015e5af845e71024ac25c6719567b86a370b865ac4677ba986099b561d82939f6e3440246933ab202433e90a82f371fd3c85ef3b0059f7c199550c156047285c4ff8398c25e9319c3628e59626dff40d55259d10e627cdd0a27d098c36c2890b27b961c71cc122c4cd369b88b531ed46ab3da3a6120cabd175aa2f2253807a63fadb9c7fc262aabb19489a83524091dbe6079e2634f8c52caf481337f93eb0b520c2ea9d93b2463ea48a2d8a549b159388e00d2ac1117c3b0460c6b1073934e7bca1dc19c0042153bad19e68a619b0e596fc07813ed1afa5f4baf6dcbac6401ea0914a3906506ee72a77ca72bf317b2412009506411cf396a061cb9aa886731436f122271a13977819772a4763044c13d6346a59222d2c8263aea92448298acbb3b296a237bbb727d9411d14c307bbf1c4ea90aebfe9ccb24c0a6776bf5d5242e0db1874589265c041192c2204aca04b36767cb35addb6b05d7c792b5cbf9e3684dec73bcc934f3bc9c29ba02581bc1b1231878c684d68962134b8abbbea5388b2c14b859b58567c2fa93522aba87f0132ae6465fff783d8d25eb07443d035caae38afa7d297fab06d8c178da5c706b7c4978b0153b0c77fba986554db5e324c4bb296b01e4a0b9344cba530994fbc11361411dc92a6f382aace1b81dab747c76868c54a5257da701e302611864561508560c036fabb60bdab89bd1611afa0bc6a52c4b31a0c7ba01556046938d97b4d58105faa4287f65a37d6b686c8b84a0347393a0a3a2957107a12c7a631cad2684e0038ebf7a60bc97afc88b691704ee1dbc3ec6773ed6b9c5390434645015eb370cbb05cd5cb64dcbb53671215341a00fa4c6d83f2becfe4c695790a28f400eb5c2381d76e885c677be230709060ac25c97c02891b75138430b1af171124a79148f3a86c5258d9a69a88d8bfbe436714b4242e03bad2043b50402800316846786bdc24b10a3a5dffb8677b35b77406876776c72a753f274530f84aa7ebea9940aa486ed8b1e0d627d6d8644644b84a68bcef003982dbc8e2390031820d28a9814850a120b243b5bb58091a1e3a633a1326b838b9642a3b5b8f5cb196b7396d32893913c4c7c31a83e89c6edc770c63a27766184d141655267a306c48d7898dc2327815843c8e38b5c71c638e09b45b2c95a31a0b4bd694cef1ac4ef643a025213ac56629c32de8683e164b69cc04c8ef0a2077c37639262f53e2782cf9020f981c6a915bd764cf9db2c7e2464e190a3423637f002754658490e6482d70e1ac66c4114ae334aeb64f391445886a06a46a7d76726aeb8a3b0ee89312da98bf4385917074f921275002b2084c6b202a7d77743166accaaa67484f56c7e45b842650548bf4b90a3b6728236150c6ca970105ea632f4863395b8692d3ab99b4e304af09148a700c72d8252579553f28c3ba455acbc43bd1ea868a3a2e459927ca98cd6c5431e2b1c011ebae1f9aa8906719c5c540ebbcb2a56b34ff911b17e67379f75ce7b9146e968eed4cb770a824df71ce7febc7807c1be36a8b82e4bb55b17d87c0a7a0ea4ecd069c805c4c42835910aa164c5434f7294b8146a7c1348b92e63b6563326ac4cd0dc1b025b449aa2bc1e40324e8abb054742eb76c350e82ce16f741afa421510a2cd4a940a4a30c31c15af6667eb2cb9c6bcc4c6f99ae5992b449705388a330ad47c8e4c4c25a172ab61a173e58955086aac583568932996f7aab938c1cd18a2d83d8bbf43a2aa4fb8a3911ca164a0a50083c08a56409a4601cb42b8211380b683d18ec6c224025f783a4e65617ccc6211e5928e65c54203a9ee3300b626ba98a7016dd8a58bb141a9e53c93a7b2584906c3c0b0d336bae8a834d7cc85053db4b8d756861a16b43595318c45a71bc14067284c16891f6ba7d836a0a6d22875f29b4a95595dcb9aaf125b12b36047b3b67d018b5e796c608317694f25128bc95512e4e94b486a1c8edacba8e4e681b45ad498731266394908002132007738d8b31f62ad2b12ca7060ca2fa45c30ca7f2d024b5b9192dba90669c2f2dd05f16d1d043a5cb95b0d67bc7612654fde3209b32a39806b53ff7a9a986
+f4ddb3835465d1488352d03639baa03b0e1290c4576c6682d04532a9a2e89b4b
+Ciphertext: 6e9127b1abc91daa18a8d87ea660b757419d0f474466c19414bd5c4b25c88853d64b53972d2fb09849ffe5abd392c8005fb00af7c5e88631624fd5d26a10e755d57db1f30b8bde739509b3526987e8374ac544fdf1b29771696af6b16ee5d11afe3412fbb3c7ba82ea14a71badb05bd943b72998f96e9c5268394ddae354174c8e30f009a3d34e0161cf2994319ac1cb475487a5ba378f68b3a838eca84a7d45b91da941e44178bfc77bf299bf82ff15d740bac225b93dc5650fd1995ab2e031479628c92aef7e2160c25b672ddf670f0cc648b815aff64c8f0606a5319e21c7391df22a2684c8a8e941dc13af5082965becc8c360f8a4c3d500548de893a0f3e390a834d675bec738469f4bc0a314a0c1ea7d06fe653a415d3f0d9a7e3504e9d536d74c8813d3252e5357c2a968b404b68c6dad0c436e3c9a51013b1f2376ad928cc0c7938b9bc8a4499d56f7a365b150a5c2dd11a3f971c2e81ca505ee3f48be0f03fa671e92b423a73d07a6600bc2f9ca7b2bcc9c2320b8021b52ac4735716ae4e7be74d3f7a7d9792e02bff0efe1c15299e01f395981f1cc9bd5747bcf194b7f256f5580d3260a017cda2ccf5bf30673cb8bdee27fa3ddbc383afe6bce83721a77477f334966bcdca2a3eaf01c56dfbd01e93467ea5d0c638db5aecb9b7a7fab95b34f53d512b70a88ae79cf443de9786c99475e30857d60db42f7a2fbbd8a6fd387a77701b16673c299fbfd13d082e230166eda4f0e1e121290c8cb39ec1ae838a022804bb4656f82707ea2a30b3c915317f1675bd1346ba315532e49efb27bfb7022735e3c8b4c6d5cf0aa7f78802506c45dc527396a7589269c6f4e22e16259edac72476f6cc61f314f8e93f3d19e4f2b802821093d4fd6b0180cf9372996ae96d25be20274de62166422b5ed81fd6e23480a7c58f1659972fb0263b7bac3e1a971656a1a9a09888554a8d35e6c242ea5d18a2232d518f652ee2aac936c04d75356cf8b8c906e492ba5de631094230c0eca8a6c62ca4906094e83a65a35656d32d286be67b2fd1949724ae47686f8a19a86e3455c2fe1050910a094d3
+Shared Secret B: 8a51d1723775e13955d81ef272f868ff342e66835429bad12cd3ee969d577c2e
+Shared Secret A: 8a51d1723775e13955d81ef272f868ff342e66835429bad12cd3ee969d577c2e
+d2212fc25dcd711d24286ada90798eb88b87dd11b4d972940339a69053fe97ea68d10e5af144758a219b1ce7701797c2a3feb50d4f11a4690a36bd99067f380fc3e821bbad65e4ffe2fe668737b3632075086f7c416f973c46dce2cde7f58e385457ec33e327800c142ca4711c6287dc728e9fb19f56efa34b966e44c2872a934d93fb5f2ac61b46232440095ba318f3c608418b7925ec5de911b154f8e0265d9e633dad78b8ccb02d23c8b4650b30e21fba7877e8d9789f5278618c0921b67d933a5f0472efb1ee598bc21d5d0d9d9d1aeaeebf02f87c9b4fd21227192198685e41299ec42c091fde9e108c1fdf659b06069eeb188535736422a81b94e4af517725ba637e8445b8b38ac34094844fb4a8fe1b8d5365102f7acbd158655547ed13dc0994e6289113eb345ff5999bac54aabb3ec27ff64369571f0cced17ec70743e0c9a5e10f2abdfddfb1181e4129ba6e4f3457b5de70ad37b8a487360eef9122421fd57aa722638d3cac0c526487b7f8604720713a121688ffc7983def4895638c7b8ccf32746e9e3f1ae082fc1183046276fc13d04aa94485d4e1ee5c72b14d9e919f7a54599326b6ae798c5015be2cb75a0901feb81798571e8f2d14671d216351df06ff1981f72e0aa82601c81bc326d0ee317cdc0d2d3a070cd9cfeed510adc0af725749cabac8bbc3fc7d276a96b01e5a73bfa98a7787e818ca5ca0de59a35e63152dd81dd50e6669013c884c9f309fdee8b39349d42ce5143fb721527f0eb8f3b87b922330327e725fbbc8ae16ec85890eede8d3267d9f364e789f6791687e4afa0046a9667fd08679f50ef7209ffccf4288563809b1cc47db801ec8b48fa4c3d953dc531ee02c28c1d3e480086ce8ef01c7e0fb08c415220da00d77f6f349af618a6421c02dd0a38ed910b0067a18e392fdac7c6dc152535bac8eb40f18ce86a95703ce848cc7aa3867259ae693a33bac9074f4c2f8935f423f2fc35d1e93abf06beacbe6b883303235cb21401478d660c64b2968529c1933bcf217feae0e8bb06b629106d3c465cdf6e220f6892b5b580c28b36b5d9326dcbfc6ae
+Pseudorandom shared Secret A: 5dfd249e643bb67b1aa86123b953414bb0b888e49d50c4fd91ec525eda81ac2a
+9eecc90907248e890a88ed1333c9b7b061fb2c49a26ad8a23c0f3f354029309df2a41496dfbb4c9aa3403540a7c8c92d0f45ac7ca0678654ea7c581b1607ab44
+Public Key: 24b68d9693cb12b41140781ab7212761749981cc777c23645a97484d45206ef7065fe5a71fc25dc3647ca5d7aa2672aa7be4645161471f7bb776713263fb8e8e6cc02d1645cf4ca3173771587a8731ca8b9fcb04efe016fb2408854bc04b63a055a438898104be6c1d43f3b841b828b80cbec5c9ae29246d9068681288872836bb5cfa8f315650db4a0c33a9162222220db73231b75a5d4c905febc7c40c04a6a63d5db7b8a5ea9065bc5f534607d0b5519ff494bbd11fbbf26f2a4c714ec107f36348e04a074de2024e575ca5230891f1be246a86f212707be61daecab812799df94b6ab25424bc220847543631d96bff5a617eea423e000defeb5d03e15fcb50bdb7a36b9efa1ebfc55816947cbaea51aab1ad877515671c1bbcf12bc1d810bceab76715b75090785d6969e974940dd45240d4c97dc5aeb2c79091732f03251b3712c1675200cb723362dc05b65c5d11e56604bc1c962145f967760804b39ab11f8a612d2f6155913cc92985145d2570154305579bb3bf85b72f62cbf373a94bd81982e5c67963b7c4c7050091046ad4379f1ba90943548a6ba21c5a9d311c4b91bbb799d9c7bf88b1be0a7a4369933b988034f83e28939396bcc36b169d05c7be7cac0ed696964971967e2847504b78bec65a044997a7f9bac13528be55aed5c12a6851cff3c42f6c6277dbb056a7b55cd0938e69704273326ae97978be2134da200365d48d013b44c3d80dffd12fc8ca08aa7c7eed28c1393690de7292e4a19853d629ffb90c8a5c775c9aadf850b8d344a7e8e6150550b2b5c603a695a974e00dfce31537290612c75525ea9c21c123c7320124e68298906263a196889351cf4776c5299f94c748a726a7502771940b2ba4291ea89a35b5f114f4589f345c2be35107e164572cc040b61c1af9a1759042c01be301d8551ec109a3efa7bb26325b69163a2f904912f363688904b732a974d345f9b54cc796892ee43ac8967a680b1f621a084e81871630c87f8cc68116bc1130bc65913c2eec9e898899030b121a3c1448662440ba252fc807d860a605ba926c865935bb06342276e6b40b5c98d650622fdfaa6401759fb6e2b54debb481ca23cbce420709ff4107e724f6
+Secret Key: d3d4b5d3e03cc636b11b407fb78069d1f84b9fac501f258e47003648a9c6226c61d870b02e042cabdc2038b270c51941fedbc7cc1384e8451c7471948be5c7f3ca342e2434c51b1d692788fbfb0168aca36aa15474a9757a446c34f5c5aec6c145e37097398fb23bb725f070280565768681e3b72f2a45cbd5b178a6a967510b970d253a0d24a6abc571bb3b96c385075da4c5c1f6261485a052f92de5e7727b884eca1b675cb060776b33d4333c411a3a07c6aa3f7a2e257799825867a85745cd3b9214d657ea59a34edb7f9fd6a84c0b2f161442af1329ab0a5b7e4a30f2b671597584c8bb8d095385e230be0030aa8104b9eab994fd4a4f2cfb00eb65292e592493924fbfc6365bc4040e376f4f437c7efba1aae5006e4613f11c8d6bfa73aee8b537ac09ef621a13c31218736e51696c74ab318f22bcea678453803cce2732cf6296da2050ffa30a0b5c276150b915b5ad64617f92a01383d85aee3390b6930eeb039052b037e8735bc1e740dd948052c66444057e564118fe8a3575999cab043d8a995b48a8153006acc3024c1489c54a12995ac71b91e8411091af3f3276d6854a7537c685d9ac26c6af87e7c8bcd497da41a926a99128b791bf502a815922a8101c68dc6e16148e3754218d434b09a77a5919469464177072225d7152ca999c3e58a0c98405fb58bbe6b627f2a88ef2aa589799125719b29dac3333f1ac247b8766c8bd5f3c0c3e388413e805602c3b23112036dacdbfa168751b5d890caa2b091a7ae57777c31b37677063882f52a25f875b7b53ab36c2a31fe6e279ac690e98d3c979c4aa1d016c0ce090c1cc51d793c3d37c9e23d86f9d4308144217cf93b2349794d5386f8a62afce53288ab959061b38dce83e8929746c76631f0695e2e4cd1d2b61340b64ff676515f6b0b2ca202764ba46265ca5f82ce96a6235189217e9b82f9b9137e3b2eb7246271747a771244076a4c107c01c08108deaa8a5a36f11015cba6c7d7f890acf11b9f6fa39a82b1e7559cd441970bbb29cc9464bef19889e83c38b2b2439d66901d545c2e14fb53003b6d979bd322eac065b24b68d9693cb12b41140781ab7212761749981cc777c23645a97484d45206ef7065fe5a71fc25dc3647ca5d7aa2672aa7be4645161471f7bb776713263fb8e8e6cc02d1645cf4ca3173771587a8731ca8b9fcb04efe016fb2408854bc04b63a055a438898104be6c1d43f3b841b828b80cbec5c9ae29246d9068681288872836bb5cfa8f315650db4a0c33a9162222220db73231b75a5d4c905febc7c40c04a6a63d5db7b8a5ea9065bc5f534607d0b5519ff494bbd11fbbf26f2a4c714ec107f36348e04a074de2024e575ca5230891f1be246a86f212707be61daecab812799df94b6ab25424bc220847543631d96bff5a617eea423e000defeb5d03e15fcb50bdb7a36b9efa1ebfc55816947cbaea51aab1ad877515671c1bbcf12bc1d810bceab76715b75090785d6969e974940dd45240d4c97dc5aeb2c79091732f03251b3712c1675200cb723362dc05b65c5d11e56604bc1c962145f967760804b39ab11f8a612d2f6155913cc92985145d2570154305579bb3bf85b72f62cbf373a94bd81982e5c67963b7c4c7050091046ad4379f1ba90943548a6ba21c5a9d311c4b91bbb799d9c7bf88b1be0a7a4369933b988034f83e28939396bcc36b169d05c7be7cac0ed696964971967e2847504b78bec65a044997a7f9bac13528be55aed5c12a6851cff3c42f6c6277dbb056a7b55cd0938e69704273326ae97978be2134da200365d48d013b44c3d80dffd12fc8ca08aa7c7eed28c1393690de7292e4a19853d629ffb90c8a5c775c9aadf850b8d344a7e8e6150550b2b5c603a695a974e00dfce31537290612c75525ea9c21c123c7320124e68298906263a196889351cf4776c5299f94c748a726a7502771940b2ba4291ea89a35b5f114f4589f345c2be35107e164572cc040b61c1af9a1759042c01be301d8551ec109a3efa7bb26325b69163a2f904912f363688904b732a974d345f9b54cc796892ee43ac8967a680b1f621a084e81871630c87f8cc68116bc1130bc65913c2eec9e898899030b121a3c1448662440ba252fc807d860a605ba926c865935bb06342276e6b40b5c98d650622fdfaa6401759fb6e2b54debb481ca23cbce420709ff4107e724f64d4a0ab0f23b201093e7595c8435d4b58fc0332563bbffe2510b10f7a9faf0c4f2a41496dfbb4c9aa3403540a7c8c92d0f45ac7ca0678654ea7c581b1607ab44
+5ee1fffe1e7baad53eaa5627e25c317d2330d7a38579a84261037a67bcb85c48
+Ciphertext: 521b3ec59c5554c47587230b12e3dbf5194b5a01bf48334a22cf9ea0bd59e0ece577eafc375eb495d2b9fe48e07995e40a91cd4a605a65ccf1c135bfff5131101019c77af8782d45ae8135008f0a2dd92fc560585580369d940a18b2640f73cedf5bfbc67cc43f548cd76636e0e02dd0952f3c44bc5d950a574f8b1ddcc5c2ec45774c8fb6c26254deff33c0e2daebbbc1db1b659e63df1f2000db78ebae68bb38517dfb9f1f433b08ece50eedf5ae9a563eefbf4fd660d8eea7b5a583acf62523dcdf192c05bfe2d4b3829cbd5be102d5a14e50c57497d21303b6de1303271290d0eb4507fcbc3c2b718f25838a582ac7bb2e22c10001409bfd166f262cafbb77d6246d9d0f25bf75fe1f32a19625676e4a6c18fc8826d85f089020296b0cccece965193d416c9f1ab093e1c9afdf581fde3da98cd0dd756ff3b2aae3ffbc1672f4143377ccea3559ef34d2fb4c60df3603e1b5ff5ab929501694283c8f2e14d8720710f62cfdfb0dd6fb6658513be120856a4cbf87e1c1c606d7da2e349e5f484b5fa756a96c45d27461f1e03bc8f53cb4bfb14e0cdf55cac1cf8a8cffaa1628590c2b3449e8e838475346e1bd266af2b1a08f6f230637b8499bf290a68652ca17bdd5279f0b8b3c6c3c4e86b7f2ec8a454304922325923db815bd2405327f46a0228415c5537dd631ad7b9354c1f7218c13042dc3b26c36b48a1fcb34a7855cf5291b9e70c680e1de3faeca7bb36fb8b65166b345e8451a7530f2d32ecd678206321e73cc47f0502df124b31bbec72bbeb31b6277505b17eb34c792bfae85d6587dd3aa8e2ca6c8b06edd718aa9b4e59d19fb913eebe75a7afd3564502906f6c910ab6fc6a1a4519cc244ce5e4c06f98e4a21bf659b3c48e7485107ae7062b4f1520e838266a5950ac2eaa7de4e081e2b1d484f9a226715674c2cdc9f271064855d735a1261e96cdafa035e32e0dd74bf5022eb9631e353d36ec8682a8fe63693f913a93ded57478e8e0bced21ea2f67ec732f13475636c67bfa95a1b9fbed0dcad7ca7f95c2d8164d0edcdb0afe882bf5a6f24e41390d60b75cda4a6246c
+Shared Secret B: 9ee4017b033924d805a79fa53ad727c03fd146031be98cf0d10a475c732c5533
+Shared Secret A: 9ee4017b033924d805a79fa53ad727c03fd146031be98cf0d10a475c732c5533
+0d61b7429d926184bfebb12968a1e6a69095919c502423889031e3090a046629b8cf5df80f0aa6545882b8c761d7bc33f2662dce2b8507f517982b7e0511f8dd7ef2ac60a4a2392bedfffffc02bb7acad5e78700b4ca6a93e8b2e9dce54c1f06b19eab53585e27e8a9982ab581726c8cc7b258d30f793e1e5baa91bbabc9e87cfa934ab4feb2a76a1387653ed9a30f8ee3c54c347142641e57c12287f69db4b92e76a29b42f3739935db9bbdd2f2288ccf0de0514ac7758cd8852d3d6ca1550f29a8d39d0866447cf8f33cec0a71dc4fedd2844b5f84922735a02ca4e4f707d11b62b667b89063253e01d3d60d89316c0cf8e3ba05a8e6685be27367fa0931204c3157fa774c24bf56b82f785ae3f57e7e7072b3b435c2b9770baa6b3b4246b1db390923225586f3701633493067774a6403765dffe2f433e79534358ebb208ccb96a8c35ad5e9e2edf5f319917e6b61f63678d52ed580c0b496811ada9a9e8de26c912469c6bde079dc6bb6ce86311c2dd26c1b3c85c2ac61c83f01e9357b7b556d5658c59f04d77cecf4daf3ad3f0c0e79c80b8211165c05dd94d3cfc7bab5648979be7cd871ffc0433f38b68d30ed1b03b7a7e7f6f8713a277b17ea21a6277bd3fc5984ef592f69d4a3de852a484cead68c0c34b61b76b060fee3acf6f77933696e1be19042be017f88a768619cdbe12bd7023772aef098b6d78648fe3989bc4d3bf0881815cf0186ebd219faf4c4ebc2706edd1af9e7b3a8752e843f571acda2e183cf206af2953c1cf54d5e8cee9b0fb57be836286588c8b90c91f5948eebaf8b30c96ce217e6ccde524801a5feab755414ffabf7ffbeec398dc9c7ec15f86be155bee7242692cd3e13c2530590e814edb738e21b8a54dbd977516b72cf05991f5c8bf3d856ba77f7d78e1e686768059ceca2eb8466f8ae6ef03bf83cf4db315b3d8945ed9e255ca86a00dc3a0fda3f63510458452a0853a2de342f5f37150301f20663c7d59d594ee653ec2ecc5678322c146bb6ee8804352f74cc24d0785664c1f411f33c893c647bb12fc212aec9a45f69a21d4b3fc9a4f2eb8d9bf9
+Pseudorandom shared Secret A: 69ca0a07ab307fa88006c763605287d1e948da02e51037c4917928411175ce86
+d0b12f85064de1d2013212300e6dd8d5627f1c20f44d16a2917ef75727e3558a6f023f2a4ee97262ff3581b6efc81d873f7bbcd7859927c383e7ae4204934ddc
+Public Key: 9cb959a2752548e8925932ce4eb5bc565a2b6670aa02628a48e0cdfb356808d6a441832f359828ad5a4ced23a71db70d416ccd2d1912f460211ad1ceb419ac21ab076c32423408209b20793bd759458a40e17a69e15697e1f77fbabc3dc2c92315c392dac202d1188c81b7a9234375b9917e04cb50e8a08ee6cc63d100bc6df748b0915101705fb8b875b9d58483a22bd854589664a00ed0b94c0678fb87851506c5d9a3b7d899cd1279a209013402b89005f5970034bc5bbb5725aa43f4224ecca7ae730907e3b881fb64bf74816858c5c6af244a5ec34c9407bd01a1bcc6f650f29bb8faa97a9d86b59dd14a57e85a07b2ae75754cc5c18137d30d38ab07624961c6917ac2ac8561b06c4f193c294a27262589a77b3cfec755c76983f5215942a9498f3535f1062dce230e1ffba6b118cc8026983842bae48a468cb98fe01a2318f81c537a28aae496f75782cc1a6c7ecc2549818cf3f0bf0f508fdb26a60a29705fd46cede64c343873d3d6721db3c2102136315256aa3105c99c50c0f803bbec51e8b46209759b52f2a513d2781702766ec900d8089ef959045f5066f818826b4589a3d31be8b0b6406b2f1c58c3d3b1b381e80d5463be8e75648eeb6f21214d611cc5ba0510682a1627e2422617a328c55b9ca20379f36708611f0a6398b33b3a950663fb8150799457b1ca3b07abb4195182ce4c03fba47f53992dd3031f47ab16400897bd9b52a8f7c3e3171e3194b0eeb8cca1e2a38f95a10d36cab4a1807a07bdaf20c89cc7067133719dd51ce4889db2536ae1207e51031b48f40838bb3e31e1b8489a6b3353b4b8600be937a0f2e53be5657c1a5b90410b55f83a67890a6173e28e2a985ab2e123d6a16500e312bab79ad20a4faa363509f8698ae64ad5233b871a42ff103eb2006c72cc1cbaf538841cc4d8c22d9e547fe9370becb5afa2b9589c1928d7d2a2b11c22cb2619ea76b274985b316113d5847720a5785f4523bee4455900909336cd22c7432739798cf44f8327cadef36445d90b955715a6ac568798bf7e769d60b2c348185cc106bd54a10e5c085025b9997b4bc56b193be91466727253156cbdf6c45467515b741584c28aa1749e0132ee229344
+Secret Key: c0555a8144c247734aaf203bade17d4fe9913790a71e5501da616ac238799c20299c967eb33bcfe26221d638ab58c6542427a2e806617491b3c8d108c81a9ca7bbcc982c5533931eced3797b21083a347be1c4cb05da58a94927cad5a7474128d7c249ae272843e40dc598c287a116c53913d4569b920215bce4253c4259ccd7b6f0b2bb78e26ec50b4709e44809ec3fca58913cd09f8f54aecea77332893b6ff489fd58ccc29c256b4ac53fa92ac38647d0d369a6c53774910e046c7498775b5c692aee79bb3b78b711458b38f3ab6ad50e8780a8df301e2b40a3c1a29d19225f58726e56024812f1a138423b03f7c7dc6470eed175610b232bbc527d264e66f105d3705fbf66213bf811e6c4ce68585ed0accb54d74da4aa15dd2006a7170daa75c9b0762975e77893a943ec05a1733b303f66058c923e2779362b7110f5dc7ed12b0897840382d57c2b509cf83160c771bf89f97f79da58d671277bd27dc94675afa0117e8ca257b11029c457d5b00b5b727e262b3daeb65f1c741dafbcb7e9564cfbd0b1b9f7794e598c28dc859ae979c2995e8595aa70146c4888a589c820c9d3750ae87d9966567fa619a54955cfe45294c867bd9001cf0a1e3ca509ed128d2ec00598ba9e5d5710b9026f80b3bb741219e64467cf946a6ffa59c772595b8078cb3a17a819929ce1899bd74125a6b448e65cb3e990a1f75c7d7a7a8a7603350735ca815e02696066f823a0898ea13395e741a5fbcca84c299ad4988fd3828f9624304149112403315dea5ea1f1afc323afd804b1e78abf176b1d8b661513626aee50a4b805674eb56decb99981420104b775f079b2af0c47d1b486a928ce1c8b10a62c6887c3363864839b4841d7b45529d816e2e85296e5b2b0a0604d90aa9fc8192839972de59f2b3ab74005b307408644f393d2b180a6b28002558eaffc3371bc1463996d32ab5d045344aa880a7883657b357dc744536071a826100051d10fbf4a747d5106c7759b9353aec38465283931c01a36a5a08a1764922bfa046a24800a4a0b6c997adfa05ae2b0077334b9da7c46e595389199b8f9930e9cb959a2752548e8925932ce4eb5bc565a2b6670aa02628a48e0cdfb356808d6a441832f359828ad5a4ced23a71db70d416ccd2d1912f460211ad1ceb419ac21ab076c32423408209b20793bd759458a40e17a69e15697e1f77fbabc3dc2c92315c392dac202d1188c81b7a9234375b9917e04cb50e8a08ee6cc63d100bc6df748b0915101705fb8b875b9d58483a22bd854589664a00ed0b94c0678fb87851506c5d9a3b7d899cd1279a209013402b89005f5970034bc5bbb5725aa43f4224ecca7ae730907e3b881fb64bf74816858c5c6af244a5ec34c9407bd01a1bcc6f650f29bb8faa97a9d86b59dd14a57e85a07b2ae75754cc5c18137d30d38ab07624961c6917ac2ac8561b06c4f193c294a27262589a77b3cfec755c76983f5215942a9498f3535f1062dce230e1ffba6b118cc8026983842bae48a468cb98fe01a2318f81c537a28aae496f75782cc1a6c7ecc2549818cf3f0bf0f508fdb26a60a29705fd46cede64c343873d3d6721db3c2102136315256aa3105c99c50c0f803bbec51e8b46209759b52f2a513d2781702766ec900d8089ef959045f5066f818826b4589a3d31be8b0b6406b2f1c58c3d3b1b381e80d5463be8e75648eeb6f21214d611cc5ba0510682a1627e2422617a328c55b9ca20379f36708611f0a6398b33b3a950663fb8150799457b1ca3b07abb4195182ce4c03fba47f53992dd3031f47ab16400897bd9b52a8f7c3e3171e3194b0eeb8cca1e2a38f95a10d36cab4a1807a07bdaf20c89cc7067133719dd51ce4889db2536ae1207e51031b48f40838bb3e31e1b8489a6b3353b4b8600be937a0f2e53be5657c1a5b90410b55f83a67890a6173e28e2a985ab2e123d6a16500e312bab79ad20a4faa363509f8698ae64ad5233b871a42ff103eb2006c72cc1cbaf538841cc4d8c22d9e547fe9370becb5afa2b9589c1928d7d2a2b11c22cb2619ea76b274985b316113d5847720a5785f4523bee4455900909336cd22c7432739798cf44f8327cadef36445d90b955715a6ac568798bf7e769d60b2c348185cc106bd54a10e5c085025b9997b4bc56b193be91466727253156cbdf6c45467515b741584c28aa1749e0132ee2293440af43aed033c67103f674a52e767c063b3ea9a1d319eebea151dacdf62fd6eab6f023f2a4ee97262ff3581b6efc81d873f7bbcd7859927c383e7ae4204934ddc
+c4d257a5e5261cd035fbbcb2c29eaaf49e6ea89d351097f387eb548723abe4e5
+Ciphertext: 843bef6a94084fbd2fd3f080edf047cd585ef28a355fa5410b5f167047612d1c7c7224559a22ca91a1ed7a537822cae8b8bb9a6b8d68582986e2089a736c01fe010823480a71341b67f7f1ca6b7573ace6ddc74e9cafb6a7be7f6857fe82aa92059f24972bef1b4149761e6c8371c574234fff375e166376ce9c9b14ba33f6e49b5ca82d3c339786294883333c53f974ccbc0ef555f95eb451a1127b32ad4d17bf557340a027e99834808f28bb09894af22456efb3f697ee411a21a540210a2b810b0d010cdd1d5a5c0f988a9685f405837391312880ea30c866f63c45230ddfa6a94813cd3abd4879312cdbfe8e3e3f09ba10d5cdc6be44e37efca525d2062229b450d4df8e5381269f9022eae6da627c57087ce54a14a5516f7fab6447bcfcb3487bd2a31ad18cf54d62dcfcea432a2fe13a6869400a58354e2d473ac8477a452518c13ac2fe324dcd7e3f12178dec86e23d5dce76cd068292622601ddf03784b0fc56890fa96984d18c1f9e7c04e33ac53b0cd469d180dc6722ce074b4442eb4ad5c6232acedfb3c358c6e7ea4747131c92347df900372c9abe50d9f2581472b92efffb8627f0ada4e1dbc6ef24c04644d7d1dedb80547068f46b66c99cc0ce9645aedc91f8590f9e28e8b05b269c79b3b4e58b786923ae9a43bd484347ec2882f9c594235fd6d22e43f1e59a3ecc1c85388935ba6f5f2334a0a62a18b1ce2bb42866d6a283dc9658f632d879b9a4b9914674e6edb37b80abd4f0ef5d883733c0491852eb3d0820fadad705f09b2242cb014a3dda728afe5deb543fa6be1476049eb3f58ad11279d07f8808fadd0ff20aa3ab7408250d9189a918c8c1df26355df4be8da71f7b8346e5bcc68447557918c683ab353354d85d19163620fdefcaf205d5568308645a158ceadccff071f50e0acd13641da3f05817feaad20d085d8fc0cf138d17864949244e33876496e4f97418d40decc862502488d8aaeeb40877656de7481428dc51db9f295f67360d83dc66ee223cc90259c31c600ec99712374e56a6d9123f16ac9a4f838f028100bdcc15523fe77045e39b8d9166198d
+Shared Secret B: 652366c37c342963f92fd04c7cb52941561db74894b12a14e62e80a0f09da5bc
+Shared Secret A: 652366c37c342963f92fd04c7cb52941561db74894b12a14e62e80a0f09da5bc
+fa91009cf71089f1549bea0dc661dcadd1517dace34c80a9f4d60a2069b7463cdda62bd220cb7d07be41e1acca09c567a74d70d59bc2f82e63ac4c00ead5cfdcd79722edc6afde7a0d873c59a5d9b287d5b2d2e15993fda9b811a588b4528d06fb5145c4abddfdbe73c43d8d1612fb6c0799118547d4e63effd5f048edf667be2fc524fd5515cba147d4b917b4768194db495b42788b8ea31dee852ea3d37b2d0292c746ffb5199227eccf877b8945a38f2bb665ad49e0bf792f5fc349f20dcdcbd5286949a2a9bb89847a9bd2487e1384ea06d04f9970bb518ae998695a9017dcb5c665ec1b8bfd17005e6ed507a588cedc837616f94c428261a01ffda5704f1b621e98a0b937faf55c972e14ecc3170103ef0030f78f6ff1938e53bf208915bb7d4a616604fe463782806427548a116bd5981975de4fa6b25bd20d078f82423cfc01bae7ea24e472b9bffda41d3569db010ffadc547fea9c79f03585899694ad7853047df7fcb9e6ae08e749414ace15d90db878603e551d3d65ea689a58dd8f83bea05bf38a7b29d5f1df99ca8001a934c38de48d1ea8a2b52826d6229658767c45d23a9b17443a5873264ea8c37df574e036e8d509429b5bc2cecbbfa99b8e38925357749e0c7793209987c3bb0273e19572f99909bedea449a3afa0ad9e161b9d3c13581e518a3651f150e55cf589b97efaf83d17dfbfbbdd141cbfa82cc320c47b14255a18fd390ed46653fd762cd11d95f8d57a3e4c3c5934da325f149c138b9b778252d4f8c091ec239b6cfd85d557592398746b5d4bdc1e1902d6e46a9c16f120b7c9d6db105fe58cc1bc17f92ac3950cf8ea9e4c71ca98a76222112c764b093c9c15fb595a8bd57fba13b33d4f73170e9c0ea86953f1bea7bd9bf716676fa58cab4da9f1d98f97cf7fac68ed5b1e3a4d5520da717877f2c483bd79d978a4bea11121d5a66cc64d65436c414c6e0a03e59fd42afbf3238bd170cd988086e49a738b061c0cf127f2ec655ab8fdcbc9c6af21f6bdac8ef6b422b7c1d1b526450ecd5a92b83d1c29921b668151ba776aa522d711ba5f44163b6f1db174
+Pseudorandom shared Secret A: 48f2125f4bb404d3f2f3f1738afc688034846ace9c862b427ff6eb80764aa52a
+25f0f8daa7fe4f40aff15f6992e39f7f43077c88583483af26e1a1908371d152f475e75c8a9a89ca2f68a4eadd5674647698ce7739f44458fd95b81b5187e59e
+Public Key: f5ba1881409347c808894768c0373b63764ad598a47ec8561ffc4e35f91c3bb1b45fd52a4ab4b918b94f0ccaccc78a1ed203a381910ab3651bdf6b73ee37bb73e17b51494f47a07488d09d6027b573c48f3dd44479a88502859012d73660f178d9f248177589cae5ac6d2ba244c605e3121479d79063659f0d544530cb2afa810178ac67e2681ad8f6c6e82ca5f12ccf20a51444188097d01d6b5c85a1923fe2d76bf2fa386d5993cceba44f625be0e311d205b5d58669bc863b1b75c44dec97d53b2e6e67c3ac22173c439885b88539c11341238774069861a6460271b7c78057d7246ecad67493a49ffed76e4ad877c6752f78fb495edb8af4d66ebd56738741ace455a4b051bb917441834bb3366867ec10b1923a512e03845fe415227585ee869fa6e0cca1c3980ea2410be7a243376ed3d62e1feaa9fce70743d1338de5980d8867a2f41705a5b8ad1b184ab9028b631af0d260e4189d49ea4adc203b4b7559ee2419c4e888d3451d4a4b0bc8a2c5612c75df9c4d94c67ed7b95d4d8bcae3695ce15a0edc001b22b74ce7a43da1c86de55a272af42e59fcc74967b3c26748f7dba98998789757467c18084ccbb1bb0b3bd66a9b04a8408d8b7bf40070d596c16c1bb6a5b555007acdf23634e6b4438b1493d7844c652c5eeefb023a4683b6b00bcf1ca4ddc7162fc1109d438806b72439256752d1bd8f4821aae8c27f15172fb985de90438e70cd55e450a96441cf039aa497b2aba90af95b88805b4913228ad3f266ed879227c803550264d5f1102fd2378aab20e2039bb953a8aa11873189429e3532dab353aeca7cfd3862878cb11854cbd8ba5e5f146dcca41448410f1e530fa386129b755d867363b40a8501c59720147d1aa34276e7b9dab11087724dfcb68de1f81c3841cb6768c93c473a4e4a881000cbb6950b8471728b615b52192bba8505813277cbba5cec8a04dfe43beed8a03eccbbd5b79a72349bfcf5a58fb1b39ed831649751299710777a0585a6c95f74be601ba2ac7884863c3703880d6e7858c53b68dc82968aa63ec6a16a471547ec8021ae8a6d5b038701c5b2ffce1969c31abcdf6c36589cf7e5954d445aee5f742c7aa6214c285e0bf348c0
+Secret Key: e7705a2ff0a6b0478bf947635215310886a3d05a47392324a3b0552eaa98dfb6330e37198c1333643704f4b126f9935754230ebe1a834d3636f1581f7b0b8a95b35cae5601c0ca0583b0162f356d894b27aa881be9a44ddc963fde2a64c5bb15ad67b528123c9ff693fe7952429bcfcb6282c77c5b830379a73cc122f134d902a84676b6aea8801de49328a48e2f1a2980d00047b7c0061934d7a08355d4085cecc82b3a08a908c1219b734ca4757f7c43f42a7f386ccb8105c2e3529b30d79b8d084632f0b78e02532b9bc34353c94cdc92453066a42b80f9b1c440b9243d250fb2f28a2de297a0615f468cc3f6533331c99fb4742c535c403ddca30b45ce686b69ab145ca243bfe34c50e547c6d14223d889049be88fdbca8cbd785727447823a52d0be69228592ca9cc3297dc4cbec65411ab00d45698e86015b07848b957768c5ccccb826f8fa32660963053e8b577d768318c1c3bf125b373cb93642b890333ae827ce339cb6179a362bc4b9e74cc106990cde3bc5307a969e10ec2665b69838049d14ae37017f15c11211278bb64507d216155917ad0e956ee95c846e2ac1d0aa345b401e1821c58394a2f1009b81c8f9eb2547915adcff76c47249b5b9abaf9b988e47629a9480dfd0b1b3c9c75b8e25273e1cff0372f99f42fd3331ad331cf9251656585150a412e2d14992da7b98225bcf78b6c33b479f1626f362c4f81c11bba70bd11c909f0a1325d1a8310a29404cb5711e811b07c7b29535e735925313a1a560a64e85c9efb86ca7d12b7719c5cfee687cea70146b39be4e823102931db63640462315aba01aca6a2c4b5c12fdc1ef2abb8cf30819814c571c410bba8b4ca53468f437a6f8022c9f14e8bc0812534361bb716b557235ef881bd5a22b915882b34aef1405f6948244f351c7180639c3b9575e686b5e88b698c91f192b1bc6a4e3519522d221996b6b38b594d0f94b439e29f7d8c2c7a694b5b9cab7f532ffb23b609b579f1ba227c750f373c3d6351a03c94191ff34128a4c52021298d80665fd341a99285c3857c801c0102b41b4478b27c857404841000770ff5ba1881409347c808894768c0373b63764ad598a47ec8561ffc4e35f91c3bb1b45fd52a4ab4b918b94f0ccaccc78a1ed203a381910ab3651bdf6b73ee37bb73e17b51494f47a07488d09d6027b573c48f3dd44479a88502859012d73660f178d9f248177589cae5ac6d2ba244c605e3121479d79063659f0d544530cb2afa810178ac67e2681ad8f6c6e82ca5f12ccf20a51444188097d01d6b5c85a1923fe2d76bf2fa386d5993cceba44f625be0e311d205b5d58669bc863b1b75c44dec97d53b2e6e67c3ac22173c439885b88539c11341238774069861a6460271b7c78057d7246ecad67493a49ffed76e4ad877c6752f78fb495edb8af4d66ebd56738741ace455a4b051bb917441834bb3366867ec10b1923a512e03845fe415227585ee869fa6e0cca1c3980ea2410be7a243376ed3d62e1feaa9fce70743d1338de5980d8867a2f41705a5b8ad1b184ab9028b631af0d260e4189d49ea4adc203b4b7559ee2419c4e888d3451d4a4b0bc8a2c5612c75df9c4d94c67ed7b95d4d8bcae3695ce15a0edc001b22b74ce7a43da1c86de55a272af42e59fcc74967b3c26748f7dba98998789757467c18084ccbb1bb0b3bd66a9b04a8408d8b7bf40070d596c16c1bb6a5b555007acdf23634e6b4438b1493d7844c652c5eeefb023a4683b6b00bcf1ca4ddc7162fc1109d438806b72439256752d1bd8f4821aae8c27f15172fb985de90438e70cd55e450a96441cf039aa497b2aba90af95b88805b4913228ad3f266ed879227c803550264d5f1102fd2378aab20e2039bb953a8aa11873189429e3532dab353aeca7cfd3862878cb11854cbd8ba5e5f146dcca41448410f1e530fa386129b755d867363b40a8501c59720147d1aa34276e7b9dab11087724dfcb68de1f81c3841cb6768c93c473a4e4a881000cbb6950b8471728b615b52192bba8505813277cbba5cec8a04dfe43beed8a03eccbbd5b79a72349bfcf5a58fb1b39ed831649751299710777a0585a6c95f74be601ba2ac7884863c3703880d6e7858c53b68dc82968aa63ec6a16a471547ec8021ae8a6d5b038701c5b2ffce1969c31abcdf6c36589cf7e5954d445aee5f742c7aa6214c285e0bf348c0cd2681616ad52755444732122e7bd48f9ef851115a380dff0b539b989459d839f475e75c8a9a89ca2f68a4eadd5674647698ce7739f44458fd95b81b5187e59e
+deef3ddee4fe4a1938ef4bb1917301cfe1850e04c90938e4455fb1513d8a18c6
+Ciphertext: 2cf01062109e30d498fc962fa54d494de1525932dc971014389dc86bd14ad63c2e82532e20a6108d2ebc0350cde6de7aed8cfe8723b94984add2b80d77f0e688c8a1745178a76098e842111eb70135c5a03d5c79edec0430eec17ee8f93877c6abcf690b6a8413bf8d372dea0f90a7f5deca68aad453e3885c70d34f76a45d525334497ca429850d01b3b80772ed0914e8bf10a93392bffeacadc0d6f30f90a26d0e45b8024b0a37f6dbc1643b292be7d5bbd3365aa1d3a3f0031f33a189617ac400227e10671d7a4762175547001be853527421b27883d10209a0079a449b08ab932d1b2c9746cbb273043f0f425e6c0d0b48a1924ec649aea7d2bf4b7b71e9fb8c825f570316d1936f4166c4fe17ffab8e3ee9be1a4ec8b821a6e782d46f5e0b28e5fc6686b9d087740a4e6f371ecaba8ff779d70f8c45c94b6a1ac8304cc731bc483f49367187007151825c52cda41bb1a8f31a176c3a3b1035a82933d08d7352a3ea9372bf8b377de087cdb652def0ff4cc009f2c991e0729c8042dd5d771776103e4bd1a6de4c3bdf88109094e3ffe5b546e943b4b7f7381d945d046800b6f1a874dab5c24bbb79bd3fbf7e535e17647466151b60d9982d22a5a99119e1bc685096fc53584f436d4a67e32de7d9964e7c0352440c574d91c361fcb5c2a1268b483c36099d4d286e928cee718b27eb3baa10e7534a3132799bd831d08f828bb60539198db215deff804afdf34850560f3938cc4647573d41fe86fbe712acd76a46901cfec1b0a199f0f2190af8b002e2ca6f26f0b7297731d1f839f6844437c3a86d9466a6cba47dd786a883ba036701eb685401a3ce526ea898d131e8eb9ea12ef425a2483f910e62d8dd27e724a719adf78b070da9a5f684a54c1c4068c4c762741f5d9f032de6a12f9dd252491ca783b3ab01df11d7488e2512878b75584af8f83beb67a194415d0cba7400316b18d31dd1f9f6d6303edd6e9fc8836671453bf209f4bc3102ee141c1e768291cc1523ad212c561947079d5cf10bdb27a592c571837de6de2f5fc93062f25292f79ba4e790f0f6eadc3ce1c1b39f9e92
+Shared Secret B: 2586fc52a32d7c06dbbb3c5ac095e9980579727078da7c9937b7e236a186a169
+Shared Secret A: 2586fc52a32d7c06dbbb3c5ac095e9980579727078da7c9937b7e236a186a169
+8a4dbe45cd8090c5eaa0bb07865c2c82314a4fbdcba8b1ac0ad4d9702effc5613e06d8a296c66a8c911449875d65d7981c82335ec79089d5eff16919f93bb3c0834157bd5cac7d51025d9b0c52ec5a9574cddea7b5ee56b51e32d4b518b44f2f005c6fa44c7529f20240e8a0e44a67d72f36a1d2072bee3bba2e77321113ab7ffab2e69af2c69888ab0e2234d07874088faba3843c796d1733b33fe03964313242a95372cff3dec7863c05565b3a10f8ab9a380567d82873b1d72121b7b4d991a2fa4847823661b7acf46ee10e3fff107b70a48caf884238f437ade961defe52096f5cac4d05e8297d3444e408f1dbd7a1bc4bc7743059cfb6cdd0b986ea199448ce8e1670e5cfc34ae646fbef4cdad25fbd3f1baffd8ffe42aa96de11e35981bed96dfc82bf421f460f88926dbb37ad402257dd813a38b7c4c8ba90772f87bde81c042f6e5426a2e3eb717ef4f8e2ddc883920915a585e17e10f32ab43eaa7de5a8b0f0e9ff3df0c071b7524406ab58063335327bb3843c16750c0fa86127b15f698747c68fc56f39be4958ab180c50ef63aa5536c58e6e8ec66aec224843a5daaf0aff417a2a0b068a9fd413a028fd0940f93d0f406dd550c3aaa31ab1142c376645e152ad6ae4cdafa83395fed3c775e0b599af62b338893f1e83b2243295d613fb2efef4e413a65b6c8861094169994fc99bcf26f35a27953fb1e5bf265e77a33e01a97d628b5add7252701f1ac4b8b2f3332a17c613391230a9c587bbab2c64035582eee1b9d987d658446f66f3c451c5a4c6ef50f5e9265c1d5b9f3e2ad3457a87dc89912d33fd971b87d7851fb9e76783991ff9fe020af9a6c3d659e4e666b61e78511151dfa3de90adf758745182d3aa439f0e178e18091d35c40d529c559fabdc472286e11a0750f9371b4370b06af7c3bd49948b396a408a3a6831d9273cd534e2d26dbe807b2283cc61e63e91c4e0e618ca0c4af371838edec0d835aae368de2eb582f90483116db2753e868c6ba1de6beea69b52bd938a6afb54297de68662833c1d528b9d10c874d43f67bb247112c769ad5284f1fae8ac7c33
+Pseudorandom shared Secret A: 9f671151e38cd31fcabb41018de7f49bc922652fb17053caa812131e67ab1ef7
+455808d75b3c900dcc2e065e14e887a25213fc15efa338b72eaee2fdc13abc8de370a8c16434e215bc3169acb091d9e3b5d4d886547217435ba3fe667eb9d57b
+Public Key: 52eace23844ca4d03a04a24c6f690426d8c5bb2371ea223f5e20929af968895104e1458bdda3a26dfb1df1ecc5cf222dad77cfd9d189eee725116ac573b031f836738099374a123397272d461a31b4237c6e069fed79b09ee4b800e963ce334c4eba1732c341fef6b963d023c6809e8779cefb5926056c73e1a4a04496b590d29c4488b4fb9614eeb272a29b18b412831857274dec9a65dc0fad556eb920ca2b975726c6552f82a93d405f489b0647999ac99cb6711042e9daa33f97c602d395ed0082bea17165f0500d2a2565f596af482d8802448b556ecb80395f80ae4777322f983f862917c09157c8969fef991f6dc69ff8486cb557b3c84029b9a772d7392a861a6ca61973c0364b3d035c6181442c1285121737ee62bc65e90f969491b6299fcd6c5f3907b3d9f03eaba529d10ba700ca34723ab1007b95b11c5516e1bc1aa9c92db3856ee40d00a80263bccd9ce4ab38535f9b48bc5beb829c609f6b0a01b4bb2307008ec6a436b6533df1b4c5ef118519d43e96dc0f63fbbb8fe5573959087b356342a75f0479a8f762b27653ba99c4bfe8273de832c46078750e79c0a801ae4bcb4896a9147a498935d91f99a139137b359a19b06e7a1d038103a5a1c23ca348966472849c2c1a0883e6634872146f7bfa7ba139b09c24ceecaa9623f86e61dc23ffb51623c6a0d8a0cf59c750d7bbb42c4372dd4cb648f40b1a40a8dcb0a416235cc9458a679c6766e68024729ee50779f2d66e2c0c31b6b4c9ba59b79ab11605200647b4bc0b116280e307a7957b94157450d1970d2abd628086bde14bdfd651d710b322cb5a01212bce5986cea8c26e5b573dbac47dac9a36e348160c7c3a859484d97be4722cc1a94268933acff7949cc56d06d764d8234b3df978d6a80154f7ab821805f35a6a1df1c58cb5013454b2728c4bafdaa8aa17875225bec3791fae017e6f107af414620c628e48d32076424d2d6937a33a3c2210c931a0220413c3eac537b13a4ab10827de9995e70775b607c388e78f61404cbd2abd4ab7cb64646efe587ec9284e00fc6cb9101af4194076b255627326cd38ab1ab8ffa17a86b73241c2c66d2d8ccf5f929a22e12004070cde1684bf4d816db3
+Secret Key: 48bc50b26bb9a74133829c4ae183341931117188b23ae0404af99640fc40ec987a829a2386b09ae655ad2551134412473497bfd024b7eca06885a3b38774766ec7bbb5da21d849424318b6cedb6dd360971b298090b81eb551c688fac1b8406b8c84b41c301cb7c8688c972e6f351a70d22226023a37f29a79ea7938a0454e3b38f93557d0627746aaa9911b85ec928ff9113b82e1c71c5551a3aca0ac5c814341c533bb1bfd26b6d27759cf8b1d2f6a257471b5517826bbc150d80b74dc54675e44cc857ba196452161a231809b971e7903dff68a6de0a754c9c939d54dea41ca60e1c8ce3a442159b3d79ba3061368d4191eb3d90c1ffb01070965bd542393aca8741ba81d499a47d4ad8c52b81826acdf3175b66696899a812db08f4df4b25f6babfe016ad24c421518b812d156d8b186f9f1926ec61a01a4ad0dd44c69849e25a67880b38db01396e8b00596f10f1687cb0b82523c57907b8cbf762963b30751791b3a847b2d425648c69745bd3a9643952786900b9f0767c5765ed939c299420f42e021bdc768bbf15909401c81d2c0efac7932452f7be41aad800528eba6db5823e2c30e15c8615bb65223d88e0c3c1a001c656167c80198626b99567553014fb2514a96395249a2894786ba103be600baff86b9d1b06470882825773febf21d1ab38f9d32ae995654f5342921c27ecdfbc6062222a4ea8509496cd870c35bdaa7fb29191899b96662b61f275924a3ad94a5b92fc28a202935310a2597970234d0cd550a69d2a50faa089badbc082a2c34d3275fff509a371210487b8397a8ad48a240a6d19fcad243c411985a314421f5b03ea244211823d59290baebbf3594ae5f404069aa840e907acf18cd33f2cd954b00f2112cce147470ca75d87323a5a758d5ea81ac634e2a544dd5e8ad2b25cae068c1a419b0f6a81cefa6a1a3774ca6b76be9405cc13308a659582c19790807c9d7e2bc19950c3d324ca5e3731a245ac2d1b57573c4bec35a56126aedc14753d17661361391e814bf89b8e5735b2f883b7ed09cb106314528474b5a7cbe675a14ab2a3480c0a9d6c9675cca52eace23844ca4d03a04a24c6f690426d8c5bb2371ea223f5e20929af968895104e1458bdda3a26dfb1df1ecc5cf222dad77cfd9d189eee725116ac573b031f836738099374a123397272d461a31b4237c6e069fed79b09ee4b800e963ce334c4eba1732c341fef6b963d023c6809e8779cefb5926056c73e1a4a04496b590d29c4488b4fb9614eeb272a29b18b412831857274dec9a65dc0fad556eb920ca2b975726c6552f82a93d405f489b0647999ac99cb6711042e9daa33f97c602d395ed0082bea17165f0500d2a2565f596af482d8802448b556ecb80395f80ae4777322f983f862917c09157c8969fef991f6dc69ff8486cb557b3c84029b9a772d7392a861a6ca61973c0364b3d035c6181442c1285121737ee62bc65e90f969491b6299fcd6c5f3907b3d9f03eaba529d10ba700ca34723ab1007b95b11c5516e1bc1aa9c92db3856ee40d00a80263bccd9ce4ab38535f9b48bc5beb829c609f6b0a01b4bb2307008ec6a436b6533df1b4c5ef118519d43e96dc0f63fbbb8fe5573959087b356342a75f0479a8f762b27653ba99c4bfe8273de832c46078750e79c0a801ae4bcb4896a9147a498935d91f99a139137b359a19b06e7a1d038103a5a1c23ca348966472849c2c1a0883e6634872146f7bfa7ba139b09c24ceecaa9623f86e61dc23ffb51623c6a0d8a0cf59c750d7bbb42c4372dd4cb648f40b1a40a8dcb0a416235cc9458a679c6766e68024729ee50779f2d66e2c0c31b6b4c9ba59b79ab11605200647b4bc0b116280e307a7957b94157450d1970d2abd628086bde14bdfd651d710b322cb5a01212bce5986cea8c26e5b573dbac47dac9a36e348160c7c3a859484d97be4722cc1a94268933acff7949cc56d06d764d8234b3df978d6a80154f7ab821805f35a6a1df1c58cb5013454b2728c4bafdaa8aa17875225bec3791fae017e6f107af414620c628e48d32076424d2d6937a33a3c2210c931a0220413c3eac537b13a4ab10827de9995e70775b607c388e78f61404cbd2abd4ab7cb64646efe587ec9284e00fc6cb9101af4194076b255627326cd38ab1ab8ffa17a86b73241c2c66d2d8ccf5f929a22e12004070cde1684bf4d816db344d7532a7e53c08261a83f95772302ad782a59ff012bf144432d3304e6d8dda6e370a8c16434e215bc3169acb091d9e3b5d4d886547217435ba3fe667eb9d57b
+4533bddbc03458dcf0885c22287c8663585b80fb548101d26476746d72f804ef
+Ciphertext: 3150f4a491201025c0cf53260e5a5608a53b1406e4c35e4967047ea5352476e5c42e8fe85d2311b59c3da67ec9dfd3ea813e6d3273c6fcf94385ed5ad92a707d526a605a88d3e2d732b02163c4039e5519f1e349016d793771c058f297b56616aa537e03e2ed055cbbdc75c59fc230885912608fda703c77b920cc2e67071fc22278b9f80eae440557373433708c3d239a3ea7f9380832841da512c336d5b828077961788a4075e2802d4886c50144800fadbc32ef18583da49e876d6243de09c19b64681265286189646439fa14d880797b413a2dfb1838b212745abbae5174814b27e38de3e6eb6484fb353f42dbe09e3328eda2969787f03bc0ca382796bb6974fde826aea8edb9d63b629c88daaf86c755272e4d3d70a2711f7870b5b6275538e7d8ba7b57e6709f97bfc6d59e5df8d1ace2f7c183d5ab89b1a13512100323bb0e5fd203eb66156508a13efb3f9e75873c0e5ee287ce878364c65d081a54337b9649e21b790511852d2f52a50f72c32b48493182bca4b56d2ce67e269960a20a3c541b049df1433f8ee16e842498f995de981306854a0094ddf1fdbf0f42ab5a15b079a5462581bcd370e67bb16985bd93cd6832637818a38b4c96fffc817dba26995d0c8ec844608fe1dd822c2666ac68fee69037e39c303a1f01af1d34a590f89288072d8902b29828a228c3b683a348f335dee2fdf2bb7c077066275100fc85f28a7d33f26997148c687b4a47d07e1670961b316a3c751d40d23f2bc6fe89658a37df74100ed8d69cc28763b9a37cc431a4989bc87e11c3336b7ef5e8b1642250a5be5b7705db9d15a476baddfb1c2d2e45abcb48d58047c42004d9ecbe455ccfad856e74021a4b03bb744c2b2d907968db53eda0b22ac7693950d17315794a272991d0ae20309d02cedce08d3d504714b331726b24f13f6b87703b4dd03cf4cc586f26ae2847fb3ce7c7de70bb981d4213b9f0a454232f0290ba8f1b80353e3be167d211a0ae84269821defe83e22478213d1410605c45f256b0616950822bd87cef48a0d820a563a26fe47c9e04c27b015d64baa08962efbed511a9
+Shared Secret B: 4045cb24eac345c56867dc85800aa694d797e1aa3b8f7da0333d1d05b9f6ab36
+Shared Secret A: 4045cb24eac345c56867dc85800aa694d797e1aa3b8f7da0333d1d05b9f6ab36
+0d44e4bf5e61d461d5503d3a7f5b3d01d9d9dbcea43eaca46825dd781f603ebddc931079ac0f8a94a19754780d16a457b7af3394c82e1d4ab662d7421e5bb1c51705107039830c6652897631c215fe4e0df49435a7410f66e1ee671a3c9ea0bdb2bfc7b2a64d25b4f5752e3af70b0a0f038521f8017711b8a98d04171d20b22fa88f56ddb6e902abe88a05335d3cf5ee504ee38a22d784049ab54a24c9fb3cec8fb3a7508db718e04b6bcaade48dace4bcd426d24b7cb2691fa906e6e8c5f86b28a4f3243fabdd79612eb6173de1e205fceee18b3fc640ba36612ae6331d1b483985e15147d2e025628a11172df7fc07329ec85c873a28db927683cb6c477de6142deb757c817ed2fb03f62ab9c3901be16eec2e1c249ee1cdf7fe24d94668db6f540d2faca9d5fc8ad17e284c8d52aa1931efebe31fe5787571716efe8ce1edf34ab60c9ea5211657c77f301af247affaeef7ad0259c6373f21460a46b4fe7b2823ce053813fe242816afd5c2f9acb5a6898858727363b0c6dabd2e5e08c074d9558378bbb517b4e61ee3a94dd4a45193a06f50183b7aa417b0a0c5ddaf38321bec5d8445ddc352c09948de14e2e083226dd08919de3ba1e4b3c8fc6d52cc517659ba83faacabda849d3296a05861cfde26ab1023a6a70af8d9e2605612da4ab5d9eedda1b6d8b36933c28fb7d61de40521a4c071e0143a09703e951686197b004e5f960ceb35e50933a5b332ef707a64406748cd731ac635e3ed79652742c3223257eff5c34407efc00e05be558f8355d34801bfff053660cdd6613befb2b9e2e4ee449fd561266a136a48361e6dfa9aae1df0c20ec9143328e4ee6f3a161a26c417c05ea5d3aed32c222e1f81a5d01828e5d8e98ef3845f966964ab8f762f2538219f1ef58058b2985b63fa30a50d715e9ca65005df24c0b83dc6f63d316a3ebb8426f80d6a6d3561cbbffdf7c6ccd3877995f75df6aa61784bc3b2c070af999cda0f9d9a5f09460aab7a1396c9f67f5e2207cdfcf916c07ccc26ffb0bdcfcb3749f86d34ef412ccb34e75570734dd6b51226e45c647f0849f703e898b09f
+Pseudorandom shared Secret A: 14d7f038b4752267da66125e3f64cc7441533afb92ae7a213bc51049c480786f
+2eb4d0911a87ecf849fa515ef1a4e7e7567172bf9a667b7de1dcd6c7b041eecd1267423af0c106e0362f1466267dd0912e8467116af43d9ec98bd7f306860c3e
+Public Key: f70740cb61282558ba945260235b2e5b1a647d1432b51a6687b0b5b3da237df0be6a71268c0599d0eb10a093303ef1853f5bba30c85f28a197222b03efb78b0949068a3a12a8e2cd6c3882db944c969512809326261666c202c2a5e87fd0887ca918122159abee15744048b9efb20917ebbf92f299f4d076ff75b6a61835b2e38cfbf58d7ee8bd0b370ca2449d87f35b48729c03f4b7b662747b8b7daa844d4bd3a573ec89aae6328ab05f58c61aca4c5b68d56116090038cab64ba57101863b3b454fd0c850736a32bcd829ff99722bb57a65d848cc5806e6230e14eb89b33168ebd834bc7a7283e92890643a97a47a5e06697c130d90dc59316482de858bf50344a0353433e598bc412c3d18157b68a2153c0d5ab03f40e45c7841aa5bc91c38394ee3d2c8a6f87f37c25a5cc8b4f62b34f19b684a70644b753a7af593f8ac7c47e7249461648ae54efe453e6ca8aff9164c5179170c827ef85aaa5487828cf440a99b4fb3b0003773b2b3baa3f2b176ea79c51a274e319687122587f8b013f2a3c19a94b4e9b71500993270373a4f8064d6877c2b8bcbfef29dd4441827e5c7d855cc997411a0ebbca34a62847343389b10cfc534d124206d6b779ba24338b677a507b816a9ca7844572909b54be2ae1c212601cb8cc479c83b2845ac6c10aaf25a5ceb22be1ca68bc6ac1a60769b541ef735c6aa709d65520f687315c19536ea9113f902482fac99d597bce60abacc077d9ee20f88576c7c3a004f218232ebab86ba4ede7035d87132f57259f8264fd17b284f8c694bf75f8f958eaac842b43786541412d480973a3072b5d68377a58a40c60cf23757fcacae1ffbcab2ab84eaf9a41db32d6468525d95515a14a296f32b86b118150737706c31ec48bd6415756e6c7a998a98dbf63a7cdb5fdd5c9fd9759fbea6872538c00457c94b40771873cb25824cf1198272aa100e631ceca9960b723ac31b943d3838ef5347528846dd86b46bdbb65d810cd5d2a95bc465b622541b33589770b9a4d10b054337d48670e1b5aa0c945d5209c457a35c970440dcdccf46b1528f88741935912334b42e6d828b4bb2c5418b22dace1a6e8a54cc2c9df3d199b54a1ff56c3a058d596f
+Secret Key: 5055ab520cceaca0acdb3454535567a2d90d4fd45cd583270c40509089b65922baeafc85ee62a200949522381af27177cf3290554944e1d65d52a60ecd8c9d7f5ab30b995eab829305bc8b2204b2efbb5f0428149ef05714063b266c223cf43bf8724884f06c330b38c76b6558866365d60357aa34009a162cd1c4d0ac5b15aa006ac38797404c2fba324fc53c072470d6a8b69513b1f198c0defb530e88acb32b1e3d17176dc73dc5e922673187f86571160cc65de5768c477bb98294d8f8af48a50bbd97b7e5f9c7f7a210e138bf5e586c266c27c06c045ce1452cc09446e7a90dec9327e325538a546a72760d111979781961830ee26946715c1535f12b00018c10450100a58fb82906c8e285edc556eb1b516ed940dcd592b320b7b5341b819463281957edf38651998d7df57be8c58a3a6238d7452bd861b87da01a282620947a7e79aca021d69849436423ba3dbfea569f7079026c95ec56bc45478f1e997b43d22ffce7ae47bcb0c6c0b4d103ae45f4a922843f347a7c56759a1e0b7372a9143a025422ac0d8ed85b3fe35ffca39e25ba14fb8a33b49932db8552fe912c15b96739b0a28b1356fab3bd51da154dc95292c97404806fbc82a6fbb7246a252bd771b09c649126301839772689567a9354520089bd57554bfd673ffa9475c007008bb99dda5177d0a87480c7538bd58c2a012886ca7451fc5bbec3b885c15a8c55a676307f03c1cda542732966ccaf6c0c45b22cff57cc7a931ea0e4b8308275c7b53e8f153f440ca8d8ca523cea3436b32e15f890726116f93605bd509fb7368acde26b8f1326a6613185a2814a7a6ec8f517ca5599ab826160b9bf83159a2a132a79111930726ce8871bdd821279448b4c88876fc4b759a72a87a16ae8f6c8af72a393d7ada2923f89e86114f724c3dc97e7891f36e09e79482c5e0409a1c62cfeb331f7818dbb798d61fc34091abc2e19a5a58013a0ec08c799958123af90943ff9ea3f01bb6ac294af90ab8152a39aa7f23703342627605c17209405c93b98780791e847072a72edd0a2540b6235d5615623c0591c11058991bf069bf70740cb61282558ba945260235b2e5b1a647d1432b51a6687b0b5b3da237df0be6a71268c0599d0eb10a093303ef1853f5bba30c85f28a197222b03efb78b0949068a3a12a8e2cd6c3882db944c969512809326261666c202c2a5e87fd0887ca918122159abee15744048b9efb20917ebbf92f299f4d076ff75b6a61835b2e38cfbf58d7ee8bd0b370ca2449d87f35b48729c03f4b7b662747b8b7daa844d4bd3a573ec89aae6328ab05f58c61aca4c5b68d56116090038cab64ba57101863b3b454fd0c850736a32bcd829ff99722bb57a65d848cc5806e6230e14eb89b33168ebd834bc7a7283e92890643a97a47a5e06697c130d90dc59316482de858bf50344a0353433e598bc412c3d18157b68a2153c0d5ab03f40e45c7841aa5bc91c38394ee3d2c8a6f87f37c25a5cc8b4f62b34f19b684a70644b753a7af593f8ac7c47e7249461648ae54efe453e6ca8aff9164c5179170c827ef85aaa5487828cf440a99b4fb3b0003773b2b3baa3f2b176ea79c51a274e319687122587f8b013f2a3c19a94b4e9b71500993270373a4f8064d6877c2b8bcbfef29dd4441827e5c7d855cc997411a0ebbca34a62847343389b10cfc534d124206d6b779ba24338b677a507b816a9ca7844572909b54be2ae1c212601cb8cc479c83b2845ac6c10aaf25a5ceb22be1ca68bc6ac1a60769b541ef735c6aa709d65520f687315c19536ea9113f902482fac99d597bce60abacc077d9ee20f88576c7c3a004f218232ebab86ba4ede7035d87132f57259f8264fd17b284f8c694bf75f8f958eaac842b43786541412d480973a3072b5d68377a58a40c60cf23757fcacae1ffbcab2ab84eaf9a41db32d6468525d95515a14a296f32b86b118150737706c31ec48bd6415756e6c7a998a98dbf63a7cdb5fdd5c9fd9759fbea6872538c00457c94b40771873cb25824cf1198272aa100e631ceca9960b723ac31b943d3838ef5347528846dd86b46bdbb65d810cd5d2a95bc465b622541b33589770b9a4d10b054337d48670e1b5aa0c945d5209c457a35c970440dcdccf46b1528f88741935912334b42e6d828b4bb2c5418b22dace1a6e8a54cc2c9df3d199b54a1ff56c3a058d596ffec59163e45a00cec9e30d3f4a099ceb5aac0b90c6b7752d1427a6a75e76f6c71267423af0c106e0362f1466267dd0912e8467116af43d9ec98bd7f306860c3e
+b310db57069919ae93101274399fc861e15180c50bf7e6b3315f5426d54664bc
+Ciphertext: 8f93fd70f5d0bcc6d2210e6ad849f8b558fee4dd429edded16003b583cfe6ba2164cfa36dff4cebbc02fcc1b5f2351b8baa8ef46da379410a049fe6510a8290aad36f37ee5ed5faf8ff631073c76e947cbf983c1c26ee53419c4d6cdd6a1ee4b953faed604039a7eb4275a909c1489bdd76a3d6f4eceb73276e870f78dace492d1bf369d8a5d411cf67a618742ec77698e1c531e48358d528f7b5240d432fa493f2ac0951b3e21f9c544eb2ae52d28b324e44eecc7fe023ab2b63f59d7a051f59056de8336798eee6c79a4a4fb694c1a19b43b4c84c8f73ff2e7b46fa2810ab51653b3008f7f2f589353f0a1dc77d30c47cf7e3d9a567c2d7b1bb5b90d96eac16f2934b3e8c6de49d9ce7143eb2bffe9388cf080ddb69d15d533c9df9da06456ffdf43b23e33d8b50f32aee96956d4820f69a7bcd134b66f50b96e50c63b699e7bf8a7339cd804c405570d4a4c725198fcbb1d7db576e62b80d1d8100ca7c990172d6ad7ed9d6c9ef7976d310e3ee7d45b4ab99d4961a7b22f22f1993f42404aacd4d20ccd31afceb96f80ccef009f10dd8d8c056e3a95c18f951755a2d8aedff2a9f70a9c129bef3fdf2efe8a8d629a230a73433eaaecdde4325a0e3500d82e6fe215b6cd18281e5820aeb8406cf0b45159e462d223291e32edb26c9f1c5d317d40360c0b4ecebcf5b70264af59ba97fa684948aed6877e1ea16668b8a3a9ce2d67fe53fc70f347d72d16af28f5949b5969d497eeea6322a0edded93b334ac70641563d7958df8b9bdff8a5e264a79fc68c879b0e09ccce1b807f4c7dab770ee1a0473fc8fc0b31dd463843128a6d7ef21efe3662e4ec81788e219c8d8a09b08bdadf699c81e26e34f8aac596d49a053180b6cd401f2c4d4bf677430746eceadb145868a2105db637c2811d44261f6a1a70ed96f3db60f238f7742546faac9319963e42d99a67297061ab6114825b83707f2d48886561f9a01e0eb48ad3322df644f54c04f1fb0d5561cc4934ddf647ca9effffb388dc3500c335c374f34203b4fcb1adb82cb4950807c12bb582071a65b1d65afc3a9f6b20b0ab79c9a9913d
+Shared Secret B: 3c0f94b8454b6a3ad603c9a0eb0f35631fe1713869b9f1aa3e69cb5353c2209e
+Shared Secret A: 3c0f94b8454b6a3ad603c9a0eb0f35631fe1713869b9f1aa3e69cb5353c2209e
+face0b5016fb8b68faddf77abeb1481ccb96b96c48217716ee95827b22ee08f474663f8814d12d560fbc2f52728856104969e82ec0420d22031bc4dc36618b81ab89423060ad6a5614b8ecf559a7f9cad08c9951497fa834e08eb12a2506e25f0716683a1fb4470d6a607a243a99830d70aede6025ff7b45b0d4184a3b8ad17c4a10c8278dc26e56aa78108cf575d8f4e61c0f1a1314ba7bc301ae1df323e6c14a8da9de6dc54d24acfc5eda5d43c6315ff0b7a4303d416fb82a738b053228534f076d682c3a3cec84d16df29eefad8ad2dceca5aefc5ca7bf0c09658cb1ea91d3bc9d95164da482dcabaa6bbda4eee19f61be2da9a8831c610bd27984407a7c1e35b38d5ace61c5cedf6a6158dd514b314fa1bf51f99056a613a5bae1abdd1f4bc08e46b33d12705731b3f228550df8c1a982032ce234462e47f2fa5c254ead3106b2bcaf7b824860e36eff86a113cfe1ea4189c84b11ce2204ec9820f1686a0a06d6ab6584d4463f80a7e3b126bb59e71da53734ec14690a3414f7e83d78dd2652c90d79fddee9a00e21e5a79a4bc6b0055b9bd516503dd6559ab939947892e2f47a2ca861d7818acdb30b153b400d4698a41d552a7cb80467335f7f230ad7624bb7578aece725d33c29d6d148ef93b863ca8631050ccc40ed584d6e0d887a3f572cd1afbb91acb0088116071e855252f9806a8fdbd1c9f86ad00ccd5c2cf3b1c651dd9db8d70a148c05ea450d5dfabc55c54320a91c6f258e942eaa7d944936cda719dc25f255f8220a610cd5e25d71747b5f19dacabb27bd78858a4febd0e107021aa14bdcc7ad800e995f29e977a984e5d8500eb6d93c43c77788099a93a1aae874b2f2778047b6ca0547170b93953483abff639ec39e579a733bf2c437d737b4b14e2ec9536be0b0e964075b0445d57c6456a8e34cd6864579f664d5f5bd9af69c31b723a5dcd00b6896f420ee9a0357c734d7f9b3c9f4d0fd16c4ccf51e64f57d162db58401eb323a0d145271ab392903306a11e4488ec7da177f80f3345622955fafb12ce4185da1fc74394f38deba3417e7bd0f9eee40677914b2b8
+Pseudorandom shared Secret A: 881885cde7dfcae477ddbc1450dc4f43b7e647eec6b4c66442d4d63b7b2ffbed
+37f414a9f2817c0007b32657cd81b7ecd755f1ca8180ab9d3768d40ccbb4364e2e7e9abbadf477b527463730de6294f3aab661aa0dd5fa2a12ef4958a903cb33
+Public Key: 888b6766d8af5cd50f135ac5406ccce845012d16158d918b58f41cbe5a0e7d309f2ce11ba709815e4482bb49be44b4a72a08c54005ca879234eec3c1262a67a9f50d6c79cba5a01e4fbc7517a07ef8e5843a04968fb18aa2f913760921864794d71a1f7aaca868428e40c2c3214272bb46847695315a224f5a03167f793e3e49afa2b8a114c73898b539d6d23645d12019c2aa6624ac77f043630bab994211b53bce4005abb1fc0eb044a9a37b4b650055c9960b29d463ae2c35f848009e0321734b3a7e65a2dcd2a90c800af24082417386707c58966235b703ae36a609db1c1a1ba751eac75ee37750a5ab46af66186d4c87ebb87147066f1db12380014c3c6c8c346c074537a50e80096ddbca386cc81a0776adb3ace0d3b59fa589940288d3a9979b70515a3641a15a22efa32e52e6a0dc6b1ac00b04aed16f8316b37c21a27524cec647cec3300b3af24ad67a5f5832b6fd0a6afa57a185a7283d883c86331a8a4b48e9d844706a59a5f81ae9067117e6ad8e181dbfdc356b26a8f6241d2334526f24adff95593e79277399afe8b229f1f45e50c09d60d408b122c8993b06d0cb46b2d02efaa45bf4251317764e4c698d079c8232a45582ec769c6a7fe1867f7a7753c0d6c712d27acc4b242dd68c5bca271a6888b2ca3beab368dd548aa96a399a8380dce389235042f2dc5fdb418b6feb6bd778404de621d6408016e34b3b106af2e53497f48ef38a62d1c4a956f734dfe8c15d290a8bbc507aa0721ad439a9d804714b19ab01b478489f4af8b874c488f4bb60860926a3fc4b44e6053966c640c75c95688c59d9650bf6adbc1c96f7668830264dee355d6a890c43876eac1b2eaa045a9070460ea61103469c9ba020f0124689d4ba5960971acb16c7a32b37b572d75a46ff18a6872261c01b62755293135465f3b86d27414080335ef7cabc8b3b61a0993877d84e006d5b5149585b0995b2c431a3a590256b623c212b81409b7736287fc9598c66208a0cc8a11a65c9435e905c6d7e4b1f359430878b4509889fb954c811e8075d213030aca89f41232714b17f92ad3e645da178910f712222bc53412018a5f3a3b69131b3868dc86c55522aea2dbdbb3db29b787e
+Secret Key: 507c55c1e76d579280d92209de99b714ea3266d50434b66f551a54d461834f249445544656a6b9ab46ac4d28c9f3687880b98229d5abed18bdee9ac867649c362742c6b85d19987421349e4d5107aa229748a7143dd211159c67daf2614195c22bd26790194b376b2b13668aa1f7a6e51c24878a50e415530e79c2988b3966b71956611d326c1811a930c1d3429c4b84e4a4bf08d5a7434970431220eee837bcf86763028b0118279c417e28b48b0d0ca95f7b1b1aebae7d413f61c4802aa64140875e8ba5cd7f09a623f7be03633e720774e2c23d904aa2cc854c1471a54089c2146a777b50c6d819a0a844cf23f9835f872eab052a446b7c9f6369e8576fb7a5258a76547479589317b18b9107c376273e11142b302c4ce062fb338b3c4233a25b8ed6817bfab15563a9850a44000a282631f834f1778cb87486eb238ef511bb664bcf2e5c54e55a7939bc7060a4613d39b68cd41ff9833277d018074530774857f0d004bbe605ec92703ae555529282f8016273f0172111415ea23ae6b83fb46b986231cf8183195e532eb360cf81509a68476cf30679124428c588c1f43c0378677fd623900a1ab432f57399656988886e03ea4a91cc81dcc28582d89842f715f10807b8b83538793d15049264088b0d9745901858fd4768c47a605de90a62441551576f69b3aa500425ae3649f1695931d09e620a6a12746d458cc17a8b91830b75520a712a3724dfabaa93b57dc171c32625cdb728c4aeab3ac2e8180aeb1a086253d6037bd4e265603952c7ca907e078c09b0cab118a2a2da5935c554b4539b08d990f663976bab2d19600978e79f19b7c2af270184099c2366bebbb3042874be44510a425b4dc5276331faaaa7dccadc752856566d6d1943a2052565456781f05cd62276f0463e72f5b8dc387544780551f9a9bb21ae90662dd1e480d326ce098c5dd66981d9db7968271f416154b8d96bb19b4f3fcb515fc35d820a97d27675575b39ddf601614520242953d598902931991ba2cbe2265b289a8545b75d83db3d41a89a48f1c535325a5ef9365262afb477a651b302a0a2a4ccf38e888b6766d8af5cd50f135ac5406ccce845012d16158d918b58f41cbe5a0e7d309f2ce11ba709815e4482bb49be44b4a72a08c54005ca879234eec3c1262a67a9f50d6c79cba5a01e4fbc7517a07ef8e5843a04968fb18aa2f913760921864794d71a1f7aaca868428e40c2c3214272bb46847695315a224f5a03167f793e3e49afa2b8a114c73898b539d6d23645d12019c2aa6624ac77f043630bab994211b53bce4005abb1fc0eb044a9a37b4b650055c9960b29d463ae2c35f848009e0321734b3a7e65a2dcd2a90c800af24082417386707c58966235b703ae36a609db1c1a1ba751eac75ee37750a5ab46af66186d4c87ebb87147066f1db12380014c3c6c8c346c074537a50e80096ddbca386cc81a0776adb3ace0d3b59fa589940288d3a9979b70515a3641a15a22efa32e52e6a0dc6b1ac00b04aed16f8316b37c21a27524cec647cec3300b3af24ad67a5f5832b6fd0a6afa57a185a7283d883c86331a8a4b48e9d844706a59a5f81ae9067117e6ad8e181dbfdc356b26a8f6241d2334526f24adff95593e79277399afe8b229f1f45e50c09d60d408b122c8993b06d0cb46b2d02efaa45bf4251317764e4c698d079c8232a45582ec769c6a7fe1867f7a7753c0d6c712d27acc4b242dd68c5bca271a6888b2ca3beab368dd548aa96a399a8380dce389235042f2dc5fdb418b6feb6bd778404de621d6408016e34b3b106af2e53497f48ef38a62d1c4a956f734dfe8c15d290a8bbc507aa0721ad439a9d804714b19ab01b478489f4af8b874c488f4bb60860926a3fc4b44e6053966c640c75c95688c59d9650bf6adbc1c96f7668830264dee355d6a890c43876eac1b2eaa045a9070460ea61103469c9ba020f0124689d4ba5960971acb16c7a32b37b572d75a46ff18a6872261c01b62755293135465f3b86d27414080335ef7cabc8b3b61a0993877d84e006d5b5149585b0995b2c431a3a590256b623c212b81409b7736287fc9598c66208a0cc8a11a65c9435e905c6d7e4b1f359430878b4509889fb954c811e8075d213030aca89f41232714b17f92ad3e645da178910f712222bc53412018a5f3a3b69131b3868dc86c55522aea2dbdbb3db29b787eef7898c949bf1b0b7688cae5425cd40f4757289ea26ed57f50a0f81de237b4142e7e9abbadf477b527463730de6294f3aab661aa0dd5fa2a12ef4958a903cb33
+0cc34d86f31b7c4a74eb78ef0576fe6204c99904104fe724a09a4b9fdfcccd2f
+Ciphertext: c6c3ced1752dc3c7aaa1676126ea6bbce0750a8d0e9f2fadb5c8b9721cd2cb649d9d0f4dfe480cb6a1f66ffd069d4228c100c9f8a0d8bde18823b849f1bfefa3280b5a4b7beb96b22bc2a690403b76300aee835a6636ee56fa51cee7e530b951617a0192950c7f27061e39ab2e75496c269ceb5e936f9e81fb385180e237dc04c7540da41a101aaa94920c017dac66d8c0223d184042e3147bb3d0e07ea8e937902a605720692b2f278c1ab4a361a8784b57f94aacc7115b4a4acf82f205790d3e5b412d51c570edf1281660d776d654eda5cb7623c1b36d0c63c76bfcd0597caaaf4ec721641e3d2ad3a7a5cbb1b037075debd97ba101723a6885221cb0558b89837960dbeddc175a904f41746f8d08e261c1b4d354a98738f2067f59ad1e5c4ca3080ae9b9c352d0eeb1c91346219033886fd881bf2cf6f335a5ca96c5c67b219a184e41d349a0be30c5860d89b70412dd230d18df71a3a779e691e3c4867b5442d7dab1b1b18c4bb43532a70db264b80ec8bcdd9b10e5945495e26050645b9d249af269c69319921182779abcf28aa482e9fc28e3954344d0ffd1ec86d3245cc0377fd48fa3b9f376d4510e6389414630ca8dc019b30de4de31fd17398a915876cb90c29f56d0a664e13de8b3c2cae52947a4cb862f20f9ec957277a1b13670895f9b1dbff661b9857486cd9eb749afdd170ff3395a57e66d941aa71ab7cd4fb9d0cf73abaa9bd0d18cb642c2c8343a35b577f787aa835c005ffa882a04a9bc759e0ef1c56a4ce8558ddd3f263d4903d341d3a957bce7c3e8de7a34c8ba7f71984261997261d03365d1c2e2a5638ec8f393da5fb072cae126489ba4bdce00ced4bfbf8e901af15fa94b9bae0180b11342b1865f8dbc38c8672ff38a7b843dc6cdedc98789c64a7fc7044ebf3078d309ed5fb5767757c6659b0a2bee1212031c8381a5908ca6175f9725465090810e2397963a023d38f0e06776e43d5f1cc1ca073818cbb1657068ee9797817a04964cd59fc82f4cbfce0bb6e77ea6ad9c2b9da2603ec8d1a043db4af0efdc88b0b5e7bc6e08a3fad7f96c8b8c7d3c85a989
+Shared Secret B: 634d3bf5dd88f0ebf9e1adf2c8649247a767d888c4f0d48b2a5a19ea00250f29
+Shared Secret A: 634d3bf5dd88f0ebf9e1adf2c8649247a767d888c4f0d48b2a5a19ea00250f29
+2d2b1622f5ec6588e2d1088f252ebf4ae193760ffaa8537ea3fe6f6a5598c2b32f1b3715ecfada7575aaebcb3d8392b270616100873b0ebe8c509da70a99760b3cec594cc9fb7f97ef7ef3d1623a0fac0ff541a11a450518cbe32e177672c8fe39cc88065964650d7da3ebb2792c088d14897ebd9a536b47b618dda79f4d587112b5ed018e7bc0de0fee8861d8ee70acaa8e18b3db032dfc36bfd040424c3bd551b37cc00295440bbbd5b55a24adab108bf1a0211269910c25b3fb255b2d45fcbdf8023ea2011adf32e7adfea7cb983bf2c242b2d4ef24b592b44302772cdd463996b043f246354b2f4dc70b93248b605776598a63aa3f2652a2600e3a29c4cbf85d97bcc9f0b2238cadff729660e0db64744cb228b46e90d58ccca4f9fe9d3517a624d62ce0e1745433059316e8342fd7db4b45b101d8f7e55aa46a7350a596095cfff29cf70239a4dccdc0c855b7f4786240ea207fe50fad58b297b09640ad401a457ad55e1e4eb9fcd6041daa132e5e96224c4a245d081512c859b3fe1540947894595ce31e5c60b7bb585312535dbddb73319a2676e6a03a802cd9eff5cd4b576c9a5d408b0fc5ec0af1b8dc399e319d14235231c637b32752f7c9b213dacf850f44e79af18094a0598d2ba1942fce0d3af94f5b9b5001e9d9b503243dd65740b7c008ab054874dea600eb69efa57e1d04bb6525bc8442d96b04cee4468c699ce0402d851e6075efb84777b1258de31f463654c6668341c0a13bc8605d74e76041c979ff9de066dc2a4e98c8fc84ae07ca4597ce6a87c92b52a041ba6022bfc009e21c60ac6bdfd97c0040fa53544eed3e5ce48a5e64ad1bb68dda63990c9cb0ff4470429add4475f9230b3e3e2774facb68fc38cdebef625afe64b28e3151eb1c84da00664319230aab240f097b942b5ccbfeb14b5eb67592cf39b32215dc219cd53fc0b3b75e5dfe68276d1c1014be3e9e27b36e885c7cd2215eb4ed122e94c61b53664c8b8a7283ecf9f9b93a8c08bcbb249ec22ab9813c18c06b7c64f99fbae5af504bca7d31fd28500597d6db567003010297edc80509d95edc8516
+Pseudorandom shared Secret A: 608393815d631969f4b12ee6246bbd1d1d5b7f4983fb1d0d9c745f2f24913f2b
+6c0faae087e4ecb8a56f4a31d201d5563da77b6d2c3b565d544bf5fa9d78dbb7143d3fe1ab34aac497b3df5bb769801f2c9223afcdac53dfbb343c92b90f6da9
+Public Key: 91a50727765174eb7340d56def4c54b3e735f5c909ff023724b38cd67b22bc172e75ca8603d5044804b778638b7bdb9ab4985e1364ad173574b1cbad365b7016fa6496d89c617c1d22f77b300738ae38139b9304de550804899085e163abb36d90902e7d958d4b99adf6d9c06a8c5798f12c45a978a71bc986a33785c38d84c22e7e8ca782b5b33715b912d5440271a56f7445e9f529bab573e8096c199712222cc2308415769165921243ae8061dbfba15876341784c72ce271e96417a42c6fa03c12e78918e4e7b0a99c9612d43e7ad1c52707a60d0a2b0c175438ca6841ac213ba2a4050646b097c48dd033df32aadbaa72ccf701e6a9a9f10ba6c855c0521b971c9418706a47111923063ac07bd73a03b83d66f0115ec5228716be75bb0aac49a7a241a8f1d10490c25463668f4a3a05eed41596c952d57ab520443b3c55122512b074c1bf6482a30f538ec8113a25258255363fbe835769cb1c91127f8130c978f09ddcc37f51d06fe396b305e063f6a2cee2fbc18e5a88eb25b276e943d210601945941dd79ca7f9568536b5e8497ff4952d6e4630567b1c41668284d572cb67affcf6919edc9a42dc655d18a82e0126d2a88b22f3b247483de254983bb135fb16143e65a5eceb652fd34dc60457f47ccadf663509383f860b6ed23953d2894771fb7103a6a0a1ca1cd8cbbe3b6a4ec48217ed3779b895b506f732c4113e5a1c54b93aaeb48785c5470badd923b5384e9f84788d23209237beab356bdd39a514b6472abc2ad91612e2f911e870bb286a36cdf799f9746adabaa602b88fbbd05d89f3cf8a1841c8d05ac3569f272c98b63106e8f361e94276a2a60c613aa6682b7721545bee868c5788a388c0839935cd6cb9697fe2431cc70a864c5ff6bc59bc188628541985863f6d62832f08aa50d4546150c455750a143aa2420549279a530e7a252f783f1df25173fb69f5669ae37c90f2870e5e41a2bf35b96850918a3538e5a87e8f114dc2cc3247d30b9ceab4c27747d4f02be9f70bc8e323a560c91270a54407b023ea6848b2a0a9d0a60e68238ae241c5f83a71653e9ad138beae43861bb31baf1baea05b9aaf0e1cfcd58a062603af6908fc381643e5ce6e
+Secret Key: 230c004ac903e7413dffb481d0835864c68271bc80e0a8cc225a87b38009d124a5511cb8ce56cf71b8a2cd4b98242039de4547edd6a4b7443732110e73715c47730ddd4828985027e8782b2544ced0f6ae6a4a0905088df3614dfb47c8aa9431bc4a1fca78b6f4c13f5f6085fe943f749a45de2794a147488d22b86a077aa598a9e9184c5746550f44692e161f3a65aa624495a79a7fd3999d322083cbc15dee80a758c227d66371ae88b752e58aebeba298dca75994348c222394ebc6ea0c4f47e7cbc4e84de5bb32614a939e61886818a90582afc1315e8303cca368617fd724a723b916a2315f38507f64c6f9480aafcb1bef602e7f5497b1eb1bd881469ccbad5d813213808d81d904e0044c0ba6b020a128d2a32b6cca170a333163a00b026459bd36b927e4af742b880514c947f67f458639b0d4a4ac7c03ca362e383795b0b1cadc378d159382a85448ade1222c7724523ac1b20b61419266edf04d3e8801209757b3d377f56c008c42c02e9a0a684b5ccc372998f798119aa9073b4e4aaa5e2d4a86a0c4cc18358d1942391d1aa2ddd3193d35aaefac1bc915669d392ca37515e9fb906a14a779458b365b31f5762f0371cebbc44bb6aa30474ac70d230578c851dcd7791ea3bd67c3bd57b63d122c2ab44247721936fb7b50ef851e3d246e996c92cbe54d2e6c88598b309c3559004303526c79a8ba2b095c688b57c6dae57fe049cdd4ec9b2ceb4445433d0ef4b921e91b0443906c8cc7c7856a505cb16484c97a56a8ff6c4981e25fa6d76a70c562911214aa7c122edb55d8d473af878be9a20e78b422cf8a3801149c9154cac0fb8cea9539daa64c0bf0a2d3492c828380dac77bfcf41df5112a6b80156b20a1e3b8bc057340e062ce44e57f683b478fd329f29b484cb3001f2a906e308b16d5c237733ae7b8262a972ddd88b8ce09b11e12955ce01d6e776c84f222d3d3380f02451f8c0f46d04455b22c7becbb2b003f773278083782cb45815daac302f8bd4907acb1f45f3c4c3988c283f42424e1c7a9812c6217855fbe47c0bdd822bf6400ab411c1ef0591e440c8d551b91a50727765174eb7340d56def4c54b3e735f5c909ff023724b38cd67b22bc172e75ca8603d5044804b778638b7bdb9ab4985e1364ad173574b1cbad365b7016fa6496d89c617c1d22f77b300738ae38139b9304de550804899085e163abb36d90902e7d958d4b99adf6d9c06a8c5798f12c45a978a71bc986a33785c38d84c22e7e8ca782b5b33715b912d5440271a56f7445e9f529bab573e8096c199712222cc2308415769165921243ae8061dbfba15876341784c72ce271e96417a42c6fa03c12e78918e4e7b0a99c9612d43e7ad1c52707a60d0a2b0c175438ca6841ac213ba2a4050646b097c48dd033df32aadbaa72ccf701e6a9a9f10ba6c855c0521b971c9418706a47111923063ac07bd73a03b83d66f0115ec5228716be75bb0aac49a7a241a8f1d10490c25463668f4a3a05eed41596c952d57ab520443b3c55122512b074c1bf6482a30f538ec8113a25258255363fbe835769cb1c91127f8130c978f09ddcc37f51d06fe396b305e063f6a2cee2fbc18e5a88eb25b276e943d210601945941dd79ca7f9568536b5e8497ff4952d6e4630567b1c41668284d572cb67affcf6919edc9a42dc655d18a82e0126d2a88b22f3b247483de254983bb135fb16143e65a5eceb652fd34dc60457f47ccadf663509383f860b6ed23953d2894771fb7103a6a0a1ca1cd8cbbe3b6a4ec48217ed3779b895b506f732c4113e5a1c54b93aaeb48785c5470badd923b5384e9f84788d23209237beab356bdd39a514b6472abc2ad91612e2f911e870bb286a36cdf799f9746adabaa602b88fbbd05d89f3cf8a1841c8d05ac3569f272c98b63106e8f361e94276a2a60c613aa6682b7721545bee868c5788a388c0839935cd6cb9697fe2431cc70a864c5ff6bc59bc188628541985863f6d62832f08aa50d4546150c455750a143aa2420549279a530e7a252f783f1df25173fb69f5669ae37c90f2870e5e41a2bf35b96850918a3538e5a87e8f114dc2cc3247d30b9ceab4c27747d4f02be9f70bc8e323a560c91270a54407b023ea6848b2a0a9d0a60e68238ae241c5f83a71653e9ad138beae43861bb31baf1baea05b9aaf0e1cfcd58a062603af6908fc381643e5ce6e19b329d6721839647c255e5582108ba6e2b5ec4b74ff0732df492663de478d18143d3fe1ab34aac497b3df5bb769801f2c9223afcdac53dfbb343c92b90f6da9
+1f835751a7eb679d9fd304a3ccc6db2ff9919a28286a4b46f0a55c6d33e87cf5
+Ciphertext: 58fc59bb695b094925916b6ca5d0b72e4276e99fc4d889d208a2fca0b5f1e2ee678cbc648d1720813fbef301d43f05d0899095a15be708e9e0fa245fcf786e67bd89cecf7938669288388435f42afd6ef4de01d267fba4b724204ee6be51fb65fdd37c62d9200e0c9141c52ced4bad8089d26f4384946acd95a3af801fb1c5e098627fd0ca08d2eefbaae17e2f86c1219cfe1acdc5ab3568d50cd3831c11bf4ac2e70bb831ff7828e82e5b1981d7540209c0e9c2a3ed5e44891c5b875c29f378e08d6b5b84dcf75d25ae107d113ea9e23709ecc3297c553808f4a79ddb2422a3316faa56f6b1c896cd236a5e302bfe971c4bb74b82472e826e78e4f02a31c5b3a4948ff9293723d4d66b48d0754c79b50426ed6728cd301107727b98d0faaa3da6e363679704b6fcb4a55c280938fffbdc99c85d291ce87068f3d42ff8c9cdadbf782f7a7e6e6d694d2db6a636cfd66435aef2414de7c06fca267a233d6cb4648b3e392fbd653783e4ea150b5241c709398afa65db473c2137c31bf0fe163a65a102f6764d07fc2aab7ddaca3f29818aef89db05053cfa6d47758afdf91b495e8e464d03b4d41be05a2a038ca4d6644c7f25afdbf9fd18ca6773dc5ff4f852cc18f1a493a65ab7c40dac83b1fc2c71b287cf7bfc3974fc6b1d64950633d07f6703e19c63e8055fd2dd9c5bbfcb8f0517180cbc6efa59ca8b24249229bd8029fd2f68d42bfe38ee6f59ea10085f7fc25ac18f103ca7493addad5d6e277640b8b32196c0b0675f22ca8d2aafbdeed6800be41027ae756096d0033643e0f38549abdaca3493ed7307c7a1a00a4489891dd4572a6423ba2ceea9bcfbe7f5983c06c15a41845adc6d63a5889bbcdfecd4eb45903b63cbab1c5905c46c493ced234c91cdecd4bbe51748be72127c63a008dd6a4c703d785fe6d56bbb773138d370ea420e0736331637921d5a071cda1e4f8848c3c9dd6cc30c2f85a9a348eca4f8a7ae08e91838df7d952e3451d8d5aa35b06b12bda5fcc61fdeb5654aa12b9e2c1dfe0ada411ed724f41dbe7ac031e96c9b7c2461d5991855e5fb16e568069d7b7bad
+Shared Secret B: 2dca3bf1a202a4d81da256ef2225c9dea917609af14e56941301a95edf7aef8c
+Shared Secret A: 2dca3bf1a202a4d81da256ef2225c9dea917609af14e56941301a95edf7aef8c
+835d3c5e1c1c70a71f5e8d9a873f4fae3d731df7a66dc4e7e81dd6bc757480b2ad25e75eb2615d1e59095b43abbc68c8443910abb6a31b25f0cd658a811725a9a5093cead7f3d6081756c931dc88e7ba63afe23aef43055b542d4b098be8fef8d773bdc2860b6513ac8d22a72805d9375528816f96ff4b45c7bc61fbea2f7a41cb1df7090653f5cf29444a4b730e7c87c39fb5c07bbe8380b686b9f6cef25eb28189285651a277628fec931bbfe10623b937d8efb39573511671fa78a05c38b6b3e48debce36ca5754a8dd789f8fa172d7dca6c790cab5fd40fe351a05a3109f10dbbf925e5243017cb46a17bee6da2ff667bd645b4d293b6d2173eb4fbd99641c1a8df60941879cfe1885f04d32f0ff4f2d0408bd4c955a997002115467e20a592b31346da8d8b52186f886a3e1f937a843c6c8e802eb8143fcfc91f252e7cc223edddc980626881ae3f735d44bbe5407f9e70fa9d06fc9a9c360bb5baf821c6b015fb8a868b8b91688de2aac589fd0ad15cf6b6f5890155faf3ed7fe8fc65b3d788ddaeeb752fd104e9dd942005433e1d0e81f219894e8243c3ed60527416591e3171447a1e26f5d22e52a09f4a06996c025c0e3d685f7c007d5730bee3c514bde074cd68322ed39b973f871d074f6af5d89690ec8f8912fd19bec49aacf7872aa2290c4e8279e3ffce0ee8df8a39d1d6b25484f6762374cfbbabe078689416728b75fb58df0cbb497b43bcd38f54ddfff6b86ccb6f6cad1b9c06c9f31b3642b617564c54b53df029052ee2e888c5593e1615f397ff749a471d299bd673ec234ccd12b35421fc51c5cbb337dfb4a4f01ebf708fda9fe0209ac3357bd33acb97614399748ed57d2ecaa6763557f16758f3a09b9579e9720823a537b99662bb686cc48b6b14a4f4e55b13025cf479b7e0396acc7bb50522929d96953b99dd2043bde6e0a2f0c146009bddccf97f710a4c85207370e390a37fa485ce1baa7b35eccafe75ad756cd4d2d84a9caeedafb1d36250fd4f5fda600990f4cade2d79b04e58d6b0f1d4ca450b4b9d567a1677489575687a5cb9c91fe2ba2e194a5068645
+Pseudorandom shared Secret A: 84d570c61d8ff8faf81f9735f10dd950319e0ca97550dff2ab8c6be67d025ca1
+0edca6aadcb2e33d71c5312b9db3386936f04866016743ab140b738176ac4b9c82e688bc707dedb531189fe5910924512c265f24cedc53878261796c99ca9706
+Public Key: eb7505fca4820cb23ef6a25d5731bb48026c710b6aaebc8dd32842376a02a4e5b8dd37ba6868b0dd831b8d91ba94a6c752e13b5a1a45006ca3262cac1b69507a548a0cba81bdecaf605644ede9219b576458f1543ef7698fd4bb6dd58ac11374c3da2c3bd83a791857d3d044fd1156fa7857087b0628a33169988b8f5a6047f63010f1c05881b881b11861110795d1342e6c739d27100c64388b8033bb9297da256ee9da62e1f733df7774de478c7fd40100e678263407c7263462231c0af0761d560ab2dc48c3168052d09f8f935e7c4740c269525c72097b54971e30828b1614da18414d5229a44bc591e105dbf03a3215298f053202dbae3a55a925103dc87bbb797a0a984ac1964b40bbe6a25191113b82652e97411345a4b6d388e0137609c91d836c597aa31467323027f152cb097858e5abef6a3158231b1bb94001e75e6ef2a879983e3eac2800a577f7d4aecc12aa070c7a2df32244509f6401029d5c02d0a90fd5167db5e16caa96055fc9a29c0ba7f494c77c477c312163335cab1d577b878c8efb0461a50a8641cc9458719b9061199c91ba35bb0ff23aa96423600c362cb0f89bb74ab9c22a78e0f982a4011781c3255ad0cc0e2a8a9b80bf7cf2a62ab05c580b8f229a2b48a33a9e54bf5e81206c82be56bc0b043acbc0629e562278a4c3746de9089a5720a9b2106051cf32fba5fa116829e2c4790c285e59184c1342206b7432462b7e60bbe6b173e57122083a447014cd6464ab31618cdf01cdafaa64ca0cb4f6f922e5010ed5c36d84393d11902603daad9aba6e6c7ba14dfaa3ee4a8bfe253f1e221d16b86ccc760efcfa016ff2068754a89783a45dc70905782796079a28f14c79a4b9c3398fd34086396a32f5db7696f2b8bacc93f4114d77181010a1750c537a01a2ca1911cbdd8651b288c09a1b5a7835b3b52a1bb0aa2d74e83fd156b9c6461c951425810331a5b24e08a317d3229d042252ed1b7ef1e57dd1999c36e0237ff360b7d2c44bb77494c6625e57b36dfb428140a9e332514e7058e297b0ea52c44a75188c831786f36c8e5773bb4c2f25349fc5d62210e0d5ac3c626099325a2606621192754d73e19dbac58d38f12cef66af86b88e
+Secret Key: c6650b6992c052829d58996272701ed4cbaa38d0226640c00cd51224487fb423644700858616c7bd159adb3c30a2a60a34499c253113f6473df271ad11a16ea901a1d82044af8cc3e6a79972ecb0a31533b5466666d9b40f480ecfc11ee11b0636c89d94414b25e5857a824d1365099ea2b5e3408b968c89874057483121e1171a0cb9c3a3aa344666831f4b77803c5a44d22c9865896beb1ee6a091ff83afa8b3ab8a4709992a0ef3848dc61b325d23491bb7a31f2b02129b90efc99de1a139ccf853dc91a98d669c040a8d7e764a0b5393b961146140886e7026770117d962c75b78a136404468ac455d3614f84ba5d3d19dcf007adcd453b0f2698f72cd4d3849efea6a0f0cb262369f41c20cc4e92f04fa6e1e78ce5a7b0c9fb8aa136446106003e8d24d07179675281b6541b472511ad9929aeb4585fee178c8a33f3664b49ee51fe05a093f13c9a2d725ff05b6b61472667a87d3455c95ea67dadb569eeaa8275278d12aca39a15cc2e03f3ae2a99feb8252603332ba0ffe42a8039a1d83706b6fc711cb167c6b369c55acc006063d4d35b91b2bc9dea3ceefc4a2f7614f48e451a0526b9cb18d0eb3bb35d1cfacf652f57a1861a599aab51068cb9c48ea2c865c32fc3305b5db0dccf23032ccb584cb16f090a2b8c73808e47586ca570776078110290f46c53d8953bbf179629a12e2980a19d6bc620b6047145275847c9d43a13d210cbce62261d65434413e7929bc96c25afa76cb662a6ec090bacd389fba494d1ea115ddfc0be88930ae986d2e8a5137fbcd833c37bcc2b1a10bc61145c2b476326e324b78898288caa0608580f1170188b2a3837a9f718943b631a71bf2b325362587b111133c64bd2793ade206309390331cc416070b42bb3d5b838b3c4cc4a86073122561b1551944e5291d205d0e536e68ca8557a96d6117607df779aac80f9a3b614a478b8162633e129fd7b769067557dfecc931dbb7f2b811dbb649af85252424354f8080ff843d34470c2ea033c02a4a340244407b433585442433372af34c64faa07c7198af134c391190f28812fda80a99f24c69d47feb7505fca4820cb23ef6a25d5731bb48026c710b6aaebc8dd32842376a02a4e5b8dd37ba6868b0dd831b8d91ba94a6c752e13b5a1a45006ca3262cac1b69507a548a0cba81bdecaf605644ede9219b576458f1543ef7698fd4bb6dd58ac11374c3da2c3bd83a791857d3d044fd1156fa7857087b0628a33169988b8f5a6047f63010f1c05881b881b11861110795d1342e6c739d27100c64388b8033bb9297da256ee9da62e1f733df7774de478c7fd40100e678263407c7263462231c0af0761d560ab2dc48c3168052d09f8f935e7c4740c269525c72097b54971e30828b1614da18414d5229a44bc591e105dbf03a3215298f053202dbae3a55a925103dc87bbb797a0a984ac1964b40bbe6a25191113b82652e97411345a4b6d388e0137609c91d836c597aa31467323027f152cb097858e5abef6a3158231b1bb94001e75e6ef2a879983e3eac2800a577f7d4aecc12aa070c7a2df32244509f6401029d5c02d0a90fd5167db5e16caa96055fc9a29c0ba7f494c77c477c312163335cab1d577b878c8efb0461a50a8641cc9458719b9061199c91ba35bb0ff23aa96423600c362cb0f89bb74ab9c22a78e0f982a4011781c3255ad0cc0e2a8a9b80bf7cf2a62ab05c580b8f229a2b48a33a9e54bf5e81206c82be56bc0b043acbc0629e562278a4c3746de9089a5720a9b2106051cf32fba5fa116829e2c4790c285e59184c1342206b7432462b7e60bbe6b173e57122083a447014cd6464ab31618cdf01cdafaa64ca0cb4f6f922e5010ed5c36d84393d11902603daad9aba6e6c7ba14dfaa3ee4a8bfe253f1e221d16b86ccc760efcfa016ff2068754a89783a45dc70905782796079a28f14c79a4b9c3398fd34086396a32f5db7696f2b8bacc93f4114d77181010a1750c537a01a2ca1911cbdd8651b288c09a1b5a7835b3b52a1bb0aa2d74e83fd156b9c6461c951425810331a5b24e08a317d3229d042252ed1b7ef1e57dd1999c36e0237ff360b7d2c44bb77494c6625e57b36dfb428140a9e332514e7058e297b0ea52c44a75188c831786f36c8e5773bb4c2f25349fc5d62210e0d5ac3c626099325a2606621192754d73e19dbac58d38f12cef66af86b88e0fbf5cf80bce90767fac2bd66f1a22e3b0adcd9534014ad020938d8f6be7b4b482e688bc707dedb531189fe5910924512c265f24cedc53878261796c99ca9706
+2b196261db0c7ad74b484da0f69b3c2025527d65aab5cc65df6d83610b94a41e
+Ciphertext: 8a8198070eb391f636404c53341a1aeaf60f21924b9bf4b2bd092c3c1ac6e60c059629c585a1505e0212f15bed8667e97d27b280fdc4e33a1ffb369e03be627d870acd4277141d1957b2b483048d8510da6aa5223bdba692bd49dcdf52b9c4bfe333359f68977662d3e80b6ec9eb195057b5b14dcbc03b6487d88e446386d3862d8680e26f14d053117c8fa0bb14b2ddbaf42b6da5f3a8a37985a8c639c1a056af979c01c19c8529274ee7d13991c24cfe3eab3d83b20578d717de5995fa54bb7ee5ee8513a09faea5e9247f7b3e3767e1acbe08b4c327bfe769d64a025d477695b5e6346f4e4be123c421823516e948227123787a308bc021009344103497e77ada807982135dd09d7cf4b17de7bb4e5732baf7167bbb54ad497617e97b8334b154b5838c4ff57edbda13fc5ed3955ef5b4a0d47291057ae3fad5da872864d6a6a5eda190fe8c158a05f801eed2e646501191239ee6dae2bf250470f1c1f9eea93ccbb11f9cd5480ee4e11719f1ea7800391b730fb56dd48c02d1557d4ca9dde494a04e2151e3e7b32554a923217794914efd2d8e36cc724f32b4d68c41f22c38cf22c820a1065c5c443896f7b53a6cd3857eb308b6c8bac35665cdf86c5627e79eaf0cf6d6467e1cafe83eebdcd7943739f54a668c7220312320fdc6927e900e3cda25d41bd49ede7b84d2bb9c40ed5614a7794e1813585363e1f0c9d3d3b20599dc204648dfe4aa4fef09740c2a74fb09e338d011451d8dfc3434dfb9ca702ae910f97ea2400ec1af69a97dd5098c12ae6402b73390e7d0fcf7c7a1a74a19805012475f23cbc4485381b0cfa39f18ad97b22a26a673203d2c92f7ddd91d5759ba49077470a7e61c9147b150e5401f3fb7b086fd8f38c8668e98d723895c117f33b7fa8a4bc16f1d4c87f3ae9d01889803bc53b1671f650ede3c902a1f4bc0bfe7a2e4d29ac4e0d28fe76b8056c8a0b80e76423a7ff134bbc5ac9eb6315d977671af77716c01826f55c951eaab7957b012820cc4aba525c4d16f655171c07766cee63cd0f750bf6afa507807f77bebc04e084df45224bd72492b0123bff443
+Shared Secret B: 223427dbb56e3264f18eb4098200fbcead31f7e171022e95439051fba36e148f
+Shared Secret A: 223427dbb56e3264f18eb4098200fbcead31f7e171022e95439051fba36e148f
+600e507733b6b4d94c695fa86b69cc4d62f4f536c23881b259907944d4b7fe899d3306a4558c54962623cff21883ce142d1e359a4b9a72283a3853733403eda2cbaacbc0835dc465d82e132b66df6ce0dffb5cdfa6942e6a53787d01971f5a8022e6ac8873309c6d027176a865d9bed254a50cfdde38cdab18ccb686ccca366a612a59b280abf5615594eedd0e73b9ec0a96e4ddb8789df226891e19c5a5c61c717ecdcd94fa8cc241e68bf7029528c09864902a78b873b34e170fb30d8e7c91d5022793e015af491997c06e9184d8d9c39a2f689df2de64d6332fe28f4fb0e05b9473d2110f91b0bea8f922bdcc7fb40d2d84acee5f8f1c209f5c8ed3c1c10c315dfa1ce53df0be8afad4a32f8d83cddcb464f924746bd08cecaaaa31984454f23d9797f5312e798eead16b3adce92eae50cd8dce9846e9b44e63e60e0186a8ae387e3ee021ab0cf6c190a7a177d78ee86e95ba4d0efd2980524ea3735f0c4c97036193b263aa02300e7cec7c6d2842b1beb86dd0029b43b7b57c52ab5fa77d91b0f66b8f9ff15d0110a4affbe6d2c54b061a95a63501e6fe2a5651347239784bbd67b1dabcead31a969b0216a7d65184bdfbc4ffdb3883678c537b4e536b933f4758f1584cd1ea2af103a95e64f9de5cc5d2b30f66a0e6aeaf0baf530ebf995df96d69056ee2969b7ca1e50afaf346d46f4a8435bc7571f74b81e026eb71f92396dfbcb7d49edf4dfb238328574d3e7ea21d42340e2e3ce81885af3b2e7d6c0c9084fa8c8d4b0c840987712d694dc0d719675d2ecb69ca55b8fe313e149594a07e1b1db44c1b951718440b641d62dbb602a1bde5b9ac4b0951f218b7b6632acc8856a2b6191dcb026b3beae52a2dcd701bc03f091e0ba27d1bb4de45d0c13c5432b74079268b62c0be41e0d3dd4f7ede4c403d388ff7629b0c8440afad0c0fb31ebd6800e8fe106f9539b1fa5c977c1811ce282be54c4b09f2fba4c08d24d0e19632d8148522dac9e751127bae1882c6cfa1afdeb49c214a31649e700435140310b0aa478d7988c878716544ce31208f96d7b0310d3291b5e21a3b94f9f550
+Pseudorandom shared Secret A: 6eb53eaecd2a0ddf1bb9543f5ab76e608b0885395eeee9f5f22a50f2ffb150e0
+d9cc8bdafc5bafd5546d61dfb2a1e277b8cbdb3c4b354fbab431e59810a28a807814e4a466196538e49ca245f81b248dcfe0c308eb18e2d433ab36406817022b
+Public Key: 65c68277d7243d1bb14b90075fdb8d02b25717f92a91db1c0dd60c2709068784234db427240311999006a1d6222de7070c621ce98c5bd5571fd2a72b99c14940e00f756420f5c0a10818a400812c4f099e50f6672372779f522786e1b1e163ce305a98661b92b3aa09fcf56c9908883540b539e913b7c94f82c8bee41a8a870bb3a31817b1cb84bbdb794af9a2fea7096b6ab707287df4a41174e8247814990a4851a0e94204e7a2e3b80066ac3614127fa0403724583f0e4abaa131179cccba00f79c21744f587851f5cac4b0e997fae4c373f5960ff46cb121a3d4615216c26dde68831e721bd4e9a9c683725c387c2fd6942be6c3cc0723d0a8176ac7b6ad0261eec59f9e87673b2a56e405675b7442097c698267509f284011a23e78653f59817c3285a704c67c8ad26ad24c17bcf8bbe4d388f4db5f73823f8c3086b55acb3b465893da404aba6494d113ae817d0eca9512d342f00501f1b9c0f4e7b47a75a8dc5b510f2a5b4420923cc334448a8fac874d23a997924c3deb3c1ddd1865ee996edb7901fc52401ec02ec7530b848a83f4f1635cb1892f64ae75a27b34811364017d99f0b7fad156fbe58f99d43604d8119d941c317a4f64638f18a0524f5a4ecff941318687bb156ecf5088dc148326726a18803c286981fe6199eae51455f94e90c801f88c75f9b92a207118d1d87815fcc819aa393caa94379683b523749b0c2d86165bbef7ab08a86cb8e78a7a3cb70ce8c95fd2766054c8ee2771a2da0b0890758770b42c45543ad812a71888044926e7a77f0777ab6a546c946c6fc496233b0069738563345b6e6cab4e75bab408f0765bc531ec434c4206c9c8c5485b1a3387187fafd644be9c5179a48d6d2120a32358aba0c539a308e9160178498924a55026e65760f2a87c390b16a202e798231f68c00c2b732217ce9c9c3816ba54df242517442295a7c148308ba5e6cf93f37a1c109641cc7434b4ab989715ea963fba946b9f899230f5195b64b16e8670ad94cc1a6b9744b3c4d7aa0988a050815632c36384885ab9f79b2e67745e5222939d95406af67a611931109577472877bf29ad0402f748066768b66d20ca564df5a531090dc434baa2a06a0f1b
+Secret Key: 4f710a83c0c57958243715211889ae4c01a4b2141a5d133a4b70881a275ed449399ce59543166ab3841409f8b2dbdc0e2ca67da359cf85ab86cd5c9660655d68f836f0e373028417d5511b1b363e8f9b0484abc7287c1e1dd3adb553861e64240005a17b928e172b99cfe321699384481ccd6eecc5ea7373c7e7218bf3cf60304742e6c582d5ae2938c9d2847b70c68274c4b5504560cee671ecf20b8c184a3ceba224701eb07198a49131ac22479776949220b2411812ddf47d8366afe8f67ad4bcb25bb231f623a3be96b8b2887d70c8cf9562311849abca02564d2b17561359ee8827123879fad99d02f257143c5e18c65e38cb629b430c0303b26f06780a400a34bb22e175763ce0172bc90fe7f41db9b4964cf2b910d623602150888bc36db8aaf120b0936004d2300ac16c8bfe90ba8bca8359f2795b107a0d56a9d6135ba54ba2186a04ed96096e9137125040f1146aa2f72fd7da3bcd7562853141911241c1a83cfc391d3dc95604607f588bba997a82a9549b5c0351053c99b0f4091fb9a50ae97e1c367bdc90b9d8751ce25a8885f46cbb717bfb9bbd6580ca9b595418d1a8dd85824e204cdb400fd8aac4b5a605b8d079bd72bc6a8031f9969e1b7676548ba94cb56901f28943e2508e800e1ec9092acb5767c337f6c9920b0c4e40e18895b1674e61505095481a7bb6bd7a4b74caa7bf71a532f03a22e780e1d2c3d6f768d6cc060d99090aba3c43a53d0749cc2e754fab8bb22478a5736b37bd1c9bf892add1f8331c6c3a8cb8b8278cb94d275608da0cc42a0240f54dcc1464cd93c7a7fb4a8ad60893636582fa7817c03e3babab85b671d6544d61934f90533c587277b797800cc3239d497087fa27c4272245ab7613092b2e6950ce6a61b3f6b9a40898cdfa0bbdbc2b71f5091b26559c9479275c178ce71ec4d6a29a729f4e6a404ee70986519400b938be349ce831949eac4ce31159cdb4137767b3b5d0a35a727aa2ba8fc29600ac6320995040a8c8c6665c389e2332fd4691af25cd8e78649a64673e810581c386316453d6d5773f601e95175779110ae8b9975f7b7565c68277d7243d1bb14b90075fdb8d02b25717f92a91db1c0dd60c2709068784234db427240311999006a1d6222de7070c621ce98c5bd5571fd2a72b99c14940e00f756420f5c0a10818a400812c4f099e50f6672372779f522786e1b1e163ce305a98661b92b3aa09fcf56c9908883540b539e913b7c94f82c8bee41a8a870bb3a31817b1cb84bbdb794af9a2fea7096b6ab707287df4a41174e8247814990a4851a0e94204e7a2e3b80066ac3614127fa0403724583f0e4abaa131179cccba00f79c21744f587851f5cac4b0e997fae4c373f5960ff46cb121a3d4615216c26dde68831e721bd4e9a9c683725c387c2fd6942be6c3cc0723d0a8176ac7b6ad0261eec59f9e87673b2a56e405675b7442097c698267509f284011a23e78653f59817c3285a704c67c8ad26ad24c17bcf8bbe4d388f4db5f73823f8c3086b55acb3b465893da404aba6494d113ae817d0eca9512d342f00501f1b9c0f4e7b47a75a8dc5b510f2a5b4420923cc334448a8fac874d23a997924c3deb3c1ddd1865ee996edb7901fc52401ec02ec7530b848a83f4f1635cb1892f64ae75a27b34811364017d99f0b7fad156fbe58f99d43604d8119d941c317a4f64638f18a0524f5a4ecff941318687bb156ecf5088dc148326726a18803c286981fe6199eae51455f94e90c801f88c75f9b92a207118d1d87815fcc819aa393caa94379683b523749b0c2d86165bbef7ab08a86cb8e78a7a3cb70ce8c95fd2766054c8ee2771a2da0b0890758770b42c45543ad812a71888044926e7a77f0777ab6a546c946c6fc496233b0069738563345b6e6cab4e75bab408f0765bc531ec434c4206c9c8c5485b1a3387187fafd644be9c5179a48d6d2120a32358aba0c539a308e9160178498924a55026e65760f2a87c390b16a202e798231f68c00c2b732217ce9c9c3816ba54df242517442295a7c148308ba5e6cf93f37a1c109641cc7434b4ab989715ea963fba946b9f899230f5195b64b16e8670ad94cc1a6b9744b3c4d7aa0988a050815632c36384885ab9f79b2e67745e5222939d95406af67a611931109577472877bf29ad0402f748066768b66d20ca564df5a531090dc434baa2a06a0f1beb545ed606b70bc80b7c0f7fbd0f849536542aeaed017a75fd98796735909f677814e4a466196538e49ca245f81b248dcfe0c308eb18e2d433ab36406817022b
+9d3b153a19ce306a1bf21a76e0e0aa89b3e86e87db142535a67f69b724e6475e
+Ciphertext: ca2cd3e268c2cab87c299a33352893798973c08f69a3b3773edf08ce9f42a45cee84fadf6410de7497cd1a49247262e7094f36676c3b3ce227d831395d2b24f6b1c86d2867bf79b0e95635b3bc00c95c0f45e711a39114c7c934b1316c3cf772b32b870b30583e39334e9a9072c59840020065d7a76fc107d36073478905f31424941db6f586bc396ef01f1d5a7e4d072cf287efa86731f2337425eac253d20a322a41bd454de48b597e301fb9f98b7ba19dca7aae44c4f2bc640b933ed3f83dcc1b4f963756bcd28f8eaebbeece297fc2da9a51f0ed488b16701bb41cfb39f48643394288d547c38abf18d540f76a59425a1852d0e4a461bfd35397d472452842fcf1fbb0a39351c0a91efcf244c5d3d4d23ab693e18a135ae8c0bd435c5f5756f09d664eb9b4d4d763133b0d2e348021c722922f38aaf9e6284215b534c67921c9dd90533b900f02808a5945d2e4a331434d893bbbd05681a0259791cff149683fea0862fdfd72463fa7b2af38778de0292ed04911b5ccb4e5ac467d7744ccf0fb1acf61c18c987cb0c7e8685a30f18bafc7f5ca6137cb21ee01cfab0add04f7bda41bd8296442f36d2ee4393a3494538502e4ef579504864e7d069f9ea23d1988864af9360ca8a90231cf57e20a0ac5be3f5653a8432fb19949dcb276aa6ab9ebc022a6d524fc6ed054a78f116c7be451fc8084cbe88334477f45e456fad0b4316b9eb41d170debb095cf58dea591b5953645d3927ba19daa8c6785d8037e0b1868588ecc5db5cbe5d68e970553aaeca9495cf7dff8e9a54d31cbbf48cf171bb0d0cd7d80f042645a5b2faa6856f9739660eb60e8b9984a7bbb901f47293bc90c97f2209e754c4c429c4f250f36e6712063c91d1229de8916487d77d4f43205add542cbbe4eb7c473aa2053df106639c8292798162a4b7312cd9ff329f2bad9456e3def927a8ba8cd3623abbf57e40f0d11a375a35fdd898649a25b777910e494ac84713c19f215fcfd1ff7a60eaaa14b4511e4c8c8c072d4310bcf3b3225782b1696fbf93e9f9b33ea3a1582cb84572dae55e99901df7646ededb8726ece
+Shared Secret B: dd30b60798af0fc1bac396e0e795b82e2eb860fc469468458479259df97a5468
+Shared Secret A: dd30b60798af0fc1bac396e0e795b82e2eb860fc469468458479259df97a5468
+13114ab308103b738cf7c783f8ee5d550d68568786055719b942b07de735e4fe17becee65c0768e23ccb6f026c2879e9b6f664036c1ffdf22e78aa0d908b2d8c4af81d0243316810b06d8347518cb104ab988048ef75b2f342008f6fc32e924b7f59066b67f2a3d9a0780b7b1dab8269d7cf7a168b0f9880b427d3648e134b6d35dfaf671994535e944441331146d99735d6795601cf4215e956a9e07406addf43021edb1a06d20c8bf50e3f7dc6ea19c027b56af1dcd4b183d6c20ca6b4fc225008233486271b698e06545c395c8e6c153efcde2309c337307c5501204ea818b3120b51b7ced64bd1218a77105a613bde716f979670bf5b9be5d81e33ff48645c06de2d7827d8358525c13967c29001075f569aa9447102869b99164bc57baf6e94f6a3ebae123afe003d188c580613dc04d918bdf7008d2f246abfc906ff871cf9cb45f703293330a4151aafc7258b6f9c8f8ea117da470293a23a4ce1625c12045c85dac0c5ef84ba724409bae342f1dc69d4fec0fce2307b2905f6a90369c0b7d47d1cf14246f6e4e18f0fa5b4d0d420387c7545df49f828c9d7118fb3123e64a849992018f942d71af061c9a1f57a7d09dc249f5dfca04eed0ec75ef2c922fb0371dd8c51de32be703a4c9a9f9c84c9defa261147b70415db3b861bd72d9393d6e057dd8a5dd6e7f07cd65980949df8f9b4d4ffcb200141f72e49ba744803ddec58630f26d6bba0fbd6a88afa6bc0b5fdbabd2994fda7dd8496284123decc902acd585381545351938b50a4ff44c2b2db999eed02803e906b0b37bad681c5482a60160c4bf74b0d599969f43e3b76c01729e78e047886a7505c3b55bb11cebcbcd4893a8bdf45baab67e94e00d99b6518008f58e0eacd0d8ee0c7b6859af378ec81ff214e8303f9da10fccb32cfcfe9e5ba200bf71eb1aeb7709d935f89c0dca256e73735a3a5e88189ebab713fac88b53283d54a2969fbbe2730424ea871523c277215bb07fdd1bda0329e88c1e8efc06ad8960e54bc15e4f77189b141c20cc5d4cb1375414c676aef85cb3f844696474f8b7180ad530aed677047ce7c
+Pseudorandom shared Secret A: 93a9a6544066d9bd026e8d7abbba09cd472cebcb1285867d58bced2ffbd82e4b
+4746948b21447bb7fd31a04a35d96c770a2a7e7e949836d72075455059464225bdffcb0ce902032ea59be8ac44b5f1d47fa534399ae62837ca5de822bb3a65e2
+Public Key: 3072170d16a17b22c4763c876a11b3e523c58434202ba6b94ff9be4f283a667753119650cc1013f493c95a49783eea11af62b23f6339f5e5870492c17871cd09746d77474598b7c7855022ce7119ddf45aaba78d190521a4a5b3b060b244b52a84969cbd632d4a162538501e945489e85750e8cc441531cb97962a339c1d4366a1a562c79aa570e2a53e894abcac76453e2026c93811efa5b83701914662408944a48e8192fc08828efac4a72a62a6fac8e5c49cdc4c36623c92d0a9235f3abe67a65f5c30a2ea338cc3c4024c8594d1b6ad8933b56455c9d4f031a8ac7d5e182d43c537db7602c6003a1ff353fad98421845feefb3010984cb726779271249850adb55b28fdc03e7d740b4f764937a319465c8daf2258cf82961222789c3312f47a1128bb49e28054dc424f245b19a77b219976511476a20ec904006d0ce2434ff8396f710a1f81d34e1a2b4a2e755040097259d57c5389a210998ce198cff48b6a3e7190ec23b37595a0f7f5142c9981050272fc0a9823ea580a85c63ba560208c6cf8c43b4ec7332f7cb2b97134f4714ddc696607a17491a3c233841775da44423260bbf7a68ef8bae4910c5882701a028d0479beec0503f63456792c8ef0d10ff4c2cfa47a7814b168a9c6b5ae34395f5b0bc2f418e9dc9a3dea7b7b58b595b0731e5a635a652d0b16b932c6b7b954c4ac5c1d7344cf421693d711a2ff0737fe986e117b621ce207ba026e6db95c5ba6484729a791348ab1e2a648da8cdff601d6e8612ea3be4a948e941367e9c0bb82011b8144c01c053d1005b30cb167ee042caf8148766b51ff77a6b7da1d76fcbc5c7b07b0d649e65583d346735c1a8451e3b25337a4ac73c219f29f24ba365c28cb16752a8d6b226832ae7cd6a64140bb2a9999f719638156a32e533347b35407931494374b90429b2237c188830107d8a6a723bf82dc7d6351b8888c681d4c79c15190249545d26799ba6925b2f16cd2e5cdbb03b108800a22462ff4ea128172bc0ed89a5291639de52bc779b6c1719550638da8c7916976706f204d7011749a1c0932970073567b143c6a8215453059a6010262633d8a37020a116cfd73bfd548b1fbbc111688f6719af2b1d4d4
+Secret Key: 6c48c494fb593c18cdbd53b5e297a825e49decac568e66106abab1f1f82734dc78f4f5758e894c53143d6d2c4fcf3a106ef9ce9749b6b35aa9c9a062eaa87b931368153c6f11453dc4a406b0630334069205e73ac3e8b73a6492e0083239500fa7805b74d5654e45298e2c0b6e43ce4459496d3a873ea4bc55a16309d631b12809b99b56de78c945da367b945cab8063ce5c00ab9a9dbd572030a85840345a5d377513e369373bafb32463320511d8410855928281d9bb63f5bbdfc00adab18b58b98861856971338771a60b2124acdc3b5313722541c1258bc88edca98b08602f3aa8b911524303b90401aa91d48c138c5a9cd62c5aaaf9a48330481571a42416b566b6bcf7737f47a042e63965fe364c149a9e17c6cffe0780d62303641aaaa87c07976506a52abd98b817516a15e72217d72335d4bbcab0b8a59425326310699f0740a18c2b6e5c7eb8fa2abfa9c57554c8fbe759be42b93bc50dc8322389873ab33c5183243e35ec45bd0b69d46303a88a0ea9cbc329e118162115c179828133be015a8aa2030c7aec546ec9ab73b8c39eb0687c8555b161bc4cb2499188c4d607ad7c5c281a7917f5d35a8da71f2ff3945e0975098056cd2b5181b943444b8dbacc9b39042c87660e29c13f4fec25b3c4b87e06011fe89f70c36d33c92779f781ac126c89b786bdec54b13a85a95a344a780b2bec9c969404d176ce27fa7a386060c38cbbffd78700435c36d264dfaa356601a791f6ae0e249840ec2bbc88667270cce2599fc78a38ff131d4780cfb4bc736f27b4269a9f908bac1030572c8ac164bbcf0051cc24f830c6c47252e1809fc448e6b67aece93f63ec2fd04993e30b52e48a06813448f49041fcd228da257c3a363bf1a5014837264017a36014238927bd653b525ab664d586c148f7081df7422a48abd7066b3d1acd53562287ccc2e6c9411194073854729e56808b33c342c00b8d3179ce14c2dd78474be2c350210b2de35d76ea5412086907717196e52bac8b00da6620f2938f562143da369dd01b366f8ac2b99094d7b05a85658b7af905dd17be112c8f3e4098ee81be3072170d16a17b22c4763c876a11b3e523c58434202ba6b94ff9be4f283a667753119650cc1013f493c95a49783eea11af62b23f6339f5e5870492c17871cd09746d77474598b7c7855022ce7119ddf45aaba78d190521a4a5b3b060b244b52a84969cbd632d4a162538501e945489e85750e8cc441531cb97962a339c1d4366a1a562c79aa570e2a53e894abcac76453e2026c93811efa5b83701914662408944a48e8192fc08828efac4a72a62a6fac8e5c49cdc4c36623c92d0a9235f3abe67a65f5c30a2ea338cc3c4024c8594d1b6ad8933b56455c9d4f031a8ac7d5e182d43c537db7602c6003a1ff353fad98421845feefb3010984cb726779271249850adb55b28fdc03e7d740b4f764937a319465c8daf2258cf82961222789c3312f47a1128bb49e28054dc424f245b19a77b219976511476a20ec904006d0ce2434ff8396f710a1f81d34e1a2b4a2e755040097259d57c5389a210998ce198cff48b6a3e7190ec23b37595a0f7f5142c9981050272fc0a9823ea580a85c63ba560208c6cf8c43b4ec7332f7cb2b97134f4714ddc696607a17491a3c233841775da44423260bbf7a68ef8bae4910c5882701a028d0479beec0503f63456792c8ef0d10ff4c2cfa47a7814b168a9c6b5ae34395f5b0bc2f418e9dc9a3dea7b7b58b595b0731e5a635a652d0b16b932c6b7b954c4ac5c1d7344cf421693d711a2ff0737fe986e117b621ce207ba026e6db95c5ba6484729a791348ab1e2a648da8cdff601d6e8612ea3be4a948e941367e9c0bb82011b8144c01c053d1005b30cb167ee042caf8148766b51ff77a6b7da1d76fcbc5c7b07b0d649e65583d346735c1a8451e3b25337a4ac73c219f29f24ba365c28cb16752a8d6b226832ae7cd6a64140bb2a9999f719638156a32e533347b35407931494374b90429b2237c188830107d8a6a723bf82dc7d6351b8888c681d4c79c15190249545d26799ba6925b2f16cd2e5cdbb03b108800a22462ff4ea128172bc0ed89a5291639de52bc779b6c1719550638da8c7916976706f204d7011749a1c0932970073567b143c6a8215453059a6010262633d8a37020a116cfd73bfd548b1fbbc111688f6719af2b1d4d4c46f4a98991f136adca90417d1840d67a1b4ff5b303dbe2bc0be5198ba77d861bdffcb0ce902032ea59be8ac44b5f1d47fa534399ae62837ca5de822bb3a65e2
+51619fe2b7d47d79df6118fc3d181e71468f39b8f839078ce039b79d59203974
+Ciphertext: 76cea77e396b659f9dbc2e81428e42f250fcb8620fe4b209205ef04150204dfd5a93c8abc73ee2844527735c1a541206ccaf6c0d52b1fe053f9ca0493b4c7b88bb16e249e8118ab33a74a3f6e5bb4b781da9c09a43ec81a89734c1b803e3c0d8a5038955489d08be08adb754bb2b8977513d60bab364089818e86c7d4e9d53fb281bba323806d7e0c980cbe92c1434dd5f48f3517b91e78a4219b6ffb350bd931c1e1edb9c036b06b0ed76af104e56f536e69ea04c0010b682ee7d78fc12576d9f285eefcbd842a07d4a6c3f1448743c66c363bd0d37a49c8ab5f918feab5e35520adf572c722a8590d09a74064a4d1d1f2f7de5c407710b532e26a9253eee77d2ef3a810dedb268dc070f94a4775dec611305f6aeca1d2d99d623cbcb35b5d22c3c565f3ef0e8e6d73d25de6459752dbfc24e30cf09a5dda8f725f6f0e3d5abb0ace0f32bb795b164a6964893e95ee9c8684439c511fed0e654a32e3ffc361a396028a27a00988e8475969becb33ed8327070445e4a65ee4bac85f3c16ced5155a50507e22e5468eed14af46876daf24131d9aa9e5aa97ff0450492350301ee2fb5d4c3759101e8b34aa724a3203991314879fec2574657c91a92775daec7a61f37e63f9d20c4453d13051650f0f6fc03b068e49962d85d96ced39cd454511bd213c184c34fb8ad7de35c5e3c4e6dec1f3357770aa086d7de2721e1778eaa2b1f8f62f6584fe9a67962cae8bc620b1b8ba9d03ffaed4812bc4b74497e2d3dca4a54fa1f285ac7e45386466fefe563a78b1b536b1b21fdd54104102e539640c62a724fa82b490e825d9fdd4c8ad30477d0bdf4f625d545f456dc4139f273624189e23d9b83206d75306a83bf4ffd234d13b78293209807f290cde9776eea7356fa5a1a53a1995d9d0874726fb1eb05d323cf5578cb792c207418112b570e90179f36e526e15cf29cef73168de89161314d2db573dae5b925067a9a1dbd571239d6b8f3e75eb20dbf4f152821fc8167cb609b2815be067da79d23282949cea2d6105e70d778cf356a90184d8f65e24cad93c0c26c45eaaf0039ad88940ba014af
+Shared Secret B: 07b5ff2e7d5c48a9571668b087716338eb28110e766e37743b79e828715c1679
+Shared Secret A: 07b5ff2e7d5c48a9571668b087716338eb28110e766e37743b79e828715c1679
+c3f3168025186dbbff1d43b0b196c156cb94451dc2eb13f24f427bc5d92c1df505c52bfa3e6872ac3298a6be9e1a847df12f98e6ac6ac16c538529a8539f215130459df232fd81453f1f1abcc437c8f661e9d53657084e48fc2647f7ff9bc12139480c80c324d885db80cec6ff3ac90ee957a09fadfaa228d3efc8954adc8b26d5216bc3d72f44c7e0e7c02f913537a131606d13e71f9b2c0c701cfddfd2b337280152cff6f9f2e2ad8775e41ff90ce6fc6eb74dd1265af2550c70a23648f68cdbf869bf7f78bd8a2817e80d3af53877a634bda4e3c878df5af3f72f7733455510e198db8884cdad21ed61bdc9dc9de0f7c8b80ed7a5c27bb5f25c536d651f2b90356365f2f10904031a67d74e5f8595404f95641453993841fa8beabbd451bfaa61919201d0dade73c8106ca78f9c422d1c5ba2457edfdd627c3ff8b34be4e88a22b2824a17ebaf09a753ed194c0bd68bb9ea4ecddd14284c03fda9ebbddc1e421768b8c25baf47ec283f29af2132427a78c6e55d81e1906ec0d6737c213642b24a5fdf33fa5699ff181047446715b80f29f561a2a587ea705142f8ca953857f765c7259eea2a372fdcbc2a82a0c8328a31df6ed4244fc63007968a0e4d6bc76220f4e194eef70f200dd09fd9c0eaa5f8eac1e18b5f4ef9f3540205d4930e5bbcc47e50c95a4a81e3e654f39533f5e9551988109c6f1edd82a8ef9b09b948c7eaabcd75e53ed7f57d19964ceef9189ece98c4838e6411fee99263a5af2ac153a67f660eef75de943f5bbdcedb4c8edd181978028168ba1015918b30240d90e1df0c8da10bdeffeb230be6a3e8b7e367b229fbaf779d2d9801e17e2218567ce1dcf37c6b65178a668b064effb5326a5857d9bdb8b496def177ccf13210992b48fbca9c394b6ea8aa5945a6247af5888bfb85226f6e7bcece666af468ee9375b1b9117b5bc018fbe744e9d6026ad385bbdedce228124afeb6f40fb82df3a6fd14bef48667a754c12bb181243a041f7f82d4f4056a4ecf0229b64b98d215989a47592c2dd23c7a95cee0e9a5446ec0e3781ed06f718f29dd84802cbc69f1c16509
+Pseudorandom shared Secret A: 5f9d516121a01ff3571b2166ecd1310cce950bfa5642eac11dab7afa598624ec
+f1396ecb9983c6458e3b9a1c0766c00990490104a0f560147e09000229236a8b1de7bc6f84fc3069cac440aaa207f3c50b79239cbdd0f4615f1fab4ef06a372d
+Public Key: a0d01a173c2a06aaab7e347521094946567f36652167d33740d6a8849cb968b740bd819154e66b0fc74365840703fb8bce82606c8670df657d41e97fc8913437e88b63003c67a181907c625466748af6424d7b534c4a6e497cc9b4db324c6b3b2d661ca7325e12937fab9010ee2b74b43c5e2816b5e96a78f19b7943668bc2da6b08f72dc3d800ae7c39355664ccd4c3242083a85b9c29e78bc232780c48268af99f876a0f4fc68ed61b4fe21b5edd26608eb56310bb1f87866d8bb953d558ad175579b0942c4fd3402e074f4529142779a1e3d80eebe54a0db640db38801958cd81a4731ef8b40b28ad39619e5a4b1f653395152804e9aa5918e0a334234019172a8bb5256215b78213b9fe640c04170c0117a04383b6b409c970cbcc2c1232d4550831b9a358f48b77d33ef6e130d71a3b0b956bb1b13735b573f1400c6dc3437b732c4ec763b1914a9b5a836a773eb3e2cb05114886045aac728362f55a397567400b70d091bf4c42a9c6b9168432599f457d998bc6618c8534392e2c8346c0471d46a17fcc5363d75a0995984457423c4dc2c71edc99d28a666ce03a56576fccac254184672bfa5094157a5e51cc841366d48b3e81d44b39390fe023c3d2f3852857cb38e8875b385759c737f350bac8035b4dcb065d0c97b69c0482a683fd903f4de5b6d8483a99ec759d3b373ef08510a00be31a452e2189286b7377160d7b98aa069ca2960884e0fb95597a87a3943fa1eb4324a4104fd6778f934fe717718c44ca8cda22abd325fd6c554f4617bd819e6cf79a5a715db07bb464608383f431437c49f96160ed416440351654d041dbd319bc34716efa46729005d12b0b5204538d074ef1726cc69366f8200713f645555295d175380296909124a441d5993a43ac9e6071f4b8593a0b5c60a670b4122b550bc833eb9ffad0bc37f79de6138877f003aa4b9819d10611e599d2e902a0fc8d1a401962ba78220036e1667df2b534b6748a1d9c4cb8f9991391c40174c26c595e55eacbc4e4325ef31bb4ec05a01b711a18bf2fcb5e9eda504af3abd343bb84c6792bf53d81b88d0dc63023cc89313c395d6710373f8c11408dd3004e6990f82e40cae235b5e1f34ed0ea
+Secret Key: bc1921e34b04fd878e322104991518567c36d92050056b9d6c523a97785ed29bcd75c80a0a46c0cdc5cac6713b9d85641e95add7d951d1fc2bff2638b8412ed7a3c8ebc0c44303b48bf041a210b5d16c271ae57c260a2944f9ca44c6c7899c4224ec880f2ab73f1576b0bac370bb1f2cca13f099bd889b8c8f6b857614a6545b97d4bcc560477d86c06a4201956c24c9e9c86da39ca2af4ac2eb613fa33992cd65918f39b0666a0be02b4c5db792676b3891610a625811fa618a767b326c090347412b8c275b6fda2e1fda51b4c7c30e0523995a5ac4a0a5e2f267e2e63c7b4387ea963537d7c1ade17cd9c110df3a350b21194b746ac5297986200e8770375bf054fd971ea17a48edf87804d891a3f73d3cb48fea62744bf78544bc87d87209ccb459808a70437ac3f595966e267e21c874ac6018136bc9cfda4e026c4582babdca659a5cc07a53f991cd9808d488b764da4921a0b5891c014b83ba4ae5b1c5742cce9a1b0090988e260230f99cc96a6c0d6417f6826f8b7435f6366fd8d1c90e6a0b57124de9c7a625530d5e31cf1ac69cf8887774cc306b703118376380312af01ba01b0564e5144a977149ebd25879b655c7a63eff536189d71ebb0692b52642a5979657b2bf2f16a3a6d26ef3f2b99ad840d775a4ccb247122a85e16156c7293a1ab5a5d732445af87340d92367ba0f05604ec10555a001abba17bb6ff97040bc4e91b8b2f7927f28c8923ca047404261f60c4ce1745f9bb15ee4b379a9abcd22363d845b6ffc39c164508a878b050766c258bcb1b17a3ea0692377c85b602492618b2964e2a14137a3b3f8c04c883cc92c5c6516a0b3fb35a7a47a794920bc466bdd50af7ab1a1764c5382a66106078d75a984a61c3a108056ee502007d189b3132d50cb1aa236bf88d70447036a3b1c81e794b60354b0de24682125279ac429b6300d8d653fb55336b349a8176c6c87d358e17991b7fbab7f3727f1671c36005b5a09c3666842f2fc2d40b2325bd81fee642f6dd8b20c6c0fd47b7f11fc2370068a6eec577285326585b89861b34b7b1206001554f9cf2f0248582a88a0d01a173c2a06aaab7e347521094946567f36652167d33740d6a8849cb968b740bd819154e66b0fc74365840703fb8bce82606c8670df657d41e97fc8913437e88b63003c67a181907c625466748af6424d7b534c4a6e497cc9b4db324c6b3b2d661ca7325e12937fab9010ee2b74b43c5e2816b5e96a78f19b7943668bc2da6b08f72dc3d800ae7c39355664ccd4c3242083a85b9c29e78bc232780c48268af99f876a0f4fc68ed61b4fe21b5edd26608eb56310bb1f87866d8bb953d558ad175579b0942c4fd3402e074f4529142779a1e3d80eebe54a0db640db38801958cd81a4731ef8b40b28ad39619e5a4b1f653395152804e9aa5918e0a334234019172a8bb5256215b78213b9fe640c04170c0117a04383b6b409c970cbcc2c1232d4550831b9a358f48b77d33ef6e130d71a3b0b956bb1b13735b573f1400c6dc3437b732c4ec763b1914a9b5a836a773eb3e2cb05114886045aac728362f55a397567400b70d091bf4c42a9c6b9168432599f457d998bc6618c8534392e2c8346c0471d46a17fcc5363d75a0995984457423c4dc2c71edc99d28a666ce03a56576fccac254184672bfa5094157a5e51cc841366d48b3e81d44b39390fe023c3d2f3852857cb38e8875b385759c737f350bac8035b4dcb065d0c97b69c0482a683fd903f4de5b6d8483a99ec759d3b373ef08510a00be31a452e2189286b7377160d7b98aa069ca2960884e0fb95597a87a3943fa1eb4324a4104fd6778f934fe717718c44ca8cda22abd325fd6c554f4617bd819e6cf79a5a715db07bb464608383f431437c49f96160ed416440351654d041dbd319bc34716efa46729005d12b0b5204538d074ef1726cc69366f8200713f645555295d175380296909124a441d5993a43ac9e6071f4b8593a0b5c60a670b4122b550bc833eb9ffad0bc37f79de6138877f003aa4b9819d10611e599d2e902a0fc8d1a401962ba78220036e1667df2b534b6748a1d9c4cb8f9991391c40174c26c595e55eacbc4e4325ef31bb4ec05a01b711a18bf2fcb5e9eda504af3abd343bb84c6792bf53d81b88d0dc63023cc89313c395d6710373f8c11408dd3004e6990f82e40cae235b5e1f34ed0ea1aeb8589d124df0d574c0d84c2bedd3e4981cb018c1c931acc5b2aeb4d7dfe731de7bc6f84fc3069cac440aaa207f3c50b79239cbdd0f4615f1fab4ef06a372d
+0d2e2faa35fdb4dfe4538f573ae4bbf7bb9675d97c9b496aade7dd4e85473fee
+Ciphertext: 3d06ac9677be6cd590fff90d36166999017fda17d8c796c4d452e589c5434468135d8d80e891d550425a7481b95f25d2dcd242c9fee4b2b259a51a5d2ef9afc1c4ade4f51e691fc5049a71ba79bfb40410c45473f32fd68512f032a90e7bb15bf035ac0528c15845999cf032b2ee2292aaa39aec73b82a27ca98a5de5d27e44812ea5e7f89ac572b3865c24321958219dd1c3717c6531a999e888597002a8749d22b1ddbc923a2e897377597a9fe1e923e873d2f480221c962ab4b0b56483767b25a8db92ce55040532c04db793798ae804bf12a458561a7e8048c8f4c3dfd595b696004f2206e710823b0dee00fe6fbd0bc2c02abef4894de4ce10dcc6cb7a5a7154b9dc4bad021ae5d5dbdb4a5117176ab44ef6ec09a678d86e498afd347afb8e89f950ffd5fe914cf6555c95f1d88c8c7206bd7c64f63ffd321f776c449b8b2030aa2ccb7af7e0ee84a41238f67605fb5172d4753f3d2e8fc79ab31e3b983773469e743ef4639c6f56a26d7325000d0a876c2d18f7def2b101dae30cc6038c0c8c594fdf583acafbdaca3197948419a4f649a313538c6cf882432ea7a9213c3948b20d3342e568923fb94f0e91f34e488d144df542f23afdeb90f05efc1985f767588d794c3acc7ec4193675ef53353d120de55aac550f16361bc25d4aa33cbba65c2ef6a24f1c2921f41f0594b9e22a6d6a84e1ee9c007f1084dae65647234319afafc40bbc4f90670ecb415bd1e18aeff740f78616d7a006b72a82139caf7bc48027b8ff7454dc0c022b3c96288d34aa7ba7d2908e2454b6d0bb9d9acecc017ec211b5f171cf6dd5aff0ebf61af2258d7cdf127861a80805593bc9d3bdc7a492a93f862a27e58b72d452fa377448ecbfee868bcb8a744aa4cb96954ffb67b2c844847e50c1c01502970f124c3ca3f5a6e9e0df45ef2a902196eda3eaa0efcd537fa3e61c338950ca3a5e2940d0d8eb05ff5169c43a21bf3aed56da6a4de24d7794f5836fb8ee551984faf4fe888aa93e9b063acd6db0f52fc8dad2eedf9bc15eb29882d19ab5c061d1a686642be5b11c0c23b71321a8547d17009a1c121
+Shared Secret B: 6cfb46a44b0b9f7f999ea9b29d2da38ee98984835ae220db63e8314370386424
+Shared Secret A: 6cfb46a44b0b9f7f999ea9b29d2da38ee98984835ae220db63e8314370386424
+b03874f936dd2825d7a1dfeeaa2617ed7e0581c596550b6f23bb4736e996306b126362736c9a45af009ed11963416098fa65a45adbba522b6eacaa568a98aaacd3ca48e820d9b98b8631d9a00dd19a3f24fd9de1eed9c099a340dcc27880816605714806b0dfdf1d2c366db7e89f18347b30ac18db840b31eda8e2ef32dfb42529c03ac89ad1e5b99f5be2cc0173a6a9d3811a7a83ea5802e2cc081feddf15b76ab5266598b1dd4911d3a984e415bf5ec962d34a9e5c467a37645554a1feda8f2242a12fbf52ad3be6aafe1e69e0f0e40c576583890d728d363b42a92cdca2faa87762cf27e0ee36517e73e20c8eb381600fed9c49516ef46d28989a79c8f27681a3c66a4635ba093fdd55970cd158098501ba976d3c63cc702dd8557859b58995b97f1beb7d092937b1c971c1744cc34caad365bcca101bb15b0dc2c3cbcc901e616d64f9c4da8bce3505b5fb8683ceb520617b0da3ca8130eef49f92afb15cbc70fb5bf8236b283077ba964eeea2db8ff3397e549c672e9531980b4137adcb97c4d9e71e7d5fb0c3d3fc7a1c5ab5a21197667a42fe7f3b781086f2b820992c00198b341067f3954848c1eea4bedf6ae2129fe6e23ccdc113ce3cdfcf4175edc9d9e45a3c7a6a7833e3df3d5a79e236ef2f5d35f56f675ce16b879ecefec0bbb7d67ccf49a20c6b088173d5b5389a5764457c7e988335ec5bc7d17af61cc6ac733e3a71af614712a19e7d2ba365bacf8ab93c53834fee9936a0a820a6eec373c449cbaa46ad7be5832882c77eba89a3f8eef994622509df29d8c3b10c58f919b16d116ad037d69bdb628e59370887e97a9290ebe8c9d858ab8a342dd1bd2870efc1710f53fc91e584079ddc8c52bb0e71777fcb922e84fbe3cdc054f2431dc0278f52d2d1431281012dbe5fe19da83cb061753fb9c87492d046bb2d90b40ed16ec0fe4260d15bbadd5d7612cd3b78b0087054ea4140888605b30acfe6831d965bc891a7c6c03c01c2c49699a8a774d867043846b8889d6bad36214cc7c4ea2d9c5850e0b72ed003d44ca1bde4fc647f0b3fcdd1c265655034f19d428b42667e
+Pseudorandom shared Secret A: cef05b9f1dbd45a162640c6ba9f1cefb87378b394d79dd9be785fd222fe9c416
+968e27562568cf05cf53adbc724b8735da074232e7a39ff9233d31c6371f095ce1dd06b0a2621624c55d3684316d332e17cdc61eb59c00e0fa812030568cbac6
+Public Key: 281b781ea6236c2a53e24703b82a2eedbb959afa32c1900d05989cb412915295975d664475b8b4cd9a5ce6e26384c79726e585cef6652e023df618869b2a0d0fda3d9aaa3efa363bd8c70644d012167c076519557e0455c64909cef9a6c0cc04cc554f21abb76fa9a00c93c3b6c584bc58729f754c8641ce5748ba1da8538ff28acb534549f60cedca68261c9b46cb5e5be85c5b224f11f04fa8b497a341c18674bb71b863a89470961b0100b96cc8d7b9a887c104c26dc4a6640df2a6d0d795d2e593cfac16cc01846c2b1b59664f67d13f7d053bff8722990b0f6eb105a3ab48ff083ecc256b9d94cd5c837cc9b0a363a19cc5d37be2a33640104e00ad8b0e21547ff967a57ca925c32bbc7613fe4c9aa058becea78b0e6617cd5990559351139c7d2cc0b1581a545172895633b2aa5a48d87164b1286ad6949d1e58ad89091b508b55d63b775caa9fd5d444440b3c11348e49497c2cf986a107bec429bac9f9774610c9939474a438869d1a6653dab21dcb9e58027ae75ab1eac4bf7a749577043286d07d07235ec91005ad9448f53c9ee3c50e145151cf61a56c1c5749f970d41cc457ab8b8ed13c3e421c88f057e7b954adf336842aab1e369ed1b28d32a99efab301d82b7af41bbd7ba438b2772a9dd57f67576b9c1311199a3fc291a3ac05444fe69b279b21c4141f4dc6052718484355140fc7adb402b2610b586a88565d893f6cd8bc6ec3ce49b98771b91878bc1aad28c2fc83a89ea1cda57114d5b4b58bb445d401672a39438be00803b16079c1998566518c6c11566b3aab92b666802ea863503ff469e31acc98418382cc3c6326a2257643f937662fd1a7de5994a1e257ef24c55bb1af7f97c987a37770c0263f88afd0e12cde957039ac3d22537ba9e53e86aa02f74ca75bc1b9a8bb9c570b9da00cb1c06c9f13c00047f3b0a366abf8a3b7ce2bb8c41c7bc51b2346805e13c253d2d6adae77461e02c0c91284008d0be44082678abaafa565a1c1bbd40c4da7f79b76d035c3abcaf1540fb3066a5549744daa6eadb1c58f42b52a3c3aab5a54fab956bd0997c0709586babd145f513662d78d4dbd70b3e64c57f639c813f55242014eca8de69cee5071c57d
+Secret Key: 4c678e5bf845140c7fb6e6a975e49e28a603d2cb6817759b73da34a99a73ecec4d4820b4dd3a4d2a3cbd6d369ffd354235e01123135427a11a3c101abfa3294993135237cc2bb02785404702380ee428195b55ba60a4337215254e4836da42a1f2e77d80147d82a521569638eff7c7eb00ca1ca84d75c47bfae409a13c6959a8ba182a7c989bbc813b71527a361da6a6977b8f98f13d7b0c050a107ef900228c06906463c08b5aabb82527bad30083d0a353d05c26aa1c5c5c4d0737a5472a54e1536c6d2bc73f713965007c281acbd3425bd3872086d512ce137c513123eb4316d97a4134e0674790a15595b0ef606c59d71244551ad152529591a2b10693344763406b5ba6f9ba34863a4ee0adaf6cc184a36855f87619eabf86b84076f00575f423958cca79969b45047f5cebb710b04162429ec021a8bf3c92e613a974119930684ccf5b2670c93355e8668ff92fc9551b8282ce195835a9bc1d822a6a07a392c806981c13b8400118d7132cbc17c936c59174526b39814929601f8becc09b508664a2be35fba252753ed08b58a9fa341e02d041a5b8698a0c9b157699336468c19eca8200f6b1079e8c86ba841af3713a67086e1b489614906e36c41bbf99cb4f2018fb3b3a347080d8d3694f482dfa416940f07a71b9b29e47a135f8849a6168406a8828971d4afb7058b1a3904cbcd0b141cff6c7b9438dd2d7273dd640b63a3f72a37c9951a39fc44868922d4d0b907314026f22637754c2102731d29194af858eddd74d69b5709cc47e6808637f74905bf2b3d37bcf8353ab6c882adca02d151633ef4b415d2b48f9049004613071aa0b33b046b14c2209943a9b44910e31233c636e90566e3b5064584565e2b3776a2760ed2a1a414a64bca21db9fb3643aa232c99635e5a2014d1288e67c83a255efdcb68428274943b6a468a54aa58519fb99a98410dc1e6ba30108a39e68b8ed91fe30836a358022ed8619c787a7ff1a1800952952b7ffc83aeb3f431cbfa8688953fd436b025c1be460436635b34afb55e8305aef1c8582b3515a820a2d958568806b9051ab97d554b55e0af281b781ea6236c2a53e24703b82a2eedbb959afa32c1900d05989cb412915295975d664475b8b4cd9a5ce6e26384c79726e585cef6652e023df618869b2a0d0fda3d9aaa3efa363bd8c70644d012167c076519557e0455c64909cef9a6c0cc04cc554f21abb76fa9a00c93c3b6c584bc58729f754c8641ce5748ba1da8538ff28acb534549f60cedca68261c9b46cb5e5be85c5b224f11f04fa8b497a341c18674bb71b863a89470961b0100b96cc8d7b9a887c104c26dc4a6640df2a6d0d795d2e593cfac16cc01846c2b1b59664f67d13f7d053bff8722990b0f6eb105a3ab48ff083ecc256b9d94cd5c837cc9b0a363a19cc5d37be2a33640104e00ad8b0e21547ff967a57ca925c32bbc7613fe4c9aa058becea78b0e6617cd5990559351139c7d2cc0b1581a545172895633b2aa5a48d87164b1286ad6949d1e58ad89091b508b55d63b775caa9fd5d444440b3c11348e49497c2cf986a107bec429bac9f9774610c9939474a438869d1a6653dab21dcb9e58027ae75ab1eac4bf7a749577043286d07d07235ec91005ad9448f53c9ee3c50e145151cf61a56c1c5749f970d41cc457ab8b8ed13c3e421c88f057e7b954adf336842aab1e369ed1b28d32a99efab301d82b7af41bbd7ba438b2772a9dd57f67576b9c1311199a3fc291a3ac05444fe69b279b21c4141f4dc6052718484355140fc7adb402b2610b586a88565d893f6cd8bc6ec3ce49b98771b91878bc1aad28c2fc83a89ea1cda57114d5b4b58bb445d401672a39438be00803b16079c1998566518c6c11566b3aab92b666802ea863503ff469e31acc98418382cc3c6326a2257643f937662fd1a7de5994a1e257ef24c55bb1af7f97c987a37770c0263f88afd0e12cde957039ac3d22537ba9e53e86aa02f74ca75bc1b9a8bb9c570b9da00cb1c06c9f13c00047f3b0a366abf8a3b7ce2bb8c41c7bc51b2346805e13c253d2d6adae77461e02c0c91284008d0be44082678abaafa565a1c1bbd40c4da7f79b76d035c3abcaf1540fb3066a5549744daa6eadb1c58f42b52a3c3aab5a54fab956bd0997c0709586babd145f513662d78d4dbd70b3e64c57f639c813f55242014eca8de69cee5071c57d544583bdb3971bd244c71da0df137f42d2dbecd34a0a3fc4c3e5f5a868b78c97e1dd06b0a2621624c55d3684316d332e17cdc61eb59c00e0fa812030568cbac6
+df242e463ff23c2490e948c6726f2f12c584f1c03b36afc595b0ea3f868ed2b3
+Ciphertext: 479b9a634f46468ccc57b8211e5d393f59b239a60e4207424299d8e578b2a659ed053623f3168c78dd2da3a0d32ae98723f1d53cc0772571ba0f712e626fe3b130291114042679d6920b8cef15820fb3a81503a81f48290a182f71fde339c73e0a4cebe564a8a6774c077b52b5bddbfcdd9d36a4535783da39945f04273852b95626a280d67f2afdbaf271aff8e78e773cfc6e794730bf6245c1c55ec9c0551c4e3b2178c67ed0a4dcbc8e5056ef7607c79832f2e52d800cdd09306478bdd838537631ef40cdfbfbb900aecf029c6a4e7ff457c7d4cb42a33b268e91279a7b4c58eefef4d80b986fc0a1fa3963e6c77ba46d7cba15caf070f7be7ae552fdd14d7d8a78fb8a8f95515beda4939195c043903e2168e5dbee4ca597b257bff489cef6162924ceae4eafba8917723332b2763869fe3e856c787a86c53a804350d78b8a5561e5a467e2107ef34f7782b8d651cd316b5d1b3148844a170536f8b021db361294379fb0c39cf05237a9782b075617b589c1f8cb722ffd1e2348422be324908cd7ee09c1dbb6bbf389902090681b98bacde78732f8d253e2f1eeb4385fc82d5b78573dd9cfbf38cf2f5a7d570f16dfc967aa3d8a97f319321a2f0b2aee6078b371492e4abd335a98c37f7bea23a2b230373d5defc1fb4264ae94f3790250dd38c8a991f740162b58ae3dcc48eefdb4b3b303269f925597e878c01b2063a5740fecb3049deb05fa27b0e2572e58229ab496fdf932cb64eb8f23af29b9bbe83f0f13d1efa33113c96aabe1ccdd9b09da29019c825bc8e50659d6ae1925d199dac00bd453586fea109dfc9f693e3260265b4c70dc6b037e5307349426c35562f863d5ed16bdbf9eb3f63460e615de1f8d77e7a3ef9265b60c71bef9a69a41422aaa4328b2e72c3d54560ddf0959dddbdf2e2f414711df3ad7bdf6bed7c6d1e912b08e1594226ed56dae58986dc8f51279abc6b57c07a942afd49d7943e037fcda8f074d323bf14d13963222acd55d0b237bef3d6a40556fb4af95e116861e5c542b09b6b89c29908e1204a8758c29b5399948b7327b8d1d70f669a9fa835162
+Shared Secret B: ac84d81f1e84ffc910cc974bb1dde950f96c1fd0e688425a6d19839a39573536
+Shared Secret A: ac84d81f1e84ffc910cc974bb1dde950f96c1fd0e688425a6d19839a39573536
+9c06ad2fda6b93a8c45eb2eb9f78228a8a1b06acf2e248cd31a04e82f5a9e1ae3cc3dc38dc3e8e825620e455d91d61c9a8355402a29c386d692eada8e49430b3aebfa6df0d28ba8f945d7dbaf2c4f9866b92bc9fb87c6ca18fd5c7546d36ceb41fe10c589d8245ed9d2bbfda194f30b3143d2c207177198ff1edbd0d9edb2a5b2f8ecb691a645209a3f5df9d9d3a20b65c20db4dab407f569d75d0160de76d9c7a17372eff85c93c07da14cdafbd7081099c714f8b1de21889257861371456b4e68881e2dd77c9e969b14a9ba46ff0cc92dbd0914a341120f36bc91b9f8fbe2fc03eeaa55d5c060eb509ebb2c346586b667debd9d5d8b511ba4fb5abaa7ef995dafde093281ebb6c158dd20c071eb4425b9c9400af937aa61c012380774ff6acf97f15853780874349c78884d48c5e88fdd7cd4b521e86fd3ed92c8650962ced216a4458123fbeb51b608fc6150e303a4fafa540e23f3f66dae2fb9ef037e5fa4797c41d8597935e5dff1f96d095fa1754e989aaa75340999a0ff8a457c9b71f0b415729f7e8a67778739e24725751d37bfccf8e5bf87a14ce4e6062b87e937e24481c45d278c7d50488c0d52ecd5d4a7d3be0f561c62d0787e090b544311d8ab240ab761b162aeb9471500d747cc5299f8569abb3536be543b54425dab08b7f0266fcb432b01340768e20cbdb689e15a1192e83326976d308fe22acf3f12484cfb816aac9d2fbd7aec601bbd960d4a178ff393bfe191c9a182ee2a3c80303b1731fa594a7960f8b5163e47da7a0132dd209f8ca13935063a8076c9e17b27b16d5feaa5ad65226ffbf59f980fdf141b2c307a40e155e3c132f2a66ccc959e772de60fb21c3913556cbb43a909283f967caa99e8e736fe9fe8bda35502380c6206434ec3b09ce59ed9e509148d214c4bc15352c5bcce98719800385d8f2a647137e0c6160a0c6f5cea7a9d41c04f73bc82424eb66baee6141edeebf9345d0f304d06d516cffb27a3ae1e76d26baaf9035c0e1055d13c9cbb2a565c2a79120859755c45de49785f019bdbf7ea5aa92d299e5e11a59b29294a4785aee61f34a5c3c
+Pseudorandom shared Secret A: 324ed6fdfdd50387ea265ee55a83e453d0ecd22d2ccbf585addd87c994001895
+48020d5c20c7a29c8b485f24d867fa8968663210fefccf00024953eadd720707eb06bb2847a48345d50cd812f4bf17aab3fb492c2348efd1a189ab795267233c
+Public Key: 70037e98926a61b7061b276305c32422ea0123c186c0ac6a57bb0040bc6be8bb9391fc5b1f9375b9f9779c71b9f02453c5221c70d2b2d0098120e9af5b619801838478b14366771748d1c2f6a20a766c2ca7a57e59125eb58539fe17cb6576521f0a711eabb37d55b2eb9611cd2449d6b92a37411050981e2fc935dd898326ca721de3019fe8cce408bbc14787ff0345e383788e8b513bd4115c3a2a52d152ef21ca3d64a84fc50f74d9430192abd6f13ab3c69955c005373b9aed340f67dc759e85798bf295bc7422e8649c7535c3cbe462e64482fbe82aed36670c7b37e76649d56b3ef7c8c4c82c9bce036642c46a48e13e8135c488822fbcb822c73b6fe410562b3b7be6639451ca17b8b870c4d08e3db372f0056bfeb00c9bf2b818dac7f0c33da4e62c88209eea1004c2c3b5e0d13f738b9a886648146bc477a616720a4b0d41b7f5232c1c7791e4027008256425a11557d438cba39a00e0012be7b1a5658451290d0708a1c68344883c77e07930a2872d3d26ba9126c554a8a4c15273ddd0a4a9308da0096caf513f757a80602b9f0a155f3b5a102cf14949503b9359828a819f7714266770898787849fa20c82d75e84c043e91b8470861f70625ab6978a79d67ed50ca29e768738a8c853d4cd19729c5e1b2beda8ba69324acff864e7a0b954d76fb3b64ba959a22db2a33d651b1c658514016a0eeb9889f1703e1590ee74691a3323c99ca212a63520121c3b74b6fb695ffde473781a3cf9b9ab84da14f286a9c35a16efd586134c752be3c3c6e50a91f99f174415e4d629fb55b4b53caf0355bb76f96a418027975cc01660500f644bb39a772b254e10518deb3c7cc09a116b345462b10341c41e45d298a9e706a00962ce6246bd03c15438a26f816568494e20c044aa1b0cfaf15890c6bae9a5018e0c33d51c7323157a0dc66368ba2e80616cd807cfd1840064d935b87096978849fd0837681038edb3c14ffb4932c500e7654fc5e63c6dd1398d792fa6f6649b1b35624a2034c47734a546bb860d5fa42ebd33c10b51700e08796e5443bdd1705335b299b8965b4236fb826726ba4a2c0554c8b207444593272af24bec9580785801c02f7366d4eff314a852
+Secret Key: 29da17eab5690e8442a6097ec6c478654417b57946b77065dffa3506fc82e6487615d408bd4060eaf5ba74b45f87d723f966005e20cfbec55d8c259e3ba38469843d930510c28288856288144b61b540cbf1e44e74a4980ee90d12dac4a0f3b729661088c98c217b17ae3328c2b651e856455382aecef0451b15956e1b09393878bdca349d459b8a477f906826a1686d0d9a4a6c54343f1587d3c7b514d3cd32bbabba1b8484228466c73baeb86660f6beae5a35bb48873372229c896c13e1a813e6c2dfb4a2b6063dc87576082596e84919339765b4502ff8264b36b78ac8b69b134aa39824351bdc752011a78c8c7a5a767f6be65c45188f6d129ab2bb93a89911eb33b1109447ec98a4f37076e8e7bf7c052de12921acf828cb9ac79ca48380a19d729b550e151212e1cbc781a857383f340b3a63e5578eaa2a90412e0c0a90846c83093843dda39724017c71da46dc32112d22ae9d5435c85b7dddf6540129cfde5c569b8681d0d9cbbb081bdc55ad43998525f30ae5171e4ce477fdf731835b5e7b0ca659db04fd1b44316a2c23ac9d5057609eca26122198e1b6b40bc9a565155167c215596c36e0755ddefb6b288b48808c1ca94c90d2f40e633670a123539e2918e4445571800c3e5236df9cbd9a36635888af24682d13971ca403820db0bb9d6cb4080a1b1eb4625132a044fac51953bfef56aa5ab167083a447ce08c050371a669ad98cc387303b60e062114864db9b07970073cb8d5901ccaa81ee236b833b58ed54158092beb0551f7c5b99bdc05e2c50a00492eab40cdc2ea5d5220a081618a5e655e75141f9f64b09110ce04a067fbe0b861cac80d554fa4109982b37a3f66b0832678403ccea5ba973746b8eddb2c2e17698863ce82ebb230a706282b8130126dbe355f120767ab6178d584b9ce29781a6740d81c5c0b877692cb191e3755003b7854139a7f9cc1a27311732676f3c779afea0abc016b931a900b7791e6dac9e7d7ad113599b61822d92091ef319dce701e3863b34634900143a0b57103f023572702710755006f576d243216a1b35ae40625111169d5ec8a70037e98926a61b7061b276305c32422ea0123c186c0ac6a57bb0040bc6be8bb9391fc5b1f9375b9f9779c71b9f02453c5221c70d2b2d0098120e9af5b619801838478b14366771748d1c2f6a20a766c2ca7a57e59125eb58539fe17cb6576521f0a711eabb37d55b2eb9611cd2449d6b92a37411050981e2fc935dd898326ca721de3019fe8cce408bbc14787ff0345e383788e8b513bd4115c3a2a52d152ef21ca3d64a84fc50f74d9430192abd6f13ab3c69955c005373b9aed340f67dc759e85798bf295bc7422e8649c7535c3cbe462e64482fbe82aed36670c7b37e76649d56b3ef7c8c4c82c9bce036642c46a48e13e8135c488822fbcb822c73b6fe410562b3b7be6639451ca17b8b870c4d08e3db372f0056bfeb00c9bf2b818dac7f0c33da4e62c88209eea1004c2c3b5e0d13f738b9a886648146bc477a616720a4b0d41b7f5232c1c7791e4027008256425a11557d438cba39a00e0012be7b1a5658451290d0708a1c68344883c77e07930a2872d3d26ba9126c554a8a4c15273ddd0a4a9308da0096caf513f757a80602b9f0a155f3b5a102cf14949503b9359828a819f7714266770898787849fa20c82d75e84c043e91b8470861f70625ab6978a79d67ed50ca29e768738a8c853d4cd19729c5e1b2beda8ba69324acff864e7a0b954d76fb3b64ba959a22db2a33d651b1c658514016a0eeb9889f1703e1590ee74691a3323c99ca212a63520121c3b74b6fb695ffde473781a3cf9b9ab84da14f286a9c35a16efd586134c752be3c3c6e50a91f99f174415e4d629fb55b4b53caf0355bb76f96a418027975cc01660500f644bb39a772b254e10518deb3c7cc09a116b345462b10341c41e45d298a9e706a00962ce6246bd03c15438a26f816568494e20c044aa1b0cfaf15890c6bae9a5018e0c33d51c7323157a0dc66368ba2e80616cd807cfd1840064d935b87096978849fd0837681038edb3c14ffb4932c500e7654fc5e63c6dd1398d792fa6f6649b1b35624a2034c47734a546bb860d5fa42ebd33c10b51700e08796e5443bdd1705335b299b8965b4236fb826726ba4a2c0554c8b207444593272af24bec9580785801c02f7366d4eff314a852b032cc499ccf1b010b14cdc86fec2a32bd4f542a00fa262a59d923e3963c9141eb06bb2847a48345d50cd812f4bf17aab3fb492c2348efd1a189ab795267233c
+f7a67f1fb87973cd8ac9246eb2e2f2492f7ecab614039de8efa04994e5d1fe38
+Ciphertext: a2c63a5a709ab67b9524bc2d16ec220d608cb860961dceaf385cf6fa5375fc6ad59d43f99e96fc6598361d5df2e6f1d5d5f4d319d37750aaba74e70dbc279e8c8bfadcebbf197abd077f36c769d78f96397dc5d1b289ef8ea6b0c0fab0d31dd84b805e64f344d183fa3a029ade8b1c40ea0e1ce9eded5a8ec2338878d3f6e4333c701ad6d4d035911162569c784c1a0d794faf1ce141e458550b0d04af2628de728127dd3ebbefef9822c67f465d08c399dd5f5e880a557c4d3ae1ec471bddaf8959596a83d62fb7dab7650e4a692b0d038d03c4349f277c01ad1ced5884dd7256032cad0859ad02d3527feafe2f110972fbd2257eaf9b96bdbc859c2aba74cd9304b2ca4defe4e34986e66c18d9757687093f498430ad29fc416fb9dc23972a0850349aa717f690179040e1c919f9a2262b0477ca21448a1d8b4b0e7429cdf337cdf58101b1793bf6dab5956014901ec9af68d73e762afe5832f0aa8151645db74ac7cd02ef048bf3ffce4a77ba029f572b71f61a9ba1b621fa50c01dfdebd54883ba657f90c9b4393baa695b3e43bd6fcc54abde6d3b61756739c86e10e6075bdc985aef25925f44f9220350929d8e4a0b80976f5d628d77696b13bab0f82c1e7222c25f1491d29a710609193ea0185cb28621ef75a144635d3acf6605e2e1686be038fb32169ac5196d4f11cd94430a8c5ba40ae2d400442f398f7fef2e3af9e36616a0e3c0283b0952cc9b2b507fb6eb74bf28d629d973487eb684e56048d0d2525c4d08b4cf194570d7ae23ba0fc9452032adcd4813dba15bebc7936875234eca120ca1a99602b74edbe971e2ed226b6be8aee74d986436bc299492f56cd5f8d272ff715fc275a5c61f1aa7f4206216defe7cddd1a297c44bd0f96cf9d54e5065268b9f8187648d7486d9ec507696bd712b60c113b27eb06d8ca09cb5002c326d244af1af5a4f2d805a5a3b3f02c85bedf71626154c68aad83750394c6f6b309f4f1118fec2b3b802388ab7d9aef889e228e3e197a06ce7ed48bee73a89b29e9a1b454da749bda8e51a515870b66612759bf45d5b284c63952871e08b8a
+Shared Secret B: e2a802da5b600386dec41493e2bc14d3cbbf1c9a17b2a630831e252ece37bd88
+Shared Secret A: e2a802da5b600386dec41493e2bc14d3cbbf1c9a17b2a630831e252ece37bd88
+5c80683f962a3f75d9a73ac7eeb83d71c2f3697f6303d4aab74137448bc9b6cd5772227df3767db62f4ffd6d2274e9c3ff4a076d156291865a5536a54b1e5c776789a622f5484f2ba967c7bd08ac15739ce5734aa6037b7993bee59d8cb5908e857f2cc0a2ea995c8b9eb4c8948bd63b182d11f4687a15881f075059d3a4cf9740287f049caa4e73bd45f393a4686e7e49554241739e5c68636126db448ccb8a4fe7400f5c3d10155c464cc232bd8a52f8c1112711cda46de29ac8ec82617e68c50826b14e1e01c081617eea53ff6da3cd3af24edf9ea8fef91b7f539e56bd5bd3ba4bae1b76b25a9df91cca3a211bc395acbb02c3442e0b4c316d30b1956b65803b8e7cc53486c5ac5950f823881d87021f19cdcd27555bce9d06c77e40dc5d0b970618df652dd9dd9a3dd13d719c46ef19f596e1639e835452dee018d5c91840c76815313fa4a8cea5d789447716ab441fe150594266d33bfc72208f3c831c6bee61ff8b66b5510816747bd0e03202518eeea375516591eb4a353b975f10a508bdaea48115c7e3173a99fb1179cc5f3c8a31025ab5bfbbb846231ccc1e8afaeece20a00d5d78fd92d6ee0338f1922275b5029f9dbc1d148f3e216f327dd4750ec1664084b7bc2ca5604f51372eea28087d8d0fdf5d9d8a348e7db292bd6e8a8fbfa29dd28367e8edaae480e708f7f619d14c434660f9de82db9c68a5950d43467377a05cd895c49faa369b80bd5e98c27eb41b75e7a4997364accfc9f6e2be03a914297eac6c70d1fffd2df95092f91ab734d28b9c3bcb50e0574aabe24063c97c99dd6d12275a1f995f1f5634cb77356191dae8f3babd772512b27b7b5d14ac3cecd163a5f48da7660cb64b8240bfa8e1099571d6f477f06f0b19e8188fb16737926b72e8f5dc9bf23da2efc4627f2be020af663e0756c9bafe41f4577b7f724739db76deb09b6b579405ede5900ff7621dd6014d1b75c9e8de272d4f89ce6a0649a389806e738f0bc81312922d2d2570107da20070b0c77ed712e82f57345f80065cf6c9b05d6f2eebd3a50f1c8cbc34cac9d68b5e8fb9bb4ebc34cea097
+Pseudorandom shared Secret A: 2ff47374e157bcffac3795d9c7a58d8070d43b62e94c89b9e3af4b1f6d38bb56
+30fd5a0e3766e3f4aeab6cc8a27ee87ecbce18d6a815bfd154e070db44eccf3ffec80207aa8f276cd4dbf12dd29de27474e2a7758594fc5f97b65b05a6e6a094
+Public Key: f517283c98080137446bd2071fb76f3ab85e59b073597099cc8acf4284115411394e733733212ee776252c0b753942425c6749b6c02803562c42fc9755fa49ba7c39fed94346bbc2d75c4afd612b9b4402b2fc4b53a000f1310b54335ce2e16227bb201e36a2692a3d1592277c5b73716c056d764c69b15b4da34de0b43bdaa2795565b5c0d4a1205aac6bab376fa5b871231318079b521c5266e2800f67c2fe5243803a494c50315099808b409d3d431082743198d59d8f82611094b2aa6810749519c0ab5a8b4a133cb7bf71e86ea604c18a05810994a4ea7b0d4ba1bf323432d250ada6fb931ff09172e45676d5b98cb75ba4106d50ec049abc4643ac9c8d4727bafca3f8a480bff3098bc59f6e010083f42f28d377a8918544380a28084c053babafc7730fb449811996fffcc783d6acadc73bb899c584cb9b36105baa5c7ae3a2c77b1a24d0f3624169257a7c3ad783515376848e46a2e229ab835039e99577cc457760872a7fd9005a943cf96c81f5c1c259c86545ec1da04979348a44862b898c6c8311ac0f14ea9d3867acfe152615629f493b91a7ecb2541672b0f946f410587952acec6931ae516fbe94c28404ccd90c261fa6c885793fa6d24ba49c39fd423dc111a78925426b0337e5cb073ecc6cd30b07c5fab816e87422a24d68517d90d6c5a5561870252a99764a92747adf71aa0cc7846854205bd05b1094430673741e9cb04d5665b5d24d44126c872923952953cc1a19f8e1246d9bc04d71a81e4a1aec93523aea9fba8a9022371d5bd231026951a5b1290b83183376968faa313b254d689b1389b3835b3369cb4364fb3276b1244fabec69df75b60307452a48b80ad1976ba32d9649b6c1a445c40aa44c38838d8a7e3cc606c9bc82260787a9a35a9c90650e133f83a79d68e44c0065084b4912d12c90eed59a20315fe597353bb10bd9325480d28460aa0a30806327713baacccd17e439f3f5588ab6c82861517530a57d37320698236d18569d11ca4539bc3f16cc45c5a84ff0c9abd82d611a2727f4212830923746c54039189c9262ef057e19158e437a32fe4b095104b5fc2bb11a7132c65a6d13ea64bc135ff01053f5d1ad7ce75183b8a8086d
+Secret Key: b27b7b8bcb67f1e15a05f0615dc7af4e1373e931836b83c6fa12b811c3b918e33ba4923919745db7b2a3a5a171b5957128340699b668be4b5fe1549a0d806c3586aa061603cda6a9614c104bc5ab281b90bf730c01403d4f449ecf7b1aabf9a557108673192a4eba8f8c3c75cd3425a48b19b259bfb12c814e527ec8220940123c834480622a577de03754575e3adbc31f42ab1ff52ffe3400ed5c40d1f241a0483307f57fdec576f7035662248024093d10d2485b1a889d113d5a0bbfabe54a04189496e0966a94b6eda5bfafabcc7ba811a493b2d3e71ab5aa48f734978b95c7d686681f1619169a0f5e151d9708d094342cf07299b41418708cb0930887044bb6cb979fd11a823e812dcfb74a69b19e29d6b457851bed624036d1271c4a55ac26c871d9cec0f740c1c16fbba0382d51765df1ac72443332b93e9884947503ad2886c615da12ef42724e9c22b576736803b9e1aa86bb245666fcba2db715ad589c44d83e5c13b60f11a5f1ca8fd5a48434f35f080858d2a282dd256240e81da4d338fa750ffb07451ce20c8a038e7045b6a7d30081848275b78e8699b94d8a1d9ad31495438d29bcbb1b490a9b5cbec0d3b35494a6633348711b288f1c9cc2696bd4b6ce4e0272e817cc6d287a68a00031b5b6887156d1895f2a4bb23976654cf851bc4207091863754546f4c38c7b767dd8676191a556bec0a28a77b0478915b454bc32c71ff393a80c0196322c83ca28465b295122d230785a1526e04677a85a7525502f7031caa0459b634a7bab8a039539a4499179c46e31726a994c7e8a88c94078a02ce3af3c6773e125a519382dc092429190880ca789c075c7f479ae9b9c7608ea1489c4bd769b89c71c25979b62f48c85a3b04e05bbaad90c9019f9aac41ac0368863a7901a3992af61a3209095a07910507ef1070fa9991deabe5021a97ef9640cea4e42a433291386152badeb0336ccc3a0cbd5b79915866f723d3180a08932ae377223b43b84fcc7ce59c1c72a1ac5f2e8299ba594fdf76da09b3d02ea0ad8e0677b6965d0e5bab305bcfa444025d451f2578d25d65c46b40df517283c98080137446bd2071fb76f3ab85e59b073597099cc8acf4284115411394e733733212ee776252c0b753942425c6749b6c02803562c42fc9755fa49ba7c39fed94346bbc2d75c4afd612b9b4402b2fc4b53a000f1310b54335ce2e16227bb201e36a2692a3d1592277c5b73716c056d764c69b15b4da34de0b43bdaa2795565b5c0d4a1205aac6bab376fa5b871231318079b521c5266e2800f67c2fe5243803a494c50315099808b409d3d431082743198d59d8f82611094b2aa6810749519c0ab5a8b4a133cb7bf71e86ea604c18a05810994a4ea7b0d4ba1bf323432d250ada6fb931ff09172e45676d5b98cb75ba4106d50ec049abc4643ac9c8d4727bafca3f8a480bff3098bc59f6e010083f42f28d377a8918544380a28084c053babafc7730fb449811996fffcc783d6acadc73bb899c584cb9b36105baa5c7ae3a2c77b1a24d0f3624169257a7c3ad783515376848e46a2e229ab835039e99577cc457760872a7fd9005a943cf96c81f5c1c259c86545ec1da04979348a44862b898c6c8311ac0f14ea9d3867acfe152615629f493b91a7ecb2541672b0f946f410587952acec6931ae516fbe94c28404ccd90c261fa6c885793fa6d24ba49c39fd423dc111a78925426b0337e5cb073ecc6cd30b07c5fab816e87422a24d68517d90d6c5a5561870252a99764a92747adf71aa0cc7846854205bd05b1094430673741e9cb04d5665b5d24d44126c872923952953cc1a19f8e1246d9bc04d71a81e4a1aec93523aea9fba8a9022371d5bd231026951a5b1290b83183376968faa313b254d689b1389b3835b3369cb4364fb3276b1244fabec69df75b60307452a48b80ad1976ba32d9649b6c1a445c40aa44c38838d8a7e3cc606c9bc82260787a9a35a9c90650e133f83a79d68e44c0065084b4912d12c90eed59a20315fe597353bb10bd9325480d28460aa0a30806327713baacccd17e439f3f5588ab6c82861517530a57d37320698236d18569d11ca4539bc3f16cc45c5a84ff0c9abd82d611a2727f4212830923746c54039189c9262ef057e19158e437a32fe4b095104b5fc2bb11a7132c65a6d13ea64bc135ff01053f5d1ad7ce75183b8a8086d1a0b1744914fe6c89d028675e6194764467b617f2ce2b8b84139a7e1ba10f23ffec80207aa8f276cd4dbf12dd29de27474e2a7758594fc5f97b65b05a6e6a094
+cec6bd2dd310fe4d4ddc828d89b263f550de6b61b716674492494927f70ec47b
+Ciphertext: 09919d50019f7af126e56219b18b8fc760823e93c95eca9f93e727e71d79375fd04993362a8497f5b3374a88a388747ddac5ff8f634aae525bb151173296d4742f66e0dc1381ea4d71dee7948822cf96a70a6d847d015f2d67920a95cc2ac9d4c4a011fff6c9f13e0177ca1c2300276043789f158e2c473b9833371679a2e276c0a9dc2d45c6bc5cbc6039321dcbf7760480095f5ce3e267ea8c7057384804300e02e8f81154dc1ad737cc37780af651d62346f20539b509e35c204ab8f3c02705ec9ffdf47ea35b05311412ec12652a3a43448c416bf217d84d8c67c8d3d1b80bdb761312e21108ecb9aa706ef138e2435491d9ecc8842f6a83def24c7e429921b12ba04b634891d72d69ee44a04363ace0e42cfdebd834a4406a5ee1d1f135d4c1e4fa6e5c79dc4db306be25bc194e5de85c347b8aab7c6119f4fdfbc5156767ebdc9e250ce09c72b992612980df2a3870297bb2e877279dae8f8c21b46601e3f5a8a5e5fec61ecdd54c9b84c634dc05f55286b719737d058f629b34dc365bc0ebecfc8f34b2e445c8771f074fa327f5a89b7981fac78f980375ae21e30192db6de7c4ae9d2d6220ccdfbfedf65cdcd8961fa44b402117480ebcfe7f3f0a74bc4f1678bd07b32c1510003b20f861b9a07c79d21f78339ddae9e9f413b1966df809da51219c6b66c787f3396c34aa36890488354929e507170bfb8a80fc442222142ad11b51c9177ed081329e7ab23eb13f546ff3eeec4b0e9549d4ad7a5acb092a42bd686efb07d28b2bf1d02eaf70592a590989b19c8b6587b2eea459c27d85fe525eff5f001627ca4499b8722c7026ca1f0be85cd7fda0700618f456a311546502b2a7a7c02de4006ac49acb2145e288314bf342f5ba916f443af54d9db9440b917f8ab063d935a74184e4eab530709f01eb3279142580c66150c2d266d348ae47879e1015cda914e27eec558857171280f8871766610d4db4c78074c30f1bd47374f12d769055cf473b3518005f7396aae26c7763c01775e6a618525464ae87b2f30f22193942cb9dd7580b8d9a34129463480304fa4a1663b0bc47c1da
+Shared Secret B: edfa295fc948a777bac23fbf490fb846ce6215816c30770249f9ce66c3d95b2d
+Shared Secret A: edfa295fc948a777bac23fbf490fb846ce6215816c30770249f9ce66c3d95b2d
+64b53749fb81fbfb7cf2ef4b21ea1986f545b7497b36acb12c05f912bb251f8a2f909aca9976e0d3218cf7fc01cdb9522a06716fca529aa69603cc8b03c350aa46f2b41a8f45a6cc7ed66a29699f84b090a75db21168efff6770196c325585dc6c326871c32ead3da52213fd7077d187437513153b98d802fa00c992ea8b96434b1258b897ad75c2602896791dd7b90d351fb820c139f68dca1abf2e8f5718b0483d7356b3393c6548686309af6e1ded5b99264619977e63d991fbd80e86e819358569dba028864c0ecee1f186899d2bf0d5292793e185df3f9f8e432ad62333d60dd60e8310d36032a76acba3adf16aa321af8583091899000b214a560e4174dbff46101a422967c51b856e24b9c7b4b9b6ade6519f00e3bac1f212221575977b8e9ef6c585d94c07824ddb673012ff9179f1e17fd7886da8ebbc948799e14454a64f045e1b42b0befcaeda46523b15106665d84b773c833b26d56920a076bfcdcf82f21a8da696476f8ebb1e4cfa6ab13b16158244a5442eef919a53197c83fc828d77433297f1faae0fa69faa721a468dcef6cfb9f0ea633c9cf73c0a41e5f5141b15c6ce73c1f2d3cee2c930067db31c5b6a2c7320c7be98db09b38e1c759a28a375f8eeb41736a7a645f36a1b38b3db87afd58fae0e5f5ac33ee0454d159205c8247f5976b340d72604ca9c7709115d77162c94e850d9485809495bc7bdb8a9ea5b6ec5505097790fd829ae1807103737197ff9d78a780632d70ce9a411ca724ea0804980d75ad5d5353fd2dc0556ef0385db1459047a3ac6acecc9de8445a4bf2d9ddd48ecd7ebc932a1e3c278c1c684c8a7dd0100b9d8ad432d8c8b672c33c137e38bbb4f05a34f48cceafecf22d0484d11f05c2077a8b1627ee3a9ae888cd791c79a9696c588f18d548a2f98ecddc37978a602455c856124f38f1a8525ff34ae483a3a593f0cb8df558ab37bf9eecf66fac4bc17ba3221bf2344da0a9886b13c048aa0b9b843659ec5d9cb2b31f37abba48201f53ffd94a90f292794c1fcec6d2d2936b87a33c257c88e829a60ae617c9b38037e05c6dd31670533d2
+Pseudorandom shared Secret A: a2cc53dcd7994fd236f6b5c6bb861b5554b62c79d7f90e1b9038eb740e62e950
+e11d7ca9ed8a1c447e123bdfb77ab3c3ab9e699052ea24e301983010688b366f6a88f3d02c8f1c083f16c01c5c341c8239598a3bdd9cce5ec7e059f44dc26128
+Public Key: 8a9199bef61a33bc98a79b381627603c66927dc32b8d02a7757b244d4099ab9926c56223f1f795d7381705f02accc7658b7976c15936a83185cb4b74d2177c02e881d0b98f53a3cb676835c037853113bc0c1951d1fc67467ccea345882c2a03731b1aceea277da306b26a8b264aa93531047c2a955c2514e9065db317a02faacef4b5314df19769566aaa6a39feda69682647b8b84eddc9cac3c75bf2db4a0aac61616b594db1814c2a39006d8df8072b95372ef9db0e0d87a7da881ca325be97244137256427c560fc30a3165428198c78b0f6a5be547a3913a360f084f96709829c944fdb20081716c40937725276fd344dd9d49d2f41554920633cbb10fc493b255b41f3925aa2ac384a973d3275193ecca88ca56eb3b219e30a49a5d200d9463de506badf6044c971429a8213a93067d1160d1b8711ad31475bb7481ed2aefc94a093d662a665b378221b9d8b09b2d49688692cbbc0b9bd5a893a7444cd67a5218810ba252c93ec55fbab350763abb4892aa7c1527b37cc735ac71788606b5288e3186380eb6054d85dd4b1a4bc753c12a0259c39575d2b0b10848213b3029a5b33f6140d03447c89fb5b0bdac43b892acae2bd1e67b8f6e7a03e35694f6b3f2e64cf34b845a76ab7151a37f30898fe239e39c1359d276663bc184f2280e116898a442c4b36cab65789bdabb26cd4c27708c2f2f2a0551575804078a89cbb7d275441ab5adf339c28b985345352fca88c1fb5aa3d2779673c8f07181da6466377337f4bf74cda557fb1992c7bd4b998382ef1e737e08ab7aa6b0d1e898076c6a6276015077489bfb72079121cf50b5979f898e9aa7de46c33b40a6f6102bf27b9490fa29ffb31baf50582621610dac72176d620ce0c1a4ae952150c69007bae61a50d3604380be82f00f614d397889733051afc312ee6c5f636486d5010b2aa93f691616b89a3b2685f32b49d30c3c6adb6cb975c2733693695a7300f8514dee92b2d5aabf54c6f89879ac8035d2de0393cf49d53d4caa97aa3773a036993af3c6bbf2d6356890991343361e7701af3db6953591375e535d3e312fdf2170dd84b7a5b3990a92b9e86a276a2b486e660e03b42dd4d1ede9f74ad72641a3e
+Secret Key: fb774732534679f000ec38006ca1b91b3c13a17846cd11505b063565d26cbd5231974c2b465278c26c738daa9e6910206bb95685d0cf2f23ce951ca60860804a8849a0a1cadf0cb71f65695b26bdfae43d9bbac983fbca85669bc050a8f750b671692d3fa19569403d51c62595c90586e81e0d578f3d995583996b47724d62f16955717028c9a59af337b32b8076908e6947b487285a82985fb13b7e2659506038b74fda1de1d3759cd4819da68683e9526c86782e48a0a8a52eeddbab53147fa8b0120872b2b041c2162600c279c1c4780a117a58f71658e6ab9bbd061eb6f348db88178b7a1a6b18caa11c37fb67656d816bef250fe737950759c27c5c30577c64f871674afa84b1b19374c1ced0d13dd3fc40241a06d5b637ed2560c54c9edbb10f05d02fbe41514a3c31bac637e3a43cdd9599de649965346fb39710fa92ad5d63bec6f4187db4ccb21837075873b8455e946bc7ae919099557481478410c604d136c57053476f3cc1321349a3c60f4f4b83e392b35f76bc1eeb80636929d1b21cb888464cd364bc04b1e06c8649d8c16657579a363dd3d9b445788fdbf59fc9671ee340941693b801b9ae3af6a513c43e493434934282c9d9ac0d1a24191216926baa199b3356946fd21469b04903318919103132582badd0a56aacd80c2a7c1cbe662cff32be1c8c8926a9769940c3b52ac20fc0aadbaba58d83640009c36cabbe44c698cdf3136594b4a112c54fcb9fdf1940ea894310d823eac28735a146ee6b28697967b94b817ca94e2f976d2282b2b4d5a74ecc0309746181b41a01491ecec710d684ad413c408ca00bcf484ee37abb93964258fba0f7b611cec2a738670a5cd1245b28a256867b5bb0493de186288488556a2136eba7f62c1bdf851fb52559a7abbadbf209f3664ef1039ca3130eed90c5e161487d534cbe6703fd36bf15f6adc7da9dbdd090bce56fc52c2c35b04e1c7033d87b7cb6b5bd579514000d212e75a4afdb55728380bd01965beb56debc8a94a1186f89211e490f7c22908bfc0a8aba663cd4ccf9bb1e07e9c20a016277b7a6633137b44988eaf99b8a9199bef61a33bc98a79b381627603c66927dc32b8d02a7757b244d4099ab9926c56223f1f795d7381705f02accc7658b7976c15936a83185cb4b74d2177c02e881d0b98f53a3cb676835c037853113bc0c1951d1fc67467ccea345882c2a03731b1aceea277da306b26a8b264aa93531047c2a955c2514e9065db317a02faacef4b5314df19769566aaa6a39feda69682647b8b84eddc9cac3c75bf2db4a0aac61616b594db1814c2a39006d8df8072b95372ef9db0e0d87a7da881ca325be97244137256427c560fc30a3165428198c78b0f6a5be547a3913a360f084f96709829c944fdb20081716c40937725276fd344dd9d49d2f41554920633cbb10fc493b255b41f3925aa2ac384a973d3275193ecca88ca56eb3b219e30a49a5d200d9463de506badf6044c971429a8213a93067d1160d1b8711ad31475bb7481ed2aefc94a093d662a665b378221b9d8b09b2d49688692cbbc0b9bd5a893a7444cd67a5218810ba252c93ec55fbab350763abb4892aa7c1527b37cc735ac71788606b5288e3186380eb6054d85dd4b1a4bc753c12a0259c39575d2b0b10848213b3029a5b33f6140d03447c89fb5b0bdac43b892acae2bd1e67b8f6e7a03e35694f6b3f2e64cf34b845a76ab7151a37f30898fe239e39c1359d276663bc184f2280e116898a442c4b36cab65789bdabb26cd4c27708c2f2f2a0551575804078a89cbb7d275441ab5adf339c28b985345352fca88c1fb5aa3d2779673c8f07181da6466377337f4bf74cda557fb1992c7bd4b998382ef1e737e08ab7aa6b0d1e898076c6a6276015077489bfb72079121cf50b5979f898e9aa7de46c33b40a6f6102bf27b9490fa29ffb31baf50582621610dac72176d620ce0c1a4ae952150c69007bae61a50d3604380be82f00f614d397889733051afc312ee6c5f636486d5010b2aa93f691616b89a3b2685f32b49d30c3c6adb6cb975c2733693695a7300f8514dee92b2d5aabf54c6f89879ac8035d2de0393cf49d53d4caa97aa3773a036993af3c6bbf2d6356890991343361e7701af3db6953591375e535d3e312fdf2170dd84b7a5b3990a92b9e86a276a2b486e660e03b42dd4d1ede9f74ad72641a3e0d53aacb80dff7b032df330a12ab2cca9d1f201f5e4a0e113d49f9c0dbf809746a88f3d02c8f1c083f16c01c5c341c8239598a3bdd9cce5ec7e059f44dc26128
+66c1f1f9e671abadf915aa1de08bda0b4bf98d2ca3517af2d81740e3f5ba9974
+Ciphertext: 1249d67b649f7c699f1de03e754f5672e07493e514819a745901bc85911dc75c8c54ac52dd32df44f7ea377f995020ae846bd9a44d8eb6806f26c85dc08f8b6c610d052220d4a751e7562b9dc4b3041f43933bb0511434a44ca321887bccac8e0cdf2802d83f107969f855bb6a260cdb1dcc92787100eeac4fce64ad2356407514921be4998edb2769e5ed702ee9c2dcb4c613bd1fb7638c05b3fe443a2d8a9194bb6b7073d5a2ff4224a569616b922e128075593a80f00b81cd331b08a0abadcae42d1764f3d2e9a658491c18e90588dc2f72a951baecf71be208d3ae4e647b46f0fca390f154e9f24bcef23c874b55d311cdbb133d6ab85d227360cd4fd7407fab98ce1c3db1400c1953c0f5e7d88a941697fea98a773b6715018fee2ba65f8b2080d54732c368a5d367285a105f1bd0de79d729ce26341e42b2c273383ea0ea5aa2cf0e3afbec237277bc8a9a8913c13ef4a1676fda2dd565a487c278bf3c26518f442c20b91d949c6b1f40126f64bc6222ecc45285b9534ada83a04d8cb55b0825c373e02eb80448e35f1eb714c83969c9fbec4895ea9992048b7cb326b1b6417db212a1cd5bd05f46654732e371d8fd34d33f3aa93ac77aea33d0005e1f38cf739c59dbf53c01e048cbb9d6047b4dd82e2628be4b792cb00a6b280a0ce8f5255e0486f356936808e4d5cc85e8f3eae68dc9ae50b17edf8d288a8355639272684804021a01b85559be1f3280b61989c1f421eff0fc9665e54f2935e3e1558c1b8aa564c148c29f2e30856359f6fef5df4da1976f7ce43c1f76b3e13baf0446731d3972ceb13b6cabbb70b504054d93a73d5f5f0b481cbea1aa930c2d7240d6769b9878c5bf10245d0db2dd53d4941ff23461f34d3588b1fcdc80898fd835b9ef5fd944de373becbda3bc1d3ad1a45243dd8928003022e1495542e0b0ef0ae1f1e6999d7082982451166bb31291a97ca77a55b9f57f80bf0f21bb6ce3b50d94e3730fe114cacd007fc1fca53dae4dabcfac97ee5fd4092fd0dfa9ad2c2a6b10b461d095bb32ea7458a0bb7633accb8eb25d06474a727215ec9dbfc51d35f2
+Shared Secret B: b36bae4f8e33002b7a040b3f49c169a0e52c7171703d52b7c6a9fc86a0980537
+Shared Secret A: b36bae4f8e33002b7a040b3f49c169a0e52c7171703d52b7c6a9fc86a0980537
+07d6d76d78de0828138daf434ae278646dde772ecae8d16f539f88f9bc4960da304a85150778642a3f73ecb9b51075ba4ac063adb81ab3581da08da33e0ea699a776381fc0a34e1ce5492f8a0b732b967d2a23a2f08c4cc79f5af881a1e4ae36f1d679fb660bd7398e4979cfe1c5a8be268b5a101fe196306f63403472e2fe2292c410329527f71ab264e888ac2cdb3c73351475d166c40ab212522c7f5e466de89451fd2c4ee356a2f74e2cd13e5b9cc36c26575958ac87a341f0a72a35db58d1c4f3aab8b4a22699b2423f6b58fd409c73529c5bb8d5690e62ae66fe78994aa6f3b4b3724ca5d0e3629c47c54a81306377029a8123584b641a7b442a02e89ddcd2bd57f0c38e87b918596cb1cb7d7d9f12af3dba4c1de9020595985f577d56f1642a03dee0b2c6b8be6de35e39067f8b66018480696c6c334371e26ef3503b573becdfc61bbc6de9cc8ee6c9c10d0a1d1f6689bd911461c2b6fe203b4690aa68980145e0ae490d7e38dd594872947ea8e822be531ae29eac8a9e354e90eb7294a2a64e90952792201a5c25c327474541c23c16db7f7df3bbf51e6d82f3cc1ceaf19d5cebcdf649cc05f6782faca5a8a97eef382b2baf2cda8074dcc1d703c006321560ec089566173a863703789e846b21be64fa390958ad1925d993e636c4b1039c554f73ce5c6c307a8a3c3817189ec32fce34253df507db6c86415ea32a0fc705a79e606e0960afd064a0c92fa9a9409cce58a0705b03c1bf18a81b85caf0e93b0b0845e6d72605b920cd3b9915d6b67734c68ba27f53cd6a7954690b9bd3bbb8494d6649060e17fb9775e42a3e2f1233e58b90723744ed1305397f17082128539e28b4be8b582b1130a12cfc0135d4603ca5ff06edc21db7d4b77847dd2234c95468a3d668d4f17ba881fde18608a03e943d8a46effd147c7f181bcda8c86a897ad1154bda591660a1d029c612f137bbfecbe0cb868cb8601cd0fc4ef2563a96241b191c5def6bbbcc3cc62f4926ff5d3c68bddff2bf07c86f23e483083c468f7fbca2ca2c79d5467ad7157d2cb53a6ce9688ed8ee98f320a7db6328cc
+Pseudorandom shared Secret A: 3760ae467ef5ddfb914d9ae68a97616b18cd4022d9ce13d77aa53fa5d5d6ab88
+00a0cf80d5599bb3faeae8a5386a22ea0b68a9b85d2cecfd2417ea8f2a55cb149368faf86913c1484685de88343c7dc0280e962ab925be7c092b52fa26eb1c1e
+Public Key: a5b7013f770bbfc24177d4592fbb04362947f8113d8ce43058f5a91938c71096b8b53c8ca242b0956c8f6701c89de16028560b14bc2e7b8aa9c21b41b8d9a1b3f8137a4788e6d16933c4107a7bbf7eeaa0cc19412b8928458a960e858d42b204ed837327d0657a451eb792917dac2e1e367c8b31b01405b30f741b0e80024a01a536bb4f125090627460873157a3364a75284977e407e93293c532877b74cc6bc08247290c2c67ada91394f2c63ea8a585ea8221447062ea3aa377a80ce8f0c71a43036999121425263020645b674b45b76674ea27dce65b44b773db6c169f348aa2c7bbcc28536c802052b52e0cfb6b08547883138c9c91cd378a7071433b3a59b673d7b6904281d5ea7b3e509a83259ccf96b0a79897b52abb2aeb850e9097c1f83e090ca993b1106ecb27f13c406850075f41c57b33b7504329a4f3b3bb533b2d9412d686906fc130396234ca5233f41031e2797d8d8641cbda85fc91847039af74e34b3d2610189312570a83b782652100a8f12a5b8e3014b3cab86dc53745c12fedf0a2c937c65de7671736ccf54149d594aac5d74362e9576b919d35c512997b4f88195734090b70e9c99609306d1b4f241562c88027efa763a29a3df7274b1bc0778e7034098758daa492e4a8266706a470879d5ac872c380a3f976b977ab62f8d6be2e129952d75167fb0635bc200f246d7b893d3b4c4398d7cfd736b58179a04f114dbc852dd6259c56d9009e83b22a015531f5181ec4b37a17c1261b9e71fc18ed606625879588d9196d8709b807a774a7727475c7b7c87eb0b5a78ac24326734da09977d2d6534d873de86c9d01fc08c7d6977882457f980245514c8a0a28ae5a9bd9c832de612d2cbbb5a3681c1e91b898e97f8681832ed174a28b0d61047edba2798832a87c08c0e170495946be1d113ca24c342da13e385636cb6c95a23bcc4d8c46af97784003ad9772cb4263c9c30800bcd81363279500d59cbc2375a728cfcab2b5d1d716f8acc33ba7abf45ab301b9153f30350d43306f6baa858452b4c5bb6a919ef7a274d9585c3375650d8a18601334181c1c3aa9082af1e54ea83cd4179a7b57e07e1cacff6505fb238ca55a90a5a9e49fb424a41c
+Secret Key: 7f63b4b649585de761ef8c36bac6379b234df947aa2fa42337cc4f5321515a645b805499dba073f66a7b015a72674627246b941fc8526fe759304460ecb7a9114b9fa0e368c5e4bb6f45ad797006e628b54a23c8b69c48383754bf1850ed91aed09736c9856235d128f28880ee21709bba4ae69b1e0d0785c1c98428197f25069fbdf749287a48445a2152a16d9536c2629a766db1cac6a757c5cb26fdf9855390c88d7ba7e55147c0a211e9ebbbab561642269a538920b0212eb3c6666dd2292a272c56949117f3b3ef82137e94a16a719b933a73f08978edb9a4d9d25d21523dc8825d63658cbd1690abc759867b6f07327d51a44d8fc0671950a420b9c0ea319fa0b7497d9c6123b2cf5500778d1965f4e283a6d6aa5fe2bc84032b3b9229248bad65258ef6c49001055f22798a8127bdbd929ee920501fd00c4263428465966c75a3cef945429447f08a20e5cbcfe2c777de4689e7fc37e33c90f89b0bf7ec823c290ed6920176db162a067ffaf4b115e42cf29c862e4b3cf03077622c8da1f5b3f213a73e5320b0e23e23b877e3eccd2fc763b27c46bbe1ac8d7a7354d7319fd393b2c71aa4319c050c4586b84ddc867ddb6ba1c45c8bb3f37a8a81937fa243f1cc3cd3d06bdcdc540c73970ed459b9d4bdd66b2fefd0687e1b303997685be0403912b39cf26bad41b79d578a642a2fdc8287e0f11b9c5a782cd4bb38069dbea2a78ad36c5e9908f8ec64de83620ee4cd4b10102979b5875878fa082466e7c8049086661161d3e03873234ed7d81d24fa1beaa969c1f734ac80bef3765b8c4108c8646743a0c1d3e81f5bc6c6586c9c44a79a0a3892c02c3113623a08f8aaa6d05b097185c409011368a667b1a2d7481e6a84cec1db0ec948b29ac56fa11908c4233800724fcea9cbcfdcc4e637b3d9c55e30a69bee4c29168499eae274c1682aedeace1d3090a455a7f0253164f7be42703222739265786f8dda6d4c07a30f7c10291677fd8b4cc0796cc00ca628649d2969cf81ca1120080dcdc783475c407dc92766742556004c916370dc68ad7ed127af2211e5a43bcad1cd086863a5b7013f770bbfc24177d4592fbb04362947f8113d8ce43058f5a91938c71096b8b53c8ca242b0956c8f6701c89de16028560b14bc2e7b8aa9c21b41b8d9a1b3f8137a4788e6d16933c4107a7bbf7eeaa0cc19412b8928458a960e858d42b204ed837327d0657a451eb792917dac2e1e367c8b31b01405b30f741b0e80024a01a536bb4f125090627460873157a3364a75284977e407e93293c532877b74cc6bc08247290c2c67ada91394f2c63ea8a585ea8221447062ea3aa377a80ce8f0c71a43036999121425263020645b674b45b76674ea27dce65b44b773db6c169f348aa2c7bbcc28536c802052b52e0cfb6b08547883138c9c91cd378a7071433b3a59b673d7b6904281d5ea7b3e509a83259ccf96b0a79897b52abb2aeb850e9097c1f83e090ca993b1106ecb27f13c406850075f41c57b33b7504329a4f3b3bb533b2d9412d686906fc130396234ca5233f41031e2797d8d8641cbda85fc91847039af74e34b3d2610189312570a83b782652100a8f12a5b8e3014b3cab86dc53745c12fedf0a2c937c65de7671736ccf54149d594aac5d74362e9576b919d35c512997b4f88195734090b70e9c99609306d1b4f241562c88027efa763a29a3df7274b1bc0778e7034098758daa492e4a8266706a470879d5ac872c380a3f976b977ab62f8d6be2e129952d75167fb0635bc200f246d7b893d3b4c4398d7cfd736b58179a04f114dbc852dd6259c56d9009e83b22a015531f5181ec4b37a17c1261b9e71fc18ed606625879588d9196d8709b807a774a7727475c7b7c87eb0b5a78ac24326734da09977d2d6534d873de86c9d01fc08c7d6977882457f980245514c8a0a28ae5a9bd9c832de612d2cbbb5a3681c1e91b898e97f8681832ed174a28b0d61047edba2798832a87c08c0e170495946be1d113ca24c342da13e385636cb6c95a23bcc4d8c46af97784003ad9772cb4263c9c30800bcd81363279500d59cbc2375a728cfcab2b5d1d716f8acc33ba7abf45ab301b9153f30350d43306f6baa858452b4c5bb6a919ef7a274d9585c3375650d8a18601334181c1c3aa9082af1e54ea83cd4179a7b57e07e1cacff6505fb238ca55a90a5a9e49fb424a41ce392dfd3e3a07eb2b9722f79f189b26a891f93db2947f8b4df0aa93b10195f8a9368faf86913c1484685de88343c7dc0280e962ab925be7c092b52fa26eb1c1e
+c7bbddf1f52112acbab135c1d97ebc1d4e43881e744eba02acca0ad015e3d52f
+Ciphertext: 5bc540ee45e222c05c2ff4bb36d9c5c13d40177feaa1bbeac63a51fc7a18c143f3334a8a7447c5c614eba0f19fdcb2c2f3e159dc7e0184129c0d0cd6a1a9496fd216855e7f67e98589a4b6e2faeb0516b4de10325985d5fef341a998b5fdf5351594ab9407cbce8fddbe5838cf64b65d4e97f8665d19684d398010fb75a02d82f8252ee0e3535cfc79abd12f368d08947c0b45fd48c82f1d395a5b62feadeba80553db7941848cb04e3573bdecb4e7d493f673344b4876486d2b216fe7cc8da44ec51bb5435d137b77b0cadf778f44ca063a1a69015851241fa8337da79b11a291665465a077583d89c7539beb42a3d3acd0e218cb5b0ec1a21d55ecef5ab629bd1ea969570b1c9ec01457157ff499424b5d8b892673d6498b668737d4b79a2c207039004f99399fc39b35f75bf70f7e3287f65d5cb12a67b1c01a151e8abdb0ccade6c4fb6968bb014cda5df6fb3cd64ee299fd0149d39bfbb41cd2f9a1bd3098a9042619c7e95176ec9fcf98459c59bf40db2b5c221411998f1bd38d5c96aab81dd1b9fec8eabd5012d7872520b0f8fe1ffeb616e2ecc9e4e4e9da0017c9f949fa252836db7f439d4bf5069b2ebe4a39b3fb67a6d1f0e38f0005cf9bc667df3d7c06459d1535f50f97294847de2358d7d456c44bae39b964f9ea638ce6396a4b4e27aeb8ebf5b66915ca62688e84b211846640f39e9773b66fb2340cd8e909e4c7c5ce8b93eabbe124a6ba07c1fc85e5185969222a101fe5d1b62b48f2ca418d11046ea9d5d5997bc860aca32df296e504aff7be61dbdebfb65f372a20f7d9e3da5b35198cf67c74fd6feab13dadc9212d293f0c716c28392bef773cb31ba54043321cd03ecc0d2c6e03ad4231dcff234094ad9400646eb53a32cafa0c0742533d6a995d0a9289b9fa2551150b397b3066707fdde44bcd5e9bcdab8944a3858159dc40fbe8bba2b2e28c0870f84d3a11da591d4005a4301bbc35d469404b51c2a7d3c9beb25acb9f354ed95234031d2cbbd918cb145ad94d1c88f4b9a4b0f00c4d266223ec191beb66760ba3a4f3f09fadf27c884c04b8506901a10cc7f5ac
+Shared Secret B: e9c12d9393f401c00d4d55474dc490bbc30e819b0196ac91a9065b89b9903872
+Shared Secret A: e9c12d9393f401c00d4d55474dc490bbc30e819b0196ac91a9065b89b9903872
+069555f88811ae22cc48c9b3001855b61c9fa6753b9b410a1b61718a01b39591c9fe0a7d361889ac8052d13ce2036ff6705359e124a0c967c570aea11a339c322bb5f9c0ac448f15c19a1a1225e3df1c0f29ad84e9defe4d30d8e554889f07deff58b764ffd62f5c4a01664416e484694f3ade2d9d65762a8cee69d6cda65f9f6cb50470224434b35ce4664f431acecb93ed4175396640eccf3002c14be5a220315823a6bcde63d0a8aeda06f73c5838c61f1b7312a895ad0210869618ea595cdb8718a0d7ae7ff70eb6ce97c65f498f5cb7fdec16f70ffafc6670630a7c6f303d1c7a80d7f954319185ef880c9517a4fb79ee385927d9c55aa75536f4ebbf8b856a967b06a4facfcb1903924206487d390d4fc407019b82569dfe8ef23be27705ef6ccb978384778646995ad30f5876e5af81c70b868ceab5ef777a485828c49f9ee316f750aa9571fdc3fc6e2740be4badc0c03afc2b58678e7737e7d0a709ce1b5adb8825d8a05d95d8f350ff6c931ea7faf9b27a8e7de26947017e4a8010d1bf1980541b31327b5d0d31fada3d863e1ad953a638950a7d3633603666ee906158c0c574628086f46a93286ad02a565a5fd16e04389fb29fec8a1795b9f7f78363000e2f07e3327a37f0dce4dda03a62469e2ec92e8f37785a5c678cb3db08d5220d4e630d2054f877708219077d21c7dac76c32011b17d6f520a317097050d6f5f347587f47de0dc0215ef52d9f3cfb6c709d738dcfc4610ea0f91230d5f0fbf97f7f79b559c61ca4a65894e1284ac2d5a72dde67eac0e00137df447e2e526f9ded5f31f27717065b6bf25d868efb6ca1370ca73b92879a2d302682d89794a1d378f5130267e02332eeb9794d7bf26b581e3443d5edbd1c0b3a9a7fd384fb50d539cdcca5bbeb09bf7d06331e7163a9f740aa8dda350bf1dccc81ab742a097346947aa8e83059e8098e6eea168df51e966b0b039a2b6d399dc877db261a9cc2ec5261edd9cb23ee39990ab936420b257dbdeb7bfa119bb85c9c1240dfd68b0c108353cc57af30edfb42b151e1e14870654a62e01ad7af79f62cdf19fbed0a
+Pseudorandom shared Secret A: 8cf4a73bfa84da5bbfcbf29991f9c847849dfa8d505aacdc1a1fc825b39d9506
+9cd46295241675d2027f064266844421f0aa2ef65a7ad678f15f4fff91a4796e4ef3c0798d4aaffad85513e4db45db9ac7d96d4c1b6761a25be68d9176661eb8
+Public Key: 702c2543888faef2714cfb7b925b8a106601a15c9652822165061e6713a7d88c4fefdb344c82b89b888ed3d73de6a04e0b3b45a342306033ba949ca105662173598b3f891d6a64bb46c46a45b60523934263a9427ba6674a6ba31c42aac0d129fa92520c5b6cc3face4619c4b0da0b0bd83fe19a40573c8a03a9af048700f13c57c93a68c3138375089a84c643e9482785b8cb6ff400ce9b5426d14d35c9b48ad9cf45dc703631903d4314cf802a8598c33f86c2c481823ce39dc32ab32dcab708da8b0e09d00ba610188788a4b07e373c4323573be8c22fff796f028b7c5a5c2cd2926b0fb98fdd34347345bece57c007729de9294e910387fa8543e3f4cce65569de463d7aa6850c7384eac2a8bde9ce351272e37b35c6e776c9742c35c7c8f4795ca2d75cee87b22f97747d725de1c8124f671fe2a4984c652644450a6cc51dcef5534de7c317a6032d615779166ce58c17d7f726e60bb64ca94e79b67091c03e023b1947e6472c775435db525a1a612d8836716a31bdaa1fbb556662b659f6d85e5fcc7ac5721823c5c7ffda08c57573712b41fc972277a53f42175587c28ae3d83724bac2e6826e2b208ac901559cb56609bc69683c4903b976ec4710c42c2fd7da0fb4145b8e57ade67846cffc9b6be75b797b74d37a139a2b62980819736c29415289c5c2c508c96835575ad0a71e837512ddc70bcc6c7725c65c5c58196321ce98accabcb117f19b60023b387f2a08c5ec00515c40217c05cf5149137a2b0d62081f368440c97b9d058e58c02c347037644741486b9a2a74abf0d2756d70c0fa8932c7dc09ac640969d8b0bf70104d5ab0d3313c93a4c2c10635b137b2f644207b71ad2992a25a69223d078fad73b7520c6394fc2ee08b8e2bface5d6b54735518a9e84edb419b32a6bcabbb45c9d43aa305cf52796d03f3494080384521395be31aee70ca50876895f4650f29212ea079c4b37d6c215601484775980db0c60e1a17c50c62598685a265d47dd8eb2dc832a72cdc967d57752cf3401ed8b8a2d37aaa6826436c3be041083c326c21e848bec43e50c315c9884f9e1cb1b96d129c81e8b453cd8fb9e09900cfa142433705b95c3407a2a8fe24e4f8e1ec
+Secret Key: 283a0f8e9372bab00add259018c9619093574c1991329442af971d2b87492bb3b0bd26a8fdc544ca432bf4239f759a250f8b92168606771b892ba7326e71aced5b3553c24b5fcb22a581340bb4c55d77cb4ac845a96bac21c07fdacb3c9b41517a77428b8b92acc24873f3beaf31bb748cab15080aafd6bc9b4779ff9c76965a40737b1a92d31af63168df748a26873446767787f3a0a697c9652162ea1a375ada349e4a5abf9849aeb3a3d680873123504ca0934828b13f656a11485584778b34e462d421637b935241289e1209987501383f7658b442b21d3b9c02d324d71c600a21c70a385521b8a16f20330c27ccd6c1772a36927140c0ea6c22ef4a276531ba703312c86a6fe9e26447c863883396285542d6d227dc985a62310540843d6163768bd1ab6f00670ada7beb952aae6204a48758ed245a96838420629876d69a4d4b8ddcf0a1d2765288b2b34c48b41e8339403b71fa4c1da105aa7c138d78034e51f03e1a24314a60a9214acf08e182bb1cb633425ef575586033240365a74d58b0df4aad9eac15b2154849549b1c52844f91078900289ab4230b30ae82ab9fe55bbcedfc26cbf7bda36609422c0b5959a9348babd1764ce2f4a1e8347cf320b0cdf55eae967398c26b433896ccf464962437f4b18ecb8a725eab5457a51794130123d96ef018876f01cb3791308b81afb467cea776b54b11768d2a12a59156d617188b74ca88124fc9935a75487ae02346b64c283eb1a9300b3d0f34a290c31bbf25487f9011618a6f15f91467a21053676059674480f09dde73c7372968599a5e78ac0efc566c9685cbd6aa2ec3cb6776116b4e24049bda4688206a767649b65cc6256380752663dc7071a4685792d28f7dd410b4973d4a4b092b7322bca916dd423cebe7c5ba7143193355a5581763a051a9531988938b82c7b2baf1a1a991b04de94242398f7c6684540176efc982e9baae98b6c37f97c4d31c13f5f8866d4c739f026a38f980ac932546b76422810997e34e00e77f3bc3c571e33b493b1f6063c9e85c99fea078c363241732c90748698b9385f7b88063772ce2bcb1702c2543888faef2714cfb7b925b8a106601a15c9652822165061e6713a7d88c4fefdb344c82b89b888ed3d73de6a04e0b3b45a342306033ba949ca105662173598b3f891d6a64bb46c46a45b60523934263a9427ba6674a6ba31c42aac0d129fa92520c5b6cc3face4619c4b0da0b0bd83fe19a40573c8a03a9af048700f13c57c93a68c3138375089a84c643e9482785b8cb6ff400ce9b5426d14d35c9b48ad9cf45dc703631903d4314cf802a8598c33f86c2c481823ce39dc32ab32dcab708da8b0e09d00ba610188788a4b07e373c4323573be8c22fff796f028b7c5a5c2cd2926b0fb98fdd34347345bece57c007729de9294e910387fa8543e3f4cce65569de463d7aa6850c7384eac2a8bde9ce351272e37b35c6e776c9742c35c7c8f4795ca2d75cee87b22f97747d725de1c8124f671fe2a4984c652644450a6cc51dcef5534de7c317a6032d615779166ce58c17d7f726e60bb64ca94e79b67091c03e023b1947e6472c775435db525a1a612d8836716a31bdaa1fbb556662b659f6d85e5fcc7ac5721823c5c7ffda08c57573712b41fc972277a53f42175587c28ae3d83724bac2e6826e2b208ac901559cb56609bc69683c4903b976ec4710c42c2fd7da0fb4145b8e57ade67846cffc9b6be75b797b74d37a139a2b62980819736c29415289c5c2c508c96835575ad0a71e837512ddc70bcc6c7725c65c5c58196321ce98accabcb117f19b60023b387f2a08c5ec00515c40217c05cf5149137a2b0d62081f368440c97b9d058e58c02c347037644741486b9a2a74abf0d2756d70c0fa8932c7dc09ac640969d8b0bf70104d5ab0d3313c93a4c2c10635b137b2f644207b71ad2992a25a69223d078fad73b7520c6394fc2ee08b8e2bface5d6b54735518a9e84edb419b32a6bcabbb45c9d43aa305cf52796d03f3494080384521395be31aee70ca50876895f4650f29212ea079c4b37d6c215601484775980db0c60e1a17c50c62598685a265d47dd8eb2dc832a72cdc967d57752cf3401ed8b8a2d37aaa6826436c3be041083c326c21e848bec43e50c315c9884f9e1cb1b96d129c81e8b453cd8fb9e09900cfa142433705b95c3407a2a8fe24e4f8e1ec22b4c2625234ab556fe62e955d3d25b83a2b99afdef43ad0aab4962eeba998314ef3c0798d4aaffad85513e4db45db9ac7d96d4c1b6761a25be68d9176661eb8
+835649184422c8dccd99da978b31b34d5945ffc9019cf400dd9ae07e502f2ea2
+Ciphertext: 53a42d0deeffe68c59856ca7d222351bc1453980fccf2a1a8aae96c53118bc9c94e7b87d453571fa593fe4a3bd493bcd9a7f5d0303e08ce877e1df351970d390a2c163aabd8d9d932c580e180e9309a5428666b14c1899760cad385ad54aae42b8ac7d43aee1ccffc609e552695d0eec6a3ea0bc1fa033681aa1d7bce5347c121f8512998ab60732f922eee9ef42f7d8b79d0e55886fd2bb70623dbdfa3ea6e2bcec8153a9b25ff24baaec0a8fe763b89a65fe0167e5633853cd67f37f5bc8e54033cbe841f563a5ee38515a4f3e4a322a93b8a10f079e614f360b60fc15e0a0aaa8558dad399b58988480a1c4301464b7200a7ea0e058c7a186e1db032e9fbd23669b70f3cd445907151ca6f86e50ec5396ced4cddded1010be5a4d411230cadf491cb75c5de7beb7c556e6620ee22d4970e2b37b3c5beff883a66bff09d54e9d88afeb626e44f9f1231591274c7cbb487b6112fc91877a6a5f61c74880cbf9f0f2f0e5769991c0961a542b8353f3888265d3359f4d9e5812e12f05fc85d0edc57a50f6270cbf3c3c95b37925805daf41f9111460f40d98918ca405471402320cdba50032743cd0a378ca8f8268746fbed2fdb89cec709488124494fe99a8c17e9ed752dda0bf39a640f4a55c888029ac54bcb3aa2ac83c7e9f7e3805bc2eb23f1a3c8e06275fb5b61e7c61eb9a4955f8bf6ba8f6a9454e0ddf9ad73472152d938791d62987f9a4bc0491eca85d99c826e065400f57b1b1007fdffcc0f79651ff06d529bd6a43aed361f29a01d566ec5de8ab7f31603ab8413f909dab82af89c9df491165b0f485873657f860542bddc3e075e97c5c86fbec8cbb6f935414bdf1c5ecaa2d63023b86b3a548e8737bffcf36ca5b3a70026fe1f85c0983c81852c4edb938d66756ea3aa28985c553cab50840381c1c5e587fc8b78af9bb3dfa13b6e2d3bdc62ad723f8c463dd34d62722a855b6f02e5ce1e577afad6c050028ce848a6ad49bb5dc1ff91ffb107114d162118b85e88690e224b909be23fbb547ce564bf763ff1534b030cf14f3f52a633b8358f088e41f06e97383b51a3076a789
+Shared Secret B: b8fa00dae7525ef25931e2dd26d0588e50545294c23034c3929c17bbfe1f13d7
+Shared Secret A: b8fa00dae7525ef25931e2dd26d0588e50545294c23034c3929c17bbfe1f13d7
+1befd6ee219b75b90380a3314988298157e5f1599a9b0f0b9d8c5355be8ca6f44c25c5c6f0a55404b1ff245ded598bc03295b0ca84e9f06b007c5685a527154ebc2d402fa4cc6b960210c2ce29ed179efe194b68cc3cfa2a52d89c1cdf388c5ddfea03903ce544fc6c74aeb24dfa59af5d6c79b5236a303382ab7fccc76cfd5ba75b36e64a5dd88aa73402600ec2bdc3fae19fc2cc2412c3fe2d135392eaf217538266e84cc7e919f0faa7f2a814b0c7840f650e6dbe6bb96f24105f0aac943e86b45e8d9ee8d2f4f974cf973a3183a8d87073a50ab9671aaee2b923dbf3acb4aafab4620058020c859964c3eeac26836e5cb621f097c8a5c9bcf0bfd55b503b4ab5a5d8e13796cffa8a6b69ccdd009cad65d526fde75b8117de1a138c76dd018d8256645323fe10a70891e9af983fcc77d4384c797c00fe8951ba34a4303dee260665c94b493e93da82809cd0bd1e3abe30f0dd4672dd3b11ed16bc8a4d08a9799b618c070a48dc8e631503a10d17d80ab406f6a58d679e34a1aab75ed75f6f0eb18c08f41846836a3d31f7a8f1e6f31b4184b7b259ada3231f2b7ef17ac2eb6fa715c2a029ef95ce5123660ae695e976a7ead00ec950ee75013ce1d5980dbdb9ae6735c023fd160bba8bf42101213a85b709211ee826dbbf46b2089e951f8cd7870fa2c307a07795d842626db77d296c6e04cafc4b24b5e2179cc96c350077437bef7d4b43f2d7d042edd6f9e633acdc74a4dd9f83801515a83eba1c007fd6dc3a82244957d2bda0374892f2adaa3ba6ac27f10150c8b44c275bea085ed4d3513461654e9dcb7e8b274727a3a532c41dd92b20ee702422e7efc4105d60d6b3199f95387eac5c567c54e4cb043ba13ac9c078b4c96a5c3eb971fdbfa786585d4668de90261828ed040feb00e7fa76b12a0f9737e292026c5c1d23f391a34d768b3a3addaac4e504336423f8f62769b289e306479f0bd024d713e5d88a5d0c0c6e44eb4048413a5236e5f0619a93e11f141c1d5ee3f998f67362174d3ba714111fe57d8a1b7d5f82fadb2d6f3e72adb9b5e366778d8d378b98a531d986122072
+Pseudorandom shared Secret A: cd15059cc15786fecebad9b36e3cd033026773d18c3138b7252e2cc135023365
+ab8df21c0859b099594f6304265b520a14efabad9c423acf74e398375f4bbfc23cb90bd1e21ba5a431412d3f3a531fe2d4505dc4e825d1d09df341dea0a13d0b
+Public Key: 965040030c4f871c2e1bc6458c277630d2a4f7f2b4aa40902bca90e8324db869c07b46bab8d212a7bb9fe65871857c98946616d21a88d1f377d8795cef98134cfc8ebf052e1b0ba8ab26524527bc885368d0e1096a1a38f9f3688447961bfb02959cbe8337360f02579cbb536f4b51c655be918952d3ba1fff26055ec05f44bb3b5e07b0448c75efd94893c0a0b7910979790d67302f4d98574331633f3a4435c92bcb84b2faf698d00148c489b62da56b44d86198e122b7b69ae558c97aa930a7951fc3c253dca56e9fe9736afbba6d8961886a0aa0e75bc3a1bc8d4a45dfc485199a854df1aeea80800504761bc5b374807ac53ab94aa7a565881b12f48060975b896c83bb30cb8020c17645b143ac44033cc983e08dddd056551195910c6e0deb5c0a9133ae8cab0556400c86a56ada2cf175b7b575198718af94f3484baac902c1b1d6982c9bcb631180ca59a2c6bbc703560b0c79ca851e777d8df18081f69c9576acb69b771ca056c20558e8173a6b83553d565377a15942965c8dfb997b96bb21033b47a814cc6b79aea462a64cc72e71339951b2a9b89e132b7777d8ce60342cf6559b83877f3f0a8214cc413e9cc4d68233d19c67f63852f4b87fa5f50572c71c3d946bba32a93afa4d4fc1043872875339c8185432e28ab9b68882e354afa60c56ed75263c55529d1a0c90d65749dc1d8acb97a713a503dc912f46ba15066be4065316e72748db6fedd86d54629f6cf011d1f88462f62e654983c5076bfc0865183282e5e378e704255f8a33040828108782a6783cfee0745c6a97532aa61742119bda65328a23ca7a5acf16a0cdd99bddc2c91b8277b0d6b9569019510746a394aadd112ad2b23a87e3c2d0a8b8ab6317012c98ee106e08220194a7c2475228582cb54c8c653dd892290080f8ac44ce33c77c786f02ac7324c3bf4c2a47f6e44c560a4e12930da75734ad597c11b9b074b0a58a84358b668bced61053d24f77f31b0af9cc2571b197c0137d429e78942bca5a44d97165a0d59c26d2b78af302434ab1b5548422b979bf27153471c23bc901e92a7e024467098b0c8fd070733b8fb58001017408b68815398ce76820b0e20069f3776d8a68152cae
+Secret Key: 600a84a68a7c854853cbd943179baebe947f1c355edfd8210cec5615abb889f04634a81f45e392615c45477358575ca3ea18215c9a2268caab9af23f7c5525a3f457dc1a4f78acc88d347f7b61094d1b90cecc4da53ab5ac4c5352744d71b102213c28ce048cc82461f86bcf5cd03fa3a7914af75eb596104ad3a71c93549a508395983240c91ff9419ad19a660fea22e0ea5cf7a7bfdf202754e70580b16cafa56de3d498b50ac8144b5dc1725a2df06f5915cef011c5d3b402ab4974d555b1d469ce89f271fff1a88f0007a7f15f85372d5ce5834e5b3728ac90f1082a16d21ab742590769351a357994405f57a26315b5c158e6b14978bdcd3cae93cc8a8fd26c891219fc500e86c528210649e25076b88bbc3d018f16d4774d246c6046876d8985a5844b4a509d3511bad3c1285cbc06ec59278aec486be353e019cec9708d31ab7b8c6127692308c9601854cc885b2894f2e7023036068c594b3d3082ce0186485015f97104c1a2c3571a314b5205aa08a0afa2623fa3b09b61a5a3d2379593028cd8234cc6a7986c9ec13a88fbb2503d61751d1b7a2efa1c9e637cda272e38f9b6aeb61267c683ac11c13d4a56da333c52769772d009255a0bbbd824b33a775928a7ec5825d2420b184a9e39228f9e838b7cfcc5326cb1333b36ccd96407562b92860f71957970bc4589220f3a511379e951d6206efe9a5aeb910af24c971b9855cee95054117662b4a6cb8b4b041920a7c6a05bf174cb55122c718a65167be726096c313224a27658b21a9a7a6fce781943c413c0c28186b418b1542ca1914f59c20c946b2b085047c3f49dcb22be7ae6ce65a453f81c4824486a589641dc77320f3a6de821ad5549a7cd87b4101bb0b63c234c874cd4b4a2bc541fc1292bfaa3070ab023d3e96a893c44f1360536792151e478af176025585874b1328e330786c04220855b8bf8cbcb1784554cce76a654a6fba12b670c29b56a03f4cf8b943adf301a15a028d65ccda3426281aa4acb2484a71c5d74020df0f56bdce72c9fd36cc8e6637572504094732157b98aa4ade2d689f1979216f056246613965040030c4f871c2e1bc6458c277630d2a4f7f2b4aa40902bca90e8324db869c07b46bab8d212a7bb9fe65871857c98946616d21a88d1f377d8795cef98134cfc8ebf052e1b0ba8ab26524527bc885368d0e1096a1a38f9f3688447961bfb02959cbe8337360f02579cbb536f4b51c655be918952d3ba1fff26055ec05f44bb3b5e07b0448c75efd94893c0a0b7910979790d67302f4d98574331633f3a4435c92bcb84b2faf698d00148c489b62da56b44d86198e122b7b69ae558c97aa930a7951fc3c253dca56e9fe9736afbba6d8961886a0aa0e75bc3a1bc8d4a45dfc485199a854df1aeea80800504761bc5b374807ac53ab94aa7a565881b12f48060975b896c83bb30cb8020c17645b143ac44033cc983e08dddd056551195910c6e0deb5c0a9133ae8cab0556400c86a56ada2cf175b7b575198718af94f3484baac902c1b1d6982c9bcb631180ca59a2c6bbc703560b0c79ca851e777d8df18081f69c9576acb69b771ca056c20558e8173a6b83553d565377a15942965c8dfb997b96bb21033b47a814cc6b79aea462a64cc72e71339951b2a9b89e132b7777d8ce60342cf6559b83877f3f0a8214cc413e9cc4d68233d19c67f63852f4b87fa5f50572c71c3d946bba32a93afa4d4fc1043872875339c8185432e28ab9b68882e354afa60c56ed75263c55529d1a0c90d65749dc1d8acb97a713a503dc912f46ba15066be4065316e72748db6fedd86d54629f6cf011d1f88462f62e654983c5076bfc0865183282e5e378e704255f8a33040828108782a6783cfee0745c6a97532aa61742119bda65328a23ca7a5acf16a0cdd99bddc2c91b8277b0d6b9569019510746a394aadd112ad2b23a87e3c2d0a8b8ab6317012c98ee106e08220194a7c2475228582cb54c8c653dd892290080f8ac44ce33c77c786f02ac7324c3bf4c2a47f6e44c560a4e12930da75734ad597c11b9b074b0a58a84358b668bced61053d24f77f31b0af9cc2571b197c0137d429e78942bca5a44d97165a0d59c26d2b78af302434ab1b5548422b979bf27153471c23bc901e92a7e024467098b0c8fd070733b8fb58001017408b68815398ce76820b0e20069f3776d8a68152caec278cc76845c7337415dfde300f3a1e21e1af5d5a49d9fc75cd178f4431517d33cb90bd1e21ba5a431412d3f3a531fe2d4505dc4e825d1d09df341dea0a13d0b
+7ed7d580d980a21851fa2fb24aa878e5b699b4d0108035e7e39634fdf5edb063
+Ciphertext: 9bbdf954e1ec4b933af57eeb08e508aa5b1014d1efb31a177b9bd4892b76497e00e9873d36917412e0926adeb73dd98308436e4e2397b9692405e2c9184294c9e4d792b97c027fbe8281a68de8bece679dcd459ba6c42651d15a368fc2715f175f667ca7e929ae444a1dd9ead4269b77cfae8cd8768e301f35303ddd4e76be1d112df683f215b5391d71b11fcc1a50763ec3cef16593075071386e7d6481c501e0eecb0a7c2890f5f2d68ba1ad45ecaaf71e1d5835e04554547eba849bdb8cee610ac53f568709a0e9de797b73f311f51b9a04975a41914bb90e23929bc21c52fe532e0966d3ea812bd4808100d67915b121df1d8c430056cf8e0786501f955c28b38b6a316f1f001eca939c251c03c88dba3710cf08d6ffc9b7105a1cb43930fa58c18565c547c6772301137f2b30389fd6aad6c591cfa9bffe4d8feacde09fdebf925387f51c22af1e4fa37cf1c53b432470765e13bd52c66c18566526105aa9235f849c2de5f606a0a7a96c57f238a409c114a93c529bc4509f352e816ec914f4c0eb7396bb982d0ad67fc9d6986b927ea70b960149d6b79f6183e0bff6fa13b74cfac1167df1e13eb89888f8f750efba3c06475cb8324fa387e5a731ea28c348f7cac4fdfcb0e9a2399ba43641f399405a79d30c449ba0f0e365306f37f28029869c5848ae5e377d20152f979a78f54d9c9e1e997de92ac68793d77a186098c647411aeaad9de59b993f7bee7f9b2c7d6b1067119ec9f5bd55a884b96ad9405dd66f22dfa1c52442e8a6f33ba2f56edf5aa59a6974c51f7ad0a647bfb48a31095635c3d77f6d2117d8397ffd610f7fce94f009bd41545f99c4f28727388ed981156d8d29b67900ac540f211b04adb53c749095ab832e21d070a76f3da9b2443195b2b902791a8c2015fc41268256b6428b6ad0f92f10d66bbfb11392944cd7fcf1cff91b64ca2a9fde374fa047e8c1864b55e3e17ae44d70de8d730058d122ce82aa9ff9c0c91475144a227a3a91f5e3a19a77523f794e39e090732cfea2a90a448265dd5f2bc5794e55a94d42e58dac5d130bbbf0aa8d5da8de29c04d0b
+Shared Secret B: 3312f21bc9984f8c09cbace411962b4f1fd29428bc3c1860750984a3fcb9501e
+Shared Secret A: 3312f21bc9984f8c09cbace411962b4f1fd29428bc3c1860750984a3fcb9501e
+4b559b60c5e50b0188611514858d943db57e274557858d1a7ce6e7ad03822a96ae163b79ca533fe4d7d09012cc44c42c3d5edd6409582a49e289ddda01f539328b15e4ac2ddc1bc403db2bcf71cd285e0d45ec63a60cb958fc6aa0f15a1b0001d37a13a32ea64d4e1e8bee74fe4b05ab8e11b7d3256162954b6bb1da36507b511e38e0e87cd404c55c9e5d8c6dd625c32a2872b62079986f30c1d4695434f2e0a008a21a0664eeffa7e743a785cb327c88d2bab96740b2ff2bae69642c746a5b2fe2fe27e5aec73e202e3a006c434da733c903c6551ae4772e6c9bf1038e5560fea780583400a5bf0832cd125fa23c12444bd4be8442e1d7e72e2cfe3973b6be8a3ba73becad041ac3b1e9d2e03feb32cdb398962ec8387d95d74784409054c71b282befe1187748f87371a084661adb55912d6fc5a38d407ca25e730e6bc973ad136694583317fc8677b635e7ec86d60dbde5c343f69c47fdbe1aee8fb16ed4ca348f598295b4a7f44c9354dca5ebedc1da55822ab8f83e2db8cc5d83c341a84880ff75a18e25c3dcd9378eeb899f63122f65d8c225144684beed6b88816151ecc0abfef154ff4651f271ad2ddd594a234e644e15ff2121788a46ac745cf4ebd926154d8fbe71c23679cee6f8067a84a8c616212bcae2a23df9730bc7164ceb166aa4ede1e2b6d8bc061880418eb206f17834ec434b23132355784efbed0d3e6822b8eaa50b7df6a909fbabe654bc85aa06009be8c71cc179d5fea6953e155dc983df18379d50e8d24bf93b796cbb11248acfb52f9fa90ba6457f355072a835d4d4e73db7a4fd8cd7db0983aa73cb4c62f7a010c09219c6f55a6e3f426afb23a26688db9b114f9029c8058908490eb7a6bd82ce3993e24ee2ea053be05db1fe98a16117b3f78d9ff59e92db7bccfbef133dcf6e182409cfe4d9a7eb5bfacf3ad3b22ea3bac1a82031859751cb817a1d84af492b93f8bad52b8ad5e26e93c915f71c7c1094c71a08b82472344b3e3572301291ca4fadade3cf10f9ea1ce65b900b9551cd4c83bf00d09fef313a7a2498ba5ec9e150a8f7263330bd10ab9424bc
+Pseudorandom shared Secret A: b3c88c4c02f9e1a092ea11660c8fc2fab2a8aea74cbe428615d447d454faf6e6
+706ff664509bf4a352fdbb2d2790d4a55cf904ced9e156b9798aff0f6e07396d30810f5ae7e7a9fdac9d81234c5e03821a527276cf632ac1f743108217675f9a
+Public Key: f6f226f2548aaf9982472285aa373d2f04b640b351c276aa62c2b50a1971ec66bc26d2a71b996915bbc756c0a8d27589f31b060f91a8cd602bf9751e1c3ac886851501f687a74b8283fc402e8554f6397048caad5bc300180196547517584c6549884d9a7c8ea10cb462c33ddf9ca7b84a1b3e1a48c2290ec0793710764685aac1804060642ccf5863bfc356b3a98b3f672b340c7a48565a79b8396b4ce70ab22b998353505171565c3980e86c693a16969ac690b9945d7aaa625dc982db232e42598d9cd78608cb9fb269868638acc3e73c9a24a861bb6631fa7e31191d09231e8abc3185d7a48b1c86bb4554813b99158b8c7a2a9dc7912b9e450139307296527ce3920b4a30c1da97543858ce7782cd0df48020d010b23b8b73778306d7a37f1a4b2bd48af48cb20c403a5b9171ad7844b1e24153d95e9e325771f3c2dff9c3d6b41c49ec0c8f9cc07a82b039d90183f042400878051743304bcb81b83c438aad62c96b0be9a5e28319b739561659198167cc57e218aed154935b33709c2cdce56d08797c70d772d2a08378d82937d12188ac3ba39a4bbc1bbadaf565ff7058292b0831ec9b2467930f7588a6ab1592c6956f716adf412587c7a0244299e9e247d3d005b1d9ae2a852ecb8178f82a9ba7069c05c2ac910567b8256569404bd08b8ec6fa2d0c81013ffc2ef1d31d93ca1f5e006980e15fb0319782e0118af687b7c9b5dd3352dc2aa16756c500539710491b04f1aeea5918ebb5b18d76b81d727975099b6acac1f910573e090e84b3bb5d1466d30c57d13ba296e8b3cfba2d22b366a2b105cfaa0f7824012fc86ce7472a64e388d8dc6e3b0b5415ac225222b19d209c44439d29a8bf0b30344d7b95bf251bd0a03a6feaa42fb571b60346d9344c2f92aee7f3bc90713d97d75817aaa175c5c24103a53c9299f69685bbe51a0c002bfe0a1d04222e9eab17bfa53f618749dad61daa67a8126273f242bfc477299e450e4777755e51b5a5c096a7c0c2e95142794ab15e967260bb1a52631a2115944e38bd59d119dd02a6b1e752fac038c5853d2d1387d020410eb96f2f240dea753ee48e98a38e90f2e615d4327d83ed8c05343106211a78202ac15bc9ee30
+Secret Key: 05d889b6b0c4baa18a988c66a16620d023351cfac6914a32b96b56bac2a3b4e65c24915a1ebc9d54d305f3bb04459b9918245b7b3673eaa74a332c17f99500eff38bd179ce9eca20a6fa431c551c78442eecec7855a33c6b2c95d85b4ef6170c603c9e3990b86f476f2693c5d552c40db944f7b2c0f132a22a18aade8a0905d0a35f893cadb744b785b2a433b6bc098f3cb0c65a0a1f785584d0976b610ccde1e94f73d479f1c02e9b252b5e5385af33ce6d84c2a0b209a89925bea259de8744c7e5051b73372a798bbc4364baeb80b65b28500cb65d0cced4fba842e724837b28a3e4397afc5583a87c99986cf7c092ec8ca22f11c54ae2b36c299e05711b077966b48aa208215925504c05f6a4063c014b7808785a1e45c7aa7d372b27a97e26d52ea6408662dc1da11661bb5088718059818190c3958ab80707647316b4c517815a1d74e78d3ac3630c082bf6275022009a203b3f65015622133879987ce8a27deb4025dc335a393aaf5dd61728b7a15ec6a711825467f68eae578dabc30ed3b4c222ba2d42d03758375e78b493cc949080a7c88b586ce1e850c5d2ad201175c55ba211baa33e547c5e9b2612b750eb772748612170e101376a3e336323abec5c2c7816b6d7751f66a6ded31ac67a707a8519ab155299c94c810500e5e060978ac189f676a210c3df6c0a6b93ce8916c5308b11eeccca9fdcac6ab36be2f43c64d69a91c95b755096be410f52643bd4d4cd51236646ecba3ceba07dd513e64b10895c0b32993166d2ae2d19a56e359c2d4cc98328954962c76531343c53232f4019fcdc00eaf0cf73734170948c77d247a4b806ba54203f6c6b43572bdab7137dbc87dfa35bc1d547b9e727fcd2937867a198e2678559a66107ccbd209edad711d9d7b5d5796a70e4b000a5887308005cc15db5693d932906a766151221bf7f7536ef878bedec4e04d71dc584c1f13b32352c3be763996288b95de5a39759040601ae574b9d68395c1d56572bf24d75746a06316694c673e365688df8af5e93624756cd883b1d67e88b28e8a1df4b6d41417378523ba8d45895057706d98af6f226f2548aaf9982472285aa373d2f04b640b351c276aa62c2b50a1971ec66bc26d2a71b996915bbc756c0a8d27589f31b060f91a8cd602bf9751e1c3ac886851501f687a74b8283fc402e8554f6397048caad5bc300180196547517584c6549884d9a7c8ea10cb462c33ddf9ca7b84a1b3e1a48c2290ec0793710764685aac1804060642ccf5863bfc356b3a98b3f672b340c7a48565a79b8396b4ce70ab22b998353505171565c3980e86c693a16969ac690b9945d7aaa625dc982db232e42598d9cd78608cb9fb269868638acc3e73c9a24a861bb6631fa7e31191d09231e8abc3185d7a48b1c86bb4554813b99158b8c7a2a9dc7912b9e450139307296527ce3920b4a30c1da97543858ce7782cd0df48020d010b23b8b73778306d7a37f1a4b2bd48af48cb20c403a5b9171ad7844b1e24153d95e9e325771f3c2dff9c3d6b41c49ec0c8f9cc07a82b039d90183f042400878051743304bcb81b83c438aad62c96b0be9a5e28319b739561659198167cc57e218aed154935b33709c2cdce56d08797c70d772d2a08378d82937d12188ac3ba39a4bbc1bbadaf565ff7058292b0831ec9b2467930f7588a6ab1592c6956f716adf412587c7a0244299e9e247d3d005b1d9ae2a852ecb8178f82a9ba7069c05c2ac910567b8256569404bd08b8ec6fa2d0c81013ffc2ef1d31d93ca1f5e006980e15fb0319782e0118af687b7c9b5dd3352dc2aa16756c500539710491b04f1aeea5918ebb5b18d76b81d727975099b6acac1f910573e090e84b3bb5d1466d30c57d13ba296e8b3cfba2d22b366a2b105cfaa0f7824012fc86ce7472a64e388d8dc6e3b0b5415ac225222b19d209c44439d29a8bf0b30344d7b95bf251bd0a03a6feaa42fb571b60346d9344c2f92aee7f3bc90713d97d75817aaa175c5c24103a53c9299f69685bbe51a0c002bfe0a1d04222e9eab17bfa53f618749dad61daa67a8126273f242bfc477299e450e4777755e51b5a5c096a7c0c2e95142794ab15e967260bb1a52631a2115944e38bd59d119dd02a6b1e752fac038c5853d2d1387d020410eb96f2f240dea753ee48e98a38e90f2e615d4327d83ed8c05343106211a78202ac15bc9ee309646045e718d77ed426efa7e78d55b5426b95931c549cc4e2c2f982c6d4bf6ed30810f5ae7e7a9fdac9d81234c5e03821a527276cf632ac1f743108217675f9a
+20c15bd56ba0d4d6a075ef0826ca88d1a5f5ce2aa68301c84ea5fca5569a987b
+Ciphertext: 8c0728cfbd1344eacdfa4fcefdf012d1e040c813aa26e09392c8ca23d076960223ed7a377ccaf0300299ba869ecb869b12f90986d7fa47480a2c1750b02fc1e4af17d3b1bf797fbb9f1d329c24de5b9567c44d52199366f27703029f5a5651d0e7b5999a8114eb029db7e8fbbbcd2f8bae7833ed3e1196d79d7209198252c98db842a49867598569165841a8d3aef1d325948953f61bb81021c8ead635b353a254044437638994660a8c2558896a1132af61269437cdad0e7634e08bdfb2ba8b72b0e27ed63271dbc58df80ee3f9db23018a35dc9b1002cce98872ba785606878712647ca8f90b5ab7d4be7666968de99164f7c47dbdc37a227e0c36553e0dee7a763e63244e174207c4370af3809089b64eba62cbc28e2d1a645668d4efc5f727a5582e506824fe3eb9b518acadd1d1cba3243f35ab0f0b46052cd488ef3ada68ad859f66ba7d1b54862643155a2a8f84e528f87bc84f9eaad8528c215c6fd9375d034ef73db50629dcf8ab44b948e33a48d6f4058e642b7dc663c008923c91615c97c8b5a6fcbdbde099693da67677276119dbe736779e5134ddc0353751bc997a453cc86b4020d64eb2f89bb8a9276017728a76962d865196cd00c427b6c69fec90c4b12b212d84e33d77a467f4df94573ec84345892e05ae9e847532d791dbcb20da29d27206cb0c3e61104e5499b95e457aaacf2af52727766af2b4b63095881b268f6940460987e2f6cf6564ac3cbf875b2de4d89a019e21d3d510ddd4b840004b7e1f49ca78b845aeeb326f20371b63f56ac41c0bb5aec2ace7130c72ace595c94766d61535e5ed9d0ca9b127796bd09decc6d55ff916ce2bfabcb25e53da1a15335a9b000fac01e5618853d8cbbcb40bdf2fbff505d5cff4dc7b6d5f9c55e1d15356b0e731857edb80b7c1cc12e477f6c94289af13586510128bd8402d7f4bf85569b852147f2ac18e4d86d281b45d59a99e8b504f5aef0c3091c0216ee0130d710fe8fc1968398adbecfd94cae4643afda61082f86b631b6e640e025e49a86b06b98a136b2cecb849f85260358e9459005fd39a3bb3c758de101d01
+Shared Secret B: 47e89c58a327e001c95f03e302f43f3a8a7158df32bfeb66bbe1080bcc7b4feb
+Shared Secret A: 47e89c58a327e001c95f03e302f43f3a8a7158df32bfeb66bbe1080bcc7b4feb
+4a61b3741f6062938252f8e9e4771f68c8099e024ee1766a422cc4fb29737602b5b1700b746d1db1e067caeadb59ef06064d72a56a40859c2e383f1cceead099aaa27cf609d025e2ccfef54e154a7bf1a3df8f7a75c0d915cd91a52e2dd5cfbe1d34f158eb07d45f10b309ee309f045af62c6ce87710e005993a8c51d057aa97a69551c0c91ff37e0a8ed4957f87415f29a0c80a4cabab79867a728462c84b1171f736edf727b341bce56ed429691f6489dc95a0c400e9914ad4988543f923e56c1af51a1d4232d58e727fb0f7253e63e37fa9864894926369bb4e296625f1f1949249a2d589a882f3ecb68e5a3961337d1f866ea19d67b385bc48416033e9ba90b818532217fac2ab9335215ccc9ea89c8b4d59d5997699fb8193b5b2364ca1c76e447590302daa2d699698e361caf019e637c01a0b08ad9499f62e41d2a97175520f16bf80da1b29d3b3b25a55f2fe2843053c2f4e7020c3d00aedbaf140f5cf24bc16a00c92c58f77bf26997a21b97ecbcc37c97e1416cb78da4a05cab11403f2c08726bc5bea1464873b145f4e0304b43ae3e93f280507cf4e1824a3dcdce209bd7176e60aabbf012848092d2eb52f9da8223ce6802498416f587370b7baf4f3930190c56ebd2b6d5b30851cd9bf5bf9edcd00cf4f3bb78f45b6e6dbf9e9e72e5f74e2ffeaef90286b486718806d54b41d0f918cdb19efb2a500e04d415b7836c590307850a4b607f906bfaee89f7a07f729948d489d0461530cf531c46020c8e1058e8d19e7cccf6e862d7595ff95c64516236d4853e9f8af6082318dac5f4ccf18946549e5ff717ffc84a12c94d1931e916f68288614912a0ac560840fc64e5d2faf80200a0c074eedfe961c44e0ee78193e898b7e05c2a660775aae8207053f726cca20aef157fa3a5c6c413c1b976901a9281dc29a6de84dc623664d7eff3e2d3922983f3b0363499a7a62f4f803808f7194c7d339bd7ba7d229914597751f32add5209198bbaf3fd4534f4536ca4fdbcd6450f2352c500cc4059a9c36dc6b6df7696c9f82e6697cff03344fc976879f10640a1096e228f7ff8fd6cd
+Pseudorandom shared Secret A: 886e4c125f9bb1499b580758c1587efd493936d743dab625a4fdab3da7d19c6e
+b36e8712bd9be8b9713d6aa0ff93a20fc700e80c0975d0be83e29a2d3bf02bdd27a070121b4becdcd01714d17d98efbbf0c72d04dacd0b32fec37a2f3c4cabc7
+Public Key: 1df42bbf2c406cfb717f329f346a32d3b5abca13c4879c994663813b92b8645480bf0006e3116f79291bf8c16a12687a488cc0cd6426caba4753bb2ef94cbefa426d793a25d4aa83f353bc04527bb77c43acdb684e0019440613811a8797d475f990483d027a2051769d9149cc9484b7e23d257730d0848071914a8b8786db49260c289c60d9531ba57e071a870d781194eb8cfd42b1c131476300be2997b77fc313aba87a7eb528d12a415b81acc5c1ae404ca3dd1a042b23c0fc3213171b4354a2b479171ad6609dec687ee3a32afa4962fc4a1b33612279f4a9a629cba696565c9862839a58890a0671945ab01752320c75f0499daf0c105e4800150a540f17c5880253a6b844578c940a1935bc104c46eac203d9be2ba08632ab3959929ddae8224025ab13206358827335605c8de70fc67545041cb0c3d545e0b668ba3b0f770b1af23c717d480552c0a917fcaaed6050b83a3c39a926cf6c19b69799fa43c3f2a65e2f1b76b6a7789a339134d7a2c6aa70d7817de8b04250f9137e1aceb2c8c304820d554151838656028b74c4996d1e611e8873be51a6a35f10ce10292047f9416c3c42bfe988ea46504417ce7b554c7c18647c486db4ba325b732e02d5bb7a7049b6698ea4a75a7e05650b9b8d0cea9b208b181602693994a895c404c69a7385d28f74d45b4b268c710295bb6308b067c4c7ec99e5187ac55a856af6cdf28b866ea148cdcbca59c445d5e609d97037e916c36eb7aa1ba9478a2ac7e050c4b0914d8963213b8a9e1991bcdad2a85a42cd130215d338688b889f7d1c6fe4acbbde1162110063ca55afddd515b4073cdc73961a069f46c5b1e0b2113855ba40176f0548037975b9c8054697a849fa8bbf90150bfcf6a94d461322c25c970aacd6d028ee101922d01f22e2c547218bd7cc7dbbe91261d116791c276234970c795db34998caf98058fb8fe873093a5c22f45359755743fd016cf575bc7bf914eaa3081f1b33a9d2775303b90fc87eb4e324efe30b7c95c36f616e2a5b91f4e56a692944a3195ea55b1be2fc2eb473a44d35074cb7a5de360d60b377b64579055b42a6260e60a2b8898cbb16830911e12c1b801712a69fc424b0db4f7ff05d
+Secret Key: ed7947fd54391f747349368743f1c2161aa8dd1472904483e92673f4496ebbebade08c1940fc82af51064d3518e614aa48c052f51a651e379d08b70bc17ab447c28522522ab61875c8242ef9d476908b324bb109b45790eac0bbe486affa139e3a48c574e014a79894ba5bc929085103989fbdb312e75a7cecc99ef8d1170b2bbf807bcd1bc34ca9d7b32e5674ef8254e0712cca289bc0bc70736c24049b93550026bcf3342b3709d7bc646e8a8a80e2cdc0627ddac27559aaab24b35e4b3cb20a0415019a8a5af45ed98b2dded93f75a27b2ff664b0e40dd1d189ca0a075a8a6712c3bb3875cbd3997ca78635d9ea76d861a089e9a207cb9ba61939159b4ebdf45c8538c2873b3b5c637ae7334e0e7981ef8568fc315c0ec8a02e4c2956575ec341adf9f9098feb910a169cda1b7798dc0a6bec52d8dc6962c881c13c91e53a5ebc08c5bec34053d784cfcc92980b8627ab653ac7335d946ba5c192ebd394416c4c9a85421a33580fb8260c466029db82c3e1caf5993e26a0c44c251994fc3af8467c74927bce661d26e7c573000598872b73c7a9c9dc1167d03305a7334c4a30d6db9a8a50018216245d373ae615792921510a511469e825ba547a29c2b3742c6f4ac18cc06c15dc636ac649b347364a7d72499cc77411208134d7baf139cb00439e7c33cc1f7cce5be984c27324a067085e63344e8593f24b9251cc395a8465513948aecb01024026f2c6973c0086db2b0069764c99132e9287062722268af24e2fb40cd5e0a49c957158bbae7a8cc0a5677cec4a8cd75c18cdba0ef10400864007bfbaa9c9d6a3d1fc10b4bb2c1fc1433da94943523de0c3c1ad1cb12d22b3974b0f5ffc5ffe0770525119742176b7e066b57181f6cc1f539c3afd52216e518a21d7178fa15d49fc21f5290c9b988544e10263e1c7856105e4c246ad727983b819b4e4206c15bd625c6e1e58ac6e5471748a65bc677c16d61afcc6b147e9b58bb703b924718093b9fb3723c6722bbbdca6a848ad36867d51b623fa118586b31671b6ad2ed8082e991564827343308111815d0d7a614e566c57c40831b5cb1df42bbf2c406cfb717f329f346a32d3b5abca13c4879c994663813b92b8645480bf0006e3116f79291bf8c16a12687a488cc0cd6426caba4753bb2ef94cbefa426d793a25d4aa83f353bc04527bb77c43acdb684e0019440613811a8797d475f990483d027a2051769d9149cc9484b7e23d257730d0848071914a8b8786db49260c289c60d9531ba57e071a870d781194eb8cfd42b1c131476300be2997b77fc313aba87a7eb528d12a415b81acc5c1ae404ca3dd1a042b23c0fc3213171b4354a2b479171ad6609dec687ee3a32afa4962fc4a1b33612279f4a9a629cba696565c9862839a58890a0671945ab01752320c75f0499daf0c105e4800150a540f17c5880253a6b844578c940a1935bc104c46eac203d9be2ba08632ab3959929ddae8224025ab13206358827335605c8de70fc67545041cb0c3d545e0b668ba3b0f770b1af23c717d480552c0a917fcaaed6050b83a3c39a926cf6c19b69799fa43c3f2a65e2f1b76b6a7789a339134d7a2c6aa70d7817de8b04250f9137e1aceb2c8c304820d554151838656028b74c4996d1e611e8873be51a6a35f10ce10292047f9416c3c42bfe988ea46504417ce7b554c7c18647c486db4ba325b732e02d5bb7a7049b6698ea4a75a7e05650b9b8d0cea9b208b181602693994a895c404c69a7385d28f74d45b4b268c710295bb6308b067c4c7ec99e5187ac55a856af6cdf28b866ea148cdcbca59c445d5e609d97037e916c36eb7aa1ba9478a2ac7e050c4b0914d8963213b8a9e1991bcdad2a85a42cd130215d338688b889f7d1c6fe4acbbde1162110063ca55afddd515b4073cdc73961a069f46c5b1e0b2113855ba40176f0548037975b9c8054697a849fa8bbf90150bfcf6a94d461322c25c970aacd6d028ee101922d01f22e2c547218bd7cc7dbbe91261d116791c276234970c795db34998caf98058fb8fe873093a5c22f45359755743fd016cf575bc7bf914eaa3081f1b33a9d2775303b90fc87eb4e324efe30b7c95c36f616e2a5b91f4e56a692944a3195ea55b1be2fc2eb473a44d35074cb7a5de360d60b377b64579055b42a6260e60a2b8898cbb16830911e12c1b801712a69fc424b0db4f7ff05d9091e5d2601868bec2a9797a67f5b1fb2b35a861c6238934554546f554c4a8e927a070121b4becdcd01714d17d98efbbf0c72d04dacd0b32fec37a2f3c4cabc7
+3aee17254ab03ef32e23993b9fbb6fd88c4de958d7a8ab3dd6d7c5f0b92cde98
+Ciphertext: 60ed8c8d6a00aa84a06650598e04910584ad582cc2338e709f8676ee440ce58650d8441191a2873e9e7dfb7056df6016e32ac418c7f1c1cd4dd8a2bb541ac460716a73809f4e8257b80c0b2ccd9b17335f1cd1f5ae6d50268b1ebc24141141f00b7edc9e8dada70913281ca41bde04b31304dca23cadeb3d9f2ad031c0e2d9a4980c388b8250fb6fea9dee245ce4f43bc85403fc148b236ff7aeac69fb3d6cb1c208d4f2c5194f80e8239a6a9144837d37349f4838a90003aa1120958d74f50a0edf9bb1cefb2af4431bc6239965c236164ec0d79cd3eb6d6479027be4c0f0f4c86357c281d1f260900f0b38c5d0efaf84156982fb0388d88858d7f289817d0468e9987342aa16975521418dca126cd6d22da1447a1f4874170759546b246ccc2f8f97ee1ab55773092c673bb00630dc626d16542051594a98cdf59d65fcf894af794ca14091589ddd55218fca1ddea819196e4e7dc1296439bde562864c0b496a0f34054a71b1fe8e6a2a94fcc9ac0ebab5d1864ca0bf87fcc86e7a4a8e2d264ea3ce687d59c460bd5c32bc63b337a3814009d9b512dc5c53a00cf5b99e52182c99a90cf6be0ad6443d0d5608ce6f1fff87a406a6693cb0dbe42d9f3486fd109908c385aae2d39cb14658a2b31af15aed3048b65d77b2d2a925805d35edd02a8e74bc1cdc282c4cce4b78bd3d9f0da250fd765714dca0f6ed17fc8f74dfa023fbaa6a28b308fcf6f5bc455e404f36872759f260068afb34e86271f5f0bc8a1cc34dc088c2a89c9f960cad55b487db21c14f3fef39404925b01eec63452267153ac347021df0c5d131403af6e728354eec3c9ddb4532330dea51ef35266374c9113b36d6f6796daaec18ca7465db04430942ac736d209cd54aff7f7ef019d8e463ba744c9b1ff0747d48dcaee4291e197f9ace282eef03ed83e304df144ebad9f4377878036ead11ec3de7b1ce757e4a1f4989e012657f56acf561c23c184cdd97fb2f5f1e90e818cf265a881f3b52b0214e61f5b00f35615c71f7c2167d0e81c29965738a0f3c786964a11cbe5086b8bf1eaa7dd16fd92e813aad8fd67acfb8
+Shared Secret B: 2f0384cf7b40dffa9a22195fe4f83f4d8ab5a88cf8e7c250bcccdb8a681ab80c
+Shared Secret A: 2f0384cf7b40dffa9a22195fe4f83f4d8ab5a88cf8e7c250bcccdb8a681ab80c
+b5acc2060915a2b07fd59b2d72449c832f174f3fa5012c6be666246399e935fbec920b599b4f5868b15d936a11341345dcb50d813be50e82e5a2b868ad115002715bbd7cca2e45d131c7fbb1cbfd97a741701bdd2d6fe70018d655a7c24e9f9926c44e7d38057e650a808314c7c404300d63e77d02a255f4d53c2634e3b81c8607271322b0fb07a2917fc4b1827cc465e22f55743d750c0d063b81886faffa1269c758688b8904e3059f177ce50d35fcf0dccbe9c8ca2889b500cdf2f9ec35a2481402270d233b86468ad8713dae3f4ba7b9c781c026bedd2befe4635b0eb9fce68b85716493b88bdba339ccb2a3d9d3fe7ad7f4d3555b9f0dddad2f2daeb185ed73f288f9ec1043b8ecbdd458b5c7afeced103ad84dd41e611ab603dfa9a09c977e37983bb79f92e665428fdb8c7022739fdefd55cd456bfeba4a0ec1314051502a5c1cb848be014b7544dc3c9956033e8490d6a99b59e483a0909c6b35722dd5030464634f86873a86cc6af498c4defab54300e70f11416c8c5ece7c6a666d5d7bf12814ef37a2c5b19866fa4d1816d96edb6bbd3ac2ceaac030a509ffeb7c9ded50e33168d4379efa62ea1c910f8ef50cfe634ef695b32fc8acf5c337f6c190327da23876b7292811571dbbe70d0df28974c8a868556f2de0ee2f6ef9ce3bcd232455ec7348bd109cedf9b601b258c968d8faff8f079cd513f20276e07b0e32f81436fc9308a13ed92f3abca2fa109f8a63ab999de373510d8ef6056a5094182e83432ea57decb2c7b75f68bcc78799c396e2deb24d10fbced0206c58a2129207572b204aa82efb52b587a50f7ca8da8430b10a9e0ad20bbe3ccc15138ac4998c939d043bf223014be90812444be9bf83be3bbd35b029a1bd2005ae8227c567e767aa4b9c2eb70e05d3d8c787ac3118db1a96a94ffd44dbcfb3db04b0b478ac29e23198bb185f84e4bb77fa5646f7b9a03c4d7a03ee27dfcea1b7de2e848183a27e13d728fecc9df95b4d73b162cf0996b75e40b11949124157a5219606da568e0a44461340bb025011dea143d67ee17afb45366c8ca2a0fc1cea23f679e6
+Pseudorandom shared Secret A: 890f17db2fee8715133f3f54a703cd38148e332485d113a48088a0903627d5d4
+132b5af823bda854e761becb2efec8257150207a03de711ae501ed5cb5f51309d5c304762cb0c29b5a2f71241e7f8172661bf7833d4f115567fb8e27e3da0202
+Public Key: 4fcb12d0cbc0a49393852122256a660b563262c44ca50506af4747abc81e34e986da8580fbb86377984e538b86e9196de0f99600e8564658a965e8406d671adfe9753084a61c3786a279ba5b28c97414339298aeb3dc8573b00499339651e81bee578f65d458a3a704a65865e3711114f97f6280ac46524f945644afb5899c0ab3ffa144d75c743c322e72e745e855c01971c5b26b3bacfb48b6ab526fd84ea289bd48bc6fed6207707885f6228cbefa84108aa5190329f2a837c6e99c216c40c87395d08095878c3e421a691f4cc7a94bc07c725edafaa04f760129cba4e0f3c90f15a48f7cc2dc394758715d4d85a632691b8a7c88a4da09c0ca4468aa331f227296684d650079551c5d8af376b3cbb09bda1fee1a2ffa58328802b3665983ee56754945b960a93d0073148e8190739c5c85d2103d4ac7bc1b589e648c777c7558c1969c89a2ae93b6a5592c5a3cb029a6bb7572cd38cbc874d8a9bc8b7f70f568a8355ac733caa0898d5b10c564a01fc2851f9f0a690aaa676558be2a866d65ecccd3297d13459efb73995dfb07552a851e1756d26149c778cd9594861ef444d58990a8b900cc10884e12cd4ce2ae21f1761947bb625231731b465552cd6248532423545bd7a3118a44d38951b1a824d27ca53a177c1c771d142b4d715a326b016363b613b7b2408c934dc4c76c507061d54692852b00cff26d9e678d0a2476d61c2f78d195e6a36207ec32ab408992406e486690ec90b5af57337e9ca15cb016f3fa28630b7e9a7173cc957d64309c5944165b3687d7b97a40485efff405fd933f0ed7bf333c8fb3426f201394e8d3470a454ea7152d2aec579ce7b71bcc00d7293212334e95f495234b424a94b80a61cd0a126851f77d2c02cad8d750727407b8558c8a67ba5efb67db82b75ca29f0e959862daad6fe6c0b51732fbf942dd424c2129b6b9b17e6e743f1fa67abd8ace64e29bd6501801d43927191240a0a61c113a840853992799687a9e985942f1b84a25028e66653c2304cd3588cf9b193743d927498a09d490a6411a856e4a8c72067d2f58448eda257f354bae0b8d156bf1e4440da0748961aea2340309a780f0aef2092f39ef6f0063cf06b3d4bf
+Secret Key: 80a06642e00f33113a4c3593cb09bb4f928f4a30372c760762905ecf018bce691c30196f50c6454f268b3f64148dec8713f21916f9aa6505cfd70103670a8f79c2b35d51b3fb80610e5a1dc86763dfc66d4f0a06666559ede1a8e2252464157c8e15231a7004f29a3e81f18879983425b6836fe5a829380e11850b08044a837381ed8660e314c6ee6bba081c727bc09d99d060fee0612574aaa61330b7a1b27e42cf98f2ca78c01f28161efa73122690aed6fcb20b7131e263c6c516c5cef1783969906d962c73b7b8a82908ff103f0085307ea0a340833fb8d2cad11bb3c3ba24b951371ea26360fbc11d047d50fb9aa0544b7c8090b9883c29609a11f19e6e01b9d8f94ba3c7997794869887181f463005666fb9a98ba3511202f1acafe740d07c31522b70e4d6b20ab4945b2327f742bc60a0176aebb42f14cef57b86711210c0db0bd51c07b7d073d5746cb78b0a6c013a2dc5c0ec76b83ba64ab4e79bc9d73724445cc2772613c50791cb853adc85a0526613287b57838514d91ec0203d64f97ec5fbbb1cb30d589185970b43bbc6be1d7813ab569563971159567b36f86765d7c5c8667be112adaaa45759846b9d8bcb422b04270582c4b6cb2f9031a182486c8c90a5ba9da4496dead36fd6871739d2865d2c624cf8480a4c9d22132652d45b233a58a7fb0f15cbc11d91b0153111de81a83e7c6144a49ecc5b36bff26f18f5b781b9a112d371cc36b4b6d7aad4da4687c4cd7e32726cd2326a99c4a6427c9725bc46b8262a5270ccb023d2e2b37b37cc275493f192680554a9f927b716920fd82904b4007931b203abb44542a0363a5818a0b136062299ca750cf583ba238c135825bfb6f83499c6cdb4c62c6a3873c6899a0527193abc3d2ff45cb1b123dc36236c08a68c2aca06a754c107a15cebaae6350ba15475f547462bc848fd1641b0a758bfeb3579f1b1e8a682e4291ab12c2c0d710ee240172a6a4793b4a43bac25dcda5aa286a6ae36584c1565c2c4962083685b2201154c83bf76b8027c21e7b94f2bc4415ab6b0fb57119a33338ae391081c2c6fa51c85aa933ec0a64fcb12d0cbc0a49393852122256a660b563262c44ca50506af4747abc81e34e986da8580fbb86377984e538b86e9196de0f99600e8564658a965e8406d671adfe9753084a61c3786a279ba5b28c97414339298aeb3dc8573b00499339651e81bee578f65d458a3a704a65865e3711114f97f6280ac46524f945644afb5899c0ab3ffa144d75c743c322e72e745e855c01971c5b26b3bacfb48b6ab526fd84ea289bd48bc6fed6207707885f6228cbefa84108aa5190329f2a837c6e99c216c40c87395d08095878c3e421a691f4cc7a94bc07c725edafaa04f760129cba4e0f3c90f15a48f7cc2dc394758715d4d85a632691b8a7c88a4da09c0ca4468aa331f227296684d650079551c5d8af376b3cbb09bda1fee1a2ffa58328802b3665983ee56754945b960a93d0073148e8190739c5c85d2103d4ac7bc1b589e648c777c7558c1969c89a2ae93b6a5592c5a3cb029a6bb7572cd38cbc874d8a9bc8b7f70f568a8355ac733caa0898d5b10c564a01fc2851f9f0a690aaa676558be2a866d65ecccd3297d13459efb73995dfb07552a851e1756d26149c778cd9594861ef444d58990a8b900cc10884e12cd4ce2ae21f1761947bb625231731b465552cd6248532423545bd7a3118a44d38951b1a824d27ca53a177c1c771d142b4d715a326b016363b613b7b2408c934dc4c76c507061d54692852b00cff26d9e678d0a2476d61c2f78d195e6a36207ec32ab408992406e486690ec90b5af57337e9ca15cb016f3fa28630b7e9a7173cc957d64309c5944165b3687d7b97a40485efff405fd933f0ed7bf333c8fb3426f201394e8d3470a454ea7152d2aec579ce7b71bcc00d7293212334e95f495234b424a94b80a61cd0a126851f77d2c02cad8d750727407b8558c8a67ba5efb67db82b75ca29f0e959862daad6fe6c0b51732fbf942dd424c2129b6b9b17e6e743f1fa67abd8ace64e29bd6501801d43927191240a0a61c113a840853992799687a9e985942f1b84a25028e66653c2304cd3588cf9b193743d927498a09d490a6411a856e4a8c72067d2f58448eda257f354bae0b8d156bf1e4440da0748961aea2340309a780f0aef2092f39ef6f0063cf06b3d4bf7e8442839c2fa0a224ae5ba0e82f9bc2b3c797ce99e58bae5b7291b38c375a69d5c304762cb0c29b5a2f71241e7f8172661bf7833d4f115567fb8e27e3da0202
+222b1579b2f8085ca8acda9594f08854dfd618e72e591717bc8ae29a4697b58a
+Ciphertext: abb93bd823c61fe76428517c327056e3814e23133a3d4ecc5ea22a0f192dd79e164e3d5e7cca049502a1db94b7145e3e1ddff369b81b9d533b5d2873c48d35f47b7cc4613dd686402078d73a3c5e6c93a322da6a4265b391dc050e02d15d8fb45d349cb6845d6458d4adb4922628fd5e9a084b5fd76043460d00662a071a18e5036b9111ba654bbd786eafacbbc95c61042823eb45554418f5440db21121640310287a6f6eb9b270d5b25774a25c4e42520813a5538f1ffdc30cb3d13958338d6da7286c1e6ca4b7f1f4bc544f6401f82bed30908beff63b66baff10f99f28426207e59ccd3ec0be0b6d090d3b23d7026dd0c687ab7ac3b214d8f1eb3ef9d4fdbac24f71b1b7322c341a795c2c5ecf58e047bc3d0fc48d30c9e86b0c2648c94121506893c494d668294f1dba40bbbc6dddc9acb0970c17914da44675bd1270fc335b7a0a2d0e7bbbb20e1b32e309772cf6a5e87ae97444d3c56a7134f4991f4f8f502fecaf7b021ce0b8ffcbdeb0f0a61c9948df90cb7c857b3bcbb53b67779e8c7ef1c23658ce5fe1d0ec666d7c36539f12f1f861ab046d8b1ae5aa05a8f6c1614da367f5e9741eb497df64e749cc7209f140692c8ba5de07b0d33fc8308d222b09deba7cb2ffffdd9636e5c62cf5ff9954c151554544ec53ea32acd5736649653c10178a0eeb8f3c7b6a50d8652eb94524d8b49dad6f26c8650b4506b3425c86a77ea53d8843f7663c23eef9754c539abda85ac1f91c73eebff35dbce6d355e2afeadaa797f95add7873485d9cd82222e791d4ee2e59b21aa35ce09faa9c571387f9c2f2337ecc7b995bdc168e40cc80476ab27a7577811a7f3d66283346de5a4aad84e4110b91eec9075e2881f797f4c34eaca9d08d192077cf8f86258b309d5dee0a84d975204b57fdbc5188cea592fe5e427e34807c5a2d090446fa42928c597af51a677eacfdb3ea2ede335aea988550615684880873a159e0dcfc99cda0b4dc1c5e084504e2b819f90928dd127cc0a02d7c46e5712113514e0484260226d658286b246656c7a5309b1a0957121aa436491c00858eb50c1935cb00207c
+Shared Secret B: a8d67a023fd7c9a7322d50b3de9cd8f305225ffe834c0e13a1143e77299c0e90
+Shared Secret A: a8d67a023fd7c9a7322d50b3de9cd8f305225ffe834c0e13a1143e77299c0e90
+a844ce86f1b8ba7197d7ef317b6504952800d9a72672bcc3e8fe5700b2e83e040378be615f9f8473289e70214db7b61446247c9eecee601e519c7c86d6e52245e002c9aded5c095992cb9a7d94ac7024461ae345adb77265d7c4b08ca171173c7d50f549c328834dd7a6703eb37e167a849b3a3aeec2945f35c85bcdc14e84de3e6e809d4f25a139c71dd732258b93fdaef1ca66a5822453196669263e1d10520c8412f558a79fec68fa89a8c1f51109808a948669989eb5b288a706a0dc1bec874622967c770b88970723a214cc1e0c1c70ae4e0a83cf9297a0f19f97c2fba6f7aea7b1352fcbf4681340e45e064892b8060f2853ad8f4abf84ef7f2263e6d6662e1060ca1760605f4f29889e2048c86483d9c1ab961b93120468a39c22f760670cba32c1f326a1d47be1bc58d3e2574c851c4f8e2f082e5f9a16cdef572c98afa8ad8d0297e6b8b0585159b5c4c2fc32d5cc47d2a0f50e191ec06d4662ddd0bac5be40f20d2602cce37e7ccadaf2e12395b54c0aafd3b84416164cedd72543f66eaf2640929f3871749b7ae628ca29ac376444bc8d1d31dc14afd7748d2576115cf60a406e1bb44bfbe646d98c743ed837329d3bdd36921cb3456c3590576f707f12b6438e93404eb1c64042f81c40878a9e6f118b0efe719e5926b761aa3c15313027263c5e3317c1436a3fb6459b4c3941878c4321ed759a554751528b25b73805b3e587b85106152378578e3b5921f900025eac7ad66a2e3996f32a0f960fc2776e9c1ee7371b3dfc99970980195f918ce911dc4cb327b132ded6024148cd2ddd0b65d7fb8c2d762d3b8c4cbd22c5e5589cd7b342c066d426e7eaa7a6fe53ad9949fbd2785edbc2200a9129dbdcf39e109c1c750df19cb620a3af48396c8f3dfdbe813c1ee938b0e8d6d9b8157ea1b25360f453fb6add3f6495b38d3b0ee68ef4980a2028a59055cb6ffb7adff0db03ddd75c614c3e4509d45524a58bbecddcc3daeaf4adf75affe1497085f6d26aa2c8495dda5fcbbc3b18c3336feb04e683354e1b790403d63de16b73edc42a212f21420906cac35aa8afbeca09db33
+Pseudorandom shared Secret A: 7acf4147be1044c889933bed6d2798cec58bc6420fa733247a051677fcc87077
+f611cb417f2dd676fdc71233d6ba2ce2052f1e53123e87934b573660a309b9617358442f6df5a1cfe964441ca1cba6381ac8b786d899e0bd40ebef43fa120d39
+Public Key: 86c9c66025156eb27ab1b0c80aa9599fe35adf88a2de5041fafa7b1ce79a6c03a3a7528c97373097a475d730bb8d09c11ca900a696196e74556609c7123302c90b9f20f39d0aaa737e810b4c3a177b8a6b8fe4902b9baa08a17b7a8a5a2c2421c9615f2cf16a7f244b04084ea8f91b1f7cb6236720b657c11dc90647853ed0e5ac7e767bd7103ad9047509fb5d0128ce184ca1dc5b7c78aaa16dd4b03a8c64b9416187fc9bd6a58ce6763350a13b7c09b00818737659be753a03e0795148ca16c50cc82b39ad288494b92445a6258382929f15c43c478b3e08a89b4028bb8af813f6c34ea88c3604c79dc32808f9b1717b871c4847680d0268b8857815a031b2d366391c2f2852b7b09561c857bd47e4a3e9407716c117ca85affd1c9007b92cfe410c74007c3c9808d28259bcb99d102725a09079b3bc4189c2ac7b947f030c17dd434d37857f2360b7bb1492f69a107298a21d20564c5a66704bc9e04a2d7180511f17049c643e48779931f504f1dac16b0bb135b0028af22826ec126a72978093bb35fc8b6828172c9bb98331c3ea1781f5454bc9e97ddfe9005f638696e06f9ecba5d29899fb23559ffcc6d2d29eb245c4dd50c8d936ad69318824d6739ec21fc8abcd92375dd75656f08c349aa77cb923b136e57af60bba02fa564ec1299994560065768051260bbc30a7a56e5323747dea922545b7173935d7f25c02633c9fe8cb53bca9b4ab28be6200ec0a1f7c4462a4bab89b1567b0909a466caf38f6b4ea9071ec80583c6321cf0b85ad3119031348501c6cfc6032e5a28de5f05694c767aa84889fa07aeb016c8d3c2a90fabe21861df31c95e5929800003c7d3227a5d29fe71b58fae660950198599098a6831321345712f53eaeb2a40942a023fb3c025140c6d26088a59570c42934da1ee2d59343a139d9539a31320382e442474400ddf57266454481331579b621469b5dc50498098c554d313376501375f86b1676298d4c025ec8c940b8964a17221d8587e94215cde94be7b99b5ca41e3ae1bc107a1dbe6534e342341aa91adb33326de64a087208a4580b7c4260ce7953dff9032e393f04c4d2e15c1c3c6d576ca7fef1fdbd52e512e5a8db95f5dacaac
+Secret Key: 5622764dbc502e10622d885ee2f4719f9c38715587cde0c1d86959aad2afea2bb5772a614094aa7b3b232d527911ec6a9f816c14fb1860e6391ed69d561a9f66652ec5ec09f0695bb45b277c73a313303b937c24d8ebca01b67c2bb97063240f98c586c376661eb377d486bd65271165c4c39934151d970a496ac7a233ca22d18bfcfc0209d468454571aac67d02a847b67cabeda29dc8dc3984751630165169d59fae04a8358b1d07fb139dfc3ebe974487a48fc5bb66d408a8114c97dcab0ab7d634a789ba69038878554d407c4c5a4368702c7f1bebada2356844371654891fca10a0fefc40c9e74687020bd61bbca22912dcd155883339a256c171871e59d8018f018759f7a177eab7b0ea0fd87b32b58131b0c812d7101a1bdb3e9741c3e83abba9a02dc3f03826866fe10841a6b860cb64b9932186a8b94f91716729db63371433e7f782381423cb16ba61cc17ce48628f797caf4400aaa061cfb34c17f863753704605a49721022070614cdcbc22239a05b4ba221991037007502987e527bbe714c0c1a3b90251623bdb00b605abbeb741175da36e9c5a4d3c84d44e429924250297b8c4e7299549ac02c331fe582870aab1f3702641446a42a332e3177133a76beb0fc23b6aa1c45a7545be34db16c7c88a4a30cdc04126cc357c9844c3cb97d953429d491003b12c06c844f2755c9008aa6aa4b2a6b4a56611bb6a2ba84509503771a2a8872195ab0f9cbcbd5fc9ebb587deeba776a7aa47965ad7b611ffd165c2a667dbb11010dc3cda6d47e114840250895830435d9c2854e6c4343d4bbc6e72dcba36068c4b86687a3ecda6630b9ce7390437a632dd2665e763090e9469961d7c1aeaa36d162b8db99c3088c89e14568f47238e31b64397bca611c826bf87e12ab645107151b6cce28c4738919c7cf642df5bb28fa8160c70716128ab490c0637a9baff1a2876f4443a9260f9a435e299c074de7544b7646c97c9e22895a06016232a982a0fc4924838b6ed58f82eb44cbe6771a6233beb45d74d757fb440e9e4c90ca092124a2593b97553941c2cef0a74d72b5e9b60d03818486c9c66025156eb27ab1b0c80aa9599fe35adf88a2de5041fafa7b1ce79a6c03a3a7528c97373097a475d730bb8d09c11ca900a696196e74556609c7123302c90b9f20f39d0aaa737e810b4c3a177b8a6b8fe4902b9baa08a17b7a8a5a2c2421c9615f2cf16a7f244b04084ea8f91b1f7cb6236720b657c11dc90647853ed0e5ac7e767bd7103ad9047509fb5d0128ce184ca1dc5b7c78aaa16dd4b03a8c64b9416187fc9bd6a58ce6763350a13b7c09b00818737659be753a03e0795148ca16c50cc82b39ad288494b92445a6258382929f15c43c478b3e08a89b4028bb8af813f6c34ea88c3604c79dc32808f9b1717b871c4847680d0268b8857815a031b2d366391c2f2852b7b09561c857bd47e4a3e9407716c117ca85affd1c9007b92cfe410c74007c3c9808d28259bcb99d102725a09079b3bc4189c2ac7b947f030c17dd434d37857f2360b7bb1492f69a107298a21d20564c5a66704bc9e04a2d7180511f17049c643e48779931f504f1dac16b0bb135b0028af22826ec126a72978093bb35fc8b6828172c9bb98331c3ea1781f5454bc9e97ddfe9005f638696e06f9ecba5d29899fb23559ffcc6d2d29eb245c4dd50c8d936ad69318824d6739ec21fc8abcd92375dd75656f08c349aa77cb923b136e57af60bba02fa564ec1299994560065768051260bbc30a7a56e5323747dea922545b7173935d7f25c02633c9fe8cb53bca9b4ab28be6200ec0a1f7c4462a4bab89b1567b0909a466caf38f6b4ea9071ec80583c6321cf0b85ad3119031348501c6cfc6032e5a28de5f05694c767aa84889fa07aeb016c8d3c2a90fabe21861df31c95e5929800003c7d3227a5d29fe71b58fae660950198599098a6831321345712f53eaeb2a40942a023fb3c025140c6d26088a59570c42934da1ee2d59343a139d9539a31320382e442474400ddf57266454481331579b621469b5dc50498098c554d313376501375f86b1676298d4c025ec8c940b8964a17221d8587e94215cde94be7b99b5ca41e3ae1bc107a1dbe6534e342341aa91adb33326de64a087208a4580b7c4260ce7953dff9032e393f04c4d2e15c1c3c6d576ca7fef1fdbd52e512e5a8db95f5dacaac91b0b7e8cc60497996e0b2c78003db1143cb4d23031cab83ab0275a35e71892a7358442f6df5a1cfe964441ca1cba6381ac8b786d899e0bd40ebef43fa120d39
+848f48ce4aaee630119f5d85a74ee14571c022243471f2914db351964de09baf
+Ciphertext: e6b7fb53d5feeb6b0a036a200e5ba2f979ca49ae0210d2472ad3dcdd01b9cd1c28e95d01c749ffec36b4afbeda5c9daaab1ff34b561ece1523994c49341a7dfaac3e871944ba063209aedccb396fa35917ed7759da1edb46c688013b7eeffaaf62132180187278646316d203e2725c5e53818c8fe50039d3cff4f02381fe0011c3c923f337e56d9c8ba58757e7f2fd82eee827b385f19516dbfcfd4efbe93c4c001ee9c55c481ced0b63c4dc3bdda80b4d33dc90f6b018c91dbfa5a575a54bca9ccbf58d4ed750e957f7336afa3770f0465b2212ec277bb652ede0ba52e0176f4ec8f476bde9799e9be6c562288fb41882b63102f8343ced79df08e2b9ae3f07c131765134d9d6d9b36a875e725f78ebbd05ddcc86323f7c19a17b99a5981eb605938eae52d33c61c21807c9c35a4e206a82f5131865920016aa62d61f3d5f292974380c2ce8b05a3b611d67c189d25e2c2bd189b9b1397395f99a1b006ec81557eca39033c881d1f363fa6123aa49f0f5627d3ceab062458d088c59727bf453df76360ba2cee26b3aaa2ecc4796a5690301aebdc5c744e2b50ca95f6a9e5ac194482a234e2dca3921db42457b707a6077378c39111489e2991f2585072bc4242cc20ba0e5ba7c2e6ad2bb516ee054ce3b0cd664a1d059a852a4e752509048e814a9480a3ae9531d717335ca1211132983d1f3297b495c16ee63d9207f3aff40d673fe67a2867a1c9e543fa9c0f6d8bdd4d7d7a56f69f4637895ffc487afd7785c1b3ffa6095fae3b0455cd3b7f1c0a766afe33fc3f71a00797a6eb6c2f57b288e60b309e9faf368d33cab705830bd4dfebf29d93eb01ebccf46f2f38a7719f71b3d74b2a50f625c8cf9772536e4c38d66dd6be050ac9f76ddb02c9ed8b96bc339dbbc6a43715212955f175a4d5aff956a419630639629eae855a5dec3542351b18c6b7b9c53d4bbfa6926dabb67e1290bdec6b0e0c3620d7ba512241fe632977649ac5af81c2b382310c990b96dfaedb7b8ee4acda54ea205935235ec2d849761b597d670a4cc91618a9d9967bed6647abad47091ff34b1c16f6205c0cecb9a
+Shared Secret B: cdc40cdb8f600bf04b52ded35bad202f1ffa0fe16d3b502fabd777dff65aebe3
+Shared Secret A: cdc40cdb8f600bf04b52ded35bad202f1ffa0fe16d3b502fabd777dff65aebe3
+d3fa79b4b513c77c4cc3a8234319f51f30718aa1b5566a4f01f4757d2d56396e24aa5ad78a679f31b9ee570189f3c8d84af85373f8c79689b10868be6a1f62771c90b867e14327be2d4bcd93d8206d4baec93711e64336b2ec563d316a5f28a90e223ac639019edc3c9642ba68712b7b6e10d47d3931b753eaa87891aaa949ff8f081a647ef51449ef939393cd75bf526634769d8a1bdb67fe756924fa7e8588f12e5319df6d1f14c11c70036777a047eeda89423fcb189ccc6730f07b517d179ba62bd9c0c78d8a4bcd6e15a75c2f7a169d3037306f4c2755757fa6278c6714d73c3d8a1d505455ce7579d520eaf06158042646cbec8202ab5bdf5d841841b53846d274aa363f870eb7a4dfac96105f0a78de8125d02b9d19da4af0e241cb16b0bf7177b01b1c9df1f03a99484e76c5a9de7186803ea94fe62fc5f3ef44fd921793f421a9815e83eb1be69f39baac7c532c0e0a474192b4797406ebb3cead68a4118ff721f955123ec1d678ff16dc2d8b830fd1cdcd5a7535c7e251456104562faedf73fab4351c1762fffa0383acc3de16f05243ca9e8f69caf965df8d9b17265abdc2e5de6d96555f512df47ce2292af9e733d22be3cc9e63b741640ce04e66e62d2f2ec279c9b81901103ba187d0def47f38927c47c7799edfc22a4e82c18690a304b9191816a33ce5d09a5016d9fc2d4259415d848cf60f36679a5afcda68307ce2084f8ac3238412afbcf5098d21ae0ef3533d7c338a7de5778684ef66f3174a8165e4e541649ddbb53a9bdf264e7ea9772dc1505640045fcaf9d5d2b712c762ae62f373c0bb884bb5061c53b07d920041a6e193bc57236e16e5de9b31695c318d2ca1cf5c0a029d19da195d5b0df80408b1303642288ead67276f1d8fc8b874f238368b326ec9bcb5b06718256790a6ac97be8e357385eb3925716d816999eef26a4f402d56424648b98e8c7ceea74b7748688f47e4f0587ebbe51b8fc619a15c2b25a90e9ca2328a6ec35588af25fc85489d05544077b970242824cd301b6324f4aa270131969d5536c366f8e911af3a918409f06ee0b2bf5a854032
+Pseudorandom shared Secret A: f6b8fa95cdda663edd75908ff050b44e283ed8f3cc77585c8bbe5b8c4645e53e
+a5a076423dc10c5d57a4163edd73efd9e674c58a3a07b0c583abf365ec7b76cafee223fe7a401cabd3148905a17f33785d7466d6ab3f319bd4112102cbdc959e
+Public Key: 3442c2f3d85230e27dfa47a1768c80d41a8050a31ea156cdabc13617bb005326669b32753fa50e6314019872cc1ec74b06831b7a057d72da7ed7b9b043b5b24cb07f8c1014e252b961dc1429372408975c73b4a61b1c1072a03f9e93046fc0a415f36751b983dd7b8b83115363cb74d9a9a7eba52d1e39275eac284a2c5bdf9c785210cd5446b17be5cd292a6e5985b59359223b204bd9712fb5e47d2028b8c54500f23715827a74b6f30551b777c3fa9a2171c69a48ca7b47515d352662358aaa0b5308db1da1f2bc8fd1426b15adb8a8044cb134248a56a697a8b84a521e10131416ab4ca664f049290f56a062e1379bb8b0974a29b983a4ed533e292a3d75c31be0f4c8f3415beeb17bac06877aa838083c2a6419730a712ab7b23a953c1f70908953454983eacb0d3861f98354f2375864208214e4ccd87321f7118c36665738f842df884ddc7507a7b503af418fc5a91fa363a2a3266402da9e2b2b1d2ca46dee61acb258618ff93c7ab935d8652fad535ea714087c8343bfdc96fcc2a2d95a1905d17fbed2700bc33ffab995f1976f0eb9170c26a5be626208d7b0ed0b75688709242ca505e50887cc587a6a0f752b4edef187babbbe3e69286222286ee65e5f272bc1b524b14cba068c7266fc44fcd779ca0ab46c1064fd19cc873c874fb75e9b7646452a356dc4464c911d5317aa46032aab879a5f9024c9a89feff67bb1f66b08fc7e376c51e9b2767dd3c7d3c68ce6b65c6bbcac58099e1b8a7feeb58ae003312aa20bc5e52a4f60be91e88753b04d1ac8c676e124d88c8a1008c05baacd1ecba4c497826508a925dac58700460ddaccf2b7afb173770dd1be3bd953d5a416cf7b0b4126ac41b42c755a7fa5aa2982e1cbb8f7a8426c8a0079c641048de173b16d76c6d5e92c9631429251708f76bc7f947244412f7085348b745cb3d2830d606bb101c53866434516a3b0b6b9dbec199211832d00814094256836aad94495562c793fa756307b6495231c142a349a602a4eeb19e1f20f1a30a872f78902b3ba3fe5596fb3bea8e5a8a0e94aca2bc560d7074bfab4b976a17515a5937da71840dc90cb67f998d6c4c39f3229ca1e5330710b46544fe0cbfbbb04fb
+Secret Key: b3f32e2eb413aba19e55ac0d31c0072ee9956c27bfed546c7a05984896c60a06c24a26caf15325b546945d9852a8733947a6584b34c02246bc2127cc8d8396dd31a7e394cad774868d097853b761bf8cb47448b2722079bae77b7e0736873c45098b02cbd485e53375cf826ede4ac75feca6350a6a66f03a74124ff8915318932e021351c61086586ca6ffc05d996cb88da56cd096336172ca9c79218c8865691970c3f70e798bae18b58ba288adcfc33d15ea9750108a74e14c7a0953c4c09903e6c05ba78cf1a18c5f3106dd0557e6155178e317f9111320bc8251e378a6e3aba8987e71a488e0f04943e81b6fa7cc963b2c1ae31d651c35494a0eb41811f62261774a0527e1658ec734340b8cf697076682377ae13d0da041d192803df8ab2a92603f73cd7c371226a3c764e5492f487574973a10a4cdea9488d7168fb2b0a407a2ae11297c5f49b3b22305c1309b87b0c3b0aa3afeb502744c1b18b4c241a000e63aabf5295c7a157b666730fad61d04052de293116962378da1204ca02a89436e04161650cbcfc7c63531a84e85f163e5ec7be01a8cc494b359189cb45cc6dcc856e6d38734294e41492628e1071397159298c77b8242b5a84114fb0a85a1461f839d64c85ce3241eea1926e1951e4be36b2aaa41209bc67812415ce8b394a1312b9caa15523c8dfc9b62e92456429e4feb1ae3751cd9088854b6b18e8835602081adcb3a53650639989cb956cf4cc02849d7b39eb9b0a6b832ad104dfcbc1ceb617e7a4862e1e28000c285f489a78b202e79e29e66d58878bc1892e9ba45893ab7b39d41e360d5aa6993758b40e989a841b3ea26350c1a3e16c3106639ad302499d1868e21c3a86d267493887fc0f22deae5be7b28a7d03549f6e93d191b6f81b31b97828d69a2c89c07649a3c83b53672e38b02973120435b65fd0838808174ce47bb898ca83b485948e319be1a7b38d6475ff053d06189aef94d959c2ce33280e2635d2e18bc764164da2aa2c593792a718fe17a0379b6b6eea80d33a413eee1558302554ed67b546b3b9144b1988c24cf248ecee954e15378effba43442c2f3d85230e27dfa47a1768c80d41a8050a31ea156cdabc13617bb005326669b32753fa50e6314019872cc1ec74b06831b7a057d72da7ed7b9b043b5b24cb07f8c1014e252b961dc1429372408975c73b4a61b1c1072a03f9e93046fc0a415f36751b983dd7b8b83115363cb74d9a9a7eba52d1e39275eac284a2c5bdf9c785210cd5446b17be5cd292a6e5985b59359223b204bd9712fb5e47d2028b8c54500f23715827a74b6f30551b777c3fa9a2171c69a48ca7b47515d352662358aaa0b5308db1da1f2bc8fd1426b15adb8a8044cb134248a56a697a8b84a521e10131416ab4ca664f049290f56a062e1379bb8b0974a29b983a4ed533e292a3d75c31be0f4c8f3415beeb17bac06877aa838083c2a6419730a712ab7b23a953c1f70908953454983eacb0d3861f98354f2375864208214e4ccd87321f7118c36665738f842df884ddc7507a7b503af418fc5a91fa363a2a3266402da9e2b2b1d2ca46dee61acb258618ff93c7ab935d8652fad535ea714087c8343bfdc96fcc2a2d95a1905d17fbed2700bc33ffab995f1976f0eb9170c26a5be626208d7b0ed0b75688709242ca505e50887cc587a6a0f752b4edef187babbbe3e69286222286ee65e5f272bc1b524b14cba068c7266fc44fcd779ca0ab46c1064fd19cc873c874fb75e9b7646452a356dc4464c911d5317aa46032aab879a5f9024c9a89feff67bb1f66b08fc7e376c51e9b2767dd3c7d3c68ce6b65c6bbcac58099e1b8a7feeb58ae003312aa20bc5e52a4f60be91e88753b04d1ac8c676e124d88c8a1008c05baacd1ecba4c497826508a925dac58700460ddaccf2b7afb173770dd1be3bd953d5a416cf7b0b4126ac41b42c755a7fa5aa2982e1cbb8f7a8426c8a0079c641048de173b16d76c6d5e92c9631429251708f76bc7f947244412f7085348b745cb3d2830d606bb101c53866434516a3b0b6b9dbec199211832d00814094256836aad94495562c793fa756307b6495231c142a349a602a4eeb19e1f20f1a30a872f78902b3ba3fe5596fb3bea8e5a8a0e94aca2bc560d7074bfab4b976a17515a5937da71840dc90cb67f998d6c4c39f3229ca1e5330710b46544fe0cbfbbb04fb2fc022bc71ec208d0f0429d3a00bc2c243d0abe5f0224525ae7ae7e77cc7481efee223fe7a401cabd3148905a17f33785d7466d6ab3f319bd4112102cbdc959e
+c08a995c984c41fe4893b9f6e502ceb2ccd6dfa60b53ce3259acd7ccf00c3333
+Ciphertext: ee8dacce7bbd7e668b0c8334b3692327733d24f8befaeace5c8db468e4e7a95163efb318c684b6ff3d8ec646646e71603c9f15486770a98620e860e5452be17912017e8d5179e2bed80f99644c8b13973983d8fec5e4f8dff250726caab7be562846f2dd0444f1dd1da0697f3de4360ac7575f0447b75643f3ae57963eb5cefb345893419a7f28646b7c09c0836605e6b2c1e060902feb68c339fa2d0825bc99dd20e5fec8c4c730005a4a3d1e0887497890500c5c8cf99b9d4accde5412c3b50c5b35e841929dff39632622392005822217f87809b06aefc839a364c78f8a3c4bbb6f0f8b2e62fbf70194db524614ab51463925cbda4a9a17ef3e3a0411b1540687e23413f8bcc7da55390b4b83b696c4ba28979d86712a12392349cdfb574b5e4dc9ced8b93c0225433b678071336c3ddb7d4e5c4c05e1b133728f6d4a5c52de53e14e37772e5bf1b3fc1fa44ecd94c6ccc195f5cece38861c638d4a2f4792b66fc0f8065fa7fea70dae1c00fa5b9d22c72b8775f2399ef1a602d2962a5b395865ca959dd2f820bf715d5aed8be0618461e8b3b6fcf34cdfc3379b49184c522e199263a910202b257a6ed2fa17c8e4bd750cd540af5d502865157e75a7c3a766f5820cadc04d4b094c6085fdea9d7ee50c9fd965759c4df7a20490e4efb73cf7fdb0add00f355b1ca00efeb95ab0e5adea5f82a69f630355588a86bdd830aad90f423c1f1a8ba78a114533009bc402bfdce88e3689eea3dcfb177559ab6b6420029c7045e9e16de84593b676c1278b876fe451fd0582b692580969110a4ed21b1fa1802d59cda3083b3bff3b0749556585d558bda6258e8c3c13d1c8bba8ad248a567021fc1d10fd716355e724e9112427df02a816896deca856f4ed4667504cfb15082c65d5a27a7361ace9bf529283f8d1f06f4685a638d808d83a612ef732d7a4896287438aa21e211cacb477bf78dd37cdac5d181273e335339e1fabfae59b84d9bb001e80dc616e4cd2bfa50bea30112a24f04b4bc8cf48182a46ba258bad96bac8a841e6b3b3f69d13e96db552f9b55debd4fefd5d15b9d8ef6156b4
+Shared Secret B: d35c27f81051dfcb26ffd5cd602cd6f15e96131629ff6ad1c729ffb6747bfe06
+Shared Secret A: d35c27f81051dfcb26ffd5cd602cd6f15e96131629ff6ad1c729ffb6747bfe06
+1588a71308f6e382cf3a009448cb8996bca82143c1088efd1a778daa69355db9d9f289e452a74628b5f6b0423e63d3a287f32e1fcc8cbbdd7abfd743d57468681faab25c813ee4977cfa6b709d5767a9ba28c5d2c67055ad1eca108dd82d651adca12657863f52c14a949947e013b90adac75cc8284af858628ff2ce82f9550fade743e5b3eb7cf583b698dd214a77647284ae4b3b65f4725284f44d9ea4da0c3e9188264f31efe59799603ec42ae73a73f690955c53e9b679a9a71a40e932155cbf7d437ef6dd00a61cad48cc83c2cd57e4eeda4785024d599c43ae18ec6745a59524f899563ed64ba7fa7206d0d7b7fda5fb353a4246efe64482fb7db8260ae17d19da4e61ecb2f66add12de61e09ea07a144a2b9968845a3944ff6f7db054e8899abc9cedaa25e1e36a42a166aa846d141ffb482c40076e44f897d732a17489981d34b1130c97c5d09381c78d625899ebcee6bd8963d2f577c1f593dbf33d4eb97158a44cafa19ab60db608ba2f6222f6b33795930185abd709b783cd6e8bfeeabeb37cca9f59afb665d8caeab6698627223aaf9bb13f3d0930f38b5ffeb8e11ad12adfcc6d8f803ecb208c497524ed88a181d72db37b290b81fe82e82e675ef4957c3085f6fa568b0e0defd5fa8f2ccb74a9ce4def95f43744ba1e27cacc199b5518e745b89864652e1f247d5b2cafca6963008025a760b80e1557659bb376a003502536e2c2bb06dd5feef8e6f833c0569ef9791a15fac0f7ad4b4666b5a92e34ee992b65c99aa4b0b85445b58cbd8d8f486eca6ca3bbb30a046ac966fe9fbb4ccfe208be84f5e62d10ab15bb07089bad9bb6e441131e6307986d730e93d2f9bab04f4bdfb40c6cbc4167cc546cede9238efe2b863b90a9a26a3fa88e748ee86e4af25238e0a06764f63b986c464103f3617d9aaf869850955883cade46bd03ce00c6a8c89b75e074f7e69443538e5ea97866013c49cd9836b477816f095a4a98fb3faa6e438a9dd87504984c8f57d37bd9833e7a334a82bedc9ebae9eae723d7720a2b46f0da206af1493ad0f034f45f9fed592f1fd35cb6a7a4008261
+Pseudorandom shared Secret A: fc4434049e60b5dbd8b865b954e1fdcc213eaaf98b37d74d847752bb8011eaee
+b839e5c8192d1f4a3decc0e7137c34d26bda5a9a0c6bbfff9a10193fca1d3176d7a3604a2c8d35c93ee32344d479368787ca7e0335835b0e58c0be9f3cf27160
+Public Key: 5f6068264502d718512e35633459966a8b61e05a0d742b7f21242f189522ac103464946bdc800622b5079f443c1954166c65514ba30408129c259621c64ba404347287953c5bc083f50359fb535c8d067274480f29411cde014686345680c81becb931812a086d124a5075a3eac323bc55c0b0fb7dafb73021247bde67a466c459b1969029994983043586b31b95c1908296a52532b274212da8aa252f518dc782276e609b75a956cbeb20e82081f65454133876fcc083960c6c2c759d96f86db4306e8c102cddc5ac9992a2c05637ee883ea2589fdb274fe48a2324a0cb6ac86536d32e4f7114943801c89ab4f11c091ec864d262044d783c9861a35c492fd8636bd0d1301061a9c2b39d5491b8ef3b31c1b70be4665ed145c3d3eb5fcd231be91397c7cba68786c3d0b73ecbb62081882b818501bb0c00b3b13842c1512b1c39d6da8883b71d4f3887fe653a7b59caecf5046315b04112a100761525db72528484f1378ec9873e88918566fb1f15356bbc2195c69a58a3cc6d0426abbf851a9ae816e3463f220ca50f6139b1f0ba47cb02dc7355cbc06e9a30b84c7a98a13235c40a79c5834363a30ce0185bd0b98bee00791659cd6945c82345751dbbcf177ab88ba7cfe3d1a9b483145380a624073a7c8ccb42062337f85afc16a3ccb0a5c3bca31c8cc2fb94c0c663699eb005a2714f39171435e5741a9243208460f8e93179d91c60a5682ddb447a65077318440a473acf680d779c201cec48a6cc9b5efba2b0241e4fd48de66a13be445b4fa65aea59cea563a44cf29956a4ab0fa7041d5a86b6f2690b116ea0b670a94a7c4421a5dbacb79e26589e55624726aa65631ffeda0ceb01a1445678ef6c7aa7a8aa02115f24b1bfef880710578ce6fc10beea0377861994e217382389f776228c7a43b4c99bba9909e9e27d0b82148fda603318b4c1bc2d14a7ad57b0643b03879900c1339b22c1fa032e068c95f6153121a916626c68678e12516e16195185d589e8f548becc626477222d975095684ccee19b4d8294a6527f613460b96cbd950ba6c4362db6645f8c3004cc394f747ac64cc4756055860f78518857009be48eaa2a11d94a60a28eeec3f322234ce430c2
+Secret Key: a678cd653b43b279787d6246b5338b7407cbe73b61fc8c35b2a4317fe10bb213c394904c758987ecac25fab16f3585a5821c8926b981860755030b3192438e5d95022fdb26f7b460cff41fe2e70c9f31111493506d67b979a406a071a82dc3be7dc51c03468d00d52b7821b9a45a9b38d82dbf9bb48bb380c0cc09d92ab78e090b95a1ce47b8671f8542dfbba93fbc73ed350db196a8c2e36435f83a9660a2aa3c4c23ab70ad48812df8bc6e116fed7191af5558ea2c9fddd084be7998bb255060e2a5ccec2c01451fa4408805cc04af712a18b912080a6a71c9bbeae75feb325b74884ac8208ac8e871196148a80a6b6b558839d36603597580240967470a05c88959a73e466c3117b14f3243a559b7718a8553a2088f52d11d1308603977453cb0c7d866b4440081f317aa34b099c0382ee4c7573b571621112d17800e44dbc75bc8a71aa79a9d7422cf073c39e73c7543b86e1352ac574982ec0a4d370870ec9b2c6c5e2e2cbb97a357d8898674b12073ca2c6d568643a738f8cc1536793a48b736eb8b332b39643c5354024a78b20b0341b7c28b6016d5f11e93484695043869b3875d77bea8542221b2895a7c32381652f0a2b6dc5cb8e41761f2584c79c9c6097a5ca199441278abd727933d508920bc3ca7c2a26d82c22205a4003664efcaab41433179b9103ba06a35321cad06981b86c6d065b035005825b8a8cecb58f4aa1840a3cbe53c0a5bf19144a556b990253c940545f0a240488a737634d5715f4df028c62bced0e60f4ad31ad7112c5047ccbc8914579833fa350a91ab0a40b25192f712e5ba89d17a07b147b59bc78d41f63a2eb336ddd09d78375d63816677526c4a2ab05d6a6dd7b2b7af455fbdd6a6e0d02af9a5c2ec6b0b40a92e536b78cb0312b3552a46864173cacc8c482a216b07c29b1446f13ef9d8cb28d67cb12610e508983e4c3ae4c053e4471877d59e58f029ba4a8bbce09a59b4810b762018021c17e541d8467d8882ca7b04954ce8141d15b049f33a5bfa4eb71299582069c0e0b8e8f9311a7009614cca19154da480c7ee5273e08bc584a3be2106935f6068264502d718512e35633459966a8b61e05a0d742b7f21242f189522ac103464946bdc800622b5079f443c1954166c65514ba30408129c259621c64ba404347287953c5bc083f50359fb535c8d067274480f29411cde014686345680c81becb931812a086d124a5075a3eac323bc55c0b0fb7dafb73021247bde67a466c459b1969029994983043586b31b95c1908296a52532b274212da8aa252f518dc782276e609b75a956cbeb20e82081f65454133876fcc083960c6c2c759d96f86db4306e8c102cddc5ac9992a2c05637ee883ea2589fdb274fe48a2324a0cb6ac86536d32e4f7114943801c89ab4f11c091ec864d262044d783c9861a35c492fd8636bd0d1301061a9c2b39d5491b8ef3b31c1b70be4665ed145c3d3eb5fcd231be91397c7cba68786c3d0b73ecbb62081882b818501bb0c00b3b13842c1512b1c39d6da8883b71d4f3887fe653a7b59caecf5046315b04112a100761525db72528484f1378ec9873e88918566fb1f15356bbc2195c69a58a3cc6d0426abbf851a9ae816e3463f220ca50f6139b1f0ba47cb02dc7355cbc06e9a30b84c7a98a13235c40a79c5834363a30ce0185bd0b98bee00791659cd6945c82345751dbbcf177ab88ba7cfe3d1a9b483145380a624073a7c8ccb42062337f85afc16a3ccb0a5c3bca31c8cc2fb94c0c663699eb005a2714f39171435e5741a9243208460f8e93179d91c60a5682ddb447a65077318440a473acf680d779c201cec48a6cc9b5efba2b0241e4fd48de66a13be445b4fa65aea59cea563a44cf29956a4ab0fa7041d5a86b6f2690b116ea0b670a94a7c4421a5dbacb79e26589e55624726aa65631ffeda0ceb01a1445678ef6c7aa7a8aa02115f24b1bfef880710578ce6fc10beea0377861994e217382389f776228c7a43b4c99bba9909e9e27d0b82148fda603318b4c1bc2d14a7ad57b0643b03879900c1339b22c1fa032e068c95f6153121a916626c68678e12516e16195185d589e8f548becc626477222d975095684ccee19b4d8294a6527f613460b96cbd950ba6c4362db6645f8c3004cc394f747ac64cc4756055860f78518857009be48eaa2a11d94a60a28eeec3f322234ce430c2b1296cabc993bb58fe568720c0ce8eb9519d67d5550e5d3efafb56543093ace0d7a3604a2c8d35c93ee32344d479368787ca7e0335835b0e58c0be9f3cf27160
+d66453bc5cc77f5b1ac433790f52fca64500c1e9b6f8bac859a6f43f03435b31
+Ciphertext: 7708d84b558ce3b8f2c6a156cb5e7653e30130552e1525c40cb40773ef4b5e12cd945747f9478061b4a15949d9fc185ca3cfa50327ceb627f764eb1e927f4466ffebb952a7fcd6dc3946921269917b4539cde61da7b43a58047ce151095940c5932cded6697d064a1d44949a1da440efd7c3cf64a937068efe9fad5c4090231c4678ea06af60b4fa5b81703b4c34485f0694dc80f21ed908eb738701899d7751f9ec50be4a4cadec31084983b8ab50322812f89f4df1cea763eadf030a4855cd72cae3294eb3b325afb220144a547fc4298670d06f3cec32d246f68e33c2b85d389a5e94896fcdef2fb9b1866a7dfae8081dbcfc797360bef2fb793d356084c582d8756f6588d6360448a4ca7dafb1cfcf2857a592f6607d635b2ac5d1ac71a59c79febea49ab6c90b05a85da4d486e2a1572594c70d1b609aee41174b1588dc4782dfc4c0ec14d75745770394e0f20fbbc9744d8067511a9b111102f1831c29dd93e9101462796791d20ddbbe93d0f260ef9e7ed0de83a1f2001bb1e28e6692403460aa3a160ee7a7eef3b280de9004ec691d20baca8d40a5858f6d4bc65f57f98927e06c415096fba471639a82a9def25a4b679a4008c088389d4a3b352d09d2eae9163944c25a38222218147ec9466aaa96d22064d30b1ea5af00c8cdfb04759c290d7890cbd56b821eae46837b0554303dc7d374318c8b4efc6881158211a78916d04cbde8ce445fedec59873b08c879be6fe8675e70427e1280349286b74afbb42baf6e03a1db8bc6fd08d64e8405af96cdd5f3b6776d1ef03deb54209aadf697e75278ab06c332559143760b8a3415f4f1fe52fd613861b9680d09f64cf5cd9c12b95492dd5a993fcc045cc8bfa3dfdc51bce1285a3e8c267551ef4b94a5816712959f0a0e1a5f61e773ec9ace4ac15e74749416d184e54d4e4d579deedfb707ce64105fe86fd15ba93118790267385f52d36961e3868422cad72e9c353a2bd5befa03e95fd28edf79ff484c70523bc9e71b4dd2d660ddd38a10439444f08e78f1f108fcbc33189b33ee67a80324d1ed61fc16d450b0aaa9a05fad0929
+Shared Secret B: 78bd79a8c75fe8d334bcc8efda4887a0b4137313ecceb8f1e59b2d914400fd1a
+Shared Secret A: 78bd79a8c75fe8d334bcc8efda4887a0b4137313ecceb8f1e59b2d914400fd1a
+aeaec63d1ccea6c6b34c5191cfbd19b70014ff41f3ba91ab3e19d4243eb4abfcf13b30974c89796f6da10c960c1539efc8d77ec68ba2a32445458a86188c511c26aa6c98e2bf25e2e2503ce2fda8addfa5700e737ed5b754246cc85e04013c201a2d31fb5defc6201b477109071a0cd10aa2cccd0d97e7503106187c2e4da0a715a02fc1d8ca42479c65a9cdb4194831da191e5ad66c23125991ca115054ea773f903f15643d833c6d67796881782993ef2cdf4ca74596ece604dff505c40127641c2a7dd2ae775878a8170d2820df685207cb32e7863a1795f622bfd9ae94ec696ed6c76bbe343df2aa79bc656940b1957d4aa80cbda7a075d8df293fc33f3ab8ff6a29ef940f7677a2688b4c7f2f3de60f856077ccc7fd6404f195b70badb1a1948336a618d1317e1ce65b6f794b8371e4d7be35ee137d4243aadb7fb414be648ca1bb19c4cba1ec560b3f49cc11acfacfb5ee45d898f26dee7043e23399a7f9f4ad78afa1e594769554acb2878e6bf78ae4a0fecdb95b726cc552ac769fcf4b81767a9fd27b4786ba8e3c2266d9f3c3e6ac953ee65a7bec4cf8019b18a5358400417c567fe5df133a69ee84023fa7f82099f8a7623316ef1141a4fdcf4f9d423f7050f695d156534b78abb6084ba341bfbcc9fcf917d2b5b74a49f8d741c0a0b24b29ab598eb37e023c6e08451148e52f2737538a0c78fb92fb3fa6dc8eb2d4f9d541fc6548e50346873d02603e2c00115209bf02984ec916fd2621fb1ff413568852c912e9e98ca560e3a0475b7f48d449fb3fdc8a5eef716f280b0ab1ae0ecd4e8146820cb855cede071bdff71d815750d87aef5e94fed265a0a846628c106dab46d21ddcdc9ab53feb004c2d08701f0d59ae1454c9517b51db15a1c1458d77947de4c3293623a0f6706f0e4b9169f43587e7d916f555cef600794839a523fdfabaa885fda2e90f216d4d8dde59e73a7f6c8836b6a72970c0f34467ee9b11254b438e6f6c95f761991666685ad13e8dee9a4489305055962712810995017aa68f8e09fb0533777090992b839ce679ec77d2138a35478cff722d1cfdcb1f
+Pseudorandom shared Secret A: c629f4cb1aff31342eea9078bfb4d11712cc84e79528cf9e0d2818decfb508a7
+950192af9df3f4faa61cf8e0a077915edfadbab083f060b35b72039aa688892a2afae91cadc8ebafad278a1ccbdffab85268d424339e68b2a8f5c5f5b317f8cc
+Public Key: 8b255cfe989a305592e5aa7d1777c9af82596bd99b7e854040c567453c8fbf1a8eb64b9e6041a092028efd05023c455a87eb179ec5cd4d12bca0e433a6ab12d1098fd2e6c2fc78370c5443ef3a9ca3d95f77a2a87ab34c62d174f725a00c429862917d05d062c73a21a2130477ccaadfa05a7428b1692a028104bc4ff386ec1ab8ae9cb369c1cc06990578c436084c2de0b87585a43fbb3a4d2cd54faa9367b2f67951d53a00d45fab851439c58a0f36cf5c684ce81279db868e50ca3216b7481528c8c1ca5a71e7874cf0499f527ab7571de7973d346b748d6c3086287875918da875bca4781cb0cc721ad1217dfb11d50363f9f330b09a90b086a19f3cbf220cc6ba03018d45a03c37a1c4e0c4a7c5a417098bd7728294c064f701b564249925b68a24572afde37bd4417e66ab757b668f9e919e81a408503588fcc99c1f554f9c3a6e0e41941d5441cbec7c3647a1f6329099c18a58e196f08a49f9c92de0099e6317020d2b88c2e9027ea13daf1207b1e6672c7093d9f80d569b670a7372d00b0f790c8ac980b41f652b1f79c9fdaba16b51a2d837898e060e14c1abde99077da21a63b55d4f6519dbaabcb3fb8f03fa48543328ebb936e66c0148522a81199931f359ee796c106a7705531cbf7c5744f41cd6893e07a2912a92a1ccbc6764985ccb544f7a298bbfea0eb20c32020b989448b85883702f5547cfe8a9ef9636e2ab6facc10bdf15c84483255355a56a3144da797ac27487368b09639c4a7fe106d43894cee8cb53fc774d1300e674b357fb538d0677bfec2ff136a19f2b25dd9829a3c864c47c5c1390b82ba2be0b7ab124eb4a0133a00f718fba949f91845b6a1594441734449c6c64fc1fcd689ef3183099342d650722a1d552fb5a4149b6132f2b096c2a0495dc588aa49ac77c6f80bb9df2f2ccba532b9797313781971cd660878a1b6cca076424a1be5857c02b3814b62741f574ca700ceeea5c2cc34613763dbc30756fe74fc08c5bd7d8993fe713582892e7c92fb50b9319b4c44e146f4033319f8424f5a045472b65c4a439469270361c1a4f2a1cc3d87c6510c442183004c9221be3db3bcc6499ab3f23e8b88905579f05212a7ba9f29e7df3d1
+Secret Key: 050b8df69a7a2c3030a99a468381057a3573bd4442c974c5d67a10edd7bc359c50e08c98fd19447057ad496a171e95c0e2db36e7612b3da534897111fda42ad7044f2f8436a18ba991e61b543b0a5c29b9f85a0b0ef2c962dabcb4a294ec5807203aac5e88b09fb359b4b228a51badd4a0ad5da2af23a53e4326b72a549bcdd60863361c17032adf757ad5c761cd6057dd78380206318a8ba2ca6cb84f43305e36987896066bc39d7cb969685a148bf951d3294f59c7b90b51c70ff9c4cf6847f1128092b4ba11fc7da0b53f7166be6785999764b9ce2323521719dbb6538b789e1ba898505aa1ee10230c42ae2eec33f775b97b45677d538c548866ed559d3f695c67e2729467a3299bae10b68505080ab3783b28463e6356b7f5e410f81a8108bc0abe8023fd39c64c406139385dfaeb02fe120a37bb7b1495cc93f7b09c0b2f44575fa41c44e852253c181a9fb3cb12a5811c59cc64e59417a70b64875693d5652548b145d506d00c516bd052d3fc13d7b1b606d59c03144bddc938ba3980878a430c611adc918ea4c48a2ae9b3209a42257a9b78db2f55ec4c9bc7a0268c4f76501f4bf8589dc68eea910b47958673682f2ce2be3a1a1ce64c23522362a73989039a706591b98c7446ac2cafd85539edd5a14a8b717b781e212a890921441e76c8beec7efe919552f4655c855b2156bfe4a49d9157c15fd0215d49cc8ff8bc615bc3b57639c8b5a23a1c10cbabb855f80e4e39b516f211c0a7c514e10a6938740d68c3c625127c0816ff3ca66ad8cc7b696517b94cb9f42f1679241ed8a0f5aa9177e5bb60352435d3693bd366bf7b013aa532f3ba7a54ea644f41259ad7c05f5116cfc059f614ce0dd947a27481f7223733745dffa43358f2656292aa720481c076cfbe352457cab43744a53f02a1a7e11b5c6ac900c797a0032ff9514a2551c0b5943a1dd66db2f5cfe93bc8b3bc8405c601ce3c3c7df0307f59999129736872551f0533662bac54bb0efb5b71966ccb6c966b4dc22654b9b1d4a8a19b41caddb5754888b12d59794235cc8618a896d0500d114418ab9ad4d64f0f7b5d8b255cfe989a305592e5aa7d1777c9af82596bd99b7e854040c567453c8fbf1a8eb64b9e6041a092028efd05023c455a87eb179ec5cd4d12bca0e433a6ab12d1098fd2e6c2fc78370c5443ef3a9ca3d95f77a2a87ab34c62d174f725a00c429862917d05d062c73a21a2130477ccaadfa05a7428b1692a028104bc4ff386ec1ab8ae9cb369c1cc06990578c436084c2de0b87585a43fbb3a4d2cd54faa9367b2f67951d53a00d45fab851439c58a0f36cf5c684ce81279db868e50ca3216b7481528c8c1ca5a71e7874cf0499f527ab7571de7973d346b748d6c3086287875918da875bca4781cb0cc721ad1217dfb11d50363f9f330b09a90b086a19f3cbf220cc6ba03018d45a03c37a1c4e0c4a7c5a417098bd7728294c064f701b564249925b68a24572afde37bd4417e66ab757b668f9e919e81a408503588fcc99c1f554f9c3a6e0e41941d5441cbec7c3647a1f6329099c18a58e196f08a49f9c92de0099e6317020d2b88c2e9027ea13daf1207b1e6672c7093d9f80d569b670a7372d00b0f790c8ac980b41f652b1f79c9fdaba16b51a2d837898e060e14c1abde99077da21a63b55d4f6519dbaabcb3fb8f03fa48543328ebb936e66c0148522a81199931f359ee796c106a7705531cbf7c5744f41cd6893e07a2912a92a1ccbc6764985ccb544f7a298bbfea0eb20c32020b989448b85883702f5547cfe8a9ef9636e2ab6facc10bdf15c84483255355a56a3144da797ac27487368b09639c4a7fe106d43894cee8cb53fc774d1300e674b357fb538d0677bfec2ff136a19f2b25dd9829a3c864c47c5c1390b82ba2be0b7ab124eb4a0133a00f718fba949f91845b6a1594441734449c6c64fc1fcd689ef3183099342d650722a1d552fb5a4149b6132f2b096c2a0495dc588aa49ac77c6f80bb9df2f2ccba532b9797313781971cd660878a1b6cca076424a1be5857c02b3814b62741f574ca700ceeea5c2cc34613763dbc30756fe74fc08c5bd7d8993fe713582892e7c92fb50b9319b4c44e146f4033319f8424f5a045472b65c4a439469270361c1a4f2a1cc3d87c6510c442183004c9221be3db3bcc6499ab3f23e8b88905579f05212a7ba9f29e7df3d128a2d18b0ae7db9c0c1f40d35fd0ddcaf7c62f52930dd34b1b44fa58f38b5cf12afae91cadc8ebafad278a1ccbdffab85268d424339e68b2a8f5c5f5b317f8cc
+7345a953edd9ec67ef289ea398762381c1ecd39bc0916b6e77de85740d3cb63b
+Ciphertext: 3546045b8d5c5ae07c3a947bc2412546fd5f459f7b5f016ac3d7df462b4723afad3c1413b267f3a05fec522e4ac49d0b941b9985c5d06271a90db94fcdff14a8182bc62e4e2756eab4c7beb53d1e4a0369c1e1ec4fed633f6bf8befeb1e7aae7b79d9c3133823b7be34d014dc59a51d383a151c5efefaac635bd4bea9497f3f68881244e1d0c6de0495836ff246274affc033bb1c27b87ce1704b11fa6291dd2dfc98d7f628381c6c78d59d8f571b951a250661806e32c08054cc0e4205473355109027a1d1a16e2078f6792eaaf9b65e7fc064c133a82ce1a97ef01bfd784afaecaa7e06a4231a731c2f396527aced8b4f41eab90e640cb86d85cfa14b4bcd278b6391e5dc67276f35f0497d29ab22d193df5a54cca24176b2ef8453e155b0e8c369548e89be3c03d3061b187c4b6a68b4a367f1d836c8e112c87fe44f0d1c1fc00e23287a5cad753c6823718d78c401c9afcfd5c96264153124a0dbd88a0505703bd3e2a30f297ba1c41e464dc5d907567e8c5573bd09ba2235f0271fedd261e0cdb204529c6f0988c143036647b321d58124538c09efac845c1f04160d4907ff4a6ecb69003d02b58bd46ef8f0f78a4c6b003a8315e83d4edfb0e812410ea0089b379a46794de80e3bf6ecdac73b135eb95fce14f25c3073c1e93aecc4e3d1f73499bfcaad7fd7f4d0a075daef3983caad2893996f6a028a1a1c968b7de7374b244621d0cbf03ce76ca3efb149656ef915161fa27ba4e156f0fa04494207d3443fbc2a06b9ce16c1ad4177b8e59dd74afd81c8a56d0a8bf6dbfe9efabba5e9e16c058cd7aee0f3e1498acf9db7536915e237db457e8ba4634914d53acf9df4bcbecea72b9425a0108b5dfd4ced10d8a1af096ecc47edba7fbb5305da1a39422b204e800e16047840fb5f9a664daad8476a175029d3e640008ca526538b15388634973af3fa4e5bacdd2430d0cd2e99e68c1f96fe88e4706a250968d0327644d66034c6a749a0f7dba717df82ef2b0875633023fd453187e63f4c321813cc915496c9f8ab01189ddead2428d9fcc4e016827b92fe37c20b3610ca24ee00442
+Shared Secret B: aa6273d00248d404010918418c882dea0ba1f2a0f8004fab6056558e301d07bc
+Shared Secret A: aa6273d00248d404010918418c882dea0ba1f2a0f8004fab6056558e301d07bc
+ba937b13e8e3b9b29005dcaf228fcd340f13822894f96948ba178ccd28ec74011a8ac242068d2c55d73e54a0ef5aed1bad58f0838abd17338f580f83c88eee2b1be9d88a50685b38429769c68c7db0950d8ae1ed2fdcc7b424e49dbea29cb9210bfcad9659079f280b4633abbb2f6981aac76c939e953a0d687a5c49b0c88cbdc6ebb873301ccc0ac55dad26655ff07a5fa2cdc2d6bb702d84cf78cd3253b85094ea4a34df8a7b3bbb91c1b8425466d6d8276ee5fd12970bca992781a641f88d8d7a8f65506cfa5c2af18d934070111b8330334c7c356ca10518e34469fc0e5b20b90f84072fa8b0404bf2f9dd400e9cc742c71a8bc3ee03af7ad0cce8d8c39e2a1c4fc4c8df46a6b96ef97c90fd7f6888ec4134403a18cdc5f194b5ce9c4d9e54991773bca86a0f50c5f0acb67a17dbd8c8f4b3306a3d7b553020a0616b3f8bd51c535782fd736341967fdd59c59afc17e39a78d88662b7f75c2ae00444acc26d0ac2fb9f21f7e9f94d708874418b78abed389be2afb9737f50de71d559755dc70a1eba4d112ed2f8f4d81b714fe7dfc47707a7ba77d1e785c0de60bef1090b8788b447e9391791ce7a03a3877a9d9b29ffc8394cf4307a6e7e7ab54713d615e1bcbbbb204c7cc8da6e7fd2ca2baa26d852e9a74d59eb3ae35b09abc807b0515ccee60cb4332fde2595c72a4a1333a454fbb8b453b288396a7a32b57c11057cdd53bad1a3c61d6ead75f239edf020c5fc92a258d86089696714954f2a235632404e565f2dd594e43f1688b97deef4fb584a9d90040f9cd99e53d6854f84cd685f1855dc2b242482bb7d89f7e3b29d1e8a3f3c914eb98ec9deda9d500aea9f06e2d08a974cde25b0cd501e055e94f801bc44f8295c8608e3ff3cc7984e2919564aa9e4905539155d8915d777b03eebea0badf47557d166ac1a55e4c7794c9556ff0dabc2d5e38534c0b5c5b303904f3fb572a23df9293c6cebda4ea85ad1d4e131975ee461f7e55dac31e22489e568bf28b0e4b2e6ed9f62ee3bfcadae452cf6efc4296f1070ffc70564762ef51b48da2e79a1634a0e9a9a4e47d1c4082fba8a
+Pseudorandom shared Secret A: 251e363e8ac5017994cfe1a8925bf6046bd5fc3abc6de081b427316bbe574716
+ce26b5a11a2c1aeacbb690ce1f2498de9bc9917fe0dfab8d9d557843a773db7f642281145ac933a17b2a4612969f75be8d8b307ba3993417c042bf7c3d6df554
+Public Key: 433b431c41a65491b62556c647c6bed604bcf0a64e8f45354903ba91f93faf8b73f5c40fa7a39fdcba810007589497118d283dcc91b1029c6fa244297f941a0623a7ed3c8a42849f569625252bb890a5786b14c180443975fc106c7a4b1852a013120e86fb0214174133e952edabc04dc76531682ca9067f7f74c479c52f74a5c12e90a2337a16e7225e8b5852f5922698068ff180865f799b9220a50efaabb01b38e908af34b89a6647c56e828f5d9ac2780a767ccc9328334501f86d6453bbf8877661540f5b8957f28424cb445d7499af9aa7c91de529a6287cbb48b8812034fa927d93fc27c170576986a93a7191b51ca70b55a9b698552b690c2ef400681b18b2b07743da9f7b31b8f69a3f44973257a203ae84173f61970858c12e1a8760b6204c6b2927bcc805685bc560574bf4957f344ac54a3927d65f1df9bc5ba114b97a8dab740c6fbc5ef033cd2b95c8cac706faa63c3cb3a9e6c2c68cc8c58df06256454ee69b0bcd7ccf3d6c9f26f148981153f49c6c94b328e8abc8d528988bf38fd63a2a0c57309a2abb9e04ba6871919ae06b01d197fbfc90043226bc7011b7fa62b4200af5c17fd1262be5837a3030666740794af9322660be3c276c6e035eddc92b9ba351a9da07eae3b5adeb8b907b86e45c6743d92fa1622ab56ac9711205a3761e7dab6956074ada24a698c33b71e9ac560babb099797691bb6441c33dd23d1fb7a60bf5a71b05562eb9086dac2355321d66082f092a078f849255c3a3ae8136cc84062b4a222f45bd34c950f41b01bed32fceb99ad5bb719a417b73fa4084b1a55801c9286623e88211dd5190b77418726246db70914535b89dea280028b31207b683415c2d020d931a0ad5811a53a440e1530fd8441142e072c4e455873b59bd4c225f95417e69bcb1792d4b28341d0c41f36a7ba4000f18d9ad761ab7d841758c13b2a70ad03ca19105002f4505a679b0bd7f7731c1288a5b15ac3968aa50c04c42c215fe70b17c693c3657c9d2aa41f214427de329f45283a7824c21eb10f5aa0d416c2573f36afcab1895988faa6a14976133d9611d79f86ee1f4eaaebd35a5030ee0480bce9d426b89633c07cd5e57df081cfa551c7d318a
+Secret Key: 5539a0b11c9462137452da54eb28b7d5737288268b45da46cbb3cab50c8084531b9f12507cb11a5d60356b089157c53fb4438e32b21970b778c21797e609aa4a6c5298e62c4cab713150a659830551279035c1caa4f7a444249d432660fe3434bb982aa67134c681bc94793f27693667888ebd0546aa946d728862a6ea6895740d4d435f2038caa696ac6732b50a6256b6501b0d5a4947c64590401e899894b8d36a805a1f1b174325831643a40c5b837ed3f237f3001afaec5b9d8037ddb21f1b867c36192e9294be2ea78d7c2638f7e96d3a2a6b59cacd960a9686eba4df1600aa105301d3b2e946457c2b9dc0b75022a2baea8c73c391456c5c4362033386497ef50051e5d45c5c14cdd4730b55c5a3b971816a3565096815e9889c5fac07468baf5e17515988a69b462aa4212eafe9603d39778e28149d8a087a45b23bc3a1f409a32647c659601ffd4b3dda242ade3b211d96cad77c65c77250abb9bab1d98766d5628cbb1652ec7b00828796724462d92db923b9c3637532d47d78709aceb38b61e26c4b990b6a9c5e0769bd2851385774a1104c7cf0c724a01c97c3467c55231250dacca4f8b98b514910f360a4c917515869e4f17f4fb8a6dc3b13a7aa8c81796f01280a76a619985b09cafa652fd18feff6ce73f6387e6913c6904a480c281a9c0f0a67a06e2729aaf4c3a00607e2da538ad81db1628d0ab86748d3cae77656c26914fce820b1da7b28228d60c6a340e756fa26677c4668438c9a4d205fea663885990224d230e1413388460a73354bf9267c31a935acf0bd5ef736b84828379839a43897026a36b74701a5230a5bba61a42a7d5a8694f7a4af2133b410329c6022505dd5b6ca709e6d8015092b9ea5143330191758497c01fa9117d763c3d627a165c9c2350c55e294987093b39ac49ba83e2be8711b3c8205134066192b607c9b2ca8194a214d24eb25963710fa550414456dce933e6e4b405a414e7c828f5530b70ceb3ed8d37c6d286cd05c10c3ac7b0a746cc61a560123a735b4c067e72ad03b572a67790e3c9d84f8c815960a770b56ebd6924ac925f78768433b431c41a65491b62556c647c6bed604bcf0a64e8f45354903ba91f93faf8b73f5c40fa7a39fdcba810007589497118d283dcc91b1029c6fa244297f941a0623a7ed3c8a42849f569625252bb890a5786b14c180443975fc106c7a4b1852a013120e86fb0214174133e952edabc04dc76531682ca9067f7f74c479c52f74a5c12e90a2337a16e7225e8b5852f5922698068ff180865f799b9220a50efaabb01b38e908af34b89a6647c56e828f5d9ac2780a767ccc9328334501f86d6453bbf8877661540f5b8957f28424cb445d7499af9aa7c91de529a6287cbb48b8812034fa927d93fc27c170576986a93a7191b51ca70b55a9b698552b690c2ef400681b18b2b07743da9f7b31b8f69a3f44973257a203ae84173f61970858c12e1a8760b6204c6b2927bcc805685bc560574bf4957f344ac54a3927d65f1df9bc5ba114b97a8dab740c6fbc5ef033cd2b95c8cac706faa63c3cb3a9e6c2c68cc8c58df06256454ee69b0bcd7ccf3d6c9f26f148981153f49c6c94b328e8abc8d528988bf38fd63a2a0c57309a2abb9e04ba6871919ae06b01d197fbfc90043226bc7011b7fa62b4200af5c17fd1262be5837a3030666740794af9322660be3c276c6e035eddc92b9ba351a9da07eae3b5adeb8b907b86e45c6743d92fa1622ab56ac9711205a3761e7dab6956074ada24a698c33b71e9ac560babb099797691bb6441c33dd23d1fb7a60bf5a71b05562eb9086dac2355321d66082f092a078f849255c3a3ae8136cc84062b4a222f45bd34c950f41b01bed32fceb99ad5bb719a417b73fa4084b1a55801c9286623e88211dd5190b77418726246db70914535b89dea280028b31207b683415c2d020d931a0ad5811a53a440e1530fd8441142e072c4e455873b59bd4c225f95417e69bcb1792d4b28341d0c41f36a7ba4000f18d9ad761ab7d841758c13b2a70ad03ca19105002f4505a679b0bd7f7731c1288a5b15ac3968aa50c04c42c215fe70b17c693c3657c9d2aa41f214427de329f45283a7824c21eb10f5aa0d416c2573f36afcab1895988faa6a14976133d9611d79f86ee1f4eaaebd35a5030ee0480bce9d426b89633c07cd5e57df081cfa551c7d318a712a6783d7bd755a45f1eba19c72818e7adec7a7f4098635ae28452000164b99642281145ac933a17b2a4612969f75be8d8b307ba3993417c042bf7c3d6df554
+367648256b5fd9b79aa6a060d25f851bfc510ebfc6b5804638e2d57ce348a395
+Ciphertext: 47634a999e7cec41a814118c24bdc0dc2918a1383da5bf2ada9bad5c16e1571207cd350a276dfb44de309ec6c835b1f9375e68a408aadae349de0001049b028ee697ad346a258d0816c24b625c7fec02c1988e288e6d8127e3c529cbe0e62e580cd9e250786f40260700901aa55215f8befe6cbf7e1355d01b64bd43b939565477acf5d333e0c997b61448dbbefe4393e56afb0158c86f7c79f20b6c252f446e64f1f81094c29f7c1645cb0a7e66c6e328628718dc610b2b6be22c75524124a1a9d89cdb5413d7c38847eef2a1b933a9332b140c69ee094985373a27b86dac3c7ebdcb60e1f753575aaefcf4ba15087ca4f90d1aaebf56fcd6e7a461e88287717e7af3ab94a7654d2fa0d2969ef8357a3644de53fbd693346ab3c534d8e11f22b33964c3f2e7fddef2a419859c40f2ce7db244e041b1a67fa4106c6ad5ef164c67cf92ecbd042a0966953003a88b4e4bece69d3dd3d4d4895f65c18aa1598cef4dd81688405da2cdce88bd430070b2a73f0b6f9b4527e5dfe917a5285b8cabe36c89edad24097285f071222efc4e68a7883edae7412b9cb1657ff0820173d812c7846b34b625f1b2ce311ebc11268f2ab428d328d57acac76ea213ef52173079ac6af84d7c22a7bd98df7176df9a8274e421169372a736885ef05efc0e75ddf9aff68ecbc4e871f33e32cea893b1f1481b0536d51c7bf62c22932549f1af4206fa130b1c84f8c3292bf6928a90648d1d226f8a7fbb7045b60597e9ca40a24ccf60b670b76d79078f876e7e2bbcf4bfaa422c62cb30464971d164f6ea8172509137d66f763ddf48d94e64680c43115022b13a65c1b8eaba5edee8f0aa8fe129edc6cb702a494aab908567c6aebaf34eb920f08311559abb54e784d39a0af3d9a636726f0d29431bd25b639989bb16ce73142474025d5f1f92312e0524c0b1967e9c844ed252b18e70e2e761ebb4c42e6214ee1ae8e52e8e4dac77574f0b9031f740a8f1c66f707e93b07f291b612672a3edf2c385e5ef66d87b6285f41fc5c009c2636053831c84fb425f2ba8435e7fdceae3da35fe5646aae701c377f27442ad
+Shared Secret B: 0893043c6f3d820b370a5ab290f5caa9545a281a54919c7ee549fc61bb46e150
+Shared Secret A: 0893043c6f3d820b370a5ab290f5caa9545a281a54919c7ee549fc61bb46e150
+ed8d34cd0e4f53a9d3ec0566c5934e9862b4e3564d47e99aa67e0d5eb7a378cac2c6f29ee354e99e622347e06f5af9b2801e788ca95580718a2b9b300d1a2dd06b05021bd2bf1bea97036dc3749adee9f7a115a58cab8f46058d54f04a86a0405fdca53ff15c9b027a79f8189c0aa73659e99f88b07096c07c7f694a3b7f52a07fbcedb663415025b8315b004cf0ad3c64daa21e290cf0cccc3bb2d9bed0c9e68789bbf50bef9c6c9cf94db134358992546bc26c9d9b6eaa7da7ed63ca061f2f27ed1980ecb04eb07640a13fa97b723856fa72d97ac8b1aca5c7508bfb6fbf6eb4c5c8d899aab67b8f10046922d46568fcd56223aeeb80e147352aa691417a153af5b19fc1b5dd943ceb663d2d1e2b9fa904514b99beec905bb3ca4fc05b410fe5adf5005a421cff6a88eb48bc8858692ae213fa6cb6e63bc52e934f5f959bf64395a656cdde7da77c3745ade36a37ab1c9a41950dbd35e2307ac8a04d88ee1434645f283847a87aff8f23d17e7e870bc70f8c952a1ebebd7c4e8bd953f978d9db9c31c6da9bd73d27fb915472fefac4acc36c536fe4b039b6f9ea6b4557388434360a7f87ac0a72cfaaae98969de3f08f19a6a9ae97f00dcc1a3776752db14d7c47ea1b625d41c619df7d5ce9ab9f0ad08ea8c32c31ffca681c8d111b66027e0f62051de1968538abf2e8fd305598772a268d666c26f5b070d19bc13f3f7fa4a47d492cb0664fc12b503f498aac5d6f7d2975651e715c1c2dbcbdb899208fa02011830aee8feea9766a7b8af24e2a55b0a3c45fcad4b9cc90fae2c0847cca5d4d25a60c465bc2841827de683ff6ed2790c04bd2600d6bd82e972c9d5a74283e1f0b203eb9e5e13a3f12f5095b37171408b824b9a0222c13080c1e6b36d26190a69ec8bead4993cdc54210b935e2bdff6746f68a496b05f55793b4dd9f49fa5d47f54736b239db175613427de5f7f9131536155f1aecc5cbca12d5694dafc8bc47c03da4c4eb3b85689879dc9701f27555f55f6c2378728a5e0f66b5843fd6b41843524fda6fb4f6340dd38f4d444f592215cd2a7aa8e172ecde561a300f1e3f
+Pseudorandom shared Secret A: 2ebc3ba1bc50f243c74c5bdf0ea53f93a34ef6feaf57bde73210ab793fe68dab
+538fd1c5678d7b6b8de88c7bf9c62c95090cad512f089687b953cf2028a5942c221265640317613ea46ce0a77a1dc8c91e658ea84d3910ff2b5297c6bc096534
+Public Key: 75899072499a91268018a3bd516bacfb6b310d505f1a9160c0a956f1571059321b6036c3d93796202446e750225b7574a3832c0a98a3bf8477d622afdf12055a890149fa2a38c727a2e883f007a08f623c45ab3f2618cae167671a386985e2cbf8f5b7360a7bc1079f273b3528da3bfc9b89b6a3978a3046cfc65d66944e8f4b77f478c26e190316e8c93f363331b49e6447a358a1adae396c9f352a604c4cad9bb9fd096dda88973d407c17b903139125857ac243f4940b97c8f5d15c997b1937f9aae529c8d2f6068da30273915b21665098804cb867acd540bc4be342769cafaf0a2cbc024ecc8c80b5603a1d44537af74fe0e25ca349a59953099301021cc31e18b8c4c6566ec4d01abf176bfd4174aef324c16347aa50162ff52632a3c730538304b4c9b0ea841f40905360519cd3993c64b9b697230e036ed898b094428ef0522f2699ac0e9a1fa76a03c0845df44a667b9ac8953a719d2944214147550a3c95f19f5852a78489283c967c045129b8155ee4fb00dd82cd6a140f3f2a42ecb2918972af5450141f650e45a05a9f2c19044aa58c9278bab2744aab19b03125a027a8c123bd94d9abf30bb5eff01e3997c8d7fc89c4f8a252a3120895823985c12d15adce64139d1222796a83651346475754e6dbcf9f4b9a47248fd58193142898804a645944243a3524d51b4faf57570619456f358192548f5faa5e6f41634843149608257fac257c4ba20e20be080a18c500a93ef700621553b54b336f329fa214709520ac2d59acb776514003643db25f4da8c0275a87c0b65c1af3355e6c39fe677af8e4cfa9489c8b0a1074e847dca85bc0c239cd486abba021fc9514de40c36c4417dfca36bc3c882d213c93356fbb9bb4056aaf3fa50fa55c600d8b9bc762ab98f26c7d4969e3210910c01cdbc10c5dc8c0b807b8fe470d10f138bf03283fe37a9de62d7f2c07e89596d3a2b7626385b484a15941059e55425d870bdb0b6f7e17cc452868f7b3057a1b1b4394b177a97a6f15a5ae4126b39887da5561e1d238b36b00a6e4712fe7909f5789304b01f6e7595bb03ca897cbde22ad5321483b77bfde5dadd115e8e3d4d0d577d0d52a016e4b9285d1c1f9c2241a96
+Secret Key: 30a99628d61d33e2bdc347a040238dcdf5382db8743290b2f60ba9af014a78e32337f46430d871b672bb45e852ad306a5dd86e55b4481c56a193487348bb760099482080ca1c2929ca11b515e2a18c9b54e0527aed831493c384189c58d9ba26efe7a9f934953d1265d996b98e9a4697f62cdd546d33a2a9d625179fa36e19a8bcb16a2fdcc18ecab1867bac5a370396ffc302c1b2bbab5b8ae38a2b5ff31abb728e72707366f2bd07149fc9b70b73976a177225c79b9e1560ba088a590eec80ea0352b3075e5ac92d693a7620455ca105a1b4aa0676558085a061860135128247ce9017b9bc10ecd5c9267366e90a933ad9395e908421332fd672ae3e660416a4902be48055d33ff777aecc17ce46819b36c7ca72936a29372529443d362815e7c907819521f450b9a0e0348535644dd273be009772344c74d0547fea545b8157214732e35139196664040c2670c34db91b526c6752d2a38430b33fb84c3e028babd3019e510c00dc70702532351a987ce4b23260fa19eab03aeebb1f3c20ca9893b4853758f2d3cee6d381070521aeaa8dfb81b54e19cfebbcc761556c96913d37b52df15c188ae55b17098557157a52352d7d99ba3310004eb1193fe96b2788a192d0a86a1300dd246fdddb3883053a8de549f6552d06496f6cd88476e89f765cc8d45a3cb68ba0f7b00d3e789c4a44bfbb89aa84c6731ce6be55b48a3637c819a3a713715e59d7b3954839df697714021d9e822363f1981f8c44bb05b5416c0da61757c5f4a682548209aca6a20a58cb455997c721bb4710f9b1ad131a0ded582c46e797c063847cb5b4391229767a96a570543e71684f662a4e29bfa2f5bcc218465715753b7bb873790df8d967e5962aefd0218baa166bc94c1952b2ce0717bb6a9d239164f1aaaf8516890a43556c0bc6b15b58b708b30b8208f3929209cc16ab00a33ab8333c6521aff2aae291413eb12edbc66adc5b8393f19338c847bf2213e73942fc7001c1ebb6cc83314f385ad82214c280b55478b502dc945067798581995a931bb55b056288cb2130587617bfc8706a5c2c59c0646197749b75899072499a91268018a3bd516bacfb6b310d505f1a9160c0a956f1571059321b6036c3d93796202446e750225b7574a3832c0a98a3bf8477d622afdf12055a890149fa2a38c727a2e883f007a08f623c45ab3f2618cae167671a386985e2cbf8f5b7360a7bc1079f273b3528da3bfc9b89b6a3978a3046cfc65d66944e8f4b77f478c26e190316e8c93f363331b49e6447a358a1adae396c9f352a604c4cad9bb9fd096dda88973d407c17b903139125857ac243f4940b97c8f5d15c997b1937f9aae529c8d2f6068da30273915b21665098804cb867acd540bc4be342769cafaf0a2cbc024ecc8c80b5603a1d44537af74fe0e25ca349a59953099301021cc31e18b8c4c6566ec4d01abf176bfd4174aef324c16347aa50162ff52632a3c730538304b4c9b0ea841f40905360519cd3993c64b9b697230e036ed898b094428ef0522f2699ac0e9a1fa76a03c0845df44a667b9ac8953a719d2944214147550a3c95f19f5852a78489283c967c045129b8155ee4fb00dd82cd6a140f3f2a42ecb2918972af5450141f650e45a05a9f2c19044aa58c9278bab2744aab19b03125a027a8c123bd94d9abf30bb5eff01e3997c8d7fc89c4f8a252a3120895823985c12d15adce64139d1222796a83651346475754e6dbcf9f4b9a47248fd58193142898804a645944243a3524d51b4faf57570619456f358192548f5faa5e6f41634843149608257fac257c4ba20e20be080a18c500a93ef700621553b54b336f329fa214709520ac2d59acb776514003643db25f4da8c0275a87c0b65c1af3355e6c39fe677af8e4cfa9489c8b0a1074e847dca85bc0c239cd486abba021fc9514de40c36c4417dfca36bc3c882d213c93356fbb9bb4056aaf3fa50fa55c600d8b9bc762ab98f26c7d4969e3210910c01cdbc10c5dc8c0b807b8fe470d10f138bf03283fe37a9de62d7f2c07e89596d3a2b7626385b484a15941059e55425d870bdb0b6f7e17cc452868f7b3057a1b1b4394b177a97a6f15a5ae4126b39887da5561e1d238b36b00a6e4712fe7909f5789304b01f6e7595bb03ca897cbde22ad5321483b77bfde5dadd115e8e3d4d0d577d0d52a016e4b9285d1c1f9c2241a96affc3f25a2b52b794dc3aa4680106bcd55debe954afc583edcee454cea3eb101221265640317613ea46ce0a77a1dc8c91e658ea84d3910ff2b5297c6bc096534
+a6f0cf08216bce77ebcee70508770adfe233857b897d956a8dc7e1dfd36356ba
+Ciphertext: 80e3186a3120089962b22f9b3202873bba17cf08e10632ef4a1d4588deadefe0876e7d1560825342ae9f5c0abe93ac863fd55b76596d3b2183d6337e076e71f7fa6ff3d703be444ab9e044b38bd1cf72e7cbcada586c5896cd3580fcfd8606b96c371e011425522f179462f7a8339a17054c6e01b0fd6277fddb824333bcc6197de0eb561c3556320cb6eb4aad1db6ea2fe030e3d479297dadd78f5c9b371b3e0e8ba6fdf80699716c40cea4e608b5f13d7956ae947f1d3758d1493874248b72b88d6ffb5e47670aefafb16694c329bcb45af5381c823fd2c48d87fb948daab7f70168608695f55d9f0a7a4f3141773b92930d0c8802e1a645008028016eb0d2238c506b683aa95491ab7e0fa34f96d62ce3b6db45ae78fe3c95de22f51ab5eda5a98698d76499a68a89da943512a5652f9100575b3d92481416716e1fba5467c7f50597f7d96e9dbddd60d9a6f551cde5505d62e5c890ac1911a251d32aa9e42f56f4308bb2f09bd0dfc5e873f25199d311af2129505b1ac5516e195e10dbfb9ec20e0b1d360928a70c86d1af3977293a18b37f22e4dcadd3ebce1216c5b7143070bdabc5deeef3b12f1ea0f35d1efc2901e23550e0649a0bca08bb1ce83edb5705a4a41c29ef21943d6a42a13bffc7d4c1d05ab1089533a366e1c7f5b20cddaae058633790d2918ff591708ca443f7b20fd101ce0a44ec71be35c4db989224f8d4db7495fe256cdef68acc03975887a40289739f565dadf3c6c4b72b8724d7e1c99ae425316132538294ee13be9858c92f3937febc691674f9c41bbe486bfe5949b9d9f9e9ca1f214894d19de3e50f1c4846d23b8d643bd859ec857bdc253b83a6e34b34c3a3fff0f7fad7e36cd10a854c571395881aef76a86102c16844ebec32a04b0f26d3322fc1d3654d8da228760f020d1ab50244bc12de32292b0d4f74e78a37ec5e00a842aa2b79e77f6fbf824dd7bf355c8faab3595b15b637bc764b72328eb34efa949b3449feb779df8b9577c6a6f96ac5612e4f572cd10f464157f9017308d86e2b04e31b8f4173b330cb7f4d319c06d60fb8606b7f79d54f81
+Shared Secret B: e4c2ee92f838718d0603670e4a822494540db99bd295bc7a8d3aee72c816ed03
+Shared Secret A: e4c2ee92f838718d0603670e4a822494540db99bd295bc7a8d3aee72c816ed03
+1b39dda34b2422d919f2ab5c8ec25b3ba5f91cff012b4d89fba97e9ac85ac28299eef59e687ab368e85876161e3e36baf1a7d43d8c2a8dbcf4e19e2ee7e48cad4b7f493a5ca7f110e76a96077a25d6f148d23b59c238eb8068fd2f1b25df54a6f03999ae46c1e0fcf86e9149e9955cb8df09e726975533f6e4cdd914f31870e05bcd3b052ec240348b6835c710126e18f280fd2945cb406f0672b29eaecaf0c56357be3bc36ed1bf0bc94ccce64a9089addb56734eb711a4c09f0cd930468168ca961054cdad71e17565cb46b968a60d5a932424b7e958077e27c7cb47dbb5978b3339a590f13bb239c80ec64b4ce981144686a5361146fe0844434409988342f0a0e2f81ca2371fb84eda9588f0b6136de5abf4c2b0adbc46fea85879b31197fac2b23076765a00f0c7824a49b39920c16ddf53faf806d1ff12ecd029369b8ae517cb484204b4e0373dbbdae489afd7f89f94473451516290d65de0a0cef5acefab7eb079a092604a4efed5805127cc97528caf4b6bf95276420d976d6bcc61323abfae2f3b5f36b4158792912bbc4855b344db8379d6a6831640a54c14f8f5dc666a3834bd84a8d4a9f02b5a25ec835481c5270756234562821ec29aa241d9634619bb726de72844e65e0b6bc437b1a94e7874df8ed3f3c9bc6d4f358b43faa1aebeb03155db627fa4680ee1b25adeace159a220b83bf6a945c5016099a0bdce8854d61e2d1f3f4a3ae0f412c961cabc5b515ecd58aab194c827ee0eefed09661ca472c8890baf279de15fc604c191d673fc1b001c145e28298a8fdc448839ef511db44b0373c224ad780b9a5bef384d42198d12352b8caa653d0e9b34e5c05c86addbecf8d42dceb2e6df375f89a948b81f52f619bdd9ee78ef5021f34e64335af219f874acd3257b5436655c4ba898028b38e3b6a0bd056b8b69518d68126256d35f49ce28dc9a8a70a51c91fabe2e26e8ee6ef69519aee36bb45894f3c01926616d04ea7b190168435b590489f40962b5e7193dc222bdc34288e3b68f3cd47819fa5690d6d0885aacfdda1405b589b36fffb919cfaba7057de5e6f728f6
+Pseudorandom shared Secret A: ea77183fb5120e8fa94c678e46511db0d175484fbef6585a8afc758009650072
+a580c4f9e7f8fa3919bb902b3f286cd73e71b63e8e0e757ca3acdbdcdcb449d904028f9145916e8116747e79400aec22a678959d89bd402c0c432598b0ece62f
+Public Key: 52942e549008955a1aea20439829991f71022cb80ebb27106c043e1f233b01c365c1035f66350b2122633f15b11f6a2f7463a7e6174649c2666f7675a9f00a47925ef58c028d252f98519823f5391d935f8f7b87138b17d7fa73c8a8356a0bc205f17e4dc14a6b4753d40459985c882e42a86bd66b6a565e5eda6fcfd1a90e38abc384b09f3430c47695545a79c51283fc648eb14c9a3caa39b6b47e9d459afd2a521ef50cbb74a1681214cbdca2770baf5652bed5684644b34540a2a0ca3309eba8a6d0b3970f7834fa9237e0788c491ba65c34a25a1a831721a756a831162802f873b5c62537892a41fb780b817b8737f633a7128bbe2c5cd5b8377f045919aab9ad6b3ac82508c61b63a76417190a590f038bbc26077c967c4d8053d80a2c114a43e4209a30a19aa6138b1151c2612bb3aabc5faf689eb0ac4f81121fdc0aa40e7141b74c61977a2e375b8c4d763bd1c0aa642433dd6173740048133b28973691d4037a8a3cab7c7b47fc409e8470143e09c746158c5ec3538b6560ff747c4bb3af41944dbf3929f33484f0d0a04c5a73f8aa5927a393e28c0da8a011316b1d58fc62f2609843d70c698aa49fbbac32f0ac79cca0f68998b1737bb7d04e0880b6b6b71bf6e8c243f2b753d00f34957d7f3a65bc56626059bf0333b8b75309ed983127f9024bd95d1ddabbcfe8bb36095e2c9c5b3bc09894a8113b1c553c5762e46b0a6b49a9b2f90734e3ab019c51bc181ab7c3721fd70c0ce43016a55664642962a6a22cc94a61e157eb5b0a67e6bb64093994ca43b7c11517352da63853dc81954001790ca460f75c8bd83a3fc503aa87b438691270e15b734240a025f73ea3882b3f5a6b250070ae7a103490c135e1cc5ce4aeefa81e19ccc398d84e97c22d473a756cd1033272b5daa86215a288cf07788e39a722ea08b52841b6a9c5c26372cbc60cb47c28b9cb0868141517e474aa83c92a681c41d4ca393b7f0519bb03d64d71d381481c772626881362b5f76408b11766e37a5743c04f0f3a67b969934d2885ee3a85ba84163495511c0c692305cd1bf63c8e74b9991188e293be4af6314774effafcd8a787347074d696c5fca37f4904783ef2dda67bd343356e
+Secret Key: c0c69e40c846ae4ac376d715488a59f670664fb7ac435464b8f694b14c21012382a6c933a5844f72e1652019ab5bb2434c51009c96c9aa9966274b657905a740e033db6aaab4b8874ed19143472a303641aea0a430b32b562c8f4e847297a223609844fe200df30ccad7a587f47aac525a2e5477b89de5614550018ac558c8d66ad12b3368993e9beb725ba683d1ca4c8e60a5f4482a913cb6b20173d43aaeb4671308ca1af9603ab03a0657f81c1be7a4e1a33c070c82d17b4362c46891350a07f98bffc308b3383c71561505e55ed7510b74979ec171594bca3cf0629d2f159714f5c41218b072137713d97baf156583d514b630a303db5b6fc52ca483506bb71ef72507c7c82255eb2eb926388363af66abc978f2002d0597eee16df5e4b6a5e7b7baa8114d892b75153d172874b71020f1c983ad352f36e3a703ecbf5aa2cc62b294a9f0bc62e0644b1ccc12c85b5ca6a26d815958706a63d07c7d23762e46605b874a24f34d08235cd44abe703ccf67a7952c81a823e288c5a262662c82b2b39a89938910f7a1edd6b204e434f1cb92955112cddb34a2a7196a8476000b083ec9a5042c21ad57c0988a16e82997a7f33e6cdb4624db834415b525630e63861b499326c8e6687cdc71c66a05b0f08008d9b492fa96e23c012709744fc2548f1c03881a6990e6cead1233d6e70659a0839cb9c66f965d9e2b51f163b6a8d8b584856c48a728ba812ef8806e6f98a2727a611d439804ca406d5190e8809b484678c6e96d82e3cfa2f77524987e5445209de332ce464f5ab6c51bf0cdda01324fc9a644b783bae8158d24bf2fe095f066aad904c3510964266157a1845a59f639f9498e6ff8bbe87bc48812535efc51fa882c43619452d584a8235c4789c01fb131fc36bed66081b5c3006928a238bb2ef1622c31ccb71e1a0b4012a122230fe5e6009bf79c761c32fed952ceb01789f8663823c5912ab70db65d2dac9e6d92020a856dbe2928edcbc84218c06087c8521266bd6882e7f420c9d39d53561df86c6aff393cbd74c4b4c98de3118b5d380990d4abbcaa2e8afb269ce513a5591d52942e549008955a1aea20439829991f71022cb80ebb27106c043e1f233b01c365c1035f66350b2122633f15b11f6a2f7463a7e6174649c2666f7675a9f00a47925ef58c028d252f98519823f5391d935f8f7b87138b17d7fa73c8a8356a0bc205f17e4dc14a6b4753d40459985c882e42a86bd66b6a565e5eda6fcfd1a90e38abc384b09f3430c47695545a79c51283fc648eb14c9a3caa39b6b47e9d459afd2a521ef50cbb74a1681214cbdca2770baf5652bed5684644b34540a2a0ca3309eba8a6d0b3970f7834fa9237e0788c491ba65c34a25a1a831721a756a831162802f873b5c62537892a41fb780b817b8737f633a7128bbe2c5cd5b8377f045919aab9ad6b3ac82508c61b63a76417190a590f038bbc26077c967c4d8053d80a2c114a43e4209a30a19aa6138b1151c2612bb3aabc5faf689eb0ac4f81121fdc0aa40e7141b74c61977a2e375b8c4d763bd1c0aa642433dd6173740048133b28973691d4037a8a3cab7c7b47fc409e8470143e09c746158c5ec3538b6560ff747c4bb3af41944dbf3929f33484f0d0a04c5a73f8aa5927a393e28c0da8a011316b1d58fc62f2609843d70c698aa49fbbac32f0ac79cca0f68998b1737bb7d04e0880b6b6b71bf6e8c243f2b753d00f34957d7f3a65bc56626059bf0333b8b75309ed983127f9024bd95d1ddabbcfe8bb36095e2c9c5b3bc09894a8113b1c553c5762e46b0a6b49a9b2f90734e3ab019c51bc181ab7c3721fd70c0ce43016a55664642962a6a22cc94a61e157eb5b0a67e6bb64093994ca43b7c11517352da63853dc81954001790ca460f75c8bd83a3fc503aa87b438691270e15b734240a025f73ea3882b3f5a6b250070ae7a103490c135e1cc5ce4aeefa81e19ccc398d84e97c22d473a756cd1033272b5daa86215a288cf07788e39a722ea08b52841b6a9c5c26372cbc60cb47c28b9cb0868141517e474aa83c92a681c41d4ca393b7f0519bb03d64d71d381481c772626881362b5f76408b11766e37a5743c04f0f3a67b969934d2885ee3a85ba84163495511c0c692305cd1bf63c8e74b9991188e293be4af6314774effafcd8a787347074d696c5fca37f4904783ef2dda67bd343356e75f0e893c69e51923dfcc10e4095ba1a8ff4cbec5d6edc0f7671a2a2dab6c6e504028f9145916e8116747e79400aec22a678959d89bd402c0c432598b0ece62f
+6d1703d1bb0ff349f0556f995d8dddd31c817524ac01173fff94e5283241f2f5
+Ciphertext: 9006870a998f49bd77ff3545af92917c98c073f53803f7b38d030ceb6e1d14a7d79181ee11e9bfc0be6b8d8208da398027d87e49f53847aadb16edeaab3a4f4c6fe3ffa6dd153b715d569d461b62f7e879ee3052f8fcf8eeb05d1a2e5d00c45da1aaedf0ca7180d465f71efcdac9a1d77b18e018b550d4a137493a15a3cb3e6b4346d65bdd8a3ca46ad68ba1981aaf6f39e647be4888b98902cea5ac2b73b94de9a50232723dea366974b17ad084ffb1215237036110ce581c2ee5a8b08d3ab206b05f921be74517138b2903fc145d67bcb3f6cdde0da0c902bfe2563d804a73e13cdd7b19fe6659d969ba5ebbc8791438748e959518880f9e712709578588cc3d53186b237f5dc0499977817bfedf8271f35118dff6a4c0734c41672c24c6204bfa759482b6c388b3241e484b63f84b48c6c336e7c854fc028663d12db96caaff18f4d83c85f2f58416d2f35b2bf9e9f511c7c9eea6b56d7cbb005fcdcde05e1be98f8b985ed510a66bd508814c700f3d928c140e232b0c03eef7b9678a8b8f863878f4c828b3b537a30dfd39439d25a5bd20820e942c7a99d1238ab45592f87c94de1de2c349be14b58e4a22495f6368dc7e800d59ee675bf774a14be24b685b59ee4e2617a42889f6786c062a6155af484547639b6991275336afb1ddb8a768d77a1aee3dc17189e3166a719759c8e5fe691559f814f857a867022099035761465200dda0853532699940f8cae37efe0d67e3dc441e1ed65040dd57fd7e828cbcd990219700e8f49b8d2299db721850581fa1b553745ed027e9f0fc1d9f1af4d9633a80f4fe67c239e58208542ef2728d7a23a0cfdc7eb2b857a08e085b7350ede2d0a6437269cb279abb21b40fa901103edb3751d90d9b5209affc1a6d9468acfd64eeb539064db83d0c303da4c5737042b5f631cf9c8cabe1bfd9fbfc99536461ef99410af14907cd23d566ffa07e0a522766a933d5fc3a1a08c172fd5f4ab2e18c3032362d79e6b332fc30655c51ea12cf1f764d89718dfeb2f8e0672fa639c6e9a6d9cbb3c22d712091c21e46c413d822376d80f47698da61f4bbc16a
+Shared Secret B: 5070af86a5d3fbc743cd54ed4b803194c4ba0536f5a609ef645e1b834ac61db9
+Shared Secret A: 5070af86a5d3fbc743cd54ed4b803194c4ba0536f5a609ef645e1b834ac61db9
+ce17738e5fa5fc367a622059ffb0c6dc8f7d6e1158e7f14053dec8438ddff8fde2fa7775a4f04c6cc8284b90e25b90ea3a4b59eec4dfc4d54458aa9dfc47a5ff38e3bff4549304a5fc3629d2833996df5c130e9d6e6080cb0e7ef51c8682506a911c4a4186cafc4bc2c6bbc2ef0d4769f38024e075f4fc76740c22a121db358dd982717d9f9ca2a4903e81fcbdafc6a57d34ddf6843094a5c00b62f69401fc982020214c9a485e48b4ec645e88c17b45448292ffbab3ba7cf4cbf87e67a99f4be3c584832ceffe95bd58b288e3f43bf5ef15f2ce3a6af669178fbc5930975be23976c41f592d0fc325528c2bcd62251edca7ac8a675b431c343d5f4219bbf4c0044547eb403891ab50b2a95ddd06ae7f7470684f2ce5b868644fb95a3b1285cd872adf8c11137118e3ce33d61d85f04de86b8cc47604da42dff554c8492bcaa127a7388d11c484014bc6bbe64b5788dfa337ef18b2073bdc1dd900bebc09a4052bd7a699efb4d1538b59e13353ae57e403e1d94b5c6c99feff474a99836aefcd8002277201984dd3093f29a1c8c83a3129dd2cf62b499fe8d61f3f43420fc3ad36837e9cf7e9700a0e5810c6c831919c1d9cca8acffff08cb69ffa7504979b6219c4bcba66faabc88538ca00e5c98891b5e632d74d79e148ca02c767a20b401d7e1d06ca9ce7c2973e4e4d87167d46579142ada52d47703f7a6cba335344622e854df0f20d7f7e79100ff185a33a32e5092d75d5ec48976fef5d33680a488988695e0ccdff64fdd9f62abca7b030595b92ea1e400549819fdd4b2e05159d89cfe8843fa61a99fe5d967994e65939f523864d7adb1f4c62bc901f8f344c4ec7822be0e85ffc62c76d98eb3ec38f39ef58cfda9b6ce139b71e4359c6ac8cbfb03235c7e68355e13547ac031c24aa0d7830b294ccc46fddb74af9f4cd29fdfa915fcc5231cfe517af678d6cb3f18523bf4c69f9b3090bc34a22d2c359a2c26ddd4aaae72c72fe312b522434ce3b5616267e54d35795c5314101df41370146f2703d72a7124421475667fd908ce77918825609b20e4aeb204a96abb207ec51537d0d
+Pseudorandom shared Secret A: 99d6cd88e5fc761647534991497c61ee532eccd7dcba78ccbc70d4d26524af99
+716acced6eacd21b56f04b49a91890a6870a100346575170eb2b9bd5c03c09160f2cf2abbdae47f7d36d73ffe7ba4325b100b9a1b5a8aa7b2fe914f5b6965c2f
+Public Key: cd2a61af01875a72a2ed8528e1c83c3403a925e5b1763008e2b21f9ac54709296227b1489a60ab7584788d8b0d406796eff49b00dd8e290915b91294a435ad5062c24194c3df0c8d9b689d7d1c9518869c6a493299b614a9a48fe3bc0f3145408499b483c02fa054c206482cc3086af13c4c59399b8cd66e1e368f47960c17216a5469be04bc43a3830837dca715ab2476716acc9987dc256c930b507702a0a133bb1e132e911505bd653fe02253f53b08259013b5595c2581035e77c679c96f68b8acf689cc74228c308527767c11901aab26bb7e015aadc2a3b26637c7e4990b8a4a500116682d872b30244427703b33b44c3f48b4d3272afb398042c0596b376fd78b0b03e5cb8bd959446564d196cec314c20b53588e7a1ca62a07fd76ac5ca18ce17a0ba1c49d5f02a2dddc959222124c8502c93912ae763c6c39cf8fda3a82d76494389792886213d2c42ac0acf734a2618606156c79561c2915593664a7be7a1b3ef00c4bbc84183fbb66eb1b2c572b2cc213549ed943fa17bd4d46be9f4cb8fd460ec4ea9f948cb460c42037e4a350d78d1b54bed9208127a984809c6e403ccfc147a21f52027214970fe645412693c2770c42d57472155b8d88aebbe481777094e2d104aef4b1f0ba888824788d2194e7969657301e0ad077a7d0aff485a6e94b1a1ed44705e12fd1a687af014201621a9303a579262a18e0aff7b63a911bba6ac5c3c32774686a67ba8bbc4f758077f0781baa11fbc59793998e88126d1e0438dd796051bca990267ef1e4bdbee342fac70e34373d8df02bf9e1b12e367af1b37d1193bd6b19217667a08923ab5cf0abdd010f49b3785f3357bc1bc94e717c6f961123e2ce1bf14f45e29d0e638dc59c112b2705b7d508134044279a462a19289bb4cbb688ab3f7b51d08944e48aafc50aaf307826c61583da58a61abb12233038b290b843888444ebce203c2a2db8957c368e64c613cca6856a6b47bd28a8ed792c0b2c629dcac838789287d384ecda271c509ee9f46e4e172f43215a66045598972b2f849a155b138444652f79caa2711212f18b33a94dcd722827888d7c62c9952526a825a35b0063a736ba05bf84e3f5a08a516d06511fb1c1
+Secret Key: 0a66131052a4c0841afb656b886b128552931e17a42a84b938313b45a01f65314bb1716e2ff0a12dd6b5bfa7a489496cb102082208948d464c9c0136d02b08e8bbc750517703959a16d31102697323591f978a16919865d2e69c3b418f6bf9ca4bd18a89ea01471c472fa488125857d402a3e7ba74c2cb45ecf8a777d2be76dac82e7c1261770fdd0840b71a46f86830979c9d8fb6ca65a252af58c88e4154c77b8afd57cfe7642599f5320172790c565be0f4b8699800d7754f6362b47310c4695aa92d72729bfb491cd46e76f329dc284d9fd6b5d955c88052869a2248409c0a4277025968269b8cc98bfc2a19b871e9d995c804683dbc6ef64a9da370648c50246ed0408b3c3db253285900a32ba2b2a58a9f7a2b250966320528b2f1d745c4118a6923a6eb1b0b3b8791bf20501609b64557bc08e2848e540a3d977a94faaf1eda20b4a734289bc29f280fb923a424d891c3308f7312c583a425ce1499347cbbf6916029a691d151bdd7253c883158fe071c77ec6968c869b0625a94f51c8908accb6b0e28c29e6a4bbb65922170d21732b031bf641cc9a706b852a9eeab2bafc38fdda93e8b57bf35b52c2ab0a5868912e6cb4482b37f5174035101416e86430deb301d8035bde298a3699fe74977a6b6c676b54306c93bafc3077e9775511534d3d0cefcac4afe88a30f21bb05e31ab948c69a30c859c69bf927520536ca3a814309562728f7091074bfe85916f4d7640823302f462c21ec8f7c886f7b908b680c47e119a4f5544506d66141062aba07b0ff604700abc6b09445df42527f2c7bdf77b6dc7014aa38ac6c8429884c800848ab3c8212defa936142a8a4433a41db201679a30d03330cd568e93813e1ba2b881aa4b219cc1b6a6d4789b3bb38abd9aa5a87eb570cccc18b572d36d6a14ca48f16931a7f545c81f10a3332528ee91629f3642516426a045214c392d4c1b26ec26a0794a9f48b1b94b28ac8134eb3ab9f11c9571e71181f897dc7c93b81d4289b7c30179c4ea9f1602bb09a76c5756c4434cc148bd24535b2c62fba4139f4227de5e78443368b1d13a167e87fcd2a61af01875a72a2ed8528e1c83c3403a925e5b1763008e2b21f9ac54709296227b1489a60ab7584788d8b0d406796eff49b00dd8e290915b91294a435ad5062c24194c3df0c8d9b689d7d1c9518869c6a493299b614a9a48fe3bc0f3145408499b483c02fa054c206482cc3086af13c4c59399b8cd66e1e368f47960c17216a5469be04bc43a3830837dca715ab2476716acc9987dc256c930b507702a0a133bb1e132e911505bd653fe02253f53b08259013b5595c2581035e77c679c96f68b8acf689cc74228c308527767c11901aab26bb7e015aadc2a3b26637c7e4990b8a4a500116682d872b30244427703b33b44c3f48b4d3272afb398042c0596b376fd78b0b03e5cb8bd959446564d196cec314c20b53588e7a1ca62a07fd76ac5ca18ce17a0ba1c49d5f02a2dddc959222124c8502c93912ae763c6c39cf8fda3a82d76494389792886213d2c42ac0acf734a2618606156c79561c2915593664a7be7a1b3ef00c4bbc84183fbb66eb1b2c572b2cc213549ed943fa17bd4d46be9f4cb8fd460ec4ea9f948cb460c42037e4a350d78d1b54bed9208127a984809c6e403ccfc147a21f52027214970fe645412693c2770c42d57472155b8d88aebbe481777094e2d104aef4b1f0ba888824788d2194e7969657301e0ad077a7d0aff485a6e94b1a1ed44705e12fd1a687af014201621a9303a579262a18e0aff7b63a911bba6ac5c3c32774686a67ba8bbc4f758077f0781baa11fbc59793998e88126d1e0438dd796051bca990267ef1e4bdbee342fac70e34373d8df02bf9e1b12e367af1b37d1193bd6b19217667a08923ab5cf0abdd010f49b3785f3357bc1bc94e717c6f961123e2ce1bf14f45e29d0e638dc59c112b2705b7d508134044279a462a19289bb4cbb688ab3f7b51d08944e48aafc50aaf307826c61583da58a61abb12233038b290b843888444ebce203c2a2db8957c368e64c613cca6856a6b47bd28a8ed792c0b2c629dcac838789287d384ecda271c509ee9f46e4e172f43215a66045598972b2f849a155b138444652f79caa2711212f18b33a94dcd722827888d7c62c9952526a825a35b0063a736ba05bf84e3f5a08a516d06511fb1c123ff0545bd9e05181cfefcbe170f33c01737ac9883400b61779ebeed0577464a0f2cf2abbdae47f7d36d73ffe7ba4325b100b9a1b5a8aa7b2fe914f5b6965c2f
+14a71a856c8783b36f6cd990dd3aafc134eabfeeae2a16acec7b8cbdc3ec214a
+Ciphertext: d2620cd0cfabf7828103cdbade707e8d80a6b01dbd6f2a380a904822b489085411e2c5b0d4fdd08f9f45adbf22edfaaf51495804b0fc22db7afea2f98870e7b8a7f07efbe12629edd400ca1da7c886e6098ec3d401460bedf2df9d306a49b441c96ffb68d0a3580eb12938d497a38664c732920de0ed9717f153353f4de9322816c9696c962d60c49c8a5cae997d0e94006d37a41dce8a81d73355dbbe92c7039f314f0b537a2cba6df4168c3719fd35b6cab624c836ece93f51fa793c094d83ed374fb00a254c5170e8ad1082a4cdb846406eac5a74086d2b2bfbd6e98f4455a85b8e2ffd6062a2a2e9db3d347ccb5c020286d8751711e4958718d158b0a9b1b9202429685c83823087e39a47b2c889288ca621120d47a8e64d8e1a96a71d9aafe6a38e27be2622762113dc72026b244b69d04215fbdad0ffde9f911559230cbb19574aa94f68d27eefa2eded82bed672dbcf4ca70b372b8346933f40fc3ac36b6c5538a9c1a048831fcfb451675562a6eb7becc5ca820248a20443f1d14a027a029547732962f039137791de598a12e50fd50198cd2afe5d4fdcbdf0aa626023a3d8dd275bbdbe19184791500fe175b69dfcf1322361645c320445b12c75c52a375ea6141942d0918c9d5160923fbb82bc413313c4df49bbcc49570848b30b1ae016b9fcf17832b7ca38eb49ea72d71c30a66f605ffea2a92739352eceb57c7d6f983f37ccb1f6a4dfd6ffa9deccc56259f788e50f28819084b8cc8322776f1d075ccbd5a3edb0ebb1c7a0d12a057f1a21b63a52c653b4e9558103b3fe5db54b3f333c249e9387b7cd4fe672d0af4f2a93728a261e13c92796f4e3840791b963a28f7fcc9f0905b52cb41881377ce608285ba6396d3f95f271c6820a473ff571601c28092f7943f75ca37c47e439bae30eb0f79a33dab5bf568caaccfdbb1616229e1226d69659f0c9475b27a92059451b6d2f222817070821c869def949b4877157fc373ee536e26febd6dabdc0402e102e9153076ac0c6cdead9860267cedea9afc342aab271b09ce9eaff6aa6191bf9d12cacdc1f4508797962e7c7f710
+Shared Secret B: 03ebc66d6cc460c4f86c261351fe4bcdd31084ec25bf3a0ddb2e2d98f7ad73cc
+Shared Secret A: 03ebc66d6cc460c4f86c261351fe4bcdd31084ec25bf3a0ddb2e2d98f7ad73cc
+61bac3844862ce845bc95dbe36c009a48eeb98707fcad42ff1205ccb926b3f7f547af2f88357e455849e03a78493f527f32e23fea38ad17be561073fc61ea469be43ca0b61f743a93dee53c0c9acd86f62ab66a86f69609905ff2bf77d0970ce5f6baba7c2ce03b9ac3396c4f42c99aec2d4e7546bbbc055456d0b852ed22293bb55d9840e1e88efe63a72ee80291fe859bbb1fa9de8af3441c4c8747521e0093fd9f69072f78bc1451947280c60fb66dffbcf7d1fefba79cf5323baaefe233b243f5597e0a19732b4d82a6e20e8bb9cc7faefc7c664d089dc52ad4c4e0b9983097ca36dbd149cf37de8d4b7510fc6cf78d3bb9b74298e00a5bfd4f72930090821dceb50623c99684751f66b290a836b62b636f94c2f50b063c0d0cfdaed8569d71a1aed5c2ef5b9630141396b14b71a78ee12c3751292b95abba64a3542d459d0778d2bf8244b2f6e4e2988aa50fcd6c05dd17bad6dfe4cbe3033374deff41117e17eb213920f84dcacdf788bf5cce5654650964b9b10c7d39779b7158c4a1b06f80cbfe16a82d17907f9e87cb2888ea0f4fcaa9093dc2b56390d99d390747a950a2fc8e5366389a59f4934ab88328ca7ab4fc30839065b5df0eb067ffe577ef62dce3a1290026db1e894d9795047b05c89fa626e1be73f1a420eef55834c356218cfea3a45a8957e96f3f6592310fade69bd318b0cb988f1e887df0033b5d6b0d958076db793448009c0c4a14491f8eeeccc527f20ccd718845a3964cb83995d988a2ab96619a31ddacdac891518e971df5d441eef34f56756f01fff94ffb76284d3f33ee7d65193489ce27f6ba05b9a842acc4b1cde48b990f72e02b7f2cc912a067ca09f1becff6ec17458d842b832b53ac064185f88947bc8cae0c4aee507f7323d83fcc7f38e5546da96be7a70c77a9169dfba00d63d1c1e007ca5a109d1f85a3c0f928f1a36cc0ca70f03f133bcbb3998fdb54e8dcd99055e2a35da292ae0006fc2f15cc98c2bf32c7ba03ad53b33831e11b12e7ac4be88c50f9c318ce3d9d1b1603fd489df1be75ff071991fe4549da5db1da4200254a9f274c692df
+Pseudorandom shared Secret A: 938411ab3bfb20bfbd7be2be8083324d9890ae43d4679db059f70a3589914e7a
+1fc6a392e4def830eebeb3b634ce01f6c59e08d8bf00c872d1a3785c78356222be7adb7aab2e2191acf1dcd79360a45fb32969661a78756c30c53ac501ef5260
+Public Key: 5af27bfd96351b3b3a8530a9e9c03f993a15375b0422d8906765312d322993695c051516916c792f13b1508128f508a00f477311b515a1359202e8bad29278644c37011644950358cb1045e67c1c41d3a4eda73c8653456109b093250d807449776726bee5b69ee393b6c55db5875d6e729a1dc22af91b86c0f62234971b1d4827ba0103fcb69f375989bab8bfe7271d7b734c958755bdd9b844949f19794a6694b82e88335b316509b9b709a335e95331edf79df1386981abab0f320ecad744bcd9881fe61119c554054474ad9a4c33a6ac3870932632863a58c6a0565290e52d6b15a29e0a5162cc0637f54488b83f27301d313928f98a67393c00e0d79ba0dc7f8c926c2ff5095ab4b19b32b2b08b901ee519e0554f49921b1a131e78b6734a25145b5bcd474379f8a03425fa4569a992ab070eb3a226bad88ea4043364b8cebc45942a26c69f1770f73763d06b609e38a3add3906b3a2041a3c6c8d69cf42537f9f4327ac9c205d98241e5a3623bb3a38b86e8622030f9913ff334191b109db53510f35f24f764efc29cabe501498443cc85a0f2379c70f80a6274ab5957645038c1f2448faa0064ff4b58c78b84ce233542b000ff7a844db774a02b5c6b851a9c5a437e1580e96182c93036b8b298b9ba0a8d945e44a26080284dd34857671b68919b584327092709bafb442f63a849bf038138c82702261f33591790a87d4653a2bfb80511205f4aa8418bd23cf1738a384b7aec797d9721cb4f8c371c0a5477f6744b441874731db27702e8f94dbb999ca06b11a2d65996db116a79b9b4b80124c490c20b22b01498a4ab5544b69521307d7296761a0a2bdea9758ec9a716f912d7194cc8409079448d77c5ab6ccc6488b01ee34c21045c4f0af637c6163e91c6004dab3621f42fe4525c8c294576e30b09d8905a61a24d518d642207ad887c4e00ba1ba938e6d311098ab292e9cc2c19c91e0850e716bdbe403770c86f7ee2535b23bbe9a277346cb9edf4b37a677600fd6e7ecb899a229f83599ba218c6bf3730ca81041107ae88b41f96953ebc84c7ae8544f6406790769b19c4b40ca8221101d856e2a370080d3e3914db9a59cb19821e1aaf5f297e17bd8857fb
+Secret Key: b826be34601888a1b09be921cb30cb9bb907f2c90e4ad99f87e2512d601b3bcac91ce4298a18266f3445cec5cd97db538daa0a05f9b7ba2241c795b4248193c55571d1e59c6bc143adeaaf85382ee551088847ca239a9730b1c81658a064075878848c120b915624802d70a93b574cc8920ef9ac1671b218464007d64c24a9c2ce665bb9fb5c70fc819bc415afdadcaac238c01ab72d61b0ca8824302e0b604195c03930745047b2a6cbc280d06820c3b03fd21fdc927244a184fb89518871960bf0b532752fad5971734b6876e98669196fe3d0be3eb72f2fe7bd78a216d1c253ed80029ae87b7049411b742de0957a51c88812a4684199cfa2c8952bb11d7a9b908e940a6a0680bd60350f727395984ca1fbaa146078e6e956f7c45421863d606ab47247a6cf942c0f514aecf7b1053369cbd90318806298d7b0bb024b12952232f88b1fd3a33ed4348ce85b34773009c8754a0528e6192929c01c20113fd6a05657dbbc66dbc7e5310576da7ee2b8ac2d777a4fbb135ac2739599b22b06c6a109bcee205973f82c3d03761ae397680490cd1917e89a3166370edffc7f7b31a54d58c117a3cd0d8198890b7685382a50600deb2b793448acf19a312fab13126509b169ae9b4b8a59c5c850435ea0687a05c635e447b5dd860512da0a1c6a63cc485fe5db735111197fac86d0c6339cdbb25d973d4ca506a7b822a5a060133272f7c27147897d5078be40ec961051145671b2c30b614f59c09c7b02d963c4822cb6b0c9b49930392d052403028aa7f7103bb07626db9016c328485510306a604e24025a8c096f1bad02ba02dc811df8c05e9198c1f95a3429140e150a17c7958c7c001f286c55beb20ac3c219ea60c993c8cb92c579c34209c1e9c3029a983a07b707f79d6fda025851315bc011e8095a69d80dc71a04879a8cf6eba2a5363ff7d19631e9154b567d63325ad791318d3ac2524b325ea1bcfd2a441573c318305e93fc8d7fe3b54e087ff4a2be2c253930b030ecb4bdfb1bc25156335a889bad1cc60e3040cfb9ae3d6a5e09361f0a18cb09500dc89757650044b7b3c3b2b6315af27bfd96351b3b3a8530a9e9c03f993a15375b0422d8906765312d322993695c051516916c792f13b1508128f508a00f477311b515a1359202e8bad29278644c37011644950358cb1045e67c1c41d3a4eda73c8653456109b093250d807449776726bee5b69ee393b6c55db5875d6e729a1dc22af91b86c0f62234971b1d4827ba0103fcb69f375989bab8bfe7271d7b734c958755bdd9b844949f19794a6694b82e88335b316509b9b709a335e95331edf79df1386981abab0f320ecad744bcd9881fe61119c554054474ad9a4c33a6ac3870932632863a58c6a0565290e52d6b15a29e0a5162cc0637f54488b83f27301d313928f98a67393c00e0d79ba0dc7f8c926c2ff5095ab4b19b32b2b08b901ee519e0554f49921b1a131e78b6734a25145b5bcd474379f8a03425fa4569a992ab070eb3a226bad88ea4043364b8cebc45942a26c69f1770f73763d06b609e38a3add3906b3a2041a3c6c8d69cf42537f9f4327ac9c205d98241e5a3623bb3a38b86e8622030f9913ff334191b109db53510f35f24f764efc29cabe501498443cc85a0f2379c70f80a6274ab5957645038c1f2448faa0064ff4b58c78b84ce233542b000ff7a844db774a02b5c6b851a9c5a437e1580e96182c93036b8b298b9ba0a8d945e44a26080284dd34857671b68919b584327092709bafb442f63a849bf038138c82702261f33591790a87d4653a2bfb80511205f4aa8418bd23cf1738a384b7aec797d9721cb4f8c371c0a5477f6744b441874731db27702e8f94dbb999ca06b11a2d65996db116a79b9b4b80124c490c20b22b01498a4ab5544b69521307d7296761a0a2bdea9758ec9a716f912d7194cc8409079448d77c5ab6ccc6488b01ee34c21045c4f0af637c6163e91c6004dab3621f42fe4525c8c294576e30b09d8905a61a24d518d642207ad887c4e00ba1ba938e6d311098ab292e9cc2c19c91e0850e716bdbe403770c86f7ee2535b23bbe9a277346cb9edf4b37a677600fd6e7ecb899a229f83599ba218c6bf3730ca81041107ae88b41f96953ebc84c7ae8544f6406790769b19c4b40ca8221101d856e2a370080d3e3914db9a59cb19821e1aaf5f297e17bd8857fb4a447803fcb46b2df87aa6c884e69e9ce967ff9acd1b0c579c7da0cb5b4a26e0be7adb7aab2e2191acf1dcd79360a45fb32969661a78756c30c53ac501ef5260
+731b12e1a67c69d8eb2c415bdbd02a5e19362cf95d83b0bc5273e0d53c75d239
+Ciphertext: 38967486620bfbe63a08cbba5f7685487ec8cf476d365db5be7deb6e3a504734c682cfdc014b2e0cf0fa786a45d5f43cba5fea37c618d3a7cbf46a05eff9182a3d2d9a56bc735189638d9a8c3d1cf101ac9b8478e1d851b183af13c491c0825c3eaa7355d7c35db6fb1515eb182a0cee43eb0e2e4bb47584a2d1a831ddda4e89d7d0b5acd6eb082c0a11c5bd3c9256ca4dd27e7bff60b0d9fe263ef66788d6464ffa1e0eb1327e0bd9f53abdd4f91c3bb1484a21dc6f989ec03ee888b9a192a2ecb10952358779d01322f4b3d069606c8f0528493f1539bf3b97e1cd79a3ad81ba29629872e988e1ed975a66709cc693b1be8896b0fdfda5e7a46f109c960191dc635c8bd59eafdc3c1778ac0f526ebb83f8dcb0985ebde6cfe5e657161aad3d578fc945e93d2969153176f61c53be7219d35440d5b47452daee0bd61537dfc07018b40b7a3cf6cc36187baf1118084e75eb572d7b800e402d04a7701896156d2d617ffd3297a2294ad5a42a0480f0b6387a852c2a0550609ebbbcd2a1d02f269f02bfd12f5c312ac07f30bbe7c4c2690d536d0a5049b2d0b33fa0b9cb49623bb32b4c4f515673f6be375fe13dc3119bb7a28909d6c77e47cbda0a7c272ebb8ea8c4c3e610f324aca1a70f7f88469a26966b680aecad78b9034bb2107d3dea10a621e6d7e774c6772fdece381fc2b048f94539f2805ea38df3413b57e5bf54672650afe2c743d0dfa3fe8f9a24a6f8b6b2205ff201597d00f77e362003380b6429a74919d9fb56e9666ba37f00d74b41c34c4ad11ccad54d57418b3475ead93bfe682b35f9122509b5e124346390cc69cc8365a90d6b130eed695a31238368b6c661f509f366cc20551bf41fbd35299886e355f66d9c2c8cb8991d20ca55234e93db8af8b61f85d948bedc113961c23b264bb7b635b6a6de83d8b691f7b2774c61bdd22c60a9a57d3dac5470597fa6dd99d636fe7c419286443562a0674dd50096c3501330f40a0d2a74ccf2e40907e8e28515c82857ad7e5bca8c35c56cc87000d2cc25f2f800d4870881a5ba6e018c7a19cd5504d7b0adbd62f02608f28570
+Shared Secret B: 6a627e3c522984c4139d87e48cf98c053d99fb5a6ffed85cf7c8df77bbed3801
+Shared Secret A: 6a627e3c522984c4139d87e48cf98c053d99fb5a6ffed85cf7c8df77bbed3801
+f1975b7cc6b7a6ae433f4fa0dad0e1331cf837a45781ce714183294943996d41a8cc1e0e0847b803909e4574d83d2a15dfcd6a7f6c1f4ca1456ceb0843f490a00f9abfb275347db55e7be776ae734d2a9a578b2c7494882ef995e691a607aa2f2ca2ab617dc4e86369733951e516df2bdce9b0592acf0892b980042e51d7d2c2ee1545ca7af89b52956f8a3030023ee526cc762d729862878fe7353aefbff9a0b9127bc72f39c5077012ac178f688a18df4d3bf0dccb1532ae3235a548eda529019d4eb218cdd1fb9b65703e62112cdb8c6be58fcff061265d6783f2f999b9f46fc623508623a2776788f8c66e43ad08456da53bb615964d0f603aac3537e8dc543630e3550a1078c2c7561e0608ee72f003ca596eb2e43f9fe531d5cd143913702633ea65e9226364adee3f30129f4b8a97271f57603471b9845ee78458dc5c1c5a415a959a23726424086cd8b4a3488ed2cb5c60352349708ba47a650aeed0bb2afe79bbf9da878c40ffd21dce2b6a15fd9adb0cff1e17e9cf7c764e1a1951ff5f11d03cc83560ccce4929839f087f1021a4e2aff269d36f03b062cf073aff023e483c1b62232bfd53b5d704223934d458e455ae26a43cc0584b6cadaee1d2f6a8595d393de261fc979d1dc0c0ea207db65de2de945c2ed09c712d94139c7813f3086695aa6013cbecf5d9a95a1efdcd9435c87529d199e6c379e18daaff0588570da7a4fcf5d3f020f0491a60067ca8cbf6d94213f38a28a3f876d44b1f21cd4d306135719d1872009fd0a8f65ed267d3546b8590bd0c1cc6fc40e922e3d90b7523d0f788ed5da5fd9565119559a0cde0dcf10969352c9f14f07813d54b2514d1bdba2d43c799ce38179bb8f4b39195d27561478420e614db651bea6ff381c0f7855a2ce3ba387bafc8ddc0c2619755bbc3f3b2c4510233a75391b4b22eee8043e6ffddf2b4bf85fa97a8a25108520593af531c900ed39fa1cfc5872d8cd9f4c6f745de94dadb52ac3c7bbf08604cb126f3a9dcc268b88f3bc9b8629e7eacf4bba502c48b4f0e6f3fd5ca1ab6fc7f063a26dc26245b960c32df153e2b9bfa
+Pseudorandom shared Secret A: ec9430fab7600fccc11e6fed9ddf4887ea82ae9be2da02eecca565884c562a42
+e27bd952cda75ef6d35e16ba854946d6c5cedc9ae4a84fad9deea4d3c89fc8a37a213c3386d895793d1be41399b8a7204acd90f77ee145a50cc2a39bd5fde4a1
+Public Key: 252273d6574a63c6246a8a943ba55790d5c0576a18d9fcb43c716814b48197fc169be7bf5d1498bcc98ff9f7c5ae62525dd23abd1b191be42a683a280412a6bfc961de8809dca481e9450c2342cd67e3aa0f77499cd3cf86e7519b944914fc981ad5365fe123ab568f7b25952fd4a941179220e0ad32892a7f34c1fae3bba6cc796e26a12de72fbab5ae9468b6dfda8436b405a9362b1be4b0e166120f530beb754738216ae3351917b7ce25d57a4f73a29684b472913ae955c03fe9bfb79074cbc70e50d2bdc4c9083d74555026277b8013ef511e967c2a11663463550c38b0188a96a2772820c3e37d6cc07215b69b6d79a237014e4451c2d5507bad995341f61ebb8222d642209d8205084b351ae9985ac14997455d2d1407283b1c19ac36de930e2b1a8337c2112cc79ab7633fb5322f34bc3749302f74846a58d185c9a68f0f2a243536a00533bb7fe86c12dc931e7bcc58b11184345d16f8ca2c1863bf3852b219c0d1e960e5946e7fa0a09c982339c161448cc0c652a533387f5fa356c03ba76dcb74f83c905593bb55429e8823a5bd8215dabcbcb3032ead2353c735463889baa1fb78eb78108fe651c7ab7978d1831d2c88a97357acd92aa16b2c769bc25d037a8b239e4c34c6ffa2bf8afa2c0d1cc53b9398d5fa92bbdb7c5a721acd714a8940429f7b8c25c96e31e779ef18c5d780bf84fc68d0b6975729b82a3c9c91e26ad6048640306caba8b6e5266f9a970ce5550616ba197658c6486ab6d0d1c62ceaa91e83a5d1315fcc176fac492ff16a92b2bc349967b23a4abf04f1181406957ae59f42db9953a99cdbe178cd9ca971b2a2863a1582b330291056225876d21474e9f1778a01979ae12669766e83a9a6d9184c2c7b489e049ff8a436e357b04e72276d5240fe099af9118c06682b0dab34c41a065b2a842aa5ca24f0c7fbe4205317a817e354b5c4528385a48f1308e8db4f98b95c90f6949a795269197ee2d629fc107bd560c3d4198f449016e007571a5058ca3c097f965542070112b6c42cdab6d298c2f0727b4490818ce8b865a99da8406267ec94f3eb5a9873726be6d8fe487fa3230a7301ea3f0ba1bd5db89dc346270e2208f5565e3d76cd4e
+Secret Key: a6c9941f294afafa0402e162b5071fe0dbc843c7833e33313bd61f944917b8447e57536e697075aa4b428dd68aca22045a7b76d04ca2ce711f4e3aa4df733bf6dc0df54b45cc257050968be2768a662012d7863c80854b28420f5367c9658b11da814384c25632715388da6ff8765e265226e638279643b4323516aa47b432eb2bbb4506479205d8289745567617a00bb5d5747f1acab3382764f725be296a9654047dac070dc395804c8d33c07ca3b67b8f096ee7f72e643583145453340cc94ef0844e376d47e4853435940e8c6ca3b27e80813d2a5873ddd51209e46b295712d57ab095b5055a3748a355b148e144cc8c82d652c682019b602c3c9b69c3b23938c8f71b040898d565595a018fb6442ec0c7be3283198612977e346a86b392e5d4c61366052d318152208b9d985407e8497068487c5bac537a08b9f1a1bfb8167fd7995b441229e16b2c876512d233eeec9b4586c3762a045a8abf074091d05317a601b52be39b21eb498a835b41b73049b82227c50077f10595f2be095acdfad67766f2c81461b2fc139e4688514601078438b47ddbcdb3ea49424981a92c87ec3a23121879fac34f2100b204f12890369496d9418922cd8248c692abbbf30945a3941142632502089145bc8414f3a2ce1a0efd6408e2f944e5cb6928732ce9a4bfd4d13d7fdbc5af59bdb68269a998a5d481176148962cc61b2f6bc28774912c6083a4d7a658ec981cc991e0d2b9fde751c616b245e39351555e7823b6fe528d91e5768c058f764a782dea55720988945759827b75d880266b1ab0b9d5795c4807f315509bc4c35aab5df9255789a5bc51874d0ba64d6a835483901389d029fc2a04def4b3e730c75b6967d5ac44e7526f15f51cafcb5e07a6adb0197613c791a328231efb2b8dd96ec70c1cf83cc5eb93a3c92359742134c29ab854029a056a716fc4820dcbb17db0bebd335a9cf18421bc9e0b8a0daab53de2ac67e0e99f23e866146386308642eef72f2d293e26b34742299f248103092502d8e0271f706c632b1df0181698f65d93944ac4719879fc9e2e79883ce16174b0bbe2c147252273d6574a63c6246a8a943ba55790d5c0576a18d9fcb43c716814b48197fc169be7bf5d1498bcc98ff9f7c5ae62525dd23abd1b191be42a683a280412a6bfc961de8809dca481e9450c2342cd67e3aa0f77499cd3cf86e7519b944914fc981ad5365fe123ab568f7b25952fd4a941179220e0ad32892a7f34c1fae3bba6cc796e26a12de72fbab5ae9468b6dfda8436b405a9362b1be4b0e166120f530beb754738216ae3351917b7ce25d57a4f73a29684b472913ae955c03fe9bfb79074cbc70e50d2bdc4c9083d74555026277b8013ef511e967c2a11663463550c38b0188a96a2772820c3e37d6cc07215b69b6d79a237014e4451c2d5507bad995341f61ebb8222d642209d8205084b351ae9985ac14997455d2d1407283b1c19ac36de930e2b1a8337c2112cc79ab7633fb5322f34bc3749302f74846a58d185c9a68f0f2a243536a00533bb7fe86c12dc931e7bcc58b11184345d16f8ca2c1863bf3852b219c0d1e960e5946e7fa0a09c982339c161448cc0c652a533387f5fa356c03ba76dcb74f83c905593bb55429e8823a5bd8215dabcbcb3032ead2353c735463889baa1fb78eb78108fe651c7ab7978d1831d2c88a97357acd92aa16b2c769bc25d037a8b239e4c34c6ffa2bf8afa2c0d1cc53b9398d5fa92bbdb7c5a721acd714a8940429f7b8c25c96e31e779ef18c5d780bf84fc68d0b6975729b82a3c9c91e26ad6048640306caba8b6e5266f9a970ce5550616ba197658c6486ab6d0d1c62ceaa91e83a5d1315fcc176fac492ff16a92b2bc349967b23a4abf04f1181406957ae59f42db9953a99cdbe178cd9ca971b2a2863a1582b330291056225876d21474e9f1778a01979ae12669766e83a9a6d9184c2c7b489e049ff8a436e357b04e72276d5240fe099af9118c06682b0dab34c41a065b2a842aa5ca24f0c7fbe4205317a817e354b5c4528385a48f1308e8db4f98b95c90f6949a795269197ee2d629fc107bd560c3d4198f449016e007571a5058ca3c097f965542070112b6c42cdab6d298c2f0727b4490818ce8b865a99da8406267ec94f3eb5a9873726be6d8fe487fa3230a7301ea3f0ba1bd5db89dc346270e2208f5565e3d76cd4e6762fa7ce578f0714ff4eb29b9a66f145d934615bc5a91fd8506d6f0dd46d1147a213c3386d895793d1be41399b8a7204acd90f77ee145a50cc2a39bd5fde4a1
+8804b1f10f5bab399b693d0c59e63594e28f0d34adae5ed00b773be005a2ac74
+Ciphertext: 1f8ba0903ed934a1290a95141e55e2d732c64276d8c1f3202fdef48c67edd8b22a8f6907a849d430f1e88e70ce0e94e0f183acc6420ac48be06a2ba761d189c4d9294848bedc175469f5c25491f7a755aa2d045d4ad34af0cc164b45812428ebb74ebc0e5e0de14b7b1383c60018f4b3b8e54f454f1ad0d1eb5423585ba2476ef9917e923402620401787844e86409f38b7e24f18619c0fbd3d2d7e0c8d3cda0d391d1a38f82f7e5b298bdc4ec3a1406e0db53469545b9534a0977a214e2e319a411ff66fe418ccb92a936f8012c22195ac2502c54798734cbdcd1ee3c1e2fae63aa6fc51167cfe8f48a76d2d692ca1e5179498c1403bc0cee2544d27cf7f5af9aac577e59da5e91045b247c248bf0a52ab86bad52ea93febadf6ab337bb1e3bcf6c3407cfaf47bf54d0bbc5d913c02a48975136b4a59c45e31805923a56bec62ceea339f205788070bd97692b987d030a69d220c4ee05eea1102acbda68e09e9b8b5c458f5267672b9b696d7616ce159e35d09ad5161bc431964291c495fc99956990ef068b3cca6dbc88343a3662e42f65050253da98a4f8a92d163a5d89255e33a5e1b285affd97be59bf95f0331ad57cd87c25874210e831ee7493b9e8168d8009655c88b402e8dd0fb0964c7a53b8626181c4a1ac61a7aaa1f295975352bb01abfadffd6dc57a9c8dfebca89b35ab1a16205f2072ab9491172a03da0b03417dbc6426847f1200a26b63e06027cb9555c478f49f43df922ebf4db05d850acf17d5f26355077d40e40a0c5aee405b7a3badc12e3642a387b18b7656612c5f1b08b649256e36686e77e17ff4564c173039dad21e8a1ed5d5871e982705bddfc0018b11c10d1c66e3397d52dabbdeb7cc8e8015d9f5bf26c472355d1377f239f2a0e714c3960f95269d9c4ee8183577851cd8f18ec0f5dd06a35bff8864794e5ab3a9bbcf7934153a2135471a45f8496335fa67b122f87ebee73e31d50fdab3ffb3c5df939f7ea54bbc91514a2f8120e10ca0af0331f09991c0b9da2c0897032047a8dceb67feff3cc580d257f14f391ce1ecbce85e680716a7b232bdaa3aa2
+Shared Secret B: 0b0977e6aa7849219ee77e3d2faa5b4d824a57a5b5f639cf1d9ca1f32987b1e1
+Shared Secret A: 0b0977e6aa7849219ee77e3d2faa5b4d824a57a5b5f639cf1d9ca1f32987b1e1
+3da58ba6584588e163f78eed53fbc7aa649a6cc838951d22f4473135930834b03f29e882dbb7186e1eb8a64eb911fa916c25c121ff124160aa4015b2eff8911b6c4e517b5d02a021cbdca1021f97d5de8417dab4681a59449b1f8520dc5a7a4402e44113aac1f0c5e322183d7e6e9ba652bab8590735c6bab7b6b252874dc9b49ec6fa6310682951737ed37f05e3bea5c1ad5bba60f12946f9f40d809e756dcd549b6943c9ac3c680d5e20791bc80e50f207a54c4b43b83cae11bb4d9c7cbbdafa539fb277b9f533aa98160c34a74e50d4c55158e2a36e2e7e5a440e92a4d5cf0c75c4ae87bc1559429fcc47fb2d3e0f2e40f937226f39c3d6e5c836fe2993a0f9ce1ece9af222185d2cc881689516579d7d534169c88ba53e5c4cbc38c88668b331890c411b66d9453540979c0a3de9b09fd08a7cb28a210a496c9b0a5cb3e1b44c2f0abf30fe8ccaf6717df4084697d457e648f6f27c02ccf2354b4a0c419c1ae35273f8a03fd1101f260d89e21f7d55acb785dd0fe673cc62bbdc15ed88590fb214591e543cac1a281d8817930ded1e00f8f55b5e4f4f2f55e245d15cafd0d115878bfd14e811cf8cd640ef2ea221ece328328dc1695760db4142c495b88cbf1643aef75e53d3b92ca822cf953d6e95d9007c7a4e95a151b5e759b0b66ff16b0aade12385444fc58fe1091d1f2d5d9012893d821403e81707fae3412067407afe127340eda44d16252e6e7e0a7955933b23df0256fb09e380de309e60cf9a79cc07189ff8b2548c1791b7243f777caa2355407da6ebd4a55d4868ae63c3ddf250ca2862f975f29fceeb892b9b8ac2613b20992d20c128249493a5e8661d2235108f9e2ba1ba5c04f2431eddd3d2fb5d1782369846dd8364418fe6f281fc32ffebaa657d144a79fc6cfa424518c46617688237c976085236c80c6e1b999fa5c56dd40258522273fb615879c6a2f9727b7aae748be57ed347ad8b028efb453e2a39365a0e4f9ec3ab540ea56f3169e4f107d98bcb2d8461a6f1385f94f260b71cfcccfbcc324c19b37a9b00275c933c8da47ae2a9b504f9d9df0485eb883a0c
+Pseudorandom shared Secret A: 049380497c9a92cc41b90b1c2c2528546577e880aa4f6ea3585f32c6e7347e75
+a87b7c005ea9220d4e0391da4441de33530b9b661018f281564b74316b63c5e8683787f587a5cb1505de221d9e932782bd38eac42341c29884b1442145fa2b34
+Public Key: c6b005090429b3031bdbc5c131a519d3a02b5e2b008778c123c664dfebb771f59658f17ae3fca26ab77e5ef99bed92bf1cfb222e3011beb9523d023f2ab9c6bae1040a450e6a71182c58bc88127a0858b4eee705cbc20efbc08fd1e09aee47c9c8229060f7645ef9707687274f408580bc19c5048a89b77b6ed00c61b9264267bab7b51b60709845917754a319de939cf9010100fc49fb7cce9bf0ad05185f522bc3875bb60873bf0bd62232e793c3558d74fa9383b828eb349aac1c428c284cd4798a777b7603386f95f33099393d13a0bb5ae026b1f2a483d80e0787021313295480102e5accff675695f463bc50966927a2462ba3515c928e95a6f19884b72b2fbdf7cfde7c7f0463884df5bbb7386ce0ca17b301a5d2b5852eec6659bb1ed74c5b75810c60c01234c08096494435355d7ac02b9c68630456bc45170baef4a4ff9c3b63549ebc2993c343a4001dac89c578fe0733ebe09ef8a1a7cf7c3943004d24400258628e24d45ccd5c8dbca53e365ca18b4ac3336984e4c3332c9532a77084619837d9c21cc9e22b9c6c42244a22f84848e5240a7ae2821b2a176851669c3b38d698227ef658ffc6427c231fb40ba5531279f86222168c8c524aba1794705c33c97be1123de64dfe42bc45317ba23b728ec6a3c8014e21685ccf136827e6be7d32c77eb6cacb678af0d30bb9ccc9b747837f699a8e629ab69234d4d4cfa009115f49b81ee452fa2c6ee5e403ccf4c8245b448d51912d69bcc8463aa92827be707bf7a34e55e33ae8c58e57a16199fa63fe7194082b1c8bb26d7202243c692ff2e40d2ee843245301bd9196caa3aa4366bb38b7b298c676f3801b8788ca64773f49921c88b9134145c0ecb2606cd39ab0b441b42118c1359f2a658bcdd006ed18651f3bc1c0bc1cee489c78514ac42324a49652264c077035511a553afe95b70ab81d7776524412285e44b66c7719bf07945e56cd53a72d154638f8356ba7f3439469a63335b1a4e24f5bbb6620166b5f20190689310c3767dd4437b1f28f1a880fa7a51b03f4581d90a1a5250e65e89f8ae68e7446426072308cb3cd28aa1acf3b618423e5512ce2f5e955d27682afea9cf9419f237a6c23e715f7bc
+Secret Key: e40594cac06b1271a963990f93415186686ade4a8a97154e76c7406440b2e07c52dbc24a237687505b2a73064539a4ad84988c482b3346ac6223a07bf53208cd33314bdc7cf79a41f95c480d5462c06603cac979d0725372b62ac1cc05b8f2ca0ed129a2e499f094a22696c33244b85e645aab7030ca2153ac59546e2c0ca3fbc4d448782da5c0a2e6934c324640c73d05c234d32c43507133f618a51fa6663cc96bbd697c01859e1cd326f86212f96c44b7558b76e1b686fc4070e5b099495583207525393dd4a462e7e47d497384a99a7b4aa0c29b5a2bddda85f586b2ebe6a7c6e953b5facbf5439ea886a0c4c858ff09cf95e6cb4aeacd8facabb8e498c133ceea1766979a873edc96060c515e203f8269b991f980e007602ae67af2482f0761ae75e3c6997c69840b2504181fe9623d8e41cf7dcc1a55490dde93166dba6f255aa14eb9a27fbb785326c19fba125bfc55e6c2a6aff048a8f946bb13a6df166db5813a3bb8c84ef40b48f4a75239bf22b0c5ef233b4878cc63c567dd96763e58bb641a12e4d41feb3326c966b26ada639ca710820627c0f8206da8c2e741b32b5893d7628e9ad32a35c8cdd70791082554ec289596330d5dd2a607b2b87941b5be715f8e27222f51277a9aad0d38cae99ac66bf29b5331c10390a5d4553119f778078a2f175347005012d9b2a77d56560ee05fd5524a67953f7a1a86f059100c2690b32a0e2faa4a14bb402a0ab8a0864af4c8973d52bbbc0a614ce8256a861f8340821a621a970282d9b47cb1f07f5d839254911b53b6b7d7810a4f263532831436c00fd5fc7d3ee00fcc288eadc314d9f85765aba91206520b2b2b19807b040cbba3b52cc9e1719999cd52c1c661c11b5435666ca64ba6eb2da70346249408de140b9096a170ac28e6dcaf41e00042403bd7e1573c30814b228b5516ab3a31c4515182e8bb6d55a38687e3617722207933407cb4626d96aebbd79331b50e0aeb30521bc8fce330b0a3acb821409d34941a7784fb549938b747364bc0cef67442fa474bf354b7f542060719982b8dce22c32768c2b8ea2fc5e0b2d65490c6b005090429b3031bdbc5c131a519d3a02b5e2b008778c123c664dfebb771f59658f17ae3fca26ab77e5ef99bed92bf1cfb222e3011beb9523d023f2ab9c6bae1040a450e6a71182c58bc88127a0858b4eee705cbc20efbc08fd1e09aee47c9c8229060f7645ef9707687274f408580bc19c5048a89b77b6ed00c61b9264267bab7b51b60709845917754a319de939cf9010100fc49fb7cce9bf0ad05185f522bc3875bb60873bf0bd62232e793c3558d74fa9383b828eb349aac1c428c284cd4798a777b7603386f95f33099393d13a0bb5ae026b1f2a483d80e0787021313295480102e5accff675695f463bc50966927a2462ba3515c928e95a6f19884b72b2fbdf7cfde7c7f0463884df5bbb7386ce0ca17b301a5d2b5852eec6659bb1ed74c5b75810c60c01234c08096494435355d7ac02b9c68630456bc45170baef4a4ff9c3b63549ebc2993c343a4001dac89c578fe0733ebe09ef8a1a7cf7c3943004d24400258628e24d45ccd5c8dbca53e365ca18b4ac3336984e4c3332c9532a77084619837d9c21cc9e22b9c6c42244a22f84848e5240a7ae2821b2a176851669c3b38d698227ef658ffc6427c231fb40ba5531279f86222168c8c524aba1794705c33c97be1123de64dfe42bc45317ba23b728ec6a3c8014e21685ccf136827e6be7d32c77eb6cacb678af0d30bb9ccc9b747837f699a8e629ab69234d4d4cfa009115f49b81ee452fa2c6ee5e403ccf4c8245b448d51912d69bcc8463aa92827be707bf7a34e55e33ae8c58e57a16199fa63fe7194082b1c8bb26d7202243c692ff2e40d2ee843245301bd9196caa3aa4366bb38b7b298c676f3801b8788ca64773f49921c88b9134145c0ecb2606cd39ab0b441b42118c1359f2a658bcdd006ed18651f3bc1c0bc1cee489c78514ac42324a49652264c077035511a553afe95b70ab81d7776524412285e44b66c7719bf07945e56cd53a72d154638f8356ba7f3439469a63335b1a4e24f5bbb6620166b5f20190689310c3767dd4437b1f28f1a880fa7a51b03f4581d90a1a5250e65e89f8ae68e7446426072308cb3cd28aa1acf3b618423e5512ce2f5e955d27682afea9cf9419f237a6c23e715f7bc013828f48288e0c3522f7f317c8a00207367a8ffd9dbc83ea0cbc9b7375407c9683787f587a5cb1505de221d9e932782bd38eac42341c29884b1442145fa2b34
+165bf4911b4e45b809195a688434850c2f400bdeb485620796d7274f32a6430b
+Ciphertext: 23e84c98725cb29eef58e1076982b3fe874449448d7ac7867ab6909ec0abb701bc5841a872c09c7031753651e467c9df90862da8734ca0b9b5d2e89d335eb46117fe0f70df632e9410f998f9b86159ddf88e7e0ee371cb42845dfaee59a44e5f5b7bfaf50b783f5855947974efab7a5e90edb5e921d4bedee92e57e2ec6b4394c28187ec64bcabed5f69bf5cf10e4a9e717ae84f641782f2cfbb65b607f83c52ca1d968410efbb793091705fcd951bd312e9c81822e25eddb87104f3c03eef1942baf96b2f43d8bf96f083c3449a8891b0286956efdcb8e31d0e60a94b623e484b99fff5dbfebd15c67ff9a38e4dd75c4f5e55509caf5b529c29dc2f52b0651713e0a36607f11736637ed5b2c3b43ea9500b7ee2d42aa6d8d855f3b5dd12f400bd2d202bdc6eaef8d343baec50c97b6f5dd707b0164620708bf6f6cb416e7a036a1d522afb1ccf9f84e18df83fdc5e0c6c9d9ad595522168d92d3c0a1d9b326d1378ea3052c71538978fba4ac26e6ceb61b58bb5e8f4d58345c2648e9357ff863c54fe0bf54653e865cc5a4545b344ca82fe693edc1b9056624e3329a30af648910cf4a366284a58a41c55499cc1f60d1bf925f7eaacf0c5f396b34d119d9c8a982b1b9229bcc2a301da21a5602d2bca19ddb6668b1ab9a37569d154cda112455b63848deca33e3ddb26973e9f3c9447cd53251848d568db1a4ede97735c3aa04d2879b6ff0f2096c03f33523d8fdd59cb115d66d7d9c24580e93378781e06f7adb87aa1c70131de5637ca9f8f95c45fa53b7edcd94a6ec80c73c4c93226af86d0c471509e35a9e41f0a28d69e995925feb2d71e622aed5175bb3544832d69af5503fba6310b0162ccb9485b7b6a7f6614603470e3f322e2d809db2e6c599ceb58eca1d2816be8593ecf59cccf47ad6e6facab8ab47242297a853e1ae04d154a875f61dc18e909a54638df6a92c5ad85840b81901c4c1f4dcf50617689f7223e027568802b39fada9e5d59d2f042b9d6ea7010930b397fefad6692d4a971788657fcd5ecf57c67f9bb8ab7115d01629759dd485c52d3c40e158c45204a1831a0
+Shared Secret B: 9e87d0ff06232d1aee298aebbeb9d7131dbd2718cd1f2a11a6826087f21748f4
+Shared Secret A: 9e87d0ff06232d1aee298aebbeb9d7131dbd2718cd1f2a11a6826087f21748f4
+9426e8c95d2100d30c5c11ccebddf1d8989f90d415964f7bbafa086e3e83981e72a5b09dc658b12743d35e164ed810f1606734e6c2190de7feee0c706a774bbe6569bdc6138b2a839a8354838bc1b593136e222f14967110ed479ea3f74246978ccc98c0a3e1e1c4ca415d8560ed7ea8c16a96ac2c730651c0fb1f52a75894794c1bcd5f8bbd2c8867b608f158087102f23aabbe416bb18d6a3b9b0773fb29ea8dff81dbdcf74693bea886faad621d6ea4b642b1ec4eef8787b47ce676fde9beeb148ba7f65f2feef1ef7eca94f505ab74a95d18c4fb1f2499067b37ab12732ecd0794568530e9830931b83f87d847a0118b0cfbec84b22582bd237ec94c0de6b7aa928ff653e2f91303aa2a2155a8621f5913de9ff58197e4c51db1f14d96ba043fdc7e6bd2763f416efdff5ce299154fa9ba0d39d2d4f845a0a0b4efd1fdacc8369383058e1b970d3dd2550e4ecb969792513aa179e7b7e8e150368f753d17ab87487d0ece79f718f3c53e5778649b58be14ad1852a95f9fb3d746f2b0431b6e74b000c96cef7a2436d9168c33ff5dbd7f4a76a2c33db51304253f97faa0b4d74a3553a810465265e304893f7e9a5a41fc57aa0e2c86e03110a183f4ae4c19d63e97e100e38472f6e3160316a71f94febda6ce773025d2e2909619ef805493508f124daf90b4b5d642fd1723f7e04d02389ddc497734b379ca780771d4f6a81bb98895d598ce69f803a329e9ba9fe69a07f90816bfc774787c17a862bacfa477478431dd913707109f26b11c55c4c1a6683d7d6c7afaf2804acd3107b04e2e13f21e6de9325db16f88faf8289d2264ee0f5c98fd69e2e9cdb23e2eb7b0a6603df54ef8e377725bf5e6d86e24a5af27b2119ab90adf0e8651134c28c878db43f864970018736bd6f4082e6d6523b7cb2790517cbd92792704b05b43f3835d5fc1d45c2dfc07ef59e67932a727cdbc3c426712a23fb74d7d254eed2109f1c8512f94efe439fe860223916e4b150cf14716f0af06f7c4bd4eed5c9b1f5f53ef4a030bfcb89783e99897313d4e8553e9c3cd925b333e695d54a7cc8891bf78f37a
+Pseudorandom shared Secret A: 1f5614dd828625514612e6dc2dfc7e9cb98bf108afa7a343cf75bb2945d1dd5d
diff --git a/tests/mlkem-768_ref.inp b/tests/mlkem-768_ref.inp
new file mode 100644
index 00000000..21e0ac4e
--- /dev/null
+++ b/tests/mlkem-768_ref.inp
@@ -0,0 +1,495 @@
+7f9c2ba4e88f827d616045507605853ed73b8093f6efbc88eb1a6eacfa66ef263cb1eea988004b93103cfb0aeefd2a686e01fa4a58e8a3639ca8a1e3f9ae57e2
+Public Key: 1bc331b659a61a04883d0c5ebbc0772754a4c33b6a90e52e0678ce06a0453ba8a188b15a496bae6a24177b636d12fbb088f2cd9504ac200231473031a31a5c62e46288fb3edb858b21bc0ea59a212fd1c6dba09e920712d068a2be7abcf4f2a3533443ee1780dd419681a960cd90af5fcaab8c1552ef25572f157a2bbb934a18a5c57a761b54a45d774ac6bc593583a1bcfc4dcd0cca87ab9cff463dc5e80ebbb501d18c8b39e324dbd07ca06cbf75ba33297abcc7aabdd5b308401ba387f533f3927b51e91380f5a59b119e354835ab182db62c76d6d85fa63241743a52012aac281222bc0037e2c493b4777a99cb5929aba155a006bc9b461c365fa3583fac5414b403af9135079b33a10df8819cb462f067253f92b3c45a7fb1c1478d4091e39010ba44071019010daa15c0f43d14641a8fa3a94cfaa2a877ae8113bbf8221ee13223376494fb128b825952d5105ae4157dd6d70f71d5bd48f34d469976629bce6c12931c88ca0882965e27538f272b19796b251226075b131b38564f90159583cd9c4c3c098c8f06a267b262b8731b9e962976c41152a76c30b502d0425635357b43cd3a3ecef5bc9910bb89ca9e91ba75e8121d53c2329b5222df12560d242724523ff60b6ead310d99954d483b91383a726a937f1b60b474b22ea5b81954580339d81c9f47bab44a3fe0c833a7dba1f5b33a5a2a459812645c6537c2317163d71b7bd7a4a5459a28a1c28659aad9a1ca9a99a363062d453355108445a673438e77624e73757c1a84d031cf0fb24b1187aafbe6738e9abaf5b42b004b1fa0d96426d3c5324235dd871e7a89364d335ebb6718ad098154208b143b2b43eb9e5fd8816c5225d494b40809b2459903c6486a1db9ac3414945e1867b5869c2f88cf9edc0a216681804578d34923e5a353babba923db907725b384e74e66987292e007e05c6766f267f839b7617c55e28b0fa2121da2d037d6830af9d869e1fb52b0cb645fe221a79b2a46e41980d34671ccc58d8756054b2cca7b13715a05f3925355cca838ab8d2425255f61135727167ad6bcb0632ebf86384b950ad21088c292b4a4fcc0e59c42d3f77fac85cd9f5cb049b3a29505a984c4c6ac98ca3d0a8f30d2b1bd9815b94b27051b40ffc3455a668b9e141428611b280c1b8f2b55f6eb04e10c68f1340ef1582115f10ee2b785b7ebb0ec3a0c61670cf48107b594cd6e238e0d68961b47983b87879771519d2b7c21681cd494b420f03d004bb06eeb54f9c080c2f2aff6759074d5b3a3b11c73f1af6dc874eeec254d5409fceaa90ff66d90b6930a540fd1d9be1844af1d861ff96a611a414a6c61a78fb2a78e74383ab05ebc73855a818a627242d523a3e2a35ab4285b4a2564f76772aaf8cdc9f87c65f1b4b5819905fb4f9ea59166fbbdb201c5eefc0df7418ca211b5b079a511b8b94429847b537fbed82d57632d63e815d8212d8a280d43328604a6c4d2c1887e7ab061f120a0168db2f4735369b193780f0aeb381ff2653f3b46e206afe77a7e814c7716a1b166727dd2a0b9a7d8aeace425da63977f8103457c9f438a2676c10e3a9c630b855873288ee560ca05c37cc7329e9e502cfac918b9420544445d4cfa93f56ee922c7d660937b5937c3074d62968f006d1211c60296685953e5de
+Secret Key: 24c59d1c7603e7b74bc7aa1bc2cb3a214b3cfaebb63bd85b65408427c498ba394371bb271f92a3b506b81d54a95a7c0ddfbaa1519553d6f3cd5a601b7db6b0e91a5149468f1f68ad26478bf3c6670e093ac4c49e7a90ba46595de94c50e04129a811a841b39534a87f0ae7b1116553e20c9a566b9b8ff7c7e728b8b201893403a4f252a55230874c256b897834cda349807b25cbd75a30867bfb80328200017f1cb70b56cc546b65d3dc9cdb45107cf10dba349619043ac35c0b9546309a239039813ed5c40f353a5e8e42193564496112bda56cb38c081df252ae9c2c7e441a062e92a7c8da7a240c9952d86b5f1bb6a53b38a5ac0a54a84b43f12da1d0525655684a12090b60b28b0c628db092015547d1070af5d6192e639636615d03c654bb90008ca15b784119f6178a00d7bef4a54a274ac922e55c61a3a8840aa258639484a3bce2e43b6c969b11275631daa129a61ea0e2939f0877e1a110c8a44b24c54fbb07a958db9feeca1eb52b086c87bf43a9b02a5b2c4762117c3a99ae4c4e2eaa7a33b9a714737215c10317514f6c4299ef92acd64c4858e85ce737a801890022d7381f3540230c0c8ef50a848a28b09ba0bf8b50619c905751601d7629767449c9c0b2bae321f438a77f412a55e45ecab4b39053c6561801c639be6495be8fa144ef6029af663407ca9181946de5f3aec7236343ab3bc5a38a09c01b412baf0afb23f9e9b8f2b40810f2ce4ffbcdbfd87972323e98065160bcba34b3afd6c25b664745fca99a9ea75cef019d768485ec23336d9b39e4d05d8d587b30633d4f69ade5753a39680235e44f27995da96798f3a85e184a9fad19320829629f4140417bb7dbf5851ab79258134146d088452774991a087a1c2beaea89f218087ba774ae253b494c27750b1de04b44d953c5e47ab10f65205ee212f9c30391e5299553954916873a0b41164543e801c0b099cb44f48995675823c10b40f4bbac9177a558ca0c30765c2aabfd6a4da54c8413e33902d63f064330f0464982429de2604cd03b4de84a9f821a5470423a40a964dcc41863363d77b02c3127304f942ee71c98c643a427533ef300104948b825277953aaabfd855588f75a77d199a213ad348116e9e539f6d37068a551c710548b7a2c7ee95f9cd9b3483332673cc44bcb18a778a49455c768e0b340f81102ac6b76b064057151ef101ae143787f548553558df8035a3ce00c9c43cda43142cca39034b09a7e6089867b4c64980a69ecab2e6818724c35cb909d5d45bc6a349c71b306567664adc0cc8ef698049b4b4b432dd0f69fac07580f77c4f79b22bb90cb97b341880716853431694c9120f6724ad58d57127fced999ff6229a5d4c3c240129cc812acc73698f949d8e73661f2528262bfccfa5cdf5a2104649806e295ea161217083365aa26cee6ae2f1356e8e1c5cefcc85703447ef1160a1b4a0e8c017b173802c66c88ab70d39a6c96c1569d5a86245a7eeb087d682219080768745b44bf244f65b567b2658dbae6962ba52b322118e214cfadd7cf3502582dc9cafba952a9637ad3600710259778d99d23f8235da90791604b4f0a4f7640680f59b633d93dfb84282ba54c674b115684a41bc331b659a61a04883d0c5ebbc0772754a4c33b6a90e52e0678ce06a0453ba8a188b15a496bae6a24177b636d12fbb088f2cd9504ac200231473031a31a5c62e46288fb3edb858b21bc0ea59a212fd1c6dba09e920712d068a2be7abcf4f2a3533443ee1780dd419681a960cd90af5fcaab8c1552ef25572f157a2bbb934a18a5c57a761b54a45d774ac6bc593583a1bcfc4dcd0cca87ab9cff463dc5e80ebbb501d18c8b39e324dbd07ca06cbf75ba33297abcc7aabdd5b308401ba387f533f3927b51e91380f5a59b119e354835ab182db62c76d6d85fa63241743a52012aac281222bc0037e2c493b4777a99cb5929aba155a006bc9b461c365fa3583fac5414b403af9135079b33a10df8819cb462f067253f92b3c45a7fb1c1478d4091e39010ba44071019010daa15c0f43d14641a8fa3a94cfaa2a877ae8113bbf8221ee13223376494fb128b825952d5105ae4157dd6d70f71d5bd48f34d469976629bce6c12931c88ca0882965e27538f272b19796b251226075b131b38564f90159583cd9c4c3c098c8f06a267b262b8731b9e962976c41152a76c30b502d0425635357b43cd3a3ecef5bc9910bb89ca9e91ba75e8121d53c2329b5222df12560d242724523ff60b6ead310d99954d483b91383a726a937f1b60b474b22ea5b81954580339d81c9f47bab44a3fe0c833a7dba1f5b33a5a2a459812645c6537c2317163d71b7bd7a4a5459a28a1c28659aad9a1ca9a99a363062d453355108445a673438e77624e73757c1a84d031cf0fb24b1187aafbe6738e9abaf5b42b004b1fa0d96426d3c5324235dd871e7a89364d335ebb6718ad098154208b143b2b43eb9e5fd8816c5225d494b40809b2459903c6486a1db9ac3414945e1867b5869c2f88cf9edc0a216681804578d34923e5a353babba923db907725b384e74e66987292e007e05c6766f267f839b7617c55e28b0fa2121da2d037d6830af9d869e1fb52b0cb645fe221a79b2a46e41980d34671ccc58d8756054b2cca7b13715a05f3925355cca838ab8d2425255f61135727167ad6bcb0632ebf86384b950ad21088c292b4a4fcc0e59c42d3f77fac85cd9f5cb049b3a29505a984c4c6ac98ca3d0a8f30d2b1bd9815b94b27051b40ffc3455a668b9e141428611b280c1b8f2b55f6eb04e10c68f1340ef1582115f10ee2b785b7ebb0ec3a0c61670cf48107b594cd6e238e0d68961b47983b87879771519d2b7c21681cd494b420f03d004bb06eeb54f9c080c2f2aff6759074d5b3a3b11c73f1af6dc874eeec254d5409fceaa90ff66d90b6930a540fd1d9be1844af1d861ff96a611a414a6c61a78fb2a78e74383ab05ebc73855a818a627242d523a3e2a35ab4285b4a2564f76772aaf8cdc9f87c65f1b4b5819905fb4f9ea59166fbbdb201c5eefc0df7418ca211b5b079a511b8b94429847b537fbed82d57632d63e815d8212d8a280d43328604a6c4d2c1887e7ab061f120a0168db2f4735369b193780f0aeb381ff2653f3b46e206afe77a7e814c7716a1b166727dd2a0b9a7d8aeace425da63977f8103457c9f438a2676c10e3a9c630b855873288ee560ca05c37cc7329e9e502cfac918b9420544445d4cfa93f56ee922c7d660937b5937c3074d62968f006d1211c60296685953e5def3804c2dad5c36180137c1df12f31385b670fde5cfe76447f6c4b5b50083553c3cb1eea988004b93103cfb0aeefd2a686e01fa4a58e8a3639ca8a1e3f9ae57e2
+35b8cc873c23dc62b8d260169afa2f75ab916a58d974918835d25e6a435085b2
+Ciphertext: dbc93ed6dddbf0f8ea2cc110825de4b431acd112971f7b8251ee6bbc8d52edbe964b76572a7ef4087053ed24da4e0de1a92ae83c608916cfdd3b035cdf24fa9362b460395f2cb7bf307fad23034b7ae5e8ab5c739822e6ce352dd74f8735793ffc68a58dba3889e0cf510bd541f2e07fbfa94935ebe44f24f5840c3385c23a3511ff48b56d0776afbb4a283bc12019cf6f48e941e3fc023483c9d3cda65fc6d137d705d6291b061184003855a92520289c2d3c9e0bed44f4584915c2905b5c3dd50b8442fd056131d371302812972d71278ef52984916c47ef6cbf0bb9e3edd8d2212096e2adf63b9e8f8e24ef2bd82c3a7d6672afdc65ec53e16c2b558f250eff23af65c4ada50dfa3fd4952a055ff673718a71c2216118fa353af02abe5e8db2934a342cd16a8214a951182cdf768eea1a75310bdb4a7a914b0facea12897c3e48b5025d3a2460d33585acbea2daf85c9933402a086d0b30ddccd2d238c2fd8c8792e1add8876936517d77b10764d6d4cc52bc032ef2a5a7d23c7bc97435f40fbfb292965c2bfeabd82b6b3b66bb7d6950ed3a9fecb0fe5b39d386da489e429065fed4eda821071a387181412ad4210823363ecf52afd457f17e1c314cc65267a9b9ce080863be570f0aeec3582bbc66a213f9c10d39da78b9cd813fb7bb7540b8ad39a1e56c33bbc22ae0b68d165816d7564a15066ef025287f143c2c1ba72cdb8f4ad2a4e9892b186ae97c2b1bdf857e93d0ad764fea7bef4341f1523a9f1a98d90fb7908916e0402341d93ee36a5a83c406230fce1043d556bdf1fc61debc955d5ef4b1df14dce72fb0171280f30d5a7c08012e00e0255c541aec3b4d2604909e3146b646d0a395867eaa70eef442c71cef43e7fbecf44168250fe413019815cbf1e80d1df26ba00c5e2e8145b07fcae35e069a2ab873fd563e92a573913ce6ae091f3fdef9b46f36497d1714e8f11335dcda0da1c631074037c47afd747efd1a2d26e6a5e9babb6a7ed77b6d849f8ffe0c937a42b8d090bed679b3c13e07d1b27e7977160c640d86681c7c8b6c9efd812c4026c6e1fcddaddf5de2a0b4cb549bb9d8cf3846ebe50130a07685b34857b1900f9970b0bc37f9fa3366a71664fa9b5b7693db7a3c88718890520e2fc5c9ab094af9e6f471af014b4bf142314691ab1fab4b659fdaab0c7684b410f65f38cd1605111dddabb1935e58ababb89befcacdd4f712ae2b9f8ef081ab7f7d2b81933475d260bac158482560b7c12743c014d1be0133f9f8b0498f330177123a5c4b936373f8eafeb54ba47b1eb58272275b6e879d64ab4badbd65854023df67bbb881f8c1c12aadf07815f15477e329208eed2d8cf85b18899637136eb5c2a0bd705cb0d767c3698cb258c538d555d18e2de24835c22bfeb5b46bffaefc112bd613ec08b03de660a387ce0d40300df71f970d3e57d332b7e4198d297073c9f2ac807330a7b103bd78707ede488293fb2591363b3fb1775fb35ad6a3304bf2a841c92572efd8d874bb25a50ee8d726
+Shared Secret B: 8732207bc00117fe0639b31cfc6fdbebb80ad2e98af6bf01df0daf16050dc405
+Shared Secret A: 8732207bc00117fe0639b31cfc6fdbebb80ad2e98af6bf01df0daf16050dc405
+badfd6dfaac359a5efbb7bcc4b59d538df9a04302e10c8bc1cbf1a0b3a5120ea17cda7cfad765f5623474d368ccca8af0007cd9f5e4c849f167a580b14aabdefaee7eef47cb0fca9767be1fda69419dfb927e9df07348b196691abaeb580b32def58538b8d23f87732ea63b02b4fa0f4873360e2841928cd60dd4cee8cc0d4c922a96188d032675c8ac850933c7aff1533b94c834adbb69c6115bad4692d8619f90b0cdf8a7b9c264029ac185b70b83f2801f2f4b3f70c593ea3aeeb613a7f1b1de33fd75081f592305f2e4526edc09631b10958f464d889f31ba010250fda7f1368ec2967fc84ef2ae9aff268e0b1700affc6820b523a3d917135f2dff2ee06bfe72b3124721d4a26c04e53a75e30e73a7a9c4a95d91c55d495e9f51dd0b5e9d83c6d5e8ce803aa62b8d654db53d09b8dcff273cdfeb573fad8bcd45578bec2e770d01efde86e721a3f7c6cce275dabe6e2143f1af18da7efddc4c7b70b5e345db93cc936bea323491ccb38a388f546a9ff00dd4e1300b9b2153d2041d205b443e41b45a653f2a5c4492c1add544512dda2529833462b71a41a45be97290b6f4cffda2cf990051634a4b1edf6114fb49083c1fa3b302ee097f051266be69dc716fdeef91b0d4ab2de525550bf80dc8a684bc3b5a4d46b7efae7afdc6292988dc9acae03f8634486c1abe2781aae4c02f3460d2cd4e6a463a2ba9562ee623cf0e9f82ab4d0b5c9d040a269366479dff0038abfaf2e0ff21f36968972e3f104ddcbe1eb831a87c213162e29b34adfa564d121e9f6e7729f4203fc5c6c22fa7a7350afddb620923a4a129b8acb19ea10f818c30e3b5b1c571fa79e57ee304388316a02fcd93a0d8ee02bb85701ee4ff097534b502c1b12fbb95c8ccb2f548921d99cc7c9fe17ac991b675e631144423eef7a5869168da63d1f4c21f650c02923bfd396ca6a5db541068624cbc5ffe208c0d1a74e1a29618d0bb60036f5249abfa88898e393718d6efab05bb41279efcd4c5a0cc837ccfc22be4f725c081f6aa090749dba7077bae8d41af3fec5a6ee1b8adcd25e72de36434584ef567c643d344294e8b2086b87f69c3bdc0d5969857082987ca1c63b7182e86898fb9b8039e75eda219e289331610369271867b145b2908293963cd677c9a1ae6ceb28289b254cdeb76b12f33ce5cf3743131bfb550f0197bfe16aff92367227adc5074fe3dc0d8d116253980a38636bc9d29f799bbb2d76a0a5f138b8c73ba484d6588764e331d70c378c0641f2d9b6fd7c090df5a74604a1324ba0cc5c447b2dca644a50f1ad0477a701b9052ee9bef28833476343c82af29ff3a9b1c4cf12de559cb9d9411f62bec838121fd74bc1fa712d8add51505c55e89a35deaf7a69dc0a18ad27396029cbf89f513e1b8f48bc01783d6849fb32f211a4c87e16bcce0c41240a223ba6d69e0c51569f73cb107ead84d14dee92702e3a95eb844c716aec9829d06591ebd2501a3283cc0ffc0fdcc031fe8d865e77fae5d6bb73815d9ae376006d0ae320
+Pseudorandom shared Secret A: b877da792d89f28049b590121601202d2bc8f5f1af8382bf4f3941050dd5172b
+0c24d84c6b14a8471845a7522e7c3d0db9aea0cfce467be633d4d46a5086814da467dc73403c987d8fda5f6e568291dda40d7681a07eb9f80d8765c734bded79
+Public Key: 4bf08ff68a039e252425135d4db95959355eb91b0a3d39a32f9126bec86d8fabc1e212bd3ac91a37950ac5d43686f73ec2ab920486658e0903dd74c606a9b0702027aac2426e77c238d4574edaacd7449fedc550a0964e2aa0a73e5a27d1d20a88482aff96885c059f2a27170c1274d8cb89b10ab21c11be8ac629733a8f1146887a1191a90c86f46a7f2a457089d66b1185090022aa4753ad95728ecfa23ced955a383150d784b13b94c8aa00ba1da86abe760fe6497d67926d13741542b0122c4a70c9851cc2590c4bd1481dd4ba490a1f80210a61a58e3382425e1520d5e3070aa39498076b21db7223d31592624b42aa9908ebadec3a6c85dbaa3a4290bf23b00659b429fb467b97c839d297b8ebc39eb893a20421c29bba03f096cb2bc5126449bb055f9eb69d35829680152c8651cd49babed9e040e9490fe5a4298316024cf99148a17de8bb78ba3060a87c4dc77955e3270f88d72e1bc3b98aa76714460706092ce30c642c4bbe43c0c7b6c8aaac5035f04432eb21a8ce2c50ca4870a2052c1543801b9a26754c51dbe5ac3daa234fbbaa705ba0f903c2e6f17a3066bd36174168f5c58fa675c122cff66a2e6a643fd4b98e8643363eea5b937354e504703beaada1e669a527a12665696498c42da54b4ae6732d083d9fa70b0c279e003b83e850c7885a1bdb42318369bceb0189ebaaba303515de16571f4c65463369f92a1e86d0935709a29742505189866a204d108a15853b484f817033eb793171535ee8bf9f661decc0c84a15a6925c4c65f19ed9448a95e116cb656f80fc731b1778b90084e43acbe1c81981169d41713b22d090f0c35d62534a83796d49d627f4733f26d240c22314850baebd762e23c47cdb148ff3d081fbfac78999ca0fd632c715a147c08799f80a8dc61509442826dc412e317ff72298d7f203b3d57c53435bbc30c473e0646f1294b6e6182163334eb6cde81150b29060c7d042378902a198a2bc3239d103970208958bb664cd48a6405b122006481675626fe3406f2c339d347ccae79d3eb226cfd50804c556d6f1c7aca8798d26be8465a7f3d54d87526c79da325dc9ae7a09758e970863868a3c7693c4da54e84c9685281208617f31c08b03486af61cbe362029449a119179448af2721851c242c0b32b6b179f1b5978f07921b0afae9ac9a2214250f9951ed646c2563eec038e52d5b4633652ea4768b3584619193a8eb60e4f6527eff12358108f8265b7c7e362ef85cf3c4b3e338446e178c078c99854939c768320bb3b63be29c5f173924b739d9bb2238298ab08f3cb90251d8f97b435592e492c81fcc31449d0c571d6420ae78f59b1481b37867b604285c415dda151fba92a53c762805a906d7379b728042a5c50d5165263c66c6dc3440f14c157e75985ea56df9456b98b2bf494453152404b898f87a013799ca2824b7e5ae499bd6423f2d7726b89be5a4cc6af36839aea06c780a294ca072e447beeaccf81f49bf531c6273c081a3066b8e35246d72f1a98cf07622fcaec6ce7c37029445b7d9233682065ae28ce4902a9458403990406a3fb1c3cd5acbc93344ed47e54621f6a545777d88312bb7a7161611cd832e967830c24202228efdfc6b89938eef9046b8ad3a0b810e2acea081333a71459576def292af7
+Secret Key: e648438856b5ca416eeea82f6dbc35fe089f67dc7fb25680edc039fe6128138a0d16a44195e58fe33cb4d7dca9bcd57ace1933d2189bb8e96d500bb501725a3bc27bf936b747da516c056a150acdad1c6b31fc85da357d048a014ae8c6f79736ace203ad4a0fdbd743ed1797523623eb9206d60ab57ab579cfe9662cb43b27c29b4abc098ae385cb115867f71794299eb3096ff71bc38c661e2ec3c37596ca45237d35ccb35b822324010aac324e0290b25d868b2d295ed8311fc0a29a8dcc08bf545ac05c0a8185b32e9313d7f71018a07cffec186560544c56ce51c373b3dcc43e5c9115059928777e5347c987e939b98436b3ba6953258e534259099395fb14b462d672235c168fc72a1a7a01a53b29eeb67cfbda3fa664b696f52686d8b9d4bc6e179702be512484b02beda86952a0cc88db1e4967c0b45a3dadf590e3e19606ec09f04c8499c6adfe24ccf820138744555b9c0319daab49c00c1e997c27352a81904543183701fc26536720bd729db32a803da53f2ac1c01b552eed146a74f7adccca159a8c88e09cc885a8a7ab030fb8e011ee0703966b6321eb24af8087798317586b41142a429a64b4f5a8a38b00765d62caeab1b96bb68c53025d44989b00f8a3c8ea1262d79289fa436d8726f5d66a525700541ccbeba6180dd84b96f11ea2c799b06ca79ec155a53b3c647b19042cb297601ca352c1c4e605f6bc8252301199f184e80a7f1d92114e7474be8081a3c82343b194b3f99992e20ad7d991501c47fcd50e28ca8e41c807ebd743b5e50bc83924b0307d4c618fb48944f8f0916dfb9381d696d0377bb5b64d14a6c181e98413978cc35878ff107fe2cc28735accda51ceac82b28bd70601c05125512b87b6a0b63a009d490b18d1bf17c31c18b8058cc709826b99ca3241ac550917ec92bd37012c9b7ffe909d3c85606666112ea9af9685878cec344d3a8fcfba01d8475cbac0a688a9230f50a087bb9e79c321d1c12a481a9fff8a99fe042016112c33765a721978a369147c7b4ab6255c2577043b379ff15bb5fc148a5069c33d3017a47a80bd97c2146c5c51282b36189ba9d1883d186a02c0652216728ca4285b1b908272161b391ef3cb9323540ec6e96ba048339faa982a67c66bec8aa9273f86042a48fbbcbb3c372ebc97c3b957cf6366bb70a5a747a5e694a463bbcb11f4a6de5c602c45a4b887220e26b5d8665eb0276f4c2545361158728824acba86a78c5980245568533e3803a552e89e59b341c284440074b171c76072db74563042da3c26529a40a3a3025791384ce87d14638b635a3b45218c872635da6a74acfa0d65fc0a5b0917a35131be894bb23330403b2ed3ecc00dc2c8212531fec60a8515502057234a0bbe3e9023a3f8346d006474c8b70c73aaaf28528247352ad2c578a6647f7a2af390a02f2117aa466acc290bed8632adb96f7220989e5815a6b3815cfc565c2448fa59b1eef0c3c9fc7fe123703a4c66fb1894af36458a570436568fb1205bb2dbc428bc5c07078f4b2b7bdaabcd2c8617dab043ef28b1f1c64695166acab93042f737139a7b1d91bd4d54b5617298ac769bc2f32059f96542fa77ff134babcb78843ba0b999404bf08ff68a039e252425135d4db95959355eb91b0a3d39a32f9126bec86d8fabc1e212bd3ac91a37950ac5d43686f73ec2ab920486658e0903dd74c606a9b0702027aac2426e77c238d4574edaacd7449fedc550a0964e2aa0a73e5a27d1d20a88482aff96885c059f2a27170c1274d8cb89b10ab21c11be8ac629733a8f1146887a1191a90c86f46a7f2a457089d66b1185090022aa4753ad95728ecfa23ced955a383150d784b13b94c8aa00ba1da86abe760fe6497d67926d13741542b0122c4a70c9851cc2590c4bd1481dd4ba490a1f80210a61a58e3382425e1520d5e3070aa39498076b21db7223d31592624b42aa9908ebadec3a6c85dbaa3a4290bf23b00659b429fb467b97c839d297b8ebc39eb893a20421c29bba03f096cb2bc5126449bb055f9eb69d35829680152c8651cd49babed9e040e9490fe5a4298316024cf99148a17de8bb78ba3060a87c4dc77955e3270f88d72e1bc3b98aa76714460706092ce30c642c4bbe43c0c7b6c8aaac5035f04432eb21a8ce2c50ca4870a2052c1543801b9a26754c51dbe5ac3daa234fbbaa705ba0f903c2e6f17a3066bd36174168f5c58fa675c122cff66a2e6a643fd4b98e8643363eea5b937354e504703beaada1e669a527a12665696498c42da54b4ae6732d083d9fa70b0c279e003b83e850c7885a1bdb42318369bceb0189ebaaba303515de16571f4c65463369f92a1e86d0935709a29742505189866a204d108a15853b484f817033eb793171535ee8bf9f661decc0c84a15a6925c4c65f19ed9448a95e116cb656f80fc731b1778b90084e43acbe1c81981169d41713b22d090f0c35d62534a83796d49d627f4733f26d240c22314850baebd762e23c47cdb148ff3d081fbfac78999ca0fd632c715a147c08799f80a8dc61509442826dc412e317ff72298d7f203b3d57c53435bbc30c473e0646f1294b6e6182163334eb6cde81150b29060c7d042378902a198a2bc3239d103970208958bb664cd48a6405b122006481675626fe3406f2c339d347ccae79d3eb226cfd50804c556d6f1c7aca8798d26be8465a7f3d54d87526c79da325dc9ae7a09758e970863868a3c7693c4da54e84c9685281208617f31c08b03486af61cbe362029449a119179448af2721851c242c0b32b6b179f1b5978f07921b0afae9ac9a2214250f9951ed646c2563eec038e52d5b4633652ea4768b3584619193a8eb60e4f6527eff12358108f8265b7c7e362ef85cf3c4b3e338446e178c078c99854939c768320bb3b63be29c5f173924b739d9bb2238298ab08f3cb90251d8f97b435592e492c81fcc31449d0c571d6420ae78f59b1481b37867b604285c415dda151fba92a53c762805a906d7379b728042a5c50d5165263c66c6dc3440f14c157e75985ea56df9456b98b2bf494453152404b898f87a013799ca2824b7e5ae499bd6423f2d7726b89be5a4cc6af36839aea06c780a294ca072e447beeaccf81f49bf531c6273c081a3066b8e35246d72f1a98cf07622fcaec6ce7c37029445b7d9233682065ae28ce4902a9458403990406a3fb1c3cd5acbc93344ed47e54621f6a545777d88312bb7a7161611cd832e967830c24202228efdfc6b89938eef9046b8ad3a0b810e2acea081333a71459576def292af7f21972333efed4f5f4a43c81b7c7f0f0cb5c1fe816dcc2ce7256d36380c09276a467dc73403c987d8fda5f6e568291dda40d7681a07eb9f80d8765c734bded79
+fcadcdacf4816800fad2888f935ef77e72aaf288ce1ee12edb5ec1a6506e0b5f
+Ciphertext: 645e2601064c5a4cb88a016da7a792c9644ab20893770280093c588780f15a7a81e6122d4e2fe36854ebc8fb2b470cdae1ba48b09622feffef805e97fdb68361e77536cfe6ee6c0dedbd6da240e4bc87195620fe4bed32ff5d2f449c1731ff7678e0bcb50aecbbb2c240efc2a5ce4874884dea0438012c7fdfac4f14926f04613ba301d041b692c314f4a86356ac98fe92a1f01fb29e7928c2e62c2f411de3073e52050c7d626dad8d510bfcbf992e0ed24ea574e643304c40a4bdb2cb36cbae6be2c2f2e83ce6b33adc02270c61b5c2122e282ea9b2ca75c3c7d4e0ab219b38941f9742a80812e55f61eba2d7e39342275661c2c83bbe3dba57bc16c1805161d8820b6d31659f8e63cdec2a9a4df9981058485e6bf16355dc12c762ce21672345d8036efcdd2ca7aca179b1f6646c77d4d4a106ce2c7fb9f0239718e4d3e19b2e153f2e6f361fd83f5b2f13ad00c8ae9463a392e3e338246be295a2a24fafa73c6deebe508bdc3d58c4dc96ff31fc37ccd0a218378220a526cc688c5f80a676fc2c4abea940bf64579c4a4c170c8d1962d446e8629b1bc441078b98e4de34e5a9e14ed7fbf301e3102c80c0d09cb6d5bad9109c4a414be617e101a52e4b932904fb8056b06831228733324866c02c820acc8f508e680b357b06781d843ddc2e0d3a90186f69d28d5abc4cc8b8557b7638df161d0d6a24eabdbcafc5a797ca85d42fc45eb48e0fee38c4ffdf5cc1ceca26223525f55f3ef5dc79373d45ef52bc964d74485e8d56c0800315216e3bcccf5b59dd630b8614db9632c019ca220bced43f15cd04bef67d3c8a2ceb6ff033cde62a9d279795604b4282ebc5d14964ddf9cd2b8c55ad2b350988e133b8c33c81a2e67fa2e0dbdecf819eff3ca935057459d1947b2f6268ac6f77f366fe9218097c8ccc96683db3b8b85ea7b6e0c8fc836adaa6d1d2a147c4667cbf6fb3a2f1187e7aa789c9038f09ede397bb75e6b2b0d3cf6152cea52fb3f4bdcfdf3bd3f0ff695faa093af3783f2e0bdebe615b41147a41d5d95d1f0048432e065bf2503846f5c2277f976bda3bc991eb483d5ee16931aac8be41e71673e3886d54216bfe03f55787c0f29c061aaf12ba9bfaf0f42583f618a14f2c20b26e69c32eb606b00c71e60d9c55784bb856df0b6c241a49c70fe89df0941b4430187a7149d894b7b412fda79b43a898b29122795687563330788c5ed6ab13deb1c872b3b86f4a58a310630d6d81fbda34abbeb383a87688008914d496a8aa3b14c805cfb0d3820a83b2baee9ad502748eefa0cb5d8fb02f5f1d39d95cc9a15026328254216fe397cb886fc764e4617c85851c924bceedfeefb4843cb0ac3fb81b53e26229979e664da0ddd73b8d1c33b677d8614626e92b4342064a798b22b123d343ada9cd2071e1c11a4cb5ff1bc4de0ca8326ee8365fdeec31a452ce45650adeeff486a70de11f0ed7f5202fd7359e9b619fe8492f4f0eebc09967adef942c2b3a272567bedcb6df4aad018f46f2992c39768b13c0c5a9
+Shared Secret B: 52433ebb384e336732f762cdf2827f1629cdeafdf92338bbbfc97d8e8706e2b2
+Shared Secret A: 52433ebb384e336732f762cdf2827f1629cdeafdf92338bbbfc97d8e8706e2b2
+d2e4395863c29b6125a26f639f25018ebc147a306ab05eb4d4804327c9216d59ca328d5f5f1ce0eebcb35dda72c85332c6cae642c1c539498fac7d0d2ab2fd3e0e1d90ab9e451ac914c664f1ae34209d96ebb92d7d93ba3e99699827a8fd4835d79d93683c52087dca88d0cd4b33aae8e01023ffdb6633dd049518a7e9ab679039a691dd6a1d5c825580a07a686d43e85f716d87918bb6c0a6fab7c8fb8a41c70d61963fcd3579a69b863b8b9607c5b288e775b9411d3a2d8dfe973db3911b2a83b4f5d6873c6a13af1ccaa460f00bb555d5e9672885d877c1d867230cb56137df134b7304b281b99995024cc942a1a081cdd7040ec432db72fc41f77b637b1ceba3a6b0c8bc96466e4f5d725b698e65d8f4d1c1488147cee888ca0d9be1f86af926abd878b253b450daf33c721cf9edde455879f53407656b28a87f4b571d222e93909d8437b7ba57609f3987b2779fe89dd63ec52ed496b81f0e1362c6554fa93a347fb54b08058b64ca9b7d08254a564614e39566584e4f9bcea365b9dfae2086c3374f5ea5adf8bdf5a3c6833efec934d4fc23a7d81c4aa217707ec114a1f4999f8e6038b6b6b7dc806a23ceb21c757ca6c46071154f20b46d2f2fd2cd7cb6c397d7c76cc8b0068ff8f1002de8a73f7f1a7bd6e39135236852b464fb98c387e1c43616d983a7ead5abbdd6a173b273bf206e4cb454a4610d1a995bfdf8c15f1c9dbed07ed397efb8dc87ef42fabf6f705c23ce083b92d40c5772e14027cf62f2f77376ed43035464b6553849a3c69903271a4da9215a3a8a699774325effe316afab4aaf5da34790fce0b70263913095e7656ecfe1efd3484818e3278e2b216c9c6fd2949415adfeffbe9d78e92f87bb604da298b930d642e7dcef466e6ed57edc976b82e6600635178972a821842195ecb9ad10c6c6f531226fb849544e3a243f68d1252bca4af90fad9f052c97e49a0023cba500e31c9d23699298ab57ec6dfa57cc4d76143609df285f2d5d2c96a9ca2c861e5cbc30f46581ee493cc888ce97c1dbf239e4c4a6b95b9588e68510e7e33816e581d85fc48a77254c23bbd43f2ed13c42c76404ff89a9e02348c7e17fa1e25d4b80ef0d7e33cb059da8060b9ab4c248504e3c181ddcb010d446698bb09f66392624ff75d2be6af8fb112f747f136ff7f1cf696cb48c9eef6f0188d596c215e83544d42c13ffb662007f876b63552513f63e996b0e13be363c8b495ebe659b26dbe8f697700a3c19dacc9c1b5186f6af281ab44bb74b892a3fd596a7628adcf94489a1aaf805d9051241af1612e2f945559d5b822ffe72bac8c8206985997c73f9f2dc0b4c68edd6b35525edaa4b5b4d29fdf09e3fbc000af2da709f0370da3cdbe2f2764759fb32170a901ac2167d5ff4a6192fde39e024646a0de21b9c7c9e59f6f254e6d6ea1c4d72471759c2dea53126fcb7dc9300e7eb80dc62502c18d071cb066f81c3902942683b9a37b0409234aaea9482a25199ea657f10cfece030589103c75b815fb98e500b
+Pseudorandom shared Secret A: 8f14195b9966457b825e32d53dd0d6762f18f957e2104b7a57c375492305dca9
+4105efe4325ddf1437c4deb8f4bdc35ff742353ef693fa535cb1cc003cab6fb06ba7881736f2fc4bde18ec531d0b7b75d22a460533a65ac12de5f1c4b57fbc0c
+Public Key: f04543f98a47f62b191e263508a930db0c3629877e6ef7056fd40ea9b86292072b123c4cbb4046c935387e6986f6187f768467358a5845a198b6e3123f50b883b49819f96f6b23593ab647cd574d84a53fafd1320c81780d531d9cba102f1382f2f278386c29d8c17089828b420cc902c40eca788e3bf0662be6b891297b56a6815bf90132b5ce26a883ab111be6db577b4466b630173a0771e628804164caada20543e14c8e07be13181c93167e4a3112bcc11bc0c504d86b521e1cbe85d444fe466423949c8dc6a6d8e01d2991cd70ab2eb119303e44b7433557f39ab29f3219853b4ed9ca167b922444761ab9c381a73ace1478cf17f54136d99ebfb27e521c83b9485d2165cd41174943e47de76957e6a21e733a770d22711a57400d2a53264ac6164574bc584d33f7a3ec8b631026a816b911e159596b0934e4812465a41e713974eda8acb3432b9414aad7b0ce2d531f6244a94a80315de0662763a3e0d3442cd0701bd3643ae2795e9827e28305f7080873baab029576d329cfd9eaa7be8695a31978ff7890d0c70b4937107b54b51b32bf30818c888086013785ab84ace89c519cc419fb751e0950ca7cd9437586bc6bd39ee6892c58fc022935a112b20a3009431f87b2149c56977c32c4f960fc2b91937811964454736905b881904adc49f5b74fef29013011a646ec6427298b6b5acf5648211eec6643e93b411cc60b33396338831f2a52bf687a56e0cb02d6c84363aa7a632fc13ac102f405516226ad256ac36a4c41b7b12f16cac519c7a1d72610203b3034931c13203672b24209a658b23c176933ac02420485ba573348d90235b8902cd660b88fc5278371af08241c8e743b9d81c9f893b01d1ab38d207f92a51f07f10bec901c0104a87a775555570cba2984a31cb0dc734b82bc27439352eed560d4da0239189d684843025552742a1c2249513c40b9ed165769644c36958fe0006748f87978c83c5b5c92193c2734162f89046c80a552f567a58c533bda0700722312c7d12f0636afe75baa16db7be5a594fa893130eb39c4a69dbfe40c958b0ba389cf577c1cf1220a31c182077a839480a6cb7850c7917788daaefa604c851ccb3adca4489b705cf635704892731a8422e1397ad4597b04bbe8125c2d90b5ff9149759a5d4df244fcda98330442ed26afec358946e59b7a378f31261b36cbcb7c728dfeb21f0e10195736753ca81ec644a9a28188c0281631e397e63c5ab0742607546175f057b6039d0fb13be4bb23847ab97f7792bf74627e19038f36b06054c34ec23e22166be56a8efd6b5e9923aa331737bfd484fac424c6c419203ca4400c0003376605d44b60368f4e526599c45866c64945b59869465f84d1014e9a8070bb53feea83280bb9bfb006e6e4bc30c22ff3246366d639cbe3ac4cba543d134a0e5513f7d9a106852c584542f5804d75cb1ae483cc4fd223caa52d1e84a778c09a90cb9cb7310a6551c32d0aa32119905a0ca878769e7e46c82b53cf31606dcfcca8fbda86eb9a1067712e76723774d23b4c54c9aac3ba02fb996c6a322f085db03c2145625f1d306fa7934747eb0d5bf2271ac637f1a63682070fe5c3a0e949a13a9bc75ac94d829dc43da9c3e3e1dfbdbe4d73da0982be73dd7a6ffcbd0625393795bb07ac06
+Secret Key: a8262a8f917663e605fdc7ab2e028239796b40b8c54290709ea970b7b2b0fbb02c4e109287542649750c74196fc2dca223430c5c31c0de3b6ed4757114362200ab72fa48cd87771f5593197bda5e19d9b17ab198a4533bbfc99363f09b94e7587d55b228a833305456231c8b84e9071112452a0a462c20152e91a2fe2bc737307145e38f44da90b4ca543f809d9db687989a9b0d9ccc5a66294b34c17f4505849920dc16c8bb8a4889b01c9608a99d7832f52c7fdd6422a2596f85444280f1c5e4970543c0b72f08c0cc7444621626de8aa92ecba05e0a8b49364cb0d69ab0c10c72f3372e97c2395c6ad9332c93355cbe617a3226a54288a197d3c38dc4b0cad0c6763705a573a4fa687fbb01bfedf2b85837808f819314079e5842209a818b90e731afeb9b9152b92848a1b6483aff848727c47eb55225f324936aa97a415bca06176e7e489ae72631346a1533dc48b938019fda5ad9346f02f937359b243bcacff841084b5342e3408fcb63009672cb58e319bcf8832dc98404150e11ec39f815c726cc7c7b15aff8e67ad8f75df78aa913643e5b1970d06763e6bbc991c03e59941cb2923259e9a9f24b55c1e51ea2405d593070fc49186b4ca343220340f99c8ce350db663c3b41b2431973d2941ab42535513b7058457285513826e14b7d7135ad487837223c15ea7f86cb49b3031654662b7e6ab4595c4c204077c256cf2ba8795a96a40b11bf7eca482a7b34257c072006a667c83808accc7ebabc2afa48e437736550cde02ccfdbf5050f26910f8b231a709da67982395a926724104336b41c262be843bd9c764d9af6a7e042a60d541fe4a1124b57c85559345885121a1c60cf44983a8757b9a21389a25c38c5c9da5806085a3f2eaabb0f52103ce46214e2aecc579972573569191cef2ba797e154b0876060baaff400beb3d245ffe1b73668a87a167409e754eed8b9d39223d956765212947bc77502539f1a2bb195d4a50f003ab2628cb6cc299bec58c515927e7c10a09312a97b59b2c1915c7713fb970b45566f69b806de278ce2f45c39706d84f8b81ea6ce46bc946346b3be6599fde5bb15b8b2173267f5d785ae362bec9b74cb53b888ab3de409127ac9ae4f523186c9c97ba24fd8935965e22c245b68257b16d1711aacd818e9b09a5279ced4b19e41c48b18549e71c676585c04b1d805c65a25d118c9f7330838c083582984aa7670ea5020eeeb44ddd07cc0a428e49739fc30b8b686b2ed9b948b9b1df8f65f2f951741b266deb9c0272297d1f88b88ba6fdf7a8845d324a549467e15520e6497dd16168da37c11f710da408d94e9bc46c1ab4c4890fce070a6d3a99ec82c8b02970a759f9cb89e9046234398376dc82cdf30a5d42a1775f53eec4526ef27626aa872225495e27c8aa82a9500ed6a172718a6448087553684566917c6ae919a4a56308fdf859c800429676a974997494754c2437bc8b0ba5521b546501a8d64602b16cabf1f9843bdf20dc12cc5c7e7cd61f27154362cdcb46777313067a16a4fdba8dbb461a3023ad384cf01e9245d352aa1100260a8886126a3dec82763f20fae784d43da5b8df34ec8345039d4229b7248ed99120db2a4369839f04543f98a47f62b191e263508a930db0c3629877e6ef7056fd40ea9b86292072b123c4cbb4046c935387e6986f6187f768467358a5845a198b6e3123f50b883b49819f96f6b23593ab647cd574d84a53fafd1320c81780d531d9cba102f1382f2f278386c29d8c17089828b420cc902c40eca788e3bf0662be6b891297b56a6815bf90132b5ce26a883ab111be6db577b4466b630173a0771e628804164caada20543e14c8e07be13181c93167e4a3112bcc11bc0c504d86b521e1cbe85d444fe466423949c8dc6a6d8e01d2991cd70ab2eb119303e44b7433557f39ab29f3219853b4ed9ca167b922444761ab9c381a73ace1478cf17f54136d99ebfb27e521c83b9485d2165cd41174943e47de76957e6a21e733a770d22711a57400d2a53264ac6164574bc584d33f7a3ec8b631026a816b911e159596b0934e4812465a41e713974eda8acb3432b9414aad7b0ce2d531f6244a94a80315de0662763a3e0d3442cd0701bd3643ae2795e9827e28305f7080873baab029576d329cfd9eaa7be8695a31978ff7890d0c70b4937107b54b51b32bf30818c888086013785ab84ace89c519cc419fb751e0950ca7cd9437586bc6bd39ee6892c58fc022935a112b20a3009431f87b2149c56977c32c4f960fc2b91937811964454736905b881904adc49f5b74fef29013011a646ec6427298b6b5acf5648211eec6643e93b411cc60b33396338831f2a52bf687a56e0cb02d6c84363aa7a632fc13ac102f405516226ad256ac36a4c41b7b12f16cac519c7a1d72610203b3034931c13203672b24209a658b23c176933ac02420485ba573348d90235b8902cd660b88fc5278371af08241c8e743b9d81c9f893b01d1ab38d207f92a51f07f10bec901c0104a87a775555570cba2984a31cb0dc734b82bc27439352eed560d4da0239189d684843025552742a1c2249513c40b9ed165769644c36958fe0006748f87978c83c5b5c92193c2734162f89046c80a552f567a58c533bda0700722312c7d12f0636afe75baa16db7be5a594fa893130eb39c4a69dbfe40c958b0ba389cf577c1cf1220a31c182077a839480a6cb7850c7917788daaefa604c851ccb3adca4489b705cf635704892731a8422e1397ad4597b04bbe8125c2d90b5ff9149759a5d4df244fcda98330442ed26afec358946e59b7a378f31261b36cbcb7c728dfeb21f0e10195736753ca81ec644a9a28188c0281631e397e63c5ab0742607546175f057b6039d0fb13be4bb23847ab97f7792bf74627e19038f36b06054c34ec23e22166be56a8efd6b5e9923aa331737bfd484fac424c6c419203ca4400c0003376605d44b60368f4e526599c45866c64945b59869465f84d1014e9a8070bb53feea83280bb9bfb006e6e4bc30c22ff3246366d639cbe3ac4cba543d134a0e5513f7d9a106852c584542f5804d75cb1ae483cc4fd223caa52d1e84a778c09a90cb9cb7310a6551c32d0aa32119905a0ca878769e7e46c82b53cf31606dcfcca8fbda86eb9a1067712e76723774d23b4c54c9aac3ba02fb996c6a322f085db03c2145625f1d306fa7934747eb0d5bf2271ac637f1a63682070fe5c3a0e949a13a9bc75ac94d829dc43da9c3e3e1dfbdbe4d73da0982be73dd7a6ffcbd0625393795bb07ac069fb3b6227925de96a8cd233a9e6be6dd03acbcb7aa47a2ad6354325ded8fc51b6ba7881736f2fc4bde18ec531d0b7b75d22a460533a65ac12de5f1c4b57fbc0c
+7b6751da0403cd9ccb8f146afb8921c4b59778de724e7c4482461eb80e48e6a6
+Ciphertext: 259b72583a938ba117600571afe37a678f732048df0ac2b6be5a3414d2f9ed6efe44b154e1b4143f08931f1740f6a0468bce3b0f775d2ab0bb6052efcaf5b4c0fac1c9ca2cb2dcbd14321e86ac2bdcdd1003cb136ab619887df108327842725eaf490fce33186f6d512d022b8e005375f01105760579e9524cb42dafdf9c57a9eb8268d9fe8269146b3d782bf4302651a4d02233297ffead77ff76da6290a5d7d78992bd8182295c37df477e2d127839fa1299de5321681668bb8d02fc95309a4b31c7097a73c544a01c90ac5169db6cbedd5e0162771c68a3b41c611494695d3a741281df037cb33a2196652c03f873ff9f2c64c59835576c38955808e6a849b81ecc1e7c252e7b40a476e7418fdda17639afa1cc6808df80a0e742b60feb16b2a582100415183ae25cf545aa10af615f9d8113754e57019feffc3599a2435bb24e9975439956ede9b6b05a2f91d0589ab445ec20123c6ca1ee13f4fd258f2488abf73f30d5ec7460e2109ba67cb8bed096cf8e48c348807150075a48e16dc890ee774898559b09f82d757d0afa1765df1f35ef7b234f8442e4a6b6f7ec6de27f15edcbe2951c2d1740e35abd3e0b9665c8ad55576f7d44b51c6ff7b74ffed252fcaedee13b932ccdc9f30b49998f76a06d046d2068f62b9c548447df90e53b8ad6ff680df10233bfa0292be3e37d20a947883c8a9babe18a84e8208005d7bc1b0ca46ceb9eca54ae74d7ce3318cec165b6ea9309133c6610c055c0cf1b3dc55e6e96c3a027f60b8ddf7807342542223929bb53240ac7caf8b9413ab65c1e52af367f4083cb28f11d0e4d27bfdfe602eaa7e019dcae89b28070d3d8e700c055d561d886278e4a735c271cefb3160410e49f8a1ad1aea8456ec70d7a090b2d09f18bedc017db0fe756de9c8fea2a545009d9c25c0565802e2f8e9f914f13c12d379ca524c6c91bacfab2879b62bb4cfffada7f9ec30c43b5489e6a8d3f4f2dbb7397e54da345afbe16fe76760f2d4c77cc53c4abeafee44d1aa75caf9d730a61a842ba605dba0777f2aa54c387e06f1dec867a85f0c067955d72479c075bb0e166a7664ab4e6b4b1a0fc08f2b371f053af4457e5b8ca377f83e00296da59f2328cfbe0b9e28d3bb8ed752f96cb9a34d0e54ebcdf75e646e14c21feb532f463b1f8870c26d8ffb3cfa174689efc404edb25d340134865c617be65960ae861e8a7e4df6a3900ca9c6e36c3e27e3a6a0e5aa5ee7b5543df84fa5c54db0ee3dead9cbebdf7dc6ca498e39b6600ee833c31dbb61a34c604075a4c8e31bc6cdbfed8cf8ba9100e2fb9afdb16c77815d71df9de090914cb04b88928fe68ee7ea2b2e88368a30364546034a0ab55e6c056d7a775d43fed7140077ffdafd6d66a756723aabbc5f07cf3770952462cf647b5090ef1ee9eaa592a8ec08fc3f567abc17b0fc579d7806b9731b9f453d5f0edc9cf5bc00dd9be881931f0a5c245a55bdffa97efcfe00261d4d23257c65f434652029f213631272297540b7297b7aafdbb867e26
+Shared Secret B: 39fc549a43ca42fcfd0660ba1ea9c3079938b4d83bb56bfebeed450c3ab3041b
+Shared Secret A: 39fc549a43ca42fcfd0660ba1ea9c3079938b4d83bb56bfebeed450c3ab3041b
+8a12b4226449f84a764312cf703b7b4aa999c4494c8f5087911abe44ebeeff0b7dd1f37cf96399c8ac37f5c9dce23bf274c642255bef83720d0c9cae54ab770d9801703e0191e0d332f5351a038377bca92dc972a5a9bd727d8404829688f9d1725fc63da04f076a49df561d82f999bc82d492d303ad3ebefab9d6c8bec2428388afd9d236b14d67d042ad3c5efb9bd9c673b60c00e3cd14743c376a820e76ed18c022eb826812bc213adfa8837d2d76670708477afaaee146d024f7ffce8c2e741c1f1fad389caa2b1d3cb7f35e4944959163768fb98b489817c28bfa30503b6cf78c0b88f460c7227af72d5d050f6f12407ea0bce09649deefd72b524ac0fcb349fc8aef948bb83b46905fa4876aa5e14a7b5b681a2a672aafa7f641cfc7cdd6b257cfd43ca031f901bf28de17510a0e472e72f0b5ae7dc460f685c4889c8e421e71e14d351153ce7cf599483869974ca4be77203ca8230be0e93b5cf6e2dc45bb2b04da20dbb5b7d3ef71cdd3458701b0727f8f83089fa4ef121d5239650f80a94b97df9b875bb1fea5c91b9c081f8fdfff79338131aa8948db6fd1ba086b507c19fada31fcffddfacd028196305bbb895b5b43ad6a2cb43cdd467e8a1cbe72785f607a07aea93c88c847219c8acedb40776bd379b723962c7c90d8990aabbba33b1475ead038700519330d032ad1206fa09d8190a45cf807863f786220028938527ef92f90ecd8f092055c31f25ec4351afd8a6bcefe17623ca52fa9faee6a970e51a98799481129812742cecd1bd9bb8b5147f43325a070808de138233e2de3dfe9bfef4d30045b32071516b08352f253ebc0b59e6c534a05b2a62bd870a70fd6fb5830698d4d30941c8cacc5f3336bfe8c295e4b69220885968a207e5dcdb2533fccdcea0b3b4a47cbf7d166e5ad1b405ddebca5bd442cc533d8cd4703feda00d27229e9c12e79d587f5298370962e2b769bd6a058f1029a12f70c00a98fd60584cd392c8af8978e306d699ed82147636b2f0a2bb991fa9cdb643518a2644b5126ccfdb6e3ff8fffa508321c62030f5672f59ab00827b952762a4ea34272d4f82e96f3f1224c8dcf71d742d6ad8e7b90022bff72b845074a6d58398947b00593bf3be44b865933238ae3165a7bee4c153c9851ff8dd5265266a6e74d2f29f689a3d5069873a3f75631f1c5988e40083fc4300e8c1bb95c19a6bf895c9e279d0f933a23c1df0d2ad6e0eb394baf14e416e32ba2d41df4f016c5aebd9b9d6cf3c13f459d34acac62c2b8999ee364e92f3e8ad5c6f39944611478cd0591764589d2ad9c50e154157a587d466b3a2122944afebb709de3289100f76c2c19ba263c4d8b6c80e029a67b2e685f8c7c101b6d84c19f483436a41146e14925d18143a00f5a307493d081f00d0a823117b25b2f2eb82306280505a087696e2a46c877012f0da937e970dcc22b3ed70dbdf9941ef3063a231e0d09c2abfec7dd70d5669fe2b0d7fdb1327a2146d91fcdff617518af48443f3ae7845bf6e20b5c7d85
+Pseudorandom shared Secret A: a7969a1b54a56b6a3575d971b5354ac1a7cc9256f7166b71645f3874bd0467f1
+faca855853ec0eefbdee6380072a8fbc3410b06a28a73d7932f180ccc23e4935a25f247b01b41c215a285569b1496f1b528727b526f67cb8a967134c7c4bebf9
+Public Key: e16c291fc8aadfe33f0a96ac81c2ae06a2c1ff199ae7153a3fe311b4d44094413c59ba2dcb103ceda9a8663291f78a46d56b7cbbaa57ee5abdbb434b5629448ba121e7f9a4384c5193fb13a888303d2b2a6b6878fab77c2b074fab60899d4a83fc74ba187327e87b52ad32410ca4844fb2cda09bb7abc5a627134322eabe077a7b5c81cc0dd5276eb583b4771824a3262359249b151b06356c6cbc2f8aab1c10a0930b41a8a90244525b051db4675aa343e1202632c6a9f3d4c836d068aa1b73f9a15f0eacc6efc8c5853c4637d7b31ce3c2aa1419b7da55d10cb65b4cc0918298f3233710c16f5cbc53f398a60dd27dc5dc6e3d815c94c9460158cbed7c537a8a1d3f08b12831b8f8f016c366c9bb73ab8154b39e6093c69c4baf144386c89ce67606028710abc81a2c03a1cd8aced356049be33e80ab8ab5031e10d6a3a46b223c475f045c0361fb36e689ad0651bde9e8857023bc95f86b3fb7c238346411c0534b6177ceb0c23ec7911590425e0a837179406d464655836b83c785654231a02b4fc8d85bde6ca8e6203cc68196f7d8a46927832348836af8484a3634622929f4f4878013c59b976799f4cd8ac6668c9a6a0924b3e07139958b8833b5b227c2ce3bc29572a95d09393458f72822c65a9d969b55db86c39437f5830bb6970b2ea2628e6c9d9cd8030e458f2fd4941a67c0dc562332a8bbc7230d21e09efc503c1888b999c285d17b1f5f4026725340b8a77f1f12890079cdcb661851751dd8a4c4699a67b025c3d610852439818a25578e676f81c17a7f5112067808b4e597648847352c09db6c0cd1c8203ef28c43eb281f100ea243c97715b24659a6039ab6126ab51e787504182b003c4585b579c4579da5717a72a9ca13c375e8f3cb56d3467fb44f676bb7e66143010cc77f645304eb70b572cb6841c4f1786e526460a6a1856f18ab15aa9f8eb6aa55eac80861bc3ddb0bcd102e24c363b6a8582b0bc8c8e8a4d53954b3b10eac6c7cdf54c246c13763403b8d4ccd9396982b6cbafdd60d2681b7d1eace3031a7d665776b129b71d93b24359d341043cc465499827dfa74cf973bbef333703b60b0d1b19a43281b29b8624be61939cb4b8347280ddc045f008a6c97ca1ed2334740191182108a461d70d284908c497d2350fe4c2d2da54445844867e93f9dc96765d3a55307b12e725b78754e0aa1c7c2eb2a06bc0b7900c7d7143948869b51f259a4144db4b43c3d12047cd53132fa946db7a73ed6912b018160d088526105be98ad8410b9ba31cf2232cc779a4961429524c080077c9c971a8d4f766c92f16065e2342bf906a861156fd9194053ac2ba55604e9c1f94a95e971c94f14a50ad00830abc8412bcda9a94f8dc4725f538f8f8b8ddf37cbee67cd17ac3521e860428b15bc3c099d0494c170ade4b22b29c6c99a529c865458e544b31d747963000b854b55a4ebb8902879d5ec175d229e60a85505305d0f7bb729a510bc110882365f7e1a7b4b25811591c63737aa0c241af3f56fd7b98314044839f11cfa4c014b5562739883e4f1c0f4fc2d6f1c02202a07e2e3b2079b8b9c9468d17b405aa07bab4978baa3a712e583b7d9c58b4c2e11385e110acb55d985f95328b0854e7955e53f1afb531a84766e886dd1bebddb3f54240d6416
+Secret Key: 1f10ab3432acc43516235432a10b42e2423acba73d8a2775bb4468cb78c346aa5f76400990187e4ce887167266b047b200552bbff96c5882421a83845e810c94620f5f994624f563b6b4594ed6a3e3b4333d82207ec181df0a71f4c254459677a1878cdad4331b985052489bb49534e4719a82373cd5f462b272300a3b335020c5ad9616d3c1bf97fb47ed1bb10966bbdb6705902262803a00c460a2e7719ed0e55caed60b56ccaf43f139a1754f7d99bbe74a965441a9b01a1c8fbc2855bb8304793f2e904ff9461f3fbc7c090cc4bf4475c5202ad4e50d743c498d46891b382949a56ef2a185d09031408801de81c3750b8ecb4237b45933679bb9d2b046b50b79a8f43d00c3854335b99bba312ed46514654cba7773b1817c89f38be8fc5ed3e4b912f08c7ae51d2919533e66a504e7ab6d28c6a7168ad2f254be49131b5ccd65046ef810b01cc3c78440b976194b28f7453d74ce21f967f20bb4c5f94d70990110e1c223b41320fc6473042c26a63121744d61919666b89a22674027511f1355139a469398d36f27d5be2359b60b6c19fa32022000172cc08361b0a49184ce38d9b15d6431fb423fc2b951299c221d7a1a1842c72a6794a30396d1a84ad9e56000a76d7ba62fa069b9e5d62bdf807639329c4a3c81abeb6a33673e5d376fae791e5e32c784faba416603f4d152b6b8b6a85c9668fcab6af7574e251922c976c25b0af2c381c358a1d42b3841309bc434851da1b60e05479e8b28ed350412888ad547c8fe1798da076564c8aa40713b51d999e5b46663b8aa4729111d0758e8e6c752c0b6eae3953a83ca087721d7a621c28bb077a6124958986fd171fd0b11bec01bea1170c609be66b0b1aeb65651f338038c9cc85b9e0c4414b4572a6ba3114376b8d182452bda9905d9a3b9886bcb08bae6c5be0d81359a19717fc019330217dca185ea46c9473433ee2633c518bba3ca737b56c8b8358915b10059067345a60d9b21657984bdc1887cea9c02628694de11262ab10c1dab9b4be177486c2bfc291d588cb2e35b2469104b53bba5b5e50808b9a7c6e296041124c7b3131c09c3774202052576faeb6c41a2aeb6b638472b91367421d26b59e8ba769ce71e8d030eae997b01d6308fc47781025c688abc4cbbcb32cb957ec1c056a243df0bcbd8ec5bef12b1f3005f0297bba330405140ba6ccb49a597bd65192eabd6481a85c903559c5e99af5ae963dc30808cf073cf03b8ec96915d7c9360a031401861e47a1bfd76a6cbb79c84aa3e7e088e814b06bcec3779e4286d4150579cb8e5839c77f61b4ce4c50ebcbc0a280b75962f3de363a0441afd719559069c8d4b8c6afa8751a2bc83d476824b23ac827bc6080f8a83591cc9b397713c0dc14c60b0249ee69b0e0c2c2cf843e31022e8632b21408956dc02163c1240da478a8582f7371bf08b2edeb68d5db425b901a1da306fedecc1a3c57bcfe117f76cb06d33132ccabbb04ab2f35837e8f284b0b6be0feab766013134ab0babb19ceb67a4918790877b81ff8a90059b963b6012b8d6ba63056700110ddda4ac97577858124d62ea5d6c69add1da94ce104f5ae4190984291a66a71fd4c9a6a861c3148bf9865ee16c291fc8aadfe33f0a96ac81c2ae06a2c1ff199ae7153a3fe311b4d44094413c59ba2dcb103ceda9a8663291f78a46d56b7cbbaa57ee5abdbb434b5629448ba121e7f9a4384c5193fb13a888303d2b2a6b6878fab77c2b074fab60899d4a83fc74ba187327e87b52ad32410ca4844fb2cda09bb7abc5a627134322eabe077a7b5c81cc0dd5276eb583b4771824a3262359249b151b06356c6cbc2f8aab1c10a0930b41a8a90244525b051db4675aa343e1202632c6a9f3d4c836d068aa1b73f9a15f0eacc6efc8c5853c4637d7b31ce3c2aa1419b7da55d10cb65b4cc0918298f3233710c16f5cbc53f398a60dd27dc5dc6e3d815c94c9460158cbed7c537a8a1d3f08b12831b8f8f016c366c9bb73ab8154b39e6093c69c4baf144386c89ce67606028710abc81a2c03a1cd8aced356049be33e80ab8ab5031e10d6a3a46b223c475f045c0361fb36e689ad0651bde9e8857023bc95f86b3fb7c238346411c0534b6177ceb0c23ec7911590425e0a837179406d464655836b83c785654231a02b4fc8d85bde6ca8e6203cc68196f7d8a46927832348836af8484a3634622929f4f4878013c59b976799f4cd8ac6668c9a6a0924b3e07139958b8833b5b227c2ce3bc29572a95d09393458f72822c65a9d969b55db86c39437f5830bb6970b2ea2628e6c9d9cd8030e458f2fd4941a67c0dc562332a8bbc7230d21e09efc503c1888b999c285d17b1f5f4026725340b8a77f1f12890079cdcb661851751dd8a4c4699a67b025c3d610852439818a25578e676f81c17a7f5112067808b4e597648847352c09db6c0cd1c8203ef28c43eb281f100ea243c97715b24659a6039ab6126ab51e787504182b003c4585b579c4579da5717a72a9ca13c375e8f3cb56d3467fb44f676bb7e66143010cc77f645304eb70b572cb6841c4f1786e526460a6a1856f18ab15aa9f8eb6aa55eac80861bc3ddb0bcd102e24c363b6a8582b0bc8c8e8a4d53954b3b10eac6c7cdf54c246c13763403b8d4ccd9396982b6cbafdd60d2681b7d1eace3031a7d665776b129b71d93b24359d341043cc465499827dfa74cf973bbef333703b60b0d1b19a43281b29b8624be61939cb4b8347280ddc045f008a6c97ca1ed2334740191182108a461d70d284908c497d2350fe4c2d2da54445844867e93f9dc96765d3a55307b12e725b78754e0aa1c7c2eb2a06bc0b7900c7d7143948869b51f259a4144db4b43c3d12047cd53132fa946db7a73ed6912b018160d088526105be98ad8410b9ba31cf2232cc779a4961429524c080077c9c971a8d4f766c92f16065e2342bf906a861156fd9194053ac2ba55604e9c1f94a95e971c94f14a50ad00830abc8412bcda9a94f8dc4725f538f8f8b8ddf37cbee67cd17ac3521e860428b15bc3c099d0494c170ade4b22b29c6c99a529c865458e544b31d747963000b854b55a4ebb8902879d5ec175d229e60a85505305d0f7bb729a510bc110882365f7e1a7b4b25811591c63737aa0c241af3f56fd7b98314044839f11cfa4c014b5562739883e4f1c0f4fc2d6f1c02202a07e2e3b2079b8b9c9468d17b405aa07bab4978baa3a712e583b7d9c58b4c2e11385e110acb55d985f95328b0854e7955e53f1afb531a84766e886dd1bebddb3f54240d6416454eea987cf1ff691c2f748cbe61618e564ff271b5d6fe02371731a25e23392ca25f247b01b41c215a285569b1496f1b528727b526f67cb8a967134c7c4bebf9
+46626741e80b53cc7e2dd511f1c42c850f5df4d5ff208e817e0090d13156f7ad
+Ciphertext: 7d71365f71e71ef45b013676e171e54c4c5fe4a587d243204e18c7f7ad1da7fa66d9fba63bd511a62113729d9acafa4c3630e56701cfd7dd886b0323c3dd2d36701a3c1b9b0aceeccf575cb0e9f7cce81060b0d47a65eb68c144f9c8d26d03c72ad289f08e42e61eea7b980d28f59af7e9f569a2123bd9dacd68d0ff5ad4ed2ce37de939206fa8a9a503619cc4ca0d3b2b509fd11eea01dce95803657cc6c3b7e2ed7732718174de1f2b6a1347f2d04ff8a2beaf314f2b574c5c41b35db5747066ed441fbc8ca84a56286bd2c14f0dbd46f8ae3e54f6c05f0ffeba1bbdb68a5a8b957c391265ae030d24f57a4ad65717b23ef174d3a33f214466e43196fb9109cef749b327b24cdaea1ad762367a8062edc5ae990dd3082a0619c93d4d455bd8aa050d38bfa5d879ca6ebb4e717a5e1d00f9ecd7ce0016f87ee92536b69bbba56b60e9f1ba2f2587cc3a03b3310f8addaff6733811e3a7cd488c0eea0d562199a2fabc3d965ea40070fa855810a61d4bbc98f413fd5c86689e2e815f31894e93009a8dfa35a0242f887c54d68d212de1dbe7a0e840f60279b330bc4e386c29ddca5caef0bd49f93ba18053c118745e8f95391d46a3a7b1a4cc32cf1d38cdcf38947ba526ed60daee91e0ceb44ccf8d2c66fb327f6eaf4c101a92e034d7d4260976e13310f78745eaeab33dee13bffdb0e9eed01290f220eec713b32b37a0ecbdbd2b8acdab868d9b8768064cbc5987ab003e8b179010116c16817472eaf9f3fcc9ee296fd23f5517d5253748022770432cbb3cf40b22d4de9ed1ea4ff8baf5387f5f2ca4b39a10b897b65360288725e58286ad279a179440dc23a8bcb315849a31bceb2a46c8a9c4b9599fb7d70f1fcb24404e0c9fb990d6437763de474b2e0cd5f3fe61799567835551ef6d57ca0fe6b3b2e1f61dc51cc2dfdbbae1eda6d2d91151c001e652915703a6b3fd2f41e9f12444f0185e30c6fa0f161282514505992e2b1d50c5768168e3ecdd38e846a30a993800e3696bff8ea0cfedc701f96559d7165901c2658131d9be47b5a245cb38583d28700572c5dce5b62243f2ec3d992e63965609c2a0d58198e1fb186c264d72ea7d879b0564ef74db50c89a9a63b68bc2138ae6ebf8981a0a8942338243bb4efa3741fc93396ba2ad5687c7bb634c76d509569acaebb42135839ba016395757a3cdcec8f1e808ab494c94fac05ffa639c6625b812ca98fa00818cd46a071cce089ebb56381e8c4121d72876e5b245fe588749bdde64135399570cdb21f420f68e06f175e186e28e9d35da5cd9b3869dfc4253f1b2e9d2bbd400488044de113c5d3d5c77ca0f89233ebb8914426203959e84ba386b3e03ca68ad3723f546fedcd9c25ea84ad3d79f03686809db0f01abf5fd28c3f24494422f8df4db7e4cf6a186c3f7e07e7c42059e18a20cd1ce096149415875812306dd94240e2e4fa0cfefa786530d1ed7199932b630fc708be8818b6c702a0301bed7b993b928d23a0864111a9eae3278becbd5538bb5b36d72
+Shared Secret B: 6215ba4c4797fa707dde9370ef43cf04b8db92ffba883dcc040cd0fb0d5b858f
+Shared Secret A: 6215ba4c4797fa707dde9370ef43cf04b8db92ffba883dcc040cd0fb0d5b858f
+22ef2185785e621571091457d051a96eb1dc069e2ff878687967ecadb1dd794cbe7e1a25ff082f7ea568e37b0157249aaec67243e6117af13200bfe0d0032d0261e66cb8d0a0dfbd0e2fc077535bd1fd27569bd731bea63306f187a11872f95df6ea921e45ff8d3fc1babf066800e31964edadf9e3fdf86dd9a7f0d83ecbbd5e0a83936afa2a403f292c61d2190db1147a2165f1383030091f41255377de4d6dd65f43d37dab01a9860fad130e8240807b12896d87488d0b1ad61290623472d61564d5ec5e9517a8f98a97e4881f604cf72495e17f9583f6e2984286cf8a13f67b27febaf73422fb164c107c55c661ff412711b7ab9aa922c2435f436cae6acdb3476ee7a9946e78da1d5f96c6c893f9d510fc564e3aba376e832fb7a8e9412f317c3b4f2f32e5433b932b241252bbd4bf4a99d1e7ff6da376c32a90ce8658db5a7a68f09777bde2d400985a851b8c006bfb25211d6ad0cfd0ef292e083834c142e1cc4cee41d57ab8dc938287e137c3fe55242d7e44ba6f332ee5dc94697cb333894f0e079721ad0cf1d1980248aaf52e8797f86271c16941dc033672ae76b6945efc27f3f31960fb94f8bad99f407a6520bf1c63ae6c9ae2ff8c066d392230366a18cd9e855ff397b5381329f2f6788e429b0216ff28cde414dbb24688c9baca819a8134f4f8ab2dec30178fb800914fcf200fa211c0079338e6a4303b0b53e2602fc99b5f5e65cbfcf708dad3a97387a6eb0360576288854e2db33da9fe86204ebe8d8fed8d75523c2c9226ac321e441818a112eba198f8c65f97f57a1b66be324b82e57d46979a517c7eccd00c7fab3418434d64aba4958ee74aaf7ab6f25ad87d9e16fbe1e675b8383b48d3cd3ae0c714ab8211a457555b56d1f2cc3efa84dc4394c44ce09c11c3162f7fe577d559c1aa6ee883cc4ef75a39d2c1bcd2caccd8429d27a12bf0f27d5ee0ea6da208f8363e59e50d39b65691435de9703724b0f26cc365aa65dd03be98ee2b7694ab417522c26b7c4b558f66ebfd660713f633a18b78a8f6bcd7d484e019e64b04856c6eb8b00f403ebc6875cf7af78adf23b2ddc3bb506b5ba83878b15c9d7dd4f75d3bf08413e14cdbb2f3bd2401ea286fa1c11da46abbd66c87ba0ea47d08e48eb242acaae1aa8c9b0f614ec7a18851c0f9b6dec061f54b1aee5a3f1fb04b58faaa5c2be7df04b3f0cbace5c11e63240bf3533f08b1b5ec9dcbe90cf8addc67780ae99335fcbb95d26d93df3d779a6bdf240d9f3aaf47bb28892cb5b52260fdde73343c9210f419a073a65292bf172a112414cb6557183031346dbf9a1b8d3b4666200ddbfda1f5aab2ed566c5f9201c5c3fba9602635da75d7210019b77fd6137c2e657315ffb95f7321a3bc4a919d101b414e2ddfebf373cd155cf7e5062ccc8bf04305f5d9be277819b27f52b464ef7855146d9ccf9c4aee4fa38d9b8af9f1d62d1044fba99a690ff813471cdde7f0e79cb2eb4526c193ffe87a5a1ee29b4387fc64fc6061ade9160c334d5b867afa
+Pseudorandom shared Secret A: bd86301f655cf5fa3b4754c4104bb2efcd064627412522efb01e1ee82133661f
+7f021e70393bbad3b00fbb439ea793b28642fd3b8a285befe98d07c7bcf62ef74b55603ce096f17606978ff74ccee68a3a010e01cc7d5fa855d9fccc994f8700
+Public Key: 12a4aea7f9327ed92d5ec9698beb50e66bae1eb46575264beec8a5f8d8328e66b775f29d041c369c8c80efc8227089320a706bb310ccae03c2bef91380c4988108111356139d1a5223d186eb965b99ac8bafb221426953fd2c9ed91ab179f5098f746e8723531bd15a376c447f80b5fd797551e2a252683fb59b3d6e148182d489a1a5384326662a8084d8d29830d45f5342304becc88eb53dce1bbf20e976554abde47652f2574c6979b420c3c772e368e7ec3f6fd33720f8459e5846f9bbb09d210bc2a5abb8806767149b8ddb3f5c7a70a4eb4b32b00e5c961d3107856419ae0c018de07c6711068ad16bce82b44a2464414cd0768fe93d9f29976e6522a6985887f6639fb099aa5a31d80c7fb51c43c433b75d272a53108a5e289d19d8192bfca1e1a6a56ae165e9a88566c0b2aed8a3afc88865a695ab9129a8b9a7bc091c71423bfcd9c6b0268d97a7ab83eb73e91cacd0aa439d0941d07297659645cd1a5024e5331186a07f549a3af022ef7600fd232dd7c166ece632abb7150ef3b3387a9deb55496bc47943b00fed40616edc009ba85499c2b2a1e90857996b95f687a8d2bb21e1cfedd65e7389ad02263d1322572c94a5443bad61c484c0a36d0516239377411db56dacd680a51962cb7a19228896062c4188e5c7311640da710a724a49b1a857a3f172e0d10efc6474ba1580bd76020d645fb7fc056d1a25c083ad07d6ae6cca50f5a083d3073c52b61d33cb6a6d4b2402f282ac266abdd369dd2b31bee640d2609d84c53ceb250d6508939ea4257e1b40bdbc135bc132a8e25a3a11713130a4c2d2ca0812272bccc2f1b89c3e965cd5b7a0aaf061df662004261997e79b9dd3b15f722693a98116e22a6714a30f69aa4af701ef0013c7315a9e175c61f0387f011f7ad022a37879b67bce84d00dadd642c2509729b78a64e5babdb191ab8a77c83718852b1dfe497673e0a289392b4b637454a4aaea587d68b67a270437da2b07f2801aa21306991ba897a7789cc74f848c575a02cfdc879f2d379376fb74eca96de47a075b6868c68c77253b8f7461aae5b58af286a7f341b27f270aba614ce5687c53c2675055905be7a9673c637e763becb8ccfee9a2d2a0a3cd2144484204303c7463609bf767118a2c0eabc41fb74249b5505e77749e68a6b94270c95af1b3eb14cba76349794184eeeb56ff58218164a3981312db63893974b5345484bd6041a3a49832736d96111fceac1389e066dd146612459854059f0819b0064356971187a8bab5b86104b410b63c621ab1626c8d70ab90b4480310a4882897af6486e7e6cdbc0a7f8f512e98a555b701479ab0aa9f2b30b8b5413026c2964532485390b8f1ae12c60474e9ae3447794708039b4827b69015d0189c273c05198cb93ae5ad42a1718ea2bd11e7a7e23093ff8a0245a157da032fc307129e81b794e74821dc254966b3ee358df2fccf811b2712452b5036023c118e3013634b408aeba99fb59152fd0536c07c127bb64e76b8a88adbabf39732f78124a64baaffb1cf8ceb176e2c6ba2903b27407868979431ab7927132115189b408c4e79cc2a9c66a988d41c403099599ba54e4a8f8ddc7176160c92b153c1fc2933baabcf8d838e62f8ab43b2bf0b425748acdd6102d085daeb6ca3ab90874d79
+Secret Key: b06c4d4e30bd3d51a38626461e30c2fc34ae6d873852101452f37bf566644012044d8b43a24b5f01f251626521fd024aa5bb87a506681ddca21745749ba666aff7cd67fa3a7f05b814367d87f95b51c69662ac8d21e39447a53183718eb8857c5f9a3218b74ded1c8e67acc179d5471cea7461542efbca8374fa102398417a3b028ee940c94051c97b6186604faff220a1f215a9959d5dfa17b5c745236bc7ed8a7717919b18a0a755134b2e656f85749f85cc283d6a5f699894db050a4775ca4da1cbffb579e75b08f25652a9c956eba351e61a8e0a3bc5e635cf94914ffceb0b31668e15a20212bba840355581c5431c0c0ad7d8c17ab217bc61a1a0b55375c48d71a446839986c41505422c9ff8d89c28763337d4c0c40202acc926daaa337dfa4c858a34f9e6b5fdd69d0989c09930393b4019f226b3177b095e307e2fbc7ac0492c196c9cddac55fb9bb482fa7774601ee508584ba162c743ab401a83caca83c530744ee3a78cf27b6e9b93f08ac60a208e4728b923cb54f8ca5196f64ad92434ebac6e54856c5c74afa1d9865050bb487c3f7e70be723a530ef93227517c05237da7920d92045022345d3b07cbc07b247f2b656a1638f495be7ea9cbe71c7731d283fada429ab322be43644017528f946c97b39c04b35cc5e01a30c21f097cacf61988e46520c757b59737798eb18941435770b607cd6515ec515b5ef0684f559edcb42792d126138c9448c5c191c81bcb54748b7b1869205438b9bb1b9bb938f87c3c5806516a6fbf00b9dab62b93e9afe4c723ea3a2e4ff3af8f44ad35d16547989efe9682a703329fe3a74a8463b3ecadbb307b0f42545da5b74bd1bbab842387148a7999559871434a4aa4afcb32e33937a69903b44cc075c9a04154003e130bda5599fd4b4fa500422e9c0f76f0c25ab244d043a57732bce01505bd34c618c3cdf94776547b2ca6c85bcbd2c75e16abe7eca60c114ccf196b3e8882213b675b046dcc2249b2232aabc6696513c74f084dc8e938d5a83f012197d9289716446ce79b8841e7314194469b697f0c0923e0797d358b1a507928f66960071b3147e236038243b3b93f260b664da7874bda1d29e837ec9260d5e4acdbf76794a025e9f158f97671078766050b50f794233cbb0017a5458de86895466af3b7224b2c3db3a3a4244213374658888b9bd753c19fe1c6e7dc7d095b7e10562674814d0f6b7516755ef11a5f32f48432ca99444751e6c96f0071943029056b3bca87a82aace656628282e6a09ffb6b5c91e81432d5bd22a22bda434443e62990e3a94bcb78f98948f0397553c25c099c043835bca8a5b6b4f5731af53a2aecc6189919b61c50e2f58e1116ca3f40c588dc10e0072e3ee53e616c9f11eb2e286a4d2e255d29d68794143e11267773090085444723cc2edbb404e2379112792de744536d999f52ab2a960c1f55a28f51514f2af17ae405b6f70a915006962f0a9a0cf434ff3b6ef6bb8b0ee769255c32bf51b939e89cff20621fac3d747b78d7aaaadefcb645e06dc8005f2200c06076c72b6a2a4e4237927cc921214725164e7fa17fac7b48ce70189f6b9cf769903ee942395710f415bab6299b1b73ad3aac8f12a4aea7f9327ed92d5ec9698beb50e66bae1eb46575264beec8a5f8d8328e66b775f29d041c369c8c80efc8227089320a706bb310ccae03c2bef91380c4988108111356139d1a5223d186eb965b99ac8bafb221426953fd2c9ed91ab179f5098f746e8723531bd15a376c447f80b5fd797551e2a252683fb59b3d6e148182d489a1a5384326662a8084d8d29830d45f5342304becc88eb53dce1bbf20e976554abde47652f2574c6979b420c3c772e368e7ec3f6fd33720f8459e5846f9bbb09d210bc2a5abb8806767149b8ddb3f5c7a70a4eb4b32b00e5c961d3107856419ae0c018de07c6711068ad16bce82b44a2464414cd0768fe93d9f29976e6522a6985887f6639fb099aa5a31d80c7fb51c43c433b75d272a53108a5e289d19d8192bfca1e1a6a56ae165e9a88566c0b2aed8a3afc88865a695ab9129a8b9a7bc091c71423bfcd9c6b0268d97a7ab83eb73e91cacd0aa439d0941d07297659645cd1a5024e5331186a07f549a3af022ef7600fd232dd7c166ece632abb7150ef3b3387a9deb55496bc47943b00fed40616edc009ba85499c2b2a1e90857996b95f687a8d2bb21e1cfedd65e7389ad02263d1322572c94a5443bad61c484c0a36d0516239377411db56dacd680a51962cb7a19228896062c4188e5c7311640da710a724a49b1a857a3f172e0d10efc6474ba1580bd76020d645fb7fc056d1a25c083ad07d6ae6cca50f5a083d3073c52b61d33cb6a6d4b2402f282ac266abdd369dd2b31bee640d2609d84c53ceb250d6508939ea4257e1b40bdbc135bc132a8e25a3a11713130a4c2d2ca0812272bccc2f1b89c3e965cd5b7a0aaf061df662004261997e79b9dd3b15f722693a98116e22a6714a30f69aa4af701ef0013c7315a9e175c61f0387f011f7ad022a37879b67bce84d00dadd642c2509729b78a64e5babdb191ab8a77c83718852b1dfe497673e0a289392b4b637454a4aaea587d68b67a270437da2b07f2801aa21306991ba897a7789cc74f848c575a02cfdc879f2d379376fb74eca96de47a075b6868c68c77253b8f7461aae5b58af286a7f341b27f270aba614ce5687c53c2675055905be7a9673c637e763becb8ccfee9a2d2a0a3cd2144484204303c7463609bf767118a2c0eabc41fb74249b5505e77749e68a6b94270c95af1b3eb14cba76349794184eeeb56ff58218164a3981312db63893974b5345484bd6041a3a49832736d96111fceac1389e066dd146612459854059f0819b0064356971187a8bab5b86104b410b63c621ab1626c8d70ab90b4480310a4882897af6486e7e6cdbc0a7f8f512e98a555b701479ab0aa9f2b30b8b5413026c2964532485390b8f1ae12c60474e9ae3447794708039b4827b69015d0189c273c05198cb93ae5ad42a1718ea2bd11e7a7e23093ff8a0245a157da032fc307129e81b794e74821dc254966b3ee358df2fccf811b2712452b5036023c118e3013634b408aeba99fb59152fd0536c07c127bb64e76b8a88adbabf39732f78124a64baaffb1cf8ceb176e2c6ba2903b27407868979431ab7927132115189b408c4e79cc2a9c66a988d41c403099599ba54e4a8f8ddc7176160c92b153c1fc2933baabcf8d838e62f8ab43b2bf0b425748acdd6102d085daeb6ca3ab90874d79e9c4df6656709c7dd7394dd66b51043993e7fda5cb2a70907d149df521c082834b55603ce096f17606978ff74ccee68a3a010e01cc7d5fa855d9fccc994f8700
+0a311c32257b54aab0a15425ab5b7e759a4994c6c5d103911c37c614390aefbc
+Ciphertext: e935317a94ae441f49c64be98a7093a903a71b099e782f81cf3601933d13b38c50c04eda8eff9285a0f5c6d66719ab491cd53ac3dfeb81685e671cb66a7850fb3957588130a6e981de4887a8c0c8c687a11f73473d789ea202435ccf1c0ab8d6bb687a2bebae24d6cf9b04732f61f57789604acc2b907080278ec1ba7d1a40396194d046be196a76727aac9b34cd82e77e20af131d3c23f09fab53c366ebf9fc95439d00a3cef2391c0791582b85dd5111eef7b1482b1f5d38faa3a3125fe2f0b8a230791d32eb8f8b3fce29e42a9c70b4a47edc774bc72d6d1cb874dba0716b5b4bbcada24d130c3a72a70803f88432e8b349924a60a3167158e225989f954b11bc673fe22d0ce77d702a59d749148af7db23a970af2e817c04b300704e9fed018be15c853c75459131eb93247c37367579db68bb79a50df029705664e98220fa2cd0eb6d847f07f4637dfc4b216bbd976a1c963bb818618393edb7910a546bebab0f453d1bbcb7240a9996db18aade0695da77223fc0dcb63032115aafdca9a6ea2b7faf05fbe5bc584abba2b86cb4780bf0f6e201f935255fe5db9def27096045e1da76dd8c82fb541f8b06c2d94cebc422bc5e70fb952d8d161751516e3eb2eed877c26020a875aa87315522e98ac2b1106cadb06d8b3d347d676a30bc5e067391e259da81c42e8b5c6be9c29ef04f79b319bef61b6a52e7826d0a51dee2dc8599a99fbd9d96a20ba1870721e3da548df980d772acb77a9be4381d7fdc789263bb81f4906c736a1e00ba2e1e71608c637f3430bba8528f0086db71a2330f8dfb08e04514e3a524ebc05876efee8f135f26845418047d48a2826070de44aadddd6f506eae4740ab26a41d7c7a1f2a6dea5241effc2f6cb6193385f8fbc511a1e48957520f0c2dc8329e865caa4776cc3df3d289cb9052672e9c7a8d33553decc7380923c47c4c0e0cdd2c8d3c9521d3ac29f69a4a9e3b429817ed8adfc3dcdcfc630664092537cb07a67c6ca678482775f01053f2aad02dbe4d85d84c37186aa9cb1735b675a9a5ce8099dfcb03b38a92e84ecad782147e92a7b51c8433562b8abf3598f6d14a95ee4dd512dbcf7328cfe162c063dd07ef9192c6c28b6767592dca3cfbfb09fefbe950ce3abe683b43bc7d44fcbb224dafe4925197b2db7ba6e20447e398ff92968bbcae44051c6c9c03dfb3fa37f4af48bcc776b6f7cf51ecfced11b62ce4d285e9fa3c0b4e1b70eefffd4a7e8027cf1f7ae94103608e37ff0bbc5619ba339d4b83151b088dc42742ba6526d522e3067aa46c04f11cef3502ad036cc34f5f6637b15dc28c5bd14a2fcf10cef910440619e8b54e7c2afd33e6a9f014d0973c1d46aeba6b656d89e799e9bcacea40928afa50e9fc36add97509f0ff762cc0e64a2c59df1766b23e8770ceb21c6a6ff5631f7bba4cf18a7d92e4d5131c683a9347379337abf0d5426bb5298737e2674294677613118e6eb20f96405bad10dcb4db98a7af9e5b7fb115623e02b2d7f75fe2f0702930dbfeb684
+Shared Secret B: f8602e8c23927c9033fe677585951dbd7fbb25060eeecb1edd4657d12f3d559c
+Shared Secret A: f8602e8c23927c9033fe677585951dbd7fbb25060eeecb1edd4657d12f3d559c
+5f4c7e78387fb2b9ee0d7b2833d7521a3eef19aae87de6b69b17dfc19e30003f85e629555b4e1b2cfa76efdf8ff1ab781236cab5fddafab8bdc3f5ec16c6adfabeedb421c846a5a61b1fd66cfe4b8f19b0fcba3c022fce3d4672a3d457bea36e43c574e9473761835f9d61983e9e78e08e28991156113763b51ddfdd3a7c21a341a60c1235dae83e72f6b9e19cd74c6b7a631c7abcb3be2a8bb9d614240ba4376d08d35e423281a6812d1c6e9eeee33147b52142b8664e05594db6e79bbbea925b5ca733950b6973c249e642de1c151111c1787616e68e4a1e6b897566546d9b5fb31bd6bf7c1b7595592ed9e590eb2ff125f1a2510b15b9a0587b813084bc88e033a180206cea50e15e2870b37dd84ccc5b5c723b85d52d3aeb6f7b049ba8942072d88dc103c035cf13f57e2771cf3fc9668f271c502e83daf1d1ed773dc66ce18d46e4c4320017d8599668152e4273d0dbebf15499675746d02cbc3c715d49f46b8b59fb08506505782023a6ebaed03241cac1c66edd932d20ed52000188a7e259d98c355d79a617d33094c565315fcb98fe2171009621d085febc8ca7f72b739ee24dbdba18904f0aae1b322734fd4b5ff1606462cb9d639c8e9134b5c0af3e35b190d75c76a01e783bf1245d29606a63d926bcf2224f7e9ef7199fa1203e0d8627b8719c79cc25da3e616ded0d01c0e4af204ab7a781b3854acd350b9d20e42b03a44a3d0bbb40281b756f478a4f02ad7be1bf850b1ceaba5fa735f60f44cc3ebe49feba4331990eec12ae5de20990161eeb02930352c89ad3896faf41ff4a4306479b3a5a75beb96215b7ad65afc04dbcae4657422b626452fbe33d708991f27f2262c92a223dc0a9262a3374aa775bc9400dd61d68a4554b36943e2c33028b57cc90c5945ba78540bfa0974ad2f1616196b5e3c6b10de0bf45e61c8afb66255e865c4c700805b21a725ae5eab1bf2ef4a5be7ec052512f3aaeb605213e7a17bee43a8c9f2ffcf6a1f151629ecf44b0af0f19dab78fbea043ab3bfe32337d24130b9ff309c3254af226cc30373b601cfa9118710549a7a074c032f26c4201003eb6719b2d114a90b758f60523bf9747703ae33aa6d53921d7615f6383f87756b19d65a9c3b805f4a5423ba30c1a0b00eafbbf4c664e247cda362cfe937970e0ea11e82761c15127c51bc6a9b9acc96dca85483e41b80a60dbb6888e8e22beb08256deb0af4734d059a0328ddc1ba0b432d8484c0b103db1c2e66d01e54fd7d4a5ac4ce7f97f3c881f29b12dac452f3b8faef51489c23139d33773f2dcaa8a09159d46dc251121b18acf0ab4a53550588b78715dc2ae75e5df4a653c06b69d55befc5811bfd63f9cfa31511900abf0654d231cb22f7a27a7585e0d725e40654a2313cad95bd08d7f4222e1acb272531a0c50445c82a35044d4d2b9891322bc9bc62a09c7b299dc74054b992b54535c954a81f8aae8bec2c4f88820d293bbcd5e56db34e7fd6f66791be45d7bb18d51077b77e78a550b7f4776eeee21c516
+Pseudorandom shared Secret A: 26ef19da24235bd342acf71a1a7177d09d72d2d302faea26df17247b46c4a7b0
+e19025361736a397c9984d46dc0e4b71b210fd3fee8e7ef5851bea53b5f2c7b2e54cc37a9f2e94b014fc7f5b3889c88f53ccb545726b162b3a5a9e366b17c6cc
+Public Key: 49b69c93ea2e853b009429174948593270483fcb883954c72300a67e185ad8f9c9d5fb21ba89b72d82751ec37b2255c85f4ac9813625af8440ef19a73c8324fd2c3431a70687f6a2456594b1a33c7af87961168a6798bc0df82076bb0e188a661d4839c7c469342061ff47b36024331ba131607039a3f93295c1b67d919575da17c5aa1b04882b0c7a4b561cad3aac82aba6ca1d681f3019a3ac40ab6d7b0ad40b05db3589ef09b279b9c946027b3bbcc854d85969f6962755b1d367701db3835df82b35f927880938e49065317c9d7a0c88a427534f5ba4136b257e532cd487a9ee6c4da4771a48a81b94392593a6826259a20807a1b6c2abe277b0f6e65ac7a67f37e344019b9beaf382f8025409c0164c87431df418e580be04304e1aa14732dbacbed75049f69a9e528d0dc4c1090a46f6e7302b9986b8262c330397d8085adf2c7e8242b770cc42ae8bb4f6457ee8e604a707889181799ff423edc03b94a4759b376009b5bbe6bb3926e2ce750035a5db37508b44bc830b740563598581ac3a1ae41449d0ea224c3c0bed79b23b249e8395c590127bb3c48095782653571a8cbbc6a3347122f8bf58b61dbf84a1ebe061a46c4272f34381e4c76941553bd020d740cd02c0c6a2f784295c62b9c08f7a1a72d78707655a5ac4097ef19380188b3399556562ab30350272e8903478c1a001b750cd8a68e56879fd612009890554444acc670adc460128b76bcbc7395b929c51d8700aca7ad6fb85937a8f18a5c70bc4bdb06a7bf5a10898f2a5800192ed74518b7bac2e116cf6c305e4399e763489e692630ddca459727411fc5506e71ff18bc72c7b603686c8f9bc62d64a25f99630b50b7b82ca080340b08fa207a469c121f3a083e38ceec08338385acbda00f1c16c17115e0969b7ab0bcf8725855d721d3113160b942d6577790407505fa3aa1a13391c0a7e35aa7037d9c432e547062c3835554a67f726572139d3ec6d1a34197d20a9973990e63331b3e7388671cb5b4597697a1eff33230ea925352964bfea3b3da225184b0fa9527ac73245d8a9a6b00a64b151cdb6000bca7ac9d87b455fa632d6e140fd4254aae8a2224b527fc02a665167c4722a4cf578af80b1d934caa7f4a0e2794569aaa0793a675120765ff87219cb8e3cd0981d200dd0da779a3830df31ce13146a96962f22d412180a9263e8cbb9d420789b925c547e2d121b15970a5e97c73e629416f218d9f60276e2a062c69a7514a714a897ef7c3e20d46c8c5253c11b4e457221c216ce17512f7be61001e2095877b7ff461f26606aaa95b16747695a037784b26de4c3939c776480e4bb75da27ed897f7f552e6cc7820d2bb0efbb210df2caecd91b3574c00519855da6a382b5c85a3cafa735250a1ca01ef26629a9bfa7989eacfc4f8a395046cc71bdc382733c23465b409a8cc88d5889b4a6052071a139a0435c7ab536b70970486ea00425dab455e234534771a2fcf193a695ae1f18c9d198057e676cdc8b6f6204c8f616670cd49da3210f5c85ce9cc1c4701cc4f9a18edcc90a2e3a3da7f98d2bd405bc71acbb36a022983ed56a62c6059d8ffa355f0552cf4c2bc5386a2ac8be133574def370444a3621306180aac5be7943d14b0719ac0df0001370c47010ef9b894d07bf7b499538
+Secret Key: b684437f2b356b46c081db2041042995eacb244126c9bb5dd75230cc50048dfa68f636b110eb4843d16d407abf07ba5206373f17e7c5d2cc0211ea4a8792a3734439661b5316978c90f884ab38c590f015b042c858517e2beb3febca1abf83b787fa55e4fa89782883ea8077f6d6bf81a2ae2e024d44076cec3720c779b6604960d77a13eeb32e98e3a88931a4bdf71f57612b57d8810e388bb7333a98233c85374b23ba9f9f083d9528019256a3fb22b4dc226255927e8e23bf641b5fbd156c36fa75e9f81d94c798e46c73db77a898b75705fb479483c4399292b82c19c65a83170b241a2299d888a3a5c3397af62cb020afe112851d0022c647a3c9258a4b0b7f69c5ae4506457ada82a397ac77b0b05bd52a131c359db8a7ddaba2adc4ccfe48b04a134834b82e55e15f70ab338d19274c05023690bb7668cffcf7aaeaab25d0d41ee3b602278b424a92234e4641273a331d40bf22f5c3c5a95445b5125ce24870863645e5bc71625f12e14cae47926fd08d1e49223a4a855495aef3c02b7a9a644c675f487771c5599fa0279b1c61619692cd1a193f87c9a567a02fb9dac263519bf3a5b1d3f6863fb67647c6079e994fb490464fd7b07a033e5d55bc0e86c842c421600851c3c63287960dac8071de136fbc88a705a19e8294aaa474c436ec4a5f17729ab4b2619cb5086a45ca41592359bee0f65d58e584c992a7ba54aa6468951fbc4fa7663a9e42bf50661a2db628a97590a2f3616cb2696f16a7b5ec6442934adb116ee4661e1077a0a8f088db91789b353bd381aefe1a0ae75b1ab950406213096067af9df204a85237a4e35c40539f42274513829719da7d0fb8519fa157e128307ada7cab72270a559f35c24eda9bc73ef16c75833db44882620c176ba00a362b09d223cacf965a4a1242c73b2b4d04c2cf218063b43dea2c93954b5783ec407cd7852fa82c85c70f54c6c6fc0553eecc0b550292afa3479a503a7360926614c0f2461b581a565917ab081885f91a4082c5a5e1fa7054345e8d274484b504ab882b6eb2cd8509546046112669017315b59d667964a75499290627615f598ba9c1b04dce5144372b13164bb99ea86aa5b80d4d583d20109224ba9c0d6393bdc000a85563d97a96eb7525626b0cba44c822b7bf51a5c6519414a087a1c11c33112c1119e86fc5127af4a582e69b4723bb0d23e371356674ee991553a48ce00bcf47a04b386b435c42b5253617b8ac334121422344257cc2a7a7d4884275c929d392eb942f64c72e513045b165ad91ac7e1448ccec024d248106480004dc055e84a18b12103cd4eb553dd947907407381548284158148b1ff2358be387c9d651ba35861902c1455b6a497ad19c8d9b97765878d1e471169205401ab25e8a9d59fa90fef63fc05a064cccc3a2237a522619db633a98b2c55d459b113b4a3d893e243688c69a8a8fd091f9d6566da15568e4ad79671365f21fd2b8ac021b9649628f4440943bbcc15c6856b6b408e0d3c065b37828b03886419aee798050a4b8fdb88b4636a1a7b92b8a62cf90d421ed82bae542a3e8798505971aa925b580838586b7bb35f27944923250385da64ab1e901668eb3a8d22c184fc4a149b69c93ea2e853b009429174948593270483fcb883954c72300a67e185ad8f9c9d5fb21ba89b72d82751ec37b2255c85f4ac9813625af8440ef19a73c8324fd2c3431a70687f6a2456594b1a33c7af87961168a6798bc0df82076bb0e188a661d4839c7c469342061ff47b36024331ba131607039a3f93295c1b67d919575da17c5aa1b04882b0c7a4b561cad3aac82aba6ca1d681f3019a3ac40ab6d7b0ad40b05db3589ef09b279b9c946027b3bbcc854d85969f6962755b1d367701db3835df82b35f927880938e49065317c9d7a0c88a427534f5ba4136b257e532cd487a9ee6c4da4771a48a81b94392593a6826259a20807a1b6c2abe277b0f6e65ac7a67f37e344019b9beaf382f8025409c0164c87431df418e580be04304e1aa14732dbacbed75049f69a9e528d0dc4c1090a46f6e7302b9986b8262c330397d8085adf2c7e8242b770cc42ae8bb4f6457ee8e604a707889181799ff423edc03b94a4759b376009b5bbe6bb3926e2ce750035a5db37508b44bc830b740563598581ac3a1ae41449d0ea224c3c0bed79b23b249e8395c590127bb3c48095782653571a8cbbc6a3347122f8bf58b61dbf84a1ebe061a46c4272f34381e4c76941553bd020d740cd02c0c6a2f784295c62b9c08f7a1a72d78707655a5ac4097ef19380188b3399556562ab30350272e8903478c1a001b750cd8a68e56879fd612009890554444acc670adc460128b76bcbc7395b929c51d8700aca7ad6fb85937a8f18a5c70bc4bdb06a7bf5a10898f2a5800192ed74518b7bac2e116cf6c305e4399e763489e692630ddca459727411fc5506e71ff18bc72c7b603686c8f9bc62d64a25f99630b50b7b82ca080340b08fa207a469c121f3a083e38ceec08338385acbda00f1c16c17115e0969b7ab0bcf8725855d721d3113160b942d6577790407505fa3aa1a13391c0a7e35aa7037d9c432e547062c3835554a67f726572139d3ec6d1a34197d20a9973990e63331b3e7388671cb5b4597697a1eff33230ea925352964bfea3b3da225184b0fa9527ac73245d8a9a6b00a64b151cdb6000bca7ac9d87b455fa632d6e140fd4254aae8a2224b527fc02a665167c4722a4cf578af80b1d934caa7f4a0e2794569aaa0793a675120765ff87219cb8e3cd0981d200dd0da779a3830df31ce13146a96962f22d412180a9263e8cbb9d420789b925c547e2d121b15970a5e97c73e629416f218d9f60276e2a062c69a7514a714a897ef7c3e20d46c8c5253c11b4e457221c216ce17512f7be61001e2095877b7ff461f26606aaa95b16747695a037784b26de4c3939c776480e4bb75da27ed897f7f552e6cc7820d2bb0efbb210df2caecd91b3574c00519855da6a382b5c85a3cafa735250a1ca01ef26629a9bfa7989eacfc4f8a395046cc71bdc382733c23465b409a8cc88d5889b4a6052071a139a0435c7ab536b70970486ea00425dab455e234534771a2fcf193a695ae1f18c9d198057e676cdc8b6f6204c8f616670cd49da3210f5c85ce9cc1c4701cc4f9a18edcc90a2e3a3da7f98d2bd405bc71acbb36a022983ed56a62c6059d8ffa355f0552cf4c2bc5386a2ac8be133574def370444a3621306180aac5be7943d14b0719ac0df0001370c47010ef9b894d07bf7b4995389d368adec0e7efcb5c8a3dca48362487215b21e9f7c504bfd4e4729ac30fb213e54cc37a9f2e94b014fc7f5b3889c88f53ccb545726b162b3a5a9e366b17c6cc
+da0529a1c6a027c3b0729a564ea2f22b5df0f87f96557428eb5972170c784813
+Ciphertext: 4e24cf0509515398d852c3ae4b648957f48862f12b140dd51c57493ce5859af50e044cc080d93007af4d12c0fb6a75d28ccb28f899c6af6d294b9cd63316032c87d0b78367130c2ab4023f1423f8a231a5a406bc2c94c464d53662ad085c1c5278e12a851f26ff203c863508e5ff08dcef402d057d4b4a4ca21eb5aa01396602f33d255fa6c3cc9cec3201abb346eacc50ae4138380028548e65d6ad94c218ea7e47a68b0661983c4df267ec081b9b18902ac3dd7aa4227d2fad6d45a7efbe4b40a9a0c7ee4703b4d7419898d415ae0f77467197990a3a9ea132fe8d01a9231ebded5087ed5b4759ced5238e30f0b625e4475c8c0c476fda7d1432bd21a21b52d35dcca56e930a973656a26948f204ec42f5e3c5889c0d49d27725b5a451b6d38290a06d7cb852463ff1c0de762b5541adcf914182747d926975c20582467a2c81b849056c1dc2c426e94a1c3b0e7099503823945b1b66618ec017f0c48c37f9b6ad76b61e60cff79cda8373437003a9febf49432dc2c7566b2524bf73bb42622ef4843cf39f0df972ecee2745d68f96ab80e013f720ae9050e5f4e824b5e324fa7dbe3fa674023c9176755c0851e7b30655f79f85350650f150084206aacf56c0d9bd77b7882aef2934c8e164930522d4d407668e2e89bf28c1d8eba5329fecb63c77c449972be31c993061c231c09f3fa2bfc025966d0ea27af2c24bd366143db692fd46d81d24efdeade840c3a26f5d5960c6883494c979175b11a193e75a2082a7c74ab5a7b5873bcd44e211359e29e6839cd72f0c835808466b09869d885659c88a6ee85213fecb68e7a980c40b151776613d3e6a4e3ea87774503f61c50cf093b574d0e11a980f5974a473fd9058da1ebe907f21b9b68ff15c271dcd4b1d1f098b0eddc60708e24a27ae50f3a6a841b3e32d136037ef11928075ea140c3acefec39ecba5ca1915f6ae2c562331fa17cfc81a4463ec661e87331bbc9e230b5d8d6193cf7cf14e94b3fac1c32f8a2cce80d8f4b094ec08df5e04152dca54f249015bf0a7039246e3ba72651e2357ead6c9cad313921daf5e3535bed72929376fa50e6ac7324081ea777a7e36c45846061907732ce25370e8d71ca07a613e388cc9e90557c7fdbc02ed163f644544c1fc82581985f3a05e859e444d5c1d6b2ee5a8b16f2aff5c650ad15724a858d03bd893611482776f4a6b6a7b890e7705f092db28244acc1cbe4458740d80f94e695f5b9c013ae41d95f07c03f301c3c11d79f6025db329023b5c79799c18f752882ad7458332be263844f382f0f1b71e910ddc297350888c3a4c206060e895615360929c833e0372cf3df7fe75fb4a5f3a58b539308b83da303fc20caae204e80679016b37d24abc56ee9d1b06339804bf95593b584c471c0d89f4894a1c14c550200c441d84d51ce8fc2c5d7303b1bced46038291b52a42b786515dbde97a155ad1f7c9c1d5f456a3a30d0c79ac4ead57015280780d1ad72e6b11f6a7d780492bd21695cf51df4c02164bf38ea27ad8
+Shared Secret B: 0eb126d958b6608e65377f0fab4cac1d5be9fa9c5bec78fb18c46fd217b524b0
+Shared Secret A: 0eb126d958b6608e65377f0fab4cac1d5be9fa9c5bec78fb18c46fd217b524b0
+4c04136b8892c27640ff57d88f17d296165b89f35f6790351c1cfb6fcd8f64d0341995d538ee93cdc650a125aeae3b2cff5646440521647678d962b31beffe03b23e49444957aed4a91fe7c694807b97072fa9ca9ebcd2a7979e395f4bfed32622514145cb7f9a40b62dc8e0c1cbaa4539add7372e4d26e120d3fcd8cb2231712af56dc4ef40701680562ab054f23a4a3f3d1e4eea384255a7587ca0db3a5e7e8e3007bf67a71af318029c309c0f27d031ea2daf29610eec96f0ffe620fa8135cdbe72538ea1d4424d9266ee26db26ea49319701c71d44d686eb8ff43bf12e3bc3b4fe582edc852be9fdb6293ee8d3259d0ee3c65271348b415ab291e9c3435165f2b03c696193476f7148df450d11c6588909f9bb5cff965fe015cf93a35e47d8c72e60b61ce81287f684d197762b17b73f064d853bfb6670e06baaf06ce9ef7befc36e3e079134e39fe39a0f592e2144d29f77e842ed07511b530b4f547da6f4fa3a440b6cd3d24c3cfa89168f2f72b173a1c459bbce7fc8563d8b7f860f392fc737d109fc9c3a5d8d7558d4482bc031208cfe4533e9979c71ac59fd6f5f8ee08155871ceb49a8b20f6f687ac11b3ec1adc66f2b76582996b6c738451099ead977adfc575ec89bbe7dd58a3b5056a6b0a6862de78352ff7be2061017edf9810891cf57a3d9af31ee7e2916510600b712895fc0ff028a1d7bdefe45647837780a135bb8d871e828d3f78d89500ed4a466b5140f31c4f2bed35393f7022c01f0a2ddea2f781f4ea65d50f6447f97194ada7154317ff678e67c5ecc05328d7179e4ba0c7017909f71864a7bf31fadd1f9585f0cf2ddfe71ce6a6e232a0d853102272be58fb5db95cff939d29e1425298496c278494d648849bd4b40a1be3504cca9acfdfd4926942f364361bbc88c6fb099dfba48502ac87348cd12d556924c4f49e0aba620d52322f200540658c370ae5ada496969200b6c2cdc179acd2c49d75460e65834cd4555a88cdf41922331ad67d56afa39c076dd5a89e64d9221ff799987e191a1931c95884b65f8ad40cf3e4dd5e7de349ad6cebc11e27737efd083a15d0c5d8c60545b627719ed9633c651a9a56fb555c87814592394fe084d896ba6cdacf58169ff9926e495eb85a5efd2c20eeba3df81231254685c8801e7e5ff6b370aec3b979b88e2dcc6c51cfea293deab0e6f7552bc9051912fdff20f1ff8cf8b43519971b6b74444816a661047f997c422e5d371d96b00ae0839948a3be32aa7b4a4a6ad9f00e6e6e6b2e5d6b60431d7f2c8eb27b093c2baa55c565015fc70c1bfc6cf1c8312b6a74ad242466d09c84c5769719e04dab40bfc9e883a5645d1f53fb38557e8c144081fcfcfaa64b72d482d5076cb82dba1fb227935c0558a669cbc151c20d55ce913a9374f866716ef1c1bb532d193faffc025e2456932b359f060ca2f0f7687e3a6fbcb3542b5a0a6fb8eddba6cc20a2bc62bca63be2b37d6118542f858cf44de81f40fbeb33451bc0f9478d5b89d6d76357e45051c18bb
+Pseudorandom shared Secret A: ec0bec913a757d3f387c221a93b2ebff5427c8a1906a8c7114f144a6c52ae4c9
+33f250e006f1b76094d5c2577e981b3a45d5c8c7342990af97bb74a3b4ed400e7a09d13a37330db4d7dc10605a823595b3a3a784d530e2e1e11c315527ec2bcf
+Public Key: 42854126b08760677ee6496f18209d491513d1b6cab4636fc4685ae3d0971dcb20c2668a8a748466f96e71a7cf27d873f0601afae8895c053c27fb7f8555a46a009af1311c2624be94d4c6b28b8ce16676ab9c4f9b49337eb82964c932baca109f663b71a2977885c4aa5a2081814c0c8b2be1e8056fb21f36545c1772537863772f8c892ce5b43487859d82310708bb47f4460ab2ad8d24084c505a7f79b3cdfa86fe883352ab50a9b62e42e0bd6962a54c348b674627be016ce8b417d1046a3370b5a4320fc5eb993b513b07027d18e6319dd56122f4842819980dcb8efe3909fdb652264ca49839332be33a184012b0b06babf6b90d714b76b3a490c6a44bd10650d8c415141115a713eb09a94bf582f6683ea58a186fb418f0822689504bf307874e13697a85bc06351acd0625e84895e8f7c1f5ccb809bb7b6f42b018434af24887f6cb534054490b94bdd057ce5cd1993725a049c497c91969df8569de0a1a22d0c2ce214c3cc4a29108931c4b486309c859eb8acedc58a8840d4bd12b4bc0ccf7da54fb03021f0ac4c31ba76e6007afb40cadb024fcb74a43a50e43e6cf540001b5083806a63eb942bdbda2063db41908941c53bb46f7da9c10934f109a7343f9cde68889bd79bc8ab617b9e96980207af156031a1b4df3a3423a1583d4e75d5d487cb63470262b15b705404c2b53103148492bcacc208fa1e59ec986244d199755b94acf673f28217f63877a7241ba7a24741a41086fd248f3462db2d12934fc039ec448e4497aac58a715ba98ee804ae6697284964b8d3679b6b1c63a123f20559947056d774c4f08603b31ab133183a025e49c52c2c7564bc0e0c096311342af7c6a896ac0c68b4574f7ab53f671d9287c47a3a15d1a4a71045ace12627db07bfef98b6a194fb8993e6bec463c9915b3abb0822320e3d5141b85483c2817fcc460cb8741c6b879522b8ce82a10ae17c2c330c925e48c7b0b0682b72263c9affde7acf6b33c19523337b797b0e082d380cd0a72554be08a4f2797c72caf477061e241252813673e5173019339f84bba667317eca59b73d98b59e228b0178cc7b223dbecccbf70c16921630214c10024bb9a1797d26b663bbb4147e39fd4c65206336c76b029470ab62fc454b90b6a02a0414c4826542accc4e069c1db30de1c62a8ca8191c3ab0c436b6a47793ab46a86667fc5fa7ddfb3ae13155af8032b57c0cb58b932cebac0a49a3e53a1171e2c811af6018a159cdedc46d3dcc88a69cd936519a40917e4705c4b621f3f2285e7936148661583b1a145c5c4cfe67655d86b0386c46bd2303a6a984b5044768455231648264a8d285ac3b3cbafb880200bb50c94acca11f417988a3c4f989b715503e70b26dfb6ca291b94e66718a478b0d954b848749c21f7b1faf963d861cfb34ac1711c75fd070431221fe08b2b4638cb481c4ce9f956a6a890ba60b3558908d2b07a2cb64162731705232b5a2c3543c2758c5ccf9c30411c49a8fd957b8e7714c2c66cf8512588c8be6b1528b3529c19c5c62fe28d2882cce7c68d2ad7a24517a71bc3a9c029ac7aec520d4b91e1f09958aa452d4988ebf4a3b60ac9f1512ffaa9383a25375d3b7d808530a409ce571a628ca0aa98e2669e6aca5cda0c9ae7ed39d0ba33c2f7665cf49f2e
+Secret Key: 359b7e5923994374a9d90c2ac4f1895157715fe02591ea2b1dc2b0bf3120f80537e96b22d8da97151044bffa4e7e5783650078161a70544547ebc05605f668381a53fe2b02d0d9cd9e75aa0dd088b79192098aa56782856f069186a0c256156cc7260edd4602d36c32acbbce89a53915f501d4d29a21119fe5a82777d26a79238eeeccac9054855c69bc6e0abe982c512ee51c873a9c20db54d6157c42508535d790842995a7b198d42a1d36a808f2737ce5937d38b37d0558089be2a0d7804976f25b84426b8f9c2f27c4bb7976ad82051328754614a56441aa1c363a9bcc7a6d8d6348554a9feff59f61fb951611afb3fc94d7ec72a65c800fe435ec210dbb618b49d642f6c79060205dc47a03751cc7732b83eff26fc9d7939fe41e06d3cbf0f65ff5d6397a99c29dd220ccfa600ad390fab86faad9397eb66f59ec8f5719af88cab154b0b8a6909d28f8373b9a1aabb86e4b44915f86c33fb2505f837802994680b2aed75773995a8dcfc09c88c6664c11cc2be2cf42f31732893f4f43080bd7176a733190ac57318849cddb73ba0163e2022d3873b2810b1eb7386f3c40c98f294c8a4193b3c3237078bde217cb6b9849bb0114dda6256162bb0fd2464cf10ed76ba173779af4882bbf1a9cad7b1fc7864990481b5888a3d2910124d4c06d787facf9584021b7ac7252dcb91df2a645d59bb242308b60f90daecb249f3cbc17e610c31434194a647095a85c674010862756730b8a586b99207b18a4673d350d3e4a1663459f67ebc2ec0477fb0c2a739bc7555cc5c73a273a23afbfc7187100541e092e0c8a5eed55b27956290fc72992361cfda89706805467648204542545d091bc4321cc7acacd18084b826e0b2340275b530ae82a84996e78188594f43c5c72c580b55cd1731ca309b38cac18cb89194461316af795ee9c760cf48b878bccbf9915913c6964738316811c7a9a9258e179e959bc1e2116acb7c7fcfa317e971ed4582ff8c54204dc27d8674eb2b178fa7c29b80cc200c44bc90ace1680c8c528aedeb913ead905384b2fe9a405a4282525a237e27b3adb285aa4bb8a2230696957755fd3578a204fc1cc9e0bf39d11d469d07b10f429548afa03d4c238c2357f937752eaf94e26626dbad69c11381957b9b8a843ace4c0b7b5ccbb68033afac6290b1b2c8e00885a565a58f07121f9ac656abf835868528ab875557611f26e75377f23b50bb1c9bf1eb65ec6c38b2dc47258542236ba4734c54b13c5cfc47b39e0121f422172ab340ce26c0feeb95933f93d32221574c6185334a1dc881af9435f010ad093c394e35a5c32f22751e4a39c147c49a5c281145f8370a3cf7b14872b566ed3adee32ccbc78969dc87c18a314c5844b97ba288422b927007dad16b974ab43f256c6151a7ab1617de390276f00102b4c111579c12f226acb9551cdf4a52ac3b433d13379223c686313b6c9bb261aa1bb91471d0ac1b1a956668933e269161a26844761aa65b284e6e025ccfa3f7560ad3897a6d7399e40857509c6c00b37a8d2a95bdbaa26b1cccfaae213bde49ca41653bb36aa1bfa04dada7efbfba733ec1e13fa91af747427751891bc09e3ecc1af4a1583c30096ab8242854126b08760677ee6496f18209d491513d1b6cab4636fc4685ae3d0971dcb20c2668a8a748466f96e71a7cf27d873f0601afae8895c053c27fb7f8555a46a009af1311c2624be94d4c6b28b8ce16676ab9c4f9b49337eb82964c932baca109f663b71a2977885c4aa5a2081814c0c8b2be1e8056fb21f36545c1772537863772f8c892ce5b43487859d82310708bb47f4460ab2ad8d24084c505a7f79b3cdfa86fe883352ab50a9b62e42e0bd6962a54c348b674627be016ce8b417d1046a3370b5a4320fc5eb993b513b07027d18e6319dd56122f4842819980dcb8efe3909fdb652264ca49839332be33a184012b0b06babf6b90d714b76b3a490c6a44bd10650d8c415141115a713eb09a94bf582f6683ea58a186fb418f0822689504bf307874e13697a85bc06351acd0625e84895e8f7c1f5ccb809bb7b6f42b018434af24887f6cb534054490b94bdd057ce5cd1993725a049c497c91969df8569de0a1a22d0c2ce214c3cc4a29108931c4b486309c859eb8acedc58a8840d4bd12b4bc0ccf7da54fb03021f0ac4c31ba76e6007afb40cadb024fcb74a43a50e43e6cf540001b5083806a63eb942bdbda2063db41908941c53bb46f7da9c10934f109a7343f9cde68889bd79bc8ab617b9e96980207af156031a1b4df3a3423a1583d4e75d5d487cb63470262b15b705404c2b53103148492bcacc208fa1e59ec986244d199755b94acf673f28217f63877a7241ba7a24741a41086fd248f3462db2d12934fc039ec448e4497aac58a715ba98ee804ae6697284964b8d3679b6b1c63a123f20559947056d774c4f08603b31ab133183a025e49c52c2c7564bc0e0c096311342af7c6a896ac0c68b4574f7ab53f671d9287c47a3a15d1a4a71045ace12627db07bfef98b6a194fb8993e6bec463c9915b3abb0822320e3d5141b85483c2817fcc460cb8741c6b879522b8ce82a10ae17c2c330c925e48c7b0b0682b72263c9affde7acf6b33c19523337b797b0e082d380cd0a72554be08a4f2797c72caf477061e241252813673e5173019339f84bba667317eca59b73d98b59e228b0178cc7b223dbecccbf70c16921630214c10024bb9a1797d26b663bbb4147e39fd4c65206336c76b029470ab62fc454b90b6a02a0414c4826542accc4e069c1db30de1c62a8ca8191c3ab0c436b6a47793ab46a86667fc5fa7ddfb3ae13155af8032b57c0cb58b932cebac0a49a3e53a1171e2c811af6018a159cdedc46d3dcc88a69cd936519a40917e4705c4b621f3f2285e7936148661583b1a145c5c4cfe67655d86b0386c46bd2303a6a984b5044768455231648264a8d285ac3b3cbafb880200bb50c94acca11f417988a3c4f989b715503e70b26dfb6ca291b94e66718a478b0d954b848749c21f7b1faf963d861cfb34ac1711c75fd070431221fe08b2b4638cb481c4ce9f956a6a890ba60b3558908d2b07a2cb64162731705232b5a2c3543c2758c5ccf9c30411c49a8fd957b8e7714c2c66cf8512588c8be6b1528b3529c19c5c62fe28d2882cce7c68d2ad7a24517a71bc3a9c029ac7aec520d4b91e1f09958aa452d4988ebf4a3b60ac9f1512ffaa9383a25375d3b7d808530a409ce571a628ca0aa98e2669e6aca5cda0c9ae7ed39d0ba33c2f7665cf49f2e8934f0a7958dd1752977bbfbf87883fda0957c7084f8ae7bd7e418fd583e6c0e7a09d13a37330db4d7dc10605a823595b3a3a784d530e2e1e11c315527ec2bcf
+a4c0f952a45e691448c92eb44f3da199823a2a9a6a4e3f2a7f1720f487baf883
+Ciphertext: 20466fe7dbb13cb64ec5caf0e0b683283deaded7a37c4d64f2fddcb357dc98f8f5da56544287e02dd75005e6ff0915cf18e431a0236f7f9098a758d920f8db1f860b554e2ae6f327f1af8a4f4f932738b9b87ec4ada3c89369a64b6ea3046a5eb60066c7537358e1d5c9f3c0db14d62f6236fdf1581d8e3762d9110bd00f06fa6151a43df3446d6781489822cab8aa11b78fec68365bedd2e53f896a50b42a08e499aec5dfc3278eed1e5629e5d0e6a8f0ba9949959cda49a177fed9ae68c92713ab5364826125d6a1417713ac246557d4d6eda69304ceed2877036311dc07b9eaa3b00f044b8fe4c1ccd45af6d7cc210fb1656d96c1b89d9e066f21eb8c26d7bf6b664259f557033464bfb171487c18e41d34ce7a87d70821bc236d166b406239301353ee6652e98fb61cd87ed360563441fde0c34b2ff2e972a997c6afe47de8846629af016625bae51d201cd330036308c5c4261a8a0387d8e2b7d8ddf6160dc4decddc51b450fa541c6ef41e51715f4346c3664e21fc32f115df46831bbbfe9702ed475966cbfe60c510754083f54adca243447efeecfae7f3d691d38b2e8e6f0152cf0b278ae4613c50a614632682f6492dc7a955314f10c7f9d6d9ca2fbab93879e6ed6a354d15134294f525da870f2bedc30a3065437f218657da524a4c8f05efa62d3d089eb1853a22d3f966a229b6ce8ebd2e01e99f9241117c7ac6edb6c06bd1c3f35f0aedc59ca63374b9ba1d7c534197090da0996013ca628a262c1f78ef6dab104bf5d7a29452e939dca057d41044daee0e899e8970fc9bd7beff3d631070a67dc8e8137794c63999739e36025e4c0eec7310c6827807824ba0ff353cb1f0c21a5d50ddcff8175d276309177e0cfbaa8f2b99797e42df85c290735e6127fb2f5f3e0ecab0e7eff1acbfb7b756d2f19c304fce7017786a61b6874a6b0c335319daf03c7e89ab33cd57b3e9bf47ef4aea4a60d72c4a5c2a9057d7df5a68754afd2b0017ef34ce6bcda2481fd54ac6f153de1a1683740fc082e20ae973260e1ededc70c3c91f3cd7ee256c518daf4804b860e0979c2f70e460206ee22e35028a4812a87b273fcd30ba6759c2acf2966e3e74a693cacf2f3e541606c974e787e31247162acacedc3cb10f1f2c3e1335757bc2592a38c032ec6d862d02c4c08375c3639b0c9e1fdc3141c46303102ef850cdd01e2f9d61f7c268d064fcc10ccf18f88725d220ef0948d59b36b07137cc84486926c078d26c21f3974f4f7b602eed4a345156e9fd3a4eddee173849ce76b03553db74e16db3dd08dd7225dee7a859cdff4edef2ffcaad10277ed68cc0313edc575faa2a2a4736ffbaec80dd288c0579a47b0dfd2dcbafef96b0f461bbd329eb05a8d59bab8f732ac9bffc2a1523ccecc51e9ba7885b46efbe291d83242e4b4f53aa8374878f8b6697ca9d4354f5f3c4cdf2122bca3f1e2f472a3020d4c5ffc71159a70b336f6c52ddc626b79fc576b417cdc547ebd887da67c91b1225cc8a9933fda2c400528b3c3217
+Shared Secret B: 4d098ea2756ed5930bc829dc15950713cc602f02d352472eb189ddda208cab77
+Shared Secret A: 4d098ea2756ed5930bc829dc15950713cc602f02d352472eb189ddda208cab77
+e6d9d5a69ca9d529c70a831134074eedea45f3b53f2004871d7e680a777deb3c17e714a4ac53fc3ffedf08acdf1eccbaf246a2afd830ac34658e6822ee03faec79b7de8023e0e5072fbab9e8a8d9b3848ba2068392208288a50aa8cc3f7c13c7cf4fa9824c29f77a760f0c295206cf5a41d4870af4ee9553b9a37ca8798c7f476f16001724517f50bbb0a7605e83a5660dc177908a11c41c43a1550e75ebf4e8e17dc50e55015a31e5eb731831cbb2ed541fbc3a340170292f2ea5e62ce8b88c94430e6ec304c4e20522ad0a0a7a8ba8cef5c00c3e995a433cb6b59ff8f7aa9b32449291039e62eead1f21393822c92dd7f8a83827a2376797d1bfcd5b698527707bdd4f220b9d92e7496eef569ac9109f4439a40f5450523de9ecf5f8ef4b472649a6f3d2c62e4a7cc72ee4f36e15d5f3eec39a8b7c2db2bc4b36528c0e63958729b689ea4c8ee8a36f6d6afbfb98a50e97b75e7e85482ce08e61c35a6af4f609d746ba083b0c156ef4cd567bcf2105b5c6d90e34deb36fda161cf64a1c4cf7a39658d91cae7d9234345d719e70d3e3bd21cd52f7a6a0db17bfdcc15d85cc292fd344674795b81c8fb7132386eb8af0e5e3159f3e2b9d57309a082dec317a05bd3df9658775e977508f5ec1b0e3ea2424c79bfd283dce48efa99a920ee8540c554f18faae0ddf2a07abdad49503503b8039074085cd0e0337b7d03cd16c4a72383bd736a2de6938f9107c75af6464b18cbd91255c502ac70d66b28c1f813837b8a9d715fce514da78a77f1fe5127d7cd981da296462b3095107a7a9c9f3c9e463603f5b664cbc9aafd07f875952f792e15eaa4c1ab1b6cf9fc9b3ee83e54d9d0f5c9fda1a33552db907c11a770e2074c9f262fa7affb6803c422e21b0924f74bf5826e61ded73942b7e8e7632939ded9e10bc71a9ab05d85adb66c7ff0febe812a7b6f7d8765589a9b6149afe62d69cd20c30f38aadad911362101c370706202e2dbfc37a38a74e6879038e374ab09d8a1e77a871ae0672b45e6c7df6493c10a62b608c1dc1972e6686a44268402a51227dad2ab9ba9db01e14b184dcc4a98d6bfb5a0d1179198049eff88257cdedbc2396e75e3af26fb6d16050d460683d5cf79cea43e0e20163d993acbb0b188eb7d39f6b304712400df23aabf97db252a874304f2decea932eb85237f2eb4995e537cf149226cad3c37f9b6e822a7da69c22987503f166440340d9ad6e255982d57bbfa79664509b718e9bd2d1f22b64f0495fbc2c82801c83056e45528651bd58f2ed84830df98d094d19d1c457ff287a8dab62ed7cfbd02c79c1fe02975bbff38ea5691312567e9dca83b76ecb3f068896dea338b8bbb89004d1159d563827d2aa32333146951c912d4407fa155cfcfa058b1c79518c62ea49ee99fd76c9ef74344e9d2f9ad828a84e693a471a5cd4d144d5b2c4f24dbd5d15b628dbd906d1bc2c07d4d4776ff4df1591adbb58f2e68649cfb76e4eb513c7155a4600808b31eb123908a168cc491145ffc3b177e6ef12
+Pseudorandom shared Secret A: 9a78e3995573ecd766419a3c47a2902e4fb9c4271a8c41273233b139ce49e239
+5a0a7b9cdec4c5ff8dd23b9363bfe36024538834628b2c51d4006b2e1c1a8237f012556160316f659cab6895d02c47deda1ac4ae347cc23c51d8ce6d6a8d29e7
+Public Key: 4b022e127155dec9717d7038d7322a85772c752806560771351a9894b19b76312cbe5b9c7a54344f241eb81a2aef728910990e69482e5bc4cd5271617803a4b7eaab8ba95aef0012397b50c7e1af34b8c384728f62f51f49a2af694160faeb37f43339f75988b5c6ccff3bc2db669d748c94734b84ac763407721fd2a47a24f7564a4480579c1ef86134d5455db95445c5249364a94f74a33186f9298fc7329316bbad54a249cc2d4343bbe2ea2ca1d09e4dab85415525bff4cca75098a750c510ab7e9db63294cc97c1a36083282bd5f69882a86a154949657c2bb6b3809c279c5230b998b06acd9a4a61ac755019bf395bc8635843d642ccae4b423f542d90743cc86583554904c9e443f6cc9067a57be0b751a88238eca77d4225832968bd358772446028a549cb19845ca56cc04ebb965186b2f76a01daeac1ac60cadbfb39835837daea5cdaaa191f9a88581017be42a0d6410e495704311553bb320633490072a5891b251234a3684b4b7a4610986c861216203c7bd700aeab64ef882977737219224d9410cbce10ac955a6b39497fe468163a9230653a5303d07bdc56081fcca726f982a3b882fd59b5db23283b29b5b4a6b0becaced8762097001813e829803b53752c4768157d981419edc09e0eeaba2238955f02ba7e8c2a13f6ce4bc8991ce38d5a8170eb486ccd587a106531fa6ba03ce98e243901203a6052e26b71f5a7702a7cb1959d12667e0420c1acb3bc52d68e7a8b19d0c43ddd077094ab1e7485837698c22a895357e9483f7b166f92c7996b6c3b36152965867b353f8cf184009b2b3488a624e203ad72bfb6788799622d0822645d6412a5437e97c603b653457318b29111609420827c5c13b9498a762243e1e48a682c6bb3c624dedcb3962251ee4201fb4085e4c41677f88d41f34b99041735010246d46ce939329454472b752e8eec0bc48c718fb52d9aaabf9b95a9befc32bf8279fa88aa21e399cda6794dd76205c4529f09484f8a1e3588cdba570abb9b73ba37582979a4bfe3922dac0048b56d7971962f38ceef915e90603cc8d079cc465012c198e023b95b1cb027881b095367a1d840f798954dd96ab815b9765397b96114a554aa15d154eba02a7b8c89e413c749229e1b759680e2be8e0745cc730bc7276ad20526371106fd316e200633f945ac5d571f53eaacb8a26069938462399b7d83c608f895fe10971f468ab752a1cbc97752f1cdf67c23e2a10455e758b7b9659528142165049dc75414e136acb89fe1aa2cb7e1bbd7221d0121a4a9089d0fb2a50bf65b73514b9e231994e5145a46105870962321c199e9565336634d351b7c65af87544905c8582609629002bcdc46a360bc8d7b2c216189cefa473c0d33a4546aca961acc23c48b0775918a697e42576980f24d95a619db93a8c34b5ff9a93dd673b699ab0b34fccee7d2936d35392f2336715c14f897069e9b38f02b75d6192fc8ca6ce5d78dd61776f61acb06b80ccd1ab771a39eb4792b42668a788a702dba8f9c74c8d341b1079b610dc3b183f6570046559b351f64bb0cd288b1af22b6cf0631aa5384a30985fc8386c9a1c9d87970ec78a75204b4c346abbfc69f4660b74a3aa1e82e7cfe2383ef76b1706b1abd0206e846e35b417f8b5e8b36e29849ad9acb4f
+Secret Key: 65dbafe7756f7101853632bcc48c6c900b402fbc78d4b41efbc155a55aafd8925f876c52327b5b2f5a32d16182778809ec6a56013b1053297366179326917e9e8995bcb5ca572939fac0315ef328543bb1afc29062a2665c4b61e477072b80ccb4b2991c6830a7139a2173a889267048f00bebaa4d1cda29d60256dbea8127506bc135be6a3c870c3737356cc24e04c95536cdef0866a4c13531243488fc446e91382bf178303cb65a67cea1f7ccea276ca3706ee7bb9c8e259a50b8090fda564f355d442635975a498f64ce1804ca9de282fed67a44864a81a53cef99904d591e109839aea69da53cb84ca31e6f441ec499b9cfd730a71c00246c7a7e5954d4919e36f1a7bab858bc6a4f1abc418f7b87ea19322f749f3610b267b444468579a5a5be06554f6f1a5fb7c97c8da38cf62052e4519301181337b644af5b4a6dcc21c687a29c57956e7501ffc90d3b754f3de8aab3a63a5deab82fac4a7eab06d82a39b588ba6bfc4db72c35a74944e2d3696c765d52e92c475090b4a50cdac51757e13a08f2088cb9747167581420a072d07052841326a3b5acf23c0c417d34050aeb8b33562bafc0e0372d009b5585c1e22a4929ec3878f7980670222b014001872b9870698b55a519ab301089041504b4bed757e8c54949748a0a7963440612c6fb31d6480d10c8bd8141ce390b691673738bdab1f30273762c149f4a6325b139923bc8e5019a5fe858ec435232a3b4a489bce6811e569c324d363d487615eb6380f1e87450670b3c37bea962abc5f623190162712693d6fa57d3b5917a021f00482acd7ab61bc722240586498039d36748ab786dead54ba79525435995abe07045113db6719bf169846e7251e1231279ab427e5a0c9e3c36df0020067a7183a6115a25625ddbb676575f1129c818749a14d6572cfa7379e6ac94b2436d6c96651a0bd1d875c36667a6119b9ac197651865935c8f44dbc005b4c1b2372e77cb6183e8a24678c61f142da9187626542fc3473995272a3c68bf4d45544e4a58cbba0e84e0b81e1530adf0c4073a51cad33fec24a485105aadd62291455045e40d34e7486cdc21f32ac761d54db2423fc2c6c2430124615731f9903a3a132a5bfc19a3e6749da052592c79ecfa5569768dd9f0c62a660122d54e76720d4f488e1638c887b281d428a57d093c4e4b4fde520a19b73da9d4545bfb7a8f530fb8971df4f73f392a55d7e4bf7f595065d70f720b5da5cc5f6365262a6ac93901407e1ba94765031ea332ad0854ebd23f6fe03815e28c9bb32c4b226b94966e62d6ace56a605a3c1e2e865aefb55c3378b69be4400b05abcb68c30eda4a55a695ee38359d0c7584d60dada07667191399709a135126b86416c70c39759723f6d49238b34b06349a7d85203d901c1ee1cb8af20f03d84817a23905f97a9492b31c7a5a933a77998b99e7659dda3b5ee4b3a06de88a1042217811285eb06d9b8ca5f5236918e2ad0f9286a3040ddc6b9908b453f0a925aee2541e2a6348321b39217a19c60485d05a7246b6737433a810b95de67c4aab33f2bccd1e95acf36961f2a4808e0a2011293473149215b32b831702718c2dac324ab05280cb1b51cc522d2f981c4b022e127155dec9717d7038d7322a85772c752806560771351a9894b19b76312cbe5b9c7a54344f241eb81a2aef728910990e69482e5bc4cd5271617803a4b7eaab8ba95aef0012397b50c7e1af34b8c384728f62f51f49a2af694160faeb37f43339f75988b5c6ccff3bc2db669d748c94734b84ac763407721fd2a47a24f7564a4480579c1ef86134d5455db95445c5249364a94f74a33186f9298fc7329316bbad54a249cc2d4343bbe2ea2ca1d09e4dab85415525bff4cca75098a750c510ab7e9db63294cc97c1a36083282bd5f69882a86a154949657c2bb6b3809c279c5230b998b06acd9a4a61ac755019bf395bc8635843d642ccae4b423f542d90743cc86583554904c9e443f6cc9067a57be0b751a88238eca77d4225832968bd358772446028a549cb19845ca56cc04ebb965186b2f76a01daeac1ac60cadbfb39835837daea5cdaaa191f9a88581017be42a0d6410e495704311553bb320633490072a5891b251234a3684b4b7a4610986c861216203c7bd700aeab64ef882977737219224d9410cbce10ac955a6b39497fe468163a9230653a5303d07bdc56081fcca726f982a3b882fd59b5db23283b29b5b4a6b0becaced8762097001813e829803b53752c4768157d981419edc09e0eeaba2238955f02ba7e8c2a13f6ce4bc8991ce38d5a8170eb486ccd587a106531fa6ba03ce98e243901203a6052e26b71f5a7702a7cb1959d12667e0420c1acb3bc52d68e7a8b19d0c43ddd077094ab1e7485837698c22a895357e9483f7b166f92c7996b6c3b36152965867b353f8cf184009b2b3488a624e203ad72bfb6788799622d0822645d6412a5437e97c603b653457318b29111609420827c5c13b9498a762243e1e48a682c6bb3c624dedcb3962251ee4201fb4085e4c41677f88d41f34b99041735010246d46ce939329454472b752e8eec0bc48c718fb52d9aaabf9b95a9befc32bf8279fa88aa21e399cda6794dd76205c4529f09484f8a1e3588cdba570abb9b73ba37582979a4bfe3922dac0048b56d7971962f38ceef915e90603cc8d079cc465012c198e023b95b1cb027881b095367a1d840f798954dd96ab815b9765397b96114a554aa15d154eba02a7b8c89e413c749229e1b759680e2be8e0745cc730bc7276ad20526371106fd316e200633f945ac5d571f53eaacb8a26069938462399b7d83c608f895fe10971f468ab752a1cbc97752f1cdf67c23e2a10455e758b7b9659528142165049dc75414e136acb89fe1aa2cb7e1bbd7221d0121a4a9089d0fb2a50bf65b73514b9e231994e5145a46105870962321c199e9565336634d351b7c65af87544905c8582609629002bcdc46a360bc8d7b2c216189cefa473c0d33a4546aca961acc23c48b0775918a697e42576980f24d95a619db93a8c34b5ff9a93dd673b699ab0b34fccee7d2936d35392f2336715c14f897069e9b38f02b75d6192fc8ca6ce5d78dd61776f61acb06b80ccd1ab771a39eb4792b42668a788a702dba8f9c74c8d341b1079b610dc3b183f6570046559b351f64bb0cd288b1af22b6cf0631aa5384a30985fc8386c9a1c9d87970ec78a75204b4c346abbfc69f4660b74a3aa1e82e7cfe2383ef76b1706b1abd0206e846e35b417f8b5e8b36e29849ad9acb4fbc81d2e934b56e773510727e7bfe175b6a4a4ac2e554986478aa665dff722217f012556160316f659cab6895d02c47deda1ac4ae347cc23c51d8ce6d6a8d29e7
+c70fcca770dd361562b612bd2731a4738c9b7af62e7dbf290b1f530c6984148a
+Ciphertext: 7128018aae8865e78240dabce74a93b38107981bca199a4a06d40ad4dbf482b968207d048ecbacc9978c82f26271dad6f91a07d44dc84a4d277608c1933a70bb8bb6778ecdd0dcbc7630cad3540c474f8cb2821a6e382eb262c60b498fa9005846fd33d26f9b13a4f13b8af3fff8fb34cad30d987d4397c3dcea7e17976ea957a8f9948bd0e165cbb281c698350406cf5ef7ad44ee2c6a2d390184fa5b2d04f73a70d8b35cbb06322e69bca4de261ce7a78d86232fa1b264f40edacc6fb79aa4fb39f9be0f6a6fae6641930176d33b65869c3db2b99f247a72c5da9996a2b9e31027ba6f6d2854bf58d553019ea40eb84d0dff2098a31bbc7d49a2767eec2c814b212cfd41c0f2b58772a514fdc96011ec82a2d9d57157ec511899195b7525055f940d5bda63d508d5fbb4cb722ca4a52e8ec2bd6f73c7e37e9ac90060747d79a4435d088a6ed2c6586944189941efa3bd10e0c29051ee79d70062077ad9e6579dfb56a579b8280da502e0179e528a9c987cf6db9dc547edf108079568252569087498a612732c4f20f2126787e3a37f330379fea1f925c07e5a20fae83f068e4f96747b4529415ef622a002455657df2d8ec59593993aaa51ad67c70f43c606f58da8b22a02c4247c55768502b146bd9c8e40745edb2ca633804714f56f385d587a7cb838d1cd55aa62107a7efcb9f32965b9ae3a5442434467d0b45ab6e0126813ca60aa20466c1ec9ad28e332e77e7727cb930cb0530585e91584bb0fa8a66e98681570463ecc260358adeecd84a265d338bcad3e9c3d225d3dda80104069019d52f5c89a2d494d8267ccf72f942b138dd0101d6f00e147b4a622ad763318cc0c7b0a1508a7179160286e88fcdddcb171653fcbdc0ddef8626751590f885c281f9edbb1cf6a8eb428cbb8a2bdce036a8f989871351e90fadfcb1b1ef4a93d14a4b2df6b944fcdd900986fe097452e0390346d7aeca016acf2891d51ed7b4bc467d0b78c769956fa250857515a0df429c18f84896ffccf077b91f56db46b33d05ee219d38a841aecb7a53f15b82c91d77052390eeb64819264c20b896be181fd9b8cc3ff8b1e23f91b1678ac93171a81b3362337a7693e64db12542384d6def75bcf3f0decc46ec548df4c8b7a46c788e1d681c40651b00857c90c65dc59e14875707f8a04553f0bd3bc33265fa1123451997f06fac0748177db02f06c9aa52a112482483b64526a390c7b7af25d7855bd44b7c4a2315d0598aebda404fa4390b62e071a1fa903e1e744ac805a427ccd176217f302bfa54d8e1511e553abbdf225986db659fac8bdbc768dfbff7357e997cae8b0c7a4c639ae29c0c345973d66c28b102e8108b03c04a06f64cf4ba4a6a11a030cb09e00f46182ff7657571040a51079cfb0be41e111edad44fc28d8618e7b461f47a75cd98f0fc5af43edc0c25273327a6c2373fa424b7bb7bfade95440e72f22e35056f0e05b30319c835db87c080759f7c45edd437ae080cd21bd223643ecef3ce7719f7cc48b6d3105a6
+Shared Secret B: b8217e431a17a233fbd3f30de509254e4672de60062c8b450dfe64d0ad8b924e
+Shared Secret A: b8217e431a17a233fbd3f30de509254e4672de60062c8b450dfe64d0ad8b924e
+cf14b53c0633b0fe2af12d74888ee7ca43b2655c11a76532a73cdb8824fefda973e0e91561e852107e7fbc3f2baa10b320ca15d2d5f1091c3111878d481274805bc6d128f44d3b8d169e2fcf0ef94b87c8609ee095f35d24bc1bc64f40416ba133ce505ee09dd05be55e9b99e03c6b7298c9be0b4535236488e5746b2fa1db2bf33025c4386a68abdd41e2493e10b941153146887284ffaedfb90c814b0142ce7bae311a0feb2a8dc01301b6ab4dadc1ab81f8bcd5cf70ccebd71ab8bf373eabc68f9a4a8f5f2177434353b4abd8407af92ec6a1ca0653c9f20b561f0f5fdf2a746226ba82bd0ccb7b03932524ab5b3ee6c79a90d46afd30fc0445ce537a0766686e3fcf1a3617cb6176521b901775d915811488f51568b0edceed2e945209ce8070f1fa593cd531426a30f0e46d7167521be18d3412d0b51c5004518abece7c7d1aaf031e699336520c6854cb3ecd994dbbc0a41b17f91f58e66253dd225d649cb3001598a6198d1e704c9e829216270363654211ea52317c1e067a52456b24d85d455821a6ec90f73b5764b95a47f591f0d7af3796cada20f3002ee71dbba4d21027b7905c44a2cc83a0f057197aefdc0fe486bdf7ed9767c41e524762df17b07fb9b81156a28c71b3907d1542f215e442626c6ed4e86d14d5c6bfada09d8759423870f5551fc1fdf87461f8d283c6b1c7ac3fef2d8d119600663db2ab90bc93b3b1462df9a52394789c4b718ddd9d7b62156bcb07ce87d92a87ee6095748ca2054dc2c9926b87dba44eaba546befaf419fa258ac2962b23ae579edeac6d294bc399fe53b422668f77918515dc5c411b7a20747c2f5efe5fe0676031d09724fc2c5d818614c567310a9ba4f7d794c2abdda2dda116a95172eecf456b1b985998c317e0a3f8c4798f706e4545a0473b46bd853e18eba053def4b1b2a232a057e6aab590d6703ef93f3faa563062ab818e7cd93d6ba2d2a733df68e28148bec26d24404f5c9a3e7592259b4e7633845826014794414ce453f9b843259e369f22b55f36547a8bb94cd5a45b27b91f212b5cc69e5daa3d3cfe7962d5c519fd7931a3128e4021f38628d5ecdab25ede1f5d038ce8597083524200b9ad8ed5455f025280a41fd32109daf07ce44e22d33c589e987da7a9b8979a76c8cd9d04b23197511cf382357cf96326ace00df56fee7cb53c422a3faef8d0f992ec3def1bff9e6ee46436fa393d53712d63c4b67c1998d182b1f65f2f3600a028b88434a7a7212529382977384ba9732ae2e92bfc5ae8c6d605bbd1445495d3b2f89e30bef8486f90ccd6e5fbf2c77400e73913aa5ec0f11fe9fad2376f9a6c45bab6c699d0e4f9e6ac9f52120d3e5f75cf8f92159960c8e1208cd5f1cabf31f4ce8c6d9384269474d3385ad5657a42185016c714ea7b0454c0963e7e77060d8b178c59f25a5775f1ecd6dfb7ae41f1042435470511d00adae1cd11e24175b2a5bd666ec3a24e36fc4cd61fb7f591da29b28f88e23f2eb304c6fa2b63fbfde7a36329b899a0c4
+Pseudorandom shared Secret A: 425357bd9c736b2ce0c6c548bb2a76eab4fdffbe0eb602d345dcc2aa2278ca9a
+bb1fada617ec172deb03478e87abb75b9000e7cae48fe40adb983e3a30a83f4296cefab1f18f92ae2b79365c284ca5f3a6db2d987fac3e983bc8ee0c06c59b55
+Public Key: 62d17fb6c88480031680fb60047892396672cda6ca76c97ef633408319059e292189910b64fc6078e514642970f1a5187df5522fa585f0e6673c53a8076065f2e1a3c4b761a037064446cedfca6cb8375de0185eb472b34d14a0aa7128ed39b0960861630975c3c038ded102f658109224ab58333db4a556a3d15a2ae2a1657c8c82b1b260b6a798715fd6dc21854c86045890a755058c003d67c077c248c5fbc37863a56ee3808acd8879f06319daa8bece7b07a6323daeac275e193194528db3115a5e47950d23ad1be76e31048461783f477900c8882793c28ecf8358e8e8016d0156d91790643a14dcd17ba77b3413d51d40684018d63137f61f1262c18db534ed460cf5f2484643232887c67c23cd9f7ac9557420b3f6c8f1b64c3bb423c46b7c8272c05cd79113466bc664123d94853350bd7ceca1130238b5b3070f9563049ba4c6628fe012243a384f5aa1455a12ab8dd322186121b3e2450be97405a20b54a193353baa9e11cb8d15cfbbf31945564fa6180ffe100e1afc6572956b091a46b08c180ff91dd9592684535c8e3433f2e367a5e6c1ce622e8c3033e7d79f3a0c7955945871d8a75d3c81438b40a4c790e4ca39ebc6509f9472155acc89795b386007912685d0dc0cf66cbe9a6478cc674a1061941233c4523b9e54b54dc889334b3a7757e043207b644c079cb8f18f6361ae3db78a29d445ac36ae7147a5287b24c70bad50006f73f5ab53e03266a2913e016277a89133224060e80cfb56925f234432fa81fa20c22caa6255c3a15777b6403a6ed0245d32287c97827362c489f118c7dce97bcb9a8c0fc7b664050a0e8c28ebea3855b5b11ad426026cc3295c2c6cb27315950ea56a8023277534ea5fd046c84f358677c3b9a967c8cb8b786399c0d4117f12ca2cef82ad8fb09ce7809c0bf8ad001512c4da16f86048b8120893b042f5a147880a7a65eb8be8fa97aa87aa920260be54bb1b0121f58124e8dc1960e566e3d73bdf303235b74fa8362dbbe7be50b5296575c6536690304cc8a8813b7f0b039ae13d9925a66af067f0d5a8f7d8c00adaafce3477f079317ccca6c25bcdbaa1c0ebaa27ea34c3d0e3276a42bebde3185604b290446cd74b6d6638c6a1a979c6843b583a7334660092f525fd7a6d87905bcebc1a28faa840a38fa2d667c5e75c416a559ce190007b74b7e0ac84d2c1dc385f6d74a551e01caeba1e9ed64845c893f07b204eb57c0aa93248fa44cc45bb052813c60c4e637732a09978a796071beaab0770393cf80089778327e149262a1e39853e43e5a8e08ab9264a1a71a7cbec339249d03e04f5c7a7c63d4c31c58e43ac3c88a22e5c823320016b44a41a50a6747468a839b44cb839ef76679da3a109d995e183a4ed37675d4a76706a82b2f49f3f5801742169a6b94768367bb7d03ea77127b6f80fd8a73dbb1b32a696429f2811504ab3ef4cc9cec8aa342939d81822f7a43b2310abb47109eef1298dd9c725bab97836b571ab8f115b85416187467069baf0a35b4763fa2546360caf16bccf6ce5c02d583956b45a7e684f672104fb774acac67ff826701b0abdbf4b0dc7114d7db4a921200211fc2eee24ac41b51ca895c25ff8b002238042068b99953fe582d7eb1d95c417c5f9861fdff70bff188da0e379f2cc
+Secret Key: 4ff3c0e9c1923614427a346a6a74aa9ddc9e82040518e8a6c73874ae7735cf45ca523922b687ba198472ef47b13b653cd927130c563aa3560f79a120e16bb84660ab633cb9f6d993820b7273b6656fac751e745411c894336841b8138241475594cacda98427a4d63104d415278740a299afa077ae1a1acb2efcb536070eab481318a19a890407827b9b00cb70cfd776cc4988022c30687b6ad3d5889ce277bdb8244db8122076a0bed75d5e187a6520c7b1192f9d3564cfe5acce6918e8fc1d7296309648b9b352a7fa17235658a0ea3b25a7666bebdcb3165a7ebd72c005a9b469b064233872047358fcd367070a446a630ee9631cabf72077701153b084a5746a9490b0232c1e11e90914c784bd068df5f05efb5a58ae8b59786039e27974a13c88ec998160035e25c8125c87be70dc609d08634982756c81558ce37cb2eb7d86d00187a24958f1085c71a34c354da49ba45d8696114235127300ebab3fa3a674f1f474d0fb1f9795118788a318f63c48e674b31298092825b9002e0edb2582c4a95d617b2dd44eb3e867b9e1a52fbc94dfb586f6eb1aa9c0835131bb1845a4a3d3089ab8ac7364bc13e2b895d1802e52b330f194c6a552b57c6d718a3b6b042c42a53c4cd784135418fda605a346a1919651d4d81a3917c792385b485b8856dbb74861878cc7344f48b2f7a403cda1894406680b9c9ed97c36bfe595b2aa63037c3e51dc252da5370eb3cc554a7c4e1c81f187c5c7d0c1dce22335b30ba9717377ca4b1e1c8fb13134d2b3104d875d38c02fd8a43c12e1598c111afb4a06aff91b7110a95537324b552794f4c84605c3df36a01419cb2779aa73d683fb83bb2250847e6c3951c600d42214ad54cd0137532a85679659a9cc1b0fae05680bc92d0cc52c76843f63d17aab27747973038e873f3006244b911699c13cc477be9c2c4319cb3cb46c2e48393d7691c5c345cb9cda3bfa887d0354a24bdc8881667dbf3889759c3379b011408185243b069ef6060a901c38971466400072c9860b3a3c4f71b133b445087301f1b22b2f73528889cdf9d46bd1905eb62a4343c3568178b9ee4849aa1277f5444397e63d49c3ce3d19782e73007e1686296406b38a3d502b3909058d15d6c58167b263408314450a1d474e6d507f82b3c346638165a0444df883da940be53acaf4a301e15619ed9c99ad7989456ca403a4a17ce29f30dc02f8e288573b4fbcd23444e1b574d8307c324fb4269b5d43aaba0b27b8897df2864f42a63a80c0a0359ab8900c42f6bab36645b3c30b0cfd5b8fef65ca14466d7a43ac65ac871f6968dc21c6d7807284d203dfb1c3493b779b910f8ea147215b0c5856234b980bf42b3c5cb255e7151caa7456657561251216407c3e2fc96ba730874685769501c40f6163406a9d20da032d66691855bc53dac32e350700cc2656cc39bc2ac9be8a40486b0e7fe1b04258b2656cc50b5896ee54b9869650570170c22bce4cf507b28ccb42a8cc21267be200c719c49c3230bf9bc0724861ad11db8be8b4972df989e2a1c2dd83c5e411a40e1480e96ba7b69b0f0edb5ece349a39b63247fc8df62203bb14c07a9597237ac1ce864e2758862153374ff65d62d17fb6c88480031680fb60047892396672cda6ca76c97ef633408319059e292189910b64fc6078e514642970f1a5187df5522fa585f0e6673c53a8076065f2e1a3c4b761a037064446cedfca6cb8375de0185eb472b34d14a0aa7128ed39b0960861630975c3c038ded102f658109224ab58333db4a556a3d15a2ae2a1657c8c82b1b260b6a798715fd6dc21854c86045890a755058c003d67c077c248c5fbc37863a56ee3808acd8879f06319daa8bece7b07a6323daeac275e193194528db3115a5e47950d23ad1be76e31048461783f477900c8882793c28ecf8358e8e8016d0156d91790643a14dcd17ba77b3413d51d40684018d63137f61f1262c18db534ed460cf5f2484643232887c67c23cd9f7ac9557420b3f6c8f1b64c3bb423c46b7c8272c05cd79113466bc664123d94853350bd7ceca1130238b5b3070f9563049ba4c6628fe012243a384f5aa1455a12ab8dd322186121b3e2450be97405a20b54a193353baa9e11cb8d15cfbbf31945564fa6180ffe100e1afc6572956b091a46b08c180ff91dd9592684535c8e3433f2e367a5e6c1ce622e8c3033e7d79f3a0c7955945871d8a75d3c81438b40a4c790e4ca39ebc6509f9472155acc89795b386007912685d0dc0cf66cbe9a6478cc674a1061941233c4523b9e54b54dc889334b3a7757e043207b644c079cb8f18f6361ae3db78a29d445ac36ae7147a5287b24c70bad50006f73f5ab53e03266a2913e016277a89133224060e80cfb56925f234432fa81fa20c22caa6255c3a15777b6403a6ed0245d32287c97827362c489f118c7dce97bcb9a8c0fc7b664050a0e8c28ebea3855b5b11ad426026cc3295c2c6cb27315950ea56a8023277534ea5fd046c84f358677c3b9a967c8cb8b786399c0d4117f12ca2cef82ad8fb09ce7809c0bf8ad001512c4da16f86048b8120893b042f5a147880a7a65eb8be8fa97aa87aa920260be54bb1b0121f58124e8dc1960e566e3d73bdf303235b74fa8362dbbe7be50b5296575c6536690304cc8a8813b7f0b039ae13d9925a66af067f0d5a8f7d8c00adaafce3477f079317ccca6c25bcdbaa1c0ebaa27ea34c3d0e3276a42bebde3185604b290446cd74b6d6638c6a1a979c6843b583a7334660092f525fd7a6d87905bcebc1a28faa840a38fa2d667c5e75c416a559ce190007b74b7e0ac84d2c1dc385f6d74a551e01caeba1e9ed64845c893f07b204eb57c0aa93248fa44cc45bb052813c60c4e637732a09978a796071beaab0770393cf80089778327e149262a1e39853e43e5a8e08ab9264a1a71a7cbec339249d03e04f5c7a7c63d4c31c58e43ac3c88a22e5c823320016b44a41a50a6747468a839b44cb839ef76679da3a109d995e183a4ed37675d4a76706a82b2f49f3f5801742169a6b94768367bb7d03ea77127b6f80fd8a73dbb1b32a696429f2811504ab3ef4cc9cec8aa342939d81822f7a43b2310abb47109eef1298dd9c725bab97836b571ab8f115b85416187467069baf0a35b4763fa2546360caf16bccf6ce5c02d583956b45a7e684f672104fb774acac67ff826701b0abdbf4b0dc7114d7db4a921200211fc2eee24ac41b51ca895c25ff8b002238042068b99953fe582d7eb1d95c417c5f9861fdff70bff188da0e379f2cc0ce81e947f18f3c1271a374381506186c121fe5c8dfa3e3fbd4f3dbad5441a5f96cefab1f18f92ae2b79365c284ca5f3a6db2d987fac3e983bc8ee0c06c59b55
+dc0319e048706301ce51438920bf386ad72db2ab92f0bb9b6b36e452bc5870de
+Ciphertext: 885a4096f5e29b2bc6655b171cec9071a9b1000979d262cc80fe41209288cbfccef3b0336257a3498312d1872a3ce82dd961360c229ab397431a1dc0870c1dd84c052d9d9c98f351d7a109e7001fc2d9e96cdf813bc558e585792bda08564c87e4199b20ff5a9aa693181b25102e81d0910cf36ed73049853c5674470764929898c002e647e42f450614349604b4df4d139e65f85e728b3fc60f864380c384b1bef3dca469c6e43b8bf6f00fb86c9f08731b6df96441338824879eca0fbee6a3b726d8ac51ebbee951685bcaaf32675b71e1cd2f04f61772aaf440378a590088894d98040b247b860ba6ed976f90cfecae69d49db9a1de766a8f669d7f6f9e664d038b04daa54110851606b108f097706fe37c65fabd3215d1d8c8fdcdc1aafe1a9ca09e08d61f4c0ed100bf9cc91cd2dcf4c709317f6c33693f6046095a4718e0a7e366003fc8e92470f92ed7ea6df481578f5503ce8e856afbfb6df53fcd1ab0fcc4439ebfcc0adac51bab333181fb4ba277d755b44390c64f1d8f404a8ca3ef74da2cc3d756bf780bfa2948c0839d2aadb32de2ecefc14c3315017f8c03271e1b16d48bb5ad1cd89bcde46720ef429bdc55d385c3a31a4675598163eea4cbe14084ee627233d95fabd6c5e317a32013c6e9f7f6746d7e7dd8f90a4b7380e2552f15a71b15c5eceb4e1cc89893249dc425bde88740c129ad50174f09964be9102ea2fc4735329a80a3eab5e2e1940a1b6f5bcc4d0640afc475db46a45ed78a7be2bef233494abbbbe9c4f1747da9edaea5948b8f69dae1dd27375a331497e1a1e8dea6164e22229ef1134c8eedbc470237bba46795451f11caaeef4acfea10563e7458ef62361c3caad4651dd8296cecadb60779f0b0dbae8d92a9689a51b001f1e3cc919055799356e881da661d168843e06f9a4a0f2e39ffd93b163cc5d623aee2057e2b256c10a4b4d30cf80236c94686ab402695d1bec5ea14ad69dae58785fd47a22acdcc76a5b8acd7693d642bb8935a5c4ee229ed0365145fca63c5aa14fec77efd61053946f4975d79940639b352fa2eec54f4b2b6c97d0fad63c4590725604c1e89452c1fd6facbead50a5153b013e6851b6cabf24c81841917e5c3c794ca8bc2f762f483d22572a80e6fb689225a89908b623524ad546024dbff2a654fd792ddb492494a3a2f1c1c9c97faa6b66cd1646d7d9c4f320ec897585e2b3b0d8528b7c323573e940d988c5b025795ba919efed59a098f929fde986edf48cc3e13b6234cbd1c76e79215e7ce539e377c272369e37fcecaa43f9efcbb94b86cbcf2d1b3214c3ebc3d697eb034e8165af38da66fd10f51e544519ed5a4d661a7de5a4f262cc4dab5f47c0f5c013279d4c86b71e13f64297adb5c5790e52342b79bcaecf1d602e21cfffa78fdf1761c82683704529b0df483af9eb386d527e2bbb38820e86cf29107a9bce00f86c4f6484c0c2e2e1507855177ef097e15953bdb43b71081cc2dd02b9f2f682317789709f8adbcb146cdcfd5531179d8dcb7
+Shared Secret B: c52bb8656cc9c6b1df909e48d2038b7afdbf042fbb71602602a6cdcbdc5416b0
+Shared Secret A: c52bb8656cc9c6b1df909e48d2038b7afdbf042fbb71602602a6cdcbdc5416b0
+5d93cd8c45b04317c32543d20640529c075e84eb9c57023ab6890e328c69af3340c62ae0f39f32387d0c906b4c32a40e84dd40d10e321fcc396d04cc1231effb2b887a3a28434a76637214e04e74733ce8774096e6cb67d7a212adb468a54ded1f599b995611d2b6a4868d3e4bab0183622eee1aa3f62b86ec60f13baea91fdfa56b4194df169f902a31ae56c8cb19f75b83075112d6853e89a811b462fb53a2b4292c468d7a14e671475fec24cc3cb38a2e19af1fa5a123d1f7204d63c2bf59fde90b6fdcfb14f03b86c263d6d991703ad05876d25fbcca6d34735d95b0caab4e6c1b3f75682c4900c011692fc53291b8b1c0b7f5937c449e202c656cf45a53ace83ce770771b2a05ba7915fac5983eafadfcd05bca3e888b4902cfd3beca418a53a9f96ace52abb470e3b77f9dfc8f79d702f251c9f63e6b9bc19c4fc67d099eefc463073bcc49908ab27b67a4cdb79d01695f6e521b1e43ab6024605a3064304dba71dff13a8307a4c5de593d4da7cbae2ac6953690150edccf35b1719a7c3ff8014627c3392d4a498734ceea111c55062d2e63c83ee802d38846ac7adf2dd2285aa3f4b56b9fa5644a82ee19e3d685d34876d1b94077236f3eaa93390b60b9d1a594d9245ba3201545235146f9a25134a46ca3fb04ab0230724055bb799814d903b9607c73a8de7128b816f60a7a740449256229df050389a5bce85bb7dded2c333c26e3bfb816fdf90c5bf4edc6a77a75b19f24a54f95030f063497740fa92a263a925b2d6ab0990de10ab8236728bd43c9fe15bcc2cc505393fafe13c918d895ca0cd032889bfc64bfcf6706e71f3f975d81be9f7d18450e9a83eabc32a6eb436ee6a7e8e81146bce41a8297ee07a24b041d187f86f154d212a1f377bddb976cf33c77abdca03ad46114e8e3a2114c4fe6405686473c74e86094326ed78d2abc386407096df8043b5eb33c8dff2ea81b3ff147e615f782fd7ce4f512ee70545412e44e652eb9bc6f2f99e013099553257b98cbc8a1f83af0b77f7e6860a04f68a8b9232b7ab66b734ef893659e927a4ac5a8c5753ed480966f67bae7790664345ff7f2fc929167737fc37ab4faf1dc3060ab7ee57c9792af718db4027a46359951bc21c626eb5c78731bd2bd31414fe493381be0f616b732fa1954217f3c6f3ff0913a98079bcf085a1fa575e45cd0a49abbe56f49225a0b4e91277e15c34bfcd5158c4f42fc4c6dd42ecd82fe1cb5921d140eb29e459fa1929cba0b605f82375dfea869725981fc3da6f122425c00b13c2d4c05e8a3dbe03fd9e9dc5edae2707828b4dcfd960cb8a60374ec2bb86005d51462116c6b91965459662dbd2091a340ca9c232e64d9026dfaccefa19197c21258d97830413b5c401877b5df4727fd406b192e949e62eabc1bff7a1e2663ff0d0388d5d21862295df645deb7174f305c7a87c596708649c978a95dd5c43915feb7cea013f28a44196f9158acc99e61dc78dbc55c437f3d807f24a3e48d8f9cf36f85a4e7386f75f57d84b778
+Pseudorandom shared Secret A: 7a99648b5cfc933dd49f5c1fc52da8e548bbffc88292d0035df2496bfd84d9ad
+a76fa7f0480f213d3555237c6556caa4545ede312a8d763d4c16169a04528c39538cf628c175047f13a1690ef6f389506bfbf7c0260fc69afe912d45c70f4b46
+Public Key: 478b6c5479bad596748527184b2c5100d91d85fb1696459d9ce4bb2b6406f20a0547014ca9ca6decaa3605869426a756ca12b1173ac73e34a23e32af7b383eb1283c8e05245248911e97af22e33dc52b286e26bc726710ad815c78d28d14e34160f931a44173a5a4303aaa4a83ca47a3c118026760e381b6cac8404fe537950b920f04329f299251583da0a06dc053109bfa61e4e0953ac10e5a048f9d668062436e735782d8c496ef32ad20d99aaf749ba7e63b09ccbf39621cd27373dbfa74b2fa967b2710c813288ef94133f07cda635b27a53e93a0649aa8aae25c3cd7f378008b07f9c7a7b212a9dd46be26125190e712dfa202bce6a95ff944de950a64a82ea62a19ba2ac3c359436532a3996298b6664996446f816204855c23da1b0e91cb0587823bab961d1e5269518a942bb2a2821c84be79b0813c8597200f1e8311e133588dc742cf91312ad7b0fd5289cc2a970ee58b29a3c5b1074a078ccdf2696181352fb09c3262811f23e610e4c15c2cec640845c893b40d7b2bb44c71c5092a25f5d18b5ad963e60a5767222e5da04782a50da268c3c95c54a4854a10676a5ff78721bca09d8567a06033d6a49b5a5b28c9776962bc25d45b0fb9097e07a55e52a6b134815b6cab212840432b73755f579f6cb49349399a3895222895c7aba1721114741ca302ee9cb3a1acc83d5720ba6c40486497a4a408a5eb4f466c0c5fb0151654bfa961ccc2b93e4a9a4b60db0ceeda46d0bc9844193176faa5c52111a94ab1ff4549a21aa122ba4823a1641abb4ee75011bc2177a4bb9d1e3c918618b8ac21cdc7ea32f7f16fed5a36e716453de9657441654e8414e4a2911e053f8b951a77569fff349bf29320bcf9c7768a4293b7346539c2fbf90c360a101df2b9c1c938b3b18b72d9746b241ee6a48e02c0c26067b4e2a543294271956cbdb449963bab4c6362c903b6cd04ca4e5155321dc58bc7d91f1cabb7c6a051b2a4917c2a66844169a15924f178cf817c7665852c38877e0fe5c84466a101c1035c1a43e7e9c1e17c31d26a484344bd99683920502f3d937ccad6c4d535360a09457065bb9140194a9725850c87fdfb2696a8867e33be1506093578038b873788120a321078b4f0596849b142d62c8ef1081fe4547e7865dacc006d310ac56bc3da6258fe469e10d5c5bef0ce9b08cf4be51cf3d74631e3a174918b5b75c8d10429f22bbabfe62bca64411703ba61a40c70b982f17898298800c0cb5537c37e6f9a16aa064264b29703d599608254922ca8a2e42af0688c817b4259e00853c103bd0b1051333a0041c6c9179e29d8427dfa036e77c26037097d25b221b5c2f38a1dc48c20a0e3386c5662012645042492ce6646e2d82c5245a910e824a963a8aaf09fd7a9336f6381d332269c6431130576a2a093e1124c9356a97362543271432329cb2488ae22aa4add5b58a4016c12213f6fa000142bc40a64a55c37ad13d7c549fb9add1b8408ca8beae4aaab0740ca16189ef597f6230e64d47026c75a79fa5a8880b791a589e54b2db3aab762f37dae5a1ac5995b23e645b7d01a16139538b01bcc9a0aea3a15f3c9c95aa25a1801842d54518c98a0b10856fca7706e350380a5e63312300361637585654c1a404f8c942452276dd52335eed6e164455099
+Secret Key: de62b1f32294f3451d27797e04065569acc68a15048a415937b95a2bab4b117c9c01689586083b4d55910a237eae56862a204cf8f220c28408c7097c65690fd4e985c743a05076478b6960ad40923a165e5bb727839b528582cfb02ab68ef15dcb3b00a4e632966122bc11a59eb3978f049c0ffb05a9d311f60c7c424a067d26a993da9dab52314c1048b729a7992b97b1671e554381d6105c0e4aced9770e4cb30fb4f2a145c34f446a365e4363c4f2811dcb63d8f445e05a497fa256514b0a9d7799945382e268274cc29a8e278d99a9a4cfa5425df945a0a5b1521663eba2037c66ad0f8c48d112a082da6d6bb81f10152c59016188ba4ace7b259bb58e4db47bfb58b00560aeb7d92498d0712f1c35be228caeecc3bd70a8c49cc7ae410f1bf0885c0a5e6cc4a16c621736a08a0194aa3958ccb6dba5fefc14c4e277238541be98aff7a0b7717193c7701c2d402c9fdba64c816483145f2a459eca7b7a03e921231a1b3b3a9b45905dd7f057e52288a46b54829715c46439ae2c9c95b3cdd227ccbd439311338b43c4be54317633c351c07aa64c05b8a5e16356383cb7b96f11630823085433b1132d87a8d3d18ce289556f00907e334a50b683fb9bb69d6b1a81c9c86a93650cd281e9b0ae1ac643bb1177f8fc54d451a314d9ca23d240cc075d9aa53ea0922800e6c849b9ac937076c7b8c9968467ec313faf40be4b9843d4f71780787dea0b5e8690b9e8e1a6d75b14ebb754926682a560b662e123c49502bcc0a62358b7ace083b449a153a2463873797c16b26ce82b6806caf40620b1f283dc499d69f9a79dc8af227c5bf36c9433216feb0351822237c75a52cdd95cf35871ac0672359cc016d09388961d5cda509fe8a89c9858789501ab73c8bc08877d35b444389f6648b65bdcc3affaa3eb2583c01880ee488538aa275d3cc226c732407439ba3b75f2023b6ad7cde6324bcdf32c314c01efa316ece394797a157db5c59325cefbc007cf54990d1c0a1e966d6da83f90299a2b10af3abab6bffc2151f56b0499276a565d27b8645a5ab556375452c5240b6427a0f652b3865073fb91e3931a33e63f66463fdf582614b67815060bd58939b2521cccd566971c2d5668bd9d5c98fc6aa0609680f318625f934b9e6c5ac686b7ad45435547cfdfb9c2baf43c9ff79298e74d5f02199bbc8957bab585888f611a5406709c3dd869e43145641b1609664d20227ae9f93496c1bfb1987ac6653abe420378583f4ba8327198915bd174fe442a257bb5503396da99cdfaaa6abcda334b0c287b3502d9f72646e45d4264153bc5b698f0b7be6787827a11e5f93ad00506788c0411222ccdaca64d74c5fd81b5a9507f5ccccdfb9cc46f067db6e496b29b218446ba36881f038c4cfd881d546836dde426191a3217198dfcd36b9612c83fe4c974797406d9b5827289dff180b5e9bb0fa6b8e45646558559cfb57f6d1321c82a4ca4eac43e2a93d3e4ad709c98abeb0402b9527ce9cf23b8a701d282a83549432825746a9b810593ec294332d11a1b211928bb9d38709bee45b006d6aa43c611938196f83877d82a5533bcbfa8470380eb10ed54644ff07c87583d80976f988b9375a843478b6c5479bad596748527184b2c5100d91d85fb1696459d9ce4bb2b6406f20a0547014ca9ca6decaa3605869426a756ca12b1173ac73e34a23e32af7b383eb1283c8e05245248911e97af22e33dc52b286e26bc726710ad815c78d28d14e34160f931a44173a5a4303aaa4a83ca47a3c118026760e381b6cac8404fe537950b920f04329f299251583da0a06dc053109bfa61e4e0953ac10e5a048f9d668062436e735782d8c496ef32ad20d99aaf749ba7e63b09ccbf39621cd27373dbfa74b2fa967b2710c813288ef94133f07cda635b27a53e93a0649aa8aae25c3cd7f378008b07f9c7a7b212a9dd46be26125190e712dfa202bce6a95ff944de950a64a82ea62a19ba2ac3c359436532a3996298b6664996446f816204855c23da1b0e91cb0587823bab961d1e5269518a942bb2a2821c84be79b0813c8597200f1e8311e133588dc742cf91312ad7b0fd5289cc2a970ee58b29a3c5b1074a078ccdf2696181352fb09c3262811f23e610e4c15c2cec640845c893b40d7b2bb44c71c5092a25f5d18b5ad963e60a5767222e5da04782a50da268c3c95c54a4854a10676a5ff78721bca09d8567a06033d6a49b5a5b28c9776962bc25d45b0fb9097e07a55e52a6b134815b6cab212840432b73755f579f6cb49349399a3895222895c7aba1721114741ca302ee9cb3a1acc83d5720ba6c40486497a4a408a5eb4f466c0c5fb0151654bfa961ccc2b93e4a9a4b60db0ceeda46d0bc9844193176faa5c52111a94ab1ff4549a21aa122ba4823a1641abb4ee75011bc2177a4bb9d1e3c918618b8ac21cdc7ea32f7f16fed5a36e716453de9657441654e8414e4a2911e053f8b951a77569fff349bf29320bcf9c7768a4293b7346539c2fbf90c360a101df2b9c1c938b3b18b72d9746b241ee6a48e02c0c26067b4e2a543294271956cbdb449963bab4c6362c903b6cd04ca4e5155321dc58bc7d91f1cabb7c6a051b2a4917c2a66844169a15924f178cf817c7665852c38877e0fe5c84466a101c1035c1a43e7e9c1e17c31d26a484344bd99683920502f3d937ccad6c4d535360a09457065bb9140194a9725850c87fdfb2696a8867e33be1506093578038b873788120a321078b4f0596849b142d62c8ef1081fe4547e7865dacc006d310ac56bc3da6258fe469e10d5c5bef0ce9b08cf4be51cf3d74631e3a174918b5b75c8d10429f22bbabfe62bca64411703ba61a40c70b982f17898298800c0cb5537c37e6f9a16aa064264b29703d599608254922ca8a2e42af0688c817b4259e00853c103bd0b1051333a0041c6c9179e29d8427dfa036e77c26037097d25b221b5c2f38a1dc48c20a0e3386c5662012645042492ce6646e2d82c5245a910e824a963a8aaf09fd7a9336f6381d332269c6431130576a2a093e1124c9356a97362543271432329cb2488ae22aa4add5b58a4016c12213f6fa000142bc40a64a55c37ad13d7c549fb9add1b8408ca8beae4aaab0740ca16189ef597f6230e64d47026c75a79fa5a8880b791a589e54b2db3aab762f37dae5a1ac5995b23e645b7d01a16139538b01bcc9a0aea3a15f3c9c95aa25a1801842d54518c98a0b10856fca7706e350380a5e63312300361637585654c1a404f8c942452276dd52335eed6e164455099b21205bfd227a507256c07570aafea393131603c882b7948d24b7cc922309edf538cf628c175047f13a1690ef6f389506bfbf7c0260fc69afe912d45c70f4b46
+71f9af525dc3325e9d64f1d96c59390a9d0909cd607e4072e62e751a3987fc86
+Ciphertext: de28a9e25b9f9e3f282589c30e03ee479c27b628867e762f779139dcbca82138c1b5328f21f66f643deaf970aedd6f7c3c054711fd2a5d7e50787ab7d365ac6801b19f3032e8ad14ed6b3244596996cd51aec1f28490a0625244702a6c9deb40d50813e3b28fc01377b01039ae3ab203f1b0d5c0559e4a7d375cfc060c6d6dc197e87a43d9b4c1402edd4ef93782fbab416931c0640d375e5e11f0133df174d95d15bd97229edcbb1c6d6dd0bf11c952a2ad80067193cef8e7729f75fcd271d782d218b759dcf2c78cece3f3b51e3043243e346d9cd65009cb4a2cef0a1f913b6a366d35e5612228a5964ce7aa12b3f625c743801910229cca3cdc103ab040638452db78c27b9e9e17f0f0f7d0240ba98e59f9efd5230a2f03b8163423f565311c28924aba18a3ab8420d7b0df2707593fd8835b0c7fb8558076e70d0cc5a2b21debe1c5adace174c540667720fc9bb3868f2158353dd01f24868a15a7b38cc8bed0dad94f271e4ea1202b2cd0902e3a406d3e7d6d0905d1482b48fc942df0b10a83609fbe13b99ffb74cb0995842df882f05c8a55fdc73bb041c12379fefbd96a66a42b990fe06c22a07c7e8e55072b858ab850a75315725f721a0b2b339ce78d89dabfce47bd18ad5fc4021e90ef433b37992f1712ad8fe90cff8010c2ff60bffa4c841e3f6560dac3a485694222f1eac0abfcde2049e8a30485b2e86178a6657e0228f94586a5a714948fac3b0ea9a35d9fbd3d470c178e7057a734ee7db064e7f5648b6188dc719a95144b78d50e81e2ca324d60a7a01a66d371384d55d63fb2e84bc46845cde5299984148632ceff0ad2d1e00eca1e80839141ad285e6ad1bd44591d103bc22675d66107899e764d739e599f908c183a15ecd0b485ae07d13a257faae819d12255d9fc2b604fd6f59917602b1c0b2713dd038a75abff9e7c99a26bf2657b276f1f3f9eb36ea1fd988826cb3316855014e093ca612cac0edbafe0166c9f4f7b959c6f9abd946ca17fee9b3b787ae0f0664ea330c98f70fa381e8c90c7ae9f25250171947a918293763e786a3adf54524761e5940bd7050e26af48cf8a6652e901d43603b68cef51aedc435fd1db704585f5a21d5197595fc97cc1de3b6d27471be8429157786d2f70fe3635b7d543cfa46d668e5c2cdc4b9dd45f903b9e7ae182e0bc44538ac99cd922b2aabeb0f42fa288040b1027cedd69f9015a4d855d290fa5f91d7864bc1bf3352c631dd6317c8be2d5e30e95ecdad20920210f6d1b99302a6c40a06ef5c5b5891911e31db07d3c2fe1fd0dd63347d258dd762f4423f29b0072f52506aa40e3489aef611f2df116b506389e57bf4c3de487e45ef9859758873046e9b7fc8e72a5fe2340680ec26f1b30e5012b7e4c629fde5502ef62f816f3e43f4f6234e2effe20ec0f51e8e4875f58de89fc794ddbdf288d43d7063fd90a539bb93a9194a90880213134bdcda238e5c450701a716fe4877a7e6065ba47f53a8229b34cefee11a1219f24ad3eacf6d404e1ffe970
+Shared Secret B: cd34040bd6634ec3eb70b97a6f862e8d1714fbb4712f5f731076b2035a555c1b
+Shared Secret A: cd34040bd6634ec3eb70b97a6f862e8d1714fbb4712f5f731076b2035a555c1b
+68e1900cc9e25b38cb32bcf017f9db5082fb7aa7569f81d96b7b305b2a102121e1cca279bf42db23f2924c0c6b97d495858ecd0d12fe71504f9aea00cfe7016c6fabd7e7ff81dd095c3481eba22c123cc03ac435ea9a2f28a85e1b5a2dbf8c1fddced2d906d27d98252496773b5c156a4f7e3f26bb63650e84a5876a8a4641a7a4b7f147162160ceba992c7246577fdb537e86c13d97701f1cd10c2c532539dfd28af1ceeedd3bedf3455c3afba39454f1e3a3f14e661dc72abe932fad20ad31fa9692c322de551daf5d9bd6f972d81189e44396f76504e66a4eab8178805d05d76c17605a74af4120540a7d9396ac472f0bfe4bbf0cb511536be4f44d45765a69dc2367d1003e7eb42349d24064aba4280c494355934469092d489bd57b6f076d04d5e3b5588b0c1e2b2761b87d01c6db5faf8d3ea6b2f7854ae318477e17b069e240edb4af37565f13c3695d30e46902f6804ed4e094f7292027aaeae4646ffeda9d253124c65b95deba24bd96316dd1db37bd15c7b9b55d1ba77c3a5bfd2ffaed9f34e24cfca5a122cabdc5128646c4240f714bd063d438e6abd72dfcd34433bd6da011abbd00710ac44e907907e674b899e80c3ef1ec79c2cc1d4cd41a490cf686c6a51982b6fb270ac94eee7409d2083360066de6bb5c2ffadb3744155a8199bb035c47d9a7c4cf6dcf8a565428af4a3b7f0a8e53604457c9ef0b885daf90c13a53daf16ec497e50ef8b3bd119046065670bfdc11f612b324da722d4939816d6dcae30dd58d319b5911324a2702e471a2a4da605f503fe379b01031cdbdf6de4f8c78dc4b555cbcd9e11bae900c3d5d870fd8efa9a400ef6a7d50acc71ddf43907c235d19e63ac1e2d90f35e324300e2cd41aa753d6e715ca852617953d35abcf07307c8c55df1b53937d7245ea820686d7b1b865d7cba299de068146dee9eaaf69125fadf3ab36506e26fb7e9ef722cd806f5cfa0b695c0f52b05450be7afb41d0a1011346b7eac53439608b346b64504a690481f390d483cf268de86f3142aeed8cf8d298ea25a33a9502928256b469fa8da460c36c8abe876927d00ac52f92658372d4f2876f34fd67dd54502e14437dedfdf244ab337cdbcf3349e3bc2b77f0d5045062a62df65597ef907338de9a83de97ff24a5b4533d87d119a304607a5d46b698851c95b3570c98974d53c9ba2edc4ce10d24ef4dea539173f974a1dca14dfa57932f15d9e4d3e5a2274e0080a186fec22bae7b1c9807a20466afe4bd0e1cdc6cff09e4f32d68b38236f198e7ac5dec6d05d25b773d4d5cd11aecabb7746192ee9fea9bc1b717b7a7cf39b784554ea65847053a4970dda754bf494b48739ab6efd1d17c7b0cec19fa822d1789076efd8f7c2900593e278e1ae1aec82777cb64d4a25ae3bb3aecd1602bdf418db55ce5b9de560addb8fb75dd872a292a6f34204531457f0a610091fd67a44d42ec4c2710bd1ca8c5e7df6fc2e38b726cbf22fda368d0c59a6e77ba700504e5985f2eb32207ad65336b1c611463
+Pseudorandom shared Secret A: 0de26918e3f574e6785aae1867b8432bed1047184b08d068e36212a1b1048d66
+a0ee89c9af55bb4f78512e339a6ba2a329cac9d9ccdeb73146c18dad2ce91feed76c6de5b3a5b407e339f61e5d622797bc5156b1403818f8fdce74d4f1ee4bc0
+Public Key: 3ba2a4801792493c4cb582aae6a76edd386f64bacf92a4968db3662fb7486d022f60f903e2d21601f69cc332286d4b23ac7075e8b50e49921304d27c6579328f4b0b5323762c082a60800f2086ab922aa401d6bf70b25e37da727debcdae82bf62234c6dd590d74b458998990bb41626e5aea42b5a85e44a7a0c1de9c85b6883bb4efac8f0c12541563207d922f1106acbea55d4c18c23b5c1c91c43cbb9166e468138d276626065496425d4633c258166d9198831f284ff01c47298aec2f5a481c27e57368e234988e02c1ea6133c640674cea2a9d9cc9401039e073284432783a2b8c73822af80161e74f3047ba9b0ba7824da0495228579be094e5fd306ad66cb9f38c51d961c9de09ad6813fb0601dee739d9799629705914b5b2b188acf991b687572b9a1c24ad03c461c3b4f34d604703b47db4595dcc22e8a2cb62314c3738ac9f79cbb51057842a13bf5371a3c47952ee0284d18c8a6dab2f2cb8e9c84886f4cb7545037c705b809ccc87457602b5885c31bcf6b302f63b751d88940e5352c5bf8ad06eb675d3510463cb1b0f3a74c422160619d7da334b7090cb23011bb3a2e9ef3a324505dc2e806ff4177652917c043bb564212bf05346c639430da895eb6c68f396a06962ad7f0b832c9befca3473ffb34f1aa53d772564beb7ab42558907aa4b5971144691eab756e5093310b596c70c0cbee54649c371d358493bc7b41eb29518cf5b628e144584787a5529426926d458855e292c763dc8734b7295acbb37e30b46f67560ca89582087f79c9665abbcf27b95891cc8663718f75f62d72db363d232ac553bc1984a9ac799d600c73a61b36714aa04c8a5146306bae0a08b0b0c5c3115d1b8318a10b0332f300608a248a096f5e3548132b4dfa737f959202f15bcdfda80bd59018e8e415a20635d8e12db1986e69535a21d94d0172ce67d24a91305e80903ff73ab065567317397673393367694e3a97b7aa73097c9c78cf6a4968a1b82201531ee0bf91eca5be2666945aa71657af9d7a30b80c14d3b30f1297b37416982b63b6b0ec16f7e1768877bf0494570e96cd95008488324264328e73db45ab343aad513591c28f29ca91752599023327914233298b553b439d00fd076c810c2282ae36bb12dc6264bef99d686c35c61b7cfc846a9cb533013c3cae5a4e4891b227479b210c08c125cef14c1fbbd42071b409c4fc7391652c08a8aad9ea27b5c4181140bd589095b85c86630b67e5668855bb4234222abdaa70a17356761c2f57ec2e948975e60c9cfab40f7ef337b5c43dbcf18f5c98c9c600afc8c60f4c269b4a70688fb06a4ffb1929928283533430b49b56e47b4834b3329768e1f84b4aa71f934aa3a47c4622407da6f61b99f68338e00c12b30bd762932366b8b4639bb5c22ef33926004255a1bb81f9130ce4858d246a0d2c509748a863d289768ab421ea70232f669ddff99009f281ec2a846393b78455cdb58004ce16605414121cec5848663f0bc4cc6da62a7d086d6c96c43ab194a44723f7c1bbd8277321e1c4802b1fb2f67befdb21fe2c1a41b590ba43148f3a3b95d0962ae5b3eee64a5661aff19301bcaac2cf46c7dc4952f80bb3526457205681e4d816159fe85cbf7e8dc242ecb01c450575978cf0ec0e336ea28a206800d027
+Secret Key: 3813a4ef81ac229b0f967a1b28c32af3c9bbf1d1b76f16550c1c49a9312921a8151c616516319f5f09b4677152f08753b897cf012266141161f8e11b4af91bfb1ab3eb2948c1291d8e91078bc91403f6065af7b8fa29667803b6442161ddd4756cab643e1588e1f85b4ab03a5954b62e839c2deb6e8456a4f308b159009d94c16f3448c25a7c5eef06069cbab170ab741ed85079e5c2b6d091f48aa0a8c2746686544293c352856804ec687338ba9f82bb1b762b9f2c1161f298f30a8e2a39576531bc61d629204b8141a97d32046a24f570c80c30d747c2a8a09e0c6179bedb2f23fcbe699a8e0850cfa5d0c12fe9c05042c05b061f098b3e866409ad0974d8314fe201bfefa76dc0f3b51af453ec451825849827b098544469cff370ca6062c7693b3a2439cd81892ea528caeb79fe3391f4c09435c5ccda3362f9762cb57c2ecbc2849a2b2e38a565d39918bee4900802ac3f3634ebcc4c31240f0243650dc21cf52a6a1a59baff883b04dbca5a641ce20004ef8a231dd97d45683806e66ac0f151d7b2cffa8516a3405fe11a747af5b7bc740c5499a8137c4e18e57f93781a99f573e3ab9271a04ea73280fe7a7c0e4525432864dc4aad584388c1382d4e1476f4089fb2d9bc93ec9d20b665899b83eb3758cb588716061a353551247c8f1ec328537116e87c871a004e16c624d4aa497011c946eb273e6c214a8c49e6d10c994452c2e92e1d600c972c53223c0abf5761db7a0567ec6c9f8880b35448f453377ce33f47c7a09ba0854aec210198222f65bf065311089247ac2035cd791fd9a1449881b861718b46848e04c3334e0c9f36d767df8643daa33134bba3fc3c55707a2ada1a60d51c665118818e65656a89cc11147940519ef09576a2f195934b555482959197614953c1ccf71ae3d3bc7997823e85957a2b7f3f3aacd5d74ab40a5d0930bae07ccbd4b02a2d0c53ca2564a7f594131588c1d6582100265ee27c5268aaaf4acf7f86056bf23cb1f929de3b782eea804f77334c347e35ca1205c0479519455ef349c634c86a759fa5a4c4a79679cd97201e90b26e576ab00673af82378bac38267849ce810c9cf0637a898b6bf5c4d02a426ba243ab947a08c0143ea497995225aec12bb362a47b189de7fcce5f4854c38b8fd82b286d44af9222007699b273dac3ee4354d003c01b25ae85c23485eac007f41a18c15203392260ab1b1fd65aee8a4e6e7274d2d859d36a1e07658efcca6d25925e490cb5b31c767c456fd00593307667acc93efffac331c933c0c9c980a75b0ada350b4a532db981175abf10721eda7403fab42e5f0053e232cb9ed545cfd479bb2803409a093e7659440a1b1bb100938414364c1810db31fbac5a8a34a7fb3a05e92701669a14c89c9c0455a7a4e770ebe1c361029c4b7a8150101c8a81a2b5803ec58832dd7701220a437726beb06a563268b2297282409b8d2f57a98da3bbc9e2461c3c3dac64c1e826c06940a160082554aba8a3e179848cc9a0c7663c709f6ecb3f73d34e74351ef35990f59860c8551807b18c87757cf870892320ac3484889dc118e7d64420d56fd8596864b30af2b9080f096eaf52b40c782ae22c4684e23d67a40c3ba2a4801792493c4cb582aae6a76edd386f64bacf92a4968db3662fb7486d022f60f903e2d21601f69cc332286d4b23ac7075e8b50e49921304d27c6579328f4b0b5323762c082a60800f2086ab922aa401d6bf70b25e37da727debcdae82bf62234c6dd590d74b458998990bb41626e5aea42b5a85e44a7a0c1de9c85b6883bb4efac8f0c12541563207d922f1106acbea55d4c18c23b5c1c91c43cbb9166e468138d276626065496425d4633c258166d9198831f284ff01c47298aec2f5a481c27e57368e234988e02c1ea6133c640674cea2a9d9cc9401039e073284432783a2b8c73822af80161e74f3047ba9b0ba7824da0495228579be094e5fd306ad66cb9f38c51d961c9de09ad6813fb0601dee739d9799629705914b5b2b188acf991b687572b9a1c24ad03c461c3b4f34d604703b47db4595dcc22e8a2cb62314c3738ac9f79cbb51057842a13bf5371a3c47952ee0284d18c8a6dab2f2cb8e9c84886f4cb7545037c705b809ccc87457602b5885c31bcf6b302f63b751d88940e5352c5bf8ad06eb675d3510463cb1b0f3a74c422160619d7da334b7090cb23011bb3a2e9ef3a324505dc2e806ff4177652917c043bb564212bf05346c639430da895eb6c68f396a06962ad7f0b832c9befca3473ffb34f1aa53d772564beb7ab42558907aa4b5971144691eab756e5093310b596c70c0cbee54649c371d358493bc7b41eb29518cf5b628e144584787a5529426926d458855e292c763dc8734b7295acbb37e30b46f67560ca89582087f79c9665abbcf27b95891cc8663718f75f62d72db363d232ac553bc1984a9ac799d600c73a61b36714aa04c8a5146306bae0a08b0b0c5c3115d1b8318a10b0332f300608a248a096f5e3548132b4dfa737f959202f15bcdfda80bd59018e8e415a20635d8e12db1986e69535a21d94d0172ce67d24a91305e80903ff73ab065567317397673393367694e3a97b7aa73097c9c78cf6a4968a1b82201531ee0bf91eca5be2666945aa71657af9d7a30b80c14d3b30f1297b37416982b63b6b0ec16f7e1768877bf0494570e96cd95008488324264328e73db45ab343aad513591c28f29ca91752599023327914233298b553b439d00fd076c810c2282ae36bb12dc6264bef99d686c35c61b7cfc846a9cb533013c3cae5a4e4891b227479b210c08c125cef14c1fbbd42071b409c4fc7391652c08a8aad9ea27b5c4181140bd589095b85c86630b67e5668855bb4234222abdaa70a17356761c2f57ec2e948975e60c9cfab40f7ef337b5c43dbcf18f5c98c9c600afc8c60f4c269b4a70688fb06a4ffb1929928283533430b49b56e47b4834b3329768e1f84b4aa71f934aa3a47c4622407da6f61b99f68338e00c12b30bd762932366b8b4639bb5c22ef33926004255a1bb81f9130ce4858d246a0d2c509748a863d289768ab421ea70232f669ddff99009f281ec2a846393b78455cdb58004ce16605414121cec5848663f0bc4cc6da62a7d086d6c96c43ab194a44723f7c1bbd8277321e1c4802b1fb2f67befdb21fe2c1a41b590ba43148f3a3b95d0962ae5b3eee64a5661aff19301bcaac2cf46c7dc4952f80bb3526457205681e4d816159fe85cbf7e8dc242ecb01c450575978cf0ec0e336ea28a206800d0273959f4df144888c11dcdfa9869072f5ba66bcd755d3849390acbe2a5244c6f31d76c6de5b3a5b407e339f61e5d622797bc5156b1403818f8fdce74d4f1ee4bc0
+72990fe0ae395706edd6d24cc07425aa513fdda353c716c41e682309da645cf3
+Ciphertext: 0baddb5ffda00e976ff0020f9463545947ee9290113a6e7f0173ad5ce663058aeecdab9bfa13301a6594862d66f9691299b952e6ae3b34e2cf3d456780f2aa17996298930f9ffe20774379d9ae23bfd1a33466eeb62dd3d94ee52d25def9b5e5d47c68c8e8933bc32943747b9e94e174235c35f7a2c0508fee5fad021e1b5b63ba037bcb08a92000c618a6eda60804174ffcdf6b70fcdf8bfc6c8240fecc01f709dd8b8ccb71552490b009e841079a9c7484c50577dca187ab810f9e0b7540350408169c878bf45c430e6c71b31ba96ba3b8c48404f6fb00af8289b27bb9e7fd4032c284d4383d2185ac9ada73926e3452d2005eccf99615adaa1626916a3a297cdf159ee70fe8baa315c1ab36210a6b568ab87cc81a29157e45fff6d8f43fff4231481e1181d6934a09fbaf1ed4456c69007fb4b43fe465d94bc8201947b5b798b33e05407a9b0ba2e9230e6d470667dfb0bd1f4214b503f0d88ebdb35dd4be475e5ddbac644ea262d5777d43869b923d69d77ba6b3f3709eb6afd1d8671dc85fac0036b2186120264b997225284792ee00d67f132a263adf8c6d336a1620a8f77afcff6b7797532559d8bc0d76a16eda1e935e983d843d87a81b4ac0efdb85ff3a4e9af39d84191038bc2755afb2c3a7a88d06de33e2b7ad626e427178ecebe4fbe4fdd260445f4bed533f51ffa001efc688385441e13b23b393f012656b4efd6aded8f7d85753f5049ecac879c01f4af7888b29ddba51ccfc24556c83e0737e0b9ff74b4401e6f5cd5c86cd6c9cfb060566b364f638916448f488a25726fb0d8cd3299559d1151ab80f2d229a9482c99005adcef6c7d685fe4797bacf287350eba918cba42b3cb842a7a8554ea49fd561866f0a1fe3da7db99ad41841db79bd8c7ca51647592d0c85ca077c742ffc9a26672256fa538b8bee779bd5348de35df5f4b02bb3f323b81bae84490d6b4a629e5cd17a9c6120781058ba354f56bd1a05ce3cf2f686814d9ab7ccb9be8cb442baaf799ba9536e50ee5e41c43d4715c1270e6a65ffb75a3a645b080e631001819b7601c27a9058e457db23f0a4d55207ca03f1c77115353363adb6117b271aa68a021921d708ea05540a5a3a40aba37f548fc4bb805993fd9da6cd4764f8bafe6f6395f338c85e7521d804c59a0d455366313015f09786f7f56e9120b8087d9debf42abff44c5639c064f9652df5757676eaa37dbdfceac1ac28dc7a7608b119b103800d4b74b0f008b44f879bf50cc379dd7e895377e83a7c8d0ea476d45a6685f9bcb75bd26f6c1f172de161653497072829cdaca4c6ff828c679e9af145f5080e08e39d3c91d081370b8df9d4a263323f0d5e08dec649fb48a22938ca4d38475f2257ac37ad6852d832443da8a0b0021d198c95e351541e5f138f989a722a606a64508e25315bb447e02b92e2d5d77407bd0152884eb98ef30de8103f5df1be20884b6eeffda889e9e283c3cb39873fb0a0240674a91b2c85b127e02ec57dba2695069661aa5fdfccc3daa572cd
+Shared Secret B: 97c017e02839a8fda5741bc1ac8605d597b4cda737fa31d4212fe740b10e5188
+Shared Secret A: 97c017e02839a8fda5741bc1ac8605d597b4cda737fa31d4212fe740b10e5188
+7d7a128ae352e32cc60ca981890570466e54aa9ad4b9197f32d39bdf190255c9a7d62ca2aa618b658b6c6d0b0a254a36495d87c8ce0576e679217e2b343fd75df3a73442c0d90527616abd11d89780df42bebc8148449d006843bef28206783b02e4e50ecbc1e27c7b00640029aaa8908734b0110e9f719c519ef91f46d16ed79075b4189a0e09f29073ddc287f7e660572fe07363f4bd94e83801da766887a94ff3b5187beb413e5f62861cd61c05dc0ef70e3a6b84d3aa25814c45c0ef0ebfe6d2ef1648885d5d0cb43e7f369fbd313c8f8c3eefc6b9a30f18a0e451f2636d4d2412baeae594fbc7a8fed0e5e839ff17f746f1c81bb87fd35d464b464ad12d560f35f84c956ce5b0da653d494e5e7294dad347b48099e2feca60d2329e5006ebc1020b21e6d2f59f8b43047514048fe51eea0d1865c0227bb7065c62b12173bba3b3fb28ca234ee0441b8c83c200fe3a3a221acbc199664ce775d2521e64f82504d4dc4e1f40ec1915c321fdbb9d9982d6dece9df55e89ca63656360fca6ce105936ac6f768029d4d20316d8d70844eca3c0f8f262fa972b70c55fef5fd25e702cbec4c09c5fcf5c333fa1780cffe1007d089e88e86d1c1ec98235acd742055ce1a3eb0ad83c3bdbb1b75fad0033ccd0bb706e1505280367768b7f41d7c6fdbaa96c2eb17ab92447fad94120a74e24306ce5e3e2366431c8fec980ca8531a1c70cc4b3937781d93cf5b5fceeafc74ddd1e7eb6e3de92555f33310278608670144a314ba3416aff9d84877a4fb321ebdc935406962c6be6c6ba31f0bfbfa16c6c2d0ca47107578a8f02b2c8238def34e51e575f7a64653cfd797ea3f4c922b25ad6989e0d70d175fc05ae34c9acdc40619e2e4785c73686eb2eb41367fbee5639468e59a3355f6cc49aac35f73234eb4af37386e419d428392c2318f90fc619faa1f3119b70a9069e396ed7497b99b9cbba4ba372734a739e498419338d2685e806311b6bcc42d8142ca194a40843827d031cc14292fc8ddb1fd1862fada74a6a8a0ee40ca0c7546e8e2f2e4d942b426bf82f0a9b48be645a653e4a6f56100363abf9f24f1ef3e3619bbf1bd57aa4f69e0e16fd54f2bb9aa3cc2fcc304af147840bc5e66d2062a8274c01a91d316021cfc87c2b0159d719de4255a3472680b9e5d2c03ee3d68b40fc1843334303e1ff16fa0a0ba721430f6c609b64aa10e2ccf2a5d9a02aa40c5a1cbdb4cc957fdde8d40b7d83af9f5f7ec790f6612dfc941e4c853a39b4962e1e8d967e701c571664ee24aff3e7dd2ff1e38274ffc2f6c99a80aac290dcb8fb833ee67f6adfa515e0b59c5e14554b449e9ec8be5704ec9f242c978da8fcaffdb91ac9c1e9a238d9f51cc1e576e26dc9cd23d6359642c883d054417a7ac71b0f82946431412a54b005f31e0f2ef3a72c9eb147bdd6176cc0dfdae71d838ea41be04314fa4cb72ec2aa1beaf254fe18d52f0b991d8ec0b00f7f21ffecde233fbbbe47856dc6c742d8abccb1a3686fa3f9fcbd05823100b23054
+Pseudorandom shared Secret A: 1616d2f898e886c3d543eb1d70c4ee729cbe95ddd4d0ad3711f03a3d9fbeb530
+36d93ade5921fbcd09257b6f02d56385f99cc972d0908b091039a55086fcb4743f961fac5da9f39757d3cb5cbde2bc3b7ea068d3b6a6f4b388d4987dd516da26
+Public Key: dc09a15e81344832aa0fa832f10279a6107d9a602357086c15639ade0a732232c1fad006c5926e1049a5750271660381cb202f7424a07b085ef3d79907c9333c936ce331410c354eccbac81ce259a9f20400f5bdbb46a2b7481750bb00fd0590c48b70fae13f6afa9facf1621dd21653f092fda1ba104b8f62d35584b6b334e6546ef56b60cacf2bd48a7b06d0ee1311836a9f470938c3e001172b944dd29c31d7c8fe0c9058352941ab5396266942a159520587de05608964008fb355b74668e3685d705aa93a9a56de0146a8901c0981076537618d508dd4894e4fa989213b55b4dc77b5564e83f66ba8c596266420885792ef2ace29fc6d2b9907c07813bd709a37475c68dab87da5824e9b79b77c8d23257f5956a3a39ac643da79342565e45a5f09e3c37a1113d37a8565f72b50e02308423353823191e5cd77e1214a871c9e9cb9ebc80af09ab959216421596176c8719d68b5bde07f64baa6389939dbb59f023632c3484f8af98343a177b552c0edd1277c2723bb62b3c34536c74976738aae3b840e1e3c51fb3605cfa81291a7881817a163416ad9f6b67c77929e1c7b50037644d757d35a0841da844f225ee8e44175890dd00cb2d9424966ba25a31c1bb06b3f18a27c4cfb914b164ef551709dac87d09537c8d1088b16b79583510c5c161d8616596a60f2299b43352ef81236b03b036b616102d87acaa58b1a04a91bc528a1e870c3c405f58a2099fb48ac5601a1094aa1347e496536be830e16c1873b4a4a57e533930b8272f35682995bbca1a12511bf25b14e64c266859248ac6594862c78d1f37dc2c691d81a9b8a396414284345b274a7075c6aaa26e637323e73affe7ca7be7c3d84b365aa795b1a0b392d373b7467b49d39723654bc0b63c4c97c3c65825ee5327137400e8db59796d5151d230746b2a1dbe64601f02773c99808542ee22258434335676173cc8aa84c6788b3918d6f6aa6996bc1397aab0c8400ee7bb484f495923772d9297f35f111b157bb250c7c88db3b61d23985444962834a907417a26c9bdaa15cbfe4a84f1026c269c0904b4bec46302a51378e8631f246c24b6c6b484c0dd610cba2c4157f0376b6768375e349432815b4317258c9bc646bad806398ff680047778f89b0c6c7d5394d489be45b4879200d7a46b0bb9311c89827dbd0c0712c89493763f0d540ba15373a615fdf6768acc078ce00c95d1c509bfc7f4a628ce6495ae1012f2d6971f23767404728eff97b56b5b6ff725ab1eb525f212451265fd67498b749b72305695e75269e6a43b9762f92f1086a671b75d06abf724ac815c1a2307cbdbaa080f8c25d81bb20c27ba7ec53011bcda4e7ab9b1b7a9f6759707188fb459f33502f3d1bbc78c0bed88252c6913296a37bfbf99f025a85491ba2d4db0bb4e281fd8ba2c2746935bc1ac40280f354a7344b5637aaa538b89dd94184866106f2f4b27d05443b278d7978b48986aab3249bccb1514f0b337f4cabb0a72d5250772129a3a8f42b77951f70b76bf03cc5fe128c364b61c445b389095794caaa1baa9da387cc06d4c184d368a8650f16b00dd5e73a68778ed7753b6070ce08a23d37ca6d35f5874dd2489682c53d753579294a493cd3f2807592d3a9c74f31930aa9ce7aa1716042e48f51975bdeee29
+Secret Key: 5e2b8605c102fcea39e12309be1c2c73e2ca38a64fe04655f1984e0ac118c7969cac544241ab9a76b508f0b00529c9412e476c66a934dda881e100ced4922c58e9b3a8f0b147cc413cf74390f086a324c51b00a4b501975554a93b6335eb194bba29aba90760fbec2f06853e81b0b823bc797331176f5b48ef97af1154cf1321690c341b778a6b14ac280a6038bf5643b7c9af6942101b291902519ee3e909adc14599a8cf701885d27597095a6c59dc7e778a0adc6c0b397374c8238d37cc37b8fc9e2af2c839945414cb479f6c6cb29776ba621dc267a78471497f19a45f8491791ab3b17c6f25f5c1ff3a6c4470534fe0b01889ad03984d03801302b230ecc9798ac17c55a81861d672338988f5b95f09b7612979711c264fe6b15aa2054cb3d14902aac9904a6554455373b3a2501110d1b7028599a53e2c032e1c079ec18eb3156356ab1e06f5b5493069e57b66b10c72a30b122e03c8f7a3523f82a902609262e09801aa36c06b849dd0146bf67fec3a45bd308e2dcb40e52461be640c04ea4a1497b1d0e642f3babf6021a329a08e48102c8675a8eb5875080a712fd80793f32349e046cf0a6ed777c4f3728db6e9381590a57fdb1c83a77b492020b7626621032ba08ab68c2436aa002788c85bbeca32920a4e20d2022945736fd45baae04fd1862481f9b16bbb74a8b87328aaa9173abc51a00550672d2926b1f244308b527918797de86279c39c5fa2375ee841457e4661b166b31076a11aa50da6c09459891a66891fa538783ddbc7c7090ac1d33cf6a0166ef78e8809812bcbbf4c51563b975474a3a5e658c8703a6e0e35b8dd53a63da76e8f2704c5024602eb9cd667ac2fe25eb627ac32946902313275763af379ba82eaa290b4a7c3b47254c7700539a3f35c2247e275532b33fa195910c1b60630c6dfb1a077c1ceea96155061ac4daa23a1411aad1c0cde3b2e524a1f4929b1557c87e3a17d9dea92eed94c434961760ccab022c1c110ae7a7904b1db455e7b430b6831f55601aed433cf83018f9a770669603e87ae5dfc3c8fb1b3409714c1aa9196a030e4bb724112630b649a956910e659206de0adb12584c4e246ca6241321a3d52c3307c356a841ba317372041c2b3cf4299ad1a83ac45cfeae5cfaf745659724411bbaec53439c9449925b761d96501cc10ac36c3ab0bf9640af505b10a0fb77a0fe0362c0ae013a43888a799683583712112a9d9938ca671097da969517268552b2342f7904dc75c8b9935f374420ecc7f9c480c391a07b5db471885919646cd98c8a8290ba549a5c299c4be6455b35e52bf80648bddbabd705803280883d9cc9a3db04f2ccb3e585964be83b76aa98fe4eabc274093806611b63413c91964e3b8569aab02f532c4a6983073b15455569db4e2141f7326a9a27cc4fb439c77096be8cf652a543f54adeb471c03603e0e2c4f9fda87d734cbeb0783b02ab0f9100da82a48c77c681576c0462c8b3763b70578387bd5c0a5fc681db979e6810d6a1c32d2778aa91772581878ad8a6b393a92263175d70c710fd8024b74900deb0ee142181d914b2c2311be33724a105a942bcbd13c25c7dc8a66cbb64f56152db47dc6812c520690dc09a15e81344832aa0fa832f10279a6107d9a602357086c15639ade0a732232c1fad006c5926e1049a5750271660381cb202f7424a07b085ef3d79907c9333c936ce331410c354eccbac81ce259a9f20400f5bdbb46a2b7481750bb00fd0590c48b70fae13f6afa9facf1621dd21653f092fda1ba104b8f62d35584b6b334e6546ef56b60cacf2bd48a7b06d0ee1311836a9f470938c3e001172b944dd29c31d7c8fe0c9058352941ab5396266942a159520587de05608964008fb355b74668e3685d705aa93a9a56de0146a8901c0981076537618d508dd4894e4fa989213b55b4dc77b5564e83f66ba8c596266420885792ef2ace29fc6d2b9907c07813bd709a37475c68dab87da5824e9b79b77c8d23257f5956a3a39ac643da79342565e45a5f09e3c37a1113d37a8565f72b50e02308423353823191e5cd77e1214a871c9e9cb9ebc80af09ab959216421596176c8719d68b5bde07f64baa6389939dbb59f023632c3484f8af98343a177b552c0edd1277c2723bb62b3c34536c74976738aae3b840e1e3c51fb3605cfa81291a7881817a163416ad9f6b67c77929e1c7b50037644d757d35a0841da844f225ee8e44175890dd00cb2d9424966ba25a31c1bb06b3f18a27c4cfb914b164ef551709dac87d09537c8d1088b16b79583510c5c161d8616596a60f2299b43352ef81236b03b036b616102d87acaa58b1a04a91bc528a1e870c3c405f58a2099fb48ac5601a1094aa1347e496536be830e16c1873b4a4a57e533930b8272f35682995bbca1a12511bf25b14e64c266859248ac6594862c78d1f37dc2c691d81a9b8a396414284345b274a7075c6aaa26e637323e73affe7ca7be7c3d84b365aa795b1a0b392d373b7467b49d39723654bc0b63c4c97c3c65825ee5327137400e8db59796d5151d230746b2a1dbe64601f02773c99808542ee22258434335676173cc8aa84c6788b3918d6f6aa6996bc1397aab0c8400ee7bb484f495923772d9297f35f111b157bb250c7c88db3b61d23985444962834a907417a26c9bdaa15cbfe4a84f1026c269c0904b4bec46302a51378e8631f246c24b6c6b484c0dd610cba2c4157f0376b6768375e349432815b4317258c9bc646bad806398ff680047778f89b0c6c7d5394d489be45b4879200d7a46b0bb9311c89827dbd0c0712c89493763f0d540ba15373a615fdf6768acc078ce00c95d1c509bfc7f4a628ce6495ae1012f2d6971f23767404728eff97b56b5b6ff725ab1eb525f212451265fd67498b749b72305695e75269e6a43b9762f92f1086a671b75d06abf724ac815c1a2307cbdbaa080f8c25d81bb20c27ba7ec53011bcda4e7ab9b1b7a9f6759707188fb459f33502f3d1bbc78c0bed88252c6913296a37bfbf99f025a85491ba2d4db0bb4e281fd8ba2c2746935bc1ac40280f354a7344b5637aaa538b89dd94184866106f2f4b27d05443b278d7978b48986aab3249bccb1514f0b337f4cabb0a72d5250772129a3a8f42b77951f70b76bf03cc5fe128c364b61c445b389095794caaa1baa9da387cc06d4c184d368a8650f16b00dd5e73a68778ed7753b6070ce08a23d37ca6d35f5874dd2489682c53d753579294a493cd3f2807592d3a9c74f31930aa9ce7aa1716042e48f51975bdeee2950b27d4b8168df25118a1f611396fb26f3c02392ea2b2f573f147842e2ee765a3f961fac5da9f39757d3cb5cbde2bc3b7ea068d3b6a6f4b388d4987dd516da26
+ce021225851c4a47169f40e6ff3da59e5def9365baf8a4f9ed52537506390669
+Ciphertext: 0007937a88c2b647069fdc44b54db13a1d1e8f2d5b7a6e03d1bf1f3b171e692b3791046c3b58b69d2429d66abd19b8ff3e6a6c197d2e9b360771e10121aeb88aa326c92b692db5c69fb4a18ce9dd34ab5a517fe1cc7579c1bcf11011e08ab805c676f4867a76fd54db214cf2b7d4a233b6a011b1e5ea2a1ad8d53a6f395893ebf7859e26b0ff1d73189dcfb115f980e27a776644932f9faeb75f949fcd888244be4dbd02ff6410993d95f6bb35be107a64650a6f853971563f87e99b185220a8f3cd0cac969e4283539b11fbc8ddde7a799fc5b5c46d68f342d5167dabcc0821edde31a71313e1935bccd4fa48cca9b9802d9629b530b61fc779ff2ebeed3f725c418aaf83574fe3bc45bf9b7984c30c7fdf5a50a5c4ebc253df5d61e84cf7bb0a94a7b9014ba975bb94e06af90e1d4a2c622563452c9d41f35a780e6ccd0d593da8b03ac8b28a2faf2822c80060edcbd393254ecacbf4c7beab5d30acb28091d3cc5144c232113293390516b8134eead3847ab9499f12ea24ff8ffa49662317979301aba306841747c86fd0209334fc9dd1e6df3661e51120152d38ea7c23e2e7f270813625bf03c1a686d63b3261e3e329a1826560eaae6bab6ca8cc3fae233a8786e775f4da184e8a0487fb13410dee6bbd5d92c06268b97f89ce6b2bf67a9d31a5f7b6abb0443659c7498f70be879f25fce856be05e78e3af4ceecf32179002d57b95cfa302dd262fa9864a06bd3ad26c2f7e66c76186f9dbada9095410fe6983cd1580a606f83d43a4b4e329d7f00dee7488e8c36a1da21dcf4a33abf6c17ea3f00f35c3b94d377b6d7ca62a74430ea13b2143024e9549de64576a356b3c48acc06386f7533d9c4f5c16689f9863a72633194f1bc24557bc616fba781673ce62378a6303b7b52b02db4a4bf4451676deaa448cb9251503381b6ad974dc191e1d11fa1e4f681024ba1a0ab6bd8402c9510aee82c6e12df662be37d9f455ab9ac3a8b234b3b31608fc4b9d0cbd53d273b7c3b51a0a1ffa305c778b3980e932e3af383314a8e8abe60139ca74836139124b3468ea337cf046834fa682bd73e2e475100eda530b5e6cb2cc3056d441223528fbdb7ee99d62b35951714ab3a73fcdd000f28b1da910f14a513028e9be5c2d902a0bc289b5412eb2a259c1e66b89e7186deef9b675de17dfac4b918949cea97dec8846ab4c8c217162d1b17c6330d4c143b3c6a480d8b705fae97edde2098f221d72a1253d60db4d3b3b7c2b62bb98cf201e03ef81efaaddeb3d3ce4bca5880af36b4db9bb98cf20b901a23ddfad2b4831dfa38ecfad6f94793a6dc2f89489d4c77c93fe7c3b0fcaf7438d7a4f1351502ee2a83c6061ddc85a299a3b370a70bfc69dc4449f2b3ba67f46ed3cc5607a48d1b1de8be384d4575a66876dc6599cbe37327e008c06ea71effe318d9e40f190cd6ae30ea21a31dced740687beebe2146f3d3dab5947b349d124629d709e2e3a66f00f139b49d530e96462b53bc943d59d19c66439d972a2b3f524e73b7
+Shared Secret B: 348a4611f5937d6a751476158e4467499f6e775cd4b4e43675cc163aaf307dea
+Shared Secret A: 348a4611f5937d6a751476158e4467499f6e775cd4b4e43675cc163aaf307dea
+c79ebbffb290c9a3bd058d77426a75dd9dc49161c6cb26acfd5f1d55614a46647beee5ec6b9bd60bfdc539e8f353807751af43daac61939c22fabc2064061d0a5861cf3c699e73b48d6b29550e18e084f5c88c65cd8c5e9ff54467a86d6aa6755dc93fff6a5075916710e7490582dba9eb2d450498624eb4939cfefd0958518cb555d423bee60d539fade6071308ed68e202763e2c1cf123f346d0a41556afc3a35813b4f7aaf5ee97181ccd3b57573eb4bf46450109f32eee98bc78b67bdf7a48e52ab8268ea338e3fc71e60f7a4d3300c05ae6077a2fc3ab1f513e93c88c8a8981bceb10ca7c4c3f749091e8fa6c33559493a7d179fdf23157c14c9f1ff900602ccc0e1e5192c19a7f0ff1cf1201db3c4e0dabce73816bb0a219b1bf61b3c66c6a232a2985b349f53d375964abed029eb8d3759f1a5493f77c317d81acb795c1989d483788733606ebcda04b20985337874a056b344925bb04424715464a6814bed3dabee1d2549c662eae687aeba1d88eb839a5211887ad6c3752b643cdc266d97874f5110b1c5ac5fce293f57d912841a5376c83207baadb5724c1f73547464c7ef0e9f9004ef772cf6a5c8c7875e0caa9f1a8fb423affcfcec60c869ca1f0682e221ac5bf92409ef60d2ed190f026d28378efb6e2ae6f2c86b357f1088843393f6fe8f12f8b2a7dfc44d281341af7e997ed457737273f21cf1f231a2a4dce928c76196e85f9c9eda9760b3d87e9c44eee482901717726c22e590f64a1d40bfc75c5eca4b9c3d3586b1fb7696eb60cca7bb10fe7368ac4ab047b0596abe5c83f59264bd46b6d72b8cee26f42ed7a5211e595bf71686f802f858655c71e21d2d3f0e512c4faa00e0d14a131482ce2265c50b2d5763ba2bc0f6d3cb142631c8cbdb2c28970758ed322859088164640877aad25adc53576eaf71a4712a35255c97f7d4aa03d3cf04bf0d7262aaac22f48a17d7405b2df910f8eecb21c15456df068cb4e11581e43313370046a10705e01aa0f9b0a79de854950b89f7a5d9267a80e77288e5d78cb2590e15b22705c90955dbf87f3f50054ce3577221d04a889e0c8962a2c4ce303ecbf50e5beb350bbf9991ce95f4aac43caf4a9e4204b0979a23cbd2d50a27a7f525379c2c549c6ada66e4fc90680ceccb3e59a74ba9655fc72c7c3222c9c8f0c80059604d53ef3fe1d5ee9cf64cc177873f560a06e3b1c24a1b697fa049be79d749c5e1d69b8fcb63d0f37ffa67e467f60911e79efb5048d6edfe0df8d889db09ea68e1b18843f5239b9801562e46126a1730a9dd3654ed80734427d59162ce01417d1e18b694728a24fa26a1a19581a09f513c4b4ef56c1bd0d8b68f2659d02bce21630a75bafcffc95f6837e2543047b8fe8fe081f863f8e2915f679e317f98e05f8a027800a590aefc0c136317e809c89ad28a7d5a565a66e4ea743f8cf21a75549e8525fa8a0bbbc822a5567a966bc74646b447d64e0d433f12359578c5cae6497b49f5d125992e75bf3f5cb3cd3249818127c4d9264
+Pseudorandom shared Secret A: be72dade49031995bdda6bb7eeb445995898d0119fba1a1cf1ff3bb9c0455690
+e3842cf0be81489e3c2c319e7065f8807d821711c1880a774fad78eee604b33e0bdd08ab53c069fbaa66c47b2d97e64546dfc1a96b9230c9f2d25a0a96b43dfb
+Public Key: af402d2e356767d448a460b69a6b5180eab45442402a612ae8a6a078234a5a6ab26b10475ddc51ba86aa1522c73d56b5c4246cb7960b7e8079e3a681234171f2e258a91a43565865c60429648a8f892c18ae071201b9799d374d14a0187a950591720d5faab4d09a1bc76ac9fcc85a94f300b85027beb68e8907a20243bc3700aef4fa4a532bba652c33ec0c88deb78eec69200fe6cf7b2882c1d437a6051b8eca9f3f3910d2d8286f706b297137b617234d2a5eeb3768be000730485e788466d586bf75f5c0dedb29ee7a0a10a138c3b8ba8f78298a0a0794c9411744ca0c1010fe093139f195c0e87f4d6b993b732bbba77e3cf99662d3c2e07ba4ebd0895a636674b1a907a032ab1ba74ec61d29db9b41dc1d361b81aae185912b6164f60ab253aec83b46523b9efc532b2dd816de4909e53a0700c926cfca787de484e8883532945b20c43f2a6a748048b95ce14c38d44d5e98b323d18beb27437bacbc7f11108d455feb4a7b3e234b03a317e5444a694a9522a5833e850fdf7b9be8fb37b2f95a70d11ececc51cfe72b0e1b7e78dc1657f1641fa254e8882678967856b98320d324ca249cc52238444ca5ce779062dba1fce0320196c49b33666992aa3d3bc13164706e413451058ddd9c28b1463a96875ab61a98323c1bf979cfad458b4a13497abaad469c70fb5c9897d71f84eb4266838107bb5554890b139c16a45c16157a761bb683916626abbb827019245b4877364833ab116e963a1ed63532f8628686c0500beba1a4c7a3c2f51f15310c66e07a48e3a4b51a8aae042dbedb9df7459cc3612490e5be68096ecaea154ea304200a6a2f849c7d5a667debbae0604f16a58d0a44c68f848ddb6731e1c9a04060694f7c6bace9bd43680f729839a890c1f4826b62821de90697b5f3b4746171f7a5921f25521a99108cfa148ecb3ac6923ea34a6ec77ac5f23b9f03273dffb5b31ee21f1ec0a8df0275c6d0428bd25456e9128e5b9398144228cc81a9490e50d916e585333e404d6785cd2ea82697e313b1122b27c9b355f5a20480c9c790a955c9ca7c8710abf5b3f20acb04f68ce4511f3ec3bff2890573e4670687a564fa91f53562c4b31d7a95116451206f4300592c600bc47713a16de3e0445bf68e7561b57fc7be4507c55a86a0721622e764aa55864d813441e5404b77f662ffe6442aa0b2fe4788948407ca6aaa5598ac2ee298073286eaa8c7550a0f622993b5a119fe246df44c0a89f17e57b73137dacc7a0983d078663670764cb9039b1a683427644f8b231935c83ad7c1067763b8f11f7552837c5b39dada484945138360a153f81ae5e9262d596d79c84506638e8e984fb88435a7c136bda450232467c8550b695890d0f2bcea2020a787470517013e9b98419b47c9f8a7efb4590892b3ca14098034237e40abdcb63c1998780aa44dadc4b4c91bbbb2746927c74038ac9003b367a4107c60fa6f6ba60b4611b41e35abf4db980899a9af85bd32f7747b2c15d1b43aa52376f11ab3275633c367ca14f5c26f2a1c997495db066c5ef6a6abf1551e1c4086075db27ba75314393d2743faf54be7a65e2a480525fb7392685b831584cf85b0dbe33c62d62ffe96ccfff1e0df5951196c3793dbafd59435d91bbc70066b58a6bf267f3dba0ebf7c08
+Secret Key: dd0585fb0995ae6221fbf5cdc29691d736232680877af542e35352e3858c92d655e646005b3c5b585a4a820538ae929da2b551600989f5db9845334177304a70c77085943c9ee347d616064d6cc4050c9cfed503a05618f5f90934a5c26944668867766a916b72e472c23b14442c0607ab29f0b0bdead468ca52b4ee678e9be785ff174cfa0a43e806ca30829190ac209c4880316a95b119c1a0004a87502052c8cbbd4725837b65524510b827964d6a0b91dc0875eb9003f589c472b0b0b501b96208f44813f2873f2608876acc8e92f4c2c8a20421969b2dd139ef888a8fc2397c84c481e43e8746b89ddb342e109e50f67acf63cb15435f05d954b6a00d6f6a743cf3615d7ab6257575ddec2ed6b78c23423a572b8a46e835c4c648a0b216c8950f776503110972181357ed56a9888346c86b3017f88b3c9a1348c898126cbe9fe52c07dc742b8068edd586310a213e9cbf27883da9b13c081050ca5805e088aa71d2a684d61048270a86617bd89b13e4816abb23b252516c837527576800a7ebbda80c0c0a9887cb530162498f905a9375110d1dd18b8394973f07529b95c21617909094c020633ac1f37cd6966284ca6dcbc158f4f8220ed861b0347eed86a8de3c299b2b02cd6a80b98891bec50a90c13aaa5077afd16176a7422b427a143c6a5207301478c00a67418cc38e22ba88c73aaae1e669a2655752487c66893bff9c65393359dc18a998f83ac1f9091542030b1c24aa7750baa79ebdb6a7eab856a4d27e8829a558176b280cb06c692630883bdfb74594f3cc49c73afc2336682b38bfd261673b1553f53683eb1590568f568553b6c7c379d6cd6aa4593343c48c579beb7366d6151666f02c310b70c50badefa8c60f66b8988a6b93252ded610329c8ae4693668d67cb29627935767a78783f429723a669a664681a3ef52351845bb0999588f5b68d6465b09519db1b34127ba23bec9d72ac2912d8083ddc06ba7a2a460a670c2242d87c3fe2b9454de044d49bac512230a7b484acc76a1fcca3c95a9611491c42d2582be81ebbc9bdf94498298aa9b8888fa189255e292082b6100020631f73936de8579d88c08851c14dc301bc33c485003708778f6d03c2ed331b3cb89415b29a8663a8e6b8118a3c024f6b86b176b48fc18ae356095b0627739001a1f0c419b99e66e891c5a7cb337b51b29384d6ab23cffa2d7dd5890876214722938530b9a1a74a828882dccc2097db80907c4564246d85d8529c1ca7078cac638b5f99c85a0d79a59236b8e7a43b42972a028512e2d2887a814fa229a481c6ad5eba0d67393d667016cba293f546c816d92eb94b7123e2c022e3c1ba9c0c18249aa8e9c3c7ac5778607de4c64bdbfb60850407de06b31e9000d76463a44600e813203bb25225352671f40485a223fa28010c2a33503ab095da1e85658badd475a24243c9142cfd57b233789586259ad41caebe9ba33d4659d9f36e8a6ac0c51a598b2626d49c2224441854417b22980adbd180af5c57112667e8052c94669b941b8adb303b4bba9726128008c611775699d313bddfb50a0f612fc994805fb1b4f27b674d4c4d74f02c3a9163ebc070e5f9ad6e420b823b6174ca2caf402d2e356767d448a460b69a6b5180eab45442402a612ae8a6a078234a5a6ab26b10475ddc51ba86aa1522c73d56b5c4246cb7960b7e8079e3a681234171f2e258a91a43565865c60429648a8f892c18ae071201b9799d374d14a0187a950591720d5faab4d09a1bc76ac9fcc85a94f300b85027beb68e8907a20243bc3700aef4fa4a532bba652c33ec0c88deb78eec69200fe6cf7b2882c1d437a6051b8eca9f3f3910d2d8286f706b297137b617234d2a5eeb3768be000730485e788466d586bf75f5c0dedb29ee7a0a10a138c3b8ba8f78298a0a0794c9411744ca0c1010fe093139f195c0e87f4d6b993b732bbba77e3cf99662d3c2e07ba4ebd0895a636674b1a907a032ab1ba74ec61d29db9b41dc1d361b81aae185912b6164f60ab253aec83b46523b9efc532b2dd816de4909e53a0700c926cfca787de484e8883532945b20c43f2a6a748048b95ce14c38d44d5e98b323d18beb27437bacbc7f11108d455feb4a7b3e234b03a317e5444a694a9522a5833e850fdf7b9be8fb37b2f95a70d11ececc51cfe72b0e1b7e78dc1657f1641fa254e8882678967856b98320d324ca249cc52238444ca5ce779062dba1fce0320196c49b33666992aa3d3bc13164706e413451058ddd9c28b1463a96875ab61a98323c1bf979cfad458b4a13497abaad469c70fb5c9897d71f84eb4266838107bb5554890b139c16a45c16157a761bb683916626abbb827019245b4877364833ab116e963a1ed63532f8628686c0500beba1a4c7a3c2f51f15310c66e07a48e3a4b51a8aae042dbedb9df7459cc3612490e5be68096ecaea154ea304200a6a2f849c7d5a667debbae0604f16a58d0a44c68f848ddb6731e1c9a04060694f7c6bace9bd43680f729839a890c1f4826b62821de90697b5f3b4746171f7a5921f25521a99108cfa148ecb3ac6923ea34a6ec77ac5f23b9f03273dffb5b31ee21f1ec0a8df0275c6d0428bd25456e9128e5b9398144228cc81a9490e50d916e585333e404d6785cd2ea82697e313b1122b27c9b355f5a20480c9c790a955c9ca7c8710abf5b3f20acb04f68ce4511f3ec3bff2890573e4670687a564fa91f53562c4b31d7a95116451206f4300592c600bc47713a16de3e0445bf68e7561b57fc7be4507c55a86a0721622e764aa55864d813441e5404b77f662ffe6442aa0b2fe4788948407ca6aaa5598ac2ee298073286eaa8c7550a0f622993b5a119fe246df44c0a89f17e57b73137dacc7a0983d078663670764cb9039b1a683427644f8b231935c83ad7c1067763b8f11f7552837c5b39dada484945138360a153f81ae5e9262d596d79c84506638e8e984fb88435a7c136bda450232467c8550b695890d0f2bcea2020a787470517013e9b98419b47c9f8a7efb4590892b3ca14098034237e40abdcb63c1998780aa44dadc4b4c91bbbb2746927c74038ac9003b367a4107c60fa6f6ba60b4611b41e35abf4db980899a9af85bd32f7747b2c15d1b43aa52376f11ab3275633c367ca14f5c26f2a1c997495db066c5ef6a6abf1551e1c4086075db27ba75314393d2743faf54be7a65e2a480525fb7392685b831584cf85b0dbe33c62d62ffe96ccfff1e0df5951196c3793dbafd59435d91bbc70066b58a6bf267f3dba0ebf7c0896cd4e1e576ff938b82bf56b342e25978a4636a3409794cd2682dab0fbc8e87c0bdd08ab53c069fbaa66c47b2d97e64546dfc1a96b9230c9f2d25a0a96b43dfb
+9f9f1987799290441d72c63edcbcc04ea8924e0658241122703f19614ae5f379
+Ciphertext: 9855b74cf82dbc89c61c9d55af89415de5c081072395833a37bb52173ca6089642d7531995c771437da6aa85418caa15673c86d5675d081f1d8b59740bdf1f0d93b5c924db93fbb52a6eea57edf5e2570bd96d4265ae3b696bd5157bca2508e639a5482c727bc2d3c658064ae7c067c5e0e764a42ad303f13ffd17612eda68deea8c2956e72a0da8d8517146eff9981cfcb17782953f4aa8704546225827238e950a157f3145433caec453522ca05ee2c90a924bb5eeb6e91dc905e12aeaf8798c668373937e0110a0685deee104aedfcab0552dd1aeb9101eafff1282b7a1e210945d6a3da8f0cf537a33ab5cbfd15b33d84e1982d073f6a1954c9626a0987ad8882b289927d5e76edb3f8f305d13441d1e8df3f68831aff400481879611c3bbd437c0279d64cf6eca74d58968b4959a9d79da5b0aae1b8f78953b7ea373d18a225db101e47a55c72041d0e908ca0979d2d568443c224252a0e598ce28cab8745b17b6840d508a35cef566f44f377aacd2286cbf4e41ef8111bc8924c2c730a747568aeb9794bdd60904b34435e454ee1e0a8ebdd86e7643ca7dc1a50fd75b822d9d2d107dcd58b437479e1051afa91b4c5fd18134a1fd1193503f9b4437a55b835b5b3c205a0b2f759c60962e40e404ff27cab439a01e456d7c24b5050ada84c4888a52af1271396c5a8e4bc7f600ee3a7a503b70d0fb434604f70d3f7ce5f9091baf0922b80f2f5a566a3bc65c63f472eae80f7106396eab9a64e671e7a61eedb63b5282b0e4b1414758ebf73bb6a253d84e70b8f93e247ec51a38c90ba1c9370643875ad2cc59b0bf235ab38b797628671d16054d5d2222faac60cd7ce7e17ff3c9db8a88cb0f9004d94bc9a29412c64805c14d212de58272d0643d373881dfe83a09b0f4a87920aa8c3cf7d7cbb59e3c1a54fa247884dedc1c83c7558966f7faf20ff4e6859abdc0cc39dfadeb61ddcd3dc78102f67179bd6f81b1b21c80b83a9a3bc1c0f4cccef187e23cbef99128f94bde01627d157e5bf1599aa97bc994d554fd43e191352f5905cc8f00935cff5905b98a931df60b61b24892dd0e07aac26cd8ae48c6cbc9466d3875452118c01bef1ffc211e293747d7fa6c325e8f60b5ed821d6e57d59502f23904f548a7ac8c1a2e18d06a9da417e6dbc1979059c90f4e9a47408d4816554659ec6bb395ef5789dbbd8a8317b949581b6eaed2472f51e7968e54358e56e0d4d969f8d62add0a81b9c68771e0a8bcd444f6158da4a9d4190696178c2a6070f7dc9b3b5b901ded501f96de1fd02ebb08c3f3538acde118e7c8ea7d7b072842556c0e4a673c5365ccebbba1f78fc38d0c176b03873ddc0e84cce9833789ef00de86054f5dd2a16da0cf37d9119eaba298766e6f62704ef160b93cf597446f8a2b12bb1f2442f2e9d327a77bc8a635c8d19d295990d63504e12d610fdd8a5fc78013a1e2b6a0d4ab4bcacf590a4c55df3511d40b1c34bc033ba5bcd935e22a9865912fb6cb5668b5b6e4370ef6c01e9be55f9bb40c5
+Shared Secret B: c8542813990c8b0e71d82704f0cdac0220f795976031290178743d1366b40b51
+Shared Secret A: c8542813990c8b0e71d82704f0cdac0220f795976031290178743d1366b40b51
+ac2b2af9aebf4ce6f583ab524c22053ac21dd9e34dc0be5ec3ef6349b3c1d7da6a127609684466e8f713fa0310b70672c1f3a4ecad1a8419541435a47829e3b7dfc7ff6c53e013f9e4f1bebb297e61841f299f2d1dc657a147db021580f2bc3bd67c91cb0505943d7c25b211780c197e68c5f83bfbe7d504d8e414b9b28fddfeb3c23fcb1c7c1e34ff233f884bb3518bfe3730a86df26e6f9f5ff01734d9eb7c81387e4e600f1cbf501f0864b90f1bb0f32ab7dc6804fa0efc28d8661bb62ccf0b9f581d68d938872bce83f9b0ec994d489c4322755c1bacf083cccdcd2ee091e112f19f70f95233db5c9534315203646e78617d0c015ee5c3781b79a26c28c7be454dc6d21f682805ca66a328663b9782a1728984143e9137099732434e73201f9d0e12fac3078af26226d308a6c05ca866a4ae87ed219d5ff3ab1a79371cc6e5053a037f5ca5c5b7dee4185f22caafe2eacef007175c8069957e347f428f26a899648c29ed4ec9aa697a55e13296838e5a7e619aa725087a3bee2af43fc4e8469ce4f17712f6b87ff2e6fe1843c301de7073f41cf93e152dee5588498fca5cc055fff76feffb66002eb44f13e01b497b54ddb94727d89982a6c0cc0edb7f45a5ad6f192d569955eb82b149a5b99a64f10c7e45ad1c52d0e8befe7834cceff8f421acfcd6b217e6b9faf407c3ba2110ad62ef17dfb60f1068c6e8b44f2d9c3b61f9a4288ca66dc797338f9ca5bcaf2df052c14287654a17e2756d1910bf23522fe2ffb654ae6a43989ce8541b862218e5fc6aa29003778cec789cb5370fbc354f0231505f99e7bc90a2af24f0d5700e5970d08249eaef70d6156f542ae6dba7126014a16e4f922eb8c2cf2080611804fcb37ff9ffefee42469257f83a39b0c2878bde945112d919dd61368c61a062210182d00ca4065b2868650ccb1d9f6b1d75386a5d590783f596747389c5c2a42b647692a3c25f52dc611cb7d5ef2fff2fec5d3df80fa00039d70206d0a30483b1253212ac2f0177c5168a36d5245ef30c61b5a6d459d56e6db1d3367f25a91828c6b430b42d1f50981aec6cd86d9d41e355ef3d371a97ce7693c7778f2b08451269bf4630dad769bc375bdb76a335f1e1d89c125367d68297e463bd9cbe4dabc91d511a1367cb119e337eddb218c9d3c4155c2599c6c3af6343a5b38d40cd5609a1053330da51a40459d40ddcb280e6a4aa0bdb7bf68123b83ac1a9e9817be0b69a48c61b65d72b5804b931c2121bff05e666d899153b134babb8d16a36d695380c23bc24fac7028bb2180e06d8d5f3fb1c71f89163190b61c34353c40131b606d386aeb5832785cc2619ca38a5fcd7d8e897ae2b0021fd4daf38737a3dcb07dd05712aab5ddaff1495bc550ce8abf44b5577c18b41823947d3c98662ddad7407c3837c0aebb277c6f5c5325566ad924750ed5fe4beb9bd7828c06d18ae429bec9e7990fbbf1fd037cc9724c804593f23795e3a20c0d4f5a8d57e85b5e7824fb2d23d747871efd434fc2b77c8286c1e40
+Pseudorandom shared Secret A: 704789afc9b48e918e526293fc1d74c81df3868eba63f8e64c4e7eeb3bb01c06
+553a9d259f418aeeee2f77a8cf04d2cb6f48579ee5d2a2d26d51cfd444ddb13639870529932ff366135e7e14e90a9d5a17bf4030a13568f95373f5bd40ad5e9a
+Public Key: 1c54938747a216435e86e54407498618c322989557ab5023e271922b065bc809666ae079eba747f60065d9a46213eb4e058a40497b784e36672d738dc16a4de6f3a4c9d6708aa9b4fd57adb9269917d0023c85c8c120ae86307b31329f19f42f0f98540c936d48faaa58f9728ed9bb33058d73b4437ca4ae67aa5d3bc64ba6389b2b0b1be87ac81e87569c63af8d275483501a98008ce39800dad108dd8ba5cfb21ba22b2fbf7accbb92704ed60f0fb4b9916aad3197ae31aabc34716d2cf6818577c48d9580469288e8e0a71752a8db1095d8a28ec2c98b8943c3a9207afefaa1feb36f33809906c6b98e097319c8b62d323e8a0b4c20d9cd3ee20dd6cc05bb88c56ed37d382994339775979ca07866834f082ae3a18e13776a68d4a871867c4fa6cb2e06738d400bc81c2b9469479248697edbbcd1b54a49402f3e00243f38bab7e155a2062db6d06ef51c6f0638ccc3c0936fba3de87c23fc98b36041592a4757ffe61ca250c204f14830307fbd25abdc2267e0658ce498b87ce15cf50ba308c2a50f9370bef963256c4ebcdc28ab39c090d9be471bbbf8db8e64213b8c88574ab84d4c31ada6769fc74381998ca4e1066ffb4b4ad20083be257de1231c9c0589fd54c00aa0a29acc61bcf19fa851311e8c956be033d63a1963c28af35594d8d467a1863a21298c57d1cdfc8bbc7b82a1b601266e22ab67f12bd6904ec5a267e2211e580b32c5f78bd976991181343f1697af5228e615389cf59896e2364877272138bbc72438e4e53a3500b6f7190033e1aa8cb4b15000a303ac728b278784ba5eddb626de2678619b3e8acaca72f97ce8e3b708323e6e02322507821b55b323bb710be620c5c129d7dc2bdc4b343ac66d34f484180925b54b0041b6b1f7891bd130c1e3b1c311a0206cd5841ab034e2ec27d1b0ab76a3adf480b8be11812ed8a5026a8e70671aba177b67c9706e29a300ba055a00394f78a91a173814ecad6ab363350a4ab921a105921facb798e3136e9a887052910ab474006335a2c9635481b50ea65847d162b45bb5333fb6c5da966e3179c571c04bde5b08c8598017d2528dc226f825cac13782d17724e95813f60210a6c43dd335b7ef40c4d0cc1f6e0527c52aa2910129c0858634350da16a42766a1f6c80b344a22155121291367249daba64e149889a93dff75fa5005296e9b16fa01cd27b10c26cba1081bf43d14704499786226cb30c8850bb228933962c46ad54b6342a2cc7d9a7a4e55a6c8e50405ca4192925742d966f8bf5b8f2166cd161a5aa6b79f240a8e862ca7123722b7052cfe17a41f7be0443937b232021086552227c3b3600182b19a71c5cc9b3481be52a82e970d86958b9734617ba6bb52161cb374b374902fa478ca174a559c5734e019911c8bed2418bba718eb1d035165092920285c919cafd0422c5a1445da000a17b52004d29e1972fe5879ade2c5acfe2016975822076be63b11bbcd120d732442c2729ecd3ca888035fb0442fd230c632a7bb02789e0e4ced3550ca1a5b631dabfc908a97683939fe58b76d5462319423b2436acc39abeb97719671a5df47e15f19541a53632c77ae0aa378af99dbb8782e5b6cfc9a33613c377fa332d85ec7b430e911df81cd2a943e48cb903ca54729de21c1df7b4134dbf2c
+Secret Key: bae93f41ca048c78997ea00fd48cbdfe4cca60487e373213ddf64a571a8e1bbc2ebb02469eaa893564a4fe11863c82790fd9ce1df1b290e855c1fa759da20639785c4148c8e508968a173514b6cd131bb25ed732cc25a2e122943e854229b92f3147cac09361568a14d9d0083856cded647d04517757e7adf3a21f786ac5349a0ed16ac8b9fbbb9961982d302f433826184a55d26a078ca9434a372e7fc868f56cc422323954aab29a0a04ccc926e69413d1bbc72667cc2868ae7a4160c0159acbc15c2b95066819806ad61cef774424b968b82b48dcc43c50589a005acab120a9dfb84398b5375923a39bf24653140f55043333762fba448d57fa4bee361564fb62760c3a07291cb34607a959172fa2632ea864de762459990bfbfc42813402f1815f80a54e2865a09c71a1da936c3c451b31b2aec6fb4e39e106ab518b53c5268ed45af85c7494e7342bb11cb048ca67e058b22257a6cac837db2f41428c3b30410606c33e9364207563bfb7848f67ba77b3924b2276fd2c4acd708adfd37075389fb17c34de2c8453989ba43cacbb913654bc25d4d14d45275f31a61379e92a53916c1f041d4e18abc924962f34615c98b937685bdf4a2f71787f4e7c84d5b5bff021253af26d4d8b99b2722a48d3ccf0b1ae3875a720aaa6009b5967ab17c6373589fc9c3b0a118a24c288cb4851f30c115a490e268246aac414b6a7e8fa3333dcbe3dd51f725b53e1718c192b87095aa02d328d378c45def04d3259183d13b424e700216255b5f576f0256ede87411ef565a3aca5e419c1182aa8118ace59e4c73ce1290447ae28f6c59c5461ca95221b505eb134c3860532ad243d3bf196b74625d0f77f633c58f935540ce6564c21a17b0522acfb63f9cc25c119a9618a18bef3826c57410fca8ff66c068110c11bb39a1d688850b1024188871f9698f2b39c10b786d3c33f54696e6b0c8024d2667aebba530383b53caafae3a203d874d1ba6ad83083abd886d6b66c0c03727c60949181b6a51acc3f017d0af666c57437b96a45caa42c134a531ecc5188ab5822b49637d13ffac854b4abba3a8ab9a8984ee9f77967ec6a1fc00b0b943abb821cb7e2610aa111a3fb7a9f4156fd6c484213504ce98204e283262c52a955c9d0861c8af7080f95a26db250dcb890106387279b6881eab30876a65eb89abcccb4fc3c36fb074df4e245a6ec35606b2b77507d7e4225725a6a6e0ab4118b792dfa76dfc9331e498c7c452910ac43560390f2c88efde3506f583f01a2591aacb4153ba30c6c249a310bc7ea33a7d35b341225a650ca612a70b0398839e508f7d36c1b60405d667bf88ac1547c641622268742c017e30900dd9a421aa1543cb8e8e4524916bb209325b6757258e441fee63fc0a00a560cb05e926fd6fb37ae8546d794243b5a42fbc258434bb934ea10f0215f33084d6fb4cde95bb0bc3405d860b66165b57d452318a52f4fbaa7de44a8089097f6cb1f89ab867cca2af2223e2bb55ae7dcc5e2e759383377e4694a53d2c70da65c7791a01392179f3358cc989b938cb00432031c5509e635978d0468fec395abf351f785c192f336bc686c85861f6ca03c5dd2a9fe6b419cc3c0e823bc1c54938747a216435e86e54407498618c322989557ab5023e271922b065bc809666ae079eba747f60065d9a46213eb4e058a40497b784e36672d738dc16a4de6f3a4c9d6708aa9b4fd57adb9269917d0023c85c8c120ae86307b31329f19f42f0f98540c936d48faaa58f9728ed9bb33058d73b4437ca4ae67aa5d3bc64ba6389b2b0b1be87ac81e87569c63af8d275483501a98008ce39800dad108dd8ba5cfb21ba22b2fbf7accbb92704ed60f0fb4b9916aad3197ae31aabc34716d2cf6818577c48d9580469288e8e0a71752a8db1095d8a28ec2c98b8943c3a9207afefaa1feb36f33809906c6b98e097319c8b62d323e8a0b4c20d9cd3ee20dd6cc05bb88c56ed37d382994339775979ca07866834f082ae3a18e13776a68d4a871867c4fa6cb2e06738d400bc81c2b9469479248697edbbcd1b54a49402f3e00243f38bab7e155a2062db6d06ef51c6f0638ccc3c0936fba3de87c23fc98b36041592a4757ffe61ca250c204f14830307fbd25abdc2267e0658ce498b87ce15cf50ba308c2a50f9370bef963256c4ebcdc28ab39c090d9be471bbbf8db8e64213b8c88574ab84d4c31ada6769fc74381998ca4e1066ffb4b4ad20083be257de1231c9c0589fd54c00aa0a29acc61bcf19fa851311e8c956be033d63a1963c28af35594d8d467a1863a21298c57d1cdfc8bbc7b82a1b601266e22ab67f12bd6904ec5a267e2211e580b32c5f78bd976991181343f1697af5228e615389cf59896e2364877272138bbc72438e4e53a3500b6f7190033e1aa8cb4b15000a303ac728b278784ba5eddb626de2678619b3e8acaca72f97ce8e3b708323e6e02322507821b55b323bb710be620c5c129d7dc2bdc4b343ac66d34f484180925b54b0041b6b1f7891bd130c1e3b1c311a0206cd5841ab034e2ec27d1b0ab76a3adf480b8be11812ed8a5026a8e70671aba177b67c9706e29a300ba055a00394f78a91a173814ecad6ab363350a4ab921a105921facb798e3136e9a887052910ab474006335a2c9635481b50ea65847d162b45bb5333fb6c5da966e3179c571c04bde5b08c8598017d2528dc226f825cac13782d17724e95813f60210a6c43dd335b7ef40c4d0cc1f6e0527c52aa2910129c0858634350da16a42766a1f6c80b344a22155121291367249daba64e149889a93dff75fa5005296e9b16fa01cd27b10c26cba1081bf43d14704499786226cb30c8850bb228933962c46ad54b6342a2cc7d9a7a4e55a6c8e50405ca4192925742d966f8bf5b8f2166cd161a5aa6b79f240a8e862ca7123722b7052cfe17a41f7be0443937b232021086552227c3b3600182b19a71c5cc9b3481be52a82e970d86958b9734617ba6bb52161cb374b374902fa478ca174a559c5734e019911c8bed2418bba718eb1d035165092920285c919cafd0422c5a1445da000a17b52004d29e1972fe5879ade2c5acfe2016975822076be63b11bbcd120d732442c2729ecd3ca888035fb0442fd230c632a7bb02789e0e4ced3550ca1a5b631dabfc908a97683939fe58b76d5462319423b2436acc39abeb97719671a5df47e15f19541a53632c77ae0aa378af99dbb8782e5b6cfc9a33613c377fa332d85ec7b430e911df81cd2a943e48cb903ca54729de21c1df7b4134dbf2cbf534022fa414643e09120eefd8856578ecfb41658e768eb8c0835f9ceac1ae039870529932ff366135e7e14e90a9d5a17bf4030a13568f95373f5bd40ad5e9a
+5a0e09a119210cd1c246a7bd00500ac5ff969222bbb629ae116ef9f1dba1dd9e
+Ciphertext: cf5f6b78eadeb692340d331bc864800848caa39bcb351a26a3e3770489b2570e1e3c062bbfbb8ad9b963b1c959fb19ea4fde6c0f8d5d5b3bce070a96651fda3e7c81e6af88106dba2b2598b0b0c9f6393ef748280df821ab579563398e810d8581c824eb1485cecf9d09df39c28c324c71b26a721329871b1e3e9f4e5cf971f7c59beb55a4a57ed6d6fd71575a6ebe743c57e07665f14def5c3e35f592c64cad5c22714bb8736b149d2ced29ad16c05e990589e0c3d06da8f5cca4757e03acc288695982052d2a6d1bc6d52d349a46ae37c3309e1c7a3e7011a161b9477fc5f8970849d5cf944f90088311660829717949363d294b9a27853eb1b39e0dbc2e8eda6422632fd61d9751b7f7ec421f9ef600986643a7a1bfe60ab5595df3ec9eb19961667eccf149609166cd0522ad7342e94047df31c203eae2019757b9fcbbf9da7fc2bdb8cccd589bebc662a648600de5a577ef33746011d1b3cec8bea47585668673f30e7a6ebfbae9dc3db8efdffedb1e3fd50e969f81c706db05a3a97c4c15be6ca04cac8fca6ef98e36b817470c5cc124ac56190f7ff159c8f86b482b16ba9361d76a797f97bcb0e1903045e979114842cc16ee714c454ae4fc5c8cdd0b623211c77c28d1b27bd4c8c68ca8742df8f8992c8e18833e18090dc434bd22b6f1083c5ade6cbca53a4f51fd9a0a9dfe9847ea7d3155b2461e179f3bf67a3764d5c6693215f1337ffc81f08f96831e3c704f4cde6e472ac74285ea1bdbb4a3c34debe487f31ed90a18af75127dd109007bbcddada73aa79bd4acc5dc2df3436ac86c45c05afc0614e95ece6431448f22e3acf3ccfc84ab38d542e60880a7b939990c37339215daa9a5485a29ee39dcdc472ee83d07106524ac358d155699a147ed204690c370a2660c9cb763191ea8caaffdd2cc554cba32104615cc54f5245e866248496c2a9c2bd68b7cc77df90efce4d1c4042e42eeaa071fda34c06660022cf9d2c09c5ad45571e9ab972851ece9b80d9f36dad9c4f56565671f847d736328ef3fae63d05e96338c869fffb80f0a50ce7958dc3a67510134dc12f93498e106871a38284d4954f62ce953bf2d4ce3b224131e69386320f5d1715cb8b725f46808157293016176cdbab8a930a9f00f2acf0954e4556ca40d13d13e37656dfac07171f2f08e610b48faa1322588b103f0b472beabfdd59ec3bc0c9c17236627d1814c6c0094beaf2ce6931981f458a9bffc3eb196370e22dac851073a15ebbc258d8532cc2712524ed80b94ec072f838e53250eb404e70de0f3f8980800a89ef060df0e17284fdc4457cd5be1c9608af5bef7017484a0df9e692b5467cc8fe34541b86d24f2a10c129d9c6a034d0a96c61701f0f6cbb223fbf251595b6903992aa3898c29dd09ac2e7fa7c86739557203d80502bcd3862d9da09e3c032c3dae3154b4083edcc69d65a8f18552541e665f57aa22af871703212057ce2d8aa9bb9858fc819d4c7307c576b1e24f5206f17391e76623ed19af488d3600dc30f22e
+Shared Secret B: 092ee54127c519400590a535aa124f74cd30e2c39585d4225cf7f508bd2b7a3e
+Shared Secret A: 092ee54127c519400590a535aa124f74cd30e2c39585d4225cf7f508bd2b7a3e
+df42deac0a89b7451a553ecee4bddffa28d4ec9bfaf60d8601a94d44d0a454f4391cc668d08f76a287c43f46f2a8c32232a8687455554c3a5eab4c06f97652e1bbd431c4dca16a6f6e4c2e21ee2e1400a2892ee1b471d2968734d5147141b54127b202751b0070f099e6862983b7e8ceb581169f0f18d165e88e85870cf588dcae721587a2dcb97fcea1c19794022841d72ceeffd970876ef32f2c7e7ae014a6468eaa83b1c9dbc02dc1c0316806ff1e1ce715a92257f7e7f4ae80df3511f687a5ffb2e8c9dae33f79a2e83af7b2da6e438db29c0ce8c28f3b0847c6e09dde534f50139cc5c737126d9af8c11add76551e4bf7425ea7cdedf5b8e854e1f11ebf6347a2a024ef49bc058818f37b2b4b2d7d0eb2b3f43e17815d29785c38f6a8bb22c5e8d988df6142e92f86f4abba3e95144d9ef8873b46ff5d52bcc45033f1b5aa047c1f370b782f23e687544651c4ff26efdb35a198ff5883684fbf098f46b348ae7298703495f9b00b204cd9146a5253b3ceef95fcbd0dc0cf9113be5ac8242f2a0accfbac50abda2309c31234b5aaf639c305a168df23130935a35f650a27ef12e884be86c8999c861c45bf8455caccc7b63e6e71aa64021a1a40dc3e9d38d94b9995d951337382da30535d5878475f7db002460453b7c2a4106fde9e01a7f0bb7480ce86231f50408c152990189d47e5faec3f24d7649a7ff28edc61c359ceeff236634a39dd729306c06bc30f82e2171256fcc9a751c9a3846e007c964d7bf353d056046e9a21cca12c3bfa4751131e34e25fe112ced20fec5ad64296555eb47d5d30755a9d2ce227020a5c49cd7801b48718faf2d8443d8c0ae45feb46b3d56caae7f8b453c7ad4150e58ac9e366705784cd42ff42ff0b07f25019e414f7782c18f09b81d9a361d1ea4e771c8c08b83aeae3a6102800068c2e390a374f4d77659c5517ad228f688ebb73d41f9b7dd2b53be8b6137f82d5392dd237e771ca630ecd8050468c7c976381372e47d6d546418bcabe005f96d72164cec81232dd9efb3d2bd58c3f83fbf8b0eb9ca2d1dda9e6a43982a3c6dcb5db5a93dba679defa44d233cf713c957914389be29c46dceb803f394d4c361004a3823d57ba17a0040aa3ed39c66d679edbb4c0d37e72f3ab73ec3d6575dbcb67ee4f76aca80b0bcc4b120ee953302358d9f05cfabd8baf79ce17f2ef5963e15577d353b4872ef1cb733ca4975b101850351699f0ce45ca452c48ef6cad2dff81caa1f5e294fcc120221db2254b75665a7b65f2632ed219acdaaf354e7f771b4b361e3775c1b1ae7378f7dedc5349e0c457c02b22c4b2342462ab12ae857eb28f212ba6d0ef1d7cfd172e910b9a2f5f1759ce9f6ebd82ab6ca130080b2cb7539ec8cb8553c6aa91cf742bbe0870e0e4d07191bfd0f61e5da688d25d69e50dcec1ba587d7c1998d7fbec2271c2a5020c0cf3700f1bd0897143f993324b174f94f77cdaa2c5ccf41af152015adf033f596a956b141a4621b27d9d7a6695642c66b8e72bf53abba6
+Pseudorandom shared Secret A: 4e6b9cab167fea0e675e5be0f650ac15e411cf7f95712f6de7e77a0b655774a2
+2575eaa8993f8497e969f8208adb0ede5c56c8178ddfff56152ae41ed1a31401b6173d8b793b53138bffea90ca7a65004b45c3ad2f1738b3bb1e427b6da290c7
+Public Key: d5a8cdf7410936d314ea51771a38a116920e55355b54a06c195035f75c18c2a686912b1fb01647d73a286cebb3e0b7a4c03bb7d668b12553cfd8d22d6eb43701f720acf681b8ca855aea3abda76ab0ca4904e655338639e128651f82a3468394c2bb543069c28efa824e446c555054ebea7b5bc4838b1a9340c71e92167c75269fe6d90370b773be811dfef546eaa225c144c650e50ed70119257a539f85164ec3171efa9d1677360945800ff86886428425fc1b3f576e1c9c6408e89d8742624de871d42209ae3663a96c61dd4566ce237553ecc9ca526f748c4550a1a1b13978249b965e0a911eb5044c01647209a7a08952b7b1c35b524f80e08d70a09751a80f7bf464bbe01fdba97addf4777a404f41216f9efc5ad44631ea1c279aaa37aeba36cb28a33492054a406c7c8742c5f4571cd6c234101bab898740494715a97c7041c5588c99fa956a73648420aa76b838152481caa344c994c15298001530f00eeaf2c543166abd1ba8a4fc1c0f079a6d4420e8250d94b935e2650aa481742db341f0e62400837f7779029c6aa05fbcc6bb37a1fe33b2ebb796c285af10f57e4834821fc8194ca1bede53b5d8ba3d99e795d14a423dd6b4e30740aba38c0762b4c4aaab781a26bff0aa4877245a1164aaeb354263547eba1d986837cf7b9d05810c23aa37c14a70b9e6aa1ca342b8a770c31007b4609495d86bc111a9f239b27c728341b267c434b6317b81685009efc21794358f292261018b1ef75b878a29131c9205d1787019f884761c315f3055afc63406e177fa95763fb026e11a5c33185378428da618767cc7beafb195c997671a0a8498c250a8415a18225e80985afb2398269697bb4186dbdcb0c2d8731340aeb64c0c40d1b537d4954400932cf89244242ea3c78d110747d3d8214a5c784f9c33cbfb7257580cec4852f5837ec328c651618fb4c39dcd995468340c1638a499b9bb43802d2408861fc4c2e1a132c43acd955a14952471aee6c601a86411d6a7e68b314bebc62323cf7faa71394a0770f9044ef69e4b876278817fe59515649182f11a669b07cf1cf98775d14125918a9ec7013cb9b2ef13af769a3be7bb30942bc0d4520132c0602acb0a6a7094f8cb37a4135908f258f64425ab3ac3178b68deb10500d37be32c203bc14eda954ba5847967c44eaac12bede658169849640563c3f766fccb7655db0eb6f8a0061a822fd7363e782bfd0a786e434922b63a64c16e5d58040b3487a4686a20e7babfb49205621dc971b93221c4287b19738c8a0bca7d95c6079dfac6ea235f7a727ad4e1be4205575cd364d808be8ad27e118c3eb0889abae6b25ce766d5d80eeb230bb7b471c132108ba10760ea9bf1038512725aa97b1d75a946d5fb3f2e8ac25aec7bc5e04e2ba63ce48a7ce88bc5a87080f6a7ca8c2a704e50942c360fd8839a39729f4ae15cd8865a096498dd63102fe1ce4578764ea96e10138f6c0119cb273bfd780a6928544020529261466c0aa5f8d10844e2c9b7a43fed87c405c2a22cfbcc279b076cf96d279c61f20476e6167035c334eaf573ac300205f97051b7ba42952550b9221bdb09a83b3371d9a843c3c821416cec2aaf45d4140ea7affac4398eb26dd3003ad7d531faa8ba988211c9c964d31777ac4a4669985f118d
+Secret Key: b29564a4582c0fa843b9e47fc308bb8691485011b4881c420fdca91da9b225a57e780285f48ccb795c2c8320c447a398726064354a3679d729cf2a6083080f6c6ac48048c284e04c8722bdadd3af0371a8a0c181ee4581ec01225ecc7f20d082b756c813b40f9a33c3d26a1d786bc2794305a4a203649266b5955cc91620270183d619bf652ca5c370487cd87b10832a27919a20010fc574057d74266851704a140be834b1f1e2b035c36098bab041b8975f926819fb8797093867a65ef571099a0351b6a544dff86c643cbcb2b5aca88371989135fe015a6fd15cc6902a0316988bb26de18898299a5f41b9823ee23ee17510ff098bd80c2e446188e17594613ca865111c6d9bb5f781bc82f43b31315bdd66bcd34294553187dc7a499458509e34bc9cdcb9ca381d119610882963e0709bec416eddb924cac53078b577d55ac2766cb71e6822aea7009501373acc9f65c41457c469ac7cb1474c1a4d737f1ecb76e1a723cde65de441a53df085b3550554c15081e18bf90007d72acd533c6702a015afe75f805abc19bbbdeaf5519fe191977b1d31a224dc410bb6256bf41368679b35bd8c5e1da23bd91591ba190bde39114e9c9771cb5746837ab742b4a7e53569c3b809cc3d20032749aa392938a96ed97f30306492773c41510a4d16bf8517380eb216fe104ef2191db394387eb64834f8ce6f244e146bbb21c2b81e10032f8502c8c6cb2e428518d291f73b1d7e7c9ba4b987e4bb35aae48801f53f1d69500747012295c4493a4fcc241f2fe44acb948cf07a0da2652568e769e9c92239dc98a0170c7b73397a5215579a9ef6f83683b51aa075552d8596cf1c7810b250c48a7ad37aa263687a456008f82c4550f9a3b8370e33533be7208fa7bb6d80091fd5fbc3a751310cb924eb16b584203210572647a8819ce23b2c937afa67a24c215ca148c3a6a30375b6137918959ae70952641c9d2332130b57d7ca2e3aca202a1351e731aadab301aadbc1b425110850615f3bc9937631539a362640a142aabbebb56f58f87443eaa562077592f125b41a167333abe0e422db9ccf216ca2430cc859b98ba60128f0c44704ac8b4026954982bb91c0b462655e94d18a00533cee3c1f475548dbb3cce5717777bb759b608c0fa73bdc4988238887178c691b55c5fb2964be7366975341b5337e78800d3b82bc0256c6171635baaaa106d6b8a1706988279766b55f1589bc90b9385ac3925fb95a176817e3ac2e0f26263ee83176c0adcd40667604832877c50e7b56d3c207b8e71e89c4ca71a04ccc780fafb11011f480b19a2226cc503b96708826c15e82cdb3f44f6adb84b208ac245622e3b89c57dbae3668415064291ab5b88b0872ee4a03fb90210131560c53b102a01251581703825a3eb9a0fc84791071af550c53864300eb335322f96d177494165b0055261240ea459194190f649ec07827c42a1e71eb503a32022e56665e834c01190143f3319f7b91eedb254972241962cf10a7752b67661aea95acf7738e77479367c4d64c5639920faf98bd67d03ca1c10792402c9aa97fb1604966771de0292458e5b5f5938a2e1a9c56a929834853eef4183cfc3e055b07360bba0bf87ed5a8cdf7410936d314ea51771a38a116920e55355b54a06c195035f75c18c2a686912b1fb01647d73a286cebb3e0b7a4c03bb7d668b12553cfd8d22d6eb43701f720acf681b8ca855aea3abda76ab0ca4904e655338639e128651f82a3468394c2bb543069c28efa824e446c555054ebea7b5bc4838b1a9340c71e92167c75269fe6d90370b773be811dfef546eaa225c144c650e50ed70119257a539f85164ec3171efa9d1677360945800ff86886428425fc1b3f576e1c9c6408e89d8742624de871d42209ae3663a96c61dd4566ce237553ecc9ca526f748c4550a1a1b13978249b965e0a911eb5044c01647209a7a08952b7b1c35b524f80e08d70a09751a80f7bf464bbe01fdba97addf4777a404f41216f9efc5ad44631ea1c279aaa37aeba36cb28a33492054a406c7c8742c5f4571cd6c234101bab898740494715a97c7041c5588c99fa956a73648420aa76b838152481caa344c994c15298001530f00eeaf2c543166abd1ba8a4fc1c0f079a6d4420e8250d94b935e2650aa481742db341f0e62400837f7779029c6aa05fbcc6bb37a1fe33b2ebb796c285af10f57e4834821fc8194ca1bede53b5d8ba3d99e795d14a423dd6b4e30740aba38c0762b4c4aaab781a26bff0aa4877245a1164aaeb354263547eba1d986837cf7b9d05810c23aa37c14a70b9e6aa1ca342b8a770c31007b4609495d86bc111a9f239b27c728341b267c434b6317b81685009efc21794358f292261018b1ef75b878a29131c9205d1787019f884761c315f3055afc63406e177fa95763fb026e11a5c33185378428da618767cc7beafb195c997671a0a8498c250a8415a18225e80985afb2398269697bb4186dbdcb0c2d8731340aeb64c0c40d1b537d4954400932cf89244242ea3c78d110747d3d8214a5c784f9c33cbfb7257580cec4852f5837ec328c651618fb4c39dcd995468340c1638a499b9bb43802d2408861fc4c2e1a132c43acd955a14952471aee6c601a86411d6a7e68b314bebc62323cf7faa71394a0770f9044ef69e4b876278817fe59515649182f11a669b07cf1cf98775d14125918a9ec7013cb9b2ef13af769a3be7bb30942bc0d4520132c0602acb0a6a7094f8cb37a4135908f258f64425ab3ac3178b68deb10500d37be32c203bc14eda954ba5847967c44eaac12bede658169849640563c3f766fccb7655db0eb6f8a0061a822fd7363e782bfd0a786e434922b63a64c16e5d58040b3487a4686a20e7babfb49205621dc971b93221c4287b19738c8a0bca7d95c6079dfac6ea235f7a727ad4e1be4205575cd364d808be8ad27e118c3eb0889abae6b25ce766d5d80eeb230bb7b471c132108ba10760ea9bf1038512725aa97b1d75a946d5fb3f2e8ac25aec7bc5e04e2ba63ce48a7ce88bc5a87080f6a7ca8c2a704e50942c360fd8839a39729f4ae15cd8865a096498dd63102fe1ce4578764ea96e10138f6c0119cb273bfd780a6928544020529261466c0aa5f8d10844e2c9b7a43fed87c405c2a22cfbcc279b076cf96d279c61f20476e6167035c334eaf573ac300205f97051b7ba42952550b9221bdb09a83b3371d9a843c3c821416cec2aaf45d4140ea7affac4398eb26dd3003ad7d531faa8ba988211c9c964d31777ac4a4669985f118d51c3ba078d4c0e91f7c5f7dc09035eb06d7ca733af7e3cc5f0cb75152f9c015fb6173d8b793b53138bffea90ca7a65004b45c3ad2f1738b3bb1e427b6da290c7
+1a74405d99bedf9eb6f3d7984f05bb529be44b76c7c24c3b0372c62376774c54
+Ciphertext: 7c71bfdcbf9a2df50a966c7addffa85663b6d89822f5fb6f3d4d5bae2466f2729f15cbf29b0a82c4fc9e491012422eaf292e20231ccdddf0f9bf93abe23312577fb86e6433db26bea4df09aaf3bb5a3db32f562271285a39b850293d69a6eb1cd6eb6692944e1a13a813b3b00268f1f60bfebb758c270712c9daae938f936fa6068d3c8c188919d3b604e6602adeb1f9cde45d6aaa0e9d6d24b6e70ef7748e9282a31b6fc7ed9bbd45199180781b34e5726049d27a7c3aa847f7f70417ca16037eac193ae48e601697ddce75c0e16d95333f881b55ec72368027b25374bd5ba4b53f309f5d40c3e08c3f6976180ec0ba54268dcfb8e8320e36ce7b2eafd7c4e37d7742771844534ef106b60d81e4d1bc3dc37d833b0c070433a49fc6b38c9561bc6fd9783184395ff982c4cebabf1ecffacece8ed3a7a63ffa2a4b2492e3afa8ea35c6af36855d2fd1be4b5c69ae0944f0662042d88176133f61f9a7ffb491afb68991e8d43e2ad583ab6c675f09c438a2adfb2b833d82acdb4c37e2ce43d8c6b746a1b395dc46634e76f539304297d522be66b0b3ff527998a36efb58459e9739abc031817a204c86cfab9552794e848bd55450d694f92e2c2d4e6aa8039d35586911240c67ae527a7d485d5f2f72694acfce4febb9588a2e8ae4348ae34e7710b13f3c8cfde4b71b9c8483d826a2f87ebd558270b6b4a45a0965ca27c7348662df53f7915506c77e3b9dab10ab362d4dd905f6c22a40abe7e52a8ec8fbf19487896e325989c8f80d430b67e12432cfa967d2e34b5f3a6f19adc62be287988a37747c4f7d86e97f60cb67b8cbb6e61c50dcc0de8bd96baac6621ee4c2b10952049d7f67a2e94ef0a784f02f0801dd4dff8fdb137fe78c4ff6aad079b71f8cf744bc7db7f1e9dc1044f6b773eb112bd8a3f3f6280935fd689568c5cec044a075cfced52fa8328b01ffd59c8a5d76e81dccd335c11d01507755575fac80d6c983883691b1d4d49e03754c501d202abed5b6ff2d754d726c42c0344a1cd907c19d84886033fb02efa5b635d4c4f20b7c274aba3733429cae386873ff33f1f34f6d472cfd77decb78bd1fdf0f6e568a7019c5a3aba9383f8cc2c5530b8da97c12e0b7a0aff69587ecbdf45d4b38d1c7cb42ec697d5c361823dcf2be9168954d972af108eea32a900dcc9be801449a322b2d5989c7a229394ee79940ca682185127191e18331aead1584a8831e173367002c8d6b2e4441263dc5436e9bb5320673a2da40ca93ff30d99031e580c866e3d73a086e43d8bf554c0443d4f3d8a8c5a41aaff7964ace1dc06e84a6f08ebe43d681eb610ea5a8fffafb2195f5ccb24f87a895d38b647441ae6bdbc72213a6a713eb1c56f4f65b7e6c319fcb13dd96260b4ae0461b9b8f8e43257b574cdcd29a53b58272afdbb456d0375f2c70e95ce5ba902f96c830c9e74f0dcf790642ad8df24ab30bef0cd19425af6b2ae3906cd7b8ec237f92059a0fc8827725cf0688708ef30796f491d2ff4af1c5b6f81e2c52f8dc
+Shared Secret B: 2d4384f9d0623c400315e0989270308eb86bf9300472fb074d45e6263be8cf2c
+Shared Secret A: 2d4384f9d0623c400315e0989270308eb86bf9300472fb074d45e6263be8cf2c
+64299b1e04e282963cdd64bc8ab917f2f1686d4da590368074c81f52366d5c3b81f44165048e2c5415aeb9a398129c79a0fce7149efa4b5d12991a3b3cdf3261ba03374e136b7d4978bb41b8fc1b29d718057ec8d0b4609319cd54af91522d0b732034740403c9987a3d152cd1c3d3d786644f12c8b0e34ea4c1d86c2f9f755154b45b5f921bfc3f54453533346d22e6ed290493656873a6f3ca3fdf310e2760ce429eb1173590641a56f695c2652bd92ef5ed6a9c6ad853f82745b1282cd6417f961acc458a94a07c4cbfad4e959652b7c24781bf79b20b1d7c439663a0f2ceba023f638544720eaae3153033f9b6e5c55e1aff970f263182e5729696c4820653e96d087ccf6577fb6f9296685d492c2241e174f8c14ac88d9e0c9d2c85d52838139de412ae966676a21cdfd4828273f6e38b47cac68404645520809cb167561f9be12e12e6dbe60dfbfd208881a64f66381eb05aeea9dc4b97800d97018ff0aafe9fe0766e8159980051bd54d6a3ba94382e2a03221a3144bd32a09984aa05ef427c34b9d0b20d39d3da4f9ec24314494239062c87376869a7472647af3926fbe9eff63a4887c7d853e68aa8fad5d5340d69cccc22ab2dc3235ecd4b857baf744a5c57607727e7a12a2429a188b2a5783838aaae80a3f6ffa126110a52f198277947b0897603f1fcabf8bd50d9527ec32bd6404445153eef45aee73327f4d99ff9ee7c7823675bd3e27acd5d5d24d230c24089f4e2c3a38da9b786d267ff36aa1c47752ec22b07cb8c00265ee1093c65c8d6c6447c54b53b651ecba0af2bf41aa0d658e8a6b63d95f312a58df64094461a039a8f2f5d4bc4e83f2134a5685eb26eb14556527c4aeb65eaa218a692ded871398ea705c9acf3ad06bdadfe5df5a0b22e885d47a6f1c3d6e96a66b2d37ad1142f27c6f70b7f98abc2a2e7374612fa008b1e63bfdaac48de130672701698d48863a2e55a62e25e892c73fd40d9cc891e0c691ba724e904a4950544ea23315ae37dcc34d283d4dfe77e00823391efafa3b9686c28434450e0dfdab7b548a88c50bf1ea48d96cf38d8ab3889c5c624e5f04f390ed74688d5fe010a77c11469677ee1411576797dbffa3aa83c9d061dacfff4d04b829821dfe0f628c99def63a0bacfa4e575f72636f216d414e94d379db706240eb536a2a9d1728d704c36c55ebe4867237738d654de85b46a6a433b000ceb9faf942965c1103aa9dd81721c467eea4d8d701e14932ea0bdce5edcd5d0d999ab98e2d5449833cb7ebe958a6b8f56f159bf0266ffcfa40a21082318d413c98002bd43f7cb26687d1dd30f08353ca39e0481935e1e9cb47b9fde71aa773fc30f629f7fdcc100effa4fd31908444e0e4fb0baa6320409c7b9f0654192fd44391b22c456a59acac2b7e574eb71f87123df2721b8c54a1b06d124c64cd20d4973ef24b10335f3ad3c73b3ab50d297c30ea25fdaa00c520561f9a48ad1b7bc2820f118abee5905b9ba8082e1a63f4cf9b85fa2e9f5a0e99e59faac1193502c
+Pseudorandom shared Secret A: f6f8a8ff5f1e46ac2ab695ba801fad793e208c83d7a453cd9eb2ec1fcac515f7
+9dc9008e5f5a4e8f485d977a9a47420221df58c874d76c8fa5450ea826798c8faba9afc02d22f5f8c295f84d8c53f308962cdf6e1759357256c22c71f7480da1
+Public Key: 05a84375e832b43b4fdc9637f51843cb289754a110f4c949f41b478ee613eeaaa22131a608d7c4da35aebd384a8d1c41fc6041d56817ca13b2ba9b19a9e3278d15c0a51bab06a4793755b5de737648097acc976b9c9299f10302e967cb9f72185bd641d563554ca97b73a38c61ba312cc569cfe81fae428376162168b3bd089424bd8a1b54d45d8c71cb7a14b60b871c0546bc5adb9216c98abe098043cc5d3cfc121e9575fd99100c27523123a8ed5611d8b73921190450dbb4465b10e056b02a27c6410913f9eb003394739bc58e3c738bcc7237bac24ec282375f4b66bf6c0dac805002449f1d246661d128e41c348e6847e0a5a5e01b0b08a803f2140062ec754a4c1dd176455dc03ef52a9000eb38a3aa68706c98e641c55398414d243ca96558476ba1907342db065f5d904c3d055b8a7768bf92032255c7b1e946550abdf45c64698b599ba47e8e04007180834f79c09b214292093cbb3b66d28b8646f3072c439d003c930717b2cae87cbbf7b1301bca49f26d7502b70775bb50f011fe251dfcd512fda45d0a6a5094b53c42c69c9f3a98e19b1369937390f0248b9118e4e60df10baece15a372b5c770cb883d93a80f83c12fa9937fb452d045c644566e5189507647344d23024379937134a251d391511775dd51976e024c81567c86ca63d26869243b70fd4972130214c1e085b55a314fc867e0f7b66e52082fb641c0a5221089a23eb2580d18049bb25955531887c2c874bb5f61064ac01c4d32b0a7a8276b88e5c2de02b4083226a0d206af6b671492655b693a5852580ed62e69f14755c595d6182b85e7658e5a35aa857279509cfc4959c3352597a63c3947a773c772aba0916721bc8a2671e4f07b6c540135b462007617b7e738a813750927464d56553b331ef345720fa6815ec6aa0792779c5318871cce1b81901e2024e4c2560b492cd86842f28c11f7291da8d94a030b0b430326c63108eb591940eb1b9439bd0a15c6a93ca383bb6d3bb941d69b5fe51478f35877d89c1318c4a47e05a1163213a616aa1047a7a1331892b7a4a51530132a836cac42d064705653ca676188d8ec7364137d0bd59e2efa885eb93b6e0c296d6b61d7311c4240510bb24e6fcc8cf5ea4074083fa13005a2509e7e851d3d83a3c61cb79c301495e58b709548cc013666921d514249a0eb6cdbd7b39b45a7de6c4a31f3c42dc8bc235308e9167e6d0b9f356085aa4664dc605e29926b8a4c1b0d994dd60bbc099b9b623450b3845f1b8907bdfc2104a7171c91285342b196e92a1c515f7e507565257ab758a0b4ba11dd2c52697a3fc4a95eee062021882f32424ba381274594a760634923549fad015321c4c15883ccf7d2816cdcb001a6b33e7bcea53c180ef04d585577d1fa4e5be04e7cb77253952dd02aca0d846453855f654ba47b7bc045203a3f21a38b276ab1d0a6ef2210571623003ccc47fb79295913d05183e5babbb4f62ac59287d33233dcb7c2ae805400666c30066ab6d898ee71be43d4be2a9c996079b34632b4048847f06caa170b965079cd53518ebdda5b89d3aeb155290e129325583086ac9156d00011716a1185548920b68aaa198169cf2209cd9f2432edc05d63d70b5366d108fce4687a3368e64fd2fc1aff0efe4969ef56b5cb514b06d196
+Secret Key: 807b1d374316d5c212e40b0539790db95aa774da87f25522f338350861391c62b7af0ac16e49c6a045c303d938a716cf9885a7f8c8c09dac7a300cccc21481222c1eede24394916a62507e329c8d4ee74f69cc004d844025c784c5503da8c685eaea6fcb0199ebe23c75415cdf886673537f516a44fe58519cc187eed56a0103a4990479a8544c5d1b1c7f16bfab591d469384edf6ad4d87a9c49b44c9147af19abf61803129d584ef492d4808b7b3480096b3b6914166b062c90a645d719259a47c43e47279256b9b93151123f726b7761d36e8b5292a1dc38936f5a9a71e6a894646281efaaa2b7b7efb344fe4c29ddc1b554042a1435813af1392aa48cd0f942de26279e5e688809c37e23055f7a54407da568fcc9ca69b2ef76ba53e3a531a279f0ce79ba5496409547c5f0790ed23895717b8b0163ff7d8b6adf723c750b5ed41caa1700b7c60545c4c25a5c19d5ca044db272281d96329866e7511bc23a90384c5a582002b6471acd2f6c684887696615df9478bd3e799015b6e758b7b39f87a892896d4014899b30c669790e0d815084a05fc55709c76a142ec8c5ff2655ac98cd0bb1e9451337432acd152aa1f203f074667124a7adfe53a4e654506d378ef4cb8709476fc0ac9a5027b9670aa34a3b4bd695b4441737da57d538657beea713a703d5a661e6ffac3d8089e93a7324a2abb6a2c8e31bc8aaa0c4e2bc66e3b69bdd7438c0f2c2be20a35ee97417abc435699a8f8b074fa06af3c0b4ef85628fc231ac6f78f592032c6eabf1bf8918a2a3517dc1fc16b8cdeeb1fbdd599a0bb5932bb6125ba18ee5c5c4c1247a61a7668484741f63da6eb73c3cbb8d6a6686a1078f41663657aca1e63c67f432d25d72be3f348522151e24a6314b83a48257417b65f9d8420f4b1c352b47bf972508f551caa52c687a032285840e6d32973e89add5a56b93987d5d7bb98b80f8d781429a1bb8097b56cb8c7b63bbcbd60b820815ddf937abf82be703b1205e8b69c573a5b131cb5d36d9269bdb45b4aa9b1b9bad9aff8091d2db95ce0700155b36a037651de702986b20d9d959fd5f32232d6742db81e419bcee73795e20a91b0f904d8bc8743317ae8fcc8728b26e0e72fad2911e61b419ddb0628037b77c2456da350329085f267a09113c8126a62152c118f0aa93872a9b57a34a3fa3d1f3a3bb01351f0e081cfa51acc5441f4eabaa094a29db234122639721200312643a1dac2c41bce62f00e8f812ba479269a34c8cae374b56622f9c93adcd3b1d6a33177c40c6cc01cca92cef3792003a13150e8a706b1c220513bbfe80a20e9612a50796c609c1864657db86ba0f26879541e5c8a8295a57b823b4c77e46bff4351c56410f784534580a70f8701b78333e58a1ec623760856398899702e0414de78c2df2766e8e43cfbca86132acd7e9139d40c51fef26c4c00ac4fe1ac6c7c4385dc3fcce14168921fe7a85281c677ac5a503254687ae348b59a62929a1bf15935ca6aad99f515ddaba614374bf2dac2d9b666c99152d5f205cf7145dac78f6fea06cb646f0d3c239471779738548574442cf7ad54c891df36afd9fbcbf136b6a8680c1e9754503abf87f1c0bf77ba2cd9cf05a84375e832b43b4fdc9637f51843cb289754a110f4c949f41b478ee613eeaaa22131a608d7c4da35aebd384a8d1c41fc6041d56817ca13b2ba9b19a9e3278d15c0a51bab06a4793755b5de737648097acc976b9c9299f10302e967cb9f72185bd641d563554ca97b73a38c61ba312cc569cfe81fae428376162168b3bd089424bd8a1b54d45d8c71cb7a14b60b871c0546bc5adb9216c98abe098043cc5d3cfc121e9575fd99100c27523123a8ed5611d8b73921190450dbb4465b10e056b02a27c6410913f9eb003394739bc58e3c738bcc7237bac24ec282375f4b66bf6c0dac805002449f1d246661d128e41c348e6847e0a5a5e01b0b08a803f2140062ec754a4c1dd176455dc03ef52a9000eb38a3aa68706c98e641c55398414d243ca96558476ba1907342db065f5d904c3d055b8a7768bf92032255c7b1e946550abdf45c64698b599ba47e8e04007180834f79c09b214292093cbb3b66d28b8646f3072c439d003c930717b2cae87cbbf7b1301bca49f26d7502b70775bb50f011fe251dfcd512fda45d0a6a5094b53c42c69c9f3a98e19b1369937390f0248b9118e4e60df10baece15a372b5c770cb883d93a80f83c12fa9937fb452d045c644566e5189507647344d23024379937134a251d391511775dd51976e024c81567c86ca63d26869243b70fd4972130214c1e085b55a314fc867e0f7b66e52082fb641c0a5221089a23eb2580d18049bb25955531887c2c874bb5f61064ac01c4d32b0a7a8276b88e5c2de02b4083226a0d206af6b671492655b693a5852580ed62e69f14755c595d6182b85e7658e5a35aa857279509cfc4959c3352597a63c3947a773c772aba0916721bc8a2671e4f07b6c540135b462007617b7e738a813750927464d56553b331ef345720fa6815ec6aa0792779c5318871cce1b81901e2024e4c2560b492cd86842f28c11f7291da8d94a030b0b430326c63108eb591940eb1b9439bd0a15c6a93ca383bb6d3bb941d69b5fe51478f35877d89c1318c4a47e05a1163213a616aa1047a7a1331892b7a4a51530132a836cac42d064705653ca676188d8ec7364137d0bd59e2efa885eb93b6e0c296d6b61d7311c4240510bb24e6fcc8cf5ea4074083fa13005a2509e7e851d3d83a3c61cb79c301495e58b709548cc013666921d514249a0eb6cdbd7b39b45a7de6c4a31f3c42dc8bc235308e9167e6d0b9f356085aa4664dc605e29926b8a4c1b0d994dd60bbc099b9b623450b3845f1b8907bdfc2104a7171c91285342b196e92a1c515f7e507565257ab758a0b4ba11dd2c52697a3fc4a95eee062021882f32424ba381274594a760634923549fad015321c4c15883ccf7d2816cdcb001a6b33e7bcea53c180ef04d585577d1fa4e5be04e7cb77253952dd02aca0d846453855f654ba47b7bc045203a3f21a38b276ab1d0a6ef2210571623003ccc47fb79295913d05183e5babbb4f62ac59287d33233dcb7c2ae805400666c30066ab6d898ee71be43d4be2a9c996079b34632b4048847f06caa170b965079cd53518ebdda5b89d3aeb155290e129325583086ac9156d00011716a1185548920b68aaa198169cf2209cd9f2432edc05d63d70b5366d108fce4687a3368e64fd2fc1aff0efe4969ef56b5cb514b06d1960df2b8610c6f2cffc076bc5ba2bd3baa939de641abf0dad86dbcc10aff002cf9aba9afc02d22f5f8c295f84d8c53f308962cdf6e1759357256c22c71f7480da1
+0970f99e4d70f08ae26920cb97b9c6f45ca90718c4acb1cc84e8abe995b6fcfb
+Ciphertext: 7114cea6ebd70907849b995a950f9d8e493faa533484d0c0b814958fcd029cf6c318a55e1d486a75b6615c376f055b1162cfe3ab8f4de98e4abcc8551875e8755815c48f28570e912c007af8a48022013f3a2325204a8936657c90b60aa37075256d640c5e165dfd7ffb7cacd1559e527f4dbb645d119ccaa42dd5cac882168ef71db516734394a0c5a51f7e3b52fb1a543997effade7251ffb6d72a9c1fdf4c768291516525ce9e55914f94ebba916f3cb4e92e32635815e5ed6d39027d80d7faea19541ac31bb17c942f15fd05182ef5d8e3b7be82969f2c764cb799138e8c85a3080d64910b6a0a7b604b2b14a21659546017bcb1e2968b4241d885eff30d8210b759bd598ef36b371a149532aca4fff745bf9f680c74dbed647f9e9740052e70f235541a931aef88c030932a945deeea1863084466f020a92ea90f55a8e63d1cf46521ac568da1b157645e701acb06628205d60b06f735a0afea4e307f70a726dc61bf497ca765218fb8bbd9f9267c97d8c62d2a85465ce4924cd62456c6b9d33cebf747219c71c55559a3fecd4fdeb3173eddce5aeb5d02bbaf95a2e2d2ab5f1d6f29a4d8c248f76cc61d4c8f8f4fa31d2d29f25ec9391ec1fb7d98cc2d67550748b0c2a1708fe3fe2bad19107e5ec35beaf1036e86bc249773f58919bce6b328dc28dbc1c6584a68e38d0d6bc2be085dbbb285f07c183389d2088152608b8a3951751b1885099e86f7c2c5d4ac936fe92912a83011cde6e66f48c91eff7c24ac10795f9a6f3ab4372e0bf7ea6451c2990c60346e04dfa5c7963377eb02b17944a26cdebee0f7e0ff1cf22fc44a29f0f9fcb979b9d1b79e958f4d01c271800ac2a99a0a09ac145be02dcb9bf980eb7979e97594d502b6326699b098a5d5bb7dec7defdc76f12f6fad0b82a293d3025acdeab6d28622cfc08cfa87e21444d3124409f7b50a98d8cb9c0cdf1632d35ed88d3206a21e77ff1db23cf2a5425041433ad80782d2f60b36648ff9f0c57295a520d6cadc5f2b62833d75cb51acbd5cf3a95f258837307db8deb342c551e05e9e620169643cb93aeb7eba5fd441bc1c6bf957ce43988a987e38f5d271063a7c19452c83ee79ba0908bb5c77adfefa4bda03f03acf5d54aeac059f27dfbe8dbb1e342f3be9ff9c1c638b3949384c0895971103d300233dba72123d685515c06225a018f5a70d97bdc9db4fc4ee0d1b390a54af03a21456991c1cd97186dcdce0788fe3a8345c9f38ab11ca7ff148038bcc624d1a973ce5423ab947f36bdaedba24a8095d38c3d67aa1e39c79c84befa71f2095f861622ead5abc8cf7f45ddc57981f1364c9ea2291512996528e6150870997f970b7b5bb0bc11efaab4aa172d4fce55409195126a3526b57982e63768759dd5798d3d46bf4ecce721a53faa2704675d8eda8a7cc686f31618d61beb9c5bcff79c5d93acda0a1bd51d3c75cb713871d30fc4d226eab719a94bd5740132f70b198895db69995b7039d7d951ff15eb8443ce1ba2b82014ee7361e448fde
+Shared Secret B: f9db66cecbfc29153a9fad2f19105a38fdf2fb2a869cd4522f2739f8b9dc52b1
+Shared Secret A: f9db66cecbfc29153a9fad2f19105a38fdf2fb2a869cd4522f2739f8b9dc52b1
+8ad4508d6c22ee594c367b2836f6d5f5493b4adeb8e2e1d526ad8ba6fbb15aa3f49e25f1c71a5ed88cd137e5c7f8f5a19ca7a676600e2a61f2c19f063a6eb59b02829c18e1dc8b2782648c68f81dabdf2ba31e27959f2abe4340b70f8b2ca3c074539ae297706f2690927d312a8c8a619ae8efa31f36ffe2796fe80ecbd70819506bed5e8ce1db7cad527e484a3676a65df4c57a670cae69dc9f4ca8a15fea1bd4038d2c2305c538bf504f87997caf20b4896388c980cdb7e54a2503ebdf73977fd7ee370a11c49e865d29f2b8fa925f53c41f3b47a86ab874114a3d555d8d4c4dec106d47c468043eff78b3f9f0578fe3a844b9f98274159d7a23ceb9b2c83ac5f9fa159bf2d5bd6aac83246a58f697168d12aef2eebbfc5ddc4751b56feff85815c632c82d2dbd02a7a3cf1ab8153eb3d3566e79ffc3d21a4309403b6f5d44a970adaeed596d1f0ec8180ec996b4b55ca37cbae8ae811ca8fdbc0770d356ce3638c17e3791caa903eec79f1a515a8d259b1e58a91a72297277a7517ce2c2dec94d9cb6edd31dae1d390d7bdb965312425c2d9743a54337a46be2ce5d881c2e61e7cfa0284e745d685e5b102f6b95916520123aa970c144dc5787475ceaa429bb40fe839f54b17f1f076a21d01c5d42b0291936d58010a88e6a9774021559fe840a5ff96b68bf00c178ea9b9b151a49f1beb561fb1c4c19103c4b7d974416b0a562d411d01ebd229622095dc3d89d62bef9a98495aae035103be4d3a7b940103c94800752af7b3904cebdb4a0167e8479f16bba8661f253e697344aec5d74f9cd4f3a5e27555a75157fff40331e89e74b0acc309cd6805add0ac64a427c04c858a1b34a51f11aa3d00519088151bffa14e38e69a9371e3eeff9a21be61e58722581ee5c4bfd6e3016d103f3bc6fa893754f34d59378b65fe539d89810b61af88ee80fcc7ee9af9350f8dd2ea3a74e18043ac4948bf11e5826acaef056caca283e2a0503d75f0c32d57c14847fe8747380b17dca1c50257f46212424e00dc49667f60c02ea6410781f1aed3b8b558ad41eb312ca6e53a17fa43ca1b2422ee34f0c5e7daef601130c32bbea2ae8607c919c1a27ffdfb54a0ac053c1467e2dc4e3bb9fb73c1337b07e6b2a6680c88008b13570bf64bf44afb5fc79746b11eb69bc77e4d70491646062b6ae88245f7953b5f8019d30ebf22a3be757dc9a551d30dd5196a0978036aa2113f0be3c36def445fa2c5699cc7daec35c4300cfcf6c547c90781b0a30e8e72435e66a5beeede980f496ba515b436032a683c5e94b843253764c432e5e99d9d70e6176ea98a127ed4d6aef8307cf387fa83b60ee91b4bec001b3fa72aecd12e598cfcb3301cd2f1552b298c46ed6cfd97b2748d4d6aadf4b7a317e21ff70d3ce207f3b537d704d8f61e7868b16091e386759b45630422030d12df3e17cd9c107797607e6a014d89bd6c5d9a6dcb51d923b7f720049a5418c5a6d70db77d38794b4f41ce03833b85e360d7d81f04e810a92be94b4404a94d8
+Pseudorandom shared Secret A: 1d1e40fdde326540fb2d4e34565bee5463998219987d731563301d602ebece6e
+d4216aaee17846924aabf79e8a05f9986b75927edaaed606a7c8b7836441dee3c9873bf53cfdb3a7fbcb9d6a19c12d7c449ce9b2eea1bcf0077d74e0864e71c2
+Public Key: 9de61cb0766982150177212d725cb8d4e186f16728b9b29e1a0c7eea6188211c7c5c447d61b0373fca54715b3c11c07555b3afb7999a89f2bfb1b077819c9f3d7bce074c51e8c7a2528356e4319ab26927b05763402321e7a905c6fc3e04b54c93c7ccea546409b442d28c058802217fc378332c8da423994536942a327544f3365ef269ce0170ffd21ca7c33e86773525780ac58b96a0102f1c4b4abda724f6e211e303b4f596ca445340adbba492625d0fd397afd0234b6566331a633c7ca704252c791b1932bb8299b387e1088e66542c4c730c7ac715ea0248e51b01aafbb0ad400df4ba50221abb77c70459500bca818bb228982ab64430f90a948a9de0685c67cb46c175a411e33b880267f9d9c244c447d0bbb976250ce18888d64a54b852be0309bd20b6812b90cdccc10811374f43155020a729e6e5c9543b1916e14bffa3ae2d4826ba714d62b42364b1a62753536a2226f8011e031b639bbbc7d9c3be7d8ca159658cd2462966b40fb5b651712c3a0ccaa3404a634bf26bce4236c6f6bacb1a7f3b9c10af32ac44722e03a333dab28ac4ea3b4d182551f395e08953a7dc7bb5b124e9402751c632e79b0af8e41e5976a1a8c50c20dc5699705711ec708529cb42b3a48bf8193f145e819387cba4ad5d043f3705c96fe667cb0aceae9a1f72158e3588432f930337b97e992c37f555a45c76963ab3a2ee27c874959f8d1500cb2602cf077e506cc215638b51476ef74c5878ab0ae146a6fcc86b3b1b83fda4c98cd23c058001f9ea84f7a683fcf093747313c780bc81493ac9348ae60a7a8f881bedb71facf45548e19cf9561a5c613f5ef4c5bac536eea32dbe8a868d93252e70295c074c5307749a122d6d370ee4162cfbf8bc4b0c7e5537c8ffc81cf2435822d56ddd87b614f4699a3310d363134466104c888d30e8b2390473f35443eb4bbb3647ac2f58605a059b7971b78c04129ca9088217096d54219ea6a066247bded236fe23804d905f174b69f0d083ec826e3aa2c1305010580b4f42197b5600c0f8773582c098b3cbb243981d4b7977b4d5a8d4598bcd830d067176c5ac9ff993a6b2155b4bc89221c5a1a78400cac6202337b1ca291c79137faaf280996269c2537e3e8a25c6d5040d22acad869d16d544b3bc335f5893df3acc9242a29069c0e2fa8a24564726a2223a2548ae5664b8b27aada92dac407717f9291e016268243e5c797799d74df38092a8714f529388a3b593866c9c63a75f97db4ec1a38ee7b33b3132342e478911fa332d1ace7b5607ed4bc69c3469ce3a1e00773020f670135a589e468cb95719c5d3747a334a99d361e3b0434f75c96b198798ea814a168680394309cc94a572ab2d0c31bd39acc90876910c637667511d835b268632ab0a97d0e201db67134ae99d16e26a55fbc20f3b1ba922c3bec6680b2b904e82282442901cf609b2fb740fb70457040c912aaf4fc2757db24f78544e86b727d040b99568bcbaf6a47ce00e1b832ac816b387ca44dc976b42010a41bb3b2e941ca4904f9850c94ff93797ec89337b4736914e2060a1bf04820d92cdd075b35ea380dde9849501c5f4822e47021a2d0c8d7b7524508c6052ba676b462dec97a644811017a850bfbd76b60fa86900f2ceee051d0f833e3f164d00853b85
+Secret Key: b19b85d9887fdb2b61329088090790fef650b01a859c2295e519c5515b5df7814ca9852fc93c254f37984b38a06f244f094186d5fa8f2ac8af9bf5606765af0c2b63fd9bb8c7d23441a609a2e9c4702a64a5226f5988ba0c074512629336c18d4d3695916c051b52c4a9c3493663cdc9b712bca2941ad7a35d85b4a4fcb0e9f07e78c320d68545ad467df00c47eed4c3d8a57f22d556020c463cc2c26799b3bbd04caf392a119c0931445a3c346c8875685f7c647bec32923a8510b6504cf51075439c6ce4679c44c3aeb134ccd9987979643346b2e7b16098ab057a25bf219c87898005ba418d94d93105f918c3723450bc1386d36eb8205a96d5b5ff8c9fa174941d45bb45853e8fb526e81874b311bf709b270751271f838da49089c1b74640c8995b365b579198f0b307cef630d54b6cbb33a5b39659447c5b99a058dd82b085e0659b7b5878a41c273b48ef402cd494993c56c7d1057b25e9ab0ec06f3b8652c54966bf39478cb45d7a5b22c5fc8563519be1c5b155b25b922b2553aa2009dc31a091832534573b981dad8345a8cb802c55386438006d010f1ae8140cdaccce59224763c5a34880553691d1bcc8cab7b97c45389d82b09d5313001460d866c6f5976f127c6ba44c6a28cb6636e003db17b92ab126b0b6480d4a4716c30abad4c6cd3a5fa2f0c13b28b08a816772836aaf38a8283466a294206ed0848e523892f9102a198507c8ae9585c6f88ca81e44660876a633129ade14b285c9899f434fcd6b6f6e28ad49726808d399cedaa8072bad63c68dab8cae299056b0157fe0f398a9c526d7b4b2351bc338822471f53c6c430223d04036835ccb853ffa0462b7e8427f486d59f191a301405be81f9b632a8f4a9c34407b2b259556532a59c629ca44be199c5fce040e97d716a5eb09189c6c63f2ad0b972b100ac11f79b7a0b36879f11f4b9c90234818b7641c27933f557b9cb1f6c7813c4ee54cb516c56fdb396bd858463fb3a52cabaa82bbcfd72183d6e118ce02976777409168ab6510604f265b035108ab252b5bb47cffb054a8ba0069b718e4a1b81555a76f87c1d0bb8617204e1f95042cc248d1bcb4397aac6112cdc679537380bec75750c0134da7c7142264b28a1ac5aedc95d2271d2a7428a0f840a162ac2b30c424872d593c16a343051b551e519b3967a06794268712072c85322ae547a96e46604e82a2a4a23c2ed97f26a8c0cfc96cb68cbee29858b9a14214b440502a6e5ca16bb734470fc66ece15b986e5ab7dc17510b5659ebb59cdcbc9efb42e7f92b6a3b17c76a8356595a332a39faf568c27a779f40c9f4ce9c884a67e5797bcde3a6ae23038d6548ada38395a990541f0baea5a5efd64af2ef71354d423c015c41d95b4c9e356a2b42caad8a885eb6145f1a82237b15f2666889721e9976f5e7617ff99270812903587a4553aac1d976c3690c393d4a2cae437cd627d8cf06344136c93079607089e01a615d713bd1a976d9cc47101d81d3f498151683df394cb99216c3c9320aeb6117df627e59729aafa8943e27a019a0bb8d8932663c916309c4ae7abaf573236d66f69905bbfc46f18da0cb8f212ab4942309979d1d05a7e5ca89db7229de61cb0766982150177212d725cb8d4e186f16728b9b29e1a0c7eea6188211c7c5c447d61b0373fca54715b3c11c07555b3afb7999a89f2bfb1b077819c9f3d7bce074c51e8c7a2528356e4319ab26927b05763402321e7a905c6fc3e04b54c93c7ccea546409b442d28c058802217fc378332c8da423994536942a327544f3365ef269ce0170ffd21ca7c33e86773525780ac58b96a0102f1c4b4abda724f6e211e303b4f596ca445340adbba492625d0fd397afd0234b6566331a633c7ca704252c791b1932bb8299b387e1088e66542c4c730c7ac715ea0248e51b01aafbb0ad400df4ba50221abb77c70459500bca818bb228982ab64430f90a948a9de0685c67cb46c175a411e33b880267f9d9c244c447d0bbb976250ce18888d64a54b852be0309bd20b6812b90cdccc10811374f43155020a729e6e5c9543b1916e14bffa3ae2d4826ba714d62b42364b1a62753536a2226f8011e031b639bbbc7d9c3be7d8ca159658cd2462966b40fb5b651712c3a0ccaa3404a634bf26bce4236c6f6bacb1a7f3b9c10af32ac44722e03a333dab28ac4ea3b4d182551f395e08953a7dc7bb5b124e9402751c632e79b0af8e41e5976a1a8c50c20dc5699705711ec708529cb42b3a48bf8193f145e819387cba4ad5d043f3705c96fe667cb0aceae9a1f72158e3588432f930337b97e992c37f555a45c76963ab3a2ee27c874959f8d1500cb2602cf077e506cc215638b51476ef74c5878ab0ae146a6fcc86b3b1b83fda4c98cd23c058001f9ea84f7a683fcf093747313c780bc81493ac9348ae60a7a8f881bedb71facf45548e19cf9561a5c613f5ef4c5bac536eea32dbe8a868d93252e70295c074c5307749a122d6d370ee4162cfbf8bc4b0c7e5537c8ffc81cf2435822d56ddd87b614f4699a3310d363134466104c888d30e8b2390473f35443eb4bbb3647ac2f58605a059b7971b78c04129ca9088217096d54219ea6a066247bded236fe23804d905f174b69f0d083ec826e3aa2c1305010580b4f42197b5600c0f8773582c098b3cbb243981d4b7977b4d5a8d4598bcd830d067176c5ac9ff993a6b2155b4bc89221c5a1a78400cac6202337b1ca291c79137faaf280996269c2537e3e8a25c6d5040d22acad869d16d544b3bc335f5893df3acc9242a29069c0e2fa8a24564726a2223a2548ae5664b8b27aada92dac407717f9291e016268243e5c797799d74df38092a8714f529388a3b593866c9c63a75f97db4ec1a38ee7b33b3132342e478911fa332d1ace7b5607ed4bc69c3469ce3a1e00773020f670135a589e468cb95719c5d3747a334a99d361e3b0434f75c96b198798ea814a168680394309cc94a572ab2d0c31bd39acc90876910c637667511d835b268632ab0a97d0e201db67134ae99d16e26a55fbc20f3b1ba922c3bec6680b2b904e82282442901cf609b2fb740fb70457040c912aaf4fc2757db24f78544e86b727d040b99568bcbaf6a47ce00e1b832ac816b387ca44dc976b42010a41bb3b2e941ca4904f9850c94ff93797ec89337b4736914e2060a1bf04820d92cdd075b35ea380dde9849501c5f4822e47021a2d0c8d7b7524508c6052ba676b462dec97a644811017a850bfbd76b60fa86900f2ceee051d0f833e3f164d00853b85103853d49425a41a3e00d04b15433080a7083511764c039e2d7e254808b70e1fc9873bf53cfdb3a7fbcb9d6a19c12d7c449ce9b2eea1bcf0077d74e0864e71c2
+4139d26453909a7a5faf5cb7fe6fa3ef06b2db5c13fc7679e515246d0a474cea
+Ciphertext: 67e9f5a6daa0fb98eb5a22af483f21cbda7a0182c1c2c89a8daaf21392a815f697e18ff1320b27cbeadd1ce249185f4d5d13f2fe1ed63bdd342944c12620c7ef3625bbce97749c3de7c0ecf8f4b7561b7a93273a2bb675c44500d181c5249e0e3440e84290f067e0383eaebca6f4d8e70c4239c5dc88f45b35b692dc2278c9fe96612fc6d07f0e590c9a566496152f330323d48f3fd1c806c8e631ad2942d4b32c3abfce523f0e925a3bbbfbe690af8dd4b6772c0d4b1391c2587dc1d119da439c1f85959bfd343975ce8a22fcb7bdee0b88ca338d3b8b830286e1a429b2f43f978b8402f31a1e8d3254ab1c6d51b89079c7c96345ed24d2ee80bc3af5a582886b5a4556dfc18e59fb3ff0a109b6495168642b23cca71679303089f23d26053295002b7120f8a66aa3a50b2fabfb0b551b7101c60d7071866c98a948468b9ded0562b3ed9b48741e83e8f045e33f9e1e1bf6c5456943580205524e17d3329c2e92fbd4d8b5a7029d7a1cadf976b080fb0f6601b1df49dccf8d82d4736961bc83b0ee663991434d483a7a3ff6ee93e779a3fa005cbe26fc2cf76385805f06d3382c4cf95dee4039a5864635f48cc5a37e4c8e816b55d455c76e4814117ae0e67829d0a93ebce5516ff6eda3b9682b4e7f96bef6b3f05b3fe88d46677debbc444d8711b31d1fd65540f8c9a0e3a2087239fc045dd8a399990b8af411d3867e8f5876f5f5c1a4d0d77ccb12836b6c1c3f497b8b7d2a9249e3c266b4a5cfd49e83085e76d08324a7fba62370d2dabc84dcd2dcd31b309775d567f4e2b60552a95197bd484d6ead708c865e5eb9b91f73cefa3dbb8bfb369fc989e2a8be815e3740c63cb8da6755b142b8419c8a8485438957778c87e174a3aebcfad3f18961790c9c6f65fe2fdc591d6d6489985289a707438b9f4941813b07b565aba1efa94c280e0b76baae877109ac553fccc84dead6005ba8d035a7295b8b0a207019168050127275a220dbb5230df9ce4d4e0cf4e19cb04c10acd1a8257543f647ee66828eda262b1eee364d384a6fb422ef14de8a999ee5cff5b709d5c81185d6d217b0b93ef070a94a4dab01a19207c312d15dbab0d1e83b75a3e428c4a8086b2a5d7c64eca712e7cac3ef17f0ec405996e5712bf682c7b1fc4d7bcb6007285475f749477d5f1b2856032d32318586f8bf6d8b4a9c65dad54d7b740728aa5be4a13896dc0ddc73f02105860bc95c1f455354df35175e2390fb43b5182c108635b8e6617d155b64bbb461a073b2d2561c9c69328003b0acf8e474a9e6f12807fb6903aef64d1896a7ef6d9e9d0ef7fa5eec5c444055385ab157929c98cbf4ee08d810149e05665a8618cef431464eacf5e202c57b45a678cf0da9ccd2e51fa1b843178ca03f1b57b1ad893c5228f0797f163e58c7c7b23f32fc9bd7f87c51f924f7e3bb5c1676b964b7b61a172f80aa8a817d18a16c112a3fe5779f0767c9257782683ed179b5f572dab2c0a3e0dcc17b5cb97396b3c0d34c84452269ced54d4a80e8df646c
+Shared Secret B: 9013c4ffe08bb8fff52cd652bdd45c56c526a11e9c3487a4bb3c29a7ef291e08
+Shared Secret A: 9013c4ffe08bb8fff52cd652bdd45c56c526a11e9c3487a4bb3c29a7ef291e08
+2f2dd05f16d1d043a5cb95b0d67bc7612654fde3209b32a39806b53ff7a9a986f4ddb3835465d1488352d03639baa03b0e1290c4576c6682d04532a9a2e89b4bd2212fc25dcd711d24286ada90798eb88b87dd11b4d972940339a69053fe97ea68d10e5af144758a219b1ce7701797c2a3feb50d4f11a4690a36bd99067f380fc3e821bbad65e4ffe2fe668737b3632075086f7c416f973c46dce2cde7f58e385457ec33e327800c142ca4711c6287dc728e9fb19f56efa34b966e44c2872a934d93fb5f2ac61b46232440095ba318f3c608418b7925ec5de911b154f8e0265d9e633dad78b8ccb02d23c8b4650b30e21fba7877e8d9789f5278618c0921b67d933a5f0472efb1ee598bc21d5d0d9d9d1aeaeebf02f87c9b4fd21227192198685e41299ec42c091fde9e108c1fdf659b06069eeb188535736422a81b94e4af517725ba637e8445b8b38ac34094844fb4a8fe1b8d5365102f7acbd158655547ed13dc0994e6289113eb345ff5999bac54aabb3ec27ff64369571f0cced17ec70743e0c9a5e10f2abdfddfb1181e4129ba6e4f3457b5de70ad37b8a487360eef9122421fd57aa722638d3cac0c526487b7f8604720713a121688ffc7983def4895638c7b8ccf32746e9e3f1ae082fc1183046276fc13d04aa94485d4e1ee5c72b14d9e919f7a54599326b6ae798c5015be2cb75a0901feb81798571e8f2d14671d216351df06ff1981f72e0aa82601c81bc326d0ee317cdc0d2d3a070cd9cfeed510adc0af725749cabac8bbc3fc7d276a96b01e5a73bfa98a7787e818ca5ca0de59a35e63152dd81dd50e6669013c884c9f309fdee8b39349d42ce5143fb721527f0eb8f3b87b922330327e725fbbc8ae16ec85890eede8d3267d9f364e789f6791687e4afa0046a9667fd08679f50ef7209ffccf4288563809b1cc47db801ec8b48fa4c3d953dc531ee02c28c1d3e480086ce8ef01c7e0fb08c415220da00d77f6f349af618a6421c02dd0a38ed910b0067a18e392fdac7c6dc152535bac8eb40f18ce86a95703ce848cc7aa3867259ae693a33bac9074f4c2f8935f423f2fc35d1e93abf06beacbe6b883303235cb21401478d660c64b2968529c1933bcf217feae0e8bb06b629106d3c465cdf6e220f6892b5b580c28b36b5d9326dcbfc6ae9eecc90907248e890a88ed1333c9b7b061fb2c49a26ad8a23c0f3f354029309df2a41496dfbb4c9aa3403540a7c8c92d0f45ac7ca0678654ea7c581b1607ab445ee1fffe1e7baad53eaa5627e25c317d2330d7a38579a84261037a67bcb85c480d61b7429d926184bfebb12968a1e6a69095919c502423889031e3090a046629b8cf5df80f0aa6545882b8c761d7bc33f2662dce2b8507f517982b7e0511f8dd7ef2ac60a4a2392bedfffffc02bb7acad5e78700b4ca6a93e8b2e9dce54c1f06b19eab53585e27e8a9982ab581726c8cc7b258d30f793e1e5baa91bbabc9e87cfa934ab4feb2a76a1387653ed9a30f8ee3c54c347142641e57c12287f69db4b9
+Pseudorandom shared Secret A: c2fd90b6e6801eff99b3b66e7a4b62ee7d525c187ac545c00c52e9fa5443ea40
+2e76a29b42f3739935db9bbdd2f2288ccf0de0514ac7758cd8852d3d6ca1550f29a8d39d0866447cf8f33cec0a71dc4fedd2844b5f84922735a02ca4e4f707d1
+Public Key: 38b833bc345264508b53c18c8d58c2c719a836f26a267a1a8f55053f98aed9eb95123366175666a0983293449ef44613da9724e2865c015425a451b29d639b4ee6cd5bc355aa988225e76bce9170f4d69c5f67266704c1e7e2a02c53091b84a035d83f4b2b7ce3fb3bd7953775b318c7dc7d4702532fb33ae1f68fda3c598edc93f752191674c598d0799392071ae5160f4c3f9b371a80449ee01a9c0ed5133593ab95451211b430d57650e816c5e9495d24722629a199d24470022785d7d8778312933e1cbdbf0054116a82d465ae2a0bc0f1375cfeb00986f99beb5394dd47cfebdb09f31b87288586fb277fe28780f9586007286d1302376fd75b792052fa600bce16b0bb59c20183c1e1fa4a9acb3cac098b54c1ae65c8b34b5532e911b8e9785f8a796e6e9a84043baf7ee52f1413310f97725edaa45f355595c52c7f88509295bf76616177488db7d01b86f0a428f27dc2f7c70571751c96a60e37206b545e4082640a30a590d72f4926649ddab53bb1515687b6b74322f1e1408f54b845a0c500aa6fd0f3694e3143a2e27549d72468020a7f7479f8c4a50f370c56971af3d235eae18036665ef273bf47e74ecc1a3101566f700263784ba86e0c4a0f448814d6b97a20a142795cc0357624c02e89984a7b77848be5b0bbc87432e15741a787162163ce788e80125364aa028f268b3c172d07e29d7c04c75ef9b11282443fc884269221692840fd026bb3a97d5b0924f7244c4d15b1fe9c9b60838065a3999d9766aaf8aba14b04a42a813db83e90d7c204f30bddf50e893387ac986338884daa4061f5dbbc3eb02da8ba216918b245bb1304ea748a4ccd6439bbac5790f0f9ad9c12b0a33869abe9a78d256a81ab33989126b153ae7ae3112bb19e64e678b732b920685e196163b7b1b53940a17cb309aa099ff8643720396f0f381bf8b33f723552818936765481d1a86fd5119f7c5b2e02980bdef0671ba09f66e67de0991659606020b4c493707a48675cb2a11caabccaed6756f7895d6d7cbb705c1f4940bbe95bc844e34cd39aa88961535054412c88215ac24b8ad53e4d3311a69469a2503dfcc57c4ed637bd075b249b7d4aa77bdbc030598660dc576e34115a65958de565211f18789cb7cb5a87922a29b6c6d62927fa10720baaac15abb96b10420b9ba92945d1c2a06cec020b3cc971d5832ea26634155beba4a181b1297355902a3639114a50a91753f3718ab4d8a78e83943bd48a2f21290a4c902de756cd262d5e3678bbd2c2f02b5dc207389325b72fb7caea2b40f26c91b8a629a8128380151775823be465caeac08d9db7207b110153991409f70f8bd34d9c9854215435ebe34d75abac477a91cd889227a0a122c260b84bb141c532319bca8a751bb2f99df0857fd0e55431e1718f03bb1161ac1619630a94815ad0277bb26aa5c144f9071773e33a548c60e38000027c413c604340ab6649e035bcf84ce8e5925da8a7ca155fc13a0591a83d3d9b11d94c493c82ce24726fac736fb94c73de71642ef96bfe94b2fca761524627b630b6502b003804bc49ecbadb497bab1541c9c34a3bfccbea85bdfefc53cfab1126e12d39559b4ee8a90854a18a899919ac828eed314d0687a0a4ae0844aeb7898229083cb16bf945be5a883fe1cda5159927
+Secret Key: 87759d8b4c35dd4c3e51aab3d4a6a3c4927ef6dc7511c0ac2f4a9468267d8691bfc967c927f30b513a5ead7111701a007186bf33e16abd7265b345b07e5b347c7a9df57226c2d49fad370c7bbc0b58c97dc7402b15201e9ef5079ff629ee614f3ff62d3bf8acb331696e6b0f4d45b2aab1a2c4a857e5e7567b6b4bc1f191e8a87db069943ec723af484b9411a40409282c660e69987bf1b5968247168598b3aa894f7d9a27192676f6f28899005619c4c64c44afef417b5f36c618ea451e6b3fccacb72584917a9702df2b1ab0b9669e6246981141c306192644a34bc7a172345c379bc159a6922764b4fb89b81445940a8c8c12774f84e21907d659116c789149216c3bb163752b35f8c6a099c6222c460debb29d7968484b0eb6c13d6a3a4289c69b17a23ce21b1a33523f70e142de665893f566c0849617f19080d6043d9944e5d87e1b7c9f94e8340041b9b5f68a763c7d4d82363b137013855b77655d5209bc6469256610b9a48a2aec11c93f575d92361d8af59f09594c9bf2c7e03284611865fe669e7eb58b112329fac7217819974a0347becb99208045830b7cca5b9ae0b31881f2a83b8bbd056645a0742305330568eb30db846ef28a27b4068af5826a15dba6bc5191341cae88456fbb6c4f0b155fb23bb7a0b6234bb44e4069afb3437ee7409c21518ca0e56264cb0e106b43a38b6eb821391bf2b8c7e046db9025b4a773724463c0ca2a58e7b9b508b7931683855c0de9621d209547699abf2d4cb4074bc9e5a21da2641696550aa5a0474a40415e7aa233383fab900878c01310f211c595ccac175fcb739ff962cbcd64a5dd04996b9b6d5c66a0b31a4bbf5058e394bde371c98d8a8d7d1409df889d259b1fa63056e8b95d3b1831fa2abfcae2350d628ffe08844ea338ffb35b2d6b103f7cac3d02c597ca8f8fa76ac8c2ce1715399f60a4756466e9d7a4ddfcb63da430f2d2cfcf3a5d1998203a318fcf958bfcf76b665ab94603af22e14a8b2ca34ba75b541c6c4af5a6ef6a1eddf098f706ac65569a78d44da2f52028455417204d04771bcec1849136ba1e4741f4745c3d67b16970a09a4039bb3400b8432b35731bea548ed380ad6cc99e159b1f0e525df6e097ceec365306c3a8a96a6e645b430b918863ca9583b6f9a59ca91832a8e712c34b1af0b74578303e45827b4059076ae54fab07c08aa31bed93a44069197fb88b272182a00031d35313f0661c52575c40338a176c2c66b880a10a29998310548357d0da66c80c2e8c274d3c7638fd9161f5525b61622b0c358a8fcb6bced6a3118a569c14bc70fb0aebb2281644bb44f667022c4e5b505e3b00ce9ab2cb28dcb1b89625c2c2340c2bc6e90b9b8d45403c0b7108873d79fc21ed135f4f6b2ef53334681570b9b9bebabb7fa48a9569f4cbb8b036d34998d26c720ddc6387d96b34420519a3224db8b3624c4bf589b11d175ee8340efff43e5446c6bf757e26392793686468d75e7dd0a1d0d3c252c0c38c7a569fd5531fb25f6c4bb421e39d62f3c267c26ef60ac97a755fed88bf3a363c8096414a232e94c3cd1c23a0f44531b722485521895cbbc3b16426ac277b69b68a81fb99deecc0d511b628477038b833bc345264508b53c18c8d58c2c719a836f26a267a1a8f55053f98aed9eb95123366175666a0983293449ef44613da9724e2865c015425a451b29d639b4ee6cd5bc355aa988225e76bce9170f4d69c5f67266704c1e7e2a02c53091b84a035d83f4b2b7ce3fb3bd7953775b318c7dc7d4702532fb33ae1f68fda3c598edc93f752191674c598d0799392071ae5160f4c3f9b371a80449ee01a9c0ed5133593ab95451211b430d57650e816c5e9495d24722629a199d24470022785d7d8778312933e1cbdbf0054116a82d465ae2a0bc0f1375cfeb00986f99beb5394dd47cfebdb09f31b87288586fb277fe28780f9586007286d1302376fd75b792052fa600bce16b0bb59c20183c1e1fa4a9acb3cac098b54c1ae65c8b34b5532e911b8e9785f8a796e6e9a84043baf7ee52f1413310f97725edaa45f355595c52c7f88509295bf76616177488db7d01b86f0a428f27dc2f7c70571751c96a60e37206b545e4082640a30a590d72f4926649ddab53bb1515687b6b74322f1e1408f54b845a0c500aa6fd0f3694e3143a2e27549d72468020a7f7479f8c4a50f370c56971af3d235eae18036665ef273bf47e74ecc1a3101566f700263784ba86e0c4a0f448814d6b97a20a142795cc0357624c02e89984a7b77848be5b0bbc87432e15741a787162163ce788e80125364aa028f268b3c172d07e29d7c04c75ef9b11282443fc884269221692840fd026bb3a97d5b0924f7244c4d15b1fe9c9b60838065a3999d9766aaf8aba14b04a42a813db83e90d7c204f30bddf50e893387ac986338884daa4061f5dbbc3eb02da8ba216918b245bb1304ea748a4ccd6439bbac5790f0f9ad9c12b0a33869abe9a78d256a81ab33989126b153ae7ae3112bb19e64e678b732b920685e196163b7b1b53940a17cb309aa099ff8643720396f0f381bf8b33f723552818936765481d1a86fd5119f7c5b2e02980bdef0671ba09f66e67de0991659606020b4c493707a48675cb2a11caabccaed6756f7895d6d7cbb705c1f4940bbe95bc844e34cd39aa88961535054412c88215ac24b8ad53e4d3311a69469a2503dfcc57c4ed637bd075b249b7d4aa77bdbc030598660dc576e34115a65958de565211f18789cb7cb5a87922a29b6c6d62927fa10720baaac15abb96b10420b9ba92945d1c2a06cec020b3cc971d5832ea26634155beba4a181b1297355902a3639114a50a91753f3718ab4d8a78e83943bd48a2f21290a4c902de756cd262d5e3678bbd2c2f02b5dc207389325b72fb7caea2b40f26c91b8a629a8128380151775823be465caeac08d9db7207b110153991409f70f8bd34d9c9854215435ebe34d75abac477a91cd889227a0a122c260b84bb141c532319bca8a751bb2f99df0857fd0e55431e1718f03bb1161ac1619630a94815ad0277bb26aa5c144f9071773e33a548c60e38000027c413c604340ab6649e035bcf84ce8e5925da8a7ca155fc13a0591a83d3d9b11d94c493c82ce24726fac736fb94c73de71642ef96bfe94b2fca761524627b630b6502b003804bc49ecbadb497bab1541c9c34a3bfccbea85bdfefc53cfab1126e12d39559b4ee8a90854a18a899919ac828eed314d0687a0a4ae0844aeb7898229083cb16bf945be5a883fe1cda51599273bf0dd8dc2913a95a5ca161486a65cdfd0c97b72bc1ed18cec431d858444ee4329a8d39d0866447cf8f33cec0a71dc4fedd2844b5f84922735a02ca4e4f707d1
+1b62b667b89063253e01d3d60d89316c0cf8e3ba05a8e6685be27367fa093120
+Ciphertext: b5fa50841b9fe88af026ab6825852b55a238610bea1ad35316cb4708460dcc1558f83d2806962fef8b3adfb29217c716beaafdf8492d66963d72cb68a9cc75af0d58aa80861e75458f7cba973876971bd5548035185f57c7222cce521f13e3fd17c8dca7fdb710c5996f3a95aaf7c0d5825cfe13638bb115bf989926deb6f85bc1f7955b77287215bd0cf8ca6cdea47979f96f3b03a6eab0aa5a5104f84a1395685a52010729204e3c644db7b76a312d34413161c0c6469592e7f664014218df3d9734d68c5f68103a044673671b58848a536f492e3fba52ce9f100af1f8b516b124365b4253a9a631f741de51f107f56dcaf619bedd2132dc342c4d9e377fbc9b87d475935eac1a73d16ee10f646403862619344aa8d0aa943553667a51b5d4cc3c5984cdfd6d62120ebdab86674e82f245d5b22347e6c5c0c49490e5c49e56d0d38b53e65ad9c4c089975b70faef3b884579f213812485eb5b5e242434da63592b7ab5dce27af2395541f543a40f0da2c47db0ccacd0ef8633bed10112c3b2e75f101899e06bd9a0821f31d0fe0a5b09d88ef9efed5264f0fa06c8034df6a7cf068bb129a95b5721217156672394a0467f78839356c2ccfe97c7eda59779d1e7c1348d510192f01945088e927eec84ee1bcf4da866fc64bb78808fa88fa1e16a49c14f1fae0342513496537d16a43182e389ae06027be6c986e37b43f7c4b6904f3882c692bd729ed7efe9e62e6e64febfbccefb630aec5933695ec0503e8b1b00c2463cef21161e037ac45ac8e00a467ad0fd84d4edeba9759b3e33e70d6680267602e2a8c7f7a6365bc6c26880eaec363b31ab4ec061e11a4993beb4b130228ea69afc1c8278320884d041955247ffdb84193b766349c4dba7fa9387de90affea1d246366b804da8c1e53f1db0bf54240491400dabdadf0ffef51ac5765c85d923e32930741c1008133727e8d88a4053f1fb5e52e8af631beebbd0fac3d0171d0b0e1a12d72c33bfa5464305d86de2d92c620afcaf9fca3635a1971622b2bc4ef1d9bf6b3b7c7df1fcc8dfc1801aa46027f3aeb094d6c411fdbe20dd802261ae009f42443adbb445bea64d7d709ce5849d45200f544766b7e4d061c2460450b2c247e7611e170c7faf21c17031e969a3215a9049825d8c1a6a0738765873bf9d0430944785fc8af3985932e09f516763173b1bdf95336d661dfb4509b8a18e2dd5343b8b8d212744542a1ab7f35cf78934b34179a32c192ec228cf445364bb952257ac15158f3e7ca7f506230155e3a5a8a37c90d70f7d5696da63a9e0174e56a62fecb8fc82f7abfa079d0c53fb20117cdeb56a35ae23686b9638516a658eb43a25ccf1b1598f43dc7aeb41eff3727991f6c439f3b53cd08bb61d117950c6745bddc84f3bff15d0b2ab30e4b738a7a62262ac03636f10d19ec14ef16b465183ca4b7a75b960fa9808cc96701524202abcbdb78063aeaa52611e0d16b784e7d6f6474dfbe4dd6b4af22263a53f045a9505a0473371354f7b6f58408778b8
+Shared Secret B: 36f8e2ed42ac4d1084199ff594cfd9321dc919d1c2ac88c8162d3afdedd74197
+Shared Secret A: 36f8e2ed42ac4d1084199ff594cfd9321dc919d1c2ac88c8162d3afdedd74197
+4c3157fa774c24bf56b82f785ae3f57e7e7072b3b435c2b9770baa6b3b4246b1db390923225586f3701633493067774a6403765dffe2f433e79534358ebb208ccb96a8c35ad5e9e2edf5f319917e6b61f63678d52ed580c0b496811ada9a9e8de26c912469c6bde079dc6bb6ce86311c2dd26c1b3c85c2ac61c83f01e9357b7b556d5658c59f04d77cecf4daf3ad3f0c0e79c80b8211165c05dd94d3cfc7bab5648979be7cd871ffc0433f38b68d30ed1b03b7a7e7f6f8713a277b17ea21a6277bd3fc5984ef592f69d4a3de852a484cead68c0c34b61b76b060fee3acf6f77933696e1be19042be017f88a768619cdbe12bd7023772aef098b6d78648fe3989bc4d3bf0881815cf0186ebd219faf4c4ebc2706edd1af9e7b3a8752e843f571acda2e183cf206af2953c1cf54d5e8cee9b0fb57be836286588c8b90c91f5948eebaf8b30c96ce217e6ccde524801a5feab755414ffabf7ffbeec398dc9c7ec15f86be155bee7242692cd3e13c2530590e814edb738e21b8a54dbd977516b72cf05991f5c8bf3d856ba77f7d78e1e686768059ceca2eb8466f8ae6ef03bf83cf4db315b3d8945ed9e255ca86a00dc3a0fda3f63510458452a0853a2de342f5f37150301f20663c7d59d594ee653ec2ecc5678322c146bb6ee8804352f74cc24d0785664c1f411f33c893c647bb12fc212aec9a45f69a21d4b3fc9a4f2eb8d9bf9d0b12f85064de1d2013212300e6dd8d5627f1c20f44d16a2917ef75727e3558a6f023f2a4ee97262ff3581b6efc81d873f7bbcd7859927c383e7ae4204934ddcc4d257a5e5261cd035fbbcb2c29eaaf49e6ea89d351097f387eb548723abe4e5fa91009cf71089f1549bea0dc661dcadd1517dace34c80a9f4d60a2069b7463cdda62bd220cb7d07be41e1acca09c567a74d70d59bc2f82e63ac4c00ead5cfdcd79722edc6afde7a0d873c59a5d9b287d5b2d2e15993fda9b811a588b4528d06fb5145c4abddfdbe73c43d8d1612fb6c0799118547d4e63effd5f048edf667be2fc524fd5515cba147d4b917b4768194db495b42788b8ea31dee852ea3d37b2d0292c746ffb5199227eccf877b8945a38f2bb665ad49e0bf792f5fc349f20dcdcbd5286949a2a9bb89847a9bd2487e1384ea06d04f9970bb518ae998695a9017dcb5c665ec1b8bfd17005e6ed507a588cedc837616f94c428261a01ffda5704f1b621e98a0b937faf55c972e14ecc3170103ef0030f78f6ff1938e53bf208915bb7d4a616604fe463782806427548a116bd5981975de4fa6b25bd20d078f82423cfc01bae7ea24e472b9bffda41d3569db010ffadc547fea9c79f03585899694ad7853047df7fcb9e6ae08e749414ace15d90db878603e551d3d65ea689a58dd8f83bea05bf38a7b29d5f1df99ca8001a934c38de48d1ea8a2b52826d6229658767c45d23a9b17443a5873264ea8c37df574e036e8d509429b5bc2cecbbfa99b8e38925357749e0c7793209987c3bb0273e19572f99909bedea449a3afa0ad9e
+Pseudorandom shared Secret A: fef96acf1aa32ed417118d94f3744405e0259461d785a9dbcae76e382e39ff9a
+161b9d3c13581e518a3651f150e55cf589b97efaf83d17dfbfbbdd141cbfa82cc320c47b14255a18fd390ed46653fd762cd11d95f8d57a3e4c3c5934da325f14
+Public Key: 738117e79b85a819bd8f6b822958a131d683226618048c58f61780ae202a27e253d2e9c55d9a6f565a3c2ea199f51bb0ffc51f31b68cd37c9dbe184b5a2a1face7a5f3b27d34e65f25e374c50c754d5c58f5509a5d246be6e79971a1069d949abb81c43bc0c2324b77aeb66302f04d96a09bab06a3e4a654053534cdacb3e5e13b9f5a026fd179f999c4aba59f6ef0084b4198f9aa7513c0a9e46c82b2970988b82f2f1c38dde82091a2a796ea28e7451c83a3245584159fd15b72f907ac202b4a048d2fb4c3a4f044fd539821779e28778d52dcc539e8991374b0cdd3c4f2a919dd4a84ef706e60b8771929445bab13d5fa5076e525c644537917b7da43aceab3497b08a1a5b42564b57826871721a942289889a2b57074a800de93c6718bbb389b3679c76f356555119bbaeec89a0eb3b9707b1355fcce5656026569c141b341b9744034ec2b14d3b47a1a809eeb8ca9a23b0d2976f3c79b0149c096fc5200d8864af8348cf64965c13148a6cc36983906a5bad12171ec7274ecc729bc4321ab7398f2d7733e8a84b6ac3f2982a73c22160ce89a25f0724c612c788651d775297d78b7a5e7af61cc76a75b2670c481f772c62036c0a6890a2021a9671c3ec686422b170509ec8903601accf13e7484aa7352a3bd7c8e84f51dac4b0aa8677c53f83b008d077a33663d86508274c00b544411582369d553fb3871ae555de8368f073a27d8aca4f83549487719b6868a79ab08968a10a1542d65617479e2b4f582b72a813f15b170ef0202477ba4775646c032bfc4cb15c86282a924c8d731ae78d3a5a6376f8828088113c907b496240a950e18882e684ecce6a305eb9fd1877bb5e68ac5a030f8742d42d334d41b14d0302e2382ab4a68cfacd2654013334473974d383b59b25f103bb827e80819530ae524acfbab71223c58ae90cf1ac3cb24a79b61397815841636ea363ab9cc7ca53a9950820b2b69898a1112782ef6cbabd3a999ca1378f2a8c642064b57e12b9758a69e29c8aa1189b7fc84fae83ea5764958e7a70577831aa53637335fdb03a86e3b953d91088ae54a8d9c1a9be1bcdfb3a6b59a86fec64e16b0368fc4644b1c1b45ea6048b1b61dba64e9426d81f485788704530cb3a6b5604737623477a6bf607db4f16f9b2c215765745ed90274d87a82f1254971cde9f36dc5dc6b64841662a5a523e01dac2a13c6c88c86d7aa11222f032aa7a369c9f5a17f04bc2386ba83ae413d276acc678c6e3063698c661aeb160cb6d1afeba0711373c0f466afcffb6b002d2977d24bb249a0a9d444394cb13f809d463b3ff02845e496710f06424152965596be20e0bffad5cacac0a57ce98f7040b4681c61ead08c217712138b11d325a0ff60b75c03ccde9ccab1c9a7f8461038083ae745051d7a219e763cf419bf647c3f22e888b0d26eadd318b6d46129805500533008636f20a77cf6ea1ea274195bd5cc18379c339761fc8343313a5bffe8048ff75fd7304edf784ca70530ad432c60a688bea3cacd52617aa61294da5b02d1b49b04a34c1076bc56a48ef644654313ea6a4ae391b9b0aace5638b20d975b2f517b65f346c7261b18374c99b2cb8c36a0aeb372e2f11c041100b4d61d6288468b96886dc267d76376e95bd4603bee28c6fdf9814fcd599d4ab0
+Secret Key: 05b481b135676467b520b89c0d289973563563046f7c404eba6556d8e42bcb674a3341849419b42c41b6b2c4444d73608810685fcb4efd33c7c60957f8ea9ad3825035578c34116c541613ef1bab445162f900bfec254588978c47030f6326ae26c8340b1b2e2fc9c621e5ba88671c3e8289480494ad1056511947a96b5590f38c451acc5928a36d4197a1c86acb3a6bebda293b466b8bfa9ae4e19bffc68aef92b10bb581169c8bbb15a904f5a096e04f4553691d15bb8cdb1ace412ba66360ff309180ebbaa954822959178d950adb8a8523f21be3b04b03168005dc5986f376961352a3631d59f637f362c1209399fd09979da73e50758c35907715267ab083a363bc12b21c6e0c76016c8233a9d98f67e98e39da876320142d28ada4d31b74b96ec7f1a1eb5b624c7258f2bb96504255a4682d7d555a6ff25045b4adf815a35d241e32785ceda06972a6517502ba29db3606819b44609d4ff905f82246bf2a008f852cdf1308082468eba35f2b148430f610e9bbc61f9b86fb24b5c3ebb054995279538659a5554a67991d605baa92c34d99ceb9e25615e67e7d510ca700815bc70086e78e2c6395472712a5097a9bcb4a728b8acca932a4e5858f4a0e18460a021181a723a638bca22fc081a3ec92fd1351a3ea57155108115a840391255fd12d061b7ac8569b92db7eab2731238617a3755fc9268867fba775b235324a34f451345056a4ffe5bd67faabbf75bf8771798181cbeaf668cfaa2c9ad19da3023c409a4d83015a63e333379c448f088f84dab40f14867fcb7d5242725277c2c3f7416136cd93fb2897a36c141462923ab29c2c6bdd37a470b6526e39aa00c4abe5e70d5064b0bec7353d4970f1c8194f51ce1b077975f41abe2c2a1ecc1337ac9737ecba90b983e8d8bab7e8310c7c271b75752aa2b53c8c13cfba47f495219b89370819a6873493d07100fec68bbc4577788666830267e72a7f5a81ca4026a24b654a3bcb12756522128c23c90cc2291cc6db134b10c50d85079e30a370a4aa0c976208955b0b0bd2c2ee830ff1540ce641c9b4c145222687f31b1bd8d66a61147e7db3b57b481d31a51b8c82ad48332273aabf2b8c3ee06b916e31323adc6257532633f52647039426f5560ee33b0ff52956a7bb35f516ca9a2c022c74e9530d3a374f21218d13d92144a5b9d3450f391105327a4051377dad510890f8523c3498efe69cee6892d1433a99f784570319fc340d0566702217061bf7982d718a31eb530bc47db6d8acd73c4211e06b20477065a5623ae455c565530cc6365b716c453834322c54123513ff026cf97c7c97722bd85319d78bc725153493cc0072e1be06a804272a797c27560b99972ac566aed7bdd0dbbdb4784c63248b3e3a71c4f51377109592f4464ca6b7669280b052cd5a26b1d0c510ddc778f4a132dab4a0c7d3af524998252b582b0049f172a7ecf98c570130f8ba1e4319898970580ee18ef05ca8218c81d858187fa52b5bd176a623b08c5b515b2861e99c6c97f32155984b692985059caa766ab59a9b5f304998b2817feb6c612eb2253c22c7cb74acafc33357f008996761f0209ff4099846a446c612c781cb3cec39a8a9b52a738117e79b85a819bd8f6b822958a131d683226618048c58f61780ae202a27e253d2e9c55d9a6f565a3c2ea199f51bb0ffc51f31b68cd37c9dbe184b5a2a1face7a5f3b27d34e65f25e374c50c754d5c58f5509a5d246be6e79971a1069d949abb81c43bc0c2324b77aeb66302f04d96a09bab06a3e4a654053534cdacb3e5e13b9f5a026fd179f999c4aba59f6ef0084b4198f9aa7513c0a9e46c82b2970988b82f2f1c38dde82091a2a796ea28e7451c83a3245584159fd15b72f907ac202b4a048d2fb4c3a4f044fd539821779e28778d52dcc539e8991374b0cdd3c4f2a919dd4a84ef706e60b8771929445bab13d5fa5076e525c644537917b7da43aceab3497b08a1a5b42564b57826871721a942289889a2b57074a800de93c6718bbb389b3679c76f356555119bbaeec89a0eb3b9707b1355fcce5656026569c141b341b9744034ec2b14d3b47a1a809eeb8ca9a23b0d2976f3c79b0149c096fc5200d8864af8348cf64965c13148a6cc36983906a5bad12171ec7274ecc729bc4321ab7398f2d7733e8a84b6ac3f2982a73c22160ce89a25f0724c612c788651d775297d78b7a5e7af61cc76a75b2670c481f772c62036c0a6890a2021a9671c3ec686422b170509ec8903601accf13e7484aa7352a3bd7c8e84f51dac4b0aa8677c53f83b008d077a33663d86508274c00b544411582369d553fb3871ae555de8368f073a27d8aca4f83549487719b6868a79ab08968a10a1542d65617479e2b4f582b72a813f15b170ef0202477ba4775646c032bfc4cb15c86282a924c8d731ae78d3a5a6376f8828088113c907b496240a950e18882e684ecce6a305eb9fd1877bb5e68ac5a030f8742d42d334d41b14d0302e2382ab4a68cfacd2654013334473974d383b59b25f103bb827e80819530ae524acfbab71223c58ae90cf1ac3cb24a79b61397815841636ea363ab9cc7ca53a9950820b2b69898a1112782ef6cbabd3a999ca1378f2a8c642064b57e12b9758a69e29c8aa1189b7fc84fae83ea5764958e7a70577831aa53637335fdb03a86e3b953d91088ae54a8d9c1a9be1bcdfb3a6b59a86fec64e16b0368fc4644b1c1b45ea6048b1b61dba64e9426d81f485788704530cb3a6b5604737623477a6bf607db4f16f9b2c215765745ed90274d87a82f1254971cde9f36dc5dc6b64841662a5a523e01dac2a13c6c88c86d7aa11222f032aa7a369c9f5a17f04bc2386ba83ae413d276acc678c6e3063698c661aeb160cb6d1afeba0711373c0f466afcffb6b002d2977d24bb249a0a9d444394cb13f809d463b3ff02845e496710f06424152965596be20e0bffad5cacac0a57ce98f7040b4681c61ead08c217712138b11d325a0ff60b75c03ccde9ccab1c9a7f8461038083ae745051d7a219e763cf419bf647c3f22e888b0d26eadd318b6d46129805500533008636f20a77cf6ea1ea274195bd5cc18379c339761fc8343313a5bffe8048ff75fd7304edf784ca70530ad432c60a688bea3cacd52617aa61294da5b02d1b49b04a34c1076bc56a48ef644654313ea6a4ae391b9b0aace5638b20d975b2f517b65f346c7261b18374c99b2cb8c36a0aeb372e2f11c041100b4d61d6288468b96886dc267d76376e95bd4603bee28c6fdf9814fcd599d4ab014172e131b7bb10fd85312062de9eb2a2ed9dbea66ead2e15db7d2972ea696e8c320c47b14255a18fd390ed46653fd762cd11d95f8d57a3e4c3c5934da325f14
+9c138b9b778252d4f8c091ec239b6cfd85d557592398746b5d4bdc1e1902d6e4
+Ciphertext: 31357e33f28e0c7cfe512e43cfac71a6a4cd38ae4660f968c8d8392979efef8462d4f1d130d4e59f4594b3edb1976360c2db072a6297667d60e37d93d69aed42ad1262c92d9581d95f9637d5a6c12915f7c70a7007d683416c4cca8009ea09817c9d6b5aaa765709f239f4d4c52e05fdafb3e5d94e388d13cf2978b32b163a213c40c1d216e1c65e449f902ad82d8add66ac3d598edf04f2fe80b5c64678bf314c419c2164c302ec403a2a73e47436aecf3c8ecc4a2e5119e66561736afeb1d2a942faf68e0f7118f2c99114d5f42fdc7662c5683de0f60c34dd1d96d53e639e1b0a492594ea7b287b5788d9cac21e0aa8eac465c76a54c1bc1f9637028c16c25f45c911373f2ca27441f8f8f69fa8a110603ec2da7b995db590274dd5439187d2d16f8e46da77a061d0cff513b94cc9c9b5518617d51e94c296e2f1820257a4768072ca33a2ddd206fc0ef6c7645ae5de9754e0ab9bb0bafb69e52aff8a977f067a482e525bcaefa89053240d579421ecc8de292634bdb8ff30829f7426c85965ea53732d8406da9b67409d19bc793a84a6e4375a2f6e63dfab00983fba1e2d10a00fdec018b4ed057219ff0a83ae05d52fa763f21e19d86e9bd12734601ac03cb3825e13386ce7331bf9a99b11b2de3e43e5c5ccd1c1cbc1860d5a6ce24753aa6cd1e4f7d05b9e9eccfc382e6b60f2d0256acec2e4f9aed0efc6df4fb00dad805b354ff5ebdba9e58b01207f1433634c80bcf8321641dc43c50d0abdb722f89a9f4a2390f7d75129009b609521d6d34e6dfdf892f5aa91eb6455cf06e2493eba6b7ee8d0ad675f7e853cba5664c2a021bd7cc0a5746b63aef2b72e27c78b9f98d99ad1c97a282b2b76a01c75afa55b647862c05c9c8bfe6e7386f56b2f1c65fa810a3c5cf97add6649419174c142de7b7012dc61f256d8c77bc92c8615a364c21ffb8ec1722db928deb3b78fd27eaeb5c063e9639d4759e1830a003998a559dd2439c155b2f6bfaff9ccfeb67b85ec6857f31eb6998bb81592b3b54538594de1c9bb4ef0f317479bc0ea1c75016befee1135a8769a5941ece36e8b829a872982c5bd4a647a1394aecf6a0c05521fb7c9bad9139f66a0e8537aa2b43ebc923c6d3b913d14f85ea981531403692c2b28708224c9fef18f5288809241bcee9bfa3c144d1393cf392ca4c2f9613afc37f23e5eee4ac338c4648bde6c2fe41c1b8bef51b498f6144a4885544629056f3b5a45c6d2975485821e7ed7c1c8b9029f936e9865948600ddb9ae35b4ae6cdab922f4c77b0114a7e75d8947e6438a9527564459a5703055310fd5231a820d1ae288293c953c1f73ba0758aa9267bd92bcf8cd535a51c5edb4cb2071a0922db23363889ee0646faf8e799b7b4ee21d239dc75c23bebd2cbbc16a01723f9e0c35da9122f948ba408948c32eee8618ed32c5cbb640938af323bcc58a686a0bdd9ceb0813f461fa2358cda76fe77d9d8942768bdf1ed0e311352d341a90d63e9d2dbe69c676a1c72301b60d68b7923e737714c4
+Shared Secret B: 3c9b7b19b2351e92bc67614c09726ce724bcd83ec5f60190d7ee64b5087fdbf5
+Shared Secret A: 3c9b7b19b2351e92bc67614c09726ce724bcd83ec5f60190d7ee64b5087fdbf5
+6a9c16f120b7c9d6db105fe58cc1bc17f92ac3950cf8ea9e4c71ca98a76222112c764b093c9c15fb595a8bd57fba13b33d4f73170e9c0ea86953f1bea7bd9bf716676fa58cab4da9f1d98f97cf7fac68ed5b1e3a4d5520da717877f2c483bd79d978a4bea11121d5a66cc64d65436c414c6e0a03e59fd42afbf3238bd170cd988086e49a738b061c0cf127f2ec655ab8fdcbc9c6af21f6bdac8ef6b422b7c1d1b526450ecd5a92b83d1c29921b668151ba776aa522d711ba5f44163b6f1db17425f0f8daa7fe4f40aff15f6992e39f7f43077c88583483af26e1a1908371d152f475e75c8a9a89ca2f68a4eadd5674647698ce7739f44458fd95b81b5187e59edeef3ddee4fe4a1938ef4bb1917301cfe1850e04c90938e4455fb1513d8a18c68a4dbe45cd8090c5eaa0bb07865c2c82314a4fbdcba8b1ac0ad4d9702effc5613e06d8a296c66a8c911449875d65d7981c82335ec79089d5eff16919f93bb3c0834157bd5cac7d51025d9b0c52ec5a9574cddea7b5ee56b51e32d4b518b44f2f005c6fa44c7529f20240e8a0e44a67d72f36a1d2072bee3bba2e77321113ab7ffab2e69af2c69888ab0e2234d07874088faba3843c796d1733b33fe03964313242a95372cff3dec7863c05565b3a10f8ab9a380567d82873b1d72121b7b4d991a2fa4847823661b7acf46ee10e3fff107b70a48caf884238f437ade961defe52096f5cac4d05e8297d3444e408f1dbd7a1bc4bc7743059cfb6cdd0b986ea199448ce8e1670e5cfc34ae646fbef4cdad25fbd3f1baffd8ffe42aa96de11e35981bed96dfc82bf421f460f88926dbb37ad402257dd813a38b7c4c8ba90772f87bde81c042f6e5426a2e3eb717ef4f8e2ddc883920915a585e17e10f32ab43eaa7de5a8b0f0e9ff3df0c071b7524406ab58063335327bb3843c16750c0fa86127b15f698747c68fc56f39be4958ab180c50ef63aa5536c58e6e8ec66aec224843a5daaf0aff417a2a0b068a9fd413a028fd0940f93d0f406dd550c3aaa31ab1142c376645e152ad6ae4cdafa83395fed3c775e0b599af62b338893f1e83b2243295d613fb2efef4e413a65b6c8861094169994fc99bcf26f35a27953fb1e5bf265e77a33e01a97d628b5add7252701f1ac4b8b2f3332a17c613391230a9c587bbab2c64035582eee1b9d987d658446f66f3c451c5a4c6ef50f5e9265c1d5b9f3e2ad3457a87dc89912d33fd971b87d7851fb9e76783991ff9fe020af9a6c3d659e4e666b61e78511151dfa3de90adf758745182d3aa439f0e178e18091d35c40d529c559fabdc472286e11a0750f9371b4370b06af7c3bd49948b396a408a3a6831d9273cd534e2d26dbe807b2283cc61e63e91c4e0e618ca0c4af371838edec0d835aae368de2eb582f90483116db2753e868c6ba1de6beea69b52bd938a6afb54297de68662833c1d528b9d10c874d43f67bb247112c769ad5284f1fae8ac7c33455808d75b3c900dcc2e065e14e887a25213fc15efa338b72eaee2fdc13abc8d
+Pseudorandom shared Secret A: 46e2ad002c3976a6f985622419da6fcdb1787221713cab47521d9598a0d468dc
+e370a8c16434e215bc3169acb091d9e3b5d4d886547217435ba3fe667eb9d57b4533bddbc03458dcf0885c22287c8663585b80fb548101d26476746d72f804ef
+Public Key: d1a63721c27852a14ae6061598971cf4e973c79a65fdaa963632cda0a1b63523ac91c05932da98a3b5894f219916d50a2e34c98d43037bc64dbf4abdd7e2a656c6692b4b061af22b237a11cb498740080bd5f12883682e39258d1195161f4c79d80b44f95b3aad6b57f7f7a7e027b0b7e13a49ab12299b0c42c98b6b547a8cfabdcefc1d335a4682fa5777734bc4080efd8ac4bd38a294d75f073564c195a78f7b5a1e139e9834a88fa363d78c6edca33494d23b3f73abdb890d150b83afc70f5eb9a71b247240890b36d8a5fd07b67742975beb443401af6517abab908ba262cbc3002bb05302278a099c060e38452aa154adcaf2a89da94487f50acf3377142b4686a333586a83d71a6cfa345250e46111e824ef5b6871da3a403997bc84cbc23535d6f86c404b1dd6a865ed6406bb4596729427705b5028a6c965c08119986002b2ba66f1b8fde310d77996d0a6354136136ef6b9c0b59761674427ac0a2cfa6d5c543a77a97637966516622993243d339b632e842a68f359f89618ee028e811725cfd18d1e37adeb73b59aa3a5f989894ee7af996c0d98700311306ae880cbbaf6a814e9c92f599b6213cc8d77a81776a845bb7c41e3985c86347789ca9d014f229910e891813eb41bfe629e395952c0f736f072890c939737ba42a2803753840b40491783687bb712c5aaa103a8b17ca47395efd24f9356431f39901db59bae5a51c74b8326e05401e6651fd46f3a152ec7e7a7502ba234db78f5204e4a84952441594791547471262e85c7b22c568bd2193c26a6f3d0886923bee8baa83a794c25aba32a6759f8a2a326e190d3a46a91b68621444b2d839914e236a7563de6858bcd33595e8401fb419790bc9c2e575ede5c8bda95ae9a2852c4461c270cb05b7b865d51635243be59595bf49c6d95c29b8f0734efa8975123125dc0a017810e21b265ddb7c62d48a73aac9075c878786cbf04b572f035491b54845e9a231839aa9c530571664dff85adbac24fd545252c0c12575b639a1b7d66f47b88a56026c16755c12871279b69941df8597b43b6ac760c4787069660c2b810fca4196718e7982abaec8678f691caf6a9ca1638042aa57c1a916849c0c68914e0cc2780899fad4567be7bcbb83ac218795964a763f3273be2920a14750479e41cdf912687c606df932022e86a3161051b665b336a6d038410b51a330d1a8605998c1566b55bf74b4fe7117904a72022c179a11da92b7b5d86c508a6c0e8462889e95b71278dc0969d4a805c73ac4265563c1e510891038414824232bb35c654949815bf3d322cdce7bce571560ea00e52804123a9504d835342bb05cb7739c599c9ad8c01aa29691e298857f65fd360ce4b623d1edb9c490a90bb300e97f9a529b937036c985902343e860a2756a614e65d1e58b7014a7fa8702b1c740296b61deac0ca94c8b973d57c23c4a69753983477bac74630a437b31c4cad7f13090a0530cf841474490044a666c0e31b9163b777643a05042dd209334b4c9f92ac5cdbb180aa98917be073a4016f5a4cc178cb208a35b81efc7d2507515153104c8c738119610712b4c16478fe7aa0e41660a1da63b5fcbe6d9471c7700e49221c5dd407f823560abad807aec780fc1f50dd02061460c13324c07a10d0f796657e1f4995
+Secret Key: af93ae84645ac5d5b3520371d2e2af4f98c6feb44196d81712759ea6f93662d6b3e279086e819c0819a10b01c74adb1eccd4c480a7613ef328ba6c72663938c50ca6bba755328294e076c683fc06f11580493978d438a0873c897c6c14d48684fde27ce60259b93b2ea1d6155749ba6da94be28858a47983ce6c5c2e114080b07e3576262a372b245a594e07c4bb6c77c2775751580b11b01e0a19bae61301f49711787cb4ade633cd83b7e6273fd4ac2bc08c9ba0c4975fe8abe2f210b7a491d708ccb6083edae32d7e1184cf81772d0c85b4d0bc38f694e644c4a95b0635f0bd12e50d3de9381133bbd9e404b7c5873207a38a87510ab4287415a1ab03c97f0b16897a3948269f8c22c96b8a99eeb58aeca764c71bccffe6589c40459df47c24b1b977c7c4766c80f21ca927543e9c8048aca462efa113aba6b83c97844cdb00e53374dcc29a4ab15695772214000bd3e6b16129a11d7abf1e086c1eb54a5a119a53b16c0fc68cc9879a1882b5d0031e0e4455d83512ae04309906c246f235409a3b9ec63b0bc7b265812debd293d1702f94051f35e461f1b2a3d9f45f2c1100070526cb4cc09f113dc18a35d94829e1d796d211ca3e3225577b208d2c7d0dc6a7420a78592259e714b9ba336f39a05ce2557b88b7a373b03bc7c012b5b4306b552ce21572bd312d9a9067ccf0b1c0048f4255598470817e011d190c9b13c36b412153bed966689087be0c51169aa0014a04c9f3bc0e3a0fe6940af55a47aaf5a334484ec4976f46cbac76318ae3eb1dcdeaa8c8487f348a86c248a55eba7e11b21a87d392565bb99cf19143c805bfb92b219bb0d61a1dfb77219347adc870bdd13c6d45201d53d161ab9c9444f8a231ab6bb5e7a2706b17f4c72812d568497c6e8548b069e81b5b82958f888939b62393d0413cab1019750d40324a5b1c811e901e6dac3f41b23b71942e4b4a1943464c754315e93baef4c2affe4ca9c46670aa83aaa0f4703139505af1493fa935ba9115fe008ccf648fabf89cf4c21bee3ba06f3a98a1b558d4c881840989d735ae0f906432f2333c4373eb5099e9f1abf11c27d4a9a983d87cb41a8da2670326f04aac88b4f7505a11bacc69baa14ce381168458d6f9769b4cb4f51b36a3036e408b66339388a52cc904168932c5ce3424ad851781f5ca100cb709da972b5d4cc0f5a156dff446f3734a4354416e309d83f660d9a5592a582de69acb12d9cdbef65dfd63c337c0b2cb6193812bba2bb03927a0a9d3ccb7159073b3e302e5608971662142211b11671d1747c68eb0cb8066453d02507e028110fbc86874a09b6b3cd34b8d04f616e08bbcd33a562f00abf89a561612573d6cb3ccd20c0ec6ad414c151101d0cb6acfdcc2958265c76685599db31103834d42e80b18dc1cf4a3421685292ef5428b6c72e4a106d48810f1642b656238f66cc7436a35e1a1bcdf78ab255018dd08a643b72b60f7ac7f2953a96a7d9bd99d4ee8a9e2737fdc086e2e18b941a045d73b895703019a9b926ebc4239a83c6bd38644433d20900937d763bb14570aa695c4dbc0ce87cd68664a7d6bcb60312ee09c6838ba16143bc19798097003471f502595b1048e69b90d331ed1a63721c27852a14ae6061598971cf4e973c79a65fdaa963632cda0a1b63523ac91c05932da98a3b5894f219916d50a2e34c98d43037bc64dbf4abdd7e2a656c6692b4b061af22b237a11cb498740080bd5f12883682e39258d1195161f4c79d80b44f95b3aad6b57f7f7a7e027b0b7e13a49ab12299b0c42c98b6b547a8cfabdcefc1d335a4682fa5777734bc4080efd8ac4bd38a294d75f073564c195a78f7b5a1e139e9834a88fa363d78c6edca33494d23b3f73abdb890d150b83afc70f5eb9a71b247240890b36d8a5fd07b67742975beb443401af6517abab908ba262cbc3002bb05302278a099c060e38452aa154adcaf2a89da94487f50acf3377142b4686a333586a83d71a6cfa345250e46111e824ef5b6871da3a403997bc84cbc23535d6f86c404b1dd6a865ed6406bb4596729427705b5028a6c965c08119986002b2ba66f1b8fde310d77996d0a6354136136ef6b9c0b59761674427ac0a2cfa6d5c543a77a97637966516622993243d339b632e842a68f359f89618ee028e811725cfd18d1e37adeb73b59aa3a5f989894ee7af996c0d98700311306ae880cbbaf6a814e9c92f599b6213cc8d77a81776a845bb7c41e3985c86347789ca9d014f229910e891813eb41bfe629e395952c0f736f072890c939737ba42a2803753840b40491783687bb712c5aaa103a8b17ca47395efd24f9356431f39901db59bae5a51c74b8326e05401e6651fd46f3a152ec7e7a7502ba234db78f5204e4a84952441594791547471262e85c7b22c568bd2193c26a6f3d0886923bee8baa83a794c25aba32a6759f8a2a326e190d3a46a91b68621444b2d839914e236a7563de6858bcd33595e8401fb419790bc9c2e575ede5c8bda95ae9a2852c4461c270cb05b7b865d51635243be59595bf49c6d95c29b8f0734efa8975123125dc0a017810e21b265ddb7c62d48a73aac9075c878786cbf04b572f035491b54845e9a231839aa9c530571664dff85adbac24fd545252c0c12575b639a1b7d66f47b88a56026c16755c12871279b69941df8597b43b6ac760c4787069660c2b810fca4196718e7982abaec8678f691caf6a9ca1638042aa57c1a916849c0c68914e0cc2780899fad4567be7bcbb83ac218795964a763f3273be2920a14750479e41cdf912687c606df932022e86a3161051b665b336a6d038410b51a330d1a8605998c1566b55bf74b4fe7117904a72022c179a11da92b7b5d86c508a6c0e8462889e95b71278dc0969d4a805c73ac4265563c1e510891038414824232bb35c654949815bf3d322cdce7bce571560ea00e52804123a9504d835342bb05cb7739c599c9ad8c01aa29691e298857f65fd360ce4b623d1edb9c490a90bb300e97f9a529b937036c985902343e860a2756a614e65d1e58b7014a7fa8702b1c740296b61deac0ca94c8b973d57c23c4a69753983477bac74630a437b31c4cad7f13090a0530cf841474490044a666c0e31b9163b777643a05042dd209334b4c9f92ac5cdbb180aa98917be073a4016f5a4cc178cb208a35b81efc7d2507515153104c8c738119610712b4c16478fe7aa0e41660a1da63b5fcbe6d9471c7700e49221c5dd407f823560abad807aec780fc1f50dd02061460c13324c07a10d0f796657e1f49952acc61c9822b6ddf681a3d28db5c32ba1b93e2ffb96fe86c2ead464d1c1c70d34533bddbc03458dcf0885c22287c8663585b80fb548101d26476746d72f804ef
+0d44e4bf5e61d461d5503d3a7f5b3d01d9d9dbcea43eaca46825dd781f603ebd
+Ciphertext: c1802ff5aa87ac4623682c1af038e25137402c949512dd80da279cfef4d6f4854d9752462bc972864778a446cbf660e13fe048618853388ff420db0428381b55514159f987dca32fa646f3e78cba5c1ac4fc9a583acbaefc383f25e6198ec1cabaed2b05d017c4c586c2259ffcc46e74ba57d871e1e352d328e4f2189cebbe4ba7b87c7f993612152c570f63027e7f6e1d2e10d07dcd74f335bf3f04bf8a2c504e389b55b024ee3c13feb979003177a90ef33a08185ba58a3741269a7a2fdbe90e3d515fff9fe413505a6414293257d180137eb288ef0b4c429e201d75cd67f5db5449f994b5b0717a426661cb55519a34a01848d7c839fed510e5351595484885ddcbc40d3dca76b70b6757aa27be7bd6e93579a92eb847efb2dc5e854c3504f499345d23a3fa292931652317bbfd8af9fe48a965ee7ca4935587d3a51887af8e9529730164ef2b5be020f4674d3b579994eacd997d7e62a7461683caa6824ba14e196b0d215cef99e1f9af4d38336f38bb83bfe85a4bb17dc9fe5f6bcf9dc469270b2e8bc274c18f62112f1f578d03495165d3a4e8a8997ef47eb5a79bdfe24770d39b9490d9f4567587132d6ee088eedd69bd3d889b3bd0e67a2b7c2ddd7e409c7f7ab235c776be9c0f57e9e5650674a09237da4e50cb2bbe8a341d2dff850d5dbbee482b96ab34002457006ff86be20e17342788ff07c7029bb0a0ae3b073db87b028b3adb68da7df56b1d921807880841b90f2f32b317342c6835aa47ec0cfc85c0cdbd6afdc474ac911318285b31e59488825974ddea54a134712820e9e409acbb8550f593734213c95b3595b6ed9e473d82a1d5cff4728699457d95fcab4b8bf641238c622f9ac2ec0522745fe4bb7b6ea9b10ad0de8ec08ceb6d7aaabe5006175c03b7104c14e6184102c5746427123df15add6478776c9a454520bb0538687eec6f6300d38240247e56f7a2259af1e39cc331a927d319638f15d35f34c23266e0460900d494a1a48b20790c98c539352aeb1b7faa578dd1dac4d3ed74a28d5ddcac28eb42be0ec20904c8811004f2b33d33fb424b1b3b3c97e3f0ac8495c1197f12009c2480b91b70e085a8e8d1077dc628def47d3cd452d46a277df21ce1425ed348abc3a804cf69f784e9be39ff696400661e829bb13ac43d071fdada563b9e708c1de18307f788b23540a8240bcea377a6cef96afdc1f2152afea07bc0d8b1a979526828a88ed953d8ee20b0bf06d2059efa724475be71f6e897df4db1e43d84f121ccec66246e74acaa48194292454014f96afe24ae38516079f542f5f7378ce9d80223ad4c7f3ad7e1f75b334c8538f3d750870617da7cb52700c9ceba6b77e5bddf4eb15e881313c9dddbbcf6f04b502f439283ac3d11d49a83d8b6791e1bf3c40b7b75ccfe2b66da4ac4b4db9e2a38627e81a328da9867f2550dc65980b8745b825103f1c61c3ef7e1699d8a7c4c807d3e36ad9abff0fa073dfecec0e630f19c9c4635b15411b592aa1b12a5fb31b1eb988def5e2d1af79b
+Shared Secret B: 7e04fe97dcb38bc4d560b4b30a85672bebb3cca9a7c077c48abec103e569b6ba
+Shared Secret A: 7e04fe97dcb38bc4d560b4b30a85672bebb3cca9a7c077c48abec103e569b6ba
+dc931079ac0f8a94a19754780d16a457b7af3394c82e1d4ab662d7421e5bb1c51705107039830c6652897631c215fe4e0df49435a7410f66e1ee671a3c9ea0bdb2bfc7b2a64d25b4f5752e3af70b0a0f038521f8017711b8a98d04171d20b22fa88f56ddb6e902abe88a05335d3cf5ee504ee38a22d784049ab54a24c9fb3cec8fb3a7508db718e04b6bcaade48dace4bcd426d24b7cb2691fa906e6e8c5f86b28a4f3243fabdd79612eb6173de1e205fceee18b3fc640ba36612ae6331d1b483985e15147d2e025628a11172df7fc07329ec85c873a28db927683cb6c477de6142deb757c817ed2fb03f62ab9c3901be16eec2e1c249ee1cdf7fe24d94668db6f540d2faca9d5fc8ad17e284c8d52aa1931efebe31fe5787571716efe8ce1edf34ab60c9ea5211657c77f301af247affaeef7ad0259c6373f21460a46b4fe7b2823ce053813fe242816afd5c2f9acb5a6898858727363b0c6dabd2e5e08c074d9558378bbb517b4e61ee3a94dd4a45193a06f50183b7aa417b0a0c5ddaf38321bec5d8445ddc352c09948de14e2e083226dd08919de3ba1e4b3c8fc6d52cc517659ba83faacabda849d3296a05861cfde26ab1023a6a70af8d9e2605612da4ab5d9eedda1b6d8b36933c28fb7d61de40521a4c071e0143a09703e951686197b004e5f960ceb35e50933a5b332ef707a64406748cd731ac635e3ed79652742c3223257eff5c34407efc00e05be558f8355d34801bfff053660cdd6613befb2b9e2e4ee449fd561266a136a48361e6dfa9aae1df0c20ec9143328e4ee6f3a161a26c417c05ea5d3aed32c222e1f81a5d01828e5d8e98ef3845f966964ab8f762f2538219f1ef58058b2985b63fa30a50d715e9ca65005df24c0b83dc6f63d316a3ebb8426f80d6a6d3561cbbffdf7c6ccd3877995f75df6aa61784bc3b2c070af999cda0f9d9a5f09460aab7a1396c9f67f5e2207cdfcf916c07ccc26ffb0bdcfcb3749f86d34ef412ccb34e75570734dd6b51226e45c647f0849f703e898b09f2eb4d0911a87ecf849fa515ef1a4e7e7567172bf9a667b7de1dcd6c7b041eecd1267423af0c106e0362f1466267dd0912e8467116af43d9ec98bd7f306860c3eb310db57069919ae93101274399fc861e15180c50bf7e6b3315f5426d54664bcface0b5016fb8b68faddf77abeb1481ccb96b96c48217716ee95827b22ee08f474663f8814d12d560fbc2f52728856104969e82ec0420d22031bc4dc36618b81ab89423060ad6a5614b8ecf559a7f9cad08c9951497fa834e08eb12a2506e25f0716683a1fb4470d6a607a243a99830d70aede6025ff7b45b0d4184a3b8ad17c4a10c8278dc26e56aa78108cf575d8f4e61c0f1a1314ba7bc301ae1df323e6c14a8da9de6dc54d24acfc5eda5d43c6315ff0b7a4303d416fb82a738b053228534f076d682c3a3cec84d16df29eefad8ad2dceca5aefc5ca7bf0c09658cb1ea91d3bc9d95164da482dcabaa6bbda4eee19f61be2da9a8831c610bd27984407a7c
+Pseudorandom shared Secret A: a7d3139d360ff7e8f0196e3099a3a5a0bf2a317691d6cea7259e676566e38017
+1e35b38d5ace61c5cedf6a6158dd514b314fa1bf51f99056a613a5bae1abdd1f4bc08e46b33d12705731b3f228550df8c1a982032ce234462e47f2fa5c254ead
+Public Key: dbc66738b897e9a01dfb20951061261b772cd2631a04240ba9616fdf851ea22c704104a2d2ea3c99252c523c67f3293ecf0946f95cb7c8458d33727abea6a4bb38412479216648626890ce6ce19e924b4853031bb388c6f89b92e20208359bbe13b593816864ae927513a5901eb46d02094cd3f70a15019106319899f8a23129ad1d6437546615428c6a3691c47156792a77a8db2ac98c0681e48cc0d67612f65ac34a0994958b0635763b28445115260e4a706e3d289988831af6286767c52907667b89c06b45a6b0cd9798cd599129c36cacb40c167b969f08c696d42b0f246981813ce0d55f6ff66305e398376a4b7bf01af16482bf0440f20c5a5bbb5ffc5290a3669ebc5408fd0bb01b395f2bd9880253c31af1343f866f51712a958bcf8aea899275c70eea05380b3bc5f3b0b2b4a0d6986571980e02b430346567af8104748c1acd2868d0c12771564a2aecabb1350d147c169477ac120c6231e35730da0944d16c4a24067a700266f23aa30459e551a4f2022510f2bcf880166ee42b418698c4ac3e3a52900d868de6e57a31c4c49bcb57cb8a9fb5ec7400070f1f2bac170706f29a1b81e843e6a52bb27aaa7ebac63ae468aa8a552e51c17de29bae2aa06028ad314488d6d56c8891568cf4ae90ac926493c3c263a92f27c0ab728b58560b0473795d221eb2c8ad4de75766a26da7b910d077b047d82aea02a26252112a24271f8018bb39c911b8869502c3bdc8130508b3d8f8653302340cb764d8bb1925e7a276ac60feca9359e231469a2bab9b243cd28b76c9ac67690644a609b2db1c4817a5c89467824cafcdf0ad3811833e6b8b9f9365b18200e136a47a668b0c3297aceb53c392b161986253e674f36013fa7bb79ec8adc23a4470055ff298a3c382112b97248ac4924fca613ce85d7aea5e25903de1954dad19b48c821b2c8ab937bb1ab7d080540031daec9c29ea2c2dac13fc9391b1b0171aa960d5296e06809f49ec9caa9609b1c1b691aaa668c794af72a49fe18b106b3b0651b9c5e9997173c42f2bc7d0a66d26c89ce57a182c88bcc378a9ced16edfa9653d69bc02d12f379b9850657b9ffc308ad912f57248a178be6dd007b625b34ebb1c8dc2c46a7938251019e066b5d49aac810a5e221075394b6f0f70cd1c2c8b1cb887261826e8b55e18a6991a492eafc538da538a701abae054612f006e7c535041744670098c1bab322e1896fa59a603b321ffac02ad15840bc98d0474b09ef263c618a9e4b056064a2b2fc2807d6c793c6b929010c2c5597ac41a7066c55e8e8862ad8865d88c52f4532c7db67fbe2712e6eaa866b223d51b0192143d90faa8983025840b60b6ab04db7c27b67786ccd010d4606a2cfaa245b34449c6bd8e32c7cec311a56b049bd9200e8c1f5e420e60141b090341e84a3d775b0c92f1b2db57075310238bcc1195171f70581ee6a176791118828a576f793f4400905c729595782225db43ce4b530f51356e080eea66cffde75ff8341187fc015323022c93ce698661e1c7083cf638d2742782ba380aba55935c380f07109af6b10189681e954768b236c14117a60770f55c62ebb484e2c65be497c88ef3692a687fdda254f195c53bb83b7bd2aafda8bc985c37421325b23a3880331d7ea85948ec81b9a5da44e5
+Secret Key: 9d215e1ba662fe0656f4f92548296b7d527f8972a001a6c122f08ae7c5a93d0613c28905ca821bca187cd0294245f84107e829d55bb571134ec29c677534b2afea3309e359d20c4dce78999878388f2545525185650855216c718dfa167917ce76e57723259a0e1186f5900c3eb6222483cc0c1b1e8ceb17df5858c76b6129545a5502c330b42822e71b78e33b83889ed64cb716bc297aea8a63a058f133914a90795ed873cef8ae4105699d1c651ae83d87ecaa64202b0e047f1c63b41284414e3967517bb1bcfb7e1d2731fd1b77cbd429a9d186c2e6a125a113728125cd8265314aa804c554618b789b7427b8e3b0e99581e9924e29094d2bd156e860678a6a6ac9d371e644a4c2e200fc3897fdca9e3fc70d5f1c6807257c297452f6fba3d6486bfa37058995a5c930a2ae96267842b8215007271bbea927b92eea937cc128f6106d1315cbe8f6c62f83bc9a1aa5b51c6af4041dbd8ca377a9ab9f675bafb12286661d0bb994b82c5f5b478d2a71aa934583442b351d145d8a622d0ef96312eca2df345aa86abc711a3da795889540cea5d3171443459115a69f814f4dc7311338c4bde3999eeb53fa724c9805ba770126d105637861a2da926dcf1c608081be54075a94432a15d98b53fc02e003d04d4b28ba648acf1b35cdb549c63649cf266b7bc24d4ed1541f7a789d01bda8b5229dc3b07cb25970f32a5ea1043d07866174031916a03f2ba92bb943703cc258a191688ba6f82954c145b56edb7bc2d73e090bcad9111341cc777039a9cce1b7dc71859f3897a64cabc7a5cb9c73815aca4c9de3b6a0d63d58900e611a6a7c989a8d09ba8fc772560c60d7455b8fe840470378b6d0a070898f742463bb89826b5a35a00497b0295e3469b62341c86ebc29f6f69219067ddde7218ec8a804a13678a244043734e637409a9103d909875aea7f92032af1dbc8a65a5d9ea85905d33d9aa9cf9459c874da4772eb7bd42c1d07531914f053103c7dd1f39ddf55bf8e617c2da1860196b965f3a1f4fb31bd1c00bed01dc3a189533a31795641c5840c70493c56763f177428c54c4b41b094a98701322c062002a384e20face24755b57d5000757cd10a350bac68f169f6f28833995f08e3b858f834a557aed558185823857d930a512a38bdf668aa5b7e7c931a72bb2da3939d39ba5a28d718ac7306d3b589eb419721eb9d1302b906a74bda784fdb6aa080cc95bca428efa9706e7474cc4662ead82161bc1ec67308a364845325c9f3eb08ba4ca50b741d908b7f44442da1260d52fa527206676a312d3b6c45561c57f7394f7e21bd80d84bd8685d859a93387c1a0feba745994329f62a52f36459e1c963b397d92059bccc513b1221376666ff3619112c5f4feab46df28b49ea10cfc8760e896917103667c40fc7f9aa44d0a15e9805417b46066b235eb9a41e9c68388b3f2e292804c3c89679035df49b6d59b8319940fe3064ce64ce2f700ad08522039125eb97329b1a52c4ab4ff63175309b0e676b409d7c40e459b23ca16d3d10cf632cb56436b89b63acbc203fae4146fe6a9b207bbe42d534246659d8255178545223da0223a4278d18023525a257b4730119b0c10296153c1ddbc66738b897e9a01dfb20951061261b772cd2631a04240ba9616fdf851ea22c704104a2d2ea3c99252c523c67f3293ecf0946f95cb7c8458d33727abea6a4bb38412479216648626890ce6ce19e924b4853031bb388c6f89b92e20208359bbe13b593816864ae927513a5901eb46d02094cd3f70a15019106319899f8a23129ad1d6437546615428c6a3691c47156792a77a8db2ac98c0681e48cc0d67612f65ac34a0994958b0635763b28445115260e4a706e3d289988831af6286767c52907667b89c06b45a6b0cd9798cd599129c36cacb40c167b969f08c696d42b0f246981813ce0d55f6ff66305e398376a4b7bf01af16482bf0440f20c5a5bbb5ffc5290a3669ebc5408fd0bb01b395f2bd9880253c31af1343f866f51712a958bcf8aea899275c70eea05380b3bc5f3b0b2b4a0d6986571980e02b430346567af8104748c1acd2868d0c12771564a2aecabb1350d147c169477ac120c6231e35730da0944d16c4a24067a700266f23aa30459e551a4f2022510f2bcf880166ee42b418698c4ac3e3a52900d868de6e57a31c4c49bcb57cb8a9fb5ec7400070f1f2bac170706f29a1b81e843e6a52bb27aaa7ebac63ae468aa8a552e51c17de29bae2aa06028ad314488d6d56c8891568cf4ae90ac926493c3c263a92f27c0ab728b58560b0473795d221eb2c8ad4de75766a26da7b910d077b047d82aea02a26252112a24271f8018bb39c911b8869502c3bdc8130508b3d8f8653302340cb764d8bb1925e7a276ac60feca9359e231469a2bab9b243cd28b76c9ac67690644a609b2db1c4817a5c89467824cafcdf0ad3811833e6b8b9f9365b18200e136a47a668b0c3297aceb53c392b161986253e674f36013fa7bb79ec8adc23a4470055ff298a3c382112b97248ac4924fca613ce85d7aea5e25903de1954dad19b48c821b2c8ab937bb1ab7d080540031daec9c29ea2c2dac13fc9391b1b0171aa960d5296e06809f49ec9caa9609b1c1b691aaa668c794af72a49fe18b106b3b0651b9c5e9997173c42f2bc7d0a66d26c89ce57a182c88bcc378a9ced16edfa9653d69bc02d12f379b9850657b9ffc308ad912f57248a178be6dd007b625b34ebb1c8dc2c46a7938251019e066b5d49aac810a5e221075394b6f0f70cd1c2c8b1cb887261826e8b55e18a6991a492eafc538da538a701abae054612f006e7c535041744670098c1bab322e1896fa59a603b321ffac02ad15840bc98d0474b09ef263c618a9e4b056064a2b2fc2807d6c793c6b929010c2c5597ac41a7066c55e8e8862ad8865d88c52f4532c7db67fbe2712e6eaa866b223d51b0192143d90faa8983025840b60b6ab04db7c27b67786ccd010d4606a2cfaa245b34449c6bd8e32c7cec311a56b049bd9200e8c1f5e420e60141b090341e84a3d775b0c92f1b2db57075310238bcc1195171f70581ee6a176791118828a576f793f4400905c729595782225db43ce4b530f51356e080eea66cffde75ff8341187fc015323022c93ce698661e1c7083cf638d2742782ba380aba55935c380f07109af6b10189681e954768b236c14117a60770f55c62ebb484e2c65be497c88ef3692a687fdda254f195c53bb83b7bd2aafda8bc985c37421325b23a3880331d7ea85948ec81b9a5da44e5ad21927f44e297b853721331f7f573af5601a8ba9bae539e52f5fd8920fa55194bc08e46b33d12705731b3f228550df8c1a982032ce234462e47f2fa5c254ead
+3106b2bcaf7b824860e36eff86a113cfe1ea4189c84b11ce2204ec9820f1686a
+Ciphertext: 75e71a38bf03f12d09ce516a02abf21ebb57eee810cd89b4a0b410e911e449a1639ad8df0a274134bb47117b2a6fda38d6f5df7e9a96898940deb81ad3d684dbaa516bcf32d82ab4e378efb32aee0105115e68616fa2d9db0d98d0d159c9bc3c4bf7f48d8818cda40b1501a55032e5592caca4a45d34eed06080160c5da46e98eb498996458ec2f77838b6a929ae0d3e5753df038d15fd391051f9d1cf9eda9c23e61d249380808e996a016af727cfa90e60ada5eaeb684c4a5b2549dbd1763a86b08b0521769989570fc2a37d541eed142927961db2b47c32a7af3309b0fd5c75a18df3e129115c16880fe618d0fc4b17fdc6d9e2e3634795d640e75433805466ded8a44409084eb4bc75aaf75ae6ae31c0dd92882843a16b1a2f680dcea1fd07179a00aecd87602b43b4f3f57f85b95a7620879fb9663258d8f29992c292c64688556da8d524d56083d0b001073af0beba8e34e05e0e17fcd4d91d135b6dbb820f9fc5cbc288a442de7928ddfbba0ce0c0fe0a6aca29accf568984002733514aee9f034a74bdf0f8bcd3187a2a8bc51eea3000c7b099012e9fdcc6c68112b28f7cf9d696e2684d2e016fed646b311fd182a1ea4b362b7fd50f1258110bd2cbed6c009d0e242f86276c05744bc1b833e718c93062fb2d21d6bbe039ce902e26a41cf2f47d97dae8e484d96ef98331741d442eaf6966def83fbf27b0048b52761ea25151fc77161096e7727237167e0a8d141ac1d823a40d1d2d6f73c67f104b5b254068c512e8be5e84eb6a24b733f3dc2f717fb6818b0fc2f75ae734afcae41db75d37061ed500bd4de6defbc37485fe9d487231095c6989d33f707e82b2b552fd31ff94f557af3602b4f2c16b5c5ff0c281e42f6951d317da356151a0d159197ca621b98c508363357bd3b4ec0eb2838f3ef732a1a7037fc58aad38552c3648c520f737e2d10fa2bf0efad0a3c418fcb35bf30a1fe133598476f9c43b20c9c553ec02d9aeeaf7a2b1a0ee1c5fdf8b22745bd3dfbc779eef31648697ca9717aece4879755dd2e31b3b195cc9c98ac5625d17a6c7347f6dc1b9d076d52e59fd2f38a19579ecd7ad70dd20113cfd6b45b4e4e9f86468007de493f428f564bf96cd67aa185cd0cfaeb44b023f35722e7fd7e6bd8d01227563004ca33d83d841b01a920fcddcb67c71d2aaa6d5bbd59ea595b87fd8d47cc5980b0d1ac93616fb883501467c7957516d4df3fcaf48a1a86395fee4a806c9f3fbd422876e2a761cf3c6b30de7f04b74953adfae0cca282f36015f225dd293391567797fba77fdde2ecb68035308326153dc32a1a64c395ddd4bbd38900e246eb68f6d84573e17e329184e8754effd4d73bc85352b9652fc4b39c6ee94eb729c5c5cadd28f36be1afe9fbbadb7183e200bcd74c10cc6476f810592cf721dad34e4da8bffa8a730405f3ce2728048281befc8aeb4659f76612542fc58e91c91effaf775b590fd9fafa88cc8ca06d3750d8d8d7eb1e6f54bfd3644560003f4efcc05b668f221851e9f75
+Shared Secret B: b666779cc1904d8cf471b468b3eab40eabe2b8b5a9938e89b42016a1a1d3ab50
+Shared Secret A: b666779cc1904d8cf471b468b3eab40eabe2b8b5a9938e89b42016a1a1d3ab50
+0a06d6ab6584d4463f80a7e3b126bb59e71da53734ec14690a3414f7e83d78dd2652c90d79fddee9a00e21e5a79a4bc6b0055b9bd516503dd6559ab939947892e2f47a2ca861d7818acdb30b153b400d4698a41d552a7cb80467335f7f230ad7624bb7578aece725d33c29d6d148ef93b863ca8631050ccc40ed584d6e0d887a3f572cd1afbb91acb0088116071e855252f9806a8fdbd1c9f86ad00ccd5c2cf3b1c651dd9db8d70a148c05ea450d5dfabc55c54320a91c6f258e942eaa7d944936cda719dc25f255f8220a610cd5e25d71747b5f19dacabb27bd78858a4febd0e107021aa14bdcc7ad800e995f29e977a984e5d8500eb6d93c43c77788099a93a1aae874b2f2778047b6ca0547170b93953483abff639ec39e579a733bf2c437d737b4b14e2ec9536be0b0e964075b0445d57c6456a8e34cd6864579f664d5f5bd9af69c31b723a5dcd00b6896f420ee9a0357c734d7f9b3c9f4d0fd16c4ccf51e64f57d162db58401eb323a0d145271ab392903306a11e4488ec7da177f80f3345622955fafb12ce4185da1fc74394f38deba3417e7bd0f9eee40677914b2b837f414a9f2817c0007b32657cd81b7ecd755f1ca8180ab9d3768d40ccbb4364e2e7e9abbadf477b527463730de6294f3aab661aa0dd5fa2a12ef4958a903cb330cc34d86f31b7c4a74eb78ef0576fe6204c99904104fe724a09a4b9fdfcccd2f2d2b1622f5ec6588e2d1088f252ebf4ae193760ffaa8537ea3fe6f6a5598c2b32f1b3715ecfada7575aaebcb3d8392b270616100873b0ebe8c509da70a99760b3cec594cc9fb7f97ef7ef3d1623a0fac0ff541a11a450518cbe32e177672c8fe39cc88065964650d7da3ebb2792c088d14897ebd9a536b47b618dda79f4d587112b5ed018e7bc0de0fee8861d8ee70acaa8e18b3db032dfc36bfd040424c3bd551b37cc00295440bbbd5b55a24adab108bf1a0211269910c25b3fb255b2d45fcbdf8023ea2011adf32e7adfea7cb983bf2c242b2d4ef24b592b44302772cdd463996b043f246354b2f4dc70b93248b605776598a63aa3f2652a2600e3a29c4cbf85d97bcc9f0b2238cadff729660e0db64744cb228b46e90d58ccca4f9fe9d3517a624d62ce0e1745433059316e8342fd7db4b45b101d8f7e55aa46a7350a596095cfff29cf70239a4dccdc0c855b7f4786240ea207fe50fad58b297b09640ad401a457ad55e1e4eb9fcd6041daa132e5e96224c4a245d081512c859b3fe1540947894595ce31e5c60b7bb585312535dbddb73319a2676e6a03a802cd9eff5cd4b576c9a5d408b0fc5ec0af1b8dc399e319d14235231c637b32752f7c9b213dacf850f44e79af18094a0598d2ba1942fce0d3af94f5b9b5001e9d9b503243dd65740b7c008ab054874dea600eb69efa57e1d04bb6525bc8442d96b04cee4468c699ce0402d851e6075efb84777b1258de31f463654c6668341c0a13bc8605d74e76041c979ff9de066dc2a4e98c8fc84ae07ca4597ce6a87c92b52a041ba6022
+Pseudorandom shared Secret A: 58d0b8819c9d8336707ada35ae7af4d730e2b705b23520bc71af789d7040f01b
+bfc009e21c60ac6bdfd97c0040fa53544eed3e5ce48a5e64ad1bb68dda63990c9cb0ff4470429add4475f9230b3e3e2774facb68fc38cdebef625afe64b28e31
+Public Key: 5f887b239630bc3c9179f816f023c1c91c42f1e7bb69782f9780ccedc21462a9a47c718723ba75ac51673469418e5ab8fd75bbb3d111cfdb7da060ac517c8926f19dcc62353812b885b7a1f2f4085de3a6dfc29c556b915d96bd34918f1d05aa735243d085c19c2227fee37725e81693b9beb8e817062820eda90c97f5cd037131eacb99f9546132a892c8481b4ae484ac3345244608c16308f9b43f9fa278d51785b9f6020b67bb6bf3bd16398fc3c46986967647631e0da38907f19679150ad26a223a6555b118b74fb29a89a11c1a21178af48d4d08326e2148253bcd259701f3751c66167470024fa68a528b53a39b8121c02781d81b58fbb68a0969a12b1603bf5aad24d279195b5e17d4408dc499654559d59a17b9d1586e74730cf7c7ebb2cecb108025b409e39589f86c9a7940b349a36b3fcc60c42a6d307348d0045d18e67397bc7c4c099e37b962f69322e358cad3b0314a260db7817b46478c9ac94f8e6a441270277bf6a55eba39cbf9b66193a759fc402aa10a034753809ab04f08599655bda3746786779fa85931bda99a34d996aaec3e6d32422ab9322ac40590a7ae5d5017ac87b708919421cc398c038164ec958ffcc579030307589843225de7f25ce400aac3ea2f0ff208558bc72cab3eaf3a1c99a757729221ea7053d7700bf2b21458787a4bc83d223537aab8427e75785726341af2bf17e7962d6167c0545fb6eca4245a20f187340c787102b55cb36411bec90d7a1254093a7b639263c710c6f3a3b36d2c06b646b577c88846f66607608a2eb57cf9094628d27e84dc9f23a86e04b552fa9283599c47bfe6788e62951f8a41cc073039034992e4137118c621e2a37f906cfa65cf816bc3d8facd4b0548e215cbf6c4942ab5321e435fa4fb16a082809a165e73f7311fb92a72c71d61bb44bd0b84c843aa4b46297215266a127749352976b735b3f8b775a6033c467b8a9446b7d20077394cf831c227e71e23c3509e2216ea0b1828f315b0c28445f3196092cbd3aa9004d1aea0a702ae5c11809b061757c88b1c6353b318ce063111f3a3322420bef7321a778c7e103e4d133b4c9ab62ab89ced43bd2c0b7bb4c8b5ec4b2722c7789f76cdd933731f5a4d0a5686c7835d4b39c9af238c1978934bfc7a4d1876700c2171e89fb107b3b09aa789539a1c8b566665a2303b0dc1457b61f580502c2a5b79907b24a19cd614881a087f5b6085e5382e725498450b3cc76634837afe69af1689c0de426f5d4a933e315e18149b0f6c88cfba537d7341bd48a4c6404c8b950362a4277c5ba9df4b48f98403323932a428b9e14c0ed56a2964005f557943f2014681179500977ad2d625f1d0a1ed094474e0cdcdf631aea4bc0536861036048b0331b84bc6f76a0166172bf544022c27b500637567f3ac5a455f9338210a6c9ca144c6380a9bf7cccc5b929b83a0aa54608767e563caa24fbcdc2c0b669268f4bed337b5d1b78aca9645ea31029311b59e876fed02902a04b6b2b17570ea6d9a546d49266b0768734ac9952ee80d39641ccef097c97960e51726dff8155d8c36065765f1d21e455b04b55c1e6bd23ab7e30e0cda852a40754bb939405bb090573ffb4611a097f5312af72e13474ce4dba08f6fdcfa5071848b9f1f7c428b0e1c8587f1a3
+Secret Key: fb4abf81465fceb62c39eacc8cc11a0dbb4af9508674dc4c364807e55ba4e32441f5c82178d56f4af873472818a382514af08a3dc54e60f4c4f37854b3509a93589616677f6db9ab7fb57453b8cd0c41c82343a2e2ca1c08d07307fc9731068abe9055c324c149954b389c8ef7fab5ee4b3ce2422ba3100acc13bf4ba138b19cc51136b2524c0a36c1cc9035bc8a19a02323c5eb831defcca6a879223006496b66400ce32caab04135e48495951e0220a70d82a249234e41e4a51cc117f2f02522e41ad9e21bda4a8b941c9791a444d5e0312be4a97e7a4f729a3780d1c3620ab7117abdf867227a252b25d022b45749b8766c71ba56542c58cb59775a51693a915173b436fd5c0220b5057f07b7c102a43886c44a690a69580696fa1aad4245d7b1977a1664c632a4faf63d08905fb0581997c130bb1c7ec621cbaa824fc87a07ebc25c643180b2744a46711fea1bbb025b0af6a95907b6822fd5bf75719ecc253ad5977adba962300caf6b231418e43487dc6dd57b45c92244ea18649af57bf0ab3933915567613c8968874b87cccdf69f9815b6483414e499a46b502b410b96a95c4a44932d87869ab0d96adb745da3b9c4b5398b9934ac8a10538e28c0b621c510ba4b4e656ac1a251c39bca3c32b87faa4d4154991f28c44b2773d927a8c5853d97b37fb2f12e69e89ec3265b226c83880b954e8c13b2a9071c094a058a957a0bab6505b54d476fecf6b075b2aec8987f3397553ac40b6f0466fb988ec7c79f52663534a73620a022949b3c7882a973c7c28c9c8bfbec43f6b4b9b059c1910c6faa0a8d65c8ac8697ce8fa91561d82c7d376e2c2801ad93a71c13bde740694a9b2a222111aa229d609585d2208ab9da853155ccc017c2a487a1d4f05667b6c16b1714bcf344c4fb89daab025b370c30d9681ffc7a13047082033e23477406ec01a3996959a5392527af93269c06b19eb6a9cf3ccc66682bcc7489a902e183d3057e09a8727361c4cab79e2b067264c519fa81b7e02cbaa4604a1f8595d90a604d1011640b9b69a25a3bdc560461817a191488c71fa132b2b382cc3c9cb75dc387ed5a401ac042851323963b6731c568d9856f8e30ab81d087a061a311026726595ea51c2e16985af47c6da42258c4cbb9c2038303c0aa20d579323807fae217513a59f920269c63a10b7a3bd0189fdda93181e0129b79a3710b9dd65178589c9eb6ba125b698fd5f23fb220c4bb25b0dd09cbd25301153aa2ca0c3b04d4712f3137bdb0c0def598418b855df40e2f104f95a6211c9803c12b8cff060ad8e017ef911dae800e11ca49901450f7454f698a707cf8230ba89ff7682b2fcb93a56bb0d0251349f6824304942268acceb07beaf2b7e071955c1912ded088d0797c0fb020ec93c0439964241469311a754591255558400239b705a23f4e653589eb2ced60784c44871a7b70cfa28623a505c0099d098a275af341e300a402c7ba3b759572416b4af4cad2398772f88fe02243a6904d507b555fca8f5a44aae7a8174a8ab30959b793a40fa32c868974b8ff3b638a0b04e86b4396266eecdaa25afa0a652b043604116ff1b489d0011d99559070c4eca658f74acac284312c42845f887b239630bc3c9179f816f023c1c91c42f1e7bb69782f9780ccedc21462a9a47c718723ba75ac51673469418e5ab8fd75bbb3d111cfdb7da060ac517c8926f19dcc62353812b885b7a1f2f4085de3a6dfc29c556b915d96bd34918f1d05aa735243d085c19c2227fee37725e81693b9beb8e817062820eda90c97f5cd037131eacb99f9546132a892c8481b4ae484ac3345244608c16308f9b43f9fa278d51785b9f6020b67bb6bf3bd16398fc3c46986967647631e0da38907f19679150ad26a223a6555b118b74fb29a89a11c1a21178af48d4d08326e2148253bcd259701f3751c66167470024fa68a528b53a39b8121c02781d81b58fbb68a0969a12b1603bf5aad24d279195b5e17d4408dc499654559d59a17b9d1586e74730cf7c7ebb2cecb108025b409e39589f86c9a7940b349a36b3fcc60c42a6d307348d0045d18e67397bc7c4c099e37b962f69322e358cad3b0314a260db7817b46478c9ac94f8e6a441270277bf6a55eba39cbf9b66193a759fc402aa10a034753809ab04f08599655bda3746786779fa85931bda99a34d996aaec3e6d32422ab9322ac40590a7ae5d5017ac87b708919421cc398c038164ec958ffcc579030307589843225de7f25ce400aac3ea2f0ff208558bc72cab3eaf3a1c99a757729221ea7053d7700bf2b21458787a4bc83d223537aab8427e75785726341af2bf17e7962d6167c0545fb6eca4245a20f187340c787102b55cb36411bec90d7a1254093a7b639263c710c6f3a3b36d2c06b646b577c88846f66607608a2eb57cf9094628d27e84dc9f23a86e04b552fa9283599c47bfe6788e62951f8a41cc073039034992e4137118c621e2a37f906cfa65cf816bc3d8facd4b0548e215cbf6c4942ab5321e435fa4fb16a082809a165e73f7311fb92a72c71d61bb44bd0b84c843aa4b46297215266a127749352976b735b3f8b775a6033c467b8a9446b7d20077394cf831c227e71e23c3509e2216ea0b1828f315b0c28445f3196092cbd3aa9004d1aea0a702ae5c11809b061757c88b1c6353b318ce063111f3a3322420bef7321a778c7e103e4d133b4c9ab62ab89ced43bd2c0b7bb4c8b5ec4b2722c7789f76cdd933731f5a4d0a5686c7835d4b39c9af238c1978934bfc7a4d1876700c2171e89fb107b3b09aa789539a1c8b566665a2303b0dc1457b61f580502c2a5b79907b24a19cd614881a087f5b6085e5382e725498450b3cc76634837afe69af1689c0de426f5d4a933e315e18149b0f6c88cfba537d7341bd48a4c6404c8b950362a4277c5ba9df4b48f98403323932a428b9e14c0ed56a2964005f557943f2014681179500977ad2d625f1d0a1ed094474e0cdcdf631aea4bc0536861036048b0331b84bc6f76a0166172bf544022c27b500637567f3ac5a455f9338210a6c9ca144c6380a9bf7cccc5b929b83a0aa54608767e563caa24fbcdc2c0b669268f4bed337b5d1b78aca9645ea31029311b59e876fed02902a04b6b2b17570ea6d9a546d49266b0768734ac9952ee80d39641ccef097c97960e51726dff8155d8c36065765f1d21e455b04b55c1e6bd23ab7e30e0cda852a40754bb939405bb090573ffb4611a097f5312af72e13474ce4dba08f6fdcfa5071848b9f1f7c428b0e1c8587f1a3b7f7a109d2dd9db6b22f1bee9dba6ee1253e547faa1659cc1f625fdd3e117afd9cb0ff4470429add4475f9230b3e3e2774facb68fc38cdebef625afe64b28e31
+51eb1c84da00664319230aab240f097b942b5ccbfeb14b5eb67592cf39b32215
+Ciphertext: 302049a12148662573e4477caf848b51599458e6f8b02e37872fdabd6b138ebc5b3d8260850bda69cd0a3720c6db3df05e2b9f836a6c3d1de58919febc6fb8180197dadc7d59c02008ca2ce47a40184a771a27e788e71c85ee62491fa33fe698d31e7abd823b2160444d608deb59b8909673142fef9fb78838227477b8c00b841dcebbb7fae2a224a2b955484dbb574420636aa8f59f595770672a7e9ab5af67c0bcf0fe130120d2f9e5dea5717826e68a3d295ad3c7ad5829761e94cd0632eff038b17c98cb0c74b361a60295a20338027aefb6366f77793a104ca36921015e523bb33f1fcd83aab7436a51e950d3810183d0d4f1cf369e0a93b900f4044d2bc6f55a0244f8e43d792d6612c9f6e709ca6d32ed83f03191c6add71a41fa31dbec94a3a65141fbc7eda7187658d51450300f97af89f13ba44fd821b6c7f8477c1b9d1e3fad8794a47cb443eeed08d35c8bf2cb326cf5fab4e88e33d180e79a4054627fec5f9ddbfdb9fd20eea695f0eac457440c909d749784a2944bd4638f049b2970721d896ed8fd3175d5fd5d564f2b120a3d602a777334d32961493cb40ee2e57e0f905a3f0237f007c330265a35007656f701135140901195e6dffce470f63d8f54cd764bd1628945d1445cfb860eb65dd9b687467ac97db7bfdc097551c53753d758e5295322282aa27bc5903ec4baf4c7d4b2e7f2c926162d138ecb541b8d57ced7169e085e485e9218ce4947b59dd3667a0c9cc4eb2a8658e7deb4861f99c6b02aa19815104b06612e663e93ce4fa070432829d54325badf92db36e3b8d94e35de4bfb5f7691a436f12306c8d44c43980902fc8a9a2d087de3b0ccc33023f665aee266c03d8efe65879ff2ee784113b38f51e317bc9a27ec35f4a707db3254292d3f381933aa98c7645fc3be8cfcf3ce4b1fc7b22d2b3074901fad7af02e4147d04afc2c0a07a4a911b0689eac5d30d1bc2111cf5db0400fcd0c487bba22daf796b82f1037b79220a0720ad53a834a617c34ee31f4989b992fca681849f6e4c3f8e269f88fc2a5dc6172eb62462925b60f639c54e344f8d87e5af0991790ef6513057ebd5030fb7aea340a93f465174c52237fb53657a008cfcba3bd54777cf9b68c0906f4b9c675c9ceda37133b955e4c405eab92c8462f76208ddc10cb6b681a8e17e26bc6da1bcbe4c08859f8a76ba55e11621cde0da14c46ecfbd2f04c6f0b6ba8dd5ea2dd3e23e981edc7e83fb716e63abdd3397098119ded1a98816a32cb486da665aafb30033a9535baa95d65f7beb5f5237bdc52f8adad943277cab0f4fc689bd3217454850518e4943d23b551b16b095af17f974735c0f202e468274412b552b6142b682b320cab82dafe573fc671efbdf8407f1c6cfa642e3e6b8231df67c5845e3af0ae8bdf57306a1f3b35c7e501f05cc7e354d6f4e37f7cd6f5c6bef7f9f7b0aaee3b80a5ef21fee7dc6496d80fe3a67905ee3494a45b00ec7937334ebea2fc3c46a6170bff36187cc27923c0b63e15b9a701c6508b
+Shared Secret B: fadf05ba4af8220c36ab8d086eb3c17a69f676ace4dd083eb5c94fed6a5a57ae
+Shared Secret A: fadf05ba4af8220c36ab8d086eb3c17a69f676ace4dd083eb5c94fed6a5a57ae
+dc219cd53fc0b3b75e5dfe68276d1c1014be3e9e27b36e885c7cd2215eb4ed122e94c61b53664c8b8a7283ecf9f9b93a8c08bcbb249ec22ab9813c18c06b7c64f99fbae5af504bca7d31fd28500597d6db567003010297edc80509d95edc85166c0faae087e4ecb8a56f4a31d201d5563da77b6d2c3b565d544bf5fa9d78dbb7143d3fe1ab34aac497b3df5bb769801f2c9223afcdac53dfbb343c92b90f6da91f835751a7eb679d9fd304a3ccc6db2ff9919a28286a4b46f0a55c6d33e87cf5835d3c5e1c1c70a71f5e8d9a873f4fae3d731df7a66dc4e7e81dd6bc757480b2ad25e75eb2615d1e59095b43abbc68c8443910abb6a31b25f0cd658a811725a9a5093cead7f3d6081756c931dc88e7ba63afe23aef43055b542d4b098be8fef8d773bdc2860b6513ac8d22a72805d9375528816f96ff4b45c7bc61fbea2f7a41cb1df7090653f5cf29444a4b730e7c87c39fb5c07bbe8380b686b9f6cef25eb28189285651a277628fec931bbfe10623b937d8efb39573511671fa78a05c38b6b3e48debce36ca5754a8dd789f8fa172d7dca6c790cab5fd40fe351a05a3109f10dbbf925e5243017cb46a17bee6da2ff667bd645b4d293b6d2173eb4fbd99641c1a8df60941879cfe1885f04d32f0ff4f2d0408bd4c955a997002115467e20a592b31346da8d8b52186f886a3e1f937a843c6c8e802eb8143fcfc91f252e7cc223edddc980626881ae3f735d44bbe5407f9e70fa9d06fc9a9c360bb5baf821c6b015fb8a868b8b91688de2aac589fd0ad15cf6b6f5890155faf3ed7fe8fc65b3d788ddaeeb752fd104e9dd942005433e1d0e81f219894e8243c3ed60527416591e3171447a1e26f5d22e52a09f4a06996c025c0e3d685f7c007d5730bee3c514bde074cd68322ed39b973f871d074f6af5d89690ec8f8912fd19bec49aacf7872aa2290c4e8279e3ffce0ee8df8a39d1d6b25484f6762374cfbbabe078689416728b75fb58df0cbb497b43bcd38f54ddfff6b86ccb6f6cad1b9c06c9f31b3642b617564c54b53df029052ee2e888c5593e1615f397ff749a471d299bd673ec234ccd12b35421fc51c5cbb337dfb4a4f01ebf708fda9fe0209ac3357bd33acb97614399748ed57d2ecaa6763557f16758f3a09b9579e9720823a537b99662bb686cc48b6b14a4f4e55b13025cf479b7e0396acc7bb50522929d96953b99dd2043bde6e0a2f0c146009bddccf97f710a4c85207370e390a37fa485ce1baa7b35eccafe75ad756cd4d2d84a9caeedafb1d36250fd4f5fda600990f4cade2d79b04e58d6b0f1d4ca450b4b9d567a1677489575687a5cb9c91fe2ba2e194a50686450edca6aadcb2e33d71c5312b9db3386936f04866016743ab140b738176ac4b9c82e688bc707dedb531189fe5910924512c265f24cedc53878261796c99ca97062b196261db0c7ad74b484da0f69b3c2025527d65aab5cc65df6d83610b94a41e600e507733b6b4d94c695fa86b69cc4d62f4f536c23881b259907944d4b7fe89
+Pseudorandom shared Secret A: 68bd54eb8ec8dc260b87442488d54f6e0755ac40086c2b3d5c94dddb3701e47f
+9d3306a4558c54962623cff21883ce142d1e359a4b9a72283a3853733403eda2cbaacbc0835dc465d82e132b66df6ce0dffb5cdfa6942e6a53787d01971f5a80
+Public Key: 07575153d4a771b70f66535fffc9cc2eaa63c34c62ae3cc45d0774b764bf0863107dc8b98811c42060b9320ba67e60a30d791a2fc1ba5cc5411c64a66626124dd8611fe707c530ca1489c6789a727c588039d1a9e82a3246f85307c8856f07cbba892cce52c52a2718bb04816d116ebe4c30e848a93e3bb6e8880c09e19310a8c731e19434a20f684401d8da5edb9c6af0acca11232a23973149e28397e49ac0a321a59b12ef93163b28ab07425a89d593b7f74c36f44e16b78e2c7aa165c53795a94a08b12f7c9a0de7189fea4c6f6f71971ee716863b7eae870bab5a5e0427985a527f9a3913f3a362555a4cb2101231086060514025356815232218121e804b4f580cbf5aa9683858cd1d1c5876e698940284e4f73e0795b7c7d456ef1012c275137a155e466203bf997c18c74013c3023e576fd212af7455b3ed20495468bb3de7a59e3143494827864c581f9479461790f3d987b778ca2bb4854ff39790f947a611731c6506f3b1c9224745bf2b7bb5f381a3c7c1cd58bd6173a406d63743626cb3a411b8e550c1f632fafa117c842034475c6a5c2b808c5448738ba6f319c182bcc3fa1b86a67c29b7bccdbba6b1f6bd80fbbba33978b3b2b4102a96e028621cf9860316110a01378363a6346a9c17a7b569660d14467991e79f14a8483c0644127930529b36e1a2926ca5a762838fd4d2c939c97d5f1620cb7b0ac8ac55b8c134b10b8719f3b0b4c0817a27724e0aaab978b339956bdc081a7ddc6f17984763c89cc3271fda97c82c216689832765198a2c1958dd021fc320a82d303deb526dbf3a430ee99b234098b1e25bbc1639dea956668b0b28b31e6110012a03bbb0943d55c8148926b45d294d086a62d43484be829aa90677636b733b8767e05144308683d6a6192af52ee7671993b31930cb5023c46e63eb191c52388fe289cfec5b1693cd1d18c222d4aad260170880b470596095f06d9d55735a3a10b6529920834dc91b5178990afa81256ec83ec39b14188709ef964ea860c5aa2679aa3c770f8a91d7c50d3b6b71818c6a0ad596c46393bcc3375e88ae61833e3975ca8f2476968040298bc1aaf94ef3d883a5e4282b557061504f39e92b06ca4d5609c9a7d2ab86c04e1c286d59d097c7486599e6833532345eec7f79b7abd1daa701ba4e3bb14a1b3a7ed8584833825f0451b45a823a902cb2ee136adc6b4050505477e7bdec3208d2e3c615364791e7aeb9b427bfa467ae2c86b1949b41d1ab9aa14854c813c9c6041f0053700a9822111c085066fe455a2a8c09018c549b300f944518acd61e50e118a44bc14c458993a70625aaabd556abdf4b9ebf362ce939b3ed20551cebad4af95fa24876020b2c1da108ca5c2294d86d1a1c5758931091629c86fac8a085851cb375413b8971633e51934baa72c2df2497069b3760f011f626c6d2b4348a8ab74946ac5817a41451bfc61281681746a33c5083c746e10ac241455555027f26c19b25bc426fa52f287a2583b0a4e7c72b8dbb8d6539a43407cb68861da2ccbe58f1682f080b3f5927d78c0992a83691e944a81671e5ca97c02646f9631f8cf0bbefc06b54338606a9c68db1ae5b128cba4bc850d5bbb374813e754c8fd8f36cc1eb0185ed866f305558345d8910f8283fc319d8da1a28c60c
+Secret Key: 18861d36c9362d708c337143fbf029a5d93c5250a62eb5220e5927a788a35b007730341c60c839067c37046b0a1b910299014ba3156b52e3ca79d430f4144c3600a9cda6bd055a22f8e10bc9eb8a41b69f39ab89d22a3c6ddb96da272a36046a09d579020c2abb8b549aba70cab253494b58dee8560d077fd4a653a7e0446c851b8bba22adc2b9aaa78f68b87b298b7c3b784122b53fce566a7638279b173cd8348a2908a394d453859b0e80b44360137261ab07a66c2e408161613b4f8c236041095429168840c86144352f8131b42594951cd807d3f7bc98ec238945b1c8eb4aa1b95c89da0f416c77c123ab0264017ba92901bb31175807adc2c597f47d7b21c4d02a4827940e7e3c0febd5add097874d0a28214940df0c3be53043c2e4c77a04b8d22011c71c2c8daa5be1d5c1a4f61bfe4942844182a312b272c5ceb0637c1674432f8200c065c14244a383179629273f8a79687a7c437f107c8d786c60711c15d3897e010be1114ad13c44eec7b3901582f4d3a61cdab7070973c7bb36c0082cfab76dc7bb9140fc108997c36125bb1659683d3538a7b0c66eaa7ea14b02df899bf3b11b8e8822d0837743763fa285042c077ca7448871b7a9a599870eba20978157993566802c6a9cd97bec6b615b5292fab84544d30cf2077358c4955326641e8345b1d37374d1144cb058f0e76b41298575ab6e651c35f348b237b4435d6541fd3ab98e12a3bd279fd6ba301ba4bac85781277319d8d42357c217d6579c488069b1889467ca1f6a82378ed012f0789ac77a2285d3b3796665f9a3c2d5c70152d90591d971c854245e2800d8114482035dfd2ba51c8529aad5572312cb62908aa0b17a2b8c97bcc527b422b3c1653d797248f1805d43a05f631b80f4440e88dac06979ad4f094098aac7c3b46a76cab33ec65e09803378987aa72940d286637a5821157095ed7a2d4a4a621892962974be6ed293bc015645b34d60a344fd573c7804d0600732ad91a8b7c5a38b14a2a1297ca181ac3acb515f39407f16216a164a55532b3a2a6c8ad5af689b5df784c7f45ba88de52a8e45a10f67c9f2d004d7466510bccb11f46a3516323a8478bb61c7c9697c4048a2d8553b0f4c8cea250f8887358c505dfff35504b961c9b6a2391590fb7b54baa39705a14e6d1cb052571bce61403c89b063bcb88b1c57f32022beb4ac52973c71171e9c4176dba8576e3c45f3779d74478bd58a679f15aa72e90ac0f427dff1500e369c04f2a147a85ad4163cda38061bb36ff48c3f1c0b14262293a40c0eaea19204d30d1ee269d0304b0db1480748cfe402549c252962142c7aeb4af872b47f76c500e1c2cf20b397092a48470c23aa32c86499572894f3f23a6c420b5b91941c5c2fb105c5e8821c04905579d8a715789df4a5495a471ecb733acd11226a0b95952552ed8958b34372659051e5891c7e0544e17c03bcd475554bc63e83cc32675706f6cd001b9a4c9b2b68039c103ac7d5f62f1c08bc501271796c4fa9dc95021531d4d77803d78e1285aa2827a8c5a79f2df4a09d5c6c1d99303356980eaba3d706b3fc4c39f9eab396a1c439267e27ec65d4a3c7d0fc2645606ab05a7b15335144e79807575153d4a771b70f66535fffc9cc2eaa63c34c62ae3cc45d0774b764bf0863107dc8b98811c42060b9320ba67e60a30d791a2fc1ba5cc5411c64a66626124dd8611fe707c530ca1489c6789a727c588039d1a9e82a3246f85307c8856f07cbba892cce52c52a2718bb04816d116ebe4c30e848a93e3bb6e8880c09e19310a8c731e19434a20f684401d8da5edb9c6af0acca11232a23973149e28397e49ac0a321a59b12ef93163b28ab07425a89d593b7f74c36f44e16b78e2c7aa165c53795a94a08b12f7c9a0de7189fea4c6f6f71971ee716863b7eae870bab5a5e0427985a527f9a3913f3a362555a4cb2101231086060514025356815232218121e804b4f580cbf5aa9683858cd1d1c5876e698940284e4f73e0795b7c7d456ef1012c275137a155e466203bf997c18c74013c3023e576fd212af7455b3ed20495468bb3de7a59e3143494827864c581f9479461790f3d987b778ca2bb4854ff39790f947a611731c6506f3b1c9224745bf2b7bb5f381a3c7c1cd58bd6173a406d63743626cb3a411b8e550c1f632fafa117c842034475c6a5c2b808c5448738ba6f319c182bcc3fa1b86a67c29b7bccdbba6b1f6bd80fbbba33978b3b2b4102a96e028621cf9860316110a01378363a6346a9c17a7b569660d14467991e79f14a8483c0644127930529b36e1a2926ca5a762838fd4d2c939c97d5f1620cb7b0ac8ac55b8c134b10b8719f3b0b4c0817a27724e0aaab978b339956bdc081a7ddc6f17984763c89cc3271fda97c82c216689832765198a2c1958dd021fc320a82d303deb526dbf3a430ee99b234098b1e25bbc1639dea956668b0b28b31e6110012a03bbb0943d55c8148926b45d294d086a62d43484be829aa90677636b733b8767e05144308683d6a6192af52ee7671993b31930cb5023c46e63eb191c52388fe289cfec5b1693cd1d18c222d4aad260170880b470596095f06d9d55735a3a10b6529920834dc91b5178990afa81256ec83ec39b14188709ef964ea860c5aa2679aa3c770f8a91d7c50d3b6b71818c6a0ad596c46393bcc3375e88ae61833e3975ca8f2476968040298bc1aaf94ef3d883a5e4282b557061504f39e92b06ca4d5609c9a7d2ab86c04e1c286d59d097c7486599e6833532345eec7f79b7abd1daa701ba4e3bb14a1b3a7ed8584833825f0451b45a823a902cb2ee136adc6b4050505477e7bdec3208d2e3c615364791e7aeb9b427bfa467ae2c86b1949b41d1ab9aa14854c813c9c6041f0053700a9822111c085066fe455a2a8c09018c549b300f944518acd61e50e118a44bc14c458993a70625aaabd556abdf4b9ebf362ce939b3ed20551cebad4af95fa24876020b2c1da108ca5c2294d86d1a1c5758931091629c86fac8a085851cb375413b8971633e51934baa72c2df2497069b3760f011f626c6d2b4348a8ab74946ac5817a41451bfc61281681746a33c5083c746e10ac241455555027f26c19b25bc426fa52f287a2583b0a4e7c72b8dbb8d6539a43407cb68861da2ccbe58f1682f080b3f5927d78c0992a83691e944a81671e5ca97c02646f9631f8cf0bbefc06b54338606a9c68db1ae5b128cba4bc850d5bbb374813e754c8fd8f36cc1eb0185ed866f305558345d8910f8283fc319d8da1a28c60cae33cbd8e143080de374897f4c99d4bee6fcc3bb25b39610049627d1230556bbcbaacbc0835dc465d82e132b66df6ce0dffb5cdfa6942e6a53787d01971f5a80
+22e6ac8873309c6d027176a865d9bed254a50cfdde38cdab18ccb686ccca366a
+Ciphertext: 72f90d657ed627eacf68b1c48a1754d12cefee04c342bdd4e141772d0d7e158f50c25976e8969a13fe0193bdf9d701f553876686c4fed6f3b6f374ae42c358a894ef09956dfad07d16e5a246e758145fbc5d33d56a3afa8f9fe975f2690931b1bea1d3c2b76df696e6c12374173be1597099cd01f03d6c41fb6511db8dd3d05299fd3238e3f5ef58eeed5fc130184827c2ba4d8250dea2a506971ab1ea142dc0e471182dc4a454dde28b86180e1a6bc37b4b7fdf9daf3bb73fa4b8c12c5e4bf1f76e4f558e463eed3969c918d3f3ecafd74b1ee878cb81c010f33207ce93f42cc5f091988438d8833964a40f0ef74f7cae98bac5f353e037c3ba938ed6e056da99a2de3e2d5cf2b06754430d0a9f6b677d49ff628737837adf9f6030fa2e3a2cf70ae5a0d3c963ec7bdec35b5a45a68a658d371a9f16b4b1a5345be83ad2117d62cc5d6b072b16ea3051b8360aa98a428ebdd7a2500a0d39900be0d11362fbe62356d5453b65ec421dafbaf21b81db305913870fe8faca590ac753dbad3e760edefa44d44b2cd6c8821640ba16904fc948c7466c7701b351a3377918504dcf309c991b8404987422e0c3ab78bee30ee754455a6ff9b23d4565d56b51e4c58ceee5eb168a8c32cc51053c347faf31afc83d90ed14725eadbbf7e7760ae9b29a9e196bc9c94f5e3496fbee669c5289e5cc8cdd8ef3a7b1ac2dfba6e79aae8a1c5be91dc685ef8c2c711e72cc339cd36bc774bb8df2564d71eb2788bf577e232189fc3aeddc2dea29c4a762d205c9c94cc6335a0a83c191da3fa5df550fbb119435c5f574cd0cb432e6616fd7603877f4d8df1e8d4b1df33767191d732f244bdab96dd4afde98284ee3287f4cd9efd00fcc37cf00e733612d91da99ab9f9450018a42600b91baa6c04bc454ef0a7a3c03b0bb26c7e601752188f46983ac172f3a24ca6ca805a402dae0a00f4b0cf0c8310e7b10e40d1ad6bae200078cac1515d44cb55032b35c7c642ce67719d2860b23dfcfd100f1295d15abf827a5d026b8b4be365b5557d1000b3caa2b03d7b5af1ff232453d19c2faf4e9eefef16c4aa7cabf01f4959b507bd3a2eb3a869ae898b32ba67be5bbd985a93d274cdde5b8c4a2d7a5416a595bbe40ef9e4e567700b88c22da777455c0703dadec935b45d9d43c33d7ab7b824b2b664c161a10c9c4212e3b5a3195be088b347bfea32f99d0afed32d6f22978070116e9a8fcbc80525390ae755bb7330e002e0eca55d91fe60763957937a8b97ed84e9f854bec87f339f06ca9e8d8b4cd9d20b6e2669e27d35cac11346221bc93c57043eaf812fac4f181f3461589fb37f1ce29415064f83d2ea180524166b3d2a4a18fbcf230d57016486071b485de7e621e7bba41717608e842e6af62f719fdf0e680acbdd576d7a3a0d631379116285060915d1f4a3125aee150e2ca2ab1334397b10a4a4dc3b1af6dce9e8c8f7193dcf621457eb154d287b6cbd5e045efa9b91708516670172f36a44e7d675f77d131a6febd1ba97fcc975efb
+Shared Secret B: a3dd383ea08d92a7d09e09f2bbd473677bf633ba29b91e7af07d4b763b5e628f
+Shared Secret A: a3dd383ea08d92a7d09e09f2bbd473677bf633ba29b91e7af07d4b763b5e628f
+612a59b280abf5615594eedd0e73b9ec0a96e4ddb8789df226891e19c5a5c61c717ecdcd94fa8cc241e68bf7029528c09864902a78b873b34e170fb30d8e7c91d5022793e015af491997c06e9184d8d9c39a2f689df2de64d6332fe28f4fb0e05b9473d2110f91b0bea8f922bdcc7fb40d2d84acee5f8f1c209f5c8ed3c1c10c315dfa1ce53df0be8afad4a32f8d83cddcb464f924746bd08cecaaaa31984454f23d9797f5312e798eead16b3adce92eae50cd8dce9846e9b44e63e60e0186a8ae387e3ee021ab0cf6c190a7a177d78ee86e95ba4d0efd2980524ea3735f0c4c97036193b263aa02300e7cec7c6d2842b1beb86dd0029b43b7b57c52ab5fa77d91b0f66b8f9ff15d0110a4affbe6d2c54b061a95a63501e6fe2a5651347239784bbd67b1dabcead31a969b0216a7d65184bdfbc4ffdb3883678c537b4e536b933f4758f1584cd1ea2af103a95e64f9de5cc5d2b30f66a0e6aeaf0baf530ebf995df96d69056ee2969b7ca1e50afaf346d46f4a8435bc7571f74b81e026eb71f92396dfbcb7d49edf4dfb238328574d3e7ea21d42340e2e3ce81885af3b2e7d6c0c9084fa8c8d4b0c840987712d694dc0d719675d2ecb69ca55b8fe313e149594a07e1b1db44c1b951718440b641d62dbb602a1bde5b9ac4b0951f218b7b6632acc8856a2b6191dcb026b3beae52a2dcd701bc03f091e0ba27d1bb4de45d0c13c5432b74079268b62c0be41e0d3dd4f7ede4c403d388ff7629b0c8440afad0c0fb31ebd6800e8fe106f9539b1fa5c977c1811ce282be54c4b09f2fba4c08d24d0e19632d8148522dac9e751127bae1882c6cfa1afdeb49c214a31649e700435140310b0aa478d7988c878716544ce31208f96d7b0310d3291b5e21a3b94f9f550d9cc8bdafc5bafd5546d61dfb2a1e277b8cbdb3c4b354fbab431e59810a28a807814e4a466196538e49ca245f81b248dcfe0c308eb18e2d433ab36406817022b9d3b153a19ce306a1bf21a76e0e0aa89b3e86e87db142535a67f69b724e6475e13114ab308103b738cf7c783f8ee5d550d68568786055719b942b07de735e4fe17becee65c0768e23ccb6f026c2879e9b6f664036c1ffdf22e78aa0d908b2d8c4af81d0243316810b06d8347518cb104ab988048ef75b2f342008f6fc32e924b7f59066b67f2a3d9a0780b7b1dab8269d7cf7a168b0f9880b427d3648e134b6d35dfaf671994535e944441331146d99735d6795601cf4215e956a9e07406addf43021edb1a06d20c8bf50e3f7dc6ea19c027b56af1dcd4b183d6c20ca6b4fc225008233486271b698e06545c395c8e6c153efcde2309c337307c5501204ea818b3120b51b7ced64bd1218a77105a613bde716f979670bf5b9be5d81e33ff48645c06de2d7827d8358525c13967c29001075f569aa9447102869b99164bc57baf6e94f6a3ebae123afe003d188c580613dc04d918bdf7008d2f246abfc906ff871cf9cb45f703293330a4151aafc7258b6f9c8f8ea117da470293a23a4ce1625c
+Pseudorandom shared Secret A: 260ffb66843c3753c39283559a67c0c212aacaf2c4eb3f8fe34a783d485f9f2e
+12045c85dac0c5ef84ba724409bae342f1dc69d4fec0fce2307b2905f6a90369c0b7d47d1cf14246f6e4e18f0fa5b4d0d420387c7545df49f828c9d7118fb312
+Public Key: f8216dd3d62d9a118ece9510007bc9647891c1b3cfd29c5431354629640dd06c511e8ba573c420fc7762ec7471eb96261ada59fb25b928fc309496beb11168ff7a6818f1265a8a1ad871ae0f44c8d7521dc2b5284e503f9f7353f0917b8784cfb570471da2aec54b22bfb475b8401d5e42a12f00116d4979eb746e8140c9f43cb9f42917ae4b8dcb4c056dc0ae03d35bdc55239f21b9c8279431a24698f8131ee8cd60d6655cc59042e65384c7497ea3a1e93a1580b9cc0e0c6933077eb1702bb468b0b4268ec44cc5889b1cc0e0bcc7b21abd4089e1621511ba5c5251c350abceb964619d592a5ad57d04467bf82603f3746fdd236e664330e1acc6299cba29ab89d880462ff04bb6e98794210b91b85641ca0e33ca3894826f51fb1de24abb5d1091c19967df874343995230442e46121fc7834605d6a67207995031659f1c3de8b1207ed78bc5bbcf620553aae57c21365d5d37a0a99514477c19f8fa5d4594765c3bcf2497899689aecdac863692053f009aa6b767c4104649247698b9818e85b067a3989168c416a3200c2a634eb45ef4468603bbb0774a92570b8aa3f818e3b113cd19a7ea1cafdfa86d53f1074c615ab1f46d3c30419c608f0b91b6bf1341a5760ad6799b591aa87cf3c6d649851a552d84f6c187e1afcdec07355183a8004eadfc339e6c59c9c525afdbc1b9213aa20697c5c35a75d909297c00ae156c73e148c2877f0ea810b917532864575960be30e5ae72d64bc3a3a08042c1c701c8a2d02417a286bd52a5d376385514247f26b14ea48ab038802db7491ee13cb0541ba61a51a2224b775a478cf8a2fc8baf61d66fbb3078e08254ca60ad48a31d27a0283dd058b82641e54a483370c1c4a550d62c40602a4f0719cc65650553bb5df494286276470af340408c1a73e67b949b4b48f44a231ac48ed8b0eb7123e0112364867f38c3aba4356e3cf5ce25fc5d38d26c9faa5cdcea13f5949aa3f03a0e16840a804124cb57e1f3941ba7a2dd384d89f42bdda33c09d5793afb6808a88c7575610e5c7adf99335c272606c21f79c6ad480217267c85e8956e25fc3e9036824c304790636c1069c6ff6b8fd02912b708362e8c3985787c67e110f18ab0b43610b3bc63e5000ab61bc74da75d89d956c105730af49ba263c7a562208aeca63b04724811374df3abd575affddb0c0e8858cb27828b988a19a9200dc35a7fb6a86b63bb0e53376ef8a5d796b5e445cf2d96c40d059a68f91bc74bcf74d9063802a8f2e27d7b77a716e26f976c805b296b59a0188fb53b008951e2596482936f45794745daa40115bf0f3208f24c29aba65f151206ecf3ac909130b5d3ca95d38ed1124c1297823ddc037ac65e38792f49282d9f0acc9004c1a1440f07f39a3fe55e15d21b1b687530f60eb15810f216c607559f6ee4542fba8f67a214b521882c30cd8b09b1ac70bc7d67054a443e9f786783971a0c322fb2da0417445f9470208f14591ef44dac029b0d062b140987759ca9d8b96296c20212d54593371f139521efa1badcc3857c46a75263260be801a407a6dce99c5803810b3584ab11087d228496d64f5ad99830d705c210575bf84d7df27fe5db82d9eb3de3e139294e48ee7cb676d780d5d21af8790acfb476ffea139740afd10012d13beb3ee6
+Secret Key: 322162c209bf5e0b303519a31130c7bdd193d3923ec435b2181b3a08d85579c61d3f9a3fb6581cc02cc08fcb2689a74d5225a62ceb77ad7c9b0d833a9280a428522107f8a16d4a2004a69613b0502ae7b6ddf60d156637f7019d9632b67895214148945a46af0ed18a79c02af79c9c911599c30c926b4133b9960ec8eb2842d372a4a5430ff267e66c361873571ff29ff5f8645a33917ff79323cac3376ccd2c2119b9958afee436f167b6b08b58e558b608b06b4978086101ca753918cd49c35fbc64fc68a1d183ba25111215d08260daa549c57dca3b4bb1e8b113b388930bae8a1201a262c18a320ca9175fcafa0826b6b95e31c44b88a881d80fd1e0064fcba5fb9944028991c7123048850f851732ee3614a80c942ea84f92741c40d1ac3f59ba46712b402224e4b29e0c6079cc48283d10c8f9668c6af70fe09c6063fc5b65bb9868c6440210b9fa5642656c38c310cf46faaabe95b0c73559cc03454d3074ea83818b4a1214c9b5c2e0b20dd06c44a7805d855bb2047f9111a979aaa870d17a36003217856d041a00eaa44d0490c1c0b934e550783aca1e57796482db6765e6b3c492ba6e678d265c2e20305b5c63c25f5632de19cb57215e7cd63db2e725bb694c8ed55d9e8a683bc03359818df8091574b0b1e64009264b8c8a79ba542592bee7c6d94524178995a85aa68a3046e18acadc3b5c01f8312b50045b482a9a9cad9b099e3a741bb6748a9f3a804b2341b075999f977ab6156453635e21bc904a1bae0864a388b96e0d4c5e2d5c9e103ab0abfb34df4315de06a258bc292439ad3ba86b5af3390ae24fa1184f96c08c86f27d992595d72b1c9b6053eec800ea08a8b049a4b8c604f6ca70d8b4c251689a01f27cf39c3e049b603b9979da773917f7bb44c304d9b17fd69015fdd70b2cbcc1c6441b6fb225c48a18ddea9c21b450dc74b2c1693767335b2ddcc0a79529b7998de1c297a2b8376330582020638f2a03dad484820a9b1d3147fc6a3e55123b7ae2339c040f31bac06899c67a33b75cf11788f98f54f8c06852538ac708d07b72e1164c76ca8216e9546043048f3a1e3baa43cec5576d032824b7c97f85957c081b12e9a9a4b59e5d673086a46df5f28f71a8a55d6033b7a20c1de468e1c5a084f53c840caf54eb6b2c09a84b02c61bb380ac760965f27ad865c9856610ffb16d5eb08a720bce5f1095e99a5c1c4bbdb24a53f9709074f34061b30130916d2ce932248229a91212060520f478634aa11e0ca1872242748b2410f734020117c489797d5e5991ea4cb1e4b6ccf4434062b98d61d991e6abb47e926a29264a6276b8d16b98799c4f3b47a8ddda7bae704418519cf1b75731f5ab6e29a0df63bc5f3c859e9011542cacae48497a096e16f9bf5331b92f5698521352239792327c29b04236bdb679b361595e8bac92faa49d67c44ae5c05aa01147b227086b9a994b4ceaa70df7883a16b9915ad21b93770844d1480e135bca21b3a681909075c07c2b6e7a9bbbfa51b74f7100e4a2bd96b9ab4a714b77246420f8b8d4390e1482c260183a85544d2ac973caf539067cbf4e6b48a30260bc272dd6918a4e68449e8b25c733424ba19c385468a82146f8216dd3d62d9a118ece9510007bc9647891c1b3cfd29c5431354629640dd06c511e8ba573c420fc7762ec7471eb96261ada59fb25b928fc309496beb11168ff7a6818f1265a8a1ad871ae0f44c8d7521dc2b5284e503f9f7353f0917b8784cfb570471da2aec54b22bfb475b8401d5e42a12f00116d4979eb746e8140c9f43cb9f42917ae4b8dcb4c056dc0ae03d35bdc55239f21b9c8279431a24698f8131ee8cd60d6655cc59042e65384c7497ea3a1e93a1580b9cc0e0c6933077eb1702bb468b0b4268ec44cc5889b1cc0e0bcc7b21abd4089e1621511ba5c5251c350abceb964619d592a5ad57d04467bf82603f3746fdd236e664330e1acc6299cba29ab89d880462ff04bb6e98794210b91b85641ca0e33ca3894826f51fb1de24abb5d1091c19967df874343995230442e46121fc7834605d6a67207995031659f1c3de8b1207ed78bc5bbcf620553aae57c21365d5d37a0a99514477c19f8fa5d4594765c3bcf2497899689aecdac863692053f009aa6b767c4104649247698b9818e85b067a3989168c416a3200c2a634eb45ef4468603bbb0774a92570b8aa3f818e3b113cd19a7ea1cafdfa86d53f1074c615ab1f46d3c30419c608f0b91b6bf1341a5760ad6799b591aa87cf3c6d649851a552d84f6c187e1afcdec07355183a8004eadfc339e6c59c9c525afdbc1b9213aa20697c5c35a75d909297c00ae156c73e148c2877f0ea810b917532864575960be30e5ae72d64bc3a3a08042c1c701c8a2d02417a286bd52a5d376385514247f26b14ea48ab038802db7491ee13cb0541ba61a51a2224b775a478cf8a2fc8baf61d66fbb3078e08254ca60ad48a31d27a0283dd058b82641e54a483370c1c4a550d62c40602a4f0719cc65650553bb5df494286276470af340408c1a73e67b949b4b48f44a231ac48ed8b0eb7123e0112364867f38c3aba4356e3cf5ce25fc5d38d26c9faa5cdcea13f5949aa3f03a0e16840a804124cb57e1f3941ba7a2dd384d89f42bdda33c09d5793afb6808a88c7575610e5c7adf99335c272606c21f79c6ad480217267c85e8956e25fc3e9036824c304790636c1069c6ff6b8fd02912b708362e8c3985787c67e110f18ab0b43610b3bc63e5000ab61bc74da75d89d956c105730af49ba263c7a562208aeca63b04724811374df3abd575affddb0c0e8858cb27828b988a19a9200dc35a7fb6a86b63bb0e53376ef8a5d796b5e445cf2d96c40d059a68f91bc74bcf74d9063802a8f2e27d7b77a716e26f976c805b296b59a0188fb53b008951e2596482936f45794745daa40115bf0f3208f24c29aba65f151206ecf3ac909130b5d3ca95d38ed1124c1297823ddc037ac65e38792f49282d9f0acc9004c1a1440f07f39a3fe55e15d21b1b687530f60eb15810f216c607559f6ee4542fba8f67a214b521882c30cd8b09b1ac70bc7d67054a443e9f786783971a0c322fb2da0417445f9470208f14591ef44dac029b0d062b140987759ca9d8b96296c20212d54593371f139521efa1badcc3857c46a75263260be801a407a6dce99c5803810b3584ab11087d228496d64f5ad99830d705c210575bf84d7df27fe5db82d9eb3de3e139294e48ee7cb676d780d5d21af8790acfb476ffea139740afd10012d13beb3ee66ff7b11cdf65e07019cc8c045b586c107256c32d45e2bb175d94b7a1aed95c1dc0b7d47d1cf14246f6e4e18f0fa5b4d0d420387c7545df49f828c9d7118fb312
+3e64a849992018f942d71af061c9a1f57a7d09dc249f5dfca04eed0ec75ef2c9
+Ciphertext: c184d287234494ce78414a33c6bab3f0409a0d2cec115bed5a5f2f3c659130063a0f2fcc4c4cef0ccfb89eb9a6a7d184701c036cb38d124a0bd68d0446489a791274970fd30acde5ffd0b194cba44ed543f0ea0cd48b17163d00c25d34b2bab841b58acd025eb91c83a568bff0d099d608b484646485fbe9a70eff1309a5deb19e3705d6a7895338e1d73d57ca27de7275549f57bab180d6d2da0bb6bfcf7433c454398f31da235564f924a8ecf8b480be79ee3ab4fae6c072067fad0c59b3a2bf1c648c175589d9815101fa50588f904e13fddde03b89808b5f8e4c0a2c11a5414090ecd0ab27821892bc668cec9214a8e9fe755466ccace0f5c203675121b3009c90634099939745b0a7d52dfc0e1acdccc0d84805651022a636b8a4d9c5f334bb37a0ffe8dd43825831d7449a6d02e338ef8a4c996f58a3fb540655537b0b77f74526e314e3ffb761218259777fd19534da5ae0adcf1b4d5ddfd82247d5b855f226efc3977d42ffd8f8a82f63d1354a5192ff00f8b877865e78e64eaa0b2f6918f7d0bddddaa1787a5bd4a6ee2b746101bfe4b4aa97bf862e4265f60222d2a8cda29122cc7a7112655953ddad98f5726b1f352c3e6126502d186a53c41092cb15eab7bdbe822ff9d9184c460fd4ba82120ec07d342b55f4ef1e14292133425b3e3ef7604c369e672819cc917537627f5d0c278c75d3ef7ef1834cd7f8a57d97cff4072fdec975b0f659940d1a51d33f2793dcd687674ca7a7c7da8fe7aa7684f058c09e5201613cc8206ee2ed5b335e587ca388cf3a1c61d9fec92a4e37628f8c419567f4c5b5f6f6063f653abc0d7b223f488038345e466efce1e04fd86e2825b33a2df4fff4120af942bd30df1880bde580d7204b59098d0feda43781d8c5b81ba92d5150aa05ed55750f742a0cb5010b4fdf3c5e05ba1ee42c75a9b0237a37970cc0eda80e7a028f8023c9d872ab056d22148e8cb442aeec4ed144083ce445ab56814d085be19ae8db63e9c24da2db676b6872a079c6dba83d934b64964300fd6180fa377eaca8b14d179772fc77f7a9ddf3e9dc2dc1dc0a473f83d6277dba071b60e07386d0cc6f4eb0e9c9c2484646367b7ccac583b76980f43f2afa63b316323021eb3146a1197c7e079775a66c274997a0132e88d8b3801cfd1358e2b8d6e9e0253e6f25699f92cb5dab2a0369d1d457480fcd21d9798785704df572b9069e8346dc4783b67a18dea2d631d8340990ba9735eb108ebe45a60a7901c51767c2e4433714498b8660f5fa2aa6b631663b49bae9437752986406574c45e1426b92782877035d4e7f8127f0d52be1c31f9c93398e0b12b10813fc8c0057887e85139a443606ad8af49667d61f2628682f226cc1af99f595e255dd0cea2d6cbf185c6d58c722b35bd01f4cd581e271ef550c65dde595a9b2b03c714a4fda588baa1d63acdddfacb8901cbd55fb4bd5028c7b51fe1bb87e022ba808abf5ad32fdf783333a1c89130521ae9a3e8b7f1b33a5a9f9bcdfccfa1053b8b03cd442
+Shared Secret B: e38cc4e8fc892aaae612c91e4b55c57f3a507531fb8c298ab3666453c451b0b7
+Shared Secret A: e38cc4e8fc892aaae612c91e4b55c57f3a507531fb8c298ab3666453c451b0b7
+22fb0371dd8c51de32be703a4c9a9f9c84c9defa261147b70415db3b861bd72d9393d6e057dd8a5dd6e7f07cd65980949df8f9b4d4ffcb200141f72e49ba744803ddec58630f26d6bba0fbd6a88afa6bc0b5fdbabd2994fda7dd8496284123decc902acd585381545351938b50a4ff44c2b2db999eed02803e906b0b37bad681c5482a60160c4bf74b0d599969f43e3b76c01729e78e047886a7505c3b55bb11cebcbcd4893a8bdf45baab67e94e00d99b6518008f58e0eacd0d8ee0c7b6859af378ec81ff214e8303f9da10fccb32cfcfe9e5ba200bf71eb1aeb7709d935f89c0dca256e73735a3a5e88189ebab713fac88b53283d54a2969fbbe2730424ea871523c277215bb07fdd1bda0329e88c1e8efc06ad8960e54bc15e4f77189b141c20cc5d4cb1375414c676aef85cb3f844696474f8b7180ad530aed677047ce7c4746948b21447bb7fd31a04a35d96c770a2a7e7e949836d72075455059464225bdffcb0ce902032ea59be8ac44b5f1d47fa534399ae62837ca5de822bb3a65e251619fe2b7d47d79df6118fc3d181e71468f39b8f839078ce039b79d59203974c3f3168025186dbbff1d43b0b196c156cb94451dc2eb13f24f427bc5d92c1df505c52bfa3e6872ac3298a6be9e1a847df12f98e6ac6ac16c538529a8539f215130459df232fd81453f1f1abcc437c8f661e9d53657084e48fc2647f7ff9bc12139480c80c324d885db80cec6ff3ac90ee957a09fadfaa228d3efc8954adc8b26d5216bc3d72f44c7e0e7c02f913537a131606d13e71f9b2c0c701cfddfd2b337280152cff6f9f2e2ad8775e41ff90ce6fc6eb74dd1265af2550c70a23648f68cdbf869bf7f78bd8a2817e80d3af53877a634bda4e3c878df5af3f72f7733455510e198db8884cdad21ed61bdc9dc9de0f7c8b80ed7a5c27bb5f25c536d651f2b90356365f2f10904031a67d74e5f8595404f95641453993841fa8beabbd451bfaa61919201d0dade73c8106ca78f9c422d1c5ba2457edfdd627c3ff8b34be4e88a22b2824a17ebaf09a753ed194c0bd68bb9ea4ecddd14284c03fda9ebbddc1e421768b8c25baf47ec283f29af2132427a78c6e55d81e1906ec0d6737c213642b24a5fdf33fa5699ff181047446715b80f29f561a2a587ea705142f8ca953857f765c7259eea2a372fdcbc2a82a0c8328a31df6ed4244fc63007968a0e4d6bc76220f4e194eef70f200dd09fd9c0eaa5f8eac1e18b5f4ef9f3540205d4930e5bbcc47e50c95a4a81e3e654f39533f5e9551988109c6f1edd82a8ef9b09b948c7eaabcd75e53ed7f57d19964ceef9189ece98c4838e6411fee99263a5af2ac153a67f660eef75de943f5bbdcedb4c8edd181978028168ba1015918b30240d90e1df0c8da10bdeffeb230be6a3e8b7e367b229fbaf779d2d9801e17e2218567ce1dcf37c6b65178a668b064effb5326a5857d9bdb8b496def177ccf13210992b48fbca9c394b6ea8aa5945a6247af5888bfb85226f6e7bcece666af468ee9375b1
+Pseudorandom shared Secret A: ca8b049562a2e7c1bffcc9d8a266cb492d2cbe8f7ca2e1b9253975c45f721617
+b9117b5bc018fbe744e9d6026ad385bbdedce228124afeb6f40fb82df3a6fd14bef48667a754c12bb181243a041f7f82d4f4056a4ecf0229b64b98d215989a47
+Public Key: 5cd292d0c63a6ec047a3d51e93d4b2d41633a051b10d9633a32a2c1c16856ba478a28422a507b4356732206a7d08f700cfaa75f18a3643ab430fbc611adc22de36a0aee3139cea9bebb31cade009be6c8b4dd2b4c39cb2d1e38579739fecdc5dba5253205294a28837b2928141e744e70ac003800b0d1baa8a1cc87733a458a336a2c57b1fc50590a2076a4505425b9db31917bba20e77f477005d965d8698f951569500c91b241845a90689048ad2ec0b42ea6673648af20711aca5696a5c4552a51c4d9b32d69a2894338db78a686bc128e7300bfd1783ab38702d638484199891db9306981e65fc948a99449e6099d53ab4d8b2a0a1770ea14254bcd68fdda9cccb483bd63c75082352497cb571077204783550a120fdc02e213b3916955b3af45d7374795f1a2cf8f2af477772e9e53d0a67510b52ad44944beb32c3887a723c5c3ead8217af22975176c1e403771211a4a6304d6a1906be651b24479b06a89ab18889184cc8c9e900902938d9c00b52bb45e2b30e49992cde300c380a14b88b344465b34b90940f343d75b844f2d143ef40bbd50878ab77616aa76e2ed427e3013951498cb441633cc51998042a8e060c5ec061672202d5082fb670194df33c54f33b2d046785f478f4f41175117a4ca5140a7a9690d2954f033f5c18954687c5382064b65724d5446ab204747332bfe86706bdb02720004a4b9136ce792f8223563ff309bcd5c845b18059d9893642c0f5ca088736a75fe22366068181e0a16f6159129a26467c6633728830655ce36682fad091bb31cd17802c178cb5153a8eab386d7eb68d9479b2dd37a3fdb638e9fab1f1887fbc028c2865555ee059f87056a9951a807c8ae5e67f700b5741ea8fed116cc2ec58213109bf7007e1bc2daec6904839921ff162ad3487b7d3956121b6a0f1550585a81f041dc7f0b38c24bc32e493e47979dc20c8e5f47e4d29a653b688c430ac35f68f07193e55cc52ca7653f1d7c0d5f6cd40fcbcc48951b7c6b06a0a7bd50670461558ed3319c37a5d14650c884c0887cc6bd030a32bd10e81864ec845c0e3633abcf156072c8d7b772555d8ab6a32c1c8d7c1d2996b58cb07c4a890f8a74ed4042d80346e42ccb248c019fa237f2481a2765723838347dd36c4c924bfcaa1c966dc03832a8677b5b225eb1ddc5b338a8ba25dd2cac43197e41493c6a68c7b38219ce94d0f624613c007172c4627d1977fd72fd6cb5fbaa280ff6c54553a4aed2072bf8bb991999de4503d60e71b0af1056d9244c749c1316bad783c2a7b21970d1b1958f63f26bc1a925aa5ed146661579c652283a752af4f990dd6f6386248c66f25ad1e950052eb0a00e573aea4a01f486453ca23fa8a0ac6533d11a34162155761280931781bbe967463ccb920678fb8811cd47386f0cc6fb2eb1e98b7942ff95c45818d9aa12a5cf80ef0105d3c5b0382b3284c7b6bcf060fc0362f97764a0ca0c2ee6aa9cd1461c280a8fa202a80946a66c674ba89261833065bec0e75b4aff6163ced88475f49725d5630ca05b1348a25a486649bb73220b35c433a996bdc99fd2c0031949b92f200c92b15e90434c3170c8904b19030cdcffab3d55aa0ee2622dbdb4355cbb8e2568c4b0865bd8b0c59cecb59a9f08dccfab29cc8dfc84aa2e1c6a9a6
+Secret Key: 64402fdb9783230a486630add7db3de795291cf12686e468fc57778e113f4b3ab470064424f78d122519366a3241622061c47a1d3b2cf8a817d59c9c64a9c6b37abf0e0814b8db5d942691711c5306e791751c59aa59106ad7967863bc1ad7341332b78970c91f635d437ca253e824dfd13c6ddba14784c4c6e33a6f93ad2e29452b5a75ea604e82fb3588aa40d0453f4a327bf5a1a56e17512a008f349a8e0a07c045a910e42921ba175fa6f69fee56ba19c5993f37406d589c9576007d5c5bc64438949ac9c5202c3992bf87296526c52a1bd8a1511a295940b70c678908d34715f610a2d1cbe3a95f27e062fd597f5e652f7e40079d55b7c6d6a44457be45932c59b228e31962fbec586c1351916a83e3b733e8313e4a964761ec670341b2129277cef22cc7d17d367c3c58a3a634f17d02218ff6c264f0d92c15d23e0306d026e4cc1c8ac9e110b09a005a7fd5288a4014d6ac8615c0a7b5d352dfd6cc63a0c93f8770ad043b63575e32a27650d7636aa79c6fd61f2d55c271f00251c897a25b3b93bc8527b57fa17141cc825fb771a98bd478b2cb14bce317a3573ecc33b96ba64b88f50df63880baf822e7d74de1f9a56a3ab86f4b5e94c8a17f822b52db72aa0169bee6654ab778524b3773890fee9b39d6242351588bdeb8bd8e9ab9cc011c10a5625a834a7f3a5db3b0c2ce577c8ff6357889c9d5a5c0e0497f07b4c01d49943af44202771835c20ea588c60f4c106c00233cba6aa1516f6b40a5d0b8cd1502b2d9c36a09b067ad8cbb834281274884f119448c13bb06f33c26b44d660aa76f6c9056b6087c1b2b10e973afb627cdb8936be0048af9768556374b2284af2b57dba9bb0ad51a4de8b877e53a323aaa33ec1109c90b98f28f6a294840e02957643cd8e03f37f9adeb0921c924519d335084d054e8a333dd5c8002e330840b2f36c7bf17b2560f453264e839f0589cebf3287b218b494aca2471478cf359c91594a1e49842d765e914cd61a801dedc85b6990cf8b188f999200cec168dc64e39d65d2d1babab3c5373c278b6ab3bb1863503db941dd8998aa1c3c69b0aa7bc83f73b6226b71d154c9adfd1771d44a2fde39d24002a4a5226e68785acba8283d5bcb85b2193e88326744a06f59ef9822c8baa40765330d7b878c94402ab0ab864c08bfddc9ec2e5166075030bf907ff7195ebb37b7a30288ff1b7368580f22b70d7012fce8c80e7a7530ddc34d92c47f6bac3994c20cdc11ed406745e55b1cea393da75ad15202ee90238032aa5aa68938aa11c77d8bb08c266041c216173245089b47c487ddb050d12d52a0a8b52c0e578406b1b3a0664f3529ef62907b2a9800e381099a43cfc67913f656c293813a0946b95d295d425aee10bc3955c82b74a79516b7a263033a11cc85ac89cc04cae5e88c9e8573290d0cfac0971c3284d7bf2a13c94b75285c484610d9033acae4755b9c97d75c1bd4ac2c4834278357cad71e6591cdb079fc9ccd7953f26f40ec8e3aee5a3b447b86e0e18beb2242e124846b9e332e4d3a377420b2274bde9044f30d93cf1140db546a5ecbc688eb16ef7a5b2bed82e747b913ee414d5a4bc16c46a4cc326bba46a6dd25dd7fc7f5cd292d0c63a6ec047a3d51e93d4b2d41633a051b10d9633a32a2c1c16856ba478a28422a507b4356732206a7d08f700cfaa75f18a3643ab430fbc611adc22de36a0aee3139cea9bebb31cade009be6c8b4dd2b4c39cb2d1e38579739fecdc5dba5253205294a28837b2928141e744e70ac003800b0d1baa8a1cc87733a458a336a2c57b1fc50590a2076a4505425b9db31917bba20e77f477005d965d8698f951569500c91b241845a90689048ad2ec0b42ea6673648af20711aca5696a5c4552a51c4d9b32d69a2894338db78a686bc128e7300bfd1783ab38702d638484199891db9306981e65fc948a99449e6099d53ab4d8b2a0a1770ea14254bcd68fdda9cccb483bd63c75082352497cb571077204783550a120fdc02e213b3916955b3af45d7374795f1a2cf8f2af477772e9e53d0a67510b52ad44944beb32c3887a723c5c3ead8217af22975176c1e403771211a4a6304d6a1906be651b24479b06a89ab18889184cc8c9e900902938d9c00b52bb45e2b30e49992cde300c380a14b88b344465b34b90940f343d75b844f2d143ef40bbd50878ab77616aa76e2ed427e3013951498cb441633cc51998042a8e060c5ec061672202d5082fb670194df33c54f33b2d046785f478f4f41175117a4ca5140a7a9690d2954f033f5c18954687c5382064b65724d5446ab204747332bfe86706bdb02720004a4b9136ce792f8223563ff309bcd5c845b18059d9893642c0f5ca088736a75fe22366068181e0a16f6159129a26467c6633728830655ce36682fad091bb31cd17802c178cb5153a8eab386d7eb68d9479b2dd37a3fdb638e9fab1f1887fbc028c2865555ee059f87056a9951a807c8ae5e67f700b5741ea8fed116cc2ec58213109bf7007e1bc2daec6904839921ff162ad3487b7d3956121b6a0f1550585a81f041dc7f0b38c24bc32e493e47979dc20c8e5f47e4d29a653b688c430ac35f68f07193e55cc52ca7653f1d7c0d5f6cd40fcbcc48951b7c6b06a0a7bd50670461558ed3319c37a5d14650c884c0887cc6bd030a32bd10e81864ec845c0e3633abcf156072c8d7b772555d8ab6a32c1c8d7c1d2996b58cb07c4a890f8a74ed4042d80346e42ccb248c019fa237f2481a2765723838347dd36c4c924bfcaa1c966dc03832a8677b5b225eb1ddc5b338a8ba25dd2cac43197e41493c6a68c7b38219ce94d0f624613c007172c4627d1977fd72fd6cb5fbaa280ff6c54553a4aed2072bf8bb991999de4503d60e71b0af1056d9244c749c1316bad783c2a7b21970d1b1958f63f26bc1a925aa5ed146661579c652283a752af4f990dd6f6386248c66f25ad1e950052eb0a00e573aea4a01f486453ca23fa8a0ac6533d11a34162155761280931781bbe967463ccb920678fb8811cd47386f0cc6fb2eb1e98b7942ff95c45818d9aa12a5cf80ef0105d3c5b0382b3284c7b6bcf060fc0362f97764a0ca0c2ee6aa9cd1461c280a8fa202a80946a66c674ba89261833065bec0e75b4aff6163ced88475f49725d5630ca05b1348a25a486649bb73220b35c433a996bdc99fd2c0031949b92f200c92b15e90434c3170c8904b19030cdcffab3d55aa0ee2622dbdb4355cbb8e2568c4b0865bd8b0c59cecb59a9f08dccfab29cc8dfc84aa2e1c6a9a600a45f9c85f03d4bbbfcb0ce97f21d68c2ca50d4518dcdee3e25970c48eaf3e1bef48667a754c12bb181243a041f7f82d4f4056a4ecf0229b64b98d215989a47
+592c2dd23c7a95cee0e9a5446ec0e3781ed06f718f29dd84802cbc69f1c16509
+Ciphertext: bcd9b6d77d227ef844306572fe11c218c598743a1192f2d8ea5719cfec4669c982471a3010f514945dc697aa5347d96b35df60b29f5672827edaf74ae5da395ae33f68c95bee515a0a528ecebd2f92e6b21586ab94a2470db377cfe20d5747b8da5aa6e48a3bc93f88c434debda3cca71c9c1a29aa726af0a26ff202700b5a849d28ba82d86787d1962aa44897c1ae72a0e0aac5dda755bfb05207228588bbbcbae369366cbd5af8033eb089141dcb05c2db1ce6ebf7a95b1e07373a2f346714b18448ec5e1f4c9a49dfd608d5fab76571d6f209c7115cca2a9655dfc3a24408a8e1c0924dc8f6f814a5a4c8e68b3da25dbd071e1e2ce674def0688d0aeda7510c6d3053a9a4445478bf7b75c14a9f696254b11c694fcff0df36860ac258beb29fb71a8e28098ea637e2cde2db60bf54c49532edfcdf887998eebc0c8ef2af5753735648b1f48d47255aae6169be982e6d086c6408cf3ff99a3e5224693088a1bc7962b4c64be14ba13b1b018b039010d49d450c27fab84fca79dcaa40b95d986b20b39c9311329a9cc36a2705f3bd1d9016a30bde5f10565b82d8b10c949d96b8c778387608df71f45db15a13f64219fa836fe2bf60580500906c52e547f9288aad25900e0b1919ad61aa6257036b309599019036a22fb18033928d95e2252c64d0871e49e0472400e6c6f3f4cfd48a5a504e7525e97304547fe2a7f25de11532504f03fffad373d4c169edf67bce2b155653d6e1fb6c1eaa1b184d8220fc52e08350583c77619bca83502b533710bfa21431aa0adf29cea127dda6f2d75fd76ba0034ce9b4d74238a619461a30f218ce01aa588a9f84b81c9941aded70dd88198bfce752785e80cb5f1a10da1f08f97ebc67670f8fce40a751ecfc096f060b594291e8692a2ae2c835cc8ec9e3cd9820b244bc8e16d20a5d75d4cf3f3a1fc368b0eab323df0f30fdd277d7ccb04ee851441299d5f00cec52fec13f73f19a2133358106ff3755e807190f265c4ee8aab9c032b4fa785b3f3dd427a1c4215d6f8e4395f65e61376a276515c0f4f0fd965c35f61fcb007e0d43dfae95734eafdb6e6f0e37d1f86f94e7d3ccf36449d189fab2da99f80a950ea183683692da9a1e729410cd190861b96e0e00168a3de26ee20c97da3123791d9158d3849842eabeaaa199842b3ed03b5cdcfce93c349239358702423f368e799583719c9d8048b82298933e4837823a4f8e0a149e4d7c689cd265774a55eda863a570f6fc555365899f20a0c10bbe1a22890479401277e7f9d9d54b2ca0ca6c6d70daf641a8fd079c0f57ae76a6acc6875cdcf067f353a181012daa57a21f341391e3207fdcf090c003d832eb5f48f41fa2c81860220d7c03b73527a260411971db73e679c2365e3584090c7beb7ae87e2978e7ca9debd61e1fa22211a0cd7cd76f3a5df0f0f29c3756e3b3b89bfcf46fc09b5d8e075fd78f552ec5896eaaf7424ef97b6e6a9b44530e204a7555efc378a857ad7c5b0f674032d65e2594f75f8ef15c3aa2a0b613
+Shared Secret B: 4cb24822ee53449210be44df2cf3ea0be9869baeefaf8f248d87b1c7ce35ef83
+Shared Secret A: 4cb24822ee53449210be44df2cf3ea0be9869baeefaf8f248d87b1c7ce35ef83
+f1396ecb9983c6458e3b9a1c0766c00990490104a0f560147e09000229236a8b1de7bc6f84fc3069cac440aaa207f3c50b79239cbdd0f4615f1fab4ef06a372d0d2e2faa35fdb4dfe4538f573ae4bbf7bb9675d97c9b496aade7dd4e85473feeb03874f936dd2825d7a1dfeeaa2617ed7e0581c596550b6f23bb4736e996306b126362736c9a45af009ed11963416098fa65a45adbba522b6eacaa568a98aaacd3ca48e820d9b98b8631d9a00dd19a3f24fd9de1eed9c099a340dcc27880816605714806b0dfdf1d2c366db7e89f18347b30ac18db840b31eda8e2ef32dfb42529c03ac89ad1e5b99f5be2cc0173a6a9d3811a7a83ea5802e2cc081feddf15b76ab5266598b1dd4911d3a984e415bf5ec962d34a9e5c467a37645554a1feda8f2242a12fbf52ad3be6aafe1e69e0f0e40c576583890d728d363b42a92cdca2faa87762cf27e0ee36517e73e20c8eb381600fed9c49516ef46d28989a79c8f27681a3c66a4635ba093fdd55970cd158098501ba976d3c63cc702dd8557859b58995b97f1beb7d092937b1c971c1744cc34caad365bcca101bb15b0dc2c3cbcc901e616d64f9c4da8bce3505b5fb8683ceb520617b0da3ca8130eef49f92afb15cbc70fb5bf8236b283077ba964eeea2db8ff3397e549c672e9531980b4137adcb97c4d9e71e7d5fb0c3d3fc7a1c5ab5a21197667a42fe7f3b781086f2b820992c00198b341067f3954848c1eea4bedf6ae2129fe6e23ccdc113ce3cdfcf4175edc9d9e45a3c7a6a7833e3df3d5a79e236ef2f5d35f56f675ce16b879ecefec0bbb7d67ccf49a20c6b088173d5b5389a5764457c7e988335ec5bc7d17af61cc6ac733e3a71af614712a19e7d2ba365bacf8ab93c53834fee9936a0a820a6eec373c449cbaa46ad7be5832882c77eba89a3f8eef994622509df29d8c3b10c58f919b16d116ad037d69bdb628e59370887e97a9290ebe8c9d858ab8a342dd1bd2870efc1710f53fc91e584079ddc8c52bb0e71777fcb922e84fbe3cdc054f2431dc0278f52d2d1431281012dbe5fe19da83cb061753fb9c87492d046bb2d90b40ed16ec0fe4260d15bbadd5d7612cd3b78b0087054ea4140888605b30acfe6831d965bc891a7c6c03c01c2c49699a8a774d867043846b8889d6bad36214cc7c4ea2d9c5850e0b72ed003d44ca1bde4fc647f0b3fcdd1c265655034f19d428b42667e968e27562568cf05cf53adbc724b8735da074232e7a39ff9233d31c6371f095ce1dd06b0a2621624c55d3684316d332e17cdc61eb59c00e0fa812030568cbac6df242e463ff23c2490e948c6726f2f12c584f1c03b36afc595b0ea3f868ed2b39c06ad2fda6b93a8c45eb2eb9f78228a8a1b06acf2e248cd31a04e82f5a9e1ae3cc3dc38dc3e8e825620e455d91d61c9a8355402a29c386d692eada8e49430b3aebfa6df0d28ba8f945d7dbaf2c4f9866b92bc9fb87c6ca18fd5c7546d36ceb41fe10c589d8245ed9d2bbfda194f30b3143d2c207177198ff1edbd0d9edb2a5b
+Pseudorandom shared Secret A: c0d44ff3e7967ae9b6b8cc3defe9df60e5f3532e45cf5411f178cc1eb2f406c2
+2f8ecb691a645209a3f5df9d9d3a20b65c20db4dab407f569d75d0160de76d9c7a17372eff85c93c07da14cdafbd7081099c714f8b1de21889257861371456b4
+Public Key: 45a8c91a7504d087a472132c85a4a553614b355026c3246ab66961c1889b3e2739ad349112a1242a9573569540e5d18cc019b9649245fa7564ce5447d6227507eab6e6d41a6c125a95d33783539d11f75b0c328b9d40195168ad9afc8208187033c4c1c05b1b77b44b2548720c46074b5800c8a37581b219ecd308e5e0326c7b545f784311bac1e517a3145510c1a13cc78c77c28a64c352b7d9d41474011f162503800a8c63c10ee08c762b24c50f62a7d5faa4d7002da19a049b81930e8010b359307e013aa4e31b4c7a3cc8979001bb317a54cf28247698c67f309c452ad176a719bdd617afcb4289a6eb247bd44ba9c208db584253479f143202ed9760b05131327a945bf45b03866532c3244614b385156d0303cb8d7007a4f348642c542c521e8c2ab29817c2630884cb0109108172a2c79e01906736e2871c178c722925ebd550a9b84d2a9615fcc8c0194c4b92783e09a9a92f5845093ab45c152246393209b84540f61f262a0c53d792ba5904f2f4615748a945a864bb6a7b14623ee9b50f0a910396ac0646816957a8b44c5c987f8245cdf080579cb17c7b9f57771c963a0de2a0945549cca0241282f07ecb2c2e6ce252bf618819f8c04a9146cdcbac73b5085ef34cb3284eaa7a4876da75426088b5c9cfa9b707acc04e61c210ce04adc93b10c788695dc868a7a21a7d95ae153960f1a41d0cb03ec9e2b8befb5b43f2568ef37013b89c742b9debe9492ef355f674a4c1385cc44b0648cc20d6648c02712b5dd2ac12d2aec5839d94b598e5b2c1a8a83d940898ccf2474399599909b2c12bbae591c73252c4b1152bb921941c98c64c3172220c9ecae308d164341d7cc3478490ccf27097c9c140d57e3cf12cb29118b6697bed8aaf0358a052e3644dc19944b9b4bee43bd64976f9417ded11a5f96211ccfa7d0d4275c14ac13b77235219a6630b333fbc7d5eb504f5066042b770a6d42463a2bebf50463c0853dba877baf29fc6b6bf79a7281f8697fb940fdec580ebd90f698a69d8ba6a5e40293bd447c929b8621806b2886cae52a0e481551b1b2393c17dc82962e02bb98ed019370013c67a830b7cbdd96cbcd12a1f445aa8564888e3fa2f9a851894818598d2710482688b690bb15a0919d5225484856aa5aaa4ca1b5d891012aa2e6b81ca40c2542c643f67017d8f4ac27db1337aba54b4e0bc2057c446f1a9d2fb2f60e73d29e0cbe3eca427b580fe4910438340b1e18192415b81695662b17e5915a8ae2964b6502f39649cfd2794db9ba39397313a86486549a07ba8696e35325a24ca599735cae6704e2672c212602922b94244a287d75c1333611913a9f13126a23226f9e800cde060740334972646e474686a7a3e5d6b82f6426f5f0b3c8853515565b6832a6b578481ecf78a850caa528613dbbc760b1a7ff0f584928411cf763324d3797451ae1988809a681315161ffdaa19f70c1cb437ae3c728bdc1126f01bbac3e843f29c2596208a559c2e86d5951d445eddb841600221cb6610fc476df502464d044b7f7c91756c167caa1e0da6cdef478aa7c9032cdc75e18739a95781846457e5a33a22a2b6e9885a4ba858e076cfa706b737bb6f51a83637e5c7e756ce075395a9ba84c952e09a85dfb88379990075394d670fa4adf5f6dd94c0
+Secret Key: 456644c25671a9649f291847db0b4995d015caf208084003833b660b7716f3ab9aa1d2a36ac39208d316ac386e1a602669e755bc626ff3f4a19eaa557c02b1edd541d22a3ba453468ca30494c4ac8de78811e2ae5b3794c8b4b7b1b528428acacda327dbcc58c28728d6a10a6cb04d50d41d99832005eabf49613c31251957338432c299bab3385c4684ae84b9d289af5dc144401c75d731288890935a5c082bc0ca0f5c939ae56849b688b6fc75a1f6a43c6020d5bb641bc7c505a949b2e89052181be17973fe4312aed403ee510a0db9001527bf49f9b803688876e145a6a416a6221639588d961a5e9c9253db0c4b3630536108c1d06cc69fea6533227f6af841cc8a9bab8419c9538194f5bb47d6a82aca7b52971ea8b4714c0a8dc1392643bc4d385636c99ca7da3c0a6ccc41eac9190cd150808b18ee4906f05463aa6937c038ad3e2ca4b0294ffed1b44cd6b59c012ac3d21917e52d9a65215e49cdf9cb884ce784edd24364c8817bd83716e94b109c5b63079ca4e095c2d09be270347ff9be4361ad7d5214fc60bf69672c2bbb00aedb5671a06e639ac6072144a41342d05b20f75668379a44b2797ed1fcb0e8085156567f702209039c29bd756ff5e4929e45bf7c13afe0f1411533b67746a4574705910c12e9881601f956ca8a71e6817a11f94b24e6c6b2fa9ff5f63aa326c9ecc613b3a8aa2a888474138c50f25746944a26c717e1f89219f43bafd841e8ac5dd664a177a8031dac31c184c23ab07d0ef968a8094db3e71dd594687f2c5d0e01391b96619b403e56fbbfd627106a133ebd6501a751a1fad24603295f31b034f2371b50a5638df823dab5664f0a5358a7b34c0395fa43934552b9c8190834ba8b110204bb4baadd3249bba42a62e24b1ed4575628058ec94065031ef8d439d0d36b0ab6381dd6941867bc7efc79bf7a8838fa438867b8f340732e3970d81a45c6f7740d7c9e97985fc2c7408893b746c42a8ac5987c4ac22300065532a28b17b3f8864615e56b1311cf9242c62a94b574b31337cb36ddc12894b2495bc61a39e49d29614b394b249a13a1b4170712e4be73a074f7c7b9db25b488a296020c3fe1d1682f10c565587038b4808080145a766ae6b180309b688da22a58c38875d2b35585315136a010f637f1398ea1c22baa153247763d1fb56f1e5a9682796b5ca09c1b950a778474f560a2a0c43136c7b1b672597113043476305bb47b8cfa1e4f72924673a3760acf1a70382a2c7fc043b783e247aef56ac5d1749f7142e7429dab3a477086327f0a200b009c8542a9aa77501dc489413483c2d74a37bb36206c8db4c491c25882adb11916363806da89b78b8a8bacb44374315c10a6537072672221e4b8378e9cb01fd6794278ca2b03bc59cb93dd9c0f00791b793649a9d74c7b598a35343f4f8454fe4a0e565518180b7bd051b522e0a3fdf79a801ab2f3918a19a05bb3369331c56bc98a0bf1b750c20486f7fcbf17778d28c4ceafbc65af69195737884d309c5c4770d5f24649b69483d842360b4b16096786726a28658e06d29db650554006a7598a99680b6a6687b527c48db08034f456961d8c4c5e28133a85ba32daaa1e3559832cab45a8c91a7504d087a472132c85a4a553614b355026c3246ab66961c1889b3e2739ad349112a1242a9573569540e5d18cc019b9649245fa7564ce5447d6227507eab6e6d41a6c125a95d33783539d11f75b0c328b9d40195168ad9afc8208187033c4c1c05b1b77b44b2548720c46074b5800c8a37581b219ecd308e5e0326c7b545f784311bac1e517a3145510c1a13cc78c77c28a64c352b7d9d41474011f162503800a8c63c10ee08c762b24c50f62a7d5faa4d7002da19a049b81930e8010b359307e013aa4e31b4c7a3cc8979001bb317a54cf28247698c67f309c452ad176a719bdd617afcb4289a6eb247bd44ba9c208db584253479f143202ed9760b05131327a945bf45b03866532c3244614b385156d0303cb8d7007a4f348642c542c521e8c2ab29817c2630884cb0109108172a2c79e01906736e2871c178c722925ebd550a9b84d2a9615fcc8c0194c4b92783e09a9a92f5845093ab45c152246393209b84540f61f262a0c53d792ba5904f2f4615748a945a864bb6a7b14623ee9b50f0a910396ac0646816957a8b44c5c987f8245cdf080579cb17c7b9f57771c963a0de2a0945549cca0241282f07ecb2c2e6ce252bf618819f8c04a9146cdcbac73b5085ef34cb3284eaa7a4876da75426088b5c9cfa9b707acc04e61c210ce04adc93b10c788695dc868a7a21a7d95ae153960f1a41d0cb03ec9e2b8befb5b43f2568ef37013b89c742b9debe9492ef355f674a4c1385cc44b0648cc20d6648c02712b5dd2ac12d2aec5839d94b598e5b2c1a8a83d940898ccf2474399599909b2c12bbae591c73252c4b1152bb921941c98c64c3172220c9ecae308d164341d7cc3478490ccf27097c9c140d57e3cf12cb29118b6697bed8aaf0358a052e3644dc19944b9b4bee43bd64976f9417ded11a5f96211ccfa7d0d4275c14ac13b77235219a6630b333fbc7d5eb504f5066042b770a6d42463a2bebf50463c0853dba877baf29fc6b6bf79a7281f8697fb940fdec580ebd90f698a69d8ba6a5e40293bd447c929b8621806b2886cae52a0e481551b1b2393c17dc82962e02bb98ed019370013c67a830b7cbdd96cbcd12a1f445aa8564888e3fa2f9a851894818598d2710482688b690bb15a0919d5225484856aa5aaa4ca1b5d891012aa2e6b81ca40c2542c643f67017d8f4ac27db1337aba54b4e0bc2057c446f1a9d2fb2f60e73d29e0cbe3eca427b580fe4910438340b1e18192415b81695662b17e5915a8ae2964b6502f39649cfd2794db9ba39397313a86486549a07ba8696e35325a24ca599735cae6704e2672c212602922b94244a287d75c1333611913a9f13126a23226f9e800cde060740334972646e474686a7a3e5d6b82f6426f5f0b3c8853515565b6832a6b578481ecf78a850caa528613dbbc760b1a7ff0f584928411cf763324d3797451ae1988809a681315161ffdaa19f70c1cb437ae3c728bdc1126f01bbac3e843f29c2596208a559c2e86d5951d445eddb841600221cb6610fc476df502464d044b7f7c91756c167caa1e0da6cdef478aa7c9032cdc75e18739a95781846457e5a33a22a2b6e9885a4ba858e076cfa706b737bb6f51a83637e5c7e756ce075395a9ba84c952e09a85dfb88379990075394d670fa4adf5f6dd94c08bb79bac099517aa3d9e6ac26fabf5e76f86bf0f05eba4977dabc88bcf5a0aec7a17372eff85c93c07da14cdafbd7081099c714f8b1de21889257861371456b4
+e68881e2dd77c9e969b14a9ba46ff0cc92dbd0914a341120f36bc91b9f8fbe2f
+Ciphertext: 5e317650274551c56a51f09dccb1a80b1d7bfb5acf44ba6091e2e816a7d57a51e461cb4945a2356f379ea78427d71bd0a9f0463cf6f651be9ce01a85ee399deefd2c6ab3c033f7cacf58d7d6fd6286f18b063742638950fcef4f02f8c19700095d62293600dcc78b421fbae93bc181b27634c93f17abbddce5bbacd4de50f500e44a0d92c8720e59fb8a1e6fd5474678170d456a79292b754cffdea496aa37b3a97954db7859585660425f48273bedcaa912f123e257eef15d87f952b83abb243fc5103f10ad391e10d4b7aa8721745891588038a396b08fab738d21ebc388974bc8c9dbbcd30c3923832ca32deb2231bc171274c65daf65eed20ca138ab11bfa206165944748af60fd422e4b43bd16cef102ba591f86157ce31354224a71d3af4abe75e033d810d68fcf64000cef4722b88615ce9b4897fb6c48ecf19d1f8a5391c4779735849a511a6570951f2b22d0767411b04ad287bfa3509fbaab88d3815e9a6c3610eb0316f227b4328f89a02c20e313823480ddd6a0acb9a74a831525d9d6572892c3ad97b146788ed47e7d9eab02599b4e54c6c25644d51a66cab432c71aba152c62a00a12be1459434a58c0b75912e179552f49197f8d1587b712271041093af1a3027075c265c020510ffa53b86cc2b7211fb6907fdabae34427dfecd9882cf754bc39a9f6a978404fbfdd7552d0f13ce5190b2fe315f17cf8297917485f34603edb83163a422cc5e69e0cba93bd998604c4a0d2bbe03dbb3873647205a4a4df10e033952e15542627a666d2e2e1960e0a2b3694102765ce6ea486fa769cc740a5a90e6ee6ede1576c8b992168fc30123e1072aee73854b315fe5451b564d1d387511f0c7a6e086041c819df0002886ef832f7c48ce590021a600e42fd48a291faecbf7d21c9c5eed06ed330436740f5223f7fa26e222b3f4ccdecf9b2fdc01a8801191301dd534ef43fcf8bcaabe3d440d8356ae2f11dd393aaeec2b45491daff24c8ae7136769df1578f822d1666c6c0de78e12a4505a8d19c7c42c85eca5339710caa9e2bb636348eac4165aaec37508511f278a18965c58fe4b6f26c2483efd415b4e967019d3ecaceb9241dae4ffd564376aa4561690ac31abd678805be08affff54186043a497a075a3951be802c182495f23520322827cb8b817c49622e3a24d6538455889666108e4a6584de5472faf596940c66b48b33b5d1a6800621fa4851408aaf0a86531f06a5ee8c8131759d6aaad6fa0a0107fef9b92cfb6d332f9a9db13f3413e699d45682af09d614792cd2d5d398325d3ce50545fc903c040fed935ae12f772dc7a77e8b9384f138942f02c86696bc8d72d6568955472a56f9eeb3959e2b96cf6779c7bfc76d7ce0ed1f12b850b6531529c4e77b8b7ed488e8b86556068b85d279c960eccd4771b2f76f082ba5ada2ad710617b4a5b285d2461cb0497de5148ddde4cfedb39f9e4f32d4b09c422a466b6df89801c277d2ce3d809af0ce99d343526f6728cd2f4d67f127ddacdd657031ec1
+Shared Secret B: 3eabd5e1f85e8b2b59d0d41abb69cd8456dfd2f28d0c37f45bcc88a554def944
+Shared Secret A: 3eabd5e1f85e8b2b59d0d41abb69cd8456dfd2f28d0c37f45bcc88a554def944
+c03eeaa55d5c060eb509ebb2c346586b667debd9d5d8b511ba4fb5abaa7ef995dafde093281ebb6c158dd20c071eb4425b9c9400af937aa61c012380774ff6acf97f15853780874349c78884d48c5e88fdd7cd4b521e86fd3ed92c8650962ced216a4458123fbeb51b608fc6150e303a4fafa540e23f3f66dae2fb9ef037e5fa4797c41d8597935e5dff1f96d095fa1754e989aaa75340999a0ff8a457c9b71f0b415729f7e8a67778739e24725751d37bfccf8e5bf87a14ce4e6062b87e937e24481c45d278c7d50488c0d52ecd5d4a7d3be0f561c62d0787e090b544311d8ab240ab761b162aeb9471500d747cc5299f8569abb3536be543b54425dab08b7f0266fcb432b01340768e20cbdb689e15a1192e83326976d308fe22acf3f12484cfb816aac9d2fbd7aec601bbd960d4a178ff393bfe191c9a182ee2a3c80303b1731fa594a7960f8b5163e47da7a0132dd209f8ca13935063a8076c9e17b27b16d5feaa5ad65226ffbf59f980fdf141b2c307a40e155e3c132f2a66ccc959e772de60fb21c3913556cbb43a909283f967caa99e8e736fe9fe8bda35502380c6206434ec3b09ce59ed9e509148d214c4bc15352c5bcce98719800385d8f2a647137e0c6160a0c6f5cea7a9d41c04f73bc82424eb66baee6141edeebf9345d0f304d06d516cffb27a3ae1e76d26baaf9035c0e1055d13c9cbb2a565c2a79120859755c45de49785f019bdbf7ea5aa92d299e5e11a59b29294a4785aee61f34a5c3c48020d5c20c7a29c8b485f24d867fa8968663210fefccf00024953eadd720707eb06bb2847a48345d50cd812f4bf17aab3fb492c2348efd1a189ab795267233cf7a67f1fb87973cd8ac9246eb2e2f2492f7ecab614039de8efa04994e5d1fe385c80683f962a3f75d9a73ac7eeb83d71c2f3697f6303d4aab74137448bc9b6cd5772227df3767db62f4ffd6d2274e9c3ff4a076d156291865a5536a54b1e5c776789a622f5484f2ba967c7bd08ac15739ce5734aa6037b7993bee59d8cb5908e857f2cc0a2ea995c8b9eb4c8948bd63b182d11f4687a15881f075059d3a4cf9740287f049caa4e73bd45f393a4686e7e49554241739e5c68636126db448ccb8a4fe7400f5c3d10155c464cc232bd8a52f8c1112711cda46de29ac8ec82617e68c50826b14e1e01c081617eea53ff6da3cd3af24edf9ea8fef91b7f539e56bd5bd3ba4bae1b76b25a9df91cca3a211bc395acbb02c3442e0b4c316d30b1956b65803b8e7cc53486c5ac5950f823881d87021f19cdcd27555bce9d06c77e40dc5d0b970618df652dd9dd9a3dd13d719c46ef19f596e1639e835452dee018d5c91840c76815313fa4a8cea5d789447716ab441fe150594266d33bfc72208f3c831c6bee61ff8b66b5510816747bd0e03202518eeea375516591eb4a353b975f10a508bdaea48115c7e3173a99fb1179cc5f3c8a31025ab5bfbbb846231ccc1e8afaeece20a00d5d78fd92d6ee0338f1922275b5029f9dbc1d148f3e216f327dd475
+Pseudorandom shared Secret A: 7603127c65d81b8a14b07d0143c5e74e2ac2a4f0ad877b2053068ed0cf03d6e7
+0ec1664084b7bc2ca5604f51372eea28087d8d0fdf5d9d8a348e7db292bd6e8a8fbfa29dd28367e8edaae480e708f7f619d14c434660f9de82db9c68a5950d43
+Public Key: 669164f9a36bbdb19d2f9a98e00a620201a82eb84e384132f7f72bb405867dc4a86da70ee5c9ba9e37610bc57430db5526d8923184827a90a7534c71478b64fd152a420413b57c199d48bb2bfcb6fba9c333f5266542b61c5438d0ba1f2bd5c28cd5ae79809798d48cb1d2a1168c3cbdb330096c65edba45ba81624f9b3d70a55a00a0954a486bd9503d8edb0c4b48be80604b1377940597268d32cedb6677d2a4603b7743f1606bf5673c79eaa789e38ff2aa0832b6959dc30d138cb4c5706d48e2567b3b3b3ab51bc6a6b25746187728c37a1168720a32f2da99f3121c70c3c86c72c4d1245f64b811c79b04dc0973edacb419e8aa80286806749e3e032e43a4247b6cb7888958c122104a004988753e15189ac6983200370a5b99a362e171c083bf91d81fcd7602f5d58e4cb98bc0c955be6acb181cbd651a53ffc71a4e6a937b30cce3338e90a95427486592384dfe15a0dec1167d1b723a0b82f828bf8b33bc80255d0fb992edb3a25bc77e6623acdb073d286bc62f577c24e30e71895436c9740591ce5948c530253e2200700ae85aa98584fb9bbab6556d36d89922149397a00287432864e65b6a5a16c1b495a7476f3e5a4ede2cbe70b3043a083985327865f4005a79cda3d03777641764e9b9be326afb198bba98368f648143b6a0d5a8584c43826bab2e96a4019ff5b5ae9a5ea9518d2b3b7bb59a93dc4a44a294614ed465c6345324bc00ceb34f18552b9ca8cb3ea21375858044d87d29a0500123754766391a1211806a2ad6911e29901092388dbe2a078977ca8a3310576347b4ab7cfd5536a4432cdaf821ee5c2bf58834bf6398906a4b71b1536db898e7c43e999828c97c5a5a6a23928a75b10baac08cab72e55e7df2b61e32c8e1715305c1a817924fa7d910247936846b3eaca4519cb13290078352c9cbd8828768d0b558c63f63984b5d33c71ab9a7c0c1687795b625310f43289131aa44ae33757fa57b2e401a25e69fe8e45c062c46cca648cb7c7de5310ec0438306ab675094aa107003f5c95f02882947061ad54b1697205307da0f7f9b6e19b59c4350c296eb35bd9498881546162c5b215b55743192d04c77d2a49ca4e48ee6d1960982c90418882a34054d4824c7ba1283196875263e5547ae8d4cc76445572a24ab0b140f4a5a5cf6cb27e0da0fa0acc43a3a92ff9b6210d41f89966ab8916391c0b29f428554504685c0682ba77ddbb153f9d93a64f426a4c04bb82aa7a3e2324511468bd8af298c672fd01f70194e9963576747633fbaa914e76eac645861e96d55f00d38e6296e893b57f849d1ab329638417da93ecf30bb7ce4ae421245867334adc0386329997e31457763b7a9f7b62be4534f5c9cf63a2f5efb10446b65a2518abed29784505002bba740db63614c09f2296f33f4720e382bbf863d9a40a5ac296f41b9060aa46d93b96a40316e318722918534d0bbc636c42208e00d017c7187908bb3c20797b62125e79bb6064dc8caa067c08f01dc641c38a14e33cdd6389043f5a70fc41af5dc119417b0d91c9533463d6c545f17b06ac293c3ff1ba4796930a99a4a719352e981b3511b8d81c56df4049a430cc0819a23e1c824fd51159f5cac81cbce4c231150f8b0bc3562c073ea3a06af990e28c4339945cc55e9c71cd061
+Secret Key: 2af35905749fa9ba7b1e9555ca5b67b660825254c02f937ce04c3c46568a44d61bf1b5b950480463e4bf5b283214325b4a464fab6a3645a2934f2c9d6bb38fca6689d8a09f55200a263980dc192a4c6a6bc7c4c49d997bdd4a55e683a33bf102b147ae3be88f5f663572c96a6b438db02aaba99ccb2a257a7f91afb73c71fff87481ea20e7e45eb849094b007ee101afa6d6292fb18c62116a7c1054fec98edf1699569a30d6b74b5514676aa250a5aa0c966617a343c9cd11c72e326890cc6755226d9f09bb1637b89d692f2da94ee9d1886831041f9baa77f0995c354dfb559ed422508363b941e1653c5009662cabdbe7aa20082c9f94852369cc02a650d04912ae08186454c6f7686843e95b2267739382b76382618cf752722b426b55c45d098e132428b3acb3a27b204ab655ed993c680c650bd7c52de9c86eb838320600aec220bc6618b5a612c40ba323a94aa702be51c8317dfc59db261e8af77ebc8caf73490d753c8a4db66bcfb709fe2b481d63208f4290f4f419481a46b9d36448512395c36a8bd58848f985cb11077bd7cb47686a9c334c2cd41d0f220abb58506310af80d7c50ec02f876c8d8e1c7125641017778f7120211edb5bd2d41a8afc57e24338ddf8a32ac946dc243a64b9c76e45567ebaaf0b0a05f4995ec92c2bc93158922116c0b2a0c65938c0ec0c14c8826236124856c48f1798467b9512715f2b284300fd4cee17b0fed1158ed1c8a2315804c674ac6978083800d7e90840cb2a3c540fb005368b07b785bc8038d922f8accbae9885bae252114c5ba7079622f331773166785b0ab7693f199277ad391e9bd0342ec479b99bb042216181197d95b20962b9282b871b03316bfaf3b34ab6798b0a30ef790837bc9ba5fb533fc1b2d0a7011dd56600b898b8d9ad05c326d4aca68fc66d35fab5142ac46171a68e6019e933cbc9e701d3ca6cc73b17f5f03878b618740cc7dc91b55d2589998298a6468f0e42be80ab0510c2411fe80e01e0b41a2943c070401e703fc9d82951470b000768827b11624a318c1942e7d907b141b95a853332a74d271c1dfbf149aa2a005da53d34f0adba0a9ac85321b204230cc9a9fa08805d295d4f711a6ab27bf86b0e3c1bb7e3f6ae1dbac645dc5412308901664eaa748c12fc1dad91132612be4f7aca8c45cfde853561f481fecc5ea929014e985c1d8ab843a9cc867bca4cb80108da52cc1002d9262560d44b21a018f7e653786b882dd4326afcb1d8832a73a068be6bb0eedac319a36294935935b90bd7575476660703a8aff601ad9be69684b16ab3a07a2df395766a06288b521c0b57c3aa4096dc1be72331d03092b69396c20206331b88b33c0fab9cbde1326ab912279ce2aea4ac537f7243144879925bc3a2337d3ac24588d20172d03f1bc07866c56d6897ce5f34ba730856cb777bb933aa3f856a2a5050c1467e190c555af7070880ba496ab9b6141ef5053bff812e1a6a4324708fb72b126b6187f5147303240b85497fbf7ba40c0c864cf783c5e78caf151826e4c38b5456200008d96763f08a2339633eed107215cbc165566618d632ea897d5bc589916c5933b4c47369525e289b41e20d647c2e4f70bb669164f9a36bbdb19d2f9a98e00a620201a82eb84e384132f7f72bb405867dc4a86da70ee5c9ba9e37610bc57430db5526d8923184827a90a7534c71478b64fd152a420413b57c199d48bb2bfcb6fba9c333f5266542b61c5438d0ba1f2bd5c28cd5ae79809798d48cb1d2a1168c3cbdb330096c65edba45ba81624f9b3d70a55a00a0954a486bd9503d8edb0c4b48be80604b1377940597268d32cedb6677d2a4603b7743f1606bf5673c79eaa789e38ff2aa0832b6959dc30d138cb4c5706d48e2567b3b3b3ab51bc6a6b25746187728c37a1168720a32f2da99f3121c70c3c86c72c4d1245f64b811c79b04dc0973edacb419e8aa80286806749e3e032e43a4247b6cb7888958c122104a004988753e15189ac6983200370a5b99a362e171c083bf91d81fcd7602f5d58e4cb98bc0c955be6acb181cbd651a53ffc71a4e6a937b30cce3338e90a95427486592384dfe15a0dec1167d1b723a0b82f828bf8b33bc80255d0fb992edb3a25bc77e6623acdb073d286bc62f577c24e30e71895436c9740591ce5948c530253e2200700ae85aa98584fb9bbab6556d36d89922149397a00287432864e65b6a5a16c1b495a7476f3e5a4ede2cbe70b3043a083985327865f4005a79cda3d03777641764e9b9be326afb198bba98368f648143b6a0d5a8584c43826bab2e96a4019ff5b5ae9a5ea9518d2b3b7bb59a93dc4a44a294614ed465c6345324bc00ceb34f18552b9ca8cb3ea21375858044d87d29a0500123754766391a1211806a2ad6911e29901092388dbe2a078977ca8a3310576347b4ab7cfd5536a4432cdaf821ee5c2bf58834bf6398906a4b71b1536db898e7c43e999828c97c5a5a6a23928a75b10baac08cab72e55e7df2b61e32c8e1715305c1a817924fa7d910247936846b3eaca4519cb13290078352c9cbd8828768d0b558c63f63984b5d33c71ab9a7c0c1687795b625310f43289131aa44ae33757fa57b2e401a25e69fe8e45c062c46cca648cb7c7de5310ec0438306ab675094aa107003f5c95f02882947061ad54b1697205307da0f7f9b6e19b59c4350c296eb35bd9498881546162c5b215b55743192d04c77d2a49ca4e48ee6d1960982c90418882a34054d4824c7ba1283196875263e5547ae8d4cc76445572a24ab0b140f4a5a5cf6cb27e0da0fa0acc43a3a92ff9b6210d41f89966ab8916391c0b29f428554504685c0682ba77ddbb153f9d93a64f426a4c04bb82aa7a3e2324511468bd8af298c672fd01f70194e9963576747633fbaa914e76eac645861e96d55f00d38e6296e893b57f849d1ab329638417da93ecf30bb7ce4ae421245867334adc0386329997e31457763b7a9f7b62be4534f5c9cf63a2f5efb10446b65a2518abed29784505002bba740db63614c09f2296f33f4720e382bbf863d9a40a5ac296f41b9060aa46d93b96a40316e318722918534d0bbc636c42208e00d017c7187908bb3c20797b62125e79bb6064dc8caa067c08f01dc641c38a14e33cdd6389043f5a70fc41af5dc119417b0d91c9533463d6c545f17b06ac293c3ff1ba4796930a99a4a719352e981b3511b8d81c56df4049a430cc0819a23e1c824fd51159f5cac81cbce4c231150f8b0bc3562c073ea3a06af990e28c4339945cc55e9c71cd061691203490132dda6156d1a9a4961b6a9beca364742dc98d66d8a0bdc999d20db8fbfa29dd28367e8edaae480e708f7f619d14c434660f9de82db9c68a5950d43
+467377a05cd895c49faa369b80bd5e98c27eb41b75e7a4997364accfc9f6e2be
+Ciphertext: 538063aee8f4ff0a9a5acaae7dfde2afd08944833aad86e08d3bdfd4663790463679565441f5c482e16d099707468c51b3fef5bd911043d2d2cb406c291a3ed058a46dc7be9b89af70538c35aadfbf1e9f8726a0bb109498a28049bfaef67b4d191be0c5141a6e4235b94b3611b6c9e1effb78f73996aaedcae134f7ceaccb8378e0a914d51ab474e034018cb8a7aac9e016315c5a8a149578ee1f3eb62c4c476afd3d052fc0d561d270b1b1c05fae89f210acb22859fbce313013d6913fd249397ad1fa7b6e5c012738859bfde9edf80f79c124a18c02d2617ca995fba96f4a6536416a7b2402f12bbdef03c259743c7cd8305385f9905383eed89c2ad516942e9b1287a50dd7f661ac27f71029ed38b26c6bd0baf5765b609f3ca62a6c4b95f3664b38114c304c7a862a1bfa1f2b66b377973d777ebd183ba8f4da9b6cdd67443644a80a69f925a4f72ebc95372a42a2630337fe71f45f986c982a0115cb5e633e67974c191889438030bf53032d7da4f4416893f07daeab1a9844279794ddc94ed3469f9e38459dd2a177259f019e0c1d39081c0eeb86a3da8db2f426c982472a55cc5f86cd5cd8703c8b6c6f04b27fa156731467e2d2404f647aa3eb81a2e87fea2f3270cda742ac9ba96e44d86da0027e4af5c705e0c33e808037031a64192604dc6ef5f50ec5e81ae8b9f8f6a362f3149aaa51eb08be8a74094a56e0e791c7c1af906532f710b888d8dabd597c133b85f0535623eaa0c7b2ecd49cf8f46da09ed6efa0c8481b5ef846498cc420d4c89ef98e603d3f166a4302cf7e6f153aadf60dfe8f3fd69e4836c659131e72f8aeba988c00f7680ecc691b58b943c1b5003995686ff130e85eac7d9c9b7f734f65d2afb888580293138f19029633c9247448ce6a16cea2600a7e23fe5f467388d721635d463d11fea5c8f00b7dedbd2a1c8f778842c799cd2f352f88f70e7a2dea9e645f9177b9a340625fbaa7540e7491b602dc741fab546b897849d09670dea77594189057c51de00f96c420600b19a287668719c804dc29c17b8d44ac8cc325df0bdec736f50475a33d5448962778dc250a2246942955138cec252e84ae74acd7387b079f220ec3dc97fd1b3158282cb9ba99a3508a3ab7ceebe420b424cc257e2ee8d3c14252bd623decd435c7cae3f8650d4d32ecb7d6616b245b466043e43a1495306852d044780c3a286389568c038ac49890d5a0d7d1d486bbe3ccb1a7da3d3ba96560eda84a32344d95d60379b9453cd6568011401fca7b05c4717b1968c0706978075dbe38cedc7e7c6b77f604954ea726b331ff12332b401880e6f4f8721a9e8fbf7d5f3ba2cb8c097c388b3514fdaed0db854e9bcb7f15a7a402327033573269dc6b1e54e77b0f77681c622259519f3640be0ae6a8c5ae1eb97780a4afd512dcaa179d62b39240634389d44b9b930e8d77bf180a16a7c488006125ea1221623378ece999a6eb2b00a03c20a4a07f157f5a8f8e94c468c3519d9bcf227d9cea5c15dad64d81b7350814
+Shared Secret B: 3b1c5341732cf43b36dffa45b2cef3b42bf82dcdb62981ca70aa475d21f94f15
+Shared Secret A: 3b1c5341732cf43b36dffa45b2cef3b42bf82dcdb62981ca70aa475d21f94f15
+03a914297eac6c70d1fffd2df95092f91ab734d28b9c3bcb50e0574aabe24063c97c99dd6d12275a1f995f1f5634cb77356191dae8f3babd772512b27b7b5d14ac3cecd163a5f48da7660cb64b8240bfa8e1099571d6f477f06f0b19e8188fb16737926b72e8f5dc9bf23da2efc4627f2be020af663e0756c9bafe41f4577b7f724739db76deb09b6b579405ede5900ff7621dd6014d1b75c9e8de272d4f89ce6a0649a389806e738f0bc81312922d2d2570107da20070b0c77ed712e82f57345f80065cf6c9b05d6f2eebd3a50f1c8cbc34cac9d68b5e8fb9bb4ebc34cea09730fd5a0e3766e3f4aeab6cc8a27ee87ecbce18d6a815bfd154e070db44eccf3ffec80207aa8f276cd4dbf12dd29de27474e2a7758594fc5f97b65b05a6e6a094cec6bd2dd310fe4d4ddc828d89b263f550de6b61b716674492494927f70ec47b64b53749fb81fbfb7cf2ef4b21ea1986f545b7497b36acb12c05f912bb251f8a2f909aca9976e0d3218cf7fc01cdb9522a06716fca529aa69603cc8b03c350aa46f2b41a8f45a6cc7ed66a29699f84b090a75db21168efff6770196c325585dc6c326871c32ead3da52213fd7077d187437513153b98d802fa00c992ea8b96434b1258b897ad75c2602896791dd7b90d351fb820c139f68dca1abf2e8f5718b0483d7356b3393c6548686309af6e1ded5b99264619977e63d991fbd80e86e819358569dba028864c0ecee1f186899d2bf0d5292793e185df3f9f8e432ad62333d60dd60e8310d36032a76acba3adf16aa321af8583091899000b214a560e4174dbff46101a422967c51b856e24b9c7b4b9b6ade6519f00e3bac1f212221575977b8e9ef6c585d94c07824ddb673012ff9179f1e17fd7886da8ebbc948799e14454a64f045e1b42b0befcaeda46523b15106665d84b773c833b26d56920a076bfcdcf82f21a8da696476f8ebb1e4cfa6ab13b16158244a5442eef919a53197c83fc828d77433297f1faae0fa69faa721a468dcef6cfb9f0ea633c9cf73c0a41e5f5141b15c6ce73c1f2d3cee2c930067db31c5b6a2c7320c7be98db09b38e1c759a28a375f8eeb41736a7a645f36a1b38b3db87afd58fae0e5f5ac33ee0454d159205c8247f5976b340d72604ca9c7709115d77162c94e850d9485809495bc7bdb8a9ea5b6ec5505097790fd829ae1807103737197ff9d78a780632d70ce9a411ca724ea0804980d75ad5d5353fd2dc0556ef0385db1459047a3ac6acecc9de8445a4bf2d9ddd48ecd7ebc932a1e3c278c1c684c8a7dd0100b9d8ad432d8c8b672c33c137e38bbb4f05a34f48cceafecf22d0484d11f05c2077a8b1627ee3a9ae888cd791c79a9696c588f18d548a2f98ecddc37978a602455c856124f38f1a8525ff34ae483a3a593f0cb8df558ab37bf9eecf66fac4bc17ba3221bf2344da0a9886b13c048aa0b9b843659ec5d9cb2b31f37abba48201f53ffd94a90f292794c1fcec6d2d2936b87a33c257c88e829a60ae617c9b38037e05c6dd31670533d2
+Pseudorandom shared Secret A: 01a23964020c59342d044b2e28b85c2e6686e2cb7a0c4f0b783ce718077afa2d
+e11d7ca9ed8a1c447e123bdfb77ab3c3ab9e699052ea24e301983010688b366f6a88f3d02c8f1c083f16c01c5c341c8239598a3bdd9cce5ec7e059f44dc26128
+Public Key: 89a305e490b6f0ec543560596f805266bc82a8bb95b68c3c666985e3250f958c3d35e8b148b1975b7a430a72488321b7b5ba095dc57424870c8c409420d1870d98c83d510145608bc017187da0566cbc65bd9c8e5495934ef79eb9c938fd604dea8b15a95296ffa0877099085f5c618418a51a217825e1a723fc8bd6dbaf4f8850346a5fb2365cf2666821bc725da2a54cb93c187137e686333d655d5b47988237c718457bfada412c875d37f0207cc3a03043a3e4a525976b156a2bae0a527b8eac14ece75ce4d159356b32c2819d6a204f0b23845561135c7154f4b7612a2c81e47cc519252227a3bda70c718a55c3acb835d5b9006646c3fb830d3b508b6ca90d549a4cfc071d64f823634670de34434642a7610cd082a37cd4d40b71a058a7d76a547047d418c476ccabe6e90aa748be0e99c392c2940a147e57a767495401ee9b7d3d7b7c181098c9919d69832cb96984c773131c864909967192c134b37636f1c0a00366cb32081250052af0941d529b0f51ea5fb5e5752a1aa552a06e32c0514ff0102e2692e2d56814278436eb2082904a933a85d2826bb0c80ba1aa1b59b8769f618cd12322265842d4947e626cc8f975242e71a4d6f10fd6b9641758bb5758bfa15176ee24a86d5839279540f13bc6391238a1e3cbb494328e2aa817721c5a7c8d7eebcc8d0503cedbb1c5a3397cd75b57d3ac85cc052464260a3cc86766863a0c985fca0e340ca1a68755d7f6591dbaa96c83814a09507ffbc91fd07b47989662ec9d29640a4f2a882cd42d690388c40b4a4183053209a456f20ad8c70e77dbb00762055b2087bdb1ca504bb9e5aa8d14bb60f4a3124d155f4aa03a24413d5fa42f24d71c6e871cb4098bde84cb61ac128f53a57f08005f25c1f1c4bfeb49713445a2ab58afb9b2b9eed2cc4919cefdf28fa142949b27335e681b6ee16c3f304b6b1b6446d8364080140baa54c2324d520745ee1b591a78841cd196d7060d52575af8092e8fb7404f6cc0df056fe5a5336d776a4b709a79eac042c99105d8479755a9cba10d2caa9eb77839edc2a7d4c8859c9207686b4f37275d6941946e70aa071a1a8520089aa51d0fb671adb1c776b00bb8207677249c8f349e119a60724334e767841cd064205006bf842046c4c2016376bfa8aab6ba592be28f911198c6dc63711b2190dbc069f5b88494075e44c189057dac8877d8538510ec0f11cb192fd63fc7bb969cf94600dc5e6047a0cbeb757d02a18cfbb2442565018a650468929bb87cab7ca87bd45da1c15618c67df4f52db4a4abfe6b22783c282b96314308a4752a7e029721fd1670de934ffcea1301139e1c65af0039c160face56f5918bc4037075bdbf547932440c42a151f3752902207761565f4bec8bae778e78323559a03b502baaf53a912a153780d8106d698e981c765b619587c30443352383eaa1dc808460eb35d03755976436d2741364dac2302b2e3d620e4c96831ec28b19693adf412a365910830001a90a9f5b62a9c61bb6adcbb53295a610649456c93e4899ca21c706259201a88c8de4044c49cc9333f936af628bb0c8c6ab08a99f13b62774ca28771591a291a0d5c3d4d6a07ffa8ea3e7bb3058c70dd84b7a5b3990a92b9e86a276a2b486e660e03b42dd4d1ede9f74ad72641a3e
+Secret Key: f10b7fb26667ac182c0b433e38d77d5a7bad6c8b1903dc84596a75cd9ab9b9fb5789134cb80b4f8160aebaf66956b65654d015a46508812027fa511d09b530bdc99e6b5ba046d9024b14bf9d5baa039528e29cc3d9001d33f597ad396c0ed4344749b809636dc8d26305617f53dc3c7f4b4c8d87a5debc9330d32977b253052a0274a7b435c87cfb513254975c752159583814f38c91bbc29ce6fc4bd550ca5374498ee62d254b9c0446abf3198ff8158eb2c28ceab8c1e0a742df09aa3687ce92b0679b3ac90a257404bb3d0107c1b53385b0b63af9eb7fdc37b36718bf53866bc3b67a7b52c9efd68193fba4be713609ecab0b9592f3a09e3ae21379229ca8d16513f7769dd78180b0af292ccd93f6ccefc21971903cf1d8a86491abf471560daa1c87306ceb5764b9ab0e6d38c82313bfe16554571270b8d54642f152d0865371b66d78d09cbf5020fabb599df51b9c94042cc87143061a6381c8788068f57228480275b831b696fc4398a70d4f7b8632fccf1c7a01fb38c18cba51a1072ff3d4996eba9d931737b0313b87696dc97533b71282b2a46c57b9b78b908bbdb4283cba931616cc75c9187d9078e3f5407d500b6ddb55826b20a4d6a1b35b145fcab9fb659d6ea933bfcac232e7a9c0f32be47628d6cb09c0800cf759c770d372710c9e38d1014d144a960a29e0292bbfa04d49b30a68514a3a5238764b24faa2a3c6b8443da2430f82199122c36ec49c83f468a9b0c60c5c75af4c1a1263531580b7759880d7c324c4862c793927d0d952fc4baf699bab2d349ec98aace63cb312f5433399b50a4a3efb1c2dff2a1a218949d2aa12f9bac034342ab3f8bbec9500ff66b580620e1ef05f5fac25b1c572b634b865d239997a4b97f560c299b69d0a69fb1c4b86f4a1e962af3ec0b62511cd2ce22331e286aec56fa812b242599deb25b01f8803688b0a0196586a47b54b345f81a139c46b2185a552d8b7cc4ad23ac2bb5c35e04530157086f8613cd6018d564acc643e18d20d3098260da34d54945b617728b8524f6fda5343282cd7951b363a89aa0b8487577d66b89db3f7400fb32360f72785d24e4624cb47871d514696ef9009226c7b8776485521c4461c4342ab7410f711aeb49b969886011c70b454757dacce6cd96e0914864e370091779add1b26ad9b385a2369ce11763fa606b9264e0b25292cd941f63338b28aa74c0658d3ab85ea326aeb3998b6a4875118b0101b796327a949a48b59b58cee7594e8b7c7d406b0fb016158e55344fc535c768a1b3050cae8123e89b724251b8fc107ffa827b53064d7865859d1221250b133d82e7f33a93d4431c5334449bb4517c395ca75b9a1db020ed63316149e0b153989b6216ce0b844ca2450d919bb5521507b0527f64c3376b65d5902dd7226eb9aa865a670aba779d7498a6c96136fb9373df7a9bf93939c733381a73d08c39715c76c420c2d94eb888df589f2499372863947f9a501c3a2ed465570cb961c053dae2171c9ba6e0b2c812638a71469a1bf6355c8c899bfe19817ba73ac3a98bb68b7c7fb3cc39803ed3504988b84f6e3ab20d1521c18ab15bbb27029812ca3911cf12b9cb1af9e2913ef83ae282aa589a305e490b6f0ec543560596f805266bc82a8bb95b68c3c666985e3250f958c3d35e8b148b1975b7a430a72488321b7b5ba095dc57424870c8c409420d1870d98c83d510145608bc017187da0566cbc65bd9c8e5495934ef79eb9c938fd604dea8b15a95296ffa0877099085f5c618418a51a217825e1a723fc8bd6dbaf4f8850346a5fb2365cf2666821bc725da2a54cb93c187137e686333d655d5b47988237c718457bfada412c875d37f0207cc3a03043a3e4a525976b156a2bae0a527b8eac14ece75ce4d159356b32c2819d6a204f0b23845561135c7154f4b7612a2c81e47cc519252227a3bda70c718a55c3acb835d5b9006646c3fb830d3b508b6ca90d549a4cfc071d64f823634670de34434642a7610cd082a37cd4d40b71a058a7d76a547047d418c476ccabe6e90aa748be0e99c392c2940a147e57a767495401ee9b7d3d7b7c181098c9919d69832cb96984c773131c864909967192c134b37636f1c0a00366cb32081250052af0941d529b0f51ea5fb5e5752a1aa552a06e32c0514ff0102e2692e2d56814278436eb2082904a933a85d2826bb0c80ba1aa1b59b8769f618cd12322265842d4947e626cc8f975242e71a4d6f10fd6b9641758bb5758bfa15176ee24a86d5839279540f13bc6391238a1e3cbb494328e2aa817721c5a7c8d7eebcc8d0503cedbb1c5a3397cd75b57d3ac85cc052464260a3cc86766863a0c985fca0e340ca1a68755d7f6591dbaa96c83814a09507ffbc91fd07b47989662ec9d29640a4f2a882cd42d690388c40b4a4183053209a456f20ad8c70e77dbb00762055b2087bdb1ca504bb9e5aa8d14bb60f4a3124d155f4aa03a24413d5fa42f24d71c6e871cb4098bde84cb61ac128f53a57f08005f25c1f1c4bfeb49713445a2ab58afb9b2b9eed2cc4919cefdf28fa142949b27335e681b6ee16c3f304b6b1b6446d8364080140baa54c2324d520745ee1b591a78841cd196d7060d52575af8092e8fb7404f6cc0df056fe5a5336d776a4b709a79eac042c99105d8479755a9cba10d2caa9eb77839edc2a7d4c8859c9207686b4f37275d6941946e70aa071a1a8520089aa51d0fb671adb1c776b00bb8207677249c8f349e119a60724334e767841cd064205006bf842046c4c2016376bfa8aab6ba592be28f911198c6dc63711b2190dbc069f5b88494075e44c189057dac8877d8538510ec0f11cb192fd63fc7bb969cf94600dc5e6047a0cbeb757d02a18cfbb2442565018a650468929bb87cab7ca87bd45da1c15618c67df4f52db4a4abfe6b22783c282b96314308a4752a7e029721fd1670de934ffcea1301139e1c65af0039c160face56f5918bc4037075bdbf547932440c42a151f3752902207761565f4bec8bae778e78323559a03b502baaf53a912a153780d8106d698e981c765b619587c30443352383eaa1dc808460eb35d03755976436d2741364dac2302b2e3d620e4c96831ec28b19693adf412a365910830001a90a9f5b62a9c61bb6adcbb53295a610649456c93e4899ca21c706259201a88c8de4044c49cc9333f936af628bb0c8c6ab08a99f13b62774ca28771591a291a0d5c3d4d6a07ffa8ea3e7bb3058c70dd84b7a5b3990a92b9e86a276a2b486e660e03b42dd4d1ede9f74ad72641a3e769f8707dddce57687f7c9f53563730111520df734c4d32963534e82db9cb1976a88f3d02c8f1c083f16c01c5c341c8239598a3bdd9cce5ec7e059f44dc26128
+66c1f1f9e671abadf915aa1de08bda0b4bf98d2ca3517af2d81740e3f5ba9974
+Ciphertext: 7adfd31d812a3c03b6034cb9148f156d5cfcaf11dc75912b5ce3334519b48696105123db2c0b193276f2975054ae189dd84d1df414ce771fb578f699b44fae1cbe446963a78381bc5578edf7da3fba9b496698fdc3e37fd67dae6bfe5955f3c4f55c8f622d62e7b995e390189e54153b36b1f1356d2c5c7e4f39afbb3297d6f418d776362c44ec34d08b4177cee154543f73e855d1e2a34c3e9575a0a1090a1d0260f2cbae8b8f1637e47578718d0718aea6063f2cfe90251d5a197fefa3aa43fd144603705f457b96f9987f9e8e1f4e19572ec708ab4d1e28c5316fe7eafc672cd3df15f319be5b28fba9c62f106904571c70ec4882f4b3f68579cd29b4cbcb7e57b2ddb211a0637889ff4de0d032e254a7701d6310855abbda6be5025418561a6de3260337ad90a5139d22abb3ee32260c65a2beaa08eafce133c871edf7bf38d8060e31c1d6396f2e7bc074b0710b08f12cb4c8bf31e8e0acb1bd996d05924b8bee1a603cc10654289155a9de2c5caa229b2a5d0ee125d7d8297fd373d07472cff31580667d5d68aa77e77271c548f442222ab7fd008c760fc7f36f81ef95b25a49ec1214e0467dab46b1804bea1333109b2f4c03cb7aeeebc69ab34ab7c3604cea02e1eddf18de43e759236f0c61176b5cd9e46e5d78433040c619b64dfdf434b49bf35af3e806b956d8790f97ef9e9c8aada0f10851a106c7b5d4a7782c46d4aafb4cfafcbf7b8456edd8c85e1574234ee4ebd26fccd61913710bc45cf9363490e6304c5bb75df85f80a0c31a1b6e87ab830fc1ab39a64c683aa122639978bfb593dad0a1775339cd29e7b5604706f86fc4cc6c720bbe3da75723a9b705bfb5fed87d52a592468270c3b610b7d341df7a407298094b21f691dd9cd2408abf72a0641dfac83bbc0c11e44bfb3a9cedf8adf115c6d348dbf5e38c2636553a6ec2d89f3ae7d1101fd167c1a268fe028d925c1eaa76243ba22ff262d763cbe2236fd91dbfe1da81bc23484ec8259cdbb6ce32d5dddfb68575498990bd12a6594171900f51b44726d862a9517bd011cbe20d4232ebc4ca4fbac586f3b338b14a950441091680f25e7f53be104e7adc6d3e79b5a96546a786d7908219d038988e37188406e52725dec8c3e469fb6859d2cbef7915df00ba879de6b037a62c2b0f83aba88c415492ce978889c010f6cdec05319f2ac3198bf46e2ab9150b9783ce5f7bb79e5aadb0bd57b58912897cc53af7f071f32b2eed607df9bda14aedea5a77597e0f9b0a9ec2b97e3d07763074de162cab5f788a4c23af8028c3bcb5db6fcf49826ebb5624f7e072fdd0a13237618739eef72ba4813e7921b3b0657149db533aa8eaef2fbf9c1fc1e3c35cfdc2c3e569ba2a4b72d2f592fb799d19a2fcd166c6b43127f0ce0ff31de34ef0a96a4987dd90f9b67ad460d1074cf63358cad463ac9e80aad6d99581dc76ed3ea7a1afa57835d372d31a0a48756255c9380b4e461b6021a9110f81a0f090fd576d1382b519b5859b8605507a4a0bbfac6f19b0
+Shared Secret B: 3465f574059c298879eb082f317a328bc1e8f19b049a0bfac3cbad5568bf56a4
+Shared Secret A: 3465f574059c298879eb082f317a328bc1e8f19b049a0bfac3cbad5568bf56a4
+07d6d76d78de0828138daf434ae278646dde772ecae8d16f539f88f9bc4960da304a85150778642a3f73ecb9b51075ba4ac063adb81ab3581da08da33e0ea699a776381fc0a34e1ce5492f8a0b732b967d2a23a2f08c4cc79f5af881a1e4ae36f1d679fb660bd7398e4979cfe1c5a8be268b5a101fe196306f63403472e2fe2292c410329527f71ab264e888ac2cdb3c73351475d166c40ab212522c7f5e466de89451fd2c4ee356a2f74e2cd13e5b9cc36c26575958ac87a341f0a72a35db58d1c4f3aab8b4a22699b2423f6b58fd409c73529c5bb8d5690e62ae66fe78994aa6f3b4b3724ca5d0e3629c47c54a81306377029a8123584b641a7b442a02e89ddcd2bd57f0c38e87b918596cb1cb7d7d9f12af3dba4c1de9020595985f577d56f1642a03dee0b2c6b8be6de35e39067f8b66018480696c6c334371e26ef3503b573becdfc61bbc6de9cc8ee6c9c10d0a1d1f6689bd911461c2b6fe203b4690aa68980145e0ae490d7e38dd594872947ea8e822be531ae29eac8a9e354e90eb7294a2a64e90952792201a5c25c327474541c23c16db7f7df3bbf51e6d82f3cc1ceaf19d5cebcdf649cc05f6782faca5a8a97eef382b2baf2cda8074dcc1d703c006321560ec089566173a863703789e846b21be64fa390958ad1925d993e636c4b1039c554f73ce5c6c307a8a3c3817189ec32fce34253df507db6c86415ea32a0fc705a79e606e0960afd064a0c92fa9a9409cce58a0705b03c1bf18a81b85caf0e93b0b0845e6d72605b920cd3b9915d6b67734c68ba27f53cd6a7954690b9bd3bbb8494d6649060e17fb9775e42a3e2f1233e58b90723744ed1305397f17082128539e28b4be8b582b1130a12cfc0135d4603ca5ff06edc21db7d4b77847dd2234c95468a3d668d4f17ba881fde18608a03e943d8a46effd147c7f181bcda8c86a897ad1154bda591660a1d029c612f137bbfecbe0cb868cb8601cd0fc4ef2563a96241b191c5def6bbbcc3cc62f4926ff5d3c68bddff2bf07c86f23e483083c468f7fbca2ca2c79d5467ad7157d2cb53a6ce9688ed8ee98f320a7db6328cc00a0cf80d5599bb3faeae8a5386a22ea0b68a9b85d2cecfd2417ea8f2a55cb149368faf86913c1484685de88343c7dc0280e962ab925be7c092b52fa26eb1c1ec7bbddf1f52112acbab135c1d97ebc1d4e43881e744eba02acca0ad015e3d52f069555f88811ae22cc48c9b3001855b61c9fa6753b9b410a1b61718a01b39591c9fe0a7d361889ac8052d13ce2036ff6705359e124a0c967c570aea11a339c322bb5f9c0ac448f15c19a1a1225e3df1c0f29ad84e9defe4d30d8e554889f07deff58b764ffd62f5c4a01664416e484694f3ade2d9d65762a8cee69d6cda65f9f6cb50470224434b35ce4664f431acecb93ed4175396640eccf3002c14be5a220315823a6bcde63d0a8aeda06f73c5838c61f1b7312a895ad0210869618ea595cdb8718a0d7ae7ff70eb6ce97c65f498f5cb7fdec16f70ffafc6670630a7c6f30
+Pseudorandom shared Secret A: 6d206b4b90e14ebeb98f4ebe0f09f8f0fd9d0641bb6cc7dc9769e13774b0ed9d
+3d1c7a80d7f954319185ef880c9517a4fb79ee385927d9c55aa75536f4ebbf8b856a967b06a4facfcb1903924206487d390d4fc407019b82569dfe8ef23be277
+Public Key: f7ca1762ca4ab56a8f8e20bf77ea8fa6f904ea3c5f0f266db5b59785e8085db44c2ee769a36835346cb09aacb28466cca0373c40f26240792eea920c2e850f36089a4569abbe8b31c4d66eced94311269f96fa2ff75a8e20fc27b363218e49442223026039c52a2bb77d820cff348290257b2191451ab9a4e6267020e50ed202ab3522a79e3847512b9c237909c7d8122a741ad160833eea6ed15a3967db81528c6daf94323d1981f5505a983c7dba939356d25c33421f32e0b9bcd8380b8b7becda5f1b6a4c743b350af57c41449d370247f6831182e1277a443fb4192e41c2b69b769e9e058415fa5bcb1c7db001bd72c78c29bc9d1849a5a61098c97cb28deb11a6aa1e79f7c61d6c1bc64cbcf508b70904937916b29874cbf6474b2c0603ce74a9b466471b28c372f4c42a71497a917ced70652fa59d86907409f77b27487115b3203e00c46a4406a5f3a6be1bb8c108570b35b942a7bafd07467231b452b4a8619612141047889abb577347baf60eae9b23b1b52f3890783a876717dc11f1ba241dd32749db25f0f06eac1aa003460dc4368005040948f705718026a528c7b1766f3ad4af26c167170667ccd1191e86a91e11573742421733803a6aaab331842dc2042032ab18187bfca50438a89638350a25162758515f7cf72d792a207a6a710b2a8b9ba4757dab2a2462cc32a77406f29631672e799a1a4571a9c5d55cead93163d6bfc09802f0f8826c5924add70441b83597cb5f3c109f0c689487766fa7f263b8c8c7e4977a5ce68c678395bbe93b70bc68b6b625f6e49c74ba452a91657dc81939f5566799973a38a0ac8846a50a8d696a552487714d6ba7cbcb6deeb641ab8712bde86b3fb994a0d106bff58d65ca5be152202c39635a5caa0ada0f30896d867aa901f96a5a16c00091ab43e87ca84b82344b7b32135c4ac6819dcb4fa7a49d11e0668037291a3b8c709550d91c9559a42f2dd677905850fc899bc549aa9115a85f734bf4912e88d281d7d3bdc07b7a33cb53af16440fd059c0106e477921013aa4c2867dddbc66858b485d505111b350f5b3a5793b67ae9866862450b662c74b97c6a6270398370e3b6095615b3e6c5bcda76a5b8ff14578589a73b70a219a00c140519fc9146930c438284c63735c88673e4d030302966c49b2ca578c757ec5ca12b32f5d8a37347a0621000185b0c49261707e8984bb592c24b961ca5a9f45849aed7438406889ab167e91b21aee25a561eb399c777576782cdef215fcd317c2458611114d45675aae369bc5b89f8998ca6e374af8e907adb826bfbb643f95b79c153817f7946c10c906516b3b405578985d341cc603198df4c01e3b835c7c777d318562004a2fd04a934ff57988933a8e273a2e12419db4739c70c18cba9c06361ae08c0245108b2863c49ab5373e6a5a72a3cd7f8a74cb483c4895283443578176130a0917f3062fffb86f5e200f21775703394642781f34665eea878cd380843ea22a00dc5b25774f65bc0215db391ca698dce08de86a13395400c0e81f1f24035d3cc11a4b0ec8565fe43879b9756b17d3ab4066cc0cb3c470820c6e31cb965039ea808a5c90864343946f6b4b76cccfed60b3bce695593c5e06aa857cdf2a1bdeb4c7103e0eb9bb24c1ee9f2e19f7f79b68892ac663
+Secret Key: 4d253ecb845f1504627145a995d4756d57baec0b21cdf82067e243355204cd34136cc83f79421ead661a468ab2c4ab1333e915625c91e0f4051b112648555224000f289623697055334738273940e595696f5793cf8b76beeb9dbae84e87e53755b3b3beca014a912fbddb4c034a055ff45360acce6132c95f7b71651b20eec78134f1c1e1a3a11518b0f54b0f359c131e738c2fb28ba28952b6e1ad4ac900f2b7665338bba180661d17cc23e8a2cbf1035ac7a59d2a5da8b078c484611203c56524cd9e970b3fe9359c69cfcc865697d22d081b1bc7d340512660d37a3342dba8fcf3b0657ccc6bfa0fa6012fe23c3afc016e05c5508a86ae5335c575383ee6bb515f98c8c8734f93453f9a3c311d4cb44fc93a0581acee92a75f4c35366c255c5a80b1d49ed5f696101657c19960c3299c99f37b73a514983b99c720198020c603e2992975558c56631b24be0693c6835334a582bf169b49102a0264cb93e0d9803ea4acc1e798fa37679ac8736ff259934b29a262531b4b1abe52469de966f2a68f1fb04acc41182ec2879f598334989e01f4769a152cad9c085edc012b69959a030322f0629d6a86bb98299e3729ce2cbff84615468c0dfeac7377084449189019767df2801ba7e675884c3e7c2b8dcc86603a3c81d2a78887a74c5a2439170552975548ba520438199f3623a737cb8c3b85b64a9434a5e06aa9109f4d0b5ee3c352e29bbc12fb4999c93663690368793c3c592a4f1349c3136ad17a53d9d0239e597834c43f0e586dbc01963135a9ba276e7f533358f7148ee7121b06cbf46a9897c5c734477eb2d547a0c4cfbf4ca71210906a29556d05217ec809c9a2c40ad482ced744aa556582eb4e0edba9356073d6f108f4d34133b4a4bba37f51eb1c9e799ae395528ef15aa0c53def5983ba697ce04c34feb3b0f217029a044dc7c2c8cb913b5c59cff083a1d49c0ca6918efc5954cc218452b5777d206fb086653c3c268236b314a73f19945dab5b38f96148d457c444724c5b1b8f37d8b4fdb4c700bcaed7d083b532c73d44c88af4861e775c3cf823e315257d19c0cd5cc9ad701777a744c95153a5ca3f1bfb44de95bc46735fa333071dd441ed819a032802553aad3e196478d5ced29c7e41954b8d56a50a284050b4501230c439daa218b5497d1579fd346a037bb469a927f15337a03163d84c2ec03a7503029a9e742e728105b70500b07734c91765eff5afd3a83b495732075c3d946c461158adee8999f3264c12aa40cee7a4181a5683b2011cd8575d3cb6350c75ad088d28f3093ac240af90c739419e2f51adb7c53db7b2149e3296bfd5bd32b7665c28a186b3b2404566a6770c4c48c819e58cc63bca213475ea2275cab62be73a1924c08da5f4a71838a8d4bace0a792328514c6da0804b46b701e35a144550d733312bd0c8a892bc563cb733234da8dc3548385f3b70980a7a3232a19710c0187ce03d75a20a2e243684a276ae7b7b5b788ccc110dd3b82014e588a23ba6ec1a342fa81288077aa213c3e4d3a3f6011055974f9d6590ce5b6850a611304073cd20ad04b536b2924d21c4a121b35eb688033f626d185cadfb73094c270114f3022c794556d17af7ca1762ca4ab56a8f8e20bf77ea8fa6f904ea3c5f0f266db5b59785e8085db44c2ee769a36835346cb09aacb28466cca0373c40f26240792eea920c2e850f36089a4569abbe8b31c4d66eced94311269f96fa2ff75a8e20fc27b363218e49442223026039c52a2bb77d820cff348290257b2191451ab9a4e6267020e50ed202ab3522a79e3847512b9c237909c7d8122a741ad160833eea6ed15a3967db81528c6daf94323d1981f5505a983c7dba939356d25c33421f32e0b9bcd8380b8b7becda5f1b6a4c743b350af57c41449d370247f6831182e1277a443fb4192e41c2b69b769e9e058415fa5bcb1c7db001bd72c78c29bc9d1849a5a61098c97cb28deb11a6aa1e79f7c61d6c1bc64cbcf508b70904937916b29874cbf6474b2c0603ce74a9b466471b28c372f4c42a71497a917ced70652fa59d86907409f77b27487115b3203e00c46a4406a5f3a6be1bb8c108570b35b942a7bafd07467231b452b4a8619612141047889abb577347baf60eae9b23b1b52f3890783a876717dc11f1ba241dd32749db25f0f06eac1aa003460dc4368005040948f705718026a528c7b1766f3ad4af26c167170667ccd1191e86a91e11573742421733803a6aaab331842dc2042032ab18187bfca50438a89638350a25162758515f7cf72d792a207a6a710b2a8b9ba4757dab2a2462cc32a77406f29631672e799a1a4571a9c5d55cead93163d6bfc09802f0f8826c5924add70441b83597cb5f3c109f0c689487766fa7f263b8c8c7e4977a5ce68c678395bbe93b70bc68b6b625f6e49c74ba452a91657dc81939f5566799973a38a0ac8846a50a8d696a552487714d6ba7cbcb6deeb641ab8712bde86b3fb994a0d106bff58d65ca5be152202c39635a5caa0ada0f30896d867aa901f96a5a16c00091ab43e87ca84b82344b7b32135c4ac6819dcb4fa7a49d11e0668037291a3b8c709550d91c9559a42f2dd677905850fc899bc549aa9115a85f734bf4912e88d281d7d3bdc07b7a33cb53af16440fd059c0106e477921013aa4c2867dddbc66858b485d505111b350f5b3a5793b67ae9866862450b662c74b97c6a6270398370e3b6095615b3e6c5bcda76a5b8ff14578589a73b70a219a00c140519fc9146930c438284c63735c88673e4d030302966c49b2ca578c757ec5ca12b32f5d8a37347a0621000185b0c49261707e8984bb592c24b961ca5a9f45849aed7438406889ab167e91b21aee25a561eb399c777576782cdef215fcd317c2458611114d45675aae369bc5b89f8998ca6e374af8e907adb826bfbb643f95b79c153817f7946c10c906516b3b405578985d341cc603198df4c01e3b835c7c777d318562004a2fd04a934ff57988933a8e273a2e12419db4739c70c18cba9c06361ae08c0245108b2863c49ab5373e6a5a72a3cd7f8a74cb483c4895283443578176130a0917f3062fffb86f5e200f21775703394642781f34665eea878cd380843ea22a00dc5b25774f65bc0215db391ca698dce08de86a13395400c0e81f1f24035d3cc11a4b0ec8565fe43879b9756b17d3ab4066cc0cb3c470820c6e31cb965039ea808a5c90864343946f6b4b76cccfed60b3bce695593c5e06aa857cdf2a1bdeb4c7103e0eb9bb24c1ee9f2e19f7f79b68892ac6633bbd0cab97d92746cec091a9c6b01868fec3e9687741f3c8732537d67faa1fb2856a967b06a4facfcb1903924206487d390d4fc407019b82569dfe8ef23be277
+05ef6ccb978384778646995ad30f5876e5af81c70b868ceab5ef777a485828c4
+Ciphertext: dcfd5daa326e01974570e52d2dc81e50a60229805c0990f998c1e58173a94110de998330855a376f680b95f2b039edf071f3398d4418c7cac4f506b6916318b2c6030e8ef11b4c641ccc7787fff2333e219b4baa53838385f4ce924230f8844c74da98f9d5f3417947b663385e97205ee4013a2732959a0ebfcf811f79248f6cc6dc44b5eb36374623eefebfa8ec82ae365db5c944558cb121a06e8cd523ddc156b6f29ac5448dc97fd4b461abfa4da4ab751b0b10daf6ed6c44f94db3658a5a717c9f2f69a63924731224dfaba5a1f46dbc9c5ef134046ae5a7701c5b478a98e7de216eee6a9308ee4e201d90562f649be99295606bf8e69a8198fdd81782c792083dd82a2079e027a61328be0345477d4f5daf09ef6fefe7aee084dcd9271ea3d4aed91a59b8b9dc1d4338c2e7da8fbe66c8570b8807db86087cfcd45befe1438d6dd8b68c5a601970d737d9c78c12ce99aa9e56486dd67a84207280de274f7c4ff74e71780a88c5d84b101735d6ed7df8bc654e39d90617ec7e6f5072f220bc9f9acb00e280e2ab72a9640ad96838e6e58cac25e75c3a45e553662f169af63a4f9775e3abf03df47e365e49eca9008147fddc5b8ca2e5db867d372c884d7f68070eae8680dd493ba4d3c24a6baf7a14414a73a2e624777ba7e766aa4a58ddd905d836c419155612c0ae5b311691323c3e70cc4778a02990a132c4b7444c0154716853fd2ab1bf7949e727e29186c76346adef4030c41e4392009d98e00c1618abe8bacf20bfd1819c857d60af113ad703d4d729fcc8a4efa56f088901c5cb7398ea4243f29aee03865a947d48bba444daaa9db1685cc7add4c1ccb5e7658ac31f209d62e33ae9588b57b357a38448881a682b4c20af0e6f00f5e7b3af905dad1c3099eafb46d9460d7a680c61d254d42d024c6d762f0e95d3cb1bc7a873557c59dd5ffc89028e3e1bd69f3c1132cd8e1ddbd1d168954884ecb1f1107706b0ab09a2789614248e1d412afebece9a8ae4763d7300de0d8c473159b88326a581bbe8441e409a5f15d745fc67138f5017977b698d72785db3fc48c4798b01d5d5a05e06d39788b9f2ea2598cc4d0072c8065a91e64ebd8083f4ed739654c5c4f4ec4069f0cc6e716af957ce14fa9fe27380468fb1924ed1c9de6567206ff8e1e22d212f267a27a6d264bc77433acd8cc4465bf6e9c496f7c6d84b4f87f68e68b33b2b5e81e7744b020518d892b475f1981e0404f374cd570708c8c1e1ef0e8ffb4916c06f8f4c0d7566b30ffef5fb49705614b4f779b1bc72e74d5b6afb4d869fc8bed94b3046fc261870158176b72585f0ef52f31cd435f0ef7d96af90a69eff0516abc12b5a76fd78dc06ddbdac031e9651eaa03f5167fd26f476c87c395404f4fc2f92854ebc008a513e8c88bfecd30e6589b032c43815a5851a7301e28690d819956edd471111c1ecabccd2819f488a736f0145da6ae4bdfdc3072db00268fbdff25206f1054f698ef13c33eac553c15b4fd7ede6f9fb464b8327dbc53612
+Shared Secret B: ce6431dc01f8697684c10b7b9dd34aa8c533cb12b6c9f81acee1bd56dca29e7b
+Shared Secret A: ce6431dc01f8697684c10b7b9dd34aa8c533cb12b6c9f81acee1bd56dca29e7b
+9f9ee316f750aa9571fdc3fc6e2740be4badc0c03afc2b58678e7737e7d0a709ce1b5adb8825d8a05d95d8f350ff6c931ea7faf9b27a8e7de26947017e4a8010d1bf1980541b31327b5d0d31fada3d863e1ad953a638950a7d3633603666ee906158c0c574628086f46a93286ad02a565a5fd16e04389fb29fec8a1795b9f7f78363000e2f07e3327a37f0dce4dda03a62469e2ec92e8f37785a5c678cb3db08d5220d4e630d2054f877708219077d21c7dac76c32011b17d6f520a317097050d6f5f347587f47de0dc0215ef52d9f3cfb6c709d738dcfc4610ea0f91230d5f0fbf97f7f79b559c61ca4a65894e1284ac2d5a72dde67eac0e00137df447e2e526f9ded5f31f27717065b6bf25d868efb6ca1370ca73b92879a2d302682d89794a1d378f5130267e02332eeb9794d7bf26b581e3443d5edbd1c0b3a9a7fd384fb50d539cdcca5bbeb09bf7d06331e7163a9f740aa8dda350bf1dccc81ab742a097346947aa8e83059e8098e6eea168df51e966b0b039a2b6d399dc877db261a9cc2ec5261edd9cb23ee39990ab936420b257dbdeb7bfa119bb85c9c1240dfd68b0c108353cc57af30edfb42b151e1e14870654a62e01ad7af79f62cdf19fbed0a9cd46295241675d2027f064266844421f0aa2ef65a7ad678f15f4fff91a4796e4ef3c0798d4aaffad85513e4db45db9ac7d96d4c1b6761a25be68d9176661eb8835649184422c8dccd99da978b31b34d5945ffc9019cf400dd9ae07e502f2ea21befd6ee219b75b90380a3314988298157e5f1599a9b0f0b9d8c5355be8ca6f44c25c5c6f0a55404b1ff245ded598bc03295b0ca84e9f06b007c5685a527154ebc2d402fa4cc6b960210c2ce29ed179efe194b68cc3cfa2a52d89c1cdf388c5ddfea03903ce544fc6c74aeb24dfa59af5d6c79b5236a303382ab7fccc76cfd5ba75b36e64a5dd88aa73402600ec2bdc3fae19fc2cc2412c3fe2d135392eaf217538266e84cc7e919f0faa7f2a814b0c7840f650e6dbe6bb96f24105f0aac943e86b45e8d9ee8d2f4f974cf973a3183a8d87073a50ab9671aaee2b923dbf3acb4aafab4620058020c859964c3eeac26836e5cb621f097c8a5c9bcf0bfd55b503b4ab5a5d8e13796cffa8a6b69ccdd009cad65d526fde75b8117de1a138c76dd018d8256645323fe10a70891e9af983fcc77d4384c797c00fe8951ba34a4303dee260665c94b493e93da82809cd0bd1e3abe30f0dd4672dd3b11ed16bc8a4d08a9799b618c070a48dc8e631503a10d17d80ab406f6a58d679e34a1aab75ed75f6f0eb18c08f41846836a3d31f7a8f1e6f31b4184b7b259ada3231f2b7ef17ac2eb6fa715c2a029ef95ce5123660ae695e976a7ead00ec950ee75013ce1d5980dbdb9ae6735c023fd160bba8bf42101213a85b709211ee826dbbf46b2089e951f8cd7870fa2c307a07795d842626db77d296c6e04cafc4b24b5e2179cc96c350077437bef7d4b43f2d7d042edd6f9e633acdc74a4dd9f83801515a83eba1c007fd6
+Pseudorandom shared Secret A: f58b0bbb1b0e0f9188d5a7c3ba84b3b9b32c12fa354ab9347fce2d1d15e9f2ad
+dc3a82244957d2bda0374892f2adaa3ba6ac27f10150c8b44c275bea085ed4d3513461654e9dcb7e8b274727a3a532c41dd92b20ee702422e7efc4105d60d6b3
+Public Key: d2c45864c878a5e95d71a222bbf2555ab229cfb9b264854f6c2b816f2909432ca681c7cde60c8ab69c46e680925997c100f2267f67060df53cddca54a7e78a3b7c0c83bc0985a2722d5c84a48c0e3d2854ebbc53025991fe371fa05353f3e8a1cc9469ad21630703192dd09e66fc46b03279ed3588f5e055cb3a0814c7ad2db174834495a8e18d45298f0ab67fdff9c8235297aea72d567b592d043fe632b8bdd997a2f7ba7b2cb5cebbad40426164f25539ecaeaf800d97097a7a651e03586307bb7b69811a69dc5666aa56437a7510fc789af26ab58982ae322d43fcbf43d66b09963f9edb09f3826e2e4aa67428681a8a48524824a1e6010350778cd4bdba61052506ac72744231e620693b86b44880047a15b7859006fc953a48314d03c9bf367825a5b65f350132b96386ac7c06ba087939b5ca264cc064629186601cbc87764a80e6c633a7d36d514a7a67552dd4d708bed132ad01cfed1826c157c28b3414cb0c1c7e966c9489462b3a8015124bf41934f9aca49b6c6ae60c51fb482ce13331edc55557d4695428493440c39c4c8dc0cb83c0ac0ec41b3fccb60d1a23104b0c42ba61226a6b9fe10226c54c7fe1a9cca8c981366430f710262d06084f167e5f8c6ba2a07d6ed373a37c15db191b845c987ba53d43b621009820b3151381fba7647b8683875766d31d43a84d489ba530e283d1353a8f556c5dc6b212c60840a646bcccae2cb0abb0542f9845ab84588c33aa8de304b39a910672fcc67ecc928663c090e7514bb731ce788c311c59f6e634efa7cc263b01625757d9216ec471cca7e0b90eec025d641b2e295990164cc1026253314cc7c87ba2f65fd1818f34fa33dd30552f32999c8286ff49a328941dbbe8743ddc4edcf5465cf9bbefabb87df937c612ca144c408f8abbc9f42d2f574f49832714d9330fb232f4505d1ca59ecb3a11bd3c2397fc665e03768b814b50ec2c33b751f10a1c6f364c262345abc5ccf2030ba318cdb51401d9d3cfd87884f1ea60dd28aba352ca2e15c48e9257de233b033b98c9b46c03209efca408b0210717b550e269870752bf7724218f66b97500b4e94a6ba17cb306c7699f395e98e11efb4596ea535351a40d32f75a778c6b01c0036b3b34ecd98e9e1a4677153a4dd4a4f0791728807af4920f4aecc0f3e505d8d07925243928103c48535365d8cdaeca61dfa16aa0981b0a72176f806221677bee07439e863683a18aa8d52ed3e95a985a3c3b8078c81a8a4cf13a85f4728f758ab5fc397f40914c83401ca2ba8e8b6264750ecdaa951140a14ee1989538a081e3a0cd9b2885e46f12805ff4da454cf76c62863860cb9c29d20ff4876d564ba6550849af48c68716035ed146839367e2f354933116cc6b311f94adb333c274f9c7366b3c7b967234a1448a33a8fe198ffe073af16893d5b63deb277fe3e6bb9b6c9de295abba6a9033497a61b22ee3789694d09866fc9ef4b6608766878da895b639c4c005511e9b270782a52936003bf2c7e1c1b096d79a5a476837da57ff18670b15b57b17790a7353eb901bad708f845bb1c722bff51ccb772750e8593e24383136bb15630337429302cf84c32010082144b61fbb070e41907edaec86126cbb0d127b16c2dae1dcbfaa5f67d4dbc23e45a38c5062c60693ea
+Secret Key: 4cd72a90d12d66b7638ffb057ac67ba7172805ab367ad69f7d0a9d362a07952b95e502ad3b78939c9cc02bba81cb8a59e8638fe315af4d5c481314219615909661746b76b32a969b14072c3f04950e1b67355715ff3b9c553a3634a8cf5e99742a259875c41ecc065315f7c25c8619030432d5f655e52011ee4636819a9c0013451af5ab33149b05811424a944a9c674509298f19085930c912a3194f1b48944835c701c8e2d599a04b1c860507d04c52162e517e4b9ae70dbc368471751c199920348c8dc62dc76205bb595bae61f73c789fccc479d307955f82a843005136a6524f30df651106da4873dc44defd57323f2111c74a583319257561a218c1fcbfa6ac04b0711139a790a0d6c67608cb907bcbb10266314ce109416224f65454fa4c90c11e8c2008b97b3277a77936db43244d78875ded2b38614953a88c04a63a54694020675441f7a6def00a4b687a0bcecbc06cccd9ea05468990d53ea26e6640864fc1305050b3eca2a1ddb491337669570579849ae9dd6675b77c2da1c3f53fc7b1d02a1ce39c090a1baf703b909a24cf02b93c5134f1ab20cfdc611b79303ca5054e475b442c8b998430a40435ee0a52ef2614799f08a4e925bbf426201bc198fcbcf3b70b226a52fcbd4303dd13e85a42124a83885d62398eb8bae975b8315bbdc877d53066b2e7b957f385f4218a7cc1305e1fba2fe388dcd169d354605db849eef1192d87a5e91a0c8617b95e8e9458d791b1e83bcad136f1aa422d6c3b2801a5e29f7b7adbc7498047c102857565b362172850662b5e03c80952a5daa943ce7b46e9b98980c113795708e347162ceccb3e281c7b4565ccab03d37a63184ab57437727df775aa1870509799050c2b17de9a94c566df9684c848853533781f958bf191447824b3b1cdcc4a15abab4b126a088b826319be5144b3741770bf55277853c0d600faa852241699baa6793745ac8f8348da31a74581b5f97742f03db7bad38804df7cfe508a232b6c9e2436e14cbcd33bba08733cd9f5418d610b1c3f6441d3218f9669023fb2155e09269d013296934efdc26878c8805b46fe9a9ca45c0b24e20ca62a933b86924535b26dde207a79516432c99adc46d2fcb483fc35123da0a55a420eb1b8eaac82f4b514122da4b98f6c63cb25f5aa952e517443c68378105b72f442e2ab31f12e4b4dffcccbab42c7d6942e713590a346caa6884a77199d9c6869093ce54e398e3d4ce14579c456c2d78b9369634aca7770c628a5b49fb7e0455a1cd408d918c59e4e0c46612910ea72e3dcc0daf6005f316c0083a496b9941733c354ac6cb4d691f58117cf7acbe2d085302eb1e7c9aac906a6220e516b89197ee5a2dd78a0db76cb1daea0dd684c741cb8584b63ff9594851515e8fd278da82578da993018b8ade51176b4462259a47d7eb7c2b7bbbf792c6145acbc8a6cb796064323bc9a77743bea2cdeda6699ce4839b9b5bf2c6462ca362e43b8c00737fa6e7686f750ab5893d67817cf4420e64d5580fa550b5646b36db338ce83fd62b359208516323964c414258270d3f3c7c504315e97c47f5bb26709b66bff7c50f09b209da682ab370eab4caf9384e6061be90630fc2a46fd2c45864c878a5e95d71a222bbf2555ab229cfb9b264854f6c2b816f2909432ca681c7cde60c8ab69c46e680925997c100f2267f67060df53cddca54a7e78a3b7c0c83bc0985a2722d5c84a48c0e3d2854ebbc53025991fe371fa05353f3e8a1cc9469ad21630703192dd09e66fc46b03279ed3588f5e055cb3a0814c7ad2db174834495a8e18d45298f0ab67fdff9c8235297aea72d567b592d043fe632b8bdd997a2f7ba7b2cb5cebbad40426164f25539ecaeaf800d97097a7a651e03586307bb7b69811a69dc5666aa56437a7510fc789af26ab58982ae322d43fcbf43d66b09963f9edb09f3826e2e4aa67428681a8a48524824a1e6010350778cd4bdba61052506ac72744231e620693b86b44880047a15b7859006fc953a48314d03c9bf367825a5b65f350132b96386ac7c06ba087939b5ca264cc064629186601cbc87764a80e6c633a7d36d514a7a67552dd4d708bed132ad01cfed1826c157c28b3414cb0c1c7e966c9489462b3a8015124bf41934f9aca49b6c6ae60c51fb482ce13331edc55557d4695428493440c39c4c8dc0cb83c0ac0ec41b3fccb60d1a23104b0c42ba61226a6b9fe10226c54c7fe1a9cca8c981366430f710262d06084f167e5f8c6ba2a07d6ed373a37c15db191b845c987ba53d43b621009820b3151381fba7647b8683875766d31d43a84d489ba530e283d1353a8f556c5dc6b212c60840a646bcccae2cb0abb0542f9845ab84588c33aa8de304b39a910672fcc67ecc928663c090e7514bb731ce788c311c59f6e634efa7cc263b01625757d9216ec471cca7e0b90eec025d641b2e295990164cc1026253314cc7c87ba2f65fd1818f34fa33dd30552f32999c8286ff49a328941dbbe8743ddc4edcf5465cf9bbefabb87df937c612ca144c408f8abbc9f42d2f574f49832714d9330fb232f4505d1ca59ecb3a11bd3c2397fc665e03768b814b50ec2c33b751f10a1c6f364c262345abc5ccf2030ba318cdb51401d9d3cfd87884f1ea60dd28aba352ca2e15c48e9257de233b033b98c9b46c03209efca408b0210717b550e269870752bf7724218f66b97500b4e94a6ba17cb306c7699f395e98e11efb4596ea535351a40d32f75a778c6b01c0036b3b34ecd98e9e1a4677153a4dd4a4f0791728807af4920f4aecc0f3e505d8d07925243928103c48535365d8cdaeca61dfa16aa0981b0a72176f806221677bee07439e863683a18aa8d52ed3e95a985a3c3b8078c81a8a4cf13a85f4728f758ab5fc397f40914c83401ca2ba8e8b6264750ecdaa951140a14ee1989538a081e3a0cd9b2885e46f12805ff4da454cf76c62863860cb9c29d20ff4876d564ba6550849af48c68716035ed146839367e2f354933116cc6b311f94adb333c274f9c7366b3c7b967234a1448a33a8fe198ffe073af16893d5b63deb277fe3e6bb9b6c9de295abba6a9033497a61b22ee3789694d09866fc9ef4b6608766878da895b639c4c005511e9b270782a52936003bf2c7e1c1b096d79a5a476837da57ff18670b15b57b17790a7353eb901bad708f845bb1c722bff51ccb772750e8593e24383136bb15630337429302cf84c32010082144b61fbb070e41907edaec86126cbb0d127b16c2dae1dcbfaa5f67d4dbc23e45a38c5062c60693ea06a515ca3be2bcef2260149e8638dd1c95cd4e73e538103d8fa8c0e58c5e503a513461654e9dcb7e8b274727a3a532c41dd92b20ee702422e7efc4105d60d6b3
+199f95387eac5c567c54e4cb043ba13ac9c078b4c96a5c3eb971fdbfa786585d
+Ciphertext: 8f5e7a0643dae4bbf512143314fe55c6ecddcd01c15d6654821982ca146304da2683b085d9fe30a7abb979a514e9604be8dfe2acc7130ab5408022f4c49c9688223f9b6024de2f887d95a199a31b4d636cda2836f890fb0aa596d44b57dca2f0530eabc6780309923208b1e976d2ab5e2efeb1237dfd9fa640f5d88d81ac2474bf08bc2d8c25675d6fc8c65e806fff8114bede1a0c22a33c33f5e410f73bd9a7232388a839a8954da059dfb918a1421545b9f0bfdac0e5056efd8aae781967a7867e421156e606d30a4f17f8ee9c7c9921e38172e022d9b5a740fa5aa59412c84d6e375f2ac53e0aa51c2ae15a86595615a2ba5900d58ab7517f2dffaa9f01d9e7207f52a77e6eda9e14208254c85e5c347a76df3d74a1e1a80ff70987a51b6bf64b18c7426a3086e24b4309a36c0db317d92af3405c2e1fad5cbb5ba36b4f41e0fad377b9661eb9b6014f10d227d3af4bd693cfb378b576f7878b2190c54b8a29140fc7c6edfbd460b130eb9eea49f07653755e5d3037de73dab4c7d55d9f092b23d1081737102d6c3c1321bf9ca9e66ba12408f113cf8f69d8dbf6a44760bada5f8e525ba2a9fa725a5044c96c6ecce047a300ce3a80759047823cfe9ac66f02f850e3cce02f1a2b0f88d78345f38c31f67f706ea51680b8c423446a5032668b763eb49d8e82687beba32e132be91e233166f464b8ff7b7c6129cd3524aeff585945520c4e866bdde87d62cd4d248f1204eb9c304e7db97b685ef67ca35da504fdf0fd84f8d50b2402b549c89c8a71053d1fccea23431bd46b3b357fbf1d311ef93e7d38227028a7a296d19af1a6ed776b4fae91374653bb1ddd95ee5a2aad36fc1de274b3416443d6c9512d71cceef75be0cbfaba8ab8d9cffd5bcf98c01883e3d3f0b1b6983894688075bc5cca0e72c52a1c21acedbb8642a1dff9ae27a1139d86bc11b90cf5db4911d951ba3594ed91d5da9c526b48651a6b042a83b5584a8ef6403f64902b2d3b16dfb6acbd593105333e0d785e32e1c4e221aa9211416360874e66684fe72d3d8e8dedb3a0e4a099aee880183eaf2d3b01279432ac780335d297fe74e84783863b2c826cf694ca53727e8444ff030b9ece1b75ffdac28cdd6bcc53570870091889ccdc03a0f65dab34fd0d70ea72da5073b1679b9f43247947318c9d2e8b549c7fd233ed3f0c463d741d3c28d6496d600991f8de17fa8dd201d2ce72d78b902903b189372585c57fcea1b9887594939044ef7a6fd6950f2e61f5ff5acc5b58d29c0d90b073d1484b46b12805efc42e4dc5f2c7953bd3504276ec2884e0de38b32d4f0ec574ae165c73ec061ecdbadc017489a64711df281135e66b96c3333c3fe21d3099018a790ae56acec4ab4c51ee12c4f09359f580cf02a3f435cd1d4616a7b767ae40ecbd6a00bacc21efc0ae637fd9a920b9d96024bb3d843016c02fe3dd94401ba67fa66df18c4ef5061778637bd951001ffe1905cfbe987ea616802e62239fdb743ea7b5f20ade9afd35b79de72c73f03ded
+Shared Secret B: 74501ee5df8c79c0d93bd7ab37f4af57bde87400ecd3a40b90255863bf6c19bf
+Shared Secret A: 74501ee5df8c79c0d93bd7ab37f4af57bde87400ecd3a40b90255863bf6c19bf
+4668de90261828ed040feb00e7fa76b12a0f9737e292026c5c1d23f391a34d768b3a3addaac4e504336423f8f62769b289e306479f0bd024d713e5d88a5d0c0c6e44eb4048413a5236e5f0619a93e11f141c1d5ee3f998f67362174d3ba714111fe57d8a1b7d5f82fadb2d6f3e72adb9b5e366778d8d378b98a531d986122072ab8df21c0859b099594f6304265b520a14efabad9c423acf74e398375f4bbfc23cb90bd1e21ba5a431412d3f3a531fe2d4505dc4e825d1d09df341dea0a13d0b7ed7d580d980a21851fa2fb24aa878e5b699b4d0108035e7e39634fdf5edb0634b559b60c5e50b0188611514858d943db57e274557858d1a7ce6e7ad03822a96ae163b79ca533fe4d7d09012cc44c42c3d5edd6409582a49e289ddda01f539328b15e4ac2ddc1bc403db2bcf71cd285e0d45ec63a60cb958fc6aa0f15a1b0001d37a13a32ea64d4e1e8bee74fe4b05ab8e11b7d3256162954b6bb1da36507b511e38e0e87cd404c55c9e5d8c6dd625c32a2872b62079986f30c1d4695434f2e0a008a21a0664eeffa7e743a785cb327c88d2bab96740b2ff2bae69642c746a5b2fe2fe27e5aec73e202e3a006c434da733c903c6551ae4772e6c9bf1038e5560fea780583400a5bf0832cd125fa23c12444bd4be8442e1d7e72e2cfe3973b6be8a3ba73becad041ac3b1e9d2e03feb32cdb398962ec8387d95d74784409054c71b282befe1187748f87371a084661adb55912d6fc5a38d407ca25e730e6bc973ad136694583317fc8677b635e7ec86d60dbde5c343f69c47fdbe1aee8fb16ed4ca348f598295b4a7f44c9354dca5ebedc1da55822ab8f83e2db8cc5d83c341a84880ff75a18e25c3dcd9378eeb899f63122f65d8c225144684beed6b88816151ecc0abfef154ff4651f271ad2ddd594a234e644e15ff2121788a46ac745cf4ebd926154d8fbe71c23679cee6f8067a84a8c616212bcae2a23df9730bc7164ceb166aa4ede1e2b6d8bc061880418eb206f17834ec434b23132355784efbed0d3e6822b8eaa50b7df6a909fbabe654bc85aa06009be8c71cc179d5fea6953e155dc983df18379d50e8d24bf93b796cbb11248acfb52f9fa90ba6457f355072a835d4d4e73db7a4fd8cd7db0983aa73cb4c62f7a010c09219c6f55a6e3f426afb23a26688db9b114f9029c8058908490eb7a6bd82ce3993e24ee2ea053be05db1fe98a16117b3f78d9ff59e92db7bccfbef133dcf6e182409cfe4d9a7eb5bfacf3ad3b22ea3bac1a82031859751cb817a1d84af492b93f8bad52b8ad5e26e93c915f71c7c1094c71a08b82472344b3e3572301291ca4fadade3cf10f9ea1ce65b900b9551cd4c83bf00d09fef313a7a2498ba5ec9e150a8f7263330bd10ab9424bc706ff664509bf4a352fdbb2d2790d4a55cf904ced9e156b9798aff0f6e07396d30810f5ae7e7a9fdac9d81234c5e03821a527276cf632ac1f743108217675f9a20c15bd56ba0d4d6a075ef0826ca88d1a5f5ce2aa68301c84ea5fca5569a987b
+Pseudorandom shared Secret A: c517a416c57bde3864df83ac59c0432440cc67eb457f31e5ed778a1021e2eeae
+4a61b3741f6062938252f8e9e4771f68c8099e024ee1766a422cc4fb29737602b5b1700b746d1db1e067caeadb59ef06064d72a56a40859c2e383f1cceead099
+Public Key: a4eb2584ba6d4fb6610df960e6142c2822a2fca32482f31759d3c8fd072f8ec20752a3cc98c106d57384edd0b6fef723095168cca69701315e465c5b952b2c100c9888428d8d196ad98bbfdcb468a4b68ebb6ac32695cffd8a0effc192c7c66a60484d104858a4c667db182ed391510ba088020b1618c2bbb9a2c3f6da155276aa43e539aca19fe07390e004ce2ddbc59fdc9fafe1a389544fadb3599d462532763937013a33f781e29ab5c125b47cd269b94740b95193b5d39671c6141acc15cd8652cab0647490509178ae041261cb9ccd6440a2e223bceababab1d712c3b38239639e2641828af54f6bd3c4f5266e68c73f901c18d7177aca17a753244cd38714ab79c495fc7c3cd2348d5085bd214c35a37c40f46b8adc6e5524428e81c07e4888111ba3cd58631dc60b7de1798aa117a7e79585c20d7cb740df18a670f331f7b4b90e00acc5d2ce3fd9c06a5922f498ab819801f4ecb49bb8ccfc025f8bb26fb5b6b329b0c853018ef14572b6e788e0953acda50563487f6d502cf8a7420e734a23c635ac0767e30c1050dc823f9750cb92051c1c06c6dab70b6086331b7db1e72be75347e4b548f62b709df7076010507e3173e41a6e7c773b23a40bbd823cebc09561d63a03354244c479e568305a34a15942266ec2920d750ca226084469507c217aa509b46e8b59332966aa9bcc1bc357529256f6b045a81582593a48270b08dfe392d83329360885fd5b760d427a553961ed870cffe0cb6db71bdc13c5fbb77d580a25f37343e7313abb1c7068467842586097c055afe9b44f02c686db0bb9261ceb0c5856fc7fbe2a9318f1c60c13171bc458c3b048363c0e1dfa2b722c326c95b58f97a13bc1c45000a14696bbeb919c2f4473d804946ec4146c4998320c35587cad41171038cb80dae77142b94180d0c6428598dc06a99e7a11636319dd380cb206b989b4204c1932122a0b6d2ca3a418ca5882af9cb8792db4485078b4d6262f57eb2088396a8ce7c3f60354f9ba3146604fc6b771aeb25a8a695dc1f98a72ea420e34bccca43949b0af29127d2a8332557a7166c053fb239253158a9b8c96fe4a1e8473061e8958b1178de5953872588e58e786fe0159a431352be42d9c1110f93c9b62b316f0b290f8651f0d5715b401c78a80930b8441e934575c42835aac7ea84477bfb7920ec6b5e6781bfb9c43b4cbc3007b835b41b5bbf7848de647453a65ee778e47a2841efc36fd82c9602aaecbc50ed06c293d877a4219c5a6b9c396bb7e64b812adea3ebfe83d86161c36e728a833144aca6750da872d33ac15882c2616b9f0ea3124d1be931096306ab312c477a3893698c15dbc1285d0fa2bebacccd98c4873c63f4cf18943b35b0f4a460c175e91a622e302be78b481524240cf63470bf9c44c648a7c270b7310cd2ca5a40245677149ae21755e92110d053a4bcd472c25393d61898b2994a801181e151681b04394b0a89ea2b3372cb40506aaa17874870d1722edb139e2d96e5cb45ea3822fe501d00ea8b9a5bb648ea55133311dbffab67ba8b6c45cc258f785499887dc0610726483cff9a096377f8b86a4f2f59e59a433d11b3832c05ceaa42ba8b7092a548b9400339899f7abf8f3e77f9b7aac439e9ebe10a304c853258e32006e75b063e3361620
+Secret Key: 80a582e77201ae47afdc3668cad46f565503be217e00b7afb0b3592859870c65272088295c73483d4445d34800790658013156f37c5a84928c778b5b619bb6c8a54a5261c5a2d730e84c3a1fa3b002148af72280637456ff3ca5b7c465eb4776623006af72b636da52a9e2882e2356f28c57d382c707d77ae5b67b3fd6c5a98743068cb32c3ab8dd21786b36c227d4b87e106d371ab16734846e583ab858468ed14a3708007129480bb68e0d0b1d743c2b3df71bc640c10a6924655420c955360d6715d198946e2c81f6a31ee89057937553888c38392a6e3bba7671826d53aba5e0844fc07a042af507670722f8d68e94d87dbda444bba9372a010caaeb06d821bdad142af96702f42ba3282a63e301ba6dabcccb94c5a11811b25033a33578d894bf81d2a7a8b4629505c4db77bf4a734ca7cb252d695a8df46eab1845ebcaa2865c28c8024056372686cc2292fa09ef3b0b81367369b786ff69876469c609c28dbf78baae1ba45e121050e2c30847299cec23e4c9669ce5a8957a79ac64159bc74a77b7530fbcc1df69c51ef7852b2cc2d9e503a541308673ce2275407d361652c3529678c7fa92818fa4052f81958f165e97087c5135417b982e37a9aa3e603fa33214e2f68e47c7c0109a0254a11122622e42794c4826c57bf2c9fc12a5e5ba6608e61375f53e6b4582db7a4e55e41baaea2f2e68541576b7cdc07acb89cde35bb2afe38b0048b8e440b66fa375293acf47008010abae226bc1762ac969dc8c3edb42bc7987b9485c4be44de7b05f75002d42640c4828a1e9495ac66311414498b329840e65907338c947a75ffbd4178781ab4ed4b779c4b242195757dc06595b11f624ac2c139d97e3177274710c257c19c15d67f053bd285bf5f36abf4344b1c8b7b424abcd685492e59602bb58ea6a16bc4aa2aabcce1cb78a482b6a697a0b96ca1dc5602ef79900d7c7895ec0ac3f032354a29591303878170fd9d5b758e80ad024c604c95594830da51c24d848abd1e50980bb78c9c8aaef11b803513023765db706c3d73cabfc15caad663cec4705ea5482766b2add23be35435ef675229004b19217246b12ad83cb4990a5bfe4dcce5e93413bacca17a87a028523ed6985c7c9432fb8a2fe498a5f56cf2240a186103ba298282f5b8b15a8b0afd2375c7b4a1bca20deb77b94f6b1c03c4c4344c44d9851f7178823a1c216a9c6c7526146f33b5ce8cb58da0586dc2f23ca6326c1526e6b1c3ac1a0f597a8cffc9c0a4385c256607d183edd24852855a30748af3f827dff601e2df2ce163b2fdf9a4e4ed6644d72c15c880b28fb506d710f1471610aca720995ad06e950a687603f173bcd989154084653847407fa1322796fd5865421d212e0b3bb451a3c6527a8b152a489b475b1388d3e222b34b09a99985339070fde84ac96e5bc48120d004862a3c294996b30a46c72e6b9081bdaa6d14a06dea944da1a21544a230dcc30f261c57f083db9533cb9809344c635fa2c2688165b016c29ba444538e695e9f83609c35b8b362f664623db915176d21ac896a5c40b1dd8824ca8d520f47cbc092a0be7a5231749217359c8db170cc335b6841a51b6baca8414aac99642a287b2a4eb2584ba6d4fb6610df960e6142c2822a2fca32482f31759d3c8fd072f8ec20752a3cc98c106d57384edd0b6fef723095168cca69701315e465c5b952b2c100c9888428d8d196ad98bbfdcb468a4b68ebb6ac32695cffd8a0effc192c7c66a60484d104858a4c667db182ed391510ba088020b1618c2bbb9a2c3f6da155276aa43e539aca19fe07390e004ce2ddbc59fdc9fafe1a389544fadb3599d462532763937013a33f781e29ab5c125b47cd269b94740b95193b5d39671c6141acc15cd8652cab0647490509178ae041261cb9ccd6440a2e223bceababab1d712c3b38239639e2641828af54f6bd3c4f5266e68c73f901c18d7177aca17a753244cd38714ab79c495fc7c3cd2348d5085bd214c35a37c40f46b8adc6e5524428e81c07e4888111ba3cd58631dc60b7de1798aa117a7e79585c20d7cb740df18a670f331f7b4b90e00acc5d2ce3fd9c06a5922f498ab819801f4ecb49bb8ccfc025f8bb26fb5b6b329b0c853018ef14572b6e788e0953acda50563487f6d502cf8a7420e734a23c635ac0767e30c1050dc823f9750cb92051c1c06c6dab70b6086331b7db1e72be75347e4b548f62b709df7076010507e3173e41a6e7c773b23a40bbd823cebc09561d63a03354244c479e568305a34a15942266ec2920d750ca226084469507c217aa509b46e8b59332966aa9bcc1bc357529256f6b045a81582593a48270b08dfe392d83329360885fd5b760d427a553961ed870cffe0cb6db71bdc13c5fbb77d580a25f37343e7313abb1c7068467842586097c055afe9b44f02c686db0bb9261ceb0c5856fc7fbe2a9318f1c60c13171bc458c3b048363c0e1dfa2b722c326c95b58f97a13bc1c45000a14696bbeb919c2f4473d804946ec4146c4998320c35587cad41171038cb80dae77142b94180d0c6428598dc06a99e7a11636319dd380cb206b989b4204c1932122a0b6d2ca3a418ca5882af9cb8792db4485078b4d6262f57eb2088396a8ce7c3f60354f9ba3146604fc6b771aeb25a8a695dc1f98a72ea420e34bccca43949b0af29127d2a8332557a7166c053fb239253158a9b8c96fe4a1e8473061e8958b1178de5953872588e58e786fe0159a431352be42d9c1110f93c9b62b316f0b290f8651f0d5715b401c78a80930b8441e934575c42835aac7ea84477bfb7920ec6b5e6781bfb9c43b4cbc3007b835b41b5bbf7848de647453a65ee778e47a2841efc36fd82c9602aaecbc50ed06c293d877a4219c5a6b9c396bb7e64b812adea3ebfe83d86161c36e728a833144aca6750da872d33ac15882c2616b9f0ea3124d1be931096306ab312c477a3893698c15dbc1285d0fa2bebacccd98c4873c63f4cf18943b35b0f4a460c175e91a622e302be78b481524240cf63470bf9c44c648a7c270b7310cd2ca5a40245677149ae21755e92110d053a4bcd472c25393d61898b2994a801181e151681b04394b0a89ea2b3372cb40506aaa17874870d1722edb139e2d96e5cb45ea3822fe501d00ea8b9a5bb648ea55133311dbffab67ba8b6c45cc258f785499887dc0610726483cff9a096377f8b86a4f2f59e59a433d11b3832c05ceaa42ba8b7092a548b9400339899f7abf8f3e77f9b7aac439e9ebe10a304c853258e32006e75b063e33616208fd08c6224ea03ef4f4fd41ef9dfd9f824b46cee5c30797447d1010b0bedc910b5b1700b746d1db1e067caeadb59ef06064d72a56a40859c2e383f1cceead099
+aaa27cf609d025e2ccfef54e154a7bf1a3df8f7a75c0d915cd91a52e2dd5cfbe
+Ciphertext: 8de90a96c97ec18674c8c41fc9716b19d0cd732c8d04dcf7e742406e30cd0cceac1f38076b5dd999d01014b972c4ea2fb4086757500cecd3eb759fc2c83118dcff43a3581585a9bdddd7a67680f1aebe1638920129d636fd3aab93ffeeada1883b126f2a854049b3445da0355d8e335040cdd582b13958d6df0375116be13a650bf8df8f42132e5198b894e3a679957c3c38edee11708fe2b951a34935291684df14e683ed02985d42ce78254e46cb1e436c75b3a6c13bcf5bc6ff227ff308f652f4c6b4fe24b304910a8b6aa5c1ba0fe2a52e868703dde43f237f129d60b21f2629968cb744abde0b69e6cec8c17c9bfb328595392c3f5e52a9d659a1bfc4e03c7364c274415f6c540e32f3493abf39ffaeb1ef0a13bb5794f5f836e9bd88878902104cc033960e2520fd78bee9cbfc69a794836c3cfed56b6be2bee7dd2853cddb0008c97efe5da76193a0250d1550ba0b1f5c6034701ea251c6de1c7964cb30749cb8f79d67c2bfa6d6c7e9c09558d2ba1bd3b0759cd005c1c3e7c63bdaefdaa4bf7377da1b5791aeec8e938c0169855d5d1b183777c711008334811ee7083184e6c1c5d728f258246da19210e053e8087a8e4127d17482bb93e2e1b998ed6c2ccc20e9c97408c019c1f627647f374295b8fd106780d5f743ff2b42dfe15b8ff9d0613a8ef45ba035ef41b529453f4b195fb105b58cff71f4effbb31e913cb284e29b4055917c0c8adcff72c102a5befa15fe19592138270f37bf50d40e0e8b0633eda582b17cd690eaa10c80212b0eff9a1bd9934a52f1769629eed8eb482cfa88ee3217f95719246533403b9759ff2720cb9a001dbcb74fc901572bfb1e3a780c29f50cf0d70b67a29d748cfaef8ec53fbe73480405cf491c1caa7b20940bd02cc7575079ee16420eab5b64096bcfcb5e54134f447badcff098ca6661aef6e9995a00602913593aa23f1bf03f8220652713393086ed82c7cbeaf99865e6a2cd4d6ba1184208c4725d970dd1d75dbf22d6dd95e5dcf984298d1ac14e22629fa60849ff5ded83279a999bc1cddf6ee85fd56c7ff462c29fe63959528e4205822a77221c97fae346f798b656c2ddd0e57fe7ca673dcbfa2f77b1612b4d1b7e3c3083208cd7667aaecd119831551ab4fd44156637f825a69d817317c9bfa66449a88c9e2edb065426b05fc786aac357d1799dac7550bef70a248a5bff6c675fa5fef78839bc73028cb07bb13334349930cb1fe6225989a8281a649c25097ee048d7a1fecc45d2a06ad69670f0b77ed419c2315eae64615f73d082b6b16b3c1be60665d172ddb308c1e3bf3e057fbfb08b884a1ab104d8dd9d86777407c7d95c138c71496280e49590087376633fefbab93bd8523e71f8654d618071fd6b8cf7f6d74c8e0b02c907fe4e0ba6692872edc83c5d47e9829507380f67ad51c0cfa3d123156c40d88abb25e461c1b85f601aec6a21229f526ee99c69bfcd36cc3bea2d8434b9cc42871bebdfaa63b1fcff59ba6a9b6dae19d0f080c0ea0b2b11e1d1
+Shared Secret B: 4c160e87976e75f9fd22e9f676a9096ea1adaa3fd46533757d65ad25ba397899
+Shared Secret A: 4c160e87976e75f9fd22e9f676a9096ea1adaa3fd46533757d65ad25ba397899
+1d34f158eb07d45f10b309ee309f045af62c6ce87710e005993a8c51d057aa97a69551c0c91ff37e0a8ed4957f87415f29a0c80a4cabab79867a728462c84b1171f736edf727b341bce56ed429691f6489dc95a0c400e9914ad4988543f923e56c1af51a1d4232d58e727fb0f7253e63e37fa9864894926369bb4e296625f1f1949249a2d589a882f3ecb68e5a3961337d1f866ea19d67b385bc48416033e9ba90b818532217fac2ab9335215ccc9ea89c8b4d59d5997699fb8193b5b2364ca1c76e447590302daa2d699698e361caf019e637c01a0b08ad9499f62e41d2a97175520f16bf80da1b29d3b3b25a55f2fe2843053c2f4e7020c3d00aedbaf140f5cf24bc16a00c92c58f77bf26997a21b97ecbcc37c97e1416cb78da4a05cab11403f2c08726bc5bea1464873b145f4e0304b43ae3e93f280507cf4e1824a3dcdce209bd7176e60aabbf012848092d2eb52f9da8223ce6802498416f587370b7baf4f3930190c56ebd2b6d5b30851cd9bf5bf9edcd00cf4f3bb78f45b6e6dbf9e9e72e5f74e2ffeaef90286b486718806d54b41d0f918cdb19efb2a500e04d415b7836c590307850a4b607f906bfaee89f7a07f729948d489d0461530cf531c46020c8e1058e8d19e7cccf6e862d7595ff95c64516236d4853e9f8af6082318dac5f4ccf18946549e5ff717ffc84a12c94d1931e916f68288614912a0ac560840fc64e5d2faf80200a0c074eedfe961c44e0ee78193e898b7e05c2a660775aae8207053f726cca20aef157fa3a5c6c413c1b976901a9281dc29a6de84dc623664d7eff3e2d3922983f3b0363499a7a62f4f803808f7194c7d339bd7ba7d229914597751f32add5209198bbaf3fd4534f4536ca4fdbcd6450f2352c500cc4059a9c36dc6b6df7696c9f82e6697cff03344fc976879f10640a1096e228f7ff8fd6cdb36e8712bd9be8b9713d6aa0ff93a20fc700e80c0975d0be83e29a2d3bf02bdd27a070121b4becdcd01714d17d98efbbf0c72d04dacd0b32fec37a2f3c4cabc73aee17254ab03ef32e23993b9fbb6fd88c4de958d7a8ab3dd6d7c5f0b92cde98b5acc2060915a2b07fd59b2d72449c832f174f3fa5012c6be666246399e935fbec920b599b4f5868b15d936a11341345dcb50d813be50e82e5a2b868ad115002715bbd7cca2e45d131c7fbb1cbfd97a741701bdd2d6fe70018d655a7c24e9f9926c44e7d38057e650a808314c7c404300d63e77d02a255f4d53c2634e3b81c8607271322b0fb07a2917fc4b1827cc465e22f55743d750c0d063b81886faffa1269c758688b8904e3059f177ce50d35fcf0dccbe9c8ca2889b500cdf2f9ec35a2481402270d233b86468ad8713dae3f4ba7b9c781c026bedd2befe4635b0eb9fce68b85716493b88bdba339ccb2a3d9d3fe7ad7f4d3555b9f0dddad2f2daeb185ed73f288f9ec1043b8ecbdd458b5c7afeced103ad84dd41e611ab603dfa9a09c977e37983bb79f92e665428fdb8c7022739fdefd55cd456bfeba4a0ec1314051
+Pseudorandom shared Secret A: 66fd20d3dce1f074ccd2869c6b04f3fc3034e026782067fcaf34399ecc0a2a16
+502a5c1cb848be014b7544dc3c9956033e8490d6a99b59e483a0909c6b35722dd5030464634f86873a86cc6af498c4defab54300e70f11416c8c5ece7c6a666d
+Public Key: 67d547797c1ea34c2c67065dce35294a079eda2a024e378983dab80225b4be869f80035e58c33dbb653f5c439e71547dd3785a024551e37403d2499926b46ff4023f91318217f49cfde5c30819b4938c8aa7888a66152d5e117cf0361d3e13760d796ea3a8ab6e25a687268d9412cca738cbf07392c508b4349b4ae36c7224e2cd6c314e1468a4c9901aca2661c765433ed626955b70f541ac2e902f7f1b8b86b0cf3c19566c2358dae6c8394403d1551e17743f73946b99c740d49c2c9f0236b9b307e5410e92f1a468dc419c889ec5ec3e23e28ea8ac2246f27ed60183b084cfd340849c274ecb0437e9e8b31f536dbd61597ac742de9839e2838e58e48c193b3b99744c9fda39d6a29ccd16804fda9f7761229d9b7c0757b48e346990e348f4b22c0b975fba677d7241cd3cac06506a5f19602b72b9aced6894a8314f2fe723658b75b9888ad0310381fa25c64737e19578beb566c815110e8c844c417781558f48ea8fcfcb3d564b17d34a158f6266a557ccc1ebbb9fd11516339aa1a2bce6da900e9446ee0c11b2e11d5d184902b6b0b598a9744377bfa82bcc238abd792026c99a4382c27f8b1cc70b908fa6c791cb736b41726247a98c40b42835130220c18a086c4023543c8a7a60b1b9c405528f0acde947614de554296414531a5bac0650a5b5bc0c106ef27675cb68ce9255ca9d3b4334c39a9a06b9aaf82fdb354ebd567f49b31d0015c97fa28f40f43e06915aad436445b18b2f17abbf105325912a90791b7c31cba4f7b9fc90cc93e2941ee8c12decc45f8696c8f665f9c19a3ef6a66b0bc344d75614412a4d2921458058935240bf90c1673aa5d0348bda2197ac92c4cd22aae6968ef946af95cc57c128bfe1474f20eca336eb657e6143dde9bcd444a0f23b565b039395717088a457102a6f8836c83c123580540e20eb13a94c2af18c6093ecc408ba69f944714fa8a9f4718e97e33a3c3515aa112f6eac28384409609c6cdc6a20c4fb2df06a57d9420152ca94a32345f2061def9a87afda7f6a7144bfc86d3e4cbdd12253748b2cc30323f00995b53c11f4d46971792748183ac71a719db5353133ca3d3b54083791e3e2c7cc4c56f69801d7cba519ccc266728b8baa25a4cb1355875b7d767eded95ca17a5da63086afd534cdd6298b6cb890a0bc411b4cd469b7552885f6a07b4c1a8b76168aaf5bb265922393031c95e3bff1955d787c9ce1226985f351f3079060937c142a5b372c1ea2f29a1cb6ba4a9340287973e9d69d8d73cb11ca1e62170db29014a0c88f657689cd9775f4a5a8844bc98e3a38830b80158c1cf1898d914b1eae53b0e58363f4daabd42b5befa4163d34941318bdc74639bef20f126354e4601c81a659ed5091c7393da8b393d2f88afcd652194769b7ac73bc0b11050ca55d680cdcbb383760936595a30934b7e223020957a9fe5a025af7c1ebcc68793b455b4250aeb2309a14a1a9535970038714ba65940b9c7db7c636aa94e8f15b54772dff5311174064f2b2a5fccb9987984d6711874e75005045ca29e83bc16c21f6060ce2062ccbbbb9c359b3fffb63fa630d7a563805423c0f18b37a1ba63ef13b8ff71492bba0b3c751e9a0b693ec9b47b3a416a38cea14dc24241d7fac6372831d3956f9e79dfddfa8643923
+Secret Key: 123b74c2a8865612af2d11479186c0ae37af9bf46bc26b3c24813c1a3970a2351cac5b26651a50688c4c759aae2fd42e69d98b3903150ff60134d037a82bb87c534367e2606c26975238a89670a22889a6298ccdc23287e2e5447fdc3050703665100c36457ed2a3056c538cb9f974d9f8beab8b8551a516ebbb625b314d4ad770b923682437238110b18586584f4a70261381df4a286ce1454786564ee7cf177060eb527371784adbec11e9f38f6e903d90e504c0f007272b1f8495aad82b66e9ea5dd4a7a0d36ba5b7413d3e923bb312136e837f3a398f74a41aaaaa7a744c3572e002d63a10177437158a93f23a7496a926cf998cee5b17dc95555a7028f6420454e2ad27515dd3ca472cacbc70853ad331cd11928efad0a1fc308c5cb80a5db8cb73c2a799b56d701600a27b56c0d71fd7877c7f6bb137321bc122a0b894485b45cb6b4938ecc3649a155d78780b80b95a78269776981478820d5a4841cd6015ae27b73db98156596652809387500b29aa62d44c3ad99409c028cce79b6452d5474ddc927e34a15492c14722525353c266600b9b189af69531d091b3b6803557581803006aa1b00465ac235f6267f0d2164bb522e6a73d4c018e88a1c71b380e8fe7508fe5cc471071cbe97560e734f874a918904da4c8bb0d0650ea7c7068e830b6e311597bbbbb6ca26fb699eb9600d7bb6443831c19d5bec1cbb513e13b967460ce0b6eb0ac3170946d60830cad918d12c017c232c268f7979d4bb65ba918aa358a03d9bdc089597f0b8e19abac52996ba20ab428a5a0591721f852867f025d51a81ba687a5d3c7a815cc90bffa872223a9dc601031796f17840b6382b59c5259bc56a30575014e830c7a86c4fec8561da81d92884ddbb93acbd6aa7f5433041aa3d965cddf422066c41de279278d987abea349a6b1c7179c41c1531d1f000da88177fbd8364f345c583b1e7ec28eaa592dc7aa8b4e405c29e8a45040b41b4686b011c09d0774ae790efa2c4acd2c179cb464f5993c6c10706b887ef2c816b643498d92c7e5040988568e03964c77c0a9ab89b37c211ce3a9c0cdf73133a49b575b5b1c8c0ffae2bb46b676a0a0b0c97836be52105e64ae8a32adeb544462f88526124e8469622095c3692810721629530b6bb2158a4df0485cb2cabe896dcf7b288eec5d7dc8c7f0e44d44d55125e41bf1406b38f5b49305079c30c98144904e871d29ea05acaaba13574bfd35a740f488eb2923b8c588ee848e5e882c46ea99271c92a3b30481a002a47b5573f48277647ef9b010a0523719a88e44645f49b3ae0c022eb95754255bc855169150c6b57da9a2922736ac8ab355b919d1b9796c901837d7160b59be2cb6793dd2cb2311a81e50674f946cec64b73ae17d3447a8e74b160c1bca9fc976baa42a1320ae0cac62e791086686b6f7d6417ce17568523b3ae02aae913727d254d4da185bea2a5cc776b633bebff4ad4a6a88dcb273a0c85cdc4839bb6b22f10c493178436bc26f7ed8a0ddb41996611b8cd91f6e81a266497fe1e39cecb789d35abd557a37ee8471880a5e51b8023fe997b9741ec2a3c8f7b79af32b2021c176bc0858de8bbc4d37112f52af317c3c0acac167d547797c1ea34c2c67065dce35294a079eda2a024e378983dab80225b4be869f80035e58c33dbb653f5c439e71547dd3785a024551e37403d2499926b46ff4023f91318217f49cfde5c30819b4938c8aa7888a66152d5e117cf0361d3e13760d796ea3a8ab6e25a687268d9412cca738cbf07392c508b4349b4ae36c7224e2cd6c314e1468a4c9901aca2661c765433ed626955b70f541ac2e902f7f1b8b86b0cf3c19566c2358dae6c8394403d1551e17743f73946b99c740d49c2c9f0236b9b307e5410e92f1a468dc419c889ec5ec3e23e28ea8ac2246f27ed60183b084cfd340849c274ecb0437e9e8b31f536dbd61597ac742de9839e2838e58e48c193b3b99744c9fda39d6a29ccd16804fda9f7761229d9b7c0757b48e346990e348f4b22c0b975fba677d7241cd3cac06506a5f19602b72b9aced6894a8314f2fe723658b75b9888ad0310381fa25c64737e19578beb566c815110e8c844c417781558f48ea8fcfcb3d564b17d34a158f6266a557ccc1ebbb9fd11516339aa1a2bce6da900e9446ee0c11b2e11d5d184902b6b0b598a9744377bfa82bcc238abd792026c99a4382c27f8b1cc70b908fa6c791cb736b41726247a98c40b42835130220c18a086c4023543c8a7a60b1b9c405528f0acde947614de554296414531a5bac0650a5b5bc0c106ef27675cb68ce9255ca9d3b4334c39a9a06b9aaf82fdb354ebd567f49b31d0015c97fa28f40f43e06915aad436445b18b2f17abbf105325912a90791b7c31cba4f7b9fc90cc93e2941ee8c12decc45f8696c8f665f9c19a3ef6a66b0bc344d75614412a4d2921458058935240bf90c1673aa5d0348bda2197ac92c4cd22aae6968ef946af95cc57c128bfe1474f20eca336eb657e6143dde9bcd444a0f23b565b039395717088a457102a6f8836c83c123580540e20eb13a94c2af18c6093ecc408ba69f944714fa8a9f4718e97e33a3c3515aa112f6eac28384409609c6cdc6a20c4fb2df06a57d9420152ca94a32345f2061def9a87afda7f6a7144bfc86d3e4cbdd12253748b2cc30323f00995b53c11f4d46971792748183ac71a719db5353133ca3d3b54083791e3e2c7cc4c56f69801d7cba519ccc266728b8baa25a4cb1355875b7d767eded95ca17a5da63086afd534cdd6298b6cb890a0bc411b4cd469b7552885f6a07b4c1a8b76168aaf5bb265922393031c95e3bff1955d787c9ce1226985f351f3079060937c142a5b372c1ea2f29a1cb6ba4a9340287973e9d69d8d73cb11ca1e62170db29014a0c88f657689cd9775f4a5a8844bc98e3a38830b80158c1cf1898d914b1eae53b0e58363f4daabd42b5befa4163d34941318bdc74639bef20f126354e4601c81a659ed5091c7393da8b393d2f88afcd652194769b7ac73bc0b11050ca55d680cdcbb383760936595a30934b7e223020957a9fe5a025af7c1ebcc68793b455b4250aeb2309a14a1a9535970038714ba65940b9c7db7c636aa94e8f15b54772dff5311174064f2b2a5fccb9987984d6711874e75005045ca29e83bc16c21f6060ce2062ccbbbb9c359b3fffb63fa630d7a563805423c0f18b37a1ba63ef13b8ff71492bba0b3c751e9a0b693ec9b47b3a416a38cea14dc24241d7fac6372831d3956f9e79dfddfa8643923a65181d32e55dc9454e10f3aec4e0ad76a53c481796386e914c91f2e319aeb61d5030464634f86873a86cc6af498c4defab54300e70f11416c8c5ece7c6a666d
+5d7bf12814ef37a2c5b19866fa4d1816d96edb6bbd3ac2ceaac030a509ffeb7c
+Ciphertext: f157bef1e8e51e6c908b9c6139bd3f0f7dc90b33e0c14221a890730ad2e1de8d4d60ce06985990b2f1afff925a641f1ce20bbb1b71fc1ac40acea2b381c5b2efd7e08780509c6411c167b4a3481b3de5bc5110579af59d565f176daa78ff62919e71cdd6e0d405f7f96e512038cc8c69c348405977d103f27435ded4dc50164bec88de9211f9f49cde6b14cfd915f0b1ea404831a899fcdc436ae10484a35c85d23cb50a805f6b6c93047c900df22f73fb6d52bb6dc6a4c7f577dfadd3469761215aadab32bdc52ef8306ef2de250dbdfa8e1336055244dfadfb2d5cebb76274f08a2f29a8cc16656e76169d55251774516b6000e89b4bf4ee3b7a28152ad079df9926983ecd0d8980e169cef437d326ca2787b84969dc3fe15b62de14ae1b0672901a522bb6b273f950cd0554529c3cfbf534895b10d0937eb064b1e41f5ea9a670596fad947010de3d8f746522972ce7e5f6d547cac71fcd0cf54da445f9f3a8ff29b5d8716beed4f22c1977d8502eebb1a911e19256e1a79a90b0b6ca75fed926a44a88833893e9aad76d4e63fe4be6047b11f03973c97d50c15deff14525dcc55b5c127ddfc64c2580cab55f91b57035a4394dc4bc90f821ddcf5fac93ec0528be90d19ee3d00f1b8b67ffba01f09fb8a6809c4a7e86e70b7d3649a9db764a31ad244fc25feb15afaa94cc13fbec92fffa1a7d631fd5e166622e9a657db5504e77f87800ffb3e0472ff0d37191e0e00bb5f4688ea90ba2129344ae8c600ca52a93886b480b5bfb7fab5dbd8543cd9bfdefabe5ca4b35a6f6031f84c042ec7ebc4b02e78ca37fffab213e919ea91cd3a29da428798e526ee48ee5393bc89586504a5fa39a8e448441dd8c4b55d179dd0bb95044972034c39a1ddf271c35633100700054acbad92caaa8d16867b9172b5884a3feec3a616480e359f8ba5c9595bcd56e84ffd022bc4b83c4859131f6980f79bd0cade12eda5697ff3cb621bc158466e512e2a68bced5e1f5314ebd51b843b8e71975de4c476a3393a57ca122608b9ae378bf5e83006a584df400d256f40aa1ce3b81d5d383bcff52c21d1ad9e9420fd7c12793b7ca3a459cb53b6194727430f1804003793f828e07aab1f2c7e214cf2fa83d23cba5211742f78e770cd2649f82307ecac55c1edf90d7c6499fcaec5d13f3c53d1edd751f4282ec200b24c1e789c6999b963d79ff41e29e49f986a978b01bd0f4a18606eb666e1f61384dda500cfcd3776f5f597f5f511eab140553d5ce2e3ffeb20be0e668dd8e4708f395e79476b9e08f91c2f2e9989c805e554aab3a7c245ec2b0fce117b896c415d27226393c24ecf4fea0550fea3094fecd39230f60d044a582eaea57453e3ac113b0ff1b0a11313b7c120f6c0f88598b23a76a0fcf04befcef63e322e6211dd13069e61524eaf9be65ca689da6a151ef4e9673c2777a044dddc6aad9fffc2a4fa87a95885b2f8f32d3704c228847292a1f066e6547b92d551c58c58e7658ccbd407b4da2e3a15ba0bdaa74763ae92f87
+Shared Secret B: f13c116c64b86126a0add668ebf8971448645c7f1a27fee80d1be5534a9bcb19
+Shared Secret A: f13c116c64b86126a0add668ebf8971448645c7f1a27fee80d1be5534a9bcb19
+9ded50e33168d4379efa62ea1c910f8ef50cfe634ef695b32fc8acf5c337f6c190327da23876b7292811571dbbe70d0df28974c8a868556f2de0ee2f6ef9ce3bcd232455ec7348bd109cedf9b601b258c968d8faff8f079cd513f20276e07b0e32f81436fc9308a13ed92f3abca2fa109f8a63ab999de373510d8ef6056a5094182e83432ea57decb2c7b75f68bcc78799c396e2deb24d10fbced0206c58a2129207572b204aa82efb52b587a50f7ca8da8430b10a9e0ad20bbe3ccc15138ac4998c939d043bf223014be90812444be9bf83be3bbd35b029a1bd2005ae8227c567e767aa4b9c2eb70e05d3d8c787ac3118db1a96a94ffd44dbcfb3db04b0b478ac29e23198bb185f84e4bb77fa5646f7b9a03c4d7a03ee27dfcea1b7de2e848183a27e13d728fecc9df95b4d73b162cf0996b75e40b11949124157a5219606da568e0a44461340bb025011dea143d67ee17afb45366c8ca2a0fc1cea23f679e6132b5af823bda854e761becb2efec8257150207a03de711ae501ed5cb5f51309d5c304762cb0c29b5a2f71241e7f8172661bf7833d4f115567fb8e27e3da0202222b1579b2f8085ca8acda9594f08854dfd618e72e591717bc8ae29a4697b58aa844ce86f1b8ba7197d7ef317b6504952800d9a72672bcc3e8fe5700b2e83e040378be615f9f8473289e70214db7b61446247c9eecee601e519c7c86d6e52245e002c9aded5c095992cb9a7d94ac7024461ae345adb77265d7c4b08ca171173c7d50f549c328834dd7a6703eb37e167a849b3a3aeec2945f35c85bcdc14e84de3e6e809d4f25a139c71dd732258b93fdaef1ca66a5822453196669263e1d10520c8412f558a79fec68fa89a8c1f51109808a948669989eb5b288a706a0dc1bec874622967c770b88970723a214cc1e0c1c70ae4e0a83cf9297a0f19f97c2fba6f7aea7b1352fcbf4681340e45e064892b8060f2853ad8f4abf84ef7f2263e6d6662e1060ca1760605f4f29889e2048c86483d9c1ab961b93120468a39c22f760670cba32c1f326a1d47be1bc58d3e2574c851c4f8e2f082e5f9a16cdef572c98afa8ad8d0297e6b8b0585159b5c4c2fc32d5cc47d2a0f50e191ec06d4662ddd0bac5be40f20d2602cce37e7ccadaf2e12395b54c0aafd3b84416164cedd72543f66eaf2640929f3871749b7ae628ca29ac376444bc8d1d31dc14afd7748d2576115cf60a406e1bb44bfbe646d98c743ed837329d3bdd36921cb3456c3590576f707f12b6438e93404eb1c64042f81c40878a9e6f118b0efe719e5926b761aa3c15313027263c5e3317c1436a3fb6459b4c3941878c4321ed759a554751528b25b73805b3e587b85106152378578e3b5921f900025eac7ad66a2e3996f32a0f960fc2776e9c1ee7371b3dfc99970980195f918ce911dc4cb327b132ded6024148cd2ddd0b65d7fb8c2d762d3b8c4cbd22c5e5589cd7b342c066d426e7eaa7a6fe53ad9949fbd2785edbc2200a9129dbdcf39e109c1c750df19cb620a3af48396c
+Pseudorandom shared Secret A: 3807539cf4997de4f6d692c5cb6f910a389fbcbc6f7f0e08c6ca159c829e553f
+8f3dfdbe813c1ee938b0e8d6d9b8157ea1b25360f453fb6add3f6495b38d3b0ee68ef4980a2028a59055cb6ffb7adff0db03ddd75c614c3e4509d45524a58bbe
+Public Key: 76246208ab515865bf0350c3a6bcafc949cf4334076ef166533278f0a81599421688c1c62947806a726ca2c3198f780ddc8cb081c23ea0b849281a4f6942899c03c9c0cbaa394b31176c4babd56fc984a3c6c31f1f1a714ada86a51aa46c56415eb4ab42c2305d01540df6744fe6845ad10136882685199f14312f18d366a8222233b80d06953ba30143e4aa2b745cc4e7142c9e368fa1717f37d33f923a263da54c494c50a9c02610e4137a789298a55a704b02e8f25b94119586e006d6a32e98381088a718572ac5480652a98a171f220c87a973021c469b523872cc5f141c2bdc0b30b56939ac23504dc25b3e168a5c7b9dc9a91e5ed06f0ea418e0f41827637677f4449d6143b83872a2e164b4748ecd0a82d27c770c2b3c88ab2be686165da99d70325d3ec4bbf6d2c293708f8252b854817ca8d871cb7445993b518332983b8c35f92ac9a043aaed3b782857ab59b21b3132804b82636f3b6368db97f7548c6850c79e0b7f5d744189654d6d5a6b8d1c45edfc614959061be6395666a0e57cc0519c32bb790aa8e32580a08a940ca9b965265218816618a9b747619d97ba43d40987d7a27e5c6f5aba3b76d8bb74e24f9688ca5729891947cb3ea92f825141c6393f34f086153a82369c8fbb05aef3486d3a26486de78ccfd722c3b60b5b839efb97aa00279bbf7b2a4995c7834324306698333b36652c54fa2362128888e6f41e67bb6476ec8a41869de567b3fee2a4be196d7c3cc0cb151e37635def050184471fc933107d81ba4b6281f8e5681aeb874df04df8b9109657aa03520965f751bbe8115fe57f3c33b472f84f6797a0a077ab0a3b44aaf1a344476e70c097948ba17b078de130c9ee932d09498b4d304fab6a28ce283e486c9c8fb345a9c4654db6a11ab2078785ab03623a545855a11b6df3da96b4984d83cca311455dfb858ed5868766eca49dc32e24929f28f83105ba8fbff3579252b6e99004186180fc151fcb68398cbbbe28a3a91a551b019150525b0899fb071c8b415e6b62082242be2844d35081f2ab8f80b04f28f196f6056537ba61ff692f722004054ac9c51c745623b263214b8d56816cf045ca5b4e1fc412dae13b223536a6437731f1291f240e9ce0ad3a288fb4399ba1f77d52a16ddd824bec2ca1c8406ea5b209aa027069a3759467484621038f612459c364d5429f9cf45883040fdb974a8aaa0823da1d35eabc87d16082035da99096b50b15492749139ac7ec7c5d52967720d7a0b3e431c6633d7e7bb3c02c86999a3e43141098006b7c99875c919e769c966e707a1eb51d282868b1a5903ce26a41bc3bef70a13724be1b171a2d4040821615cac072baa79f2ff56fd5082d9fe9070e68b2bc4315932a530f835a9ffc1b3a01a1f4f635840852552cbe679083a52842dbf12890f3b15a1b4d3e253bc0d6a1cb126e3dc599349b5ec0775d8f28b317f725cd1460a4d087b8305269a992eca9819b9110b4d83a061aac17973b4bcbcdf8c92aec838e533c304bb2c6cea3b580378f0f593f08182f205744e3f30051cc344000adde909099362c52bb1917c384fc03945231611fd519a0a30efcdbc77fc7c45d0b9d3580452ea13fd993140d12397c0d9047dac25ca9d6236c46958d24a5b369d1f54fea4880019f34dd791ab553
+Secret Key: e33bb034a640b9230969099295998b19567b260696f3f64da3d13ac6200a8c75861346cd31b8c894fbb3aa104fb6fa741a11767136c9222a2795478cee3186aaa6cf93e849782c48a30a10db29736f3807f7b4c669950a6d3a65597a7a8300432332c3e3c55db1b045a7f10e165245493c4988d09f6d34cee442158370139eb44d8b399e41f32184c2120b09af1ef16e32d22b74443aa550a60d7831e50888760bc31aa1cfa201b88ab6b11d710349386892885252e6059dd6a283b91643853c4e457862260683dac30d20032ab05780934f2af0cbccf71144daca99643105462bd547adfc21b7cda4c8b3c8a926815426bb480b6155f0a72ab3b6429e1b09e57ac006420a3861174f46ca33799c97b5bb55a091d22484ea537f3d733a5afc1ff0e400518bb2041ac1e07385c50cd0292b55b533000b29734661cddbb03584248ce6b25642cb3f4ab33d92987ba3469946e819b761b140ab74e9f503f1b29ecff76bc95b7045d2360bc247f60091a69725032b2aa1f579248ab376a36435141e61b6592928cb6b2b0695299f001187a4a5993498c151d80630a779fbc373c2e39dad9825b2691f7d33cfd21c8f6a4c9e1ed965fb2c35cb5b087fb726d5358bfd00a1cabcb1e4ba3597093338b03f03b12c72f580edfa246dfb57d526042761b24a4c7bded6449f2776e3d899ab40047bb09beb824ee913b8917781fdc191010b69589800053276b1ccc7f8d62babf035a1429df2d2b1551cc86f500b41e4bf8ed8bb7a1b4fe41a02825073a7fa225c82311dd175c5c510ddb912bcb0796517247afb952d2325b624245e2115a5e730b14439975c7948e4a7de0a11bf199349e4babcc9b28b538eab8911a5c9543f33a432d0b6ecf511c1b72b482bbaaed395074652801375ab066589c80703479cd9c12e8b08791de722c1a17681902783d65fa248ca69f933179534bd856e929c9d39fc2146072d8374323fc031a4e0a1d8d6b09ceca62683aebb14436f082b5b411bf186928ba04b616813f044bdb85b248c953834503d37191e51016fdcd66d84ac8ce907133cf623db76086cb1a4aaa1b2868b2dd3d78d4020c059c5bfee65abfb1b06d5272d0ca1c8fc31b33d89bc5da1084f2a8920f0b9c5b7a8ac74ac76d0c5bb9c68aa633a7de775e73854975795713a3ef25ab6f83613eee3bc9a26aa94d4161ac0139568b98650ceca11a7e8b6737b60add9968b105b93b709290f60a58ac5b4958497d851a4fc1443b5f368e1964d5b35828c1c32083c8bbdfbcf43646d76f55df5ba1c47bb368ddb7ffff20ba8d81239692950f7c8020464dc57858a113f90eb247c808fea2260cb68386094c0884c494e030171f851f8769e2928bded897da7d260bb9301b27c0abefb832db94d7611723b03213c9059146118094c0ecd754259f5986a51b8e2a890513c8060f337510c8b0ecb77e1792d90c5b5ef66715755467bea25642a0a626172e27827366b9e9675b09d553c57f1247086049b140cbdc5970efc5202446a8f01c8653135c4e904ca836059d470f0b45e8393c40fe4c5a18b7700bc0410e78158e1cc5bb98b9b496e2ee0a2cdc112de1a12369c14efd32dc3877959802b6cd0220a311876246208ab515865bf0350c3a6bcafc949cf4334076ef166533278f0a81599421688c1c62947806a726ca2c3198f780ddc8cb081c23ea0b849281a4f6942899c03c9c0cbaa394b31176c4babd56fc984a3c6c31f1f1a714ada86a51aa46c56415eb4ab42c2305d01540df6744fe6845ad10136882685199f14312f18d366a8222233b80d06953ba30143e4aa2b745cc4e7142c9e368fa1717f37d33f923a263da54c494c50a9c02610e4137a789298a55a704b02e8f25b94119586e006d6a32e98381088a718572ac5480652a98a171f220c87a973021c469b523872cc5f141c2bdc0b30b56939ac23504dc25b3e168a5c7b9dc9a91e5ed06f0ea418e0f41827637677f4449d6143b83872a2e164b4748ecd0a82d27c770c2b3c88ab2be686165da99d70325d3ec4bbf6d2c293708f8252b854817ca8d871cb7445993b518332983b8c35f92ac9a043aaed3b782857ab59b21b3132804b82636f3b6368db97f7548c6850c79e0b7f5d744189654d6d5a6b8d1c45edfc614959061be6395666a0e57cc0519c32bb790aa8e32580a08a940ca9b965265218816618a9b747619d97ba43d40987d7a27e5c6f5aba3b76d8bb74e24f9688ca5729891947cb3ea92f825141c6393f34f086153a82369c8fbb05aef3486d3a26486de78ccfd722c3b60b5b839efb97aa00279bbf7b2a4995c7834324306698333b36652c54fa2362128888e6f41e67bb6476ec8a41869de567b3fee2a4be196d7c3cc0cb151e37635def050184471fc933107d81ba4b6281f8e5681aeb874df04df8b9109657aa03520965f751bbe8115fe57f3c33b472f84f6797a0a077ab0a3b44aaf1a344476e70c097948ba17b078de130c9ee932d09498b4d304fab6a28ce283e486c9c8fb345a9c4654db6a11ab2078785ab03623a545855a11b6df3da96b4984d83cca311455dfb858ed5868766eca49dc32e24929f28f83105ba8fbff3579252b6e99004186180fc151fcb68398cbbbe28a3a91a551b019150525b0899fb071c8b415e6b62082242be2844d35081f2ab8f80b04f28f196f6056537ba61ff692f722004054ac9c51c745623b263214b8d56816cf045ca5b4e1fc412dae13b223536a6437731f1291f240e9ce0ad3a288fb4399ba1f77d52a16ddd824bec2ca1c8406ea5b209aa027069a3759467484621038f612459c364d5429f9cf45883040fdb974a8aaa0823da1d35eabc87d16082035da99096b50b15492749139ac7ec7c5d52967720d7a0b3e431c6633d7e7bb3c02c86999a3e43141098006b7c99875c919e769c966e707a1eb51d282868b1a5903ce26a41bc3bef70a13724be1b171a2d4040821615cac072baa79f2ff56fd5082d9fe9070e68b2bc4315932a530f835a9ffc1b3a01a1f4f635840852552cbe679083a52842dbf12890f3b15a1b4d3e253bc0d6a1cb126e3dc599349b5ec0775d8f28b317f725cd1460a4d087b8305269a992eca9819b9110b4d83a061aac17973b4bcbcdf8c92aec838e533c304bb2c6cea3b580378f0f593f08182f205744e3f30051cc344000adde909099362c52bb1917c384fc03945231611fd519a0a30efcdbc77fc7c45d0b9d3580452ea13fd993140d12397c0d9047dac25ca9d6236c46958d24a5b369d1f54fea4880019f34dd791ab5531c46635207686b9f7c74d13e6a38575349da78bd9858207f42879622dd4652e1e68ef4980a2028a59055cb6ffb7adff0db03ddd75c614c3e4509d45524a58bbe
+cddcc3daeaf4adf75affe1497085f6d26aa2c8495dda5fcbbc3b18c3336feb04
+Ciphertext: 5015edc1975f3783abeabe02ed744cdff4be4839f50c049ae7fcc3a627587097dd988dff4e308ae67a54cef1b1b33197d51e9f66f3fe47fd6088ea27164120ab7753d9d163be5e5cc22102a1e19cce6fb09706c4a24a64f51b9b04ba08ab7f4929de1499517da76f670ef202297a24ff96400b82ff4b8afe6ed0d90998cfdfaba66e9e1b80ff0cb0df67fc0fb4c3af8f3b81e7cc458fb8d6edc55f243e60a5baeef76f7cd515acb94cfa0846de2f91db73bfa52bc8d98fd317a4f8fe9fdb909f02e8b09e85041473a8ac8d61a09a23d3de2d5743652f5d9dd9a306271f8ae92c0770bd8b9f5226235d972629aa8bcaa65f97f8348e32747991770fac588c1ecb6df4a9c2d52dc1069edd1ed64105c3a94c197ed84bd64abb3413865b3df864cfe60b30bbb0987769e7402a61e691c3b75882783c824cd58abe8c04f4cbf1ec9f2dce1850d1a581e7dd4a3109805a6b2e0a8838ca3db6b5455d1890bc27caa0b52c9c92c998f2f4ff7569d5e5313fc543813a5b22e6a37da107a4c29d2af17b7a69fa9d2dc046a23402dbd535715fd14e76560180e51bec8a7f8d6eab5ad0ab1d5948694e0daae2039b23d9b92a046ae787bf36bab83769b422e446b85b07704103972bb91fa3eb9cc2bc9009e4326d9b05dbda50404348c71bd4d7a976c6449f0100faaeab120c5dfc6f1dc96762eaba16d0c9679fbc4ee647c2adce99016a65b09ecd5b96e4933eadd4425211cf6cd1cf724621ac708db4d411c07b941db2ffe13c0d2fcb937b7be28a872820d999185555190b4ad23f55d222d085b7c9896e948af047924ffc341189ef7a29578dbfec8b2b84981ec08412f9bb322c36ac6a46400467168652659cd7916c6e0dc1ce3cdfc04353aa369ee80fc82df22330a44c1a4a385a5b53f10815dcf1c05a5e7d59fdbf6ebdd89492772697d7ddb537ba8323bf32f774ee44ac4d887462cf24a906c28958a7638f23935b3701dc140d371b1c72ce9f448772c349806fb1a29349d78f3e0a852484e102d44e584be272dc44c15af1cbf5f56d727ce4b833696d60d1397ad8f64d4a930e934a194a8d49365e8031b8df8c12881af53b7f572caf78959504c989dd363970d813b23634764ddd4ca8072ef7a8a8f8781dcae4884bafe4a3820912944d0386a879fc7a6b632f663f1b07934920bafe427bfbde68e0b353a954ba1d66d859dc900ccd7cab9a6900e5e0a6aa5b36731b35482f1777ecac07fecaad9c309315eaba5ccfdc7ff6978d5abb28c914640f8792e49ba1fabfcaab0fd5575b498c0e54fb91ce2b2fb2aff49795f0877ffff9c3a91c28be54ea21be6ecf5b42106e198f83140fca9e9b0dc55f6037252ed108f64d584766813b9aaa7d97d002eb0625f622cb475e34ad02281595db360854d7bc4cc05e7390571cfa75c257589660dd1f87663418b7036915ef42e1030b3f2f68332bca1791e468b9cfe40f4325c7dfc74f425a33c847d2d88ddbe6028f973d619176193935f6bae1852d6640d288d6792bd73a54d71917
+Shared Secret B: 5b9749aaa2dcfba52ec09a852e998b0a4fb5adacca921214989127632f1e9d5d
+Shared Secret A: 5b9749aaa2dcfba52ec09a852e998b0a4fb5adacca921214989127632f1e9d5d
+e683354e1b790403d63de16b73edc42a212f21420906cac35aa8afbeca09db33f611cb417f2dd676fdc71233d6ba2ce2052f1e53123e87934b573660a309b9617358442f6df5a1cfe964441ca1cba6381ac8b786d899e0bd40ebef43fa120d39848f48ce4aaee630119f5d85a74ee14571c022243471f2914db351964de09bafd3fa79b4b513c77c4cc3a8234319f51f30718aa1b5566a4f01f4757d2d56396e24aa5ad78a679f31b9ee570189f3c8d84af85373f8c79689b10868be6a1f62771c90b867e14327be2d4bcd93d8206d4baec93711e64336b2ec563d316a5f28a90e223ac639019edc3c9642ba68712b7b6e10d47d3931b753eaa87891aaa949ff8f081a647ef51449ef939393cd75bf526634769d8a1bdb67fe756924fa7e8588f12e5319df6d1f14c11c70036777a047eeda89423fcb189ccc6730f07b517d179ba62bd9c0c78d8a4bcd6e15a75c2f7a169d3037306f4c2755757fa6278c6714d73c3d8a1d505455ce7579d520eaf06158042646cbec8202ab5bdf5d841841b53846d274aa363f870eb7a4dfac96105f0a78de8125d02b9d19da4af0e241cb16b0bf7177b01b1c9df1f03a99484e76c5a9de7186803ea94fe62fc5f3ef44fd921793f421a9815e83eb1be69f39baac7c532c0e0a474192b4797406ebb3cead68a4118ff721f955123ec1d678ff16dc2d8b830fd1cdcd5a7535c7e251456104562faedf73fab4351c1762fffa0383acc3de16f05243ca9e8f69caf965df8d9b17265abdc2e5de6d96555f512df47ce2292af9e733d22be3cc9e63b741640ce04e66e62d2f2ec279c9b81901103ba187d0def47f38927c47c7799edfc22a4e82c18690a304b9191816a33ce5d09a5016d9fc2d4259415d848cf60f36679a5afcda68307ce2084f8ac3238412afbcf5098d21ae0ef3533d7c338a7de5778684ef66f3174a8165e4e541649ddbb53a9bdf264e7ea9772dc1505640045fcaf9d5d2b712c762ae62f373c0bb884bb5061c53b07d920041a6e193bc57236e16e5de9b31695c318d2ca1cf5c0a029d19da195d5b0df80408b1303642288ead67276f1d8fc8b874f238368b326ec9bcb5b06718256790a6ac97be8e357385eb3925716d816999eef26a4f402d56424648b98e8c7ceea74b7748688f47e4f0587ebbe51b8fc619a15c2b25a90e9ca2328a6ec35588af25fc85489d05544077b970242824cd301b6324f4aa270131969d5536c366f8e911af3a918409f06ee0b2bf5a854032a5a076423dc10c5d57a4163edd73efd9e674c58a3a07b0c583abf365ec7b76cafee223fe7a401cabd3148905a17f33785d7466d6ab3f319bd4112102cbdc959ec08a995c984c41fe4893b9f6e502ceb2ccd6dfa60b53ce3259acd7ccf00c33331588a71308f6e382cf3a009448cb8996bca82143c1088efd1a778daa69355db9d9f289e452a74628b5f6b0423e63d3a287f32e1fcc8cbbdd7abfd743d57468681faab25c813ee4977cfa6b709d5767a9ba28c5d2c67055ad1eca108dd82d651a
+Pseudorandom shared Secret A: 5c98246998d8f876e423b8e398b0245d761e9bc5a41a0ad35d91661c511736d3
+dca12657863f52c14a949947e013b90adac75cc8284af858628ff2ce82f9550fade743e5b3eb7cf583b698dd214a77647284ae4b3b65f4725284f44d9ea4da0c
+Public Key: 0af43bc49c4a1f315e73c3647f09315e105bef444aa60566c1880bd08512ef9a7545a8863ff8750a942cd5e05ee4c3a94b807abfb3612f968cc9c622ad0895ba1570ba79ad8c8c0762004f6bd706a8a4b1477ccf3af828977564a75768e48505ab35692d0b9174445d0ca225be961463c4153570bc63e44f15eca0c560579d489dabc69211985bf42946999754e119bd5f05871dd4b71feb0dfe638622bb6a8e797e653b8c6020879a3610a78b0c248a8891f77031bb24053c67d5431ab7c13a436ab71960a22143b5e7094d3e5163849526d3a97313e10c2c0398ca755be33cc8d1b490adf6139140a98a633aca58cddde54682ac4ab41a017e004e86eb9026aa0d3fd7b9f0c0c31b662e2bf9cd1f5901cc684670e92a6c3c2f1a13005b540a3fc24d96991c86e36da3cc5ae504721c7a8aa23a906d699e1eb81688ca78cde64aec3c256ab7c60bc25b36c89b5db69f01f3409d993679769f07000e41d38daa8cb7bdac8c6c813add3361f39c2b32637b45ac672429cb6594a8fcb625c516b57477bf19b97ca91211a70929bf7094233247dbb37c6c299a7b9b683faa6c4fdb5a68d5af14309322a85d98064944142ad8d40d66e3a4e0860098531b1a2464205a5d759b33a36c3c881ba065b70051d73d8bf16f160b9b8823bf8a435b5c357c4b86678c457d6920395276924decb1a167b41cba918c707cc2278f3b842e9a47ce0308839a618da2724f78086cc44c1b58b6bfb0f082368b96fc66584c271d9c90cedd4944ab0ab1fdbb66de405e848905528854e879371ba48ae7519f102c1756714071a345461687bd405c35310283611f13da1a636b9d36a2cc2a6402a2356978912b3ff65a157638e0e2ce50ca85c9865f81a0ba8c510cd0638fc0943219cbcaf09b65022c5951113238713f746883549c180a53372be59a9bc91fc5401e3e93abca9a46b3c5b5b6439605a7c14ee3555bd0211d945d50a8be6ca126e4967af54514c182c165e62c1fa12a0a7c7b266b38cdaa661abcb2454936ded0948ca28763c78bdbcb0b1bb09dc2572fee57c622e8681daa4aaa1165e7a5aee3d81300d1cee5c93a86607540ea2d6a748227f9ab4d435fcf310d607b6ec9e4ac06a8a5a6e5b3e68a3504f82bc1577cac2049bf07b596e94fa0b250e92b9afadaafa7a35c47d6278d833b31639be837a08df521874a8230c86897f8a7a413735e44a480d7caf4f53ed2d817e880a7fe83c7a4150a6f409114e2a4d4529574f39429446d596c61d9380334e595e307511a8c117259abdfc7506d21bb5757bf7c34c89920a33d701e04b7176d7a99b52b3f59616eb5296d7f30602c146d939bb148376bcdd26ef00ca3a32b6200239211e7b08e3a5abeda726a13404de906c6a00a2462ba4ef26e30e65cc001218bf30e262b0ba9788cd284036ee69e49902b9dfa7c3e88713aa74fc8b0075ee18a4db60934813193484f940185ea6a7a3fe61d4a6830abf3019ea5cd53c158d1b719c5a78b9f93067c4bc4fc833c89212fb537b4c62a04dd230b58c23055a09b77641cb832bff13bbdf473549fa1599ed505d1828459502b35f95c8b99500ca1ccfa7ac0389ca365c9849410c833495b88c04ed5e95c1126cfa246ce8b43ec467214385504660f29167982831b2057f40e2d2f0fe8a1
+Secret Key: c397ac754ab6a7552d21a79d05e21daf344a0d5a4844f1a9ffb25f5ad5787782ccac97000e58431ce68570202dfdbc1d75c0067cd92a8f06369f1656f035c9e99a4f50494e4716c9dfe1bcf06ca9720a64b9a2420275c21903b329ec167113b040407d21355f4b014e176c4acb96c4e32b065a217a55d84a13a335b92b3ce9e6bfe57a7fa7f74b3cf0009a80034c5953d38a4e3a4c5d470238451481a33ab1f7711dcdb328150138ea6653bf5810f133aaa7b5472dc67a61519ba304017e658b35f21cd8e4b87b7026e101526f3292c665a8c1a565177c802d3ca211d82edb125aa0b642729216e12512196295b60b6b523474480834c925c5b1cc7ae60117ad33b3d596a911e7c16e00bf6df6b39239a88b10b643478bda6884a7272c865318e1e22272116b8f597990cc58cfb1722b4a7febe3949c68c6e6f77bcc0abaed9811b39a9851417c8e161999909d355ccd8e7c40435b37925c83af3ac23e1910d4103b69e1c537767fd51b28c919cebf99b731e31186a4af939663c8b47d9b18caede68245956963c047eaf8501366a84856382b10aa933412cb81935d33c248db9129b75dd66b97e5a3afe58091eb2abde4399f747a344ae20414c57fc2a496985855d6fcc717a17e0ed64a590742e0a3bc58120e2c938da182cebf1a4ce35844300b89e5c31f2a355ba837325887a790130b812cc446777f6640bae258a759eb71273c60f3163b43512162a1024a2b2aefa59bf59a63cc2470d21c37d9fcae37c4336565cccc5591c6e5c75e5495ab9b1ecdf21ee4d98f68f505d6a09fd8ca3ecdb5b5746394e8814646c8759b63a19de0c71524883b7754b4161d665b3e00d811bae90ed28a39de8749dff8c56bf2a7c578afe6341063f523a1154d136b6017ea9456b294afb7bb35f83fb8196d1dcb0688133b8ec0afc8f9c36d0169d0d1b341eb30aaac395afb3a38c59668ab7e2fa761c8b8cfb079b7c3a0865aca44b91312bc5a03c19526415b12dfc02969c9a504d4b3cf2c0388a8071a24882ca19ff212cfe075be0af7bf6245386ae66bdd93848cf71ec408b950b5893f73182c49c878a16df4993762cc965f834944d55ed3e29a1ab2ce429057f781b98d9c41cf13279d2081fb302041a75daa589f20ec82ca371ef416748e55485a23b16fb924e2336d684cc6587594c08cb59fd1190b7a7eba7032cf2a69ec7b9361022f5349746b276accc816fa165014217335cbc1ceb87f848a8b559b2acf61435611bf96755bbff44e303029bfdb377a8a087955aaa3a60e1f00aa473035f1e92489e99a5a6292ac8a5f4a842e6f62b004725f2be902996b76423216abda822f3c943eab6656a22211cba92c12a5985768cfa82ad8079021023b1117912b43a457d10b1801336139494be87722484dce855664193a4c542ddb57872cc6b9ef721beafc580a550936906b49610751fc397cb527ec4675197cbb706376f5954e372c633ec83f2717651c0ca8c288b6f6c488a2097cf2b6916c4745cc54ab043c43fa12b309145f80c49f31b54377f84db908ceb722acf00b43f0d97f0273b7b238c72e064b79528ea749bd6dd17d8548aef0c14faa32068bb62a95e606910275ed6b028e4b4a0af43bc49c4a1f315e73c3647f09315e105bef444aa60566c1880bd08512ef9a7545a8863ff8750a942cd5e05ee4c3a94b807abfb3612f968cc9c622ad0895ba1570ba79ad8c8c0762004f6bd706a8a4b1477ccf3af828977564a75768e48505ab35692d0b9174445d0ca225be961463c4153570bc63e44f15eca0c560579d489dabc69211985bf42946999754e119bd5f05871dd4b71feb0dfe638622bb6a8e797e653b8c6020879a3610a78b0c248a8891f77031bb24053c67d5431ab7c13a436ab71960a22143b5e7094d3e5163849526d3a97313e10c2c0398ca755be33cc8d1b490adf6139140a98a633aca58cddde54682ac4ab41a017e004e86eb9026aa0d3fd7b9f0c0c31b662e2bf9cd1f5901cc684670e92a6c3c2f1a13005b540a3fc24d96991c86e36da3cc5ae504721c7a8aa23a906d699e1eb81688ca78cde64aec3c256ab7c60bc25b36c89b5db69f01f3409d993679769f07000e41d38daa8cb7bdac8c6c813add3361f39c2b32637b45ac672429cb6594a8fcb625c516b57477bf19b97ca91211a70929bf7094233247dbb37c6c299a7b9b683faa6c4fdb5a68d5af14309322a85d98064944142ad8d40d66e3a4e0860098531b1a2464205a5d759b33a36c3c881ba065b70051d73d8bf16f160b9b8823bf8a435b5c357c4b86678c457d6920395276924decb1a167b41cba918c707cc2278f3b842e9a47ce0308839a618da2724f78086cc44c1b58b6bfb0f082368b96fc66584c271d9c90cedd4944ab0ab1fdbb66de405e848905528854e879371ba48ae7519f102c1756714071a345461687bd405c35310283611f13da1a636b9d36a2cc2a6402a2356978912b3ff65a157638e0e2ce50ca85c9865f81a0ba8c510cd0638fc0943219cbcaf09b65022c5951113238713f746883549c180a53372be59a9bc91fc5401e3e93abca9a46b3c5b5b6439605a7c14ee3555bd0211d945d50a8be6ca126e4967af54514c182c165e62c1fa12a0a7c7b266b38cdaa661abcb2454936ded0948ca28763c78bdbcb0b1bb09dc2572fee57c622e8681daa4aaa1165e7a5aee3d81300d1cee5c93a86607540ea2d6a748227f9ab4d435fcf310d607b6ec9e4ac06a8a5a6e5b3e68a3504f82bc1577cac2049bf07b596e94fa0b250e92b9afadaafa7a35c47d6278d833b31639be837a08df521874a8230c86897f8a7a413735e44a480d7caf4f53ed2d817e880a7fe83c7a4150a6f409114e2a4d4529574f39429446d596c61d9380334e595e307511a8c117259abdfc7506d21bb5757bf7c34c89920a33d701e04b7176d7a99b52b3f59616eb5296d7f30602c146d939bb148376bcdd26ef00ca3a32b6200239211e7b08e3a5abeda726a13404de906c6a00a2462ba4ef26e30e65cc001218bf30e262b0ba9788cd284036ee69e49902b9dfa7c3e88713aa74fc8b0075ee18a4db60934813193484f940185ea6a7a3fe61d4a6830abf3019ea5cd53c158d1b719c5a78b9f93067c4bc4fc833c89212fb537b4c62a04dd230b58c23055a09b77641cb832bff13bbdf473549fa1599ed505d1828459502b35f95c8b99500ca1ccfa7ac0389ca365c9849410c833495b88c04ed5e95c1126cfa246ce8b43ec467214385504660f29167982831b2057f40e2d2f0fe8a182835c8195d0e9d0fddf4e17cae4787d4f63c2a3f9ff9521d725f18620c476dfade743e5b3eb7cf583b698dd214a77647284ae4b3b65f4725284f44d9ea4da0c
+3e9188264f31efe59799603ec42ae73a73f690955c53e9b679a9a71a40e93215
+Ciphertext: 6d71f3ee74f02b7e317fe643c538056e78a7b3ad4b31f803f37b34b3428c953a51d6a5d4b6df37698e9b8b52465f731836985a0a208e1dd7d1760325e6a376ed031b6c7e80b33bf7729cd9ab96ee11faf6e729d080b2555494ef6ba60573a87352d5ead0b328f3bfdb4ed43430306763d848c30633372064a10f4d3f2864201d54685d9d2131a43c4c2e890c2c295ec119247258e6c9e0bea42643da5d643dfa55f2c81e51e1029ca0f9e8aa1a30c9aa70dffd7d1bcd4e5c1ec5a3181b0e5f3fe3e28452291d3679a05724439426f3ad62f3867f006726fa84193f6732acc323538f935b06d97d23384c56be57a5405f54b10f37c32548377f37210114bf958ed7ce794121a75154affdef97fe15455cb4238ad5e3d3b2c4466c3b0396f6a71bbf8e77fc55770e57b6ae9f7dc73480573cd283e7642ecd802083fe63c8d4da64e4833e5fea3405e4450f63249451c1c533c11926e2231eb526ebcf9f7c3958d25b2d3e3e1057ba4ac5bc38f1851a9155ba014704d34f22e9f90244673b2c335a6aaf2e8e1452aedd22bb9d252e2a2f4e01e7c5d4c62e282e2049caddd4e0c1e924cd12f71a52477bf1faec88e5970ef830038a6375bd8e08195b38d4180265462dc6006a185adb452614bc1fc4f394eb48a7fbe7073fd49c9169940bdde87ac19cf90ce9abd1d92dc4774915cf9c9095e0cb331dba1d742e1b1ca0a5eae95649b0e6e13e2404ae5dba50e302411ed76c6dc38837f51345b882793c884832adb4a4f2c6d9db60bf6eea42b9d7e32471eda6b418ebb32f46c314f058bc0bca953c7633887fd07975bd39cd6917ae7714f25e895fc232affb8505fd9b7ab75f1c5743ab22117d4763d9e796e1b88f9588017afa4b4d9928be8de23b31fb3ec8204e68ec571c84f37b9448d27cd657ac31ca8851d9e283816447c484c2b43599070035fd74cce9798d88767c07300869c9b2be26a4a1ab366a4f248f946883b0ae4fc6aa04d208894f45780b3a661aa14417bb15d06dedb4a7737253a110bbac09c3cd5262c3c1f37c70e3f99b5dc1067258e29216d3bc5fef355ea6232c46b23f2bde36d8535c6b7399005cd2c561bf323a4670bc665f789e74a2c2c4a49d7b8fe2c8f95fa1bbe8d8d612dcdb2e9caa592ff425b83f59b2ae652fcfa74c32c41460c92919f84332b3c9dfa47af36c09deb20ff5b4bbe08e4b289b7f38c2f35897b1dce46fc65c210f20a7715f4452fbdedf23cb4ddbe80472f243ada2c50edbf2d3e63c41d605a233a0de84fa87b000d590f7002942f03a475bf5a2026349288eb9565465b519b8dd9ff1c0bb695a93cc5529ebd0fd9d6f48dcedda1a9ba4d66ff82449b5a9bde3d9c3b4545b6a6177aff57f82fe1bfe29491f98d7be8895bb3b074556fb76ba5f36a814e563f596d6d2c75a41752a8207ae333a609b02d704dd36710432f26f8dafc05d89683a6ca5e481df3cf8d11dac583724671f91e5110ae28b628d716059dace3badddd61e6c0d4c513f54ed5a56bb8e0b3456c7f81c3bb8
+Shared Secret B: b8b885716d488dd16fea18c3f9c2570ea4e93de538fcca47db3447969965f265
+Shared Secret A: b8b885716d488dd16fea18c3f9c2570ea4e93de538fcca47db3447969965f265
+5cbf7d437ef6dd00a61cad48cc83c2cd57e4eeda4785024d599c43ae18ec6745a59524f899563ed64ba7fa7206d0d7b7fda5fb353a4246efe64482fb7db8260ae17d19da4e61ecb2f66add12de61e09ea07a144a2b9968845a3944ff6f7db054e8899abc9cedaa25e1e36a42a166aa846d141ffb482c40076e44f897d732a17489981d34b1130c97c5d09381c78d625899ebcee6bd8963d2f577c1f593dbf33d4eb97158a44cafa19ab60db608ba2f6222f6b33795930185abd709b783cd6e8bfeeabeb37cca9f59afb665d8caeab6698627223aaf9bb13f3d0930f38b5ffeb8e11ad12adfcc6d8f803ecb208c497524ed88a181d72db37b290b81fe82e82e675ef4957c3085f6fa568b0e0defd5fa8f2ccb74a9ce4def95f43744ba1e27cacc199b5518e745b89864652e1f247d5b2cafca6963008025a760b80e1557659bb376a003502536e2c2bb06dd5feef8e6f833c0569ef9791a15fac0f7ad4b4666b5a92e34ee992b65c99aa4b0b85445b58cbd8d8f486eca6ca3bbb30a046ac966fe9fbb4ccfe208be84f5e62d10ab15bb07089bad9bb6e441131e6307986d730e93d2f9bab04f4bdfb40c6cbc4167cc546cede9238efe2b863b90a9a26a3fa88e748ee86e4af25238e0a06764f63b986c464103f3617d9aaf869850955883cade46bd03ce00c6a8c89b75e074f7e69443538e5ea97866013c49cd9836b477816f095a4a98fb3faa6e438a9dd87504984c8f57d37bd9833e7a334a82bedc9ebae9eae723d7720a2b46f0da206af1493ad0f034f45f9fed592f1fd35cb6a7a4008261b839e5c8192d1f4a3decc0e7137c34d26bda5a9a0c6bbfff9a10193fca1d3176d7a3604a2c8d35c93ee32344d479368787ca7e0335835b0e58c0be9f3cf27160d66453bc5cc77f5b1ac433790f52fca64500c1e9b6f8bac859a6f43f03435b31aeaec63d1ccea6c6b34c5191cfbd19b70014ff41f3ba91ab3e19d4243eb4abfcf13b30974c89796f6da10c960c1539efc8d77ec68ba2a32445458a86188c511c26aa6c98e2bf25e2e2503ce2fda8addfa5700e737ed5b754246cc85e04013c201a2d31fb5defc6201b477109071a0cd10aa2cccd0d97e7503106187c2e4da0a715a02fc1d8ca42479c65a9cdb4194831da191e5ad66c23125991ca115054ea773f903f15643d833c6d67796881782993ef2cdf4ca74596ece604dff505c40127641c2a7dd2ae775878a8170d2820df685207cb32e7863a1795f622bfd9ae94ec696ed6c76bbe343df2aa79bc656940b1957d4aa80cbda7a075d8df293fc33f3ab8ff6a29ef940f7677a2688b4c7f2f3de60f856077ccc7fd6404f195b70badb1a1948336a618d1317e1ce65b6f794b8371e4d7be35ee137d4243aadb7fb414be648ca1bb19c4cba1ec560b3f49cc11acfacfb5ee45d898f26dee7043e23399a7f9f4ad78afa1e594769554acb2878e6bf78ae4a0fecdb95b726cc552ac769fcf4b81767a9fd27b4786ba8e3c2266d9f3c3e6ac953ee65a7bec4cf8019b18a535
+Pseudorandom shared Secret A: c56116c60ab94107230d020c86abf6fff46f04416aaf2bc7d921b89101813248
+8400417c567fe5df133a69ee84023fa7f82099f8a7623316ef1141a4fdcf4f9d423f7050f695d156534b78abb6084ba341bfbcc9fcf917d2b5b74a49f8d741c0
+Public Key: 192256bbc3c584b1b731323f22fc30c3d35571f0a349e918ed59be59f2baccaa14fa3aab0a823e0266041c6cbeb7a50339c029598072cd83895bb7ac908646f716951eeb20e1a9776253498885c8af804e5deb4c52017235b1a8d4546ee925ba0e59b586f374920a15036c724c1a8941eacd010308aac8cfc13bb5cc150cad193c8288568ee6002cf5519aebc541f17dfe2b675bb512d4c329ebc0a8ded87e903a886e02cb2a8ca54195951fe44e15e9bec32c439b1335eff23f77d68912b654375233ac78b7ba9a1e4f68576455181d386df0135142548b4a86a514db973a336ca9da991b015e48e282346991ab5054b6309b36e734c376ab10b6784fc3a4e2f2b13efc796861246e958767304bdbbc7cecf92f32295efbd26cc3d3b5e5ba5250b594406ac5969c306c6340a30b2f7024869fdac094662609a83002c7502437b46a68781e4c8c7c003e2416ad983b53c5107365c320670425bd33376d987a8dc5acd6f7b2eb8469c880c50318a6dc581ad9ccaad1154127600468507e19260633964d33512cdd44c82e710153067a57616bbbd31ac3ba5a9048cfdc785ab7a639f890b5d784abe38832f8b8cabf03415854525dbba676f92d66895b64fa4c16b4115bba00058c156e1c27ac203341d6110ff04dc1c0c1c568997959ae999298c3301ffce3b8c6d8913ed600e9f88750bcbdb0023bee01aa3d71cfd7452a8aa3cc655497c9301baac5bdb40c5473a88b4c18b69540766f313778574afbf51ca73142696acac833b011262185548eac5996a6771bd3bb560984c5be244ebc2a56caf002d0a116fc909e852c709e523e870c9e18328693296e04eb044d422870e47ee0138cf90434b1537b8d728845005bd3589d5a52101f04aa483c3aa60789f2d90014436db760c6fa531253628ac5695687f60d765b6b40abba2939aa21211008f48b2858c0b6a8c03d577fda8c9e17b01bc8e11d008b3d7e2c7c3a7914e6b8ace0b6336018b10a516ba09667f0f3b17aeac397946d6e2ac15c402812682f6d997ac6a69adde51e7d8cb00487a15d8552ac391ce53027b0031da62ba2724b14b228a671bc83af497d26da5c8f8022984a5054848767b8153875b4d97690e2565497b69b485013116112d1b7bbab634503965466137e606759404a29de726a8f53aa4a5126131a207d282de4a05850d949f8f8afc84a102733c16c20ca3642ced3c47355bb998a7c8043b9478408ca509993bfbb9758d7c564e6a7f9048a86c30424386dd0d3bb32f23603c3b5bcf01a2f835e776c754fd78ca6a5488c32ab83725523030af1a576faa88aefa99568646651068c37ec2f484770913426d0b4a66861069318c03a85c75e0bb387e27a3b21a336ccab526a9009bca75506acf310be8189453f43c2a1210018864147d5c0e6777da1d833729cc4532859241830d1457d42011bb24549029070936b8130795f5002c16853be0c2055f4e4638216460410b75322444446943d4b45c1d78e6bd69f96629c34591a6874c7c0b982ca834b23258ce7e851250963793a4ff0776c0e7c095df832047b658b386109bc0461cb9ddccc0e7ad0a68cf80467ab5432b363aeec7e49228337045250b5c13d064e74788b74c3f8cd04701ad1efda5e1152807bdecec5a2648263bb28f6bdb61664
+Secret Key: b54a1fc2492320124519b3541b6673c6a561e443c0d026892402391c29cfd9344b68bc07da06118974481d595e94fc34e482659e9b7d71da3d0b220caff12eb6c9285854bd23571789cb14e5aa26383710fed67eb9a021e773435a8a9442123f15052ec3a579c4489d7ddbabc00b41b9a4b90e25b3caf15a9e4370b8143611f92a593222bb62c9a5216ffccc5ae647697fc750e7667071340baac983136a956c6744cfe860f84647cf3212b94a870e9aa6b5f69ac7e0babc980bac3aa31c4455368960d2f87d3a633e858623f6e8953e15c94979276f4c545923786b0c9900b04910780fbfbc62357519c5982866b0326efa4ead3732b37269b9d8139769816a2b1d2640ab2e475659fc7c20877367ba83d3587b2a88392db8778b369a83b58061d955a9760acd70bd3874afabcc3f3a11cc652652d372a1948b2e3c5c97c578751548b061c9539527c2dfe49e74a861d9641e3ec229ae5b113a378061393fb3e67819d80069f4bf482088eb42c9f7b2a5f8125d4bec5a74cbaa35a688ff761665e956939b303bb278d5cc6270db5d63417a4e878ec96164e5c26ae8d42d5efa4b12913168a49538754bfbe77816b29ab869c2a7c3903a761bfe469f27a7399aa772ce144e954c1b78e68ebed036146a32711a70fcecbd10495da4cc22fa12830eb03643d818ab212e9d00584d396bd90aba165c2181e37bdb973c47f039c38c627b8059d383c611547430081e1b5b209eda7d70383215d0b12e34ca7ab9591309864255a9180c8eabf32973d22ff62965f79a5d67b05b49204c66b50dc16a8c1dc4aed4bac3899317d299aac8f822f5d73e16db5f35696ae32175cfd6861fe90481114dcad2ceb892bc14018627f2508340c92b772506949e62eb35191765e79bb6ab2556001d03453c4de9c783a3121a1ed49105e35747bb3cd4022c4694a838bb8615b9343509805f614c38742e8927c30f426806d718cd85a37a4829cdccc3a83895b3615c0cb407f89a0a6e66c7d1421b4b948918fb5d80708c5af87fd3c36a1cc68b16b49bef82703b1698fdb5c378e94a9a574e2978ca1ea5241ca05ff4f335e502546259999d52cb93b9a8a407531cc27e49205baaf945a55c0f4924745e7c9578ca11ec8aa58f153e0fe67505510be3f7912b83ca90c1222aa1898c7c860239cdc3849578814800294d01d536c641a103c189bd52609f79085f7219ea7cc8c43983f8cb6db0763f1d79c11f9b7633ea85fd107dd4e34ce69ab592e461d1a906337c1615fa20da31bbb9e36eb0ba60dba55aad4749b0355849a68218b13bfcd2885d17b1b40511322498998b0421462dc18b8e2f07310d17c2608053753802b8d49dfd9757220cbdc8632d339a4110b06a2a754c31faa98d056bc515c480e5888ee459c179cc628cb8e2c0173ccc8ebae2506431c833e64772c76d1d3c7c2a2c0ac230558b8c7f9ce89d25cc0007f19a7a68297ef24e6eb04418f5225e5b941a270414d25431a100146c509d3890ba71370a03540529bbc67076da78c8661493f1c8ae3a2330b7e96cbfbb800fd74126271e37163c0764c8ced6b3d6a3aa1bd1291e233e2f54687d67a7ca2516e4597dceb4114b0bccad04a8a22bce192256bbc3c584b1b731323f22fc30c3d35571f0a349e918ed59be59f2baccaa14fa3aab0a823e0266041c6cbeb7a50339c029598072cd83895bb7ac908646f716951eeb20e1a9776253498885c8af804e5deb4c52017235b1a8d4546ee925ba0e59b586f374920a15036c724c1a8941eacd010308aac8cfc13bb5cc150cad193c8288568ee6002cf5519aebc541f17dfe2b675bb512d4c329ebc0a8ded87e903a886e02cb2a8ca54195951fe44e15e9bec32c439b1335eff23f77d68912b654375233ac78b7ba9a1e4f68576455181d386df0135142548b4a86a514db973a336ca9da991b015e48e282346991ab5054b6309b36e734c376ab10b6784fc3a4e2f2b13efc796861246e958767304bdbbc7cecf92f32295efbd26cc3d3b5e5ba5250b594406ac5969c306c6340a30b2f7024869fdac094662609a83002c7502437b46a68781e4c8c7c003e2416ad983b53c5107365c320670425bd33376d987a8dc5acd6f7b2eb8469c880c50318a6dc581ad9ccaad1154127600468507e19260633964d33512cdd44c82e710153067a57616bbbd31ac3ba5a9048cfdc785ab7a639f890b5d784abe38832f8b8cabf03415854525dbba676f92d66895b64fa4c16b4115bba00058c156e1c27ac203341d6110ff04dc1c0c1c568997959ae999298c3301ffce3b8c6d8913ed600e9f88750bcbdb0023bee01aa3d71cfd7452a8aa3cc655497c9301baac5bdb40c5473a88b4c18b69540766f313778574afbf51ca73142696acac833b011262185548eac5996a6771bd3bb560984c5be244ebc2a56caf002d0a116fc909e852c709e523e870c9e18328693296e04eb044d422870e47ee0138cf90434b1537b8d728845005bd3589d5a52101f04aa483c3aa60789f2d90014436db760c6fa531253628ac5695687f60d765b6b40abba2939aa21211008f48b2858c0b6a8c03d577fda8c9e17b01bc8e11d008b3d7e2c7c3a7914e6b8ace0b6336018b10a516ba09667f0f3b17aeac397946d6e2ac15c402812682f6d997ac6a69adde51e7d8cb00487a15d8552ac391ce53027b0031da62ba2724b14b228a671bc83af497d26da5c8f8022984a5054848767b8153875b4d97690e2565497b69b485013116112d1b7bbab634503965466137e606759404a29de726a8f53aa4a5126131a207d282de4a05850d949f8f8afc84a102733c16c20ca3642ced3c47355bb998a7c8043b9478408ca509993bfbb9758d7c564e6a7f9048a86c30424386dd0d3bb32f23603c3b5bcf01a2f835e776c754fd78ca6a5488c32ab83725523030af1a576faa88aefa99568646651068c37ec2f484770913426d0b4a66861069318c03a85c75e0bb387e27a3b21a336ccab526a9009bca75506acf310be8189453f43c2a1210018864147d5c0e6777da1d833729cc4532859241830d1457d42011bb24549029070936b8130795f5002c16853be0c2055f4e4638216460410b75322444446943d4b45c1d78e6bd69f96629c34591a6874c7c0b982ca834b23258ce7e851250963793a4ff0776c0e7c095df832047b658b386109bc0461cb9ddccc0e7ad0a68cf80467ab5432b363aeec7e49228337045250b5c13d064e74788b74c3f8cd04701ad1efda5e1152807bdecec5a2648263bb28f6bdb61664613454f588edb5a21e3e0bd1e70990e19427f7ecd4547728710c0731f7423e55423f7050f695d156534b78abb6084ba341bfbcc9fcf917d2b5b74a49f8d741c0
+a0b24b29ab598eb37e023c6e08451148e52f2737538a0c78fb92fb3fa6dc8eb2
+Ciphertext: dcac5cb4406060b1774d20009e6526b49b9f7c734075485f8e4d878cf4b10d57d5926ac4463008c36c97917834195ae37d47a16253c382372fec7ee6a302d281814c858280c9537a390b8e17ac7643b3c4182cdbda536b52ced6fc6496906a98af095dbe4880a72b8bc3c7ac90508412b82a7d37181bf6f070bf0e6bf2dc2d6cb2ee5c78792dfaace90cf5937145754f507616e3b57e06008b98a53db510a559a7dc350dbc7257e6c438ffb0c4bb96debde6c9ea7ed35a7ef185a5c68c1fc8d81f4d19add66a2264bab8459da743468720fc42d405a463a6a0ddd5b3b972d97c2b933ead3b44beb5984ec79744e24156a7815d7daaf02d1ae7316d9764e9c3049a2fe4186d993293276eeae999ed29ca19c70567637af475d3bddf61f0b1d323bf7c3c4dec74d8a4603978a82b2cbd7c59a1a246880aefeebc0abf319495080a3ad0281e401d7127a4e3b25d8d1f6265dcff2713324ddd0bf2224351500177645603734b73cbb83628a0386a441bc2fa78c0b819b7ae73f579a2dbe6ad2336a794ada1958c49d060d035587cafb6934a54e22d5ddea0d1b899abac354a57a4ac141d87d1dcba8e41584edbc950af68221274ec8f828a28a4c1545d552db058d0aa1d64869d040bb5d040240e47b0875eeeae2445f9a1961e2a6d70c97305aa5bee11a08ff4446eb8ce6c705e0b08e8e4227baa6d076541ad2c4f76acd790c9975f93686fa6080d4def72a9534bed9a2e4182f36fb6162afc07dde7963ccff5b359e7f2d0d0bca5dab62ec722ac0a4d3f383bc51cc0479320065dda945111073db78c5d6fdca6ddaf1fb2de610a093fee1502c199d86abb241950cc1e78fa499623c41ee4f8caf7ddff3fea89a2482142faef6413d574a500b9e8f1d89e4cacf4ad20e72feed61c0c6a9c95283404941f330e29028fcd89882146f14fabf8922c3c34824c1ef14d79c0db2c4e74f582342daa8d19ced84917e4a8aa7847c7a1c0081999ccf2f93ee895566f3e0441a6b0a00168d77c74bf60cd05c3300f5f0f17e87aa4f862db93526f6386da8293a253a40fd9106279672394be11961e697d7247b5e16bfc905ab67c04da1c15b18f6fb5c3dafa0fbec73db5e8776c2e15c4ce513ab7844acd8bad4fe24baf62a385cefce0abf7d631e73a22fab7c15ab7e5a43aa2362d2d5faf99df3d23fe39807c662f2f6f762241fc0812c6c9eb668617839df01436b497e028bc7fc8fbe6749a68e977f0dab27ae0dbd0d9ece973d60c934443dcfbef158d7e5c7917c126559dc2390da66c0f4a602f84369022210799e6c6681e8747bb7474cbc483c844e37936549a70699b571a79e4ed92c99c7089f070b73044e81423bf51df17513a572dc7beee6b0b454ef3f2c20eff948a5b8842e849b5290ab48c629f2e800ef81e00680326720c09c753204dddd1e0aedd01eb33a15ddebe7d789374a2572836a7d215ecd63907721001eedca77c2ac615f1c306f5904c1362f719ea8cffe27c5c34105ab6cfc7ddcfceb4cfd92061a8c12103
+Shared Secret B: 6270bcd1657c72b682f9d3edd16a1d3c6cba6c5e5e2b587e42c95d246ebafc90
+Shared Secret A: 6270bcd1657c72b682f9d3edd16a1d3c6cba6c5e5e2b587e42c95d246ebafc90
+d4f9d541fc6548e50346873d02603e2c00115209bf02984ec916fd2621fb1ff413568852c912e9e98ca560e3a0475b7f48d449fb3fdc8a5eef716f280b0ab1ae0ecd4e8146820cb855cede071bdff71d815750d87aef5e94fed265a0a846628c106dab46d21ddcdc9ab53feb004c2d08701f0d59ae1454c9517b51db15a1c1458d77947de4c3293623a0f6706f0e4b9169f43587e7d916f555cef600794839a523fdfabaa885fda2e90f216d4d8dde59e73a7f6c8836b6a72970c0f34467ee9b11254b438e6f6c95f761991666685ad13e8dee9a4489305055962712810995017aa68f8e09fb0533777090992b839ce679ec77d2138a35478cff722d1cfdcb1f950192af9df3f4faa61cf8e0a077915edfadbab083f060b35b72039aa688892a2afae91cadc8ebafad278a1ccbdffab85268d424339e68b2a8f5c5f5b317f8cc7345a953edd9ec67ef289ea398762381c1ecd39bc0916b6e77de85740d3cb63bba937b13e8e3b9b29005dcaf228fcd340f13822894f96948ba178ccd28ec74011a8ac242068d2c55d73e54a0ef5aed1bad58f0838abd17338f580f83c88eee2b1be9d88a50685b38429769c68c7db0950d8ae1ed2fdcc7b424e49dbea29cb9210bfcad9659079f280b4633abbb2f6981aac76c939e953a0d687a5c49b0c88cbdc6ebb873301ccc0ac55dad26655ff07a5fa2cdc2d6bb702d84cf78cd3253b85094ea4a34df8a7b3bbb91c1b8425466d6d8276ee5fd12970bca992781a641f88d8d7a8f65506cfa5c2af18d934070111b8330334c7c356ca10518e34469fc0e5b20b90f84072fa8b0404bf2f9dd400e9cc742c71a8bc3ee03af7ad0cce8d8c39e2a1c4fc4c8df46a6b96ef97c90fd7f6888ec4134403a18cdc5f194b5ce9c4d9e54991773bca86a0f50c5f0acb67a17dbd8c8f4b3306a3d7b553020a0616b3f8bd51c535782fd736341967fdd59c59afc17e39a78d88662b7f75c2ae00444acc26d0ac2fb9f21f7e9f94d708874418b78abed389be2afb9737f50de71d559755dc70a1eba4d112ed2f8f4d81b714fe7dfc47707a7ba77d1e785c0de60bef1090b8788b447e9391791ce7a03a3877a9d9b29ffc8394cf4307a6e7e7ab54713d615e1bcbbbb204c7cc8da6e7fd2ca2baa26d852e9a74d59eb3ae35b09abc807b0515ccee60cb4332fde2595c72a4a1333a454fbb8b453b288396a7a32b57c11057cdd53bad1a3c61d6ead75f239edf020c5fc92a258d86089696714954f2a235632404e565f2dd594e43f1688b97deef4fb584a9d90040f9cd99e53d6854f84cd685f1855dc2b242482bb7d89f7e3b29d1e8a3f3c914eb98ec9deda9d500aea9f06e2d08a974cde25b0cd501e055e94f801bc44f8295c8608e3ff3cc7984e2919564aa9e4905539155d8915d777b03eebea0badf47557d166ac1a55e4c7794c9556ff0dabc2d5e38534c0b5c5b303904f3fb572a23df9293c6cebda4ea85ad1d4e131975ee461f7e55dac31e22489e568bf28b0e4b2e6ed9f62ee3bfcadae452cf6
+Pseudorandom shared Secret A: 9ea7d2a16b8a0e651c1f59f8e834632ece25d7eef4d1870c50330fae768bdfcc
+efc4296f1070ffc70564762ef51b48da2e79a1634a0e9a9a4e47d1c4082fba8ace26b5a11a2c1aeacbb690ce1f2498de9bc9917fe0dfab8d9d557843a773db7f
+Public Key: 6793a3cc29295d0231cbb82065c952477512b6a9b78ec0366fdc3b4b137147f57a22980019989013cc4964f512b3199dc7682573eb26613cc0f46b9888138620a94e29209c4ee8cb2b46599fa4943eec296caaca1e383e86b7732adb823ba358a2536f0045c388738ae1a1a12dac29d865a2bdb7504de5bf328867c455cdd7157c343aa96ce091e5c76f4f4252a3b22d3009c4d3e62a90cc09a683adb0b39080b96dd6a10087f56c83c06257d2c363888961ca967a563a89ecb1c0481540b647c821a45560b25584a654c9916d5a0054d56584462a806b8be4034cdc219a1786c9f2b68f9ae48aad08a27309240554469f918c98a908f1355dead61f39465e671754d6921534585829432b69723bf531ce4f081ba9599d71280145e94071b4b79fb6888e154b2aa617a92b199ec59771c9311401bc74659dd943448e682427c6a6d485b5714b63f96b39fc605fcbc24955a396309a77cea41c4e090ffb719bba0aa63b103d12233c859500e78042f7a3366c1036fc08c3a3970edd05128998b9af745234487f1736a2330a15fa1ca4810c2a41d97e7b8434fe55734f348f48778d99471bd22357b0587e5be9800cdb9b4f5869f7bb43816a51b5eb8b6031abaf265debf27b9a19cf11824baea96b985a209b1a2bdbfba0cfa82ee727b8924a76231975ad57506a28cd43c3443a78aaaf0ccc96a349f9b85f4fb70085d9056b4783e2128ed390b645c858cbe47989f8b9095b66ce50c18b256d85ccb33a337813fccb28187b89c81c3dd9becc557060728337d350ae00633ff781b18a0556b41a0e250845458889826dc2e07f19c30a2dd32340495ad7f8ad7f7134f5c65048e99ce52a708bca2ca75213c506085bb983406ca50836a2baa6be2209aa5f91067b289d3cf33468ac0b6bfbc717286fc107705f5c7d5ad88b574005b7b5cf4212814067cac0e320b2a24145907bc9980a3f41730eb633a9f887da3968b32c41eec3a9cfa823bd8762a4952ff763397c1616e8fb0f4c1a296b93917beabf98699ecac855e5c8bff60384956a226779789c1625e669a757431acd6bae2543cb15e08fe1618cdf53081be98b54fc514ad794229b9a2b49a2816bae4c01427009b11711606b1825b0a2b506bb54123c77bb3876b42770808c6ca95b19c6e722b6aa53d38825f73ac400d9359c645e3cf43252b98ae1f2997be2b248a7c6cf96ac334212c618898c6c3ff2dc972fba808d899ae75c3150736bba57830ffa7e7b67b80d2174e4b212eee3393391591ed8949fd6336f13942285baade12b26a39e482767a0a0b546862be50358cc43109b179c34b1bce1c488551640ba554dbb864e66dac824014c185c02add661d0648b819671de3a8faefa3462d6795da61d723403539021c1cb3041f20accc20ee93b2b03376c6e73590ed3cf74607e44d56f214566d05bc93d402207707b4c4187a66360a2560ccc6b9cf1a58affaa2463287a6887855c509ff6e60a991c3a8c3886cab488d6da94f4f9b676e57693467a2b99be760c3eb78bb29b5753b4ccb18e19021a38be99a6229e39472939a122d469a617a5f6a29c34bb4b0f52853d01404e26334867109de8381e93196056043726695756a8f23f5748c3ac52118cd1dcb8853edccc6abecb12693faf7dd72456744292f543
+Secret Key: e5c9cfad521eb48a61e16b1e6e31ba56f89d9f47a22babcf75f4c5c493c4d05b5fe3e446c6bc1f6a20a3747c39cab84b9464aaa66ac64292ad98ab9897b32f68a9c848f632d775b6b9b6a492a28dd9759f58a5a7e4539c5dca4eb7b391f5f282ae6410f0fa390ce3a0264964d5ac63885181d0b6972f0a71872c729ceb73a9c468dfd80c629482add44afb0c2dead98eefa49a4d6a9031a22877573bd6f8611f7a9e1916af9ff2c25668220a34217b4c6b0b571e0984601293caeed6c52ee9a09819013555ca3b6a853d9a742a091393b364eb951c03b221e7a7b6efe8bd76c0a3cb73bdbfa86428aa8fae33323b57a43536af3f06c95e7b3bdaf18534d278a6cc87b263c5d539336ea00d1acb74c5605b5db2a199a926f47280697150f2d75ae9028421d3c2eaab56a2627bd8bc5c59b282432234f0f70716319d5a552a28c85a1d8795e045a7b40064463615d709862db38541cc63fa9722e11cb268d305b4d970bc977998f69796885e104c8a3380215e2931928464368270c75310caba8666b5449f24b2294596cdebc5ee12b86c17a4183413d97b9d4d418fda761e56b3a175b3343591b45a278175d7cf67151fe6c0ac01cb053a6b331c717a62a15ca0417f0df8ba1b686843b5260b12327fa56df60076db5c23e6d93d0bc70a879acb842b6ddb634524471236b61a1925cdac07297df5cc6b5a7afcc5b283ca18c3b942e3f62de33649ee1a94896a37d968ceffe5421d6c82844743489a91f7466b92384d60e6b5c1a2368c9a012e964ea197ae0203ba8e72051e6204a7e7b4c0006603f19edf89773ccb89643b025cb54ea484b8077cb94632ac1250c0560c51d96084b70580d0175578b127889514e765207a16035ea7342f0b9fdb2c987d9b0b6f6816a2f722bf5ca07741906e13a908769b84110cdf0ab3bea6867ac437bb27004650470909b8c0653ab18324b2f4681980a8e849ad73d4730c19af897a0203335e4bf20a985c685d6ac9fd69933964c27cb23497f466930031fae12b6c464d161347efc017a249c732900e35dc356b09c0ae9c96db063d2c77318acb363878a4a34b8ab95585b8d89d145328a3b4c9ab5c3fe221c00f003a33b03eb13204e4522eda2691e7793060809535e9715aab5330d9b9d2aa3a1c187feae832dbc82e7e7c2549ba636d37801771821d0355d9241f1c86bd2c41135a67b8f6771b55e84f61f02aa6335bfad9bed7249a655bb513a47b7fa7c910ebc15a602db44b24888cb3e92ac234fc1b4e445540a142432c347089969e248e799b3ccdf0a26cc0a9f9a4609d497b0c346ff7ac108de245d7140bae0a250876845ff61534e013879057f8e179ad0a5d799b021af11bf07264a90652b5134dfe6530f8a33cd0db751bf7482eb572b7aa817533b392a24738c44dd15699e0a12074590be178cbc02ac0ed7ca67ee3ce8031c974d136e3f7b11a70024752170c15c7eedc6e686b0799d457d56cb6e5da54dbcbb2460a96253bc909390cd3f72ceb380772b11be4a53592e55057130cd279bb09e9171f301ecaf45189734fca5585d8792c2c38c20055c971d17d9dc8bb84f468357c7ae0a91481454d0f819394b946b06b100164b755ea0e6793a3cc29295d0231cbb82065c952477512b6a9b78ec0366fdc3b4b137147f57a22980019989013cc4964f512b3199dc7682573eb26613cc0f46b9888138620a94e29209c4ee8cb2b46599fa4943eec296caaca1e383e86b7732adb823ba358a2536f0045c388738ae1a1a12dac29d865a2bdb7504de5bf328867c455cdd7157c343aa96ce091e5c76f4f4252a3b22d3009c4d3e62a90cc09a683adb0b39080b96dd6a10087f56c83c06257d2c363888961ca967a563a89ecb1c0481540b647c821a45560b25584a654c9916d5a0054d56584462a806b8be4034cdc219a1786c9f2b68f9ae48aad08a27309240554469f918c98a908f1355dead61f39465e671754d6921534585829432b69723bf531ce4f081ba9599d71280145e94071b4b79fb6888e154b2aa617a92b199ec59771c9311401bc74659dd943448e682427c6a6d485b5714b63f96b39fc605fcbc24955a396309a77cea41c4e090ffb719bba0aa63b103d12233c859500e78042f7a3366c1036fc08c3a3970edd05128998b9af745234487f1736a2330a15fa1ca4810c2a41d97e7b8434fe55734f348f48778d99471bd22357b0587e5be9800cdb9b4f5869f7bb43816a51b5eb8b6031abaf265debf27b9a19cf11824baea96b985a209b1a2bdbfba0cfa82ee727b8924a76231975ad57506a28cd43c3443a78aaaf0ccc96a349f9b85f4fb70085d9056b4783e2128ed390b645c858cbe47989f8b9095b66ce50c18b256d85ccb33a337813fccb28187b89c81c3dd9becc557060728337d350ae00633ff781b18a0556b41a0e250845458889826dc2e07f19c30a2dd32340495ad7f8ad7f7134f5c65048e99ce52a708bca2ca75213c506085bb983406ca50836a2baa6be2209aa5f91067b289d3cf33468ac0b6bfbc717286fc107705f5c7d5ad88b574005b7b5cf4212814067cac0e320b2a24145907bc9980a3f41730eb633a9f887da3968b32c41eec3a9cfa823bd8762a4952ff763397c1616e8fb0f4c1a296b93917beabf98699ecac855e5c8bff60384956a226779789c1625e669a757431acd6bae2543cb15e08fe1618cdf53081be98b54fc514ad794229b9a2b49a2816bae4c01427009b11711606b1825b0a2b506bb54123c77bb3876b42770808c6ca95b19c6e722b6aa53d38825f73ac400d9359c645e3cf43252b98ae1f2997be2b248a7c6cf96ac334212c618898c6c3ff2dc972fba808d899ae75c3150736bba57830ffa7e7b67b80d2174e4b212eee3393391591ed8949fd6336f13942285baade12b26a39e482767a0a0b546862be50358cc43109b179c34b1bce1c488551640ba554dbb864e66dac824014c185c02add661d0648b819671de3a8faefa3462d6795da61d723403539021c1cb3041f20accc20ee93b2b03376c6e73590ed3cf74607e44d56f214566d05bc93d402207707b4c4187a66360a2560ccc6b9cf1a58affaa2463287a6887855c509ff6e60a991c3a8c3886cab488d6da94f4f9b676e57693467a2b99be760c3eb78bb29b5753b4ccb18e19021a38be99a6229e39472939a122d469a617a5f6a29c34bb4b0f52853d01404e26334867109de8381e93196056043726695756a8f23f5748c3ac52118cd1dcb8853edccc6abecb12693faf7dd72456744292f543f4269ce2270a867fb09007cf92fc8a389a8175e852dc092346ae139627611223ce26b5a11a2c1aeacbb690ce1f2498de9bc9917fe0dfab8d9d557843a773db7f
+642281145ac933a17b2a4612969f75be8d8b307ba3993417c042bf7c3d6df554
+Ciphertext: 0b3d4eb7ad17c38eee812a1538f3ae197ca0baa4e63bbae8b2d714ce94adc7722e4c306599f6249f2efd1512ace7b03e8d3ba2337ed310e82156ffc5510d1e91715f4773b08c38fc58c0e751f2c64ceee059b6b18fdf124636c96b25b68e902a7c99a7b8e32261f7737ed9d9af0a611194739d29a5a8405f7671cbcef55654615fb9b7264dd51b3d37cbd35e0d731dcf5053976e478e174be473fe9bd59161a17c279f910c8ebffcdf047626062126e5cda211dac81e9d5e0f57437b358b02431a1c53f6cc475d276411c609d93344543133a8d077a88a3a2729343055933c3accbb57c661f478c1f7aaa10553469afe626c64c10cd15b324a4b5a4719ecad507f9c06aa424840ba54a66930c5ae4cc9ed60ec981ec488f76cf552caa41639d29c9be9523745f8af3c36567ca6d18f586b3e77eb9e3e398b5a2a2fcd4ba512173db0846de0c9664840584a4c9fd4cbc33fdb0a406ffd8bc6561f82745c0293eaaa697147cb4471ef9f64efc5c4efac85d6544da2b7bbb875913055b23446dfb22d11b50543312f834024815185294a7fc0c18a2c99e60f30aae5216c250dd22b3f602b56b8ef9b93c5237888ae9b46915995efef1c972fc5c34c485151ffe9b03491df8d39df6d134940af2654ae9e6d82e0856a2eec3564277bdec4f926b8a7dd5d39844bf8fa80dc699be45ecf5a776aed143d9e04dbd6c4962fdb2f9dc052caeed223dd5dcdeee5c606a4e123a1937660cac756488f6c0f0db972c188bfee6fb4a091cfbf05e73137bd705aed5867640a85e15f4bd22a39a897322d4d977204fe8561366ed68b2b14b2efbd6bd781f3227e37cfb4742e445cada637db0a59fd017a3a9a3e17e273f8d47fc3f3d16afb8fa29d443c19e28998326dc83d5f7caf8a188b660566cbb19f323f7d60d35223b4487423246a569f612812316242dbe31a5ccea5c3e7f5b281ff067792ca4e795a65894d560d3c641c5994ebb5cf1814576f09596b2aad39aa7996d582f9a46fd72b650aedb0f41e9028ae02466cc3191601dd2b132d7f0068c74a09d60ad60aa45bde794650466a463f2f23a67d1097da1bd7aab70cbf31a0e5300fa693ced2aac5052d87842f972ea17d44b10570af9be98ff6f7373d829550f79ec79b8fd3781072973708c0715a29ef5f8571dbced53ffcaa063799a4e2d1d57ea0c007c59ea84d399277310dace2380f47e6a870e28bd537c9f37b783632fa8d61c84a8082428e8851c5622af8dae794577c5baf615bb1d257d2dcc5815dba5971a550b003e2e8ea7cfa15109fbedfdd566a4a16744b52cb0f820387287a2975fd56f997071b62598080084ee9f4f5ecd3569a3cf5d6df06854a0a4aab0a303570fbe323308e8323c2cb5f63d35daea94f096ee26ba6d75fcd880cc04303e49b616f98f63f0a3f6ada7a4d2a66648a7e083ff5e2df1c8090c4d4da062ed7321f2f86d15f3b0808bc162e035340c920928689eaa73ab0307886d9ca08698d2df253b20ed1bec5494a7cc83dedab11634e636d5e
+Shared Secret B: 1df7b3d49dc8a19a3672b891cf45d4bdd7984ff35e9973d7c96cfcfc13d461b0
+Shared Secret A: 1df7b3d49dc8a19a3672b891cf45d4bdd7984ff35e9973d7c96cfcfc13d461b0
+367648256b5fd9b79aa6a060d25f851bfc510ebfc6b5804638e2d57ce348a395ed8d34cd0e4f53a9d3ec0566c5934e9862b4e3564d47e99aa67e0d5eb7a378cac2c6f29ee354e99e622347e06f5af9b2801e788ca95580718a2b9b300d1a2dd06b05021bd2bf1bea97036dc3749adee9f7a115a58cab8f46058d54f04a86a0405fdca53ff15c9b027a79f8189c0aa73659e99f88b07096c07c7f694a3b7f52a07fbcedb663415025b8315b004cf0ad3c64daa21e290cf0cccc3bb2d9bed0c9e68789bbf50bef9c6c9cf94db134358992546bc26c9d9b6eaa7da7ed63ca061f2f27ed1980ecb04eb07640a13fa97b723856fa72d97ac8b1aca5c7508bfb6fbf6eb4c5c8d899aab67b8f10046922d46568fcd56223aeeb80e147352aa691417a153af5b19fc1b5dd943ceb663d2d1e2b9fa904514b99beec905bb3ca4fc05b410fe5adf5005a421cff6a88eb48bc8858692ae213fa6cb6e63bc52e934f5f959bf64395a656cdde7da77c3745ade36a37ab1c9a41950dbd35e2307ac8a04d88ee1434645f283847a87aff8f23d17e7e870bc70f8c952a1ebebd7c4e8bd953f978d9db9c31c6da9bd73d27fb915472fefac4acc36c536fe4b039b6f9ea6b4557388434360a7f87ac0a72cfaaae98969de3f08f19a6a9ae97f00dcc1a3776752db14d7c47ea1b625d41c619df7d5ce9ab9f0ad08ea8c32c31ffca681c8d111b66027e0f62051de1968538abf2e8fd305598772a268d666c26f5b070d19bc13f3f7fa4a47d492cb0664fc12b503f498aac5d6f7d2975651e715c1c2dbcbdb899208fa02011830aee8feea9766a7b8af24e2a55b0a3c45fcad4b9cc90fae2c0847cca5d4d25a60c465bc2841827de683ff6ed2790c04bd2600d6bd82e972c9d5a74283e1f0b203eb9e5e13a3f12f5095b37171408b824b9a0222c13080c1e6b36d26190a69ec8bead4993cdc54210b935e2bdff6746f68a496b05f55793b4dd9f49fa5d47f54736b239db175613427de5f7f9131536155f1aecc5cbca12d5694dafc8bc47c03da4c4eb3b85689879dc9701f27555f55f6c2378728a5e0f66b5843fd6b41843524fda6fb4f6340dd38f4d444f592215cd2a7aa8e172ecde561a300f1e3f538fd1c5678d7b6b8de88c7bf9c62c95090cad512f089687b953cf2028a5942c221265640317613ea46ce0a77a1dc8c91e658ea84d3910ff2b5297c6bc096534a6f0cf08216bce77ebcee70508770adfe233857b897d956a8dc7e1dfd36356ba1b39dda34b2422d919f2ab5c8ec25b3ba5f91cff012b4d89fba97e9ac85ac28299eef59e687ab368e85876161e3e36baf1a7d43d8c2a8dbcf4e19e2ee7e48cad4b7f493a5ca7f110e76a96077a25d6f148d23b59c238eb8068fd2f1b25df54a6f03999ae46c1e0fcf86e9149e9955cb8df09e726975533f6e4cdd914f31870e05bcd3b052ec240348b6835c710126e18f280fd2945cb406f0672b29eaecaf0c56357be3bc36ed1bf0bc94ccce64a9089addb56734eb711a4c09f0cd930468168
+Pseudorandom shared Secret A: bdf41b8f206a91f469301347658df72ac241c96ab1f562dbb58da76e02550115
+ca961054cdad71e17565cb46b968a60d5a932424b7e958077e27c7cb47dbb5978b3339a590f13bb239c80ec64b4ce981144686a5361146fe0844434409988342
+Public Key: ec99ab95b6c2399ab47ae3ba95b3a9fc7614c65a3f13a900f5846ac6589a1f86845bf029c4e6218dfc96f0122bd45815bea8c97cb8cbdc727e02a205cd34214191bdc2d30b2bea3bc1fb27915c4ce1412e104a7f5e699c1e15000e35bb2a4a372f022f3a9383eefb1cdab7092c54085b67b3edca9b3d415b60e61e29d96a95360cf43655cbe80114f19e4a60856a586f12483f57c37042d2700b67bda0cc555818a0b8e927a6031437968e739744b99a993f30b551959be8a80389332e3b5a8b4de67a51b5addf6a6ae000751d891f9ef4b5f8c392dc0abbefb968bf2c0696811b6106238f090cbce5167be8111c6a364a4a15aee0285a728ecff658e355674382bf4183b8a072cf0a979862f26991ac23a6490d04e22a9452866ee53562a22b98182e3a941c5531068040a843230dfaba386cd254b988a7e6a9af67cbc6e4e40dc96aae44440a0995030c321c458346b27b9fcacc322199760075a03992b2874352bdfa8791c738b6e80bf728232b150a8e410655c76c899428823017c7c3c4f3e9038707361e3897ea3575b18b3f05b55a4e305e3b22435c199c32d9527ff21700126e7bd248c742c95f417a41e12d8ee257a682b599aa649c434430969432e02f4d53c4b8665761ac69105ab1b15a4307127d12a8b6a3e85c2b3c11b6c383a8645b88d7091938a41bcc6970b1667f5466bbb1a498e03f3992782d274d68984c1251cf9a50c026554b69f84c9f9a3d43dc5c0685905d6b25322559aa34117fc10856171620c18c56d1c8548000da831c655335a9432a91161b31c4437ddb71e195bfc2a19f74224a1f315664e06fc370aea4f2a18f9566dd76b1dcb3456156935d63892c411bf6dc46fab24459c795f7a75b17c93ac98cb4755c0d051a4046ea1bb0456eef15509232c3c559703bb43f9f095ae59bc25148b8759974a817c7af671a7cdb9ea6c9393f1c69f5b63dfee844ee6941d9b76b34e4ce9ec90e8f8704919bc830f368bc1b2a46a02d4ec7a693185f395a09ceda60e5379bd1d180c634238645bfb06238700cb9d44129d5a46559f57b071220f6a69880fa4b5ca7432b9c1d93b10540e835db15abb0804a7e3c267409a454a713ec1910b3e024f4a02fb22a145bdb1637dc012086081146bae8d93d4e1c2d1b08927397865a57b1bac17a0ba061cb62b9d69052ea56a5c20ca95aab6dc1398c4151177905be5b2145047a1545056b7c390b27b30eac730f9a8c231a755b24657f8b591d89e71d17c07587914f17f23be93b3cc8e67989158d8660612ca281208628b5194b7199169ef4bf381a78a3105bc461138f2598dc549001946c5910352a9734a72138d2a36e99ac7959e99cbaf28a95b8361de85bf11c509eb52e13068e5470c422e7b177d73060787061c981f0c66d40cb0920b45cafda29ffeb86a052b1653a970bd96a10ba07bb5737e44b530e82511c42706f245d34ca52c3d8a866a34b8a95136e58200e93865bd7c0a6a007cdc6bb8a920a3ac786ebb3497cc80011233bf0942facc5525082924f2a8276989c74b20ba0933fe2311badd090f6592a3e9b9ab18b955b63b8b0cbb2bbdba1754446dfd73427dbbe996a4c2f1c0b9f589ad9452c8ddb44e4e298fbbba8f3361598ccafcfa9ec2e91c9356b8df184ac433d508a73020799
+Secret Key: b569406bfb06a1ebb874909437d35f6588428ff6353d3c8b5cfa4045aba88857761325c0932b50303c969d5abab5825cb0653283b2cd8e55b79f863d3101b3529b8ad5307e06e96a88a0459cb2c2df456d82e062a3d9ab65707e1f4ba66717c0b14568ede43a6f486bd3c02a7f16c732f50e91782ed8a09439522739cb4c9ea7c84e38ccd086933ecc7adc7c11a8e54dd6a63c87799bbd873275880afbb7c06be007b9794ad2a7116c4972570178ee417f67cc63fe64aed72c890ec00fbd933f3d4a5dbce87becf2a7b3229f21b83f1c1c4011c5aae4fa020070c6d473100485cf70e066c8a3c8cba68a1ab3c0d36cb5fd36cad8a748db01676489716fa97c3b33bcf3b37028e68e8b1201c0703be8751fd6cbc182e86f09d341c779582ada08ba7655ab80ad36cab78d067810aca671d53317009ec55b4ac034aaa0fa0fc23cb4339c783879b7fa1b385201453ab6113891473ab498c46a57d631834504211b7313e433c391aba1738106e18a52a85129379b1cdd8999906616f8127bdf294bd78317c93954cb3b2d3a22499b07260de5c291437b0fa5c07aac3e10abb42d9789ddda9cb71b165ff0698d4322bfc15d8f4c7675e3bbb0ac27bd60125a5402170c948e4726afd83c7ec8b1a7397f1865ad4487bfb1c7028027b3c28b1b7e7b65f8f00f38394abd731c5f586cda9364f0bb0cd227938068b8d6e71eddc6b473d78e05572a16191e93612bbbdb859aa488059753f160bb0e86beeda8b84184413199bb7406926388a00e31884840acaab84acbc470199589a91b114d59cb4cd71700b31a69e18b5bf65f7c5b410c914ab793964f46822f7b54775a93cb9624b1233ae02678f74778bff1a49b0350d57c449e465abef82a9a762c8be9ab8d323a79263549ca23cf314faf096b8a907673c89bcad53c5ca7ac7d2a160251ce2b910a7d276b31a7952acca847727159b36aa2c09ae7f31666a16297f0b7a44bc1d3231d653b71835273261b45b9d0563ae31214e315ce975075e57a9c70861a159a98285c080ac67784ae08f5cd30a887b0e4128b6885fb43134ca4a77af123f7891e38548b6af318d074a11ff49597da13fc3c56243420ab094eddb57a15b5150cf8986f437b03f024d7190872f3029c2109f1bc254386728577a847f04783498ef36a51dfe46f6e7651702283453c6d1b2374ee07643be022e14abf21d892b275175c259d92992413c702899873bf6ccd8903a5383aac80078313849fb684c0f4f33ca640056f436a7901602dd5136351476688145f4ac5f90143abd999aad034552919dd661da14b1756f67361c4c0e9f76e0029cd62b50edfd32f0307cf56902d1dc07d3f4c975565580e27bd257922214771fda363d9a07fd5499316798c7129b54d8716f97b2e950ac246086ad6a6716f96af442b2ace085cedac5cffa7afce19833e8a1d8d7456e7a9418c8a99d8e8793b03c9d41795b5909c1fd60208f31e5c11470e8780693a208bc05315f7b9b65c73ff56b380927d7ad85f23459080156cc0317a4df453f063ae8329750bc4cfdd67257591a25e3216e06a3018191afbcaab5d22589b555b45893c46e1988c1c79ea059339d31de6cbbf796b0215c0a2ec99ab95b6c2399ab47ae3ba95b3a9fc7614c65a3f13a900f5846ac6589a1f86845bf029c4e6218dfc96f0122bd45815bea8c97cb8cbdc727e02a205cd34214191bdc2d30b2bea3bc1fb27915c4ce1412e104a7f5e699c1e15000e35bb2a4a372f022f3a9383eefb1cdab7092c54085b67b3edca9b3d415b60e61e29d96a95360cf43655cbe80114f19e4a60856a586f12483f57c37042d2700b67bda0cc555818a0b8e927a6031437968e739744b99a993f30b551959be8a80389332e3b5a8b4de67a51b5addf6a6ae000751d891f9ef4b5f8c392dc0abbefb968bf2c0696811b6106238f090cbce5167be8111c6a364a4a15aee0285a728ecff658e355674382bf4183b8a072cf0a979862f26991ac23a6490d04e22a9452866ee53562a22b98182e3a941c5531068040a843230dfaba386cd254b988a7e6a9af67cbc6e4e40dc96aae44440a0995030c321c458346b27b9fcacc322199760075a03992b2874352bdfa8791c738b6e80bf728232b150a8e410655c76c899428823017c7c3c4f3e9038707361e3897ea3575b18b3f05b55a4e305e3b22435c199c32d9527ff21700126e7bd248c742c95f417a41e12d8ee257a682b599aa649c434430969432e02f4d53c4b8665761ac69105ab1b15a4307127d12a8b6a3e85c2b3c11b6c383a8645b88d7091938a41bcc6970b1667f5466bbb1a498e03f3992782d274d68984c1251cf9a50c026554b69f84c9f9a3d43dc5c0685905d6b25322559aa34117fc10856171620c18c56d1c8548000da831c655335a9432a91161b31c4437ddb71e195bfc2a19f74224a1f315664e06fc370aea4f2a18f9566dd76b1dcb3456156935d63892c411bf6dc46fab24459c795f7a75b17c93ac98cb4755c0d051a4046ea1bb0456eef15509232c3c559703bb43f9f095ae59bc25148b8759974a817c7af671a7cdb9ea6c9393f1c69f5b63dfee844ee6941d9b76b34e4ce9ec90e8f8704919bc830f368bc1b2a46a02d4ec7a693185f395a09ceda60e5379bd1d180c634238645bfb06238700cb9d44129d5a46559f57b071220f6a69880fa4b5ca7432b9c1d93b10540e835db15abb0804a7e3c267409a454a713ec1910b3e024f4a02fb22a145bdb1637dc012086081146bae8d93d4e1c2d1b08927397865a57b1bac17a0ba061cb62b9d69052ea56a5c20ca95aab6dc1398c4151177905be5b2145047a1545056b7c390b27b30eac730f9a8c231a755b24657f8b591d89e71d17c07587914f17f23be93b3cc8e67989158d8660612ca281208628b5194b7199169ef4bf381a78a3105bc461138f2598dc549001946c5910352a9734a72138d2a36e99ac7959e99cbaf28a95b8361de85bf11c509eb52e13068e5470c422e7b177d73060787061c981f0c66d40cb0920b45cafda29ffeb86a052b1653a970bd96a10ba07bb5737e44b530e82511c42706f245d34ca52c3d8a866a34b8a95136e58200e93865bd7c0a6a007cdc6bb8a920a3ac786ebb3497cc80011233bf0942facc5525082924f2a8276989c74b20ba0933fe2311badd090f6592a3e9b9ab18b955b63b8b0cbb2bbdba1754446dfd73427dbbe996a4c2f1c0b9f589ad9452c8ddb44e4e298fbbba8f3361598ccafcfa9ec2e91c9356b8df184ac433d508a73020799f86c305c89ef931a9e296259bfb00419dc11610590eb83e14a1bf477cc00a0de8b3339a590f13bb239c80ec64b4ce981144686a5361146fe0844434409988342
+f0a0e2f81ca2371fb84eda9588f0b6136de5abf4c2b0adbc46fea85879b31197
+Ciphertext: 3a61762d5bcda8e2fad3c63d1cd58341a18fbb037c754789e8c7efdd088219f379568ea102becd513e3258e556ef974b757c49307b61fb1e94bb29a63181d8ccd13e2b8769419c2f677891899b49187b18e09eea17a51210ec47850d968d7f9cb127dfcd1e824ae2379601da3e5599d174f8d040c25beb4f05019fafb95903a1edc67c4079ad858c53ff65d4f4d95b1c0f661f3da10b78d996d788b5d8ae666d7b6561f48804a6852dba9abbc9cac35d13f20e2712bf112f156616842212343d48888c853e4c9c61dd1c7212b7db7601d1c8726cf1fa8286dbbf20657365157b7226464a5133b88a53177a249520655f5f17ce928d057dc0536a767c25ce0d0a32b6bec53d38cd8efe32377313d3f749c87f6b07c35f5483f0166c35fc0656c999215780aeb8adb6729e8b17fc91af52e981bc101277c4f2184fe0a89962e7867f088ed06203d1d70936debbf6bbceb121fb6e34e0ca91921a3ec8ae1af5797fb8abebb5dd7d64f7d10e3d3e42df3dc21292a92b4674025a2024e16090653fc00895f414f14803576705a39352fc2d4ddb887323c83205b52f0a9f831c5e1b27c56586e2e8c88815c43406035f491e82d0b3b7ce112816510d337614205af8b606c15751ad2f1aca4a11e4f8474e03dcdc9f5a362db6acdc6ed8ceb3d7a2c766d0e1e7c557951ceaa2f36cd35f0c8051915a526e3d336df96d8e930f966e14fd0947150c44007cc4cbb955a7a981dfc8ce2fdfbd2b4bf6ee1fa97a46dec5dfe1775af4c94e5d81ee7db3fd4793142952e01dacf8726c2dced47b947572e228b1e54b20b7b45aafddfa6d966c920491e90c99c439d3e788ce849844ed6b9dd1e71b6ae3bf99c3dcbe021ac9b14cd2fb1322828f86ac7d5e4e6cda0bb2748bb519799383e8c4af3fc7e1bdd4de61038bb5c864e28343092a9026b5a4f36779031678022787aa0e4eb1d54cda718185910ed3a7531919a6ef21ccb712d86b67be4032b9f175973683645ea209bceabfb1a0614dae750f47432a3f8e5637a022eba7f2475535460ed1b0172fdf192df282911bf3ac5139791b6a2ca0f11668969adfb9feb99f0bd76707e3e6fbac12f68241532838abd40801459aa86c585deb86d31eecf6db2310ac0cb5cf868028aa699699c5d085b85f665b50cf6c7d85dbc0298b1c69a5e14697e65985863710d0e9313108dcdd7ec51258596bb0d5de62a3cc074c5ee0be5584d51164ac88ff86c45ea9c17f9de5590e3e3089f94c09c35214fce9fdca74c66c351a78de1a179328e7356a3bc2cb4fdab0e36522298019d909f8d9f99d6e78aa2a0756990388f14fa9d587d4a312fb1ab5b83cc786d5496628f62dcb46893d155e51fca96e64d1430a65cee676fbfb2cf7967258cb679fe8829c7706cbe9dfda600a4f2b19d957cdc1b9448e51e70a169e512c1794351d05b8fd903790755af85b312b54e0615c1dde2510da48119bd6e28709cba70dea0108ed587834c1f98fa9c5bedf3e333d3f18e502f8b66941dcdf5de566d43e74a82a
+Shared Secret B: 9512b1a92d5306673c3edde9813cc58759a8bee000cc6afe9ee236058ed3b5ba
+Shared Secret A: 9512b1a92d5306673c3edde9813cc58759a8bee000cc6afe9ee236058ed3b5ba
+fac2b23076765a00f0c7824a49b39920c16ddf53faf806d1ff12ecd029369b8ae517cb484204b4e0373dbbdae489afd7f89f94473451516290d65de0a0cef5acefab7eb079a092604a4efed5805127cc97528caf4b6bf95276420d976d6bcc61323abfae2f3b5f36b4158792912bbc4855b344db8379d6a6831640a54c14f8f5dc666a3834bd84a8d4a9f02b5a25ec835481c5270756234562821ec29aa241d9634619bb726de72844e65e0b6bc437b1a94e7874df8ed3f3c9bc6d4f358b43faa1aebeb03155db627fa4680ee1b25adeace159a220b83bf6a945c5016099a0bdce8854d61e2d1f3f4a3ae0f412c961cabc5b515ecd58aab194c827ee0eefed09661ca472c8890baf279de15fc604c191d673fc1b001c145e28298a8fdc448839ef511db44b0373c224ad780b9a5bef384d42198d12352b8caa653d0e9b34e5c05c86addbecf8d42dceb2e6df375f89a948b81f52f619bdd9ee78ef5021f34e64335af219f874acd3257b5436655c4ba898028b38e3b6a0bd056b8b69518d68126256d35f49ce28dc9a8a70a51c91fabe2e26e8ee6ef69519aee36bb45894f3c01926616d04ea7b190168435b590489f40962b5e7193dc222bdc34288e3b68f3cd47819fa5690d6d0885aacfdda1405b589b36fffb919cfaba7057de5e6f728f6a580c4f9e7f8fa3919bb902b3f286cd73e71b63e8e0e757ca3acdbdcdcb449d904028f9145916e8116747e79400aec22a678959d89bd402c0c432598b0ece62f6d1703d1bb0ff349f0556f995d8dddd31c817524ac01173fff94e5283241f2f5ce17738e5fa5fc367a622059ffb0c6dc8f7d6e1158e7f14053dec8438ddff8fde2fa7775a4f04c6cc8284b90e25b90ea3a4b59eec4dfc4d54458aa9dfc47a5ff38e3bff4549304a5fc3629d2833996df5c130e9d6e6080cb0e7ef51c8682506a911c4a4186cafc4bc2c6bbc2ef0d4769f38024e075f4fc76740c22a121db358dd982717d9f9ca2a4903e81fcbdafc6a57d34ddf6843094a5c00b62f69401fc982020214c9a485e48b4ec645e88c17b45448292ffbab3ba7cf4cbf87e67a99f4be3c584832ceffe95bd58b288e3f43bf5ef15f2ce3a6af669178fbc5930975be23976c41f592d0fc325528c2bcd62251edca7ac8a675b431c343d5f4219bbf4c0044547eb403891ab50b2a95ddd06ae7f7470684f2ce5b868644fb95a3b1285cd872adf8c11137118e3ce33d61d85f04de86b8cc47604da42dff554c8492bcaa127a7388d11c484014bc6bbe64b5788dfa337ef18b2073bdc1dd900bebc09a4052bd7a699efb4d1538b59e13353ae57e403e1d94b5c6c99feff474a99836aefcd8002277201984dd3093f29a1c8c83a3129dd2cf62b499fe8d61f3f43420fc3ad36837e9cf7e9700a0e5810c6c831919c1d9cca8acffff08cb69ffa7504979b6219c4bcba66faabc88538ca00e5c98891b5e632d74d79e148ca02c767a20b401d7e1d06ca9ce7c2973e4e4d87167d46579142ada52d47703f7a6cba335344622e
+Pseudorandom shared Secret A: 0f69091646afd64e4b93c5ba7ad5cfc9e19d012ff0088e9f87a46935ea9d262d
+854df0f20d7f7e79100ff185a33a32e5092d75d5ec48976fef5d33680a488988695e0ccdff64fdd9f62abca7b030595b92ea1e400549819fdd4b2e05159d89cf
+Public Key: d90c396db58d1bfc569143b4e7b958912a268ff4a4bd83ae64a4c85a460799d13b65dc1f823568034a205639a5684b0002b8ba7db9385d619989dac2b8e57ea8f8bd014c91a05cc090e654a523a5898468a533a8ea7c4034d2bd9c1003456aab7553a8d7f6a63b415f3e96002dd6807afb63a82761c7772e2cd65e23752f5ab7cbfa84563a7608f0c9019b2387ddc6b1ac57704cd48477da7b1ba9b75819a3a2470cab01b4589382aff0b23f93c80b61761bb1b886981999e225ee7572ac8a5f8c2c97879640a7320528bc7410f1371c4a003e8a058a37586ef1558a409a3dccc472db992cbab0d0749d2c5cbfd15a66d61bc9410a024b091817c2918780bb4a6893c018bead46c91785a10ecb1b236bae0d9a8063d9a22df897d59cc8f00792517407f6361bd472cf6780b4fecca0300badc1754f65922d0c780285a515c5eb2ef535adfd24ac8cfb087f7b4d3f7117d44caea94358d2d66bcb94c56dbc77f69c0d55961322e82296146500131e08231aa6db7cdd557779d31c07eaa9e91aca3686bddb2b10710844e7bc1dd7481984f54bd7d77ea24cae1dc19201b0aeaa0b7f60422082934d8af7c26a59c0f0cb7a51b503d67838b085543ed63cac589196ca4038e69b9cb41dde1c118ce18cec12112a5979089027f62839ee810a20758e5e1a9ff61b2c496cbf87f548fff40896896e043a1e6138a27007a23ce6b02a50a77059947eb3a40ac253653079571724199a18e03520128943997812bc99806cdc2a489874e43bcfa82466a0863efdb3af14749072dc1a8d56c37f3965503209e46678d1557b9799b276862b332b5fe39b4cc1fa85dd98be218368d8476bc1e07a43d64c3c6a168f1a6eec81917fe6b0a607ad9429657de8cce01c66aff601e65651a8420b4e73301533975ce2aa25764dbf42296ab299cec5680c9071047446f735616b17957b1008558bb163395f1c1888eab99740956111e3ca450233f3a830b2318c8272b1d17318be16b429204d282430aecb7320c94660798f0c43658eb76f244a4cb1a8662fa39d4f183773356a0fe2b7af22903f19c022ac049f441c0ce27e21e54c654143bae7c5a384487152737d7374800b23e9873d2e31593d30412d6bcd69a800a24c6cadb3624cd2514ec09edf80ccacd8149d19cdd01719dd761a4a76a1fa872c8df605ef024c986bafce83b4214406b5477b77683767211b5bba8b980c8568653ee3f0c32a023c19347e003bac7b23a1a471553765b6940a654fec2bb8976a900019b0bb8d8b7b35b6ca1c13819c550c67897c8e2fe258f028af39ec45d2ea8e658acdca6ab83847a7db7bbfb060cfceb171e8917415885b3bd1790dc758d1b906fffc80ae03aec5a6209296a8c38c5d12eb8a2d4130afa9804266a116a58a2619473555278889ace99ab2e13097cf12cea56a2ef7558635488e8bfba1f8f0ae71a8bcb0e37c41a3be46ba2f1d02ad860782f5f991e2959d64095b147ca64a186963089ee4a53a4006134518541ae8b146f81bb3f9427ec08fa902068349c4fe7c53d42c069521a7324a1b8c2233cde989ee0c82548cbdf593ad2a887392c45ea0525d9e427d0df30724714686cb582a712f077687bce278883bc5a8b211fc8adea997e9f8e35dee603fbf69e103dfcddb0c16ac2e7ada4b
+Secret Key: c7e522fc74908d43cf78f48495b281c997010fda08d8731898d246df4759cf28280052745684bce0c9b0f0993089da4376bc125ae090e0954790584d51bc3c1e294265bc8b8e3cc104117999d093c178034b353773f87d002d1d07abce7a2359e66803b8331b62889dbf8a2df6a0b10876c673673b5ee01f34f47095a56ceefb78c5e9ab99b762979645b0402af7ca5301d4afdd0633fbeb57708741c7e7664fbc41a6e2836b72acf75c8c439997b378560ef921c270077b2c00ce262ae9e14c0d10a2c9497c392572994938f7c51acdcc6ef1e635d0935a22d32bf827a70c55153501774e1a99d613211303a33619c24a0a07b8c9a1bcb3412225a5d41764cc30ab85f10fff595da4fb5454d73e8d30783f40c89e15c132336565b40c941415b378c63fd20cb56a17e0da7a91f77f1f9271e7e02735812df9d753074a00cdda5c77200bd1f0450ad66dfc217336d1936fa80301cc6cc90b9b22393c3a5a90d5c96bc947b084962a04ca5c63107ce609c70f17ca1c81606a661828fc5b5559bca2343a64523c52cccee8e018f8485f58b00f74a7b058375a042c7065464ff9e21ae6f7125cf0844ea00c0f9c88e48000b1ec234ab6a55113596514825ed6cd1858aef5cacf986c585167c42dd872f6f9b1fba019c1bc1a5aa067367ab64a663d1954a32346b9a9a60e301a8a344b0566cca9dd051bd2c006d5a03cce35bb4b2a9761dc5330a09c8d8851a814a6fa291ffa995aedc5cf9e0399ec0b44d150988f14259a6ca86a4047f37bca60841ec0239454d82b453ab0f2f5a20907c9796cbff143cac2997ec6f889e54c9cb9f95b9b90a78999a10dab185bb8a07bb2aa46bc908bda08003aa6de7870a96ac1dada6f18f7acdafac75df51270924ce1f7114c51657029c54f216a0ef8c8e34a685832148b1420f7b633b6e21aad7c455367b1e3842a56f746d362a28bfb1fe0b73f434a5121a928f3e18544c8359b4481b9004e1002a18cf689c6c81ed120b7b8743d88130893fabdf935bbbc772618751e9a135c8c53bc0ccc35e0e82a5106657d37ac901ba03aa42cc5f802e50b32bb760610484e480046a86507a2bcb383e4a69eb953ee55a4941879bc8ba6952a27e9094bb1149d547259fde76bafe88d9f050d11c6036652890eb69e6b4b042cc6838a4636b2e65701582c17e90553b65c6902c1e5904912750bd049057f9785e1a19831fb4bd7d22a9a0c813b81c327d1c2917613a6977766f31574fc34c359c937328a7bcb133e21926a4c0d44854d5ed808135c4f5d9a04a6b93bd9b84b8c5006c8493edc520850a05ecee1a1538a260308934f8b5618577274350d38eb384689c87deb3522e82f629858ad623945f0a406e1cfa65ca9d3e9820cc5865760094e08914fb93034cacb3bf6035594bc31b494ab79c76c4491e7e0c44ad84b4751899cb68e97c541ddc7a6dde0ca550b0bb50599074a934cf79687a217f3210734954de42074ed068616d666f4e8016530a6586c190a6a1022f2726ee61fade8826eca7e56096ae3ba58eb86c5c3498c97b12d19e6bf8c2220a89c2eb2d5204c56908751b98210522a08866a90180b0a9973d38233426e19e2182be585bb5a248d5897d90c396db58d1bfc569143b4e7b958912a268ff4a4bd83ae64a4c85a460799d13b65dc1f823568034a205639a5684b0002b8ba7db9385d619989dac2b8e57ea8f8bd014c91a05cc090e654a523a5898468a533a8ea7c4034d2bd9c1003456aab7553a8d7f6a63b415f3e96002dd6807afb63a82761c7772e2cd65e23752f5ab7cbfa84563a7608f0c9019b2387ddc6b1ac57704cd48477da7b1ba9b75819a3a2470cab01b4589382aff0b23f93c80b61761bb1b886981999e225ee7572ac8a5f8c2c97879640a7320528bc7410f1371c4a003e8a058a37586ef1558a409a3dccc472db992cbab0d0749d2c5cbfd15a66d61bc9410a024b091817c2918780bb4a6893c018bead46c91785a10ecb1b236bae0d9a8063d9a22df897d59cc8f00792517407f6361bd472cf6780b4fecca0300badc1754f65922d0c780285a515c5eb2ef535adfd24ac8cfb087f7b4d3f7117d44caea94358d2d66bcb94c56dbc77f69c0d55961322e82296146500131e08231aa6db7cdd557779d31c07eaa9e91aca3686bddb2b10710844e7bc1dd7481984f54bd7d77ea24cae1dc19201b0aeaa0b7f60422082934d8af7c26a59c0f0cb7a51b503d67838b085543ed63cac589196ca4038e69b9cb41dde1c118ce18cec12112a5979089027f62839ee810a20758e5e1a9ff61b2c496cbf87f548fff40896896e043a1e6138a27007a23ce6b02a50a77059947eb3a40ac253653079571724199a18e03520128943997812bc99806cdc2a489874e43bcfa82466a0863efdb3af14749072dc1a8d56c37f3965503209e46678d1557b9799b276862b332b5fe39b4cc1fa85dd98be218368d8476bc1e07a43d64c3c6a168f1a6eec81917fe6b0a607ad9429657de8cce01c66aff601e65651a8420b4e73301533975ce2aa25764dbf42296ab299cec5680c9071047446f735616b17957b1008558bb163395f1c1888eab99740956111e3ca450233f3a830b2318c8272b1d17318be16b429204d282430aecb7320c94660798f0c43658eb76f244a4cb1a8662fa39d4f183773356a0fe2b7af22903f19c022ac049f441c0ce27e21e54c654143bae7c5a384487152737d7374800b23e9873d2e31593d30412d6bcd69a800a24c6cadb3624cd2514ec09edf80ccacd8149d19cdd01719dd761a4a76a1fa872c8df605ef024c986bafce83b4214406b5477b77683767211b5bba8b980c8568653ee3f0c32a023c19347e003bac7b23a1a471553765b6940a654fec2bb8976a900019b0bb8d8b7b35b6ca1c13819c550c67897c8e2fe258f028af39ec45d2ea8e658acdca6ab83847a7db7bbfb060cfceb171e8917415885b3bd1790dc758d1b906fffc80ae03aec5a6209296a8c38c5d12eb8a2d4130afa9804266a116a58a2619473555278889ace99ab2e13097cf12cea56a2ef7558635488e8bfba1f8f0ae71a8bcb0e37c41a3be46ba2f1d02ad860782f5f991e2959d64095b147ca64a186963089ee4a53a4006134518541ae8b146f81bb3f9427ec08fa902068349c4fe7c53d42c069521a7324a1b8c2233cde989ee0c82548cbdf593ad2a887392c45ea0525d9e427d0df30724714686cb582a712f077687bce278883bc5a8b211fc8adea997e9f8e35dee603fbf69e103dfcddb0c16ac2e7ada4ba1afe40b03d1e29a802377c43d9ae7e1beef5139b8e0df05f1735dc8df940226695e0ccdff64fdd9f62abca7b030595b92ea1e400549819fdd4b2e05159d89cf
+e8843fa61a99fe5d967994e65939f523864d7adb1f4c62bc901f8f344c4ec782
+Ciphertext: e6a395228156faefe5744564f7ce1d61a10aa68361ef9e3d41092c9a66c98f730b27040abb971ec763c9434bdcd9dad1e597dd7dd6bf3ae59fd982aaf9b8c1efd2e50b65a03fddf2fde3d29a773eb2dae0222dac20d7c8513c0a05759fbb820ed3883c8635f9700a48532a6cdf5e78ebf529221ac9ddcf513450b6d3f9977c25f0b1ecde940c1b55d2272215ef23a5d461b84177bc758a31927c7470718703b20cd3944b8da6ffdf1d4dd09703604e35171074f6cc69a220ab12b88fb0d5be7f22c315ad90a71101ab1bd14f7c022e75ded4b3afbacee95cce6b45eafa630d974f0a360284882ac860bc8edb554628589b882b424e7628267e2c89d5c23f6888fa42ed1da9a2e06b56b1eeaaec61f2f4574d54b86a9203752a8316806fe068b2265be0c13a709f909d4e408b1c5c9b7522d8157608d082ad797b7e471424412fb5211e9694c52df294156cc7f25ed186332a584dc81f89c480fdc932855c0d86a6415f67245f7a2ce0edf52dd6043b52a863f3cc7f6ad8007e6da0057ade5d60ccfa2032c25e9a81b8ebbce658134b03fc4fcbf0f2cdb051cd8474dd58be3274476ad4d82be199a07d081568115ff2aeb1f87d277d4b703a733040fb889fa0cb8d54ed3d25f8f70909684d957561ce8d9d4d40ffb81db05f328ba65a1f938cfb3ace9dddc9dcc99a4ff6490d0c777d22f6894c3d88eb22e73e7d52a620d92a384daa8742131f0e1b021bef3a62b3bac0767007784e87619bb204c374caad0133f0761bb3aac7f488a69967cda30ed808a413298587ac9134a0bd61a5fa6a3f9f10f9fcbc141ab318948ce5c315ba8c7452820da6f391de55dd6fbb2af39ac9e03963696bf1f0de501714d53989eb658a1a26eac3e3849dfd30cae402742b8eb153d667038ef0b66e1578489676170eed780d42c89f9b1281f893070c211384799cd6ac1531d244e4d502406449e8a9370e899b5c9ad4c08ee034118d7e79231773ac7cfcc1e4056cd6b187486495bd35d5ac27b6fd8b45afdb51e0f53b0b8c41840381f59763b03e519ab5bc54e0d4ec77aa2189cf2eac5281023b66bcabc66d25408453348c4d14da20ace4c5a44016ac94f2aece66ee23c88e938a9c3f1c31e73756bc715aa9be5c81a207424eb267cac00d613a5e9976860d421bbd44826c3eac82356b8b8c595ee2090e39ba8ba9f1826e74af078c5e3e310a0042847eb7dd3385420dfbf6f44fd4c41cfddd52e6e015f1b1b3800226fc4694eb962dec5c3d6afad1b27c0c8e084480f80a3676a32ac4af1d526586d842bbb2f5996b952cc2c5a7a32de2f58f71fd7d5c58887f8b016ca584f14d41b2cf604ea609c9732776ba9bd54b61b00571c26bef88476d8a12460549952cf63558704e18bacc33e35c3810c823eebb99a5fca2883a845d143333b5dd5716d88eef52501d417c08313d623b53d62b866c8b2b98e8fe5c0e3514c669e7077f4dde631da9e55ac50568a2b3a9bc5a544e36accd2c492eff5dd29e8bcb106a9420f5df7849a620691807
+Shared Secret B: 59d134a68272bdfdb5340f7daadedfe4e070ae5f7ee3a3544e0577a3bb244efa
+Shared Secret A: 59d134a68272bdfdb5340f7daadedfe4e070ae5f7ee3a3544e0577a3bb244efa
+2be0e85ffc62c76d98eb3ec38f39ef58cfda9b6ce139b71e4359c6ac8cbfb03235c7e68355e13547ac031c24aa0d7830b294ccc46fddb74af9f4cd29fdfa915fcc5231cfe517af678d6cb3f18523bf4c69f9b3090bc34a22d2c359a2c26ddd4aaae72c72fe312b522434ce3b5616267e54d35795c5314101df41370146f2703d72a7124421475667fd908ce77918825609b20e4aeb204a96abb207ec51537d0d716acced6eacd21b56f04b49a91890a6870a100346575170eb2b9bd5c03c09160f2cf2abbdae47f7d36d73ffe7ba4325b100b9a1b5a8aa7b2fe914f5b6965c2f14a71a856c8783b36f6cd990dd3aafc134eabfeeae2a16acec7b8cbdc3ec214a61bac3844862ce845bc95dbe36c009a48eeb98707fcad42ff1205ccb926b3f7f547af2f88357e455849e03a78493f527f32e23fea38ad17be561073fc61ea469be43ca0b61f743a93dee53c0c9acd86f62ab66a86f69609905ff2bf77d0970ce5f6baba7c2ce03b9ac3396c4f42c99aec2d4e7546bbbc055456d0b852ed22293bb55d9840e1e88efe63a72ee80291fe859bbb1fa9de8af3441c4c8747521e0093fd9f69072f78bc1451947280c60fb66dffbcf7d1fefba79cf5323baaefe233b243f5597e0a19732b4d82a6e20e8bb9cc7faefc7c664d089dc52ad4c4e0b9983097ca36dbd149cf37de8d4b7510fc6cf78d3bb9b74298e00a5bfd4f72930090821dceb50623c99684751f66b290a836b62b636f94c2f50b063c0d0cfdaed8569d71a1aed5c2ef5b9630141396b14b71a78ee12c3751292b95abba64a3542d459d0778d2bf8244b2f6e4e2988aa50fcd6c05dd17bad6dfe4cbe3033374deff41117e17eb213920f84dcacdf788bf5cce5654650964b9b10c7d39779b7158c4a1b06f80cbfe16a82d17907f9e87cb2888ea0f4fcaa9093dc2b56390d99d390747a950a2fc8e5366389a59f4934ab88328ca7ab4fc30839065b5df0eb067ffe577ef62dce3a1290026db1e894d9795047b05c89fa626e1be73f1a420eef55834c356218cfea3a45a8957e96f3f6592310fade69bd318b0cb988f1e887df0033b5d6b0d958076db793448009c0c4a14491f8eeeccc527f20ccd718845a3964cb83995d988a2ab96619a31ddacdac891518e971df5d441eef34f56756f01fff94ffb76284d3f33ee7d65193489ce27f6ba05b9a842acc4b1cde48b990f72e02b7f2cc912a067ca09f1becff6ec17458d842b832b53ac064185f88947bc8cae0c4aee507f7323d83fcc7f38e5546da96be7a70c77a9169dfba00d63d1c1e007ca5a109d1f85a3c0f928f1a36cc0ca70f03f133bcbb3998fdb54e8dcd99055e2a35da292ae0006fc2f15cc98c2bf32c7ba03ad53b33831e11b12e7ac4be88c50f9c318ce3d9d1b1603fd489df1be75ff071991fe4549da5db1da4200254a9f274c692df1fc6a392e4def830eebeb3b634ce01f6c59e08d8bf00c872d1a3785c78356222be7adb7aab2e2191acf1dcd79360a45fb32969661a78756c30c53ac501ef5260
+Pseudorandom shared Secret A: 311db7bf7d2d61a0d9fd236539dce577e2b2f244b6182d8a474de21afaef17e3
+731b12e1a67c69d8eb2c415bdbd02a5e19362cf95d83b0bc5273e0d53c75d239f1975b7cc6b7a6ae433f4fa0dad0e1331cf837a45781ce714183294943996d41
+Public Key: e872aa3f510efaf57d8ac73fefda892324cfe248ad83e82d9b6125d2b0b2dd0984ebb632ab8858cc52a196ec4806a6755c9acb8c47c6cfcbb9b4bc907bb04ea71b2e815a25e1c897344a5c68c2537e5178d30c857f896c54eaa9d3f19c515108f72242ff31bf62c63365782fa08cc4ff7b9cb7f0a5006422c86c81d6bb943985c68ac12577da503ec5423bb51fa0cb01413c16a9f9181a9c215ae700f3d9a4bf06034a5834120c61f158ad12672cfa14569690266f009c9368708b739331bb9c737861ada031083103f9769ec18a24acb0a99cfc29b266b14e8a12aa20a797c733097c55130c312ad478f9c1269bb9a74e395b81211eb022cdf1bc28cf21886024bb16e00db5e6631972ab62d1bd09db447ed68330a0a0600acb49850c1f91166ca7c8dec61811b9493b871febfc41830c5974e448c56aab764a0ae6392092794c4b60be47278a65d55cce87ae56585cf4c547b32964733888eef394ed7c4454440b1c38b9abb84ad471b90c5973661a675fab78188a2c5c38042269a2502c040730272324926453a4411b4e1efb519b54066dab8b34aba1740ab42008c3c0c347d0458c1cf9b2fc0c71b925116692c4ca411805122e54836c79103ae5162e49263dd0e7a92f5a7eacb50836f3a720f47006472f23da4e66ca79e17a1454023f948b5a9b462c02a1582a4bb1bc9a5881477132ba484c3ba1e7b3408e8345eb0378ded38419493904bb7d74f599dce37a7616744fe4a491b57c71744b2c530da38c54146b97206c24d0a73a1d115390e306f573c873925e00985c564a4252206b29690d3dc102b29c2301201a2dd533c0da1f3686c6607a736fa77daee24e85f9955e0b9202b70755dc67b2f88d12c8276f3576ff00b4c5924eb17a86d6512d9241a8e68275734c8f16b810bff35f01554e04342a1702b3bc467ab9783990d70c325459e08cb2dc41740c8931fcf72a1ea81ecc43316d2949573bbd2c8526d5ac19c2c88efcaaa8956ac18d4cc09b4c03c9b63c841079bcd83582c6a44f6a73b79496fca56425c86afe63873ee410d9a7979d749f20f9b3ab7026434c56fcc63e8544c4dc3c49fa0926a89656b289cf2fa0b02f689f3315c80527ae8e54075d961e60b6b253d15115c5199f0256b66014d4681e38e4c79d248de9670efac480480a839ac76a2012c122d8724ef15e46e13a596a4d970182b886803f7b0260e0426933baf6c5befe8b1baa8673d96b756555878e37c4c7eaa23da822113385c14319efa21b1214aa43116d217790d619910949a97c48965acc82e0f94b30841e2a3cb66a479719a895e9fa31a6239566f833d1b59beaf166df7b11a551049d99cf70043f8bd13d9e844aa16a2746da893a48623d5abde8391c5ec07f2df869ca6964a8840b99a7955aa7716d52275453a87f91348b901cadc485fb0960d6e965e12bc7fcc2616d938258db8e412237373bbce86a4153048c880a2fbb2495864c791cb00afec1521f12592516c690568de6e211a2b7502d123d71f2b8d84a8df0a683e4da82dcda04eac4a889e87d05428572c8a702eb3672e935f4eb864a085e1b9c52eee23dd4b03e3e78a3d291a87a4a5716614301089c0b5925e3cb77908c19bd94f8724a8b369262fb01edaa937a00f9fee42686f00f51c5e469f5155b31c2
+Secret Key: d8e1996941895d74aa91a638f1d3b0b6a642ef13b3282396d60868cd052f903803b2394c47f102cc7c24d1f8051b3a13991724d24578c2003feb7129c90881d230c863ccbec82835d2368ac98210dfd9c62be0cb7b513e29e3263d94a570d6c2798c249e589c4bd76335ac705c515f2e285095a843a89211a24bae54e64b6736692dd51b645990ec135aa7b1521258818032634ce5befaea3445b19c8385515739786e00a122884d1ce6ca7f6c12941b48bb3c29615b949104cf266142104cb2fce07592c62099486ee0e7603bd42dda302464812f7f911e62206530501007783f5c469d973250cdb2103af77c994c5db379cc6635105e63be86a06a97a0b75031398904471aa35382a403c82063203a8ab7a104675b472a0ab7a1397e614b552bf47bb0db2efee8cf34d664395c76bf9c2d78fb923c1a259d67bfe54a1d70bb6f9f33323eb8c2eed599cfa49130c04549884149c646806787548a79a5541276576f125a606f360515d91dee36c2a88c62f6088a9a9b0eab692b02103edeeb651c0b834a84881d0249c6bb3246c0a41449413d9873a6e8a011f02bd4879e405362a8057913196b40761697c9774cf057b42bbfe9b689a349b3d4c26fa9185e8f54b81122b3c3c4aa266083f3a09c6f4814f54c28fd556f11950b680666223487aaf4409639cb826620d033a4727463b3500bc2841a326c268cea42269791f8f09c00a38d3d4127b290a30441905ea904a439098e32c900160f285b481495820874583830be70fc3666d55c03911108f21ad934003c060d7c3016f525b3623074464aa28645712b95b8819b16737cb7bd25093739b2928c577784391bdb04ee16313bb39d84e712808c8fc4e4ce56a423614c78c35a7ea5164a85ba3a35e749491c039c440910bb25279b3d687184fd305760226073280f5801be63f221e5e0b8e76ac1df1570b2c25ee2d6554d00a37604b1fba63db893752bf1484d4b0d7d84ab84788fe8742cad9b46aac41bdec8c0e9275efbc82cf3f892c9d238215079e4106411d4630c51afa19a0a5a89bc46058ca19830bfa36b460617aea31062a45e2e75a456482db17ab0df1c41af0745dd5695df5cb52fd2a195980bcf4061a4186f4a69422db05965ea84751b3c8a816a940b563d1a0f25e28a7545b6dccb40c5372ed418328ac11edb801b32506586d6c50b47a58b67c19f5cb9e21bbc26680d55a59db09cac72659068125ac8c40b03b92d1c89a66aec2199a6645f39c00d02cce7a24f3a35b13940a40599932a613f3d414685679bc9d00203d60b552282eaf7303423757d04bf8dc7c852163b2a4054eaa286adc2609d165635f89fe615c8a5821e914b223716209bb1558403bb46221c336cc9c7456d01977fd3c0b5793ca05f06c494843fb3a7aa40c36dbf0972d024ac39b475d95433274968f3741243c94b1a3296eefb2057187b9024547589787f35b7cd572f0d76a19307384a9c058241c4613a570d1b933f42b9d117ab8bbb05bdd784ec2a639fd94a27aac29cb2a7c9b8a06f575250655022f47b51362145c6b64917beba660bf86a752b00ba70050019fc8c001524b1e4636f374806c07930f4073eb7606468957f0948ce2568e872aa3f510efaf57d8ac73fefda892324cfe248ad83e82d9b6125d2b0b2dd0984ebb632ab8858cc52a196ec4806a6755c9acb8c47c6cfcbb9b4bc907bb04ea71b2e815a25e1c897344a5c68c2537e5178d30c857f896c54eaa9d3f19c515108f72242ff31bf62c63365782fa08cc4ff7b9cb7f0a5006422c86c81d6bb943985c68ac12577da503ec5423bb51fa0cb01413c16a9f9181a9c215ae700f3d9a4bf06034a5834120c61f158ad12672cfa14569690266f009c9368708b739331bb9c737861ada031083103f9769ec18a24acb0a99cfc29b266b14e8a12aa20a797c733097c55130c312ad478f9c1269bb9a74e395b81211eb022cdf1bc28cf21886024bb16e00db5e6631972ab62d1bd09db447ed68330a0a0600acb49850c1f91166ca7c8dec61811b9493b871febfc41830c5974e448c56aab764a0ae6392092794c4b60be47278a65d55cce87ae56585cf4c547b32964733888eef394ed7c4454440b1c38b9abb84ad471b90c5973661a675fab78188a2c5c38042269a2502c040730272324926453a4411b4e1efb519b54066dab8b34aba1740ab42008c3c0c347d0458c1cf9b2fc0c71b925116692c4ca411805122e54836c79103ae5162e49263dd0e7a92f5a7eacb50836f3a720f47006472f23da4e66ca79e17a1454023f948b5a9b462c02a1582a4bb1bc9a5881477132ba484c3ba1e7b3408e8345eb0378ded38419493904bb7d74f599dce37a7616744fe4a491b57c71744b2c530da38c54146b97206c24d0a73a1d115390e306f573c873925e00985c564a4252206b29690d3dc102b29c2301201a2dd533c0da1f3686c6607a736fa77daee24e85f9955e0b9202b70755dc67b2f88d12c8276f3576ff00b4c5924eb17a86d6512d9241a8e68275734c8f16b810bff35f01554e04342a1702b3bc467ab9783990d70c325459e08cb2dc41740c8931fcf72a1ea81ecc43316d2949573bbd2c8526d5ac19c2c88efcaaa8956ac18d4cc09b4c03c9b63c841079bcd83582c6a44f6a73b79496fca56425c86afe63873ee410d9a7979d749f20f9b3ab7026434c56fcc63e8544c4dc3c49fa0926a89656b289cf2fa0b02f689f3315c80527ae8e54075d961e60b6b253d15115c5199f0256b66014d4681e38e4c79d248de9670efac480480a839ac76a2012c122d8724ef15e46e13a596a4d970182b886803f7b0260e0426933baf6c5befe8b1baa8673d96b756555878e37c4c7eaa23da822113385c14319efa21b1214aa43116d217790d619910949a97c48965acc82e0f94b30841e2a3cb66a479719a895e9fa31a6239566f833d1b59beaf166df7b11a551049d99cf70043f8bd13d9e844aa16a2746da893a48623d5abde8391c5ec07f2df869ca6964a8840b99a7955aa7716d52275453a87f91348b901cadc485fb0960d6e965e12bc7fcc2616d938258db8e412237373bbce86a4153048c880a2fbb2495864c791cb00afec1521f12592516c690568de6e211a2b7502d123d71f2b8d84a8df0a683e4da82dcda04eac4a889e87d05428572c8a702eb3672e935f4eb864a085e1b9c52eee23dd4b03e3e78a3d291a87a4a5716614301089c0b5925e3cb77908c19bd94f8724a8b369262fb01edaa937a00f9fee42686f00f51c5e469f5155b31c2a1cf6b733ee90b1bfca3594f6612865865af8e3f833dad503b344d7f78ef8484f1975b7cc6b7a6ae433f4fa0dad0e1331cf837a45781ce714183294943996d41
+a8cc1e0e0847b803909e4574d83d2a15dfcd6a7f6c1f4ca1456ceb0843f490a0
+Ciphertext: 2e037984de25c3947f6f5230d111d72fd4de6774f9fa96bc73bb2774fad128c1d10491ff81ef76e27e3f6850afc693e381615838a4a58ce95499343a776ca4344fc5cfcd8754297734aa8a5510e3dad6a8e57080034bc18d8642e7321368a1934a046e4aa62cb6d983e2013d11d42d955d2594b9e117024982788e9c608da0579f75c5b7c77e5649c83a346e7e06186a7d907c49693470255897760f479273608d7e91b07aa523d74e20b453456e2d4dbd029cc68c7e30f03e4b478fd18fdc322fb312783ee2a538bcdefcebd60eaed98bffaad92b580e142dda54ae404a8aca3b5677d8365f9832848a3004da78ec05624e33ebe73be5c8b5989b76558db7d7b7a2691d46b560984b029d12f0bec0f64b7c161b979780cfeb878bd5c57cce4204e47b83a99c7cf3191c1cda9400ad27b18ed724f6b122d7bd4afe5d0a237ef64c1fd08a6dff4e1bcf9c1964b27f7ac9c41d84884e321bcd273833dc6d3c1017c554307baa0b9cc425b183b3a9e1238cf514ed1ac105418c650d188ccfde9add47e786b7fcc4956046acb51d8640dddf2d9e6db63d0748800b57c73e81c5fd4f12318b1bbee1eca77ebba1b46115d3882fa5a54519e984c1199028dccaa2fd1b480bca35ca223dd69b926325452e7a7335dcb14afdc68f33d97958ef62d9274c676b557586ab82ea9dca03a5e47bc66f8348def642cb919fa2217fac97e14070d5f21c8454e3860d7d3c766055d4c9a5bbd53bb3113e0b110140c0f014fc169f0cea2f73216ac77f5ffff78970f7edae4dccff837885c52b549aa5f0ae1f3b4a456965507907fa9486d26f2fd9d5361c8ca70ba1dba182903df6723b755f01d42f361b2b81220319e128a3d364c612d95f7ae4f5f1dd88bfadbce2ecca26df0225e2a8fa2a176f9ecbbbe56734a98145b3051292f704b0b4b086b7b03580efe8bc71cff76b3386984a00531214c989642738545455a6b831b9cfc2aadcefbbf3c400980215719074940456e0d0b470b9adc0e51a28ac761351f66fdad092a213b68fc80f1d3f1b17d5355bc1afb415d1ccd1fe23d9a6c4e9bb93261a861f1709da625f49e11e25c85e3067018c638a128c52113c3a6d19412316af9abf8f714a74623d1dcfc6551ce7b58c6079f7e0e5436ccf25235862d4cca413af4c8b81de6d4cb093e8f5afb672d60bdead41d541b35bea66f1696bf32e6a01e1c962bab06148dd4d1523637a31df25be4a8c2ae6f36c38592607c743bee991d7d54a8cd5f8d37be9d16d3e54325406ab299f59122df0a5ee70ccae807c7bea6f750ca44646985dd95f3ca2b1eb38a5a7a867e2b4b6382057095f333eb47f71f73884267c512e7c78692857896f6bb8962151695a016df381efa4b0dba4ecbd9455f46187332d238e9a9e5e38034ab1e04536d37668f6de47a993a91c2d0c1bd70f37db4fda2d50bc35292dc36df238a307267212595571c476f36385b7624065d686c85726a3db3749990922908964ec53f6e55b93051f314531d4b0ad303805b94e6221
+Shared Secret B: 0f861550251efa5f8c578df32620a48b072b4489a2c19677af9eeb0deda5d896
+Shared Secret A: 0f861550251efa5f8c578df32620a48b072b4489a2c19677af9eeb0deda5d896
+0f9abfb275347db55e7be776ae734d2a9a578b2c7494882ef995e691a607aa2f2ca2ab617dc4e86369733951e516df2bdce9b0592acf0892b980042e51d7d2c2ee1545ca7af89b52956f8a3030023ee526cc762d729862878fe7353aefbff9a0b9127bc72f39c5077012ac178f688a18df4d3bf0dccb1532ae3235a548eda529019d4eb218cdd1fb9b65703e62112cdb8c6be58fcff061265d6783f2f999b9f46fc623508623a2776788f8c66e43ad08456da53bb615964d0f603aac3537e8dc543630e3550a1078c2c7561e0608ee72f003ca596eb2e43f9fe531d5cd143913702633ea65e9226364adee3f30129f4b8a97271f57603471b9845ee78458dc5c1c5a415a959a23726424086cd8b4a3488ed2cb5c60352349708ba47a650aeed0bb2afe79bbf9da878c40ffd21dce2b6a15fd9adb0cff1e17e9cf7c764e1a1951ff5f11d03cc83560ccce4929839f087f1021a4e2aff269d36f03b062cf073aff023e483c1b62232bfd53b5d704223934d458e455ae26a43cc0584b6cadaee1d2f6a8595d393de261fc979d1dc0c0ea207db65de2de945c2ed09c712d94139c7813f3086695aa6013cbecf5d9a95a1efdcd9435c87529d199e6c379e18daaff0588570da7a4fcf5d3f020f0491a60067ca8cbf6d94213f38a28a3f876d44b1f21cd4d306135719d1872009fd0a8f65ed267d3546b8590bd0c1cc6fc40e922e3d90b7523d0f788ed5da5fd9565119559a0cde0dcf10969352c9f14f07813d54b2514d1bdba2d43c799ce38179bb8f4b39195d27561478420e614db651bea6ff381c0f7855a2ce3ba387bafc8ddc0c2619755bbc3f3b2c4510233a75391b4b22eee8043e6ffddf2b4bf85fa97a8a25108520593af531c900ed39fa1cfc5872d8cd9f4c6f745de94dadb52ac3c7bbf08604cb126f3a9dcc268b88f3bc9b8629e7eacf4bba502c48b4f0e6f3fd5ca1ab6fc7f063a26dc26245b960c32df153e2b9bfae27bd952cda75ef6d35e16ba854946d6c5cedc9ae4a84fad9deea4d3c89fc8a37a213c3386d895793d1be41399b8a7204acd90f77ee145a50cc2a39bd5fde4a18804b1f10f5bab399b693d0c59e63594e28f0d34adae5ed00b773be005a2ac743da58ba6584588e163f78eed53fbc7aa649a6cc838951d22f4473135930834b03f29e882dbb7186e1eb8a64eb911fa916c25c121ff124160aa4015b2eff8911b6c4e517b5d02a021cbdca1021f97d5de8417dab4681a59449b1f8520dc5a7a4402e44113aac1f0c5e322183d7e6e9ba652bab8590735c6bab7b6b252874dc9b49ec6fa6310682951737ed37f05e3bea5c1ad5bba60f12946f9f40d809e756dcd549b6943c9ac3c680d5e20791bc80e50f207a54c4b43b83cae11bb4d9c7cbbdafa539fb277b9f533aa98160c34a74e50d4c55158e2a36e2e7e5a440e92a4d5cf0c75c4ae87bc1559429fcc47fb2d3e0f2e40f937226f39c3d6e5c836fe2993a0f9ce1ece9af222185d2cc881689516579d7d534169c88ba53e5c4cbc38c88668
+Pseudorandom shared Secret A: 679538fdfd1ae51b58e3321ebe3b5ebabf7adb4be7b2729e0d179294af6c7366
+b331890c411b66d9453540979c0a3de9b09fd08a7cb28a210a496c9b0a5cb3e1b44c2f0abf30fe8ccaf6717df4084697d457e648f6f27c02ccf2354b4a0c419c
+Public Key: ca772ee665c861569049c91bd3429fb6351936648b99258e3138c95b332fe31345f2780b60264c78f0bb7483345041861909ad2576a60730c04134aed84c9c3f8ba25595454aa572fd64673fc2cc146c94600b5f567ca58fe751d35649c7d691722778e459a705667356a72c2d74a799c4449f8152fb33b9926c7c0d83cae4e7045f83acf0796a88d9367d76b6e32c6651904bdb573d67949220193ad9b05a99188a5f388b2903a320e49b9f71a96c359fe185087006c3466a06980c96d67c82b86a3b436a17499c1394a86141696c04a74745501cdcdb50d6267c8501056740027cc6305df87c5d45630e259dd3b2053eea008544ad5e7c714212c787c72bd73681b905102917114bb61fa204b276390701a54e740ca0d70795a3701dbd3930861781599123d0b26eb818679c671a07d06971534cb1d99b5a46be453238dd29363ab574ab86c72cf20fc693423bd1a976eba09ecb3a236117dbc6b5fd643bdf158e2eb24b8c6291054911024c9bf1d4aa124b0e311aae945054ba2452f4f2bcb48544770a6525a445adc72ae4b34575f3c2cc6b2b9b4796204936d275015804b012b23abfd81ed5c8bf5ed97c671b28205778b262cff3526467339867e5098e6bc6087a834a108793d2ab96fc585ce7227a66a5b55b85e77a2bdd40170ab7995c69553c9832220b65c36941b36917b9a298abdb711870229f56344569c550a073cdf0afcdc8879875be82bcc7ed570df3da6944c30cfdb82f17558d3f9123894b093306a0de2676fd75bd0ab60b2d2c34e1d74c1530af7f4166631a5bce4337d685cf1a984487dc2f7aea601411c17b6210b82056867ca5466aa759cba0d1e0a37dd84327ca6562ea1e60371da5f45e401108387963076490bf044d8f7b310951c34df20142930f99d5176b1b68d325b21fb35f1663003f81c055545d66b16d9a1387b2672221e62b60a2bf409337abc931dd61515c5730e5597de9f82a21e34ed5a57a66a640836876854693ef16b45f558b8e219e86c9c97a5acffd63017e601d643c7ae5ac1697f498b409c04d16aec6d686c0ec93ae928e98194658202cb96b1993f4219e11b3b8931d50847a9c2742a2c310c17871a565b438254cf264c0f0aa7a6289854363c16dc79401370d4923ac268a4f8f89b683313850880d9cda019b2604d82412df625fcc33024e5b111e394a1cab0c99320f22d62475f307c8482fb9f59bd95591d9114f805b039fb9a19f6a10f75963d390127cf0b8edc056bad11965d677cc10618e9873bbeb3c30fc71a23744976112b204a3734512fe687f3f7906ae29067f3b0613f30ab28112641764f855a5ac53635170cfdab653c928523ba71090c2720b827dc83029bcd279b3c82544609b04b6868db6017f3a6f1cb05c59f007f965151c8acfee145d65c4407fba85186223e8289f1437bfd53bcd191b51b0848841b6144df51b5e3b8c053a08c78c5a056c911c4ab26f4936ef883271109160f03868b920924249fa3228b876a88a996fc3a8442525733d99cf3d77943f030d0c755e720ac9620641ecbb24fc4b326c94771b3bbcca64996da82032e96827c6818d2665c58c08991363288713e369b608d6558df8524fc283c836225b91a1cdefb2fd0b6c3916fb1410046a7c0e2e65834697e8e3f1a634bf
+Secret Key: 07bb3bd03184ca3aa66e074104f59a2b8c38f25ac7c21b9bad4a9c27c13a90c1b5b080c34c628aeac41620f999c0e429d20502ef1c218113582bc36c9c53a9e1b83e07c2540b8716d5c878499990704c42a6f7c18cfc4bf631a1c19a1db391b992aaa43e1696e157046f2b11748326c061222b036cb7b603628c4869fc06893827539104c787b43e8ba607a555ce732c90a61bba80b58ec72af6a1a890060f1c9c40246320d24538d25a8d6316972d0a655a164ef2d8c3cd77315bf41be3ba2e8a69386de3536c5a3f10106899435a35c091b1d5c848776f8ad2a9cb715af4f16883021bd2416e54652b28f35d98896e0d4219a4452cd6aa6de5f125b8b385162b504b8cb946e60b0efc6ee3c7c31e1b7c6d8a87dd242a16a0c4f8433a88784d10aa4ae1e04b8b5a8e0bf12145a53addd7b7e8f941c3755fe7e81c59cb0dd1bc4bdd7cb272b291a3baac7dfbbe36720368550ae3d73a05985241917b4837c112b96b5570a53742aab1b32a11315f3fd6503912c18a898457a89503e789d9342d22a365e6826512417e12991437570045ec3448e1772589928f9872e2443624c3019c1044ad95c24e803473d3973af5c5ae7b6cf7e5c3a0328c56584c9b55c6e2b1946ab61a48c07028fb9b815592a952568bb4c438424fbbd15ed0414e92b84240f9a540b71d0ae1b78e4b668e122e4cbac3de18826dfbb8ee408d456691dfd1905293af05dc688b9768346a00404740b580787f552e13563b1ef2a4aa88bb4914513ec4730a11c05d3212146c9105c9a711b432c9c83d8eb4b8b9756b74d454cb522b6c1a56585c18a78c8351938697e328fe1accff20907e048626d650b9c465f0e4c65c403bfc23537ba49dd844acb69a9bf6f05b6e32894a548ebae9106df25381d80cf162c18035bf3b844deb308b77000fe3892e4dfb0e03ebc99f600bb7eb0ce0c651d47583bdb2512deb4380c896f27b7123332cde86cdfc2a3badb5c1ad21714cca563883b4b696aa4c8a6a1eab964a0c96e468a8badacd8e80740fe0b0f411abaac45e1309ab7db6ac59c261816203f0da80bad05db94a034fccc76fb192c06b2160468bdac562ba8cadcec6c7bf1a1fa8393b5669c3c876001c31c8356165d759438ca9b97b27a9ca057e95e4160a27a673b57f6d2b35890a1ef750791fe62a74902a35834bd912486d979a0fb3203e88279d483486e01bd1d2b2088621d0473d3f984ad8198a6e474147510c3e7c208f40b030fb0fc884ad723a0a2a7c6a3ca04ddca7a8b4fa0da565234cbb3e8a8a9d900a56a0e5b78bd3bff35792da796988bb5b9e8370d17babeab02afb976c862460b2496e43ab54fa44b2f81721f3493b8ac58f3e084479d0a9065894bc2c9b50e1b1b40339cdfb1d252a52f673c8c9775eec355c30f65fb77c8473cb31eeb8cc5eb1be6f379c9fd82d9ee41d6929b664d2ce4fd6b4fda79c407878b0a5316e065a3d055d36c37458523394a7caa6c865f583a6b3a394cee4adcf51a744d6ca067630e00595bba5c26cd31c1df3811f16cf828186888a0f573b6b1a316ca176356f686b9fa623392bcc1198951e64b7d19754dee825496b8060b8af26f941f2a67c53c9553394732a9a91ca772ee665c861569049c91bd3429fb6351936648b99258e3138c95b332fe31345f2780b60264c78f0bb7483345041861909ad2576a60730c04134aed84c9c3f8ba25595454aa572fd64673fc2cc146c94600b5f567ca58fe751d35649c7d691722778e459a705667356a72c2d74a799c4449f8152fb33b9926c7c0d83cae4e7045f83acf0796a88d9367d76b6e32c6651904bdb573d67949220193ad9b05a99188a5f388b2903a320e49b9f71a96c359fe185087006c3466a06980c96d67c82b86a3b436a17499c1394a86141696c04a74745501cdcdb50d6267c8501056740027cc6305df87c5d45630e259dd3b2053eea008544ad5e7c714212c787c72bd73681b905102917114bb61fa204b276390701a54e740ca0d70795a3701dbd3930861781599123d0b26eb818679c671a07d06971534cb1d99b5a46be453238dd29363ab574ab86c72cf20fc693423bd1a976eba09ecb3a236117dbc6b5fd643bdf158e2eb24b8c6291054911024c9bf1d4aa124b0e311aae945054ba2452f4f2bcb48544770a6525a445adc72ae4b34575f3c2cc6b2b9b4796204936d275015804b012b23abfd81ed5c8bf5ed97c671b28205778b262cff3526467339867e5098e6bc6087a834a108793d2ab96fc585ce7227a66a5b55b85e77a2bdd40170ab7995c69553c9832220b65c36941b36917b9a298abdb711870229f56344569c550a073cdf0afcdc8879875be82bcc7ed570df3da6944c30cfdb82f17558d3f9123894b093306a0de2676fd75bd0ab60b2d2c34e1d74c1530af7f4166631a5bce4337d685cf1a984487dc2f7aea601411c17b6210b82056867ca5466aa759cba0d1e0a37dd84327ca6562ea1e60371da5f45e401108387963076490bf044d8f7b310951c34df20142930f99d5176b1b68d325b21fb35f1663003f81c055545d66b16d9a1387b2672221e62b60a2bf409337abc931dd61515c5730e5597de9f82a21e34ed5a57a66a640836876854693ef16b45f558b8e219e86c9c97a5acffd63017e601d643c7ae5ac1697f498b409c04d16aec6d686c0ec93ae928e98194658202cb96b1993f4219e11b3b8931d50847a9c2742a2c310c17871a565b438254cf264c0f0aa7a6289854363c16dc79401370d4923ac268a4f8f89b683313850880d9cda019b2604d82412df625fcc33024e5b111e394a1cab0c99320f22d62475f307c8482fb9f59bd95591d9114f805b039fb9a19f6a10f75963d390127cf0b8edc056bad11965d677cc10618e9873bbeb3c30fc71a23744976112b204a3734512fe687f3f7906ae29067f3b0613f30ab28112641764f855a5ac53635170cfdab653c928523ba71090c2720b827dc83029bcd279b3c82544609b04b6868db6017f3a6f1cb05c59f007f965151c8acfee145d65c4407fba85186223e8289f1437bfd53bcd191b51b0848841b6144df51b5e3b8c053a08c78c5a056c911c4ab26f4936ef883271109160f03868b920924249fa3228b876a88a996fc3a8442525733d99cf3d77943f030d0c755e720ac9620641ecbb24fc4b326c94771b3bbcca64996da82032e96827c6818d2665c58c08991363288713e369b608d6558df8524fc283c836225b91a1cdefb2fd0b6c3916fb1410046a7c0e2e65834697e8e3f1a634bf44f36d889861730c39fafee14d3795ecd393fd92488106177f4f46c8a6606e34b44c2f0abf30fe8ccaf6717df4084697d457e648f6f27c02ccf2354b4a0c419c
+1ae35273f8a03fd1101f260d89e21f7d55acb785dd0fe673cc62bbdc15ed8859
+Ciphertext: 7bc1b7da4f6189e4d65bd3501f3ec51cf12604c5edb4f918ca93af93f18ccac75e98a595e71c26b0d9bd6dc4ed241dde0f35200eb45a70ce15dd141a76de56d33282567fc4486a4b532e6e185991ee77e12877bd577ee3c82bca1cc2d7389a3fda3754493406789b91e4e90fbfc2e510e84fb6e3a5a2f3403339433911d8d150d4d9de5fa1bb4ce969c11f757aeff72a28e1f7c3113e3594b51855ee6fda532838c64b5814f4402a0f3268e4d74b7c5d9fd44dba361048ee4a4dec91216e097f417aee8e3462bc8518cc114949197a2575a17ae3c6d3927cfcc410948c3b45eb4c529d3c0f21b2a428593822aad82a5e033745e28daf83683400fe2764d1469bc1d65551f91aa42b801f776305fc0405e4fbc52d480292b23b96aacc18c62daeaeaacec024ad3396170702461d2b1111a8112d77adcc71fa0d27b73e6ed993b5f0cf7085c36dbda06cb67ef71abf6e45403d34073112f6b7aa8becda16f3b4f37c49bd7538d40f92d9856de92262c4d957b2a7a5f213fba81c9b7896bd8b5ecafc84d8626f9309b70a9d6d77f40847bdffad2426626e1f495f720960a47842fa9e9eeb121161f6769792e8cd3578ba21f736db377b2d01d0f7b290a8a50ef85064ef63437004e5ae8b154816a2cb49413d415c7a74ccb15daba6eda7388eef9886290df07e5dfb83b491be8ff00c005221c83ddc2b912464f858e5af43a3710b9a43d653856e5810c31382ed763a2072011f3363cc3f56245252423e982d10ad097f06124f522fc2679dcd7f3135e1f4b7220b7721a3a7fbf8c4ccd9b7bf1db47f73d3aad83e788bf9e071bb10bc59962e543b873fad81cdf555da98bb9f6652c2c56327ebaf48cf4a293075805e95c32adbcb4ba17854002d17e4049b1fa398c1ebed5223898814aa0611ef031ed904ac8bdee359019896beaf6a295ad1bb6e233d88cbe6717beeeb86378669cc0b24c6df1e3d9de2469b4595e8769be054123b91c1449176e1f6ff2c949cda8f3a7cf717d86a6714a80105830607253b66fc6d7d34d21f0026eb6113e4b6b13f90bc090eaf90aaef2f2ec79c5170b15a99748bdc29d9900417c6206dc14a13cb2eca6f62401de2f27cc67a5ad26fd8278c93d9100f52870e27f1f3684a86bc98c031ad894f01074749bed68d7031f472a14c3a375955f473a9a63d108c149b90d7f0ae1d6cd007c8ca95f010fd3db238223a64f4661616baf63c7de9269d0d6afab3439ef12db6503968d691461db3d1bcf672973785c4029a2ba2126e51b81c4d543f348f7f0e3cc18967f0b716ce671c7b5cb01eadca12472cf37ed1abecd21ac9d11c1784159fd65fa897f032785fd22475f3a146b3ec63e35b23d8cbddf4e7a0c1bb5f44d7847a08f577ce8ee42a6a003b962c32c258fe7f525113eb616270f8ccf5bca25c6ac57025754a3aa79994e3214106450067782adab4d7276924bc2330ff9b67596187f7c8a3a2a2b57e6517243efae4ac024c3301a857c4a6e9e4b37f068f63cea3333520359b94bbeaa0c2
+Shared Secret B: 81ac323e8b9914b2da7a1b65b06679e8f561de113995dabfe3a4d952b7d25bae
+Shared Secret A: 81ac323e8b9914b2da7a1b65b06679e8f561de113995dabfe3a4d952b7d25bae
+0fb214591e543cac1a281d8817930ded1e00f8f55b5e4f4f2f55e245d15cafd0d115878bfd14e811cf8cd640ef2ea221ece328328dc1695760db4142c495b88cbf1643aef75e53d3b92ca822cf953d6e95d9007c7a4e95a151b5e759b0b66ff16b0aade12385444fc58fe1091d1f2d5d9012893d821403e81707fae3412067407afe127340eda44d16252e6e7e0a7955933b23df0256fb09e380de309e60cf9a79cc07189ff8b2548c1791b7243f777caa2355407da6ebd4a55d4868ae63c3ddf250ca2862f975f29fceeb892b9b8ac2613b20992d20c128249493a5e8661d2235108f9e2ba1ba5c04f2431eddd3d2fb5d1782369846dd8364418fe6f281fc32ffebaa657d144a79fc6cfa424518c46617688237c976085236c80c6e1b999fa5c56dd40258522273fb615879c6a2f9727b7aae748be57ed347ad8b028efb453e2a39365a0e4f9ec3ab540ea56f3169e4f107d98bcb2d8461a6f1385f94f260b71cfcccfbcc324c19b37a9b00275c933c8da47ae2a9b504f9d9df0485eb883a0ca87b7c005ea9220d4e0391da4441de33530b9b661018f281564b74316b63c5e8683787f587a5cb1505de221d9e932782bd38eac42341c29884b1442145fa2b34165bf4911b4e45b809195a688434850c2f400bdeb485620796d7274f32a6430b9426e8c95d2100d30c5c11ccebddf1d8989f90d415964f7bbafa086e3e83981e72a5b09dc658b12743d35e164ed810f1606734e6c2190de7feee0c706a774bbe6569bdc6138b2a839a8354838bc1b593136e222f14967110ed479ea3f74246978ccc98c0a3e1e1c4ca415d8560ed7ea8c16a96ac2c730651c0fb1f52a75894794c1bcd5f8bbd2c8867b608f158087102f23aabbe416bb18d6a3b9b0773fb29ea8dff81dbdcf74693bea886faad621d6ea4b642b1ec4eef8787b47ce676fde9beeb148ba7f65f2feef1ef7eca94f505ab74a95d18c4fb1f2499067b37ab12732ecd0794568530e9830931b83f87d847a0118b0cfbec84b22582bd237ec94c0de6b7aa928ff653e2f91303aa2a2155a8621f5913de9ff58197e4c51db1f14d96ba043fdc7e6bd2763f416efdff5ce299154fa9ba0d39d2d4f845a0a0b4efd1fdacc8369383058e1b970d3dd2550e4ecb969792513aa179e7b7e8e150368f753d17ab87487d0ece79f718f3c53e5778649b58be14ad1852a95f9fb3d746f2b0431b6e74b000c96cef7a2436d9168c33ff5dbd7f4a76a2c33db51304253f97faa0b4d74a3553a810465265e304893f7e9a5a41fc57aa0e2c86e03110a183f4ae4c19d63e97e100e38472f6e3160316a71f94febda6ce773025d2e2909619ef805493508f124daf90b4b5d642fd1723f7e04d02389ddc497734b379ca780771d4f6a81bb98895d598ce69f803a329e9ba9fe69a07f90816bfc774787c17a862bacfa477478431dd913707109f26b11c55c4c1a6683d7d6c7afaf2804acd3107b04e2e13f21e6de9325db16f88faf8289d2264ee0f5c98fd69e2e9cdb23e2eb7b0a660
+Pseudorandom shared Secret A: 2eb66604ecabb56b99c0f16d586f3609d4f9afb71d6ab58228680f2daf912301
+3df54ef8e377725bf5e6d86e24a5af27b2119ab90adf0e8651134c28c878db43f864970018736bd6f4082e6d6523b7cb2790517cbd92792704b05b43f3835d5f
+Public Key: 18e2c050967a354a7a56c590392ac72df64e1459452dd22a8967617ef726396a7f3c31323eea40a0089a9dd39af6a4699f7054f9c563d3658ba07524308732577849111bbad21b2239e9638ab162c184bac11419f6bc228017c184f7c3fdc130be303273fa39a41374d27aa25776313a22c77102c42256b80612310d62c0e601bc0e361fa666ada368cf08b7b80b129779bc933a6262b02a50da6a1a457ba49a22886c685b322b54828c3cd5592e72eaaee2ca8b13ea03a9f921a2857b517a4a043437c0056977aca39c1775e3ab47f4671c797a480a418d5f127c0bf979ed1cad7c7acd22c23b50a5435e36bc51d5b37dbc0014386eee82cf377c2d645c3cef751b5a1b8c7c02c042d5b4f4534518449578515b6db31d10c8aad955060dccb7d805922d19ad7b305d9d7b37e69c4f98e46634409e725c7a5d84a35b8412ba2898f6814f8231945aa430f1907fe65cb4961139e6344d9a0169023032417cabd60c3d647402305325f6590a86408f890357006b94d8a09306931ebadac8b1a776cedb79f9465120181ae10b18499781ac0c478aa661457cb550b178874873c4ac8b0ba4b9a0b305d312124cbccaef259e7653b677d35aab1b1eec668660b5a038e36d8dbb3b3e486726a02cc028afe0887f2d94bc736259c9cb14579824a4257d18132911093d8cf610e66b022c377c0b4c1cea3512ec74a68b5b47c576705b45c26f92c35f511d8ddb8ad2e29659dc46f6e792622ca3c0f56baa598388a7383ec25e2238aa71462f08b20c0c26c91a2845d78323c46b3ab9ec9c6f48cc3b0abbb37b8376a673e181951377566f6090b84c97cdb366d2013a46a438034181ad7317c4c8bf63638cc3b8cc6ab9419a8532c2137e94acb746b52a13a288e36142ead4bb47295018f1b26943082d9a2d2d59587f71a6a8f60c07fb4882e08b7b21a7f351bfc94808451147938ca24939c11e4b8dd03447fc37bcfe19b33f3c95b5eb72bfe8ba2d2a6299c48695ec697eba0e3661bb0679b9089b1145e17248d4a1d5f27218c9159a9bc7d9d6bdb51367d63c4290f410a847a03cd6b384c9afbcd03700c2657ba217212a2401216a62852bbdb1ba3865a37f5ca4af4380d322b06753c2e0da2f8243736ae390b9db870440a27d3484d44b64e2e2b55ef50ffceba967cbcef45a44ac92992c36af037b0762a01542893458c05bc4a044f747231aa38c407b331f240ccd68422bdb8f50ecb6c354a80423b59505689fa69c43a1137c7b69515a5ae881697d764ebfc42288a44aef959c352b36d9bb015a9726f0d9361d3598d3a151b94c9866c430823cb56748cf8cc0707b2c4b0c37415ed442d35aac70e914be662c24456e12b24703a9bb9e736e0117063e1b6832c2863dd04d7b570da6bcaf1c77b903cb172fd38ae9658283e4ac176256c9388c410a3df8e83a41a24d3ea384ff5ab65bea25a9c57b6089b8a5c2a00b256abf1905f6c669918b951e355932c432d2e24179e2bb7b677610692f9092b991330a22957e6d33633063bbb6e1797c0b54f6fbc358d43db0861b47300dfe776b1de3b79ea9bd9188661c97b0d495b04f1865bce2aec0695d928bbf76c71238b5485b57b5ab25b26f749223f5318f3769a2efdd534ec6c38e4c74d473929602790f9599d8f67e32a2b2f9
+Secret Key: d64c0629984b3e59249318642120befeb0398e075e93c28927c0c984c0a08ff1059318923c69823180034a69a0dc666afce1ceae91a4fcf96fa40737dbe962e49598c1e71a8a0c661dc4c7d1e04c48045bb3a6250b3705fe1a646ca11e0c532f3b5a4fbd411142c37e82269685e69539813cadcc64b594197f457ca2044c98e62ef229204b6a9797a9ccea901948925d1999b164f6039869336c77817b157abaac6ed3e924395a2a23120e5e73b616970c0da482619052cb7596f218441179544574a61b605b010ac9d0a56e3bd22de76398d5a98176143bee7447b3352e406c0c2397beb3d9347d6cc3936b3132d3bfd1c54a540a78e3b87b6ed097d7a116739a3a18974a4c937ce4264cd62c28c5c985458c8daebc57648245b1081af0ec742d53ab38e4b0a9d8507586a2321ab3fd37b86e564aa4b23c9885adaf47717e06a6498646922aab94a88490424c7e648c1ffc83fc55a7a448ad5114ae5ac11745911e74564940104cd711cbc3fa3ef38aba5e733e5d9cc3c1e86dc931c8f4927744366546a68be2c59f930a85c2b6098bda24d57865de84426e971cd460aa66fb5df7364f0200820f4a87ebd93d1af85776296d26cc560c0023cf97a9540bc1603707860c3796757b22b0a9c736bf0f7a8fa45b4bcc4a2d7c678411e0a712c35db8479f87ca2d83e74a25493fb4f88b203b8d1ae57a2e531161e1944ba79ead11be675a0b242b0be2b51706588788eaab66b8ba5237593a27b124fc129397596a59cf1061a4045890334aa1272b1d250614dd98977d5c852907aa0f347875d63e263cc12ef268ca8b6eb5fa2ba81b82670c18f699b4008763c1ac0a3a672237b151a7b732c1132541d6cdd7c67d706c5a5e06a0231915f64085fcc21aa0734ca34b60a91837292182fd515b6cc0b30ec745721a273cc98ddde36ca0bc5096c5bf53d06635a2036c699c1364289e9306a480c6eef7065e00911bcb0900399586b4b3283426934607e6f963393815e3175c0e56103d7769780cc84ca97a7b419d7cb127867cb6613887a48b56c3d38ffe419f20a10e3110927d3c23370c2f3c1844a2b7b9a276670563282f4166fd01475ebc58214b05affa275ebacc89932dc7f6378f8c06010a2b71d73344c62dc09b2c7b2068a9c4192cc69862999229233da399a832a58c92d3939625c7191000887484d9018599748640371e439284f2d5bc8e082f92f5681a072b5e7b0f40414b8e48864b499be0051fad8b20b6432e69134f050ab81e573db561a2cf7b3d6d93becb4a5768fa2202aa3821a69e4a26309aba5a772b1bfb97543a460ae6da9217202bde5b3d229689c3164786a6204f1c19a9b130c01b9672c76a13332a3f5b8f2b62a2ece3994b597941822019c493c89bcef540ba0432a26fac1e676b35086a97743c4089929c967c752c1383b77b74e4d092a793b3d1045739095254353d30ac6082132da4f6bb506497e7941875a25219fc0c72792825fb5efe390e2e6c25d6629ea6f75e476455dfaace32a9cb1505be72f778017792201c55b577a2742876a246aca6400b56c1385facb19ed9a160f903280c57ea791bb8bba0a90a102e61a696f77f1ba6074d692269785337081018e2c050967a354a7a56c590392ac72df64e1459452dd22a8967617ef726396a7f3c31323eea40a0089a9dd39af6a4699f7054f9c563d3658ba07524308732577849111bbad21b2239e9638ab162c184bac11419f6bc228017c184f7c3fdc130be303273fa39a41374d27aa25776313a22c77102c42256b80612310d62c0e601bc0e361fa666ada368cf08b7b80b129779bc933a6262b02a50da6a1a457ba49a22886c685b322b54828c3cd5592e72eaaee2ca8b13ea03a9f921a2857b517a4a043437c0056977aca39c1775e3ab47f4671c797a480a418d5f127c0bf979ed1cad7c7acd22c23b50a5435e36bc51d5b37dbc0014386eee82cf377c2d645c3cef751b5a1b8c7c02c042d5b4f4534518449578515b6db31d10c8aad955060dccb7d805922d19ad7b305d9d7b37e69c4f98e46634409e725c7a5d84a35b8412ba2898f6814f8231945aa430f1907fe65cb4961139e6344d9a0169023032417cabd60c3d647402305325f6590a86408f890357006b94d8a09306931ebadac8b1a776cedb79f9465120181ae10b18499781ac0c478aa661457cb550b178874873c4ac8b0ba4b9a0b305d312124cbccaef259e7653b677d35aab1b1eec668660b5a038e36d8dbb3b3e486726a02cc028afe0887f2d94bc736259c9cb14579824a4257d18132911093d8cf610e66b022c377c0b4c1cea3512ec74a68b5b47c576705b45c26f92c35f511d8ddb8ad2e29659dc46f6e792622ca3c0f56baa598388a7383ec25e2238aa71462f08b20c0c26c91a2845d78323c46b3ab9ec9c6f48cc3b0abbb37b8376a673e181951377566f6090b84c97cdb366d2013a46a438034181ad7317c4c8bf63638cc3b8cc6ab9419a8532c2137e94acb746b52a13a288e36142ead4bb47295018f1b26943082d9a2d2d59587f71a6a8f60c07fb4882e08b7b21a7f351bfc94808451147938ca24939c11e4b8dd03447fc37bcfe19b33f3c95b5eb72bfe8ba2d2a6299c48695ec697eba0e3661bb0679b9089b1145e17248d4a1d5f27218c9159a9bc7d9d6bdb51367d63c4290f410a847a03cd6b384c9afbcd03700c2657ba217212a2401216a62852bbdb1ba3865a37f5ca4af4380d322b06753c2e0da2f8243736ae390b9db870440a27d3484d44b64e2e2b55ef50ffceba967cbcef45a44ac92992c36af037b0762a01542893458c05bc4a044f747231aa38c407b331f240ccd68422bdb8f50ecb6c354a80423b59505689fa69c43a1137c7b69515a5ae881697d764ebfc42288a44aef959c352b36d9bb015a9726f0d9361d3598d3a151b94c9866c430823cb56748cf8cc0707b2c4b0c37415ed442d35aac70e914be662c24456e12b24703a9bb9e736e0117063e1b6832c2863dd04d7b570da6bcaf1c77b903cb172fd38ae9658283e4ac176256c9388c410a3df8e83a41a24d3ea384ff5ab65bea25a9c57b6089b8a5c2a00b256abf1905f6c669918b951e355932c432d2e24179e2bb7b677610692f9092b991330a22957e6d33633063bbb6e1797c0b54f6fbc358d43db0861b47300dfe776b1de3b79ea9bd9188661c97b0d495b04f1865bce2aec0695d928bbf76c71238b5485b57b5ab25b26f749223f5318f3769a2efdd534ec6c38e4c74d473929602790f9599d8f67e32a2b2f9fc7680049617f39092a3d3656099a9df362819c54644ae5e5e0f77741854e247f864970018736bd6f4082e6d6523b7cb2790517cbd92792704b05b43f3835d5f
+c1d45c2dfc07ef59e67932a727cdbc3c426712a23fb74d7d254eed2109f1c851
+Ciphertext: 9ec90a3253c8c7b1a6e763d26a78b56fbd45af6f415625418341ad3e93cafbb911b3104417b27e1342d536b08f0f5ab3c106b3960624f03c7aa3f5e30c15f47030b07cbda8925c22190a258bfaa76f02af5ffc5a340e377a1638a7da5e77f35f2261d6613afc192a8fdbaa6e1c72a29144199716bfbec038c273c0b23850c88c2ca3dfd83b1624c01495147422c86245540e43ac925955d5feb0d822bf2dcd589dcbfbeaa35c2f6648f5009047727846054b9446403c78f5328e73ed130ea2f84b7b50b4e8bb7a2f1edb903aea7c4b53ac1f61be3cd387c29a09a8b3acf502d1736a85f209c8f74069dc327f393afaed856efc4adc8cd262d51ef730c7bbf4f23aceaed23c347f1e4051519e216a8ee663bb719d2e1697e0d1ad7435926f238139ec681b5596dae1fe64f164e0eaeb63e605a22eeca67417055ab7c71ac37fdfa35b0d27bd9a755e411081686b98b675ddb4d8377ce135fe5f24d92c81069ec6d38c82f7269b0ad8569b0be7100d3a5b09b24a157d593091140b39498124caed4b492c38ccbb81a08ccbb6bbde53ddf50543cdc37d470ca3bf9ab73aeb01da4174ad99a170ebf0d240937308391f8ca5983f156752755b1cf8eaabe58630e651a46147acde966ac243b4346b4209d9f22772c64a5d087dd794d28a478491ee3953afc19d53d69e979084cfb27778cdec2955fad4be9bd11ae3eb0e415a77cc9c4ee1b76d6dad0e81cd2a161e790ce202502b75c44de776cfaedd53d115d75bf3dd1e28d05510189c23a0feac357d69974ddc7af5deebb0c3a24402fcd95a232222a1a949645b4be97311cd12c0ed72c79c03ac7a3c10df542780c66fc6acbdcce8db1281a9effc0e7e3b5d0af32f210b5a8843e12d2ef3c23888109b28686621809dbb730da5355c2a7baf9ff45851dca04d671ab4e7ca26230f74a4fad0b77c96f268d61dd7ab2bdc874b326922622c7c9ccb145e6fb5a15ae48fbfb3e4ff4b3aa09151e92d5ecc226096c69fbd87a7bc180e02eb54caa7d4bb454f46bc9a3d0ea196157a2beeaa3c50b7146c16d6a9a32b230423ba603759f01f13214511e0181673f4dce76e01c5a581e2c4af88b86f46a522f1c64f5f78a89dffd28562db4bc0192bb4f2a810764cd581c0d913db9f055854d71e6c90f9fc7a13379199622d3933d626c79d834442ebc9c8481d897ff0fae220e6f390450f67d166c7a437bb78b6438374ee32cac9c918905ff00de675d021ef6b74ecb3727a3fcac54544f7548fc2fdb39da403539a03f2fcc633ebf4b2207dd30447812cd53a9036dade5d60ced754eacc6b06a2fc36edc0693a9dd45f23fd721fef0ede2449dda27d21c1caa9e87bf484fcce8a57e565387135b380b324b13def5de8bb8708113c7684fd4d1c8bec7bf6cbc4603168bdf350e9957c5472b60ad5a111b7a537fc046c5dd8d9cb427daaa7734ba2d30321b27b831de0da2b7043c517534648fe83da1065a27c46281b6ce0ed00e93fcc58f0c35f6167e84f2ce1c5d7a2900629c84bde5d
+Shared Secret B: 924402be46895b917ed6881ecbf4a06424cdfa5d1351edd06a3f6414e2f9ad88
+Shared Secret A: 924402be46895b917ed6881ecbf4a06424cdfa5d1351edd06a3f6414e2f9ad88
+2f94efe439fe860223916e4b150cf14716f0af06f7c4bd4eed5c9b1f5f53ef4a030bfcb89783e99897313d4e8553e9c3cd925b333e695d54a7cc8891bf78f37a6be9c9ea9e019a3ee911ca8aa4e2042f2c49988a9749e4dfd2d2e3230b99d50a6ca2b33b202e82afb9b6ab2076e1df506d98354b45e939d091c2fac6f904068b047fb516f2e409b2a1c7d482a2a1b84b9287336d45b7e585a5c2aa55d28bcabf021809094684904ba11ecf2a0947411e8b0d70d3ae1e11da2471e8d6707bc40618496115b58920e33cd3fea727be69ec9a3ed4d47e61b20a82c7044f5337e2116f1a6c547daf4613576f1b6464d35489497f88880edfe950895c766fea9db75b7d8a9b95c3cbc245a43bb880bba57b4bb5ff29a91a68758ed12c0a0fafb9c6583db5265b81853189b6976da466a13a29c5fc5071785574c080e1d2e2418a621bf3e8617d00c499662921d65de47254ab48f722854652dee7785199631e4f9d464bced56383748b3ff16e3666e6e612da8204cb1c89d02979f4abfe35f3f1aab84d8ed75e617a89a87e23175037a46d20b9a3c9e75d4ec042ae40df2d629ac8286d7d6a9428ec432f73a12e7eb3a5223b60f4cd3f8168bc953e323e2e8a8dab0dd24c36a8c6f4f9dca833c55e725e2b0699c6915cebf962341fd0c3c2326ee981294c23f88da45d5a82f7f7a504e0d525d7f3627c29cf881a8a68ed4bcbac94f5aad69a43820048a59485fed7fc51775d2d98084e6e6df3631582c25cc8fd4f212e586fb188453dee24d61aa976c0f7e50f73677aaa86ed2145499946c5803b9a9fde587462e312850d50327d7c020b048d222c93e141cd59122af84b69b00f24a587098a6641d761d239559f79e51d3f021b71fab95df5f74444b0350c5eea02c91e54fc8b5e619b6792cc6b775c3097e0d5bf47bc40294a3e2f16e6d637a5765d24a117315f0b664d00a4eaa0f16cf3a742f5150d266a0b8596ef5f3ecd3eee066a9592799a3fcca0e434f5d9d29f851b08012ece366f4cc793f43e82259c244ed20b93f1a95784531489460d947ad5f44fb8924b0b08aefb18eebaccebd9e6d75c0042f19b0821fbc6de70544727669eeca513cd9667fe2375da1163951a1472a5c3a0f6dd43337bbc0fa478a7dcb33f4ac175d2ee291e971650b20d62f5f1f705f4f138297670c2c46b02839e59bc9d513a14e343ee500d5ded2c349d3f7534d7a718a028e49e7065f32a40a2ecbeecfb896678fc13fdcd9abfca88ec0748e911faa3c0f6722c4f13d072a02762bc1cc80689908851dfb390cdce7401c8dea69eedb6ac777c8a194aecbbaadd60ec98e351fb56a71c58fbe847566f594ae44ae3761463cae942b848f63709862c7d30d758699e99428cfb22702e29d412f36c2b033c9851286bd44cffb4622c9ff99ba7064323be2dd8e762368f28360f9a31b3fc20a4824b36bc246ccd73948ec9f79ff4ad823fbcfed6ba12770b3471be97fd4c59378816c52b44dee11c3484cb4ed6ecf1efec43c3de096656a764a967
+Pseudorandom shared Secret A: fe25a205a58d1963d084a253e3d0ee8d1d1d4ca299b6c2190b03a2913ade41bf
+83f6cd00c886d8ed253f7b53a1e84919413faf9606a12f3a5953dfea4a4878f9d510c847c5b43111db33d1ac0f0f747674973973e55fe21b669f51f144eada52
+Public Key: a4f12832695b9887a953ac28dfd75f4dc289b13a888eb75b594a8476716b0ab33408b3225f2002ec2080eaa42e92c64509ba9ca8613d2d2a1352fa9ab01347ae071b2fe77c83c506b18624f4e8ab28777ce0928fbc6348297713a9f56b53c97960c1cfa0a0ab88753494ac43ae43b891b43a29bcc00f011d43a2cf242732a47a9e69878b18e29c73b41c10f69724b58793a618d670ceaeab611e06bea3e3635a67cec3db20e84aa42c5394338867f614063a151ea340b323fb041ab46461ea6b63b88b43a01cfd64a9b03319b5d7799576454f3cb3f1696b02f155e5f333848595c23c322faca1a4835e44ab72a0bc0e26a24dd2c08f1ee9add316109022a31e455c32e6b9ae9040bf876df9c50998047c1de98d9b0c6480cc20c9603c28e9017a2235c92046541b39c1c0772e09835b55ab2c225d1d9c291bc4cd63537aef86297f269548d79db0f92c34a4a4f433c070740b46333282e81f8adac92ac7bd5cba3c31718ad9ac5ed77cb9420423aa8610222bbccf720aee18cdb7f64e5b11888f395531e71b49e02a0d3a801a0b2d9c8b9b48f54b250a7d2e3c4449c6a6a853b681503c330250c1e81249cb81e968311a995113072ea7ab342af116b5b211cb15bbf0d4017e36505501599ed1a568606122fc5c3fd312618a7a27a6aaf0f97c55288f393006c944073341ccd696b765236dc414ccd0e46f1c3b4d73d283dac1c26d9cb4bd3a3aef30b59f5370be11a7550900c9578d4337629d909b3b20c31ca52efb8b4445d8ccb40298e15434cedcad68e6529af95bead32d6659735d756c26e5c724366f83e723cc369490805f56e399302352c4e919dd2543e8329f1f1b4daf116f2a14ba7a354236e793a60213038b90c9fb4db85c9f39e0a3c41089da6b7bbe464b77c89f766c4bf41923b8696e0e358b005309f8225621370add22a538582a6c576c9f910b85f0bc92aa6814c7c7a8309f684a3f614a547d2281ca5b4a7e01aa9dd998abb118bae280458722b32203262417c8981bacac2ecb7aad10626ee2f3963a8a4a33411041b1182cc54cc8579ee09b73ad7b04f5ea11f5a215df352109e137f931b091182949394571f679147a8aeb20cd1c2676fcd699bc464b62593d62a4a875a360b1c6b04a97004e2c098f30c3e322cb2c521cd2b9cd063a5447b76950a541f59a2deba7445b70ac734a7f506abc5c1b61726518165844b1e75f31b36bdada77c5ba2d37091a42054e95770127ea6ac438163ec61bf8dc81127178a4782c8d68a855578cfaa7148270233ff4838aa216e428002b674b974584def368eefb6705880918e6bcbbb259e9b010f6bcaee6d55a3ccb322666b8d5133fb33614f2802d03e39cd27ac3283aa99a3169bc289ee510b231f63996dc36c5e384372b2ec3ab4ba1a0611d706c0bc5a899592a58995fd9a52443b774f01534d5e68472f4cfee79957c2671aae871d5e97b0d237ea5bcb323c84ccedca430883e36c23881d68017a24632710bf4394ab474133cdbcff5429c4bca1e9d28797ee43f2072055f5805e497b14e871b5dd8a31d3821e6977fb2729aa074a9d6055da6085679404d9b36955851ba3e54a6329b980ef88171497b8d98b1c1cc933ca7f8ec2a9c45f1462046a58a77f3f13d9f3cba53003bcda3406891500a0ab9
+Secret Key: 92e5ad1cc3c1300c4dd36875f5178d7f5c236f40680cbb4e303a7c8c57a701413367c8459e79323e14606616558cac30c89a0d8bf561f8b1487d79ab5649769f5608af87a5f0506646a4a71606a226542a6143ae1377b9eff08dc0005e1c975299359fcc24c093e82fcf095293c8cd1d91c9dac737dfa10c2407c5e02cc8d0a298f90097a9427dcd2a480796c20a589d9351686be51ab1708a0f291f19d27c34e17958a954e7b8ca382003c2e8bf194633f717bee9838b59b08839c192bd4cb39f148317b5a667761d727b6082f4b722fa0564b9ae5d76278f61aeaf9424d8f4c21e755abd887fed74a181e8a9793094a0d77e8308a8d5d459bd585a2903aa02110e05a97dda45b3a4372d567c35ccc864cfc25ae5b4c29463508639c3e1ea2b73453c4ae2533a9b2bd5172b60a305019c78b0eb42c0256225b195e1faa7b963780d9c55aef523e613b116b48dd2d7aaa5068e2be31a21781fed6620f5849973278044337602451042a7a557c06fb3b6093de070b4301bd90b43cccbc7ab5631a67a776f57ac9865b3bf4cb4b682a1b20900b7f47378803777d6518cc6b6d1d5388b59c6d62c455690634266181ed628b9db6d1af05233c23e0ba984d1f219a3d575503772aa773350d6045d59a9f47654abb53ca146b085841adc9388261a4b79f3bc59f1664fa6ce4e1b08dc023900db6395b377bbbcc5a14b360148313d43765f658b2ee03504a907096593d176a291867274ca1424ec009c5a5874455b79d67e5e12749af3465c55beeb8867fa672b5f889f6a09ab37bc74ef308e22b50bf5c53fb21a3f84920a094164de08154db5879e7947bc080cc8c1a49f2bce45f8761451cf34c8a795daa962c2aa46fc25a714552666a9c84207802b48be80384618868a737c4530933f1c5ea7ec53e3ec5211893bda757fe82a5a86c0017322bd1b5b2ac5ccc229b34d5a08326ddc9f7f205281e85e44b71a14970ade698c4530688810ce329a62bf1840c2723ed6722fce02cfe4cc2ed5d43b7882122b750d0bc31ded667c396c71a6fa8d0e6342c6c34a3142462000aa05b634b5f77e5b120ac6da7f199006825c8b5fb94c447a0ce4687103b15054189ab5aa46e3d28fb1797cc0d539dfb8c2c2c59c8cd653edc78e5c7ccf05060294287833863b556b3d9fb36f7305b8298604c88562b8b5cd6e38146eb68958f420df9780ec26555904bb53970fc058a759967fdd63a127a9001142ccb2e4b0597c08598468bba6105977b63d143825713bf6705f539256fd8c911cb928c4fbcfd7c78658965d7bb180330b346e28388961903f27c44c21a29d3546c0b87e47318104d8aa60602906d210ecb74c40b2348c66ac093a1943372e57463f7c84b42fac80b87b88fcd32d83fca2ba252851f54673d5900dc4bc3ad210061bb709371e00733c90291c0c11aa095ba0f9b0475643665113c1d3ac27618cbed8157a6f6438d18701bdd44ef96bcb2bf2a958f4c802217ff2f5b448d93c043c1d2342c20e90bd661373a8510634975b39804d6d22a351d046a5684207f7cab45b6d790b1600f2848703c91b826de02a1cb20b5ebf8a3c99728171682374fbc8d827ae8682102a014245b6bd43bc3ca4f12832695b9887a953ac28dfd75f4dc289b13a888eb75b594a8476716b0ab33408b3225f2002ec2080eaa42e92c64509ba9ca8613d2d2a1352fa9ab01347ae071b2fe77c83c506b18624f4e8ab28777ce0928fbc6348297713a9f56b53c97960c1cfa0a0ab88753494ac43ae43b891b43a29bcc00f011d43a2cf242732a47a9e69878b18e29c73b41c10f69724b58793a618d670ceaeab611e06bea3e3635a67cec3db20e84aa42c5394338867f614063a151ea340b323fb041ab46461ea6b63b88b43a01cfd64a9b03319b5d7799576454f3cb3f1696b02f155e5f333848595c23c322faca1a4835e44ab72a0bc0e26a24dd2c08f1ee9add316109022a31e455c32e6b9ae9040bf876df9c50998047c1de98d9b0c6480cc20c9603c28e9017a2235c92046541b39c1c0772e09835b55ab2c225d1d9c291bc4cd63537aef86297f269548d79db0f92c34a4a4f433c070740b46333282e81f8adac92ac7bd5cba3c31718ad9ac5ed77cb9420423aa8610222bbccf720aee18cdb7f64e5b11888f395531e71b49e02a0d3a801a0b2d9c8b9b48f54b250a7d2e3c4449c6a6a853b681503c330250c1e81249cb81e968311a995113072ea7ab342af116b5b211cb15bbf0d4017e36505501599ed1a568606122fc5c3fd312618a7a27a6aaf0f97c55288f393006c944073341ccd696b765236dc414ccd0e46f1c3b4d73d283dac1c26d9cb4bd3a3aef30b59f5370be11a7550900c9578d4337629d909b3b20c31ca52efb8b4445d8ccb40298e15434cedcad68e6529af95bead32d6659735d756c26e5c724366f83e723cc369490805f56e399302352c4e919dd2543e8329f1f1b4daf116f2a14ba7a354236e793a60213038b90c9fb4db85c9f39e0a3c41089da6b7bbe464b77c89f766c4bf41923b8696e0e358b005309f8225621370add22a538582a6c576c9f910b85f0bc92aa6814c7c7a8309f684a3f614a547d2281ca5b4a7e01aa9dd998abb118bae280458722b32203262417c8981bacac2ecb7aad10626ee2f3963a8a4a33411041b1182cc54cc8579ee09b73ad7b04f5ea11f5a215df352109e137f931b091182949394571f679147a8aeb20cd1c2676fcd699bc464b62593d62a4a875a360b1c6b04a97004e2c098f30c3e322cb2c521cd2b9cd063a5447b76950a541f59a2deba7445b70ac734a7f506abc5c1b61726518165844b1e75f31b36bdada77c5ba2d37091a42054e95770127ea6ac438163ec61bf8dc81127178a4782c8d68a855578cfaa7148270233ff4838aa216e428002b674b974584def368eefb6705880918e6bcbbb259e9b010f6bcaee6d55a3ccb322666b8d5133fb33614f2802d03e39cd27ac3283aa99a3169bc289ee510b231f63996dc36c5e384372b2ec3ab4ba1a0611d706c0bc5a899592a58995fd9a52443b774f01534d5e68472f4cfee79957c2671aae871d5e97b0d237ea5bcb323c84ccedca430883e36c23881d68017a24632710bf4394ab474133cdbcff5429c4bca1e9d28797ee43f2072055f5805e497b14e871b5dd8a31d3821e6977fb2729aa074a9d6055da6085679404d9b36955851ba3e54a6329b980ef88171497b8d98b1c1cc933ca7f8ec2a9c45f1462046a58a77f3f13d9f3cba53003bcda3406891500a0ab9df46b870bd601fad746b3468caa30cd1f27b66fa5d7e64e795f147c8c20447b5d510c847c5b43111db33d1ac0f0f747674973973e55fe21b669f51f144eada52
+045fbe553c89e64524bc1ae1b54a1d1a37ef2362e4e99a978fd07d7fb5338054
+Ciphertext: 84d6accfc9148e08be988efc7fd0c31b566844fa8eaea270d0d1a9c79781970a4494eb611f6bba53a82ff6fa2303f1ce80e75454e33a55651e99b5dbb2a8cfdeb63db424768556cb225438e0ecf98d5b93df3e7ab2b42bb51d3a4a5e48b8f926f272ef03f719078784df3beb28b1e7ff930b36091c12bb385ded81f433a0693a62d1ab08fb3a2a2b650ff2add6450d40c2e82dc84bc0e40077aec5d45d73af0e8e63499416f2c7b397b02f96f2b8167c5844f747b6d4e77c4f6438ad23f52e1089176c8d061a9bbd1576dfa593ba49f114b018f81d8b0d8d3778345302b5478d5adb08e5ca032c802d2b86cb68113825fb350a439cb06516dbf57f77a840bb12115ee66b84fc9fd4c892c3f6bb5585074f2da3400bb71e34e8f565fb966f339bfe294d5eb074170564f3909e5d92b556cf47863f9e6b9d51bfabaa3590674079b8eb2137d0c61342fc4d9f48386e85bcc44ce6b09a667a333c76be4f4030d340c92a677266a6b66c9d6744bd40fbe5a8eaf236e9861649a20ef182e4264de9cdbd9c35015658b12eb270c8f59c6e4470cae4e7fc5ddea0c28e6d9ee60586277ada0e1f9456cf965989da08167de8a0926d0b3a835545cdc20be7ff63d0ad21287299688122a6034616be0c79cf1ff12fcecb3b0b6565b0ef9ebc77fd6210e7a7cb3c1344fe4916a348c690f157567d2b3c079c98567cb34823cb6cb7b905366664df8a002ed8715497c68a673dc55c548c4f4bc865e9fcb0706f070b48c12bd5d85971326848c6ab0f12f0db4bec8eab15aeccd74e4183908a7e2d2273f7b4352ac343d7bfe65d788e92abf0348630f05d78c4b7e1d7ea8455f14c89af12b8ee216b573b48fbee90a87db7bf859c17caefc4f3e6e64db072d9138bbdbd1a831da3793d64c4e635291174ef47270b0c69dd121d7fa3902a7248a9081b23ea9d95994c41e71cfec5270ad9104b79c2ff82f0937f87d49fe97e1debfcc64038113bdf37eb26bc566aa20ab6c10e11a53c08e7c551230c48183e6c79c729c3e25b2b3bb595ecf9404adfd45de4ec12d30c87f2efe5ac19e16c006cde110aef022d185472bfdf1a702646bf1300701f0ded15f695120fe163171644398c04685637a551274f336a0d6028200055941a3e8617b03789a3189abcae1021f65b9db0e74afd92f55c8276553a47a7f37737dc6d720f31dbb649dda068c4c73f67620d91137f011b0aaaeb74fd083eb1a8cd633bb3d4cc8b86df4afdb16f09ad83229759756f5a9bf95c5593f8cef6f6a937f4c0c4f3ad8d121e6708e607a58e0bda07167a94dd306791198e1c2e92b515fc3aff78c438683571f2030df5f35ada9379af99460cbfb793d45a2a9ea982a087f2e40706046f7cbb3d44feb0de0f7a29e03984d11434ba9c19ce585387fe031f2a45310a4fbc7af6c22d0437b5c882cd9de437bbc82a1f6a2aa360944098a64d66b562d749f2ebc73616f9adc031afc3f65d630d26fb91bfa24001c22b44672bb9c3ddcb78daacdf22f5882eccc1d168dbcde5
+Shared Secret B: 1320034a1cb052d653f2d87cda2cbc9b5cb4d325e67f72fd328615c4cfaa24cf
+Shared Secret A: 1320034a1cb052d653f2d87cda2cbc9b5cb4d325e67f72fd328615c4cfaa24cf
+2b6c61ae97da1fb57951d82abbb0b4ebb7c6b3b1ea317a66e6fff9342ad84b69f97b474ebe190dfe5bdfd0e4886b12e726a0c01c12f4662315d565f99744e67079b12bb1e58d236671bca045356c74634e2c9818d3df7876c1bca51994583dd0a01c4301b7bd251e94888474652d796c3c94ac123c7999b48d9e1e55e3caae6d873586a5295312c2800c986f403b3a48f462e42fc464dd3270c2b81f27e49cd215da880d24530105fa0ea92f0be49b62f51065d41bd2893ced0b8519a8677e098c796c38030c31f153fc5127c06928bfe38bea2b3eb4a472f5b461d9cc7dbe0e7e39b00d42dee6451f922b184da03b41078b356ff1adb4828c00db9749257342dc9dce3f9458479da0151f303e015c0597149c22d3f850c8306ebbbe0fd235a3feb629cb7b87b5c7160c9cb2db6c35cf2c1d229bf52207df727a63f86f27abb4d4283d853b850b4209f0e73bba9aefb823a8becb4e0141120d6fe954641be85f9f42079e80f69caf01cca215d052552c34257761a375e7cb76a0183c7698fbefb8563431941dda80f39da0cbaa3032460ca8c8cea158c9405849d52f30c703d4b91c4f2f5fa4dc561d2fdb664d9cbe015157f83805c7da675de4c21ffd5a241fd22ab2a84b820caed050e4e7ba1e4859d56b04b74e9a1cb978b367a832dc8cfa2d2998e6f727954a80b77c3da9756267e36cc1163414b4fbe29d1c4999c245aff60e82511850560d2af510c4889d2e7be582db24b91f6e8a1907d50f500d9424763579f613176287b03e642748ec061539a7e4fdad0ffc16455ba63e6f50f62159f9469062ef326113a5679dea2237dddf83213ef29056a353931088b054cc7055380d5ae67484c401905ba121c27e5938bcc7bf87a0b07b6aebf63c48b742ab4c44c9cd58a431b38a3d7bb9673376666f2c0691dabdfbacf4fd931451aa1ef9373497abd51a9e5ebf5d4e016bc88ac482b2b22b57b03e2f71cc652bc0f36aac3e5f59c7f8e1feeb1a64ce5df09c03e00d51a896bee91fdecc7a0130f5d0fcc572a066a84430c2cab43b0f8a6c7a556b47376819e751516447ad6d36ed27f049699e1e40b73bb597588532cefb6686c48c59586da7ba7b8493895658682f197f570eaa23d02947202f51b6e9230e92498779a9010aeaff41809f7c89106af4a154d11eca548c05c1f3869bae49bfc83f0b9bd637a1fb607e6f71a69d0951d5943342de8bd4b32bfabda86a92d3d1a23b55bc9656b0eb5e43e02f9c093dc3faba910e5a93df2bfac6aac43574fb95d9a859e050b5d5b83bdfb1dcbb2f5db54616ec18d8893c8d4c62e8a1591fd9459fab43888472ca604c24b3627b32cc462354c2a264fff2ba803a00651b32a7c1e028e073d18d6ba1f4856acacc40fbc85148265dd84ba1e03bf87dfd75d98e43e3374b92e4f4bf9d69060d1b008cc847147f35bbce2c9333dabe4728e65134e08dfb56b6597dfaf15f43b1f82022bd239e02524b3377c746ae809271a315de4e85acf9a712abd325c6eb359473febba7469d
+Pseudorandom shared Secret A: 4e71a9e6db5d5cfa874b5dccad9b8ff151cb8c466038fcc2cd9a48a13d3c58cc
+4e2ce596ff4573b475379d6001065ece23c4f3b49115f87ba015403cdd53512a45b5643e281e44c845a8f05f64d9b18f7c5aa5cc67f3926981eca72bd82a5c43
+Public Key: d3379dde69cb7e50c9aed53067292372b36f9754469c17b001061eef6b72cc1bcddf0585e1399fc1dbc26a8155285cc746ea138f734f968c62155cc45b36475159b4f8fc05b58891eaf36a0708ce253113b97a99e9bc48813830d314c9242c5f55b4286b3bb191588b56d89fb97ab87a1b6c8ce31b8b883344e21a5d529f57c57bdc07bced354ebd2034eee42622d10be37c398d7365fec7974d14a3beeb9911101a5192a569dc24264342df61c04d31cd99223026001e214b731278a496270ffd2113c3251d9a5313f79087afb3301a57386882c878913232e8bd78cc88a132767a1c1b97411a1ad05327183d285b42df1a29243c82f4d09014e5136be27b3fdcaccbc63c00923df4d8720b67bf3ad62e53352aeab649d0c471ef88be362b79ea6151664498673bb8ec656d1a3cad916201a6982da6a69ab9a99bf8bb08006195fe369b6996b2a66b2604c2a58a4a562eebb5037c82f35cadc316c15ce54624a0bd4435a10e4362ba6370f4c39875b7a256753a81208d0e78641bac979c9583e3b7a4f984242d513d8ff2a988f13fef379b74880bfa39ae2670387cfb4723c7c3f575a6fe746189895cc343c0ec14bc41fa6f7eeb691237949641b48d701aa1c92802b7980bb29294c618e4b607e06156282c2eca384a4f90a73a595c583749d82cb71feb57f814116cb61a1ea5243cfc6328e8322375181c4550034c8f2e85b0849a4a4be78567397ae200baa291503cd16c82763b8d1b458b96c4c2b49118d508f80ace33036eb06794b7a391381581a4a6c444e2987d422bee123590bb0cea8740c03c848b14ade390a9cc67975c93b9c8a57db9c6668626081c49308a881719029bbd92a2f9423825dba0fe60763aa91ec7e46a10260acf305a490bc19a62267d2456fb4363641a7ed4b5b6e1406333e84bd20a2d0fd95d151b285b59b3fc6bbdfee96ae0d1baa742a039c841b75832b5090fcc5998f044bc13848a321031d55a9ba3098e11a88f44c74b86b24b11b58c191891cf466a4a569cad287bc70c19956c19a4114e2d9974f8a96a3fd5998150bde4f8789eb861f6a85ce83a44db8745f392c01b12667faca919db20f1630ea602951abb76515c0773d04584d58f88d786183cb87568a5f433894297a84cb33c192c876abb08b9d444cb1c88ea853a8c9ba6e18b6021c59a30f75a87bc98923c9561619d475cbfc4ec3d27fbcae4219c36cc1a0d8933e22a3d8b7074f741a5143649c93576ce35440bbb079a068340d9bfcb87513e496c23150c8cf2b52fec596c65598f702459ec892dd605c2fc00f618b888f36b612b5a139c0c994c288405afcbc0a6e9e014c3e34f51533dc7c361a053bbc9d528d619035b5773fc932acd32beae50500490964e291792765f631a571dacac2bc4ae3bbc46af0569cb009fb04484f719c6a2110cd42b4d038906781a5df15837ce8b6157dbada6dc1808ba0b60798e9ee78764e33f0713799532c028781714e82c243abc3942a5e4047fc4878311b6b5a842931bbb2aeca760a2c57a9d86769b0b323dd8a828d9bec28c9c6b2bca7e4747ef1bb410c518fad63176798f486081bed8292e7987d026a40c395b13087d17111ee6e072595208efbca41974b4f5020194198cc220d82e73642ce4d767fb38b47d0913f290394c
+Secret Key: e7d755380bb9bcb68833409bb1a58c956c3f28161b7b175999285dcc05b54321033f70950a305ea4d177e7390d79ebae5bfb8830d9390913721df46504305c515668d372b95e3c7df7076f53c493d6c13ca846b8d7718589301332f0964932154e307921a80df1cb6efa2660ebf16f863301b412942193a878415d56c59fa7ec8668498db525662ba390292422b7ec131fb19753775c207ab4c0676698cb31e779880f79199cc5868c402f2602957e031e2f0a2d87a988e310ca344364e0264129276d5d6445aa181ee7428e6b5b4da5173a6d11c2122c0f46956cfbdb3edf04cb7f93bd814088f6957c56d55ccc2c51ff73908ff0a5f17624f1d62f4960adce6382c5d296f597554e09779fa34db61696a7749c574542c442bc29a9c781161e6e04751696618aa78d2a44be69ca889f731a1768666b402c5724be6fc0cc7dba093213b27a6333aa1b349b053a7b8c46fbd15e49a143a7976dcf2b86c7c58fa92c358b60afcf72cdf7b56323a58abb683058216f306287c7ba72bdfa5559a41327d31c0d3218602100c867a9f2fc73784324d3e6244a8a19c7b3a4e79677bb3ab697209631533c5ce9053dd07a4bf40d115780e5b36eb3394e19d1cad06b08396ab2610b6d16984830dc7aa32ab86b546ccb227cebd9afb685c4ad66a98f2768d784b7c899012e64372ae6613d412dbae162e9fb280299149d041d73a1342562a41bb15b1957a99ebb60a48a22d27c055546a0c0180be19b64a5071aeb9207d6327978a05e8c1a7f116b44f32955d23151cfcba13a68a421176128e30a443b992e28a13d3a4eb036ab3806128fb25ec4f8b817d72ed326cc2af6a42b9736908608ecf0ca6ecc79a9045346675a99451531210c14c08d98c7be004a7de779c709b0907b2a1756c785ce960a4de48fcbc020c1263ee8243faba5c9ee391853f2ca6b36869ffc9d49d4cd9efc0d65a201155163268c6f8c365e673992646cc3559b0582a98323f82387d4bda26782a45cc5d06708b0830d593b5202d680a2ca7286555d2708ce13b7690287bbce03ce99431f29321d10004ff9d50b8bd691fdb0cf4f23cc41eb707eb21d216cc610f711a716c79b8c13e17c9d57403722765ecf6c852738457cda0fbca5601f4ccf8aa30925c37605503b81573c562baaaf2a5f3b32858c573b4337aba36b75a3c3ba5f28a65589ac63f60cd5f634cb81b6988b22f619be36986e9d490e8074be13024b64443b0c21b3880a0a4a9618e8a9a649fac7e65c7475993b3662813012b3bd0c2cc198990fb000ee09aca8b696b885a9bbaa878c7407c6248d6725476709ad4756bf2dd9555f9590ba5aa8ca4307c5808850675959d77318281368902f99462cc9772c7c1bad577b14f7194247a1314eb24015144ffa475602e0bf382870ee75ad30d882487a9457e8b777728c59c49c91fb48bd7507a5f23dcdd70b3457159d3c6817866ed7c1440f3794e69ac164413b22ab03db3c7c47e28bf9020bc2d9af963b2be8ca2bd7411ea7ba75b30c74ee24787e66ac7e4bb479fcbd8bcc567e079bcc02119829c697d6100473c697f8a5d9aab98a2542de6cb127674ff21a2699d7bb8f130733c8413c7c1ebc62726f75bed3379dde69cb7e50c9aed53067292372b36f9754469c17b001061eef6b72cc1bcddf0585e1399fc1dbc26a8155285cc746ea138f734f968c62155cc45b36475159b4f8fc05b58891eaf36a0708ce253113b97a99e9bc48813830d314c9242c5f55b4286b3bb191588b56d89fb97ab87a1b6c8ce31b8b883344e21a5d529f57c57bdc07bced354ebd2034eee42622d10be37c398d7365fec7974d14a3beeb9911101a5192a569dc24264342df61c04d31cd99223026001e214b731278a496270ffd2113c3251d9a5313f79087afb3301a57386882c878913232e8bd78cc88a132767a1c1b97411a1ad05327183d285b42df1a29243c82f4d09014e5136be27b3fdcaccbc63c00923df4d8720b67bf3ad62e53352aeab649d0c471ef88be362b79ea6151664498673bb8ec656d1a3cad916201a6982da6a69ab9a99bf8bb08006195fe369b6996b2a66b2604c2a58a4a562eebb5037c82f35cadc316c15ce54624a0bd4435a10e4362ba6370f4c39875b7a256753a81208d0e78641bac979c9583e3b7a4f984242d513d8ff2a988f13fef379b74880bfa39ae2670387cfb4723c7c3f575a6fe746189895cc343c0ec14bc41fa6f7eeb691237949641b48d701aa1c92802b7980bb29294c618e4b607e06156282c2eca384a4f90a73a595c583749d82cb71feb57f814116cb61a1ea5243cfc6328e8322375181c4550034c8f2e85b0849a4a4be78567397ae200baa291503cd16c82763b8d1b458b96c4c2b49118d508f80ace33036eb06794b7a391381581a4a6c444e2987d422bee123590bb0cea8740c03c848b14ade390a9cc67975c93b9c8a57db9c6668626081c49308a881719029bbd92a2f9423825dba0fe60763aa91ec7e46a10260acf305a490bc19a62267d2456fb4363641a7ed4b5b6e1406333e84bd20a2d0fd95d151b285b59b3fc6bbdfee96ae0d1baa742a039c841b75832b5090fcc5998f044bc13848a321031d55a9ba3098e11a88f44c74b86b24b11b58c191891cf466a4a569cad287bc70c19956c19a4114e2d9974f8a96a3fd5998150bde4f8789eb861f6a85ce83a44db8745f392c01b12667faca919db20f1630ea602951abb76515c0773d04584d58f88d786183cb87568a5f433894297a84cb33c192c876abb08b9d444cb1c88ea853a8c9ba6e18b6021c59a30f75a87bc98923c9561619d475cbfc4ec3d27fbcae4219c36cc1a0d8933e22a3d8b7074f741a5143649c93576ce35440bbb079a068340d9bfcb87513e496c23150c8cf2b52fec596c65598f702459ec892dd605c2fc00f618b888f36b612b5a139c0c994c288405afcbc0a6e9e014c3e34f51533dc7c361a053bbc9d528d619035b5773fc932acd32beae50500490964e291792765f631a571dacac2bc4ae3bbc46af0569cb009fb04484f719c6a2110cd42b4d038906781a5df15837ce8b6157dbada6dc1808ba0b60798e9ee78764e33f0713799532c028781714e82c243abc3942a5e4047fc4878311b6b5a842931bbb2aeca760a2c57a9d86769b0b323dd8a828d9bec28c9c6b2bca7e4747ef1bb410c518fad63176798f486081bed8292e7987d026a40c395b13087d17111ee6e072595208efbca41974b4f5020194198cc220d82e73642ce4d767fb38b47d0913f290394c1b5c4de26755536fa4736707bcffa5d9d1faee691789fa2e27b623126783203945b5643e281e44c845a8f05f64d9b18f7c5aa5cc67f3926981eca72bd82a5c43
+42980a67eb8c495e81bf42bf5e7da80036efbe02833d9732297086b11eb480b4
+Ciphertext: a82d1f9f7cd471829f863cb3c02564c5c5801e5232b19815d7fc824445f6fd5b9f11dbdfd5512a93886146aca7091ef74607818f059c87965ba392512c10d34713aeac9decc77944f8e8bcf860574c09ad6bb191e784b8153e5b79089160b66014a464bbddff32e27ce5813e56f5b77e5431b4d00d6ba2e73d1d3b103c1a3a4469d8bb81d37adbf58ff2ca598bf70e0128c4b2af458a8630d7d24305ab8c99dabe2f91f3940c062c4fe27ceb4785c56f02e3f1af388748f2b0aac3dabd24af1e3ba6ed687fcb827517324e89b8b556c182e095ac30b3b817025cc3a94220285c122950e95525c1b5387200d1e3203aa99b80c76428745e32e6710bd42323ffca58f5a9e49a3fdf677b411cac75b861e59e44bcb2a4567460d65144b9451bb3b30dd2bbc8fcd42b5d677a10e22e7ef7038fd878a5f6bbed3044364b44326b66afe569ccb800cf47d4d234dab67a7b4f231cea27efa93a64f8a62baace5345fee6ab3f522637f7c636256fd2fd2e761ad4c03feefb4b7fb5dd467de5dcafcf9a2d9339bba72dd6b63fc28730d2ca83996963b0c8499801a37de5c80c0b2b4d3ef08b08012dcf2daa886a4b1fb4698f194b0ad1a94d5a42b65671c2c2cabeb7d636e98cfe6a2e197b5fc37d0ef08daca9fbc168860c5e96bc02892ba6bdea2c1affe4acdeda82a48ecceeb6be3284ca31de052f23a06f0029ca6f9559f15a17bf161db2fb1d11d84bca90fc02ab73ae962f9f714780c3cec60fc10a7c3b8ad20979a2e62bd630443f05dad80d6079caa4ae96ac6be541a38c2206a56cfdcfac5d094fffb6f3a168d904766a5e23226dbf7d2c99437da760b7df3c444ea3f5c49b2d3fd7c5f32a01b34f82b789a9a9faf143af978206ff9e41872878533a4a796869e2e35cb5e04e162e9ba632f5b9a04edadfbd7a24b83c9c693e1d0a106d362581002ba1ac6e570f26cd38fb2e14e8a39a2c3059274b25885fd8549aee251532be455c81d017c56cd8e15103e7f6f568e45c5c77396ff684947e654a93ad7d526ec5e94b5327631b364d95666fec28ddfc4bff0768fa6198b7d4735b15785791ad0f699ae85ced07106533fa30950dfb9909d3dbcae0a2054226a22bf21ba77c5f305d1d8dca6fa785b6bd9f92fc4cf986d0dad46a000e6b872f5808386452a16551ded9880e10143dbd605b72594a5403cb463f6734d0116345f0ddc6128ae4e6d7d332c9c5b93decdf065f1c6e009edc589d2ffc4a224a78243ac64fa3e8a200fb05091fa98fb5be157215bbdb7bac1cbe63663bb9a22d99d80105ad8d0d6bb25b3f1bd1d550ff545c1f6a85e9e093b8b642f1a67bb284f71cbf31194bff564050ceafe729f945c59cbd67f785f61842705a8e855b92afc481a51a67a6028411fd752e52cb4ef526e8354e06d68147bea980328503b0823353ef8542fd2397952e77676c79056a88c82587b13e5ab9f96b5bed56f65619e9285ec645033c3f1a945d42f6b7095aa72f8767cb59994086ab46832b54a20d2471edfb72b246bb7a
+Shared Secret B: 8a92694a76b8c5e5907abe1ad09f0f5784467754025b8ffd1eabb6dccfef7b7b
+Shared Secret A: 8a92694a76b8c5e5907abe1ad09f0f5784467754025b8ffd1eabb6dccfef7b7b
+952d13c8669e79c859466df3aab2cda6fa09a923666431f11761d12b2a0a1d5b309ee9306992438b4b1ce12ceaefb1823e96cb31f0a991bb08426749d35fee0715cb35b0027b3b7cc5254637734cc896314ec29581b21d80f059e69b1681cc7f996a29724df49bf311a4094d66e5b9e5c51d6dc0ade97b790834693e0f851394938cd4a60fd9e36cf3f0593b2fe2c14589a0219991d02615de876a0c54e6f5768beeead02772ee254686873e2a61664d01d0ace4c1c891a19bc8970ff2003b317ad20b8d4bd4bb7d506df864d8554556f085495b4bacdca4853e60ecd2cb7929b6e418e899aba27cd6dda4f46468260e8d16025c72cd398543ba4243c7ed07c2318257d159f0ad2d4577ec28a6f3ab35dfdc8485d0e1b452c36169aab197e4d32a3478f7695765e0ee3b7f3aa1999862f432f40af7efa2e3b14dfabbfd5b1c2bcb4a1098b6097545d09cd8265a9b0d6cd8eba472e2a97699a35df10422b5f0c40a02907115f875b5c7a147468a32fbcd5e93d362bfaed9b1780080d4eb714be121ae8ceefc68b69754fb014fd6250f89aee7b406414d1429a998a5c4f2db3cc1709e4eec2b3c1bec536e7be2739c5c51dcb6fd0081121ebb663f65c4b8ba357b9c19c773d6dbff4b45603cb702e636eee48b4105114c87fb01b0fdfb733dcf7ebad3b8164cd934534b7759e12ae6f8c78b74a75681c577b739843e8d2f89f5f2364b4bb5a3bd7e54a7134b04ef48a7b33448fd5a6553deea41997c27a1d18733d9bab486f810a2c5baefac7d9f2405f41af96f5e0521e33887bbb5424e5fd71080e542b46bdab3e84add94aedbf8e6d39f8db8ef48e44dfd206a1f797cec4b33f140b391f6cfd4c8556f306eb3b83c7db07c448d5d5b95aab5ac7bd8e2bf40b40b905e5dbbe23c171395fd8eb3e391a23598900ccb50f48ee740199dc93a3fc0c9c961da48a9eca4b4ad1f5461fcdccfdf19370d053ff404a546ca48fd893fed2a93627fdce8a4c3f2e085225edea0da1bcde32ed09b15448be9622e378784973e80f33ecac49b4f02001f7d9595e626ddfebff957f096c48962550eb34d93c4bf36b7a9884fc0b6684b8762561c93ccf77f4a4b140928520a29ed83aef8e56317a435f3f017745bc7aa38d00767df0eb081ca031f3a82eae8c49a03bfffe116e6339b8e300420f86f2e19984a1acdf57028edb6266ce9a97e1f787ae9631061b50cf45384dffc6d5d6f30f7b83646d77fd4b7634ca5e99497bafcaeb429b79372f93f573eecbfb5abbe0d29ebaa82e3a67ee1d4ca960a1841f939e00d0826a3af2d5e049440736c32f994bad2a6eed0bae759515e4e96b36ec0c657e57841569f80c62cf33e9d1a8f74a5697e71e7ad9828780529b6b487419b133c0f38ed61a9908de1a393fc75c5f1f53409e1fe00104e7ddf579d24245418025e330a3a725a1fd7c01cc116f2841f35ba38d8e3d81cb805074b8f39e27b975fdb14fde600eeba33c967f4999f6cd6a16652b826fccecd45b099c0a7d07d074ebeea729654
+Pseudorandom shared Secret A: 02eead641589185243466b8da707c8fb0902faf01e7b32b93c8db84588c58d7a
+aa12e0ba2df23a3afa325044bb0d82ba15d341bf8e11d418d9dd8fe54251203688145e0632291828b9a68f832f5000c111a6149e5419f9e7cb90353c2c512ad6
+Public Key: a152299bb2b6fd817d2755649a98ae2e1b69d2a45684e8096cbb434d239fabc3bc1eea8dcaa81eb722c642cb0b9d071c48628e3b685e4688bb87d20f366894bc197cc8b39791ab88bd6c153209967067194c719d82d94c2fe08565576b8f379ab1bc1d050561df2bab427515d072b0d335003716ba21e5a295345fbebc7fac99a8fbac38f96540c7f34ebeebaf8c6acf14616be23264c99292fff01b74ebb4edb4021cec617ecb1f3fd84c51f7a97be6a868b2139d4bc2c0e42d0f97bdd76a851e91b5b97b58cdac659ffa0df98552f48567efa358709421c2a6b15c36203dc18e578a670b958ef6d8003d47b6c2331254769961a74479757287d3a2bc42231336078920025e6b657d4236d378952c4244b26118f6c77941b59947925cbcd500af4a9643922430111a5c3a55c7092c84079b92743036f7123c00a5d20b2a8b7a84f8a064802c0746aba42d32677011aa36466ad5726bbbe8a7e4ba5bc68929bc9acce53194e4358980333458282833720bf963637b3b6ed7f01d45c1248961add1111fbb417492b9b1518b279fcc93ce5a675be61f3de8b8c9783276dc233054cea60a66f4770166fbadfcd61a87a8804213464fca8ad05188fd428327ec4da10859107797ebf7942dd309af8c0aa8b873748114bf5490a677125000307870cb7c9509d5d4462cf36ab85829a30564ec50c8961a9b3f7c4a524976ef8579130a92d4a00cd338a723f1818d36bce4f76bdd56b2b21454474a3a8941684a42bc9a1379ee531301e14d0f054e44e9c62af18e3bd095c95ab58de9999ae8156f0a226e3b05bda908d521986c36aef3b0271ea722007d7b0fba8d10d2851297619533cb49c805c5a37ee9d0171fd48d7bc0ca8d6c0e0d68596c7a3ec8e1184184c59a8a2795236bd873848c7c12f8e263a5546fa59b7217302df8b143369750a54239abbb5cbc540ef71acf4c46a67a43482dc00346fcc62b427c48cbb2429c89f8f1c24c51b3143a4086221429634c4d380c44e522963a67008455715a8cc56938adeb5e1c95568bc7a6770a371ce8cc5b4a77df1c743907bfc2fa8dcec86340058b1a80b5fe2b9d27b67acb8221e08940a0f821c7eac95cca0043ca8d5293295173cbdafbc49837667c23137aa08615e46be05b45742c42d8b405969a9f75370b338928fae9baa66c985570906d511cd0651e66818dea5058bc4aa5e9fc914c594561b2078e40135c074a1d873d23c020a5868002ca5abaa43edd8a300594c647e5465e195253522602445d141abc1a080b607c47dbe10ea8a3327d660ca1c89d118905cc55be2ae83ea228cfd8538497307af083af005c52c0788c3e5029d957c6fda37b39d5511b149178d43cbff1880da4aba0e61f4d2a1be3c786f5fa0844a40a59761197543de9672f1fb1bde04c4470033c27145d8be2ad7836221a1486f1171346933b9fbb3c76e431cf8965a26b159be576f1a683900c25b26151f5f620c6341cd522a6750c5c6736a68c5caf2a8956011a20d5607d41c0436e54a8123c32520b9cd03099ed8442421a7e5bf9b1fffc5188438a90d2ad94b78e1e1589ca6c0a4bb62045b3143360ccabcb3d6d4811b846c8ca578673824b143209b360b4cd7d65321c7761580248906bc434bae7faeb9bcef7d50dd1acab367073299b31
+Secret Key: 2ac839df5c3b623029c392a4d7c837432538237c9e61717e02996beaf4287a6146d38822d2556b5de9bd04832fcd9481c7b81040ec92b056264acca1f732b3e4842ff21759332b5af47152597684b3dcae384a91c651c0d8f395ef4358df7b6a8d5106637a8a14a92c81f953cfeac4e5b3468a47a54954351b1945bd683dd9077e153b15811c920706278b1b33f43738f04a2c03dbaef3c94d97e201f89b749da84bc61c51a6ba13dbd5cf1085c63f64747e868bd4b373d267aa6e143867011847aa33b0b5c5ba25ab66e1557b45c577f04644b48a9a452124510751c89c8eda5a9b85666e27919b9747c0324a427ca96ed22061b0425ef706a64703da727d2d101181ac4dee761f92435252775dd4d05559c412264c71d1c70fda5a34ba529a1e8bbd13578914148c3e65028b578ccdfca69f08c8485c83bf1cc4e4ec252559275de53ec43501691ac647b73a2ff21f3d350851144bb0a3416d701c07b754e64074954b7f9a3362bacc64c04cbbf9b79ce33251a3039eed4644c3d14eb12b78a2b91ac6282a4223ab44817d8f3b065d86368e2595f397b4a0735121dcb4d0992d9727103faaa2b314282538bb398caf5441419da72613123db3794d1c97b01d34586f2a05a59702ead52362772736a3889ecb598a0292d720cf0547cb5d198763852483f18d19f8400fd130be1828c9f57c7bd38168c22684eac1bec9a64586657dd031c8a88c4d6a2b42e79673f250286023f3eb4a5b0c105e55053602b72985a1267a5188335e991323db17523c6c05430a54a7b25755d49cbfe409b2e376daa02b2b7962f50a203d122cd169a886874b7d02133ce4b09f7597bd515dc0835fe8cb2f18e4691be193effa926e7210aac2125cb67cfac854dfc8737678358b9a0a58637bbac36c5cc632036459d7d2bdcb7744c9b612790506a886551eb3baf1bab47b055f9e6499b9e279722254ea501199aa0fd5c003145b1aff940758658640e91632192b0b4319fea8c9167381351ab5e39baea222a8d807a67b9b98250c8fbbe8ac669120dbc5641810bdeec4c9ea225898d3872c225e3d8115fd41373c6535d52427c842b29452c508a8704f06a008098b4a854c1d943f9c50a9ba0137ca472319637640b3107f3c43266944484b48acda070293811895275a231cbb795e2cc1cf1492ab07dbad31b561fb503d95284b51076d8e8415a4ca42f856b06e20bd43f590d2f52ae9fa0228a7c5eb231e0b0959689777aae98109fa54557b27f6382b0f22892ac68a1d8234867761efe26779a2585534678e68b0cfc89796e2552fd579d44307f6c83b05730920a6a37384ad09015cde7c8888d12449986df8fcb75f451e86b34683f0967ec33a274456d419392a0796983342d3a9a6eb0a2080f1439f1b1a1079712648553d4153668b304dba9258430e3a923e05d832c525874f2c0551faaf94f3c9e47924889236a74625b4a96192e393b38c4c6e7017a6fb0210b0339b89172ee1b9051982a171684ad0c9c33b6f65f8349b7878e973baf11713de55343cd7386ad8bd079b7892296685a79c63847eae2566a7da98ac0397b2017e55cca91e9b4dbb22283f970d8a80314eb65b4ecb280d93a1760677a152299bb2b6fd817d2755649a98ae2e1b69d2a45684e8096cbb434d239fabc3bc1eea8dcaa81eb722c642cb0b9d071c48628e3b685e4688bb87d20f366894bc197cc8b39791ab88bd6c153209967067194c719d82d94c2fe08565576b8f379ab1bc1d050561df2bab427515d072b0d335003716ba21e5a295345fbebc7fac99a8fbac38f96540c7f34ebeebaf8c6acf14616be23264c99292fff01b74ebb4edb4021cec617ecb1f3fd84c51f7a97be6a868b2139d4bc2c0e42d0f97bdd76a851e91b5b97b58cdac659ffa0df98552f48567efa358709421c2a6b15c36203dc18e578a670b958ef6d8003d47b6c2331254769961a74479757287d3a2bc42231336078920025e6b657d4236d378952c4244b26118f6c77941b59947925cbcd500af4a9643922430111a5c3a55c7092c84079b92743036f7123c00a5d20b2a8b7a84f8a064802c0746aba42d32677011aa36466ad5726bbbe8a7e4ba5bc68929bc9acce53194e4358980333458282833720bf963637b3b6ed7f01d45c1248961add1111fbb417492b9b1518b279fcc93ce5a675be61f3de8b8c9783276dc233054cea60a66f4770166fbadfcd61a87a8804213464fca8ad05188fd428327ec4da10859107797ebf7942dd309af8c0aa8b873748114bf5490a677125000307870cb7c9509d5d4462cf36ab85829a30564ec50c8961a9b3f7c4a524976ef8579130a92d4a00cd338a723f1818d36bce4f76bdd56b2b21454474a3a8941684a42bc9a1379ee531301e14d0f054e44e9c62af18e3bd095c95ab58de9999ae8156f0a226e3b05bda908d521986c36aef3b0271ea722007d7b0fba8d10d2851297619533cb49c805c5a37ee9d0171fd48d7bc0ca8d6c0e0d68596c7a3ec8e1184184c59a8a2795236bd873848c7c12f8e263a5546fa59b7217302df8b143369750a54239abbb5cbc540ef71acf4c46a67a43482dc00346fcc62b427c48cbb2429c89f8f1c24c51b3143a4086221429634c4d380c44e522963a67008455715a8cc56938adeb5e1c95568bc7a6770a371ce8cc5b4a77df1c743907bfc2fa8dcec86340058b1a80b5fe2b9d27b67acb8221e08940a0f821c7eac95cca0043ca8d5293295173cbdafbc49837667c23137aa08615e46be05b45742c42d8b405969a9f75370b338928fae9baa66c985570906d511cd0651e66818dea5058bc4aa5e9fc914c594561b2078e40135c074a1d873d23c020a5868002ca5abaa43edd8a300594c647e5465e195253522602445d141abc1a080b607c47dbe10ea8a3327d660ca1c89d118905cc55be2ae83ea228cfd8538497307af083af005c52c0788c3e5029d957c6fda37b39d5511b149178d43cbff1880da4aba0e61f4d2a1be3c786f5fa0844a40a59761197543de9672f1fb1bde04c4470033c27145d8be2ad7836221a1486f1171346933b9fbb3c76e431cf8965a26b159be576f1a683900c25b26151f5f620c6341cd522a6750c5c6736a68c5caf2a8956011a20d5607d41c0436e54a8123c32520b9cd03099ed8442421a7e5bf9b1fffc5188438a90d2ad94b78e1e1589ca6c0a4bb62045b3143360ccabcb3d6d4811b846c8ca578673824b143209b360b4cd7d65321c7761580248906bc434bae7faeb9bcef7d50dd1acab367073299b31c161181711d564ac9ead260b2db2838599488b8290e2d6545ef9b7c1c6bba49788145e0632291828b9a68f832f5000c111a6149e5419f9e7cb90353c2c512ad6
+258d01c6e173e935173741d6ba0eb37189a5170181bf05e3a6ec7109b6d4fef7
+Ciphertext: 508f47f65c37273058825c64e24c3ea6e37af0eed17b841d47892b0644f9c776315141fe5642de3d6bbbfa2bb708143427f9075ae1e0e24f7d640195aec3f5e9cca4bafb615298c8ea80654024ab70468c4e0e774d78ff4eb9289c124f2b8e2a7753915e16edfc654b03b352764328a23a431cb238beb10933ce27701b2899a171c4c78ed4e9ef7970f10451d0c004e220aa18d4edd11026c259405c22678eb8311aa3b2c820358224cc0e7871f759c5760295fe399a4740eb250812200d56dc4e603a07bfa8c6d77f789a874aa27039fabb8da52815427c5dfe805334e828686319fad749fdeaa767a36ec9609c096a5139171374f3dfd108dd116c13482bce6540402db4ed14091f152879683e13f63c10ac247ca02c5a963a4b1a5ae4849d845fc746b7ea0f7d64f4d6b86c266a7d4773a3f702933551cf0816f59831365f58fac61d409110ff5f4bccfd764bc6c709eac77c86ef1f3d2ce40f1d079b6ff74768a9fd70067b73be95203fac49a039a4f34864ef8001278f9a1c1c992b331cc74524d98112dcc6ab8f61f71b1359de905a60ee3d45f7f591f2994bfc4041a75c7ac804e2daa211b6bf6bd869592e7d1c02a870a2b383d15da40713840dfb294f295131802330c67014c2b926be2aff0bea7d71c4e0f53fed0b0bef3925682feb02787a4dc7cfa76497983f6f73059f96babedd479787b00caf3f7392984e9e70d29c475c10a79c427cbea8fb76e9629f974a2834ffc2d225c6724fd1e6fcbc90e090752b85e582a5f761548d7fa28be86da9b66bb20aab7034da9a5050af1419977c579e58eb1ee589031516faee45088767a6124d5e45040b8cc7f3aea3e0d011688ac8b21a150e3c9e96a44a6d17964403ffccebecb52bb496e36edb5bdb80e1a0193c28045f4cc98fc0e66fc26048f0042f5c9d4acbeed16a005189ee719cd4b17bde5ca696ab5b2485eaec19f1dda8c4f0d883c4e6b4939eb82a6578e31715d7c6e8adde92facef094e6f58a388d2027ae7c41d81e772b3664d77c29f823bd7ddc96e79f5e1d16de95c226abea253d3b0d95dc5182d49dcb867aaa5e7fd2e57b1d000e8d36a0fab11a4b75524db4506840c7cef09accd378f55a035a4d744b6f43f767ccb36bf7dda43bece31f6b8d3828c6529f1424d457f2c17c978fcd9f96752a0bcb0317c611b35e0f57ba18053af70d26c3238a0152819c32337eb2adf6fed8dedc10528522d2929ba3e9322a7eeaaa4c6ada037ba55d9cce1fa30fd27524221eb5caabc14c61d1e1150bc5041e8d93cf24b5c5b565412503bc893208ac08a9589a004098d690df129efca50d61047a14077896fd5d3c44b1d02047e4ed68e2c74770c71ae1cbda2743ae1912d06f801af3e974c7c4edd7e51437bb6a73fc9278ea24cca75a126781049ab306ace48e0394abe256d0c86df0f2919ebc4187e2a023b944dfd0f0ac4211e3e45f12d6773e5b09f9505c1432b2e4c2222b4a131943e0113f151d5b657fec8b2564676d9ddb6004cfc6a000234fa09c
+Shared Secret B: a58bf91e23124d15aa6fe7aecb8b267e2a41458ce002eb39af10bab10a390457
+Shared Secret A: a58bf91e23124d15aa6fe7aecb8b267e2a41458ce002eb39af10bab10a390457
+3ef8ac68b1a1ae27112ef305d740dce54db1e3a8d061f26b2fb9145b8e8ceee5fa23f681fb4336d52f347a8b82a908fa666eeb320ef7397d6304e02f57ea5c4d3f433cfccf29cc67463ca8745f8c33bdebd2031a4a04db13155ecc93643a306625e9ac90fd6131ec38ea70205a9fcd7cac938c8d0757724bdbc5bafefc2827b6aac6a255f94cafa9f3d9b910a2c5424b9f07d669aaa158a9cc982c8b97978aa9168dbebba71e4057258e96942a52369b46dd28e0fb9a551bfea18612e3aa080f376911eaf6d38c9fedf9fbf7d907679221242b37dadff9986714f1c705ef3ab577df52a2552b6c27ba71a7f3ee3aae8820fd3c66d300d284dc213fdee0a63a8f0f8970c98ea381434cbea61de27ff88bbadf9adef4672e28a06181f274ca0e08b2a4227552f79bbbbd16ba189515f306c9f969a02927aaa97b8d7131105209beaf8235c3b9fdff3333d20a122a7e509a6fb30f130bfffdf7061c002b61f14c88d21007a792fbb06dc1079e2698d5da52ffa691c4017a1d7f06d44fd6f2e931c39abb2bec8be4d27dce4907806c282e6c641f3d45f82a7b7eba711f7b8c63f1789fe33bdc4bc498b9a55a6059978f698c35a3bde1197c611c93dc6388df10e00cc9079c9016c4e867ef9f0b73544846931ae409a42a0e57e571bfb00378f314d2f12ba146755f872257a91da150b5eff53bf1a8acd327d061fc1da81875ad10627a6124573b220cc598814184ee949abccae447a331834da3507f58fef8eca197ccbbd36c6b4bd707430b3996b2a088ebce5229abe38fb6c1b010fc3da2945104c797000b72f761f40444dfe3e70e8e35aa00f8ed3fcc3dcb6e879a71a8f52a682b409fdbb47d27431af80520eecb7dbf5bc371228973e7ff6388a9d0fc5b54fc0ec65ad5c6c8896a60835e660030c7dd4753b9265eef9abcbe1e882abd4ae00791e30712e27be1c2f4d3923ac4de729f9483b980d35c3bdcc8a957c82cfe7ee00c6657798ff008060f790c965ce2814135259650bfe2a044f862a4feca0e0401aa388316de5218a3b6bc04b1d329a38310fc1b262e8054ae6e9c13ce1cd02b8d3afe9827c4e2dead50bcff399bfbb53e3455e61cd2fd1a58c74986e17afc1f1b36f5945ef2be4816ed82f1478bbab2ba24d7bb8880f26f65579ceb511075e8a2f6caee4dec9768db5701061ee314c0a12e05c23dbc5c88cd8c240e393a9109c4ba235abc17d87e105d34f90d8b3b97bb91356aee6a965c073fbe204ae30198fd1181e26b6cb1d5885667464117fa7243182f2329f04b0ee283b3a2821241dd8a0650659d42f0033d9fdcc2c24e07f7260193c7f0823318bf1d2bb16c63619bcb7c0560f482723e89bf1b2d05150bb5ed9c9890bdecfee6d00742350ec550361ce0152f0725c566d76f796dc27a520eb573d8b93e3d781a4ac3e253fbd399b8ff18a16275660ecad04d055e40f0db67f78e5cafc9da0020cac561e22b52c2b17f0dbba7871f0dd9bc38499cc4c17e6ad3064445c721eae27a406e13ef600ee92f
+Pseudorandom shared Secret A: 913b14fa7bb5acc905283f8c98f9b6b69a0baefdf4dbb8b507f4adebeed67f5b
+ac53b47adf5c031a94810d83947d18f2fa1b07c462c604fce0b7e075a03ca3e753a0792167015e8ebb860b49810fcb27c8d015fa45848fbaa598f972e67d3349
+Public Key: a476bd19b63e976cbb2431caf5e0141ff77a4582c89a572d03d702a234c42c279bd4742b4d1571e59caf4c0838b19c21086763e46308ad80be5b6872e430cee52862a6f0151cab74d64260e1d3a493070c1ab62864ec40ba00a241222ed628206c2579ab498bff20cd6399be85a07b4f58a0a7e2be8a91418f059a2fb93727567a85958c26349292c65d14f5891b66bfe5ca9582b61a340b9c25a2c6948576e4bc2685f1b1f7834f9d446050907a89d3bb488a6f51509ea947aa88921d527a5b2bf9b077468cbb3cb0f182a44ba1381cd37a99d5723b888a5ca4a2d9671a53b30de4d8aec7327f7f07a6e6e9283683771052bef9246cb3ccad14e24e72da75b3e05aa8d4976f819ebc180fc2496848718a1bc94dcb471822aba0f62992eddb3d5f7a0cd2c34a16443b2b800e831b49e4dc24a9615ff383915139aa3a929909f53fa248b6b2a1b6a182a657e9bb5d7680485bbf54dc3b00f42b31ac119cc6b77dd1a5a32c3fffd5c691b7a3d1341e1bd1ac8316bda943815474042781bee5f3437ed0b352063783a8b8bcfc64e47309bec4c78a34118ea8b2f2c85f26322f0dc59aa107987ba3608c07c6a91394f94391fe40a534971087855e85b63e9c311211b9a948c2cfea9b5f09db95b4931f0b3764a1f9439089a6cd07a568c80ee3d8c671e722aa261f1ea6202df262def683b72856753c9ddcc43a69a85f08d9b4a14176bc599d68d1383a241125d00b8dd38f2e66cc7d2802c5494e0ebc1cc7654fe607906739119af5aa0208b13de801917b243ae06331c7b22fc56462fa02f180be4a3c40ac9b04c7798054f769f3109be15837b2d711b4855d49b0a41fe7725b5741beab1b8c205dbbc255269765d15c4009fa7f8f554274333f5521b0d7d6a5e0ec52fc0328ba65bb8a9c06b4ca9ad4daa250c4781bb88840516ede75cd2bf91143859b52f26353ebcddaa17b95ccb8da506ddbcb767f1588ed2178eca898812c9dee4716c5e36bb8085e14b659e3f65526445ec4d56c6a3a126d201bcc3779d5938ba634707559a83470c943888a0a35c26b893323a412628a02d17c6ce8c10527e56ad1b98e0f57378b312896ec6971137b8037c3129121a8f6b84e52a94d5716335cc626547d770253b52655ef1c9c2ba84bab64b10f509847840acfc4139c8190eac101e00672df3676cce748c7496f80537f3ec1a3818a0b620b1da69485a7b88482fbb74ceb2d07b7ab7fc8b7bbe479edc27356b431d219a42170b02a7312ece7132e13abf1d84b8b90116701223a0b45088561763c4fdd550d5d7b44c0b0c1679752db0cb148f4b2d6d851ef4b539787874bab9967c846ec5c1343882b6e4161fab2acdbd10ae08205b23951dc209a238bb74cb1a1daa875c8e8ac519881fbb12e1185093a47903424118f41bc981957b9d267c6081ad2a3a2a1c2153e1a6e6ffab68fd56bf541ce589acec8a96dfa521138d9aaa7c472cde401046225ff5827d4952687053ea7c00742288e9e760efa1221d03341d604acf56a25fd7ca27f93145788b961354978ba019097684fb63fb3436037b23f17776c94c97aa7ba8f1dc34355f14d70acbd62037253dc0db7cc04cd81688e6242f6b72430f995e85d0d1d334d9d968f2305e17cceab46bcc32ffff1689fff74c47269787c2a19
+Secret Key: 77690aa34a8d75799e3b250ae5d238271c7f8652a9ffd64203c2800075c66ba35b49ba41e5a5790ad3c9fd24570b345824bb35830aabb2261a1055954e47623d1654b45a88a1393b07ccbfebda61698232f9c86596951037109cb776085098007debbed72a2129cc776c11941144184ea70351f2399018c4e0a66a94eb6708cc6101f60d6fc90bc5647eb2311244a9b90309adca391f81803f167b293aa2845d18b50d19097be478900340308777f170b52208af32c6ad41977cfe013db228832c91bd7e5baf5e507e69c44df8bc5e97a88468835971f33e2f443dfd64379ab5429b68953747b1f8d85f0aa0b2bd6c2cdfd462de4814045872718a647ac40c28497642e270769c3672372eab10b192b5236b77b35ccb92c01c46b63a06f1085512225d731931f996020a5747f77c40c4a610a6d39fa76a6891a42b6c1790842515529739300501cec71b95a1b00d990533c0b0495034edf563d5a323f03296a98744ab95186d028f8f99a9f8d824cad8ad3c747f1907a692b7410173313b99cb0e856b8357a16417a3299337dc900564ec0516237d8e85a363f3b36f84cc39067174551e3b6bc77a6896a9161e3d39144148a59a4b56ab127910d84ea9a911616cc8e34960ab5a43bd9705004993f82c5268ec7a6e570040d813216cc586e92108480037378edcb9b13512b9f4f2a9b2b26deba03e3a91132bf1c22db967ac9b05fd31ac2b790e154108d92b718c146becf01ae0a0bcd9c24b36891cd9b602b50abf43d4675d741977f3871fd683b8f535bad2cc4611b036d775b3d4be8269300593413ffb435ad03a085bc8b8ba0b08b4592139a0a9a083cf3108c732a65447c9c3409ad5fa5ac6649caa8a474a435175d0c384859cb58ac1a52555430ab217f74f094b38e4d981c16984ff06578d415d2b25877111bf8a3a7696987558752702e5530809a3b5f2a6b1fc75c5e1b877a146e94968ca7c5fedf606d62991cd1a58c85acf0c3bc48f4cb5db735e64b6237b3b1418d91517124f37958236061576dc146659c1fc598c3fa583deb8644bd16dec8a2c0ac98836779a5180333720439a52237796a3b129605ab64ba3d8a623c837db526c8389bfb908ad0db8153b86b5f6698697a45b974b96caabcf96a85829ec4e5899cf86b27c68e137c350cc9b7620676073ba4aa88feba9d4961d11936172280e83310ced43c4c8b31f862390820827c856074f535f9e645b8c573a05cbb3d76879018b32e48772843a59278a6efc14b59e844434a88934823cab4a0ed2837ebaf5c403084295506fefb14dbb53bfc36181cb9c0af2303b84c270326413c9b1ba9f86bec01232a73127d9fc60fb4029a152647b69b09e07880fb51df580778abb9185e4cc83471d38e1ab6a416841140cefb78fa8fc0dc3c5b8283aad697b7791d9930ba8c73db5c42ec491631570994ab6b22415268a44b2d39760e54a923c525d401065aa818c0613a3735291ac60784590a90862547919b9c94c6253593354bbb18b23cd78a11193914a6815692a0a518962bbe76eca12117063c07de74b6d21c91c0c603555a166b2c203500d2825ca95ea7507720ac6f944134b49d78c78f797881304b09fc493bbd7b5a476bd19b63e976cbb2431caf5e0141ff77a4582c89a572d03d702a234c42c279bd4742b4d1571e59caf4c0838b19c21086763e46308ad80be5b6872e430cee52862a6f0151cab74d64260e1d3a493070c1ab62864ec40ba00a241222ed628206c2579ab498bff20cd6399be85a07b4f58a0a7e2be8a91418f059a2fb93727567a85958c26349292c65d14f5891b66bfe5ca9582b61a340b9c25a2c6948576e4bc2685f1b1f7834f9d446050907a89d3bb488a6f51509ea947aa88921d527a5b2bf9b077468cbb3cb0f182a44ba1381cd37a99d5723b888a5ca4a2d9671a53b30de4d8aec7327f7f07a6e6e9283683771052bef9246cb3ccad14e24e72da75b3e05aa8d4976f819ebc180fc2496848718a1bc94dcb471822aba0f62992eddb3d5f7a0cd2c34a16443b2b800e831b49e4dc24a9615ff383915139aa3a929909f53fa248b6b2a1b6a182a657e9bb5d7680485bbf54dc3b00f42b31ac119cc6b77dd1a5a32c3fffd5c691b7a3d1341e1bd1ac8316bda943815474042781bee5f3437ed0b352063783a8b8bcfc64e47309bec4c78a34118ea8b2f2c85f26322f0dc59aa107987ba3608c07c6a91394f94391fe40a534971087855e85b63e9c311211b9a948c2cfea9b5f09db95b4931f0b3764a1f9439089a6cd07a568c80ee3d8c671e722aa261f1ea6202df262def683b72856753c9ddcc43a69a85f08d9b4a14176bc599d68d1383a241125d00b8dd38f2e66cc7d2802c5494e0ebc1cc7654fe607906739119af5aa0208b13de801917b243ae06331c7b22fc56462fa02f180be4a3c40ac9b04c7798054f769f3109be15837b2d711b4855d49b0a41fe7725b5741beab1b8c205dbbc255269765d15c4009fa7f8f554274333f5521b0d7d6a5e0ec52fc0328ba65bb8a9c06b4ca9ad4daa250c4781bb88840516ede75cd2bf91143859b52f26353ebcddaa17b95ccb8da506ddbcb767f1588ed2178eca898812c9dee4716c5e36bb8085e14b659e3f65526445ec4d56c6a3a126d201bcc3779d5938ba634707559a83470c943888a0a35c26b893323a412628a02d17c6ce8c10527e56ad1b98e0f57378b312896ec6971137b8037c3129121a8f6b84e52a94d5716335cc626547d770253b52655ef1c9c2ba84bab64b10f509847840acfc4139c8190eac101e00672df3676cce748c7496f80537f3ec1a3818a0b620b1da69485a7b88482fbb74ceb2d07b7ab7fc8b7bbe479edc27356b431d219a42170b02a7312ece7132e13abf1d84b8b90116701223a0b45088561763c4fdd550d5d7b44c0b0c1679752db0cb148f4b2d6d851ef4b539787874bab9967c846ec5c1343882b6e4161fab2acdbd10ae08205b23951dc209a238bb74cb1a1daa875c8e8ac519881fbb12e1185093a47903424118f41bc981957b9d267c6081ad2a3a2a1c2153e1a6e6ffab68fd56bf541ce589acec8a96dfa521138d9aaa7c472cde401046225ff5827d4952687053ea7c00742288e9e760efa1221d03341d604acf56a25fd7ca27f93145788b961354978ba019097684fb63fb3436037b23f17776c94c97aa7ba8f1dc34355f14d70acbd62037253dc0db7cc04cd81688e6242f6b72430f995e85d0d1d334d9d968f2305e17cceab46bcc32ffff1689fff74c47269787c2a19bf62f55cb7276e4bf1e544243440b818b94b1f5d00f6c73721f0e8d5461f181e53a0792167015e8ebb860b49810fcb27c8d015fa45848fbaa598f972e67d3349
+64ebbc392e4b269bbdd064356478583528d197bbc395f4b58b28703e74589570
+Ciphertext: c6b80addfd2a3c67ea8f8fc66f4e48b920373843aabb65271007945a234b10be227689e3aef4b5af1a729525c84207b551157bb6c1e6934bc519db31d8a40fc9e0c0c1f2e37f653d56021385f3316cb0fbdba60fba5b5fae38f8c932387e5b4485e7d2d0e57596931aa651c864722d9fba523171b49f92f003898f111474bf59756f1d4e5f5142bf26281e34f39e80fbcfde77ac4fc395bcfbe97030d2a0ef09626940991b456509f0e33c1d4ca12bb8fab63355fc89cf8a46fca4d83fc237821c11b9078e1f11adfb8f71bd2db45a09ac303fce2b442cb76ce661552491dfe18873ced4c18be1389f95796f47e400f7948db9aca77b657c2b3d2fb47e6873854a0a27b3660f13b81e459110095edad5df26ee3ffe36fa7eccdd8e0e4dd3e485446279181657020678b20b37127d52b24e2872e518c0e42e115957719d84b0126140d4d6232eef3f64b62f31bdd0d531205ae9fd41548fea68fe7bbc32792fd35e6295e25c1ba499bf26b33b59d73ebb45d3cb7c4a5a16db38a58803bdc45ab623fc59be9fa9b27a9849b6daba49eb73bdbb0091ce6a53880d6246eec5215852a6a802bf5c73997cc2b01d45f8559bb64556e9b5e5704f09a093382d9f7e7487031ff3116478b1da51d7f023034157bb5222599a3f6e9bbf532906b9eb26726dfc1c0013b4383d2e3ec5a4f8d794fff0eabea9e09db8b6117739395e8f701e9423ce08318b942050e4da419cc890e1c62bf75f4e1311b706e088dc1b4c7ecba4737cdf9d5b6853cf233c374916a442e779f77b445c6abeb938193572f4ae71b0215aeda9de47005bf05b1fea16ba2cfbdd1273fc12b2fba72ae5b6eab6cbae96398ecfbbd53516f70638c84001342c25c5357c0a5e3611e25032eb7e448b28e8c8f42fae1653990c3153fc78c4bcc051cbfcc7e814205562108da8a3386345c53b2b6038a414588478f1b683f9158c974ff2da60c419c896530b4961ee135e0b5d4d75bc20a76bc311ffb6ba73d1a690c55dabc85dbfeff26fcc37e91de9c03e90ce7a29f3d2e751af7fe0d7e633a93113c5ba83b686c2a393f7444f9577f156812f5ce4f6e14488d6be028d1fbe66573aeba4ad30c1b14af799fb9e17e8890fcb9a714bf6779ab796013a42086dbe04e85254a6a2d7bdd7f39caa3f93cbae2a82d8d79d93f41051f53dc8c44ffa9d5165524a30a2b5c50217548918b4a4781b5485e3ab798ab22dcc0ed7ae03f803fdef9faea6e2dff219b6ba08f837ff1cd5c91a51417d91e6c8694c590beed94e67c530d47f1df82ae5792625d73fde3c356c646c83b6691cd6dc2d5fa4dd9ede0a891bc0d7fe833e4c93a6d69bd5554e09974eda94688d18892fbd0ef71984b7d6aba698a84d59efb10540f11a50647f5bd877821c4b89a041dfaa0d49cee3df55ae45076783c95eca138716e369ce91d9492321a886cfebe0423c6a6a50c1639fb2785a6a11c6d2ee4ce766da3bb37a222561fe40c2456a8f863907d8bdc304c993f2017c832a3c905b55c7ab5a7bfffb
+Shared Secret B: a8b4a2413efd7c8f2bb3edae0be1e8874de9121199af894e42572fbe9495aa4e
+Shared Secret A: a8b4a2413efd7c8f2bb3edae0be1e8874de9121199af894e42572fbe9495aa4e
+8d251852d6d08a925450b1d4b0a56adc2d7bc05d9d29d626a6b61f49478e7a87a481bc71911f0131e1a75a78635174060d0126aade2ce1ec84c454b455bf719da78a4bdf138d3948b1a906cd03ec56b01bbe6e9f168e8d66905b318db89156df359e3e61aef3ede7a2e6db9a360d2e7a4845531ada38417d929f494af3b8e3d197bbf6a739fe528b79d0c6b3bc8c9f1e88a9acb57e1f9d13f934c123d5de7345fdfd2fd6f096d212b4f5a8ed0ba982a3d4d07ad7f628c36e2065b865baa69be080c76bcf8e7208a30e9a722fcc9f4b45961cbcc41931fc48a2ae967d52d90a121f092dd7911c2f0a81a3bd4813fa30de14b145284fb8ecfa9baed08386b393ceda556d879fbda1d88ccefc770ecb79f1d73a5f912d6654252a7f61d41ee3f5ab6cb1807b8829c94c044dfe4bda29b2b541cab8daed631e3605c97360bee1b60491685f28718a8625c0aa3876a5b64698189ebfc51adea72f7d434ba7c965c6044537c3504950b2b2e33733fe24ac4067055ee06f47ca00b7b48fa8dbd980cc622af4a5610eab9c5f6762c43f0d2ae1324eb93d67332ed62e6a8a6649897470d60e28f274483df6b4a9a2d015077d5eb924f57be7bb8701d418414d092932c458c6157e1229446de6b278ba5fcd27cbbe90174c756c5a00e09dcec873f32ab0e247219df80120a5e15d1d61868643964b37b448988e1ef01228d1d0b881160e33300774b98b8e18182768e593fd2f18e2efcda1ae873ddd1a9e974e9ca5f1fd1634a383d7f1241cfa77ea65826c6a5d73a93c9ced34848c76d39afbdb13b1f4ce21bea111a60c892fc059c7312d684b07e8eb12631906acaac1bb9301bb6b63c6a95fd9c05ccc301ad157c8d5fa4574e53ce623fd59758dcdcdd5a8c3c8556972e31f228328b28560afc5c8b8a9b33575bdd241095ec361f76f19c0b39e75fa2299d0c331ae661390dca7fad5e7bd4df3cc2103ebbf802f7352e704eba4406595f9bef2fe66ad6685c19170d7328bd0596a1e108abf092a275725e1f9284fbd10aed0fa8d94909cc07d2eef18ddab499179f3d867e380ac52a17b75fdf1d456dfc7deff2bf9b7eb4d89b7d6bfb85d788571d22d34008cae081af2cf32a8a3ae79605cf34cfb276447fd768f25d4442686cad0027845ef9d49e79deb1de2cff233447841d13fde2d72013e114ba555222d507e6105437d2af1c5477df9194e00ce99cdd07d3658c1545e9a257a7cdaeacc785b2ae71b440b71d7ba1959e7c02f4eb0576858773fb14317288fd7cc99720d32aae13f091dc42d4970fea5a43d9350fd9084f3f3cbbaf096e3bf97b96b74e5234a566127ec756c7f0ac3fef6a59c058b7ab840c568d23ffb8875f7d99396b0d384ffce5440cdf8d49ff1221043a4cd7b338e93dd65d409fc49e3910bd9b624cbe8915a8984cd6e46508d489be3296c02e5a983b0b7a227666a368e3eb6dfb10e00d110d362031377e325a638250133de6a3bff9767739bbd1262e7ffe125b888322eab650acbcba114c4953fe3b576
+Pseudorandom shared Secret A: 027846ac3ceead59c5cb3273fbf27e1afded1dedaab84aaafff8a2db5ff82a39
+8e9c9a0a62c412f21e62be1aa7dfcada9f0437250a51eded7b961712f162e2c78e1ffd5c73c9ba7de943d6e7eeae55f4db5edf2eb1e43b217adf87a3b2e6a063
+Public Key: 88fcc33e3a6d4bc61370380d009d2e305041062888a089b61f312b7327580838417afbbb71ac160781c9bde82a15e94f05541fde0129439c17c1d92d43c166e8f2b4fbf5ac73a1bd1d491b08da6343c95606ec94ac77c523b2926042a402b772a404c9dfe9052e1c5f97527244888f8420927fdc511e285b59b6cd164c902e7acdb610164f6366b47550a194af64d8238a1b4f85e3582432560bd1c137f1362549608895ae354c2823319fc2f2bb83dacaaf1c370a36c66ce494989492f767cbb76229298b4e887749b2f42cfb16094da96cafd2117196006d1709c2850fb2d901f2f1765a440e4b0948d1199ac2b5297a224e43d5abac2aca899a870792bea7e3019260a302854b60db2bdfda9bd085c7379cbe738a49d7d7908c6789fe82b2e21a4b423a5ef98cc378d8967c4274aa34aba45c367bc370cef44a1e95b48f725e064705f9a607dfb207aeb12be615c727fc55224892d21c7c4b79b59b02663136c630568f81240882e61221e53a4597aad79ab272e625c11203e6c27768f44eb9179890e3a85621a015fabe648c4dc6e9149b35872fd830f3134afa230942f5598921b3d5c2a180459d7a984fd2b6294525170ac07e3464513da40e98f58d6b321c0f3b65702412f2b8bc1c245a39bb956b2065f910b0053929bbd8c3257c76152515706badb558953df6c203479b0821afca4a4577c3411790ad651bb5dd27304d15585789a272a8325d734cd38a44e9b8a8eb2349eb6987e71a5e45cca8e3605f81d76c03aa6d5614882aa0819fd4b67fa675a987747bc4353b51ae09a991990a63993babf66ab06a66792b0a2e3cb4a7059c89a6c1c4f80266140a4710f29b0f593552845c2f544f5514bb46620ac028cd5e6a97fa3592e90923fd6a5903e3200cbc6c323627fa9689efd9b50977ba1f3c717409592e1b1d2a062652a0c659d328224c5eeca06aeac69b5f50b03bf310d569437b3a1cf2d59959c791427a1677f7b44116021506170813b25c841554229d5a8a7191cb6c6209b5d12680f981cb1324c5b7b235269b54c7c698ea5bacb58c7338f3547c5bb40885025d89007a5328bfb2c11566094f3b432d738d3ea5cd3a45ac98d02e1806a8b8c8428e3a6e60d7395434565c593c01ba37f4686a4ba40a79d86380270cc05c3660476d85464fa55b234741491fa6591216be9661b1f9668a28d3c2cfea6e35e98c8f58b61db458b5895499f5aa9bab470cf61a0c8c429fdb032a545df7da71f9d44894f4551f59845ef1010d54b7e7d112a2e7bb5cf93dba1574edb99e1c1c762ea10ce3ab3b05d81016a31ebf601503445925db12e0f1c6b6a2c6305290350b733ff9295e5c5f2b3b749817595d3263229889f61561c92a6999e9c7d64cbb7ed924e8b8274fc4a61ab16edc481653a05e4397c9c33324baa073b1db8fe05560dbe3c3d677567e1b4be13ca5e3665ea2bb6769a6a97bdabfdc941013e63ccf2986ffa97a8f23c1d74699abb3b4a9ec6442882755f5573e576465b1607636c935784f321027ad6a002d21762b91834f77931437506857a23c899771d1942924a89e77676d63aa12fc67abc94829571134e89352302a9535025d99c16c2c3dfe62594aa395971be4b808245490b2d27298793dac01021f425d3a5349023abe3cf1272fe6f6
+Secret Key: 9a3143684c006bb6699d927e7d7924a15ca317123b3fd973bdb9c0a222208fba937682c51d853b29fcbcecc54776bc170ac937a7678d5bf41e84b709f767bd1d6c55414c42f5969d2c100f91b8ba5bac536f6169a1693874fa3f26581e0d06317f6c7d96701bbea88331339b84331bc4e83b475a6f813105717b3713f06f38a75b66a4887e9cbc4ed98af42a5cbf6cbe4475c0e9dcb171e1bc6d95ba61889481b56003304c47ca8049193a8d705feb580b1514570019a1d3172bb4fcc5e8a62896330f70b7cbeb67363843512b2706b95671d5f22ed713677caaa8fce8afc897be71ca960e9382b611246c903bcdc87058e6236bd46e6a414e8224c76c6090039a333aab47128bb6c8848db53685028a3f60aab721705c8601b38bb404b44a0aacc26e2e193e2a19cbd71c6d12f76904c178e9b7455b5769f1a00d28e3231548c81f75b7e0154c71f56bff160703594d48c2746055b28c6cc817c411193aa1d89070acd20cc8316fc93912763b07f3f67221a0169ba012e17329b2f645c1d37a6f93769c21a7b816a1239060f231af0d8ac0745608146c3c40b846ddb0aa04f9b99a31b7ccfa6e04d03d6a2c8b63fba49f555ba4169459103ce29a51a9a8ab69e96c0807c038e6bf37734fd7f7c2fbd7a13935036a92175053b60f96518ea5485c2bb6ae1214cd9225c724b2f831969ec3cb670904dc1b2331373cc0669b92339b327b45771067f2209e86f1360ba2337dd1cc1d10768bebb211c0b81191af9d38266d24c071767fbe48b82d1800e755313fd4c12547cc259956bab32e2e0181bcdab7ea5169a36172d52657529b0bebe118e5b6c3fafa4ecde4216e40177b0a2b18998b42c5b81e90be4af3c205a73fb90221513b65063aada21538b83c73bfd526fb974a5e462d6723067699a4ffca3ef500c9f7ec50cb17b09d7877f08579c1e69eada58798f313ce66095f935a69398f0598a1efa638c9326a394c4155d1690425612dfc2f638b41bbdcb253cb9b57046d6afbb4cca4aebf7aa8b1f770439025d0267f6e4c15c4cc42e6ca8173509877e015b8300765555ff7d929dc11ced1363ee9aa4bf0055ef82a09557916408074d88abaa750abbc6334a54cab3c142190717a73a00f39808812c76a3bf4c73e79b3a6b62c112145ae6649513cae2bf1b8ee05110811cecfe97fecf939071a6e7ada1b76e2b8a1ec496e04270322672c395766b3a7139a56363758e12537e65c1704c8918ec6519662adde4a2fe8365dd7cc11c4e098081952232a076ab40a94075d32454055f93d006b0e328b36e8e2968c780b2bb455147ba8d1d2bc641ca32585c525a20d071a8d9421bd0f514b7b0c4274119cfd562a7ac7ba8dfb942fa1cbf43ac83b945bf3374643a9a5b1ec205cd94501179f38e4b414f354b074b3e63733d04571dcc13befaa0ea70c3280c88941e8403781ccee132ec9738463d26093f187bd8982cb0c8135e253f7b40699827c5e29c878573d0aea90e1172f8fa84ea67c99478a7234e7073dcc1a44121a846b985b9b158ec8355bd4b26105b2bf7461bb35ce7e4c2629946f721558ab0781ead99f431873c12a76a395b38ec95fc62407e4792a5df90c8e5b766f4a4988fcc33e3a6d4bc61370380d009d2e305041062888a089b61f312b7327580838417afbbb71ac160781c9bde82a15e94f05541fde0129439c17c1d92d43c166e8f2b4fbf5ac73a1bd1d491b08da6343c95606ec94ac77c523b2926042a402b772a404c9dfe9052e1c5f97527244888f8420927fdc511e285b59b6cd164c902e7acdb610164f6366b47550a194af64d8238a1b4f85e3582432560bd1c137f1362549608895ae354c2823319fc2f2bb83dacaaf1c370a36c66ce494989492f767cbb76229298b4e887749b2f42cfb16094da96cafd2117196006d1709c2850fb2d901f2f1765a440e4b0948d1199ac2b5297a224e43d5abac2aca899a870792bea7e3019260a302854b60db2bdfda9bd085c7379cbe738a49d7d7908c6789fe82b2e21a4b423a5ef98cc378d8967c4274aa34aba45c367bc370cef44a1e95b48f725e064705f9a607dfb207aeb12be615c727fc55224892d21c7c4b79b59b02663136c630568f81240882e61221e53a4597aad79ab272e625c11203e6c27768f44eb9179890e3a85621a015fabe648c4dc6e9149b35872fd830f3134afa230942f5598921b3d5c2a180459d7a984fd2b6294525170ac07e3464513da40e98f58d6b321c0f3b65702412f2b8bc1c245a39bb956b2065f910b0053929bbd8c3257c76152515706badb558953df6c203479b0821afca4a4577c3411790ad651bb5dd27304d15585789a272a8325d734cd38a44e9b8a8eb2349eb6987e71a5e45cca8e3605f81d76c03aa6d5614882aa0819fd4b67fa675a987747bc4353b51ae09a991990a63993babf66ab06a66792b0a2e3cb4a7059c89a6c1c4f80266140a4710f29b0f593552845c2f544f5514bb46620ac028cd5e6a97fa3592e90923fd6a5903e3200cbc6c323627fa9689efd9b50977ba1f3c717409592e1b1d2a062652a0c659d328224c5eeca06aeac69b5f50b03bf310d569437b3a1cf2d59959c791427a1677f7b44116021506170813b25c841554229d5a8a7191cb6c6209b5d12680f981cb1324c5b7b235269b54c7c698ea5bacb58c7338f3547c5bb40885025d89007a5328bfb2c11566094f3b432d738d3ea5cd3a45ac98d02e1806a8b8c8428e3a6e60d7395434565c593c01ba37f4686a4ba40a79d86380270cc05c3660476d85464fa55b234741491fa6591216be9661b1f9668a28d3c2cfea6e35e98c8f58b61db458b5895499f5aa9bab470cf61a0c8c429fdb032a545df7da71f9d44894f4551f59845ef1010d54b7e7d112a2e7bb5cf93dba1574edb99e1c1c762ea10ce3ab3b05d81016a31ebf601503445925db12e0f1c6b6a2c6305290350b733ff9295e5c5f2b3b749817595d3263229889f61561c92a6999e9c7d64cbb7ed924e8b8274fc4a61ab16edc481653a05e4397c9c33324baa073b1db8fe05560dbe3c3d677567e1b4be13ca5e3665ea2bb6769a6a97bdabfdc941013e63ccf2986ffa97a8f23c1d74699abb3b4a9ec6442882755f5573e576465b1607636c935784f321027ad6a002d21762b91834f77931437506857a23c899771d1942924a89e77676d63aa12fc67abc94829571134e89352302a9535025d99c16c2c3dfe62594aa395971be4b808245490b2d27298793dac01021f425d3a5349023abe3cf1272fe6f6469dd5a5c002c62f10cb2eb51b48b226dd716bfae2afd6c8e1a9e094f9aed3238e1ffd5c73c9ba7de943d6e7eeae55f4db5edf2eb1e43b217adf87a3b2e6a063
+2621d674dc46b84ed5ec855dd027c36679561260211cc27e1c6978e0962adbb6
+Ciphertext: a0fb590eb8fedf09a4f0586c61b34207785d802dcb9c25307d457bd88137ade9b4bf4a57ecb25e9603a11402d4ececa2315eae7fe9e1615c5e0058aee27dfd2a299db9c7e289f4f8b622fd50860f297c7d689eb565440149dd9dcafac65bfc2ff7cbd68e22264d3a12204bfab4f757884055b537cb6162fd1600685d7585121c519d32d151f83df757a0041877dae16d6833b675289729c96d98196366ca1b80e0949c09aa76b2ec5c61b10b50179a7839811929b7037d3f3463e23475ec66ca8efbf65b2443ca89adb761ed721610f51ccc97d9d17b6c915d2268ac51cd731507f425ee74e92f8873096b4c0217521ea293947e8d0e31984a272ab32def9a4854b59f48ccb1bf9edd4c9821fe5e75d45ccdd4af294f914f40ddf265bacdec9adf7d7c8a53aae078244cb95693129b9796fb2a7b41bd4edce989d74364df520a6d381e1d1e59102921d9f3ec1386d4ac4779cef4a8fd3b1fc88597dd92a2297c8002b0efb2be9c626449718f11cedf5195fc35fa5f3a50ee3b6bd129e0facfc6620a39c5fcd66d0b15b68fcc11a4d0b12eca7c52314fe85a02c0c282d3bbd5adcc7a013993560d91d394464fec86a077a5ba637677b54b9de19ddc1b9887fe7dfb0b2e39eb090b8e5a4f2229c04e682dec3b14eddde450cd323f197081148bdc1b3fce1c0894edd82c8dc4dfab9ec03b44de77db077ac19d3c3d4892bbee800721c9f5ab0a9ddcbde863fc403c90fd90c1b9c6c88001cc2f5aa00597e8b6b3700f6eb00a465479e2fa54da6be89395d1b740c3af4fa1d865867887e3d5b08f9a45152ef46e51a998de6aeeafd81a38a8819df02f735e118bfed4ad684b183c590eac528545dfcf5a1808dd12621d78ccd545c0ba8f2b71a67c018c4b84d7f76ac8d70499e4765d6192ad7eec06c7bfe4cef5103ab0337730813a283fe83dbb2669d941fd2110f49cad436a2b296c991e9824ba874fcabbd81602a5c4988256a9d1146b2f882be4d41e2ff40d7309d596f9d8d7779ec514b414c980216e24b006a9830f32136763fb195a51571b425a7151f5f83029a39c7cc2e7a721211c16bb70b6c2bb7bdfc7f3860ed22c9d1d3fe26d84fae60751378f92e7dbb3919452fae00cacd7209011544e25fbb1ce9968f3aefbc6645f67af34cc490a1fca1e971ca545b882ccf0096383fbe6288de64b85238f772b60057ecdfc8541fd706ec9711c1eee93d1c934a66fc26591329cf1210267b80a5e983ef799f65ad0c7faf378c76762c39949f20a30615fc6338866059743e6fce3922f8ec2211556b7a8905154acc1e16ba99288ac1c097b2cf456d2cdc8674cdec4361428092006af330a1da576b98e67a80b8ca5935b20f48c79eda5af00c9eae1f0f870b6161e3966374725f00173eacc6bf27af13a09f8130d98550a872bfba0e99296c60c763a998cf7193f99e882b7769c74dd0201a0cb64693badf64a795b6940a4b1a59c2992dee95720ddeacf2e70c239481c5c9cb62a37955491d4f96fc4da21ff5af6431d9957
+Shared Secret B: 6940caa08ceb63fc2eb74c0fa8d61f151545e8f8b28ee0bd6e5377e6e9efe544
+Shared Secret A: 6940caa08ceb63fc2eb74c0fa8d61f151545e8f8b28ee0bd6e5377e6e9efe544
+2e08da026087c36c684cd6b6bfd73733986f9d38e9064e96b02ff6e2ed418affa4db6d69094b9e09299379f9081c4bf3a163dc1b775890a6bf641ae4b08eda21521e46cc77f086251a0985ea3e96e091924d92fc914550c28acdf132c06d7d977d103f9026a0bb9afd5d1f16d86b0d9a66475ee82aaf4ad562cf086d73ad100832a26b41874dd65ec7478ee9ebe553c86d5e2263601ebd6174003f2545ab70d28628982cbaaa26bdf1cca1a8c3b3cf715bbe456a107514a2ee38e2515d79e1c579afa14032c6d3691f7ee5df438389b5854f11679eecbc29bf683f6d05dd310e6b6566ec7f12d307480d00b4528173b26ed5808138c1396f6b970b4d088ba4c4c254c7bb0cfaea8218180db2b648d5f27ac27d6429e112ff30f5080a32c09b0932c37f0be9ddee3aeb384a41209973f7142b12d3b37438cb4bf851d34b206aca3973f52293bb52b84910fc3fa2c409e54ecf62b2e2d6bad1990d5d158ef3d0a559c0ee175ccd0631da3f2e88635e404b8b44508ed98657638dccef1d4d61d6686ffa7e603280232e413faa3fb7d46710ee476567cdd06a53eb8956a3fd3aa1c190e9810860916525dad43d243916ae132859743337cde37256a77576b956fbcd5848556c6749e688ce1156c623eb0a746388ec59a6ac3fa04334fbb9b61895153ff980c8b63478cf873cb779796b9c71966ba46a17848b19269ee062a125315d764030c0608ceba4981f0a1e06d01467e4fabcdd8bcbb35a13dcc88008bfe815263618b46d2646726b6504183dde036c9d38d193b93272959629a5bd513fe008751d9b009890bc1bf6d78844471b7a4034ec747bee449bd62461de274e434c32131fc29c365a6b22530b047269920ae4cf016bf6ae9bc80e2cf0fe37000e818247875744807a9a56bae863468c3c96a4df35333cf4f2a22efd60aa1dd8798e17b01efdc2bee1531e1a5c2f0c1262cb464ed1defd4c2111764f103bd23a7c50065fce9943aec3a9a5abfefe1e2ac214b9254888fe2f6545d13c9e748042cd629cb13b73cc8d48329988b948f39450792bec2b87cf0151594df97f6d4645c6a7fb169107f5ff0d9218f2f4d4d3cdefa7cac1a3a28cf236407dfc285d60c1836f7c7a8d5da53accc8bfbc1b2f7d8658ffd72a19cc9a36228373e73550f7957cf8ae371318cf833c6c0b7d9c5cccbcf0c18dff6c74f083925f269c0a71305d44ffefad4cae307a12eaf567c8ab9623ca316adc9eff6b2f4dd8b8bcaaa98ecec3b648f3c41caf7e5091e0b50bf8d54b43efd1ac610b1b83a67aa445779f67f85dc4a88ca7299004e2e9612c6473fa3b3b04cca2531bec3c7c6328117c3406b76aa6d978069ca174157fc00a2d2880c13c7f714a47d6be21e249c19f901777b0305248557c233d9b86854224147998c875ae2d6509c91cd7ae6311e280a99c9a5d5d6c4a12054d0566d5164c3a6f31568876086fc933616cbc1beef3b68b53017c4bd5a133fd8a3a11afd09cc6b68fa9a851f0be69428e724a69f06d3b5b0aedef3cfc
+Pseudorandom shared Secret A: 3146ae413b372aeefcc270009be828f32a1adf1320891dc77ab3bccfa9bbc17a
+65e0711eb7abc4ca8aa12cb33d0b47ff5839cf5b3d97ca0037064b7b8a7609f9a695550b19c570f7c8610045d8a70694c6d517686b295508f202200b981f7328
+Public Key: 56fb6c0523bfb63ccec9b90a9b488af2e50dc5d98888682d1b990003927d793994376c0f2a409757f120e0755af1e7577294576834af016718c7dc9123525c8534b3d156adc74290abf71836b65d14e63124c18edb221f83b1cb52a195fe525f4ef904041183a578abf271a995f64edb7bb9b3395829e83b0197c2ad76a5deeb1d075599369736e1c0889a88ce8567aed4424b10827d8ab394bce29726294bc5a6b63b02a7e55836adf890b1799f3ea4a0ffaa68ef2817f4a27fb9a2a4a15a7f9b4a0fc010bac287a96cfc3f542724dba2cae3753efdb8692111277b472c34278373c61429499ce4f84af0b9815d46897d2577bb1b3a49817c385266c1c471130abc5383b06eb45e630c4975527d27ea47787c623fb8479503b146914a55b0bad92c961f53875eaa02a853acc6881d0a88bea95b68413ba4532c6461a265f102cec26767d002c4dac69a9d018c9d706cdb17cad6558817a33f2dc94253c00864b335511891055342ecd957081c7e2abc2e9cd91cfaa5721a43bcfffa6cb9c6bda06b7576f0bdad4c2140ca7ea366bd3a3158dbd3244b021238928f1aeb4f654385824852a4424a5ca48c8a8919b4b040d5128a12270a0ce9cc63aca079a54816d6afdb0ab1a2423fbcc50814d73ccba6535395287171bce31388119a8c20c18ac0f688a9c5b03a34cebef2a4ece0566024843cf520fcb0030a7069917991ead9ca62f4683a197e8c64992bab34695802e70a418ae3a949207fd93129f8011a97165aabb9a801da0fd24b9bec299c0c694cb1ecb1b130901b5c0cab26af7949622aa94fb82561ebaa716c6929a403aaeaf8c8b4ec48604b836eab492750a25e237843783636d6aa8b79b6c8499b9c38cc2c9bb3923684df5c522507b6899130838677b56203fbc5a717e094366aa575fb9aca0546ca637b6f7a5a6481179eb4543a1a9b70e5748ba79adc434843f055cbf09bb432b35e21341049629379739055c58ac8653bc7b56bccc8b6e1cd667bb573266ad20563ac351600f0a46ae639af6c5731cc9c64018989982238a24f29477b53c311ba0c27d9825654c2992e2c4e941c87269ba3d0e47ee0b356461786e61c7dbf8b8242f4c4f8aab283e1265ee1c5287c25e4945a0cc8c05a246e04d58abf795d487a9183ba35ce998a12e563019999735b43d8087f84064daa812e230256af07778a8a234e54a2b87c4f87e42f21b86301b99ddd37b3c1953c5d302a39019892d3a61785b6fde6091ca53300612d6354a48c5a7950035d10b97d4ab758fa3681a8471f72c99868019e2c19a3935a4caf0623a7840d544396c51b4cc7c77af77919381bb543cc82d10a633fe700b4b83653c10c880ac313ac0850fc04bf2756bc3b1b6b352acd14ca3af604649a89f4c58e6ec7a55155298d765b10f756620c6fe0b05e029ba93d0a29b8151a75ca8251975705f19dc5eb0c4bc863f97bbb6c298a43e626c1a0bedb740a47d598fe4583b04c93c30ac151f9482fdab2856cae8420608e183e572781b50a1bc9a9180dc62ccea6198388c467d7c5a4197a44091ff9b0976fc3153fac95a193319a71c944fb2298a02a19ea000ad5b07c860430bb117f1a1e03e05137b4c8cd8849bcbcf3268bda60a18331fe741f0303a9dec8a9652e9db3f7cdd4e4ac02826e69
+Secret Key: 74341bd1ba90effb0dcb8c513bb731a2d78b12531e09136442b11d8a8c2c2b95138bcc955db035e64a8884f03e4c42385d8b79eea01055c570c8845148a233aa85cdb424cdb61c75e91b3ba6984a4ce01ec06b6ba15446c7cb6d2cc637720b675076602253be3878b030d32154283133b993e2c73e4a6a5dc2ca23dff8cefeb68a0620959c20c3d3a46b3b33904b060780386a058b99b7e25e75b06ec3294e343258caf3b2542b4bf8b2c50a9a79b2f9c0b8e5018c5ca0eecbbf63d423bab20352032ed4f61c26096d197b08e510088a51bc3c87a71aa41433f9a2c7b6871abbae2a58b4a52850d4bc515de7cad3473235137cc68a0f2e2ba67bc161be80665f2243ecd511e0856de23746cd791689391bf4e6219a238d3d915bc89a5c87c07e048b61a6422c224038f4dbcd47f778fef5c5a0b0240663c0bf1bbcfa8803a5b5638aac6fbd49cb7dc46214393081601b8c859a83aab1a4396979696e0b6bae54e215f55641e1cc12357bbf97c10591620488a376cee18cde0bad3233a36b1b57397c371c48697a26a233fb9bb9497e6ca2a1f3726261f6b1f1a7011e5787d3a19fc89b460560b4d6956f30928cfb92840858c32a333ffe04acc3162e979cab5d301e05b90c6c8b52339c046403005b22caa8d80f8e426268e22cd2aabc3c159d5b6ba6b5aa64ee667e1b55381db9856e7896375a52e9a31e1488095e28c1eff02471268e214426ba25662c50b5a70bbcc27b750893cae41510259a675da58d7a638e1ae07c709909ffb6569d41a21851a8728329a348abca64a3566303be164383e44e1bf78f47c5293b8c2f74489220dc12287876afc361144c43123a52c17b2c4f396ab051c319513e5757baace66f02da52053380d80783924679fa665f97c57e5c440207a966f4f1196778aadea794115713a120cb6f2a6f71973d52757aebf28f4414af540c750c0c208fa6cde5460a35880e6e9091af54a7e9a569769686620b665334a9b2891592015dd23162f325215540206b0b7b34bbb349b3c32dfcb37d49c0d5736e8877b7b50b75446b15273083f6470437f9576c38bd031866c8923e67823a00ba4be357b6d29c115c25a2dada00dd7184929ab8e2f6aa91f4256fc42bb0753223b61e0ab0243fb95b658b149eb33424353354d8127ee725a0a91f48339aa95916527ab658dc943611ce27e16886b0ca0cc6a5b281c874f880445079538bac7c54ab7dd059259818d4ba0d77ba8b9e8a2ff716b5674a0466c571e1314e01a8a2c7938146977532319c13631f0c4359e9402529853dfca159489546487c2fec611f3070ba64254289e2c3d62a8d94330077aca44e735e58485568715086016e10025f0f1c0a852085ead6402c998150f0ca7aba96e7b3a434eab591e9cbeb5603d17125ec7a3432c29c63cb5214f284e524b1b3a07a77d9c27c960d40319c2767ad2a419ff406630f9376e3eba62090449871828ac9008bd9817e8ba5844a8a63928d2581564464c793f1ab16c8360d08bc12556b180212138a9346aa91065612a452889f6b89ab18704739b5afdbc8692626788304f8c015a0a644c6b65945e67a7271b04b6c48fec49088da8e28d374a939cb0943a44b057056fb6c0523bfb63ccec9b90a9b488af2e50dc5d98888682d1b990003927d793994376c0f2a409757f120e0755af1e7577294576834af016718c7dc9123525c8534b3d156adc74290abf71836b65d14e63124c18edb221f83b1cb52a195fe525f4ef904041183a578abf271a995f64edb7bb9b3395829e83b0197c2ad76a5deeb1d075599369736e1c0889a88ce8567aed4424b10827d8ab394bce29726294bc5a6b63b02a7e55836adf890b1799f3ea4a0ffaa68ef2817f4a27fb9a2a4a15a7f9b4a0fc010bac287a96cfc3f542724dba2cae3753efdb8692111277b472c34278373c61429499ce4f84af0b9815d46897d2577bb1b3a49817c385266c1c471130abc5383b06eb45e630c4975527d27ea47787c623fb8479503b146914a55b0bad92c961f53875eaa02a853acc6881d0a88bea95b68413ba4532c6461a265f102cec26767d002c4dac69a9d018c9d706cdb17cad6558817a33f2dc94253c00864b335511891055342ecd957081c7e2abc2e9cd91cfaa5721a43bcfffa6cb9c6bda06b7576f0bdad4c2140ca7ea366bd3a3158dbd3244b021238928f1aeb4f654385824852a4424a5ca48c8a8919b4b040d5128a12270a0ce9cc63aca079a54816d6afdb0ab1a2423fbcc50814d73ccba6535395287171bce31388119a8c20c18ac0f688a9c5b03a34cebef2a4ece0566024843cf520fcb0030a7069917991ead9ca62f4683a197e8c64992bab34695802e70a418ae3a949207fd93129f8011a97165aabb9a801da0fd24b9bec299c0c694cb1ecb1b130901b5c0cab26af7949622aa94fb82561ebaa716c6929a403aaeaf8c8b4ec48604b836eab492750a25e237843783636d6aa8b79b6c8499b9c38cc2c9bb3923684df5c522507b6899130838677b56203fbc5a717e094366aa575fb9aca0546ca637b6f7a5a6481179eb4543a1a9b70e5748ba79adc434843f055cbf09bb432b35e21341049629379739055c58ac8653bc7b56bccc8b6e1cd667bb573266ad20563ac351600f0a46ae639af6c5731cc9c64018989982238a24f29477b53c311ba0c27d9825654c2992e2c4e941c87269ba3d0e47ee0b356461786e61c7dbf8b8242f4c4f8aab283e1265ee1c5287c25e4945a0cc8c05a246e04d58abf795d487a9183ba35ce998a12e563019999735b43d8087f84064daa812e230256af07778a8a234e54a2b87c4f87e42f21b86301b99ddd37b3c1953c5d302a39019892d3a61785b6fde6091ca53300612d6354a48c5a7950035d10b97d4ab758fa3681a8471f72c99868019e2c19a3935a4caf0623a7840d544396c51b4cc7c77af77919381bb543cc82d10a633fe700b4b83653c10c880ac313ac0850fc04bf2756bc3b1b6b352acd14ca3af604649a89f4c58e6ec7a55155298d765b10f756620c6fe0b05e029ba93d0a29b8151a75ca8251975705f19dc5eb0c4bc863f97bbb6c298a43e626c1a0bedb740a47d598fe4583b04c93c30ac151f9482fdab2856cae8420608e183e572781b50a1bc9a9180dc62ccea6198388c467d7c5a4197a44091ff9b0976fc3153fac95a193319a71c944fb2298a02a19ea000ad5b07c860430bb117f1a1e03e05137b4c8cd8849bcbcf3268bda60a18331fe741f0303a9dec8a9652e9db3f7cdd4e4ac02826e6927e225803b5f53f40e3193eedab6d90610876d3c1316119ea880c3808b7e32a3a695550b19c570f7c8610045d8a70694c6d517686b295508f202200b981f7328
+8a0b959a9dd8f083efb274ab68e02bfcf675e123dfa2ab5edd8d827c6824dc4c
+Ciphertext: 2383e9e799aaf61590ee0bfd3d0516d9c36b37520c5b55cfb41b7aba5ce28593e56bdf40b9a5dfbae039ce3806abb13d5ca03eedc4a3cfbcc1ff4131b08efa64ee34d3866f3ce4021e7ed2fc32a66eda87b6b68b6cc35821ca831f6109f7b17b673e30a7d5551d11669a53a9474646290e27e9cb01f586fd3595b05aed1c76fbb822d3f0d4f2760b8d8a74aad3ea5ad35f3da96c3dcd6f85b25970eae740c3900c937db0b1a3f17528fb81f97cc3162eb6a4772b8e0f8ce097a9d167c616d6f9d4e9ca18cc1c549853afaacba5620386396db5f12b359e8175ea5bd52cb9880fb5bb810419753e204f42bbbe1ef5dc6161db44a1ffcc3fe2f93045170a3b062f6d072e23c137bff08c79c92442ffdfb3418dfbef4ab1544fa8de4f38ed8177688cc86a261fa70f8f87bf817ce38d102075ddaafc6627315ce43dd767705a30667c75d57892351059df64abe86a84f5b236cf9dbf55a885ead9b2ed9c4bec3c57ef76b78c86cdc56b90c6c348eedb137ca4e2c7e4bba813bb4a722765a0aa3b722829d46246a2c9a1d5d37d201aaf347b4cec37a1e2a06e977e1ebf3be0ceb488e34b8e678a466373df69e20c11f0da057f90375516382e1f6d9ce2ebb4c7ba5ca2a88558119d1a89b28a8fa9ffa5332eee587914527d5d6b9545bb9574c022bd79ddbb6f7cf5af0ae319327cb1c6ca64662c9ffb0ddbc4c9fe1611dad2048e81628354aba2852b0a5bd7bfcddb70cecb9ed1ef5eaa4a1fdd000b5a4becaa8beac4f00983c4fc1ad1db88466b3e413c0b7de2f1de0c76b20406ce08be5d8d1421fcc3488a95b6d97144908aefa0b238c1d9cc03e5c6a836ca9c963687bfff3e0cd44b5ff7fa9ad76a419efbc4d4dbaf4fd6e66c5dd6e75f70eb4f94418a4a82dc0ae38fb3f794c71405cc6fc8485e1fa809d0f5ab5af193afabfce489889738ba922e529ae320f97dbc2acf02c65cadc1df2a4685e56c8c478b0c20b31de6a56f4973be7cffcfb0ff73cf41ee301fde572e2952b336fd2a51ab53f08bf82b1474fd97e9ff54a5858c85f367655d09255b717bbf9a961fa12f010a01619b0d88bef60b5063d91a5c997395340bca415dae475bed66cf34f08116254146ee6f59b00cf6b26d02cec934ecfc621e46ae785154463a6fc7bf36cd717ca2763e102636868518289ddb5c1d8799bfcab345f863d894f719cf9940296702a2ec35d9775396f2f8a501c50bfa08a1757e71779f4388f6333fcf9ae83a6845a4205016dbc7c725ac5635d93e299e3779a0c35a8136c9c290b9a327f99687e04881e38a184098e3dfb582c556007fc7d96e0021242e79506db0d8a96562436f6b1f3f28d173fd53b001d0abb873403329e6042dba94dcb1f63df5ee7c2f1fbd055742e3b5719151f26530b16fe9608b43ac90d819785787d8d7f86e7dfdd4dc3e341d5b6a18757454b5b72fa220669d75576c89f55eb23c09daef0315f8f6e617143673b61abbf5982c781253507c2c1dfc5f722f5d98057dd4006963799389e8d67fe406e9
+Shared Secret B: d3f264215b470a6e4766b726747cd904839a0351581351c229fda98c7c0cc49c
+Shared Secret A: d3f264215b470a6e4766b726747cd904839a0351581351c229fda98c7c0cc49c
+8da5d1d4f8765e98080a99c29569f17e8bb10307d84cd57cb80b013b986377b41c089c8aee83abeac63b2a92246fb96561aa87010c821d44989be8d3bda53655a087ca7a70fca2c924941de320f58311ffb34b70d725d669db7cafe9d4e06c8ca4eaee83f98014f58f8e1b5edb34359695809e24fefab2effbc5e7ffcd89685d66f36ef1e0f7379983bfe7955edfadc65a9569f838fac34635c2a7c702459c905d471a6cb373a1e2d66955330e20ab7d99582aa65ee1215606e95812acb39503042623c92577858630a1993a23afe67c190bc354c6129618871b51380daee30a20eacb67d84a085093a582f10d744fed810996ca7d352b9cd1ea2532bdf5e32bee4d408fe7e9f523a642fcfa19e029caeef2a610a1e5e3cacba8ba88562c6eab6a999f1960bd026fc1916bf681e926821138834a2dbf687813e844a149141bca34bb715efa55f3783d02ecf1572d7c9a0f04fbbd39469cd9c0ffee45382a471d0d8cb7e1f0e252a52a17842374e89efd14d2b39d672dd1a336028e28f4bf771b63a95c7cf988b4457fc9527bb631d18eafc16a2ca9f264b466c8ab6e8279bd906842037f8a2707483041739b2451c058ddd1091c4b6e971f40370ed784a5d966acd86d95d878ac8e1d1772097bdc5353812422855a79bd8b28fd7ecbc4f3064b620719f6b1fdf5c32ccdc7ab70a199723750954850578e08f19dc8976a61d683efcacf5b356c27cb16bf32951af20cb6aebbdec2bc8969ee2019431ebd476016847e1ed792a884b74dd0ea486da1ce81371ebd1374842b7caf281a74904eaa6c7b87365eed30c834c70526deeb7f6c2331c6426c2d572f51e3ba824bddf9eebd7d869a4a20325eff715a2fcedd907b8a4fb55c869399aaed052dbf2b719ac8d006e9dc5b070e814c753c1c1c128fe0671415f55d238dac9e368560975ce1e50eed2d1744f4a4e98ddb6b879fad00af411066d388efa8b1bc0fde51a6ededd60b62b8d145b7d80d8258c741a8e872219d667e0fc2ff9807051c67f527b344898902b3fe8eb18f7d2939f13e171f403aeed9e874a475dc532125d4ab0b1140e9ffa849a6bec70a617fc4f9f8a58c28b51f98ad13bc70fdc5d0e688ac14bad096521b42abaecc4a278d79ebb4b8479700af7459c33a0275300248d29016f8b26f616fa0c07c94168fd5a660cf924bbca2dd4193df381425e0f64a735d9e990b5478bdb64ecda3f04a6479bc3f7421db2b91d5bbf59e18380a0fa0a7de8e210c34ea7dea0eb169d4dcc08ea195c69e1039140f3d7b56f51827a756800f2ef295412f56e5025516eb837564b949988706c1886c367352f5e55c5479e503a87d0b06e1b2eadbe5431bbf04866a80a394a799be281cb1cbc4db637118f68a502fed96bb940d202b73ebac8c77e7d78a2fc16a39d73615106dd8966688efde4f72be62d5acbdd19fc2f571b8452124254eca714281b44279db63568cabec1fbd0640766df81f92c64941c696522ecb2a7012ea66220c081a31ed6aa457209bf365f5b8ed
+Pseudorandom shared Secret A: 0058407b28ed105388434966c1533068bab680bb39cc2ceade3c73ed1cd31bf3
+82e80a4cea2d3889dfab6706a04d7e53fac0fd96bcf4b9f932198bd0da40afead526ab8c26afa5581648c0a8a8073b2fc66961669f31388e7521cc41248b66c1
+Public Key: 8f8c9bfcc28f0c50342e71071c6a2bf05a899355a3cff040a58947da83821ec046a985aaeeaa85031064e2c858b2b677c01b433ba7325d8c43c1276a443509a8f242171726307466e2f43203297faeda7ae5004dbbb8b5ba0483f12211d4856e8f15b99ccc8994d503e9eb1f6f1b26186b557259961a9238d6e9a252d9b8297baefbca3e8fb493907220e5e320815171576cc11f19724eb41d262751a809b6aa4c294894152464c92217ca117581a3606019163416f0cc097b65eab03c3ca50df6a22862533192e35d361bb0dd749225d06a8cf5ab9cc6a49be697d5407b0f43058c90392781b9d9dc4896e728aeb3beb22a414bcb5f202cc16c9b76f9e670c3657bbd8559ad3686843c71ba1c0762db65b0f572563104e94c3343b32b2b863102e78ced3bc49a7810a0b4773cb07142285924e896f7ba2c148452c5d278d6fc20589cb18ac3695c2879fec39499c846fdba7e2b90b7e5127958d63a6ada97840608f3e8265d43c5ba2b6fb517afde85063dcb639ccbb5eba5b46f5cb77f9243de39049adb13aca1bc060a6829dc1c09126289185c4a3241afc31e56f1c7317496aa4489cbf96a45213304200258778ce5054fbfb80beea4318735476cb41ed1b830a7204badc6c10aa608c2d70171134f45a00bb808066ef856c03b04edd922007a88947cb67e313038753109b399a376b765fcc50c20445aa95cc6c53e038760a4b417b7762f503893bfd9ba3a81667ac8499c888fb6b37b638aae02da59a1a1405f084db33c04b80473c77b354e9615bbe1c76b0ca5899360365066a8ba39d6a5c273155ec3face1d0652151346c6e8cb8c47b60fc215b0761822b02ccb8c696c5152072559b8f4a1dc2467816c7244782132a1776bdc2e17e749bf9742e97a10ac433f5afb72af629406bb6b25b4bea8f8c10cf937bcc57b734a61e6d4b6b4a55bb9822d54d419cb5392dbf373c9ac0d567ac2cf26346435cc2bd0b205662d68029f4e624361e530e0c1bc0194290a927fd37ac7698ac6dab74a00f073f33022f01b80b20b4a8a8425fb3a18fcc47a3e401e8af4b1e612aa91e66aefe5512a9c4e0f871f6493c4641364aaa67cc977070da625cdd95ddb48431e4c7aabf07c1cf8a2f9a734d8595e6a458db64c3a7cb1050a79482d5976be602a09b087f8b606c5cc3976516b527b59d0066f0bb6cdc6bbb8d0e8831987abe5e51dcad0818b277e11d86757e5c0efd28498256c39243259d1ab04e30b5c209f1f99353961a904b7a188368e8ca8888f500386e1148fa6c29b118652aa69d4abbb6ac97f1bf78630166bc04453395c0ecd37358621c76238714f67b8d2f4cc884527fe7544fa2b95ac980a99378d7ef71e3fe92adc9299b2c40684403389ab0d4b40690ad875c7801d9824376fcc52a7ea9d264000673a9829f16f110c93d6a0b124d86c9f425845535ce4ba9269c981901928731c6af0692b9795b67fd2bfd40743689810dd441d26fc7d4e7c76012381189878bb5bc05d98285ea23c94d203aec587a76098d139bae4e25bfd8a8d3a12b1c833c84e802eea0bbfa8b973fe9ca0cda1ca5280a144c01baac34fa5f4cc5b4964dc58075ac291b45c2b27ab1061e4031b60bf9fad64c539d154a4b3cfdb7c99aa960751a52a4640956620997684bdde0ebc0c
+Secret Key: 9115cfe4f54b3a4a4a1aa08e57c8bb45042e38001eb3c79883c912c898357690b49f8391ef21130743a2c018ce8cea7ddab280b368857fa57d39f3b81293c96a4883aa171c4be5216112465de348fc04216ee429f0b9097fb734f2a93946ea9511217479622e60696d23682a5be25bf08918e36112d7086c2ba9bb778791922683cb687a66a671a62c58d114a079d3ad382073797719fd0744f70230dfd00bdf093d74aacd547900396a5aabbb7019f9a2c3accaa9a3b3aa8864314a1774371ec81b42af3c9df2b203b1f80ed6cc2e7ff7c6dda94c62520ce6b9bdc618220fbc2b36d40de697b81871c41e994773845c213cc1f8081f07243db35a941354725c0137b2e80eb2b084f83a3ce1d9a183f7b7dd77016e723532d09ba71c6ddfda7203216447320637723a87d8cae8ba4b7281baa826004014815e73b6e44b3b54114acc74c19038266ab234e270bf40f688c3e8c977872d2c25ad6d6c2a56fcbf933502287a7626b0b616b32b8188c69b55bb63732eab0617c020342fbac1cbd27312c692a2879925f4b5ba097a6764aa652c9d39bcc6db8bc7063186e69671dbac4c123439d51281afd257eec9c0f74a2c2063b493890044e63f55045468709c43725dfad471c1e792c358389185b655cb6bc6a3807383a2de48c02257ba7870aacb9173effa2698db9447814083746081d4b6dbf0bf0bfc08bf9c3f7e865790717017a79dea0818271973fc34a64a68b7da9917a819c34507c6787c8d49f0223edba154e766e26b7ef819733e9400766a8bec5c30e18819798c3a0fa27d08769877506d133533de04b808d0cb391800b86b9842278cf4c98d62a90710cb9995c92570ab8aec54473ac5cb5b0659638b9553372c5a60a30b597813d6b5a87bb7227ac337d7423ca37285316320d943bcabac586734d2c5814b0075db4a4a9da70b4d55135862756cb3a8cba70ef366510d4a4b8d874b82826d908036328459c24061b52cce97031f2ef16ef874b793b76bfd7443fe1c7e557bcb14088715dcb459e31d8da8723a8357c3785e378361a62003077921fb44b4daab0cf76c4ff8c78da9ca486e91332176bd51585d3e39544e683d221b67551b125205cec502c6c1d3a2189514d8a68ddaf435828636f361b975d80d67086838199ff0b873ce255a51195bdb80b13723931e4103411369fdb4ad64dca179729559e30bc6065da96a2bbfd192ae62b25593c763863282d66d34f6867ae45816d97eeea8ad7470c7fe3c080a52cb8d4118b225ae082659a78a48b029c81c35543fe3bec6b8a1876393e9344ccf42a2df265b4e81c7323b0760f714f36298b27a3907445134489e34a510192263c6813dd4528c457b807cb11507301c307bac99ca7c3b4cc8fd971dc577bc792707d9c5afa4ab7ca5bc6657c681af807676e7b3a08a1c8419c346b8147f898156b5a4427743d05ab7a8e47d196a9241b38def55806237a4006c1765a896a4dc366a0b248506ceb32569c056350253a63370a818a4b5e3c1187fc0153367bad577308ad65bfb40238c037f5580ac18eca094730d7d5c98beb71bf8f29a4e993283ec145ef8177ea43ee1584a13e6786a320bb42b1c3f816d6e8036f031a08f8c9bfcc28f0c50342e71071c6a2bf05a899355a3cff040a58947da83821ec046a985aaeeaa85031064e2c858b2b677c01b433ba7325d8c43c1276a443509a8f242171726307466e2f43203297faeda7ae5004dbbb8b5ba0483f12211d4856e8f15b99ccc8994d503e9eb1f6f1b26186b557259961a9238d6e9a252d9b8297baefbca3e8fb493907220e5e320815171576cc11f19724eb41d262751a809b6aa4c294894152464c92217ca117581a3606019163416f0cc097b65eab03c3ca50df6a22862533192e35d361bb0dd749225d06a8cf5ab9cc6a49be697d5407b0f43058c90392781b9d9dc4896e728aeb3beb22a414bcb5f202cc16c9b76f9e670c3657bbd8559ad3686843c71ba1c0762db65b0f572563104e94c3343b32b2b863102e78ced3bc49a7810a0b4773cb07142285924e896f7ba2c148452c5d278d6fc20589cb18ac3695c2879fec39499c846fdba7e2b90b7e5127958d63a6ada97840608f3e8265d43c5ba2b6fb517afde85063dcb639ccbb5eba5b46f5cb77f9243de39049adb13aca1bc060a6829dc1c09126289185c4a3241afc31e56f1c7317496aa4489cbf96a45213304200258778ce5054fbfb80beea4318735476cb41ed1b830a7204badc6c10aa608c2d70171134f45a00bb808066ef856c03b04edd922007a88947cb67e313038753109b399a376b765fcc50c20445aa95cc6c53e038760a4b417b7762f503893bfd9ba3a81667ac8499c888fb6b37b638aae02da59a1a1405f084db33c04b80473c77b354e9615bbe1c76b0ca5899360365066a8ba39d6a5c273155ec3face1d0652151346c6e8cb8c47b60fc215b0761822b02ccb8c696c5152072559b8f4a1dc2467816c7244782132a1776bdc2e17e749bf9742e97a10ac433f5afb72af629406bb6b25b4bea8f8c10cf937bcc57b734a61e6d4b6b4a55bb9822d54d419cb5392dbf373c9ac0d567ac2cf26346435cc2bd0b205662d68029f4e624361e530e0c1bc0194290a927fd37ac7698ac6dab74a00f073f33022f01b80b20b4a8a8425fb3a18fcc47a3e401e8af4b1e612aa91e66aefe5512a9c4e0f871f6493c4641364aaa67cc977070da625cdd95ddb48431e4c7aabf07c1cf8a2f9a734d8595e6a458db64c3a7cb1050a79482d5976be602a09b087f8b606c5cc3976516b527b59d0066f0bb6cdc6bbb8d0e8831987abe5e51dcad0818b277e11d86757e5c0efd28498256c39243259d1ab04e30b5c209f1f99353961a904b7a188368e8ca8888f500386e1148fa6c29b118652aa69d4abbb6ac97f1bf78630166bc04453395c0ecd37358621c76238714f67b8d2f4cc884527fe7544fa2b95ac980a99378d7ef71e3fe92adc9299b2c40684403389ab0d4b40690ad875c7801d9824376fcc52a7ea9d264000673a9829f16f110c93d6a0b124d86c9f425845535ce4ba9269c981901928731c6af0692b9795b67fd2bfd40743689810dd441d26fc7d4e7c76012381189878bb5bc05d98285ea23c94d203aec587a76098d139bae4e25bfd8a8d3a12b1c833c84e802eea0bbfa8b973fe9ca0cda1ca5280a144c01baac34fa5f4cc5b4964dc58075ac291b45c2b27ab1061e4031b60bf9fad64c539d154a4b3cfdb7c99aa960751a52a4640956620997684bdde0ebc0c642b41234c1268d74c0448cf669ed122f6cd69bbaa10d5ec2129a1aa2f05998dd526ab8c26afa5581648c0a8a8073b2fc66961669f31388e7521cc41248b66c1
+d673d4428cae7534f094d60b4c5b492da4966ceccabd2dc71a9a4f83609f7848
+Ciphertext: 4bcb7debdb172afbea4ca476789f13190368a90b20f45a4b69d6989cb6b28e3620af1eecbb8181a4cac00f08283ef5290e1412b09b93dcd453e6f26a21d2545b2b6226269dcad7072d5870d1f4050a8441d52903298a6ad817f058bc51c3ca1125f5469f6ca05dc890004acf2d5a50025e304837ef4f7fb60adb9d4a4017c8c883c5073e14f4f0cf0880cb753079f970e0ab629a55141e02fa54bdfa743fbc64c0f5a6e4da05c5d8d1bcd4bfb88e45be85e12289537fe4483b5efed99a0b7c39d0f18a5f77d9ecdf1b9ce11d7a64bdb90a9a42889f50fe648f3771fe7a3f471fc761308d94c79e6966e7bdad23886874cf38d42eac518d5ad05aa948223ec0babd44a5fd016de966ea0f23536d25d81b3ed489ddd1c9b524005a51e8683d2977a31508d632691cd661845f979b4298d2938320406b2571fa64ffb1efe6c3fb00826d5b7b1b80d3166686f5731638bb6e040e65fcee3bc72668a6ad2a59fe1832f9c8071c41b0acf4f800380111daa393342351830dc60dde8d0b82123f054967af7cab076520dbeedc3aee12655691582148781213c19fb2c6e7d4d2121991061cb96b5c5fe2a28e82217398ef195a1a8eaabf294dd7c7c743dcaa2b73d415e26dcb33a76f04eb7c7ceaf9aa61f4bdc51c8aeaff8889c73f571096a9078d7515bffd71dc896f4a919fbc7cc098cf93b2b43fc7906743ba65ef30b25da453ad737ad2bb72053dfa9a40ea08992244bef45757b043a2e1faad483d3b6ada9a31fd9576885911920482414876f6c0c7e7c701a58e87dd40ab20168798003b73cec1632c21c01113a79920b32dcdb3b3ab9f48f7cf30b3d12b34ebc8e2a8779f10b7e6f065ff6c867787a6d25563b7ae22b7968cdefe8579a6b35eb37b5221001ff7814d32b928bcaa0f5b5292ba42ce851489f419f81e6de2a728fe6cfc2f6b460777ac3d8396d853cdf192092c674e2148bda2b9b444d5885071365f46e00ebaf9c8c6b811e8d7b642086aa9ace9a892b6a34e5ccb97fe638dbe8bb5c4e2432b43e1379085242decfe317b4aa4ff111abfb753c5a57c20aaf641452eaeee21dda1f793d36b5a4de38a93c19364ce04a6417ee1a841f358c5f6a9dbfa24c5911d756873474521b3403c9fab184a2938d59d43791d083fc8eee4b77b36967512869ad2778c6dd1a3b6312d6315934c1dbb34b518c1114fd2ba7c6a6fe8672b4096f280daf8c0210299f8288250191895b0983b9326a4bf3058ac7f0c3d6ffa095965a929a235a5555910e482379b4b8431c0bff70ef78fabb343d953ff184af8709b7461aa65be126a1330b39cdaf4ee0660f0b61d5503e72fa168b6f508ff6c20959d9088949b11481f6aa5617e414f6ed9a0ed68a846cc5dd1589a312b6fab72b9f4756e614b981649befac6d610742ff361484546a7797b985fdc6ccc96fe305ed547770eb30c5598488b2a3a8b605c924c905480735f59f12a831d78e3a0d2e5718ed6446827e7e2ffb0a5e404fea04fc40a895d9de271d86146bb4b997a2df2
+Shared Secret B: 658544b0da5b7bdb9b3ab486b00dce2fe658d6249329a3d74100d50926c9ec63
+Shared Secret A: 658544b0da5b7bdb9b3ab486b00dce2fe658d6249329a3d74100d50926c9ec63
+0a62c07f8f5ccc18f270892c55e0245564ff35a13546adf9ac0a42de3545e9b428ec8a91f7bced3f4e3310d49f12918dbe4abe1e8d203cbfda62fa49b61598ea0933cab3f8bfc2a654bf319c01ee91a3fb00d7d5627a73df7f8f60e1b00270f4bbe75634b32ad2ed369e61fd59624f27a8b16de8dc1042df9aaeac2da18070468b6a034127b64220e46a555d7b44cd62127d4a6d6aed6ffa4795f69eb911a8f477546bb4316ecba9915b24ba63a1cdaeab1ae7ae416a2c62ba197686264a9f046c97c997dcd7402bda07d0337e87a9892d15041273504ba6b23fa98092a7baee606df302f38d9abb6e585fefa390d9332563ba5a8680b4137612bd333e68f7e381478d92f86549d300e947d2f69aef7fae8a1f3fec93cf6eddb982dd1aff22d1fa1981fe15054d2b455be6814118002b12cd7672ab7977f2963c3744372ad17c69298e9d9aa298b1bf848e0518b04dba7bf503bc9c5e0c0438adc9e9ff72eb1ce965b19f3173c474bc53394645a922a876c44152a8188607d02cbe1931fde957bc6b3d80a939feb94afa6acae9fe967ede2fe3460c9fafa148049a56e741a2fb311030bb7ec8e8f77d75c9dfa7098cf538b69de9642c42388e6d12c5fc7b8048876fc49b1709eb227390948b3acc7180b051c42f80dda69d82de880de260b9468ff85f2e9534d5344ada5512639dedebd8c330eda4992875ed5f37ca20a9fb4fb9bb898255a5f6074915a451b2f5197cccc8e6a9346a03c35d4275a3cdb38f673e95f561f2decc4a935879ce809c34d98e52aa7a812af7514bd5d4b526019691158f89b45cbda29ddfe55aeb91a8def415a471d0cc475e1abd0b548bab09c89e098aee891f508b45f05a5cf144d9822b400ccdd89079ce28c0312b5585339075b6c244f126a81cd487ec81da2ba6a93016aa2ee76dad288037962beef1e86500c98c5f8de77eeaf6b96176234727a3e63103145a8a54c5d322dcc95d600ef7a1563c695222b26f92e056e628c1e5c2ff36d78a26d22fb39bc7d2393cdec6c2ce3837b0abbd103d406f90f9e67489a352843ac5cf8076551c04c4917e1ac54380f2444b90d188e431c1878af2fc7dbd632009807b228ad1b78cc262403ce8db118c895621d09e8e5f61287f59048dada68fd7182df60904ae47b71e1da7dbc18e56b414d850585e9fa1cac8b7360f20dda96c8fe32a6fb416b4aeb50a6261b2a9f69783397f75638e5abeed1ae2b8a2c2e6597024161b216607c6070fdfab6c73649e286ea8c9a6f13e47af0fd32c5fc4b4a61eb4ec9d35b40511fb369f475ddcb5edb426ac5f3a30d6304ab62b6287dd77c1dedcc8a818d54b0b12fae794e3471fbaa9f57a02de9a0f4208b2e1dec50bb9b20293cd611bdfa96843d1c2dcd72de3705046437d7469f243070a3122f5b4c69916cad45229d9e2edaa0a7c8c5267f4ca8281ad2bd612cf0e00a0f76669c4b12229f222fed5cb01e0c67c2848af0d0b87b24c4fb8cac87f90f7b1012f79c885e2c0c35f29148de9a4b79861555374
+Pseudorandom shared Secret A: d0546669c091864f7d90bf464f84aa69789fbc76aa853c07dcee22a2bc5ae5dc
+1f5dce325b22a94e6f97aa93e0cc6904e6dbf9f96a6cd3e49d33fab7fb67e01fa8a0116194e469cb3519dfdad40d0b1de2e7ecb2777a4961e785ac8bcb337943
+Public Key: d2aac176c92ac193062d0550346ca53a8cafa7265523aa086ff74fbf130a2362bbb497a44a6b21238c3015389606b65135890f92242f036b955de38c7ed2b7ff6b0b154ac9b9a18a3bea3cbbd167fb259b07d562fa60aa00c571b5aa1c1f6c4e146317088a4e0e1c2e211ac9938b953958a3d70bb25ce29fce39625de727484b6416b076be069b80a15c65192e62ec9a1da4609255a8206357ab390ba064219f819ff971b55afbc871002991998d58d595b063c4e96659e20221a5ba3afcd51adb113fc2cc9d87e7a59602606c363503e47a177ac0795c79d72c4047838d0178851a7c82288a10041a4f6381ad84b6cfb8668cd8558268d2ca93996d3cea20d3abcde216533740ba48b000ff84404abb84f6281e973b047ea9a8a8b67c860933478795eb91a304f870a443c91982bbfd871a649017b7e5aa4a1942821c90e7fc630a277d7126bfb035065ee98084d523a89950088501968657954c8eff806b8a02009202bff07258685573dbb670b16333fb46ce5bbab9da881719086cb91c82d73ac501401c30eb1518c32a35921e5e7a6e89da38b3d21876e120008478684a1779096eed902d3b6c4badcb7f70ebb29a811f64571bd968183c40c14b910c096441ce151f07ecc2bbf4cb3fda5a2421c0a1d3b323f07e59e1bc48b4bf3753c21237811f082cc76bba23584035c0837f4a840dc2387bc13d9ada562729ba0ea8777f80378d332e7f63b5484b2de6d4754d61192054899f9a9a1b119aba676a9ea68ae10c6b2d8204102328ddc8b3f993427b22a7167371c8b04e91b1a612e58651b69328d8389877a88094c8fbe8450f3c7aaba0a9b2b92b38e1abec0525a7c02fa86856ad629463d270589bc3f98246ce8ab93dba5fb86632db50573bd145e69a9b68b44079c3565578c4ab2063eb76596626b37b18292fd283ed851a7e4067986c8d1a4590574677583c94a815b45028b1ad9995726b5cd2f65abe173e863220e897419ca63be9a9b24f19c01a1c6706dbc1fb389b777b81b460974d1c4e34bcc78171442a8c80cc4615b4266cc2174bb2817b5e67014261399c20617ce664aee98400375c3f6152980978709cc5f75671337434a96c2cef1509ac626b6c294436fc7635ec1578991f3801503f9ca94ac65204456deaa985fdb414aa96c60e525303ea817f04b3a0b72268860ab0c41f1fc8b663fb55c0e3bedbb52d129c65221579f22a9ebb037d6fb6a88e8a8441684b3b57654aac47b26814ef37b508438621135a6f603b9a89366f455c1a07a50b6330d884b2dd81b051083aa7979a72e6bc8749b840d1932e8c171093b960294c1300925871b83732c6a5047ab727a5212bc7051584992813dd97a7c6ecbdfac34470c467f6bab5e9eb9ea01b998fb2c66030863ce1349ea9a123757ebd4a281a0737ffb271301945c6e873eb5283eb50c56a2a74228ca10b35013197ae55d0af199b12e90b94b0e22f707b91a8fc673e4a9e15aa95c69003cb8c31a5c8c3efc14d0d65691244a601a90639c92d4f32259758745cf87a3aec87539998d0da56cd61666f7b46de570765d5a5c1727d3a725a82eccd72e6575ef495ff5c8bcba0cbe3e9cf1200bb21fa1fa9b301d9d822726613321e59fceb1e24bad9a5a0d8ddd1d47f476908aec1de1f066bf2176558
+Secret Key: 022b286b63324812ca43e839734732c8907b2636a4cef80d16629bb8ec79357a4b8d4b3164c3a22cf551db22002a4ac3e3496d10e05a00923dcfe40ed0a2659ac46c2fd59a55b8c7e3da5c43f2a6683a6caf7cb3fd6b92e3bb7185269ecd2466f663cff8f8ae5a1621b3b54921c704726201948c2254e0ad402c1ed8b6cbbfc433ff0c9b4279860b339132888b8c169c59811d7314215768c750657e044c1bb8d936bbe9a41b8b82c2929fb4760d9624a945a83c6c97a301d44b97972288b560779c40cc9184f8a997bb7111c5ab440730039e870a97f47cc5fcbddd638bce283d653b4c80c07f47dc5ddd6804add11bd9d474739c2f13d71f5102453dc39de97b47cb64519de634b91c15aa46650ad634fe54782ad34af4296be90b11aa17743e5b6b3d1cbd8d458e883c3603e66bed9198545a54c662607818921bd636c9cc5f26a6658dbaabacb858c5780e1684b2fe67bff434b1e95847d5d77720496c6db49abf00b886b60357f42836ec8b37d468670019dd62788fd31fc0eb36a0838d27faca80b6757eb70d7645944687190cbb34358999a680ae90ecad1ba46cc7dbcd0a5501c61364f451c078a69df193ae2c22a766ab3587eb3c4939974f428481e8217d8b20090b0a534177c5b2431d2695316a2fcb188a4eb7582f8132bb82c4f39a1244933c1e065ac794b1fbc3196565869ed244624677aec0464c73c17b207a11199c4d960f6aaaacc0e522f6b82f4568c1b9fa5ac3121e64e418c5f4b35a092da7d33973bb2f5ef76dd16b45ad0931e518a7f1a12d3fb84d231c68d9e6c91c17c4c06516d64b4ebfb3655607c4c3dabf1f98a39ae3ae53855cb1591c7c0812d58c617b445ca599254530c86c452f72d733f8c02205fc9b92aa0c7b1771e4604181f112629bb3b890ab6bd9cef25ca448891f7118c14443b364265cb8395122461170b76d85a8a027419479a128598b1453924949f296e54a055d7bc5851311e66c5fb0a38c329a253f86b1d2a11493275403b7c49d364d51244390c0bbe0c0c21654b3fac7233b2c9b9a43671fea8b29c9178a91933160a8934556ea5946a2898b07b666f719358cb16bb036421a614683272cbfb217163a2d060529502ab574a86ccc40250069ba5bcc9e3e0047fb548c14355b87183a9202b100d07e89c04d88aa97883bb253461327041750f97e48fcaf60c4249cbc0718855142c1aed73aac84970681a35e1d31bce3b4748042cba9d7779a883ab7916fdbe9c67c5a8657ba2c57251148a4853fe29c21572599d6b73c874f28964854f17e444cbb81b96fa0d1962b2b5bfe214da6a6a1597c8b64394a7b088721e68556e781a2bc8d18fa5e3e8500a6f5507c3a97d54ba5a94a169e7ac70ce9909c480ff90003f9e41890ac88e1ea6d13ab318b26223fdc15c2c23e1f24a356ab9f2ef3220652c2bc2ca808868dd5db9962c8ce49d63569e4b0708ca266370c53547876f947f2eb736e64979ed0b55d0730699c30359b2940a175ff861f485c681c59090ca880b623b0d88b4fa94a7b3ea867a21a4e9b7802b4d843b606bd82c1611468492c35c832a4cc5fc64e9c904fdcb58d504657cc2a4141c813a8038f086029845c77f3b1aad2aac176c92ac193062d0550346ca53a8cafa7265523aa086ff74fbf130a2362bbb497a44a6b21238c3015389606b65135890f92242f036b955de38c7ed2b7ff6b0b154ac9b9a18a3bea3cbbd167fb259b07d562fa60aa00c571b5aa1c1f6c4e146317088a4e0e1c2e211ac9938b953958a3d70bb25ce29fce39625de727484b6416b076be069b80a15c65192e62ec9a1da4609255a8206357ab390ba064219f819ff971b55afbc871002991998d58d595b063c4e96659e20221a5ba3afcd51adb113fc2cc9d87e7a59602606c363503e47a177ac0795c79d72c4047838d0178851a7c82288a10041a4f6381ad84b6cfb8668cd8558268d2ca93996d3cea20d3abcde216533740ba48b000ff84404abb84f6281e973b047ea9a8a8b67c860933478795eb91a304f870a443c91982bbfd871a649017b7e5aa4a1942821c90e7fc630a277d7126bfb035065ee98084d523a89950088501968657954c8eff806b8a02009202bff07258685573dbb670b16333fb46ce5bbab9da881719086cb91c82d73ac501401c30eb1518c32a35921e5e7a6e89da38b3d21876e120008478684a1779096eed902d3b6c4badcb7f70ebb29a811f64571bd968183c40c14b910c096441ce151f07ecc2bbf4cb3fda5a2421c0a1d3b323f07e59e1bc48b4bf3753c21237811f082cc76bba23584035c0837f4a840dc2387bc13d9ada562729ba0ea8777f80378d332e7f63b5484b2de6d4754d61192054899f9a9a1b119aba676a9ea68ae10c6b2d8204102328ddc8b3f993427b22a7167371c8b04e91b1a612e58651b69328d8389877a88094c8fbe8450f3c7aaba0a9b2b92b38e1abec0525a7c02fa86856ad629463d270589bc3f98246ce8ab93dba5fb86632db50573bd145e69a9b68b44079c3565578c4ab2063eb76596626b37b18292fd283ed851a7e4067986c8d1a4590574677583c94a815b45028b1ad9995726b5cd2f65abe173e863220e897419ca63be9a9b24f19c01a1c6706dbc1fb389b777b81b460974d1c4e34bcc78171442a8c80cc4615b4266cc2174bb2817b5e67014261399c20617ce664aee98400375c3f6152980978709cc5f75671337434a96c2cef1509ac626b6c294436fc7635ec1578991f3801503f9ca94ac65204456deaa985fdb414aa96c60e525303ea817f04b3a0b72268860ab0c41f1fc8b663fb55c0e3bedbb52d129c65221579f22a9ebb037d6fb6a88e8a8441684b3b57654aac47b26814ef37b508438621135a6f603b9a89366f455c1a07a50b6330d884b2dd81b051083aa7979a72e6bc8749b840d1932e8c171093b960294c1300925871b83732c6a5047ab727a5212bc7051584992813dd97a7c6ecbdfac34470c467f6bab5e9eb9ea01b998fb2c66030863ce1349ea9a123757ebd4a281a0737ffb271301945c6e873eb5283eb50c56a2a74228ca10b35013197ae55d0af199b12e90b94b0e22f707b91a8fc673e4a9e15aa95c69003cb8c31a5c8c3efc14d0d65691244a601a90639c92d4f32259758745cf87a3aec87539998d0da56cd61666f7b46de570765d5a5c1727d3a725a82eccd72e6575ef495ff5c8bcba0cbe3e9cf1200bb21fa1fa9b301d9d822726613321e59fceb1e24bad9a5a0d8ddd1d47f476908aec1de1f066bf2176558d03086e2fd541cca66229c7dd4e1157cc64a08b1536bb0cd616d748596aed32ea8a0116194e469cb3519dfdad40d0b1de2e7ecb2777a4961e785ac8bcb337943
+64c6b2ba17ff28a91586bf01b1c271a2bae3fa9df694737a3b40834e5bf4f0ee
+Ciphertext: 616c75b7cded0270aaf565aa970de9b935082b96403ad9fcc3b0ea405d27ccea6ba0dbedfb2de3277925a79497c947c161ce7788072fbd421802311ace9af05100b2cb115721d09ff441fbde545af279c41fda4a542a6111f71c8cb775465489908807845d39004c3139273038aafcc228562c45afcf3462bb509a76fce64ca2331a8560e128b953238ea301defd5c17f635d9995ccaf5646c245c3400c0004b383b516e32c57550edc36df74f88c8cbe830110c8448912a7a942d35e8bcdf3c0378fdd3c0151626b026d5b79c64181f53c644eef52c801c1c2c28967003f7b7d7ff68acc130a62e939aa4b5000dba241c08237529f98ad649eab4aafeddba6473273aae76d00aa3ce189df38a6eb259e986f94e50f83fecaad045125f4534aa2b304c852fca439f36a3506a54ad8189e0904fa23e62d24d677dd4fc8aa82c7cad5579b57346b9d918908f70c2ef1cad8bf672651f8c8326bba347c381e298847b4411632a20d4463f5bf92f776187dad003f86c854264a24ffa651faa7c93463d8499a6da5a5f1aeecff0b4e11634eda476ac87bc10dd8ad441052f5a939126502daff0e41e48764a1cc2f1532df6aab7d8203862c89922f8d128f292d1d47ca04e0ee45e2c56a924adf93ab9952d1878335b19248bb4ce27ba738c407c70bb38fab302ac24c4f3048ac5f704b45b3774452851a04bd1bb13b05756909bbc66c7f6e005c0dad4b2d72976b4c78cb1b55eb2f425035b4c7807e95c71f3349d177601b6ebfe1389dced4dc5c41d149561159ed784bdc8bdf66509076750b420a3fb637043eb4bda08e9a871b7b27e183c273f292519dc7d38a07126a2699ac047558323ba21b150da5e40267fd900df3e2d3f57c6f8e05cd6e232c02b0f0bfe1d95ffdaa1f339d2db69f350bca45d08e2720a0677db91327b552ec169f699d8467edef3f649df6536dd33860cb40f9dfea02ab9f4f52171f92e0b90125a7470258218f71c8fa46124c355bc5a9474079ec57e341820f14be96337e7ea13d1fa5778ea900e2af78e18d42cf4d0217ecdf0c7db73682d1c596ed30386e48858726890c5d502af35508f0e419e7a4e7bc43c7842eac65b99855a2f6505320da7aebd5608a244ca95ee89e2a36cc7a5e59d82b87f3d4c03226a9bb3866bf4cea6511030c726142dfb37fc4ccc91f81a620fe5180fb1c1ce2d87933d8e1c6cb6414d907a27d09571c3f47fd17773bff900c6d1fa1081615ccb6fec3260aab35b4317400cc174581fbd0bb474a81f4f7b575ba73286311ca1cbc8d1aea7a745990472987a40b21a53338030fe1f10146a38a493f1df70865a19777368604d5823fade8b25adb12b789a4b447f7b8d3e4a477f255ff6f12d90e98bbd14a413ed62620080612c79eb5f17f012ae0de8519f40d21cb24f06c36315975e9f3c4b51cbce63e77a2c92747df4f25113fc342fb9628406d68fdb7a30359218bb616c1ed9965bf9f321ac99a1fa08b07dc054d3bd3141618bc51003b1ddb773af2047bc091ab78c
+Shared Secret B: e38ca55c28b8a5a738e9930f0c5cb1d2a596ca3e1c13fde0b2c65c44b06aa30d
+Shared Secret A: e38ca55c28b8a5a738e9930f0c5cb1d2a596ca3e1c13fde0b2c65c44b06aa30d
+4ff7593df8d5bd6a6a8c6f14ab941d53d8ebcd4be18b20a97e05812c4a0b0ec278c4472f7f507039771cfbaed5de5ec55855bdc191826e045d29d36ae43b9d6c220288d2a28cf64b1b16ba44c045f5776673a181e9e8a963561c76e0f508752fbfab5b0c805aa4641551be16b151842bda11dd5f8c9f1873714aee60dc49594f6de24142254717e201bf83ffebfed177b306129a5f1976e923806b0afaee05806696123cd54f0bfd2f43c79e5725670f3ef7dbdffea3969e02b2d8c29617a2914cac2a972dd950baca743a02cef7563bdd67fa8571e924825f95ac74819ab788185fece26f4a069f678d7fc4b530b5bf7f396e73e3997e987d3271eda6e582407103d497485bce53cbf15ca47374c227470ee43954011a0dc1f20b6a49632f0a8b4ecb8352284f8d6740c440cbf048333f82783387ab842824dff92ce8253d1a295be2d10b0193ef3749394a58bad5a505e815178f13ff6c9ca03b2b466aad44cd8b9ef5607b089c604eb2598800b2f8a68b5e7bc56d3d64987e88f5256f5c71d4564457150b5f713a3dee7436e05a9c43789e22b24ff7f896f5afe8c80e294276c14c1ef714cf94e5ba11b3f99e16d0afdcd0181cdaf94f617e41417d8c5b11830dd047629bdfe31c916494f1dd3d70a15f20ded2911cd26cda23bf643720c45630b1c8afc80ea92b1de13bc6f8d7f4c0afa4de4008e02cdd5ae6eec904cc5a306c7b4494de7c4c0df71b7abce33141b60930dacce1a79e8415c3e39e8468d256b11b14b5e22645f1c8642840e2eb7bc7c98c2af5865def525a057401cac7df99912a21e141639ba53b1ebab1fc3cc1124a36a285173785a67560df3810b6097a403d5889dd3d1c3e3fe79013a6fe871bf66c3f6749701bc25d07a6497b4e5e5f854492de24c5329ef360a6b4dfc0da4061958f146d9a98610f46b2415e575fcbbaea52de3f96513866eab5ffca0729f9b5f2a75d3248aaf03a751f8917d5d952ce108527fe3fe71371e3266c0bd51c93a076678ef7d92d5ae53167e98642b7b190a93b51c015f365ce071586555b623beb3ebdd85db0eb2e6a0720d2f77c37042baefd4dd8a596df2cd0ad655a9c111983ae650d5cfb53c229f17ea56dff0723bc28db840d7cfc8be14481c11eb7c98aaf0d0eed32c96d0823ac3d2fe62a262309d0fd1de71e6fdd7fe79b5441fb877278dfd451e49e0505ffb3b0679d78df1eca1f2296035d0d643c388ca1e88617e36a56e53a1b190539e82471aedb1ed4d9a4ef3d78452409775b48cd6eeb69a25295e54bfd54373828ec5703ef813cdd64768ed159e6829386acfec714f80df38a045a04e191328ea6f176ce920e6ddfa6ebeb38de68fafd572449643e3680d6105e2bec1f870df22632e8bd0f546137f40f1ef85122cdfea96391b48746125a664359cd50bf6a3e792ef955adfe9d82e69ffcd45dfe08c25f1242dbc0df4c6b3f2489115eccf948b4a2e9ab5cbfff78755b951eb424eb952fec8f239fcc9a297c28a78dd3888c95544b17b7b1440865
+Pseudorandom shared Secret A: 7ed71feb0e52a492dab3b00b47e0c4c380c6a1a10acce3fda76eed6a2f6ad9a0
+d86ec49185653352dc845b5985e0d2e3ee546b9e8f0de3538ac50276d5491eef6783b62cd2a8affa78d17e335c91bf052ed1c2314b44ce205ca95568f5149dd9
+Public Key: cca8a4da5c7028f85118689aaf81b30ad5bf5bfa0dac5b750cf7bea74a4eb0ec24acf7251a3b604dc41095055656511d06203aabe355aa67325c665dd7e605f73785747c8a5c546acdd942634569f47b38fa278808815598c64c76456bdf17c8659c8f5b181e49ba0700d2741d06a477279d15869617f6173de6c6cb9717461732529abeedecaae5c12fecc8263fbb9610b22cda40cc95a753faf57a1776bd31261a77d1ca74870300509ab865138da89fb71038ac5a2e9b27c091940cd7ea8710b78084e87db5bb9691ca0d3a166e53793eab7238d24c14c9f1a93e782dc1dcaf23aa2725e4b57ddb4304dc4be33478e5b034aa93b610f2c80ccaa5e28a8d1109107b9c108cb74644143daf59b330164b99c43c1038b912795c22990a77dca49a584221b6b84fdbb1bc194237103fa212ba74b11ab27ac24b3770ae20864fd44ed06277848a4f7541045e308c2c54638f774eed6035e6a033dff008516c59bea66cb9d69393cb227be85fe3ccbfc8d513dfb3b864b8c7e6095daaf059b400875e544cfd49a4524a5f63569a55912873630bd7695c6f1aa5b2537949f7ad4d9a9138c2b5d0f047b66318cdd1791d5cc29e414370095aba407b5ec9be8d4c48ab029f9d85aa518846cc3c016266cf3abb7b7836c1ff751ee10428340008e146a75e24ae4ca25880c0b1c343455b2765aa7a495e081c28c30341fba2b5943992252d56424483007487c917e6927079425681641dc0023eead89c24256238317f659a9275fb448343644b402bb4d338379c21254c225f0b741235626fcc9cb24b416eb206de55853722628f45a212c4b2aa09a90f5253f68c433787c7e244ac925910775247b5eb2adc3393f8cc994382559c14b6882884ea3442243ccbab394041809765cbae5702330840a550083cc7698440a61929688738a7515120cbc2e65fb97c7227b2ac29d22aa4e0354f903f1e2a80c9e7c2ae865f82617bddb28d816b3a2d6c417690a187d03716cbb9eb8a9200480f7a1785e521397cfa8c3d959384e4b26cf58bcd69b58efa30bed7bb5f1b76c049b95ca796d9a3406463adb1016de4e4752ae1aea246cace0966de3c57cc4801b58993e6f03b5ed6288584812ee1c8ff0744a5ac61acaa5abd8c0275e14909f245fc075af2127ff6d544ebab663fa66c3eb31cb2113f1b122c2e986f86fb25c6165190e5045de81e2085a2797a177e8056f892c36a418ecd093b4fa65a2dca19e870cbd364bac8e60d3116344612beb6476d1fa3617e707b72c07b6dab52322b347aa99bcdbb646ca524a194460a65463ca85c202c3f3a73aeb8a53364c73691575e806178f0a9b5cb6499f68868ce50ad07db9c03496f66e172e7cbbeee2383f89b9a58533707649e38c0909ecb0ed1e1b87469c72cfab8658c979fa558ba77c0c3fb265d5328322b6f34aa06d4823fe7e3430ce9a665f12493f7a47bc9cb1fc9a5eb1b6ba2f28d9583ca7c37bfdab18f90b642a09206ae4310f564bcf2764d2428012dd3578c996e644a0fbe30a0a6b79b0e958549f5a0bbb70b3075175b08700d680e62869f760b613ae051bf574bb175722e5bb864e53d1499c04ae56807f3676b4698dfc6992b06b504293faa661d850aec48924206b1a9417d9cdc6746cd2ec004f7883efccb544c9ab1f5
+Secret Key: 16a6c3d381cb62364afe112833ea7afd28b376039a5c4c9566e0623433275c5a794646a138f557f1e2921aa31f1579a1cf3a8d12e504b719310acbb57674254ad233c8f5c174a3348cdc23f546b967e1043e4a437ad43d824947d91339a7f47508398fd6aa449141b318c10339a7715e139737c45cc4c95a0465bd71bbbc2c97669da3cc4e8a313297860a7453708ab33e86155b796503577774978842b9ab7bc06551bb15585958b48738c1975544c8b9ab82527cca7cb5e037d3b395f10c0bdf4c384b954c46b5066a25cc266966de962b486b80dbe3bef7f128eff99582dace881a0c00aa6f353c13a9f40f3f523690d3be9aa5762690ba7790a59ff84de4c5493c4bcb6c14206261180e08c19ba4570fb1a15c5c9747e4b6573a7c54c6c39d305240f4c09a9c8b993843bc8c50f572a0be542e09163e34650fa46371b1a29030719d688298f0380ef79357b541a38a7b87badc90f6a1aba3b42b81f0582b0b32bb7317e9d20791545d393a447c89b802458d45ac1be21b8363fc4b55c5690e38b080710955306cf7141b672c73efe22709d1806a1245dc3aad459c7818e843057ac828377a70248908038d461c4260949ab099520ddb8d7583810ee5736d1c5cca4539f1bac22dc2472bc947be0c5960d758703c20ccd33c46d61930730b431a0f15d38bd74265f889a408b1331d8373e44c31e1a83dc341bd0d0379da3a212f80593116829e1a871bf8cbf066450a6b9a7c20a1c4e77e1c3332f313c8d88473d4b2ccb0961496d773de704b40d4a6760527c3f197eba1c105187f8fe4a61f1c5e4dd51922a63ddc733e64182a112ca6aac395d1783fbb805b303930ace693b071bdb42913cb2562a1f5a3b0678f79d4264b581d4c964d1514be5a09c683655c9ca73ff5a39f3f1619b720481ce80920ea1037f51f1e0a9a04b1728281bc09579eb5954e503b0e0332319b47ca7625555e233c53425656115eafd559b147b9fa814d31899627c8b65fe184e3e3c3662051e59ccc48279c5d744cfb222332936950b264e496749d156c32784cd6a71a5e711c21e1c4a7891c145395c19953ef0952619531bef49cd0d5b1931089de24842651c6468842e2723d84343223880a162b3587040308f0b9651047cb50727418c49d61a09a481679b00b2cd9582ee8a936e6b08ef0454e12c8cee81815b6aa6c39c114b222a4eb383e10260e614d2d785024641e46d80c8f2a0407a278ad3c084a4b935a2c35b6d6299c7bacc9598aa7cca6e5e0294e71637c33c162826c14796894bb683134ab62568fc8468102a72212d766d2b8cdab744a3069763c8b3e732a29276a2bd90070be7c2f82e323749ab3377102102a25ba57375c130906254d1726ca61e65eb6452cbb06cba1e2b23ecb0302f54b33876d3536cb6ca3cccab41e016519294a4b02d69b1d3b421ad8980446417b31c9cf546f39a8c74591107f41923690444718ccc757611ffc206bcb68b9f65229a69c82eb357e18005dabb3c681710971786c5b7f837c83243639aab75a0d4ba01e5caff16b5bfd1876fc6061424c755fa87d8bb6022df66c9ec659fe448ea595a497d15888f66797c43f5d018d46356f6da06f8d8600b75591cca8a4da5c7028f85118689aaf81b30ad5bf5bfa0dac5b750cf7bea74a4eb0ec24acf7251a3b604dc41095055656511d06203aabe355aa67325c665dd7e605f73785747c8a5c546acdd942634569f47b38fa278808815598c64c76456bdf17c8659c8f5b181e49ba0700d2741d06a477279d15869617f6173de6c6cb9717461732529abeedecaae5c12fecc8263fbb9610b22cda40cc95a753faf57a1776bd31261a77d1ca74870300509ab865138da89fb71038ac5a2e9b27c091940cd7ea8710b78084e87db5bb9691ca0d3a166e53793eab7238d24c14c9f1a93e782dc1dcaf23aa2725e4b57ddb4304dc4be33478e5b034aa93b610f2c80ccaa5e28a8d1109107b9c108cb74644143daf59b330164b99c43c1038b912795c22990a77dca49a584221b6b84fdbb1bc194237103fa212ba74b11ab27ac24b3770ae20864fd44ed06277848a4f7541045e308c2c54638f774eed6035e6a033dff008516c59bea66cb9d69393cb227be85fe3ccbfc8d513dfb3b864b8c7e6095daaf059b400875e544cfd49a4524a5f63569a55912873630bd7695c6f1aa5b2537949f7ad4d9a9138c2b5d0f047b66318cdd1791d5cc29e414370095aba407b5ec9be8d4c48ab029f9d85aa518846cc3c016266cf3abb7b7836c1ff751ee10428340008e146a75e24ae4ca25880c0b1c343455b2765aa7a495e081c28c30341fba2b5943992252d56424483007487c917e6927079425681641dc0023eead89c24256238317f659a9275fb448343644b402bb4d338379c21254c225f0b741235626fcc9cb24b416eb206de55853722628f45a212c4b2aa09a90f5253f68c433787c7e244ac925910775247b5eb2adc3393f8cc994382559c14b6882884ea3442243ccbab394041809765cbae5702330840a550083cc7698440a61929688738a7515120cbc2e65fb97c7227b2ac29d22aa4e0354f903f1e2a80c9e7c2ae865f82617bddb28d816b3a2d6c417690a187d03716cbb9eb8a9200480f7a1785e521397cfa8c3d959384e4b26cf58bcd69b58efa30bed7bb5f1b76c049b95ca796d9a3406463adb1016de4e4752ae1aea246cace0966de3c57cc4801b58993e6f03b5ed6288584812ee1c8ff0744a5ac61acaa5abd8c0275e14909f245fc075af2127ff6d544ebab663fa66c3eb31cb2113f1b122c2e986f86fb25c6165190e5045de81e2085a2797a177e8056f892c36a418ecd093b4fa65a2dca19e870cbd364bac8e60d3116344612beb6476d1fa3617e707b72c07b6dab52322b347aa99bcdbb646ca524a194460a65463ca85c202c3f3a73aeb8a53364c73691575e806178f0a9b5cb6499f68868ce50ad07db9c03496f66e172e7cbbeee2383f89b9a58533707649e38c0909ecb0ed1e1b87469c72cfab8658c979fa558ba77c0c3fb265d5328322b6f34aa06d4823fe7e3430ce9a665f12493f7a47bc9cb1fc9a5eb1b6ba2f28d9583ca7c37bfdab18f90b642a09206ae4310f564bcf2764d2428012dd3578c996e644a0fbe30a0a6b79b0e958549f5a0bbb70b3075175b08700d680e62869f760b613ae051bf574bb175722e5bb864e53d1499c04ae56807f3676b4698dfc6992b06b504293faa661d850aec48924206b1a9417d9cdc6746cd2ec004f7883efccb544c9ab1f542c93feea63866b378ac0afe98b53f0a5d8dca912c65bdda2957ee3b30aa28c56783b62cd2a8affa78d17e335c91bf052ed1c2314b44ce205ca95568f5149dd9
+c520d0607567f65956c506349ca58e11da6c32d655b6df818362949b62b1ab92
+Ciphertext: f7c1eda2cf00e6c594a319aeb9f22e5d86050005587412d5d0545688a768eca87f7b43eade5bcb232dbb9e684ea95a6de0450257e2c18fe514db0a4b829014004f2408a6d0776d33396a1d4181b2f38035be88a9f6baf694c3e6209c2101fcd163e8b5118ba77ec32d0cf09d13cd42c2edb13932a53ddc1d82edf827615ff97663c24ee4bcda5f81304e629bd38c1b4258250db49a094649bbb134aea65a4160fa8560dc84b7e9f1256ad0480b876de02cd821442b2cc956f6c052e870894e902cd7b2c1f00a7161a345d20615eb9d3d6ead633475ae7a04c1e75ad2237b4ba2b6c5b187d244897a1c61ad6365f90591fb6e72aa7de8e7d21d92b8751c901bb1fb53a968d4a8b3b577c80f0fbd8376339a9af82536de5069226d9743b49332767317faf4b66dbb27bf8368ad8e77a8620ab73ab4ac385ada70eedae36a208e3b5763edc10fee4f13cdf0202e98344d16f67bee6308e2672348d5abfb978825f6de2c513d96aafa3fd7fe88dcbe46589515b5d07d0dd5ef077d3aee9d257e96b7e6d4e97f5a4bd9f4c6e992b9b9704837c8b9d26df5373f04389f2c864425808d8d56e4410802190abc1106126e93e699ac3c2348a42facbff092c2bd1b40a292da7b04eeb2ae9df6d80f5013158ae5adcf16574e8130acfa716c0cb033e5b7dcd9c076ee9feeea05666802d149a83ae86fca1194df44c664b5a616ab03fe5961d2636597f2672e8a0e4bbaa9053cc9a5020ed11500e9aaf56b6c6503ce66136caf1006142f5f2dea3b365e9a893543bd08f4061beefc9318701b6def2e7cf1858ffae5dfcaab0df02ccd946d9519550f09eb19270cc7878d7bb297fede902d648bc5eae7da6d4b0172611567134fe13c7c99078eb77807c7dbb2c65a562cf04252a0e6703e006ea7dc62cedeaae9d35d77a23eb7199a010b54dc1cab7f6aedb23d64a8e4de2f52cfc847a8668983c25c0d358826ec4b363a5bab1ed88a771c53c174755243a6a72ad14b023161f9b4b87c0db3627951212c5d5c07b219aca6e462e02669577a833e246d0582395d2e400adea3be483a667ebf243d5443a2fb52e998c378de6d4656199d19e43caab16562b0f276fb93690eb4abdfdfeea1357d5bf5d31a358722ffefbc962e2c16a5b00194badf5fae6372ab92ce3b0a0d97c59d96fe47e4844a352484b9e0b18682d5009e93f5f4ed60f51a265d52e29775cae43ea1432466663868c3f3d75c1a5a2029682cbea2f094df7c3d123a5560f9938e56eee12cb60643e1e8e97575ac01ead8ebdb03a1e7aafa90a0e9cdd70ac04cd685a92fce3c61ec9452422fee7219115d4547b608f24ed73f226678207657cb388efeebea37c706af9099f53a0b18d03cc90a7e1ddf7001ea52b0739368feac4b7adc0c5ff1f17e5b1b449ae885805d3ead93eb0105fff4325182d7cbc229ae3c6c5e2b2cdee7be1917872e287ef9071283d87f1db2ca248ce65850c05134b45e2e4f9fa025b54e6c854655887c5649e9ef31a0d9bdc99d97957647bab9f9e6
+Shared Secret B: e0490a2d50ba55f7256f4d7d65442bdb5ed6b4f5c4820923f32475ff8987552e
+Shared Secret A: e0490a2d50ba55f7256f4d7d65442bdb5ed6b4f5c4820923f32475ff8987552e
+13e187ac9509c814d447ca3f552735b51b23e1575158bcafe78f439fe2c8c2306fc55319bb4e77e16b9852c807a2e6a1b310cf8c840f8598d2cd97d9148c4da6e8ca82021960e1abf58408acb9d8d5263004e6cbb0f2674b32a407cc806183c4b29e12a79270d76a7494c1934f56fa42c1a974471beedeaca01bfe781f271cd3061a8faf2145ae80b85a03f01ec93de56513526c2b0f80a284acf8da60bfdd4bfab0b4eaf18500c83fc8ac13de836f99dba743a46dbe115dfb06396cc232731cceadf7c2e46fa6298750de23bffc0872ad0f4c7adf66451f8f95b42ebcefcc06d7b69673c93e8df11ee5f796b049618c3e8a12dda74d39996cd4db0ddb4a8610e6fa0662ace02874123a037c12fe2b3ea39889b3a2821a474e8c0999e180a91d49705a5b67b85bc05c76a17184baa5bb06b09261d2641a1cd9698015f3dba1c1449d62d9663cb703876e0cae5ec844472907c0bf6785e9ef57c422a0a7ba2be81d0c27f0b49379d8398c07d24a05020fe461a9d70ded2af78d4b3e249ee5b6af4feb3437745c2b27c002bad2d917873359598da0069f0521518f45e06d04a945a5674966db4519283aae423683f818cf6109c909946a0e2d94fe680e0a2f56adca73f756ebcde53bce1e146a59461e32e6b69567d4e371daf1512820bbde9d75aadd103e372a386c0e136dd4c547f9e7cc3a5032dac2976986cec3ad15618faa43fbbcc8e7f8bc957c02e8b84b89760036b2660f7ab8236d57275932eb8b44b54e63baf0b63389b73e06cfa71c5492ccb7d82d3676bdc2b7e8608dea05f94a8bfc3cdca87a1f68d328d35ce901b27a9d279d2e20ae45666a4845ad8058e65e3e337b735a78c6e230c8cf6d2cf0f6bb4b974fa4aa02b8fa15c496e603b58539230ded514d19278952adb5e6e5d72ce14fb866e4f25f7142597fa4cb1fb7ae2d2c826a4fc8733fc88c9e9cc01bf2b0b9050ffc10708df36297ee5877edb2ec7d5fdd4891e2d772e7b93381f20e48f441ba33739f916b6e9477df642dd2b9480a3c332a938ba2aa9d93fb385497e97ddb5b9eca7c540213f9bd8979b78dfa4ea91e1890e5bddc75144e2a4476036d5513d44eca9d6a7eefc7301fc8b4c516b7ae27064af9f4ca72dcbcd5d5d7733f3e45506b43c58deec05376b5bfb55ae33f5c4bf40f0b7e4418e10bf08d3489c1b463bdc6ec78231f99f4d97627b24c8f5695fa0573362b2ca12f11d4866111a44f56baa82c5aa5ceedc7b1bdad9a98a40329e2667de45b5fed39d35159a19a388f0fa4728f40332ef452a3fbc664bcba0fb350b110aaf7adb53945c2d8dd28054358e8d90b2766d4daa4654f9e234abd1a69549a8c1b67c43ea282bbb2238f1130f2709e078875672084e105a4d93459431bb4ddb820853322db9ec0bd7fa3a5dbf556153d6dd3091b64346809ae488ca80e7add06a892fbccb1819d2b40005bb394c87836064ba37cf393f03101a3e025de4b94856f7fa88e05fd94a50cb6ca33641ce9db354253fee715fddfe2c80fb41ac3
+Pseudorandom shared Secret A: 652b53c3011fba7f1bc03fd91f7eb5c0f630c05626a43fcc7e0100ea383afac1
+dfa3c0e5ffe0db777ba2671a029af4016823449aa4b1b69a29e01058d2dbd6b2976bdd8695c8107dc615539a1682cf811f629aa907d123fbf59ddfb80e216662
+Public Key: 99c752bda6b4f1ac282e4c70d7ec43c8b77880a0ab775b5c38730d8fe3bd6afa3045976a5554436945982377a3e7e947ac30604e51691cd0a1eb534986832cdc78c9257a2dd2649f3f906dfa2364c180676b0c039086998f9743e2f5b18fcc5a283a45e56906964c013ca6c480a95bbe606c7319873028516537979c9b64eb10b38f1ba0be12970a885991420fbd035a467b307ee2be0820aeb7a03899e4cdb8322e51255b67eb00582199a42b1623bb711c65061f4b698565a3d1b887fa830da4cb30410852a3289767064543d05295eb7f5ba15f03d31dd4f2c271f05797a07412d6b3eaf844c4198dd83b9730210398c35c9b30aa85843571f5c2f3150545cc728f4c4a901714816a9097d4c9cb1049656a6e97d51f1c73381c067aeb872927067a1a70027eb4628e0b42339b87a2d7c6ba1cb2af8b91a99565e84c8170a4cb742a2e246a4a50e1a4bae22757760bfa9934fe0c651f65cb7eda7acefb2b2edc880c7b3d047c42bea482a127ba07d979da8bb5c74a9e52f12f067857b56c55f80c5bb0b4a47231a4d63348c9855a1d8c23db119a69a8adea26840327cfb225952ff9c8f87235d5da16b3b652d340aaeb1208d1d53152d99d19cc52fe908e402cccfccc6044b66ee61631674651c09394d2613e72a092e8b46bc7d14844f9a102a63d5ec6b2b8f83cfb824465bb8db225849afabc255343f7b8971b1247930c85e020881395c3fe68c03c966ef598197e835a89774d7bf59cf40c3902680dab236160501a3c15ca75d26901598776c05f15731916247074f8cd3c13422d660b99d211c8f98eaaa0cb89475365d7c043eab3424c0e51125bd19515b8e21852c966a7f53b9b3c416d3058b864cfc6d421c2999a2476751eb239896a3932d6a1e5e918d6e5ca5a4a8e20a88f6ef53a63a8bf68405e97c759dcb673fd98442e92119ef392faf2698bf78ca7d2604348bb333cb0d4b86a58a89201f6185b53455f275b3ae86a808627c9905a3f564027a88c16628813c23872298495e8bc19e3b33b442480c759a67739a763cd86b1b165265c82764fdf290567587458403931640daaf880f3ab7e0de2b9a9316a0a631880e1855b2051cc0177b93861bce41069443eaa2bcae4e9a416e21f9f88ad0dda55064693d48bb63d983087874903ea8254e42e286162f9493463712b75d26e1b810934698b66613a0cc85bc8436325c68332344b6e18074ffa8d67d5a7ae04148644b38f257f36a876fb37af7af3aa3edc311514c62f32b1cca149c4c1781dd261993b0d7107cc987601dcac9974d6774cb2ced1c47f223c945f00427402afbb37c023934b62cba1b1f0b4d325c593cb6bd6ca201ea3ae86e213c393367712bb37a42218d42f07f882711aa478f635fca36038805c6f2544b7e2c050437a858abf80d093bc756aac30ac092bccfe1760d0200b18e5b6bfd84da1406685a3a158fc4de85809ffc7c689d7ccaf51241d63944416bb26f736bc085368248ca715890eb38b3d7c8cc4eb766732ae93c2132ae17d60512bffc4299252426ec96ad15a512e2524c80c8893da4281a69c42a6bdda352cc3f12cbbd8622137b033e5bfe33c37a579547a0c0982a91c54838290051e2ebbb1295470773815c7b3b0e9f931dd6ced6ef15a1a658440cadeab0a9e4c13
+Secret Key: 8b5a33c91342f947b5354a60cd074a4381a7170aadb382c3b1b49693c8a33fea4097961472e11c71db7db617a24c47276c607e33764f72474500f6231077617fa282ca06b0d548204cc411d09bc109c4b8f9101256e018c5533cc7e642ddc29ca73711b5d1137f78061e6187b1427247284274539914e409c57720f95119076219be580c5c218acd1910f4039ce33b752c60a3dbc714ffb3ad4f9c9e741301a7ba71b461b2c9d24b4eb787354329e6e45631614b4a6c25c58524f2b3aec0b7b826eb40e709b738f5145eb681a06865705b9bfda745cd201c2582aa2c144e94392850f73e98c313fdd962100568203474144685718691ce6148fce76c49ec02d98b35aa0c020ab45a884c3a2cd7ae313c2fedfac8cce927609340c8e87d61f84906471543d63bcf5ab1abc773872055de257314fa92bfe092621655c01ab10c7a0ebb557dfcb55fefd00d38327a9feb39c237c60014a804ca10b820bee847aca543561cc56ef9009ef02806d5f38a5c49ccdb2b7bda06627b2364a9752300e2893656bb5cd85ccc4372bbfaaac26a1346150dcd877960b66959b24a81b8bf1a7c6c64957a33d8bb7e2581219bc1f5e0b599a30633973d647b1c53e73252723f4a2a069a7328805b9faea3755e2ca83f6bc9bcd8ba5e720c4490c3db0b77f634b1e2e1b53b2366d7b707c7191f0cfb7c25f904efa684fca3c02a47ab1684a482e75ecdac5fa8ab2940a5421feb1b91c6a14d5b8be01607134a7c13910c91c3ca2af18753aa06cbf85b757b2ed66abffce2a16430a935b79819590b6884b797ccafa96025eb072f5fc7060ef4526bab1f49509d3c424da86661edeb77443a3338b7a241627066ab2b0726ce578142964a2aba50cd3f7319d00a03415b274fd44c8ae1386a4025e7078ce9b81dd439788183071cc7af38495db31754da442f42ec604a5a9bfe6b2e7f276157429737272006fa59aca6a907c5b880f8a2d3d5866686c4ef5bcdef26883bbb6837561bd9f685cc8127284c47dc0094e4e43c524950da972c026418b27bac3e9c6a370aa793eb3156970653265823f480c262acb72172796728079211e8923ef01a6005bbaca8baa9fa913c0214c0b68871cc6969e9e45cdec52d9914cbbc624d39a32698e46a994a4242537d1e187bab72bd658671a238a48cb91b4dd07cff530feed20ed920afae732229901f57a2a9ac654a71751deb723e69b6b27f9183d96852e0e89f25b71507f17624c7af34703a6b1654cb941e01c969f139aa061753bb5b1094d0091f8c0fbea16f1f35837dd77b817bc69e11123ca8c7d296a786d8553521c9bc157dffcc44d0736c534b0c5ac891af907f6045300673c3b1c86907964474b048bf7a99e9866caf490c9f04c24b8477720567e19a48e9a67013551f24f62eff1795ba5941a3516ba1a31f3ee6324a1bbe360a576a9a0aedf8cade327337d74beff89be8040d472773a4f60cab7ac0bf7741e59b0d729559a12a646710c17e3053f67500e6940dc9f12761390c3cf904f2d031e1155636aab234a33ab981ce53755ba730069c16ac27dc65d73c2e20950ca7295a0e336a560bcb834332ac112f949bb5c587b120d3c972ec057c804a5ff05f99c752bda6b4f1ac282e4c70d7ec43c8b77880a0ab775b5c38730d8fe3bd6afa3045976a5554436945982377a3e7e947ac30604e51691cd0a1eb534986832cdc78c9257a2dd2649f3f906dfa2364c180676b0c039086998f9743e2f5b18fcc5a283a45e56906964c013ca6c480a95bbe606c7319873028516537979c9b64eb10b38f1ba0be12970a885991420fbd035a467b307ee2be0820aeb7a03899e4cdb8322e51255b67eb00582199a42b1623bb711c65061f4b698565a3d1b887fa830da4cb30410852a3289767064543d05295eb7f5ba15f03d31dd4f2c271f05797a07412d6b3eaf844c4198dd83b9730210398c35c9b30aa85843571f5c2f3150545cc728f4c4a901714816a9097d4c9cb1049656a6e97d51f1c73381c067aeb872927067a1a70027eb4628e0b42339b87a2d7c6ba1cb2af8b91a99565e84c8170a4cb742a2e246a4a50e1a4bae22757760bfa9934fe0c651f65cb7eda7acefb2b2edc880c7b3d047c42bea482a127ba07d979da8bb5c74a9e52f12f067857b56c55f80c5bb0b4a47231a4d63348c9855a1d8c23db119a69a8adea26840327cfb225952ff9c8f87235d5da16b3b652d340aaeb1208d1d53152d99d19cc52fe908e402cccfccc6044b66ee61631674651c09394d2613e72a092e8b46bc7d14844f9a102a63d5ec6b2b8f83cfb824465bb8db225849afabc255343f7b8971b1247930c85e020881395c3fe68c03c966ef598197e835a89774d7bf59cf40c3902680dab236160501a3c15ca75d26901598776c05f15731916247074f8cd3c13422d660b99d211c8f98eaaa0cb89475365d7c043eab3424c0e51125bd19515b8e21852c966a7f53b9b3c416d3058b864cfc6d421c2999a2476751eb239896a3932d6a1e5e918d6e5ca5a4a8e20a88f6ef53a63a8bf68405e97c759dcb673fd98442e92119ef392faf2698bf78ca7d2604348bb333cb0d4b86a58a89201f6185b53455f275b3ae86a808627c9905a3f564027a88c16628813c23872298495e8bc19e3b33b442480c759a67739a763cd86b1b165265c82764fdf290567587458403931640daaf880f3ab7e0de2b9a9316a0a631880e1855b2051cc0177b93861bce41069443eaa2bcae4e9a416e21f9f88ad0dda55064693d48bb63d983087874903ea8254e42e286162f9493463712b75d26e1b810934698b66613a0cc85bc8436325c68332344b6e18074ffa8d67d5a7ae04148644b38f257f36a876fb37af7af3aa3edc311514c62f32b1cca149c4c1781dd261993b0d7107cc987601dcac9974d6774cb2ced1c47f223c945f00427402afbb37c023934b62cba1b1f0b4d325c593cb6bd6ca201ea3ae86e213c393367712bb37a42218d42f07f882711aa478f635fca36038805c6f2544b7e2c050437a858abf80d093bc756aac30ac092bccfe1760d0200b18e5b6bfd84da1406685a3a158fc4de85809ffc7c689d7ccaf51241d63944416bb26f736bc085368248ca715890eb38b3d7c8cc4eb766732ae93c2132ae17d60512bffc4299252426ec96ad15a512e2524c80c8893da4281a69c42a6bdda352cc3f12cbbd8622137b033e5bfe33c37a579547a0c0982a91c54838290051e2ebbb1295470773815c7b3b0e9f931dd6ced6ef15a1a658440cadeab0a9e4c1370f2389e9e32667b627d6352636e05203bdd39d2b48606b5d77d37e3157c6f7a976bdd8695c8107dc615539a1682cf811f629aa907d123fbf59ddfb80e216662
+9d533d14b4dc3565ad8375911dda8be53b2be58ddf295e437979fb0dc4dca07c
+Ciphertext: 6ba700ed08b320c8d802684e22bffb75a21d6b4112527f434dbed2cb49f5e7687873b147bdeee23f251e906b92d98421f87d6e878e62d03fa77ee8b8f73db170bb3520e15d3cfb692053d2d05260459c0086aa4b6dc6524d92fa804377db2bc401b4212b96afba55b01ad169ec08e6c306455d460729c89bd889fefd7d35df8e01997fb2860d24eb7903cf38afac4f8c6339d76d5c7e7d95524eb88e034b794f15cd34edc53ec477cbaf54e6b6297ae229e9f1825455b3c1991487a15c64e1ba3554759f63e46d1b6aa840cbc968ad939b60bfc472fc9b110c34233f6b7a0b487d3f21613758a3a226e3849ad5733415926b530e61140217bfdfd40f9b5337cfddfefad3764be4e0c6a9d036d3732ac44398753f4ec24a433b64777939192c9d13beb18a6e560dcbf7835a1f4f7632178bbfd921e22b74b12aabff56705d774dd4fcbac9af65137da835f8d884c8cda7ade1f3a504814a32e0a9187e94ca2e27f34b6566dbf78be2f89d363886df17f304760e997e76e78501e863a14ef2d18bcd6f5b732baa01cdd2843ce36496ed7a3d136d19df0248be9ef3eecf2c2a561dedd295ef8b2d6e037ec8c0672dd71263d895b8dd6f480e8d2080e33683cba7f71b5d595345b3ef14adfd2e0263426ab49703e6c95a33071017db0cfa2cf61b6e72c206cb343b7c91ceba9a1b4123852c594b1ba36996649b1b94ed7c6de6ff386f0fe9de0f90fdd9b7b45c2db4da003836b7500efccc5361e94f4d6d8c5dd9158d94d358d831c94179dd16086be22da2e9801c2edaad9d2a2e6818d18dd2470fc6e4cfb7275f19bb4cd0a5cbfad49696ddd5eaf23551417865d53d7d0e7cd3c47025d27ac4876c52449c3130c8833993ef493d1e38c4d9e97f698e201c03dcf1c5a0265b742c0594b38ed0339045d0f3bceaf2f98e1c31fe9269eb5a5826160d336f36559b3396991c8062ad4812bde2bcda85f7d7338a43fcbae86e126cd78b4860a1769514c672c6a5029170da0d59b57c0f3b34fb685fe9ad2c45f2e8142671673ff3a01c8b02151c639d9176c110fb18e3911e27aba13472f2907bfced850d72d6883f10a5e97038572cebeb0ad2befa076505d7ff57efa29eef1a90e45e830a8be5b7822a638046228ea7c01c2c250e241dd691fafb192a297a84a83f9b7dfcb011ed0c66c6dc92b7f25cd130d4663d2fb9f1652d304d3ddc57633d3ab7672f3ca61e420ffab2686f48628da9e98d1e7069b1c986c2b60b44f8a1b14e0aded55d1d631c9b33cd08b51b69c25a9a6e4e6e5bbdc78cf3aba67188f2f48c7c9b0c67acfe16bbf522c0ea8ee8c980338c773c2bc5c95f9fab357dbbf055bb0124b06457baa58cbde45c7bd5ef9aba54dcc1c451734d99ff60da4344db2dd037970f41174a66a903e6e601cce690d9ff7a67f89beb6ce24394bfd7fad083c515ba4b1b2e9d2899a084f9ae5099bb2925615d379e758bf1441e1035e5ea708f1e7e1acdd21355caffb6712607c49702bab8be47fa094bd6a2156024fc52bd39ee
+Shared Secret B: 6105e74357b5cd7185e85289a8c70edd16d849000421877f2924b5dcaf8e3dba
+Shared Secret A: 6105e74357b5cd7185e85289a8c70edd16d849000421877f2924b5dcaf8e3dba
+6c24f3975ebf32afd004c2508e435b7f596c23ef3c294c7a603c37e883592d1cf128567bec7d0f210781b48ca325b0fcfb7743bded8a531f0d65fd9ab07dbfe8ecec4e5cf187eb41c8b46f21ce794413f0659e7ecc857ea94228b710fb2a6e8e7aa33f823706faa67e187c313815b36a67396a11532a1d36187df94799e507dbaac155a80fcefa3292a9fc5bbed877f879e155e907976550c2713e4158c02b39c27f33a5ebd6fbff6ab8d86bae8a0baa439f8cf509388bab161938743df7f406fe0e7b9e249b75269c2da82bf1faa800ac7b432e643e1b8e55309aa4c09f4298c3c332a7d4393fa633b3a414794f475dcd2881dffabf1e66fdbc37eda32cd0780de4b331a07951849a17fe1f2f76f21d5574efff40570a6f8fccd47f45de4b60aaa2e239eb860576a3c5725f773b990ae71b4c5dd34bb609ba305efca50df6f5ac17f80179e9b208a5a72be2b38861ebe70925129cdc53b61e310161a5ee50d44b567205bc1bdaa2a9966381a4d780827e4dc4624438b0bd1c616a3d3bda42e9ab4125d61695e1c025559f75520b315afcec0d73b53fd35284d3cdd5cf0a23b7a91431c9a54fd91d9460f77e8ed34c09e17a12bc6e9c386e49cd76cf981adeb21e3808c01c0dec55e5ec6364a0bac8be6c8897c339d2236ecee846c0f54d856a64a0560b174b8af38e66a9367acef65f557b7c1db9c2e1a6cd841908d704e6f0ff735c34e0dd3bd18fbd6a12bee4314a81485eac6b2758968962b6af1d75076e4865c12b6d9c7a1cf4d6e4deec1befddeae70425d19762bf90f4de8588054e11380e5af75dbc7cc9a98b740d7d4cba8df11a189736a640ffdf8a585221decaab26a9a5ee50ccd3d3a1439978bec30416670ebc7ae245fab10fa308ddbd4947839dba31a6f62ba55c0ef2b5cb837203add836f548e9bc9d0a3bf876e903521e1ad45e5f05c34a4ab808f04ab25e6de26b2ea423fad7ecfbcab390b3489c81e1dcea68dc53d9c491ee1db913429b0b67bb6052ffdb69580b44a6165c534a8b593f24b18fac2972c831beabf346576e6db1cb98f774935c6f9a6758faaa5e78241f465eaffeda4a2c6cafe68f28644b77e0cbbc6054706fe16a9e3fde8aa07934be4d3510318a18a8c83a6596671186ea8cfc220107f0af904b74a83ec11fe35d1a9a707bb5e295649dbdbe79faa7be363807a34db2b1726622ef69c00550391264453af311c1b60446854e2494094dedceb3dbc58684ee8dd5ec3121dec59466aab1959a74af579e1f72f111c7ab38eda70518caf847d068a6bd4fa48c10b89afec519bae134a08383aa9d72544ad03142b8f44205cbbf0d53490e7f4ed4ee6abc20ca9a9966bbee58834b81bac94500ab50286a1d99b8f57b5f9d1fc940f2acf34c7e36f3bbfbb3be0af80d1251cbd35db5ebd3a5bec94ae6318c6fce912d9e4a4c6de25dff2fde5f6871664372ba356dc0ee4909fae2240d4517efb8a62ac7bdcdd3d93a0f99b6c36a717b28a9a52753534b889783f9c0f7869a389c765fe025
+Pseudorandom shared Secret A: 7edb08801035f8b47eb798016f3868e287afc03c6136f436eb3cd32f566b7c2b
+e96db53a92423221c8c5653777d9460294acfb7fb07489de3043b543502facfa03908a12cfb94a6dd5af2ea4b605d6e018a990d00723d645ab80f409c348bd45
+Public Key: 114a8d39795984da480616cc0e9a39cb67c63414bc41002e63b87c73713d8c040bfea042c2d716e6104d3c4851b876a97d27a3f99039dc5834c7330a0bc4b9c125658d9c0a55a00cd6313edb8ac3d5b8cb4b138bb8247136391c1adb82aa9049905ba2f48248ba1cc7760c1d3f5789b477770b97887bf73f43ca674f4b2399fccecac6037099ceb9ea9c8a94638f1bb79a02abc905045a68be18e12b752c6ef19c4c20ba0c26b50b0c17989642649c27babc6877d1fa0ee5a99b585954226105d2a01946073b97a1a532437fd7a5989c668dd15235231c083d0c55fda41d8bfc026e6127eee92b08707212785b85435f7d9410d6d181b1308c7a55b475b75478e70771972d80a3bd565cb694352717885ccb382b366c514ae88c7b96c94bb8c693004337c77fd0729b72a84b3d6540f107813fe134e8544c9c7a58835b8f32a87588c2c2ca3bceb8550588936a4f3892ec89144f2a6691b46d1e661eb5e81afbf0a5b069612bf4139935c6b1a23dd16c1cb1a75daf470237f15d093a4296a99568ebaf9f9b905001c8dffc606883456a7560d34ba2cf1491dc301279747c6535842ea5054103277bc1173ae27aaebb16f0026c41a28a58f6b504426e9430bab95054fda236c8e289ac491b312ccbb6ca9c62a231a8981f511c490c5294be98b079f52c35457a1330455a39aad2e7259deb022224657052a4e86531120c1fab5112cf207257dcafa543acd309cb2f363ed3945e7dba588d686b8ef38692924cbb683f246760934a3b2fe855cf9a0baf675b2b39b245637bf0f0b707434022e96ffcda02036c0af6c15764721ea1599f4982b29bf2c6c33639a97344d64c2d22b9ab7288c02d82c779e33224f8c8c3d619bda7129d026ba331984571799a148038db8d4a0accc00bc3042783218671ceec79f00849db496a038262fc169eb8c0a0dd3a9f6209460f483471126c2de1306f2c2ad9c37c54a93e577385f457852d39a9c55a14b3c753ba14201224439b1c4cfbaa3457da6fc3d1c21e40932b286c5cb70b293521b4a18334ca240ae9ae9c51687978b6908073114767d1e15ad32a6569742828c6388e727ee2294599c48f82815c0b78394faa64b0e86548f63bf45ac94d215ff51aa818d84bdee545d05cb76207048d650772079f54110dc1c6a28394754e9486d1421c2378cb6101be7935b58b0505eb2b5c1d44a2919cc824137900524d4721462cca43692aa4d5b0c87627a5b6d63ad00cae58c542052822a3ea0aee99ce22c96297f6cb15a63f41d727d8a45311d1305b7923e337829fc9bbca641706372b64d7a03e97107d90b09b1778cc100470d10692aca786237a8b7a752f023297751f112688fb412816a5b084d3a784b2cf92f25a894bb05164c9050b72c6da39f1e05c9ac1084b07d0d5354a15c9389cbcadeaca80613ab1ba336cb0db19e3c16744fc3d8f39c218b98e5f3a730ed6c0171a880a26534c8a9dc5c5c291fcc10a786d9c8a0323699d8be50637572e882c5fffc093e3d419ce4ba9bad1170b5a41ef76813d069ebd605e2505c0cb6a089ef1c61ab97423a62bee93cd67a09a43c68a5d5a3b7c605c106c9e69753cc06b637c000aed6775ab4c11c53b1ba2312ab1a4b217b36226723b6e94fb9da38ac25e5c44ec0ed73d6b04ea4a5956
+Secret Key: b8c95469876d7a13c8fc7467393231be0a8e08e7bd0e2c250a386b26f93741a56080fb3e77db157f84364e338b09f2364b398e8814438256b50ff56618170166e1482f3041bc8416fd178eead9b477b868f30b6e21bbb7d013b854c9a88cb18af6b38aacf38b30f12af6c22948a19da175b54f840afdeca522565d10506e620a61ce4c11acc67efb903fdac15982c6a0de844618297e1b269c02c67abda546121462e19b0525a24a9131badbe96a9c9861a3d47021b11cb91a3bf7213f07c49852c9c6771148ebb6b4c3607a69556bafb21e01b12bef0b4400500276a18fc95934f55bc8e3f9a5c6e06bb0902621056c31e125b9c203cec0be6953c617b3117a7a7d03a6be0dd9b519395ddafc2daddabd78f149044247a7309049899939947c15c360076c7730f354114a1e76d93254d465d6546c53526c448ace5b8007d2636d7551aaa6a61dc073c28df6342d636ccfa39fd5f8748e3556c011b737343e42bbca8cd606a01c15a377cf4e1682a477450b001857ba96df674b73b5a0323c29416b867e995066ba46c8c85a38c50cd8576a4343a02be85804839e065ba32a14844ee27f9997493bb6616b82a8f1888598f767b0d7c4504048b58481684144522bce7efca3837843d4da35ffe5cf7d982b23607e36c8a6a8306b210619d1d57db71c7b1f61b8120506a31891f8b88a9156101b6bb473f1877bda35aa7533d65023fb517996d53eb203152b3b55eb4041c3377013b23853b32728b4987659c097027831d56e9482c8f6c2a0d4f9771ff4a1390a1342dac5e0ec6872379ccabb1c64b5ac606b1f8366c3a5dc7adec3572d090d98463f0b65b991325470991c78b7bd89411194376a1045581ef21308486a26261e9832008ecb8b178341893693210032ec273c25679bc4fa9c97b25698d0144834241c66270cf00539009bfe9a590b66291ec8af04905275aa5d0385712a6182378a96c6861d7feca7eaa685e61aa52d6637dfa7c7675a364a7154cff191d468c092317f23ab59d119ad25eac525190080853759d6a8a7cb85b4d7bc626a675f205a0e04b04b6a3d56cb2b321a7c66d155cd11020f38363c2162490c4345f06093a80cec9420667a641d070919fb7c36aa96557a3d28e9966ed800e9816d7c78bd618a258d91c26aa9c2c3b383fdb0b36fa8a180d56ac7777bfd45228d152b4ceb5fed37ceac47bec897c25f7605057c1c4cc5bfdf85b6a54034aef9a433f87920123fddd93541db5dd45ba09378c5e7a57efae03b1d66be8291a715c572ddd70decaaac8ccbb0983b6ed7ec1f5e4aba59aba126557c8f5602242946e0dc4e24725b19b495c6378121fc72cbba4e9b63c38a090d6c7989c110ada0aac95c70c933e336614313a46c595d94198aec099fb06186377985f50d3c171192dc9141c33663072b9a6b601644c3368a1a56293b0691c5353685be2059cb7a80862970f2288b7cd727bcc14d785729c6f125d038945c359a4a6267336ac40c82cc86273d2b80b59d5a73e2dcba3260b00de67d20383ea1bcc11637361993527b905b8680ce8446013eb64918005bd654bcd17301c3e0723e4c002901aa0ce666c7c6118031bfd6392150c01a12b4245b890a114a8d39795984da480616cc0e9a39cb67c63414bc41002e63b87c73713d8c040bfea042c2d716e6104d3c4851b876a97d27a3f99039dc5834c7330a0bc4b9c125658d9c0a55a00cd6313edb8ac3d5b8cb4b138bb8247136391c1adb82aa9049905ba2f48248ba1cc7760c1d3f5789b477770b97887bf73f43ca674f4b2399fccecac6037099ceb9ea9c8a94638f1bb79a02abc905045a68be18e12b752c6ef19c4c20ba0c26b50b0c17989642649c27babc6877d1fa0ee5a99b585954226105d2a01946073b97a1a532437fd7a5989c668dd15235231c083d0c55fda41d8bfc026e6127eee92b08707212785b85435f7d9410d6d181b1308c7a55b475b75478e70771972d80a3bd565cb694352717885ccb382b366c514ae88c7b96c94bb8c693004337c77fd0729b72a84b3d6540f107813fe134e8544c9c7a58835b8f32a87588c2c2ca3bceb8550588936a4f3892ec89144f2a6691b46d1e661eb5e81afbf0a5b069612bf4139935c6b1a23dd16c1cb1a75daf470237f15d093a4296a99568ebaf9f9b905001c8dffc606883456a7560d34ba2cf1491dc301279747c6535842ea5054103277bc1173ae27aaebb16f0026c41a28a58f6b504426e9430bab95054fda236c8e289ac491b312ccbb6ca9c62a231a8981f511c490c5294be98b079f52c35457a1330455a39aad2e7259deb022224657052a4e86531120c1fab5112cf207257dcafa543acd309cb2f363ed3945e7dba588d686b8ef38692924cbb683f246760934a3b2fe855cf9a0baf675b2b39b245637bf0f0b707434022e96ffcda02036c0af6c15764721ea1599f4982b29bf2c6c33639a97344d64c2d22b9ab7288c02d82c779e33224f8c8c3d619bda7129d026ba331984571799a148038db8d4a0accc00bc3042783218671ceec79f00849db496a038262fc169eb8c0a0dd3a9f6209460f483471126c2de1306f2c2ad9c37c54a93e577385f457852d39a9c55a14b3c753ba14201224439b1c4cfbaa3457da6fc3d1c21e40932b286c5cb70b293521b4a18334ca240ae9ae9c51687978b6908073114767d1e15ad32a6569742828c6388e727ee2294599c48f82815c0b78394faa64b0e86548f63bf45ac94d215ff51aa818d84bdee545d05cb76207048d650772079f54110dc1c6a28394754e9486d1421c2378cb6101be7935b58b0505eb2b5c1d44a2919cc824137900524d4721462cca43692aa4d5b0c87627a5b6d63ad00cae58c542052822a3ea0aee99ce22c96297f6cb15a63f41d727d8a45311d1305b7923e337829fc9bbca641706372b64d7a03e97107d90b09b1778cc100470d10692aca786237a8b7a752f023297751f112688fb412816a5b084d3a784b2cf92f25a894bb05164c9050b72c6da39f1e05c9ac1084b07d0d5354a15c9389cbcadeaca80613ab1ba336cb0db19e3c16744fc3d8f39c218b98e5f3a730ed6c0171a880a26534c8a9dc5c5c291fcc10a786d9c8a0323699d8be50637572e882c5fffc093e3d419ce4ba9bad1170b5a41ef76813d069ebd605e2505c0cb6a089ef1c61ab97423a62bee93cd67a09a43c68a5d5a3b7c605c106c9e69753cc06b637c000aed6775ab4c11c53b1ba2312ab1a4b217b36226723b6e94fb9da38ac25e5c44ec0ed73d6b04ea4a59567d75d243da9537022e90c8130627e01ad3584c4746a22ae97e732a832b88649303908a12cfb94a6dd5af2ea4b605d6e018a990d00723d645ab80f409c348bd45
+5a55e8e8db68e633b70e4e6d2522f716ceaafcb74b8b1a0a49a5ac89df84eb18
+Ciphertext: 1e681e4d7c995a7d2a9cbaecb95e1a1a95584965605f2364521072dc5a3b3d0ae0455ba06458ceaa1588a295e946a08b147e1a75f7cbaf8b41e81402853d875a1d43edb3a12f44b99e7ffe2bc910d7d6586a7bdd401cded1e682e19b8e36ae6c7499404906e85087dc6e59fa68bca8f7eb4ea73f6a5e79c7d910287ea9e0091cf639d12fd8afbffed2802cc6f80471ce96d7cc8802667b6c892d4470892bdeceeb4e37f02d69d9c3d303cef24526e895bc00ba325f6c778a74b8b987c6f568032a018b4a0aafdbc1a9cc75a8515bfe838629d86d91125190314123e2da362e19dbc5f7b1ea2b38227cf61d45a8b6f51e78ed3b239008fc24b4b5f1571613351235a0626b928721bbe9c2f896ad0092f79bdb11a82e6b0e2b97b09476bfe4e118632f5006b068fdb14b52e23a0b0fc810a40380b95bbc62d81cf4716ccf56707b45b2a9e89acf6a9e175e938a80188de15e650566ac658b1c4f42daf0aa6e2582f89ae026b96acae41889ca89f8c75edb6f09ef6c9d054d734b4ad81d2f4d174e2a21d148449e6936149654ba246d3827a3f29dd638a884799cbb83062b9241f4382f026fd615aeb9f6b61fc233576a98d8a65505d29f744d35353f2b7fabd609f42df9dec4cd1bcaa755ec60161395be646394da1464d3781c712ca6c886ad56d346df0a85d021b7e8f63ef710bcb2179d62ebc27cf803b35f7e3dcd6768b73fcb33ebd55d95f36d618b0586699726c866c7397e741b42abb7278fefb3ba5e83b9b7a40c73682e5f921247b8a692c9d4191f64ddbc10a219a814fbff9a41d985d2621643e4a6a13edc5418e9d44910d5659d24171f411b534eaade1ee448947b9d464d64fa07607f0428c8818b8e570b9579df51ad6ffcff095627cedf31ee1e61df8940dbb572b1d503825a94137b45b1e01f61b48af1e9622a5d6c70eff025f04661d947a50d64dbde2b34d4ba08694b9a5d0bcb17d5b6f3f6cc2eefca31780320544997d7feeffe9e286f5f0bc6ba095c082ab1035e15955ce9fb10cfcd9b467a16619fa6a4e85d2b28d832bac2373fbcf959e811f9e2a3cca230b1cc7f2bc0f655440508297bf4f8349ab8250e5987622ca621232ad7bd51af9cb6b8c1ca0bf9a181b624060bdb815582def0690a78197bddf3ca6ee65d916a679b86b7f401f1cc829cf5c4f4eff0405b644b4f285bad6c86dbef98abadc589d8d68a8c660e8f8ce87e46d720d1afbee26a500ec2752f715a8441f45087a13db17e6a88fc2b6065219574e61b6c68972c09f4e3c7d6c34eb4f01f85e8a17db0dc1c720c8bf12781189a1216f67ca5135c5e594c3244af0c3b5218316461e4818315d56fed8a7ccdd46cbc1aad5660bdf5fe0e3e53d6745fce80e4e4ac75cec77291f6855740a7b38e1b85e46491e24e232ef44d01ecabf6c652fe94222f4e8a3850a11990025e1a1cc2c2ca0888ad789e80a4206180ad3d37072d29208290d91583c6120ba6242f7f705f27f23ed1c2e27f5e0837126efff7c8e18296ff8829b11104e560
+Shared Secret B: 5f35bb7e0cacd921f8b0ea44301072680cd56378c37691a25b43eecc21f5e554
+Shared Secret A: 5f35bb7e0cacd921f8b0ea44301072680cd56378c37691a25b43eecc21f5e554
+5cc769a3f5f712d5c1e7eadcb6300e3c9bb4254b303dc18e2f28747b4d5b6776b435082c04c3daed38b9a6e369fc0c83771420850c396742dae343a3eab5f73c674280a4b7ad73e72fffa57ec336320eb5ff03c0eb0909a2fb78f0066b35e0322e0af19d7e72eeff3f06c439543230d1a0861e21a0cce5366f4f38ca91d679a3a026fb53561a43e36f278f0a7fcb72cde068f07bcd17e2db8dd9b4663430f5d64fac8c7ef67dcace9434bc1e3cd240fff5f5692b51dc8e785b0494eb80a151cacfbf3d03d6d43fbb7e94f4db12bf0723abf2b01a5c393e7229a567b929426507c5ca929944288744247dff59a2e2aac7fc09018967d19ddbff9e686d44df45746ced230c1adc112d76017391c2221b9c850de7f16423c404aa571a49452e346178749d8b1525fd94180a7b53eeaa9dc544618d605c6d51c83371c00f2756aaee224f4adfe49efd4ede92f19a41fa4e0e2edfda64dda8adbdd0011f88d67339aaa88a0b25ee1703c2ece348e3e5486e0d66b91c9b05f83cd9756f3de918baa130f97a7c8ae2aaf7cf91b9614c853b385527e27c9d87ab3f24fa3993e5c095337fc5896c841a1654f5b757eab063fa5955285521731d9635b4cd5203f77b5708a57e872f437b1e714ffcd8377e16e06bdbd65b6ce5e4ad28b7eef2545a1367699aa6843c3d16243e09491f5ab7523c1460e061e8142405cb63a1700e645734fc5095bd41e597d06c4686b3823288a6f595e9b895c2195db8fce84290562533124ede743bd76d40c818dc2f6bf7a32a617918206bda9b036e52ed97825db1907ab29fbb7fb45fd6c01a94c208db713286cd466e447ab360041c0093051d2bdc20ac6dcc9793ea1b8d688c4f7576f8b26bff878c657e35213550975bf0a4d6074dc9a347429640bd88918bed76a7e083cde7bcf2a5c2a5e4b8e45dc4252aa8722f06991754e1ed1e5173066570a3b556f7f3519da035932ae8b75ff426e926c59c7c3e897b5ac4e53ff6525cd1eb918ec100cceff48fd649676a456a8ed4b2dee0b7bbe5a41db344744bafbd6a953b285a506d0891f72b73339496da727c52ae731bfd4a94875ee155bbbbbbef3acae8e289a2465fd8714b0690d88b81a3e8e8dd5e6213c5270b1bdd681caedfe874d038c9800b155523744e2252425565bb3256d8722b862407b0d7eef15244d463ec6c040456061dda9c4d04ffddb4db524121409663c97bf7c60d82277a2ce2f1ca4cb9655235318666dd42e92050430662d0bf9f268fb761020b4417e2a5e9308091106cb14a823f1ad3fc52209cbc8792c6000dfbb8a52a5e09fabf671530f93392efb4d7fc468284c9c10bea471822deccc3e423200e51894c7c7f40ee801416fea6e5cda9ec59444645f4b2cbdda42a9779295b6c863fcf8b49592e761cf94dddd8de71196a3368c7c7db5c7f6e3cb2450a712a62e7ece831dd6c404d372f639a7d12d810efe6bb5e59ca75cbe0f9105a57ed3fcf80ed68f2a948dae1d3e257562e94dc69c17a49b49235c53f0ad6c80716
+Pseudorandom shared Secret A: 059790fcb77ee0a8d9a432574fe843694ff7e78bf3aa6263019672ae924e55ad
+e20169fa525d31931eb5ddf847201975aadd8396134eebb05e1d7b2f89e114a1c1551d40f09f9bdf84c08c776a279f5f16167784ec7403204718d7fc13bd0fec
+Public Key: 21972f8e0067c6a0ae3489331d194afd3b2d15b446a00b01df44bfdd174af43ac9a0a6a9cc911c2f805797ba9a27a785fe7c3fc860488f1b3d50f5241fe942ba53b52ae139b03568a0795c40a07ce90a5cace2201fb09380b972af274601fb575760131c2229f6d48e4d7c3926e94c41f2a042744258674592472f1c2a8b5025a5db0ccb3433a63ad7035e729bf4442781527ded7c2d22062a78146ba1b6a98a244bcc6987f8a3af12b4a683e64581196e2c93955bf65672ea1c259117666b4667b33137fb04540c7723e8a07128b65c4154a02691dbf480d33642b4704b6961b271847a0747769ec2b83ee16daf9c0b3431b6f5c09bd4e65b9d306b54fa8bf08b22bc0b5eec2a647d2a4a9ad1a5f7c46108a05fdf97c970db9e3a39c4ff427b1b5451e23958ba4b0111f93d5b387b8294057f12794a80569f675b9984c0dc070689bab91289a517e1274d6c778b35bd09a415ee745e99746696b64cc56b9ab66c4ffed3183c2616697123dae012f6108595e67814c68f0441bb20226781a655551acd68c47de14a45f6916f6e45b1603a31755464f27ac4756a2fa5925acbc417f93193bbb76f3160a910773c31c04ece02b3224853dab7aca8553e62516a29c40593294af3658d2c73071ed65e22419152c1421912c23765a9eed34dbecb9ace3b77f77300e614a692b03e75935fa8783be4d8c645f2cb4606b9c296889eca471df3242b529e2feb1ec690ce22992f69576323198727140bc93863b9424239d572104a3e0774a883e01dddccba6d3b5257c527028c1d17a72590e7254ad15bc0f594745417ecb11d342c384f55c3b917894f1731a090c851bb7ade0bc2e32336591b6f915387c85806d238240b8c9f9336710015368d95073f391ddd39595f3c766c0393bc373055f929c553b98797183b619595facb50072bc5c7a2590a13304080782055f8d589db42311c328ec6419fe0f943f7044fca812cfe69a837896d30c0b10744b29dfa4ec007033d8ac757f9859175779857c057641f65235a32127ae734135493941ba59d6a7a9bdcaaba30f15c99e99e859c41f3802ab48c29ce3b8258a05200584f35089c8340736a8b3594cc3259d1c4a14c34045b11ea95491ef61ff9a94e10eb4b933a376f153fd6cb46a7b44b6cf30106461fa3162448e35d6274952cac708d403a651a33127c6fc9842497921cad619b88221c5053b3a2f36b9158419aa2cc264c4bc5b5a9b297a3a35385b1d621f0769bcaca35238a7c26567e4d29a63e5049d95950ac7b2d189816bfdba0fd89696fb9ce7ea0a37ac6be5e52c1f166747c72b114e7787aa2bc30e8135ea82c6ab14017524b0a2505efa34219d365311a2983870319d8b56a8564f0781118b94e505c984541af5e67afa3d9ce89f08eb040bc27c59cbc873c429a772b8266953c51974969a6701d4bdc32ea7a7329d3396ce5ae27ac60332635bcc051e8d7c3fcd3c5cc302dd9a55abf6bb692f27416267696c22c25e13a1159126b016f237302fe06ca0de116c417317a6738a47882d866c85de7535516b4267418fbf4b1c4b3527016bb73e30e1cdcb15b2497516014404a85cc8acc6e8260fb4cc044da26c50b771083b666d27ca3fd30be8f4c833890f07c5a00d92c8d800cea8923fda8910bfbf1b8ca80a546
+Secret Key: 7fa61f153cb0a7b3c6ecf35c0ae18913106dd2543982f58c48803c2eb357641b3a03f08a1f1a21c2b574e3e420fe8669e7e46240c4a4fd893b1951b662785560e633a8887ea6b705ac7886cae31730624fa1b97ecd9c92fe1ca2334a560e762fe4c36884366f64f5577aa67e482a834b9a5538752ed00bbcef0487851870cad9c0ea2bc1ddc719985864ffc74f83f865310670bedb57c806701e836d5399718624ae0fb957a0376a77a5a15b64b68553b65d18114fccb80b42490cf142320b3b021a15ce6002ea16cf2f48cccb63583db26cec56b7798080c5117710136f846b4c722603205c5ba80a5aec62406b521b98b0843082453d364ffbc06754362380c97245e343a2e5cc03a37fa12748dcd5350ca0a7959440078286a7ba1cec595fde45ace65a17b183a421e84d49d49c76b66b8b2a2fefcaa8ba09ab32200928bc35a43101cd764cae6cce5e1a69b52b5ca4295086001edbeb0ecf1033d3681430674b3fc0782c719b3432b49e4ab594d39e6974400e904179434a10eb10cbc34e000cac72407eebb5ce203692a8a8bf5f6ac9b84c3a48c2758ad45cd6f01d88f57790c0cc443230ef31acea382b9338b9402b6fa60c60f161b8239724f4daa98aea4507c08a858b5b53557e6024045d2a20b5ab86f2b0bcd02c14d874383aca7da8e757fe233ae434a49dc1c455920f21d36032823119f85b8ffaab9904cca7098120677af6c01d4a4245bc91821a9a7ea7cb1f06801279c66af630cab9e485fdc9471683092164cb40a4973b4a7ff9d95a30055de6732c35268636b18e8bc56f1c0a7a78794f59c99240204ac445112426603e0316d5a41b8b5a3075711f315ba0bf417bf02a36e775aa04570649884f8c5bb1d28585c7e0a6ad8c2ad6dbcdcffc9b0488bbce86bf5aa5088edb1c54b625dab7452e43251107b08de4c302bc55a4dcc15f56563ae509748164abb05e8ee80177e34993448189d64082c9b2e9a36445f87b61fc8aa8f0281e9487174100ebaa97da52559d260d52829741c350ac2156ca5a9485915624ec933d58ba724a1db4963dfc83b32276b4072899901c153e20320c05923d3ac7e5279f37578d6b481839558f9df4b19dc11039e854d60b642e0069d396325d81546c0671c8134127a437efa7c1d7223afb1c34b6aa82e79c41da368d2233ad27cc9a44d5773a742ada308ba1861cf7d02b2c8cb6496261f8ea7dd3335a0823c1efab58750452079b2f5ae8617ee7223df1abb0b6bec4e2940adb0a77f570f2f3cb5bc79bee77cc01f4120e04cbc4c8baf8c5c6d0113fae12a94d84bfd7359e61b1a3dd078e477689ef4283305b656e764749c646e4175086e49571886b1bba98a7d1551906009a46a489191ee3880ddc9a15b084c308505ba344ab478b008bb98a2f003f490936cbe699c904781c7cba8826bd35187a487438675bb7b6d481c0da9300d963e38148a6a57bf9548592f5814e2a74e477051fe58892c8162ac0c9d1172bf9035d75fa404f5bbaa81b79337b84a641abf807bc064c4b7589751c11b88a508a38772fa420047ed38fdb2b0e98b21c3bfc86abb471fc8c2858d60e5fb04cd28b01de848b0ca00a58b526e6971c67028666ba6021972f8e0067c6a0ae3489331d194afd3b2d15b446a00b01df44bfdd174af43ac9a0a6a9cc911c2f805797ba9a27a785fe7c3fc860488f1b3d50f5241fe942ba53b52ae139b03568a0795c40a07ce90a5cace2201fb09380b972af274601fb575760131c2229f6d48e4d7c3926e94c41f2a042744258674592472f1c2a8b5025a5db0ccb3433a63ad7035e729bf4442781527ded7c2d22062a78146ba1b6a98a244bcc6987f8a3af12b4a683e64581196e2c93955bf65672ea1c259117666b4667b33137fb04540c7723e8a07128b65c4154a02691dbf480d33642b4704b6961b271847a0747769ec2b83ee16daf9c0b3431b6f5c09bd4e65b9d306b54fa8bf08b22bc0b5eec2a647d2a4a9ad1a5f7c46108a05fdf97c970db9e3a39c4ff427b1b5451e23958ba4b0111f93d5b387b8294057f12794a80569f675b9984c0dc070689bab91289a517e1274d6c778b35bd09a415ee745e99746696b64cc56b9ab66c4ffed3183c2616697123dae012f6108595e67814c68f0441bb20226781a655551acd68c47de14a45f6916f6e45b1603a31755464f27ac4756a2fa5925acbc417f93193bbb76f3160a910773c31c04ece02b3224853dab7aca8553e62516a29c40593294af3658d2c73071ed65e22419152c1421912c23765a9eed34dbecb9ace3b77f77300e614a692b03e75935fa8783be4d8c645f2cb4606b9c296889eca471df3242b529e2feb1ec690ce22992f69576323198727140bc93863b9424239d572104a3e0774a883e01dddccba6d3b5257c527028c1d17a72590e7254ad15bc0f594745417ecb11d342c384f55c3b917894f1731a090c851bb7ade0bc2e32336591b6f915387c85806d238240b8c9f9336710015368d95073f391ddd39595f3c766c0393bc373055f929c553b98797183b619595facb50072bc5c7a2590a13304080782055f8d589db42311c328ec6419fe0f943f7044fca812cfe69a837896d30c0b10744b29dfa4ec007033d8ac757f9859175779857c057641f65235a32127ae734135493941ba59d6a7a9bdcaaba30f15c99e99e859c41f3802ab48c29ce3b8258a05200584f35089c8340736a8b3594cc3259d1c4a14c34045b11ea95491ef61ff9a94e10eb4b933a376f153fd6cb46a7b44b6cf30106461fa3162448e35d6274952cac708d403a651a33127c6fc9842497921cad619b88221c5053b3a2f36b9158419aa2cc264c4bc5b5a9b297a3a35385b1d621f0769bcaca35238a7c26567e4d29a63e5049d95950ac7b2d189816bfdba0fd89696fb9ce7ea0a37ac6be5e52c1f166747c72b114e7787aa2bc30e8135ea82c6ab14017524b0a2505efa34219d365311a2983870319d8b56a8564f0781118b94e505c984541af5e67afa3d9ce89f08eb040bc27c59cbc873c429a772b8266953c51974969a6701d4bdc32ea7a7329d3396ce5ae27ac60332635bcc051e8d7c3fcd3c5cc302dd9a55abf6bb692f27416267696c22c25e13a1159126b016f237302fe06ca0de116c417317a6738a47882d866c85de7535516b4267418fbf4b1c4b3527016bb73e30e1cdcb15b2497516014404a85cc8acc6e8260fb4cc044da26c50b771083b666d27ca3fd30be8f4c833890f07c5a00d92c8d800cea8923fda8910bfbf1b8ca80a546d7e6aaad111c19e03a3f3bfed821a83da50e1b5abec4e64d87efc94672035519c1551d40f09f9bdf84c08c776a279f5f16167784ec7403204718d7fc13bd0fec
+74eb6e124102dcb3c69773c0337758a0e0ccaeaeed050964951e95bd210c481b
+Ciphertext: 5e7adb921df588ef2474063f34b57843728e9836b93209a442a55a5053281ba6b3f8f66cda928749d38188a4c5efc32467b1864e17634dabf69fc36b66bf916f3774bfda6b206ffa2be2fd193f69c52a14e896d1175f30f601321e64b22460083f7a680aa98077ced2434642d9685e43bb18c14f04c3bb70c03f63f99058a131f001dca5f4ee95cac048627bf9323533dcfc3848426dc2978e26e26f852c7ae656ae30c30acc49685d2701a9a6525df63cd103fa9bcc56be8100a8fa66a0208d8cd8009b0ada946f21a0a02a4a68d9e11465d4b946068e4cbf578f13b40f95be9cbe75f501b8eec7d4c06d22fb5178236f172123f63db2d209438e4cb4260a82949063f42d17b5d5db613797ff0097066d664efa6b25e0c58b35e2a824bdaecb3c18d18935141a93384c334570e9ae0b7a1fcb56c753c584abf8d82cd68a460ee376ff5f288d37e303be3d4db1d7f9e6ffe82b726fdecdd45c3d9e77c0906395a439037a4c100b7697f5bb4055d7a356b258ee3cf1deb9a5b198d276b35ac0b3c8a1bcbb6b49c05416291ea424b4b54ad711a81dd14f1c39c96a5e78319ea7840f0c810a763c83b51f3758aa56eb895dff2abab9e0194bda5ef551aa8d9cf5fb774076360297ce34611970deff6445c8e928af87f94b9184c532b86753a78bb0b78213a5aee9c27cb1c38287778f715ec80d1b585fda0d8a12b83bb08c0845ff2cb82b59359d9a13e4d343c5dc5791881f887d261caef25eff817b81118bdb2ce04b611d65ce00c492a9dec61ea959787ac0279a92cc37b32a5e7f2bcd100f12eed742ff619272ac752791b280313c3393d2769139b7354ff8cc3b4a1b22948f92d2f2a7adfa91549678af0ccea2375b017f4d9321f456ea08be9b410ce66d4a206236a4987c3a823bb90e95f2d2f0354026e0bcee4f39326d32963845d56dc0f9b8515891011961324cca429f201048991dac5ef04dad48acdb7fe5bc4d8ee0adeaa9ccc6db4ca88ff1247a743b4e9fa41f2d644877a3e88dcc6681418ebf583ca1ddd955d5d5f0f00c270013c709a9258e0158b12e7f68b6d4bef71d1905957c6dafecaa6639de5c3f4f17249cabe4cbaff13246b104ea9ecdd2ebe6e3921a1599fee5a2c11435b666763e9fdb2cad27d6107c0daeaf931aee93f580337abbe5148a897249a73dcded8e5f4a97546a899a8da9c14bba3d1168dbf4d936e6a8733aff69f9407205f30a64e9b73ae5c9ea361d7fb62e3f1009cad9cd89532fd7d00b44573335038eb8d725fe990aa3313393e4c8d1152758ded312e8b62eb22905352e9f2290a7791c67f4d418fcf729e678e2d9b9520bd3a3a910d4f8b870b55e8fce0115de375041400878598894a53b41a7bdf223b3474522a9972a4e2eebc99e7ab55e02abe7568386004b9508e6cc8eb6e8f96df89d8c87142e665a74bd76ffc2bd01a63e57a2519f18ecdadab9889c29f76c00a1a2773c4629f6c82d21aba2d7e374000f688cc03a415e4cf98c1d057b467a3a7f77e6ea7ba34f02fe0b
+Shared Secret B: 1ad24332a28be0106bacef377e00e796d1c5edba35ff07e1dd5e6b964e811714
+Shared Secret A: 1ad24332a28be0106bacef377e00e796d1c5edba35ff07e1dd5e6b964e811714
+c0e7c976d8cd8fcc99fe064a6f06c4f07f3f2e889224141910acd88457311f14274949bed90063e2797fbf8848938164aa708cee7a1617e6728ff2bbb696898d22546ccf669d6b759bef28ee26c64bafddd29dd48ca70207e227b8f3545456b166f2f72e98dbf9644962bbc1bb428d67e95e20ef5d6c374bf330237cb396d3a624808efa5a3f5c0fdc5003cdf109b49166b0db736a1e086a7b23302783c12fb370fb78f2ebe56c50fba3b939303bd40461a31767a361e19d4f0b0547e62ec1315fca6a538ad185d246b90f18ba866a5aa18bc4dc7a089f551f697a88b5fa75f58236bf57ec2f70c8f94a612ff0cabd8e1d993bf9ca8c742c59994b43f84937b3654a83d73620e47bf9fb35999b024a7d7c73fa348f8730855e87bde7db567f9baa29aed0b1841b46f6d78cf8d2743de486e44e39da76ad5e35d32d7bed20b7ff35dba1f6b85125d6899a6a0ec3ccbe3a83ff58ce39ff7575690def4c4195e29978b75c432521078cb2e9bd04b670120d8037a95f469e44e61f0abf427a2f90e7e086e3e9e2d0488ee955927b13edabbef440150a968800f94dfec49b4ce9612f3f82e73f7d23a801ee112fc35be00c237c589d92bce5341f864389cda9890782a64f2d5a35cdce1a54b5ac20d7cb1faabff329f11ecae822fe3f257060330b87736bebdd6a6a53679878f290e0fa2cb5f149ea089406be2bfed76c0cbddd513dece9a3f63ca969578c11eb684ab5c32ac9c39b70c03c9bbd8a4d89b445e7f893d4fe8e8d5e7b80bc2872e7c99e136158479f4d8229ed0334d88f774735bf92634b5c540a3c1fd199d0ed6c3e71c97214d1878dc593751df1b61005cbc3afd5bbcf49bf3dec3344fa18615030506206813f1d3aa829efeee31e30e3e76474dc4ff12d3dc3b74e324abbca1b2f656758b4dc77dc4ea21b83c77f36f98e64c7bb695bcf1dc4f6180aa9f62880a38cccb52785948f5dd4e41873f2a211dbd171f08094728814049eeb16e9af9f145a035a201e043b4e8c63e432ea4f13a7207b3e3bb141e7ae0a65c9811902134aaf1ed8aae5ec46d09739e9116914798b5bcb025904a6fbecc799dab3e5270b68ec068fbaa12717c6abda151a910d95f5fdc70fa5d356b3743821a89fb6808d359580413dd6657b6ac99742879a9d6a9ed61fa259deafbbbcfe9c48b88865a17e743cb1b2a43dba782502836b64e9ec1ea575ca70dc5d6caeae66811bf838cd3e16b30d124b4c1afa2bc663df3f7f970768f8ae15392386a00703bceadd3022f642fc86cb7d24452ec890276951f74a79b89a1b2c97c29f7292bdb13aea4fd335046aae8777b0ceb4c2c152acf512ae8a1dd389d66c3246b386e0376b640b931708280f3844dbdaefef0e0f19d5a8292af34424a6a63d97c5d0bd324262b8db3034c2917f304f52a7d47eb7f77585edc1300202c276d099168b176ada9ab636dac5653c4909b12ad75558a6f46a5412da48fba5e298c067717402d17f9f921d9e3786fbbdcc16bdf0701336a665f08cd33d66becc
+Pseudorandom shared Secret A: 6e70d6b4e4462210b03bb9febc6d68e1d2b551888e43209b9777f581bc6de6eb
+0740cf675379a19356237def5b75eaf56beec911bf8ffcb59417a69b0788964b0bafc1442f92e6c4921dcfbabf6a724ad00e5301386806ea243d002e760519e5
+Public Key: 3af7910aab9151081314e06156670876f05f982ac1980c0ae844b31fe89cf1851d184c2a8d99a8da6ab72c5465183ab4447a0d2d08189a023444937af3bc5ed0d3ab69507fdfdcc0737209a8d2352ad83560a7c8c525a93de14662837b4123a88e35690fe95ee36b8a6598130f2a3334e05f53731992364ee8b32dcdf23ac00a32bc7929e8865e8658a66e676516987a39a29c809571c5859994e244d5217c47e774d2c336fb7a5241133b4f03c293c81449da6091488b71013c1a1a794ef48c737c4d52b29a2753b8709a042f7c7673a27de349bac1ebbc18e98896e14690f17a46ea2105889c99256e7b2bcbf7b193acc0789bb0101eb90e5e4928e4b26145256b93d9605cb3074013b2570cc4416777a750bd13fa9797770c500528330caffe4a529d1c779d919faaa68ab3621571c9c360f00be4a95d3aab579f9b31b6c7a6cfcb6bcc72b1579924d996988f195703044c1ab4a6765bc3034b52066bae326405f76a888dc8b17fc41e2abb740269b3d4322c6ef5b0616a428d30b681b878c18ca3a4c01a793142363c1c286b8c6071635b409198a030f56900a9356540a82b7e1a2dfc0278c95436c244be86a00c4b1c046a0756bb005f27f4c90c474638ea4b3bd83593836b5f46921642b9dbd7ac0dd861f7b2bdaf5042765588b684a69ba967efa6c256d1aaa1a09a8f9abbb37ba00b88801d88ad8f3a8424878189334f236581d8264cc8859dce9ba4af28587370ba9467cad1674baebb3971f5456ff9079ba63a52b344921b2bf34a9e2049a4e4426e02836f326aafc68821f0792f99b5b9c1056cffaca843b63e3cfa48edb7778e790fe5a7593531197e460e451a4ec621c02fdc8f0a3383650b4f26a6b6b9b3c399f7c0b313a8d5e3105d8b0c4b9aa401d3159c86482468239d90c4a7cb051f239cb3d1b39eabbe2d513d5a2853c0804e3e6bbf08a348ffa332b89097c243c201fbb39144423ecb813ae74a8edbbfc8800055f4837152c3f3119f15205dce8230ad56ace515c6aa1373404b4e2f72974f113338872735588d8821ba2e1c318693b3cf9b6aae5a6abcac8dbbd86f05a02d94386950c8234c058795a53d7a4172e21524d0c6bc953c1742f56b92660678215e497a5a64bc001798b4212cc65d0726814c007f1b83bf25b6f7bcb32f2b057f646703d3c24289aa482c5f1bd8275d6ca26528be902a63847986d2fa5fd57bc501e9b408f60494f98f68d935a433192bc5be9187b178ab91e3173edd4772d94625cd3ab71694aac680af73a27e6e2316a3298e0ac0424d4500c5ec394d804d0bc03a571b8eac460feaa50f796b0fddf57102741f046c02e86b40ed897c0f6114e34a56615ac0c9c39fa6e599684b10b26084d1b418d8c86ad286970f764cd9097284bb49b53a4cad3008d1601f2737516b7b05d52960eddb296c6a7b8043824dc5cb031548b0a511dc501b006888aef56f3290057711071fe13ecb2422e70c56407029ed44589377b251b53a5fb54e76e312bbbca291c70d375769576103454cb63a7bc71f194fdb04cb7223a7454981894c4eaddc7da7a7ccd4161933bac2eb36be85f96d05f76137043314f859657780eaa3ad63d52226e64ca4a1bdf0028ffdb48ba7c6dcde357c98ee3ef522795ef5f7b97a4a40d6752935c8384b
+Secret Key: 7b415c906b736946025100b5173b72b15340dd70b2f270c4afec91e482084afa7f869c3b8080a9c3345e37803950242a07a2b15b90a8ed3a225559b674a8250ba509abd2716d37b154ecb96de651302908129786285b31c0c67410cc34fa7b13106026cd2188d3854db97a1625a372791775b870cdc11cc09f99b522e796c5050691057f0361bb80d358692396d0e4a176f258781ca94ed3acc072c496f00efe435343958bca28cb97b7bc8b9599e91b62d530528203a28ba50718300890883134b2126e425a3bd092139c97083a9d83473a252c0d851776f8659c98bc05bcc50152683a7e2802a415ac8bc3cc8805bb5d89091837408ea90f27161275ab4ef5f46be5a3720d5136417295e9a72619bb3a23ab00cc737477970f28c8a08a28a87ffc2cd596494e186999eca73c5c6ed6b7280ee693fe436e17e7a09a89cb09cabab0b07795a44fe5a1bf4c917b0e8888e7f0cc2ac2ae8bf620f31c957efac0e2646de7614061426692ab0f7fe3c792478af139250c685ec8c0220378706ed3aab3219321f0980d209b2dfb19d5c6340db1c775080590f72bf9f62e633b91e9b9902c612b60acc2db259d72ecc159775d9dc6cb3c529c700873546090a2292f11d055932730b37315ca40078aec6f9d326230051d81a56c4aa4968a5a64306814dca25a9a99ba34d2628733baa92443c8f02ff846bfa8312abb13b0794630dc3650f6470de059866f713030bbabc9f465f004ae7c8848de7ac851629efea3387f198fa2c3577a584e102130b5b51c5f5221ebb5aa970b96fa02ad1c4b9bf5162b058702c058417204cf536a17958067125264ce0ac25b8a7ea0727e5fd08f6389b1d64aa0de6375641b6bead67127702459c4cb7fa50dee189d80b4c341b935c31170054081468818d8a210485b176fa76dbe92957bab0e8ada9532b81178f017ff42643a3b72d64b2ddcdc667636a98cd22bab568ba4e6651b2b7ecc60a2ea3524bbd77ae9e451d1b3913bf3a880622c41d86883e8bf218ab25e3284735a725795b7d5d60e69e082b7e9089c156da1a188ec83118d79550b331a8d05991b6073b564320ce1bee1015b97d068c507c9ce1c1078bb246378aba3a2a19b504b1d55afc0a5a9e4a130e74044d0166cae0331da29489fd283bd6b689a74354e0c883ce9a480a051aac33a79a9a694561cb0550aa036632d0a4dba82764a263721dcab923a9ea88c4798274c3941ac3e15bbc139804ed0826c9598d1bb2397512db9bab32720076fc7a56de0b62fc655c797c329d81a265212e091a754e30cde851acf9a01a676ca853701ba24818d3687d3022ae53ba20921aff1948d821b8e8a1161cbe58f19a43567b70c3547ca06d81db036651279beba225d42c381c75b8df522c842fca40e925926d79d2981aeb2946c181b71f918af65fabf644b891ca80d2e585606979733f928e8eb45f3f33eef379bd87478c00bc200fa4cfab63d19dbb15251a1122c6fbea2cdf199bf35273872b0b95766a932194194da58b2d13be99044aa8806e9fc0ecbd795f8364d5bc74a773b9c038361a8a83c7bea4c13978f48766aa8d5640ca8ad9edb2d5d1656d5670eed846111f3b2e31495f4026cad747c3af7910aab9151081314e06156670876f05f982ac1980c0ae844b31fe89cf1851d184c2a8d99a8da6ab72c5465183ab4447a0d2d08189a023444937af3bc5ed0d3ab69507fdfdcc0737209a8d2352ad83560a7c8c525a93de14662837b4123a88e35690fe95ee36b8a6598130f2a3334e05f53731992364ee8b32dcdf23ac00a32bc7929e8865e8658a66e676516987a39a29c809571c5859994e244d5217c47e774d2c336fb7a5241133b4f03c293c81449da6091488b71013c1a1a794ef48c737c4d52b29a2753b8709a042f7c7673a27de349bac1ebbc18e98896e14690f17a46ea2105889c99256e7b2bcbf7b193acc0789bb0101eb90e5e4928e4b26145256b93d9605cb3074013b2570cc4416777a750bd13fa9797770c500528330caffe4a529d1c779d919faaa68ab3621571c9c360f00be4a95d3aab579f9b31b6c7a6cfcb6bcc72b1579924d996988f195703044c1ab4a6765bc3034b52066bae326405f76a888dc8b17fc41e2abb740269b3d4322c6ef5b0616a428d30b681b878c18ca3a4c01a793142363c1c286b8c6071635b409198a030f56900a9356540a82b7e1a2dfc0278c95436c244be86a00c4b1c046a0756bb005f27f4c90c474638ea4b3bd83593836b5f46921642b9dbd7ac0dd861f7b2bdaf5042765588b684a69ba967efa6c256d1aaa1a09a8f9abbb37ba00b88801d88ad8f3a8424878189334f236581d8264cc8859dce9ba4af28587370ba9467cad1674baebb3971f5456ff9079ba63a52b344921b2bf34a9e2049a4e4426e02836f326aafc68821f0792f99b5b9c1056cffaca843b63e3cfa48edb7778e790fe5a7593531197e460e451a4ec621c02fdc8f0a3383650b4f26a6b6b9b3c399f7c0b313a8d5e3105d8b0c4b9aa401d3159c86482468239d90c4a7cb051f239cb3d1b39eabbe2d513d5a2853c0804e3e6bbf08a348ffa332b89097c243c201fbb39144423ecb813ae74a8edbbfc8800055f4837152c3f3119f15205dce8230ad56ace515c6aa1373404b4e2f72974f113338872735588d8821ba2e1c318693b3cf9b6aae5a6abcac8dbbd86f05a02d94386950c8234c058795a53d7a4172e21524d0c6bc953c1742f56b92660678215e497a5a64bc001798b4212cc65d0726814c007f1b83bf25b6f7bcb32f2b057f646703d3c24289aa482c5f1bd8275d6ca26528be902a63847986d2fa5fd57bc501e9b408f60494f98f68d935a433192bc5be9187b178ab91e3173edd4772d94625cd3ab71694aac680af73a27e6e2316a3298e0ac0424d4500c5ec394d804d0bc03a571b8eac460feaa50f796b0fddf57102741f046c02e86b40ed897c0f6114e34a56615ac0c9c39fa6e599684b10b26084d1b418d8c86ad286970f764cd9097284bb49b53a4cad3008d1601f2737516b7b05d52960eddb296c6a7b8043824dc5cb031548b0a511dc501b006888aef56f3290057711071fe13ecb2422e70c56407029ed44589377b251b53a5fb54e76e312bbbca291c70d375769576103454cb63a7bc71f194fdb04cb7223a7454981894c4eaddc7da7a7ccd4161933bac2eb36be85f96d05f76137043314f859657780eaa3ad63d52226e64ca4a1bdf0028ffdb48ba7c6dcde357c98ee3ef522795ef5f7b97a4a40d6752935c8384bbb64d3f3a04b61417d9d5af012ebbbb9498f4db46fad1d006b10a141c6fc44d90bafc1442f92e6c4921dcfbabf6a724ad00e5301386806ea243d002e760519e5
+1e380fc1ceb250d7f11ff6cac5d279f7df89c42a0155a80d30cf942431c90d7d
+Ciphertext: c57b861870991de0319c3abe7da9814d1fae6c23ff5a95cade8ecfa3c3ee10cbabcf33f3d0070b19046e9c65a79f919faa8c81bde8196af63a106f2962b1c7a941180e87180cd009bc48e7807b0619a24c8697de6489143df643bc3e10c9df9ed395f14dba7f449fac594350b125ad17afea4dfa03e5c658f1e348230b17c888df60e41ff81c5656e1d5888c9acb0f90e3dd4bde0f2aaf12d3b5efe01eabc097c78b3164987e28b22b1c73a36f41abf21ef83f0c3442aa9135a8ca07633840e1078856a6b5a1fa2238a8b6b5abcc55242ad021463ce74b9a5ebd9f6051b71135a37176f7e65d05020965a03e7c256981f5c0c2bf9f40307cd4f887d1740a0d12901f8e613449129bb275517b8f0ff1c999389768eeed112e9f5e13e8500b075de35d429bca7919b03ab4ee97ef01f219033c298c75cf656ee802683bdcca04bdff6e249b8c8f8e8b20df8be8b500a25aef5b7ec36e251066ed0f93875c1805418b2d194ae3bd05ef2ab216badc541833b07a3a8acd47cc4ab9dd8a5726bbb55331318b5a1852c780778df2f6bc20377f3d9d2acc0b6ac84a8fc5bb3a8648389a05e87c0ebb65fde5208899aa80d66ca8306848e51fd22d81f0d3410b824a389ee17424aea8414bb8c09c803a7d49d5009554467a81ea6b7fbd0d51b1a7b837f3fc231ab64b7480531fdc9fa78fe3c0b98e6e4ab127d968bf1baa788dc15f55d780303d5c0139f673b080c9193bdf8464122fb7e46e0660acfcef169135455b53423179ebc9cc9c7dbd2387377a218744e42b07fbe661a142ac0163a9454fd3869280f9cfc1c0f08eceb05a4f5de2e0fbf71c6f009b4430e12e9fcf12912f804a20bf31f2c0af80735bcce8c4c994b48246ad59de0065ec5b4a34290f70e836029367cbcc183aa82711e6cf48ab83ce332f7a6e66a238d3a8a206dc2f3302c34a722f94b79418f9a8fcf54f4dd6fc30881f26d99bb55bfd310629026cb27476f9901a157ffc9ef49cdf3cbf69cf2415082556fe27800421336a7f75b5d5c5bc7d122e92651c600a1cc56e8a5c89742511954c1e60a73983faac0cbce1421744eda693092ebf94ee660580cdc9b46832c4a228e57ce9a46df997173f4cf874560ff1ec433c013197231eeda6f7df40e5cce6c6c4c66960ba38388d68c4ce3a69a94b0a2b60c2395250a5a67c0afe95a0a3f76d53a76f9b69db1be05ed8a25f7558d3137e7ae8e2d41c2029ca86184dd5d2d0d3c5ddce494b85ae848a537ceb6b9a7bc80671e1aa19bbb3dccfa5d6ede92ed0f3446cebc359f92cf5eafb4cf5195fea240467156250927bd479bb3da0170c4bc75cd1114bac5530332acfff57b40eb635622b872e79ba3993e401d0778dcdd74fa2e05d5362225af050923fde1250a7de81e3678b7344abe574bfe4de8e9ad03de754283b33fcd9601eca4664b5c482d2f9233e7e727664bf35a5bf6d2b98688d6b4ba9cd4117fe4bf5312af71e5fb4b9f2799485804b012f3ed525493b15c9bcced89847daaf38049767251fac16
+Shared Secret B: 002c83074a71401678d8a61343bb457b0ff6c754e5b8d4caae0a5d740fc3e042
+Shared Secret A: 002c83074a71401678d8a61343bb457b0ff6c754e5b8d4caae0a5d740fc3e042
+fd529d2b299c053a6c76392be9925900fc5eb650878023ef5cc59e715408078dcd43e04b8d6af6f12b78ab1ca7cf8ab306b128c6a37bd3020dff90aac395ccfd2fc2ca164155a9790cf660335064e8e810d79e344a115d2ff3f6dc19eaeb8394fca3cb4f1b9c4892c84798d10041ee79517cff067aa224ac7c307164c68f1750cde0a87ed1406f22942ff8b5baa930abca48ad5e528a6f33c7f5c9bd08b8e2580c1b735078f9691ae91d87d7ee5df03e4016ea417a05dd135859a98fb53911f599d53c709d527ad442406ed6aa64795319a237eb862c5e4f44c2aaecbb597b9dfc59f867f3f5853728f6073f5f70c6ea11fc0c33871279178c21a0754dd3355314a29082b36e6a2ffaa19fdd161f2cec180a41f01e6652c3c9c116e7e2794aaf9b0a9e1a8edb3b97ef475f70f3f90c082e6c436940df5085469bf1a0ae2f74cbc78ad612341dad839b98319e77ff71731d59d399055c43c85d3a1e071e9066258f85ff5b8d1919875f275d861680c494fbfeb09b5fe216e86f080205bac167db2189938fefa52308d23c771d266a746959f169a9097471f222aef89808e46f9a82e2b1d3613eddb6b7f6230656323ace29c7e3c88b25cdf57838e8d5913f9510c4cd71c42568d623762266a4192863a47bfccd3a8129292d88be0e0330b8e7c3b3c37c40d5232f9b54f2042cc4212da1fea9d5f87981da61776b9a438b406f997f035200286c4cdb56ed3dd208ade0db940f7b5d2854d147f12b6d790496698dee36015ebff61c92a3f5fc80e0cba131717d6c23c01f680b92b0eae722e4dd94e36d40d99b248c4f0e4f67404ebf63afd0e9accbd24d2c8b3827354f2c0037736063b4e041ab65ce8611ed1d391f517d42d43add04a46b7fc3e8ae4f1fc27f16b606ea69e98d9e3a84c0db999efa55f212456e83a52de44d954f6e633e92cb2cdefe1aeef925cb2ef7906ee0f2d812fde71dbcaa6c6738632dd46a9707969a856166b74d39a55e517b1f797b663ce390db36b28ba000f5875eade3eea23c3bf6c4403dfe774258876c1883f7a1fa89f19e5e2d584fa92c2301abdc6f306e66708d85f0197f48ec85bbc020c6aeee44b5ff7c60346cedcc0d3d4491a7c8f1e0bc21baa814d543f19b0e21585322a28e110851c3585639d1ac7b070ad7e0c2777746f5f3bc6efefa9aa517ee57120dfb98508e17566b65ff6bd04685b4a08677ace592d33e821173f3fd128a48c60b886a6044eb8306b10cb3fb5fcc330a7dc83da0967b077ff3e889eb284a613d38e1db5e694a16f05d12bdd03e012794e6637ce2a71303aea34cc07799292cb1925cafbd10e11570b5a77cb5222b8490cfebf697d8eda3bb985b28181e53d514da03b435ca80c6ab5e05a24bf75097ffb75671974447e71dc2b9ec55ab483c764d887f05aff8d4e0d5a9fc572cfb02592a880d344f649c14bb0707e265f50df285de5b86a2143b29b009a27c322f8614f29bc1519703330e89d99ee4c21fbe8b1389819d9afe0e3eb4bffdce185f425938e109
+Pseudorandom shared Secret A: 51bd2bfe0122d938d01f9eea2f2024e12e56afb13d3949d9ed14acb7e357bf92
+f678317f1bc15245304801ac06498d60cd5aaa109ed30999e2db70ae800b5ed81550e3188d2c1a11aabc8d79cc215d83e6696114603c81ae986ad7447979e61b
+Public Key: 5b188d2bf04d610114b8c06fb17bc225ba41e13122f7c96075894f04c3ae11966d6b3c838086c3606a2cec645dac307668398fbf6692861173f68c88c2b667b1b55932344bf4dbc294d3196fb835dc724a3d5c37045cae81155a10db35170938192550348c46b7b273eeda1636a3a9f9a896ea2b52454cc0ad673e7d0251be19ad09597164fb091da78ebb43669a8a465a06ca041c0062758dd4cab00b447bc573b0ede2b4f5f95a68375bdf5c2c69363c2c38acbcc548ea09747fe0b602c3866cbc75729960ee049ca5341b7fa396ac65c72f86aea6587075db1b9e796e502c771b37c245c937ddbc903ce049e3ba14cee63326d94048895a258accf376236256b6a8e32e2b1a6703612d200301d5d6c081d1ac3e028401b7a5094b593eb0774bd71bdf1842d3cbba1a555904d84261c4a7fbd2b16800032fa69ee48ab5c652a6d14359a3916fdd3a2fc7335c4a5273c05417a70a795c0b347f8ac093377b1d60c8f424ba6d2380c5707acd3564bd57cb44409f45ea6de84b330ec85bf1602e3ddb2fc5386791fa3173f8862762a7f2c083af0354972a38c854b30fc305b4a8bf904c0e8cac0a53b5b039bbce562a5650047f15b39a12447429f73f62697b351b14fe6528a2a27e96e2aa678a4fc01065a6789480f8451f437e786c12e040390c679a62142ae5ac1b036016bb251318b657ed496d03f324e7640c47006b1e459639a14236ca937f563aec67a5288452f74a56684b580fbb372d8c53bd0b6a35ecc03550bdc0e9607e240cc9b93bb191412fc51d48c4952dc16d18cc1b47270610369ddc845a13409964c12da283bc1a436b9542bd8cf123e8e85ac23b3d1fc07da256555156c7ae92aea26c0c5e1b1e2282a4df7476b31b01dfc4b1f990c2c8db29ce953124fa3659c321db527031fbaf3bfcb4ea3ca4068664592075efd29f32d4a0ba69956d96526ad52ba4e9bc86c86eb9f380c05b29cf8cb7ed82422501540206791d89a01701c3a1175108050bed163f49379b2bf39cabc1a3eab171b6421431d890bfd711796736d84b8e784aaf7a10758cb168e39c05445c243a4c79a7d890bc4623ab864771f9338a81576e8186bcea6f64d482f7336f4cb76080d0127ad23b54a45e76990b8cd4484d6acc02998cd2362a3892877f141051390697728502b4cfd4d903c888af5ad7584835ce0117b8e0347e99b383a7439407175a68c897e69c88d891cc5d85c6a2095655bac600385f7c8cb13e956e93e00638317a98a1a3a8fa8b0af87adabb8a7747722c35528ed2c0ffe816b1ba1ebe963c99bc8c24fb84906364ede1152e0abd09a935be47b2195b71e570c138e377a972441d7715b76351da98ca71687f3294864d715579850fc830a85d064646f93c9a3c52d6b2630e2bc0d8fac2e5f1a9bf4a794371be85cbbf2a6b17fd415bdf731cfb38637c8661644191ad7a0efee0cf82377f88d1c428783dce8899c1f92485850c9ae074af697972079c31439758d21ac46996341004528a1081db6dd98aa04d046c480ac71a1a462ad4857abbbd39db7600f66b384a02fb42b6b6032972b54eadf2b77336c4b6fcbc2af41d66860e54684d467b8340b625898049d492ce74280dcdee1da192aa556ea5f6dfaf6617fec5223017faa08d2e5610f6fddf1f41565c
+Secret Key: 9b09a4b6584e2ab76e439851673a48caa308bf4c1881cac80b4449762568c045053b25b9783568ffd5cfb590c7b2142605236e6e4861bd8c4a6c0a26453ab8015b76a080b65f3c94049a2440c17aafe945bf8c28fba055d467b8c96149c4b140537ccdea5562d4345005809395b593a5563621f361c32705789b634a1a50f3385a7ec2726b7704f0e2b1195b59b0836fc81372394a2caa661a4cfb832decac2ce8744bc453a8b78cea09101070cb6f1a0c74362a479c683665cdfcaba28736b8659c2e7ae48c4e22c567e4790381a7d7aca45f415ab1697b3277bda0264f1549910392134c45491cfb3226c03dedb5c895b012b3931a064013118331504108601c879685a1ef5bceb4a37f30baa367fa488be845d6e94079126be130a92bec5c667ab49ab3077ed9b316d96355903efa45bd939283f6647944e5606d3a8c12e827731abaff3432ad14256230a415bc5185f4785bd17f08aa7bdd96237b9c52051063093088adb82faa8ca758623357ec65b0f029ae3497066aaf3be942bf7bc6ed118d123015f29caaa5286f42b14f580b23a18ab6b58c5a41e076492b00c9d3c3f878c8ea36205c137850db95064433f6e5208644329ad0192b61c86e61b3841c3d2da479f853ca13d50e5a096228500749f321a387b4d1b7a7df71330806c2dfe1c2c349518aea5c74615787b876bfd34a71592b87ccb14066c0f38853c8741225882e7c7b894274545a02220db6b689c9cc606020be85cdd9959693239e8ff7b0521c765d992d8b099443380300900810cc7d6d59b02ef4405be035b8ccabcbe0128b0361c6daa3581c0dfeda0589e12d431b3937a08b4ed1b6690069d9788185556b86561139bbbd484a2c0c581d220bc22cc02881693775168f62f617e3cb5c64325446c8034e305c7f216ec8ba9325e8859b8bb5c66b4ec5a35d98f285fd8125e1f4a6cf8cc2104855b7304709bc2196460151922027315138c4867b9a37d498b818d373e9e89a9226601ba1a910614ff1c46a1e944ddd4771e6048338405e0c876e555b89b45742cb856aaea125de284d2f5b4e258c8e0fb270cff4293264130a3a50642bcf4b53ad5723b61d143023352821a07234b8bfe8f801032523aa4c1aeac9947d48574781c491a7763d32a585aa1671d0bd7da09c96472eb400bddb103587c04c791156c7a5ac436551b9d594779b3c71ab2d4e176a951660dad02a79626e8da491be68a95de061feda171bd19c3c54c1f0c4a9e081b0ce2591e4743788897efb00bfcfdb42f5502396c4290afcc4854ba2cd3956e792a049744e7e1099b0e9c32281ce043807b4f884daa787e9923ecc61171280812979b5ccf5654ad8b1e025440b72ae42423c4b012119b6bb1cf645ade91dfc84214878c746650231d7694650c53041736114c9aa224bd6f7bad228c052e38f29f4023963a03be804f02cc6885c8263b5baf95c3e5811cb64d57bb7656f0a463e7a8264ef859546463972d6948ed0721f7b17b344babd14a14ae13f5d1ba64f281192ea84f3032801836744bc282a4b02d3c0447764333619cff2ea5444553a840a995f71aad479326222b9a75ca366b202d7ac3d5f394040d501c324925a5bccf495805b188d2bf04d610114b8c06fb17bc225ba41e13122f7c96075894f04c3ae11966d6b3c838086c3606a2cec645dac307668398fbf6692861173f68c88c2b667b1b55932344bf4dbc294d3196fb835dc724a3d5c37045cae81155a10db35170938192550348c46b7b273eeda1636a3a9f9a896ea2b52454cc0ad673e7d0251be19ad09597164fb091da78ebb43669a8a465a06ca041c0062758dd4cab00b447bc573b0ede2b4f5f95a68375bdf5c2c69363c2c38acbcc548ea09747fe0b602c3866cbc75729960ee049ca5341b7fa396ac65c72f86aea6587075db1b9e796e502c771b37c245c937ddbc903ce049e3ba14cee63326d94048895a258accf376236256b6a8e32e2b1a6703612d200301d5d6c081d1ac3e028401b7a5094b593eb0774bd71bdf1842d3cbba1a555904d84261c4a7fbd2b16800032fa69ee48ab5c652a6d14359a3916fdd3a2fc7335c4a5273c05417a70a795c0b347f8ac093377b1d60c8f424ba6d2380c5707acd3564bd57cb44409f45ea6de84b330ec85bf1602e3ddb2fc5386791fa3173f8862762a7f2c083af0354972a38c854b30fc305b4a8bf904c0e8cac0a53b5b039bbce562a5650047f15b39a12447429f73f62697b351b14fe6528a2a27e96e2aa678a4fc01065a6789480f8451f437e786c12e040390c679a62142ae5ac1b036016bb251318b657ed496d03f324e7640c47006b1e459639a14236ca937f563aec67a5288452f74a56684b580fbb372d8c53bd0b6a35ecc03550bdc0e9607e240cc9b93bb191412fc51d48c4952dc16d18cc1b47270610369ddc845a13409964c12da283bc1a436b9542bd8cf123e8e85ac23b3d1fc07da256555156c7ae92aea26c0c5e1b1e2282a4df7476b31b01dfc4b1f990c2c8db29ce953124fa3659c321db527031fbaf3bfcb4ea3ca4068664592075efd29f32d4a0ba69956d96526ad52ba4e9bc86c86eb9f380c05b29cf8cb7ed82422501540206791d89a01701c3a1175108050bed163f49379b2bf39cabc1a3eab171b6421431d890bfd711796736d84b8e784aaf7a10758cb168e39c05445c243a4c79a7d890bc4623ab864771f9338a81576e8186bcea6f64d482f7336f4cb76080d0127ad23b54a45e76990b8cd4484d6acc02998cd2362a3892877f141051390697728502b4cfd4d903c888af5ad7584835ce0117b8e0347e99b383a7439407175a68c897e69c88d891cc5d85c6a2095655bac600385f7c8cb13e956e93e00638317a98a1a3a8fa8b0af87adabb8a7747722c35528ed2c0ffe816b1ba1ebe963c99bc8c24fb84906364ede1152e0abd09a935be47b2195b71e570c138e377a972441d7715b76351da98ca71687f3294864d715579850fc830a85d064646f93c9a3c52d6b2630e2bc0d8fac2e5f1a9bf4a794371be85cbbf2a6b17fd415bdf731cfb38637c8661644191ad7a0efee0cf82377f88d1c428783dce8899c1f92485850c9ae074af697972079c31439758d21ac46996341004528a1081db6dd98aa04d046c480ac71a1a462ad4857abbbd39db7600f66b384a02fb42b6b6032972b54eadf2b77336c4b6fcbc2af41d66860e54684d467b8340b625898049d492ce74280dcdee1da192aa556ea5f6dfaf6617fec5223017faa08d2e5610f6fddf1f41565c78625285771915a422705e9cda542b46f763082146b0df9a8c0e99bcb56cbdb01550e3188d2c1a11aabc8d79cc215d83e6696114603c81ae986ad7447979e61b
+bb59ec64620491541a667c110276e8bfe1112af2a5cc2894feac44e748e59ec2
+Ciphertext: c917e7e664b8440ca5970f6508d7ae7dd69d0f53d935374cf53cbebd2a889e32965b98cdacd001e504a78286bd6ccc8ab8b3b679959a7edfe644d620cdeb9f6dd39aefca9a4e42b591a2cb46652932b26a5f9102f06e201efaaec1a26f7111727d41e7a84bc946584bf90758919fb8f87010a32d21c0f73a97b6f6cb3303abdedee3254968fe39101f48fd4c588ee5b8fd52d4d31e77438f7dfc4a89564d3d5248497f526c812034fc97c15722a29b59cd39a5172319348f6ab34ccc39cb83db72f05ff494834c1cb2c34c27f61ba9e7ffdb247be962d98b5cddc9440ab3af6a07e20bc1692f160920179e719ec20f213a64c586a93b72dec56770350e2efab04e82aca6dd6d4ffd95f061e2c64f33bfed64e663390bc6291fe087f2eae1a6ce5a4105f6c8d703c6f901e537f939a9379ef1375a7cef653bd5009ae335ca24c82c4a92f110a69928944c7024cb739a3768c0a8786e5632eb653f827c83cde65d62bb496ec82d2612c92786023f79162ef2fa5481273773af842668a8b6a5cf0b68bc024410a7bcf79a0d353a5aa2a5b80a8e241ffee63208b9f0ad7354cb39e085c7585e47d1bbeadaa4394ce4481044a5eddd7e5029545cb29648e4ab746d347ec895f38f3ab8090c186d6efac0537112e35efbf7aab093aecd79e4b15949cf3de105403fadda9ad44b8a8f2f2a8960dd9d573b50e2662c500a7f7faa181924c8352166f364b22b5ae8a9606b1b9f30ffe6c47258a0a7ae21813ccf53abd793555afea961f74126ab703bd16ea5df728654f3f1ed6ba1b96eb0811d523882d8ce2618f37e0cff4453e3882f376a5f91dfcab3d9c3a54a483cf267f9bf60dee1a004b02580f5c4336f06f577957a61afa1fa35ef77301584b30d7942c6a02cbf4fd82108e826439e129cc02736a652be951fa1e005432ae48385062bfee163e7c06df8deef8bcad5b74694e71eb58881a2d8b5863d276f33d1431036077244abdb1ba969bb940b6a0e55ad0df45f96fabb60f432677ef479219ccd6f7e3773546e9d880ec0a0171ddf857b9b659e27b7da523bdeb5707249341bdbb5c34465739b0776d798314f9c8b7001576812d820e0ab7a6f217531a5abcd633f673ec53556a488f43e423a2310866a02ff5b3203d16814080211daf1a44733691dd22ebc113a500067b21f7dc50011c004c763775421a426fb6472414d5bc2d9b6710e6bbaaddf9ae2aa299e822477ed7cb48f218f699e49c7ee90cf44fbba6eb20f94a309f9c7c9d0473792d7964f0cc893e725d080e23bc36684ddc7568462fe803ad0e41f854c1c1a6b8b5fd6fe201a50936934bfb2996b061b6a1ab4bd94b8cf4f5e3ab8f9654af3cbe03fcff4065292f539de60f250bd961c344cf42e72425bca956dfd5ba7e99d3c54833318382e12223a453914d56a7d03ae6baf98b30bb90454e98de528e37dcdf45af9f1e56050af085f051b1ed4ed077bf79d6897e371a026a7f2ea00877b808d8e596f821680a1035ee8812e8b413b8ace063aa55656c039
+Shared Secret B: 8471d688ee28dda6ae2fea1582d8695dae724ae1e6edc080759e34d125c40b1b
+Shared Secret A: 8471d688ee28dda6ae2fea1582d8695dae724ae1e6edc080759e34d125c40b1b
+7ba62601adc3386451bf794f63cceeaf4695c00672df7a9886464a5e1b81c67b14d68f93a792baafa76e9d4d1e4c36e66004cdde39cb1db5a9611ec190108ec4fa11fd722c2146cf3bdf185cd10157afff91963fe69cefacafdb69758a72ee96b1d767f2e664f60894be9f49a841d885524e1ced1fd11224fa6c9507f495fbcc8a5fb3293219cdcc398b3d6258d2995996a2417eb65bc755f2781066dd57cf3261aefc62f363a1c5879534a5a04f0586d57f18fe8bd1af6dc548238e0fb85f4fd35e4686b369a0cc22ec1851c33facba8e033d09f09fc85c5db194c967d1a61b5e6c7625b74412a3ef6272ca86125a0e01358ee9a22ad15eb19417d3499868eb086337b3b0a30202411326f4a737b54f13c2253eb37dd32a0fceca907e211c13a94008a9b78d4737ac16a593e830200138dd3fd2f2a50b14261fa8aed6726d11a14658af893d685d7d5c70dcbbebd2d3ace07ec9ef307c597a03e70b8d33ac1b72f63c1017c79a864119038ac5357aef466ae272b9e1fea08c456264c9d0d6fc24a13db59a1b203a83e5966f856c6bb182930e47828a76b170b8fb26e84bb322c33c2a468ad5278242179c8af14353dc6bf1137879b01f27eedb831466ff4f2bd24046ad1a3d9979a1749b1a0a92bd399ed87573c3a5e0462ba8a0c324082047d6d526900bdb61cfdb80052ae92c801ff23d86edd32439aee092b7e1a2c6484fb76d12860d3476b2925f7a2fd015505440a2edbcad722538b4294678d849f06785dd7a7b67e0aea2a86394b494f6a287bd8548a7318a7345fa9781ec0ee49bf922f76bcdd91e212b19fe63bc1c45937cd73757db80dcb3491bfbabf282668cd196e9c80e5e725ca1dfbb969d9f1644f77bf709d1a67ec63a008fe0c857f50d0b02b1363bb26243b645e60ae363b72046b566be9e3f74a6eecc046e7929ee741454ac8cfa789b8edd201e22cf0356fae3b6cee0978d37eee27841e177df479242122e06ac5fdde06d61f48338dca653a6360e3d33a5535918cb9586854a3ccfa59aa56dc3c27a606ca77e81f5882171ce1ea288f5c75b9f99b3d9eb22d143afd99af2f3dc53844bbd468f5a7d02940df15b3ae046ce9165d2abafd62647fdf254148586019a835a709207eab4fc309ea0e5253c590a9828a26eeebc7f0ee539d42f91bbe46710ad548111aa5f42c6a412fe3db49456caf18e2bd95ab36635bd050d3d4dc5fa820395088e60b5ac1d1d9ec2c09f21f878de6244cbc2dc6be1c6f2ed78e66e5449c3742f047c721f05dd635f59a4b41fc78b69938971c5dc65a842d0879848b4ca0ea43286671a6880b4d827da29c9095d9f60a4507e5e81900da315d86d853d34d0c877ecb31ca402d2b5eb2e04bf35ffcea6b231e4cfdd3a17762223365990695fa790a191bacf68f06b9af140b63d5e3d2a2d0e7db42b89daf01d506c57d3b9bc59bfbbb55fa89a3097dc208efa694f3372a04de104018e4085abab7d9de5aa0fabf61ead07ae6bed1e1a17477c12d80b783e439fd347b8587c
+Pseudorandom shared Secret A: 31cfaaebb0de61e02bb2340a0bbeda83a1cda914f583afe22e55ab8efb3af01f
diff --git a/tests/mlkem-test.c b/tests/mlkem-test.c
new file mode 100644
index 00000000..9f5a1a5c
--- /dev/null
+++ b/tests/mlkem-test.c
@@ -0,0 +1,565 @@
+/* mlkem-test.c - Test for the ML-KEM algorithm (Crystals-Kyber)
+ * Copyright (C) 2023 MTG AG
+ * Copyright (C) 2011 Free Software Foundation, Inc.
+ *
+ * This file is part of Libgcrypt.
+ *
+ * Libgcrypt is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * Libgcrypt is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this program; if not, see <http://www.gnu.org/licenses/>.
+ */
+
+#ifdef HAVE_CONFIG_H
+#include <config.h>
+#endif
+//#include "g10lib.h"
+#include "gcrypt.h"
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <stdarg.h>
+
+#if 0
+#ifdef _GCRYPT_IN_LIBGCRYPT
+#include "../src/gcrypt-int.h"
+#else
+#include <gcrypt.h>
+#endif
+#endif
+
+
+#define PGM "mlkem-test"
+#include "t-common.h"
+#define N_GEN_ENC_DEC_TESTS 250
+// #define N_GEN_ENC_DEC_TESTS 3 // two tests running, starting from 3 with
+// newly added call to mlkem_check_secret_key it fails.
+
+// test-utils.h must be included after t-common.h
+#include "test-utils.h"
+
+static void test_hex_decoding(void)
+{
+ const char *hex1 = "value = FF00a0";
+ const char *hex2 = "value=FF00a0";
+ const char *hex_arr[] = {hex1, hex2};
+ const unsigned char exp_result[] = {255, 0, 160};
+ size_t bin_len;
+ unsigned i;
+ for (i = 0; i < 2; i++)
+ {
+ unsigned char *buffer
+ = fill_bin_buf_from_hex_line(&bin_len, '=', hex_arr[i], 0);
+ if (bin_len != sizeof(exp_result) || memcmp(exp_result, buffer, bin_len))
+ {
+ fail("error with mlkem hex decoding test");
+ }
+ xfree(buffer);
+ }
+ info("success: mlkem hex decoding test\n");
+}
+
+typedef struct
+{
+ const char *index;
+ unsigned char *result_buf;
+ size_t result_buf_len;
+} test_vec_desc_entry;
+
+#if 0
+static void
+show_sexp (const char *prefix, gcry_sexp_t a)
+{
+ char *buf;
+ size_t size;
+
+ fprintf (stderr, "%s: ", PGM);
+ if (prefix)
+ fputs (prefix, stderr);
+ size = gcry_sexp_sprint (a, GCRYSEXP_FMT_ADVANCED, NULL, 0);
+ buf = xmalloc (size);
+
+ gcry_sexp_sprint (a, GCRYSEXP_FMT_ADVANCED, buf, size);
+ fprintf (stderr, "%.*s", (int)size, buf);
+ gcry_free (buf);
+}
+#endif
+
+static int check_mlkem_gen_enc_dec(unsigned mlkem_bits,
+ int do_print_secmem_peak_usages)
+{
+
+ gcry_sexp_t skey, pkey;
+ gcry_sexp_t ct, shared_secret, shared_secret2;
+ gcry_sexp_t keyparm, key, l;
+
+ gcry_mpi_t ss, ss2;
+ int rc;
+
+ if (verbose > 1)
+ info("creating ML-KEM %u key\n", mlkem_bits);
+
+ rc = gcry_sexp_build(&keyparm,
+ NULL,
+ "(genkey\n"
+ " (mlkem\n"
+ " (nbits%u)\n"
+ " ))",
+ mlkem_bits,
+ NULL);
+ if (rc)
+ die("error creating S-expression: %s\n", gpg_strerror(rc));
+ if(do_print_secmem_peak_usages)
+ {
+ gcry_control(GCRYCTL_RST_SECMEM_PEAK_USG);
+ }
+
+ if(do_print_secmem_peak_usages)
+ {
+ printf("\nsecmem stats before test:\n");
+ gcry_control(GCRYCTL_DUMP_SECMEM_STATS);
+ }
+ rc = gcry_pk_genkey(&key, keyparm);
+ if(do_print_secmem_peak_usages)
+ {
+ printf("\nsecmem stats for mlkem %u key generation:\n", mlkem_bits);
+ gcry_control(GCRYCTL_DUMP_SECMEM_STATS);
+ }
+
+ if (rc)
+ die("error generating ML-KEM key: %s\n", gpg_strerror(rc));
+
+
+ pkey = gcry_sexp_find_token(key, "public-key", 0);
+ if (!pkey)
+ {
+ die("public part missing in return value\n");
+ }
+
+ skey = gcry_sexp_find_token(key, "private-key", 0);
+ if (!skey)
+ die("private part missing in return value\n");
+
+ if(do_print_secmem_peak_usages)
+ {
+ gcry_control(GCRYCTL_RST_SECMEM_PEAK_USG);
+ }
+ rc = gcry_pk_encap(&ct, &shared_secret, pkey);
+ if (rc)
+ {
+ printf("error when calling gcry_pk_encap\n");
+ goto leave;
+ }
+
+ if(do_print_secmem_peak_usages)
+ {
+ printf("secmem stats for mlkem %u encapsulation:\n", mlkem_bits);
+ gcry_control(GCRYCTL_DUMP_SECMEM_STATS);
+ }
+ if(do_print_secmem_peak_usages)
+ {
+ gcry_control(GCRYCTL_RST_SECMEM_PEAK_USG);
+ }
+ rc = gcry_pk_decrypt(&shared_secret2, ct, skey);
+ if(do_print_secmem_peak_usages)
+ {
+ printf("secmem stats for mlkem %u decapsulation:\n", mlkem_bits);
+ gcry_control(GCRYCTL_DUMP_SECMEM_STATS);
+ }
+ if (rc)
+ {
+ printf("error when calling gcry_pk_decrypt\n");
+ goto leave;
+ }
+
+ l = gcry_sexp_find_token(shared_secret, "value", 0);
+ if (!l)
+ {
+ die("could not extract shared secret from encapsulation");
+ }
+ ss = gcry_sexp_nth_mpi(l, 1, GCRYMPI_FMT_USG);
+ gcry_sexp_release(l);
+
+ l = gcry_sexp_find_token(shared_secret2, "value", 0);
+ if (!l)
+ {
+ die("could not extract shared secret from encapsulation");
+ }
+ ss2 = gcry_sexp_nth_mpi(l, 1, GCRYMPI_FMT_USG);
+ gcry_sexp_release(l);
+ if (!ss)
+ {
+ die("ss = NULL\n");
+ }
+ if (!ss2)
+ {
+ die("ss2 = NULL\n");
+ }
+
+ /* Compare. */
+ if (gcry_mpi_cmp(ss, ss2))
+ {
+ printf("decryption result incorrect\n");
+ die("check_mlkem_gen_enc_dec test: error with decryption result\n");
+ }
+ gcry_mpi_release(ss);
+ gcry_mpi_release(ss2);
+ gcry_sexp_release(keyparm);
+ gcry_sexp_release(key);
+ gcry_sexp_release(ct);
+ gcry_sexp_release(shared_secret);
+ gcry_sexp_release(shared_secret2);
+ gcry_sexp_release(skey);
+ gcry_sexp_release(pkey);
+
+
+leave:
+ return rc;
+
+ if(do_print_secmem_peak_usages)
+ {
+ printf("\nsecmem stats at the end of the test:\n");
+ gcry_control(GCRYCTL_DUMP_SECMEM_STATS);
+ }
+}
+static void check_mlkem_kat(const char *fname, unsigned mlkem_bits)
+{
+ const size_t nb_kat_tests = 0; /* zero means all */
+ FILE *fp;
+ int lineno = 0;
+ char *line;
+
+ enum
+ {
+ public_key_idx = 0,
+ privat_key_idx = 1,
+ ciphertext_idx = 2,
+ shared_secret_idx = 3
+ };
+
+ test_vec_desc_entry test_vec[] = {{
+ "Public Key:",
+ NULL,
+ 0,
+ },
+ {
+ "Secret Key:",
+ NULL,
+ 0,
+ },
+ {
+ "Ciphertext:",
+ NULL,
+ 0,
+ },
+ {
+ "Shared Secret A:",
+ NULL,
+ 0,
+ }};
+ size_t test_count = 0;
+ gcry_sexp_t public_key_sx = NULL, private_key_sx = NULL,
+ ciphertext_sx = NULL, shared_secret_expected_sx = NULL,
+ shared_secret_sx = NULL;
+
+
+ info("Checking ML-KEM KAT.\n");
+
+ fp = fopen(fname, "r");
+ if (!fp)
+ die("error opening '%s': %s\n", fname, strerror(errno));
+
+
+ while ((line = read_textline(fp, &lineno))
+ && !(nb_kat_tests && nb_kat_tests <= test_count))
+ {
+ gcry_sexp_t l;
+ gcry_mpi_t ss_expected, ss;
+ int have_flags;
+ int rc;
+ int is_complete = 1;
+ gcry_error_t err;
+ unsigned i;
+ for (i = 0; i < sizeof(test_vec) / sizeof(test_vec[0]); i++)
+ {
+ test_vec_desc_entry *e = &test_vec[i];
+ if (!strncmp(line, e->index, strlen(e->index)))
+ {
+ if (e->result_buf != NULL)
+ {
+ fail("trying to set test vector element twice");
+ }
+ e->result_buf = fill_bin_buf_from_hex_line(
+ &e->result_buf_len, ':', line, lineno);
+ break;
+ }
+ else if (!strncmp(line, "#", 1)
+ || !strncmp(line, "Shared Secret B:", 15))
+ {
+ continue;
+ }
+ /* may not fail here because mlkem test vectors as generated
+ by reference implementation contain random seeds without prefix */
+ }
+
+ // check if we completed one test vector:
+ for (i = 0; i < sizeof(test_vec) / sizeof(test_vec[0]); i++)
+ {
+ is_complete &= (test_vec[i].result_buf != NULL);
+ }
+ if (!is_complete)
+ {
+ xfree(line);
+ continue;
+ }
+ test_count++;
+ err = gcry_sexp_build(&private_key_sx,
+ NULL,
+ "(private-key (mlkem (s %b) (nbits%u) ))",
+ (int)test_vec[privat_key_idx].result_buf_len,
+ test_vec[privat_key_idx].result_buf,
+ mlkem_bits,
+ NULL);
+ if (err)
+ {
+ fail("error building private key SEXP for test, %s: %s",
+ "sk",
+ gpg_strerror(err));
+ goto leave;
+ }
+#if 0
+ printf("private key sx directly after building:\n");
+ gcry_sexp_dump(private_key_sx);
+ char print_buf[100000];
+ gcry_sexp_sprint(private_key_sx, GCRYSEXP_FMT_ADVANCED, print_buf, sizeof(print_buf)-1);
+ printf("private_key_sx: %s", print_buf);
+#endif
+
+ err = gcry_sexp_build(&shared_secret_expected_sx,
+ NULL,
+ "(data (value %b))",
+ (int)test_vec[shared_secret_idx].result_buf_len,
+ test_vec[shared_secret_idx].result_buf);
+ if (err)
+ {
+ fail("error building expected shared secret SEXP for test, %s: %s",
+ "pk",
+ gpg_strerror(err));
+ goto leave;
+ }
+
+ l = gcry_sexp_find_token(shared_secret_expected_sx, "value", 0);
+ ss_expected = gcry_sexp_nth_mpi(l, 1, GCRYMPI_FMT_USG);
+ gcry_sexp_release(l);
+
+ err = gcry_sexp_build(&ciphertext_sx,
+ NULL,
+ "(ciphertext (mlkem(c %b)))",
+ (int)test_vec[ciphertext_idx].result_buf_len,
+ test_vec[ciphertext_idx].result_buf);
+ if (err)
+ {
+ fail("error building ciphertext SEXP for test, %s: %s",
+ "pk",
+ gpg_strerror(err));
+ goto leave;
+ }
+
+ l = gcry_sexp_find_token(ciphertext_sx, "flags", 0);
+ have_flags = !!l;
+ gcry_sexp_release(l);
+
+
+ rc = gcry_pk_decrypt(&shared_secret_sx, ciphertext_sx, private_key_sx);
+ if (rc)
+ {
+ die("decryption failed: %s\n", gcry_strerror(rc));
+ }
+
+ l = gcry_sexp_find_token(shared_secret_sx, "value", 0);
+ if (l)
+ {
+ if (!have_flags)
+ {
+ // printf("compatibility mode of pk_decrypt broken:
+ // !have_flags\n"); die ("compatibility mode of pk_decrypt
+ // broken: !have_flags\n");
+ }
+ ss = gcry_sexp_nth_mpi(l, 1, GCRYMPI_FMT_USG);
+ gcry_sexp_release(l);
+ }
+ else
+ {
+ if (have_flags)
+ // die ("compatibility mode of pk_decrypt broken: have_flags is
+ // true\n");
+ ss = gcry_sexp_nth_mpi(shared_secret_sx, 0, GCRYMPI_FMT_USG);
+ }
+ if (!ss)
+ {
+ die("ss = NULL\n");
+ }
+ if (!ss_expected)
+ {
+ die("ss_expected = NULL\n");
+ }
+
+ /* Compare. */
+ if (gcry_mpi_cmp(ss_expected, ss))
+ {
+ die("error with decryption result\n");
+ }
+ printf(".");
+
+
+ xfree(line);
+ for (i = 0; i < sizeof(test_vec) / sizeof(test_vec[0]); i++)
+ {
+ test_vec_desc_entry *e = &test_vec[i];
+ if (e->result_buf)
+ {
+ xfree(e->result_buf);
+ }
+ e->result_buf = NULL;
+ e->result_buf_len = 0;
+ }
+
+ gcry_sexp_release(public_key_sx);
+ public_key_sx = NULL;
+ gcry_sexp_release(private_key_sx);
+ private_key_sx = NULL;
+ gcry_sexp_release(ciphertext_sx);
+ ciphertext_sx = NULL;
+ gcry_sexp_release(shared_secret_sx);
+ shared_secret_sx = NULL;
+ gcry_sexp_release(shared_secret_expected_sx);
+ shared_secret_expected_sx = NULL;
+ gcry_mpi_release(ss_expected);
+ ss_expected = NULL;
+ gcry_mpi_release(ss);
+ ss = NULL;
+ }
+
+ printf("\n");
+ xfree(line);
+leave:
+ line = line;
+}
+
+int main(int argc, char **argv)
+{
+
+ int last_argc = -1;
+ char *fname = NULL;
+ unsigned i;
+ int run_kat_tests = 1;
+ unsigned mlkem_bits[3] = {128, 192, 256};
+ if (argc)
+ {
+ argc--;
+ argv++;
+ }
+
+ while (argc && last_argc != argc)
+ {
+ last_argc = argc;
+ if (!strcmp(*argv, "--"))
+ {
+ argc--;
+ argv++;
+ break;
+ }
+ else if (!strcmp(*argv, "--help"))
+ {
+ fputs("usage: " PGM " [options]\n"
+ "Options:\n"
+ " --verbose print timings etc.\n"
+ " --debug flyswatter\n"
+ " --no-kat-tests do not run the KAT tests\n",
+ stdout);
+ exit(0);
+ }
+ else if (!strcmp(*argv, "--verbose"))
+ {
+ verbose++;
+ argc--;
+ argv++;
+ }
+ else if (!strcmp(*argv, "--debug"))
+ {
+ verbose += 2;
+ debug++;
+ argc--;
+ argv++;
+ }
+ else if (!strcmp(*argv, "--no-kat-tests"))
+ {
+ run_kat_tests = 0;
+ argc--;
+ argv++;
+ }
+ else if (!strcmp(*argv, "--data"))
+ {
+ argc--;
+ argv++;
+ if (argc)
+ {
+ xfree(fname);
+ fname = xstrdup(*argv);
+ argc--;
+ argv++;
+ }
+ }
+ else if (!strncmp(*argv, "--", 2))
+ die("unknown option '%s'", *argv);
+ }
+
+ if (!fname)
+ {
+ test_hex_decoding();
+ }
+
+ printf("starting generate/encrypt/decrypt test\n");
+ for (i = 0; i < N_GEN_ENC_DEC_TESTS; i++)
+ {
+ if (check_mlkem_gen_enc_dec(mlkem_bits[i % 3], (i < 3) && verbose))
+ {
+ fail("check_mlkem_gen_enc_dec() yielded an error, aborting");
+ }
+ printf(".");
+ }
+ printf("\n\n");
+ if (!run_kat_tests)
+ {
+ printf("skipping KAT tests as requested\n");
+ goto leave;
+ }
+ if (!fname)
+ {
+ const char *mlkem_kat_files[]
+ = {"mlkem-512_ref.inp", "mlkem-768_ref.inp", "mlkem-1024_ref.inp"};
+
+ for (i = 0; i < sizeof(mlkem_kat_files) / sizeof(mlkem_kat_files[0]);
+ i++)
+ {
+ printf("starting KAT tests for ML-KEM with bit strength %u ", mlkem_bits[i]);
+ check_mlkem_kat(mlkem_kat_files[i], mlkem_bits[i]);
+ printf("\n");
+ }
+ }
+ else
+ {
+ fail("handling of user chosen test data file is not supported");
+ }
+ printf("\nAll tests passed.\n");
+leave:
+ xfree(fname);
+}
diff --git a/tests/test-utils.h b/tests/test-utils.h
new file mode 100644
index 00000000..60613f82
--- /dev/null
+++ b/tests/test-utils.h
@@ -0,0 +1,168 @@
+
+#ifndef TESTS_TEST_UTILS_H
+#define TESTS_TEST_UTILS_H
+
+#ifdef HAVE_CONFIG_H
+#include <config.h>
+#endif
+
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <errno.h>
+#include <ctype.h>
+
+//#define PGM "test-utils"
+//#include "t-common.h"
+
+#define digitp(p) (*(p) >= '0' && *(p) <= '9')
+#define hexdigitp(a) (digitp (a) \
+ || (*(a) >= 'A' && *(a) <= 'F') \
+ || (*(a) >= 'a' && *(a) <= 'f'))
+#define xtoi_1(p) (*(p) <= '9'? (*(p)- '0'): \
+ *(p) <= 'F'? (*(p)-'A'+10):(*(p)-'a'+10))
+#define xtoi_2(p) ((xtoi_1(p) * 16) + xtoi_1((p)+1))
+#define xmalloc(a) gcry_xmalloc ((a))
+#define xcalloc(a,b) gcry_xcalloc ((a),(b))
+#define xstrdup(a) gcry_xstrdup ((a))
+#define xfree(a) gcry_free ((a))
+#define pass() do { ; } while (0)
+
+
+/* Prepend FNAME with the srcdir environment variable's value and
+ * return an allocated filename. */
+char *
+prepend_srcdir (const char *fname)
+{
+ static const char *srcdir;
+ char *result;
+
+ if (!srcdir && !(srcdir = getenv ("srcdir")))
+ srcdir = ".";
+
+ result = xmalloc (strlen (srcdir) + 1 + strlen (fname) + 1);
+ strcpy (result, srcdir);
+ strcat (result, "/");
+ strcat (result, fname);
+ return result;
+}
+
+/* Read next line but skip over empty and comment lines. Caller must
+ xfree the result. */
+static char *
+read_textline (FILE *fp, int *lineno)
+{
+ char line[40000];
+ char *p;
+
+ do
+ {
+ if (!fgets (line, sizeof line, fp))
+ {
+ if (feof (fp))
+ return NULL;
+ die ("error reading input line: %s\n", strerror (errno));
+ }
+ ++*lineno;
+ p = strchr (line, '\n');
+ if (!p)
+ die ("input line %d not terminated or too long\n", *lineno);
+ *p = 0;
+ for (p--;p > line && my_isascii (*p) && isspace (*p); p--)
+ *p = 0;
+ }
+ while (!*line || *line == '#');
+ /* if (debug) */
+ /* info ("read line: '%s'\n", line); */
+ return xstrdup (line);
+}
+
+
+/* Copy the data after the tag to BUFFER. BUFFER will be allocated as
+ needed. */
+#if 0
+ static void
+copy_data (char **buffer, const char tag_char, const char *line, int lineno)
+{
+ const char *s;
+
+ xfree (*buffer);
+ *buffer = NULL;
+
+ s = strchr (line, tag_char);
+ if (!s)
+ {
+ fail ("syntax error at input line %d", lineno);
+ return;
+ }
+ for (s++; my_isascii (*s) && isspace (*s); s++)
+ ;
+ *buffer = xstrdup (s);
+}
+#endif
+
+/**
+ * Convert STRING consisting of hex characters into its binary
+ * representation and return it as an allocated buffer.
+ *
+ * @param string in hex string to convert. The string is delimited by end of string.
+ * @param r_length out pointer to the resulting (returned) buffer length.
+ *
+ * @return pointer to hex decoded binary. The function returns NULL on error.
+ **/
+static void *
+hex2buffer (const char *string, size_t *r_length)
+{
+ const char *s;
+ unsigned char *buffer;
+ size_t length;
+ size_t str_len = strlen(string);
+ *r_length = 0;
+ if(str_len % 2)
+ {
+ return NULL;
+ }
+ buffer = xmalloc (strlen(string)/2+1);
+ length = 0;
+ for (s=string; *s; s +=2 )
+ {
+ if (!hexdigitp (s) || !hexdigitp (s+1))
+ {
+ xfree (buffer);
+ return NULL; /* Invalid hex digits. */
+ }
+ ((unsigned char*)buffer)[length++] = xtoi_2 (s);
+ }
+ *r_length = length;
+ return buffer;
+}
+
+/* Copy the data after the tag to BUFFER. BUFFER will be allocated as
+ needed. */
+static unsigned char*
+fill_bin_buf_from_hex_line(size_t* r_length, const char tag_char, const char *line, int lineno)
+{
+ const char *s;
+
+
+ s = strchr (line, tag_char);
+ if (!s)
+ {
+ fail ("syntax error at input line %d", lineno);
+ return NULL;
+ }
+ s++;
+ while(strlen(s) && s[0] == ' ')
+ {
+ s++;
+ }
+ /*for (s++; my_isascii (*s) && isspace (*s); s++)
+ ;
+ *buffer = xstrdup (s);*/
+ return hex2buffer(s, r_length);
+}
+
+
+
+#endif /* TESTS_TEST_UTILS_H */
--
2.30.2
More information about the Gcrypt-devel
mailing list