CTF_打卡DAY12&DAY13

本文探讨了RSA密码体制的基本原理及应用,通过具体习题解析,深入理解RSA算法的加密与解密过程,包括参数选择、指数有效性验证等关键步骤。

跟着《深入浅出密码学——常用加密技术原理和应用》学

P163-169,P169-173,P174-193

第7章《RSA密码体制》

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

习题

7.1
假设RSA握手阶段的参数为两个素数p=41和q=17
(1)参数e1=32和e2=49中,哪个是有效的RSA指数?请验证你的选择。
解:
n=pq=4117
Ф(n)=(p-1)(q-1)=4016
∵gcd(e,Ф(n))=1
∴e2=49符合

7.2
请使用RSA算法对下面的系统参数进行加密和解密:
(1)p=3,q=11,d=7,x=5
n=pq=311
Ф(n)=(p-1)(q-1)=210
de=1 mod Ф(n)且gcd(e,Ф(n))=1
∴e=3符合
y=x^e mod n = 5^3 mod n =26
(2)p=5,q=11,e=3,x=9
n=5
11
Ф(n)=410
d
e=1 mod Ф(n)且gcd(e,Ф(n))=1
∴d=27
x=y^d mod n
y=14

### 使用Python 使用`requests`库可以方便地实现同时发送带有参数的GET和POST请求。以下是示例代码: ```python import requests # 发送GET请求 get_url = "https://example.com" # 替换为实际的URL get_params = {'get_param': 'ctf_get'} get_response = requests.get(get_url, params=get_params) print("GET请求响应:", get_response.text) # 发送POST请求 post_url = "https://example.com" # 替换为实际的URL post_data = {'post_param': 'ctf_post'} post_response = requests.post(post_url, data=post_data) print("POST请求响应:", post_response.text) ``` ### 使用Hackbar Hackbar是Firefox浏览器的一个扩展,用于测试HTTP请求。 1. 打开Firefox浏览器并安装Hackbar扩展。 2. 打开需要测试的网页。 3. 打开Hackbar,在URL栏输入目标URL。 4. 对于GET请求,在URL后面添加`?get_param=ctf_get`。 5. 对于POST请求,切换到POST模式,在POST数据框中输入`post_param=ctf_post`。 6. 分别点击发送按钮发送GET和POST请求。 ### 使用curl 使用`curl`可以通过命令行发送请求。 ```bash # 发送GET请求 curl "https://example.com?get_param=ctf_get" # 发送POST请求 curl -X POST -d "post_param=ctf_post" "https://example.com" ``` ### 使用Postman 1. 打开Postman应用程序。 2. 创建一个新的请求。 3. 对于GET请求,选择GET方法,在URL栏输入目标URL,并在Params中添加键值对`get_param`和`ctf_get`。 4. 点击发送按钮发送GET请求。 5. 创建另一个新的请求。 6. 对于POST请求,选择POST方法,在URL栏输入目标URL,在Body中选择`x-www-form-urlencoded`,并添加键值对`post_param`和`ctf_post`。 7. 点击发送按钮发送POST请求。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值