تجربه‌های پراکنده‌ی یک مسعود
در صورت ناخوانا بودن نوشته‌ها، از مرورگر دیگری استفاده کنید.

کمی در مورد رمزنگاری - تجربه‌های پراکنده‌ی یک مسعود
تجربه‌های پراکنده‌ی یک مسعود
000.005.00

یک نوشته‌ی قدیمی از «ریاضیکده» در مورد رمزنگاری

«

    امروز به سرم زد ایمیل‌های قدیمی خودم رو چک کنم و ببینم چی واسه کی فرستادم؟ به یه ایمیل با متن اجغ وجغ برخوردم که طبق معمول رفتم سراغ تغییر Encoding صفحه، تا شاید متن اون خوانا بشه. اما فایده نداشت.

    وقتی شروع نامه و آخرش رو خوندم حس کردم هر حرف فارسی با یه نشان از زبان دیگه جایگزین شده. اولین کلمه‌ی نامه "ÓáÇã" بود که حدس زدم باید "سلام" باشه. و همینطور از خداحافظی آخر نامه هم چند حرف رو بیرون کشیدم. بعدش کلماتی وجود داشتن که فقط یه حرفشون نامشخص بود و می‌شد حدس زد اون یه حرف چیه؟ با همین حدس زدن‌ها پیش رفتم و حدود نیم ساعت بعد متن فارسی کامل رو در کمال افتخار به دست آوردم!

    استفاده از رمزنگاری در متون مهم و حساس قدمت زیادی داره. در یونان قدیم به روش خیلی جالبی متن نامه رو به رمز می‌نوشتن. سزار روم هم روشی برای رمزنگاری استفاده می‌کرده که امروزه به روش رمزنگاری سزار مشهور شده. به این ترتیب که به جای هر حرف از متن اصلی، سومین حرف بعد از این حرف در الفبای زبانشون رو جایگزین می‌کرده. مثلا در زبان انگلیسی به جای A از D و به جای Y از B استفاده می‌شده. وقتی هم که قرار بوده نامه خونده بشه عکس این عمل رو انجام می‌دادن.

    شکستن چنین کدهایی اصلا کار سختی نیست. مخصوصا امروزه با پیشرفت علوم و بالا رفتن سرعت محاسبات شکستن چنین رمزهایی وقت چندانی نمی‌بره. همونطور که من خودم به صورت دستی در کمتر از یه ساعت متنی رو که به روش جایگزینی رمز شده بود رمزگشایی کردم. در روش جایگزینی هر حرف با حرف دیگه‌ای از همون زبان یا یه علامت عوض می‌شه. بزرگترین مشکل این روش اینه که با توجه به زیاد بودن تعداد حروف زبان‌های رایج، هر دو طرف باید کل اطلاعات مربوط به اینکه هر حرف با چه حرف یا علامتی جایگزین شده رو همراه خودشون داشته باشن. خیلی کم پیش می‌یاد که کسی بتونه همه‌ی این اطلاعات رو در ذهن خودش داشته باشه و مطمئن هم باشه که هرگز فراموش نمی‌کنه. مثل این می مونه که شماره رمز کارت بانکی خودتون رو روی کاغذی کنار خود کارت نگه دارید! در این صورت اگه مفقود یا دزیده بشه، یابنده یا دزد می‌تونه به حساب شما دسترسی داشته باشه. با همه این تفاسیر امروزه از این روش‌های ابتدایی برای رمز کردن اطلاعات استفاده نمی‌شه.

    تمامی روش‌های رمزنگاری برای انجام عملیات خودشون از کلید رمز استفاده می‌کنن. با تغییر این کلید، متن رمز شده تغییر پیدا می‌کنه. پس می‌شه گفت این کلید رمز نقش مهمی در سری باقی موندن متن رمز شده ایفا می‌کنه. مثلا کلید رمز روش سزاری عدد 3 بود. اگه قرار بذاریم که به جای سومین حرف، دهمین حرف بعدی رو جایگزین حروف متن اصلی بکنیم، در اون صورت کلید رمز ما عدد 10 خواهد بود. هر کس که از این عدد خبر نداشته باشه، نمی‌تونه متن رمز شده رو به متن اصلی برگردونه. مگه اینکه بخواد به روش آزمون و خطا همه‌ی حالت‌ها رو (مثلا در زبان انگلیسی اعداد یک تا 26) امتحان کنه که در روش‌های رمزنگاری امروزی اصلا جوابگو نیست. کلید رمزهای امروزی دامنه‌ی بسیار بزرگی رو شامل می‌شن که قوی‌ترین ابررایانه‌ها هم به این سادگی‌ها از پسشون بر نمی‌یان. در ضمن ممکنه به صورت اتفاقی رمزگشایی با یه کلید رمز اشتباه، متنی رو تولید کنه که از نظر مفهومی (مثلا دستور زبان) کاملا درست به نظر می‌یاد. یا اینکه مثلا فرض کنید متن اصلی ما یه شماره حسابه که رمز شده. این متن رمز شده با هر کلیدی باز بشه تبدیل به یه عدد می‌شه که طبیعتا نمی‌شه تشخیص داد کدوم یکی شماره حساب واقعی‌ه.

    در کل دو روش اساسی برای رمز کردن اطلاعات وجود داره.

    رمزنگاری متقارن: در این روش کلید رمز کردن متن و کلید گشایش رمز یکی هستن. به عبارت دیگه با همون کلیدی که متن رمز شده، همون کلید هم متن رو از رمز بیرون می یاره. مثل در اتاق که برای باز و بسته کردن اون از یه کلید استفاده می‌کنیم. روش‌های DES، 3-DES، AES از این دست روش‌ها هستن.

    رمزنگاری کلید عمومی: در این روش از کلیدهای متفاوتی برای رمز کردن و گشایش رمز استفاده می‌شه. به این ترتیب که یکی از کلیدها به صورت عمومی در اختیار همه قرار می‌گیره و یه کلید به صورت خصوصی باقی می‌مونه. متن با استفاده از کلید عمومی رمز و با کلید خصوصی از رمز خارج می‌شه. بنابراین افرادی که به کلید عمومی دسترسی دارن فقط می‌تونن متنی رو رمز و ارسال کنن، و نمی‌تونن متن سایر افراد رو از رمز در بیارن. این امکان فقط برای کسانی وجود داره که به کلید خصوصی دسترسی دارن. نکته‌ی مهم هم اینه که نمی‌شه به این سادگی‌ها و با محاسبات ساده یا با زمان کم از کلید عمومی به کلید خصوصی رسید. شاید شنیده باشید که گاهی اخباری در مورد کشف بزرگترین عدد اول اعلام می‌شه. یکی از کاربردهای اعداد اول بزرگ در روش رمزنگاری RSA هستش که یکی از روش‌های رمزنگاری عمومی محسوب می‌شه.

      

اصول کرکهف

امروزه در طراحی و پیاده‌سازی روش‌های مختلف رمزنگاری سعی در پیروی از اصولی می‌شه که توسط پروفسور کرکهف ابداع شدن:

    1- سیستم رمزنگاری اگرنه به لحاظ تئوری که در عمل باید غیرقابل شکست باشد.

    2- اصل اساسی کرکهف: سیستم رمزنگار باید هیچ نکته‌ی پنهان و محرمانه‌ای نداشته باشد. بلکه تنها چیزی که باید سری نگاه داشته شود، کلید رمز است. طراح سیستم رمزنگار نباید جزئیات سیستم خود را حتی از دشمنان مخفی نگاه دارد.

    3- کلید رمز باید به گونه ای قابل انتخاب باشد که اولا بتوان براحتی آنرا عوض کرد و ثانیا بتوان آنرا به خاطر سپرد و نیازی به یادداشت کردن کلید رمز نباشد.

    4- متون رمزنگاری شده باید از طریق خطوط تلگراف قابل مخابره باشند.

    5- دستگاه رمزنگاری یا اسناد رمزشده باید توسط یک نفر قابل حمل باشد.

    6- سیستم رمزنگاری باید به سهولت قابل راه‌اندازی و کاربردی باشد. چنین سیستمی نباید به آموزش‌های مفصل و رعایت فهرست بزرگی از قواعد و دستورالعمل‌ها نیاز داشته باشد.

    از بین این اصول، اصل دوم به اصل اساسی کرکهف مشهوره که همیشه رعایت می‌شه. به این ترتیب هیچ روش رمزنگاری معتبر و استانداردی وجود نداره که روش رمزنگاری یا رمزگشایی اون از کسی مخفی باشه. بزرگترین رقابت هم زمانی پیش می‌یاد که سعی می‌شه با در دست داشتن این روش‌ها راه‌هایی برای نفوذ در اون‌ها یا شکستن ساده‌تر متون رمز شده توسط اون ها پیدا کرد.

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

    پی‌نوشت: بعد از تلاشی که برای تبدیل متن اجغ وجغ به متن فارسی کردم، تازه متوجه شدم که ایمیل دیگه‌ای اصل متن فارسی رو داشته!

    + جمعه، 21 اسفند ماه 1388

    »

    

    پی‌نوشت: اون ایده‌ی رمزنگاری طی مطالعات دوره‌ی کارشناسی ارشد، تکمیل و به صورت مقاله ارائه و چاپ شد.


امتیاز نوشته
  • 1
  • 2
  • 3
  • 4
  • 5
ارسال پیام

نام: *  

پست الکترونیک:

وبگاه:

متن پیام: *

right 01 02 03 04 05 06 07 08 09 10 11 12 13 14 left

 

سوال:   شش نه  تا؟    (عدد) تا    


» آرزو

یکشنبه، ۱۲ دی ماه ۱۳۹۵، ساعت ۱۴:۱۷
سلام
امروز سر زدم وبلاگای قدیممون
به رسم دید و بازدید هم که باشه اومدم سر زدم
چقد خوبه تاریخ وبلاگت به روزه، که هنوز نوشتنو ادامه میدی
موفق باشی دوست قدیمی


جمعه، ۱۷ دی ماه ۱۳۹۵، ساعت ۰۰:۴۷
مسعود:
سلام دوست قدیمی

یاد آن دوران پر شور نویسنده‌گی به خیر واقعا. امید ریاضی و لبخند ریاضی و ...

ممنون که سر زدی. 01