Metode šifriranja uzimaju informacije i prikrivaju ih tako da nitko ne može pročitati sadržaj dok se ista metoda ne koristi za dešifriranje informacija natrag u izvorni oblik. Neke metode šifriranja oslanjaju se na korištenje tajnog algoritma za šifriranje i dešifriranje informacija. Metode šifriranja otvorenog koda imaju slobodno dostupan izvorni kod, pa se oslanjaju na simetrične ili asimetrične podatkovne ključeve umjesto na tajni algoritam.
Izvorni kod za softver otvorenog koda je besplatno dostupan za preuzimanje. To omogućuje cijeloj programerskoj zajednici da uči iz izvornog koda, revidira kod za greške ili sigurnosne ranjivosti i pridonese vlastiti izvorni kod za poboljšanje softvera. Softver otvorenog koda to se može pohvaliti kao prednost, ali to znači da svatko tko preuzme izvorni kod za program za šifriranje otvorenog koda automatski zna algoritam koji metoda koristi. Čuvanje algoritma u tajnosti nije opcija, pa se ove metode za šifriranje oslanjaju na podatkovne ključeve.
Podatkovni ključevi sadrže složen niz brojeva i znakova koje algoritmi koriste za određivanje uzorka šifriranja. Podatkovni ključ će uzrokovati da algoritam šifrira informacije na način koji je njemu jedinstven. Nakon što su informacije šifrirane, program će trebati podatkovni ključ koji je korišten za šifriranje informacija kako bi dešifrirao ili dešifrirao informacije. Ako korisnici čuvaju svoj podatkovni ključ na sigurnom, neovlašteni pojedinci neće moći dešifrirati svoje datoteke. Ovaj sustav omogućuje da algoritam koji metoda šifriranja otvorenog koda koristi bude općepoznat uz očuvanje sigurnosti informacija koje štiti.
Postoje dvije vrste ključeva podataka u metodama šifriranja otvorenog koda: simetrični i asimetrični ključevi. Sustav šifriranja sa simetričnim ključem koristi isti ključ za zaključavanje i otključavanje podataka. To može biti u obliku nasumično generiranog podatkovnog ključa ili lozinke koju algoritam koristi za šifriranje sadržaja datoteke. Korisnici koji žele šifrirati informacije tako da ih nitko osim njih ne može vidjeti, zadržali bi podatkovni ključ ili lozinku za sebe. Ako korisnik želi da druga osoba može dešifrirati njihove datoteke, tada bi toj osobi morao dati kopiju podatkovnog ključa ili podijeliti lozinku.
Asimetrični ključevi rade koristeći par ključeva, privatni i javni. Podaci unutar svakog ključa matematički su izvedeni iz istog izvora. Korisnik šifriranja ne dijeli privatni ključ ni s kim, a javni ključ dijeli bilo kome. Ako netko želi šifrirati dokument za tog korisnika, tada može koristiti njegov ili njezin javni ključ za enkripciju. Nakon što je dokument šifriran javnim ključem, algoritam ga ne može dešifrirati bez privatnog ključa.