Encryption 使用ECIES进行文件加密

Encryption 使用ECIES进行文件加密,encryption,file-sharing,ecies,Encryption,File Sharing,Ecies,我目前正在尝试建立一个项目自学,它本质上是一个网站,用于在两个用户之间共享文件。我想使用ECIES primary objective加密pdf文件,然后将其发送给其他用户。我的问题是: 如何在客户端加密文件? 如何将加密文件发送到使用哪种语言/库/技术的服务器 正如我的问题所表明的,我是web开发的初学者。您可能已经意识到,在这样的网站上,您不会得到太多的使用,因为很难证明您没有执行MITM攻击。也就是说,从密码学的角度来看,您应该使用/调查的技术是: 短暂的:短暂的椭圆曲线Diffie-He

我目前正在尝试建立一个项目自学,它本质上是一个网站,用于在两个用户之间共享文件。我想使用ECIES primary objective加密pdf文件,然后将其发送给其他用户。我的问题是:

如何在客户端加密文件? 如何将加密文件发送到使用哪种语言/库/技术的服务器
正如我的问题所表明的,我是web开发的初学者。

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

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

使用第一步中约定的密钥,使用强身份验证对称密码(如ChaCha20-Poly1305)进行加密

有许许多多的选择,也许如果你想尝试分散,该网站可以帮助用户通过IPF上的公钥找到彼此


你最后一点引起了我的兴趣。你能详细说明一下吗?你所描述的听起来很相似。该网站上的白皮书描述了你两个问题的答案。是的,你是对的!这几乎正是我想要做的!