
1949年香农发表《保密系统的通信理论》,标志着现代密码学的真正开始。在这一阶段,密码理论得到了蓬勃发展,密码算法的设计与分析互相促进,密码的使用扩张到各个领域,而且出现了许多通用的加密标准,从而促进了网络和技术的发展。
现代密码主要分为对称密码算法、非对称密码算法、杂凑算法,本篇主要介绍常见的对称密码算法。对称密码体系主要分为序列密码和分组密码。
(一)序列密码
序列密码也称为流密码,它是对称密码算法的一种。序列密码具有实现简单、便于硬件实施、加解密处理速度快、没有或只有有限的错误传播等特点,典型的应用领域包括无线通信、外交通信等。
1.欧洲的SNOW算法
SNOW 3G算法是一种面向字的流密码算法,能通过输入参数产生出经过处理的字节流,且输出与输入一一对应,保密性算法和完整性算法就是通过这个特性对数据进行加密和获取信息摘要的。目前为止已经先后发布了包括SNOW 2.0,SNOW 3G等一系列版本,其中SNOW 3G为上一版本的上级,它能有效保证网络中传输的用户数据和信令数据在射频接口上不被窃听和修改。
2.美国的RC4算法
RC4算法是由Ron Rivest在1987年设计的密钥长度可变的流加密算法簇,之所以称其为簇,是由于其核心部分的S-box长度可为任意,但一般为256字节。RC4已经成为一些常用的协议和标准的一部分,如1997年的WEP和2003/2004年无线卡的WPA;和1995年的SSL,以及后来1999年的TLS。让它如此广泛分布和使用的主要因素是它的简单和速度,不管是软件还是硬件,实现起来都十分容易。
3.ZUC算法
ZUC算法,又称祖冲之算法,是3GPP(3rdGenerationPartnershipProject)机密性算法EEA3和完整性算法EIA3的核心,是由中国自主设计的加密算法。2009年5月ZUC算法获得3GPP安全算法组SA立项,正式申请参加3GPPLTE第三套机密性和完整性算法标准的竞选工作。于2011年9月正式被3GPPSA全会通过,成为3GPPLTE第三套加密标准核心算法。ZUC算法是中国第一个成为国际密码标准的密码算法。
(二)分组密码
分组密码是指对固定长度的一组明文进行加密的一种加密算法,这一固定长度称为分组长度,分组密码也称块密码。分组密码可以分为以下七种工作模式:电码本模式(ECB)、密文分组链接模式(CBC)、密文反馈模式(CFB)、输出反馈模式(OFB)、计数器模式(CTR)、分组链接模式(BC)、带非线性函数的输出反馈模式(OFBNLF)。
1.美国数据加密标准DES算法
DES算法,即美国数据加密标准算法,是1972年美国IBM公司研制的对称密码体制加密算法。明文按64位进行分组,密钥长度为64位,密钥事实上是56位参与DES运算。
随着计算机计算能力的提高,DES密钥过短的问题成为了DES算法安全的隐患。在这种情况下,对于替代DES的要求日益增多。最终,NIST于1997年发布公告,征集新的数据加密标准作为联邦信息处理标准以代替DES。新的数据加密标准称为AES。
尽管如此,DES的出现是现代密码学历史上非常重要的事件。它对于我们分析掌握分组密码的基本理论与设计原理仍然具有重要的意义。
2.高级加密标准AES算法
该算法为比利时密码学家JoanDaemen和VincentRijmen所设计,结合两位作者的名字,以Rijndael命名之。经过五年的甄选流程,高级加密标准AES由美国国家标准与技术研究院(NIST)于2001年11月26日发布于FIPSPUB197,并在2002年5月26日成为有效的标准。2006年,高级加密标准已然成为对称密钥加密中最流行的算法之一。
AES有一个固定的128位的块大小和128,192或256位大小的密钥大小。AES在软件及硬件上都能快速地加解密,相对来说较易于操作,且只需要很少的存储空间。
3.国际数据加密算法IDEA
国际数据加密算法IDEA(InternationalDataEncryptionAlgorithm)是由来学嘉(LaiXuejia)和JamesMasseey于1990年提出第一版,并命名为PES(ProposedEncryptionStandard)。在EuroCrypt'91年会上,来学嘉等又针对PES算法的轮函数作出调整,使得算法能更加有效地抵抗差分密码分析,改进后的PES称为改进的建议加密标准IPES(ImprovedPES)。1992年,又将IPES商品化,正式改名为IDEA,它是对64bit大小的数据块加密的分组加密算法,密钥长度为128位,它基于“相异代数群上的混合运算”的算法设计思想,用硬件和软件实现都很容易且比DES在实现上快的多。IDEA自问世以来,己经历了大量的详细测试分析,对密码分析具有很强的抵抗能力,在多种商业产品中被使用。
4.SM1算法
SM1算法是由国家密码管理局编制的一种商用密码分组标准对称算法。该算法的分组长度和密钥长度都为128比特,算法安全保密强度及相关软硬件实现性能与AES相当,该算法不公开,仅以IP核的形式存在于芯片中。采用该算法已经研制了系列芯片、智能IC卡、智能密码钥匙、加密卡、加密机等安全产品。
5.SM4算法
SM4算法全称为SM4分组密码算法,是国家密码管理局2012年3月发布的第23号公告中公布的密码行业标准。SM4算法是一个分组对称密钥算法,明文、密钥、密文都是16字节,加密和解密密钥相同。加密算法与密钥扩展算法都采用32轮非线性迭代结构。解密过程与加密过程的结构相似,只是轮密钥的使用顺序相反。SM4算法的优点是软件和硬件实现容易,运算速度快。
上一篇:【专题课堂】密码学之近代密码 下一篇:【专题课堂】密码学之现代密码——非对称密码
返回列表