Kryptografiske primitiver
Kryptografiske primitiver er kryptografiske algoritmer på lavt niveau , der ofte bruges til at bygge kryptografiske protokoller . I snæver forstand er disse operationer og procedurer, der bestemmer de nødvendige egenskaber for et kryptosystem [1] .
Introduktion
Kryptografiske primitiver bruges som de vigtigste byggeklodser ved oprettelse af et kryptosystem, det vil sige, at de er designet til en snæver klasse af opgaver med en høj grad af pålidelighed. Som et eksempel kan du overveje følgende situation: Hvis en krypteringsrutine er angivet, at den kan brydes med kun X antal operationer på computeren, så hvis den kan brydes med væsentligt færre operationer end X, anses denne kryptografiske primitive for upålidelig.
Ved design af protokoller og kryptosystemer er udvikleren ansvarlig for at eliminere kompositionsfejl. Uden at kunne bevise deres sikkerhed, skal udvikleren betragte de primitiver, de bruger, for at være pålidelige. At vælge den bedst tilgængelige primitive til brug i en protokol giver normalt den bedst mulige sikkerhed. Hvis der opdages en fejl i en kryptografisk primitiv, bliver næsten hver protokol, der bruger den, sårbar [2] .
Primitive egenskaber
Kryptografiske primitiver skal have følgende egenskaber:
- Sikkerhedsniveau. Normalt defineret som antallet af operationer, der kræves (ved at bruge de bedste metoder, der er kendt i øjeblikket) for at nå det tilsigtede mål. Typisk er sikkerhedsniveauet bestemt af den påkrævede øvre grænse for mængden af arbejde. Dette omtales nogle gange som arbejdsfaktoren.
- Funktionalitet. Primitiver skal kombineres for at opnå forskellige mål. Hvilke primitiver der er mest effektive til et givet formål, vil afgøres af primitivernes underliggende egenskaber.
- Arbejdsmetoder. Primitiver, når de anvendes i forskellige retninger og ved forskellige investeringer, har en tendens til at udvise forskellige egenskaber; således kunne én primitiv bruges på forskellige måder afhængigt af behovet.
- Ydeevne. Dette refererer til effektiviteten af det primitive i en bestemt driftsform.
(for eksempel kan en krypteringsalgoritme vurderes efter antallet af bits pr. sekund, den kan kryptere).
- Nem implementering. Dette refererer til vanskeligheden ved at implementere en primitiv i en praktisk implementering, såsom at implementere en primitiv i et software- eller hardwaremiljø.
Den relative betydning af de forskellige kriterier afhænger i høj grad af ansøgningen og de tilgængelige ressourcer. For eksempel, i et miljø, hvor computerkraften er begrænset, kan det være nødvendigt at give afkald på et meget højt sikkerhedsniveau for at forbedre ydeevnen af systemet som helhed.
Grundlæggende primitiver
- Hashing er transformationen af et inputdataarray af vilkårlig længde til en outputbitstreng med en fast længde. Sådanne transformationer kaldes også hash-funktioner eller foldningsfunktioner, og deres resultater kaldes hash-kode , checksum eller message digest. Hash-resultater er statistisk unikke. En sekvens, der afviger med mindst én byte, vil ikke blive konverteret til den samme værdi [3] [4] .
- Symmetrisk nøglekryptering er, at begge parter - deltagere i dataudvekslingen har nøjagtig de samme nøgler til kryptering og dekryptering af data. Denne metode udfører en transformation for at forhindre visning af information fra en tredjepart [3] [4] .
- Asymmetrisk kryptering - involverer at bruge to forskellige nøgler i et par - en offentlig og en hemmelighed. Ved asymmetrisk kryptering fungerer nøglerne i par - hvis data er krypteret med en offentlig nøgle, så kan det kun dekrypteres med den tilsvarende hemmelige nøgle og omvendt - hvis data er krypteret med en hemmelig nøgle, så kan det kun være dekrypteret med den tilsvarende offentlige nøgle. Det er umuligt at bruge en offentlig nøgle fra et par og en hemmelig nøgle fra et andet. Hvert par asymmetriske nøgler er forbundet med matematiske afhængigheder. Denne metode er også rettet mod at konvertere information fra en tredjepartsvisning [3] [4] .
- Digital signatur - bruges til at fastslå ægtheden af dokumentet, dets oprindelse og forfatterskab, udelukker forvrængning af information i det elektroniske dokument [4] .
- En forpligtelsesordning er en metode, der giver brugeren mulighed for at bekræfte en værdi, der ikke er oplyst, det vil sige, hvis denne værdi oplyses, takket være denne ordning, vil det være kendt, at brugeren vidste det på tidspunktet for udstedelsen af forpligtelsen og at det ikke har ændret sig [5] .
- En pseudo-tilfældig talgenerator er en pseudo-tilfældig talgenerator med visse egenskaber, der gør det muligt at bruge den i kryptografiske problemer [6] .
Kombination af kryptografiske primitiver
Selve de kryptografiske primitiver er ret begrænsede. De kan ikke betragtes som et kryptografisk system. For eksempel vil en simpel krypteringsalgoritme hverken give en godkendelsesmekanisme eller nogen eksplicit meddelelsesintegritetskontrol. Hvis vi bruger en kombination af indkodningsrutiner (f.eks. DES ) og hashing-rutiner (f.eks . SHA-1 ), har vi et system til at transmittere en besked, der ikke kun er krypteret, men også beskyttet mod forfalskning. Og hvis angriberen ikke kender krypteringsnøglen, kan han ikke forstyrre transmissionen af beskeden.
De fleste problemer med kryptografiske systemer (det vil sige usikkerhed i systemer) er normalt forbundet med misbrug af primitiver, det vil sige fejl i konstruktionen af den kryptografiske protokolarkitektur, forkert brug og kombination af primitiver og ikke med fejl inden for primitiver selv. Der er metoder til fuld parsing af kryptografiske protokoller, men de er meget komplekse. Nogle grundlæggende egenskaber kan dog kontrolleres ved hjælp af automatiske metoder, for eksempel ved brug af Burroughs-Abadie-Needham-logik [2] .
Se også
Noter
- ↑ Moldoviansk N. A. Kryptografi: fra primitiver til syntese af algoritmer. - 2004. - S. 11. - 448 s. — ISBN 9785941575244 .
- ↑ 12 Patel Parth . Cryptovirology // U & PU Patel Department of Computer Engineering, Gujarat University, Indien. - S. 6. - 8 s.
- ↑ 1 2 3 Menezes AJ, Oorschot PC, Vanstone SA Håndbog i anvendt kryptografi. - 1996. - S. 5-6. - 780 s. - ISBN 0-8493-8523-7 .
- ↑ 1 2 3 4 Markov A. S., Tsirlov V. L. Fundamentals of cryptography: forberedelse til CISSP // Cybersecurity Issues No2(10). - 2015. - S. 66.
- ↑ Oded Goldreich. Fundamenter for kryptografi: bind 1, grundlæggende værktøjer. — Cambridge University Press. - 2004. - S. 223-228. — 372 s. - ISBN 0-521-79172-3 .
- ↑ Michela Meister. En undersøgelse af pseudorandom-funktioner // Stanford University. - S. 1. - 5 s.