当前位置:首页 » 密码管理 » 椭圆曲线加密代码

椭圆曲线加密代码

发布时间: 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则比较困难,至今没有有效的方法来解决这个问题,这就是椭圆曲线加密算法原理之所在。

热点内容
电脑上如何查询自己的配置 发布:2025-05-16 05:06:36 浏览:104
sql中去重 发布:2025-05-16 04:55:06 浏览:892
dwr上传图片 发布:2025-05-16 04:49:46 浏览:121
base64加密的图片 发布:2025-05-16 04:35:46 浏览:355
数据结构c语言版清华大学出版社 发布:2025-05-16 04:30:44 浏览:273
c语言取小数点 发布:2025-05-16 04:22:26 浏览:379
公司权力配置有哪些问题 发布:2025-05-16 04:21:43 浏览:924
tcl电视怎样删了缓存 发布:2025-05-16 04:16:56 浏览:211
收费数据库 发布:2025-05-16 04:06:43 浏览:347
编译程序时跳转到另一个文件 发布:2025-05-16 04:03:42 浏览:250