本發(fā)明涉及數(shù)字簽名,尤其涉及基于qc-mdpc與pad填充的數(shù)字簽名方法。
背景技術(shù):
1、數(shù)字簽名技術(shù)憑借其真實(shí)性、完整性和不可否認(rèn)性,在多個(gè)關(guān)鍵領(lǐng)域得到廣泛應(yīng)用;
2、應(yīng)用領(lǐng)域包括:信息安全與網(wǎng)絡(luò)通信、電子郵件安全、金融與支付系統(tǒng)、電子政務(wù)與法律文件等。
3、尹華磊等人提出了一種基于量子物理學(xué)的量子數(shù)字簽名,允許用戶使用秘密共享、一次性密碼本和一次性通用哈希函數(shù)來簽署大型文檔,但缺點(diǎn)是成本高;基于(uu+v)碼對(duì)cfs進(jìn)行改進(jìn),具備簽名長度較短、驗(yàn)證速度較快的優(yōu)勢(shì);但公鑰長度較長,同時(shí)簽名以及密鑰生成的效率較低;基于修改的rm碼的cfs算法,但由于簽名概率分布方面存在一定問題,其算法安全性引發(fā)了爭(zhēng)議。
4、還有基于grs碼設(shè)計(jì)cfs,在公鑰隱藏方面采用bbcrs方法;因?yàn)間rs碼具有置換等價(jià)的特性,所以在設(shè)計(jì)中只能通過犧牲譯碼空間來保障其安全性。
5、此外,在安全性研究層面提出mcfs,用均勻分布的隨機(jī)值取代計(jì)數(shù)器作為哈希函數(shù)的輸入,從而提升了安全性;但公鑰尺寸較大以及簽名效率較低的缺陷依舊存在;parallel-cfs通過并行產(chǎn)生多個(gè)簽名,能夠運(yùn)用更小的安全參數(shù)以達(dá)到標(biāo)準(zhǔn)安全級(jí)別;然而,其代價(jià)是簽名長度增加,且效率更低。
技術(shù)實(shí)現(xiàn)思路
1、針對(duì)現(xiàn)有方法的不足,本發(fā)明具有公鑰存儲(chǔ)量小、加密和解密復(fù)雜度低、安全性高、速度快的特點(diǎn),在抗量子攻擊的密碼學(xué)研究領(lǐng)域具有重要意義。
2、本發(fā)明所采用的技術(shù)方案是:基于qc-mdpc與pad填充的數(shù)字簽名方法包括以下步驟:
3、步驟一、獲取待數(shù)字簽名對(duì)象;
4、作為本發(fā)明的一種優(yōu)選實(shí)施方式,數(shù)字簽名對(duì)象包括:消息、圖像。
5、步驟二、采用qc-mdpc作為私鑰編碼,利用奇偶校驗(yàn)矩陣、可逆置換矩陣、擾亂矩陣與哈希函數(shù)設(shè)計(jì)私鑰;
6、作為本發(fā)明的一種優(yōu)選實(shí)施方式,步驟二具體包括:
7、構(gòu)建r×n階奇偶校驗(yàn)矩陣h;
8、構(gòu)建r×r階擾亂矩陣s;
9、隨機(jī)生成n×n階可逆置換矩陣q;
10、選擇sha-512哈希函數(shù)h;
11、選擇bf譯碼γ作為qc-mdpc解碼算法;
12、構(gòu)建私鑰為:s、h、q、γ。
13、步驟三、利用奇偶校驗(yàn)矩陣與可逆置換矩陣設(shè)計(jì)公鑰;
14、作為本發(fā)明的一種優(yōu)選實(shí)施方式,公鑰為pub=hq-1。
15、步驟四、對(duì)數(shù)字簽名對(duì)象進(jìn)行哈希運(yùn)算得到消息序列;對(duì)消息序列進(jìn)行隨機(jī)長度選取,再將隨機(jī)選取后消息序列與擾亂矩陣相乘,得出的消息摘要;再對(duì)消息摘要進(jìn)行pad填充,直至滿足bf譯碼條件后,完成數(shù)字簽名構(gòu)造,并將簽名發(fā)送給驗(yàn)證者;
16、作為本發(fā)明的一種優(yōu)選實(shí)施方式,滿足bf譯碼γ條件與數(shù)字簽名條件為:pubvt=at,將xi譯碼的值賦值給v,xi=pad(a),v=γ(xi),令f=vt,其中,a為消息摘要,xi為對(duì)消息摘要a進(jìn)行第i次pad填充后的值。
17、作為本發(fā)明的一種優(yōu)選實(shí)施方式,bf譯碼包括:
18、步驟441、假設(shè)接收的字為c=(c0,c1,…,cn-1);
19、步驟442、令s=mod(hct,2),若s得出是一個(gè)全零向量,直接輸出c;
20、步驟443、若s得出的不是全零向量,計(jì)算f=sth,求出最大的矢量分量fi;
21、步驟444、將c中的第i個(gè)位置的比特進(jìn)行翻轉(zhuǎn),得到c′;
22、步驟445、再次計(jì)算s=mod(hc′t,2),若得出的s是個(gè)全零向量,則譯碼成功并且輸出c′;若不是全零向量,判斷是否達(dá)到最大的迭代次數(shù)n,若未達(dá)到,則重新進(jìn)行步驟443,否則譯碼失敗。
23、作為本發(fā)明的一種優(yōu)選實(shí)施方式,pad填充是隨機(jī)生成k個(gè)比特位,隨機(jī)插入消息摘要a中,k=n-r。
24、步驟五、驗(yàn)證者利用消息序列和公鑰對(duì)簽名進(jìn)行驗(yàn)證;
25、作為本發(fā)明的一種優(yōu)選實(shí)施方式,簽名驗(yàn)證成功時(shí),a=b;其中,a=transformedhash,b=mod(pubf,2)。
26、作為本發(fā)明的一種優(yōu)選實(shí)施方式,基于qc-mdpc與pad填充的數(shù)字簽名系統(tǒng),包括:存儲(chǔ)器,用于存儲(chǔ)可由處理器執(zhí)行的指令;處理器,用于執(zhí)行指令以實(shí)現(xiàn)基于qc-mdpc與pad填充的數(shù)字簽名方法。
27、作為本發(fā)明的一種優(yōu)選實(shí)施方式,存儲(chǔ)有計(jì)算機(jī)程序代碼的計(jì)算機(jī)可讀介質(zhì),計(jì)算機(jī)程序代碼在由處理器執(zhí)行時(shí)實(shí)現(xiàn)基于qc-mdpc與pad填充的數(shù)字簽名方法。
28、本發(fā)明的有益效果:
29、本發(fā)明基于準(zhǔn)循環(huán)中qc-mdpc的后量子數(shù)字簽名方案,利用qc-mdp碼、哈希函數(shù)結(jié)合bf譯碼,通過pad填充轉(zhuǎn)換比特序列長度,以執(zhí)行解碼算法并加快簽名生成,具有公鑰存儲(chǔ)小、速度快、加解密復(fù)雜度低和安全性高的特點(diǎn),在抗量子攻擊的密碼學(xué)研究領(lǐng)域具有重要意義。
1.基于qc-mdpc與pad填充的數(shù)字簽名方法,其特征在于,包括以下步驟:
2.根據(jù)權(quán)利要求1所述的基于qc-mdpc與pad填充的數(shù)字簽名方法,其特征在于,步驟二具體包括:
3.根據(jù)權(quán)利要求1所述的基于qc-mdpc與pad填充的數(shù)字簽名方法,其特征在于,滿足bf譯碼γ條件與數(shù)字簽名條件為:pubvt=at,將xi譯碼的值賦值給v,xi=pad(a),v=γ(xi),令f=vt,其中,a為消息摘要,xi為對(duì)消息摘要a進(jìn)行第i次pad填充后的值。
4.根據(jù)權(quán)利要求3所述的基于qc-mdpc與pad填充的數(shù)字簽名方法,其特征在于,bf譯碼包括:
5.根據(jù)權(quán)利要求1所述的基于qc-mdpc與pad填充的數(shù)字簽名方法,其特征在于,pad填充是隨機(jī)生成k個(gè)比特位,隨機(jī)插入消息摘要a中,k=n-r。
6.根據(jù)權(quán)利要求1所述的基于qc-mdpc與pad填充的數(shù)字簽名方法,其特征在于,簽名驗(yàn)證成功時(shí),a=b;其中,a=transformed?hash,b=mod(pubf,2)。
7.根據(jù)權(quán)利要求1所述的基于qc-mdpc與pad填充的數(shù)字簽名方法,其特征在于,數(shù)字簽名對(duì)象包括:消息、圖像。
8.根據(jù)權(quán)利要求1所述的基于qc-mdpc與pad填充的數(shù)字簽名方法,其特征在于,公鑰為pub=hq-1。
9.基于qc-mdpc與pad填充的數(shù)字簽名系統(tǒng),其特征在于,包括:存儲(chǔ)器,用于存儲(chǔ)可由處理器執(zhí)行的指令;處理器,用于執(zhí)行指令以實(shí)現(xiàn)如權(quán)利要求1-8任一項(xiàng)所述的基于qc-mdpc與pad填充的數(shù)字簽名方法。
10.存儲(chǔ)有計(jì)算機(jī)程序代碼的計(jì)算機(jī)可讀介質(zhì),其特征在于,計(jì)算機(jī)程序代碼在由處理器執(zhí)行時(shí)實(shí)現(xiàn)如權(quán)利要求1-8任一項(xiàng)所述的基于qc-mdpc與pad填充的數(shù)字簽名方法。