Cipher moltiplicativo
Durante l'utilizzo della tecnica di cifratura Caesar, la crittografia e la decrittografia dei simboli comporta la conversione dei valori in numeri con una semplice procedura di base di addizione o sottrazione.
Se la moltiplicazione viene utilizzata per convertire in testo cifrato, viene chiamata a wrap-aroundsituazione. Considera le lettere ei numeri associati da utilizzare come mostrato di seguito:
![](https://post.nghiatu.com/assets/tutorial/cryptography_with_python/images/associated_numbers.jpg)
I numeri verranno utilizzati per la procedura di moltiplicazione e la chiave associata è 7. La formula di base da utilizzare in tale scenario per generare una cifra moltiplicativa è la seguente:
(Alphabet Number * key)mod(total number of alphabets)
Il numero recuperato attraverso l'output viene mappato nella tabella sopra menzionata e la lettera corrispondente viene considerata come lettera crittografata.
![](https://post.nghiatu.com/assets/tutorial/cryptography_with_python/images/encrypted_letter.jpg)
La funzione di modulazione di base di un cifrario moltiplicativo in Python è la seguente:
def unshift(key, ch):
offset = ord(ch) - ASC_A
return chr(((key[0] * (offset + key[1])) % WIDTH) + ASC_A)
Note- Il vantaggio con un cifrario moltiplicativo è che può funzionare con chiavi molto grandi come 8,953,851. Ci vorrebbe molto tempo perché un computer eserciti la forza bruta attraverso una maggioranza di nove milioni di tasti.