صفحه اول > مقالات

 

 

شکستن کليدهاي رمزنگاري

 چه طول کليدي در رمزنگاري مناسب است؟

امنيت هر الگوريتم مستقيماً به پيچيده بودن اصولي مربوط است که الگوريتم بر اساس آن بنا شده است.

امنيت رمزنگاري بر اساس پنهان ماندن کليد است نه الگوريتم مورد استفاده. در حقيقت، با فرض اينکه که الگوريتم از قدرت کافي برخوردار است (يعني که ضعف شناخته‌شده‌اي که بتوان براي نفوذ به الگوريتم استفاده کرد، وجود نداشته باشد) تنها روش درک متن اصلي براي يک استراق سمع کننده، کشف کليد است.

در بيشتر انواع حمله، حمله‌کننده تمام کليدهاي ممکن را توليد و روي متن رمزشده اعمال مي‌کند تا در نهايت يکي از آنها نتيجه درستي دهد. تمام الگوريتمهاي رمزنگاري در برابر اين نوع حمله آسيب‌پذير هستند، اما با استفاده از کليدهاي طولاني‌تر، مي‌توان کار را براي حمله‌کننده مشکل‌تر کرد. هزينه امتحان کردن تمام کليدهاي ممکن با تعداد بيتهاي استفاده شده در کليد بصورت نمايي اضافه مي‌شود، و اين در حاليست که انجام عمليات رمزنگاري و رمزگشايي بسيار کمتر افزايش مي‌يابد.

الگوريتمهاي متقارن

DES که يک الگوريتم کليد متقارن است معمولا از کليدهاي ۶۴ بيتي براي رمزنگاري و رمزگشايي استفاده مي‌کند. الگوريتم متن اوليه را به بلوکهاي ۶۴ بيتي مي‌شکند و آنها را يکي‌يکي رمز مي‌کند.

3DES الگوريتم پيشرفته‌تر است و در آن الگوريتم DES سه بار اعمال مي‌شود (در مقاله رمزنگاري به آن اشاره شده است). نسخه ديگري از اين الگوريتم (پايدار‌تر از قبليها) از کليدهاي ۵۶بيتي و با فضاي کليد موثر ۱۶۸بيت استفاده مي‌کند و سه بار عمليات رمزنگاري را انجام مي‌دهد.

جدول زير زمان لازم براي يافتن کليد در الگوريتم DES‌ را نشان ميدهد.

طول کليد

تعداد کليدهاي ممکن

زمان مورد نياز براي ۱

رمزگشايي در هر ميلي‌ثانيه

زمان مورد نياز براي ۱،۰۰۰،۰۰۰ رمزگشايي در هر ميلي‌ثانيه

۳۲  بيت

۱۰۹×۴/۳ =۲۳۲

۳۵/۸ دقيقه = ۲۳۱ميلي‌ثانيه

۲/۱۵ ميلي‌ثانيه

۵۶  بيت

۱۰۱۶×۷/۲ =۲۵۶

۱۱۴۲ سال = ۲۵۵ميلي‌ثانيه

۱۰ ساعت

۱۲۸ بيت

۱۰۳۸×۳/۴ =۲۱۲۸

۱۰۲۴×۵/۴ سال = ۲۱۲۷ميلي‌ثانيه

۱۰۱۸×۵/۴ سال

۱۶۸ بيت

۱۰۵۰×۳/۷ =۲۱۶۸

۱۰۳۶×۵/۹ سال = ۲۱۶۷ميلي‌ثانيه

۱۰۳۰×۵/۹ سال

ستون سوم مربوط به کامپيوترهايي است که مي‌توانند در هر ميلي‌ثانيه يک رمزگشايي را انجام دهند که براي کامپيوترهاي امروزي توان محاسباتي معقولي محسوب مي‌شود. ستون آخر براي سيستمهاي بسيار بزرگ محاسباتي است بطوريکه قدرت پردازش يک ميليون برابر زياد شده باشد.

بدون در نظر گرفتن طول کليد، الگوريتمهاي متقارن قوي نيز نمي‌توانند امنيت الگوريتمهاي نامتقارن را داشته باشند، زيرا کليد بايد بين دو طرف ارتباط مبادله شود.

 

الگوريتمهاي نامتقارن

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

براي مثال، طبق گزارشي از سايت RSA، تخمين زده مي شود که يک کليد ۲۱۵  بيتي مي تواند با هزينه اي کمتر از ۱ ميليون دلار و يک تلاش ۸ ماهه شکسته شود. RSA توصيه ميکند که کليدهاي ۲۱۵  بيتي در حال حاضر امنيت کافي ايجاد نمي کنند و بايد بنفع کليدهاي ۸۶۷ بيتي براي استفاده هاي شخصي کنار بروند! به همين ترتيب براي استفاده شرکتها کليدهاي ۱۰۲۴ بيتي و از ۲۰۴۸ بيت براي کليدهاي فوق العاده ارزشمند استفاده شود. البته پيش بيني شده است که اين مقادير تا حداقل سال ۲۰۰۴ معتبر خواهد بود. با پيشرفتهاي موجود احتمالا در اين زمان نياز به افزودن بر طول کليد ها خواهد بود.

جدول زير نشاندهنده افراد يا گروههايي است که توانايي شکستن کليدها با طولهاي متفاوت را دارند.

طول کليد

نفوذگران بالقوه

۲۵۶ بيتي

افراد عادي

۳۸۴ بيتي

گروههاي تحقيق دانشگاهي و شرکتها

۵۱۲ بيتي

گروههاي دولتي با تمام امکانات

۷۶۸ بيتي

امن براي کوتاه مدت

۱۰۲۴ بيتي

امن تا آينده نزديک

۲۰۴۸

امن احتمالا تا چند ده سال!