## Uses of Class
net.i2p.data.PrivateKey

Packages that use PrivateKey
net.i2p.client: Implements the base I2P SDK for developing applications that communicate through I2P.
net.i2p.crypto
net.i2p.data.i2cp
net.i2p.data.i2np
net.i2p.router
net.i2p.router.client
net.i2p.router.message
net.i2p.router.tunnel

Uses of PrivateKey in net.i2p.client

Methods in net.i2p.client that return PrivateKey
`PrivateKey` `I2PSessionImpl.getDecryptionKey()` Retrieve the decryption PrivateKey
`PrivateKey` `I2PSession.getDecryptionKey()` Retrieve the decryption PrivateKey associated with the Destination

Methods in net.i2p.client with parameters of type PrivateKey
`void` `I2CPMessageProducer.createLeaseSet(I2PSessionImpl session, LeaseSet leaseSet, SigningPrivateKey signingPriv, PrivateKey priv)` Create a new signed leaseSet in response to a request to do so and send it to the router

Uses of PrivateKey in net.i2p.crypto

Methods in net.i2p.crypto with parameters of type PrivateKey
`static PublicKey` `KeyGenerator.getPublicKey(PrivateKey priv)` Convert a PrivateKey to its corresponding PublicKey
`byte[]` `ElGamalEngine.decrypt(byte[] encrypted, PrivateKey privateKey)` Decrypt the data
`byte[]` `ElGamalAESEngine.decrypt(byte[] data, PrivateKey targetPrivateKey)` Decrypt the message using the given private key.

`(package private) byte[]`

`ElGamalAESEngine.decryptNewSession(byte[] data, PrivateKey targetPrivateKey, java.util.Set foundTags, SessionKey usedKey, SessionKey foundKey)`
scenario 1: Begin with 222 bytes, ElG encrypted, containing: - 32 byte SessionKey - 32 byte pre-IV for the AES - 158 bytes of random padding Then encrypt with AES using that session key and the first 16 bytes of the SHA256 of the pre-IV, using the decryptAESBlock method & structure.

`(package private) byte[]` `ElGamalAESEngine.decryptExistingSession(byte[] data, SessionKey key, PrivateKey targetPrivateKey, java.util.Set foundTags, SessionKey usedKey, SessionKey foundKey)` scenario 2: The data begins with 32 byte session tag, which also serves as the preIV.
`byte[]` `DummyElGamalEngine.decrypt(byte[] encrypted, PrivateKey privateKey)` Decrypt the data

Uses of PrivateKey in net.i2p.data.i2cp

Methods in net.i2p.data.i2cp that return PrivateKey
`PrivateKey` `CreateLeaseSetMessage.getPrivateKey()`

Methods in net.i2p.data.i2cp with parameters of type PrivateKey
`void` `CreateLeaseSetMessage.setPrivateKey(PrivateKey privateKey)`

Uses of PrivateKey in net.i2p.data.i2np

Methods in net.i2p.data.i2np that return PrivateKey
`PrivateKey` `EndPointPrivateKey.getKey()`

Methods in net.i2p.data.i2np with parameters of type PrivateKey
`void` `EndPointPrivateKey.setKey(PrivateKey key)`
`boolean` `BuildRequestRecord.decryptRecord(I2PAppContext ctx, PrivateKey ourKey, Hash ourIdent, ByteArray encryptedRecord)` Decrypt the data from the specified record, writing the decrypted record into this instance's buffer (but not overwriting the array contained within the old buffer)

Uses of PrivateKey in net.i2p.router

Methods in net.i2p.router that return PrivateKey
`PrivateKey` `LeaseSetKeys.getDecryptionKey()` Decryption key which can open up garlic messages encrypted to the LeaseSet's public key.
`PrivateKey` `KeyManager.getPrivateKey()`

Methods in net.i2p.router with parameters of type PrivateKey
`void` `KeyManager.setPrivateKey(PrivateKey key)` Configure the router's private key
`void` `KeyManager.registerKeys(Destination dest, SigningPrivateKey leaseRevocationPrivateKey, PrivateKey endpointDecryptionKey)`

Constructors in net.i2p.router with parameters of type PrivateKey
`LeaseSetKeys(Destination dest, SigningPrivateKey revocationKey, PrivateKey decryptionKey)`

Uses of PrivateKey in net.i2p.router.client

Methods in net.i2p.router.client that return PrivateKey
`PrivateKey` `LeaseRequestState.getPrivateKey()` the private encryption key received regarding the lease set

Methods in net.i2p.router.client with parameters of type PrivateKey
`void` `LeaseRequestState.getPrivateKey(PrivateKey pk)`

Uses of PrivateKey in net.i2p.router.message

Methods in net.i2p.router.message with parameters of type PrivateKey
`CloveSet` `GarlicMessageParser.getGarlicCloves(GarlicMessage message, PrivateKey encryptionKey)`

Uses of PrivateKey in net.i2p.router.tunnel

Methods in net.i2p.router.tunnel with parameters of type PrivateKey
`BuildRequestRecord` `BuildMessageProcessor.decrypt(I2PAppContext ctx, TunnelBuildMessage msg, Hash ourHash, PrivateKey privKey)` Decrypt the record targetting us, encrypting all of the other records with the included reply key and IV.