ام دی 5 یا MD5 مخفف Message Digest 5 یک الگوریتم رمزنگاری و هش کردن (Hash function) است بطور گسترده استفاده می شود. در این مقاله شما را با مفهوم MD5 بیشتر آشنا خواهیم کرد، همراه ما باشید.
MD5 چیست؟
ام دی 5 مخفف Message Digest 5 یک الگوریتم رمزنگاری و هش کردن (Hash function) است بطور گسترده استفاده می شود.
این الگوریتم در سال 1991 توسط پروفسور رونالد ریوست اختراع شد.
MD5 یک روش رمزنگاری است که به صورت گسترده به عنوان تابع درهمساز رمزنگارانه استفاده میشود.
این الگوریتم ،یک رشته با طول متفاوت را به عنوان ورودی میگیرد و یک خلاصه پیام ام دی 5 یا اثر انگشت با طول 128 بیت میسازد.
الگوریتم ام دی 5 توسعهای از الگوریتم ام دی 4 است با این تفاوت که ام دی 5 کمی کندتر از ام دی 4 عمل میکند اما در طراحی آن بسیار محافظهکارانه عمل شدهاست.
MD5 در شرایطی طراحی شد که حس کردند ام دی 4 به علّت سرعت بالایی که دارد پذیرفته شده اما از امنیت مناسبی در شرایط بحرانی برخوردار نیست.
ام دی 5 کمی نسبت به ام دی 4 کندتر شد، در عوض، امنیت آن بیشتر گشت.
این الگوریتم حاصل تأثیر دادن نظرات تعدادی از استفاده کنندگان ام دی 4 به همراه مقادیری تغییر در ساختار الگوریتم برای افزایش قدرت آن میباشد.
ام دی 5 یک الگوریتم هش کردن می باشد.
در الگوریتم های هش برای همه ی ورودی ها با طول متفاوت، طول کد تولید شده ثابت و غیرقابل بازگشت می باشد.
در MD5 نیز فایل های ورودی با هر اندازه و هر فرمتی که باشند،
کد خروجی همیشه برابر با 128 بیت (16 بایت) خواهد بود که معمولا آن را در قالب 32 عدد هگزادسیمال (مبنای 16) نمایش می دهند.
به عنوان مثال اگر رشته ی PARSDATA را به عنوان ورودی به MD5 بدهیم کد تولید شده C4442A612D1434C3792CAD960D686554 خواهد بود.
همانطور که ذکر شد ویژگی دیگر این الگوریتم غیر قابل بازگشت بودن یا یک طرفه بودن کد تولید شده می باشد.
یعنی نمی توان با استفاده از کد خروجی، ورودی الگوریتم را تشخیص داد.
این ویژگی باعث شده است در موارد بسیاری از MD5 برای ذخیره سازی داده ها مانند ذخیره رمزهای عبور استفاده شود.
کدهای تولید شده توسط الگوریتم MD5 منحصر بفرد می باشند.
برای هر فایل ورودی، کد MD5 تولید شده یکتا خواهد بود و به همین دلیل آن را اثر انگشت فایل می نامند.
به عنوان مثال اگر یک فایل را به عنوان ورودی به الگوریتم MD5 بدهیم، خروجی آن یک کد 128 بیتی می باشد که با کد تولید شده برای هر فایل دیگری متفاوت می باشد
و در صورتی که حتی یک بیت از فایل تغییر کند، کد MD5 آن تغییر عمده خواهد کرد و به همین دلیل است که در سایت های دانلود در کنار فایل،
کد MD5 آن را نیز برای اطمینان از صحت فایل دانلود شده قرار می دهند.
البته به طور مطلق نمی توان گفت که MD5 کد تکراری تولید نمی کند ولی احتمال تکراری بودن کد تولید شده یک در 2128=3.4*1038 می باشد که احتمال بسیار کمی است و می توان گفت صفر است.
امیدواریم مقاله آشنایی با الگوریتم ام دی 5 برای شما عزیزان مفید بوده باشد.