RSA算法的简单实现,RSA算法简单实现,#!/usr/bin/e
文章由Byrx.net分享于2019-03-23 07:03:07
RSA算法的简单实现,RSA算法简单实现,#!/usr/bin/e
#!/usr/bin/env python #-*-coding: utf-8-*- # author: "SK (skxiaonan@gmail.com)" # date: "Date: 2009/05/22 09:10:10" import math def isPrime(number): i=2 sqrtNumber=int(math.sqrt(number)) for i in range(2, sqrtNumber+1): if number%i == 0: return False i = i+1 return True if __name__=="__main__": print "*"*77 Flag = False while Flag == False: p = int(raw_input("Please input a prime(P): ")) Flag = isPrime(p) if Flag == False: print "What you input is not a prime!" print "The P is: ", p Flag = False while Flag == False: q = int(raw_input("Please input a prime(Q): ")) if p == q: continue Flag = isPrime(q) if Flag == False: print "What you input is not a prime!" print "The Q is: ", q n = p*q print "The N is: ", n t = (p-1)*(q-1) print "The T is: ", t print "*"*77 Flag = False while Flag == False: e = int(raw_input("Please input a number(E): ")) if (e<1 or e>t): continue d=0 while (((e*d)%t) != 1): d+=1 Flag = True print "The E is: ", e print "The D is: ", d print "The Public Key(E, N) is:", e, n print "The Private Key(D, N) is:", d, n print "*"*77 Flag = False while Flag == False: plainText = int(raw_input("Please input a plaintext: ")) if (plainText < n): Flag = True print "The plaintext is: ", plainText print "Encrypt"+"."*7 cipherText = (plainText**e)%n print "cipherText is: ", cipherText print "Decrypt"+"."*7 plain = (cipherText**d)%n print "The plain is: ", plain print "*"*77 if plainText == plain: print "RSA Test success." else: print "RSA Test unsuccess!"#该片段来自于http://byrx.net
相关内容
- Python 将DOC文档转换为PDF,,import sys,
- Django获取当前request,django当前request,django只能在vie
- python redis订阅发布示例代码,pythonredis,可以使用pip in
- 批量删除所下载的.git文件夹,批量删除.git文件夹,因经
- 自动查询数据,生成修改ldap密码文件,并自动在服务器
- Python 文件夹复制,python文件夹复制,#! /usr/bin/
- json 解析 天气api,jsonapi,# -*- coding
- 天翼开放平台免费短信验证码Python版SDK,pythonsdk,天翼开
- 获取网页内容,,import httpl
- 百度贴吧小爬虫.v0.1,百度贴吧爬虫.v0.1,Python语言: 百度
评论关闭