Criptografia

La criptografia (o criptologia, del grec , kryptos, "amagat, secret"; i , gráphin, "escriptura", o , -logia, "estudi", respectivament) és, tradicionalment, l'estudi de formes de convertir informació des de la seva forma original cap a un codi incomprensible, de forma que sigui incomprensible pels que no coneguin aquesta tècnica. La criptografia clàssica utilitzava substitucions i permutacions relativament senzilles per tal d'amagar els missatges. La criptografia moderna en canvi utilitza àmpliament les disciplines de les matemàtiques, la informàtica i l'electrotècnia.

Algunes aplicacions de la criptografia inclouen caixers automàtics, contrasenyes i comerç electrònic.

La criptologia és l'estudi dels criptosistemes: sistemes que ofereixen mitjans segurs de comunicació amb els quals l'emissor oculta o xifra el missatge abans de transmetre-ho perquè només un receptor autoritzat (o ningú) pugui desxifrar-ho. Les seves àrees principals d'interès són la criptografia i la criptoanàlisi, però també inclou l'esteganografia com a part d'aquesta ciència aplicada. En temps recents, l'interès per la criptologia s'ha estès també a altres aplicacions, per part de la comunicació segura d'informació i, actualment, una de les aplicacions més esteses de les tècniques i mètodes estudiats per la criptologia és l'autenticitat de la informació digital (també anomenada signatura digital).

Terminologia 
De la informació original en diem el text pla (encara que no necessàriament treballem amb textos). Llavors passa per un procés de xifrat que fent servir algoritmes converteix la informació original en un codi il·legible per tothom que no tingui els mitjans per desxifrar (un altre algorisme), i la clau.

Actualment els algorismes, o tècniques criptogràfiques, consisteixen en programes d'ordinador que aprofiten propietats numèriques que fan que sense la clau sigui molt difícil d'obtenir la informació.

Per exemple estem fent servir la criptografia quan ens connectem al nostre banc a través d'Internet, de manera que encara que algú intercepti la informació que intercanviem amb aquest, no podrà descodificar la informació interceptada.

Col·loquialment, es considera els termes encriptar i xifrar com sinònims, igual que les seves contràries, desencriptar i desxifrar, però no passa el mateix amb el terme codificar. Aprovat per l'Institut d'Estudis Catalans, es pot utilitzar el terme encriptar que s'entendrà universalment per l'anglicisme dels termes anglesos encrypt i decrypt. Per definició, codificar significa expressar un missatge utilitzant algun codi, però no és necessàriament de forma oculta, secreta o inintel·ligible; escriure en l'idioma català implica l'ús d'un codi que serà comprensible per als catalanoparlants però no tant per aquí no domini l'idioma; la matemàtica i la lògica tenen els seus propis codis, i en general existeixen tants codis com idees. Tanmateix s'entendrà per xifrar 'escriure (un missatge) emprant un codi secret o xifra', però no necessàriament 'basant-se en algorismes matemàtics' com si seria encriptar.

Anomenem criptografia la tècnica de xifrar dades per tal d'evitar que siguin conegudes per gent no autoritzada. Contràriament, la criptoanàlisi s'encarrega de desxifrar aquestes dades. L'Institut d'Estudis Catalans no admet el terme criptologia perquè és una traducció directa de la paraula anglesa cryptology que no té una tradició d'ús en la llengua catalana, per això no està recollit al Diccionari de la Llengua Catalana de l'Institut d'Estudis Catalans.

Història 

Abans de l'època moderna, la criptografia només es preocupava de la confidencialitat del missatge (per exemple, l'encriptació) —conversió de missatges d'una forma comprensible a una incomprensible i de nou a una forma intel·ligible, de manera que els interceptors no puguin entendre'l sense un coneixement secret anomenat clau. L'encriptació es va utilitzar per (intentar) assegurar la seguretat a les comunicacions, com per exemple la d'espies, líders militars, i diplomàtics. A les últimes dècades, el camp s'ha expandit més enllà de dubtes sobre la confidencialitat per incloure tècniques per comprovar la integritat del missatge, l'autenticitat del receptor i de l'emissor, i signatures digitals, entre altres.

Criptografia clàssica 

Els tipus principals de criptografia clàssica eren el xifratge per transposició, que reordenava l'ordre de les lletres del missatge (per exemple, 'hola món' esdevé 'aolh ónm') i xifratge per substitució, que substitueix sistemàticament lletres o grups de lletres amb altres lletres o grups de lletres (per exemple, 'hola, què tal?' esdevé 'ipmb, rvf ubm?', substituint una lletra per la següent a l'alfabet llatí). Les versions simples mai poden oferir un cert nivell de confidencialitat. Un antic mètode de xifratge per substitució va ser el xifratge de Cèsar, en què cada lletra del text pla es reemplaçava per una lletra que es trobava a un cert nombre de posicions respecte a la primera. S'anomena en honor de Juli Cèsar, del qual es diu que l'emprava amb una variació de 3 per comunicar-se amb els seus generals durant les campanyes militars. També es té constància de diversos mètodes de xifratge hebreus. L'ús més antic de criptografia és una pedra egípcia amb text xifrat (del voltant del 1900 AC). També se n'ha trobat a Mesopotàmia. Es recomana la criptografia al Kama Sutra com a manera de comunicació entre enamorats sense perill de descobriment.

Es diu que a l'època greca i clàssica es coneixien xifratges (per exemple, el xifratge mitjançant l'escítala). L'estenografia (amagar l'existència del missatge per mantenir-lo confidencial) també es va desenvolupar als temps antics. Un exemple inicial d'Heròdot consistia a rapar els cabells d'un esclau, escriure-li un missatge al cap i esperar que li tornessin a créixer els cabells. Un altre mètode grec va ser desenvolupat per Polibi (actualment anomenat "Quadrat de Polibi"). Altres exemples més moderns d'estenografia inclouen l'ús de tinta invisible, micropunts o taques d'aigua digitals per amagar informació.

Els texts xifrats creats mitjançant un xifratge clàssic (i alguns xifratges moderns) sempre revelen informació estadística sobre el text pla, que sovint es pot utilitzar per trencar-los. Després del descobriment de l'anàlisi de freqüències, potser pel matemàtic àrab Al-Kindí al , gairebé tots aquests xifratges van esdevenir més o menys vulnerables pels atacants informats. Aquests xifratges clàssics encara són populars actualment, principalment com a trencaclosques. Al-Kindí va escriure un llibre sobre criptografia anomenat Risalah fi Istikhraj al-Mu'amma (Manuscrit per desxifrar missatges criptogràfics), en què va descriure tècniques de criptoanàlisi, incloent-ne algunes per a xifratges polialfabètics.

Essencialment tots els xifratges van romandre vulnerables a la criptoanàlisi utilitzant l'anàlisi de freqüències fins al desenvolupament del xifratge polialfabètic, principalment per Leon Battista Alberti al voltant de l'any 1467, tot i que sembla que Al-Kindí ja ho coneixia. La innovació d'Alberti va ser utilitzar diferents xifratges (per exemple, alfabets de substitució) per a diverses parts d'un missatge. També va inventar el que probablement va ser el primer mètode automàtic de xifratge, una roda que implementava una realització parcial del seu invent. Al xifratge de Vigenère polialfabètic utilitza una paraula clau, que controla la substitució de lletres d'acord amb la lletra que s'utilitzi. A mitjan  Charles Babbage va mostrar que els xifratges d'aquest tipus romanien parcialment vulnerables amb anàlisis de freqüències esteses.

S'han utilitzat diversos dispositius físics i ajudes per als xifratges. Un dels més antics podria ser l'escítala de l'antiga Grècia, una vara utilitzada suposadament pels espartans com a ajuda per un xifratge per transposició (vegeu imatge més amunt). Amb la invenció de xifratges polialfabètics van aparèixer ajudes més sofisticades com el mateix disc de xifratge d'Alberti, la tabula recta de Johannes Trithemius, i el multi-cilindre de Thomas Jefferson (no conegut públicament, i reinventat independentment per Bazeries al voltant del 1900). Es van inventar molts dispositius mecànics d'encriptació/desxifratge a principis del , i se'n van patentar diversos, entre ells màquines rotor —inclosa la coneguda màquina Enigma utilitzada pel govern alemany des de finals de la dècada del 1920 i durant la Segona Guerra Mundial.

Era dels ordinadors 
El desenvolupament d'ordinadors digitals i electrònica després de la Segona Guerra Mundial va fer possible xifratges molt més complexos. A més, els ordinadors van permetre l'encriptació de qualsevol mena de dades representables en format binari, contràriament als xifratges clàssics que només encriptaven textos escrits. Els ordinadors acostumen a tractar les operacions en seqüències de bits en format binari (de vegades en grups o blocs), a diferència dels mètodes mecànics i clàssics, que generalment manipulen els caràcters tradicionals (per exemple, lletres i dígits) directament. Tanmateix, els ordinadors també han assistit la criptoanàlisi, havent compensat l'augment en la complexitat dels xifratges. Nogensmenys, els bons mètodes moderns s'han anticipat a la criptoanàlisi; sovint passa que el xifratge és molt eficient (i per tant calen pocs recursos de CPU), mentre que per trencar-lo cal un esforç molts ordres de magnitud superior, molt més gran que amb qualsevol xifratge clàssic. Això fa la criptoanàlisi poc eficient i poc pràctica. Per tant, són millors uns altres mètodes d'atac.

Xifratge 
El procediment utilitzat per xifrar dades es realitza mitjançant un algorisme el qual se li pot considerar com una funció matemàtica. Per tant, un algorisme de xifratge és una fórmula per desordenar una informació de manera que aquesta es transformi en incomprensible, utilitzant un codi o una clau (a vegades, més d'una). Els missatges que s'han de protegir, denominats textos en clar, es transformen mitjançant aquesta funció i, a la sortida del procés de posada en clau s'obté el text xifrat, o xifrograma. En molts casos existeix un algorisme de desxifratge encarregat de reordenar la informació i tornar-la intel·ligible, però no sempre és així. Quan existeixen les dues funcions, una per xifrar i l'altre per desxifrar, es diu que el sistema criptogràfic és de dues vies o reversible (a partir d'un missatge en clar es pot obtenir un xifratge i a partir d'aquest es pot obtenir el missatge original), mentre que quan no existeix una funció per desxifrar es diu que el sistema és d'una sola via (a partir d'un missatge xifrat no és possible obtenir el missatge en clar que el va generar, l'aplicació d'aquest és, per exemple, per l'emmagatzemament de les contrasenyes).

La transformació de dades preveu una possible solució a dos dels problemes de seguretat en el maneig de dades: la privadesa i autenticitat. D'aquesta manera s'intenta evitar que les persones no autoritzades puguin extreure informació del canal de comunicació o modificar aquests missatges.

Des del punt de vista històric els mètodes de xifratge s'han dividit en dues categories: xifradors de substitució i xifradors de transposició. En un xifrador de substitució, cada lletra o grup de lletres se substitueixen per una altra lletra o un grup de lletres per desxifrar-les. Els xifradors de substitució preserven l'ordre dels símbols del text en clar, però els disfressen. El xifrador de substitució més antic que es coneix és el Xifratge de Cèsar, atribuït a Juli Cèsar. En aquest mètode, A és representat per D, B per E, C per F, i així cada lletra se substitueix per la que es trobi tres llocs davant d'aquesta, considerant que després de la Z torni a començar per la A. Una variant del xifrador del Cèsar és permetre que l'alfabet xifrat es pugui desplaçar k lletres (no només 3), convertint-se k en la clau.

En l'actualitat, l'ús de la criptografia s'ha estès tant en els sectors empresarials i polítics, per exemple els bancs en el comerç electrònic, com per als usuaris particulars que gràcies a iniciatives com el PGP poden disposar de nivells de seguretat usats pels serveis secrets per enviar els seus correus electrònics.

Criptografia moderna 
El camp modern de la criptologia es pot dividir en diverses àrees d'estudi.

Criptografia de clau simètrica 

La criptografia de clau simètrica es refereix a aquells mètodes de xifratge en què l'emissor i receptor comparteixen la mateixa clau (o, rarament, unes claus diferents però relacionades entre elles d'una forma calculable). Va ser l'únic mètode de xifratge conegut públicament fins al juny del 1976. L'estudi modern de xifratges de clau simètrica està relacionat principalment amb l'estudi de xifratge per blocs i xifratge per flux i amb les seves aplicacions. Un xifratge per blocs és una forma moderna del xifratge polialfabètic d'Alberti: els blocs de xifratge tenen com a entrada un bloc de text pla i una clau, i produeixen un bloc de text xifrat amb la mateixa mida. Com que els missatges són gairebé sempre més llargs que un únic bloc, es requereix un mètode d'unió dels blocs successius. Se n'han desenvolupat diversos, alguns amb més o menys seguretat en diferents aspectes.

El Data Encryption Standard (DES) i l'Advanced Encryption Standard (AES) són dissenys de xifratge per blocs que el govern dels Estats Units ha designat estàndards criptogràfics (tot i que la designació del DES es va retirar un cop es va acceptar l'AES). Tot i que el DES ja no es considera estàndard oficial, el DES (especialment la variant encara aprovada i molt més segura triple DES) encara és molt popular; s'utilitza en un gran ventall d'aplicacions, des d'encriptació ATM passant per la privadesa dels correus electrònics i accés remot segur. S'han designat i llançat molts altres xifratges per blocs, amb una variació considerable en la qualitat.

Criptografia de clau pública 

Els algorismes de clau pública generen un parell de claus, una de privada i una de pública. Aquestes claus són nombres primers de molt alta magnitud, de forma que és computacionalment impossible de trobar mitjançant la força bruta. Hi ha uns quants casos dins dels quals podem treballar amb aquest sistema.

Suposem dos interlocutors, A i B, amb les seves respectives claus públiques i privades.

Comunicació segura 
El procés seguit, esquemàticament, és el següent:

Si en un determinat moment, B decideix contestar amb seguretat:
 Ara, B utilitzarà la clau pública d'A (receptor en aquest cas), per xifrar-li el missatge.
 Quan A el rebi, utilitzarà la seva clau privada (A), coneguda només per ell, per tal de desxifrar-lo.

Amb aquest esquema, per cada missatge xifrat, només pot haver-hi un sol receptor.

Verificació d'autenticitat, no modificació, i no repudi 
Si el que volem és demostrar que un cert missatge ha estat escrit per nosaltres, el que farem és adjuntar al document un resum del mateix (Checksum), amb la data i d'altres camps addicionals, i el xifrarem amb la nostra clau privada. D'aquesta manera, serem els únics que podem signar el missatge. Per tant, quan els altres utilitzin la nostra clau pública per desxifrar la signatura, el resultat que els donarà serà correcte i coherent amb el document.

Conseqüències:
 Demostra que només nosaltres podem haver escrit un cert document.
 Podem demostrar que és nostre
 No podem dir que ningú s'ha fet passar per nosaltres
 Hi diu la data i l'hora, de forma que si es modifiqués, el resum del missatge no coincidiria (perquè és un xifrat de només un sentit, i només es pot verificar si és vàlid o no).
 Es pot demostrar que un cert document s'ha fet no després d'una certa data i hora.
 Si en comptes de canviar la data es canvia el contingut, el resultat és el mateix. És a dir, la comprovació de consistència del missatge amb el reu resum xifrat no coincidiria.

Aquests principis són els que es fan servir per a construir la signatura digital.

Altres sistemes 
El 2017 va sortir una encriptació caòtica anomenada distribució de claus basades en bits aleatoris sincronitzats. És tant aplicable a l'àmbit de l'electrònica com la fotònica.

Referències

Bibliografia

Vegeu també 
 AutoFirma
 Clau
 Criptografia de corba el·líptica
 Criptografia financera
 Criptografia híbrida
 Xifratge de Cèsar
 RSA
 Signatura digital
 Màquina Enigma
 Criptograma musical

Enllaços externs 
 BerkaEnigma - Criptografía Simétrica Aplicada