国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      一種數(shù)據(jù)加密方法、數(shù)據(jù)解密方法及節(jié)點的制作方法

      文檔序號:7756418閱讀:165來源:國知局
      專利名稱:一種數(shù)據(jù)加密方法、數(shù)據(jù)解密方法及節(jié)點的制作方法
      技術領域
      本發(fā)明涉及橢圓曲線密碼(ECC,Elliptic Curve Cryptography)技術領域,具體 涉及一種基于橢圓曲線公鑰密碼體制的數(shù)據(jù)加密、數(shù)據(jù)解密方法、發(fā)送節(jié)點及接收節(jié)點。
      背景技術
      密碼體制一般可以劃分為兩種類型對稱密碼體制和公鑰密碼體制。其中,公鑰 密碼體制是由Diffie-Hellman與Merkle分別獨立提出的,第一篇關于公鑰密碼學的論文 multiuser cryptographic techniques于1976年6月提交給美國的全國計算機會議?,F(xiàn) 在較為常用的公鑰密碼體制有RSA公鑰密碼體制,橢圓曲線密碼體制等。在現(xiàn)有的公鑰密 碼體制中,橢圓曲線密碼體制是目前已知的公鑰密碼體制中每比特加密等級最高的一種。數(shù)字簽名技術是對公鑰加密算法的主要應用,其主要功能是用于提供數(shù)據(jù)源認 證,數(shù)據(jù)完整性和不可否認性認證。橢圓曲線數(shù)字簽名技術是數(shù)字簽名的橢圓曲線版本。它 利用橢圓曲線密碼體制較強的安全強度和相對較短的密鑰長度來實現(xiàn)對數(shù)據(jù)源和數(shù)據(jù)完 整性的認證。公鑰加密算法的應用還包括利用橢圓曲線公鑰密碼體制對待發(fā)送的信息進行 加密和對密文信息進行解密?,F(xiàn)有的橢圓曲線公鑰密碼體制中,需要進行橢圓曲線上的倍點運算,而倍點運算 中的求逆運算的運算量非常大,會耗費大量的運算資源,這對支持橢圓曲線公鑰密碼體制 的節(jié)點設備的硬件有很高的要求,限制了橢圓曲線公鑰密碼體制在一些功能有限的節(jié)點終 端(如無線傳感節(jié)點)上的應用。

      發(fā)明內(nèi)容
      本發(fā)明所要解決的技術問題是提供一種數(shù)據(jù)加密方法、數(shù)據(jù)解密方法及節(jié)點,用 以降低橢圓曲線公鑰密碼體制的數(shù)字簽名認證的運算量。為解決上述技術問題,本發(fā)明提供方案如下—種基于橢圓曲線公鑰密碼體制的數(shù)據(jù)加密方法,包括發(fā)送節(jié)點獲取預先設置的橢圓曲線的參數(shù)組、密鑰以及數(shù)據(jù)信息;發(fā)送節(jié)點利用橢圓曲線的參數(shù)組、密鑰以及數(shù)據(jù)信息,計算得到數(shù)據(jù)加密信息,并 將所述數(shù)據(jù)加密信息發(fā)送給接收節(jié)點;其中,在計算所述數(shù)據(jù)加密信息的過程中,將所述橢圓曲線轉換為投影坐標系下 的方程,并利用所述橢圓曲線上的仿射點與所述方程上的投影點之間的對應關系,將所述 橢圓曲線上的倍點運算,轉換到投影坐標系下進行計算。優(yōu)選地,上述數(shù)據(jù)加密方法中,其中,將所述橢圓曲線上的倍點運算,轉換到投影 坐標系下進行計算,具體包括將所述橢圓曲線投影到投影坐標系,將所述橢圓曲線轉換為投影坐標系下的方 程,并確定所述橢圓曲線上的仿射點與所述方程上的投影點之間的對應關系;根據(jù)所述對應關系,通過將所述橢圓曲線的倍點運算公式中的仿射點的坐標替換為投影點的坐標,轉換得到所述橢圓曲線的倍點運算在投影坐標系下的計算公式;利用所述對應關系和所述計算公式,將所述橢圓曲線上的倍點運算,轉換到所述 投影坐標系下進行計算。優(yōu)選地,上述數(shù)據(jù)加密方法中,所述密鑰為接收節(jié)點的公鑰,所述數(shù)據(jù)信息為明文信息,所述數(shù)據(jù)加密信息是所 述明文信息對應的密文信息。優(yōu)選地,上述數(shù)據(jù)加密方法中,所述密鑰為發(fā)送節(jié)點的私鑰,所述數(shù)據(jù)信息為發(fā)送節(jié)點的標識信息,所述數(shù)據(jù)加 密信息為發(fā)送節(jié)點的數(shù)字簽名信息;且發(fā)送節(jié)點在將所述數(shù)字簽名信息發(fā)送給接收節(jié)點時,同時將所述標識信息發(fā)送 給接收節(jié)點。優(yōu)選地,上述數(shù)據(jù)加密方法中,所述發(fā)送節(jié)點的數(shù)字簽名信息的計算包括從1到n-1之間任意選取一整數(shù)k,其中η是橢圓曲線的基點的素數(shù)階;計算kP,然后將kP的χ坐標X3轉換為整數(shù)^,并對整數(shù)&取模η運算,得到r,其 中P = (Px, Py),表示所述橢圓曲線的基點;使用預設的雜湊函數(shù)對發(fā)送節(jié)點的標識信息進行雜湊運算,得到雜湊值e,并對 k—1 (e+dr)取模η運算,得到s,其中d為所述私鑰;在r和s均不等于0時,得到所述數(shù)字簽名信息(r,s)。優(yōu)選地,上述數(shù)據(jù)加密方法中,所述投影坐標系為雅可比投影坐標系;在計算所述kP的過程中,對于2P的計算按照以下方式進行根據(jù)所述對應關系,得到仿射點P對應的投影點G= (X1 Y1 Z1);
      X3 =(3X,2 +aZ')2 -SX^2 [=(3<+城4)(4式^2-13)-8廣’求解得到 2G= (X, Y, Z,) 按照公式·
      息;
      根據(jù)所述對應關系,將投影點2G轉換為仿射點2Ρ。 本發(fā)明還提供了一種發(fā)送節(jié)點,包括
      獲取單元,用于獲取預先設置的橢圓曲線的參數(shù)組、密鑰以及數(shù)據(jù)信息; 加密單元,用于利用橢圓曲線的參數(shù)組、密鑰以及數(shù)據(jù)信息,計算得到數(shù)據(jù)加密信
      發(fā)送單元,還用于將所述數(shù)據(jù)加密信息發(fā)送給接收節(jié)點; 其中,所述加密單元在計算所述數(shù)據(jù)加密信息的過程中,將所述橢圓曲線轉換為 投影坐標系下的方程,并利用所述橢圓曲線上的仿射點與所述方程上的投影點之間的對應 關系,將所述橢圓曲線上的倍點運算,轉換到投影坐標系下進行計算。優(yōu)選地,上述的發(fā)送節(jié)點中,所述加密單元包括投影單元,用于將所述橢圓曲線投影到投影坐標系,將所述橢圓曲線轉換為投影 坐標系下的方程,并確定所述橢圓曲線上的仿射點與所述方程上的投影點之間的對應關系;轉換單元,用于根據(jù)所述對應關系,通過將所述橢圓曲線的倍點運算公式中的仿 射點的坐標替換為投影點的坐標,轉換得到所述橢圓曲線的倍點運算在投影坐標系下的計 算公式;計算單元,用于利用所述對應關系和所述計算公式,將所述橢圓曲線上的倍點運 算,轉換到所述投影坐標系下進行計算。 優(yōu)選地,上述的發(fā)送節(jié)點中,所述密鑰為發(fā)送節(jié)點的私鑰,所述數(shù)據(jù)信息為發(fā)送節(jié)點的標識信息,所述數(shù)據(jù)加 密信息為發(fā)送節(jié)點的數(shù)字簽名信息;所述發(fā)送單元,還用于在將所述數(shù)字簽名信息發(fā)送給接收節(jié)點時,同時將所述標 識信息發(fā)送給接收節(jié)點。優(yōu)選地,上述的發(fā)送節(jié)點中,所述加密單元包括選擇單元,用于從1到n-1之間任意選取一整數(shù)k,其中η是所述橢圓曲線的基點 的素數(shù)階;第一計算單元,用于計算kP,然后將kP的χ坐標X3轉換為整數(shù)^,并對整數(shù)^3取模 η運算,得到r,其中P = (Px, Py),表示所述橢圓曲線的基點;第二計算單元,用于使用雜湊函數(shù)對發(fā)送節(jié)點的標識信息進行雜湊運算,得到雜 湊值e,并對k—1 (e+dr)取模η運算,得到s,其中d為所述私鑰;輸出單元,用于在r和s均不等于0時,得到所述數(shù)字簽名信息(r,s)。優(yōu)選地,上述的發(fā)送節(jié)點中,所述投影坐標系為雅可比投影坐標系,所述第一計算 單元,進一步用于在計算所述kP的過程中,對于2P的計算按照以下方式進行根據(jù)所述對應關系,得到仿射點P對應的投影點G= (X1 Y1 Z1); 按照公式 根據(jù)所述對應關系,將投影點2G轉換為仿射點2Ρ。本發(fā)明還提供了一種基于橢圓曲線公鑰密碼體制的數(shù)據(jù)解密方法,包括接收節(jié)點接收發(fā)送節(jié)點的數(shù)據(jù)加密信息,所述數(shù)據(jù)加密信息是發(fā)送節(jié)點利用預設 的橢圓曲線的參數(shù)組、第一密鑰和數(shù)據(jù)信息計算得到的;接收節(jié)點利用所述橢圓曲線的參數(shù)組和所述第一密鑰對應的第二密鑰,對所述數(shù) 據(jù)加密信息進行解密;其中,在所述數(shù)據(jù)加密信息的解密過程中,將所述橢圓曲線轉換為投影坐標系下 的方程,并利用所述橢圓曲線上的仿射點與所述方程上的投影點之間的對應關系,將所述 橢圓曲線上的倍點運算,轉換到投影坐標系下進行計算。優(yōu)選地,上述的數(shù)據(jù)解密方法中,其中,將所述橢圓曲線上的倍點運算,轉換到投 影坐標系下進行計算,具體包括將所述橢圓曲線投影到投影坐標系,將所述橢圓曲線轉換為投影坐標系下的方程,并確定所述橢圓曲線上的仿射點與所述方程上的投影點之間的對應關系;根據(jù)所述對應關系,通過將所述橢圓曲線的倍點運算公式中的仿射點的坐標替換 為投影點的坐標,轉換得到所述橢圓曲線的倍點運算在投影坐標系下的計算公式;利用所述對應關系和所述第一計算公式,將所述橢圓曲線上的倍點運算,轉換到 所述投影坐標系下進行計算。優(yōu)選地,上述的數(shù)據(jù)解密方法中,所述第一密鑰為接收節(jié)點的公鑰,所述第二密鑰為接收節(jié)點的私鑰,所述數(shù)據(jù)信 息為明文信息,所述數(shù)據(jù)加密信息是所述明文信息對應的密文信息。優(yōu)選地,上述的數(shù)據(jù)解密方法中,所述第一密鑰為發(fā)送節(jié)點的私鑰,所述第二密鑰為發(fā)送節(jié)點的公鑰,所述數(shù)據(jù)信 息為發(fā)送節(jié)點的標識信息,所述數(shù)據(jù)加密信息為發(fā)送節(jié)點的數(shù)字簽名信息;接收節(jié)點進一步接收發(fā)送節(jié)點的標識信息,并在所述數(shù)據(jù)加密信息的解密過程 中,利用所述橢圓曲線的參數(shù)組、發(fā)送節(jié)點的標識信息和所述發(fā)送節(jié)點的公鑰,對所述數(shù)字 簽名信息進行簽名認證。優(yōu)選地,上述的數(shù)據(jù)解密方法中,所述對所述數(shù)字簽名信息進行簽名認證,包括在所述數(shù)字簽名信息(r,s)中的r或s中任一個不屬于區(qū)間[1,n_l]時,判斷數(shù) 字簽名認證失敗,其中η是所述橢圓曲線的基點的素數(shù)階;在r和s均屬于區(qū)間[1,n-1]時,使用預設的雜湊函數(shù)對發(fā)送節(jié)點的標識信息m 進行雜湊運算,得到雜湊值e,并對s—1取模η運算得到w ;計算 U1P 禾口 u2Q,并計算 uf+i^Q 得到 T,其中,U1 = ew mod η, U2 = rw mod η, P = (Px,Py),表示所述橢圓曲線的基點,Q表示所述公鑰;在T =①時,判斷簽名認證失??;在T興⑴時,將T的χ坐標X4轉換為整數(shù)&,并對〒4取模η運算得到V,并判斷ν = r是否成立若成立,則數(shù)字簽名認證通過;否則數(shù)字簽名認證失敗。優(yōu)選地,上述的數(shù)據(jù)解密方法中,所述投影坐標系為雅可比投影坐標系;在計算所述U1P或U2Q的過程中,對于2F的計算按照以下方式進行,其中F表示P 或Q 根據(jù)所述對應關系,得到仿射點F對應的投影點G= (X1 Y1 Z1);
      盡=(3<+"丨4)(4;^2-^()-8廣’求解得到26= (X3 Y3 Z3); Z3 = IYiZi 按照公式·根據(jù)所述對應關系,將投影點2G轉換為仿射點2F。本發(fā)明還提供了一種接收節(jié)點,包括接收單元,用于接收發(fā)送節(jié)點的數(shù)據(jù)加密信息,所述數(shù)據(jù)加密信息是發(fā)送節(jié)點利 用預設的橢圓曲線的參數(shù)組、第一密鑰和數(shù)據(jù)信息計算得到的;解密單元,用于利用所述橢圓曲線的參數(shù)組和所述第一密鑰對應的第二密鑰,對
      10所述數(shù)據(jù)加密信息進行解密;其中,所述解密單元在所述數(shù)據(jù)加密信息的解密過程中,將所述橢圓曲線轉換為 投影坐標系下的方程,并利用所述橢圓曲線上的仿射點與所述方程上的投影點之間的對應 關系,將所述橢圓曲線上的倍點運算,轉換到投影坐標系下進行計算。優(yōu)選地,上述的接收節(jié)點中,所述解密單元包括投影單元,用于將所述橢圓曲線投影到投影坐標系,將所述橢圓曲線轉換為投影 坐標系下的方程,并確定所述橢圓曲線上的仿射點與所述方程上的投影點之間的對應關 系;轉換單元,用于根據(jù)所述對應關系,通過將所述橢圓曲線的倍點運算公式中的仿 射點的坐標替換為投影點的坐標,轉換得到所述橢圓曲線的倍點運算在投影坐標系下的計 算公式;計算單元,用于利用所述對應關系和所述計算公式,將所述橢圓曲線上的倍點運 算,轉換到所述投影坐標系下進行計算。優(yōu)選地,上述的接收節(jié)點中,所述第一密鑰為發(fā)送節(jié)點的私鑰,所述第二密鑰為發(fā)送節(jié)點的公鑰,所述數(shù)據(jù)信 息為發(fā)送節(jié)點的標識信息,所述數(shù)據(jù)加密信息為發(fā)送節(jié)點的數(shù)字簽名信息;所述接收單元,還用于接收發(fā)送節(jié)點的標識信息;所述解密單元,還用于在所述數(shù)據(jù)加密信息的解密過程中,利用所述橢圓曲線的 參數(shù)組、發(fā)送節(jié)點的標識信息和所述發(fā)送節(jié)點的公鑰,對所述數(shù)字簽名信息進行簽名認證。優(yōu)選地,上述的接收節(jié)點中,所述解密單元包括第一判斷單元,用于在所述數(shù)字簽名信息(r,s)中的r或s中任一個不屬于區(qū)間 [1,n-1]時,判斷數(shù)字簽名認證失敗,其中η是所述橢圓曲線的基點的素數(shù)階;第一計算單元,用于在r和s均屬于區(qū)間[l,n-l]時,使用預設的雜湊函數(shù)對發(fā)送 節(jié)點的標識信息m進行雜湊運算,得到雜湊值e,并對s—1取模η運算得到w ;第二計算單元,用于計算U1P,其中P= (Px,Py),表示所述橢圓曲線的基點;第三計算單元,用于計算U2Q,其中Q表示所述公鑰;第三計算單元,用于計算U1PiU2Q得到T,其中,U1 = ew mod η, U2 = rw mod η ;第二判斷單元,用于在T =⑴時,判斷簽名認證失??;第三判斷單元,用于在T興⑴時,將T的χ坐標X4轉換為整數(shù)& ,并對&取模η運 算得到ν,并判斷ν = r是否成立若成立,則數(shù)字簽名認證通過;否則數(shù)字簽名認證失敗。優(yōu)選地,上述的接收節(jié)點中,所述投影坐標系為雅可比投影坐標系;所述第二計算單元,進一步用于在計算所述U1P或U2Q的過程中,對于2F的計算按 照以下方式進行,其中F表示P或Q 根據(jù)所述對應關系,得到仿射點F對應的投影點G= (X1 Y1 Z1);
      按照公式 根據(jù)所述對應關系,將投影點2G轉換為仿射點2F。從以上所述可以看出,本發(fā)明提供的數(shù)據(jù)加密方法、數(shù)據(jù)解密方法及節(jié)點,在利用 橢圓曲線公鑰密碼體制生成數(shù)據(jù)加密信息以及在對加密信息進行解密(例如計算數(shù)字簽 名信息以及在對數(shù)字簽名信息進行簽名認證)的過程中,通過將橢圓曲線由原始坐標系投 影到投影坐標系,將橢圓曲線轉換為投影坐標系下的方程,進而將所述橢圓曲線的倍點運 算,轉換為投影坐標系下的運算,由于投影坐標系下的運算只需要計算投影坐標系下坐標 值之間的乘法、加法計算,從而避免了橢圓曲線倍點運算中的求逆運算,而求逆運算會耗費 大量的系統(tǒng)資源,因此本發(fā)明能夠大大減少運算量,提高了計算效率。并且,由于本發(fā)明大 大降低了數(shù)據(jù)加密及解密過程中的運算量,使得節(jié)點系統(tǒng)資源有限的情況下也可應用橢圓 曲線公鑰密碼體制,擴大了橢圓曲線公鑰密碼體制的應用范圍,例如,使得橢圓曲線簽名算 法可以應用于無線傳感網(wǎng)絡中的無線傳感節(jié)點,既提高了無線傳感網(wǎng)絡的安全性,又不必 增加節(jié)點的硬件成本。


      圖1為本發(fā)明實施例所述基于橢圓曲線公鑰密碼體制的數(shù)據(jù)加密方法的流程示 意圖;圖2為本發(fā)明實施例所述基于橢圓曲線公鑰密碼體制的數(shù)據(jù)解密方法的流程示 意圖;圖3為本發(fā)明實施例中橢圓曲線數(shù)字簽名的生成過程的舉例示意圖;圖4為本發(fā)明實施例中橢圓曲線數(shù)字簽名的驗證過程的舉例示意圖;圖5為本發(fā)明實施例所述發(fā)送節(jié)點的結構示意圖;圖6為本發(fā)明實施例所述接收節(jié)點的結構示意圖。
      具體實施例方式本發(fā)明針對現(xiàn)有的橢圓曲線公鑰密碼體制中加、解密運算量大的不足,通過對橢 圓曲線進行坐標系轉換,將橢圓曲線的倍點運算轉換到投影坐標系下進行,降低了簽名認 證算法的運算量,擴大了橢圓曲線公鑰密碼體制的應用范圍。以下將結合附圖,通過具體實 施例對本發(fā)明做進一步的說明。本發(fā)明實施例提供了一種基于橢圓曲線公鑰密碼體制的數(shù)據(jù)加密方法。請參照圖 1,本發(fā)明實施例所述數(shù)據(jù)加密方法,具體包括以下步驟步驟11,發(fā)送節(jié)點獲取預先設置的橢圓曲線的參數(shù)組、、密鑰以及明文信息。步驟12,發(fā)送節(jié)點利用橢圓曲線的參數(shù)組、密鑰以及明文信息,計算得到數(shù)據(jù)加密 信息,并將所述數(shù)據(jù)加密信息發(fā)送給接收節(jié)點;其中,在計算所述數(shù)據(jù)加密信息的過程中, 將所述橢圓曲線轉換為投影坐標系下的方程,并利用所述橢圓曲線上的仿射點與所述方程 上的投影點之間的對應關系,將所述橢圓曲線上的倍點運算,轉換到投影坐標系下進行計笪弁。這里,在應用本實施例所述數(shù)據(jù)加密方法對明文進行加密時,上述步驟11中所述 的密鑰為接收節(jié)點的公鑰,所述數(shù)據(jù)信息為明文信息,上述步驟12中所述的數(shù)據(jù)加密信息 是所述明文信息對應的密文信息。這里,在應用本實施例所述數(shù)據(jù)加密方法對發(fā)送節(jié)點進行數(shù)字簽名時,上述步驟 11中所述的密鑰為發(fā)送節(jié)點的私鑰,所述數(shù)據(jù)信息為發(fā)送節(jié)點的標識信息,上述步驟12中 所述的數(shù)據(jù)加密信息為發(fā)送節(jié)點的數(shù)字簽名信息,并且發(fā)送節(jié)點在將所述數(shù)字簽名信息發(fā) 送給接收節(jié)點時,同時將所述標識信息發(fā)送給接收節(jié)點。在利用橢圓曲線公鑰密碼體制生成數(shù)字簽名或對明文進行加密的過程中,都會涉 及到橢圓曲線上的倍點運算。本實施例在上述步驟12中,將所述橢圓曲線上的倍點運算, 轉換到投影坐標系下進行計算,具體包括將所述橢圓曲線投影到投影坐標系,將所述橢圓曲線轉換為投影坐標系下的方 程,并確定所述橢圓曲線上的仿射點與所述方程上的投影點之間的對應關系;根據(jù)所述對應關系,通過將所述橢圓曲線的倍點運算公式中的仿射點的坐標替換 為投影點的坐標,轉換得到所述橢圓曲線的倍點運算在投影坐標系下的計算公式,所述計 算公式的表達式中消去了分母;利用所述對應關系和所述計算公式,將所述橢圓曲線上的倍點運算,轉換到所述 投影坐標系下進行計算。從以上所述可以看出,本實施例在利用橢圓曲線公鑰密碼體制計算數(shù)據(jù)加密信息 時,通過將橢圓曲線由原始坐標系投影到投影坐標系,將橢圓曲線轉換為投影坐標系下的 方程,原始坐標系下橢圓曲線的每一點(投影點),在投影坐標系下都有與之對應的一個點 (仿射點);進而本實施例將所述橢圓曲線的倍點運算,轉換為投影坐標系下的運算,由于 投影坐標系下的運算只需要計算投影坐標系下坐標值之間的乘法、加法計算,從而避免了 橢圓曲線倍點運算中的求逆運算,而求逆運算會耗費大量的系統(tǒng)資源,因此本實施例能夠 大大減少運算量,提高了計算效率。優(yōu)選地,本實施例所述發(fā)送節(jié)點為無線傳感網(wǎng)絡中的無線傳感節(jié)點。無線傳感網(wǎng)絡是一種由傳感器節(jié)點構成的網(wǎng)絡,它能夠協(xié)作監(jiān)測、感知和采集網(wǎng) 絡分布區(qū)域內(nèi)的各種監(jiān)測對象信息,并對這些信息進行處理,發(fā)布給觀察者。由于無線傳感 網(wǎng)絡節(jié)點大都需要部署在相對危險或者環(huán)境較為惡劣的地區(qū),而且在一般情況下,無線傳 感節(jié)點處于無人監(jiān)管和維護的狀況下,所以無線傳感節(jié)點極易受到各種惡意攻擊,從而威 脅到整個無線傳感網(wǎng)絡的安全。所以必須要保證在無線傳感網(wǎng)絡中節(jié)點通信的合法身份。 另一方面由于無線傳感節(jié)點存儲容量和計算能力都十分有限,這使得在無線傳感節(jié)點是使 用較為復雜的加密算法十分困難,因此現(xiàn)有技術的橢圓曲線密鑰長度的算術運算不適合應 用在硬件資源有限的無線傳感節(jié)點,因此現(xiàn)有技術的無線傳感節(jié)點都沒有采用安全性很高 的橢圓曲線簽名算法。而本實施例通過坐標系轉換,避免了橢圓曲線的倍點運算中的求逆 運算,大大降低了簽名過程中的運算量,使得橢圓曲線公鑰密碼體制可以應用于無線傳感 節(jié)點,既提高了節(jié)點的安全性,又不必增加節(jié)點的硬件成本。與上述數(shù)字簽名方法相對應,本實施例還提供了一種基于橢圓曲線公鑰密碼體制 的數(shù)據(jù)解密方法,如圖2所示,該認證方法具體包括
      步驟21,接收節(jié)點接收發(fā)送節(jié)點的數(shù)據(jù)加密信息,所述數(shù)據(jù)加密信息是發(fā)送節(jié)點 利用預設的橢圓曲線的參數(shù)組、第一密鑰和數(shù)據(jù)信息計算得到的;步驟22,接收節(jié)點利用所述橢圓曲線的參數(shù)組和所述第一密鑰對應的第二密鑰, 對所述數(shù)據(jù)加密信息進行解密;其中,在所述數(shù)據(jù)加密信息的解密中,將所述橢圓曲線轉換 為投影坐標系下的方程,并利用所述橢圓曲線上的仿射點與所述方程上的投影點之間的對 應關系,將所述橢圓曲線上的倍點運算,轉換到投影坐標系下進行計算。這里,在應用本實施例所述數(shù)據(jù)解密方法對密文進行解密時,上述步驟21中所述 的第一密鑰為接收節(jié)點的公鑰,所述第二密鑰為接收節(jié)點的私鑰,所述數(shù)據(jù)信息為明文信 息,所述數(shù)據(jù)加密信息是所述明文信息對應的密文信息。這里,在應用本實施例所述數(shù)據(jù)加密方法對發(fā)送節(jié)點的數(shù)字簽名進行簽名認證 時,上述步驟21中所述的第一密鑰為發(fā)送節(jié)點的私鑰,所述第二密鑰為發(fā)送節(jié)點的公鑰, 所述數(shù)據(jù)信息為發(fā)送節(jié)點的標識信息,所述數(shù)據(jù)加密信息為發(fā)送節(jié)點的數(shù)字簽名信息;且 在步驟21中,接收節(jié)點進一步接收發(fā)送節(jié)點的標識信息,并在步驟22中所述數(shù)據(jù)加密信息 的解密過程中,利用所述橢圓曲線的參數(shù)組、發(fā)送節(jié)點的標識信息和所述發(fā)送節(jié)點的公鑰, 對所述數(shù)字簽名信息進行簽名認證。這里,上述步驟22中,將所述橢圓曲線上的倍點運算,轉換到投影坐標系下進行 計算,具體包括將所述橢圓曲線投影到投影坐標系,將所述橢圓曲線轉換為投影坐標系下的方 程,并確定所述橢圓曲線上的仿射點與所述方程上的投影點之間的對應關系;根據(jù)所述對應關系,通過將所述橢圓曲線的倍點運算公式中的仿射點的坐標替換 為投影點的坐標,轉換得到所述橢圓曲線的倍點運算在投影坐標系下的計算公式,所述計 算公式的表達式中消去了分母;利用所述對應關系和所述計算公式,將所述橢圓曲線上的倍點運算,轉換到所述 投影坐標系下進行計算。優(yōu)選地,所述接收節(jié)點為無線傳感網(wǎng)絡中的無線傳感節(jié)點。從以上所述可以看出,本實施例在對數(shù)據(jù)加密信息進行解密時,通過將橢圓曲線 由原始坐標系投影到投影坐標系,將橢圓曲線轉換為投影坐標系下的方程,原始坐標系下 橢圓曲線的每一點(投影點),在投影坐標系下都有與之對應的一個點(仿射點);進而本 實施例將所述橢圓曲線的倍點運算,轉換為投影坐標系下的運算,由于投影坐標系下的運 算只需要計算投影坐標系下坐標值之間的乘法、加法計算,從而避免了橢圓曲線倍點運算 中的求逆運算,大大減少了運算量,提高了計算效率。為了更容易理解本實施例的上述方法,本實施例進一步以雅可比投影坐標系和數(shù) 字簽名及簽名認證為例,通過具體示例對上述方法做進一步的說明。該具體示例并不用于 限制本發(fā)明,本發(fā)明同樣可以應用到其它投影坐標系,如標準投影坐標系中,本發(fā)明同樣可 以應用在基于現(xiàn)有的橢圓曲線公鑰密碼體制的各種加密解密算法對明文進行加密和對密 文進行解密的過程中。首先說明橢圓曲線的倍點運算如何通過雅可比橢圓坐標下的計算實現(xiàn)。假設給出橢圓曲線的參數(shù)組D = (p,a,b,P,n,h),該參數(shù)組能夠定義一個橢圓曲 線方程E :y2 = x3+ax+b。其中,ρ是一個大于3的素數(shù),通常其二進制長度大于160比特,可以是由美國國家標準技術研究院(NIST)推薦的素數(shù),從而可以得到相應的素數(shù)域。a,b 是橢圓曲線E:y2 = x3+ax+b的系數(shù)。P= (Px, Py)為橢圓曲線E上的基點。h為余因子,η 為基點P的素數(shù)階。假設本實施例中采用的數(shù)字簽名的密鑰對(d,Q),其中d是私鑰,是1 到n-1之間一個任意整數(shù)(即d e R[l,n-1]),為發(fā)送節(jié)點所有;Q = dP是公鑰,為接收節(jié) 點所有。這里,將橢圓曲線轉換為雅可比投影坐標系下的方程,并確定所述橢圓曲線上的 仿射點與所述方程上的投影點之間的對應關系,具體是將橢圓曲線E :y2 = x3+ax+b轉換 成雅可比投影坐標系下的方程形式Y2 = X3+aXZ4+bZ6,此時雅可比投影坐標系下的投影點 (X Y Z),Z興0與橢圓曲線所在原始坐標系下的仿射點(X/Z2,Y/Z3)對應。假設W = (X1, Y1)是橢圓曲線中的一個點,則橢圓曲線的倍點運算公式2W = (χ2, Y2)為χ2 = λ 2Ix1 mod ρy2 = λ (X1-X2)I1 mod ρ其中,λ = (3Xl2+a)/2y10這里的mod ρ是表示對取模ρ運算,例如上式中分別對 λ 2_2Χι 和 λ (X1-X2) -Υι 取模 ρ 運算。根據(jù)仿射點和投影點之間的對應關系,對于仿射點:ff = (X1, Y1) = (Χ/Ζ2, Y/ Z3),存在投影點G = (X1 Y1 Z1)與之對應,因此,令G = (X1 Y1 ZDJUG = (X' 3 Y' 3 1),將Xp Y1替換為雅可比投影坐標系下的坐標,代入上述橢圓曲線的倍 點運算公式,得到
      在表達式中消去分母,則2G= (X3 Y3 Z3),其中 上述公式(1)便是橢圓曲線的倍點運算在雅可比投影坐標系下的計算公式。上述 公式(1)的表達式中都沒有了分母,從而避免了求逆運算。同時,由于pA^+aZ,4)、};2等計 算結果都可以重復使用,以進一步減少運算量。通過以上轉換,橢圓曲線上的仿射點W= (Χι,Υι) = (X/Z2,Y/Z3),其倍點運算得到 的點2W,對應于雅可比投影坐標下的2G= (X3 Y3 Z3),因此,在計算橢圓曲線的倍點運 算時,只需要利用仿射點和投影點之間的對應關系和上述公式(1),將橢圓曲線上的倍點運 算轉換為雅可比投影坐標系下的計算,然后再根據(jù)上述對應關系,將雅可比投影坐標系下 的計算結果轉換回橢圓曲線所在的原始坐標系,即可得到橢圓曲線的倍點計算結果。本示例中,作為發(fā)送節(jié)點的無線傳感節(jié)點,在發(fā)生通信時首先產(chǎn)生本發(fā)送節(jié)點的 數(shù)字簽名信息(r,s),并將該數(shù)字簽名信息(r,s)發(fā)送給接收節(jié)點,其具體過程如圖3所示,包括 步驟300,導出發(fā)送節(jié)點的標識信息m,這里,該標識信息可以是終端號、終端MAC 地址或其它能唯一標識該終端的信息。步驟301,導出預置在發(fā)送節(jié)點中的橢圓曲線的參數(shù)組D = (p,a,b,P,n,h)和發(fā) 送節(jié)點的私鑰d。步驟302,發(fā)送節(jié)點選取1到n-1之間一個任意整數(shù)k(即k e R[l,n_l]),并計算 kP= (x3, y3),然后將域參數(shù)X3轉換為整數(shù)具體轉換可以按照美國國家標準學會ANSI X9. 62標準進行將X3轉換為整數(shù)^。這里,在步驟302中,可以在計算kP = (x3, y3)的過程中使用上述公式(1),對橢 圓曲線的倍點運算進行優(yōu)化,以減少運算量,提高運算效率。按照橢圓曲線中多倍點運算, 對于ν = kP的計算過程如下首先,將k表示為二進制形式k = (!^,...,‘!^丄,并令N = O:然后,對于i從0到t-Ι,依次重復執(zhí)行以下A、B的運算A)若Iii = 1,則將N更新為N+P的結果(即N — N+P);若Iii = 0,則保持N不變 (即 N — N); B)計算2P,并將P更新為2P (即P — 2P);最后,輸出N的值,得到N = kP的計算結果。其中,所述步驟B中計算2P具體包括 根據(jù)所述仿射點和投影點之間的對應關系,得到仿射點P對應的投影點G = Z1);
      &=(3<+<1)(4^^2-丨)-8]^’求解得到26= (X3 Y3 Z3); Z3 =
      (X1 Y1 按照公式·根據(jù)所述對應關系,將投影點2G轉換為仿射點2Ρ,從而得到倍點2Ρ的運算結果。從上述計算過程可以看出,在進行橢圓曲線中多倍點運算時,需要反復進行橢圓 曲線的倍點運算(即步驟B中的2Ρ),因此,本示例在計算2Ρ時,將橢圓曲線投影到雅可比 投影坐標系下,利用仿射點和投影點的對應關系和上述公式(1),將倍點運算轉換為雅可比 投影坐標下的計算,然后根據(jù)上述對應關系,將計算結果轉換回橢圓曲線所屬的原始坐標 系,即可得到倍點運算結果,從而避免了橢圓曲線倍點運算中的求逆計算,大大減少了運算 量。步驟303,計算"=X1 mod η。步驟304,判斷r = 0是否成立若成立,則返回步驟302,以重新選擇k進行計算; 若不成立,則得到r的值并進入步驟305。步驟305,使用預設的雜湊函數(shù)對節(jié)點的標識信息m進行雜湊運算,得到雜湊值e。 例如使用安全散列演算法SHAl對m進行雜湊運算,得到固定長度的160位的雜湊值。步驟306,計算 s = k"1 (e+dr)mod n,即對 IT1 (e+dr)取模 η 運算。步驟307,判斷s = 0是否成立,若成立,則返回步驟302 ;若不成立,得到s的值并 進入步驟308。
      16
      步驟308,得到發(fā)送節(jié)點的橢圓曲線的數(shù)字簽名信息(r,s),并將數(shù)字簽名信息 (r,s)和自身標識信息發(fā)送給接收節(jié)點。這里,優(yōu)選地,發(fā)送節(jié)點和接收節(jié)點都是無線傳感 網(wǎng)絡中的無線傳感節(jié)點。本示例中,接收節(jié)點接收到發(fā)送節(jié)點發(fā)送的數(shù)字數(shù)字簽名信息(r,s)后,利用預 置的公鑰對其進行驗證,從而在發(fā)送節(jié)點接入網(wǎng)絡時對發(fā)送節(jié)點的合法性進行認證,保證 網(wǎng)絡的安全通信,具體認證過程如圖4所示,包括步驟400,在通信過程開始后,接收節(jié)點收到發(fā)送節(jié)點的數(shù)字簽名信息(r,s)和發(fā) 送節(jié)點的終端標識信息m;步驟401,接收節(jié)點提取預置在本地的橢圓曲線的參數(shù)D = (p,a,b,P,n,h)和公 鑰Q。步驟402,接收節(jié)點檢驗!“和s是否都是區(qū)間[l,n-l]內(nèi)的整數(shù)若任何一個檢驗 失敗,則進入步驟410 ;r和s都是區(qū)間[l,n-l]內(nèi)的整數(shù),則進入步驟403。步驟403,使用預設的雜湊函數(shù)(如SHAl,與發(fā)送節(jié)點相同)對發(fā)送節(jié)點的終端標 識信息m進行雜湊運算,得到固定長度的160位的雜湊值e。步驟404,計算w = s—1 mod η (即對s—1取模η運算得到w)。步驟405,計算U1 = ew mod η和U2 = rw mod η (即對ew取模η運算得到U1,對 rw取模η運算得到U2);然后,計算U1P和u2Q,并計算UlP+u2Q得到T,T = UlP+u2Q。步驟406,判斷T =⑴是否為真如是,則進入步驟410 ;否則進入步驟407。步驟407,根據(jù)ANSI X9. 62標準,將域參數(shù)T的χ坐標X4轉換為整數(shù)〒4 ;并計算 ν = x4 mod η 步驟408,由于s = k"1 (e+dr)mod η,重新整理可得k = S-1 (e+dr) = s_1e+s_1rd = we+wrd = U^U2Cl (mod η),艮口X = U1P+U2Q = UiP+^dP = (U^U2Cl) P = kP,所以有 ν = r 成立,因此判斷 ν = r 是 否成立若成立,則進入步驟409 ;否則進入步驟410。步驟409,數(shù)字簽名認證通過,返回(“接受該簽名”)的指示。步驟410,數(shù)字簽名認證失敗,返回(“拒絕該簽名”)的指示。這里,在上述步驟405中,可以在計算U1P和U2Q的過程中使用上述公式(1),對橢 圓曲線的倍點運算進行優(yōu)化,以減少運算量,提高運算效率,具體說明如下其中計算U1P包括將U1轉換為二進制形式U1 = (fh_i; · · ·,f2,f\)2,并令N的初始值為0 ;對于i從0到h-Ι,依次重復執(zhí)行以下步驟A、B的運算步驟A)若& = 1,則將N更新為N+P的結果;若f, = 0,則保持N不變;步驟B)計算2P,并將P更新為2P ;運算結束后輸出N的值,得到N = U1P的計算結果;其中,所述步驟B中計算2P包括根據(jù)所述仿射點和投影點之間的對應關系,得到仿射點P對應的投影點G = (X1 · Y1 · Z1);
      按照公式
      求解得到26= (X3 Y3 Z3); Z3 = 2YtZ,再根據(jù)所述對應關系,將投影點2G轉換為仿射點2P,從而得到倍點2P的運算結果。
      而計算u2Q,又具體包括將U2轉換為二進制形式U2 = ... , j2,丄)2,并令M的初始值為0 ;對于i從0到1-1,依次重復執(zhí)行以下步驟A’、B’的運算步驟A’)若Ji = 1,則將M更新為M+Q的結果;若Ji = 0,則保持M不變;步驟B’)計算2Q,并將Q更新為2Q ;運算結束后輸出M的值,得到M = U2Q的計算結果;其中,所述步驟B’中計算2Q包括根據(jù)所述對應關系,得到仿射點Q對應的投影點B= (X2 Y2 Z2); 按照公式
      求解得到 2B = (X4 Y4 Z4) 再根據(jù)所述對應關系,將投影點2B轉換為仿射點2Q,從而得到倍點2Q的運算結果。以上過程中,發(fā)送節(jié)點在生成數(shù)字簽名信息過程中,接收節(jié)點在驗證數(shù)字簽名信 息過程中均可利用上述公式(1)對橢圓曲線的倍點運算進行簡化,避免了倍點運算中的求 逆運算,減少了倍點運算所消耗的系統(tǒng)資源,降低了對節(jié)點硬件的要求,提高了運算效率。最后,通過下表列出了采用本實施例所述方法進行優(yōu)化前后的無線傳感節(jié)點在生 成公鑰、數(shù)字簽名信息和驗證數(shù)字簽名時所需要的時間,從下表可以看出,采用本實施例方 法后,在同樣的硬件條件下,無線傳感節(jié)點可以大大減少運算所需時間,本實施例所述方法 能夠在很大程度上提高運算效率,使得橢圓曲線公鑰密碼體制可以應用于系統(tǒng)資源較少的 無線傳感節(jié)點,而不必提高無線傳感節(jié)點的硬件配置,具有很好的經(jīng)濟效益,又能夠提高無 線傳感網(wǎng)絡的安全性 最后,本實施例還分別提供了用以實現(xiàn)上述數(shù)據(jù)加密方法和數(shù)據(jù)解密方法的節(jié)點設備。
      其中,如圖5所示,本實施例提供的一種發(fā)送節(jié)點,具體包括
      獲取單元,用于獲取預先設置的橢圓曲線的參數(shù)組1密鑰以及數(shù)據(jù)信息;
      加密單元,用于利用橢圓曲線的參數(shù)組1密鑰以及數(shù)據(jù)信息,計算得到數(shù)據(jù)加密信息;
      發(fā)送單元,還用于將所述數(shù)據(jù)加密信息發(fā)送給接收節(jié)點;
      其中,所述加密單元在計算所述數(shù)據(jù)加密信息的過程中,將所述橢圓曲線轉換為投影坐標系下的方程,并利用所述橢圓曲線上的仿射點與所述方程上的投影點之間的對應關系,將所述橢圓曲線上的倍點運算,轉換到投影坐標系下進行計算。
      作為一個優(yōu)選實施例,所述加密單元包括投影單元,用于將所述橢圓曲線投影到投影坐標系,將所述橢圓曲線轉換為投影 坐標系下的方程,并確定所述橢圓曲線上的仿射點與所述方程上的投影點之間的對應關 系;轉換單元,用于根據(jù)所述對應關系,通過將所述橢圓曲線的倍點運算公式中的仿 射點的坐標替換為投影點的坐標,轉換得到所述橢圓曲線的倍點運算在投影坐標系下的計 算公式;計算單元,用于利用所述對應關系和所述計算公式,將所述橢圓曲線上的倍點運 算,轉換到所述投影坐標系下進行計算。作為一個優(yōu)選實施例,所述密鑰為接收節(jié)點的公鑰,所述數(shù)據(jù)信息為明文信息,所 述數(shù)據(jù)加密信息是所述明文信息對應的密文信息。作為一個優(yōu)選實施例,所述密鑰為發(fā)送節(jié)點的私鑰,所述數(shù)據(jù)信息為發(fā)送節(jié)點的 標識信息,所述數(shù)據(jù)加密信息為發(fā)送節(jié)點的數(shù)字簽名信息;且所述發(fā)送單元,還用于在將所 述數(shù)字簽名信息發(fā)送給接收節(jié)點時,同時將所述標識信息發(fā)送給接收節(jié)點。優(yōu)選地,所述發(fā)送節(jié)點為無線傳感網(wǎng)絡中的無線傳感節(jié)點。作為一個優(yōu)選實施例,所述加密單元包括選擇單元,用于從1到n-1之間任意選取一整數(shù)k,其中η是所述橢圓曲線的基點 的素數(shù)階;第一計算單元,用于計算kP,然后將kP的χ坐標X3轉換為整數(shù)〒3,并對整數(shù)&取 模η運算,得到r,其中P= (Px,Py),表示所述橢圓曲線的基點;第二計算單元,用于使用雜湊函數(shù)對發(fā)送節(jié)點的標識信息進行雜湊運算,得到雜 湊值e,并對k—1 (e+dr)取模η運算,得到s,其中d為所述私鑰;輸出單元,用于在r和s均不等于0時,得到所述數(shù)字簽名信息(r,s)。作為一個優(yōu)選實施例,所述投影坐標系為雅可比投影坐標系,所述第一計算單元, 進一步用于在計算所述kP的過程中,對于2P的計算按照以下方式進行根據(jù)所述對應關系,得到仿射點P對應的投影點G= (X1 Y1 Z1); 按照公式
      ,求解得到2G=(X3 Y3 Z3);
      根據(jù)所述對應關系,將投影點2G轉換為仿射點2P。再請參照圖6所示,本實施例還提供了一種接收節(jié)點,具體包括接收單元,用于接收發(fā)送節(jié)點的數(shù)據(jù)加密信息,所述數(shù)據(jù)加密信息是發(fā)送節(jié)點利 用預設的橢圓曲線的參數(shù)組、第一密鑰和數(shù)據(jù)信息計算得到的;解密單元,用于利用所述橢圓曲線的參數(shù)組和所述第一密鑰對應的第二密鑰,對 所述數(shù)據(jù)加密信息進行解密;其中,所述解密單元在所述數(shù)據(jù)加密信息的解密過程中,將所述橢圓曲線轉換為 投影坐標系下的方程,并利用所述橢圓曲線上的仿射點與所述方程上的投影點之間的對應 關系,將所述橢圓曲線上的倍點運算,轉換到投影坐標系下進行計算。作為一個優(yōu)選實施例,所述解密單元包括投影單元,用于將所述橢圓曲線投影到投影坐標系,將所述橢圓曲線轉換為投影 坐標系下的方程,并確定所述橢圓曲線上的仿射點與所述方程上的投影點之間的對應關 系;轉換單元,用于根據(jù)所述對應關系,通過將所述橢圓曲線的倍點運算公式中的仿 射點的坐標替換為投影點的坐標,轉換得到所述橢圓曲線的倍點運算在投影坐標系下的計 算公式;計算單元,用于利用所述對應關系和所述計算公式,將所述橢圓曲線上的倍點運 算,轉換到所述投影坐標系下進行計算。優(yōu)選地,所述發(fā)送節(jié)點為無線傳感網(wǎng)絡中的無線傳感節(jié)點。作為一個優(yōu)選實施例,所述第一密鑰為接收節(jié)點的公鑰,所述第二密鑰為接收節(jié) 點的私鑰,所述數(shù)據(jù)信息為明文信息,所述數(shù)據(jù)加密信息是所述明文信息對應的密文信息。作為一個優(yōu)選實施例,所述第一密鑰為發(fā)送節(jié)點的私鑰,所述第二密鑰為發(fā)送節(jié) 點的公鑰,所述數(shù)據(jù)信息為發(fā)送節(jié)點的標識信息,所述數(shù)據(jù)加密信息為發(fā)送節(jié)點的數(shù)字簽 名信息;所述接收單元,還用于接收發(fā)送節(jié)點的標識信息;所述解密單元,還用于在所述數(shù)據(jù)加密信息的解密過程中,利用所述橢圓曲線的 參數(shù)組、發(fā)送節(jié)點的標識信息和所述發(fā)送節(jié)點的公鑰,對所述數(shù)字簽名信息進行簽名認證。優(yōu)選地,所述解密單元包括第一判斷單元,用于在所述數(shù)字簽名信息(r,s)中的r或s中任一個不屬于區(qū)間 [1,n-1]時,判斷數(shù)字簽名認證失敗,其中η是所述橢圓曲線的基點的素數(shù)階;第一計算單元,用于在r和s均屬于區(qū)間[l,n-l]時,使用預設的雜湊函數(shù)對發(fā)送 節(jié)點的標識信息m進行雜湊運算,得到雜湊值e,并對s—1取模η運算得到w ;第二計算單元,用于計算U1P,其中P= (Px,Py),表示所述橢圓曲線的基點;第三計算單元,用于計算U2Q,其中Q表示所述公鑰;第三計算單元,用于計算U1P+U2Q得到T,其中,U1 = ew mod η, U2 = rw mod η ;第二判斷單元,用于在T =⑴時,判斷簽名認證失敗;第三判斷單元,用于在T興⑴時,將T的χ坐標X4轉換為整數(shù)&,并對^4取模η運 算得到ν,并判斷ν = r是否成立若成立,則數(shù)字簽名認證通過;否則數(shù)字簽名認證失敗。作為一個優(yōu)選實施例,所述投影坐標系為雅可比投影坐標系,所述第二計算單元,進一步用于在計算所述U1P或U2Q的過程中,對于2F的計算按照以下方式進行,其中F表示 P或Q 根據(jù)所述對應關系,得到仿射點F對應的投影點G= (X1 Y1 Z1); 按照公式· 根據(jù)所述對應關系,將投影點2G轉換為仿射點2F。以上所述僅是本發(fā)明的實施方式,應當指出,對于本技術領域的普通技術人員來 說,在不脫離本發(fā)明原理的前提下,還可以作出若干改進和潤飾,這些改進和潤飾也應視為 本發(fā)明的保護范圍。
      2權利要求
      一種基于橢圓曲線公鑰密碼體制的數(shù)據(jù)加密方法,其特征在于,包括發(fā)送節(jié)點獲取預先設置的橢圓曲線的參數(shù)組、密鑰以及數(shù)據(jù)信息;發(fā)送節(jié)點利用橢圓曲線的參數(shù)組、密鑰以及數(shù)據(jù)信息,計算得到數(shù)據(jù)加密信息,并將所述數(shù)據(jù)加密信息發(fā)送給接收節(jié)點;其中,在計算所述數(shù)據(jù)加密信息的過程中,將所述橢圓曲線轉換為投影坐標系下的方程,并利用所述橢圓曲線上的仿射點與所述方程上的投影點之間的對應關系,將所述橢圓曲線上的倍點運算,轉換到投影坐標系下進行計算。
      2.如權利要求1所述的數(shù)據(jù)加密方法,其特征在于,其中,將所述橢圓曲線上的倍點運 算,轉換到投影坐標系下進行計算,具體包括將所述橢圓曲線投影到投影坐標系,將所述橢圓曲線轉換為投影坐標系下的方程,并 確定所述橢圓曲線上的仿射點與所述方程上的投影點之間的對應關系;根據(jù)所述對應關系,通過將所述橢圓曲線的倍點運算公式中的仿射點的坐標替換為投 影點的坐標,轉換得到所述橢圓曲線的倍點運算在投影坐標系下的計算公式;利用所述對應關系和所述計算公式,將所述橢圓曲線上的倍點運算,轉換到所述投影 坐標系下進行計算。
      3.如權利要求1所述的數(shù)據(jù)加密方法,其特征在于,所述密鑰為接收節(jié)點的公鑰,所述數(shù)據(jù)信息為明文信息,所述數(shù)據(jù)加密信息是所述明 文信息對應的密文信息。
      4.如權利要求1所述的數(shù)據(jù)加密方法,其特征在于,所述密鑰為發(fā)送節(jié)點的私鑰,所述數(shù)據(jù)信息為發(fā)送節(jié)點的標識信息,所述數(shù)據(jù)加密信 息為發(fā)送節(jié)點的數(shù)字簽名信息;且發(fā)送節(jié)點在將所述數(shù)字簽名信息發(fā)送給接收節(jié)點時,同時將所述標識信息發(fā)送給接 收節(jié)點。
      5.如權利要求4所述的數(shù)據(jù)加密方法,其特征在于, 所述發(fā)送節(jié)點的數(shù)字簽名信息的計算包括從1到n-1之間任意選取一整數(shù)k,其中η是橢圓曲線的基點的素數(shù)階; 計算kP,然后將kP的χ坐標X3轉換為整數(shù)巧,并對整數(shù)巧取模η運算,得到r,其中P = (Px, Py),表示所述橢圓曲線的基點;使用預設的雜湊函數(shù)對發(fā)送節(jié)點的標識信息進行雜湊運算,得到雜湊值e,并對 k—1 (e+dr)取模η運算,得到s,其中d為所述私鑰;在r和s均不等于0時,得到所述數(shù)字簽名信息(r,s)。
      6.如權利要求5所述的數(shù)據(jù)加密方法,其特征在于, 所述投影坐標系為雅可比投影坐標系;在計算所述kP的過程中,對于2P的計算按照以下方式進行 根據(jù)所述對應關系,得到仿射點P對應的投影點G= (X1 Y1 Z1);按照公式· ,求解得到 2G= (X3 Y3 Z3) 根據(jù)所述對應關系,將投影點2G轉換為仿射點2Ρ。
      7.—種發(fā)送節(jié)點,其特征在于,包括獲取單元,用于獲取預先設置的橢圓曲線的參數(shù)組、密鑰以及數(shù)據(jù)信息;加密單元,用于利用橢圓曲線的參數(shù)組、密鑰以及數(shù)據(jù)信息,計算得到數(shù)據(jù)加密信息;發(fā)送單元,還用于將所述數(shù)據(jù)加密信息發(fā)送給接收節(jié)點;其中,所述加密單元在計算所述數(shù)據(jù)加密信息的過程中,將所述橢圓曲線轉換為投影 坐標系下的方程,并利用所述橢圓曲線上的仿射點與所述方程上的投影點之間的對應關 系,將所述橢圓曲線上的倍點運算,轉換到投影坐標系下進行計算。
      8.如權利要求7所述的發(fā)送節(jié)點,其特征在于,所述加密單元包括投影單元,用于將所述橢圓曲線投影到投影坐標系,將所述橢圓曲線轉換為投影坐標 系下的方程,并確定所述橢圓曲線上的仿射點與所述方程上的投影點之間的對應關系;轉換單元,用于根據(jù)所述對應關系,通過將所述橢圓曲線的倍點運算公式中的仿射點 的坐標替換為投影點的坐標,轉換得到所述橢圓曲線的倍點運算在投影坐標系下的計算公 式;計算單元,用于利用所述對應關系和所述計算公式,將所述橢圓曲線上的倍點運算,轉 換到所述投影坐標系下進行計算。
      9.如權利要求7所述的發(fā)送節(jié)點,其特征在于,所述密鑰為發(fā)送節(jié)點的私鑰,所述數(shù)據(jù)信息為發(fā)送節(jié)點的標識信息,所述數(shù)據(jù)加密信 息為發(fā)送節(jié)點的數(shù)字簽名信息;所述發(fā)送單元,還用于在將所述數(shù)字簽名信息發(fā)送給接收節(jié)點時,同時將所述標識信 息發(fā)送給接收節(jié)點。
      10.如權利要求9所述的發(fā)送節(jié)點,其特征在于, 所述加密單元包括選擇單元,用于從1到η-1之間任意選取一整數(shù)k,其中η是所述橢圓曲線的基點的素 數(shù)階;第一計算單元,用于計算kP,然后將kP的χ坐標X3轉換為整數(shù)巧,并對整數(shù)巧取模η運 算,得到r,其中P= (Px,Py),表示所述橢圓曲線的基點;第二計算單元,用于使用雜湊函數(shù)對發(fā)送節(jié)點的標識信息進行雜湊運算,得到雜湊值 e,并對!^(e+dr)取模η運算,得到s,其中d為所述私鑰;輸出單元,用于在r和s均不等于0時,得到所述數(shù)字簽名信息(r,s)。
      11.如權利要求10所述的發(fā)送節(jié)點,其特征在于,所述投影坐標系為雅可比投影坐標 系,所述第一計算單元,進一步用于在計算所述kP的過程中,對于2P的計算按照以下方式 進行根據(jù)所述對應關系,得到仿射點P對應的投影點G= (X1 Y1 Z1);按照公式· 根據(jù)所述對應關系,將投影點2G轉換為仿射點2P。
      12.一種基于橢圓曲線公鑰密碼體制的數(shù)據(jù)解密方法,其特征在于,包括接收節(jié)點接 收發(fā)送節(jié)點的數(shù)據(jù)加密信息,所述數(shù)據(jù)加密信息是發(fā)送節(jié)點利用預設的橢圓曲線的參數(shù) 組、第一密鑰和數(shù)據(jù)信息計算得到的;接收節(jié)點利用所述橢圓曲線的參數(shù)組和所述第一密鑰對應的第二密鑰,對所述數(shù)據(jù)加 密信息進行解密;其中,在所述數(shù)據(jù)加密信息的解密過程中,將所述橢圓曲線轉換為投影坐標系下的方 程,并利用所述橢圓曲線上的仿射點與所述方程上的投影點之間的對應關系,將所述橢圓 曲線上的倍點運算,轉換到投影坐標系下進行計算。
      13.如權利要求12所述的數(shù)據(jù)解密方法,其特征在于,其中,將所述橢圓曲線上的倍點 運算,轉換到投影坐標系下進行計算,具體包括將所述橢圓曲線投影到投影坐標系,將所述橢圓曲線轉換為投影坐標系下的方程,并 確定所述橢圓曲線上的仿射點與所述方程上的投影點之間的對應關系;根據(jù)所述對應關系,通過將所述橢圓曲線的倍點運算公式中的仿射點的坐標替換為投 影點的坐標,轉換得到所述橢圓曲線的倍點運算在投影坐標系下的計算公式;利用所述對應關系和所述第一計算公式,將所述橢圓曲線上的倍點運算,轉換到所述 投影坐標系下進行計算。
      14.如權利要求12所述的數(shù)據(jù)解密方法,其特征在于,所述第一密鑰為接收節(jié)點的公鑰,所述第二密鑰為接收節(jié)點的私鑰,所述數(shù)據(jù)信息為 明文信息,所述數(shù)據(jù)加密信息是所述明文信息對應的密文信息。
      15.如權利要求12所述的數(shù)據(jù)解密方法,其特征在于,所述第一密鑰為發(fā)送節(jié)點的私鑰,所述第二密鑰為發(fā)送節(jié)點的公鑰,所述數(shù)據(jù)信息為 發(fā)送節(jié)點的標識信息,所述數(shù)據(jù)加密信息為發(fā)送節(jié)點的數(shù)字簽名信息;接收節(jié)點進一步接收發(fā)送節(jié)點的標識信息,并在所述數(shù)據(jù)加密信息的解密過程中,利 用所述橢圓曲線的參數(shù)組、發(fā)送節(jié)點的標識信息和所述發(fā)送節(jié)點的公鑰,對所述數(shù)字簽名 信息進行簽名認證。
      16.如權利要求15所述的數(shù)據(jù)解密方法,其特征在于, 所述對所述數(shù)字簽名信息進行簽名認證,包括在所述數(shù)字簽名信息(r,s)中的r或s中任一個不屬于區(qū)間[1,n-1]時,判斷數(shù)字簽 名認證失敗,其中η是所述橢圓曲線的基點的素數(shù)階;在r和s均屬于區(qū)間[l,n-l]時,使用預設的雜湊函數(shù)對發(fā)送節(jié)點的標識信息m進行 雜湊運算,得到雜湊值e,并對S-1取模n運算得到w ;計算 U1P 和 U2Q,并計算 u^+^Q 得至IJ T,其中,U1 = ew mod η, U2 = rw mod n,P = (Px, Py),表示所述橢圓曲線的基點,Q表示所述公鑰; 在T = C 時,判斷簽名認證失??;在T興⑴時,將T的χ坐標X4轉換為整數(shù)^,并對^取模η運算得到ν,并判斷ν = r 是否成立若成立,則數(shù)字簽名認證通過;否則數(shù)字簽名認證失敗。
      17.如權利要求16所述的數(shù)據(jù)解密方法,其特征在于, 所述投影坐標系為雅可比投影坐標系;在計算所述U1P或U2Q的過程中,對于2F的計算按照以下方式進行,其中F表示P或Q根據(jù)所述對應關系,得到仿射點F對應的投影點G= (X1 Y1 Z1); X}=(3Xf +aZ^f -8XX2 八=(3I|2+flZ,4)(4式}’求解得到 2G= (X3 Y3 Z3)按照公式 根據(jù)所述對應關系,將投影點2G轉換為仿射點2F。
      18.一種接收節(jié)點,其特征在于,包括接收單元,用于接收發(fā)送節(jié)點的數(shù)據(jù)加密信息,所述數(shù)據(jù)加密信息是發(fā)送節(jié)點利用預 設的橢圓曲線的參數(shù)組、第一密鑰和數(shù)據(jù)信息計算得到的;解密單元,用于利用所述橢圓曲線的參數(shù)組和所述第一密鑰對應的第二密鑰,對所述 數(shù)據(jù)加密信息進行解密;其中,所述解密單元在所述數(shù)據(jù)加密信息的解密過程中,將所述橢圓曲線轉換為投影 坐標系下的方程,并利用所述橢圓曲線上的仿射點與所述方程上的投影點之間的對應關 系,將所述橢圓曲線上的倍點運算,轉換到投影坐標系下進行計算。
      19.如權利要求18所述的接收節(jié)點,其特征在于,所述解密單元包括投影單元,用于將所述橢圓曲線投影到投影坐標系,將所述橢圓曲線轉換為投影坐標 系下的方程,并確定所述橢圓曲線上的仿射點與所述方程上的投影點之間的對應關系;轉換單元,用于根據(jù)所述對應關系,通過將所述橢圓曲線的倍點運算公式中的仿射點 的坐標替換為投影點的坐標,轉換得到所述橢圓曲線的倍點運算在投影坐標系下的計算公 式;計算單元,用于利用所述對應關系和所述計算公式,將所述橢圓曲線上的倍點運算,轉 換到所述投影坐標系下進行計算。
      20.如權利要求18所述的接收節(jié)點,其特征在于,所述第一密鑰為發(fā)送節(jié)點的私鑰,所述第二密鑰為發(fā)送節(jié)點的公鑰,所述數(shù)據(jù)信息為 發(fā)送節(jié)點的標識信息,所述數(shù)據(jù)加密信息為發(fā)送節(jié)點的數(shù)字簽名信息;所述接收單元,還用于接收發(fā)送節(jié)點的標識信息;所述解密單元,還用于在所述數(shù)據(jù)加密信息的解密過程中,利用所述橢圓曲線的參數(shù) 組、發(fā)送節(jié)點的標識信息和所述發(fā)送節(jié)點的公鑰,對所述數(shù)字簽名信息進行簽名認證。
      21.如權利要求20所述的接收節(jié)點,其特征在于,所述解密單元包括第一判斷單元,用于在所述數(shù)字簽名信息(r,s)中的r或s中任一個不屬于區(qū)間[1, n-1]時,判斷數(shù)字簽名認證失敗,其中η是所述橢圓曲線的基點的素數(shù)階;第一計算單元,用于在r和s均屬于區(qū)間[l,n-l]時,使用預設的雜湊函數(shù)對發(fā)送節(jié)點的標識信息m進行雜湊運算,得到雜湊值e,并對s—1取模η運算得到w ;第二計算單元,用于計算U1P,其中P= (Px,Py),表示所述橢圓曲線的基點; 第三計算單元,用于計算u2Q,其中Q表示所述公鑰;第三計算單元,用于計算U1Piu2Q得到T,其中,U1 = ew mod η, U2 = rw mod η ; 第二判斷單元,用于在T=⑴時,判斷簽名認證失敗;第三判斷單元,用于在T興⑴時,將T的χ坐標X4轉換為整數(shù)&,并對S4取模η運算得 到ν,并判斷ν = r是否成立若成立,則數(shù)字簽名認證通過;否則數(shù)字簽名認證失敗。
      22.如權利要求21所述的接收節(jié)點,其特征在于, 所述投影坐標系為雅可比投影坐標系;所述第二計算單元,進一步用于在計算所述U1P或U2Q的過程中,對于2F的計算按照以 下方式進行,其中F表示P或Q 根據(jù)所述對應關系,得到仿射點F對應的投影點G= (X1 Y1 Z1); 按照公式·X1 =(3Χ,2+αΖ,4)"-8Χ^2Y3=(3X^ +aZ^XX -X,)-SY; ’求解得到 2G Z1 二 IY1Z1根據(jù)所述對應關系,將投影點2G轉換為仿射點2F。
      全文摘要
      本發(fā)明提供了一種數(shù)據(jù)加密方法、數(shù)據(jù)解密方法及節(jié)點。其中所述數(shù)據(jù)加密方法包括發(fā)送節(jié)點獲取預先設置的橢圓曲線的參數(shù)組、密鑰以及數(shù)據(jù)信息;發(fā)送節(jié)點利用橢圓曲線的參數(shù)組、密鑰以及數(shù)據(jù)信息,計算得到數(shù)據(jù)加密信息,并將所述數(shù)據(jù)加密信息發(fā)送給接收節(jié)點;其中,在計算所述數(shù)據(jù)加密信息的過程中,將所述橢圓曲線轉換為投影坐標系下的方程,并利用所述橢圓曲線上的仿射點與所述方程上的投影點之間的對應關系,將所述橢圓曲線上的倍點運算,轉換到投影坐標系下進行計算。本發(fā)明能夠降低橢圓曲線公鑰密碼體制的數(shù)據(jù)加密、解密的運算量,使得橢圓曲線公鑰密碼體制能應用在無線傳感網(wǎng)絡的無線傳感節(jié)點中。
      文檔編號H04L9/30GK101931529SQ201010249089
      公開日2010年12月29日 申請日期2010年8月9日 優(yōu)先權日2010年8月9日
      發(fā)明者何軍, 張彌, 張震瑋 申請人:中興通訊股份有限公司
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點贊!
      1