رمز نگاری :
کلمه Cry Ptography ( رمز نگاری ) بر کرفته از لغات یونانی به معنای « محرمانه نوشتن متون » است
به نظر می رسد که اولین کدها و رمزها، توسط شکارچیان حیوانات برای ارتباط بین خودشان مورد استفاده قرار گرفته است، اما در طی سال های متمادی، تا امروز گونه های مختلفی از این کدها و رمزها ابداع شده است .
کد، رمز نگاری، پیام های رمزی و … همه و همه اصطلاحاتی هستند که منظور از آن ها ارسال پیام از شخصی به شخص دیگر است به طوری که دیگران از آن مطلع نشوند. با ظهور سیستم های رمز نگار قوی، محافظت از داده های پر اهمیت سهل تر، و ردیابی فعالیت های جنائی دشوارتر شده است. اسناد محرمانه ای که در گذشته روی کاغذ پیاده و دستی تحویل می شد، یا با قفل و کلید پنهان می شد، امروز به سادگی و به صورت الکترونیک تولید، ارسال و ذخیره می شوند .
اما همان عواملی که چنین سادگی و سرعتی را در ارتباطات ایجاد کرده است ، تضمین زندگی خصوصی را هم با مشکل مواجع کرده است. در عصر الکترونیک، فرد مزاحم بسیار ساده تر از زمانی که اطلاعات رو در رو مبادله می شد می تواند پیام هارا شنود کند و حتی تغییر دهد. مردم به حق، محرمانه سازی را برای داد و ستد و محافظت از زندگی خصوصی خود ضروری می دانند، اما حکومت در سراسر دنیا از ترس اینکه کلیدهای رمز نگاری مخفی به سلاح های تروریست ها و دیگر جنایتکاران می افزاید، دستپاچه و نگرانند. برخی از کشورها با ساختن مجموعه ای از دستورالعمل ها و قوانین هزار تو، سعی در مسدود کردن واردات و صادرات این فناوری و استفاده از آن را دارند .
نبردهای گذشته :
آن چه منجر به استفاده گسترده از رمز نگاری شده است، افزایش نگرانی درباره تهدیدها و خطرات احتمالی در زندگی خصوصی و امنیت است. روش های پیشرفته و رمز نگاری که زمانی ممکن بود فقط در اختیار جاسوسان حرفه ای باشد، هم اکنون برای هر فرد تازه کار دارای کامپیوتر شخصی و نرم افزارهای ارزان و موجود، قابل دسترسی است .
در طی دو دهه گذشته، اشخاص و شرکت ها به خوبی پذیرای این فناوری شده اند و از آن برای منظورهای مختلفی استفاده می کنند : از استفاده از پست الکترونیکی، نگهداری اطلاعات پزشکی و قراردادهای قانونی تا برقراری مذاکرات بر خط. الگوریتم های رمز نگاری در تمامی معروف ترین مرورگرهای وب نوشته شده اند و به سادگی می توان آن ها را در اکثر برنامه های پست الکترونیک به کار برد.
اما اگر امروز اشخاص عادی می توانند پیام خود را به صورتی کمابیش باز نشدنی رمز کنند ، جنایتکاران، تروریست ها و گروه های خراب کار هم چنین امکانی را خواهند داشت. این مطلب حکومت ها را در وضعیت نامناسبی قرار داده است.در گذشته پلیس ( با مجوز دادگاه یا بدون آن ) می توانست سند مخفی را مثلاً با باز کردن گاو صندوق بیابد اما به کارگیری نیروی فیزیکی و رمز گشایی داده هایی که با رایانه رمز شده اند، بی فایده است. این دگرگونی ها، بسیاری از دولت ها را در سراسر دنیا واداشته است تا این فن آوری را اخطاری جدی برای نظم عمومی به حساب آورند و به فکر مهار گسترش آن باشند.
حکومت های سرکوب گر از این که گروه های مخالف ، از رمز نگاری در جهت گسترش افکار و عقاید ضر حکومتی شان استفاده کنند در هراسند و حکومت های دموکراتیک بیم آن دارند که رمز نگاری در پیشبرد و تقویت فعالیت های قاچاقچیان مواد مخدر، گروه های خشونت و دیگر دشمنان جورواجور، مؤثر واقع شود .
رمز نویسی :
روش های مختلفی برای ارسال پیام بین افراد به صورت رمز وجود دارد.یکی از آن، رمز نویسی فیزیکی است. این روش بر مخفی کردن پیام به صورت فیزیکی تکیه دارد. برای مثال، می توان استفاده ریز نسخه، ارسال پیام از طریق انسان و حیوان، نوشتن با جوهرهای نامرئی و … را نام برد.
یکی دیگر از روش های ارسال پیام به صورت رمز، رمز نویسی است. در این روش ماهیت ارسال پیان پنهان نمی شود، بلکه پیام ارسالی به وسیله سیستم ارسال کننده تبدیل به پیامی غیر قابل خواندن می شد. در واقع در این جا با دو پیام رو به رو هستید. پیام اول، پیام قابل فهم و خواندن اولیه است که متن عادی یا متن رمز نشده نامیده می شد. پیام دوم، پیام تبدیل به رمز شده است که اصطلاحاً متن سری گفته می شود.
اهداف رمز نگاری :
مجبورید از چیزهایی برای به هم ریختن متن و پیام استفاده کنید، تا آن را به صورت رمز درآورید با این حال وقتی که چیزی را رمز می کنید، انگار دارید الگوی جدیدی را می سازید. به همین صورت اگر شخصی بخواهد پیام های رمز شده را کشف کند، اغلب باید معکوس کارهایی را انجام دهد که شما برای رمز کردن متن ، کرده اید .
اولین کاری که باید که یک کد شکن و رمز گشا انجام دهد این است که به نویسه ها یا کاراکترهای تکراری در متن توجه کند. تکرار نویسه ها و کاراکترها باعث آشکار شدن الگوها و خصوصیات متن رمز نشده می شود. می توانید از روش های مختلفی برای کشف الگوها استفاده کنید. برای مثال، به صورت دستی می توان الگوها را کشف کرد. ولی این کار برای متن های رمزی پیچیده کار چندان مناسبی نیست، اما رایانه می تواند به سرعت تمام جای گذاری ها و جا به جایی ها را انجام دهد تا الگوی متن اصلی را به سرعت پیدا کند . به این ترتیب پیام رمزی کشف رمز می شود. برای مثال، قطعه برنامه زیر در یک رایانه پنتوم 3 ، 550 مگاهرتزی، از عدد صفر تا عدد 1169443 را در عرض یک ثانیه می شمارد :
Dim x as Loag
Privata Sub Form – Loadc
Rep :
X = x + 1
Gotorep End Sub
اگر از رایانه برای رمزهای پیچیده استفاده نشود، شاید چندین سال طول بکشد تا متنی را که به صورت رمز در آمده است کشف رمز کرد.
حتی قبل از رایانه ها خیلی از مردم که زمان کافی و نبوغی داشتند، می توانستند به سرعت و به آسانی بسیاری از پیام های رمز شده را کشف رمز کنند و انجام این کار را می توان یک پیشرفت مهم در قرن پانزدهم دانست .
اصطلاحاتی در رمز نگاری :
پیامی که باید رمز نگاری شود، متن آشکار Plain Text نامیده می شود و توسط یک تابع خاص با پارامتری به نام کلید Key به متن رمز تبدیل می گردد. حاصل فرآیند رمز نگاری که متن رمز Cipher Text نامیده می شود، بر روی کانال منتقل خواهد شد.
هنر شکستن رمز بدون در اختیار داشتن کلید آن، به نام علم تحلیل رمز Crypti analisis و به هنر ابداع روش های رمز نگاری جدید، علم Cry ptology اطلاق می شود. در اختیار داشتند یک نماد و فرمول ریاضی که ارتباط بین متن آشکار، متن رمز شده و کلید رمز را مشخص می کند.
در اختیار داشتن یک نماد و فرمول ریاضی که ارتباط بین متن آشکار، متن رمز شده و کلید رمز را مشخص می کند، بسیار مفید خواهد بود . ما از نماد استفاده خواهیم کرد. بدین معنی که عملیات رمز نگاری بر روی متن آشکار P توسط کلید رمز K انجام شده و متن رمز شده C به دست آم ده است. به روش مشابه فرمول عمل رمز گشایی متن رمز شده را توسط کلید K توصیف می کند. کلید رمز یک رشته کاراکتری نسبتاً کوتاه است که پیام بر اساس آن رمز می شود.
آینده رمز نگاری :
امروزه به نظر می رسد که رمز نگاری به اندازه کافی قوی است، چرا که نیازی به قوی تر کردن آن احساس نمی شود و البته فرضیات ریاضی حاکم بر آن می تواند میدان مبارزه علمی باشد. مثلاً پیدا کردن راهی برای فاکتورگیری عوامل اول اعداد خیلی بزرگ. ضمناً هر روش رمز نگاری را می توان صرفاً با اضافه کردن بیت هایی به کلید آن قوی کرد.
با این حال برخی روش های در حال توسعه ممکن است در مخابرات و ذخیره الکترونیکی استفاده شوند : رمز کردن یا منحنی های بیضوی ، رمز کردن صدا ( که در حال حاضر مجاناً در اینترنت قابل استفاده و در دسترس است ) ، رمز کردن کوانتمی و رمز کردن DNA
رمز کردن با منحنی های بیضوی، دسته جدیدی از الگوریتم ها هستند که ادعا می شود می توانند روش های رمز نگاریی به همان قدرت الگوریتم های استاندارد امروزی برای کامپیوترهای دستی و کوچک مانند s Palm Pilot‘3 Com تأمین کرد.
رمز کردن صدا، پاسخی است به رشد ترافیک صوتی در اینترنت . با استفاده از نرم افزارهای مناسب، امروزه همگان می توانند با هر کاربر دیگری روی اینترنت مکالمه کاملاً رمز شده ای داشته باشند. شاید پیشرفته ترین این نرم افزارها Speak Freely باشد که مجاناً از شبکه اینترنت قابل دسترسی است ( WWW. SpeakFreely . org ) .
رمز کردن کوانتمی به خودی خود یک الگوریتم رمز نگاری نیست بلکه وسیله ای است برای تولید و ایمن سازی نوع توزیع کلیدهای اختصاصی ( Private Key ) . بر اساس اصل عدم قطعیت هایزنبرگ، ایده مطرح شده در آن به این صورت است که فوتون های برقرار کننده ارتباط وقتی از مقصد مورد نظرشان به سوی یک استراق سمع کننده منحرف شوند، یک تغییر برگشت ناپذیر در حالت کوانتمی سیستم ایجاد می شود.
رمز نگاری DNA نیز به پیچیده بودن پیدا کردن یک رشته DNA که حاوی پیام است در میان 30 میلیون DNA بستگی دارد که حتی کشف « وجود » پیام رمز شده را نیز بعید می کند.
اگر رمز نگاری و محصولات مربوط به آن به همین منوال در استفاده های شخصی و تجاری توسعه پیدا کند، کشورها باید در سیاست هایشان در قبال این فناوری، تجدید نظر کنند. چندی پیش دولت آلمان اعلام کرد رمز نگاری را نیازی ضروری برای زندگی خصوصی شهروندان، توسعه تجارت الکترونیکی و محافظت از اسرار می داند. چند ماه پیش نیز نخست وزیر فرانسه مواضع مشابهی را اعلام کرد. دولت های آمریکا و کانادا نیز اعلام کردند دیگر مجازاتی برای رمز نگاری در کاربردهای داخلی در نظر نمی گیرند.
معنی چنین گرایش هایی واضح است : دسترسی همگانی به اینترنت ، حتی با وجود نظارت، مبادله نرم افزارهای رمز نگاری را میان کشورها کاملاً تسهیل کرده است و اگر یک یا چند کشور اصلی سیاست عدم اعمال نظارت را در پیش گیرند، این فناوری حتی با سهولت بیشتری گسترش می یابد.
اما چگونه می توان میان محرمانه سازی و امنیت، تعادل برقرار کرد ؟ بدون شک حکومت ها ملزم به محافظت از شهروندانشان در برابر تروریست ها و جرم و جنایت اند. یک راه حل ناقص برای ایجاد تعادل، می تواند مجرمانه اعلام کردن استفاده از رمز نگاری در صورت ارتکاب جنایت های سازمان دهی شده باشد.
به هر حال ، ثابت شده است که تلاش برای کنترل رمز نگاری روشی نا کارآمد برای جلوگیری از جنایت است. حتی ممکن است مصالح ملی را به مخاطره افکند. به طریق مشابه، اعطای قدرت های پلیسی جدید به مجریان قانون کمک کمتری به محافظت از زیرساخت های حیاتی کشور می کند تا ساختن فناوریی با امنیت بالاتر. و اگر امنیت بیشتر و بالاتر چیزی است که واقعاً حکومت ها به دنبال آن اند، خیلی از کارها را می توان با همین ابزارهای موجود انجام داد: به رمز کردن داده ها و ارتباط های پر اهمیت، شنود و بازیافت غیر قانونی آن را برای اشرار ناممکن می کند .
اصل کرکهف :
تمام الگوریتم های رمز نگاری باید آشکار و عمومی باشند و تنها کلیدهای رمز مخفی و محرمانه هستند .
بر اساس اصل کرکهف، الگورتم های رمز نگاری باید آشکار و در دسترس همگان باشد زیرا هزینه مخفی نگاه داشتن آن از آشکار بودن بیشتر است و وقتی الگوریتم رمز نگاری مخفی باشد، نا امنی آن ( یعنی تلاش برای رسیدن به اصل الگوریتم ) هم بیشتر است و در ضمن وقتی که سری ماندن پیام به کلید وابسته است، پس هر چه قدر طول کلید بیشتر باشد، امنیت آن ها بیشتر است. مثلاً اگر از یک کلید 256 بیتی، به جای یک کلید 128 بیتی استفاده کنیم از امنیت بیشتری برخوردار است، زیرا برای شکستن یک کلید 256 بیتی نسبت به یک کلید 128 بیتی به تلاش خیلی بیشتری نیاز است .
از دیدگاه یک رمز شکن، مسئله کشف رمز دارای سه مرحله است :
1. هر گاه توده ای از متن رمز شده ( بدون هیچ متن آشکار و بدون هیچ کلید ) در اختیار داشته باشد ، با مسئله ای به نام متن صرفاً رمز شده ( Only Ciphertext ) مواجه است.
2. وقتی رمز شکن بخشی از متن آشکار را به همراه معادل رمز شده آن در اختیار دارد ، اصطلاحاً با مسئله متن آشکار و شناخته شده ( Known Plain Text مواجه است.
3. نهایتاً هر گاه رمز شکن قادر باشد هر قسمت دلخواه از یک متن آشکار را به دلخواه خود رمز کند، اصطلاحاً با مسئله(( متن آشکار و انتخابی (Chosen Plain Text) )) مواجه است.
پیشگفتار
Steganogr aphy ,هنر مخفی کردن یک متن در متن دیگر، یکی از هم خانواده های Cryptography یا رمز نگاری است که امروزه به دلیل درخواست صنعت در به جا گذاشتن آثاری در فیلم های ویدئویی و صدا برای اعمال copyripht استفاده فراوانی پیدا کرده است. به عمل اضافه کردن نشانه ای در عکس، ویدئو یا صدا برای نشان دهنده هویت آن اثر ، watermarking یا fingerprinting می گویند.
البته watermarking و fingerprinting، کمی با کیدیگر تفاوت دارند. وقتی نشانه تجاری یا مشخصه ای در یم اثر مانند عکس،ویدئو یا صدا به شکل مخفیانه ذخیره می شود، به آن watermarking می گویند ؛ اما مخفی کردن شماره سریال یا یک مشخصه از یک چیز در چیز مشابه دیگر را fingerprinting می نامند. هر دوی این روش ها برای جلوگیری از دزدی آثار به کار می روند. از دومی برای پیدا کردن ناقضین copyright و از اولی برای اثبات آن استفاده می شود. اما این دو روش بخشی از مطلب کلی تری به نام Steganography هستند.
هدف ما از این مقاله، دادن اطلاعات کلی درباره Steganography است. برای رسیدن به این هدف، ابتدا تاریخچه ای از این عنوان را که به یونان باستان باز می گردد می گوییم، سپس روش های مختلف این کار، مانند مخفی کردن اطلاعات در متن، در عکس و یا در صدا را کمی توضیح می دهیم.
در روش های Steganography در متن ، 3 روش life – shift coding ، word – shift coding و feature coding را بررسی می کنیم. همچنین روش های جذاب دیگری مانند تغییر گرامر در جملات را نیز مورد بررسی قرار می دهیم .
Steganography در عکس از زمانی شروع شد که کامپیوترهای قدرتمند وارد صحنه شدند، همچنین نرم افزارهایی که این کار را انجام می دهند بر روی اینترنت بعضاً به شکل مجانی یافت می شوند. در این قسمت روش Least Significant Bit insertion را بررسی می کنیم.