1
0
mirror of https://git.tartarus.org/simon/putty.git synced 2025-01-09 17:38:00 +00:00
putty-source/windows
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
..
installer.wxs Whitespace rationalisation of entire code base. 2019-09-08 20:29:21 +01:00
make_install_images.sh Remove white dialog background in MSI user interface. 2020-06-21 16:39:47 +01:00
msifixup.py Remove white dialog background in MSI user interface. 2020-06-21 16:39:47 +01:00
pageant.ico Tweak the icon script, and the generated icons, to more closely 2007-01-07 10:17:12 +00:00
pageant.mft Whitespace rationalisation of entire code base. 2019-09-08 20:29:21 +01:00
pageant.rc Grow the Windows Licence dialog. 2019-03-18 20:32:55 +00:00
pageants.ico Tweak the icon script, and the generated icons, to more closely 2007-01-07 10:17:12 +00:00
plink.rc
pscp.ico Tweak the icon script, and the generated icons, to more closely 2007-01-07 10:17:12 +00:00
pscp.rc
psftp.rc
putty.ico Tweak the icon script, and the generated icons, to more closely 2007-01-07 10:17:12 +00:00
putty.mft Whitespace rationalisation of entire code base. 2019-09-08 20:29:21 +01:00
putty.rc Add support for the SUPDUP protocol. 2020-03-10 07:11:32 +00:00
puttycfg.ico Tweak the icon script, and the generated icons, to more closely 2007-01-07 10:17:12 +00:00
puttygen.ico Tweak the icon script, and the generated icons, to more closely 2007-01-07 10:17:12 +00:00
puttygen.mft Whitespace rationalisation of entire code base. 2019-09-08 20:29:21 +01:00
puttygen.rc Grow the Windows Licence dialog. 2019-03-18 20:32:55 +00:00
puttyins.ico `installer.ico' doesn't fit into 8.3, so gets truncated to INSTALLE.ICO in 2007-02-06 22:39:15 +00:00
puttytel.mft Whitespace rationalisation of entire code base. 2019-09-08 20:29:21 +01:00
puttytel.rc Tweak version string resources for EMBED_CHM. 2019-03-16 12:25:23 +00:00
rcstuff.h Remove Makefile.bor. 2017-09-13 19:26:28 +01:00
README-msi.txt Remove note about .CHM on network drives. 2019-03-18 21:53:45 +00:00
sizetip.c Formatting change to braces around one case of a switch. 2020-02-16 11:26:21 +00:00
version.rc2 FIXME about Windows resource CHMfulness hint. 2019-03-18 22:02:13 +00:00
website.url Switch chiark URLs to https. 2017-05-07 16:29:01 +01:00
win_res.h Stop looking for putty.chm alongside the binary. 2019-03-16 12:25:23 +00:00
win_res.rc2 Grow the Windows Licence dialog. 2019-03-18 20:32:55 +00:00
wincapi.c Stop using GLOBAL Windows API function pointers. 2020-02-02 10:02:10 +00:00
wincapi.h Stop using GLOBAL Windows API function pointers. 2020-02-02 10:02:10 +00:00
wincfg.c Rework per-backend GUI configuration. 2020-03-10 21:27:57 +00:00
wincliloop.c Fix out-of-bounds access in Windows CLI tools. 2021-01-26 12:41:26 +00:00
wincons.c Work around console I/O size limit on Windows 7. 2020-02-09 08:51:37 +00:00
winctrls.c Formatting change to braces around one case of a switch. 2020-02-16 11:26:21 +00:00
windefs.c Whitespace rationalisation of entire code base. 2019-09-08 20:29:21 +01:00
windlg.c Change vtable defs to use C99 designated initialisers. 2020-03-10 21:06:29 +00:00
window.c Add another missing window-border recalculation. 2021-02-15 19:48:10 +00:00
wingss.c Make dupcat() into a variadic macro. 2019-10-14 19:42:37 +01:00
winhandl.c Fix a few 'triple letter in place of double' typos. 2021-01-17 09:18:42 +00:00
winhelp.c Remove most traces of WinHelp support. 2019-03-26 00:27:04 +00:00
winhelp.h Merge the 0.74 release branch back to master. 2020-06-27 08:11:22 +01:00
winhelp.rc2 Tweak version string resources for EMBED_CHM. 2019-03-16 12:25:23 +00:00
winhsock.c Change vtable defs to use C99 designated initialisers. 2020-03-10 21:06:29 +00:00
winjump.c Make dupcat() into a variadic macro. 2019-10-14 19:42:37 +01:00
winmisc.c Make dupcat() into a variadic macro. 2019-10-14 19:42:37 +01:00
winmiscs.c Hardware-accelerated SHA-512 on the Arm architecture. 2020-12-24 15:39:54 +00:00
winnet.c Cleanup: add some calls to dupstr. 2021-01-21 19:57:38 +00:00
winnohlp.c Stop looking for putty.chm alongside the binary. 2019-03-16 12:25:23 +00:00
winnoise.c Whitespace rationalisation of entire code base. 2019-09-08 20:29:21 +01:00
winnojmp.c Fix up svn:eol-style and svn:keywords on new files. 2010-12-27 00:24:48 +00:00
winnpc.c winnpc.c: add low-level connect_to_named_pipe() function. 2020-01-04 13:52:22 +00:00
winnps.c Change vtable defs to use C99 designated initialisers. 2020-03-10 21:06:29 +00:00
winpgen.c Introduce PPK file format version 3. 2021-02-20 16:57:47 +00:00
winpgnt.c Windows Pageant: initial work on deferred decryption. 2020-03-21 15:59:51 +00:00
winpgntc.c Add lots of missing 'static' keywords. 2020-01-29 06:44:18 +00:00
winplink.c Document -logoverwrite and -logappend. 2020-11-25 15:12:56 +00:00
winprint.c Whitespace rationalisation of entire code base. 2019-09-08 20:29:21 +01:00
winproxy.c Make the plug_log type code into an enum. 2020-02-07 19:17:45 +00:00
winseat.h GUI PuTTY: stop using the global 'hwnd'. 2020-02-02 10:02:10 +00:00
winsecur.c Stop using GLOBAL Windows API function pointers. 2020-02-02 10:02:10 +00:00
winsecur.h Stop using GLOBAL Windows API function pointers. 2020-02-02 10:02:10 +00:00
winselcli.c Const-correctness in do_select() return value. 2020-01-04 13:52:22 +00:00
winselgui.c Const-correctness in do_select() return value. 2020-01-04 13:52:22 +00:00
winser.c Improve stop-bits messages in serial setup. 2020-06-14 15:49:36 +01:00
winsftp.c winsftp.c: avoid creating multiple netevents. 2020-02-09 08:19:21 +00:00
winshare.c Move obfuscate_name out of winshare.c. 2020-01-04 13:52:22 +00:00
winsocks.c Auxiliary application: 'psocks', a simple SOCKS server. 2020-02-23 16:36:27 +00:00
winstore.c Make dupcat() into a variadic macro. 2019-10-14 19:42:37 +01:00
winstuff.h winsftp.c: avoid creating multiple netevents. 2020-02-09 08:19:21 +00:00
wintime.c wintime: add a precautionary memset to zero. 2017-02-14 23:25:25 +00:00
winucs.c Whitespace rationalisation of entire code base. 2019-09-08 20:29:21 +01:00
winutils.c Stop winutils.c from depending on the global HWND. 2020-02-02 10:02:10 +00:00
winx11.c Whitespace rationalisation of entire code base. 2019-09-08 20:29:21 +01:00