summaryrefslogtreecommitdiff
path: root/lib/liboqs/src/common/pqclean_shims
diff options
context:
space:
mode:
Diffstat (limited to 'lib/liboqs/src/common/pqclean_shims')
-rw-r--r--lib/liboqs/src/common/pqclean_shims/Makefile49
-rw-r--r--lib/liboqs/src/common/pqclean_shims/aes.h46
-rw-r--r--lib/liboqs/src/common/pqclean_shims/aes256ctr.h12
-rw-r--r--lib/liboqs/src/common/pqclean_shims/compat.h47
-rw-r--r--lib/liboqs/src/common/pqclean_shims/config.mk17
-rw-r--r--lib/liboqs/src/common/pqclean_shims/fips202.c15
-rw-r--r--lib/liboqs/src/common/pqclean_shims/fips202.h68
-rw-r--r--lib/liboqs/src/common/pqclean_shims/fips202x4.c15
-rw-r--r--lib/liboqs/src/common/pqclean_shims/fips202x4.h51
-rw-r--r--lib/liboqs/src/common/pqclean_shims/manifest.mn25
-rw-r--r--lib/liboqs/src/common/pqclean_shims/nistseedexpander.c109
-rw-r--r--lib/liboqs/src/common/pqclean_shims/nistseedexpander.h47
-rw-r--r--lib/liboqs/src/common/pqclean_shims/pqclean_shims.gyp41
-rw-r--r--lib/liboqs/src/common/pqclean_shims/randombytes.h10
-rw-r--r--lib/liboqs/src/common/pqclean_shims/sha2.h33
15 files changed, 0 insertions, 585 deletions
diff --git a/lib/liboqs/src/common/pqclean_shims/Makefile b/lib/liboqs/src/common/pqclean_shims/Makefile
deleted file mode 100644
index fe090f3ff..000000000
--- a/lib/liboqs/src/common/pqclean_shims/Makefile
+++ /dev/null
@@ -1,49 +0,0 @@
-#! gmake
-#
-# This Source Code Form is subject to the terms of the Mozilla Public
-# License, v. 2.0. If a copy of the MPL was not distributed with this
-# file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
-#######################################################################
-# (1) Include initial platform-independent assignments (MANDATORY). #
-#######################################################################
-
-include manifest.mn
-
-#######################################################################
-# (2) Include "global" configuration information. (OPTIONAL) #
-#######################################################################
-
-USE_GCOV =
-include $(CORE_DEPTH)/coreconf/config.mk
-
-#######################################################################
-# (3) Include "component" configuration information. (OPTIONAL) #
-#######################################################################
-
-
-
-#######################################################################
-# (4) Include "local" platform-dependent assignments (OPTIONAL). #
-#######################################################################
-
-include config.mk
-
-#######################################################################
-# (5) Execute "global" rules. (OPTIONAL) #
-#######################################################################
-
-include $(CORE_DEPTH)/coreconf/rules.mk
-
-#######################################################################
-# (6) Execute "component" rules. (OPTIONAL) #
-#######################################################################
-
-
-
-#######################################################################
-# (7) Execute "local" rules. (OPTIONAL). #
-#######################################################################
-
-WARNING_CFLAGS = $(NULL)
-
diff --git a/lib/liboqs/src/common/pqclean_shims/aes.h b/lib/liboqs/src/common/pqclean_shims/aes.h
deleted file mode 100644
index 58ae1e67c..000000000
--- a/lib/liboqs/src/common/pqclean_shims/aes.h
+++ /dev/null
@@ -1,46 +0,0 @@
-// SPDX-License-Identifier: MIT
-
-#ifndef AES_H
-#define AES_H
-
-#include <stdint.h>
-#include <stdlib.h>
-
-#include <oqs/aes.h>
-
-#define AES256_KEYBYTES 32
-#define AESCTR_NONCEBYTES 12
-#define AES_BLOCKBYTES 16
-
-typedef void *aes256ctx;
-
-#define aes256_ecb_keyexp(r, key) OQS_AES256_ECB_load_schedule((key), (r))
-#define aes256_ecb(out, in, nblocks, ctx) OQS_AES256_ECB_enc_sch((in), (nblocks) * AES_BLOCKBYTES, *(ctx), (out))
-#define aes256_ctr_keyexp(r, key) OQS_AES256_CTR_inc_init((key), (r))
-#define aes256_ctr(out, outlen, iv, ctx) OQS_AES256_CTR_inc_stream_iv((iv), AESCTR_NONCEBYTES, *(ctx), (out), (outlen))
-#define aes256_ctx_release(ctx) OQS_AES256_free_schedule(*(ctx))
-
-#define aes256ctr_squeezeblocks(out, outlen, state) OQS_AES256_CTR_inc_stream_blks(*state, out, 4*outlen)
-#define aes256ctr_squeezeblocks_u64(out, outlen, iv, ctx) OQS_AES256_CTR_inc_stream_ivu64_blks((iv), *(ctx), (out), (4*outlen))
-#define aes256ctr_init_key(state, key) OQS_AES256_CTR_inc_init(key, state)
-#define aes256ctr_init_iv(state, nonce) OQS_AES256_CTR_inc_iv(nonce, 12, *state)
-#define aes256ctr_init_iv_u64(state, nonce) OQS_AES256_CTR_inc_ivu64(nonce, *state)
-
-static inline void aes256ctr_init(void **_schedule, const uint8_t *key, const uint8_t *nonce) {
- OQS_AES256_CTR_inc_init(key, _schedule);
- OQS_AES256_CTR_inc_iv(nonce, 12, *_schedule);
-}
-
-static inline void aes256ctr_init_u64(void **_schedule, const uint8_t *key, uint64_t nonce) {
- OQS_AES256_CTR_inc_init(key, _schedule);
- OQS_AES256_CTR_inc_ivu64(nonce, *_schedule);
-}
-
-static inline void aes256ctr_prf(uint8_t *out, size_t outlen, const uint8_t key[32], uint8_t nonce[12]) {
- aes256ctx state;
- OQS_AES256_CTR_inc_init(key, &state);
- OQS_AES256_CTR_inc_stream_iv(nonce, 12, state, out, outlen);
- OQS_AES256_free_schedule(state);
-}
-
-#endif
diff --git a/lib/liboqs/src/common/pqclean_shims/aes256ctr.h b/lib/liboqs/src/common/pqclean_shims/aes256ctr.h
deleted file mode 100644
index eeb603789..000000000
--- a/lib/liboqs/src/common/pqclean_shims/aes256ctr.h
+++ /dev/null
@@ -1,12 +0,0 @@
-// SPDX-License-Identifier: MIT
-
-#ifndef AES256CTR_H
-#define AES256CTR_H
-
-#include "aes.h"
-
-typedef aes256ctx aes256ctr_ctx;
-
-#define AES256CTR_BLOCKBYTES 64
-
-#endif
diff --git a/lib/liboqs/src/common/pqclean_shims/compat.h b/lib/liboqs/src/common/pqclean_shims/compat.h
deleted file mode 100644
index d495f5a51..000000000
--- a/lib/liboqs/src/common/pqclean_shims/compat.h
+++ /dev/null
@@ -1,47 +0,0 @@
-#ifndef OQS_COMMON_COMPAT_H
-#define OQS_COMMON_COMPAT_H
-
-/* This file serves to solve compatibility issues between different
- * versions of compilers.
- *
- * This file is allowed to use #ifdefs and toggle things by compiler versions.
- *
- * SPDX-License-Identifier: MIT
- *
- */
-
-
-// From https://github.com/gcc-mirror/gcc/blob/af73a8b2027d9ab64944d7dbbb48e207d7790ce6/gcc/config/i386/avxintrin.h#L62-L71
-/* Unaligned versions of the vector types */
-#define UNALIGNED_VECTOR_POLYFILL_GCC \
- typedef float __m256_u __attribute__ ((__vector_size__ (32), __may_alias__, __aligned__ (1))); \
- typedef double __m256d_u __attribute__ ((__vector_size__ (32), __may_alias__, __aligned__ (1))); \
- typedef long long __m256i_u __attribute__ ((__vector_size__ (32), __may_alias__, __aligned__ (1)));
-
-
-
-#if defined(__GNUC__) && !defined(__clang__)
-
-#if ((__GNUC__ << 16) + __GNUC_MINOR__ >= ((7) << 16) + (1)) // at least GCC 7.1
-/* Versions of the GCC pre-7.1 don't have __m256*_u types */
-UNALIGNED_VECTOR_POLYFILL_GCC
-# endif // GCC >= 7.1
-
-#elif defined(__GNUC__) && defined(__clang__)
-
-# if __clang__major__ < 9
-/* Versions of Clang pre-9.0 don't have __m256*_u types */
-UNALIGNED_VECTOR_POLYFILL_GCC
-# endif
-
-#else
-// Neither MSVC nor other compilers seem to have these types
-#define __m256_u __m256
-#define __m256d_u __m256d
-#define __m256i_u __m256i
-
-#endif // compiler selector
-
-
-
-#endif // OQS_COMMON_COMPAT_H
diff --git a/lib/liboqs/src/common/pqclean_shims/config.mk b/lib/liboqs/src/common/pqclean_shims/config.mk
deleted file mode 100644
index b28c9ce64..000000000
--- a/lib/liboqs/src/common/pqclean_shims/config.mk
+++ /dev/null
@@ -1,17 +0,0 @@
-# DO NOT EDIT: generated from config.mk.subdirs.template
-#
-# This Source Code Form is subject to the terms of the Mozilla Public
-# License, v. 2.0. If a copy of the MPL was not distributed with this
-# file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
-# add fixes for platform integration issues here.
-#
-# liboqs programs expect the public include files to be in oqs/xxxx,
-# So we put liboqs in it's own module, oqs, and point to the dist files
-INCLUDES += -I$(CORE_DEPTH)/lib/liboqs/src/common/pqclean_shims -I$(CORE_DEPTH)/lib/liboqs/src/common/sha3/xkcp_low/KeccakP-1600/plain-64bits
-DEFINES +=
-
-ifeq ($(OS_ARCH), Darwin)
-DEFINES += -DOQS_HAVE_ALIGNED_ALLOC -DOQS_HAVE_MEMALIGN -DOQS_HAVE_POSIX_MEMALIGN
-endif
-
diff --git a/lib/liboqs/src/common/pqclean_shims/fips202.c b/lib/liboqs/src/common/pqclean_shims/fips202.c
deleted file mode 100644
index caf0fe659..000000000
--- a/lib/liboqs/src/common/pqclean_shims/fips202.c
+++ /dev/null
@@ -1,15 +0,0 @@
-// SPDX-License-Identifier: MIT
-
-#include "fips202.h"
-
-void shake128_absorb_once(shake128incctx *state, const uint8_t *in, size_t inlen) {
- shake128_inc_ctx_reset(state);
- shake128_inc_absorb(state, in, inlen);
- shake128_inc_finalize(state);
-}
-
-void shake256_absorb_once(shake256incctx *state, const uint8_t *in, size_t inlen) {
- shake256_inc_ctx_reset(state);
- shake256_inc_absorb(state, in, inlen);
- shake256_inc_finalize(state);
-}
diff --git a/lib/liboqs/src/common/pqclean_shims/fips202.h b/lib/liboqs/src/common/pqclean_shims/fips202.h
deleted file mode 100644
index 94d09ee0f..000000000
--- a/lib/liboqs/src/common/pqclean_shims/fips202.h
+++ /dev/null
@@ -1,68 +0,0 @@
-// SPDX-License-Identifier: MIT
-
-#ifndef FIPS202_H
-#define FIPS202_H
-
-#include <oqs/sha3.h>
-
-#define SHAKE128_RATE OQS_SHA3_SHAKE128_RATE
-#define shake128 OQS_SHA3_shake128
-
-#define SHAKE256_RATE OQS_SHA3_SHAKE256_RATE
-#define shake256 OQS_SHA3_shake256
-
-#define SHA3_256_RATE OQS_SHA3_SHA3_256_RATE
-#define sha3_256 OQS_SHA3_sha3_256
-#define sha3_256_inc_init OQS_SHA3_sha3_256_inc_init
-#define sha3_256_inc_absorb OQS_SHA3_sha3_256_inc_absorb
-#define sha3_256_inc_finalize OQS_SHA3_sha3_256_inc_finalize
-#define sha3_256_inc_ctx_clone OQS_SHA3_sha3_256_inc_ctx_clone
-#define sha3_256_inc_ctx_release OQS_SHA3_sha3_256_inc_ctx_release
-
-#define SHA3_384_RATE OQS_SHA3_SHA3_384_RATE
-#define sha3_384 OQS_SHA3_sha3_384
-#define sha3_384_inc_init OQS_SHA3_sha3_384_inc_init
-#define sha3_384_inc_absorb OQS_SHA3_sha3_384_inc_absorb
-#define sha3_384_inc_finalize OQS_SHA3_sha3_384_inc_finalize
-#define sha3_384_inc_ctx_clone OQS_SHA3_sha3_384_inc_ctx_clone
-#define sha3_384_inc_ctx_release OQS_SHA3_sha3_384_inc_ctx_release
-
-#define SHA3_512_RATE OQS_SHA3_SHA3_512_RATE
-#define sha3_512 OQS_SHA3_sha3_512
-#define sha3_512_inc_init OQS_SHA3_sha3_512_inc_init
-#define sha3_512_inc_absorb OQS_SHA3_sha3_512_inc_absorb
-#define sha3_512_inc_finalize OQS_SHA3_sha3_512_inc_finalize
-#define sha3_512_inc_ctx_clone OQS_SHA3_sha3_512_inc_ctx_clone
-#define sha3_512_inc_ctx_release OQS_SHA3_sha3_512_inc_ctx_release
-
-#define shake128incctx OQS_SHA3_shake128_inc_ctx
-#define shake128_inc_init OQS_SHA3_shake128_inc_init
-#define shake128_inc_absorb OQS_SHA3_shake128_inc_absorb
-#define shake128_inc_finalize OQS_SHA3_shake128_inc_finalize
-#define shake128_inc_squeeze OQS_SHA3_shake128_inc_squeeze
-#define shake128_inc_ctx_release OQS_SHA3_shake128_inc_ctx_release
-#define shake128_inc_ctx_clone OQS_SHA3_shake128_inc_ctx_clone
-#define shake128_inc_ctx_reset OQS_SHA3_shake128_inc_ctx_reset
-
-#define shake256incctx OQS_SHA3_shake256_inc_ctx
-#define shake256_inc_init OQS_SHA3_shake256_inc_init
-#define shake256_inc_absorb OQS_SHA3_shake256_inc_absorb
-#define shake256_inc_finalize OQS_SHA3_shake256_inc_finalize
-#define shake256_inc_squeeze OQS_SHA3_shake256_inc_squeeze
-#define shake256_inc_ctx_release OQS_SHA3_shake256_inc_ctx_release
-#define shake256_inc_ctx_clone OQS_SHA3_shake256_inc_ctx_clone
-#define shake256_inc_ctx_reset OQS_SHA3_shake256_inc_ctx_reset
-
-#define shake128_absorb_once OQS_SHA3_shake128_absorb_once
-void OQS_SHA3_shake128_absorb_once(shake128incctx *state, const uint8_t *in, size_t inlen);
-
-#define shake256_absorb_once OQS_SHA3_shake256_absorb_once
-void OQS_SHA3_shake256_absorb_once(shake256incctx *state, const uint8_t *in, size_t inlen);
-
-#define shake128_squeezeblocks(OUT, NBLOCKS, STATE) \
- OQS_SHA3_shake128_inc_squeeze(OUT, (NBLOCKS)*OQS_SHA3_SHAKE128_RATE, STATE)
-
-#define shake256_squeezeblocks(OUT, NBLOCKS, STATE) \
- OQS_SHA3_shake256_inc_squeeze(OUT, (NBLOCKS)*OQS_SHA3_SHAKE256_RATE, STATE)
-
-#endif
diff --git a/lib/liboqs/src/common/pqclean_shims/fips202x4.c b/lib/liboqs/src/common/pqclean_shims/fips202x4.c
deleted file mode 100644
index 03756167d..000000000
--- a/lib/liboqs/src/common/pqclean_shims/fips202x4.c
+++ /dev/null
@@ -1,15 +0,0 @@
-// SPDX-License-Identifier: MIT
-
-#include "fips202x4.h"
-
-void shake128x4_absorb_once(shake128x4incctx *state, const uint8_t *in0, const uint8_t *in1, const uint8_t *in2, const uint8_t *in3, size_t inlen) {
- shake128x4_inc_ctx_reset(state);
- shake128x4_inc_absorb(state, in0, in1, in2, in3, inlen);
- shake128x4_inc_finalize(state);
-}
-
-void shake256x4_absorb_once(shake256x4incctx *state, const uint8_t *in0, const uint8_t *in1, const uint8_t *in2, const uint8_t *in3, size_t inlen) {
- shake256x4_inc_ctx_reset(state);
- shake256x4_inc_absorb(state, in0, in1, in2, in3, inlen);
- shake256x4_inc_finalize(state);
-}
diff --git a/lib/liboqs/src/common/pqclean_shims/fips202x4.h b/lib/liboqs/src/common/pqclean_shims/fips202x4.h
deleted file mode 100644
index d01cdebca..000000000
--- a/lib/liboqs/src/common/pqclean_shims/fips202x4.h
+++ /dev/null
@@ -1,51 +0,0 @@
-// SPDX-License-Identifier: MIT
-
-#ifndef FIPS202X4_H
-#define FIPS202X4_H
-
-#include <oqs/sha3x4.h>
-
-#define shake128x4incctx OQS_SHA3_shake128_x4_inc_ctx
-#define shake128x4_inc_init OQS_SHA3_shake128_x4_inc_init
-#define shake128x4_inc_absorb OQS_SHA3_shake128_x4_inc_absorb
-#define shake128x4_inc_finalize OQS_SHA3_shake128_x4_inc_finalize
-#define shake128x4_inc_squeeze OQS_SHA3_shake128_x4_inc_squeeze
-#define shake128x4_inc_ctx_release OQS_SHA3_shake128_x4_inc_ctx_release
-#define shake128x4_inc_ctx_clone OQS_SHA3_shake128_x4_inc_ctx_clone
-#define shake128x4_inc_ctx_reset OQS_SHA3_shake128_x4_inc_ctx_reset
-
-#define shake256x4incctx OQS_SHA3_shake256_x4_inc_ctx
-#define shake256x4_inc_init OQS_SHA3_shake256_x4_inc_init
-#define shake256x4_inc_absorb OQS_SHA3_shake256_x4_inc_absorb
-#define shake256x4_inc_finalize OQS_SHA3_shake256_x4_inc_finalize
-#define shake256x4_inc_squeeze OQS_SHA3_shake256_x4_inc_squeeze
-#define shake256x4_inc_ctx_release OQS_SHA3_shake256_x4_inc_ctx_release
-#define shake256x4_inc_ctx_clone OQS_SHA3_shake256_x4_inc_ctx_clone
-#define shake256x4_inc_ctx_reset OQS_SHA3_shake256_x4_inc_ctx_reset
-
-#define PQCLEAN_SPHINCSSHAKE256128FROBUST_AVX2_shake256x4 OQS_SHA3_shake256_x4
-#define PQCLEAN_SPHINCSSHAKE256128FSIMPLE_AVX2_shake256x4 OQS_SHA3_shake256_x4
-#define PQCLEAN_SPHINCSSHAKE256128SROBUST_AVX2_shake256x4 OQS_SHA3_shake256_x4
-#define PQCLEAN_SPHINCSSHAKE256128SSIMPLE_AVX2_shake256x4 OQS_SHA3_shake256_x4
-#define PQCLEAN_SPHINCSSHAKE256192FROBUST_AVX2_shake256x4 OQS_SHA3_shake256_x4
-#define PQCLEAN_SPHINCSSHAKE256192FSIMPLE_AVX2_shake256x4 OQS_SHA3_shake256_x4
-#define PQCLEAN_SPHINCSSHAKE256192SROBUST_AVX2_shake256x4 OQS_SHA3_shake256_x4
-#define PQCLEAN_SPHINCSSHAKE256192SSIMPLE_AVX2_shake256x4 OQS_SHA3_shake256_x4
-#define PQCLEAN_SPHINCSSHAKE256256FROBUST_AVX2_shake256x4 OQS_SHA3_shake256_x4
-#define PQCLEAN_SPHINCSSHAKE256256FSIMPLE_AVX2_shake256x4 OQS_SHA3_shake256_x4
-#define PQCLEAN_SPHINCSSHAKE256256SROBUST_AVX2_shake256x4 OQS_SHA3_shake256_x4
-#define PQCLEAN_SPHINCSSHAKE256256SSIMPLE_AVX2_shake256x4 OQS_SHA3_shake256_x4
-
-#define shake128x4_absorb_once OQS_SHA3_shake128_x4_absorb_once
-void OQS_SHA3_shake128_x4_absorb_once(shake128x4incctx *state, const uint8_t *in0, const uint8_t *in1, const uint8_t *in2, const uint8_t *in3, size_t inlen);
-
-#define shake256x4_absorb_once OQS_SHA3_shake256_x4_absorb_once
-void OQS_SHA3_shake256_x4_absorb_once(shake256x4incctx *state, const uint8_t *in0, const uint8_t *in1, const uint8_t *in2, const uint8_t *in3, size_t inlen);
-
-#define shake128x4_squeezeblocks(OUT0, OUT1, OUT2, OUT3, NBLOCKS, STATE) \
- OQS_SHA3_shake128_x4_inc_squeeze(OUT0, OUT1, OUT2, OUT3, (NBLOCKS)*OQS_SHA3_SHAKE128_RATE, STATE)
-
-#define shake256x4_squeezeblocks(OUT0, OUT1, OUT2, OUT3, NBLOCKS, STATE) \
- OQS_SHA3_shake256_x4_inc_squeeze(OUT0, OUT1, OUT2, OUT3, (NBLOCKS)*OQS_SHA3_SHAKE256_RATE, STATE)
-
-#endif
diff --git a/lib/liboqs/src/common/pqclean_shims/manifest.mn b/lib/liboqs/src/common/pqclean_shims/manifest.mn
deleted file mode 100644
index 12a037e0b..000000000
--- a/lib/liboqs/src/common/pqclean_shims/manifest.mn
+++ /dev/null
@@ -1,25 +0,0 @@
-# DO NOT EDIT: generated from manifest.mn.subdirs.template
-#
-# This Source Code Form is subject to the terms of the Mozilla Public
-# License, v. 2.0. If a copy of the MPL was not distributed with this
-# file, You can obtain one at http://mozilla.org/MPL/2.0/.
-CORE_DEPTH = ../../../../..
-
-MODULE = oqs
-
-LIBRARY_NAME = oqs_src_common_pqclean_shims
-SHARED_LIBRARY = $(NULL)
-
-CSRCS = \
- nistseedexpander.c \
- fips202.c \
- fips202x4.c \
- $(NULL)
-
-# only add module debugging in opt builds if DEBUG_PKCS11 is set
-ifdef DEBUG_PKCS11
- DEFINES += -DDEBUG_MODULE
-endif
-
-# This part of the code, including all sub-dirs, can be optimized for size
-export ALLOW_OPT_CODE_SIZE = 1
diff --git a/lib/liboqs/src/common/pqclean_shims/nistseedexpander.c b/lib/liboqs/src/common/pqclean_shims/nistseedexpander.c
deleted file mode 100644
index 839b8be52..000000000
--- a/lib/liboqs/src/common/pqclean_shims/nistseedexpander.c
+++ /dev/null
@@ -1,109 +0,0 @@
-//
-// rng.c
-//
-// Created by Bassham, Lawrence E (Fed) on 8/29/17.
-// Copyright © 2017 Bassham, Lawrence E (Fed). All rights reserved.
-/*
-NIST-developed software is provided by NIST as a public service. You may use, copy, and distribute copies of the software in any medium, provided that you keep intact this entire notice. You may improve, modify, and create derivative works of the software or any portion of the software, and you may copy and distribute such modifications or works. Modified works should carry a notice stating that you changed the software and should note the date and nature of any such change. Please explicitly acknowledge the National Institute of Standards and Technology as the source of the software.
-
-NIST-developed software is expressly provided "AS IS." NIST MAKES NO WARRANTY OF ANY KIND, EXPRESS, IMPLIED, IN FACT, OR ARISING BY OPERATION OF LAW, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTY OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, NON-INFRINGEMENT, AND DATA ACCURACY. NIST NEITHER REPRESENTS NOR WARRANTS THAT THE OPERATION OF THE SOFTWARE WILL BE UNINTERRUPTED OR ERROR-FREE, OR THAT ANY DEFECTS WILL BE CORRECTED. NIST DOES NOT WARRANT OR MAKE ANY REPRESENTATIONS REGARDING THE USE OF THE SOFTWARE OR THE RESULTS THEREOF, INCLUDING BUT NOT LIMITED TO THE CORRECTNESS, ACCURACY, RELIABILITY, OR USEFULNESS OF THE SOFTWARE.
-
-You are solely responsible for determining the appropriateness of using and distributing the software and you assume all risks associated with its use, including but not limited to the risks and costs of program errors, compliance with applicable laws, damage to or loss of data, programs or equipment, and the unavailability or interruption of operation. This software is not intended to be used in any situation where a failure could cause risk of injury or damage to property. The software developed by NIST employees is not subject to copyright protection within the United States.
-*/
-// SPDX-License-Identifier: Unknown
-// Modified for PQClean by Sebastian Verschoor
-//
-
-#include "nistseedexpander.h"
-#include "aes.h"
-#include <string.h>
-
-/*
- seedexpander_init()
- ctx - stores the current state of an instance of the seed expander
- seed - a 32 byte random value
- diversifier - an 8 byte diversifier
- maxlen - maximum number of bytes (less than 2**32) generated under this seed and diversifier
- */
-int
-seedexpander_init(AES_XOF_struct *ctx,
- const uint8_t *seed,
- const uint8_t *diversifier,
- size_t maxlen) {
- ctx->length_remaining = maxlen;
-
- memcpy(ctx->key, seed, 32);
- memcpy(ctx->ctr, diversifier, 8);
-
- ctx->ctr[11] = (uint8_t) (maxlen % 256);
- maxlen >>= 8;
- ctx->ctr[10] = (uint8_t) (maxlen % 256);
- maxlen >>= 8;
- ctx->ctr[9] = (uint8_t) (maxlen % 256);
- maxlen >>= 8;
- ctx->ctr[8] = (uint8_t) (maxlen % 256);
- memset(ctx->ctr + 12, 0x00, 4);
-
- ctx->buffer_pos = 16;
- memset(ctx->buffer, 0x00, 16);
-
- return RNG_SUCCESS;
-}
-
-static void AES256_ECB(uint8_t *key, uint8_t *ctr, uint8_t *buffer) {
- aes256ctx ctx;
- aes256_ecb_keyexp(&ctx, key);
- aes256_ecb(buffer, ctr, 1, &ctx);
- aes256_ctx_release(&ctx);
-}
-
-/*
- seedexpander()
- ctx - stores the current state of an instance of the seed expander
- x - returns the XOF data
- xlen - number of bytes to return
- */
-int
-seedexpander(AES_XOF_struct *ctx, uint8_t *x, size_t xlen) {
- size_t offset;
-
- if ( x == NULL ) {
- return RNG_BAD_OUTBUF;
- }
- if ( xlen >= ctx->length_remaining ) {
- return RNG_BAD_REQ_LEN;
- }
-
- ctx->length_remaining -= xlen;
-
- offset = 0;
- while ( xlen > 0 ) {
- if ( xlen <= (16 - ctx->buffer_pos) ) { // buffer has what we need
- memcpy(x + offset, ctx->buffer + ctx->buffer_pos, xlen);
- ctx->buffer_pos += xlen;
-
- return RNG_SUCCESS;
- }
-
- // take what's in the buffer
- memcpy(x + offset, ctx->buffer + ctx->buffer_pos, 16 - ctx->buffer_pos);
- xlen -= 16 - ctx->buffer_pos;
- offset += 16 - ctx->buffer_pos;
-
- AES256_ECB(ctx->key, ctx->ctr, ctx->buffer);
- ctx->buffer_pos = 0;
-
- //increment the counter
- for (size_t i = 15; i >= 12; i--) {
- if ( ctx->ctr[i] == 0xff ) {
- ctx->ctr[i] = 0x00;
- } else {
- ctx->ctr[i]++;
- break;
- }
- }
-
- }
-
- return RNG_SUCCESS;
-}
diff --git a/lib/liboqs/src/common/pqclean_shims/nistseedexpander.h b/lib/liboqs/src/common/pqclean_shims/nistseedexpander.h
deleted file mode 100644
index 320902ba0..000000000
--- a/lib/liboqs/src/common/pqclean_shims/nistseedexpander.h
+++ /dev/null
@@ -1,47 +0,0 @@
-#ifndef NISTSEEDEXPANDER_H
-#define NISTSEEDEXPANDER_H
-
-//
-// rng.h
-//
-// Created by Bassham, Lawrence E (Fed) on 8/29/17.
-// Copyright © 2017 Bassham, Lawrence E (Fed). All rights reserved.
-/*
-NIST-developed software is provided by NIST as a public service. You may use, copy, and distribute copies of the software in any medium, provided that you keep intact this entire notice. You may improve, modify, and create derivative works of the software or any portion of the software, and you may copy and distribute such modifications or works. Modified works should carry a notice stating that you changed the software and should note the date and nature of any such change. Please explicitly acknowledge the National Institute of Standards and Technology as the source of the software.
-
-NIST-developed software is expressly provided "AS IS." NIST MAKES NO WARRANTY OF ANY KIND, EXPRESS, IMPLIED, IN FACT, OR ARISING BY OPERATION OF LAW, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTY OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, NON-INFRINGEMENT, AND DATA ACCURACY. NIST NEITHER REPRESENTS NOR WARRANTS THAT THE OPERATION OF THE SOFTWARE WILL BE UNINTERRUPTED OR ERROR-FREE, OR THAT ANY DEFECTS WILL BE CORRECTED. NIST DOES NOT WARRANT OR MAKE ANY REPRESENTATIONS REGARDING THE USE OF THE SOFTWARE OR THE RESULTS THEREOF, INCLUDING BUT NOT LIMITED TO THE CORRECTNESS, ACCURACY, RELIABILITY, OR USEFULNESS OF THE SOFTWARE.
-
-You are solely responsible for determining the appropriateness of using and distributing the software and you assume all risks associated with its use, including but not limited to the risks and costs of program errors, compliance with applicable laws, damage to or loss of data, programs or equipment, and the unavailability or interruption of operation. This software is not intended to be used in any situation where a failure could cause risk of injury or damage to property. The software developed by NIST employees is not subject to copyright protection within the United States.
-*/
-// SPDX-License-Identifier: Unknown
-// Modified for PQClean by Sebastian Verschoor
-//
-
-#include <stddef.h>
-#include <stdint.h>
-
-#define NISTSEEDEXPANDER_SEED_LEN 32
-
-#define RNG_SUCCESS ( 0)
-#define RNG_BAD_MAXLEN (-1)
-#define RNG_BAD_OUTBUF (-2)
-#define RNG_BAD_REQ_LEN (-3)
-
-typedef struct {
- uint8_t buffer[16];
- size_t buffer_pos;
- size_t length_remaining;
- uint8_t key[NISTSEEDEXPANDER_SEED_LEN];
- uint8_t ctr[16];
-} AES_XOF_struct;
-
-int
-seedexpander_init(AES_XOF_struct *ctx,
- const uint8_t *seed,
- const uint8_t *diversifier,
- size_t maxlen);
-
-int
-seedexpander(AES_XOF_struct *ctx, uint8_t *x, size_t xlen);
-
-#endif /* NISTSEEDEXPANDER_H */
diff --git a/lib/liboqs/src/common/pqclean_shims/pqclean_shims.gyp b/lib/liboqs/src/common/pqclean_shims/pqclean_shims.gyp
deleted file mode 100644
index ae5902fa4..000000000
--- a/lib/liboqs/src/common/pqclean_shims/pqclean_shims.gyp
+++ /dev/null
@@ -1,41 +0,0 @@
-# DO NOT EDIT: generated from subdir.gyp.template
-# This Source Code Form is subject to the terms of the Mozilla Public
-# License, v. 2.0. If a copy of the MPL was not distributed with this
-# file, You can obtain one at http://mozilla.org/MPL/2.0/.
-{
- 'includes': [
- '../../../../../coreconf/config.gypi'
- ],
- 'targets': [
- {
- 'target_name': 'oqs_src_common_pqclean_shims',
- 'type': 'static_library',
- 'sources': [
- 'nistseedexpander.c',
- 'fips202.c',
- 'fips202x4.c',
- ],
- 'dependencies': [
- '<(DEPTH)/exports.gyp:nss_exports'
- ]
- }
- ],
- 'target_defaults': {
- 'defines': [
- ],
- 'include_dirs': [
- '<(DEPTH)/lib/liboqs/src/common/pqclean_shims',
- '<(DEPTH)/lib/liboqs/src/common/sha3/xkcp_low/KeccakP-1600/plain-64bits',
- ],
- [ 'OS=="mac"', {
- 'defines': [
- 'OQS_HAVE_POSIX_MEMALIGN',
- 'OQS_HAVE_ALIGNED_ALLOC',
- 'OQS_HAVE_MEMALIGN'
- ]
- }]
- },
- 'variables': {
- 'module': 'oqs'
- }
-}
diff --git a/lib/liboqs/src/common/pqclean_shims/randombytes.h b/lib/liboqs/src/common/pqclean_shims/randombytes.h
deleted file mode 100644
index 0a7a5f18f..000000000
--- a/lib/liboqs/src/common/pqclean_shims/randombytes.h
+++ /dev/null
@@ -1,10 +0,0 @@
-// SPDX-License-Identifier: MIT
-
-#ifndef RANDOMBYTES_H
-#define RANDOMBYTES_H
-
-#include <oqs/rand.h>
-
-#define randombytes OQS_randombytes
-
-#endif
diff --git a/lib/liboqs/src/common/pqclean_shims/sha2.h b/lib/liboqs/src/common/pqclean_shims/sha2.h
deleted file mode 100644
index 625439f45..000000000
--- a/lib/liboqs/src/common/pqclean_shims/sha2.h
+++ /dev/null
@@ -1,33 +0,0 @@
-// SPDX-License-Identifier: MIT
-
-#ifndef SHA2_H
-#define SHA2_H
-
-#include <oqs/sha2.h>
-
-#define sha256 OQS_SHA2_sha256
-#define sha384 OQS_SHA2_sha384
-#define sha512 OQS_SHA2_sha512
-
-#define sha256ctx OQS_SHA2_sha256_ctx
-#define sha256_inc_init OQS_SHA2_sha256_inc_init
-#define sha256_inc_ctx_clone OQS_SHA2_sha256_inc_ctx_clone
-#define sha256_inc_ctx_release OQS_SHA2_sha256_inc_ctx_release
-#define sha256_inc_blocks OQS_SHA2_sha256_inc_blocks
-#define sha256_inc_finalize OQS_SHA2_sha256_inc_finalize
-
-#define sha384ctx OQS_SHA2_sha384_ctx
-#define sha384_inc_init OQS_SHA2_sha384_inc_init
-#define sha384_inc_ctx_clone OQS_SHA2_sha384_inc_ctx_clone
-#define sha384_inc_ctx_release OQS_SHA2_sha384_inc_ctx_release
-#define sha384_inc_blocks OQS_SHA2_sha384_inc_blocks
-#define sha384_inc_finalize OQS_SHA2_sha384_inc_finalize
-
-#define sha512ctx OQS_SHA2_sha512_ctx
-#define sha512_inc_init OQS_SHA2_sha512_inc_init
-#define sha512_inc_ctx_clone OQS_SHA2_sha512_inc_ctx_clone
-#define sha512_inc_ctx_release OQS_SHA2_sha512_inc_ctx_release
-#define sha512_inc_blocks OQS_SHA2_sha512_inc_blocks
-#define sha512_inc_finalize OQS_SHA2_sha512_inc_finalize
-
-#endif