CHACHA_BLK_SIZE
if (len > CHACHA_BLK_SIZE && RISCV_HAS_ZBB() && riscv_vlen() >= 128
blocks *= CHACHA_BLK_SIZE;
ChaCha20_ctr32(key->buf, key->buf, CHACHA_BLK_SIZE,
static const unsigned char zero[4 * CHACHA_BLK_SIZE] = { 0 };
static const unsigned char zero[2 * CHACHA_BLK_SIZE] = { 0 };
ctr = buf + CHACHA_BLK_SIZE;
tohash = buf + CHACHA_BLK_SIZE - POLY1305_BLOCK_SIZE;
if (plen <= 3 * CHACHA_BLK_SIZE) {
buf_len = (plen + 2 * CHACHA_BLK_SIZE - 1) & (0 - CHACHA_BLK_SIZE);
if (plen <= CHACHA_BLK_SIZE) {
ChaCha20_ctr32(buf, zero, (buf_len = 2 * CHACHA_BLK_SIZE),
unsigned char buf[CHACHA_BLK_SIZE];
ChaCha20_ctr32(buf, zero, (buf_len = CHACHA_BLK_SIZE),
static const unsigned char zero[CHACHA_BLK_SIZE] = { 0 };
ChaCha20_ctr32(actx->key.buf, zero, CHACHA_BLK_SIZE,
while (len && n < CHACHA_BLK_SIZE) {
if (n == CHACHA_BLK_SIZE) {
rem = (unsigned int)(len % CHACHA_BLK_SIZE);
while (len >= CHACHA_BLK_SIZE) {
size_t blocks = len / CHACHA_BLK_SIZE;
unsigned char buf[CHACHA_BLK_SIZE];
ChaCha20_ctr32(ctx->buf, ctx->buf, CHACHA_BLK_SIZE,
while (inl > 0 && n < CHACHA_BLK_SIZE) {
if (n == CHACHA_BLK_SIZE) {
rem = (unsigned int)(inl % CHACHA_BLK_SIZE);
while (inl >= CHACHA_BLK_SIZE) {
size_t blocks = inl / CHACHA_BLK_SIZE;
blocks *= CHACHA_BLK_SIZE;
static const unsigned char zero[4 * CHACHA_BLK_SIZE] = { 0 };
static const unsigned char zero[2 * CHACHA_BLK_SIZE] = { 0 };
ctr = buf + CHACHA_BLK_SIZE;
tohash = buf + CHACHA_BLK_SIZE - POLY1305_BLOCK_SIZE;
if (plen <= 3 * CHACHA_BLK_SIZE) {
buf_len = (plen + 2 * CHACHA_BLK_SIZE - 1) & (0 - CHACHA_BLK_SIZE);
if (plen <= CHACHA_BLK_SIZE) {
ChaCha20_ctr32(buf, zero, (buf_len = 2 * CHACHA_BLK_SIZE),
ChaCha20_ctr32(buf, zero, (buf_len = CHACHA_BLK_SIZE),
static const unsigned char zero[CHACHA_BLK_SIZE] = { 0 };
ChaCha20_ctr32(ctx->chacha.buf, zero, CHACHA_BLK_SIZE,
CHACHA_BLK_SIZE);
next_counter = counter[0] + todo / CHACHA_BLK_SIZE;
todo -= next_counter * CHACHA_BLK_SIZE;
crypto_cursor_copyback(&cc_out, CHACHA_BLK_SIZE, block);
ChaCha20_ctr32(block, block, CHACHA_BLK_SIZE, key, counter);
_Alignas(8) unsigned char block[CHACHA_BLK_SIZE];
while (resid >= CHACHA_BLK_SIZE) {
if (inlen < CHACHA_BLK_SIZE) {
crypto_cursor_copydata(&cc_in, CHACHA_BLK_SIZE, block);
inlen = CHACHA_BLK_SIZE;
if (outlen < CHACHA_BLK_SIZE) {
outlen = CHACHA_BLK_SIZE;
CHACHA_BLK_SIZE);
next_counter = counter[0] + todo / CHACHA_BLK_SIZE;
todo -= next_counter * CHACHA_BLK_SIZE;
crypto_cursor_copyback(&cc_out, CHACHA_BLK_SIZE, block);
ChaCha20_ctr32(block, block, CHACHA_BLK_SIZE, key, counter);
_Alignas(8) unsigned char block[CHACHA_BLK_SIZE];
while (resid >= CHACHA_BLK_SIZE) {
if (inlen < CHACHA_BLK_SIZE) {
crypto_cursor_copydata(&cc_in, CHACHA_BLK_SIZE, block);
inlen = CHACHA_BLK_SIZE;
if (outlen < CHACHA_BLK_SIZE) {
outlen = CHACHA_BLK_SIZE;
CHACHA_BLK_SIZE);
next_counter = counter[0] + todo / CHACHA_BLK_SIZE;
todo -= next_counter * CHACHA_BLK_SIZE;
crypto_cursor_copyback(&cc_out, CHACHA_BLK_SIZE, block);
ChaCha20_ctr32(block, block, CHACHA_BLK_SIZE, key, counter);
.blocksize = CHACHA_BLK_SIZE,
unsigned char block[CHACHA_BLK_SIZE];
while (resid >= CHACHA_BLK_SIZE) {
if (inlen < CHACHA_BLK_SIZE) {
crypto_cursor_copydata(&cc_in, CHACHA_BLK_SIZE, block);
inlen = CHACHA_BLK_SIZE;
if (outlen < CHACHA_BLK_SIZE) {
outlen = CHACHA_BLK_SIZE;