چکیده

امروزه در دنیای دیجیتال حفاظت از اطلاعات نقش اساسی و مهمی در تبادلات پیام ها و مبادلات تجاری ایفا می نماید. برای تامین نیازهای امنیتی تراکنش امن‌، از رمزنگاری استفاده می شود. الگوریتم رمز نگاری RSA مشهورترین و پرکاربردترین الگوریتم رمزنگاری کلید‌عمومی است‌. رمزنگاری کلید عمومی دسته ای از الگوریتم های رمزنگاری است که در آنها برای رمزنگاری و رمزگشایی از دو کلید متفاوت استفاده می شود. در این پروژه ضمن بررسی الگوریتم های رمزنگاری کلید عمومی ‌(‌نامتقارن‌) وکلید خصوصی‌(‌متقارن‌)‌، الگوریتم رمز RSA را بررسی کرده و آن را به صورت نرم افزاری به زبان برنامه نویسی C پیاده سازی می نماییم و در مورد شبیه سازی سخت افزاری آن مطالبی بیان خواهیم کرد.

کلید واژه ها: ciphertext,plaintext,cryptography،کلید رمز، اعداد تصادفی ،الگوریتم رمزRSA

فهرست مطالب

مفاهیم رمزنگاری ٢

تاریخچه رمز نگاری ٢

رمزنگاری و امنیت اطلاعات 5

هداف رمز نگاری  ٨

الگوریتمهای رمزنگاری ١١

تعاریف اولیه       ١١

دو اصل اساسی در رمزنگاری     ١٥

افزونگی 15

تازگی پیام ها     ١٨

سیستمهای کلید متقارن    18

رمز های بلوکی      ٢٠

رمزهای جانشینی    ٢٠

رمز نگاری جایگشتی      ٢٣

رمزهای رشته ای    ٢٥

رمز  one-time pads(‌بهم ریزی محتوای پیام‌)      ٢٦

‌رمز نگاری کوانتومی        ٢٨

ترکیب رمزها      ٣٢

فضای کلید      ٣٣

امضای دیجیتالی      ٣٥

الگوریتم های کلید عمومی     ٣٧

انواع مدل رمزنگاری کلید عمومی      ٣٩

استفاده از الگوریتم کلید-‌عمومی در امضای دیجیتالی     ٤٠

مقایسه رمز کلید-‌متقارن و کلید عمومی     ٤١

ویژگی های رمز کلید متقارن      ٤٢

ویژگی مدل رمزنگاری کلید عمومی     ٤٣

موارد کاربرد رمزنگاری   ٤٤

مباحث تئوری رمز نگاری    RSA

مسائل مرجع تئوری اعداد ٤٥

حساب پیمانه ای    ٤٦

تابع فی اویلر ٤٥

هم پیمانگی          ٤٦

تولید کلید 47

روش تست اعداد اول میلر-‌رابین  ٤٨

اعداد اول قوی primeStrong

الگوریتم تولید کلید در RSA

الگوریتم رمزکردن و آشکار کردن در RSA  51

مثالی ازالگوریتم رمز RSA54

اعداد تصادفی و اهمیت آنها    ٥٧

روش سخـت افزاری تولید اعداد تصادفی   ٥٨

الگوریتم های معمول برای تولید پارامتر های الگوریتم  RSA  ٩

الگوریتم تولید عدد     ٥٩

الگوریتم تولید پارامتر e ٦٠

الگوریتم تولید   d٦١

الگوریتم RSA برای رمزنگاری داده     ٦٢

الگوریتم RSA برای رمز گشایی داده    ٦٢

تحلیل امنیت RSA

معایب RSA

امضای دیجیتالی باRSA

موارد استفاده فعلی RSA

RSA  چقدر سریع است؟

رمز نگاری Data Encryption Standard

Triple DES(‌رمز نگاری سه گانه‌) ٦٩

پیاده سازی نرم افزاری RSA و نتیجه گیری‌٦٩

برنامه c

توضیحات برنامه ٧٢

خلاصه ای در مورد پیاده سازی سخـت افزاری RSA

نتیجه گیری   ٨٧

فهرست جداول

جدول ١ – ١ فهرست برخی از افراد که منجر به مشکلات امنیتی می شوند و انگیزه های آنان

جدول ٢- ١ اندازه کلید برای چند کلید معمول و زمان جستجوی جامع

نمودار ٢ – ١ متوسط فرکانس تکرار حروف در زبان انگلیسی

فهرست اشکال

شکل ٢ – ١ مدل رمز نگاری  ١٣

شکل ٢- ٢ شمای کلی الگوریتم های کلید- متقارن     ١٩

شکل روش عمومی رمز نگاری جایگشتی      ٢٤

شکل  استفاده از روش One-time padرمزنگاری     ٢٨

شکل ٢ -‌٥ مثالی از رمز نگاری کوانتومی      ٣١

شکل ٢-٦‌- شمای کلی الگوریتم های رمز کلید – عمومی    ٣٨

شکل ٢-٧‌- مثالی از رمزنگاری کلید- عمومی    ٣٩

شکل ٣- ١ توصیف الگوریتم رمزنگاری کلید -‌عمومی 54

شکل ٣-٢‌- (‌الف‌)‌سه بار رمز نگاری به DES (ب‌)‌رمز گشایی ٧١

پیاده سازی نرم افزار الگوریتم رمزنگاری RSA

پیاده سازی نرم افزار الگوریتم رمزنگاری RSA

مقدمه

اطمینان از عدم دستیابی افراد غیر مجـاز به اطلاعات حساس از مهمترین چالش های امنیتی در رابطه با توزیع اطلاعات در اینترنت است‌. راه حل های مختلفی نظیر محدود کردن استفاده از اینترنت‌، رمزنگاری داده ها، و استفاده از ابزار امنیتی برای میزبان های داخلی و برقراری امنیت شبکه ارائه شده است‌. یکی از متداولترین روشهای حفاظت اطلاعات‌، رمز نمودن آنها است‌. دستیابی به اطلاعات رمز شده برای افراد غیر مجاز امکان پذیر نبوده و صرفآ افرادیکه دارای کلید رمز می باشند، قادر به باز نمودن رمز و استفاده از اطلاعات هستند. از این روست که رمزنگاری داده ها با توجه به پیشرفت های اخیر تحول یافته و الگوریتم

های نوینی به همین منظور طراحی گردیده است‌.

رمزنگاری RSA معروفترین و پرکاربردترین الگوریتم از خانواده الگوریتم های کلید عمومی است‌. پیچیدگی پیاده سازی این الگوریتم‌، علارغم سادگی ظاهری تئوری آن موجب شده است که پس از گذشت ٢٥ سال از عمر این الگوریتم‌، هنوز هم تلاش برای بهینه سازی آن ادامه داشته باشد. پروژه های بسیاری در این زمینه در دانشگاه ها و مراکز پژوهشی انجام شده و یا در حال انجام است و بهینه تر کردن آن هنوز ادامه دارد. پیاده سازی نرم افزاری این الگوریتم مشکل و زمان بر است و شبیه سازی سخـت افزاری آن در کشورمان توسط دانشگاه تربیت مدرس انجام شده است .

در این پروژه در فصل اول نگاهی به تاریخچه رمزنگاری و مراحل پیشرفت آن خواهیم داشت‌. در فصل دوم الگوریتم های رمزنگاری و کاربردهای آنها را بیان خواهیم کرد. و سپس در فصل سوم مبانی تئوری الگوریتم رمزنگاری RSA مطرح خواهد شد و نهایتآ در فصل چهارم کد برنامه RSA را به زبان C نوشته و توضیحات لازم را خواهیم دید و نگاهی به ادامه کار خواهیم داشت‌.

 

مفاهیم رمزنگاری

در این فصل نگاهی به تاریخچه رمزنگاری و مراحل پیشرفت آن خواهیم داشت و سپس به منظور ایجاد مقدماتی برای فصل های آینده‌، به اخـتصار مطالبی درباره امنیت اطلاعات و رمزنگاری خواهد آمد که در فصل های بعدی مفید خـواهد بود. آنچـه در این قسمت خواهد آمد خلاصه ای در باب معرفی است و علاقمندان برای مطالعه بیشتر مـی توانند به کتابها و مقالات ذکر شده در بخش مراجع مراجعه نمایند .

١-١-‌تاریخچه رمزنگاری

کلمة Cryptogrpaphy (‌رمزنگاری‌) برگرفته از لغات یونانی به معنای «‌محرمانه نوشتن متون‌» است‌. از دیدگاه تاریخ‌، چهار گروه از مردم در شکل گیری هنر رمزنگاری دخیل بوده اند :‌« نظامیان‌»‌، « هیئت های سیاسی‌»‌، «خاطره نویسان‌/ واقعه نگاران‌» و«‌عشاق‌!»‌. رمزنگاری تاریخچه ای قدیمی و جالب دارد  ٢٠٠٠ سال پیش از میلاد مسیح‌، مصریان ایده های ابتدایی و ساده را برای این منظور به کار می بردند و امروزه در قرن بیست و یکم بیش از گذشت   ٤٠٠٠ سال از آن زمان‌، این علم نقش بسیار مهمی به ویژه در جنگهای جهانی اول و دوم ایفا کرده است‌. تا سال‌٩٦٣ ١ هنوز رمزنگاری به شکل یک علم منسجم در نیامده بود در سال‌٩٦٣ ١ کاهن در کتاب خود همة ایده های رمزنگاری تا آن زمان را گرد آوری کرد. در آن زمان علاقمندان به این

علم بخش های نظامی‌، سیاسی و به طور کلی‌، حکومتی بودند و رمزنگاری به عنوان علمی برای حفظ اطلاعات محرمانة ملی و استراتژیک استفاده می شد.

پیشرفت کامپیوترها وسیستم های مخـابراتی در دهة  ١٩٦٠ موجب شد تا نیاز به حفظ اطلاعات به شکل دیجیتال و تهیه سرویس های امن اطلاعاتی افزایش یافته و به امری ضروری تبدیل شود. در این مقوله نیز همانند بسیاری دیگر از پیشرفت های تکنولوژیک بشر، یک تکنولوژی ابتدا از نیاز درصنایع نظامی آغاز شده‌، بسط و توسعه پیدا کرده و در نهایت با کاربرد در اقتصاد و علوم دیگر عمومی شده است‌. در سال  ١٩٧٧ الگوریتم DES پرکاربردترین الگوریتم رمزنگاری و پیشرفته ترین آنها که در آن زمان توسط IBM ارائه شده بود، از طرف اداره فدرال استاندارد پردازش اطلاعات امریکا، `FIPS به عنوان استانداردی برای تجارت الکترونیک ‌ امن انتخاب شده و مشهورترین ساز و کار رمزنگاری تاریخ شد. از آن زمان بسیاری از موسسات

تجاری دنیا استفاده از این الگوریتم را در ارتباطات خود ضروری دانستند.


مقطع : کارشناسی

تعداد صفحات فایل : 108

خرید فایل word

قبل از خرید فایل می توانید با پشتبانی سایت مشورت کنید