CLEFIA

Den aktuelle version af siden er endnu ikke blevet gennemgået af erfarne bidragydere og kan afvige væsentligt fra den version , der blev gennemgået den 20. marts 2020; checks kræver 5 redigeringer .
CLEFIA
Skaber Taizō Shirai, Kyouji Shibutani, Tohru Akishita, Shiho Moriai, Tetsu Iwata
Oprettet 2007 _
offentliggjort 22. marts 2007
Nøglestørrelse 128, 192, 256 bit
Blokstørrelse 128 bit
Antal runder 18/22/26 (afhænger af nøglestørrelse)
Type Feistel netværk

CLEFIA (fra fransk  nøgle "nøgle") er en blokcifre med en blokstørrelse på 128 bit, en nøglelængde på 128, 192 eller 256 bit og et antal runder på henholdsvis 18, 22, 26. Denne kryptoalgoritme tilhører de "lette" algoritmer og bruger Feistel-netværket som den vigtigste strukturelle enhed. CLEFIA blev udviklet af Sony Corporation og introduceret i 2007. Forfatterne er Taizo Shirai, Kyoji Shibutani, Toru Akishita, Shiho Moriai og Nagoya University Associate Professor Tetsu Iwata.

Hovedformålet med denne chiffer er at bruge som et sikkert alternativ til AES inden for ophavsretsbeskyttelse og DRM-systemer , samt brug i RFID - tags og smart cards .

Det er en af ​​de mest effektive kryptoalgoritmer, når det implementeres i hardware: hardwareimplementeringen af ​​CLEFIA kan nå en effektivitet på 400,96 Kbps pr. ækvivalent logisk celle i indkoderen, hvilket er den højeste blandt de algoritmer, der er inkluderet i ISO-standarderne for 2008 [1] .

Algoritmen var en af ​​de første chiffere, der brugte DSM ( Diffusion Switching Mechanism )  teknologi til at øge beskyttelsen mod lineær og differentiel kryptoanalyse [2] [3] .

Datakrypteringsskema

Notation
Præfiks for binær streng i hexadecimal form
viser længde i bits
Sammenkædning
Opdater værdi efter værdi
Bitvis XOR
Multiplikation ind

Algoritmen består af to komponenter: en nøglebehandlingsdel og en databehandlingsdel. Antallet af CLEFIA-runder afhænger af nøglelængden og er henholdsvis 18, 22 eller 26 runder med 36, 44 og 52 undernøgler. Algoritmen bruger nøgleblegning med yderligere undernøgler før og efter databehandling.

Det grundlæggende trin i datakryptering i CLEFIA er brugen af ​​et generaliseret Feistel-netværk med 4 eller 8 grene, som bruges både med hensyn til databehandling og med hensyn til nøglebehandling (figur 1). I det generelle tilfælde, hvis et generaliseret Feistel-netværk har d-grene og r-runder, betegnes det som ( eng. generaliseret Feistel-netværk ). Dernæst overvejes Feistel-netværksoperationsalgoritmen i tilfælde af brug af 4 grene og en 128-bit datablok.  

Ud over 4 x 32-bit indgange ( ) og 4 x 32-bit udgange ( ), bruges også runde taster . Deres antal skyldes, at hver runde kræver halvt så mange nøgler som grene. genereres i nøglebehandlingsdelen [4] .

Hver Feistel-celle involverer også to forskellige -funktioner: . -funktioner hører til SP-typen af ​​funktioner og bruger:

F-funktioner

De to - funktioner og brugt i inkluderer de ikke-lineære 8-bit S-bokse og , diskuteret nedenfor, og matricerne og af størrelse . Hver -funktion bruger disse S-bokse i en anden rækkefølge og bruger en anden distributionsmatrix til Galois-multiplikation. Figurerne viser indholdet af -funktioner [4] . -funktioner er defineret som følger:


Funktion Trin 1. Trin 2. Trin 3.


Funktion Trin 1. Trin 2. Trin 3.

S-blokke

CLEFIA bruger to forskellige typer S-bokse, hver 8 bit store. De er genereret på en sådan måde, at de minimerer det areal, de optager, når de implementeres i hardware. Den første ( ) består af 4-bit tilfældige S-bokse. Den anden ( ) bruger den omvendte funktion på feltet . Tabellerne nedenfor viser outputværdierne i hexadecimal for S-bokse. De øverste 4-bits for en 8-bit S-box-input angiver en række, og de nederste 4-bits angiver en kolonne. Hvis f.eks. værdien indtastes , udsender blokken [3] .

Første S-blok

oprettet ved hjælp af fire 4-bit S-bokse som følger:

Algoritme til opnåelse af outputdata ved brug af blokken Trin 1. Trin 2. Trin 3.

Multiplikation udføres i overpolynomier , som er defineret ved et irreducerbart polynomium . I tabellen kan du finde den tilsvarende modtagne S-boks .

Bord Bord
Anden S-blok

Blokken er defineret som:

I dette tilfælde er den inverse funktion i feltet , som er givet af et irreducerbart polynomium .  er affine transformationer over , defineret som følger:

Her bruges det at og . Således opnås en blok .

Bord

Formeringsmatricer

Formeringsmatricerne er defineret som følger:

Matrix- og vektormultiplikationer udføres i et felt defineret af et irreducerbart polynomium .

Generel struktur for kryptering

Således baseret på det generaliserede Feistel-netværk (4 input til datablok; 2r input til runde taster; 4 udgange til chiffertekst):

Datakryptering og dekrypteringsalgoritme:

Kryptering ( ) Trin 1. Trin 2. Trin 2.1. Trin 2.2. Trin 3 Dekryptering ( ) Trin 1. Trin 2. Trin 2.1. Trin 2.2. Trin 3

Antallet af runder er 18, 22 og 26 for henholdsvis 128-bit, 192-bit og 256-bit nøgler. Summen afhænger af nøglelængden, så databehandlingsdelen kræver 36, 44 og 52 runde nøgler for henholdsvis 128-bit, 192-bit og 256-bit nøgler.

fra også underlagt nøgleblegning

Brug af nøgleblegning

CLEFIA-databehandlingsdelen, der består af til kryptering og til dekryptering, inkluderer XOR -procedurer mellem tekst- og blegningsnøglerne i begyndelsen og slutningen af ​​algoritmen.

Lad  derfor være klarteksten og chifferteksten, og lad være  klartekst- og chiffertekstdelene, hvor og , og lad være  blegningstasterne og og  være de runde taster, der leveres af nøglebehandlingsdelen. Så er krypteringsalgoritmen ved hjælp af nøgleblegning:

Krypteringsfunktion Trin 1. Trin 2. Trin 3. Dekrypteringsfunktion Trin 1. Trin 2. Trin 3.

Nøglebehandlingsalgoritme

Nøglebehandlingsdelen af ​​CLEFIA-chifferen understøtter 128, 192 og 256 bit nøgler og resulterer i blegningsnøgler og runde nøgler til databehandlingsdelen. Lad være nøglen, og  vær den mellemliggende nøgle (opnået ved hjælp af den reducerede databehandlingsdel), så består nøglebehandlingsdelen af ​​tre trin:

  1. Generation fra .
  2. Generation fra .
  3. Generation fra og .

For at generere fra , bruger nøglebehandlingsdelen for en 128-bit nøgle 128-bit (4 inputs af 32 bits), mens for 192/256-bit nøgler bruges 256-bit (8 inputs af 32 bits). Det følgende er en beskrivelse af algoritmen i tilfælde af en 128-bit nøgle.

Bit-byttefunktion

Denne algoritme bruger DoubleSwap bit swap-funktionen (symbol: ):

Desuden betegner det en bit-streng skåret fra -th bit til -th bit fra .

Konstant generation

Skemaet kræver et antal (hvis ) runde nøgler som input , og når dette skema anvendes i nøglebehandlingsdelen, bruger CLEFIA-chifferet forudgenererede konstanter som runde nøgler. Der er også behov for yderligere konstanter i andet trin, når der genereres og , og deres antal er ens (men i dette tilfælde konstanterne og fra databehandlingsdelen).

Disse 32-bit konstanter er angivet som , hvor  er antallet af konstanten,  er antallet af bit brugt til nøglen (kan være 128, 196, 256). Så vil antallet af konstanter være 60, 84, 92 for henholdsvis 128, 192, 256 bit nøgler.

Lad og . Derefter algoritmen for generering (i tabellen, antallet af iterationer og begyndelsesværdier ):

Trin 1. Trin 2. Trin 2.1. Trin 2.2. Trin 2.3.

Hvor  - logisk negation,  - cyklisk venstreskift for -bit; og multiplikation forekommer i et felt og et absolut irreducerbart polynomium .

Nøglebehandling i tilfælde af en 128-bit nøgle

Den 128-bit mellemnøgle genereres ved at bruge , som tager fireogtyve 32-bit konstanter som input som runde nøgler og som data til kryptering. Derefter og bruges til at generere og i følgende trin:

Generation fra : Trin 1. Generation fra : Trin 2 Generation fra og : Trin 3. Trin 3.1. Trin 3.2. Trin 3.3. Trin 3.4.

Funktioner af chifferen

CLEFIA kan implementeres effektivt i både hardware og software. Tabellen viser de vigtigste fordele ved de teknologier, der anvendes i denne chiffer [3] .

Designovervejelser for effektiv implementering
  • - små funktioner (32-bit input/output)
  • Intet behov for inverterbarhed af -funktioner
SP-type -funktioner
  • Mulighed for hurtig tabelimplementering i software
DSM
  • Reduktion af antallet af runder
S-klodser
  • Meget lille fodaftryk i hardware
matricer
  • Brug af elementer med kun lav Hamming-vægt
Nøglebehandlingsdel
  • Deling af en struktur med en databehandlingsdel
  • Kræver kun et 128-bit register for en 128-bit nøgle
  • Lille område af DoubleSwap-funktionen

Fordelene og funktionerne i CLEFIA-algoritmen er:

  • Generaliseret Feistel netværk ;
  • DSM ( Diffusion Switching Mechanism )  ;
  • To S-bokse.

Implementeringsfunktioner af GFN

CLEFIA bruger en generaliseret 4-grenet Feistel-struktur, som ses som en forlængelse af den traditionelle 2-grenede Feistel-struktur. Der er mange typer af generaliserede Feistel-strukturer. CLEFIA-algoritmen bruger den anden type af denne struktur (skema 1) [5] . Strukturen af ​​den anden type har to F-funktioner i en runde for fire datalinjer.

En type 2-struktur har følgende funktioner:

  • -funktioner mindre end den traditionelle Feistel-struktur;
  • flere -funktioner kan behandles samtidigt;
  • kræver generelt flere runder end den traditionelle Feistel-struktur.

Den første funktion er en stor fordel for software- og hardwareimplementeringer; og den anden funktion er velegnet til effektiv implementering, især i hardware. Men samtidig stiger antallet af runder mærkbart på grund af den tredje feature. Fordelene ved den anden type struktur opvejer dog ulemperne ved dette blokchifferdesign, da der anvendes en ny programmeringsteknik ved hjælp af DSM og to typer S-bokse, hvilket effektivt reducerer antallet af runder.

Brug af diffusionskoblingsmekanismen

CLEFIA bruger to forskellige udbredelsesmatricer til at forbedre modstanden mod differentielle angreb og lineære angreb ved hjælp af DSM-mekanismen (skema 2). Denne designteknik blev oprindeligt udviklet til traditionelle Feistel-netværk [3] . Denne teknik er blevet overført til , hvilket er en af ​​de unikke egenskaber ved denne chiffer. Takket være DSM kan du også øge det garanterede antal aktive S-bokse med det samme antal runder.

Følgende tabel viser det garanterede antal aktive S-bokse i CLEFIA-chifferet. Dataene blev opnået ved computersimulering ved hjælp af en udtømmende søgealgoritme [3] . Kolonne "D" og "L" i tabellen viser det garanterede antal aktive S-bokse i henholdsvis differentiel og lineær kryptoanalyse. Af denne tabel kan det ses, at effekten af ​​DSM allerede optræder ved , og det garanterede antal S-bokse stiger med omkring 20% ​​- 40%, i modsætning til strukturen uden DSM. Derfor kan antallet af runder reduceres, hvilket betyder, at præstationen forbedres.

Garanteret antal aktive S-bokse
Antal runder 1 - 13
runder Diff. og Lin. (uden DSM) Diff. (med DSM) Lin. (med DSM)
en 0 0 0
2 en en en
3 2 2 5
fire 6 6 6
5 otte otte ti
6 12 12 femten
7 12 fjorten 16
otte 13 atten atten
9 fjorten tyve tyve
ti atten 22 23
elleve tyve 24 26
12 24 28 tredive
13 24 tredive 32
Antal runder 14 - 26
runder Diff. og Lin. (uden DSM) Diff. (med DSM) Lin. (med DSM)
fjorten 25 34 34
femten 26 36 36
16 tredive 38 39
17 32 40 42
atten 36 44 46
19 36 44 46
tyve 37 halvtreds halvtreds
21 38 52 52
22 42 55 55
23 44 56 58
24 48 59 62
25 48 62 64
26 49 65 66

I tabellen er en række fremhævet med rødt, hvilket angiver det mindst nødvendige antal runder, for at chifferen er modstandsdygtig over for brute-force- krypteringsanalyse ( se også ). Rækker er fremhævet med blåt, hvor antallet af runder bruges i CLEFIA-algoritmen med henholdsvis 128/192/256-bit nøgler.

Funktioner af de to S-bokse

CLEFIA bruger to forskellige typer 8-bit S-bokse: den ene er baseret på fire 4-bit tilfældige S-bokse; og den anden er baseret på den omvendte funktion i , som har den maksimalt mulige angrebskompleksitet for differentiel kryptoanalyse og lineær kryptoanalyse . Begge S-bokse er valgt for effektiv implementering, især i hardware.

For sikkerhedsindstillinger er , og det er . For og begge er ens [6] .

Sikkerhed

Differentiel kryptoanalyse

Ifølge tabellen over antallet af aktive S-bokse med DSM (i afsnittet Using Diffusion Switching Mechanism ) er minimumsantallet af runder 12. Således bruges 28 aktive S-bokse til en 12-rund CLEFIA og ( se også ) , bestemmer vi, at sandsynligheden for karakteristikken er . Dette betyder, at kompleksiteten af ​​angrebet er højere, og der er ingen brugbar differentialkarakteristik på 12 runder for angriberen. Da den har en lavere , forventes den faktiske øvre grænse at være lavere end ovenstående estimat [3] . Som et resultat mener vi, at en fuld CLEFIA-runde er beskyttet mod differentiel kryptoanalyse (18 runder bruges i CLEFIA).

Lineær kryptoanalyse

For at estimere kompleksiteten af ​​lineær kryptoanalyse anvendes en tilgang baseret på at tælle aktive S-bokse for et givet antal runder. Fordi at bruge 30 aktive S-bokse til en 12-rund CLEFIA, . Dette fører til den konklusion, at det er svært for en angriber at finde nok tekst-chiffertekst-par, der kan bruges til at angribe CLEFIA med succes. Som følge heraf er en CLEFIA med alle funktioner tilstrækkelig sikker mod lineær kryptoanalyse [6] .

Umulig differentiel kryptoanalyse

umulige differentialangreb for at være et de mest kraftfulde angreb mod CLEFIA. Følgende to umulige differentielle veje er blevet fundet [7] :

hvor  er enhver værdi, der ikke er nul. Ved at bruge den ovenfor beskrevne funktion er det således muligt at simulere et angreb (for hver nøglelængde), som vil genoprette den aktuelle nøgle. Følgende tabel opsummerer de kompleksiteter, der kræves for umulige differentielle angreb. Ifølge denne tabel forventes fuldcyklus CLEFIA at have en tilstrækkelig sikkerhedsmargin mod dette angreb.

Kompleksiteten af ​​den umulige differentielle kryptoanalyse
Antal runder Nøglens længde Nøgleblegning Antal åbne tekster Tidskompleksitet
ti 128.192.256 +
elleve 192.256 +
12 256 -

Sammenligning med andre cifre

CLEFIA giver en kompakt og hurtig implementering på samme tid uden at ofre sikkerheden. Sammenlignet med AES, den mest udbredte 128-bit blokchiffer, har CLEFIA en fordel i hardwareimplementering. CLEFIA kan opnå 1,6 Gb/s med mindre end 6000 ækvivalente logiske celler gennemstrømningen pr. gateway er den højeste i verden i 2008 (i tilfælde af hardwareimplementering) 1] .

Tabellen nedenfor viser de komparative karakteristika for CLEFIA-chifferet i forhold til nogle andre velkendte ciphers [1] :

Områdeoptimeret implementering
Algoritme Blokstørrelse (bits) Nøglestørrelse (bits) Antal runder Båndbredde ( Mpbs ) Område (Kgates) Effektivitet (Kpbs/gates)
CLEFIA 128 128 atten 1.605,94 5,98 268,63
36 715,69 4,95 144,59
AES 128 128 ti 3.422,46 27,77 123,26
Camellia 128 128 23 1.488,03 11.44 130,11
FRØ 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
tredive 570,41 7,92 72,06
TDEA 64 56, 112, 168 48 355,56 3,76 94,50
Hastighedsoptimeret implementering
Algoritme Blokstørrelse (bits) Nøglestørrelse (bits) Antal runder Båndbredde ( Mpbs ) Område (Kgates) Effektivitet (Kpbs/gates)
CLEFIA 128 128 atten 3.003,00 12.01 250,06
36 1.385,10 9,38 147,71
AES 128 128 ti 7.314,29 45,90 159,37
Camellia 128 128 23 2.728,05 19,95 136,75
FRØ 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
tredive 772,95 10.12 76,41
TDEA 64 56, 112, 168 48 766,28 5,28 145,10

Ansøgning

I 2019 inkluderede ISO- og IEC -organisationerne PRESENT- og CLEFIA-algoritmerne i den internationale standard for letvægtskryptering ISO/IEC 29192-2:2019 [8] .

Der er et CLEFIA_H-bibliotek i programmeringssproget C, der implementerer CLEFIA-chifferet [9] .

Noter

  1. 1 2 3 Takeshi Sugawara, Naofumi Homma, Takafumi Aoki, Akashi Satoh. Højtydende ASIC-implementeringer af 128-bit Block Cipher CLEFIA //  2008 IEEE International Symposium on Circuits and Systems. - Seattle, WA, USA: IEEE, 2008. - 13. juni. ISBN 978-1-4244-1683-7 . ISSN 0271-4302 . - doi : 10.1109/ISCAS.2008.4542070 .  
  2. Shirai T., Shibutani K. Om Feistel-strukturer ved hjælp af en diffusionskoblingsmekanisme  . - Berlin, Heidelberg: Springer, 2006. - ISBN 978-3-540-36597-6 . - doi : 10.1007/11799313_4 . Arkiveret fra originalen den 17. juni 2018.
  3. 1 2 3 4 5 6 Taizo Shirai, Kyoji Shibutani, Toru Akishita, Shiho Moriai, Tetsu Iwata. 128-bit Blockcipher CLEFIA (Extended Abstract  ) . - 2007. Arkiveret 1. marts 2022.
  4. 1 2 Sony Corporation. 128 - bit Blockcipher CLEFIA Algorithm Specification  . - 2007. Arkiveret den 19. januar 2022.
  5. Y. Zheng, T. Matsumoto, H. Imai. På konstruktionen af ​​blokcifre beviseligt sikre og ikke stole på nogen ubeviste hypoteser  . - Springer-Verlag: Crypto'89, LNCS 435, 1989. - S. 461-480. Arkiveret 9. juni 2018 på Wayback Machine
  6. 1 2 Sony Corporation. 128-bit Blockcipher CLEFIA Security and Performance  Evaluations . - 2007. Arkiveret den 20. januar 2022.
  7. Wei Wang, Xiaoyun Wang. Forbedret umulig differentiel krypteringsanalyse af CLEFIA  . - 2008. Arkiveret den 10. november 2019.
  8. ISO. ISO/IEC 29192-2:2012 . Hentet 1. november 2019. Arkiveret fra originalen 21. oktober 2020.
  9. Cipher Reference . Hentet 5. december 2019. Arkiveret fra originalen 3. november 2019.

Links