مزنگاری و امنيت تبادل داده
1- مقدمه: رمزنگاري از دير بازبه عنوان يك ضرورت براي حفاظت ازاطلاعات خصوصي در مقابل دسترسي - هاي غير مجاز درتجارت و سياست و مسايل نظامي وجود داشته است به طور مثال تلاش براي ارسال يك پيام سري بين دو هم پيمان به گونه اي كه حتي اگر توسط دشمن دريافت شود قابل درك نباشد، در رم قديم نيزديده شده است(رمز سزار).در ساليان اخير رمزنگاري وتحليل رمز از يك هنر پا را فراترگذاشته ويك علم مستقل شده است و در واقع به عنوان يك وسيله عملي براي ارسال اطلاعات محرمانه روي كانا ل هاي غير امن همانند تلفن ، ماكرويو و ماهواره ها شناخته مي شود.
پيشرفت علم رمز نگاري موجب به وجود آمدن روشهاي تحليل مختلفي شده است به گونه اي كه به طور متناوب سيستم هاي رمز مختلف شكسته شده اند . معروف ترين نمونه اين نوع سيستمها ماشين «انيگما » بوده است . انيگما ماشين رمز گذار و كد گذار وكد كننده اي بوده است كه حزب نازي در زمان جنگ جهاني دوم براي ارسال پيام ها يشان از طريق راديو به ساير نقاط استفاده مي كردند .
رمزنگاري كه به طور عمده به دو بخش رمزنگاري متقارن يا رمزنگاري با كليد خصوصي و رمزنگاري نامتقارن يا رمزنگاري با كليد عمومي صورت مي گيرد، تلاش مي كند براي ايجاد يك ارتباط سري از طريق سيستمهاي مخابراتي و شبكه هاي كامپيوتري مباحث مربوط به محرمانگي و احراز هويت، را تحت فرضهاي مشخص به درستي اثبات نمايد .
2- الگوريتم هاي رمزنگاري كليد خصوصي
رمزهاي كليد خصوصي بر مبناي نوع عملكرد ، چگونگي طراحي و پياده سازي و كاربردهايشان به دو گونه رمزهاي قطعه اي و رمزهاي دنباله اي تقسيم مي شوند . كه در هر يك از آ نها عملكرد رمز نگاري به صورت يك عملكرد دوجانبه بين دو طرف فرستنده و گيرنده مي باشد كه با ايجاد يك ارتباط اوليه با يكديگر روي كليد خصوصي توافق ميكنند به گونه اي كه دشمن آن كليد را نداند. فرستنده S مي خواهد پيام m1,….mi را به گونه اي به طرف گيرنده R بفرستد كه او بتواند به محتواي پيام دست يابد و در عين حال حريف مخالف A نتواند محتواي پيام را درك كند حتي اگر A تمامي آنچه بين R و S انتقال مي يابد را دريافت نمايد.
به همين منظور فرستنده S هر متن روشن mi رابه وسيله الگوريتم رمزگذاري E و كليد خصوصي به متن رمز شده تبديل ميكند ودريافت كننده نيزكه متن رمز شده را دريافت كرده مي تواند با الگوريتم رمز گشائي D و كليد خصوصي متن اصلي را بدست آورد.
2- 1- رمزهاي دنباله اي
در طراحي رمزهاي دنباله اي يك مولد بيت شبه تصادفي نقش توليد كننده رشته كليد را براي سيستم رمزدنباله اي دارد . در واقع اين مولد ميتواند مولد رشته كليد نيز محسوب شود . از ديدگاه رمز نگاري يك مولد رشته كليد امن بايد داراي سه پارامتر مهم زير باشد :
1- پريود رشته كليد توليد شده بايد به حد كافي بزرگ باشد تا با طول پيام ارسال شده سازگاري داشته باشد .
2- دنباله بيت خروجي حاصله از مولد بايد به راحتي قابل توليد كردن باشد .
3- بيتهاي خروجي بايد به سختي قابل پيش بيني باشند .
در واقع با در اخثيار داشتن مولد و اولين n بيت خروجي a(0) ، a(1) …… . a(n-1) از لحاظ محاسباتي پيش بيني بيت n+1 ام يعني a(n+1) در دنباله با احتمال بيشتر از ½ بايد غير ممكن باشد.
حال مسئله اصلي اين است با كدام مبنا واصولي ميتوان اين نتيجه گيري را انجام داد كه سيگنال هاي خروجي از يك مولد رشته كليد به سختي قابل پيش بيني است ؟ به طور كلي اصولي قابل بررسي و كاربردي ارائه شده است تا امنيت مولد هاي بيت را ضمانت كند . در واقع تا كنون روشهاي بسياري براي توليد رشته كليدهاي امن پيشنهاد شده است و در مقابل نيز تحليل هائي طرح شده است كه با توجه به پيچيده ترشدن دنباله ها به صورت ماهرانه تري به تحليل دنباله ها مي پردازند. در ادامه به برخي از روشهاي توليد بيت هاي شبه تصادفي مي پردازيم.
2-1 -1- ساختار مولد هاي بيت شبه تصادفي و رمزهاي دنباله اي
غير قابل پيش بيني بودن يك دنباله همانند تصادفي بودن آن تعبير مي شود براي اينكه يك دنباله تصادفي باشد پريود آن بايد به حد كافي بزرگ باشد و همچنين تكه هاي گوناگون درون دنباله داراي توزيعي تا حد ممكن يكنواخت باشند. در اينجا به طور خلاصه چندروش توليد بيت هاي شبه تصادفي ودنباله هاي شبه تصادفي شرح داده شده است .در اين روش ها به طور مشخص ثبات هاي انتقال خطي براي ساختن مولدها به كار گرفته شده اند.
2-1- 2- مولدهاي همنهشتي خطي (LCG)
در اين روش براي توليد اعداد شبه تصادفي از روابط بازگشتي نظير x j+1=axj+b بهره گرفته ميشود .در اينجا سه تا ئي a) ، b ، m ) پارامترهائي را مشخص ميكنند ،كه مولد را شرح ميدهند از اين سه تائي به عنوان كليد مخفي ميتوان استفاده كرد.با توجه به اينكه x0 هسته مولد ميباشد ، اگر پارامترها بدقت انتخاب شوند اعدادي نظير xj به صورت تكراري نخواهيم داشت مگر آنكه تمامي اعداد صحيح درون فاصله [0,m-1] در خروجي ظاهر شده باشند .« بوير» نشان داد كه دنباله هاي توليد شده توسط LCG ها از نظر رمز نگاري امن نيستند . درواقع با در اختيار داشتن قطعه اي طولاني ازدنباله ميتوان با روشهائي پارامترهاي m و b و a را بازسازي نمود .
2-1- 3- ثبات هاي انتقال پس خور ) FSR (
دنباله هاي مورد استفاده در رمزنگاري مي توانند بر مبناي ثبات هاي انتقال طراحي بشوند حتي وقتي كه داراي پس خوري خطي باشند . يك ثبات انتقال پس خور از N فليپ فلاپ و يك تابع پس خور تشكيل شده است . تابع پس خور هر عنصر جديد همانند t ) ) a از دنباله را به صورت جزئي از عناصري كه از قبل توليد شده اند همانند a(t-1) ، …… a(t-n-1) ، a(t-n) بيان مي كند . گونه اي از توابع پس خور وجود دارند كه به صورت زير عمل ميكنند:
a(t) =g( a(t-1) , a(t-2) ……… , a(t-n+1)) Å a(t-n)
بسته به اينكه آيا تابع g خطي است (با عملگر Xor تنها قابل اجراست ( يانه ،مولد يك ثبات انتقال پس خور خطي ( LFSR ) يا ثبات انتقال پس خور غير خطي ( NLFSR ) خوانده مي شود.
پريود دنباله توليد شده بوسيله يك FSR به تعداد مراحل ذخيره سازي و جزئيات اتصال پس خور بستگي خواهد داشت و بطور كلي حداكثر پريود يك دنباله كه توسط يك FSR داراي n مرحله توليد ميشود ، 2 n خواهد بود .
2-1- 4- ثبات هاي انتقال پس خور غير خطي (NLFSR )
دياگرام حالت گونه هائي از FSR ها ميتواند شامل چرخه هاي كوچك باشد و حالات تكراري داشته باشد و دنباله اگر در يكي از اين حالات قرار بگيرد ممكن است نا امن شود . يك روش مناسب طراحي ثبات انتقال n مرحله اي كه دنباله هائي با حداكثر پريود 2 n توليد مي نمايد و دنباله هاي « دي بروئن » مي باشد.كه تعداد دنباله هاي ممكن n مرحله اي آن به بزرگي 2 (2n-1)-n ميباشد.كه همگي آنها داراي توزيعهاي ايده آلي ميباشند .اما اين دنباله ها كه از ثبات هاي انتقال غير خطي ساخته ميشوند داراي مشكلاتي براي پياده سازي توسط الگوريتمهاي شناخته شده هستند . همچنين توليد سريع اين دنباله ها به سختي صورت مي گيرد . همچنين برخي از خواص همبستگي بين عناصر توليد شده مي تواند راهكارهاي مناسبي براي تحليل اين دنباله ها ايجاد نمايد .
2-1- 5- ثبات هاي انتقال پس خور خطي (LFSR)
اين ثبات ها مدت ها براي كدهاي كنترل خطا ، آزمايشهاي VLSI و مخابرات طيف گسترده مورد استفاده بوده اند و از جمله مهمترين اجزاء در ساختار مولدهاي شبه تصادفي مي با شند آنها توابع پس خوري به شكل زير دارند .
a(t) =c1 a(t-1) Å c2 a(t-2) Å …………. Å c(n-1) a(t-n-1) Å a(t-n)
c i Î [0,1]
و با چند جمله اي پس خور زير نشان داده ميشوند .
f(n) = 1+ c1x + c2x2 + ……..+ c( n-1) x ( n-1) + x(n)
به طور كلي براي اينكه حداكثر پريود ممكن 2n-1 را براي دنباله خروجي از يك LFSR داشته باشيم ، چند جمله اي پس خور آن مي بايد اوليه باشد . تعداد چند جمله اي هاي اوليه درجه n از رابطه f (2 n –1)/n بدست مي آيد كه (n) f نمايانگر تابع اويلر مي باشد كه تعداد اعداد صحيح مثبت و اول كوچكتر از عدد n را نشان ميدهد .
به هر صورت با توجه به توابع توزيع احتمال اين دنباله ها با حداكثر پريود ديده مي شود كه خواص آماري مطلوبي در اين دنباله ها به وجود مي آيد . اما در برابر اين خصوصيات مولد هاي شبه تصادفي وبه علت استفاده گسترده از ثبات هاي انتقال در اين گونه مولدها روش هاي تحليل فراواني نيز براي تحليل دنباله خروجي حاصل طرح شده كه استفاده از اين ثبات ها را در ساختار مولدهاي بيت شبه تصادفي دچار مشكل مي كند .
2- 1-6- كاربردهاي رمزهاي دنباله اي ،مزايا و معايب
بسياري از رمزهاي دنباله اي كاربردي بر مبناي LFSR ها عمل مي نمايند و از آنجائيكه يك ثبات انتقال در واقع آرايه اي از بيت هاي حافظه و يك سري فيدبك مي باشد و با يك سري Xor قابل پياده سازي است ، مي توان امنيت قابل توجهي را تنها با تعداد كمي گيت منطقي بدست آورد .بنابراين رمزهاي دنباله اي مي توانند براي مصارف سخت افزاري بسيار مؤثر و كارا باشند .
اما در عين حال مشكلي كه LFSR ها و در نتيجه رمزهاي دنباله اي مبتني بر آنها دارند ، ناكارآمد بودن آنها در نرم افزار است . در واقع براي مناسبت هاي نرم افزاري چندجمله ايهاي فيدبك و تعداد فيدبك ها بسيار مهم مي باشد. در حاليكه مؤثر انتخاب نكردن اين چندجمله ايها امكان حملات وابستگي را نيز ممكن است فراهم آورد .
بنابراين رمزهاي دنباله اي حتي انواع ساده تر آنها در اجراهاي نرم افزاري نمي توانند سريعتر از رمزهاي قطعه اي عمل نمايند . رمزهاي دنباله اي به علت پياده سازي مؤثرتر سخت افزاري كاربردهاي فراواني در صنايع نظامي به خصوص خطوط مخابرات نظامي دارند . از آنجا كه در اينگونه رمزها هر يك از بيت هاي داده هاي اصلي به صورت مستقل رمز مي شوند ، بكارگيري اينگونه رمزها در لينك هاي مخابراتي پر از اغتشاش و نويز به جهت امكان آشكارسازي و تصحيح خطاها مؤثرتر مي باشد . در عين حال كه براي رمز نمودن حجم عظيمي از داده ها بعلت سرعت اجراي بالا، رمزهاي دنباله اي مي توانند گزينه مناسبي باشند . همانطور كه در سيستم هاي امنيت مخابراتي و رمزنگاري نظير BEU ها ديده مي شود .
تحليل و آناليز نمودن رمزهاي دنباله اي نيز معمولاً ساده تر از رمزهاي قطعه اي صورت مي گيرد . در عين حال امكان طرح حملات وابستگي بر روي اينگونه سيستم ها كه بر مبناي ثبات هاي انتقال خطي عمل مي نمايند ، بيشتر است اغليب رمزنگارها سعي مي نمايند اجزاء مختلف اينگونه الگوريتم ها را در حالتي غيرخطي تركيب نمايند و يا از ثبات هاي انتقال غيرخطي استفاده نمايند تامصونيت وابستگي لازم پديد آيد .
علاقه مندی ها (بوک مارک ها)