miniatura|Un nombre aleatori gran s'utilitza per fer una parella clau pública/clau privada. miniatura|Qualsevol pot xifrar utilitzant la clau pública, però només qui té la clau privada pot desxifrar. La seguretat depèn del secret de la clau privada. miniatura|Utilitzant una clau privada per xifrar (i així, signar) un missatge; qualsevol pot comprovar la signatura fent servir la clau pública (i també qualsevol pot desxifrar el missatge). La validesa depèn de la seguretat de la clau privada. miniatura|En l'esquema de predistribució de claus de Diffie-Hellman, cada part genera una parella clau pública/privada i distribueix la clau pública. Després d'obtenir una còpia autèntica de les claus públiques dels altres, l'Alice i el Bob poden calcular un secret compartit fora de línia. El secret compartit es pot utilitzar com la clau per a un xifratge simètric. La criptografia asimètrica, coneguda també com a criptografia de clau pública, és una forma de criptografia en la qual la clau utilitzada per xifrar un missatge difereix de la clau utilitzada per desxifrar-lo. A la criptografia de clau pública, un usuari té un parell de claus una clau pública i una clau privada. La clau privada es manté secreta, mentre que la clau pública es pot dir a tothom. Els missatges nous s'han de xifrar amb la clau pública del receptor; i només es poden desxifrar amb la seva clau privada corresponent. Les claus es relacionen matemàticament, però la clau privada a la pràctica no es pot obtenir a partir de la clau pública.

En canvi a la, criptografia clau secreta, coneguda també com a criptografia simètrica s'utilitza una clau secreta senzilla tant per al xifratge com per al desxifratge. Per utilitzar criptografia simètrica a les comunicacions, tant el remitent com el receptor abans haurien de saber la clau, o s'hauria d'enviar amb el missatge.

A la criptografia simètrica, hi ha la metàfora de la clau que permet accedir al missatge original: és com si l'emissor i el receptor tinguessin dues còpies de la mateixa clau. L'emissor per enviar un missatge el tanca amb clau a una capsa, i envia la capsa. Quan el receptor rep la capsa, la pot obrir amb la seva còpia de la clau.

A la criptografia asimètrica es conserva la paraula però la metàfora queda una mica canviada. És com si algú hagués inventat un sistema de panys, que fa que les claus que permeten tancar la capsa són diferents de les que permeten obrir-la. De fet la clau que permet tancar és més com tancar la porta amb la balda de cop. Qui vol rebre missatges primer ha de donar les claus que permeten tancar però no obrir (o capses que tanquen de cop). Llavors ja se li pot enviar un missatge. El missatge es fica a la capsa, i es tanca amb la clau que només permet tancar (o es tanca de cop). S'envia la capsa i només la podrà obrir qui n'ha enviat la clau de tancar. De fet si algú s'equivoca i tanca la capsa (amb la clau de tancar o de cop) ja no la pot obrir.

Les dues branques principals de criptografia de clau pública són: Xifratge amb clau pública - un missatge xifrat amb la clau pública d'un receptor no pot ser desxifrat per ningú tret del receptor, que té la clau privada corresponent. Això serveix per assegurar la confidencialitat. Signatura digital - un missatge signat (xifrat) amb la clau privada d'un remitent pot ser verificat (desxifrat) per qualsevol que sàpiga la clau pública del remitent. Demostrant així que el remitent és qui l'ha signat (xifrat) i que el missatge no s'ha manipulat (perquè la clau pública només pot servir per desxifrar el missatge si s'ha xifrat amb la clau privada, que no coneix ningú més, i si no ha estat alterat). Això serveix per assegurar l'autenticitat.

Una analogia per al xifratge de clau pública és: una bústia tancada amb una ranura per al correu. La ranura és accessible al públic. la seva localització (l'adreça de carrers) és la clau pública. Tothom que sàpiga l'adreça pot anar-hi, i deixar un missatge a través de la ranura. Però només qui tingui la clau pot obrir la bústia.

Una analogia per a signatures digitals és el precintament d'un sobre amb un segell de cera. El missatge el pot obrir tothom, però la presència del precintament autentifica el remitent.

Un problema central per a l'ús de criptografia de clau pública és que una clau pública sigui autèntica. És a dir, que pertanyi a la persona adequada, i no hagi estat manipulada ni substituïda per cap tercer maliciós. L'enfocament usual a aquest problema és fer servir una infraestructura de clau pública (PKI), en la qual una o més terceres parts, conegudes com a autoritats de certificació, certifiquen la propietat de parells de claus. Un altre enfocament, utilitzat per PGP, és la "web de confiança" mètode per assegurar autenticitat de parelles claus.

Per ara, les tècniques de clau pública s'han fet servir més que els sistemes purs de xifratge simètric. L'ús assenyat d'aquestes tècniques permet una varietat àmplia d'aplicacions sense patir cap penalització computacional prohibitiva. A la pràctica, la criptografia de clau pública es fa servir sovint en combinació amb mètodes de clau privada per raons de rendiment. Per al xifratge, el remitent xifra el missatge amb un algorisme de clau privada que utilitza una clau aleatòriament generada, i aquella clau aleatòria es xifra llavors amb la clau pública del receptor. Per a les signatures digitals, el remitent resumeix el missatge (fent servir una funció resum criptogràfica) i llavors signa el "valor resum" que en resulta. Abans de verificar la signatura, el receptor també calcula el resum del missatge, i compara aquest valor resum amb el valor resum signat per comprovar que el missatge no s'ha manipulat.

Història Durant la major part de la història de criptografia, una clau s'havia d'establir i mantenir absolutament secreta per endavant utilitzant un mètode segur però no criptogràfic; per exemple, una reunió de cara a cara o un missatger de confiança. Hi ha un cert nombre de dificultats pràctiques significatives en aquest enfocament a la distribució de claus. La criptografia de clau pública s'inventà per encarar aquests desavantatges - amb la criptografia de clau pública, els usuaris es poden comunicar de manera segura sobre un canal insegur sense haver d'estar d'acord amb una clau compartida per endavant.

El 1874, un llibre escrit per William Stanley JevonsJevons, William Stanley, The Principles of Science: A Treatise on Logic and Scientific Method, Macmillan & Co., London, 1874, 2nd ed. 1877, 3rd ed. 1879. Reprinted with a foreword by Ernst Nagel, Dover Publications, New York, NY, 1958. descrivia la relació entre les funcions de sentit únic i la criptografia i analitzava específicament el problema de Factorització (que és el que més tard es faria servir en el sistema RSA). El juliol de 1996, en Solomon W. Golomb feia els següents comentaris sobre el llibre de Jevons:

Solomon W. Golomb, On Factoring Jevons' Number, CRYPTOLOGIA 243 (July 1996).

La primera invenció d'algorismes clau asimètrics la feien James H. Ellis, Clifford Cocks, i Malcolm Williamson a GCHQ al regne Unit durant els primers anys de la dècada de 1970; aquestes invencions foren el que més tard s'ha conegut com a intercanvi de claus de Diffie-Hellman, i un cas particular de RSA. Els criptògrafs del GCHQ es referien a aquesta tècnica com " xifratge no secret". Aquestes invencions no es revelaven públicament a l'època, i el fet que s'havien desenvolupat es mantingué secret fins al 1997.

El 1976, Whitfield Diffie i Martin Hellman, publicaren un sistema de xifratge de clau asimètrica i (influïts pel treball de Ralph Merkle sobre la distribució pública de claus) revelen un mètode per acordar públicament claus. Aquest mètode d'intercanvi exponencial de la clau, que més tard es coneixerà com el mètrode d'intercanvi de claus de Diffie-Hellman, va ser el primer mètode pràctic publicat per establir una clau secreta compartida sobre un canal de comunicacions desprotegit sense utilitzar un secret compartit previ. La tècnica d'acordar públicament claus de Merkle es coneixeria com els Trencaclosques de Merkle, i es publicà el 1978.

El 1977 Rivest, Shamir i Adleman reinventaven una generalització del mètode de Cocks, quan eren al Massachusetts Institute of Technology (MIT). Els últims autors publicaren el seu treball el 1978, i l'algorisme esdevingué conegut com a RSA. RSA utilitza la Potenciació modular, un producte de dos nombres primers molt grans, per xifrar i desxifrar. Fa tant xifratge de clau pública com signatures digitals de clau pública. La seguretat rau en l'extrema dificultat de factoritzar nombres enters grans, un problema per al qual no es coneix cap tècnica general eficient. Es va publicar una descripció de l'algoritme a la columna «Jocs Matemàtics» del número d'agost de 1977 de Scientific American.

Des dels anys 1970, s'han desenvolupat un gran nombre i una gran i varietat de xifratges, signatures digitals, distribucions de claus, i altres tècniques en el camp de criptografia de clau pública. El criptosistema ElGamal (inventat per Taher ElGamal llavors a Netscape) confia en la dificultat (similar i relacionada) del problema de logaritme discret, com també ho fa el Digital Signature Algorithm (DSA) mot parent i que va ser desenvolupat per NSA i NIST. La introducció de la criptografia de corba el·líptica per Neal Koblitz el mig el 1980 ha produït una família nova d'algorismes de clau pública anàlegs. Encara que matemàticament més complex, sembla que les corbes el·líptiques proporcionen un camí més eficient que el logaritme discret, especialment respecte a la mida de la clau.

Seguretat Per alguns esquemes de xifratge es pot demostrar que són segurs sobre la base de suposar la dificultat d'un determinat problema matemàtic com ara la descomposició en factors enters dels nombres que són producte de dos nombres primers molt grans o el càlcul del logaritme discret. Fixeu-vos que aquí la paraula "segur" té un significat matemàtic precís, i hi ha múltiples definicions (significatives) diferents de què vol dir que un esquema de xifratge sigui segur. La definició "correcta" depèn del context en què es desplegarà l'esquema.

A diferència del que passa amb el xifratge de Vernam, cap esquema de xifratge de clau pública no pot ser segur contra tafaners amb potència computacional il·limitada. Les proves de seguretat en aquest cas es mantenen respecte a adversaris computacionalment limitats, i donen garanties (relatives a una suposició matemàtica particular) del tipus: "l'esquema no pot ser trencat utilitzant un ordinador de sobretaula durant 1000 anys". L'aplicació més òbvia d'un sistema de xifratge de clau pública és la confidencialitat; un missatge que un remitent xifra utilitzant la clau pública del receptor només pot ser desxifrat amb la clau privada (associada a aquesta clau pública) del receptor.

Els algorismes de signatura digital de clau pública es poden utilitzar per a l'autenticació del remitent i justificant de recepció. Per exemple, un usuari pot xifrar un missatge amb la seva pròpia clau privada i enviar-lo. Si un altre usuari el pot desxifrar amb èxit utilitzant la clau pública corresponent, això proporciona la garantia que el primer usuari (i no un altre) l'ha enviat. A la pràctica, es calcula un resum criptogràfic del missatge, es xifra amb la clau privada i s'envia junt amb el missatge (xifrant-ho altre cop tot plegat amb la clau pública del receptor) això ocasiona una signatura criptogràfica del missatge. El receptor llavors, un cop desxifrat el missatge amb la seva clau privada, pot verificar la integritat de missatge i l'origen calculant el valor del resum del missatge rebut i comparant-lo amb la signatura descodificada (el valor resum original). Si el resum enviat i el calculat pel receptor no lliguen, llavors el missatge rebut no és idèntic al missatge que el remitent "signava", o la identitat del remitent és incorrecta.