Advanced Encryption Standard
Marries van de Hoef
Inhoud
• Werking• Eigenschappen• Gebruik• Kraken• Toekomst
Werking
Eigenschappen
Gebruik
Kraken
Toekomst
2
Werking
• Symmetrisch• Blokken van 128 bits• Drie mogelijke sleutellengtes
– 128 bits– 192 bits– 256 bits
3
Werking
• Bits husselen• Rondesleutel toevoegen• Aantal rondes herhalen
– 10 rondes voor 128-bits sleutel
• Resultaat moet pseudo-random zijn
4
Bits husselen
• Bewerkingen per byte– Lengte moet gelijk blijven
• Modulo 256 rekenen• Problemen bij ontsleutelen
– Niet alle elementen hebben multiplicatieve inverse
5
Eindig lichaam
• Rekenen in een eindig lichaam– Ook Galois field of finite field genoemd
• Stel getal voor als polynoom– Met bits als coëfficiënten
• 10011 wordt 1x4+0x3+0x2+1x1+1x0
– Dus x4+x+16
Eindig lichaam
• Optellen en aftrekken– met XOR operatie
• Vermenigvuldigen– Vergelijkbaar met normaal polynomen
vermenigvuldigen– modulo irreducibel polynoom
7
Overzicht algoritme
Elke ronde:• Substitutie• Rijrotatie• Kolomvermenigvuldiging• Sleuteltoevoeging
8
Substitutie
9
Rijrotatie
10
Kolomvermenigvuldiging
11
Sleuteltoevoeging
12
Sleutelgeneratie
Hangt af van de vorige rondesleutel
13
Overzicht algoritme
Elke ronde:• Substitutie• Rijrotatie• Kolomvermenigvuldiging• Sleuteltoevoeging
• Sleutelgeneratie
14
Eigenschappen
• Diffusie– Elke uitvoerbit hangt van elke invoerbit af– Door kolomvermenigvuldiging
• Confusie– Elke uitvoerbit hangt van elke keybit af– Door sleutelgeneratie
15
Eigenschappen
• Eenvoudig– Minder fouten– Goed te bewijzen– Meer kraakpogingen
• Snelheid– Eenvoudige berekeningen– Zelfs geschikt voor chipkaarten
16
Gebruik in algoritme
• Data in blokken splitsen• Blokken versleutelen
17
Gebruik in algoritme
• Data in blokken splitsen• Voor versleuteling XORen met het
vorige versleutelde blok.– Eerste blok anders
18
Adoptie
• Overal terug te vinden– WPA2– IPSec– WinZip– BitLocker– Intel/AMD processoren– Winrar– OpenSSL– TrueCrypt– XFire– 7z– etc
19
Brute-force Attack
• Sleutellengte van 128 bits– 2128 mogelijkheden– 340.282.366.920.938.463.463.374.607.431
.768.211.456 mogelijkheden– 340 sextiljoen, 282 quintiljard,
366 quintiljoen, 920 quadriljard, 938 quadriljoen, 463 triljard, 463 triljoen, 374 biljard, 607 biljoen, 431 miljard, 768 miljoen 211 duizend en 456 mogelijkheden
20
Andere aanvallen
• Kan het ook sneller?• Differentiële en lineaire cryptoanalyse
– Bewezen onmogelijk• Integrale cryptoanalyse
– Alleen effectief tot 7 ronden• Algebraïsche cryptoanalyse
– Oplossen is NP-moeilijk
21
Recente aanvallen
• Related subkey attack– Op AES met 256 bits sleutel– Kan in O(245) tijd 10 van de 14 ronden
kraken– Vorig jaar juli gepubliceerd
• Known-key distinguishing attack– Op AES met 128 bits sleutel– Kan in O(248) tijd 8 van de 10 ronden kraken– In november gepubliceerd
22
Side-channel Attacks
• Specifieke implementatie aanvallen• Hardware
– Beschermbaar tegen de simpelste vormen– Onpraktisch
• Software– WinZip metadata
• Zie presentatie Gerrit23
Toekomst
• Veel nieuwe soorten aanvallen ontstaan– Mede dankzij AES
• Recente aanvallen op sleutelgeneratie– Zeer onpraktisch
• Meer toepassingen in dagelijks leven– Zijn side-channel attacks een risico?
24
Top Related