Advertisement
Guest User

Untitled

a guest
Jan 28th, 2020
93
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.65 KB | None | 0 0
  1. import random
  2.  
  3.  
  4. def messageGeneration():
  5.     messageArray = []
  6.  
  7.     for i in range(6):
  8.  
  9.         messageArray.append(random.randint(48, 122))
  10.  
  11.     print('Generated message as array', messageArray)
  12.  
  13.     messageAsString = ''
  14.  
  15.     for i in messageArray:
  16.  
  17.         messageAsString += chr(i)
  18.  
  19.     print('Generated message as String: ' + messageAsString)
  20.  
  21.     return messageArray
  22.  
  23.  
  24. def keyGeneration():
  25.  
  26.     sharedKey = random.getrandbits(24)
  27.     return sharedKey
  28.  
  29.  
  30. def encryption(sharedKey, messageArray):
  31.    
  32.     concatKey = ''
  33.     #String concatinates the key
  34.     for i in range(int(len(messageArray)/2)):
  35.  
  36.         concatKey += str(sharedKey)
  37.  
  38.     cryptoMessage = []
  39.     #Bitwise XOR between the individual characters in the message and the concat key
  40.     for i in messageArray:
  41.  
  42.         cryptoMessage.append(i ^ int(concatKey))
  43.  
  44.     return cryptoMessage
  45.  
  46.  
  47. def decryption(sharedKey, cryptoMessage):
  48.  
  49.     concatKey = ''
  50.     #String concatinates the key
  51.     for i in range(int(len(cryptoMessage)/2)):
  52.  
  53.         concatKey += str(sharedKey)
  54.  
  55.     message = []
  56.     #Bitwise XOR between the individual characters in the message and the concat key
  57.     for i in cryptoMessage:
  58.  
  59.         message.append(i ^ int(concatKey))
  60.  
  61.     return message
  62.  
  63.  
  64. key = keyGeneration()
  65.  
  66. cryptoMessage = encryption(key, messageGeneration())
  67.  
  68. postCryptoMessage = decryption(key, cryptoMessage)
  69.  
  70. print('Key: ', key)
  71. print()
  72. print('Crypto Message: ', cryptoMessage)
  73. print()
  74. print('Post crypto Message: ', postCryptoMessage)
  75.  
  76. message = ''
  77.  
  78. for i in postCryptoMessage:
  79.  
  80.     message += chr(i)
  81.  
  82. print('Post crypto message as String: ' + message)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement