رمزنگاری متقارن چیست؟

در مقاله “رمزنگاری چیست؟ ” به صورت مفصل در مورد رمزنگاری و نحوه کار آن صحبت شد.در این مقاله به بررسی رمزنگاری متقارن (symmetric cryptography) که یکی از انواع رمزنگاری است ،خواهیم پرداخت.

مقدمه ای بر رمزنگاری

رمزنگاری روشی برای توسعه تکنیک ها و پروتکل هایی برای جلوگیری از دسترسی شخص ثالث است.همچنین رمزنگاری برای  کسب دانش از داده های پیام های خصوصی در طی یک فرایند ارتباطی بکار می رود. رمزنگاری  یا Cryptography از دو اصطلاح یونان باستان ، Kryptos و Graphein تشکیل شده است . اصطلاح اول به معنی “پنهان” است و دومی به معنی “نوشتن” است.

تعریف اصطلاحات در رمزنگاری

قبل از بررسی رمزنگاری متقارن به تعریف چند اصطلاح می پردازیم:

  • رمزگذاری(Encryption) : رمزگذاری اساساً فرآیند تبدیل اطلاعات یا متن ساده (plaintext ) به کد یا سایفر(cipher) به منظور جلوگیری از دسترسی اشخاص غیر مجاز به آن است. دولت ها ، مشاغل و افراد از تکنیک های رمزگذاری برای محافظت از اطلاعات شخصی خود و جلوگیری از تقلب استفاده می کنند. مطالعات اخیر حاکی از آن است که تقریباً 50٪ اطلاعات و ارتباطات اینترنتی از طریق پروتکل HTTPS رمزگذاری شده است.
  • رمزگشایی (Decryption): رمزگشایی برعکس فرآیند رمزگذاری است. که شامل تبدیل داده های غیرقابل خواندن (متن رمز) به قابل خواندن (متن ساده) است.
  • سایفر (Cipher) : در رمزنگاری ، سایفر مجموعه ای از دستورالعمل های تعریف شده است که برای رمزگذاری یا رمزگشایی پیام نوشتاری از آنها پیروی می کنند. روند رمزگذاری شامل تبدیل اطلاعات به نسخه غیرقابل خواندن یا غیرقابل دسترسی است. متن اصلی را که می توان به وضوح درک کرد ، به عنوان متن ساده (plaintext ) می شناسند ، در حالی که شکل رمزگذاری شده آن را متن رمز(cipher)  می نامند. هر دو متن حاوی اطلاعات یکسانی هستند ، تنها تفاوت این است که سایفر در قالبی نوشته شده است که فقط توسط کسانی که مکانیسم رمزگشایی صحیح دارند قابل خواندن یا دسترسی است.
  • کلید (Key) : مقدار کمی اطلاعات که برای بدست آوردن خروجی الگوریتم رمزنگاری مورد نیاز است.
استفاده از یک کلید در رمزنگاری متقارن
استفاده از یک کلید در رمزنگاری متقارن


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

برای درک رمزنگاری در بلاکچین ، باید انواع رمزنگاری را درک کرد. به طور عمده سه روش مختلف برای رمزنگاری وجود دارد :

  1. رمزنگاری کلید متقارن (Symmetric-Key Cryptography) : در این روش رمزگذاری ، ما یک کلید واحد را به کار می بریم. این کلید مشترک هم برای رمزگذاری و هم برای فرآیند رمزگشایی استفاده می شود. استفاده از یک کلید مشترک ممکن است مشکلاتی را در امنیت انتقال کلید بین فرستنده و گیرنده ایجاد می کند.
  2. رمزنگاری کلید نامتقارن(Asymmetric-Key Cryptography) : در این روش رمزگذاری از یک جفت کلید ، یک کلید رمزگذاری و یک کلید رمزگشایی استفاده می شود. که به ترتیب کلید عمومی و کلید خصوصی نامگذاری می شوند. جفت کلید تولید شده توسط این الگوریتم شامل یک کلید خصوصی و یک کلید عمومی منحصر به فرد است که با استفاده از همان الگوریتم تولید می شود. به آن رمزنگاری کلید عمومی (Public-Key Cryptography) نیز گفته می شود.
  3. توابع Hash: در این نوع رمزگذاری از کلیدها استفاده نمی شود. از این رمزنگاری برای تولید یک مقدار هش با طول ثابت از متن ساده استفاده می کند. تقریباً غیرممکن است که محتوای متن ساده از متن رمز آن بازیابی شود.
بلاکچین ها از دو نوع الگوریتم رمزنگاری ، الگوریتم های کلید نامتقارن و توابع هش استفاده می کنند.

رمزنگاری متقارن (symmetric cryptography) چیست؟

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

رمزنگاری کلید متقارن هیچ نقش قابل توجهی در برنامه های مبتنی بر بلاکچین ندارد.

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

رمزگذاری متقارن چگونه کار می کند؟

رمزگذاری متقارن به یک کلید متکی است که بین دو یا چند کاربر مشترک است. از همین کلید برای رمزگذاری و رمزگشایی plaintext (که نمایانگر پیام یا داده ای است که رمزگذاری می شود) استفاده می شود. روند رمزگذاری شامل اجرای یک plaintext  به عنوان ورودی از طریق یک الگوریتم رمزنگاری است که به نوبه خود متن رمز (خروجی) تولید می کند.

بیشتر بخوانید : تتر چیست؟ (USDT )
Symmetric key cryptography
Symmetric key cryptography


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

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

رمزگذاری(Encryption)/رمزگشایی (Decryption)
رمزگذاری(Encryption)/رمزگشایی (Decryption)


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

دو نمونه از رایج ترین رمزگذاری های متقارن که امروزه مورد استفاده قرار می گیرد بر اساس Block ciphers و stream ciphers .

  • Block ciphers  : داده ها را به بلوک هایی با اندازه از پیش تعیین شده گروه بندی می کنند و هر بلوک با استفاده از کلید مربوطه و الگوریتم رمزنگاری رمزگذاری می شود.
  • stream ciphers  : داده های متن ساده را توسط بلوک ها رمزگذاری نمی کنند ، بلکه آنها  را هر بار با افزایش 1 بیتی رمزگذاری می کنند .

موارد استفاده در سیستم های رایانه ای مدرن

الگوریتم های رمزگذاری متقارن در بسیاری از سیستم های رایانه ای مدرن به منظور افزایش امنیت داده ها و حریم خصوصی کاربر استفاده می شوند. استاندارد رمزگذاری پیشرفته (AES) که به طور گسترده در برنامه های پیام رسان ایمن و ذخیره سازی ابر استفاده می شود ، یکی از نمونه های برجسته رمزنگاری است.

علاوه بر پیاده سازی نرم افزار ، AES می تواند مستقیماً در سخت افزار رایانه نیز پیاده سازی شود. طرح های رمزگذاری متقارن مبتنی بر سخت افزار معمولاً از AES 256 استفاده می کنند که نوع خاصی از استاندارد پیشرفته رمزگذاری است که اندازه کلید آن 256 بیت است.

شایان ذکر است که بلاکچین Bitcoin از رمزنگاری متقارن استفاده نمی کند. در عوض ، از نوع خاصی از الگوریتم امضای دیجیتال (DSA) معروف به الگوریتم امضای دیجیتال منحنی بیضوی (ECDSA) استفاده می کند که امضای دیجیتالی را بدون استفاده از رمزنگاری تولید می کند.

مزایای رمزنگاری متقارن

  • الگوریتم های متقارن سطح نسبتاً بالایی از امنیت را فراهم می کنند.
  • امکان رمزگذاری و رمزگشایی سریع پیام ها را فراهم می کنند.
  • نسبتا ساده هستند از این رو به قدرت محاسباتی کمتری نسبت به سیستم های نامتقارن نیاز دارند.
  • امنیت ارائه شده توسط رمزگذاری متقارن را می توان به سادگی با افزایش طول کلیدها افزایش داد. به ازای هر بیتی که به طول یک کلید متقارن اضافه می شود ، شکستن رمز به طور تصاعدی دشوارتر می شود.

معایب رمزنگاری متقارن

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

وجود کانال ناامن جهت تبادل کلید
وجود کانال ناامن جهت تبادل کلید


اگر کاربر غیرمجاز به یک کلید متقارن خاص دسترسی پیدا کند. امنیت هر داده رمزگذاری شده با استفاده از آن کلید به خطر می افتد. برای حل این مشکل ، بسیاری از پروتکل های وب از ترکیبی از رمزگذاری متقارن و نامتقارن برای ایجاد اتصالات ایمن استفاده می کنند. از برجسته ترین نمونه های چنین سیستم ترکیبی ، پروتکل رمزنگاری Transport Layer Security (TLS) است. که برای ایمن سازی بخش بزرگی از اینترنت مدرن استفاده می شود.

نتیجه مطالب

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

منبع: factcoins.com