Korn

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. juli 2019; checks kræver 4 redigeringer .

Grain er en symmetrisk synkron strømkrypteringsalgoritme , primært fokuseret på hardwareimplementering. Cipher indsendt til 2004 eSTREAM- konkurrencen af ​​Martin Hell , Thomas Johansson og Willi Meyer . Algoritmen blev en af ​​finalisterne i konkurrencen i den anden profil (hardware-orienterede ciphers).

Beskrivelse

Chifferen består af tre hovedblokke: to 80-bit feedback-skiftregistre og en outputfunktion. Et af registrene har en lineær feedback-funktion (LFSR), det andet register har en ikke-lineær feedback-funktion (NFSR). Chifferens interne tilstand er fuldstændig bestemt af skifteregistrene.

Lineær feedback-skiftregister

Feedbackfunktionen af ​​dette register er givet af et primitivt polynomium

Hvis vi repræsenterer registrets tilstand som , så vil den næstmindst signifikante (højre) bit blive givet af forholdet

Ikke-lineær feedback-skiftregister

Feedbackfunktionen af ​​et ikke-lineært feedbackregister er givet af

For bits i NLSR-registret er udtrykket

Output funktion

Funktionen tager bitværdier fra LFSR og NFSR som argumenter:

hvor er lige hhv

Som et resultat, output

Tilstandsinitialisering

Chifferen accepterer en 80-bit nøgle ( hemmelig nøgle ) og en 64-bit initialiseringsvektor ( initieringsvektor ) som input.

Før du begynder at generere en nøglestrøm ( keystream ), skal chifferen initialisere sin tilstand.
Lad og . Der kan skelnes mellem følgende stadier af tilstandsinitialisering:

1. Indlæs nøglebits i NFSR, 2. Indlæs i LFSR, 3. Fyld resterende LFSR-bits med enere,

Derefter fungerer chifferen i 160 cyklusser uden at udstede en nøglestrøm, men resultatet af chifferoperationen føres til input fra NFSR og LFSR.

Ydeevne

I det tilfælde, hvor hardwareplatformen ikke er begrænset i ressourcer, giver chifferen dig mulighed for blot at øge krypteringshastigheden. Fordi begge registre forskydes med 1 bit hver cyklus, så hvis du blot implementerer flere gange ( ) feedbackfunktionerne og og outputfunktionen , så kan krypteringshastigheden øges med en faktor, mens skifteregistrene for hver cyklus også skal forskydes med lidt. De nederste 15 bit af skifteregistrene bruges ikke i feedbackfunktioner og kan derfor tage værdier fra 1 til 16 . når tilstanden initialiseres, skal chifferen udarbejde 160 cyklusser, så dette pålægger nogle begrænsninger på værdien af ​​, skal være et heltal.

Sikkerhed

Tilbage i version 0.0 udtalte forfatterne, at chifferen var designet på en sådan måde, at et angreb hurtigere end en fuldstændig søgning på nøgler er umuligt. Det bedste angreb bør således have en kompleksitet i størrelsesordenen 2 80 .

I Grain 0.0-specifikationen [1] udtalte forfatterne: "Grain giver større sikkerhed end nogle andre velkendte hardware-baserede ciphers. Velkendte eksempler på sådanne ciphers er E0 , der bruges i Bluetooth , og A5/1 , der bruges i GSM . Selvom disse cifre er enkle i implementeringen, har de vist sig at være meget upålidelige. Sammenlignet med E0 og A5/1 giver Grain mere pålidelighed, samtidig med at den er nem at implementere."

I version 0.0 blev der fundet en række alvorlige sårbarheder, så i den opdaterede version 1.0 [2] blev outputfunktionen og feedbackfunktionen i det ikke-lineære inverse funktionsregister (NFSR) ændret lidt for chifferen. Derefter, siden oktober 2006, er intet angreb mod Grain version 1.0 kendt for at være hurtigere end brute force. I september 2006 blev der dog gjort et forsøg på at angribe nøglen [3] . Artiklen siger: "vi har fundet tilknyttede nøgler og frø i Grain, for ethvert par (K,IV) med sandsynlighed 1/22 er der et tilknyttet par (K',IV'), der genererer en nøglestrøm forskudt med 1 bit. Selvom dette ikke er et vellykket angreb på nøglen, viser denne kendsgerning en mulig svaghed ved chifferen ved initialisering af staten."

Se også

Noter

  1. Martin Hell , Thomas Johansson , Willi Meier . Grain - A Stream Cipher for Constrained Environments  (engelsk)  : tidsskrift. - eSTREAM, 2005. - 29. april. Arkiveret fra originalen den 26. maj 2011.
  2. Martin Hell , Thomas Johansson , Willi Meier . Grain - A Stream Cipher for Constrained Environments  (engelsk)  : tidsskrift. - eSTREAM, 2006. Arkiveret fra originalen den 27. maj 2011.
  3. Ozgul Kucuk . Slide Resynchronization Attack on the Initialization of Grain 1.0   : journal . - eSTREAM, 2006. - 16. juli. Arkiveret fra originalen den 27. maj 2011.

Links