رمزنگاری یا Cryptography

0 644
Telegram_GEEKBOY
codingbanner
Cryptography

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

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

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

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

1 -رمزنگاری فیزیکی Physical Cryptography
روش های مختلفی دارد، عمومی ترین این روش عبارتیست از جابجایی یا جایگزینی حروف (کاراکترها) یا کلمات میباشد. این روش شامل یک حالت دیگری است که به آن Stenography گفته می شود. این روش علمی است که شامل پنهان سازی اطلاعات داخل اطلاعات دیگر است مانند یک تصویر. به طور کلی در رمز نگاری فیزیکی پردازش ریاضی روی متن صورت نمی گیرد. Cipher روشی است که برای کد کردن حروف (کاراکترها) برای پنهان کردن ارزش خود استفاده می شود. به فرآیند کد کردن یک پیام Ciphering گفته می شود.

2 – رمزنگاری ریاضی (Cryptography Mathematical)
از فرآیندها و پردازشهای ریاضی روی متن یا کاراکترها استفاده می کند. معروفترین این روش ادغام سازی یا همان Hashing است. در این روش یک محاسبه روی پیام انجام می شود و آنرا به یک مقدار عددی تبدیل می کند که به آن Hash Value گفته می شود. مثال:
هر کاراکتر را در 2 ضرب کن
مقادیر بدست آمده را با هم جمع کن
حاصل جمع را بر 10 تقسیم کن

Message : this
ASCII Value : 116 104 105 115
Calculated Values : 232 208 210 230
Hash value Calculation : ( 232+208+210+230)/10
Hash value : 88

این الگوریتم یک طرفه است و نمی توان از مقدار Hash به متن رسید.

3 – رمزنگاری کوانتومی (Cryptography Quantum)
روشی جدید در رمز نگاری می باشد. تا قبل از 2002 کاربرد آن در آزمایشگاهها و برخی مراکز امنیتی دولتی بود. در این روش پیام با استفاده از یکسری فوتون ارسال می گردد. اگر دریافت کننده ترتیب (توالی) و حال مثبت و منفی (قطب مغناطیسی) فوتون ها را بفهمد میتواند پیام را decode کند. در غیر اینصورت فوتون ها تغییر یافتده اند. این به گیرنده مفهماند که فرد یا افرادی پیام را شنیده اند. فرستنده پس از اطلاع از این موضوع Pattern (قالب) پیام را عوض کرده و شروع به ارسال مجدد پیام با یک سری جدیدی از فوتون ها می نماید. رمزنگاری کوانتومی بسیار پرهزینه است و کاربرد محمدودی دارد.

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

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

الگوریتمهای رمز نگاری
3 روش اصلی برای کد کردن عبارتند از: Hashing – Symmetric  Asymmetric

الگوریتم های Hashing دو نوع اصلی دارد: SHA و MD

1 – الگوریتم SHA – Secure Hash Algoritm 

  • یک طرفه است
  • یک کد 160 بیتی تولید می کند.

2 – الگوریتم MD – Message Digest:

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

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

انواع الگوریتمهای متقارن:
1 – (DES (Data Encryption Standard

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

2 – (AES (Advanced Encryption Standard

  • جایگزین 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 (International Data Encryption Algorithm

  • از کلید 128 بیتی استفاده میکند
  • به لحاظ سرعت و قبلیت شبیه الگوریتم DES می باشد ولی امن تر از آن است.
  • در(PGP (Pretty Good Privacy (امنیت در پست الکترونیک) استفاده می شود.

الگوریتمهای نا متقارن (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 (The Elliptic Curve Cryptosystem

  • شبیه الگوریتم RSA است.
  • در شبکه های وایرلس کاربرد دارد.

4 – EL Gamal

  • نام دیگر آن DSA است.
  • برای انتقال امضای دیجیتال و تبادل کلیدها استفاده می شود.
  • در سال 1985 ایجاد شده است.

حملات در رمزنگاری

  • Attacking the key
  • Attacking the Algorithm
  • Intercepting the Transmission
  • Birthday Attack
  • Weak key Attack
  • Mathematical Attack

VPN یک ارتباط امن بین 2 دستگاه یا شبکه است. این ارتباط می تواند از طریق اینترنت، WAN و یا MAN و یا بصورت Point to Point باشد. 3 نوع VPN وجود دارد:

1 – Intranet: ارتباط 2 نقطه (از یک شرکت) را با هم برقرار می کند. مثل ارتباط بین یک شعبه و دفتر مرکزی. این ارتباط را Site to Site یا LAN to LAN می گویند.
2 – Extra net: ارتباط بین یک سازمان با یک سازمان دیگر.
3 – Remote Access: ارتباط کاربران یا دفاتر کوچک با یک شرکت.

پیاده سازی VPN
روشهای پیاده سازی VPN و مقایسه بین آنها در ذیل آمده است:

  1. GRE – Generic Route encapsulation
  2. PPTP – Point to Point Tunneling Protocol
  3. L2TP – Layer 2 Tunneling Protocol
  4. IPSEC – IP Security
  5. SSL – Secure Socket Layer-CISCO’s solution is called WEBVPN
ارسال یک نظر

آدرس ایمیل شما منتشر نخواهد شد.

این سایت از اکیسمت برای کاهش هرزنامه استفاده می کند. بیاموزید که چگونه اطلاعات دیدگاه های شما پردازش می‌شوند.