Warning: Missing argument 2 for wpdb::prepare(), called in /home/stromber/public_html/kryptoblog/wp-content/plugins/wp-super-edit/wp-super-edit.core.class.php on line 109 and defined in /home/stromber/public_html/kryptoblog/wp-includes/wp-db.php on line 1222
Grain, ett annat Svenskt bidrag till eSTREAM » Kryptoblog

Grain, ett annat Svenskt bidrag till eSTREAM

September 26th, 2005 by Joachim Strömbergson Leave a reply »

Grain är ett bidrag av Martin Hell och Thomas Johansson från LTH tillsammans med Willi Meier från Schweiz. Grain är ett krypto för kategori två, mer specifikt för inbyggda system.

Thomas Johansson har tidigare varit med och utvecklat strömkryptot Snow. Version 1.0 av Snow var en kandidat till NESSIE - New European Schemes for Signatures, Integrity, and Encryption. Snow 1.0 visade sig dock innehålla svagheter vilket gjorde att den inte blev antagen i NESSIE-sviten (det gjorde inga andra strömkrypton heller, och är en anledning till eSTREAM-satsningen).

Svagheterna i Snow hanterades i en andra verision av Snow och jag trodde att Snow 2.0 skulle bli inskickad som bidrag till eSTREAM. Men Grain är ett helt annat krypto.

Grain är ett krypto direkt avsett för implementation i hårdvara och är byggt för att minimera logik- och minnesresurser. Några egenskaper:

  • Nyckellängd på 80 bitar med initialvektor (IV) på 64 bitar.

  • Består av två skiftregister sammankopplade med en icke-linjär filterfunktion.

  • Skalbar prestanda baserad på parallellkoppling av flera stycken Grain-krypton.

De två skiftregistren är bitbaserade. Det ena skiftregistret är ett linjärt skiftregister (LFSR) medan det andra är ett icke-linjärt skiftregister (NFSR). Båda skiftregistren är 80 bitar långa.

Vid initiering laddas nyckeln och IV:n in i kedjorna. Sedan stegas maskinen 160 cykler. Detta innebär att en initiering tar drygt 160 cykler. Inte speciellt mycket, men klart mer än AES/Rijndael. Det är även långsammare än Bluetooth-kryptot E0 eller A5/1 i GSM, två krypton som Grains skapare jämför med i sin artikel.

Skalbarheten åstadkoms i Grain genom att återmatningsfunktionerna för skiftregistren och filterfunktionen dubbleras. Därmed fås en linjär skalning av prestandad med linjär ökning av hårdvaruresurserna. De resurser som krävs är logik (grindar) och routing (ledningar). Skiftregistren är byggda så att de lägsta 16 bitarna inte används i återmatningsfunktionerna. Detta gör att Grain enkelt går att skala från 1 till 16 bitar.

Författarnas implementation i en Altera Cyclone skalar i prestanda från 280 Mbit/s till 3.1 Gbit/s med en faktor fyra i storlek. Imponerande. Jag gillar verkligen skalbarheten i prestanda. Det jag skulle vilja ha förutom skalbarhet i prestanda är skalbarhet i nyckellängd. 80 bitar är i min mening i underkant. Upp till 128 bitar hade nog varit bra.

Grain är i mitt tycke ett mycket intressant krypto.

No related posts.

Related posts brought to you by Yet Another Related Posts Plugin.

Advertisement

Leave a Reply

You must be logged in to post a comment.