mirror of
https://github.com/sshnet/SSH.NET.git
synced 2026-09-10 09:15:47 +00:00
4ce18d305e
* Add FEATURE_AES_CSP to use hardware-accelerated AesCryptoServiceProvider Reduces CPU usage dramatically, allowing more performance on slower machines * Restructure, move most of the feature code to AesCipher.cs Fix padding for non-AES blockciphers Fix IV exception for non-AES blockciphers * Fix the AES Padding It looks like the legacy code doesn't correctly remove padding, so this code needs to do the same. * fix rebase issues restructure AES CSP code into its own class * Minor fixes * Rework based on suggestions * Move all changes to AesCypher.cs, as per Rob-Hague suggestion Remove FEATURE_AES_CSP conditional Fix OFB CipherMode * update AesCipherTest.cs generator * Fix continuous session encrypt/decrypt (preserve IV between calls when Padding is None) * Reduce CTR memory usage in Net 6+ Small performance increase in CTR buffer mode Cosmetic changes * Factor out the implementations and re-add the existing constructor * remove ctor; revert tests; remove unused _iv member * Reorder Encryption cipher preference list * Remove redundant AES tests Add tests for stream cipher state preservation * Refactor ArrayXOR() * Add test for IV overflow * Performance bump for AES CTR (thanks @robhague) * fix merge conflict * Move AesCipherMode enum to its own file --------- Co-authored-by: Pedro Fonseca <pfonseca@qti.qualcomm.com> Co-authored-by: Rob Hague <rob.hague00@gmail.com>