Security and Cryptography in Python - Attack on Caesar Cipher
2021-03-04 13:26
标签:rck att lse lan bre security shang letter this Crypto Rule #1(Kerckhoffs‘ Principle) Eve should not be able to break the ciphers even when she knows the cipher. Running result: Security and Cryptography in Python - Attack on Caesar Cipher 标签:rck att lse lan bre security shang letter this 原文地址:https://www.cnblogs.com/keepmoving1113/p/14352639.htmlSecurity and Cryptography in Python - Attack on Caesar Cipher
def generate_key(n):
letters = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
key = {}
cnt = 0
for c in letters:
key[c] = letters[(cnt + n) % len(letters)]
cnt += 1
return key
def get_decryption_key(key):
dkey = {}
for c in key:
dkey[key[c]] = c
return dkey
def encrypt(key, message):
cipher = ""
for c in message:
if c in key:
cipher += key[c]
else:
cipher += c
return cipher
# this is done by your enemy
key = generate_key(3)
print(key)
message = "YOU ARE AWESOME"
cipher = encrypt(key, message)
# this is us breaking the cipher
print(cipher)
for i in range(26):
dkey = generate_key(i)
message = encrypt(dkey,cipher)
print(message)
文章标题:Security and Cryptography in Python - Attack on Caesar Cipher
文章链接:http://soscw.com/index.php/essay/59998.html