CLEFIA

Aktuální verze stránky ještě nebyla zkontrolována zkušenými přispěvateli a může se výrazně lišit od verze recenzované 20. března 2020; kontroly vyžadují 5 úprav .
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] .

Schéma šifrování dat

Notový zápis
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í:

F-funkce

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:


Funkce Krok 1. Krok 2. Krok 3.


Funkce Krok 1. Krok 2. Krok 3.

S-bloky

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-blok

vytvoř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 .

Stůl Stůl
Druhý S-blok

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 .

Stůl

Propagační matice

Propagační matice jsou definovány takto:

Maticové a vektorové násobení se provádí v poli definovaném ireducibilním polynomem .

Obecná struktura šifrování

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 3

Poč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í

Pomocí klíčového 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.

Algoritmus zpracování klíče

Čá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í:

  1. Generace z .
  2. Generace z .
  3. Generace od a .

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.

Funkce bitové výměny

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 .

Konstantní generování

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 .

Zpracování klíče v případě 128bitového klíče

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.

Vlastnosti šifry

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] .

Návrhová hlediska pro efektivní implementaci
  • - funkce malé velikosti (32bitový vstup/výstup)
  • Není potřeba invertibilita -funkcí
Funkce typu SP
  • Možnost rychlé tabulkové implementace v softwaru
DSM
  • Snížení počtu kol
S-bloky
  • Velmi malé nároky na hardware
matrice
  • Použití prvků s pouze nízkou Hammingovou hmotností
Část zpracování klíčů
  • Sdílení struktury s částí pro zpracování dat
  • Vyžaduje pouze 128bitový registr pro 128bitový klíč
  • Malá oblast funkce DoubleSwap

Výhody a vlastnosti algoritmu CLEFIA jsou:

  • Generalizovaná síť Feistel ;
  • DSM ( difuzní spínací mechanismus )  ;
  • Dva S-boxy.

Implementační funkce GFN

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:

  • -má méně než tradiční Feistelova struktura;
  • více funkcí lze zpracovávat současně;
  • obecně vyžaduje více nábojů než tradiční Feistelova struktura.

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.

Použití difúzního spínacího mechanismu

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ů
Počet kol 1 - 13
kola Dif. a Lin. (bez DSM) Dif. (s DSM) Lin. (s DSM)
jeden 0 0 0
2 jeden jeden jeden
3 2 2 5
čtyři 6 6 6
5 osm osm deset
6 12 12 patnáct
7 12 čtrnáct 16
osm 13 osmnáct osmnáct
9 čtrnáct dvacet dvacet
deset osmnáct 22 23
jedenáct dvacet 24 26
12 24 28 třicet
13 24 třicet 32
Počet kol 14 - 26
kola Dif. a Lin. (bez DSM) Dif. (s DSM) Lin. (s DSM)
čtrnáct 25 34 34
patnáct 26 36 36
16 třicet 38 39
17 32 40 42
osmnáct 36 44 46
19 36 44 46
dvacet 37 padesáti padesáti
21 38 52 52
22 42 55 55
23 44 56 58
24 48 59 62
25 48 62 64
26 49 65 66

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.

Vlastnosti dvou S-boxů

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] .

Zabezpečení

Diferenciální kryptoanalýza

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).

Lineární kryptoanalýza

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] .

Nemožná diferenciální kryptoanalýza

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.

Složitost nemožné diferenciální kryptoanalýzy
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 -

Srovnání s jinými šiframi

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] :

Oblastově optimalizovaná implementace
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
Rychlost optimalizovaná implementace
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

Aplikace

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] .

Poznámky

  1. 1 2 3 Takeshi Sugawara, Naofumi Homma, Takafumi Aoki, Akashi Satoh. Vysoce výkonné implementace ASIC 128bitové blokové šifry CLEFIA //  2008 IEEE International Symposium on Circuits and Systems. - Seattle, WA, USA: IEEE, 2008. - 13. června. ISBN 978-1-4244-1683-7 . ISSN 0271-4302 . - doi : 10.1109/ISCAS.2008.4542070 .  
  2. Shirai T., Shibutani K. O Feistelových strukturách s využitím difúzního spínacího  mechanismu . - Berlin, Heidelberg: Springer, 2006. - ISBN 978-3-540-36597-6 . - doi : 10.1007/11799313_4 . Archivováno z originálu 17. června 2018.
  3. 1 2 3 4 5 6 Taizo Shirai, Kyoji Shibutani, Toru Akishita, Shiho Moriai, Tetsu Iwata. 128bitová bloková šifra CLEFIA (Extended Abstract  ) . - 2007. Archivováno 1. března 2022.
  4. 1 2 Sony Corporation. Specifikace 128bitového algoritmu CLEFIA pro blokovou šifru  . - 2007. Archivováno 19. ledna 2022.
  5. Y. Zheng, T. Matsumoto, H. Imai. Na konstrukci blokových šifer prokazatelně bezpečných a neopírající se o žádné neprokázané hypotézy  . - Springer-Verlag: Crypto'89, LNCS 435, 1989. - S. 461-480. Archivováno 9. června 2018 na Wayback Machine
  6. 1 2 Sony Corporation. 128bitový Blockcipher CLEFIA Security and Performance  Evaluation . - 2007. Archivováno 20. ledna 2022.
  7. Wei Wang, Xiaoyun Wang. Vylepšená nemožná diferenciální kryptoanalýza CLEFIA  . - 2008. Archivováno 10. listopadu 2019.
  8. ISO. ISO/IEC 29192-2:2012 . Získáno 1. listopadu 2019. Archivováno z originálu dne 21. října 2020.
  9. Odkaz na šifru . Staženo 5. prosince 2019. Archivováno z originálu dne 3. listopadu 2019.

Odkazy