1 / 133

رمزهای قطعه ای

رمزهای قطعه ای. مبتنی بر فصل های2، 3، 4 و 5 از کتاب Network Security, Principles and Practice,3 rd Ed. ویرایش شده توسط: حمید رضا شهریاری shahriari@mehr.sharif.edu. فهرست مطالب. تعاريف رمزهای کلاسيک الگوریتمهای رمزهای متقارن و رمزهای قطعه ای استانداردهای رمزگذاری آمريکا

patty
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. رمزهای قطعه ای مبتنی بر فصل های2،3، 4 و 5 از کتاب Network Security, Principles and Practice,3rd Ed. ویرایش شده توسط: حمید رضا شهریاری shahriari@mehr.sharif.edu

  2. فهرست مطالب • تعاريف • رمزهای کلاسيک • الگوریتمهای رمزهای متقارن و رمزهای قطعه ای • استانداردهای رمزگذاریآمريکا • استاندارد رمزگذاری پیشرفته AES • استفاده از رمزهای قطعه ای • مدهای کاری رمزهای قطعه ای • لغت نامه • پیوست 1: DES • پیوست 2: 3DES,IDEA,Blowfish, RC5, CAST-128

  3. برای دسترسی به معادل انگلیسی کلمات به اسلاید لغت نامه مراجعه نماید.

  4. فهرست مطالب • تعاريف • رمزهای کلاسيک • الگوریتمهای رمزهای متقارن و رمزهای قطعه ای • استانداردهای رمزگذاریآمريکا • استاندارد رمزگذاری پیشرفته AES • استفاده از رمزهای قطعه ای • مدهای کاری رمزهای قطعه ای • لغت نامه • پیوست 1: DES • پیوست 2: 3DES,IDEA,Blowfish, RC5, CAST-128

  5. تعاریف • plaintext - the original message • ciphertext - the coded message • cipher - algorithm for transforming plaintext to ciphertext • key - info used in cipher known only to sender/receiver • encipher (encrypt) - converting plaintext to ciphertext • decipher (decrypt) - recovering ciphertext from plaintext • cryptography - study of encryption principles/methods • cryptanalysis (codebreaking) - the study of principles/ methods of deciphering ciphertext without knowing key • cryptology - the field of both cryptography and cryptanalysis

  6. رمزنگاری متقارن (Symmetric) • یا معمولی/کلید خصوصی/ تک کلیدی • فرستنده و گیرنده از یک کلید مشترک استفاده می کنند • تمام رمزنگاریهای کلاسیک از نوع متقارن هستند • تنها نوع رمزنگاری تا قبل از دهه 70

  7. مدل رمزنگاری متقارن

  8. نیازمندیها • دو نیازمندی برای استفاده امن از رمزنگاری متقارن: • یک الگوریتم رمزنگاری قوی • یک کلید سری که تنها فرستنده و گیرنده از آن آگاه هستند Y = EK(X) X = DK(Y) • فرض بر آن است که الگوریتم برای همه مشخص است. • بنابراین نیاز به یک کانال امن برای توزیع کلید است.

  9. رمزنگاری • می تواند توسط ابعاد زیر مشخص شود: • نوع عملهای مورد استفاده برای رمز کردن • جایگزینی/تبدیل/ضرب • تعداد کلیدهای مورد استفاده • یک کلید یا خصوصی/دو کلید یا عمومی • روش پردازش متن واضح • بلوکی/جریانی

  10. انواع حملات تحلیل رمزنگاری • ciphertext only • only know algorithm / ciphertext, statistical, can identify plaintext • known plaintext • know/suspect plaintext & ciphertext to attack cipher • chosen plaintext • select plaintext and obtain ciphertext to attack cipher • chosen ciphertext • select ciphertext and obtain plaintext to attack cipher • chosen text • select either plaintext or ciphertext to en/decrypt to attack cipher

  11. جستجوی تمام حالات(Brute Force Search) • ابتدایی ترین حمله • فرض بر این است که متن واضح قابل شناسایی است.

  12. دیگر تعاریف • امنیت مطلق • مستقل از قدرت محاسباتی در دسترس، متن رمز شده اطلاع کافی برای تعیین قطعی متن واضح ارائه نکند (و بنابراین الگوریتم رمز مستقل از مدت زمانی که دشمن در اختیار دارد قابل شکستن نباشد) • امنیت محاسباتی: • با داشتن منابع محاسباتی محدود (مانند زمان )، رمز قابل شکستن نباشد.

  13. فهرست مطالب • تعاريف • رمزهای کلاسيک • الگوریتمهای رمزهای متقارن و رمزهای قطعه ای • استانداردهای رمزگذاریآمريکا • استاندارد رمزگذاری پیشرفته AES • استفاده از رمزهای قطعه ای • مدهای کاری رمزهای قطعه ای • لغت نامه • پیوست 1: DES • پیوست 2: 3DES,IDEA,Blowfish, RC5, CAST-128

  14. رمزهای کلاسیک • از زمان جنگ جهانی دوم مورد استفاده قرار می گرفتند • قبل از به وجود آمدن سیستم های کامپیوتری امروزی بصورت دستی انجام می شدند. • مبتنی بر دو روش اصلی جايگشتی و جايگزينی است

  15. جانشینی جانشینی یک حرف با حرف دیگر تک الفبایی چند الفبایی حملات شناخته شده با استفاده از: توزیع فرکانس‌ها تعداد رخدادها حروف مشابه و احتمال کلمات تحلیلpattern (الگوها) جایگشتی جابجایی بین حروف متن اصلی هدف diffusion (درهمریختگی) بيشتر است شکست رمز سخت‌تر اما اگر یک pattern (الگو) آشکار شود، همه متن شکسته شده است. رمزهای کلاسیک

  16. جانشینی (سزار) - رمز تک الفبایی send another catapult abcdefghijklmnopqrstuvwxyz abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz K = y C = P + K (mod 26) r rdmc zmnsqds bzszotks • تنها از يک فرمول جايگزينی مشابه فرمول فوق استفاده می شود • به خاطر سپاری آنها آسان است • مشاهده patternها به آسانی امکان پذير است رمز تک الفبایی

  17. جانشینی چندالفبایی • رمز چندالفبايی • استفاده از فرمول های جانشينی مختلف بصورت متوالی • منجر به کاهش pattern ها می شود • همچنان می توان از توزیع حروف برای شکست رمز استفاده کرد

  18. abcdefghijklmnopqrstuvwxyz 2 abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz abcdefghijklmnopqrstuvwxyz 1 abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz abcdefghijklmnopqrstuvwxyz 3 abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz جانشینی 213 send another catapult Ufqf bqqukgs fcudrvov

  19. جدول Vigenere • نوعی رمز جانشینی چند الفبایی محسوب می شود • از يک ماتریس 26در 26 و يک کليد برای رمزگذاری متن استفاده می شود • حروف متوالی کليد، سطر ماتريس و حروف متوالی متن، ستون ماتريس را مشخص می کنند. • کليد معمولا يک کلمه چندحرفی است که تکرار می شود. M = SEND ANOTHER CATAPULT K = h a i l c e a s e r h a i l c e a s e C = z e v o c r o l l v y c i e c t u d x

  20. Rotor Machines • ماشین روتر يک پیاده سازی الکترونیکی-مکانیکی از رمزچندالفبايی محسوب می شود • در این روش، داده ها از داخل تعدادی سيلندر که در مقابل هم قرار گرفته اند، عبور می کنند. • به ازای هر حرف از ورودی، سيلندر اول به اندازه يک حرف می چرخد با يک دور گردش کامل هر روتر ، روتر بعدی به اندازه يک حرف جابجا می شود • دوره تناوب ماشین روتر با افزایش تعداد روترها افزایش می يابد(26n) • آلمان ها اعتقاد داشتند که ماشین روتر طراحی شده توسط آنها، Engima، غیرقابل شکست است، ولی متفقین توانستند رمز آن را کشف کند و بسياری از اطلاعات سری آنها را فاش کند.

  21. Rotor Machines x y i j m c k z o v o h u k g v m a e f q r g a v t d h r w e d l s t d n l o a h z c e p i g u j q j f n w s b y w b x Enigma - German Machine had 3 rotors

  22. رمز جایگشتی • جابجایی حروف در متن اصلیبدون تغيير حروف الفبا • با هدف ایجاد پراکندگی امکان استفاده ترکیبی از آن با رمز جانشینی • ايده اساسی مورداستفاده در رمزنگاری متقارن می باشد

  23. مثال (جایگشتی ستونی) • ايده : متن را بصورت سطری بنويسيم و بصورت ستونی بخوانيم • کلید : تعداد ستون‌ها (در اینجا 5) • کليد : می توان ترتيب نوشتن ستون ها را نيز تغيير داد. S E N D * A N O T H E R * C A T A P U L T * * * * SAETTENRA*NO*P*DTCU**HAL* =

  24. انواع حملات انواع حملات وارده بر اساس امکانات تحليلگر • Cipher text Only : تحلیلگر تنها متن رمزشده را دارد. • Known Plaintext: تحلیلگر چند نمونه از متن اصلی و متن رمز شده متناظر با آن را دارد. • ChosenPlaintext: تحلیلگرمی‌تواند الگوریتم رمز را بر روی مقدار زیادی از متن واضح اعمال نماید و متن رمز شده را ببيند. * در کليه حالت فوق فرض شده است که الگوريتم رمرنگاری بر تحليلگر روشن است

  25. ایده‌های تحلیل رمز کلاسیک • فراوانی حروف (etanos…) • فراوانی ترکیبات حروف (th, nt) • حروف (تشخیص) ابتدا و انتهای کلمه (th___, ___nt, ___gh) • نظم موجود در الفبای زبان • متد Kasiski : اين روش بر مبنای يافتن الگوهای تکراری(عموما سه حرفی) در متن رمزشده و پيدا کردن طول کليد مورداستفاده استوار است. • ايده : فاصله بين دو تکرار از الگوهای تکراری، بايد حتما بر طول کليد مورد استفاده بخشپذير باشد. • حملات Brute Force

  26. تحلیل رمز کلاسيک(مثال) Aerial reconnaissance reports enemy reinforcements estimated at battalion strength entering your sector PD Clarke فراوانی حروف متن اصلی

  27. تحلیل رمز کلاسيک(مثال) aerialreco nnaissance reportsene myreinforc ementsesti matedatbat talionstre ngthenteri ngyoursect orPDClarke ANRMEMTNNO ENEYMAAGGR RAPRETLTYP IIOENEIHOD ASRITDOEUC LSTNSANNRL RASFETSTSS ENEOSBTEER CCNRTARRCK OEECITEITE جایگشتی (10 ستونی)

  28. تحلیل رمز کلاسيک(مثال) ANRMEMTNNOENEYMAAGGRRAPRETLTYPIIOENEIHODASRITDOEUCLSTNSANNRLRASFETSTSSENEOSBTEERCCNRTARRCKOEECITEITE فراوانی حروف متن رمز شده

  29. تحلیل رمز کلاسيک • از مقايسه نمودارهای قبلی می توان فهميد در رمزنگاری جايگشتی : • فراوانی حروف در متن رمزشده تفاوتی با فراوانی متن اصلی ندارد. • تحليلگر نمی تواند از نمودارهای فراوانی استفاده کند. • ولی در جايگزينی تک الفبايی اين امکان وجود دارد(مطابق شکل اسلايد بعدی) • با مقايسه اين نمودار با نمودار استاندارد فراوانی حروف، می توان تناظر احتمالی حروف را پيدا کرد.

  30. فراوانی حروف متن رمزشده (تک الفبایی) تحلیل رمز کلاسيک(مثال) DHULDOUHFRQQLVVDQFHUHSRUWVHQHPBUH. . .

  31. فهرست مطالب • تعاريف • رمزهای کلاسيک • الگوریتمهای رمزهای متقارن و رمزهای قطعه ای • استانداردهای رمزگذاریآمريکا • استاندارد رمزگذاری پیشرفته AES • استفاده از رمزهای قطعه ای • مدهای کاری رمزهای قطعه ای • لغت نامه • پیوست 1: DES • پیوست 2: 3DES,IDEA,Blowfish, RC5, CAST-128

  32. رمزگذاری کلاسيک-رمزگذاری مدرن • روشهای رمزگذاری مدرن، علاوه بر بر اعمال جابجایی و جايگشت از توابع ساده مانند XOR استفاده می شود. • مجموعه اعمال فوق طی مراحل متوالی روی متن اوليه اعمال می شوند. • تکنيک بکارگرفته شده در Rotor Machine ها الهام بخش روشهای رمزگذاری مدرن بوده است

  33. تابع رمزنگاری کامل(One-Time Pad) • ايده : برای رمزکردن يک داده به طول n کليدی به طول n هزينه کنيم. • در اين صورت به ازای هر M و C داريم: P(MC) = P(M) • يعنی داشتن هر تعداد متن نمونه رمزشده کمکی به تحليلگر نمی کند. • امنيت اين روش به تصادفی بودن کليد بستگی دارد.

  34. تابع رمزنگاری کامل(One-Time Pad) • در عمل استفاده از چنین روشی مقدور نيست • توليد کليد تصادفی به حجم بالا از نظر عملی دشوار است. • توزيع امن کليد : اگر بتوانيم کانال امنی برای توزيع کليدی با اين حجم پيدا کنيم، آيا بهتر نيست از همين کانال برای انتقال داده اصلی استفاده کنيم؟! • در عمل از روشهایی استفاده می کنيم که شکستن رمز را برای تحليلگر با توجه به تکنولوژيهای موجود و در زمان محدود غيرممکن سازد.

  35. رمزنگاری متقارن برای تبادل این اطلاعات مخفی نیاز به کانال امن داريم.  • دو طرف به دنبال برقراری ارتباط محرمانه هستند. • ارتباط بر روی محیط نا امن انجام میپذیرد. • طرفین پیامهای خود را رمز میکنند. • در رمز نگاری متقارن، الگوریتمهای رمز نگاری آنها تابع اطلاعات مخفی است که فقط طرفين از آنها مطلع میباشند. کلید مخفی

  36. K کلید متقارن Adversary EVE Bob محرمانگي 0 1 1 0 1 ... شبکه ناامن Alice به طور امن منتقل میشود

  37. الگوریتمهای رمزهای متقارن • رمزهای متقارن را می توان با دو روش عمده توليد کرد • رمزهای قطعه ای • پردازش پيغام ها بصورت قطعه به قطعه • سايز متعارف مود استفاده برای قطعات 64، 128 یا 256 بیتی است • رمزهای دنباله ای • پردازش پيغام ها بصورت پيوسته

  38. رمزهای قطعه ای متن واضح (تقسیم شده به قطعات) قطعات خروجی

  39. اصول رمزهای قطعه ای • نگاشت قطعات متن واضح به قطعات متن رمزشده بايد برگشت پذير (يك به يك)باشد. • الگوریتم قطعات ورودی را در چند مرحله ساده و متوالی پردازش میکند. به این مراحل دور میگوییم. • هر دور عموماً مبتني بر تركيب اعمال ساده ایهمچون جايگزينيو جایگشت استوار است.

  40. فهرست مطالب • تعاريف • رمزهای کلاسيک • الگوریتمهای رمزهای متقارن و رمزهای قطعه ای • استاندارد رمزگذاریداده • استاندارد رمزگذاری پیشرفته AES • استفاده از رمزهای قطعه ای • مدهای کاری رمزهای قطعه ای • لغت نامه • پیوست 1: DES • پیوست 2: 3DES,IDEA,Blowfish, RC5, CAST-128

  41. استانداردهای رمزهای قطعه ای • رمزهای قطعه ای استاندارد • استاندارد رمزگذاری داده DES • استاندارد رمزگذاری پیشرفته AES • تحت نظارت National Institute of Science and Technology (NIST)

  42. ساختار رمزهای فیستل • معمولا الگوریتمهای رمزنگاری از ساختاری تبعیت می کنند که توسط فیستل در سال 1973 در IBM پیشنهاد شد. • رمزهای فیستل به انتخاب پارامترهای زیر بستگی دارند

  43. ساختار رمزهای فیستل • طول قطعه (بلوک) • طول کلید • تعداد دورها • الگوریتم تولید زیرکلیدها • هر چه پیچیده تر باشد، تحلیل هم سخت تر می شود. • سرعت رمزنگاری/رمزگشایی • تابع دور (Round function) • سادگی تحلیل

  44. استاندارد رمزگذاری داده DES • مرور • در سال 1974 توسط IBM توليد شد • پس از انجام تغییراتی توسط NSA، در سال 1976NIST آن را پذيرفت. • اساس الگوريتم تركيبي از عمليات جايگزينيو جایگشت مي‌باشد. • مشخصات: • طول كليد56 بيت • طول قطعههاي ورودي و خروجي : 64 بيت • تعداد دورها: 16 دور • الگوريتمهاي رمزگذاري و رمزگشايي عمومي هستند, ولي مباني رياضي و اصول طراحي آنها فاش نشد. • در گذشته بسیار پر استفاده بود.

  45. DES امن نيست! • در ژانویه 1999 این الگوریتم توسط آزمون جامع فضای کلید در 23 ساعت شکسته شد! • بیش از 1000 هزار کامپیوتر بر روی اینترنت هر یک بخش کوچکی از کار جستجو را انجام دادند. • منظور از آزمون جامع فضای کليد همان جستجوی کامل کليد با استفاده از روش Brute Force می باشد. • به الگوریتمهای امن تر با طول کلید بالاتر نیاز داریم. • علاوه بر اين DES طراحی شفاف و روشن ندارد.

  46. استاندارد رمزگذاری داده DES قطعه 64 بیتی متن واضح زیر کلید دور دور1 تولید زیر کلیدهای 48 بیتی از کلید اصلی 56 بیتی برای هر دور دور2 دور15 دور16 قطعه 64 بیتی متن رمزشده کلید 56 بیتی

  47. یک دور از DES توسط زمانبندی کلید تولید میشود. Li (32 bit) Ri (32 bit) Ki (48 bit) “round key” f “round function” Li+1 Ri+1

  48. یک دور از DES • اعمال انجام شده در هر دور: • Li= Ri-1 • Ri = Li-1XOR F(Ri-1, Ki)

More Related