English 中文(简体)
Testing of Simple Substitution Cipher
  • 时间:2024-12-22

Testing of Simple Substitution Cipher


Previous Page Next Page  

In this chapter, we will focus on testing substitution cipher using various methods, which helps to generate random strings as given below −

import random, string, substitution
def main():
   for i in range(1000):
      key = substitution.getRandomKey()
      message = random_string()
      print( Test %s: String: "%s.."  % (i + 1, message[:50]))
      print("Key: " + key)
      encrypted = substitution.translateMessage(message, key,  E )
      decrypted = substitution.translateMessage(encrypted, key,  D )
      
      if decrypted != message:
         print( ERROR: Decrypted: "%s" Key: %s  % (decrypted, key))
         sys.exit()
      print( Substutition test passed! )

def random_string(size = 5000, chars = string.ascii_letters + string.digits):
   return   .join(random.choice(chars) for _ in range(size))
if __name__ ==  __main__ :
   main()

Output

You can observe the output as randomly generated strings which helps in generating random plain text messages, as shown below −

Strings

After the test is successfully completed, we can observe the output message Substitution test passed!.

Substitution

Thus, you can hack a substitution cipher in the systematic manner.

Advertisements