رمزنگاری پیشرفته

با پدید آمدن رایانه‌ها و افزایش قدرت محاسباتی آنها، دانش رمزنگاری وارد حوزهٔ علوم رایانه گردید و این پدیده، موجب بروز سه تغییر مهم در مسائل رمزنگاری شد:

  1. وجود قدرت محاسباتی بالا این امکان را پدید آورد که روش‌های پیچیده‌تر و مؤثرتری برای رمزنگاری به وجود آید.
  2. روش‌های رمزنگاری که تا قبل از آن اصولا برای رمز کردن پیام به کار می‌رفتند، کاربردهای جدید و متعددی پیدا کردند.
  3. تا قبل از آن، رمزنگاری عمدتاً روی اطلاعات متنی و با استفاده از حروف الفبا انجام می‌گرفت؛ اما ورود رایانه باعث شد که رمزنگاری روی انواع اطلاعات و بر مبنای بیت انجام شود.

پروتکل رمزنگاری

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

معمولاً یک پروتکل رمزنگاری مشخص می‌کند که

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

الگوریتم رمزنگاری

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

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

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

بر مبنای تعریف فوق، توابع و الگوریتم‌های مورد استفاده در رمزنگاری به دسته‌های کلی زیر تقسیم می‌شوند:

  • توابع بدون کلید
    • توابع درهم‌ساز
    • تبدیل‌های یک‌طرفه
  • توابع مبتنی بر کلید
    • الگوریتم‌های کلید متقارن
      • الگوریتم‌های رمز بلوکی
      • الگوریتم‌های رمز دنباله‌ای
      • توابع تصدیق پیام
    • الگوریتم‌های کلید نامتقارن
      • الگوریتم‌های مبتنی بر تجزیهٔ اعداد صحیح
      • الگوریتم‌های مبتنی بر لگاریتم گسسته
      • الگوریتم‌های مبتنی بر منحنی‌های بیضوی
    • الگوریتم‌های امضای رقومی

    در ؟آینده در باره الگوریت های فوق بیشتر توضیح داده خواهد شد...................................