Math 部分密文上的RSA加密和解密?

Math 部分密文上的RSA加密和解密?,math,encryption,cryptography,rsa,Math,Encryption,Cryptography,Rsa,我已经成功地在我的PC上构建并编译了一个应用程序,它将生成一个RSA密钥对(我使用GPK进行长算法)。然后,我测试了字符串“Hello World”(ASCII-->十六进制转换优先)的加密/解密 我的问题是,从数学上讲,只能从密文字符串“Hello World”中解密“Hello”,还是必须先加密“Hello”,然后加密“World”,然后分别解密 编辑:我想要的用例: 我有一个芯片(Xilinx的Zynq SoC),它只有256K的片上内存和512K的二级缓存 我可以使用一些基本指令/数据预

我已经成功地在我的PC上构建并编译了一个应用程序,它将生成一个RSA密钥对(我使用GPK进行长算法)。然后,我测试了字符串“Hello World”(ASCII-->十六进制转换优先)的加密/解密

我的问题是,从数学上讲,只能从密文字符串“Hello World”中解密“Hello”,还是必须先加密“Hello”,然后加密“World”,然后分别解密

编辑:我想要的用例:

我有一个芯片(Xilinx的Zynq SoC),它只有256K的片上内存和512K的二级缓存

我可以使用一些基本指令/数据预先填充和锁定缓存,然后将256K用于我的堆栈、堆和.data/.bss代码段(变量)

我需要更多的空间,所以我想我可以使用256K作为“交换”空间,并从外部加密闪存获取其余的.text(指令代码),但我需要在芯片上对其进行解密以保持安全性


我想知道是否可以加密整个图像,然后“获取、解密、解码、执行”。看起来我可能会被限制在加密256K块的图像,并解密同样大小的块。

RSA是一个数学运算。您无法仅恢复部分纯文本;进行数学运算(cd mod n)将生成整个纯文本。正如您所建议的,如果要分别解密两部分,您必须执行两个单独的RSA加密操作

这听起来有点像X-Y问题。你到底想完成什么


更新:RSA最好用作密钥加密算法:不直接加密数据,而是使用RSA加密对称算法的密钥,然后使用该对称算法加密应用程序数据。这是RSA在TLS、S/MIME、PGP和任何其他广泛接受的协议中使用的方式


因此,请将AES等算法(使用合适的模式,最好是提供完整性保护的模式)与RSA一起使用,以实现安全高效的系统。

您可以发布代码吗?不要使用RSA。使用分组密码,比如AES——它们支持您所想的分块操作,并且分块大小要小得多(例如,一次128或256位)。我相信Zynq SOC甚至可能已经在硬件中有AES了。我正试图将一个安全的应用程序存储在外部非易失性内存中,但我的芯片上只有一部分可用空间。@IDLacrosseplayer好的,我想我理解你的应用程序,但你需要改变方法。