Xifratge

De Viquipèdia
(S'ha redirigit des de: Xifrat)
Salta a: navegació, cerca
Exemple de xifratge utilitzant el xifrat de Vernam.

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 secreta per desxifrar-lo.

Encara que el xifratge pugui fer secret el contingut d'un document, cal complementar aquesta tècnica criptogràfica amb 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) o una signatura digital. També es poden tenir en compte les tècniques d'anàlisi de trànsit que pot patir la comunicació, ja que el sol fet de l'existència de comunicació genera una 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[modifica]

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 que 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 el 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 dues 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 pels sistemes simètrics que pels asimètrics.

Diferència entre xifratge i codificació[modifica]

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 a 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 a un conjunt de paraules adequades destinades a reduir la mida però no hi ha voluntat d'amagar (encara que es faci implícitament més difícil l'accés al contingut).

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 «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ò pot tanmateix ser descrit matemàticament.

Terminologia[modifica]

Durant el procés de xifratge/desxifratge s'estableixen una sèrie de termes i convenis per facilitar referir-se als diferents elements que intervenen:

  • El text en clartext pla (en anglèsplain 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 xifrat és el procés que consisteix a convertir el text pla en un galimaties il·legible (xifrar), el missatge xifrat.
  • El xifrador és el sistema que implementa l'algoritme de xifrat.
  • L'algoritme de xifrat o xifra és l'algoritme que s'utilitza per xifrar.
  • La clau de xifrat s'utilitza a l'algoritme de xifrat.
  • El desxifrat és el procés de convertir el text xifrat en el text en clar.
  • El desxifrador és el sistema que implementa l'algoritme de desxifrat.
  • L'algoritme de desxifrat o desxifra és l'algoritme que s'utilitza per desxifrar.
  • La clau de desxifrat s'utilitza a l'algoritme de desxifrat.
  • La gestió de claus és el procés de generació, certificació, distribució i cancel·lació de totes les claus necessaris per portar a terme el xifrat.
  • El criptosistema és el conjunt estructurat dels protocols, els algoritmes de xifrat/desxifrat, els processos de gestió de claus i les actuacions dels usuaris.
  • La descripció d'entitats: quan es desitja descriure un algoritme de xifrat/desxifrat que involucra l'enviament de missatges secrets, molts autors utilitzen els noms genèrics Alice i Bob enlloc dels críptics A i B. Si intervenen altres entitats (C, D, F... -la E quedaria reservada-), se les assignen llavors noms que comencin amb aquestes inicials, i els més freqüents son Carol i Dave. Quan un escenari involucra protecció davant d'atacants que fan escoltades, llavors per referir-se a ells s'acostuma a utilitzar 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-la.

Amb freqüència als processos de xifrat i desxifrat se'ls denomina encriptat i desencriptat, ambdós anglicismes dels termes anglesos encrypt i decrypt. En català, el TERMCAT els admet tots dos.

Preprocessat del text pla[modifica]

En algunes ocasions, abans de xifrar es realitza un preprocés d'adaptació del text pla. En aquest procés es poden seguir diverses passes que permetin el xifrat o facin que el xifrat 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 pla 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 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 tot en majúscules.
  • Preprocés per dificultar el criptoanàlisis. Para augmentar la qualitat del text xifrat amb cert xifrador, ja sigui per la seva resistència davant d'atacs, extensió o qualsevol altre circumstància, a vegades es preprocessa el text en clar. 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 clar que poden ser aprofitades per atacs de criptoanàlisis. Per exemple:
      • Els espais en blanc i signes de puntuació acostumen a eliminar-se per que, 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 un d'ells o ficar 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 número 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)

Vegeu també[modifica]

Enllaços externs[modifica]

A Wikimedia Commons hi ha contingut multimèdia relatiu a: Xifratge Modifica l'enllaç a Wikidata