Funkcja T

Funkcja T VEST-4, po której następuje warstwa transpozycji

W kryptografii funkcja T jest odwzorowaniem bijektywnym , które aktualizuje każdy bit stanu w sposób, który można opisać jako lub w prostych słowach funkcja aktualizacji, w której każdy bit stanu jest aktualizowany przez liniową kombinację tego samego bitu i funkcji podzbioru jego mniej znaczących bitów. Jeśli każdy mniej znaczący bit jest zawarty w aktualizacji każdego bitu w stanie, taka funkcja T nazywana jest trójkątną . Dzięki swojej bijektywności (brak kolizji, a zatem brak strat entropii) niezależnie od użytych funkcji boolowskich i niezależnie od wyboru wejść (o ile wszystkie pochodzą z jednej strony bitu wyjściowego), funkcje T są obecnie szeroko stosowane w kryptografia do budowy szyfrów blokowych , szyfry strumieniowe , PRNG i funkcje mieszające . Funkcje T zostały po raz pierwszy zaproponowane w 2002 roku przez A. Klimova i A. Shamira w ich artykule „A New Class of Invertible Mappings”. Szyfry takie jak TSC-1, TSC-3 , TSC-4, ABC , Mir-1 i VEST są zbudowane z różnych typów funkcji T.

Ponieważ operacje arytmetyczne , takie jak dodawanie , odejmowanie i mnożenie , są również funkcjami T (trójkątnymi funkcjami T), wydajne programowo funkcje T oparte na słowach można konstruować, łącząc logikę bitową z operacjami arytmetycznymi. Inną ważną właściwością funkcji T opartych na operacjach arytmetycznych jest przewidywalność ich okresu , co jest bardzo atrakcyjne dla kryptografów. Chociaż trójkątne funkcje T są naturalnie podatne na ataki zgadnij i określ, dobrze dobrane transpozycje bitowe między rundami może zneutralizować tę nierównowagę. W szyfrach wydajnych programowo można to zrobić poprzez przeplatanie operacji arytmetycznych z operacjami wymiany bajtów iw niewielkim stopniu operacjami rotacji bitowej . Jednak trójkątne funkcje T pozostają wysoce nieefektywne sprzętowo.

Funkcje T nie mają żadnych ograniczeń co do typów i szerokości funkcji aktualizujących używanych dla każdego bitu. Późniejsza transpozycja bitów wyjściowych i iteracja funkcji T również nie wpływają na bijektywność. Ta swoboda pozwala projektantowi wybrać funkcje aktualizacji lub S-boxy , które spełniają wszystkie inne kryteria kryptograficzne, a nawet wybrać dowolne lub zależne od klucza funkcje aktualizacji (patrz kluczowanie rodziny).

W ten sposób można łatwo skonstruować wydajne sprzętowo lekkie funkcje T o identycznych szerokościach wszystkich funkcji aktualizujących dla każdego bitu stanu. Akumulatory rdzenia szyfrów VEST są dobrym przykładem takich stosunkowo lekkich funkcji T, które są równoważone po 2 rundach przez warstwę transpozycji, dzięki czemu wszystkie 2-rundowe funkcje sprzężenia zwrotnego mają mniej więcej tę samą szerokość i tracą funkcję „T” „błąd polegający na poleganiu tylko na mniej znaczących bitach stanu.

  • A. Klimow; A. Szamir (2002). „Nowa klasa odwzorowań odwracalnych” ( PDF / PostScript ) . Sprzęt kryptograficzny i systemy wbudowane — CHES 2002 . Springer-Verlag . LNCS 2523: 470–483.
  • A. Klimow; A. Szamir (2003). Kryptograficzne zastosowania funkcji T (PDF/PostScript) . Wybrane obszary kryptografii , SAC 2003, LNCS 3006. Springer-Verlag. s. 248–261.
  • A. Klimow; A. Szamir (2004). oparte na wielowyrazowych funkcjach T. Szybkie szyfrowanie programowe , FSE 2004, LNCS 3017. Springer-Verlag. s. 1–15.
  • Magnus Daum (2005). „Wąskie funkcje T” (PDF/PostScript) . Szybkie szyfrowanie oprogramowania . Springer-Verlag. LNCS 3557: 50–67.
  • J. Hong; D. Lee; Y. Yeom i D. Han (2005). Nowa klasa funkcji T pojedynczego cyklu . Szybkie szyfrowanie programowe, FSE 2005, LNCS 3557. Springer-Verlag. s. 68–82.
  • A. Klimow i A. Szamir (2005). Nowe zastosowania funkcji T w szyfrach blokowych i funkcjach mieszających . Szybkie szyfrowanie programowe, FSE 2005, LNCS 3557. Springer-Verlag. s. 18–31. Zarchiwizowane z oryginału ( opakowane gzipem PostScript) w dniu 2007-09-26.