RSA算法习题 (采用RSA算法,其中e=7,p=11,q=13,求出公钥和私钥,并求出明文85进行加密后的密文。)

这篇具有很好参考价值的文章主要介绍了RSA算法习题 (采用RSA算法,其中e=7,p=11,q=13,求出公钥和私钥,并求出明文85进行加密后的密文。)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1、采用RSA算法,其中e=7,p=11,q=13,求出公钥和私钥,并求出明文85进行加密后的密文。

2. 找出质数 P、Q

P=11

Q=13

3. 计算公共模数

N = P * Q = 143

4. 欧拉函数

Φ(N) = (P-1)*(Q-1) = 10 *12 = 120

5. 计算公钥E

1<E<φ(N)

所以1<E<120

E的取值范围{3,7,9,11,13,17,19,...,117,119}

E的取值必须和φ(N)互质

取7 因为题目说的取7:

E=7和φ(N)互为质数,满足条件

6. 计算私钥D

E * D % φ(N) = 1

7 * D % 120 = 1

可以求出D=2023

7. 公钥加密

C = ME%N

M= 85

E=7

N=143

C = 123

明文85加密之后就变成了123

8. 私钥解密

 M=CD%N

C = 123

D = 2023

N = 数字太大就不算出来了

2、采用RSA算法,其中p=5,q=7,d=29。求公开密钥和私有密钥,并求出使用e对明文LOVE加密后的密文为多少?

1. 找出质数 P、Q

P=5;q=7

2. 计算公共模数

N = P * Q = 35

3. 欧拉函数

Φ(N) = (P-1)*(Q-1) =24

4. 计算公钥E

1<E<φ(N)

所以1<E<24

E取7

5. 计算私钥D

D=29

6. 公钥加密

取LOVE分别为(不区分大小写) 12 15 22 5

C = ME%N

M= 12 或 15 或 22 或5

E=7

N=35

C = 33 或 15 或 8 或 5

所以在字母中所对应的字母分别为:

I O H E

所以LOVE加密后的密文为 IOHE

  1. 使用维吉尼亚密码进行加密,明文为welcomeeverybody,给出密钥字为bestwish,推算出该明文对应的密文。

密文为:xidvkuwlwijrxwvf

维吉尼亚密码是在凯撒密码基础上产生的一种加密方法,它将凯撒密码的全部25种位移排序为一张表,与原字母序列共同组成26行及26列的字母表。另外,维吉尼亚密码必须有一个密钥,这个密钥由字母组成,最少一个,最多可与明文字母数量相等。维吉尼亚密码加密方法示例如下:

明文:I've got it.

密钥:ok

密文:W'fs qcd wd.

可以根据下图进行加密

RSA算法习题 (采用RSA算法,其中e=7,p=11,q=13,求出公钥和私钥,并求出明文85进行加密后的密文。)文章来源地址https://www.toymoban.com/news/detail-484379.html

到了这里,关于RSA算法习题 (采用RSA算法,其中e=7,p=11,q=13,求出公钥和私钥,并求出明文85进行加密后的密文。)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 怎么验证公钥和私钥是一对

    公钥和私钥都是一串字符,长得也没有什么关联性,那么当拿到一个公钥和一个私钥后怎么验证它们两个是一对呢?先说说为什么会有这个疑问,最近在对接一些SDK时经常需要做签名和验证签名的工作,双方要相互提供公钥来完成后续的身份验证,测试过程中生成了多个密钥

    2024年02月04日
    浏览(75)
  • 【Android】查看keystore的公钥和私钥

            查看前准备好.keystore文件,安装并配置openssl、keytool。文件路径中不要有中文。 1.从keystore中获取MD5证书 2.导出公钥文件   输入完成后回车,会提示输入一次密码,输入密码后回车,就能生成cer文件了。 3.转换成pem证书 4.查看公钥 输入指令,回车后输入密码,再回

    2024年01月24日
    浏览(60)
  • 使用 OpenSSL 扩展来实现公钥和私钥加密

    首先,你需要生成一对公钥和私钥。可以使用 OpenSSL 工具来生成: 1、生成私钥 2、从私钥生成公钥: 现在你有了一个私钥( private_key.pem )和一个对应的公钥( public_key.pem )。下面是如何在 PHP 中使用它们进行加密和解密: 3、检测是否支付OPENSSL,或用phpinfo(); 上述代码中,

    2024年02月03日
    浏览(59)
  • 有一个3行4列的矩阵,编程求出其中最大

    任务描述 相关知识 二维数组的定义 二维数组的引用 二维数组的初始化 编程要求 测试说明 任务描述 本关任务:有一个3行4列的矩阵,编程求出其中最大的那个元素的值,以及它所在的行号与列号。 相关知识 二维数组的定义 在实际问题中有很多变量是二维的或多维的,因此

    2024年02月07日
    浏览(53)
  • jdk 中的 keytool 的使用,以及提取 jks 文件中的公钥和私钥

    这里暂时只需要知道如何使用就可以了。 首先是生成一个密钥, 解释一下这里的选项, -alias 密钥对的名称 -keypass 密钥密码 -validity 有效期,这里是以天为单位 -storepass 存储库的密码 -keystore 指定生成的密钥文件存放的位置,这里的  fanyfull.jks  表示的是当前目录下的  fan

    2024年02月08日
    浏览(61)
  • C语言实现:从sm2 PEM文件中提取公钥和私钥因子

    快速链接: . 👉👉👉 个人博客笔记导读目录(全部) 👈👈👈 付费专栏-付费课程 【购买须知】: 密码学实践强化训练–【目录】 👈👈👈 我们知道使用openssl命令行从国密sm2的pem中提公钥私钥因子的命令行如下: openssl ec -in sm2_test_priv.pem -text -noout 从私钥pem提取私钥 openssl

    2024年02月11日
    浏览(51)
  • openssl3.2 - 检查rsa证书和私钥是否匹配(快速手搓一个工具)

    在学习openssl官方的/test/certs的脚本实现, 做到第30个脚本实验时, 发现根CA证书和key不匹配. 估计做实验时, 遇到脚本需要的文件, 就随便拷贝一个同名的文件过来, 导致证书和key不是一个脚本产生的, 所以不匹配 就想从前面的实验中, 找出匹配的证书和key来做实验, 肯定有啊. 这事

    2024年01月24日
    浏览(63)
  • 有一个m行n列的矩阵,编程求出其中值最大的那个元素,以及其所在的行号和列号。

    【题目描述】 有一个m行n列的矩阵,编程求出其中值最大的那个元素,以及其所在的行号和列号。(如果最大数有多个,则显示第一个出现的数据的信息)。 【输入】 有多行。第1行是两个整数,m(m≤10)和n(n≤10),分别表示矩阵有m行n列。接下来是m行整数,每行n个整数

    2024年02月12日
    浏览(61)
  • RSA公钥加密体制

    1.RSA密钥生成算法 密钥生成算法为用户生成加解密算法中使用的公私密钥对,分为以下几个步骤:         (1)选取两个安全大素数p和q(“大”指其长度要足够,目前推荐长度至少1024比特长);         (2)计算乘积n=p*q,(n)=(p-1)(q-1),其中(n)为n的欧拉函数;         (

    2024年02月05日
    浏览(61)
  • 【openssl】RSA 生成公钥私钥 |通过私钥获取公钥

    通过博客:Window系统如何编译openssl 编译出openssl.exe(位于apps文件夹下)。 现在需要使用它获得公钥私钥、通过私钥获取公钥 目录 说明!!! 一.定位openssl.exe目录 二、进入命令cmd 三、生成私钥 四、已知的私钥替换模板私钥 五、通过私钥生成公钥 a.生成公钥私钥:跳过第四

    2024年02月04日
    浏览(65)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包