密码学基本概念
密码学的安全目标至少包含三个方面:
(1)保密性(Confidentiality):信息仅被合法用户访问(浏览、阅读、打印等),不被泄露给非授权的用户、实体或过程。
提高保密性的手段有:防侦察、防辐射、数据加密、物理保密等。
(2)完整性(Integrity):资源只有授权方或以授权的方式进行修改,所有资源没有授权则不能修改。保证数据完整性,就是保证数据不能被偶然或者蓄意地编辑(修改、插入、删除、排序)或者攻击(伪造、重放)。
影响完整性的因素有:故障、误码、攻击、病毒等。
(3)可用性(Availability):资源只有在适当的时候被授权方访问,并按需求使用。
保证可用性的手段有:身份识别与确认、访问控制等。
Kerckoffs准则:一个安全保护系统的安全性不是因为它的算法对外是保密的,而是因为它选择的秘钥对于对手来说是保密的。
评估密码系统安全性主要有三种方法:
(1)无条件安全:假定攻击者拥有无限的资源(事件、计算能力),仍然无法破译加密算法。无条件安全属于极限状态安全。
(2)计算安全:破译加密算法所需要的资源时现有条件不具备的,则表明强力破解证明是安全的。计算安全属于强力破解安全。
(3)可证明安全:密码系统的安全性归结为经过深入研究的数学难题(例如大整数因子分解、计算离散对数等)。可证明安全属于理论保证安全。
密码体制
密码(Cipher)技术的基本思想是伪装信息。伪装就是对数据施加一种可逆的数学变换,伪装前的数据成为明文(Plaintext),伪装后的数据成为密文(Ciphertext),伪装的过程称为加密(Encryption),去掉伪装恢复明文的过程称为解密(Decryption)。加密过程要在加密秘钥和加密算法的控制下进行;解密过程要在解密秘钥和解密算法的控制下进行。
同常一个密码系统(简称密码体制)由以下五个部分组成。
(1)明文空间M:全体明文的集合。
(2)密文空间C:全体密文的集合。
(3)加密算法E:一组明文M到密文C的加密变换。
(4)解密算法D:一组密文C到明文M的解密变换。
(5)秘钥空间K:包含加密秘钥Ke和解密秘钥Kd的全体秘钥集合。
- 加密过程:C=E(M,Ke),使用加密算法E和秘钥Ke,将明文M加密为密文C。
- 解密过程:M=D(C,Kd)=D(E(M,Ke),Kd),使用解密算法D和秘钥Kd,将密文C还原为明文M。