*_Mohammad_*
2008/06/27, 15:34
تكنيكهاي رمزگذاری
رمزگذاري شيوهاي است كه در آن متن اصلي پيام با استفاده از يك سري عمليات رياضي معكوسپذير به يك منتم بيمعنا تغيير مييابد. به عبارت ديگر رمزگذاري به طور سيستماتيك ترتيب عناصر يك پيغام را تغيير ميدهد تا براي همه به جز گيرنده قابل فهم باشد. به طور كلي در عمل رمزگذاري دو جزء مهم وجود دارد كه عبارتند از : كليد رمز و الگوريتم رمزگذاري كه تعريف آنها به قرار زير است:
كليد رمز:
كليدي است كه بتوان با استفاده از آن قفل دسترسي به متن اصلي را باز كرد.
الگوريتم رمزگذاري:
فرآيندي چندمرحلهاي است كه كاربر با استفاده از آن متن اصلي را به رمز تبديل ميكند و يا اين كه متن رمزگذاري شده را به متن اصلي برگرداند.
سه نوع روش رمزگذاري كه بر مبناي نحوه استفاده از كليد رمز با يكديگر تفاوت دارد، وجود دارد كه عبارتند از:
روش رمزگذاري متقارن يا با كليد خصوص
روش رمزگذاري نامتقارن با كليد عمومي
روش رمزگذاري يكطرفه
كه هركدام از اين روشها در ادامه توضيح داده خواهدشد.
روش رمزگذاري متقارن يا با كليد خصوص
روش رمزگذاري متقارن روشي است كه در آن تنها يك كلمه رمز يا كليد ورود به متن اصلي مورد استفاده قرار ميگيرد. در اين روش هر يك از طرفين ارتباط، بايستي يك كليد رمز خصوصي يكسان همانند داشته باشند. در حقيقت متن اصلي با اين كليد خصوصي رمزگذاري شده و براي ورود به متن اصلي و تبديل آن از حالت رمز (بيمعنا) به حالت اصلي (معنادار) نيز بايد از همان كليد خصوصي استفاده نمود. علت نامگذاري اين روش به نامتقارن اين است كه در هر طرف معامله يك كليد يكسان مورد استفاده قرار گرفته و رمزگذاري حالت متقارن دارد. اين روش رمزگذاري هزاران سال است كه در ارتباطات بين انسانها مورد استفاده قرار ميگرفته است. مثال مناسب آن استفاده از كلمه عبور در تمدنهاي تاريخي براي ورود به حريمهاي ممنوعه است كه تنها يك كليد (كلمه عبور) بين دو طرف وجود داشته است. ايراد اين روش اين است كه كليد خصوص بايد قبل رمزگذاري پيامها، از يك كانال ارتباطي ايمن بين طرفين مبادله شود. اما حسن اين روش سرعت بالاي آن است. الگوريتم معروف مورد استفاده در اين روش به نام DES يا رمزگذاري استاندارد اطلاعات ناميده ميشود كه در بخش الگوريتمهاي رمزگذاري در مورد آن توضيح داد ميشود.
روش رمزگذاري نامتقارن با كليد عمومي
در اين روش دو طرف داراي دو كليد رمز هستند. يكي رمز عمومي و كليد رمز خصوصي. استفاده از اين روش نسبت به روش متقارن سادهتر بوده، ولي سرعت آن كمتر است. در اين تكنيك كليد عمومي به راحتي از طريق كانالهاي عمومي انتقال اطلاعات انتقال مييابد و كليد خصوصي به صورت محرمانه نزد دو طرف نگهداري ميشود.
كار در اين روش به اين صورت است كه يك كليد (عمومي) مورد استفاده قرار ميگيرد تا پيام به صورت رمز درآيد و كليد ديگر (خصوصي) براي رمزگشايي آن استفاده ميگردد. اگر چه اين كليدهاي عمومي و خصوصي از لحاظ رياضي به هم مربوط ميباشند، ولي از نظر محاسباتي عملي نيست كه از يك كليد، كليد رمز ديگر استخراج گردد. اين روش داراي امنيت بالايي بوده و در هنگامي كه حداكثر امنيت مورد نياز باشد، استفاده ميشود. از آنجايي كه كليد عمومي در دسترس همگان قرار دارد، براي حفظ امنيت بايستي كليد خصوصي در فواصل كوتاه زماني عوض گردد. علت نامگذاري اين روش به نام نامتقارن نيز اين است كه در رمزگذاري حالت نامتقارن دارد. الگوريتم معروف مورد استفاده در اين روش به نام RSA شناخته ميشود كه در بخش الگوريتمهاي رمزگذاري در مورد آن توضيح داده ميشود.
روش رمزگذاري يكطرفه
در اين روش همانطور كه از نام آن پيداست، رمزگشايي در طرف ديگر انجام نميگيرد و امكان آن وجود ندارد و تحليل الگوريتم رمزگذاري و دستيابي به اصل پيام رمز شده تنها در يك طرف امكانپذير است. اين روش مورد استفاده گسترده نيست و اولينبار براي ذخيرهكردن اطلاعات نظير كلمه عبور (Password) در سيستمهاي NT و UNIX و يا اطلاعات شخصي در كارتهاي اعتباري ATM به كار برده شد. يكي ديگر از مثالهاي استفاده از اين روش در تعريف امضاي ديجيتالي است كه در بخش بعدي در مورد آن توضيح داده خواهد شد.
مقاومت روش رمزگذاري
مقاومت روشهاي رمزگذاري يا قدرت آن در مقابل مهاجمان كه قصد رمزگشايي پيامها را دارند به سه عامل زير بستگي دارد:
استحكام الگوريتم رمزگذاري
استحكام الگوريتم مشخصكننده اين است كه برگردان اطلاعات و پيامهاي رمزشده به حالت اصلي از نظر رياضي تا چه حد پيچيده و مشكل است. هر چقدر الگوريتم از اين نظر قويتر و مستحكمتر باشند، رمزگشايي پيامها و اطلاعات رمزگذاري شده مشكلتر ميشود.
مخفيبودن كليد
هر چقدر كليد رمز مورد استفاده محرمانهتر و سريتر باقي بماند، رمزگشايي مشكلتر ميشود. به عبارت ديگر هر الگوريتمي هر چقدر هم كه قوي باشد، نميتواند خطر لورفتن كليد رمز را منتفي كند. بنابراين چگونگي نگهداري و حفاظت از كليد رمز يكي از عوامل مقاومت روش رمزگذاري در مقابل خطرات است.
طول كليد
در روشهاي مختلف رمزگذاري كه از كليد رمز استفاده ميشود، طول كليد با بيتهاي تشكيلدهنده مشخص ميگردند. به ازاي اضافهشدن هر بين به طول كليد، تعداد حالتهاي مختلف كليد دو برابر ميشود.
كليد رمز و طول آن
كليد رمز يك مقدار عددي است كه معمولاً به شكل مبناي شانزدهتايي درآمده است. كاراكترهاي مورد استفاده براي شاخت يك كليد معمولي به صورت دوتايي يا چهارتايي دستهبندي ميشوند كه شامل اعداد 0 تا 9 و حروف A تا F هستند. يك كليد ممكن است داراي ظاهري شبيه اين باشد: B6AF 5CE5 تعداد تركيبهاي احتمالي بيتهاي سازنده يك كليد رمز با 2n معين ميگردد كه منظور از n طول كليد است. قبلاً گفتيم كه يكي از عوامل موثر در استحكام و مقاومت روش رمزگذاري در مقابل مهاجمان، طول كليد رمز است. با توجه به تعريف بيت و محاسبه طول كليد، يك كليد رمز 40بيتي ميتواند داراي 240 تركيب احتمالي يعني 776/727/511/099/1 تركيب باشد و هر چه تعداد تركيبهاي احتمالي يك كليد رمز بيشتر باشد، امكان كشف و لورفتن آن مشكلتر ميشود و درجه امنيت آن بالاتر ميرود. با تمام اينها، چنانچه تحليل مناسب و زمان كافي در اختيار باشد، هر كليد رمزي صرفنظر از تعداد بيتهاي آن قابل كشف است. طول كليد با تعداد بيتهاي آن با توجه به اطلاعاتي كه بايستي رمزگذاري گردد، انتخاب ميشود. به اين ترتيب كه هر چه اطلاعات و پيام حساستر بوده و نياز به امنيت بيشتري باشد، تعداد بيتهاي انتخابي بيشتر خواهد بود.
رمزگذاري شيوهاي است كه در آن متن اصلي پيام با استفاده از يك سري عمليات رياضي معكوسپذير به يك منتم بيمعنا تغيير مييابد. به عبارت ديگر رمزگذاري به طور سيستماتيك ترتيب عناصر يك پيغام را تغيير ميدهد تا براي همه به جز گيرنده قابل فهم باشد. به طور كلي در عمل رمزگذاري دو جزء مهم وجود دارد كه عبارتند از : كليد رمز و الگوريتم رمزگذاري كه تعريف آنها به قرار زير است:
كليد رمز:
كليدي است كه بتوان با استفاده از آن قفل دسترسي به متن اصلي را باز كرد.
الگوريتم رمزگذاري:
فرآيندي چندمرحلهاي است كه كاربر با استفاده از آن متن اصلي را به رمز تبديل ميكند و يا اين كه متن رمزگذاري شده را به متن اصلي برگرداند.
سه نوع روش رمزگذاري كه بر مبناي نحوه استفاده از كليد رمز با يكديگر تفاوت دارد، وجود دارد كه عبارتند از:
روش رمزگذاري متقارن يا با كليد خصوص
روش رمزگذاري نامتقارن با كليد عمومي
روش رمزگذاري يكطرفه
كه هركدام از اين روشها در ادامه توضيح داده خواهدشد.
روش رمزگذاري متقارن يا با كليد خصوص
روش رمزگذاري متقارن روشي است كه در آن تنها يك كلمه رمز يا كليد ورود به متن اصلي مورد استفاده قرار ميگيرد. در اين روش هر يك از طرفين ارتباط، بايستي يك كليد رمز خصوصي يكسان همانند داشته باشند. در حقيقت متن اصلي با اين كليد خصوصي رمزگذاري شده و براي ورود به متن اصلي و تبديل آن از حالت رمز (بيمعنا) به حالت اصلي (معنادار) نيز بايد از همان كليد خصوصي استفاده نمود. علت نامگذاري اين روش به نامتقارن اين است كه در هر طرف معامله يك كليد يكسان مورد استفاده قرار گرفته و رمزگذاري حالت متقارن دارد. اين روش رمزگذاري هزاران سال است كه در ارتباطات بين انسانها مورد استفاده قرار ميگرفته است. مثال مناسب آن استفاده از كلمه عبور در تمدنهاي تاريخي براي ورود به حريمهاي ممنوعه است كه تنها يك كليد (كلمه عبور) بين دو طرف وجود داشته است. ايراد اين روش اين است كه كليد خصوص بايد قبل رمزگذاري پيامها، از يك كانال ارتباطي ايمن بين طرفين مبادله شود. اما حسن اين روش سرعت بالاي آن است. الگوريتم معروف مورد استفاده در اين روش به نام DES يا رمزگذاري استاندارد اطلاعات ناميده ميشود كه در بخش الگوريتمهاي رمزگذاري در مورد آن توضيح داد ميشود.
روش رمزگذاري نامتقارن با كليد عمومي
در اين روش دو طرف داراي دو كليد رمز هستند. يكي رمز عمومي و كليد رمز خصوصي. استفاده از اين روش نسبت به روش متقارن سادهتر بوده، ولي سرعت آن كمتر است. در اين تكنيك كليد عمومي به راحتي از طريق كانالهاي عمومي انتقال اطلاعات انتقال مييابد و كليد خصوصي به صورت محرمانه نزد دو طرف نگهداري ميشود.
كار در اين روش به اين صورت است كه يك كليد (عمومي) مورد استفاده قرار ميگيرد تا پيام به صورت رمز درآيد و كليد ديگر (خصوصي) براي رمزگشايي آن استفاده ميگردد. اگر چه اين كليدهاي عمومي و خصوصي از لحاظ رياضي به هم مربوط ميباشند، ولي از نظر محاسباتي عملي نيست كه از يك كليد، كليد رمز ديگر استخراج گردد. اين روش داراي امنيت بالايي بوده و در هنگامي كه حداكثر امنيت مورد نياز باشد، استفاده ميشود. از آنجايي كه كليد عمومي در دسترس همگان قرار دارد، براي حفظ امنيت بايستي كليد خصوصي در فواصل كوتاه زماني عوض گردد. علت نامگذاري اين روش به نام نامتقارن نيز اين است كه در رمزگذاري حالت نامتقارن دارد. الگوريتم معروف مورد استفاده در اين روش به نام RSA شناخته ميشود كه در بخش الگوريتمهاي رمزگذاري در مورد آن توضيح داده ميشود.
روش رمزگذاري يكطرفه
در اين روش همانطور كه از نام آن پيداست، رمزگشايي در طرف ديگر انجام نميگيرد و امكان آن وجود ندارد و تحليل الگوريتم رمزگذاري و دستيابي به اصل پيام رمز شده تنها در يك طرف امكانپذير است. اين روش مورد استفاده گسترده نيست و اولينبار براي ذخيرهكردن اطلاعات نظير كلمه عبور (Password) در سيستمهاي NT و UNIX و يا اطلاعات شخصي در كارتهاي اعتباري ATM به كار برده شد. يكي ديگر از مثالهاي استفاده از اين روش در تعريف امضاي ديجيتالي است كه در بخش بعدي در مورد آن توضيح داده خواهد شد.
مقاومت روش رمزگذاري
مقاومت روشهاي رمزگذاري يا قدرت آن در مقابل مهاجمان كه قصد رمزگشايي پيامها را دارند به سه عامل زير بستگي دارد:
استحكام الگوريتم رمزگذاري
استحكام الگوريتم مشخصكننده اين است كه برگردان اطلاعات و پيامهاي رمزشده به حالت اصلي از نظر رياضي تا چه حد پيچيده و مشكل است. هر چقدر الگوريتم از اين نظر قويتر و مستحكمتر باشند، رمزگشايي پيامها و اطلاعات رمزگذاري شده مشكلتر ميشود.
مخفيبودن كليد
هر چقدر كليد رمز مورد استفاده محرمانهتر و سريتر باقي بماند، رمزگشايي مشكلتر ميشود. به عبارت ديگر هر الگوريتمي هر چقدر هم كه قوي باشد، نميتواند خطر لورفتن كليد رمز را منتفي كند. بنابراين چگونگي نگهداري و حفاظت از كليد رمز يكي از عوامل مقاومت روش رمزگذاري در مقابل خطرات است.
طول كليد
در روشهاي مختلف رمزگذاري كه از كليد رمز استفاده ميشود، طول كليد با بيتهاي تشكيلدهنده مشخص ميگردند. به ازاي اضافهشدن هر بين به طول كليد، تعداد حالتهاي مختلف كليد دو برابر ميشود.
كليد رمز و طول آن
كليد رمز يك مقدار عددي است كه معمولاً به شكل مبناي شانزدهتايي درآمده است. كاراكترهاي مورد استفاده براي شاخت يك كليد معمولي به صورت دوتايي يا چهارتايي دستهبندي ميشوند كه شامل اعداد 0 تا 9 و حروف A تا F هستند. يك كليد ممكن است داراي ظاهري شبيه اين باشد: B6AF 5CE5 تعداد تركيبهاي احتمالي بيتهاي سازنده يك كليد رمز با 2n معين ميگردد كه منظور از n طول كليد است. قبلاً گفتيم كه يكي از عوامل موثر در استحكام و مقاومت روش رمزگذاري در مقابل مهاجمان، طول كليد رمز است. با توجه به تعريف بيت و محاسبه طول كليد، يك كليد رمز 40بيتي ميتواند داراي 240 تركيب احتمالي يعني 776/727/511/099/1 تركيب باشد و هر چه تعداد تركيبهاي احتمالي يك كليد رمز بيشتر باشد، امكان كشف و لورفتن آن مشكلتر ميشود و درجه امنيت آن بالاتر ميرود. با تمام اينها، چنانچه تحليل مناسب و زمان كافي در اختيار باشد، هر كليد رمزي صرفنظر از تعداد بيتهاي آن قابل كشف است. طول كليد با تعداد بيتهاي آن با توجه به اطلاعاتي كه بايستي رمزگذاري گردد، انتخاب ميشود. به اين ترتيب كه هر چه اطلاعات و پيام حساستر بوده و نياز به امنيت بيشتري باشد، تعداد بيتهاي انتخابي بيشتر خواهد بود.