forked from wolfSSL/wolfssl
Merge branch 'master' into ti
This commit is contained in:
17
Makefile.am
17
Makefile.am
@@ -21,6 +21,23 @@ dist_doc_DATA=
|
|||||||
@INC_AMINCLUDE@
|
@INC_AMINCLUDE@
|
||||||
DISTCLEANFILES+= aminclude.am
|
DISTCLEANFILES+= aminclude.am
|
||||||
|
|
||||||
|
CLEANFILES+= cert.der \
|
||||||
|
cert.pem \
|
||||||
|
certecc.der \
|
||||||
|
certecc.pem \
|
||||||
|
certreq.der \
|
||||||
|
certreq.pem \
|
||||||
|
key.der \
|
||||||
|
key.pem \
|
||||||
|
ntru-cert.der \
|
||||||
|
ntru-cert.pem \
|
||||||
|
ntru-key.raw \
|
||||||
|
othercert.der \
|
||||||
|
othercert.pem \
|
||||||
|
pkcs7cert.der \
|
||||||
|
pkcs7envelopedData.der \
|
||||||
|
pkcs7signedData.der
|
||||||
|
|
||||||
exampledir = $(docdir)/example
|
exampledir = $(docdir)/example
|
||||||
dist_example_DATA=
|
dist_example_DATA=
|
||||||
|
|
||||||
|
@@ -1,28 +1,28 @@
|
|||||||
-----BEGIN CERTIFICATE-----
|
-----BEGIN CERTIFICATE-----
|
||||||
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
|
||||||
lQQlbfJKww4sWKoEfZMFhZco6qOrF7iHo/vmpOc=
|
uF/2wFSDfkX+Fh902Q1FebbFaXqTYwHhGc/XSs5Mwg==
|
||||||
-----END CERTIFICATE-----
|
-----END CERTIFICATE-----
|
||||||
|
Binary file not shown.
49
configure.ac
49
configure.ac
@@ -1209,21 +1209,44 @@ AM_CONDITIONAL([BUILD_CRL_MONITOR], [test "x$ENABLED_CRL_MONITOR" = "xyes"])
|
|||||||
|
|
||||||
|
|
||||||
# NTRU
|
# NTRU
|
||||||
ntruHome=`pwd`/NTRU_algorithm
|
ENABLED_NTRU="no"
|
||||||
ntruInclude=$ntruHome/cryptolib
|
tryntrudir=""
|
||||||
ntruLib=$ntruHome
|
AC_ARG_WITH([ntru],
|
||||||
AC_ARG_ENABLE([ntru],
|
[ --with-ntru=PATH Path to NTRU install (default /usr/) ],
|
||||||
[ --enable-ntru Enable NTRU (default: disabled)],
|
[
|
||||||
[ ENABLED_NTRU=$enableval ],
|
AC_MSG_CHECKING([for NTRU])
|
||||||
[ ENABLED_NTRU=no ]
|
CPPFLAGS="$CPPFLAGS -DHAVE_NTRU"
|
||||||
)
|
LIBS="$LIBS -lNTRUEncrypt"
|
||||||
|
|
||||||
if test "$ENABLED_NTRU" = "yes"
|
AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include <ntru_crypto_drbg.h>]], [[ ntru_crypto_drbg_instantiate(0, 0, 0, 0, 0); ]])], [ ntru_linked=yes ],[ ntru_linked=no ])
|
||||||
then
|
|
||||||
AM_CFLAGS="$AM_CFLAGS -DHAVE_NTRU -I$ntruInclude"
|
if test "x$ntru_linked" == "xno" ; then
|
||||||
AM_LDFLAGS="$AM_LDFLAGS -L$ntruLib"
|
if test "x$withval" != "xno" ; then
|
||||||
LIBS="$LIBS -lntru_encrypt"
|
tryntrudir=$withval
|
||||||
fi
|
fi
|
||||||
|
if test "x$withval" == "xyes" ; then
|
||||||
|
tryntrudir="/usr"
|
||||||
|
fi
|
||||||
|
|
||||||
|
LDFLAGS="$AM_LDFLAGS -L$tryntrudir/lib"
|
||||||
|
CPPFLAGS="$CPPFLAGS -I$tryntrudir/include"
|
||||||
|
|
||||||
|
AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include <ntru_crypto_drbg.h>]], [[ ntru_crypto_drbg_instantiate(0, 0, 0, 0, 0); ]])], [ ntru_linked=yes ],[ ntru_linked=no ])
|
||||||
|
|
||||||
|
if test "x$ntru_linked" == "xno" ; then
|
||||||
|
AC_MSG_ERROR([NTRU isn't found.
|
||||||
|
If it's already installed, specify its path using --with-ntru=/dir/])
|
||||||
|
fi
|
||||||
|
AC_MSG_RESULT([yes])
|
||||||
|
AM_LDFLAGS="$AM_LDFLAGS -L$tryntrudir/lib"
|
||||||
|
else
|
||||||
|
AC_MSG_RESULT([yes])
|
||||||
|
fi
|
||||||
|
|
||||||
|
AM_CFLAGS="$AM_CFLAGS -DHAVE_NTRU"
|
||||||
|
ENABLED_NTRU="yes"
|
||||||
|
]
|
||||||
|
)
|
||||||
|
|
||||||
AM_CONDITIONAL([BUILD_NTRU], [test "x$ENABLED_NTRU" = "xyes"])
|
AM_CONDITIONAL([BUILD_NTRU], [test "x$ENABLED_NTRU" = "xyes"])
|
||||||
|
|
||||||
|
@@ -132,7 +132,7 @@ AES_CBC_decrypt PROC
|
|||||||
mov r9d,[rsp+48]
|
mov r9d,[rsp+48]
|
||||||
|
|
||||||
; on microsoft xmm6-xmm15 are non volaitle, let's save on stack and restore at end
|
; on microsoft xmm6-xmm15 are non volaitle, let's save on stack and restore at end
|
||||||
sub rsp,8+8*64 ; 8 = align stack , 8 xmm6-12,15 8 bytes each
|
sub rsp,8+8*16 ; 8 = align stack , 8 xmm6-12,15 16 bytes each
|
||||||
movdqa [rsp+0], xmm6
|
movdqa [rsp+0], xmm6
|
||||||
movdqa [rsp+16], xmm7
|
movdqa [rsp+16], xmm7
|
||||||
movdqa [rsp+32], xmm8
|
movdqa [rsp+32], xmm8
|
||||||
@@ -312,7 +312,7 @@ DEND_4:
|
|||||||
movdqa xmm11, [rsp+80]
|
movdqa xmm11, [rsp+80]
|
||||||
movdqa xmm12, [rsp+96]
|
movdqa xmm12, [rsp+96]
|
||||||
movdqa xmm15, [rsp+112]
|
movdqa xmm15, [rsp+112]
|
||||||
add rsp,8+8*64 ; 8 = align stack , 8 xmm6-12,15 8 bytes each
|
add rsp,8+8*16 ; 8 = align stack , 8 xmm6-12,15 16 bytes each
|
||||||
ret
|
ret
|
||||||
AES_CBC_decrypt ENDP
|
AES_CBC_decrypt ENDP
|
||||||
|
|
||||||
@@ -343,7 +343,7 @@ AES_ECB_encrypt PROC
|
|||||||
mov r8d,[rsp+40]
|
mov r8d,[rsp+40]
|
||||||
|
|
||||||
; on microsoft xmm6-xmm15 are non volaitle, let's save on stack and restore at end
|
; on microsoft xmm6-xmm15 are non volaitle, let's save on stack and restore at end
|
||||||
sub rsp,8+4*64 ; 8 = align stack , 4 xmm9-12, 8 bytes each
|
sub rsp,8+4*16 ; 8 = align stack , 4 xmm9-12, 16 bytes each
|
||||||
movdqa [rsp+0], xmm9
|
movdqa [rsp+0], xmm9
|
||||||
movdqa [rsp+16], xmm10
|
movdqa [rsp+16], xmm10
|
||||||
movdqa [rsp+32], xmm11
|
movdqa [rsp+32], xmm11
|
||||||
@@ -500,7 +500,7 @@ EECB_END_4:
|
|||||||
movdqa xmm10, [rsp+16]
|
movdqa xmm10, [rsp+16]
|
||||||
movdqa xmm11, [rsp+32]
|
movdqa xmm11, [rsp+32]
|
||||||
movdqa xmm12, [rsp+48]
|
movdqa xmm12, [rsp+48]
|
||||||
add rsp,8+4*64 ; 8 = align stack , 4 xmm9-12 8 bytes each
|
add rsp,8+4*16 ; 8 = align stack , 4 xmm9-12 16 bytes each
|
||||||
ret
|
ret
|
||||||
AES_ECB_encrypt ENDP
|
AES_ECB_encrypt ENDP
|
||||||
|
|
||||||
@@ -531,7 +531,7 @@ AES_ECB_decrypt PROC
|
|||||||
mov r8d,[rsp+40]
|
mov r8d,[rsp+40]
|
||||||
|
|
||||||
; on microsoft xmm6-xmm15 are non volaitle, let's save on stack and restore at end
|
; on microsoft xmm6-xmm15 are non volaitle, let's save on stack and restore at end
|
||||||
sub rsp,8+4*64 ; 8 = align stack , 4 xmm9-12, 8 bytes each
|
sub rsp,8+4*16 ; 8 = align stack , 4 xmm9-12, 16 bytes each
|
||||||
movdqa [rsp+0], xmm9
|
movdqa [rsp+0], xmm9
|
||||||
movdqa [rsp+16], xmm10
|
movdqa [rsp+16], xmm10
|
||||||
movdqa [rsp+32], xmm11
|
movdqa [rsp+32], xmm11
|
||||||
@@ -687,7 +687,7 @@ DECB_END_4:
|
|||||||
movdqa xmm10, [rsp+16]
|
movdqa xmm10, [rsp+16]
|
||||||
movdqa xmm11, [rsp+32]
|
movdqa xmm11, [rsp+32]
|
||||||
movdqa xmm12, [rsp+48]
|
movdqa xmm12, [rsp+48]
|
||||||
add rsp,8+4*64 ; 8 = align stack , 4 xmm9-12 8 bytes each
|
add rsp,8+4*16 ; 8 = align stack , 4 xmm9-12 16 bytes each
|
||||||
ret
|
ret
|
||||||
AES_ECB_decrypt ENDP
|
AES_ECB_decrypt ENDP
|
||||||
|
|
||||||
@@ -790,7 +790,7 @@ AES_192_Key_Expansion PROC
|
|||||||
mov rsi,rdx
|
mov rsi,rdx
|
||||||
|
|
||||||
; on microsoft xmm6-xmm15 are non volaitle, let's save on stack and restore at end
|
; on microsoft xmm6-xmm15 are non volaitle, let's save on stack and restore at end
|
||||||
sub rsp,8+1*64 ; 8 = align stack , 1 xmm6, 8 bytes each
|
sub rsp,8+1*16 ; 8 = align stack , 1 xmm6, 16 bytes each
|
||||||
movdqa [rsp+0], xmm6
|
movdqa [rsp+0], xmm6
|
||||||
|
|
||||||
movdqu xmm1,[rdi]
|
movdqu xmm1,[rdi]
|
||||||
@@ -854,7 +854,7 @@ AES_192_Key_Expansion PROC
|
|||||||
mov rsi,r11
|
mov rsi,r11
|
||||||
; restore non volatile xmms from stack
|
; restore non volatile xmms from stack
|
||||||
movdqa xmm6, [rsp+0]
|
movdqa xmm6, [rsp+0]
|
||||||
add rsp,8+1*64 ; 8 = align stack , 1 xmm6 8 bytes each
|
add rsp,8+1*16 ; 8 = align stack , 1 xmm6 16 bytes each
|
||||||
ret
|
ret
|
||||||
|
|
||||||
PREPARE_ROUNDKEY_192:
|
PREPARE_ROUNDKEY_192:
|
||||||
|
@@ -53,7 +53,7 @@
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef HAVE_NTRU
|
#ifdef HAVE_NTRU
|
||||||
#include "crypto_ntru.h"
|
#include "ntru_crypto.h"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef HAVE_ECC
|
#ifdef HAVE_ECC
|
||||||
@@ -1559,8 +1559,9 @@ static int GetKey(DecodedCert* cert)
|
|||||||
byte* next = (byte*)key;
|
byte* next = (byte*)key;
|
||||||
word16 keyLen;
|
word16 keyLen;
|
||||||
byte keyBlob[MAX_NTRU_KEY_SZ];
|
byte keyBlob[MAX_NTRU_KEY_SZ];
|
||||||
|
word32 rc;
|
||||||
|
|
||||||
word32 rc = crypto_ntru_encrypt_subjectPublicKeyInfo2PublicKey(key,
|
rc = ntru_crypto_ntru_encrypt_subjectPublicKeyInfo2PublicKey(key,
|
||||||
&keyLen, NULL, &next);
|
&keyLen, NULL, &next);
|
||||||
|
|
||||||
if (rc != NTRU_OK)
|
if (rc != NTRU_OK)
|
||||||
@@ -1568,8 +1569,8 @@ static int GetKey(DecodedCert* cert)
|
|||||||
if (keyLen > sizeof(keyBlob))
|
if (keyLen > sizeof(keyBlob))
|
||||||
return ASN_NTRU_KEY_E;
|
return ASN_NTRU_KEY_E;
|
||||||
|
|
||||||
rc = crypto_ntru_encrypt_subjectPublicKeyInfo2PublicKey(key,&keyLen,
|
rc = ntru_crypto_ntru_encrypt_subjectPublicKeyInfo2PublicKey(key,
|
||||||
keyBlob, &next);
|
&keyLen, keyBlob, &next);
|
||||||
if (rc != NTRU_OK)
|
if (rc != NTRU_OK)
|
||||||
return ASN_NTRU_KEY_E;
|
return ASN_NTRU_KEY_E;
|
||||||
|
|
||||||
@@ -5130,14 +5131,14 @@ static int EncodeCert(Cert* cert, DerCert* der, RsaKey* rsaKey, ecc_key* eccKey,
|
|||||||
word32 rc;
|
word32 rc;
|
||||||
word16 encodedSz;
|
word16 encodedSz;
|
||||||
|
|
||||||
rc = crypto_ntru_encrypt_publicKey2SubjectPublicKeyInfo( ntruSz,
|
rc = ntru_crypto_ntru_encrypt_publicKey2SubjectPublicKeyInfo( ntruSz,
|
||||||
ntruKey, &encodedSz, NULL);
|
ntruKey, &encodedSz, NULL);
|
||||||
if (rc != NTRU_OK)
|
if (rc != NTRU_OK)
|
||||||
return PUBLIC_KEY_E;
|
return PUBLIC_KEY_E;
|
||||||
if (encodedSz > MAX_PUBLIC_KEY_SZ)
|
if (encodedSz > MAX_PUBLIC_KEY_SZ)
|
||||||
return PUBLIC_KEY_E;
|
return PUBLIC_KEY_E;
|
||||||
|
|
||||||
rc = crypto_ntru_encrypt_publicKey2SubjectPublicKeyInfo( ntruSz,
|
rc = ntru_crypto_ntru_encrypt_publicKey2SubjectPublicKeyInfo( ntruSz,
|
||||||
ntruKey, &encodedSz, der->publicKey);
|
ntruKey, &encodedSz, der->publicKey);
|
||||||
if (rc != NTRU_OK)
|
if (rc != NTRU_OK)
|
||||||
return PUBLIC_KEY_E;
|
return PUBLIC_KEY_E;
|
||||||
|
@@ -101,7 +101,7 @@
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef HAVE_NTRU
|
#ifdef HAVE_NTRU
|
||||||
#include "crypto_ntru.h"
|
#include "ntru_crypto.h"
|
||||||
#endif
|
#endif
|
||||||
#ifdef HAVE_CAVIUM
|
#ifdef HAVE_CAVIUM
|
||||||
#include "cavium_sysdep.h"
|
#include "cavium_sysdep.h"
|
||||||
@@ -3354,38 +3354,46 @@ int rsa_test(void)
|
|||||||
static uint8_t const pers_str[] = {
|
static uint8_t const pers_str[] = {
|
||||||
'C', 'y', 'a', 'S', 'S', 'L', ' ', 't', 'e', 's', 't'
|
'C', 'y', 'a', 'S', 'S', 'L', ' ', 't', 'e', 's', 't'
|
||||||
};
|
};
|
||||||
word32 rc = crypto_drbg_instantiate(112, pers_str, sizeof(pers_str),
|
word32 rc = ntru_crypto_drbg_instantiate(112, pers_str,
|
||||||
GetEntropy, &drbg);
|
sizeof(pers_str), GetEntropy, &drbg);
|
||||||
if (rc != DRBG_OK) {
|
if (rc != DRBG_OK) {
|
||||||
|
free(derCert);
|
||||||
|
free(pem);
|
||||||
|
return -448;
|
||||||
|
}
|
||||||
|
|
||||||
|
rc = ntru_crypto_ntru_encrypt_keygen(drbg, NTRU_EES401EP2,
|
||||||
|
&public_key_len, NULL,
|
||||||
|
&private_key_len, NULL);
|
||||||
|
if (rc != NTRU_OK) {
|
||||||
|
free(derCert);
|
||||||
|
free(pem);
|
||||||
|
return -449;
|
||||||
|
}
|
||||||
|
|
||||||
|
rc = ntru_crypto_ntru_encrypt_keygen(drbg, NTRU_EES401EP2,
|
||||||
|
&public_key_len, public_key,
|
||||||
|
&private_key_len, private_key);
|
||||||
|
if (rc != NTRU_OK) {
|
||||||
free(derCert);
|
free(derCert);
|
||||||
free(pem);
|
free(pem);
|
||||||
return -450;
|
return -450;
|
||||||
}
|
}
|
||||||
|
|
||||||
rc = crypto_ntru_encrypt_keygen(drbg, NTRU_EES401EP2, &public_key_len,
|
rc = ntru_crypto_drbg_uninstantiate(drbg);
|
||||||
NULL, &private_key_len, NULL);
|
|
||||||
if (rc != NTRU_OK) {
|
if (rc != NTRU_OK) {
|
||||||
free(derCert);
|
free(derCert);
|
||||||
free(pem);
|
free(pem);
|
||||||
return -451;
|
return -451;
|
||||||
}
|
}
|
||||||
|
|
||||||
rc = crypto_ntru_encrypt_keygen(drbg, NTRU_EES401EP2, &public_key_len,
|
|
||||||
public_key, &private_key_len, private_key);
|
|
||||||
crypto_drbg_uninstantiate(drbg);
|
|
||||||
|
|
||||||
if (rc != NTRU_OK) {
|
|
||||||
free(derCert);
|
|
||||||
free(pem);
|
|
||||||
return -452;
|
|
||||||
}
|
|
||||||
|
|
||||||
caFile = fopen(caKeyFile, "rb");
|
caFile = fopen(caKeyFile, "rb");
|
||||||
|
|
||||||
if (!caFile) {
|
if (!caFile) {
|
||||||
free(derCert);
|
free(derCert);
|
||||||
free(pem);
|
free(pem);
|
||||||
return -453;
|
return -452;
|
||||||
}
|
}
|
||||||
|
|
||||||
bytes = fread(tmp, 1, FOURK_BUF, caFile);
|
bytes = fread(tmp, 1, FOURK_BUF, caFile);
|
||||||
@@ -3395,7 +3403,7 @@ int rsa_test(void)
|
|||||||
if (ret != 0) {
|
if (ret != 0) {
|
||||||
free(derCert);
|
free(derCert);
|
||||||
free(pem);
|
free(pem);
|
||||||
return -459;
|
return -453;
|
||||||
}
|
}
|
||||||
ret = RsaPrivateKeyDecode(tmp, &idx3, &caKey, (word32)bytes);
|
ret = RsaPrivateKeyDecode(tmp, &idx3, &caKey, (word32)bytes);
|
||||||
if (ret != 0) {
|
if (ret != 0) {
|
||||||
|
@@ -189,7 +189,7 @@ enum Block_Sum {
|
|||||||
enum Key_Sum {
|
enum Key_Sum {
|
||||||
DSAk = 515,
|
DSAk = 515,
|
||||||
RSAk = 645,
|
RSAk = 645,
|
||||||
NTRUk = 364,
|
NTRUk = 274,
|
||||||
ECDSAk = 518
|
ECDSAk = 518
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@@ -43,19 +43,21 @@
|
|||||||
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||||
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
|
||||||
#serial 6
|
#serial 6.1
|
||||||
|
|
||||||
AC_DEFUN([AX_DEBUG],
|
AC_DEFUN([AX_DEBUG],
|
||||||
[AC_PREREQ([2.63])dnl
|
[AC_PREREQ([2.63])dnl
|
||||||
AC_ARG_ENABLE([debug],
|
AC_ARG_ENABLE([debug],
|
||||||
[AS_HELP_STRING([--enable-debug],
|
[AS_HELP_STRING([--enable-debug],
|
||||||
[Add debug code/turns off optimizations (yes|no) @<:@default=no@:>@])],
|
[Add debug code/turns off optimizations (yes|no) @<:@default=no@:>@])],
|
||||||
[ax_enable_debug=yes
|
[ax_enable_debug=$enableval],
|
||||||
AC_DEFINE([DEBUG],[1],[Define to 1 to enable debugging code.])],
|
[ax_enable_debug=no])
|
||||||
[ax_enable_debug=no
|
|
||||||
AC_SUBST([MCHECK])
|
AS_IF([test "x$ax_enable_debug" = xyes],
|
||||||
|
[AC_DEFINE([DEBUG],[1],[Define to 1 to enable debugging code.])],
|
||||||
|
[AC_SUBST([MCHECK])
|
||||||
AC_DEFINE([DEBUG],[0],[Define to 1 to enable debugging code.])])
|
AC_DEFINE([DEBUG],[0],[Define to 1 to enable debugging code.])])
|
||||||
|
|
||||||
AC_MSG_CHECKING([for debug])
|
AC_MSG_CHECKING([for debug])
|
||||||
AC_MSG_RESULT([$ax_enable_debug])
|
AC_MSG_RESULT([$ax_enable_debug])
|
||||||
AM_CONDITIONAL([DEBUG],[test "x${ax_enable_debug}" = "xyes"])])
|
AM_CONDITIONAL([DEBUG],[test "x${ax_enable_debug}" = xyes])])
|
||||||
|
@@ -35,7 +35,7 @@
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef HAVE_NTRU
|
#ifdef HAVE_NTRU
|
||||||
#include "crypto_ntru.h"
|
#include "ntru_crypto.h"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if defined(DEBUG_CYASSL) || defined(SHOW_SECRETS)
|
#if defined(DEBUG_CYASSL) || defined(SHOW_SECRETS)
|
||||||
@@ -8760,18 +8760,18 @@ static void PickHashSigAlgo(CYASSL* ssl,
|
|||||||
if (ssl->peerNtruKeyPresent == 0)
|
if (ssl->peerNtruKeyPresent == 0)
|
||||||
return NO_PEER_KEY;
|
return NO_PEER_KEY;
|
||||||
|
|
||||||
rc = crypto_drbg_instantiate(MAX_NTRU_BITS, cyasslStr,
|
rc = ntru_crypto_drbg_instantiate(MAX_NTRU_BITS, cyasslStr,
|
||||||
sizeof(cyasslStr), GetEntropy,
|
sizeof(cyasslStr), GetEntropy,
|
||||||
&drbg);
|
&drbg);
|
||||||
if (rc != DRBG_OK)
|
if (rc != DRBG_OK)
|
||||||
return NTRU_DRBG_ERROR;
|
return NTRU_DRBG_ERROR;
|
||||||
|
|
||||||
rc = crypto_ntru_encrypt(drbg, ssl->peerNtruKeyLen,
|
rc = ntru_crypto_ntru_encrypt(drbg, ssl->peerNtruKeyLen,
|
||||||
ssl->peerNtruKey,
|
ssl->peerNtruKey,
|
||||||
ssl->arrays->preMasterSz,
|
ssl->arrays->preMasterSz,
|
||||||
ssl->arrays->preMasterSecret,
|
ssl->arrays->preMasterSecret,
|
||||||
&cipherLen, encSecret);
|
&cipherLen, encSecret);
|
||||||
crypto_drbg_uninstantiate(drbg);
|
ntru_crypto_drbg_uninstantiate(drbg);
|
||||||
if (rc != NTRU_OK)
|
if (rc != NTRU_OK)
|
||||||
return NTRU_ENCRYPT_ERROR;
|
return NTRU_ENCRYPT_ERROR;
|
||||||
|
|
||||||
@@ -11629,7 +11629,7 @@ static void PickHashSigAlgo(CYASSL* ssl,
|
|||||||
if ((*inOutIdx - begin) + cipherLen > size)
|
if ((*inOutIdx - begin) + cipherLen > size)
|
||||||
return BUFFER_ERROR;
|
return BUFFER_ERROR;
|
||||||
|
|
||||||
if (NTRU_OK != crypto_ntru_decrypt(
|
if (NTRU_OK != ntru_crypto_ntru_decrypt(
|
||||||
(word16) ssl->buffers.key.length,
|
(word16) ssl->buffers.key.length,
|
||||||
ssl->buffers.key.buffer, cipherLen,
|
ssl->buffers.key.buffer, cipherLen,
|
||||||
input + *inOutIdx, &plainLen,
|
input + *inOutIdx, &plainLen,
|
||||||
|
Reference in New Issue
Block a user