[BACK]Return to sntrup4591761.sh CVS log [TXT][DIR] Up to [local] / src / usr.bin / ssh

File: [local] / src / usr.bin / ssh / Attic / sntrup4591761.sh (download)

Revision 1.2, Mon Jan 21 22:18:24 2019 UTC (5 years, 4 months ago) by djm
Branch: MAIN
Changes since 1.1: +23 -24 lines

switch sntrup implementation source from supercop to libpqcrypto;
the latter is almost identical but doesn't rely on signed underflow
to implement an optimised integer sort; from markus@

#!/bin/sh
FILES="
	libpqcrypto-20180314/crypto_kem/sntrup4591761/ref/int32_sort.h
	libpqcrypto-20180314/crypto_kem/sntrup4591761/ref/int32_sort.c
	libpqcrypto-20180314/crypto_kem/sntrup4591761/ref/small.h
	libpqcrypto-20180314/crypto_kem/sntrup4591761/ref/mod3.h
	libpqcrypto-20180314/crypto_kem/sntrup4591761/ref/modq.h
	libpqcrypto-20180314/crypto_kem/sntrup4591761/ref/params.h
	libpqcrypto-20180314/crypto_kem/sntrup4591761/ref/r3.h
	libpqcrypto-20180314/crypto_kem/sntrup4591761/ref/rq.h
	libpqcrypto-20180314/crypto_kem/sntrup4591761/ref/swap.h
	libpqcrypto-20180314/crypto_kem/sntrup4591761/ref/dec.c
	libpqcrypto-20180314/crypto_kem/sntrup4591761/ref/enc.c
	libpqcrypto-20180314/crypto_kem/sntrup4591761/ref/keypair.c
	libpqcrypto-20180314/crypto_kem/sntrup4591761/ref/r3_mult.c
	libpqcrypto-20180314/crypto_kem/sntrup4591761/ref/r3_recip.c
	libpqcrypto-20180314/crypto_kem/sntrup4591761/ref/randomsmall.c
	libpqcrypto-20180314/crypto_kem/sntrup4591761/ref/randomweightw.c
	libpqcrypto-20180314/crypto_kem/sntrup4591761/ref/rq.c
	libpqcrypto-20180314/crypto_kem/sntrup4591761/ref/rq_mult.c
	libpqcrypto-20180314/crypto_kem/sntrup4591761/ref/rq_recip3.c
	libpqcrypto-20180314/crypto_kem/sntrup4591761/ref/rq_round3.c
	libpqcrypto-20180314/crypto_kem/sntrup4591761/ref/rq_rounded.c
	libpqcrypto-20180314/crypto_kem/sntrup4591761/ref/small.c
	libpqcrypto-20180314/crypto_kem/sntrup4591761/ref/swap.c
"
###

set -e
DIR=/data/git/mfriedl
cd $DIR
echo '#include <string.h>'
echo '#include "crypto_api.h"'
echo
for i in $FILES; do
	echo "/* from $i */"
	b=$(basename $i .c)
	grep \
	   -v '#include' $i | \
	   grep -v "extern crypto_int32 small_random32" |
	   sed -e "s/crypto_kem_/crypto_kem_sntrup4591761_/g" \
		-e "s/smaller_mask/smaller_mask_${b}/g" \
		-e "s/^extern void /static void /" \
		-e "s/^void /static void /"
	echo
done