RSA 非对称加密算法,公钥密码算法

应用于数字签名

1.过程
  • 发送者用其秘密密钥对邮件进行加密,建立一个 “ 数字签名 ”
  • 发送者通过公开的通信途径将签名和邮件一起发给接收者
  • 接收者在接收后使用发送者的公开密钥对签名进行解密
  • 如果计算的结果相同就通过了验证

数字签名有下述特点 :
( l) 接收者能够核实发送者对报文 的签名 ;
(2 ) 发送者事后不能抵赖对报文 的签名;
(3 ) 接收者不能伪造对报文的签名 。

2. 基本原理
  • 发送方 A 用其私有密钥 d 对报文摘要 M 进行运算,加密后形成密文 Erypt ( M , d) ,传送给接收方 B
  • 接收方 B 用己知 A 的公开密钥 e 对接收到的内容进行运算,得出解密结果 Drypt( Erypt(M ,d) ,e)
  • 除了发送方 A 以外没有人能拥有发送方 A 的私有密钥并产生出密文Erypt(M ,d) 。

3.RSA 系统

RSA是首个能同时用于加解密和数字签名的算法,易于理解和操作 。 可分为在这里插入图片描述

系统两种形式,后者为前者 的一种推广 。

1 . RSA (n,e) 系统
  • 随机选大的素数 p , q
  • 计算在这里插入图片描述
  • 再随机选 e , 并计算 d ,满足以下公式,则公钥为 ( e ,n ) ,私钥为 (d ,n )
  • 在这里插入图片描述gcd( e, ) = l
  • 设原文 为 m ( m < n ,否则把原文分成小于 n 的数据块) ,则加密后的密文c , 解密后的明文m , 分别如下:在这里插入图片描述
    在这里插入图片描述

参数选取原则应是 :
(p - q) 差不宜太小 ,
gcd( (p - l) ,(q - 1))不能太大
(p - l) 或 (q - l) 都应至少有一大素数因子

2 . RSA k 系统
  • 设有 k 个用户 。 随机选大素数 p , q 。计算
    在这里插入图片描述

  • 随机选 k 个正整数,即两两互素[外链图片转存失败,源站!可能有防盗shtps://imgblog.csyfELZxyh19ad82ba4c408b]]

  • 计算 di (l ≤ i ≤k ) , 使得 e l d l + e Z d : + … + e * d * 二 lm o d 汽

  • 假设原文信息为 m ,0≤m < n ,

  • 计算密文 e ‚

  • 将 k 维向量 ( c1,c2, , ,ck ) 作为 m 对应的密文

  • 解密后 的明文 m

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值