0% encontró este documento útil (0 votos)
254 vistas28 páginas

Criptografía MatLab

a=1 b=2 c=3 d=4 e=5 f=6 g=7 h=8 i=9 j=10 k=11 l=12 m=13 n=14 ñ=15 o=16 p=17 q=18 r=19 s=20 t=21 u=22 v=23 w=24 x=25 y=26 z=27 *=0 3. Definimos nuestro mensaje original: msg = 'stop the war now' 4. Encontramos los valores de cada 4 caracteres de nuest
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
254 vistas28 páginas

Criptografía MatLab

a=1 b=2 c=3 d=4 e=5 f=6 g=7 h=8 i=9 j=10 k=11 l=12 m=13 n=14 ñ=15 o=16 p=17 q=18 r=19 s=20 t=21 u=22 v=23 w=24 x=25 y=26 z=27 *=0 3. Definimos nuestro mensaje original: msg = 'stop the war now' 4. Encontramos los valores de cada 4 caracteres de nuest
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd

CRIPTOGRAFÍA MEDIANTE EL USO DE MATRICES Y TRANSFORMACIONES

CON EL USO DE LA APLICACIÓN MATLAB

AUTOR

JUAN GUILLERMO MUÑO MUÑOZ

UNIVERSIDAD DEL CAUCA


FACULTAD DE INGENIERÍA ELECTRÓNICA Y TELECOMUNICASIONES
INGENIERÍA ELECTRÓNICA Y TELECOMUNICACIONES
POPAYÁN - CAUCA
2022

CRIPTOGRAFÍA MEDIANTE EL USO DE MATRICES Y TRANSFORMACIONES


CON EL USO DE LA APLICACIÓN MATLAB
JUAN GUILLERMO MUÑOZ MUÑOZ

INFORME DE LABORATORIO

MANUEL SANIN BENAVIDES PIAMBA

INGENIERO ELECTRÓNICO Y TELECOMUNICACIONES


DOCENTE

UNIVERSIDAD DEL CAUCA


FACULTAD DE INGENIERÍA ELECTRÓNICA Y TELECOMUNICACIONES
INGENIERÍA ELECTRONICA Y TELECOMUNICACIONES
POPAYÁN - CAUCA
2022

2
Popayán, 29/02/2022

3
Dedicatoria

A mi padres, amigos y profesores


que apoyan mi proyecto de vida.

Agradecimientos a familia y profesores.

4
CONTENIDO

Pág.
1. INTRODUCCIÓN.........................................................................................................8
2. OBJETIVOS.................................................................................................................... 9
2.1 OBJETIVO GENERAL.............................................................................................10
2.2 OBJETIVOS ESPECÍFICOS...................................................................................10
3 PLANTEAMIENTO DEL PROBLEMA............................................................................10
3.1 DEFINICIÓN DEL PROBLEMA...............................................................................10
3.2 JUSTIFICACIÓN......................................................................................................10
4. MARCO TEÓRICO........................................................................................................22
5.1 MATERIALES.......................................................................................................... 23
5.2 METODOLOGÍA......................................................................................................23
6 DESARROLLO DEL PROYECTO..................................................................................23
CONCLUSIONES.............................................................................................................. 25
BIBLIOGRAFÍA................................................................................................................. 25

GLOSARIO

5
Matlab: Aplicación de es una aplicación que nos permite desarrollar proyectos
sobre matrices y demás aspectos, mediante un lenguaje de programación
integrado; esto permite que el desarrollo de proyectos sea más ameno.

Criptografía:  Arte de escribir con clave secreta o de un modo enigmático.
Definición de diccionario: Real Academia Española. Consultado: 01/03/2022

RESUMEN

6
Se realizó un trabajo sobre criptografía básica con el objetivo conseguir la
encriptación y des-encriptación de un mensaje por medio del uso de matrices,
vectores, matriz inversa y demás. En este ejercicio haremos uso de una matriz de
características 4x4 (Cuatro filas por cuatro columnas), además encontraremos una
matriz inversa de nuestra matriz original 4x4 por el método de Gauss-Jordan,
apoyándonos con la aplicación de Matlab 1, que será la aplicación usaremos para
dar solución a los objetivos del proyecto; después de esto con las matrices
obtenidas crearemos un mensaje aleatorio al que se le dará unos valores
específicos a cada carácter de nuestro mensaje que serán en nuestro caso
vectores v1, v2, v3, v4... a estos vectores los llamaremos vectores base del
mensaje.
Posteriormente con los vectores base del mensaje y la matriz inversa crearemos
los vectores que serán los que nos proveerán los valores de los mensajes
encriptados, que son la encriptación del mensaje original, y para identificarlos se
los dará la notación de w1, w2, w3, w4.
Por último, se realizó la des-encriptación del mensaje encriptado dado por los
vectores w1, w2, w3, w4, con el fin de obtener los valores iniciales de nuestro
mensaje principal. El proceso de obtención se realiza con la matriz inversa y los
mensajes encriptados w, con su multiplicación se encuentran los calores
principales y volvemos a nuestro mensaje original finalizando con el propósito del
proyecto.

PALABRAS CLAVE: Matrices, criptografía, encriptación.

7
1. INTRODUCCIÓN

La encriptación de mensajes es clave en los procesos de telecomunicaciones, es por esto


que los métodos de encriptación y des-encriptación de mensajes son los más utilizados
en la actualidad por muchas empresas, ya que este facilita y hace el envío del mensaje de
la manera más rápida posible. Por tanto, estudiaremos un método de encriptación de
mensajes por medio de la aplicación web de Matlab, que permite realizar proceso sobre,
matrices, vectores, etc.… que son claves en los procesos que necesitamos trabajar,
además el aplicativo de Matlab se conforma por un lenguaje de código que nos permitirá
hacer el proceso de criptografía de una manera más sencilla y explícita favoreciendo el
trabajo realizado.

Para nuestro trabajo, haremos uso de una matriz 4*4, que será la base para iniciar
nuestro proceso de criptografía, esta matriz tendrá las características especiales que
permitirán el desarrollo correcto de los objetivos. Estas características son:
a) La matriz 4*4 deberá ser linealmente independiente.
B) La matriz A4*4 es conocida e invertible.
Al igual utilizaremos vectores dados por los valores de los caracteres del abecedario, que
serán dados más adelante y cada vector tendrá cuatro valores.

A lo largo del laboratorio seguiremos uno sencillos pasos que son la clave para que
nuestro código en Matlab funcione, aunque este tipo de criptografía puede hacerse de
varias maneras si se desea; para nuestro caso estos serán:

1. Crear una matriz 4*4 aleatoria, con la condición de que esta tenga una inversa.

2. Definiremos los caracteres del abecedario con un valor numérico.

3. Encontrar los valores dados por el mensaje que se quiere encriptar, para nuestro
proyecto el mensaje es: “stop the war now”. El mensaje será mostrado en pantalla.

4. Con los valores de nuestro mensaje para cada 4 espacios, se tomarán esos cuatro
valores y estos serán los valores que nuestro vector, y así hasta que el mensaje
termine.

5. Encriptar el mensaje por medio de nuestra matriz A4*4 y nuestros vectores del
mensaje hallados en el paso anterior, esto lo haremos, con la multiplicación de la
matriz con cada uno de los vectores, para obtener los valores de los vectores de
encriptación. (Más adelante veremos mejor explicado en el procedimiento)

8
6. Mostraremos nuestro mensaje encriptado dado por los vectores encontrados en el
paso anterior.

7. Para finalizar, con nuestros vectores encontrados en el paso 5 y nuestra matriz


inversa de la matriz A, al hacer la multiplicación de a por cada uno de los vectores,
encontraremos los vectores dados por nuestro mensaje original. Y esto se
mostrará en pantalla.

2. OBJETIVOS

2.1 OBJETIVO GENERAL

Encriptar y des-encriptar un mensaje cualquiera por medio del uso de


transformaciones lineales, con el uso de matrices y vectores.

2.2 OBJETIVOS ESPECÍFICOS

1. Encriptar un mensaje aleatorio por medio de una matriz y vectores.


2. Des-encriptar el mensaje por medio de una matriz inversa y vectores.

3 PLANTEAMIENTO DEL PROBLEMA

3.1 DEFINICIÓN DEL PROBLEMA

En el envío de mensajes que se realiza a diario por miles de usuarios se


caracterizan por llegar de manera rápida al receptor del mensaje, para facilitar
esta velocidad de llegada, necesitamos encontrar métodos para que los mensajes
lleguen a su destino cada vez más rápido.

3.2 JUSTIFICACIÓN

Se debe comprender que los usuarios prefieren servicios de alta calidad, la rapidez del
envío de los mensajes es clave para que los usuarios se sientan satisfechos con la
aplicación que utilizan, es por esto que las aplicaciones como WhatsApp, son utilizadas y
son las preferidas por muchos usuarios.

9
Para solucionar este conflicto usamos distintas herramientas, como la encriptación de
mensajes para que nos permite que el mensaje se desplace a diferentes posiciones, y
luego este llegue a un mismo punto de la manera más rápida; en este punto el mensaje
será des-encriptado por el receptor del mensaje y el proceso terminará.

4. PROCEDIMIENTO

1. Creamos una matriz A4*4

Imagen 1

Imagen 2

Está será nuestra matriz base.

2. Asignamos los valores que tendrán los caracteres de abecedario. Y nuestros


espacios estarán dados por el símbolo *.

Imágen3

3. Como nuestra frase a encriptar es “stop the war now”, para cada carácter
tendremos una letra, de esta manera:

10
imagen 4

4. Creamos los vectores según cada cuatro caracteres de nuestra frase, por lo tanto,
nos quedarán 4 vectores, así:

imagen 5

5. Creamos una matriz con los vectores v1, v2, v3, v4 transversos, así:

X será nuestro mensaje de manera encriptada, como se aprecia: s=19, t=20, o=15, p=16,
espacio=0, t=20, h=8, e=5, espacio=0, w=22, a=1, r=18, espacio=0, n=14, o=15, w=14.

6. Mostramos el mensaje original, mediante código:

11
12
7. Procedemos a encriptar el mensaje por medio de nuestra matriz A y los vectores
v1, v2, v3, v4, multiplicando cada uno de ellos por A, esto será una matriz
transversa:

Y obtenemos nuestros vectores del mensaje ENCRIPTADO, dados por w1, w2, w3. w4.

13
Para cada uno de los valores de w1, w2, w3, w4, se les da un valor aleatorio de carácter,
de preferencia en mayúsculas para no confundir a la aplicación y además poder mostrar
el mensaje de manera encriptada.

14
8. Mostramos el mensaje que será encriptado en pantalla:
Ordenamos la matriz de vectores W:

9. Mostramos el mensaje ENCRIPTADO en pantalla:

15
Se mostrará así:

16
Estos caracteres son los que se obtuvieron de la matriz de vectores w1, w2, w3, w4.

10. Procedemos a des encriptar el mensaje por nuestra matriz inversa que se obtiene
a partir de la matriz A:

Con la matriz B y los vectores w1, w2, w3, w4, (vectores encriptados), se
multiplican para obtener los valores de v1, v2, v3 ,v4, que son los originales de
nuestra encriptación inicial, o sea, esto es la des-encriptación del mensaje. Así:

17
11. Para finalizar, mostramos el mensaje des-encriptado en pantalla:

18
19
Se muestra el mensaje así:

20
4. MARCO TEÓRICO

Se adjunta el código original:


%Juan Guillermo Muñoz Muñoz
clc

A = [1 1 3 0 ; 3 1 5 1 ; 2 2 0 1 ; 0 1 2 2]

% La matriz A será la que nos ayude a encriptar el mensaje

% a1 b2 c3 d4 e5 f6 g7 h8 i9 j10 k11 m12 n13 o14 p15 q16 r17 s18 t19 u20
% w21 x22 y23 z24 # -> espacio
% encriptar mensaje: stop the war now

a=1 ; b=2 ; c=3 ; d=4 ; e=5 ; f = 6 ; g=7 ;


h=8 ; i=9 ; j=10 ; k=11 ; l=12 ; m=13 ; n=14;
o=15; p=16 ; q=17; r=18 ; s=19 ; t=20 ; u=21 ; w=22;
x=23 ; y=24; z=25 ; v=26;

B = inv(A)

% s t o p
% 19 20 15 16
%
% * t h e
% 0 20 8 5
%
% * w a r
% 0 22 1 18

21
%
% * n o w
% 0 14 15 22
%

v1 = [19 ; 20 ; 15 ; 16]

v2 = [0 ; 20 ; 8 ; 5]

v3= [0 ; 22 ; 1 ; 18]

v4 = [0 ; 14 ; 15 ; 22]

x = [v1' v2' v3' v4']

for(R=1 : 1 : 16)
if(x(1,R)==a)
disp('a');
elseif (x(1,R)==b)
disp('b');
elseif(x(1,R)==c)
disp('c');
elseif(x(1,R)==d)
disp('d');
elseif(x(1,R)==e)
disp('e');
elseif(x(1,R)==f)
disp('f');
elseif(x(1,R)==g)
disp('g');
elseif(x(1,R)==h)
disp('h');
elseif(x(1,R)==i)
disp('i');
elseif(x(1,R)==j)
disp('j');
elseif(x(1,R)==k)
disp('k');
elseif(x(1,R)==l)
disp('l');
elseif(x(1,R)==m)
disp('m');
elseif(x(1,R)==n)
disp('n');
elseif(x(1,R)==o)
disp('o');
elseif(x(1,R)==p)
disp('p');
elseif(x(1,R)==q)
disp('q');
elseif(x(1,R)==r)
disp('r');
elseif(x(1,R)==s)

22
disp('s');
elseif(x(1,R)==t)
disp('t');
elseif(x(1,R)==u)
disp('u');
elseif(x(1,R)==v)
disp('v');
elseif(x(1,R)==w)
disp('w');
elseif(x(1,R)==x)
disp('x');
elseif(x(1,R)==y)
disp('y');
elseif(x(1,R)==z)
disp('z');
else disp('#')

end
end

w1 = A * v1
w2 = A * v2
w3 = A * v3
w4 = A * v4

%definimos parámetros de encriptación


Q=84 ; W=168 ; E = 94 ; T=82 ; Y=44 ; U= 65 ; A=45;
D=46 ; F=25 ; G=62 ; H=60 ; J=59 ; K=111 ; Z=50; C=88;
%Hacemos la transformación con la matriz A para obtener el mensaje de
%manera encriptada

tx = [w1' w2' w3' w4'] %ordenamos con la transversa

for(R=1 : 1 : 16)
if(tx(1,R)==A)
disp('A');
elseif (tx(1,R)==b)
disp('b');
elseif(tx(1,R)==C)
disp('C');
elseif(tx(1,R)==d)
disp('d');
elseif(tx(1,R)==E)
disp('E');
elseif(tx(1,R)==F)
disp('F');
elseif(tx(1,R)==G)
disp('G');
elseif(tx(1,R)==H)
disp('H');

23
elseif(tx(1,R)==i)
disp('i');
elseif(tx(1,R)==J)
disp('J');
elseif(tx(1,R)==K)
disp('K');
elseif(tx(1,R)==l)
disp('l');
elseif(tx(1,R)==m)
disp('m');
elseif(tx(1,R)==n)
disp('n');
elseif(tx(1,R)==o)
disp('o');
elseif(tx(1,R)==p)
disp('p');
elseif(tx(1,R)==Q)
disp('Q');
elseif(tx(1,R)==r)
disp('r');
elseif(tx(1,R)==s)
disp('s');
elseif(tx(1,R)==T)
disp('T');
elseif(tx(1,R)==U)
disp('U');
elseif(tx(1,R)==v)
disp('v');
elseif(tx(1,R)==W)
disp('W');
elseif(tx(1,R)==x)
disp('x');
elseif(tx(1,R)==Y)
disp('Y');
elseif(tx(1,R)==Z)
disp('Z');
else disp('#')

end
end
%Se muestra el mensaje en critado
%DESENCRIPTAR
% Utilizamos la matriz inversa B, que se realizó en la linea 17
% y la multiplicamos por los valores encriptados (w1, w2, w3, w4);
% Y con esto obtenemos el mensaje inicial (Desencriptado)

D1 = B * w1
D2 = B * w2
D3 = B * w3
D4 = B * w4

M=[ D1' D2' D3' D4']

24
% Ahora mostramos el mensaje
for(R=1 : 1 : 16)
if(x(1,R)==a)
disp('a');
elseif (x(1,R)==b)
disp('b');
elseif(x(1,R)==c)
disp('c');
elseif(x(1,R)==d)
disp('d');
elseif(x(1,R)==e)
disp('e');
elseif(x(1,R)==f)
disp('f');
elseif(x(1,R)==g)
disp('g');
elseif(x(1,R)==h)
disp('h');
elseif(x(1,R)==i)
disp('i');
elseif(x(1,R)==j)
disp('j');
elseif(x(1,R)==k)
disp('k');
elseif(x(1,R)==l)
disp('l');
elseif(x(1,R)==m)
disp('m');
elseif(x(1,R)==n)
disp('n');
elseif(x(1,R)==o)
disp('o');
elseif(x(1,R)==p)
disp('p');
elseif(x(1,R)==q)
disp('q');
elseif(x(1,R)==r)
disp('r');
elseif(x(1,R)==s)
disp('s');
elseif(x(1,R)==t)
disp('t');
elseif(x(1,R)==u)
disp('u');
elseif(x(1,R)==v)
disp('v');
elseif(x(1,R)==w)
disp('w');
elseif(x(1,R)==x)
disp('x');
elseif(x(1,R)==y)
disp('y');
elseif(x(1,R)==z)

25
disp('z');
else disp('#')

end
end

5. MATERIALES Y MÉTODOS

5.1 MATERIALES

Nuestra herramienta principal en el proyecto es el aplicativo de Matlab.

5.2 METODOLOGÍA

La metodología es el seguimiento organizado de los pasos, a medida que se


desarrolló el código.

6 DESARROLLO DEL PROYECTO

Nuestros resultados fueron los esperados en el seguimiento del proyecto, de tal


manera que se obtuvieron los objetivos generales y específicos plantados, de tal
manera que:
1. Se logró obtener el mensaje a encriptar, ” Stop the war now”, así:

2. Se logró obtener el mensaje encriptado, así:

3. Por último, conseguimos la des-encriptación del mensaje esperada para que


esta coincidiera con el mensaje original, así:

26
27
CONCLUSIONES

 Hemos comprobado que por medio de la criptografía con el uso de una


matriz 4*4 y unos vectores dados por los valores asignados en la
asignación de caracteres podemos encontrar, nuevos vectores codificados
al multiplicar la matriz por cada uno de los vectores, obteniendo nuevos
vectores con diferentes valores, esto es nuestro mensaje codificado.
 Además, conocemos que por medio de la matriz inversa de nuestra matriz
original 4*4, y los vectores codificados, al realizar su multiplicación
encontramos los vectores originales de nuestro mensaje encriptado.
 Por tanto, podemos decir que, la encriptación y des-encriptación de
mensajes es posible siempre y cuando exista una matriz A, con una A -1
(Inversa). Y la existencia de unos vectores dados por el mensaje original
deseado a someter al proceso de criptografía.

BIBLIOGRAFÍA

<<Diccionario de la Lengua Española>>

«MathWorks - Fabricantes de MATLAB y Simulink» . [Link].


Consultado el 27 de febrero de 2022.

MatlabLatino (Video-tutoriales introductorios de Matlab y Simulink en idioma


español). Consultado el 28/02/2022.

28

También podría gustarte