Snabbt svar: FIPS 203, som slutfördes av NIST den 13 augusti 2024, standardiserar ML-KEM (Module-Lattice-Based Key-Encapsulation Mechanism), den primära ersättningen för RSA- och ECDH-nyckelutbyte. Det är viktigt eftersom ML-KEM är en nyckelinkapslingsmekanism, inte en krypteringsalgoritm i sig; den etablerar en delad symmetrisk nyckel över en osäker kanal genom tre operationer (nyckelgenerering, inkapsling, dekapsling), och den finns i tre parameteruppsättningar med olika avvägningar mellan säkerhet och storlek. Den rekommenderade åtgärden är att välja ML-KEM-768 för de flesta allmänna applikationer, eller ML-KEM-1024 för mycket känsliga eller långsiktiga skyddsbehov, och bekräfta att din infrastruktur kan hantera dess större nyckel- och chiffertextstorlekar jämfört med RSA eller ECC.
Key Takeaways
- ML-KEM (FIPS 203) definierar tre operationer: nyckelgenerering, inkapsling och dekapsling, och finns i tre parameteruppsättningar, ML-KEM-512, -768 och -1024, som byter säkerhetsstyrka mot nyckel- och chiffertextstorlek.
- ML-KEM bygger på CRYSTALS-Kyber men fixar den delade hemligheten till 256 bitar, uppdaterar Fujisaki-Okamoto-transformationen, tar bort ett slumpmässig hash-steg och lägger till explicita inmatningsvalideringskontroller.
- Den slutgiltiga standarden korrigerade matrisindexfel från det ursprungliga utkastet och lade till domänseparation för att förhindra att nycklar från en säkerhetsnivå missbrukas på en annan.
- Att välja en parameteruppsättning innebär att balansera säkerhetsnivå mot prestanda: ML-KEM-1024 erbjuder den starkaste säkerheten men de största nycklarna och chiffertexterna, vilket kan påverka systemets prestanda.
- ML-KEM slutfördes tillsammans med ML-DSA (FIPS 204) och SLH-DSA (FIPS 205) den 13 augusti 2024, vilket gav organisationer en komplett, produktionsklar uppsättning NIST-postkvantstandarder för att påbörja migreringen.
Publikationen Federal Information Processing Standards (FIPS) 203 introducerar Module-Lattice-Based Key-Encapsulation Mechanism (ML-KEM) Standard, som tillhandahåller ett banbrytande kryptografiskt ramverk utformat för att säkra data mot framväxande hot från kvantberäkningar . Vår blogg utforskar de centrala elementen, parameteruppsättningarna, implementeringsskillnaderna och praktiska överväganden som beskrivs i FIPS 203-standarden.
Introduktion till ML-KEM
ML-KEM är en nyckelinkapslingsmekanism (KEM) som används för att skydda symmetriska nycklar, vilka är avgörande för kryptering och dekryptering av data. Standarden definierar tre primära operationer:
- Nyckelgenerering (KeyGen)Denna operation genererar ett nycklarpar, en offentlig nyckel och en privat nyckel. Den offentliga nyckeln distribueras för krypteringsändamål, medan den privata nyckeln förvaras säkert och används för dekryptering.
- Inkapsling (Encaps)Med hjälp av den publika nyckeln producerar denna process en chiffertexten som innehåller en symmetrisk nyckel. Denna chiffertext kan säkert överföras över osäkra kanaler.
- Dekapsling (Decaps)Med den privata nyckeln hämtar denna operation den symmetriska nyckeln från chiffertexten. Den symmetriska nyckeln används sedan för efterföljande kryptering or dekryptering uppgifter.
Parameteruppsättningar
FIPS 203 specificerar tre parameteruppsättningar för ML-KEM, var och en skräddarsydd för olika säkerhetsnivåer och prestandaegenskaper:
ML-KEM-512
- SäkerhetsnivåGer en grundläggande säkerhetsnivå som är lämplig för många standardapplikationer.
- Storlekar på nyckel och chiffertextErbjuder en balans mellan säkerhet och prestanda, med inkapslingsnycklar på 800 byte, dekapslingsnycklar på 1632 byte, chiffertexter på 768 byte och en fast delad hemlig nyckel på 32 byte.
ML-KEM-768
- SäkerhetsnivåFörbättrar säkerheten jämfört med ML-KEM-512, vilket gör den lämplig för känsligare tillämpningar.
- Storlekar på nyckel och chiffertextInkluderar större inkapslingsnycklar på 1184 byte, dekapslingsnycklar på 2400 byte, chiffertexter på 1088 byte och en delad hemlig nyckel på 32 byte, vilket balanserar större säkerhet med ökade datastorlekar.
ML-KEM-1024
- SäkerhetsnivåGer den högsta säkerhetsnivån bland de tre parameteruppsättningarna, perfekt för mycket känsliga eller långsiktiga skyddsbehov.
- Storlekar på nyckel och chiffertextHar de största inkapslingsnycklarna på 1568 byte, dekapslingsnycklarna på 3168 byte, chiffertexterna på 1568 byte och en delad hemlig nyckel på 32 byte, vilket kan påverka prestandan på grund av de ökade datastorlekarna.
Varje parameteruppsättning innehåller variabler som bestämmer storleken på matriser och vektorer som används i nyckelgenererings- och krypteringsprocesserna. Dessa parametrar är avgörande för att skräddarsy kryptografiska operationer till olika säkerhets- och prestandakrav.
Storlekar på nyckel och chiffertext
FIPS 203-standarden anger storleken på nycklar och chiffertexter för varje parameteruppsättning, vilket direkt påverkar mängden data som hanteras under kryptering och dekryptering:
ML-KEM-512
- Inkapslingsnyckel: 800 byte
- Dekapsuleringsnyckel: 1632 byte
- Chiffertext: 768 byte
- Delad hemlig nyckel: 32 byte
- Nödvändig RBG-styrka: minst 128 bitar
ML-KEM-768
- Inkapslingsnyckel: 1184 byte
- Dekapsuleringsnyckel: 2400 byte
- Chiffertext: 1088 byte
- Delad hemlig nyckel: 32 byte
- Nödvändig RBG-styrka: minst 192 bitar
ML-KEM-1024
- Inkapslingsnyckel: 1568 byte
- Dekapsuleringsnyckel: 3168 byte
- Chiffertext: 1568 byte
- Delad hemlig nyckel: 32 byte
- Nödvändig RBG-styrka: minst 256 bitar
Dessa storlekar återspeglar mängden data som är involverad i kryptografiska processer och påverkar både systemets säkerhet och prestanda.
Skillnader från CRYSTALS-Kyber
FIPS 203 bygger på CRYSTALS-Kyber-schemat och innehåller flera viktiga uppdateringar och modifieringar:
-
Fast delad hemlighetslängd
Till skillnad från CRYSTALS-Kyber, som tillät delade hemliga nycklar med variabel längd, specificerar ML-KEM en fast längd på 256 bitar. Denna standardisering förenklar integration och användning, vilket ger en enhetlig storlek för den delade hemliga nyckeln över olika applikationer.
-
Uppdaterad Fujisaki-Okamoto Transform
ML-KEM använder en modifierad version av Fujisaki-Okamoto-transformen. Den här uppdateringen exkluderar hashen av chiffertexten i härledningen av den delade hemligheten, i linje med nuvarande säkerhetsrutiner för att effektivisera processen.
-
Hantering av slumpmässighet
Tidigare versioner av algoritmen krävde hashning av initial slumpmässighet för att säkerställa dess kvalitet. ML-KEM tar bort detta steg och förlitar sig istället på NIST-godkända slumpmässighetsgeneratorer för att garantera tillräcklig slumpmässighet utan ytterligare bearbetning.
-
Ingångsvalidering
Standarden introducerar explicita kontroller för inmatningsvaliditet som inte fanns i tidigare versioner. Till exempel verifierar ML-KEM att inkapslingsnyckeln avkodas korrekt från sin byte-array, vilket säkerställer korrekt format och integritet.
Uppdateringar från det första utkastet
Den slutliga versionen av FIPS 203 innehåller flera revideringar baserade på feedback från det första offentliga utkastet:
-
Domänseparation
För att förhindra missbruk av nycklar över olika säkerhetsnivåer införs domänseparation i nyckelgenereringsprocessen. Detta säkerställer att nycklar avsedda för en säkerhetsnivå inte av misstag kan användas för en annan, vilket förbättrar den övergripande systemsäkerheten.
-
Korrigering av matrisindex
Fel relaterade till matrisindex i det ursprungliga utkastet korrigerades för att överensstämma med den ursprungliga CRYSTALS-Kyber-specifikationen. Denna justering säkerställer noggrannhet och konsekvens i implementeringen av ML-KEM.
Praktiska implementeringsöverväganden
När du implementerar ML-KEM, beakta följande praktiska aspekter:
-
Välja en parameteruppsättning
Välj den parameteruppsättning som bäst matchar dina säkerhetskrav och prestandabegränsningar. Parameteruppsättningar med högre säkerhet ger bättre skydd men kan påverka systemprestanda på grund av ökade datastorlekar eller bearbetningskrav.
-
Avvägningar mellan prestanda och säkerhet
Förstå balansen mellan säkerhet och prestanda. Starkare säkerhetsinställningar ger bättre skydd men kan resultera i långsammare prestanda eller större datastorlekar. Bedöm dina specifika behov för att fastställa den lämpligaste parameteruppsättningen.
-
Compliance
Se till att din implementering följer specifikationerna som beskrivs i FIPS 203. Efterlevnad av dessa standarder är avgörande för att uppnå säker nyckelinkapsling och upprätthålla dataskydd.
Hur krypteringskonsulting kan hjälpa
Vi tillhandahåller heltäckande post-kvantumkryptografiska algoritmer som är anpassade för att möta din organisations unika krav och hjälpa dig att anpassa dig till kvantumstiden.
- KvantriskutvärderingIdentifiera sårbarheter i befintliga krypteringsprotokoll och nyckelhantering system.
- KvantberedskapsfärdplanUtveckla en skräddarsydd strategi för övergången till kvantresistenta lösningar, i linje med NIST och andra standarder.
- Anpassade säkerhetsåtgärderImplementera säkerhetsåtgärder baserade på datakänslighet och kritiskhet.
- ImplementeringsstödGe hjälp med övergången till postkvantkryptografiska algoritmer, inklusive utveckling av koncepttest och sårbarhetsanalyser.
- Synlighet och efterlevnadÖka insynen i kryptografiska metoder och säkerställa efterlevnad av branschstandarder.
- FramtidssäkringAnpassa dig till framväxande kvanthot med flexibla modeller och kontinuerlig övervakning för att upprätthålla långsiktig motståndskraft.
- ExpertkonsultationDra nytta av våra specialiserade verktyg och bästa praxis för robust kryptografisk säkerhet.
Slutsats
FIPS 203 och ML-KEM-standarden representerar betydande framsteg inom kryptografisk teknik, särskilt när det gäller att förbereda sig för potentiella framtida hot från kvantberäkning . Genom att förstå parameteruppsättningarna, skillnaderna från tidigare system och praktiska överväganden kan organisationer effektivt implementera ML-KEM för att förbättra sina dataskyddsstrategier. För detaljerad vägledning, boka ett personligt möte för att förstå hur vi kan hjälpa dig att uppfylla bästa praxis och efterlevnad.
Vanliga frågor om partihandel med mat och dryck
Vilka tre operationer definieras av ML-KEM?
Nyckelgenerering (KeyGen), som producerar ett offentligt och privat nyckelpar; inkapsling (Encaps), som använder den offentliga nyckeln för att producera en chiffertext som innehåller en symmetrisk nyckel; och dekapsulering (Decaps), som använder den privata nyckeln för att hämta den symmetriska nyckeln från den chiffertexten.
Vilken ML-KEM-parameteruppsättning bör de flesta organisationer använda?
ML-KEM-768 erbjuder förbättrad säkerhet som är lämplig för de mest känsliga applikationerna med en rimlig storleksavvägning. ML-KEM-1024 ger den högsta säkerhetsnivån för mycket känsliga eller långsiktiga skyddsbehov, till bekostnad av de största nyckel- och chiffertextstorlekarna. ML-KEM-512 erbjuder bassäkerhet för standardapplikationer.
Hur skiljer sig ML-KEM från CRYSTALS-Kyber?
ML-KEM fixerar den delade hemliga nyckellängden till 256 bitar istället för att tillåta variabla längder, uppdaterar Fujisaki-Okamoto-transformen för att exkludera chiffertext-hash från härledning av delade hemligheter, tar bort ett tidigare slumpmässig hash-steg till förmån för NIST-godkända slumpmässighetsgeneratorer och lägger till explicita inmatningsvalideringskontroller som CRYSTALS-Kyber inte krävde.
Vad har förändrats mellan det ursprungliga utkastet och den slutgiltiga FIPS 203?
NIST lade till domänseparation i nyckelgenereringsprocessen för att förhindra att nycklar från en säkerhetsnivå missbrukas på en annan, och korrigerade matrisindexfel som hade uppstått i det ursprungliga offentliga utkastet, vilket anpassade den slutliga standarden till den ursprungliga CRYSTALS-Kyber-specifikationen.
Varför är ML-KEM-nycklar och chiffertexter större än RSA eller ECC?
ML-KEM är baserat på gittermatematik snarare än heltalsfaktorisering eller elliptiska kurvor, och gitterbaserade scheman kräver i sig större nyckel- och chiffertextstorlekar för att uppnå motsvarande säkerhet. Detta är en känd avvägning som gäller alla NIST-standardiserade postkvantalgoritmer, inte en designfel specifik för ML-KEM.
När slutfördes FIPS 203?
NIST slutförde FIPS 203 tillsammans med FIPS 204 (ML-DSA) och FIPS 205 (SLH-DSA) den 13 augusti 2024, vilket gav organisationer en komplett, produktionsklar uppsättning post-kvantkryptografistandarder.
