Xifratge: diferència entre les revisions

Contingut suprimit Contingut afegit
m Robot treu enllaç al propi article
mCap resum de modificació
Línia 3:
En [[criptografia]] el '''xifratge''', de vegades anomenat '''encriptar''', é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 (criptografia)|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 degut a causa de la facilitat de desxifrar-los els missatges amb les tècniques actuals. Són el que anomenem tècniques de [[xifratge clàssic]]. En contrast, anomenem xifratge modern a 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 (criptografia)|integritat]] o per [[autenticar]] un document, es fa servir respectivament un [[Message authentication code]] (MAC) oi una [[signatura digital]]. També es poden tenir en compte les tècniques d'[[anàlisi de trànsit]] que potes poden aplicar patira la comunicació, ja que ella solsola fet de l'existència de comunicació genera unauns 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 [[Principis de Kerckhoffs|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 ==
Línia 13:
* [[Criptografia de clau pública|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.<ref name=rifa/> 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'[[Advanced Encryption Standard|AES]] per a la [[criptografia simètrica]], i el 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. No reemplaça tanmateix els sistemes simètrics, ja que els temps de càlcul són clarament més curts pelsen els sistemes simètrics que pelsen 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) cap aen 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 cap aen 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 l'accés al contingutaccedir-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 del contingut. 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 a un [[adversari (criptografia)|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 [[Variable aleatòria|aleatori]] que no té «intel·ligència» intrínseca, però pot tanmateix pot ser descrit [[matemàtiques|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 en clarnet''' o '''text pla''' (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 '''xifratxifratge''' o '''encriptació'''  és el procés que consisteix a convertir el ''[[text pla]]''net en un galimaties il·legible (xifrar), el missatge xifrat.
* El '''xifrador''' és el sistema que implementa l'algoritme de xifrat.
* L''''algoritmealgorisme de xifratxifratge''' o xifra és l'algoritme que s'utilitza per xifrar.
* La '''clau''' de xifrat s'utilitza a l'algoritmealgorisme de xifratxifratge.
* El '''desxifratdesxifratge''' és el procés de convertir el text xifrat en el text en clar.
* El '''desxifrador''' és el sistema que implementa l'algoritmealgorisme de desxifratdesxifratge.
* L''''algoritmealgorisme de desxifratdesxifratge''' o desxifra és l'algoritme que s'utilitza per desxifrar.
* La '''clau de desxifratdesxifratge''' s'utilitza a l'algoritmealgorisme 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 xifratxifratge.
* El '''criptosistema''' és el conjunt estructurat dels [[Protocol criptogràfic|protocols]], els algoritmes de xifratxifratge/desxifratdesxifratge, els processos de gestió de claus i les actuacions dels usuaris.
* La '''descripció d'entitats''': quan es desitjavol descriure un algoritmealgorisme de xifratxifratge/desxifratdesxifratge que involucraafecta 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 escoltadesescoltes, llavors per referir-se a ellsaquests s'acostuma a utilitzarfer servir el nom d'''Eve'' (del terme anglès ''[[Eavesdropping|eavesdropper]]'', "tafaner") o bé el nom ''Mallory'', en cas que l'atacant, a més d'interceptar el missatge, tingui l'habilitat d'alterar-lalo.
Amb freqüència alsels processos de xifratxifratge i desxifratdesxifratge se'ls denomina ''encriptatencriptació'' i ''desencriptatdesencriptació'', ambdós [[Anglicisme|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 planet. En aquest procés es poden seguir diverses passes que permetin el xifratxifratge o facin que el xifratxifratge 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 planet 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àlisis'''. 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 en clarnet. 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 clarnet 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 del dos, o posar un contingut que no s'ha d'interpretar (si és un sol caràcter, se l'anomena ''caràcter nul'').