1,消息和加密
消息(message)称为明文(plaintext)。用某种方法伪装消息以隐藏它的内容的过程称为加密(encryption),被加密的消息称为密文(ciphertext),而把密文转变为明文的过程称为解密(decryption)。
使消息保密的技术和科学叫做密码编码学(cryptography),从事此行的人叫做密码编码者(cryptographer),密码分析者(cryptanalyst)是从事密码分析的专业人员,密码分析学(cryptanalysis)就是破译密文的科学和技术,即揭穿伪装。密码学(cryptology)作为数学的一个分支,包括密码编码学和密码分析学两部分,精于此道的人称为密码学家(cryptologist),现代的密码学家通常也是理论数学家。
2,KEM和DEM
公钥密码学是现代密码学的一个重要组成部分,它解决了对称密码中最困难的两个问题:密钥分配问题和数字签名问题。纯粹的公钥密码算法(只用公钥技术实现的),其消息空间往往被限制在某个特定的区域,而且当消息长度较长时,计算效率非常低,这对于实际应用而言是非常不利的。所以一般把非对称(公钥)技术和对称技术结合起来使用,其中公钥模块用于产生对称密钥,对称模块用于加密消息,这样做不仅能取消对消息空间的限制,而且能提高计算效率。这种对称和非对称混合的技术在公钥加密和签密里得到了最充分的展现。公钥加密分两步进行,第一步用消息接收者的公钥产生一个对称密钥,第二步用对称加密算法加密消息。前一部分被称为密钥封装机制(Key Encapsulation Mechanism,KEM),后一部分被称为数据封装机制(Data Encapsulation Mechanism,DEM),用这种方式构造的公钥加密被称为KEM/DEM混合加密。
《公钥加密与签密的KEM_DEM混合构造》
public key (pk) 公钥
secure key (sk) 私钥
public key encryption (PKE)公钥加密
key encapsulation mechanism (KEM)密钥封装机制
data encapsulation mechanism (DEM)数据封装机制
在实际的加密应用中,目前一种标准的方法是采用混合加密*。这种*发挥了两种密码系统的优势:公钥系统易于密钥分配和对称密码系统的高效率。KEM/DEM机制是一种典型的混合加密方法。相对于一般混合加密,KEM/DEM只需产生一个随机数,而且所选取的对称加密密钥由密钥导出函数(KDF)产生,因此密钥长度不必受限于明文空间。其实,KEM在KEM/DEM中起到密钥传输的作用,在发送者和接收者之间建立共享的会话密钥。一个典型的KEM算法是这样的:发送者首先选取随机数rEM,利用密钥导出函数计算K=KDF(r),用对方的公钥加密r得到C1=Encrypts(r)。接收者使用私钥解密r=Decryptu(C1),即可得K=KDF(r)。于是双方拥有了共享的密钥K。
3,AKE
证密钥交换协议使得通信方在有主动敌手的信道上建立安全的共享会话密钥,同时实现彼此身份的相互认证,在之后的对称密码中用于保证数据的完整性和真实性,具有更高的安全性和实用性。
《格上基于 KEM 的认证密钥交换协议》
authenticated key exchange protocol (AKE)认证密钥交换 协议
unauthenticated key exchange protocol (KE) 该协议无法实现认证