Aes class final
AES block cipher (FIPS-197), key sizes 128/192/256.
This is the raw 16-byte block transform; chaining modes live in
aes_modes.dart. The implementation is the classic T-table software
AES (four 1 KiB lookup tables per direction, four lookups + XORs per
column per round); the tables and S-boxes are generated from the
GF(2^8) definitions at first use rather than transcribed, and the FIPS
/ SP 800-38A vector tests pin the result.
Not constant-time (table lookups are data-dependent), an accepted
non-goal for archive reading, recorded in doc/encryption-scope.md.
All arithmetic stays within unsigned 32-bit range (dart2js-exact).
Constructors
Properties
- hashCode → int
-
The hash code for this object.
no setterinherited
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
Methods
-
decryptBlock(
Uint8List input, int inputOffset, Uint8List output, int outputOffset) → void -
Decrypts the block at
input[inputOffset..+16)intooutput[outputOffset..+16)(may alias). -
encryptBlock(
Uint8List input, int inputOffset, Uint8List output, int outputOffset) → void -
Encrypts the block at
input[inputOffset..+16)intooutput[outputOffset..+16)(may alias). -
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
toString(
) → String -
A string representation of this object.
inherited
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited