mirror of
https://github.com/sshnet/SSH.NET.git
synced 2026-09-10 01:05:42 +00:00
8ea108af1c
This drops some of the algorithms long-considered legacy/insecure. The idea is both to improve the theoretical security of the library by not offering these algorithms, and to improve the practical security of the library by not having hand-written, barely tested crypto code. The overarching goal is for the library to have minimal exposure to crypto implementation, relying firstly on the .NET base libraries, and secondly on third-party providers, such as BouncyCastle. This change covers deleting the cipher algorithms arcfour, blowfish, twofish, cast. It covers deleting the MD5-based and truncated HMAC algorithms. These were all disabled in OpenSSH server (sshd) in 2014[^1]: > sshd(8): The default set of ciphers and MACs has been altered to > remove unsafe algorithms. In particular, CBC ciphers and arcfour* > are disabled by default. > > The full set of algorithms remains available if configured > explicitly via the Ciphers and MACs sshd_config options. and in the client in 2016[^2]: > This release disables a number of legacy cryptographic algorithms > by default in ssh: > > * Several ciphers blowfish-cbc, cast128-cbc, all arcfour variants > and the rijndael-cbc aliases for AES. > > * MD5-based and truncated HMAC algorithms. > > These algorithms are already disabled by default in sshd. This change also drops PKCS5Padding, which is a line-for-line copy of PKCS7Padding, and StreamCipher, which is now unused (and useless anyway). [^1]: https://www.openssh.com/txt/release-6.7 [^2]: https://www.openssh.com/txt/release-7.2 Co-authored-by: Wojciech Nagórski <wojtpl2@gmail.com>