تبلیغات
....گمنام اما پرآوازه.... - رمزگذاری داده ها در کامپوتر
 
....گمنام اما پرآوازه....
ما زنده بر آنیم که آرام نگیریم موجیم که آسودگی ما عدم ماست
                                                        
درباره گمنام اما پرآوازه

به جمع گمنام ها خوش آمدید

عرض سلام به شما كاربر گرامی از این كه به این وبلاگ اومدید خیلی ممنونم امیدوارم مشتری همیشگی اون بشین در ضمن در صورت تمایل میتونید وبلاگ ما رو با نام "گمنام اما پرآوازه" لینك كنید. خیلی ممنون
&&&از ابر برچسب ترین ها دیدن فرمایید&&&
کپی از مطالب این سایت با ذکر منبع)(imanr.mihanblog.com) اشکالی ندارد.
در زیر هم ابزار مترجم وجود داره که می تونید از اون استفاده کنید.
under this part is a translator for you to use from our weblog
Im glad if see your comment
Thanks for your choice
manger of weblog IEMAN
مدیر وبلاگ : ایمان
Free PageRank Checker
نویسنده
تماس با مدیر وبلاگ به وسیله ی ایمیل
نظرسنجیمان
وضعیت بدنی شما چگونه است؟؟؟












صفحات جانبی
آمار ملاقاتامون
  • کل بازدید :
  • بازدید امروز :
  • بازدید دیروز :
  • بازدید این ماه :
  • بازدید ماه قبل :
  • تعداد نویسندگان :
  • تعداد کل پست ها :
  • آخرین بازدید :
  • آخرین بروز رسانی :

رمزگذاری داده ها

img/daneshnameh_up/4/4a/compics032..jpg

رمزنگاری دانش تغییر دادن متن پیام به کمک یک کلید رمزنگاری و یک الگوریتم رمزنگاری است. به صورتی که تنها شخصی که از کلید و الگوریتم مطلع است قادر به استخراج متن اصلی از متن رمزشده باشد و شخصی که از یکی یا هردوی آن‌ها اطلاعی ندارد، نتواند به محتوای پیام دسترسی پیدا کند. رمزنگاری از طریق پنهان نگاه داشتن الگوریتم منسوخ است. در روشهای جدید رمزنگاری فرض بر آن است که همگان الگوریتم را می‌‌دانند. آنچه پنهان است فقط کلید است.
رمزنگاری علمی است که به وسیله آن می‌‌توان اطلاعات را بصورتی امن منتقل کرد حتی اگر مسیر انتقال اطلاعات ( کانالهای ارتباطی ) ناامن باشد. دریافت‌کننده اطلاعات آنها را از حالت رمز خارج می‌کند (decrypting). به این عمل در واقع رمزگشائی گفته می‌شود .
توجه داشته باشید که رمزنگاری به تغییر ساده محتویات یک متن گفته میشود با کدگذاری ( coding ) تفاوت دارد. در این صورت تنها هر کاراکتر با یک نماد تغییر می‌کند. کلمه Cryptography بر گرفته لغات یونانی‘kryptos’ به مفهوم " محرمانه " و grapheinبه معنای نوشتن " است . قبل از هر چیز لازم است بین رمز و کد تفاوت قائل شویم. رمز به مفهوم تبدیل کاراکتر به کاراکتر یا بیت به بیت ؛ بدون تغییر محتویات زبان شناختی آن است. در مقابل " کد " تبدیلی است که کلمه ای را با یک کلمه یا نماد دیگر جایگزین میکند . در بررسی نخستین استفاده کنندگان از رمزنگاری به " سزار " امپراتور روم و نیز " الکندی " که یک مسلمان است برمیخوریم از عمده ترین شیوه های رمزنگاری های ابتدایی پیچیدن نسخه اصلی پیام بر روی استوانه ای با قطر مشخص و نوشتن پیام بر روی متن استوانه ای است. بدیهی است بدون درک میزان قطر، خواندن پیام کار بسیار دشواری بود بعدها از این روش به همراه موتور های الکتریکی برای رمزنگاری استفاده شد.
رمزنگاری امروزه به طور خاص در علم مخابرات مورد استفاده قرار می‌‌گیرد. از رمزنگاری می‌‌توان برای تامین امنیت و تامین اعتبار پیام به صورت جداگانه یا توامان استفاده کرد. منظور از تامین امنیت پیام این است که به غیر از گیرنده مجاز، شخص دیگر قادر به فهمیدن متن پیام نباشد. همچنین منظور از اعتبار پیام این است که فرستنده واقعی پیام مشخص باشد. دانش رمزنگاری بر پایه مقدمات بسیاری از قبیل تئوری اطلاعات، نظریه اعداد و آمار بنا شده است.
الگوریتمهای مختلفی (مانند md5 و RSA) برای رمز کردن اطلاعات وجود دارد

معرفی رمزگذاری

رمزگذاری یعنی تبدیل اطلاعات به یک شکل غیر قابل فهم و انتقال آن و سپس برگرداندن اطلاعات رمز شده به حالت اولیه و قابل خواندن. عناصر مهمی که در رمزگذاری مورد استفاده قرار می‌‌گیرند به شرح زیر می‌‌باشد:
Public Key یا کلید عمومی اعداد یا کلماتی که با یک شخص یا سازمان در ارتباط می‌‌باشد. کلید عمومی جزئی از جفت کلید عمومی/خصوصی می‌‌باشد وبه صورت عمومی در دسترس کسانی که قصد انتقال اطلاعات رمز شده را دارند، می‌‌باشد.
Private Key یا کلید خصوصی اعداد یا کلماتی که با یک شخص یا سازمان در ارتباط می‌‌باشد. کلید خصوصی جزئی از جفت کلید عمومی/خصوصی می‌‌باشد. کلید خصوصی فقط در دسترس مالک جفت کلید عمومی/خصوصی می‌‌باشد و برای بازگشایی اطلاعاتی که توسط کلید عمومی رمزگذاری شده استفاده می‌‌شود.
ایجادکننده های جفت کلید برای ایجاد یک جفت کلید عمومی و خصوصی طبق یک الگوریتم رمزگذاری مشخص استفاده می‌‌شود.
Key Factories برای تبدیل کلید های نامشخص به کلیدهای مشخص به کار می‌‌رود.
Keystores بانکی که برای مدیریت تعدادی از کلید ها به کار می‌‌رود.
الگوریتم های رمزگذاری الگوریتم ها و روشهایی که برای رمزگذاری اطلاعات به کار می‌‌رود. RSA و DES نام دو تا از معروفترین الگوریتم ها می‌‌باشد.


روشهای رمزگذاری

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

مقایسه رمزنگاری الگوریتم های متقارن و الگوریتم های کلید عمومی‌: ‏ ‏بحث های زیادی شده که کدام یک از این الگوریتم ها بهترند اما جواب مشخصی‌ ندارد. البته بررسی‌ هایی‌ روی این ‏سوال شده به طور مثال Needham و Schroeder بعد از تحقیق به این نتیجه رسیدند که طول پیغامی‌ که با الگوریتم های متقارن ‏میتواند رمزنگاری شود از الگوریتم های کلید عمومی‌ کمتر است. و با تحقیق به این نتیجه ریسیدند که الگوریتم های ‏متقارن الگوریتم های بهینه تری هستند. اما وقتی‌ که بحث امنیت پیش می‌ آید الگوریتم های کلید عمومی‌ کارایی‌ بیشتری‏دارند. و بطور خلاصه می‌توان گفت که الگوریتم های متقارن دارای سرعت بالاتر و الگوریتم های کلید عمومی‌ دارای ‏امنیت بهتری هستند. در ضمن گاهی‌ از سیستم ترکیبی‌ از هردو الگوریتم استفاده میکنند که به این الگوریتم ها الگوریتم ‏های ترکیبی‌ (hybrid )گفته میشود. اما اگر به طور دقیق تر به این دو نگاه کنیم آنگاه متوجه خواهیم شد که الگوریتم های کلید عمومی‌ و الگوریتم های ‏کلید متقارن دارای دو ماهیت کاملا متفاوت هستند و کار برد های متفاوتی‌ دارند به طور مثال در رمزنگاری های ساده که ‏حجم داده ها بسیار زیاد است از الگوریتم متقارن استفاده میشود زیرا داده ها با سرعت بالاتری رمزنگاری و ‏رمزگشایی‌ شوند. اما در پروتکل هایی‌ که در اینترنت استفاده میشود، برای رمز نگری کلید هایی‌ که نیاز به مدیریت ‏دارند از الگوریتم های کلید عمومی‌ استفاده میشود.
Key Agreement همانطور که در بالا گفته شد به علت کند بودن و محدودیت رمزگذاری با روش نامتقارن از این روش فقط برای رمزگذاری کلید مشترک استفاده می‌‌شود. اما این روش نیز یک مشکل دارد و آن اینست که هر شخص نیاز به کلید عمومی و خصوصی مربوط به خود را دارد و باید برای انتقال اطلاعات آنرا برای طرف مقابل بفرستد. یک راه برای حل مشکل استفاده از کلید عمومی و یک مکانیزم به نام Key Agreement می‌‌باشد که به طبق آن یک توافق بر روی کلید مخفی بین طرفین به وجود می‌‌آید و به این ترتیب نیازی به انتقال کلید نمی‌باشد. وقتی که یک بار بر روی یک کلید مشترک توافق حاصل شد از آن می‌‌توان برای رمزگذاری و رمزگشایی اطلاعات مربوطه استفاده کرد. معمولا در این روش از الگوریتم Diffie-Hellman استفاده می‌‌شود. مراحل انتقال اطلاعات از این روش به صورت زیر می‌‌باشد: - آغازگر ابتدا یک جفت کلید عمومی و خصوصی ایجاد کرده و کلید عمومی را همراه با مشخصات الگوریتم (Algorithm Specification) به سمت طرف مقابل می‌‌فرستد. - طرف مقابل نیز یک جفت کلید عمومی و خصوصی همراه با مشخصات الگوریتم آغازگر ساخته و کلید عمومی را برای آغازگر می‌‌فرستد. - آغازگر یک کلید مخفی بر اساس کلید خصوصی خود و کلید عمومی طرف مقابل ایجاد میکند. - طرف مقابل نیز با استفاده از کلید خصوصی خود و کلید عمومی آغازگر یک کلید مخفی می‌‌سازد. الگوریتم Diffie-Hellman تضمین می‌‌کند که کلید مخفی هر دو طرف یکسان می‌‌باشد.


امضای دیجیتالی

img/daneshnameh_up/6/62/compics033.gif


معرفی امضای دیجیتالی برای اینکه هویت فرستنده سند تایید شود و نیز برای اطمینان از اینکه سند در طول مدت انتقال به گیرنده دستکاری نشده است از امضای دیجیتالی استفاده می‌‌شود. می‌‌توان کل یک سند و یا قسمتی از آن را امضا کرد. به طور کلی سه دلیل برای استفاده از امضای دیجیتالی وجود دارد که شامل: 1. استفاده از کلید عمومی این اجازه را به هر شخصی می‌‌دهد که کلید خود را به سمت فرستنده اطلاعات بفرستد و سپس گیرنده پس از دریافت اطلاعات آنرا توسط کلید خصوصی خود بازگشایی می‌‌کند، بنابراین امضای دیجیتالی این امکان را می‌‌دهد که فرستنده یا گیرنده مطمئن شوند که اطلاعات از محل یا شخص مورد نظر دریافت می‌‌شود. 2. اطلاعات در طول مدت انتقال ممکن است توسط دیگران دستکاری شود برای اینکه از صحت اطلاعات رسیده مطمئن شویم نیاز به یک امضای دیجیتالی در این حالت احساس می‌‌شود. 3. رد کردن اطلاعات فرستاده شده. گیرنده اطلاعات برای اینکه مطمئن شود فرستنده بعدا از اطلاعاتی که فرستاده اعلام بی خبری نکند و آنها را رد نکند از فرستنده یک امضا درخواست می‌‌کند تا شاهدی بر این ادعا باشد.
برای پیاده سازی یک امضای دیجیتالی نیاز به سه الگورتم داریم: - یک الگوریتم برای ایجاد کلید - الگوریتم برای ایجاد امضا - الگوریتم برای تایید امضا
برای ایجاد یک امضای دیجیتالی باید یک عدد checksum برای سند مورد نظر محاسبه شود. فرض کنید Bob قصد ارسال یک پیام به Alice را دارد، Bob پیام خود را همراه با امضای دیجیتالی برای Alice می‌‌فرستد. این امضای دیجیتالی توسط کلید خصوصی که مالک آن Bob می‌‌باشد ایجاد شده است. در سمت دیگر Alice با استفاده از الگوریتم تایید امضا و کلید عمومی که از Bob دریافت کرده صحت امضا و اینکه امضا از طرف Bob می‌‌باشد را تایید می‌‌کند.


پیوندهای خارجی


همچنین ببینید





نوع مطلب :
برچسب ها :