[發明專利]一種SM3算法在JAVA環境中的實現方法及系統有效
| 申請號: | 201310340792.2 | 申請日: | 2013-08-07 |
| 公開(公告)號: | CN103425939A | 公開(公告)日: | 2013-12-04 |
| 發明(設計)人: | 何志平 | 申請(專利權)人: | 成都衛士通信息產業股份有限公司 |
| 主分類號: | G06F21/62 | 分類號: | G06F21/62;G06F21/64;H04L9/32 |
| 代理公司: | 成都九鼎天元知識產權代理有限公司 51214 | 代理人: | 楊永梅 |
| 地址: | 610041 四*** | 國省代碼: | 四川;51 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 sm3 算法 java 環境 中的 實現 方法 系統 | ||
技術領域
本發明涉及密碼與信息安全技術領域,本發明公開了一種SM3算法在JAVA環境中的實現方法及系統。
背景技術
SM3是碼雜湊算法,是國家密碼管理局編制的商用算法,用于密碼應用中的數字簽名和驗證、消息認證碼的生成與驗證以及隨機數的生成,可滿足多種密碼應用的安全需求。對長度為l(l<?264)?比特的消息m,SM3雜湊算法經過填充和迭代壓縮,生成雜湊值,雜湊值長度為256比特。
JAVA是一種可以撰寫跨平臺應用軟件的面向對象的程序設計語言,是由Sun?Microsystems公司于1995年5月推出的Java程序設計語言和Java平臺(即JavaSE,?JavaEE,?JavaME)的總稱。Java?技術具有卓越的通用性、高效性、平臺移植性和安全性,廣泛應用于個人PC、數據中心、游戲控制臺、科學超級計算機、移動電話和互聯網,同時擁有全球最大的開發者專業社群。在全球云計算和移動互聯網的產業環境下,Java更具備了顯著優勢和廣闊前景。
然而,現有技術中的SM3算法卻并不能直接在JAVA環境中實現。JAVA環境中的加密算法通過JCA和JCE來實現。
JCA是Java?Cryptography?Architecture的簡稱(Java加密框架),它是Java平臺為實現密碼和安全需求定義的一套完整的、獨立的編程接口,它為Java環境的安全提供了全面的密碼安全支撐,它們為Java應用程序加密和數字簽名提供了一種統一和一致的方式。應用程序通過JCA提供的接口實現對密碼算法的調用。JCA只是一套面向應用開發的統一編程接口,它不包含具體的算法實現。算法實現由它下層的JCE提供。即應用程序調用JCA接口,JCA接口再調用某一JCE,從而實現對某一加密算法的調用。
JCE是Java?Cryptography?Extension的簡稱,(Java密碼擴展)提供用于加解密、密鑰生成、密鑰管理和密鑰協商以及?Message?Authentication?Code(MAC)算法的框架和實現。它提供對對稱、不對稱、塊和流密碼的加密支持,它還支持安全流和密封的對象。JCE采用實現的獨立和算法的獨立,使JCE安全框架具有了良好的擴展性。它使用提供者(provider)的理念為管理和組織所有密碼安全的實現并為應用程序提供服務。JAVA環境中可以同時存在多種不同的JCE實現,在security.provider中定義了一套標準接口,所有的JCE實現都要實現這一套標準接口。
如果通過新的提供者(provider),可以將新的算法或者新的密碼設備無縫的加入到JCE中。但出于JCE框架自身安全性的考慮,只有被可信任的實體簽名認證的提供者(provider)才可以嵌入JAVA安全框架中。也就是說首先要實現包括新算法的新JCE,然后向JAVA安全管理機構申請獲取授權證書,并產生簽名,新開發的JCE才能加入到JAVA環境中供應用程序使用。而SM3是國產的,沒有現成的JCE可以支持,需要全新開發,這需要很長的時間周期,同時申請證書也需要很長的時間。
因而在JAVA環境中,?不能直接通過加密框架JCA標準的編程接口調用SM3算法。但SM3算法是國家密碼管理局編制的商用算法,用于密碼應用中的數字簽名和驗證、消息認證碼的生成與驗證以及隨機數的生成,可滿足多種密碼應用的安全需求,而JAVA的應用又非常廣泛,在JAVA環境中不能直接通過加密框架JCA標準的編程接口調用SM3算法極大地影響了應用程序的開發和維護。
發明內容
針對在JAVA環境中不能直接通過加密框架JCA標準的編程接口調用SM3算法的技術問題,提供了一種SM3算法在JAVA環境中的使用方法。本發明還公開了SM3算法在JAVA環境中的實現系統。
本發明的發明目的通過下述技術方案來實現:
一種SM3算法在JAVA環境中的實現方法,其具體包括以下的步驟:依照PKCS#11規范開發實現算法替換的適配層,在JAVA環境中,當應用程序通過加密框架JCA標準的編程接口調用密碼擴展JCE中的安全散列算法SHA-256算法時,適配層直接調用SM3算法實現的應用程序編程接口API,在下層將需要進行散列運算的數據按SM3算法進行運算和處理,實現由SHA-256算法替換為SM3算法。
更進一步地,上述SM3算法為軟件實現或者硬件密碼模塊實現。
更進一步地,上述方法還包括通過配置實現在多種不同的SM3算法實現之間換切換。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于成都衛士通信息產業股份有限公司,未經成都衛士通信息產業股份有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201310340792.2/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:一種小型工業垃圾處理器的研磨機構
- 下一篇:具有進料刮片的珠磨機





