CLEFIA

Az oldal jelenlegi verzióját még nem ellenőrizték tapasztalt közreműködők, és jelentősen eltérhet a 2020. március 20-án felülvizsgált verziótól ; az ellenőrzések 5 szerkesztést igényelnek .
CLEFIA
Teremtő Taizō Shirai, Kyouji Shibutani, Tohru Akishita, Shiho Moriai, Tetsu Iwata
Létrehozva 2007_ _
közzétett 2007. március 22
Kulcsméret 128, 192, 256 bit
Blokkméret 128 bites
A körök száma 18/22/26 (a kulcs méretétől függ)
Típusú Feistel hálózat

A CLEFIA (a francia  kulcs "kulcs" szóból) egy blokk-rejtjel , amelynek blokkmérete 128 bit, kulcshossza 128, 192 vagy 256 bit, és 18, 22, 26-os körök száma. Ez a kriptoalgoritmus a "könnyű" algoritmusokhoz tartozik, és a Feistel hálózatot használja fő szerkezeti egységként. A CLEFIA-t a Sony Corporation fejlesztette ki, és 2007-ben vezették be. A szerzők Taizo Shirai, Kyoji Shibutani, Toru Akishita, Shiho Moriai és a Nagoya Egyetem docense, Tetsu Iwata.

Ennek a titkosításnak az a fő célja, hogy az AES biztonságos alternatívájaként használhassa a szerzői jogvédelem és a DRM rendszerek területén , valamint az RFID - címkékben és az intelligens kártyákban .

Ez az egyik leghatékonyabb titkosítási algoritmus hardveres implementációja esetén: a CLEFIA hardveres megvalósítása a kódoló egyenértékű logikai cellájánként elérheti a 400,96 Kbps hatékonyságot , ami a legmagasabb az ISO szabványokban szereplő algoritmusok között. 2008 [1] .

Az algoritmus volt az egyik első titkosító, amely a DSM ( Diffusion Switching Mechanism ) technológiát használta a  lineáris és differenciális kriptoanalízis elleni védelem növelésére [2] [3] .

Adattitkosítási séma

Jelölés
A bináris karakterlánc előtagja hexadecimális formában
bitben mutatja a hosszt
Összefűzés
Érték frissítése értékenként
Bitenkénti XOR
Szorzás be

Az algoritmus két komponensből áll: egy kulcsfeldolgozó részből és egy adatfeldolgozó részből. A CLEFIA körök száma a kulcs hosszától függ, és 18, 22 vagy 26 kör, 36, 44 és 52 alkulccsal. Az algoritmus kulcsfehérítést használ további alkulcsokkal az adatfeldolgozás előtt és után.

Az adattitkosítás alapvető szakasza a CLEFIA-ban egy általánosított , 4 vagy 8 ágból álló Feistel hálózat alkalmazása, amelyet mind adatfeldolgozás, mind kulcsfeldolgozás szempontjából használnak (1. ábra). Általános esetben, ha egy általánosított Feistel hálózatnak d-ágai és r-körei vannak, akkor azt ( eng. generalized Feistel network ) jelöljük . Ezután a Feistel hálózat működési algoritmusát vesszük figyelembe 4 ág és egy 128 bites adatblokk használata esetén.  

A 4 x 32 bites bemenetek ( ) és a 4 x 32 bites kimenetek ( ) mellett kerek gombok is használatosak . Számuk annak köszönhető, hogy minden körben feleannyi kulcsra van szükség, mint az ágakra. a kulcsfeldolgozó részben jönnek létre [4] .

Minden Feistel cella két különböző funkciót is magában foglal : . -a függvények az SP típusú függvényekhez tartoznak, és használatuk:

F-függvények

A két és -függvény közé tartozik a nemlineáris 8 bites S-box és , amelyeket alább tárgyalunk, valamint a és a méret mátrixait . Mindegyik -függvény más sorrendben használja ezeket az S-boxokat, és más eloszlási mátrixot használ a Galois-szorzáshoz. Az ábrákon a -függvények [4] tartalma látható . - a függvények meghatározása a következő:


Funkció 1. lépés. 2. lépés. 3. lépés.


Funkció 1. lépés. 2. lépés. 3. lépés.

S-blokkok

A CLEFIA két különböző típusú S-boxot használ, mindegyik 8 bites méretű. Ezeket úgy állítják elő, hogy minimálisra csökkentsék az általuk elfoglalt területet, amikor hardverben implementálják őket. Az első ( ) 4 bites véletlenszerű S-boxokból áll. A második ( ) az inverz függvényt használja a mezőn . Az alábbi táblázatok az S-boxok kimeneti értékeit mutatják hexadecimálisan. A 8 bites S-box bemenet felső 4 bitje egy sort, az alsó 4 bit pedig egy oszlopot jelöl. Például, ha az értéket adjuk meg , akkor a blokk kimenete [3] .

Első S-blokk

négy 4 bites S-box felhasználásával készült az alábbiak szerint:

A kimenő adatok megszerzésének algoritmusa a blokk használatakor 1. lépés 2. lépés 3. lépés.

A szorzást a feletti polinomokban hajtjuk végre , amit egy irreducibilis polinom határoz meg . A táblázatban megtalálja a megfelelő fogadott S-boxot .

asztal asztal
Második S-blokk

A blokk meghatározása a következő:

Ebben az esetben az inverz függvény a mezőben van, amit egy irreducibilis polinom ad meg .  alatti affin transzformációk , a következőképpen definiálva:

Itt azt használják, hogy és . Így egy blokkot kapunk .

asztal

Szaporítási mátrixok

A terjedési mátrixok meghatározása a következő:

A mátrix- és vektorszorzást egy irreducibilis polinom által meghatározott mezőben hajtjuk végre .

A titkosítás általános felépítése

Így az általánosított Feistel hálózat alapján (4 bemenet adatblokkhoz; 2r bemenet kerek kulcsokhoz; 4 kimenet titkosított szöveghez):

Adattitkosítási és visszafejtési algoritmus:

Titkosítás ( ) 1. lépés 2. lépés 2.1. 2.2. lépés. 3. lépés Dekódolás ( ) 1. lépés 2. lépés 2.1. 2.2. lépés. 3. lépés

A körök száma 18, 22 és 26 a 128 bites, 192 bites és 256 bites kulcsoknál. A teljes összeg a kulcs hosszától függ, így az adatfeldolgozási részhez 36, 44, illetve 52 kerek kulcsra van szükség a 128 bites, 192 bites, illetve 256 bites kulcsokhoz.

eredmény kulcsfehérítésnek alávethető _

Kulcsfehérítés használata

A CLEFIA adatfeldolgozási rész, amely a titkosítást és a visszafejtést tartalmazza, XOR eljárásokat tartalmaz a szöveg és a fehérítő kulcsok között az algoritmus elején és végén.

Legyen  tehát a nyílt szöveg és a rejtjelezett szöveg, és legyen  a nyílt szöveg és a titkosított szövegrész, ahol és , és legyenek a  fehérítő billentyűk és a és  a kulcsfeldolgozó rész által biztosított kerek billentyűk. Ezután a kulcsfehérítést használó titkosítási algoritmus a következő:

Titkosítási funkció 1. lépés. 2. lépés. 3. lépés. Dekódolási funkció 1. lépés. 2. lépés. 3. lépés.

Kulcsfeldolgozó algoritmus

A CLEFIA titkosító kulcsfeldolgozó része 128, 192 és 256 bites kulcsokat támogat, és fehérítő kulcsokat és kerek kulcsokat eredményez az adatfeldolgozó rész számára. Legyen a kulcs, és  legyen a közbenső kulcs (amelyet a csökkentett adatfeldolgozási rész felhasználásával kapunk), ekkor a kulcsfeldolgozási rész három szakaszból áll:

  1. Generáció től .
  2. Generáció től .
  3. Generáció és . _

A generáláshoz a 128 bites kulcs kulcsfeldolgozási része 128 bitet (4 bemenet 32 ​​bites), míg a 192/256 bites kulcsokhoz 256 bitet (8 bemenet 32 ​​bites) használ. Az alábbiakban az algoritmus leírása olvasható 128 bites kulcs esetén.

Bitcsere funkció

Ez az algoritmus a DoubleSwap bitcsere funkciót használja (szimbólum: ):

Sőt , egy bit karakterláncot jelöl, amely a -edik bittől a -edik bitig vágott -ból .

Állandó generálás

A séma számos (if ) kerek kulcsot igényel bemenetként , és ha ezt a sémát alkalmazzuk a kulcsfeldolgozási részben, a CLEFIA titkosítás előre generált konstansokat használ kerek kulcsként. Ezenkívül a második szakaszban, a és generálásakor további konstansokra van szükség , amelyek száma egyenlő (de ebben az esetben a konstansok és az adatfeldolgozási részből származó konstansok).

Ezeket a 32 bites konstansokat a következőképpen jelöljük: ahol  az állandó  száma, a kulcshoz használt bitek száma (lehet 128, 196, 256). Ekkor a konstansok száma 60, 84, 92 lesz 128, 192, 256 bites kulcsoknál.

Hagyjuk és . Ezután a generálás algoritmusa (a táblázatban az iterációk száma és a kezdeti értékek ):

1. lépés 2. lépés 2.1. 2.2. lépés. 2.3. lépés.

Ahol  - logikai negáció,  - ciklikus balra eltolás -bittel; és a szorzás egy mezőben és egy határozottan irreducibilis polinomban történik .

Kulcsfeldolgozás 128 bites kulcs esetén

A 128 bites közbenső kulcsot a használatával állítjuk elő , amely huszonnégy 32 bites állandót használ kerek kulcsként és adatként a titkosításhoz. Ezután és a következő lépésekben használatosak :

Generáció innen : 1. lépés. Generáció innen : 2. lépés Generáció in és : 3. lépés 3.1. 3.2. lépés. 3.3. lépés. 3.4. lépés.

A titkosítás jellemzői

A CLEFIA hatékonyan implementálható mind hardveren, mind szoftveresen. A táblázat bemutatja az ebben a titkosításban használt technológiák fő előnyeit [3] .

Tervezési szempontok a hatékony megvalósítás érdekében
  • - kis méretű funkciók (32 bites bemenet/kimenet)
  • Nincs szükség a -függvények invertálhatóságára
SP-típusú -függvények
  • Gyors táblázatos implementáció lehetősége szoftverben
DSM
  • A körök számának csökkentése
S-blokkok
  • Nagyon kis helyigény a hardverben
mátrixok
  • Csak kis Hamming súlyú
Kulcsfeldolgozó rész
  • Struktúra megosztása adatfeldolgozási résszel
  • A 128 bites kulcshoz csak 128 bites regiszter szükséges
  • Kis terület a DoubleSwap funkcióval

A CLEFIA algoritmus előnyei és jellemzői a következők:

  • Általános Feistel hálózat ;
  • DSM ( Diffúziós Kapcsoló Mechanizmus )  ;
  • Két S-box.

A GFN megvalósítási jellemzői

A CLEFIA általánosított 4 ágú Feistel struktúrát használ, amely a hagyományos 2 ágú Feistel struktúra kiterjesztéseként tekinthető. Sokféle általánosított Feistel-struktúra létezik. A CLEFIA algoritmus ennek a szerkezetnek a második típusát használja (1. séma) [5] . A második típus szerkezete négy adatsorhoz egy körben két F-függvényt tartalmaz.

A 2-es típusú szerkezet a következő tulajdonságokkal rendelkezik:

  • - a hagyományos Feistel szerkezetnél kevésbé jellemzők;
  • több funkció egyidejűleg feldolgozható;
  • általában több kört igényel, mint a hagyományos Feistel szerkezet.

Az első funkció nagy előnyt jelent a szoftver- és hardvermegvalósításoknál; a második funkció pedig a hatékony megvalósításra alkalmas, különösen hardverben. Ugyanakkor a körök száma észrevehetően növekszik a harmadik funkció miatt. A második típusú struktúra előnyei azonban meghaladják ennek a blokk titkosításnak a hátrányait, mivel egy új, DSM-et és kétféle S-boxot használó programozási technikát alkalmaznak, amely hatékonyan csökkenti a körök számát.

A diffúziós kapcsolási mechanizmus használata

A CLEFIA két különböző terjedési mátrixot használ a differenciális támadásokkal és a lineáris támadásokkal szembeni ellenállás javítására a DSM mechanizmus segítségével (2. séma). Ezt a tervezési technikát eredetileg a hagyományos Feistel hálózatokhoz fejlesztették ki [3] . Ezt a technikát a -ra vitték át , ami ennek a titkosításnak az egyik egyedülálló tulajdonsága. Ezenkívül a DSM-nek köszönhetően ugyanannyi körrel növelheti az aktív S-boxok garantált számát.

A következő táblázat a CLEFIA titkosításban lévő aktív S-boxok garantált számát mutatja. Az adatokat számítógépes szimulációval nyertük kimerítő keresési algoritmus segítségével [3] . A táblázat „D” és „L” oszlopa az aktív S-boxok garantált számát mutatja differenciál-, illetve lineáris kriptoanalízisben. Ebből a táblázatból látható, hogy a DSM hatása már -nél megjelenik , és az S-boxok garantált száma kb. 20-40%-kal nő, ellentétben a DSM nélküli szerkezettel. Ezért a körök száma csökkenthető, ami azt jelenti, hogy a teljesítmény javul.

Az aktív S dobozok garantált száma
A fordulók száma 1-13
Kerekek Diff. és Lin. (DSM nélkül) Diff. (DSM-mel) Lin. (DSM-mel)
egy 0 0 0
2 egy egy egy
3 2 2 5
négy 6 6 6
5 nyolc nyolc tíz
6 12 12 tizenöt
7 12 tizennégy 16
nyolc 13 tizennyolc tizennyolc
9 tizennégy húsz húsz
tíz tizennyolc 22 23
tizenegy húsz 24 26
12 24 28 harminc
13 24 harminc 32
A körök száma 14-26
Kerekek Diff. és Lin. (DSM nélkül) Diff. (DSM-mel) Lin. (DSM-mel)
tizennégy 25 34 34
tizenöt 26 36 36
16 harminc 38 39
17 32 40 42
tizennyolc 36 44 46
19 36 44 46
húsz 37 ötven ötven
21 38 52 52
22 42 55 55
23 44 56 58
24 48 59 62
25 48 62 64
26 49 65 66

A táblázatban egy sor piros színnel van kiemelve, ami azt jelzi, hogy a titkosítás minimálisan szükséges számú kört kell végrehajtania ahhoz, hogy ellenálljon a brute-force kriptoanalízisnek ( lásd még ). A sorok kék színnel vannak kiemelve, amelyek köreinek számát a CLEFIA algoritmus 128/192/256 bites kulcsokkal, ill.

A két S-box jellemzői

A CLEFIA két különböző típusú 8 bites S-boxot használ: az egyik négy 4 bites véletlenszerű S-boxon alapul; a másik pedig az inverz függvényen alapul , amely a lehető legnagyobb támadási komplexitást biztosítja a differenciális kriptográfiai elemzéshez és a lineáris kriptográfiai elemzéshez . Mindkét S-boxot a hatékony megvalósítás érdekében választották, különösen hardverben.

A biztonsági beállításoknál a , és az . Mert és mindkettő egyenlő [6] .

Biztonság

Differenciális kriptoanalízis

A DSM-mel ellátott aktív S-boxok számának táblázata szerint (a Diffusion Switching Mechanism című bekezdésben ) a minimális körszám 12. Így 28 aktív S-boxot használva egy 12 körös CLEFIA-hoz és ( lásd még ) , meghatározzuk, hogy a jellemző valószínűsége . Ez azt jelenti, hogy a támadás összetettebb, és nincs hasznos különbség a 12 körre a támadó számára. Továbbá, mivel alsó értéke van , a tényleges felső korlát várhatóan alacsonyabb lesz, mint a fenti becslés [3] . Ennek eredményeként úgy gondoljuk, hogy egy teljes CLEFIA-kör védett a differenciális kriptoanalízistől (a CLEFIA-ban 18 kört használnak).

Lineáris kriptoanalízis

A lineáris kriptoanalízis összetettségének becsléséhez egy olyan megközelítést alkalmaznak, amely az aktív S-boxok adott számú körre történő számlálásán alapul. Mivel 30 aktív S-boxot használva egy 12 körös CLEFIA-hoz ,. Ez arra a következtetésre vezet, hogy a támadó nehezen talál elegendő szöveg-titkosszöveg párost, amellyel sikeresen megtámadhatja a CLEFIA-t. Ennek eredményeként egy teljes értékű CLEFIA kellően biztonságos a lineáris kriptoanalízissel szemben [6] .

Lehetetlen differenciális kriptoanalízis

lehetetlen differenciáltámadás az legerősebb támadás a CLEFIA ellen A következő két lehetetlen differenciálút található [7] :

ahol  bármely nem nulla érték. Így a fent leírt funkció segítségével szimulálható egy támadás (minden kulcshosszra), amely visszaállítja az aktuális kulcsot. Az alábbi táblázat összefoglalja a lehetetlen differenciált támadásokhoz szükséges bonyolultságokat. A táblázat szerint a teljes ciklusú CLEFIA-nak megfelelő biztonsági résszel kell rendelkeznie ezzel a támadással szemben.

A lehetetlen differenciális kriptoanalízis összetettsége
A körök száma Kulcs hossza Kulcsfehérítés Nyitott szövegek száma Időbeli összetettség
tíz 128,192,256 +
tizenegy 192.256 +
12 256 -

Összehasonlítás más rejtjelekkel

A CLEFIA egyidejűleg kompakt és gyors megvalósítást biztosít a biztonság feláldozása nélkül. Az AES-hez, a legszélesebb körben használt 128 bites blokkrejtjelhez képest a CLEFIA előnyt jelent a hardveres megvalósításban. A CLEFIA kevesebb, mint 6000 egyenértékű logikai cellával átjárónkénti átviteli sebesség pedig 2008-ban a legmagasabb a világon (hardveres implementáció esetén) 1] .

Az alábbi táblázat a CLEFIA rejtjel összehasonlító jellemzőit mutatja néhány más jól ismert rejtjelhez képest [1] :

Területre optimalizált megvalósítás
Algoritmus Blokkméret (bit) Kulcsméret (bit) A körök száma Sávszélesség ( Mpbs ) Terület (Kgates) Hatékonyság (Kpbs/kapuk)
CLEFIA 128 128 tizennyolc 1,605,94 5.98 268,63
36 715,69 4.95 144,59
AES 128 128 tíz 3 422,46 27.77 123,26
Kamélia 128 128 23 1 488,03 11.44 130.11
MAG 128 128 16 913.24 16.75 54.52
52 517.13 9.57 54.01
CAST-128 64 128 17 386.12 20.11 19.20
MISTY1 64 128 9 915,20 14.07 65.04
harminc 570,41 7.92 72.06
TDEA 64 56, 112, 168 48 355,56 3.76 94,50
Sebesség-optimalizált megvalósítás
Algoritmus Blokkméret (bit) Kulcsméret (bit) A körök száma Sávszélesség ( Mpbs ) Terület (Kgates) Hatékonyság (Kpbs/kapuk)
CLEFIA 128 128 tizennyolc 3 003,00 12.01 250.06
36 1 385,10 9.38 147,71
AES 128 128 tíz 7,314,29 45,90 159,37
Kamélia 128 128 23 2 728,05 19.95 136,75
MAG 128 128 16 1 556,42 25.14 61,90
52 898,37 12.33 72,88
CAST-128 64 128 17 909,35 33.11 27.46
MISTY1 64 128 9 1 487,68 17.22 86.37
harminc 772,95 10.12 76.41
TDEA 64 56, 112, 168 48 766,28 5.28 145.10

Alkalmazás

2019-ben az ISO és az IEC szervezetei beépítették a PRESENT és a CLEFIA algoritmusokat a könnyű titkosítás ISO / IEC 29192-2:2019 [8] nemzetközi szabványába .

A C programozási nyelvben létezik egy CLEFIA_H könyvtár, amely megvalósítja a CLEFIA titkosítást [9] .

Jegyzetek

  1. 1 2 3 Takeshi Sugawara, Naofumi Homma, Takafumi Aoki, Akashi Satoh. A 128 bites blokk titkosítás nagy teljesítményű ASIC-megvalósításai CLEFIA //  2008 IEEE International Symposium on Circuits and Systems. - Seattle, WA, USA: IEEE, 2008. - június 13. ISBN 978-1-4244-1683-7 . ISSN 0271-4302 . - doi : 10.1109/ISCAS.2008.4542070 .  
  2. Shirai T., Shibutani K. Feistel szerkezetekről diffúziós kapcsolási mechanizmust használva  . - Berlin, Heidelberg: Springer, 2006. - ISBN 978-3-540-36597-6 . - doi : 10.1007/11799313_4 . Archiválva az eredetiből 2018. június 17-én.
  3. 1 2 3 4 5 6 Taizo Shirai, Kyoji Shibutani, Toru Akishita, Shiho Moriai, Tetsu Iwata. A 128 bites Blockcipher CLEFIA (Extended Abstract  ) . - 2007. Archiválva : 2022. március 1.
  4. 1 2 Sony Corporation. A 128 bites Blockcipher CLEFIA algoritmus specifikációja  . - 2007. Archiválva : 2022. január 19.
  5. Y. Zheng, T. Matsumoto, H. Imai. A blokk titkosítások felépítése bizonyíthatóan biztonságos és nem támaszkodik bizonyítatlan hipotézisekre  . - Springer-Verlag: Crypto'89, LNCS 435, 1989. - P. 461-480. Archiválva : 2018. június 9. a Wayback Machine -nél
  6. 1 2 Sony Corporation. A 128 bites Blockcipher CLEFIA biztonsági és  teljesítményértékelések . - 2007. Archiválva : 2022. január 20.
  7. Wei Wang, Xiaoyun Wang. A CLEFIA továbbfejlesztett lehetetlen differenciális kriptoanalízise  . - 2008. Archiválva : 2019. november 10.
  8. ISO. ISO/IEC 29192-2:2012 . Letöltve: 2019. november 1. Az eredetiből archiválva : 2020. október 21.
  9. Rejtjelreferencia . Letöltve: 2019. december 5. Az eredetiből archiválva : 2019. november 3.

Linkek