version 1.4, 2021/01/04 21:58:58 |
version 1.5, 2021/01/08 02:33:13 |
|
|
supercop-20201130/crypto_sort/int32/portable4/int32_minmax.inc |
supercop-20201130/crypto_sort/int32/portable4/int32_minmax.inc |
supercop-20201130/crypto_sort/int32/portable4/sort.c |
supercop-20201130/crypto_sort/int32/portable4/sort.c |
supercop-20201130/crypto_sort/uint32/useint32/sort.c |
supercop-20201130/crypto_sort/uint32/useint32/sort.c |
supercop-20201130/crypto_kem/sntrup761/ref/uint64.h |
|
supercop-20201130/crypto_kem/sntrup761/ref/uint16.h |
|
supercop-20201130/crypto_kem/sntrup761/ref/uint32.h |
|
supercop-20201130/crypto_kem/sntrup761/ref/int8.h |
|
supercop-20201130/crypto_kem/sntrup761/ref/int16.h |
|
supercop-20201130/crypto_kem/sntrup761/ref/int32.h |
|
supercop-20201130/crypto_kem/sntrup761/ref/uint32.c |
supercop-20201130/crypto_kem/sntrup761/ref/uint32.c |
supercop-20201130/crypto_kem/sntrup761/ref/int32.c |
supercop-20201130/crypto_kem/sntrup761/ref/int32.c |
supercop-20201130/crypto_kem/sntrup761/ref/paramsmenu.h |
supercop-20201130/crypto_kem/sntrup761/ref/paramsmenu.h |
|
|
echo '#include <string.h>' |
echo '#include <string.h>' |
echo '#include "crypto_api.h"' |
echo '#include "crypto_api.h"' |
echo |
echo |
echo '#define CRYPTO_NAMESPACE(s) s' |
# Map the types used in this code to the ones in crypto_api.h. We use #define |
|
# instead of typedef since some systems have existing intXX types and do not |
|
# permit multiple typedefs even if they do not conflict. |
|
for t in int8 uint8 int16 uint16 int32 uint32 int64 uint64; do |
|
echo "#define $t crypto_${t}" |
|
done |
echo |
echo |
for i in $FILES; do |
for i in $FILES; do |
echo "/* from $i */" |
echo "/* from $i */" |
grep \ |
# Changes to all files: |
-v '#include' $i | \ |
# - remove all includes, we inline everything required. |
|
# - make functions not required elsewhere static. |
|
# - rename the functions we do use. |
|
# - remove unneccesary defines and externs. |
|
sed -e "/#include/d" \ |
|
-e "s/crypto_kem_/crypto_kem_sntrup761_/g" \ |
|
-e "s/^void /static void /g" \ |
|
-e "s/^int16 /static int16 /g" \ |
|
-e "s/^uint16 /static uint16 /g" \ |
|
-e "/^extern /d" \ |
|
-e '/CRYPTO_NAMESPACE/d' \ |
|
-e "/^#define int32 crypto_int32/d" \ |
|
$i | \ |
case "$i" in |
case "$i" in |
# Use int64_t for intermediate values in int32_MINMAX to prevent signed |
# Use int64_t for intermediate values in int32_MINMAX to prevent signed |
# 32-bit integer overflow when called by crypto_sort_uint32. |
# 32-bit integer overflow when called by crypto_sort_uint32. |
*/int32_minmax.inc) |
*/int32_minmax.inc) |
sed -e "s/int32 ab = b ^ a/int64_t ab = (int64_t)b ^ (int64_t)a/" \ |
sed -e "s/int32 ab = b ^ a/int64_t ab = (int64_t)b ^ (int64_t)a/" \ |
-e "s/int32 c = b - a/int64_t c = (int64_t)b - (int64_t)a/" |
-e "s/int32 c = b - a/int64_t c = (int64_t)b - (int64_t)a/" |
;; |
;; |
*/int32/portable4/sort.c) |
*/int32/portable4/sort.c) |
sed -e "s/void crypto_sort/static void crypto_sort_int32/g" |
sed -e "s/void crypto_sort/void crypto_sort_int32/g" |
;; |
;; |
*/uint32/useint32/sort.c) |
*/uint32/useint32/sort.c) |
sed -e "s/void crypto_sort/static void crypto_sort_uint32/g" |
sed -e "s/void crypto_sort/void crypto_sort_uint32/g" |
;; |
;; |
|
# Remove unused function to prevent warning. |
|
*/crypto_kem/sntrup761/ref/int32.c) |
|
sed -e '/ int32_div_uint14/,/^}$/d' |
|
;; |
|
# Remove unused function to prevent warning. |
|
*/crypto_kem/sntrup761/ref/uint32.c) |
|
sed -e '/ uint32_div_uint14/,/^}$/d' |
|
;; |
|
# Default: pass through. |
*) |
*) |
sed -e "s/crypto_kem_/crypto_kem_sntrup761_/g" \ |
cat |
-e "s/^extern void /static void /" \ |
;; |
-e "s/^void /static void /" \ |
|
-e "/^typedef int32_t int32;$/d" |
|
esac |
esac |
echo |
echo |
done |
done |