版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
ICS35.040
點擊此處添加中國標準文獻分類號
中華人民共和國國家標準
GB/TXXXXX—XXXX
SM2橢圓曲線公鑰密碼算法
第1部分:總則
PublickeycryptographicalgorithmSM2basedonellipticcurves-
Part1:General
點擊此處添加與國際標準一致性程度的標識
(送審稿)
XXXX-XX-XX發(fā)布XXXX-XX-XX實施
GB/TXXXXX—XXXX
目??次
前言.................................................................錯誤!未定義書簽。
引言............................................................................III
1范圍................................................................................1
2符號和縮略語........................................................................1
3域和橢圓曲線........................................................................2
3.1有限域..........................................................................2
3.2有限域上的橢圓曲線..............................................................3
4數(shù)據(jù)類型及其轉換....................................................................5
4.1數(shù)據(jù)類型........................................................................5
4.2數(shù)據(jù)類型轉換....................................................................5
5橢圓曲線系統(tǒng)參數(shù)及其驗證............................................................8
5.1一般要求........................................................................8
5.2上橢圓曲線系統(tǒng)參數(shù)及其驗證...................................................8
FP
5.3上橢圓曲線系統(tǒng)參數(shù)及其驗證..................................................9
F2m
6密鑰對的生成與公鑰的驗證...........................................................10
6.1密鑰對的生成...................................................................10
6.2公鑰的驗證.....................................................................10
附錄A(資料性附錄)關于橢圓曲線的背景知識......................................11
A.1素域........................................................................11
FP
A.2二元擴域...................................................................13
F2m
A.3橢圓曲線多倍點運算.............................................................23
A.4求解橢圓曲線離散對數(shù)問題的方法.................................................26
A.5橢圓曲線上點的壓縮.............................................................27
附錄B(資料性附錄)數(shù)論算法....................................................29
B.1有限域和模運算.................................................................29
B.2有限域上的多項式...............................................................33
B.3橢圓曲線算法...................................................................35
附錄C(資料性附錄)曲線示例....................................................37
C.1一般要求......................................................................37
C.2上橢圓曲線.................................................................37
FP
C.3上橢圓曲線.................................................................37
F2m
I
GB/TXXXXX—XXXX
附錄D(資料性附錄)橢圓曲線方程參數(shù)的擬隨機生成及驗證..........................39
D.1橢圓曲線方程參數(shù)的擬隨機生成..................................................39
D.2橢圓曲線方程參數(shù)的驗證........................................................40
參考文獻...........................................................................41
II
GB/TXXXXX—XXXX
引言
N.Koblitz和V.Miller在1985年各自獨立地提出將橢圓曲線應用于公鑰密碼系統(tǒng)。橢圓曲線公鑰
密碼所基于的曲線性質如下:
──有限域上橢圓曲線在點加運算下構成有限交換群,且其階與基域規(guī)模相近;
──類似于有限域乘法群中的乘冪運算,橢圓曲線多倍點運算構成一個單向函數(shù)。
在多倍點運算中,已知多倍點與基點,求解倍數(shù)的問題稱為橢圓曲線離散對數(shù)問題。對于一般橢圓
曲線的離散對數(shù)問題,目前只存在指數(shù)級計算復雜度的求解方法。與大數(shù)分解問題及有限域上離散對數(shù)
問題相比,橢圓曲線離散對數(shù)問題的求解難度要大得多。因此,在相同安全程度要求下,橢圓曲線密碼
較其它公鑰密碼所需的密鑰規(guī)模要小得多。
本部分描述必要的數(shù)學基礎知識與一般技術,以幫助實現(xiàn)其它各部分所規(guī)定的密碼機制。
III
GB/TXXXXX—XXXX
SM2橢圓曲線公鑰密碼算法
第1部分:總則
1范圍
GB/TXXXX的本部分給出了SM2橢圓曲線公鑰密碼算法涉及的必要數(shù)學基礎知識與相關密碼技
術,以幫助實現(xiàn)其它各部分所規(guī)定的密碼機制。
本部分適用于基域為素域和二元擴域的橢圓曲線公鑰密碼算法。
2符號和縮略語
下列符號和縮略語適用于本部分。
中的元素,它們定義上的一條橢圓曲線。
a,bFqFqE
BMOV閾。正數(shù)B,使得求取上的離散對數(shù)至少與求取上的橢圓曲線離散
FqBFq
對數(shù)一樣困難。
deg(f)多項式f(x)的次數(shù)。
E有限域上由a和b定義的一條橢圓曲線。
上橢圓曲線的所有有理點包括無窮遠點組成的集合。
E(Fq)FqE(O)
ECDLP橢圓曲線離散對數(shù)問題。
Fp包含p個元素的素域。
Fq包含q個元素的有限域。
*
Fq由Fq中所有非零元構成的乘法群。
包含m個元素的二元擴域。
F2m2
G橢圓曲線的一個基點,其階為素數(shù)。
gcd(x,y)x和y的最大公因子。
h余因子,h=#E(Fq)/n,其中n是基點G的階。
LeftRotate()循環(huán)左移運算。
lmax余因子h的最大素因子的上界。
m二元擴域F2m關于F2的擴張次數(shù)。
modf(x)模多項式f(x)的運算。若f(x)是二元域上的多項式,則所有系數(shù)執(zhí)行模2運算。
modn模n運算。例如,23mod7=2。
n基點G的階(n是#E(Fq)的素因子)。
O橢圓曲線上的一個特殊點,稱為無窮遠點或零點,是橢圓曲線加法群的單位元。
PP=(xP,yP)是橢圓曲線上除O之外的一個點,其坐標xP,yP滿足橢圓曲線方程。
P1+P2橢圓曲線E上兩個點P1與P2的和。
1
GB/TXXXXX—XXXX
p大于3的素數(shù)。
q有限域Fq中元素的數(shù)目。
rmin基點G的階n的下界。
Tr()跡函數(shù)。
xP點P的x坐標。
x-1modn使得x?y1(modn)成立的唯一整數(shù)y,1≤y≤n-1,gcd(x,n)=1。
x||yx與y的拼接,其中x和y是比特串或字節(jié)串。
xy(modn)x與y模n同余。亦即,xmodn=ymodn。
yP點P的y坐標。
~
yPyP的點壓縮表示。
Zp整數(shù)模p的剩余類環(huán)。
<G>基點G生成的循環(huán)群。
橢圓曲線上點的倍點,即:,其中是正整數(shù)。
[k]PPk[k]PPP...Pk
k個
[x,y]大于或等于x且小于或等于y的整數(shù)的集合。
x頂函數(shù),大于或等于x的最小整數(shù)。例如,77,8.39。
x底函數(shù),小于或等于x的最大整數(shù)。例如,77,8.38。
#E(Fq)E(Fq)上點的數(shù)目,稱為橢圓曲線E(Fq)的階。
⊕長度相等的兩個比特串按比特的異或運算。
3域和橢圓曲線
3.1有限域
3.1.1概述
本條給出有限域Fq的描述及其元素的表示,q是一個奇素數(shù)或者是2的方冪。當q是奇素數(shù)p時,
要求p>2191;當q是2的方冪2m時,要求m>192且為素數(shù)。
3.1.2素域
FP
當q是奇素數(shù)p時,素域Fp中的元素用整數(shù)0,1,2,…,p-1表示。
a)加法單位元是整數(shù)0;
b)乘法單位元是整數(shù)1;
c)域元素的加法是整數(shù)的模p加法,即若a,bFp,則a+b=(a+b)modp;
d)域元素的乘法是整數(shù)的模p乘法,即若a,bFp,則a?b=(a?b)modp。
3.1.3二元擴域
F2m
m
當q是2的方冪2時,二元擴域F2m可以看成F2上的m維向量空間,其元素可用長度為m的比特
串表示。
F2m中的元素有多種表示方法,其中最常用的兩種方法是多項式基(PB)表示(參見附錄A.2.1.1)和正
規(guī)基(NB)表示(參見附錄A.2.1.3)?;倪x擇原則是使得F2m中的運算效率盡可能高。本標準并不規(guī)定基
的選擇。下面以多項式基表示為例說明二元擴域F2m。
mm-12
設F2上m次不可約多項式f(x)=x+fm-1x+…+f2x+f1x+f0(其中fi∈F2,i=0,1,…,m-1)是二元擴域
2
GB/TXXXXX—XXXX
m-1m-2
F2m的約化多項式。F2m由F2上所有次數(shù)低于m的多項式構成。多項式集合{x,x,…,x,1}是F2m在F2
m-1m-2
上的一組基,稱為多項式基。F2m中的任意一個元素a(x)=am-1x+am-2x+…+a1x+a0在F2上的系數(shù)恰
好構成了長度為m的比特串,用a=(am-1,am-2,…,a1,a0)表示。
a)零元0用全0比特串表示;
b)乘法單位元1用比特串00…001表示;
c)兩個域元素的加法為比特串的按比特異或運算;
d)域元素a和b的乘法定義如下:設a和b對應的F2上多項式為a(x)和b(x),則a?b定義為多項
式(a(x)b(x))modf(x)對應的比特串。
3.2有限域上的橢圓曲線
有限域Fq上的橢圓曲線是由點組成的集合。在仿射坐標系下,橢圓曲線上點P(非無窮遠點)的坐
標表示為P=(xP,yP),其中xP,yP為滿足一定方程的域元素,分別稱為點P的x坐標和y坐標。在本標
準中,稱Fq為基域。
關于橢圓曲線更多的背景知識,參見附錄A的A.1和A.2。
在本標準中,如果不做特別說明,橢圓曲線上的點均采用仿射坐標表示。
3.2.1上的橢圓曲線
FP
定義在Fp(p是大于3的素數(shù))上的橢圓曲線方程為:
2332
y=x+ax+b,a,b∈Fp,且(4a+27b)modp0。……(1)
橢圓曲線E(Fp)定義為:
E(Fp)={(x,y)|x,y∈Fp,且滿足方程(1)}∪{O},其中O是無窮遠點。
橢圓曲線E(Fp)上的點的數(shù)目用#E(Fp)表示,稱為橢圓曲線E(Fp)的階。
3.2.2上的橢圓曲線
F2m
定義在F2m上的橢圓曲線方程為:
232
y+xy=x+ax+b,a,b∈F2m,且b0?!?2)
橢圓曲線E(F2m)定義為:
E(F2m)={(x,y)|x,y∈F2m,且滿足方程(2)}∪{O},其中O是無窮遠點。
橢圓曲線E(F2m)上的點的數(shù)目用#E(F2m)表示,稱為橢圓曲線E(F2m)的階。
3.2.3橢圓曲線群
上的橢圓曲線群
FP
橢圓曲線E(Fp)上的點按照下面的加法運算規(guī)則,構成一個交換群:
a)O+O=O;
b)P=(x,y)∈E(Fp)\{O},P+O=O+P=P;
c)P=(x,y)∈E(Fp)\{O},P的逆元素-P=(x,-y),P+(-P)=O;
d)兩個非互逆的不同點相加的規(guī)則:
設P1=(x1,y1)∈E(Fp)\{O},P2=(x2,y2)∈E(Fp)\{O},且x1x2,
設P3=(x3,y3)=P1+P2,則
x2xx,
312
y3(x1x3)y1,
3
GB/TXXXXX—XXXX
其中
yy
21;
x2x1
e)倍點規(guī)則:
設P1=(x1,y1)∈E(Fp)\{O},且y1≠0,P3=(x3,y3)=P1+P1,
則
x22x,
31
y3(x1x3)y1,
其中
3x2a
1。
2y1
上的橢圓曲線群
F2m
橢圓曲線E(F2m)上的點按照下面的加法運算規(guī)則,構成一個交換群:
a)O+O=O;
b)P=(x,y)∈E(F2m)\{O},P+O=O+P=P;
c)P=(x,y)∈E(F2m)\{O},P的逆元素-P=(x,x+y),P+(-P)=O;
d)兩個非互逆的不同點相加的規(guī)則:
設P1=(x1,y1)∈E(F2m)\{O},P2=(x2,y2)∈E(F2m)\{O},且x1x2,
設P3=(x3,y3)=P1+P2,則
x2xxa,
312
y3(x1x3)x3y1,
其中
yy
12;
x1x2
e)倍點規(guī)則:
設P1=(x1,y1)∈E(F2m)\{O},且x1≠0,P3=(x3,y3)=P1+P1,則
2
x3a,
2
y3x1(1)x3,
其中
y1
x1。
x1
3.2.4橢圓曲線多倍點運算
橢圓曲線上同一個點的多次加稱為該點的多倍點運算。設k是一個正整數(shù),P是橢圓曲線上的點,
稱點的次加為點的倍點運算,記為。因為-,所以倍點
PkPkQ[k]PPPP[k]P=[k1]P+Pk
k
可以遞歸求得。
多倍點運算的輸出有可能是無窮遠點O。
多倍點運算也可以通過一些技巧更有效地實現(xiàn),參見附錄A的A.3。
3.2.5橢圓曲線離散對數(shù)問題(ECDLP)
4
GB/TXXXXX—XXXX
已知橢圓曲線E(Fq)、階為n的點G∈E(Fq)及Q∈<G>,橢圓曲線離散對數(shù)問題是指確定整數(shù)l∈
[0,n-1],使得Q=[l]G成立。
橢圓曲線離散對數(shù)問題關系到橢圓曲線密碼系統(tǒng)的安全,因此必須選擇安全的橢圓曲線。關于如何
選擇安全橢圓曲線,參見附錄A的A.4。
3.2.6弱橢圓曲線
若某橢圓曲線存在優(yōu)于n1/2級(n是基點的階)計算復雜度的攻擊方法,則稱此曲線為弱橢圓曲線。
在本標準中禁止使用弱橢圓曲線。
Fq上的超奇異曲線(有限域Fq的特征整除q+1-#E(Fq))和Fp上的異常(Anomalous)曲線(#E(Fp)=p)
都是弱橢圓曲線。
4數(shù)據(jù)類型及其轉換
4.1數(shù)據(jù)類型
在本標準中,數(shù)據(jù)類型包括比特串、字節(jié)串、域元素、橢圓曲線上的點和整數(shù)。
比特串:有序的0和1的序列。
字節(jié)串:有序的字節(jié)序列,其中8比特為1個字節(jié)。
域元素:有限域Fq中的元素。
橢圓曲線上的點:橢圓曲線上的點PE(Fq),或者是一對域元素(xP,yP),其中域元素xP和yP滿足
橢圓曲線方程,或者是無窮遠點O。
點的字節(jié)串表示有多種形式,用一個字節(jié)PC加以標識。無窮遠點O的字節(jié)串表示是單一的零字節(jié)
PC=00。非無窮遠點P=(xP,yP)有如下三種字節(jié)串表示形式:
a)壓縮表示形式,PC=02或03;
b)未壓縮表示形式,PC=04;
c)混合表示形式,PC=06或07。
注:混合表示形式既包含壓縮表示形式又包含未壓縮表示形式。在實現(xiàn)中,它允許轉換到壓縮表示形式或者未壓縮
表示形式。
對于橢圓曲線上點的壓縮表示形式和混合表示形式,本標準中定為可選形式。橢圓曲線上點的壓縮
表示形式參見附錄A的A.5。
4.2數(shù)據(jù)類型轉換
4.2.1數(shù)據(jù)類型轉換關系
圖1提供了各種數(shù)據(jù)類型之間的轉換關系,線上的標志是相應數(shù)據(jù)轉換方法所在的條。
4.2.8條
域元素
4.2.6條4.2.7條
4.2.5條4.2.2條
比特串字節(jié)串整數(shù)
4.2.4條4.2.3條
4.2.10條4.2.9條
點
5
GB/TXXXXX—XXXX
圖1數(shù)據(jù)類型和轉換約定
4.2.2整數(shù)到字節(jié)串的轉換
輸入:非負整數(shù)x,以及字節(jié)串的目標長度k(其中k滿足28k>x)。
輸出:長度為k的字節(jié)串M。
a)設Mk-1,Mk-2,…,M0是M的從最左邊到最右邊的字節(jié);
b)M的字節(jié)滿足:
k1
8i。
x2Mi
i0
4.2.3字節(jié)串到整數(shù)的轉換
輸入:長度為k的字節(jié)串M。
輸出:整數(shù)x。
a)設Mk-1,Mk-2,…,M0是M的從最左邊到最右邊的字節(jié);
b)將M轉換為整數(shù)x:
k1
8i。
x2Mi
i0
4.2.4比特串到字節(jié)串的轉換
輸入:長度為m的比特串s。
輸出:長度為k的字節(jié)串M,其中k=m/8。
a)設sm-1,sm-2,…,s0是s從最左邊到最右邊的比特;
b)設Mk-1,Mk-2,…,M0是M從最左邊到最右邊的字節(jié),則
Mi=s8i+7s8i+6…s8i+1s8i,其中0≤i<k,當8i+jm,0<j≤7時,s8i+j=0。
4.2.5字節(jié)串到比特串的轉換
輸入:長度為k的字節(jié)串M。
輸出:長度為m的比特串s,其中m=8k。
a)設Mk-1,Mk-2,…,M0是M從最左邊到最右邊的字節(jié);
b)設sm-1,sm-2,…,s0是s從最左邊到最右邊的比特,則si是Mj右起第i-8j+1比特,其中j=i/8。
4.2.6域元素到字節(jié)串的轉換
輸入:Fq中的元素α。
輸出:長度l=t/8的字節(jié)串S,其中tlog2q。
a)若q為奇素數(shù),則α必為區(qū)間[0,q-1]中的整數(shù),按4.2.2的方法把α轉換成長度為l的字節(jié)串S;
b)若q=2m,則α必為長度為m的比特串,按4.2.4的方法把α轉換成長度為l的字節(jié)串S。
4.2.7字節(jié)串到域元素的轉換
輸入:基域Fq的類型,長度為l=t/8的字節(jié)串S,其中tlog2q。
輸出:Fq中的元素α。
a)若q是奇素數(shù),則按4.2.3的方法將S轉換為整數(shù)α,若α[0,q-1],則報錯;
6
GB/TXXXXX—XXXX
b)若q=2m,則按4.2.5的方法將S轉換為長度為m的比特串α。
4.2.8域元素到整數(shù)的轉換
輸入:域Fq中的元素α。
輸出:整數(shù)x。
a)若q為奇素數(shù),則x=α(不需要轉換);
m
b)若q=2,則α必為長度為m的比特串,設sm-1,sm-2,…,s0是α的從最左邊到最右邊的比特,
將α轉化為整數(shù)x:
m1
i。
x2si
i0
4.2.9點到字節(jié)串的轉換
輸入:橢圓曲線上的點P=(xP,yP),且P≠O。
輸出:字節(jié)串S。若選用未壓縮表示形式或混合表示形式,則輸出字節(jié)串長度為2l+1;若選用壓縮
表示形式,則輸出字節(jié)串長度為l+1(l(log2q)/8)。
a)按4.2.6中的方法把域元素xP轉換成長度為l的字節(jié)串X1;
b)若選用壓縮表示形式,則:
~
b.1)計算比特yP(參見附錄A的A.5);
~~
b.2)若yP=0,則令PC=02;若yP=1,則令PC=03;
b.3)字節(jié)串S=PC||X1;
c)若選用未壓縮表示形式,則:
c.1)按4.2.6的方法把域元素yP轉換成長度為l的字節(jié)串Y1;
c.2)令PC=04;
c.3)字節(jié)串S=PC||X1||Y1;
d)若選用混合表示形式,則:
d.1)按4.2.6的方法把域元素yP轉換成長度為l的字節(jié)串Y1;
~
d.2)計算比特yP(參見附錄A的A.5);
~~
d.3)若yP=0,則令PC=06;若yP=1,則令PC=07;
d.4)字節(jié)串S=PC||X1||Y1。
4.2.10字節(jié)串到點的轉換
輸入:定義Fq上橢圓曲線的域元素a、b,字節(jié)串S。若選用未壓縮表示形式或混合表示形式,則
字節(jié)串S長度為2l+1;若選用壓縮表示形式,則字節(jié)串PO長度為l+1(l(log2q)/8)。
輸出:橢圓曲線上的點P=(xP,yP),且P≠O。
a)若選用壓縮表示形式,則S=PC||X1;若選用未壓縮表示形式或混合表示形式,則S=PC||X1||Y1,
其中PC是單一字節(jié),X1和Y1都是長度為l的字節(jié)串;
b)按4.2.7的方法把字節(jié)串X1轉換成域元素xP;
7
GB/TXXXXX—XXXX
c)若選用壓縮表示形式,則:
c.1)檢驗PC=02或者是PC=03,若不是這種情形,則報錯;
~~
c.2)若PC=02,則令yP=0;若PC=03,則令yP=1;
將~轉換為橢圓曲線上的一個點參見附錄的;
c.3)(xP,yP)(xP,yP)(AA.5)
d)若選用未壓縮表示形式,則:
d.1)檢驗PC=04,若不是這種情形,則報錯;
d.2)按4.2.7的方法把字節(jié)串Y1轉換成域元素yP;
e)若選用混合表示形式,則:
e.1)檢驗PC=06或者PC=07,若不是這種情形,則報錯;
e.2)執(zhí)行步驟e.2.1)和e.2.2):
e.2.1)按4.2.7的細節(jié)把字節(jié)串Y1轉換成域元素yP;
~~
e.2.2)若PC=06,則令yP=0,否則令yP=1;
~
e.3)將(xP,yP)轉換為橢圓曲線上的一個點(xP,yP)(參見附錄A的A.5);
若為奇素數(shù),則驗證23,若不是這種情形,則報錯;
f)qyPyP+axP+b(modq)
m232
若,則在m中驗證,若不是這種情形,則報錯;
q=2F2yP+xPyP=xP+axP+b
g)P=(xP,yP)。
5橢圓曲線系統(tǒng)參數(shù)及其驗證
5.1一般要求
橢圓曲線系統(tǒng)參數(shù)是可以公開的,系統(tǒng)的安全性不依賴于對這些參數(shù)的保密。本標準不規(guī)定橢圓曲
線系統(tǒng)參數(shù)的生成方法,但規(guī)定了系統(tǒng)參數(shù)的驗證方法。橢圓曲線階的計算和基點的選取方法可參見附
錄B的B.3,曲線參數(shù)的生成方法可參見附錄D。
橢圓曲線系統(tǒng)參數(shù)按照基域的不同可以分為兩種情形:
——當基域是Fp(p為大于3的素數(shù))時,F(xiàn)p上的橢圓曲線系統(tǒng)參數(shù);
——當基域是F2m時,F(xiàn)2m上的橢圓曲線系統(tǒng)參數(shù)。
5.2上橢圓曲線系統(tǒng)參數(shù)及其驗證
FP
5.2.1上橢圓曲線系統(tǒng)參數(shù)
FP
上橢圓曲線系統(tǒng)參數(shù)包括:
FP
a)域的規(guī)模q=p,p是大于3的素數(shù);
b)(選項)一個長度至少為192的比特串SEED(若按照附錄D描述的方法產(chǎn)生橢圓曲線);
23
c)Fp中的兩個元素a和b,它們定義橢圓曲線E的方程:y=x+ax+b;
d)基點G=(xG,yG)E(Fp),G≠O;
e)基點G的階n(要求:n>2191且n>4p1/2);
f)(選項)余因子h=#E(Fp)/n。
5.2.2上橢圓曲線系統(tǒng)參數(shù)的驗證
FP
橢圓曲線系統(tǒng)參數(shù)的生成者應驗證下面的條件。橢圓曲線系統(tǒng)參數(shù)的用戶可選擇驗證這些條件。
8
GB/TXXXXX—XXXX
輸入:Fp上橢圓曲線系統(tǒng)參數(shù)的集合。
輸出:若橢圓曲線系統(tǒng)參數(shù)是有效的,則輸出“有效”;否則輸出“無效”。
a)驗證q=p是奇素數(shù)(參見附錄B的B.1.10);
b)驗證a,b,xG和yG是區(qū)間[0,p-1]中的整數(shù);
c)若按照附錄D描述的方法擬隨機產(chǎn)生橢圓曲線,驗證SEED是長度至少為192的比特串,且a,
b由SEED派生得到;
d)驗證(4a3+27b2)modp0;
23
e)驗證yGxG+axG+b(modp);
f)驗證n是素數(shù),n>2191且n>4p1/2(參見附錄B的B.1.10);
g)驗證[n]G=O(參見附錄A的A.3);
h)(選項)計算h=(p1/2+1)2/n,并驗證h=h;
i)驗證抗MOV攻擊條件和抗異常曲線攻擊條件成立(參見附錄A的A.4.2.1和A.4.2.2);
j)若以上任何一個驗證失敗,則輸出“無效”;否則,輸出“有效”。
5.3上橢圓曲線系統(tǒng)參數(shù)及其驗證
F2m
5.3.1上橢圓曲線系統(tǒng)參數(shù)
F2m
F2m上的橢圓曲線系統(tǒng)參數(shù)包括:
m
a)域的規(guī)模q=2,對F2m中元素表示法(三項式基TPB、五項式基PPB或高斯正規(guī)基GNB)的標
識,一個F2上的m次約化多項式(若所用的基是TPB或PPB);
b)(選項)一個長度至少為192的比特串SEED(若按照附錄D描述的方法擬隨機產(chǎn)生橢圓曲線);
232
c)F2m中的兩個元素a和b,它們定義橢圓曲線E的方程:y+xy=x+ax+b;
d)基點G=(xG,yG)E(F2m),G≠O;
e)基點G的階n(要求:n>2191且n>22+m/2);
f)(選項)余因子h=#E(F2m)/n。
5.3.2上橢圓曲線系統(tǒng)參數(shù)的驗證
F2m
下面的條件橢圓曲線系統(tǒng)參數(shù)的生成者應加以驗證。這些條件橢圓曲線系統(tǒng)參數(shù)的用戶可選擇驗
證。
輸入:F2m上橢圓曲線系統(tǒng)參數(shù)的集合。
輸出:若橢圓曲線系統(tǒng)參數(shù)是有效的,則輸出“有效”;否則輸出“無效”。
m
a)對某個m,驗證q=2;若所用的是TPB,則驗證約化多項式是F2上的不可約三項式(參見表
A.3);若所用的是PPB,則驗證不存在m次不可約三項式,且約化多項式是F2上的不可約五
項式(參見表A.4);若所用的是GNB,則驗證m不能被8整除;
b)驗證a,b,xG和yG是長度為m的比特串;
c)若按照附錄D描述的方法擬隨機產(chǎn)生橢圓曲線,驗證SEED是長度至少為192的比特串,且a,
b由SEED派生得到;
d)驗證b≠0;
232
e)在F2m中驗證yG+xGyG=xG+axG+b;
f)驗證n是一個素數(shù),n>2191且n>22+m/2(參見附錄B的B.1.10);
g)驗證[n]G=O(參見附錄A.3.2);
h)(選項)計算h=(2m/2+1)2/n,驗證h=h;
9
GB/TXXXXX—XXXX
i)驗證抗MOV攻擊條件成立(參見附錄A的A.4.2.1);
j)若以上任何一個驗證失敗,則輸出“無效”;否則輸出“有效”。
6密鑰對的生成與公鑰的驗證
6.1密鑰對的生成
m
輸入:一個有效的Fq(q=p且p為大于3的素數(shù),或q=2)上橢圓曲線系統(tǒng)參數(shù)的集合。
輸出:與橢圓曲線系統(tǒng)參數(shù)相關的一個密鑰對(d,P)。
a)用隨機數(shù)發(fā)生器產(chǎn)生整數(shù)d[1,n-2];
b)G為基點,計算點P=(xP,yP)=[d]G(參見附錄A的A.3.2);
c)密鑰對是(d,P),其中d為私鑰,P為公鑰。
6.2公鑰的驗證
6.2.1上橢圓曲線公鑰的驗證
FP
輸入:一個有效的Fp(p>3且p為素數(shù))上橢圓曲線系統(tǒng)參數(shù)集合及一個相關的公鑰P。
輸出:對于給定的橢圓曲線系統(tǒng)參數(shù),若公鑰P是有效的,則輸出“有效”;否則輸出“無效”。
a)驗證P不是無窮遠點O;
b)驗證公鑰P的坐標xP和yP是域Fp中的元素(即驗證xP和yP是區(qū)間[0,p-1]中的整數(shù));
23
c)驗證yP≡xP+axP+b(modp);
d)驗證[n]P=O;
e)若通過了所有驗證,則輸出“有效”;否則輸出“無效”。
6.2.2上橢圓曲線公鑰的驗證
F2m
輸入:一個有效的F2m上橢圓曲線系統(tǒng)參數(shù)集合及一個相關的公鑰P。
輸出:對于給定的橢圓曲線系統(tǒng)參數(shù),若公鑰P是有效的,則輸出“有效”;否則輸出“無效”。
a)驗證P不是無窮遠點O;
b)驗證公鑰P的坐標xP和yP是域F2m中的元素(即驗證xP和yP是長度為m的比特串);
232
在m中驗證;
c)F2yP+xPyP=xP+axP+b
d)驗證[n]P=O;
e)若通過了所有驗證,則輸出“有效”;否則輸出“無效”。
注:公鑰的驗證是可選項。
10
GB/TXXXXX—XXXX
附錄A
(資料性附錄)
關于橢圓曲線的背景知識
A.1素域
FP
A.1.1素域的定義
FP
設p是一個素數(shù),F(xiàn)p由{0,1,2,…,p-1}中p個元素構成,稱Fp為素域。加法單位元是整數(shù)0,乘法
單位元是整數(shù)1,F(xiàn)p的元素滿足如下運算法則:
——加法:設a,bFp,則a+b=r,其中r=(a+b)modp,r[0,p-1]。
——乘法:設a,bFp,則a?b=s,其中s=(a?b)modp,s[0,p-1]。
**
記Fp是由Fp中所有非零元構成的乘法群,由于Fp是循環(huán)群,所以在Fp中至少存在一個元素g,
**i
使得Fp中任一非零元都可以由g的一個方冪表示,稱g為Fp的生成元(或本原元),即Fp={g|0ip-2}。
i*-1p-1-i
設a=g∈Fp,其中0ip-2,則a的乘法逆元為:a=g。
示例1:素域F2,F(xiàn)2={0,1}
F2的加法表如表A.1,乘法表如表A.2:
表A.1
+01
001
110
表A.2
?01
000
101
示例2:素域F19,F(xiàn)19={0,1,2,…,18}
F19中加法的示例:10,14∈F19,10+14=24,24mod19=5,則10+14=5。
F19中乘法的示例:7,8∈F19,7×8=56,56mod19=18,則78=18。
**
13是F19的一個生成元,則F19中元素可由13的方冪表示出來:
130=1,131=13,132=17,133=12,134=4,135=14,136=11,137=10,138=16,139=18,
1310=6,1311=2,1312=7,1313=15,1314=5,1315=8,1316=9,1317=3,1318=1。
A.1.2上橢圓曲線的定義
FP
A.1.2.1概述
Fp上橢圓曲線常用的表示形式有兩種:仿射坐標表示和射影坐標表示。
11
GB/TXXXXX—XXXX
A.1.2.2仿射坐標表示
23
當p是大于3的素數(shù)時,F(xiàn)p上橢圓曲線方程在仿射坐標系下可以簡化為y=x+ax+b,其中a,b∈Fp,
3223
且使得(4a+27b)modp0。橢圓曲線上的點集記為E(Fp)={(x,y)|x,y∈Fp且滿足曲線方程y=x+ax+b}∪
{O},其中O是橢圓曲線的無窮遠點。
E(Fp)上的點按照下面的加法運算規(guī)則,構成一個阿貝爾群:
a)O+O=O;
b)P=(x,y)∈E(Fp)\{O},P+O=O+P=P;
c)P=(x,y)∈E(Fp)\{O},P的逆元素-P=(x,-y),P+(-P)=O;
d)點P1=(x1,y1)∈E(Fp)\{O},P2=(x2,y2)∈E(Fp)\{O},P3=(x3,y3)=P1+P2≠O,則
x2xx,
312
y3(x1x3)y1,
其中
yy
21若
,x1x2,
x2x1
2
3x1a
,若x1x2且P2P1。
2y1
示例3:有限域F19上一條橢圓曲線
23
F19上方程:y=x+x+1,其中a=1,b=1。則F19上曲線的點為:
(0,1),(0,18),(2,7),(2,12),(5,6),(5,13),(7,3),(7,16),(9,6),(9,13),(10,2),(10,17),(13,8),(13,11),(14,2),
(14,17),(15,3),(15,16),(16,3),(16,16),
則E(F19)有21個點(包括無窮遠點O)。
a)取P1=(10,2),P2=(9,6),計算P3=P1+P2:
yy624
21415(mod19),
x2x19101
2
x3=15-10-9=225–10-916-10-9=-316(mod19),
y3=15×(10–16)–2=15×(–6)–23(mod19),
所以P3=(16,3)。
b)取P1=(10,2),計算[2]P1:
3x2a3102135116
1
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025版塔吊工勞務合同范本:高空作業(yè)塔吊操作員技能考核協(xié)議3篇
- 二零二五版充電樁安裝項目投資、施工與驗收合同3篇
- 2025年文化產(chǎn)業(yè)發(fā)展項目投資合作協(xié)議4篇
- 2025年整體衛(wèi)浴項目投資分析及可行性報告
- 2025年高爾夫球袋塑膠握把項目投資可行性研究分析報告
- 2025年蒙古烤鹿腿行業(yè)深度研究分析報告
- 2020-2025年中國汽車后行業(yè)發(fā)展趨勢預測及投資規(guī)劃研究報告
- 2025年電動自行車電機等行業(yè)深度研究分析報告
- 2025年DMD預浸布項目可行性研究報告
- 二零二五年度農(nóng)業(yè)綠色生產(chǎn)承包協(xié)議3篇
- 無人化農(nóng)場項目可行性研究報告
- 《如何存款最合算》課件
- 社區(qū)團支部工作計劃
- 拖欠工程款上訪信范文
- 《wifi協(xié)議文庫》課件
- 中華人民共和國職業(yè)分類大典是(專業(yè)職業(yè)分類明細)
- 2025年新高考語文復習 文言文速讀技巧 考情分析及備考策略
- 2024年??谑羞x調(diào)生考試(行政職業(yè)能力測驗)綜合能力測試題及答案1套
- 一年級下冊數(shù)學口算題卡打印
- 2024年中科院心理咨詢師新教材各單元考試題庫大全-下(多選題部分)
- 真人cs基于信號發(fā)射的激光武器設計
評論
0/150
提交評論