公钥密码体制及RSA公钥加密算法(上)

一.公钥密码体制

(1)公钥(非对称)密码概述:

优点:免去密钥分发,密钥管理简单

(2)公钥加密的设计原则:

已知公私钥,进行加密解密是简单容易的

单向函数:一个函数f,对于定义域内的任意x,计算f(x)是简单的,然而对于f(x)求出x的值的大小是很困难的,即单向容易反向困难。

陷门单向函数:包含一组秘密信息(陷门)的特殊单向函数,若已知陷门信息时求逆时容易的。

(3)公钥加密的算法定义:

密钥生成算法KeyGen( · ) → (pk, sk):输出公私钥对

加密算法Enc(m, pk) → C:输入明文和公钥,输出密文

解密算法Dec(C, sk) → m:输入密文和私钥,输出明文

二.RSA公钥加密算法组成

1.算法概述:

RSA名字的由来:MIT三位年青学者Rivest,Shamir和Adleman在1978年发现的一种通过数论的方法构造双钥体制的方法,称作MIT体制,后来被称为RSA体制。

既可用于加密,又可用于数据签名

2.算法步骤:

(1)素性判断算法:选择两个大素数p,q。根据p和q的值的大小,n=pq,φ(n)=(p-1)(q-1)

(2)(伪)随机数产生算法:

公钥e的产生:随机选择e,e的范围为(1,φ(n)),gcd(e,φ(n))==1

私钥d的产生:ed=1modφ(n),d的范围为[0,n]

--------本步骤需要应用:互质判定(欧几里得算法),求乘法逆(扩展欧几里得算法)--------

(3)加密

 (4)解密

 流程图如下:

 

已知: Alice明文消息m=88,Bob私钥为23

解:

随机选取的值:e=7,n=187

加密过程:C=88^7 mod 187=11

解密过程:m=11^23 mod 187 =88

下篇:RSA解密正确性的分析,RSA公钥加密算法安全性的分析

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值