一、密码学概述
一、
密码学是一门研究信息安全保密的学科,主要涉及对信息进行加密、解密以及相关的安全技术和理论。 它通过使用各种加密算法和技术,将明文信息转换为密文,以确保信息在传输和存储过程中的保密性、完整性和真实性。密码学在通信、电子商务、金融、军事等领域都有着广泛的应用。 密码学包括对称加密、非对称加密、哈希函数、数字签名等重要内容。同时,密码学也在不断发展和创新,以应对不断变化的安全挑战。
大家要注意的是我们平时用来认证身份的密码(passwd)翻译成口令更准确。而我们这里的密码是指把正常的、可识别的信息转换成一种不可识别的信息的技术(或者产品服务)。除此以外密码技术还用来做安全认证,比如用来确定信息是否被篡改、是否来自可靠信息源以及确认行为是否真实等。
密码学的发展历史可以追溯到古代,人类使用密码的历史几乎与使用文字的时间一样长。
密码学发展的主要阶段:
1. 古典密码学阶段:从密码的产生到发展成为近代密码之间的这段时期,主要特点是手工加解密,也被称为手工密码时代。
2. 近代密码学阶段:从一战、二战到 1976 年,该阶段的主要特点是采用机械或机电密码机进行加密和解密,也被称为机电密码时代。
3. 现代密码学阶段:1976 年以后,对称密钥密码算法得到进一步发展,产生了密码学的新方向—公钥密码学。 随着科技的不断发展,密码学也在不断演进和创新,以应对日益复杂的信息安全挑战。在现代,密码学广泛应用于通信、电子商务、金融、军事等领域,对保护信息的安全和隐私起着至关重要的作用。
我们使用最为粗略的划分方法。直接划分成古典密码和现代密码。
古典密码和现代密码的分界线是什么呢?
一般来说,我们是根据加密方式来区分古典密码学和现代密码学。
一般来说,古典密码学是基于字符的,使用手工或者机械的方式加密。
而现代密码学是基于二进制位的,也就是引入了计算机的使用。
古典密码学和近代密码学主要有以下一些区别:
1. 加密手段:古典密码学主要依靠简单的替换、置换等方法;近代密码学则采用更复杂的机械或机电装置来加密。
2. 安全性:近代密码学的安全性相对更高,加密算法更为复杂。
3. 应用范围:近代密码学的应用范围更广,不仅用于军事等领域,也逐渐在商业等方面得到应用。
以下是一些著名的古典密码学和近代密码学案例:
古典密码学:
1. 凯撒密码:通过将字母表中的字母移动一定的位置来加密。
近代密码学:
1. 恩尼格玛密码机:二战时期德国使用的加密机器,曾给盟军造成很大困扰。
古典密码学: 优点:简单易懂,在某些特定情况下仍有一定作用。 缺点:加密强度较低,容易被破解。
近代密码学: 优点:加密机制更复杂,安全性较高。 缺点:操作相对复杂,需要一定的技术和设备支持。
除了古典密码学和近代密码学中的方法外,现代密码学还包括以下方法:
1. 散列函数:将任意长度的输入消息转换为固定长度的哈希值。常见的散列函数包括 MD5、SHA-1、SHA-256 和 SHA-512 等。
2. 对称加密:使用相同的密钥进行加密和解密。常见的对称加密算法包括 DES、3DES、AES 等。
3. 非对称加密:使用公钥和私钥进行加密和解密。公钥可以公开,私钥则只有拥有者知道。常见的非对称加密算法包括 RSA、DSA 等。
4. 数字签名:用于验证消息的来源和完整性。签名者使用私钥对消息进行签名,接收者使用对应的公钥验证签名的有效性。
5. 身份验证协议:如OAuth、SSH 等,用于在网络环境中进行身份验证和授权。
6. 区块链技术:如比特币中的加密算法,用于保证交易的安全性和不可篡改性。 这些方法在不同的应用场景中都有广泛的应用,并且随着技术的不断发展,密码学也在不断地演进和创新。
密码系统组成结构
密码系统指的是一个用于加/解密, 能够解决网络安全中的机密性、 完整性、 可用性、 可控性和真实性等问题中的一个或几个的系统。
符号表示与含义
1、明文 P/M(Plaintext):需要加密的原始信息
2、密文 C(Ciphertext):明文经过变换或伪装, 形成密文
3、密码算法:加密变换与解密变换的具体规则
4、加密 E(Encryption):对明文实施的一系列变换过程
5、解密 D(Decrption):对密文施加的一系列的逆变换还原明文的过程
6、密钥——加密参数
重点解释一下什么叫做密钥:
早期的加密方式,就是最关键的信息。只要加密方式被破解,就没有秘密可言了。这个时候不得不设计新的加密方法。
怎么解决这个问题呢?我们可以在加密方法里面加入控制密码处理过程的关键信息,这个东西就叫密钥。当一个密钥泄露的时候,我们只需要更换密钥就可以了。这样大大地提升了安全性,也减少了操作成本。
只要我们设计的算法足够好,那么密钥就是很难猜出来的。密钥是加密的关键,所以必须保护好。
在不知道密钥的情况下,很难从输出结果(密文)推算出输入内容(明文),这个是怎么做到的呢?它依赖的是数学上的单向陷门函数。
密码系统组成结构
密码系统指的是一个用于加/解密, 能够解决网络安全中的机密性、 完整性、 可用性、 可控性和真实性等问题中的一个或几个的系统。
符号表示与含义
1、明文 P/M(Plaintext):需要加密的原始信息
2、密文 C(Ciphertext):明文经过变换或伪装, 形成密文
3、密码算法:加密变换与解密变换的具体规则
4、加密 E(Encryption):对明文实施的一系列变换过程
5、解密 D(Decrption):对密文施加的一系列的逆变换还原明文的过程
6、密钥——加密参数
重点解释一下什么叫做密钥:
早期的加密方式,就是最关键的信息。只要加密方式被破解,就没有秘密可言了。这个时候不得不设计新的加密方法。
怎么解决这个问