सरल प्रतिस्थापन सिफर का परीक्षण

इस अध्याय में, हम विभिन्न तरीकों का उपयोग करके प्रतिस्थापन प्रतिस्थापन सिफर के परीक्षण पर ध्यान केंद्रित करेंगे, जो नीचे दिए गए यादृच्छिक तारों को उत्पन्न करने में मदद करता है -

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()

उत्पादन

आप आउटपुट को बेतरतीब ढंग से उत्पन्न स्ट्रिंग्स के रूप में देख सकते हैं जो यादृच्छिक सादे पाठ संदेश बनाने में मदद करता है, जैसा कि नीचे दिखाया गया है -

परीक्षण सफलतापूर्वक पूरा होने के बाद, हम आउटपुट संदेश देख सकते हैं Substitution test passed!.

इस प्रकार, आप व्यवस्थित तरीके से एक प्रतिस्थापन सिफर को हैक कर सकते हैं।