我的编码安全类中有项目。我们得到P和Q值并生成RSA加密的D和E值。我们所要做的就是加密一个数字,然后解密它,我已经有了它。我想接受字符串输入并加密它。
答案 0 :(得分:0)
这不是直截了当的,通常是不可取的。
通常做的是生成一个随机数,并将其用作对称分组密码中的密钥,例如能够在AES中运行的mode of operation加密任意长的消息。然后使用RSA加密随机数,并将其与从分组密码获得的密文一起发送。如果这听起来太复杂,你可以构建一个非常简单(并且不是很安全)的流密码,它使用它的密钥为一个伪随机数生成器(PRNG)播种,然后对平原的符号进行异或。带有PRNG连续调用结果的文本。
如果直接使用RSA加密字符串不是该类的要求,我会远离它。如果您想添加其他内容以使您的作业更加精美,请考虑实施padding。
如果你必须这样做,你必须定义一个将字符串映射到整数的双射函数。但由于消息空间是有限的,这只能用于相当短的字符串。