存档

2018年12月 的存档

RSA 公钥加密原理

2018/12/10 5,298

和对称加密不同,公钥加密(非对称加密)的密钥分为加密密钥(公钥)和解密密钥(私钥)。 公钥是公开的,任何人都有可能知道公钥,并用公钥生成密文,而私钥是保密的,只有解密者才能知道私钥,用它来解密密文获得明文。在这里对使用最广泛的公钥密码算法-- RSA.
RSA 是发明此算法的三位科学家的姓氏的首字母(吐槽一下:外国人的命名真随意)

一. RSA 加密

在RSA中,明文,密钥和密文都是数字, RSA的加密过程可以用如下公式表达:

$$密文 = 明文^E  \mod N$$

即: RSA  的密文是明文的 $E$ 次方求模 $N$ 的结果, 或者说,密文是明文的 $E$ 次方除以 $N$ 的余数。这就是整个加密过程,它非常简洁。因此,如果知道了 $E$ 和 $N$ ,那么任何人都可以进行加密运算,也就是说,

$$ E 和 N 是公钥$$

在实际使用中, E 和 N 是经精心计算的数字。

二. RSA 解密

RSA 解密公式如下:

$$ 明文= 密文^D \mod N$$

即,对密文的 $D$ 次方求模 $N$ 运算,就可以得到明文。这里是

$$D 和 N 是私钥 $$

继续阅读

Diffie-Hellman 密钥交换

2018/12/02 5,234

在使用对称加密中,有一些无法避免的问题:

  • 密钥如何从加密方传递给解密方。窃听者如果可以劫获密文,那么也可能劫获密钥。
  • 如果窃听者破解了密钥,加密方如何将新的密钥安全地交给解密方

1. DH 密钥交换

解决上述问题的一种方法就是 DH 密钥交换 技术 。
DH 密钥交换全称为 Diffie-Hellman 密钥交换 ,是1976年由 Whitfiedl Diffle 和 Martin Hellman 共同发明的一种算法。使用这种方法,通信双方可以在窃听者眼皮子底下来安全地传输密码。
DH 交换的步骤如下:

继续阅读