1
0
mirror of https://git.tartarus.org/simon/putty.git synced 2025-01-09 17:38:00 +00:00
putty-source/test
Simon Tatham 08d17140a0 Introduce PPK file format version 3.
This removes both uses of SHA-1 in the file format: it was used as the
MAC protecting the key file against tamperproofing, and also used in
the key derivation step that converted the user's passphrase to cipher
and MAC keys.

The MAC is simply upgraded from HMAC-SHA-1 to HMAC-SHA-256; it is
otherwise unchanged in how it's applied (in particular, to what data).

The key derivation is totally reworked, to be based on Argon2, which
I've just added to the code base. This should make stolen encrypted
key files more resistant to brute-force attack.

Argon2 has assorted configurable parameters for memory and CPU usage;
the new key format includes all those parameters. So there's no reason
we can't have them under user control, if a user wants to be
particularly vigorous or particularly lightweight with their own key
files. They could even switch to one of the other flavours of Argon2,
if they thought side channels were an especially large or small risk
in their particular environment. In this commit I haven't added any UI
for controlling that kind of thing, but the PPK loading function is
all set up to cope, so that can all be added in a future commit
without having to change the file format.

While I'm at it, I've also switched the CBC encryption to using a
random IV (or rather, one derived from the passphrase along with the
cipher and MAC keys). That's more like normal SSH-2 practice.
2021-02-20 16:57:47 +00:00
..
sclog sclog: add missing instr_set_translation. 2020-12-16 09:27:40 +00:00
agenttest.py Migrate all Python scripts to Python 3. 2020-03-04 21:23:49 +00:00
agenttestdata.py New test script 'agenttest.py' for testing Pageant. 2020-01-09 19:57:35 +00:00
agenttestgen.py RSA generation: option to generate strong primes. 2020-03-07 11:37:31 +00:00
colours.txt Rename the 'testdata' subdirectory to 'test'. 2019-01-03 16:56:02 +00:00
cryptsuite.py Introduce PPK file format version 3. 2021-02-20 16:57:47 +00:00
desref.py Migrate all Python scripts to Python 3. 2020-03-04 21:23:49 +00:00
display.txt Add SGR 9 strikethrough to test file. 2020-08-13 23:54:58 +01:00
eccref.py Migrate all Python scripts to Python 3. 2020-03-04 21:23:49 +00:00
lattrs.txt Rename the 'testdata' subdirectory to 'test'. 2019-01-03 16:56:02 +00:00
mpu-check.pl Generate MPU certificates for proven primes. 2020-03-07 11:24:12 +00:00
numbertheory.py test/numbertheory.py: fix comment wording. 2020-05-03 11:18:50 +01:00
primegen.py Command-line prime-generation testing tool. 2020-03-07 11:37:31 +00:00
scocols.txt Rename the 'testdata' subdirectory to 'test'. 2019-01-03 16:56:02 +00:00
ssh.py Migrate all Python scripts to Python 3. 2020-03-04 21:23:49 +00:00
testcrypt.py Add implementation of the Argon2 password hash. 2021-02-20 16:51:29 +00:00
utf8.txt Rename the 'testdata' subdirectory to 'test'. 2019-01-03 16:56:02 +00:00
vt100.txt Rename the 'testdata' subdirectory to 'test'. 2019-01-03 16:56:02 +00:00
windowchange.py Test program for ancillary window updates. 2021-02-07 19:59:21 +00:00