Port a fix for chacha counter issue on ppc64le
This commit is contained in:
parent
39392331f6
commit
b460f49614
51
nettle-3.7-chacha-counter-ppc64.patch
Normal file
51
nettle-3.7-chacha-counter-ppc64.patch
Normal file
@ -0,0 +1,51 @@
|
|||||||
|
From 64837b2e433e2b99b893683949bad3a99acab38f Mon Sep 17 00:00:00 2001
|
||||||
|
From: =?UTF-8?q?Niels=20M=C3=B6ller?= <nisse@lysator.liu.se>
|
||||||
|
Date: Wed, 10 Feb 2021 11:22:23 +0100
|
||||||
|
Subject: [PATCH] Fix chacha counter update for _4core variants.
|
||||||
|
|
||||||
|
---
|
||||||
|
ChangeLog | 4 ++++
|
||||||
|
chacha-crypt.c | 10 +++++++---
|
||||||
|
2 files changed, 11 insertions(+), 3 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/chacha-crypt.c b/chacha-crypt.c
|
||||||
|
index 081ebcf4..1fdfc813 100644
|
||||||
|
--- a/chacha-crypt.c
|
||||||
|
+++ b/chacha-crypt.c
|
||||||
|
@@ -80,13 +80,16 @@ _nettle_chacha_crypt_4core(struct chacha_ctx *ctx,
|
||||||
|
while (length > 2*CHACHA_BLOCK_SIZE)
|
||||||
|
{
|
||||||
|
_nettle_chacha_4core (x, ctx->state, CHACHA_ROUNDS);
|
||||||
|
- ctx->state[12] += 4;
|
||||||
|
- ctx->state[13] += (ctx->state[12] < 4);
|
||||||
|
if (length <= 4*CHACHA_BLOCK_SIZE)
|
||||||
|
{
|
||||||
|
+ uint32_t incr = 3 + (length > 3*CHACHA_BLOCK_SIZE);
|
||||||
|
+ ctx->state[12] += incr;
|
||||||
|
+ ctx->state[13] += (ctx->state[12] < incr);
|
||||||
|
memxor3 (dst, src, x, length);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
+ ctx->state[12] += 4;
|
||||||
|
+ ctx->state[13] += (ctx->state[12] < 4);
|
||||||
|
memxor3 (dst, src, x, 4*CHACHA_BLOCK_SIZE);
|
||||||
|
|
||||||
|
length -= 4*CHACHA_BLOCK_SIZE;
|
||||||
|
@@ -200,12 +203,13 @@ _nettle_chacha_crypt32_4core(struct chacha_ctx *ctx,
|
||||||
|
while (length > 2*CHACHA_BLOCK_SIZE)
|
||||||
|
{
|
||||||
|
_nettle_chacha_4core32 (x, ctx->state, CHACHA_ROUNDS);
|
||||||
|
- ctx->state[12] += 4;
|
||||||
|
if (length <= 4*CHACHA_BLOCK_SIZE)
|
||||||
|
{
|
||||||
|
+ ctx->state[12] += 3 + (length > 3*CHACHA_BLOCK_SIZE);
|
||||||
|
memxor3 (dst, src, x, length);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
+ ctx->state[12] += 4;
|
||||||
|
memxor3 (dst, src, x, 4*CHACHA_BLOCK_SIZE);
|
||||||
|
|
||||||
|
length -= 4*CHACHA_BLOCK_SIZE;
|
||||||
|
--
|
||||||
|
2.29.2
|
||||||
|
|
@ -15,7 +15,7 @@
|
|||||||
|
|
||||||
Name: nettle
|
Name: nettle
|
||||||
Version: 3.7
|
Version: 3.7
|
||||||
Release: 2%{?dist}
|
Release: 3%{?dist}
|
||||||
Summary: A low-level cryptographic library
|
Summary: A low-level cryptographic library
|
||||||
|
|
||||||
License: LGPLv3+ or GPLv2+
|
License: LGPLv3+ or GPLv2+
|
||||||
@ -28,6 +28,8 @@ Source2: nettle-3.5-remove-ecc-testsuite.patch
|
|||||||
%endif
|
%endif
|
||||||
Patch0: nettle-3.6-remove-ecc-testsuite.patch
|
Patch0: nettle-3.6-remove-ecc-testsuite.patch
|
||||||
Patch1: nettle-3.4-annocheck.patch
|
Patch1: nettle-3.4-annocheck.patch
|
||||||
|
# https://lists.lysator.liu.se/pipermail/nettle-bugs/2021/009423.html
|
||||||
|
Patch2: nettle-3.7-chacha-counter-ppc64.patch
|
||||||
|
|
||||||
BuildRequires: make
|
BuildRequires: make
|
||||||
BuildRequires: gcc
|
BuildRequires: gcc
|
||||||
@ -171,6 +173,9 @@ make check
|
|||||||
|
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Wed Feb 10 2021 Daiki Ueno <dueno@redhat.com> - 3.7-3
|
||||||
|
- Port a fix for chacha counter issue on ppc64le
|
||||||
|
|
||||||
* Tue Jan 26 2021 Fedora Release Engineering <releng@fedoraproject.org> - 3.7-2
|
* Tue Jan 26 2021 Fedora Release Engineering <releng@fedoraproject.org> - 3.7-2
|
||||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user