Latest update
This commit is contained in:
@@ -969,15 +969,15 @@ __poly1305_blocks_vsx:
|
||||
addi $t1,$ctx,`48+(12^$BIG_ENDIAN)`
|
||||
bl __poly1305_splat
|
||||
|
||||
bl __poly1305_mul # caclulate r^2
|
||||
bl __poly1305_mul # calculate r^2
|
||||
addi $t1,$ctx,`48+(4^$BIG_ENDIAN)`
|
||||
bl __poly1305_splat
|
||||
|
||||
bl __poly1305_mul # caclulate r^3
|
||||
bl __poly1305_mul # calculate r^3
|
||||
addi $t1,$ctx,`48+(8^$BIG_ENDIAN)`
|
||||
bl __poly1305_splat
|
||||
|
||||
bl __poly1305_mul # caclulate r^4
|
||||
bl __poly1305_mul # calculate r^4
|
||||
addi $t1,$ctx,`48+(0^$BIG_ENDIAN)`
|
||||
bl __poly1305_splat
|
||||
|
||||
|
||||
@@ -1,8 +1,36 @@
|
||||
LIBS=../../libcrypto
|
||||
SOURCE[../../libcrypto]=\
|
||||
poly1305_ameth.c \
|
||||
poly1305_meth.c \
|
||||
poly1305.c {- $target{poly1305_asm_src} -}
|
||||
|
||||
$POLY1305ASM=
|
||||
IF[{- !$disabled{asm} -}]
|
||||
$POLY1305ASM_x86=poly1305-x86.s
|
||||
$POLY1305ASM_x86_64=poly1305-x86_64.s
|
||||
|
||||
$POLY1305ASM_ia64=asm/poly1305-ia64.S
|
||||
|
||||
$POLY1305ASM_sparcv9=poly1305-sparcv9.S
|
||||
|
||||
$POLY1305ASM_mips64=poly1305-mips.S
|
||||
|
||||
$POLY1305ASM_s390x=poly1305-s390x.S
|
||||
|
||||
$POLY1305ASM_armv4=poly1305-armv4.S
|
||||
$POLY1305ASM_aarch64=poly1305-armv8.S
|
||||
|
||||
$POLY1305ASM_ppc32=poly1305-ppc.s poly1305-ppcfp.s
|
||||
$POLY1305ASM_ppc64=$POLY1305ASM_ppc32
|
||||
|
||||
$POLY1305ASM_c64xplus=poly1305-c64xplus.s
|
||||
|
||||
# Now that we have defined all the arch specific variables, use the
|
||||
# appropriate one, and define the appropriate macros
|
||||
IF[$POLY1305ASM_{- $target{asm_arch} -}]
|
||||
$POLY1305ASM=$POLY1305ASM_{- $target{asm_arch} -}
|
||||
$POLY1305DEF=POLY1305_ASM
|
||||
ENDIF
|
||||
ENDIF
|
||||
|
||||
SOURCE[../../libcrypto]=poly1305_ameth.c poly1305_meth.c poly1305.c $POLY1305ASM
|
||||
DEFINE[../../libcrypto]=$POLY1305DEF
|
||||
|
||||
GENERATE[poly1305-sparcv9.S]=asm/poly1305-sparcv9.pl $(PERLASM_SCHEME)
|
||||
INCLUDE[poly1305-sparcv9.o]=..
|
||||
|
||||
@@ -37,11 +37,17 @@ static void poly1305_free(EVP_MAC_IMPL *ctx)
|
||||
}
|
||||
}
|
||||
|
||||
static int poly1305_copy(EVP_MAC_IMPL *dst, EVP_MAC_IMPL *src)
|
||||
static EVP_MAC_IMPL *poly1305_dup(const EVP_MAC_IMPL *src)
|
||||
{
|
||||
EVP_MAC_IMPL *dst;
|
||||
|
||||
dst = poly1305_new();
|
||||
if (dst == NULL)
|
||||
return NULL;
|
||||
|
||||
*dst->ctx = *src->ctx;
|
||||
|
||||
return 1;
|
||||
return dst;
|
||||
}
|
||||
|
||||
static size_t poly1305_size(EVP_MAC_IMPL *ctx)
|
||||
@@ -130,7 +136,7 @@ static int poly1305_ctrl_str(EVP_MAC_IMPL *ctx,
|
||||
const EVP_MAC poly1305_meth = {
|
||||
EVP_MAC_POLY1305,
|
||||
poly1305_new,
|
||||
poly1305_copy,
|
||||
poly1305_dup,
|
||||
poly1305_free,
|
||||
poly1305_size,
|
||||
poly1305_init,
|
||||
|
||||
Reference in New Issue
Block a user