The Dynamic Transposition Combiner


Szyfr przestawienia z Rzekomy Przypadkowym Szuraniem: Dynamiczny

Terry Urządzenie sprzęgające Przestawienia Ritter

ADRES: Jean Błękitu Oprogramowanie, 2609 Choctaw Śladu, Austin, Teksas 78745..

ABSTRAKCYJNY Rozszerzenia są zrobione, by klasa przestawienia szyfr bazował dalej kontynuowany szuranie. Te szyfry permutują plaintext do ciphertext przez zamienianie każdego elementu wiadomości z jakimś elementem wiadomości wybranym na chybił trafił; elementy mogą być charakterami (np., bajty) lub kawałki.

Rozszerzenia zawierają działanie na bardzo dużych blokach danych, kryptograficznych szurających odmianach i skutecznym wydobyciu plaintext od ciphertext. Ponadto, wybrane dodatkowe dane mogą zostać przyłączone do plaintext, by wyeliminować dane zależny słaby encipherings inaczej wrodzony w przestawieniu. Te balansowanie kawałków dane ma zupełnie wyeliminować wszystkie normalne dane użytkowanie częstości od kawałek przestawienie ciphertext.

Ten samym mechanizm może również zostać obejrzeć jako kryptograficzne urządzenie sprzęgające i, z do-blokiem pasmem i przekształceniami zablokujesz-do-pasma, może ogólnie zastąpić WYŁĄCZNY-LUB łączenie funkcji użyło w Vernam szyfrach strumienia.

LISTA SŁOWA KLUCZOWEGO: kryptografia, kryptografia komputera, szyfr, szyfr bloku, permutacja, przestawienie, dynamiczne przestawienie, urządzenie sprzęgające, kryptograficzne urządzenie sprzęgające, mikser, shuffle, dane rozważające, rozważający kawałka

WPROWADZENIE

Ten papier rozciąga istniejący kryptograficzny mechanizm, który może zostać opisany, jako dynamiczne przestawienie. Ten mechanizm łączy dwa źródła danych do złożonego skutku; jedno źródło danych jest zgromadzone do bloku i drugi jest użyty, by odnośnie-zaplanować ten blok. Związany odwrotny mechanizm może ekstrahować zakumulowane dane od tego skutku.

Jakaś forma przestawienia wydawałaby się wymagać jakiejś akumulacji danych. Od akumulacji danych i serialization jest łatwy z nowoczesną technologią, dynamiczne przestawienie może zostać użyte, by zastąpić Vernam WYŁĄCZNY-LUB urządzenie sprzęgające w szyfrach strumienia. Różne techniki używane w Vernam szyframi mogą również zostać odnieść się do dynamicznego przestawienia; jakaś kryptograficzna zaleta wynikającego szyfru jest w ten sposób z powodu dodatkowej siły nowego urządzenia sprzęgającego.

Ten papier rozwija szczególną formę dynamicznego przestawienia; związany papier rozwija formę dynamicznej substytucji. Zalety formy przestawienia zawierają interesujący poziom sekretu w wynikającym ciphertext i wirtualnej eliminacji znaczących statystycznych pomiarów analizy. Te korzyści są nabyte za cenę jakiegoś wrodzonego wzrostu w wysiłku przetwarzania i potrzebie szyfrowania danych w blokach zamiast indywidualnych charakterów.

TŁO

Dla ogólnego tła w cryptology widzą Kahn, [14,]i dla szczegóły na klasycznych systemach i ich analizie widzą Gaines, [12]. Bardziej nowoczesnym statystycznym podejściom dano przez Sinkov, [26,] i Deavours, [7]. Dobra częściowo-techniczna antologia jest Deavours et. al. [6]. Jest miły ale starszy przegląd przez Mellen, [19,], główny wysiłek przez Diffie i Hellman, [9,]i nowy jeden przez Massey, [18,] (również zobacz inne papiery w tym zagadnieniu). Surowe ale nie zawsze przydatne teoretyczne niegodziwe początki z Shannon, [25,] i jest rozciągnięty przez Hellman, [13]. Stosunkowo nowoczesne techniczne odniesienie jest Beker i Kobziarz 1982, [1,], chociaż ogólnie więcej wstępny Beker i Kobziarz 1985, [2,] jest głównym odniesieniem dla tego papieru i odtąd jest zwany B & P 85.. Denning [8] i Pfleeger, [23,] obecna kryptografia w szerszym kontekście zabezpieczanie komputerów zagadnień.

PRZESTAWIENIE odnośnie-porządki szyfru przestawienia lub permutuje plaintext elementy do ciphertext, [12, 26]. Jeżeli pojedyncze przestawienie może zostać przemyślane z jako prosta wymiana w pozycjach dwóch elementów, to jest najprostsza forma permutacji; ponadto jakaś możliwa permutacja może zostać zbudowana (w wielu innych drogach) z pasmami przestawienia. Permutacja została użyta dla całych szyfrów (głównie wewnątrz era działań szkicujesz-i-papieru)i, w ograniczonej formie, jest ciche w powszechnym użyciu wewnętrzne sieci substytucja permutacji, [11,] z rodzaju, od którego USA Standard Szyfrowania danych, [np., 21,] jest zbudowany.

Najbardziej poprzednie opisy przestawienia lub szyfry permutacji ogólnie dotyczyły szprycować lub statyczne permutacje. Jakkolwiek B & P 85, [2,] naprawdę daje podstawę dla dynamicznych permutacji, w zmyśle, że każda ogólna permutacja niedawno jest utworzona (jedno przestawienie jednocześnie) przez kontynuujące rzekomy przypadkowe pasmo. (Do pewnego stopnia, papier przez Costas, [3,]i komentarze przez Klingler, [15,] i Costas, [4,] uprzedza trochę tej pracy.) Chociaż określony w B & P 85, to znaczy, że każdy blok jest prawdopodobny być permutowany różnie, obojętnie, którym jak wiele bloków tam nie jest (w granicach rozsądku). Ponadto dynamiczne mechanizmy przestawienia mogą zostać zmuszone, by poradzić bardzo duże bloki, jak również dynamiczne zmiany w wielkości bloku.

PROSTY DYNAMICZNY PRZESTAWIENIE

B & P 85, [2, s. 97,] i Klingler, [15,] opisuje szyfrujące bloki używające dobrze znane dane szurają algorytm, [10, 16, s. 139]. Proces shuffle idzie przez blok danych, przez-elementu elementu i wymienia każdy element z jakimś elementem wybrał na chybił trafił. W ten sposób jakiś oryginalny element może wić się gdzieś w bloku. W jednym przepustka, jakiś szczególny element jest gwarantowany, by zostać wymieniony co najmniej raz, prawdopodobnie może wymieniony dwa razy, ale właściwie jest wymieniony więcej często. Jakiś rodzaj rzekomy przypadkowego pasma zakłopotania jest oczywiście potrzebowany dla każdej operacji dewizowej.

Czas wykonania procesu shuffle (we wprowadzeniu oprogramowania) jest ogólnie proporcjonalny do numeru elementów szurniętych. W konsekwencji, algorytm shuffle nie daje nas, by szyfrować plaintext w częściach małych bloków żadnemu szczególnemu powodowi. I, odkąd złożoność skutku wydawałaby się wzróść z numerem elementów w jakiejś szczególnej permutacji, jest silna motywacja, by użyć dużych bloków. Faktycznie w większości wypadków, każda wiadomość mogłaby prawdopodobnie zostać szyfrowana jako pojedynczy duży blok lub nawet pasmo zmienna wielkość, jeszcze pokaźna, bloków; proces shuffle bierze o tej sam ilości pracy jakkolwiek zorganizowanej.

PRAWDOPODOBIEŃSTWA PRZESTAWIENIA

Matematycznie, kryptograficzny proces przestawienia wygenerowuje permutację danych wejścia; to jest, dane po prostu odnośnie układane. Algorytm shuffle jest dogodnym sposobem zbudowania jednego z wielu możliwych odnośnie-przygotowań na chybił trafił. Jak wiele możliwych przygotowań są? Sądźmy, że blok ma n inne elementy; pierwszy element może zostać umieszczony w n możliwych miejscach, drugim w (n - 1), trzeci w (n - 2) i tak dalej, dla sumy (n)(n - 1)(n - 2)...(1)lub n! (n factorial) możliwości. Tak prawdopodobieństwo dostawania poprawne odcyfrowywanie na chybił trafił wydawałoby się być 1 z n!. To bardzo zachęca, odkąd factorials może wydać jakieś naprawdę nadzwyczajne wartości. Na przykład blok 64-elementu byłby rozważony raczej drobno, lecz prawdopodobieństwo poprawnie odcyfrowywania takiego bloku na chybił trafił wydawałoby się być 1 z 64!lub około 1 w 10 ^ 89..

Niestety zwykła sytuacja jest nieco więcej kompleksem, odkąd blok danych nie jest ograniczony, by mieć tylko jedno zdarzenie jakiejś szczególnej wartości danych. Ale kiedy są wielokrotne zdarzenia tej sam wartości, to pewnie nie może mieć znaczenia, które z tych idzie, w której pozycji odcyfrowując. Tak wielokrotne permutacje odwrotności są, że każdy wygenerowuje poprawne odcyfrowywanie (chociaż większość tych nie wyda żadnych informacji około, jak był blok permutowany). Jest k! inne permutacje, które doprowadzają do tego sam odcyfrowywania dla k zdarzeń jakiejś szczególnej wartości. W konsekwencji, są (k1!)(k2!)...(ki!) równoważny decipherings, dla ki zdarzeń każdej wartości. Tak prawdopodobieństwo dostawania jeden z poprawnego decipherings jest produktem (k1!)(k2!)...(ki!) sumy n! możliwy decipherings (dla wielkość bloku n). Zauważ, że wszyscy z wyjątkiem jeden z poprawnego decipherings reprezentują niepoprawną permutację, tak nawet jeśli poprawne odcyfrowywanie jest znane, uważanie szczególna permutacja za zamieszana powinno być nadzwyczaj trudne.

Przypuśćmy tam są 26 innymi charakterami w bloku 26-elementu; jest 26! (około 4 x 10 ^ 26) inne sposoby permutowania tego bloku. Odkąd każdy element jest inny może być tylko jeden poprawny odcyfrowujący, więc jest tylko jedna szansa w 10 ^ 26 ze znajdowania tej permutacji na chybił trafił. Ale, jeżeli 26 charakterów w bloku będzie taką sam wartością, żadna permutacja jakiegoś rodzaju nie spowoduje jakiejś oczywistej zmiany. W związku z tym nie jest żadnym sposobem schowania bloku podobnych wartości danych z czystym szyfrem przestawienia.

Realizacja, która kryptograficzna siła przestawienia zależy od danych, by zostać szyfrowany jest zarówno niespodziewana i poważna komplikacja. To wydaje się tylko rozsądny, że szyfr powinien być w stanie ochronić jakieś możliwe pasmo plaintext danych. Na przykład jeden użytkownik może zechcieć szyfrować kod komputera komputera i inny może zechcieć szyfrować obrazy grafiki. Takie ukierunkowane komputerowo dane mogą być bardzo złożone, jeszcze nadal zawrzeć długie łódź podwodną pasma identycznych wartości. To zależy od systemu szyfru, by poradzić te pasma w silnym sposobie. Klasyczne przestawienie nie może zrobić tego.

SZURAJĄC PRAWDOPODOBIEŃSTWA

Od jednego punktu widzenia, szurający proces przerabia pasmo zakłopotania do szyfrującej permutacji. Wiemy, że jest n! takie permutacje w bloku n kawałka, ale jak wiele pasm zakłopotania są?

Pasmo zakłopotania musi wybrać jeden z elementów bloku n jako "partner wymiany" dla każdego elementu w bloku. W związku z tym są n możliwości dla pierwszego partnera, n znów dla drugiego i tak dalej, dla sumy (n)(n)...(n) lub n ^ n możliwe inne wybór pasma. Ale jest tylko n! możliwe permutacje, więc każda szyfrująca permutacja jest utworzona około (n ^ n / n!) inne pasma, średnio.

Sądźmy, że szuramy ten same blok 26-elementu. Potrzebujemy 26 rzekomy przypadkowych wartości, każdy, z który wybiera jeden z 26 możliwych elementów bloku; jest 26 ^ 26 takich pasm, około 6 x 10 ^ 36 z nich. Ale jest tylko 26! szyfrując permutacje (około 4 x 10 ^ 26), tak około 1.5 x 10 ^ 10 (15 miliard) inne pasma utworzą każdą permutację. A więc nawet jeśli poprawna permutacja jakoś jest znana, znajdując szczególne rzekomy przypadkowe pasmo, które utworzyło to, powinien być nadzwyczaj trudny.

DYNAMICZNY SZYFR PRZESTAWIENIA

Rozważają szurający bajtu szyfr bloku: plaintext będzie zebrany do bloku, wtedy kierownik będzie iść przez blok, przez-bajt bajt, wymieniając każdy bajt z "partnerem" którego bajty wybrały przez generator liczb losowych. Dla kryptograficznych celów to może być rozsądne, by uogólnić proces shuffle: na przykład, to jest niepotrzebne, by odwiedzić bajty w następnym porządku, ani potrzebuje szurającym zatrzymaniem po dokładnie mija, [15,], o ile odcyfrowujący system podąża podobne reguły.

Dane częstości (bajtu) listu są oczywiście niezmienione przez szurający proces. Ale dane dystrybucji częstości nie wydają się pomóc odcyfrowywaniu prawie tak dużo jak oni zrobiliby to na prostym szyfrze substytucji. Blokiem przestawieniem ciphertext mógłby zostać w porównaniu ze zbiorem dachówek alfabetu: szczególna wiadomość może zostać zbudowana od tych charakterów, ale, gdy tylko oni wracają do pudła przechowywania, jak ktoś może zdecydować co szczególna wiadomość, którą oni raz reprezentowali? Faktycznie nieuporządkowane listy na ich własnym nie mogą reprezentować każdego szczególna wiadomość; zamiast tego, oni oznaczają wszystkie możliwe wiadomości, które mogą zostać zrobione od nich.

Właściwie odkąd wiadomość ma być poprawnym gramatycznym przykładem, z poprawnie literowanymi słowami, na oczekiwanym temacie, który dokładnie przykrywa ciphertext listy, cryptanalysis może właściwie nie być niemożliwy. Normalna cryptanalytic technika dla szyfrów przestawienia składa się z uzyskiwania dwóch wiadomości tej sam długości, oba, który przypuszczalnie jest permutowany w tej sam drodze. Około anagramming oba wiadomości wewnątrz ta sam droga, poprawna permutacja jest znaleziona kiedy oba wiadomości przeczytały wyraźnie, [14, s. 225-226]. Trochę pomoc jest dostępna w formie list digram i rachunków trójznaku, które mogą poprzeć szczególne odwrotne przestawienie około wskazujące obecność statystycznego plaintext, [13, s. 402]. Ale dynamiczne przestawienie nie potrzebuje wygenerować jakichś podobnych permutacji, nawet dla kolejnych bloków podobnej wielkości.

Ponieważ charakter lub urządzenie sprzęgające przestawienia bajtu może dostarczyć dobry występ tylko podane blok zawierający inne wartości, to mogłoby być przydatne, by umieścić Vernam system (WYŁĄCZNY-LUB działanie z rzekomy przypadkowym strumieniem) przed przestawienie wprowadzaniem danych. W ten sposób plaintext dane mogłyby "potrzebować ustalony losowo" i w ten sposób "nigdy" nie doprowadzić do strumienia identycznych wartości, które załatwiałyby polubownie siłę przestawienie encipherment.

ODCYFROWUJĄC DYNAMICZNY PRZESTAWIENIE

B & P 85, [2, s. 93-96,] opisuje multi-wkraczać do procesu jawnie definiowania permutacja, znajdując odwrotnych i wtedy permutujący ONZ blok zgodnie z odwrotną permutacją. To może surprising, że jest łatwiejszym sposobem.

Szurający proces nie niszczy żadnych danych; elementy są tylko repositioned. Wartości zamieszane w jakąś szczególną wymianą mogłyby łatwo zostać zastąpione, po prostu przez wymienianie ich znów, jeżeli te wartości nie zostałyby przesunięte przez późniejsze przetwarzanie. Tak ostatnia para wymieniona może zostać wymieniona z powrotem do ich poprzednich pozycji. Gdy tylko ta para została zastąpiona, następna poprzednia para może być rozpięta i tak dalej. W ten sposób, odcyfrować szurnięte dane, dokładny same pary elementu potrzebują tylko zostać wymienione w kolejności odwrotnej.

Podczas szyfrowania, para wymiany ogólnie jest wybrana przez ladę lub inny proces i rzekomy przypadkową wartość. Jest wystarczająco łatwo przebiegnąć ladę w odwrotności lub pożądany numer wartości mógłby zostać zebrany w buforze i wtedy po prostu został wchodzony w odwrotnym paśmie; rzekomym przypadkowe pasmo może "zostać odwrócone" w tej sam drodze. To, pod że warunkiem, że cały informacja potrzebowała dla odcyfrowywania. (W praktyce, bardzo długie pasma mogą zostać wyświadczony przysługą około pisząc napełnione bufory do pliku dyskowego; plikiem zgromadzone bufory mogą łatwo zostać odzyskane dla użycia w kolejności odwrotnej.) KAWAŁKIEM-UJAWNIĆ DYNAMICZNE PRZESTAWIENIE

Wewnątrz tę sam drogą tak listami lub bajty mogą zostać szurnięte, indywidualne kawałki, [2, s. 93,] może również zostać szurnięty. W ten sposób elementy jakiegoś szczególnego charakteru lub bajt mógłby zostać rozciągnięty w całym ciphertext. Odkąd jakiś szczególny kawałek wygląda znacząco jak jakieś inne, jak cryptanalyst ma się wybrać te kawałki, które należą do jakiegoś szczególnego plaintext bajtu? Oczywiście cryptanalyst nie musi znaleźć szczególnych kawałków odpowiadających szczególnemu bajtowi, odkąd jakiś kawałek danej wartości jest dokładnie tym samym jako jakieś inne. Ale to również znaczy, że może nie być żadnym sposobem powiedzenia, których kawałków bycie całością.

Bajt równe dane częstości są zniszczone przez permutację kawałek poziomu; jedyne dane kawałek poziomu są zostawione. cryptanalyst może znać jak dużo i jak wiele zer tam są w bloku (ci są tym samym jako w oryginalnym plaintext), ale to nie wydaje się pomóc dużo. Od faktycznie jakaś wiadomość może zostać zbudowana od tych kawałków, jak cryptanalyst ma się wybrać poprawny jeden?

Jedna interesująca implikacja kawałek poziomu operacje dewizowe są, że oni są często nieefektywni. Kiedy wartości bajtu są wymieniane, dokładny same wartość "jest wymieniona" (dla zerowego netto efektu) około jednego razu w 256 (zakładanie równej dystrybucji). Ale, pracując nad kawałkami, inny kawałek jest dokładnie tym samym o pół czas, dla żadnego netto efektu i kiedy kawałki są inne, wymienianie ich po prostu zmienia oba kawałki. Chociaż pół z operacji dewizowych nie będzie mieć żadnego efektu, numer efektywnych kawałek zmian jest nadal na tym sam porządku jak numerze kawałków (dwa kawałki zmieniają się na każdej efektywnej wymianie). I, jeżeli to obraca się nie wystarczyć, każdy blok mógłby dodatkowo zostać szurnięty, może dwa razy lub więcej. W końcu, jakieś kawałki mogą zawsze pozostać niezmieniony, inni będą zmienieni, kiedy nadal inni są zmienieni i są zmienieni z powrotem znów.

PRAWDOPODOBIEŃSTWA MAŁEGO BLOKU

Sądzą, że kontynuujemy pracowanie, z że same mały blok 26 charakter elementów, każdego, z którego zakładamy, by mieć 5 kawałków (może Baudot kodowanie); w ten sposób blok zawiera 130 kawałek elementów. Mogą być wielokrotne zdarzenia jakichś charakterów w bloku, gdyby nie kawałek równa analiza to jest nieistotny. Sądźmy, że mamy równy numer i zera (najlepszy możliwy przypadek), 65 z każdego: Odkąd jakiś jeden kawałek mógłby zastąpić dla jakiegoś innego jednego kawałka i jakichś substytutów zero kawałka dla jakiegoś innego zero kawałka, wtedy byłby (65!)(65!) odcyfrowując permutacje, z 130! możliwy.

Bezpośrednia ocena wyrażeń w tych sposób jest daleko poza zdolnościami naukowego kalkulatora lub większości języków komputera. Ale można zbudować takie numery w logarytmicznej formie i raz do kloców używamy dodatku i odejmowania zamiast mnożenia i podziału. Dla factorials 65! i 130!, chcemy sumę kloców całości 2 przez 65 i 2 przez 130, odpowiednio. Są przybliżenia dla kloc factorial, ale z komputerem (i dla wartości tu), to jest prawdopodobnie około jak łatwo dodać klocami jawnie.

Przez właściwie robienie każdego kloca i sumy dostajemy ln(65!) = 209.34 i ln(130!) = 506.13, w przyblizeniu. Te wartości są interpretatorami lub władzami e (bazy naturalnych logarytmów)i prowadzą do skutków zbyt dużych (lub mały) ocenić. To wydaje się rozsądny, by zmienić się do bardziej-znajomej bazy 2, żeby mogliśmy pomyśleć, że o tych ogromnych wartościach jako numer kawałków to bierze, by reprezentować ich. Rozwidlając się przez ln(2) = 0.6931, dostajemy log2(65!) = 302.01 i log2(130!) = 730.19; ci interpretatorzy w ten sposób reprezentują jakieś dwójkowe wartości, które są 303 i 731 kawałkami, długo, odpowiednio.

Dla bloku 130-kawałka, 130 ^ 130 lub około 2 ^ 913 możliwych pasm zakłopotania wygeneruje 130! lub 2 ^ 730 możliwych szyfrujących permutacji: numer możliwych permutacji jest ogromny i to chowa plaintext. Około (65!)(65!) lub 2 ^ 604 innych permutacji będzie szyfrować plaintext blok do szczególnego ciphertext bloku: numer odcyfrowywania permutacji jest ogromny i to chowa poprawną permutację (nawet od znanego plaintext). Średnia 130 ^ 130 / 130! lub około 2 ^ 183 innych pasm utworzy jakąś szczególną permutację: numer możliwych pasm jest ogromny i to chowa jakieś szczególne pasmo (nawet od znanej permutacji). W ten sposób, klasyczne ataki zwierzęcej siły i wiedziany plaintext wydawałyby się być złymi sposobami spenetrowania dynamicznego przestawienia.

Pozornie inne podejście byłoby stopniowo plaintext atak, odkąd to mógłby (jeżeli reszta systemu nie zapobiega tego) odnosić sukces w budowaniu kompletnego opisu szczególnej szyfrującej permutacji. Oczywiście to znaczyłby, że cryptanalyst miał, że plaintext już (naprawdę, wygenerowywał plaintext), więc atak byłby na rzekomy przypadkowym paśmie. Ale 2 ^ 183 innych pasm mogło utworzyć tę permutację (i te pasma są rozprowadzone między 2 ^ 913 możliwych pasm), więc wydawaliby się nie być żadną drogą dla cryptanalyst, by wybrać poprawny jeden.

EFEKTY BLOKOWANIA,

Jeżeli cały dane, by zostać szyfrowany i odcyfrowany są już w formie bloków, wtedy każdy blok jest (oczywiście) już pełny i może po prostu zostać sprawować się jako część. Ale kiedykolwiek zmienne ilości danych mają być szyfrowane jako bloki, ostatni blok jest nieprawdopodobny, by zupełnie zostać napełniony i nieużywany obszar musi wtedy zostać napełniony lub jest wyściełany, [21,] z dodatkowymi danymi. Średnio, pół bloku wyściółki jest wymaganego dla każdej wiadomości, w ten sposób rozszerzając ciphertext; to jest motywacja dla ograniczania wielkości bloku. To nie może być szczególnie znaczną motywacją, jakkolwiek, rozważającą ilość danych, które mogą łatwo zostać zgromadzone i szybko są zakomunikowane przez komputer i wyściółka jest niepotrzebna kiedy ocenione na zmiennej "bloki" są dostępne.

Bardziej znaczna komplikacja jest, że jakaś wyściółka musi być jakąś drogą wybitną od plaintext danych, żeby to mogło zostać usunięte w odcyfrowywaniu. Ogólnie, szczególna wartość danych nie może zostać użyta jako separator, ponieważ "dwójkowe" dane (takim jak kodem przedmiotu komputera) mogą zostać szyfrowane i takie dane mogą zawrzeć każdą możliwą wartość bajtu. Konwencjonalne rozwiązanie ma zawrzeć jakiś rodzaj wartości długości wraz z wyściółką, która wtedy jest usunięty z wyściółką odcyfrowywanie.

Inna komplikacja blokowania danych, co najmniej dla dynamicznego przestawienia, jest, że wielkość bloku definiuje zasięg wartości potrzebny na "przypadkowy numer" wejściu (jak również numer wartości wymagał). W ten sposób, jeżeli dynamiczne przestawienie ma zaakceptować zmienne wielkości bloku, przypadkowy zasięg numeru musi być w stanie przykryć arbitralną wielkość bloku. I nawet szprycować bloki wielkości, jeżeli oni są duzi, może wymagać dość dużego przypadkowego zasięgu numeru. Na przykład 256 bloku kilobajtu zawiera 2,097,152 kawałków, które sugeruje 21-kawałka przypadkową wartość, by wybrać między nimi. Szuranie tego bloku wymaga 2,097,152 z tych wartości 21-kawałka (i około 6 megabajtów tymczasowej pamięci dyskowej, aby odwrócić to pasmo odcyfrowywanie).

W pierwszym spojrzeniu, to wydaje się rozsądny, by powędrować z przypadkowymi danymi, odkąd to powinien pomóc zaciemnić dane w bloku. Ten pomysł może zostać rozciągnięty: Zamiast zupełnie napełniania każdego bloku (oprócz ostatniego) z danymi wiadomości, każdy blok może zamiast tego częściowo zostać napełniony z plaintext danymi i wtedy jest wyściełany z przypadkowe dane, [22]. Naturalnie to przyczyny jakaś ciphertext ekspansja, ale przypadkowe dane powinny pomóc rozpuścić pozostałe dane kawałka i dane kawałka wydają się być jedynymi danymi lewymi.

STATYSTYCZNIE-PŁASKI SZYFROWANIE

Ale zamiast tylko mienia nadziei, że przypadkowe dane gładko wydalanie danych kawałka, kroki mogą zostać wzięte, by gwarantować ten skutek. W szczególnym, numer jednych kawałków i zerem kawałków w plaintext danymi może właściwie zostać policzony. Wtedy wiadomość może zostać rozciągnięta (lub blok zaokrąglił się) z nielosowymi danymi, aby zbalansować dystrybucję kawałka dokładnie. (Oczywiście moglibyśmy umyślnie zmienić kawałek bilans nieco od bloku do bloku.) Po szurającym kawałka powiększoną wiadomość, wydaje się być bardzo mało statystyczną informacją częstości lewą: żadne dane słowa, żadne dane listu i żadne dane kawałka. Jeżeli jakaś statystyczna relacja pozostaje, które mogłoby pomóc w wejściu, to nie jest na pewno czyste co, które mogłoby być.

Z danymi rozważającymi, najlepsza możliwa sytuacja dla szyfrem przestawienia może zostać gwarantowana. Bloki, które mogłyby być wszystkimi tymi lub wszystkie zera mogą zostać zbalansowane i są szyfrowane w silnym sposobie; bez rozważania, to byłoby niemożliwe dla przestawienia, by dostarczyć jakiś stan liczebny wojska szyfrujący takich bloków. I, kiedy normalny blok (nie ciężko obciążyła jedna droga lub inne) nie może wydać się potrzebować dodatkowej siły, takie bloki również wymagają tylko ilości minimum rozważania.

Rozważający Kawałka naprawdę powoduje jakąś ciphertext ekspansję (może 25% do 33% na plikach tekstu). Naturalnie ta ekspansja mogłaby głównie zostać wyeliminowana, jeżeli dane wejścia miałyby równą dystrybucję kawałka i dobra dystrybucja mogłaby zostać narzucona przez mijanie danych przez Vernam system przed przestawieniem. Kolejno nowoczesne przetwarzanie kompresji danych może zmniejszyć wielkość typowych plików tekstu do 60% zdumiewającej chwili równocześnie poprawiającego ich dystrybucję wartości. Kolejna ekspansja z powodu końcowy rozważający kawałka powinna być mniej niż 10% z wynikającego mniejszego pliku. W ten sposób, jeżeli ekspansja danych jest problemem, że problem może zostać zarządzony (w jakimś wydatku); w wielu przypadkach, skromna ilość danych ekspansja nie jest problemem.

Fakt, że siła przestawienia może teraz zostać gwarantowana, niezależny danych wejścia, jest bardzo znaczny. Bez takiej gwarancji, to mogłoby być konieczne, by monitorować wejście do wzorca przestawienia i robiło specjalne zaopatrzenia dla zmiennego szyfrowania kiedy silnie wichrowane dane są spotkane. Z gwarancją siły, wzorzec przestawienia może stać samotnie i radzi jakieś arbitralne pasmo danych przed mijaniem tego wzdłuż do innego wzorca.

Rozważający Kawałka również dostarcza podstawę dla analizy siły wynikającego szyfru. Odkąd każdy blok ma zostać zbalansowany, każdy blok powinien mieć te sam możliwości permutacji: jedna permutacja jest poprawna, inni są niepoprawni ale nadal odcyfrowują blok i inni są po prostu niepoprawni.

STATYSTYCZNIE-PŁASKI BLOKI pracowanie z blokami, jest jakaś trudność z decydowaniem, jak wiele przestrzeni odejść dla rozważającego kawałka. Dobra dystrybucja mogłaby potrzebować tylko trochę dodatkowych danych, by osiągnąć dokładny bilans, ale jakieś plaintext pasma mogłyby być wszystkimi tymi lub wszystkimi zerami i ci wymagaliby tyle samo balansowania danych jako plaintext dane.

Przez liczenie kawałków danych napełniając blok, potrzebujemy tylko zostawić przestrzeń dla dokładnie numer bajtów potrzebował dla kawałka- wynagrodzenia. Ale musi być jakimś sposobem odizolowania i usunięcie kawałek wynagrodzenia kiedy odcyfrowuje. Jedna droga mogłaby mieć stawać do danych kawałek wynagrodzenia, najmniej używany typ kawałka (zupełnie zera lub zupełnie-bajtów), wstecz z końca bloku. To kontynuuje, dopóki rachunki kawałka nie będą w bajcie bilansu. Wtedy dokładny bilans może zostać osiągnięty z pojedynczym bajtem zawierającym co najmniej jeden kawałek najbardziej używanego typu kawałka. Ponieważ poprzednie rozważające bajty zawarły tylko najmniej używany typ kawałka, ostatni rozważający bajt jest kontrastowym bajtem.

To znaczy, że pierwszy bajt (od daleko koniec) to jest kontrastowa wartość jest również identyfikowalnym ostatnim bajtem (od daleko koniec) danych kawałek wynagrodzenia. W ten sposób, obszar kawałek wynagrodzenia może być, ponieważ duży lub mały, ponieważ potrzebowany i potrzebuje nie być żadnym specjalnym kodem lub policzyć, by wytyczyć to. Ponadto wszyscy z wyjątkiem jeden z kawałków minimum dwóch balansującego bajty może uczestniczyć w rozważaniu. Odkąd większość dystrybucji danych będzie potrzebować co najmniej dwa rozważające bajty poza tym, średnia powyżej dla definiowania rozważającego obszaru danych (poza tym wymaganym dla prostego rozważania) wydawaliby się być mniej niż jednym bajtem. Ta samym technika może zostać odnieść się do ogromnych lub dynamicznie-zmiennych bloków i jakieś dodane obliczenie może doprowadzić do podobnych wyników dla kompletnych permutacji wiadomości.

Wszystkie szyfry naprawiłeś-ocenisz-bloku, które popierają dane zmiennej długości, potrzebują mechanizmu dla wyściełania ostatniego bloku. Ale, jeżeli kawałek- wynagrodzenie już jest poparte, można kawałek-rozważyć napełniona porcja ostatniego bloku i wtedy kompletny blok z szczególnymi wyważonymi kawałkiem wartościami bajtu. Po odcyfrowaniu, pochodząc z końca bloku, wszystkie szczególne wyważone kawałkiem wartości bajtu mogą zostać opuszczone. Wtedy, jeżeli są zupełnie-lub bajty zupełnie zer, oni mogą również zostać opuszczony, wraz z następnym bajtem (które jest kontrastowym bajtem). W ten sposób ten sam mechanizm, który jest użyty, by wytyczyć kawałek wynagrodzenie, może również usunąć wyściółkę co mało lub żaden dodatkowy koszt.

NUMERYCZNY SEKRET

Dla skromnego bloku 512 bajtów przez 8 kawałków (wielkość pojedynczy MSDOS logicznego sektora dysku) wielkość bloku jest 4096 kawałkami. (W rzeczywistości będzie minimum dwóch bajtów bilansu, więc jest w większości 4080 kawałków danych i może właściwie być wielu mniej.) Zakładając równą dystrybucję kawałka (które możemy teraz narzucić), są (2048!)(2048!) decipherings 4096! możliwe permutacje. W klocach, ln(2048!) = 13571.95 i ln(4096!) = 29978.65; tak są o e ^ 29979 lub 2 ^ 43250 możliwych permutacji, 43251-kawałka dwójkowa wartość i tylko jedna z tych permutacji jest "poprawny" . (W zwykłych okresach, "wielu" inne permutacje byłyby "czytelnie blisko," ale w porównaniu do numerów w tych sposób, te możliwości blade do insignificance.) całkowita liczba odcyfrowywania permutacji jest e ^ 27143 lub 2 ^ 39160, 39161-kawałka dwójkowa wartość; tak znajdując, że ta poprawna permutacja wydawałaby się być trudnym zadaniem. I przeciętny numer pasm, które tworzą jakąś szczególną permutację, jest e ^ 4091 lub 2 ^ 5902, 5903-kawałka dwójkowa wartość. Oczywiście zamiast 1/2 K (bajt) bloków, moglibyśmy dobrze zrobić całe pliki 10K, 100K lub może nawet 350K w długości.

Te obliczenia prawdopodobieństwa mają dziwny charakter inny świata do nich. Kiedy skutki naprawdę sugerują rodzaj podstawowego sekretu dla dynamicznego samego mechanizmu przestawienia, oni nie sugerują, że szyfr używający ten mechanizm jest koniecznie pewny; jakiś szyfr jest tylko tak pewny jak jego najsłabszy związek. Zasadniczo te skutki są przydatne tylko po to, by powiedzieć, że wyczerpujące poszukiwanie permutacji i pasm, dla nawet skromny (poprawnie zbudował) blok, jest zupełnie niemożliwe. Wtedy, jeżeli żadna inna część szyfru nie ma łatwego "skrót" ataku, [21, s. 137,], szyfr może być pewny w praktyce.

Prosty wzorzec szyfru w ten sposób właściwie może być dużo bardziej wartościowy niż złożony, dla to może w końcu być możliwe, by zrozumieć jego dokładne ograniczenia i wtedy odpowiedzieć tym ograniczeniom zupełnie w innych wzorcach. Chociaż to jest eleganckie mieć pojedyncza złożona struktura radzi wszystkie aspekty sekretu, takie systemy zwykle nie mogą zupełnie zostać zrozumiane w głębokim sposobie. Na przykład było podejrzenie DES "backdoor" dla ponad dekadą i wielkie kroki zostać wyprodukowane w faktoryzowaniu dużych numerów jak ci użyli w RSA. Rozsądna alternatywa jest wyborem prostych mechanizmów, które mogą głęboko zostać zrozumiane.

Zauważ, że permutacja shuffle bloku 512-bajtu wymaga 512 12-kawałka rzekomy przypadkowych wartości. W ten sposób, szyfrować 4096 kawałków potrzebujemy 49,152 rzekomy przypadkowych kawałków, dla "strumień klucza" ekspansji 12:1.. Od Vernam szyfruj potrzebuje tylko pojedynczego przypadkowego kawałka, by szyfrować każdy kawałek danych, szuranie dynamicznego przestawienia jest zobaczone, by stosunkowo wymagać przypadek- numer zasobu. Ale ekspansja tego zasobu może być tylko małą częścią kosztu kompletnego cryptosystem i to, co to kupuje, jak dobrze pójdzie, jest kryptograficzna siła.

Przestawiając wyważone kawałkiem bloki naprawiłeś-wielkości--każdy z dokładnie ta sam długość i z dokładnie ten sam numer jednych kawałków i zero kawałków--w jakimś zmyśle jest tylko jeden blok i wszyscy nasze inne ciphertext bloki są tylko permutacjami tego same rdzennego wyważonego bloku. Ponadto wszyscy wynagrodzone przez kawałek plaintext bloki i wszystek możliwy decipherings są tylko innymi permutacjami tego same prymitywnego bloku. Różny decipherings zawiera wszystkie możliwe wyważone kawałkiem wiadomości, które będą pasować blok, zawierając ogromny numer przypadków, w których wiadomości różnią się tylko w ich decydujących słowach. Wydawaliby się nie być żadną drogą dla cryptanalyst, by odróżnić poprawną wiadomość od wszystkiego możliwego decipherings. Tak metody zwierzęcej siły wydawałyby się być bezużyteczne, jak również niepraktyczny.

TESTY, które dynamiczne urządzenie sprzęgające przestawienia może zostać rozważone, by być czarnym pudłem, z dwoma portami danych wejścia ("Dane W" i "Przypadkowy W")i jeden port produkcji ("Urządzenie sprzęgające"). Ponieważ wielkość bloku może zmienić się, "Przypadkowy W" zasięg musi również zmienić się. Najwyraźniej mechanizm wewnątrz pudło w jakiejś drodze łączy dwa wejście spływa, by doprowadzić do strumienia produkcji. To wydaje się rozsądny, by analizować produkcję statystycznie, dla różnych strumieni wejścia.

Dla tych testów, "Dane W" strumień był pokaźny plik tekstu (rozdziałem książki) z wszystkimi przestrzeniami i interpunkcja usunęła i niższy przypadek zmienił się do górnego, zostawiając alfabet 26-elementu 18,135 dużej litery.

MIARY LOSOWOŚCI czarne skutki testu pudła mogą zostać streszczone w formie standard "delta IC" [20,]i "Z współczynnika" [7, 17,] obliczenia. W obu przypadkach, liczymy numer zdarzeń każdej wartości elementu w strumieniu analizowanym.

Indeks zbiega okoliczności (IC) jest konceptualnie "sumą kwadratów" (elementu liczy) "ponad kwadratem sumy" (lub całkowity rachunek); IC jest znormalizowany do delty IC przez mnożenie przez wielkość alfabetu. Delta IC wartości 1.0 wskazuje przypadkową dystrybucję.

Phi wartość jest konceptualnie "sumą kwadratów rachunków elementu" i "oczekiwana" wartość Phi i statystyczna wartość niezgodności mogą zostać wyprowadzone dla przypadkowego strumienia danych. Z współczynnik jest tylko różnicą między faktycznymi i oczekiwanymi Phi wartościami, znormalizowanymi przez rozwidlanie się przez niezgodność. Wartość 0 byłoby oczekiwany i wartość pośrodku -2 i 2 byłby najbardziej prawdopodobny dla przypadkowego pasma.

Skutki są streszczone w Stole 1..

Stół 1..

TRANSPOSITION DISTRIBUTION STATISTICS (delta IC / Z-coefficient)

Data In Random In Combiner Out

The Data are 26-Letter Text

Byte Transposition 1.66 / 1684 1.00 / -0.9 1.61 / 1593

Bit Transposition 1.66 / 1684 1.00 / 1.8 1.32 / 257.5

Bit Balanced Trans. 1.66 / 1684 1.00 / 0.8 1.00 / -0.2

The Data are One Value Repeated

Bit Balanced Trans. 26.0 / 36199 1.00 / 1.0 1.00 / 0.8

Najwidoczniej wyważone kawałkiem przestawienie kawałka tworzy produkcję z dobrymi przypadkowymi cechami, nawet kiedy wprowadzanie danych jest tylko powtórzoną stałą wartością. (Jeżeli wprowadzanie danych jest przypadkowe, wtedy wyraźnie wynikający blok musi również być przypadkowy, nawet jeśli przypadkowe wejście jest stałą wartością.)

TEORETYCZNY SEKRET

Ogólnie, może oczekuje się, że tylko kryptograficzne urządzenie sprzęgające po to, by wzrośnie (jednak znacznie) złożoność cryptanalysis. Niemniej jednak, wyważone kawałkiem dynamiczne kawałek przestawienie wydaje się mieć jakieś interesujące cechy.

Jeżeli wyważony kawałkiem ciphertext blok niesie informację, to robi tak tylko w jego przygotowaniu kawałka i trochę wyważony kawałkiem blok może oczywiście odnośnie układany do jakiegoś innego. Od jakiejś wiadomości możemy prawdopodobnie szyfrować musi doprowadzić do jednego lub bardziej balansuje przez kawałek ciphertext bloki, jakiś ciphertext blok może oczywiście odnośnie układany do jakiejś części jakiejś możliwej wiadomości; zupełnie, chyba że jeden z tych jest znaczącym fałszywym rozwiązaniem lub "podrobionym odcyfrowaniem wiadomości" [13, s. 290]. Hellman definiuje numer podrobionych odcyfrowania wiadomości jako nm i pisze: "Jeżeli nm przyjmuje duże wartości z prawdopodobieństwem blisko jednego, wtedy system będzie dawać gwarancję nawet jeśli cryptanalyst jest pozwolony nieograniczonym obliczeniem." cryptanalyst wydawałby się być niezdolny, by powiedzieć, któremu o wszystkich możliwych blokach wiadomości został wysłany.

Szyfrując blok z szurającym kawałka sugerować istnienie jakiegoś rodzaju pasma zakłopotania, które może, siebie być spenetrowany; jeżeli pasmo zakłopotania mogłoby zostać analizowane i zostałoby powielone, szyfr byłby rozbity. Wsiadając na taki atak, pierwszy problem cryptanalyst's miałby określić poprawną odcyfrowującą permutację. Nawet dokładna kopia oryginalnego plaintext bloku wydawałaby się być mało pomocy: jest mnóstwo odcyfrowywać-ale-niepoprawnych permutacji (zbyt dużo, by próbować ich wszyscy), z najwidoczniej żaden sposób zidentyfikowania poprawny jeden. (Hellman nazywa to "podrobione odcyfrowanie klucza".) następny problem cryptanalyst's miałby zidentyfikować szczególne pasmo zakłopotania, które doprowadziło do znanej permutacji. Ale odkąd proces shuffle mógłby doprowadzić do jakiejś szczególnej permutacji od gospodarza innych pasm zakłopotania, wydawaliby się nie być żadnym sposobem zidentyfikowania tego oryginalnego pasma zakłopotania, żeby to mogło zostać analizowane. (To wydawałby się być innym poziomem "podrobionego klucza".)

Shannon, [25, s. 680,], definiuje PO POŁUDNIU(E) jako warunkowe prawdopodobieństwo ciphertext (bloku) E, jeżeli blok wiadomości M jest wybrany i P(E) jako prawdopodobieństwo uzyskiwania ciphertext E od trochę przyczyna. Jeżeli wybrany proces permutacji naprawdę naprawdę sporządza mapę, arbitralny (rozważył) blok do każdego możliwego (wyważonego) blok, to na pewno wydaje się wiarogodny, że PO POŁUDNIU(E) = P(E), który jest koniecznym i dostatecznym warunkiem dla doskonałego sekretu. To jest, jeżeli jakiś blok wiadomości mógłby wygenerować jakiś ciphertext blok z o równym prawdopodobieństwie, wtedy prawdopodobieństwo uzyskiwania trochę szczególnego ciphertext bloku nie może zależeć od wiadomości; Shannon pisze, "PO POŁUDNIU(E) musi być niezależny M." implikacja tego jest tak "numer innych kluczy jest co najmniej tak wielki jak numer M's." W tej analizie, numerze z "wpisuje" jest numerem możliwych permutacji lub n! (dla bloku n kawałka)i numer możliwe wiadomości (bloków) jest pod 2 ^ n, który jest daleko mniej. Okazywać się, że to koniecznie nie sugeruje, że numer użytkownik kluczy musi być n!lub nawet 2 ^ n, ponieważ pasmo zakłopotania jest odizolowane przez siłę dynamicznego mechanizmu przestawienia. Ale, jako numer użytkownik kluczy zawsze, musi dostateczne być zapobiec atak klucz poszukiwania.

Oczywiście w pełnych wyszczególniana analiza siły prawdopodobnie zależy od głębszego zrozumienia procesu shuffle. Szczególnego zainteresowania jest efekt pasma zakłopotania na dystrybucji permutacji. Ale prostota i intuicyjna powszechność szurania wydawałyby się wywróżyć dobrze dla takiej analizy i szuranie jest tylko podstawą dla tej szczególnej formy dynamicznego przestawienia.

PODANIA

Jedno użycie dla dynamicznego przestawienia byłyby jako zbieganie się lub mieszanie funkcji dla bloków danych. Z jakimś przekształceniem spływasz-do-bloku i vice versa, takie urządzenie sprzęgające mogłoby zostać użyte, by zastąpić WYŁĄCZNY-LUB funkcja logiki w szyfrze strumienia Vernam. Kolejno to mogłoby zostać użyte, by łączyć dwa rzekomy przypadkowe pasma, doprowadzić do nawet bardziej złożonego pasma. Lub to mogłoby zostać stosowane w szyfr produktu, [25,] jako jedna część łańcucha lub sieci działań szyfru.

Dynamiczne przestawienie może spóźnić się, ale może również więcej dać gwarancję niż jakieś inne alternatywy. W konsekwencji, to mogłoby dobrze zostać użyte dla dostawy klucza w przeciwieństwie do ogólnego dane encipherment.

Przestawienie WNIOSKU--zwykle trudny odnieść się i potencjalnie niepewny--staje się znacznie silniejszy kiedy przestawiając kawałki w wyważonych kawałkiem blokach i napędzany z rzekomy przypadkowym pasmem. Dynamiczne urządzenia sprzęgające przestawienia wydają się bardzo ochronny ich rzekomy przypadkowego pasma (znaczny problem z Vernam, [27,] urządzenie sprzęgające), może sfrustrować statystyczna częstość analiza ciphertext i może gwarantować silny mieszający występ równy z wejściem niezrównoważonych plaintext dystrybucji.

UZNANIA

Moim dzięki arbitrom, pytania o pożytku tego mechanizmu prowadziły do wtrącenia materiału na numerycznym i teoretycznym sekrecie i do Edwarda Rupp dla rozmów o potencjalnych atakach.



Wyszukiwarka

Podobne podstrony:
Parzuchowski, Purek ON THE DYNAMIC
Nouns and the words they combine with
Parzuchowski, Purek ON THE DYNAMIC
Engle And Lange Predicting Vnet A Model Of The Dynamics Of Market Depth
Haranas Redshift Calculations in the Dynamic Theory of Gravity
THE DYNAMIND TECHNIQUE Serge King
The Dynamics of Organizational Identity 2002
Haranas The Classical Problem of a Body Falling in a Tube Through the Center of the Earth in the Dy
A comparative study of inverter and line side filtering schemes in the dynamic voltage restorer
Robert Louis Stevenson The Dynamiter
The dynamics of computer virus infection
10 Amazing Routines Using The Dynamic Coins Gimmick
Metaphor and the Dynamics of Knowledge
2011 Karg The Serotonin Transporter Promoter Variant yma05002 444 454
the pretty girl combing her locks
Transposition cipher Wikipedia, the free encyclopedia
Charakterystyki dynamiczne, Politechnika Warszawska Wydział Transportu, Semestr VI, Technoka Pomiaro
Dynamic gadolinium enhanced subtraction MR imaging – a simple technique for the early diagnosis of L

więcej podobnych podstron