MD2 (karma işlevi) - MD2 (hash function)

MD2
Genel
TasarımcılarRonald Rivest
İlk yayınlandıAğustos 1989[1]
DiziMD2, MD4, MD5, MD6
Detay
Özet boyutları128 bit
Mermi18

MD2 Mesaj Özeti Algoritması bir kriptografik karma işlevi tarafından geliştirilmiş Ronald Rivest 1989'da.[2] Algoritma aşağıdakiler için optimize edilmiştir: 8 bit bilgisayarlar. MD2 şurada belirtilmiştir: RFC 1319. MD2, 2014 itibariyle bile artık güvenli kabul edilmese dekullanımda kalır açık anahtar altyapıları bir parçası olarak sertifikalar MD2 ile oluşturuldu ve RSA. MD2'deki "MD", "Mesaj Özeti" anlamına gelir.

Açıklama

Herhangi bir mesajın 128 bitlik karma değeri, blok uzunluğunun bir katına (128 bit veya 16 bayt ) ve 16 baytlık ekleme sağlama toplamı ona. Gerçek hesaplama için 48 baytlık bir yardımcı blok ve 256 baytlık bir Kararlı rakamlarından dolaylı olarak üretilir pi kullanılır (bkz. kol numaramda hiçbir şey yok ). Algoritma, işlenen her 16 giriş baytı için yardımcı bloktaki her bayta 18 kez izin verdiği bir döngü boyunca çalışır. (Uzatılmış) mesajın tüm blokları işlendikten sonra, yardımcı bloğun birinci kısmi bloğu, mesajın karma değeri haline gelir.

S-tablosunun değerleri Pi'den türetilmiştir,[3][4] ve hex olarak:

{0x29, 0x2E, 0x43, 0xC9, 0xA2, 0xD8, 0x7C, 0x01, 0x3D, 0x36, 0x54, 0xA1, 0xEC, 0xF0, 0x06, 0x13, 0x62, 0xA7, 0x05, 0xF3, 0xC0, 0xC7, 0x73, 0x8C, 0x98 , 0x93, 0x2B, 0xD9, 0xBC, 0x4C, 0x82, 0xCA, 0x1E, 0x9B, 0x57, 0x3C, 0xFD, 0xD4, 0xE0, 0x16, 0x67, 0x42, 0x6F, 0x18, 0x8A, 0x17, 0xE5, 0x12, 0xBE, 0x4E , 0xC4, 0xD6, 0xDA, 0x9E, 0xDE, 0x49, 0xA0, 0xFB, 0xF5, 0x8E, 0xBB, 0x2F, 0xEE, 0x7A, 0xA9, 0x68, 0x79, 0x91, 0x15, 0xB2, 0x07, 0x3F, 0x94, 0xC2, 0x10 , 0x89, 0x0B, 0x22, 0x5F, 0x21, 0x80, 0x7F, 0x5D, 0x9A, 0x5A, 0x90, 0x32, 0x27, 0x35, 0x3E, 0xCC, 0xE7, 0xBF, 0xF7, 0x97, 0x03, 0xFF, 0x19, 0x30, 0xB3 , 0x48, 0xA5, 0xB5, 0xD1, 0xD7, 0x5E, 0x92, 0x2A, 0xAC, 0x56, 0xAA, 0xC6, 0x4F, 0xB8, 0x38, 0xD2, 0x96, 0xA4, 0x7D, 0xB6, 0x76, 0xFC, 0x6B, 0xE2, 0x9C , 0x74, 0x04, 0xF1, 0x45, 0x9D, 0x70, 0x59, 0x64, 0x71, 0x87, 0x20, 0x86, 0x5B, 0xCF, 0x65, 0xE6, 0x2D, ​​0xA8, 0x02, 0x1B, 0x60, 0x25, 0xAD, 0xAE, 0xB0 , 0xB9, 0xF6, 0x1C, 0x46, 0x61, 0x69, 0x34, 0x40, 0x7E, 0x0F, 0x55, 0x47, 0xA3, 0 x23, 0xDD, 0x51, 0xAF, 0x3A, 0xC3, 0x5C, 0xF9, 0xCE, 0xBA, 0xC5, 0xEA, 0x26, 0x2C, 0x53, 0x0D, 0x6E, 0x85, 0x28, 0x84, 0x09, 0xD3, 0xDF, 0xCD, 0xF4, 0x41, 0x81, 0x4D, 0x52, 0x6A, 0xDC, 0x37, 0xC8, 0x6C, 0xC1, 0xAB, 0xFA, 0x24, 0xE1, 0x7B, 0x08, 0x0C, 0xBD, 0xB1, 0x4A, 0x78, 0x88, 0x95, 0x8B, 0xE3, 0x63, 0xE8, 0x6D, 0xE9, 0xCB, 0xD5, 0xFE, 0x3B, 0x00, 0x1D, 0x39, 0xF2, 0xEF, 0xB7, 0x0E, 0x66, 0x58, 0xD0, 0xE4, 0xA6, 0x77, 0x72, 0xF8, 0xEB, 0x75, 0x4B, 0x0A, 0x31, 0x44, 0x50, 0xB4, 0x8F, 0xED, 0x1F, 0x1A, 0xDB, 0x99, 0x8D, 0x33, 0x9F, 0x11, 0x83, 0x14}

MD2 karmaları

128 bitlik (16 bayt) MD2 hash değerleri (ayrıca mesaj özetleri) tipik olarak 32 basamaklı olarak temsil edilir onaltılık sayılar. Aşağıda 43 baytlık bir gösterilmektedir ASCII girdi ve karşılık gelen MD2 hash:

 MD2 ("Hızlı kahverengi tilki tembelin üzerinden atlar dog ") = 03d85a0d629d2c442e987525319fc471

Sonuç olarak çığ etkisi MD2'de, giriş mesajındaki küçük bir değişiklik bile (çok büyük olasılıkla) tamamen farklı bir hash ile sonuçlanacaktır. Örneğin, mektubu değiştirmek d -e c mesajda şununla sonuçlanır:

 MD2 ("Hızlı kahverengi tilki tembelin üzerinden atlar cog ") = 6b890c9292668cdbbfda00a4ebf31f05

Sıfır uzunluklu dizenin karması şöyledir:

 MD2 ("") = 8350e5a3e24c153df2275c9f80692773

Güvenlik

Rogier ve Chauvaud (1997), MD2'lerin çarpışmalarını tanımladı. sıkıştırma işlevi, saldırıyı tam MD2'ye genişletememelerine rağmen.

2004 yılında, MD2'nin bir ön görüntü saldırısı ile zaman karmaşıklığı 2'ye eşdeğer104 sıkıştırma fonksiyonunun uygulamaları (Muller, 2004). Yazar, "MD2 artık güvenli bir tek yönlü hash işlevi olarak kabul edilemez".

2008'de, MD2, bir ön görüntü saldırısı ile zaman karmaşıklığı 273 sıkıştırma fonksiyonu değerlendirmeleri ve 2 hafıza gereksinimleri73 mesaj blokları.[5]

2009 yılında, MD2'nin bir çarpışma saldırısı ile zaman karmaşıklığı 263.3 sıkıştırma fonksiyonu değerlendirmeleri ve 2 hafıza gereksinimleri52 karma değerler. Bu biraz daha iyi doğum günü saldırısı hangisinin 2 alması bekleniyor65.5 sıkıştırma fonksiyonu değerlendirmeleri.[6]

2009'da, MD2'yi devre dışı bırakan güvenlik güncellemeleri yayınlandı. OpenSSL, GnuTLS, ve Ağ Güvenliği Hizmetleri.[7]

Ayrıca bakınız

Referanslar

  • Burt Kaliski, RFC 1319 - MD2 Mesaj Özeti Algoritması, Nisan 1992.
  • N.Rogier, Pascal Chauvaud, MD2'nin sıkıştırma işlevi çarpışmasız değildir, Kriptografide Seçilmiş Alanlar - SAC'95 Ottawa, Kanada, 18–19 Mayıs 1995 (atölye kaydı).
  • N.Rogier, Pascal Chauvaud, MD2 Checksum Byte olmadan Güvenli değildir, Tasarımlar, Kodlar ve Kriptografi, 12 (3), pp245–251, 1997.
  • Frédéric Muller, MD2 Hash Fonksiyonu Tek Yönlü Değil, ASIACRYPT 2004, ss214–229.
  • Lars R. Knudsen ve John Erik Mathiassen, Preimage and Collision Attacks on MD2. FSE 2005.
  1. ^ John Linn, RFC 1115 - İnternet Elektronik Posta için Gizlilik Geliştirme: Bölüm III - Algoritmalar, Modlar ve Tanımlayıcılar, Bölüm 4.2, Ağustos 1989, Kaynak: Ron L. Rivest Ekim, 1988.
  2. ^ "MD2, MD4 ve MD5 nedir?". Açık Anahtarlı Şifreleme Standartları (PKCS): PKCS # 7: Şifreleme Mesajı Sözdizimi Standardı: 3.6 Diğer Şifreleme Teknikleri: 3.6.6 MD2, MD4 ve MD5 nedir?. RSA Laboratuvarları. Alındı 2011-04-29.
  3. ^ Kaliski, Burt (Nisan 1992). "RFC 1319 - MD2 Mesaj Özeti Algoritması". RSA Laboratuvarları. s. 3. Alındı 22 Kasım 2014.
  4. ^ "MD2 hash fonksiyonu S-tablosu Pi'den nasıl oluşturulur?". Kriptografi Yığın Değişimi. Yığın Değişimi. 2 Ağustos 2014. Alındı 22 Kasım 2014.
  5. ^ Søren S. Thomsen (2008). "MD2'ye gelişmiş bir ön görüntü saldırısı" (PDF). Alıntı dergisi gerektirir | günlük = (Yardım)
  6. ^ Knudsen, Lars R .; Mathiassen, John Erik; Muller, Frédéric; Thomsen, Søren S. (2009). "MD2'nin Kriptanalizi". Kriptoloji Dergisi. 23: 72–90. doi:10.1007 / s00145-009-9054-1. S2CID  2443076.
  7. ^ CVE -2009-2409

Dış bağlantılar