[發明專利]一種在嵌入式設備端加快ecdsa驗簽的方法在審
| 申請號: | 201811000547.6 | 申請日: | 2018-08-30 |
| 公開(公告)號: | CN109005039A | 公開(公告)日: | 2018-12-14 |
| 發明(設計)人: | 高珊華;周亮;劉哲理;李偉超;田久鵾;郭曉杰;盧垚松 | 申請(專利權)人: | 天津通卡智能網絡科技股份有限公司 |
| 主分類號: | H04L9/32 | 分類號: | H04L9/32 |
| 代理公司: | 天津佳盟知識產權代理有限公司 12002 | 代理人: | 李益書 |
| 地址: | 300000*** | 國省代碼: | 天津;12 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 驗簽 嵌入式設備端 簽名驗證 低端嵌入式設備 橢圓曲線基點 有效降低產品 簽名結果 簽名消息 橢圓曲線 優化算法 初始化 公鑰 | ||
本發明涉及一種在嵌入式設備端加快ecdsa驗簽的方法。方法包括如下步驟:初始化橢圓曲線記曲線階為n,簽名結果為(r,s),被簽名消息為m,簽名者公鑰為Q,獲取橢圓曲線基點G;在C語言環境下,計算w=s?1mod n;在C語言環境下,計算u1=m*w mod n;在C語言環境下,計算u2=r*w mod n;在C語言環境下,計算(x,y)=u1*G+u2*Q;v=x mod n;判斷是否滿足v=r,滿足則簽名驗證通過,否則簽名驗證不通過。本發明相對于現有技術具有以下優點:通過優化算法使得一些低端嵌入式設備具有較快的ecdsa驗簽速度,有效降低產品成本。
技術領域:
本發明涉及移動支付技術領域,進一步涉及一種在嵌入式設備端加快ecdsa驗簽的方法。
背景技術:
因為刷卡支付,二維碼支付等移動支付手段的進一步推廣,ecdsa驗簽技術被廣泛使用到嵌入式設備中。
目前移動支付的嵌入式設備普遍要求成本低,導致運算能力存在限制。研究嵌入式設備端加快ecdsa驗簽的方法可以有效解決上述問題。
由于高精度整數乘法和取模運算處于ecdsa驗簽算法最底層循環,所以改進乘法和取模運算運行速度能夠有效提升ecdsa驗簽速度。在乘法運算中使用快速乘法代替普通乘法運算,是當前在算法方面普遍使用的優化方式。通過改進進位方式、改進遞歸過程和改進取模運算等,降低算法時間復雜度,以加快算法執行速度。
一般來說,高精度整數的乘法和取模運算在高級語言實現時會有三個主要問題:速度慢、取模需兩次除法運算、中間數值可能越界。因此,應采用匯編語言和優化算法實現上述運算。使用匯編語言代替高級語言實現,是當前在語言方面普遍使用的優化方式,能夠提高指令執行效率,可以加快程序運行速度。
發明內容:
本發明的目的在于提供一種可以加快ecdsa驗簽的方法。
本發明通過如下方式實現:
一種在嵌入式設備端加快ecdsa驗簽的方法,包括如下步驟:
步驟1:初始化橢圓曲線記曲線階為n,簽名結果為(r,s),被簽名消息為m,簽名者公鑰為Q,獲取橢圓曲線基點G;
步驟2:在C語言環境下,計算w=s-1mod n;
步驟3:在C語言環境下,計算u1=m*w mod n;
步驟4:在C語言環境下,計算u2=r*w mod n;
步驟5:在C語言環境下,計算(x,y)=u1*G+u2*Q;
步驟6:v=x mod n;
步驟7:判斷是否滿足v=r,滿足則簽名驗證通過,否則簽名驗證不通過。
優選方案一,所述步驟2包括如下具體過程:
步驟2.1:取整數p=n,q=s,w=0,t=1,k=0,zj轉步驟2.2;
步驟2.2:判斷是否滿足q>0,是則轉步驟2.3,否則轉步驟2.10;
步驟2.3:判斷p是否為偶數,是則轉步驟2.4,否則轉步驟2.5;
步驟2.4:繼續計算p、t、k,p=p/2,t=2t,k=k+1,返回步驟2.2;
步驟2.5:判斷q是否為偶數,是則轉步驟2.6,否則轉步驟2.7;
步驟2.6:繼續計算q、w、k,q=q/2,w=2w,k=k+1,返回步驟2.2;
步驟2.7:計算x=p-q,判斷是否滿足x>0,是則轉步驟2.8,否則轉步驟2.9;
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于天津通卡智能網絡科技股份有限公司,未經天津通卡智能網絡科技股份有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201811000547.6/2.html,轉載請聲明來源鉆瓜專利網。





