Een cryptografische primitief is een algoritme op laag niveau dat wordt gebruikt om cryptografische protocollen voor een beveiligingssysteem te bouwen. Het wordt door cryptografische ontwerpers gebruikt als hun meest elementaire bouwstenen. Deze bouwstenen maken deel uit van een cryptosysteem, dat is een reeks cryptografische algoritmen die nodig zijn om een bepaalde beveiligingsdienst te implementeren, zoals coderingsfuncties of eenrichtingshash-functies.
Omdat deze primitieven bouwstenen zijn, zijn ze ontworpen om één nauwkeurig gedefinieerde en zeer betrouwbare taak uit te voeren. Het creëren en testen van een primitief om betrouwbaar te zijn, kost veel tijd en is erg moeilijk, dus het is zeer zeldzaam om een nieuwe cryptografische primitief te ontwerpen die past bij de behoeften van een nieuw cryptografisch systeem. Op deze manier lijken cryptografische primitieven op programmeertalen. Het komt zelden voor dat een programmeur een nieuwe programmeertaal uitvindt tijdens het schrijven van een nieuw programma. In plaats daarvan zullen ze een bestaande taal gebruiken, net zoals een cryptografisch ontwerper een bestaande primitief zal gebruiken om het tijdrovende en foutgevoelige werk van het maken van een nieuwe primitief te vermijden.
Veel voorkomende cryptografische primitieven
- Eenrichtingshash-functie: Een wiskundige functie die een invoertekenreeks van variabele lengte neemt en deze omzet in een binaire reeks met vaste lengte.
- Symmetrische sleutelcryptografie: Een versleutelingssysteem waarin de afzender en ontvanger van een bericht één gemeenschappelijke sleutel delen die wordt gebruikt om het bericht te versleutelen en ontsleutelen.
- Public-key cryptografie: Ook bekend als asymmetrische cryptografie, een systeem dat een paar sleutels gebruikt, een openbare sleutel en een privésleutel. Iedereen kan een bericht versleutelen met de openbare sleutel van de ontvanger, maar het versleutelde bericht kan alleen worden ontsleuteld met de privésleutel van de ontvanger.
- Mix netwerk: Een routeringsprotocol dat moeilijk te traceren communicatie creëert. Een keten van proxyservers die zijn gecodeerd met cryptografie met openbare sleutels, worden gebruikt om berichten van meerdere afzenders op te nemen, ze in willekeurige volgorde te plaatsen en ze vervolgens in willekeurige volgorde terug te sturen naar de volgende bestemming.
- Opvragen van privé-informatie: Een protocol waarmee een client database-informatie kan ophalen zonder dat de eigenaar van de database weet welke specifieke informatie is opgehaald.