Melk door je koffie roeren kan iedereen, bitcoins versleutelen kunnen maar weinigen. Maar volgens natuurkundige William Gilpin lijken deze twee heel verschillende dingen heel erg op elkaar. En bizar: dit inzicht, gepubliceerd in vakblad PNAS, kan ons mogelijk helpen veiligere systemen te ontwerpen.
Wie de wereld door wiskundige ogen bekijkt, komt soms tot verrassende conclusies. Zo ook Stanford-wetenschapper William Gilpin. Hij realiseerde zich dat als je melk door je koffie roert, je een complex patroon ziet ontstaan van draaiende, wervelende melk. En elke keer dat iemand melk door koffie roert is dit patroon waarschijnlijk weer anders. Tenzij je het toevallig voor elkaar krijgt om op exact dezelfde manier de melk bij de koffie te gieten en te roeren.
Koffie en sleutels
Nou én, zou je denken. Zo niet Gilpin. Hij zag de overeenkomst met hashfuncties: een manier om informatie te versleutelen die heel belangrijk is in de informatica, bijvoorbeeld bij bitcoins.
Stel je voor dat je inlogt op een website (bijvoorbeeld deze). Dan moet de site kunnen controleren of je het juiste wachtwoord hebt ingevuld. Dat kan hij doen door alle wachtwoorden op te slaan en jouw invoer daarmee te vergelijken, maar dat is erg onveilig. Als iemand de site hackt, liggen die wachtwoorden meteen op straat.
Daarom worden wachtwoorden vaak versleuteld opgeslagen. Elk wachtwoord wordt dan met een hashfunctie omgezet in een ingewikkelde code – hash genoemd – waaruit het oorspronkelijke wachtwoord niet te herleiden is. De moeilijkheid is dat precies hetzelfde wachtwoord (bijvoorbeeld 123456) altijd precies dezelfde hash moet opleveren, zodat de computer jouw ingevoerde wachtwoord kan vergelijken met de opgeslagen code. Maar een ander wachtwoord (bijvoorbeeld 123457) mag niet dezelfde hash opleveren. Alleen op die manier ben je er zeker van dat je alleen met precies het goede wachtwoord kunt inloggen.
En daarin sluipt de vergelijking met koffie. Wie op precies dezelfde manier roert, krijgt altijd precies hetzelfde patroon. Maar als je roermethode ook maar het kleinste beetje afwijkt, zie je een heel ander wervelpatroon. Bovendien kun je aan dit patroon niet zien hoe iemand geroerd heeft – hoe snel, of met hoeveel rondjes. Daarmee voldoet de chaotische manier waarop de vloeistof beweegt aan de eisen van een hashfunctie.
Van veilig geld tot veilige medicijnen
Die hashfuncties worden steeds belangrijker. Zo worden ze gebruikt om wachtwoorden te versleutelen, digitale handtekeningen te zetten of bitcoins te beveiligen. Bitcoins en andere digitale valuta werken volgens een slim proces van blockchains: door dezelfde met hashfuncties versleutelde informatie door een heel netwerk te verspreiden, wordt het ineens ontzettend moeilijk om die informatie te hacken of te veranderen.
Hoewel we blockchains vooral kennen van digitaal geld – zoals bitcoins – kun je daarmee ook allerlei andere informatie beschermen. Zo kun je blockchains ook gebruiken om te mee te stemmen: dan wordt het heel moeilijk je voor te doen als iemand anders, stemmen te veranderen of laten verdwijnen. Bovendien heb je dure tussenpartijen – zoals banken, verzekeraars en bankiers – niet meer nodig in dit systeem. Maar wél een goede hashfunctie. En daarvoor lijken we onze inspiratie nu ook uit de natuur te kunnen halen.
Maar de koffie-hashfunctie-vergelijking is niet alleen handig voor de informatica. Gilpen denkt dat ze ook kan bijdragen aan het veilig ontwikkelen van medicijnen. Vaak moet je hierbij precies de juiste vloeistoffen op precies het juist moment mengen – een beetje zoals een hashfunctie ook elke keer precies dezelfde berekening moet doen. ‘Als je niet goed uitkomt, weet je dat je onderweg iets verkeerd hebt gedaan’, vertelt Gilpin. Je kunt namelijk niet per ongeluk iets krijgen wat op het eindproduct lijkt, als je niet elke stap precies goed hebt uitgevoerd.
Gilpin is zelf geen computerwetenschapper of farmaceut, maar houdt zich als toegepast natuurkundige vooral bezig met vloeistoffen. Dat processen die we kennen uit de informatica zich spiegelen in de natuur, laat ons op een hele nieuwe manier naar die functies kijken, zegt hij. ‘Iets simpels als een vloeistof voert niettemin ingewikkelde berekeningen uit. Dat is niet alleen iets wat mensen computers opdragen, ook de natuur doet het.’
Mis niet langer het laatste wetenschapsnieuws en meld je nu gratis aan voor de nieuwsbrief van New Scientist.
Lees verder: