国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

國產(chǎn)商用密碼算法SM2 及其相關(guān)標(biāo)準(zhǔn)介紹

2021-04-01 13:39:39謝宗曉李達(dá)馬春旺
關(guān)鍵詞:密碼學(xué)數(shù)字簽名公鑰

謝宗曉 李達(dá) 馬春旺

1 概述

公鑰密碼算法的產(chǎn)生主要是為了解決密鑰分發(fā)困難的問題1)。1976年,Whitfield Diffie和Martin Hellman提出了公開密鑰加密的設(shè)計(jì)思想,但當(dāng)時(shí)并未能給出實(shí)現(xiàn)的算法。之后,有多種算法被提出,但經(jīng)得住考驗(yàn)得到大面積應(yīng)用的主要是Ron Rivest、Adi Shamir和Leonard Adleman在1978年提出的RSA算法。直到現(xiàn)在,RSA幾乎成了公鑰密碼領(lǐng)域事實(shí)上的標(biāo)準(zhǔn)。關(guān)于公鑰密碼算法的更多基礎(chǔ)知識,請參考文獻(xiàn)[1]。

RSA算法的安全性,主要是基于大整數(shù)質(zhì)因數(shù)分解的困難性,這意味著如果這個(gè)整數(shù)太小,就很容易受到暴力攻擊。所以,RSA算法的密鑰,越來越長。NIST2)建議在2010年12月31日前停止使用RSA1024,升級至RSA2048。當(dāng)然,到目前,也沒有明確的證據(jù)表明RSA1024已經(jīng)被破解了,但是從當(dāng)前計(jì)算能力的升級速度推測,RSA1024確實(shí)已經(jīng)不安全了。

密鑰長度的不斷增加意味著效率在不停地降低,與一味地增加密鑰長度相比,尋求更合適的陷門單向函數(shù)是解決這個(gè)問題更佳途徑。Neal Koblitz3)和Victor Miller4)分別獨(dú)立地在1985年將橢圓曲線引入密碼學(xué)領(lǐng)域。

2 橢圓曲線密碼學(xué)

橢圓曲線密碼學(xué)(Elliptic curve cryptography,ECC)的數(shù)學(xué)基礎(chǔ)遠(yuǎn)沒有RSA算法那么易于理解。首先,橢圓曲線和橢圓是兩碼事,兩者之間聯(lián)系不大。最常見的橢圓曲線方程,如公式(1)典型的二元三次方程。

但是這個(gè)方程的幾何表現(xiàn)形式并不是橢圓,或者說,跟橢圓基本沒什么關(guān)系。其圖形如圖1中的示例。

之所以被命名為橢圓曲線方程,是因?yàn)閳A周長有固定的公式,很容易求解,但是橢圓就復(fù)雜得多,開始人們想利用微積分計(jì)算橢圓的周長,其最終表達(dá)式類似于公式(2)。

公式(2)中矩形框標(biāo)識出來的分母,與公式(1)基本一致,因此形如公式(1)這樣的方程,被稱為“橢圓曲線”。可見,橢圓曲線密碼的基礎(chǔ)知識相對RSA而言要抽象得多。因此,GB/T 32918.1—2016《信息安全技術(shù) SM2橢圓曲線公鑰密碼算法 第1部分:總則》先給出了SM2橢圓曲線公鑰密碼算法涉及的必要數(shù)學(xué)基礎(chǔ)知識與相關(guān)密碼技術(shù),在后續(xù)的部分中討論具體的密碼機(jī)制。

我們不去討論抽象的阿貝爾群等抽象的概念,直接看圖2,橢圓曲線關(guān)于X軸是對稱的。在橢圓曲線上定義二元運(yùn)算,即橢圓曲線上的加法。

圖2中,曲線上的兩個(gè)點(diǎn)A和B,連接兩點(diǎn)的直線與曲線有且僅有一個(gè)交點(diǎn),該交點(diǎn)關(guān)于X軸的對稱點(diǎn),即為A+B。如果A點(diǎn)和B點(diǎn)重合,那么就尋找其切線與曲線的交點(diǎn),對稱點(diǎn)為2A。因此,曲線上的任意點(diǎn)G,我們可以找到,2G,3G,…,nG。G為基點(diǎn),nG為多倍點(diǎn)。

顯然,已知G,求解nG非常簡單,但是已知nG,求解n則很困難。這就具備了單向函數(shù)的基本特征。已知多倍點(diǎn)與基點(diǎn),求解倍數(shù)的問題稱為橢圓曲線離散對數(shù)問題,一般橢圓曲線的離散對數(shù)問題,求解計(jì)算的復(fù)雜度是指數(shù)級。

橢圓曲線密碼學(xué)的理論基礎(chǔ)就是基于橢圓曲線離散對數(shù)的數(shù)學(xué)難題。GB/T 32918系列標(biāo)準(zhǔn)的引言中指出:與大數(shù)分解問題及有限域上離散對數(shù)問題相比,橢圓曲線離散對數(shù)問題的求解難度要大得多。因此,同等強(qiáng)度的橢圓曲線密碼學(xué)在安全性和效率上比RSA都有大幅度提升。

3 SM2密碼算法標(biāo)準(zhǔn)

國家密碼管理局于2010年12月17日5)發(fā)布了國產(chǎn)商用密碼算法SM2。在算法大類上,SM2屬于公鑰密碼算法(非對稱密碼算法),就具體實(shí)現(xiàn)而言,SM2屬于橢圓曲線密碼算法。2012年,SM2被采納為GM/T 0003系列標(biāo)準(zhǔn),2016年轉(zhuǎn)化為GB/T 32918系列標(biāo)準(zhǔn)。

SM2的發(fā)布,主要是為了滿足電子認(rèn)證服務(wù)系統(tǒng)等應(yīng)用需求。表1中給出了SM2密碼算法標(biāo)準(zhǔn)的5個(gè)部分。

GB/T 32918.1—2016主要介紹了橢圓曲線密碼學(xué)所用到的必要的數(shù)學(xué)基礎(chǔ),包括有限域和橢圓曲線等,在第6章中討論了密鑰對的生成,以及公鑰的驗(yàn)證,附錄C中有橢圓曲線的示例。

GB/T 32918.2—2016描述了用橢圓曲線所實(shí)現(xiàn)的數(shù)字簽名算法和SM2簽名算法,關(guān)于數(shù)字簽名的更多資料,請參考文獻(xiàn)[2]和[3]。GB/T 32918.2—2016中,第5章介紹了數(shù)字簽名算法,第6章介紹了數(shù)字簽名生成算法及其流程,第7章介紹了數(shù)字簽名驗(yàn)證算法及其流程。

GB/T 32918.3—2016規(guī)定了SM2橢圓曲線公鑰密碼算法的密鑰交換協(xié)議,并給出了密鑰交換與驗(yàn)證示例及其相應(yīng)的流程。在密鑰交換協(xié)議中,要用到輔助函數(shù),包括密碼雜湊函數(shù)、密鑰派生函數(shù)和隨機(jī)數(shù)發(fā)生器。其中密碼雜湊函數(shù)用到了SM3。

GB/T 32918.4—2016描述了用橢圓曲線所實(shí)現(xiàn)的公鑰加密算法,SM2加密算法。在簽名算法中,簽名者用自己私鑰加密,驗(yàn)證者用簽名者的公鑰解密,這就保證了消息發(fā)送者是唯一持有密鑰的人。在SM2加密算法中,用接收者的公鑰加密,接收者用自己的私鑰解密,這解決了最基本的密鑰傳輸難題。

GB/T 32918.2—2016和GB/T 32918.4—2016實(shí)際給出了SM2最典型的兩種用法。

GB/T 32918.5—2016給出了SM2橢圓曲線公鑰密碼算法的曲線參數(shù)。

4 SM2相關(guān)標(biāo)準(zhǔn)

密碼行業(yè)標(biāo)準(zhǔn)化技術(shù)委員會(huì)還發(fā)布了關(guān)于SM2的一系列相關(guān)標(biāo)準(zhǔn),具體如表2所示。

GB/T 35276—2017與GM/T 0009—2012,

GB/ T 35275—2017與GM/ T 0010—2012保持了一致。但是,GB/T 20518—2018與GB/T 25056—2018則是根據(jù)GM/T 0015—2012或GM/T 0034—2014進(jìn)行了修訂。

GB/T 35276—2017定義了SM2密碼算法的使用方法,以及密鑰、加密和簽名等的數(shù)據(jù)格式。GB/T 35275—2017則是規(guī)定了SM2密碼算法的加密簽名的消息語法。

GB/T 20518之前有2006年版本,2018年為修訂版本,GB/T 25056—2018明確地指出應(yīng)該優(yōu)先使用國產(chǎn)密碼算法,例如,SM2和SM3等。標(biāo)準(zhǔn)中要求,在證書或CertificateList中的SignatureAlgorithm字段,來標(biāo)識使用的算法。GB/T 25056—2018之前有2010年版本,該標(biāo)準(zhǔn)則是針對數(shù)字認(rèn)證系統(tǒng)。

5 小結(jié)

SM2密碼算法,尤其是基于SM2的數(shù)字簽名技術(shù),在國內(nèi)金融等行業(yè)已經(jīng)得到廣泛的應(yīng)用,逐步替代了基于RSA算法的數(shù)字簽名。與大整數(shù)質(zhì)因數(shù)分解為數(shù)學(xué)基礎(chǔ)的RSA算法相比,以橢圓曲線離散對數(shù)為數(shù)學(xué)基礎(chǔ)的SM2,所需要的密鑰長度比較短,也就是說,同樣的密鑰長度,橢圓曲線密碼可以提供更高等級的安全。

(注:本文僅做學(xué)術(shù)探討,與作者所在單位觀點(diǎn)無關(guān))

參考文獻(xiàn)

[1] 謝宗曉,董坤祥,甄杰.公鑰基礎(chǔ)設(shè)施(PKI)的發(fā)展過程及其架構(gòu)[J].中國質(zhì)量與標(biāo)準(zhǔn)導(dǎo)報(bào), 2020(5):17-20.

[2] 謝宗曉,甄杰.公鑰基礎(chǔ)設(shè)施(PKI)國家標(biāo)準(zhǔn)解析[J].中國質(zhì)量與標(biāo)準(zhǔn)導(dǎo)報(bào), 2018(12):18-21.

[3] 謝宗曉,劉琦.公鑰基礎(chǔ)設(shè)施(PKI)國際標(biāo)準(zhǔn)進(jìn)展[J].金融電子化,2018(10):56-58.

[4] 霍煒,郭啟全,馬原.商用密碼應(yīng)用與安全性評估[M]. 北京:中國工信出版社/電子工業(yè)出版社,2020.

[5] 鄭昉昱,林璟鏘,魏榮,等.密碼應(yīng)用安全技術(shù)研究及軟件密碼模塊檢測的討論[J].密碼學(xué)報(bào), 2020,7(3):290-310.

猜你喜歡
密碼學(xué)數(shù)字簽名公鑰
淺析計(jì)算機(jī)安全防護(hù)中數(shù)字簽名技術(shù)的應(yīng)用
圖靈獎(jiǎng)獲得者、美國國家工程院院士馬丁·愛德華·海爾曼:我們正處于密鑰學(xué)革命前夕
一種基于混沌的公鑰加密方案
密碼學(xué)課程教學(xué)中的“破”與“立”
基于數(shù)字簽名的QR碼水印認(rèn)證系統(tǒng)
HES:一種更小公鑰的同態(tài)加密算法
SM2橢圓曲線公鑰密碼算法綜述
矩陣在密碼學(xué)中的應(yīng)用
基于格的公鑰加密與證書基加密
基于數(shù)字簽名和HSM的數(shù)據(jù)庫篡改檢測機(jī)制
紫金县| 郑州市| 五家渠市| 宣化县| 石台县| 翁牛特旗| 玉田县| 通许县| 蒙自县| 鸡东县| 余庆县| 静宁县| 清河县| 安达市| 陆川县| 甘德县| 工布江达县| 建德市| 通辽市| 博乐市| 望谟县| 蒙山县| 南昌县| 乌兰察布市| 图们市| 游戏| 六盘水市| 长岛县| 手游| 筠连县| 江山市| 台东市| 安吉县| 桃江县| 搜索| 呼伦贝尔市| 团风县| 黄陵县| 松滋市| 新巴尔虎右旗| 龙岩市|