Number
121
Author
zzz
Created
Thread
http://zzz.i2p/topics/2047
Last updated
Status
Rejected
Superceded by
123

Overview

This proposal is about redesigning the mechanism for encrypting LeaseSets.

Motivation

Current encrypted LS is horrendous and insecure. I can say that, I designed and implemented it.

Reasons:

  • AES CBC encrypted
  • Single AES key for everybody
  • Lease expirations still exposed
  • Encryption pubkey still exposed

Design

Goals

  • Make entire thing opaque
  • Keys for each recipient

Strategy

Do like GPG/OpenPGP does. Asymmetrically encrypt a symmetric key for each recipient. Data is decrypted with that asymmetric key. See e.g. [RFC-4880-S5.1] IF we can find an algo that's small and fast.

Trick is finding an asymmetric encryption that's small and fast. ElGamal at 514 bytes is a little painful here. We can do better.

See e.g. http://security.stackexchange.com/questions/824...

This works for small numbers of recipients (or actually, keys; you can still distribute keys to multiple people if you like).

Specification

  • Destination
  • Published timestamp
  • Expiration
  • Flags
  • Length of data
  • Encrypted data
  • Signature

Encrypted data could be prefixed with some enctype specifier, or not.