2007-11-26 meddelade NIST att dokumentet Recommendation for Block Cipher Modes of Operation: Galois/Counter Mode (GCM) and GMAC nu är färdigställt och är en officiell standard. Vad dokumentet specificerar är alltså en ny kryptomod för symmetriska blockkrypton, i första hand avsett för AES. NIST skriver:
This Recommendation specifies the Galois/Counter Mode (GCM), an algorithm for authenticated encryption with associated data, and its specialization, GMAC, for generating a message authentication code (MAC) on data that is not encrypted. GCM and GMAC are modes of operation for an underlying approved symmetric key block cipher.
GCM - Galois Counter Mode är skapat av John Viega och David A. McGrew och det finns flera skäl till varför GCM är en intressant kryptomod. För det första ger GCM möjlighet att skapa en autenticieringskod för datat samtidigt som datat krypteras. Ett annat skäl till varför jag tycker GCM är intressant är att den går bra att implementera i hårdvara för att nå mycket hög prestanda:
(GCM-bild från Wikipedias artikel om GCM.)
Som man kan se i figuren ligger det en räknare som används som indata i det symmetriska kryptot. Detta innebär att vi bara behöver räkna upp räknaren och därmed går det att pipelina kryptot (ett eller tom flera steg per round i kryptot) och vi kan få ut ett nytt nyckelord/klockcykel med hög klockfrekvens. Är det AES får vi alltså ut 128 bit/cykel. Sedan gäller det bara att få till en GF-multiplikator som hänger med att beräkna ett resultat/cykel.
GCM har redan kommit till användning i standarder för Fibre Channel och datalagring (IEEE P1619.1). Nu när standarden är officiell från NIST tror jag att vi kommer se att GCM-användningen ökar.