رمزنگاری از روزگاران گذشته همیشه برای محرمانه سازی و حفظ امنیت پیامها به کار میرفته و حالا در عصر دیجیتال شکل دیگری به خود گرفته است. بااینوجود هنوز هم میتوان تشابههایی میان روش سنتی و روش فعلی بهکاررفته در رمز ارزها پیدا کرد.
رمزنگاری چیست؟
اصطلاح رمزنگاری (Cryptography) از دو کلمه یونانی Crypto و Graphy ساختهشده است. در زبان یونانی، واژه Crypto به معنی مخفی و پنهان است و واژه Graphy به معنای نوشته است. اصطلاح Crypto با معرفی رمز ارزهایی مانند بیت کوین، اتریوم و لایت کوین محبوبیت بیشتری پیداکرده است.
به روند تغییر پیامها بهگونهای که معنای آنها از دید یک دشمن یا یک حریف پنهان بماند رمزنگاری میگویند. رمزنگاری دانش پنهان کردن متون و نوشتهها است. این دانش با بهرهگیری از روشها و تکنیکهای بیشماری از اطلاعات محافظت کرده و آنها را در قالب یا فرمت غیر خوانا درمیآورد. تنها افراد مشخص و تعیینشده آن متن رمزنگاریشده، میتوانند این قالب ناخوانا را به قالبی قابلخواندن تبدیل کنند.
تکنیکهای رمزنگاری در بسیاری از حوزهها پذیرفتهشده و استفاده میشود برای مثال در تراکنشهای الکترونیکی ایمن، برای ایمنسازی ارسال و دریافت پیامهای ایمیلی، جزئیات مربوط به کارتهای اعتباری، پخشهای صوتی و تصویری و غیره…. با استفاده از سیستمهای رمزنگاری ، فرستنده میتواند ابتدا یک پیام را رمزگذاری کرده و سپس آن را از طریق همین شبکه ارسال کند. از طرف دیگر گیرنده میتواند پیام را رمزگشایی کرده و محتوای اصلی آن را بازیابی کند.
اجزای تشکیلدهنده رمزنگاری
متن ساده: متن ساده میتواند یک متن، یک کد باینری یا تصویری باشد که باید به قالبی تبدیل شود که برای هیچکس بهجز افرادی که به کلید آن دسترسی دارند، قابلخواندن نباشد. در واقع متن ساده به پیام اصلی رمزگذاری نشده یا کدگذاری نشدهای اطلاق میشود که فرستنده مایل به ارسال آن است.
متن رمز یا (Ciphertext): در طی فرایند رمزگذاری، متن ساده به یک قالب رمزی و کد دار تبدیل میشود. در واقع متن اصلی درون این کدها پنهان است. متن اصلی درون یک متن رمز را تنها زمانی میتوان بازیابی کرد که معنای دقیق هر رمز را بدانیم یا توانایی شکستن این کدها و رمزها را داشته باشیم.
رمزگذاری(Encryption): رمزگذاری، در واقع روند تبدیل اطلاعات، به قالبی غیر خوانا و قابلبرگشت است. در این فرآیند متن ساده رمزگذاری میشود. بنابراین رمزگذاری میتواند متن رمز ایجاد کند. برای عملیاتی کردن رمزگذاری، به الگوریتمی به نام رمزنگار (Cipher) و کلید مخفی (Secret key) نیاز است. بدون داشتن کلید مخفی، هیچکس نمیتواند به اطلاعات حیاتی درون پیام رمزگذاری شده دسترسی پیدا کند. به طور ساده و خلاصه میتوان گفت که متن ساده با استفاده از الگوریتم رمزنگاری سایفر (Encryption Cipher) به متن رمز تبدیل میشود.
رمزگشایی(Decryption): این فرآیند عکس رمزگذاری است. در رمزگشایی، متن رمز با استفاده از یک الگوریتم رمزگشا و یک کلید مخفی، به متن ساده تبدیل میشود. در رمزگذاری متقارن ، کلیدی که برای رمزگشایی استفاده میشود همان کلیدی است که برای رمزگذاری استفادهشده است. از طرف دیگر ، در رمزگذاری نامتقارن یا رمزگذاری کلید عمومی، کلید مورد استفاده برای رمزگشایی با کلید مورد استفاده برای رمزگذاری متفاوت است.
رمزنگار یا سایفر (Ciphers): به الگوریتمهای رمزگذاری و رمزگشایی بهطورکلی، رمزنگار یا سایفر میگویند. شاید پیچیدهترین و جالبترین قسمت در فرآیند رمزگذاری الگوریتم یا سایفر آن باشد. الگوریتم یا رمزنگار چیزی بیش از یک فرمول نیست و شامل مراحل مختلفی است که نشان میدهد چگونه فرایند رمزگذاری / رمزگشایی بر روی یک اطلاعات اجراشده است. یک رمزنگار یا یک سایفر اولیه بیت میگیرد و بیت برمیگرداند. مهم نیست که این بیتها شامل چه جنس از اطلاعات هستند. این اطلاعات ممکن است متنی یا یک تصویر یا یک فیلم باشند.
کلید(Key): کلید معمولاً یک عدد یا مجموعهای از اعداد است. الگوریتمهای رمزگذاری و رمزگشایی برای رمزگذاری یا رمزگشایی پیامها به این کلید نیاز دارند. فرستنده از الگوریتم رمزگذاری و کلید مخفی، برای تبدیل متن ساده به متن رمز استفاده میکند. از طرف دیگر، گیرنده باید از الگوریتم رمزگشایی مشابه و کلید مخفی برای تبدیل متن رمز به متن ساده استفاده کند. هرچه کلید مخفی طولانیتر باشد، رمزگشایی پیام برای یک مهاجم دشوارتر میشود.
سخن پایانی
دانش رمزنگاری در گذر زمان دستخوش تغییرات بسیاری شده است. دانشمندان این حوزه تمامی تلاششان ر به کار بردهاند تا از طرفی امکانات رمزنگاری را برای همه در دسترس قرار داده و از طرفی دیگر امکان رمزگشایی چنین اطلاعاتی را تنها برای گیرنده فراهم کنند. در واقع چیزی که در رمزنگاریهای سنتی ممکن نبوده است حالا به کمک ریاضیات پیچیده و پیشرفت تکنولوژی در زندگی هرروزه ما جریان دارد.