Decrypt the message using the key.
(key, message)
| 112 | |
| 113 | |
| 114 | def 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 | |
| 132 | def generateRandomKey(): |
no test coverage detected