python 密码学实验RSA加密解密自动生成密钥含交互界面

实验目的

(1) 帮助学生掌握RSA公钥系统的密钥生成、加密和解密过程, 能够利用所学过的编程语言, 熟悉RSA公钥加密算法流程与编程实现加密算法. 掌握编程实现实际问题中的方法, 提高解决问题的能力.

(2) 要求学生掌握算法的程序实现的方法,能应用密码算法的特点, 设计合适的交互界面, 并能正确实现应用编程.

(3) 要求学生掌握用规范的方法书写实验报告.

实验仪器设备/实验环境

(1) PC Windows操作系统, 使用python语言编程, 或者使用数学软件MATLAB、Maple编程.

RSA公钥密码原理

任务: Alice要求Bob将信息m用RSA方法加密传送回来.

(1) 密钥生成: Alice找到大素数p,q, 令n=pq, 取e>1满足, 再找d使得, 然后Alice将n, e作为加密密钥(公钥)发送给Bob, 这里p, q, d, 都是私钥, 要求保密, 用作解密;

(2) 加密: Bob 将明文m<n加密得到密文, 并将密文Em传送给 Alice;

(3) 解密: Alice收到后密文Em, 计算 , 恢复明文m.

实验内容

实验原理已包含实验内容, 下面所说的只是实验内容实现的难点和要点:

 设计输入密钥生成界面;

开始时明文可不用字符直接用数字.

代码:

import random
from tkinter import *
from tkinter.font import *
import tkinter.messagebox
import re


def is_sushu(Num):
    for i in range(2,int(Num**0.5)+1):
        if Num % i ==0:
            return False
    return True

def is_husu(a,b):
    if a > b:
        index=b
    elif a 

 代码执行:

python 密码学实验RSA加密解密自动生成密钥含交互界面_第1张图片

你可能感兴趣的:(Python,python,安全,算法,交互)