Kryptografiska primitiver
Kryptografiska primitiver är kryptografiska algoritmer på låg nivå som ofta används för att bygga kryptografiska protokoll . I en snäv mening är dessa operationer och procedurer som bestämmer de nödvändiga egenskaperna hos ett kryptosystem [1] .
Inledning
Kryptografiska primitiver används som de viktigaste byggstenarna när man skapar ett kryptosystem, det vill säga de är designade för en smal klass av uppgifter med hög grad av tillförlitlighet. Som ett exempel, överväg följande situation: om någon krypteringsrutin specificeras att den kan brytas med endast X antal operationer på datorn, om den kan brytas med betydligt färre operationer än X, anses denna kryptografiska primitiv vara opålitlig.
Vid design av protokoll och kryptosystem är utvecklaren ansvarig för att eliminera kompositionsbrister. Utan att kunna bevisa sin säkerhet måste utvecklaren anse att de primitiver de använder är tillförlitliga. Att välja den bästa primitiva tillgängliga för användning i ett protokoll ger vanligtvis bästa möjliga säkerhet som finns. Om ett fel i en kryptografisk primitiv upptäcks, blir nästan varje protokoll som använder det sårbart [2] .
Primitiva egenskaper
Kryptografiska primitiver måste ha följande egenskaper:
- Säkerhetsnivå. Vanligtvis definieras som antalet operationer som krävs (med de bästa metoderna som för närvarande är kända) för att uppnå det avsedda målet. Säkerhetsnivån bestäms vanligtvis av den övre gränsen för mängden arbete som krävs. Detta kallas ibland för arbetsfaktorn.
- Funktionalitet. Primitiver måste kombineras för att uppnå olika mål. Vilka primitiver som är mest effektiva för ett givet syfte kommer att bestämmas av de underliggande egenskaperna hos primitiva.
- Arbetssätt. Primitiver, när de tillämpas i olika riktningar och vid olika investeringar, tenderar att uppvisa olika egenskaper; sålunda skulle en primitiv kunna användas på olika sätt, beroende på behovet.
- Prestanda. Detta hänvisar till primitivets effektivitet i ett visst driftsätt.
(till exempel kan en krypteringsalgoritm klassificeras efter antalet bitar per sekund som den kan kryptera).
- Enkel implementering. Detta syftar på svårigheten att implementera en primitiv i en praktisk implementering, till exempel att implementera en primitiv i en mjukvaru- eller hårdvarumiljö.
Den relativa betydelsen av de olika kriterierna beror till stor del på tillämpningen och tillgängliga resurser. Till exempel, i en miljö där datorkraften är begränsad, kan det vara nödvändigt att ge upp en mycket hög säkerhetsnivå för att förbättra systemets prestanda som helhet.
Grundläggande primitiver
- Hashing är omvandlingen av en indatamatris av godtycklig längd till en utmatningsbitsträng med en fast längd. Sådana transformationer kallas också hashfunktioner eller faltningsfunktioner, och deras resultat kallas hashkod , checksumma eller meddelandesammandrag . Hash-resultat är statistiskt unika. En sekvens som skiljer sig med minst en byte kommer inte att omvandlas till samma värde [3] [4] .
- Symmetrisk nyckelkryptering är att båda parter - deltagare i datautbytet har exakt samma nycklar för att kryptera och dekryptera data. Denna metod utför en transformation för att förhindra att en tredje part visar information [3] [4] .
- Asymmetrisk kryptering – innebär att man använder två olika nycklar i ett par – en offentlig och en hemlighet. I asymmetrisk kryptering fungerar nycklarna i par - om data är krypterad med en offentlig nyckel kan den bara dekrypteras med motsvarande hemliga nyckel och vice versa - om data är krypterad med en hemlig nyckel kan den bara dekrypteras med motsvarande publika nyckel. Det är omöjligt att använda en publik nyckel från ett par och en hemlig nyckel från ett annat. Varje par asymmetriska nycklar är associerade med matematiska beroenden. Denna metod syftar också till att konvertera information från en tredjepartsvy [3] [4] .
- Digital signatur – används för att fastställa dokumentets äkthet, dess ursprung och författarskap, utesluter förvrängning av information i det elektroniska dokumentet [4] .
- Ett åtagandeschema är en metod som gör det möjligt för användaren att bekräfta ett värde som inte avslöjas, det vill säga om detta värde avslöjas, tack vare detta system, kommer det att vara känt att användaren visste det vid tidpunkten för utfärdandet av åtagandet och att det inte har förändrats [5] .
- En pseudo-slumptalsgenerator är en pseudoslumptalsgenerator med vissa egenskaper som gör att den kan användas vid kryptografiproblem [6] .
Kombinera kryptografiska primitiver
De kryptografiska primitiven i sig är ganska begränsade. De kan inte betraktas som ett kryptografiskt system. Till exempel kommer en enkel krypteringsalgoritm varken att tillhandahålla en autentiseringsmekanism eller någon explicit meddelandeintegritetskontroll. Om vi använder en kombination av kodningsrutiner (t.ex. DES ) och hash-rutiner (t.ex. SHA-1 ), har vi ett system för att överföra ett meddelande som inte bara är krypterat utan också skyddat från förfalskning. Och om angriparen inte känner till krypteringsnyckeln kan han inte störa överföringen av meddelandet.
De flesta av problemen med kryptografiska system (det vill säga osäkerhet i system) är vanligtvis förknippade med missbruk av primitiver, det vill säga fel i konstruktionen av den kryptografiska protokollarkitekturen, felaktig användning och kombination av primitiver, och inte med fel inom primitiva själva. Det finns metoder för att helt analysera kryptografiska protokoll, men de är mycket komplexa. Vissa grundläggande egenskaper kan dock kontrolleras med automatiska metoder, till exempel med Burroughs-Abadie-Needham-logik [2] .
Se även
Anteckningar
- ↑ Moldavisk N. A. Kryptografi: från primitiver till syntesen av algoritmer. - 2004. - S. 11. - 448 sid. — ISBN 9785941575244 .
- ↑ 12 Patel Parth . Kryptovirologi // U & PU Patel Institutionen för datateknik, Gujarat University, Indien. - P. 6. - 8 sid.
- ↑ 1 2 3 Menezes AJ, Oorschot PC, Vanstone SA Handbok för tillämpad 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: preparation for CISSP // Cybersecurity Issues No2(10). - 2015. - S. 66.
- ↑ Oded Goldreich. Kryptografins grunder: Volym 1, grundläggande verktyg. — Cambridge University Press. - 2004. - S. 223-228. — 372 sid. - ISBN 0-521-79172-3 .
- ↑ Michela Meister. En undersökning av pseudoslumpmässiga funktioner // Stanford University. - S. 1. - 5 sid.