Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import random
- def messageGeneration():
- messageArray = []
- for i in range(6):
- messageArray.append(random.randint(48, 122))
- print('Generated message as array', messageArray)
- messageAsString = ''
- for i in messageArray:
- messageAsString += chr(i)
- print('Generated message as String: ' + messageAsString)
- return messageArray
- def keyGeneration():
- sharedKey = random.getrandbits(24)
- return sharedKey
- def encryption(sharedKey, messageArray):
- concatKey = ''
- #String concatinates the key
- for i in range(int(len(messageArray)/2)):
- concatKey += str(sharedKey)
- cryptoMessage = []
- #Bitwise XOR between the individual characters in the message and the concat key
- for i in messageArray:
- cryptoMessage.append(i ^ int(concatKey))
- return cryptoMessage
- def decryption(sharedKey, cryptoMessage):
- concatKey = ''
- #String concatinates the key
- for i in range(int(len(cryptoMessage)/2)):
- concatKey += str(sharedKey)
- message = []
- #Bitwise XOR between the individual characters in the message and the concat key
- for i in cryptoMessage:
- message.append(i ^ int(concatKey))
- return message
- key = keyGeneration()
- cryptoMessage = encryption(key, messageGeneration())
- postCryptoMessage = decryption(key, cryptoMessage)
- print('Key: ', key)
- print()
- print('Crypto Message: ', cryptoMessage)
- print()
- print('Post crypto Message: ', postCryptoMessage)
- message = ''
- for i in postCryptoMessage:
- message += chr(i)
- print('Post crypto message as String: ' + message)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement