Nivån på kryptografisk styrka (engelsk säkerhetsnivå) är en indikator på den kryptografiska styrkan hos en kryptografisk algoritm , associerad med beräkningskomplexiteten i att utföra en framgångsrik attack på ett kryptosystem med den snabbaste kända algoritmen [1] [2] . Vanligtvis mätt i bitar . N -bitars nivå av kryptografisk styrka hos ett kryptosystem innebär att det kommer att ta 2 N beräkningsoperationer för att bryta det. Till exempel, om ett symmetriskt kryptosystem bryts inte snabbare än den uttömmande sökningen av värdena på N -bitars nyckel, då säger vi att den kryptografiska styrkanivån är N . En ökning med x gånger antalet operationer som krävs för hackning ökar nivån på kryptografisk styrka [3] .
Det finns andra metoder som mer exakt modellerar det antal operationer som krävs för att bryta, vilket gör det lättare att jämföra kryptografiska algoritmer och deras hybrider . [4] Till exempel är AES - 128 (nyckelstorlek 128 bitar) utformad för att tillhandahålla en 128-bitars säkerhetsnivå, vilket anses vara ungefär lika med 3072-bitars RSA .
För symmetriska algoritmer är nivån på kryptografisk styrka vanligtvis strikt definierad, men kommer att förändras om en mer framgångsrik kryptoattack dyker upp. För symmetriska chiffer är det i allmänhet lika med storleken på krypteringsnyckeln , vilket motsvarar en fullständig uppräkning av nyckelvärden. [5] [6] För kryptografiska hashfunktioner med värden av längd n bitar , tillåter "födelsedag" -attacken kollisioner att hittas i genomsnitt över beräkningen av hashfunktionen. Således är nivån av kryptografisk styrka när kollisioner hittas n/2 och när förbilden hittas -n . [7] Till exempel ger SHA-256 128-bitars kollisionsskydd och 256-bitars förbildsskydd.
Det finns också undantag. Till exempel är Phelix och Helix 256-bitars chiffer som ger en 128-bitars säkerhetsnivå. [5] SHAKE-versionerna av SHA-3 är också olika: för en 256-bitars returstorlek ger SHAKE-128 en 128-bitars säkerhetsnivå för både kollisions- och förbildsdetektering. [åtta]
Asymmetrisk kryptografi, såsom publika nyckelkryptosystem , använder envägsfunktioner , dvs funktioner som är lätta att beräkna från argumentet men med hög beräkningskomplexitet för att hitta argumentet från värdet av funktionen, men attacker på befintliga offentliga nyckelsystem är vanligtvis snabbare än brute tvinga fram nyckelmellanslag. Nivån på kryptografisk styrka hos sådana system är okänd vid utvecklingstillfället, men det antas från den mest kända kryptoattacken för tillfället. [6]
Det finns olika rekommendationer för att bedöma nivån på kryptografisk styrka hos asymmetriska algoritmer, som skiljer sig åt på grund av olika metoder. Till exempel, för RSA-kryptosystemet på 128-bitars säkerhetsnivå, rekommenderar NIST och ENISA att du använder 3072-bitars nycklar [9] [10] och IETF 3253. [11] [12] Elliptisk kryptografi tillåter användning av kortare nycklar, så 256-383 bitar rekommenderas ( NIST ), 256 bitar ( ENISA ) och 242 bitar ( IETF ).
Två kryptosystem ger samma nivå av kryptografisk styrka om den förväntade ansträngningen som krävs för att bryta båda systemen är likvärdig. [6] Eftersom begreppet ansträngning kan tolkas på flera sätt finns det två sätt att jämföra: [13]
Tabellen visar uppskattningar av de maximala nivåerna av kryptografisk styrka som kan tillhandahållas av symmetriska och asymmetriska kryptografiska algoritmer, givet nycklar av en viss längd, baserat på NIST- rekommendationer . [9]
Säkerhetsnivå | Symmetriska kryptosystem | FFC | IFC | ECC |
---|---|---|---|---|
≤ | 2TDEA | = 1024, = 160 | = 1024 | = 160-223 |
3TDEA | = 2048, = 224 | = 2048 | = 224-255 | |
AES-128 | = 3072, = 256 | = 3072 | = 256-383 | |
AES-192 | = 7680, = 384 | = 7680 | = 384-511 | |
AES-256 | = 15360, = 512 | = 15360 | = 512+ |
Var är längden på den publika nyckeln , är längden på den privata nyckeln , är storleken på modulen n , är storleken på punktens ordning .