1 / 40

چکيده

چکيده. در اين سمینار به معرفی و تشريح الگوريتم رمز دنباله ای RC4 می پردازيم و کاربردهای آن را بيان می کنيم. همچنين به تحليل آن پرداخته و نکات ضعف و قوت آن را بررسی می نماييم. در نهايت به پياده سازی های مختلف آن اشاره ای خواهيم داشت. مطالب ارائه شده. مقدمه تشريح الگوريتم ويژگيها

aida
Download Presentation

چکيده

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. RC4 Stream Cipher

  2. چکيده در اين سمینار به معرفی و تشريح الگوريتم رمز دنبالهای RC4 میپردازيم و کاربردهای آن را بيان میکنيم. همچنين به تحليل آن پرداخته و نکات ضعف و قوت آن را بررسی مینماييم. در نهايت به پيادهسازیهای مختلف آن اشارهای خواهيم داشت. RC4 Stream Cipher

  3. مطالب ارائه شده • مقدمه • تشريح الگوريتم • ويژگيها • کاربردها • پياده سازی • تحليل RC4 Stream Cipher

  4. انواع سيستمهای رمز • سيستمهای رمز بلوکی • سيستمهای رمز دنبالهای • سيستمهای رمز کليد عمومی RC4 Stream Cipher

  5. سيستم رمز ورنام • تنها سيستم رمزنگاری امن بدون شرط شناخته شده، سيستم رمز One-Time-Pad است که پايه سيستمهای رمز دنبالهای محسوب میشود. • در اين سيستم، متن آشکار با دنباله کليد، XOR شده تا متن رمز شده بدست آيد. • دنباله کليد بايد کاملا تصادفی باشد و برای هر بار رمزنگاری از يک کليد جديد استفاده شود. • طول کليد بسيار زياد است. RC4 Stream Cipher

  6. تاريخچه RC4 • مخفف Rivest Cipher #4 و يا Ron’s Code #4 است. • در سال 1987 ميلادی، توسط Ron Rivest (از مبتکران سيستم RSA) ابداع شد. • Rivest سعی داشت با مخفی نگاه داشتن الگوريتم رمز، آن را از معرض حملات، مصون بدارد. • در تاريخ 9 سپتامبر 1994، ايميلی به صورت ناشناس، بر روی Mailing List مربوط به Cyperpunk منتشر شد که محتوای آن، تشريح الگوريتم RC4 بود! RC4 Stream Cipher

  7. تشريح الگوريتم • رمزگذاري • رمزگشايي RC4 Stream Cipher

  8. توليد دنباله کليد • KSA (Key Scheduling Algorithm) تعيين حالت اوليه از روي كليد • PRGA (Pseudo – Random Generation Algorithm) تعيين دنباله كليد با توجه به حالت اوليه RC4 Stream Cipher

  9. علائم اختصاري • P: دنباله متن آشكار • C: دنباله متن رمز شده • Z: دنباله كليد • K: كليد رمز • L: طول كليد رمز بر حسب بايت (طول K) • N: طول يك كلمه (word) بر حسب بيت • i, j : شمارندههاي n بيتي • S: آرايه تايي حالت RC4 Stream Cipher

  10. KSA • آرايه S با جايگشت هماني مقداردهي مي شود. • در يك حلقه 2^nتايي : • i از صفر تا 2^n – 1 تغيير ميكند • j بر اساس آرايه S، كليد K، شمارنده i و مقدار قبلي خود، تغيير مقدار مي دهد. • دو عنصر شماره i و شماره j از آرايه S با هم جابجا ميشوند. RC4 Stream Cipher

  11. شبه کد KSA Initialization: For i from 0 to S[i]=i Scrambling: For i from 0 to j = j + S[i] + k[i mod L] Swap (S[i] , s[j] ) RC4 Stream Cipher

  12. PRGA • در ابتداي اين الگوريتم، شمارندههاي i و j برابر صفر هستند. • در يك حلقه بينهايت، آرايه S بور ميخورد: • شمارنده i، هر بار يكي افزايش مييابد. • شمارنده j با مقدار S[i] جمع ميشود • S[j] و S[i] با يكديگر جابجا ميشوند. • مقدار آرايه S در خانه شماره S[i]+S[j]، به عنوان n بيت از دنباله كليد به خروجي مي رود. RC4 Stream Cipher

  13. شبه کد PRGA Initialization: i = 0 j = 0 Generation Loop: Repeat i = (i+1) mod 2^n j = (j + S[i]) mod 2^n Swap (S[i] , S[j]) t = S[i] +S[j] Output z = S[t] Until Length (key Stream) >= Length (Plaintext) RC4 Stream Cipher

  14. مقادير متداول • n معمولاً برابر 8 انتخاب ميشود. اگر چه كاهش n براي سيستمهاي آزمايشی و افزايش آن براي بالا بردن امنيت امكانپذير است. • طول كليد، L، مي تواند از 1 تا 256 بايت (از 8 تا 2048 بيت با پلههاي 8 بيتي) باشد. انتخاب L از 5 بايت تا 16 بايت متداول است. RC4 Stream Cipher

  15. ويژگیها (1) • هر عضو آرايه حالت، حداقل يك بار جابجا ميشود. • دانستن مكان يك مقدار خاص در آرايه حالت، دشوار است. • دانستن مكان عضو خروجي (به عنوان دنباله كليد) از آرايه حالت، دشوار است. • آرايه حالت S به آرامي همراه با زمان تغيير ميكند. • شمارنده I تضمين ميكند كه همه عناصر آرايه تغيير ميكنند. • شمارنده j تضمين ميكند كه عناصر به صورت تصادفي تغيير كنند. RC4 Stream Cipher

  16. ويژگیها (2) • الگوريتم مي تواند در 256^2*256! (حدود 2^1700) حالت مختلف باشد. • حالت اوليه در بيت قرار دارد. از آنجا كه S يك جايگشت است، حالت اوليه به طور موثر بيت دارد كه به ازاي طول كلمه n=8، حدود 1700 بيت اطلاعات مي شود. • هر كليد در سيستم RC4 فقط يك بار استفاده ميشود. • سرعت اجراي الگوريتم رمز RC4، 10 برابر سرعت اجراي DES است. RC4 Stream Cipher

  17. ويژگیها (3) • دانستن تمام M بيت حالت در يك لحظه مشخص، موجب برملا شدن دنباله خروجي در تمام لحظات آينده و در نتيجه شكسته شدن سيستم ميشود. • تعيين كليد K از روي حالت اوليه دشوار است. اگرچه براي شكستن سيستم نيازي به آن نيست. • پيش بيني دوره تناوب RC4 دشوار و وابسته به كليد است. در هر حال، تحقيقات نشان ميدهد كه دوره تناوب در حالت عادي بسيار بزرگ است. [11] RC4 Stream Cipher

  18. ويژگیها (4) • در مقابل حملههاي تحليل حالت، ضعيف است. • از هر 256 كليد، يكي ضعيف است. به طوري كه به ازاي آن ميتوان حالاتي را يافت كه تحت آن شرايط، يك يا چند بايت توليد شده با بخش كوچكي از كليد، به شدت همبستگي دارد. • الگوريتم نسبت به حملات خطي و تفاضلي اين است. (ادعاي RSADSI) • به شدت غيرخطي است. RC4 Stream Cipher

  19. ويژگیها (5) • اگر چه پيادهسازيهاي سختافزاري و نرمافزاري RC4 ميسر است، RC4 ايدهآل براي پيادهسازي نرمافزاري است. • دنباله كليد، مستقل از متن آشكار است. • به نظر نمي رسد كه هيچ دوره كوچكي داشته باشد. • چنانچه جابجايي را از مراحل توليد دنباله كليد حذف كنيم، دنباله كليد متناوب با دوره خواهد بود. • پيادهسازي نشان ميدهد براي يافتن كليد در WEP، حدوداً به 5 ميليون بسته اطلاعاتي نياز است. RC4 Stream Cipher

  20. كاربردها • SSL • WEP (استاندارد امنيتي IEEE 802.11) • Lotus Notes • Secure Oracle SQL • كامپيوترهاي Apple • ... RC4 Stream Cipher

  21. WEP (1) استاندارد IEEE 802.11 كه به Wi-Fi معروف است براي ارتباط در شبكههاي LAN به كار ميرود. امنيت اين سيستم توسط استاندارد WEP (Wired Equivalent protocol) تامين ميشود. الگوريتم WEP به گونهاي انتخاب شد كه نيازهاي زير را تامين نمايد: • تا حد قابل قبولي قوي باشد و بتواند نيازهاي كاربران را برآورده سازد. • همزماني خودكار داشته باشد. دستگاههای بیسيم، ممكن است مرتباً پوشش داده شوند يا نشوند. • كارايي محاسباتي داشته باشد. • قابل صادرات به كشورهاي غيرامريكايي باشد. • اختياري باشد. RC4 Stream Cipher

  22. WEP (2) • براي تأمين اهداف مذکور، سيستم رمز RC4 انتخاب شد. • با اين سيستم، محرمانگي و تماميت پيام حفظ مي شود. • استفاده از احراز هويت اختياري است و به طور پيش فرض، به كار نمي آيد. • بردار اوليه عمر مفيد كليد خصوصي را افزايش داده و خود همزماني سيستم را تامين مي سازد. • به منظور بالا بردن امنيت سيستم، بردار اوليه با هر پيام تغيير ميكند. RC4 Stream Cipher

  23. WEP (3) • توزيع کليد تعيين نشده است. • احراز هويت يک طرفه است. • از سيستم رمز RC4 استفاده می نمايد. • کليد 40 بیتی می باشد. • رمزنگاری بین دو ايستگاه می باشد. RC4 Stream Cipher

  24. WEP (4) RC4 Stream Cipher

  25. WEP (5) RC4 Stream Cipher

  26. WEP (6) RC4 Stream Cipher

  27. پيادهسازي • پيادهسازيسخت افزاری • پيادهسازينرم افزاری RC4 Stream Cipher

  28. پيادهسازيسخت افزاری • در سال 2003 • طول كليد از 8 تا 128 بيت به دلخواه كاربر • روي FPGA انجام و با زبان VHDL • در حداكثر فركانس 64 MHzنرخ بیت 176 Mbit/sec RC4 Stream Cipher

  29. پيادهسازينرم افزاری • تنها محاسبات بايتي انجام ميشود • 256 بايت حافظه برای نگهداری آرايه حالت، L بايت براي نگهداري كليد و 3 بايت براي نگهداري شمارندههاي i و j و طول كليدنیاز است. • به جز جمع و مقداردهي، تنها، عمل باقيمانده تقسيم بر 256 صورت می گیرد. RC4 Stream Cipher

  30. پياده سازی روی پردازنده های مختلف RC4 Stream Cipher

  31. نکات مربوط به بهينه سازی • استفاده از 11 ثبات، كه AMD64 امكان آن را فراهم كرده است. • ثباتهاي 64 بيتي • تنظيم دستي دستورها به جاي تنظيم خودكار • استفاده از دستورهاي Direct path single به جاي Direct path Double و Vector path RC4 Stream Cipher

  32. تحلیل (1) • حدس حالت • عدم توازن برخي بيتهاي دنباله كليد • كليد ضعيف • .... RC4 Stream Cipher

  33. تحلیل (2) • چنانچه دركليد خصوصي k[0]+k[1]=0 (بايت صفر و بايت يك) باشد آنگاه بايت اول خروجي (دنباله كليد) با احتمال 2^-2.85 برابر k[2]+3 خواهد بود. اين مساله ميتواند كمك خوبي براي تحليلگران باشد و فضاي جستجو را كاهش دهد. تحليلگران ميتوانند به اندازه دو بايت اطلاعات با احتمال 2^-10.85 به جاي 2^-16 بدست آورند و بنابراين طول مؤثر كليد را حدود 5 بيت كاهش دهند. RC4 Stream Cipher

  34. تحلیل (3) چنانچه كه در آن S0 نشان دهنده حالت اوليه است، آنگاه Z1 (بايت دوم خروجی دنباله کليد)، با احتمال يك، صفر خواهد بود. RC4 Stream Cipher

  35. تحلیل (4) • با حالت اوليه تصادفي دلخواه، مقدار دومين خروجي از دنباله كليد (Z1) با احتمال 2/(2^n) برابر صفر خواهد بود. (دو برابر احتمال عادي) RC4 Stream Cipher

  36. تحلیل (5) • «تمايزدهنده در فضاي چندجملهاي» • «حالتهاي قابل پيشبيني» • «همبستگي خروجي» • ... RC4 Stream Cipher

  37. تحلیل (6) - WEP • طولاني بودن دوره استفاده از كليد • كوتاه بودن طول IV • عدم كارايي CRC • ... RC4 Stream Cipher

  38. نتيجه گيري • دراين سمینار با سيستم رمز RC4 كه از سيستمهاي رمز دنبالهاي است آشنا شديم. تاريخچه اين سيستم عملاً نشان مي دهد كه با مخفيسازي الگوريتم، امنيت بدست نميآيد. اين سيستم مزايايي دارد كه ازمهمترين آنها ميتوان به سادگي و سرعت اجراي آن اشاره كرد. به طوري كه سرعت RC4، 10 برابر سرعت DES است. اما اين سيستم در مقابل حملات، بسيار آسيبپذير است و نمي تواند امنيت مناسبي ايجاد نمايد. با اين حال هنوز از اين سيستم در برخي كاربردها استفاده مي شود. • كد پيادهسازي نرمافزاری اين سيستم رمز، يك برنامه نمونه از آن، چند مقاله پيرامون اين الگورتيم و حملاتي كه عليه آن انجام شده است را ميتوانيد در cd همراه اين مقاله مشاهده نماييد. RC4 Stream Cipher

  39. مراجع • [1]تننبام، « شبکههای کامپيوتری » ، ترجمه پدرام، ملکيان، زارعپور، انتشارات نص، ويراست چهارم، 2003، صفحات 767 تا 769. • [2] http://www.Wikipedia.org/ • [3] Rick Wash, ‘Lecture Notes on Stream Ciphers and RC4’ • [4] Thomas G. Xydis Ph.D., Simon Blake-Wilson, ‘Security Comparison: BluetoothTM Communications vs. 802.11’, 2001 • [5] ‘Overview of IEEE 802.11b Security’, Sultan Weatherspoon, Network Communications Group, Intel Corporation • [6] http://www.vocal.com/ RC4 Stream Cipher

  40. مراجع • [7] ‘Hardware implementation of the RC4 stream cipher’, Kitsos, P. Kostopoulos, G. Sklavos, N. Koufopavlou, O. Dept. of Electr. & Comput. Eng., Patras Univ., Greece, 2003. • [8] ‘rc4-amd64 : RC4 implementation for AMD64’, Marc Bevand, November 1, 2004. • [9] ‘APPLIED CRYPTOGRAPHY : Protocols, Algorithms, and Source Code in C’, Schneier, 2nd ed, pp. 397-398. • [10] ‘Attacks on RC4’, Fluhrer, Mantin, Shamir. • [11] Mister, S., Tavares, S.: Cryptanalysis of rc4-like ciphers. In Tavares, S., Meijer, H., eds.: Selected Areas of Cryptography (SAC '98). Volume 1556 of LNCS., SpringerVerlag, 1999. RC4 Stream Cipher

More Related