1 对称密钥加密技术
1.1 常用的对称密钥加密技术
错开字符编码的加密方式:
比如加密时,将文本数据中每个字符所对应的字符编码一律向后错三个,即给原字符编码的值加上 3。解密时,只要再将字符编码向前挪三个就可以实现解密。
通过 XOR 运算进行加密和解密:
2 公开密钥加密技术
2.1 RSA简介
目前广泛应用于互联网中的 RSA 算法:RSA 这个名字是由三位发明者Ronald Rivest、Adi Shamir 和 Leonard Adleman 姓氏的首字母拼在一起组成的。
无论是公钥还是私钥都包含着两个数值,两个数值组成的数对儿才是一个完整的密钥。使用 RSA 创建公钥和私钥的步骤如下图所示:
乍一看会以为只要了解了 RSA 算法,就可以通过公钥 c = 323、e = 11 推算出私钥 c = 323,f = 131 了。但是为了求解私钥中的 f,就不得不对 c 进行因子分解,分解为两个素数 a、b。在本例中 c 的位数很短,而在实际应用公开密钥加密时,建议将 c 的位数(用二进制数表示时)扩充为 1024 位(相当于 128 字节)。要把这样的天文数字分解为两个素数,就算计算机的速度再快,也还是要花费不可估量的时间,时间可能长到不得不放弃解密的程度。
用公钥加密,用私钥解密:
3 数字签名
3.1 数字签名的生成方式
首先明确一个概念:“信息摘要”(Message Digest)可以理解为就是一个数值,通过对构成明文的所有字符的编码进行某种运算就能得出该数值。
计算MD的方式有很多种,我也只是简单了解,这里就不写了。
参考资料: