RSA消息太长Javascript JSBN

时间:2013-03-04 16:46:14

标签: javascript rsa public-key-encryption jsbn

我在javascript中使用JSBN来加密一组facebook数据的字符串(消息),以便将它们安全地发送到我的服务器(PHP)并在那里解密。

有些用户在

之类的内容中遇到“消息太长”
"&fbemail='+fbemail+'&gender='+fbgender+'&birthday='+fbbirthday+'&name='+fbname+'&surname='+fbsurname+'&fbuser='+fbuserid"

我通过以下方式生成私钥:

$privateKey = openssl_pkey_new(array(
          'private_key_bits' => 1024,
          'private_key_type' => OPENSSL_KEYTYPE_RSA,
        ));

为什么我收到这条消息?消息不是很长。

我看过以下帖子,但我不明白如何在不使用AES密码短语的情况下在javascript中使用AES。

RSA Encryption Problem [Size of payload data]

1 个答案:

答案 0 :(得分:2)

不生成对称密钥并加密完整邮件?使用更大的钥匙。 1024位密钥只能在没有某种填充的情况下加密117个字节,但是2048位密钥可以处理多达245个字节,而4096位密钥最多可以处理501个字节。这可能会使您的脚本处理更大和重音的名称(非ASCII字符每个字符使用两个或更多字节)。

我最终遇到了类似的问题,但Thoman Pornin对RSA Encryption Problem [Size of payload data]的回答很好地解释了这种限制的原因。

也放弃了尝试在阅读之后将消息分成几个加密块(同样)Thomas Pornin回答Does RSA padding have to be unpredictable if the payload is?