Symmetrische cryptografie

Symmetrische-sleutel-algoritmen is een methode in de cryptografie. Het is wanneer de sleutels voor ontcijfering en vercijfering precies hetzelfde gedeelde geheim zijn. U kunt het geheim willekeurig genereren, of via een wachtwoord, of via een geheime sleuteluitwisselingsprocedure zoals Diffie-Hellman.

Symmetrische-sleutel-algoritmen zijn erg belangrijk omdat ze sneller zijn op computers dan de andere soorten: publieke-sleutel-algoritmen. In publieke-sleutel cryptografie (asymmetrische-sleutel cryptografie) kan de sleutel voor encryptie zonder problemen aan het publiek worden gegeven, en iedereen kan je geheime berichten sturen. De sleutel voor vercijfering is "open" omdat deze in de praktijk niet gebruikt kan worden om de sleutel voor ontcijfering te krijgen. Dit is zeer nuttig, maar publieke-sleutel cryptografie-algoritmen zijn erg traag op computers, dus ze worden alleen gebruikt om een geheime sleutel te versturen. Dan worden symmetrische-sleutel algoritmen gebruikt voor al het andere omdat ze sneller zijn.

Er zijn twee soorten symmetrische sleutelalgoritmen, de zogenaamde stroomcijfers en blokcijfers. Stroomcijfers versleutelen een bericht als een stroom van bits één voor één. Blokcijfers nemen blokken van bits op, vercijferen ze als een enkele eenheid, en gebruiken soms ook het antwoord later. Blokken van 64 bits worden vaak gebruikt; hoewel moderne cijfers zoals de Advanced Encryption Standard gebruik maken van 128-bits blokken.

Voorbeelden van populaire symmetrische cyfers zijn Twofish, Serpent, AES (ook wel Rijndael), Blowfish, CAST5, RC4, TDES en IDEA.

In de geschiedenis maakten sommige cryptoanalysemethoden gebruik van symmetrie, waardoor symmetrische systemen minder veilig waren. Sommige aanvallen heten 'known-plaintext attacks', 'chosen plaintext attacks', 'differentialcryptanalysis' en 'linear cryptanalysis'.

Andere termen voor symmetrische-sleutel codering zijn geheime sleutel, enkelvoudige sleutel, gedeelde sleutel, één-sleutel en uiteindelijk private sleutel codering. Deze laatste term heeft niet dezelfde betekenis als de term privésleutel in de openbare-sleutel-cryptografie.

In een symmetrisch sleutelalgoritme is de sleutel die gebruikt wordt om te versleutelen dezelfde als de sleutel die gebruikt wordt om te ontsleutelen. Daarom moet het geheim worden gehouden.Zoom
In een symmetrisch sleutelalgoritme is de sleutel die gebruikt wordt om te versleutelen dezelfde als de sleutel die gebruikt wordt om te ontsleutelen. Daarom moet het geheim worden gehouden.

Symmetrische versus asymmetrische algoritmen

In tegenstelling tot symmetrische algoritmen gebruiken asymmetrische sleutelalgoritmen een andere sleutel voor vercijfering dan voor ontcijfering. Dit betekent dat een gebruiker die de vercijferingssleutel van een asymmetrisch algoritme kent, berichten kan vercijferen, maar de ontcijferingssleutel niet kan berekenen en berichten die met die sleutel zijn vercijferd niet kan ontcijferen. Een korte vergelijking van deze twee soorten algoritmen wordt hieronder gegeven:

Snelheid

Symmetrische sleutelalgoritmen zijn over het algemeen veel minder rekenintensief dan asymmetrische sleutelalgoritmen. In de praktijk zijn asymmetrische sleutelalgoritmen doorgaans honderden tot duizenden keren trager dan symmetrische sleutelalgoritmen.

Sleutelbeheer

Een nadeel van symmetrische sleutelalgoritmen is de vereiste van een gedeelde geheime sleutel, waarbij beide partijen aan elk uiteinde dezelfde kopie hebben. Om te zorgen voor veilige communicatie tussen iedereen in een groep van n personen zijn in totaal n(n - 1)/2 sleutels nodig, dat is het totaal aantal mogelijke communicatiekanalen. Om de impact van een mogelijke ontdekking door een cryptografische aanvaller te beperken, moeten ze regelmatig worden veranderd en veilig worden bewaard tijdens de distributie en in dienst. Het proces van het selecteren, distribueren en opslaan van sleutels staat bekend als sleutelbeheer en is moeilijk op een betrouwbare en veilige manier te realiseren.

Hybride cryptosysteem

In moderne cryptosystemen worden zowel asymmetrische (publieke sleutel) als symmetrische algoritmen gebruikt om het beste van beide te benutten. Asymmetrische algoritmen worden gebruikt om symmetrische sleutels te verdelen aan het begin van een sessie. Zodra een symmetrische sleutel bekend is bij alle partijen van de sessie, kunnen snellere symmetrische-sleutel algoritmes met die sleutel gebruikt worden om de rest van de sessie te vercijferen. Dit vereenvoudigt het sleuteldistributieprobleem, omdat asymmetrische sleutels alleen authentiek gedistribueerd hoeven te worden, terwijl symmetrische sleutels zowel op een authentieke als op een vertrouwelijke manier gedistribueerd moeten worden.

Systemen die gebruik maken van een dergelijke hybride aanpak zijn onder andere SSL, PGP en GPG.

Gerelateerde pagina's

  • Asymmetrische sleutelalgoritmen

Vragen en antwoorden

V: Wat zijn symmetrische sleutelalgoritmen?


A: Symmetrische-sleutel-algoritmen is een methode in de cryptografie waarbij de sleutels voor ontcijfering en vercijfering precies hetzelfde gedeelde geheim zijn.

V: Hoe kunt u het geheim genereren?


A: Het geheim kan willekeurig worden gegenereerd, of aan de hand van een wachtwoord, of via een geheime sleuteluitwisselingsprocedure zoals Diffie-Hellman.

V: Waarom zijn symmetrische sleutelalgoritmen belangrijk?


A: Symmetrische-sleutelalgoritmen zijn erg belangrijk omdat ze sneller zijn op computers dan publieke-sleutelalgoritmen.

V: Wat is public-key cryptografie (asymmetrische-sleutel cryptografie)?


A: Bij publiekesleutelcryptografie (asymmetrische sleutelcryptografie) kan de sleutel voor encryptie zonder probleem aan het publiek worden gegeven, en kan iedereen u geheime berichten sturen. De sleutel voor vercijfering is "open" omdat hij in de praktijk niet kan worden gebruikt om de sleutel voor ontcijfering te verkrijgen.

V: Wat zijn twee soorten symmetrische cyphers?


A: Twee soorten symmetrische cyphers zijn stream ciphers en block ciphers. Streamcijfers versleutelen een bericht als een stroom van bits één voor één, terwijl blokcijfers blokken van bits nemen, deze als één eenheid versleutelen en soms later ook het antwoord gebruiken.

V: Welke grootte van blokken gebruiken moderne cijfers?


A: Moderne cijfers zoals de Advanced Encryption Standard gebruiken blokken van 128 bits.

V: Welke soorten aanvallen zijn in het verleden gebruikt om symmetrie te misbruiken?


A: In de geschiedenis werd bij sommige cryptoanalysemethoden gebruik gemaakt van symmetrie, zodat symmetrische systemen minder veilig waren. Enkele aanvallen die zijn gebruikt, zijn bekende klaartekstaanvallen, gekozen klaartekstaanvallen, differentiële cryptoanalyse en lineaire cryptoanalyse.

AlegsaOnline.com - 2020 / 2023 - License CC3