Symmetrische sleutelcodering is een methode om gegevens te versleutelen door op dezelfde sleutel te drukken om deze zowel te coderen als te decoderen. Dit is iets anders dan asymmetrische codering, ook wel bekend als codering met openbare sleutels, waarbij u verschillende sleutels gebruikt om te coderen en te decoderen. Met symmetrische sleutelcodering, ook wel geheime sleutelcodering genoemd, moet u de sleutel geheim houden, terwijl u met asymmetrische codering de coderingssleutel met iedereen kunt delen, aangezien u uw decoderingssleutel voor uzelf houdt.
Voordeel: extreem veilig
Wanneer het een beveiligd algoritme gebruikt, kan symmetrische sleutelcodering buitengewoon veilig zijn. Een van de meest gebruikte versleutelingssystemen met symmetrische sleutels is de door de Amerikaanse overheid aangewezen Advanced Encryption Standard. Als je het gebruikt met de veiligste 256-bits sleutellengte, zou het ongeveer een miljard jaar duren voordat een 10 petaflop-computer de sleutel raadt via een brute-force-aanval. Aangezien sinds november 2012 de snelste computer ter wereld 17 petaflops draait, is 256-bit AES in wezen onbreekbaar.
Voordeel: relatief snel
Een van de nadelen van versleutelingssystemen met openbare sleutels is dat ze relatief gecompliceerde wiskunde nodig hebben om te werken, waardoor ze erg rekenintensief zijn. Het coderen en decoderen van symmetrische sleutelgegevens is relatief eenvoudig te doen, waardoor u zeer goede lees- en schrijfprestaties krijgt. In feite gebruiken veel solid-state schijven, die doorgaans extreem snel zijn, intern symmetrische sleutelcodering om gegevens op te slaan en ze zijn nog steeds sneller dan niet-versleutelde traditionele harde schijven.
Nadeel: de sleutel delen
Het grootste probleem met symmetrische sleutelcodering is dat je een manier moet hebben om de sleutel te krijgen bij de partij met wie je gegevens deelt. Versleutelingssleutels zijn geen eenvoudige tekstreeksen zoals wachtwoorden. Het zijn in wezen blokken gebrabbel. Daarom moet u een veilige manier hebben om de sleutel van de andere partij te krijgen. Natuurlijk, als je een veilige manier hebt om de sleutel te delen, hoef je in de eerste plaats waarschijnlijk geen codering te gebruiken. Met dit in gedachten is symmetrische sleutelcodering vooral handig bij het coderen van uw eigen informatie, in tegenstelling tot bij het delen van gecodeerde informatie.
Nadeel: meer schade indien gecompromitteerd
Wanneer iemand een symmetrische sleutel in handen krijgt, kunnen ze alles ontsleutelen dat met die sleutel is versleuteld. Wanneer u symmetrische codering gebruikt voor tweerichtingscommunicatie, betekent dit dat beide kanten van het gesprek worden gecompromitteerd. Met asymmetrische versleuteling met openbare sleutels kan iemand die uw privésleutel krijgt, berichten die naar u zijn verzonden decoderen, maar niet wat u naar de andere partij verzendt, omdat die is versleuteld met een ander sleutelpaar.