IBM的MARS加密算法实现(1)

3/23/2008来源:软件工程人气:5891

作者:吴真

一、背景知识

1977年颁布的数据加密标准DES算法。其56位长的密码空间在芯片技术和计算技术高速发展的今天,越来越不适应安全需求。1997年9月美国国家标准技术研究所(NIST)提出了征求新的加密标准---AES (Advanced Encryption Standard)的建议,作为一种取代DES的二十世纪加密标准技术。其目标是:(1)执行速度快;(2)易于设计;(3)从大型计算机到智能IC卡(CPU卡)都可实现。1998年8月第一次AES会议(AES1)上,公布了来自12个国家的15种候选AES算法。于1999年8月第二次AES会议(ARD2)上,从中筛选出5个候选算法:

Algorithm Author(s)
(1) MARS IBM (US)
(2) RC6 RSA Laboratories(US)
(3) Rijndael John Danemen,Vincent Rijmen(Belgium)
(4) Serpent Ross Anderson(UK),Eli Bihan(Israel),Lars Knudsen(Nornay)
(5) Twofish BrUCe Schneier,John Kelsey,Doug Whiting,David Wagner,Chris Hall,Nids Ferguson

经过大量的分析及评估后,NIST队伍最终选择了Rijndael。这是在考虑安全,性能,效率,易用和灵活等诸多方面做的一种权衡选择,正如NIST在其报告中称:"所有这五种算法对AES都很安全".本文将介绍一下由IBM公司提出的MARS算法的原理和部分笔者编写的算法实现代码.