علیرضا عابدینی
کارشناس ارشد فناوری اطلاعات و مدرس کامپیوتر

معرفی انواع رمزنگاری : انواع الگوریتم ها و حملات رمزنگاری

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

دوره های شبکه، برنامه نویسی، مجازی سازی، امنیت، نفوذ و ... با برترین های ایران

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

بصورت کلی سه نوع رمز نگاری وجود دارد : فیزیکی – ریاضیاتی – کوانتومی

  1. رمزنگاری فیزیکی : در رمز نگاری فیزیکی پردازش ریاضی روی متن صورت نمی گیرد.(Cipher) عمومی ترین این روش عبارتیست از جابجایی یا جایگزینی حروف ( کاراکترها ) یا کلمات میباشد و یا پنهان سازی اطلاعات داخل اطلاعات دیگر مانند یک تصویر (Stenography)
  2. رمزنگاری ریاضی :از فرآیندها و پردازشهای ریاضی روی متن یا کاراکترها استفاده می کند. معروفترین این روش ادغام سازی یا همان Hashing است. در این روش یک محاسبه روی پیام انجام می شود و آنرا به یک مقدار عددی تبدیل می کند که به آن Hash Value گفته می شود. بطور مثال هر کاراکتر را در 3 ضرب و با هم جمع و حاصل را بر 10 تقسیم کن.این الگوریتم یک طرفه است و نمی توان از مقدار Hash به متن رسید. یکی از پر کاربردترین استفاده های یک تابع درهم سازی در پایگاه داده هاست هنگامی که می خواهید به وب سایت وارد شوید ، رمز عبور شما دریافت می شود و تبدیل به مقدار Hash می شود و با پایگاه داده مورد نظر مقایسه می شود ، اگر مقادیر برابر بود یعنی رمز شما درست است .یکی دیگر از کاربردها اطمینان از صحت داده ارسالی یا دریافتی در مسیر یک شبکه استبه این صورت که در مبدا از فایل یک مقدار Hash تهیه شده و بعد از رسیدن به مقصد نیز مجددا یک Hash تهیه کنید و مقادیر را با هم مقایسه کنید ، در صورتیکه مقادیر یکسان باشد فایل شما حتی اگر چند ترابایت داده نیز داشته باشد قطعا سالم و درست خواهد بود.
  3. رمزنگاری کوانتومی : روشی جدید در رمز نگاری که تا قبل از 2002 کاربرد آن در آزمایشگاهها و برخی مراکز امنیتی دولتی بود. در این روش پیام با استفاده از یکسری فوتون ارسال می گردد. اگر دریافت کننده این فوتون ها را طبق الگوریتمی که دارد بفهمد میتواند پیام را decode کند . در غیر اینصورت فوتون ها تغییر یافتده اند و فرستنده شروع به ارسال مجدد پیام با یک سری جدیدی از فوتون ها می نماید. رمزنگاری کوانتومی بسیار پرهزینه است و کاربرد محدودی دارد. 

حملات به رمزنگاری

برخی از معروفترین روشهای شکستن کد ها عبارتند از :

  • Algorithm Errors
  • Social Engineering
  • Brute Force Attacks
  • Frequency Analysis
  • Human Error

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

3 روش اصلی برای کد کردن عبارتند از Hashing – Asymmetric  – symmetric

1. الگوریتمهای متقارن ( Symmetric ): یک کلید امنیتی تولید می کند. یک کلید اختصاصی دارد که برای بقیه افراد غیر مجاز قابل استفاده نیست.کلید بین فرستنده و گیرنده یکسان است. 

انواع الگوریتمهای متقارن

  1. DES از سال 1970 ایجاد شده است. استاندارد اصلی که در مراکز دولتی و صنعتی بکار میرود. یک کلید 128 بیتی ایجاد می کند.
  2. AES   : جایگزین DES می باشد.کلیدهای 128 و 192 و 256 بیتی تولید می کند.توسط 2 نفر بنامهای Vincent Rijmen و Joan Damon طراحی شده است.
  3. 3DES نسخه ارتقا یافته DES می باشد.از DES امن تر می باشد و شکستن قفل آن بسیار مشکل است.
  4. CAST  : توسط Carlisle Adams and Stafford Tavares طراحی شده است.شرکتهای مایکروسافت و IBM از این الگوریتم استفاده میکنند.کلیدهای 40 و 128 بیتی استفاده میکند.
  5. RC : توسط آزمایشگاههای RSA استفاده می شود.طراح آن Ron Rivest می باشد. انواع نسخه ها : RC5 , RC6 کلید 2048 بیتی تولید می کند.
  6. Blowfish  : توسط سیستمهای Counterpane ایجاد گردیده است.نویسنده اصلی آن Bruce Schneier می باشد.نسخه بعدی آن Twoofish می باشد. از کلیدهای 448 بیتی استفاده میکند.
  7. IDEA :از کلید 128 بیتی استفاده میکند به لحاظ سرعت و قبلیت شبیه الگوریتم DES می باشد ولی امن تر از آن است.

2. الگوریتمهای نا متقارن ( Asymmetric Algorithm) : از 2 کلید برای code و decode کردن داده ها استفاده می کند. این کلیدها را Public key و Private key می گویند. Public برای کد کردن پیام توسط فرستنده و Private key برای رمزگشایی توسط گیرنده استفاده می شود. 

انواع الگوریتمهای نامتقارن

  1. RSA  : طراحان آن Ron Rivest , Adi Shamir , Leonard Adleman می باشد. هم برای امضای دیجیتال و هم برای SSL استفاده می شود.
  2. الگوریتم Diffie Helman  : توسط 2 نفر بنامهای دکتر W.Diffie و دکتر M.E.Hellman توسعه یافته است.
  3. ECC   : شبیه الگوریتم RSA است. در شبکه های وایرلس کاربرد دارد.
  4. EL Gamal  : نام دیگر آن DSA است.برای انتقال امضای دیجیتال و تبادل کلیدها استفاده می شود.در سال 1985 ایجاد شده است.

الگوریتم های: Hashing دو نوع اصلی دارد SHA :و MD الگوریتم SHA  یک طرفه است یک کد 160 بیتی تولید می کند.الگوریتم MD : یک الگوریتم یکطرفه است.چندین نسخه دارد که مهمترین آنهاعبارتند از : MD2 ,MD4,MD5 یک کد 128 بیتی تولید می کند.از hashing برای اطمینان از صحت اطلاعات استفاده می شود.


علیرضا عابدینی
علیرضا عابدینی

کارشناس ارشد فناوری اطلاعات و مدرس کامپیوتر

کارشناس ارشد فناوری اطلاعات هستم ، مدرس دوره های کامپیوتر ، مدیر فناوری اطلاعات و دارای گواهینامه های MCSA ، CCNA ، CEH و Network Plus و خوشحالم از اینکه می تونم دانشم رو در توسینسو به اشتراک بگذارم

نظرات