RC4 Stream Cipher.

Slides:



Advertisements
Similar presentations
Queue theory.
Advertisements

Logic Block Architectures. 2 Crosspoint Solution  Requires the use of large amounts of programmable interconnect −  suffer from area-inefficiency 
سازگاري فرايندهاي يادگيري Consistency of Learning Processes ارائه دهنده : الهام باوفای حقیقی استاد درس : آقای دکتر شيري دانشگاه امير كبير دانشكده ‌ مهندسي.
دستور العمل نحوه محاسبه امتیاز مقالات ISI اعضای هیأت علمی دانشگاه صنعتی اصفهان بر اساس تعداد استنادات در پايگاه اسكاپوس شهریور ماه 1388 نفیسه دهقان.
1 آزمايشگاه سيستم های هوشمند ( Domain-specific Architecture.
مهندسی نرم افزار مبتنی بر عامل
ارائه روشي براي شناسايي کاراکترهاي دستنويس، برپايه شبکه LVQ.
ارائه درس روباتيکز Extended Kalman Filter فريد ملازم استاد مربوطه دکتر شيري دانشگاه امير کبير – دانشکده کامپيوتر و فناوري اطلاعات.
نام و نام خانوادگي : فريد ملازم 1 آزمايشکاه سيستم هاي هوشمند ( موضوع ارائه ارتباط بين component ها.
طراحي و ساخت سيستم‌هاي تجارت الکترونيک ساخت سيستم‌هاي تجارت الکترونيک ECSE.
نام و نام خانوادگي : فريد ملازم 1 آزمايشکاه سيستم هاي هوشمند ( موضوع ارائه Process and Deployment Design.
مديريت پروژه‌هاي فناوري اطلاعات فرآيند مديريت پروژه-مرحله برنامه‌ريزي تخصيص منابع.
تعميم در يادگيري مبتني بر نمونه ها
مراحل مختلف اجرای يک برنامه
Artificial Intelligent Systems Laboratory 1 الگو‌هاي فرايند (Process Patterns) فصل 2 درس مهندسي نرم‌افزار 2 دكتر احمد عبداله زاده بارفروش تهيه كننده :
فارسی سازی يکپارچه در سيستم عاملهای OS/390 & Windows واحد 1 مهندسی سيستم Integrated Farsi support on OS/390 & Windows.
Solving problems by searching Chapter 3 Modified by Vali Derhami.
به نام خدا دانشگاه علمي كاربردي واحد 11 تهران محيط‌هاي چند رسانه‌اي ) اسلايد سوم ) E.Javanmard Website:
1 فصل دوم تبديلات. 2 فصل دوم سرفصل مطالب مقدمه ضرب بردارها دستگاه ‌ هاي مختصات دوران ‌ ها مختصات همگن دوران ‌ ها و انتقال ‌ ها تبديلات تركيبي همگن تبديل.
شرط و تصميم اصول كامپيوتر 1. 2 الگوريتم اقليدس E1: [find remainder] Divide m by n and let r be the remainder. Clearly, 0
1/19 Informed search algorithms Chapter 4 Modified by Vali Derhami.
1 فصل سوم سينماتيك مستقيم. 2 محتواي فصل   تعريف مجموعه فازي   تابع عضويت   نمايش مجموعه هاي فازي   برش آلفا   متغيرهاي زباني   ساخت مجموعه.
Cost- Effectiveness Analysis
Information Retrieval
مدارهای منطقی فصل چهارم و پنجم - مدارهاي منطقي تركيبي ماجولي
1 قانون تشابه. 2 مشخصه هاي يك پمپ سانتريفوژ شامل هد، دبي، راندمان و توان با رابطه زير به هم مربوطند : كه در اين رابطه H هد پمپ، Q دبي، g شتاب جاذبه و.
نظریه رفتار برنامه ريزي شده Theory of Planned Behavior
مرتب سازي مقايسه اي مرتب سازي خطي
ANOVA: Analysis Of Variance
ANOVA: Analysis Of Variance
Quick Sort مرتب سازي سريع.
لغت نامه و جدول درهم سازي Dictionaries and Hash Tables
آشنايي با برنامه نويسي به زبان C++
پردازنده هاي چند هسته اي
تکنیک دیماتل DEMATEL: decision making trial and evaluation laboratory.
اسلایدهای فصل هشتم کتاب سیلبرشاتز دانشکده مهندسی کامپیوتر دانشگاه شریف
تبدیل فوریه (Fourier Transform)
نمايش اعداد در کامپيوتر چهار عمل اصلي
Similarity transformation
امنيت سيستم قدرت بهره برداري اقتصادي از سيستم قدرت
سميرا قانوني زهرا معدني
سيستمهاي اطلاعات مديريت
مدلسازي تجربي – تخمين پارامتر
هیدرولیک جریان در کانالهای باز
آشنایی با پایگاه ساینس دایرکت
امنيت IP (IPSec) مبتنی بر فصل 13 از کتاب
فيلتر كالمن معرفي : فيلتر كالمن تخمين بهينه حالت‌ها است كه براي سيستم‌هاي ديناميكي با اختلال تصادفي در سال 1960 بزاي سيستم‌هاي گسسته و در سال 1961 براي.
MPC Review کنترل پيش بين-دکتر توحيدخواه.
SY604 NAT PPPoE Configuration
چگونگي نحوه ثبت داده های ايمنسازي در پرتال
نظریه رفتار برنامه ريزي شده Theory of Planned Behavior
Test آزمون نرم افزار Mansooreh Jalalyazdi.
با تشکر از دکتر جواد سلیمی
تحليل عملكرد يك سيستم تصويربرداري ديجيتال
به نام خدا اين فايل راهنما جهت آشنايی کاربران گرامی با پايگاه اطلاعاتی Sciencedirect و نحوه جستجوی اطلاعات در آن تهيه شده است لطفاً اسلايدهای بعد را مشاهده.
آزمون کوتاه مدت عملکرد بالینی
فصل ششم مدارهای ترتیبی.
آشنايي با نرم افزار.
نرم افزار عملي دوره كارداني كامپيوتر دانشگاه کردستان دانشكده فني
مدلسازي تجربي – تخمين پارامتر
مثال : فلوچارتي رسم كنيد كه دو عدد از ورودي دريافت كرده بزرگترين عدد
توزیع میانگین نمونه سعید موسوی.
Petri Nets: Properties, Analysis and Application
امنيت پست الكترونيكي.
آزمايشگاه مهندسي نرم افزار
عنوان مقاله نویسنده اول1، نویسنده دوم2، نویسنده سوم3، نویسنده چهارم4
گروه كارشناسي ارشد مديريت فنآوري اطلاعات(واحد الكترونيكي تهران)
تمريناتي براي پيشگيري از درد پايين کمر
Dislocation multiplication
تخمين پارامترها - ادامه
Presentation transcript:

RC4 Stream Cipher

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

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

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

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

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

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

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

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

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

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

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

شبه کد 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

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

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

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

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

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

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

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

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

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

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

WEP (4) RC4 Stream Cipher

WEP (5) RC4 Stream Cipher

WEP (6) RC4 Stream Cipher

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

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

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

پياده سازی روی پردازنده های مختلف OpenSSL 0.9.7d (openssl speed rc4) Processor Throughput (MB/s) Athlon XP 3000+ 2.2 GHz 198 Opteron 244 1.8 GHz (32-bit) 163 Opteron 244 1.8 GHz (64-bit) 135 Pentium 4 3.0 GHz 120 RC4 Stream Cipher

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

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

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

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

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

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

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

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

مراجع [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

مراجع [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