Hacking Secret Ciphers with Python

(Ann) #1

140 http://inventwithpython.com/hacking


Email questions to the author: [email protected]



  1. message = ''.join(message) # convert list to string



  2. print('Test #%s: "%s..."' % (i+1, message[:50]))




  3. Check all possible keys for each message.



  4. for key in range(1, len(message)):

  5. encrypted = transpositionEncrypt.encryptMessage(key, message)

  6. decrypted = transpositionDecrypt.decryptMessage(key, encrypted)




  7. If the decryption doesn't match the original message, display




  8. an error message and quit.



  9. if message != decrypted:

  10. print('Mismatch with key %s and message %s.' % (key,
    message))

  11. print(decrypted)

  12. sys.exit()



  13. print('Transposition cipher test passed.')






  14. If transpositionTest.py is run (instead of imported as a module) call




  15. the main() function.



  16. if name == 'main':

  17. main()


Sample Run of the Transposition Cipher Tester Program


When you run this program, the output will look like this:


Test #1: "KQDXSFQDBPMMRGXFKCGIQUGWFFLAJIJKFJGSYOSAWGYBGUNTQX..."
Test #2: "IDDXEEWUMWUJPJSZFJSGAOMFIOWWEYANRXISCJKXZRHMRNCFYW..."
Test #3: "DKAYRSAGSGCSIQWKGARQHAOZDLGKJISQVMDFGYXKCRMPCMQWJM..."
Test #4: "MZIBCOEXGRDTFXZKVNFQWQMWIROJAOKTWISTDWAHZRVIGXOLZA..."
Test #5: "TINIECNCBFKJBRDIUTNGDINHULYSVTGHBAWDQMZCNHZOTNYHSX..."
Test #6: "JZQIHCVNDWRDUFHZFXCIASYDSTGQATQOYLIHUFPKEXSOZXQGPP..."
Test #7: "BMKJUERFNGIDGWAPQMDZNHOQPLEOQDYCIIWRKPVEIPLAGZCJVN..."
Test #8: "IPASTGZSLPYCORCVEKWHOLOVUFPOMGQWZVJNYQIYVEOFLUWLMQ..."
Test #9: "AHRYJAPTACZQNNFOTONMIPYECOORDGEYESYFHROZDASFIPKSOP..."
Test #10: "FSXAAPLSQHSFUPQZGTIXXDLDMOIVMWFGHPBPJROOSEGPEVRXSX..."
Test #11: "IVBCXBIHLWPTDHGEGANBGXWQZMVXQPNJZQPKMRUMPLLXPAFITN..."
Test #12: "LLNSYMNRXZVYNPRTVNIBFRSUGIWUJREMPZVCMJATMLAMCEEHNW..."
Test #13: "IMWRUJJHRWAABHYIHGNPSJUOVKRRKBSJKDHOBDLOUJDGXIVDME..."
Test #14: "IZVXWHTIGKGHKJGGWMOBAKTWZWJPHGNEQPINYZIBERJPUNWJMX..."
Test #15: "BQGFNMGQCIBOTRHZZOBHZFJZVSRTVHIUJFOWRFBNWKRNHGOHEQ..."
Test #16: "LNKGKSYIPHMCDVKDLNDVFCIFGEWQGUJYJICUYIVXARMUCBNUWM..."

Free download pdf