wivl / rsa.py

RSA 分组加密 Python 实现

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

rsa.py

简介

一个 rsa 加密算法的 python 实现

此仓库仅仅是加密算法实现的一次练习,请勿在任何重要场合使用此仓库进行加密和解密,否则,造成的后果将由使用者自己承担

使用方法

密钥生成

首先需要 private_keyprivate_key 文件,仓库中已提供生成好的密钥对,您也可以自己生成:

python3 key.py

默认生成 最大为 2048 位的 p 和 q,你也可以修改 key.py22 行的 KEY_LENGTH 值。注意:KEY_LENGTH 值为 2048 时在本机测试的时间开销在 7000s 左右,其中的素数判断使用的是 米勒-拉宾素性检验

加密

python3 main.py -e input.txt output.bin

其中 -e 表示 加密,input.txt 可以不指定,默认为读取 input.txt 文件,加密到 output.bin

或者使用仓库提供的示例 hamlet.txt:

python3 main.py -e hamlet.txt

解密

python3 main.py -d output.bin decrypted.txt

其中 -d 表示 解密,output.bin 可以不指定,默认为读取 output.bin 文件,解密到 decrypted.txt

帮助

使用

python3 main.py -h

获得帮助

About

RSA 分组加密 Python 实现


Languages

Language:Python 100.0%