parent
face2412dd
commit
7a413ec7a2
@ -1,65 +0,0 @@
|
|||||||
from binascii import b2a_hex, a2b_hex
|
|
||||||
from Crypto.Cipher import AES
|
|
||||||
from binascii import b2a_hex, a2b_hex
|
|
||||||
from Crypto import Random
|
|
||||||
from Crypto.Util import Counter
|
|
||||||
import time
|
|
||||||
random_generator = Random.new()
|
|
||||||
IV = random_generator.read(8)
|
|
||||||
|
|
||||||
|
|
||||||
class aestest():
|
|
||||||
# ***********Begin**************
|
|
||||||
def __init__(self, key):
|
|
||||||
self.key = key.encode('utf-8')
|
|
||||||
|
|
||||||
def encrypt(self, text):
|
|
||||||
text = text.encode('utf-8')
|
|
||||||
ctr_e = Counter.new(64, prefix=IV)
|
|
||||||
aes = AES.new(self.key, AES.MODE_CTR, counter=ctr_e)
|
|
||||||
|
|
||||||
ctext = aes.encrypt(text) # 加密
|
|
||||||
|
|
||||||
return ctext
|
|
||||||
|
|
||||||
def decrypt(self, text):
|
|
||||||
text = text.encode('utf-8')
|
|
||||||
ctr_d = Counter.new(64, prefix=IV)
|
|
||||||
aes = AES.new(self.key, AES.MODE_CTR, counter=ctr_d)
|
|
||||||
plain = aes.decrypt(a2b_hex(text))
|
|
||||||
return plain
|
|
||||||
|
|
||||||
|
|
||||||
# ************End***************
|
|
||||||
|
|
||||||
def Evidence(text, key):
|
|
||||||
# 要求key长度为16
|
|
||||||
|
|
||||||
aes = aestest(key)
|
|
||||||
text = text.encode('utf-8')
|
|
||||||
T1 = time.time()
|
|
||||||
for i in range(100000):
|
|
||||||
enc = aes.encrypt(text)
|
|
||||||
T2 = time.time()
|
|
||||||
# print(T2-T1)
|
|
||||||
T_e = T2-T1
|
|
||||||
enc = b2a_hex(enc) # 字符串转换
|
|
||||||
T3 = time.time()
|
|
||||||
for i in range(100000):
|
|
||||||
detext = aes.decrypt(enc)
|
|
||||||
T4 = time.time()
|
|
||||||
# print(T4-T3)
|
|
||||||
T_d = T4 - T3
|
|
||||||
return T_e,T_d
|
|
||||||
|
|
||||||
# if __name__ == "__main__":
|
|
||||||
# # str1, str2 = input().split()
|
|
||||||
# # Evidence(str1, str2)
|
|
||||||
# test = {16:'1234567812345678',24:'123456781234567812345678',32:'12345678123456781234567812345678'}
|
|
||||||
# for b,str2 in test.items():
|
|
||||||
# T_e = Evidence('xyqshiyigedasgya', str2)[0]
|
|
||||||
# T_d = Evidence('xyqshiyigedasgya', str2)[1]
|
|
||||||
# print(str(b)+'位的加密时间是'+str(T_e)+" 它加密的数据是"+str2)
|
|
||||||
# print('它的加密效率是'+str(12.8/T_e)+' Mbps')
|
|
||||||
# print(str(b) + '位的解密时间是' + str(T_d))
|
|
||||||
# print('它的解密效率是' + str(12.8 / T_d) + ' Mbps')
|
|
Loading…
Reference in new issue