






























Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity
Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium
Prepara tus exámenes
Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity
Prepara tus exámenes con los documentos que comparten otros estudiantes como tú en Docsity
Encuentra los documentos específicos para los exámenes de tu universidad
Estudia con lecciones y exámenes resueltos basados en los programas académicos de las mejores universidades
Responde a preguntas de exámenes reales y pon a prueba tu preparación
Consigue puntos base para descargar
Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium
Comunidad
Pide ayuda a la comunidad y resuelve tus dudas de estudio
Ebooks gratuitos
Descarga nuestras guías gratuitas sobre técnicas de estudio, métodos para controlar la ansiedad y consejos para la tesis preparadas por los tutores de Docsity
Asignatura: Criptografia, Profesor: Jordi Herrera, Carrera: Enginyeria en Informàtica, Universidad: UOC
Tipo: Apuntes
1 / 38
Esta página no es visible en la vista previa
¡No te pierdas las partes importantes!































PID_ Mòdul 2
En aquest mòdul didàctic presentem els fonaments per a entendre les tècni- ques criptogràfiques modernes, i ho fem seguint l’esquema següent:
1) Comencem tractant detalladament els criptosistemes històrics , és a dir, els que es feien servir abans de l’aparició dels ordinadors. En molts casos, aquests criptosistemes han servit de base als actuals.
2) A continuació veurem els conceptes bàsics de la teoria de la informació , sobre la qual s’ha construït la criptografia moderna.
En termes de la teoria de la informació formularem les definicions de secret perfecte i d’autenticitat perfecta. Veurem que en la pràctica és difícil, si no impossible, aconseguir el secret i l’autenticitat perfectes. No obstant això, aquests conceptes han de servir de guia en el disseny dels criptosistemes.
Per acabar, introduirem dos conceptes bàsics en la criptoanàlisi: la suposició de Kerckhoffs i la distància d’unicitat , i finalment il·lustrarem amb un exemple com es pot criptoanalitzar un criptosistema concret.
Occultas seu furtivas notas politioris literature viri eas literas appellant, quae artificio huius- modi confictae sunt, ut non possint ab alio, quam ab eo, cui literi destinatur, interpretari. G.B. Porta
Hi ha dues menes de xifres elementals, les basades en el principi de transpo- sició i les basades en el principi de substitució. Doncs bé, totes les xifres histò- riques (anteriors a la Segona Guerra Mundial) es basen en un d’aquests dos principis, o en una combinació d’ambdós.
1.1. Xifres de transposició
Les xifres de transposició reordenen els caràcters d’acord amb certes regles.
Normalment, la reordenació dels caràcters es feia amb l’ajut d’alguna figura geomètrica. Aquest xifratge s’efectuava en dos passos:
1) El text en clar s’escrivia a la figura seguint un determinat camí d’entrada.
2) Seguint un determinat camí de sortida , s’extreia el text xifrat de la figura.
Transposicions espartanes Els espartans feien servir un bastó com a figura per a fer una xifra de transposició. Es pre- paraven dos bastons del mateix gruix exactament; l’emissor se’n quedava un i l’altre era lliu- rat al receptor com a pas previ a l’enviament de missatges. Per a xifrar un missatge, l’emis- sor enrotllava una cinta de pergamí en espiral al voltant del seu bastó. Tot seguit, escrivia el missatge a la cinta en línies al llarg del bastó, després retirava la cinta i l’enviava al recep- tor. Pel camí, la cinta de pergamí no era més que una successió de lletres gregues col·loca- des en un ordre inintel·ligible. Quan el receptor enrotllava la cinta rebuda al voltant del seu bastó, podia llegir el missatge original. Noteu que el gruix del bastó actuava com a clau (amb un bastó més prim o més gruixut no podia recuperar-se el missatge inicial).
Moltes xifres de transposició permuten els caràcters del text en clar amb un període fixat d. Siguin d els enters d‘1 fins a d , i sigui ƒ : d d una per- mutació sobre d. La clau per a la xifra ve donada per la parella K ( d ,ƒ). Els blocs successius de d caràcters es xifren permutant els caràcters segons ƒ. D’a- questa manera, un missatge en clar com ara el següent:
M m 1 ... m (^) d md 1 ... m 2 d ...
queda xifrat com:
E (^) K ( M ) m ƒ^1 (1) ... m ƒ^1 ( d ) md ƒ^1 (1) ... m (^) d ƒ^1 ( d ) ...
El desxifratge fa servir la permutació inversa de ƒ.
Recordeu que hem vist les xifres detransposició i les de substitució en el subapartat 1.1 del mòdul “Introduccióa la criptografia” d’aquesta assignatura.
!
... era una ciutat estat de la Grècia clàssica que durant el segle V aC va tenir una llarga rivalitat amb Atenes. Els espartans eren fortament militaristes i empraven el xifratge per a les comunicacions militars.
Esparta...
Transposició amb període fix Considerem d 3 i prenem la permutació ƒ tal que ƒ(1) 2, ƒ(2) 3 i ƒ(3) 1. Lla- vors el missatge: M CRIPTOGRAFIA queda xifrat com: EK ( M ) ICROPTAGRAFI.
1.2. Xifres de substitució
Hi ha quatre menes de xifres de substitució: la simple, l’homofònica, la polial- fabètica i la poligràfica. A continuació expliquem cadascuna d’aquestes xifres.
1.2.1. Substitució simple
Una xifra de substitució simple canvia cada caràcter d’un alfabet en clar ordenat, denotat per , per la lletra corresponent d’un alfabet xifrat, denotat per .
Més formalment ho podem expressar de la manera següent:
on ƒ : és una aplicació bijectiva que fa correspondre a cada caràcter de un caràcter de . La clau de la xifra és determinada per la funció ƒ, de mane- ra que un missatge en clar com aquest:
M m 1 m 2 ...
queda xifrat com:
EK ( M ) ƒ( m 1 ) ƒ( m 2 ) ...
La xifra de Cèsar és una xifra de substitució simple, on i la clau és ƒ( a ) ( a k ) mod 26, amb k entre 0 i 25. De fet, Cèsar feia servir k 3.
1.2.2. Substitució homofònica
Les substitucions simples tenen l’inconvenient que preserven les freqüències del text en clar en el text xifrat, la qual cosa facilita molt els atacs criptoanalítics.
Recordeu que vam veure la xifra del Cèsaral subapartat 1.1 del mòdul “Introducció a la criptografia” d’aquesta assignatura.
!
1.2.3. Substitució polialfabètica
Hem vist que la substitució homofònica intenta amagar la distribució de fre- qüències dels símbols del text en clar assignant diversos símbols de text xifrat a cada caràcter del text en clar.
Doncs bé, la substitució polialfabètica persegueix la mateixa finalitat que l’homofònica, però aplica diversos criteris de substitució en comp- tes d’un de sol.
La majoria de xifres polialfabètiques són xifres de substitució periòdica basa- des en un període d. Siguin 1 , ..., d alfabets de text xifrat; sigui ƒ i : i una aplicació de l’alfabet de text en clar a l’ i -èsim alfabet de text xifrat i , per a 1 i d. Un missatge en clar com ara el següent:
M m 1 ... m (^) d md 1 ... m 2 d ...
es xifra repetint la seqüència d’aplicacions ƒ 1 , ..., ƒ d cada d caràcters, amb la qual cosa s’obté:
C E (^) K ( M ) ƒ 1 ( m 1 ) ... ƒ d ( md ) ƒ 1 ( md 1 ) ... ƒ d ( m 2 d ) ...
L’anomenada xifra de Vigenère és una xifra atribuïda indegudament al criptògraf francès del segle XVI Blaise de Vigenère. La clau és determinada per una seqüència de lletres K o, més ben dit, pels números d’ordre d’aquestes lletres:
K k 1 ... k (^) d ,
on ki ( i 1, ..., d ) indica la quantitat de desplaçament a l’ i -èsim alfabet, és a dir:
ƒ i ( a ) ( a k (^) i ) mod n.
Exemple de xifratge amb la xifra de Vigenère Prenem n 26 i d 4. Siguin els alfabets , 1 , ..., 4 iguals a l’alfabet llatí; si la clau és K INDI {8, 13, 3, 8}, el text en clar BALDUFES queda xifrat com JNOLCSHA.
L’anomenada xifra de Beaufort s’atribueix a l’almirall anglès Sir Francis Beaufort, però va ser proposada primer per l’italià G. Sestri el 1710. L’única diferència amb la xifra de Vigenère és que les funcions de substitució són:
ƒ i ( a ) ( a k (^) i ) mod n ,
per a i 1, ..., d.
Com la substitució homofònica, la substitució polialfabètica està documentada per primer cop a Itàlia. La primera xifra d’aquesta mena fou publicada per L.B. Alberti l’any 1568.
Itàlia altra vegada
Les màquines de rotors implementen xifres polialfabètiques amb un període llarg. Una màquina de rotors consisteix en un banc de rotors o rodes. El perí- metre de cada rotor té 26 contactes elèctrics (un per a cada lletra) tant a la cara del davant com a la cara del darrere. Cada contacte de la cara del davant es troba connectat a un contacte de la cara del darrere per a implementar-hi una aplicació ƒ i de lletres del text en clar a lletres del text xifrat. Els rotors poden rodar i col·locar-se en 26 posicions diferents, per tal d’alterar l’aplica- ció. La cara del darrere del rotor i -èsim es troba connectada a la cara del davant del rotor i 1-èsim. Una lletra en clar en forma de senyal elèctric entra al primer rotor i passa tots els rotors en seqüència i surt del darrer rotor.
El cablejat entre rotors i les posicions inicials dels rotors determinen la clau inicial. Cada cop que es xifra una lletra de text en clar, un o més rotors can- vien de posició, amb la qual cosa la clau canvia. Una màquina amb t rotors no torna a la posició inicial fins al cap de d 26 t^ xifratges.
La xifra de Vernam pot ser vista com una xifra de substitució polialfabètica en què la clau és aleatòria i el període d és més gran que la llargada del text en clar.
1.2.4. Substitució poligràfica
Les tres substitucions anteriors xifren una sola lletra de text en clar cada cop.
Les xifres de substitució poligràfica xifren blocs grans de lletres, amb la qual cosa dificulten atacs criptoanalítics basats en les freqüències individuals de les lletres del text en clar.
La clau de la xifra de Hill és una matriu K de d files i d columnes. Per a xifrar, s’agafen blocs successius de d caràcters del text en clar com si fossin vectors. Cada vector de text en clar es multiplica per K per a obtenir un vector de text xifrat (també amb d caràcters). Els productes són mòdul n , on n és el cardinal de l’alfa- bet de text xifrat. El procés de xifratge d’un vector M es pot escriure com:
C E (^) K ( M ) K · M mod n.
... els alemanys van fer servir una màquina de rotors anomenada Enigma i inventada per A. Scherbius.
Durant la Segona Guerra Mundial,...
H ( X ) p ( x ) log 2 p ( x ),
on el sumatori s’estén per a x ∈ sup( X ). Podem expressar la mateixa relació de manera equivalent:
H ( X ) p ( x ) log 2. (2.1)
És important recordar que l’entropia es mesura en bits.
Càlcul de l’entropia del camp sexe El camp sexe d’una base de dades pot ser vist com una variable aleatòria que pot pren- dre dos valors: home i dona. Si ambdós valors es consideren equiprobables, el càlcul de l’entropia és el següent:
H ( sexe ) (log 2 2) (log 2 2) 1 bit.
Així, doncs, el camp sexe conté 1 bit d’informació sota la hipòtesi que els dos sexes tenen la mateixa probabilitat.
Intuïtivament, cada terme log 2 [ 1 p ( x )] a l’equació (2.1) representa el nombre de bits necessaris per a codificar el valor x amb una codificació òptima, és a dir, una codificació que minimitzi el nombre esperat de bits per a transmetre o emmagatzemar. Vist d’aquesta manera, H ( X ) seria la longitud mitjana ponde- rada de les codificacions òptimes dels valors de X (la ponderació es fa segons la probabilitat de cada valor). Els codis de Huffman serveixen per a construir la codificació òptima esmentada i són emprats en compressió de dades.
Càlcul de la informació continguda en un missatge Suposem un missatge X que pot prendre n valors x 1 , ..., xn , tots amb la mateixa proba- bilitat p ( xi ) 1 n , per a i 1, ..., n. Llavors:
H ( X ) n log 2 n bits.
Així, doncs, saber quin valor ha pres X aporta log 2 n bits d’informació. També podem dir que la codificació òptima de cadascun dels n possibles valors requereix log 2 n bits. Si en aquest exemple fem n 1 i p ( x 1 ) 1, tenim que H ( X ) log 2 1 0 bits. En una variable que no és tal, sinó que pren un valor constant, no hi ha informació.
A l’exemple anterior hem vist dos casos extrems. De fet, l’entropia màxima es dóna quan hi ha incertesa màxima, és a dir, quan tots els n valors possibles d’una variable són equiprobables i l’entropia mínima es dóna quan només hi ha un valor possible i llavors val 0. Formalment, ho podem recollir en la pro- posició que expressem tot seguit:
Proposició 1 : si X té n possibles valors, llavors 0 H ( X ) log 2 n.
(
1 n log^2 n )
1 2
1 2
(
x p ( x ) )
x
Podeu veure amb detall els codis de Huffman al llibre: J. Rifà, L. Huguet (1991). Comunicación digital. Barcelona: Masson.
Lectura complementària
A més de l’entropia, per a l’estudi teòric de la criptografia és rellevant el concepte d’ entropia condicionada. Aquesta entropia mesura la incertesa que ens queda sobre una variable X quan coneixem el valor pres per una altra variable Y.
L ’entropia de la variable X condicionada a la variable Y es denota per H ( X | Y ) i es calcula de la manera següent:
H ( X | Y ) p ( x , y ) log 2 p ( x | y ) p ( y ) p ( x | y ) log 2 , (2.2)
on p ( x , y ) p ( X x , Y y ) és la funció de probabilitat conjunta de X i de Y *, i p ( x | y ) p ( X x | Y y ) p ( X x , Y y ) p ( Y y ) és la funció de probabili- tat de X condicionada a Y **.
Càlcul de l’entropia condicionada d’un missatge Sigui X un missatge que pot prendre quatre valors, tots amb la mateixa probabilitat 14; per tant, H ( X ) log 2 4 2 bits; i sigui Y un missatge que pot prendre quatre valors, també tots amb probabilitat 14. Suposem que cada valor de Y restringeix la tria de X a dos dels quatres valors possibles, segons les regles següents:
Pot passar que X i Y siguin variables que no tenen res a veure l’una amb l’altra*. En aquest cas, es diu que X i Y són independents i llavors es verifica el següent:
El coneixement del valor pres per una de les variables no redueix la incertesa sobre l’altra. La proposició següent explica la relació general entre H ( X | Y ) i H ( X ).
Proposició 2 : el coneixement d’una variable Y només pot reduir la incertesa sobre una altra variable X , és a dir:
0 H ( X | Y ) H ( X ). (2.3)
[
1 4 · 2 ·^ (^
1 2 · log^2 2 )]
(
x y y x p ( x | y ) )
*** Probabilitat que i alhora** Y valgui X valgui y****. x **** Probabilitat que si sabem que** Y X val valgui y****. x
longitud d’un punt del planeta Per exemple, la latitud i la triat a l’atzar.*
El secret i l’ autenticitat són conceptes diferents, i és per això que els tractarem de manera independent.
3.1. Secret perfecte
Shannon va mesurar el secret teòric d’una xifra com la incertesa sobre el text en clar un cop s’ha interceptat el text xifrat corresponent. Si, amb inde- pendència de la quantitat de text xifrat interceptat, no es pot saber res del text en clar, llavors la xifra ofereix un secret perfecte. La definició següent forma- litza en termes d’entropies això que hem dit.
Si M és un text en clar i C és el text xifrat corresponent obtingut amb un cert criptosistema, diem que el criptosistema proporciona un secret perfecte si H ( M | C ) H ( M ); de manera equivalent I ( M , C ) 0. Intuïti- vament, la incertesa sobre el valor del text en clar M quan el cripto- analista veu el text xifrat C és la mateixa que tindria si no l’hagués vist.
El problema del secret perfecte, com en la majoria de coses perfectes, és que és difícil d’aconseguir. Al seu article de 1949, Shannon va fer servir les pro- pietats de l’entropia per a demostrar que si M , C , K són el text en clar, el text xifrat i la clau, respectivament, llavors tenim:
H ( M | C ) H ( M , K | C ) H ( K | C ) H ( M | C , K ) H ( K | C ) H ( K ). (3.1)
En la desigualtat anterior s’ha fet servir que H ( M | C , K ) 0, és a dir, que no hi ha incertesa sobre el text en clar un cop coneguts el text xifrat corresponent i la clau emprada.
Combinant la definició de secret perfecte i la desigualtat (3.1) obtenim com a resultat el teorema de la fita fonamental de Shannon per al secret perfecte , que diu el següent: en un criptosistema perfectament secret, la incertesa de la clau secreta K ha de ser almenys tan gran com la incertesa del text en clar que pretén amagar. Formalment podem expressar la fita de Shannon de la manera següent:
H ( M ) H ( K ). (3.2)
Aquesta fita fonamental té conseqüències “tràgiques” pel que fa a la longitud de clau necessària per a mantenir el secret perfecte. En efecte, hem vist ante- riorment que un missatge X amb incertesa H ( X ) requereix com a mínim H ( X ) bits de mitjana per a codificar-ne els valors possibles.
En resum, la fita de Shannon ens diu que, en un criptosistema perfecta- ment secret, la clau K requereix tants o més bits que el text en clar M , és a dir, la clau secreta ha de ser més llarga que no el text que es vol xifrar.
La xifra de Vernam és l’única coneguda que ofereix un secret perfecte. Recor- dem que:
La darrera condició implica que la clau K és almenys tan llarga com el text en clar, és a dir, | K | | M |. Com que K és aleatòria (cada bit val 0 o 1 amb probabi- litat 12), resulta que H ( K ) | K |. D’altra banda, H ( M ) | M | (la igualtat només es produeix si M és un missatge aleatori). Per tant:
H ( M ) | M | | K | H ( K ),
i es compleix la condició de secret perfecte.
El criptosistema de Vernam pot semblar inútil a primera vista: es pot pensar que, posats a fer arribar al receptor de manera segura una clau secreta d’un sol ús més llarga que el missatge en clar, tant se valdria enviar directament el mis- satge en clar pel mateix canal segur per on es vol enviar la clau. Això no obs- tant, cal tenir en compte que si la clau es fa arribar al receptor en circumstàn- cies més favorables que no les que tindrem a l’hora d’enviar el missatge xifrat, té sentit passar una clau secreta més llarga que el mateix missatge en clar; per exemple, una bona estratègia és passar grans longituds de clau abans d’un con- flicte armat per a poder enviar missatges xifrats durant el conflicte.
3.2. Autenticitat perfecta
La criptografia pretén assegurar el secret i l’autenticitat dels missatges. Però, de fet, només molt recentment hom s’ha adonat que secret i autenticitat són
De fet, en anglès la xifra de Vernam es coneix també com a one-time pad , perquè es va fer servir poc abans, durant i després de la Segona Guerra Mundial per part d’espies de diferents països que rebien un full de paper ( pad ) amb la clau secreta aleatòria i la instrucció de fer-la servir només per a un sol xifratge ( one-time ).
One-time pad
aquesta definició presenta alguns “casos patològics”, ja que quan # M # C haurem de considerar perfectament autèntic un sistema amb Pe 1, perquè la desigualtat (3.3) indica que, per força, Psup 1.
La definició d’autenticitat perfecta es fa en termes d’informació mútua. Per a això necessitem conèixer el teorema de la fita de Simmons, que diu: si Psup és la probabilitat de suplantació amb èxit, es compleix:
Psup 2 I ( C , K )^. (3.4)
Paradoxalment, resulta que per a reduir la fita (3.4) cal que I ( C , K ) sigui gran, és a dir, que un criptograma doni molta informació sobre la clau emprada. Això té sentit, perquè que I ( C , K ) sigui gran vol dir que el criptograma C difí- cilment pot ser produït per algú que no sàpiga la clau K ; en altres paraules, per algú diferent de l’emissor legítim. Clarament, secret i autenticitat són, com a mínim, independents.
De fet, reduir la fita (3.3) fent créixer # C en relació amb # M implica també reduir la fita (3.4). En efecte, si # M # C , vol dir que veure un dels # M cripto- grames vàlids dóna força informació sobre la clau emprada per a produir-lo; per tant, I ( C , K ) és gran i la fita (3.4) és petita. Per a entendre aquest raonament , pensem en el cas oposat: si # M # C , llavors un criptograma pot aparèixer amb qualsevol clau (sigui quina sigui la clau triada, hi ha d’haver # M # C cripto- grames vàlids); per tant, veure un criptograma no diu res sobre la clau empra- da, amb la qual cosa I ( C , K ) 0 i la fita (3.4) és màxima ( Pe Psup 1).
Així doncs, un criptosistema té la propietat d’autenticitat perfecta si Pe pren el mínim valor possible, és a dir, si Pe 2 I ( C , K )^.
3.3. Exemples d’independència entre el secret i l’autenticitat
En aquest subapartat recollim cinc exemples proposats per J. Massey per a il·lustrar l’afirmació que secret i autenticitat són dues propietats indepen- dents d’un criptosistema. En els criptosistemes dels exemples, el text en clar és sempre un sol dígit binari M , el criptograma consisteix en dos dígits bina- ris C [ C 1 , C 2 ] i la clau K és aleatòria i consisteix en un o dos bits. En ser ale- atòria la clau, la seva entropia H ( K ) és igual a la seva llargada.
3.3.1. Criptosistema no secret ni autèntic
Considerem M {0, 1}, K {0, 1} i C {00, 01, 10, 11}. La transformació de xifratge s’indica a la taula següent:
Podeu trobar la demostració del teorema de la fita de Simmons a l’article de J. Massey “An Introduction to Contemporary Cryptology”, en l’obra següent: G.J. Simmons (1992). Contemporary Cryptology: The Science of Information Integrity. Nova York: IEEE Press.
Lectura complementària
En aquest cas, clarament no hi ha secret, atès que el primer bit del text xifrat és igual al text en clar.
Analitzem-ne l’autenticitat:
1) La probabilitat de suplantació amb èxit és Psup 1 2, perquè només dos dels quatre criptogrames seran acceptats pel receptor (que sap la clau) i per- què no hi ha cap criptograma que valgui amb totes dues claus.
2) Si el criptoanalista enemic veu un criptograma, sap que pot invertir-ne el primer bit i que el criptograma alterat serà acceptat sigui quina sigui la clau. En efecte, si K 0, valen C 00 i C 10; si K 1, valen C 01 i C 11. Per tant, la probabilitat de tenir èxit en una substitució és Psub 1, amb la qual cosa Pe 1.
3) Calculem la fita de Simmons. Tenim H ( K ) 1 bit i, d’altra banda, H ( K | C ) 0, atès que la clau queda determinada pel segon bit del criptograma. Per tant, I ( C , K ) H ( K ) H ( K | C ) 1. La fita és 2 I ( C , K )^ 2 ^1 Pe. Així, doncs, el cripto- sistema no proporciona una autenticitat perfecta.
En aquest cas, l’atac de substitució és més perillos que l’atac de suplantació.
3.3.2. Criptosistema no secret i trivialment autèntic
Considerem M {0, 1}, K {0, 1} i C {00, 01, 10, 11}. Introduïm un parà- metre R aleatori per tal d’aleatoritzar el xifratge. La transformació de xifratge és determinada per la taula següent:
En aquest cas tampoc no hi ha secret, atès que el primer bit del text xifrat és igual al text en clar.
K M 0 M 1 0 C 00 C 10 1 C 01 C 11
K R M 0 M 1 0 0 C 00 C 10 0 1 C 01 C 11 1 0 C 00 C 11 1 1 C 01 C 10