RSA算法:生成密钥 口选择两个大素数p和q(典型值为大于 10100 口计算n=pxq和z=(p-1)x(q-1) 口选择一个与z互质的数,令其为d 口找到一个e使满足exd=1(modz) 口公开密钥为(e,n),私有密钥为(d,n)
RSA算法:生成密钥 选择两个大素数p和q(典型值为大于 10100) 计算 n=pq 和 z=(p-1) (q-1) 选择一个与 z 互质的数,令其为 d 找到一个 e 使满足 ed=1 (mod z) 公开密钥为 (e, n),私有密钥为 (d, n)
RSA算法:加密和解密 加密方法: o将明文看成是一个比特串,将其划分成一个 个数据块M,且有0<M<n 对每个数据块M,计算C=Me(modn,C即 为M的密文 解密方法: O对每个密文块C,计算M=C(modn),M即 为要求的明文
RSA算法:加密和解密 加密方法: 将明文看成是一个比特串,将其划分成一个 个数据块M,且有0≤M<n 对每个数据块M,计算C=Me (mod n),C即 为M的密文 解密方法: 对每个密文块C,计算M=Cd (mod n),M即 为要求的明文
RSA算法举例 密钥计算: o取p=3,q=11 o则有n=33,z=20 O7和20没有公因子,可取d=7 解方程7×e=l(mod20),得到e=3 o公钥为(3,3),私钥为(7,33 加密: o若明文M=4,则密文C=M(modn)=43(md33)=31 解密: O计算M=Cd(modn)=317(mod33)=4,恢复出原文
RSA算法举例 密钥计算: 取p=3,q=11 则有n=33,z=20 7和20没有公因子,可取d=7 解方程7×e=1(mod 20),得到e=3 公钥为(3, 33),私钥为(7, 33) 加密: 若明文M=4,则密文C=Me (mod n)=4 3 (mod 33)=31 解密: 计算M=Cd (mod n)=317 (mod 33)=4,恢复出原文
RSA:另一个重要的特性 这个特性在数字签名中将会很有用 K,((m))=m= Kp((m)) 先用公钥 先用私钥 再用私钥 再用公钥 结果相同! 8: Network Security 8-30
8: Network Security 8-30 RSA: 另一个重要的特性 这个特性在数字签名中将会很有用: K (K (m)) = m B B - + K (K (m)) B B + - = 先用公钥 再用私钥 先用私钥 再用公钥 结果相同!
RSA的特点 优点: o安全性好:RSA的安全性建立在难以对大数提取因子 的基础上,这是目前数学家尚未解决的难题 o使用方便:免除了传递密钥的麻烦 口缺点: o计算开销大,速度慢 RSA的应用: oRSA一般用来加密少量数据,如用于鉴别、数字签名 或发送一次性会话密钥等
RSA的特点 优点: 安全性好:RSA的安全性建立在难以对大数提取因子 的基础上,这是目前数学家尚未解决的难题 使用方便:免除了传递密钥的麻烦 缺点: 计算开销大,速度慢 RSA的应用: RSA一般用来加密少量数据,如用于鉴别、数字签名 或发送一次性会话密钥等