Mám nadcházející zkoušku, kde mohu použít jednoduchou kalkulačku. Na některých vzorových otázkách nás požádají o XOR dvě hodnoty (pro kulatý klíč AES) a já vím, jak to napsat ručně, ale existuje nějaký jiný rychlejší způsob, protože zkouška je samozřejmě načasována.

Odpověď

Máte-li štěstí, definice „jednoduché kalkulačky“ může zahrnovat všechny negrafické kalkulačky. V takovém případě můžete použít Casio FX-115ES Plus, který obsahuje šestnáctkové a osmičkové základní režimy a má operátor XOR. Může pracovat se skupinami oktetů až do 32 bitů.

Pokud nemáte takové štěstí, je vaším nejlepším přítelem tabulka XOR. V závislosti na tom, kolik výpočtů musíte provést, může být velmi dobré vytvořit během zkoušky jeden na škrábanci. Může se vám dokonce stát, že si jeden s sebou vezmete.

Tabulka XOR 0

Měl jsem požadavek, aby tabulka XOR prováděla rychlé výpočty na tištěné knize kódů pro kryptograficky silnou komunikaci přes veřejný hlasový kanál. Rovněž to muselo být provedeno rychle bez použití počítače nebo jakéhokoli elektronického zařízení a muselo se to vejít na malý list 4×6 v prostoru pod ciphertextem.

Přišel jsem s několika metodami ke kondenzaci stůl a stále je použitelný. Pokud jste chytří a vynalézaví, znalosti, jak vytvořit zhuštěné verze, vám umožní velmi rychle provést mnoho výpočtů XOR. K hexadecimální tabulce XOR existuje rekurzivní vzor, který lze zneužít, výše uvedená tabulka je barevně označena tak, aby zobrazovala tento vzor, který sahá až k jednotlivým znakům. Zde jsou zhuštěné tabulky:

XOR tabulka 1

Zatímco výše uvedená tabulka zabírá méně místa, má stejné množství znaků a její vytvoření tedy trvá přibližně stejně dlouho. Pro výběr správných znaků je vyžadováno jednoduché pravidlo.

Tabulka XOR 2

Další úroveň nyní zabírá jak polovinu prostoru předchozí, tak polovinu postav. Pravidlo je složitější, ale díky několika minutám cvičení je jeho použití téměř stejně rychlé jako u plného stolu. I když lze pravidlo zjednodušit pomocí XOR, bude výsledek správný, pokud bude XOR výběru pravidel 1.

XOR Tabulka 3

Konečná úroveň je opět polovina prostoru a polovina znaků (téměř) jako předchozí, vyžaduje však další pravidlo, aby byla práce hotová. Pokud si pamatujete rekurzivní strukturu a základní rozložení této tabulky, můžete ji znovu vytvořit za minutu pomocí pera a papíru.

Začněte záhlaví vnitřního sloupce, nejprve okusujte; 0 1 2 3 4 5 6 7
Pak přidejte 2. nibble, což je první nibble + 8; 8 9 ABCDEF
Záhlaví vnějšího sloupce je záhlaví vnitřního sloupce s převrácenými polovinami
Záhlaví vnitřní řady je první polovinou záhlaví vnitřního sloupce
Záhlaví vnějšího sloupce je první polovinou vnějšího sloupce záhlaví
Poté vyplníte tabulku s rekurzivní strukturou vytvořenou ze záhlaví vnitřního sloupce.
Vytvoření dvojité komprimované tabulky vynechá vnější záhlaví, ale použije záhlaví celé řady.

Jeden příklad trojité tabulky:

25 XOR B6
2 XB = [2a] X [3b] (1 2 2) = 9
Protože 2 je první okusováním a B je druhým, použijeme 2. okusování z [19]
5 X 6 = [5d] x [ 6e] (1 1 1) = 3
Protože 5 je 1. okusováním a 6 je 1., použijeme 1. okusování z [3b]
Proto 25 XOR B6 = 93

Odpověď

Zkuste převést hexadecimální čísla na binární čísla a proveďte exkluzivní OR v každém bitu. Pak převeďte binární čísla zpět na hexadecimální čísla.

Komentáře

  • Navíc, protože 16 je přesně 2 ^ 4, můžete to udělat digitwise. To znamená, že nemusíte ' převádět celé číslo na binární najednou, můžete to udělat po jedné číslici, xor, a poté převést výsledek zpět na hex

Odpověď

xoring 2 bitů je snadný.
převod hexadecimální číslice na 4 bity je snadný.

Kombinace těchto dvou faktů by měla xoring jedné hexadecimální číslice docela usnadnit. Pokud si zapíšete tabulku pro každou číslici na binární (v měřeném testu, zda to stojí za to, nebo ne, záleží na počtu konverzí, které „budete muset udělat“), nebudete muset dělat žádný písemný výpočet opravdu. Například pro xor e a 3 je 1110 xor 0011, což je 1101, což je d. Pokud máte tabulku připravenou, je tento výpočet v zásadě okamžitý.

Nyní to opakujte pro všechny číslice. To lze provést číslicí, protože každá hexadecimální číslice vyjadřuje přesně 4 bity

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *