Kriptografiniai algoritmai yra procesų sekos arba taisyklės, naudojamos pranešimams šifruoti ir iššifruoti kriptografinėje sistemoje. Paprastais žodžiais tariant, tai procesai, kurie apsaugo duomenis, užtikrindami, kad nepageidaujami žmonės negalėtų jų pasiekti. Šie algoritmai naudojami labai įvairiai, įskaitant saugių ir autentiškų finansinių operacijų užtikrinimą.
Daugumoje kriptografijos algoritmų naudojamas šifravimas, kuris leidžia dviem šalims bendrauti, tuo pačiu užkertant kelią neteisėtoms trečiosioms šalims suprasti šiuos ryšius. Šifravimas žmogui skaitomą paprastą tekstą paverčia neįskaitomu, dar vadinamu šifruotu tekstu. Tada užšifruoti duomenys iššifruojami, kad būtų atkurti, kad būtų suprantami numatytai šaliai. Tiek šifravimas, tiek iššifravimas veikia remiantis algoritmais.
Yra daug skirtingų kriptografinių algoritmų tipų, tačiau dauguma jų patenka į vieną iš dviejų klasifikacijų – simetrinę ir asimetrinę. Tačiau kai kurios sistemos naudoja abiejų klasifikacijų hibridą. Simetriniai algoritmai, taip pat žinomi kaip simetrinio rakto arba bendrinamo rakto algoritmai, veikia naudojant raktą, žinomą tik dviem įgaliotoms šalims. Nors juos galima įdiegti blokinių šifrų arba srautinių šifrų pavidalu, tas pats raktas naudojamas pranešimui šifruoti ir iššifruoti. Duomenų šifravimo standartas (DES) ir išplėstinis šifravimo standartas (AES) yra populiariausi simetrinės kriptografijos algoritmų pavyzdžiai.
Asimetriniai kriptografijos algoritmai remiasi raktų pora – viešuoju raktu ir privačiuoju raktu. Viešasis raktas gali būti atskleistas, tačiau norint apsaugoti duomenis, privatus raktas turi būti paslėptas. Be to, duomenų šifravimas ir iššifravimas turi būti atliekamas naudojant susietus privačius ir viešuosius raktus. Pavyzdžiui, privačiu raktu užšifruoti duomenys turi būti iššifruoti viešuoju raktu ir atvirkščiai. RSA yra vienas iš labiausiai paplitusių šio algoritmo pavyzdžių.
Simetriniai algoritmai paprastai yra daug greitesni nei asimetriniai. Tai daugiausia susiję su tuo, kad reikalingas tik vienas raktas. Tačiau bendrų raktų sistemų trūkumas yra tas, kad abi šalys žino slaptąjį raktą. Be to, kadangi naudojamas algoritmas yra viešasis domenas, tai iš tikrųjų yra raktas, valdantis prieigą prie duomenų. Dėl šių priežasčių raktai turi būti saugomi ir gana dažnai keičiami siekiant užtikrinti saugumą.
Nors kriptografiniai algoritmai naudojami saugumui užtikrinti, jie nėra 100% patikimi. Neoptimali sistema gali būti įsiskverbta ir dėl to gali būti pažeista neskelbtina informacija. Todėl norint užtikrinti didžiausią saugumą, būtinas griežtas algoritmų testavimas, ypač atsižvelgiant į nustatytus standartus ir nustatytas silpnybes.