جمله زیر را بخوانید!
alsdkjli45135mjkob69*83#sbq
این یک جملهی رمزنگاری شده بود. اطلاعات خود را پیش از افشا، رمزنگاری کنید!
یکی از پرکاربردترین تکنولوژیها در دنیای امروز، رمزنگاری (Cryptography) است. همانطور که میدانید حفظ امنیت اطلاعات، در عملیاتهای نظامی، تجارت، سازمان و غیره جزو اولویتهای مهم بهحساب میآید. پایگاههای نظامی، شرکتها، سازمانها و غیره بهمنظور افزایش امنیت سیستم ذخیرهسازی اطلاعاتشان، میتوانند از رمزنگاری و رمزگشایی اطلاعات استفاده کنند. رمزنگاری اطلاعات بهمعنی تغییر اطلاعات بهصورتی است که قابلخواندن توسط انسان نباشد. در این مقاله قصد داریم به این موضوع بپردازیم که رمزنگاری اطلاعات و رمزگشایی چیست و درباره الگوریتمهای رمزنگاری و تفاوت آنها صحبت کنیم.
رمزنگاری به زبان ساده
رمزنگاری (Cryptography) شیوهای برای ویرایش اطلاعات به شکلی است که تنها اشخاص مجاز بتوانند آنها را درک کنند. بهبیاندیگر رمزنگاری، دادههای قابلخواندن را بهگونهای تغییر میدهد تا ازلحاظ ظاهری بهصورت تصادفی و غیرقابل فهم به نظر برسند. فرد برای انجام این کار نیاز به استفاده از کلید رمزنگاری دارد. این کلید شامل مجموعهای از مقادیر ریاضی بوده که فقط فرستنده و گیرنده مفهوم پیام رمزگذاری شده را میفهمند.
اگرچه اطلاعات رمزگذاری شده در ظاهر تصادفی به نظر میرسند، اما درواقع این کار به روشی قابل پیشبینی و منطقی انجام میشود. بهعبارتدیگر شخصی که اطلاعات رمزگذاری شده را دریافت میکند، با داشتن کلید استفادهشده در رمزگذاری میتواند آنها را رمزگشایی کند. اما چون افراد مخرب و نفوذگر به این کلید دسترسی ندارند، پس توانایی خواندن اطلاعات را نیز نخواهند داشت.
در این زمینه بیشتر بخوانید:
عناصر رمزنگاری
از اهداف مهم رمزنگاری اطلاعات، تجزیه و ساخت پروتکلهای ایمنی بهمنظور ایجاد بستری امن در جهت برقراری ارتباط است. در طول این فرآیند، امنیت اطلاعات محرمانه بهوسیله عناصر رمزنگاری، حفظشده و تنها افرادی میتوانند این اطلاعات را رمزگشایی کنند که کلید رمزنگاری را در اختیار داشته باشند. عناصر رمزنگاری عبارتنداز:
یکپارچگی به معنای «دستکاری نشدن یا تغییر نکردن اطلاعات» در زمان دریافت یا ارسال آنها است.
اطلاعات محرمانه و خصوصی، به هیچ عنوان نباید در اختیار افراد غیر مجاز قرار گیرند.
ارسالکننده یا ایجادکننده اطلاعات نمیتواند هدف ارسال یا ایجاد اطلاعات خود را تکذیب یا انکار کند.
احراز هویت به معنی تأیید و بررسی هویت مخاطب است که در اینجا مخاطب، ارسالکننده و دریافتکننده اطلاعات محسوب میشود.
انواع الگوریتمهای رمزنگاری و تفاوت آنها با یکدیگر
انسانها از دیرباز به فکر تغییر در ساختار پیام بهمنظور پنهان کردن اطلاعات موجود در آن بودند و برای این کار از روشهای متعددی استفاده میکردند. بهتدریج این روشها توسعه یافتند و توسعه آنها رابطه مستقیمی با گسترش علم و استفاده از کامپیوترها برای انجام فرایندهای رمزنگاری داشت. الگوریتمهای رمزنگاری بهطورکلی در سه دسته قرار میگیرند که در ادامه آنها را نامبرده و توضیح میدهیم:
انسانها به علت نداشتن ابزارهای محاسباتی، رمزنگاری را به روشهای سنتی انجام میدادند. این روشها که بهصورت دستی انجام میشد، شامل جابجایی و جایگزینی اطلاعات بودند. اما با این حال رمزگشایی اطلاعات و دسترسی به آنها با توجه به امکانات آن زمان، غیرممکن بود. نکته قابل توجه در الگوریتمهای کلاسیک این است که اگر تشخیص دهیم اطلاعات با کدام روش رمزگذاری شدهاند، دسترسی به آنها بسیار ساده خواهد شد. از معروفترین الگوریتمهای رمزنگاری کلاسیک میتوان به موارد زیر اشاره نمود:
- رمز سزار
- رمز ویگنر
- رمز اسکیتال
- رمز هیل
- رمز پلای فایر
برخلاف الگوریتمهای کلاسیک، در الگوریتمهای رمزنگاری متقارن، هیچ تلاشی برای پنهان کردن الگوریتم مورداستفاده صورت نمیگیرد. در این دسته از الگوریتمها فرد برای رمزنگاری از اعداد مخصوصی استفاده میکند که بهعنوان کلید مطرح میشوند. درواقع در الگوریتم متقارن کلید رمزنگاری بین مقصد و مبدأ، پنهان میشود. این دسته از الگوریتمها به خاطر XOR نمودن دادهها یا عملیات جانشانی و جابجایی، معمولاً برای رمزنگاری اطلاعات مورداستفاده قرار میگیرند. یکی از معایب این دسته از الگوریتمها شیوه توزیع کلید بین مقصد و مبدأ است. زیرا در الگوریتمهای متقارن برای رمزنگاری اطلاعات و رمزگشایی از یک کلید مشترک استفاده میشود. از معروفترین الگوریتمهای متقارن میتوان به موارد زیر اشاره نمود:
- DES
- 3DES
- AES
همانطور که گفتیم، الگوریتمهای متقارن برای رمزنگاری اطلاعات و رمزگشایی از یک کلید مشترک استفاده میکنند، اما در الگوریتمهای نامتقارن از دو کلید خصوصی و عمومی برای این کار استفاده میشود. اطلاعات موردنظر در مبدأ به وسیله کلید عمومی رمزگذاری میشوند و در مقصد با استفاده از کلید خصوصی، رمزگشایی میگردند. از این الگوریتمها میتوان در رمزنگاری داده، امضای الکترونیک، کارتهای هوشمند، رمزنگاری و ارسال کلید استفاده نمود. از معروفترین الگوریتمهای نامتقارن میتوان به موارد زیر اشاره نمود:
- RSA
- ECC
- DSA
- Diffie-Hellman
- ELGamal
الگوریتمهای رمزنگاری در دو مشخصهی اصلی باهم متفاوت هستند. این الگوریتمها در سرعت و بازدهی رمزنگاری اطلاعات و رمزگشایی و همچنین در میزان حفاظت از اطلاعات و پیام اصلی با یکدیگر تفاوت دارند. برای بررسی و مقایسهی سرعت الگوریتمهای مختلف رمزنگاری، میتوان از ابزاری به نام بنچمارک (Benchmark) که در TrueCrypt عرضهشده است، استفاده کرد. بررسیهای انجامشده بهوسیله بنچمارک نشان میدهد که هنوز الگوریتم AES بالاترین سرعت رمزنگاری را در بین تمام الگوریتمهای شناختهشده دارد.
در هر صورت سایر الگوریتمها نیز ازلحاظ سرعت یا قدرت، مزایا و معایبی نسبت به شیوههای استاندارد دارند و انتخاب یک الگوریتم برای رمزنگاری اطلاعات از میان آنها، بستگی به نیاز و کارایی کاربر دارد. بهعنوانمثال میتوان از الگوریتمهای سریعتر برای رمزنگاری اطلاعات استفاده کرد یا دادهها را با یک الگوریتم، دو بار رمزنگاری کرد. درنهایت، الگوریتمهای نامتقارن به خاطر استفاده از فرایندهای ریاضی مانند لگاریتم گسسته و فاکتورگیری اعداد، سرعت کمتری نسبت به الگوریتمهای متقارن دارند و در رمزنگاری اطلاعات، از این الگوریتمها کمتر استفاده میشود.
کلام آخر
امروزه رمزنگاری در دنیای فناوری اطلاعات، به عضوی حیاتی تبدیلشده است. تقریباً همه فرایندهایی که شامل انتقال داده میشوند، برای حفظ امنیت و هویت کاربران در فضای اینترنت، به رمزنگاری نیاز دارند. همانطور که پیش از این نیز اشاره کردیم، روشهای نفوذ به الگوریتمهای رمزنگاری همگام با توسعه این الگوریتمها، تکاملیافتهاند. به همین جهت نمیتوان هیچ الگوریتمی را برای همیشه امن دانست! از طرفی روشهای رمزنگاری کنونی با بیشتر شدن احتمال استفاده و عرضه کامپیوترهای کوانتومی، بیش از هر زمانی در معرض خطر قرار دارند. بنابراین این احتمال وجود دارد که با حضور کامپیوترهای کوانتومی در آینده، الگوریتمهای رمزنگاری کوانتومی هم تکامل پیدا کنند.