-1

我目前正在尝试构建一个项目(自学),该项目本质上是一个用于共享文件的网站(在两个用户之间)。我想使用 ECIES(主要目标)加密文件(pdf),然后将其发送给另一个用户。我的问题是:

  1. 如何在客户端加密文件?
  2. 如何将加密文件发送到服务器(哪种语言/库/技术)

正如我的问题所暗示的,我是 Web 开发的初学者。

4

1 回答 1

1

正如您可能已经意识到的那样,您不会在这样的网站上得到太多使用,因为很难证明您没有执行 MITM 攻击。从密码学的角度来看,您应该使用/调查的技术是:

  1. 短暂的:短暂的椭圆曲线 Diffie-Hellman,使用具有快速、恒定时间标量乘法(例如curve25519/ )的强曲线x25519,导出可以使用的共享秘密(通过使用强散列函数(例如 或)x对坐标进行散列)。SHA-256SHA-3Blake2b

  2. 使用第一步中约定的密钥,使用经过验证的强 对称密码(例如ChaCha20-Poly1305.

  3. 有很多选择,也许如果你想尝试去中心化,该网站可以帮助将用户路由到 IPFS 上的彼此公钥。

于 2020-08-25T15:52:53.153 回答