使用ECIES进行文件加密

问题描述

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

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

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

解决方法

您可能已经知道,在这样的网站上不会得到太多使用,因为很难证明您没有进行MITM攻击。从密码学的角度来看,您应该使用/研究的技术是:

  1. 短暂的:短暂的椭圆曲线Diffie-Hellman,使用具有快速,恒定时间标量乘法的强曲线,例如curve25519 / x25519,得出可以使用的共享秘密(由使用强大的哈希函数(例如xSHA-256SHA-3)对Blake2b坐标进行哈希处理。

  2. 使用第一步中约定的密钥,并使用强大的已认证 对称密码(例如ChaCha20-Poly1305)进行加密。

  3. 有无数种选择,也许,如果您想尝试分散管理,该网站可以帮助将用户彼此路由到IPFS上。

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...