sábado, 14 de marzo de 2015

criptografía - criptosistemas simétricos

cifrado de clave simétrica por bloques en el que se utilizan transformaciones afines de aritmética modular. Este tipo de cifrado es similar alcifrado afín en el que, en lugar de sustituir o cifrar unos símbolos por otros, se cifran bloques.
El mecanismo para cifrar se basa en sustituir bloques de n caracteres de texto en claro por bloques de n caracteres de texto cifrado utilizando una función afín de aritmética modular de la forma
(ax+b) \mod\ n.
Para describir este tipo de cifradores veamos un ejemplo:
  • Supongamos que tenemos la secuencia 00,01,..,99 y supongamos que los número 00,...,25 representan las letras de la A a la Z respectivamente.
  • Supongamos que queremos enviar el mensaje "HOWDY DOO"
  • Primero agrupamos y dividimos el texto en claro en bloques de por ejemplo 4 caracteres quedando: HOWD YDOO
  • A continuación sustituimos cada letra por su equivalente numérico obteniendo: 07142203 24031414
  • Podemos decir que el entero más grande que puede aparecer en un bloque de tamaño 4 es ZZZZ=25252525, así que nosotros escogemos 25252525 como nuestro módulo n=25252525.
  • A continuación elegimos un valor de b entre 1 y n. Por ejemplo b=23210025.
  • Finalmente elegimos un valor de a de forma que mcd(a,n)=1. Por ejemplo nos vale a=21035433
  • Aplicando la función afín en aritmética modular (21035433*x+23210025) \mod\ 25252525
a los números obtenidos al cifrar los bloques obtenemos
(21035433*7142203+23210025) \mod\ 25252526=8007496
(21035433*24031414+23210025) \mod\ 25252526=20470469
lo que nos da en mensaje cifrado
08007496 20470469
y este es el mensaje cifrado.
  • Para descifrar aplicamos el proceso inverso. Calculamos el inverso multiplicativo de a=21035433 (por ejemplo usando el algoritmo de Euclides extendido) obteniendo a^{-1}=5174971.. Despejando x en la ecuación afín en aritmética modular obtenemos P_i=(a^{-1}(C_i-b)) \mod\ n y aplicando a los dos bloques cifrado tenemos:
P=(5174971(8007496-23210025)) \mod\ 25252526 =7142203
P=(5174971(20470469-23210025)) \mod\ 25252526 =24031414
lo que equivale a "HOWD YDOO"
Supongamos que conocemos el texto cifrado conocido (0800749620470469) de un texto en claro también conocido (HOWD YDOO). Al conocer el texto en claro podemos intuir aproximadamente cual es el valor del módulo con el que vamos a trabajar. Por ejemplo vamos a suponer que trabajamos con el alfabeto de del inglés con 25 caracteres. Por tanto n=25252525. A partir de ahí podemos establecer las siguiente ecuaciones:
8007496=(7142203 m + b) \mod\ 25252526
20470469=(24031414 m + b) \mod\ 25252526
Restado de la segunda ecuación la primera obtenemos:
12462973=(16889211*m) \mod\ 25252526
Despejando
m=21035433
y reemplazando en la primera ecuación obtenemos:
b=23210025 \mod\ 25252526.

 Seguridad de algunas propuestas seleccionadas

(Ver abajo para la notación de la tabla.)
NombreVersiónAutor (s)BloqueClaveRondasAtaque (s)
DES(77)IBM / NSA645616K: 43/19/13 [M94]
3-DES (77)Diffie, Hellman6416848K: 2/112/56
2k3-DES (78)Tuchmann6411248K: n / 120-S / N [OW91] C,: 56/56/56 / [M79]
FEAL-N(87-90)Miyaguchi, ..64128NK:. 2 /./ (4), C:. 4 /./ (8) [AO96]
RC2(89)Rivest648-102418C:. 64/64 / (16) [KRRR98]
Khufu(90)Merkle645128s, s> 1C:. 52 /./ (26) [bbs99]
Kefrén(90)Merkle6464T, t> 08s, s> 1C:. 52 /./ (26) [bbs99]
IDEA(91)Lai, Massey, Murphy641288,5C: 64/112/32 (4,5) [bbs99]
LOKI(90)Brown, Pieprzyk, Seberry646416C:. 54 /./ (14), K: 62 /./ (11).
(91)Brown, Kwan, Pieprzyk, Seberry646416C:. 58 /./ (13) [K94] , K:. 60 /./ (11) [SF97]
SAFERK (93)Massey64641286,10C: 45 /./ 32 (5) [KB96]
SK (95)Massey, Knudsen6440,64,1288,10?
Blowfish(93)Schneier6432-44816?
RC532/12 / k (94)Rivest648s, s <256 td="">12C:. 54 /./ [KM96]
64/16/16 (94)Rivest1288s, s <256 td="">16C:. 83 /./ [KM96] , C: 123 /./ (24). [KM96]
CAST-128(95)Adams6440-12812, 16?
TIBURÓN(96)Rijmen, Daemen, Preneel, Bosselaers, de Win641286?
CUADRADO(97)Daemen, Knudsen, Rijmen1281288CP: 32/72/32 (6) [DKR97]
MISTY1 (97)Matsui641288?
2 (97)Matsui6412812?
ICE(97)Kwan646416CP: 62/62/30 [VRKR98]
Barrilete(98)NSA?648032[BS98]
Arco iris(98)Lee, Kim1281287?
SMS4(?)?128128??
NombreVersiónAutor (s)BloqueClaveRondasAtaque (s)

La notación de la tabla:

NombreNombre de la cifra del bloque
VersiónNombre (año) de la versión
Autor (s)Nombre del diseñador (s)
Bloquela longitud de bloque en bits
Clavela longitud de clave en bits
Rondasel número de rondas de la cifra
Ataque (s)
K: a / b / c indica que el ataque de texto más conocido requiere 2 a texto plano / textos cifrados, tiene una carga lectiva de 2 b cifrados y requiere 2 c palabras de memoria.
C: a / b / c indica que el ataque de texto elegido mejor requiere de 2 a texto plano / textos cifrados, tiene una carga lectiva de 2 b cifrados y requiere 2 c palabras de memoria.Un `. ' significa que este requisito de recursos sea mínima o desconocido para nosotros.
(R): el número de rondas de ataque. Si en blanco, r = Rondas
[SA]: el documento que describe el ataque
?: No hay ataques conocidos

 criptografía simétrica (en inglés symmetric key cryptography), también llamada criptografía de clave secreta (en inglés secret key cryptography) o criptografía de una clave1 (en inglés single-key cryptography), es un método criptográfico en el cual se usa una misma clave para cifrar y descifrar mensajes. Las dos partes que se comunican han de ponerse de acuerdo de antemano sobre la clave a usar. Una vez que ambas partes tienen acceso a esta clave, el remitente cifra un mensaje usando la clave, lo envía al destinatario, y éste lo descifra con la misma clave.- ...................................:http://es.wikipedia.org/w/index.php?title=Especial:Libro&bookcmd=download&collection_id=919ffbae5dc3587da6c3664df90affb2dff45f5c&writer=rdf2latex&return_to=Criptograf%C3%ADa+sim%C3%A9trica






No hay comentarios:

Publicar un comentario