رمز نگاری (Encryption)

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

تفاوت رمزنگاری و پنهان‌نگاری:


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

استاندارد رمزنگاری داده‌ها :

استاندارد رمزنگاری داده‌ها، الگوریتمی است که برای رمزنگاری و رمزگشایی داده‌ها از آن استفاده می شود. این الگوریتم از یک عدد باینری به عنوان کلید برای رمزنگاری داده‌ها استفاده می‌کند. به این کلید به آن cipher نیز گفته می‌شود. داده‌های رمزگذاری شده، تنها توسط کلیدی که رمز شده‌اند قابل بازیابی می باشند.

کاربردهاي علم رمز :

کاربردهاي سياسي و نظامي
مخابرات
شبکه سيار
شبکه محلي بي سيم
اينترنت
تجارت الکترونيک
پست الکترونيکي
کارت هوشمند
کارت اعتباري
کارت سوخت

رمزنگاری متقارن و غیر متقارن :

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

الگوریتم DES:

الگوریتم DES یکی از الگوریتم های رمزنگاری متقارن می باشد. الگوریتم های رمزنگاری متقارن از یک کلید هم برای رمزنگاری و هم برای رمزگشایی استفاده می کنند، و به دلیل اینکه الگوریتم DES در اختیار همگان قرار دارد حفظ کلید در رمزنگاری des  از اهمیت بالایی برخوردار است. در این الگوریتم طول کلیدها 64 بیت است که 56 بیت آن برای کلید و 8 بیت آن برای توازن استفاده می شود.
به دلیل طول کم کلید الگوریتم DES از امنیت زیادی برخوردار نیست. در سال 1997 یک پیغام رمزنگاری شده توسط این الگوریتم شکسته شد که این مسئله باعث شد بسیاری از موسسات از DES سه گانه که به 3DES یا TDES معروف است استفاده کنند. الگوریتم TDES بدلیل پیچیده تر کردن الگوریتم DES از طریق طولانی تر کردن طول کلید و اضافه کردن مراحل رمزنگاری، از امنیت بالاتری نسبت به DES برخوردار است.

رمز نگاری RSA :

كليات
توسط Adleman- Shamir- Rivestدر سال 1977 در MIT ارائه شد
مشهورترين و پركاربردترين الگوريتم رمزگذاری كليد عمومي
مبتني بر توان رساني پيمانه ايي
استفاده از اعداد طبيعي خيلي بزرگ
امنيت آن ناشي از دشوار بودن تجزيه اعداد بزرگ، که حاصلضرب دو عامل اول بزرگ هستند، می باشد.
مستندات مربوط به آن تحت عنوان PKCS استاندارد شده است.

رمزگشایی و یا شکستن رمز :

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