ट्रांसपोज़ेशन सिफर का डिक्रिप्शन

इस अध्याय में, आप ट्रांसपोज़ेशन सिफर को डिक्रिप्ट करने की प्रक्रिया सीखेंगे।

कोड

ट्रांसपोज़ेशन सिफर को डिक्रिप्ट करने की बेहतर समझ के लिए निम्न कोड को देखें। संदेश के लिए सिफर पाठTransposition Cipher कुंजी के साथ 6 के रूप में लाया जाता है Toners raiCntisippoh.

import math, pyperclip
def main():
   myMessage= 'Toners raiCntisippoh'
   myKey = 6
   plaintext = decryptMessage(myKey, myMessage)
   
   print("The plain text is")
   print('Transposition Cipher')

def decryptMessage(key, message):
   numOfColumns = math.ceil(len(message) / key)
   numOfRows = key
   numOfShadedBoxes = (numOfColumns * numOfRows) - len(message)
   plaintext = float('') * numOfColumns
   col = 0
   row = 0
   
   for symbol in message:
      plaintext[col] += symbol
      col += 1
      if (col == numOfColumns) or (col == numOfColumns - 1 and row >= numOfRows - numOfShadedBoxes):
         col = 0 row += 1 return ''.join(plaintext)
if __name__ == '__main__':
   main()

व्याख्या

सिफर टेक्स्ट और उल्लिखित कुंजी दो मान हैं जिन्हें कॉलम स्वरूप में वर्णों को रखकर और उन्हें क्षैतिज रूप से पढ़कर रिवर्स तकनीक में सिफर टेक्स्ट को डिकोड या डिक्रिप्ट करने के लिए इनपुट मापदंडों के रूप में लिया जाता है।

आप पत्र को एक कॉलम प्रारूप में रख सकते हैं और बाद में संयुक्त या कोड के निम्नलिखित टुकड़े का उपयोग करके उन्हें एक साथ जोड़ सकते हैं -

for symbol in message:
   plaintext[col] += symbol
   col += 1
   
   if (col == numOfColumns) or (col == numOfColumns - 1 and row >= numOfRows - numOfShadedBoxes):
   col = 0
   row += 1
return ''.join(plaintext)

उत्पादन

ट्रांसपोज़ेशन सिफर को डिक्रिप्ट करने का प्रोग्राम कोड निम्नलिखित आउटपुट देता है -