الگوریتم کلید متقارن
الگوریتم کلید متقارن، یک کلاس از الگوریتم ها، برای رمزنگاری است که با استفاده از کلیدهای رمزنگاری مشابه برای هر دو رمزگذاری متنی و رمزگشایی متن رمز استفاده میشود. کلیدها ممکن است مشابه باشند یا ممکن است رابطهای ساده بین دو کلید وجود داشته باشد. کلید، در عمل، نشان دهنده یک راز مشترک بین دو یا چند طرف است که میتواند برای حفظ اطلاعات خصوصی مورد استفاده قرار گیرد. این نیاز که هر دو طرف، دسترسی به کلیدهای مخفی داشته باشند یکی از اشکالات اصلی رمزنگاری کلید متقارن، در مقایسه با رمزنگاری کلید عمومی است.
انواع الگوریتم کلید متقارنویرایش
در رمزنگاری کلید متقارن میتوانید از رمز جریانی یا رمز قالبی استفاده کنید. در رمزگذاری رمزهای جریانی، رقمی (معمولاً بیت) از یک پیام را در یک زمان رمز میکنند. در رمزگذاری رمزهای قالبی (بلوکی)، تعدادی بیت را در قالب یک واحد رمزگذاری میکنند. الگوریتم تأیید شده توسط NIST در دسامبر سال ۲۰۰۱ به وسیله استاندارد رمزگذاری پیشرفته (AES) با استفاده از بلوکهای ۱۲۸ بیتی، تأیید شد. همچنین الگوریتمهای رمزجریانی سرعت بهتری نسبت به الگوریتمهای رمز قالبی دارند. چون رمزهای جریانی دارای پیچیدگی درالگوریتم نیستند.
پیادهسازیویرایش
نمونههایی از الگوریتمهای متقارن محبوب و شناخته شده عبارتند از Twofish، Serpent ، AES ، Blowfish، CAST5، RC4، DES، و IDEA
شکلهای هندسی اولیه رمزنگاری بر اساس رمزهای متقارن اغلب برای رسیدن به شکلهای هندسی اولیه رمزنگاری و نه فقط رمزگذاری استفاده میشوند. رمزگذاری یک پیام تضمین نمیکند که این پیام رمزگذاری شده در طول مسیرانتقال، تغییر نیافتهاست. ازاین رو اغلب یک کد تأیید هویت پیام به متن رمزنگاری اضافه میشود تا اطمینان حاصل شود که متن اصلی، کاملاً توسط گیرنده ذکر شدهاست. کد تأیید هویت پیام را میتوان با کمک رمزهای متقارن ساخت. با این حال، رمزهای متقارن نیز میتواند برای مقاصد غیرانکار نیز استفاده شود.استاندارد ISO 13،888-2 را ببینید. برای ساخت توابع هش نیز از رمزهای بلوک استفاده میشود.
ساختار رمزهای متقارنویرایش
ساختار بسیاری از رمزنگاریهای بلوک مدرن توسط Horst Feistel ارائه شدهاست. ساختار هورست امکان ساخت توابع معکوس از روی دیگر توابع که خودشان معکوس نیستند را میدهد.
امنیت رمزنگاری متقارنویرایش
رمزنگاری متقارن در طول تاریخ در معرض ابتلا به حملات شناخته شده ساده متن بودهاست . ساختار دقیق توابع برای هر مرحله تا حد زیادی میتواند احتمال یک حمله موفق را کاهش دهد.
نسلهای کلیدویرایش
هنگامی که از رمزنگاری نامتقارن برای انتقال کلید استفاده میشود، مولدهای شبه تصادفی کلید تقریباً همیشه برای تولید کلید رمزنگاری متقارن استفاده میشود. با این حال، عدم تصادفی بودن مولدها یا بردار دهی اولیه خود، فاجعهآمیز است و در گذشته به شکست در رمزنگاری انجامید. بنابراین، یک پیادهسازی با استفاده از یک منبع انحطاط تدریجی و محتوم بالا، برای مقدار دهی اولیه آن ضروری است
رمزنگاری دوجانبهویرایش
رمزنگاری دوجانبه (به انگلیسی: Reciprocal cipher) اشاره به حالتی دارد که از یک الگوریتم یکسان، هم برای رمزنگاری و هم برای رمزگشایی استفاده کرد. الگوریتمهایی مثل روت۱۳ بدین صورت هستند، متنی که توسط روت۱۳ رمزنگاری شده را میتوان مجدداً توسط همین الگوریتم رمزگشایی کرد.
منابعویرایش
- مشارکتکنندگان ویکیپدیا. «Symmetric-key algorithm». در دانشنامهٔ ویکیپدیای انگلیسی، بازبینیشده در ۱۷ نوامبر ۲۰۰۸.