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. ReplyCallbackECIES will call this back if an ack was requested and received. 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 X25519 key and key ID. RatchetEntrySimple object with outbound tag, key, and nonce, and an optional next keys. RatchetPayloadRatchet payload generation and parsing RatchetPayload.AckBlock RatchetPayload.AckRequestBlock 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. SingleTagSetInbound ES tagset with a single tag and key. SparseArray<E>
SparseArraymaps integers to Objects and, unlike a normal array of Objects, its indices can contain gaps.