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
Krypto » Kryptoblog

Archive for the ‘Krypto’ category

Längd på nycklar och säkerhet

May 10th, 2010

Jag har den senaste tiden fått flera frågor om längder på kryptonycklar – frågor om vad som är säkert, hur lång en assymetrisk nyckel skall vara för att motsvara en symmetrisk nyckel av en viss längd osv.

Det finns flera källor för information om nyckellängder. Den som ofta förekommer är den i idag något gamla boken Applied Cryptography av Bruce Schneier som i kapitel sju har ett längre resonemang om olika nycklar och längder.

Vidare har NIST publicerat rekommendationer om nyckellängder, deras rekommendationer är dock från 2007. Även IETF har publicerat en RFC, RFC 3766 - Determining Strengths For Public Keys Used For Exchanging Symmetric Keys som innehåller ett längre resonemang om nycklars styrka, hur nyckellängder behöver skala med tiden, samt rekommendationer för assymetriska nycklar.

Det många av dessa källor tyvärr har gemensamt är att dom inte uppdateras speciellt ofta (alls). Webb-baserade källor borde därför vara av intresse att titta närmare på.

WIkipedia har förvirrande nog (minst) två sidor i ämnet, dels en sida om nyckellängder och en sida om kryptonycklar, båda med text om nycklar och längder. Borde nog slås samman och städas upp för att det skall bli användbart.

När jag letat runt efter olika referenser hittade jag att belgiska konsultfirman BlueKrypt har en fin sida som sammanställer rekommendationer om nyckellängder.

Den i mitt tycke bästa källan är dock en rapport. ECRYPT Yearly Report on Algorithms and Key Lengths, utgiven av det EU-finansierade ECRYPT II-projektet.

Som namnet antyder är det här en rapport som uppdateras en gång om året. Den senaste versionen kom ut sommaren 2009. Rapporten innehåller ett ordentligt resonemang om hur nycklars styrkor bör värderas (inklusive diskussioner om metoder som NIST, IETF och andra använder). Resonemanget leder så småningom fram till ett antal rekommendationer.

En viktig sak man gör i ECRYPT II-dokumentet är att sätta in styrkan i nycklar i hur kostsamt (rent ekonomiskt) det är att attackera en viss längd:
Bild 2

Jämför dom sedan olika typer av nycklar – symmetriska, assymetriska baserade på RSA, logaritmer eller ellitic curves får kommer dom med följande rekommendationer:
Bild 3

Slutligen sätter dom in längderna i ett tidsperspektiv – hur lång tid kan man anta att en nyckel med en viss längd ger ett skydd:
Bild 1

Vill du skydda något i 10 år från idag bör du alltså välja minst 96 bitars symmetrisk nyckel eller en RSA-nyckel på drygt 2400 bitar.

Allt detta förutsätter dock att algoritmerna som används inte har några svagheter. Den andra delen av ECRYPTS rapport innehåller en genomgång av de vanligaste algoritmerna inom olika kategorier – krypton, hashfunktioner, signaturer etc (DES, 3DES, AES, RSA, MD5, SHA etc). För varje kategori och specifik algoritm presenterar ECRYPT aktuell status vad gäller säkerhet och kommer med rekommendationer om vad man bör och inte bör använda. Mycket bra läsning.

En sista sak: exportreglerna för krypto i Sverige säger maximalt 56 bitar symmetrisk kryptering och maximalt 512 bitars assymetrisk kryptering (antagligen RSA) eller 112 bitar (antagligen elliptic curve).

Sectra får order på höghastighetskrypto

May 6th, 2010

Elektronik i Norden rapporterar att Sectra fått en order från FMV på att utveckla linjekrypto för 10 Gbit/s.

Sectra logga.

Sectra ska på uppdrag av Försvarets materielverk (FMV), utveckla ett höghastighetskrypto för kryptering av känslig information i de nationella nät som används av myndigheter och försvar.

Hastigheten uppges till 10 Gbit/s, vilket är avsevärt snabbare än den kryptering som används idag. Ordervärdet uppgår till 23 miljoner kronor

Höghastighetskryptot ska skydda tal, data och video och säkerhetsnivån är den högsta, Hemlig/Top Secret.

Sectra har tidigare leverarat såväl linjekrypton, truppkrypton, flyg etc och även kryptomoduler som den här:
Sectras kryptomodul KM4-M

Ny Internet Draft: Test vectors for the stream cipher RC4

May 4th, 2010

Igår kväll släppte Simon Josefsson och jag den första versionen av en ny Internet Draft vi hackat på ett litet tag.

Test vectors for the stream cipher RC4 (draft-josefsson-rc4-test-vectors-00) försöker lösa ett problem vi ser finns när man försöker implementera varianter av strömkryptot RC4.

Eftersom RC4 från början inte är en öppen standard har det inte funnits en tydlig specifikation med testvektorer att använda för att verifiera att implementationen är funktionellt korrekt. Vidare, då RC4 har en del säkerhetsproblem – inte minst problemet med att den läcker nyckelinformation under de första genererade värdena efter initiering finns det ett antal versioner av RC4 där ett visst antal värden skall kastas bort.

Ett exempel på en sådan standard är Improved Arcfour Modes for the Secure Shell (SSH) Transport Layer Protocol (RFC 4345). Denna standard beskriver två versioner av RC4, arcfour128 och arcfour256. För dessa versioner skall de första 1536 värdena kastas bort.

Vår draft innehåller testvektorer genererade med två olika typer av nycklar med längder från 40 till 256 bitar. För varje nyckel och nyckellängd specificerar vi 32 Bytes runt ett flertal punkter i nyckelströmmen, exempelvis just 1536. Under arbetet har vi testat ett flertal implementationer av RC4 i exempelvis libgcrypt och andra bibliotek så väl som fristående implementationer, detta för att få så stor konfidens i att vektorerna är korrekta som möjligt.

Vi skulle uppskatta kommentarer och synpunkter på draften så om du läst igenom, ser något fel som strular, kommer på något som borde vara med, tas bort eller ändras – hör av dig till mig eller Simon!

Tack!

Vackra bilder på Fialka-rotorer

March 10th, 2010

Ok, det börjar bli sent, men jag kan inte låta bli att posta några bilder från en sida med extremt detaljerad beskrivning av rotorerna till den gamla ryska, elektromekaniska kryptomaskinen Fialka. Det här är vackert:

Rotorer 1
Rotorer - koppling
Vackert fodral
Extreme closeup

Beskrivning av nya attackmetoder

February 12th, 2010

Jag sprang på en artikel av Eli Biham & Co som ger en bra beskrivning till de nya krypanalytiska metoder de bland annat använt för att attackera kryptot KASUMI i UMTS/3G. Vill du veta mer om Related-Key Boomerang- och Rectangle attacker är detta artikeln att läsa. Ett helgnöje kanske?

Hårdvaruimplementationer av SHA-3-kandidater

February 12th, 2010

Den senaste tiden har det kommit flera artiklar som beskriver hårdvaruimplementationer av hashfunktioner som är kandidater till NISTs kommande SHA-3-standard. Några av dessa artiklar är Evaluation of Hardware Performance for the SHA-3 Candidates Using SASEBO-GII och An FPGA Technologies Area Examination of the SHA-3 Hash Candidate Implementations och Compact Hardware Implementations of the SHA-3 Candidates ARIRANG, BLAKE, Gr0stl, and Skein.

Det pågår även flera forskningsprojekt där man bygger upp ramverk för att på olika sätt jämföra implementationer (SW och HW) av olika kryptografiska funktioner – krypton, hashfunktioner etc. Ett sådan projekt är Athena-projektet som fokuserar på hårdvaruimplementationer. Ett annat projekt är ECRYPTs eBASH som mer tittar på SW-implementationer över ett stort antal processorarkitekturer.

Ett bekymmer med alla olika HW-implementationer är att det finns så många design- och teknologimässiga frihetsgrader. Är en given implementation optimerad för maximal prestanda eller minimal storlek? Är målteknologin en ASIC-process (och i så fall vilken processnod) eller en FPGA? Vilka teknologispecifika funktioner utntyttjas etc. Det är lätt att det blir en jämförelse mellan äpplen och päron, och kanske äpplen och köttfärslimpa.

I höstas kom artikeln Artikeln High-Speed Hardware Implementations of BLAKE, Blue Midnight Wish, CubeHash, ECHO, Fugue, Gr{o}stl, Hamsi, JH, Keccak, Luffa, Shabal, SHAvite-3, SIMD, and Skein där man försökt hantera detta. Genom att välja samma målteknologi, samma verktygsflöde, samma metodik och implementationstategi har man försökt skapa implementationer av kandidater som skall gå att jämföra med varandra.

Rapporten ger en bra översiktlig beskrivning av samtliga HW-implementationer som skapats. Målteknologi är en 180nm Standard Cell-process (ASIC) från Faraday och man har tagit design genom syntes ned till nätlista och där gjort prestandaskattningar.

Utifrån ren prestanda når Keccak 21 Gbit/s och vinner med bred marginal:
Prestandatabell.

En mer intressant blir det om man tittar på prestanda kontra storlek på implementationen:
Prestanda vs area.

Det verkar som de flesta kandidater ligger inom 40-60 kGates och där återfinns de fem snabbaste kandidaterna. I diagrammet ser man även hur Keccak och Luffa sticker ut prestandamässigt. Vidare är det värt att notera hur mycket mer komplexa de största kandidaterna är, och att det iaf inte ger någon prestandafördel. Om man skulle gå på dessa siffror (och utgår ifrån att säkerheten är lika hög hos alla kandidater) borde Keccak och Luffa ligga bra till samt att BMW och SIMD samt Skein sitta sämre till.

Det jag saknar nu är en bra jämförelse med SW-implementationer, ex från eBASH samt vad andra får fram för resultat av HW-implementationer (ex Athena). Visserligen riskerar det att bli äpplen och köttfärslimpa, men jag tror att den samlade bilden är viktig.

libssh2 1.2.3 släppt

February 3rd, 2010

I dag släpptes version 1.2.3 (här är GPG-signatur) av ssh2-biblioteket libssh2. Den nya versionen innehåller följande ändringar och buggfixar:


Changes:
ssh-agent support with the new libssh2_agent_* functions
Added libssh2_trace_sethandler()
Added the direct_tcpip.c and ssh2_agent.c examples

Bug fixes:
Fixed memory leak in userauth_publickey
Fixed publickey authentication regression
Silenced several compiler warnings
avoid returning data to memory already freed
transport layer fix for bogus -39 (LIBSSH2_ERROR_BAD_USE) errors
Fixed padding in ssh-dss signature blob encoding
Fixed direction blocking flag problems
Fixed memory leak in sftp_fstat()

Nya prestandarekord för AES

February 2nd, 2010

Sprang precis på artikeln Fast Implementations of AES on Various Platforms (pdf) av Joppe W. Bos, Dag Arne Osvik och Deian Stefan som beskriver flera nya mycket snabba implementationer av blockkryptot AES-128. Artikelns sammanfattning säger det mesta:

This paper presents new software speed records for encryption and decryption using the block cipher AES-128 for different architectures. Target platforms are 8-bit AVR microcontrollers, NVIDIA graphics processing units (GPUs) and the Cell broadband engine.

The new AVR implementation requires 124.6 and 181.3 cycles per byte for encryption and decryption with a code size of less than two kilobyte. Compared to the previous AVR records for encryption our code is 38 percent smaller and 1.24 times faster.

The byte-sliced implementation for the synergistic processing elements of the Cell architecture achieves speed of 11.7 and 14.4 cycles per byte for encryption and decryption.

Similarly, our fastest GPU implementation, running on the GTX 295 and handling many input streams in parallel, delivers throughputs of 0.17 and 0.19 cycles per byte for encryption and decryption respectively. Furthermore, this is the first AES implementation for the GPU which implements both encryption and decryption.

Artikeln ger bra information om optimeringar som gjorts för de olika arkitekturerna samt jämför med andra implementationer. Jag gillar även det faktum att man faktiskt nådde 59 Gbit/s(!) på en NVIDIA GTX 295, 1.24GHz.

Implementera Keccak och tävla om en Himitsu-Bako

February 2nd, 2010

Teamet bakom SHA-3 kandidaten, hashfunktionen Keccak har utlyst en implementationstävling:


We are looking for implementations of Keccak on exotic platforms!

We offer a prize for the most interesting implementation of Keccak on: – Graphic cards/GPU
– Embedded processors, (e.g. ARM, Cell processor…)
– any other analog/digital computing device


The price consists in a Himitsu-Bako (secret box, http://en.wikipedia.org/wiki/Himitsu-Bako).

Who wins the prize will be decided by consensus in the Keccak team. We will internally use a system of points. Some hints: – Fast implementation get more points – Uncommon devices get more points

We give freedom in the way Keccak is used. It is allowed to implement, for instance, tree hashing or batch hashing (several messages hashed in parallel), instead of plain sequential hashing, to take advantage of parallel computing and get better performance.

The results and source code must be publicly available on an URL that is sent to |keccak| /-at-/ |noekeon| /-dot-/ |org| before June 30, 2010 at 12:00 GMT+2. No specific licensing condition is requested (pick up the one you like!) We reserve the right to extend this deadline in the absence of interesting results. Otherwise, the winner will be announced during the Rump session of the second SHA-3 candidate conference in Santa Barbara.

Priset de pratar om är en sådan här:
Puzzle box

En implementation i Erlang kanske vore något (LinusN, Alu)?

Test av mobilkrypton (och vem kan man lita på).

February 1st, 2010

Mobilemag har en artikel om ett test av krypton för att skydda röstkommunikation från mobiler.

Den undersökning artikeln beskriver har utförts av en bloggare och IT-expert som tydligen kallas Notrax. På Notrax blog InfoSecurityGuard finns de egentliga undersökningarna.

Att det finns behov av bra kryptolösningar som erbjuder konfidentialitet från mobiler är helt klart. Dels är de befintliga mekanismerna i såväl GSM som 3G (UMTS) starkt ifrågasatta. Dessutom skyddar dessa mekanismer bara radiolänken. Det finns ett flertal produkter på marknaden som alla (naturligtvis) säger sig erbjuda ett bra skydd. Men hur bra är dom egentligen?

Att döma av Notrax test av 15 olika program- och hårdvarubaserade produkter är dom inte speciellt bra. Han lyckades knäcka 12 av 15 produkter:
Bild på de testade mobilkryptona.

Svenska Sectras produkt Tiger XS är tyvärr inte med i undersökningen.

Går man sedan in på Notrax sidor finns det detaljerande beskrivningar av hur han ex knäckte CellCrypt och undersökte PhoneCrypt. Notrax har även gjort videoinspelningar av sina undersökningar och lagt upp på Youtube, här den om CellCrypt:

Sammantaget väldigt intressant och spännande information. Men nu visar det sig (ser det ut som) att Notrax arbetar för företaget SecurStar GmbH som levererar PhoneCrypt, en av de säkerhetsprodukter Notrax inte lyckas knäcka och ger bra betyg! Jösses.

Vem skall man lita på? Antagligen inte de produkter Notrax lyckades knäcka (fast det vore bra om någon mer gjorde om testerna och kom fram till samma sak). Klart är iaf att produkterna behövs – och att dom testas.