CLEFIA | |
---|---|
Tvůrce | Taizō Shirai, Kyouji Shibutani, Tohru Akishita, Shiho Moriai, Tetsu Iwata |
Vytvořeno | 2007 _ |
zveřejněno | 22. března 2007 |
Velikost klíče | 128, 192, 256 bitů |
Velikost bloku | 128 bit |
Počet kol | 18/22/26 (závisí na velikosti klíče) |
Typ | Síť Feistel |
CLEFIA (z francouzštiny klíčový „ klíč “) je bloková šifra s velikostí bloku 128 bitů, délkou klíče 128, 192 nebo 256 bitů a počtem kol 18, 22, 26, resp. Tento kryptoalgoritmus patří k „odlehčeným“ algoritmům a jako hlavní strukturální jednotku využívá Feistelovu síť . CLEFIA byl vyvinut společností Sony Corporation a představen v roce 2007. Autory jsou Taizo Shirai, Kyoji Shibutani, Toru Akishita, Shiho Moriai a docent Tetsu Iwata z univerzity v Nagoji .
Hlavním účelem této šifry je použití jako bezpečná alternativa k AES v oblasti ochrany autorských práv a DRM systémů , stejně jako použití v RFID tagech a čipových kartách .
Je to jeden z nejúčinnějších kryptografických algoritmů při implementaci v hardwaru: hardwarová implementace CLEFIA může dosáhnout účinnosti 400,96 Kbps na ekvivalentní logickou buňku kodéru, což je nejvyšší mezi algoritmy zahrnutými v normách ISO pro 2008 [1] .
Algoritmus byl jednou z prvních šifer, která používala technologii DSM ( Diffusion Switching Mechanism ) ke zvýšení ochrany proti lineární a diferenciální kryptoanalýze [2] [3] .
Předpona pro binární řetězec v hexadecimálním tvaru | |
zobrazuje délku v bitech | |
Zřetězení | |
Aktualizujte hodnotu podle hodnoty | |
Bitový XOR | |
Násobení v |
Algoritmus se skládá ze dvou komponent: části pro zpracování klíčů a části pro zpracování dat. Počet kol CLEFIA závisí na délce klíče a je 18, 22 nebo 26 kol s použitím 36, 44 a 52 podklíčů. Algoritmus používá bělení klíčů s dalšími podklíči před a po zpracování dat.
Základním stupněm šifrování dat v CLEFIA je použití zobecněné sítě Feistel se 4 nebo 8 větvemi, která se využívá jak z hlediska zpracování dat, tak z hlediska zpracování klíčů (obrázek 1). V obecném případě, pokud má zobecněná Feistelova síť d-větve a r-kruhy, označuje se jako ( anglicky generalized Feistel network ). Dále je uvažován algoritmus provozu sítě Feistel v případě použití 4 větví a 128bitového bloku dat.
Kromě 4 x 32bitových vstupů ( ) a 4 x 32bitových výstupů ( ) se používají také kulaté klávesy . Jejich počet je způsoben tím, že každé kolo vyžaduje o polovinu méně klíčů než větví. jsou generovány v části zpracování klíčů [4] .
Každá Feistelova buňka také zahrnuje dvě různé -funkce: . -funkce patří do typu funkcí SP a používají:
Tyto dvě funkce a používané v zahrnují nelineární 8bitové S-boxy a , diskutované níže, a matice a velikosti . Každá -funkce používá tyto S-boxy v jiném pořadí a používá jinou distribuční matici pro Galoisovo násobení. Obrázky ukazují obsah -funkcí [4] . - funkce jsou definovány takto:
CLEFIA používá dva různé typy S-boxů, každý o velikosti 8 bitů. Jsou generovány tak, aby při implementaci do hardwaru minimalizovaly plochu, kterou zabírají. První ( ) se skládá ze 4bitových náhodných S-boxů. Druhý ( ) používá inverzní funkci na poli . Níže uvedené tabulky ukazují výstupní hodnoty v hexadecimální soustavě pro S-boxy. Horní 4 bity pro 8bitový vstup S-boxu označují řádek a spodní 4 bity označují sloupec. Pokud je například zadána hodnota , pak výstup bloku [3] .
První S-blokvytvořené pomocí čtyř 4bitových S-boxů takto:
Algoritmus pro získání výstupních dat při použití bloku Krok 1. Krok 2. Krok 3.Násobení v se provádí v přes polynomy , které jsou definovány ireducibilním polynomem . V tabulce naleznete odpovídající přijatý S-box .
|
|
Blok je definován jako:
V tomto případě je inverzní funkce v poli , které je dáno ireducibilním polynomem . jsou afinní transformace přes , definované takto:
|
|
Zde se používá to a . Tak se získá blok .
.0 | .jeden | .2 | .3 | .čtyři | .5 | .6 | .7 | .osm | .9 | .A | .b | .C | .d | .E | .F | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0. | 6c | da | c3 | e9 | 4e | 9d | 0a | 3d | b8 | 36 | b4 | 38 | 13 | 34 | 0c | d9 |
jeden. | bf | 74 | 94 | 8f | b7 | 9c | e5 | DC | 9e | 07 | 49 | 4f | 98 | 2c | b0 | 93 |
2. | 12 | eb | CD | b3 | 92 | e7 | 41 | 60 | e3 | 21 | 27 | 3b | e6 | 19 | d2 | 0e |
3. | 91 | jedenáct | c7 | 3f | 2a | 8e | a1 | před naším letopočtem | 2b | c8 | c5 | 0f | 5b | f3 | 87 | 8b |
čtyři. | fb | f5 | de | dvacet | c6 | a7 | 84 | ce | d8 | 65 | 51 | c9 | a4 | ef | 43 | 53 |
5. | 25 | 5 d | 9b | 31 | e8 | 3e | 0d | d7 | 80 | ff | 69 | 8a | ba | 0b | 73 | 5c |
6. | 6e | 54 | patnáct | 62 | f6 | 35 | třicet | 52 | a3 | 16 | d3 | 28 | 32 | fa | aa | 5e |
7. | srov | ea | vyd | 78 | 33 | 58 | 09 | 7b | 63 | c0 | c1 | 46 | 1e | df | a9 | 99 |
osm. | 55 | 04 | c4 | 86 | 39 | 77 | 82 | ec | 40 | osmnáct | 90 | 97 | 59 | dd | 83 | lf |
9. | 9a | 37 | 06 | 24 | 64 | 7c | a5 | 56 | 48 | 08 | 85 | d0 | 61 | 26 | ca | 6f |
A. | 7e | 6a | b6 | 71 | a0 | 70 | 05 | d1 | 45 | 8c | 23 | 1c | f0 | ee | 89 | inzerát |
b. | 7a | 4b | c2 | 2f | db | 5a | 4d | 76 | 67 | 17 | 2d | f4 | cb | b1 | 4a | a8 |
C. | b5 | 22 | 47 | 3a | d5 | deset | 4c | 72 | cc | 00 | f9 | e0 | fd | e2 | např | ae |
d. | f8 | 5f | ab | f1 | 1b | 42 | 81 | d6 | být | 44 | 29 | a6 | 57 | b9 | af | f2 |
E. | d4 | 75 | 66 | bb | 68 | 9f | padesáti | 02 | 01 | 3c | 7f | 8d | 1a | 88 | bd | ac |
F. | f7 | e4 | 79 | 96 | a2 | fc | 6d | b2 | 6b | 03 | e1 | 2e | 7d | čtrnáct | 95 | 1d |
Propagační matice jsou definovány takto:
|
|
Maticové a vektorové násobení se provádí v poli definovaném ireducibilním polynomem .
Na základě zobecněné sítě Feistel (4 vstupy pro datový blok; 2r vstupy pro kulaté klíče; 4 výstupy pro šifrovaný text):
Algoritmus šifrování a dešifrování dat:
Šifrování ( ) Krok 1. Krok 2. Krok 2.1. Krok 2.2. Krok 3 Dešifrování ( ) Krok 1. Krok 2. Krok 2.1. Krok 2.2. Krok 3Počet kol je 18, 22 a 26 pro 128bitové, 192bitové a 256bitové klíče. Součet závisí na délce klíče, takže část pro zpracování dat vyžaduje 36, 44 a 52 kulatých klíčů pro 128bitové, 192bitové a 256bitové klíče.
z také klíčovému bělení
Část pro zpracování dat CLEFIA, sestávající z šifrování a dešifrování, zahrnuje procedury XOR mezi textem a bělícími klíči na začátku a na konci algoritmu.
Nechť je tedy otevřený text a šifrový text a nechť jsou části otevřeného textu a šifrového textu, kde a , a nechť jsou bělící klíče a a jsou kulaté klíče poskytované částí pro zpracování klíčů. Potom je šifrovací algoritmus pomocí bělení klíčů:
Funkce šifrování Krok 1. Krok 2. Krok 3. Funkce dešifrování Krok 1. Krok 2. Krok 3.Část šifry CLEFIA pro zpracování klíčů podporuje 128, 192 a 256 bitové klíče a výsledkem jsou bělící klíče a kulaté klíče pro část zpracování dat. Nechť být klíčem a buď prostředním klíčem (získáno pomocí redukované části zpracování dat), pak část zpracování klíče sestává ze tří fází:
Pro generování z , část pro zpracování klíče pro 128bitový klíč používá 128bitový (4 vstupy po 32 bitech), zatímco pro 192/256bitové klíče se používá 256bitový (8 vstupů po 32 bitech). Následuje popis algoritmu v případě 128bitového klíče.
Tento algoritmus používá funkci DoubleSwap bit swap (symbol: ):
Navíc označuje bitový řetězec vystřižený z -tého bitu na -tý bit z .
Schéma vyžaduje jako vstup několik (if ) kulatých klíčů , a když je toto schéma aplikováno v části zpracování klíčů, šifra CLEFIA používá jako kulaté klíče předem vygenerované konstanty. Také jsou potřeba další konstanty ve druhé fázi, při generování a , a jejich počet je stejný (ale v tomto případě konstanty a z části zpracování dat).
Tyto 32bitové konstanty jsou označeny jako , kde je číslo konstanty, je počet bitů použitých pro klíč (může být 128, 196, 256). Potom bude počet konstant 60, 84, 92 pro 128, 192, 256 bitové klíče.
Nechte a . Poté algoritmus pro generování (v tabulce počet iterací a počáteční hodnoty ):
Krok 1. Krok 2. Krok 2.1. Krok 2.2. Krok 2.3.Kde - logická negace, - cyklický levý posun o -bit; a násobení nastává v poli a rozhodně neredukovatelném polynomu .
128bitový přechodný klíč je generován pomocí , které bere dvacet čtyři 32bitových konstant jako vstup jako kulaté klíče a jako data pro šifrování. Poté a se používají k generování a v následujících krocích:
Generace od : Krok 1. Generace od : Krok 2 Generace od a : Krok 3. Krok 3.1. Krok 3.2. Krok 3.3. Krok 3.4.CLEFIA lze efektivně implementovat do hardwaru i softwaru. V tabulce jsou uvedeny hlavní výhody technologií použitých v této šifře [3] .
| |
Funkce typu SP |
|
DSM |
|
S-bloky |
|
matrice |
|
Část zpracování klíčů |
|
Výhody a vlastnosti algoritmu CLEFIA jsou:
CLEFIA používá zobecněnou 4větvovou Feistelovu strukturu, která je chápána jako rozšíření tradiční 2větvové Feistelovy struktury. Existuje mnoho typů zobecněných Feistelových struktur. Algoritmus CLEFIA využívá druhý typ této struktury (schéma 1) [5] . Struktura druhého typu má dvě F-funkce v jednom kole pro čtyři datové linky.
Struktura typu 2 má následující vlastnosti:
První vlastnost je velkou výhodou pro softwarové a hardwarové implementace; a druhá vlastnost je vhodná pro efektivní implementaci, zejména v hardwaru. Ale zároveň se díky třetí funkci znatelně zvyšuje počet kol. Výhody druhého typu struktury však převažují nad nevýhodami tohoto návrhu blokové šifry, protože je použita nová programovací technika využívající DSM a dva typy S-boxů, což efektivně snižuje počet kol.
CLEFIA používá dvě různé propagační matice ke zlepšení odolnosti proti rozdílným útokům a lineárním útokům pomocí mechanismu DSM (schéma 2). Tato konstrukční technika byla původně vyvinuta pro tradiční sítě Feistel [3] . Tato technika byla přenesena do , což je jedna z jedinečných vlastností této šifry. Také díky DSM můžete zvýšit garantovaný počet aktivních S-boxů se stejným počtem nábojů.
V následující tabulce je uveden garantovaný počet aktivních S-boxů v šifře CLEFIA. Data byla získána počítačovou simulací pomocí vyčerpávajícího vyhledávacího algoritmu [3] . Sloupce "D" a "L" v tabulce ukazují garantovaný počet aktivních S-boxů v diferenciální a lineární kryptoanalýze. Z této tabulky je vidět, že efekt DSM se dostavuje již při , a garantovaný počet S-boxů se zvyšuje o cca 20% - 40% na rozdíl od struktury bez DSM. Proto lze snížit počet kol, což znamená, že se výkon zlepší.
Garantovaný počet aktivních S boxů |
---|
V tabulce je červeně zvýrazněn řádek označující minimální požadovaný počet kol, aby byla šifra odolná proti kryptoanalýze hrubou silou ( viz také ). Modře jsou zvýrazněny řádky, jejichž počet kol je použit v algoritmu CLEFIA s 128/192/256bitovými klíči, resp.
CLEFIA používá dva různé typy 8bitových S-boxů: jeden je založen na čtyřech 4bitových náhodných S-boxech; a druhý je založen na inverzní funkci v , která má maximální možnou složitost útoku pro diferenciální kryptoanalýzu a lineární kryptoanalýzu . Oba S-boxy jsou zvoleny pro efektivní implementaci, zejména v hardwaru.
Pro nastavení zabezpečení je a je . Pro a obě jsou si rovny [6] .
Podle tabulky počtu aktivních S-boxů s DSM (v odstavci Using Diffusion Switching Mechanism ) je minimální počet nábojů 12. Tedy při použití 28 aktivních S-boxů pro 12-kolové CLEFIA a ( viz také ) , určíme, že pravděpodobnost charakteristiky je . To znamená, že složitost útoku je vyšší a pro útočníka neexistuje užitečná diferenciální charakteristika 12 ran. Také, protože má nižší , očekává se, že skutečná horní mez bude nižší než výše uvedený odhad [3] . V důsledku toho se domníváme, že celé kolo CLEFIA je chráněno před diferenciální kryptoanalýzou (v CLEFIA se používá 18 kol).
K odhadu složitosti lineární kryptoanalýzy se používá přístup založený na počítání aktivních S-boxů pro daný počet kol. Protože použití 30 aktivních S-boxů pro 12kolové CLEFIA, . To vede k závěru, že pro útočníka je obtížné najít dostatek párů text-šifrovaný text, které lze použít k úspěšnému útoku na CLEFIA. Výsledkem je, že plnohodnotná CLEFIA je dostatečně bezpečná proti lineární kryptoanalýze [6] .
diferenciální útok považován za jeden nejsilnějších útoků proti CLEFIA. Byly nalezeny následující dvě nemožné diferenciální cesty [7] :
kde je jakákoli nenulová hodnota. Pomocí výše popsané funkce je tedy možné simulovat útok (pro každou délku klíče), který obnoví aktuální klíč. Následující tabulka shrnuje složitosti potřebné pro nemožné diferenciální útoky. Podle této tabulky se očekává, že CLEFIA s plným cyklem bude mít dostatečnou rezervu bezpečnosti proti tomuto útoku.
Počet kol | Délka klíče | Klíčové bělení | Počet otevřených textů | Časová složitost |
---|---|---|---|---|
deset | 128,192,256 | + | ||
jedenáct | 192,256 | + | ||
12 | 256 | - |
CLEFIA poskytuje kompaktní a rychlou implementaci zároveň bez obětování bezpečnosti. Ve srovnání s AES, nejpoužívanější 128bitovou blokovou šifrou, má CLEFIA výhodu v hardwarové implementaci. CLEFIA může dosáhnout 1,6 Gb/s s méně než 6000 ekvivalentními logickými buňkami na bránu je v roce 2008 nejvyšší na světě (v případě hardwarové implementace) 1] .
Níže uvedená tabulka ukazuje srovnávací charakteristiky šifry CLEFIA ve vztahu k některým dalším známým šifrám [1] :
Algoritmus | Velikost bloku (bity) | Velikost klíče (bity) | Počet kol | Šířka pásma ( Mpbs ) | Oblast (Kgates) | Účinnost (Kpbs/brány) |
---|---|---|---|---|---|---|
CLEFIA | 128 | 128 | osmnáct | 1 605,94 | 5,98 | 268,63 |
36 | 715,69 | 4,95 | 144,59 | |||
AES | 128 | 128 | deset | 3 422,46 | 27,77 | 123,26 |
Kamélie | 128 | 128 | 23 | 1 488,03 | 11,44 | 130,11 |
SEMÍNKO | 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 |
třicet | 570,41 | 7,92 | 72,06 | |||
TDEA | 64 | 56, 112, 168 | 48 | 355,56 | 3,76 | 94,50 |
Algoritmus | Velikost bloku (bity) | Velikost klíče (bity) | Počet kol | Šířka pásma ( Mpbs ) | Oblast (Kgates) | Účinnost (Kpbs/brány) |
---|---|---|---|---|---|---|
CLEFIA | 128 | 128 | osmnáct | 3 003,00 | 12.01 | 250,06 |
36 | 1 385,10 | 9,38 | 147,71 | |||
AES | 128 | 128 | deset | 7 314,29 | 45,90 | 159,37 |
Kamélie | 128 | 128 | 23 | 2 728,05 | 19,95 | 136,75 |
SEMÍNKO | 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 |
třicet | 772,95 | 10.12 | 76,41 | |||
TDEA | 64 | 56, 112, 168 | 48 | 766,28 | 5.28 | 145,10 |
V roce 2019 začlenily organizace ISO a IEC algoritmy PRESENT a CLEFIA do mezinárodního standardu pro odlehčené šifrování ISO/IEC 29192-2:2019 [8] .
Existuje knihovna CLEFIA_H v programovacím jazyce C, která implementuje šifru CLEFIA [9] .
Symetrické kryptosystémy | |
---|---|
Streamové šifry | |
Síť Feistel | |
Síť SP | |
jiný |