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