Para que se realiza la codificación de la fuente?
Para transmitir fiablemente (o
con la mínima distorsión) un proceso aleatorio (la información)-
- Reducir (sin/con pérdidas) la cantidad de información [codificación de fuente]
- Diseñar sistemas transmisión con la menor probabilidad de error de bit [teoría de la comunicación]
- Diseñar códigos/sistemas de protección (detección/corrección) frente a errores [codificación de canal]
- Reducir (sin/con pérdidas) la cantidad de información [codificación de fuente]
- Diseñar sistemas transmisión con la menor probabilidad de error de bit [teoría de la comunicación]
- Diseñar códigos/sistemas de protección (detección/corrección) frente a errores [codificación de canal]
Cómo se hace esta conversión de la fuente de información.
Mapeo del rango de una fuente a un conjunto
finito de símbolos de un alfabeto D-ario
- Binario: {0,1}, {punto, raya}, …
- Ternario: {A, B, C} …
- Ejemplo: fuente:{Red, Blue}, alfabeto={0,1}, código={00,11}.
- Binario: {0,1}, {punto, raya}, …
- Ternario: {A, B, C} …
- Ejemplo: fuente:{Red, Blue}, alfabeto={0,1}, código={00,11}.
No es
óptimo pero es código
Códigos:
- Palabras código de longitud fija (asignación “ciega”)
- Palabras código de longitud variable (basados en estadísticos)
- Palabras código de longitud fija
- Palabras código de longitud fija (asignación “ciega”)
- Palabras código de longitud variable (basados en estadísticos)
- Palabras código de longitud fija
Cómo es el esquema de compresión.
Compresión (límite H): Codificación sin pérdidas vs con
pérdidas.
Compresión de texto irreversible
- En general texto se basa en código ASCII (8bits/símbolo): caracteres imprimibles 32-255 o Código Unicode (16bits/símbolo): caracteres imprimibles 0x0020-0xFFFC (32- 65.532).
- Quitar caracteres de formato, acentos, puntuación, pasar todo a mayúsculas/minúsculas (26 + ñ = 27) => 5 bits (25=32) y quedan 5 para blanco, puntuación, palabras comunes, …
- Ciertas pérdidas.
- En general texto se basa en código ASCII (8bits/símbolo): caracteres imprimibles 32-255 o Código Unicode (16bits/símbolo): caracteres imprimibles 0x0020-0xFFFC (32- 65.532).
- Quitar caracteres de formato, acentos, puntuación, pasar todo a mayúsculas/minúsculas (26 + ñ = 27) => 5 bits (25=32) y quedan 5 para blanco, puntuación, palabras comunes, …
- Ciertas pérdidas.
Compresión ad-hoc (reversible) de texto
- Quitar blancos y sustituir por cadena binaria de 100000100001… o 1: indica blanco, 0: carácter
- Quitar blancos de formato y sustituir por digito de número de blancos (extensión de fuente-codificación por carreras…) o Hace falta código de escape …
- Usar 7 bits para los caracteres textuales ASCII (compresión 7/8) o Más el bit anterior, lo que hace es reducir los blancos de 8 a 1.
- 403=64.000 < 216=65.536 o 40 = 26 letras, 10 dígitos, 4 símbolos de puntuación (. , ! ?) –esto es para inglés : ni ñ, ni ¿, ni ¡, …- o Si agrupo caracteres de 3 en 3 (extensión de fuente-codificación vectorial) tengo una nueva fuente que tiene 403 símbolos y que se puede codificar con 16 bits (teniendo incluso adicionalmente símbolos adicionales): compresión 2/3
- Quitar blancos y sustituir por cadena binaria de 100000100001… o 1: indica blanco, 0: carácter
- Quitar blancos de formato y sustituir por digito de número de blancos (extensión de fuente-codificación por carreras…) o Hace falta código de escape …
- Usar 7 bits para los caracteres textuales ASCII (compresión 7/8) o Más el bit anterior, lo que hace es reducir los blancos de 8 a 1.
- 403=64.000 < 216=65.536 o 40 = 26 letras, 10 dígitos, 4 símbolos de puntuación (. , ! ?) –esto es para inglés : ni ñ, ni ¿, ni ¡, …- o Si agrupo caracteres de 3 en 3 (extensión de fuente-codificación vectorial) tengo una nueva fuente que tiene 403 símbolos y que se puede codificar con 16 bits (teniendo incluso adicionalmente símbolos adicionales): compresión 2/3
Investigar 3 algoritmos de cifrado, explicar cuál es su fundamento.
DES (Data Encryption Standard)
Su arquitectura está basada en un
sistema monoalfabético, donde un algoritmo de cifrado aplica sucesivas
permutaciones y sustituciones al texto en claro. En un primer momento la
información de 64bits se somete a una permutación inicial, y a continuación se
somete a una permutación con entrada de 8 bits, y otra de sustitución de
entrada de 5 bits, todo ello constituido a través de un proceso con 16 etapas
de cifrado.
El algoritmo DES usa una clave
simétrica de 64bits, los 56 primeros bits son empleados para el cifrado, y los
8 bits restantes se usan para comprobación de errores durante el proceso. La
clave efectiva es de 56 bits, por tanto, tenemos 2⁵⁶ combinaciones posibles,
por lo que la fuerza bruta se hace casi imposible.
3DES (Triple Data Encryption Standard)
Se basa en aplicar el algoritmo DES
tres veces, la clave tiene una longitud de 128 bits. Si se cifra el mismo
bloque de datos dos veces con dos llaves diferentes (de 64 bits), aumenta el
tamaño de la clave.
El 3DES parte de una llave de 128 bits,
que es divida en dos llaves, A y B.
Al recibir los datos, aplicamos el
algoritmo DES con la llave A, a continuación se repite con la llave B y luego
otra vez con la llave A (de nuevo).
3DES aumenta de forma significativa la
seguridad del sistema de DES, pero requiere más recursos del ordenador.
Existe una variante del 3DES, conocida
como DES-EDE3, con tres claves diferentes y una longitud de 192bits,
consiguiendo un sistema mucho más robusto.
RC5
Se aplican operaciones XOR sobre los
datos, pudiendo ser de 32, 64 o 128 bits. Permite diferentes longitudes de
clave, y un número variable de iteraciones (la seguridad del cifrado aumenta
exponencialmente cuanto mayor número de iteraciones), también funciona como un
generador de número aleatorios, sumándoles a los bloques de texto rotados
mediante la XOR.
No hay comentarios:
Publicar un comentario