Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
Codigo entropía criptográfica (yango colmenares)
1. Instituto Politécnico Nacional
Introducción a los Sistemas de Comunicación Seguros
Unidad MISTI Culhuacan
Presentado a: Dr. Gualberto Aguilar Torres
Tarea
Entropía Criptográfica
8
Por: Yango Alexander Colmenares
Fecha
Septiembre de 2013
%Histograma Biblioteca
%% INSTITUTO POLITECNICO NACIONAL-MISTI CULHUACAN --- MÉXICO DF 2013
%Desarrollado por:Yango Colmenares
%Presentado a : Dr. Gualberto Aguilar Torres
%Programación en Matlab Entropía Criptográfica
clc;
clear all;
format long;
alf = 'abcdefghijklmnñopqrstuvwxyz';
prob = [0.1253, 0.0142, 0.0468, 0.0586, 0.1368, 0.0069, 0.0101, 0.0070,
0.0625, 0.0044, 0.0001, 0.0497, 0.0315, 0.0671, 0.0031, 0.0868, 0.0251,
0.0088, 0.0687, 0.0798, 0.0463, 0.0393, 0.0090, 0.0002, 0.0022, 0.0090,
0.0052];
prob = prob(:)';
% alf = 'abcd';
% prob = [0.4 0.3 0.2 0.1];
prob = [0 prob];
probCum = cumsum(prob);
tmp = probCum;
M = 'space';
Mlen = length(M);
%Algoritmo de compresión
for i=1:length(M)
k = strfind(alf, M(i));
intervalo = [probCum(k) probCum(k+1)];
if i ~= length(M)
probCum = compresion(intervalo, prob);
end
2. end
codComp = (intervalo(1)+intervalo(2))/2;
disp(codComp);
%Algoritmo de decompresión
probCum = tmp;
out = '';
for i=1:Mlen
ind = find(probCum>codComp,1);
ind = ind - 1;
out = strcat(out,alf(ind));
intervalo = [probCum(ind) probCum(ind+1)];
if i ~= length(M)
probCum = compresion(intervalo, prob);
end
end
disp(out);
%%%%%%%%FUNCIÓN
function probCum = compresion(intervalo, prob)
min = intervalo(1);
max = intervalo(2);
probCum = zeros(1,length(prob));
probCum(1) = min;
for i=2:length(prob)
%val = sym(prob(i))*(max-min);
aux1 = prob(i)*(max-min);
aux = probCum(i-1) + (aux1);
probCum(i) = aux;
end
end