پایان نامه رمزنگاری اطلاعات در word دارای 190 صفحه می باشد و دارای تنظیمات و فهرست کامل در microsoft word می باشد و آماده پرینت یا چاپ است
فایل ورد پایان نامه رمزنگاری اطلاعات در word کاملا فرمت بندی و تنظیم شده در استاندارد دانشگاه و مراکز دولتی می باشد.
این پروژه توسط مرکز مرکز پروژه های دانشجویی آماده و تنظیم شده است
توجه : توضیحات زیر بخشی از متن اصلی می باشد که بدون قالب و فرمت بندی کپی شده است
بخشی از فهرست مطالب پروژه پایان نامه رمزنگاری اطلاعات در word
فصل 1:رمزنگاری_
مقدمه_
بخش 1:مفاهیم رمز نگاری_
بخش 2:الگوریتمهای کلاسیک_
بخش 3: رمزهـای غیـرقابـل شکست
بخش 4: الگوریتمهای مدرن__
فصل 2:اتوماتای سلولی__
مقدمه
بخش 1:تعاریف پایه_
بخش 2:انواع CA
بخش 3:مدلهای ساده CA_
بخش 4:کاربرد CA_
بخش 5:نتیجه گیری_
فصل 3:رمزنگاری به کمک اتوماتای سلولی__
مقاله 1:رمزنگاری اطلاعات بر اساس عوامل محیطی
بااستفاده از اتوماتای سلولی
مقدمه_
مفاهیم_
فعالیتهای مربوطه
روش پیشنهادی تولید اعداد تصادفی_
رمز گذاری اطلاعات_
رمزبرداری اطلاعات_
رمزگذاری بر اساس دمای محیط__
رمزبرداری بر اساس دمای محیط__
بررسی تاثیر دمای محیط بر سیستم رمزنگاری _
بررسی تاثیر اختلاف دما در فرستنده و گیرنده
نتیجه گیری
مقاله 2:کشف نوشته ی رمزی از یک
رمز بلوک پیچیده با استفاده از CA_
مقدمه_
رمزهای بلوکی پیچیده__
ویژگی جفت بودن_
کاربردهای رمز نگاری باویژگی جفت بودن
نتیجه گیری
مراجع__
مقدمه
بیشتر مردم قبل از ارسال نامه، پاکت آنرا مهر و موم می کنند و در آن را چسب می زنند. اگر از آنها بپرسید که چرا این کار می کنند، احتمالاً بعضی سریعاً این چنین پاسخهایی می دهند که ک «واقعاً نمی دانم»، « از روی عادت چرا که نه؟» و یا «چون همه اینکار را می کنند» ولی بیشتر جوابها حول این محور خواهد بود که ؛ «برای اینکه نامه از پاکت بیرون نیفتد» و یا «برای اینکه بقیه نامه را نخوانند». حتی اگر نامه ها حاوی هیچ اطلاعات شخصی مهم و حساسی نباشد باز بیشتر ما دوست داریم که محتوای مکاتیات شخصی مان به صورت خصوصی حفظ شود و برای همین پاکت را چسب می زنیم تا کسی به غیر از آنکسی که ارتباط با او انجام شده آنرا باز نکند و محتوای آن را نفهمد. اگر ما پاکت را بدون چسب یا مم نفرستیم هرکسی که نامه به دستش برسد می تواند آنرا بخواند. در حقیقت آنها می خواهند که این نفوذ وجود داشته باشد و منعی هم برای آنچه می خواهد وجود ندارد. از این گذشته اگر آنها نامه را بعد از مطالعه درون پاکت قرار داده باشند ما متوجه نمیشویم که کسی آنرا خوانده
برای بیشتر مردم ارسال Email یک جایگزین خوب برای استفاده از پست است. Email یک روش سریع ارتباطی است که مسلماً بدون پاکت ارتباط را انجام می دهد. در حقیقت اغلب گفته شده ارسال Email مثل ارسال یک نامه بدون پاکت است. واضح است که هر کسی بخواهد پیغام محرمانه یا شاید پیغام شخصی را به وسیله Email بفرستد باید روشهای دیگر محافظت آنرا بیابد یک راه حل عمومی، رمزنگاری و رمزگذاری پیغام است
اگر پیغام رمز شده ای بدست شخصی غیر از طرف ارتباطی شما بیافتد، باید برایش به صورت نامفهوم پدیدار شود. استفاده از رمزگذاری برای محافظت Email ها هنوز به طور گسترده در نیامده است اما در حال افزایش است و این افزایش کماکان ادامه دارد. در ما می سال 2001 یک گروه اروپایی پیشنهاد کرد که تمام کاربران کامپیوتری باید تمام Email هایشان را رمز کنند تا مورد جاسوسی از طرف شبکه های استراق سمع آمریکایی و انگلیس قرار نگیرد
مقدمه
در این درس ما به معرفی اصطلاحات فنی و علمی و مفاهیم رمزنگاری می پردازیم. سمت و سوی کار ما غیررسمی شدن و ارائه مطالب به صورت یک نمای عمومی و کلی است
مفاهیم پایه
هدف سیستم رمز کننده، تغییر قیافه اطلاعات محرمانه به روشی است که برای یک شخص غیرمجاز نامفهوم باشد. دو تا از بیشترین استفاده ی آن به اینصورت است؛ برای ذخیره با امنیت داده ها در یک فایل کامپیوتری و یا برای انتقال آن از طریق یک کانال نا امن مثل اینترنت. در هر دو صورت این نکته را باید مورد توجه قرار داد که نمی خواهیم که شخص غیرمجاز بتواند به آن دسترسی داشته بلکه می خواهیم که بتواند آنرا بخواند ولی از آن چیزی متوجه نشود
اطلاعات پنهان سازی شده اغلب توسط عمل تغییر شکل بدست می آید که به آن رمزگذاری (encryption) گفته می شود. متن ساده ای که رمز شده، متن رمز شده (chiphertext) یا پیغام پنهان (cryptogram) نامیده می شود و مجموعه قواعد استفاده شده برای رمزگذاری متن ساده را الگوریتم رمزگذاری (encryption Algorithm) می نامند. معمولاً عملکرد این الگوریتم وابسته به یک کلید رمز است (encryption key) که توسط یک پیغام به الگوریتم وارد می شود. گیرنده می تواند پیغام را توسط یک الگوریتم رمزگشایی که، وقتی با یک کلید رمزگشایی مناسب استفاده می شود، متن اصلی را از متن رمز شده تولید می کند، از پیغام پنهان بدست بیاورد
به طور کلی مجموعه قواعدی که این الگوریتم های رمزنگاری را تشکیل می دهند خیلی پیچیده هستند و نیاز به طراحی دقیق دارند
به هر شخصی که پیغام را در جریان انتقال قطع کند، جداسازنده (interceptor) می گویند. بعضی کلمات کلیدی دیگری نیز در نظر گرفته شده و استفاده می شود مثل ؛ استراق سمع کننده (earesdropper)، دشمن (enemy)، رقیب (adversay) و یا آدم بد (bad guy). اگر هم جدا سازنده الگوریتم رمزگشایی را بداند، کلید رمز را نمی داند. این ندانستن که ارزوی دانستنش را دارد باعث می شود که نتواند متن اصلی را بدست آورد. رمزنگاری (cryptography) علم طراحی سیستمهای رمز کننده است. در حالی که کشف رمز (cryptanalysis) نامی است که برای فرآیند کشف اطلاعات متن اصلی به وسیله متن رمزشده، بدون داشتن کلیدی خاص اطلاق میشود
Cryptology مجموعه ایست حاوی رمزنگاری و کشف رمز
برای مثال فرض کنید که اشخاصی اطلاعات رمز شده ای را روی لپ تاپشان ذخیره می کنند. واضح است که آنها نیاز به روشهایی برای حفظ کلید رمزگشایی نزد خودشان دارند. اگر کلید روی تکه کاغذی یادداشت شود و روی لپ تاپ چسبانده شود واضح است که اگر لپ تاپ به سرقت برود، خودبخود کلید رمزگشایی هم به دست سارق افتاده است و او دیگر نیازی به استفاده از روشهای کشف رمز ندارد. این فقط یک نمایش ساده از این نکته است که؛ امنیت اطلاعات چیزی فراتر از استفاده از یک الگوریتم رمزکننده ی خوب است
دقیقاً همانطور که بارها تاکید شده، حفاظت کلیدها برای سیستمهای امنیتی موضوعی حیاتی و مهم است
بیشتری کاری که حمله کنندگان انجام می دهند تلاش برای تعیین و بدست آوردن کلید رمزگشایی است. اگر موفق شود، از آن پس دارای اطلاعاتی است که تا هنگام تغییر مجدد کلید رمز می تواند تمام پیغامها را رمزگشایی کند. با این حال امکان دارد مواردی وجود داشته باشد که هدف اصلی یک حمله کننده فقط خواندن یک پیغام خاص باشد. معهذا وقتی نویسندگان عنوان شکسته شده را به یک الگوریتم می دهند معمولاً به این معنی است که حمله کننده یک راه عملی برای تعیین کلید رمزگشایی پیدا کرده است
یقیناً، یک حمله کننده فقط زمانی قادر به شکست یک الگوریتم است که اطلاعات کافی برای شناخت کلید صحیح یا تشخیص کلید نادرست را داشته باشد. اما رسیدن این اطلاعات اضافی به حمله کننده خودش امر بسیار مهمی است. برای مثال فرض کنید که حمله کننده می داند که متن اصلی به زبان انگلیسی است و رمزگشایی با یک کلید حدسی، متنی را به ما می دهد که بی معنی میباشد. در این حالت کلیدی که حدس زده شده اشتباه بوده است یک واقعیت مهم که باید از مقدمه ما تمیز داده شود این است که؛ برای بدست آوردن پیغام از روی متن رمز شده، لازم به داشتن کلید رمز نیست. این نظر ساده پایه ی مقاله ی Diffie-Hellman است. این مقاله تاثیر شدیدی روی رمزنگاری مدرن داشته است و منجر به این شد که یک بخشبندی طبیعی به 2 نوع از سیستمهای رمزکننده ایجاد شود؛ متقارن (Symmetric) و نا متقارن (Asymmetric)
سیستم رمز کننده ای را متقارن یا موسوم (Conventional) گویند که استنباط کلید رمزگشایی از کلید رمز کننده ساده باشد. در عمل در سیستمهای متقارن اغلب این دو کلید یکسان هستند. بنابراین اینگونه سیستمها اغلب سیستمهای تک کلید (One-key) یا کلید- مخفی (Secret-Key) نامیده می شوند. در واقع اگر فهمیدن کلید رمزگشایی از روی کلید رمزکننده غیرممکن باشد، در آنصورت سیستم نامتقارن یا کلید عمومی نامیده می شود. باید یک دلیل برای مجزا کردن این دو نوع وجود داشته باشد. برای پیشگیری از یک جدا سازنده که، الگوریتم را هم در اختیار دارد، از بدست آوردن متن اصلی از متن رمزشده ی جدا شده، لازم است که کلید رمزگشایی مخفی باشد. لزومی به مخفی بودن کلید رمز نیست و دانستن این کلید به کار حمله کننده نمی آید. در حقیقت این کلید می تواند عمومی باشد و معمولاً هم اینگونه است. یک نتیجه این است که برای دریافت کننده و ارسال کننده یک متن نیازی به اشتراک گذاری هر رمز مشترکی بین دو طرف وجود ندارد. در اصل نیازی نیست که دو طرف به هم اطمینان داشته باشند
با وجود اینکه گفته های پاراگراف آخری واضح است، ولی نتایج آنها بسیار وسیع است. دیاگرام بالای ما تحت این قضیه است که فرستنده و دریافت کننده یک جفت از کلیدهای منطبق را دارند ولی در عمل رسیدن به این وضع بسیار سخت و مشکل است. برای مثال در یک سیستم متقارن ممکن است نیاز به توزیع تعدادی کلید مخفی قبل از اینکه پیغام مخفی بتواند رد و بدل شود، باشد. موضوع ایجاد محافظت کافی برای این کلیدها نباید دست کم گرفته شود. در یکی از مشکلترین جنبه های بدست آوردن یک سیستم امن است. اگر سیستم متقارن است، همانطور که قبلاً دیده شد، ممکن است نیاز به قابلیت پخش کلیدها و مخفی سازی آنها اجتناب شود، فقط کلید رمزکننده پخش می شود و نیازی به مخفی سازی آن نیست. با این وجود این مشکل یا مشکل دیگری جایگزین می شود که این مشکل عبارتست از: تضمین اعتبار هر طرف دارای کلید رمز کننده
هنگام شرح تفاوت بیت سیستمهای متقارن و نامتقارن ما فرض کردیم که حمله کنده از الگوریتم اطلاع دارد. در حقیقت این موضوع همیشه صحیح نیست. با این وجود برای طراحی یک سیستم خوب بهتر است که این فرض را که، حمله کننده دارای دانش بالا و اطلاعات هوشمندانه ی عمومی است، منظور کرد. یک قاعده ی کلی معروف برای رمزنگاری وجود دارد که ادعا می کند، امنیت سیستم رمزنگاری نباید وابسته به مخفی سازی الگوریتم رمزنگاری باشد. امنیت باید تنها وابسته به مخفی سازی کلید رمزگشایی باشد
یکی از اهداف مطالعه رمزنگاری این است که هرکس بخواهد بتواند تعیین کند که یک سیستم رمزکننده از لحاظ طراحی و پیاده سازی به اندازه کافی امنیت دارد یا نه. در رابطه با تعیین امنیت یک سیستم، ما 3 فرض زیر را که معروف به شرایط، بدترین حالت، است را می سازیم
(WC1) : کاشف رمز اطلاعات کاملی در مورد سیستم رمزکننده دارد
(WC2) : کاشف رمز مقدار قابل توجهی ازمتن رمز شده را بدست آورده
(WC3) : کاشف رمز متن اصلی هم ارز با مقداری از متن اصلی رمز شده را می داند
شرط WC1 به این دلالت می کند که باور داریم که نباید جزئیات یک سیستم رمز کننده را مخفی نگه داریم. با این وحود، این گفته به معنی عمومی بودن سیستم نیست. طبیعتاً، اگر حمله کننده سیستم بکار رفته را نشناسد کارش بسیار سخت تر می شود. در این صورت ممکن است اطلاعات به صورت نامعلومی پنهان شده باشد برای مثال، با یک سیستم الکترونیکی، الگوریتم رمز کننده ممکن است در سخت افزار و با استفاده از میکروچیپها مخفی شود. در حقیق ممکن است تمام الگوریتم داخل یک چیپ مخفی شده باشد. برای بدست آوردن الگوریتم، یک حمله کننده باید ابتدا بتواند چیپ را باز کند و اطلاعاتش را استخراج کند. این یک کار زمان بر حساس است. با این وجود این کار ممکن است انجام شود و ما نباید فرض کنیم که حمله کننده قابلیت انجام اینگونه کارها را ندارد. اما بازهم با صبر و مهارت امکان کشف شدن این هم وجود دارد. از نقطه نظر بعضی از طراحان و سازندگان، WC1 یک فرض اساسی و لازم قلمداد می شود
باید روشن شود که فرض WC2 یک فرض معقولانه است. اگر امکان قطع وجود نداشته باشد پس دیگر نیازی هم به سیستم رمز کننده نیست. از این رو، اگر قطع تماس یا جداسازی امکان داشته باشد و قابل انجام باشد، احتمالاً طرفهای تماس وقتی که جداسازی انجام شود نمی توانند کاری انجام دهند. پس بهترین انتخاب این است که فرض شود تماس ها می توانند قطع شوند
WC3 نیز شرطی واقعبینانه است. حمله کننده ممکن است با نظارت و مشاهده عبور و مرور و یا حدس زدنهای هوشمندانه این نوع اطلاعات را بدست بیاورد. یک مثال کلاسیک تاریخی از این نوع رد جنگ جهانی دوم اتفاق افتاده را بین می کنیم. وقتی کلمه آلمانی Leuchttone در متن اصلی پیغام، که توسط ماشین رمزکننده Enigma رمز شده بود دیده می شد نشان دهنده این بود که یک چراغ دریایی در معرض خطر حمله هوایی قرار دارد
یک حمله که از وجود یک جفت متن اصلی معلوم و متن رمز شده منطبق با آن استفاده می کند، حمله «متن اصلی معلوم» نامیده می شود. اگر حمله کننده یک متن اصلی را انتخاب کرده است، مثل مثال حمله هوایی به چراغ دریایی که قبلاً شرح داده شد، به آن حمله یک حمله ی «متن اصلی منتخب» می گویند. در انتها یک حمله که فقط از متن رمز شده اطلاع دارد را حمله ی «فقط متن رمز شده» می نامند
یک نتیجه ی پذیرش این شروط بدترین حالت این است که ما این فرض را داشته باشیم که تنها اطلاعاتی می تواند گیرنده اصلی را از جدا کننده تشخیص دهد کلید رمزگشایی است. این امنیت سیستم کاملاً وابسته به محرمانه بودن کلید رمزگشایی است. اینجا به اهمیت مدیریت کلید خوب و کامل پی می بریم
در اینجا لازم است به این نکته توجه داشت که تعیین سطح امنیت یک سیستم رمز، یک علم ریاضی نیست. تمام ارزیابی های مبتنی بر ریاضیات نه تنها بسته به اطلاعات در دسترس حمله کننده است بلکه به امکانات در دسترس او نیز بستگی دارد. بهترین قاعده این است که همیشه بدترین حالت و پرخطر ترین فرض را در نظر بگیریم. همچنین تاکید زیادی روی این نکته وجود دارد که؛ سئوال اصلی این نیست که «آیا این سیستم یک سیستم کاملاً امن و مهم است و مشخص کننده این نکته است که بعضی واقعیتها نیاز به یک سیستم با امنیت سطح پایین و کم داریم. تقریباً برای تمام سیستمهای غیرنظامی تامین امنیت دارای هزینه زیادی است که از نظر تجاری باید دارای توجیه اقتصادی باشد. به علاوه این که بایان که گران و پر هزینه است، کارآیی کل سیستم را نیز کاهش می دهد. بدینسان یک نیاز طبیعی برای اینکه امنیت سیستم در حد کمینه و بهینه نگه داشتن شود، وجود دارد. یک راه عمومی برای تعیین سطح امنیت لازم این است که مدت زمانی که اطلاعات باید محافظت شوند تخمین زده شود. اگر ما به این زمان «زمان پوشش» لازم برای سیستم بگوییم، یک نشانه ی خام برای سطح امنیت لازم را بدست آورده ایم. برای مثال یک شبکه فنی با زمان پوشش در حد چند دقیقه بسیار آسیب پذیرتر است از یک سیستم استراتژیک مانند اطلاعات محرمانه دولتی یا پزشکی که زمان پوششی در حد صدها برابر آن دارد
اگر ما فرض کنیم که الگوریتم رمزگشایی ما معلوم باشد، یعنی در اختیار همه باشد، لذا یک روش واضح برای حمله در اختیار هر دشمنی قرار دارد. آنها می توانند هر کلید رمزگشایی را امتحان کنند و امید داشته باشند که بالاخره کلید صحیح را بدست می آوردند. این چنین حملات را حملات«جستجوی جامع کلید» یا حمله «Brute Force» می نامند. یقیقناً یک حمله می تواند موفق شود مگر اینکه حمله کننده بعضی راه های تشخیص کلید صحیح را داشته باشد و یا اینکه قادر به رفع تمام کلیدهای نادرست باشد. برای مثال، در حمله ی متن اصلی معلوم، واضح است که هر انتخاب کلید رمزگشایی که منجر به متن اصلی صحیح متناظرش نشود نمی تواند کلید رمزگشایی صحیح باشد
حال ما در موقعیتی قرار داریم که می توانیم یک سری معیارهای بسیار پایه ای برای تشخیص اینکه چه نوع سیستم رمزی باید به هر برنامه کاربردی خاص اختصاص بیابد را ارائه کنیم. کاربران سیستم یک زمان پوشش را معین می کنند. طراحان باید تعداد کلیدهای رمزگشایی را بدانند. حال اگر طراحان حدسهایی برای سرعت امتحان یک کلید برای پیدا کردن کلید را تخمین بزند. بنابراین اولین نیاز خام ما این است: زمان تخمینی مورد نیاز برای یک جستجوی جامع کلید باید بیشتر از زمان پوشش باشد
هنگام تمایز بین الگوریتمهای متقارن و نامتقارن در اصل ما در مورد نیاز به اعتماد بین فرستنده و گیرنده صحبت می کنیم. برای قرنها، قبل از انتشار مقاله مشهور Diffie – Hellman فکر می شد که پیغامهای رمز شده تنها می توانست بین قسمتهای دو طرفه مورد اعتماد رد و بدل شود. ما ابتدا این موضوع را مطرح کردیم که فرستادن پیغام به بعضی که غیرقابل اعتماد هستند، غیرممکن است. الگوریتمهای کلید عمومی در دروس بعد بحث می شود. در اینجا ما یک مثال خوش فهم را مطرح می کنیم که در آن می گوییم چگونه ممکن است یک بسته تحویلی را به سلامت برای گیرنده ی موردنظر فرستاد البته با در نظر گرفتن این نکته که ممکن است بسته به دست هر دشمنی بیافتد
برای مثال ما فرض می کنیم که فرستنده یک بسته تحویلی دارد که می خواهد آنرا در داخل یک کیف به وسیله یک قفل Lock کند و برای کسی بفرستد که او به کلید رمزش اعتماد ندارد. در عوض فرستنده، گیرنده موردنظرش را برای خرید یک قفل و کلید، راهنمایی می کند. ما فرض میکنیم که کسی دیگر نمی تواند این کلید ها را پیدا کند یا اینکه بتواند قفل را به زور از کیف جدا کند. حال گیرنده و فرستنده اقدامات زیر را انجام می دهند تا از تحویل بسته مطمئن شوند
گام 1: فرستنده بسته را در کیف قرار داده، در کیف را با قفل lock کرده و کلید را از روی قفل برداشته. سپس کیف lock شده به سمت گیرنده فرستاده می شود
نکته: در زمانی که کیف در مسیر از گیرنده به فرستنده است، خطری از جانب دشمنان تهدیدش نمی کند زیرا آنها نمی توانند قفل را از کیف جدا کنند. همچنین دریافت کننده نمی تواند بسته را بدست آورد
گام 2: دریافت کننده کیف را با قفل خودش و کلید مربوطه lock می کند و کلید را از قفل خارج کرده و سپس کیف را به سمت فرستنده می فرستد
نکته : حالا کیف توسط دو قفل lock شده و هیچ کدام هم نمی توانند بسته را بدست بیاورند
گام3: فرستنده توسط کلیدش، قفل مربوطه را از کیف جدا می کند و مجدداً آنرا به سمت گیرنده می فرستد
نکته: تنها قفل باقی مانده در روی کیف به دریافت کننده است
گام 4: گیرنده قفل اش را از روی کیف باز می کند و بسته را بدست می آورد
در نتیجه این توالی رخدادها، بسته به دریافت کننده تحویل داده می شود. با این نکته که نه فرستنده و نه گیرنده نیاز بود که کلیدهایشان را در اختیار دیگری قرار دهند آنها نیازی ندارند که به هم اعتماد کنند. این فرضیات ما در مورد کلیدها و قدرتمندی قفل ها بشدت غیرواقعی هستند. از این رو در هنگام شرح رمزنگاری کلید عمومی این فرضیات تبدیل به معادلات هستند. از این رو در هنگام شرح رمزنگاری کلید عمومی این فرضیات تبدیل به معادلات ریاضی می شضوند که بیشتر قابل قبول هستند. نکته ای که ما بیان کردیم، دست کم در عالم فرض، این است که ارتباطات امن بدون اعتماد دو طرفه نیز قابل انجام است. در مثال فرستنده راهی نداشت تا بفهمد که قفل ری کیف از آن کیست. ممکن است دشمنی با جعل گیرنده و قراردادن قفلی روی آن بتواند به هدفش برسد. این خود مشکل بزرگی در اینگونه ارتباط است. قفل مال کی است؟ این سئوال در این مثال شبیه به این سئوال است که کلید عمومی مال کیست؟ و این سئوالی است که در سیستمهایی که از کلید عمومی استفاده می کنند بسیار مهم است
تا حال ما بیشتر روی تئوری کار کردیم. حال مثالهای ساده ی تاریخی را در درس بعد بررسی میکنیم تا مطمئن شویم که تعاریف تئوری ما بدیهی و قابل فهم بوده اند. در انتهای یک نگاه کلی تر به الگوریتمها و سیستمهای متقارن و نامتقارن می اندازیم
سیستمهای کلید متقارن
یک الگوریتم متقارن از یک کلید برای رمزنگاری و رمزگشایی استفاده می کند. بیشترین شکل استفاده از رمزنگاری که در کارتهای هوشمند و البته در بیشتر سیستمهای امنیت اطلاعات وجود دارد. Data encryption algorithm یا DEA است که بیشتر به عنوان DES شناخته میشود. DES یک محصول دولت ایالات متحده است که امروزه به طور وسیعی به عنوان یک استاندارد بین المللی شناخته می شود. بلوکهای 64 بیتی دیتا توسط یک کلید تنها که معمولاً 56 بیت طول دارد، رمزنگاری و رمزگشایی می شوند. DES از نظر محاسباتی ساده است و براحتی می تواند توسط پردازنده های کند (بخصوص آنهایی که در کارتهای هوشمند وجود دارند) انجام می گیرد
این روش بستگی به مخفی بودن کلید دارد. بنابراین برای استفاده در دو موقعیت مناسب است که هنگامی که کلیدها می توانند به یک روش قابل اعتماد و امن توزیع و ذخیره شوند یا جایی که کلید بین دو سیستم مبادله می شوند که قبلاً هویت یکدیگر را تایید کرده اند عمر کلیدها بیشتر از مدت تراکنش طول نمی کشد. رمزنگاری DES عموما برای حفاظت دیتا از شنود در طول انتقال استفاده می شود
کلیدهای DES 40 بیتی امروزه در عرض چندین ساعت توسط کامپیوترهای معمولی شکسته می شوند و بنابراین نباید برای محافظت اطلاعات مهم و با مدت طولانی اعتبار استفاده شود. کلید 56 بیتی عموماً توسط سخت افزار یا شبکه های بخصوصی شکسته می شوند. رمزنگاری DES سه تایی عبارتست از کدکردن دیتای اصلی با استفاده از الگوریتم DES که در سه مرتبه انجام می گیرد. (دو مرتبه با استفاده از یک کلید به سمت جلو (رمزنگاری) و یک مرتبه به سمت عقب (رمزگشایی) با یک کلید دیگر) مطابق شکل زیر
این عمل تاثیر دو برابر کردن طول موثر کلید را دارد؛ بعداً خواهیم دید که این یک عامل مهم در قدرت رمزکنندگی است
الگوریتمهای استاندارد جدیدتر مختلفی پیشنهاد شده اند. الگوریتمهای مانند Blowfish و IDEA برای زمانی مورد استفاده قرار گرفته اند اما هیچکدام پیاده سازی سخت افزاری نشدندبنابراین به عنوان رقیبی برای استفاده در کاربردهای میکروکنترلی مطرح نبوده اند. پروژه استاندارد رمزنگاری پیشرفته دولتی ایالات متحده (AES) الگوریتم Rijndeal را برای جایگزینی DES به عنوان الگوریتم رمزنگاری اولیه انتخاب کرده است. الگوریتم Twofish مشخصاً برای پیاده سازی در پردازنده های توان پایین مثلاً در کارتهای هوشمند طراحی شد
در 1998 وزارت دفاع ایالات متحده تصمیم گرفت که الگوریتمهای Skipjack و مبادله کلید را که در کارتهای Fortezza استفاده شده بود، از محرمانگی خارج سازد. یکی از دلایل این امر تشویق برای پیاده سازی بیشتر کارتهای هوشمند بر پایه این الگوریتمها بود
برای رمزنگاری جریانی (Streaming encryption) (که رمزنگاری دیتا در حین ارسال صورت می گیرد، بجای اینکه دیتای کدشده رد یک فایل مجزا قرار گیرد) الگوریتم RC4 سرعت بالا و دامنه ای از طول کلیدها از 40 تا 256 بیت فراهم می کند. RC4 که متعلق به امنیت دیتای RSA است، به صورت عادی برای رمزنگاری ارتباطات دو طرفه امن در اینترنت استفاده می شود
سیستمهای کلید نامتقارن