数字签名的基本概念 。数字签名的背景 ■政治、军事、外交、商业以及日常事务中经常遇到需要签名的场 合。传统的方式是采用手写签名或印章,以便在法律上能认证、 核准、生效。在电子世界里,人们希望通过某种方法来代替手写 签名,以实现对数字信息的签名
数字签名的基本概念 数字签名的背景 政治、军事、外交、商业以及日常事务中经常遇到需要签名的场 合。传统的方式是采用手写签名或印章,以便在法律上能认证、 核准、生效。在电子世界里,人们希望通过某种方法来代替手写 签名,以实现对数字信息的签名
数字签名的基本概念 。数字签名的特性 ()不可伪造性:除了签名者外,任何人都不能伪造签名者的合法 签名。 (2)认证性:接收者相信这份签名来自签名者。 (3)不可重复使用性:一个消息的签名不能用于其他消息。 (4)不可修改性:一个消息在签名后不能被修改。 (⑤)不可否认性:签名者事后不能否认自己的签名
数字签名的基本概念 数字签名的特性 (1)不可伪造性: 除了签名者外,任何人都不能伪造签名者的合法 签名。 (2)认证性:接收者相信这份签名来自签名者。 (3)不可重复使用性:一个消息的签名不能用于其他消息。 (4)不可修改性:一个消息在签名后不能被修改。 (5)不可否认性:签名者事后不能否认自己的签名
数字签名的基本概念 。数字签名方案的组成 ■一个数字签名方案包含:签名算法(signature algorithm)和验证 算法(verification algorithm)。 ■签名算法的输入是签名者的私钥sk和消息m,输出是对m的数字 签名,记为s=Sig(sk,m。 ■验证算法输入的是签名者的公钥pk,消息和签名s,输出是真 或伪,记为: 真当s=Sig(sk,m) Ver(pk,m,s)= 伪当s≠Sig(sk,m)
数字签名的基本概念 数字签名方案的组成 一个数字签名方案包含:签名算法(signature algorithm)和验证 算法(verification algorithm)。 签名算法的输入是签名者的私钥sk和消息m,输出是对m的数字 签名,记为s=Sig(sk, m)。 验证算法输入的是签名者的公钥pk,消息m和签名s,输出是真 或伪,记为: Sig( , ) Ver( , , ) Sig( , ) s sk m pk m s s sk m 真 当 伪 当
数字签名的基本概念 ·数字签名方案分类 ()按用途来分,数字签名可分为普通数字签名和具有特殊用途的 数字签名(如盲签名(blind signature)、不可否认签名(undeniable signature))、群签名(group signature))、代理签名(proxy signature) 等)。 (2)按是否具有消息恢复功能来分,数字签名可分为具有消息恢复 功能的数字签名和不具有消息恢复功能的数字签名。 (3)按是否使用随机数来分,数字签名可分为确定性数字签名和随 机化数字签名(randomized digital signature)
数字签名的基本概念 数字签名方案分类 (1)按用途来分,数字签名可分为普通数字签名和具有特殊用途的 数字签名(如盲签名(blind signature)、不可否认签名(undeniable signature)、群签名(group signature)、代理签名(proxy signature) 等)。 (2)按是否具有消息恢复功能来分,数字签名可分为具有消息恢复 功能的数字签名和不具有消息恢复功能的数字签名。 (3)按是否使用随机数来分,数字签名可分为确定性数字签名和随 机化数字签名(randomized digital signature)
RSA数字签名 ·参数与密钥生成: ■选取两个保密的大素数p和q。 ■计算n=pg,p(n)=(p-1)(q-1),其中p(n)是n的欧拉函数值。 ■随机选取整数e,1<e<p(n),满足gcd(p(n),e)=l ■计算d,满足de=1modp(n) ■公钥为(e,m),私钥为d。 。签名: ■对于消息m∈Zn,签名为s三m"modn 。验证: ■对于消息签名对(m,S),如果m≡s°modn,则s是m的有效签名
RSA数字签名 参数与密钥生成: 选取两个保密的大素数p和q。 计算n=pq, 𝝋 𝒏 = 𝒑 − 𝟏 𝒒 − 𝟏 , 其中 𝝋 𝒏 是n的欧拉函数值。 随机选取整数e, 1<e<𝝋 𝒏 ,满足gcd(𝝋 𝒏 ,e)=1 计算d,满足d·e≡1 mod 𝝋 𝒏 公钥为(e,n),私钥为d。 签名: 对于消息m∈Zn ,签名为 验证: 对于消息签名对(m, s),如果 ,则s是m的有效签名。 mod d s m n mod e m s n
RSA数字签名 。RSA数字签名方案的缺陷 ■任何人都可以伪造某签名者对于随机消息的签名5。其方法是 先选取s,再用该签名者的公钥(e,m)计算后se mod n。 ■如果敌手知道消息m和m2的签名分别是s1和S2,则敌手可以伪造 m1m2的签名s1S2,因为在RSA签名方案中,存在以下同态性质: (mm )d =mm;modn ■在RSA签名方案中,需签名的消息x∈Zn,所以每次只能对lg: 位长的消息进行签名。签名速度慢
RSA数字签名 RSA数字签名方案的缺陷 任何人都可以伪造某签名者对于随机消息m的签名s。其方法是 先选取s,再用该签名者的公钥(e, n)计算m≡s e mod n。 如果敌手知道消息m1和m2的签名分别是s1和s2,则敌手可以伪造 m1m2的签名s1 s2,因为在RSA签名方案中,存在以下同态性质: 在RSA签名方案中,需签名的消息x Zn,所以每次只能对 位长的消息进行签名。签名速度慢。 2 n lo g 1 2 1 2 ( ) mod d d d m m m m n