临近2010年年底的时候,在国密局的网站上公布了基于椭圆曲线ECC的SM2公开密钥国密算法和SM3杂凑算法。加上原来的SM1商密对称算法,中国定义的算法终于开始成熟并且以一个大方的姿态展示出来了。

此前,国密局曾经推出过SSF33算法,不过因为算法的细节一直没有公开,虽然在2005版的PBOC2.0规范中加入的该算法,但在银行卡领域一直没有真正意义上的实际应用,同时该算法在保规范中也没有得到真正的实施。加上当年国内芯片自主设计的能力还不足,所以从本质上说SSF33算法基本上被束之高阁。对于算法的不公开很多行业应用也颇有微词,尤其是可能涉及到和国际接轨的银行卡应用,如果中国的密码算法不能得到国际大环境的支持,那么支持商密算法的银行卡就只能被困在国内的市场中,这肯定是中国银联这样野心勃勃的卡片支付组织不能接受的。

另外一些外商因为得不到商密算法,从而在一些项目的竞争中被排除在外,因此各国的商会组织对府也在不断地施压,对于这种不公开密码算法的策略大加诟病,吵嚷着要得到更为平等的国民待遇。

与此相对,韩国推出的SEED算法则在国际会中得到广泛认可,并且最终被很多行业应用所选中,诸如在Java卡规范V2.2以上的版本中已经对SEED算法提供支持。

国际密码学领域普遍的观点认为,如果算法不公开就很难评估算法的安全性。而且由于公开的算法会得到更多人的关注,包括密码分析领域的专家和一些有组织或无组织的密码攻击单位或个人。这样如果该公开的算法能够经受住考验,则说明其安全性是可以信赖的。

总体来看现代密码学的算法主要来自于西方在数学领域的一些研究成果,但是中国的传统理论在密码学领域也有过非常出色的表现,比如应用于RSA算法的中国余数定理。另外,近几年以山东大学为代表的部分高校和研究院所在密码学领域也都取得一些令人骄傲的进展,不过总体上在世界密码学届中国的贡献还很低。除了在基础性研究存在滞后,我们有些密码算法的不公开也或多或少地影响了我们在国际密码学领域的权威地位。

从这次SM2公开的信息来看,我们的密码算法策略开始成熟。因为我们选择的算法不一定非得是我们自己发明的、设计的以此来彰显我们的能力。我们需要做的就是可以准确地评估一个算法的安全强大可靠与否,并且决定该算法能否为我们所用即可。

在美国NIST决定选择一个全新的算法来替代安全性日益受到威胁的DES算法的时候,他们并不是组织专家历时若干年来开发一套全新的算法,而是面向全球征集候选算法,并将该算法命名为AES,结果在若干候选算法中出于对安全性、效率、可实施性、灵活性的综合考虑选中了来自比利时的Joan Daeman和Vincent Rijman所提交的Rijndeal算法,并对其进行某些定制即形成了AES算法。

信息安全从来都是一个国家必须守卫的数字领地,如同守卫我们的疆土一样。而信息的安全并不完全取决于算法是否公开,更重要的是算法要足够安全和可靠。同时也要看到,加密算法也仅仅是保护信息安全的一个手段而已,不能完全依赖加密算法来保证信息的安全。从最近备受国际会关注的维基泄密和其他一些泄密事件来看,并没有任何的算法破解和密钥泄露问题,但是保密的信息却照样在网络上流传。

希望这次公开SM2算法可以作为一个新起点,在我们今后的商用密码领域本着更加开发和更加包容的原则,采用的密码算法越来越强大,信息安全的策略越来越完善和成熟,也希望我们的密码专家在国际密码学界获得越来越多的话语权。

国密局公开SM2和SM3算法或预示中国商密算法将走向开放相关推荐

  1. 算法 从 数中选出_算法可以选出胜出的nba幻想选秀吗

    算法 从 数中选出 Note from Towards Data Science's editors: While we allow independent authors to publish ar ...

  2. 【老生谈算法】matlab实现车牌识别中值滤波算法——车牌识别中值滤波算法

    基于Matlab的车牌识别中值滤波算法的研究与实现 1.原文下载: 本算法原文如下,有需要的朋友可以点击进行下载 序号 原文(点击下载) 本项目原文 [老生谈算法]基于Matlab的车牌识别中值滤波算 ...

  3. 在算法研究过程中如何进行算法创新

    创新一直是一个令人纠结的话题,研究生毕业设计多数需要算法的创新,而博士生毕业更需要大量的创新才行.这里,我们就团队这几年来的工作经验,谈谈如何进行合理的算法创新. 一.创新角度 通常,我们使用一个算法 ...

  4. matlab中存档算法代码,Matlab中的FCM算法代码及中文详解

    Matlab中的FCM算法代码及中文详解 转自:http://xiaozu.renren.com/xiaozu/106512/336681453 function [center, U, obj_fc ...

  5. lru算法实现 redis_Redis中的lru算法实现

    lru是什么 lru(least recently used)是一种缓存置换算法.即在缓存有限的情况下,如果有新的数据需要加载进缓存,则需要将最不可能被继续访问的缓存剔除掉.因为缓存是否可能被访问到没 ...

  6. java 寻路算法_游戏中的寻路算法解析

    游戏角色的自动寻路,已经是游戏中一个历史比较悠久的领域,较为成熟也有很多种实现.这里摘录一句后面所提的参考资料中的描述:"业内AI开发者中有一句话:"寻路已不是问题."我 ...

  7. matlab中值滤波法算法,基于MATLAB中值滤波算法的优化与实现

    总第238期2014年第4期 舰 船 电 子 工 程 Ship Electronic Engineering Vol.34No.437 基于 MATLAB中值滤波算法的优化与实现* 赵建春 刘力源 ( ...

  8. 国密SM1、SM2、SM3、SM4算法资料大全

    SM2国密算法证书解析: http://blog.csdn.net/yyfzy/article/details/46798965 http://blog.csdn.net/sunboy2718/art ...

  9. oracle+rac+算法,Oracle RAC中的投票算法

    两个partition都想以为对方出问题,自己需要接管业务,如果没有投票算法就会导致两个partition同时操作数据库(共享存储)的情况 假设,RAC集群中有三台机器,A,B,C A,B,C都会有3 ...

最新文章

  1. [转载]IE678兼容性前缀区分
  2. 洛谷P1265 公路修建
  3. [机器学习]总结特征工程干货
  4. 幻想和欲望毁了多少苦命的人(修改增加版)
  5. Pytorch基础(二)—— Transforms详解
  6. 入门机器学习(十一)--机器学习系统的设计
  7. 写在弥勒宝贝两周年之际
  8. C#处理鼠标和键盘事件
  9. Hybrid 通信方式
  10. set的erase函数
  11. 单片机c51语言考试试题,51单片机基础知识试题题库(考试用含答案)
  12. 京东p7员工 什么级别_阿里、腾讯、百度、华为、京东等大厂职级及薪资范围
  13. TIBCO Rendezvous
  14. 威廉玛丽学院计算机专业好吗,威廉玛丽学院计算机专业怎么样?
  15. 关于高维空间的一些思考
  16. 根据图片颜色显示背景色
  17. 用Java实现用户登录界面
  18. ghost系统之家Ghost XP SP3加强版V8.0_2010.4[NTFS版]
  19. 计算机net是什么意思翻译,net是什么意思_net的翻译_音标_读音_用法_例句_爱词霸在线词典...
  20. Xlua解析json,你造吗?

热门文章

  1. c语言程序实习心得体会,c语言实习心得体会
  2. Nwafu-OJ-1417 Problem O C语言实习题三——5.图形输出
  3. 虚拟光驱(virtual drive) v7.12 个人版 绿色
  4. FFmpeg开发XPlay2.0播放器-01 qt环境和ffmpeg环境
  5. 数据方舟插件_数据方舟 for Excel工具箱使用说明
  6. Vue 发布文件压缩
  7. 《俞军产品方法论》读书笔记
  8. CSS圆角边框-盒子阴影-文字阴影
  9. 【xilinx xfopencv】Vivado_HLS_ov5640_rgb2gray_hdmi 第一部分
  10. linux内核版本查询