بررسی اصل اساسی روش های رمزنگاری

یکشنبه 9 اردیبهشت 1397

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

 بررسی اصل اساسی روش های رمزنگاری

با توجه به اینکه روش های رمزنگاری زیاد است بهتر است چند نمونه از مهم ترین روش های رمزنگاری را توضیح دهیم به طور کلی انواع روش های رمزنگاری وجود دارد که هر یک در زمان و جایگاه مناسب خود ارزش پیدا می کند.

انواع روش های رمزنگاری

کلمه رمزنگاری یک کلمه یونانی است و به معنی محرمانه نوشتن یک متن است. متخصصین رمزنگاری بین رمز و کد تمایز ویژه ای قائل هستند. در رمز قرار است که یک سری کاراکترها به کاراکتر یا بیت ها به بیت های دیگر تبدیل شود بدون اینکه به محتویات زبان شناختی توجه ویژه ای شود. در مقابل رمز، کد قرار دارد، در کدگذاری قرار است که کلمه ای با یک کلمه و یا علامت دیگر جایگزین شود. اگر دقت کنید امروزه از کدها استفاده چندانی نمی شود.

به طور کلی بر طبق بررسی های انجام شده متوجه شدیم که روش های رمزنگاری به دو دسته تقسیم می شود. دسته اول مربوط به رمزهای جانشینی است و بخش دوم در خصوص رمزهای جایگشتی عمل می کند. هر کدام از این دو روش به نوبه خود ارزش خاص خودش را دارد. حال می خواهیم هر کدام از این دو روش را به طور دقیق تری توضیح دهیم.

رمزنگاری جانشینی و جایگشتی

در رمزنگاری جانشینی هر حرف یا گروهی از حرف ها با یک حرف و یا گروهی دیگر از حرف ها جابه جا می شود و به این ترتیب شکل پیام به هم می ریزد. در این روش به سادگی متوجه می شویم که ترتیب سمبل های یک متن حفظ می شود اما شکل سمبل ها تغییر می کند.

در رمزنگاری جایگشتی یک بلوک از کاراکترها به طول ثابت از ورودی دریافت می شود و یک بلوک رمز شده با طول ثابت در بخش خروجی تولید می شود. در این روش مشخص است که فهرست کامل جایگشت های ورودی مشخص است.

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

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

رمزنگاری از طریق بهم ریزی محتوای پیام

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

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

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

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

اولین اصل در رمزنگاری این است که تمام پیام های رمز شده باید با مقداری افزونگی همراه باشد. در واقع لزومی ندارد که اطلاعات واقعی همانطور که هستند رمز و ارسال شود. وجود افزونگی در رمزنگاری امری روتین و ضروری است. وجود افزونگی سبب می شود که پیام ها به صورت معتبر تفسیر شود.

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

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

افزونگی برای ساخت توابع درهم سازی رمز مورد استفاده قرار می گیرد.

تازگی پیام ها در رمزنگاری

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

ایمان مدائنی

نویسنده 1299 مقاله در برنامه نویسان

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

تاکنون هیچ کاربری از این پست تشکر نکرده است

در صورتی که در رابطه با این مقاله سوالی دارید، در تاپیک های انجمن مطرح کنید