مبانی رمز نگاری
مبانی رمزنگاری
در این بخش اکثر قریب به اتفاق مطالب، از کتاب
"مبانی رمزنگاری، جاینشانی های ساده و تحلیل آنها"
- تالیف "علیرضا غفاری حدیقه" که انتشارات "دانشگاه امام حسین (ع)" چاپش کرده – گرفته شده.
"با قدری دخل و تصرف، و اعمال نظر شخصی در بیان برخی از موضوعات"
در طی این آموزش
شما دوستان و علاقه مندان
مجاز هستید که هر گونه سوال، پیرامون مباحث مطرح شده
را در اینجا بیان نمایید.
این بخش هر 3-4 روز یکبار، به روز می شود.
در صورت استقبال از این طرح، بخشی برای تمارین جدید و حل آن ها، ایجاد خواهد شد.
همچنین، در صورت استقبال، این بخش هر روز، به روز خواهد شد
.................................................. .........
بدلیل حفظ انسجام مطالب
و سهولت در دسترسی به آنها
لینک هر پُست آموزشی این بخش،
در همین قسمت، (فهرست)
قرار خواهد گرفت.
فهرست
فصل اول: تعاریف و اصطلاحات --
2 --
3
.................................................. ........................
این عکس تغییر اندازه داده شده است. برای دیدن آن در اندازه واقعی اینجا را کلیک کنید. اندازه واقعی آن 928 در 628 و 61KB بوده است.
.................................................. .......................
فصل اول
تعاریف و اصطلاحات
متن خوانا
منظور از متن خوانا اطلاعات خامی است که در قالب یک متن تنظیم شده است. دسترسی افراد غیر محاز موجب فاش شدن اطلاعات و وارد آمدن لطمات جبران ناپذیر به سیستم مربوطه خواهد شد. متن خوانا برای عموم افرادی که به آن دسترسی پیدا کنند خوانا است.
پ.ن. به متن خوانا، متن صریح نیز گفته می شود.
متن رمزی
به متنی که پس از اجرای روند رمزنگاری روی متن خوانا تولید می شود، متن رمزی می گویند. این متن به تنهایی برای عموم خوانا نیست، مگر آنکه روند رمزنگاری و همچنین اطلاعات خاص آن روند در دسترس باشد.
رمزنگاری
علم مطالعة روش های مختلف سرّی نویسی و مبادلة امن اطلاعاتِ طبقه بندی شده را رمزنگاری می گویند. روند تبدیل متن خوانا به متن رمزی را رمزگذاری می نامند.
الگوریتم
روندی را که رمزکننده برای رمزگذاری متن خوانا به کار می برد، الگوریتم نامیده می شود.
کلید
هر الگوریتم معمولاً متکی به یک کلمة خاصی است که به آن کلید می گویند. این کلید چنان طراحی می شود که با استفاده از آن متن خوانا به متن رمزی تبدیل شود و بدون دانستن آن، پیدا کردن متن خوانا از روی متن رمزی تقریباً نا ممکن است. این کلید باید برای دریافت کنندة متن رمزی، معلوم و برای سایر افراد، نامعلوم باشد.
رمزگشایی
رمزگشایی روندی است که در آن با استفاده از کلیدِ روند رمزگذاری، روی متن رمزی، اِعمال شده و متن خوانای اولیه به دست می آید.
شکستن رمز
به دست آوردن متن خوانا توسط دشمن یا افراد غیر مجاز را شکستن رمز گویند. در شکستن رمز ممکن است تنها متن رمزی در اختیار دشمن باشد و یا علاوه بر متن رمزی، کلید یا الگوریتم و یا متن های رمزی قبلی که متن خوانای متناظر آنها افشا شده است، نیز در اختیار دشمن باشد.
.................................................. ..............
حمله
تلاش رمز شکن برای شکستن سیستم رمزگذاری را حمله می نامند. حمله به یک سیستم، انواع مختلفی دارد که بر حسب اطلاعات دشمن از سیستم رمزگذاری، طبقه بندی می شود.
•حملة نوع اول: در این نوع حمله، تنها متن رمزی در اختیار دشمن است. اطلاعات رمزشکن از سیستم و الگوریتم آن تنها اطلاعاتی عمومی است و دشمن احتمالاً اطلاعاتی در مورد محتوای متن خوانا نیز در اختیار دارد. این نوع حمله را حمله با دسترسی به متن رمزی می نامند.
•حملة نوع دوم: در این نوع حمله، دشمن علاوه بر در اختیار داشتن متن رمزی، متن خوانای متناظر را نیز در اختیار دارد و تلاش او بر این است که با استفادة همزمان از هر دو متن، الگوریتم و کلید استفاده شده در الگوریتم رمزگذاری را کشف کند تا در بقیة متن های رمزی که متن خوانای متناظر را در اختیار ندارد از کلید به دست آمده استفاده کند و متن خوانای متناظر احتمالی را با ضریب اطمینان بالایی به دست آورد. این نوع حمله را، حمله با استفاده از متن خوانای معلوم می نامند.
•حملة نوع سوم: در این نوع حمله، تلاش دشمن بر این است که از یک متن انتخاب شده که متن رمزی متناظر آن را نیز در اختیار دارد و همچنین از یک سیستم مشابه با سیستم رمزگذاری ما استفاده می کند (به عبارت دیگر، الگوریتم استفاده شده توسط خودی برای دشمن معلوم است) تا کلید الگوریتم را بدست آورد. در این نوع حمله، دشمن فقط کلید الگوریتم را در اختیار ندارد. این نوع حمله را، حمله با استفاده از متن خوانای انتخاب شده می نامند.
تذکر: حملة نوع سوم، قوی ترین و خطرناک ترین نوع حمله است، زیرا احتمال پیروزی دشمن در شکستن رمز در زمان معقول، زیاد است.
طبقه بندی دیگری برای حمله به یک سیستم وجود دارد. این طبقه بندی براساس اهداف دشمن انجام می شود.
•حملة فعال: در این نوع حمله، دشمن تلاش می کند تا علاوه بر دست یابی به اطلاعات، اطلاعات ارسالی را عوض کرده و یا اطلاعات جدیدی وارد سیستم کند.
•حملة غیر فعال: در این نوع حمله، تلاش دشمن تنها محدود به استراق سمع و دست یابی به اطلاعات مبادله شده است و تعویض اطلاعات از اهداف دشمن نیست.
با توجه به این طبقه بندی، یک سیستم باید چنان طراحی شود تا دشمن به کمترین اطلاعات در مورد متن خوانا نیز دسترسی نداشته باشد. به عبارت دیگر، متن های خوانایی که یکبار رمزشده اند، نباید به راحتی در اختیار دشمن قرار گیرند هرچند که حاوی اطلاعات سوخته ای باشند؛ مگر آنکه الگوریتم رمزگذاری مورد استفاده در آنها مجدداً به کار گرفته نشود. علاوه بر این، سیستم باید چنان طراحی شده باشد که وارد کردن اطلاعات جدید و یا تکرار اطلاعات قبلی امکان پذیر نباشد و در صورتی که اطلاعاتی از طرف دشمن به سیستم وارد شود به موقع تشخیص داده شده و از اطلاعات واقعی تفکیک شوند.
امنیت
تمامی تلاش های انجام شده که موجب نا کامی دشمن در شکستن رمز شود و یا مدت زمان لازم برای شکستن رمز را افزایش دهد، خصلتی برای سیستم تعریف می کنند که به آن امنیت سیستم می گویند.
یک سیستم از نظر امنیت به چند نوع تقسیم می شود.
•امنیت نامشروط: در صورتی که علی رغم توان زیاد محاسباتی، دشمن نتواند با استفاده همزمان از متن خوانا و متن رمزی، امنیت سیستم را به مخاطره اندازد، سیستم مورد نظر را سیستم با امنیت نامشروط می نامند و می گویند این سیستم به طور نامشروط امن است. تنها سیستمی که تا به حال دارای امنیت نامشروط تشخیص داده شده است، الگوریتمی است که به سیستم یکبار مصرف معروف است. در این الگوریتم، کلید مورد استفاده برای رمزگذاری، یک دنباله تصادفی است که طول آن با طول متن خوانا مساوی است.
•امنیت محاسباتی: هرگاه شکستن یک سیستم رمزگذاری در عمل از نظر محاسباتی، پیچیده و طولانی بوده و مستلزم زمان زیادی باشد، سیستم را از نظر محاسباتی امن می نامند و چنین سیستمی را سیستم با امنیت محاسباتی می گویند.
.................................................. ....................
سیستم های متقارن
سیستم هایی که کلید رمزگذاری و رمزگشایی در آنها یکسان و یا رابطة ساده ای با یکدیگر داشته باشند، سیستم های متقارن یا سیستم های یک کلیدی می گویند. در این سیستم ها، به طور همزمان امنیت و اعتبار یام مورد نظرهستند. یعنی هم باید از استراق سمع دشمن جلوگیری کرد و هم مانع از تغغیر اطلا عات توسط دشمن شد.
سیستم های پادمتقارن
سیستم های پادمتقارن یا سیستم های دو کلیدی، سیستم هایی هستند که در آنها، کلید رمزگذاری و رمزگشایی از یکدیگر ممایزند و یا یه دست آوردن کلید رمزگشایی از روی کلید رمزگذاری، با توجه به وجود ارتباط پیچیدة بین کلیدها، عملاً غیر ممکن است. در این سیستم ها، به دست آوردن الگوریتم رمزگشایی با استفاده از الگوریتم رمزگذاری ساده است، ولی عکس این عمل از نظر محاسباتی به سختی انجام می شود. در این سیستم ها، امنیت سیستم و اعتبار پیام می توانند به طور جداگانه مطرح باشند.
در سیستم هایی که تعداد مشترکین زیاد باشد (مثلاً n)، اگر لازم باشد که هر دو نفر در مبادلة اطلاعات با یکدیگر، کلی های ممایزی داشته باشند، آنگاه تعداد کلیدها کلیدِ مستقل از هم است و تولید این همه کلید، مخصوصاً برای اعداد بزرگ n، عملاً غیر ممکن است. به عنوان مثال، برای یک سیستم مبادلة اطلاعات با ۵۰ مشترک، تعداد کلیدها ۱۲۲۵ خواهد بود. برای اجتناب از این امر، سیستم های کلید آشکار معرفی شده اند. یکی از این نوع سیستم ها اولین بار در سال ۱۹۷۶ توسط Diffe و Hillman مطرح شد.
سیستم های کلید همگانی
سیستم های رمزگذاریی وجود دارند که در آنها از دو کلید استفاده می شود، به طوری که، یکی از کلیدها در اختیار تمامی مشترکین است و کلید دیگر از یک کاربر به کاربر دیگر تغییر می کند و کلید خصوصی نام دارد. چنین سیستم هایی را سیستم های کلید آشکار یا سیستم های کلید همگانی می نامند. در سیستم های کلید آشکار با n مشترک، ۱ + n کلید متمایز مورد نیاز است. به دست آوردن کلید عمومی از روی کلید خصوصی آسان ولی عکس آن عملاً غیر ممکن است.
علاقه مندی ها (Bookmarks)