Packages that use HKDF
Package
Description
Core cryptographic primitives used throughout I2P: symmetric ciphers (AES, ChaCha20), hashes (SHA-1, SHA-256, SHA-384, SHA-512), HMAC and HKDF key derivation, the ElGamal and DSA/EdDSA/RedDSA engines, key and certificate utilities, and the entropy harvester.
Common data structures used by the I2P protocols: Destination, LeaseSet, PublicKey, Signature, Certificate and their friends.
The Double Ratchet with X25519 key agreement and ECIES hybrid encryption, used by the NTCP2 and SSU transports for session encryption.
Uses of HKDF in net.i2p.crypto
Fields in net.i2p.crypto declared as HKDFModifier and TypeFieldDescriptionprivate static HKDFBlinding._hkdfCached HKDF forBlinding.generateAlpha(I2PAppContext, SigningPublicKey, String), which is called once per blinded destination.Methods in net.i2p.crypto that return HKDFModifier and TypeMethodDescription(package private) static HKDFBlinding.hkdf(I2PAppContext ctx) Get the shared HKDF for a context.Uses of HKDF in net.i2p.data
Fields in net.i2p.data declared as HKDFModifier and TypeFieldDescriptionprivate static HKDFEncryptedLeaseSet._hkdfCached HKDF for layer encryption/decryption.Methods in net.i2p.data that return HKDFModifier and TypeMethodDescriptionprivate static HKDFEncryptedLeaseSet.hkdf(I2PAppContext ctx) Get the shared HKDF for a context.Uses of HKDF in net.i2p.router.crypto.ratchet
Fields in net.i2p.router.crypto.ratchet declared as HKDFModifier and TypeFieldDescriptionprivate final HKDFECIESAEADEngine._hkdfKey derivation function for the ratchet.private final HKDFRatchetSKM._hkdfKey derivation function for the ratchet tags.private final HKDFRatchetTagSet.hkdfKey derivation function for the ratchet steps.Constructors in net.i2p.router.crypto.ratchet with parameters of type HKDFModifierConstructorDescriptionRatchetTagSet(HKDF hkdf, HandshakeState state, SessionKey rootKey, SessionKey data, long date) Outbound NSR Tagset.RatchetTagSet(HKDF hkdf, SessionKey rootKey, SessionKey data, long date, int tagsetid, int keyid) Outbound ES Tagset.privateRatchetTagSet(HKDF hkdf, SessionTagListener lsnr, HandshakeState state, PublicKey remoteKey, SessionKey rootKey, SessionKey data, long date, long timeout, int tagsetid, int keyid, boolean isInbound, int minSize, int maxSize) Tag set for a ratchet session with the given keys and sizes.RatchetTagSet(HKDF hkdf, SessionTagListener lsnr, HandshakeState state, SessionKey rootKey, SessionKey data, long date, int minSize, int maxSize) Inbound NSR Tagset.RatchetTagSet(HKDF hkdf, SessionTagListener lsnr, PublicKey remoteKey, SessionKey rootKey, SessionKey data, long date, int tagsetid, int keyid, int minSize, int maxSize) Inbound ES Tagset.SplitKeys(HandshakeState state, HKDF hkdf) Derives ck, k_ab, k_ba from Noise handshake split stage.