Kryptografiska algoritmer är sekvenser av processer, eller regler, som används för att kryptera och dechiffrera meddelanden i ett kryptografiskt system. Enkelt uttryckt är de processer som skyddar data genom att se till att oönskade personer inte kan komma åt dem. Dessa algoritmer har en mängd olika användningsområden, inklusive att säkerställa säkra och autentiserade finansiella transaktioner.
De flesta kryptografialgoritmer involverar användning av kryptering, vilket gör att två parter kan kommunicera samtidigt som obehöriga tredje parter inte förstår dessa kommunikationer. Kryptering förvandlar mänsklig läsbar klartext till något oläsligt, även känt som chiffertext. Den krypterade informationen dekrypteras sedan för att återställa den, vilket gör den förståelig för den avsedda parten. Både kryptering och dekryptering fungerar baserat på algoritmer.
Det finns många olika typer av kryptografiska algoritmer, även om de flesta av dem passar in i en av två klassificeringar – symmetriska och asymmetriska. Vissa system använder dock en hybrid av båda klassificeringarna. Symmetriska algoritmer, även kända som algoritmer för symmetrisk nyckel eller delad nyckel, fungerar genom att använda en nyckel som endast är känd för de två auktoriserade parterna. Även om dessa kan implementeras i form av blockchiffer eller strömchiffer, används samma nyckel för både kryptering och dekryptering av meddelandet. Data Encryption Standard (DES) och Advanced Encryption Standard (AES) är de mest populära exemplen på symmetriska kryptografialgoritmer.
Asymmetriska kryptografialgoritmer förlitar sig på ett par nycklar – en offentlig nyckel och en privat nyckel. Den offentliga nyckeln kan avslöjas, men för att skydda data måste den privata nyckeln döljas. Dessutom måste kryptering och dekryptering av data göras med tillhörande privata och offentliga nycklar. Till exempel måste data som krypteras med den privata nyckeln dekrypteras med den offentliga nyckeln och vice versa. RSA är ett av de vanligaste exemplen på denna algoritm.
Symmetriska algoritmer är vanligtvis mycket snabbare än asymmetriska algoritmer. Detta är till stor del relaterat till att endast en nyckel krävs. Nackdelen med system med delad nyckel är dock att båda parter känner till den hemliga nyckeln. Dessutom, eftersom algoritmen som används är den offentliga domänen, är det faktiskt nyckeln som styr åtkomsten till data. Av dessa skäl måste nycklarna skyddas och bytas relativt ofta för att säkerställa säkerheten.
Även om kryptografiska algoritmer används för att tillhandahålla säkerhet, är de inte 100 % idiotsäkra. Suboptimala system kan infiltreras och känslig information kan äventyras som ett resultat. Rigorösa tester av algoritmerna, särskilt mot etablerade standarder och identifierade svagheter, är därför avgörande för att säkerställa största möjliga säkerhet.