روش های پیاده سازی معکوس الگوریتم MD5 با استفاده از GPU

سال انتشار: 1394
نوع سند: مقاله کنفرانسی
زبان: فارسی
مشاهده: 785

فایل این مقاله در 7 صفحه با فرمت PDF قابل دریافت می باشد

استخراج به نرم افزارهای پژوهشی:

لینک ثابت به این مقاله:

شناسه ملی سند علمی:

ITCC01_169

تاریخ نمایه سازی: 9 فروردین 1395

چکیده مقاله:

؛MD5 یک روش رمزنگاری است که به عنوان تابع درهم ساز، رمزنگارانه استفاده می شود. این الگوریتم یک رشته با طول متفاوت را به عنوان ورودی می گیرد و یک خلاصه پیام ام دی 5 یا اثرانگشت با طول 128 بیت می سازد. هش های MD5 به لحاظ تئوری مستقیماً قابل برگشت نیستند اما راه هایی برای رمزگشایی پسوردهای MD5 وجود دارد. الگوریتم های رمزنگاری مش یکی از مهمترین توابع در امنیت اطلاعات می باشد. از مهمترین خصوصیات این توابع یک طرفه بودن آنهاست یعنی با روش معکوس نمی توان به متن اصلی رمز شده دست پیدا کرد. برای رمزگشایی از هش ها دو رو روش وجود دارد. اولین روش که به نام بروت فورس شناخته می شود، در این روش مقادیر هش تولید می شوند و یک به یک با مقدار مورد نظر ما مقایسه می شوند. این روش زمان بر می باشد و با افزایش طول پیام زمان محاسبه هم افزایش می یابد. روش بعدی به نام روش معاوضه زمان- حافظه شناخته می شود. در این روش مقادیر هش از پیش محاسبه شده و برای جستجوی بعدی ذخیره می شود. این روش به مقدار زیادی حافظه نیاز دارد. واحد پردازش گرافیکی (GPU) در ابتدا جهت انجام کارهای گرافیکی کامپیوتر و کم کردن کارهای CPU طراحی گردید ولی چندی بعد، به دلیل داشتن هسته های بسیار زیاد که هر یک قادر به انجام کارهای کوچک ولی به صورت همزمان می بودند، جهت انجام کارهای محاسباتی پیشرفته نیز استفاده شد، به همین دلیل، GPU، می توانند برنامه هایی که قادر به تفکیک به قسمت های کوچک می باشند را به صورت موازی، با سرعت بیشتری نسبت به CPU اجرا کنند. برای برنامه نویسی بر روی GPU، از دو زبان برنامه نویسی CUDA و OpenCL استفاده می کنند. CUDA یک معماری محاسبات موازی است که توسط شرکت Nvidia ارائه شده است و فقط بر روی کارت گرافیک های همین شرکت اجرا می شود که در سطح نرم افزاری، شامل یک سری دستورالعمل و در سطح سخت افزار شامل موتور پردازش موازی در GPU است. CUDA هم واسط های برنامه نویسی سطح پایین و هم واسط های برنامه نویسی سطح بالا را فراهم می کند. به همین دلیل سرعت برنامه هایی که با CUDA نوشته می شود از زبان برنامه نویسی دیگر یعنی OpenCL بیشتر می باشد. در این مقاله ما سعی داریم پیاده سازی های مختلفی از معکوس MD5، را بر روی GPU بررسی کنیم.

کلیدواژه ها:

منکوس ، تا ع در هم ساز ، CUDA ، MD5 ، ، GPU

نویسندگان

نجمه درینی

گروه کامپیوتر، واحد علوم و تحقیقات سیرجان، دانشگاه آزاد اسلامی سیرجان، ایران

رضا نورمندی پور

گروه کامپیوتر، واحد علوم و تحقیقات سیرجان، دانشگاه آزاد اسلامی سیرجان، ایران

مراجع و منابع این مقاله:

لیست زیر مراجع و منابع استفاده شده در این مقاله را نمایش می دهد. این مراجع به صورت کاملا ماشینی و بر اساس هوش مصنوعی استخراج شده اند و لذا ممکن است دارای اشکالاتی باشند که به مرور زمان دقت استخراج این محتوا افزایش می یابد. مراجعی که مقالات مربوط به آنها در سیویلیکا نمایه شده و پیدا شده اند، به خود مقاله لینک شده اند :
  • Yanjun Jiang, Mingshan Lei , " MD5 Calculation and Decryption ...
  • Anh-Duy Vu ; Kookmin Unic ; Jea-Il Han ; Hong-An ...
  • Tomosuke Murakami, Ryuta Kasahara4 and Takamich Saito" An i mplementation ...
  • نمایش کامل مراجع