Andreas Steffen
d305f251a5
Created libnttfft
...
This makes Number Theoretic Transforms (NTT) based on the efficient
Fast-Fourier-Transform (FFT) available to multiple plugins.
2016-07-29 12:36:15 +02:00
Andreas Steffen
a7d626118f
bliss: Implemented FFT with fast Montgomery arithmetic
2016-07-29 12:36:14 +02:00
Andreas Steffen
a88d958933
Explicitly mention SHA2 algorithm in BLISS OIDs and signature schemes
2015-11-06 14:55:31 +01:00
Andreas Steffen
f6fede934b
Support BLISS signatures with SHA-3 hash
2015-11-03 21:35:09 +01:00
Andreas Steffen
e57190c312
Use MGF1 with SHA-512 as BLISS random oracle
2015-07-27 22:09:08 +02:00
Andreas Steffen
03b4d11ace
Fixed compiler warnings
2015-02-27 08:44:16 +01:00
Andreas Steffen
27bd0fed93
Allow SHA256 and SHA384 data hash for BLISS signatures.
...
The default is SHA512 since this hash function is also
used for the c_indices random oracle.
2015-02-26 08:56:12 +01:00
Andreas Steffen
bfb708ea23
Check for null pointer before applying memwipe()
2015-02-25 21:45:34 +01:00
Andreas Steffen
c2aca9eed2
Implemented improved BLISS-B signature algorithm
2015-02-25 21:45:34 +01:00
Tobias Brunner
a8e82ace8a
bliss: Make sure sampler exists after checking for it earlier
2014-12-23 15:40:01 +01:00
Andreas Steffen
9b4e411c50
Also initialize s_sign
2014-12-12 13:24:11 +01:00
Andreas Steffen
8aaf36c6e3
Fix ambiguities and gcc compiler warning
2014-12-12 12:48:31 +01:00
Andreas Steffen
83447555a6
Use Huffman code in BLISS signature
2014-12-12 12:00:20 +01:00
Tobias Brunner
f55a03a2de
bliss: Fix compilation warning with certain GCC versions
...
Theoretically, n could be zero and these variables are then used
uninitialized. Older GCC versions warn about this and on Travis where we
compile with -Werror this causes the tests to fail.
2014-12-12 12:00:20 +01:00
Andreas Steffen
443346f56a
Pack private key arrays
2014-12-10 22:45:30 +01:00
Andreas Steffen
0d8a3f5d01
Applied bit packing to BLISS public key
2014-11-29 14:51:18 +01:00
Andreas Steffen
bf749fa1fb
Wipe BLISS private key memory
2014-11-29 14:51:17 +01:00
Andreas Steffen
5a50e364e6
Store NTT A of BLISS public key a
2014-11-29 14:51:17 +01:00
Andreas Steffen
e71813e56d
Finished BLISS signature generation
2014-11-29 14:51:17 +01:00
Andreas Steffen
edd72b6bb9
Implemented Gaussian rejection sampler
...
The bliss_sampler class uses the mgf1_bitspender as a
pseudo-random source.
2014-11-29 14:51:16 +01:00
Andreas Steffen
f673966b9f
Started implementing BLISS signature generation
2014-11-29 14:51:16 +01:00
Andreas Steffen
56009f2001
Store and parse BLISS private and public keys in DER and PEM format
...
Additionally generate SHA-1 fingerprints of raw BLISS subjectPublicKey
and subjectPublicKeyInfo objects.
Some basic functions used by the bliss_public_key class are shared
with the bliss_private_key class.
2014-11-29 14:51:16 +01:00
Andreas Steffen
64a5cacde5
Use mgf1_bitspender to generate random secret key
2014-11-29 14:51:15 +01:00
Andreas Steffen
73a327404d
Defined BLISS I and IV parameter sets
2014-11-29 14:51:14 +01:00
Andreas Steffen
8c751b6119
Implemented Number Theoretic Transform using the FFT algorithm
...
By pre-multiplying the input arrays with a linear phase the
fast multiplication via FFT and inverse FFT computes a negative
wrapped convolution corresponding to a modulus of x^n+1.
2014-11-29 14:51:14 +01:00
Andreas Steffen
9d5b91d198
Created framework for BLISS post-quantum signature algorithm
2014-11-29 14:51:14 +01:00