Neuron®
The Neuron® is the basis for the creation of open and secure federated networks for smart societies.
Loading...
Searching...
No Matches
IPaceProtocol.cs
1using System.Threading.Tasks;
2using System.Xml;
6
8{
12 public interface IPaceProtocol : ISecurityObject
13 {
18
23
27 public System.Numerics.BigInteger Version { get; }
28
32 public System.Numerics.BigInteger? ParameterId { get; }
33
40 byte[] CreateNewKey(byte[]? Seed, ref int Index);
41
46 byte[] ImportKey(XmlDocument Xml);
47
53
58
62 int KdfHashKeyLength { get; }
63
67 int BlockLength { get; }
68
75 byte[] GetSharedSecret(byte[] RemotePublicKey);
76
82 byte[] KDFπ(DocumentInformation DocInfo);
83
88 byte[] KDF_Enc(byte[] KSeed);
89
94 byte[] KDF_Mac(byte[] KSeed);
95
102 byte[] DecryptNonce(byte[] Kπ, byte[] EncryptedNonce);
103
109 Task<bool> Authenticate(TravelDocumentsClient Client);
110
117
125 byte[] Encrypt(byte[] KS_Enc, byte[] IV, byte[] Data);
126
134 byte[] Decrypt(byte[] KS_Enc, byte[] IV, byte[] Data);
135 }
136}
Contains parsed information from a machine-readable document information string.
Implements the CMAC algorithm, as defined in NIST SP 800-38B, revision 2016. Ref: https://nvlpubs....
Definition: CMac.cs:11
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.
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[] 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.
Grade
Grade enumeration
Definition: Grade.cs:7
delegate byte[] HashFunctionArray(byte[] Data)
Delegate to hash function.