Displaying 2 results from an estimated 2 matches for "poke_u64".
2020 Jan 16
3
[patch 1/2] use chacha20 from openssl (1.1.0+) when possible
...;
+#endif
int r = SSH_ERR_LIBCRYPTO_ERROR;
#else
u_char seqbuf[8];
@@ -125,7 +132,7 @@ chachapoly_crypt(struct chachapoly_ctx *ctx, u_int
seqnr, u_char *dest,
memset(poly_key, 0, sizeof(poly_key));
#if defined(WITH_OPENSSL) && defined(HAVE_EVP_CHACHA20)
memset(seqbuf + 0, 0, 8);
- POKE_U64(seqbuf + 8, seqnr);
+ POKE_U64(seqbuf + CHACHA_IV_OFFSET, seqnr);
if (!EVP_CipherInit(ctx->main_evp, NULL, NULL, seqbuf,
do_encrypt))
goto out;
if (EVP_Cipher(ctx->main_evp, poly_key, (u_char *)poly_key,
sizeof(poly_key)) < 0)
For the do_encrypt, you are right. Chacha20 is stream c...
2019 Jan 17
3
[patch 1/2] use chacha20 from openssl (1.1.0+) when possible
On some cpu's optimized chacha implementation in openssl (1.1.0+) is
notably faster (and on others it is just faster) than generic C
implementation in openssh.
Sadly, openssl's chacha20-poly1305 (EVP_chacha20_poly1305) uses
different scheme (with padding/etc - see rfc8439) and it looks it is not
possible to use in openssh.
OpenSSL 1.1.1+ also exports "raw" poly1305 primitive,