رمزنگاری شبکه

چکيده
امروزه در دنيای ديجيتال حفاظت از اطلاعات رکن اساسي و مهمي در تبادلات پيام ها ومبادلات تجاری ايفا مي نمايد. برای تامين نيازهای امنيتي تراکنش امن، از رمز نگاری استفاده مي شود. با توجه به اهميت اين موضوع و گذار از مرحله سنتي به مرحله ديجيتال آشنايي با روش های رمز گذاری ضروری به نظر مي رسد. در اين مطا لب ضمن بررسي الگوريتم های رمز نگاری کليد عمومي(نامتقارن) و کليد خصوصي(متقارن)، جنبه های گوناگون کليد عمومي مورد بررسي قرار مي گيرد و ويژگي های هر کدام بيان مي گردد.

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

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

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

فصل اول
کلیات بحث

تعريف رمزنگاری
رمزنگاری عبارت است از بهم ريختگی اطلاعات به طوری که برای کسی قابل فهم نباشد. فن آوری رمزنگاری امکان مشاهده ، مطالعه و تفسير پيام های ارسالی توسط افراد غير مجاز را سلب می نمايد. از رمزنگاری به منظور حفاظت داده ها در شبکه های عمومی نظير اينترنت استفاده می گردد. در اين رابطه از الگوريتم های پيشرفته رياضی به منظور رمزنمودن پيام ها و ضمائم مربوطه، استفاده می شود.

الگوريتم های رمزنگاری

انتقال اطلاعات حساس بر روی يک شبکه مستلزم بکارگيری مکانيزمی است که سه ويژگی زير را تضمين نمايد:

امنيت :
داده ارسالی نمی بايست توسط افراد غير مجاز، استفاده( خوانده ) گردد.

هويت :
افراد شرکت کننده در ارتباط همان افرادی می باشند که ادعا می نمايند .

غيرجعلی بودن اطلاعات :
داده دريافت شده در مقصد با داده ارسال شده در مبداء يکسان

بوده و اطلاعات دستکاری نشده باشد.
تکنولوژی هائی که يک ارتباط ايمن را ارائه می نمايند ، می بايست مبتنی بر مکانيزمی باشند که سه ويژگی فوق را تضمين نمايند . اينگونه تکنولوژی ها، عموما” از الگوريتم های رمزنگاری استفاده نموده و با رمز نمودن اطلاعات، عملا” امکان رمزگشائی و دستيابی به داده اوليه توسط افراد غير مجاز را سلب می نمايند. الگوريتم های رمزنگاری به دو گروه عمده تقسيم می گردند :

تاریخچه رمزنگاری

نمونه‌ای از روش رمز کردن موسوم به رمز سزار که بر اساس جابجایی ساده حروف الفبا عمل می‌کند
در بررسی نخستین استفاده‌کنندگان از تکنیک‌های رمزنگاری به سزار (امپراتور روم) و نیز الکندی که یک دانشمند مسلمان است برمی‌خوریم، که البته روش‌های خیلی ابتدایی رمزنگاری را ابداع و استفاده کرده‌اند. به عنوان مثال، با جابجا کردن حروف الفبا در تمام متن به اندازهٔ مشخص آن را رمز می‌کردند و تنها کسی که از تعداد جابجا شدن حروف مطلع بود می‌توانست متن اصلی را استخراج کند.

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

ماشین رمزکنندهٔ لورنتز که در جنگ جهانی دوم توسط آلمان برای رمز کردن پیام‌های نظامی مورد استفاده قرار گرفته است
در قرن بیستم میلادی از همین روش به همراه موتورهای الکتریکی برای رمزنگاری با سرعت بالا استفاده شد که نمونه‌های آن در ماشین رمز لورنتز و ماشین رمز انیگما دیده می‌‍شود.

اصول ششگانه کرکهف
آگوست کرکهف شهرت خود را از پژوهشهای زبانشناسی و کتابهایی که در این خصوص و زبان ولاپوک نوشته بود بدست آورد.او در سال ۱۸۸۳ دو مقاله با عنوان “رمز نگاری نظامی” منتشر کرد. در این دو مقاله شش اصل اساسی وجود داشت که اصل دوم آن به عنوان یکی از قوانین رمز نگاری هنوز هم مورد استفاده دانشمندان در رمز نگاری پیشرفته است:
• سیستم رمزنگاری اگر نه به لحاظ تئوری که در عمل غیر قابل شکست باشد.
• سیستم رمز نگاری باید هیچ نکته پنهان و محرمانه ای ن

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

 

رمزنگاری پیشرفته
با پدید آمدن رایانه‌ها و افزایش قدرت محاسباتی آنها، دانش رمزنگاری وارد حوزهٔ علوم رایانه گردید و این پدیده، موجب بروز سه تغییر مهم در مسائل رمزنگاری شد:
۱٫ وجود قدرت محاسباتی بالا این امکان را پدید آورد که روش‌های پیچیده‌تر و مؤثرتری برای رمزنگاری به وجود آید.
۲٫ روش‌های رمزنگاری که تا قبل از آن اصولا برای رمز کردن پیام به کار می‌رفتند، کاربردهای جدید و متعددی پیدا کردند.
۳٫ تا قبل از آن، رمزنگاری عمدتاً روی اطلاعات متنی و با استفاده از حروف الفبا انجام می‌گرفت؛ اما ورود رایانه باعث شد که رمزنگاری روی انواع اطلاعات و بر مبنای بیت انجام شود.

الگوريتم های محدود :
در اين نوع الگوريتم ها، محور امنیت اطلاعات بر محرمانه نگه داشتن الگوريتم استفاده شده در فرآيند رمزنگاری استوار است.

الگوريتم های مبتنی بر کليد:
در اين نوع الگوريتم ها، کليد محرمانه تلقی شده و الگوريتم می تواند در دسترس عموم باشد.
در اين رابطه از دو مدل رمزنگاری عمده استفاده می گردد: کليد خصوصی ( متقارن ) : فرستنده و گيرنده از يک کليد يکسان به منظور رمزنگاری و رمزگشائی استفاده می نمايند . کليد عمومی ( نامتقارن ) : به ازای هر کاربر از دو کليد استفاده می شود. يکی از کليدها ع
رمزنگاری کليد عمومي(نامتقارن) Public Key
رمزنگاری کليد عمومی که از آن با نام رمزنگاری نامتقارن نيز ياد می گردد، از دو کليد متفاوت برای رمزنگاری استفاده می نمايد : يک کليد برای رمزنگاری و کليدی ديگر برای رمزگشائی. در رمزنگاری کليد عمومی، با استفاده از يک روش کاملا” ايمن يک کليد برای ارسال کننده اطلاعات ايجاد و وی با استفاده از کليد فوق، اقدام به رمزنگاری و ارسال پيام رمز شده برای گيرنده می نمايد. امکان رمزگشائی پيام رمز شده صرفا” توسط دريافت کننده، امکان پذير خواهد بود. در رمزنگاری کليد عمومی، سيستم يک زوج کليد خصوصی و عمومی ايجاد می نمايد. کليد عمومی برای شخصی که از آن به منظور رمزنگاری يک پيام استفاده می نمايد، ارسال می گردد. وی پس از رمزنگاری پيام با استفاده از کليد عمومی، پيام رمز شده را ارسال می نمايد. دريافت کننده با استفاده از کليد خصوصی، اقدام به رمزگشائی پيام می نمايد.( ماهيت کليد خصوصی استفاده شده در رمزنگاری کليد عمومی، مشابه کليد خصوصی استفاده شده در رمزنگاری کليد خصوصی نمی باشد). حتی اگر يک فرد متخلف، به کليد عمومی دستيابی پيدا نمايد وی نمی تواند با استفاده از آن اقدام به رمزگشائی پيام رمز شده نمايد، چراکه رمزگشائی پيام صرفا” با استفاده از کليد خصوصی امکان پذير می باشد. برخلاف رمزنگاری کليد خصوصی، کليد های استفاده شده در رمزنگاری کليد

عمومی چيزی بمراتب بيشتر از رشته های ساده می باشند. کليد در اين نوع رمزنگاری دارای يک ساختار خاص با هشت فيلد اطلاعاتی است که دو فيلد آن به منظور رمزنگاری با استفاده از کليد عمومی استفاده می گردد و شش فيلد ديگر به منظور رمزگشائی پيام با استفاده از کليد خصوصی مورد استفاده قرار می گيرد. در سيستم رمزنگاری کليد عمومی با توجه به عدم ضرورت مبادله رمز مشترک، اولين مسئله در مديريت کليد برطرف می گردد. معمولترين سيستم نامتقارن، سيستم

رمزنگاری کليد عمومي بنام RSA ميباشد(حروف اول پديدآورندگان آن يعني Rivest ، Shamir و Adlemen). مي‌توان از يک سيستم نامتقارن براي نشان دادن اينکه فرستنده پيام همان شخصي است که ادعا مي‌کند، استفاده کرد. اين عمل اصطلاحا امضاء نام دارد. RSA شامل دو تبديل است:
۱- امضاء، برای اينکار متن اصلي با استفاده از کليد اختصاصي رمز مي‌شود.
۲- رمزگشايي، در اين مرحله، عمليات مشابه‌اي روي متن رمزشده صورت مي گيرد ولي اينکار با استفاده از کليد عمومي است.
براي تاييد امضاء بررسي مي‌کنيم که آيا اين نتيجه با ديتاي اوليه يکسان است؛ اگر اينگونه است، امضاء توسط کليد اختصاصي متناظر رمزشده است. به بيان ساده‌تر چنانچه متني از شخصي براي ديگران منتشر شود، آن متن شامل متن اصلي و متن رمز شده متن اصلي توسط کليد اختصاصي همان شخص مي باشد. حال اگر متن رمزشده توسط کليد عمومي آن شخص که شما از آن

مطلعيد رمزگشايي شود، مطابقت متن حاصل و متن اصلي نشاندهنده صحت فرد فرستنده است، به اين ترتيب امضاي فرد تاييد مي‌شود. اساس سيستم RSA فرمول زير است: X = Y^k (mod r)
که X متن کد شده، Y متن اصلي، k کليد اختصاصي و r حاصلضرب دو عدد اوليه بزرگ است که با دقت انتخاب شده‌اند. اين شکل محاسبات، روي پردازنده‌هاي بايتي بخصوص روي ۸ بيتي‌ها که در کارتهاي هوشمند استفاده مي‌شود بسيار کند است. بنابراين، اگرچه RSA هم تصديق هويت و هم رمزنگاري را ممکن مي‌سازد، درواقع براي تاييد هويت منبع پيام است که از اين الگوريتم در کارتها

ي هوشمند استفاده مي‌شود و براي نشان دادن عدم تغيير پيام در طول ارسال و رمزنگاري کليدهاي آتي استفاده مي گردد. ساير سيستمهاي کليد نامتقارن شامل سيستمهاي لگاريتم گسسته مي‌باشند مانند Diffie-Hellman، ElGamal و ساير طرحهاي چندجمله‌اي و منحني‌هاي بيضوي. بسياري از اين طرحها عملکردهاي يک طرفه‌اي دارند که اجازه تاييد هويت را مي‌دهند اما رمزنگاري ندارند. معموماً سيستمي امن محسوب مي‌شود که هزينه شکستن آن بيشتر از ارزش ديتايي باشد که نگهداري مي‌کند.
شکل زير، فرآيند رمزنگاری مبتني بر کليد عمومي بين دو کاربر را نشان مي دهد:

انواع مدل رمزنگاری کليد عمومي

۱٫ رمزنگاری کليد عمومي و امنيت
۲٫ رمزنگاری کليد عمومي و تشخيص هويت
۳٫ رمزنگاری کليد عمومي و غيرجعلي بودن اطلاعات
۴٫ رمزنگاری کليد عمومي و گواهينامه ديجيتالي
ويژگي مدل رمزنگاری کليد عمومي
عدم استفاده از کليدهای مشابه (در رمزنگاری ورمزگشايي)

هر کاربر دارای يک زوج کليد ( عمومی ، خصوصی) می باشد. از کليد عمومی به منظور رمزنگاری داده و از کليد خصوصی به منظور رمزگشائی داده استفاده می گردد.
اين مدل رمزنگاری تقريبا” ۵۰۰ مرتبه کندتر از رمزنگاری کليد خصوصی ( متقارن ) است .
از مدل رمزنگاری عمومی به منظور مبادله کليد خصوصی و امضای ديجيتال استفاده می شود.

فصل دوم
رمز نگاری کلید خصوصی ( Private Key )

رمزنگاری کليد خصوصي(Private Key )

منداولترين نوع رمزنگاری مبتنی بر کليد، رمزنگاری “کليد خصوصی” است. به اين نوع رمزنگاری، متقارن ، سنتی ، رمز مشترک ، کليد رمز نيز گفته می شود. در اين نوع رمزنگاری، فرستنده و گيرنده از کليد استفاده شده به منظور رمزنگاری اطلاعات آگاهی دارند. رمزنگاری کليدخصوصی، گزينه ای مناسب به منظور مبادله اطلاعات بر روی اينترنت و يا ذخيره سازی اطلاعات حساس در يک بانک اطلاعاتی و يا يک فايل می باشد. از روش فوق، به منظورايمن سازی ارسال اطلاعات در شبکه های عمومی استفاده می گردد( از گذشته تا کنون ). ايده اوليه و اساسی در چنين

سيستم هائی، “اشتراک يک رمز” بوده و دو گروه شرکت کننده در مبادله اطلاعات، بر روی يک “کليد رمزمشترک ” ، با يکديگر توافق می نمايند. بدين ترتيب امکان رمزنگاری و رمزگشائی پيام ها برای هر يک از آنان با توجه به آگاهی از “کليد رمز ” ، فراهم می گردد.

رمزنگاری متقارن(کليد خصوصی) چندين نقطه ضعف دارد. مبادله کليدهای رمز در شبکه های بزرگ امری دشوار و مشکل است. علاوه بر اين، اشتراک کليدهای رمز، مستلزم اين واقعيت است که فرستندگان و گيرندگان می بايست معتبر بوده و قبل از برقراری ارتباط، آشنائی لازم را نسبت به يکديگر داشته باشند( با تمام افراديکه قصد ارتباط ايمن با آنان وجود دارد ). همچنين، اين نوع سيستم های رمزنگاری، نيازمند استفاده از يک کانال ايمن به منظور توزيع کليدهای ” رمز” می باشند. الگوريتم متقارن از يک کليد براي رمزنگاري و رمزگشايي استفاده مي‌کند. بيشترين شکل استفاده از رمزنگاري که در کارتهاي هوشمند و البته در بيشتر سيستمهاي امنيت اطلاعات وجود دارد Data Encryption Algorithm يا DEA است که بيشتر بعنوان DES شناخته مي‌شود. DES محصول دولت ايالات متحده است که امروزه بطور وسيعي بعنوان يک استاندارد بين‌المللي شناخته ‌مي‌شود. بلوکهاي ۶۴بيتي ديتا توسط يک کليد، که معمولا ۵۶بيت طول دارد، رمزنگاري و رمزگشايي مي‌شوند. DES از نظر محاسباتي ساده است و براحتي مي‌تواند توسط پردازنده‌هاي کند (بخصوص آنهايي که در کارتهاي هوشمند وجود دارند) بکار گرفته شوند. اين روش بستگي به مخفي‌بودن کليد دارد. بنابراين استفاده از اين روش در دو وضعيت زير مناسب است:
۱- هنگامي که کليدها مي‌توانند با يک روش قابل اعتماد و امن توزيع و ذخيره شوند.
۲- زماني که کليد بين دو سيستم مبادله مي‌شود، قبلا هويت همديگر را تاييد کرده باشند.
عمر کليدها بيشتر از مدت تراکنش آنها طول نمي‌کشد. رمزنگاري DES عموما براي حفاظت ديتا از شنود در طول انتقال استفاده مي‌شود. کليدهاي DES ۴۰بيتي امروزه در عرض چندين ساعت توسط کامپيوترهاي معمولي شکسته مي‌شوند و بنابراين نبايد براي محافظت از اطلاعات مهم و جهت اعتبار طولاني مدت از آنها استفاده شود. کليد ۵۶بيتي عموما توسط سخت‌افزار يا شبکه‌هاي بخصوصي شکسته مي‌شوند. رمزنگاري DESسه‌تايي عبارتست از کد کردن ديتاي اصلي با استفاده از الگوريتم DES که در سه مرتبه انجام مي‌گيرد(دو مرتبه با استفاده از يک کليد به سمت جلو (رمزنگاري) و يک مرتبه به سمت عقب (رمزگشايي) با کليد ديگر). در زمينه رمزنگاری متقارن الگوريتمهاي استاندارد مختلفي وجود دارد. الگوريتمهايي مانند Blowfish و IDEA در موارد مختلف مورد استفاده قرار گرفته‌اند اما هيچکدام پياده‌سازي سخت‌افزاري نشدند. بنابراين بعنوان رقيبي براي DES جهت استفاده در کاربردهاي ميکروکنترلي مطرح نبوده‌اند. استاندارد رمزنگاري پيشرفته دولت ايالات متحده امريکا (AES) الگوريتم Rijndael را براي جايگزيني DES بعنوان الگوريتم رمزنگاري اوليه انتخاب کرده است. همچنين الگوريتم Twofish مشخصا براي پياده‌سازي در پردازنده‌هاي توان‌ـ‌پايين مثلا در کارتهاي هوشمند طراحي شد. در ۱۹۹۸ وزارت دفاع امريکا تصميم گرفت که الگوريتمها Skipjack و مبادله کليد را که در کارتهاي Fortezza استفاده شده بود، از محرمانگي خارج سازد. يکي از دلايل اين امر تشويق براي پياده‌سازي بيشتر کارتهاي هوشمند برپايه اين الگوريتمها بود. براي رمزنگاري جرياني (streaming encryption) (که شامل رمزنگاري ديتا در حين ارسال مي باشد، يعني بجاي اينکه ديتاي کد شده و در يک فايل مجزا قرار گيرد، در هنگام ارسال رمزنگاری صورت مي گيرد.) الگوريتم DES معمولا از کليدهاي ۶۴ بيتي براي رمزنگاري و رمزگشايي استفاده مي‌کند. اين الگوريتم، متن اوليه را به بلوکهاي ۶۴ بيتي مي‌شکند و آنها را يکي‌يکي رمز مي‌کند. الگوريتم پيشرفته‌تر ۳DES است که در آن الگوريتم DES سه بار اعمال مي‌شود. نسخه ديگري از اين الگوريتم (پايدار‌تر از قبلي ها) از کليدهاي ۵۶بيتي و کليدهای ۱۶۸بيتي استفاده مي‌کند و سه بار عمليات رمزنگاري را انجام مي‌دهد.

ويژگي مدل رمزنگاری کليد خصوصي
رمزنگاری و رمزگشائی داده با استفاده از کليد يکسانی انجام می شود .
تمامی کاربرانی که در يک گروه عضويت داشته و قصد اشتراک داده را بين خود دارند ، می بايست دارای کليد يکسانی باشند .
در صورتيکه يک کليد د چار مشکل گردد ( لورفتن ) ، تمامی کليد ها می بايست تعويض و با کليدی جديد جايگزين گردند .
مهمترين مسئله در ارتباط با اين مدل رمزنگاری، عدم وجود امنيت لازم به منظور توزيع کليد است.

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

رمزنگاری
رمزنگاری دانشی است که به بررسی و شناختِ اصول و روش‌های انتقال یا ذخیرهٔ اطلاعات به صورت امن (حتی اگر مسیر انتقال اطلاعات و کانال‌های ارتباطی یا محل ذخیره اطلاعات ناامن باشند) می‌پردازد.
رمزنگاری دانش تغییر دادن متن پیام یا اطلاعات به کمک کلید رمز و با استفاده از یک الگوریتم رمز است، به صورتی که تنها شخصی که از کلید و الگوریتم مطلع است قادر به استخراج اطلاعات اصلی از اطلاعات رمز شده باشد و شخصی که از یکی یا هر دوی آن‌ها اطلاع ندارد، نتواند به اطلاعات دسترسی پیدا کند. دانش رمزنگاری بر پایه مقدمات بسیاری از قبیل تئوری اطلاعات، نظریه اعداد و آمار بنا شده است و امروزه به طور خاص در علم مخابرات مورد بررسی و استفاده قرار می‌گیرد. معادل رمزنگاری در زبان انگلیسی کلمه Cryptography است، که برگرفته از لغات یونانی kryptos به مفهوم ” محرمانه ” و graphien به معنای ” نوشتن ” است.

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

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

رمزنگاری دانش گسترده‌ای است که کاربردهای متنوعی دارد. در این حوزهٔ وسیع، تعاریف زیر از اهمیت ویژه‌ای برخوردار هستند:

سرویس رمزنگاری
به طور کلی، سرویس رمزنگاری، به قابلیت و امکانی اطلاق می‌شود که بر اساس فنون رمزنگاری حاصل می‌گردد. قبل از ورود رایانه‌ها به حوزهٔ رمزنگاری، تقریباً کاربرد رمزنگاری محدود به رمز کردن پیام و پنهان کردن مفاد آن می‌شده است. اما در رمزنگاری پیشرفته سرویس‌های مختلفی از جمله موارد زیر ارائه گردیده است:
• محرمانگی یا امنیت محتوا[۱]
ارسال یا ذخیره اطلاعات به نحوی که تنها افراد مجاز بتوانند از محتوای آن مطلع شوند، که همان سرویس اصلی و اولیهٔ پنهان کردن مفاد پیام است.
• سلامت محتوا[۲]
به معنای ایجاد اطمینان از صحت اطلاعات و عدم تغییر محتوای اولیهٔ آن در حین ارسال است. تغییر محتوای اولیهٔ اطلاعات ممکن است به صورت اتفاقی (در اثر مشکلات مسیر ارسال) و یا به صورت عمدی باشد.
• احراز هویت یا اصالت محتوا[۳]
به معنای تشخیص و ایجاد اطمینان از هویت ارسال‌کننده اطلاعات و عدم امکان جعل هویت افراد می‌باشد.
• عدم انکار[۴]
به این معنی است که ارسال‌کنندهٔ اطلاعات نتواند در آینده ارسال آن را انکار یا مفاد آن را تکذیب نماید.

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

پروتکل رمزنگاری
به طور کلی، یک پروتکل رمزنگاری، مجموعه‌ای از قواعد و روابط ریاضی است که چگونگی ترکیب کردن الگوریتم‌های رمزنگاری و استفاده از آن‌ها به منظور ارائهٔ یک سرویس رمزنگاری خاص در یک کاربرد خاص را فراهم می‌سازد.
معمولاً یک پروتکل رمزنگاری مشخص می‌کند که
• اطلاعات موجود در چه قالبی باید قرار گیرند
• چه روشی برای تبدیل اطلاعات به عناصر ریاضی باید اجرا شود
• کدامیک از الگوریتم‌های رمزنگاری و با کدام پارامترها باید مورد استفاده قرار گیرند
• روابط ریاضی چگونه به اطلاعات عددی اعمال شوند
• چه اطلاعاتی باید بین طرف ارسال‌کننده و دریافت‌کننده رد و بدل شود
• چه مکانیسم ارتباطی برای انتقال اطلاعات مورد نیاز است
به عنوان مثال می‌توان به پروتکل تبادل کلید دیفی-هلمن[۵] برای ایجاد و تبادل کلید رمز مشترک بین دو طرف اشاره نمود.
الگوریتم رمزنگاری
الگوریتم رمزنگاری، به هر الگوریتم یا تابع ریاضی گفته می‌شود که به علت دارا بودن خواص مورد نیاز در رمزنگاری، در پروتکل‌های رمزنگاری مورد استفاده قرار گیرد. اصطلاح الگوریتم رمزنگاری یک مفهوم جامع است و لازم نیست هر الگوریتم از این دسته، به طور مستقیم برای رمزگذاری اطلاعات مورد استفاده قرار گیرد، بلکه صرفاً وجود کاربرد مربوط به رمزنگاری مد نظر است.
در گذشته سازمان‌ها و شرکت‌هایی که نیاز به رمزگذاری یا سرویس‌های دیگر رمزنگاری داشتند، الگوریتم رمزنگاری منحصربه‌فردی را طراحی می‌نمودند. به مرور زمان مشخص گردید که گاهی ضعف‌های امنیتی بزرگی در این الگوریتم‌ها وجود دارد که موجب سهولت شکسته شدن رمز می‌شود. به همین دلیل امروزه رمزنگاری مبتنی بر پنهان نگاه داشتن الگوریتم رمزنگاری منسوخ شده است و در روش‌های جدید رمزنگاری، فرض بر این است که اطلاعات کامل الگوریتم رمزنگاری منتشر شده است و آنچه پنهان است فقط کلید رمز است.
بنا بر این تمام امنیت حاصل شده از الگوریتم‌ها و پروتکل‌های رمزنگاری استاندارد، متکی به امنیت و پنهان ماندن کلید رمز است و جزئیات کامل این الگوریتم‌ها و پروتکل‌ها برای عموم منتشر می‌گردد.
بر مبنای تعریف فوق، توابع و الگوریتم‌های مورد استفاده در رمزنگاری به دسته‌های کلی زیر تقسیم می‌شوند:
• توابع بدون کلید
o توابع درهم‌ساز[۶]
o تبدیل‌های یک‌طرفه[۷]
• توابع مبتنی بر کلید
o الگوریتم‌های کلید متقارن
 الگوریتم‌های رمز بلوکی
 الگوریتم‌های رمز دنباله‌ای
 توابع تصدیق پیام[۸]
o الگوریتم‌های کلید نامتقارن
 الگوریتم‌های مبتنی بر تجزیهٔ اعداد صحیح
 الگوریتم‌های مبتنی بر لگاریتم گسسته
 الگوریتم‌های مبتنی بر منحنی‌های بیضوی
o الگوریتم‌های امضای رقومی[۹]

الگوریتمهای رمزنگاری بسیار متعدد هستند، اما تنها تعداد اندکی از آن‌ها به صورت استاندارد درآمده‌اند.

رمزنگاری کلید متقارن
رمزنگاری کلید متقارن[۱۰] یا تک کلیدی، به آن دسته از الگوریتم‌ها، پروتکل‌ها و سیستم‌های رمزنگاری گفته می‌شود که در آن هر دو طرف رد و بدل اطلاعات از یک کلید رمز یکسان برای عملیات رمزگذاری و رمزگشایی استفاده می‌کنند. در این قبیل سیستم‌ها، یا کلیدهای رمزگذاری و رمزگشایی یکسان هستند و یا با رابطه‌ای بسیار ساده از یکدیگر قابل استخراج می‌باشند و رمزگذاری و رمزگشایی اطلاعات نیز دو فرآیند معکوس یکدیگر می‌باشند.
واضح است که در این نوع از رمزنگاری، باید یک کلید رمز مشترک بین دو طرف تعریف گردد. چون کلید رمز باید کاملاً محرمانه باقی بماند، برای ایجاد و رد و بدل کلید رمز مشترک باید از کانال امن استفاده نمود یا از روش‌های رمزنگاری نامتقارن استفاده کرد. نیاز به وجود یک کلید رمز به ازای هر دو نفرِ درگیر در رمزنگاری متقارن، موجب بروز مشکلاتی در مدیریت کلیدهای رمز می‌گردد.

رمزنگاری کلید نامتقارن
رمزنگاری کلید نامتقارن[۱۱]، در ابتدا با هدف حل مشکل انتقال کلید در روش متقارن و در قالب پروتکل تبادل کلید دیفی-هلمن پیشنهاد شد. در این نوع از رمزنگاری، به جای یک کلید مشترک، از یک زوج کلید به نام‌های کلید عمومی و کلید خصوصی استفاده می‌شود. کلید خصوصی تنها در اختیار دارندهٔ آن قرار دارد و امنیت رمزنگاری به محرمانه بودن کلید خصوصی بستگی دارد. کلید عمومی در اختیار کلیهٔ کسانی که با دارندهٔ آن در ارتباط هستند قرار داده می‌شود.
به مرور زمان، به غیر از حل مشکل انتقال کلید در روش متقارن، کاربردهای متعددی برای این نوع از رمزنگاری مطرح گردیده است. در سیستم‌های رمزنگاری نامتقارن، بسته به کاربرد و پروتکل مورد نظر، گاهی از کلید عمومی برای رمزگذاری و از کلید خصوصی برای رمزگشایی استفاده می‌شود و گاهی نیز، بر عکس، کلید خصوصی برای رمزگذاری و کلید عمومی برای رمزگشایی به کار می‌رود.
دو کلید عمومی و خصوصی با یکدیگر متفاوت هستند و با استفاده از روابط خاص ریاضی محاسبه می‌گردند. رابطهٔ ریاضی بین این دو کلید به گونه‌ای است که کشف کلید خصوصی با در اختیار داشتن کلید عمومی، عملاً ناممکن است.

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

تجزیه و تحلیل رمز
تجزیه و تحلیل رمز[۱۲] یا شکستن رمز، به کلیهٔ اقدامات مبتنی بر اصول ریاضی و علمی اطلاق می‌گردد که هدف آن از بین بردن امنیت رمزنگاری و در نهایت باز کردن رمز و دستیابی به اطلاعات اصلی باشد. در تجزیه و تحلیل رمز، سعی می‌شود تا با بررسی جزئیات مربوط به الگوریتم رمز و یا پروتکل رمزنگاری مورد استفاده و به کار گرفتن هرگونه اطلاعات جانبی موجود، ضعف‌های امنیتی احتمالی موجود در سیستم رمزنگاری یافته شود و از این طریق به نحوی کلید رمز به دست آمده و یا محتوای اطلاعات رمز شده استخراج گردد.
تجزیه و تحلیل رمز، گاهی به منظور شکستن امنیت یک سیستم رمزنگاری و به عنوان خرابکاری و یک فعالیت ضد امنیتی انجام می‌شود و گاهی هم به منظور ارزیابی یک پروتکل یا الگوریتم رمزنگاری و برای کشف ضعف‌ها و آسیب‌پذیری‌های احتمالی آن صورت می‌پذیرد. به همین دلیل، تجزیه و تحلیل رمز، ذاتاً یک فعالیت خصومت‌آمیز به حساب نمی‌آید؛ اما معمولاً قسمت ارزیابی و کشف آسیب‌پذیری را به عنوان جزئی از عملیات لازم و ضروری در هنگام طراحی الگوریتم‌ها و پروتکل‌های جدید به حساب می‌آورند و در نتیجه تجزیه و تحلیل رمز بیشتر فعالیت‌های خرابکارانه و ضد امنیتی را به ذهن متبادر می‌سازد. با توجه به همین مطلب از اصطلاح حملات تحلیل رمز[۱۳] برای اشاره به چنین فعالیت‌هایی استفاده می‌شود.
تحلیل رمز، در اصل اشاره به بررسی ریاضی الگوریتم (یا پروتکل) و کشف ضعف‌های احتمالی آن دارد؛ اما در خیلی از موارد فعالیت خرابکارانه، به جای اصول و مبنای ریاضی، به بررسی یک پیاده‌سازی خاص آن الگوریتم (یا پروتکل) در یک کاربرد خاص می‌پردازد و با استفاده از امکانات مختلف سعی در شکستن رمز و یافتن کلید رمز می‌نماید. به این دسته از اقدامات خرابکارانه، حملات جانبی[۱۴] گفته می‌شود.

گسترش و رشد بي سابقه اينترنت باعث ايجاد تغييرات گسترده در نحوه زندگی و فعاليت شغلی افراد ، سازمانها و موسسات شده است . امنيت اطلاعات يکی از مسائل مشترک شخصيت های حقوقی و حقيقی است . کاربران اينترنت در زمان استفاده از شبکه، اطلاعات حساس و مهمی را بدفعات ارسال و يا دريافت می دارند. اطمينان از عدم دستيابی افراد غير مجاز به اطلاعات حساس از مهمترين چالش های امنيتی در رابطه با توزيع اطلاعات در اينترنت است . اطلاعات حساس که ما تمايلی به مشاهده آنان توسط ديگران نداريم ، موارد متعددی را شامل می شود. برخی از اينگونه اطلاعات بشرح زير می باشند :

اطلاعات کارت اعتباری
شماره های عضويت در انحمن ها
اطلاعات خصوصی
جزئيات اطلاعات شخصی
اطلاعات حساس در يک سازمان
اطلاعات مربوط به حساب های بانکی

تاکنون برای امنيت اطلاعات بر روی کامپيوتر و يا اينترنت از روش های متعددی استفاده شده است . ساده ترين روش حفاظت از اطلاعات نگهداری اطلاعات حساس بر روی محيط های ذخيره سازی قابل انتقال نظير فلاپی ديسک ها است . متداولترين روش حفاظت اطلاعات ، رمز نمودن آنها است . دستيابی به اطلاعات رمز شده برای افراد غير مجاز امکان پذير نبوده و صرفا” افراديکه دارای کليد رمز می باشند ، قادر به باز نمودن رمز و استفاده از اطلاعات می باشند.
رمز نمودن اطلاعات کامپيوتر مبتنی بر علوم رمز نگاری است .استفاده از علم رمز نگاری دارای يک سابقه طولانی و تاريخی است . قبل از عصر اطلاعات ، بيشترين کاربران رمزنگاری اطلاعات ، دولت ها و مخصوصا” در موارد نظامی بوده است . سابقه رمز نمودن اطلاعات به دوران امپراطوری روم بر می گردد. امروزه اغلب روش ها و مدل های رمزنگاری اطلاعات در رابطه با کامپيوتر بخدمت گرفته می شود. کشف و تشخيص اطلاعاتی که بصورت معمولی در کامپيوتر ذخيره و فاقد هر گونه روش علمی رمزنگاری باشند ، براحتی و بدون نياز به تخصصی خاص انجام خواهد يافت .

اکثر سيستم های رمزنگاری اطلاعات در کامپيوتر به دو گروه عمده زير تقسيم می گردند :
رمزنگاری کليد – متقارن
رمزنگاری کليد – عمومی
رمز نگاری کليد – متقارن
در روش فوق ، هر کامپيوتر دارای يک کليد رمز ( کد ) بوده که از آن برای رمزنگاری يک بسته اطلاعاتی قبل از ارسال اطلاعات بر روی شبکه و يا کامپيوتر ديگر ، استفاده می نمايد. دراين روش لازم است در ابتدا مشخص گردد که کداميک از کامپيوترها قصد مبادله اطلاعاتی با يکديگر را دارند ، پس از مشخص شدن هر يک از کامپيوترها، در ادامه کليد رمز بر روی هر يک از سيستم ها می بايست نصب گردد. اطلاعات ارسالی توسط کامپيوترهای فرستنده با استفاده از کليد رمز ، رمز نگاری شده وسپس اطلاعات رمز شده ارسال خواهند شد. پس از دريافت اطلاعات رمز شده توسط کامپيوترهای گيرنده ، با استفاده از کليد رمز اقدام به بازگشائی رمز و برگرداندن اطلاعات بصورت اوليه و قابل استفاده خواهد شد . مثلا” فرض کنيد پيامی را برای يکی از دوستان خود رمز و سپس ارسال می نمائيد . شما برای رمز نگاری اطلاعات از روشی استفاده نموده ايد که بر اساس آن هر يک از حروف موجود در متن پيام را به دو حرف بعد از خود تبديل کرده ايد. مثلا” حروف A موجود در متن پيام به حروف C و حروف B به حروف D تبديل می گردند. پس از ارسال پيام رمز شده برای دوست خود ، می بايست با استفاده از يک روش ايمن و مطمئن کليد رمز را نيز برای وی مشخص کرد. در صورتيکه گيرنده پيام دارای کليد رمز مناسب نباشد ، قادر به رمز گشائی و استفاده از اطلاعات نخواهد بود. در چنين حالتی می بايست به دوست خود متذکر گرديد که کليد رمز ، ” شيفت دادن هر حرف بسمت جلو و به اندازه دو واحد است ” . گيرنده پيام با انجام عمليات معکوس قادر به شکستن رمز و استفاده از اطلاعات خواهد بود.

۳ـ روشهاي پنهان سازي اطلاعات

روشهاي پنهان سازي اطلاعات رامي توان به صورت زير دسته بندي كرد: [ MP 2002]

بلوك دياگرام و تعاريفي كه در اولين كارگاه بين المللي پنهان سازي اطلاعات براي انجام اين عمل عنوان شد به شرح زير است :[ BP 96]
cover-medium : شئ اي كه پيام در قالب آن منتقل مي شود و ميتوان شامل تصوير ،متن و…باشددراين مقاله به آن ميزبان گفته مي شود.
Embedded-message : داده اي كه بايدبه صورت پنهاني منتقل شود وداخل ميزبان جاسازي مي گردد در اين مقاله به آن پيام گفته مي شود.
Stego-medium : حاصل تركيب پيام در ميزبان است در اين مقاله به آن شيئ تركيبي گفته مي شود.
Stego-key : اطلاعات سري است كه مشترك بين فرستنده و گيرنده است وبه منظور جاسازي و باز يابي اطلاعات از آن استفاده مي‌شود.
Embedder(E) : تابع جاسازي كننده پيام .
( extractor(E-1 : تابع بازسازي كننده پيام .
براي انجام هر روش پنهان سازي دو كار زير بايد صورت پذيرد: [ FR 2000]
الف) در آنچه به عنوان ميزبان بكار ميرود اين تحقيق بايد انجام شود كه چه تغييراتي را مي توان روي آن اعمال نمود بدون اينكه تفاوت قابل دركي بين نمونه اصلي ونمونه اي كه در آن تغييرات ايجاد شده بوجود آيد اين تحقيق براي انجام عمليات فشرده سازي نيزجهت حذف اجزاء زائدي كه وجود يا عدم وجود آنها در كيفيت تاثير چنداني ندارد انجام مي شود.

ب) از مشخصه تحقيق شده در قسمت (الف)براي پنهان كردن اطلاعات استفاده شود.
اگرخواسته باشيم پنهان سازي اطلاعات رابه صورت فرمولي عنوان كنيم مي توان گفت :[ M 99] براي قطعه اي اصلي از داده d كه به عنوان ميزبان مطرح است حد آستانه اي وجود دارد t كه چنانچه زير اين حد آستانه ،تغيراتي در d بوجود آوريم قابل تشخيص براي حسگرهاي انساني نيست اين حد آستانه از راه آزمايش بدست مي آيد ودرافراد مختلف متفاوت است ليكن كمترين مقدارآن از لحاظ حس انساني مي تواند براي t در نظر گرفته ميشود بنابراين ماهمواره مي توانيم تغيير c در d را زير حد آستانه t بوجود آوريم طوري كه قابل تشخيص بوسيله احساس نباشد
d+c<t

مواردي كه در طراحي يك روش پنهان سازي داراي اهميت هستند: [ AP 97]

۱ـ شفافيت [۱۳]:
شفافيت سيستم بيان ميدارد كه موضوع ميزبان قبل وبعد از جاسازي در پيام نبايد تفاوت محسوسي داشته باشد چراكه هدف غير قابل حس كردن انتقال پيام است و در حقيقت امنيت يك سيستم پنهان سازي در همين مسئله شفافيت نهفته است وهر چقدر كه شباهت موضوع ميزبان پيام در هردو حالت عاري وحاوي پيام بيشتر باشد امنيت اين سيستم در سطح بالاتري قرار دارد.

۲ـ مقاومت[۱۴] :
مقاومت يك سيستم پنهان سازي به معناي اين است كه پيام پنهان شده درمقابل اعمال تغيرات ناخواسته و غير عمدي كه وجود نويز در طول مسير انتقال بوجود مي آورد و يا اعمال تغييرات عمدي كه توسط حمله كننده فعال به منظور تغيير پيام يااز بين بردن آن انجام مي گيرد مقاومت لازم راداشته باشد.

۳ـ ظرفيت [۱۵]:
در يك سيستم پنهان سازي هر چقدر بتوان پيام بيشتري را در يك ميزبان مخفي نمود اين سيستم مناسب تر خواهد بود حجم داده‌اي كه مي توان در يك ميزبان ذخيره كرد دقيقا بستگي به ماهيت ميزبان دارد و اين كه تاچه حدي مي توان داده در آن پنهان كرد بدون اينكه در شفافيت آن تا ثيري جدي بگذارد. سه ويژگي فوق بطور بسيار تنگاتنگي در ارتباط با يكديگر هستند بدين معني كه باثابت فرض كردن ويژگي اول وافزايش ويژگي دوم ويژگي سوم حتما كاهش خواهد يافت
ثابت =مقاومت*ظرفيت

۳ـ ۱ـ پوشيده نگاري[۱۶]
متشكل از دو كلمه يونانيstego به معني مخفي و graphos به معناي نوشته كه روي هم معني نوشته مخفي را تداعي مي كنند . دراين مقاله من از ترجمه پوشيده نگاري براي آن استفاده كرده ام.
در رمز نگاري دسترسي به محتواي پيام براي فرد غير مجاز ناممكن مي گردد ليكن درپوشيده‌نگاري موجوديت پيام انكار مي شود هدف رمزنگاري حفظ محرمانگي وتماميت پيام است كه با رمز كردن آن حاصل مي شود پوشيده نگاري هم همين اهداف را با پنهان نمودن پيام دنبال مي كند بعلاوه در پوشيده نگاري انتخاب جا و ترتيب پنهان نمودن پيام نيز با بهره‌گيري از نوعي رمز در چينش بيت هاي پيام لابه لاي بيت هاي ميزبان صورت مي‌پذيرد. همچنين مي توان پيام راقبل از جا سازي داخل ميزبان بااستفاده از الگوريتم هاي رمز نگاري به صورت رمز در آورد و سپس عمل پنهان سازي راانجام داد.
بطوريكه مي‌توان گفت با استفاده از پوشيده نگاري در حقيقت سه لايه حفاظتي بسيار محكم در دسترسي به پيام ايجاد خواهد شد: [ M 99] اول اينكه وجود ارتباط نامحسوس است و اين هدف اصلي در پوشيده نگاري است و بنابراين گذشتن از اولين مانع كار چندان ساده اي نخواهد بود در صورتيكه وجود اطلاعات دريك ميزبان مورد سوءظن واقع شود مرحله دوم پيدا كردن الگوريتم پنهان سازي است طوريكه بايد جا و ترتيب پنهان شدن اطلاعات معلوم شود ليكن در اين مرحله نيز چون از يك كليد بنام stego_key براي جاسازي پيام استفاده شده دانستن اين كليد ضروري است و بنابراين گذشتن از اين مرحله نيز با دشواري همراه خواهد بود و چنانچه دو مرحله قبلي با موفقيت پشت سر گذاشته شوند اكنون به متن رمزي دسترسي پيدا شده است كه تازه در اين مرحله مسائل مربوط به رمزنگاري مطرح مي گردند .
علاوه بر اين استفاده از پنهان‌سازي اطلاعات در امور ارتباطات گاها گريزناپذير است همان طور كه در سناريوي مطرح شده در اين مورد عنوان گرديد آليس مجبور به استفاده از اين روش است.
در دنياي واقعي كنوني نيز استفاده از رمزنگاري قوي در ارتباطات شخصي توسط دولت‌ها محدود شده است[M 99] علت اين محدوديت سوء استفاده از اين علم براي انجام فعاليت‌هاي جنايي و تروريستي و ساير امور مرتبط با اين موضوعات مي‌باشد و به شدت توسط ارگانهاي مربوطه كنترل مي‌گردد و در صورت انجام تخلف از فرستنده و گيرنده پيام رمزي توضيح خواسته مي‌شود. [j M 99 ]
اساس كار روش‌هاي موجود در پوشيده‌نگاري را مي‌توان به دو دسته كلي زير تقسيم كرد: [ MP 2002]
1ـ روش هايي كه بر پايه نقص در سيستم بينايي انسان h hvs)[17]) استواراست.
۲ـ روش هايي كه بر پايه نقص در سيستم شنوايي انسان [۱۸]( hos) استوار است.
سيستم شنيداري انسان آنقدر دقيق نيست كه تغيرات جزئي ايجاد شده در قطعات صوت را تشخيص دهد وبنابراين از همين نقطه ضعف مي توان استفاده نمود وداده اي را لابه لاي قطعات صوت جا سازي كرد همچنين سيستم ديداري انسان داراي خصوصياتي است كه بر مبناي آنهاروش هاي پنهان سازي متفاوتي در قالب تصاوير خصوصا تصاوير ثابت ابداع شده اند.

۳ـ۲ـ علامت حق تكثير[۱۹]
در حقيقت علامت هاي حق تكثير جنبه تجاري استفاده از پنهان سازي اطلاعات هستند كه براي جلوگيري از استفاده هاي غيرمجاز توليدات الكترونيكي اطلاعات به صورت نا محسوس وغيرقابل تفكيك از محصول داخل آن جا سازي مي شود كه در مواقع لزوم براي پيگيري استفاده غير مجاز واثبات حق مالكيت از طريق قانون مي تواند به مالك واقعي محصول كمك كند .

علامت حق تكثير را مي توان به دو دسته تقسيم كرد: [ NM 99]
الف ) نقش زمينه[۲۰] : علامت نقش زمينه اطلاعاتي هستند كه داخل محصول الكترونيكي جا سازي مي شوند و يا بهتر بگوئيم تركيب مي شوند طوري كه از مقاومت بسيار بالايي برخوردار مي باشند و معمولا اين اطلاعات شامل آرم يا علامت مخصوص شركت يا مالك است كه به آن لوگو[۲۱] گفته ميشود فرقي كه پوشيده نگاري بانقش زمينه دارد اين است كه در پوشيده نگاري آنچه مهم است پيامي است كه داخل ميزبان پنهان شده است وميزبان در حقيقت سدي است براي محافظت ازپيام ليكن درنقش زمينه آنچه كه مهم است ميزبان است و پيام براي محافظت از ميزبان داخل آن جاسازي شده است يكي از خصوصيات ضروري نقش زمينه داشتن مقاومت بسيار بالا است طوري كه به هيچ وجه قابل تفكيك از ميزبان نباشد و از بين بردن آن منجر به از بين رفتن ميزبان شود.