  
# UOV signature

This project contains the reference and optimized implementations of the Unbalanced Oil and Vinegar (UOV) signature system.

## Licence

Public Domain (https://creativecommons.org/share-your-work/public-domain/cc0/)
unless stated differently at the top of each file.

## Parameters

|         |NIST Sec. Level | Parameter (n,m,GF(q)) | epk size (bytes) | esk size (bytes) | cpk size (bytes)   | csk size (bytes)   | signature size (bytes) |
|:--------|:--------:|:-------------:|----------:|---------:|---------:|----------|----------:|
| uov-Ip  |1         |119,45,GF(256) | 321,300   |278,087   |46,591     | 32      |  135      |
| uov-Is  |1         |160,64,GF(16)  | 412,160   |348,704   |66,576     | 32      |   96      |
| uov-III |3         |193,72,GF(256) | 1,347,912 |1,167,440 |189,232    | 32      |  209      |
| uov-V   |5         |259,96,GF(256) | 3,232,320 |2,801,024 |446,992    | 32      |  275      |


## Instructions for testing and generating KATs

Type **make**    
```
make
```
It will generate an executable **sign_api-test** testing API functions (crypto_keygen(), crypto_sign(), and crypto_verify()).  

### **Options for Parameters:**

The source code of all supporting parameters is stored in subdirectories of the parameter names.
The default setting is compiling **Ip**.  
We use **PROJ** parameters for compiling other parameters.  
For example:  
```
make PROJ=Is_pkc
```
```
make PROJ=III_pkc_skc
```

### **Generating KAT:**
Use the following script:  
```
source ./generate_KAT.sh
```


## File descriptions

.:   
KAT                                          known answer test of UOV
Optimized_Implementation                     optimized implementations, one directory per architecture
README                                       the file you are reading
Reference_Implementation                     portable C reference implementation
Supporting_Documentation                     specification of UOV

./KAT:
KAT_download_link.txt

./Optimized_Implementation:                  
amd64                                        AMD64 optimization
avx2                                         AVX2 optimization
gfni                                         GFNI optimization
neon                                         NEON optimization

./Optimized_Implementation/amd64:            
generate_KAT.sh                              script for generating KAT
III                                          uov-III, classic
III_pkc                                      uov-III, compressed public key
III_pkc_skc                                  uov-III, compressed public and secret keys
Ip                                           uov-Ip, classic
Ip_pkc                                       uov-Ip, compressed public key
Ip_pkc_skc                                   uov-Ip, compressed public and secret keys
Is                                           uov-Is, classic
Is_pkc                                       uov-Is, compressed public key
Is_pkc_skc                                   uov-Is, compressed public and secret keys
Makefile                                     build rules, selecting a parameter set with PROJ
nistkat                                      Directory for KAT tools from NIST
README.md                                    parameters and build instructions for this implementation
sign_api-test.c                              Unit-tester for api functions
V                                            uov-V, classic
V_pkc                                        uov-V, compressed public key
V_pkc_skc                                    uov-V, compressed public and secret keys

./Optimized_Implementation/amd64/III:        
aes128_4r_ffs.c                              aes128 ref implementation of ffs method
aes128_4r_ffs.h                              aes128 ref implementation of ffs method
api.h                                        Defining API functions
blas.h                                       Basic linear algebra functions
blas_comm.h                                  Common functions for linear algebra
blas_matrix.c                                Linear algebra functions for matrix operations
blas_matrix.h                                Linear algebra functions for matrix operations
blas_matrix_ref.c                            Linear algebra functions for matrix operations, ref implementations
blas_matrix_ref.h                            Linear algebra functions for matrix operations, ref implementations
blas_u32.h                                   Linear algebra functions, u32 implementations
blas_u64.h                                   Linear algebra functions, u64 implementations
config.h                                     Macros for configuring runtime options
fips202.c                                    ref implementation for SHAKE256
fips202.h                                    ref implementation for SHAKE256
gf16.h                                       finte field arithmetic functions
gf16_u64.h                                   finte field arithmetic functions, u64 version
ov.c                                         Main functions for signing and verifying
ov.h                                         Main functions for signing and verifying
ov_blas.h                                    Wrappers for blas functions
ov_keypair.c                                 Formats of key pairs and functions for generating key pairs.
ov_keypair.h                                 Formats of key pairs and functions for generating key pairs.
ov_keypair_computation.c                     Functions for computations of keypairs.
ov_keypair_computation.h                     Functions for computations of keypairs.
ov_publicmap.c                               Implementations for evaluating public keys
parallel_matrix_op.c                         the standard implementations for functions in parallel_matrix_op.h
parallel_matrix_op.h                         Librarys for operations of batched matrixes.
params.h                                     Macros for defining parameters
sign.c                                       the implementations for functions in api.h
utils.c                                      Some utilities or Input/Oupput functions
utils.h                                      Some utilities or Input/Oupput functions
utils_hash.c                                 Wrappers for HASH functions
utils_hash.h                                 Wrappers for HASH functions
utils_malloc.h                               Utilities for memory allocation functions
utils_prng.c                                 Wrappers for PRNG functions
utils_prng.h                                 Wrappers for PRNG functions
utils_randombytes.c                          Wrappers for randombytes()
utils_randombytes.h                          Wrappers for randombytes()

./Optimized_Implementation/amd64/III_pkc:    
aes128_4r_ffs.c                              aes128 ref implementation of ffs method
aes128_4r_ffs.h                              aes128 ref implementation of ffs method
api.h                                        Defining API functions
blas.h                                       Basic linear algebra functions
blas_comm.h                                  Common functions for linear algebra
blas_matrix.c                                Linear algebra functions for matrix operations
blas_matrix.h                                Linear algebra functions for matrix operations
blas_matrix_ref.c                            Linear algebra functions for matrix operations, ref implementations
blas_matrix_ref.h                            Linear algebra functions for matrix operations, ref implementations
blas_u32.h                                   Linear algebra functions, u32 implementations
blas_u64.h                                   Linear algebra functions, u64 implementations
config.h                                     Macros for configuring runtime options
fips202.c                                    ref implementation for SHAKE256
fips202.h                                    ref implementation for SHAKE256
gf16.h                                       finte field arithmetic functions
gf16_u64.h                                   finte field arithmetic functions, u64 version
ov.c                                         Main functions for signing and verifying
ov.h                                         Main functions for signing and verifying
ov_blas.h                                    Wrappers for blas functions
ov_keypair.c                                 Formats of key pairs and functions for generating key pairs.
ov_keypair.h                                 Formats of key pairs and functions for generating key pairs.
ov_keypair_computation.c                     Functions for computations of keypairs.
ov_keypair_computation.h                     Functions for computations of keypairs.
ov_publicmap.c                               Implementations for evaluating public keys
parallel_matrix_op.c                         the standard implementations for functions in parallel_matrix_op.h
parallel_matrix_op.h                         Librarys for operations of batched matrixes.
params.h                                     Macros for defining parameters
sign.c                                       the implementations for functions in api.h
utils.c                                      Some utilities or Input/Oupput functions
utils.h                                      Some utilities or Input/Oupput functions
utils_hash.c                                 Wrappers for HASH functions
utils_hash.h                                 Wrappers for HASH functions
utils_malloc.h                               Utilities for memory allocation functions
utils_prng.c                                 Wrappers for PRNG functions
utils_prng.h                                 Wrappers for PRNG functions
utils_randombytes.c                          Wrappers for randombytes()
utils_randombytes.h                          Wrappers for randombytes()

./Optimized_Implementation/amd64/III_pkc_skc:
aes128_4r_ffs.c                              aes128 ref implementation of ffs method
aes128_4r_ffs.h                              aes128 ref implementation of ffs method
api.h                                        Defining API functions
blas.h                                       Basic linear algebra functions
blas_comm.h                                  Common functions for linear algebra
blas_matrix.c                                Linear algebra functions for matrix operations
blas_matrix.h                                Linear algebra functions for matrix operations
blas_matrix_ref.c                            Linear algebra functions for matrix operations, ref implementations
blas_matrix_ref.h                            Linear algebra functions for matrix operations, ref implementations
blas_u32.h                                   Linear algebra functions, u32 implementations
blas_u64.h                                   Linear algebra functions, u64 implementations
config.h                                     Macros for configuring runtime options
fips202.c                                    ref implementation for SHAKE256
fips202.h                                    ref implementation for SHAKE256
gf16.h                                       finte field arithmetic functions
gf16_u64.h                                   finte field arithmetic functions, u64 version
ov.c                                         Main functions for signing and verifying
ov.h                                         Main functions for signing and verifying
ov_blas.h                                    Wrappers for blas functions
ov_keypair.c                                 Formats of key pairs and functions for generating key pairs.
ov_keypair.h                                 Formats of key pairs and functions for generating key pairs.
ov_keypair_computation.c                     Functions for computations of keypairs.
ov_keypair_computation.h                     Functions for computations of keypairs.
ov_publicmap.c                               Implementations for evaluating public keys
parallel_matrix_op.c                         the standard implementations for functions in parallel_matrix_op.h
parallel_matrix_op.h                         Librarys for operations of batched matrixes.
params.h                                     Macros for defining parameters
sign.c                                       the implementations for functions in api.h
utils.c                                      Some utilities or Input/Oupput functions
utils.h                                      Some utilities or Input/Oupput functions
utils_hash.c                                 Wrappers for HASH functions
utils_hash.h                                 Wrappers for HASH functions
utils_malloc.h                               Utilities for memory allocation functions
utils_prng.c                                 Wrappers for PRNG functions
utils_prng.h                                 Wrappers for PRNG functions
utils_randombytes.c                          Wrappers for randombytes()
utils_randombytes.h                          Wrappers for randombytes()

./Optimized_Implementation/amd64/Ip:         
aes128_4r_ffs.c                              aes128 ref implementation of ffs method
aes128_4r_ffs.h                              aes128 ref implementation of ffs method
api.h                                        Defining API functions
blas.h                                       Basic linear algebra functions
blas_comm.h                                  Common functions for linear algebra
blas_matrix.c                                Linear algebra functions for matrix operations
blas_matrix.h                                Linear algebra functions for matrix operations
blas_matrix_ref.c                            Linear algebra functions for matrix operations, ref implementations
blas_matrix_ref.h                            Linear algebra functions for matrix operations, ref implementations
blas_u32.h                                   Linear algebra functions, u32 implementations
blas_u64.h                                   Linear algebra functions, u64 implementations
config.h                                     Macros for configuring runtime options
fips202.c                                    ref implementation for SHAKE256
fips202.h                                    ref implementation for SHAKE256
gf16.h                                       finte field arithmetic functions
gf16_u64.h                                   finte field arithmetic functions, u64 version
ov.c                                         Main functions for signing and verifying
ov.h                                         Main functions for signing and verifying
ov_blas.h                                    Wrappers for blas functions
ov_keypair.c                                 Formats of key pairs and functions for generating key pairs.
ov_keypair.h                                 Formats of key pairs and functions for generating key pairs.
ov_keypair_computation.c                     Functions for computations of keypairs.
ov_keypair_computation.h                     Functions for computations of keypairs.
ov_publicmap.c                               Implementations for evaluating public keys
parallel_matrix_op.c                         the standard implementations for functions in parallel_matrix_op.h
parallel_matrix_op.h                         Librarys for operations of batched matrixes.
params.h                                     Macros for defining parameters
sign.c                                       the implementations for functions in api.h
utils.c                                      Some utilities or Input/Oupput functions
utils.h                                      Some utilities or Input/Oupput functions
utils_hash.c                                 Wrappers for HASH functions
utils_hash.h                                 Wrappers for HASH functions
utils_malloc.h                               Utilities for memory allocation functions
utils_prng.c                                 Wrappers for PRNG functions
utils_prng.h                                 Wrappers for PRNG functions
utils_randombytes.c                          Wrappers for randombytes()
utils_randombytes.h                          Wrappers for randombytes()

./Optimized_Implementation/amd64/Ip_pkc:     
aes128_4r_ffs.c                              aes128 ref implementation of ffs method
aes128_4r_ffs.h                              aes128 ref implementation of ffs method
api.h                                        Defining API functions
blas.h                                       Basic linear algebra functions
blas_comm.h                                  Common functions for linear algebra
blas_matrix.c                                Linear algebra functions for matrix operations
blas_matrix.h                                Linear algebra functions for matrix operations
blas_matrix_ref.c                            Linear algebra functions for matrix operations, ref implementations
blas_matrix_ref.h                            Linear algebra functions for matrix operations, ref implementations
blas_u32.h                                   Linear algebra functions, u32 implementations
blas_u64.h                                   Linear algebra functions, u64 implementations
config.h                                     Macros for configuring runtime options
fips202.c                                    ref implementation for SHAKE256
fips202.h                                    ref implementation for SHAKE256
gf16.h                                       finte field arithmetic functions
gf16_u64.h                                   finte field arithmetic functions, u64 version
ov.c                                         Main functions for signing and verifying
ov.h                                         Main functions for signing and verifying
ov_blas.h                                    Wrappers for blas functions
ov_keypair.c                                 Formats of key pairs and functions for generating key pairs.
ov_keypair.h                                 Formats of key pairs and functions for generating key pairs.
ov_keypair_computation.c                     Functions for computations of keypairs.
ov_keypair_computation.h                     Functions for computations of keypairs.
ov_publicmap.c                               Implementations for evaluating public keys
parallel_matrix_op.c                         the standard implementations for functions in parallel_matrix_op.h
parallel_matrix_op.h                         Librarys for operations of batched matrixes.
params.h                                     Macros for defining parameters
sign.c                                       the implementations for functions in api.h
utils.c                                      Some utilities or Input/Oupput functions
utils.h                                      Some utilities or Input/Oupput functions
utils_hash.c                                 Wrappers for HASH functions
utils_hash.h                                 Wrappers for HASH functions
utils_malloc.h                               Utilities for memory allocation functions
utils_prng.c                                 Wrappers for PRNG functions
utils_prng.h                                 Wrappers for PRNG functions
utils_randombytes.c                          Wrappers for randombytes()
utils_randombytes.h                          Wrappers for randombytes()

./Optimized_Implementation/amd64/Ip_pkc_skc: 
aes128_4r_ffs.c                              aes128 ref implementation of ffs method
aes128_4r_ffs.h                              aes128 ref implementation of ffs method
api.h                                        Defining API functions
blas.h                                       Basic linear algebra functions
blas_comm.h                                  Common functions for linear algebra
blas_matrix.c                                Linear algebra functions for matrix operations
blas_matrix.h                                Linear algebra functions for matrix operations
blas_matrix_ref.c                            Linear algebra functions for matrix operations, ref implementations
blas_matrix_ref.h                            Linear algebra functions for matrix operations, ref implementations
blas_u32.h                                   Linear algebra functions, u32 implementations
blas_u64.h                                   Linear algebra functions, u64 implementations
config.h                                     Macros for configuring runtime options
fips202.c                                    ref implementation for SHAKE256
fips202.h                                    ref implementation for SHAKE256
gf16.h                                       finte field arithmetic functions
gf16_u64.h                                   finte field arithmetic functions, u64 version
ov.c                                         Main functions for signing and verifying
ov.h                                         Main functions for signing and verifying
ov_blas.h                                    Wrappers for blas functions
ov_keypair.c                                 Formats of key pairs and functions for generating key pairs.
ov_keypair.h                                 Formats of key pairs and functions for generating key pairs.
ov_keypair_computation.c                     Functions for computations of keypairs.
ov_keypair_computation.h                     Functions for computations of keypairs.
ov_publicmap.c                               Implementations for evaluating public keys
parallel_matrix_op.c                         the standard implementations for functions in parallel_matrix_op.h
parallel_matrix_op.h                         Librarys for operations of batched matrixes.
params.h                                     Macros for defining parameters
sign.c                                       the implementations for functions in api.h
utils.c                                      Some utilities or Input/Oupput functions
utils.h                                      Some utilities or Input/Oupput functions
utils_hash.c                                 Wrappers for HASH functions
utils_hash.h                                 Wrappers for HASH functions
utils_malloc.h                               Utilities for memory allocation functions
utils_prng.c                                 Wrappers for PRNG functions
utils_prng.h                                 Wrappers for PRNG functions
utils_randombytes.c                          Wrappers for randombytes()
utils_randombytes.h                          Wrappers for randombytes()

./Optimized_Implementation/amd64/Is:         
aes128_4r_ffs.c                              aes128 ref implementation of ffs method
aes128_4r_ffs.h                              aes128 ref implementation of ffs method
api.h                                        Defining API functions
blas.h                                       Basic linear algebra functions
blas_comm.h                                  Common functions for linear algebra
blas_matrix.c                                Linear algebra functions for matrix operations
blas_matrix.h                                Linear algebra functions for matrix operations
blas_matrix_ref.c                            Linear algebra functions for matrix operations, ref implementations
blas_matrix_ref.h                            Linear algebra functions for matrix operations, ref implementations
blas_u32.h                                   Linear algebra functions, u32 implementations
blas_u64.h                                   Linear algebra functions, u64 implementations
config.h                                     Macros for configuring runtime options
fips202.c                                    ref implementation for SHAKE256
fips202.h                                    ref implementation for SHAKE256
gf16.h                                       finte field arithmetic functions
gf16_u64.h                                   finte field arithmetic functions, u64 version
ov.c                                         Main functions for signing and verifying
ov.h                                         Main functions for signing and verifying
ov_blas.h                                    Wrappers for blas functions
ov_keypair.c                                 Formats of key pairs and functions for generating key pairs.
ov_keypair.h                                 Formats of key pairs and functions for generating key pairs.
ov_keypair_computation.c                     Functions for computations of keypairs.
ov_keypair_computation.h                     Functions for computations of keypairs.
ov_publicmap.c                               Implementations for evaluating public keys
parallel_matrix_op.c                         the standard implementations for functions in parallel_matrix_op.h
parallel_matrix_op.h                         Librarys for operations of batched matrixes.
params.h                                     Macros for defining parameters
sign.c                                       the implementations for functions in api.h
utils.c                                      Some utilities or Input/Oupput functions
utils.h                                      Some utilities or Input/Oupput functions
utils_hash.c                                 Wrappers for HASH functions
utils_hash.h                                 Wrappers for HASH functions
utils_malloc.h                               Utilities for memory allocation functions
utils_prng.c                                 Wrappers for PRNG functions
utils_prng.h                                 Wrappers for PRNG functions
utils_randombytes.c                          Wrappers for randombytes()
utils_randombytes.h                          Wrappers for randombytes()

./Optimized_Implementation/amd64/Is_pkc:     
aes128_4r_ffs.c                              aes128 ref implementation of ffs method
aes128_4r_ffs.h                              aes128 ref implementation of ffs method
api.h                                        Defining API functions
blas.h                                       Basic linear algebra functions
blas_comm.h                                  Common functions for linear algebra
blas_matrix.c                                Linear algebra functions for matrix operations
blas_matrix.h                                Linear algebra functions for matrix operations
blas_matrix_ref.c                            Linear algebra functions for matrix operations, ref implementations
blas_matrix_ref.h                            Linear algebra functions for matrix operations, ref implementations
blas_u32.h                                   Linear algebra functions, u32 implementations
blas_u64.h                                   Linear algebra functions, u64 implementations
config.h                                     Macros for configuring runtime options
fips202.c                                    ref implementation for SHAKE256
fips202.h                                    ref implementation for SHAKE256
gf16.h                                       finte field arithmetic functions
gf16_u64.h                                   finte field arithmetic functions, u64 version
ov.c                                         Main functions for signing and verifying
ov.h                                         Main functions for signing and verifying
ov_blas.h                                    Wrappers for blas functions
ov_keypair.c                                 Formats of key pairs and functions for generating key pairs.
ov_keypair.h                                 Formats of key pairs and functions for generating key pairs.
ov_keypair_computation.c                     Functions for computations of keypairs.
ov_keypair_computation.h                     Functions for computations of keypairs.
ov_publicmap.c                               Implementations for evaluating public keys
parallel_matrix_op.c                         the standard implementations for functions in parallel_matrix_op.h
parallel_matrix_op.h                         Librarys for operations of batched matrixes.
params.h                                     Macros for defining parameters
sign.c                                       the implementations for functions in api.h
utils.c                                      Some utilities or Input/Oupput functions
utils.h                                      Some utilities or Input/Oupput functions
utils_hash.c                                 Wrappers for HASH functions
utils_hash.h                                 Wrappers for HASH functions
utils_malloc.h                               Utilities for memory allocation functions
utils_prng.c                                 Wrappers for PRNG functions
utils_prng.h                                 Wrappers for PRNG functions
utils_randombytes.c                          Wrappers for randombytes()
utils_randombytes.h                          Wrappers for randombytes()

./Optimized_Implementation/amd64/Is_pkc_skc: 
aes128_4r_ffs.c                              aes128 ref implementation of ffs method
aes128_4r_ffs.h                              aes128 ref implementation of ffs method
api.h                                        Defining API functions
blas.h                                       Basic linear algebra functions
blas_comm.h                                  Common functions for linear algebra
blas_matrix.c                                Linear algebra functions for matrix operations
blas_matrix.h                                Linear algebra functions for matrix operations
blas_matrix_ref.c                            Linear algebra functions for matrix operations, ref implementations
blas_matrix_ref.h                            Linear algebra functions for matrix operations, ref implementations
blas_u32.h                                   Linear algebra functions, u32 implementations
blas_u64.h                                   Linear algebra functions, u64 implementations
config.h                                     Macros for configuring runtime options
fips202.c                                    ref implementation for SHAKE256
fips202.h                                    ref implementation for SHAKE256
gf16.h                                       finte field arithmetic functions
gf16_u64.h                                   finte field arithmetic functions, u64 version
ov.c                                         Main functions for signing and verifying
ov.h                                         Main functions for signing and verifying
ov_blas.h                                    Wrappers for blas functions
ov_keypair.c                                 Formats of key pairs and functions for generating key pairs.
ov_keypair.h                                 Formats of key pairs and functions for generating key pairs.
ov_keypair_computation.c                     Functions for computations of keypairs.
ov_keypair_computation.h                     Functions for computations of keypairs.
ov_publicmap.c                               Implementations for evaluating public keys
parallel_matrix_op.c                         the standard implementations for functions in parallel_matrix_op.h
parallel_matrix_op.h                         Librarys for operations of batched matrixes.
params.h                                     Macros for defining parameters
sign.c                                       the implementations for functions in api.h
utils.c                                      Some utilities or Input/Oupput functions
utils.h                                      Some utilities or Input/Oupput functions
utils_hash.c                                 Wrappers for HASH functions
utils_hash.h                                 Wrappers for HASH functions
utils_malloc.h                               Utilities for memory allocation functions
utils_prng.c                                 Wrappers for PRNG functions
utils_prng.h                                 Wrappers for PRNG functions
utils_randombytes.c                          Wrappers for randombytes()
utils_randombytes.h                          Wrappers for randombytes()

./Optimized_Implementation/amd64/V:          
aes128_4r_ffs.c                              aes128 ref implementation of ffs method
aes128_4r_ffs.h                              aes128 ref implementation of ffs method
api.h                                        Defining API functions
blas.h                                       Basic linear algebra functions
blas_comm.h                                  Common functions for linear algebra
blas_matrix.c                                Linear algebra functions for matrix operations
blas_matrix.h                                Linear algebra functions for matrix operations
blas_matrix_ref.c                            Linear algebra functions for matrix operations, ref implementations
blas_matrix_ref.h                            Linear algebra functions for matrix operations, ref implementations
blas_u32.h                                   Linear algebra functions, u32 implementations
blas_u64.h                                   Linear algebra functions, u64 implementations
config.h                                     Macros for configuring runtime options
fips202.c                                    ref implementation for SHAKE256
fips202.h                                    ref implementation for SHAKE256
gf16.h                                       finte field arithmetic functions
gf16_u64.h                                   finte field arithmetic functions, u64 version
ov.c                                         Main functions for signing and verifying
ov.h                                         Main functions for signing and verifying
ov_blas.h                                    Wrappers for blas functions
ov_keypair.c                                 Formats of key pairs and functions for generating key pairs.
ov_keypair.h                                 Formats of key pairs and functions for generating key pairs.
ov_keypair_computation.c                     Functions for computations of keypairs.
ov_keypair_computation.h                     Functions for computations of keypairs.
ov_publicmap.c                               Implementations for evaluating public keys
parallel_matrix_op.c                         the standard implementations for functions in parallel_matrix_op.h
parallel_matrix_op.h                         Librarys for operations of batched matrixes.
params.h                                     Macros for defining parameters
sign.c                                       the implementations for functions in api.h
utils.c                                      Some utilities or Input/Oupput functions
utils.h                                      Some utilities or Input/Oupput functions
utils_hash.c                                 Wrappers for HASH functions
utils_hash.h                                 Wrappers for HASH functions
utils_malloc.h                               Utilities for memory allocation functions
utils_prng.c                                 Wrappers for PRNG functions
utils_prng.h                                 Wrappers for PRNG functions
utils_randombytes.c                          Wrappers for randombytes()
utils_randombytes.h                          Wrappers for randombytes()

./Optimized_Implementation/amd64/V_pkc:      
aes128_4r_ffs.c                              aes128 ref implementation of ffs method
aes128_4r_ffs.h                              aes128 ref implementation of ffs method
api.h                                        Defining API functions
blas.h                                       Basic linear algebra functions
blas_comm.h                                  Common functions for linear algebra
blas_matrix.c                                Linear algebra functions for matrix operations
blas_matrix.h                                Linear algebra functions for matrix operations
blas_matrix_ref.c                            Linear algebra functions for matrix operations, ref implementations
blas_matrix_ref.h                            Linear algebra functions for matrix operations, ref implementations
blas_u32.h                                   Linear algebra functions, u32 implementations
blas_u64.h                                   Linear algebra functions, u64 implementations
config.h                                     Macros for configuring runtime options
fips202.c                                    ref implementation for SHAKE256
fips202.h                                    ref implementation for SHAKE256
gf16.h                                       finte field arithmetic functions
gf16_u64.h                                   finte field arithmetic functions, u64 version
ov.c                                         Main functions for signing and verifying
ov.h                                         Main functions for signing and verifying
ov_blas.h                                    Wrappers for blas functions
ov_keypair.c                                 Formats of key pairs and functions for generating key pairs.
ov_keypair.h                                 Formats of key pairs and functions for generating key pairs.
ov_keypair_computation.c                     Functions for computations of keypairs.
ov_keypair_computation.h                     Functions for computations of keypairs.
ov_publicmap.c                               Implementations for evaluating public keys
parallel_matrix_op.c                         the standard implementations for functions in parallel_matrix_op.h
parallel_matrix_op.h                         Librarys for operations of batched matrixes.
params.h                                     Macros for defining parameters
sign.c                                       the implementations for functions in api.h
utils.c                                      Some utilities or Input/Oupput functions
utils.h                                      Some utilities or Input/Oupput functions
utils_hash.c                                 Wrappers for HASH functions
utils_hash.h                                 Wrappers for HASH functions
utils_malloc.h                               Utilities for memory allocation functions
utils_prng.c                                 Wrappers for PRNG functions
utils_prng.h                                 Wrappers for PRNG functions
utils_randombytes.c                          Wrappers for randombytes()
utils_randombytes.h                          Wrappers for randombytes()

./Optimized_Implementation/amd64/V_pkc_skc:  
aes128_4r_ffs.c                              aes128 ref implementation of ffs method
aes128_4r_ffs.h                              aes128 ref implementation of ffs method
api.h                                        Defining API functions
blas.h                                       Basic linear algebra functions
blas_comm.h                                  Common functions for linear algebra
blas_matrix.c                                Linear algebra functions for matrix operations
blas_matrix.h                                Linear algebra functions for matrix operations
blas_matrix_ref.c                            Linear algebra functions for matrix operations, ref implementations
blas_matrix_ref.h                            Linear algebra functions for matrix operations, ref implementations
blas_u32.h                                   Linear algebra functions, u32 implementations
blas_u64.h                                   Linear algebra functions, u64 implementations
config.h                                     Macros for configuring runtime options
fips202.c                                    ref implementation for SHAKE256
fips202.h                                    ref implementation for SHAKE256
gf16.h                                       finte field arithmetic functions
gf16_u64.h                                   finte field arithmetic functions, u64 version
ov.c                                         Main functions for signing and verifying
ov.h                                         Main functions for signing and verifying
ov_blas.h                                    Wrappers for blas functions
ov_keypair.c                                 Formats of key pairs and functions for generating key pairs.
ov_keypair.h                                 Formats of key pairs and functions for generating key pairs.
ov_keypair_computation.c                     Functions for computations of keypairs.
ov_keypair_computation.h                     Functions for computations of keypairs.
ov_publicmap.c                               Implementations for evaluating public keys
parallel_matrix_op.c                         the standard implementations for functions in parallel_matrix_op.h
parallel_matrix_op.h                         Librarys for operations of batched matrixes.
params.h                                     Macros for defining parameters
sign.c                                       the implementations for functions in api.h
utils.c                                      Some utilities or Input/Oupput functions
utils.h                                      Some utilities or Input/Oupput functions
utils_hash.c                                 Wrappers for HASH functions
utils_hash.h                                 Wrappers for HASH functions
utils_malloc.h                               Utilities for memory allocation functions
utils_prng.c                                 Wrappers for PRNG functions
utils_prng.h                                 Wrappers for PRNG functions
utils_randombytes.c                          Wrappers for randombytes()
utils_randombytes.h                          Wrappers for randombytes()

./Optimized_Implementation/amd64/nistkat:    
PQCgenKAT_sign.c                             the program for generating KATs from NIST
rng.c                                        KAT tools from NIST
rng.h                                        KAT tools from NIST

./Optimized_Implementation/avx2:             
generate_KAT.sh                              script for generating KAT
III                                          uov-III, classic
III_pkc                                      uov-III, compressed public key
III_pkc_skc                                  uov-III, compressed public and secret keys
Ip                                           uov-Ip, classic
Ip_pkc                                       uov-Ip, compressed public key
Ip_pkc_skc                                   uov-Ip, compressed public and secret keys
Is                                           uov-Is, classic
Is_pkc                                       uov-Is, compressed public key
Is_pkc_skc                                   uov-Is, compressed public and secret keys
Makefile                                     build rules, selecting a parameter set with PROJ
nistkat                                      Directory for KAT tools from NIST
README.md                                    parameters and build instructions for this implementation
sign_api-test.c                              Unit-tester for api functions
V                                            uov-V, classic
V_pkc                                        uov-V, compressed public key
V_pkc_skc                                    uov-V, compressed public and secret keys

./Optimized_Implementation/avx2/III:         
aes128_4r_ffs.c                              aes128 ref implementation of ffs method
aes128_4r_ffs.h                              aes128 ref implementation of ffs method
api.h                                        Defining API functions
blas.h                                       Basic linear algebra functions
blas_avx2.h                                  Linear algebra functions, AVX2 implementations
blas_comm.h                                  Common functions for linear algebra
blas_matrix.c                                Linear algebra functions for matrix operations
blas_matrix.h                                Linear algebra functions for matrix operations
blas_matrix_avx2.c                           Linear algebra functions for matrix operations, AVX2 implementations
blas_matrix_avx2.h                           Linear algebra functions for matrix operations, AVX2 implementations
blas_matrix_ref.c                            Linear algebra functions for matrix operations, ref implementations
blas_matrix_ref.h                            Linear algebra functions for matrix operations, ref implementations
blas_matrix_sse.c                            Linear algebra functions for matrix operations, SSE implementations
blas_matrix_sse.h                            Linear algebra functions for matrix operations, SSE implementations
blas_sse.h                                   Linear algebra functions, SSE implemnetations
blas_u32.h                                   Linear algebra functions, u32 implementations
blas_u64.h                                   Linear algebra functions, u64 implementations
config.h                                     Macros for configuring runtime options
fips202.c                                    ref implementation for SHAKE256
fips202.h                                    ref implementation for SHAKE256
gf16.h                                       finte field arithmetic functions
gf16_avx2.h                                  finte field arithmetic functions, AVX2 version
gf16_sse.h                                   finte field arithmetic functions, SSE version
gf16_tabs.c                                  tables for finte field arithmetic functions
gf16_tabs.h                                  tables for finte field arithmetic functions
gf16_u64.h                                   finte field arithmetic functions, u64 version
gf256_tabs.c                                 tables finte field arithmetic functions
gf256_tabs.h                                 tables finte field arithmetic functions
ov.c                                         Main functions for signing and verifying
ov.h                                         Main functions for signing and verifying
ov_blas.h                                    Wrappers for blas functions
ov_keypair.c                                 Formats of key pairs and functions for generating key pairs.
ov_keypair.h                                 Formats of key pairs and functions for generating key pairs.
ov_keypair_computation.c                     Functions for computations of keypairs.
ov_keypair_computation.h                     Functions for computations of keypairs.
ov_publicmap.c                               Implementations for evaluating public keys
parallel_matrix_op.c                         the standard implementations for functions in parallel_matrix_op.h
parallel_matrix_op.h                         Librarys for operations of batched matrixes.
params.h                                     Macros for defining parameters
sign.c                                       the implementations for functions in api.h
utils.c                                      Some utilities or Input/Oupput functions
utils.h                                      Some utilities or Input/Oupput functions
utils_hash.c                                 Wrappers for HASH functions
utils_hash.h                                 Wrappers for HASH functions
utils_malloc.h                               Utilities for memory allocation functions
utils_prng.c                                 Wrappers for PRNG functions
utils_prng.h                                 Wrappers for PRNG functions
utils_randombytes.c                          Wrappers for randombytes()
utils_randombytes.h                          Wrappers for randombytes()
x86aesni.c                                   AES implementation for x86 AES-NI instruction set
x86aesni.h                                   AES implementation for x86 AES-NI instruction set

./Optimized_Implementation/avx2/III_pkc:     
aes128_4r_ffs.c                              aes128 ref implementation of ffs method
aes128_4r_ffs.h                              aes128 ref implementation of ffs method
api.h                                        Defining API functions
blas.h                                       Basic linear algebra functions
blas_avx2.h                                  Linear algebra functions, AVX2 implementations
blas_comm.h                                  Common functions for linear algebra
blas_matrix.c                                Linear algebra functions for matrix operations
blas_matrix.h                                Linear algebra functions for matrix operations
blas_matrix_avx2.c                           Linear algebra functions for matrix operations, AVX2 implementations
blas_matrix_avx2.h                           Linear algebra functions for matrix operations, AVX2 implementations
blas_matrix_ref.c                            Linear algebra functions for matrix operations, ref implementations
blas_matrix_ref.h                            Linear algebra functions for matrix operations, ref implementations
blas_matrix_sse.c                            Linear algebra functions for matrix operations, SSE implementations
blas_matrix_sse.h                            Linear algebra functions for matrix operations, SSE implementations
blas_sse.h                                   Linear algebra functions, SSE implemnetations
blas_u32.h                                   Linear algebra functions, u32 implementations
blas_u64.h                                   Linear algebra functions, u64 implementations
config.h                                     Macros for configuring runtime options
fips202.c                                    ref implementation for SHAKE256
fips202.h                                    ref implementation for SHAKE256
gf16.h                                       finte field arithmetic functions
gf16_avx2.h                                  finte field arithmetic functions, AVX2 version
gf16_sse.h                                   finte field arithmetic functions, SSE version
gf16_tabs.c                                  tables for finte field arithmetic functions
gf16_tabs.h                                  tables for finte field arithmetic functions
gf16_u64.h                                   finte field arithmetic functions, u64 version
gf256_tabs.c                                 tables finte field arithmetic functions
gf256_tabs.h                                 tables finte field arithmetic functions
ov.c                                         Main functions for signing and verifying
ov.h                                         Main functions for signing and verifying
ov_blas.h                                    Wrappers for blas functions
ov_keypair.c                                 Formats of key pairs and functions for generating key pairs.
ov_keypair.h                                 Formats of key pairs and functions for generating key pairs.
ov_keypair_computation.c                     Functions for computations of keypairs.
ov_keypair_computation.h                     Functions for computations of keypairs.
ov_publicmap.c                               Implementations for evaluating public keys
parallel_matrix_op.c                         the standard implementations for functions in parallel_matrix_op.h
parallel_matrix_op.h                         Librarys for operations of batched matrixes.
params.h                                     Macros for defining parameters
sign.c                                       the implementations for functions in api.h
utils.c                                      Some utilities or Input/Oupput functions
utils.h                                      Some utilities or Input/Oupput functions
utils_hash.c                                 Wrappers for HASH functions
utils_hash.h                                 Wrappers for HASH functions
utils_malloc.h                               Utilities for memory allocation functions
utils_prng.c                                 Wrappers for PRNG functions
utils_prng.h                                 Wrappers for PRNG functions
utils_randombytes.c                          Wrappers for randombytes()
utils_randombytes.h                          Wrappers for randombytes()
x86aesni.c                                   AES implementation for x86 AES-NI instruction set
x86aesni.h                                   AES implementation for x86 AES-NI instruction set

./Optimized_Implementation/avx2/III_pkc_skc: 
aes128_4r_ffs.c                              aes128 ref implementation of ffs method
aes128_4r_ffs.h                              aes128 ref implementation of ffs method
api.h                                        Defining API functions
blas.h                                       Basic linear algebra functions
blas_avx2.h                                  Linear algebra functions, AVX2 implementations
blas_comm.h                                  Common functions for linear algebra
blas_matrix.c                                Linear algebra functions for matrix operations
blas_matrix.h                                Linear algebra functions for matrix operations
blas_matrix_avx2.c                           Linear algebra functions for matrix operations, AVX2 implementations
blas_matrix_avx2.h                           Linear algebra functions for matrix operations, AVX2 implementations
blas_matrix_ref.c                            Linear algebra functions for matrix operations, ref implementations
blas_matrix_ref.h                            Linear algebra functions for matrix operations, ref implementations
blas_matrix_sse.c                            Linear algebra functions for matrix operations, SSE implementations
blas_matrix_sse.h                            Linear algebra functions for matrix operations, SSE implementations
blas_sse.h                                   Linear algebra functions, SSE implemnetations
blas_u32.h                                   Linear algebra functions, u32 implementations
blas_u64.h                                   Linear algebra functions, u64 implementations
config.h                                     Macros for configuring runtime options
fips202.c                                    ref implementation for SHAKE256
fips202.h                                    ref implementation for SHAKE256
gf16.h                                       finte field arithmetic functions
gf16_avx2.h                                  finte field arithmetic functions, AVX2 version
gf16_sse.h                                   finte field arithmetic functions, SSE version
gf16_tabs.c                                  tables for finte field arithmetic functions
gf16_tabs.h                                  tables for finte field arithmetic functions
gf16_u64.h                                   finte field arithmetic functions, u64 version
gf256_tabs.c                                 tables finte field arithmetic functions
gf256_tabs.h                                 tables finte field arithmetic functions
ov.c                                         Main functions for signing and verifying
ov.h                                         Main functions for signing and verifying
ov_blas.h                                    Wrappers for blas functions
ov_keypair.c                                 Formats of key pairs and functions for generating key pairs.
ov_keypair.h                                 Formats of key pairs and functions for generating key pairs.
ov_keypair_computation.c                     Functions for computations of keypairs.
ov_keypair_computation.h                     Functions for computations of keypairs.
ov_publicmap.c                               Implementations for evaluating public keys
parallel_matrix_op.c                         the standard implementations for functions in parallel_matrix_op.h
parallel_matrix_op.h                         Librarys for operations of batched matrixes.
params.h                                     Macros for defining parameters
sign.c                                       the implementations for functions in api.h
utils.c                                      Some utilities or Input/Oupput functions
utils.h                                      Some utilities or Input/Oupput functions
utils_hash.c                                 Wrappers for HASH functions
utils_hash.h                                 Wrappers for HASH functions
utils_malloc.h                               Utilities for memory allocation functions
utils_prng.c                                 Wrappers for PRNG functions
utils_prng.h                                 Wrappers for PRNG functions
utils_randombytes.c                          Wrappers for randombytes()
utils_randombytes.h                          Wrappers for randombytes()
x86aesni.c                                   AES implementation for x86 AES-NI instruction set
x86aesni.h                                   AES implementation for x86 AES-NI instruction set

./Optimized_Implementation/avx2/Ip:          
aes128_4r_ffs.c                              aes128 ref implementation of ffs method
aes128_4r_ffs.h                              aes128 ref implementation of ffs method
api.h                                        Defining API functions
blas.h                                       Basic linear algebra functions
blas_avx2.h                                  Linear algebra functions, AVX2 implementations
blas_comm.h                                  Common functions for linear algebra
blas_matrix.c                                Linear algebra functions for matrix operations
blas_matrix.h                                Linear algebra functions for matrix operations
blas_matrix_avx2.c                           Linear algebra functions for matrix operations, AVX2 implementations
blas_matrix_avx2.h                           Linear algebra functions for matrix operations, AVX2 implementations
blas_matrix_ref.c                            Linear algebra functions for matrix operations, ref implementations
blas_matrix_ref.h                            Linear algebra functions for matrix operations, ref implementations
blas_matrix_sse.c                            Linear algebra functions for matrix operations, SSE implementations
blas_matrix_sse.h                            Linear algebra functions for matrix operations, SSE implementations
blas_sse.h                                   Linear algebra functions, SSE implemnetations
blas_u32.h                                   Linear algebra functions, u32 implementations
blas_u64.h                                   Linear algebra functions, u64 implementations
config.h                                     Macros for configuring runtime options
fips202.c                                    ref implementation for SHAKE256
fips202.h                                    ref implementation for SHAKE256
gf16.h                                       finte field arithmetic functions
gf16_avx2.h                                  finte field arithmetic functions, AVX2 version
gf16_sse.h                                   finte field arithmetic functions, SSE version
gf16_tabs.c                                  tables for finte field arithmetic functions
gf16_tabs.h                                  tables for finte field arithmetic functions
gf16_u64.h                                   finte field arithmetic functions, u64 version
gf256_tabs.c                                 tables finte field arithmetic functions
gf256_tabs.h                                 tables finte field arithmetic functions
ov.c                                         Main functions for signing and verifying
ov.h                                         Main functions for signing and verifying
ov_blas.h                                    Wrappers for blas functions
ov_keypair.c                                 Formats of key pairs and functions for generating key pairs.
ov_keypair.h                                 Formats of key pairs and functions for generating key pairs.
ov_keypair_computation.c                     Functions for computations of keypairs.
ov_keypair_computation.h                     Functions for computations of keypairs.
ov_publicmap.c                               Implementations for evaluating public keys
parallel_matrix_op.c                         the standard implementations for functions in parallel_matrix_op.h
parallel_matrix_op.h                         Librarys for operations of batched matrixes.
params.h                                     Macros for defining parameters
sign.c                                       the implementations for functions in api.h
utils.c                                      Some utilities or Input/Oupput functions
utils.h                                      Some utilities or Input/Oupput functions
utils_hash.c                                 Wrappers for HASH functions
utils_hash.h                                 Wrappers for HASH functions
utils_malloc.h                               Utilities for memory allocation functions
utils_prng.c                                 Wrappers for PRNG functions
utils_prng.h                                 Wrappers for PRNG functions
utils_randombytes.c                          Wrappers for randombytes()
utils_randombytes.h                          Wrappers for randombytes()
x86aesni.c                                   AES implementation for x86 AES-NI instruction set
x86aesni.h                                   AES implementation for x86 AES-NI instruction set

./Optimized_Implementation/avx2/Ip_pkc:      
aes128_4r_ffs.c                              aes128 ref implementation of ffs method
aes128_4r_ffs.h                              aes128 ref implementation of ffs method
api.h                                        Defining API functions
blas.h                                       Basic linear algebra functions
blas_avx2.h                                  Linear algebra functions, AVX2 implementations
blas_comm.h                                  Common functions for linear algebra
blas_matrix.c                                Linear algebra functions for matrix operations
blas_matrix.h                                Linear algebra functions for matrix operations
blas_matrix_avx2.c                           Linear algebra functions for matrix operations, AVX2 implementations
blas_matrix_avx2.h                           Linear algebra functions for matrix operations, AVX2 implementations
blas_matrix_ref.c                            Linear algebra functions for matrix operations, ref implementations
blas_matrix_ref.h                            Linear algebra functions for matrix operations, ref implementations
blas_matrix_sse.c                            Linear algebra functions for matrix operations, SSE implementations
blas_matrix_sse.h                            Linear algebra functions for matrix operations, SSE implementations
blas_sse.h                                   Linear algebra functions, SSE implemnetations
blas_u32.h                                   Linear algebra functions, u32 implementations
blas_u64.h                                   Linear algebra functions, u64 implementations
config.h                                     Macros for configuring runtime options
fips202.c                                    ref implementation for SHAKE256
fips202.h                                    ref implementation for SHAKE256
gf16.h                                       finte field arithmetic functions
gf16_avx2.h                                  finte field arithmetic functions, AVX2 version
gf16_sse.h                                   finte field arithmetic functions, SSE version
gf16_tabs.c                                  tables for finte field arithmetic functions
gf16_tabs.h                                  tables for finte field arithmetic functions
gf16_u64.h                                   finte field arithmetic functions, u64 version
gf256_tabs.c                                 tables finte field arithmetic functions
gf256_tabs.h                                 tables finte field arithmetic functions
ov.c                                         Main functions for signing and verifying
ov.h                                         Main functions for signing and verifying
ov_blas.h                                    Wrappers for blas functions
ov_keypair.c                                 Formats of key pairs and functions for generating key pairs.
ov_keypair.h                                 Formats of key pairs and functions for generating key pairs.
ov_keypair_computation.c                     Functions for computations of keypairs.
ov_keypair_computation.h                     Functions for computations of keypairs.
ov_publicmap.c                               Implementations for evaluating public keys
parallel_matrix_op.c                         the standard implementations for functions in parallel_matrix_op.h
parallel_matrix_op.h                         Librarys for operations of batched matrixes.
params.h                                     Macros for defining parameters
sign.c                                       the implementations for functions in api.h
utils.c                                      Some utilities or Input/Oupput functions
utils.h                                      Some utilities or Input/Oupput functions
utils_hash.c                                 Wrappers for HASH functions
utils_hash.h                                 Wrappers for HASH functions
utils_malloc.h                               Utilities for memory allocation functions
utils_prng.c                                 Wrappers for PRNG functions
utils_prng.h                                 Wrappers for PRNG functions
utils_randombytes.c                          Wrappers for randombytes()
utils_randombytes.h                          Wrappers for randombytes()
x86aesni.c                                   AES implementation for x86 AES-NI instruction set
x86aesni.h                                   AES implementation for x86 AES-NI instruction set

./Optimized_Implementation/avx2/Ip_pkc_skc:  
aes128_4r_ffs.c                              aes128 ref implementation of ffs method
aes128_4r_ffs.h                              aes128 ref implementation of ffs method
api.h                                        Defining API functions
blas.h                                       Basic linear algebra functions
blas_avx2.h                                  Linear algebra functions, AVX2 implementations
blas_comm.h                                  Common functions for linear algebra
blas_matrix.c                                Linear algebra functions for matrix operations
blas_matrix.h                                Linear algebra functions for matrix operations
blas_matrix_avx2.c                           Linear algebra functions for matrix operations, AVX2 implementations
blas_matrix_avx2.h                           Linear algebra functions for matrix operations, AVX2 implementations
blas_matrix_ref.c                            Linear algebra functions for matrix operations, ref implementations
blas_matrix_ref.h                            Linear algebra functions for matrix operations, ref implementations
blas_matrix_sse.c                            Linear algebra functions for matrix operations, SSE implementations
blas_matrix_sse.h                            Linear algebra functions for matrix operations, SSE implementations
blas_sse.h                                   Linear algebra functions, SSE implemnetations
blas_u32.h                                   Linear algebra functions, u32 implementations
blas_u64.h                                   Linear algebra functions, u64 implementations
config.h                                     Macros for configuring runtime options
fips202.c                                    ref implementation for SHAKE256
fips202.h                                    ref implementation for SHAKE256
gf16.h                                       finte field arithmetic functions
gf16_avx2.h                                  finte field arithmetic functions, AVX2 version
gf16_sse.h                                   finte field arithmetic functions, SSE version
gf16_tabs.c                                  tables for finte field arithmetic functions
gf16_tabs.h                                  tables for finte field arithmetic functions
gf16_u64.h                                   finte field arithmetic functions, u64 version
gf256_tabs.c                                 tables finte field arithmetic functions
gf256_tabs.h                                 tables finte field arithmetic functions
ov.c                                         Main functions for signing and verifying
ov.h                                         Main functions for signing and verifying
ov_blas.h                                    Wrappers for blas functions
ov_keypair.c                                 Formats of key pairs and functions for generating key pairs.
ov_keypair.h                                 Formats of key pairs and functions for generating key pairs.
ov_keypair_computation.c                     Functions for computations of keypairs.
ov_keypair_computation.h                     Functions for computations of keypairs.
ov_publicmap.c                               Implementations for evaluating public keys
parallel_matrix_op.c                         the standard implementations for functions in parallel_matrix_op.h
parallel_matrix_op.h                         Librarys for operations of batched matrixes.
params.h                                     Macros for defining parameters
sign.c                                       the implementations for functions in api.h
utils.c                                      Some utilities or Input/Oupput functions
utils.h                                      Some utilities or Input/Oupput functions
utils_hash.c                                 Wrappers for HASH functions
utils_hash.h                                 Wrappers for HASH functions
utils_malloc.h                               Utilities for memory allocation functions
utils_prng.c                                 Wrappers for PRNG functions
utils_prng.h                                 Wrappers for PRNG functions
utils_randombytes.c                          Wrappers for randombytes()
utils_randombytes.h                          Wrappers for randombytes()
x86aesni.c                                   AES implementation for x86 AES-NI instruction set
x86aesni.h                                   AES implementation for x86 AES-NI instruction set

./Optimized_Implementation/avx2/Is:          
aes128_4r_ffs.c                              aes128 ref implementation of ffs method
aes128_4r_ffs.h                              aes128 ref implementation of ffs method
api.h                                        Defining API functions
blas.h                                       Basic linear algebra functions
blas_avx2.h                                  Linear algebra functions, AVX2 implementations
blas_comm.h                                  Common functions for linear algebra
blas_matrix.c                                Linear algebra functions for matrix operations
blas_matrix.h                                Linear algebra functions for matrix operations
blas_matrix_avx2.c                           Linear algebra functions for matrix operations, AVX2 implementations
blas_matrix_avx2.h                           Linear algebra functions for matrix operations, AVX2 implementations
blas_matrix_ref.c                            Linear algebra functions for matrix operations, ref implementations
blas_matrix_ref.h                            Linear algebra functions for matrix operations, ref implementations
blas_matrix_sse.c                            Linear algebra functions for matrix operations, SSE implementations
blas_matrix_sse.h                            Linear algebra functions for matrix operations, SSE implementations
blas_sse.h                                   Linear algebra functions, SSE implemnetations
blas_u32.h                                   Linear algebra functions, u32 implementations
blas_u64.h                                   Linear algebra functions, u64 implementations
config.h                                     Macros for configuring runtime options
fips202.c                                    ref implementation for SHAKE256
fips202.h                                    ref implementation for SHAKE256
gf16.h                                       finte field arithmetic functions
gf16_avx2.h                                  finte field arithmetic functions, AVX2 version
gf16_sse.h                                   finte field arithmetic functions, SSE version
gf16_tabs.c                                  tables for finte field arithmetic functions
gf16_tabs.h                                  tables for finte field arithmetic functions
gf16_u64.h                                   finte field arithmetic functions, u64 version
gf256_tabs.c                                 tables finte field arithmetic functions
gf256_tabs.h                                 tables finte field arithmetic functions
ov.c                                         Main functions for signing and verifying
ov.h                                         Main functions for signing and verifying
ov_blas.h                                    Wrappers for blas functions
ov_keypair.c                                 Formats of key pairs and functions for generating key pairs.
ov_keypair.h                                 Formats of key pairs and functions for generating key pairs.
ov_keypair_computation.c                     Functions for computations of keypairs.
ov_keypair_computation.h                     Functions for computations of keypairs.
ov_publicmap.c                               Implementations for evaluating public keys
parallel_matrix_op.c                         the standard implementations for functions in parallel_matrix_op.h
parallel_matrix_op.h                         Librarys for operations of batched matrixes.
params.h                                     Macros for defining parameters
sign.c                                       the implementations for functions in api.h
utils.c                                      Some utilities or Input/Oupput functions
utils.h                                      Some utilities or Input/Oupput functions
utils_hash.c                                 Wrappers for HASH functions
utils_hash.h                                 Wrappers for HASH functions
utils_malloc.h                               Utilities for memory allocation functions
utils_prng.c                                 Wrappers for PRNG functions
utils_prng.h                                 Wrappers for PRNG functions
utils_randombytes.c                          Wrappers for randombytes()
utils_randombytes.h                          Wrappers for randombytes()
x86aesni.c                                   AES implementation for x86 AES-NI instruction set
x86aesni.h                                   AES implementation for x86 AES-NI instruction set

./Optimized_Implementation/avx2/Is_pkc:      
aes128_4r_ffs.c                              aes128 ref implementation of ffs method
aes128_4r_ffs.h                              aes128 ref implementation of ffs method
api.h                                        Defining API functions
blas.h                                       Basic linear algebra functions
blas_avx2.h                                  Linear algebra functions, AVX2 implementations
blas_comm.h                                  Common functions for linear algebra
blas_matrix.c                                Linear algebra functions for matrix operations
blas_matrix.h                                Linear algebra functions for matrix operations
blas_matrix_avx2.c                           Linear algebra functions for matrix operations, AVX2 implementations
blas_matrix_avx2.h                           Linear algebra functions for matrix operations, AVX2 implementations
blas_matrix_ref.c                            Linear algebra functions for matrix operations, ref implementations
blas_matrix_ref.h                            Linear algebra functions for matrix operations, ref implementations
blas_matrix_sse.c                            Linear algebra functions for matrix operations, SSE implementations
blas_matrix_sse.h                            Linear algebra functions for matrix operations, SSE implementations
blas_sse.h                                   Linear algebra functions, SSE implemnetations
blas_u32.h                                   Linear algebra functions, u32 implementations
blas_u64.h                                   Linear algebra functions, u64 implementations
config.h                                     Macros for configuring runtime options
fips202.c                                    ref implementation for SHAKE256
fips202.h                                    ref implementation for SHAKE256
gf16.h                                       finte field arithmetic functions
gf16_avx2.h                                  finte field arithmetic functions, AVX2 version
gf16_sse.h                                   finte field arithmetic functions, SSE version
gf16_tabs.c                                  tables for finte field arithmetic functions
gf16_tabs.h                                  tables for finte field arithmetic functions
gf16_u64.h                                   finte field arithmetic functions, u64 version
gf256_tabs.c                                 tables finte field arithmetic functions
gf256_tabs.h                                 tables finte field arithmetic functions
ov.c                                         Main functions for signing and verifying
ov.h                                         Main functions for signing and verifying
ov_blas.h                                    Wrappers for blas functions
ov_keypair.c                                 Formats of key pairs and functions for generating key pairs.
ov_keypair.h                                 Formats of key pairs and functions for generating key pairs.
ov_keypair_computation.c                     Functions for computations of keypairs.
ov_keypair_computation.h                     Functions for computations of keypairs.
ov_publicmap.c                               Implementations for evaluating public keys
parallel_matrix_op.c                         the standard implementations for functions in parallel_matrix_op.h
parallel_matrix_op.h                         Librarys for operations of batched matrixes.
params.h                                     Macros for defining parameters
sign.c                                       the implementations for functions in api.h
utils.c                                      Some utilities or Input/Oupput functions
utils.h                                      Some utilities or Input/Oupput functions
utils_hash.c                                 Wrappers for HASH functions
utils_hash.h                                 Wrappers for HASH functions
utils_malloc.h                               Utilities for memory allocation functions
utils_prng.c                                 Wrappers for PRNG functions
utils_prng.h                                 Wrappers for PRNG functions
utils_randombytes.c                          Wrappers for randombytes()
utils_randombytes.h                          Wrappers for randombytes()
x86aesni.c                                   AES implementation for x86 AES-NI instruction set
x86aesni.h                                   AES implementation for x86 AES-NI instruction set

./Optimized_Implementation/avx2/Is_pkc_skc:  
aes128_4r_ffs.c                              aes128 ref implementation of ffs method
aes128_4r_ffs.h                              aes128 ref implementation of ffs method
api.h                                        Defining API functions
blas.h                                       Basic linear algebra functions
blas_avx2.h                                  Linear algebra functions, AVX2 implementations
blas_comm.h                                  Common functions for linear algebra
blas_matrix.c                                Linear algebra functions for matrix operations
blas_matrix.h                                Linear algebra functions for matrix operations
blas_matrix_avx2.c                           Linear algebra functions for matrix operations, AVX2 implementations
blas_matrix_avx2.h                           Linear algebra functions for matrix operations, AVX2 implementations
blas_matrix_ref.c                            Linear algebra functions for matrix operations, ref implementations
blas_matrix_ref.h                            Linear algebra functions for matrix operations, ref implementations
blas_matrix_sse.c                            Linear algebra functions for matrix operations, SSE implementations
blas_matrix_sse.h                            Linear algebra functions for matrix operations, SSE implementations
blas_sse.h                                   Linear algebra functions, SSE implemnetations
blas_u32.h                                   Linear algebra functions, u32 implementations
blas_u64.h                                   Linear algebra functions, u64 implementations
config.h                                     Macros for configuring runtime options
fips202.c                                    ref implementation for SHAKE256
fips202.h                                    ref implementation for SHAKE256
gf16.h                                       finte field arithmetic functions
gf16_avx2.h                                  finte field arithmetic functions, AVX2 version
gf16_sse.h                                   finte field arithmetic functions, SSE version
gf16_tabs.c                                  tables for finte field arithmetic functions
gf16_tabs.h                                  tables for finte field arithmetic functions
gf16_u64.h                                   finte field arithmetic functions, u64 version
gf256_tabs.c                                 tables finte field arithmetic functions
gf256_tabs.h                                 tables finte field arithmetic functions
ov.c                                         Main functions for signing and verifying
ov.h                                         Main functions for signing and verifying
ov_blas.h                                    Wrappers for blas functions
ov_keypair.c                                 Formats of key pairs and functions for generating key pairs.
ov_keypair.h                                 Formats of key pairs and functions for generating key pairs.
ov_keypair_computation.c                     Functions for computations of keypairs.
ov_keypair_computation.h                     Functions for computations of keypairs.
ov_publicmap.c                               Implementations for evaluating public keys
parallel_matrix_op.c                         the standard implementations for functions in parallel_matrix_op.h
parallel_matrix_op.h                         Librarys for operations of batched matrixes.
params.h                                     Macros for defining parameters
sign.c                                       the implementations for functions in api.h
utils.c                                      Some utilities or Input/Oupput functions
utils.h                                      Some utilities or Input/Oupput functions
utils_hash.c                                 Wrappers for HASH functions
utils_hash.h                                 Wrappers for HASH functions
utils_malloc.h                               Utilities for memory allocation functions
utils_prng.c                                 Wrappers for PRNG functions
utils_prng.h                                 Wrappers for PRNG functions
utils_randombytes.c                          Wrappers for randombytes()
utils_randombytes.h                          Wrappers for randombytes()
x86aesni.c                                   AES implementation for x86 AES-NI instruction set
x86aesni.h                                   AES implementation for x86 AES-NI instruction set

./Optimized_Implementation/avx2/V:           
aes128_4r_ffs.c                              aes128 ref implementation of ffs method
aes128_4r_ffs.h                              aes128 ref implementation of ffs method
api.h                                        Defining API functions
blas.h                                       Basic linear algebra functions
blas_avx2.h                                  Linear algebra functions, AVX2 implementations
blas_comm.h                                  Common functions for linear algebra
blas_matrix.c                                Linear algebra functions for matrix operations
blas_matrix.h                                Linear algebra functions for matrix operations
blas_matrix_avx2.c                           Linear algebra functions for matrix operations, AVX2 implementations
blas_matrix_avx2.h                           Linear algebra functions for matrix operations, AVX2 implementations
blas_matrix_ref.c                            Linear algebra functions for matrix operations, ref implementations
blas_matrix_ref.h                            Linear algebra functions for matrix operations, ref implementations
blas_matrix_sse.c                            Linear algebra functions for matrix operations, SSE implementations
blas_matrix_sse.h                            Linear algebra functions for matrix operations, SSE implementations
blas_sse.h                                   Linear algebra functions, SSE implemnetations
blas_u32.h                                   Linear algebra functions, u32 implementations
blas_u64.h                                   Linear algebra functions, u64 implementations
config.h                                     Macros for configuring runtime options
fips202.c                                    ref implementation for SHAKE256
fips202.h                                    ref implementation for SHAKE256
gf16.h                                       finte field arithmetic functions
gf16_avx2.h                                  finte field arithmetic functions, AVX2 version
gf16_sse.h                                   finte field arithmetic functions, SSE version
gf16_tabs.c                                  tables for finte field arithmetic functions
gf16_tabs.h                                  tables for finte field arithmetic functions
gf16_u64.h                                   finte field arithmetic functions, u64 version
gf256_tabs.c                                 tables finte field arithmetic functions
gf256_tabs.h                                 tables finte field arithmetic functions
ov.c                                         Main functions for signing and verifying
ov.h                                         Main functions for signing and verifying
ov_blas.h                                    Wrappers for blas functions
ov_keypair.c                                 Formats of key pairs and functions for generating key pairs.
ov_keypair.h                                 Formats of key pairs and functions for generating key pairs.
ov_keypair_computation.c                     Functions for computations of keypairs.
ov_keypair_computation.h                     Functions for computations of keypairs.
ov_publicmap.c                               Implementations for evaluating public keys
parallel_matrix_op.c                         the standard implementations for functions in parallel_matrix_op.h
parallel_matrix_op.h                         Librarys for operations of batched matrixes.
params.h                                     Macros for defining parameters
sign.c                                       the implementations for functions in api.h
utils.c                                      Some utilities or Input/Oupput functions
utils.h                                      Some utilities or Input/Oupput functions
utils_hash.c                                 Wrappers for HASH functions
utils_hash.h                                 Wrappers for HASH functions
utils_malloc.h                               Utilities for memory allocation functions
utils_prng.c                                 Wrappers for PRNG functions
utils_prng.h                                 Wrappers for PRNG functions
utils_randombytes.c                          Wrappers for randombytes()
utils_randombytes.h                          Wrappers for randombytes()
x86aesni.c                                   AES implementation for x86 AES-NI instruction set
x86aesni.h                                   AES implementation for x86 AES-NI instruction set

./Optimized_Implementation/avx2/V_pkc:       
aes128_4r_ffs.c                              aes128 ref implementation of ffs method
aes128_4r_ffs.h                              aes128 ref implementation of ffs method
api.h                                        Defining API functions
blas.h                                       Basic linear algebra functions
blas_avx2.h                                  Linear algebra functions, AVX2 implementations
blas_comm.h                                  Common functions for linear algebra
blas_matrix.c                                Linear algebra functions for matrix operations
blas_matrix.h                                Linear algebra functions for matrix operations
blas_matrix_avx2.c                           Linear algebra functions for matrix operations, AVX2 implementations
blas_matrix_avx2.h                           Linear algebra functions for matrix operations, AVX2 implementations
blas_matrix_ref.c                            Linear algebra functions for matrix operations, ref implementations
blas_matrix_ref.h                            Linear algebra functions for matrix operations, ref implementations
blas_matrix_sse.c                            Linear algebra functions for matrix operations, SSE implementations
blas_matrix_sse.h                            Linear algebra functions for matrix operations, SSE implementations
blas_sse.h                                   Linear algebra functions, SSE implemnetations
blas_u32.h                                   Linear algebra functions, u32 implementations
blas_u64.h                                   Linear algebra functions, u64 implementations
config.h                                     Macros for configuring runtime options
fips202.c                                    ref implementation for SHAKE256
fips202.h                                    ref implementation for SHAKE256
gf16.h                                       finte field arithmetic functions
gf16_avx2.h                                  finte field arithmetic functions, AVX2 version
gf16_sse.h                                   finte field arithmetic functions, SSE version
gf16_tabs.c                                  tables for finte field arithmetic functions
gf16_tabs.h                                  tables for finte field arithmetic functions
gf16_u64.h                                   finte field arithmetic functions, u64 version
gf256_tabs.c                                 tables finte field arithmetic functions
gf256_tabs.h                                 tables finte field arithmetic functions
ov.c                                         Main functions for signing and verifying
ov.h                                         Main functions for signing and verifying
ov_blas.h                                    Wrappers for blas functions
ov_keypair.c                                 Formats of key pairs and functions for generating key pairs.
ov_keypair.h                                 Formats of key pairs and functions for generating key pairs.
ov_keypair_computation.c                     Functions for computations of keypairs.
ov_keypair_computation.h                     Functions for computations of keypairs.
ov_publicmap.c                               Implementations for evaluating public keys
parallel_matrix_op.c                         the standard implementations for functions in parallel_matrix_op.h
parallel_matrix_op.h                         Librarys for operations of batched matrixes.
params.h                                     Macros for defining parameters
sign.c                                       the implementations for functions in api.h
utils.c                                      Some utilities or Input/Oupput functions
utils.h                                      Some utilities or Input/Oupput functions
utils_hash.c                                 Wrappers for HASH functions
utils_hash.h                                 Wrappers for HASH functions
utils_malloc.h                               Utilities for memory allocation functions
utils_prng.c                                 Wrappers for PRNG functions
utils_prng.h                                 Wrappers for PRNG functions
utils_randombytes.c                          Wrappers for randombytes()
utils_randombytes.h                          Wrappers for randombytes()
x86aesni.c                                   AES implementation for x86 AES-NI instruction set
x86aesni.h                                   AES implementation for x86 AES-NI instruction set

./Optimized_Implementation/avx2/V_pkc_skc:   
aes128_4r_ffs.c                              aes128 ref implementation of ffs method
aes128_4r_ffs.h                              aes128 ref implementation of ffs method
api.h                                        Defining API functions
blas.h                                       Basic linear algebra functions
blas_avx2.h                                  Linear algebra functions, AVX2 implementations
blas_comm.h                                  Common functions for linear algebra
blas_matrix.c                                Linear algebra functions for matrix operations
blas_matrix.h                                Linear algebra functions for matrix operations
blas_matrix_avx2.c                           Linear algebra functions for matrix operations, AVX2 implementations
blas_matrix_avx2.h                           Linear algebra functions for matrix operations, AVX2 implementations
blas_matrix_ref.c                            Linear algebra functions for matrix operations, ref implementations
blas_matrix_ref.h                            Linear algebra functions for matrix operations, ref implementations
blas_matrix_sse.c                            Linear algebra functions for matrix operations, SSE implementations
blas_matrix_sse.h                            Linear algebra functions for matrix operations, SSE implementations
blas_sse.h                                   Linear algebra functions, SSE implemnetations
blas_u32.h                                   Linear algebra functions, u32 implementations
blas_u64.h                                   Linear algebra functions, u64 implementations
config.h                                     Macros for configuring runtime options
fips202.c                                    ref implementation for SHAKE256
fips202.h                                    ref implementation for SHAKE256
gf16.h                                       finte field arithmetic functions
gf16_avx2.h                                  finte field arithmetic functions, AVX2 version
gf16_sse.h                                   finte field arithmetic functions, SSE version
gf16_tabs.c                                  tables for finte field arithmetic functions
gf16_tabs.h                                  tables for finte field arithmetic functions
gf16_u64.h                                   finte field arithmetic functions, u64 version
gf256_tabs.c                                 tables finte field arithmetic functions
gf256_tabs.h                                 tables finte field arithmetic functions
ov.c                                         Main functions for signing and verifying
ov.h                                         Main functions for signing and verifying
ov_blas.h                                    Wrappers for blas functions
ov_keypair.c                                 Formats of key pairs and functions for generating key pairs.
ov_keypair.h                                 Formats of key pairs and functions for generating key pairs.
ov_keypair_computation.c                     Functions for computations of keypairs.
ov_keypair_computation.h                     Functions for computations of keypairs.
ov_publicmap.c                               Implementations for evaluating public keys
parallel_matrix_op.c                         the standard implementations for functions in parallel_matrix_op.h
parallel_matrix_op.h                         Librarys for operations of batched matrixes.
params.h                                     Macros for defining parameters
sign.c                                       the implementations for functions in api.h
utils.c                                      Some utilities or Input/Oupput functions
utils.h                                      Some utilities or Input/Oupput functions
utils_hash.c                                 Wrappers for HASH functions
utils_hash.h                                 Wrappers for HASH functions
utils_malloc.h                               Utilities for memory allocation functions
utils_prng.c                                 Wrappers for PRNG functions
utils_prng.h                                 Wrappers for PRNG functions
utils_randombytes.c                          Wrappers for randombytes()
utils_randombytes.h                          Wrappers for randombytes()
x86aesni.c                                   AES implementation for x86 AES-NI instruction set
x86aesni.h                                   AES implementation for x86 AES-NI instruction set

./Optimized_Implementation/avx2/nistkat:     
PQCgenKAT_sign.c                             the program for generating KATs from NIST
rng.c                                        KAT tools from NIST
rng.h                                        KAT tools from NIST

./Optimized_Implementation/gfni:             
generate_KAT.sh                              script for generating KAT
III                                          uov-III, classic
III_pkc                                      uov-III, compressed public key
III_pkc_skc                                  uov-III, compressed public and secret keys
Ip                                           uov-Ip, classic
Ip_pkc                                       uov-Ip, compressed public key
Ip_pkc_skc                                   uov-Ip, compressed public and secret keys
Is                                           uov-Is, classic
Is_pkc                                       uov-Is, compressed public key
Is_pkc_skc                                   uov-Is, compressed public and secret keys
Makefile                                     build rules, selecting a parameter set with PROJ
nistkat                                      Directory for KAT tools from NIST
README.md                                    parameters and build instructions for this implementation
sign_api-test.c                              Unit-tester for api functions
V                                            uov-V, classic
V_pkc                                        uov-V, compressed public key
V_pkc_skc                                    uov-V, compressed public and secret keys

./Optimized_Implementation/gfni/III:         
aes128_4r_ffs.c                              aes128 ref implementation of ffs method
aes128_4r_ffs.h                              aes128 ref implementation of ffs method
api.h                                        Defining API functions
blas.h                                       Basic linear algebra functions
blas_avx2.h                                  Linear algebra functions, AVX2 implementations
blas_avx2_gfni.h                             Linear algebra functions, GFNI implementations
blas_comm.h                                  Common functions for linear algebra
blas_matrix.c                                Linear algebra functions for matrix operations
blas_matrix.h                                Linear algebra functions for matrix operations
blas_matrix_avx2.c                           Linear algebra functions for matrix operations, AVX2 implementations
blas_matrix_avx2.h                           Linear algebra functions for matrix operations, AVX2 implementations
blas_matrix_avx2_gfni.c                      Linear algebra functions for matrix operations, GFNI implementations
blas_matrix_avx2_gfni.h                      Linear algebra functions for matrix operations, GFNI implementations
blas_matrix_ref.c                            Linear algebra functions for matrix operations, ref implementations
blas_matrix_ref.h                            Linear algebra functions for matrix operations, ref implementations
blas_matrix_sse.c                            Linear algebra functions for matrix operations, SSE implementations
blas_matrix_sse.h                            Linear algebra functions for matrix operations, SSE implementations
blas_sse.h                                   Linear algebra functions, SSE implemnetations
blas_u32.h                                   Linear algebra functions, u32 implementations
blas_u64.h                                   Linear algebra functions, u64 implementations
config.h                                     Macros for configuring runtime options
fips202.c                                    ref implementation for SHAKE256
fips202.h                                    ref implementation for SHAKE256
gf16.h                                       finte field arithmetic functions
gf16_avx2.h                                  finte field arithmetic functions, AVX2 version
gf16_gfni.h                                  finte field arithmetic functions, GFNI version
gf16_sse.h                                   finte field arithmetic functions, SSE version
gf16_tabs.c                                  tables for finte field arithmetic functions
gf16_tabs.h                                  tables for finte field arithmetic functions
gf16_u64.h                                   finte field arithmetic functions, u64 version
gf256_tabs.c                                 tables finte field arithmetic functions
gf256_tabs.h                                 tables finte field arithmetic functions
ov.c                                         Main functions for signing and verifying
ov.h                                         Main functions for signing and verifying
ov_blas.h                                    Wrappers for blas functions
ov_keypair.c                                 Formats of key pairs and functions for generating key pairs.
ov_keypair.h                                 Formats of key pairs and functions for generating key pairs.
ov_keypair_computation.c                     Functions for computations of keypairs.
ov_keypair_computation.h                     Functions for computations of keypairs.
ov_publicmap.c                               Implementations for evaluating public keys
parallel_matrix_op.c                         the standard implementations for functions in parallel_matrix_op.h
parallel_matrix_op.h                         Librarys for operations of batched matrixes.
params.h                                     Macros for defining parameters
sign.c                                       the implementations for functions in api.h
utils.c                                      Some utilities or Input/Oupput functions
utils.h                                      Some utilities or Input/Oupput functions
utils_hash.c                                 Wrappers for HASH functions
utils_hash.h                                 Wrappers for HASH functions
utils_malloc.h                               Utilities for memory allocation functions
utils_prng.c                                 Wrappers for PRNG functions
utils_prng.h                                 Wrappers for PRNG functions
utils_randombytes.c                          Wrappers for randombytes()
utils_randombytes.h                          Wrappers for randombytes()
x86aesni.c                                   AES implementation for x86 AES-NI instruction set
x86aesni.h                                   AES implementation for x86 AES-NI instruction set

./Optimized_Implementation/gfni/III_pkc:     
aes128_4r_ffs.c                              aes128 ref implementation of ffs method
aes128_4r_ffs.h                              aes128 ref implementation of ffs method
api.h                                        Defining API functions
blas.h                                       Basic linear algebra functions
blas_avx2.h                                  Linear algebra functions, AVX2 implementations
blas_avx2_gfni.h                             Linear algebra functions, GFNI implementations
blas_comm.h                                  Common functions for linear algebra
blas_matrix.c                                Linear algebra functions for matrix operations
blas_matrix.h                                Linear algebra functions for matrix operations
blas_matrix_avx2.c                           Linear algebra functions for matrix operations, AVX2 implementations
blas_matrix_avx2.h                           Linear algebra functions for matrix operations, AVX2 implementations
blas_matrix_avx2_gfni.c                      Linear algebra functions for matrix operations, GFNI implementations
blas_matrix_avx2_gfni.h                      Linear algebra functions for matrix operations, GFNI implementations
blas_matrix_ref.c                            Linear algebra functions for matrix operations, ref implementations
blas_matrix_ref.h                            Linear algebra functions for matrix operations, ref implementations
blas_matrix_sse.c                            Linear algebra functions for matrix operations, SSE implementations
blas_matrix_sse.h                            Linear algebra functions for matrix operations, SSE implementations
blas_sse.h                                   Linear algebra functions, SSE implemnetations
blas_u32.h                                   Linear algebra functions, u32 implementations
blas_u64.h                                   Linear algebra functions, u64 implementations
config.h                                     Macros for configuring runtime options
fips202.c                                    ref implementation for SHAKE256
fips202.h                                    ref implementation for SHAKE256
gf16.h                                       finte field arithmetic functions
gf16_avx2.h                                  finte field arithmetic functions, AVX2 version
gf16_gfni.h                                  finte field arithmetic functions, GFNI version
gf16_sse.h                                   finte field arithmetic functions, SSE version
gf16_tabs.c                                  tables for finte field arithmetic functions
gf16_tabs.h                                  tables for finte field arithmetic functions
gf16_u64.h                                   finte field arithmetic functions, u64 version
gf256_tabs.c                                 tables finte field arithmetic functions
gf256_tabs.h                                 tables finte field arithmetic functions
ov.c                                         Main functions for signing and verifying
ov.h                                         Main functions for signing and verifying
ov_blas.h                                    Wrappers for blas functions
ov_keypair.c                                 Formats of key pairs and functions for generating key pairs.
ov_keypair.h                                 Formats of key pairs and functions for generating key pairs.
ov_keypair_computation.c                     Functions for computations of keypairs.
ov_keypair_computation.h                     Functions for computations of keypairs.
ov_publicmap.c                               Implementations for evaluating public keys
parallel_matrix_op.c                         the standard implementations for functions in parallel_matrix_op.h
parallel_matrix_op.h                         Librarys for operations of batched matrixes.
params.h                                     Macros for defining parameters
sign.c                                       the implementations for functions in api.h
utils.c                                      Some utilities or Input/Oupput functions
utils.h                                      Some utilities or Input/Oupput functions
utils_hash.c                                 Wrappers for HASH functions
utils_hash.h                                 Wrappers for HASH functions
utils_malloc.h                               Utilities for memory allocation functions
utils_prng.c                                 Wrappers for PRNG functions
utils_prng.h                                 Wrappers for PRNG functions
utils_randombytes.c                          Wrappers for randombytes()
utils_randombytes.h                          Wrappers for randombytes()
x86aesni.c                                   AES implementation for x86 AES-NI instruction set
x86aesni.h                                   AES implementation for x86 AES-NI instruction set

./Optimized_Implementation/gfni/III_pkc_skc: 
aes128_4r_ffs.c                              aes128 ref implementation of ffs method
aes128_4r_ffs.h                              aes128 ref implementation of ffs method
api.h                                        Defining API functions
blas.h                                       Basic linear algebra functions
blas_avx2.h                                  Linear algebra functions, AVX2 implementations
blas_avx2_gfni.h                             Linear algebra functions, GFNI implementations
blas_comm.h                                  Common functions for linear algebra
blas_matrix.c                                Linear algebra functions for matrix operations
blas_matrix.h                                Linear algebra functions for matrix operations
blas_matrix_avx2.c                           Linear algebra functions for matrix operations, AVX2 implementations
blas_matrix_avx2.h                           Linear algebra functions for matrix operations, AVX2 implementations
blas_matrix_avx2_gfni.c                      Linear algebra functions for matrix operations, GFNI implementations
blas_matrix_avx2_gfni.h                      Linear algebra functions for matrix operations, GFNI implementations
blas_matrix_ref.c                            Linear algebra functions for matrix operations, ref implementations
blas_matrix_ref.h                            Linear algebra functions for matrix operations, ref implementations
blas_matrix_sse.c                            Linear algebra functions for matrix operations, SSE implementations
blas_matrix_sse.h                            Linear algebra functions for matrix operations, SSE implementations
blas_sse.h                                   Linear algebra functions, SSE implemnetations
blas_u32.h                                   Linear algebra functions, u32 implementations
blas_u64.h                                   Linear algebra functions, u64 implementations
config.h                                     Macros for configuring runtime options
fips202.c                                    ref implementation for SHAKE256
fips202.h                                    ref implementation for SHAKE256
gf16.h                                       finte field arithmetic functions
gf16_avx2.h                                  finte field arithmetic functions, AVX2 version
gf16_gfni.h                                  finte field arithmetic functions, GFNI version
gf16_sse.h                                   finte field arithmetic functions, SSE version
gf16_tabs.c                                  tables for finte field arithmetic functions
gf16_tabs.h                                  tables for finte field arithmetic functions
gf16_u64.h                                   finte field arithmetic functions, u64 version
gf256_tabs.c                                 tables finte field arithmetic functions
gf256_tabs.h                                 tables finte field arithmetic functions
ov.c                                         Main functions for signing and verifying
ov.h                                         Main functions for signing and verifying
ov_blas.h                                    Wrappers for blas functions
ov_keypair.c                                 Formats of key pairs and functions for generating key pairs.
ov_keypair.h                                 Formats of key pairs and functions for generating key pairs.
ov_keypair_computation.c                     Functions for computations of keypairs.
ov_keypair_computation.h                     Functions for computations of keypairs.
ov_publicmap.c                               Implementations for evaluating public keys
parallel_matrix_op.c                         the standard implementations for functions in parallel_matrix_op.h
parallel_matrix_op.h                         Librarys for operations of batched matrixes.
params.h                                     Macros for defining parameters
sign.c                                       the implementations for functions in api.h
utils.c                                      Some utilities or Input/Oupput functions
utils.h                                      Some utilities or Input/Oupput functions
utils_hash.c                                 Wrappers for HASH functions
utils_hash.h                                 Wrappers for HASH functions
utils_malloc.h                               Utilities for memory allocation functions
utils_prng.c                                 Wrappers for PRNG functions
utils_prng.h                                 Wrappers for PRNG functions
utils_randombytes.c                          Wrappers for randombytes()
utils_randombytes.h                          Wrappers for randombytes()
x86aesni.c                                   AES implementation for x86 AES-NI instruction set
x86aesni.h                                   AES implementation for x86 AES-NI instruction set

./Optimized_Implementation/gfni/Ip:          
aes128_4r_ffs.c                              aes128 ref implementation of ffs method
aes128_4r_ffs.h                              aes128 ref implementation of ffs method
api.h                                        Defining API functions
blas.h                                       Basic linear algebra functions
blas_avx2.h                                  Linear algebra functions, AVX2 implementations
blas_avx2_gfni.h                             Linear algebra functions, GFNI implementations
blas_comm.h                                  Common functions for linear algebra
blas_matrix.c                                Linear algebra functions for matrix operations
blas_matrix.h                                Linear algebra functions for matrix operations
blas_matrix_avx2.c                           Linear algebra functions for matrix operations, AVX2 implementations
blas_matrix_avx2.h                           Linear algebra functions for matrix operations, AVX2 implementations
blas_matrix_avx2_gfni.c                      Linear algebra functions for matrix operations, GFNI implementations
blas_matrix_avx2_gfni.h                      Linear algebra functions for matrix operations, GFNI implementations
blas_matrix_ref.c                            Linear algebra functions for matrix operations, ref implementations
blas_matrix_ref.h                            Linear algebra functions for matrix operations, ref implementations
blas_matrix_sse.c                            Linear algebra functions for matrix operations, SSE implementations
blas_matrix_sse.h                            Linear algebra functions for matrix operations, SSE implementations
blas_sse.h                                   Linear algebra functions, SSE implemnetations
blas_u32.h                                   Linear algebra functions, u32 implementations
blas_u64.h                                   Linear algebra functions, u64 implementations
config.h                                     Macros for configuring runtime options
fips202.c                                    ref implementation for SHAKE256
fips202.h                                    ref implementation for SHAKE256
gf16.h                                       finte field arithmetic functions
gf16_avx2.h                                  finte field arithmetic functions, AVX2 version
gf16_gfni.h                                  finte field arithmetic functions, GFNI version
gf16_sse.h                                   finte field arithmetic functions, SSE version
gf16_tabs.c                                  tables for finte field arithmetic functions
gf16_tabs.h                                  tables for finte field arithmetic functions
gf16_u64.h                                   finte field arithmetic functions, u64 version
gf256_tabs.c                                 tables finte field arithmetic functions
gf256_tabs.h                                 tables finte field arithmetic functions
ov.c                                         Main functions for signing and verifying
ov.h                                         Main functions for signing and verifying
ov_blas.h                                    Wrappers for blas functions
ov_keypair.c                                 Formats of key pairs and functions for generating key pairs.
ov_keypair.h                                 Formats of key pairs and functions for generating key pairs.
ov_keypair_computation.c                     Functions for computations of keypairs.
ov_keypair_computation.h                     Functions for computations of keypairs.
ov_publicmap.c                               Implementations for evaluating public keys
parallel_matrix_op.c                         the standard implementations for functions in parallel_matrix_op.h
parallel_matrix_op.h                         Librarys for operations of batched matrixes.
params.h                                     Macros for defining parameters
sign.c                                       the implementations for functions in api.h
utils.c                                      Some utilities or Input/Oupput functions
utils.h                                      Some utilities or Input/Oupput functions
utils_hash.c                                 Wrappers for HASH functions
utils_hash.h                                 Wrappers for HASH functions
utils_malloc.h                               Utilities for memory allocation functions
utils_prng.c                                 Wrappers for PRNG functions
utils_prng.h                                 Wrappers for PRNG functions
utils_randombytes.c                          Wrappers for randombytes()
utils_randombytes.h                          Wrappers for randombytes()
x86aesni.c                                   AES implementation for x86 AES-NI instruction set
x86aesni.h                                   AES implementation for x86 AES-NI instruction set

./Optimized_Implementation/gfni/Ip_pkc:      
aes128_4r_ffs.c                              aes128 ref implementation of ffs method
aes128_4r_ffs.h                              aes128 ref implementation of ffs method
api.h                                        Defining API functions
blas.h                                       Basic linear algebra functions
blas_avx2.h                                  Linear algebra functions, AVX2 implementations
blas_avx2_gfni.h                             Linear algebra functions, GFNI implementations
blas_comm.h                                  Common functions for linear algebra
blas_matrix.c                                Linear algebra functions for matrix operations
blas_matrix.h                                Linear algebra functions for matrix operations
blas_matrix_avx2.c                           Linear algebra functions for matrix operations, AVX2 implementations
blas_matrix_avx2.h                           Linear algebra functions for matrix operations, AVX2 implementations
blas_matrix_avx2_gfni.c                      Linear algebra functions for matrix operations, GFNI implementations
blas_matrix_avx2_gfni.h                      Linear algebra functions for matrix operations, GFNI implementations
blas_matrix_ref.c                            Linear algebra functions for matrix operations, ref implementations
blas_matrix_ref.h                            Linear algebra functions for matrix operations, ref implementations
blas_matrix_sse.c                            Linear algebra functions for matrix operations, SSE implementations
blas_matrix_sse.h                            Linear algebra functions for matrix operations, SSE implementations
blas_sse.h                                   Linear algebra functions, SSE implemnetations
blas_u32.h                                   Linear algebra functions, u32 implementations
blas_u64.h                                   Linear algebra functions, u64 implementations
config.h                                     Macros for configuring runtime options
fips202.c                                    ref implementation for SHAKE256
fips202.h                                    ref implementation for SHAKE256
gf16.h                                       finte field arithmetic functions
gf16_avx2.h                                  finte field arithmetic functions, AVX2 version
gf16_gfni.h                                  finte field arithmetic functions, GFNI version
gf16_sse.h                                   finte field arithmetic functions, SSE version
gf16_tabs.c                                  tables for finte field arithmetic functions
gf16_tabs.h                                  tables for finte field arithmetic functions
gf16_u64.h                                   finte field arithmetic functions, u64 version
gf256_tabs.c                                 tables finte field arithmetic functions
gf256_tabs.h                                 tables finte field arithmetic functions
ov.c                                         Main functions for signing and verifying
ov.h                                         Main functions for signing and verifying
ov_blas.h                                    Wrappers for blas functions
ov_keypair.c                                 Formats of key pairs and functions for generating key pairs.
ov_keypair.h                                 Formats of key pairs and functions for generating key pairs.
ov_keypair_computation.c                     Functions for computations of keypairs.
ov_keypair_computation.h                     Functions for computations of keypairs.
ov_publicmap.c                               Implementations for evaluating public keys
parallel_matrix_op.c                         the standard implementations for functions in parallel_matrix_op.h
parallel_matrix_op.h                         Librarys for operations of batched matrixes.
params.h                                     Macros for defining parameters
sign.c                                       the implementations for functions in api.h
utils.c                                      Some utilities or Input/Oupput functions
utils.h                                      Some utilities or Input/Oupput functions
utils_hash.c                                 Wrappers for HASH functions
utils_hash.h                                 Wrappers for HASH functions
utils_malloc.h                               Utilities for memory allocation functions
utils_prng.c                                 Wrappers for PRNG functions
utils_prng.h                                 Wrappers for PRNG functions
utils_randombytes.c                          Wrappers for randombytes()
utils_randombytes.h                          Wrappers for randombytes()
x86aesni.c                                   AES implementation for x86 AES-NI instruction set
x86aesni.h                                   AES implementation for x86 AES-NI instruction set

./Optimized_Implementation/gfni/Ip_pkc_skc:  
aes128_4r_ffs.c                              aes128 ref implementation of ffs method
aes128_4r_ffs.h                              aes128 ref implementation of ffs method
api.h                                        Defining API functions
blas.h                                       Basic linear algebra functions
blas_avx2.h                                  Linear algebra functions, AVX2 implementations
blas_avx2_gfni.h                             Linear algebra functions, GFNI implementations
blas_comm.h                                  Common functions for linear algebra
blas_matrix.c                                Linear algebra functions for matrix operations
blas_matrix.h                                Linear algebra functions for matrix operations
blas_matrix_avx2.c                           Linear algebra functions for matrix operations, AVX2 implementations
blas_matrix_avx2.h                           Linear algebra functions for matrix operations, AVX2 implementations
blas_matrix_avx2_gfni.c                      Linear algebra functions for matrix operations, GFNI implementations
blas_matrix_avx2_gfni.h                      Linear algebra functions for matrix operations, GFNI implementations
blas_matrix_ref.c                            Linear algebra functions for matrix operations, ref implementations
blas_matrix_ref.h                            Linear algebra functions for matrix operations, ref implementations
blas_matrix_sse.c                            Linear algebra functions for matrix operations, SSE implementations
blas_matrix_sse.h                            Linear algebra functions for matrix operations, SSE implementations
blas_sse.h                                   Linear algebra functions, SSE implemnetations
blas_u32.h                                   Linear algebra functions, u32 implementations
blas_u64.h                                   Linear algebra functions, u64 implementations
config.h                                     Macros for configuring runtime options
fips202.c                                    ref implementation for SHAKE256
fips202.h                                    ref implementation for SHAKE256
gf16.h                                       finte field arithmetic functions
gf16_avx2.h                                  finte field arithmetic functions, AVX2 version
gf16_gfni.h                                  finte field arithmetic functions, GFNI version
gf16_sse.h                                   finte field arithmetic functions, SSE version
gf16_tabs.c                                  tables for finte field arithmetic functions
gf16_tabs.h                                  tables for finte field arithmetic functions
gf16_u64.h                                   finte field arithmetic functions, u64 version
gf256_tabs.c                                 tables finte field arithmetic functions
gf256_tabs.h                                 tables finte field arithmetic functions
ov.c                                         Main functions for signing and verifying
ov.h                                         Main functions for signing and verifying
ov_blas.h                                    Wrappers for blas functions
ov_keypair.c                                 Formats of key pairs and functions for generating key pairs.
ov_keypair.h                                 Formats of key pairs and functions for generating key pairs.
ov_keypair_computation.c                     Functions for computations of keypairs.
ov_keypair_computation.h                     Functions for computations of keypairs.
ov_publicmap.c                               Implementations for evaluating public keys
parallel_matrix_op.c                         the standard implementations for functions in parallel_matrix_op.h
parallel_matrix_op.h                         Librarys for operations of batched matrixes.
params.h                                     Macros for defining parameters
sign.c                                       the implementations for functions in api.h
utils.c                                      Some utilities or Input/Oupput functions
utils.h                                      Some utilities or Input/Oupput functions
utils_hash.c                                 Wrappers for HASH functions
utils_hash.h                                 Wrappers for HASH functions
utils_malloc.h                               Utilities for memory allocation functions
utils_prng.c                                 Wrappers for PRNG functions
utils_prng.h                                 Wrappers for PRNG functions
utils_randombytes.c                          Wrappers for randombytes()
utils_randombytes.h                          Wrappers for randombytes()
x86aesni.c                                   AES implementation for x86 AES-NI instruction set
x86aesni.h                                   AES implementation for x86 AES-NI instruction set

./Optimized_Implementation/gfni/Is:          
aes128_4r_ffs.c                              aes128 ref implementation of ffs method
aes128_4r_ffs.h                              aes128 ref implementation of ffs method
api.h                                        Defining API functions
blas.h                                       Basic linear algebra functions
blas_avx2.h                                  Linear algebra functions, AVX2 implementations
blas_avx2_gfni.h                             Linear algebra functions, GFNI implementations
blas_comm.h                                  Common functions for linear algebra
blas_matrix.c                                Linear algebra functions for matrix operations
blas_matrix.h                                Linear algebra functions for matrix operations
blas_matrix_avx2.c                           Linear algebra functions for matrix operations, AVX2 implementations
blas_matrix_avx2.h                           Linear algebra functions for matrix operations, AVX2 implementations
blas_matrix_avx2_gfni.c                      Linear algebra functions for matrix operations, GFNI implementations
blas_matrix_avx2_gfni.h                      Linear algebra functions for matrix operations, GFNI implementations
blas_matrix_ref.c                            Linear algebra functions for matrix operations, ref implementations
blas_matrix_ref.h                            Linear algebra functions for matrix operations, ref implementations
blas_matrix_sse.c                            Linear algebra functions for matrix operations, SSE implementations
blas_matrix_sse.h                            Linear algebra functions for matrix operations, SSE implementations
blas_sse.h                                   Linear algebra functions, SSE implemnetations
blas_u32.h                                   Linear algebra functions, u32 implementations
blas_u64.h                                   Linear algebra functions, u64 implementations
config.h                                     Macros for configuring runtime options
fips202.c                                    ref implementation for SHAKE256
fips202.h                                    ref implementation for SHAKE256
gf16.h                                       finte field arithmetic functions
gf16_avx2.h                                  finte field arithmetic functions, AVX2 version
gf16_gfni.h                                  finte field arithmetic functions, GFNI version
gf16_sse.h                                   finte field arithmetic functions, SSE version
gf16_tabs.c                                  tables for finte field arithmetic functions
gf16_tabs.h                                  tables for finte field arithmetic functions
gf16_u64.h                                   finte field arithmetic functions, u64 version
gf256_tabs.c                                 tables finte field arithmetic functions
gf256_tabs.h                                 tables finte field arithmetic functions
ov.c                                         Main functions for signing and verifying
ov.h                                         Main functions for signing and verifying
ov_blas.h                                    Wrappers for blas functions
ov_keypair.c                                 Formats of key pairs and functions for generating key pairs.
ov_keypair.h                                 Formats of key pairs and functions for generating key pairs.
ov_keypair_computation.c                     Functions for computations of keypairs.
ov_keypair_computation.h                     Functions for computations of keypairs.
ov_publicmap.c                               Implementations for evaluating public keys
parallel_matrix_op.c                         the standard implementations for functions in parallel_matrix_op.h
parallel_matrix_op.h                         Librarys for operations of batched matrixes.
params.h                                     Macros for defining parameters
sign.c                                       the implementations for functions in api.h
utils.c                                      Some utilities or Input/Oupput functions
utils.h                                      Some utilities or Input/Oupput functions
utils_hash.c                                 Wrappers for HASH functions
utils_hash.h                                 Wrappers for HASH functions
utils_malloc.h                               Utilities for memory allocation functions
utils_prng.c                                 Wrappers for PRNG functions
utils_prng.h                                 Wrappers for PRNG functions
utils_randombytes.c                          Wrappers for randombytes()
utils_randombytes.h                          Wrappers for randombytes()
x86aesni.c                                   AES implementation for x86 AES-NI instruction set
x86aesni.h                                   AES implementation for x86 AES-NI instruction set

./Optimized_Implementation/gfni/Is_pkc:      
aes128_4r_ffs.c                              aes128 ref implementation of ffs method
aes128_4r_ffs.h                              aes128 ref implementation of ffs method
api.h                                        Defining API functions
blas.h                                       Basic linear algebra functions
blas_avx2.h                                  Linear algebra functions, AVX2 implementations
blas_avx2_gfni.h                             Linear algebra functions, GFNI implementations
blas_comm.h                                  Common functions for linear algebra
blas_matrix.c                                Linear algebra functions for matrix operations
blas_matrix.h                                Linear algebra functions for matrix operations
blas_matrix_avx2.c                           Linear algebra functions for matrix operations, AVX2 implementations
blas_matrix_avx2.h                           Linear algebra functions for matrix operations, AVX2 implementations
blas_matrix_avx2_gfni.c                      Linear algebra functions for matrix operations, GFNI implementations
blas_matrix_avx2_gfni.h                      Linear algebra functions for matrix operations, GFNI implementations
blas_matrix_ref.c                            Linear algebra functions for matrix operations, ref implementations
blas_matrix_ref.h                            Linear algebra functions for matrix operations, ref implementations
blas_matrix_sse.c                            Linear algebra functions for matrix operations, SSE implementations
blas_matrix_sse.h                            Linear algebra functions for matrix operations, SSE implementations
blas_sse.h                                   Linear algebra functions, SSE implemnetations
blas_u32.h                                   Linear algebra functions, u32 implementations
blas_u64.h                                   Linear algebra functions, u64 implementations
config.h                                     Macros for configuring runtime options
fips202.c                                    ref implementation for SHAKE256
fips202.h                                    ref implementation for SHAKE256
gf16.h                                       finte field arithmetic functions
gf16_avx2.h                                  finte field arithmetic functions, AVX2 version
gf16_gfni.h                                  finte field arithmetic functions, GFNI version
gf16_sse.h                                   finte field arithmetic functions, SSE version
gf16_tabs.c                                  tables for finte field arithmetic functions
gf16_tabs.h                                  tables for finte field arithmetic functions
gf16_u64.h                                   finte field arithmetic functions, u64 version
gf256_tabs.c                                 tables finte field arithmetic functions
gf256_tabs.h                                 tables finte field arithmetic functions
ov.c                                         Main functions for signing and verifying
ov.h                                         Main functions for signing and verifying
ov_blas.h                                    Wrappers for blas functions
ov_keypair.c                                 Formats of key pairs and functions for generating key pairs.
ov_keypair.h                                 Formats of key pairs and functions for generating key pairs.
ov_keypair_computation.c                     Functions for computations of keypairs.
ov_keypair_computation.h                     Functions for computations of keypairs.
ov_publicmap.c                               Implementations for evaluating public keys
parallel_matrix_op.c                         the standard implementations for functions in parallel_matrix_op.h
parallel_matrix_op.h                         Librarys for operations of batched matrixes.
params.h                                     Macros for defining parameters
sign.c                                       the implementations for functions in api.h
utils.c                                      Some utilities or Input/Oupput functions
utils.h                                      Some utilities or Input/Oupput functions
utils_hash.c                                 Wrappers for HASH functions
utils_hash.h                                 Wrappers for HASH functions
utils_malloc.h                               Utilities for memory allocation functions
utils_prng.c                                 Wrappers for PRNG functions
utils_prng.h                                 Wrappers for PRNG functions
utils_randombytes.c                          Wrappers for randombytes()
utils_randombytes.h                          Wrappers for randombytes()
x86aesni.c                                   AES implementation for x86 AES-NI instruction set
x86aesni.h                                   AES implementation for x86 AES-NI instruction set

./Optimized_Implementation/gfni/Is_pkc_skc:  
aes128_4r_ffs.c                              aes128 ref implementation of ffs method
aes128_4r_ffs.h                              aes128 ref implementation of ffs method
api.h                                        Defining API functions
blas.h                                       Basic linear algebra functions
blas_avx2.h                                  Linear algebra functions, AVX2 implementations
blas_avx2_gfni.h                             Linear algebra functions, GFNI implementations
blas_comm.h                                  Common functions for linear algebra
blas_matrix.c                                Linear algebra functions for matrix operations
blas_matrix.h                                Linear algebra functions for matrix operations
blas_matrix_avx2.c                           Linear algebra functions for matrix operations, AVX2 implementations
blas_matrix_avx2.h                           Linear algebra functions for matrix operations, AVX2 implementations
blas_matrix_avx2_gfni.c                      Linear algebra functions for matrix operations, GFNI implementations
blas_matrix_avx2_gfni.h                      Linear algebra functions for matrix operations, GFNI implementations
blas_matrix_ref.c                            Linear algebra functions for matrix operations, ref implementations
blas_matrix_ref.h                            Linear algebra functions for matrix operations, ref implementations
blas_matrix_sse.c                            Linear algebra functions for matrix operations, SSE implementations
blas_matrix_sse.h                            Linear algebra functions for matrix operations, SSE implementations
blas_sse.h                                   Linear algebra functions, SSE implemnetations
blas_u32.h                                   Linear algebra functions, u32 implementations
blas_u64.h                                   Linear algebra functions, u64 implementations
config.h                                     Macros for configuring runtime options
fips202.c                                    ref implementation for SHAKE256
fips202.h                                    ref implementation for SHAKE256
gf16.h                                       finte field arithmetic functions
gf16_avx2.h                                  finte field arithmetic functions, AVX2 version
gf16_gfni.h                                  finte field arithmetic functions, GFNI version
gf16_sse.h                                   finte field arithmetic functions, SSE version
gf16_tabs.c                                  tables for finte field arithmetic functions
gf16_tabs.h                                  tables for finte field arithmetic functions
gf16_u64.h                                   finte field arithmetic functions, u64 version
gf256_tabs.c                                 tables finte field arithmetic functions
gf256_tabs.h                                 tables finte field arithmetic functions
ov.c                                         Main functions for signing and verifying
ov.h                                         Main functions for signing and verifying
ov_blas.h                                    Wrappers for blas functions
ov_keypair.c                                 Formats of key pairs and functions for generating key pairs.
ov_keypair.h                                 Formats of key pairs and functions for generating key pairs.
ov_keypair_computation.c                     Functions for computations of keypairs.
ov_keypair_computation.h                     Functions for computations of keypairs.
ov_publicmap.c                               Implementations for evaluating public keys
parallel_matrix_op.c                         the standard implementations for functions in parallel_matrix_op.h
parallel_matrix_op.h                         Librarys for operations of batched matrixes.
params.h                                     Macros for defining parameters
sign.c                                       the implementations for functions in api.h
utils.c                                      Some utilities or Input/Oupput functions
utils.h                                      Some utilities or Input/Oupput functions
utils_hash.c                                 Wrappers for HASH functions
utils_hash.h                                 Wrappers for HASH functions
utils_malloc.h                               Utilities for memory allocation functions
utils_prng.c                                 Wrappers for PRNG functions
utils_prng.h                                 Wrappers for PRNG functions
utils_randombytes.c                          Wrappers for randombytes()
utils_randombytes.h                          Wrappers for randombytes()
x86aesni.c                                   AES implementation for x86 AES-NI instruction set
x86aesni.h                                   AES implementation for x86 AES-NI instruction set

./Optimized_Implementation/gfni/V:           
aes128_4r_ffs.c                              aes128 ref implementation of ffs method
aes128_4r_ffs.h                              aes128 ref implementation of ffs method
api.h                                        Defining API functions
blas.h                                       Basic linear algebra functions
blas_avx2.h                                  Linear algebra functions, AVX2 implementations
blas_avx2_gfni.h                             Linear algebra functions, GFNI implementations
blas_comm.h                                  Common functions for linear algebra
blas_matrix.c                                Linear algebra functions for matrix operations
blas_matrix.h                                Linear algebra functions for matrix operations
blas_matrix_avx2.c                           Linear algebra functions for matrix operations, AVX2 implementations
blas_matrix_avx2.h                           Linear algebra functions for matrix operations, AVX2 implementations
blas_matrix_avx2_gfni.c                      Linear algebra functions for matrix operations, GFNI implementations
blas_matrix_avx2_gfni.h                      Linear algebra functions for matrix operations, GFNI implementations
blas_matrix_ref.c                            Linear algebra functions for matrix operations, ref implementations
blas_matrix_ref.h                            Linear algebra functions for matrix operations, ref implementations
blas_matrix_sse.c                            Linear algebra functions for matrix operations, SSE implementations
blas_matrix_sse.h                            Linear algebra functions for matrix operations, SSE implementations
blas_sse.h                                   Linear algebra functions, SSE implemnetations
blas_u32.h                                   Linear algebra functions, u32 implementations
blas_u64.h                                   Linear algebra functions, u64 implementations
config.h                                     Macros for configuring runtime options
fips202.c                                    ref implementation for SHAKE256
fips202.h                                    ref implementation for SHAKE256
gf16.h                                       finte field arithmetic functions
gf16_avx2.h                                  finte field arithmetic functions, AVX2 version
gf16_gfni.h                                  finte field arithmetic functions, GFNI version
gf16_sse.h                                   finte field arithmetic functions, SSE version
gf16_tabs.c                                  tables for finte field arithmetic functions
gf16_tabs.h                                  tables for finte field arithmetic functions
gf16_u64.h                                   finte field arithmetic functions, u64 version
gf256_tabs.c                                 tables finte field arithmetic functions
gf256_tabs.h                                 tables finte field arithmetic functions
ov.c                                         Main functions for signing and verifying
ov.h                                         Main functions for signing and verifying
ov_blas.h                                    Wrappers for blas functions
ov_keypair.c                                 Formats of key pairs and functions for generating key pairs.
ov_keypair.h                                 Formats of key pairs and functions for generating key pairs.
ov_keypair_computation.c                     Functions for computations of keypairs.
ov_keypair_computation.h                     Functions for computations of keypairs.
ov_publicmap.c                               Implementations for evaluating public keys
parallel_matrix_op.c                         the standard implementations for functions in parallel_matrix_op.h
parallel_matrix_op.h                         Librarys for operations of batched matrixes.
params.h                                     Macros for defining parameters
sign.c                                       the implementations for functions in api.h
utils.c                                      Some utilities or Input/Oupput functions
utils.h                                      Some utilities or Input/Oupput functions
utils_hash.c                                 Wrappers for HASH functions
utils_hash.h                                 Wrappers for HASH functions
utils_malloc.h                               Utilities for memory allocation functions
utils_prng.c                                 Wrappers for PRNG functions
utils_prng.h                                 Wrappers for PRNG functions
utils_randombytes.c                          Wrappers for randombytes()
utils_randombytes.h                          Wrappers for randombytes()
x86aesni.c                                   AES implementation for x86 AES-NI instruction set
x86aesni.h                                   AES implementation for x86 AES-NI instruction set

./Optimized_Implementation/gfni/V_pkc:       
aes128_4r_ffs.c                              aes128 ref implementation of ffs method
aes128_4r_ffs.h                              aes128 ref implementation of ffs method
api.h                                        Defining API functions
blas.h                                       Basic linear algebra functions
blas_avx2.h                                  Linear algebra functions, AVX2 implementations
blas_avx2_gfni.h                             Linear algebra functions, GFNI implementations
blas_comm.h                                  Common functions for linear algebra
blas_matrix.c                                Linear algebra functions for matrix operations
blas_matrix.h                                Linear algebra functions for matrix operations
blas_matrix_avx2.c                           Linear algebra functions for matrix operations, AVX2 implementations
blas_matrix_avx2.h                           Linear algebra functions for matrix operations, AVX2 implementations
blas_matrix_avx2_gfni.c                      Linear algebra functions for matrix operations, GFNI implementations
blas_matrix_avx2_gfni.h                      Linear algebra functions for matrix operations, GFNI implementations
blas_matrix_ref.c                            Linear algebra functions for matrix operations, ref implementations
blas_matrix_ref.h                            Linear algebra functions for matrix operations, ref implementations
blas_matrix_sse.c                            Linear algebra functions for matrix operations, SSE implementations
blas_matrix_sse.h                            Linear algebra functions for matrix operations, SSE implementations
blas_sse.h                                   Linear algebra functions, SSE implemnetations
blas_u32.h                                   Linear algebra functions, u32 implementations
blas_u64.h                                   Linear algebra functions, u64 implementations
config.h                                     Macros for configuring runtime options
fips202.c                                    ref implementation for SHAKE256
fips202.h                                    ref implementation for SHAKE256
gf16.h                                       finte field arithmetic functions
gf16_avx2.h                                  finte field arithmetic functions, AVX2 version
gf16_gfni.h                                  finte field arithmetic functions, GFNI version
gf16_sse.h                                   finte field arithmetic functions, SSE version
gf16_tabs.c                                  tables for finte field arithmetic functions
gf16_tabs.h                                  tables for finte field arithmetic functions
gf16_u64.h                                   finte field arithmetic functions, u64 version
gf256_tabs.c                                 tables finte field arithmetic functions
gf256_tabs.h                                 tables finte field arithmetic functions
ov.c                                         Main functions for signing and verifying
ov.h                                         Main functions for signing and verifying
ov_blas.h                                    Wrappers for blas functions
ov_keypair.c                                 Formats of key pairs and functions for generating key pairs.
ov_keypair.h                                 Formats of key pairs and functions for generating key pairs.
ov_keypair_computation.c                     Functions for computations of keypairs.
ov_keypair_computation.h                     Functions for computations of keypairs.
ov_publicmap.c                               Implementations for evaluating public keys
parallel_matrix_op.c                         the standard implementations for functions in parallel_matrix_op.h
parallel_matrix_op.h                         Librarys for operations of batched matrixes.
params.h                                     Macros for defining parameters
sign.c                                       the implementations for functions in api.h
utils.c                                      Some utilities or Input/Oupput functions
utils.h                                      Some utilities or Input/Oupput functions
utils_hash.c                                 Wrappers for HASH functions
utils_hash.h                                 Wrappers for HASH functions
utils_malloc.h                               Utilities for memory allocation functions
utils_prng.c                                 Wrappers for PRNG functions
utils_prng.h                                 Wrappers for PRNG functions
utils_randombytes.c                          Wrappers for randombytes()
utils_randombytes.h                          Wrappers for randombytes()
x86aesni.c                                   AES implementation for x86 AES-NI instruction set
x86aesni.h                                   AES implementation for x86 AES-NI instruction set

./Optimized_Implementation/gfni/V_pkc_skc:   
aes128_4r_ffs.c                              aes128 ref implementation of ffs method
aes128_4r_ffs.h                              aes128 ref implementation of ffs method
api.h                                        Defining API functions
blas.h                                       Basic linear algebra functions
blas_avx2.h                                  Linear algebra functions, AVX2 implementations
blas_avx2_gfni.h                             Linear algebra functions, GFNI implementations
blas_comm.h                                  Common functions for linear algebra
blas_matrix.c                                Linear algebra functions for matrix operations
blas_matrix.h                                Linear algebra functions for matrix operations
blas_matrix_avx2.c                           Linear algebra functions for matrix operations, AVX2 implementations
blas_matrix_avx2.h                           Linear algebra functions for matrix operations, AVX2 implementations
blas_matrix_avx2_gfni.c                      Linear algebra functions for matrix operations, GFNI implementations
blas_matrix_avx2_gfni.h                      Linear algebra functions for matrix operations, GFNI implementations
blas_matrix_ref.c                            Linear algebra functions for matrix operations, ref implementations
blas_matrix_ref.h                            Linear algebra functions for matrix operations, ref implementations
blas_matrix_sse.c                            Linear algebra functions for matrix operations, SSE implementations
blas_matrix_sse.h                            Linear algebra functions for matrix operations, SSE implementations
blas_sse.h                                   Linear algebra functions, SSE implemnetations
blas_u32.h                                   Linear algebra functions, u32 implementations
blas_u64.h                                   Linear algebra functions, u64 implementations
config.h                                     Macros for configuring runtime options
fips202.c                                    ref implementation for SHAKE256
fips202.h                                    ref implementation for SHAKE256
gf16.h                                       finte field arithmetic functions
gf16_avx2.h                                  finte field arithmetic functions, AVX2 version
gf16_gfni.h                                  finte field arithmetic functions, GFNI version
gf16_sse.h                                   finte field arithmetic functions, SSE version
gf16_tabs.c                                  tables for finte field arithmetic functions
gf16_tabs.h                                  tables for finte field arithmetic functions
gf16_u64.h                                   finte field arithmetic functions, u64 version
gf256_tabs.c                                 tables finte field arithmetic functions
gf256_tabs.h                                 tables finte field arithmetic functions
ov.c                                         Main functions for signing and verifying
ov.h                                         Main functions for signing and verifying
ov_blas.h                                    Wrappers for blas functions
ov_keypair.c                                 Formats of key pairs and functions for generating key pairs.
ov_keypair.h                                 Formats of key pairs and functions for generating key pairs.
ov_keypair_computation.c                     Functions for computations of keypairs.
ov_keypair_computation.h                     Functions for computations of keypairs.
ov_publicmap.c                               Implementations for evaluating public keys
parallel_matrix_op.c                         the standard implementations for functions in parallel_matrix_op.h
parallel_matrix_op.h                         Librarys for operations of batched matrixes.
params.h                                     Macros for defining parameters
sign.c                                       the implementations for functions in api.h
utils.c                                      Some utilities or Input/Oupput functions
utils.h                                      Some utilities or Input/Oupput functions
utils_hash.c                                 Wrappers for HASH functions
utils_hash.h                                 Wrappers for HASH functions
utils_malloc.h                               Utilities for memory allocation functions
utils_prng.c                                 Wrappers for PRNG functions
utils_prng.h                                 Wrappers for PRNG functions
utils_randombytes.c                          Wrappers for randombytes()
utils_randombytes.h                          Wrappers for randombytes()
x86aesni.c                                   AES implementation for x86 AES-NI instruction set
x86aesni.h                                   AES implementation for x86 AES-NI instruction set

./Optimized_Implementation/gfni/nistkat:     
PQCgenKAT_sign.c                             the program for generating KATs from NIST
rng.c                                        KAT tools from NIST
rng.h                                        KAT tools from NIST

./Optimized_Implementation/neon:             
generate_KAT.sh                              script for generating KAT
III                                          uov-III, classic
III_pkc                                      uov-III, compressed public key
III_pkc_skc                                  uov-III, compressed public and secret keys
Ip                                           uov-Ip, classic
Ip_pkc                                       uov-Ip, compressed public key
Ip_pkc_skc                                   uov-Ip, compressed public and secret keys
Is                                           uov-Is, classic
Is_pkc                                       uov-Is, compressed public key
Is_pkc_skc                                   uov-Is, compressed public and secret keys
Makefile                                     build rules, selecting a parameter set with PROJ
nistkat                                      Directory for KAT tools from NIST
README.md                                    parameters and build instructions for this implementation
sign_api-test.c                              Unit-tester for api functions
V                                            uov-V, classic
V_pkc                                        uov-V, compressed public key
V_pkc_skc                                    uov-V, compressed public and secret keys

./Optimized_Implementation/neon/III:         
aes128_4r_ffs.c                              aes128 ref implementation of ffs method
aes128_4r_ffs.h                              aes128 ref implementation of ffs method
aes_neonaes.c                                aes128 implementation of armv8 aes instruction
aes_neonaes.h                                aes128 implementation of armv8 aes instruction
api.h                                        Defining API functions
blas.h                                       Basic linear algebra functions
blas_comm.h                                  Common functions for linear algebra
blas_matrix.c                                Linear algebra functions for matrix operations
blas_matrix.h                                Linear algebra functions for matrix operations
blas_matrix_neon.c                           Linear algebra functions for matrix operations, NEON implementations
blas_matrix_neon.h                           Linear algebra functions for matrix operations, NEON implementations
blas_matrix_ref.c                            Linear algebra functions for matrix operations, ref implementations
blas_matrix_ref.h                            Linear algebra functions for matrix operations, ref implementations
blas_neon.h                                  Linear algebra functions, NEON implementations
blas_u32.h                                   Linear algebra functions, u32 implementations
blas_u64.h                                   Linear algebra functions, u64 implementations
config.h                                     Macros for configuring runtime options
fips202.c                                    ref implementation for SHAKE256
fips202.h                                    ref implementation for SHAKE256
gf16.h                                       finte field arithmetic functions
gf16_neon.h                                  finte field arithmetic functions, NEON version
gf16_tabs_neon.c                             tables for finte field arithmetic functions, neon version
gf16_tabs_neon.h                             tables for finte field arithmetic functions, neon version
gf16_u64.h                                   finte field arithmetic functions, u64 version
ov.c                                         Main functions for signing and verifying
ov.h                                         Main functions for signing and verifying
ov_blas.h                                    Wrappers for blas functions
ov_keypair.c                                 Formats of key pairs and functions for generating key pairs.
ov_keypair.h                                 Formats of key pairs and functions for generating key pairs.
ov_keypair_computation.c                     Functions for computations of keypairs.
ov_keypair_computation.h                     Functions for computations of keypairs.
ov_publicmap.c                               Implementations for evaluating public keys
parallel_matrix_op.c                         the standard implementations for functions in parallel_matrix_op.h
parallel_matrix_op.h                         Librarys for operations of batched matrixes.
params.h                                     Macros for defining parameters
sign.c                                       the implementations for functions in api.h
utils.c                                      Some utilities or Input/Oupput functions
utils.h                                      Some utilities or Input/Oupput functions
utils_hash.c                                 Wrappers for HASH functions
utils_hash.h                                 Wrappers for HASH functions
utils_malloc.h                               Utilities for memory allocation functions
utils_prng.c                                 Wrappers for PRNG functions
utils_prng.h                                 Wrappers for PRNG functions
utils_randombytes.c                          Wrappers for randombytes()
utils_randombytes.h                          Wrappers for randombytes()

./Optimized_Implementation/neon/III_pkc:     
aes128_4r_ffs.c                              aes128 ref implementation of ffs method
aes128_4r_ffs.h                              aes128 ref implementation of ffs method
aes_neonaes.c                                aes128 implementation of armv8 aes instruction
aes_neonaes.h                                aes128 implementation of armv8 aes instruction
api.h                                        Defining API functions
blas.h                                       Basic linear algebra functions
blas_comm.h                                  Common functions for linear algebra
blas_matrix.c                                Linear algebra functions for matrix operations
blas_matrix.h                                Linear algebra functions for matrix operations
blas_matrix_neon.c                           Linear algebra functions for matrix operations, NEON implementations
blas_matrix_neon.h                           Linear algebra functions for matrix operations, NEON implementations
blas_matrix_ref.c                            Linear algebra functions for matrix operations, ref implementations
blas_matrix_ref.h                            Linear algebra functions for matrix operations, ref implementations
blas_neon.h                                  Linear algebra functions, NEON implementations
blas_u32.h                                   Linear algebra functions, u32 implementations
blas_u64.h                                   Linear algebra functions, u64 implementations
config.h                                     Macros for configuring runtime options
fips202.c                                    ref implementation for SHAKE256
fips202.h                                    ref implementation for SHAKE256
gf16.h                                       finte field arithmetic functions
gf16_neon.h                                  finte field arithmetic functions, NEON version
gf16_tabs_neon.c                             tables for finte field arithmetic functions, neon version
gf16_tabs_neon.h                             tables for finte field arithmetic functions, neon version
gf16_u64.h                                   finte field arithmetic functions, u64 version
ov.c                                         Main functions for signing and verifying
ov.h                                         Main functions for signing and verifying
ov_blas.h                                    Wrappers for blas functions
ov_keypair.c                                 Formats of key pairs and functions for generating key pairs.
ov_keypair.h                                 Formats of key pairs and functions for generating key pairs.
ov_keypair_computation.c                     Functions for computations of keypairs.
ov_keypair_computation.h                     Functions for computations of keypairs.
ov_publicmap.c                               Implementations for evaluating public keys
parallel_matrix_op.c                         the standard implementations for functions in parallel_matrix_op.h
parallel_matrix_op.h                         Librarys for operations of batched matrixes.
params.h                                     Macros for defining parameters
sign.c                                       the implementations for functions in api.h
utils.c                                      Some utilities or Input/Oupput functions
utils.h                                      Some utilities or Input/Oupput functions
utils_hash.c                                 Wrappers for HASH functions
utils_hash.h                                 Wrappers for HASH functions
utils_malloc.h                               Utilities for memory allocation functions
utils_prng.c                                 Wrappers for PRNG functions
utils_prng.h                                 Wrappers for PRNG functions
utils_randombytes.c                          Wrappers for randombytes()
utils_randombytes.h                          Wrappers for randombytes()

./Optimized_Implementation/neon/III_pkc_skc: 
aes128_4r_ffs.c                              aes128 ref implementation of ffs method
aes128_4r_ffs.h                              aes128 ref implementation of ffs method
aes_neonaes.c                                aes128 implementation of armv8 aes instruction
aes_neonaes.h                                aes128 implementation of armv8 aes instruction
api.h                                        Defining API functions
blas.h                                       Basic linear algebra functions
blas_comm.h                                  Common functions for linear algebra
blas_matrix.c                                Linear algebra functions for matrix operations
blas_matrix.h                                Linear algebra functions for matrix operations
blas_matrix_neon.c                           Linear algebra functions for matrix operations, NEON implementations
blas_matrix_neon.h                           Linear algebra functions for matrix operations, NEON implementations
blas_matrix_ref.c                            Linear algebra functions for matrix operations, ref implementations
blas_matrix_ref.h                            Linear algebra functions for matrix operations, ref implementations
blas_neon.h                                  Linear algebra functions, NEON implementations
blas_u32.h                                   Linear algebra functions, u32 implementations
blas_u64.h                                   Linear algebra functions, u64 implementations
config.h                                     Macros for configuring runtime options
fips202.c                                    ref implementation for SHAKE256
fips202.h                                    ref implementation for SHAKE256
gf16.h                                       finte field arithmetic functions
gf16_neon.h                                  finte field arithmetic functions, NEON version
gf16_tabs_neon.c                             tables for finte field arithmetic functions, neon version
gf16_tabs_neon.h                             tables for finte field arithmetic functions, neon version
gf16_u64.h                                   finte field arithmetic functions, u64 version
ov.c                                         Main functions for signing and verifying
ov.h                                         Main functions for signing and verifying
ov_blas.h                                    Wrappers for blas functions
ov_keypair.c                                 Formats of key pairs and functions for generating key pairs.
ov_keypair.h                                 Formats of key pairs and functions for generating key pairs.
ov_keypair_computation.c                     Functions for computations of keypairs.
ov_keypair_computation.h                     Functions for computations of keypairs.
ov_publicmap.c                               Implementations for evaluating public keys
parallel_matrix_op.c                         the standard implementations for functions in parallel_matrix_op.h
parallel_matrix_op.h                         Librarys for operations of batched matrixes.
params.h                                     Macros for defining parameters
sign.c                                       the implementations for functions in api.h
utils.c                                      Some utilities or Input/Oupput functions
utils.h                                      Some utilities or Input/Oupput functions
utils_hash.c                                 Wrappers for HASH functions
utils_hash.h                                 Wrappers for HASH functions
utils_malloc.h                               Utilities for memory allocation functions
utils_prng.c                                 Wrappers for PRNG functions
utils_prng.h                                 Wrappers for PRNG functions
utils_randombytes.c                          Wrappers for randombytes()
utils_randombytes.h                          Wrappers for randombytes()

./Optimized_Implementation/neon/Ip:          
aes128_4r_ffs.c                              aes128 ref implementation of ffs method
aes128_4r_ffs.h                              aes128 ref implementation of ffs method
aes_neonaes.c                                aes128 implementation of armv8 aes instruction
aes_neonaes.h                                aes128 implementation of armv8 aes instruction
api.h                                        Defining API functions
blas.h                                       Basic linear algebra functions
blas_comm.h                                  Common functions for linear algebra
blas_matrix.c                                Linear algebra functions for matrix operations
blas_matrix.h                                Linear algebra functions for matrix operations
blas_matrix_neon.c                           Linear algebra functions for matrix operations, NEON implementations
blas_matrix_neon.h                           Linear algebra functions for matrix operations, NEON implementations
blas_matrix_ref.c                            Linear algebra functions for matrix operations, ref implementations
blas_matrix_ref.h                            Linear algebra functions for matrix operations, ref implementations
blas_neon.h                                  Linear algebra functions, NEON implementations
blas_u32.h                                   Linear algebra functions, u32 implementations
blas_u64.h                                   Linear algebra functions, u64 implementations
config.h                                     Macros for configuring runtime options
fips202.c                                    ref implementation for SHAKE256
fips202.h                                    ref implementation for SHAKE256
gf16.h                                       finte field arithmetic functions
gf16_neon.h                                  finte field arithmetic functions, NEON version
gf16_tabs_neon.c                             tables for finte field arithmetic functions, neon version
gf16_tabs_neon.h                             tables for finte field arithmetic functions, neon version
gf16_u64.h                                   finte field arithmetic functions, u64 version
ov.c                                         Main functions for signing and verifying
ov.h                                         Main functions for signing and verifying
ov_blas.h                                    Wrappers for blas functions
ov_keypair.c                                 Formats of key pairs and functions for generating key pairs.
ov_keypair.h                                 Formats of key pairs and functions for generating key pairs.
ov_keypair_computation.c                     Functions for computations of keypairs.
ov_keypair_computation.h                     Functions for computations of keypairs.
ov_publicmap.c                               Implementations for evaluating public keys
parallel_matrix_op.c                         the standard implementations for functions in parallel_matrix_op.h
parallel_matrix_op.h                         Librarys for operations of batched matrixes.
params.h                                     Macros for defining parameters
sign.c                                       the implementations for functions in api.h
utils.c                                      Some utilities or Input/Oupput functions
utils.h                                      Some utilities or Input/Oupput functions
utils_hash.c                                 Wrappers for HASH functions
utils_hash.h                                 Wrappers for HASH functions
utils_malloc.h                               Utilities for memory allocation functions
utils_prng.c                                 Wrappers for PRNG functions
utils_prng.h                                 Wrappers for PRNG functions
utils_randombytes.c                          Wrappers for randombytes()
utils_randombytes.h                          Wrappers for randombytes()

./Optimized_Implementation/neon/Ip_pkc:      
aes128_4r_ffs.c                              aes128 ref implementation of ffs method
aes128_4r_ffs.h                              aes128 ref implementation of ffs method
aes_neonaes.c                                aes128 implementation of armv8 aes instruction
aes_neonaes.h                                aes128 implementation of armv8 aes instruction
api.h                                        Defining API functions
blas.h                                       Basic linear algebra functions
blas_comm.h                                  Common functions for linear algebra
blas_matrix.c                                Linear algebra functions for matrix operations
blas_matrix.h                                Linear algebra functions for matrix operations
blas_matrix_neon.c                           Linear algebra functions for matrix operations, NEON implementations
blas_matrix_neon.h                           Linear algebra functions for matrix operations, NEON implementations
blas_matrix_ref.c                            Linear algebra functions for matrix operations, ref implementations
blas_matrix_ref.h                            Linear algebra functions for matrix operations, ref implementations
blas_neon.h                                  Linear algebra functions, NEON implementations
blas_u32.h                                   Linear algebra functions, u32 implementations
blas_u64.h                                   Linear algebra functions, u64 implementations
config.h                                     Macros for configuring runtime options
fips202.c                                    ref implementation for SHAKE256
fips202.h                                    ref implementation for SHAKE256
gf16.h                                       finte field arithmetic functions
gf16_neon.h                                  finte field arithmetic functions, NEON version
gf16_tabs_neon.c                             tables for finte field arithmetic functions, neon version
gf16_tabs_neon.h                             tables for finte field arithmetic functions, neon version
gf16_u64.h                                   finte field arithmetic functions, u64 version
ov.c                                         Main functions for signing and verifying
ov.h                                         Main functions for signing and verifying
ov_blas.h                                    Wrappers for blas functions
ov_keypair.c                                 Formats of key pairs and functions for generating key pairs.
ov_keypair.h                                 Formats of key pairs and functions for generating key pairs.
ov_keypair_computation.c                     Functions for computations of keypairs.
ov_keypair_computation.h                     Functions for computations of keypairs.
ov_publicmap.c                               Implementations for evaluating public keys
parallel_matrix_op.c                         the standard implementations for functions in parallel_matrix_op.h
parallel_matrix_op.h                         Librarys for operations of batched matrixes.
params.h                                     Macros for defining parameters
sign.c                                       the implementations for functions in api.h
utils.c                                      Some utilities or Input/Oupput functions
utils.h                                      Some utilities or Input/Oupput functions
utils_hash.c                                 Wrappers for HASH functions
utils_hash.h                                 Wrappers for HASH functions
utils_malloc.h                               Utilities for memory allocation functions
utils_prng.c                                 Wrappers for PRNG functions
utils_prng.h                                 Wrappers for PRNG functions
utils_randombytes.c                          Wrappers for randombytes()
utils_randombytes.h                          Wrappers for randombytes()

./Optimized_Implementation/neon/Ip_pkc_skc:  
aes128_4r_ffs.c                              aes128 ref implementation of ffs method
aes128_4r_ffs.h                              aes128 ref implementation of ffs method
aes_neonaes.c                                aes128 implementation of armv8 aes instruction
aes_neonaes.h                                aes128 implementation of armv8 aes instruction
api.h                                        Defining API functions
blas.h                                       Basic linear algebra functions
blas_comm.h                                  Common functions for linear algebra
blas_matrix.c                                Linear algebra functions for matrix operations
blas_matrix.h                                Linear algebra functions for matrix operations
blas_matrix_neon.c                           Linear algebra functions for matrix operations, NEON implementations
blas_matrix_neon.h                           Linear algebra functions for matrix operations, NEON implementations
blas_matrix_ref.c                            Linear algebra functions for matrix operations, ref implementations
blas_matrix_ref.h                            Linear algebra functions for matrix operations, ref implementations
blas_neon.h                                  Linear algebra functions, NEON implementations
blas_u32.h                                   Linear algebra functions, u32 implementations
blas_u64.h                                   Linear algebra functions, u64 implementations
config.h                                     Macros for configuring runtime options
fips202.c                                    ref implementation for SHAKE256
fips202.h                                    ref implementation for SHAKE256
gf16.h                                       finte field arithmetic functions
gf16_neon.h                                  finte field arithmetic functions, NEON version
gf16_tabs_neon.c                             tables for finte field arithmetic functions, neon version
gf16_tabs_neon.h                             tables for finte field arithmetic functions, neon version
gf16_u64.h                                   finte field arithmetic functions, u64 version
ov.c                                         Main functions for signing and verifying
ov.h                                         Main functions for signing and verifying
ov_blas.h                                    Wrappers for blas functions
ov_keypair.c                                 Formats of key pairs and functions for generating key pairs.
ov_keypair.h                                 Formats of key pairs and functions for generating key pairs.
ov_keypair_computation.c                     Functions for computations of keypairs.
ov_keypair_computation.h                     Functions for computations of keypairs.
ov_publicmap.c                               Implementations for evaluating public keys
parallel_matrix_op.c                         the standard implementations for functions in parallel_matrix_op.h
parallel_matrix_op.h                         Librarys for operations of batched matrixes.
params.h                                     Macros for defining parameters
sign.c                                       the implementations for functions in api.h
utils.c                                      Some utilities or Input/Oupput functions
utils.h                                      Some utilities or Input/Oupput functions
utils_hash.c                                 Wrappers for HASH functions
utils_hash.h                                 Wrappers for HASH functions
utils_malloc.h                               Utilities for memory allocation functions
utils_prng.c                                 Wrappers for PRNG functions
utils_prng.h                                 Wrappers for PRNG functions
utils_randombytes.c                          Wrappers for randombytes()
utils_randombytes.h                          Wrappers for randombytes()

./Optimized_Implementation/neon/Is:          
aes128_4r_ffs.c                              aes128 ref implementation of ffs method
aes128_4r_ffs.h                              aes128 ref implementation of ffs method
aes_neonaes.c                                aes128 implementation of armv8 aes instruction
aes_neonaes.h                                aes128 implementation of armv8 aes instruction
api.h                                        Defining API functions
blas.h                                       Basic linear algebra functions
blas_comm.h                                  Common functions for linear algebra
blas_matrix.c                                Linear algebra functions for matrix operations
blas_matrix.h                                Linear algebra functions for matrix operations
blas_matrix_neon.c                           Linear algebra functions for matrix operations, NEON implementations
blas_matrix_neon.h                           Linear algebra functions for matrix operations, NEON implementations
blas_matrix_ref.c                            Linear algebra functions for matrix operations, ref implementations
blas_matrix_ref.h                            Linear algebra functions for matrix operations, ref implementations
blas_neon.h                                  Linear algebra functions, NEON implementations
blas_u32.h                                   Linear algebra functions, u32 implementations
blas_u64.h                                   Linear algebra functions, u64 implementations
config.h                                     Macros for configuring runtime options
fips202.c                                    ref implementation for SHAKE256
fips202.h                                    ref implementation for SHAKE256
gf16.h                                       finte field arithmetic functions
gf16_neon.h                                  finte field arithmetic functions, NEON version
gf16_tabs_neon.c                             tables for finte field arithmetic functions, neon version
gf16_tabs_neon.h                             tables for finte field arithmetic functions, neon version
gf16_u64.h                                   finte field arithmetic functions, u64 version
ov.c                                         Main functions for signing and verifying
ov.h                                         Main functions for signing and verifying
ov_blas.h                                    Wrappers for blas functions
ov_keypair.c                                 Formats of key pairs and functions for generating key pairs.
ov_keypair.h                                 Formats of key pairs and functions for generating key pairs.
ov_keypair_computation.c                     Functions for computations of keypairs.
ov_keypair_computation.h                     Functions for computations of keypairs.
ov_publicmap.c                               Implementations for evaluating public keys
parallel_matrix_op.c                         the standard implementations for functions in parallel_matrix_op.h
parallel_matrix_op.h                         Librarys for operations of batched matrixes.
params.h                                     Macros for defining parameters
sign.c                                       the implementations for functions in api.h
utils.c                                      Some utilities or Input/Oupput functions
utils.h                                      Some utilities or Input/Oupput functions
utils_hash.c                                 Wrappers for HASH functions
utils_hash.h                                 Wrappers for HASH functions
utils_malloc.h                               Utilities for memory allocation functions
utils_prng.c                                 Wrappers for PRNG functions
utils_prng.h                                 Wrappers for PRNG functions
utils_randombytes.c                          Wrappers for randombytes()
utils_randombytes.h                          Wrappers for randombytes()

./Optimized_Implementation/neon/Is_pkc:      
aes128_4r_ffs.c                              aes128 ref implementation of ffs method
aes128_4r_ffs.h                              aes128 ref implementation of ffs method
aes_neonaes.c                                aes128 implementation of armv8 aes instruction
aes_neonaes.h                                aes128 implementation of armv8 aes instruction
api.h                                        Defining API functions
blas.h                                       Basic linear algebra functions
blas_comm.h                                  Common functions for linear algebra
blas_matrix.c                                Linear algebra functions for matrix operations
blas_matrix.h                                Linear algebra functions for matrix operations
blas_matrix_neon.c                           Linear algebra functions for matrix operations, NEON implementations
blas_matrix_neon.h                           Linear algebra functions for matrix operations, NEON implementations
blas_matrix_ref.c                            Linear algebra functions for matrix operations, ref implementations
blas_matrix_ref.h                            Linear algebra functions for matrix operations, ref implementations
blas_neon.h                                  Linear algebra functions, NEON implementations
blas_u32.h                                   Linear algebra functions, u32 implementations
blas_u64.h                                   Linear algebra functions, u64 implementations
config.h                                     Macros for configuring runtime options
fips202.c                                    ref implementation for SHAKE256
fips202.h                                    ref implementation for SHAKE256
gf16.h                                       finte field arithmetic functions
gf16_neon.h                                  finte field arithmetic functions, NEON version
gf16_tabs_neon.c                             tables for finte field arithmetic functions, neon version
gf16_tabs_neon.h                             tables for finte field arithmetic functions, neon version
gf16_u64.h                                   finte field arithmetic functions, u64 version
ov.c                                         Main functions for signing and verifying
ov.h                                         Main functions for signing and verifying
ov_blas.h                                    Wrappers for blas functions
ov_keypair.c                                 Formats of key pairs and functions for generating key pairs.
ov_keypair.h                                 Formats of key pairs and functions for generating key pairs.
ov_keypair_computation.c                     Functions for computations of keypairs.
ov_keypair_computation.h                     Functions for computations of keypairs.
ov_publicmap.c                               Implementations for evaluating public keys
parallel_matrix_op.c                         the standard implementations for functions in parallel_matrix_op.h
parallel_matrix_op.h                         Librarys for operations of batched matrixes.
params.h                                     Macros for defining parameters
sign.c                                       the implementations for functions in api.h
utils.c                                      Some utilities or Input/Oupput functions
utils.h                                      Some utilities or Input/Oupput functions
utils_hash.c                                 Wrappers for HASH functions
utils_hash.h                                 Wrappers for HASH functions
utils_malloc.h                               Utilities for memory allocation functions
utils_prng.c                                 Wrappers for PRNG functions
utils_prng.h                                 Wrappers for PRNG functions
utils_randombytes.c                          Wrappers for randombytes()
utils_randombytes.h                          Wrappers for randombytes()

./Optimized_Implementation/neon/Is_pkc_skc:  
aes128_4r_ffs.c                              aes128 ref implementation of ffs method
aes128_4r_ffs.h                              aes128 ref implementation of ffs method
aes_neonaes.c                                aes128 implementation of armv8 aes instruction
aes_neonaes.h                                aes128 implementation of armv8 aes instruction
api.h                                        Defining API functions
blas.h                                       Basic linear algebra functions
blas_comm.h                                  Common functions for linear algebra
blas_matrix.c                                Linear algebra functions for matrix operations
blas_matrix.h                                Linear algebra functions for matrix operations
blas_matrix_neon.c                           Linear algebra functions for matrix operations, NEON implementations
blas_matrix_neon.h                           Linear algebra functions for matrix operations, NEON implementations
blas_matrix_ref.c                            Linear algebra functions for matrix operations, ref implementations
blas_matrix_ref.h                            Linear algebra functions for matrix operations, ref implementations
blas_neon.h                                  Linear algebra functions, NEON implementations
blas_u32.h                                   Linear algebra functions, u32 implementations
blas_u64.h                                   Linear algebra functions, u64 implementations
config.h                                     Macros for configuring runtime options
fips202.c                                    ref implementation for SHAKE256
fips202.h                                    ref implementation for SHAKE256
gf16.h                                       finte field arithmetic functions
gf16_neon.h                                  finte field arithmetic functions, NEON version
gf16_tabs_neon.c                             tables for finte field arithmetic functions, neon version
gf16_tabs_neon.h                             tables for finte field arithmetic functions, neon version
gf16_u64.h                                   finte field arithmetic functions, u64 version
ov.c                                         Main functions for signing and verifying
ov.h                                         Main functions for signing and verifying
ov_blas.h                                    Wrappers for blas functions
ov_keypair.c                                 Formats of key pairs and functions for generating key pairs.
ov_keypair.h                                 Formats of key pairs and functions for generating key pairs.
ov_keypair_computation.c                     Functions for computations of keypairs.
ov_keypair_computation.h                     Functions for computations of keypairs.
ov_publicmap.c                               Implementations for evaluating public keys
parallel_matrix_op.c                         the standard implementations for functions in parallel_matrix_op.h
parallel_matrix_op.h                         Librarys for operations of batched matrixes.
params.h                                     Macros for defining parameters
sign.c                                       the implementations for functions in api.h
utils.c                                      Some utilities or Input/Oupput functions
utils.h                                      Some utilities or Input/Oupput functions
utils_hash.c                                 Wrappers for HASH functions
utils_hash.h                                 Wrappers for HASH functions
utils_malloc.h                               Utilities for memory allocation functions
utils_prng.c                                 Wrappers for PRNG functions
utils_prng.h                                 Wrappers for PRNG functions
utils_randombytes.c                          Wrappers for randombytes()
utils_randombytes.h                          Wrappers for randombytes()

./Optimized_Implementation/neon/V:           
aes128_4r_ffs.c                              aes128 ref implementation of ffs method
aes128_4r_ffs.h                              aes128 ref implementation of ffs method
aes_neonaes.c                                aes128 implementation of armv8 aes instruction
aes_neonaes.h                                aes128 implementation of armv8 aes instruction
api.h                                        Defining API functions
blas.h                                       Basic linear algebra functions
blas_comm.h                                  Common functions for linear algebra
blas_matrix.c                                Linear algebra functions for matrix operations
blas_matrix.h                                Linear algebra functions for matrix operations
blas_matrix_neon.c                           Linear algebra functions for matrix operations, NEON implementations
blas_matrix_neon.h                           Linear algebra functions for matrix operations, NEON implementations
blas_matrix_ref.c                            Linear algebra functions for matrix operations, ref implementations
blas_matrix_ref.h                            Linear algebra functions for matrix operations, ref implementations
blas_neon.h                                  Linear algebra functions, NEON implementations
blas_u32.h                                   Linear algebra functions, u32 implementations
blas_u64.h                                   Linear algebra functions, u64 implementations
config.h                                     Macros for configuring runtime options
fips202.c                                    ref implementation for SHAKE256
fips202.h                                    ref implementation for SHAKE256
gf16.h                                       finte field arithmetic functions
gf16_neon.h                                  finte field arithmetic functions, NEON version
gf16_tabs_neon.c                             tables for finte field arithmetic functions, neon version
gf16_tabs_neon.h                             tables for finte field arithmetic functions, neon version
gf16_u64.h                                   finte field arithmetic functions, u64 version
ov.c                                         Main functions for signing and verifying
ov.h                                         Main functions for signing and verifying
ov_blas.h                                    Wrappers for blas functions
ov_keypair.c                                 Formats of key pairs and functions for generating key pairs.
ov_keypair.h                                 Formats of key pairs and functions for generating key pairs.
ov_keypair_computation.c                     Functions for computations of keypairs.
ov_keypair_computation.h                     Functions for computations of keypairs.
ov_publicmap.c                               Implementations for evaluating public keys
parallel_matrix_op.c                         the standard implementations for functions in parallel_matrix_op.h
parallel_matrix_op.h                         Librarys for operations of batched matrixes.
params.h                                     Macros for defining parameters
sign.c                                       the implementations for functions in api.h
utils.c                                      Some utilities or Input/Oupput functions
utils.h                                      Some utilities or Input/Oupput functions
utils_hash.c                                 Wrappers for HASH functions
utils_hash.h                                 Wrappers for HASH functions
utils_malloc.h                               Utilities for memory allocation functions
utils_prng.c                                 Wrappers for PRNG functions
utils_prng.h                                 Wrappers for PRNG functions
utils_randombytes.c                          Wrappers for randombytes()
utils_randombytes.h                          Wrappers for randombytes()

./Optimized_Implementation/neon/V_pkc:       
aes128_4r_ffs.c                              aes128 ref implementation of ffs method
aes128_4r_ffs.h                              aes128 ref implementation of ffs method
aes_neonaes.c                                aes128 implementation of armv8 aes instruction
aes_neonaes.h                                aes128 implementation of armv8 aes instruction
api.h                                        Defining API functions
blas.h                                       Basic linear algebra functions
blas_comm.h                                  Common functions for linear algebra
blas_matrix.c                                Linear algebra functions for matrix operations
blas_matrix.h                                Linear algebra functions for matrix operations
blas_matrix_neon.c                           Linear algebra functions for matrix operations, NEON implementations
blas_matrix_neon.h                           Linear algebra functions for matrix operations, NEON implementations
blas_matrix_ref.c                            Linear algebra functions for matrix operations, ref implementations
blas_matrix_ref.h                            Linear algebra functions for matrix operations, ref implementations
blas_neon.h                                  Linear algebra functions, NEON implementations
blas_u32.h                                   Linear algebra functions, u32 implementations
blas_u64.h                                   Linear algebra functions, u64 implementations
config.h                                     Macros for configuring runtime options
fips202.c                                    ref implementation for SHAKE256
fips202.h                                    ref implementation for SHAKE256
gf16.h                                       finte field arithmetic functions
gf16_neon.h                                  finte field arithmetic functions, NEON version
gf16_tabs_neon.c                             tables for finte field arithmetic functions, neon version
gf16_tabs_neon.h                             tables for finte field arithmetic functions, neon version
gf16_u64.h                                   finte field arithmetic functions, u64 version
ov.c                                         Main functions for signing and verifying
ov.h                                         Main functions for signing and verifying
ov_blas.h                                    Wrappers for blas functions
ov_keypair.c                                 Formats of key pairs and functions for generating key pairs.
ov_keypair.h                                 Formats of key pairs and functions for generating key pairs.
ov_keypair_computation.c                     Functions for computations of keypairs.
ov_keypair_computation.h                     Functions for computations of keypairs.
ov_publicmap.c                               Implementations for evaluating public keys
parallel_matrix_op.c                         the standard implementations for functions in parallel_matrix_op.h
parallel_matrix_op.h                         Librarys for operations of batched matrixes.
params.h                                     Macros for defining parameters
sign.c                                       the implementations for functions in api.h
utils.c                                      Some utilities or Input/Oupput functions
utils.h                                      Some utilities or Input/Oupput functions
utils_hash.c                                 Wrappers for HASH functions
utils_hash.h                                 Wrappers for HASH functions
utils_malloc.h                               Utilities for memory allocation functions
utils_prng.c                                 Wrappers for PRNG functions
utils_prng.h                                 Wrappers for PRNG functions
utils_randombytes.c                          Wrappers for randombytes()
utils_randombytes.h                          Wrappers for randombytes()

./Optimized_Implementation/neon/V_pkc_skc:   
aes128_4r_ffs.c                              aes128 ref implementation of ffs method
aes128_4r_ffs.h                              aes128 ref implementation of ffs method
aes_neonaes.c                                aes128 implementation of armv8 aes instruction
aes_neonaes.h                                aes128 implementation of armv8 aes instruction
api.h                                        Defining API functions
blas.h                                       Basic linear algebra functions
blas_comm.h                                  Common functions for linear algebra
blas_matrix.c                                Linear algebra functions for matrix operations
blas_matrix.h                                Linear algebra functions for matrix operations
blas_matrix_neon.c                           Linear algebra functions for matrix operations, NEON implementations
blas_matrix_neon.h                           Linear algebra functions for matrix operations, NEON implementations
blas_matrix_ref.c                            Linear algebra functions for matrix operations, ref implementations
blas_matrix_ref.h                            Linear algebra functions for matrix operations, ref implementations
blas_neon.h                                  Linear algebra functions, NEON implementations
blas_u32.h                                   Linear algebra functions, u32 implementations
blas_u64.h                                   Linear algebra functions, u64 implementations
config.h                                     Macros for configuring runtime options
fips202.c                                    ref implementation for SHAKE256
fips202.h                                    ref implementation for SHAKE256
gf16.h                                       finte field arithmetic functions
gf16_neon.h                                  finte field arithmetic functions, NEON version
gf16_tabs_neon.c                             tables for finte field arithmetic functions, neon version
gf16_tabs_neon.h                             tables for finte field arithmetic functions, neon version
gf16_u64.h                                   finte field arithmetic functions, u64 version
ov.c                                         Main functions for signing and verifying
ov.h                                         Main functions for signing and verifying
ov_blas.h                                    Wrappers for blas functions
ov_keypair.c                                 Formats of key pairs and functions for generating key pairs.
ov_keypair.h                                 Formats of key pairs and functions for generating key pairs.
ov_keypair_computation.c                     Functions for computations of keypairs.
ov_keypair_computation.h                     Functions for computations of keypairs.
ov_publicmap.c                               Implementations for evaluating public keys
parallel_matrix_op.c                         the standard implementations for functions in parallel_matrix_op.h
parallel_matrix_op.h                         Librarys for operations of batched matrixes.
params.h                                     Macros for defining parameters
sign.c                                       the implementations for functions in api.h
utils.c                                      Some utilities or Input/Oupput functions
utils.h                                      Some utilities or Input/Oupput functions
utils_hash.c                                 Wrappers for HASH functions
utils_hash.h                                 Wrappers for HASH functions
utils_malloc.h                               Utilities for memory allocation functions
utils_prng.c                                 Wrappers for PRNG functions
utils_prng.h                                 Wrappers for PRNG functions
utils_randombytes.c                          Wrappers for randombytes()
utils_randombytes.h                          Wrappers for randombytes()

./Optimized_Implementation/neon/nistkat:     
PQCgenKAT_sign.c                             the program for generating KATs from NIST
rng.c                                        KAT tools from NIST
rng.h                                        KAT tools from NIST

./Reference_Implementation:                  
generate_KAT.sh                              script for generating KAT
III                                          uov-III, classic
III_pkc                                      uov-III, compressed public key
III_pkc_skc                                  uov-III, compressed public and secret keys
Ip                                           uov-Ip, classic
Ip_pkc                                       uov-Ip, compressed public key
Ip_pkc_skc                                   uov-Ip, compressed public and secret keys
Is                                           uov-Is, classic
Is_pkc                                       uov-Is, compressed public key
Is_pkc_skc                                   uov-Is, compressed public and secret keys
Makefile                                     build rules, selecting a parameter set with PROJ
nistkat                                      Directory for KAT tools from NIST
README.md                                    parameters and build instructions for this implementation
sign_api-test.c                              Unit-tester for api functions
V                                            uov-V, classic
V_pkc                                        uov-V, compressed public key
V_pkc_skc                                    uov-V, compressed public and secret keys

./Reference_Implementation/III:              
aes128_4r_ffs.c                              aes128 ref implementation of ffs method
aes128_4r_ffs.h                              aes128 ref implementation of ffs method
api.h                                        Defining API functions
blas.h                                       Basic linear algebra functions
blas_comm.h                                  Common functions for linear algebra
blas_matrix.c                                Linear algebra functions for matrix operations
blas_matrix.h                                Linear algebra functions for matrix operations
blas_matrix_ref.c                            Linear algebra functions for matrix operations, ref implementations
blas_matrix_ref.h                            Linear algebra functions for matrix operations, ref implementations
blas_u32.h                                   Linear algebra functions, u32 implementations
config.h                                     Macros for configuring runtime options
fips202.c                                    ref implementation for SHAKE256
fips202.h                                    ref implementation for SHAKE256
gf16.h                                       finte field arithmetic functions
ov.c                                         Main functions for signing and verifying
ov.h                                         Main functions for signing and verifying
ov_blas.h                                    Wrappers for blas functions
ov_keypair.c                                 Formats of key pairs and functions for generating key pairs.
ov_keypair.h                                 Formats of key pairs and functions for generating key pairs.
ov_keypair_computation.c                     Functions for computations of keypairs.
ov_keypair_computation.h                     Functions for computations of keypairs.
ov_publicmap.c                               Implementations for evaluating public keys
parallel_matrix_op.c                         the standard implementations for functions in parallel_matrix_op.h
parallel_matrix_op.h                         Librarys for operations of batched matrixes.
params.h                                     Macros for defining parameters
sign.c                                       the implementations for functions in api.h
utils.c                                      Some utilities or Input/Oupput functions
utils.h                                      Some utilities or Input/Oupput functions
utils_hash.c                                 Wrappers for HASH functions
utils_hash.h                                 Wrappers for HASH functions
utils_malloc.h                               Utilities for memory allocation functions
utils_prng.c                                 Wrappers for PRNG functions
utils_prng.h                                 Wrappers for PRNG functions
utils_randombytes.c                          Wrappers for randombytes()
utils_randombytes.h                          Wrappers for randombytes()

./Reference_Implementation/III_pkc:          
aes128_4r_ffs.c                              aes128 ref implementation of ffs method
aes128_4r_ffs.h                              aes128 ref implementation of ffs method
api.h                                        Defining API functions
blas.h                                       Basic linear algebra functions
blas_comm.h                                  Common functions for linear algebra
blas_matrix.c                                Linear algebra functions for matrix operations
blas_matrix.h                                Linear algebra functions for matrix operations
blas_matrix_ref.c                            Linear algebra functions for matrix operations, ref implementations
blas_matrix_ref.h                            Linear algebra functions for matrix operations, ref implementations
blas_u32.h                                   Linear algebra functions, u32 implementations
config.h                                     Macros for configuring runtime options
fips202.c                                    ref implementation for SHAKE256
fips202.h                                    ref implementation for SHAKE256
gf16.h                                       finte field arithmetic functions
ov.c                                         Main functions for signing and verifying
ov.h                                         Main functions for signing and verifying
ov_blas.h                                    Wrappers for blas functions
ov_keypair.c                                 Formats of key pairs and functions for generating key pairs.
ov_keypair.h                                 Formats of key pairs and functions for generating key pairs.
ov_keypair_computation.c                     Functions for computations of keypairs.
ov_keypair_computation.h                     Functions for computations of keypairs.
ov_publicmap.c                               Implementations for evaluating public keys
parallel_matrix_op.c                         the standard implementations for functions in parallel_matrix_op.h
parallel_matrix_op.h                         Librarys for operations of batched matrixes.
params.h                                     Macros for defining parameters
sign.c                                       the implementations for functions in api.h
utils.c                                      Some utilities or Input/Oupput functions
utils.h                                      Some utilities or Input/Oupput functions
utils_hash.c                                 Wrappers for HASH functions
utils_hash.h                                 Wrappers for HASH functions
utils_malloc.h                               Utilities for memory allocation functions
utils_prng.c                                 Wrappers for PRNG functions
utils_prng.h                                 Wrappers for PRNG functions
utils_randombytes.c                          Wrappers for randombytes()
utils_randombytes.h                          Wrappers for randombytes()

./Reference_Implementation/III_pkc_skc:      
aes128_4r_ffs.c                              aes128 ref implementation of ffs method
aes128_4r_ffs.h                              aes128 ref implementation of ffs method
api.h                                        Defining API functions
blas.h                                       Basic linear algebra functions
blas_comm.h                                  Common functions for linear algebra
blas_matrix.c                                Linear algebra functions for matrix operations
blas_matrix.h                                Linear algebra functions for matrix operations
blas_matrix_ref.c                            Linear algebra functions for matrix operations, ref implementations
blas_matrix_ref.h                            Linear algebra functions for matrix operations, ref implementations
blas_u32.h                                   Linear algebra functions, u32 implementations
config.h                                     Macros for configuring runtime options
fips202.c                                    ref implementation for SHAKE256
fips202.h                                    ref implementation for SHAKE256
gf16.h                                       finte field arithmetic functions
ov.c                                         Main functions for signing and verifying
ov.h                                         Main functions for signing and verifying
ov_blas.h                                    Wrappers for blas functions
ov_keypair.c                                 Formats of key pairs and functions for generating key pairs.
ov_keypair.h                                 Formats of key pairs and functions for generating key pairs.
ov_keypair_computation.c                     Functions for computations of keypairs.
ov_keypair_computation.h                     Functions for computations of keypairs.
ov_publicmap.c                               Implementations for evaluating public keys
parallel_matrix_op.c                         the standard implementations for functions in parallel_matrix_op.h
parallel_matrix_op.h                         Librarys for operations of batched matrixes.
params.h                                     Macros for defining parameters
sign.c                                       the implementations for functions in api.h
utils.c                                      Some utilities or Input/Oupput functions
utils.h                                      Some utilities or Input/Oupput functions
utils_hash.c                                 Wrappers for HASH functions
utils_hash.h                                 Wrappers for HASH functions
utils_malloc.h                               Utilities for memory allocation functions
utils_prng.c                                 Wrappers for PRNG functions
utils_prng.h                                 Wrappers for PRNG functions
utils_randombytes.c                          Wrappers for randombytes()
utils_randombytes.h                          Wrappers for randombytes()

./Reference_Implementation/Ip:               
aes128_4r_ffs.c                              aes128 ref implementation of ffs method
aes128_4r_ffs.h                              aes128 ref implementation of ffs method
api.h                                        Defining API functions
blas.h                                       Basic linear algebra functions
blas_comm.h                                  Common functions for linear algebra
blas_matrix.c                                Linear algebra functions for matrix operations
blas_matrix.h                                Linear algebra functions for matrix operations
blas_matrix_ref.c                            Linear algebra functions for matrix operations, ref implementations
blas_matrix_ref.h                            Linear algebra functions for matrix operations, ref implementations
blas_u32.h                                   Linear algebra functions, u32 implementations
config.h                                     Macros for configuring runtime options
fips202.c                                    ref implementation for SHAKE256
fips202.h                                    ref implementation for SHAKE256
gf16.h                                       finte field arithmetic functions
ov.c                                         Main functions for signing and verifying
ov.h                                         Main functions for signing and verifying
ov_blas.h                                    Wrappers for blas functions
ov_keypair.c                                 Formats of key pairs and functions for generating key pairs.
ov_keypair.h                                 Formats of key pairs and functions for generating key pairs.
ov_keypair_computation.c                     Functions for computations of keypairs.
ov_keypair_computation.h                     Functions for computations of keypairs.
ov_publicmap.c                               Implementations for evaluating public keys
parallel_matrix_op.c                         the standard implementations for functions in parallel_matrix_op.h
parallel_matrix_op.h                         Librarys for operations of batched matrixes.
params.h                                     Macros for defining parameters
sign.c                                       the implementations for functions in api.h
utils.c                                      Some utilities or Input/Oupput functions
utils.h                                      Some utilities or Input/Oupput functions
utils_hash.c                                 Wrappers for HASH functions
utils_hash.h                                 Wrappers for HASH functions
utils_malloc.h                               Utilities for memory allocation functions
utils_prng.c                                 Wrappers for PRNG functions
utils_prng.h                                 Wrappers for PRNG functions
utils_randombytes.c                          Wrappers for randombytes()
utils_randombytes.h                          Wrappers for randombytes()

./Reference_Implementation/Ip_pkc:           
aes128_4r_ffs.c                              aes128 ref implementation of ffs method
aes128_4r_ffs.h                              aes128 ref implementation of ffs method
api.h                                        Defining API functions
blas.h                                       Basic linear algebra functions
blas_comm.h                                  Common functions for linear algebra
blas_matrix.c                                Linear algebra functions for matrix operations
blas_matrix.h                                Linear algebra functions for matrix operations
blas_matrix_ref.c                            Linear algebra functions for matrix operations, ref implementations
blas_matrix_ref.h                            Linear algebra functions for matrix operations, ref implementations
blas_u32.h                                   Linear algebra functions, u32 implementations
config.h                                     Macros for configuring runtime options
fips202.c                                    ref implementation for SHAKE256
fips202.h                                    ref implementation for SHAKE256
gf16.h                                       finte field arithmetic functions
ov.c                                         Main functions for signing and verifying
ov.h                                         Main functions for signing and verifying
ov_blas.h                                    Wrappers for blas functions
ov_keypair.c                                 Formats of key pairs and functions for generating key pairs.
ov_keypair.h                                 Formats of key pairs and functions for generating key pairs.
ov_keypair_computation.c                     Functions for computations of keypairs.
ov_keypair_computation.h                     Functions for computations of keypairs.
ov_publicmap.c                               Implementations for evaluating public keys
parallel_matrix_op.c                         the standard implementations for functions in parallel_matrix_op.h
parallel_matrix_op.h                         Librarys for operations of batched matrixes.
params.h                                     Macros for defining parameters
sign.c                                       the implementations for functions in api.h
utils.c                                      Some utilities or Input/Oupput functions
utils.h                                      Some utilities or Input/Oupput functions
utils_hash.c                                 Wrappers for HASH functions
utils_hash.h                                 Wrappers for HASH functions
utils_malloc.h                               Utilities for memory allocation functions
utils_prng.c                                 Wrappers for PRNG functions
utils_prng.h                                 Wrappers for PRNG functions
utils_randombytes.c                          Wrappers for randombytes()
utils_randombytes.h                          Wrappers for randombytes()

./Reference_Implementation/Ip_pkc_skc:       
aes128_4r_ffs.c                              aes128 ref implementation of ffs method
aes128_4r_ffs.h                              aes128 ref implementation of ffs method
api.h                                        Defining API functions
blas.h                                       Basic linear algebra functions
blas_comm.h                                  Common functions for linear algebra
blas_matrix.c                                Linear algebra functions for matrix operations
blas_matrix.h                                Linear algebra functions for matrix operations
blas_matrix_ref.c                            Linear algebra functions for matrix operations, ref implementations
blas_matrix_ref.h                            Linear algebra functions for matrix operations, ref implementations
blas_u32.h                                   Linear algebra functions, u32 implementations
config.h                                     Macros for configuring runtime options
fips202.c                                    ref implementation for SHAKE256
fips202.h                                    ref implementation for SHAKE256
gf16.h                                       finte field arithmetic functions
ov.c                                         Main functions for signing and verifying
ov.h                                         Main functions for signing and verifying
ov_blas.h                                    Wrappers for blas functions
ov_keypair.c                                 Formats of key pairs and functions for generating key pairs.
ov_keypair.h                                 Formats of key pairs and functions for generating key pairs.
ov_keypair_computation.c                     Functions for computations of keypairs.
ov_keypair_computation.h                     Functions for computations of keypairs.
ov_publicmap.c                               Implementations for evaluating public keys
parallel_matrix_op.c                         the standard implementations for functions in parallel_matrix_op.h
parallel_matrix_op.h                         Librarys for operations of batched matrixes.
params.h                                     Macros for defining parameters
sign.c                                       the implementations for functions in api.h
utils.c                                      Some utilities or Input/Oupput functions
utils.h                                      Some utilities or Input/Oupput functions
utils_hash.c                                 Wrappers for HASH functions
utils_hash.h                                 Wrappers for HASH functions
utils_malloc.h                               Utilities for memory allocation functions
utils_prng.c                                 Wrappers for PRNG functions
utils_prng.h                                 Wrappers for PRNG functions
utils_randombytes.c                          Wrappers for randombytes()
utils_randombytes.h                          Wrappers for randombytes()

./Reference_Implementation/Is:               
aes128_4r_ffs.c                              aes128 ref implementation of ffs method
aes128_4r_ffs.h                              aes128 ref implementation of ffs method
api.h                                        Defining API functions
blas.h                                       Basic linear algebra functions
blas_comm.h                                  Common functions for linear algebra
blas_matrix.c                                Linear algebra functions for matrix operations
blas_matrix.h                                Linear algebra functions for matrix operations
blas_matrix_ref.c                            Linear algebra functions for matrix operations, ref implementations
blas_matrix_ref.h                            Linear algebra functions for matrix operations, ref implementations
blas_u32.h                                   Linear algebra functions, u32 implementations
config.h                                     Macros for configuring runtime options
fips202.c                                    ref implementation for SHAKE256
fips202.h                                    ref implementation for SHAKE256
gf16.h                                       finte field arithmetic functions
ov.c                                         Main functions for signing and verifying
ov.h                                         Main functions for signing and verifying
ov_blas.h                                    Wrappers for blas functions
ov_keypair.c                                 Formats of key pairs and functions for generating key pairs.
ov_keypair.h                                 Formats of key pairs and functions for generating key pairs.
ov_keypair_computation.c                     Functions for computations of keypairs.
ov_keypair_computation.h                     Functions for computations of keypairs.
ov_publicmap.c                               Implementations for evaluating public keys
parallel_matrix_op.c                         the standard implementations for functions in parallel_matrix_op.h
parallel_matrix_op.h                         Librarys for operations of batched matrixes.
params.h                                     Macros for defining parameters
sign.c                                       the implementations for functions in api.h
utils.c                                      Some utilities or Input/Oupput functions
utils.h                                      Some utilities or Input/Oupput functions
utils_hash.c                                 Wrappers for HASH functions
utils_hash.h                                 Wrappers for HASH functions
utils_malloc.h                               Utilities for memory allocation functions
utils_prng.c                                 Wrappers for PRNG functions
utils_prng.h                                 Wrappers for PRNG functions
utils_randombytes.c                          Wrappers for randombytes()
utils_randombytes.h                          Wrappers for randombytes()

./Reference_Implementation/Is_pkc:           
aes128_4r_ffs.c                              aes128 ref implementation of ffs method
aes128_4r_ffs.h                              aes128 ref implementation of ffs method
api.h                                        Defining API functions
blas.h                                       Basic linear algebra functions
blas_comm.h                                  Common functions for linear algebra
blas_matrix.c                                Linear algebra functions for matrix operations
blas_matrix.h                                Linear algebra functions for matrix operations
blas_matrix_ref.c                            Linear algebra functions for matrix operations, ref implementations
blas_matrix_ref.h                            Linear algebra functions for matrix operations, ref implementations
blas_u32.h                                   Linear algebra functions, u32 implementations
config.h                                     Macros for configuring runtime options
fips202.c                                    ref implementation for SHAKE256
fips202.h                                    ref implementation for SHAKE256
gf16.h                                       finte field arithmetic functions
ov.c                                         Main functions for signing and verifying
ov.h                                         Main functions for signing and verifying
ov_blas.h                                    Wrappers for blas functions
ov_keypair.c                                 Formats of key pairs and functions for generating key pairs.
ov_keypair.h                                 Formats of key pairs and functions for generating key pairs.
ov_keypair_computation.c                     Functions for computations of keypairs.
ov_keypair_computation.h                     Functions for computations of keypairs.
ov_publicmap.c                               Implementations for evaluating public keys
parallel_matrix_op.c                         the standard implementations for functions in parallel_matrix_op.h
parallel_matrix_op.h                         Librarys for operations of batched matrixes.
params.h                                     Macros for defining parameters
sign.c                                       the implementations for functions in api.h
utils.c                                      Some utilities or Input/Oupput functions
utils.h                                      Some utilities or Input/Oupput functions
utils_hash.c                                 Wrappers for HASH functions
utils_hash.h                                 Wrappers for HASH functions
utils_malloc.h                               Utilities for memory allocation functions
utils_prng.c                                 Wrappers for PRNG functions
utils_prng.h                                 Wrappers for PRNG functions
utils_randombytes.c                          Wrappers for randombytes()
utils_randombytes.h                          Wrappers for randombytes()

./Reference_Implementation/Is_pkc_skc:       
aes128_4r_ffs.c                              aes128 ref implementation of ffs method
aes128_4r_ffs.h                              aes128 ref implementation of ffs method
api.h                                        Defining API functions
blas.h                                       Basic linear algebra functions
blas_comm.h                                  Common functions for linear algebra
blas_matrix.c                                Linear algebra functions for matrix operations
blas_matrix.h                                Linear algebra functions for matrix operations
blas_matrix_ref.c                            Linear algebra functions for matrix operations, ref implementations
blas_matrix_ref.h                            Linear algebra functions for matrix operations, ref implementations
blas_u32.h                                   Linear algebra functions, u32 implementations
config.h                                     Macros for configuring runtime options
fips202.c                                    ref implementation for SHAKE256
fips202.h                                    ref implementation for SHAKE256
gf16.h                                       finte field arithmetic functions
ov.c                                         Main functions for signing and verifying
ov.h                                         Main functions for signing and verifying
ov_blas.h                                    Wrappers for blas functions
ov_keypair.c                                 Formats of key pairs and functions for generating key pairs.
ov_keypair.h                                 Formats of key pairs and functions for generating key pairs.
ov_keypair_computation.c                     Functions for computations of keypairs.
ov_keypair_computation.h                     Functions for computations of keypairs.
ov_publicmap.c                               Implementations for evaluating public keys
parallel_matrix_op.c                         the standard implementations for functions in parallel_matrix_op.h
parallel_matrix_op.h                         Librarys for operations of batched matrixes.
params.h                                     Macros for defining parameters
sign.c                                       the implementations for functions in api.h
utils.c                                      Some utilities or Input/Oupput functions
utils.h                                      Some utilities or Input/Oupput functions
utils_hash.c                                 Wrappers for HASH functions
utils_hash.h                                 Wrappers for HASH functions
utils_malloc.h                               Utilities for memory allocation functions
utils_prng.c                                 Wrappers for PRNG functions
utils_prng.h                                 Wrappers for PRNG functions
utils_randombytes.c                          Wrappers for randombytes()
utils_randombytes.h                          Wrappers for randombytes()

./Reference_Implementation/V:                
aes128_4r_ffs.c                              aes128 ref implementation of ffs method
aes128_4r_ffs.h                              aes128 ref implementation of ffs method
api.h                                        Defining API functions
blas.h                                       Basic linear algebra functions
blas_comm.h                                  Common functions for linear algebra
blas_matrix.c                                Linear algebra functions for matrix operations
blas_matrix.h                                Linear algebra functions for matrix operations
blas_matrix_ref.c                            Linear algebra functions for matrix operations, ref implementations
blas_matrix_ref.h                            Linear algebra functions for matrix operations, ref implementations
blas_u32.h                                   Linear algebra functions, u32 implementations
config.h                                     Macros for configuring runtime options
fips202.c                                    ref implementation for SHAKE256
fips202.h                                    ref implementation for SHAKE256
gf16.h                                       finte field arithmetic functions
ov.c                                         Main functions for signing and verifying
ov.h                                         Main functions for signing and verifying
ov_blas.h                                    Wrappers for blas functions
ov_keypair.c                                 Formats of key pairs and functions for generating key pairs.
ov_keypair.h                                 Formats of key pairs and functions for generating key pairs.
ov_keypair_computation.c                     Functions for computations of keypairs.
ov_keypair_computation.h                     Functions for computations of keypairs.
ov_publicmap.c                               Implementations for evaluating public keys
parallel_matrix_op.c                         the standard implementations for functions in parallel_matrix_op.h
parallel_matrix_op.h                         Librarys for operations of batched matrixes.
params.h                                     Macros for defining parameters
sign.c                                       the implementations for functions in api.h
utils.c                                      Some utilities or Input/Oupput functions
utils.h                                      Some utilities or Input/Oupput functions
utils_hash.c                                 Wrappers for HASH functions
utils_hash.h                                 Wrappers for HASH functions
utils_malloc.h                               Utilities for memory allocation functions
utils_prng.c                                 Wrappers for PRNG functions
utils_prng.h                                 Wrappers for PRNG functions
utils_randombytes.c                          Wrappers for randombytes()
utils_randombytes.h                          Wrappers for randombytes()

./Reference_Implementation/V_pkc:            
aes128_4r_ffs.c                              aes128 ref implementation of ffs method
aes128_4r_ffs.h                              aes128 ref implementation of ffs method
api.h                                        Defining API functions
blas.h                                       Basic linear algebra functions
blas_comm.h                                  Common functions for linear algebra
blas_matrix.c                                Linear algebra functions for matrix operations
blas_matrix.h                                Linear algebra functions for matrix operations
blas_matrix_ref.c                            Linear algebra functions for matrix operations, ref implementations
blas_matrix_ref.h                            Linear algebra functions for matrix operations, ref implementations
blas_u32.h                                   Linear algebra functions, u32 implementations
config.h                                     Macros for configuring runtime options
fips202.c                                    ref implementation for SHAKE256
fips202.h                                    ref implementation for SHAKE256
gf16.h                                       finte field arithmetic functions
ov.c                                         Main functions for signing and verifying
ov.h                                         Main functions for signing and verifying
ov_blas.h                                    Wrappers for blas functions
ov_keypair.c                                 Formats of key pairs and functions for generating key pairs.
ov_keypair.h                                 Formats of key pairs and functions for generating key pairs.
ov_keypair_computation.c                     Functions for computations of keypairs.
ov_keypair_computation.h                     Functions for computations of keypairs.
ov_publicmap.c                               Implementations for evaluating public keys
parallel_matrix_op.c                         the standard implementations for functions in parallel_matrix_op.h
parallel_matrix_op.h                         Librarys for operations of batched matrixes.
params.h                                     Macros for defining parameters
sign.c                                       the implementations for functions in api.h
utils.c                                      Some utilities or Input/Oupput functions
utils.h                                      Some utilities or Input/Oupput functions
utils_hash.c                                 Wrappers for HASH functions
utils_hash.h                                 Wrappers for HASH functions
utils_malloc.h                               Utilities for memory allocation functions
utils_prng.c                                 Wrappers for PRNG functions
utils_prng.h                                 Wrappers for PRNG functions
utils_randombytes.c                          Wrappers for randombytes()
utils_randombytes.h                          Wrappers for randombytes()

./Reference_Implementation/V_pkc_skc:        
aes128_4r_ffs.c                              aes128 ref implementation of ffs method
aes128_4r_ffs.h                              aes128 ref implementation of ffs method
api.h                                        Defining API functions
blas.h                                       Basic linear algebra functions
blas_comm.h                                  Common functions for linear algebra
blas_matrix.c                                Linear algebra functions for matrix operations
blas_matrix.h                                Linear algebra functions for matrix operations
blas_matrix_ref.c                            Linear algebra functions for matrix operations, ref implementations
blas_matrix_ref.h                            Linear algebra functions for matrix operations, ref implementations
blas_u32.h                                   Linear algebra functions, u32 implementations
config.h                                     Macros for configuring runtime options
fips202.c                                    ref implementation for SHAKE256
fips202.h                                    ref implementation for SHAKE256
gf16.h                                       finte field arithmetic functions
ov.c                                         Main functions for signing and verifying
ov.h                                         Main functions for signing and verifying
ov_blas.h                                    Wrappers for blas functions
ov_keypair.c                                 Formats of key pairs and functions for generating key pairs.
ov_keypair.h                                 Formats of key pairs and functions for generating key pairs.
ov_keypair_computation.c                     Functions for computations of keypairs.
ov_keypair_computation.h                     Functions for computations of keypairs.
ov_publicmap.c                               Implementations for evaluating public keys
parallel_matrix_op.c                         the standard implementations for functions in parallel_matrix_op.h
parallel_matrix_op.h                         Librarys for operations of batched matrixes.
params.h                                     Macros for defining parameters
sign.c                                       the implementations for functions in api.h
utils.c                                      Some utilities or Input/Oupput functions
utils.h                                      Some utilities or Input/Oupput functions
utils_hash.c                                 Wrappers for HASH functions
utils_hash.h                                 Wrappers for HASH functions
utils_malloc.h                               Utilities for memory allocation functions
utils_prng.c                                 Wrappers for PRNG functions
utils_prng.h                                 Wrappers for PRNG functions
utils_randombytes.c                          Wrappers for randombytes()
utils_randombytes.h                          Wrappers for randombytes()

./Reference_Implementation/nistkat:          
PQCgenKAT_sign.c                             the program for generating KATs from NIST
rng.c                                        KAT tools from NIST
rng.h                                        KAT tools from NIST

./Supporting_Documentation:
UOV_Specification_R3.pdf