1、密码学是通过将信息加密成不可读格式以对其进行保护的一门学科。历史上最著名的转子密码机是德国人在第二次世界大战中使用的 Enigma 机。可读消息是一种称为明文的文件形式。明文一旦被加密,就处于称为密文的文件形式。密码算法就是规定加密和解密函数的数学规则。密码分析学就是研究对密码系统的破解。不可否认性是这样一种服务:确保发送方不能在发送消息之后否认曾经发生过消息。密钥群集指的是不同密钥对同一明文加密可生成相同的密文。可能密钥所在的范围称为密钥空间。密钥空间越大,允许创建的随机密钥就越多,从而可以提供更多的保护。对称密码中使用的两种基本加密机制是替代和换位。替代密码就是使用不同的字符(或位)来替换
2、原来的字符(或位换位密码则搅乱原来的字符(或位) 。多字母表替代密码使用多个字母表来挫败频率分析攻击。隐写术是一种在其他介质类型(如图片、WAV 文件或文档 )内隐藏数据的方法。这种方法用于隐藏数据的存在性。密钥是插入加密算法的一大串随机位。结果是决定对消息执行哪些加密函数以及按什么顺序执行。在对称密钥算法中,发送方和接收方使用相同的密钥来加密和解密。在非对称密钥算法中,发送方和接收方使用不同的密钥来加密和解密。对称密钥方法给密钥的安全分发和可扩展性带来了障碍。然而,对称密钥算法的运行比非对称密钥算法的运行快得多。对称密钥算法能够提供机密性,但是不能提供身份验证或不可否认性。对称密钥算法的示例
3、包括 DES、3DES、Blowfish、 IDEA、RC4、RC5、RC6 和 AES。非对称密钥算法用于加密密钥,对称密钥算法则用于加密批量数据。非对称密钥算法要比对称密钥算法慢得多,但是能够提供身份验证和不可否认性服务。非对称密钥算法的示例包括 RSA、ECC 、Diff-Hellman、El Gamal、Knapsack 和 DSA。对称算法的两种主要类型是流密码和分组密码。流密码使用密钥流生成器,一次加密消息的一个位。分组密码将消息分为若干位分组,然后对每个分组进行加密。分组密码通常实现在软件中,而流密码通常实现在硬件中。许多算法都是公开的,因此它们的保密部分就是密钥。密钥提供了必要
4、的加密随机选择性。数据加密标准(Data Encryption Standard,DES)是一种分组密码,它将消息分为若干64 位分组,并且在这些分组上应用 8 盒类型函数。因为 DES 密钥空间已被成功破解,所以人们开发了三重 DES(Triple-DES ,3DES )来替代它。3DES 具有 48 轮计算,并且最多可以使用 3 个不同的密钥。国际数据加密算法(International Data Encryption Algorithm,IDEA)是密钥长度为 128 位的对称分组算法。RSA 是由 Rivest、Shamir 和 Adleman 设计开发的一种非对称算法,它是数字签名的
5、事实上的标准。椭圆曲线密码系统(Elliptic Curve Cryptosystem,ECC)用作为非对称算法,它能够提供数字签名、安全的密钥分发以及加密功能。ECC 使用的资源很少,因此更适合用在无线设备和蜂窝电话的加密功能上。当对称密钥算法和非对称密钥算法结合使用的时候,就称之为混合加密系统。非对称算法加密对称密钥,而对称密钥用于加密数据。会话密钥是消息的发送方和接收方用于加密和解密的对称密钥。会话只有在通信会话活跃时是安全的,通信会话结束后就销毁会话密钥。公钥基础设施(Public Key Infrastructure,PKI)是由程序、过程、通信协议和公钥密码学组成的一个架构,它使得
6、分散的人们能够安全地通信。认证授权机构(Certificate Authority,CA)是生成和保存用户证书的、被人们信任的第三方,它保存着用户的公钥。CA 使用证书取消列表( ertificate Revocation List,CRL )来跟踪被取消的证书证书是 CA 用于将用户的公钥和身份关联在一起的机制。注册授权机构(Registration Authority,RA) 确证用户的身份 ,随后向 CA 发送证书请求。但是,它不能生成证书。单向函数是在一个方向上运算比在相反方向上运算容易得多的一种数学函数。RSA 将大数字因式分解为两个质数的单向函数为基础。只有私钥才知道如何使用陷门,
7、以及如何解密使用相应公钥加密的消息。散列函数只提供数据完整性。当某个散列算法应用到消息上时,它会产生消息摘要,随后使用私钥对消息摘要值组行签名就可以生成数字签名。散列算法的示例包括 SHA-1、MD2、MD4、MD5 和 HAVAL。HAVAL 算法产生长度可变的散列值,而其他散列算法则产生固定长度的散列值。SHA-1 算法产生 160 位的散列值,并且用在 DSS 中。生日攻击是通过穷举对散列函数进行的一种攻击。攻击者试图创建两条具有相同散列值的不同消息。一次性密码本使用随机的密钥值和消息进行异或运算,从而生成密文。一次性密码本至少与消息一样长,并且使用一次之后就被丢弃。数字签名是用户使用私
8、钥对散列值进行签名的结果,它提供身份验证、数据完整性和不可否认性。签名动作实际上是使用私钥加密散列值。用于数字签名的算法示例包括 RSA、El Gamal、ECDSA 和 DSA。密钥管理是密码学中最富有挑战性的部分之一,它涉及加密密钥的创建、维护、分发和销毁。Diffie-Hellman 协议是一种密钥约定协议,它并不提供数据加密,而且不能用在数字签名中。TLS 是 SSL 的“下一版本” ,并且是一种开放社区协议,它允许扩展以及与其他技术的互操作性。链路加密加密整个分组,包括首部和尾部,并且分组在每一跳上都要解密。端对端加密并不加密首部和尾部,因此不需要在每一跳上解密。保密增强邮件(Pri
9、vacy-Enhanced Mail,PEM )是一种通过使用加密、数字签名和密钥管理而在 Internet 上提供安全电子邮件的 Internet 标准。消息安全协议(Message Security Protocal,MSP ) , 是军用的 PEM。可靠加密(Pretty Good Privacy,PGP )是一种使用公钥加密的电子邮件保护程序,它利用可信 WEB,而不是 PKI 中使用的层次化结构。S-HTTP 为两台计算机之间传送的每一条消息 (但不是实际的链路)都提供保护。HTTPS 保护通信通道。HTTPS 指的是 HTTP 使用 SSL 来实现安全目的。安全电子交易(Secure Electronic Transaction,SET)是一种被提议的电子商务技术,它为客户和商家提供了一种更安全的、在上实现交易的方法。在 IPSec 中,AH 提供完整性和身份验证,而 ESP 则提供上述功能以及机密性。IPSEC 协议可以工作在两种模式中:传输模式(保护数据净荷)和隧道模式(保护数据净荷与首部。IPSEC 使用 IKE 作为其密钥交换协议。IKE 是一种事实标准,它是 ISAKMP 和 OAKLEY 的组合。DEA 是用于 DES 标准的算法。