Symmetric
什麼是最弱的可能加密算法
我一直在創建一個 Capture The Flag 站點,我希望您必須破解加密算法來應對其中的挑戰。當然,我希望它是弱的,所以我想要那裡最弱的。一個需要密碼,它是對稱密鑰加密。一種可以在 20 分鐘或更短的時間內以最少的工作破解的方法。
一種選擇是使用vigenère cipher。例如,
let ciphertext = "this is my msg!!" + "passwordpassword" [0xe4, 0xc9, 0xdc, 0xe6, 0x97, 0xd8, 0xe5, 0x84, 0xdd, 0xda, 0x93, 0xe0, 0xea, 0xd6, 0x93, 0x85]
很難比這更簡單。密碼是密鑰——唯一需要的密鑰擴展步驟是一遍又一遍地重複密鑰。加密算法是加法(可選:使用 XOR)解密算法是減法(可選:使用 XOR)。
另一種選擇是使用凱撒密碼:
Cryptol> let alphabet = ['a'..'z'] # " " Cryptol> let ciphertext = [alphabet @ ((c-'a'+key) % 27) | c <- "this is my message"] where key = 't' Cryptol> ciphertext "apq yq yufyum iom"