Pieter Edelman
28 July 2009

In de zoektocht naar de opvolger van het hash-algoritme SHA2 heeft het National Institute of Standards and Technology (Nist) veertien van de 51 kandidaten doorgelaten naar de volgende ronde, waaronder twee Belgische inzendingen. Hash-algoritmes zijn een belangrijke tool in de gereedschapskist van cryptografen. Ze worden gebruikt om een digest, een kleine, unieke vingerafdruk van bepaalde data te maken. Dat is eenrichtingsverkeer: vanuit de vingerafdruk is het niet doenlijk om de oorspronkelijke data te reconstrueren. Bovendien mag het bij een goed hash-algoritme niet makkelijk zijn om vanuit de digest een input te construeren die dezelfde vingerafdruk oplevert. De digest kan dus onder meer gebruikt worden om een de echtheid van de data te controleren zonder iets prijs te geven over de aard hiervan.

Het Nist in de VS overziet de ontwikkeling van cryptografische algoritmes, die vaak als de gouden standaard worden beschouwd voor veel toepassingen. Daarom worden de Nist-algoritmes vaak als de ’officiële‘ algoritmes gezien.

Begin jaren negentig kwamen als eerste de hash-algoritmes MD2 en opvolgers MD4 en MD5 in zwang. De laatste is nog steeds veel gebruikt. Halverwege de jaren negentig bleek echter dat dit een zwakte bevat wat de geschiktheid voor cryptografietoepassingen in gevaar brengt. Het is nu mogelijk – overigens nog met een flinke dot rekenkracht – om te bedenken welke data toegevoegd kan worden aan een vervalsing om de gewenste digest op te leveren, waarmee deze voor echt doorgaat. Daarom werd er een opvolger ontwikkeld, SHA-1. Niet veel later bleek ook deze een potentieel lek te bevatten en opnieuw werd de zoektocht naar een opvolger gestart, wat in 2001 resulteerde in SHA-2. De afgelopen jaren hebben onderzoekers ook in SHA-2 mogelijke problemen gevonden. Vooralsnog heeft dit geen praktische consequenties, maar voor de zekerheid startte Nist vorig jaar de zoektocht naar een opvolger.

Dit proces is een open competitie. Alle details van de inzendingen worden op de website van het Nist gepubliceerd. Het instituut zelf, maar ook iedereen die daar interesse in heeft, kan proberen er gaten in te prikken. Eind oktober sloot de inschrijving. Daarvan werden er 51 doorgelaten naar de eerste ronde. Daarvan zijn er nu veertien door naar de tweede ronde. De overige 37 kandidaten bleken gaten te bevatten of werden teruggetrokken.

 advertorial 

Free webinar ‘Modernizing your code base with C++20’

As many production tool chains now adopt C++20 features, the potential this brings is unlocked. What advantages can recent versions offer to your code base? In this webinar we’ll look at the great improvements C++ has gone through and how features like concepts and ranges can transform your code. Register for 2 February, 4PM.

Onder de veertien deelnemers die doorgaan, zijn twee Belgische inzendingen. De eerste is een algoritme genaamd Hamsi van KU-Leuven-promovenda Özgül Küçük. De andere inzending is genaamd Keccak, ontworpen door de Belgische smartcard-ontwikkelaar Proton World, dat nu in handen is van STMicroelectronics. Keccak is gebaseerd op AES, de populairste methode voor symmetrische versleuteling. Een van de inzenders is Joan Daemen, die deze standaard samen met Vincent Rijmen ontwikkelde.

Tot halverwege volgend jaar zullen deze veertien kandidaten nog onder de loep worden genomen. Daarna zullen de finalisten gekozen worden. Weer een jaar later moet de nieuwe standaard een feit zijn. De werking van de volgende standaard moet volledig gepubliceerd worden en zonder royalties of andere IP-belemmeringen te gebruiken zijn. Daarnaast moet SHA-3 een directe vervanger zijn van SHA-2, dus moeten de input- en output-parameters gelijk zijn. En het algoritme moet natuurlijk efficiënt te implementeren zijn in soft- en hardware. MD6 bijvoorbeeld, de logische opvolger van MD5, werd teruggetrokken omdat het te langzaam is.

Overigens kan het zijn dat er meerdere ’winnaars‘ uitrollen. Als blijkt dat meerdere kandidaten aan alle criteria voldoen, maar compleet in elkaar steken en voor verschillende doeleinden geschikt zijn, kunnen ze gezamenlijk in de nieuwe standaard worden opgenomen.