Articulo de referencia

MDC-2

En criptografía , MDC-2 ( Código de Detección de Modificaciones 2 , a veces llamado Meyer-Schilling, estandarizado en ISO 10118-2) es una función hash criptográfica . MDC-2 es u...

En criptografía , MDC-2 ( Código de Detección de Modificaciones 2 , a veces llamado Meyer-Schilling, estandarizado en ISO 10118-2) es una función hash criptográfica . MDC-2 es una función hash basada en un cifrado de bloques con una prueba de seguridad en el modelo de cifrado ideal. [ 1 ] La longitud del hash de salida depende del cifrado de bloques subyacente utilizado.

Algoritmo

Dejarmi(pag,k){\displaystyle E(p,k)}ser una función de cifrado por bloques con entradaspag{\displaystyle p}(texto plano) yk{\displaystyle k}(clave), cada uno de longitudnorte{\displaystyle n}, calculando un texto cifrado de longitud tambiénnorte{\displaystyle n}Para un mensaje dadoMETRO{\displaystyle M}Para calcular el hash, el algoritmo MDC-2 procede de la siguiente manera. SeaA1,B1{\displaystyle A_{1},B_{1}}sean dos constantes de tamaño diferentesnorte{\displaystyle n}. DejarMETRO||almohadilla=METRO1||..||METROmetro{\displaystyle M\,||\,{\text{pad}}=M_{1}\,||..||\,M_{m}}donde cadaMETROi{\displaystyle M_{i}}tiene tamañonorte{\displaystyle n}, luego el hashVmetro||Wmetro{\displaystyle V_{m}\,||\,W_{m}}del mensaje es dado por:

  • parai=1{\displaystyle i=1}ametro{\displaystyle m}:
    • Vi=METROimi(METROi,Ai){\displaystyle V_{i}=M_{i}\oplus E(M_{i},A_{i})}
    • Wi=METROimi(METROi,Bi){\displaystyle W_{i}=M_{i}\oplus E(M_{i},B_{i})}
    • ViL||ViR=Vi{\displaystyle V_{i}^{L}\,||\,V_{i}^{R}=V_{i}}
    • WiL||WiR=Wi{\displaystyle W_{i}^{L}\,||\,W_{i}^{R}=W_{i}}
    • Ai+1=ViL||WiR{\displaystyle A_{i+1}=V_{i}^{L}\,||\,W_{i}^{R}}
    • Bi+1=WiL||ViR{\displaystyle B_{i+1}=W_{i}^{L}\,||\,V_{i}^{R}}
  • devolverAmetro+1||Bmetro+1{\displaystyle A_{m+1}\,||\,B_{m+1}}.

Aquí elVi,Wi{\displaystyle V_{i},W_{i}}están divididos por la mitadViL{\displaystyle V_{i}^{L}}etc., que tienen la longitudnorte/2{\displaystyle n/2}.

Hashes MDC-2DES

Cuando MDC-2 utiliza el cifrado de bloques DES , los hashes MDC-2 de 128 bits (16 bytes) se representan normalmente como números hexadecimales de 32 dígitos .A1{\displaystyle A_{1}}se elige como la cadena de 8 bytes 5252525252525252 yB1{\displaystyle B_{1}}se elige como la cadena de 8 bytes 2525252525252525 (escrita como dígitos hexadecimales). Además, antes de cada iteración, el primer byte A[0] deA{\displaystyle A}recalculado como (A[0] & 0x9f) ^ 0x40 y el primer byte B[0] deB{\displaystyle B}se recalcula como (B[0] & 0x9f) ^ 0x20.

A continuación se muestra una entrada ASCII de 43 bytes (que se rellena con cinco bytes cero para que su longitud sea un múltiplo del tamaño del bloque DES de 8 bytes) y el hash MDC-2 correspondiente:

MDC2 ("El rápido zorro marrón salta sobre el perro perezoso ") = 000ed54e093d61679aefbeae05bfe33a

Incluso un pequeño cambio en el mensaje dará como resultado (con probabilidad) un hash completamente diferente, por ejemplo, cambiando da c:

MDC2("El rápido zorro marrón salta sobre el perezoso c og") = 775f59f8e51aec29c57ac6ab850d58e8

El hash de la cadena de longitud cero es:

MDC2("") = 525252525252525252525252525252525

Cuestiones de patentes

MDC-2 estaba protegido por la patente estadounidense 4,908,861 , emitida el 13 de marzo de 1990, pero solicitada por IBM el 28 de agosto de 1987. Debido a problemas con la patente, la compatibilidad con MDC-2 se ha deshabilitado en OpenSSL en la mayoría de las distribuciones de Linux y no está implementada en muchas otras bibliotecas criptográficas. Está implementada en libgcrypt de GPG .

La patente debía expirar el 28 de agosto de 2007, veinte años después de la fecha de presentación. En realidad, expiró en 2002 [ 2 ] porque IBM no pagó la tasa de renovación. La patente canadiense no se renovó y no se concedió ninguna patente europea, por lo que MDC-2 ahora puede utilizarse libremente.

Véase también

Notas

  1. Steinberger, John (23 de junio de 2007). "La intratabilidad de colisiones de MDC-2 en el modelo de cifrado ideal" . Avances en criptología – EUROCRYPT 2007. Springer-Verlag. págs. 34–51 . doi : 10.1007/978-3-540-72540-4_3 . Consultado el 31 de enero de 2008 . 
  2. "Tasas de mantenimiento de la patente 4,908,861" . Sitio web de tasas de mantenimiento de la USPTO . Oficina de Patentes de los Estados Unidos. 13 de marzo de 2002. Consultado el 16 de septiembre de 2025 .