1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-05-31 11:18:11 +00:00
serenity/Libraries/LibCrypto
DexesTTP 28ea347e55 LibCrypto: Added static non-allocating UnsignedBigInteger operators
This changes the plus, minus, etc... operators from UnsignedBigInteger to use a
static helper method. The static methods do not allocate any variables, instead
all the required BigInteger output and temporary variables are required on call
as parameters.

This change already optimizes the number of allocations in complex operations
such as multiply or divide, by having a single allocation per call (instead of
one per loop).

This new API also provides a way to limit the number of allocations for complex
computations in other parts of the code. This is done by using these helpers in
any place that currently makes use of the standard operators.
2020-05-03 14:31:26 +02:00
..
ASN1 LibCrypto+LibTLS: Reformat everything 2020-05-02 12:24:10 +02:00
Authentication LibCrypto: Add a Hash::Manager that can act as any one of the hashes 2020-05-02 12:24:10 +02:00
BigInt LibCrypto: Added static non-allocating UnsignedBigInteger operators 2020-05-03 14:31:26 +02:00
Cipher LibCrypto: Correct RFC5246 un-padding behaviour 2020-05-03 11:46:40 +02:00
Hash LibTLS: Switch to Hash::Manager for hashing and add SHA1 2020-05-02 12:24:10 +02:00
NumberTheory LibCrypto: Rename UnsignedBigInteger APIs to match their actions 2020-05-02 12:24:10 +02:00
PK LibCrypto: Rename UnsignedBigInteger APIs to match their actions 2020-05-02 12:24:10 +02:00
Makefile LibCrypto: Implement SHA1 Hash Function 2020-05-02 12:24:10 +02:00