【密码学】一万字带您走进密码学的世界(上)



密码学是研究编制密码和破译密码的技术科学。研究密码变化的客观规律,应用于编制密码以保守通信秘密的,称为编码学;应用于破译密码以获取通信情报的,称为破译学,总称密码学。

为了使读者对密码学有一个整体的认识,本文简述了常见的密码学的概念,其中本文包括对称密码,哈希函数。
《一万字带您走进密码学的世界(下)》包括非对称密码,数字签名,数字认证等,需要指出的是文中并没有深入探讨加密算法原理,关于此部分内容,后续的文章会详细阐述。本文的主要内容如下图所示:

图片名称

对称密码

在对称密码体系中,相同的密码用来加密和解密报文,因此无论对发送者还是接收者他们都知道秘钥,解密和解密的过程:
$M表示明文$
$K表示秘钥$
$C表示密文$

图片名称

$E表示加密函数$
$D表示解密函数$

对称密码可以分为两类:分组密码和序列密码

分组密码

分组密码(Block Cipher):以一个数据块(比如64位连续的比特数据)为单位进行加密,将明文消息编码表示后的数字(简称明文数字)序列,划分成长度为n的组(可看成长度为n的矢量),每组分别在密钥的控制下变换成等长的输出数字(简称密文数字)序列。
常见的分组密码分为以下几类:

Feistel 密码

在密码学研究中,Feistel 密码结构是用于分组密码中的一种对称结构。以它的发明者 Horst Feistel 为名,而Horst Feistel 本人是一位物理学家兼密码学家,在他为 IBM 工作的时候,为Feistel 密码结构的研究奠定了基础。很多密码标准都采用了Feistel 结构,其中包括DES。Feistel 的优点在于:由于它是对称的密码结构,所以对信息的加密和解密的过程就极为相似,甚至完全一样。这就使得在实施的过程中,对编码量和线路传输的要求就减少了几乎一半。

DES

数据加密标准(英语:Data Encryption Standard,缩写为 DES)是一种对称密钥加密块密码算法,1976年被美国联邦政府的国家标准局确定为联邦资料处理标准(FIPS),随后在国际上广泛流传开来。它基于使用56位密钥的对称算法

AES

高级加密标准(英语:Advanced Encryption Standard,缩写:AES),在密码学中又称Rijndael加密法,是美国联邦政府采用的一种区块加密标准。这个标准用来替代原先的DES,已经被多方分析且广为全世界所使用。经过五年的甄选流程,高级加密标准由美国国家标准与技术研究院(NIST)于2001年11月26日发布于FIPS PUB 197,并在2002年5月26日成为有效的标准。2006年,高级加密标准已然成为对称密钥加密中最流行的算法之一。

分组密码几种模式

分组(block)密码的工作模式(mode of operation)允许使用同一个分组密码密钥对多于一块的数据进行加密,并保证其安全性。分组密码自身只能加密长度等于密码分组长度的单块数据,若要加密变长数据,则数据必须先被划分为一些单独的密码块。通常而言,最后一块数据也需要使用合适填充方式将数据扩展到匹配密码块大小的长度。一种工作模式描述了加密每一数据块的过程,并常常使用基于一个通常称为初始化向量的附加输入值以进行随机化,以保证安全,

电子密码本(ECB)

最简单的加密模式即为电子密码本(Electronic codebook,ECB)模式。需要加密的消息按照块密码的块大小被分为数个块,并对每个块进行独立加密.加密过程如下:

图片名称

解密过程如下:

图片名称

密码块链接(CBC)

在CBC模式中,每个平文块先与前一个密文块进行异或后,再进行加密。在这种方法中,每个密文块都依赖于它前面的所有平文块。同时,为了保证每条消息的唯一性,在第一个块中需要使用初始化向量。
加密过程如下:

图片名称

解密过程如下:

图片名称

填充密码块链接(PCBC)

填充密码块链接(PCBC,Propagating cipher-block chaining)或称为平文密码块链接(Plaintext cipher-block chaining)[15][16],是一种可以使密文中的微小更改在解密时导致平文大部分错误的模式,并在加密的时候也具有同样的特性。
加密过程如下:

图片名称

解密过程如下:

图片名称

密文反馈(CFB)


上一篇:财政部河南监管局:李建宇率队赴濮阳市开展中
下一篇:洪钟股价连续19天低于1元退市基本已成定�