Vad är differentiell krypteringsanalys?

Differentiell kryptoanalys är namnet på en mängd olika metoder för kryptografiska attacker på blockchiffer med en känd klartextattack. Differentiell kryptoanalys fungerar genom att kryptera känd klartext, eller okrypterad text, med hjälp av en vald chiffernyckel för att avgöra hur krypteringsprocessen fungerar. Två ingångar väljs med en konstant skillnad mellan dem där skillnaden mellan de två ingångarna kan bestämmas av olika operationer inklusive användningen av eXclusive OR (XOR) operationen. När ingångsparet körs genom den differentiella kryptoanalyskoden, bildas ett utmatningspar med hjälp av en chiffernyckel. Ingången är känd, så kryptografen tittar efter mönster av förändringar i utdata.

När utmatningen väl har tagits emot tilldelar kryptografen sannolikheter till vissa input-out-par för att bestämma vilken chiffernyckel som orsakade särskilda förändringar i utdataparen. Olika chiffernycklar har olika sannolikheter för att vissa utgångar ska inträffa för varje ingång. Dessa sannolikheter tillåter kryptografen att göra välgrundade gissningar om olika aspekter av nyckeln baserat på inmatnings- och utmatningsmönstren.

Denna metod utvecklades ursprungligen i slutet av 1980-talet av Eli Bidham och Adi Shamir. Den var avsedd att attackera blockchiffer och leta efter svagheter i US National Bureau of Standards’ Data Encryption Standard (DES) Algorithm, som används som Federal Information Processing Standard för att kryptera känsliga oklassificerade data. 1994 sa Don Coppersmith, en av IBMs mjukvaruingenjörer som hjälpte till att designa DES, att IBM redan var bekant med differentiell kryptoanalys och hade arbetat för att göra DES motståndskraftig mot attacker.

För att framgångsrikt avgöra vilken chiffernyckel som används med denna process måste vissa krav uppfyllas. Mest framgångsrikt är det när kryptografen själv kan välja klartext och ta emot utgående chiffertext. Differentiell kryptoanalys lämpar sig bäst för iterativa blockchiffer. Dessa typer av chiffer krypterar klartext med samma transformation i flera omgångar med en undernyckel.

Designers av chiffer och kryptografiska koder arbetar för att säkerställa att deras kod inte är sårbar för denna typ av kända attacker. En av dessa är användningen av meddelandenycklar och begränsningar av mängden chiffertext som tas emot med en enda meddelandenyckel. Detta är en svaghet med differentiell kryptoanalys på grund av dess beroende av stora mängder klartext.

Den differentiella kryptoanalysmetoden förlitar sig på användningen av särskilda tabeller för att välja inmatningsparet. Genom att veta detta kan ett krypteringssystem skydda sig mot attacken på olika sätt. Det spelar ingen roll om koden är inställd för att välja från ett större antal tabeller än förväntat, för att välja från alla olika tabeller, eller att blanda tabellresultaten så snart resultaten har fastställts.