Ho un prossimo esame in cui posso usare una semplice calcolatrice. Su alcune domande di esempio ci chiedono di XOR due valori (per la chiave tonda AES) e so come scriverlo a mano, ma cè un altro modo più veloce dato che lesame è a tempo, ovviamente.

Risposta

Se sei fortunato, la definizione di “calcolatrice semplice” può includere tutte le calcolatrici non grafiche. In tal caso, è possibile utilizzare un Casio FX-115ES Plus, che include le modalità base esadecimale e ottale e dispone di un operatore XOR. Può operare su gruppi di ottetti fino a 32 bit.

Se non sei così fortunato, la tabella XOR è la tua migliore amica. A seconda del numero di calcoli che devi eseguire, potrebbe essere più veloce crearne uno su un foglio di lavoro durante lesame. Potresti persino essere autorizzato a portarne uno con te.

XOR Table 0

Avevo un requisito per una tabella XOR per eseguire calcoli rapidi su un libro di codici stampato per una comunicazione crittograficamente forte su un canale vocale pubblico. Inoltre doveva essere fatto rapidamente senza luso di un computer o di qualsiasi dispositivo elettronico e doveva stare su un piccolo foglio 4×6 nello spazio sotto il testo cifrato.

Ho escogitato diversi metodi per condensare il tavolo e ancora utilizzabile. Se sei intelligente e pieno di risorse, la conoscenza di come creare le versioni condensate può consentirti di eseguire molto rapidamente molti calcoli XOR. Esiste un modello ricorsivo nella tabella XOR esadecimale che può essere sfruttato, la tabella sopra è codificata a colori per mostrare questo modello, che si estende fino ai singoli caratteri. Ecco le tabelle condensate:

XOR Table 1

Sebbene la tabella sopra occupi meno spazio, ha la stessa quantità di caratteri e quindi richiede circa la stessa quantità di tempo per la creazione. È necessaria una semplice regola per selezionare i caratteri corretti.

XOR Table 2

Il livello successivo ora occupa sia metà dello spazio del precedente, sia metà dei personaggi. La regola è più complessa, ma pochi minuti di pratica lo rendono veloce quasi quanto il tavolo completo. Anche la regola può essere semplificata con XOR, il risultato sarà corretto se lo XOR delle selezioni della regola è 1.

XOR Table 3

Il livello finale è ancora una volta metà dello spazio e metà dei caratteri (quasi) come il precedente, mentre richiede una regola aggiuntiva per portare a termine il lavoro. Se ricordi la struttura ricorsiva e il layout di base di questa tabella, puoi ricrearla in meno di un minuto con carta e penna.

Inizia con lintestazione della colonna interna, prima mordicchia; 0 1 2 3 4 5 6 7
Quindi aggiungi il secondo bocconcino, che è il primo bocconcino + 8; 8 9 ABCDEF
Lintestazione della colonna esterna è lintestazione della colonna interna con le metà invertite
Lintestazione della riga interna è la prima metà dellintestazione della colonna interna
Lintestazione della riga esterna è la prima metà della colonna esterna intestazione
Quindi riempi la tabella con la struttura ricorsiva, costruita dallintestazione della colonna interna.
La creazione della tabella a doppia compressione omette le intestazioni esterne ma utilizza unintestazione di riga intera.

Un singolo esempio sulla tabella tripla:

25 XOR B6
2 XB = [2a] X [3b] (1 2 2) = 9
Poiché 2 è il primo bocconcino e B è il secondo, usiamo il secondo bocconcino di [19]
5 X 6 = [5d] x [ 6e] (1 1 1) = 3
Poiché 5 è il primo bocconcino e 6 è il primo, utilizziamo il primo bocconcino di [3b]
Pertanto 25 XOR B6 = 93

Risposta

Prova a convertire i numeri esadecimali in numeri binari ed esegui OR esclusivi su ogni singolo bit. Quindi riconvertire i numeri binari in numeri esadecimali.

Commenti

  • Inoltre, poiché 16 è esattamente 2 ^ 4, puoi farlo in senso digitale. Cioè, non ' devi convertire lintero numero in binario contemporaneamente, puoi farlo una cifra alla volta, xor, quindi riconvertire il risultato in esadecimale

Risposta

xorizzare 2 bit è facile.
convertire una cifra esadecimale in 4 bit è facile.

La combinazione di questi 2 fatti dovrebbe rendere abbastanza facile xorizzare una singola cifra esadecimale. Se scrivi una tabella per ogni cifra in binario (in un test a tempo, se ne vale la pena o meno dipende dal numero di conversioni che dovrai fare), non dovrai fare alcun calcolo scritto veramente. Ad esempio per xor e e 3, è 1110 xor 0011 che è 1101 che è d. Se hai una tabella pronta, questo calcolo è praticamente istantaneo.

Ora ripeti questo per tutte le cifre. Questo può essere fatto per cifre poiché ogni cifra esadecimale risente esattamente di 4 bit

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *