Decim

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 15. marts 2018; checks kræver 2 redigeringer .

Inden for kryptografi er Decim  en LFSR-baseret stream-chiffer udviklet af Côme Burbain , Oliver Billet, Ann Cantoux, Nicolas Courtois , Blandine Debret, Henry Hilbert, Louis Goubin, Aline Gouget, Louis Grandboulan, Cederic Lardoux, Marin Mignet, Thomas Pornin og Herv Sibe . Specialiseret til hardwareimplementering. Patenteret . Det blev introduceret i eSTREAM- projektet , hvor det ikke gik ud over tredje fase.

Introduktion

Det vigtigste krav til ciphers  er modstand mod forskellige typer angreb . Algebraiske angreb  er en af ​​de mest alvorlige sikkerhedstrusler mod streaming af chiffer . Hvis forholdet mellem en kombination af hemmelige nøglebits og gammabitten , der genereres af den, er enkel eller let forudsigelig, så er det også en simpel opgave at finde algebraiske sammenhænge mellem en kombination af hemmelige nøglebits og en nøglestrømsbit (gamma). For at komplicere forholdet mellem kombinationen af ​​bits af den hemmelige nøgle (eller kombinationen af ​​bits af den oprindelige tilstand af LFSR genereret af den hemmelige nøgle) og bits af nøglestrømmen (gamma), bruges en ikke- lineær filtreringsfunktion fra kombinationen af ​​bits af den hemmelige nøgle og desynkroniseringsmekanismer mellem kombinationen af ​​bits af den hemmelige nøgle og bits af nøglestrømmen (gamma ). Begge disse mekanismer (den ikke-lineære filtreringsfunktion og desynkroniseringsmekanismen mellem kombinationen af ​​LFSR-bits og keystream -bits ) er grundlaget for driften og det vigtigste middel til at forhindre kryptoanalytiske angreb af Decim -chifferet .

Oversigt over Decims arbejde

Kom godt i gang med Decim -strømchifferet begynder med at indtaste en 80-bit privat nøgle og en 64-bit offentlig nøgle (initialiseringsvektor). Derefter beregnes starttilstanden af ​​192-bit LFSR ved hjælp af visse lineære kombinationer af bit og bit , ved brug af en ikke-lineær filterfunktion og anvendelse af ABSG- samplingmekanismen . Efter at have udført alle disse operationer, begynder genereringen af ​​nøglestrømmen [1] , og den fylder en speciel buffer BUFFER , som bruges til at sikre det kontinuerlige output af bit til outputtet af chifferen, hvor de tilføjes modulo to med en binær rækkefølge af almindelige tegn .

Specifikation

LFSR og filtreringsfunktion

Det primitive polynomium forbundet med LFSR har formen:

Angiv med [2] sekvensen af ​​bit modtaget fra LFSR -output , så er reglen for beregning af en bit ved LFSR -output :

For at komplicere afhængighederne mellem LFSR bits og bits bruges en ikke-lineær filtreringsfunktion af syv variabler . I hver cyklus anvendes den to gange - på bits, der er i forskellige positioner i LFSR . Betegn og fungerer sådan, at

og

, hvor

Lade

.

LFSR bitpositioner, der er argumenter til og :

Derefter

.

ABSG prøveudtagningsmekanismen

ABSG- samplingsmekanismen bruges til at forhindre algebraiske angreb og nogle typer hurtige korrelationsangreb ved at desynkronisere de filtrerede LFSR - bits og gamma- bittene . Arbejdet med ABSG- samplingsmekanismen er at opdele sekvensen i undersekvenser af formen , hvor , og output if , og andet.

ABSG algoritme

Input: ( )

Sæt: ,

Gentag følgende trin:

  1. , ;
  2. ;
  3. mens ( == ) ;
  4. ;
  5. output ;
  6. ;

Eksempel:

lad så den tilsvarende sekvens ved udgangen af ​​ABSG har formen .

I gennemsnit svarer en bit ved indgangen til ABSG til en bit ved udgangen, som det kan ses af eksemplet.

Buffer BUFFER

Da ABSG-bitoutputtet ikke er konstant ( i gennemsnit bruges tre bit til at generere én bit ), og da strømchifferet skal udsende en gammabit for hver klokcyklus , bruges en BUFFER-buffer til kontinuerligt at udsende gammabits .

Efter initialisering af starttilstanden af ​​RSLOS begynder udfyldningen af ​​BUFFER , og først efter at BUFFER er udfyldt, begynder krypteringen af ​​klarteksten (desuden fungerer BUFFER i henhold til typen af ​​kø  - den første bit, der kommer ind i BUFFER er først til at forlade).

Der er en mulighed for, at mens BUFFER skulle have udsendt en smule, viste det sig at være tomt. Denne sandsynlighed er lille, for eksempel for en BUFFER med fire input, er sandsynligheden for, at den er tom, når den skal udsende en bit . Decim - udviklerne foreslår at se bort fra denne mulighed, idet de antager, at dens sandsynlighed er nul.

Initialisering af den oprindelige tilstand af RLOS

Den hemmelige nøgle er 80 bit lang, den offentlige nøgle (initialiseringsvektor) er 64 bit lang, men polstret med nuller til 80 bit. Lad biterne af LFSR . Derefter beregnes starttilstanden for LFSR som følger:

Det kan ses, at antallet af mulige begyndelsestilstande af LFSR er .

Noget forklaring på, hvordan Decim virker

RSLOS

For at forhindre afvejningsangreb med tidshukommelse skal længden af ​​LFSR være mindst 160 bit. LFSR bør også være enkel i hardwareimplementering . Baseret på disse faktorer blev LFSR- størrelsen valgt til at være 192 bit.

Hamming-vægten af ​​det primitive polynomium bør være stor nok til at forhindre et hurtigt korrelationsangreb , men på den anden side bør Hamming-vægten af ​​det primitive polynomium ikke være for stor, for ikke at øge tiden for chifferen i hardwaren implementering.

Filterfunktion

Filterfunktionen skal være ligevægt [3] og for at forhindre differentiel kryptoanalyse skal den opfylde udbredelseskriteriet : funktionen skal være ligevægt. For at forenkle hardwareimplementeringen er det også ønskeligt, at funktionen er symmetrisk, det vil sige, at værdien af ​​funktionen kun afhænger af Hamming-vægten af ​​dens argument (sæt x_1,...x_7). Alt dette krav er opfyldt af en kvadratisk funktion af formen:

,

som bruges som filtreringsfunktion for Decim -chifferet .

Decim-chifferets styrke

Med undtagelse af komplekse tilfælde af tidshukommelses-kompromisangreb, er den beregningsmæssige kompleksitet af angreb på Decim -chifferet ifølge forfatterne lig med kompleksiteten af ​​et brute-force- angreb og er ikke mindre end [4] .

Men en uafhængig kryptoanalyse udført af Hongyang Wu og Bart Prenil viste upålideligheden af ​​Decim-chifferet, og den beregningsmæssige kompleksitet af angrebet viste sig ikke at være mere end , hvilket er absolut uacceptabelt [5] .

Noter

  1.  - gamma genereret til takten
  2.  - bit beregnet pr. ur
  3. En funktion af variable kaldes ligevægt, hvis dens Hamming-vægt er lig med
  4. [1] Arkiveret 27. maj 2011 på Wayback Machine C. Berbain1, O. Billet1, A. Canteaut2, N. Courtois3, B. Debraize, H. Gilbert, L. Goubin, A. Gouget, L. Granboulan, C Lauradoux, M. Minier, T. Pornin, H. Sibert Decim – en ny stream-chiffer til hardwareapplikationer
  5. [2] Arkiveret 27. maj 2011 på Wayback Machine Hongjun Wu, Bart Preneel Krypteringsanalyse af Stream Cipher DECIM Katholieke Universiteit Leuven, Dept. ESAT/COSIC

Links