diff --git a/.github/workflows/cmake.yml b/.github/workflows/cmake.yml index 9810864..598e62c 100644 --- a/.github/workflows/cmake.yml +++ b/.github/workflows/cmake.yml @@ -19,29 +19,21 @@ jobs: strategy: matrix: - sqisign_build_type: [opt] + sqisign_build_type: [ref] + sqisign_test_reps: [10] steps: - uses: actions/checkout@v3 - - name: Set up Python 3.10 - uses: actions/setup-python@v3 - with: - python-version: "3.10" - name: Install dependencies Valgrind, GMP, Doxygen, TeX run: | - sudo apt --fix-missing install valgrind libgmp-dev doxygen texlive-xetex + sudo apt update && sudo apt --fix-missing install valgrind libgmp-dev doxygen texlive-xetex echo "Valgrind installed" - - - name: Install Valgrind dependencies - run: | - python -m pip install --upgrade pip - pip install ValgrindCI - name: Configure CMake # Configure CMake in a 'build' subdirectory. `CMAKE_BUILD_TYPE` is only required if you are using a single-configuration generator such as make. # See https://cmake.org/cmake/help/latest/variable/CMAKE_BUILD_TYPE.html?highlight=cmake_build_type - run: cmake -B ${{github.workspace}}/build -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}} -DSQISIGN_BUILD_TYPE=${{ matrix.sqisign_build_type }} + run: cmake -B ${{github.workspace}}/build -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}} -DSQISIGN_BUILD_TYPE=${{ matrix.sqisign_build_type }} -DSQISIGN_TEST_REPS=${{ matrix.sqisign_test_reps }} - name: Build # Build your program with the given configuration @@ -61,23 +53,21 @@ jobs: working-directory: ${{github.workspace}}/build # Execute tests defined by the CMake configuration. # See https://cmake.org/cmake/help/latest/manual/ctest.1.html for more detail - run: ctest -C ${{env.BUILD_TYPE}} + run: ctest -j4 -C ${{env.BUILD_TYPE}} - name: Examples - if: false working-directory: ${{github.workspace}}/build/apps run: | - ./PQCgenKAT_sign_lvl1 - ./PQCgenKAT_sign_lvl1_varp6983 ./example_nistapi_lvl1 - ./example_nistapi_lvl1_varp6983 + ./example_nistapi_lvl3 + ./example_nistapi_lvl5 - name: CT-Tests # TODO: re-enable for those tests that should be ct if: false run: | rm -rf build - cmake -Bbuild -DENABLE_CT_TESTING=ON -DCMAKE_BUILD_TYPE=Debug -DSQISIGN_BUILD_TYPE=${{ matrix.sqisign_build_type }} + cmake -Bbuild -DENABLE_CT_TESTING=ON -DCMAKE_BUILD_TYPE=Debug -DSQISIGN_BUILD_TYPE=${{ matrix.sqisign_build_type }} -DSQISIGN_TEST_REPS=${{ matrix.sqisign_test_reps }} cmake --build build # valgrind --track-origins=yes build/ # valgrind --track-origins=yes build/ @@ -87,7 +77,7 @@ jobs: - name: Memcheck run: | rm -rf build - cmake -Bbuild -DSQISIGN_BUILD_TYPE=${{ matrix.sqisign_build_type }} -DSQISIGN_TEST_REPS=10 + cmake -Bbuild -DSQISIGN_BUILD_TYPE=${{ matrix.sqisign_build_type }} -DSQISIGN_TEST_REPS=${{ matrix.sqisign_test_reps }} cmake --build build ctest -T memcheck --test-dir build if: false @@ -95,27 +85,30 @@ jobs: - name: Address Sanitizer ASAN run: | rm -rf build - cmake -Bbuild -DCMAKE_BUILD_TYPE=ASAN -DSQISIGN_BUILD_TYPE=${{ matrix.sqisign_build_type }} -DCMAKE_C_COMPILER=clang + cmake -Bbuild -DCMAKE_BUILD_TYPE=ASAN -DSQISIGN_BUILD_TYPE=${{ matrix.sqisign_build_type }} -DCMAKE_C_COMPILER=clang -DSQISIGN_TEST_REPS=1 cmake --build build - ctest -v --test-dir build + ctest -j4 -v --test-dir build + # MSAN needs instrumented gmp - name: Memory Sanitizer MSAN run: | rm -rf build - cmake -Bbuild -DCMAKE_BUILD_TYPE=MSAN -DSQISIGN_BUILD_TYPE=${{ matrix.sqisign_build_type }} -DCMAKE_C_COMPILER=clang + cmake -Bbuild -DCMAKE_BUILD_TYPE=MSAN -DSQISIGN_BUILD_TYPE=${{ matrix.sqisign_build_type }} -DCMAKE_C_COMPILER=clang -DSQISIGN_TEST_REPS=1 cmake --build build - ctest -v --test-dir build + ctest -j4 -v --test-dir build + + if: false - name: Leak Sanitizer LSAN run: | rm -rf build - cmake -Bbuild -DCMAKE_BUILD_TYPE=LSAN -DSQISIGN_BUILD_TYPE=${{ matrix.sqisign_build_type }} -DCMAKE_C_COMPILER=clang + cmake -Bbuild -DCMAKE_BUILD_TYPE=LSAN -DSQISIGN_BUILD_TYPE=${{ matrix.sqisign_build_type }} -DCMAKE_C_COMPILER=clang -DSQISIGN_TEST_REPS=1 cmake --build build - ctest -v --test-dir build + ctest -j4 -v --test-dir build - name: Undefined Behavior Sanitizer UBSAN run: | rm -rf build - cmake -Bbuild -DCMAKE_BUILD_TYPE=UBSAN -DSQISIGN_BUILD_TYPE=${{ matrix.sqisign_build_type }} -DCMAKE_C_COMPILER=clang + cmake -Bbuild -DCMAKE_BUILD_TYPE=UBSAN -DSQISIGN_BUILD_TYPE=${{ matrix.sqisign_build_type }} -DCMAKE_C_COMPILER=clang -DSQISIGN_TEST_REPS=1 cmake --build build - ctest -v --test-dir build \ No newline at end of file + ctest -j4 -v --test-dir build diff --git a/CMakeLists.txt b/CMakeLists.txt index 2c5ace6..3f059fb 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -38,6 +38,7 @@ set(SELECT_SQISIGN_VARIANT ${PROJECT_SOURCE_DIR}/.cmake/sqisign_variant.cmake) set(INC_PUBLIC ${PROJECT_SOURCE_DIR}/include) + add_subdirectory(src) add_subdirectory(apps) diff --git a/src/id2iso/ref/id2isox/test/id2iso.c b/src/id2iso/ref/id2isox/test/id2iso.c index b20d147..15956f8 100644 --- a/src/id2iso/ref/id2isox/test/id2iso.c +++ b/src/id2iso/ref/id2isox/test/id2iso.c @@ -218,12 +218,17 @@ int id2iso_test_long_id2iso() { // var finalize quat_alg_elem_finalize(&gen_key); quat_alg_elem_finalize(&gen_check); + quat_alg_elem_finalize(&quat_temp); ibq_finalize(&ibq_norm); - ibz_finalize(&temp);ibz_finalize(&remainder); + ibz_finalize(&temp);ibz_finalize(&remainder);ibz_finalize(&n); quat_alg_elem_finalize(&gen); quat_alg_elem_finalize(&gen_two); + quat_left_ideal_finalize(&lideal_small); + quat_left_ideal_finalize(&lideal_check); + quat_left_ideal_finalize(&lideal_two); quat_left_ideal_finalize(&lideal_two_one); quat_left_ideal_finalize(&lideal_small_one); + quat_left_ideal_finalize(&ideal_test); quat_order_finalize(&right_order); quat_alg_coord_finalize(&coeffs); ibz_mat_4x4_finalize(&reduced);ibz_mat_4x4_finalize(&gram); diff --git a/src/id2iso/ref/id2isox/test/ker2id.c b/src/id2iso/ref/id2isox/test/ker2id.c index 761a7f6..5f5f21f 100644 --- a/src/id2iso/ref/id2isox/test/ker2id.c +++ b/src/id2iso/ref/id2isox/test/ker2id.c @@ -40,6 +40,8 @@ int _id2iso_test_ker2id() { id2iso_kernel_dlogs_to_ideal(&I, &vec2, &vec3); // quat_left_ideal_print(&I); quat_left_ideal_finalize(&I); + ibz_vec_2_finalize(&vec2); + ibz_vec_2_finalize(&vec3); //TODO FIXME this really only tests that the function doesn't crash diff --git a/src/protocols/ref/protocolsx/encode.c b/src/protocols/ref/protocolsx/encode.c index f9bfdcb..64eea28 100644 --- a/src/protocols/ref/protocolsx/encode.c +++ b/src/protocols/ref/protocolsx/encode.c @@ -441,6 +441,11 @@ void hash_to_challenge(ibz_vec_2_t *scalars, const ec_curve_t *curve, const unsi //FIXME should use SHAKE128 for smaller parameter sets? SHAKE256((void *) digits, sizeof(digits), buf, FP2_ENCODED_BYTES + length); +#ifdef TARGET_BIG_ENDIAN + for (size_t i = 0; i < NWORDS_FIELD; i++) + digits[i] = BSWAP_DIGIT(digits[i]); +#endif + ibz_set(&(*scalars)[0], 1); //FIXME ibz_copy_digit_array(&(*scalars)[1], digits); } diff --git a/src/protocols/ref/protocolsx/sign.c b/src/protocols/ref/protocolsx/sign.c index 4cb922f..1e531ba 100644 --- a/src/protocols/ref/protocolsx/sign.c +++ b/src/protocols/ref/protocolsx/sign.c @@ -61,6 +61,8 @@ void protocols_commit(quat_left_ideal_t *ideal, ec_curve_t *E1, ec_basis_t *basi ibz_gcd(&temp,&temp,&DEGREE_COMMITMENT); ibz_div(&temp,&remainder,&temp,&DEGREE_COMMITMENT); assert(0==ibz_cmp(&remainder,&ibz_const_zero)); + ibz_finalize(&temp);ibz_finalize(&remainder); + quat_alg_coord_finalize(&coeffs); #endif @@ -699,6 +701,7 @@ int protocols_sign(signature_t *sig,const public_key_t *pk, const secret_key_t * quat_alg_conj(&delta,&gen); quat_lideal_create_from_primitive(&ideal_signing_test,&delta,&ideal_eichler_rand.norm,&right_order_key,&QUATALG_PINFTY); assert(quat_lideal_equals(&ideal_signing_test,&ideal_eichler_rand,&QUATALG_PINFTY)); + quat_left_ideal_finalize(&ideal_signing_test); #endif // checking cyclicity diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt index 51c0c46..e429faa 100644 --- a/test/CMakeLists.txt +++ b/test/CMakeLists.txt @@ -19,7 +19,7 @@ FOREACH(SVARIANT ${SVARIANT_S}) target_link_libraries(sqisign_test_prof_${SVARIANT} sqisign_${SVARIANT_LOWER}) target_include_directories(sqisign_test_prof_${SVARIANT} PUBLIC ${PROJECT_SOURCE_DIR}/src/common ${INC_PUBLIC} ${PROJECT_SOURCE_DIR}/src/nistapi/${SVARIANT_LOWER}) - add_test(sqisign_${SVARIANT}_KAT sqisign_test_kat_${SVARIANT}) + add_test(sqisign_${SVARIANT}_KAT sqisign_test_kat_${SVARIANT} 0) # testing only the first KAT add_test(sqisign_${SVARIANT}_SELFTEST sqisign_test_scheme_${SVARIANT}) set_tests_properties(sqisign_${SVARIANT}_KAT PROPERTIES TIMEOUT 0) diff --git a/test/test_sqisign_prof.c b/test/test_sqisign_prof.c index 58f1618..4112b5d 100644 --- a/test/test_sqisign_prof.c +++ b/test/test_sqisign_prof.c @@ -11,23 +11,23 @@ // Some hardcoded vectors for profiling #if CRYPTO_PUBLICKEYBYTES == 64 -const unsigned char pk_lvl1[] = {0x77,0x69,0xC5,0x34,0xCF,0xA4,0x02,0x68,0x53,0xF0,0x41,0xF1,0x4A,0xB3,0xAA,0x97,0x5E,0x2D,0x15,0xC4,0xE5,0x14,0x73,0xC5,0xEC,0x44,0x81,0x50,0x9A,0x09,0x58,0x1C,0x2A,0x27,0x46,0x9E,0x49,0x10,0x69,0xC9,0xB3,0x60,0x9B,0x4E,0x3B,0xF3,0x1C,0xFB,0xF2,0x26,0xBF,0xF0,0xA4,0x80,0xBC,0x48,0x43,0x80,0xD8,0x22,0x00,0x98,0x13,0x02}; -const unsigned char sk_lvl1[] = {0x77,0x69,0xC5,0x34,0xCF,0xA4,0x02,0x68,0x53,0xF0,0x41,0xF1,0x4A,0xB3,0xAA,0x97,0x5E,0x2D,0x15,0xC4,0xE5,0x14,0x73,0xC5,0xEC,0x44,0x81,0x50,0x9A,0x09,0x58,0x1C,0x2A,0x27,0x46,0x9E,0x49,0x10,0x69,0xC9,0xB3,0x60,0x9B,0x4E,0x3B,0xF3,0x1C,0xFB,0xF2,0x26,0xBF,0xF0,0xA4,0x80,0xBC,0x48,0x43,0x80,0xD8,0x22,0x00,0x98,0x13,0x02,0x02,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xAF,0x71,0x87,0xCD,0xA3,0x13,0xF3,0x7F,0xF9,0xF3,0xFD,0xAB,0xC6,0x25,0x48,0xF9,0x69,0xF2,0x5C,0xAB,0x3B,0xF9,0xAD,0x2C,0x79,0x07,0x22,0x7C,0xA6,0xAD,0x10,0xF3,0x64,0x9A,0xD7,0xF3,0x68,0xB6,0xCD,0x97,0xD7,0x6F,0xF5,0x67,0x29,0xE9,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFA,0xB3,0x43,0xC8,0x0E,0xF4,0x16,0xB8,0xBE,0x87,0x4E,0x2F,0x6D,0x2D,0xA7,0x38,0x00,0x81,0x24,0x17,0x38,0x44,0xDB,0x60,0x19,0xB7,0xB8,0x23,0xC4,0x9E,0xB7,0xD1,0x1B,0x46,0x6C,0x99,0xDC,0xCD,0xF9,0xBD,0x34,0x1F,0x73,0x0E,0x92,0x32,0xFE,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xEE,0x8D,0x38,0xC1,0x1F,0xF3,0xB5,0x0E,0x8B,0xED,0x00,0x09,0x48,0xC0,0x60,0x4D,0x63,0xCB,0xC8,0x94,0x3C,0xAD,0x5A,0x0F,0xCD,0x1A,0xBF,0x81,0x30,0x81,0xFB,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xBF,0xC9,0x2E,0x58,0x2C,0xC3,0x50,0x79,0xFA,0x93,0x64,0x3B,0x1F,0x12,0xB3,0xF0,0x86,0x43,0xF6,0xBB,0xAA,0x1B,0xB4,0x3E,0xBB,0x60,0x1D,0x25,0x4D,0x03,0x0C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x22,0x44,0xAD,0x1D,0x60,0x35,0xD2,0x53,0x02,0x92,0xE1,0xB9,0xEB,0x61,0x10,0xAE,0x11,0xD9,0xB2,0x0A,0xD3,0xFC,0xF0,0x50,0x49,0xCC,0x5E,0x1B,0x8F,0x77,0x82,0x0C,0xA9,0xEB,0x43,0x9F,0x20,0xFF,0x06,0x17,0x2E,0x1C,0x13,0xDE,0xDB,0x33,0xE7,0x24,0xD2,0x60,0x90,0xA5,0x69,0xAB,0xE3,0x5E,0xE8,0x37,0xEE,0x18,0x23,0x15,0x0B,0x15,0xB6,0xF1,0x65,0xB3,0x24,0x08,0x65,0x24,0xB7,0x41,0xFA,0x46,0x88,0x38,0x04,0x63,0x88,0x94,0x92,0x10,0xE1,0x4C,0xCA,0x16,0x7B,0x0A,0x02,0x5D,0x61,0xDE,0xBE,0x33,0x8B,0x96,0x68,0x43,0xBF,0xBA,0xE5,0x4D,0x78,0x96,0x3E,0x8D,0xE6,0x27,0x34,0x92,0xC5,0x32,0x7E,0x2A,0x29,0x4A,0xA4,0x63,0xD0,0x90,0x05,0xE6,0x33,0x61,0x2C,0x1E,0x45,0xB1,0x63,0x5A,0xFA,0x8F,0xEB,0x9D,0x5F,0x44,0x6B,0x43,0xFB,0x62,0x1A,0x03,0x91,0xE8,0x86,0x7B,0xF3,0x95,0x4A,0xE6,0x16,0xAC,0x53,0x64,0xED,0x38,0x74,0x08,0x78,0x6F,0xC0,0x3C,0x45,0x5B,0xEE,0x6C,0x80,0x9C,0xFF,0xB6,0x5D,0x35,0x20,0xF6,0xDC,0x2E,0x27,0x75,0xAE,0x34,0x72,0x5D,0x32,0xEA,0x49,0x0F,0x9D,0xFE,0x0D,0x30,0x28,0x74,0xF2,0xB1,0x85,0xB1,0xF7,0xD7,0x83,0x20,0x20,0xBA,0x97,0xD6,0x50,0xBB,0x09,0x22,0x17,0xF4,0x57,0x6E,0xD8,0xC3,0xEF,0x8D,0x95,0x85,0xD4,0x0A,0x56,0x13,0xF5,0xD1,0x32,0x31,0xEE,0x17,0x56,0x6C,0x49,0x97,0xCD,0x47,0xFE,0x11,0x3B,0x95,0x6B,0xC9,0x54,0x0B,0x68,0x5B,0xB1,0x03,0xD6,0xDD,0xCA,0x75,0x70,0x80,0xBE,0x19,0x00,0xD7,0x1D,0x44,0xC0,0xCE,0x81,0x0E,0x0D,0xF1,0xA0,0x17,0x25,0xF4,0x70,0xE7,0x7B,0xE8,0xAA,0xB8,0x14,0xDB,0x3E,0x51,0xB8,0x6D,0xCF,0xF5,0xAD,0xD8,0x28,0x1B,0xD9,0xF9,0xBC,0x67,0x04,0xB8,0x46,0xE3,0x38,0xEB,0xFD,0xE4,0x3B,0x72,0x44,0x28,0x05,0x46,0x14,0x73,0xB6,0xD2,0x76,0x6C,0xF9,0x30,0x74,0xE4,0x78,0x0D,0xE5,0x0B,0x36,0x1F,0x43,0xD8,0x2C,0xF2,0x83,0x8D,0x0C,0x4A,0x2A,0x00,0xFE,0x44,0xBB,0xA2,0xC1,0x06,0xC5,0x7B,0x99,0x33,0xD9,0x34,0xE4,0x56,0x23,0x88,0xAD,0xA3,0xD5,0x1C,0x90,0x3C,0x9C,0x77,0x3A,0xFB,0x3A,0x0E,0xB8,0x62,0xCF,0x41,0x0B,0xD2,0xD3,0x79,0x3D,0x4C,0x53,0x18,0xC9,0x35,0x60,0x26,0xCB,0x35,0xB4,0xCF,0x8E,0x37,0x01,0x34,0x2F,0xDA,0xA1,0x19,0xEA,0x49,0x38,0xB2,0xCC,0x71,0x5C,0xF0,0x7A,0x4C,0x9C,0xE1,0x68,0x18,0xCF,0x15,0xD3,0x71,0xED,0x6E,0x45,0x64,0xA9,0x31,0x2F,0xEB,0x57,0x0C,0xAB,0x2D,0x28,0x71,0x45,0xCF,0xAE,0x87,0xF1,0xD1,0xD5,0x6D,0x4D,0xBA,0x77,0x6F,0xA4,0x48,0xA7,0xD1,0x38,0xFE,0x3C,0xE2,0x80,0x13,0x68,0x6F,0xA0,0x5D,0xA1,0x08}; -const unsigned char sm_lvl1[] = {0xAC,0xCF,0xF0,0x35,0x98,0xEF,0xB1,0x3D,0x03,0x07,0xBC,0xDF,0x97,0x9B,0x73,0x48,0xA9,0x51,0xAB,0x00,0xCF,0x92,0xF0,0x47,0x08,0xD0,0x06,0x7E,0x72,0x06,0x13,0x97,0xA8,0x1D,0x92,0xE6,0x11,0xFF,0x68,0x01,0xE1,0x4E,0x55,0xE5,0xFF,0xA9,0xBE,0xFE,0x78,0x07,0xB3,0x8A,0x9D,0x40,0x41,0x64,0xE0,0x65,0x7B,0x02,0x56,0x4E,0x2B,0x26,0x38,0x3D,0xB0,0x05,0x01,0x01,0x06,0x13,0x58,0x57,0xCE,0xFC,0xE6,0x1E,0xFD,0x00,0x9D,0x8A,0x60,0x00,0x3E,0x09,0x8F,0x43,0xDB,0x06,0x17,0x3F,0x2A,0x68,0x43,0x0A,0xC1,0xEC,0x70,0x03,0x19,0xC7,0xF7,0xB4,0x7F,0x81,0x01,0x8A,0xFB,0x00,0xA7,0x06,0x7A,0x1B,0x11,0x5D,0xBD,0x3B,0xE8,0x05,0xFD,0x2D,0x24,0x03,0x0C,0x91,0x50,0xDD,0x48,0x06,0xC4,0x8D,0xEA,0x84,0xEC,0xAC,0x2C,0x59,0x48,0x00,0x00,0x43,0x23,0x1B,0xD6,0xB0,0x8C,0x2B,0x7C,0x39,0xD9,0x32,0x06,0xE3,0xCD,0x79,0x73,0x10,0x01,0xE6,0xD5,0xBF,0x78,0xDB,0x04,0x03,0xDB,0xD2,0x05,0x4F,0x16,0x3B,0x51,0xA4,0xCF,0xB6,0x01,0xD8,0x1C,0x4D,0x8D,0x73,0x4F,0xCB,0xFB,0xEA,0xDE,0x3D,0x3F,0x8A,0x03,0x9F,0xAA,0x2A,0x2C,0x99,0x57,0xE8,0x35,0xAD,0x55,0xB2,0x2E,0x75,0xBF,0x57,0xBB,0x55,0x6A,0xC8}; -const unsigned char msg_lvl1[] = {0xD8,0x1C,0x4D,0x8D,0x73,0x4F,0xCB,0xFB,0xEA,0xDE,0x3D,0x3F,0x8A,0x03,0x9F,0xAA,0x2A,0x2C,0x99,0x57,0xE8,0x35,0xAD,0x55,0xB2,0x2E,0x75,0xBF,0x57,0xBB,0x55,0x6A,0xC8}; -const unsigned long long mlen_lvl1 = 33; +const unsigned char pk[] = {0x9C,0xD1,0x15,0x09,0x55,0x1D,0x64,0x17,0x07,0xA4,0xD8,0x96,0x58,0x60,0xCD,0x0F,0xD7,0x82,0xCC,0x1C,0x87,0x25,0xB5,0x42,0xC4,0xDC,0x78,0x5D,0xEE,0xCA,0x56,0x24,0x2E,0xC6,0x7D,0x92,0x45,0xCD,0x46,0x4B,0x83,0x85,0x54,0xD3,0xA7,0xFA,0x4F,0x1D,0x90,0xC1,0x47,0x36,0xF8,0x24,0x4E,0x21,0x1D,0x6E,0x31,0xBD,0xB9,0x8D,0x50,0x0C}; +const unsigned char sk[] = {0x9C,0xD1,0x15,0x09,0x55,0x1D,0x64,0x17,0x07,0xA4,0xD8,0x96,0x58,0x60,0xCD,0x0F,0xD7,0x82,0xCC,0x1C,0x87,0x25,0xB5,0x42,0xC4,0xDC,0x78,0x5D,0xEE,0xCA,0x56,0x24,0x2E,0xC6,0x7D,0x92,0x45,0xCD,0x46,0x4B,0x83,0x85,0x54,0xD3,0xA7,0xFA,0x4F,0x1D,0x90,0xC1,0x47,0x36,0xF8,0x24,0x4E,0x21,0x1D,0x6E,0x31,0xBD,0xB9,0x8D,0x50,0x0C,0x02,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xAF,0x71,0x87,0xCD,0xA3,0x13,0xF3,0x7F,0xF9,0xF3,0xFD,0xAB,0xC6,0x25,0x48,0xF9,0x69,0xF2,0x5C,0xAB,0x3B,0xF9,0xAD,0x2C,0x79,0x07,0x22,0x7C,0xA6,0xAD,0x10,0xF3,0x64,0x9A,0xD7,0xF3,0x68,0xB6,0xCD,0x97,0xD7,0x6F,0xF5,0x67,0x29,0xE9,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFA,0xB3,0x43,0xC8,0x0E,0xF4,0x16,0xB8,0xBE,0x87,0x4E,0x2F,0x6D,0x2D,0xA7,0x38,0x00,0x81,0x24,0x17,0x38,0x44,0xDB,0x60,0x19,0xB7,0xB8,0x23,0xC4,0x9E,0xB7,0xD1,0x1B,0x46,0x6C,0x99,0xDC,0xCD,0xF9,0xBD,0x34,0x1F,0x73,0x0E,0x92,0x32,0xFE,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xEE,0x8D,0x38,0xC1,0x1F,0xF3,0xB5,0x0E,0x8B,0xED,0x00,0x09,0x48,0xC0,0x60,0x4D,0x63,0xCB,0xC8,0x94,0x3C,0xAD,0x5A,0x0F,0xCD,0x1A,0xBF,0x81,0x30,0x81,0xFB,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xBF,0xC9,0x2E,0x58,0x2C,0xC3,0x50,0x79,0xFA,0x93,0x64,0x3B,0x1F,0x12,0xB3,0xF0,0x86,0x43,0xF6,0xBB,0xAA,0x1B,0xB4,0x3E,0xBB,0x60,0x1D,0x25,0x4D,0x03,0x0C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x8E,0xF4,0xD1,0x0A,0x6D,0x33,0x6B,0x5F,0x52,0xCD,0x54,0x9A,0x2E,0x38,0x48,0xD1,0xDA,0xE6,0xDF,0x6D,0x25,0x78,0x1D,0x0F,0x22,0x06,0x23,0x25,0xD7,0xB5,0xCA,0x17,0x00,0xF2,0xDC,0xC3,0x7B,0x1C,0x21,0x2B,0x00,0x3D,0xD8,0x58,0x66,0x36,0xBE,0x3A,0x87,0x89,0xA4,0x05,0x11,0x67,0x93,0xCA,0xBE,0x12,0xD7,0xE5,0xB2,0x6B,0xCC,0x21,0x7C,0x1D,0x15,0x74,0x80,0x36,0xC1,0x80,0x65,0xAD,0x55,0x16,0x20,0xEF,0xA2,0x34,0xF6,0x54,0x76,0xEE,0x48,0xC3,0xA5,0x04,0x81,0x18,0x96,0x63,0x36,0x3D,0x44,0x11,0xE7,0xED,0xD0,0xB9,0xBA,0xC2,0xC9,0x3B,0xD5,0xB3,0x49,0x40,0x96,0xB7,0xD0,0xEF,0xF8,0xF1,0xF3,0xE3,0x48,0x1F,0x38,0x69,0xBB,0xBB,0x51,0xE2,0x4B,0x16,0x1C,0x24,0x20,0x12,0xF7,0x9E,0x4A,0x62,0x50,0xFE,0x4C,0xD6,0x69,0x9D,0x7E,0x38,0x24,0xD3,0x5E,0x48,0x47,0xE7,0x43,0xA0,0x7B,0x09,0x14,0x04,0xA6,0xBD,0x71,0xD7,0x5D,0x2D,0x7D,0x09,0x62,0xC9,0xF5,0x1B,0x1C,0xFE,0x30,0x0A,0xA1,0xFA,0xD4,0xC0,0x13,0x1E,0x69,0x06,0x6D,0x83,0x2E,0x3D,0x5E,0x46,0x20,0x30,0xDD,0x90,0xE7,0xD2,0x5A,0x28,0x19,0x07,0x47,0x5E,0x62,0xA3,0xDE,0x15,0x71,0xCA,0x21,0x57,0xC7,0x1E,0xE3,0x7F,0xC1,0x94,0x5A,0x84,0x04,0x08,0xE6,0xC6,0xDB,0x4C,0x4D,0x50,0x6A,0x27,0xEB,0x24,0xEF,0x8E,0x23,0x96,0x66,0xA6,0x63,0xF6,0x33,0xA6,0xF7,0x66,0xDF,0xE1,0x27,0xB3,0x27,0x80,0xAF,0xC0,0x6E,0x2E,0x5A,0x86,0xD8,0x6F,0xB9,0xA2,0x53,0xDD,0xD5,0x31,0xA3,0x8E,0x64,0x16,0xE4,0xFD,0x5F,0x12,0x39,0x99,0x57,0xCC,0x87,0x29,0x24,0x6C,0xB1,0xD5,0xD5,0x72,0x19,0xA5,0xAA,0x35,0xBE,0x69,0xA8,0x21,0x33,0x8D,0x0D,0x14,0xE5,0xAA,0x83,0xE6,0x3F,0x84,0x3C,0x0E,0x5C,0x4F,0xAB,0x40,0xFB,0xAB,0x31,0x5D,0x01,0x9A,0xDC,0x0D,0x29,0xA2,0x7B,0xB5,0xD9,0x8E,0x39,0x77,0xC5,0x16,0x31,0x0A,0xE2,0x1D,0x41,0xBD,0x0D,0xAC,0xCC,0x99,0x40,0xA4,0xCF,0x2A,0x36,0x33,0xE5,0x3A,0xF5,0x34,0xA7,0xA4,0x6E,0xA3,0x9A,0x2D,0x75,0xAB,0xBB,0x41,0x70,0xA3,0x99,0x0F,0xCD,0xA5,0xF7,0x97,0x91,0x85,0x25,0x2A,0xAB,0x38,0xA9,0x27,0x08,0x6D,0xFD,0x3C,0x0C,0x96,0x04,0x0F,0xA6,0xA8,0xC8,0x77,0x69,0xD6,0xDF,0xD4,0xBC,0x47,0xBE,0x0D,0x38,0x37,0x2C,0xE5,0x9B,0xCD,0x4C,0xDD,0xE3,0x24,0xDA,0x73,0x17,0x65,0xEB,0x43,0x0F,0x85,0x84,0xD7,0x4D,0x83,0x98,0xC7,0x3C,0xB8,0x75,0x4E,0x91,0x8C,0x37,0x07,0x61,0x28,0xC2,0xC8,0x92,0x62,0xA1,0xA2,0xBE,0x43,0x62,0xCF,0xF1,0x95,0xD4,0xA2,0x76,0xBE,0x74,0x7E,0x57,0x27,0xFF,0x58,0xA7,0xFE,0xB0,0xB4,0xCF,0x24,0x7F,0x1B}; +const unsigned char sm[] = {0xB2,0x9C,0xA1,0x76,0x40,0xDD,0x8D,0x78,0xA0,0x01,0xD6,0xF9,0x9D,0x80,0x69,0x9D,0x24,0xDB,0xB1,0x04,0xDF,0xD7,0x05,0x6D,0xA5,0x6F,0x2D,0xBF,0xD7,0x04,0xF7,0x56,0x18,0xFC,0x79,0x6B,0xEA,0x04,0x0E,0x06,0x12,0x45,0x0C,0xB5,0x88,0x55,0x3B,0x93,0x65,0x02,0x1A,0x3E,0x7B,0xC1,0xD5,0xCB,0x83,0xC8,0x25,0x05,0x6C,0xC7,0xE8,0xB2,0x03,0x85,0xB1,0x69,0xBA,0x04,0x79,0xA1,0x58,0xDB,0x7F,0x6F,0xE2,0x29,0x28,0x00,0xAE,0xBE,0xED,0x83,0xCC,0x6F,0x77,0x5C,0x9D,0x02,0xFE,0x2F,0x3C,0xFC,0xFE,0x3A,0x78,0x9E,0x89,0x05,0x1B,0xBE,0x86,0xD0,0xE2,0x94,0xA2,0xE3,0xAE,0x04,0xF0,0xAE,0x5A,0xE4,0x81,0x8C,0x5F,0xEA,0x17,0x02,0x6F,0xC9,0x04,0xC8,0x70,0x7B,0x07,0x8C,0xD5,0x06,0x2C,0xBF,0xB0,0x01,0x9E,0x51,0x39,0xB8,0xE3,0x07,0x00,0x73,0x64,0x1A,0xF4,0x20,0x36,0x39,0xA9,0xE6,0x35,0xDD,0x31,0x2C,0x16,0x9C,0x5B,0x0A,0x00,0xC6,0x22,0x3B,0xC7,0x4D,0xE2,0x8D,0x76,0xF1,0x04,0x06,0x4E,0x28,0x00,0xA8,0xAC,0xF7,0x00,0xD8,0x1C,0x4D,0x8D,0x73,0x4F,0xCB,0xFB,0xEA,0xDE,0x3D,0x3F,0x8A,0x03,0x9F,0xAA,0x2A,0x2C,0x99,0x57,0xE8,0x35,0xAD,0x55,0xB2,0x2E,0x75,0xBF,0x57,0xBB,0x55,0x6A,0xC8}; +const unsigned char msg[] = {0xD8,0x1C,0x4D,0x8D,0x73,0x4F,0xCB,0xFB,0xEA,0xDE,0x3D,0x3F,0x8A,0x03,0x9F,0xAA,0x2A,0x2C,0x99,0x57,0xE8,0x35,0xAD,0x55,0xB2,0x2E,0x75,0xBF,0x57,0xBB,0x55,0x6A,0xC8}; +const unsigned long long mlen = 33; #elif CRYPTO_PUBLICKEYBYTES == 96 -const unsigned char pk_lvl1[] = {0xFB,0xDB,0x06,0x7F,0xED,0x9C,0xDF,0x27,0xB1,0xDC,0x94,0x4A,0xE1,0x55,0xD4,0x81,0x7F,0xE2,0x25,0x85,0xBE,0x32,0xB3,0x54,0xE6,0x2D,0x89,0x0C,0xA2,0xFF,0x79,0x39,0xD6,0x3C,0x59,0x14,0x4A,0xD6,0x6A,0x77,0x42,0x7D,0x58,0xC7,0x53,0xAD,0x2A,0x00,0xB0,0xFB,0xBA,0x29,0xCA,0x34,0x47,0x51,0x40,0xCB,0x3F,0xFF,0xFC,0x12,0x2D,0xDF,0x1F,0xEE,0x1A,0xDD,0xFE,0xD3,0x89,0x31,0x8A,0x61,0xA0,0xE9,0x98,0x14,0x7A,0x30,0x81,0xCA,0x1B,0x71,0xD1,0x3B,0xFC,0x80,0x6F,0x13,0xF7,0x02,0x07,0x19,0x2A,0x01}; -const unsigned char sk_lvl1[] = {0xFB,0xDB,0x06,0x7F,0xED,0x9C,0xDF,0x27,0xB1,0xDC,0x94,0x4A,0xE1,0x55,0xD4,0x81,0x7F,0xE2,0x25,0x85,0xBE,0x32,0xB3,0x54,0xE6,0x2D,0x89,0x0C,0xA2,0xFF,0x79,0x39,0xD6,0x3C,0x59,0x14,0x4A,0xD6,0x6A,0x77,0x42,0x7D,0x58,0xC7,0x53,0xAD,0x2A,0x00,0xB0,0xFB,0xBA,0x29,0xCA,0x34,0x47,0x51,0x40,0xCB,0x3F,0xFF,0xFC,0x12,0x2D,0xDF,0x1F,0xEE,0x1A,0xDD,0xFE,0xD3,0x89,0x31,0x8A,0x61,0xA0,0xE9,0x98,0x14,0x7A,0x30,0x81,0xCA,0x1B,0x71,0xD1,0x3B,0xFC,0x80,0x6F,0x13,0xF7,0x02,0x07,0x19,0x2A,0x01,0x02,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xA6,0x25,0xA3,0xE9,0x72,0x58,0x8F,0xA8,0x1D,0xF7,0x63,0x37,0x83,0xA0,0x7C,0x17,0x06,0x82,0x14,0x32,0xC9,0x75,0xD2,0x7F,0x15,0xA3,0x4F,0xA6,0x7B,0x9D,0x22,0x5A,0xDA,0xCE,0xD4,0xDE,0x4B,0x43,0xD8,0xFC,0x47,0xCE,0x7D,0x27,0xED,0x46,0x91,0x5D,0x23,0xB7,0xC4,0x24,0x09,0x7C,0x49,0xDA,0xF3,0x08,0x3D,0x63,0x80,0x19,0xA4,0x08,0xE2,0x60,0x0D,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x65,0x08,0x56,0xD9,0x6E,0xDE,0x15,0xB6,0x89,0xCE,0x0A,0xAC,0x09,0xEB,0xD7,0x57,0x79,0xA4,0xC3,0xE7,0x81,0x6D,0x66,0x39,0x2E,0xF0,0x0A,0xCA,0x5A,0x17,0x4C,0x39,0x1A,0xBB,0x6D,0xF1,0x70,0x6D,0x1A,0xCE,0x4E,0xC4,0x56,0xC7,0x17,0x03,0xE7,0x33,0x45,0x8A,0x34,0xE4,0xA6,0x5E,0xE8,0xBD,0x4A,0x59,0x0E,0x8F,0xB7,0x6B,0xDC,0x3F,0xA5,0x1A,0x02,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x45,0x1F,0x15,0xE0,0x2A,0xF5,0xA3,0x79,0x65,0x77,0xD5,0x10,0x00,0xD0,0xAE,0xDA,0xAD,0x34,0x4F,0xB7,0xBD,0x70,0xCE,0x10,0x69,0x0A,0x93,0xBF,0xE3,0xEB,0xFE,0x10,0x66,0xB1,0x7B,0x6B,0x9F,0x8B,0x19,0x76,0xEC,0x07,0x4A,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xD6,0x0B,0x88,0x66,0xD7,0xE3,0x4F,0x7D,0xC0,0x7F,0xD5,0xB3,0x84,0xEA,0x6C,0xDA,0xD7,0xE5,0xC3,0x3C,0xAC,0x15,0xB2,0x03,0x5B,0xB1,0x1F,0x6B,0x63,0x7C,0x4B,0x61,0xC0,0xC1,0x9B,0xF3,0xC2,0xBB,0xD7,0x2A,0x14,0x1F,0xDC,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x33,0x8A,0xFD,0xE2,0x24,0x58,0x65,0xC8,0x94,0x07,0x19,0xA4,0x20,0x84,0xC0,0xD6,0xC6,0xEC,0x81,0x9B,0x6E,0x54,0x21,0x2F,0xE9,0x11,0x25,0x7A,0x48,0xE3,0x58,0xDB,0xAE,0x38,0x21,0x87,0xFD,0x9F,0x54,0xE9,0x8E,0x0D,0x67,0x63,0x5E,0x55,0x12,0x03,0xB6,0x8F,0xE4,0xA4,0x97,0x1C,0x9A,0x77,0x35,0x04,0x5C,0xED,0xCE,0x83,0xAD,0x8A,0xDC,0x26,0x0D,0x6F,0x65,0xFD,0x60,0x51,0xDA,0xB1,0x8F,0x00,0x61,0x1F,0xCE,0x77,0x74,0x34,0x08,0x0A,0x5B,0x36,0x67,0x61,0xF8,0x9C,0xF7,0xE2,0xD8,0x84,0xDB,0x02,0xF1,0x4C,0x4E,0xB0,0x66,0xD8,0x25,0x52,0x64,0x89,0xC8,0xD6,0xA7,0x44,0x35,0xE1,0x2B,0x63,0x32,0xAB,0x2B,0x7A,0x23,0x00,0x20,0xC1,0x9B,0xEA,0x53,0x92,0x24,0x14,0x7E,0xC5,0xB2,0x07,0xBA,0x18,0xCD,0xBA,0xCF,0xB4,0x27,0x23,0xCF,0x94,0x95,0x00,0x10,0x69,0x30,0xC9,0xB3,0x73,0x38,0x43,0x96,0xE1,0x55,0xC2,0xDB,0xA1,0x39,0x70,0xB5,0x44,0x27,0x40,0x02,0x04,0xB1,0x3B,0x6D,0x46,0x29,0xF8,0x99,0xD8,0xEC,0x29,0xA9,0x55,0x7D,0x67,0xC7,0x2E,0x1F,0xE5,0xC4,0x0A,0x04,0x65,0x2D,0x71,0x18,0x01,0xD5,0x2D,0x54,0x65,0x77,0xC4,0xFE,0xAE,0x74,0x0E,0x4C,0xDB,0x3D,0xAF,0x6D,0x62,0xF4,0xC9,0xF0,0x1B,0xBE,0xDC,0x8C,0xC2,0x81,0x4E,0xA6,0x04,0x3C,0x51,0x78,0xB1,0xB6,0x4D,0x23,0x9A,0x26,0xCC,0x5F,0xB1,0xBD,0x3B,0xBB,0xF6,0x47,0xE5,0x30,0x00,0x5F,0xC6,0xA9,0x7B,0x73,0x8C,0x62,0xE2,0xCB,0xAC,0x18,0x59,0x51,0x8E,0xA6,0xDC,0x61,0x71,0xD9,0x64,0x9E,0xAD,0x92,0x8F,0xC2,0x10,0x30,0xE0,0x13,0x8C,0x36,0x68,0x08,0x82,0x3D,0x1D,0x27,0xE6,0x07,0x9B,0xE6,0xE4,0xB8,0x0D,0xDD,0x91,0xCB,0x00,0x58,0x8F,0x0F,0xCC,0x60,0xA7,0x04,0x8A,0x04,0x62,0x98,0x37,0x5E,0xFC,0xAF,0x86,0xE3,0x05,0x82,0xCF,0xB0,0x71,0x03,0x5B,0xB1,0x27,0x96,0x32,0xD8,0xDA,0x6B,0xEA,0x76,0x3A,0x04,0xF8,0x62,0xD3,0xD7,0x02,0x62,0x78,0xD4,0xAA,0xEC,0x94,0x9D,0x00,0xC7,0xCF,0xB9,0xEB,0xEC,0x7B,0x19,0x84,0xB7,0x36,0x3F,0xE2,0x79,0x1A,0x51,0x18,0x8C,0xD1,0x44,0x51,0x05,0x2C,0x95,0x9D,0x78,0xEC,0x75,0x1F,0xAE,0xE1,0x3C,0x0C,0x32,0x52,0xE7,0xD9,0xDB,0xD4,0x54,0x1C,0xF0,0xA9,0x38,0x6E,0x46,0xBC,0x39,0x02,0xF0,0x4F,0x9C,0x02,0xA4,0x8E,0xCD,0x49,0xC8,0xAB,0x97,0x6C,0xA2,0xBE,0x14,0xFF,0xD1,0xF8,0xB7,0x0C,0xE4,0x05,0x49,0xD4,0xA4,0x93,0x76,0x5D,0xA9,0x82,0x7E,0x3A,0x79,0x8E,0x85,0xF7,0xAE,0x0C,0x02,0x48,0x4D,0x58,0x36,0xD0,0xE6,0x07,0x8F,0x01,0xFC,0x68,0x2B,0x5B,0x47,0x1F,0x46,0x7E,0x16,0xA7,0xF9,0x2C,0x74,0x91,0x2C,0x40,0xB9,0x10,0x3E,0x1B,0xA7,0x63,0x32,0x23,0x1F,0x30,0xB6,0x39,0x76,0xEC,0xB3,0xBF,0x7E,0x80,0xC4,0xE5,0x92,0x9C,0xD9,0x0A,0xC0,0x96,0xCD,0xDC,0x81,0x53,0x96,0x02,0x16,0xDE,0xB3,0x4D,0x6B,0x2F,0x10,0x43,0xAA,0x88,0xC4,0xEA,0x28,0x33,0xC9,0xA2,0x95,0xC3,0xA7,0xF0,0x3C,0xB8,0xD2,0x80,0x59,0x2E,0x42,0x9D,0x04,0xBF,0xBA,0xEA,0x3A,0x10,0x2B,0x1E,0xDE,0xD0,0x4A,0xA3,0x41,0x3B,0x43,0xB0,0x7D,0x78,0xCC,0x02,0x69,0xC3,0xB9,0x6A,0x00,0xAE,0x4D,0xBD,0xA5,0x9C,0x5A,0x02,0x4C,0x07,0xC8,0xE4,0x2B,0x7E,0x30,0x84,0xCF,0xD6,0xD2,0x73,0x1C,0xB8,0x44,0xBC,0x3C,0xAC,0xC9,0x99,0x44,0x85,0xCC,0x09,0x60,0xD2,0xDE,0x19,0x09,0x9E,0x24,0x5F,0x8F,0x17,0xDE,0x03,0x33,0xCD,0xAF,0x6B,0xD1,0x3C,0xEC,0x33,0x8C,0x09,0x73,0xD1,0x84,0xFE,0x98,0xD9,0x2B,0x5A,0x5F,0xCA,0x65,0xC8,0xF4,0x3C,0x40,0x7E,0x9F,0x41,0x18,0xC3,0x8E,0xC0,0x31,0x26,0x99,0x95,0x63,0x48,0x62,0x4D,0xBD,0xF9,0x99,0xB6,0xA4,0xE9,0xEB,0x01,0x00,0x77,0xE2,0xB2,0x9B,0x80,0xAF,0xA3,0x7C,0x20,0x95,0x2E,0xBC,0xE7,0x6F,0x83,0xF9,0x33,0x4B,0x3B,0xFC,0xC8,0xD9,0x62,0xB3,0x47,0xB3,0xF9,0xD2,0xEF,0x2E,0xF6,0x38,0x32,0x74,0xCB,0x2F,0x32,0xD1,0x70,0x9D,0xD2,0x6F,0x8A,0xCE,0x07,0xB1,0x01}; -const unsigned char sm_lvl1[] = {0x8C,0x62,0xC7,0x9D,0x6D,0xA4,0x64,0xCD,0xC9,0xE0,0x67,0x5E,0x00,0x4F,0xCC,0x2B,0x21,0xBC,0x53,0x5E,0xA1,0xFE,0x1B,0xFA,0x0E,0x00,0xF8,0x4B,0x84,0xFF,0x75,0x98,0xBA,0xD2,0x92,0xDA,0x8B,0xCE,0x01,0xF3,0xB1,0xB9,0xF4,0xD4,0x66,0x4C,0x2F,0x4C,0x1F,0x51,0x95,0x01,0x1A,0x66,0x8A,0x32,0xE1,0x9A,0xAC,0xC8,0x0F,0xC5,0x93,0x87,0x01,0xE3,0x61,0xF3,0x85,0x32,0x57,0xB0,0x35,0x42,0xDB,0x8D,0x46,0x01,0xFD,0x23,0x8A,0xC8,0x60,0x25,0xC0,0x04,0xCA,0xEA,0x63,0x86,0x01,0x74,0x2B,0xBA,0x15,0xBE,0x2E,0x79,0x55,0x00,0x89,0x22,0xA8,0x00,0xED,0x80,0x3A,0x4A,0x7F,0xC9,0x84,0xA9,0x31,0x79,0x92,0x4A,0x01,0x49,0x0B,0x93,0xD4,0x46,0x34,0x6F,0x83,0x4C,0x5E,0x5F,0x14,0x00,0x78,0x93,0x77,0x0A,0x98,0x58,0x36,0x0F,0xB6,0xC3,0xD3,0xDF,0x00,0x3A,0x90,0x27,0xB7,0x90,0x38,0xD6,0x41,0x86,0x4F,0xFD,0xCB,0x00,0x67,0xB4,0x59,0x9A,0x7C,0x6C,0xEB,0x72,0x2F,0x90,0x6C,0xF0,0x01,0x83,0xB7,0x30,0xF4,0xF9,0x18,0x47,0xEB,0xB8,0x29,0x66,0xC6,0x01,0x5A,0x77,0xD9,0x9D,0xE4,0x56,0x7F,0x90,0x85,0x31,0x5F,0xDC,0x00,0x4E,0x27,0x43,0x58,0xDC,0x62,0xA8,0xA5,0x46,0x99,0x93,0x2A,0x00,0x00,0x95,0xF1,0x1F,0x5A,0x53,0xF3,0x53,0xB6,0x53,0x53,0x25,0x43,0xB1,0xE3,0x69,0x8F,0x84,0x90,0x5D,0x17,0x8E,0x6E,0x82,0xF2,0xD8,0x0C,0x03,0xBA,0x05,0x95,0xB0,0x9C,0xBA,0xCD,0xAF,0x0B,0xE1,0xC9,0xDA,0x00,0x9F,0x9A,0xF9,0x4E,0x99,0xCD,0xA9,0xFA,0x74,0x1E,0x64,0x40,0x34,0x00,0xD8,0x1C,0x4D,0x8D,0x73,0x4F,0xCB,0xFB,0xEA,0xDE,0x3D,0x3F,0x8A,0x03,0x9F,0xAA,0x2A,0x2C,0x99,0x57,0xE8,0x35,0xAD,0x55,0xB2,0x2E,0x75,0xBF,0x57,0xBB,0x55,0x6A,0xC8}; -const unsigned char msg_lvl1[] = {0xD8,0x1C,0x4D,0x8D,0x73,0x4F,0xCB,0xFB,0xEA,0xDE,0x3D,0x3F,0x8A,0x03,0x9F,0xAA,0x2A,0x2C,0x99,0x57,0xE8,0x35,0xAD,0x55,0xB2,0x2E,0x75,0xBF,0x57,0xBB,0x55,0x6A,0xC8}; -const unsigned long long mlen_lvl1 = 33; +const unsigned char pk[] = {0xC5,0xCD,0x57,0x1D,0xF8,0x66,0x30,0xA9,0x3C,0x72,0xB4,0x15,0x95,0xD1,0xFC,0x20,0xD2,0x58,0x09,0x55,0x88,0xCB,0x64,0x09,0xFE,0xA9,0xA4,0xE1,0x83,0xB8,0x66,0xC7,0x7D,0x2F,0x42,0x3A,0x75,0x59,0xFB,0x3D,0x6E,0x1A,0xDF,0x06,0x04,0xB3,0x68,0x02,0xDD,0xC5,0xC9,0x42,0x0E,0x8E,0xC5,0x5D,0x54,0x7F,0xB0,0x2B,0x83,0x34,0x6D,0xC9,0xCC,0x18,0x57,0xEB,0x58,0x9E,0xE9,0x4E,0x66,0x6B,0x37,0xD8,0xC5,0xF2,0xDF,0x6B,0xBB,0xD3,0xEA,0xE8,0xE2,0x80,0x78,0xD5,0x46,0x59,0x76,0x5E,0x2F,0xCF,0xCD,0x00}; +const unsigned char sk[] = {0xC5,0xCD,0x57,0x1D,0xF8,0x66,0x30,0xA9,0x3C,0x72,0xB4,0x15,0x95,0xD1,0xFC,0x20,0xD2,0x58,0x09,0x55,0x88,0xCB,0x64,0x09,0xFE,0xA9,0xA4,0xE1,0x83,0xB8,0x66,0xC7,0x7D,0x2F,0x42,0x3A,0x75,0x59,0xFB,0x3D,0x6E,0x1A,0xDF,0x06,0x04,0xB3,0x68,0x02,0xDD,0xC5,0xC9,0x42,0x0E,0x8E,0xC5,0x5D,0x54,0x7F,0xB0,0x2B,0x83,0x34,0x6D,0xC9,0xCC,0x18,0x57,0xEB,0x58,0x9E,0xE9,0x4E,0x66,0x6B,0x37,0xD8,0xC5,0xF2,0xDF,0x6B,0xBB,0xD3,0xEA,0xE8,0xE2,0x80,0x78,0xD5,0x46,0x59,0x76,0x5E,0x2F,0xCF,0xCD,0x00,0x02,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xA6,0x25,0xA3,0xE9,0x72,0x58,0x8F,0xA8,0x1D,0xF7,0x63,0x37,0x83,0xA0,0x7C,0x17,0x06,0x82,0x14,0x32,0xC9,0x75,0xD2,0x7F,0x15,0xA3,0x4F,0xA6,0x7B,0x9D,0x22,0x5A,0xDA,0xCE,0xD4,0xDE,0x4B,0x43,0xD8,0xFC,0x47,0xCE,0x7D,0x27,0xED,0x46,0x91,0x5D,0x23,0xB7,0xC4,0x24,0x09,0x7C,0x49,0xDA,0xF3,0x08,0x3D,0x63,0x80,0x19,0xA4,0x08,0xE2,0x60,0x0D,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x65,0x08,0x56,0xD9,0x6E,0xDE,0x15,0xB6,0x89,0xCE,0x0A,0xAC,0x09,0xEB,0xD7,0x57,0x79,0xA4,0xC3,0xE7,0x81,0x6D,0x66,0x39,0x2E,0xF0,0x0A,0xCA,0x5A,0x17,0x4C,0x39,0x1A,0xBB,0x6D,0xF1,0x70,0x6D,0x1A,0xCE,0x4E,0xC4,0x56,0xC7,0x17,0x03,0xE7,0x33,0x45,0x8A,0x34,0xE4,0xA6,0x5E,0xE8,0xBD,0x4A,0x59,0x0E,0x8F,0xB7,0x6B,0xDC,0x3F,0xA5,0x1A,0x02,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x45,0x1F,0x15,0xE0,0x2A,0xF5,0xA3,0x79,0x65,0x77,0xD5,0x10,0x00,0xD0,0xAE,0xDA,0xAD,0x34,0x4F,0xB7,0xBD,0x70,0xCE,0x10,0x69,0x0A,0x93,0xBF,0xE3,0xEB,0xFE,0x10,0x66,0xB1,0x7B,0x6B,0x9F,0x8B,0x19,0x76,0xEC,0x07,0x4A,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xD6,0x0B,0x88,0x66,0xD7,0xE3,0x4F,0x7D,0xC0,0x7F,0xD5,0xB3,0x84,0xEA,0x6C,0xDA,0xD7,0xE5,0xC3,0x3C,0xAC,0x15,0xB2,0x03,0x5B,0xB1,0x1F,0x6B,0x63,0x7C,0x4B,0x61,0xC0,0xC1,0x9B,0xF3,0xC2,0xBB,0xD7,0x2A,0x14,0x1F,0xDC,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x50,0x94,0x18,0xE5,0xDA,0xBD,0x77,0x87,0xAF,0x06,0xC1,0x41,0x85,0x3A,0x09,0x7D,0xBC,0x38,0x49,0x98,0xA7,0x71,0x36,0xB9,0x94,0x4C,0x83,0x98,0xB0,0x9C,0x49,0x58,0x70,0x37,0xD8,0x99,0x9B,0x47,0xA5,0x76,0x22,0xEA,0xF2,0x3A,0xDF,0x63,0x4F,0x01,0x14,0x2E,0xA3,0x26,0x36,0x17,0x90,0x4D,0xD6,0x1C,0xA2,0x9F,0x8C,0x0A,0xE5,0x47,0x14,0x3E,0x5A,0x59,0xF4,0x35,0x7E,0xBE,0x87,0xE5,0xC6,0x7A,0x3F,0xE2,0x8F,0x49,0xAC,0x8B,0xC6,0x1C,0xE6,0x93,0x8A,0x29,0x76,0x08,0x85,0x58,0xAD,0x7E,0xFA,0x02,0x5B,0xFC,0x8F,0xB9,0x40,0x46,0x58,0x00,0xFB,0x71,0xD1,0x34,0x70,0x90,0xAD,0x23,0xEE,0xC7,0xF1,0x9B,0x60,0x99,0xC5,0xCF,0xC3,0x07,0xF2,0x71,0xE3,0x58,0x30,0xA7,0x20,0x81,0xFD,0xDF,0x66,0xE6,0x5C,0x39,0x8B,0x68,0x44,0xD2,0x00,0x8D,0xFF,0x02,0xBC,0x76,0x0C,0xD8,0x96,0x16,0x96,0xC1,0xC7,0x53,0x86,0xB5,0x2F,0x81,0x4D,0x0B,0x1C,0xBE,0x51,0x01,0xAA,0x66,0x8E,0x9E,0x0F,0x8C,0xDB,0xB8,0x51,0x5F,0xC4,0x43,0xCB,0x82,0x64,0x7F,0xDE,0x4D,0xCD,0x0C,0xDF,0x7F,0x59,0xE6,0xA3,0x76,0x9B,0x01,0x78,0xF1,0x32,0x76,0x84,0x44,0x5B,0x4C,0x4C,0xFC,0xD1,0x15,0xDA,0x53,0xDA,0x7B,0xE2,0x9A,0x03,0xFB,0x45,0x4A,0x61,0xDF,0x6C,0x40,0x62,0xE2,0x49,0xF6,0xB4,0x49,0xDE,0x28,0xC1,0x28,0xCF,0x03,0xF1,0x5B,0x2B,0x0A,0x50,0xDB,0xBB,0x1D,0x88,0x02,0x10,0x6C,0x70,0x86,0x57,0x0F,0x99,0xC3,0x84,0xEB,0x11,0x5D,0xB6,0xC6,0x1C,0x70,0xCD,0xBD,0xC6,0x8C,0xCA,0x2D,0x8C,0xA3,0xE0,0xBB,0x0E,0xD7,0x11,0x22,0x4F,0x33,0x6F,0xDB,0x39,0x6E,0xAA,0x9D,0xEC,0xD1,0xF4,0xAD,0xF7,0xB4,0xE7,0x1C,0x08,0x00,0x38,0x62,0xE5,0x99,0x8B,0x4E,0x64,0x17,0xE9,0xB9,0xE8,0xD1,0xBA,0xAA,0x8C,0x9D,0x57,0xD9,0x22,0xD5,0x2B,0xFC,0x7B,0x86,0x59,0x33,0xE3,0x15,0xF3,0x53,0x67,0xA1,0x6A,0x6C,0xA8,0x47,0x47,0x37,0x3F,0xF1,0xF3,0x43,0xEF,0xC2,0x50,0xE6,0xE3,0x01,0x0A,0x3A,0x30,0x3E,0x4C,0x74,0x68,0xD7,0xCD,0x5A,0x44,0x73,0xE2,0xD8,0x9D,0x86,0x80,0x27,0xB2,0x0F,0xF8,0xA6,0x5F,0xC2,0x8E,0x56,0x3B,0x1F,0x90,0x83,0xBB,0xF8,0xAD,0xC8,0xA2,0x55,0x87,0xAC,0x84,0x64,0xA9,0xCF,0x2A,0x30,0x64,0x15,0x56,0x00,0x49,0x5A,0xDE,0x62,0x54,0x2A,0x87,0x8A,0x3B,0x51,0xE7,0x5B,0xA0,0x24,0x46,0x79,0x13,0x2F,0xCD,0x7C,0x22,0x3B,0x3C,0x52,0x29,0x2A,0x24,0x2C,0x0F,0x83,0x47,0x49,0xB3,0x0F,0x0F,0xD7,0xC8,0x82,0xF1,0x48,0x22,0xD7,0x13,0xF8,0x7F,0xF2,0x4D,0x01,0xA2,0x17,0x89,0x9B,0xD7,0xC7,0x1D,0x24,0xDD,0xA2,0xAD,0x2E,0x30,0x7A,0xCF,0x65,0x09,0x78,0x82,0xD6,0x7D,0xE5,0x56,0xBB,0xFB,0x89,0xDD,0x32,0x91,0x55,0xB8,0xDA,0x34,0xE7,0xF7,0x6E,0x8C,0x7D,0xF7,0x85,0x0D,0x0F,0x8F,0x0D,0xE6,0x67,0xC5,0x03,0xEF,0x71,0x08,0x25,0xA9,0xE7,0x0D,0x2B,0xCF,0x08,0xA2,0x30,0x8F,0x2B,0x13,0xDE,0xE2,0x44,0x7A,0xE1,0xE8,0x22,0x99,0xA8,0xE2,0xDD,0x7D,0x1F,0xE8,0x32,0x6A,0x87,0x52,0xFF,0xCD,0xB6,0x3F,0xD2,0x65,0xCA,0xDE,0xF4,0xC3,0x60,0x11,0x98,0x7D,0x00,0x54,0x33,0x09,0xDA,0x51,0xAC,0x69,0x8E,0x8E,0xFA,0x3C,0x9E,0x4C,0x42,0x5E,0xB7,0xD2,0x8F,0x6E,0x89,0x09,0x07,0x14,0x53,0x01,0x9C,0xB5,0xF1,0x5F,0x0F,0xE1,0x15,0x2E,0x56,0x5E,0x94,0xB4,0x8E,0x35,0x12,0x9D,0x68,0x4C,0x72,0xAF,0x23,0x51,0x01,0x08,0x81,0xE4,0xCA,0x2F,0xB8,0x63,0x95,0x94,0x90,0x73,0x7D,0xF9,0x6A,0x3A,0xF8,0x51,0x23,0xCC,0x5F,0x91,0x8B,0xA0,0x9B,0x35,0x38,0xC2,0x5F,0x8F,0x18,0x6B,0x1D,0x29,0xA3,0x3E,0x2B,0x24,0xD3,0x20,0x41,0x1D,0x42,0xE3,0x8A,0x79,0xC4,0xDD,0x00,0x09,0x33,0x53,0x3C,0xBF,0xA2,0xEC,0x69,0x70,0xE8,0xE2,0x3E,0xB5,0xE4,0xBE,0x7C,0xAA,0x3C,0x06,0xE4,0x35,0x08,0xF0,0xA8,0xF4,0xD1,0xB6,0x37,0x4D,0x3F,0x76,0x22,0xB1,0x64,0x91,0x8A,0x85,0xE8,0x1D,0x90,0xB2,0x3A,0x72,0x13,0xEF,0x53,0x25,0x02}; +const unsigned char sm[] = {0x30,0x6C,0xE5,0xF3,0x2F,0x45,0x82,0xC3,0x50,0x0A,0xF2,0x62,0x01,0x55,0xD3,0xE3,0x71,0xA3,0xF8,0xF8,0xE9,0x7F,0xC2,0xB1,0x22,0x01,0xEF,0x74,0x1C,0x2E,0xDB,0x2A,0xA4,0x06,0xE7,0xE8,0xE5,0x50,0x00,0x16,0x6D,0x17,0x79,0x12,0x3B,0xBD,0xA1,0xEA,0xC9,0x4E,0x37,0x01,0x5C,0xA5,0xA4,0xEB,0xFF,0x19,0xE4,0xC1,0xA4,0xBF,0x97,0x30,0x01,0xB5,0x1F,0x41,0x47,0x5C,0x42,0x45,0x88,0x83,0xDC,0xF7,0x0C,0x00,0x0F,0xD5,0x0A,0x8A,0x81,0x7E,0x14,0xEC,0xD7,0xD1,0x9C,0x53,0x01,0xF2,0xC0,0x58,0x9E,0x87,0xA2,0x26,0xD1,0x25,0x4C,0x3C,0xB2,0x00,0x9E,0xBF,0x2C,0x4A,0xE9,0x90,0x0B,0xA1,0x51,0xFE,0xB4,0x79,0x00,0x5B,0x2C,0xBB,0xE9,0x30,0x71,0xBB,0x4E,0x3F,0xAC,0x2B,0x3C,0x01,0xE7,0x50,0x29,0x4D,0x05,0xCC,0x03,0xDA,0x2E,0xC8,0xF2,0x0F,0x00,0x13,0xE0,0x28,0xCA,0xC0,0x64,0x88,0xDD,0xD5,0xBE,0xF3,0xBD,0x00,0x5D,0xA9,0xBA,0x82,0xD8,0xF2,0xA2,0x14,0xE0,0x87,0x84,0x4C,0x00,0x65,0x80,0x66,0xAA,0x9B,0x23,0x8B,0x33,0x9B,0x36,0x55,0x6B,0x01,0x5F,0x87,0x87,0xBE,0x49,0x32,0xE2,0x8B,0x70,0xEF,0x69,0x47,0x00,0x1A,0xF5,0xC0,0xDF,0x52,0xE4,0x13,0x21,0x86,0x2E,0x81,0x36,0x00,0x00,0x69,0x01,0x8C,0x3F,0xEB,0x9F,0xAC,0x4D,0xCF,0x6F,0x4B,0x85,0x2C,0x8D,0x42,0xF7,0xA6,0xF0,0xB8,0xA6,0x22,0xFE,0xBC,0x42,0x22,0x00,0x01,0xB0,0x74,0x5E,0x9F,0x8D,0x6E,0x8A,0x54,0xCE,0x67,0x03,0x08,0x01,0xF5,0x6F,0xA9,0xFE,0x51,0xB5,0x12,0xAF,0x06,0xFC,0x50,0xF9,0xEC,0x0A,0xD8,0x1C,0x4D,0x8D,0x73,0x4F,0xCB,0xFB,0xEA,0xDE,0x3D,0x3F,0x8A,0x03,0x9F,0xAA,0x2A,0x2C,0x99,0x57,0xE8,0x35,0xAD,0x55,0xB2,0x2E,0x75,0xBF,0x57,0xBB,0x55,0x6A,0xC8}; +const unsigned char msg[] = {0xD8,0x1C,0x4D,0x8D,0x73,0x4F,0xCB,0xFB,0xEA,0xDE,0x3D,0x3F,0x8A,0x03,0x9F,0xAA,0x2A,0x2C,0x99,0x57,0xE8,0x35,0xAD,0x55,0xB2,0x2E,0x75,0xBF,0x57,0xBB,0x55,0x6A,0xC8}; +const unsigned long long mlen = 33; #elif CRYPTO_PUBLICKEYBYTES == 128 -const unsigned char pk_lvl1[] = {0xCD,0x4B,0xD9,0xD6,0x2C,0xDE,0xC2,0x69,0x44,0x78,0x49,0x8E,0x3F,0x9C,0x20,0x34,0x0E,0x0C,0x36,0x43,0x71,0x8E,0x4D,0xEC,0x22,0x4A,0xCE,0x33,0x5A,0x83,0xDE,0x46,0x8A,0x27,0xC4,0x3D,0x54,0x0B,0x07,0x61,0xFE,0x13,0x71,0x7F,0xF1,0x43,0x22,0x7A,0x9F,0x48,0x49,0x3C,0x2E,0x53,0xE0,0x0F,0x18,0x8E,0xCB,0xEF,0x3E,0x39,0x12,0x00,0xF9,0x06,0x20,0xBB,0x81,0xA7,0x6D,0x8D,0x57,0xAA,0xA1,0x3B,0xDB,0xBE,0x5C,0x16,0x89,0xD7,0x66,0x83,0xDD,0x68,0xAC,0xE8,0xC9,0xC7,0xB4,0xCD,0x61,0xF3,0xAE,0x4F,0xC4,0x0A,0x87,0x94,0x9F,0xCA,0xB5,0xB7,0xBF,0xCB,0x18,0xA6,0xC7,0xCC,0xBE,0x26,0xE3,0xCA,0x67,0x88,0x02,0x89,0xA5,0x4C,0x48,0xE9,0xD8,0x42,0xDD,0x1C,0x0D,0x00}; -const unsigned char sk_lvl1[] = {0xCD,0x4B,0xD9,0xD6,0x2C,0xDE,0xC2,0x69,0x44,0x78,0x49,0x8E,0x3F,0x9C,0x20,0x34,0x0E,0x0C,0x36,0x43,0x71,0x8E,0x4D,0xEC,0x22,0x4A,0xCE,0x33,0x5A,0x83,0xDE,0x46,0x8A,0x27,0xC4,0x3D,0x54,0x0B,0x07,0x61,0xFE,0x13,0x71,0x7F,0xF1,0x43,0x22,0x7A,0x9F,0x48,0x49,0x3C,0x2E,0x53,0xE0,0x0F,0x18,0x8E,0xCB,0xEF,0x3E,0x39,0x12,0x00,0xF9,0x06,0x20,0xBB,0x81,0xA7,0x6D,0x8D,0x57,0xAA,0xA1,0x3B,0xDB,0xBE,0x5C,0x16,0x89,0xD7,0x66,0x83,0xDD,0x68,0xAC,0xE8,0xC9,0xC7,0xB4,0xCD,0x61,0xF3,0xAE,0x4F,0xC4,0x0A,0x87,0x94,0x9F,0xCA,0xB5,0xB7,0xBF,0xCB,0x18,0xA6,0xC7,0xCC,0xBE,0x26,0xE3,0xCA,0x67,0x88,0x02,0x89,0xA5,0x4C,0x48,0xE9,0xD8,0x42,0xDD,0x1C,0x0D,0x00,0x02,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1C,0xCB,0x52,0xB5,0x61,0x25,0x56,0xF9,0x2A,0x5E,0x3D,0x5D,0xBF,0x4D,0xF3,0x3E,0xA4,0xB3,0x78,0x5A,0x6A,0xA6,0xF7,0xDA,0xF7,0x9F,0x5C,0x5F,0xC8,0x63,0x27,0x5D,0x2F,0xBC,0xFE,0x4A,0x88,0x32,0x3B,0x0F,0x24,0xF8,0x48,0x0C,0x93,0x8F,0xA7,0xDD,0x40,0x3F,0xDA,0x74,0xF7,0x86,0x4F,0x3A,0x3E,0xE6,0xF7,0x87,0x05,0x12,0x78,0xB5,0xFD,0x7E,0x2E,0xF1,0xA9,0xC4,0xD6,0x4C,0x8B,0x5F,0x8A,0x9A,0x99,0x09,0x6A,0x1E,0xF1,0x68,0x32,0x6C,0xE8,0xE1,0x12,0x21,0x44,0x05,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xC3,0x39,0xA9,0xC8,0x3E,0xB9,0x6D,0x9C,0xC2,0xD7,0x7A,0xE8,0x33,0xB3,0x01,0x26,0x7C,0x3E,0x8E,0x59,0x2C,0x19,0x65,0x92,0x35,0x84,0xF9,0x50,0x04,0x95,0x2E,0x69,0xD6,0x34,0x30,0x5E,0x4F,0x50,0xCE,0x7F,0xBD,0x89,0xE4,0x93,0x18,0x98,0x6B,0x0F,0x1F,0xA1,0xDB,0xBA,0xE1,0x7C,0x59,0x22,0x29,0x87,0x00,0x8A,0x1F,0x67,0x94,0x27,0xDA,0x64,0x5B,0xFC,0xE9,0x00,0x6C,0x68,0x15,0xE1,0x90,0x38,0xE6,0x10,0x3B,0x81,0x13,0xC2,0x58,0x7D,0xD4,0x21,0x15,0x32,0x91,0xE8,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xDB,0xE8,0xB4,0x7E,0xF0,0x4B,0x4E,0x0C,0x60,0x64,0x91,0x4B,0x85,0x8D,0xAC,0x47,0x56,0xAA,0x2C,0x89,0xD6,0x28,0xFD,0x56,0xAA,0x84,0xDD,0xBB,0xDD,0x33,0xB7,0xA8,0x48,0x5E,0xAA,0x43,0x6B,0x20,0x1A,0xFC,0x1B,0x9F,0x8A,0xEB,0xDE,0x42,0xD3,0xD8,0x96,0x20,0xB0,0x3D,0xC4,0x30,0x81,0x91,0xED,0x41,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x98,0x9F,0xA7,0xFA,0xCE,0xC9,0x8A,0xC6,0xFB,0x9E,0x4E,0x6A,0x3B,0x49,0xC4,0x4E,0xB8,0x29,0x29,0x61,0x5C,0xBA,0x18,0xD3,0xEF,0x33,0x51,0xE0,0xDA,0x72,0x0E,0xCB,0x37,0x6E,0xE1,0x4A,0x5E,0x86,0x88,0xB5,0x76,0x5E,0x24,0x1D,0xD1,0xC0,0x8A,0xC7,0x60,0x8D,0xCA,0x19,0xFB,0xB2,0x6B,0x58,0x9C,0x42,0x02,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x61,0x50,0xEB,0x78,0xD0,0xC5,0x34,0x98,0xD9,0x87,0x7C,0x87,0x6F,0x60,0x76,0xDF,0x06,0xB0,0xCB,0x7B,0x1E,0x71,0x59,0x79,0x47,0xBE,0xD1,0xF3,0x84,0x1E,0x6B,0xC1,0x47,0xEC,0x4F,0xAD,0xBA,0xA0,0xC3,0xC6,0xA5,0x8D,0x20,0xDC,0xCE,0x86,0xFC,0x21,0x80,0x91,0x25,0xC6,0xCE,0x91,0x46,0x71,0xC0,0x36,0x21,0xAA,0xD9,0xE0,0x20,0x00,0x8F,0xDD,0x84,0x7A,0x28,0x53,0x0C,0xFF,0xB9,0x6D,0xE9,0x4D,0x95,0xA2,0x28,0x4D,0x60,0x57,0xB0,0x7B,0x98,0x9C,0x0F,0x79,0xF6,0xC4,0xE4,0xDE,0x34,0xF7,0xAA,0xBD,0x44,0xF6,0xB0,0x39,0xA7,0x91,0xBB,0xD3,0x0C,0xD5,0xA7,0x73,0x16,0xB0,0xD4,0x56,0x4E,0xAD,0x4C,0x7F,0xFD,0xF7,0x86,0x0A,0x34,0x3F,0x89,0x9D,0x2E,0x1B,0x06,0x00,0x15,0xA2,0xC3,0xF1,0x82,0x15,0x53,0x70,0x3C,0xC1,0x74,0x38,0x75,0xAB,0xD4,0x98,0x4F,0xCC,0xD4,0x27,0x3C,0xD8,0x62,0xAE,0xE9,0x23,0xE7,0x7E,0x4E,0x81,0x4C,0xFF,0x5A,0xB8,0x4C,0x68,0x66,0x43,0x8A,0xF3,0xA9,0x99,0x03,0xF6,0xFA,0x21,0x7C,0x9F,0x39,0x56,0x63,0xFC,0xA3,0xB3,0x1F,0x3C,0x73,0xB4,0xCE,0x5A,0xA2,0xD2,0x18,0x00,0xE1,0xBC,0xF5,0xE6,0xDD,0xA1,0x4C,0x6D,0x6A,0x1F,0x7C,0x0D,0x1D,0xBC,0x87,0x7A,0xBD,0xBD,0x61,0xD7,0xF5,0x69,0xC7,0x77,0x8B,0xE9,0xE9,0xD7,0x5F,0x07,0x66,0x5D,0xA7,0x99,0x3E,0x01,0xE2,0xB8,0x0E,0x17,0x9F,0xA1,0x2E,0xD8,0x22,0xD4,0xBC,0x61,0xC8,0xE2,0xAB,0xF1,0x17,0x21,0x00,0xD1,0xA6,0x1E,0x3A,0x54,0x42,0x32,0x1E,0x00,0x23,0x08,0xF7,0x1A,0x86,0xE0,0x83,0x4E,0x15,0xAE,0x07,0x58,0x76,0x6E,0xAC,0x54,0x79,0x5D,0x17,0x2D,0x47,0x9C,0x6A,0x2E,0x41,0xE4,0x35,0x0C,0x59,0xDD,0xDD,0xB0,0xD0,0x7D,0xA0,0x40,0xF6,0x99,0xFA,0x22,0x2B,0xF4,0x7E,0x46,0xCF,0xE6,0x42,0x14,0x48,0xAE,0xB1,0x3E,0xE4,0xCB,0x76,0x96,0x47,0xB1,0x07,0x6E,0x7A,0x0B,0x24,0x00,0x8D,0x33,0x2C,0x3D,0x6D,0x30,0xD0,0x63,0x4C,0x19,0x48,0x2F,0xEB,0xB0,0x7D,0x8B,0x31,0xA0,0xDA,0xCA,0x31,0x0E,0x77,0x8C,0xCA,0xF4,0x01,0x89,0x24,0x8A,0xF5,0x2F,0x44,0xDC,0xC0,0x62,0x9A,0xD3,0x87,0xA0,0x56,0x2C,0x07,0xD7,0xB8,0x69,0xF6,0x2E,0x4F,0x8B,0xF3,0xAC,0x33,0xA3,0x0F,0x6E,0x9A,0x86,0xAF,0x63,0xE3,0x9D,0x1F,0x00,0xD8,0x05,0xE9,0x0F,0xB2,0x93,0x2C,0xD1,0x2B,0x90,0x05,0x28,0xD5,0x47,0xDD,0x50,0x33,0xA5,0x49,0xD4,0x26,0xF9,0x85,0xEE,0xD9,0x0D,0xFF,0x26,0x87,0xBD,0x22,0x39,0x2E,0x37,0x40,0xEB,0x86,0xD4,0x94,0x51,0xBD,0xBB,0x24,0x7B,0x4D,0x6A,0xA0,0xE8,0xEB,0xAD,0x6C,0x87,0x25,0xBB,0x10,0x58,0x94,0x53,0x60,0x13,0xA1,0x2A,0x20,0x00,0x62,0x9C,0x73,0xA7,0xAC,0x3B,0x72,0xE2,0x5F,0xA2,0xA7,0x9E,0xC8,0x15,0x96,0x86,0x92,0x40,0xD6,0x1A,0x93,0xAE,0x3B,0xE6,0x07,0x62,0xBE,0xA7,0xBD,0x5F,0x6C,0x52,0xBE,0xD7,0xC1,0x4D,0xD7,0x19,0x61,0x30,0xFC,0x71,0x52,0xFC,0x6D,0x29,0x79,0x97,0xA4,0xBB,0x6F,0x29,0xAA,0xE3,0x3E,0x63,0xB5,0xD2,0xAA,0x3A,0xF7,0x8F,0x02,0x00,0x1A,0x31,0x19,0xA5,0x55,0x27,0xC8,0x27,0x2E,0x35,0x36,0x3A,0x6C,0x1D,0xB7,0x4D,0x40,0xA3,0xFA,0x36,0x79,0xD6,0xA4,0x22,0xA8,0x9C,0x6B,0x76,0xB9,0xAA,0xC0,0x0D,0xA3,0x18,0xAB,0xD3,0x46,0xFC,0x06,0x97,0x32,0x7F,0xBC,0x8F,0x5E,0x04,0x08,0xBC,0xE1,0x5F,0x43,0x57,0x9C,0xEB,0x08,0xDE,0x03,0xF6,0x2A,0x8C,0x18,0x6D,0x24,0x00,0xE7,0xA6,0x4B,0x39,0x06,0xAD,0xE7,0x0A,0xFE,0x6B,0x12,0x40,0x2A,0x89,0xA2,0xA2,0x69,0xE6,0x60,0x9F,0x9B,0x7A,0xEC,0xAE,0x7E,0x87,0x10,0xF7,0x28,0x76,0x5E,0xB1,0xA8,0x3B,0xAA,0x5E,0x76,0xDD,0xEE,0x51,0x44,0xBC,0xF2,0xDD,0xD2,0xE3,0x45,0xB6,0x2B,0x1E,0x8F,0xD7,0xE5,0xC8,0x8B,0xFA,0x79,0xC6,0x55,0x60,0x73,0x3B,0x11,0x00,0x05,0x97,0x98,0x51,0x88,0x75,0x30,0xD1,0x5A,0xBB,0xEA,0xF0,0xE2,0x25,0x39,0x21,0x6D,0xA6,0xE3,0x36,0x44,0x23,0x8F,0xF4,0xFC,0x10,0xA8,0x34,0xA0,0xC5,0x7F,0xC9,0x4F,0xDC,0x01,0x42,0x1F,0xEE,0x2A,0x88,0x02,0x87,0x2B,0x17,0x93,0x6F,0x15,0x69,0x1B,0xC1,0x69,0x7A,0x13,0x3A,0x27,0xA4,0xC2,0x27,0x4B,0xEC,0xF7,0x7B,0x08,0x00,0x8D,0xE2,0x35,0xFC,0xD9,0xB8,0xF2,0x6D,0x53,0x41,0xC7,0x7B,0x41,0x43,0xD0,0x35,0x05,0x95,0xAC,0x09,0xA4,0x70,0x58,0x8A,0x37,0x1A,0xA4,0x57,0xBA,0x8D,0xB4,0x67,0x77,0xCB,0x8E,0x3A,0x93,0x00,0x76,0x54,0x7A,0xDD,0xA2,0xCF,0x62,0x49,0x64,0xCA,0x33,0x83,0x94,0x8A,0xD9,0x34,0x4D,0xF4,0x5E,0xD5,0xF7,0xB8,0xC2,0x85,0x0A,0x00,0x53,0x7D,0x3A,0x55,0x64,0x72,0x52,0x01,0x12,0xCC,0x09,0xE1,0x59,0x82,0x80,0x77,0x67,0x69,0x76,0xD9,0x75,0x86,0xBF,0x7E,0x99,0x45,0x0D,0x9D,0x8B,0xD9,0x37,0x18,0xDE,0x40,0xD8,0x48,0x10,0x20,0x4B,0x4B,0xA3,0x9C,0xB1,0xB4,0x33,0x55,0x12,0x16,0x07,0x27,0x18,0xB7,0x98,0xF3,0x6E,0x0A,0x38,0x06,0x07,0x49,0xA3,0x75,0x00,0x00,0x73,0xF4,0x75,0xB8,0x90,0x8A,0x7B,0x50,0x7F,0x0C,0x64,0x20,0xFD,0x45,0x78,0x05,0x09,0xE8,0x9B,0x41,0x84,0x44,0x80,0x57,0x90,0x1C,0xB4,0x06,0x42,0x9B,0xBE,0xBB,0x23,0xD5,0x42,0x96,0xCE,0xA5,0x9D,0x41,0x02,0x66,0xC5,0xE2,0x44,0x18,0xDB,0xE8,0x76,0x75,0x4A,0x96,0x09,0x40,0x3D,0x41,0x74,0x6A,0x6F,0x73,0x52,0xAC,0x0C,0x00}; -const unsigned char sm_lvl1[] = {0xC8,0x56,0x5E,0x4C,0x3B,0x1C,0x20,0xF7,0x5F,0xF7,0x4C,0xFC,0xA8,0xC9,0xED,0x51,0xDB,0x97,0x01,0x5A,0xE4,0xBD,0x18,0x5F,0x4D,0xE8,0x4D,0x6B,0x1C,0x17,0x89,0xF5,0x3F,0xDA,0x0B,0xE2,0x14,0x01,0x40,0xB3,0xA7,0xE5,0x00,0x21,0x6D,0xDE,0xA2,0xB8,0x26,0xA1,0x14,0xEA,0xB8,0xC7,0x03,0x9B,0x01,0x35,0xB2,0x58,0xCE,0x60,0xCE,0xBC,0x0F,0x3D,0x40,0x40,0x0C,0x5C,0xCF,0xF6,0xCB,0xFE,0xF5,0x01,0x3D,0x56,0x62,0x1B,0xA1,0xFB,0x87,0x22,0x2D,0xD9,0xD9,0x4D,0xA3,0xE8,0xC4,0x91,0x23,0xEA,0x00,0xC9,0x21,0xC8,0x26,0xAA,0x35,0xAA,0x18,0x06,0x00,0x7B,0x49,0x27,0xB9,0x51,0xB2,0x20,0x9E,0x01,0x3A,0xF3,0xEA,0xE5,0x48,0x40,0x71,0xBE,0x33,0x77,0xE4,0xEA,0xAD,0xA2,0x08,0x53,0x1C,0x3A,0x01,0xC0,0x1F,0x64,0x3D,0x04,0x44,0xEC,0x3F,0x7A,0xF7,0xB5,0xB1,0x05,0x91,0x27,0xC6,0xE9,0x75,0x01,0xC1,0xEF,0xBD,0x52,0xA1,0x54,0xE7,0xFB,0x95,0x1F,0x93,0xCB,0xE3,0x7B,0x6C,0x1C,0x19,0xE5,0x00,0xED,0x11,0x09,0x66,0xC9,0xE0,0xAB,0x8D,0x22,0xB2,0x32,0x96,0xF5,0x11,0x28,0xB9,0x80,0x47,0x01,0x77,0x52,0xFA,0x39,0x36,0x16,0x16,0xE3,0xA2,0xD0,0x61,0x3A,0x22,0xA8,0x92,0x46,0x85,0xC6,0x01,0x77,0x87,0xAA,0x70,0x24,0x9D,0x97,0x18,0xB3,0x76,0x27,0x30,0x00,0x5B,0x36,0x4B,0x35,0x90,0x01,0x63,0xD2,0x3B,0xDB,0x01,0xDD,0x28,0x15,0xB1,0x96,0x07,0x6B,0x77,0x3D,0x1E,0x97,0xCC,0x33,0x00,0x2D,0xFD,0x24,0x8C,0xF3,0xBC,0x61,0xFC,0x28,0x8F,0x69,0xC6,0x76,0x23,0x8C,0x10,0x92,0x4D,0x01,0x00,0xE9,0xFC,0x65,0xFD,0x48,0x5E,0x13,0x6B,0x18,0x5D,0x4A,0x03,0x6C,0xDA,0xFC,0x5E,0xA0,0xBF,0xFE,0x85,0xD0,0xDF,0xB9,0x8B,0xA7,0x50,0xF3,0x12,0x83,0xCC,0x60,0x2C,0x07,0x01,0x5F,0x22,0xD1,0xEE,0xF1,0x90,0xF9,0x40,0x51,0xDC,0x35,0xCA,0x31,0x55,0x5A,0x81,0x86,0xCB,0x01,0x2B,0x84,0x71,0x95,0xEF,0x83,0x39,0x73,0x59,0xA5,0x6B,0x4E,0xF1,0xAC,0x02,0xD8,0x1C,0x4D,0x8D,0x73,0x4F,0xCB,0xFB,0xEA,0xDE,0x3D,0x3F,0x8A,0x03,0x9F,0xAA,0x2A,0x2C,0x99,0x57,0xE8,0x35,0xAD,0x55,0xB2,0x2E,0x75,0xBF,0x57,0xBB,0x55,0x6A,0xC8}; -const unsigned char msg_lvl1[] = {0xD8,0x1C,0x4D,0x8D,0x73,0x4F,0xCB,0xFB,0xEA,0xDE,0x3D,0x3F,0x8A,0x03,0x9F,0xAA,0x2A,0x2C,0x99,0x57,0xE8,0x35,0xAD,0x55,0xB2,0x2E,0x75,0xBF,0x57,0xBB,0x55,0x6A,0xC8}; -const unsigned long long mlen_lvl1 = 33; +const unsigned char pk[] = {0x6A,0x93,0x02,0xB5,0x1F,0x65,0xAC,0x67,0xC5,0x74,0xA0,0x5E,0x95,0x98,0x60,0x4D,0x95,0xAA,0x6E,0x3C,0x61,0xB9,0x3C,0xBA,0x98,0xEE,0xFE,0x80,0x89,0x05,0x65,0x2D,0x43,0x93,0x3D,0xC0,0xEC,0xEF,0x7B,0xE2,0x67,0x37,0x3E,0xB1,0xAC,0x61,0xD4,0xA9,0x11,0x38,0xD2,0x35,0xF7,0xBA,0x19,0xDD,0x12,0xE5,0x5F,0x48,0xD6,0xFE,0x1E,0x00,0x0A,0xAC,0xB9,0x0A,0xB4,0xFF,0xC3,0xD9,0x0D,0x79,0x3F,0x2A,0x12,0x91,0xDC,0x63,0x8F,0x80,0x28,0xE3,0x1F,0x7D,0xA9,0xFE,0x49,0x76,0x71,0xDB,0x2D,0xBA,0xC7,0x89,0x48,0x6A,0x61,0xC9,0x4B,0xCB,0xE9,0xA8,0xDD,0xD7,0x86,0x70,0x95,0x5C,0xFC,0x3A,0x10,0x4D,0x21,0x41,0x18,0x89,0x12,0x5A,0x96,0x68,0x59,0x1B,0x16,0xD4,0x04,0x00}; +const unsigned char sk[] = {0x6A,0x93,0x02,0xB5,0x1F,0x65,0xAC,0x67,0xC5,0x74,0xA0,0x5E,0x95,0x98,0x60,0x4D,0x95,0xAA,0x6E,0x3C,0x61,0xB9,0x3C,0xBA,0x98,0xEE,0xFE,0x80,0x89,0x05,0x65,0x2D,0x43,0x93,0x3D,0xC0,0xEC,0xEF,0x7B,0xE2,0x67,0x37,0x3E,0xB1,0xAC,0x61,0xD4,0xA9,0x11,0x38,0xD2,0x35,0xF7,0xBA,0x19,0xDD,0x12,0xE5,0x5F,0x48,0xD6,0xFE,0x1E,0x00,0x0A,0xAC,0xB9,0x0A,0xB4,0xFF,0xC3,0xD9,0x0D,0x79,0x3F,0x2A,0x12,0x91,0xDC,0x63,0x8F,0x80,0x28,0xE3,0x1F,0x7D,0xA9,0xFE,0x49,0x76,0x71,0xDB,0x2D,0xBA,0xC7,0x89,0x48,0x6A,0x61,0xC9,0x4B,0xCB,0xE9,0xA8,0xDD,0xD7,0x86,0x70,0x95,0x5C,0xFC,0x3A,0x10,0x4D,0x21,0x41,0x18,0x89,0x12,0x5A,0x96,0x68,0x59,0x1B,0x16,0xD4,0x04,0x00,0x02,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1C,0xCB,0x52,0xB5,0x61,0x25,0x56,0xF9,0x2A,0x5E,0x3D,0x5D,0xBF,0x4D,0xF3,0x3E,0xA4,0xB3,0x78,0x5A,0x6A,0xA6,0xF7,0xDA,0xF7,0x9F,0x5C,0x5F,0xC8,0x63,0x27,0x5D,0x2F,0xBC,0xFE,0x4A,0x88,0x32,0x3B,0x0F,0x24,0xF8,0x48,0x0C,0x93,0x8F,0xA7,0xDD,0x40,0x3F,0xDA,0x74,0xF7,0x86,0x4F,0x3A,0x3E,0xE6,0xF7,0x87,0x05,0x12,0x78,0xB5,0xFD,0x7E,0x2E,0xF1,0xA9,0xC4,0xD6,0x4C,0x8B,0x5F,0x8A,0x9A,0x99,0x09,0x6A,0x1E,0xF1,0x68,0x32,0x6C,0xE8,0xE1,0x12,0x21,0x44,0x05,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xC3,0x39,0xA9,0xC8,0x3E,0xB9,0x6D,0x9C,0xC2,0xD7,0x7A,0xE8,0x33,0xB3,0x01,0x26,0x7C,0x3E,0x8E,0x59,0x2C,0x19,0x65,0x92,0x35,0x84,0xF9,0x50,0x04,0x95,0x2E,0x69,0xD6,0x34,0x30,0x5E,0x4F,0x50,0xCE,0x7F,0xBD,0x89,0xE4,0x93,0x18,0x98,0x6B,0x0F,0x1F,0xA1,0xDB,0xBA,0xE1,0x7C,0x59,0x22,0x29,0x87,0x00,0x8A,0x1F,0x67,0x94,0x27,0xDA,0x64,0x5B,0xFC,0xE9,0x00,0x6C,0x68,0x15,0xE1,0x90,0x38,0xE6,0x10,0x3B,0x81,0x13,0xC2,0x58,0x7D,0xD4,0x21,0x15,0x32,0x91,0xE8,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xDB,0xE8,0xB4,0x7E,0xF0,0x4B,0x4E,0x0C,0x60,0x64,0x91,0x4B,0x85,0x8D,0xAC,0x47,0x56,0xAA,0x2C,0x89,0xD6,0x28,0xFD,0x56,0xAA,0x84,0xDD,0xBB,0xDD,0x33,0xB7,0xA8,0x48,0x5E,0xAA,0x43,0x6B,0x20,0x1A,0xFC,0x1B,0x9F,0x8A,0xEB,0xDE,0x42,0xD3,0xD8,0x96,0x20,0xB0,0x3D,0xC4,0x30,0x81,0x91,0xED,0x41,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x98,0x9F,0xA7,0xFA,0xCE,0xC9,0x8A,0xC6,0xFB,0x9E,0x4E,0x6A,0x3B,0x49,0xC4,0x4E,0xB8,0x29,0x29,0x61,0x5C,0xBA,0x18,0xD3,0xEF,0x33,0x51,0xE0,0xDA,0x72,0x0E,0xCB,0x37,0x6E,0xE1,0x4A,0x5E,0x86,0x88,0xB5,0x76,0x5E,0x24,0x1D,0xD1,0xC0,0x8A,0xC7,0x60,0x8D,0xCA,0x19,0xFB,0xB2,0x6B,0x58,0x9C,0x42,0x02,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xA7,0x8B,0x0B,0xD3,0xAE,0x6D,0xBE,0x94,0x79,0x68,0x7E,0x49,0x6A,0x2F,0x81,0x52,0x79,0x1D,0xFD,0x83,0x4E,0xE2,0x59,0xEA,0x6A,0xE9,0x46,0xFE,0x37,0x2A,0xD2,0x82,0xA4,0xCA,0xCF,0x7B,0x22,0x13,0xBC,0x3D,0x86,0x1D,0x57,0x8E,0x89,0xE4,0x15,0xFD,0xF0,0x72,0x42,0x02,0x29,0x47,0x29,0x45,0xF2,0x03,0x6D,0x07,0x23,0xE4,0x23,0x00,0x66,0x7E,0x8A,0xA1,0xD7,0x6A,0x14,0x20,0x5A,0xAA,0x1D,0x62,0x18,0xCC,0x6C,0xD6,0x77,0x50,0x92,0xFB,0x13,0x66,0x80,0x42,0x84,0xC1,0x15,0x57,0x1E,0xAD,0x08,0x8E,0xAB,0xC5,0x3F,0xA7,0xA8,0x05,0x90,0x1F,0x97,0x9D,0x71,0x7F,0x0D,0xD8,0xF3,0x14,0x5B,0xCB,0xD1,0x71,0x2D,0xF5,0x03,0x9E,0xB4,0xED,0x56,0xCD,0xBD,0x53,0x04,0x00,0x45,0xFC,0x83,0x04,0x9C,0x31,0xB1,0x34,0x6A,0x7F,0xA5,0x4B,0x2D,0x82,0x00,0xE0,0x95,0xAA,0x80,0x89,0x2F,0xB9,0xA3,0x97,0xA6,0xE2,0x1B,0xCD,0x3C,0x66,0x21,0x33,0x1B,0x7E,0x56,0x0B,0xA4,0x6F,0x25,0xB0,0xB3,0x55,0x69,0x7F,0xF1,0x99,0x02,0xF1,0xB6,0xA1,0x9C,0x3C,0xC3,0x0E,0x58,0x3A,0x21,0x15,0xFB,0x5B,0x1C,0xBC,0x05,0x00,0x9A,0xB6,0x21,0x59,0x26,0xF0,0x90,0x69,0x5A,0x9D,0x14,0xB0,0xCC,0x49,0x53,0x82,0x49,0xCE,0xF9,0x8A,0x79,0x47,0x1B,0xA4,0x1D,0xA0,0x45,0xCA,0xD2,0x7C,0x88,0xC8,0xFD,0x13,0x25,0x16,0x37,0x5F,0xAF,0xAD,0x91,0x13,0x76,0x11,0x75,0xF5,0x0F,0xA2,0x5E,0x1A,0x1C,0x47,0x3C,0xD3,0x3A,0xC8,0x43,0x26,0x8C,0x51,0x5E,0x25,0x20,0x00,0x11,0x70,0x1B,0x05,0x0A,0x20,0x1A,0x78,0x62,0x9D,0x43,0x43,0xBE,0x85,0x74,0x32,0x67,0x58,0x07,0x2C,0xBA,0xDA,0x17,0x14,0xA2,0x17,0x94,0x50,0x2A,0xE7,0x84,0x6A,0xF7,0x3F,0x1C,0x6B,0xD7,0x61,0x81,0x89,0xF6,0x8E,0xBE,0x5C,0x60,0x2E,0x44,0x67,0xDD,0x19,0xA7,0x75,0x13,0x01,0x99,0x38,0x10,0x3A,0x96,0x30,0xBC,0x0A,0x17,0x00,0x1E,0xBA,0x74,0x17,0xCC,0x5E,0x4F,0xAC,0x4A,0x5D,0xBD,0x52,0xAC,0x5A,0x22,0x63,0xBB,0x5F,0xF5,0x5F,0xE2,0xDA,0x2F,0x4E,0x6D,0xC4,0xB3,0xE9,0x24,0x46,0x9F,0x33,0x45,0x63,0xB2,0x4C,0x5F,0xF0,0xC5,0x20,0x7A,0x57,0xA6,0xF2,0x69,0x88,0x46,0x9B,0x09,0xD4,0xBD,0x75,0x83,0xA3,0xB1,0x36,0x95,0xB7,0x9A,0xCC,0x75,0xDE,0x09,0x00,0xC6,0x16,0xAA,0xC1,0x53,0x2A,0x88,0xD9,0x61,0xA1,0x70,0x29,0xE8,0xD5,0x1E,0xB6,0x6A,0x64,0x31,0x41,0x1B,0xA3,0x83,0x6F,0xF7,0x75,0x27,0x75,0xF4,0xCE,0xB1,0x41,0xAA,0x99,0x0E,0xDD,0xA2,0xCC,0x84,0x30,0x16,0x5D,0x27,0x21,0x6A,0x40,0x62,0x48,0xAA,0x94,0x6A,0x17,0xDF,0x85,0x06,0xDE,0x49,0xC4,0xF6,0x15,0x56,0xD2,0x21,0x00,0x79,0x52,0xC2,0x4E,0x3F,0xAC,0x50,0xCD,0x59,0x04,0x36,0x6B,0x4B,0x6B,0xA5,0x7E,0x17,0xC5,0xF1,0xCA,0x5E,0x31,0x37,0x50,0xCE,0x09,0x1D,0xF1,0x6B,0xEE,0x1C,0x3C,0xA5,0x99,0x8B,0xE1,0xBD,0x26,0xE2,0x68,0x79,0x38,0x31,0x2B,0xCC,0xD3,0x01,0xFB,0xA2,0x71,0x6E,0xB9,0x31,0x71,0x53,0x65,0x19,0x9A,0xA0,0xE0,0x73,0xB0,0x04,0x00,0x85,0xF5,0xA3,0x51,0xDE,0x09,0xC6,0xE4,0x74,0xF3,0x1A,0x90,0xBB,0x35,0xE8,0x2A,0xD3,0xCB,0x80,0x2C,0x86,0x30,0xD8,0x74,0xE0,0x70,0x9D,0xD6,0x63,0x22,0x9C,0xC6,0x6E,0xCA,0x49,0x7E,0x33,0x2B,0x56,0xAB,0xAA,0x96,0xB1,0xD7,0x02,0x64,0xFF,0xF1,0xEC,0x0A,0xF6,0x69,0x1E,0x60,0x0B,0xB6,0x1F,0x75,0x6E,0x78,0xE0,0x76,0x0D,0x00,0x0E,0x0E,0x36,0x04,0x04,0x7C,0x33,0x89,0x8F,0xC3,0x92,0xEF,0x55,0x03,0x30,0xF6,0x4C,0x40,0x08,0x57,0x96,0xEB,0x6E,0x8C,0x94,0x2F,0xDF,0xBE,0xC1,0xEB,0x86,0x7E,0x4B,0xCB,0x3D,0x65,0xF7,0x92,0xC4,0xE5,0x02,0x23,0xBB,0x3F,0x55,0xCE,0x81,0x9A,0xED,0xA9,0x7D,0xC4,0x83,0xB0,0x14,0xA2,0x2E,0xE5,0xC7,0x6D,0xA4,0xB8,0x13,0x00,0x84,0xAB,0x87,0xD6,0xFF,0xC5,0x9A,0xA0,0x7A,0x38,0x8E,0xA4,0xD0,0xF8,0x61,0x9D,0xD1,0x21,0x8A,0xF2,0xC3,0xDD,0xA9,0xBF,0x2F,0x0C,0x70,0x47,0x31,0x8B,0x64,0x8E,0xF0,0x80,0x1C,0x42,0x5D,0x47,0x6C,0xF3,0xB5,0x7F,0xE7,0xD6,0x5D,0x94,0x5D,0xA1,0xB4,0x4F,0xC1,0xE3,0x14,0xC9,0xFF,0x1C,0x42,0x9D,0x64,0x3E,0x2F,0x23,0x10,0x00,0x57,0xF1,0x12,0xB3,0xF5,0xEC,0x14,0x0F,0x7D,0x2E,0x15,0x08,0x6E,0x81,0xD0,0x8A,0x1B,0xD9,0x95,0x6C,0xCE,0xEC,0x69,0xA4,0x36,0x5D,0xAF,0x0A,0x63,0xA6,0x80,0x77,0xB4,0xEC,0xD9,0x11,0xC0,0x05,0x65,0x10,0xB4,0xB2,0xBC,0x92,0x45,0x9E,0x77,0xCF,0x7D,0xDD,0x63,0x22,0xC0,0xA9,0x12,0x82,0xAF,0x30,0x9A,0x1B,0xE0,0xE7,0x0E,0x00,0xA8,0xD4,0x22,0x94,0x17,0x36,0x34,0xD0,0x69,0x84,0x14,0x08,0xEE,0x4C,0x5C,0x3B,0x35,0xBE,0xE5,0x12,0xBC,0x56,0xCF,0x7C,0x41,0x8C,0xFF,0x86,0x17,0xC8,0x46,0x39,0xB0,0x3D,0x57,0xD0,0x29,0xC3,0xE8,0xD6,0x17,0xCF,0x19,0x82,0x46,0xE0,0xF5,0x13,0xDC,0x5E,0x66,0x7D,0x9B,0xCC,0x90,0xF2,0x0F,0x9F,0xB7,0x21,0x41,0xCC,0x0C,0x00,0x90,0xF2,0x4B,0xD2,0xA9,0x00,0xD2,0x5D,0x90,0x13,0xA3,0x70,0x19,0x1F,0xA8,0x8D,0x18,0xA1,0x3A,0x90,0xD1,0x34,0x46,0x88,0xD3,0xAB,0xE4,0x5D,0xE6,0xA6,0xC0,0x64,0x7F,0x92,0xDE,0x0E,0xF0,0x43,0x46,0x00,0x02,0x64,0xA5,0x46,0x34,0x54,0xF6,0x59,0xCC,0x41,0xD8,0x42,0x78,0x23,0x36,0x37,0x26,0x95,0x9A,0x96,0xD5,0x91,0x15,0x00}; +const unsigned char sm[] = {0xD3,0x3B,0xF0,0xF0,0x83,0xFF,0x80,0xC0,0x02,0x1E,0xBB,0x85,0xF0,0xAA,0x03,0x4D,0x1A,0x5F,0x00,0xFD,0xE6,0xB7,0x50,0x2C,0x9B,0x50,0x00,0x15,0xAD,0x7D,0x75,0x2B,0x3E,0x47,0xD2,0x4A,0x45,0x01,0xD4,0xAC,0x85,0x0B,0xB4,0x3C,0xA4,0xA9,0x85,0x76,0x6D,0x48,0x56,0x9D,0xD2,0x68,0x1C,0x51,0x00,0x09,0xF5,0x73,0xE2,0xD4,0x6A,0x85,0x89,0xE6,0x06,0x95,0x09,0x79,0x9D,0x16,0xC2,0xA4,0xF1,0x01,0xEE,0x26,0x0B,0x7B,0xE5,0x5D,0x11,0x1F,0x7E,0xA7,0x08,0x75,0xA9,0x1D,0x05,0xC4,0x8B,0x13,0x00,0x75,0xE4,0x61,0x77,0x99,0x1D,0x74,0x6C,0x20,0xC2,0xFB,0x27,0xF8,0x99,0xA9,0xD4,0x04,0x5A,0x01,0x64,0xC7,0x68,0x2B,0x46,0x5F,0x4A,0x7B,0x53,0xAD,0xF1,0xF1,0xF4,0xBC,0x91,0x9E,0xF0,0x3E,0x00,0x62,0x54,0xCC,0xF4,0x1B,0x5F,0x6D,0x67,0x8E,0x17,0x65,0x2C,0xD6,0x3E,0xA6,0xC1,0x83,0xF3,0x01,0xBC,0x58,0xFC,0x44,0xC2,0x4A,0x70,0x79,0x9F,0x3A,0xFF,0xF2,0xF6,0x29,0x70,0xBA,0x7E,0x6F,0x01,0xD0,0x5A,0x2A,0x85,0x83,0x68,0x5B,0x7C,0xD7,0x55,0x6E,0x46,0xC3,0x89,0x93,0x36,0x1E,0xA2,0x01,0x91,0x78,0x7E,0x26,0x07,0x81,0x05,0xC0,0xBD,0x3B,0x54,0x09,0xFF,0xDA,0x68,0x42,0x40,0x14,0x01,0x97,0x22,0x89,0x58,0xA0,0x75,0x00,0x09,0xD5,0x48,0x21,0x59,0xA4,0x53,0x58,0x59,0x4F,0xFF,0x01,0xE9,0x2C,0x17,0xD5,0xF6,0x47,0xB3,0xE2,0x70,0xA3,0xCD,0x06,0xCB,0x0E,0xCD,0x2B,0x53,0x18,0x00,0x86,0xAE,0xFA,0x2B,0x45,0x41,0xDA,0xDF,0x76,0x50,0xD1,0x17,0x45,0x55,0x4B,0x5E,0xA2,0x28,0x00,0x01,0x1B,0x9E,0xFD,0xCE,0xAB,0x91,0x43,0xF9,0xF6,0x27,0x9E,0x01,0xFF,0x54,0x17,0xA4,0x76,0x66,0x85,0x7B,0x98,0x59,0xD7,0x31,0x64,0x04,0xC0,0x24,0xBF,0x26,0x8A,0x88,0x08,0x03,0x41,0x5B,0x47,0x97,0xE9,0x69,0x08,0x8E,0xD5,0xB3,0x46,0x53,0x09,0xBD,0xA6,0xDC,0xBC,0x5F,0x00,0x7E,0xD0,0xA3,0x2B,0xA4,0x3A,0xFA,0xB0,0x51,0x47,0x2F,0x3F,0xF0,0x79,0x03,0xD8,0x1C,0x4D,0x8D,0x73,0x4F,0xCB,0xFB,0xEA,0xDE,0x3D,0x3F,0x8A,0x03,0x9F,0xAA,0x2A,0x2C,0x99,0x57,0xE8,0x35,0xAD,0x55,0xB2,0x2E,0x75,0xBF,0x57,0xBB,0x55,0x6A,0xC8}; +const unsigned char msg[] = {0xD8,0x1C,0x4D,0x8D,0x73,0x4F,0xCB,0xFB,0xEA,0xDE,0x3D,0x3F,0x8A,0x03,0x9F,0xAA,0x2A,0x2C,0x99,0x57,0xE8,0x35,0xAD,0x55,0xB2,0x2E,0x75,0xBF,0x57,0xBB,0x55,0x6A,0xC8}; +const unsigned long long mlen = 33; #else #error "Not supported" #endif @@ -52,7 +52,7 @@ static int test_sqisign_sign(int mlen) { unsigned char *sig = calloc(CRYPTO_BYTES + mlen, 1); unsigned long long smlen = CRYPTO_BYTES + mlen; - res = sqisign_sign(sig, &smlen, msg_lvl1, mlen, sk_lvl1); + res = sqisign_sign(sig, &smlen, msg, mlen, sk); if (res != 0) { res = -1; } @@ -69,7 +69,7 @@ static int test_sqisign_open(int mlen) { unsigned long long smlen = CRYPTO_BYTES + mlen; - res = sqisign_open(msg, &msglen, sm_lvl1, smlen, pk_lvl1); + res = sqisign_open(msg, &msglen, sm, smlen, pk); if (res != 0) { res = -1; } @@ -93,9 +93,9 @@ int main(int argc, char *argv[]) { if (ar == 0) return test_sqisign_keygen(); else if (ar == 1) - return test_sqisign_sign(mlen_lvl1); + return test_sqisign_sign(mlen); else if (ar == 2) - return test_sqisign_open(mlen_lvl1); + return test_sqisign_open(mlen); printf("Usage: <1(keygen)/2(sign)/3(open)>\n"); return 0;