版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第二章 2.2公钥密码体制,主要内容,公钥密码体制的产生 数论基础 公钥密码体制的基本原理 RSA公钥密码体制 其它公钥密码算法,传统密码体制在应用中的缺陷,密钥管理的麻烦 密钥难以传输 不能提供法律证据 缺乏自动检测密钥泄密的能力,整 除,定理:设整数a和b,如果存在整数k,使b=ak,则说b能被a整除,记作:a|b 例:3|15,-15|60 性质: 对所有整数a0, a|0、 a|a成立 对任意整数b, 1|b成立,素数(prime number),定义:如果整数p(p1)只能被1或者它本身整除,而不能被其他整数整除,则其为素数,否则为合数。 素数定理: 在各种应用中,我们需要大的素数,
2、如100位的素数 素数是构成整数的因子,每一个整数都是由一个或几个素数的不同次幂相乘得来的。,最大公约数,a和b的最大公约数是能够同时整除a和b的最大正整数,记为gcd(a,b)。 如果gcd(a,b)=1,则说a和b是互素的。 定理: 设a和b是两个整数(至少一个非0), d=gcd(a,b),则存在整数x和y,使得ax+by=d 特殊地,如果a和b互素,则有整数x和y,使得ax+by=1,同余,设整数a,b,n(n 0),如果a-b是n的整数倍,则ab(mod n),即a同余于b模n。也可理解为a/n的余数等于b/n的余数。 (mod n)运算将所有的整数(无论小于n还是大于n),都映射到
3、0,1,n-1组成的集合。 模算术的性质: (a mod n) + (b mod n)= (a+b) mod n (a mod n) - (b mod n)= (a-b) mod n (a mod n) * (b mod n)= (a*b) mod n,性质,有整数a,b,c,n(n 0): 如果ab(mod n), bc(mod n) 那么ac(mod n) 如果ab(mod n), cd(mod n) 那么a+cb+d, a-cb-d, acbd (mod n) 计算117 mod 13 计算21234 mod 789,除法,设整数a,b,c,n(n 0),且gcd(a,n)=1。 如果a
4、bac (mod n),那么bc (mod n) 证明: gcd(a,n)=1,有x和y,使ax+ny=1 两边同乘以(b-c): (b-c)(ax+ny)=b-c 即:(ab-ac)x+n(b-c)y=b-c abac (mod n), 即ab=ac+k1n,ab-ac 是n的倍数 同时,n(b-c)y显然也是n的倍数 所以,:(ab-ac)x+n(b-c)y也是n的倍数,假设是k2倍 则式变为:b-c= k2n 即bc (mod n),欧几里德算法(Euclid),用欧几里德算法求最大公约数。 求:gcd(482,1180) 1180=2*482+216 482=2*216+50 216=
5、4*50+16 50=3*16+2 16=8*2+0 所以gcd(482,1180)=2,乘法逆元,如果gcd(a,b)=1,那么: 存在a-1,使a* a-1 1 mod b 存在b-1,使b* b-1 1 mod a 这里,把a-1称为a模b的乘法逆元, b-1称为b模a的乘法逆元,用扩展的欧几里德算法求乘法逆元,gcd(11111,12345) 12345=1*11111+1234 11111=9*1234+5 1234=246*5+4 5=1*4+1 4=4*1+0 1=5-1*4=5-1*(1234-246*5)=247*5-1*1234 =247*(11111 - 9*1234)
6、-1*1234 =247*11111 - 2224*1234 =247*11111 - 2224*(12345 -1*11111) =2471*11111 - 2224*12345,费尔马小定理 (Fermat),如果p是一个素数,a不是p的倍数, 则:ap-11 (mod p) 证明: 设有一整数空间S=1,2,p-1 再设有一函数(x)=ax(mod p) xS (1)对于任何xS,有(x)S (2)对于x和y(xy),有(x)(y) (3)根据乘法定理和除法定理 (p-1)!ap-1(p-1)! mod p,欧拉函数,(n):小于n且与n互素的正整数的个数 显然,对于素数p,有(p)=p
7、-1 设有两个素数p和q,p q,那么对于n=pq,有: (n)= (pq)= (p)* (q) =(p-1)*(q-1),欧拉定理(Euler),对于任意互素的a和n,有a(n) 1 mod n 证明:对于整数n,与n互素的数有(n)个: 令这些数为:R=x1, x2, ,x (n) 用a与R中的每个元素相乘模n,得到集合S: S =ax1 mod n, x2 mod n, ,x (n) mod n 其实S就是R: (ax1 mod n) R S中的元素是唯一的 那么:R中各元素相乘就等于S中各元素相乘:,离散对数,由Euler定理可知,互素的a和n,有a(n) 1 mod n 也就是说,至
8、少存在一个整数m,使am 1 mod n成立 使得成立am 1 mod n的最小正幂m,称为a的阶、a所属的模n的指数,或a所产生的周期长。 本原根:如果使得am 1 mod n成立的最小正幂m: m=(n),则称a是n的本原根。,指标,某素数p,有本原根a,且: X1=a1 mod p, X2=a2 mod p , Xp-1=ap-1 mod p , 则:x1x2 xp-1 令:S=x1,x2, xp-1,T=1,2,p-1 则:S=P 对于任意整数b,有br mod p (0rp-1) 所以,对于b和素数p的本原根a,有唯一的幂i,使得: bai mod p , 0ip-1 指数i称为a模
9、p的b的指标,记为inda,p(b),指标的性质,inda,p(1)=? inda,p(a)=? 乘法性质 幂性质,离散对数的计算,对于方程y=gx mod p 给定g,x,p,计算y比较容易。 但给定y,g,p,求x非常困难。X=indg,p(y) 其难度与RSA中因子分解素数之积的难度有相同的数量级。,公钥密码体制(Public key system),公钥密码学与其他密码学完全不同: 公钥算法基于数学函数而不是基于替换和置换 使用两个独立的密钥 公钥密码学的提出是为了解决两个问题: 密钥的分配 数字签名 1976年Diffie和Hellman首次公开提出了公钥密码学的概念,被认为是一个惊
10、人的成就。,2020/7/8,21,公钥密码体制的原理,公钥体制(Public key system) (Diffie和Hellman,1976) 每个用户都有一对选定的密钥(公钥k1;私钥k2),公开的密钥k1可以像电话号码一样进行注册公布。 主要特点: 加密和解密能力分开 多个用户加密的消息只能由一个用户解读,(用于公共网络中实现保密通信) 只能由一个用户加密消息而使多个用户可以解读(可用于认证系统中对消息进行数字签字)。 无需事先分配密钥。,公钥密码体制有4个组成部分,明文:算法的输入,它们是可读信息或数据,用M表示; 密文:算法的输出。依赖于明文和密钥,对给定的消息,不同的密钥产生密文
11、不同。用E表示; 公钥和私钥:算法的输入。这对密钥中一个用于加密,为Ke,此密钥公开;一个用于解密,为Kd,此密钥保密。加密算法执行的变换依赖于密钥; 加密、解密算法,公钥密码体制下的秘密通信,公钥加密体制的特点,加密和解密能力分开 多个用户加密的消息只能由一个用户解读,可用于公共网络中实现保密通信 用私钥加密的消息可以用对应的公钥解密,所以由一个用户加密消息而使多个用户可以解读,可用于认证系统中对消息进行数字签字 无需事先分配密钥 密钥持有量大大减少 提供了对称密码技术无法或很难提供的服务:如与哈希函数联合运用可生成数字签名,可证明的安全伪随机数发生器的构造,零知识证明等,保证机密性,Kbe
12、: Bob的公钥 Kbd :Bob的私钥,保证真实性,Kad: Alice的私钥 Kae :Alice的公钥,既保证机密性又保证真实性,Kad: Alice的私钥 Kae :Alice的公钥,Kbe: Bob的公钥 Kbd :Bob的私钥,公钥密码应满足的要求,接收方B产生密钥对在计算上是容易的 发送方A用收方的公开钥对消息m加密以产生密文c在计算上是容易的。 收方B用自己的秘密钥对密文c解密在计算上是容易的。 敌手由密文c和B的公开密钥恢复明文在计算上是不可行的。 敌手由密文c和B的公开密钥恢复秘密密钥在计算上是不可行的 加解密次序可换,即EPKBDSKB(m)=DSKBEPKB(m) ,不
13、是对任何算法都做此要求。,对公钥密码体制的攻击,和单钥密码体制一样,如果密钥太短,公钥密码体制也易受到穷搜索攻击。因此密钥必须足够长才能抗击穷搜索攻击。然而又由于公钥密码体制所使用的可逆函数的计算复杂性与密钥长度常常不是呈线性关系,而是增大得更快。所以密钥长度太大又会使得加解密运算太慢而不实用。因此公钥密码体制目前主要用于密钥管理和数字签字。 对公钥密码算法的第2种攻击法是寻找从公开钥计算秘密钥的方法。目前为止,对常用公钥算法还都未能够证明这种攻击是不可行的。,RSA算法概况,MIT三位年青数学家R.L.Rivest,A.Shamir和L.AdlemanRivest等1978, 1979发现了
14、一种用数论构造双钥的方法,称作MIT体制,后来被广泛称之为RSA体制。 它既可用于加密、又可用于数字签字。 RSA算法的安全性基于数论中大整数分解的困难性。 迄今为止理论上最为成熟完善的公钥密码体制,该体制已得到广泛的应用。,算法原理,RSA算法使用了乘方运算。 要求: 明文M经过加密得到密文C: C=Me mod n 密文C经过解密得到明文M: Cd mod n=(Me mod n)d mod n= Med mod n=M 即:必须存在e,d,n,使Med mod n=M成立,如何确定e,d,n,确定n: 独立地选取两大素数p和q(各100200位十进制数字) 计算 n=pq,其欧拉函数值(
15、n)=(p1)(q1) 确定e: 随机选一整数e,1e(n),gcd(n), e)=1 确定d: 根据ed=1 mod (n)在模(n)下,计算d,这样确定的e,d,n是否能使Med mod n=M成立呢?,因为ed=1 mod (n) 即ed=k(n)+1 所以:Med=Mk(n)+1 如果M和n互素,即gcd(M,n)=1 那么, 根据欧拉定理(如果gcd(a,n)=1,则 a(n) 1 mod n): 有:M(n) 1 mod n 所以:Med Mk(n)+1 MM(n) kmod n M1kmod n M mod n,如果M和n不互素,即gcd(M,n)1,即M和n有大于1的公约数。
16、因为n=pq,而p、q都是素数,不可再分解,所以M一定包含了p或q为因子。 又因为Mn,所以M不可能既是p的倍数又是q的倍数。 不妨设M是p的倍数,M=cp。 由于M不是q的倍数,所以gcd(M,q)=1,则 M(q) 1 mod q ,所以:M(q) (p) 1 mod q 即M(n) 1 mod n,即M(n) =1+kq,M(n) =1+kq 两边同乘以M=cp,则: M(n)+1=M+kqcp=M+kcn 把kc看作一个常数,则:M(n)+1=M+tn 即:M(n)+1 M mod n,即M(n) 1 mod n 因为ed=1 mod (n), 所以: Med Mk(n)+1 MM(n
17、) kmod n M1kmod n M mod n 综上,这样的e,d,n可以实现加密C=Me mod n和解密M=Cd mod n,RSA算法密钥,以n,e为公钥。秘密钥为d。(p, q不再需要,可以销毁。),RSA算法在计算上的可行性,加密和解密 无论是加密还是解密都需要计算某个整数的模n整数次幂,即C=Me mod n、M=Cd mod n。但不需要先求出整数的幂再对n取模,而可利用模运算的性质: (a mod n) * (b mod n)= (a*b) mod n 对于Me mod n,可先求出M1 mod n,M2 mod n, M4 mod n,再求Me mod n,RSA算法在计
18、算上的可行性,产生密钥 由于n是公开的,为了避免攻击者用穷举法求出p和q(根据n=pq),应该从足够大的集合中选取p和q,即p和q必须是大素数。 目前还没有有效的方法可以产生任意大素数,通常使用的方法是:随机挑选一个期望大小的奇数,然后测试它是否是素数,若不是,则挑选下一个随机数直至检测到素数为止。,素性检验,引理:如果p为大于2的素数,则方程x21 mod p的解只有和x1和x-1 证明: x21 mod p x2 -1 0 mod p (x+1)(x-1)0 mod p 所以,p|(x+1)或p|(x-1) 或p|(x+1)且p|(x-1)存在k,j,x+1=kp, x-1=jp2=(k-
19、j)p, 这是不可能的。 引理的逆命题:若方程x21 mod p有唯一解x不为+1或-1,p不是素数,素性检验,Miller-Rabin素性概率检测法 n为待检测数,a为小于n的整数,将n-1表示为二进制形式bkbk-1b0,d赋初值为1,算法核心如下 for i=k downto 0 do xd; d(dd) mod n; if d=1 and (x1)and(xn-1) then return False if bi=1 the d(da) mod n if d 1 then return False; return True 若返回False,n不是素数,若返回True,有可能是素数。,
20、素性检测,For循环结束,有dan-1 mod n.由费尔玛定理,若n为素数,d为1.所以d1,则d不是素数 n-1-1 mod n,所以x 1和x n-1指x21 mod n 有非1的根,n不是素数 该算法对s个不同的a,重复调用,如果每次都返回true,则n是素数的概率大于等于1-2-s,Miller-Rabin算法可以确定一个整数是合数,但不能确定其一定是素数。 要找到一个2200左右的素数,在找到素数之前大约要进行ln(2200)/2=70次尝试 在N附近平均每隔lnN个整数就会有一个素数。,RSA算法在计算上的可行性,确定d和e 有了p和q,可计算出(n)=(p1)(q1) 根据gc
21、d(n),e)=1来选择e,这一步计算量也不大,因为两个随机数互素的概率约为0.6 有了e,再计算d=e-1 mod (n),这里用的是扩展的Euclid算法。, 选两个保密的大素数p和q。 计算n=pq,(n)=(p-1)(q-1),其中(n)是n的欧拉函数值。 选一整数e,满足1e(n),且gcd(n),e)=1。 计算d,满足de1 mod (n),即d是e在模(n)下的乘法逆元,因e与(n)互素,由模运算可知,它的乘法逆元一定存在。 以e,n为公开钥,d,n为秘密钥。,算法描述,选p=7,q=17。 求n=pq=119,(n)=(p-1)(q-1)=96。 取e=5,满足1e(n),且
22、gcd(n),e)=1。确定满足de=1 mod 96且小于96的d,因为775=385=496+1,所以d为77。 因此公开钥为5,119,秘密钥为77,119。设明文m=19,则由加密过程得密文为 C=195 mod 1192476099 mod 119=66 解密为6677mod 119=19,RSA的安全性,RSA的安全性是基于分解大整数的困难性假定 如果分解n=pq,则立即获得(n)=(p1)(q1),从而能够确定e的模(n)乘法逆d RSA-129历时8个月(曾经预言需要4*1016年)被于1996年4月被成功分解,RSA130于1996年4月被成功分解 密钥长度应该介于1024b
23、it到2048bit之间 由n直接求(n)等价于分解n,RSA-129的故事,鹗鸟(ossifrage),又名髭兀鹰(lammergeier),是阿尔卑斯山上一种稀有的肉食秃鹰。它的翅膀展开将近十米宽。鸟名的字面含义是“碎骨”。顾名思义,其习性令人毛骨悚然。 Mirtin Gardner在1977年“Scientific American”的专栏文章中介绍了RSA码。为了显示这一技术的威力,RSA公司的研究人员用一个129位的数N和一个4位数e 对这个关于秃鹰的消息作了编码。Gardner刊登了那个密文,同时给出了N和e。RSA公司还悬赏100美元,奖给第一个破译这密码的人。 96869 61
24、375 46220 61477 14092 22543 55882 90575 99911 24574 31987 46951 20930 81629 82251 45708 35693 14766 22883 98962 80133 91990 55182 99451 57815 154,一批松散组成的因子分解迷,大约有六百多人,分布在二十几个国家。他们经过八个月的努力最后于1994年4月为RSA-129找到了64位数和65位数两个素数因子。 11438 16257 57888 86766 92357 79976 14661 20102 18296 72124 23625 62561 842
25、93 57069 35245 73389 78305 97123 56395 87050 58989 07514 75992 90026 87954 3541 = 34905 29510 84765 09491 47849 61990 38981 33417 76463 84933 87843 99082 0577 * 32769 13299 32667 09549 96198 81908 34461 41317 76429 67992 94253 97982 88533 “The magic words are squeamish ossifrage”,来自两个方面的威胁,人类计算能力的不断
26、提高 分解算法的进一步改进。分解算法过去都采用二次筛法,如对RSA-129的分解。而对RSA-130的分解则采用了一个新算法,称为推广的数域筛法,该算法在分解RSA130时所做的计算仅比分解RSA-129多10%。将来也可能还有更好的分解算法,因此在使用RSA算法时对其密钥的选取要特别注意其大小。估计在未来一段比较长的时期,密钥长度介于1024比特至2048比特之间的RSA是安全的。,几个建议,为了防止可以很容易地分解n,RSA算法的发明者建议p和q还应满足下列限制条件: P和q的长度应仅相差几位。对于1024位的密钥而言,p和q都应在1075到10100之间。 (p-1)和(q-1)都应有一
27、个大的素因子。 Gcd(p-1,q-1)应该较小。,其它公钥密码算法,ElGamal密码 ElGamal密码是由ElGamal于1985年提出。该密码系统可应用于加/解密、数字签名等,其安全性是建立于离散对数(discrete logarithm)问题之上的,即给定g,p与y=gx mod p,求x在计算上不可行。 椭圆曲线密码体制(ECC) 椭圆曲线在密码学中的使用是在1985年由Neal Koblitz和Victor Miller分别独立提出的。其依据就是定义在椭圆曲线点群上的离散对数问题的难解性。椭圆曲线在代数学和几何学上已经广泛研究了150多年之久,有丰富而深厚的理论积累。,数字签名,
28、数字签名(也称数字签字)是实现认证的重要工具,在电子商务系统中是不可缺少的。 保证传递文件的机密性应使用加密技术,保证其完整性应使用信息摘要技术,而保证认证性和不可否认性应使用数字签名技术。,电子签名 电子签名与数字签名 能够在电子文件中识别双方交易人的真实身份,保证交易的安全性和真实性以及不可抵赖性,起到与手写签名或者盖章同等作用的签名的电子技术手段,称之为电子签名。从法律上讲,签名有两个功能:即标识签名人和表示签名人对文件内容的认可。,联合国贸发会的电子签名示范法中对电子签名作如下定义:“指在数据电文中以电子形式所含、所附或在逻辑上与数据电文有联系的数据它可用于鉴别与数据电文相关的签名人和
29、表明签名人认可数据电文所含信息”;在欧盟的电子签名共同框架指令中就规定:“以电子形式所附或在逻辑上与其他电子数据相关的数据,作为一种判别的方法”称电子签名。而我国电子签名法对电子签名的定义:“是指数据电文中以电子形式所含、所附用于识别签名人身份并表明签名人认可其中内容的数据。”,实现电子签名的技术手段有很多种,但目前比较成熟的,世界先进国家普遍使用的电子签名技术还是“数字签名”技术。由于保持技术中立性是制订法律的一个基本原则,目前还没有任何理由说明公钥密码理论是制作签名的唯一技术,因此有必要规定一个更一般化的概念以适应今后技术的发展。但是,目前电子签名法中提到的签名,一般指的就是数字签名。所谓
30、数字签名就是通过某种密码运算生成一系列符号及代码组成电子密码进行签名,来代替书写签名或印章,对于这种电子式的签名还可进行技术验证,其验证的准确度是一般手工签名和图章的验证而无法比拟的。数字签名是目前电子商务、电子政务中应用最普遍、技术最成熟的、可操作性最强的一种电子签名方法。它采用了规范化的程序和科学化的方法,用于鉴定签名人的身份以及对一项电子数据内容的认可。它还能验证出文件的原文在传输过程中有无变动,确保传输电子文件的完整性、真实性和不可抵赖性。,电子签名的实现方法 目前,实现电子签名的方法有好多种技术手段,前提是在确认了签署者的确切身份即经过认证之后,电子签名承认人们可以用多种不同的方法签
31、署一份电子记录。这些方法有:基于PKI的公钥密码技术的数字签名;或用一个独一无二的以生物特征统计学为基础的识别标识,例如手书签名和图章的电子图像的模式识别;手印、声音印记或视网膜扫描的识别;一个让收件人能识别发件人身份的密码代号、密码或个人识别码PIN;基于量子力学的计算机等等。但比较成熟的,使用方便具有可操作性的,在世界先进国家和我国普遍使用的电子签名技术还是基于PKI(Public Key Infrastructino)的数字签名技术。,1. 手写签名或图章的模式识别 即将手写签名或印章作为图像,用光扫描经光电转换后在数据库中加以存储,当验证此人的手写签名或盖印时,也用光扫描输入,并将原数
32、据库中的对应图像调出,用模式识别的数学计算方法,进行二者比对,以确认该签名或印章的真伪。这种方法曾经在银行会计柜台使用过,但由于需要大容量的数据库存储和每次手写签名和盖印的差异性,证明了它的不可实用性,这种方法也不适用于互联网上传输。,2. 生物识别技术 生物识别技术是利用人体生物特征进行身份认证的一种技术,生物特征是一个人与他人不同的唯一表徵,它是可以测量、自动识别和验证的。生物识别系统对生物特征进行取样,提取其唯一的特征进行数字化处理,转换成数字代码,并进一步将这些代码组成特征模板存于数据库中,人们同识别系统交互进行身份认证时,识别系统获取其特征并与数据库中的特征模板进行比对,以确定是否匹
33、配,从而决定确定或否认此人。生物识别技术主要有以下几种: (1) 指纹识别技术。每个人的指纹皮肤纹路是唯一的,并且终身不变,依靠这种唯一性和稳定性,就可以把一个人同他的指纹对应起来,通过将他的指纹和预先保存在数据库中的指纹采用指纹识别算法进行比对,便可验证他的真实身份。在身份识别后的前提下,可以将一份纸质公文或数据电文按手印签名或放于IC卡中签名。但这种签名需要有大容量的数据库支持,适用于本地面对面的处理,不适宜网上传输。,(2) 视网膜识别技术。视网膜识别技术是利用激光照射眼球的背面,扫描摄取几百个视网膜的特征点,经数字化处理后形成记忆模板存储于数据库中,供以后的比对验证。视网膜是一种极其稳
34、定的生物特征,作为身份认证是精确度较高的识别技术。但使用困难,不适用于直接数字签名和网络传输。(3) 声音识别技术。声音识别技术是一种行为识别技术,用声音录入设备反复不断地测量、记录声音的波形和变化,并进行频谱分析,经数字化处理之后做成声音模板加以存储。使用时将现场采集到的声音同登记过的声音模板进行精确的匹配,以识别该人的身份。这种技术精确度较差,使用困难,不适用于直接数字签名和网络传输。 以上这种身份识别的方法解决的是“你是什么?”,(What you are)“你是谁?”,适用于面对面的场合,不适用远程网络认证,不适合大规模人群认证。,3.密码、密码代码或个人识别码 这是传统的对称密钥加/
35、解密的身份识别和签名方法。甲方需要乙方签名一份电子文件,甲方可产生一个随机码传送给乙方,乙方用双方事先约定好的对称密钥加密该随机码和电子文件回送给甲方,甲方用同样对称密钥解密后得到电文并核对随机码,如随机码核对正确,甲方即可认为该电文来自乙方。 在实际应用方面经常采用的是ID+PIN(身份惟一标识+口令),即发方用对称密钥加密ID和PIN发给收方,收方解密后与后台存放的ID和口令进行比对,达到认证的目的。(如:银行卡) 它适用于远程网络管理传输,因对称密钥管理困难,不适用于电子签名。,4.基于量子力学的计算机 量子计算机是以量子力学原理直接进行计算的计算机,使用的是一种新的量子密码的编码方法,
36、即利用光子的相应特性编码。由于量子力学的随机性非常特殊,无论多么聪明的窃听者,在破译这种密码时都会留下痕迹,甚至在密码被窃听的同时会自动改变。 这将是世界上最安全的密码认证和签名方法。但目前还停留在理论研究阶段。,5.基于PKI的电子签名 基于公钥基础设施PKI(Public Key Infrastructure)的电子签名被称做“数字签名”。有人称“电子签名”就是“数字签名”,这种说法是错误的。数字签名是电子签名的一种主要形式。因为电子签名具有技术中立性,但也带来使用的不便,法律上又对电子签名做了进一步规定,如联合国贸发会的电子签名示范法和欧盟的电子签名共同框架指令中就规定了“可靠电子签名”
37、和“高级电子签名”,其目的就是规定了数字签名的具体功能,这种规定使数字签名获得了更好的应用安全性和可操作性。目前,具有实际意义的电子签名只有公钥密码理论。所以,目前国内外普遍使用的、技术成熟的、可实际使用的还是基于PKI的数字签名技术。作为公钥基础设施PKI可提供多种网上安全服务,如认证、数据保密性、数据完整性和不可否认性,其中都用到了数字签名技术。,数字签名的概念及原理 概念 数字签名是利用数字技术实现在网络传送文件时,附加个人标记,完成系统上手书签名盖章的作用,以表示确认,负责,经手等。使用数字签名,可以保证交易中的认证性和不可否认性。,数字签名的示意图,电子 文件,- - -,+,=,I
38、nternet,签名者标记密码,数 字 签 名,数字签名在ISO7498-2标准中定义为:“附加在数据单元上的一些数据,或是对数据单元所作的密码变换,这种数据和变换允许数据单元的接收者用以确认数据单元来源和数据单元的完整性,并保护数据,防止被人(例如接收者)进行伪造”。 美国电子签名标准(DSS,FIPS186-2)对数字签名作了如下解释:利用一套规则和一个参数对数据计算所得的结果,用此结果能够确认签名者的身份和数据的完整性。按上述定义PKI(Public Key Infrastructino 公钥基础设施)提供可以提供数据单元的密码变换,并能使接收者判断数据来源及对数据进行验证。,数字签名与
39、消息认证区别: 数字签名与消息的真实性认证是不同的。消息认证是使接收方能验证消息发送者及所发信息内容是否被篡改过。当收发者之间没有利害冲突时,这对于防止第三者的破坏来说是足够了。但当接收者和发送者之间相互有利害冲突时,单纯用消息认证技术就无法解决他们之间的纠纷,此是需借助数字签名技术。,数字签名的原理 其详细过程如下: (1)发方A将原文消息M进行哈希(hash)运算,得一哈希值即消息摘要h(M); (2)发方A用自己的私钥K1,采用非对称RSA算法,对消息摘要h(M)进行加密E h(M),即得数字签名DS; (3) 发方A把数字签名作为消息M的附件和消息M 一起发给收方B; (4)收方B把接
40、收到的原始消息分成M和E h(M);,(5)收方B从中计算出散列值h(M); (6)收方B再用发方A的双钥密码体制的公钥K2解密数字签名DS得消息摘要h(M) ; (7)将两个消息摘要h(M)=h(M)进行比较,验证原文是否被修改。如果二者相等,说明数据没有被篡改,是保密传输的,签名是真实的;否则拒绝该签名。 这样就作到了敏感信息在数字签名的传输中不被篡改,未经认证和授权的人,看不见原数据,起到了在数字签名传输中对敏感数据的保密作用。,基于单向散列函数的数字签名,加密,链接,分开,比较,解密,h,在internet上传输,M,h (M),M,E h (M),h (M),h (M),加密用发送者
41、的 私钥k1,解密用公钥K2,E h (M),数字签名的要求 1、接受方B能够确认或证实发送方A的签名,但不能由或第三方伪造。 2、第三者C可以确认收发双方之间的消息传送,但不能伪造这一过程。 3、发送方和接受方都不能否认发出或收到的签名消息。 数字签名和手书签名的区别在于:手书签名是模拟的,因人而异,即使同一个人也有细微差别,比较容易伪造,要区别是否是伪造,往往需要特殊专家。而数字签名是0和1的数字串,极难伪造,不需专家。对不同的信息摘要,即使是同一人,其数字签名也是不同的。这样就实现了文件与签署的最紧密的“捆绑”。,数字签名分确定性数字签名和随机式数字签名。 确定性数字签名:其明文与密文一一对应,它对一特定消息的签名不变化。 随机式数字签名:根据签名算法中的随机参值,对同一消息的签名也有对应的变化。即 一个明文可能有多个合法的数字签名。,数字签名的作用 数字签名可以证明: (1)如果他人可以用公钥正确地解开数字签名,则表示数字签名的确是由签名者产生的。 (2)如果消息M是用散列函数h得到的消息摘要h(M),和消息的接收方从接收到的消息M/计算出散列值h(M/),这两种信息摘要相同表示文件具有完
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年重大事故隐患判定标准汇编
- 脊髓疾病患者的皮肤护理与保护
- 2026年环境小记者新闻采访与写作
- 2026年康复科出院后社区康复资源利用指南
- 2026年酒店住宿客人安全告知与温馨提示制度
- 绿色产品市场调查协议
- 风险投资2026年虚拟现实合作合同协议
- 品牌管理2026年知识产权许可协议
- 2026年社区生鲜超市线上线下融合运营模式
- 2027届高考语文考前指导
- 串串店加盟易合同范本
- 肿瘤化疗发展史全解析
- 2025年检察院书记员考试真题(附答案)
- 新闻编辑实践作业汇报
- 前庭大腺脓肿切开护理查房
- 电力拖动自动控制系统-运动控制系统(第5版)习题答案
- JG/T 355-2012天然石材用水泥基胶粘剂
- 合伙贷款合同协议书
- GB/T 2878.1-2025液压传动连接普通螺纹斜油口和螺柱端第1部分:斜油口
- 水库溃坝分析报告范文
- 中成药处方大全-仅作参考
评论
0/150
提交评论