ماشین حساب کد هش MD4
منتشر شده: ۱۶ فوریهٔ ۲۰۲۵ ساعت ۲۲:۵۳:۵۸ (UTC)
آخرین به روز رسانی: ۱۲ ژانویهٔ ۲۰۲۶ ساعت ۹:۰۷:۵۰ (UTC)
MD4 Hash Code Calculator
MD4 (Message Digest 4) یک تابع هش رمزنگاری است که توسط رونالد ریوست در سال ۱۹۹۰ طراحی شده است. این تابع یک مقدار هش ثابت ۱۲۸ بیتی (۱۶ بایتی) از ورودی با طول دلخواه تولید میکند. MD4 اکنون به دلیل آسیبپذیریهایی که امکان حملات تصادم (یافتن دو ورودی متفاوت که هش یکسانی تولید میکنند) را فراهم میکنند، از نظر رمزنگاری شکسته در نظر گرفته میشود، بنابراین نباید هنگام طراحی سیستمهای جدید از آن استفاده شود. در صورتی که نیاز به تولید یک کد هش سازگار با نسخههای قبلی باشد، در اینجا گنجانده شده است.
افشای کامل: من پیاده سازی خاصی از تابع هش مورد استفاده در این صفحه را ننوشتم. این یک تابع استاندارد است که در زبان برنامه نویسی PHP گنجانده شده است. من فقط رابط وب را ایجاد کردم تا برای راحتی در اینجا در دسترس عموم قرار دهم.
درباره الگوریتم هش MD4
من ریاضیدان نیستم، بنابراین سعی میکنم این تابع هش را به روشی توضیح دهم که دوستان غیر ریاضیدانم بتوانند آن را درک کنند ;-) اگر توضیح سنگین ریاضی را ترجیح میدهید، میتوانید آن را در بسیاری از وبسایتهای دیگر پیدا کنید.
خب، MD4 را به عنوان یک خردکن کاغذ مخصوص در نظر بگیرید. اما به جای خرد کردن کاغذ، هر پیامی (مانند یک نامه، رمز عبور یا یک کتاب) را به یک رسید کوچک با اندازه ثابت "خرد" میکند. مهم نیست پیام شما چقدر بزرگ یا کوچک باشد، این خردکن همیشه یک رسید کوچک به شما میدهد که دقیقاً 16 بایت (128 بیت) طول دارد، یا 32 کاراکتر به شکل هگزادسیمال.
برای اینکه پیام به درستی تکه تکه شود، باید چهار مرحله را طی کنید:
مرحله ۱: آمادهسازی پیام
- قبل از خرد کردن، باید کاغذ خود را طوری تنظیم کنید که کاملاً در خردکن جا بگیرد.
- اگر پیام شما خیلی کوتاه است، کمی فضای خالی اضافی (مانند خط خطی یا پرکننده) اضافه میکنید تا کاغذ درست جا بگیرد.
- اگر خیلی طولانی باشد، آن را به چندین صفحه با اندازه یکسان تقسیم میکنید.
مرحله ۲: اضافه کردن مهر مخفی
- پس از تنظیم پیام، یک مهر مخفی در انتها اضافه میکنید که نشان میدهد پیام اصلی چقدر طولانی بوده است.
- این به خردکن کمک میکند تا اندازه اصلی پیام را، صرف نظر از میزان اطلاعات اضافی که اضافه کردهاید، حفظ کند.
مرحله ۳: فرآیند خرد کردن (۳ دور جادو)
- حالا پیام وارد دستگاه خردکن میشود.
- این خردکن دارای ۴ چرخدنده (A، B، C و D) است که با الگوی خاصی با هم میچرخند.
- چرخدندهها ۳ دور میچرخند که در طی آن: کلمات را مخلوط میکنند، بعضی از قسمتها را وارونه میکنند، آنها را مانند مکعب روبیک میپیچانند، قطعات مختلف را به هم میکوبند.
- هر دور، پیام را بیشتر و بیشتر شبیه یک آشفتگی در هم و برهم میکند که تشخیص آن غیرممکن است.
مرحله ۴: رسید نهایی
- بعد از تمام مراحل چرخاندن، ورق زدن و خرد کردن، دستگاه کاغذ خردکن یک رسید بیرون میدهد - رشتهای کوتاه از اعداد و حروف (هش).
- این رسید همیشه به یک اندازه است، فرقی نمیکند که یک کلمه را ریزریز کرده باشید یا یک کتاب کامل را!
متأسفانه، با گذشت زمان، مردم کشف کردند که این خردکن جادویی بینقص نیست. برخی افراد باهوش فهمیدند که چگونه خردکن را فریب دهند تا برای دو پیام مختلف، رسید یکسانی بدهد (به این کار تصادم میگویند) و نحوه چرخش چرخدندهها را پیشبینی کنند و سپس از آن برای ایجاد رسیدهای جعلی استفاده کنند. به همین دلیل، MD4 دیگر برای موارد مهم امن در نظر گرفته نمیشود.
مطالعه بیشتر
اگر از این پست لذت بردید، ممکن است این پیشنهادات را نیز بپسندید:
