Er zijn nogal wat verschillende concepten die te maken hebben met het versleutelen van berichten. Hoewel de overheid standaarden heeft ontwikkeld voor het versleutelen van berichten via de Advanced Encryption Standard, heeft ze ook de Secure Hash Standard ontwikkeld voor authenticatiedoeleinden. Beide werken om verzonden gegevens te beveiligen. Om te begrijpen hoe ze verschillen, moet u echter het verschil begrijpen tussen coderingsmethoden en cryptografische hashfuncties.
Basiscodering
Het uitgangspunt van het versleutelen van gegevens is om het op de een of andere manier door elkaar te gooien, zodat het onleesbaar wordt voor iemand anders dan de beoogde ontvanger. Versleuteling werkt door het bericht te versleutelen met behulp van een versleutelingssleutel, die een lezer vervolgens kan gebruiken om het bericht te ontcijferen en de inhoud ervan te lezen. Theoretisch blijft het bericht privé zolang de sleutel veilig is. Iedereen met de sleutel kan het proces echter omkeren, wat specifieke versleutelingstechnieken vereist om de kans op een dergelijk voorval te minimaliseren.
AES-codering
De Advanced Encryption Standard is gemaakt door het National Institute for Standards in Technology om een algemene en krachtige encryptiemethode voor gebruik in overheidscommunicatie mogelijk te maken. Dit komt ook andere instellingen ten goede, zoals banken of medische instellingen, die ook met gevoelige gegevens omgaan. Het primaire doel van de AES is om een coderingsmethode te creëren die onomkeerbaar is zonder de sleutel, en die sleutels gebruikt die onbreekbaar zijn door gissen of brute-force-aanvallen. Dit betekent dat, tenzij iemand een sleutel heeft, of erachter komt hoe de coderingsmethode zelf kan worden verbroken, AES een veilige manier is om gegevens te verbergen voor ongewenste derden.
Hash-functies
Een hashfunctie is vergelijkbaar met een coderingsalgoritme in die zin dat het bedoeld is om gegevens op de een of andere manier te versleutelen. De overeenkomsten eindigen hier echter. In plaats van een databericht te verbergen, voert een hashfunctie transformaties uit op het bericht om een waarde te produceren die vaak kleiner is dan het oorspronkelijke bericht. Deze waarde is volledig uniek voor het bericht: geen twee sets gegevens kunnen dezelfde waarde produceren uit een solide cryptografische hash-functie. Bovendien is het proces onomkeerbaar. Hashfuncties gebruiken geen coderingssleutels en waarden van hashfuncties kunnen niet worden gedecodeerd om de oorspronkelijke waarde te krijgen.
SHA-normen
De Secure Hash Standard, ook van de NIST, schetst een standaardalgoritme voor een hashfunctie. Deze functie versleutelt een bericht niet, maar creëert, volgens de NIST-normen, een "samenvatting" van het bericht, of hash-waarde. Deze samenvatting kan worden gebruikt voor verificatie van de inhoud van de berichten. De afzender kan het bericht door een SHA-functie laten lopen, de samenvatting aan het bericht toevoegen en het verzenden. De ontvanger kan het bericht vervolgens door dezelfde SHA-functie laten lopen en de samenvattingswaarden vergelijken. Als ze verschillend zijn, is het bericht beschadigd of is ermee geknoeid. Het SHA-standaardalgoritme kan worden gekoppeld aan AES-codering om zowel authenticatie als codering voor gevoelige berichten te bieden.