[發明專利]一種區塊鏈中使用國家密碼進行加密的算法在審
| 申請號: | 202010016609.3 | 申請日: | 2020-01-08 |
| 公開(公告)號: | CN111147245A | 公開(公告)日: | 2020-05-12 |
| 發明(設計)人: | 崔春生;周耀平;許文波;李偉 | 申請(專利權)人: | 江蘇恒為信息科技有限公司 |
| 主分類號: | H04L9/08 | 分類號: | H04L9/08;H04L9/06;H04L9/32;H04L9/14;G06Q20/38;G06Q20/40 |
| 代理公司: | 六安市新圖匠心專利代理事務所(普通合伙) 34139 | 代理人: | 朱小杰 |
| 地址: | 214000 江蘇省無錫市新*** | 國省代碼: | 江蘇;32 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 區塊 使用 國家 密碼 進行 加密 算法 | ||
1.一種區塊鏈中使用國家密碼進行加密的算法,其特征在于,包括以下步驟:
(1)用戶輸入一個密碼,系統根據其計算一個128 Bits的Hash值,作為后續產生公私鑰的種子,稱之為Seed;
(2)根據Seed計算一個256 Bits的Hash值,作為私鑰,再根據SM2加密算法,計算產生一個公鑰;
(3)根據公鑰使用RIPEMD160 Hash算法,計算出一個160 Bits的Hash值,再根據帶校驗和的Base58編碼,生成最終的賬號;
(5)用戶使用剛生成的賬號的密鑰,進行Base58解碼,確定其加密算法類型,并根據相應算法計算出公/私鑰對;
(6)用戶構造交易,其中包含了該賬號信息以及所對應的公鑰,對構造的交易按照確定格式進行序列化,得到一個交易字節序列S;
(7)如果加密算法是SM2,則使用SM3算法,根據公鑰和交易字節序列S計算出一個256Bits的Hash值,記為H1;
(8)使用SM2算法,通過私鑰,對H1進行簽名,得到一個簽名值,并記錄到要提交到節點執行的交易請求中;
(9)用戶發起交易請求,節點收到后,取得交易的發起賬號信息,以及驗證簽名的公鑰,根據公鑰計算出賬號,并檢驗其與是否發起賬號匹配,如果不匹配,則返回交易失敗,否則繼續后面的處理;
(10)根據公鑰確定加密算法類型,如果為SM2,則使用SM3算法,通過公鑰和交易序列化的字節序列計算出256 Bits的Hash值H2;
(11)從交易中取得交易簽名信息,使用SM2算法,通過公鑰和H2,對簽名進行驗證,如果匹配,則發起交易的賬號身份驗證通過,繼續后續處理,否則,返回失敗。
2.根據權利要求1所述的一種區塊鏈中使用國家密碼進行加密的算法,其特征在于,
Seed也可直接由系統或用戶產生一個128 Bits隨機數形成。
3.根據權利要求1所述的一種區塊鏈中使用國家密碼進行加密的算法,其特征在于,
根據公鑰生成最終的賬號之前,為公鑰定義一個加密算法類型字節,考慮到SM2算法的第一個字節固定為0x02或0x03,為了避免增加額外的空間,且考慮兼容secp256k1算法,將之前生成的公鑰的首字節修改為0x22或0x23,以做區分,支持公鑰能夠自描述其所采取的算法類型。
4.根據權利要求1所述的一種區塊鏈中使用國家密碼進行加密的算法,其特征在于,
在Seed頭部加上了一個至少一字節的類型前綴,使得能夠得知該Seed使用系統中的所支持的哪一種加密算法計算公私鑰,同時,為了更易于用戶記錄該Seed,我們對其采取帶校驗和的Base58進行編碼。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于江蘇恒為信息科技有限公司,未經江蘇恒為信息科技有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202010016609.3/1.html,轉載請聲明來源鉆瓜專利網。





