+=============================================================================+
|                                                                             |
|               ***********************************************               |
|               *     POST-QUANTUM CRYPTO STANDARDIZATION     *               |
|               ***********************************************               |
|                                                                             |
|=============================================================================|
|                                                                             |
|        Proposal: Mirath                                                     |
|                                                                             |
|        Submitters (by alphabetical order):                                  |
|                  - Gora ADJ                                                 |
|                  - Nicolas ARAGON                                           |
|                  - Stefano BARBERO                                          |
|                  - Magali BARDET                                            |
|                  - Emanuele BELLINI                                         |
|                  - Loïc BIDOUX                                              |
|                  - Jesús-Javier CHI-DOMÍNGUEZ                               |
|                  - Victor DYSERYN                                           |
|                  - Andre ESSER                                              |
|                  - Thibauld FENEUIL                                         |
|                  - Philippe GABORIT                                         |
|                  - Romaric NEVEU                                            |
|                  - Matthieu RIVAIN                                          |
|                  - Luis RIVERA-ZAMARRIPA                                    |
|                  - Carlo SANNA                                              |
|                  - Jean-Pierre TILLICH                                      |
|                  - Javier VERBEL                                            |
|                  - Floyd ZWEYDINGER                                         |
|                                                                             |
|        Inventors: Same as submitters                                        |
|                                                                             |
|        Developers: Same as submitters                                       |
|                                                                             |
|        Owners: Same as submitters                                           |
|                                                                             |
+=============================================================================+

This archive is a proposal in response to NIST's call for proposal for standar-
dization of quantum-resistant digital signature schemes.

Mirath provides POST-QUANTUM SIGNATURES and targets NIST's
security levels 1, 3, and 5.

===============================================================================

This archive is organized as follows:

- KATs: Known Answer Test values and verbose outputs for each parameter set
- Reference_Implementation: Reference implementation for each parameter set
- Optimized_Implementation: Optimized implementation for each parameter set
- Supporting_Documentation: Supporting documentation

===============================================================================

1. SUBMISSION OVERVIEW
----------------------

Both the reference implementation and the optimized implementations provide twelve
parameter sets, as specified in the Algorithm Specifications from the Supporting
Documentation. These parameter sets are denoted as Mirath-XY-Z, where:

- Security Level (X): 1, 3, or 5
- Choice of q (Y): a or b
- Variant (Z): Fast or Short

The parameter Y = a corresponds to q = 16, while Y = b corresponds to q = 2.

2. INSTALLATION INSTRUCTIONS
----------------------------

The following software and libraries are required: gcc, cmake, and openssl.

Mirath-XY-Z can be compiled in two ways:

- Compile the reference or optimized implementation
  - Using the Rijndael-based commit:
    cmake -DOPT_COMMIT=rijndael -B build
  - Using the SHA3-based commit:
    cmake -DOPT_COMMIT=sha3 -B build
  Then build with:
    cmake --build build
- Run example.
  ./mirath_tcith_XY_Z to execute the scheme.
- Run the NIST KAT generator.
  ./PQCgenKAT_sign to generate KAT files.

3. DOCUMENTATION GENERATION
---------------------------

The following softwares are required: doxygen and bibtex.

- Run doxygen doxygen.conf to generate the code documentation
- Browse doc/html/index.html to read the documentation

4. ADDITIONAL INFORMATION
-------------------------

The public key, secret key and signature are respectively composed of (H, y),
(x) and (sm, m). Furthermore, the public key is stored as (seed1, y), while the
secret key as (seed2). To this end, the seed expander based on shake was used
along with 32/48/64 bytes seeds.

===============================================================================

The authors did their best to make this archive complete and proper.
