wiki:Crypto/CurrentSpecs

Version 26 (modified by DISABLED, 7 years ago) (diff)

This page summarizes the current state of the I2P cryptography.

Currently used ciphers

Cipher Used lengths Perceived vulnerability Comments
ElGamal 2048
AES 256 bit keys, 128 bit blocks, CBC mode None A good choice due to common support for hardware acceleration
DSA 1024
SHA256 256 Slow compared to SHA-3

Cipher usage

Router aspect Cipher used Security timescale Usage details Comments
NTCP handshake DSA ???
SSU handshake DSA ???
RouterInfo signing DSA ???
LeaseSet signing? DSA Years
LeaseSet revocation (unused) DSA ???
I2CP Session Config signing DSA ???
Datagram signing DSA ???
Streaming message signing DSA ???
SUD signing DSA Years and years

Potential new ciphers

Asymmetric ciphers

Cipher Suggested lengths Implementability Comments
EC-DSA 160 Bits Supported in Java7 Already used in I2PBote (via bouncycastle?)
RSA Probably not a good security/performance tradeoff.

Symmetric ciphers

Cipher Suggested lengths Implementability Comments
Twofish 256 Bits 256-Bit twofish is faster than 256-bit Rijndael on the same hardware

Hashes

Cipher Implementability Comments
SHA3(Keccak) Faster than the SHA-2 family
RIPEMD-320

HMAC (hash-based message authentication code)

Cipher Implementability Comments
HMAC_SHA256?