免费视频淫片aa毛片_日韩高清在线亚洲专区vr_日韩大片免费观看视频播放_亚洲欧美国产精品完整版

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費(fèi)電子書(shū)等14項(xiàng)超值服

開(kāi)通VIP
橢圓曲線入門(mén)詳解
轉(zhuǎn)載請(qǐng)注明http://blog.csdn.net/boksic 如有疑問(wèn)歡迎留言
如果不知道數(shù)學(xué)上的群、循環(huán)群等概念,可以先了解ElGamal加密算法 后再回過(guò)來(lái)橢圓曲線加密
這兩個(gè)算法有共通之處,都是在離散問(wèn)題難解群上的加密算法,橢圓曲線是進(jìn)一步的加深
首先,什么是橢圓曲線
橢圓曲線(Elliptic curve)
叫橢圓曲線只是因?yàn)榉匠谈鷻E圓的曲線積分比較相似
橢圓曲線方程可以統(tǒng)一為
當(dāng)然還有要求
至于長(zhǎng)什么樣,繪個(gè)圖看看
用matlab寫(xiě)了一個(gè)模擬程序,可以控制a,b變化,顯示曲線的圖像。
[cpp]
clear;clc;figure(1);
a=0;
b=0;
h_text1=uicontrol('Style','text','String','a','Position',[50 20 50 20]);
h_text1=uicontrol('Style','text','String','b','Position',[50 0 50 20]);
ezplot(strcat('x+',num2str(a),'*y'));
h_slider1=uicontrol('Style','slider','Position',[100 20 200 20],...
'Max',10,'Min',-10,'callback',['a=num2str(get(gcbo,''value''));',...
'ezplot(strcat(num2str(b),''+x^3+'',num2str(a),''*x-y^2''))']);
%h_text2=uicontrol('Style','text','String','b');
h_slider2=uicontrol('Style','slider','Position',[100 0 200 20],...
'Max',10,'Min',-10,'callback',['b=num2str(get(gcbo,''value''));',...
'ezplot(strcat(num2str(b),''+x^3+'',num2str(a),''*x-y^2''))']);
再直觀一點(diǎn)
(不得不說(shuō)在這方面,Mathematica比Matlab要方便強(qiáng)力太多,用MATLAB做這個(gè)圖像速度慢代碼長(zhǎng)步驟復(fù)雜效果爛)
b=0,a在[-20,20]上變動(dòng)時(shí)的圖像a=-6,b在[-20,20]上變動(dòng)時(shí)的圖像
Plot3D[{(x^3+y*x)^0.5,-(x^3+y*x)^0.5},{x,-7,7},{y,-20,20}]Plot3D[{(x^3-6x+y)^0.5,-(x^3-6x+y)^0.5},{x,-7,7},{y,20,-20}]
"受ElGamal密碼啟發(fā),在其它離散對(duì)數(shù)問(wèn)題難解的群中,同樣可以構(gòu)成ELGamal密碼。于是人們開(kāi)始尋找其它離散問(wèn)題難解的群。研究發(fā)現(xiàn),有限域GF(p)上的橢圓曲線的解點(diǎn)構(gòu)成交換群,而且離散對(duì)數(shù)問(wèn)題是難解的。于是可在此群上建立ELGamal密碼,并稱為橢圓曲線密碼。"
解點(diǎn)交換群
為了構(gòu)成加法交換群,需要定義元素、單位元、逆元素、加法
解點(diǎn)
設(shè)p是大于3的素?cái)?shù),且4a3+27b2 ≠0 mod p ,稱
y^2 =x^3 +ax+b ,a,b∈GF(p)
為GF(p)上的橢圓曲線。
由橢圓曲線可得到一個(gè)同余方程:
y^2 =x^3 +ax+b    mod p
其解為一個(gè)二元組<x,y>,x,y∈GF(p),將此二元組描畫(huà)到橢圓曲線上便為一個(gè)點(diǎn),于是又稱其為解點(diǎn)。
單位元
引進(jìn)一個(gè)無(wú)窮點(diǎn)O(∞,∞),簡(jiǎn)記為0,作為0元素。
O(∞,∞)+O(∞,∞)=0+0=0 。
并定義對(duì)于所有的解點(diǎn)P(x ,y)有
P(x ,y)+O=O+ P(x ,y)=P(x ,y)
逆元素
任何解點(diǎn)R(x ,y)的逆就是 R(x ,-y)。
加法
P(x1 ,y1)+Q(x2 ,y2)=R(x3 ,y3)
(提醒一下,這里的運(yùn)算都是模運(yùn)算,值都是整數(shù),像除法是模逆運(yùn)算)
定義s = (yP ? yQ)/(xP ?xQ),即PQ線的斜率
總共3種情況
1.一般情況下 R = P + Q = (xR, ? yR)其中
2.如果xP = xQ,yP = ?yQ(包括yP =yQ = 0的情形)
結(jié)果R就是無(wú)窮遠(yuǎn)點(diǎn)0
3 盡管xP = xQ但yP = yQ ≠ 0那么R =P +P = 2P = (xR,?yR)有
加法的幾何意義
設(shè)P和Q是橢圓曲線的兩個(gè)點(diǎn),則連接P和Q的直線與橢圓曲線的另一交點(diǎn)關(guān)于橫軸的對(duì)稱點(diǎn)即為R點(diǎn)。在該群中P + Q + R = 0
橢圓曲線交換群實(shí)例
對(duì)于標(biāo)準(zhǔn)方程y^2=x^3+ax+b (mod p) 設(shè)定基本參數(shù)
p=31,a=2,b=17
隨便找一個(gè)在曲線上(即滿足該方程)的點(diǎn)P=(10,13)
然后按照上面提到的公式來(lái)逐一計(jì)算2P,3P,4P.....
我用的Python來(lái)計(jì)算(調(diào)用的mod_inv是模下的除運(yùn)算,代碼可參看前面的文章):
[python]
px,py=10,13
x,y=px,py
a,b=2,17
p=31
for i in range(p+20):
if(x==px and y==py):
x3=(9*x**4-8*x*y**2+6*a*x**2+a**2)\
*mod_inv(4*y**2,p)%p
y3=((3*x**2+a)*(x-x3)*mod_inv(2*y,p)-y)%p
elif(x==px):
x3,y3=0,0
elif(x==0 and y==0):
x3,y3=px,py
else:
x3=(((y-py)*mod_inv(x-px,p))**2-x-px)%p
y3=((y-py)*(px-x3)*mod_inv(x-px,p)-py)%p
str = "%dP= (%d,%d)"%(i+2,x3,y3)
print str,
x,y=x3,y3
可以得到
[plain]
2P= (21,19) 3P= (19,30) 4P= (27,10)
5P= (29,25) 6P= (24,1) 7P= (30,13)
8P= (22,18) 9P= (8,24) 10P= (20,11)
11P= (6,11) 12P= (23,27) 13P= (12,23)
14P= (3,22) 15P= (7,23) 16P= (1,19)
17P= (17,2) 18P= (9,12) 19P= (13,15)
20P= (5,11) 21P= (5,20) 22P= (13,16)
23P= (9,19) 24P= (17,29) 25P= (1,12)
26P= (7,8) 27P= (3,9) 28P= (12,8)
29P= (23,4) 30P= (6,20) 31P= (20,20)
32P= (8,7) 33P= (22,13) 34P= (30,18)
35P= (24,30) 36P= (29,6) 37P= (27,21)
38P= (19,1) 39P= (21,12) 40P= (10,18)
41P= (0,0) 42P= (10,13)
matlab顯示一下,點(diǎn)的分布與順序都是雜亂無(wú)章
本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊舉報(bào)。
打開(kāi)APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
高考倒計(jì)時(shí)172天~橢圓的方程與綜合應(yīng)用
貝塞爾曲線學(xué)習(xí)
OpenGL繪制簡(jiǎn)單的參數(shù)曲線(完)三次B樣條曲線
高考數(shù)學(xué)難點(diǎn)突破_難點(diǎn)22__軌跡方程的求法
ECC加密算法入門(mén)介紹
巨大的數(shù)學(xué)謎團(tuán)——橢圓曲線,代數(shù)、幾何和數(shù)論的完美結(jié)合
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長(zhǎng)圖 關(guān)注 下載文章
綁定賬號(hào)成功
后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服