我理解公钥密码学中的“公共”部分。而不是“私人”部分。
例如,假设我们的公钥是%7 (模块7)。要加密的信息是22。
我们知道22 %7=1
这里,1是加密的消息。
公钥工作的原因是,尽管知道公钥(%7)和加密消息(1),但我不能确认原始消息是22。
因此,这就引出了一个问题,私钥是如何确定原始消息是22的?
发布于 2015-07-17 18:37:52
您所提供的不是加密方案,您只需取一个数字并将其修改为7。这不可能是加密方案,因为有多个“消息”将产生相同的“密码文本”,例如:
所以你的问题是:
私钥是如何确定原始消息为22的?
这并不是因为对于密码文本"1",有无限多可能的原始消息。
你所拥有的看起来有点像RSA,所以我猜你读了一些关于RSA的东西,并且正在努力解决这个数学问题。有一个很好的简单的这里样本计算,您可以尝试通过。
要更详细地描述RSA的数学,您可以转到RSA维基百科页面。
编辑:在评论中你说:
如果一个模(公钥)产生的结果不能反向工程,那么私钥如何能够做到这一点?
好的,让我们来看看RSA的例子。
现在您的公钥是(7,33),(e,n),您的私钥是(3,33),(d,n)。
好的,现在假设您想加密明文消息"22",就像在您的问题中一样。加密计算是: m^e %n= c,其中m是原始消息,c是密文,所以22^7 % 33 = 22 (heh,这是一个巧合),所以加密消息是"22“。
现在,拥有私有指数d的人可以通过计算c^d %n= m来解密密文,这是我们的例子22^3 % 33 = 22。
https://security.stackexchange.com/questions/94254
复制相似问题