當前位置:首頁 » 密碼管理 » 橢圓曲線加密代碼

橢圓曲線加密代碼

發布時間: 2022-05-09 01:15:06

⑴ 橢圓曲線加密演算法

這需要自己設計,如果明文空間為M,則需要構造一個映射,將M中的元素(一般為二進制序列)映射到橢圓曲線上的點。
一種可能的做法是:將M轉化為十進制整數m,然後令橢圓曲線中點的橫坐標為m,根據曲線方程計算出縱坐標,便得到了一個點。

⑵ 求橢圓曲線加密演算法的源代碼

⑶ 橢圓曲線密碼學的一些具體的內容

⑴ 無窮遠元素(無窮遠點,無窮遠直線)
平面上任意兩相異直線的位置關系有相交和平行兩種。引入無窮遠點,是兩種不同關系統一。
AB⊥L1, L2∥L1,直線AP由AB起繞A點依逆時針方向轉動,P為AP與L1的交點。
Q=∠BAP→p /2 AP → L2
可設想L1上有一點P∞,它為L2和L1的交點,稱之為無窮遠點。
直線L1上的無窮遠點只能有一個。
(因為過A點只能有一條平行於L1的直線L2,而兩直線的交點只能有一個。)
結論:
1*. 平面上一組相互平行的直線,有公共的無窮遠點。
(為與無窮遠點相區別,把原來平面上的點叫做平常點)
2*.平面上任何相交的兩直線L1,L2有不同的無窮遠點。
原因:若否,則L1和L2有公共的無窮遠點P∞,則過兩相異點A和P ∞有相異兩直線,與公理相矛盾。
3*. 全體無窮遠點構成一條無窮遠直線。
註:歐式平面添加上無窮遠點和無窮遠直線,自然構成射影平面。
⑵ 齊次坐標
解析幾何中引入坐標系,用代數的方法研究歐氏空
間。這樣的坐標法也可推廣至攝影平面上,建立平面攝影
坐標系。
牋 L1,L2
L1: a1x+b1y+c1=0
L2: a2x+b2y+c2=0
其中a1,b1不同時為0;a2,b2也不同時為0。

D= a1 b1 Dx= b1 c1 Dy= c1 a1
a2 b2 b2 c2 c2 a2
若D≠0,則兩直線L1,L2相交於一平常點P(x,y),其坐標為x=Dx/D,y=Dy/D.
這組解可表為:x/Dx=y/Dy=1/D
(約定:分母Dx,Dy有為0時,對應的分子也要為0)
上述表示可抽象為(Dx,Dy,D).
若 D=0,則L1∥L2,此時L1和L2交於一個無窮遠點P∞。
這個點P∞可用過原點O且平行於L2的一條直線L來指出他
的方向,而這條直線L的方程就是:a2x+b2y=0.
為把平常點和無窮遠點的坐標統一起來,把點的坐標用
(X,Y,Z)表示,X,Y,Z不能同時為0,且對平常點
(x,y)來說,有Z≠0,x=X/Z,y=Y/Z,於是有:
i.e.
X / Dx = Y / Dy = Z / D,
有更好的坐標抽象,X,Y,Z),這樣對於無窮遠點則有Z=0,
也成立。
註:
a).若實數p≠0,則(pX,pY,pZ)與(X,Y,Z)表示同一個點。實質上用(X:Y:Z)表示。3個分量中,只有兩個是獨立的,</pre>
<pre>;具有這種特徵的坐標就叫齊次坐標。
b).設有歐氏直線L,它在平面直角坐標系Oxy上的方程為:
ax+by+c=0
則L上任一平常點(x,y)的齊次坐標為(X,Y,Z),Z≠0,代入得:
aX+bY+cZ=0
給L添加的無窮遠點的坐標(X,Y,Z)應滿足aX+bY=0,Z=0;平面上無窮遠直線方程自然為:Z=0 !!
⑶任意域上的橢圓曲線
K為域,K上的攝影平面P2(K)是一些等價類的集合{(X:Y:Z)}。考慮下面的Weierstrass方程(次數為3的齊次方程):
Y2Z+a1XYZ+a3YZ2=X3+a2X2z+a4XZ2+a6Z3
(其中系數ai∈K,或ai∈K為K的代數閉域)
Weierstrass方程被稱為光滑的或非奇異的是指對所有適合
以下方程的射影點P=(X:Y:Z) ∈ P2(K)來說,
F(X,Y,Z)=Y2Z+a1XYZ+a3YZ2-X3-a2X2Z-a4XZ2-a6Z3=0
在P點的三個偏導數 之中至少有一個不為
0若否稱這個方程為奇異的。
橢圓曲線E的定義:
橢圓曲線E是一個光滑的Weierstrass方程在P2(K)中的
全部解集合。
Y2Z+a1XYZ+a3YZ2=X3+a2X2Z+a4XZ2+a6Z3
註:
a) 在橢圓曲線E上恰有一個點,稱之為無窮遠點。即(0:1:0)用θ表示。
b) 可用非齊次坐標的形式來表示橢圓曲線的Weierstrass方程:
設 x=X/Z,y=Y/Z,於是原方程轉化為:
y2+a1xy+a3y=x3+a2x2+a4x+a6 ⑴
此時,橢圓曲線E就是方程⑴在射影平面P2(K)上的全部平常點解,外加一個無窮遠點θ組成的集合。
c) 若a1,a2,a2,a4,a6∈K,此時橢圓曲線E被稱為定義在K上,用E/K表示。如果E能被限定在K上,那麼E的K--</pre>
<pre>;有理點集合表示為E(K),它為E中的全體有理坐標點的集合外加無窮遠點θ.
⑷實域R上的橢圓曲線
設K=R,此時的橢圓曲線可表為平面上的通常曲線上
的點,外加無窮遠點θ。
實域R上橢圓曲線的點的加法運演算法則:
設L ∈ P2(R)為一條直線。因為E的方程是三次的,所以L可與E在P2(R)恰有三個交點,記為P,Q,R
(注意:如果L與E相切,那麼P,Q,R可以不是相異的)。按下述方式定義E上運算⊙:
設P,Q ∈ E,L為聯接P,Q的直線(若P=Q,則L取過P點的切線);設R為L與E的另一個交點;
再取連接R與無窮遠點的直線L′。則L′與E的另一個交點定義為P ⊙Q。
上頁的實際圖像為橢圓曲線y2=x3 - x的一般化。來自對具體曲線的抽象。對運算更具體一些:
設 P=(x1,y1),Q=(x2,y2),P⊙Q=(x3,y3),
由P Q的定義,設y=αx+β為通過P,Q兩點直線L的方程,可算出:
α=(y2-y1)/(x2-x1),β=y1-αx1
易見,直線L上的一個點(x,αx+β)是在橢圓曲線E上,
當且僅當(αx+β)2= x3 - x。
P⊙Q=(x1,y1) (x2,y2)=(x3,y3) =(x3,-(αx3+β))
其中,x3= α2-x1-x2=((y2-y1) / (x2-x1))2-x1-x2;
y3=-y1+((y2-y1)/(x2-x1))(x1-x3)
當P=Q時:P⊙Q=(x3,y3)算得:
x3=((3x12-1)/2y1)2-2x1; y3= -y1+((3x12-1)/2y1)(x1-x3)
註:
a) 如果直線L與E相交與三點P,Q,R(不一定相異),那麼 (P⊙Q)R=θ(從圖中可見)。
b) 任給P∈E,P⊙θ =P (此時設Q= θ ,易見L=L′)
c) 任給P,Q∈E有:P⊙Q =Q⊙P
d) 設P∈E,那麼可以找到 - P∈E使P -P= θ
e) 任給P,Q,R∈E,有(P⊙Q)⊙R= P⊙(Q⊙R)
綜上所述,知E對 運算形成一個Abel群。
f) 上述規則可開拓到任意域上,特別是有限域上。假定
橢圓曲線是定義在有限域Fq上(q=pm),那麼
E(Fq)={(x,y)∈Fq×Fq | y2+a1xy+a3y=x3+a2x2+a4x+a6} ∪{θ}
它對? 斝緯梢桓鋈海?獮bel群。 令Fq表示q個元素的有限域,用E(Fq)表示定義在Fq上
的一個橢圓曲線E。
定理1.(Hass定理) E(Fq)的點數用#E(Fq)表示,則
| #E(Fq)-q-1|≤2q1/2
⑴ Fp(素域,p為素數)上橢圓曲線
牋 p&gt;3 a,b Fp 4a3+27b2 0 a b
義的Fp上的一個橢圓曲線方程為:
y2=x3+ax+b ⑵
它的所有解(x,y),(x Fp,y Fp),連同一個稱為撐耷鈐?
點敚?俏?齲┑腦?刈槌傻募?霞俏狤(Fp),由Hass定理
知:p+1-2p1/2≤#E(Fp) ≤ p+1+2p1/2
集合E(Fp)對應下面的加法規則,且對加法 形成
一個Abel群:
(i) θ⊙ θ=θ (單位元素)
(ii) (x,y)⊙ θ=(x,y),任給(x,y) ∈E(Fp)
(iii) (x,y)⊙ (x,-y)=θ,任給(x,y) ∈E(Fp),即點(x,y)的逆元
為(x,-y).
(iv) 令(x1,y1),(x2,y2)為E(Fp)中非互逆元,則
(x1,y1)⊙ (x2,y2)=(x3,y3),其中
x3=α2-2x1,y3= α(x1-x3)-y1
且α=(y2-y1)/(x2-x1) ⑶
(v)(倍點運算規則)
設(x1,y1) ∈E(Fp),y1≠0,則2(x1,y1)=(x3,y3),其中
x3= α2-2x1,y3=α(x1-x3)-y1
這里α=(3x12+a)/(2y1) ⑷
註:若#E(Fp)=p+1,曲線E(Fp)稱為超奇異的,否則稱為
非超奇異的。
例子:F23上的一個橢圓曲線
令y2=x3+x+1是F23上的一個方程(a=b=1),則該橢圓曲
線方程在F23上的解為(y2=x3+x+1的點):
(0,1),(0,22),(1,7),(1,16),(3,10),(3,13),(4,0),(5,4),(5,19),(6,4),</pre>
<pre>;(6,19),(7,11),(7,12),(9,7),(9,16),(11,3),(11,20),(12,4),(12,19),(13,7),</pre>
<pre>;(13,16),(17,3),(17,20),(18,3),(18,20),(19,5),(19,18);θ。
群E(F23)有28個點(包括無窮遠點θ)。
2) F2m上的橢圓曲線
F2m上由參數a,b∈F2m,b≠0定義的一個非超奇異橢
圓曲線E(F2m)是方程
y2+xy=x3+ax2+b ⑸
的解集合(x,y),其中x,y∈F2m,連同θ。
E(F2m)的加法規則如下:
(i) θ +θ= θ
(ii) 任給(x,y) ∈E(F2m),則(x,y)⊙ θ=(x,y)
(iii) 任給(x,y) ∈E(F2m),則(x,y)+(x,x+y)= θ,
即點(x,y)的逆為(x,x+y).
(iv) 兩個相異且不互逆的點的加法規則:
令(x1,y1),(x2,y2) ∈E(F2m)且有x1≠x2則
(x1,y1) (x2,y2)=(x3,y3),其中
x3=α2+α+x1+x2+a;
y3=α(x1+x3)+x3+y1.
其中 α= (y2+y1)/(x2+x1)
(v) 倍點規則
令(x1,y1) ∈E(F2m),其中x1≠0。則
2(x1,y1)=(x3,y3),其中
x3= α 2+ α +a,y3=x12+(α +1)x3,這里α =(x1+y1/x1)
易見,群E(F2m)為Abel群。
例:F24上的一個橢圓曲線
f(x)=x4+x+1為F2上的一個不可約多項式,易見
F24=F2[x] / (f(x)) = {(k0,k1,k2,k3) | (k0,k1,k2,k3)=k0+k1α+k2α2+k3α3, </pre>
<pre>;α為f(x)的零點,ki∈F2}
假定F24上的非超奇異橢圓曲線有下述方程定義:
y2+xy=x3+α4x2+1,注意f(α)=0。
方程應表為:
(1000)y2 + (1000)xy = (1000)x3 + (1100)x2 +(1000) 1985年,N. Koblitz和V. Miller分別獨立提出了橢圓曲線密碼體制(ECC),</pre>
<pre>;其依據就是定義在橢圓曲線點群上的離散對數問題的難解性。
⑴知E(Fq)對點的?斣慫閾緯梢桓鯝bel群
設p∈E(Fq),若p的周期很大,即使
p⊙p⊙ …… ⊙p= θ (共有 t個p相加)
成立的最小正整數 t,希望 t 很大。
(t = p的周期,表示為∏(p)=t)。
並且對Q∈E(Fq),定有某個正整數m使
Q=m&middot;p=p⊙ …… ⊙p (共有t個p相加)
定義
m=㏒pQ (m為以p為底Q的對數)。
橢圓曲線上的點形成的群E(Fq),相關它的離散對數
問題是難處理的。 選取基域Fq,Fq的橢圓曲線具體給定為確定的形式。
在E(Fq)中選一個周期很大的點,如選了一個點P=(xp,yp),
它的周期為一個大的素數n,記∏ (P)=n(素數)。
注意:在這個密碼體制中,具體的曲線及點P和它的n都
是公開信息。密碼體制的形式採用EIGamal體制,是完全
類比過來。
a)密鑰的生成
Bob(使用者)執行了下列計算:
i) 在區間[1,n-1]中隨機選取一個整數d。
ii) 計算點Q:=dP (d個P相)
iii) Bob公開自己的公開密鑰-- (E(Fq),p,n,Q)
iv) Bob的私鑰為整數d!
Alice要發送消息m給Bob,Alice執行:
i) 查找Bob的公鑰(E(Fq),p,n,Q),
ii) 將m表示成一個域元素m∈Fq,
iii) 在區間[1,n-1]內選取一個隨機數k,
iv) 依據Bob的公鑰計算點 (x1,y1):=kP(k個P相)
v) 計算點(x2,y2):=kQ,如果x2=0,則回到第iii)步
Ⅵ) 計算C:=m&middot;x2
Ⅶ) 傳送加密數據(x1,y1,C)給Bob
b) Bob的解密過程
Bob收到Alice的密文(x1,y1,C)後,執行
i) 使用私鑰d,計算點(x2,y2):=d(x1,y1),再計算Fq中x2-1=
通過計算m:=C&middot;x2-1,恢復出明文數據

⑷ 用ECC橢圓曲線加密漢字,密文是問號啊和不熟悉的漢字等組成。我希望加密後的漢字直接是01代碼,怎麼實現

保密年限到2030年,現在要採用224位以上的ECC。因為ECC加密過程是對點進行操作的,程序中是對二進制數進行運算,所以一定是將待加密的明文轉化為01代碼,然後01代碼通過ECC演算法轉化為其他的排序的01代碼,最後將01代碼轉化為亂碼的漢字。關於c++程序的問題,如果是你自己寫的,修改到把數據加密完就停止即可。

⑸ 誰能最簡單的詳解橢圓曲線演算法,secp256k1 是如何生成公鑰和私鑰的

最簡單的描述,K=kG作者重新定義了橢圓曲線的加法和乘法。並且保證不可逆。之後通過一系列復雜的計算算出了公鑰和加密演算法。比如y^2=Ax^3+Bx^2+Cx+D然後Alice計算出來一個參數(x1,y1) 告訴A,B,C,D到Bob,Bob對應的計算出來(x2,y2)然後雙方通訊,就可以使用公鑰私鑰對進行加解密了。PS:對不起。具體細節我把書送給老師了。手頭沒有資料可以查PS:開始了解這個演算法的時候我也看了ECC加密演算法入門介紹。到現在都不懂。我也不是數學系的。PS:我很後悔當時沒有把這個書上的東西記下來。現在只有一點皮毛的。那本書是《深入淺出密碼學――常用加密技術原理與應用(安全技術經典譯叢)》(美)帕爾,(美)佩爾茨爾著,馬小婷譯PS:最後我很討厭很簡單的東西說的很復雜。在上面這本書大概幾面紙加上最基礎不超過兩位數的算例就解決的問題,上面硬是講的超級復雜。

⑹ 什麼是RSA和ECC演算法

RSA(Rivest-Shamir-Adleman)加密演算法:它是第 一個既能用於數據加密也能用於數字簽名的演算法。比較易於理解和操作,是高強度非對稱加密系統,密鑰長度少則512位,多則2048位,非常難破解,安全系數是非常高的。ECC(Elliptic Curve Cryptosystems )加密演算法:橢圓曲線密碼體制,它同樣也是在數據位上額外的位存儲一個用數據加密的代碼。橢圓曲線其實可能比RSA更復雜。國內的老品牌CA機構-天威誠信,旗下的vTrus SSL證書,該證書支持 SHA256 with RSA 2048 演算法/ECC 256 演算法。

⑺ 首次將橢圓曲線用於密碼學,建立公開密鑰加密的演演算法是在那一年

橢圓曲線密碼學(英語:Elliptic curve cryptography,縮寫為 ECC),一種建立公開密鑰加密的演算法,基於橢圓曲線數學。

橢圓曲線在密碼學中的使用是在1985年由Neal Koblitz和Victor Miller分別獨立提出的。

橢圓曲線密碼學:

橢圓曲線密碼學(英語:Elliptic curve cryptography,縮寫為ECC),一種建立公開密鑰加密的演算法,基於橢圓曲線數學。橢圓曲線在密碼學中的使用是在1985年由Neal Koblitz和Victor Miller分別獨立提出的。

ECC的主要優勢是在某些情況下它比其他的方法使用更小的密鑰——比如RSA加密演算法——提供相當的或更高等級的安全。ECC的另一個優勢是可以定義群之間的雙線性映射。

基於Weil對或是Tate對;雙線性映射已經在密碼學中發現了大量的應用,例如基於身份的加密。其缺點是同長度密鑰下加密和解密操作的實現比其他機制花費的時間長。

但由於可以使用更短的密鑰達到同級的安全程度,所以同級安全程度下速度相對更快。一般認為160比特的橢圓曲線密鑰提供的安全強度與1024比特RSA密鑰相當。

⑻ 橢圓加密演算法的方程

橢圓曲線密碼體制來源於對橢圓曲線的研究,所謂橢圓曲線指的是由韋爾斯特拉斯(Weierstrass)方程:
y2+a1xy+a3y=x3+a2x2+a4x+a6 (1)
所確定的平面曲線。其中系數ai(I=1,2,…,6)定義在某個域上,可以是有理數域、實數域、復數域,還可以是有限域GF(pr),橢圓曲線密碼體制中用到的橢圓曲線都是定義在有限域上的。
橢圓曲線上所有的點外加一個叫做無窮遠點的特殊點構成的集合連同一個定義的加法運算構成一個Abel群。在等式
mP=P+P+…+P=Q (2)
中,已知m和點P求點Q比較容易,反之已知點Q和點P求m卻是相當困難的,這個問題稱為橢圓曲線上點群的離散對數問題。橢圓曲線密碼體制正是利用這個困難問題設計而來。橢圓曲線應用到密碼學上最早是由Neal Koblitz 和Victor Miller在1985年分別獨立提出的。
橢圓曲線密碼體制是目前已知的公鑰體制中,對每比特所提供加密強度最高的一種體制。解橢圓曲線上的離散對數問題的最好演算法是Pollard rho方法,其時間復雜度為,是完全指數階的。其中n為等式(2)中m的二進製表示的位數。當n=234, 約為2117,需要1.6x1023 MIPS 年的時間。而我們熟知的RSA所利用的是大整數分解的困難問題,目前對於一般情況下的因數分解的最好演算法的時間復雜度是子指數階的,當n=2048時,需要2x1020MIPS年的時間。也就是說當RSA的密鑰使用2048位時,ECC的密鑰使用234位所獲得的安全強度還高出許多。它們之間的密鑰長度卻相差達9倍,當ECC的密鑰更大時它們之間差距將更大。更ECC密鑰短的優點是非常明顯的,隨加密強度的提高,密鑰長度變化不大。
德國、日本、法國、美國、加拿大等國的很多密碼學研究小組及一些公司實現了橢圓曲線密碼體制,我國也有一些密碼學者
做了這方面的工作。許多標准化組織已經或正在制定關於橢圓曲線的標准,同時也有許多的廠商已經或正在開發基於橢圓曲線的產品。對於橢圓曲線密碼的研究也是方興未艾,從ASIACRYPTO』98上專門開辟了ECC的欄目可見一斑。
在橢圓曲線密碼體制的標准化方面,IEEE、ANSI、ISO、IETF、ATM等都作了大量的工作,它們所開發的橢圓曲線標準的文檔有:IEEE P1363 P1363a、ANSI X9.62 X9.63、 ISO/IEC14888等。
2003年5月12日中國頒布的無線區域網國家標准 GB15629.11 中,包含了全新的WAPI(WLAN Authentication and Privacy Infrastructure)安全機制,能為用戶的WLAN系統提供全面的安全保護。這種安全機制由 WAI和WPI兩部分組成,分別實現對用戶身份的鑒別和對傳輸的數據加密。WAI採用公開密鑰密碼體制,利用證書來對WLAN系統中的用戶和AP進行認證。證書裡麵包含有證書頒發者(ASU)的公鑰和簽名以及證書持有者的公鑰和簽名,這里的簽名採用的就是橢圓曲線ECC演算法。
加拿大Certicom公司是國際上最著名的ECC密碼技術公司,已授權300多家企業使用ECC密碼技術,包括Cisco 系統有限公司、摩托羅拉、Palm等企業。Microsoft將Certicom公司的VPN嵌入微軟視窗移動2003系統中。
以下資料摘自:http://www.hids.com.cn/data.asp

⑼ 密碼中的數學

密碼是一種用來混淆的技術,它希望將正常的(可識別的)信息轉變為無法識別的信息。當然,對一小部分人來說,這種無法識別的信息是可以再加工並恢復的。密碼在中文裡是「口令」的通稱。登錄網站、電子郵箱和銀行取款時輸入的「密碼」其實嚴格來講應該僅被稱作「口令」,因為它不是本來意義上的「加密代碼」,但是也可以稱為秘密的號碼。主要限定於個別人理解(如一則電文)的符號系統。如密碼電報、密碼式打字機。
「加密代碼」的加密與解密都離不開數學的支持,隨著數學的發展,密碼的加密方式以及解密難度也隨之直線上升。
加密方法
RSA演算法
RSA演算法是第一個能同時用於加密和數字簽名的演算法,也易於理解和操作。RSA演算法是一種非對稱密碼演算法,所謂非對稱,就是指該演算法需要一對密鑰,使用其中一個加密,則需要用另一個才能解密。
RSA的演算法涉及三個參數,n、e1.e2。其中,n是兩個大質數p、q的積,n的二進製表示時所佔用的位數,就是所謂的密鑰長度。e1和e2是一對相關的值,e1可以任意取,但要求e1與(p-1)*(q-1)互質(互質:兩個正整數只有公約數1時,他們的關系叫互質);再選擇e2,要求(e2*e1)mod((p-1)*(q-1))=1。
(n及e1),(n及e2)就是密鑰對。
RSA加解密的演算法完全相同,設A為明文,B為密文,則:A=B^e1 mod n;B=A^e2 mod n;
e1和e2可以互換使用,即:A=B^e2 mod n;B=A^e1 mod n
ECC加密法
ECC演算法也是一個能同時用於加密和數字簽名的演算法,也易於理解和操作。同RSA演算法是一樣是非對稱密碼演算法使用其中一個加密,用另一個才能解密。
公開密鑰演算法總是要基於一個數學上的難題。比如RSA 依據的是:給定兩個素數p、q 很容易相乘得到n,而對n進行因式分解卻相對困難。那橢圓曲線上有什麼難題呢?
考慮如下等式 :
K=kG [其中 K,G為Ep(a,b)上的點,k為小於n(n是點G的階)的整數]
不難發現,給定k和G,根據乘法法則,計算K很容易;但給定K和G,求k就相對困難了。這就是橢圓曲線加密演算法採用的難題。我們把點G稱為基點(base point),k(k<n,n為基點G的階)稱為私有密鑰(privte key),K稱為公開密鑰(public key)。
ECC的功能比RSA強。而令人感興趣的是點和點的過程,這也是其功能之來源。
二方密碼
二方密碼比四方密碼用更少的矩陣。得出加密矩陣的方法和四方密碼一樣。
這種加密法的弱點是若兩個字同列,便採用原來的字母,例如he便加密作HE。約有二成的內容都因此而暴露。
四方密碼
四方密碼用4個5×5的矩陣來加密。每個矩陣都有25個字母(通常會取消Q或將I,J視作同一樣,或改進為6×6的矩陣,加入10個數字)。
替換加密法:用一個字元替換另一個字元的加密方法。
換位加密法:重新排列明文中的字母位置的加密法。
回轉輪加密法:一種多碼加密法,它是用多個回轉輪,每個回轉輪實現單碼加密。這些回轉輪可以組合在一起,在每個字母加密後產生一種新的替換模式。
多碼加密法:
一種加密法,其替換形式是:可以用多個字母來替換明文中的一個字母。
夾帶法:通過隱藏消息的存在來隱藏消息的方法。
三分密碼
首先隨意製造一個3個3×3的Polybius方格替代密碼,包括26個英文字母和一個符號。然後寫出要加密的訊息的三維坐標。訊息和坐標四個一列排起,再順序取橫行的數字,三個一組分開,將這三個數字當成坐標,找出對應的字母,便得到密文。
仿射密碼
仿射密碼是一種替換密碼。它是一個字母對一個字母的。它的加密函數是e(x)=ax+b(mod m),其中 a和m互質。m是字母的數目。
解碼函數是d(x)=a^(x-b)(mod m),其中a^是a在M群的乘法逆元。
波雷費密碼
希爾密碼
維熱納爾方陣
著名的維熱納爾方陣由密碼學家維熱納爾編制,大體與凱撒加密法類似。即二人相約好一個密鑰(單詞),然後把加密後內容給對方,之後對方即可按密碼表譯出明文。密鑰一般為一個單詞,加密時依次按照密鑰的每個字母對照明碼行加密。
由維熱納爾方陣加密的密碼,在沒有密鑰的情況下給破譯帶來了不小的困難。維熱納爾方陣很完美的避開了概率演算法(按每個語種中每個字母出現的概率推算。例如英語中最多的是e),使當時的密碼破譯師必須重新找到新方法破譯。
埃特巴什碼
埃特巴什碼是一個系統:最後一個字母代表第一個字母,倒數第二個字母代表第二個字母。
柵欄加密法
柵欄加密法是一種比較簡單快捷的加密方法。柵欄加密法就是把要被加密的文件按照一上一下的寫法寫出來,再把第二行的文字排列到第一行的後面。相應的破譯方法就是把文字從中間分開,分成2行,然後插入。柵欄加密法一般配合其他方法進行加密。
針孔加密法
這種加密法誕生於近代。由於當時郵費很貴,但是寄送報紙則花費很少。於是人們便在報紙上用針在需要的字下面刺一個孔,等到寄到收信人手裡,收信人再把刺有孔的文字依次排列,連成文章。人們已經很少使用這種加密了。
豬圈加密法
在18世紀時,Freemasons為了使讓其他的人看不懂他所寫而發明的,豬圈密碼屬於替換密碼流,但它不是用一個字母替代另一個字母,而是用一個符號來代替一個字母, 把26個字母寫進下四個表格中,然後加密時用這個字母所挨著表格的那部分來代替。
對稱加密演算法
DES:數據加密標准,速度較快,適用於加密大量數據的場合(塊加密法);
3DES:是基於DES,對一塊數據用三個不同的密鑰進行三次加密,強度更高(塊加密法);
RC2和 RC4:用變長密鑰對大量數據進行加密,比 DES 快(流加密法);
IDEA國際數據加密演算法,使用 128 位密鑰提供非常強的安全性(塊加密法);
AES:高級加密標准,是下一代的加密演算法標准,速度快,安全級別高, AES 標準的一個實現是 Rijndael 演算法(塊加密法);
BLOWFISH,它使用變長的密鑰,長度可達448位,運行速度很快,而經過改進後就是TWOFISH,AES的候選者之一(塊加密法)。

⑽ 橢圓曲線演算法的加密演算法

在橢圓曲線加密(ECC)中,利用了某種特殊形式的橢圓曲線,即定義在有限域上的橢圓曲線。其方程如下:
y²=x³+ax+b(mod p)
這里p是素數,a和b為兩個小於p的非負整數,它們滿足:
4a³+27b²(mod p)≠0 其中,x,y,a,b ∈Fp,則滿足式(2)的點(x,y)和一個無窮點O就組成了橢圓曲線E。
橢圓曲線離散對數問題ECDLP定義如下:給定素數p和橢圓曲線E,對 Q=kP,在已知P,Q的情況下求出小於p的正整數k。可以證明,已知k和P計算Q比較容易,而由Q和P計算k則比較困難,至今沒有有效的方法來解決這個問題,這就是橢圓曲線加密演算法原理之所在。

熱點內容
雙面警長第一季ftp 發布:2025-05-16 11:41:20 瀏覽:664
php取數組第一個 發布:2025-05-16 11:30:58 瀏覽:423
解調演算法 發布:2025-05-16 11:21:09 瀏覽:136
python密碼暴力破解 發布:2025-05-16 11:13:28 瀏覽:592
倒角刀編程 發布:2025-05-16 11:12:55 瀏覽:350
資料庫的酸性 發布:2025-05-16 11:03:17 瀏覽:124
phpmysql長連接 發布:2025-05-16 10:51:50 瀏覽:734
android橫屏全屏 發布:2025-05-16 10:47:43 瀏覽:475
伺服器直鏈下載搭建 發布:2025-05-16 10:47:38 瀏覽:176
編譯不成功怎麼辦 發布:2025-05-16 10:35:54 瀏覽:613