simon-git: putty (master): Simon Tatham
Commits to Tartarus hosted VCS
tartarus-commits at lists.tartarus.org
Fri Oct 20 23:37:23 BST 2017
TL;DR:
5592312 AES: remove support for block sizes other than 128 bits.
0816e2b AES: fold the core and outer routines together.
e8be7ea AES: 16-byte align the key schedule arrays.
2d31305 Alternative AES routines, using x86 hardware support.
0a0a1c0 Additional copyright holders, from the AES-NI work.
Repository: https://git.tartarus.org/simon/putty.git
On the web: https://git.tartarus.org/?p=simon/putty.git
Branch updated: master
Committer: Simon Tatham <anakin at pobox.com>
Date: 2017-10-20 23:37:23
commit 5592312636988869517026b6b8ead0a0dfd45266
web diff https://git.tartarus.org/?p=simon/putty.git;a=commitdiff;h=5592312636988869517026b6b8ead0a0dfd45266;hp=4dfadcfb2643fe3b54bb29277ca73bc5ba647208
Author: Pavel I. Kryukov <kryukov at frtk.ru>
Date: Fri Oct 20 19:13:21 2017 +0100
AES: remove support for block sizes other than 128 bits.
They're not really part of AES at all, in that they were part of the
Rijndael design but not part of the subset standardised by NIST. More
relevantly, they're not used by any SSH cipher definition, so they're
just adding complexity to the code which is about to get in the way of
refactoring it.
Removing them means there's only one pair of core encrypt/decrypt
functions, so the 'encrypt' and 'decrypt' function pointer fields can
be completely removed from AESContext.
sshaes.c | 277 +++++++++------------------------------------------------------
1 file changed, 40 insertions(+), 237 deletions(-)
commit 0816e2b1a019e97b37eb6007c34f0c58c257635c
web diff https://git.tartarus.org/?p=simon/putty.git;a=commitdiff;h=0816e2b1a019e97b37eb6007c34f0c58c257635c;hp=5592312636988869517026b6b8ead0a0dfd45266
Author: Pavel I. Kryukov <kryukov at frtk.ru>
Date: Fri Oct 20 19:13:39 2017 +0100
AES: fold the core and outer routines together.
The outer routines are the ones which handle the CBC encrypt, CBC
decrypt and SDCTR cipher modes. Previously each of those had to be
able to dispatch to one of the per-block-size core routines, which
made it worth dividing the system up into two layers. But now there's
only one set of core routines, they may as well be inlined into the
outer ones.
Also as part of this commit, the nasty undef/redef of MAKEWORD and
LASTWORD have been removed, and the different macro definitions now
have different macro _names_, to make it clearer which one is used
where.
sshaes.c | 277 ++++++++++++++++++++++++++++++++-------------------------------
1 file changed, 142 insertions(+), 135 deletions(-)
commit e8be7ea98a4c21a839dcd4b75dc62688778bdde8
web diff https://git.tartarus.org/?p=simon/putty.git;a=commitdiff;h=e8be7ea98a4c21a839dcd4b75dc62688778bdde8;hp=0816e2b1a019e97b37eb6007c34f0c58c257635c
Author: Pavel I. Kryukov <kryukov at frtk.ru>
Date: Fri Oct 20 19:13:47 2017 +0100
AES: 16-byte align the key schedule arrays.
This is going to be important in the next commit, when we start
accessing them using x86 SSE instructions.
sshaes.c | 16 ++++++++++++++--
1 file changed, 14 insertions(+), 2 deletions(-)
commit 2d31305af9d3bf4096bb0c30e8a8336caaa70673
web diff https://git.tartarus.org/?p=simon/putty.git;a=commitdiff;h=2d31305af9d3bf4096bb0c30e8a8336caaa70673;hp=e8be7ea98a4c21a839dcd4b75dc62688778bdde8
Author: Pavel I. Kryukov <kryukov at frtk.ru>
Date: Fri Oct 20 19:13:54 2017 +0100
Alternative AES routines, using x86 hardware support.
The new AES routines are compiled into the code on any platform where
the compiler can be made to generate the necessary AES-NI and SSE
instructions. But not every CPU will support those instructions, so
the pure-software routines haven't gone away: both sets of functions
sit side by side in the code, and at key setup time we check the CPUID
bitmap to decide which set to select.
(This reintroduces function pointers into AESContext, replacing the
ones that we managed to remove a few commits ago.)
sshaes.c | 667 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-
1 file changed, 661 insertions(+), 6 deletions(-)
commit 0a0a1c01d7cc6ca750d39f43b902e86987c5d376
web diff https://git.tartarus.org/?p=simon/putty.git;a=commitdiff;h=0a0a1c01d7cc6ca750d39f43b902e86987c5d376;hp=2d31305af9d3bf4096bb0c30e8a8336caaa70673
Author: Simon Tatham <anakin at pobox.com>
Date: Fri Oct 20 19:14:41 2017 +0100
Additional copyright holders, from the AES-NI work.
LICENCE | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
More information about the tartarus-commits
mailing list