internal library

Classes

AES_SMCipher
AES_SSC
AESChiperSelector
AESCipher
AESCipher128
AESCipher192
AESCipher256
BAC
Class defines Basic Authentication Control (BAC) as defined in ICAO 9303 p11 doc. Ref: https://www.icao.int/publications/Documents/9303_p11_cons_en.pdf
CommandAPDU
DeriveKey
Implements key derivation function as specified in ICAO 9303 p11 Sections: 9.7.1.1, 9.7.1.2, 9.7.1.3, 9.7.1.4
DES_SMCipher
DESCipher
Implements DES encryption algorithm using CBC block cipher mode
DESede_PACE_SSC
DESedeCipher
Implements Triple DES encryption algorithm using CBC block cipher mode
DESedeSSC
DF1
ICC
Defines ISO/IEC-7816 ICC API interface to send commands and receive data.
ISO9797
Class defines ISO/IEC 9797-1 MAC algorithm 3 and padding method 2.
MrtdApi
Defines ICAO 9303 MRTD standard API to communicate and send commands to MRTD. TODO: Add ComProvider onConnected notifier and reset _maxRead to _defaultReadLength on new connection
MrtdSM
Class defines secure messaging protocol as specified in ICAO 9303 p11.
Pair<T1, T2>
PublicKeyPACE
PublicKeyPACEdH
PublicKeyPACEeCDH
ResponseAPDU
Class defines ISO/IEC 7816-4 response APDU
SecureMessaging
SMCipher
SSC
Class represents Send Sequence Counter as specified in section 9.8.2 of ICAO 9303 p11 doc.
StatusWord
Class represents trailer status bytes of ISO/IEC 7816-4 response APDU.

Constants

AES_BLOCK_SIZE → const int
Class implements AES encryption/decryption and CMAC calculation. It uses pointycastle library for AES implementation. CMAC mac size is fixed to 64 bits. IV length is fixed to 128 bits in AES.

Functions

DESedeDecrypt({required Uint8List key, required Uint8List iv, required Uint8List edata, bool paddedData = true}) Uint8List
Returns decrypted data using Triple DES encryption algorithm and CBD block cipher mode.
DESedeEncrypt({required Uint8List key, required Uint8List iv, required Uint8List data, bool padData = true}) Uint8List
Returns encrypted data using Triple DES encryption algorithm and CBD block cipher mode.
KDF(Hash hash, Uint8List keySeed, Int32 counter) Uint8List
Implements key derivation function as specified in ICAO 9303 p11 Section 9.7.1 Key is derived by hash object using keySeed bytes and counter number.
randomBytes(int length) Uint8List