کاراکتر های سیستمی اعداد و علامت ها کاراکتر ها

Download Report

Transcript کاراکتر های سیستمی اعداد و علامت ها کاراکتر ها

Slide 1

Cryptography, Jerzy Wojdylo, 9/21/01


Slide 2

‫رمزنگاری‬
‫تهیه شده توسط‬
‫آرین سلطانی‬


Slide 3

‫آشنایی با جدول ‪ASCII‬‬

‫کاراکتر ها‬

‫اعداد و عالمت ها‬

‫کاراکتر های سیستمی‬


Slide 4

‫محدودیت ها‬
‫‪ ‬کاراکتر انتهای رشته ‪ :‬پوچ (‪)Null‬‬
‫‪ ‬کاراکترهای کنترل فایل‬
‫‪ ‬دیگر کاراکتر های سیستمی‬
‫‪ ‬محدودیت های پروتکل ارتباطی‬
‫در نتیجه سعی میکنیم اطالعات را هنگام نمایش به‬
‫صورت کد ‪ Hex‬نشان دهیم و در روش رمز نگاری‬
‫سعی کنیم به این محدودیت ها برخورد نکنیم‬


Slide 5

‫رمز نگاری گسترشی‬
‫طرح‬
‫داده ها را در رشته طوالنی تری جای می دهیم و طرز‬
‫نمایش آنها را تغییر میدهیم سپس تعدادی کاراکتر بی‬
‫معنی و بی اهمیت درون آنها قرار میدهیم و در هنگام‬
‫رمزگشایی به آنها توجه نمیکنیم‬


Slide 6

‫رمز نگاری گسترشی‬
‫پیاده سازی‬
‫کاراکتر ها را با دو کاراکتر کمکی در مبنای ‪ 16‬با‬
‫حروف بزرگ نشان می دهیم و بقیه کاراکتر ها را به‬
‫صورت اتفاقی از حروف کوچک وارد میکنیم‬
‫هنگام رمزگشایی هم به کاراکتر های بی معنی توجهی‬
‫نمیکنیم‬


Slide 7

‫رمز نگاری گسترشی‬
‫مثال‬


Slide 8

‫رمز نگاری ترکیبی‬

‫سری ‪2‬‬

‫سری ‪1‬‬

‫پیاده سازی‬
‫داده ها را به دو سری تقسیم‬
‫بندی میکنیم‬
‫در رمز گشایی هر سری به‬
‫دسته سری دیگر توجهی‬
‫نمیکنیم‬
‫می توان از یک سری برای‬
‫ارسال اطالعات غلط و‬
‫نادرست و منحرف کردن‬
‫استفاده کرد‬


Slide 9

‫رمز نگاری ترکیبی‬
‫‪ ‬مثال‬


Slide 10

‫رمز نگاری با کلید‬
‫طرح‬
‫نوع رمز نگاری با توجه به کلید رمز تغییر کند‬
‫در این صورت برای هر رمز نوعی متفاوت از‬
‫رمزنگاری خواهیم داشت که باعث امن تر شدن انتقال‬
‫اطالعات بین فرستنده و گیرنده خواهد شد‬


Slide 11

‫رمز نگاری با کلید‬
‫پیاده سازی‬
‫با استفاده از عملگر منطقی ‪ XOR‬و کلید داده شده توسط‬
‫کاربر داده ها را رمز گذاری میکنیم‪:‬‬
‫‪A XOR B‬‬

‫‪B‬‬

‫‪A‬‬

‫‪F‬‬

‫‪T‬‬

‫‪T‬‬

‫‪T‬‬

‫‪F‬‬

‫‪T‬‬

‫‪T‬‬

‫‪T‬‬

‫‪F‬‬

‫‪F‬‬

‫‪F‬‬

‫‪F‬‬


Slide 12

‫رمز نگاری با کلید‬
‫رمز گشایی‬
‫میتوانیم با استفاده از خواص عملگر منطقی ‪ XOR‬داده ها‬
‫را رمزگشایی کنیم‪:‬‬
‫‪(A XOR B) XOR B‬‬

‫‪B‬‬

‫‪A‬‬

‫‪T‬‬

‫‪T‬‬

‫‪T‬‬

‫‪T‬‬

‫‪F‬‬

‫‪T‬‬

‫‪F‬‬

‫‪T‬‬

‫‪F‬‬

‫‪F‬‬

‫‪F‬‬

‫‪F‬‬

‫مشاهده میکنیم که ارزش منطقی ستون آخر برابر ستون‬
‫اول است‬


Slide 13

‫رمز نگاری با کلید‬
‫مثال‬


Slide 14

‫رمز نگاری با کلید متغیر‬
‫طرح‬
‫فرض کنید نوعی اطالعات متغیر با زمان (یا متغیر دیگر)‬
‫مشترک بین فرستنده و گیرنده داریم (مثال ساعت!)‬
‫میتوانیم روش رمزنگاری قبل را طوری تغییر دهیم که‬
‫کلید مورد استفاده با این تابع تغییر کند در نتیجه برای‬
‫شخص ثالثی که قصد کشف رمز اطالعات را دارد (که‬
‫به این تابع دسترسی ندارد یا از وجود آن بی اطالع‬
‫است) غیر ممکن خواهد شد‬


Slide 15

‫رمز نگاری با کلید عمومی‬


Slide 16

‫رمز نگاری بدون پروتکل‬
‫طرح‬
‫طرف اول اطالعات مورد نظر را رمزنگاری میکند و‬
‫برای طرف دوم میفرستد ‪ .‬طرف دوم هم اطالعات‬
‫دریافت شده را با روش خود رمزنگاری کرده و دوباره‬
‫برای طرف اول میفرستد ‪ .‬طرف اول اطالعات را با‬
‫روش خودش رمزگشایی کرده و برای طرف دوم‬
‫ارسال میکند ‪ .‬طرف دوم هم با روش خود رمز گشایی‬
‫کرده و به اصل اطالعات دسترسی پیدا میکند‬


Slide 17

‫رمز نگاری بدون پروتکل‬
‫طرح‬
‫نکته اینجاست که در هر سه سری تبادل اطالعات ‪ ،‬داده‬
‫ها رمزنگاری شده هستند و توسط شخص ثالث قابل‬
‫مشاهده نیست‬
‫در هر سه سری تبادل اطالعات ‪ ،‬داده ها رمزنگاری شده‬
‫هستند و توسط شخص ثالث قابل دسترسی نیستند‬
‫پروتکل و کلید خاصی هم برای تبادل اطالعات تعریف‬
‫نکردیم‬


Slide 18

‫رمز نگاری بدون پروتکل‬
‫پیاده سازی‬
‫برای استفاده از روش ها رمزنگاری محدودیت داریم‬
‫طرف اول از رمز نگاری ‪ NOT‬و طرف دوم از یک‬
‫‪ Block Cipher‬ساده استفاده کردیم‬
‫رمزنگاری از آن جهت قابل بازگشت است که طرف اول‬
‫طرفا کاراکتر ها را تغییر داده و طرف دوم صرفا آنها‬
‫را جابجا میکند‬
‫امکان استفاده روشهای مختلف در این نوع باید از لحاظ‬
‫ریاض بررسی شود‬


Slide 19

‫رمز نگاری بدون پروتکل‬
‫مثال‬