تاریخ امروز: ۱۴۰۱/۰۷/۳
معرفی روشهای رمزنگاری (Cryptography)

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

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

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

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

تاریخچه ای از رمزنگاری

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

100 قبل از میلاد – رمز سزار. معروف بود که ژولیوس سزار از نوعی رمزگذاری برای انتقال پیام های محرمانه به ژنرال های ارتش خود که در جبهه جنگ ارسال شده بود ، استفاده می کرد. این رمز جایگزین ، معروف به رمز سزار ، شاید بیشترین رمز تاریخی (الگوریتمی است که برای رمزگذاری یا رمزگشایی استفاده می شود) در ادبیات دانشگاهی است. این یک رمز ساده است که در آن هر یک از کاراکترهای متن ساده به سادگی با یک کاراکتر دیگر جایگزین می شوند تا متن رمزگذاری شود. به عنوان مثال ، “a” تبدیل به “d” ، “b” به “e” و غیره می شود.

500 میلادی – رمزنگاری ویگنر. ویگنر یک رمز را طراحی کرد که گفته می شود اولین رمزی بود که از کلید مخفی استفاده کرد.

1918 – ماشین معما. ماشین Engima توسط مهندس آلمانی Arthur Scherbius در پایان جنگ جهانی اول اختراع شد و در طول جنگ جهانی دوم به شدت توسط نیروهای آلمانی مورد استفاده قرار گرفت. دستگاه Enigma از 3 روتور یا بیشتر استفاده می کند که با تایپ کردن روی صفحه کلید و خروج حروف مربوط به متن رمز شده ، با سرعت های مختلف می چرخند. در مورد Enigma ، کلید تنظیم اولیه روتورها بود. 1943 آلن تورینگ و سایر اعضای تیمش در پارک بلچلی ، “هیت رابینسون” ، یک ماشین تخصصی برای شکستن رمز را تکمیل کردند. این تیم همچنین مسئول شکستن ماشین Enigma در طول جنگ جهانی دوم بود.

1948 – کلود شانون مقاله ای می نویسد که مسئول ایجاد مبانی ریاضی مدرن ما در نظریه اطلاعات است. 1970 – لوسیفر رمز. در اوایل دهه 1970 ، تیمی از IBM یک رمز به نام Lucifer طراحی کردند. دفتر استاندارد ملی (NIST فعلی) در ایالات متحده درخواست ارائه پیشنهادات برای رمزنگاری بلوک را که به استاندارد ملی تبدیل می شود ، ارائه کرد. لوسیفر در نهایت پذیرفته شد و به DES (استاندارد رمزگذاری داده) تبدیل شد.

1977 – رمزگذاری کلید عمومی RSA توسط رون ریوست ، آدی شمیر و لئونارد ادلمن اختراع شد.

1991 – فیل زیمرمن PGP را منتشر کرد.

1994 – پروتکل رمزگذاری Secure Sockets Layer (SSL) توسط Netscape منتشر شد ، که اکنون بیشتر وب مدرن را ایمن می کند.

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

2000 – AES به عنوان جایگزین DES پذیرفته شد. در سال 1997 ، NIST دوباره درخواست پیشنهاد برای رمزنگاری بلوک جدید را ارائه کرد. 50 مورد ارسال کرد. در سال 2000 ، Rijndael را پذیرفت و به عنوان AES یا استاندارد پیشرفته رمزگذاری نامگذاری شد.

2004 – MD5 در برابر برخورد آسیب پذیر است

2009 – راه اندازی شبکه بیت کوین

اصول اساسی رمزنگاری

  • محرمانه بودن (Confidentiality)
  • درستی و یکپارچگی (Integrity)
  • عدم انکار (Non-repudiation)
  • احراز هویت (Authentication)

در ادامه میخواهیم این اصول اساسی را تشریح کنیم:

محرمانه بودن (Confidentiality)

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

درستی و یکپارچگی (Integrity)

درستی و یکپارچگی داده ها به دقت ، قانونی بودن و ثبات و استحکام اطلاعات در یک سیستم اشاره دارد. وقتی پیامی ارسال می شود ، به ویژه با استفاده از یک رسانه نامعتبر مانند اینترنت ، یکپارچگی داده ها به ما اطمینان می دهد که یک پیام دستکاری نشده یا تصادفی تغییر نکرده است.

عدم انکار  (Non-repudiation)

عدم انکار اطمینان می دهد که هیچ کس نمی تواند اعتبار داده های مورد بحث را انکار کند و در واقع ایجاد کننده/فرستنده اطلاعات نمی تواند در مراحل بعدی نیت خود را در ایجاد یا انتقال اطلاعات انکار کند.

 احراز هویت (Authentication)

دو نوع احراز هویت وجود دارد که معمولاً در رمزنگاری استفاده می شود. احراز هویت یکپارچگی مانند MAC یا HMAC تضمین می کند که داده ها دستکاری نشده اند. احراز هویت منبع ، مانند گواهی SSL ، می تواند برای تأیید هویت افرادی که اطلاعات را ایجاد کرده اند مورد استفاده قرار گیرد. هربار که از طریق HTTPS به وب سایت متصل می شوید ، مرورگر شما با بررسی گواهی SSL از اتصال شما به سایتی که فکر می کنید متصل است اطمینان می دهد.

 

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

 

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

سه نوع اصلی رمزنگاری وجود دارد:

 

  • رمزگذاری کلید متقارن (Symmetric key encryption)
  • رمزگذاری کلید نامتقارن (Asymmetric key encryption)
  • توابع هش (Hash functions)

رمزنگاری کلید متقارن  (Symmetric key encryption)

رمزگذاری متقارن از رمز یکسان برای رمزگذاری و رمزگشایی استفاده می کند. فرستنده و گیرنده پیام از یک کلید مشترک برای رمزگذاری و رمزگشایی پیام ها استفاده می کند. سیستم های کلید متقارن سریعتر و ساده تر هستند ، اما اشتراک کلیدها مشکل است. الگوریتم های متداول رمزگذاری متقارن شامل AES و DES است.

رمزنگاری کلید نامتقارن (Asymmetric key encryption)

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

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

توابع هش (Hash functions)

سومین نوع رایج رمزنگاری شامل توابع هش است. هیچ کلیدی در این الگوریتم استفاده نشده است. مقدار طول ثابت از متن ساده محاسبه می شود ، که بازیابی محتویات متن ساده را غیرممکن می کند. با این حال ، از آنجا که یک متن ساده همیشه در یک خروجی یکسان است ، می توان از آن برای مثال ، برای مقایسه گذرواژه ها بدون ذخیره آنها استفاده کرد. توابع هش محبوب عبارتند از SHA-256 ، Bcrypt و Scrypt.

 

دیدگاهتان را بنویسید

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

محصولات پیشنهادی سردبیر

خواندن این مقالات را هم به شما پیشنهاد میدهیم

سبد خرید
فروشگاه
حساب من
0 مورد سبد خرید