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

Diff for /src/usr.bin/ssh/sntrup761.sh between version 1.4 and 1.5

version 1.4, 2021/01/04 21:58:58 version 1.5, 2021/01/08 02:33:13
Line 7 
Line 7 
         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
Line 38 
Line 32 
 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

Legend:
Removed from v.1.4  
changed lines
  Added in v.1.5