اهمیت اعداد تصادفی در رمزنگاری
چهارشنبه, ۹ مرداد ۱۳۹۸، ۱۲:۴۶ ب.ظ
سلام.
در مطالب قبلی در مورد چگونگی تولید اعداد تصادفی و اهمیت آنها در موضوعات مختلف صحبت کردیم.در این مطلب قصد داریم درباره اهمیت و کاربرد این اعداد در رمزنگاری صحبت کنیم.
رمزنگاری چیست؟
در ابتدا مفهوم رمزنگاری را با مثالی ساده توضیح می دهیم.
فرض کنید فرد A قصد دارد پیامی را برای دوستش فرد B ارسال کند.این پیام محرمانه است و به غیر از فرد A و B کسی نباید از آن باخبر شود.رمزنگاری در اینجا دو وظیفه بر عهده دارد:
1_در این بین هیچ فرد دیگری نتواند به پیام دسترسی پیدا کرده و از آن مطلع شود.
2_هیچ فردی نتواند تغییری در پیام ایجاد و آن را عوض کند.
اما چگونه یک پیام رمزنگاری می شود؟
با همان مثال قبلی ادامه می دهیم.برای رمزنگاری این پیام باید از الگوریتمی استفاده کنیم که هر حرف دارای یک کد باشد و فقط فرد A و B از آن اطلاع داشته باشند طوری که فرد A پیام اصلی را رمزنگاری کرده و آن را برای فرد B ارسال می کند و فرد B پیام رمزنگاری شده را با توجه به الگوریتم تبدیل به پیام اصلی می کند.
اهمیت اعداد تصادفی در رمزنگاری
در ساده ترین نوع رمزنگاری هر حرف با حرف دیگری جابجا می شود تا پیام رمزنگاری شده بی معنی باشد.به این منظور باید برای خود قرارداد کنیم تا هر حرف با کدام حرف جابجا شود مثلا هر حرف متن اصلی با دو حرف بعد خودش در الفبا جابجا شود مثلا واژه 'سلام' پس از رمزنگاری واژه 'صنپو' نوشته می شود اما اگر اینکه هر حرف با چند حرف بعد خودش جابجا شود را به صورت تصادفی به دست بیاوریم پیام رمزنگاری شده بسیار غیرقابل پبیش بینی تر می شود زیرا دارای حالات بیشتری خواهد بود.
مثلا یک واژه ی پنج حرفی را در نظر بگیرید که با روش ساده رمز کردیم.در این حالت تنها 32 حالت مختلف برای این واژه وجود دارد اما اگر با روش تصادفی آن را رمز کنیم برای هر حرف 32 حالت مختلف وجود دارد در نتیجه برای این واژه 32 به توان 5 حالت وجود دارد که حدود 33 میلیون حالت می شود.
به این ترتیب یک پیام رمز شده ایجاد می گردد که کاملا تصادفی تولید شده است و هیچ کس از این پیام مطلع نمی شود چرا که برای هر حرف میزان جابجایی به شکل تصادفی(با احتمال توزیع یکسان)بدست آمده و هیچ الگوی تکرار شونده ای در متن رمزنگاری شده یافت نخواهد شد.
- ۹۸/۰۵/۰۹