serenity/Userland/Libraries/LibCrypto
Michiel Visser 37da5cb3b3 LibCrypto: Correctly add length to SHA384 and SHA512 hashes
The SHA384 and SHA512 hashes would produce incorrect results for data
where the length % 128 was in the range 112-119. This was because the
total number of bits in the hashed values was added at the end as a
64-bit number instead of a 128-bit number. In most cases this would not
cause any issues, as this space was padded with zeroes, however in the
case that the length % 128 was 112-119, some incorrect data ended up
where this 128-bit length value was expected.

This change fixes the problems in LibTLS where some websites would
result in a DecryptError on handshake.
2022-03-26 02:25:23 +04:30
..
ASN1 AK+Userland: Make AK::decode_base64 return ErrorOr 2022-01-24 22:36:09 +01:00
Authentication LibCrypto: Exclude class_name() methods from the Kernel 2022-02-16 22:21:37 +01:00
BigInt Libraries: Use default constructors/destructors in LibCrypto 2022-03-10 18:04:26 -08:00
Checksum Libraries: Use default constructors/destructors in LibCrypto 2022-03-10 18:04:26 -08:00
Cipher LibCrypto: Use AK::timing_safe_compare to validate sensitive data 2022-03-13 19:08:58 -07:00
Curves LibCrypto: Move all elliptic curve private methods into .cpp 2022-03-20 00:51:50 +03:30
Hash LibCrypto: Correctly add length to SHA384 and SHA512 hashes 2022-03-26 02:25:23 +04:30
NumberTheory Everywhere: Convert ByteBuffer factory methods from Optional -> ErrorOr 2022-01-24 22:36:09 +01:00
PK LibCrypto: Use AK::timing_safe_compare to validate sensitive data 2022-03-13 19:08:58 -07:00
CMakeLists.txt LibCrypto: Implement the SECP256r1 elliptic curve 2022-03-18 07:56:47 +03:30
Forward.h LibCrypto: Add the BigInteger concept 2021-12-22 11:27:31 +01:00
Verification.h AK+Userland: Use mpfard@serenityos.org for my copyright headers 2021-04-22 22:19:09 +02:00