تعریف رمزنگاری

تعریف رمزنگاری

 

تعریف رمزنگاری

 

کلمه­ی Cryptography(رمزنگاری): به معنای محرمانه نوشتن متون   که از یک لغت یونانی متصور شده است.

متن آشکار(  Plaintext)پیامی است که باید رمزنگاری شود.این پیام ها توسط یک تابع خاص با پارامتری به نام کلید (key) به متن رمز، تبدیل می­گردد. نتیجه این عملیات متن رمز(Ciphertext) نامیده می­شود.متن رمز بر روی کانال منتقل خواهد شد.این امکان وجود دارد که دشمن یا اخلال گر (Intruder) متن رمز شده رابه صورت کامل بشنودوآن رادر اختیار گیرد. اخلال گر بر عکس گیرنده اصلی، به راحتی نمی تواند به رمزگشایی پیام و بهره­برداری از آن بپردازد زیرا از کلید رمز بی اطلاع است.

یک اخلال گر غیرفعال (Passive Intruder) علاوه بر این که می تواند به جریان اطلاعات بر روی کانال مخابراتی گوش بدهد بلکه می­تواند آن ها رادر جایی ثبت کرده و بعدها آن را بارها به جریان بیندازد. یک اخلال گر فعال (Active Intruder) می­تواند پیام موردنظر خود را در داخل یک پیام مجاز و معتبر جاسازی کند یا در آن دستکاری نماید.

علم تحلیل رمز ((Cryptoanalysis به هنر شکستن رمز بدون در اختیار داشتن کلید آن نامیده میشود. علم رمزنگاری ((Cryptology به هنر ابداع روش های رمزنگاری جدید اطلاق می­شود.

اساس کا رمزنگاری در اختیار داشتن یک نماد و فرمول ریاضی که ارتباط بین متن آشکار، متن رمز شده و کلید رمز را مشخص می­کند می باشد. ما از نماد C=EK(P)استفاده خواهیم کرد، p در این نماد متن آشکار است که عملیات رمزنگاری توسط کلید رمز K بر روی آن انجام شده و متن رمز شده C بدست آمده است. به طرز مشابه، فرمول P=DK(C) عمل رمزگشایی متن رمز شده می باشد.

بنابراین داریم:

DK(EK(P))=P

این نماد که E و D توابع ریاضی و معکوس یکدیگر هستند بیان گر این موضوع می باشد. این توابع دارای دو پارامتر هستند وکلید رمز K را که در حقیقت یکی از پارمترهای این توابع است به صورت پانویس برای E یا D نشان داده­ایم تا تمایز آن از پیام مشخص باشد.

یکی از قواعد اساسی در علم رمزنگاری آن است که شخص باید فرض را بر آن بگذارد که دیگران ]از جمله تحلیلگران رمز و رمزشکنها[ الگوریتم بکار رفته در عملیات رمزنگاری را می­دانند. به عبارت دیگر شخص رمز شکن، روش رمزنگاری یعنی تابع E و روش رمزگشایی یعنی تابع D را می­داند و آن چه از او پنهان نگه داشته می­شود فقط کلید رمز (K) است. میزان انرژی و زحمتی که باید برای ابداع، آزمایش و نصب یک الگوریتم رمزنگاری جدید در صورت فاش شدن روش قبلی انجام بگیرد بقدری زیاد است که محرمانه نگهداشتن روش رمزنگاری عملاً ممکن نیست. پس اگر الگوریتم رمزنگاری مخفی بماند خطرات و زیانهائی بیشتر از منافع آن دارد.

در اینجاست که که اهمیت کلید رمز مشخص می شود.کلید رمز یک رشته کارکتری نسبتاً کوتاه است که پیام براساس آن رمز می­شود. برخلاف آن که روش رمزنگاری ممکن است هر چند سال یک بار تغییر کند، کلید رمز می­تواند بر طبق نیاز به دفعات عوض شود. بنابراین مدل اساسی سیستم های رمزنگاری، مدلی پایدار است پایدار که همه از عملکرد و الگوریتم آن مطلع هست و فقط با یک کلید محرمانه و قابل تغییر کار می­کند. این نظریه که تحلیلگر رمز (رمزشکن / Cryptanalyst) از الگوریتم رمزنگاری مطلع است و مخفی ماندن یک پیام صرفاً به مخفی ماندن کلید رمز وابسته است «اصل کرکهف» نامیده می­شودکه توسط یکی از رمزنگاران ارتش فلاندرز به نام AugusteKerckhoff در سال ۱۸۸۳ بیان شده است.

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

شاید نتوان به درستی اثبات کرد  که مخفی ماندن الگوریتم رمزنگاری اشتباه است. تلاش برای سری نگه­داشتن الگوریتم رمزنگاری که امنیت در سایه گمنامی و ابهام (Securityby Obscurity) نامیده می شود هرگز محقق نخواهد شد. با عمومی­سازی یک الگوریتم، طراح یک الگوریتم رمزنگاری می­تواند از نیروی عظیم متخصصین رمزنگاری که مشتاق به شکستن یک سیستم هستند، مشورت بگیرد و آن ها را به مبارزه دعوت کنند.هر گاه متخصصین کثیری سعی در شکستن یک الگوریتم کردند و با گذشت پنج سال پس از انتشار عمومی آن هیچ گزارشی مبنی بر موفقیت آنان مشاهده نشد، آن الگوریتم احتمالاً بقدر کافی سخت و محکم بوده است.

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

قاعده ای که برای باز شدن قفل به کار می رود آن است  که چند رقم را به ترتیب وارد کنید. همه این موضوع را می­دانند ولی کلید رمز محرمانه است. کلید رمز دو رقمی تنها صد حالت مختلف دارد. کلید سه رقمی معادل با هزار و کلید شش رقمی معدل یک میلیون حالت مختلف است. هر چند طول یک کلید بزرگتر باشد، حجم عملیات سعی و خطائی که رمزشکن برای دسترسی به کلید رمز باید انجام بدهد زیاد خواهد بود.[۱] حجم عملیات برای شکستن یک سیستم رمز از طریق آزمون تمام فضای حالت کلید، بر حسب طول کلید به صورت نمائی رشد خواهد کرد. مخفی نگه داشتن و امنیت پیام ها با داشتن یک الگوریتم بسیار قدرتمند به همراه یک کلید طولانی تضمین می­شود. برای آنکه نگذارید یک شخص عادی نامه­های الکترونیکی شما را بخواند یک کلید ۶۴ بیتی (هشت کاراکتری) کفایت می­کند ولی برای انجام عملیات معمول اقتصادی باید از کلیدی با حداقل ۱۲۸ بیت استفاده شود. برای تضمین نگهداری رمزهای دولتی به کلیدهایی با طول حداقل ۲۵۶ بیت یا حتی بیشتر نیاز است. مسئله کشف رمز سه روش اساسی را در بر می­گیرد:

  1. صرفا متن رمز شده: هر گاه تحلیل گر فقط توده­ای از متن رمز شده، بدون هیچ متن آشکار و بدون کلید دراختیار داشته باشد با مسئله­ای به نام «صرفا متن رمز شده»[۲]مواجه است.

۲.متن آشکار و شناخته شده: وقتی تحلیل گر بخشی از متن آشکار را به     همراه معادل رمز شده آن، در اختیار دارد، اصطلاحاً با مسئله­ «متن آشکار و شناخته شده»[۳]مواجه است.

۳.متن آشکار و انتخابی: نهایتاً هر گاه رمزشکن قادر باشد هر قسمت دلخواه از یک متن آشکار را رمز کند اصطلاحاً با مسئله «متن آشکار و انتخابی»[۴]مواجه است.

وقتی به یک رمزشکن اجازه داده شود تا بپرسد حاصل رمزنگاری رشته hgghjuggujhuy چیست به آسانی می تواند تا رمزهای معمولی را بشکند و کلید رمز را بدست بیاورد. بعضی ها به اشتباه فکر می کنند گاه یک متن رمز شده می تواند در مقابل حمله­ی نوع صرفاً متن رمز شده مقاومت کنند تا افشا نشود، آن سیستم رمز مورد اطمینان است.[۵] زیرا در بسیاری از حالات، رمزشکن قار است حدس های درستی را در مورد برخی از قسمت های یک متن مز شده آزمایش کند.

کلمه­یlogin   اولین جمله­ای که در حین برقراری ارتباط شخصی از راه دور، ارسال می­شود. این کلمه به صورت رمز شده است. حال رمزشکن پاره­ای متن رمز شده به همراه معادل رمز نشده­ی آن را در دست دارد کار او نسبتاً ساده واست. برای رسیدن به امنیت کامل، طراح الگوریتم رمزنگاری باید نکات امنیتی را رعایت کند و اطمینان حاصل کند که سیستم به صورتی رمز شده که طرف مقایل یعنی رمز شکن معادل رمز شده ی آن را در دست دارد باز هم نمی تواند رمز را بشکند و  کلید رمز را پیدا کند.[۶]

روش های رمزنگاری سنتی بطور کلی به دو رده تقسیم می­شوند:

  1. رمزهای جانشینی (Substitution)
  2. رمزهای جایگشتی (Transposition)

[۱] به حجم عملیات لازم برای کشف کلید رمز به روش سعی و خطا اصطلاحاً Work Factor گفته می­شود.

[۲] Ciphertext Only

[۳] Known Plaintext

[۴] Chosen Plaintext

[۵] بدین خیال که چون رمزشکن فقط متن رمز شده را در اختیار دارد و چیزی از متن اصلی نمی­داند بنابراین قادر به آزمون تمام حالات مختلف کلید رمز نیست و بالطبع کلید اش نخواهد شد.

[۶] به عبارت روشن­تر سیستم رمز باید به نحوی طراحی شود که حتی اگر یک متن رمزشده و معادل رمزنشده آن را به رمزشکن بدهید بازهم نتواند کلید رمز شما را پیدا کند.

 

دانلود پایان نامه ای با این مضنون

نوشته های مشابه

ثبت دیدگاه

    • دیدگاه های ارسال شده توسط شما، پس از تایید توسط تیم مدیریت در وب منتشر خواهد شد.
    • پیام هایی که حاوی تهمت یا افترا باشد منتشر نخواهد شد.
    • پیام هایی که به غیر از زبان فارسی یا غیر مرتبط باشد منتشر نخواهد شد.

برو بالا