Classical and Quantum Cryptanalysis of Lattices and Codes Lynn Engelberts Dit promotieonderzoek biedt nieuwe inzichten in de veiligheid van cryptografische mechanismen. Bij het gebruik van online diensten (zoals e-mail, sociale media en internetbankieren) wordt vaak aangenomen dat gegevens en communicatie privé blijven en alleen leesbaar zijn voor wie ze bedoeld zijn. Het is echter niet eenvoudig om praktische mechanismen te ontwikkelen om de veiligheid van onze digitale infrastructuur te waarborgen. Het vakgebied cryptografie ontwikkelt zulke mechanismen, ook wel cryptografische schema's en protocollen genoemd. Een encryptieschema is een voorbeeld van een cryptografisch schema en stelt twee partijen in staat om een privébericht uit te wisselen via een openbaar kanaal, zoals het internet. Voordat het bericht wordt verzonden wordt het door middel van een wiskundige berekening onleesbaar gemaakt (versleuteld; Engels: encrypted). Nadat het versleutelde bericht is aangekomen bij de bedoelde ontvanger wordt de berekening teruggedraaid (ontsleuteld) met behulp van een bijpassende geheime sleutel om het oorspronkelijke bericht te herstellen. Uiteraard wordt het hele doel van encryptie tenietgedaan wanneer iemand het oorspronkelijke bericht kan achterhalen zonder daartoe bevoegd te zijn. Dit zou bijvoorbeeld kunnen gebeuren als de sleutel eenvoudig te raden is of als het encryptieschema bepaalde eigenschappen heeft die benut kunnen worden om het bericht deels of geheel te onthullen. Daarom streeft men naar cryptografische schema's die garanderen dat dergelijke aanvallen onmogelijk zijn, of in elk geval zo tijdrovend of kostbaar dat ze praktisch onhaalbaar zijn. Voor de meeste cryptografische schema's die in de praktijk worden gebruikt is het niet bekend hoe we wiskundig kunnen bewijzen dat ze aan zulke sterke veiligheidsgaranties voldoen. Wel kunnen we de veiligheid van een schema beter begrijpen door de mogelijke aanvallen te koppelen aan het oplossen van veel bestudeerde computationele problemen. Dit zijn taken die door een computer kunnen worden opgelost met behulp van een algoritme, een stapsgewijze reeks instructies. Zo kan een aanvaller proberen een versleuteld bericht te ontcijferen met een algoritme dat alle mogelijke sleutels uitprobeert. Cryptografische schema's zijn daarom zo bedacht dat het aantal mogelijke sleutels groot genoeg is om zo'n aanval onpraktisch te maken. Er zijn echter vaak ook andere aanvallen mogelijk. Om snellere en geavanceerdere aanvallen te bedenken kan het helpen om de ontsleutelingstaak als een abstract wiskundig probleem te formuleren. Door nieuwe algoritmen voor zo'n probleem te bedenken en de benodigde rekentijd en computergeheugen te bepalen kan men beoordelen hoe moeilijk het is om het probleem op te lossen. Deze aanpak biedt vervolgens meer inzicht in de veiligheid van onze online gegevens en communicatie. Als experts voldoende overtuigd zijn dat er geen goed werkende algoritmen bestaan voor het oplossen van een bepaald computationeel probleem, dan draagt dit bij aan het vertrouwen in de daaraan gekoppelde cryptografische schema's. Over het algemeen ontstaat zulk vertrouwen door vele uitgebreide, maar desondanks onsuccesvolle pogingen om de veiligheid van een cryptografisch schema te ondermijnen, bijvoorbeeld door nieuwe algoritmen voor de bijbehorende computationele problemen te bedenken. Al deze inspanningen behoren tot het vakgebied van cryptanalyse. Een cryptanalyst houdt zich dus bezig met het analyseren van cryptografische schema's vanuit het perspectief van een aanvaller. Een mogelijke aanvaller kan over meer rekenkracht beschikken dan de conventionele computers die men dagelijks gebruikt. Ons fysieke universum wordt namelijk op fundamenteel niveau beschreven door de quantummechanica. Deze natuurkundige theorie maakt een andere manier van rekenen mogelijk die niet realiseerbaar is op een klassieke (dat wil zeggen, niet-quantum) computer. Zo ontstond in de jaren tachtig van de twintigste eeuw het idee van een computer die berekeningen uitvoert volgens de wetten van de quantummechanica: de quantumcomputer. Deze computer kan quantumalgoritmen uitvoeren die kunnen leiden tot zogenoemde quantumversnellingen voor het oplossen van bepaalde computationele problemen. De eerste aanwijzing dat quantumversnellingen praktische implicaties zouden kunnen hebben, kwam in 1994, toen Peter Shor een quantumalgoritme ontwikkelde dat twee veel bestudeerde wiskundige problemen aanzienlijk (namelijk exponentieel) sneller oplost dan alle bekende klassieke algoritmen. De veiligheid van diverse cryptografische schema's die op grote schaal worden gebruikt, waaronder RSA en cryptografie gebaseerd op elliptische krommen, berust op de veronderstelling dat deze problemen niet efficiënt kunnen worden opgelost door bestaande computers. Het door Shor ontwikkelde quantumalgoritme maakt daarmee een groot deel van de momenteel gebruikte cryptografie vatbaar voor aanvallers met voldoende krachtige quantumcomputers: zo'n aanvaller zou versleutelde berichten kunnen onderscheppen en ontsleutelen. De recente vooruitgang in quantumhardware maakt deze bedreiging voor cryptografie urgenter dan ooit en onderstreept de noodzaak van postquantumcryptografie: cryptografie gebaseerd op computationele problemen waarvoor geen efficiënte klassieke of quantumalgoritmen bekend zijn om ze op te lossen en waarvan wordt aangenomen dat deze ook niet bestaan. De afgelopen jaren zijn er diverse postquantum schema's voorgesteld en geanalyseerd, mede gestimuleerd door een standaardiseringsinitiatief uit 2016 van het Amerikaanse National Institute of Standards and Technology (NIST). Een aantal van deze postquantum schema's zijn inmiddels gestandaardiseerd, maar de volledige overstap naar postquantumcryptografie wordt beschouwd als een complexe en tijdrovende taak. Bovendien blijft het van cruciaal belang om de cryptanalyse van deze standaarden en andere voorgestelde postquantum schema's voort te zetten. Dit is nodig om het vertrouwen in de veiligheid te vergroten, vooral omdat deze nieuwere postquantum schema's en de bijbehorende computationele problemen veel minder grondig zijn onderzocht dan de schema's die ze vervangen. Zoals blijkt uit Shors ontdekking, is het mogelijk dat nieuwe (quantum)aanvallen blijven opduiken. In dit proefschrift richten we ons op de cryptanalyse (dat wil zeggen, de veiligheidsanalyse) van twee belangrijke klassen binnen de postquantumcryptografie: • Roostergebaseerde cryptografie, die gebruik maakt van wiskundige objecten genaamd roosters (Engels: lattices) • Codegebaseerde cryptografie, die gebruik maakt van foutcorrigerende codes (Engels: error-correcting codes) Deze klassen behoren tot de meest veelbelovende kandidaten voor cryptografie bestand tegen aanvallen door zowel klassieke als quantumcomputers. Bovendien omvatten ze meerdere cryptografische schema's die door NIST zijn geselecteerd voor standaardisering. Om bij te dragen aan het begrip van de veiligheid van deze kandidaten ontwikkelen en analyseren we algoritmen voor specifiek hun onderliggende computationele problemen. Hierbij bouwt ons onderzoek vaak voort op varianten van bestaande aanvalsstrategieën. In deel I van het proefschrift presenteren we onze resultaten die behoren tot de klassieke cryptanalyse van roostergebaseerde cryptografie, dat wil zeggen, we analyseren welke aanvallen mogelijk zijn met een klassieke computer. We bestuderen eerst het Short Integer Solution probleem (SIS), een fundamenteel probleem binnen de roostergebaseerde cryptografie dat aan de basis ligt van de veiligheid van de NIST-standaard ML-DSA. Door een bestaand algoritme vanuit een abstracter perspectief te bekijken en vervolgens technieken gebaseerd op de discrete Gaussverdeling toe te passen, verkrijgen we een sneller algoritme dat subexponentiële rekentijd heeft voor bepaalde parameter regimes van SIS. Deze resultaten zijn asymptotisch en gelden voor voldoende grote invoer, maar lijken (gelukkig, vanuit cryptografisch oogpunt) op dit moment geen bedreiging te vormen voor de concrete veiligheid van ML-DSA. Onze tweede wetenschappelijke bijdrage is gemotiveerd door de aanwezigheid van extra algebraïsche structuur in veel roostergebaseerde schema's (waaronder alle huidige standaarden). Om te onderzoeken of deze structuur kan worden benut in aanvallen richten we ons op een algoritme genaamd module-BKZ. Dit is een gestructureerde variant van het BKZ-algoritme, een veelgebruikt hulpmiddel in de cryptanalyse van roostergebaseerde cryptografie. Door middel van een heuristische analyse, die wordt ondersteund door experimenten, ontwikkelen we een model waarmee we de prestaties van module-BKZ en BKZ kunnen vergelijken. Op basis hiervan identificeren we algebraïsche eigenschappen die bepaalde gestructureerde roosters mogelijk kwetsbaarder maken voor aanvallen dan voorheen werd aangenomen. In deel II verschuiven we naar het perspectief van een aanvaller met toegang tot een quantumcomputer en richten we ons op de quantumcryptanalyse van zowel roostergebaseerde als codegebaseerde cryptografie. We analyseren eerst het Shortest Vector Problem (SVP), een centraal probleem binnen de roostergebaseerde cryptografie dat nauw verwant is aan het eerdergenoemde SIS-probleem. Momenteel zijn zeefmethoden (Engels: sieving methods) de snelste bekende klassieke algoritmen voor het oplossen van SVP. Daarom onderzoeken we in welke mate deze zeefmethoden kunnen worden versneld met behulp van quantumalgoritmen. We presenteren een quantumalgoritme voor het oplossen van SVP dat een verbeterde afweging tussen rekentijd en computergeheugen biedt. Dit resultaat is bereikt door geneste quantumprocedures zorgvuldig te combineren met klassieke voorverwerking. Daarnaast onderzoeken we of soortgelijke technieken kunnen leiden tot snellere quantumaanvallen op codegebaseerde cryptografie. Onlangs zijn de klassieke zeefmethoden voor roosters namelijk uitgebreid naar de context van codegebaseerde cryptografie. Hierop voortbouwend ontwikkelen we quantumanalogen voor deze nieuwe zeefmethoden. Hoewel we quantumversnellingen bereiken vergeleken met het snelste klassieke zeefalgoritme, tonen we ook aan waarom deze versnellingen niet leiden tot een verbeterde quantumaanval op codegebaseerde cryptografie. Welke lessen kunnen we hieruit trekken? Breder bekeken benadrukt dit proefschrift het belang van een passend abstractieniveau en geschikte hulpmiddelen voor cryptanalyse. Voor de asymptotische resultaten met betrekking tot het SIS-probleem en de quantumzeefmethoden voor roosters en codes was het nuttig om de algoritmen vanuit een overkoepelend, abstract perspectief te benaderen. Daarentegen kwam onze analyse van het module-BKZ-algoritme juist voort uit een diepere blik op de specifieke algebraïsche structuur die aanwezig is in veel roostergebaseerde cryptografische schema's, gecombineerd met concrete numerieke experimenten. Ook laten de resultaten zien dat asymptotische verbeteringen niet altijd leiden tot verbeterde aanvallen in de praktijk, omdat de werkelijke aanvalskosten van algoritmen veel lager kunnen uitpakken dan asymptotische bovengrenzen in theorie suggereren. Ondanks dat een algoritme een asymptotische verbetering biedt kan een ander algoritme dus alsnog de voorkeur krijgen voor praktische aanvallen. Dit onderstreept de noodzaak om theoretische analyses waar mogelijk aan te vullen met experimenten en realistische heuristische modellen. Kortom, de resultaten van dit proefschrift beantwoorden een aantal natuurlijke vragen binnen de roostergebaseerde en codegebaseerde cryptanalyse en wijzen op verschillende richtingen voor toekomstig onderzoek. Op deze manier dragen we bij aan de overstap naar een digitale infrastructuur die veilig blijft zelfs wanneer cryptografisch relevante quantumcomputers bestaan.