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.