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

Aes(Uint8List key)
Expands key (16, 24, or 32 bytes) into round keys for both directions.

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) into output[outputOffset..+16) (may alias).
encryptBlock(Uint8List input, int inputOffset, Uint8List output, int outputOffset) → void
Encrypts the block at input[inputOffset..+16) into output[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