NEWS
前沿技術(shù)|GM/T 0009《SM2密碼算法使用規(guī)范》新老標(biāo)準(zhǔn)對比分析
發(fā)布時間: 2024-07-09 18:03摘要
本文檔對比GM/T 0009《SM2密碼算法使用規(guī)范》的新版本(2023版)和老版本(2012版)的差異,并給出支持新版本標(biāo)準(zhǔn)的升級建議以供參考。
背景
2023年12月,國家密碼管理局在第45號公告[1]中發(fā)布信息:自2024年6月1日起實施GM/T 0009—2023《SM2密碼算法使用規(guī)范》[2](以下簡稱新版標(biāo)準(zhǔn))等25項密碼行業(yè)標(biāo)準(zhǔn),被代替的老版本GM/T 0009—2012《SM2密碼算法使用規(guī)范》[3](以下簡稱老版標(biāo)準(zhǔn))自2024年6月1日起予以廢止。
GM/T 0009《SM2密碼算法使用規(guī)范》介紹SM2密碼算法使用,其主要內(nèi)容包括:
§ 定義SM2使用方法,例如計算Z值,計算簽名驗簽的雜湊值e等;
§ 定義相關(guān)數(shù)據(jù)格式,例如公私鑰格式、密文格式、簽名數(shù)據(jù)格式等。
本標(biāo)準(zhǔn)是一個處于底層的密碼基礎(chǔ)類標(biāo)準(zhǔn),且影響范圍較大——涉及支持SM2算法的設(shè)備和系統(tǒng)。因此該標(biāo)準(zhǔn)的修訂版不可能和之前版本有太大的差異——牽一發(fā)而動全身。
本文對比GM/T 0009新版本和老版本的差異,并給出支持新版本標(biāo)準(zhǔn)的建議以供參考。
注:本文僅代表個人觀點。如有謬誤,敬請批評指正。聯(lián)系方式見文末。
差異對比
2.1
差異綜述
按新版本的前言所述,GM/T 0009新老版本之間主要有如下差異(見下表)。
新老版本差異總結(jié)如下:
§ 新版本向下兼容老板本
§ 新版本變化小
§ 對支持SM2算法的設(shè)備和系統(tǒng)的影響小
各差異點的詳細(xì)分析可見本章后續(xù)內(nèi)容。
2.2
差異1—SM2私鑰的描述
差異點1“SM2私鑰的描述”,其差異如下表所示。表中信息直接摘錄新老版本標(biāo)準(zhǔn)的描述內(nèi)容,見老版本5.2節(jié)和新版本5.2節(jié)。
本差異點主要是文字性修訂。其中,關(guān)于“私鑰長度”補(bǔ)充如下說明:
§ 老版本:在此處專門說明私鑰長度為256比特;
§ 新版本:在此處未指明私鑰長度,但在條款7.4 b)中明確說明“私鑰明文為高字節(jié)在前的8位字節(jié)串,其長度固定為32字節(jié)”,因此私鑰仍為256比特。
綜上,私鑰長度無實質(zhì)性差異。本差異點影響:極小。
2.3
差異2—SM2公鑰的描述
差異點2“SM2公鑰的描述”,其差異如下表所示。表中信息直接摘錄新老版本標(biāo)準(zhǔn)的描述內(nèi)容,見老版本5.2節(jié)和新版本5.2節(jié)。
本差異點主要是文字性修訂。此外,如前所述,因為私鑰長度無變化仍為256比特,所以公鑰的x和y坐標(biāo)長度不變,都是256比特。
本差異點影響:極小。
2.4
差異3—SM2公鑰的數(shù)據(jù)格式
差異點3“SM2公鑰的數(shù)據(jù)格式”,其差異如下表所示。表中信息直接摘錄新老版本標(biāo)準(zhǔn)的描述內(nèi)容,見老版本7.1節(jié)和新版本7.1節(jié)。
本差異點主要是新版本增加對公鑰壓縮點的支持,這使得公鑰可表述為:
——04 || X || Y:老版本描述的非壓縮點形式;
——02 || X:新版本新增的壓縮點形式,當(dāng)公鑰y分量的最低位為0時;
——03 || X:新版本新增的壓縮點形式,當(dāng)公鑰y分量的最低位為1時。
本差異點影響:中。
2.5
差異4—密鑰對保護(hù)數(shù)據(jù)格式的描述
差異點4“密鑰對保護(hù)數(shù)據(jù)格式的描述”,其差異如下表所示。表中信息直接摘錄新老版本標(biāo)準(zhǔn)的描述內(nèi)容,見老版本7.4節(jié)和新版本7.4節(jié)。
本差異點主要是文字性修訂。
如前所述(見2.2節(jié)),新版本在此處說明“私鑰明文為高字節(jié)在前的8位字節(jié)串,其長度固定為32字節(jié)”,即明確私鑰仍為256比特。
本差異點影響:極小。
2.6
差異5—預(yù)處理1計算Z值的描述
預(yù)處理1是簽名驗簽等涉及的計算Z值的運算。差異點5“預(yù)處理1計算Z值的描述”,其差異如下表所示。表中信息直接摘錄新老版本標(biāo)準(zhǔn)的描述內(nèi)容,見老版本8.1節(jié)和新版本8.1節(jié)。
本差異點主要是文字性修訂,個別記號做了微調(diào)。
本差異點影響:極小。
升級建議
根據(jù)第二章的分析(見2.1 差異綜述)可知,新版本向下兼容老板本,且新版本變化小,對支持SM2算法的設(shè)備和系統(tǒng)的影響小。短期之內(nèi)按老版本執(zhí)行應(yīng)該沒有明顯問題,但仍然建議升級增補(bǔ)公鑰的壓縮點形式以支持新標(biāo)準(zhǔn)。
參考文獻(xiàn)
[1]國家密碼管理局公告(第45號)[EB/OL]. (2023-12-23).
https://www.oscca.gov.cn/sca/xxgk/2023-12/23/content_1061160.shtml
[2]密碼行業(yè)標(biāo)準(zhǔn)化技術(shù)委員會. GM/T 0009—2023 密碼算法使用規(guī)范.
[3]密碼行業(yè)標(biāo)準(zhǔn)化技術(shù)委員會. GM/T 0009—2012 密碼算法使用規(guī)范.