عناصر مهمی که در رمزنگاری مورد استفاده قرار میگیرند به شرح زیر میباشد:
- متن آشکار
پیام و اطلاعات را در حالت اصلی و قبل از تبدیل شدن به حالت رمز، متن آشکار یا اختصارا پیام مینامند. در این حالت اطلاعات قابل فهم توسط انسان است.
- متن رمز
به پیام و اطلاعات بعد از درآمدن به حالت رمز، گفته میشود. اطلاعات رمز شده توسط انسان قابل فهم نیست.
- رمزگذاری (رمز کردن)
عملیاتی است که با استفاده از کلید رمز، پیام را به رمز تبدیل میکند.
- رمزگشایی (باز کردن رمز):
عملیاتی است که با استفاده از کلید رمز، پیام رمز شده را به پیام اصلی بازمیگرداند. از نظر ریاضی، این الگوریتم عکس الگوریتم رمز کردن است.
- کلید رمز
اطلاعاتی معمولاً عددی است که به عنوان پارامتر ورودی به الگوریتم رمز داده میشود و عملیات رمزگذاری و رمزگشایی با استفاده از آن انجام میگیرد. انواع مختلفی از کلیدهای رمز در رمزنگاری تعریف و استفاده میشود.
: Cryptography
علم ایجاد ارتباطات امن در دنیای داده ها.
: Cryptanalysis
به روش های شکستن ciphertext گفته می شود ( یعنی بدست آوردن plaintext بدون دانستن کلید اصلی ).
: Cryptanalysis
به روش های شکستن ciphertext گفته می شود ( یعنی بدست آوردن plaintext بدون دانستن کلید اصلی).
: Cryptology
شاخه ای از ریاضیات که سروکارش با cryptography and cryptanalysis است.
: Cryptographic algorithm
که به آن cipher هم گفته می شود ، تابعی ریاضی است که انجام عملیات کدگذاری و
برعکس را انجام می دهد.
: Block Ciphers
الگوریتم های کدگذاری اطلاعات که بر روی قطعاتی از داده ها با طول 64-bit کار می کنند (مانند DES و RC2).
: Stream Ciphers
این الگوریتم ها تنها یک بیت از داده ها را در هر لحظه کدگذاری می کنند(مانند RC4).
سیستم های کدگذاری بر مبنای روش های کلید خصوصی (Private Key Systems) :
DES ,AES ,IDEA ,RC5 ,RC6 ,Blowfish ,Twofish
در این سیستم ها یک کلید برای هر دو حالت کدگذاری و رمزگشایی بکار برده می شود.
تنها با تکه های ثابتی از قطعات داده ها کار می کنند (عموما 64 تا 256 بیت) ، بدین معنا که داده ها باید به قطعاتی با طول ثابت تبدیل و سپس کدگذاری شوند. در این حالت عموما طول خروجی با طول ورودی یکسان است. در این روش ها از ابزارهایی مانند: عملیات جبری (جمع و ضرب و غیره)، عملیات بیتی (XOR، چرخش و غیره ) و) table lookups sBoxes)، برای اختلاط کلید و داده ها استفاده می کنند.در این روش ها تنها با تغییر یک بیت از داده ها و یا کلید، بیت های خروجی تا 50 تغییرخواهند کرد.
حملات گزارش شده به سیستم های کدگذاری بر مبنای کلید خصوصی:
Brute force: امتحان کردن تک تک کلیدهای ممکن.
اگر اختلاط داده ها با کلید به اندازه ی کافی پیچیده و یا کامل نباشد، الگوریتم بکار گرفته شده ممکن است سبب درز اطلاعاتی درباره ی کلید شود و این حالت باعث می شود که بتوان حدس های دقیق تری را برای روش Brute force زد.
مزایای الگوریتم های کدگذاری بر مبنای کلید خصوصی:
بسیار سریع هستند (تنها به 20 clock cycles/byte or less برای انجام محاسبات نیازمند هستند).
کلیدهایی با طول کوچک برای حفظ امنیت آنها کافی هستند. برای مثال کلیدهایی با طول
128 bits تا 100 سال آینده مطمئن هستند(تنها روش quantum cryptography می تواند آنرا بشکند) و کلیدهایی با طول 256 bits حتی در برابر quantum cryptography نیز مقاوم هستند.
رمزنگاری، پنهاننگاری، کدگذاری.. 2
حملات گزارش شده به سیستم های کدگذاری بر مبنای کلید خصوصی: 8
مزایای الگوریتم های کدگذاری بر مبنای کلید خصوصی: 8
موارد استفاده از الگوریتم های Hash 11
استفاده از الگوریتم SHA1 خروجی.. 12
حملات گزارش شده در مورد الگوریتم های ………………………………………….:Hash18
md5 یا اثر انگشت دیجیتالی چیست ..........................................................................................................20
شناسایی اعضا با استفاده از Hash 16
الگوریتمهای کلید نامتقارن. 21
روش های جانشینی ((Substitution. 21
رمزنگاری کلید متقارن(Symmetric algorithms) 23
پخش و پراکنده سازی ( Diffusion) 24
استانداردهای نوین رمزنگاری.. 24
رمزنگاری کلید نامتقارن(asymmetric algorithms) 25
مقایسه رمزنگاری کلید متقارن و کلید نامتقارن. 26
راهکاری برای ایجاد تازگی پیام. 28
فصل دوم:کار انجام شده ................................................................................................................................. 31
اساس کار انجام شده ...........................................................................................................................................31
کد رمز گذاری ..................................................................................................................................................... 32
شزح برنامه ........................................................................................................................................................... 33
کد رمز گشایی .................................................................................................................................................... 34
فصل سوم: نحوه پیاده سازی ............................................................................................................................ 36
معرفی رمز گذاری .............................................................................................................................................. 36
روش های رمز گذاری .........................................................................................................................................37
مقایسه رمزنگاری الگوریتم های متقارن و الگوریتم های کلید عمومی ................................................. 38
مراحل انتقال اطلاعات از این روش به صورت زیر میباشد ...................................................................... 39
الگوریتم MD5 ..................................................................................................................................................39
Hash کردن یک رشته متنی با الگوریتم MD5 ...................................................................................... 41
استفاده از app.config (خواندن و نوشتن( .......................................................................................... 44
شامل 56 صفحه فایل word قابل ویرایش
دانلود پروژه بررسی الگوریتم های رمزنگاری و رمزگشایی