mirror of
https://github.com/wolfSSL/wolfssl.git
synced 2026-08-04 03:14:13 +02:00
Falcon: remove FN-DSA / FIPS 206 references from code comments and text
Scrub the temporary "FN-DSA" name and the "FIPS 206" designation from all
in-tree comments, build text, and message strings, leaving the algorithm
named only as "Falcon". The eventual standardized name is not announced.
The differential known-answer test message ("wolfSSL FN-DSA differential
KAT") is a signed input, so the Falcon-512/1024 public keys and signatures
in wolfcrypt/test/test.c (and the mirrored Falcon-512 vector in
IDE/m33mu-falcon-verify/kat.h) were regenerated with liboqs over the new
message "wolfSSL Falcon differential KAT", preserving the differential
property (liboqs-produced signatures verified by the native verifier).
Verified: testwolfcrypt Falcon test passes; the m33mu verify-only harness
passes (BKPT 0x7f) with the regenerated vector.
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
name: FN-DSA (Falcon) native<->liboqs interop Tests
|
||||
name: Falcon native<->liboqs interop Tests
|
||||
|
||||
# START OF COMMON SECTION
|
||||
on:
|
||||
@@ -83,7 +83,7 @@ jobs:
|
||||
retention-days: 1
|
||||
|
||||
falcon_interop:
|
||||
name: Interop (native FN-DSA vs liboqs Falcon)
|
||||
name: Interop (native Falcon vs liboqs Falcon)
|
||||
if: ${{ (github.repository_owner == 'wolfssl') && (github.event_name != 'pull_request' || github.event.pull_request.draft == false) }}
|
||||
runs-on: ubuntu-24.04
|
||||
needs: build_liboqs
|
||||
@@ -117,13 +117,13 @@ jobs:
|
||||
with:
|
||||
fetch-depth: 1
|
||||
|
||||
- name: Build wolfSSL with native FN-DSA
|
||||
- name: Build wolfSSL with native Falcon
|
||||
run: |
|
||||
./autogen.sh
|
||||
./configure --enable-falcon --enable-experimental --enable-static
|
||||
make -j$(nproc)
|
||||
|
||||
- name: Build and run the interop harness (native FN-DSA vs liboqs)
|
||||
- name: Build and run the interop harness (native Falcon vs liboqs)
|
||||
run: |
|
||||
gcc -O2 -I. -I$GITHUB_WORKSPACE/oqs-install/include \
|
||||
scripts/falcon-interop.c \
|
||||
|
||||
+5
-5
@@ -987,10 +987,10 @@ if (WOLFSSL_MLDSA OR WOLFSSL_DILITHIUM)
|
||||
set_wolfssl_definitions("WOLFSSL_SHAKE256" RESULT)
|
||||
endif()
|
||||
|
||||
# FN-DSA (native Falcon, FIPS 206 draft). Native implementation: no liboqs
|
||||
# dependency (unlike WOLFSSL_FALCON). Needs SHA-3 / SHAKE256 for hash-to-point.
|
||||
# Native Falcon. Native implementation: no liboqs dependency. Needs SHA-3 /
|
||||
# SHAKE256 for hash-to-point.
|
||||
add_option(WOLFSSL_FALCON
|
||||
"Enable the native wolfSSL PQ FN-DSA/Falcon (FIPS 206) implementation (default: disabled)"
|
||||
"Enable the native wolfSSL PQ Falcon implementation (default: disabled)"
|
||||
"no" "yes;no")
|
||||
|
||||
if (WOLFSSL_FALCON)
|
||||
@@ -1133,8 +1133,8 @@ if (WOLFSSL_EXPERIMENTAL)
|
||||
|
||||
set_wolfssl_definitions("WOLFSSL_EXPERIMENTAL_SETTINGS" RESULT)
|
||||
|
||||
# Native Falcon (FN-DSA) is an experimental feature (unstandardized; API
|
||||
# name subject to change). It has no liboqs dependency.
|
||||
# Native Falcon is an experimental feature (unstandardized; API name
|
||||
# subject to change). It has no liboqs dependency.
|
||||
if (WOLFSSL_FALCON)
|
||||
set(WOLFSSL_FOUND_EXPERIMENTAL_FEATURE 1)
|
||||
endif()
|
||||
|
||||
+132
-132
@@ -1,140 +1,140 @@
|
||||
/* Falcon-512 KAT extracted from wolfcrypt/test/test.c */
|
||||
#include <stdint.h>
|
||||
#define FALCON_KAT_MSG "wolfSSL FN-DSA differential KAT"
|
||||
#define FALCON512_SIGLEN 654
|
||||
#define FALCON_KAT_MSG "wolfSSL Falcon differential KAT"
|
||||
#define FALCON512_SIGLEN 656
|
||||
|
||||
static const byte FALCON512_pk[] = {
|
||||
0x09,0x8d,0x15,0xc5,0x31,0x5b,0xa1,0x8a,0x92,0x2d,0x93,0x81,
|
||||
0x26,0x93,0xa7,0x05,0x1a,0xf2,0x92,0x99,0x0c,0x67,0x77,0x30,
|
||||
0xdf,0x03,0xb9,0x21,0xbe,0xa1,0x06,0x2e,0x81,0x20,0x6b,0x27,
|
||||
0x5c,0x7a,0x6d,0x9b,0x1d,0x19,0xb6,0xbc,0x65,0x7c,0xe5,0x02,
|
||||
0x0a,0xdc,0xa1,0xb9,0x87,0x56,0x6e,0x29,0x0a,0x14,0x85,0x10,
|
||||
0x80,0xc9,0xc8,0x1b,0x48,0x4c,0x7a,0x28,0x74,0xdc,0x8c,0x38,
|
||||
0xf8,0x4c,0x8a,0x53,0xe9,0x34,0x03,0x76,0xcc,0x88,0x55,0x2c,
|
||||
0x48,0x00,0x55,0x3e,0x78,0x0c,0xa4,0xf5,0x3b,0x5d,0xc9,0x77,
|
||||
0xd9,0xd7,0xec,0xa8,0x28,0xb0,0x4a,0xdb,0xaa,0xa4,0x88,0xcd,
|
||||
0xde,0xe2,0xc3,0xaf,0xa8,0x15,0x09,0x64,0x9a,0x8f,0x5d,0x37,
|
||||
0x51,0x26,0xce,0xd3,0x06,0x0c,0x9f,0x35,0x56,0x1f,0x70,0x67,
|
||||
0x6e,0xf3,0x60,0x90,0x2c,0x54,0x91,0x1c,0xbd,0x3d,0x95,0xa8,
|
||||
0x54,0x3b,0xc2,0x0e,0x6f,0x90,0x80,0xd7,0xcd,0x03,0x3d,0xa8,
|
||||
0x05,0x09,0x54,0xab,0xa5,0xec,0x1b,0xe2,0xe7,0x39,0x2c,0x0d,
|
||||
0xc3,0x53,0xe0,0x34,0xea,0x92,0x1c,0xae,0x2e,0x91,0x68,0x74,
|
||||
0x82,0xe0,0xdf,0x5d,0x18,0xb8,0xe2,0x47,0xcc,0x84,0x35,0xc4,
|
||||
0xf7,0x08,0xc7,0x00,0xe8,0xb9,0x64,0x8d,0xe9,0x1b,0xcc,0x2b,
|
||||
0x28,0x78,0x7a,0x65,0x18,0x67,0x0b,0xb1,0xa9,0x10,0x40,0x8d,
|
||||
0x1f,0xc5,0x4c,0x64,0xe7,0x99,0xf9,0x0d,0x9f,0xb3,0x71,0x2a,
|
||||
0xf5,0x2a,0x89,0xd0,0xb2,0xf6,0x80,0x61,0x37,0x50,0x5d,0x16,
|
||||
0x70,0x82,0x73,0x8e,0x9d,0x59,0x88,0xe9,0x84,0xf7,0x32,0x93,
|
||||
0xfd,0x24,0x61,0x94,0x2b,0xc6,0xdf,0xf7,0x3b,0x5e,0x05,0x88,
|
||||
0xc0,0x48,0x2a,0x7c,0x40,0x8a,0x03,0x8f,0x8b,0x3b,0x85,0x7d,
|
||||
0xe0,0xbb,0x73,0xaf,0xbb,0x4b,0xe9,0xe5,0x76,0x7a,0xd0,0x2c,
|
||||
0x6a,0xb9,0x60,0x19,0xf7,0xa3,0xc0,0xb0,0x64,0x45,0x71,0xb3,
|
||||
0x6d,0xdf,0x97,0x59,0x4c,0xc2,0xab,0x0c,0x5b,0x29,0xe1,0x52,
|
||||
0x21,0x0e,0xcf,0xda,0x4e,0x55,0xc7,0x87,0x39,0x9b,0x0f,0x54,
|
||||
0x88,0xc4,0xbb,0xe7,0x5b,0xcb,0xb6,0x10,0x80,0x5a,0x16,0x96,
|
||||
0x8b,0x41,0x9a,0x9a,0x41,0x76,0x88,0x2e,0x02,0xa1,0x83,0x78,
|
||||
0x19,0x67,0xb2,0x07,0x11,0x55,0x56,0xd3,0x5b,0xea,0x3d,0x19,
|
||||
0xf9,0x81,0xd8,0xe9,0xa4,0x91,0x94,0x06,0x70,0xb9,0x95,0xbd,
|
||||
0x7e,0x68,0x05,0x82,0x81,0x8f,0x94,0xab,0x36,0xe8,0xa2,0x4a,
|
||||
0x02,0x6a,0x33,0x6e,0x00,0x87,0x44,0xe8,0xdc,0xa1,0xee,0xf8,
|
||||
0x00,0x4d,0xaa,0x81,0x99,0x8e,0x46,0xe8,0x36,0x25,0x0b,0x3e,
|
||||
0xbe,0xd9,0x03,0x38,0x14,0x62,0x8a,0xb5,0x3e,0x79,0xef,0x69,
|
||||
0x94,0x41,0x41,0xcf,0x16,0x84,0xa9,0xba,0x0f,0x5a,0xd6,0x48,
|
||||
0xef,0x57,0x0e,0x76,0xc5,0x89,0xf1,0x71,0x29,0x5f,0xb5,0xe2,
|
||||
0x09,0x14,0xc3,0xd2,0x3f,0xb1,0xb9,0x41,0xc7,0x91,0xa5,0xda,
|
||||
0x54,0xb4,0x43,0xba,0xa5,0x50,0xf2,0xa1,0x8d,0x0a,0x59,0x18,
|
||||
0x1e,0xd1,0x58,0x76,0x1c,0x29,0xfa,0x04,0x8c,0x23,0x66,0xee,
|
||||
0x8b,0xe1,0x11,0x46,0x0c,0x89,0xe3,0x80,0x56,0xa5,0x70,0xa6,
|
||||
0x7c,0xf1,0x73,0xf1,0x13,0xe4,0x83,0x25,0xe7,0xea,0xd2,0x8c,
|
||||
0x39,0x36,0xd6,0x5e,0x4b,0x82,0x5a,0x5e,0xa5,0x0c,0xce,0xaa,
|
||||
0xb7,0x4e,0x01,0x9b,0x46,0xde,0x81,0xd3,0x2f,0xf7,0xbd,0x60,
|
||||
0x20,0x77,0xac,0xca,0x62,0x41,0x80,0x1a,0x72,0xe3,0x0d,0x49,
|
||||
0x74,0x16,0xff,0xe7,0xb0,0x65,0xb3,0xa2,0xda,0x6d,0xe1,0x34,
|
||||
0x4f,0x0e,0xa7,0xb2,0xdf,0xf2,0x9d,0x6d,0xe3,0x78,0x36,0xe9,
|
||||
0x43,0x7e,0x0b,0xab,0x0e,0xa8,0xe3,0xf1,0x77,0x27,0x78,0x9d,
|
||||
0xfd,0x43,0x44,0xdd,0xc8,0x3b,0x1f,0x71,0xc6,0xe5,0xef,0xe2,
|
||||
0x8c,0x7e,0xc6,0x63,0x8b,0x29,0x24,0x34,0x6a,0xcd,0xd8,0xf4,
|
||||
0xa8,0x5b,0x7b,0xa6,0x38,0x8f,0x3b,0x59,0x8a,0xff,0xb4,0xbc,
|
||||
0xd6,0xd5,0x0a,0xc0,0xc3,0x7c,0x40,0x80,0x78,0x31,0x41,0x17,
|
||||
0x23,0xde,0x28,0xe2,0x79,0x2d,0xeb,0x7b,0xee,0xf6,0x65,0xff,
|
||||
0xe5,0xf7,0x45,0x86,0x13,0xeb,0xf1,0xc3,0xd8,0x82,0x3c,0xcb,
|
||||
0x44,0xc9,0xde,0xcc,0x36,0x2d,0x68,0x85,0x64,0x66,0x74,0x81,
|
||||
0xc0,0x21,0xc2,0xe0,0x53,0xa9,0x05,0xae,0xec,0x05,0x86,0xe6,
|
||||
0x34,0x88,0xea,0x5e,0x5a,0x6a,0xc2,0xdf,0x51,0x65,0x5c,0x80,
|
||||
0xc5,0xce,0xe9,0xb8,0x4a,0x88,0x08,0x10,0x56,0xe5,0x29,0xb2,
|
||||
0x44,0x69,0x73,0x4c,0x4d,0x04,0x21,0xf6,0xc0,0x8b,0xed,0xec,
|
||||
0x80,0x84,0x08,0xbb,0x6c,0xe0,0xef,0xbb,0xce,0xd8,0x12,0x9a,
|
||||
0x8d,0x1a,0x54,0x41,0xba,0x63,0xc9,0xa8,0xfe,0x97,0x72,0x2c,
|
||||
0xe9,0xb7,0xe4,0xa4,0x3e,0xda,0x73,0xa1,0xcc,0x86,0x40,0xb8,
|
||||
0xae,0x7d,0x91,0x52,0x40,0xe7,0x1b,0x3d,0x0f,0xeb,0x7a,0x4e,
|
||||
0x0d,0x36,0x0c,0x0d,0xf2,0x00,0xaf,0x08,0x70,0xa5,0x6d,0xa2,
|
||||
0xf5,0x0b,0xc3,0x51,0x70,0x34,0xc6,0x1d,0x16,0x00,0x5c,0xb6,
|
||||
0x65,0x71,0x9e,0x8d,0x47,0x35,0x6d,0xae,0xfa,0x6d,0x91,0x05,
|
||||
0x26,0xfd,0x89,0x45,0x14,0x13,0x90,0x3a,0xd8,0xb4,0x11,0xd1,
|
||||
0xef,0x57,0x63,0x62,0xea,0xc6,0x6c,0x2c,0xf9,0x0b,0x9c,0xa8,
|
||||
0xa1,0x01,0x40,0x46,0x87,0x2e,0xe0,0xdb,0x90,0x6f,0x4b,0x10,
|
||||
0xf2,0x95,0xd1,0x3e,0xdb,0xfd,0x6b,0x0c,0xcc,0x7b,0x73,0x5f,
|
||||
0x2c,0x98,0x8e,0xb0,0x35,0x7c,0xaa,0x99,0x72,0xf9,0x3d,0x64,
|
||||
0xc4,0x8f,0x09,0x5f,0xbc,0xeb,0x02,0xb2,0x22,0xff,0x08,0xf8,
|
||||
0x8a,0xa3,0x0d,0x0e,0xa0,0xb6,0xec,0x89,0x36,0xbf,0x8d,0x8e,
|
||||
0x0f,0xcd,0x3a,0x76,0xd5,0x19,0xe3,0xa8,0xe6,0x73,0x01,0x47,
|
||||
0x55,0x05,0x09,0xb5,0x51,0xda,0x10,0x4f,0xd9,
|
||||
0x09,0xb5,0x78,0xda,0xb5,0x88,0xee,0x60,0x41,0xb2,0xe3,0xb3,
|
||||
0xd8,0x02,0x2b,0x97,0x98,0x8d,0x55,0xd8,0x5c,0xf5,0xba,0xbc,
|
||||
0x18,0x0b,0x5e,0x12,0xda,0x92,0x6e,0x2d,0xfa,0x34,0xdf,0x23,
|
||||
0xad,0x49,0x21,0x57,0xd5,0xa4,0x7c,0x30,0x48,0x7a,0x30,0x16,
|
||||
0xdb,0x62,0xa3,0x4c,0xaf,0x7b,0x14,0x14,0xa5,0xa2,0x9d,0x5b,
|
||||
0xbb,0xe7,0xce,0x29,0x79,0x65,0x0e,0x26,0x8f,0x89,0xf5,0x2f,
|
||||
0xc9,0x19,0x00,0x8e,0x2d,0x72,0x65,0xda,0xe2,0x01,0x83,0x01,
|
||||
0x6c,0x00,0xd4,0xeb,0xc3,0x3d,0x2a,0xe2,0x5e,0x52,0x7b,0xa2,
|
||||
0xee,0x47,0x20,0xbc,0x99,0x3d,0xa7,0xf9,0xa2,0x53,0x2f,0x6c,
|
||||
0xb8,0x46,0xa2,0x59,0xc5,0xab,0x72,0xf2,0x3b,0xf2,0xee,0x5f,
|
||||
0x1b,0xe6,0xa5,0x89,0x9a,0x95,0x38,0x9e,0x5e,0x33,0xea,0x45,
|
||||
0xaa,0x13,0x97,0x7e,0x3b,0x33,0x1a,0x41,0x81,0xb9,0x12,0x8d,
|
||||
0x36,0xb9,0x47,0xb8,0x1b,0xb8,0x85,0x56,0x9c,0x9a,0xc0,0x4c,
|
||||
0x64,0x7e,0x39,0xdf,0x67,0x6b,0x4f,0x6e,0x99,0x85,0x43,0x82,
|
||||
0x1d,0x2c,0x59,0xf1,0x59,0x82,0x9b,0xfa,0x8b,0x15,0x11,0x59,
|
||||
0x20,0x51,0x65,0x32,0x81,0xc4,0x86,0xe4,0x5e,0x81,0xac,0xc8,
|
||||
0x0b,0x29,0x14,0xdc,0xa6,0x25,0x04,0x61,0x87,0x5f,0x95,0x82,
|
||||
0xa2,0xc4,0x1d,0x18,0x56,0x44,0x35,0xb2,0xf0,0x1d,0xd4,0x91,
|
||||
0xa6,0x90,0x2b,0x4d,0x03,0x10,0xf9,0x49,0xe9,0x72,0xe8,0x5a,
|
||||
0xfa,0x61,0xc5,0x85,0x33,0xf4,0xb1,0x96,0xc3,0x07,0x8b,0xb5,
|
||||
0x5c,0x33,0xe5,0xab,0xc3,0x5a,0x02,0x59,0x68,0xe9,0x97,0x66,
|
||||
0x69,0x78,0x40,0xbe,0x23,0xcd,0x16,0xc3,0x86,0x98,0x10,0xf8,
|
||||
0x95,0x83,0x8e,0x7c,0xc8,0xe6,0xc7,0xf1,0x1f,0x61,0xa8,0x99,
|
||||
0xc9,0xd2,0xe9,0x6b,0x2f,0x31,0x1d,0x44,0xd1,0x8b,0x64,0xef,
|
||||
0x05,0xee,0x6c,0x20,0x0c,0xee,0x33,0x3c,0x1e,0xdb,0xb8,0x8e,
|
||||
0x4a,0x00,0x33,0x0d,0x65,0x2b,0x66,0x1c,0xee,0x60,0x01,0xc7,
|
||||
0xd5,0x9e,0xaa,0xd9,0x2c,0xb9,0x76,0x12,0x8f,0x4a,0x66,0x78,
|
||||
0x84,0xb3,0xf5,0xaf,0xe3,0xfd,0xb2,0x90,0x18,0x50,0x9c,0x99,
|
||||
0xbd,0x6b,0x2a,0x65,0xa8,0x9e,0xcc,0x8b,0x85,0xce,0xa0,0x54,
|
||||
0x70,0xae,0x19,0xad,0xb1,0xef,0xc2,0x5b,0xa7,0x96,0x95,0x12,
|
||||
0xa8,0x30,0x8b,0x15,0xc3,0x21,0x4d,0x57,0x88,0xfd,0x58,0x76,
|
||||
0x6a,0x62,0xcf,0x15,0x39,0x09,0x5f,0x47,0x32,0x03,0xe6,0x38,
|
||||
0xad,0x1a,0x4e,0xfd,0x1b,0x12,0xe8,0x2b,0x5d,0x29,0xc1,0x61,
|
||||
0xaa,0x7e,0x85,0x20,0xad,0x10,0xfa,0x62,0x8e,0x4a,0xed,0x62,
|
||||
0x74,0x3e,0xd1,0xbd,0xdf,0xbe,0x24,0x15,0x24,0xf1,0xbe,0x61,
|
||||
0xe0,0x8a,0x09,0x7c,0x24,0x78,0xee,0x31,0x96,0x36,0xdf,0xa0,
|
||||
0x53,0xab,0x0c,0x25,0x50,0x9f,0x70,0x80,0x43,0x80,0x58,0x8a,
|
||||
0x17,0xb0,0x1f,0x25,0x3a,0x37,0xd0,0xd5,0xa0,0xfd,0x5c,0x8b,
|
||||
0x41,0x69,0x79,0x63,0x7c,0x63,0xc9,0xa6,0x51,0x6a,0xe4,0x01,
|
||||
0x8c,0x7e,0x65,0xe1,0x3c,0x37,0xc7,0x14,0x28,0x49,0x89,0x89,
|
||||
0xeb,0x8e,0x8e,0xd4,0x2a,0x96,0x6e,0x25,0x00,0x82,0x1d,0x9b,
|
||||
0xcc,0xdc,0x5a,0xad,0x66,0xa8,0xa1,0xbc,0xaa,0x80,0x63,0xe0,
|
||||
0x69,0x28,0x42,0x16,0xc2,0xbc,0xca,0xae,0xa3,0xec,0xab,0xca,
|
||||
0xf2,0x65,0xe8,0x70,0x44,0x6a,0x37,0x64,0xeb,0xe5,0x6a,0x94,
|
||||
0x0f,0x76,0x80,0x63,0x73,0x5e,0x61,0xb8,0xf6,0xc7,0x1b,0x05,
|
||||
0x77,0xcc,0x20,0xc2,0x80,0x63,0x5e,0x68,0xe4,0x0e,0x33,0xf5,
|
||||
0x03,0x06,0x5f,0x04,0xaf,0x1a,0x08,0xd7,0x57,0x3b,0x59,0xbb,
|
||||
0x05,0xc7,0x9b,0xf0,0x99,0x7c,0x37,0x43,0xb6,0x0f,0xac,0x17,
|
||||
0x34,0x99,0xc9,0xa3,0x62,0x86,0x70,0xd0,0x35,0x33,0x56,0xec,
|
||||
0xa8,0x8f,0xd6,0x6c,0x56,0xef,0xca,0x08,0x72,0xca,0x31,0x18,
|
||||
0xa8,0x6d,0x1d,0x7c,0x1c,0xee,0x71,0x00,0x46,0x13,0x88,0x64,
|
||||
0x18,0x26,0x33,0x4f,0x4f,0x93,0xd8,0xbd,0x21,0xe3,0x55,0x2d,
|
||||
0x79,0x9a,0x83,0xf6,0xe7,0x63,0x9b,0x87,0xbd,0xc6,0xa8,0x64,
|
||||
0xec,0x8b,0xb7,0x34,0x4f,0xa5,0xe7,0x2a,0x91,0x98,0x50,0x18,
|
||||
0x75,0xbe,0x20,0x5f,0x15,0x4d,0xd6,0x8a,0x43,0xc4,0xf4,0x1f,
|
||||
0x41,0x34,0xa8,0xf0,0x21,0xa1,0x6d,0xfd,0x8b,0xf5,0xa0,0xee,
|
||||
0x27,0x1a,0x6d,0xb0,0xcb,0xf9,0x11,0x16,0x87,0x5d,0xf1,0xa6,
|
||||
0x64,0xe1,0xae,0x68,0x1c,0xd1,0x90,0xf4,0xda,0xc5,0x9f,0x38,
|
||||
0xbc,0x06,0xd0,0x5f,0x1c,0x0c,0xfa,0x52,0xa4,0xa8,0x59,0xb8,
|
||||
0x9b,0xf2,0x0b,0x26,0x6c,0xdf,0x25,0x54,0x8c,0x78,0x02,0x1e,
|
||||
0x4f,0xff,0x77,0x61,0xc3,0xcb,0x96,0xac,0xb2,0x7e,0xb2,0xba,
|
||||
0x3b,0x46,0x56,0xe6,0x6d,0xce,0x8e,0x52,0x30,0x54,0x95,0x9f,
|
||||
0xb4,0x37,0xd8,0x7e,0x28,0x29,0x3b,0x50,0x75,0x40,0xfa,0x5b,
|
||||
0x1e,0xae,0xee,0x7c,0x31,0x90,0x01,0x4e,0x6a,0xfa,0x0e,0x44,
|
||||
0x42,0x11,0xa4,0xb9,0x6a,0xcf,0x36,0x60,0x9d,0xac,0xa6,0x15,
|
||||
0x4c,0x60,0x77,0xee,0x82,0x55,0x20,0x92,0x66,0xd8,0x57,0xe0,
|
||||
0xa9,0xc6,0x8a,0x4a,0x31,0x2b,0x94,0x61,0x30,0x44,0x51,0x63,
|
||||
0xcb,0x8f,0x62,0x9c,0x01,0x48,0xb8,0x1d,0x92,0x45,0x76,0x96,
|
||||
0xb0,0xf7,0xd4,0xd6,0x81,0x46,0x6f,0xab,0xc1,0x40,0xc8,0x74,
|
||||
0x00,0xbf,0x38,0xe8,0xe0,0x7b,0xad,0x25,0xe0,0x2b,0x45,0x15,
|
||||
0xc8,0x96,0x60,0x1b,0xd8,0xed,0xe2,0x5a,0x0c,0x41,0xf3,0x0a,
|
||||
0x2c,0x57,0x57,0x55,0x50,0x2e,0x91,0x34,0x0c,0xa1,0x4a,0x70,
|
||||
0x18,0xc3,0xa2,0x0f,0x3d,0x46,0xbc,0x0b,0xa7,0xfc,0xd3,0x7d,
|
||||
0x23,0x09,0x85,0x5b,0x29,0xe7,0xed,0x5a,0x20,0x0e,0x85,0x91,
|
||||
0xa5,0x3a,0x4c,0x18,0xa6,0x35,0xd4,0xd3,0x98,
|
||||
};
|
||||
|
||||
static const byte FALCON512_sig[] = {
|
||||
0x39,0xf9,0x52,0x91,0x34,0x81,0x6f,0x8a,0xd6,0x02,0x62,0x7b,
|
||||
0x16,0xa3,0x0f,0x19,0xee,0x36,0x30,0x9a,0xe3,0xbd,0x02,0xf7,
|
||||
0x12,0x4c,0x04,0xb7,0x45,0x2b,0x55,0x65,0xb8,0x7a,0x24,0xca,
|
||||
0x5b,0xb7,0xde,0xe1,0x86,0x89,0x69,0x90,0xb6,0x12,0x34,0xe2,
|
||||
0xe2,0x62,0x6d,0x00,0x7a,0x2e,0x75,0x86,0xb6,0x98,0x37,0x69,
|
||||
0x44,0x58,0xb7,0xab,0xf4,0xa9,0xd6,0x38,0x6f,0x92,0x7e,0x6c,
|
||||
0x0d,0xcc,0x9c,0x20,0x25,0x45,0x84,0xc5,0x34,0x97,0x94,0xd5,
|
||||
0xb6,0xa5,0xf4,0x1e,0xac,0x41,0x6b,0xad,0xe4,0x13,0x47,0x01,
|
||||
0x42,0x86,0xd1,0x50,0xf7,0x09,0x41,0x75,0x69,0x90,0xaf,0xde,
|
||||
0xd7,0x6b,0xeb,0xd0,0x75,0x77,0x78,0x5a,0xfc,0xb9,0xe3,0xa4,
|
||||
0x7b,0x6a,0x28,0x67,0x1e,0x56,0xca,0x97,0x71,0x06,0x92,0x1a,
|
||||
0x5d,0x3e,0x42,0xa7,0x63,0xef,0x2f,0xc6,0x40,0xf1,0x6b,0xb1,
|
||||
0x1a,0x14,0x2d,0x72,0xac,0x37,0x50,0x05,0xad,0xc1,0xc1,0x74,
|
||||
0x44,0xc6,0xa7,0xe9,0x62,0x13,0xa2,0x03,0x02,0x67,0x52,0x08,
|
||||
0x9c,0x9d,0x65,0xb4,0x4b,0x05,0xe4,0xd3,0x43,0x3a,0x91,0x66,
|
||||
0xf7,0x29,0x13,0x4a,0xfd,0x94,0x8c,0xfa,0x84,0xeb,0xe5,0xd2,
|
||||
0xd8,0x71,0x91,0x42,0xd9,0xf7,0xae,0x1d,0x88,0x70,0x74,0x33,
|
||||
0xca,0xae,0xda,0x15,0xc1,0xb7,0xeb,0x11,0x5d,0x39,0x5e,0xc3,
|
||||
0x76,0x9c,0x3a,0x52,0x1b,0x19,0xe3,0x70,0xdb,0xd2,0x3e,0xe0,
|
||||
0x47,0x4d,0x74,0x33,0xa5,0xc3,0x5d,0xfc,0x76,0x34,0x2b,0x13,
|
||||
0x50,0xe6,0x9d,0xb8,0xae,0x44,0x23,0x42,0x95,0x27,0xaf,0x48,
|
||||
0x9b,0x15,0x11,0x8e,0x13,0xeb,0x36,0xe5,0xe0,0x3d,0xff,0x16,
|
||||
0x47,0x51,0x20,0xf1,0x4e,0x9a,0x2a,0x22,0x01,0xbd,0xf1,0x40,
|
||||
0x66,0x74,0xd6,0x52,0x33,0x05,0xb3,0xfe,0xd0,0x5c,0xb7,0x85,
|
||||
0xc1,0xfb,0x20,0x1e,0x84,0xa2,0x6b,0xcf,0x9b,0xcc,0x8e,0x13,
|
||||
0x4d,0xa9,0x44,0x92,0x06,0x9c,0x9b,0x3c,0xf3,0x83,0x19,0x58,
|
||||
0xab,0xe5,0x16,0x4f,0xe2,0x41,0x42,0xd9,0xbc,0xf5,0xa3,0x3b,
|
||||
0x4e,0x9a,0x5d,0xaf,0x77,0x5d,0xcf,0x9f,0xd2,0x47,0x8c,0x75,
|
||||
0xb6,0x3d,0x84,0x68,0x36,0xe5,0x15,0x33,0x4c,0xab,0x5a,0x07,
|
||||
0xa3,0x93,0x6d,0x51,0xc8,0x29,0xc9,0xe1,0xa5,0x57,0x44,0x9a,
|
||||
0x99,0xab,0x6c,0x5b,0x6e,0xa3,0x26,0xcb,0xea,0xe1,0x0a,0x4a,
|
||||
0x40,0xb3,0x69,0xbb,0xd6,0xc2,0xcd,0x64,0x35,0x08,0xe9,0x92,
|
||||
0x61,0x67,0x9f,0x2f,0xc5,0x28,0xc2,0xa0,0x04,0xc9,0xd7,0xf8,
|
||||
0xd2,0x2b,0x50,0xd6,0x9b,0xf7,0xae,0xf3,0x67,0xd4,0x6a,0x4f,
|
||||
0x89,0xb4,0x70,0x23,0xe4,0x19,0x97,0x5d,0x86,0xc6,0x2b,0x8f,
|
||||
0x58,0xd8,0xd6,0x3d,0x59,0x39,0x86,0xa1,0x28,0xc4,0x2b,0xae,
|
||||
0xf2,0x6d,0x0d,0x76,0x25,0xdc,0x55,0x06,0x73,0x9a,0x27,0xf5,
|
||||
0x34,0x7f,0xcf,0x9a,0x7a,0xfd,0x1e,0xa5,0xb9,0x66,0x8c,0x9e,
|
||||
0x78,0x8f,0x9e,0x64,0xcf,0xc8,0xf7,0x73,0x12,0x8a,0x82,0xb3,
|
||||
0x67,0x03,0xd9,0x1d,0x71,0x63,0x3c,0x5f,0x5e,0x9b,0x2f,0xaf,
|
||||
0xa1,0x41,0x95,0x47,0x0f,0xff,0x18,0x3e,0xd1,0x09,0x2f,0x23,
|
||||
0x4e,0x8f,0x4d,0x9b,0xa7,0xe4,0xad,0x47,0xf5,0x17,0xbf,0x86,
|
||||
0x89,0xd2,0x50,0x6a,0x87,0xdd,0x9e,0xfe,0xf4,0xd0,0xd1,0xa0,
|
||||
0xcf,0x4f,0x21,0x8c,0x41,0xc5,0xd1,0xa8,0x35,0x9a,0xbe,0xab,
|
||||
0x95,0x8d,0x5d,0x6d,0x2f,0xbc,0x78,0x8c,0x41,0xee,0xac,0x0c,
|
||||
0x01,0x48,0x7e,0xd2,0x35,0xba,0x02,0xcc,0x62,0xf9,0xed,0x39,
|
||||
0x23,0xe2,0x61,0x2d,0xd3,0x61,0x7d,0x43,0x21,0x3a,0x03,0x9c,
|
||||
0x4b,0x78,0x08,0x2b,0x31,0x5b,0xe8,0xdb,0x4d,0xcb,0xb8,0x8c,
|
||||
0x54,0xa1,0x58,0xf8,0x2f,0x15,0x64,0x71,0xcc,0x5f,0x41,0x61,
|
||||
0xd7,0x44,0xb0,0xfb,0x46,0xa8,0xfd,0xe4,0xfc,0xad,0x0c,0x0f,
|
||||
0xef,0xa8,0x6e,0xb4,0x97,0xfc,0xc2,0x82,0x96,0x40,0x0f,0x1d,
|
||||
0xd1,0xdf,0x41,0xe0,0x14,0x8f,0x8c,0x22,0x41,0x03,0x5b,0xe6,
|
||||
0xc8,0x8c,0x71,0xdc,0xf5,0xf6,0xd5,0xa4,0xc3,0x00,0xc3,0x45,
|
||||
0x1e,0x0f,0x15,0x1d,0xc2,0x70,0x76,0x58,0xf3,0x61,0xa7,0x96,
|
||||
0x4b,0x58,0x68,0xa4,0x13,0xbf,
|
||||
0x39,0x47,0xc1,0x48,0x7c,0x58,0xb7,0x4a,0xa4,0x23,0x4d,0x62,
|
||||
0xd4,0xa1,0x12,0x1a,0x92,0x3c,0x3f,0xe9,0x14,0x60,0xc4,0x20,
|
||||
0x0d,0xdc,0x8d,0xdb,0xf1,0x60,0xb2,0x70,0x31,0x2f,0x3c,0x0d,
|
||||
0x45,0x8b,0x53,0x55,0x91,0x51,0x89,0xc4,0xc8,0x61,0x82,0xe0,
|
||||
0xe0,0xe8,0x28,0x62,0xf8,0xb4,0x50,0xbe,0xef,0x4c,0xe9,0x0f,
|
||||
0x60,0xe7,0x04,0x1c,0x68,0xcc,0x27,0x60,0xdf,0x70,0x58,0xc7,
|
||||
0x0f,0xc0,0xd0,0x61,0xa3,0xae,0x1b,0x2b,0x3a,0x98,0xa3,0xcf,
|
||||
0xa5,0x5e,0x59,0x5a,0x8f,0x18,0x83,0x87,0xc5,0x65,0x69,0x7b,
|
||||
0x2d,0xfc,0x7a,0x0b,0x1b,0x53,0x16,0xc9,0x1c,0xe1,0xb6,0xf4,
|
||||
0x93,0x08,0x56,0xf3,0xed,0x3a,0x9c,0xd1,0x27,0xfb,0xee,0x1e,
|
||||
0x44,0xd5,0x35,0xf5,0x6e,0x17,0xcf,0xb2,0xdd,0x99,0x93,0xaa,
|
||||
0xc4,0x52,0x6e,0x98,0x6a,0x0b,0x49,0x3f,0x7f,0xb4,0xdc,0x52,
|
||||
0x04,0x45,0x9b,0xa6,0x80,0x97,0x26,0x26,0x55,0x8c,0x94,0xd9,
|
||||
0x46,0x34,0xe0,0xac,0xf4,0xbe,0xa2,0xf0,0xc2,0x35,0x19,0xc9,
|
||||
0x7e,0x4e,0x34,0x63,0x2c,0x71,0x48,0x7a,0xad,0x8c,0xe1,0xa2,
|
||||
0xb2,0x78,0x5c,0x05,0xa5,0x8e,0x66,0x8d,0x4a,0x9e,0x89,0x5b,
|
||||
0xe3,0x4b,0x66,0xb5,0x5b,0xd0,0x35,0x13,0x47,0x0e,0x55,0x54,
|
||||
0xea,0xba,0x5f,0xf1,0x61,0x83,0xab,0x05,0x38,0xbd,0xb8,0xdf,
|
||||
0x5b,0x9d,0x4b,0x50,0xac,0x6f,0xd4,0x62,0x6c,0x81,0x5b,0x22,
|
||||
0xca,0x15,0x16,0x83,0x4e,0x8d,0xc6,0x7f,0x6a,0x5e,0x96,0x92,
|
||||
0x87,0x9a,0x95,0x8f,0xb5,0xb2,0x2b,0xd8,0xb9,0xbf,0x0e,0x6f,
|
||||
0x89,0x68,0x3d,0xdd,0xb6,0x65,0x21,0xd6,0x79,0x98,0x66,0xdf,
|
||||
0x5f,0x0a,0x4d,0x39,0x3d,0x6a,0x45,0xe2,0x07,0x50,0xe4,0x4d,
|
||||
0x1c,0x09,0x2e,0x18,0xcc,0x2b,0x2d,0x45,0x22,0x26,0xc1,0x1d,
|
||||
0x2d,0x84,0x85,0x03,0x79,0xef,0x7a,0xde,0x7f,0x3a,0x0e,0x2d,
|
||||
0x94,0x33,0x06,0x93,0x68,0xca,0x7c,0x3c,0x8f,0x5e,0x3a,0x5d,
|
||||
0x96,0x5f,0x2b,0x12,0x35,0xed,0xd3,0x2c,0xf8,0x69,0xe0,0xf3,
|
||||
0x64,0xb7,0x2d,0xa9,0x2f,0x31,0x23,0x1a,0xd0,0xa2,0x7b,0x88,
|
||||
0xa5,0x52,0x36,0x40,0x48,0xf5,0x35,0x05,0x52,0x61,0x0c,0x5d,
|
||||
0xeb,0x05,0x8b,0x52,0x2c,0x34,0xa6,0x3e,0x1e,0xaf,0x7f,0xf7,
|
||||
0xd8,0xca,0x68,0xc0,0x13,0xf7,0x76,0x9d,0xc1,0x20,0x3c,0xe8,
|
||||
0xc4,0x87,0xd7,0xe8,0x78,0xfb,0x79,0xc4,0x9a,0xa0,0x48,0xcd,
|
||||
0x7c,0xd2,0x6c,0xa8,0x2b,0x72,0xb3,0x52,0x82,0x3f,0xb8,0x93,
|
||||
0x41,0x0f,0xf0,0xeb,0x25,0x94,0x6b,0xb4,0x56,0xd9,0x6d,0x90,
|
||||
0x62,0x4e,0x4a,0x77,0x6f,0xe4,0x37,0xb5,0x27,0x7d,0x06,0x5b,
|
||||
0x65,0x78,0xd4,0x34,0x86,0xb3,0x11,0x81,0x13,0x31,0x42,0x03,
|
||||
0x98,0x8d,0xfd,0x53,0xcc,0x23,0x1b,0x76,0xda,0x3f,0xcf,0x8e,
|
||||
0x6a,0x0e,0xc6,0xae,0x8e,0x1a,0xcc,0xe2,0xe2,0xd2,0x65,0x63,
|
||||
0xa5,0xbf,0xc9,0xf1,0xb1,0x7f,0xff,0x86,0x5b,0x25,0x7c,0xae,
|
||||
0x88,0x3b,0x4a,0x77,0xd0,0xca,0xf6,0xc7,0xa7,0x42,0xca,0x8a,
|
||||
0x47,0x8d,0x41,0xa7,0x71,0x59,0x5c,0xb1,0x9a,0x8d,0x6a,0xdb,
|
||||
0xbd,0x22,0x3c,0x60,0x0c,0xc0,0x96,0xf9,0x0f,0x6e,0xd3,0xf3,
|
||||
0x50,0x28,0xc9,0x11,0x55,0x84,0xa4,0x0d,0xec,0xc9,0xa6,0x42,
|
||||
0x1c,0xbc,0x75,0xde,0x79,0x20,0xc2,0x3e,0xb0,0x6e,0xb4,0x25,
|
||||
0x8a,0xf1,0x66,0x50,0x22,0x00,0x23,0x01,0x8b,0xa7,0xe1,0xb2,
|
||||
0x8a,0x82,0xc7,0xbb,0x93,0xb8,0x4b,0xaa,0x8b,0x18,0xa5,0xa8,
|
||||
0x34,0xc7,0xb7,0xaf,0xcf,0x26,0xc4,0xa6,0x38,0xb5,0xec,0x9d,
|
||||
0xc7,0x10,0xad,0xf1,0x57,0x8e,0x84,0x8e,0x4a,0xcc,0x4a,0x51,
|
||||
0xfd,0xa3,0x0e,0x86,0x51,0xeb,0xd6,0x18,0x72,0xa7,0xf4,0xac,
|
||||
0x26,0xc9,0xd7,0x73,0x2a,0x8d,0x22,0x4d,0x82,0x2f,0x83,0x33,
|
||||
0x28,0x29,0x99,0xcf,0x77,0x52,0x37,0x8a,0x23,0xe8,0x47,0xc5,
|
||||
0xd4,0xa4,0x19,0xc9,0xc4,0x1e,0x16,0xac,0x66,0xb5,0x7f,0x06,
|
||||
0xd2,0x0a,0xaa,0x78,0x52,0xb9,0x00,0xed,0xf3,0xca,0xf6,0x13,
|
||||
0xbb,0x29,0x62,0x4a,0x1d,0x0f,0x36,0x47,0x28,0x88,0xfd,0x5b,
|
||||
0xb6,0x81,0xfc,0xfb,0x95,0x7e,0xe5,0x8a,
|
||||
};
|
||||
|
||||
+6
-8
@@ -1821,20 +1821,18 @@ then
|
||||
fi
|
||||
|
||||
|
||||
# Falcon (legacy name for FN-DSA, now provided by the native implementation)
|
||||
# Falcon post-quantum signatures. "Falcon" is the pre-standardization name; NIST
|
||||
# is standardizing this scheme as FN-DSA (FIPS 206, draft). This is the native
|
||||
# wolfCrypt implementation (no liboqs); it needs SHA-3 / SHAKE256 (forced on in
|
||||
# the CFLAG section below). Because the algorithm is not yet standardized and its
|
||||
# API name is subject to change, it requires --enable-experimental (checked in
|
||||
# the CFLAG section, once all backend sub-options have been resolved).
|
||||
# Falcon post-quantum signatures, provided by the native wolfCrypt
|
||||
# implementation (no liboqs); it needs SHA-3 / SHAKE256 (forced on in the CFLAG
|
||||
# section below). Because the algorithm is not yet standardized and its API name
|
||||
# is subject to change, it requires --enable-experimental (checked in the CFLAG
|
||||
# section, once all backend sub-options have been resolved).
|
||||
AC_ARG_ENABLE([falcon],
|
||||
[AS_HELP_STRING([--enable-falcon],[Enable Falcon post-quantum signatures (native, no liboqs; requires --enable-experimental) (default: disabled)])],
|
||||
[ ENABLED_FALCON=$enableval ],
|
||||
[ ENABLED_FALCON=no ])
|
||||
|
||||
# --enable-falcon-asm selects the per-architecture assembly fpr backend for
|
||||
# FN-DSA (currently x86-64 SSE2 only); the portable constant-time integer
|
||||
# Falcon (currently x86-64 SSE2 only); the portable constant-time integer
|
||||
# emulation remains the default. It implies --enable-falcon.
|
||||
AC_ARG_ENABLE([falcon-asm],
|
||||
[AS_HELP_STRING([--enable-falcon-asm],[Enable Falcon x86-64 assembly fpr backend (default: disabled)])],
|
||||
|
||||
@@ -19,7 +19,7 @@
|
||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335, USA
|
||||
*/
|
||||
|
||||
/* Phase-5 FN-DSA (Falcon) interop harness.
|
||||
/* Phase-5 Falcon interop harness.
|
||||
*
|
||||
* Cross-checks the native wolfCrypt Falcon implementation (wc_falcon_*,
|
||||
* <wolfssl/wolfcrypt/falcon.h>) against liboqs (open-quantum-safe), called
|
||||
@@ -35,7 +35,7 @@
|
||||
* (3) native keygen+sign -> native verify
|
||||
* (4) native keygen+sign -> liboqs verify
|
||||
*
|
||||
* Build wolfSSL with native FN-DSA (no liboqs needed by the library itself):
|
||||
* Build wolfSSL with native Falcon (no liboqs needed by the library itself):
|
||||
* ./configure --enable-falcon && make
|
||||
* Then compile + run against the built lib + liboqs:
|
||||
* gcc -I. -I<oqs>/include scripts/falcon-interop.c \
|
||||
@@ -60,7 +60,7 @@
|
||||
#error "This harness requires wolfSSL built with --enable-falcon"
|
||||
#endif
|
||||
|
||||
static const char* kMsg = "wolfSSL FN-DSA native<->liboqs interop message";
|
||||
static const char* kMsg = "wolfSSL Falcon native<->liboqs interop message";
|
||||
|
||||
typedef struct {
|
||||
byte level; /* FALCON_LEVEL1 / FALCON_LEVEL5 */
|
||||
@@ -163,7 +163,7 @@ int main(void) {
|
||||
falcon_params l1 = { FALCON_LEVEL1, OQS_SIG_alg_falcon_512 };
|
||||
falcon_params l5 = { FALCON_LEVEL5, OQS_SIG_alg_falcon_1024 };
|
||||
|
||||
printf("FN-DSA native<->liboqs interop matrix\n");
|
||||
printf("Falcon native<->liboqs interop matrix\n");
|
||||
if (wc_InitRng(&rng) != 0) { printf("rng init failed\n"); return 1; }
|
||||
f |= run_level(&l1, &rng);
|
||||
f |= run_level(&l5, &rng);
|
||||
|
||||
@@ -19,7 +19,7 @@
|
||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335, USA
|
||||
*/
|
||||
|
||||
/* Native FN-DSA (FIPS 206 draft) / Falcon implementation for wolfCrypt.
|
||||
/* Native Falcon implementation for wolfCrypt.
|
||||
*
|
||||
* Phase 1: verification only (integer arithmetic, no floating point).
|
||||
* The signature/keygen paths and the floating-point primitive seam are added
|
||||
@@ -49,8 +49,8 @@
|
||||
* specification / reference implementation (l2bound table). */
|
||||
static const word32 falcon_l2bound[] = {
|
||||
/* 0..8 unused */ 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
34034726u, /* logn = 9 (FN-DSA-512) */
|
||||
70265242u /* logn = 10 (FN-DSA-1024) */
|
||||
34034726u, /* logn = 9 (Falcon-512) */
|
||||
70265242u /* logn = 10 (Falcon-1024) */
|
||||
};
|
||||
|
||||
/* ------------------------------------------------------------------------ */
|
||||
|
||||
@@ -19,7 +19,7 @@
|
||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335, USA
|
||||
*/
|
||||
|
||||
/* Self-contained big-integer / RNS arithmetic for native FN-DSA (Falcon)
|
||||
/* Self-contained big-integer / RNS arithmetic for native Falcon
|
||||
* key generation. See wolfssl/wolfcrypt/wc_falcon_bigint.h.
|
||||
*
|
||||
* Ported from the Falcon reference implementation keygen.c by Thomas Pornin
|
||||
|
||||
@@ -19,7 +19,7 @@
|
||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335, USA
|
||||
*/
|
||||
|
||||
/* FN-DSA (FIPS 206 draft) / Falcon encode/decode routines for the signing and
|
||||
/* Falcon encode/decode routines for the signing and
|
||||
* key-generation paths. These are faithful ports of the Falcon reference
|
||||
* implementation (codec.c): modq_encode, comp_encode, trim_i8_encode and
|
||||
* trim_i8_decode, plus the secret-key decoder that drives them.
|
||||
|
||||
@@ -19,7 +19,7 @@
|
||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335, USA
|
||||
*/
|
||||
|
||||
/* FN-DSA / Falcon FFT over the fpr seam. See wolfssl/wolfcrypt/wc_falcon_fft.h.
|
||||
/* Falcon FFT over the fpr seam. See wolfssl/wolfcrypt/wc_falcon_fft.h.
|
||||
* Algorithm and twiddle-table layout validated against a schoolbook negacyclic
|
||||
* reference (round-trip and FFT-based multiplication) for n in {8,512,1024}. */
|
||||
|
||||
|
||||
@@ -19,7 +19,7 @@
|
||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335, USA
|
||||
*/
|
||||
|
||||
/* AVX2 (__m256d + FMA) FFT backend for the native FN-DSA / Falcon signing path.
|
||||
/* AVX2 (__m256d + FMA) FFT backend for the native Falcon signing path.
|
||||
*
|
||||
* This is a vectorization of the scalar FFT in wc_falcon_fft.c and the hot
|
||||
* FFT-domain pointwise polynomial operations in wc_falcon_poly.c. It processes
|
||||
|
||||
@@ -19,7 +19,7 @@
|
||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335, USA
|
||||
*/
|
||||
|
||||
/* AArch64 NEON (float64x2_t + FMA) FFT backend for the native FN-DSA / Falcon
|
||||
/* AArch64 NEON (float64x2_t + FMA) FFT backend for the native Falcon
|
||||
* signing path. This is the 2-wide-double counterpart of the AVX2 backend in
|
||||
* wc_falcon_fft_avx2.c: it processes two doubles per 128-bit vector and uses
|
||||
* fused multiply-add for the complex butterflies. The algorithm and the
|
||||
|
||||
@@ -19,7 +19,7 @@
|
||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335, USA
|
||||
*/
|
||||
|
||||
/* Integer-emulated IEEE-754 binary64 backend for the FN-DSA / Falcon
|
||||
/* Integer-emulated IEEE-754 binary64 backend for the Falcon
|
||||
* floating-point primitive seam (wolfssl/wolfcrypt/wc_falcon_fpr.h).
|
||||
*
|
||||
* This is the portable, FP-unit-free, fully deterministic and constant-time
|
||||
|
||||
@@ -58,7 +58,7 @@
|
||||
#endif /* NO_AVX512_SUPPORT */
|
||||
|
||||
#if defined(HAVE_FALCON) && defined(WOLFSSL_FALCON_FPR_ASM)
|
||||
/* Native x86_64 (SSE2 scalar-double) backend for the FN-DSA fpr
|
||||
/* Native x86_64 (SSE2 scalar-double) backend for the Falcon fpr
|
||||
* seam. Generated by wolfssl-scripts: falcon/x86_64/falcon.rb.
|
||||
* Each routine is bit-exact with the round-to-nearest-even
|
||||
* IEEE-754 emulation in wolfcrypt/src/wc_falcon_fpr.c on all values
|
||||
|
||||
@@ -19,7 +19,7 @@
|
||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335, USA
|
||||
*/
|
||||
|
||||
/* FN-DSA / Falcon key-pair generation. See wolfssl/wolfcrypt/wc_falcon_keygen.h.
|
||||
/* Falcon key-pair generation. See wolfssl/wolfcrypt/wc_falcon_keygen.h.
|
||||
*
|
||||
* Faithful port of the key-generation half of the MIT-licensed Falcon
|
||||
* reference implementation keygen.c (Thomas Pornin, Falcon Project,
|
||||
|
||||
@@ -19,7 +19,7 @@
|
||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335, USA
|
||||
*/
|
||||
|
||||
/* FN-DSA / Falcon FFT-domain polynomial operations over the fpr seam. Faithful
|
||||
/* Falcon FFT-domain polynomial operations over the fpr seam. Faithful
|
||||
* port of the poly_* functions from the MIT-licensed Falcon reference (fft.c,
|
||||
* Thomas Pornin). See wolfssl/wolfcrypt/wc_falcon_poly.h. */
|
||||
|
||||
|
||||
@@ -19,7 +19,7 @@
|
||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335, USA
|
||||
*/
|
||||
|
||||
/* Discrete Gaussian sampler (SamplerZ) for FN-DSA / Falcon signing.
|
||||
/* Discrete Gaussian sampler (SamplerZ) for Falcon signing.
|
||||
*
|
||||
* This is a faithful port of the constant-time reference sampler written by
|
||||
* Thomas Pornin for the Falcon submission (MIT licensed). The identical code
|
||||
@@ -87,9 +87,9 @@ static const fpr falcon_fpr_inv_2sqrsigma0 = (fpr)4594603506513722306U;
|
||||
|
||||
/* sigma_min, indexed by logn (degree = 2^logn). These match the Falcon
|
||||
* specification's sigma_min(n) table; entries decode to a smooth monotonic
|
||||
* curve from 1.1165 (n=2) to 1.2983 (n=1024). FN-DSA uses logn 9 and 10:
|
||||
* logn = 9 (FN-DSA-512 / Falcon-512 ) : 1.2778336969128337
|
||||
* logn = 10 (FN-DSA-1024 / Falcon-1024) : 1.298280334344292 */
|
||||
* curve from 1.1165 (n=2) to 1.2983 (n=1024). Falcon uses logn 9 and 10:
|
||||
* logn = 9 (Falcon-512 ) : 1.2778336969128337
|
||||
* logn = 10 (Falcon-1024) : 1.298280334344292 */
|
||||
static const fpr falcon_fpr_sigma_min[11] = {
|
||||
(fpr)0U, /* logn 0 : unused */
|
||||
(fpr)4607707126469777035U, /* logn 1 : 1.1165085072 */
|
||||
|
||||
@@ -19,7 +19,7 @@
|
||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335, USA
|
||||
*/
|
||||
|
||||
/* FN-DSA / Falcon signing orchestration. See wolfssl/wolfcrypt/wc_falcon_sign.h.
|
||||
/* Falcon signing orchestration. See wolfssl/wolfcrypt/wc_falcon_sign.h.
|
||||
*
|
||||
* Faithful port of the signature-generation core of the MIT-licensed Falcon
|
||||
* reference implementation sign.c (Thomas Pornin, Falcon Project, 2017-2019):
|
||||
|
||||
+394
-393
@@ -57684,12 +57684,12 @@ static wc_test_ret_t mldsa_decode_test(void)
|
||||
}
|
||||
#endif /* (WOLFSSL_MLDSA_PUBLIC_KEY && !WOLFSSL_MLDSA_NO_VERIFY) ||
|
||||
* (WOLFSSL_MLDSA_PRIVATE_KEY && !WOLFSSL_MLDSA_NO_SIGN) */
|
||||
#endif /* WOLFSSL_HAVE_MLDSA - FN-DSA test below is independent of ML-DSA */
|
||||
#endif /* WOLFSSL_HAVE_MLDSA - Falcon test below is independent of ML-DSA */
|
||||
|
||||
|
||||
#ifdef HAVE_FALCON
|
||||
|
||||
/* Differential FN-DSA (Falcon) verify test.
|
||||
/* Differential Falcon verify test.
|
||||
*
|
||||
* The public keys and signatures below are KNOWN-ANSWER VECTORS that were
|
||||
* generated with the EXISTING liboqs Falcon implementation
|
||||
@@ -57716,406 +57716,407 @@ static wc_test_ret_t mldsa_decode_test(void)
|
||||
/* The KAT vectors and their verifier exercise the software verify path, which
|
||||
* is not present in a WOLF_CRYPTO_CB_ONLY_FALCON build. */
|
||||
#ifndef WOLF_CRYPTO_CB_ONLY_FALCON
|
||||
#define FALCON_KAT_MSG "wolfSSL FN-DSA differential KAT"
|
||||
#define FALCON_KAT_MSG "wolfSSL Falcon differential KAT"
|
||||
|
||||
static const byte FALCON512_pk[] = {
|
||||
0x09,0x8d,0x15,0xc5,0x31,0x5b,0xa1,0x8a,0x92,0x2d,0x93,0x81,
|
||||
0x26,0x93,0xa7,0x05,0x1a,0xf2,0x92,0x99,0x0c,0x67,0x77,0x30,
|
||||
0xdf,0x03,0xb9,0x21,0xbe,0xa1,0x06,0x2e,0x81,0x20,0x6b,0x27,
|
||||
0x5c,0x7a,0x6d,0x9b,0x1d,0x19,0xb6,0xbc,0x65,0x7c,0xe5,0x02,
|
||||
0x0a,0xdc,0xa1,0xb9,0x87,0x56,0x6e,0x29,0x0a,0x14,0x85,0x10,
|
||||
0x80,0xc9,0xc8,0x1b,0x48,0x4c,0x7a,0x28,0x74,0xdc,0x8c,0x38,
|
||||
0xf8,0x4c,0x8a,0x53,0xe9,0x34,0x03,0x76,0xcc,0x88,0x55,0x2c,
|
||||
0x48,0x00,0x55,0x3e,0x78,0x0c,0xa4,0xf5,0x3b,0x5d,0xc9,0x77,
|
||||
0xd9,0xd7,0xec,0xa8,0x28,0xb0,0x4a,0xdb,0xaa,0xa4,0x88,0xcd,
|
||||
0xde,0xe2,0xc3,0xaf,0xa8,0x15,0x09,0x64,0x9a,0x8f,0x5d,0x37,
|
||||
0x51,0x26,0xce,0xd3,0x06,0x0c,0x9f,0x35,0x56,0x1f,0x70,0x67,
|
||||
0x6e,0xf3,0x60,0x90,0x2c,0x54,0x91,0x1c,0xbd,0x3d,0x95,0xa8,
|
||||
0x54,0x3b,0xc2,0x0e,0x6f,0x90,0x80,0xd7,0xcd,0x03,0x3d,0xa8,
|
||||
0x05,0x09,0x54,0xab,0xa5,0xec,0x1b,0xe2,0xe7,0x39,0x2c,0x0d,
|
||||
0xc3,0x53,0xe0,0x34,0xea,0x92,0x1c,0xae,0x2e,0x91,0x68,0x74,
|
||||
0x82,0xe0,0xdf,0x5d,0x18,0xb8,0xe2,0x47,0xcc,0x84,0x35,0xc4,
|
||||
0xf7,0x08,0xc7,0x00,0xe8,0xb9,0x64,0x8d,0xe9,0x1b,0xcc,0x2b,
|
||||
0x28,0x78,0x7a,0x65,0x18,0x67,0x0b,0xb1,0xa9,0x10,0x40,0x8d,
|
||||
0x1f,0xc5,0x4c,0x64,0xe7,0x99,0xf9,0x0d,0x9f,0xb3,0x71,0x2a,
|
||||
0xf5,0x2a,0x89,0xd0,0xb2,0xf6,0x80,0x61,0x37,0x50,0x5d,0x16,
|
||||
0x70,0x82,0x73,0x8e,0x9d,0x59,0x88,0xe9,0x84,0xf7,0x32,0x93,
|
||||
0xfd,0x24,0x61,0x94,0x2b,0xc6,0xdf,0xf7,0x3b,0x5e,0x05,0x88,
|
||||
0xc0,0x48,0x2a,0x7c,0x40,0x8a,0x03,0x8f,0x8b,0x3b,0x85,0x7d,
|
||||
0xe0,0xbb,0x73,0xaf,0xbb,0x4b,0xe9,0xe5,0x76,0x7a,0xd0,0x2c,
|
||||
0x6a,0xb9,0x60,0x19,0xf7,0xa3,0xc0,0xb0,0x64,0x45,0x71,0xb3,
|
||||
0x6d,0xdf,0x97,0x59,0x4c,0xc2,0xab,0x0c,0x5b,0x29,0xe1,0x52,
|
||||
0x21,0x0e,0xcf,0xda,0x4e,0x55,0xc7,0x87,0x39,0x9b,0x0f,0x54,
|
||||
0x88,0xc4,0xbb,0xe7,0x5b,0xcb,0xb6,0x10,0x80,0x5a,0x16,0x96,
|
||||
0x8b,0x41,0x9a,0x9a,0x41,0x76,0x88,0x2e,0x02,0xa1,0x83,0x78,
|
||||
0x19,0x67,0xb2,0x07,0x11,0x55,0x56,0xd3,0x5b,0xea,0x3d,0x19,
|
||||
0xf9,0x81,0xd8,0xe9,0xa4,0x91,0x94,0x06,0x70,0xb9,0x95,0xbd,
|
||||
0x7e,0x68,0x05,0x82,0x81,0x8f,0x94,0xab,0x36,0xe8,0xa2,0x4a,
|
||||
0x02,0x6a,0x33,0x6e,0x00,0x87,0x44,0xe8,0xdc,0xa1,0xee,0xf8,
|
||||
0x00,0x4d,0xaa,0x81,0x99,0x8e,0x46,0xe8,0x36,0x25,0x0b,0x3e,
|
||||
0xbe,0xd9,0x03,0x38,0x14,0x62,0x8a,0xb5,0x3e,0x79,0xef,0x69,
|
||||
0x94,0x41,0x41,0xcf,0x16,0x84,0xa9,0xba,0x0f,0x5a,0xd6,0x48,
|
||||
0xef,0x57,0x0e,0x76,0xc5,0x89,0xf1,0x71,0x29,0x5f,0xb5,0xe2,
|
||||
0x09,0x14,0xc3,0xd2,0x3f,0xb1,0xb9,0x41,0xc7,0x91,0xa5,0xda,
|
||||
0x54,0xb4,0x43,0xba,0xa5,0x50,0xf2,0xa1,0x8d,0x0a,0x59,0x18,
|
||||
0x1e,0xd1,0x58,0x76,0x1c,0x29,0xfa,0x04,0x8c,0x23,0x66,0xee,
|
||||
0x8b,0xe1,0x11,0x46,0x0c,0x89,0xe3,0x80,0x56,0xa5,0x70,0xa6,
|
||||
0x7c,0xf1,0x73,0xf1,0x13,0xe4,0x83,0x25,0xe7,0xea,0xd2,0x8c,
|
||||
0x39,0x36,0xd6,0x5e,0x4b,0x82,0x5a,0x5e,0xa5,0x0c,0xce,0xaa,
|
||||
0xb7,0x4e,0x01,0x9b,0x46,0xde,0x81,0xd3,0x2f,0xf7,0xbd,0x60,
|
||||
0x20,0x77,0xac,0xca,0x62,0x41,0x80,0x1a,0x72,0xe3,0x0d,0x49,
|
||||
0x74,0x16,0xff,0xe7,0xb0,0x65,0xb3,0xa2,0xda,0x6d,0xe1,0x34,
|
||||
0x4f,0x0e,0xa7,0xb2,0xdf,0xf2,0x9d,0x6d,0xe3,0x78,0x36,0xe9,
|
||||
0x43,0x7e,0x0b,0xab,0x0e,0xa8,0xe3,0xf1,0x77,0x27,0x78,0x9d,
|
||||
0xfd,0x43,0x44,0xdd,0xc8,0x3b,0x1f,0x71,0xc6,0xe5,0xef,0xe2,
|
||||
0x8c,0x7e,0xc6,0x63,0x8b,0x29,0x24,0x34,0x6a,0xcd,0xd8,0xf4,
|
||||
0xa8,0x5b,0x7b,0xa6,0x38,0x8f,0x3b,0x59,0x8a,0xff,0xb4,0xbc,
|
||||
0xd6,0xd5,0x0a,0xc0,0xc3,0x7c,0x40,0x80,0x78,0x31,0x41,0x17,
|
||||
0x23,0xde,0x28,0xe2,0x79,0x2d,0xeb,0x7b,0xee,0xf6,0x65,0xff,
|
||||
0xe5,0xf7,0x45,0x86,0x13,0xeb,0xf1,0xc3,0xd8,0x82,0x3c,0xcb,
|
||||
0x44,0xc9,0xde,0xcc,0x36,0x2d,0x68,0x85,0x64,0x66,0x74,0x81,
|
||||
0xc0,0x21,0xc2,0xe0,0x53,0xa9,0x05,0xae,0xec,0x05,0x86,0xe6,
|
||||
0x34,0x88,0xea,0x5e,0x5a,0x6a,0xc2,0xdf,0x51,0x65,0x5c,0x80,
|
||||
0xc5,0xce,0xe9,0xb8,0x4a,0x88,0x08,0x10,0x56,0xe5,0x29,0xb2,
|
||||
0x44,0x69,0x73,0x4c,0x4d,0x04,0x21,0xf6,0xc0,0x8b,0xed,0xec,
|
||||
0x80,0x84,0x08,0xbb,0x6c,0xe0,0xef,0xbb,0xce,0xd8,0x12,0x9a,
|
||||
0x8d,0x1a,0x54,0x41,0xba,0x63,0xc9,0xa8,0xfe,0x97,0x72,0x2c,
|
||||
0xe9,0xb7,0xe4,0xa4,0x3e,0xda,0x73,0xa1,0xcc,0x86,0x40,0xb8,
|
||||
0xae,0x7d,0x91,0x52,0x40,0xe7,0x1b,0x3d,0x0f,0xeb,0x7a,0x4e,
|
||||
0x0d,0x36,0x0c,0x0d,0xf2,0x00,0xaf,0x08,0x70,0xa5,0x6d,0xa2,
|
||||
0xf5,0x0b,0xc3,0x51,0x70,0x34,0xc6,0x1d,0x16,0x00,0x5c,0xb6,
|
||||
0x65,0x71,0x9e,0x8d,0x47,0x35,0x6d,0xae,0xfa,0x6d,0x91,0x05,
|
||||
0x26,0xfd,0x89,0x45,0x14,0x13,0x90,0x3a,0xd8,0xb4,0x11,0xd1,
|
||||
0xef,0x57,0x63,0x62,0xea,0xc6,0x6c,0x2c,0xf9,0x0b,0x9c,0xa8,
|
||||
0xa1,0x01,0x40,0x46,0x87,0x2e,0xe0,0xdb,0x90,0x6f,0x4b,0x10,
|
||||
0xf2,0x95,0xd1,0x3e,0xdb,0xfd,0x6b,0x0c,0xcc,0x7b,0x73,0x5f,
|
||||
0x2c,0x98,0x8e,0xb0,0x35,0x7c,0xaa,0x99,0x72,0xf9,0x3d,0x64,
|
||||
0xc4,0x8f,0x09,0x5f,0xbc,0xeb,0x02,0xb2,0x22,0xff,0x08,0xf8,
|
||||
0x8a,0xa3,0x0d,0x0e,0xa0,0xb6,0xec,0x89,0x36,0xbf,0x8d,0x8e,
|
||||
0x0f,0xcd,0x3a,0x76,0xd5,0x19,0xe3,0xa8,0xe6,0x73,0x01,0x47,
|
||||
0x55,0x05,0x09,0xb5,0x51,0xda,0x10,0x4f,0xd9,
|
||||
0x09,0xb5,0x78,0xda,0xb5,0x88,0xee,0x60,0x41,0xb2,0xe3,0xb3,
|
||||
0xd8,0x02,0x2b,0x97,0x98,0x8d,0x55,0xd8,0x5c,0xf5,0xba,0xbc,
|
||||
0x18,0x0b,0x5e,0x12,0xda,0x92,0x6e,0x2d,0xfa,0x34,0xdf,0x23,
|
||||
0xad,0x49,0x21,0x57,0xd5,0xa4,0x7c,0x30,0x48,0x7a,0x30,0x16,
|
||||
0xdb,0x62,0xa3,0x4c,0xaf,0x7b,0x14,0x14,0xa5,0xa2,0x9d,0x5b,
|
||||
0xbb,0xe7,0xce,0x29,0x79,0x65,0x0e,0x26,0x8f,0x89,0xf5,0x2f,
|
||||
0xc9,0x19,0x00,0x8e,0x2d,0x72,0x65,0xda,0xe2,0x01,0x83,0x01,
|
||||
0x6c,0x00,0xd4,0xeb,0xc3,0x3d,0x2a,0xe2,0x5e,0x52,0x7b,0xa2,
|
||||
0xee,0x47,0x20,0xbc,0x99,0x3d,0xa7,0xf9,0xa2,0x53,0x2f,0x6c,
|
||||
0xb8,0x46,0xa2,0x59,0xc5,0xab,0x72,0xf2,0x3b,0xf2,0xee,0x5f,
|
||||
0x1b,0xe6,0xa5,0x89,0x9a,0x95,0x38,0x9e,0x5e,0x33,0xea,0x45,
|
||||
0xaa,0x13,0x97,0x7e,0x3b,0x33,0x1a,0x41,0x81,0xb9,0x12,0x8d,
|
||||
0x36,0xb9,0x47,0xb8,0x1b,0xb8,0x85,0x56,0x9c,0x9a,0xc0,0x4c,
|
||||
0x64,0x7e,0x39,0xdf,0x67,0x6b,0x4f,0x6e,0x99,0x85,0x43,0x82,
|
||||
0x1d,0x2c,0x59,0xf1,0x59,0x82,0x9b,0xfa,0x8b,0x15,0x11,0x59,
|
||||
0x20,0x51,0x65,0x32,0x81,0xc4,0x86,0xe4,0x5e,0x81,0xac,0xc8,
|
||||
0x0b,0x29,0x14,0xdc,0xa6,0x25,0x04,0x61,0x87,0x5f,0x95,0x82,
|
||||
0xa2,0xc4,0x1d,0x18,0x56,0x44,0x35,0xb2,0xf0,0x1d,0xd4,0x91,
|
||||
0xa6,0x90,0x2b,0x4d,0x03,0x10,0xf9,0x49,0xe9,0x72,0xe8,0x5a,
|
||||
0xfa,0x61,0xc5,0x85,0x33,0xf4,0xb1,0x96,0xc3,0x07,0x8b,0xb5,
|
||||
0x5c,0x33,0xe5,0xab,0xc3,0x5a,0x02,0x59,0x68,0xe9,0x97,0x66,
|
||||
0x69,0x78,0x40,0xbe,0x23,0xcd,0x16,0xc3,0x86,0x98,0x10,0xf8,
|
||||
0x95,0x83,0x8e,0x7c,0xc8,0xe6,0xc7,0xf1,0x1f,0x61,0xa8,0x99,
|
||||
0xc9,0xd2,0xe9,0x6b,0x2f,0x31,0x1d,0x44,0xd1,0x8b,0x64,0xef,
|
||||
0x05,0xee,0x6c,0x20,0x0c,0xee,0x33,0x3c,0x1e,0xdb,0xb8,0x8e,
|
||||
0x4a,0x00,0x33,0x0d,0x65,0x2b,0x66,0x1c,0xee,0x60,0x01,0xc7,
|
||||
0xd5,0x9e,0xaa,0xd9,0x2c,0xb9,0x76,0x12,0x8f,0x4a,0x66,0x78,
|
||||
0x84,0xb3,0xf5,0xaf,0xe3,0xfd,0xb2,0x90,0x18,0x50,0x9c,0x99,
|
||||
0xbd,0x6b,0x2a,0x65,0xa8,0x9e,0xcc,0x8b,0x85,0xce,0xa0,0x54,
|
||||
0x70,0xae,0x19,0xad,0xb1,0xef,0xc2,0x5b,0xa7,0x96,0x95,0x12,
|
||||
0xa8,0x30,0x8b,0x15,0xc3,0x21,0x4d,0x57,0x88,0xfd,0x58,0x76,
|
||||
0x6a,0x62,0xcf,0x15,0x39,0x09,0x5f,0x47,0x32,0x03,0xe6,0x38,
|
||||
0xad,0x1a,0x4e,0xfd,0x1b,0x12,0xe8,0x2b,0x5d,0x29,0xc1,0x61,
|
||||
0xaa,0x7e,0x85,0x20,0xad,0x10,0xfa,0x62,0x8e,0x4a,0xed,0x62,
|
||||
0x74,0x3e,0xd1,0xbd,0xdf,0xbe,0x24,0x15,0x24,0xf1,0xbe,0x61,
|
||||
0xe0,0x8a,0x09,0x7c,0x24,0x78,0xee,0x31,0x96,0x36,0xdf,0xa0,
|
||||
0x53,0xab,0x0c,0x25,0x50,0x9f,0x70,0x80,0x43,0x80,0x58,0x8a,
|
||||
0x17,0xb0,0x1f,0x25,0x3a,0x37,0xd0,0xd5,0xa0,0xfd,0x5c,0x8b,
|
||||
0x41,0x69,0x79,0x63,0x7c,0x63,0xc9,0xa6,0x51,0x6a,0xe4,0x01,
|
||||
0x8c,0x7e,0x65,0xe1,0x3c,0x37,0xc7,0x14,0x28,0x49,0x89,0x89,
|
||||
0xeb,0x8e,0x8e,0xd4,0x2a,0x96,0x6e,0x25,0x00,0x82,0x1d,0x9b,
|
||||
0xcc,0xdc,0x5a,0xad,0x66,0xa8,0xa1,0xbc,0xaa,0x80,0x63,0xe0,
|
||||
0x69,0x28,0x42,0x16,0xc2,0xbc,0xca,0xae,0xa3,0xec,0xab,0xca,
|
||||
0xf2,0x65,0xe8,0x70,0x44,0x6a,0x37,0x64,0xeb,0xe5,0x6a,0x94,
|
||||
0x0f,0x76,0x80,0x63,0x73,0x5e,0x61,0xb8,0xf6,0xc7,0x1b,0x05,
|
||||
0x77,0xcc,0x20,0xc2,0x80,0x63,0x5e,0x68,0xe4,0x0e,0x33,0xf5,
|
||||
0x03,0x06,0x5f,0x04,0xaf,0x1a,0x08,0xd7,0x57,0x3b,0x59,0xbb,
|
||||
0x05,0xc7,0x9b,0xf0,0x99,0x7c,0x37,0x43,0xb6,0x0f,0xac,0x17,
|
||||
0x34,0x99,0xc9,0xa3,0x62,0x86,0x70,0xd0,0x35,0x33,0x56,0xec,
|
||||
0xa8,0x8f,0xd6,0x6c,0x56,0xef,0xca,0x08,0x72,0xca,0x31,0x18,
|
||||
0xa8,0x6d,0x1d,0x7c,0x1c,0xee,0x71,0x00,0x46,0x13,0x88,0x64,
|
||||
0x18,0x26,0x33,0x4f,0x4f,0x93,0xd8,0xbd,0x21,0xe3,0x55,0x2d,
|
||||
0x79,0x9a,0x83,0xf6,0xe7,0x63,0x9b,0x87,0xbd,0xc6,0xa8,0x64,
|
||||
0xec,0x8b,0xb7,0x34,0x4f,0xa5,0xe7,0x2a,0x91,0x98,0x50,0x18,
|
||||
0x75,0xbe,0x20,0x5f,0x15,0x4d,0xd6,0x8a,0x43,0xc4,0xf4,0x1f,
|
||||
0x41,0x34,0xa8,0xf0,0x21,0xa1,0x6d,0xfd,0x8b,0xf5,0xa0,0xee,
|
||||
0x27,0x1a,0x6d,0xb0,0xcb,0xf9,0x11,0x16,0x87,0x5d,0xf1,0xa6,
|
||||
0x64,0xe1,0xae,0x68,0x1c,0xd1,0x90,0xf4,0xda,0xc5,0x9f,0x38,
|
||||
0xbc,0x06,0xd0,0x5f,0x1c,0x0c,0xfa,0x52,0xa4,0xa8,0x59,0xb8,
|
||||
0x9b,0xf2,0x0b,0x26,0x6c,0xdf,0x25,0x54,0x8c,0x78,0x02,0x1e,
|
||||
0x4f,0xff,0x77,0x61,0xc3,0xcb,0x96,0xac,0xb2,0x7e,0xb2,0xba,
|
||||
0x3b,0x46,0x56,0xe6,0x6d,0xce,0x8e,0x52,0x30,0x54,0x95,0x9f,
|
||||
0xb4,0x37,0xd8,0x7e,0x28,0x29,0x3b,0x50,0x75,0x40,0xfa,0x5b,
|
||||
0x1e,0xae,0xee,0x7c,0x31,0x90,0x01,0x4e,0x6a,0xfa,0x0e,0x44,
|
||||
0x42,0x11,0xa4,0xb9,0x6a,0xcf,0x36,0x60,0x9d,0xac,0xa6,0x15,
|
||||
0x4c,0x60,0x77,0xee,0x82,0x55,0x20,0x92,0x66,0xd8,0x57,0xe0,
|
||||
0xa9,0xc6,0x8a,0x4a,0x31,0x2b,0x94,0x61,0x30,0x44,0x51,0x63,
|
||||
0xcb,0x8f,0x62,0x9c,0x01,0x48,0xb8,0x1d,0x92,0x45,0x76,0x96,
|
||||
0xb0,0xf7,0xd4,0xd6,0x81,0x46,0x6f,0xab,0xc1,0x40,0xc8,0x74,
|
||||
0x00,0xbf,0x38,0xe8,0xe0,0x7b,0xad,0x25,0xe0,0x2b,0x45,0x15,
|
||||
0xc8,0x96,0x60,0x1b,0xd8,0xed,0xe2,0x5a,0x0c,0x41,0xf3,0x0a,
|
||||
0x2c,0x57,0x57,0x55,0x50,0x2e,0x91,0x34,0x0c,0xa1,0x4a,0x70,
|
||||
0x18,0xc3,0xa2,0x0f,0x3d,0x46,0xbc,0x0b,0xa7,0xfc,0xd3,0x7d,
|
||||
0x23,0x09,0x85,0x5b,0x29,0xe7,0xed,0x5a,0x20,0x0e,0x85,0x91,
|
||||
0xa5,0x3a,0x4c,0x18,0xa6,0x35,0xd4,0xd3,0x98,
|
||||
};
|
||||
static const byte FALCON512_sig[] = {
|
||||
0x39,0xf9,0x52,0x91,0x34,0x81,0x6f,0x8a,0xd6,0x02,0x62,0x7b,
|
||||
0x16,0xa3,0x0f,0x19,0xee,0x36,0x30,0x9a,0xe3,0xbd,0x02,0xf7,
|
||||
0x12,0x4c,0x04,0xb7,0x45,0x2b,0x55,0x65,0xb8,0x7a,0x24,0xca,
|
||||
0x5b,0xb7,0xde,0xe1,0x86,0x89,0x69,0x90,0xb6,0x12,0x34,0xe2,
|
||||
0xe2,0x62,0x6d,0x00,0x7a,0x2e,0x75,0x86,0xb6,0x98,0x37,0x69,
|
||||
0x44,0x58,0xb7,0xab,0xf4,0xa9,0xd6,0x38,0x6f,0x92,0x7e,0x6c,
|
||||
0x0d,0xcc,0x9c,0x20,0x25,0x45,0x84,0xc5,0x34,0x97,0x94,0xd5,
|
||||
0xb6,0xa5,0xf4,0x1e,0xac,0x41,0x6b,0xad,0xe4,0x13,0x47,0x01,
|
||||
0x42,0x86,0xd1,0x50,0xf7,0x09,0x41,0x75,0x69,0x90,0xaf,0xde,
|
||||
0xd7,0x6b,0xeb,0xd0,0x75,0x77,0x78,0x5a,0xfc,0xb9,0xe3,0xa4,
|
||||
0x7b,0x6a,0x28,0x67,0x1e,0x56,0xca,0x97,0x71,0x06,0x92,0x1a,
|
||||
0x5d,0x3e,0x42,0xa7,0x63,0xef,0x2f,0xc6,0x40,0xf1,0x6b,0xb1,
|
||||
0x1a,0x14,0x2d,0x72,0xac,0x37,0x50,0x05,0xad,0xc1,0xc1,0x74,
|
||||
0x44,0xc6,0xa7,0xe9,0x62,0x13,0xa2,0x03,0x02,0x67,0x52,0x08,
|
||||
0x9c,0x9d,0x65,0xb4,0x4b,0x05,0xe4,0xd3,0x43,0x3a,0x91,0x66,
|
||||
0xf7,0x29,0x13,0x4a,0xfd,0x94,0x8c,0xfa,0x84,0xeb,0xe5,0xd2,
|
||||
0xd8,0x71,0x91,0x42,0xd9,0xf7,0xae,0x1d,0x88,0x70,0x74,0x33,
|
||||
0xca,0xae,0xda,0x15,0xc1,0xb7,0xeb,0x11,0x5d,0x39,0x5e,0xc3,
|
||||
0x76,0x9c,0x3a,0x52,0x1b,0x19,0xe3,0x70,0xdb,0xd2,0x3e,0xe0,
|
||||
0x47,0x4d,0x74,0x33,0xa5,0xc3,0x5d,0xfc,0x76,0x34,0x2b,0x13,
|
||||
0x50,0xe6,0x9d,0xb8,0xae,0x44,0x23,0x42,0x95,0x27,0xaf,0x48,
|
||||
0x9b,0x15,0x11,0x8e,0x13,0xeb,0x36,0xe5,0xe0,0x3d,0xff,0x16,
|
||||
0x47,0x51,0x20,0xf1,0x4e,0x9a,0x2a,0x22,0x01,0xbd,0xf1,0x40,
|
||||
0x66,0x74,0xd6,0x52,0x33,0x05,0xb3,0xfe,0xd0,0x5c,0xb7,0x85,
|
||||
0xc1,0xfb,0x20,0x1e,0x84,0xa2,0x6b,0xcf,0x9b,0xcc,0x8e,0x13,
|
||||
0x4d,0xa9,0x44,0x92,0x06,0x9c,0x9b,0x3c,0xf3,0x83,0x19,0x58,
|
||||
0xab,0xe5,0x16,0x4f,0xe2,0x41,0x42,0xd9,0xbc,0xf5,0xa3,0x3b,
|
||||
0x4e,0x9a,0x5d,0xaf,0x77,0x5d,0xcf,0x9f,0xd2,0x47,0x8c,0x75,
|
||||
0xb6,0x3d,0x84,0x68,0x36,0xe5,0x15,0x33,0x4c,0xab,0x5a,0x07,
|
||||
0xa3,0x93,0x6d,0x51,0xc8,0x29,0xc9,0xe1,0xa5,0x57,0x44,0x9a,
|
||||
0x99,0xab,0x6c,0x5b,0x6e,0xa3,0x26,0xcb,0xea,0xe1,0x0a,0x4a,
|
||||
0x40,0xb3,0x69,0xbb,0xd6,0xc2,0xcd,0x64,0x35,0x08,0xe9,0x92,
|
||||
0x61,0x67,0x9f,0x2f,0xc5,0x28,0xc2,0xa0,0x04,0xc9,0xd7,0xf8,
|
||||
0xd2,0x2b,0x50,0xd6,0x9b,0xf7,0xae,0xf3,0x67,0xd4,0x6a,0x4f,
|
||||
0x89,0xb4,0x70,0x23,0xe4,0x19,0x97,0x5d,0x86,0xc6,0x2b,0x8f,
|
||||
0x58,0xd8,0xd6,0x3d,0x59,0x39,0x86,0xa1,0x28,0xc4,0x2b,0xae,
|
||||
0xf2,0x6d,0x0d,0x76,0x25,0xdc,0x55,0x06,0x73,0x9a,0x27,0xf5,
|
||||
0x34,0x7f,0xcf,0x9a,0x7a,0xfd,0x1e,0xa5,0xb9,0x66,0x8c,0x9e,
|
||||
0x78,0x8f,0x9e,0x64,0xcf,0xc8,0xf7,0x73,0x12,0x8a,0x82,0xb3,
|
||||
0x67,0x03,0xd9,0x1d,0x71,0x63,0x3c,0x5f,0x5e,0x9b,0x2f,0xaf,
|
||||
0xa1,0x41,0x95,0x47,0x0f,0xff,0x18,0x3e,0xd1,0x09,0x2f,0x23,
|
||||
0x4e,0x8f,0x4d,0x9b,0xa7,0xe4,0xad,0x47,0xf5,0x17,0xbf,0x86,
|
||||
0x89,0xd2,0x50,0x6a,0x87,0xdd,0x9e,0xfe,0xf4,0xd0,0xd1,0xa0,
|
||||
0xcf,0x4f,0x21,0x8c,0x41,0xc5,0xd1,0xa8,0x35,0x9a,0xbe,0xab,
|
||||
0x95,0x8d,0x5d,0x6d,0x2f,0xbc,0x78,0x8c,0x41,0xee,0xac,0x0c,
|
||||
0x01,0x48,0x7e,0xd2,0x35,0xba,0x02,0xcc,0x62,0xf9,0xed,0x39,
|
||||
0x23,0xe2,0x61,0x2d,0xd3,0x61,0x7d,0x43,0x21,0x3a,0x03,0x9c,
|
||||
0x4b,0x78,0x08,0x2b,0x31,0x5b,0xe8,0xdb,0x4d,0xcb,0xb8,0x8c,
|
||||
0x54,0xa1,0x58,0xf8,0x2f,0x15,0x64,0x71,0xcc,0x5f,0x41,0x61,
|
||||
0xd7,0x44,0xb0,0xfb,0x46,0xa8,0xfd,0xe4,0xfc,0xad,0x0c,0x0f,
|
||||
0xef,0xa8,0x6e,0xb4,0x97,0xfc,0xc2,0x82,0x96,0x40,0x0f,0x1d,
|
||||
0xd1,0xdf,0x41,0xe0,0x14,0x8f,0x8c,0x22,0x41,0x03,0x5b,0xe6,
|
||||
0xc8,0x8c,0x71,0xdc,0xf5,0xf6,0xd5,0xa4,0xc3,0x00,0xc3,0x45,
|
||||
0x1e,0x0f,0x15,0x1d,0xc2,0x70,0x76,0x58,0xf3,0x61,0xa7,0x96,
|
||||
0x4b,0x58,0x68,0xa4,0x13,0xbf,
|
||||
0x39,0x47,0xc1,0x48,0x7c,0x58,0xb7,0x4a,0xa4,0x23,0x4d,0x62,
|
||||
0xd4,0xa1,0x12,0x1a,0x92,0x3c,0x3f,0xe9,0x14,0x60,0xc4,0x20,
|
||||
0x0d,0xdc,0x8d,0xdb,0xf1,0x60,0xb2,0x70,0x31,0x2f,0x3c,0x0d,
|
||||
0x45,0x8b,0x53,0x55,0x91,0x51,0x89,0xc4,0xc8,0x61,0x82,0xe0,
|
||||
0xe0,0xe8,0x28,0x62,0xf8,0xb4,0x50,0xbe,0xef,0x4c,0xe9,0x0f,
|
||||
0x60,0xe7,0x04,0x1c,0x68,0xcc,0x27,0x60,0xdf,0x70,0x58,0xc7,
|
||||
0x0f,0xc0,0xd0,0x61,0xa3,0xae,0x1b,0x2b,0x3a,0x98,0xa3,0xcf,
|
||||
0xa5,0x5e,0x59,0x5a,0x8f,0x18,0x83,0x87,0xc5,0x65,0x69,0x7b,
|
||||
0x2d,0xfc,0x7a,0x0b,0x1b,0x53,0x16,0xc9,0x1c,0xe1,0xb6,0xf4,
|
||||
0x93,0x08,0x56,0xf3,0xed,0x3a,0x9c,0xd1,0x27,0xfb,0xee,0x1e,
|
||||
0x44,0xd5,0x35,0xf5,0x6e,0x17,0xcf,0xb2,0xdd,0x99,0x93,0xaa,
|
||||
0xc4,0x52,0x6e,0x98,0x6a,0x0b,0x49,0x3f,0x7f,0xb4,0xdc,0x52,
|
||||
0x04,0x45,0x9b,0xa6,0x80,0x97,0x26,0x26,0x55,0x8c,0x94,0xd9,
|
||||
0x46,0x34,0xe0,0xac,0xf4,0xbe,0xa2,0xf0,0xc2,0x35,0x19,0xc9,
|
||||
0x7e,0x4e,0x34,0x63,0x2c,0x71,0x48,0x7a,0xad,0x8c,0xe1,0xa2,
|
||||
0xb2,0x78,0x5c,0x05,0xa5,0x8e,0x66,0x8d,0x4a,0x9e,0x89,0x5b,
|
||||
0xe3,0x4b,0x66,0xb5,0x5b,0xd0,0x35,0x13,0x47,0x0e,0x55,0x54,
|
||||
0xea,0xba,0x5f,0xf1,0x61,0x83,0xab,0x05,0x38,0xbd,0xb8,0xdf,
|
||||
0x5b,0x9d,0x4b,0x50,0xac,0x6f,0xd4,0x62,0x6c,0x81,0x5b,0x22,
|
||||
0xca,0x15,0x16,0x83,0x4e,0x8d,0xc6,0x7f,0x6a,0x5e,0x96,0x92,
|
||||
0x87,0x9a,0x95,0x8f,0xb5,0xb2,0x2b,0xd8,0xb9,0xbf,0x0e,0x6f,
|
||||
0x89,0x68,0x3d,0xdd,0xb6,0x65,0x21,0xd6,0x79,0x98,0x66,0xdf,
|
||||
0x5f,0x0a,0x4d,0x39,0x3d,0x6a,0x45,0xe2,0x07,0x50,0xe4,0x4d,
|
||||
0x1c,0x09,0x2e,0x18,0xcc,0x2b,0x2d,0x45,0x22,0x26,0xc1,0x1d,
|
||||
0x2d,0x84,0x85,0x03,0x79,0xef,0x7a,0xde,0x7f,0x3a,0x0e,0x2d,
|
||||
0x94,0x33,0x06,0x93,0x68,0xca,0x7c,0x3c,0x8f,0x5e,0x3a,0x5d,
|
||||
0x96,0x5f,0x2b,0x12,0x35,0xed,0xd3,0x2c,0xf8,0x69,0xe0,0xf3,
|
||||
0x64,0xb7,0x2d,0xa9,0x2f,0x31,0x23,0x1a,0xd0,0xa2,0x7b,0x88,
|
||||
0xa5,0x52,0x36,0x40,0x48,0xf5,0x35,0x05,0x52,0x61,0x0c,0x5d,
|
||||
0xeb,0x05,0x8b,0x52,0x2c,0x34,0xa6,0x3e,0x1e,0xaf,0x7f,0xf7,
|
||||
0xd8,0xca,0x68,0xc0,0x13,0xf7,0x76,0x9d,0xc1,0x20,0x3c,0xe8,
|
||||
0xc4,0x87,0xd7,0xe8,0x78,0xfb,0x79,0xc4,0x9a,0xa0,0x48,0xcd,
|
||||
0x7c,0xd2,0x6c,0xa8,0x2b,0x72,0xb3,0x52,0x82,0x3f,0xb8,0x93,
|
||||
0x41,0x0f,0xf0,0xeb,0x25,0x94,0x6b,0xb4,0x56,0xd9,0x6d,0x90,
|
||||
0x62,0x4e,0x4a,0x77,0x6f,0xe4,0x37,0xb5,0x27,0x7d,0x06,0x5b,
|
||||
0x65,0x78,0xd4,0x34,0x86,0xb3,0x11,0x81,0x13,0x31,0x42,0x03,
|
||||
0x98,0x8d,0xfd,0x53,0xcc,0x23,0x1b,0x76,0xda,0x3f,0xcf,0x8e,
|
||||
0x6a,0x0e,0xc6,0xae,0x8e,0x1a,0xcc,0xe2,0xe2,0xd2,0x65,0x63,
|
||||
0xa5,0xbf,0xc9,0xf1,0xb1,0x7f,0xff,0x86,0x5b,0x25,0x7c,0xae,
|
||||
0x88,0x3b,0x4a,0x77,0xd0,0xca,0xf6,0xc7,0xa7,0x42,0xca,0x8a,
|
||||
0x47,0x8d,0x41,0xa7,0x71,0x59,0x5c,0xb1,0x9a,0x8d,0x6a,0xdb,
|
||||
0xbd,0x22,0x3c,0x60,0x0c,0xc0,0x96,0xf9,0x0f,0x6e,0xd3,0xf3,
|
||||
0x50,0x28,0xc9,0x11,0x55,0x84,0xa4,0x0d,0xec,0xc9,0xa6,0x42,
|
||||
0x1c,0xbc,0x75,0xde,0x79,0x20,0xc2,0x3e,0xb0,0x6e,0xb4,0x25,
|
||||
0x8a,0xf1,0x66,0x50,0x22,0x00,0x23,0x01,0x8b,0xa7,0xe1,0xb2,
|
||||
0x8a,0x82,0xc7,0xbb,0x93,0xb8,0x4b,0xaa,0x8b,0x18,0xa5,0xa8,
|
||||
0x34,0xc7,0xb7,0xaf,0xcf,0x26,0xc4,0xa6,0x38,0xb5,0xec,0x9d,
|
||||
0xc7,0x10,0xad,0xf1,0x57,0x8e,0x84,0x8e,0x4a,0xcc,0x4a,0x51,
|
||||
0xfd,0xa3,0x0e,0x86,0x51,0xeb,0xd6,0x18,0x72,0xa7,0xf4,0xac,
|
||||
0x26,0xc9,0xd7,0x73,0x2a,0x8d,0x22,0x4d,0x82,0x2f,0x83,0x33,
|
||||
0x28,0x29,0x99,0xcf,0x77,0x52,0x37,0x8a,0x23,0xe8,0x47,0xc5,
|
||||
0xd4,0xa4,0x19,0xc9,0xc4,0x1e,0x16,0xac,0x66,0xb5,0x7f,0x06,
|
||||
0xd2,0x0a,0xaa,0x78,0x52,0xb9,0x00,0xed,0xf3,0xca,0xf6,0x13,
|
||||
0xbb,0x29,0x62,0x4a,0x1d,0x0f,0x36,0x47,0x28,0x88,0xfd,0x5b,
|
||||
0xb6,0x81,0xfc,0xfb,0x95,0x7e,0xe5,0x8a,
|
||||
};
|
||||
#define FALCON512_SIGLEN 654
|
||||
#define FALCON512_SIGLEN 656
|
||||
|
||||
/* msg="wolfSSL FN-DSA differential KAT" */
|
||||
/* msg="wolfSSL Falcon differential KAT" */
|
||||
static const byte FALCON1024_pk[] = {
|
||||
0x0a,0x19,0x74,0x2e,0x24,0x91,0x1a,0xb4,0x48,0x34,0x71,0xc7,
|
||||
0xf4,0xad,0x90,0x41,0xea,0x21,0xf9,0xf9,0x1e,0xc5,0x86,0xc5,
|
||||
0x15,0xfa,0x7b,0x5c,0xe5,0x8f,0x72,0x3f,0x76,0xcc,0x44,0xe1,
|
||||
0x67,0x9a,0x9c,0xf8,0x94,0xec,0xa4,0x14,0xf8,0x32,0x10,0xc9,
|
||||
0x94,0x0a,0x60,0x71,0x91,0x80,0x75,0x51,0x1f,0x9b,0x65,0xcb,
|
||||
0x58,0x44,0x1c,0x46,0x22,0x95,0x3d,0x09,0xbd,0x1a,0xa2,0xa7,
|
||||
0xd8,0x13,0x64,0x87,0xa7,0x3a,0x66,0xcd,0x9c,0x34,0xf6,0xd0,
|
||||
0xc0,0x01,0x75,0x8d,0xf3,0xe6,0x53,0xbb,0x7d,0x85,0xc9,0x72,
|
||||
0x3a,0xe6,0xa6,0x19,0xdc,0xdd,0xd1,0xfc,0x2f,0xa7,0x11,0xc9,
|
||||
0xdf,0xfb,0x35,0x99,0x20,0xa9,0x32,0x53,0xf9,0xa7,0x20,0xcd,
|
||||
0x1b,0x58,0x7f,0x86,0xdc,0xc2,0xcf,0x7b,0x89,0x26,0x60,0x48,
|
||||
0x25,0xfc,0x1f,0xaa,0x9e,0x16,0x84,0x20,0x3e,0x92,0xe2,0xda,
|
||||
0xa3,0xe8,0xe0,0xf1,0x17,0xf2,0xa2,0xc5,0xde,0x5b,0xb5,0x5c,
|
||||
0x20,0x38,0x19,0x65,0xd5,0x98,0x62,0xdc,0xfa,0x05,0x62,0x0d,
|
||||
0x85,0x2d,0x49,0xca,0x14,0xa7,0x62,0xde,0x0c,0x80,0xce,0xf1,
|
||||
0x55,0x08,0x68,0xaa,0xcc,0x90,0xd7,0x52,0xe9,0xf3,0x05,0x8e,
|
||||
0x25,0x56,0xb4,0x65,0xd3,0x73,0x4e,0x2d,0xf1,0x6d,0x47,0x94,
|
||||
0x63,0xf5,0x1c,0x75,0xd2,0x4c,0x15,0x30,0x0d,0x1d,0x46,0x66,
|
||||
0xa3,0x99,0xb1,0x66,0xf1,0xd5,0x1d,0x5d,0x9e,0x50,0x24,0xf1,
|
||||
0xdb,0x56,0x4f,0x18,0x2b,0x86,0xf0,0x49,0x1c,0xaf,0xf5,0xbb,
|
||||
0x02,0x0a,0xf0,0x27,0x5b,0xaa,0x8f,0xa2,0x87,0x68,0x72,0x56,
|
||||
0xaf,0x39,0x48,0x9c,0x9b,0x15,0x59,0x0d,0x06,0xb6,0xdc,0x9b,
|
||||
0x7a,0x00,0xff,0xaa,0x15,0xce,0xd6,0x2c,0xeb,0xaf,0x9a,0x45,
|
||||
0x58,0x16,0xb4,0xa3,0x2f,0x37,0xae,0xce,0xb7,0x49,0x59,0x82,
|
||||
0x1f,0x04,0x84,0x05,0x11,0xc9,0x91,0x56,0x3a,0xda,0x42,0x00,
|
||||
0xe9,0xd4,0xbc,0x40,0x50,0xd7,0x68,0x2d,0xbb,0x8b,0xda,0x14,
|
||||
0xf2,0x93,0xec,0x5c,0xb2,0xc6,0x2f,0x8a,0x5f,0xd5,0x3c,0x29,
|
||||
0x92,0x73,0xc7,0x76,0xce,0xa9,0x31,0xd8,0x83,0x2b,0xad,0xae,
|
||||
0xc5,0x75,0x2e,0x88,0x72,0x4e,0x91,0x9b,0x57,0xb1,0x77,0xa7,
|
||||
0xda,0x8b,0x51,0x60,0xc2,0xc6,0x02,0x04,0x43,0xdb,0x2a,0xd9,
|
||||
0x9b,0x67,0xab,0xa2,0xb0,0x30,0xd1,0x5c,0x97,0xf7,0x07,0x0d,
|
||||
0x6d,0x4e,0xd4,0x50,0xfe,0xe3,0xa1,0x2c,0xb4,0x3b,0xd9,0xd4,
|
||||
0x11,0x75,0x82,0xa5,0xa6,0xa9,0x72,0x04,0x35,0x54,0x89,0x1c,
|
||||
0x21,0xb1,0xe4,0xa6,0x97,0x8e,0xfb,0x65,0x3b,0xed,0x54,0x8d,
|
||||
0x21,0x84,0x55,0xcd,0xea,0xb1,0x22,0xbe,0x9a,0xb6,0xff,0xa2,
|
||||
0x09,0x19,0xcc,0x0d,0x9b,0x92,0x9e,0x08,0x54,0x6c,0x1d,0x57,
|
||||
0x27,0x1b,0xbb,0x00,0xcd,0x5e,0x9a,0x9d,0xc8,0x73,0xbf,0xf0,
|
||||
0xa0,0x08,0x9b,0x5f,0xe2,0x97,0x86,0x4e,0xc9,0x81,0x2b,0x26,
|
||||
0x2f,0xe4,0x8b,0x12,0x0a,0x86,0x84,0xa8,0xd1,0xf6,0xa2,0x28,
|
||||
0x2d,0x70,0x9c,0xca,0xe2,0x98,0xc8,0x59,0x2d,0x5b,0xd5,0x21,
|
||||
0xd0,0x52,0x69,0x9e,0x0f,0xa2,0x89,0xea,0xd0,0xdf,0x18,0x4b,
|
||||
0x2a,0x11,0x06,0xcf,0x08,0x12,0x6f,0x00,0x5c,0xe3,0xd9,0x8c,
|
||||
0x70,0x9c,0x29,0x9b,0x82,0x88,0x9e,0x39,0x66,0x84,0xd9,0x84,
|
||||
0x98,0xa9,0xa4,0x4c,0x4c,0x5b,0x2a,0xbc,0xc1,0xe9,0x82,0x6a,
|
||||
0xc6,0xe7,0xfe,0xd4,0x91,0x9b,0x5e,0x7f,0xe4,0xd8,0x95,0xe0,
|
||||
0x4b,0xcc,0x6b,0xe7,0x93,0xd6,0x86,0x66,0xdc,0x81,0x20,0xb3,
|
||||
0x1d,0x54,0x2d,0xb8,0x9d,0x26,0x90,0x4c,0x1e,0x01,0xbe,0xef,
|
||||
0x81,0xfa,0x67,0x90,0x9c,0x1d,0x58,0x38,0x38,0xdf,0xef,0xb3,
|
||||
0xfe,0xd8,0x81,0xbb,0x80,0xc3,0x44,0x30,0xa0,0x36,0xff,0xd0,
|
||||
0x76,0x75,0xd2,0x7e,0x78,0x54,0x17,0xb6,0x1d,0x81,0x0d,0x27,
|
||||
0x94,0xd5,0x5d,0x15,0xf4,0x07,0xd5,0x69,0xa2,0xb3,0x23,0x8a,
|
||||
0x80,0xaa,0xe3,0xc2,0x11,0x03,0x39,0x11,0x14,0x92,0x8c,0x34,
|
||||
0x67,0x24,0x5d,0x06,0x02,0x5a,0x1a,0x73,0x9d,0x34,0x00,0x72,
|
||||
0x8d,0x03,0x49,0x0c,0x3a,0x90,0x98,0x55,0xdf,0xab,0x09,0x88,
|
||||
0x62,0xe8,0x63,0x4c,0x69,0x58,0xca,0x8b,0x47,0x4b,0x62,0xa2,
|
||||
0x65,0xdb,0x87,0x08,0x46,0xc9,0x84,0x34,0x6c,0x38,0xe7,0x60,
|
||||
0xec,0x3f,0x25,0x27,0x69,0x63,0x92,0x11,0x9e,0x55,0x9d,0xab,
|
||||
0x51,0x13,0x9a,0x57,0xcc,0x77,0xd1,0xaf,0xdc,0x62,0x06,0xd1,
|
||||
0x50,0xd1,0x83,0xad,0x67,0x25,0x74,0x51,0x47,0x1b,0x48,0x0e,
|
||||
0x2e,0xad,0x01,0x26,0xd7,0x55,0xda,0x13,0xc2,0x3f,0x48,0x0d,
|
||||
0x97,0xa8,0xb3,0xc4,0xe3,0x12,0xe8,0xcd,0xef,0x55,0xf1,0x52,
|
||||
0x0b,0xf4,0x09,0x03,0x38,0xa8,0xa9,0xd7,0x24,0xe2,0xb9,0xbc,
|
||||
0x99,0x5b,0x96,0x5d,0x1d,0x0b,0x89,0x64,0x19,0x75,0xa5,0xee,
|
||||
0xd6,0x09,0xcd,0x3a,0xb3,0x80,0xa6,0x44,0xab,0x30,0x73,0x90,
|
||||
0x8e,0x90,0x13,0x29,0xe9,0xf6,0x6a,0xd0,0x83,0xf4,0x33,0x22,
|
||||
0xc7,0x7a,0xf7,0xe1,0xcf,0x68,0xda,0x04,0x74,0x37,0x62,0x99,
|
||||
0x5a,0x06,0x04,0xa7,0x9c,0x5c,0xe4,0x0d,0x71,0xad,0xc2,0x52,
|
||||
0x94,0xe4,0x81,0xc0,0x66,0x33,0xb5,0x56,0x69,0x9c,0x8a,0x5a,
|
||||
0x57,0x43,0x4f,0x9e,0xaf,0xb8,0x37,0xea,0xc4,0x54,0x92,0x48,
|
||||
0xed,0xe3,0x4a,0x87,0xce,0x82,0x1a,0xba,0xa9,0x51,0x9d,0xda,
|
||||
0xdd,0x0b,0xa6,0x20,0x73,0x4b,0x2d,0x98,0x2f,0xad,0xa1,0xb0,
|
||||
0x4f,0xae,0xea,0x6d,0xa2,0xfe,0x14,0xcf,0x50,0x46,0xa6,0xaa,
|
||||
0xd5,0x54,0x1d,0xae,0x1b,0x67,0x08,0x24,0x22,0xb2,0x26,0x0a,
|
||||
0x85,0x26,0xbf,0x65,0xeb,0x20,0x48,0xa9,0x1c,0x86,0x45,0xa6,
|
||||
0x9c,0x08,0x35,0x50,0x31,0x76,0xc5,0x84,0x02,0xad,0x2a,0x73,
|
||||
0x93,0x29,0xab,0x6e,0x9e,0xd2,0x9b,0xd2,0x9d,0xa9,0x66,0x8e,
|
||||
0x69,0x9e,0xd9,0xf2,0x4d,0x4a,0x8b,0x0c,0x16,0x60,0x7b,0x85,
|
||||
0xa5,0x1b,0x96,0xab,0xc3,0x74,0x22,0x68,0x34,0x51,0xb6,0xf4,
|
||||
0xea,0x5d,0x31,0x5e,0x81,0x41,0xfa,0x02,0xe0,0x7c,0x71,0xad,
|
||||
0x67,0x40,0xb3,0x24,0x29,0x16,0xf9,0xc4,0xdb,0x18,0x07,0xb2,
|
||||
0x17,0x5e,0x77,0xb9,0x5d,0xaa,0xc6,0xa4,0x54,0x4a,0x86,0xe4,
|
||||
0x8d,0x4d,0x84,0x44,0x53,0x65,0x25,0x04,0x2a,0x0b,0xea,0x47,
|
||||
0xd9,0x05,0x27,0xdc,0x4f,0x1c,0x95,0x28,0x19,0x96,0x41,0x1f,
|
||||
0xe5,0x93,0xf3,0x1b,0x51,0x27,0x46,0x56,0xd6,0xe6,0x4f,0xa3,
|
||||
0xdb,0x7b,0x00,0xc6,0xc3,0x6e,0x2e,0x11,0x01,0x54,0x59,0xf6,
|
||||
0x58,0x48,0xb4,0x6a,0xa9,0x6d,0x39,0x76,0x0f,0x88,0x2c,0xee,
|
||||
0x7f,0x20,0x8c,0xc0,0x56,0x03,0x38,0x6d,0x44,0x58,0x90,0xc0,
|
||||
0x05,0x4a,0x73,0xb2,0xdf,0x45,0xdf,0xbd,0xee,0x65,0x06,0x6a,
|
||||
0x52,0xf3,0x08,0x81,0x9c,0x33,0x40,0xab,0xed,0xa5,0x91,0xee,
|
||||
0x2b,0x75,0x09,0x83,0x9f,0xfa,0xb4,0x6b,0x65,0x12,0xae,0x71,
|
||||
0xf6,0x7b,0x58,0x32,0x6e,0xac,0x54,0x99,0x7e,0xa2,0x92,0x1b,
|
||||
0xa5,0xa0,0xc6,0xd8,0x02,0x1c,0x19,0x61,0xbf,0x79,0x8a,0xf8,
|
||||
0x10,0x20,0x59,0x66,0x34,0xcf,0x43,0xc9,0x04,0x9a,0x00,0xf4,
|
||||
0x2a,0x6b,0x06,0x22,0x2e,0xb2,0x81,0x86,0x04,0x37,0x52,0xef,
|
||||
0x0d,0xde,0xb7,0x99,0x11,0x88,0xa0,0x43,0xbe,0x60,0x98,0x76,
|
||||
0x1d,0xfd,0x13,0x79,0x4e,0xb5,0x1f,0xc3,0xcf,0x7e,0xf8,0xbf,
|
||||
0xe0,0xdd,0x67,0x03,0x76,0x2e,0x83,0xe1,0xb3,0x07,0x88,0x4d,
|
||||
0x9a,0x0c,0xfb,0x97,0x1f,0xd6,0x1f,0xd4,0xe5,0x33,0x88,0x11,
|
||||
0xcd,0x5d,0x02,0x10,0x69,0xb0,0xeb,0xc6,0x8b,0x95,0xa8,0x64,
|
||||
0xba,0x0b,0x32,0x2c,0x06,0xef,0x55,0x21,0x47,0x8a,0x04,0x99,
|
||||
0x56,0x63,0x56,0xce,0xd4,0x7a,0xee,0x8c,0x35,0x34,0xcb,0x63,
|
||||
0x17,0xcd,0xdb,0x49,0xa4,0xcc,0x0d,0x1c,0x46,0xe0,0xb1,0x99,
|
||||
0xe8,0x87,0x24,0x92,0xc1,0x44,0x68,0x45,0x3a,0x4e,0xb8,0x1b,
|
||||
0xd3,0x22,0x45,0xec,0x95,0x1a,0xb6,0x25,0xe1,0x99,0x32,0x85,
|
||||
0xc0,0x12,0x75,0xf5,0xe7,0x06,0x8d,0x2c,0xb9,0x59,0x11,0xe9,
|
||||
0xec,0x87,0x8e,0xb7,0x07,0x47,0x50,0x19,0x31,0x20,0x47,0xe4,
|
||||
0x49,0x94,0x14,0x77,0x82,0x84,0x34,0xe8,0xe0,0xe9,0x4b,0x0e,
|
||||
0x41,0x51,0x60,0xdd,0x0a,0x97,0x14,0xe4,0xd4,0x2e,0x55,0x44,
|
||||
0x29,0x4a,0x20,0x7b,0xbd,0xc2,0xb0,0x23,0x86,0x61,0x94,0x44,
|
||||
0x06,0x1d,0x1b,0xca,0x03,0x21,0x7a,0xd5,0x82,0x31,0x60,0x4e,
|
||||
0x34,0xeb,0x10,0xf9,0x3b,0xdd,0x2b,0xa1,0x47,0xe6,0xb4,0x42,
|
||||
0x85,0xd6,0x70,0x89,0x45,0xf1,0x74,0x38,0x93,0x62,0x6d,0x54,
|
||||
0xa4,0xb9,0x76,0xa6,0xd3,0x4c,0xde,0xbe,0x1c,0x5c,0xa1,0x14,
|
||||
0xf9,0x1c,0x6a,0x10,0x06,0x2a,0xb0,0xd6,0xa9,0x5b,0x67,0x69,
|
||||
0x14,0x05,0x1c,0xe6,0xc7,0xb8,0x56,0xb8,0x10,0x8d,0xe7,0x0a,
|
||||
0x59,0x3e,0xdc,0xb2,0xcd,0x9d,0xfe,0x72,0x1a,0x48,0x43,0x9e,
|
||||
0x4f,0x73,0x98,0x49,0xc7,0x19,0x0c,0xc9,0x4e,0x20,0x44,0x25,
|
||||
0x06,0xed,0x4f,0x50,0x71,0xcd,0x05,0xb0,0x66,0x93,0x60,0x12,
|
||||
0xde,0xa9,0x43,0xdc,0xc3,0xf1,0x59,0x6a,0x60,0x62,0x25,0x25,
|
||||
0xc2,0xab,0xa0,0x25,0xa9,0xda,0x84,0x26,0x40,0x51,0xf6,0x31,
|
||||
0xf9,0xa4,0xf0,0x85,0x21,0x8f,0xaa,0x61,0x17,0x05,0x43,0x82,
|
||||
0xa1,0x88,0x54,0x84,0xd0,0x5e,0x39,0x5d,0xc7,0xce,0x21,0x1d,
|
||||
0x1d,0xed,0x9c,0xe2,0xb5,0x4b,0xd0,0x53,0xf1,0x65,0xe3,0x76,
|
||||
0xd5,0x40,0x8b,0xba,0x69,0xca,0x29,0xa6,0xd2,0xb4,0x02,0x95,
|
||||
0x13,0x6e,0xe7,0x37,0x71,0xe1,0xfb,0x52,0xe5,0x90,0x09,0x79,
|
||||
0x98,0x7d,0xc9,0x9c,0x08,0x87,0x17,0x15,0xfc,0x25,0x66,0x41,
|
||||
0x96,0x75,0xaa,0x0c,0xfb,0x7c,0xa7,0x0b,0xa5,0x95,0xf7,0x68,
|
||||
0xf0,0x48,0xbe,0x92,0x60,0x24,0xe7,0x3d,0xaf,0x9e,0xa2,0xda,
|
||||
0xc1,0xb0,0xd7,0xd7,0xcd,0x50,0xc9,0x65,0xb6,0xb8,0x04,0xef,
|
||||
0x45,0x46,0x0d,0x05,0x0f,0x86,0xe6,0x28,0x74,0x47,0x96,0x6e,
|
||||
0x88,0xe4,0x2b,0xed,0xad,0xd9,0x4b,0x68,0xd8,0x1e,0xbd,0x7f,
|
||||
0x81,0x64,0x42,0x53,0x5a,0x7a,0xd7,0x8b,0x7b,0x8e,0x73,0x68,
|
||||
0x06,0x4b,0x43,0x9e,0x62,0x1f,0x16,0xbc,0x75,0xf0,0x63,0xde,
|
||||
0xa0,0xa9,0x11,0x24,0x55,0xfc,0x44,0x72,0x94,0x91,0xe6,0x64,
|
||||
0x8a,0xaf,0x60,0x85,0xf2,0x2f,0x84,0x04,0x25,0x35,0x01,0xae,
|
||||
0x21,0x90,0x28,0x28,0x7c,0x48,0x5a,0x51,0x0b,0xd0,0xd3,0x2d,
|
||||
0x7d,0x8c,0x1e,0xb1,0x20,0x05,0xe3,0xb3,0x48,0x58,0x30,0x18,
|
||||
0xac,0x59,0xbf,0x30,0x69,0xab,0x4c,0xdb,0xba,0xa6,0x9c,0xa5,
|
||||
0x7b,0xdd,0xd5,0xac,0x3a,0xb5,0xbb,0xc4,0xbd,0x1c,0x86,0x3b,
|
||||
0x68,0xb9,0x8a,0x2a,0x18,0x67,0xa4,0xaa,0x67,0xd5,0x9a,0xc6,
|
||||
0x3c,0x72,0x42,0x00,0x8a,0x31,0xa3,0xee,0x06,0xbd,0x06,0xc9,
|
||||
0xcc,0xd8,0xd3,0xac,0x48,0x26,0x99,0x0d,0x1c,0xe3,0xbb,0xa4,
|
||||
0xb2,0x26,0x1b,0xdd,0x06,0x32,0x3a,0x6a,0x67,0xed,0xce,0x8e,
|
||||
0x24,0x0a,0x69,0xea,0x02,0x61,0xf1,0x00,0x31,0xbd,0x9b,0x22,
|
||||
0x8a,0x82,0x58,0xe6,0x80,0xc2,0x3c,0x20,0x00,0x33,0x90,0xaa,
|
||||
0xf0,0x43,0xcb,0x1f,0x1a,0xf4,0xe8,0xa3,0xdc,0x01,0x37,0x79,
|
||||
0xe1,0xc6,0x05,0x3e,0x8b,0x94,0x2d,0x3a,0x9a,0x39,0xdd,0xce,
|
||||
0xbc,0xbb,0x1c,0xc0,0x63,0xee,0x0d,0x01,0x2c,0x14,0x4d,0xa5,
|
||||
0x7f,0x0c,0x43,0x16,0xc1,0x70,0xa6,0xb5,0x2f,0x3a,0xbb,0xbe,
|
||||
0x57,0xa7,0x95,0x00,0x91,
|
||||
0x0a,0x90,0x5c,0x8e,0x51,0xa9,0x0c,0xeb,0x7a,0x31,0xcc,0xc6,
|
||||
0xa7,0x8e,0x62,0x6f,0x3d,0x94,0x77,0xd5,0x93,0xac,0x25,0xde,
|
||||
0xfb,0xf1,0xe7,0xaf,0x06,0x44,0x90,0xfa,0x64,0x6a,0x97,0xbc,
|
||||
0x79,0x21,0xaf,0x68,0x0f,0x69,0x9b,0x06,0xd6,0x83,0x66,0x69,
|
||||
0x54,0xed,0x99,0xbd,0x61,0x71,0xc7,0x86,0xc4,0x66,0x35,0xe1,
|
||||
0xeb,0xfc,0x84,0x50,0x67,0x10,0xe1,0x22,0xc9,0x60,0x1c,0x82,
|
||||
0x39,0x6e,0x90,0x55,0x68,0xfb,0x0b,0x0c,0x9e,0x15,0xc7,0x97,
|
||||
0x6e,0x11,0xe0,0xdc,0x35,0x74,0xd4,0x5c,0x2a,0x0d,0x7f,0xb5,
|
||||
0xd9,0x50,0xc8,0x1c,0x31,0xed,0x88,0x8a,0x90,0x13,0x10,0xba,
|
||||
0xf7,0x35,0x14,0xc2,0x0b,0x7c,0xb9,0x14,0x77,0x7b,0xe2,0x8e,
|
||||
0x49,0x32,0xbb,0x49,0x7e,0xe6,0x07,0x8d,0x6d,0xbc,0x41,0x21,
|
||||
0xe4,0x66,0x56,0x30,0x56,0x31,0xb3,0xcc,0xdd,0x7f,0xf8,0x4e,
|
||||
0x38,0x3c,0x86,0x30,0x0d,0xe9,0xe8,0x0a,0xb8,0x2f,0xe7,0xaf,
|
||||
0x8a,0x0a,0xc0,0xa9,0x82,0xde,0x7b,0x90,0x76,0x96,0x59,0xee,
|
||||
0xc3,0x93,0xd0,0x93,0x20,0x16,0x9d,0xff,0x39,0x26,0xbc,0x02,
|
||||
0x33,0x84,0x7b,0x73,0x02,0x18,0x38,0xd8,0xc1,0x7b,0x46,0x45,
|
||||
0xe6,0x58,0x67,0x8a,0xf5,0x86,0xd0,0xee,0x96,0x26,0x40,0x49,
|
||||
0xa9,0x1d,0x76,0xc8,0x75,0xa8,0xb5,0x4c,0x1d,0xdf,0xfa,0x42,
|
||||
0x6a,0x82,0x37,0xc5,0xef,0x96,0x82,0xdf,0x43,0x02,0x8a,0x4e,
|
||||
0x7b,0xd9,0xc6,0x73,0x3c,0x2c,0x29,0xe6,0x35,0xd6,0x89,0x8f,
|
||||
0xd5,0xdd,0xa9,0xff,0x85,0x86,0x97,0x6c,0x5b,0x55,0x51,0xd2,
|
||||
0x0c,0x59,0x48,0xb3,0x33,0x33,0x5a,0x34,0x05,0xc0,0xfa,0xca,
|
||||
0x11,0x95,0xa2,0x15,0x11,0xe5,0x70,0xfe,0x91,0x52,0x83,0xb9,
|
||||
0x52,0x41,0x24,0xd2,0x58,0xab,0x04,0x1c,0xf5,0x63,0x80,0x1a,
|
||||
0x12,0x24,0x71,0x39,0x84,0x47,0x92,0x80,0x09,0x64,0x55,0xfe,
|
||||
0x44,0x1f,0x71,0x19,0xf3,0x92,0xb0,0xca,0x7d,0x75,0xb5,0x91,
|
||||
0xab,0x7c,0x8f,0xf6,0x64,0x02,0x89,0xab,0x16,0xa7,0x67,0x3d,
|
||||
0xc5,0xf2,0x46,0x1f,0x04,0xca,0x11,0x65,0x53,0x05,0x5f,0xa1,
|
||||
0x86,0x32,0xa0,0xc8,0xf7,0xf4,0xab,0x04,0x3e,0x01,0xd9,0x50,
|
||||
0xe5,0x5a,0x6a,0x6d,0x66,0xca,0xea,0xa5,0x94,0xd4,0x06,0x1e,
|
||||
0xa5,0xaa,0xd6,0xe6,0xeb,0x95,0xc1,0xab,0x46,0x34,0x82,0xd5,
|
||||
0x71,0x62,0x8f,0x98,0x7c,0xcc,0x20,0x08,0x84,0xde,0x47,0x23,
|
||||
0x97,0x64,0x12,0x11,0x44,0x07,0xc3,0x4a,0x68,0x4d,0x96,0xe6,
|
||||
0x13,0x32,0x17,0x90,0x3c,0x81,0x9e,0x54,0xfd,0x6b,0xda,0x81,
|
||||
0xbe,0xe5,0x29,0xf5,0xc0,0x6d,0x2e,0x05,0x3e,0x56,0x0b,0xa3,
|
||||
0x22,0x67,0xb2,0x1c,0xe6,0xbf,0xd6,0x5b,0x46,0xed,0x75,0x93,
|
||||
0x42,0xc3,0x93,0x70,0x3c,0xc5,0xd5,0x09,0xa4,0xf8,0x7c,0x50,
|
||||
0x43,0xe7,0xe0,0xda,0xdd,0x17,0x8d,0x6e,0xfb,0x1a,0xc9,0x33,
|
||||
0xbc,0xc4,0xd1,0x72,0x00,0x18,0x56,0x3f,0xfa,0xf8,0xb2,0xd9,
|
||||
0x13,0xbd,0x06,0x74,0x17,0x99,0x8b,0xc7,0xa5,0x8a,0x90,0x3f,
|
||||
0x16,0x65,0xa6,0xcf,0x5a,0x0c,0x7f,0x34,0x67,0xe9,0x3a,0x00,
|
||||
0xee,0x2b,0x28,0x98,0x94,0x71,0xb7,0xf5,0x0d,0x9b,0xee,0x19,
|
||||
0xbf,0x55,0x61,0x3b,0xa2,0xb9,0x8d,0xea,0x26,0xad,0x34,0x0b,
|
||||
0xc0,0xdf,0x9c,0x53,0xde,0x16,0x50,0xf9,0x15,0x20,0x23,0xc9,
|
||||
0x8d,0xc3,0xa6,0x28,0x1e,0x67,0x32,0x62,0x80,0x2b,0x66,0xdd,
|
||||
0x8d,0x59,0x37,0xa2,0xf0,0x93,0xda,0x69,0x12,0x53,0x12,0x05,
|
||||
0x9a,0x96,0x40,0x8a,0xc7,0x79,0x1b,0xc8,0xdb,0x84,0x95,0x4a,
|
||||
0x16,0xb3,0xa5,0x3f,0x65,0x16,0x3f,0x19,0x5c,0x4a,0x10,0x2a,
|
||||
0xfd,0x06,0xd0,0xe4,0xdc,0x73,0xa0,0x25,0xed,0x1b,0xcd,0x56,
|
||||
0x8c,0x58,0x2c,0xf1,0x28,0xe9,0xde,0x6c,0x5d,0xb5,0x74,0xd2,
|
||||
0x95,0xac,0xc4,0x86,0x05,0x3a,0xf0,0x98,0xa2,0x36,0x47,0x85,
|
||||
0x1e,0xf3,0x47,0xdf,0x67,0x2a,0xde,0xbe,0xb0,0x50,0xc6,0xb4,
|
||||
0x9e,0x29,0x58,0x18,0xd1,0x9a,0x13,0x29,0x28,0x32,0xa6,0x8f,
|
||||
0xae,0xe1,0x45,0x34,0x3e,0xb0,0x8b,0x5b,0x04,0x45,0x56,0x22,
|
||||
0xc6,0x18,0x2b,0x29,0x01,0xbe,0x63,0xb9,0x4f,0xa2,0x6d,0x9a,
|
||||
0xb4,0xa2,0xb9,0xd7,0xd6,0x49,0x70,0xe9,0x83,0xa2,0xbd,0x5a,
|
||||
0x6c,0x81,0x1e,0x6b,0xc3,0x11,0xa8,0xe1,0x5a,0x6e,0x63,0xc5,
|
||||
0xc2,0xc5,0xd8,0x72,0xfe,0x13,0x93,0xa9,0x16,0xbc,0x15,0x06,
|
||||
0x84,0x2b,0x99,0x2c,0x5b,0x6c,0x61,0x58,0x69,0x29,0x89,0xec,
|
||||
0x0c,0x02,0xeb,0x34,0x3e,0xac,0xc8,0x74,0x22,0x39,0xc6,0x3f,
|
||||
0x94,0xc1,0x23,0x65,0x3f,0xc2,0xa1,0x6c,0x30,0x3b,0x66,0xf4,
|
||||
0xe4,0xd7,0xec,0x92,0x14,0x14,0x27,0x38,0x6e,0x14,0x84,0x43,
|
||||
0x3c,0x1f,0x0b,0x30,0x56,0xb4,0x28,0xf0,0xbd,0x62,0x8c,0x27,
|
||||
0x47,0x24,0x72,0x85,0x19,0x19,0xa5,0x9d,0x18,0x98,0x76,0xfb,
|
||||
0xd6,0x84,0x85,0xae,0x14,0xc5,0xe1,0x32,0x5d,0x66,0x57,0x1a,
|
||||
0xf9,0x27,0x13,0xe3,0x9b,0x0e,0x29,0xfe,0x62,0x00,0xc3,0xae,
|
||||
0x55,0x3c,0x22,0x55,0x9f,0x0e,0x1f,0x0d,0xb1,0x79,0x83,0xd3,
|
||||
0x55,0x9f,0x13,0x9a,0x37,0x38,0xe5,0x54,0x3e,0x79,0x46,0x1c,
|
||||
0x30,0x83,0x85,0x5e,0x71,0x9e,0x33,0x07,0x25,0x4e,0xdd,0x35,
|
||||
0x66,0x37,0xa3,0x16,0xa9,0x8c,0x4b,0x64,0xda,0x06,0x98,0x26,
|
||||
0x21,0x1d,0xf1,0x61,0x76,0x08,0x6e,0xdd,0x39,0xf4,0x9a,0xe6,
|
||||
0x39,0x0c,0xa1,0x04,0xf6,0x71,0x93,0xae,0x9e,0x8b,0x78,0x75,
|
||||
0x23,0xe9,0xcd,0x00,0xdf,0x85,0x7d,0xe0,0x78,0x13,0xc0,0xdd,
|
||||
0x87,0xb5,0x69,0x99,0x2d,0xeb,0x65,0x10,0x3c,0xa6,0x88,0x5b,
|
||||
0x23,0x86,0x75,0x39,0xcc,0xa9,0xe5,0x8b,0x1a,0x48,0xba,0x2a,
|
||||
0x2a,0xe4,0x96,0x15,0x61,0x78,0x91,0x49,0x3f,0x01,0x67,0x7c,
|
||||
0x7c,0x97,0xf6,0x2b,0x26,0xf4,0x13,0x01,0xc0,0x11,0x1f,0xa0,
|
||||
0xb7,0x5b,0x91,0xf9,0xba,0xce,0xc6,0xa1,0x5e,0x16,0xf4,0x85,
|
||||
0xa7,0x53,0x07,0x9b,0xb1,0x46,0x52,0x03,0x8d,0x47,0x80,0x26,
|
||||
0x37,0xb7,0x97,0x8e,0x5c,0x00,0x0a,0x26,0xb6,0x0d,0x94,0x19,
|
||||
0x11,0x2a,0x1d,0x51,0xc9,0x01,0x13,0x43,0xb8,0x4c,0xda,0x7d,
|
||||
0x9a,0xf6,0xb3,0x81,0xfe,0xf5,0x53,0x44,0xac,0x86,0x44,0x9e,
|
||||
0xe4,0x51,0x8d,0x9c,0x95,0x1d,0x67,0xc7,0x42,0xae,0x10,0x27,
|
||||
0x71,0x76,0xa1,0xf7,0x69,0x16,0x2a,0xbd,0x67,0x27,0x27,0xc3,
|
||||
0x60,0x0b,0xc5,0xbd,0xc1,0x45,0x07,0xc1,0x97,0xea,0xd9,0x31,
|
||||
0xd3,0x9f,0x42,0x2e,0x82,0x41,0x61,0xa9,0x5c,0xc0,0x86,0x29,
|
||||
0xe1,0xbb,0x3d,0x2e,0x47,0x6b,0xd4,0x20,0x97,0x3b,0x24,0x6c,
|
||||
0x53,0x74,0xd1,0xa2,0xfb,0x8b,0x6d,0xab,0x1a,0x2d,0xe3,0xb4,
|
||||
0xd5,0x6b,0xbc,0x8e,0x48,0x60,0x03,0x91,0x3f,0x32,0x59,0x7c,
|
||||
0x4b,0xf1,0xd3,0x0b,0x62,0x41,0x78,0x72,0x5c,0x19,0xf2,0xa0,
|
||||
0x1e,0x18,0x9a,0x42,0x26,0xdb,0xa1,0x02,0x42,0xc1,0xab,0xc2,
|
||||
0x1d,0xa1,0xcd,0xe0,0x27,0x65,0x88,0x8b,0xa7,0x98,0x2f,0x64,
|
||||
0x7f,0x4c,0x3a,0xab,0x18,0x24,0xe7,0xae,0x19,0x95,0x99,0x05,
|
||||
0xee,0xa7,0x56,0x22,0xda,0x02,0x35,0x5b,0x47,0x77,0x5e,0xab,
|
||||
0xa8,0x96,0x51,0x31,0x45,0x9a,0xe3,0x6a,0x7a,0x55,0x89,0xfc,
|
||||
0x4f,0x24,0x42,0xc4,0x5a,0x2a,0x60,0x1f,0xf2,0x39,0x12,0x69,
|
||||
0xc8,0xaf,0x04,0x69,0xa3,0xee,0xca,0x51,0xec,0xe3,0x16,0x64,
|
||||
0xa9,0x05,0x22,0xdd,0xdd,0x1a,0x43,0xae,0x69,0xfa,0xb4,0x60,
|
||||
0x9e,0xac,0x34,0xe9,0xf0,0x85,0x5f,0xcd,0x69,0xda,0x56,0x21,
|
||||
0x6b,0x45,0xfd,0x8a,0x18,0xd6,0x53,0x97,0xe2,0xcf,0x35,0x26,
|
||||
0xc8,0x6b,0x66,0x9a,0x63,0x3b,0xc2,0x94,0xe0,0xab,0xc5,0x0b,
|
||||
0x12,0x80,0xa1,0x58,0xe0,0x45,0x92,0x04,0xad,0x42,0xa2,0x16,
|
||||
0xa6,0x03,0x08,0x6d,0x09,0x94,0xad,0x8a,0xb3,0x05,0xa0,0xb4,
|
||||
0x51,0x07,0x11,0x9d,0x65,0x3a,0x2d,0x85,0x4b,0xe5,0x1e,0x0c,
|
||||
0xce,0x8a,0xa4,0x54,0xe3,0x8f,0x3b,0xca,0x5c,0x78,0xc9,0xea,
|
||||
0xa4,0x8a,0x5d,0x5d,0x2b,0x02,0x6f,0x22,0x22,0x4e,0x23,0x61,
|
||||
0xcd,0xad,0xe3,0x31,0x7e,0x0a,0xca,0xb3,0xc1,0x18,0x0c,0x55,
|
||||
0x87,0xe8,0xd4,0xcf,0xfa,0x69,0x5d,0xad,0xb2,0x8a,0x90,0x21,
|
||||
0x27,0x1d,0x21,0x30,0xa4,0x83,0xd6,0x22,0x25,0x50,0x83,0xab,
|
||||
0xc1,0x43,0x6a,0x2e,0xc3,0xd6,0xf2,0x6a,0x24,0x2e,0xa4,0x7a,
|
||||
0x52,0x74,0x83,0xfa,0x59,0xca,0x46,0x0a,0xc3,0xab,0x7b,0x73,
|
||||
0xf0,0x27,0xb3,0x77,0x54,0xd6,0x1b,0xd9,0xd0,0x78,0x73,0x95,
|
||||
0x43,0x7b,0x41,0x1d,0x61,0x94,0x5b,0x2a,0x92,0x8c,0xa4,0x05,
|
||||
0x06,0xe7,0x67,0xbd,0x65,0x0f,0x71,0x35,0x82,0x66,0x84,0xca,
|
||||
0xdf,0x3a,0xf2,0x12,0x01,0x8e,0x80,0x37,0x97,0xd6,0x2b,0xde,
|
||||
0x4b,0x40,0xa7,0x25,0x22,0x9b,0xa6,0x70,0x8d,0xea,0xfa,0x49,
|
||||
0x43,0xe7,0x2b,0x20,0x78,0xca,0x19,0x5c,0x1c,0xbf,0xec,0x84,
|
||||
0x0b,0x43,0x57,0x26,0x2e,0x5e,0x14,0xd2,0x3b,0xcc,0x62,0x6d,
|
||||
0xc6,0x11,0x41,0xf1,0x8d,0x97,0x03,0xd9,0x99,0x06,0x52,0x23,
|
||||
0x71,0x18,0xb8,0x91,0xc8,0x29,0x5a,0x42,0x1c,0x5a,0x04,0x00,
|
||||
0x56,0x29,0xf8,0x96,0xad,0x61,0xe3,0x45,0x16,0x40,0x61,0x02,
|
||||
0x42,0xd8,0x2d,0x13,0xfc,0x57,0x86,0xa6,0xe0,0x6a,0xe2,0x4c,
|
||||
0x4e,0x35,0x31,0x32,0x29,0x6a,0x1c,0xbe,0x64,0x7c,0xa7,0x30,
|
||||
0x19,0xdb,0x94,0x3e,0xd4,0x26,0x34,0x6e,0x16,0x71,0x0d,0xa0,
|
||||
0xe1,0x10,0x0e,0x31,0x45,0xde,0xfe,0x23,0x62,0xaf,0x87,0x9e,
|
||||
0xb6,0x4d,0xa5,0x1d,0x87,0xc1,0xb4,0x39,0x61,0xf5,0x19,0x2d,
|
||||
0xb2,0x98,0xae,0xf8,0xa1,0x4c,0xd3,0xb8,0x6f,0x89,0x78,0x06,
|
||||
0xc7,0xee,0xc9,0x5d,0x31,0xaf,0xf7,0x42,0x48,0x7c,0xa8,0xfd,
|
||||
0xce,0x81,0x3d,0x29,0xc0,0x92,0x52,0x63,0x99,0xe0,0x86,0xd5,
|
||||
0x9f,0x36,0x10,0xc3,0x61,0xab,0xb0,0x4f,0xf4,0x0a,0x27,0x57,
|
||||
0xc5,0xbb,0x18,0xfd,0x7a,0x10,0xaf,0x6c,0x29,0x0d,0x88,0x87,
|
||||
0xa4,0x51,0xad,0x2b,0x12,0x01,0x2a,0xc6,0x40,0x5b,0x48,0x31,
|
||||
0xf9,0x09,0x25,0xba,0x4f,0x40,0x65,0x1e,0x6b,0x1a,0xff,0x68,
|
||||
0x92,0x52,0x00,0x02,0x10,0x9b,0x00,0x04,0xbb,0xd0,0x41,0xc3,
|
||||
0x36,0x99,0x3b,0x4d,0x76,0x82,0x9a,0xa0,0x89,0x96,0x08,0x58,
|
||||
0xda,0x48,0x04,0xcf,0x19,0x95,0xa9,0xfe,0x59,0xa4,0x92,0x19,
|
||||
0x02,0x96,0x9a,0x9b,0xf1,0xce,0x47,0x59,0xaa,0xc9,0x49,0x26,
|
||||
0x9b,0x59,0x2f,0x65,0xff,0x30,0x5f,0x8c,0xc6,0x86,0xf4,0xc6,
|
||||
0x04,0x0a,0xc3,0xda,0x99,0x48,0x63,0x4a,0xee,0xc3,0xfc,0x93,
|
||||
0x11,0x15,0xb4,0x2f,0x11,0x28,0x6c,0x6e,0x14,0x14,0xaa,0xe2,
|
||||
0xc6,0x6e,0x39,0x1e,0xf1,0x2f,0x4d,0xf2,0x82,0xce,0xd9,0x66,
|
||||
0xf3,0xaa,0x8d,0x4d,0x6a,0xff,0x2a,0xf4,0xaf,0xf8,0x5d,0x64,
|
||||
0x50,0xc0,0x95,0x6b,0xc8,0x01,0xa2,0x2f,0x37,0xdb,0xe3,0xb4,
|
||||
0x6b,0x40,0xee,0x98,0xc6,0xc8,0xd8,0x33,0x16,0x67,0xe9,0xa1,
|
||||
0x19,0x19,0x00,0x8e,0xe5,0xf1,0xf0,0xef,0xae,0x82,0x58,0xfe,
|
||||
0xd3,0x52,0x6b,0x9d,0x2f,0x69,0x1c,0xb9,0x13,0x9d,0x6e,0x03,
|
||||
0x8c,0x31,0x26,0xb1,0x18,0xc7,0xb4,0xa9,0xfc,0x11,0x9d,0x9f,
|
||||
0x2e,0x8a,0xf1,0x88,0x5b,0x12,0xdb,0xe0,0x05,0x41,0x15,0xb4,
|
||||
0x7e,0xa1,0xaf,0x18,0xa6,0x20,0x58,0x88,0x58,0x14,0x0a,0x64,
|
||||
0x23,0xf0,0x55,0xcc,0x22,
|
||||
};
|
||||
static const byte FALCON1024_sig[] = {
|
||||
0x3a,0x26,0xae,0x20,0x5d,0xc6,0x25,0xe0,0x80,0xf0,0x4d,0xec,
|
||||
0x22,0xb0,0xab,0xff,0x39,0xfb,0x23,0xef,0xe2,0x50,0x91,0x8e,
|
||||
0xb4,0x61,0xf2,0x28,0x25,0xf3,0xec,0x00,0x86,0xe6,0x61,0x37,
|
||||
0x16,0x1b,0xef,0xb2,0x73,0xdc,0xe7,0x75,0x34,0xa9,0xcc,0x1e,
|
||||
0x79,0x4f,0x85,0x29,0x5d,0x8b,0xe9,0xad,0x6a,0x56,0xc2,0x3e,
|
||||
0x93,0xc9,0x5a,0xa6,0x15,0xa6,0xe6,0x62,0xb4,0x48,0xfe,0xd1,
|
||||
0xa3,0xc2,0x8d,0xb2,0xb1,0x66,0x99,0xc0,0x58,0xfe,0x97,0x13,
|
||||
0x59,0x05,0xdb,0x54,0x32,0xa5,0x9d,0xbc,0xaf,0x21,0xc2,0xab,
|
||||
0xb1,0x8b,0xae,0x96,0xcd,0x1e,0x04,0xf6,0x42,0x08,0xdf,0xa2,
|
||||
0x34,0xa4,0x43,0x9b,0xae,0x84,0xc7,0x6b,0xe9,0xc9,0x5d,0xc6,
|
||||
0xdc,0xf0,0x6b,0x88,0x3a,0xf2,0x9b,0xc6,0xd9,0x9f,0x95,0x95,
|
||||
0x15,0x95,0xd0,0xc9,0x67,0x5a,0x58,0xcd,0x7b,0xf3,0xce,0x84,
|
||||
0x8b,0x33,0x29,0x40,0x49,0x9f,0xce,0xb9,0x31,0x36,0x18,0x28,
|
||||
0xad,0x43,0x30,0xd9,0x61,0x11,0x76,0xb1,0xc0,0xf4,0xdb,0x7b,
|
||||
0xf5,0x93,0x35,0x94,0x67,0x7d,0x9b,0x84,0xe5,0x19,0xe6,0x8a,
|
||||
0x1b,0x8f,0x82,0x6f,0x2b,0x8e,0x10,0xdf,0x4d,0x1f,0xce,0xd6,
|
||||
0xdf,0x9e,0x79,0x58,0x64,0x1d,0xbd,0xa8,0x76,0x35,0x7b,0x68,
|
||||
0xcf,0x1d,0xea,0x68,0xd9,0xc8,0xfb,0xa3,0x34,0x65,0xe0,0xcc,
|
||||
0xf3,0x71,0xa7,0x23,0xd4,0xfc,0xa5,0x8d,0x2f,0x82,0x4d,0x61,
|
||||
0x8c,0xf1,0xa6,0xa8,0x4f,0xd8,0xa3,0x44,0x7b,0x32,0x4d,0x0a,
|
||||
0x94,0x9c,0x31,0xe4,0x59,0x11,0x79,0xc4,0xf5,0x87,0x86,0x10,
|
||||
0x25,0x02,0x44,0xb2,0xc7,0x18,0xe7,0x6f,0x8a,0xed,0x56,0x1b,
|
||||
0xf9,0x4b,0xe5,0xb4,0x92,0xb8,0x97,0x59,0x23,0xe9,0xff,0x50,
|
||||
0x61,0xac,0xdc,0x51,0x30,0x68,0x6a,0x1e,0xed,0xb4,0x5a,0xec,
|
||||
0x8b,0x31,0xcc,0xf6,0xa2,0xfe,0x91,0x30,0xbf,0x49,0x4a,0x8e,
|
||||
0xd8,0xd1,0x13,0xe8,0x1e,0xd5,0xae,0xa5,0xcd,0x8d,0x6f,0x0d,
|
||||
0x51,0x9d,0xbf,0xd7,0x36,0x63,0x11,0x19,0x21,0x7d,0x9a,0x4d,
|
||||
0x61,0x38,0x64,0x53,0xd4,0xb4,0xd4,0x49,0xcd,0x55,0x3b,0x3d,
|
||||
0x5d,0x93,0xcf,0x2f,0x86,0x2f,0x16,0x9c,0xa6,0x7a,0x46,0xc0,
|
||||
0xa4,0x70,0x62,0x33,0xe6,0x4d,0x28,0x77,0x16,0xd8,0xbc,0x77,
|
||||
0x16,0x84,0xc0,0xd6,0xed,0x02,0x7d,0xe0,0xca,0x4f,0xb1,0x6c,
|
||||
0xf9,0x7c,0xa7,0xce,0x68,0x9d,0x37,0x41,0xfa,0x91,0x45,0x2a,
|
||||
0xdd,0xf2,0x3b,0xb8,0xd3,0x5a,0x98,0x2f,0x84,0x62,0xdf,0xef,
|
||||
0x3f,0x1d,0xa5,0x7e,0x4f,0x79,0x94,0x75,0x6c,0x35,0x3a,0xca,
|
||||
0xb5,0x12,0xf6,0x8c,0xae,0x4f,0x0d,0xaa,0xcb,0x67,0xdb,0x2c,
|
||||
0x73,0xb9,0x34,0xb0,0x64,0x93,0x56,0x35,0x8d,0x52,0x94,0x5a,
|
||||
0x31,0xd3,0xec,0xf1,0x93,0x86,0xe3,0x33,0xe1,0x83,0x54,0x32,
|
||||
0x0c,0xf2,0x41,0x5e,0xb5,0x4a,0x79,0xe6,0xd3,0x11,0x37,0xfb,
|
||||
0xd5,0x62,0xa8,0xfa,0xd5,0xe2,0xc6,0xfb,0x10,0xcf,0xaf,0xee,
|
||||
0x4a,0x28,0xff,0x84,0x15,0xf2,0x6a,0x90,0xac,0xe3,0x32,0x8a,
|
||||
0xe7,0x1e,0x76,0x35,0x05,0xf5,0x70,0x1e,0x1c,0x0b,0x95,0x88,
|
||||
0x4e,0x8a,0x14,0x06,0x0b,0xc1,0xda,0x98,0x28,0x7f,0xef,0x87,
|
||||
0x8c,0xc6,0xf7,0x74,0x28,0x55,0xe3,0x1c,0x96,0x4e,0x2d,0x3a,
|
||||
0x7f,0xf5,0x2e,0x9f,0x2c,0xf4,0x23,0x50,0x91,0x7e,0xfd,0x4f,
|
||||
0xa9,0xfd,0x36,0xf1,0x91,0x9e,0xa0,0x93,0xbf,0xbe,0xad,0x5e,
|
||||
0xc1,0xbf,0xba,0xbb,0x84,0xb3,0xb0,0xc4,0x98,0x74,0xd7,0x23,
|
||||
0x81,0xa1,0x41,0xe9,0xfa,0xb3,0xdf,0x59,0xb6,0x25,0x39,0xd7,
|
||||
0xa9,0xd9,0x7e,0xe1,0xd7,0x3c,0x7b,0x1b,0xee,0xd1,0xb1,0x7e,
|
||||
0x14,0x32,0x91,0xa3,0x2a,0x85,0x25,0x45,0x86,0x1f,0xb4,0xdb,
|
||||
0x4a,0xb4,0xb9,0x57,0xb4,0xe3,0xf5,0x78,0x36,0x0f,0x2d,0x4d,
|
||||
0xc8,0xdd,0x41,0x76,0xf6,0xc7,0x9b,0x0c,0xcb,0x52,0xe2,0xf0,
|
||||
0xbb,0xc5,0x00,0x54,0x9a,0x44,0x35,0x0f,0xcc,0x5f,0x12,0x06,
|
||||
0x45,0xd1,0x7d,0x19,0x26,0x98,0x3f,0xd3,0x9d,0xad,0xaa,0xac,
|
||||
0xd3,0x9b,0xe6,0xb6,0x0b,0x78,0xac,0x6f,0xeb,0xe4,0x23,0x70,
|
||||
0x1f,0x36,0x82,0x6b,0x41,0x22,0x1f,0xd8,0x6e,0x99,0x03,0xb4,
|
||||
0xd2,0x5f,0x8d,0xe3,0x62,0xe3,0x22,0x4a,0x81,0xa5,0xc4,0x27,
|
||||
0x7a,0xb9,0x9e,0xd6,0xcd,0x6e,0x7e,0xa0,0x07,0x4d,0x44,0xe4,
|
||||
0xae,0xc8,0xcd,0x96,0xbf,0xd4,0xb1,0xca,0x59,0x5c,0xaa,0x00,
|
||||
0xea,0x70,0x2f,0x71,0x1a,0x6e,0x05,0xec,0xe5,0xd0,0xe7,0x19,
|
||||
0xd4,0x38,0xd3,0x50,0x75,0xe8,0xcd,0x4a,0xe8,0xd6,0x38,0x68,
|
||||
0xff,0x31,0x64,0x83,0x4b,0x08,0xda,0x76,0xa2,0x9e,0xbc,0x66,
|
||||
0xc3,0x37,0x14,0x42,0x6d,0xea,0x6d,0xd5,0xc9,0xb1,0xe6,0xec,
|
||||
0x96,0x1e,0x12,0x11,0xb6,0x4a,0x9e,0x86,0x9a,0x39,0x61,0xc7,
|
||||
0x43,0x10,0xdc,0xa0,0xcf,0xae,0xf4,0xf9,0xf4,0x46,0xa3,0xca,
|
||||
0x8a,0x6b,0x9a,0xf9,0x08,0x9f,0xe9,0x62,0xfe,0x07,0x87,0x34,
|
||||
0x9e,0x5c,0xa3,0xfb,0x78,0x51,0x44,0x6c,0x34,0x6a,0x1f,0x93,
|
||||
0x02,0xe7,0x78,0xca,0xdd,0x35,0x0f,0xc6,0x1c,0xbe,0xbc,0x3d,
|
||||
0x22,0xd2,0x68,0x6d,0x6e,0xea,0x5f,0x0c,0xad,0xfb,0x95,0xb2,
|
||||
0xcf,0x19,0x63,0xb4,0xac,0xe1,0x52,0x71,0xb8,0x0b,0x7d,0xf4,
|
||||
0x53,0x59,0xaa,0x29,0xe2,0xc4,0x40,0x97,0xf8,0xae,0x58,0xfc,
|
||||
0xc5,0x5b,0xc8,0xd7,0x6b,0xe6,0x88,0x06,0x28,0x8f,0x5f,0x9a,
|
||||
0x5b,0xcb,0xb7,0x5e,0x6a,0xb4,0x97,0x27,0xbf,0xa5,0x0f,0x64,
|
||||
0xd2,0x33,0x8a,0x71,0x53,0xcc,0xb4,0xf7,0xd1,0x8e,0xd7,0xe3,
|
||||
0x0a,0xb2,0x1f,0xbf,0x82,0x9f,0xca,0x21,0x8c,0x60,0x8c,0x11,
|
||||
0x0e,0x35,0x3e,0xa5,0x19,0xe6,0xbe,0x3a,0x11,0x59,0x38,0x85,
|
||||
0x2e,0x78,0x44,0x19,0x16,0x9b,0x09,0x07,0xd2,0x99,0x54,0xa8,
|
||||
0xc4,0x9e,0xdf,0x56,0x23,0xa9,0x22,0x67,0x65,0x9f,0xe9,0x8b,
|
||||
0xe9,0x15,0xa8,0x89,0x96,0x1c,0xb5,0x9e,0x3c,0x2b,0x5c,0x84,
|
||||
0x4c,0x31,0x0e,0xf3,0xd7,0xdb,0x6f,0x94,0x5f,0x76,0x85,0x6e,
|
||||
0x67,0xe3,0x0d,0x9c,0xa1,0x4f,0xca,0xe7,0x48,0xff,0xc6,0xed,
|
||||
0x22,0x6e,0x39,0x8c,0x5a,0x36,0xf4,0xe1,0xaa,0x38,0xb8,0x72,
|
||||
0x22,0xb1,0x6a,0xde,0x19,0x43,0x34,0x6a,0xf4,0x2f,0xe4,0xed,
|
||||
0x71,0x56,0x90,0xc2,0x12,0xcc,0x62,0x6f,0xfd,0x13,0x78,0x4e,
|
||||
0x50,0x2a,0x04,0xc9,0x88,0x7c,0xb9,0xf5,0x8c,0x92,0xbb,0xc7,
|
||||
0x42,0xdc,0x83,0xc1,0x88,0x2e,0x3b,0x9b,0xf4,0xa2,0x65,0x82,
|
||||
0x36,0x0c,0xee,0xed,0x2e,0x59,0xaf,0x31,0x6d,0x26,0xb5,0x82,
|
||||
0x15,0x67,0xe5,0x0a,0xf3,0x56,0x6f,0x69,0x6f,0xa5,0x47,0xce,
|
||||
0xc0,0xff,0x51,0x2d,0x03,0x31,0x22,0x3b,0xf1,0xd5,0x6e,0xdc,
|
||||
0xf1,0x08,0xc3,0x02,0x58,0xe4,0x76,0xb3,0xf7,0xbf,0x29,0x24,
|
||||
0x55,0x95,0x4f,0xb4,0x64,0x43,0x2b,0x94,0x76,0xc8,0x11,0xef,
|
||||
0x83,0x45,0x3b,0x0a,0xaf,0x29,0xb5,0x7a,0x0b,0xc6,0x88,0x8b,
|
||||
0xe2,0x23,0x69,0xee,0x13,0x50,0x95,0x95,0x35,0xde,0x99,0x28,
|
||||
0xe0,0xe3,0x37,0xb4,0xa9,0xde,0x57,0x83,0x9c,0x3a,0x08,0x60,
|
||||
0xdf,0x21,0xbd,0xad,0x62,0xe0,0x60,0x9c,0x9c,0xe2,0xa7,0x20,
|
||||
0x6b,0x6d,0x7a,0x68,0x23,0x5f,0xca,0x50,0xe7,0x0a,0x13,0x51,
|
||||
0xfc,0xe3,0x77,0xe0,0x1f,0x82,0x19,0x4c,0xc3,0xda,0x50,0xf5,
|
||||
0x87,0x53,0xf1,0xd6,0x4f,0xf3,0x12,0xf9,0x12,0xf3,0x8e,0xdb,
|
||||
0x6f,0x39,0xbd,0x59,0xc7,0xdd,0x9a,0xd1,0x67,0xa4,0x70,0xc1,
|
||||
0x85,0x83,0xaa,0x76,0xd3,0x79,0xdc,0x90,0xe9,0x9a,0x0a,0x83,
|
||||
0xd7,0xa3,0xa0,0x5c,0x72,0x22,0x17,0xf7,0x8c,0x88,0x83,0x70,
|
||||
0x81,0x1e,0x4d,0x4a,0xeb,0xe0,0x9c,0xc1,0xa4,0x50,0x2a,0xa6,
|
||||
0x1b,0x22,0x79,0x5b,0x44,0x42,0x68,0xcc,0x30,0xe8,0x37,0x07,
|
||||
0xd4,0x9b,0x63,0x9b,0x9d,0xe9,0xa8,0x4c,0x28,0x3e,0xfa,0xaa,
|
||||
0xff,0x5c,0xe3,0x33,0x9c,0x99,0x7e,0x6e,0x51,0x83,0x30,0x46,
|
||||
0x48,0xe6,0x6c,0xcf,0xd2,0xa9,0x92,0xdf,0xab,0xf3,0x0a,0x2e,
|
||||
0xbd,0x56,0x95,0xe5,0x18,0x24,
|
||||
0x3a,0x2c,0x49,0x52,0x87,0x43,0x61,0x0a,0xfb,0xd5,0x51,0xf4,
|
||||
0x8e,0x2b,0x29,0x50,0x3e,0xe1,0x0d,0x8b,0x26,0x2e,0x34,0x64,
|
||||
0xa8,0x76,0x23,0x5f,0xf6,0x29,0xfa,0xab,0xfc,0xc8,0x10,0x6d,
|
||||
0x76,0x4d,0x8b,0x8f,0x73,0x63,0xa6,0x73,0x9b,0xc8,0x86,0x8e,
|
||||
0x61,0x65,0x9d,0xe9,0x5e,0xd1,0xb5,0x29,0x68,0xc9,0x2c,0x81,
|
||||
0x7e,0x10,0xe4,0xc5,0x15,0x63,0x13,0xd7,0x3f,0x08,0x8a,0x5a,
|
||||
0xc8,0x6f,0x3d,0x18,0xef,0xa9,0x48,0x0b,0x13,0x40,0xa9,0x98,
|
||||
0x7d,0xaa,0x83,0x9b,0x4e,0xdc,0x0f,0xf3,0x98,0x80,0xb5,0xf9,
|
||||
0x9c,0x9f,0x20,0xae,0x55,0x74,0x75,0xbb,0x4e,0xc3,0x14,0x97,
|
||||
0x4d,0x78,0x08,0xdf,0x0a,0xf9,0xd2,0xab,0xd9,0x24,0x0c,0xd7,
|
||||
0xf9,0x81,0x4b,0x95,0x36,0x18,0xd5,0xc7,0x24,0x2e,0x06,0xab,
|
||||
0xbb,0x87,0x38,0x26,0x92,0xe9,0x72,0xa7,0x3c,0xd8,0xdb,0x7f,
|
||||
0x57,0x2d,0xf4,0x61,0x34,0x8e,0x0b,0x51,0x9c,0x53,0x93,0xba,
|
||||
0xc3,0x7f,0x74,0x67,0x68,0x5a,0x64,0xc5,0xea,0xa7,0x46,0x63,
|
||||
0x99,0xc4,0x06,0x14,0x85,0x8e,0x12,0x8d,0x8b,0xc1,0xbf,0xad,
|
||||
0xd6,0x63,0xe0,0xf0,0x70,0xd7,0x9e,0xdd,0x67,0x88,0x9d,0xef,
|
||||
0x97,0xd8,0x9d,0x1b,0xb5,0x92,0xed,0xcf,0xf8,0x28,0xef,0x1d,
|
||||
0xdd,0xfe,0x2b,0xa9,0x61,0x48,0xf1,0x39,0x19,0x43,0x3a,0x84,
|
||||
0xbe,0xb0,0x9e,0x19,0x94,0x63,0x79,0x4a,0x24,0x53,0x11,0x28,
|
||||
0xf2,0x41,0x25,0x16,0xc9,0x8f,0xbd,0x06,0x6d,0xa6,0x53,0x4c,
|
||||
0x94,0xee,0x27,0xb7,0xe2,0x33,0xee,0x34,0xe6,0xc6,0x57,0xd1,
|
||||
0xbe,0xc5,0xe7,0xa6,0x98,0x3b,0x59,0xbe,0xfe,0x4c,0xd0,0xd6,
|
||||
0x32,0x15,0xa7,0x74,0xf5,0xf4,0x75,0x73,0x54,0xd9,0x28,0x88,
|
||||
0xd0,0xb6,0xe7,0x08,0x63,0xbb,0x2a,0x82,0x10,0x2b,0xb8,0x52,
|
||||
0x25,0x5e,0xe8,0x13,0x68,0x0c,0x10,0xca,0xd5,0x38,0xac,0x45,
|
||||
0x37,0xe3,0x1b,0xca,0x9a,0x43,0x08,0x4f,0xd9,0xf6,0xaa,0x27,
|
||||
0x22,0x67,0xd9,0x2c,0xb3,0x48,0xa2,0xf9,0x53,0x78,0x62,0x31,
|
||||
0x5e,0x9a,0x2c,0x1a,0xb3,0x0c,0x76,0x1c,0x1a,0x45,0x95,0xad,
|
||||
0x7b,0xf4,0x4c,0xec,0x81,0x35,0x21,0x36,0x86,0x5b,0x6a,0xc3,
|
||||
0xce,0x93,0x7a,0x0e,0xa9,0xb2,0x8b,0x93,0x79,0x09,0xa7,0x6e,
|
||||
0xde,0x4a,0x84,0xc8,0xc2,0xc8,0x24,0x0c,0x14,0x01,0x53,0xc3,
|
||||
0xb8,0x33,0x0d,0xc9,0x83,0x9f,0x78,0x37,0x54,0x25,0xba,0x89,
|
||||
0x2b,0x9c,0x30,0x63,0x14,0x30,0xeb,0xdd,0x2f,0x3c,0x85,0x8a,
|
||||
0xfe,0x90,0xd2,0xa3,0xa9,0x2f,0xba,0x16,0xf2,0xaf,0xbb,0x6a,
|
||||
0xd8,0xd9,0x1c,0xf3,0x64,0xa5,0x68,0xb1,0x0d,0xbb,0x22,0xbf,
|
||||
0x97,0x4c,0xa2,0xa4,0x5c,0xf1,0x19,0x84,0x86,0x3b,0xb9,0x95,
|
||||
0xa6,0xce,0x05,0x2b,0xa3,0x63,0xef,0x47,0x52,0xf5,0xfe,0x1e,
|
||||
0xe8,0xf5,0x1f,0xdb,0x0a,0x5e,0x8f,0xbc,0x50,0x19,0x62,0x57,
|
||||
0x49,0xc5,0x2e,0x9d,0x43,0xbd,0x9b,0xf8,0x15,0x5a,0x8d,0xf1,
|
||||
0xda,0xcd,0x66,0x29,0xa9,0xc4,0xf9,0xc8,0xc9,0xf3,0xf9,0xc8,
|
||||
0xb4,0x1b,0x49,0x27,0x56,0xdc,0xdc,0xb1,0x96,0xf5,0x3a,0x82,
|
||||
0x9f,0xa5,0xe9,0xa3,0xef,0x85,0xc2,0x12,0xa8,0xa0,0x98,0xe1,
|
||||
0x8c,0xd6,0x7a,0xf9,0x69,0x17,0xaf,0x31,0x3b,0xf7,0xac,0x19,
|
||||
0x44,0x65,0x4c,0xbe,0x6e,0x32,0x1f,0xe7,0xe9,0x90,0x3b,0x29,
|
||||
0xb9,0x27,0x62,0xfe,0xea,0x6f,0xeb,0x62,0x5f,0xd2,0xec,0x2b,
|
||||
0x85,0x01,0x3a,0x02,0x64,0x81,0xfe,0xc8,0x58,0xb4,0x61,0x12,
|
||||
0x43,0xff,0xbe,0xbb,0x96,0xdd,0x8b,0x44,0xf6,0x66,0xb0,0xf4,
|
||||
0x39,0xc4,0x44,0x81,0x6d,0xe0,0xc3,0x19,0x1f,0xc3,0xa1,0x2d,
|
||||
0xdb,0xdf,0x48,0xd1,0x42,0xdb,0x6d,0x24,0x24,0x4a,0x9c,0xf2,
|
||||
0x94,0xc2,0x5f,0xb7,0x91,0x9f,0x44,0x63,0x0b,0xc8,0x63,0x04,
|
||||
0x7d,0x32,0x74,0xf9,0x5a,0x78,0xb9,0x95,0x5d,0x68,0x4c,0x57,
|
||||
0x81,0xa2,0xce,0x18,0xa8,0x7f,0x3a,0x77,0x68,0xa7,0x1a,0x62,
|
||||
0x96,0xe2,0x4d,0xce,0xf2,0x0d,0x26,0x14,0x26,0xb4,0x43,0x4c,
|
||||
0xf2,0x9f,0xe1,0x6e,0x16,0x04,0x46,0x2e,0x64,0x8d,0xd3,0x71,
|
||||
0xbb,0xaf,0x78,0x5a,0x61,0xf6,0xa1,0x92,0x92,0x87,0xa2,0xb2,
|
||||
0x3c,0x2a,0xca,0x53,0xfb,0x83,0x76,0x2e,0x30,0x38,0x53,0xe7,
|
||||
0xc7,0x89,0xa3,0xa8,0x77,0x45,0x86,0x6f,0x87,0xc3,0xf5,0x2b,
|
||||
0x27,0xbe,0x44,0x63,0x2a,0xb9,0x74,0xe2,0xc9,0x9a,0xa4,0x85,
|
||||
0x69,0x9b,0x03,0xd7,0x80,0x38,0xca,0xd4,0x05,0xb5,0xf9,0x6b,
|
||||
0xae,0x4a,0x6b,0xb5,0x22,0xc2,0x77,0x88,0x23,0xd6,0xb5,0xf5,
|
||||
0xe6,0x39,0x0c,0x3a,0xaa,0x6b,0x11,0xb8,0x85,0xa9,0xb0,0x75,
|
||||
0x92,0x39,0x3a,0x86,0xe4,0x5e,0xdf,0xc7,0x07,0x77,0xa3,0x21,
|
||||
0x4f,0xe7,0x3f,0x19,0x8c,0xaa,0xbd,0xb1,0xfd,0x12,0xfb,0x73,
|
||||
0x96,0xe7,0x5a,0x1c,0xdd,0xa3,0x51,0xd4,0xdc,0x74,0x63,0xec,
|
||||
0x50,0xec,0x55,0x15,0xe3,0x26,0xa6,0xb6,0x8c,0x7e,0x32,0xea,
|
||||
0xd9,0x69,0x2f,0x7c,0xdb,0x2f,0xde,0x96,0x53,0x19,0xa7,0xed,
|
||||
0x0b,0x37,0x47,0x13,0x57,0x11,0x21,0x19,0xe9,0x96,0x8b,0x4c,
|
||||
0x76,0x88,0x6e,0x6d,0x56,0x5c,0x0f,0xe2,0x6f,0x01,0x70,0x16,
|
||||
0x2b,0xf5,0x67,0xb5,0xf2,0xd9,0x25,0x53,0x13,0xfd,0x93,0x8d,
|
||||
0x49,0x1b,0x2c,0xbe,0xbd,0x5a,0x6a,0x50,0xbb,0xa2,0x30,0xcb,
|
||||
0xb1,0xac,0x01,0xdd,0x6a,0x4c,0xeb,0xa9,0x04,0x7b,0x7b,0xe7,
|
||||
0x63,0x62,0x34,0xea,0xa2,0x70,0x66,0x19,0xb5,0x47,0xbd,0x09,
|
||||
0x36,0x9d,0x3e,0x9d,0x56,0xca,0x56,0x84,0x79,0xfe,0x47,0x53,
|
||||
0x7f,0x03,0x41,0x56,0x99,0x4e,0xa8,0x96,0xa2,0x1b,0x80,0x65,
|
||||
0xa4,0xee,0xa6,0xd7,0x2a,0x73,0x5c,0xe3,0x1a,0x43,0x70,0x66,
|
||||
0x84,0xaa,0x33,0x95,0x2e,0x7b,0x7f,0x3d,0x34,0x0b,0xc2,0xdb,
|
||||
0xa7,0x7d,0xb4,0xd5,0xcd,0x67,0xd3,0xab,0xb8,0x5f,0x36,0x96,
|
||||
0xf7,0x17,0x61,0xb0,0x4a,0x26,0x2c,0xb5,0xb3,0x2f,0xf8,0x4c,
|
||||
0xae,0x31,0x67,0x4e,0xe5,0x19,0xfc,0x11,0x42,0x0f,0xf8,0xa3,
|
||||
0x11,0x4e,0x56,0xa6,0x86,0xb4,0xa8,0x14,0x9d,0xfc,0xfa,0x81,
|
||||
0xa0,0x87,0xb6,0x0a,0x9c,0x07,0xff,0xe5,0x28,0x4c,0xc5,0x5a,
|
||||
0x02,0xd2,0xc5,0xd2,0xd1,0x9a,0x52,0xe2,0xb2,0xe3,0x02,0xd4,
|
||||
0x5d,0x7e,0x93,0x12,0xfa,0x2d,0xd9,0x57,0xf1,0x07,0x4f,0x7a,
|
||||
0xac,0x78,0xa0,0x26,0x6f,0x40,0x82,0x3a,0xc9,0x8d,0xb2,0x94,
|
||||
0x8b,0x4a,0x75,0xc8,0x70,0xf3,0x66,0xb3,0xcd,0xd5,0xbd,0x16,
|
||||
0x3f,0x7c,0xe5,0x4b,0x44,0x44,0x2d,0x2c,0x70,0xa4,0x54,0x84,
|
||||
0xb5,0xf2,0xd6,0xba,0x50,0x25,0x11,0x3c,0x44,0x27,0x68,0xce,
|
||||
0x28,0xd8,0xb6,0x24,0x52,0x39,0xff,0xf6,0x28,0xb0,0xb6,0x21,
|
||||
0xd5,0x76,0x8b,0x95,0x61,0xc2,0x48,0x92,0x4e,0xf5,0x0c,0x73,
|
||||
0x33,0x76,0x6d,0x6f,0x52,0xce,0xc6,0x1b,0x62,0xaa,0x5e,0x6a,
|
||||
0x10,0x6e,0xaa,0x67,0xa0,0xc0,0x13,0x0b,0xfc,0x39,0x24,0x91,
|
||||
0xa2,0x30,0x05,0x06,0xf3,0x0f,0x60,0xa8,0x22,0xf0,0x7c,0x7f,
|
||||
0x48,0xff,0x7d,0xba,0x97,0xe0,0x5e,0xcd,0x97,0x8a,0x1f,0xf9,
|
||||
0x47,0xe6,0x5a,0x7d,0x19,0x14,0x9d,0xc4,0x61,0x12,0xbb,0xa7,
|
||||
0xf1,0x8d,0xf3,0xc9,0x25,0xdb,0xa9,0x5d,0x58,0x90,0xc7,0x9f,
|
||||
0x27,0x04,0x54,0xb2,0xa9,0x14,0x3c,0xdd,0x27,0x10,0x32,0x81,
|
||||
0x91,0x50,0x50,0x87,0x6a,0xf3,0x6a,0x75,0x1c,0x44,0xc6,0x70,
|
||||
0xae,0x6a,0xd9,0x48,0xe3,0xe3,0x21,0x64,0x0f,0x6d,0xc2,0x04,
|
||||
0xf0,0xa9,0x28,0x29,0xd6,0xa7,0xc7,0x70,0x8e,0xdd,0x48,0xdb,
|
||||
0x49,0x0c,0x84,0x29,0xc3,0x85,0xd9,0xd3,0x33,0x2c,0xbe,0x5b,
|
||||
0x3c,0x1c,0xdc,0x74,0x7c,0xce,0xf6,0x14,0x29,0xcc,0xef,0x38,
|
||||
0x77,0xf1,0x2d,0x73,0x9f,0x6e,0x25,0xa4,0xa8,0xc9,0xe2,0x76,
|
||||
0x32,0xb3,0xcb,0xcd,0x83,0x44,0x2a,0xce,0x76,0x16,0x71,0x33,
|
||||
0x83,0xdb,0xf7,0x7f,0x3e,0xbf,0xc1,0x00,0x4a,0xe4,0xb9,0x3f,
|
||||
0x72,0x9d,0x19,0xc8,0xde,0xa4,0x3d,0xea,0xb9,0x31,0x86,0xfc,
|
||||
0x59,0x18,0xb6,0x98,0x88,0xa0,0xf4,0x36,0xa3,0x77,0x7a,0x8b,
|
||||
0x18,0x86,0x99,
|
||||
};
|
||||
#define FALCON1024_SIGLEN 1266
|
||||
#define FALCON1024_SIGLEN 1275
|
||||
|
||||
|
||||
static wc_test_ret_t falcon_verify_kat(byte level, const byte* pk, word32 pkLen,
|
||||
@@ -58183,7 +58184,7 @@ WOLFSSL_TEST_SUBROUTINE wc_test_ret_t falcon_test(void)
|
||||
{
|
||||
/* Native keygen -> sign -> verify round-trip (no liboqs). */
|
||||
static const byte falconLvls[2] = { FALCON_LEVEL1, FALCON_LEVEL5 };
|
||||
const char* falconMsg = "wolfSSL native FN-DSA self test";
|
||||
const char* falconMsg = "wolfSSL native Falcon self test";
|
||||
word32 falconMsgLen = (word32)XSTRLEN(falconMsg);
|
||||
WC_RNG rng;
|
||||
int li;
|
||||
|
||||
@@ -5170,9 +5170,9 @@ blinding by defining WC_BLINDING_NO_RNG_ACKNOWLEDGE_WEAKNESS."
|
||||
#endif
|
||||
#endif
|
||||
|
||||
/* Falcon (the pre-standardization name for FN-DSA / FIPS 206) is provided by the
|
||||
* native wolfCrypt implementation in falcon.[ch] + wc_falcon*.[ch]; it no longer
|
||||
* requires liboqs. HAVE_FALCON is the build gate. */
|
||||
/* Falcon is provided by the native wolfCrypt implementation in falcon.[ch] +
|
||||
* wc_falcon*.[ch]; it no longer requires liboqs. HAVE_FALCON is the build
|
||||
* gate. */
|
||||
|
||||
#if (defined(HAVE_FALCON) || \
|
||||
defined(WOLFSSL_DUAL_ALG_CERTS) || \
|
||||
|
||||
@@ -23,10 +23,10 @@
|
||||
\file wolfssl/wolfcrypt/wc_falcon_bigint.h
|
||||
*/
|
||||
|
||||
/* Self-contained big-integer / RNS arithmetic for native FN-DSA (Falcon)
|
||||
/* Self-contained big-integer / RNS arithmetic for native Falcon
|
||||
* key generation.
|
||||
*
|
||||
* FN-DSA key generation solves the NTRU equation g*F - f*G = q, which is
|
||||
* Falcon key generation solves the NTRU equation g*F - f*G = q, which is
|
||||
* performed by the Falcon "ntru_solve" routine. That routine relies on a
|
||||
* specialized integer-only big-number layer using a residue number system
|
||||
* (RNS) of 31-bit prime moduli, with a small-modulus NTT for fast
|
||||
|
||||
@@ -19,7 +19,7 @@
|
||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335, USA
|
||||
*/
|
||||
|
||||
/* FN-DSA (FIPS 206 draft) / Falcon encode/decode routines for the
|
||||
/* Falcon encode/decode routines for the
|
||||
* signing and key-generation paths. The verification-side decoders
|
||||
* (modq_decode, comp_decode) live as statics in wc_falcon.c and are not
|
||||
* referenced here. */
|
||||
|
||||
@@ -23,7 +23,7 @@
|
||||
\file wolfssl/wolfcrypt/wc_falcon_fft.h
|
||||
*/
|
||||
|
||||
/* FN-DSA / Falcon FFT over the fpr seam. A real polynomial of n coefficients is
|
||||
/* Falcon FFT over the fpr seam. A real polynomial of n coefficients is
|
||||
* carried as n fpr values: the n/2 complex evaluations at the roots of x^n+1,
|
||||
* real parts in [0, n/2), imaginary parts in [n/2, n). Used by the Gaussian
|
||||
* sampler and signing; not needed for verification. */
|
||||
|
||||
@@ -23,7 +23,7 @@
|
||||
\file wolfssl/wolfcrypt/wc_falcon_fpr.h
|
||||
*/
|
||||
|
||||
/* The FN-DSA / Falcon floating-point primitive seam.
|
||||
/* The Falcon floating-point primitive seam.
|
||||
*
|
||||
* Everything above this seam (FFT, Gaussian samplers, ffSampling, parts of
|
||||
* keygen) is written ONCE against the abstract fpr_* API declared here, and is
|
||||
|
||||
@@ -23,7 +23,7 @@
|
||||
\file wolfssl/wolfcrypt/wc_falcon_keygen.h
|
||||
*/
|
||||
|
||||
/* FN-DSA / Falcon key-pair generation.
|
||||
/* Falcon key-pair generation.
|
||||
*
|
||||
* Generates an (f, g, F, G) NTRU lattice basis together with the public key
|
||||
* h = g/f mod q. The procedure is a faithful port of the key-generation half
|
||||
@@ -55,7 +55,7 @@
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/* Generate a complete FN-DSA / Falcon key pair of degree n = 2^logn.
|
||||
/* Generate a complete Falcon key pair of degree n = 2^logn.
|
||||
*
|
||||
* rng initialized WC_RNG used to seed the SHAKE256 sampler stream.
|
||||
* f,g output secret polynomials (n signed coefficients each).
|
||||
@@ -64,7 +64,7 @@
|
||||
* h output public key polynomial (n coefficients in [0, q)); may be
|
||||
* NULL if only the (f,g,F,G) basis is required.
|
||||
* logn base-2 logarithm of the ring degree (1..10; 9 and 10 are the
|
||||
* standardized FN-DSA-512 and FN-DSA-1024 levels).
|
||||
* Falcon-512 and Falcon-1024 levels).
|
||||
*
|
||||
* The routine loops, drawing fresh (f,g) until every acceptance test passes
|
||||
* and the NTRU equation is solved, exactly as the reference does. Returns 0
|
||||
|
||||
@@ -23,7 +23,7 @@
|
||||
\file wolfssl/wolfcrypt/wc_falcon_poly.h
|
||||
*/
|
||||
|
||||
/* FN-DSA / Falcon FFT-domain polynomial operations over the fpr seam. A real
|
||||
/* Falcon FFT-domain polynomial operations over the fpr seam. A real
|
||||
* polynomial of n coefficients is carried as n fpr values: the n/2 complex
|
||||
* evaluations at the roots of x^n+1, real parts in [0, n/2), imaginary parts in
|
||||
* [n/2, n) (see wc_falcon_fft.h). These primitives feed ffSampling and signing;
|
||||
|
||||
@@ -23,7 +23,7 @@
|
||||
\file wolfssl/wolfcrypt/wc_falcon_sampler.h
|
||||
*/
|
||||
|
||||
/* Discrete Gaussian sampler for FN-DSA / Falcon signing (SamplerZ).
|
||||
/* Discrete Gaussian sampler for Falcon signing (SamplerZ).
|
||||
*
|
||||
* This is a faithful port of the constant-time reference sampler by Thomas
|
||||
* Pornin (MIT-licensed Falcon reference implementation; the same code ships in
|
||||
|
||||
@@ -23,7 +23,7 @@
|
||||
\file wolfssl/wolfcrypt/wc_falcon_sign.h
|
||||
*/
|
||||
|
||||
/* FN-DSA / Falcon signing orchestration (the "tree" signer).
|
||||
/* Falcon signing orchestration (the "tree" signer).
|
||||
*
|
||||
* Faithful port of the signature-generation core of the MIT-licensed Falcon
|
||||
* reference implementation sign.c (Thomas Pornin, Falcon Project, 2017-2019):
|
||||
|
||||
Reference in New Issue
Block a user