Top Banner
PRÀCTICA 1 codificació - criptografia - criptoanàlisi Matemàtiques per a Multimèdia - II
28

MATES II PRACTICA1 Villarreal Quintana Jaume

Oct 26, 2014

Download

Documents

tictools

Pràctica de Mates(II) - CODIFICACIÓ i ENCRIPTACIÓ. Grau en Multimèdia. UOC
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: MATES II PRACTICA1 Villarreal Quintana Jaume

PRÀC

TIC

A 1

codi

ficac

ió -

crip

togr

afia

- cr

ipto

anàl

isi

Matemàtiques per a Multimèdia - II

Page 2: MATES II PRACTICA1 Villarreal Quintana Jaume

Matemàtiques per a Multimèdia - II Pràctica 1

- 2 -

1. Codificació.....................................................................

2. Criptografia de clau privada..........................................

3. Criptoanàlisi..................................................................

4. Criptografia de clau pública..........................................

5. Recurs Flash................................................................

6. Recursos......................................................................

3

11

16

21

26

28 índe

x

Page 3: MATES II PRACTICA1 Villarreal Quintana Jaume

Matemàtiques per a Multimèdia - II Pràctica 1

- 3 -

codi

ficac

ióm

ecan

ism

es m

és s

impl

es d

els

codi

s co

rrec

tors

d’e

rror

s

Page 4: MATES II PRACTICA1 Villarreal Quintana Jaume

Matemàtiques per a Multimèdia - II Pràctica 1

- 4 -

L’objectiu d’aquesta part de la pràctica és explicar els mecanismes més simples dels

codis correctors d’errors a partir d’un exemple de la vida real. Com a mínim haureu

de desenvolupar l’exemple seguint l’estil (i millorant) les explicacions de l’exemple

de les pàgines 29-33 del mòdul de codificació. L’exemple amb què il·lustrareu les

idees és el següent:

“Després de la jubilació de James Bond, heu ocupat la seva pla-

ça al servei de Sa Majestat. A la vostr primera missió, heu de

infiltrar-vos en la Caserna General del Comandamen Nuclear

a Corea del Nord, obrir la seva caixa forta, i comunicar a Mo-

neypenny, de manera xifrada, el que trobeu a l’interior d’aquesta,

segons el codi que heu acordat prèviament.”

Teranyines 000Una ampolla del millor whisky 001

La temporada 11 d’American Idol en DVD 010Un pollastre de goma 100

El llistat complet dels números de telèfon dels

generals de l’exèrcit nord-coreà

101

Els plànols de la planta de producció de bom-

bes nuclears

110

Un gra d’arròs 111

codificació

Page 5: MATES II PRACTICA1 Villarreal Quintana Jaume

Bit de paritatÉs un mètode per a la detec-

ció d’errors de transmisió o

emmagatzemament de dades.

Consisteix en afegir 1 bit per a

cada paraula, on s’especifica si

la quantitat de bits amb valor 1

de la paraula és parell o senar.

Aquest mètode detecta els

errors, però no els corregeix

(només en el cas que la paraula

transmesa sigui de mida 1 bit).

Detecció d’errorsPer calcular el nombre d’errors

que es poden detectar en un

gurp de paraules s’haurà d’obvi-

ar sempre el 0.

Matemàtiques per a Multimèdia - II Pràctica 1

- 5 -

per començarAbans d’iniciar la missió hem de ser conscients que la transmissió codificada de

dades pot generar errors. Com que la informació que recollirem serà de gran impor-

tància no ens podem permetre cap error.

Per això ens haurem d’assegurar que la transmissió de les dades serà segura i que

en cas que hi hagi algun problema podrem identificar dos factors:

• el possible error que s’hagi pogut produir en la transmissió.

• en quina part del codi es troba l’error detectat.

D’entrada veiem que tenim un grup de paraules que pertanyen a C2, un subconjunt

de Z2. És a dir, partim d’una codificació en sistema binari amb paraules de tres dígits

de longitud. Quines seran les característiques que presenta aquest subconjunt?

• Pertanyen un codi no linial.

• Totes les paraules del codi estan formades per tres bits. Això

és així perquè treballem amb sistema binari i per poder co-

dificar-les totes necessitarem una longitud de dígits que ens

permeti incloure totes les paraules. Això tan sols ho podrem

aconseguir considerant 23=8.

• Com que la longitud mínima que pot tenir aquest grup de pa-

raules és de tres dígits, no hi ha cap paraula que tingui bit de

paritat.

• La no presència del bit de paritat implica que les paraules

tenen poca redundància, fet que dificultarà la detecció i reso-

lució de possibles errors.

els errors en els codis no linialsPer saber quants errors podrem detectar en el nostre codi haurem de tenir presents

quatre conceptes:

• distància de Hamming: nombre de dígits en què es dife-

rencien dues paraules. Això serà imprescindible per trobar la

distància mínima d’un codi.

• distància mínima d’un codi (d): és la mínima de totes les

distàncies entre les seves paraules. Per poder-la calcular

abans haurem de calcular la distància de Hamming entre to-

tes les paraules.

• detecció d’errors (d-1): es refereix al nombre d’errors que

podrem detectar en el codi. Serà la distància mínima - 1.

codificació

Page 6: MATES II PRACTICA1 Villarreal Quintana Jaume

Matemàtiques per a Multimèdia - II Pràctica 1

- 6 -

• correcció d’errors (e): un cop establerta la quantitat d’er-

rors que es poden detectar estarem en disposició de calcular

quants errors es poden corregir.

Tenint això present, podem calcular quants errors podrem detectar i quants errors

podrem corregir amb el codi que ens han assignat.

Distància entre les paraules del codi

C2 000 001 010 100 101 110 111000 0001 1 0010 1 2 0100 1 2 2 0101 2 1 3 1 0110 2 3 1 1 2 0111 3 2 2 2 1 1 0

Codi Distància entre paraules d

C2 0, 1, 2, 3 1

Com es pot observar, el codi assignat ens permetrà detectar tan sols un error i no

ens donarà la possibilitat de corregir-ne cap. Davant d’aquesta conclusió serà ne-

cessari afegir redundància al nostre codi per assegurar-nos que podrem detectar i

corregir els possibles errors generats durant la transmissió.

codificació

Page 7: MATES II PRACTICA1 Villarreal Quintana Jaume

Matemàtiques per a Multimèdia - II Pràctica 1

- 7 -

afegint redundànciaDavant la poca consistència de detecció i correcció que mostra el codi que ens han

adjudicat, haurem de crear un codi detector i corrector d’errors, en el nostre cas un

codi linial.

Per crear un codi linial necessitem dues matrius:

• una matriu generadora (G), que ens permetrà obtenir les

paraules del codi linial.

• una matriu de paritat (H), que en permetrà detectar i corre-

gir els errors que el codi permeti.

Un cop obtingudes aquestes dues matrius procedirem de la següent manera:

1. Multipliquem totes les paraules per la matriu generadora per

tal d’obtenir totes les paraules del codi linial.

2. Trasmetem el codi.

3. Rebem el codi i comprovem que no hi ha hagut cap error en

la recepció. Per fer-ho caldrà multiplicar cada codi rebut per

la matriu de paritat (H):

• si el vector resultant està format per zeros la paraula

és pertanyent al codi.

• si el resultat no és un vector format per zeros la pa-

raula no pertany al codi.

4. En el cas que ens trobem una paraula no pertanyent al codi

la matriu de paritat ens permetrà detectar on es troba l’error:

• comparem el resultat amb les columnes de la matriu de

paritat. La columna coincident ens indicarà la posició on

hi ha la errada. Com que treballem amb sistema binari, la

solució serà senzilla. A l’igual que una funció booleana,

si una opció és incorrecta n’hi haurà prou de substituir-la

per l’altra.

Seguint aquest procediment ara podrem transformar el codi inicial en paraules de

codi linial. Per fer-ho ens servirem de les matrius G i H que ja ens han estat facilita-

des en el moment d’emprendre la missió.

codificació

Page 8: MATES II PRACTICA1 Villarreal Quintana Jaume

Calcular (d) als codis linialsEn els codis linials la distància

mínima es troba buscant quants

uns té la paraula del codi amb

menys uns, obviant la paraula

formada íntegrament per zeros.

Matemàtiques per a Multimèdia - II Pràctica 1

- 8 -

transformant en codi linialMultipliquem cada paraula del codi inicial per la matriu generadora.

Amb aquest procediment hem obtinguts les paraules del codi linial. Ara els objectes

trobats a la caixa forta canvien la seva codificació:paraula codi inicial codi linial

teranyines 000 0000000ampolla 001 0011011

DVD 010 0101110pollastre 100 1001101

llistat telefònic 101 1010110plànols planta nuclear 110 1100011

gra d’arròs 111 1111000

Per altra banda, haurem d’esbrinar quina quantitat d’errors podrem detectar i quants

podrem corregir.

En el nostre cas podem afirmar que:

• d = 4

• errors detectables: d-1 = 4-1 = 3

• errors corregibles:

codificació

Page 9: MATES II PRACTICA1 Villarreal Quintana Jaume

Matemàtiques per a Multimèdia - II Pràctica 1

- 9 -

comprovant el codi linial

Un cop rebut els missatges serà el

moment de comprovar que no hi

ha cap error. Com es pot observar,

totes les paraules donen com a re-

sultat un vector format per zeros, fet

que confirma que la transmissió s’ha

fet de manera correcta.

Però... què hauria passat si una

d’aquestes paraules hagués tingut

un error?

En el següent apartat platejarem

aquest hipotètic cas.

codificació

Page 10: MATES II PRACTICA1 Villarreal Quintana Jaume

Matemàtiques per a Multimèdia - II Pràctica 1

- 10 -

detectant i corregint un errorImaginem que la paraula que codifica el gra d’arròs no s’ha trasmès de manera cor-

recta i enlloc d’arribar (1111000) ha arribat (0111000)... què passaria en aquest cas?

Doncs el primer que detectarem és que el producte de la matriu de paritat per la

paraula no dóna com a resultat un vector format per zeros.

Això ens alerta de que aquesta paraula no pertany al codi. Com que el codi ens

permet corregir fins a un error, comprovarem que aquest es troba en el primer dígit,

doncs el resultat del producte coincideix amb la primera columna de la matriu de

paritat.

D’aquesta manera podrem corregir l’error canviant el dígit de la primera posició (1

en comptes de 0) per interpretar correctament el missatge codificat.

codificació

Page 11: MATES II PRACTICA1 Villarreal Quintana Jaume

Matemàtiques per a Multimèdia - II Pràctica 1

- 11 -

crip

togr

afia

de c

lau

priva

daxi

frat

i de

sxifr

at d

e m

issa

tges

am

b m

ètod

e Cè

sar

Page 12: MATES II PRACTICA1 Villarreal Quintana Jaume

Clau CèsarJuli Cèsar va utilitzar aquest

mètode amb la clau secreta

k=3.

Clau simètricaLa clau privada també es coneix

com clau simètrica perquè el

mateix procés que s’empra per

encriptar és vàlid per desen-

criptar.

Matemàtiques per a Multimèdia - II Pràctica 1

- 12 -

un canal insegurLa criptografia en general no tindria cap raó de ser sense l’existència dels canals

insegurs. Des dels inicis de la Història l’home ha tingut la necessitat de transmetre

missatges privats preservant la seguretat i l’autencitat del mateix. Però l’existència

de canals insegurs va generar l’aparició de sistemes que afavorisin aquesta segu-

retat i autenticitat.

Així doncs, la solució va ser enviar els missatges encriptats, de manera que el pos-

sible atacant del canal no fos capaç d’interpretar el missatge.

Al llarg dels segles s’han creat diferents sistemes criptogràfics, uns més rudimenta-

ris que d’altres, però tots amb un mateix objectiu.

Ja els grecs van destacar en aquest camp,

ideant l’Escítalo, un sistema d’encriptació amb

una cinta plena de lletres i un pal que permetia

llegir missaltges sempre i quan l’emissor i el

receptor compartissin el mateix decodificador.

També l’Imperi Romà va veure

com s’ideaven sistemes de trans-

missió segura de missatges. Entre

ells va destacar el sistema d’en-

criptació Cèsar, mètode que deu

el seu nom a Juli Cèsar, persona

que el va idear.

Però no va ser fins al 1949 quan

Claude Elwood Shannon va crear

la criptografia científica, fruit de la gran herència que va deixar la II Guerra Mundial.

En aquells anys els alemanys van aconseguir a màxima sofisticació de l’encriptació

de clau privada amb la màquina Enigma, que el matemàtic Alan Turing va poder

interceptar.

què és?Un sistema criptogràfic de clau privada es caracteritza per l’existència d’un sol codi

o clau secreta que només és conegut per l’emissor i el receptor. D’aquesta manera

qualsevol missatge podrà se encriptar amb la clau acordada i serà desencriptat se-

guint el mateix procediment.

Matemàticament, cadascun dels elements que intervenen en aquest procés s’iden-

tifica d’una manera diferent:

• m = missatge

• k = clau privada

• c = missatge encriptat.

criptografiade clau privada

Escítalo

Màquina ENIGMA

Page 13: MATES II PRACTICA1 Villarreal Quintana Jaume

Matemàtiques per a Multimèdia - II Pràctica 1

- 13 -

A partir d’aquí podrem establir dues funcions:

• c = Ek(m) si volem encriptar un missatge.

• m= D(c) >> m=Dk(Ek(m)) si volem desencriptar aquest mis-

satge.

el mètode CèsarEl sistema de clau privada de Juli Cèsar consisteix en en-

criptar un missatge caràcter a caràcter a partir d’una clau

k. Històricament, l’algoritme de Cèsar es basava en un

conjunt que comprenia 26 claus, una per cada lletra de

l’alfabet. Tot i així, aquest nombre pot variar si l’emissor i el

receptor es posen d’acord en ampliar el nombre de claus

amb què treballar. N’hi hauria prou, per exemple, incloent els nombres del 0 al 9.

Seguint aquest mètode el sistema de claus quedaria de la següent manera:A B C D E F G H I J K L M N1 2 3 4 5 6 7 8 9 10 11 12 13 14Ñ O P Q R S T U V W X Y Z15 16 17 18 19 20 21 22 23 24 25 26 27 28

Amb aquest sistema hem intercanviat missatges al Fòrum de la nostra aula. Per fer-

ho s’ha seguit el següent procediment:

1. ESTABLIR UNA CLAU PRIVADA.Com que estem treballant sobre un sistema d’encriptació de clau privada, el primer

que ha calgut fer ha estar consesuar una clau amb el nostre interlocutor. En aquest

cas s’ha acordat que k=8.

2. ENCRIPTAR EL MISSATGE.m = Bona tarda Carles! El dimarts vint-i-quatre toquem a Luz de Gas.

funció: c = E8(m) [canviem cada caràcter pel que està 8 unitats més endavant].

c = jwuihaizlihkizsm mshlptiza cpuapybiazmhawybmthihsbghlmhñi

B o n a t a r d a C a rj w u i h a i z l i h k i zl e s ! E l d i m a r t ss m m s h l p t i z av i n t - i - q u a t r ec p u a p y b i a z m ht o q u e m a L u z da w y b m t h i h s b g h le G a s .m h ñ i

criptografiade clau privada

Aritmètica modularL’algoritme de Cèsar, a l’igual

que molts altres sistemes de

numeració, es basa en càlculs

d’aritmètica modular.

L’aritmètica modular estableix la

quantitat base que marcarà el

sistema de numeració. Aquesta

quantitat és el que s’anomena

mòdul (mòdul 24 en el cas de

les hores, mòdul 360 en el cas

dels angles,...).

Quan un nombre supera el

mòdul (m) se li ha de restar els

múltiples necessaris per arribar

a m-1.

Llavors direm que el nombre és

congruent amb el residu que

ha quedat dins dels límits del

mòdul. Per exemple:

Page 14: MATES II PRACTICA1 Villarreal Quintana Jaume

Matemàtiques per a Multimèdia - II Pràctica 1

- 14 -

Tot i que aquí hem codificat el missatge a partir de la taula, el missatge que s’ha

enviat al Fòrum ha estat encriptat amb l’applet de Flash. Com es pot observar, l’apli-

cació ha generat algunes alteracions, com els espais de la posició 28 o els guions,

que no són presents en els valors del mòdul.

3. DESENCRIPTAR EL MISSATGE.c = jwuihaizlihqibtmm xmzwhybmhapuñbmbhtwsaih wza

funció: m = D8 (E8(m)) [canviem cada caràcter pel que està 8 unitats més enrere].

c = Bona tarda Jaume. Espero que tingueu molta sort.

j w u i h a i z l i h q i bB o n a t a r d a J a ut m m x m z w h y b m hm e E s p e r o q u ea p u ñ b m b h t w s a i ht i n g u e u m o l t a

w z as o r t .

criptografiade clau privada

Page 15: MATES II PRACTICA1 Villarreal Quintana Jaume

Matemàtiques per a Multimèdia - II Pràctica 1

- 15 -

Tal i com ha passat amb l’encriptació del missatge. la desencriptació també s’ha

fet amb l’aplicació Flash, amb els mateixos resultats. En alguns casos hi ha hagut

alguna variació amb els espais, fet que no ha afectat al sentit global del missatge.

criptografiade clau privada

Page 16: MATES II PRACTICA1 Villarreal Quintana Jaume

Matemàtiques per a Multimèdia - II Pràctica 1

- 16 -

crip

toan

àlis

iat

ac c

ripto

anal

ític

i inv

estig

ació

exh

aust

iva

de c

laus

Page 17: MATES II PRACTICA1 Villarreal Quintana Jaume

Matemàtiques per a Multimèdia - II Pràctica 1

- 17 -

criptologiaper començarPer poder explicar de manera acurada el concepte de criptologia ens anirà bé una

passa enrere i definir de nou el concepte de criptografia.

La criptografia és la ciència i l’art d’emprar les matemàtiques per assegurar una

transmissió segura i autèntica de qualsevol missatge.1

La tramesa de missatges encriptats implica alhora la possibilitat de poder-los inter-

ceptar i interpretar. Aquests dos aspectes conformaran la globalitat de la criptografia:

CRIPTOGRAFIA = CRIPTOLOGIA + CRIPTOANÀLISI

• La criptologia s’ocupa de les tècniques que alteren la re-

presentació gràfica dels missatges per tal de fer-los inintel-

ligibles a qualsevol intrús que intercepti el missatge.

• La criptoanàlisi s’ocupa de les tècniques susceptibles de

trencar un criptosistema.

En aquest apartat ens centrarem en aquest segon aspecte, basant-nos en la desen-

criptació d’un missatge presentat al Fòrum.

cerca exhaustiva de clausEn l’apartat anterior hem fet una promera presentació del concepte de criptoanàlisi.

En aquest ens centrarem sobre una de les tècniques d’aquest àmbit: la cerca ex-

haustiva de claus.

Aquest mètode se centra en el desxifrat de sistemes criptogràfics de clau privada.

D’entrada el que podem afirmar és que com més petit sigui el nombre de claus pos-

sibles més efectiu serà el mètode. Per això serà un sistema ideal per a interceptar i

identificar missatges encriptats amb el sistema d’encriptació Cèsar.

La facilitat o dificultat per trencar un missatge encriptat a partir d’aquest sistema rau

en el criteri de probabilitat.

critoanàlisi i probabilitatLa probabilitat de que succeeixi un esdeveniment està directament relacionada amb

la quatitat de casos favorables i la quantitat de casos possibles que es poden donar

en una situació concreta. Dit d’una altra manera:

P(S) = nombre de casos favorables (S) / nombre de casos possibles

Aquesta relació entre casos favorables i casos possibles és de summa importància

a l’hora de valorar la facilitat o dificultat d’encertar en un atac amb cerca exhaustiva

1 Cruells P. Sáez G.: Criptografia de clau privada, pàg.5 [material docent] UOC.

Fortalesa del sistema CèsarEl sistema d’encriptació Cèsar

presenta poca fortalesa davant

d’un atac a partir d’una cerca

exhaustiva de claus.

El fet que estigui composat tan

sols per 26 claus fa que la seva

desencriptació sigui molt senzi-

lla, fins i tot de manera manual.

Tan sols cal provar les 26 claus.

Page 18: MATES II PRACTICA1 Villarreal Quintana Jaume

1123

Matemàtiques per a Multimèdia - II Pràctica 1

- 18 -

de claus. Com més petit sigui el nombre de casos possibles més senzill serà trencar

un missatge. Com més gran sigui el nombre de casos possibles, més difícil serà

posar en pràctica aquesta tècnica amb resultats satisfactoris.

Això fa que sistemes com el Cèsar quedin molt exposats davant d’un tipus d’atac

com aquest.

• casos favorables = 1

• casos possibles = 26

• P (S) = 1/26

Dit d’una altra manera, trencar un missatge encriptat amb sistema Cèsar ens dema-

narà, com a màxim, un total de 26 intents. Aquest és el motiu que fa que el sistema

de clau Cèsar sigui poc robust, ja que la probabilitat d’encertar és molt alta.

criptoanalitzant un missatgePer demostrar la fragilitat del sistema hem triat de manera aleatòria un missatge

publicat al Fòrum que ha estat encriptat amb el sistema Cèsar.

Per fer-ne la criptoanàlisi treballarem de manera manual seguint el següent mètode:

Prenem una mostra del missatge. (VCZOÑGOAHW)

Apliquem una a una les claus sobre la mostra presa.

Un cop descoberta la clau l’apliquem sobre la totalitat del

missatge.

criptologia

Page 19: MATES II PRACTICA1 Villarreal Quintana Jaume

Matemàtiques per a Multimèdia - II Pràctica 1

- 19 -

ATAC CRIPTOANALÍTICCERCA EXHAUSTIVA DE CLAUS

mostra k mVCZOÑGOAHW 1 UBYÑNFÑ GVVCZOÑGOAHW 2 TAXNMENZFUVCZOÑGOAHW 3 S WMLDMYETVCZOÑGOAHW 4 RZVLKCLXDSVCZOÑGOAHW 5 QYUKJBKWCRVCZOÑGOAHW 6 PXTJIAJVBQVCZOÑGOAHW 7 OWSIH IUAPVCZOÑGOAHW 8 ÑVRHGZHT OVCZOÑGOAHW 9 NUQGFYGSZÑVCZOÑGOAHW 10 MTPFEXFRYNVCZOÑGOAHW 11 LSOEDWEQXMVCZOÑGOAHW 12 KRÑDCVDPWLVCZOÑGOAHW 13 JQNCBUCOVKVCZOÑGOAHW 14 IPMBATBÑUJVCZOÑGOAHW 15 HOLA SANTI

Al quizè intent hem aconseguit trencar la clau d’aquest missatge. Si apliquem aques-

ta clau a la totalitat de c obtenim el següent missatge:

• m = D15(c)

• m = D15(vczoñgoahwrcaqgñsaqofoñeisroñzoñqzoiñdipz

wqoñrwiñzoñzcifrsgñeisñho psñsagñvs ñrsajwofñ wggo-

husgñlwtfohgsagñgsuiw ñzzsuwahhoawo)

• m = hola santi doncs encara queda la clau publica diu la

lourdes que tambe ens hem denviar missatges xifrats ens

seguim llegint tania

N’hi haurà prou amb acabar d’introduir els signes que no estan inclosos en l’alfabet

per acabar de tenir el missatge sencer.

Hola Santi,

doncs encara queda la clau publica. Diu la Lourdes que tam-

bé ens hem d’enviar missatges xifrats.

Ens seguim llegint.

Tània

criptologia

Page 20: MATES II PRACTICA1 Villarreal Quintana Jaume

criptologia

Matemàtiques per a Multimèdia - II Pràctica 1

- 20 -

un altre sistema: l’atac estadísticLa poca complexitat del sistema Cèsar ens ha permès realitzar un atac de manera

manual. Però quan l’encriptació en clau privada es fa amb sistemes més complexos

(substitucions, Vigenère,...) la cosa es complica. Llavors es pot recórrer a l’atac

estadístic

L’atac estadístic consisteix en trobar el símbol encriptat que apareix més cops per

relacionar-lo amb el caràcter més freqüent de la llengua original. Això ens permetrà

associar en pocs intents caràcters xifrats a lletres de l’idioma original.

Per fer-ho, caldrà obtenir una llista amb les freqüències de l’alfabet en què es basa

el missatge.

En el nostre cas ja sabem que el missatge està escrit en català. Mirant la seva taula

de freqüències podem afirmar el següent:

• Les vocals ocupen el 50% del total.

• Les lletres E i A són les més utilitzades, amb un 30% del total.

• Les consonants més freqüents són: S, R, L, N, T (en conjunt

apareixen amb una freqüència d’un 30%).

• Les lletres menys freqüents són: W, K, Z, Ç (cadascuna amb

una freqüència per sota del 0,2%).

No farem aquí un atac estadísitc en la seva totalitat però sí que podem extreure

algunes dades interessants:

símbol freqüencia caràctero 15/132 As 12/132 Eg 10/132 Sw 9/132 Ia 8/132 Nz 8/132 Li 7/132 Uh 6/132 Tf 4/132 Rc 3/132 Oe 2/132 Qd 1/132 Pl 1/132 X

Tal i com es pot comprovar, l’atac estadístic ens aproxima de manera força ajustada

a la taula de freqüències dels caràcters en català. Una anàlisi més acurada ens

permetria desencriptar el missatge sense massa problemes.

Page 21: MATES II PRACTICA1 Villarreal Quintana Jaume

Matemàtiques per a Multimèdia - II Pràctica 1

- 21 -

crip

togr

afia

de c

lau

públ

ica

xifr

at i

desx

ifrat

de

mis

satg

es a

mb

mèt

ode

RSA

Page 22: MATES II PRACTICA1 Villarreal Quintana Jaume

23

11

Matemàtiques per a Multimèdia - II Pràctica 1

- 22 -

criptografiade clau pública

un canvi radicalFins ara hem estat treballant sobre diferents sistemes de codificació i encriptació

basats en una clau privada, és a dir, basats en una clau simètrica que tan sols com-

parteixen l’emissor i el receptor.

Però la dècada dels 70 va presenciar l’aparició d’un gir copernicà en els fonaments

matemàtics de la criptografia: l’aparició dels sistemes de criptografia de clau pública.

El seu fonament és molt senzill:

cada emissor disposa de dues claus, una d’encriptació (e) i una

de desencriptació (d), de tal manera que tan sols cal fer pública la

primera, mentre que la segona resta únicament en coneixement

del propietari.

Això suposa un clar avantatge sobre els sistemes de clau privada. Ara ja no és ne-

cessari que l’emissor i el receptor es posin d’acord a l’hora d’escollir la clau ni hi ha

la necessitat de trobar un canal segur per posar-se d’acord o per distribuir claus o

missatges, a més d’altres avantatges que anirem desgranant més endavant.

en què es basa?La criptografia de clau pública es basa en una funció trampa a partir de l’aplicació

de les propietats de l’aritmètica modular sobre nombres primers molt grans. El fet de

tenir dues claus fa que l’emissor pugui encriptar però no sàpiga quin serà el criteri

de desencriptació, ja que aquest tan sols el coneix el receptor.

Això es pot dur a terme perquè la clau pública i la clau privada guarden una relació

inversa, és a dir, que aplicades ambdues de manera consecutiva aconsegueixen

generar i revertir una encriptació. Matemàticament això s’aconsegueix a partir del

mètode RSA.

el mètode RSABasat doncs en la potenciació modular a partir de mòduls de nombres primers,

aquest sistema crea les claus de la següent manera:

Es busquen dos nombres primers primers prou grans (l’ideal

seria entre 100 i 300 xifres). Aquests dos nombres seran p i q.

S’obté n, que és el resultant de resoldre el producte p·q. [

n=p·q ]

S’obté phi(n), que és el resultant de resoldre el producte (p-

1)·(q-1). Aquest producte ens indica la quantitat d’inversos

que podem trobar dins del mòdul n. [ phi(n)=(p-1)·(q-1)]

Clau asimètricaEl sistema criptogràfic de clau

pública també s’anomena de

clau asimètrica.

A diferència dels sistemes

criptogràfics de clau privada,

on la clau (k) permet encriptar i

desencriptar (m), la criptografia

de clau pública rep aquest nom

perquè la clau d’encriptació (e)

no permet la desencriptació de

(m). Aquesta s’haurà de fer amb

la clau (d), de propietat exclusi-

va del receptor.

RSAAquest mètode rep el seu nom

de l’acrònim Rivest, Shamir,

Adlman, creadors l’any 1978 de

l’algoritme de clau pública.

La fortalesa d’aquest algoritme

rau en el fet que va ser el primer

en establir una funció uniderec-

cional (funció trampa) basada

en l’aplicació de la potència en

el conjunt d’enters modulars a

partir de la propietat de l’ele-

ment invers de la multiplicació.

Page 23: MATES II PRACTICA1 Villarreal Quintana Jaume

456

11

23

4

Matemàtiques per a Multimèdia - II Pràctica 1

- 23 -

es busca el nombre e. Aquest nombre ha de ser relatiu primer

de phi(n), és a dir, no ha de compartir cap divisor amb ell.

es calcula el nombre d. En el nostre cas aquest càlcul el rea-

litza la calculadora RSA.

es fa pública la clau (e, n) i es manté en secret la clau privada

(d).

encriptacióAmb la clau pública i privada ja establertes ja estem en disposció d’encriptar missat-

ges. Per fer-ho ens servirem de la clau pública d’un company i el missatge que hem

trasmès a través del Fòrum.

Volem enviar un missatge a en Carles, que ha deixat al Fòrum la

seva clau pública: (13, 391).

El nostre missatge serà m = Hola Carles.

Traduïm el nostre missatge a versió numèrica.

m = Hola Carles

m = 0917130100030120130621

Dividim m en blocs d’una longitud igual a (longitud.n)-1.

0 || 917 || 130 || 100 || 030 || 120 || 130 || 621

Encriptem els blocs amb la clau pública (e) del receptor.

E(eCarlesnCarles)(000) = 0

E(eCarlesnCarles)(917) = 152

E(eCarlesnCarles)(130) = 143

E(eCarlesnCarles)(100) = 87

E(eCarlesnCarles)(030) = 319

E(eCarlesnCarles)(120) = 205

E(eCarlesnCarles)(130) = 143

E(eCarlesnCarles)(621) = 161

En el cas que alguna encriptació tingui una longitud inferior a

(longitud.n) caldrà igualar amb zeros.

0 = 000 || 87 = 087

Càlcul del nombre dEl càlcul del nombre d no és

conceptualment complicat però

si és costosa la seva resolució si

es treballa amb nombres grans.

d = e - 1 (mòd phi(n))

criptografiade clau pública

Versió numèricaPer transformar m en un mis-

satge en versió numèrica hem

seguit una codificació bàsica

estàndard.

Aquest sistema es basa en

l’adjudicació consecutiva de dos

dígits a cada caràcter de l’alfa-

bet, inclòs l’espai (00 és l’espai

en blanc, 01=a, 02=b,..., 28=z).

Page 24: MATES II PRACTICA1 Villarreal Quintana Jaume

6Matemàtiques per a Multimèdia - II Pràctica 1

- 24 -

Un cop ens hem assegurat que tots els blocs pertanyen al

conjunt d’enters (mòd n) enviem c.

c = 000 152 143 087 319 205 143 161

desencriptacióAl nostre torn, nosaltres també hem fet pública la nostra clau i hem rebut un missat-

ge encriptat (c) que ara haurem de desencriptar. Per fer-ho revertirem els passos

del procés d’encriptació.

Hem comunicat al Fòrum la nostra clau pública: (533,8633).

Hem rebut un missatge d’en Carles.

Càlcul de la clau pública• p = 89

• q = 97

• n = 8633

• phi(n) = 8448

• e = 533

• d = 317

criptografiade clau pública

Page 25: MATES II PRACTICA1 Villarreal Quintana Jaume

12

3

45

Matemàtiques per a Multimèdia - II Pràctica 1

- 25 -

Identifiquem els blocs. han de tenir la mateixa longitud que n.

c =5845 || 8332 || 5657 || 7332 || 4174

Desencriptem els blocs amb la clau privada (d) del receptor.

E(dJaumenJaume)(5485) = 917

E(dJaumenJaume)(8332) = 1301

E(dJaumenJaume)(5657) = 11

E(dJaumenJaume)(7332) = 123

E(dJaumenJaume)(4174) = 1406

En el cas que alguna encriptació tingui una longitud inferior a

(longitud.n) caldrà igualar amb zeros.

917 = 0917 || 11 = 0011 || 123 = 0123

Traduïm el nostre missatge a versió numèrica.

m = 09 17 13 01 00 11 01 23 14 06

Traduïm el nostre missatge a versió literal.

m = Hola Jaume

per acabarCom hem pogut comprovar, l’encriptació amb clau pública és molt més segura i

complexa de criptoanalitzar que no pas la privada perquè la seguretat d’aquest mè-

tode criptogràfic es basa en la dificultat de trobar les arrels d’índex e d’un element c.

En la següent taula trobem una comparativa entre els dos sistemes.

CRIPTOGRAFIA DE CLAU PRIVADA CRIPTOGRAFIA DE CLAU PÚBLICA

els usuaris han d’acordar una clau els usuaris no han d’acordar la claucada usuari disposa de la mateixa clau cada usuari disposa de dos claus

la clau d’encriptació és privada la clau d’encriptació és públicaes basa en un sistema simètric es basa en un sistema asimètric

requereix un canal segur no requereix un canal segurno assegura autenticitat del missatge assegura l’autenticitat del missatgeno assegura la integritat del missatge assegura l’autenticitat del missatge

no assegura l’autoria del missatge assegura l’autoria del missatge

criptografiade clau pública

Page 26: MATES II PRACTICA1 Villarreal Quintana Jaume

Matemàtiques per a Multimèdia - II Pràctica 1

- 26 -

Cès

arAp

pac

tivita

t sob

re e

ncrip

taci

ó pe

r alu

mne

s de

Cic

le M

itjà

Page 27: MATES II PRACTICA1 Villarreal Quintana Jaume

CèsarApp

Matemàtiques per a Multimèdia - II Pràctica 1

- 27 -

Presentem aquí CèsarApp, una senzilla aplicació interactiva desenvolupada ínte-

grament amb Flash partir de programació en codi ActionScript 3.0.

• L’objectiu primer d’aquesta aplicació és fer una aproximació a l’encriptació de

clau privada a partir del sistema Cèsar.

• Presentat d’una manera lúdica i interactiva, pot ser una bona eina per treballar

sobre pissarra digital interactiva.

• Per accedir-hi cal obrir l’arxiu default.html.

Page 28: MATES II PRACTICA1 Villarreal Quintana Jaume

Matemàtiques per a Multimèdia - II Pràctica 1

- 28 -

bibl

iogr

afia

• http://ca.wikipedia.org/wiki/Bit_de_paritat

• http://www.saberhistoria.com.ar/2010/04/08/cesar-sin-cesarea/

busto_piedra_julio_cesar/

• http://es.wikipedia.org/wiki/Enigma_(máquina)

• http://gaussianos.com/criptografia-cifrado-de-clave-publica-i/

• http://neo.lcc.uma.es/evirtual/cdd/tutorial/presentacion/rsa.html

• http://casacaseycourtney.files.wordpress.com/2008/08/rsa1.jpg

• http://ca.wikipedia.org/wiki/Freq%C3%BC%C3%A8ncia_de_les_

lletres

• UOC - material docent