الگوریتمهای به کار رفته در کاربردهای رمزنگاری بسته به نوع الگوریتم و طول کلید دارای قدرتهای امنیتی متفاوت هستند. دو الگوریتم دارای قدرت امنیتی برابر هستند اگر میزان عملیات مورد نیاز برای شکستن الگوریتمها یا میزان عملیات مورد نیاز برای به دست آوردن کلید برای آنها برابر باشد. قدرت امنیتی الگوریتمها به طور معمول بر حسب میزان عملیات مورد نیاز برای شکستن یک الگوریتم رمز متقارن که بهترین حمله برای آن حمله جستجوی کامل فضای کلید است، بیان میشود. به عنوان مثال هنگامی که گفته میشود قدرت امنیتی یک الگوریتم (رمز متقارن، رمز نامتقارن، امضای دیجیتال، MAC، تابع چکیده ساز، پروتکل امنیتی، مولد عدد تصادفی یا …) n بیت است، به این معناست که عملیات مورد نیاز برای شکستن الگوریتم معادل است با عملیات مورد نیاز برای شکستن یک الگوریتم رمز متقارن با کلید n بیتی که بهترین حمله به آن، حمله جستجوی کامل فضای کلید است.
مقادیری که در ادامه برای قدرت امنیتی الگوریتمهای مختلف بیان میشود، با توجه به پیشرفتهای کنونی، مشخص شدهاند. طبیعی است که اگر به عنوان نمونه در روش فاکتورگیری اعداد بزرگ پیشرفتهای چشمگیری به دست آیند، مقادیری که برای قدرت امنیتی رمز و امضای دیجیتال RSA ذکر شدهاند، به نسبت پیشرفت حاصل شده، کاهش مییابند. جدول 1 قدرت امنیتی الگوریتمهای رمز متقارن استاندارد Rijndael) AES با طول قالب 128 بیت) با کلیدهای 128، 192 و 256 بیت، TDES) 2TDEA دو کلیدی) و TDES) 3TDEA سه کلیدی) و الگوریتمهای رمز نامتقارن RSA و الجمال (و دیگر الگوریتمهای مبتنی بر لگاریتم گسسته در میدان محدود نظیر DSA و دیفی-هلمن) را بیان میدارد. الگوریتمهای رمز متقارن مذکور در جدول 1 استاندارد بوده و فعلاً استفاده از الگوریتمهای متقارن دیگر مرسوم نیست.
جدول 1. قدرت امنیت الگوریتمهای رمز متقارن و نامتقارن
RSA |
الجمال (DSA، دیفی-هلمن و …) |
الگوریتمهای رمز متقارن |
قدرت امنیتی بر حسب بیت |
پیمانه 1024 بیتی |
پیمانه 1024 بیتی |
2TDEA |
80 |
پیمانه 2048 بیتی |
پیمانه 2048 بیتی |
3TDEA |
112 |
پیمانه 3072 بیتی |
پیمانه 3072 بیتی |
AES-128 |
128 |
پیمانه 7680 بیتی |
پیمانه 7680 بیتی |
AES-192 |
192 |
پیمانه 15360 بیتی |
پیمانه 15360 بیتی |
AES-256 |
256 |
برای توابع چکیدهساز قدرت امنیتی چکیدهساز با توجه به کاربردی که چکیدهساز را به کار میبرد، تعیین میگردد. بنابراین بسته به قدرت امنیتی مورد نیاز کاربرد، باید تابع چکیدهساز با قدرت امنیتی مناسب استفاده شود. برای مثال در امضای دیجیتال با توجه به قدرت امنیتی مورد نیاز کاربرد باید اندازه پیمانه و تابع چکیدهساز متناسب به کار گرفته شود. اگر برای امنیت 112 بیتی از امضای دیجیتال RSA با پیمانه 2048 بیتی استفاده شود، ولی چکیدهساز به کار گرفته شده در امضا دارای امنیت 80 بیت باشد، امنیت امضا نیز بیشتر از 80 بیت نخواهد بود. جدول 2 قدرت امنیت خانواده توابع چکیدهساز SHA را در کاربردهای مختلف نشان میدهد. توابع چکیدهساز مذکور در جدول 2 استاندارد بوده و فعلاً استفاده از توابع چکیدهساز دیگر مرسوم نیست.
جدول 2. قدرت امنیت توابع چکیدهساز در کاربردهای مختلف
الگوریتم |
تابع استخراج کلید و مولد عدد تصادفی | HMAC | امضای دیجیتال و تابع چکیده ساز |
SHA-1 |
160 | 160 | 80 |
SHA-224 |
224 | 224 | 112 |
SHA-256 |
256 | 256 | 128 |
SHA-384 |
384 | 384 | 192 |
SHA-512 |
512 | 512 | 256 |
به عنوان جمعبندی امنیت تابع چکیدهساز هنگامی که در امضای دیجیتال به کار رود یا خود به صورت مجزا استفاده شود، در حالت ایده آل نصف طول خروجی است. امنیت تابع چکیدهساز هنگامی که در HMAC، مولد عدد تصادفی یا تابع استخراج کلید به کار رود، در حالت ایدهآل برابر طول خروجی آن میباشد. به عنوان نمونه به منظور داشتن امضای دیجیتال RSA با امنیت 1122 بیتی طول پیمانه RSA حداقل باید 2048 بیتی و چکیدهساز مورد استفاده در آن نیز باید دارای امنیت حداقل 112 بیت باشد. برای مثال SHA-224 برای این کاربرد مناسب است، ولی SHA-1 برای امضای دیجیتال با امنیت 1122 بیت دارای امنیت کافی نیست.