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:
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.
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.