Cryptografie is het ontwerpen en het gebruik van geheimschrift. Het woord cryptografie is afgeleid van de Griekse woorden krypto, wat bedekken of verbergen betekent, en het woord graphe, dat schrijven of het schrift betekent. Letterlijk betekent cryptografie dus geheimschrijverij.
Encryptie is het coderen of vercijferen van zogenaamde "klare tekst" (het origineel) in “cijfertekst”, ook wel aangeduid als cryptogram. Decryptie is het omgekeerde proces, het decoderen van de vercijferde tekst; het omzetten van de cijfertekst in de originele klare tekst. Encryptie en decryptie worden uitgevoerd met algoritmes en “sleutels”. Alleen diegenen die het algoritme kennen en beschikken over de juiste sleutel kunnen het oorspronkelijke bericht terugkrijgen.
Er zijn twee soorten encryptie: symmetrische encryptie en asymmetrische encryptie. Bij symmetrische encryptie wordt gebruik gemaakt van één sleutel. De afzender gebruikt deze om zijn bericht te versleutelen en de ontvanger gebruikt dezelfde sleutel om het bericht te ontcijferen. Het grote probleem bij symmetrische encryptie is de uitwisseling van de sleutel.
Bij asymmetrische encryptie wordt er gebruik gemaakt van twee sleutels: één sleutel voor het coderen en een andere sleutel voor het decoderen. De sleutel voor het coderen wordt breed bekend gemaakt. Daarom wordt deze ook wel de publieke sleutel genoemd. De sleutel voor het decoderen wordt geheim gehouden door de eigenaar. Nu kan iedereen de eigenaar een gecodeerd bericht sturen, door gebruik te maken van de publieke sleutel. De eigenaar is de enige die het bericht kan ontcijferen, met zijn geheime (private) sleutel.
Het probleem van een asymmetrische codering is dat het coderen en decoderen veel meer rekenwerk vergt. In de praktijk wordt daarom nog wel eens een combinatie toegepast, waarbij een symmetrische codering wordt gebruikt voor het uitwisselen van berichten en voor het uitwisselen van de benodigde sleutel wordt gebruik gemaakt van een asymmetrische codering.
Een van de eerste bekende vormen van encryptie werd gebruikt door Julius Ceasar. Het algoritme dat hij daarbij gebruikte was redelijk simpel. Iedere letter werd vervangen door de letter 3 plaatsen verder in het alfabet. Een A werd vervangen door een D, een B door een E en zo verder. Daarnaast werden alle spaties en leestekens weggelaten. Het algoritme dat Julius Ceasar gebruikte staat bekend onder de naam “shift by n”, waarbij in dit voorbeeld de sleutel n gelijk is aan 3.