首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何理解非对称密码学?

如何理解非对称密码学?
EN

Cryptography用户
提问于 2018-02-15 17:20:28
回答 1查看 250关注 0票数 -2

在所有关于非对称加密的课程中,都解释了加密和消息传递的过程,但我对非对称加密算法本身很感兴趣。到目前为止,我唯一认识到的是,这种加密的全部要点是使用mod的数学运算。但是如何创建自己的原始非对称加密算法呢?

EN

回答 1

Cryptography用户

回答已采纳

发布于 2018-02-15 18:06:31

这种加密的全部要点是使用模块的数学运算。

这并不是问题的全部,模块操作只是出于几个原因而有用。其中之一是它方便了逆元素的存在,这些元素可以用来撤消相关的操作。找出一种生成元素的方法,在其他人很难从该元素生成逆的情况下,它是逆的,这就构成了陷门式算法的密钥生成算法的基础。

非对称加密和解密算法的基本(不安全)示例使用诸如加法或乘法、模运算、素数运算等操作。

  • 给定一个公共模$N$
  • 通过在$k_e$之间选择一个值来生成加密密钥$$
  • 假设加法运算符是我们将要使用的,则通过计算$N - k_e$生成解密密钥k_e$。

要加密消息$m$,请执行以下操作:

  • 计算$c =m+ k_e \bmod N$

要解密密文$c$:

  • 计算$m =c+ k_d \bmod N$

由于$k_e \neq k_d$ (具有很高的概率),该算法在一个操作中使用一个键,另一个用于逆操作的意义上是不对称的。由于各种原因,它完全不安全,但它展示了一些*不对称算法的本质:

  • 您生成两个键,其中一个可以用于反转另一个键的操作,而不是通过“撤消”,而是通过向前推进到相同的结果,如果您取消了该操作。我们没有减去$k_e$,而是添加了一些其他的$k_d$,它们恰好产生了与减去$k_e$所产生的结果相同的结果。

您可以将上面示例中的运算符改为乘法而不是加法,并相应地生成逆运算。然而,由于种种原因,这仍然是不安全的。寻找合适的操作员是开发这一系统的挑战之一。

给定$k_e,N$,需要生成$k_d$是不可行的。

  • 通常情况下,首先生成$k_d$并从它生成$k_e$比较容易。对于基本加法和乘法(给定$k_e,N$ ),恢复逆$k_d$非常简单。挑战之一是找到一种生成$k_e$的方法,以便在给定$k_d$时,N$很难找到。

--一个很好的例子

您可以在RSA中看到这些点的示例。为了从$d$,N$中恢复$e,需要首先考虑$N$,这是(据信)很难的。${m^e}^d \equiv \bmod N$是启用解密的原因。请注意,$d \neq e$,我们使用$d$再次对$m^e \bmod N$进行指数运算,以返回到$m$。

*密钥协商风格算法

密钥协商算法(如Diffie-Hellman )不需要计算逆,也不一定要求你反演任何东西。经典的Diffie-Hellman是其实是一个普通的食谱 (在功能正确性的意义上)当给定组结构.嘈杂的迪夫-赫尔曼提供了近似的密钥协议,但或多或少是完全不同的。

票数 2
EN
页面原文内容由Cryptography提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://crypto.stackexchange.com/questions/55688

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档