-
Notifications
You must be signed in to change notification settings - Fork 0
/
sustitucion.m
37 lines (31 loc) · 1.3 KB
/
sustitucion.m
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
26
27
28
29
30
31
32
33
34
35
36
37
function cadena_sust = sustitucion(matriz,mensaje)
% Funcion que se encarga de realizar la sustitucion de cada caracter del mensaje por su correspondiente pareja de letras cifradas.
% Compruebo la matriz introducida
[filas,columnas] = size(matriz);
if (filas~=6 && columnas~=6)
disp('Error [sustitucion]: la matriz de cifrado no es de dimension 6x6.');
cadena_sust = 0;
return;
end
% Compruebo el mensaje introducido
if(~ischar(mensaje))
disp('Error [sustitucion]: el mensaje introducido no es una cadena.');
cadena_sust = 0;
return;
end
% Paso el mensaje a mayuscula
mensaje = upper(mensaje);
% Con ayuda de una cadena con la cifra del metodo
cifra = 'ADFGVX';
% Recorro el mensaje, busco cada caracter en la matriz y lo sustituyo
% por una pareja de letras cifradas:
% Primera letra --> indice de la fila que sera sustituido por la
% correspondiente letra de la variable cifra
% Segunda letra --> indice de la columna que sera sustituido por la
% correspondiente letra de la variable cifra
cadena_sust='';
for i = mensaje
[fila,columna] = find(matriz==i);
cadena_sust = strcat(cadena_sust,cifra(fila),cifra(columna));
end
end