Transformacja typu „wszystko albo nic”.
W kryptografii transformacja typu „wszystko albo nic” ( AONT ), znana również jako protokół „wszystko albo nic” , jest trybem szyfrowania , który umożliwia zrozumienie danych tylko wtedy, gdy wszystkie są znane. AONT nie są szyfrowaniem, ale często wykorzystują szyfry symetryczne i mogą być stosowane przed szyfrowaniem. Mówiąc dokładniej, „AONT jest niekluczową, odwracalną, losową transformacją, której właściwość jest trudna do odwrócenia, chyba że znane są wszystkie dane wyjściowe”.
Algorytmy
Oryginalny AONT, transformacja pakietu , została opisana przez Ronalda L. Rivesta w jego artykule z 1997 roku „All-or-Nothing Encryption and The Package Transform” . Transformacja zaproponowana przez Rivesta obejmowała wstępne przetwarzanie tekstu jawnego przez XORowanie każdego bloku tekstu jawnego z indeksem tego bloku zaszyfrowanym losowo wybranym kluczem, a następnie dołączenie jednego dodatkowego bloku obliczonego przez XORowanie tego losowego klucza i skrótów wszystkich wstępnie przetworzonych bloków. Wynik tego wstępnego przetwarzania nazywany jest pseudowiadomością i służy jako dane wejściowe do algorytmu szyfrowania. Cofnięcie transformacji pakietu wymaga haszowania każdego bloku pseudowiadomości z wyjątkiem ostatniego, XORowania wszystkich skrótów z ostatnim blokiem w celu odzyskania losowego klucza, a następnie użycia losowego klucza do konwersji każdego wstępnie przetworzonego bloku z powrotem na jego oryginalny blok tekstu jawnego. W ten sposób niemożliwe jest odzyskanie oryginalnego tekstu jawnego bez uprzedniego dostępu do każdego pojedynczego bloku pseudowiadomości.
Chociaż artykuł Rivesta zawierał tylko szczegółowy opis transformacji pakietu w odniesieniu do trybu CBC , można go zaimplementować przy użyciu szyfru w dowolnym trybie . Dlatego istnieje wiele wariantów: pakiet EBC , pakiet transformacji CBC itp.
W 1999 roku Wiktor Bojko zaproponował inny AONT, dający się udowodnić w ramach losowego modelu wyroczni .
Najwyraźniej mniej więcej w tym samym czasie DR Stinson zaproponował inną implementację AONT, bez żadnych założeń kryptograficznych. Ta implementacja jest transformacją liniową, być może uwydatniającą pewne słabości w zakresie bezpieczeństwa oryginalnej definicji.
Aplikacje
AONT można wykorzystać do zwiększenia siły szyfrowania bez zwiększania rozmiaru klucza. Może to być przydatne na przykład do zabezpieczania tajemnic przy jednoczesnym przestrzeganiu rządowych przepisów eksportowych dotyczących kryptografii . AONT pomagają zapobiegać kilku atakom.
Jednym ze sposobów, w jaki AONT poprawiają siłę szyfrowania, jest zapobieganie atakom, które ujawniają tylko część informacji, przed ujawnieniem czegokolwiek, ponieważ częściowe informacje nie wystarczą do odzyskania jakiejkolwiek części oryginalnej wiadomości.
Innym zastosowaniem sugerowanym w oryginalnych artykułach jest obniżenie kosztów zabezpieczenia: np. plik może zostać przetworzony przez AONT, a następnie tylko niewielka jego część może zostać zaszyfrowana (np. na karcie inteligentnej). AONT zapewni, że w rezultacie cały plik będzie chroniony. Ważne jest, aby użyć silniejszej wersji transformacji (takiej jak ta autorstwa Bojko powyżej).
AONT można połączyć z korekcją błędów w przód, aby uzyskać bezpieczny obliczeniowo schemat udostępniania tajnych informacji .
Inne zastosowania AONT można znaleźć w optymalnym dopełnieniu szyfrowania asymetrycznego (OAEP).
- ^ a b Bojko, Victor (1999). O właściwościach zabezpieczeń OAEP jako transformacji typu „wszystko albo nic” . Postępowanie CRYPTO . Notatki z wykładów z informatyki. Tom. 1666. s. 503–518. doi : 10.1007/3-540-48405-1_32 . ISBN 978-3-540-66347-8 .
- ^ Rivest, Ronald (1997). Szyfrowanie typu „wszystko albo nic” i transformacja pakietu . SZYBKIE SZYFROWANIE OPROGRAMOWANIA Postępowanie . Notatki z wykładów z informatyki. Tom. 1267. s. 210–218. doi : 10.1007/BFb0052348 . ISBN 978-3-540-63247-4 .
- ^ Stinson, DR (1 stycznia 2001). „Coś o wszystkim albo nic (przemiany)” . Projekty, kody i kryptografia . 22 (2): 133–138. doi : 10.1023/A:1008304703074 .
- Bibliografia _ Deska, James (15 lutego 2011). AONT-RS: Łączenie bezpieczeństwa i wydajności w rozproszonych systemach pamięci masowej (PDF) . Usenix FAST'11 .
Linki zewnętrzne
- Staple , prototypowa implementacja transformacji typu „wszystko albo nic” typu open source.