[發(fā)明專利]一種高效的基于SM9公鑰加密算法的線上線下加密方法有效
| 申請?zhí)枺?/td> | 202010399431.5 | 申請日: | 2020-05-12 |
| 公開(公告)號: | CN111585759B | 公開(公告)日: | 2023-06-09 |
| 發(fā)明(設(shè)計)人: | 賴建昌;黃欣沂;孫京濤;汪朝暉;何德彪 | 申請(專利權(quán))人: | 北京華大信安科技有限公司 |
| 主分類號: | H04L9/08 | 分類號: | H04L9/08;H04L9/30;H04L9/40 |
| 代理公司: | 北京弘權(quán)知識產(chǎn)權(quán)代理有限公司 11363 | 代理人: | 逯長明;許偉群 |
| 地址: | 100015 北京市朝陽區(qū)*** | 國省代碼: | 北京;11 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 高效 基于 sm9 加密算法 線上 加密 方法 | ||
1.一種高效的基于SM9公鑰加密算法的線上線下加密方法,其特征在于,包括:
S101、密鑰分發(fā)中心生成密鑰分發(fā)中心主公私鑰對,將密鑰分發(fā)中心的主公鑰發(fā)送給發(fā)送者和接收者,秘密保存主私鑰;
S102、密鑰分發(fā)中心利用主公私鑰對生成接收者解密密鑰,將接收者解密密鑰通過安全信道發(fā)送給接收者;
S103、發(fā)送者基于密鑰分發(fā)中心的主公鑰,生成線下密文,并保存;
S104、發(fā)送者知道接收者標(biāo)識和需要加密的數(shù)據(jù)后,基于線下密文和密鑰分發(fā)中心的主公鑰加密數(shù)據(jù),快速生成SM9密文,并將SM9密文通過公共信道發(fā)送給接收者;
S105、接收者利用解密密鑰對SM9密文進(jìn)行解密,獲取數(shù)據(jù)內(nèi)容;
所述密鑰分發(fā)中心生成密鑰分發(fā)中心主公私鑰對,將密鑰分發(fā)中心的主公鑰發(fā)送給發(fā)送者和接收者,秘密保存主私鑰,具體包括:
首先選取雙線性群BP=(G1,G2,GT,e,N),群G1和群G2的生成元分別為P1和P2,選取一個隨機(jī)數(shù)ke∈[1,N-1]作為主私鑰,計算G1中的元素Ppub-e=keP1作為主公鑰,則主公私鑰對為(ke,Ppub-e),密鑰分發(fā)中心秘密保存ke,公開(BP,P1,P2,Ppub-e),密鑰分發(fā)中心選擇并公開用一個字節(jié)表示的接收者解密密鑰生成函數(shù)識別符hid;
其中,
BP為雙線性群;
N為循環(huán)群G1,G2,GT的階,且N>2191的素數(shù);
G1為階為素數(shù)N的加法循環(huán)群;
G2為階為素數(shù)N的加法循環(huán)群;
GT為階為素數(shù)N的乘法循環(huán)群;
e為從G1×G2到GT的雙線性映射;
ke為主私鑰;
[1,N-1]為不小于1且不大于N-1的整數(shù)的集合;
P1為群G1的生成元;
P2為群G2的生成元;
Ppub-e為主公鑰;
hid為用一個字節(jié)表示的加密私鑰生成函數(shù)識別符,由密鑰分發(fā)中心選擇并公開;
所述密鑰分發(fā)中心利用主公私鑰對生成接收者解密密鑰,具體包括:
接收者R的標(biāo)識為IDR,為產(chǎn)生接收端R的解密密鑰deR,首先在有限域FN上計算t1=H1(IDR||hid,N)+ke,若t1=0,則需重新產(chǎn)生主公私鑰對,計算和公開主公鑰,并更新已有接收者的解密密鑰;否則計算t2=ke·t1-1,然后計算deR=t2·P2;
其中,R為接收者;
IDR為接收者R的標(biāo)識,可以唯一確定接收者R的公鑰;
deR為接收者R的解密密鑰,屬于群G2中的元素;
FN為有限域;
t1為臨時變量,屬于有限域FN中的元素;
t2為臨時變量,屬于有限域FN中的元素;
H1(IDR||hid,N)為{0,1}*到的由密碼雜湊函數(shù)派生的密碼函數(shù);
所述發(fā)送者基于密鑰分發(fā)中心的主公鑰,生成線下密文,具體包括:
產(chǎn)生隨機(jī)數(shù)r,s∈[1,N-1],計算C0=r·Ppub-e,C1=r·s·P1,w=e(Ppub-e,P2)r,并輸出線下加密密文Coff=(s,C0,C1,w);
其中,r為[1,N-1]中的隨機(jī)數(shù);
s為[1,N-1]中的隨機(jī)數(shù);
C0為臨時變量,屬于群G1中的元素;
C1為臨時變量,屬于群G1中的元素;
w為臨時變量,屬于群GT中的元素;
Coff為線下加密密文;
所述發(fā)送者知道接收者標(biāo)識和需要加密的數(shù)據(jù)后,基于線下密文和密鑰分發(fā)中心的主公鑰加密數(shù)據(jù),快速生成SM9密文,具體包括:
假設(shè)封裝密鑰的比特長度為klen,接收者R的標(biāo)識為IDR,計算h=H1(IDR||hid,N),C=C0+s-1·h·C1,K=KDF(C||w||IDR,klen),并輸出(K,C),其中K是被封裝的密鑰,C是封裝密文;
其中,klen為封裝密鑰的比特長度;
C是封裝密文,屬于群GT中的元素;
h為臨時變量,屬于中的元素;
K為被封裝的密鑰;
KDF(C||w||IDR,klen)為密鑰派生函數(shù);
所述接收者利用解密密鑰對SM9密文進(jìn)行解密,具體包括:
計算w'=e(C,deR),K'=KDF(C||w'||IDR,klen)并輸出密鑰K';
其中,w'為臨時變量,屬于群GT中的元素;
K'為解密得到的密鑰。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于北京華大信安科技有限公司,未經(jīng)北京華大信安科技有限公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202010399431.5/1.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。
- 一種SM9橢圓曲線扭曲線上特定點的p倍點計算方法
- 一種基于B/S結(jié)構(gòu)的SM9加密郵件生成及閱讀方法
- 一種對稱環(huán)境下多方聯(lián)合生成SM9數(shù)字簽名的方法
- 攻擊SM9簽名算法的側(cè)信道分析方法、裝置、介質(zhì)及設(shè)備
- SM9密鑰生成方法、裝置、系統(tǒng)及可讀存儲介質(zhì)
- 一種SM9協(xié)同數(shù)字簽名方法和系統(tǒng)
- 一種基于標(biāo)識算法的國密SSL加密方法
- 一種基于權(quán)限控制的私有加密通信方法及系統(tǒng)
- 一種短信驗證碼加密方法、解密方法及加解密系統(tǒng)
- 一種郵件加密方法、解密方法及加解密系統(tǒng)





