gpt4 book ai didi

java - 发送和接收大型 RSA 加密密码

转载 作者:行者123 更新时间:2023-12-02 04:10:25 24 4
gpt4 key购买 nike

我刚刚编写完一个使用 RSA 加密方法加密整数的程序。当将该程序从只能传输一个小整数(到目前为止大约 4 位数字)扩展到能够传输完整消息时,我面临两个主要问题。

问题#1:如何才能只显示公钥?我的合作伙伴不需要 n 以及我的公钥来为我加密消息吗? (公式如下)

Encryption: F(m,e)=m^e mod n = c, where m is the message, e is the public key, n is the product of the two randomly generated primes and c is the cipher.

Decryption: F(c,d)=c^d mod n = m, where d is the private key.

问题#2:如何传输大消息? article我使用的代码基础涉及通过 block 进行加密,但我不知道从哪里开始。从其他人的问题中,我发现我应该将文件读入字节流,然后使用 BigInteger 类加密各个字节,但没有太多细节。这是如何完成的?

最佳答案

RSA 公钥是一对数字:公共(public)指数和模数。

您不使用 RSA 加密大消息;使用RSA加密其他加密 key 。

您的发件人应该为 AES 选择一个随 secret 钥,并用该 key 加密消息,并在合适的模式下运行。然后,他们将使用您的 RSA 公钥加密 AES key ,并向您发送 AES 加密的消息和 RSA 加密的 key 。

分组密码模式不适用于 RSA。它们专为 AES 和 TDEA 等分组密码而设计。

关于java - 发送和接收大型 RSA 加密密码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33849823/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com