Implementation of ECIES-X25519-AEAD-Ratchet (proposal 144). Since 0.9.44. Subject to change, not a public API, not for external use.
Interface Summary Interface Description RatchetPayload.PayloadCallbackFor all callbacks, recommend throwing exceptions only from the handshake. SessionTagListenerSomething that looks for SessionTags.
Class Summary Class Description ArrayUtilsArrayUtils contains some methods that you can call to find out the most efficient increments by which to grow arrays. ContainerHelpers ECIESAEADEngineHandles the actual ECIES+AEAD encryption and decryption scenarios using the supplied keys and data. Elg2KeyFactoryElligator2 for X25519 keys. Elg2KeyPairX25519 keys, with the public key Elligator2 encoding pre-calculated Elligator2Elligator2 for X25519 keys. GrowingArrayUtilsA helper class that aims to provide comparable growth performance to ArrayList, but on primitive arrays. MuxedEngineHandles the actual decryption using the supplied keys and data. MuxedSKMBoth. NextSessionKeyA session key and key ID. RatchetEntrySimple object with outbound tag, key, and nonce, and an optional next key. RatchetPayloadRatchet payload generation and parsing RatchetPayload.BlockBase class for blocks to be transmitted. RatchetPayload.DateTimeBlock RatchetPayload.GarlicBlock RatchetPayload.NextKeyBlock RatchetPayload.OptionsBlock RatchetPayload.PaddingBlock RatchetPayload.TerminationBlock RatchetSessionTag8 bytes, usually of random data. RatchetSKM RatchetTagSetA tagset class for one direction, either inbound or outbound. SessionKeyAndNonceA session key is 32 bytes of data. SparseArray<E>
SparseArraymaps integers to Objects and, unlike a normal array of Objects, its indices can contain gaps.