رمزگذاری کلید متقارن در مقابل رمزگذاری کلید عمومی
کریپتوگرافی مطالعه پنهان کردن اطلاعات است و هنگام برقراری ارتباط از طریق یک رسانه غیرقابل اعتماد مانند اینترنت استفاده می شود، جایی که اطلاعات باید از سایر اشخاص ثالث محافظت شود. رمزنگاری مدرن بر توسعه الگوریتمهای رمزنگاری تمرکز دارد که میتوانند دادهها را به گونهای رمزگذاری کنند که به دلیل سختی محاسباتی، شکستن آن توسط حریف دشوار باشد (بنابراین نمیتوان با ابزارهای عملی شکسته شد). رمزگذاری از الگوریتمی به نام رمز برای رمزگذاری داده ها استفاده می کند و تنها با استفاده از یک کلید خاص می توان آن را رمزگشایی کرد. اطلاعات رمزگذاری شده به عنوان متن رمزی شناخته می شود و فرآیند به دست آوردن اطلاعات اصلی (متن ساده) از متن رمز شده به عنوان رمزگشایی شناخته می شود.دو روش رمزگذاری پرکاربرد رمزگذاری کلید متقارن و رمزگذاری کلید عمومی است. رمزنگاری کلید متقارن شامل روشهای رمزگذاری میشود، که در آن فرستنده و گیرنده کلید یکسانی را به اشتراک میگذارند که برای رمزگذاری دادهها استفاده میشود. در رمزنگاری کلید عمومی، از دو کلید متفاوت اما از نظر ریاضی مرتبط استفاده میشود.
رمزگذاری کلید متقارن چیست؟
در رمزگذاری کلید متقارن (همچنین به عنوان کلید مخفی، کلید تک، کلید مشترک، یک کلید یا رمزگذاری کلید خصوصی نیز شناخته می شود)، هر دو فرستنده و گیرنده از یک کلید مشترک برای رمزگذاری و رمزگشایی داده ها استفاده می کنند. در واقع، این دو کلید ممکن است یکسان یا به طور بی اهمیت مرتبط باشند (یعنی یک تبدیل بسیار ساده برای رفتن بین این دو مورد نیاز است). در استفاده واقعی، یک راز توسط دو یا چند طرف به اشتراک گذاشته می شود که می تواند برای حفظ یک پیوند خصوصی برای ارتباط استفاده شود. AES (Advanced Encryption Standard) یک الگوریتم بسیار محبوب است که به خانواده الگوریتم های رمزگذاری کلید متقارن تعلق دارد.
رمزگذاری کلید عمومی چیست؟
در رمزگذاری کلید عمومی، از دو کلید متفاوت اما از نظر ریاضی مرتبط استفاده می شود. رمزگذاری کلید عمومی داده ها را با استفاده از کلید عمومی گیرنده رمزگذاری می کند و بدون استفاده از کلید خصوصی منطبق نمی توان آن را رمزگشایی کرد. به عبارت دیگر، شما به یک کلید برای قفل کردن (رمزگذاری متن ساده) و کلید دیگری برای باز کردن قفل (رمزگشایی متن رمزی) نیاز دارید. نکته مهم این است که نمی توان از یک کلید به جای کلید دیگر استفاده کرد. بسته به اینکه کدام کلید منتشر شده است، رمزگذاری کلید عمومی می تواند برای دو منظور استفاده شود. اگر کلید قفل عمومی شود، هر کسی می تواند از این سیستم برای ارسال ارتباط خصوصی به دارنده کلید باز کردن قفل استفاده کند. اگر برعکس باشد، سیستم امکان تأیید اسناد قفل شده توسط مالک را فراهم می کند. رمزگذاری کلید عمومی یک الگوریتم کلید نامتقارن است. اما فقط برخی از الگوریتمهای کلید نامتقارن دارای ویژگی خاصی هستند که نمیتوانند یک کلید را با آگاهی از کلید دیگر آشکار کنند. بنابراین، الگوریتم های کلید نامتقارن با این ویژگی خاص، الگوریتم های رمزگذاری کلید عمومی نامیده می شوند.
تفاوت بین رمزگذاری کلید متقارن و رمزگذاری کلید عمومی چیست؟
تفاوت اصلی بین رمزگذاری کلید متقارن و رمزگذاری کلید عمومی در این واقعیت است که رمزگذاری کلید متقارن از یک کلید (خصوصی، مخفی) برای رمزگذاری/رمزگشایی استفاده می کند، در حالی که رمزگذاری کلید عمومی از هر دو کلید عمومی و خصوصی استفاده می کند. هر دو طرف باید کلید را در رمزگذاری کلید متقارن بدانند، در حالی که چنین الزامی برای رمزگذاری کلید عمومی وجود ندارد. فقط یکی از کلیدها توسط دو طرف در رمزگذاری کلید عمومی شناخته شده است. از آنجا که این نیاز به اشتراک گذاری کلید خصوصی شما (مانند رمزگذاری کلید متقارن) و خطر به خطر افتادن آن را از بین می برد، رمزگذاری کلید عمومی را می توان از این نظر امن تر در نظر گرفت.
اما یک عیب عمده رمزگذاری کلید عمومی این است که چندین برابر کندتر از رمزگذاری کلید متقارن است. بنابراین، رمزگذاری کلید متقارن ممکن است برای رمزگذاری مقادیر زیادی داده بهتر باشد. علاوه بر این، الگوریتم های رمزگذاری کلید عمومی باید از یک کلید نسبتا قوی تر از رمزگذاری کلید متقارن برای دستیابی به همان قدرت استفاده کنند (به این دلیل ساده که یک کلید در رمزنگاری کلید عمومی عمومی می شود).