15000 تومان
افزودن به سبد خرید
0 فروش 237 بازدید
جزئیات محصول
پسوند فایل: zip
حجم فایل: 1MB
فایل راهنما: ندارد
بسته نصبی: ندارد
امکانات: فایل مقاله، فایل ترجمه ورد (7 صفحه )
تاریخ انتشار: ۱۶ بهمن ۱۳۹۷
دسته بندی: ,,

تبلیغات

ارائه الگوریتم موازی برای انتقال امن داده ها با استفاده از روش کریپتوگرافی کلید عمومی RSA

الگوریتم های کریپتوگرافی که مبتنی بر زیرساخت کلید-عمومی هستند معمولا کندتر از الگوریتم های کریپتوکرافی می باشند که بر مبنای کلید متقارن هستند. به دلیل اینکه الگوریتم های مبتنی بر کلید متقارن از modular arithmetic منشاء می گیرند. کریپتوگرافی RSA بر مبنای modular exponentiation و modular reduction  که هر دو با اعداد خیلی بزرگ، معمولا ۱۰۲۴ بیت انجام می شوند. به همین دلیل، پیاده سازی RSA به صورت متوالی و نه موازی زمانبر، پر انرژی و توان محاسباتی بالایی نیاز دارد. علاوه بر این، انجام محاسبات intense modular بدلیل محدودیت سایز انواع داده های پایه در زیرساخت GCC

مشکل می باشد. در این مقاله، عملکرد الگوریتم موازی را با استفاده از ۲ روش بطور همزمان بررسی می کنیم. در ابتدا از از کتابخانه GMP برای کارهای محاسباتی استفاده می کنیم و سپس برای موازی سازی از زبان openMP بر زیرساخت GCC استفاده می کنیم. عملکرد هر دو الگوریتم یعنی الگوریتم متوالی و موازی را بر روی زیرساخت GCC را بررسی می کنیم. بنابراین باید با مفاهیمinfrastructure, parallel computation, GMP library , Open MP  GCC  آشنایی داشته باشید.

مقدمه

در عصر اینترنت حفاظت از داده ها خیلی مهم است. چندین تکنیک توسط متخصصین کامپیوتر برای  انتقال امن داده بر روی اینترنت پیشنهاد شده است. برای مثال،  کریپتوگرافی سری کلید (secret key cryptography)، hash کردن و غیره. یکی از تکنیک های معروف PKC یا کریپتوگرافی کلید عمومی یا کریپتوگرافی غیرمتقارن می باشد. در این روش به جای یک کلید از ۲ کلید استفاده می شود یک کلید کریپتوگرافی (رمزنگاری) و یک کلید decryptography (آشکارسازی) است. و نمی توان کلید آشکارسازی را از روی کلید رمزنگاری حدس زد. کلید رمزنگاری را کلید عمومی گویند و آشکار است و کلید آشکارسازی را کلید خصوصی گویند و پنهان باقی می ماند. این نوع رمزنگاری زمانی مفید است که  دو فرستنده و گیرنده داده، داده ها را روی کانال باز اینترنت منتقل می کنند.

روش PKC روشی پیچیده، نیاز به محاسبات سنگین و با اعداد بزرگ کار می کند. در الگوریتم های مبتنی بر PKC، برای مثال الگوریتم RSA، کلید ها معمولا ۱۰۲۴ بیتی یا بیشتر می باشند.

RSA نوعی PKC می باشد که برای کریپتوگرافی استفاده می شود. به خاطر اینکه نمی توان بر روی اعداد خیلی بزرگ بر روی زیرساخت GCC کار کرد بنابراین از کتابخانه GMP برای دستکاری اعداد خیلی بزرگ مورد نیاز در الگوریتم RSA کمک می گیریم. اخیرا نیز از زبان برنامه نویسی Open MP به طور گسترده ایی در زیرساخت GCC برای نوشتن الگوریتم های موازی استفاده می شود.

الگوریتم RSA

نام  RSA از حرف اول سه شخصی که این الگوریتم را توسعه دادند گرفته شده است. این الگوریتم برای رمزنگاری و تصدیق (authentication) داده های انتقال داده شده روی اینترنت استفاده می شود. این الگوریتم به فراوانی برای نرم افزارهایی که امضای دیجیتال و رمزنگاری داده را دربر دارند استفاده می شود. علاوه بر این از این الگوریتم در پروتکل های تجارت الکترونیک به فراوانی استفاده می شود. این الگوریتم بر مبنای فاکتورگیری اعداد خیلی بزرگ انجام می شود. اعداد خیلی بزرگ یعنی اینکه اگر دو عدد از این اعداد را در هم ضرب کنیم نمی توان عدد مشخصی را بدست آورد. اگر کلید مورد استفاده در این الگوریتم به اندازه کافی بزرگ باشد امنیت خیلی خوبی فراهم می سازد. برای مثال اگر کلید متشکل از ۱۰۲۴ بیت باشد عملا نمی توان رمز آنرا حتی با بهترین کامپیوترها شناسایی کرد.

معمولا، الگوریتم  RSA از سه بخش اصلی تشکیل شده است….

An efficient parallel algorithm for secured data communications using RSA public key cryptography method

Abstract

Public-key infrastructure based cryptographic algorithms are usually considered as slower than their corresponding symmetric key based algorithms due to their root in modular arithmetic. In the RSA public-key security algorithm, the encryption and decryption is entirely based on modular exponentiation and modular reduction which are performed on very large integers, typically 1024 bits. Due to this reason the sequential implementation of RSA becomes compute-intensive and takes lot of time and energy to execute. Moreover, it is very difficult to perform intense modular computations on very large integers because of the limitation in size of basic data types available with GCC infrastructure. In this paper, we are looking into the possibility of improving the performance of proposed parallel RSA algorithm by using two different techniques simultaneously, first implementing modular calculations on larger integers using GMP library and second by parallelizing it using OpenMP on the GCC infrastructure. We have also analyzed the performance gained by comparing the sequential version with the parallel versions of RSA running on the GCC infrastructure.

لینک مقاله لاتین در IEEE:

https://ieeexplore.ieee.org/document/6779433/

افزودن به سبد خرید

لطفاً براي ارسال دیدگاه، ابتدا وارد حساب كاربري خود بشويد

محصولات پر فروش

پر فروش ترین محصولات فروشگاه روکساوب