新的加密提案模板

Proposal 142
Meta
Author zzz
Created 2018-01-11
Last Updated 2018-01-20

概述

本文档描述了在提议替换或添加我们的ElGamal非对称加密时需要考虑的重要问题。

这是一份信息性文件。

动机

ElGamal算法已经过时且运行缓慢,现在有更好的替代方案。然而,在我们添加或更改为任何新算法之前,必须解决几个问题。本文档重点介绍了这些未解决的问题。

背景研究

任何提议新加密方案的人首先必须熟悉以下文件:

非对称加密的用途

回顾一下,我们使用ElGamal的场合有:

  1. 隧道构建消息(密钥在RouterIdentity中)

  2. 路由器到路由器的netdb和其他I2NP消息加密(密钥在RouterIdentity中)

  3. 客户端端到端的ElGamal+AES/SessionTag(密钥在LeaseSet中,目标密钥未使用)

  4. NTCP和SSU的临时DH

设计

任何旨在用其他方案替代ElGamal的提案必须提供以下细节。

规格

任何新的非对称加密提案必须完全指定以下内容。

1. 一般要求

在您的提案中回答以下问题。请注意,这可能需要与下面第2节中的具体内容分开提议,因为它可能与现有提案111, 123, 136, 137或其他提案冲突。

  • 您建议在哪些上述1-4情况下使用新加密?
  • 如果是用于1)或2)(路由器),公钥放在哪里,在RouterIdentity中还是在RouterInfo属性中?您打算使用密钥证书中的加密类型吗?完全指定并说明您选择的理由。
  • 如果是用于3)(客户端),您打算将公钥存储在目标地并在密钥证书中使用加密类型(如ECIES提案中),还是存储在LS2中(如提案123中),或其他方式?完全指定并说明您选择的理由。
  • 对于所有用途,如何宣传支持?如果是3),它是在LS2中,还是其他地方?如果是1)和2),是否类似于提案136和/或137?完全指定并说明您选择的理由。可能需要单独提案。
  • 完全说明如何以及为何向后兼容,并完整说明迁移计划。
  • 您的提案有哪些未实现的前提条件?

2. 具体加密类型

在您的提案中回答以下问题:

  • 一般加密信息、具体曲线/参数,完全说明您选择的理由。提供规范及其他信息的链接。
  • 速度测试结果与ElG以及其他可选方案的对比,若适用。包括加密、解密和密钥生成。
  • C++和Java(包括OpenJDK、BouncyCastle和第三方)的库可用性 对于第三方或非Java,提供链接和许可证
  • 拟议加密类型编号(实验范围或非实验范围)

注释