Herhangi bir mikrodenetleyici (tercihen 8-bit bir) için MD5 algoritması örnekleri var mı ? Projemiz bir Microchip PIC18 serisi cihaz kullanacak.
Herhangi bir mikrodenetleyici (tercihen 8-bit bir) için MD5 algoritması örnekleri var mı ? Projemiz bir Microchip PIC18 serisi cihaz kullanacak.
Yanıtlar:
İşte EtherNut'tan (AVR tabanlı) MD5 uygulaması
MD5'in bilinen saygın bir uygulamasına sadık kalacağım ve 3. taraf satıcılardan bulduğunuz kütüphanelerden uzak dururum. MD5'i tanımlayan orijinal RFC 1321'in örnek bir C uygulaması vardır.
Hatırlatma: MD5 için bilinen zayıflıklar çarpışma saldırılarıdır ve preimage saldırıları değildir , bu nedenle bazı kriptografik uygulamalar için uygundur, ancak diğerleri için uygun değildir. Farkı bilmiyorsanız kullanmamalısınız, ancak tamamen atmayın. Bkz. Http://www.vpnc.org/hash.html .
MD5 algoritması wikipedia için iyi bir açıklama ve bazı sözde kodu http://en.wikipedia.org/wiki/MD5 adresinde bulabilirsiniz.
Bu soruyu programlama sorularına daha fazla yöneltildiği için stackoverflow'a da göndermeyi düşünebilirsiniz .
wikipedia sayfasından MD5 :
... MD5'in çarpışmaya karşı dirençli olmadığı, MD5'in SSL sertifikaları veya bu özelliğe dayanan dijital imzalar gibi uygulamalar için uygun olmadığı gösterilmiştir.
ve aynı sayfadaki SSL araştırmacılarından:
Ayrıca MD5'in diğer uygulamalarda kullanımının da yeniden değerlendirileceğini umuyoruz.
Muhtemelen bunu duymak istemediğinizi anlıyorum, ama gerçekten MD5'e ihtiyacınız var mı? Çok güvensiz olduğu için kriptografik amaçlar için kullanılmamalıdır (ve gökkuşağı tablolarında tekne yükleri vardır). Yalnızca verileri doğrulamak için bir şey arıyorsanız , hesaplama açısından daha ucuz olan CRC'ye ( buradaki kod ) bakın. Eğer varsa vardır , o zaman ben hareket önerebilir olsa kriptografik amaçlar için kullanmaya SHA ? Tek sorun, kriptografik olarak güvenli algoritmaların mikrodenetleyicilerde özellikle iyi çalışmadığıdır. MD5'in "yeterince iyi" gibi göründüğünü biliyorum, ancak mühendislik yolu dikkatli olmanın yanısıra.