python3 + 官方库rsa 实现加密,解密,签名

本文介绍了如何使用Python3和官方库rsa完成网络安全实验中的RSA加密、解密、签名及验证操作。实验要求包括计算d、实现加密解密和签名验证。在实际操作中,注意了消息值与p*q的关系,以及Python中不同进制字符串的转换问题。密码学是安全通信的基础,密钥的生成与管理是关键。
摘要由CSDN通过智能技术生成

0x00 前言

学校网络安全实验,虽然我对密码学真的不感冒,但是我们学院就是这么特别,网络工程也要学密码学,而且是几个学期反复教相同的东西,没错,就是你(XD university)。原理部分就下次再写了。

0x01 实验要求

实验要求1
给定素数p和q,公钥e,计算d
p=11; q=13; e=11; d=??
p=17; q=11; e=7;   d=??
p=5;   q=11; e=3;   d=??
实验要求2
根据自己计算出的公私钥对,以及p, q,设计程序,实现RSA的加密和解密
加密:输入明文、密钥,输出密文
解密:输入密文、密钥,输出明文
实验要求3
根据自己计算出的公私钥对,以及p, q,设计程序,实现RSA的签名和验证
签名:输入消息、密钥,输出签名消息
验证:输入签名消息、密钥,输出原文

0x02 代码与实现

1、计算d

def find_d(e, s):
    for d in range(s):  
        x = (e * d) % s
        if x == 1:
            return d

if __name__ == '__main__':
    p = input("what's your p ?")
    q = input("what's your q
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值