Danial Delgado شنبه 2 تیر 1397 05:55 ب.ظ نظرات ()

باسمه تعالی

 مقدمه ای بر رمز نگاری

رمز نگاری (Cryptography) علم کد ها و رمز ها است . علم رمزنگاری در جستجوی روش‌ هایی برای کد کردن یا رمز کردن پیغام‌ ها، و روش‌های متناظری برای از کد درآوردن یا رمز خواندن است.

رمز کردن به‌ طور شاخص از یک کلید عددی مشخص (که ممکن است رقم ‌های زیادی داشته باشد) استفاده می‌کند و همان عدد برای رمز خوانی به کار می‌رود. بدون این کلید خواندن پیغام‌ های رمز شده ممکن نیست؛ بنابراین ایمنی دستگاه به ‌این مورد بستگی دارد که هر چه سخت تر این کلید طراحی شود و پیدا شود برای کاربر می تواند سودمند تر باشد.


برای خواندن بقیه مقاله بر روی ادامه مطلب کلیک کنید 


مقدمه ای بر رمز نگاری

رمز نگاری (Cryptography) علم کد ها و رمز ها است . علم رمزنگاری در جستجوی روش‌ هایی برای کد کردن یا رمز کردن پیغام‌ ها، و روش‌های متناظری برای از کد درآوردن یا رمز خواندن است.

رمز کردن به‌ طور شاخص از یک کلید عددی مشخص (که ممکن است رقم ‌های زیادی داشته باشد) استفاده می‌کند و همان عدد برای رمز خوانی به کار می‌رود. بدون این کلید خواندن پیغام‌ های رمز شده ممکن نیست؛ بنابراین ایمنی دستگاه به ‌این مورد بستگی دارد که هر چه سخت تر این کلید طراحی شود و پیدا شود برای کاربر می تواند سودمند تر باشد.


دو سیستم رمزنگاری مهم وجود دارد:


 
سیستم رمزنگاری متقارن 


  
سیستم رمزنگاری نامتقارن یا کلید عمومی


الگوریتم  RSA

در سال ۱۹۷۶ وایتفیلد دیف (Whitfield Diffie) و مارتین هلمن (Martin Hellman) دانشجویان دانشگاه استنفورد، یکی از کاربردی‌ترین روش‌ های کد کردن اطلاعات را اختراع و به ثبت رساندند. 


در این روش که به روش کدینگ نا متقارن (asymmetric encryption) نیز معروف است از دو کلید برای کد کردن اطلاعات استفاده می‌شود.


نکته:

در روش‌های قدیمی تر از یک کلید استفاده می‌شد که به آن Symmetric Encryption گفته می شد.


آن‌ها مقاله خود را در یکی از شماره‌ های سال ۱۹۷۶ مجله IEEE 

که با عنوان Transactions on Information Theory  منتشر شده بود به چاپ رساندند، که خیلی زود انقلابی در پنهان سازی اطلاعات (Cryptography) در دنیا بوجود آورد.


Public Key Cryptography  یا PKC به معنی استفاده از کلید عمومی برای کد کردن و پنهان کردن اطلاعات است. 


در این روش هر کاربر برای کد کردن یا باز کردن کد دو کلید در اختیار دارد، یکی کلید عمومی (Public) و یکی کلید خصوصی  (Private)

 خاصیت این روش آن است که هر کدام از این کلیدها می‌ تواند اطلاعاتی را که کلید دیگر کد و مخفی کرده است به حالت اصلی در بیاورند.

هر چند از لحاظ ریاضی کلیدهای Public  و Private با یکدیگر ارتباط دارند اما تقریباً محال است که کسی بتواند حتی با تجیهزات فوق العاده مدرن و صرف وقت زیاد با داشتن یکی از کلیدها، دیگری را تشخیص دهد.

در واقع می‌توان گفت که با توجه به سطح دانش کنونی و دستگاه‌ های کامپیوتری موجود، الگوریتم کدینگ و ارتباط میان کلید ها تقریباً غیر قابل شکستن است. روش کار اینگونه‌است که هر کاربر دو کلید در دست خود دارد که یکی را در اختیار همه دوستان و اطرافیان برای خواند مطالبی که او کد کرده ‌است قرار می‌دهد، این همان کلید عمومی یا Public است. حال کافی است که او برای ارسال مطالب به دیگران مطالب را با کلید خصوصی خود کد یا مخفی‌سازی نماید.

دیگران به راحتی می‌توانند مطالب او را با کلید Public ای که از وی دارند با حالت اولیه بازگردانند (Decrypt)  و آن‌ها را مطالعه کنند.

 یا اگر کسی بخواهد برای شما یک مطلب کد شده بفرستد با کلید Public شما آن را کد می‌کند و این تنها شما و فقط شما هستنید که می‌توانید آن را با کلید Private خود باز کنید و به محتوای اصلی دسترسی داشته باشید. اساس استفاده از این روش کدینگ یا مخفی‌سازی اطلاعات به الگوریتم مشهوری به نام

 Rivest Shamir Adleman یا RSA برمی‌گردد.

 از این الگوریتم برای تهیه کلیدهای مذکور، کد کردن اطلاعات، دی کد کردن یا آشکارسازی اطلاعات، تهیه امضاهای الکترونیکی و.... استفاده می‌شود. 


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