首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >公钥加密混淆

公钥加密混淆
EN

Security用户
提问于 2019-04-20 13:13:35
回答 1查看 156关注 0票数 0

我正在学习Linux,目前正在学习SSH。但有些细节我不太明白。

  1. 我已经从数学的角度看过并理解了Diffie-Hellman密钥交换是如何工作的,但是我想要理解的是为进一步通信而生成的对称密钥。一切都从一个大素数g (生成器)和n开始,在某种程度上,我们使用组合,使用离散对数和私有数字生成公钥,公钥只用于加密。这个密钥是一个数字,那么一个数字如何加密一个消息?
  2. 即使获得的对称密钥也是一个数字,将用于加密和解密。假设计算得到的对称数是16,那么16如何加密我发送给某人的消息Good morning,然后相同的数字16在另一边解密消息?
  3. 我还读过,在密钥交换算法之后,AES对称算法可以用于进一步的通信。那么AES是由Diffie-Hellman密钥交换生成的对称密钥吗?AES是在使用离散对数计算后得到的数字吗?
  4. 我还读到,RSA可以与相结合,以增强安全性以避免MitM攻击。那么RSA到底给现有的密钥交换算法增加了什么呢?
  5. 在执行ssh-keygen -t rsa之后,生成了一个密钥对,但是当我在文本编辑器中打开它们时,我没有看到任何像素数那样的东西。这是另一种格式。

现在,我真的很困惑,所有这些数学是如何与加密数据之间交换的两台计算机。

EN

回答 1

Security用户

回答已采纳

发布于 2019-04-20 13:56:33

这个密钥是一个数字,那么一个数字如何加密一个消息?

一个数字被表示为一个位序列--这是关键。

AES是用离散对数计算得到的数字吗?

AES是一种加密算法--参见维基百科:AES。该算法使用密钥(位序列,参见最后一点)加密一些有效载荷,并使用相同的有效载荷进行解密。想一想像异或这样的东西,可以使用相同的“密钥”来“加密”某些消息并再次“解密”它--只是比XOR好得多。

..。那么RSA到底给现有的密钥交换算法增加了什么呢?

SSH上下文中的RSA对密钥交换算法本身没有任何影响。但是它用于身份验证,这样客户端就可以确保它与预期的服务器进行密钥交换,而不是与中间的某个人(攻击者)进行密钥交换(MITM)。

在执行ssh-keygen -t rsa命令之后,生成了一个密钥对,但是当我在文本编辑器中打开它们时,我没有看到什么像素数那样的东西,它是一种不同的格式。

同样,一个数字是一个位序列。这样的序列可以用多种方式编码,比如十进制数、十六进制数、1和0的序列等等。您看到的是这些数字的特定编码以及一些附加的包装信息。

现在,我对所有这些数学是如何与加密两台计算机之间交换的真实数据有关的,比如信息、照片、视频等等,都感到困惑。

看起来你很困惑,因为你只把数字看作是记录在0到9之间的数字序列,但这只是数字表示方式的一种特定编码。对于计算机来说,一切都只是一个比特序列--其他一切(数字、字符、图像.)是一个特定的比特序列对人类意味着什么。

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

https://security.stackexchange.com/questions/207740

复制
相关文章

相似问题

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