欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種sm2算法程序的檢測方法和系統(tǒng)的制作方法

文檔序號:9547499閱讀:838來源:國知局
一種sm2算法程序的檢測方法和系統(tǒng)的制作方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明屬于計算機技術(shù)、信息安全技術(shù)領(lǐng)域,具體涉及一種密碼算法SM2算法的檢測方法和系統(tǒng)。
【背景技術(shù)】
[0002]隨著計算機和信息安全技術(shù)的發(fā)展,硬件處理速度和解密手段也在不斷的提高,現(xiàn)有的密碼算法為提高數(shù)據(jù)的安全性,需增加密鑰的長度,而同時卻會降低算法的處理速度。基于上述問題的存在,2010年12月17日國家密碼安全局發(fā)布了 SM2橢圓曲線公鑰密碼算法,該算法基于橢圓曲線上點群離散對數(shù)難題。
[0003]SM2橢圓曲線公鑰密碼算法主要應用在數(shù)字簽名、公鑰加密以及密鑰交換協(xié)議等方面。數(shù)字簽名可對信息的完整性及有效性進行驗證,公鑰加密算法可以對信息進行加解密運算,防止重要信息的泄露,密鑰交換協(xié)議主要用于密鑰的管理和協(xié)商。
[0004]目前,對于系統(tǒng)中是否實現(xiàn)SM2算法的檢測方法主要包括兩類:(1)離線的數(shù)據(jù)傳遞方式。在預設SM2算法橢圓曲線參數(shù)、密鑰和算法輸入數(shù)據(jù)(待加密、解密、簽名或驗證簽名等的數(shù)據(jù))的情況下,計算相應的結(jié)果,被測系統(tǒng)對預設的輸入數(shù)據(jù)執(zhí)行相應的SM2算法操作,產(chǎn)生輸出結(jié)果,將此結(jié)果與預先計算得到的結(jié)果進行比較,以此判定系統(tǒng)中是否正確實現(xiàn)了 SM2算法;(2)實時調(diào)用訪問的方式。檢測設備或檢測程序直接與被檢測對象建立數(shù)據(jù)通信連接,通過主動訪問、調(diào)用被測對象中的SM2算法功能進而檢測SM2算法的實現(xiàn)。以實現(xiàn)SM2算法的1C卡例,根據(jù)IS07816.4規(guī)定,智能卡與外界的通信數(shù)據(jù)接口為APDU,利用PC規(guī)范,實現(xiàn)PC與智能卡的最底層通信,進而檢測密碼算法,但需要獲取智能卡的APDU指令集。

【發(fā)明內(nèi)容】

[0005]本發(fā)明針對SM2算法的軟件實現(xiàn),提出一種SM2算法程序的檢測方法及系統(tǒng),簡單準確的確定存儲單元中是否有實現(xiàn)SM2算法的程序。
[0006]本發(fā)明SM2算法程序的檢測系統(tǒng)包含檢測機和待檢測的存儲單元(存儲單元為計算機的系統(tǒng)硬盤或其他類型存儲介質(zhì)等),通過檢測機對存儲單元中文件包含的數(shù)據(jù)進行掃描,采用逐字節(jié)匹配判斷的掃描方式,如圖1所示。
[0007]本發(fā)明SM2算法的檢測方法之一為,在已知SM2算法橢圓曲線參數(shù)的情況下,逐字節(jié)掃描存儲單元中文件包含的數(shù)據(jù),當存在數(shù)據(jù)與SM2算法中至少一個橢圓曲線參數(shù)完全匹配,則判定存儲單元中有實現(xiàn)SM2算法的程序。
[0008]SM2算法橢圓曲線參數(shù)選自p、a、b、n、xG^P y c,其中,p是大于3的素數(shù),F(xiàn)p由{0,1,2,..., p-1}中p個元素組成,稱之為素域;a、b為橢圓曲線方程中的常數(shù)項,a,beFp;G為SM2算法橢圓曲線上的一個基點,Xc和y c為二維坐標系下基點G的坐標;n為基點G的階。
[0009]SM2算法橢圓曲線優(yōu)選為國家密碼局推薦使用素數(shù)域256位橢圓曲線及推薦曲線參數(shù),所述橢圓曲線參數(shù)選自b、n、xGiPyGo其中,b為橢圓曲線方程中的常數(shù)項;6為SM2算法橢圓曲線上的一個基點,Xc和y c為二維坐標系下基點G的坐標;n為基點G的階。
[0010]在SM2算法檢測過程中,需要根據(jù)小端模式(Little-Endian)或大端模式(Big-Endian)對待檢測存儲單元中文件包含的數(shù)據(jù)進行逐字節(jié)匹配判斷。若存在數(shù)據(jù)與SM2算法中至少一個橢圓曲線參數(shù)完全匹配,則判定存儲單元中有實現(xiàn)SM2算法的程序。
[0011]本發(fā)明SM2算法的檢測方法之二為,在SM2算法中數(shù)字簽名,消息加解密等都需要計算橢圓曲線點[K]G,因此在運行計算的過程中通常會預存G的倍點[K]G列表(G、2G、3G……KG),計算過程中通過查表[K]G加速運算。其中,[K]G為橢圓曲線上點G的K倍點,[K]G = G+G+……G ;倍點[K]G在二維坐標系下的坐標表示為xjP y K,(xK, yK) = [K]G,[Κ]G列表為xK項和yK項的集合,K為正整數(shù),且K〈n。因此掃描存儲單元中文件包含的數(shù)據(jù),若存在數(shù)據(jù)與倍點[K]G列表中X!(項或y κ項中至少一項完全匹配時,貝ij判定存儲單元中有實現(xiàn)SM2算法的程序。
[0012]SM2算法橢圓曲線優(yōu)選為國家密碼局推薦使用素數(shù)域256位橢圓曲線及推薦曲線參數(shù),所述橢圓曲線參數(shù)選自xe和ye。其中,G為SM2算法橢圓曲線上的一個基點,X(;和y(;為二維坐標系下基點G的坐標,(xK, yK) = [K]G。
[0013]在SM2算法檢測過程中,需要根據(jù)小端模式或大端模式對待檢測存儲單元中文件包含的數(shù)據(jù)進行逐字節(jié)匹配判斷。若存在數(shù)據(jù)與SM2算法橢圓曲線基點G的倍點[K]G列表中xK項或7><項中至少一項完全匹配,其中,K為正整數(shù),K〈n,則判定該存儲單元中有實現(xiàn)SM2算法的程序。
[0014]一種SM2算法程序的檢測系統(tǒng),包括檢測機和待檢測的存儲單元(存儲單元為計算機的系統(tǒng)硬盤或其他類型存儲介質(zhì)等)。其中,檢測機用于掃描存儲單元中文件包含的數(shù)據(jù),當存在數(shù)據(jù)與SM2算法中至少一個橢圓曲線參數(shù)完全匹配、或者存在數(shù)據(jù)與SM2算法橢圓曲線基點G的倍點[K]G列表中χκ項或71(項中至少一項完全匹配,其中,Κ為正整數(shù),Κ〈η,則判定存儲單元中有實現(xiàn)SM2算法的程序。
[0015]與現(xiàn)有技術(shù)相比,本發(fā)明的積極效果為:
[0016]本發(fā)明主要利用SM2算法獨特的橢圓曲線參數(shù)特征,以及計算的過程中預存基點G的倍點[K]G列表的特征,實現(xiàn)對SM2算法的檢測。僅需檢測機對存儲單元中文件包含的數(shù)據(jù)進行逐字節(jié)匹配判斷,不受操作系統(tǒng)和運行環(huán)境的限制,操作簡單便利,準確率較高。
[0017]本發(fā)明的檢測方法還可以輔助檢測SM2算法是否為硬件實現(xiàn)。對于硬件實現(xiàn)的SM2算法,安全性比軟件實現(xiàn)更高,在很多關(guān)鍵系統(tǒng)及應用中,均要求使用硬件實現(xiàn)的密碼算法。在訪問硬件實現(xiàn)的SM2算法設備時,同時還需要軟件實現(xiàn)配合,以密碼機為例,其構(gòu)成包括密碼卡、操作系統(tǒng)、應用程序、接口軟件包等。在應用中,調(diào)用者無法區(qū)分SM2密碼算法是由硬件系統(tǒng)(如密碼卡)實現(xiàn),還是由軟件系統(tǒng)(如操作系統(tǒng)、應用程序、接口軟件包等)實現(xiàn)。本發(fā)明的檢測方法,通過對軟件系統(tǒng)的存儲單元進行檢測,若未檢測出與SM2算法參數(shù)匹配的數(shù)據(jù),則可以有效排除SM2算法是由軟件實現(xiàn)的可能性。由此本發(fā)明的檢測方法可以輔助檢測SM2算法是否為硬件實現(xiàn)。
【附圖說明】
[0018]圖1為SM2算法檢測系統(tǒng)示意圖。
[0019]圖2為數(shù)據(jù)切分示意圖:
[0020](a)為曲線參數(shù)按機器位切分示意圖(以256位曲線參數(shù),32位操作系統(tǒng)為例),
[0021](b)為小端模式數(shù)據(jù)存儲示意圖,
[0022](c)為大端模式數(shù)據(jù)存儲示意圖。
【具體實施方式】
[0023]為了使本發(fā)明的目的、技術(shù)方案及優(yōu)點更加清楚明白,以下通過實施例對本發(fā)明作進一步詳細說明。
[0024]對于SM2算法橢圓曲線公鑰密碼算法,國家密碼局推薦使用素數(shù)域256位橢圓曲線及推薦曲線參數(shù),橢圓曲線方程:y2= x3+ax+b
[0025]p = FFFFFFFE FFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFF 00000000 FFFFFFFFFFFFFFFF
[0026]a = FFFFFFFE FFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFF 00000000 FFFFFFFFFFFFFFFC
[0027]b = 28E9FA9E 9D9F5E34 4D5A9E4B CF6509A7 F39789F5 15AB8F92 DDBCBD414D940E93
[0028]n = FFFFFFFE FFFFFFFF FFFFFFFFFFFFFFFF 7203DF6B 21C6052B 53BBF40939D54123
[0029]xG= 32C4AE2C 1F198119 5F990446 6A39C994 8FE30BBF F2660BE1 715A4589334C74C7
[0030]yG= BC3736A2 F4F6779C 59BDCEE3 6B692153 D0A9877C C62A4740 02DF32E52139F0A0
[0031]對于SM2算法256位橢圓曲線參數(shù)p,a,b, n,xG^P y Go p是大于3的素數(shù),F(xiàn)p由{0,1,2,...,p-l}中ρ個元素組成,稱之為素域。a,b e Fp,且(4a3+27b2)modp乒0,橢圓曲線E(FP)的定義為E(FP) = {(x, y) x, y e Fp},且滿足上述橢圓曲線方程及無窮遠點的情況。G是橢圓曲線上的一個基點,基點G = (xG, yG) e E (Fp),因此G點是二維坐標系下的一個點對,包含xs和y s兩個參數(shù);n為基點G的階。
[0032]在SM2算法檢測過程中,掃描存儲單元中文件包含的數(shù)據(jù),與橢圓曲線參數(shù)p,a,b,n,X(;和y
當前第1頁1 2 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
锡林郭勒盟| 青铜峡市| 岢岚县| 商城县| 陵水| 揭东县| 宁河县| 尼勒克县| 黄山市| 元氏县| 建阳市| 临沭县| 阿城市| 通化市| 白河县| 华阴市| 大冶市| 宁国市| 上思县| 塔河县| 昭平县| 志丹县| 吉林省| 原平市| 清丰县| 德惠市| 龙州县| 平谷区| 沙坪坝区| 瑞安市| 民县| 宜阳县| 聊城市| 泾阳县| 剑阁县| 万载县| 皋兰县| 吴川市| 台中县| 济阳县| 高陵县|