两个人的电影免费视频_国产精品久久久久久久久成人_97视频在线观看播放_久久这里只有精品777_亚洲熟女少妇二三区_4438x8成人网亚洲av_内谢国产内射夫妻免费视频_人妻精品久久久久中国字幕

一種基于電子簽名的二維碼內(nèi)容校驗方法

文檔序號:6550214閱讀:1041來源:國知局
一種基于電子簽名的二維碼內(nèi)容校驗方法
【專利摘要】本發(fā)明涉及一種基于電子簽名的二維碼內(nèi)容校驗方法,其步驟包括:采用簽名算法在二維碼中加入用于校驗的包含電子簽名的隱藏附加字段,將二維碼的原文內(nèi)容作為明文部分,將所述隱藏附加字段作為密文部分;讀取二維碼的明文部分和密文部分,利用密文部分的隱藏附加字段保存的電子簽名對明文部分的數(shù)據(jù)進(jìn)行校驗,保證二維碼內(nèi)信息的有效性和真實性。所述簽名算法使用基于橢圓曲線密碼學(xué)的使用第二類或第三類匹配算法變形的短簽名算法進(jìn)行簽名和檢驗。本發(fā)明在現(xiàn)有二維碼標(biāo)準(zhǔn)的基礎(chǔ)上對二維碼進(jìn)行了擴(kuò)展,加入了用于校驗的隱藏附加字段,能夠?qū)ΧS碼中的數(shù)據(jù)進(jìn)行校驗,保證二維碼內(nèi)信息的有效性和真實性。
【專利說明】—種基于電子簽名的二維碼內(nèi)容校驗方法

【技術(shù)領(lǐng)域】
[0001]本發(fā)明屬于信息【技術(shù)領(lǐng)域】,涉及一種基于電子簽名的二維碼內(nèi)容校驗方案,可用于二維碼安全支付、交易等領(lǐng)域,通過使用本發(fā)明,能夠驗證二維碼的簽發(fā)機(jī)構(gòu)的身份及二維碼內(nèi)容的完整性,提供防釣魚、防篡改等安全性保障。

【背景技術(shù)】
[0002]二維碼在現(xiàn)代商業(yè)活動中,可實現(xiàn)的應(yīng)用十分廣泛,如:產(chǎn)品防偽/溯源、廣告推送、網(wǎng)站鏈接、數(shù)據(jù)下載、商品交易、定位/導(dǎo)航、電子憑證、車輛管理、信息傳遞、名片交流、wifi共享等,而如今智能手機(jī)掃一掃功能的應(yīng)用使得二維碼更加普遍。
[0003]但目前現(xiàn)有的二維碼僅僅是信息的載體,并不對其中內(nèi)容的有效性和真實性負(fù)責(zé),因此帶有惡意軟件和病毒以及各種釣魚網(wǎng)站的鏈接正成為二維碼普及道路上的絆腳石,嚴(yán)重制約二維碼在支付、交易等領(lǐng)域的發(fā)展;發(fā)展與防范二維碼的濫用,保證二維碼的有效性和真實性,成為了一個亟待解決的問題。


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

[0004]為了克服現(xiàn)有二維碼安全性上的缺憾,本發(fā)明設(shè)計并實現(xiàn)了一種基于電子簽名的二維碼內(nèi)容校驗方法,并提供Android和1S接口,能夠?qū)ΧS碼中的數(shù)據(jù)進(jìn)行校驗,保證二維碼內(nèi)信息的有效性和真實性。
[0005]本發(fā)明生成的二維碼兼容現(xiàn)有二維碼標(biāo)準(zhǔn),可以被現(xiàn)有二維碼讀取軟件正常讀取到二維碼明文的部分,明文可以是網(wǎng)站鏈接、商品信息等,而通過定制的二維碼讀取器,可以在讀取到二維碼明文部分外,額外讀取到二維碼密文部分,密文部分含有二維碼的電子簽名,并使用下文所述的電子簽名算法對二維碼明文的有效性和真實性進(jìn)行校驗。
[0006]考慮到二維碼容量極其有限,在本發(fā)明的實現(xiàn)中,簽名算法在MNT曲線(Miyaji,A., Nakabayashi, Μ., Takano, S.:New explicit condit1ns of elliptic curve tracesfor FR-reduct1n [R].1EICE Trans.Fundamentals, 2001, E84-A (5): 1234-1243.)上使用ZSS 短簽名(Zhang, F., Safav1-Naini, R., Susilo, ff.:An efficient signature schemefrom bilinear pairings and its applicat1ns [J].PKC, 2004 (2947):277-290.)的擴(kuò)展算法進(jìn)行簽名和檢驗,利用橢圓曲線離散對數(shù)問題的難解性保證簽名算法的安全性。
[0007]由MNT曲線的定義可推得,n bits長度的MNT曲線上的電子簽名,具有等價于6*ηbits長度的RSA簽名相同的安全強度,即,171bits長度的MNT曲線上的電子簽名具有約1024bits長度的RSA簽名相同的安全強度,在不降低安全強度的基礎(chǔ)上,節(jié)約了二維碼儲存空間。
[0008]簽名算法包含四個部分=ParamGen系統(tǒng)參數(shù)生成器(生成用于構(gòu)造MNT曲線的參數(shù)等)、KeyGen公私鑰對生成器、Sign簽名算法、Ver校驗算法。
[0009]傳統(tǒng)的ZSS簽名算法是一種基于配對運算的橢圓曲線密碼學(xué)的簽名算法;根據(jù)Steven D.Galbraith等人對基于配對運算的橢圓曲線密碼學(xué)的研究(S.Galbraith,K.Paterson,N.Smart,Pairings for cryptographers[J].Discrete App1.Math,2008(15),3113-3121.),他們將配對運算(^G1XS: - GT)分為三類:
[0010]第一類:配對算法e: gI x eI ^ %,即: S;的情況;
[0011]第二類:Gi本G:但存在一種可有效計算的同態(tài)映射-Q1;
[0012]第三類:G1本S2并且G1和G2之間不存在可有效計算的同態(tài)映射。
[0013]根據(jù)這個分類,ZSS簽名算法原本使用第一類配對算法,但為了使生成簽名更短,以適應(yīng)二維碼的儲存環(huán)境,因此,本發(fā)明中使用第二類和第三類配對算法,對ZSS簽名算法進(jìn)行了一定的修改和擴(kuò)展。而根據(jù)具體使用第二類或第三類配對算法,KeyGen算法會產(chǎn)生不同的公鑰。
[0014]圖1是本發(fā)明的基于電子簽名的二維碼內(nèi)容校驗方法的總體框架圖,首先使用ParamGen系統(tǒng)參數(shù)生成器生成MNT曲線的參數(shù),進(jìn)而構(gòu)造出簽名所需的系統(tǒng)參數(shù),并使用KeyGen公私鑰對生成器生成簽名算法的公私鑰對;然后Sign簽名算法根據(jù)所述系統(tǒng)參數(shù)和在所述公私鑰對的私鑰加入電子簽名,進(jìn)行校驗時Ver校驗算法根據(jù)所述系統(tǒng)參數(shù)和在所述公私鑰對的公鑰進(jìn)行校驗。下面具體說明本發(fā)明采用的簽名算法的四個部分。
[0015]1.ParamGen系統(tǒng)參數(shù)生成器
[0016]MNT曲線的參數(shù)可使用參數(shù)生成函數(shù)進(jìn)行生成,例如:
[0017]type d
[0018]q 2094476214847295281570670320144695883131009753607350517892357
[0019]η 2094476214847295281570670320143248652598286201895740019876423
[0020]h 1122591
[0021]r 1865751832009427548920907365321162072917283500309320153
[0022]a 865170590273535454306452832437448485372273205130436709893539
[0023]b 1274939131798122063394525328339864284625185387956074645893145
[0024]k 6
[0025]nk 84421409121513221644716967251498543569964760150943970280296295496165154657097987617093928595467244393873913569302597521196137376192587250931727762632568620562823714441576400096248911214941742242106512149305076320555351603145285797909942596124862593877499051211952936404822228308154770272833273836975042632765377879565229109013234552083886934379264203243445590336
[0026]hk 24251848326363771171270027814768648115136299306034875585195931346818912374815385257266068811350396365799298585287746735681314613260560203359251331805443378322987677594618057568388400134442772232086258797844238238645130212769322779762522643806720212266304
[0027]coeffO 73123106465503174500841798472944804865463919506989584455112
[0028]coeffl 1777416261966943740464316918909734791188633967518956195822081
[0029]coeff2 733533 180020927021709758608740900517666390966774043783918178
[0030]nqr 1131989004349896802449251430853763251805164617904701101949348
[0031]參數(shù)說明:
[0032]type d:采用D類型曲線進(jìn)行配對。這是一種嵌入系數(shù)為6、階數(shù)為素數(shù)或素數(shù)乘以一個很小的常數(shù)的普通曲線(非超奇異曲線),即MNT曲線(此處也可以選擇使用KSS、BN.BLS等其他橢圓曲線,但考慮到需要使生成的簽名盡量短,因此,需采用在非對稱橢圓曲線上進(jìn)行配對運算,即,不使用第一類配對算法);
[0033]q,η:曲線 E (Fq)定義在 Fq 上,階數(shù)為 n ( = q-t+1) e Fq ;
[0034]r:一個可以整除η的大素數(shù);
[0035]h:n = h.r:
[0036]a,b:E:y2 = x3+ax+b ;
[0037]nk:曲線E(i^)定義在f上,階數(shù)為% ^ P<
[0038]hk:nk = hk.r2 ;
[0039]coeffO, coeffl, coeff2:定義在Fq上,首項為一的不可約的三次多項式的系數(shù);
[0040]nqr:定義在Fq上的二次非剩余。
[0041]通過以上參數(shù),可以構(gòu)造出ZSS簽名所需的系統(tǒng)參數(shù)其中H為&上任意哈希函數(shù)。
[0042]2.Keyge n公私鑰對生成器
[0043]ZSS簽名算法的公私鑰對可使用公私鑰對生成函數(shù)進(jìn)行生成,例如:
[0044]私鑰
[0045]X 1241972322901686325328910561988883374411487544193816372
[0046]P [991431600044281292687389455566056682628385502940809794529835,304848387439559995842028371945998037206947127180602904024785]
[0047]公鑰
[0048]P [991431600044281292687389455566056682628385502940809794529835,304848387439559995842028371945998037206947127180602904024785]
[0049]Q [[1864140308961436319887681042266890962660676366769222720187955,1678327388033448265766915430855298560756748195708362386501861,1678100251631842278319979639340052980105679950496988912912708], [662968168343615730569336309896705263388165557829706894801958,680522612708915729396442681113347195990068435219813761307685,512964667927777427670757373868695141091311919445234765997281]]
[0050]Qpub [[1342905245301551526302815082707865062298792599859243728370816,1673801344331221770057779909345009503253310268908580158656403,194152011901745717496280180981163377394829278858693442525420], [2057681427490295162931729339996265382731179725436383034840249,1258279037775502909688784147605259979869034010343016417077730,1441858545306021577855717968663755857988144698338195920518337]]
[0051]eQP [[168226606292219777650491514553400354854549793797337337818270I,1687103331438120818017675539287278255118618527321115366822258,118686219933230112230340233920733468543602690023337121366808], [958353136493690068866122056124672124871255711789208013223281,435179937388188767935590647126487134115256118640734355601006,1420298296426393926385641129951576814003067035744318226849657]]
[0052]eQPinv [[1682266062922197776504915145534003548545497937973373378182701,1687103331438120818017675539287278255118618527321115366822258,118686219933230112230340233920733468543602690023337121366808], [1136123078353605212704548264020023758259754041818142504669076,1659296277459106513635079673018208749015753634966616162291351,674177918420901355185029190193119069127942717863032291042700]]
[0053]參數(shù)說明:
[0054]X:隨機(jī)選取 X+ €λ ;
[0055]P:如果使用第二類配對算法,則P并不是必須的,可以通過P = Φ (Q)求得,根據(jù)MNT曲線的定義,有# _ ( v-UU'—h'),如果使用第三類配對算法,則P是必須的,其值為隨機(jī)選取P G1;采用這兩種配對算法生成簽名的方法,在下文中我們稱為方法一和方法二 ;
[0056]Q:隨機(jī)選取
[0057]Qpub:Qpub = xQ ;
[0058]eQP, eQPinv:e(Q, P),e(Q,Ρ1并不是必須的,但它可以被提前求出,作為公鑰的一部分,在這種情況下,校驗算法只需要計算等式的左半部分,使得校驗算法更加快速有效。
[0059]使用方法一,則簽名算法的私鑰為x,Q,公鑰為Q,Qpub,[e(Q,P),[e (Q,P) ―1]],其中e(Q,P),e(Q,P)—1用于加速校驗,并不是必須的。
[0060]使用方法二,則簽名算法的私鑰為X,P,公鑰為P,Q,Qpub, [e(Q, P),[e(Q, Ρ1]],其中e (Q,P),e (Q,P)-1用于加速校驗,并不是必須的。
[0061]3.Sign簽名算法
[0062]圖2是簽名算法的流程圖。首先輸入私鑰X,以及需要簽名的消息m,計算

【權(quán)利要求】
1.一種基于電子簽名的二維碼內(nèi)容校驗方法,其步驟包括: 1)采用簽名算法在二維碼中加入用于校驗的包含電子簽名的隱藏附加字段,將二維碼的原文內(nèi)容作為明文部分,將所述隱藏附加字段作為密文部分; 2)讀取二維碼的明文部分和密文部分,利用密文部分的隱藏附加字段保存的電子簽名對明文部分的數(shù)據(jù)進(jìn)行校驗,保證二維碼內(nèi)信息的有效性和真實性。
2.如權(quán)利要求1所述的方法,其特征在于:所述簽名算法使用基于橢圓曲線密碼學(xué)的使用第二類或第三類匹配算法變形的短簽名算法進(jìn)行簽名和檢驗:首先使用參數(shù)生成算法生成橢圓曲線的參數(shù),進(jìn)而構(gòu)造出簽名所需的系統(tǒng)參數(shù),并使用公私鑰對生成算法生成簽名算法的公私鑰對;然后簽名算法根據(jù)所述系統(tǒng)參數(shù)和私鑰生成電子簽名,后續(xù)校驗時根據(jù)所述系統(tǒng)參數(shù)和公鑰對所述電子簽名進(jìn)行校驗。
3.如權(quán)利要求2所述的方法,其特征在于,所述橢圓曲線為下列中的一種:MNT曲線、KSS、BN曲線、BLS曲線;所述短簽名算法是ZSS短簽名算法或者BLS短簽名算法。
4.如權(quán)利要求2或3所述的方法,其特征在于,采用基于橢圓曲線密碼學(xué)的使用第二類匹配算法變形的短簽名算法進(jìn)行簽名和校驗,具體步驟包括: 1)選定一套短簽名算法的第二類變形算法,包括公私鑰對生成算法、簽名算法、校驗算法; 2)通過系統(tǒng)參數(shù)生成算法構(gòu)造橢圓曲線系統(tǒng)參數(shù); 3)使用系統(tǒng)參數(shù),通過公私鑰對生成算法構(gòu)造公私鑰對,包括一對配套的公鑰和私鑰; 4)使用私鑰,通過簽名算法對輸入文本即明文進(jìn)行簽名; 5)使用明文和及其簽名生成含有簽名的二維碼; 6)后續(xù)校驗時,從含有簽名的二維碼讀出明文及其簽名; 7)使用從二維碼中讀出的明文和簽名,配合所述公鑰,通過校驗算法,對簽名進(jìn)行校驗,判斷其是否合法。
5.如權(quán)利要求2或3所述的方法,其特征在于,采用基于橢圓曲線密碼學(xué)的使用第三類匹配算法變形的短簽名算法進(jìn)行簽名和校驗,具體步驟包括: 1)選定一套短簽名算法的第三類變形算法,包括公私鑰對生成算法、簽名算法、校驗算法; 2)通過系統(tǒng)參數(shù)生成算法構(gòu)造橢圓曲線系統(tǒng)參數(shù); 3)使用系統(tǒng)參數(shù),通過公私鑰對生成算法構(gòu)造公私鑰對,包括一對配套的公鑰和私鑰; 4)使用私鑰,通過簽名算法對輸入文本即明文進(jìn)行簽名; 5)使用明文和及其簽名,生成含有簽名的二維碼; 6)后續(xù)校驗時,從含有簽名的二維碼讀出明文及其簽名; 7)使用從二維碼中讀出的明文和簽名,配合所述公鑰,通過校驗算法,對簽名進(jìn)行校驗,判斷其是否合法。
6.如權(quán)利要求3所述的方法,其特征在于:使用ZSS短簽名算法進(jìn)行校驗時采用先配對后求逆的算法,以減少時間消耗。
7.如權(quán)利要求1所述的方法,其特征在于:在簽名時在明文和消息和簽名之間加入二維碼消息塊的分隔符,以隱藏簽名數(shù)據(jù)。
8.如權(quán)利要求1所述的方法,其特征在于:在簽名時使用流密碼算法對數(shù)據(jù)進(jìn)行加密,以保證二維碼內(nèi)信息的保密性。
【文檔編號】G06K19/06GK104077625SQ201410277181
【公開日】2014年10月1日 申請日期:2014年6月19日 優(yōu)先權(quán)日:2014年6月19日
【發(fā)明者】張銳, 李陽 申請人:中國科學(xué)院信息工程研究所
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
锡林浩特市| 九寨沟县| 赤水市| 安岳县| 福安市| 确山县| 宜城市| 日喀则市| 蓬溪县| 土默特右旗| 甘泉县| 施甸县| 永仁县| 德格县| 江陵县| 汤阴县| 鄄城县| 九江市| 宜阳县| 文成县| 江西省| 平遥县| 包头市| 汕尾市| 西乌珠穆沁旗| 平顺县| 闽清县| 盱眙县| 泗洪县| 梁平县| 临泉县| 昌江| 石家庄市| 旅游| 尚义县| 大田县| 成都市| 浦江县| 化德县| 江油市| 湄潭县|