BAC class

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

Constructors

BAC()

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

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

Static Methods

calculateSCC({required Uint8List RNDifd, required Uint8List RNDicc}) → DESedeSSC
Calculates Send Sequence Counter (SCC) from RNDifd and RNDicc.
calculateSessionKeys({required Uint8List Kifd, required Uint8List Kicc}) → Pair<Uint8List, Uint8List>
Calculates Session keys KSenc and KSmac from Kifd and Kicc.
D({required Uint8List Kdec, required Uint8List Eicc}) → Uint8List
Returns R
E({required Uint8List Kenc, required Uint8List S}) → Uint8List
Returns Eifd
extractEiccAndMicc({required Uint8List ICCea_data}) → Pair<Uint8List, Uint8List>
Extracts Eicc and Micc from ICCea_data.
generateEAData({required Uint8List Eifd, required Uint8List Mifd}) → Uint8List
Generates data for External Authenticate command
generateS({required Uint8List RNDifd, required Uint8List RNDicc, required Uint8List Kifd}) → Uint8List
Generates S from RNDifd, RNDicc, Kifd
initSession({required DBAKey dbaKeys, required ICC icc}) → Future<void>
MAC({required Uint8List Kmac, required Uint8List Eifd}) → Uint8List
verifyEicc({required Uint8List Eicc, required Uint8List Kmac, required Uint8List Micc}) → bool
Verifies Eicc is valid and has not been tempered using key Kmac and Micc mac.
verifyRNDifdAndExtractKicc({required Uint8List RNDifd, required Uint8List R}) → Uint8List
Extracts Eicc and Micc from ICCea_data. Will throw BACError if RNDifd doesn't match the RND.IFD in R;

Constants

eLen → const int
kLen → const int
macLen → const int
nonceLen → const int
rLen → const int
sLen → const int