کلمه cryptography(رمزنگاری) برگرفته از لغات یونانی به معنای "محرمانه نوشتن متون" است.رمزنگاری پیشینه ای طولانی و درخشان دارد که به هزاران سال قبل برمی گردد.متخصصین رمزنگاری بین "رمز"(Cipher) و "کد"(code) تمایز قائل می شوند."رمز" عبارتست از تبدیل کاراکتر به کاراکتر یا بیت به بیت بدون آنکه به محتویات زبان شناختی (ادبیات) آن پیام توجه شود.در طرف مقابل،"کد" تبدیلی است که کلمه ای را با یک کلمه یا علامت(سمبول)دیگر جایگزین می کند.امروزه از کدها استفاده چندانی نمی شود اگرچه استفاده از آن پیشینه طولانی و پرسابقه ای دارد.
موفقترین "کد"هایی که تاکنون ابداع شده اند توسط ارتش ایالات متحده و در خلال جنگ جهانی دوم در اقیانوس آرام بکار گرفته شد.آنها از لهجه محلی Navajo در میان سرخپوستان الهام گرفته و برای عبارات و کلمات نظامی به سادگی از لغات خاص این زبان محلی استفاده کردند؛به عنوان مثال عبارت chay-dagahi-nail-tsaidi (در زبان محلی سرخپوستان به معنای کشنده لاک پشت!) رمزی برای سلاح ضد تانک بود.زبان Navajo لهجه ای بسیار آهنگین و بشدت پیچیده است و هیچ ادبیات نوشتاری و الفبای خطی نداردو یک فرد ژاپنی (آن هم در جنگ جهانی دوم) هیچ چیزی در مورد آن نمی دانست.
در سپتامبر 1945 در مجتمع متفقین در سن دیه گو این "کد" با بیان گزارش ذیل توصیف شد:"برای سه سال متوالی ،هرگاه ناوگان دریایی در خشکی پهلو می گرفت، آنچه که جاسوسان ژاپنی (از بی سیم) استراق سمع می کردند یک صدای نامفهوم وشلوغ بود که با دیگر اصوات درهم آمیخته و در نتیجه صدایی شبیه به لحن راهبان تبت یا صدای یک بطری آبجوش که آب آن در حال خالی شدن باشد،می شنیدند!" ژاپنی ها هرگز نتوانستند این کد را بشکنند،پس از جنگ بسیاری از افرادی که مبادله پیام های سری جنگ را به زبان رمزی Navajo را بشکنند و این حقیقت،نقش بسیار مهمی در پیروزیهای آمریکاییان در جنگ اقیانوس آرام (با نیروی دریایی ژاپن)ایفاء کرد.
مقدمه ای بر رمزنگاری
از دیدگاه تاریخ،چهار گروه از مردم در شکل گیری هنر رمزنگاری دخیل بوده اند:"نظامیان"،"هیئت های سیاسی"،"خاطره نویسان/واقعه نگاران"و"عشاق!". از بین این ها نظامیان نقش مهمتری دارند و در طول قرن ها به تکوین این شاخه از علم پرداخته اند.سابقا˝ در مٶسسات نظامی،پیامهائی که باید رمزنگاری می شدند به یک کارمند(منشی) دون پایه و حقوق بگیر تحویل می شد تا آنها را رمز و ارسال کند.حجم عظیم پیام هایی که در طی یک روز باید رمز و ارسال می شد مانع از آن بود که بتوان این کار خطیر را بر عهده معدود متخصصین خبره حاضر در یک مٶسسه گذاشت.
تا زمان ابداع کامپیوترها،در عرصه یک جنگ واقعی و با تجهیزات اندک،بزرگترین نقطه ضعف استراتژی رمزنگاری آن بود که همه چیز به توانائی و سرعت عمل کارمند رمزنگار پیام،وابسته و منوط می شد.محدودیت دیگر آن بود که نمی شد براحتی و سریع یک روش رمزنگاری را به روشی دیگر تغییر داد زیرا این کار مستلزم بازآموزی جمع کثیری از منشیان و کارمندان رمزنگار بود.از طرفی این خطر نیز وجود داشت که یکی از منشیان رمزنگار،دستگیر شده و روش رمزنگاری فاش گردد لذا باید این مکان ها مهیا می شد که به محض احساس لزوم،روش رمزنگاری تغییر کند. پیامی که باید رمزنگاری شود،"متن آشکار"(Plaintext) نامیده می شود و توسط یک تابع خاص با پارامتری بنام "کلید"(key) به متن رمز،تبدیل می گردد. نتیجه فرآیند رمزنگاری که "متن رمز"(Cipher text) نامیده می شود بر روی کانال منتقل خواهد شد.فرض کنیم که دشمن یا اخلالگر(Intruder) متن رمز شده را به صورت کامل می شنود و آن را در اختیار می گیرد. به هر حال او بر خلاف گیرنده اصلی،براحتی قادر به رمزگشایی پیام و بهره برداری از آن نخواهد بود زیرا کلید رمز را نمی داند.برخی اوقات یک اخلالگر غیر فعال (Passive intruder) نه تنها قادر است به جریان اطلاعات بر روی کانال مخابراتی گوش بدهد بلکه می تواند آنها را در جایی ثبت کرده و بعدا˝ آنها را بارها به جریان بیندازد؛در مقابل یک اخلالگر فعال (Active intruder) می تواند پیام مورد نظر خود را در داخل یک پیام مجاز و معتبر جاسازی کند یا در آن دستکاری نماید. هنر شکستن رمز بدون در اختیار داشتن کلید آن ،"علم تحلیل رمز"(Crypto analysis) نام دارد؛ به هنر ابداع روش های رمزنگاری جدید "علم رمزنگاری"(Cryptology) اطلاق می شود.
2 دو اصل اساسی در رمزنگاری
فهم دو اصل اساسی که چندین سیستم رمزنگاری بر آن استوار هستند اهمیت فراوان دارد.
1- افزونگی (Redundancy)
اولین اصل آن است که تمام پیام های رمزشده باید شامل مقداری "افزونگی" (داده های زائد) باشند؛به عبارت دیگر لزومی ندارد که اطلاعات واقعی به همانگونه که هستند رمز و ارسال شوند. یک مثال می تواند به فهم دلیل این نیاز کمک کند.فرض کنید یک شرکت به نام TCP (The Couch Potato) با 60000 کالا،از طریق سیستم پست الکترونیکی سفارش خرید می پذیرد. برنامه نویسان شرکت TCP به خیال آنکه برنامه های مؤثر کارآمدی می نویسند،پیام های سفارش کالا را مشتمل بر 16 بایت نام مشتری و به دنبال آن سه بایت فیلد داده(شامل یک بایت برای تعداد کالا و دو بایت برای شماره کالا ) در نظر می گیرند که سه بایت آخر یک کلید بسیار طولانی رمزنگاری می شود و این کلید را فقط مشتری و شرکت TCP می داند.
2- تازگی پیامها(Freshness)
دومین اصل اساسی در رمزنگاری آن است که باید محاسباتی صورت بگیرد تا مطمئن شویم هر پیام دریافتی تازه و جدید است یا به عبارتی اخیرا˝ فرستاده شده است.این بررسی برای جلوگیری از ارسال مجدد پیام های قدیمی توسط یک اخلالگر فعال ،الزامی است.اگر چنین بررسیهایی انجام نشود کارمند اخراجی ما قادر است با ایجاد یک انشعاب مخفی از خط تلفن ،پیام های معتبری را که قبلا˝ ارسال شده،مکررا˝ ارسال نماید.
اصل اساسی 2 در رمزنگاری: به روشهایی نیاز است تا از حملات منجر به تکرار پیام جلوگیری شود.
یک چنین محاسبه ای را می توان با قراردادن یک "مهر زمان" (Timestamp) در پیام ها پیش بینی کرد به نحوی که پیام مثلا˝ برای ده ثانیه معتبر باشد. گیرنده پیام می تواند آن را برای حدود ده ثانیه نگه دارد تا بتواند پیام های جدید را با آن مقایسه کرده و نسخه های تکراری را حذف نماید. پیام هایی که بعد از ده ثانیه دریافت شوند کنار گذاشته می شوند؛بدین ترتیب پیام های تکراری که دارای مهر زمان هستند، به عنوان پیام های قدیمی شناخته و حذف خواهند شد.به غیر از روش مهر زمان ،روش های دیگری برای ارزیابی تازگی پیام ها وجود دارد.
www.smsm.ir