rijndael library
Rijndael (AES) cipher implementation in Dart
This library provides a pure Dart implementation of the Rijndael cipher, supporting multiple block sizes (16, 24, 32 bytes), CBC mode, and various padding schemes (PKCS7, Zero padding).
Classes
- PaddingBase
- Base class for padding implementations
- Pkcs7Padding
- PKCS7 padding implementation as defined in RFC 2315
- Rijndael
- Rijndael cipher implementation
- RijndaelCbc
- Rijndael CBC mode implementation with parallel decryption support
- ZeroPadding
- Zero padding implementation as specified in ISO/IEC 10118-1 and ISO/IEC 9797-1
Constants
-
A
→ const List<
List< int> > - Matrix A used in the affine transformation
-
B
→ const List<
int> - Vector B used in the affine transformation
-
G
→ const List<
List< int> > - Galois field multiplication matrices
-
numRounds
→ const Map<
int, Map< int, int> > - Number of rounds for different key and block sizes
-
shifts
→ const List<
List< List< >int> > - Shift patterns for different block sizes
Properties
-
rCon
→ List<
int> -
Round constants
final
-
S
→ List<
int> -
S-box lookup table
final
-
Si
→ List<
int> -
Inverse S-box lookup table
final
-
T1
→ List<
int> -
T-box lookup tables
final
-
T2
→ List<
int> -
final
-
T3
→ List<
int> -
final
-
T4
→ List<
int> -
final
-
T5
→ List<
int> -
final
-
T6
→ List<
int> -
final
-
T7
→ List<
int> -
final
-
T8
→ List<
int> -
final
-
U1
→ List<
int> -
U-box lookup tables
final
-
U2
→ List<
int> -
final
-
U3
→ List<
int> -
final
-
U4
→ List<
int> -
final
Functions
-
initializeTables(
) → void - Initialize lookup tables