1using System.Threading.Tasks;
27 public System.Numerics.BigInteger
Version {
get; }
125 byte[]
Encrypt(
byte[] KS_Enc,
byte[] IV,
byte[] Data);
134 byte[]
Decrypt(
byte[] KS_Enc,
byte[] IV,
byte[] Data);
Implements the CMAC algorithm, as defined in NIST SP 800-38B, revision 2016. Ref: https://nvlpubs....
Basic interface for PACE protocols.
byte[] DecryptNonce(byte[] Kπ, byte[] EncryptedNonce)
Decrypts an encrypted nonce value.
byte[] KDFπ(DocumentInformation DocInfo)
Calculates Kπ, given the shared secret and the document information.
byte[] Decrypt(byte[] KS_Enc, byte[] IV, byte[] Data)
Decrypts data.
byte[] KDF_Enc(byte[] KSeed)
KDF_Enc
Task< bool > Authenticate(TravelDocumentsClient Client)
Authenticates the application with the document, using the PACE protocol.
int BlockLength
Number of bytes used for blocks.
CMac GetAuthenticator(byte[] Key)
Gets the authenticator
System.Numerics.? BigInteger ParameterId
Optional Parameter ID.
IPaceProtocol CreateEphemeralKey()
Creates an ephemeral key using the same algorithm, cipher and configuration.
HashFunctionArray KdfHashFunction
Hash function to use in the KDF function.
byte[] CreateNewKey(byte[]? Seed, ref int Index)
Creates a new private and public key, used in the PACE protocol.
Grade SecurityStrength
Security strength mapped as a grade.
byte[] KDF_Mac(byte[] KSeed)
KDF_Mac
byte[] Encrypt(byte[] KS_Enc, byte[] IV, byte[] Data)
Encrypts data.
byte[] ImportKey(XmlDocument Xml)
Imports the private key and public key from a previous export.
bool ChipAuthenticationMapping
If Chip-Authentication-Mapping is supported by the protocol.
byte[] GetSharedSecret(byte[] RemotePublicKey)
Gets the shared secret, given the local private key previously generated using CreateNewKey and a rem...
System.Numerics.BigInteger Version
Required protocol version.
int KdfHashKeyLength
Number of bytes of hash output to use as key material in the KDF function.
Interface for security objects.
delegate byte[] HashFunctionArray(byte[] Data)
Delegate to hash function.