基於Python的RSA加密實現

2021-10-14 01:52:05 字數 1509 閱讀 1458

rsa演算法的具體描述如下: [5]

(1)任意選取兩個不同的大素數p和q計算乘積 [5] ;

(2)任意選取乙個大整數e,滿足 ,整數e用做加金鑰(注意:e的選取是很容易的,例如,所有大於p和q的素數都可用) [5] ;

(3)確定的解金鑰d,滿足 ,即 是乙個任意的整數;所以,若知道e和,則很容易計算出d [5] ;

(4)公開整數n和e,秘密儲存d [5] ;

(5)將明文m(m(6)將密文c解密為明文m,解密演算法為 [5]

print()

a =int

(input

("請選擇模式:加密輸1,解密輸2\n"))

#選擇模式

text =

input

("請輸入要加密\解密的文件:\n"

)#輸入文件

output =

""#定義空字串

deflock

(text, output)

:#定義加密函式

key =

int(

input

("請輸入加密金鑰:"))

number =

int(

input

("請輸入n:"))

l =len(text)

for i in

range(0

, l)

:#這裡分別選取原text的第i字元轉為unicode編碼進行加密

p =chr(

pow(

int(

ord(text[i]))

, key)

% number)

output += p

print

(output)

pass

defunlock

(text, output)

:#定**密函式

key =

int(

input

("請輸入解密金鑰\n"))

number =

int(

input

("請輸入n\n"))

l =len(text)

for i in

range(0

, l)

: p =

chr(

pow(

int(

ord(text[i]))

, key)

% number)

output += p

print

(output)

pass

if a ==1:

#啟動函式

lock(text, output)

elif a ==2:

unlock(text, output)

else

:print

("輸入錯誤"

)finish =

input

("輸入任意字元結束"

)#防止視窗退出

PHP 運用rsa加密和解密例項

openssl genrsa out rsa private key.pem 1024 openssl pkcs8 topk8 inform pem in rsa private key.pem outform pem nocrypt out private key.pem openssl rsa ...

基於口令的加密解密實現

加密 建立sha1雜湊物件 messagedigest md messagedigest.getinstance sha1 雜湊金鑰 md.update password.getbytes 獲得des金鑰 deskeyspec dks new deskeyspec md.digest 獲得des加密...

php基於mcrypt的加密解密例項

php中自帶了相當多的加密的方法,這裡我們來看一下mcrypt擴充套件的使用方式。也是在工作中需要用這個東西加密訪問使用者的cookie的值,認真的學習了這個方面的內容。1.簡介 mcrypt是php的乙個擴充套件,完成了常用加密演算法的封裝。其實該擴充套件是對mcrypt標準類庫的封裝,mcryp...