在所有关于非对称加密的课程中,都解释了加密和消息传递的过程,但我对非对称加密算法本身很感兴趣。到目前为止,我唯一认识到的是,这种加密的全部要点是使用mod的数学运算。但是如何创建自己的原始非对称加密算法呢?
发布于 2018-02-15 18:06:31
这种加密的全部要点是使用模块的数学运算。
这并不是问题的全部,模块操作只是出于几个原因而有用。其中之一是它方便了逆元素的存在,这些元素可以用来撤消相关的操作。找出一种生成元素的方法,在其他人很难从该元素生成逆的情况下,它是逆的,这就构成了陷门式算法的密钥生成算法的基础。
非对称加密和解密算法的基本(不安全)示例使用诸如加法或乘法、模运算、素数运算等操作。
要加密消息$m$,请执行以下操作:
要解密密文$c$:
由于$k_e \neq k_d$ (具有很高的概率),该算法在一个操作中使用一个键,另一个用于逆操作的意义上是不对称的。由于各种原因,它完全不安全,但它展示了一些*不对称算法的本质:
您可以将上面示例中的运算符改为乘法而不是加法,并相应地生成逆运算。然而,由于种种原因,这仍然是不安全的。寻找合适的操作员是开发这一系统的挑战之一。
给定$k_e,N$,需要生成$k_d$是不可行的。
您可以在RSA中看到这些点的示例。为了从$d$,N$中恢复$e,需要首先考虑$N$,这是(据信)很难的。${m^e}^d \equiv \bmod N$是启用解密的原因。请注意,$d \neq e$,我们使用$d$再次对$m^e \bmod N$进行指数运算,以返回到$m$。
密钥协商算法(如Diffie-Hellman )不需要计算逆,也不一定要求你反演任何东西。经典的Diffie-Hellman是其实是一个普通的食谱 (在功能正确性的意义上)当给定组结构.嘈杂的迪夫-赫尔曼提供了近似的密钥协议,但或多或少是完全不同的。
https://crypto.stackexchange.com/questions/55688
复制相似问题