1 / 29

رمز نگاری: داده هایی که به راحتی قابل فهم هستند و هیچ نکته و ابهام خاصی در درک آنها وجود

رمز نگاری: داده هایی که به راحتی قابل فهم هستند و هیچ نکته و ابهام خاصی در درک آنها وجود ندارد متن ساده یا متن آشکار نامیده میشوند . روشی که باعث میشود متن ساده حالت قابل درک و فهم خود را از دست بدهد به رمز نگاری موسوم است .

reagan-luna
Télécharger la présentation

رمز نگاری: داده هایی که به راحتی قابل فهم هستند و هیچ نکته و ابهام خاصی در درک آنها وجود

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. روشهای سنتی رمز نگاری :روش جانشینی رمز نگاری جایگشتیروش جانشینی : در این روش هر حرف از جدول حروف الفبا به حرفی دیگر تبدیل میشود . این روش بعداٌ بهبود داده شد و به جای اینکه تمام حروف به طور منظم و باقاعده به یکدیگر تبدیل شوند جدول حروف الفبا طبق یک قاعده نامشخص که جدول رمز نامیده میشود به هم تبدیل می شدند . نقطه ضعف این روش در مشخصات آماری هر حرف در یک زبان است . ترتیب فراوانی نسبی برای شش حرف پر تکرار در متون انگلیسی از چپ به راست به تریتب زیر است : e – t – o – a – n – i

  3. اولین اقدام در رمز شکنی آن است که متن رمز شده تحلیل آماری شود و هر کاراکتری که بیش از همه در آن تکرار شده باشد معادل e و ... دومین نکته آماری آن است که در زبان انگلیس حروف کنار هم وابستگی آماری به هم دارند مثلا 9/99 % مواقع سمت راست حرف q حرف u قرار دارد و ... ترتیب فراروانی نسبی برای 5 دوحرفی پرتکرار در متون انگلیسی به ترتیب زیر است : th – in – er – re – an سومین نکته آماری مربوط به سه حرفی هاست مثلا در زبان انگلیسی سه حرفی های ing – the- and – ion به کرات استفاده میشود چهارمین نکته برای رمز شکنی مراجعه به فرهنگ لغات یک زبان است که بر اساس پیداشدن چند حرف از یک کلمه رمز بقیه حروف آن نیز آشکار میشود

  4. رمز نگاری جایگشتی : در این رمزنگاری محل قرار گرفتن و ترتیب حروف کلمات در یک متن به هم نمی خورد بلکه طبق یک جدول رمز هر الگو با الگوی جدید جایگزین میشود 1 2 3 کلمه اصلی : the کلمه رمز : eth 3 1 2 برا ی رمز گشایی گیرنده پیام باید کلید جایگشت را بداند.مثال: Please-transfer-one-milion-dollors-to-my-swiss-bank-account-six-two-two : متن اصلی MEGABUCK: کلمه رمز برای رمز نگاری جایگشتی، کلمات متن اصلی به صورت دسته های هشت تایی جدا شده و تماما زیر هم نوشته می شود:

  5. حال براساس ترتیب حروف الفبا هر حرف در کلمه رمز، ستونها به صورت پشت هم نوشته می شوند. as---wkt-sfmdti—teeioosasw-rll-sciolanor-auwenenssnnot-llm-cx-proiayboteeioosasw”” ااین روش رمز هم قابل شکستن است زیرا اگر چه ترتیب حروف به هم ریخته است ولی در متن رمزشده تمام حروف هریک از کلمان وجود دارند.لذا با بررسی تمام جایگشت های ممکن می توان رمز را به دست آورد.

  6. سیستم های رمز نگاری متقارن رمزنگاری برای رمز و درهم کردن داده ها به یک پارامتر به نام کلید رمز نیاز دارد.الگوریتم رمزنگار یک بلوک داده را به همراه کلید دریافت کرده و آنها را طبق روالی مشخص برحسب مقدار کلید به هم میریزد. به هر روش رمزنگاری که در آن کلید رمزگشایی دقیقا همان کلیدی است که اطلاعات با آنها رمز شده اصطلاحا روش متقارن می گویند. در طرف مقابل روش هایی وجود دارند که کلید رمزنگاری با کلید رمزگشایی فرق دارد و فقط کلید رمزگشایی باید مخفی بماند و کلید رمزنگاری آشکارا اعلام میشود چراکه با این کلید فقط میتوان رمز کرد نه رمزگشایی! به این رده از الگوریتم ها اصطلاحا روش های کلید عمومی یا نامتقارن می گویند.

  7. هر سیستم رمزنگاری متقارن حداقل باید دارای دو ویژگی پخش و پراکنده سازی و گمراه کنندگی در بالاترین سطح ممکن باشد. پخش و پراکنده سازی : تاثیر بیت ها یا بایت های ورودی را بر روی دنباله وسیعی از بیت ها یا بایت های خروجی ، تلفیق و ترکیب می کند. این کار با تکرار متوالی و مکرر عملیات جایگشت، جانشینی و عملیات ریاضی و منطقی و وارون پذیر حاصل خواهد شد. گمراه کنندگی : در عمل هرگز نباید بتوان بین ورودی، خروجی و کلید، هیچ رابطه سرراست و مشخصی پیدا کرد. استانداردهای نوین رمزنگاری :DES –زاده دوران جنگ سرد DES سرآغاز شروع علم رمزنگاری و تحلیل رمز به صورت آکادمیک و هدفمند است.متاسفانه چون حامی و سفارش دهنده اصلی این روش سازمان امنیت ملی آمریکا بود لذا شایعات بسیار گسترده ای در خصوص وجود شاه کلید فوق سری مطرح شد.این شایعات برای DES گران تمام شد و محبوبیت آن رو به افول گذاشت.

  8. الگوریتم DES ●ورودی رمزنگار یک رشته 64 بیتی است، بنابراین داده های ورودی بایست در گروه های 8کاراکتری دسته بندی و به ورودی سخت افزار یا نرم افزار رمزنگار DES اعمال شوند. ● اولین عملی که بر روی رشته ورودی انجام می شود جابجا کردن محل بیت های رشته 64 بیتی طبق جدول 11-8 است :

  9. ●در گام دوم رشته 64 بیتی جایگشت شده از گام قبل به دو نیمه 32 بیتی تقسیم می شود ●در گام سوم فرآیند رمزنگاری مبتنی بر کلید آغاز میشود و تا شانزده دور ادامه می یابد.در هر دور 32 بیت سمت راست مستقیما به سمت چپ منتقل شده و 32 بیت سمت چپ طبق رابطه زیر به یک رشته 32 بیتی جدید تبدیل و به سمت راست منتقل خواهد شد : Li-1 f(Ri-1,Ki) ●پس از دور شانزدهم جای نیمه 32 بیتی چپ و راست عوض خواهد شد. سپس عکس عمل جایگشتی که در ابتدا انجام شده بود صورت میگیرد تا بیت ها سر جای اصلیشان برگردند.

  10. ● حال خروجی 64 بیتی رمز شده ، در خروجی آماده است. شبه کد توصیفگر الگوریتم رمزنگاری DES : Function DES-Encrypt (M,K)Where M=(L,R) M IP(M) For i=1 to 16 do begin Ki Subkey(ki) T L xor f(R,Ki) Swap (L,R) R=T end Swap (L,R) M IP-1(M) return M end

  11. روند عملیاتی تابع f :

  12. ● در اولین گام رشته 32 بیتی ورودی (Ri-1) با تکرار برخی از بیت ها به یک رشته 48 بیتی توسعه داده میشود:

  13. ● در گام بعد، کلید فرعی متناظر با شماره دور ، با رشته توسعه یافته ، بیت به بیت XOR میشود.بدین ترتیب یک رشته جدید 48 بیتی پدید می آید. ● در گام سوم رشته 48 بیتی حاصل باید به 32 بیت کاهش یابد. ● در گام آخر بیت های رشته 32 بیتی بدست آمده از مرحله قبل ، جایگشت داده می شوند.

  14. روش استخراج کلیدهای فرعی از کلید اصلی • کلید اصلی در DES 56 بیتی است . برای استخراج 16 کلید فرعی روال زیر شانزده بار تکرار میشود : • در اولین گام بیتهای کلید اصلی طبق جدول ذیل جایگشت داده میشود : • در دومین گام 56 بیت خروجی مرحله قبل در قالب دو نیمه 28 بیتی به ئو رجیستر با قابلیت ( شیفت چرخشی به سمت چپ ) (Circular left shift) وارد می شوند . جدول زیر تهداد شیفت چرخشی در هر دور را نشان میدهد . • در سومین گام از تولید کلید فرعی خروجی شیفت یافته مرحله قبل در قالب یک رشته 56 بیتی واحد مجددا طبق جدول زیر تحت جایگشت بیتی قرار می گیرند .

  15. برای تولید مابقی کلیدها این روال از گام دوم تکرار میشود . روند تولید کلیدهای فرعی از کلید اصلی

  16. مثال :

  17. رمز گشایی DES هرگاه کلیدهای فرعی K1 تا K16 برعکس از K16 تا K1 به الگوریتم وارد کنید داده ها رمزگشایی خواهد شد . برای برگرداندن سمت راست یعنی Ri-1کافی است که Li را به جای آن قراردهیم . پس Ri-1 بسادگی به دست می آید . حال بیایید فرض کنیم که یک رشته 64 بیتی رمز شده را مجددا به الگوریتم رمز نگاری DES ولی با ترتیب کلیدهای وارونه اعمال کنیم . در اولین گام رشته رمز شده تحت عمل جایگشت IP قرار میگیرد و اثر آخرین مرحله ی رمز نگاری یعنی جایگشت IP-1 خنثی خواهد شد . سپس دو نیمه جابجا شده به اولین بلوک رمزنگار با کلید فرعی K16 اعمال میشود که رمز گشایی صورت میگیرد . همین کار دور بعدی تکرار می شود تا داده ها مرحله به مرحله به شکل قبلی خود بازیابی و رمزگشایی شوند .

  18. رمز نگاری AES و Rijndeal ●در Rijndeal طول کلید و طول بلوک داده می تواند 128،192 و256 بیت باشد و طول کلید و طول قطعات داده مستقل از هم قابل انتخابند لذا می توان گفت که Rijndeal دارای 9 انتخاب متفاوت برای رمزنگاری اطلاعات است. ●در AES طول بلوک داده صرفا باید 128 بیتی باشد ولی می توان طول کلید را از بین یکی از مقادیر 192،128 و 256 بیتی انتخاب کرد بدین ترتیب AES دارای 3 انتخاب است :

  19. الگوریتم AES :

  20. پارامترهای ورودی الگوریتم : Nb :طول بلوک داده ورودی Nk: طول کلید Nr:تعداد دورهای رمزنگاری چهار عملکرد اصلی الگوریتم : ●جانشینی بایت ●شیفت چرخشی کلمات به اندازه یک بایت ●تلفیق و درهم سازی ستونی ●جمع (XOR) کلید با کلمات در هر دور

  21. روش کار برنامه : ●در همان ابتدای برنامه Expand-key به یازده کلید فرعی توسعه یافته و درون متغیر Kr قرار می گیرد. ●در مرحله بعدی متن اصلی به درون آرایه State منتقل می شود تا در خلال ده دور متوالی پردازش شود. ●قبل از شروع حلقه تکرار[0]Kr با آرایه State، بایت به بایتXOR میشود. ●در این لحظه محاسبات اصلی شروع میشود . حلقه تکرار ده دور محاسبات رمزنگاری را انجام می دهد. هر دور شامل چهار عمل است : 1- Substitute(state) : این تابع یکایک بایت های ماتریس State را براساس یک جدول جانشینی ثابت و مشخص با مقادیرجدید جایگزین میکند.

  22. 2- Rotate-rows(state) : این تابع هر چهار سطر از آرایه State را به سمت چپ می چرخاند.

  23. 2- mix-columns(state) : این تابع هر ستون از ارایه state را بطور مستقل از دیگر ستون ها تلفیق و درهم سازی می کند .

  24. 4- xor_roundkey_into_state(state,rk[r]) :این تابع محتویات متغیر state را با محتویات کلید متناظر با دور، بایت به بایت XOR میکند.

  25. در دورهای بعدی همین چهار عمل متوالیا بر روی محتویات ماتریس State انجام میگیرد.

More Related