@@ -1,35 +1,3 @@ | |||
/** | |||
* | |||
* <H_Q_matrices_generation.c> | |||
* | |||
* @version 2.0 (March 2019) | |||
* | |||
* Reference ISO-C11 Implementation of the LEDAcrypt KEM-LT cipher using GCC built-ins. | |||
* | |||
* In alphabetical order: | |||
* | |||
* @author Marco Baldi <m.baldi@univpm.it> | |||
* @author Alessandro Barenghi <alessandro.barenghi@polimi.it> | |||
* @author Franco Chiaraluce <f.chiaraluce@univpm.it> | |||
* @author Gerardo Pelosi <gerardo.pelosi@polimi.it> | |||
* @author Paolo Santini <p.santini@pm.univpm.it> | |||
* | |||
* This code is hereby placed in the public domain. | |||
* | |||
* THIS SOFTWARE IS PROVIDED BY THE AUTHORS ''AS IS'' AND ANY EXPRESS | |||
* OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED | |||
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE | |||
* ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS OR CONTRIBUTORS BE | |||
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR | |||
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF | |||
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR | |||
* BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, | |||
* WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE | |||
* OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, | |||
* EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | |||
* | |||
**/ | |||
#include "H_Q_matrices_generation.h" | |||
#include "gf2x_arith_mod_xPplusOne.h" | |||
@@ -1,35 +1,3 @@ | |||
/** | |||
* | |||
* <H_Q_matrices_generation.h> | |||
* | |||
* @version 2.0 (March 2019) | |||
* | |||
* Reference ISO-C11 Implementation of the LEDAcrypt KEM-LT cipher using GCC built-ins. | |||
* | |||
* In alphabetical order: | |||
* | |||
* @author Marco Baldi <m.baldi@univpm.it> | |||
* @author Alessandro Barenghi <alessandro.barenghi@polimi.it> | |||
* @author Franco Chiaraluce <f.chiaraluce@univpm.it> | |||
* @author Gerardo Pelosi <gerardo.pelosi@polimi.it> | |||
* @author Paolo Santini <p.santini@pm.univpm.it> | |||
* | |||
* This code is hereby placed in the public domain. | |||
* | |||
* THIS SOFTWARE IS PROVIDED BY THE AUTHORS ''AS IS'' AND ANY EXPRESS | |||
* OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED | |||
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE | |||
* ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS OR CONTRIBUTORS BE | |||
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR | |||
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF | |||
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR | |||
* BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, | |||
* WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE | |||
* OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, | |||
* EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | |||
* | |||
**/ | |||
#pragma once | |||
#include "qc_ldpc_parameters.h" | |||
#include "gf2x_limbs.h" | |||
@@ -1,34 +1,3 @@ | |||
/** | |||
* | |||
* <bf_decoding.c> | |||
* | |||
* @version 2.0 (March 2019) | |||
* | |||
* Reference ISO-C11 Implementation of the LEDAcrypt KEM-LT cipher using GCC built-ins. | |||
* | |||
* In alphabetical order: | |||
* | |||
* @author Marco Baldi <m.baldi@univpm.it> | |||
* @author Alessandro Barenghi <alessandro.barenghi@polimi.it> | |||
* @author Franco Chiaraluce <f.chiaraluce@univpm.it> | |||
* @author Gerardo Pelosi <gerardo.pelosi@polimi.it> | |||
* @author Paolo Santini <p.santini@pm.univpm.it> | |||
* | |||
* This code is hereby placed in the public domain. | |||
* | |||
* THIS SOFTWARE IS PROVIDED BY THE AUTHORS ''AS IS'' AND ANY EXPRESS | |||
* OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED | |||
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE | |||
* ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS OR CONTRIBUTORS BE | |||
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR | |||
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF | |||
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR | |||
* BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, | |||
* WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE | |||
* OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, | |||
* EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | |||
* | |||
**/ | |||
#include "bf_decoding.h" | |||
#include "gf2x_arith_mod_xPplusOne.h" | |||
#include <string.h> | |||
@@ -1,36 +1,3 @@ | |||
/** | |||
* | |||
* <bf_decoding.h> | |||
* | |||
* @version 2.0 (March 2019) | |||
* | |||
* Reference ISO-C11 Implementation of the LEDAcrypt KEM-LT cipher using GCC built-ins. | |||
* | |||
* In alphabetical order: | |||
* | |||
* @author Marco Baldi <m.baldi@univpm.it> | |||
* @author Alessandro Barenghi <alessandro.barenghi@polimi.it> | |||
* @author Franco Chiaraluce <f.chiaraluce@univpm.it> | |||
* @author Gerardo Pelosi <gerardo.pelosi@polimi.it> | |||
* @author Paolo Santini <p.santini@pm.univpm.it> | |||
* | |||
* This code is hereby placed in the public domain. | |||
* | |||
* THIS SOFTWARE IS PROVIDED BY THE AUTHORS ''AS IS'' AND ANY EXPRESS | |||
* OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED | |||
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE | |||
* ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS OR CONTRIBUTORS BE | |||
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR | |||
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF | |||
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR | |||
* BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, | |||
* WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE | |||
* OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, | |||
* EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | |||
* | |||
**/ | |||
#pragma once | |||
#include "qc_ldpc_parameters.h" | |||
#include "gf2x_limbs.h" | |||
@@ -74,5 +41,3 @@ int bf_decoding(DIGIT err[], | |||
#define B0 88 | |||
#define T_BAR 6 | |||
#endif | |||
@@ -1,36 +1,3 @@ | |||
/** | |||
* | |||
* <gf2x_arith.c> | |||
* | |||
* @version 2.0 (March 2019) | |||
* | |||
* Reference ISO-C11 Implementation of the LEDAcrypt KEM-LT cipher using GCC built-ins. | |||
* | |||
* In alphabetical order: | |||
* | |||
* @author Marco Baldi <m.baldi@univpm.it> | |||
* @author Alessandro Barenghi <alessandro.barenghi@polimi.it> | |||
* @author Franco Chiaraluce <f.chiaraluce@univpm.it> | |||
* @author Gerardo Pelosi <gerardo.pelosi@polimi.it> | |||
* @author Paolo Santini <p.santini@pm.univpm.it> | |||
* | |||
* This code is hereby placed in the public domain. | |||
* | |||
* THIS SOFTWARE IS PROVIDED BY THE AUTHORS ''AS IS'' AND ANY EXPRESS | |||
* OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED | |||
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE | |||
* ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS OR CONTRIBUTORS BE | |||
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR | |||
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF | |||
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR | |||
* BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, | |||
* WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE | |||
* OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, | |||
* EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | |||
* | |||
**/ | |||
#include "gf2x_arith.h" | |||
#include <string.h> // memset(...) | |||
#include <assert.h> | |||
@@ -1,35 +1,3 @@ | |||
/** | |||
* | |||
* <gf2x_arith.h> | |||
* | |||
* @version 2.0 (March 2019) | |||
* | |||
* Reference ISO-C11 Implementation of the LEDAcrypt KEM-LT cipher using GCC built-ins. | |||
* | |||
* In alphabetical order: | |||
* | |||
* @author Marco Baldi <m.baldi@univpm.it> | |||
* @author Alessandro Barenghi <alessandro.barenghi@polimi.it> | |||
* @author Franco Chiaraluce <f.chiaraluce@univpm.it> | |||
* @author Gerardo Pelosi <gerardo.pelosi@polimi.it> | |||
* @author Paolo Santini <p.santini@pm.univpm.it> | |||
* | |||
* This code is hereby placed in the public domain. | |||
* | |||
* THIS SOFTWARE IS PROVIDED BY THE AUTHORS ''AS IS'' AND ANY EXPRESS | |||
* OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED | |||
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE | |||
* ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS OR CONTRIBUTORS BE | |||
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR | |||
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF | |||
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR | |||
* BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, | |||
* WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE | |||
* OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, | |||
* EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | |||
* | |||
**/ | |||
#pragma once | |||
#include "gf2x_limbs.h" | |||
@@ -1,36 +1,3 @@ | |||
/** | |||
* | |||
* <gf2x_arith_mod_xPplusOne.c> | |||
* | |||
* @version 2.0 (March 2019) | |||
* | |||
* Reference ISO-C11 Implementation of the LEDAcrypt KEM-LT cipher using GCC built-ins. | |||
* | |||
* In alphabetical order: | |||
* | |||
* @author Marco Baldi <m.baldi@univpm.it> | |||
* @author Alessandro Barenghi <alessandro.barenghi@polimi.it> | |||
* @author Franco Chiaraluce <f.chiaraluce@univpm.it> | |||
* @author Gerardo Pelosi <gerardo.pelosi@polimi.it> | |||
* @author Paolo Santini <p.santini@pm.univpm.it> | |||
* | |||
* This code is hereby placed in the public domain. | |||
* | |||
* THIS SOFTWARE IS PROVIDED BY THE AUTHORS ''AS IS'' AND ANY EXPRESS | |||
* OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED | |||
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE | |||
* ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS OR CONTRIBUTORS BE | |||
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR | |||
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF | |||
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR | |||
* BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, | |||
* WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE | |||
* OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, | |||
* EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | |||
* | |||
**/ | |||
#include "gf2x_arith_mod_xPplusOne.h" | |||
#include "rng.h" | |||
#include <string.h> // memcpy(...), memset(...) | |||
@@ -1,35 +1,3 @@ | |||
/** | |||
* | |||
* <gf2x_arith_mod_xPplusOne.h> | |||
* | |||
* @version 2.0 (March 2019) | |||
* | |||
* Reference ISO-C11 Implementation of the LEDAcrypt KEM-LT cipher using GCC built-ins. | |||
* | |||
* In alphabetical order: | |||
* | |||
* @author Marco Baldi <m.baldi@univpm.it> | |||
* @author Alessandro Barenghi <alessandro.barenghi@polimi.it> | |||
* @author Franco Chiaraluce <f.chiaraluce@univpm.it> | |||
* @author Gerardo Pelosi <gerardo.pelosi@polimi.it> | |||
* @author Paolo Santini <p.santini@pm.univpm.it> | |||
* | |||
* This code is hereby placed in the public domain. | |||
* | |||
* THIS SOFTWARE IS PROVIDED BY THE AUTHORS ''AS IS'' AND ANY EXPRESS | |||
* OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED | |||
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE | |||
* ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS OR CONTRIBUTORS BE | |||
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR | |||
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF | |||
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR | |||
* BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, | |||
* WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE | |||
* OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, | |||
* EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | |||
* | |||
**/ | |||
#pragma once | |||
#include "gf2x_limbs.h" | |||
@@ -1,35 +1,3 @@ | |||
/** | |||
* | |||
* <gf2x_limbs.h> | |||
* | |||
* @version 2.0 (March 2019) | |||
* | |||
* Reference ISO-C11 Implementation of the LEDAcrypt KEM-LT cipher using GCC built-ins. | |||
* | |||
* In alphabetical order: | |||
* | |||
* @author Marco Baldi <m.baldi@univpm.it> | |||
* @author Alessandro Barenghi <alessandro.barenghi@polimi.it> | |||
* @author Franco Chiaraluce <f.chiaraluce@univpm.it> | |||
* @author Gerardo Pelosi <gerardo.pelosi@polimi.it> | |||
* @author Paolo Santini <p.santini@pm.univpm.it> | |||
* | |||
* This code is hereby placed in the public domain. | |||
* | |||
* THIS SOFTWARE IS PROVIDED BY THE AUTHORS ''AS IS'' AND ANY EXPRESS | |||
* OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED | |||
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE | |||
* ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS OR CONTRIBUTORS BE | |||
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR | |||
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF | |||
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR | |||
* BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, | |||
* WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE | |||
* OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, | |||
* EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | |||
* | |||
**/ | |||
#pragma once | |||
/*----------------------------------------------------------------------------*/ | |||
@@ -91,4 +59,3 @@ typedef CAT( uint, CPU_WORD_BITS, _t ) DIGIT; | |||
#define POSITION_T uint32_t | |||
/*----------------------------------------------------------------------------*/ | |||
@@ -1,35 +1,3 @@ | |||
/** | |||
* | |||
* <kem.c> | |||
* | |||
* @version 2.0 (March 2019) | |||
* | |||
* Reference ISO-C11 Implementation of the LEDAcrypt KEM-LT cipher using GCC built-ins. | |||
* | |||
* In alphabetical order: | |||
* | |||
* @author Marco Baldi <m.baldi@univpm.it> | |||
* @author Alessandro Barenghi <alessandro.barenghi@polimi.it> | |||
* @author Franco Chiaraluce <f.chiaraluce@univpm.it> | |||
* @author Gerardo Pelosi <gerardo.pelosi@polimi.it> | |||
* @author Paolo Santini <p.santini@pm.univpm.it> | |||
* | |||
* This code is hereby placed in the public domain. | |||
* | |||
* THIS SOFTWARE IS PROVIDED BY THE AUTHORS ''AS IS'' AND ANY EXPRESS | |||
* OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED | |||
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE | |||
* ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS OR CONTRIBUTORS BE | |||
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR | |||
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF | |||
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR | |||
* BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, | |||
* WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE | |||
* OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, | |||
* EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | |||
* | |||
**/ | |||
#include "niederreiter_keygen.h" | |||
#include "niederreiter_encrypt.h" | |||
#include "niederreiter_decrypt.h" | |||
@@ -1,35 +1,3 @@ | |||
/** | |||
* | |||
* <niederreiter.h> | |||
* | |||
* @version 2.0 (March 2019) | |||
* | |||
* Reference ISO-C11 Implementation of the LEDAcrypt KEM-LT cipher using GCC built-ins. | |||
* | |||
* In alphabetical order: | |||
* | |||
* @author Marco Baldi <m.baldi@univpm.it> | |||
* @author Alessandro Barenghi <alessandro.barenghi@polimi.it> | |||
* @author Franco Chiaraluce <f.chiaraluce@univpm.it> | |||
* @author Gerardo Pelosi <gerardo.pelosi@polimi.it> | |||
* @author Paolo Santini <p.santini@pm.univpm.it> | |||
* | |||
* This code is hereby placed in the public domain. | |||
* | |||
* THIS SOFTWARE IS PROVIDED BY THE AUTHORS ''AS IS'' AND ANY EXPRESS | |||
* OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED | |||
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE | |||
* ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS OR CONTRIBUTORS BE | |||
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR | |||
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF | |||
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR | |||
* BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, | |||
* WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE | |||
* OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, | |||
* EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | |||
* | |||
**/ | |||
#pragma once | |||
#include "qc_ldpc_parameters.h" | |||
#include "gf2x_limbs.h" | |||
@@ -1,35 +1,3 @@ | |||
/** | |||
* | |||
* <niederreiter_decrypt.c> | |||
* | |||
* @version 2.0 (March 2019) | |||
* | |||
* Reference ISO-C11 Implementation of the LEDAcrypt KEM-LT cipher using GCC built-ins. | |||
* | |||
* In alphabetical order: | |||
* | |||
* @author Marco Baldi <m.baldi@univpm.it> | |||
* @author Alessandro Barenghi <alessandro.barenghi@polimi.it> | |||
* @author Franco Chiaraluce <f.chiaraluce@univpm.it> | |||
* @author Gerardo Pelosi <gerardo.pelosi@polimi.it> | |||
* @author Paolo Santini <p.santini@pm.univpm.it> | |||
* | |||
* This code is hereby placed in the public domain. | |||
* | |||
* THIS SOFTWARE IS PROVIDED BY THE AUTHORS ''AS IS'' AND ANY EXPRESS | |||
* OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED | |||
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE | |||
* ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS OR CONTRIBUTORS BE | |||
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR | |||
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF | |||
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR | |||
* BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, | |||
* WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE | |||
* OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, | |||
* EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | |||
* | |||
**/ | |||
#include "niederreiter_decrypt.h" | |||
#include "qc_ldpc_parameters.h" | |||
@@ -149,5 +117,3 @@ int decrypt_niederreiter(DIGIT err[], // N0 circ poly | |||
} // end decrypt_niederreiter | |||
/*----------------------------------------------------------------------------*/ | |||
@@ -1,35 +1,3 @@ | |||
/** | |||
* | |||
* <niederreiter_decrypt.h> | |||
* | |||
* @version 2.0 (March 2019) | |||
* | |||
* Reference ISO-C11 Implementation of the LEDAcrypt KEM-LT cipher using GCC built-ins. | |||
* | |||
* In alphabetical order: | |||
* | |||
* @author Marco Baldi <m.baldi@univpm.it> | |||
* @author Alessandro Barenghi <alessandro.barenghi@polimi.it> | |||
* @author Franco Chiaraluce <f.chiaraluce@univpm.it> | |||
* @author Gerardo Pelosi <gerardo.pelosi@polimi.it> | |||
* @author Paolo Santini <p.santini@pm.univpm.it> | |||
* | |||
* This code is hereby placed in the public domain. | |||
* | |||
* THIS SOFTWARE IS PROVIDED BY THE AUTHORS ''AS IS'' AND ANY EXPRESS | |||
* OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED | |||
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE | |||
* ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS OR CONTRIBUTORS BE | |||
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR | |||
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF | |||
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR | |||
* BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, | |||
* WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE | |||
* OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, | |||
* EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | |||
* | |||
**/ | |||
#pragma once | |||
#include "niederreiter.h" | |||
@@ -1,35 +1,3 @@ | |||
/** | |||
* | |||
* <niederreiter_encrypt.c> | |||
* | |||
* @version 2.0 (March 2019) | |||
* | |||
* Reference ISO-C11 Implementation of the LEDAcrypt KEM-LT cipher using GCC built-ins. | |||
* | |||
* In alphabetical order: | |||
* | |||
* @author Marco Baldi <m.baldi@univpm.it> | |||
* @author Alessandro Barenghi <alessandro.barenghi@polimi.it> | |||
* @author Franco Chiaraluce <f.chiaraluce@univpm.it> | |||
* @author Gerardo Pelosi <gerardo.pelosi@polimi.it> | |||
* @author Paolo Santini <p.santini@pm.univpm.it> | |||
* | |||
* This code is hereby placed in the public domain. | |||
* | |||
* THIS SOFTWARE IS PROVIDED BY THE AUTHORS ''AS IS'' AND ANY EXPRESS | |||
* OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED | |||
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE | |||
* ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS OR CONTRIBUTORS BE | |||
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR | |||
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF | |||
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR | |||
* BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, | |||
* WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE | |||
* OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, | |||
* EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | |||
* | |||
**/ | |||
#include "niederreiter_encrypt.h" | |||
#include "qc_ldpc_parameters.h" | |||
#include "gf2x_arith_mod_xPplusOne.h" | |||
@@ -1,35 +1,3 @@ | |||
/** | |||
* | |||
* <niederreiter_encrypt.c> | |||
* | |||
* @version 2.0 (March 2019) | |||
* | |||
* Reference ISO-C11 Implementation of the LEDAcrypt KEM-LT cipher using GCC built-ins. | |||
* | |||
* In alphabetical order: | |||
* | |||
* @author Marco Baldi <m.baldi@univpm.it> | |||
* @author Alessandro Barenghi <alessandro.barenghi@polimi.it> | |||
* @author Franco Chiaraluce <f.chiaraluce@univpm.it> | |||
* @author Gerardo Pelosi <gerardo.pelosi@polimi.it> | |||
* @author Paolo Santini <p.santini@pm.univpm.it> | |||
* | |||
* This code is hereby placed in the public domain. | |||
* | |||
* THIS SOFTWARE IS PROVIDED BY THE AUTHORS ''AS IS'' AND ANY EXPRESS | |||
* OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED | |||
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE | |||
* ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS OR CONTRIBUTORS BE | |||
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR | |||
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF | |||
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR | |||
* BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, | |||
* WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE | |||
* OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, | |||
* EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | |||
* | |||
**/ | |||
#pragma once | |||
#include "niederreiter.h" | |||
@@ -1,35 +1,3 @@ | |||
/** | |||
* | |||
* <niederreiter_keygen.c> | |||
* | |||
* @version 2.0 (March 2019) | |||
* | |||
* Reference ISO-C11 Implementation of the LEDAcrypt KEM-LT cipher using GCC built-ins. | |||
* | |||
* In alphabetical order: | |||
* | |||
* @author Marco Baldi <m.baldi@univpm.it> | |||
* @author Alessandro Barenghi <alessandro.barenghi@polimi.it> | |||
* @author Franco Chiaraluce <f.chiaraluce@univpm.it> | |||
* @author Gerardo Pelosi <gerardo.pelosi@polimi.it> | |||
* @author Paolo Santini <p.santini@pm.univpm.it> | |||
* | |||
* This code is hereby placed in the public domain. | |||
* | |||
* THIS SOFTWARE IS PROVIDED BY THE AUTHORS ''AS IS'' AND ANY EXPRESS | |||
* OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED | |||
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE | |||
* ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS OR CONTRIBUTORS BE | |||
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR | |||
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF | |||
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR | |||
* BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, | |||
* WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE | |||
* OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, | |||
* EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | |||
* | |||
**/ | |||
#include "niederreiter_keygen.h" | |||
#include "H_Q_matrices_generation.h" | |||
@@ -1,35 +1,3 @@ | |||
/** | |||
* | |||
* <niederreiter_keygen.h> | |||
* | |||
* @version 2.0 (March 2019) | |||
* | |||
* Reference ISO-C11 Implementation of the LEDAcrypt KEM-LT cipher using GCC built-ins. | |||
* | |||
* In alphabetical order: | |||
* | |||
* @author Marco Baldi <m.baldi@univpm.it> | |||
* @author Alessandro Barenghi <alessandro.barenghi@polimi.it> | |||
* @author Franco Chiaraluce <f.chiaraluce@univpm.it> | |||
* @author Gerardo Pelosi <gerardo.pelosi@polimi.it> | |||
* @author Paolo Santini <p.santini@pm.univpm.it> | |||
* | |||
* This code is hereby placed in the public domain. | |||
* | |||
* THIS SOFTWARE IS PROVIDED BY THE AUTHORS ''AS IS'' AND ANY EXPRESS | |||
* OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED | |||
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE | |||
* ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS OR CONTRIBUTORS BE | |||
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR | |||
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF | |||
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR | |||
* BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, | |||
* WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE | |||
* OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, | |||
* EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | |||
* | |||
**/ | |||
#pragma once | |||
#include "niederreiter.h" | |||
@@ -1,34 +1,3 @@ | |||
/** | |||
* | |||
* <qc_ldpc_parameters.h> | |||
* | |||
* @version 2.0 (March 2019) | |||
* | |||
* Reference ISO-C11 Implementation of the LEDAcrypt KEM-LT cipher using GCC built-ins. | |||
* | |||
* In alphabetical order: | |||
* | |||
* @author Marco Baldi <m.baldi@univpm.it> | |||
* @author Alessandro Barenghi <alessandro.barenghi@polimi.it> | |||
* @author Franco Chiaraluce <f.chiaraluce@univpm.it> | |||
* @author Gerardo Pelosi <gerardo.pelosi@polimi.it> | |||
* @author Paolo Santini <p.santini@pm.univpm.it> | |||
* | |||
* This code is hereby placed in the public domain. | |||
* | |||
* THIS SOFTWARE IS PROVIDED BY THE AUTHORS ''AS IS'' AND ANY EXPRESS | |||
* OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED | |||
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE | |||
* ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS OR CONTRIBUTORS BE | |||
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR | |||
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF | |||
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR | |||
* BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, | |||
* WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE | |||
* OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, | |||
* EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | |||
* | |||
**/ | |||
#pragma once | |||
// CATEGORY defined in the makefile | |||
@@ -1,36 +1,3 @@ | |||
/** | |||
* | |||
* <rng.c> | |||
* | |||
* @version 2.0 (March 2019) | |||
* | |||
* Reference ISO-C11 Implementation of the LEDAcrypt KEM-LT cipher using GCC built-ins. | |||
* | |||
* In alphabetical order: | |||
* | |||
* @author Marco Baldi <m.baldi@univpm.it> | |||
* @author Alessandro Barenghi <alessandro.barenghi@polimi.it> | |||
* @author Franco Chiaraluce <f.chiaraluce@univpm.it> | |||
* @author Gerardo Pelosi <gerardo.pelosi@polimi.it> | |||
* @author Paolo Santini <p.santini@pm.univpm.it> | |||
* | |||
* This code is hereby placed in the public domain. | |||
* | |||
* THIS SOFTWARE IS PROVIDED BY THE AUTHORS ''AS IS'' AND ANY EXPRESS | |||
* OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED | |||
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE | |||
* ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS OR CONTRIBUTORS BE | |||
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR | |||
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF | |||
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR | |||
* BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, | |||
* WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE | |||
* OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, | |||
* EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | |||
* | |||
**/ | |||
#include "rng.h" | |||
#include <stddef.h> | |||
@@ -1,35 +1,3 @@ | |||
/** | |||
* | |||
* <rng.h> | |||
* | |||
* @version 2.0 (March 2019) | |||
* | |||
* Reference ISO-C11 Implementation of the LEDAcrypt KEM-LT cipher using GCC built-ins. | |||
* | |||
* In alphabetical order: | |||
* | |||
* @author Marco Baldi <m.baldi@univpm.it> | |||
* @author Alessandro Barenghi <alessandro.barenghi@polimi.it> | |||
* @author Franco Chiaraluce <f.chiaraluce@univpm.it> | |||
* @author Gerardo Pelosi <gerardo.pelosi@polimi.it> | |||
* @author Paolo Santini <p.santini@pm.univpm.it> | |||
* | |||
* This code is hereby placed in the public domain. | |||
* | |||
* THIS SOFTWARE IS PROVIDED BY THE AUTHORS ''AS IS'' AND ANY EXPRESS | |||
* OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED | |||
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE | |||
* ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS OR CONTRIBUTORS BE | |||
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR | |||
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF | |||
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR | |||
* BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, | |||
* WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE | |||
* OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, | |||
* EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | |||
* | |||
**/ | |||
#pragma once | |||
/****** From this point on, the code was supplied by NIST ****************/ | |||