دانش رمزنگاری برپایه مقدمات بسیاری از قبیل تئوری اطلاعات، نظریه اعداد و آمار می باشد و در علم مخابرات کاربرد دارد.
*** عناصر مهمی که در رمزنگاری مورد استفاده قرار می گیرد
متن آشکار: به پیام در حالت اصلی و قبل از تبدیل شدن به رمز که قابل فهم توسط انسان می باشد متن آشکار گرفته می شود.
متن رمز: به پیام بعد از تبدیل به رمز که قابل فهم توسط انسان نباشد گفته می شود.
رمزگذاری (رمز کردن): عملیاتی است که با استفاده از کلید رمز، پیام را به رمز تبدیل می کند.
رمزگشایی (بازکردن رمز): عملیاتی است که با استفاده از کلید رمز، پیام رمز شده به پیام اصلی باز می گردد و عکس العمل رمزگذاری است.
کلید رمز: اطلاعات معمولا عددی است که به عنوان پارامتر ورودی به الگوریتم رمز داده می شود و عملیات رمزگذاری و رمزگشایی با استفاده از آن انجام می گیرد و رمزهای کلاسیک مبتنی بر دو روش اصلی جایگشتی و جایگزینی می باشد.
رمز جایگشتی: جابجایی حروف در متن اصلی بدون تغییر حروف الفبا می باشد.
رمز جانشینی: جانشینی یک حرف با حرف دیگر است. یکی از قدیمی ترین رمزها، رمز سزار است که در این روش حرف a به d، b به c، e به f تبدیل می شود و به همین ترتیب z که با حرف جایگزین می شود.
انواع رمزنگاری:
1-رمزنگاری فیزیکی: همان رمزنگاری کلاسیک است و به طور کلی در این رمزنگاری پردازش ریاضی روی متن صورت نمی گیرد.
2-رمزنگاری ریاضی: از فرآیندها و پردازش های ریاضی روی متن یا کاراکتر استفاده می کند، معروف ترین روش ادغام سازی یا همان Hashing است. در این روش یک محاسبه روی پیام انجام می شود و آن را به یک مقدار عددی تبدیل می کند که به آن Hash value گفته می شود.
3- رمزنگاری کوانتومی: روش جدید در رمزنگاری می باشد در این روش پیام با استفاده از یکسری فوتون ارسال می گردد. اگر دریافت کننده ترتیب و حالت مثبت و منفی فوتون ها را بفهمد، می تواند آن را decode کند، در این صورت فوتون ها تغییر یافته اند. این به گیرنده می فهماند که فردی پیام را شنیده و فرستنده پس از اطلاع از این موضوع پیام را عوض کرده و شروع به ارسال مجدد پیام با یکسری از فوتون ها می نماید.
الگوریتم های رمزنگاری
الگوریتم های رمزنگاری بسیار متعدد می باشند، اما تعداد اندکی از آنها به صورت استاندارد درآمده اند. ما در اینجا به الگوریتم های مبتنی بر کلید که شامل الگوریتم های کلید متقارن و کلید نامتقارن است ، به طور اختصار می پردازیم.
رمزنگاری کلید متقارن: در آن هر دو طرف رد و بدل اطلاعات از یک کلید رمز یکسان استفاده می کنند و برای رمزنگاری بین دو طرف باید یک کلید رمز مشترک باشد و برای اینکه کلمه رمز محرمانه باشد باید از یک کانال امن استفاده شود.
DES و AES نمونه ای از الگوریتم های رمزنگاری کلید متقارن است.
رمزنگاری کلید نامتقارن: در این نوع رمزنگاری به جای یک کلید مشترک از یک زوج کلید به نام کلید عمومی و کلید خصوصی استفاده می شود کلید خصوصی تنها در اختیار دارنده آن است، در حالی که کلید عمومی در اختیار کسانی قرار می گیرد که با دارنده آن در ارتباط هستند. RSA نمونه ای از الگوریتم های رمزنگاری کلید نامتقارن است.
مقایسه رمزنگاری کلید متقارن و نامتقارن
الگوریتم رمزنگاری کلید متقارن سریعتر از الگوریتم رمزنگاری کلید نامتقارن است.