MCPcopy Create free account
hub / github.com/asweigart/PythonStdioGames / decryptMessage

Function decryptMessage

src/gamesbyexample/affinecipher.py:114–129  ·  view source on GitHub ↗

Decrypt the message using the key.

(key, message)

Source from the content-addressed store, hash-verified

112
113
114def decryptMessage(key, message):
115 """Decrypt the message using the key."""
116 checkKey(key, 'decrypt')
117 keyA, keyB = getKeyPartsFromKey(key)
118 plaintext = ''
119 modInvOfKeyA = findModInverse(keyA, len(SYMBOLS))
120
121 for symbol in message:
122 if symbol in SYMBOLS:
123 # decrypt this symbol
124 symIndex = SYMBOLS.find(symbol)
125 newIndex = (symIndex - keyB) * modInvOfKeyA % len(SYMBOLS)
126 plaintext += SYMBOLS[newIndex]
127 else:
128 plaintext += symbol # just append this symbol undecrypted
129 return plaintext
130
131
132def generateRandomKey():

Callers 1

mainFunction · 0.70

Calls 3

getKeyPartsFromKeyFunction · 0.85
findModInverseFunction · 0.85
checkKeyFunction · 0.70

Tested by

no test coverage detected