# Xifratge

En criptografia el xifratge, de vegades anomenat encriptatge, és el procediment gràcies al qual s'escriu un missatge emprant un codi secret o xifra de forma que la comprensió del missatge sigui impossible o, si més no difícil, a tota persona que no tingui la clau secreta per desxifrar-lo.
Al llarg de la història s'han fet servir diferents tipus de xifratge, que actualment ja no tindrien utilitat a causa de la facilitat de desxifrar els missatges amb les tècniques actuals. Són el que anomenem tècniques de xifratge clàssic. En contrast, anomenem xifratge modern les tècniques actuals, realitzades amb l'ajuda d'ordinadors i algorismes més avançats.
Encara que el xifratge pugui fer secret el contingut d'un document, cal complementar aquesta tècnica criptogràfica amb d'altres per tal de comunicar-lo de manera segura. Per verificar la integritat o per autenticar un document, es fa servir respectivament un Message authentication code (MAC) i una signatura digital. També es poden tenir en compte les tècniques d'anàlisi de trànsit que es poden aplicar a la comunicació, ja que la sola existència de comunicació genera uns patrons que poden ser objecte de tècniques de reconeixement de patrons. Per ocultar la presència de comunicacions i evitar aquest tipus de tècniques es fa servir l'esteganografia. La seguretat d'un sistema de xifratge ha de descansar sobre el secret de la clau de xifratge i no sobre el de l'algorisme. El principi de Kerckhoffs suposa que l'enemic (o la persona que vol conèixer el missatge en qüestió) coneix l'algorisme emprat.

## Els dos tipus principals de xifratge

Un sistema de xifratge s'anomena:
* simètric quan fa servir la mateixa clau per xifrar i desxifrar.
* asimètric quan fa servir claus diferents: una parella composta per una clau pública, que serveix per xifrar, i per una clau privada, que serveix per desxifrar. El punt fonamental sobre el qual se sosté aquesta descomposició pública/privada és la impossibilitat pràctica de deduir la clau privada a partir de la clau pública.
Els mètodes més coneguts són el DES, el Triple DES i l'AES per a la criptografia simètrica, i l'RSA per a la criptografia asimètrica, anomenada també criptografia de clau pública.
La utilització d'un sistema simètric o asimètric depèn de les tasques a complir. La criptografia asimètrica presenta dos avantatges principals: suprimeix el problema de transmissió segura de la clau, i permet la signatura electrònica. Tanmateix, no reemplaça als sistemes simètrics, ja que els temps de càlcul són clarament més curts en els sistemes simètrics que en els asimètrics.

## Diferència entre xifratge i codificació

Les operacions de xifratge i de codificació formen part de la teoria de la informació. La diferència essencial resideix en la voluntat de protegir les informacions i d'impedir a terceres persones d'accedir a les dades en el cas del xifratge. La codificació consisteix a transformar informació (de les dades) en un conjunt de paraules. Cadascuna d'aquestes paraules està constituïda de símbols. La compressió de dades és una codificació: es transformen les dades en un conjunt de paraules adequades destinades a reduir-ne la mida, però no hi ha voluntat d'amagar el contingut (encara que es faci implícitament més difícil accedir-hi).
El "codi" en el sentit criptogràfic del terme treballa al nivell de la semàntica (les paraules o les frases). Per exemple, un codi podrà substituir la paraula "avió" per un nombre. El xifratge treballa sobre components més elementals del missatge, les lletres o els bits, sense interessar-se pel significat. Un codi necessita una taula de conversió, anomenada també "diccionari" (codebook en anglès). Per això, "codificar" i "xifrar" sovint es fan servir com a sinònims malgrat aquesta diferència.
També es pot considerar que el xifratge ha de resistir un adversari «intel·ligent» que pot atacar de diverses maneres mentre que la codificació està destinada a una transmissió sobre un canal que potencialment pot patir soroll. Aquest soroll és un fenomen aleatori que no té «intel·ligència» intrínseca, però tanmateix, pot ser descrit matemàticament.

## Terminologia

Durant el procés de xifratge/desxifratge s'estableixen una sèrie de termes i convenis per facilitar referir-se als diferents elements que hi intervenen:
* El text net o (en anglès, plain text) és el missatge que es xifra.
* El criptograma o text xifrat és el missatge resultant una vegada s'ha produït el xifrat, és a dir, el missatge xifrat.
* El xifratge o encriptació és el procés que consisteix a convertir el text net en un galimaties il·legible (xifrar), o missatge xifrat.
* El xifrador és el sistema que implementa l'algoritme de xifrat.
* L'algorisme de xifratge o xifra és l'algoritme que s'utilitza per xifrar.
* La clau de xifrat s'utilitza a l'algorisme de xifratge.
* El desxifratge és el procés de convertir el text xifrat en el text .
* El desxifrador és el sistema que implementa l'algorisme de desxifratge.
* L'algorisme de desxifratge o desxifra és l'algoritme que s'utilitza per desxifrar.
* La clau de desxifratge s'utilitza a l'algorisme de desxifrat.
* La gestió de claus és el procés de generació, certificació, distribució i cancel·lació de totes les claus necessàries per portar a terme el xifratge.
* El criptosistema és el conjunt estructurat dels protocols, els algoritmes de xifratge/desxifratge, els processos de gestió de claus i les actuacions dels usuaris.
* La descripció d'entitats: quan es vol descriure un algorisme de xifratge/desxifratge que afecta l'enviament de missatges secrets, molts autors utilitzen els noms genèrics Alice i Bob en lloc dels críptics A i B. Si intervenen altres entitats (C, D, F... -la E quedaria reservada-), se'ls assignen llavors noms que comencin amb aquestes inicials, essent Carol i Dave els més freqüents. Quan un escenari involucra protecció davant d'atacants que fan escoltes, llavors per referir-se a aquests s'acostuma a fer servir el nom d'Eve (del terme anglès eavesdropper, "tafaner") o bé el nom Mallory, en cas que l'atacant, a més d'interceptar el missatge, tingui l'habilitat d'alterar-lo.
Amb freqüència els processos de xifratge i desxifratge se'ls denomina encriptació i desencriptació, ambdós anglicismes dels termes anglesos encrypt i decrypt. En català, el TERMCAT els admet tots dos.

## Preprocessat del text pla

En algunes ocasions, abans de xifrar es realitza un preprocès d'adaptació del text net. En aquest procés es poden seguir diverses passes que permetin el xifratge o facin que el xifratge resultant sigui més resistent davant d'atacs per criptoanàlisis. Tots aquests canvis s'hauran de tenir en compte quan es realitzi el desxifrat per poder obtenir el text net original. Per exemple, són freqüents les següents operacions:
* Conversió d'alfabet. Alguns xifradors utilitzen un alfabet del text en clar que no es correspon amb el del missatge que es vol xifrar. Per tant, és necessari adaptar el missatge a aquell alfabet. Per exemple, alguns xifradors utilitzen com alfabet del text pla l'alfabet llatí. Si es desitja xifrar un text en espanyol, és necessari realitzar un procés com a resultat del qual no apareguin els caràcters H, J, K, U, W i Y (per exemple, podrien substituir-se la U i la W per la V, la K amb la Q, la Ñ per la N, la Y per la I, la J per la G, i eliminar l'H). Un altre exemple clàssic és el cas de xifradors que no permeten xifrar minúscules, donat el cas serà necessari convertir-ho tot en majúscules.
* Preprocès per dificultar el criptoanàlisi. Per a augmentar la qualitat del text xifrat amb cert xifrador, ja sigui per la seva resistència davant d'atacs, extensió o qualsevol altra circumstància, a vegades es preprocessa el text net. Alguns exemples d'estratègies són:
** Inclusió de fragments que són per despistar i que no tenen cap significat. Habitualment aquests fragments són caràcters, i s'anomenen caràcters nuls.
** Eliminació de situacions del text net que poden ser aprofitades per atacs de criptoanàlisis. Per exemple:
*** Els espais en blanc i signes de puntuació acostumen a eliminar-se perquè, a més d'aconseguir una transmissió més eficient, s'aconsegueixi que les paraules no es puguin distingir pels contorns. Això pot produir ambigüitats que s'haurien de resoldre pel context.
*** Els casos de seqüències de lletres idèntiques seguides (per exemple, RR o LL de l'idioma espanyol), en determinats tipus de xifradors poden ser aprofitades per atacants. Per trencar aquestes seqüències de caràcters iguals, acostumen a aplicar-se dues estratègies: eliminar-ne un dels dos, o posar un contingut que no s'ha d'interpretar (si és un sol caràcter, se l'anomena caràcter nul).
* Utilitzar un codi. A vegades, abans de xifrar, s'utilitza un codi que dificulta arribar al significat de certes paraules o frases especialment importants o habituals.
* Conversió a números. Hi ha alguns algoritmes de xifrat com el RSA que necessiten convertir els caràcters en números. Es poden seguir distintes estratègies. Exemple:
** Podríem utilitzar una taula de conversió dels caràcters en números utilitzant algun sistema de codificació de caràcters com ASCII o Unicode. Per exemple el missatge "Hello World" utilitzant Unicode-8 quedaria:
       48 65 6C 6C 6F 20 57 6F 72 6C 64
       Aquesta cadena de bytes podríem convertir-la en un número obtenint:
       0x48656C6C6F20576F726C64=87521618088882533792115812
   * Una altra opció podria ser considerar que els caràcters estan endreçats segons un criteri i interpretar la cadena com un nombre de caràcters de l'alfabet. Per exemple si considerem que només hi ha caràcters en majúscules i els endrecem segons l'ordre alfabètic tindríem per exemple:
       "FILL
En qualsevol dels casos resultants pot ser massa petit, cosa que podria produir un text xifrat que no sigui segur. Per això, se sol aplicar un esquema de farciment (exemple:PKCS#1v1.5, el qual està ja trencat, o OAEP descrit en PKCS#1v2.0).

## Limitacions

El xifratge s'utilitza al segle xxi per protegir les dades digitals i els sistemes d'informació. Amb l'augment de la potència de càlcul, la tecnologia d'encriptació ha esdevingut més avançada i segura. Tot i això, aquest avenç tecnològic també ha posat de manifest una possible limitació dels mètodes d'encriptació actuals.
Avui dia, l'estàndard de les claus de xifratge modernes és de fins a 2048 bits amb el sistema RSA. Desxifrar una clau de xifratge de 2048 bits és gairebé impossible tenint en compte el nombre de combinacions possibles. No obstant això, la computació quàntica amenaça de canviar aquesta naturalesa segura.
La computació quàntica utilitza les propietats de la mecànica quàntica per processar grans quantitats de dades simultàniament. S'ha descobert que la computació quàntica arriba a velocitats de càlcul milers de vegades superiors a les dels superordinadors actuals. Aquesta potència de càlcul suposa un repte per a la tecnologia de xifratge actual. Per exemple, el xifratge RSA utilitza la multiplicació de nombres primers molt grans per crear un número semiprimer per a la vostra clau pública. Per desxifrar aquesta clau sense la vostra clau privada, cal calcular aquest número semiprimer, el que pot portar molt de temps amb els ordinadors moderns. Un superordinador trigaria entre setmanes i mesos a factoritzar aquesta clau. No obstant això, la computació quàntica pot utilitzar algorismes quàntics per factoritzar aquest nombre semiprimer al mateix temps que triguen els ordinadors normals a generar-lo. Això faria que totes les dades protegides per l'actual xifrat de clau pública fossin vulnerables als atacs de la computació quàntica. Altres tècniques de xifrat com la criptografia de corba el·líptica i el xifrat de clau simètrica també són vulnerables a la computació quàntica.
Tot i que la computació quàntica podria ser una amenaça per a la seguretat del xifratge en el futur, la computació quàntica, tal com està plantejada actualment, encara és molt limitada. La computació quàntica actualment no està disponible comercialment, no pot manejar grans quantitats de codi i només existeix com a dispositius de càlcul, no com a ordinadors. A més, els avenços de la computació quàntica també es poden utilitzar a favor del xifratge. L'Agència de Seguretat Nacional (NSA) dels EUA està preparant estàndards d'encriptació postquàntica per al futur. El xifratge quàntic promet un nivell de seguretat que pot contrarestar l'amenaça de la computació quàntica.

## Referències

* 1 2 Rifà, Josep. Seguretat computacional. Servei de Publicacions de la Universitat Autònoma de Barcelona, 1995, p. 18. ISBN 8449004640.
* ↑ arXiv, Emerging Technology from the. «How a quantum computer could break 2048-bit RSA encryption in 8 hours (Com un ordinador quàntic podria trencar el xifrat RSA de 2048 bits en 8 hores)» (en anglès americà). [Consulta: 2 abril 2020].
* ↑ «Quantum computers vastly outperform supercomputers when it comes to energy efficiency (Els ordinadors quàntics superen àmpliament els superordinadors quant a eficiència energètica)» (en anglès britànic), 01-05-2020. [Consulta: 2 maig 2021].
* ↑ Sharma, Moolchand; Choudhary, Vikas; Bhatia, R. S.; Malik, Sahil; Raina, Anshuman; Khandelwal, Harshit «Leveraging the power of quantum computing for breaking RSA encryption (Aprofitant la potència de la computació quàntica per trencar el xifratge RSA)». Cyber-Physical Systems, 7, 2, 03-04-2021, pàg. 73-92. DOI: 10.1080/23335777.2020.1811384. ISSN: 2333-5777.
* 1 2 Solenov, Dmitry; Brieler, Jay; Scherrer, Jeffrey F. «The Potential of Quantum Computing and Machine Learning to Advance Clinical Research and Change the Practice of Medicine (El potencial de la computació quàntica i l'aprenentatge automàtic per avançar en la investigació clínica i canviar la pràctica de la medicina)». Missouri Medicine, 115, 5, 2018, pàg. 463-467. ISSN: 0026-6620. PMC: 6205278. PMID: 30385997.
* ↑ «Recursos de ciberseguretat post-quàntica». Arxivat de l'original el 2021-01-18. [Consulta: 16 gener 2021].

## Bibliografia

* Fouché Gaines, Helen. Cryptanalysis: A Study of Ciphers and Their Solution (en anglès). Dover Publications Inc, 1939. ISBN 978-0486200972.
* Kahn, David (1967), The Codebreakers - The Story of Secret Writing (ISBN 0-684-83130-9) (anglès)
* Preneel, Bart (2000), "Advances in Cryptology - EUROCRYPT 2000", Springer Berlin Heidelberg, ISBN 978-3-540-67517-4 (anglès)
* Sinkov, Abraham (1966): Elementary Cryptanalysis: A Mathematical Approach, Mathematical Association of America. ISBN 0-88385-622-0 (anglès)

## Vegeu també

* Criptografia
* Criptografia simètrica
* Criptografia asimètrica

## Enllaços externs

* The world's first electronic Enigma machine Arxivat 2008-05-05 a Wayback Machine. (YouTube video)