密码学的目的是
1密码学基础概览
密码学是探索数据加密变换及其相关技术的学科。它分为两个分支:密码编码学和密码分析学。密码编码学主要研究如何对信息进行变换,以保障信息在传递过程中不被敌方窃取、解读和利用;而密码分析学则专注于如何分析和破译密码。
待加密的信息被称为明文,经过以密钥为参数的函数变换后,这个过程称为加密,所得的加密函数变换称为加密算法,加密后的信息则称为密文。解密的过程则是通过特定的解密方法对密文进行操作以还原为明文。
从历史发展的角度看,密码学可以分为古典密码及现代密码两大类别。
2古典密码算法详述
古典密码学主要有两大类方法:替代密码和置换密码。
替代密码是通过将明文的字符替换为另一种字符的密文来进行加密,解密则通过反向替换实现。
而置换密码则是通过将明文中的字符按特定顺序替换为密文中的字符进行加密。
经典的古典密码包括滚筒密码、掩格密码、棋盘密码、凯撒密码、圆盘密码以及维吉尼亚密码等。
以滚筒密码为例,古希腊人曾使用棍子“scytale”进行加密通信。信息被卷在棍子上,然后按照特定顺序书写,再通过解开卷曲进行传递。接收方使用相同的棍子可以解开信息。
再如凯撒密码,这是罗马帝国时期的一种移位密码。它通过将明文的每个字母按照固定位置的另一个字母进行移位来实现加密,解密过程与加密过程相反。
3现代密码算法概览
现代密码算法主要分为对称加密和非对称加密。
对称加密使用相同的密钥进行加密和解密,如DES、三重DES和AES等分组密码。
非对称加密则使用一对密钥——公钥和私钥。公钥用于加密信息,只有对应的私钥才能解密。典型的非对称加密算法是RSA。
4认证技术详解
认证技术中涉及到的单向散列函数也称为消息摘要函数或哈希函数。它可以将任意长度的消息转化为定长的散列值。
单向散列函数的特点包括输出定长、计算速度快、明文不同则散列不同、具备单向性等。
常见的单向散列函数包括MD5和SHA系列等。MD5曾被广泛使用,但现在已经存在风险;而SHA系列算法则提供了更高的安全性。