密码历史的发展的3个阶段:古典密码、机械密码(近代密码)、现代密码。
密码技术的两大动力:信息系统的应用需求和攻击威胁
一、 国外密码算法发展史
- 1948 香农发表《通信的数学理论》和1949农发表《保密系统的通信理论》精辟阐明了关于密码系统的设计、分析和评价的科学思想
- 1973 IBM 公司密码学者 Horst Feistel 开始设计一种分组密码算法-DES算法
- 1976 Diffiffiffie 和 Hellman 发表题为《密码学的新方向》首次证明了在发送端和接收端无密钥传输的保密通信是可能的,从而开创了密码学的新纪元。
- 1977 Rivest、Shamir 和 Adleman 三人提出了第一个比较完善和实用的公钥加密算法和签名方案,这就是著名的 RSA 算法
- 1985年另一个强大而实用的公钥方案被公布,称作ElGamal 算法
- 1997 年 9 月AES 算法候选提名最终要求公布,基本要求是分组密码,分组长度 128 比特,密钥长度支持 128 比特、192比特和 256 比特 比利时密码学家设计的 Rijndael 算法
- 1998 年 7 月 电子前线基金会(EFF)使用一台 25 万美元的计算机在 56 小时内破译了 DES 算法
- 1998 年 12 月 美国正式决定不再使用 DES 算法
二、我国密码发展史
- 1996年7月,中央办公厅印发《关于发展商用密码和加强对商用密码管理工作的通知》
- 1999年10月,国务院颁布实施《商用密码管理条例》
- 2002年,国家商用密码办公室成立,负责全国商用密码管理工作
- 2005年1月,国家密码管理委员会办公室更名为国家密码管理局
- 2005年12月,国家密码管理局公布商用密码科研、生产、销售管理规定
- 2007年3月,国家密码管理局公布《商用密码产品使用管理规定》
- 2007年3月,国家密码管理局公布《境外组织和个人在华使用密码产品管理办法》
- 2008年3月,国家密码管理局列入国务院机构序列
- 2010年12月,国家密码管理局发布《SM2椭圆曲线公钥密码算法》
- 2010年12月,国家密码管理局发布《SM3密码杂凑算法》
- 2016年3月,国家密码管理局发布《SM9密码标识算法》等2项密码行业标准公告
- 2017年4月,国家密码管理局就《密码法(草案征求意见稿)》公开征求意见
- 2019年6月,十三届全国人大常委会第十一次会议初次审议《密码法》草案
三、我国的商用密码算法
- SM1
即商密1号算法,亦称SCB2算法,该算法是国家密码管理部门审批的SM1分组密码算法,分组长度和密钥长度都为128比特,算法安全保密强度及相关软硬件实现性能与AES相当,不公开,仅以IP核的形式存在于芯片中。采用该算法已经研制了系列芯片、智能IC卡、智能密码钥匙、加密卡、加密机等安全产品,广泛应用于电子政务、电子商务及国民经济的各个应用领域(包括国家政务通、警务通等重要领域)。 - SM2
SM2算法是基于椭圆曲线的公钥密码算法,在我国商用密码体系中被用来替换RSA算法,目前支持SM2算法的产品已达1000余款,广泛应用于电子政务、移动办公、电子商务、移动支付、电子证书等基础设施、云服务等领域。 - SM3
SM3是中华人民共和国政府采用的一种密码散列函数标准,主要用于数字签名及验证、消息认证码生成及验证、随机数生成等。其算法公开,安全性及效率与SHA-256相当。该算法已成为我国电子签名类密码系统、计算机安全登录系统、计算机安全通信系统、数字证书、 网络安全基础设施、安全云计算平台与大数据等领域信息安全的基础技术。 - SM4
SM4算法,是一个分组算法,分组长度和密钥长度均为128比特,加密算法与密钥扩展算法都采用32轮非线性迭代结构,最初作为无线局域网专用密码算法发布,后成为分组密码算法行业标准。目前支持SMS4算法的产品已达700余款,覆盖了各种有对称加密需求的应用。由于SMS4算法最初用于无线局域网芯片WAPI协议中,支持SMS4算法的WAPI无线局域网芯片已超过350多个型号,全球累计出 货量超过70亿颗。在金融领域,仅统计支持SMS4算法的智能密码钥匙出货量已超过1.5亿支。此外,SMS4算法已被纳人可信计算组织(TCG)发布的可信平台模块库规范(TPIM2.0)中。 - SM7
SM7算法,是一种分组密码算法,分组长度为128比特,密钥长度为128比特。SM7适用于非接触式IC卡,应用包括身份识别类应用(门禁卡、工作证、参赛证),票务类应用(大型赛事门票、展会门票),支付与通卡类应用(积分消费卡、校园一卡通、企业一卡通等)。 - SM9
SM9密码算法为标识密码算法。由于SM9算法标准发布较晚(2016年4月发布),目前支持SM9算法的产品数量尚少(6款),但由于IBc技术灵活易用和方便管理的特点,SM9算法的应用需求十分旺盛。SM9算法不需要申请数字证书,适用于互联网应用的各种新兴应用的安全保密保障,如基于云技术的密码服务、电子邮件安全、智能终端保护、物联网安全、云存储安全等等。这些安全应用可采用手机号码或邮件地址作为公钥,实现数据加密、身份认证、通话加密、通道加密等安全应用,并具有使用方便、易于部署的特点。自标准发布以来,已有厂商着手研制支持SM9算法的智能密码钥匙、标识密码机、密钥管理系统等系列基础产品,更多的应用单位基于SM9算法设计其系统方案。可以预见的是,SM9算法将会在更广的领域发挥其自身优势。 - ZUC算法
ZUC算法,又名祖冲之算法,是中国自主研究的流密码算法。最初是面向4G LTE空口加密设计的序列密码算法,2011年被3GPPm采纳为国际加密标准(3GPPTS 33.401),因此ZUC算法目前主要用于通信领域。根据工信部反馈情况,4G入网检测已要求手机终端全部支持ZUC算法;中国移动针对4GM厂VOLTE网络及窄带物联网(NB— 10T)的空口接人要求全面支持ZUC算法,并以《中国移动VOLTE试点测试规范》和《中国移动窄带物联网安全规范》形式明确。此外,中国移动研制的智能加密移动终端、三零瑞通研制的VOIP语 音加密系统以及兴唐通信研制的链路密码机等密码产品中也都率先支持了ZUC算法,为ZUC算法的进一步推广应用打下坚实基础。