3

我有一个正在开发的 Chrome 扩展程序,可以将数据发布到远程服务器。我希望在发送数据之前对其进行加密。我的服务器没有 HTTPS,所以我必须通过纯 HTTP 发送它。

我目前在 Javascript 的扩展中使用 RSA 4096 位公钥加密,SHA1 对数据进行哈希处理,并通过 Ajax 发布请求发送哈希和加密数据。

这种可接受的加密是通过 HTTP 发送的吗?

4

2 回答 2

1

客户:散列你的信息。将哈希附加到您的消息中。加密您的消息 + 哈希。发送您的加密消息 + 哈希。
服务器:解密您的消息 + 哈希。拆分消息和哈希。散列消息。确保服务器端的哈希值与客户端的哈希值相同。如果这些不匹配,那么要么有一些比特接通了电线,要么有人改变了你的信息。是的,RSA 4096 位公钥加密已经绰绰有余了。

于 2012-12-31T13:59:20.710 回答
1

好吧,维基百科告诉的是:

...并且 2048 位密钥在 2030 年之前就足够了...
如果在 2030 年之后需要安全性,则应使用 3072 位的 RSA 密钥长度

所以我猜使用 4k 位加密有点偏执

于 2012-12-31T13:32:27.483 回答