در مقاله «رمزنگاری چیست؟» به صورت مفصل در مورد رمزنگاری و نحوه کار آن صحبت شد. در این مقاله از فکت کوینز به بررسی رمزنگاری متقارن (symmetric cryptography) که یکی از انواع تکنیکهای رمزنگاری است، خواهیم پرداخت.
مقدمهای بر رمزنگاری
رمزنگاری شامل توسعه تکنیکها و پروتکلهایی برای جلوگیری از دسترسی شخص سوم به اطلاعات است. رمزنگاری همچنین برای غیر قابل خوانش کردن پیامهای خصوصی در طی یک فرایند ارتباطی بکار میرود. رمزنگاری یا Cryptography از دو اصطلاح یونان باستان، Kryptos و Graphein تشکیل شده است. اصطلاح اول به معنی «پنهان» است و دومی به معنی «نوشتن» است.
تعریف اصطلاحات در رمزنگاری
قبل از بررسی رمزنگاری متقارن به تعریف چند اصطلاح میپردازیم:
- رمزگذاری (Encryption): رمزگذاری اساساً فرآیند تبدیل اطلاعات یا متن ساده (plaintext) به کد یا سایفر (cipher) به منظور جلوگیری از دسترسی اشخاص غیر مجاز به آن است. دولت ها، مشاغل و افراد از تکنیکهای رمزگذاری برای محافظت از اطلاعات شخصی خود و جلوگیری از تقلب استفاده میکنند. مطالعات اخیر حاکی از آن است که تقریباً 50 درصد اطلاعات و ارتباطات اینترنتی از طریق پروتکل HTTPS رمزگذاری شده است.
- رمزگشایی (Decryption): رمزگشایی برعکس فرآیند رمزگذاری است. که شامل تبدیل دادههای غیرقابل خوانش (متن رمز) به قابل خوانش (متن ساده) است.
- سایفر (Cipher): در رمزنگاری، سایفر مجموعهای از دستورالعملهای تعریفشده است که برای رمزگذاری یا رمزگشایی پیام نوشتاری از آنها پیروی میکنند. روند رمزگذاری شامل تبدیل اطلاعات به نسخه غیرقابل خوانش یا غیرقابل دسترس است. متن اصلی را به عنوان متن ساده (plaintext) میشناسند. در حالی که شکل رمزگذاری شده آن را سایفر (cipher) مینامند. هر دو متن حاوی اطلاعات یکسانی هستند، تنها تفاوت این است که سایفر در قالبی نوشته شده است که فقط توسط کسانی که کلیدرمزگشایی پیام را دارند قابل خواندن یا دسترسی است.
- کلید (Key): مقدار کمی اطلاعات که برای بدست آوردن خروجی الگوریتم رمزنگاری مورد نیاز است.
انواع رمزنگاری
برای درک رمزنگاری در بلاک چین باید انواع رمزنگاری را درک کرد. به طور عمده سه روش مختلف برای رمزنگاری وجود دارد :
- رمزنگاری کلید متقارن (Symmetric-Key Cryptography) : در این روش رمزگذاری، ما یک کلید واحد را به کار میبریم. این کلید مشترک هم برای رمزگذاری و هم برای فرآیند رمزگشایی استفاده میشود. استفاده از یک کلید مشترک ممکن است مشکلاتی را در امنیت انتقال کلید بین فرستنده و گیرنده ایجاد می کند.
- رمزنگاری کلید نامتقارن(Asymmetric-Key Cryptography) : در این روش رمزگذاری از یک جفت کلید، یک کلید رمزگذاری و یک کلید رمزگشایی استفاده می شود. که به ترتیب کلید عمومی و کلید خصوصی نامگذاری می شوند. جفت کلید تولید شده توسط این الگوریتم شامل یک کلید خصوصی و یک کلید عمومی منحصر به فرد است که با استفاده از همان الگوریتم تولید می شود. به آن رمزنگاری کلید عمومی (Public-Key Cryptography) نیز گفته می شود.
- توابع Hash: در این نوع رمزگذاری از کلیدها استفاده نمیشود. از این رمزنگاری برای تولید یک مقدار هش با طول ثابت از متن ساده استفاده میکند. تقریباً غیرممکن است که محتوای متن ساده از متن سایفر آن بازیابی شود.
بلاک چین ها از دو نوع الگوریتم رمزنگاری، الگوریتمهای کلید نامتقارن و توابع هش استفاده میکنند.
رمزنگاری متقارن (symmetric cryptography) چیست؟
رمزنگاری متقارن یک رمزنگاری مبتنی بر کلید است که الگوریتم های آن برای انجام رمزگذاری متن ساده و رمزگشایی متنرمز از همان کلید استفاده میکنند. این کلیدها از طریق یک کانال امن بین دو طرف به اشتراک گذاشته میشود. طرفینی که کلید مشترک را دارند میتوانند عملیات رمزگذاری و رمزگشایی را روی داده انجام دهند.
رمزنگاری کلید متقارن هیچ نقش قابل توجهی در برنامه های مبتنی بر بلاک چین ندارد.
از چنین روشی برای رمزگذاری اطلاعات در دهه های گذشته به طور گسترده ای برای تسهیل ارتباطات مخفی بین دولت ها و نظامیان استفاده شده است. امروزه، الگوریتمهای کلید متقارن به طور گستردهای در انواع مختلف سیستمهای رایانهای برای افزایش امنیت داده ها استفاده میشوند.
رمزگذاری متقارن چگونه کار میکند؟
رمزگذاری متقارن به یک کلید متکی است که بین دو یا چند کاربر مشترک است. از همین کلید برای رمزگذاری و رمزگشایی متن ساده یا plaintext ستفاده میشود. روند رمزگذاری شامل اجرای یک plaintext به عنوان ورودی از طریق یک الگوریتم رمزنگاری است که به نوبه خود متن رمز (خروجی) تولید میکند.
اگر الگوریتم رمزگذاری به اندازه کافی قوی باشد ، تنها راه برای خواندن یا دسترسی به اطلاعات موجود در متن رمزنگاری استفاده از کلید مربوطه برای رمزگشایی آن است. روند رمزگشایی اساساً تبدیل متن رمز به متن ساده است.
امنیت سیستم های رمزگذاری متقارن بالاست . برای مثال حدس زدن یک کلید 128 بیتی ، با استفاده از سخت افزار و رایانه ها میلیاردها سال به طول می انجامد. هرچه کلید رمزگذاری طولانی تر باشد ، شکستن آن دشوارتر می شود. کلیدهایی که طول آنها 256 بیت است به طور کلی بسیار امن شناخته شده و از نظر تئوری در برابر حملات کامپیوتر مقاوم هستند.
انواع رمزنگاری متقارن
دو نمونه از رایج ترین رمزگذاری های متقارن که امروزه مورد استفاده قرار می گیرد بر اساس Block ciphers و stream ciphers .
- Block ciphers: داده ها را به بلوک هایی با اندازه از پیش تعیین شده گروه بندی می کنند و هر بلوک با استفاده از کلید مربوطه و الگوریتم رمزنگاری رمزگذاری می شود.
- stream ciphers: داده های متن ساده را توسط بلوک ها رمزگذاری نمی کنند ، بلکه آنها را هر بار با افزایش 1 بیتی رمزگذاری می کنند .
موارد استفاده رمزنگاری متقارن در سیستم های رایانه ای مدرن
الگوریتم های رمزگذاری متقارن در بسیاری از سیستم های رایانه ای مدرن به منظور افزایش امنیت داده ها و حریم خصوصی کاربر استفاده می شوند. استاندارد رمزگذاری پیشرفته (AES) که به طور گسترده در برنامه های پیام رسان ایمن و ذخیره سازی ابر استفاده می شود ، یکی از نمونه های برجسته رمزنگاری است.
علاوه بر پیاده سازی نرم افزار ، AES می تواند مستقیماً در سخت افزار رایانه نیز پیاده سازی شود. طرح های رمزگذاری متقارن مبتنی بر سخت افزار معمولاً از AES 256 استفاده می کنند که نوع خاصی از استاندارد پیشرفته رمزگذاری است که اندازه کلید آن 256 بیت است.
شایان ذکر است که بلاک چین بیت کوین از رمزنگاری متقارن استفاده نمی کند. در عوض، از نوع خاصی از الگوریتم امضای دیجیتال (DSA) معروف به الگوریتم امضای دیجیتال منحنی بیضوی (ECDSA) استفاده می کند که امضای دیجیتالی را بدون استفاده از رمزنگاری تولید می کند.
مزایای رمزنگاری متقارن
- الگوریتم های متقارن سطح نسبتاً بالایی از امنیت را فراهم می کنند.
- امکان رمزگذاری و رمزگشایی سریع پیامها را فراهم می کنند.
- نسبتا ساده هستند از این رو به قدرت محاسباتی کمتری نسبت به سیستم های نامتقارن نیاز دارند.
- امنیت ارائه شده توسط رمزگذاری متقارن را می توان به سادگی با افزایش طول کلیدها افزایش داد. به ازای هر بیتی که به طول یک کلید متقارن اضافه می شود، شکستن رمز به طور تصاعدی دشوارتر می شود.
معایب رمزنگاری متقارن
در حالی که رمزگذاری متقارن طیف وسیعی از مزایا را ارائه می دهد، یک نقطه ضعف عمده در ارتباط با آن وجود دارد: مشکل ذاتی انتقال کلیدهای مورد استفاده برای رمزگذاری و رمزگشایی داده ها. هنگامی که این کلیدها از طریق اتصال ناامن به اشتراک گذاشته می شوند، در معرض حمله توسط اشخاص ثالث مخرب قرار دارند.
اگر کاربر غیرمجاز به یک کلید متقارن خاص دسترسی پیدا کند. امنیت هر داده رمزگذاری شده با استفاده از آن کلید به خطر می افتد. برای حل این مشکل ، بسیاری از پروتکل های وب از ترکیبی از رمزگذاری متقارن و نامتقارن برای ایجاد اتصالات ایمن استفاده می کنند. از برجسته ترین نمونه های چنین سیستم ترکیبی، پروتکل رمزنگاری Transport Layer Security (TLS) است. که برای ایمن سازی بخش بزرگی از اینترنت مدرن استفاده می شود.
نتیجه مطالب
جمع بندی
در این مقاله به بررسی رمزنگاری متقارن پرداخته شد. رمزنگاری متقارن یک رمزنگاری مبتنی بر کلید است که الگوریتمهای آن برای انجام رمزگذاری متن ساده و رمزگشایی متن رمز از همان کلید استفاده می کنند. این کلیدها از طریق یک کانال امن بین دو طرف به اشتراک گذاشته میشود و با این فرآیند امنیت بلاک چینها تامین تامین میشود.
رمزنگاری متقارن یک رمزنگاری مبتنی بر کلید (KEY) است که الگوریتم های آن برای انجام رمزگذاری متن ساده و رمزگشایی متن با استفاده از همان کلید استفاده میکند. این کلیدها از طریق یک کانال امن بین دو طرف به اشتراک گذاشته می شود.
رمزگذاری اساساً فرآیند تبدیل اطلاعات یا متن ساده (plaintext) به کد یا سایفر (cipher) به منظور جلوگیری از دسترسی اشخاص غیر مجاز به آن است.
خیلی عالی بود ممنون از به اشتراک گذاری مطلب خوبتان
سلام دوست عزیز، ممنون از همراهیتون
ممنون از تهیه محتوای خوبتون.