Matemàtiques per a la Multimèdia II - Pràctica 1 - Multimedia (UOC) - Paquita Ribas

2,870 views

Published on

Pràctica 1 de Codificació, de l'assignatura de Matemàtiques per a la Multimèdia, del Grau Multimèdia de la UOC. Per a descarregar-te l'enunciat, visita la meva wiki: http://raco-vermell.wikispaces.com/MATEM%C3%80TIQUES+II

Published in: Education
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
2,870
On SlideShare
0
From Embeds
0
Number of Embeds
2,078
Actions
Shares
0
Downloads
21
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Matemàtiques per a la Multimèdia II - Pràctica 1 - Multimedia (UOC) - Paquita Ribas

  1. 1. PAQUITA RIBAS TUR PRÀCTICA 1 – MATEMÀTIQUES PER A MULTIMÈDIA IIAPARTAT 1 – CODIFICACIÓSóc l’agent Esquirol3 i entreno durament des de que James Bond va jubilar-se, fa ara ja dos anys.Estic un poc nerviosa. Cal dir que és la meva primera missió i això es nota, però he aconseguitarribar al meu objectiu sense contratemps. La Caserna General del Comandament Nuclear està ensilenci i fosca. No m’han vist. Ara he trobar la caixa forta i comunicar a MoneyPenny el que hi trobia l’interior.Hi poden aparèixer varies coses: 1- Teranyines 2- Una ampolla del millor whisky 3- La temporada 11 d’American Idol en DVD 4- Un pollastre de goma 5- El llistat complet dels números de telèfon dels generals de l’exèrcit nord-coreà 6- Els plànols de la planta de producció de bombes nuclears 7- Un gra d’arròsHem acordat codificar les paraules utilitzant només 0 i 1. El conjunt de totes les paraules que npodem construir amb 0 i 1 s’anomena Z2 , on n indica la quantitat de dígits que tindrà la nostraparaula codificada amb 0 i 1. Per exemple, el gra d’arròs podria construir-se amb (1 1) o amb (1 1 11 1). Per això s’ha de determinar un valor de n que generi un mínim de 7 paraules (o grups deparaules), que són les que tenim. Sabem que: 1 - Per a n=1 = Z2 = només podem formar dues paraules (0) i (1) 2 - Per a n=2 = Z2 =podem formar quatre paraules (00) (01) (10) (11) 3 - Per a n=3 = Z2 = vuit paraules 4 - Per a n=4 = Z2 =setze paraules 3Llavors, Z2 ens servirà. Es a dir, MoneyPenny té la llista d’objectes que poden aparèixer en lacaixa forta, codificats amb un codi de tres dígits (n=3). Objectes Codi Teranyines (000) Una ampolla del millor whisky (001) La temporada 11 d’American Idol en DVD (010) Un pollastre de goma (100) El llistat dels números de telèfon dels generals nord-coreans (101) Els plànols de la planta de producció de bombes nuclears (110) Un gra d’arròs (111)
  2. 2. He trobat la caixa forta. El meu entrenament ha estat força dur i pesat, però l’he aprofitat bé: lacaixa s’ha obert sense molta complicació, tal i com havia planejat. Ara he de comunicar aMoneypenny el que hi he trobat a l’interior.Enfoco amb la llanterna i localitzo una carpeta vermella amb uns documents. Un d’ells és el llistatamb els números de telèfons dels generals. Em decideixo a transmetre el missatge. Podria enviarel (101), que és el codi del llistat dels números de telèfons, però és convenient afegir-hi informacióredundant. Amb els nervis em podria equivocar a l’hora d’enviar-lo. Per exemple, si en lloc de(101) m’equivoqués i poses (100) el meu contacte pensaria que he trobat un pollastre de goma. Enningun moment pensaria que jo havia comés un error. Això es podria solucionar repetint elmissatge varies vegades, però disposem de mètodes de codificació que permeten la detecció icorrecció d’errors.Per afegir redundància de codi utilitzaré la matriu generadora de codi. La matriu ha de tenir elmateix número de files que n, es a dir, de dígits tingui el codi. En el nostre cas n=3. Ha te tenir elmateix número de columnes que paraules a codificar (en el nostre cas són set). La matriu no pottenir ni cap fila repetida ni cap que s’obtingui amb la suma de dos o més files. La nostra és així: ( )Per a obtenir el codi amb la informació redundant, bastarà multiplicar cada paraula per la matriugeneradora. Obtindrem un nou codi d’una sola fila i de tantes columnes com columnes tingui lamatriu G (en aquest cas són set).Z2 té una forma de sumar i de multiplicar els 0 i 1 segons les següents taules: Suma dels nombres de tipus Z2: Multiplicació dels nombres de tipus Z2: Suma: + 0 1 Producte: . 0 1 0 0 1 0 0 0 1 1 0 1 0 1Tenint tota aquesta informació començarem a generar el codi del llistat de telèfons dels generalsnord-coreans. ( )( )(1·1+0·0+1·0 1·0+0·1+1·0 1·0+0·0+1·1 1·1+0·1+1·1 1·1+0·1+1·0 1·0+0·1+1·1 1·1+0·0+1·1)=(1+0+0 0+0+0 0+0+1 1+0+1 1+0+0 0+0+1 1+0+1)= (1 0 1 0 1 1 0)Em disposo ara mirar el segon document de la carpeta vermella, són els plànols de la planta deproducció de bombes nuclears. Novament, genero el codi a enviar amb la matriu generadora G.
  3. 3. ( )( )(1·1+1·0+0·0 1·0+1·1+0·0 1·0+1·0+0·1 1·1+1·1+0·1 1·1+1·1+0·0 1·0+1·1+0·1 1·1+1·0+0·1)=(1+0+0 0+1+0 0+0+0 1+1+0 1+1+0 0+1+0 1+0+0)= (1 1 0 0 0 1 1)Els codis que enviaré al meu contacte són el (1 0 1 0 1 1 0) i el (1 1 0 0 0 1 1).Una vegada MoneyPenny hagi rebut les paraules codificades, pot comprovar si els codis sóncorrectes o no amb la matriu de comprovació de paritat. El nombre de files d’aquesta es formarestant el nombre de columnes de G – n. Té les mateixes columnes que G. En el nostre cas és unamatriu de 7-3 files i 7 columnes. ( )El meu contacte es disposa a comprovar els codis enviats, col·locant-los verticalment imultiplicant-los per la matriu H. Si el resultat dóna 0, no s’ha produït cap error en la transmissiódel codi.( ) ( ) ( )( ) ( ) La paraula (1 0 1 0 1 1 0) pertany al codi.( ) ( ) ( )( ) ( ) La paraula (1 1 0 0 0 1 1) pertany al codi.Però què hagués passat si es produís un error en la transmissió del codi?. Suposem que envio almeu contacte la paraula (1 0 1 1 1 1 0) en lloc de (1 0 1 0 1 1 0). MoneyPenny la comprovaria ambla matriu H i això seria el resultat:
  4. 4. ( ) ( ) ( ) ( ) ( )El resultat no donaria tot zeros. Això ja indicaria al receptor del missatge que hi ha un error en latransmissió. Per a poder corregir l’error compararíem el vector resultant amb la matriu H. Elresultat coincideix amb la quarta columna de la matriu. Això significa que l’error està en el quartdígit del codi. Per tant, MoneyPenny substituiria el quart dígit que ha rebut com 1 per un 0. Objectes Codi Codi generat Teranyines (000) (0 0 0 0 0 0 0) Una ampolla del millor whisky (001) (0 0 1 1 0 1 1) La temporada 11 d’American Idol en DVD (010) (0 1 0 1 1 1 0) Un pollastre de goma (100) (1 0 0 1 1 0 1) El llistat dels números de telèfon dels generals nord-coreans (101) (1 0 1 0 1 1 0) Els plànols de la planta de producció de bombes nuclears (110) (1 0 1 0 1 1 0) Un gra d’arròs (111) (1 1 1 1 0 0 0)Per a saber quants d’errors es podrien corregir d’un codi lineal, ens fixaríem en quants d’1 té laparaula del codi amb menys 1. Naturalment no comptaríem amb la que té tot zeros. En el nostrecas, totes les paraules tenen quatre uns, per tant, el quatre és la distància mínima del codi, queanomenarem d. Per a saber quants d’errors podem detectar, a la distància mínima li restarem 1.Així doncs, només podríem detectar fins a 4-1=3 errors. Per a conèixer el nombre d’errors quepodrem corregir, aplicarem la següent fórmula: errors = =3/2 =1,5 = 1
  5. 5. APARTAT 2 – CRIPTOGRAFIA DE CLAU PRIVADAEl sistema de clau privada es caracteritza perquè utilitza una clau secreta acordada entre l’emissori el receptor i que només saben ells i ningú més.El missatge que es vol encriptar el denominem m, l’encriptat c i la clau secreta k.L’encriptació de Cèsar és un sistema de clau privada. Consisteix en avançar tantes lletres del’abecedari com valor tingui k. El receptor, per a desencriptar el missatge, haurà de fer l’operaciócontrària: retrocedir tantes lletres com valor tingui k.Precisament vaig acordar amb el contacte AribasP la clau privada k=13. Ens vam transmetre la clauper un canal segur. El missatge que havia d’enviar-li era m= cargoltreubanyapujaalamuntanya.Per tant, em vaig disposar a encriptar-lo pel mètode de Cèsar.A B C D E F G H I J K L M N Ñ O P Q R S T U V W X Y ZLa primera lletra és la C. Per tant, ens col·locarem a la C i avançarem k=13 posicions. Arribarem a lalletra O. Per tant, la lletra C la substituirem per la lletra O. Si avancem k=13 posicions des de l’A,arribarem a l’N i així successivament fins a completar l’encriptació del missatge.Si identifiquem cada lletra amb un número, tindrem que.A B C D E F G H I J K L M N Ñ O P Q R S T U V W X Y Z0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26D’aquesta forma podem aplicar la fórmula d’encriptació i desencriptació del sistema de Cèsar: Ek (m) = m + k mod 27 Dk (m) = m – k mod 27Finalment, el missatge enviat al receptor és c= ondsaxfdqgñnzknbgvnnxnygzfnzknAl cap d’uns dies he rebut una resposta encriptada del meu contacte AribasP.El missatge és c= iawjsfgwhohcpsfhorsqohoziamoAquesta vegada em disposo a fer la desencriptació amb un applet que ens ha facilitat la directoradel centre d’operacions especials. Només he d’escriure el missatge encriptar en la casella de“Descifrado”, la clau acordada, que en aquest cas és k=13 i pitjar sobre la fletxa blava de “Cifrado”.Automàticament, l’applet ha realitzat tota la tasca de desencriptar en un obrir i tancar d’ulls. Elmissatge de AribasP és m= universitatobertadecatalunya
  6. 6. Utilitzant mètode de Cèsar pot ser fàcil arribar a trobar quina és la clau privada k, ja que hi ha unaprobabilitat d’1 entre 26. Existeixen altres mètodes de clau privada més segurs.Un d’ells és l’encriptació de Vigenère. És una modificació del mètode de Cèsar. Consisteix a dividirel missatge en blocs de longitud acordada entre emissor i receptor, desprès s’acorden tambétantes claus com longitud té el bloc. Finalment, s’aplica el mètode Cèsar segons la clau que lipertoca a cada lletra.Per exemple, m=PRACTICA. Hem decidit el receptor i jo, una longitud 3 i clausk1=1, k2=2 i k3=3 P R A C T I C A 16 18 0 2 20 8 2 0 1 2 3 1 2 3 1 2 17 20 3 3 22 11 3 2 Q T D D V L D CEl resultat d’encriptar la paraula PRACTICA amb el mètode Vigènere és c=QTDDVLDCUn altre mètode molt segur és l’encriptació de Vernam. Cada lletra es codifica amb una cadena de8 bits, per mitjà un codi estàndard. Es codifica lletra per lletra i es suma amb la clau privada. Laclau privada ha de ser tant llarga en bits com el missatge.Per exemple: m= DIA Missatge D I A Codificació 01000100 01001001 01000001 Clau privada 01011010 10011010 10101101 Encriptat 00011110 11010011 11101100No cal traduir-lo a lletres. Per a desencriptar cal restar la clau privada.Existeixen altres sistemes com les transposicions, que consisteix a dividir el missatge en blocs ipermutar les lletres entre elles, d’una manera pactada entre emissor i receptor.
  7. 7. APARTAT 3 – CRIPTOANÀLISIEl criptoanàlisi és l’habilitat de descobrir la clau privada per poder desencriptar un missatge. Elmètode més senzill és el de Cèsar, ja que només s’ha d’anar provant les 26 claus privades possiblesfins a aconseguir un missatge amb sentit.He aconseguit desxifrar un missatge enviat per un agent secret DramirezC al seu contacte Lalba. Elmissatge enviat és c= rteutweqzhmteqfiwzlfwefqfrjhjeqfxeyjquwfrtL’agent secret contrari, havia utilitzat el mètode de Cèsar. Per a descobrir la clau només he anatprovant les claus possibles fins que el missatge resultant tingués algun significat. He utilitzat elmateix applet facilitat per la nostra directora d’operacions especials. He començat per k= 1qsdtsvdpyzglsdpehvykevdepeqigidpewdxiptveqsk=2prcsrucoxyfkrcodguxjducdodphfhcodvcwhosudprk=3oqbrqtbñwxejqbñcftwictbcñcogegbñcubvgñrtcoqk=4ñpaqpsanvwdipanbesvhbsabnbñfdfanbtaufnqsbñpk=5nozporzmuvchozmadrugarzamanecezmasztempranoFinalment, el missatge interceptat és: No por mucho madrugar amanece más temprano.Aquest és el mètode més fàcil de trencar. En hi ha de més difícils.Es pot encriptar un missatge per substitució. Aquest mètode s’utilitza amb el mètode d’encriptacioper transposició. Es tracta d’anar substituint unes lletres per unes altres segons una taula quenomés emissor i receptor coneixen. Per a desencriptar aquest missatges s’utilitza l’atac estadístic.L’atac estadístic consisteix en: cada llengua sempre té lletres que es repeteixen més que les altres.Per tant, primerament s’hauria de saber la llengua del missatge encriptat; després calcular lesfreqüències d’aparició de les lletres (es pot fer amb el Word). Per exemple, si la lletra “a” és la mésnombrosa, es canviarà el símbol més nombrós del missatge encriptat per la lletra “a”. I aixísuccessivament fins a tenir paraules quasi completes. Després aniríem completant les paraules isubstituint els símbols.L’encriptació de Vigenère i de Vernam són molt segures contra l’atac estadístic.
  8. 8. APARTAT 4 – CRIPTOGRAFIA DE CLAU PÚBLICAAquesta vegada l’agent AribasP i jo intercanviarem missatges mitjançant la criptografia de claupública. En aquest sistema, cadascú disposem d’una clau pública i d’una clau privada. La meva clauprivada només la conec jo i la de AribasP només la coneix ell. Per a fer possible aquest intercanvi,utilitzarem l’applet creat per aquest fi.http://materials.cv.uoc.edu/continguts/PID_00154421/index.htmlTenim diversos elements. P i q són nombres primers i no es comparteixen. La clau pública e ha deser un nombre primer que no sigui divisor de (p-1)(q-1). La clau que es comparteix amb el receptordel missatge és (e, n). La resta de claus es mantenen en secret.He confirmat que el 101 i el 103 són nombres primers i que el 7 no és divisor de 10200. Per tant,envio pel canal pactat (7, 10403).L’agent AribasP ha rebut la meva clau pública i m’envia un missatge encriptat 3693Per a desencriptar-lo, poso la clau privada d, la clau n i el missatge encriptat, enviat per l’agent.El missatge de AribasP desencriptat és 4908. Perquè funcioni sense problemes, el missatgeencriptat c no pot ser més gran que n.Més tard AribasP m’envia la seva clau pública (11,50693). Amb aquestes dades i l’applet emdisposo a encriptar un missatge per enviar-li.
  9. 9. Envio a l’agent AribasP el missatge encriptat 27256. Ell haurà fet la següent operació per adesencriptar el missatge: Introduirà la seva clau privada d, la clau n i el missatge encriptat, y el seuresultat c coincidirà amb el meu missatge sense encriptar.PAQUITA RIBAS TUR, 2012Pràctica 1 – Matemàtiques II - UOC

×