symmetrisch sleutelalgoritme in cryptografie
symmetrische sleutelalgoritmen zijn algoritmen voor cryptografie die dezelfde cryptografische sleutels gebruiken voor zowel versleuteling van platte tekst als decryptie van versleuteling van versleuteling. De sleutels kunnen identiek zijn of er kan een eenvoudige transformatie zijn om tussen de twee sleutels te gaan.De sleutels vertegenwoordigen in de praktijk een gedeeld geheim tussen twee of meer partijen dat kan worden gebruikt om een privé-informatieverbinding te onderhouden., Deze eis dat beide partijen toegang hebben tot de geheime sleutel is een van de belangrijkste nadelen van symmetrische sleutelversleuteling, in vergelijking met publieke sleutelversleuteling (ook bekend als asymmetrische sleutelversleuteling)
symmetrische sleutelversleuteling kan zowel stream-cijfers als blokcodes gebruiken
- Streamcodes versleutelen de cijfers (meestal bytes) of letters (in substitutiecodes) van een bericht één voor één. Een voorbeeld is de Vigenère Cipher.
- Blokcodes nemen een aantal bits en versleutelen ze als een enkele eenheid, waarbij de platte tekst wordt opgevuld zodat het een veelvoud is van de blokgrootte., De Advanced Encryption Standard (AES) algoritme, goedgekeurd door NIST in December 2001, maakt gebruik van 128-bit blokken.
implementaties
cryptografische primitieven gebaseerd op symmetrische cijfers
symmetrische cijfers worden vaak gebruikt om andere cryptografische primitieven te bereiken dan alleen encryptie.
het versleutelen van een bericht garandeert niet dat dit bericht tijdens het versleutelen niet wordt gewijzigd. Vandaar vaak een bericht authenticatie code wordt toegevoegd aan een versleutelde tekst om ervoor te zorgen dat wijzigingen in de versleutelde tekst zal worden opgemerkt door de ontvanger., Bericht authenticatie codes kunnen worden opgebouwd uit symmetrische cijfers (bijvoorbeeld CBC-MAC).
symmetrische cijfers kunnen echter niet worden gebruikt voor non-repudiation doeleinden, behalve door extra partijen erbij te betrekken.Zie de ISO / IEC 13888-2 standaard.
een andere toepassing is het bouwen van hash-functies van blokcodes., Zie one-way compressie functie voor een beschrijving van de verschillende methodes
bouwen van symmetrische sleutels
Veel moderne blok cijfers zijn gebaseerd op een constructie voorgesteld door Horst Feistel. Feistel ‘ s constructie maakt het mogelijk om inverteerbare functies te bouwen van andere functies die zelf niet inverteerbaar zijn.,
beveiliging van symmetrische cijfers
symmetrische cijfers zijn in het verleden gevoelig geweest voor bekende-plaintext aanvallen, gekozen-plaintext aanvallen, differentiële cryptanalyse en lineaire cryptanalyse. Zorgvuldige constructie van de functies voor elke ronde kan de kans op een succesvolle aanval sterk verminderen.
sleutelbeheer
sleutelbeheer verwijst naar het beheer van cryptografische sleutels in een cryptosysteem. Dit omvat het genereren, uitwisselen, opslaan, gebruiken, crypto-shredderen (vernietiging) en vervangen van sleutels., Het omvat cryptografisch protocolontwerp, sleutelservers, gebruikersprocedures en andere relevante protocollen.
sleutelbeheer betreft sleutels op gebruikersniveau, tussen gebruikers of systemen. Dit in tegenstelling tot sleutelplanning, die meestal verwijst naar de interne afhandeling van sleutels binnen de werking van een cipher.
succesvol sleutelbeheer is cruciaal voor de beveiliging van een cryptosysteem., Het is de meer uitdagende kant van cryptografie in zekere zin dat het gaat om aspecten van social engineering zoals systeembeleid, gebruikerstraining, organisatorische en departementale interacties, en coördinatie tussen al deze elementen, in tegenstelling tot pure wiskundige praktijken die kunnen worden geautomatiseerd.,