کلمه cryptography(رمز نگاری)برگرفته از لغات یونانی به معنای(محرمانه نوشتن متون)است.
از آنجا که بشر همیشه چیزهایی برای مخفی کردن داشته است.
رمز نگاری برای مخفی کردن اطاعات قدمتی برابرعمربشر دارد.از پیغام رساندن با دود تا رمز نگاری سزاری، رمزهای جایگشتی و روش های متنوع دیگر.
رمز نگاری علم کدها و رمزهاست.
یک هنر قدیمیاست و برای قرن ها به منظور محافظت از پیغام هایی که بین فرماندهان، جاسوسان، عشاق و دیگران رد و بدل شده استفاده شده است.
هنگامیکه با امنیت داده ها سرو کار داریم، نیاز به اثبات هویت فرستنده و گیرنده پیغام داریم و در ضمن باید از عدم تغییر محتوای پیغام مطمئن شویم.
این سه موضوع یعنی، محرمانگی، تصدیق هویت و جامعیت در قلب امنیت ارتباطات داده های مدرن قرار دارند و میتوانند از رمز نگاری استفاده کنند اغلب این مسئله باید تضمین شود که یک پیغام فقط میتواند توسط کسانی خواننده شود که پیغام برای آنها ارسال شده است و دیگران این اجاره را ندارند، روشی که تامین کننده این مسئله باشد (رمز نگاری) نام دارد، رمز نگاری هنر نوشتن به صورت رمز است به طوریکه هیچکس به غیر از دریافت کننده مورد نظر نتواند محتوای پیغام را بخواند.
متخصصین رمز نگاری بین (رمز) (cipher) و (کد) (code) تمایز قائل میشوند(رمز) عبارت است از تبدیل کاراکتر به کاراکتر یا بیت به بیت بدون آنکه محتویان زبان شناختی آن پیام توجه شود.
در طرف مقابل (کد) تبدیلی است که کلمه ای را با یک کلمه یا علامت (سمبو) دیگر جایگزین میکند.
امروه از کدها استفاده چندانی نمیشود اگر چه استفاده از آن بیشینه طولانی دارد موفق ترین کد هایی که تا کنون ابداع شده اند توسط ارتش ایالات متحده و در خلال جنگ چهانی دوم در اقیانوس به کار گرفته شد.
از دیدگاه تارخی 4 گروه از مردم در شکل گیری هنر رمز نگاری دخیل بوده اند.
(نظامیان)، (هیئت های سیاسی)، خاطره نویسان/ واقعه نگاران) و (عشاق) از بین اینها نظامیان نقش بسیار مهم تری دارند.
سابقا در موسسات نظامیپیام هایی را که باید رمز شد به یک کارند یا منشی حقوق بگیر تحویل میشد تا آنها را رمز و ارسال کند حجم عظیم پیام هایی که در طول یک روز باید ارسال میشد مانع از آن بود که این کار بر عهده معدود متخصصین خبره حاضر در یک موسه گذاشت.
تا زمان ابداع کامپیوترها، در عرصه جنگ واقعی و با تجهیزات اندک بزرگترین نقطه ضعف استراتژی رمز نگاری آن بود که: همه چیز به توانایی و سرعت عمل کارمندان رمز نگار پیام، وابسته میشد.
به راحتی و سریع نمیشد که یک روش رمز نگاری را به روشی دیگر تغییر داد.
امکان دستگیر شدن کارمند رمز نگار و فاش شدن روزش رمز نگاری وجود داشت.
لذا باید این امکان مهیا میشد که به محض احساس لزوم روش رمز نگاری تغییر کند این مشکلات متناقص منجر به پیدایش شکل (1) شد.
E روش رمزنگاری D روش رمز گشایی متن رمز C=E k( P) اخلالگر اخلال گر فعال می تواند پیام ها را تغییر بدهد اخلال گر غیر فعال در حال گوش دادن می باشد متن آشکار (رمز نشده) P kکلید رمز نگاری Kکلید رمز گشایی متن آشکار یا متن رمز شده (plaintext) p: پیامیکه باید رمز نگاری شود.
روش رمز نگاری E: متن آشکار با روش های مختلف میتواند رمز نگاری شود که از روش رمز نگاری تحلیل گران رمز و رمز شکن ها نیز مطلع اند یکبار تغییر کند و ممکن است هر چند سال.کلید رمز گذاری k: یک رشته کاراکتری نسبتا کوتاه است که پیام بر اساس آن رمز میشود.
از دید دیگران پنهان است و ممکن است بر طبق نیاز و به دفعات عوض شود.
روش رمز گشایی D: با استفاده از روش رمز گشایی متن رمز شده را رمز گشایی میکنند.
کلید رمز گشایی k: یک رشته کاراکتری است که پیام بر اساس آن رمز گشایی میشود.
متن رمز شده c: متنی که توسط یکی از روشهای رمز نگاری و با کلید k رمز شده است.
اخلال گر فعال: (Active intruder): پیام ها را میشنود و یا در اختیار میگیرد میتواند پیام مورد نظر خود را در داخل یک پیام مجاز معتبر جا سازی کند یا در آن دستکاری نماید.
خلاف گر غیر فعال (passive intruder): قادر است به جریان اطلاعات بر روی کانال های مخابراتی گوش دهد، آنها را در جایی ثبت کرده و بعدا آنرا بارها به جریان بیندازد.
اصل کرکهف: تمام الگوریتم های رمز نگاری باید آشکار وعمومیباشند و تنها کلید های رمز مخفی و محرمانه هستند.
روش های رمز نگاری: روش های رمز نگاری به طور کلی به 2 رده تقسیم میشوند: رمزهای جانشینی (substitution)رمزهای جایگشتی (iranspostion) رمزهای جانشینی (substitution cipher) در این رمز نگاری هر حرف یا گروهی از حروف با یک حرف یا گروهی دیگر از حروف جابه جا میشوند تا شکل پیام به هم بریزد یکی از قدیمیترین رمزهای شناخته شده روش رمز نگاری سزار است.
در این روش حرف a به D و b و به E و به همین ترتیب تا z که با c جایگزین میشود.
DWWDFN Attack حالت عمومیو ساده از رمز نگاری سزار آن است که هر حرف الفبا از متن اصلی ابا حرفی که در جدول الفباء k حرف بهتر قرار گرفته جابه جا شود روش (shiftby k کید رمز عدد k خواهد بود.
روش رمز نگاری سزار امروزه نمیتواند کسی را گول بزندو در سیستم رمز نگاری که در آن یک سمبول با سمبول دیگر جایگزین شود (سیستم یک حرفی) گفته میشود که در آن کلید رمز یک رشته 26 کاراکتری است و نگاشت جدول الفبا را مشخص مینماید.
a b c d e f g h i j k l m n o p q r s t u v w x y z متن آشکار Q W E R T Y U I O P A S D F G H J K L Z X C V B N M متن رمز شده Attack QZZQEA در روش فوق علیرغم آنکه آزمایش تمام حالات یک کلید ممکن نیست ولی حتی برای یک قطعه متن رمز شده کوچک، رمز متن به راحتی شکسته خواهد شد.
درحمله اصولی به این سیستم رمز از ویژگی های آماری زبان های طبیعی بهره گرفته شده است به عنوان مثال در زبان انگلیسی حروفی که بیشترین تکرار را دارند به ترتیب عبارتند از: e, t, o, a, n, i ترکیبات دو حرفی که اصطلاحا Diagram نامیده میشوند به ترتیب بیشترین تکرار عبارتند از: ترکیبات سه حرفی Trigram به ترتیب بیشترین تکرار عبارتند از the , ing, and, ion ترکیبات سه حرفی Trigram به ترتیب بیشترین تکرار عبارتند از the , ing, and, ion تحلیل گر رمز (رمز شکن) برای شکستن سیستم رمز نگاری (جانشین تک حرفی) با شمارش حروف متن رمز شده و محاسبه تکرار نسبی هر حرف شروع میکند پس حرفی را که دارای بیشترین تکرار است وحرف پر تکرار بعد را با t جایگزین میکند و میتواند با در نظر داشتن سه حرفی the به دنبال سه حرفی های txe در متن رمز شده میگردد به احتمال قوی x معادل با h است.
رمز نگاری جانشینی (Transposition) رمز نگاری جانشینی ترتیب سمبول های یک متن را حفظ میکند ولی شکل سمبول ها را تغییر میدهد.
بر عکس رمز نگای جایگشتی، یک بلوک از کاراکترها به طول ثابت را از ورودی دریافت کرده و یک بلوک رمز شده با طول ثابت در خروجی تولید میکند، در اینگونه از روش ها فهرست کامل جایگشت های ورودی را که متن رمز شده خروجی را تولید میکند) مشخص است.
برای شکستن رمز فوق، تحلیل گر رمز، ابتدا باید مطمئن شود که آیا واقعا با یک متن رمز شده به روش جایگشت روبه رو است یا خیرۀ گام بعد آن است که تعداد ستون ها حدس زده شده است.
گام آخر به دست آوردن تعداد ستون ها است عمل رمز شکنی در نقطه های با موفقیت روبرو خواهد شد که یک کلمه یا یک عبارت ظاهر گردد.
کلید رمز یک کلمه یاعبارتی است که هیچ حرف تکراری ندارد.
کاربرد کلید رمز آن است که ستون ها شماره گذاری میشود.
روش کار: شماره هر ستون بر اساس ترتیب الفبایی هر حرف کلید نسبت به جدول االفبا تعیین میشود.
مثلا ستون چهارم شماره 1 است (حرف A) و به همین ترتیب متن اصلی به صورت افقی (سطری) نوشته میشود و در صورت لزوم تعدادی حرف مانند a و b و به آخرین سطر اضافه میشود تا ماتریس مربوطه پر شود متن رمز شده بر اساس شماره ستون ها به صورت عمودی خوانده شده و به هم متصل میشود.
ترتیب خواندن ستون ها، از ستون با کمترین شماره به بزرگترین شماره است.
M E G A B U C K کلید رمز 7 4 5 1 2 8 3 6 p l e a s e t r a n s f e r o n e m i l l i o n d o l l a r s a متن آشکار Pleasetransferonemilliondollars متن رمزشده afllselatoosinmoesilrnnapaederir رمز one – time – pad (به هم ریزی محتوی پیام) ایجاد یک سیستم رمز نگاری که غیر قابل شکستن باشد کار ساده ایست.
ابتدا یک رشته بیت تصادفی را به عنوان کلید انتخاب کنید و سپس متن اصلی را به یک رشته بیت متوالی تبدیل نمایید، (مثلا با الحاق بیت های کد اسکی هر کاراکتر نهایتا این دو رشته بیت را باهم XOR کنید رشته بیت حاصل، متن رمز شده است که هرگز قابل شکستن نیست.
دلیل منطقی شکست ناپذیری این روش رمز گذاری، (تئوری اطلاعات) استنتاج میشود: در صورت انتخاب کلید کاملا تصادفی هیچ اطلاعاتی از پیام اصلی در پیام رمز شده باقی نخواهد ماند زیرا تمام حروف و سمبول ها با حتمال وقوع مشابه د رمتن رمز شده تکرار خواهند شد.
Pad: کلید رمز تصادفی است.
به ازای pad های مختلفی که با پیام 1، XOP میشوند رشته های مختلفی ممکن است ظاهر شود که بامتن اصلی اشتباه گرفته شود.
معایب کلید را نمیتوان به خاطر سپرد و گیرنده و فروشنده پیام باید آنرا حمل کنند که مطلوب و قابل اعتماد نخواهد بود حساسیت به کاراکتری های جا افتاده یا اضافی اگر یک کاراکتر به متن اضافه شود یا حذف شود از آن محل به بعد متن قابل مرز گشایی خواهد بود.
حجم کل داده هایی که میتواند ارسال شود به طول کلید مورد استفاده بستگی دارد.
رمز نگاری کوآنتومی: راه حل جالی برای مشکل انتقال کلید به روش one- time- pad به روی شکبه وجود دارد، (مکانیک کوآنتومی).
رمز نگاری کوآنتومیبر این اصل استوار است که نور در قالب بسته های کوچکی به نام فوتون باویژگی های خاص و عجیب جابه جا ی شود.
وقتی نور از یک فیلتر پلاریزه کننده عبور کند، پلاریه (قطبی) میشود.
اگر یک پرتو نوری از یک فیلتر پلاریزه عبور کند تمام فوتون های پرتو خارج شده از فیلتر در راستای محور فیلتر محور عمودی پلاریزه میشوند حال اگر این پرتو مجددا از یک فیلتر پلاریزه دوم عبور کند (شدت نور) پرتو خروجی متناسب با مربع کسینوسی زاویه بین محورهای عمودی دو فیلتر خواهد بود.
اگر محورهای دو فیلتر بر هم عمود باشند هیچ یک از فوتون ها از بین این دو فیلتر عبور نخواهد نمود برای تولید یک pad به عنوان کلید رمز، نیاز به تنظیم دو زوج فیلتر پلاریزه کننده است.
زوج فیلتر اول شامل یک فیلتر عمودی و یک فیلتر افقی است.
این انتخاب اصطلاحا (دستگاه مستقیم) Rectilinear Bosis نامیده میشود زوج فیلتر دوم مشابه با قبلی است با این تفاوت که 45 درجه چرخیده است یعنی یک از فیلتر ها در امتداد قطر گوشه یا بین سمت چپ به گوشه بالاست راست قرار گرفته و دیگری عمود بر آن یعنی در امتداد گوشه یا بین سمت راست به گوشه بالا سمت چپ قرار دارد.
زوج فیلتر دوم اصطلاحا (دستگاه مورب) Diagonal Basis نامیده میشود.
بدین ترتیب فرد ارسال کننده اطلاعات دارای دو دستگاه مبنا است که میتواند به انتخاب خود پرتو نو را از هر کدام از این دستگاه های مبنا (که هر یک شامل دو فیلتر است) عبور دهد.
درست مقابل، فرد گیرنده اطلاعات نیز از جنین ابزاری استفاده میکند.
این واقعیت که فرد گیرنده و ارسال کننده اطلاعات هر کدام دارای دو دستگاه مبنا هستند در رمز نگاری کوانتومیبسیار اساسی و حیاتی است.
حال ارسال کننده اطلاعات برای ارسال یک بیت توسط یکی از دستگاه های مبنا، فوتونی را برای گیرنده منتشر میکند و گیرنده به طور تصادفی یکی از دستگاه های مبنای خود را درجهت گرفتن این فوتون تنظیم میکند، اگر دستگاه set شده بادستگاه مبنا فرستنده منطبق بود الگوریتم on time pad عدد 1 به معنی درست بودن و اگر در دستگاه با یکدیگر متفاوت باشند عدد به منزله اشتباه set کردن دستگاه توسط گیرنده، ظاهر هواهد شد بدین ترتیب باچیدن صفر و یک