论文部分内容阅读
摘要本文将介绍几种典型的分组密码算法、若干分组密码分析方法与当前分组密码的重点研究方向。
中图分类号:O17文献标识码:A
0 引言
1976年“密码学新方向”的发表和1977年美国数据加密标准DES的颁布实施标志着现代密码学的诞生。此后实用密码体制的研究基本上沿着两个方向进行,即以RSA为代表的公开密钥密码体制和以DES为代表的秘密密钥分组密码体制。
一个好的分组密码具有安全性好、效率高、便于软硬件实现及操作灵活等特点,通常是信息与网络安全中实现数据加密、消息鉴别、认证及密钥管理的核心密码算法,它在现代通信和信息安全系统领域有着普遍的应用,也是保障信息机密性和完整性的重要技术之一。
1分组密码的模型
假设明文x和密文y均为二元数字(0与1)序列。设F2是二元域,F2s表示F2上的维向量空间。假定明文空间和密文空间均为F2m,密钥空间SK是Ft的一个子集合。m是明文和密文的分组长度,t是密钥的长度。一个分组密码可被定义为如下形式:
定义1.1 分组密碼是一种满足下列条件的映射
E:SKF2m→F2m
对每个k∈SK, E(k,·)是从F2m到F2m的一个置换。
2典型的分组密码算法
目前,国际上公开的分组密码很多,比如AES、DES的变形(包括NewDES、多重DES、广义DES等),IDEA系列分组密码(PES、IPES、IDEA),RC系列分组密码(包括RC2、RC5、RC6),Came11ia、CAST-128、CAST-256、CS-Cipher、DEAL、FOX、Iraqi、SEED、Serpent、Skipjack、SEAL、SHARK、SQUARE、SMS4等。可见,分组密码算法很多,我们不可能逐一介绍,下面仅介绍若干典型算法的设计思想以及目前的研究情况。
2.1DES和AES
DES是1977年美国制定的数据加密标准,它是分组密码的典型代表,也是第一个被公布出来的标准算法,整体结构是16轮的Feistel结构,分组长度为64比特,密钥长度为56比特。DES是迄今为止应用最广泛而且最具代表性的分组密码算法,曾经很好地抵抗住了多年的密码分析,对于推动密码理论的发展和应用、推动国际密码学界整体水平的提高发挥了重大作用。分析研究数据加密标准DES,对于掌握分组密码的基本理论、设计思想和分析方法均具有重要的参考价值。
AES是美国国家标准技术研究所(NIST)于2001年公布的新加密标准,AES的征集过程是面向全世界公开透明的,NIST共收到15个候选算法。历经三年多的公开评选,2000年10月,NIST宣布最终获胜者是Rijndael算法。其获胜的主要原因是该算法集安全、性能、效率、可实现性及灵活性于一身, 能抵抗目前已知的所有攻击,能在各种平台上快速有效地实现,并且具有良好的并行性潜力。
2.2 IDEA
Lai Xuejia和Massey于1990年提出了PES(Proposed Encryption Standard)算法。设计者于1991年对PES进行了改进,并将改进后的算法称为IPES(Improved Proposed Encryption Standard)。1992年,设计者又将IPES改名为IDEA(International Data Encryption Algorithm)。
IDEA仍以Shannon的混乱和扩散准则为设计原则,但在设计形式上与DES有很大的不同,“使用来自不同代数群的混合运算”是IDEA所提出的新的设计思想。该算法利用三个“不相容”的群运算(异或、模216加和模216+1乘)以达到混乱,利用乘加密码结构来实现扩散和进一步的混乱;易于硬软件实现;并且从它的提出至今,还未发现有效的攻击方法。
2.3 Camellia
Came11ia的设计目标类似AES的要求,即分组长度是128比特,且支持128、192或256比特三种规模的密钥长度;比三重DES快但至少和三重DES一样安全。Camellia的主要特点有:(1)整体结构为Feistel型结构,而轮函数又采用了一轮SP型结构,具有抵抗差分和线性分析的实际安全性:(2)Camellia的S-盒本质上与AES的S-盒相同,但Camellia共用了四个不同的S-盒,而AES仅用了一个S-盒;(3)Camellia的扩散层并没有像AES一样使用MDS变换。为了追求更高的软硬件实现效率,Camellia的扩散层仅仅使用字节间的异或运算。到目前为止,还没有发现Camellia的安全缺陷。
3 分组密码的分析方法
差分分析和线性分析是分组密码最著名的两个分析方法,和它们密切相关的有高阶差分分析、不可能差分攻击、截断差分分析、多重线性分析、划分线性分析、非线性分析、差分-线性密码分析等。近几年在对AES等分组密码算法的分析研究中,又相继涌现了代数攻击、相关密钥攻击、积分密码分析、Boomerang攻击、侧信道攻击等更加有效的分析方法。下面主要介绍一下代数攻击、积分密码分析和侧信道攻击。
3.1 代数攻击
一般地,分组密码的子模块都可以用一组代数方程来描述,如果把这些对子模块的描述组合起来,就能得到一个描述整个密码算法的大方程组。如果求解这个大方程组比蛮力攻击快,那么就认为该密码系统被破译了。
2002年Nicolas Courtois等人提出了针对AES的代数攻击,把对AES的破译转化成如何求解一类方程组的问题。截止目前,有好几种求解这类方程组的方法,如重线性化方法、XSL方法、连分式表示法等,但是都没有直接导致破译AES。显然,代数攻击的进一步研究,需要在求解这类方程组的数学方法上取得重大突破。
3.2 积分密码分析
积分密码分析的基本思想是:通过分析一些中间状态的异或值经过几轮密码变换后的演变来恢复某些密钥比特;而差分密码分析的基本思想是:通过分析两个中间状态的差值经过几轮密码变换后的变化情况来恢复某些密钥比特。可以将积分密码分析看做与差分密码分析相对应的一种密码分析方法。人们用积分密码分析对Square、AES、IDEA和Camellia等密码作了分析,结果表明,积分密码分析是一种比较有效的密码分析方法。
3.3 侧信道攻击
侧信道攻击己对密码模块的安全形成了重大威胁。目前主要的侧信道攻击方法包括计时攻击、能量分析攻击、故障攻击、电磁攻击、缓存攻击等。近年来的大量研究结果表明侧信道攻击要比传统的基于数学分析的攻击更加有效,同时也更易于实现。可见仅能抵抗传统的密码分析方法,但无法在各计算平台或运算环境中安全实现的加密算法是不够安全的。因此加密算法的设计者和实现者都要重视侧信道攻击的威胁。
4 当前分组密码的重点研究方向
分组密码是现代密码学中的一个重要的研究方向,其诞生和发展有着广泛的实用背景和重要的理论意义。分组密码的研究主要有以下几个方向:(1)设计追求完美的分组密码和用于设计分组密码的各种组件的研究;(2)分组密码的实现研究,包括软件优化、硬件实现和专用芯片等;(3)分组密码安全性综合评估原理与准则的研究;(4)安全性分析的自动化;(5)AES的分析及其应用研究。
5小结
信息安全越来越重要,分组密码在信息安全中占据重要地位,更是许多密码系统的核心要素。本文介绍了几种典型的分组密码算法、若干分组密码分析方法以及目前分组密码的重点研究方向。分组密码的发展在可证明安全性、算法评估的实用化以及分组密码工作模式等方面还不够成熟,需要广大科技工作者的进一步研究。
参考文献
[1]吴文玲,冯登国,张文涛.分组密码的设计与分析[M].北京:清华大学出版社,2009.10.
[2]金晨辉,郑浩然,张少武,等.密码学[M].北京:高等教育出版社,2009.11.
[3]冯登国.国内外密码学研究现状及发展趋势[J].通信学报,2002.
[4]吴文玲,冯登国,等.欧洲21世纪数据加密标准候选算法简评[J].软件学报,2001.
[5]赵剑,杜钦生,王冰冰.分组密码发展现状[J].吉林:长春大学学报,2006.16(6).
[6]蔡乐才.应用密码学[M].北京:中国电力出版社,2000.
中图分类号:O17文献标识码:A
0 引言
1976年“密码学新方向”的发表和1977年美国数据加密标准DES的颁布实施标志着现代密码学的诞生。此后实用密码体制的研究基本上沿着两个方向进行,即以RSA为代表的公开密钥密码体制和以DES为代表的秘密密钥分组密码体制。
一个好的分组密码具有安全性好、效率高、便于软硬件实现及操作灵活等特点,通常是信息与网络安全中实现数据加密、消息鉴别、认证及密钥管理的核心密码算法,它在现代通信和信息安全系统领域有着普遍的应用,也是保障信息机密性和完整性的重要技术之一。
1分组密码的模型
假设明文x和密文y均为二元数字(0与1)序列。设F2是二元域,F2s表示F2上的维向量空间。假定明文空间和密文空间均为F2m,密钥空间SK是Ft的一个子集合。m是明文和密文的分组长度,t是密钥的长度。一个分组密码可被定义为如下形式:
定义1.1 分组密碼是一种满足下列条件的映射
E:SKF2m→F2m
对每个k∈SK, E(k,·)是从F2m到F2m的一个置换。
2典型的分组密码算法
目前,国际上公开的分组密码很多,比如AES、DES的变形(包括NewDES、多重DES、广义DES等),IDEA系列分组密码(PES、IPES、IDEA),RC系列分组密码(包括RC2、RC5、RC6),Came11ia、CAST-128、CAST-256、CS-Cipher、DEAL、FOX、Iraqi、SEED、Serpent、Skipjack、SEAL、SHARK、SQUARE、SMS4等。可见,分组密码算法很多,我们不可能逐一介绍,下面仅介绍若干典型算法的设计思想以及目前的研究情况。
2.1DES和AES
DES是1977年美国制定的数据加密标准,它是分组密码的典型代表,也是第一个被公布出来的标准算法,整体结构是16轮的Feistel结构,分组长度为64比特,密钥长度为56比特。DES是迄今为止应用最广泛而且最具代表性的分组密码算法,曾经很好地抵抗住了多年的密码分析,对于推动密码理论的发展和应用、推动国际密码学界整体水平的提高发挥了重大作用。分析研究数据加密标准DES,对于掌握分组密码的基本理论、设计思想和分析方法均具有重要的参考价值。
AES是美国国家标准技术研究所(NIST)于2001年公布的新加密标准,AES的征集过程是面向全世界公开透明的,NIST共收到15个候选算法。历经三年多的公开评选,2000年10月,NIST宣布最终获胜者是Rijndael算法。其获胜的主要原因是该算法集安全、性能、效率、可实现性及灵活性于一身, 能抵抗目前已知的所有攻击,能在各种平台上快速有效地实现,并且具有良好的并行性潜力。
2.2 IDEA
Lai Xuejia和Massey于1990年提出了PES(Proposed Encryption Standard)算法。设计者于1991年对PES进行了改进,并将改进后的算法称为IPES(Improved Proposed Encryption Standard)。1992年,设计者又将IPES改名为IDEA(International Data Encryption Algorithm)。
IDEA仍以Shannon的混乱和扩散准则为设计原则,但在设计形式上与DES有很大的不同,“使用来自不同代数群的混合运算”是IDEA所提出的新的设计思想。该算法利用三个“不相容”的群运算(异或、模216加和模216+1乘)以达到混乱,利用乘加密码结构来实现扩散和进一步的混乱;易于硬软件实现;并且从它的提出至今,还未发现有效的攻击方法。
2.3 Camellia
Came11ia的设计目标类似AES的要求,即分组长度是128比特,且支持128、192或256比特三种规模的密钥长度;比三重DES快但至少和三重DES一样安全。Camellia的主要特点有:(1)整体结构为Feistel型结构,而轮函数又采用了一轮SP型结构,具有抵抗差分和线性分析的实际安全性:(2)Camellia的S-盒本质上与AES的S-盒相同,但Camellia共用了四个不同的S-盒,而AES仅用了一个S-盒;(3)Camellia的扩散层并没有像AES一样使用MDS变换。为了追求更高的软硬件实现效率,Camellia的扩散层仅仅使用字节间的异或运算。到目前为止,还没有发现Camellia的安全缺陷。
3 分组密码的分析方法
差分分析和线性分析是分组密码最著名的两个分析方法,和它们密切相关的有高阶差分分析、不可能差分攻击、截断差分分析、多重线性分析、划分线性分析、非线性分析、差分-线性密码分析等。近几年在对AES等分组密码算法的分析研究中,又相继涌现了代数攻击、相关密钥攻击、积分密码分析、Boomerang攻击、侧信道攻击等更加有效的分析方法。下面主要介绍一下代数攻击、积分密码分析和侧信道攻击。
3.1 代数攻击
一般地,分组密码的子模块都可以用一组代数方程来描述,如果把这些对子模块的描述组合起来,就能得到一个描述整个密码算法的大方程组。如果求解这个大方程组比蛮力攻击快,那么就认为该密码系统被破译了。
2002年Nicolas Courtois等人提出了针对AES的代数攻击,把对AES的破译转化成如何求解一类方程组的问题。截止目前,有好几种求解这类方程组的方法,如重线性化方法、XSL方法、连分式表示法等,但是都没有直接导致破译AES。显然,代数攻击的进一步研究,需要在求解这类方程组的数学方法上取得重大突破。
3.2 积分密码分析
积分密码分析的基本思想是:通过分析一些中间状态的异或值经过几轮密码变换后的演变来恢复某些密钥比特;而差分密码分析的基本思想是:通过分析两个中间状态的差值经过几轮密码变换后的变化情况来恢复某些密钥比特。可以将积分密码分析看做与差分密码分析相对应的一种密码分析方法。人们用积分密码分析对Square、AES、IDEA和Camellia等密码作了分析,结果表明,积分密码分析是一种比较有效的密码分析方法。
3.3 侧信道攻击
侧信道攻击己对密码模块的安全形成了重大威胁。目前主要的侧信道攻击方法包括计时攻击、能量分析攻击、故障攻击、电磁攻击、缓存攻击等。近年来的大量研究结果表明侧信道攻击要比传统的基于数学分析的攻击更加有效,同时也更易于实现。可见仅能抵抗传统的密码分析方法,但无法在各计算平台或运算环境中安全实现的加密算法是不够安全的。因此加密算法的设计者和实现者都要重视侧信道攻击的威胁。
4 当前分组密码的重点研究方向
分组密码是现代密码学中的一个重要的研究方向,其诞生和发展有着广泛的实用背景和重要的理论意义。分组密码的研究主要有以下几个方向:(1)设计追求完美的分组密码和用于设计分组密码的各种组件的研究;(2)分组密码的实现研究,包括软件优化、硬件实现和专用芯片等;(3)分组密码安全性综合评估原理与准则的研究;(4)安全性分析的自动化;(5)AES的分析及其应用研究。
5小结
信息安全越来越重要,分组密码在信息安全中占据重要地位,更是许多密码系统的核心要素。本文介绍了几种典型的分组密码算法、若干分组密码分析方法以及目前分组密码的重点研究方向。分组密码的发展在可证明安全性、算法评估的实用化以及分组密码工作模式等方面还不够成熟,需要广大科技工作者的进一步研究。
参考文献
[1]吴文玲,冯登国,张文涛.分组密码的设计与分析[M].北京:清华大学出版社,2009.10.
[2]金晨辉,郑浩然,张少武,等.密码学[M].北京:高等教育出版社,2009.11.
[3]冯登国.国内外密码学研究现状及发展趋势[J].通信学报,2002.
[4]吴文玲,冯登国,等.欧洲21世纪数据加密标准候选算法简评[J].软件学报,2001.
[5]赵剑,杜钦生,王冰冰.分组密码发展现状[J].吉林:长春大学学报,2006.16(6).
[6]蔡乐才.应用密码学[M].北京:中国电力出版社,2000.