version 1.3, 2021/01/03 18:05:21 |
version 1.4, 2021/01/04 21:58:58 |
|
|
# |
# |
AUTHOR="supercop-20201130/crypto_kem/sntrup761/ref/implementors" |
AUTHOR="supercop-20201130/crypto_kem/sntrup761/ref/implementors" |
FILES=" |
FILES=" |
|
supercop-20201130/crypto_sort/int32/portable4/int32_minmax.inc |
|
supercop-20201130/crypto_sort/int32/portable4/sort.c |
|
supercop-20201130/crypto_sort/uint32/useint32/sort.c |
supercop-20201130/crypto_kem/sntrup761/ref/uint64.h |
supercop-20201130/crypto_kem/sntrup761/ref/uint64.h |
supercop-20201130/crypto_kem/sntrup761/ref/uint16.h |
supercop-20201130/crypto_kem/sntrup761/ref/uint16.h |
supercop-20201130/crypto_kem/sntrup761/ref/uint32.h |
supercop-20201130/crypto_kem/sntrup761/ref/uint32.h |
|
|
supercop-20201130/crypto_kem/sntrup761/ref/Encode.c |
supercop-20201130/crypto_kem/sntrup761/ref/Encode.c |
supercop-20201130/crypto_kem/sntrup761/ref/kem.c |
supercop-20201130/crypto_kem/sntrup761/ref/kem.c |
" |
" |
SORT_I32=" |
|
supercop-20201130/crypto_sort/int32/portable4/sort.c |
|
" |
|
SORT_U32="supercop-20201130/crypto_sort/uint32/useint32/sort.c" |
|
### |
### |
|
|
set -e |
set -e |
|
|
echo |
echo |
echo '#include <string.h>' |
echo '#include <string.h>' |
echo '#include "crypto_api.h"' |
echo '#include "crypto_api.h"' |
echo '#include "int32_minmax.inc"' |
|
echo |
echo |
echo '#define CRYPTO_NAMESPACE(s) s' |
echo '#define CRYPTO_NAMESPACE(s) s' |
echo |
echo |
for i in $SORT_I32; do |
|
echo "/* from $i */" |
|
grep \ |
|
-v '#include' $i | \ |
|
sed -e "s/void crypto_sort/static void crypto_sort_int32/g" |
|
echo |
|
done |
|
echo "/* from $SORT_U32 */" |
|
grep \ |
|
-v '#include' $SORT_U32 | \ |
|
sed -e "s/void crypto_sort/static void crypto_sort_uint32/g" |
|
echo |
|
for i in $FILES; do |
for i in $FILES; do |
echo "/* from $i */" |
echo "/* from $i */" |
grep \ |
grep \ |
-v '#include' $i | \ |
-v '#include' $i | \ |
sed -e "s/crypto_kem_/crypto_kem_sntrup761_/g" \ |
case "$i" in |
|
# Use int64_t for intermediate values in int32_MINMAX to prevent signed |
|
# 32-bit integer overflow when called by crypto_sort_uint32. |
|
*/int32_minmax.inc) |
|
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/" |
|
;; |
|
*/int32/portable4/sort.c) |
|
sed -e "s/void crypto_sort/static void crypto_sort_int32/g" |
|
;; |
|
*/uint32/useint32/sort.c) |
|
sed -e "s/void crypto_sort/static void crypto_sort_uint32/g" |
|
;; |
|
*) |
|
sed -e "s/crypto_kem_/crypto_kem_sntrup761_/g" \ |
-e "s/^extern void /static void /" \ |
-e "s/^extern void /static void /" \ |
-e "s/^void /static void /" \ |
-e "s/^void /static void /" \ |
-e "/^typedef int32_t int32;$/d" |
-e "/^typedef int32_t int32;$/d" |
|
esac |
echo |
echo |
done |
done |