در این مقاله آموزشی قصد داریم تا شما را مفهوم Cryptography یا همان رمز نگاری آشنا کنیم و ابزارهای موجود در این زمینه را به شما معرفی کنیم. علم رمزنگاری به شما کمک می کند تا بتوانید اطلاعات خود را به صورت محرمانه ذخیره یا ارسال کنید.
رمزنگاری چیست؟
تبدیل متن قابلخواندن به فرم غیرقابلخواندن است. در رمزنگاری ابتدا دادهها به ciphertext (رمزگذاری) و سپس ciphertext به شکل قابلخواندن (رمزگشایی) تبدیل میشود. Cryptography اساساً بر روی مفهوم رمزنگاری و رمزگشایی کار میکند.
encryption و decryption نباید با encoding و decoding اشتباه گرفته شود، که در آن دادهها از شکلی به شکل دیگر تبدیل میشوند. encryption از طریق الگوریتمها به دست میآید. این الگوریتمها با منطق، محاسبات ریاضی و غیره کار میکنند.
Encryption یا رمزگشایی
دادههای رم نگاریشده را ciphertext نیز مینامند. ciphertext تبدیل متن قابلخواندن به فرم غیرقابلخواندن است که مؤثرترین راه برای دستیابی به امنیت دادهها است. برای خواندن یک فایل رمزگذاری شده، باید به یک secret key یا password دسترسی داشته باشید که به شما امکان میدهد آن را رمزگشایی کنید.
Decryption یا رمزگشایی
رمزگشایی فرآیند تبدیل دادههای رمزنگاریشده به شکل اصلی خود است، که میتوان آن را فهمید. برای رمزگشایی دادهها به یک secret key یا password نیاز است تا بتوان آن را رمزگشایی کرد.
شیوه های رمزگذاری
رمزگذاری به ۳ روش انجام میشود:
- Symmetric
- Asymmetric
- Hash
Symmetric
وظیفه رمزنگاری متقارن این است که دادههای قابلخواندن را بگیرد، آنها را به هم بزند تا غیرقابلخواندن باشد. سپس در صورت نیاز دوباره آنها را از هم جدا کند. بهطورکلی روش سریعی است و روشهای رمزگذاری زیادی برای انتخاب در این متد وجود دارد. مهمترین چیزی که باید در مورد رمزگذاری متقارن به خاطر بسپارید این است که هر دو طرف encrypter و decrypter نیاز به دسترسی به یک کلیددارند.
Asymmetric
رمزنگاری نامتقارن دادههای قابلخواندن را میگیرد، آنها را درهم میکند، و دوباره در سمت گیرنده آن را باز میکند. این روش برای هر فرستنده و گیرنده از یک کلید متفاوت استفاده میشود. encrypter از یک public key برای درهم کردن دادهها استفاده میکنند و decrypter از private (secret) key منطبق در طرف دیگر برای باز کردن مجدد آن استفاده میکنند.
Hash
بهطور دقیق، hash کردن نوعی encryption نیست. اگرچه از cryptography استفاده میکند. hash کردن دادهها را میگیرد و یک hash از آن ایجاد میکند، رشتهای از دادهها با سه ویژگی مهم: همان دادهها همیشه همان هش را تولید میکنند. غیرممکن است که آنها را به دادههای اصلی برگردانیم.
با توجه به دانش فقط هش، غیرممکن است. برای یکرشته دیگر همان hash ایجاد شود (collision). hash برای احراز هویت دادههایی است که بهصورت cleartext منتقل میشوند با استفاده از یک secret key اشتراکی. hash از داده و secret key ساخته میشود. چون shred secret در ارتباط منتقل نمیشود امکان تغییر داده و hash وجود ندارد.
برای رمزگذاری متقارن میتوانیم بهسادگی از وبسایت www.aesencryption.net که در زیر نشان دادهشده است دیدن کنیم.
در این وبسایت در کادر اول پیام خود را بنویسید و در کادر دوم کلید رمزگذاری خود را بدهید. سپس روی دکمه رمز نگاری در سمت راست کلیک کنید.
اکنون وبسایت خود را مجدداً بارگیری میکند و متن رمزگذاری شده را در اختیار شما قرار میدهد. این متن را برای شخصی ارسال کنید.
شخص مذکور پس از دریافت پیام رمزنگاریشده شما میتواند برای رمزگشایی به این وبسایت مراجعه کند. بهسادگی باید متن رمزگذاری شده را کپی کرده و آن را در کادر اول قرار دهد و کلید را در کادر بعدی وارد کرده. سپس روی دکمه رمزگشایی در سمت راستمانند تصویر زیر کلیک کند.
پس از کلیک بر روی رمزگشایی سایت مجدداً بارگذاری میشود و متن اصلی را در اختیار شما قرار میدهد.
برای رمزنگاری نامتقارن، بهسادگی میتوانیم به سایت www.igolder.com/pgp/generate-key مراجعه کرد.
پس از باز کردن وبسایت، بر روی generate PGP keys کلیک کنید. یک کلید عمومی و خصوصی ایجاد خواهد شد.
حالا کلید عمومی را کپی کرده و روی گزینه PGP encrypt message کلیک کنید، به صفحه زیر هدایت می شوید.
public key را در کادر اول قرار دهید و پیام خود را در کادر دوم بنویسید. با کلیک بر روی Encrypt Message، پیام خود را رمزگذاری خواهید کرد.
اکنون این پیام رمزگذاری شده را به همراه secret key که در مرحله اول ایجاد کردهاید، به شخص موردنظر ارسال کنید. همین شخص میتواند به این سایت نیز مراجعه کرده و بر روی گزینه PGP decrypt message کلیک کند تا پیام رمزگشایی شود. پس از کلیک بر روی گزینه مذکور صفحه زیر باز میشود.
او میتواند کلید خصوصی و پیام رمز گذاری شده را کپی کرده و به ترتیب در کادر اول و دوم قرار دهد.
در نهایت بر روی پیام رمزگشایی کلیک کنید و پیام شما رمزگشایی خواهد شد.
این مقاله از منابع زیر ترجمه شده است:
امیدوارم از این مقاله رمزنگاری ما لذت برده باشید. در صورت علاقه به cryptography میتوانید در دورههای تست نفوذ آکادمی تکوان ۲۴ شرکت کنید.