Skip to content

jschanck-si/PASS

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Requirements
============

libfftw3    (http://www.fftw.org)

CPASSREF has only been tested with gcc 4.7.3 and libfftw3 version 3.3.3 on Debian.



Adding new parameter sets
=========================

Parameter sets are defined by preprocessor macros in constants.h. You can use
the following as a template for defining new parameters (explanations of the
identifiers follows):

#if PASS_N == 769
#define PASS_p 862819
#define PASS_g 754192
#define PASS_k 32767
#define PASS_b 29
#define PASS_t 400
#define PASS_WISDOM "data/768_wisdom.dat"
#define PASS_EVAL_POINTS "data/769_points.dat"
#define PASS_RADER_POLY "data/769_rader.dat"
#define PASS_PERMUTATION "data/769_perm.dat"
#endif

PASS_N is defined at compile time to select the desired parameter set.
Currently there is no explicit mechanism for allowing multiple parameter sets
with the same N.

There are currently two implementation related restrictions on the numeric
parameters:

    1) PASS_k must be one less than a power of two due to how noise polynomials
       are generated during signing.  Modify mknoise in sign.c if you want to
       change this.

    2) PASS_b can be no greater than 64 due to the implementation of formatc in
       formatc.c.


The string-valued macros point to precomputed data needed by CPASSREF.

PASS_WISDOM : FFTW wisdom file.
            Can be generated by:
            $ ./wiseup.sh N

The following three files can be generated with cpassref_rader.py.

PASS_EVAL_POINTS : Comma separated list of evaluation indicies {i s.t. g^i \in S}
PASS_RADER_POLY : Rader's algorithm polynomial for computing NTTs by convolution
PASS_RADER_PERMUTATION : Rader's algorithm permutation of input

To generate these files run:
    $ python ./cpassrader.py N p g t

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published