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

 

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

你可能感兴趣的:(java,算法,加密,网络,破解)