موضوع مقاله: رمز و رمزنگاری | مخاطب: عمومی | لحن: دانشنامه‌ای | ساختار: عنوان، مقدمه، 3 بخش، جمع‌بندی | مقاله: | # رمز و رمزنگاری | مقدمه: ۱۰۱۰۱ چکیده امروزه در دنیای دیجیتال حفاظت از اطلاعات رکن اساسی و مهمی در تبادلات پیام‌ها ومبادلات تجاری ایفا می‌نماید. | ## بخش 1: رمز و رمزنگاری | با توجه به اهمیت این موضوع و گذار از مرحله سنتی به مرحله دیجیتال آشنایی با روش‌های رمز گذاری ضروری به نظر می‌رسد. در این مطالب ضمن بررسی الگوریتم‌های رمز نگاری کلید عمومی (نامتقارن) و کلید خصوصی (متقارن)، جنبه‌های گوناگون کلید عمومی مورد بررسی قرار می‌گیرد و ویژگی‌های هر کدام بیان می‌گردد. مقدمه رشد و گسترش روزافزون شبکه‌های کامپیوتری، خصوصاً اینترنت باعث ایجاد تغییرات گسترده در نحوه زندگی و فعالیت شغلی افراد، سازمان‌ها و موسسات شده‌است. با اتصال شبکه داخلی سازمان‌ها به شبکه جهانی، داده‌های سازمان‌ها در معرض دسترسی افراد و میزبان‌های خارجی قرار می‌گیرد. اطمینان از عدم دستیابی افراد غیرمجاز به اطلاعات حساس از مهم‌ترین چالش‌های امنیتی در رابطه با توزیع اطلاعات در اینترنت است. راه حل‌های مختلفی نظیر محدود کردن استفاده از اینترنت، رمزنگاری داده‌ها، واستفاده از ابزار امنیتی برای میزبان‌های داخلی و برقراری امنیت شبکه داخلی ارائه شده‌است. دستیابی به اطلاعات رمز شده برای افراد غیرمجاز امکان‌پذیر نبوده و صرفاً افرادیکه دارای کلید رمز می‌باشند، قادر به بازنمودن رمز و استفاده از اطلاعات هستند. قبل از عصر اطلاعات، بیشترین کاربران رمزنگاری اطلاعات، دولت‌ها و مخصوصاً کاربران نظامی بوده‌اند. امروزه اغلب روش‌ها و مدل‌های رمزنگاری اطلاعات در رابطه با کامپیوتر به خدمت گرفته می‌شود. کشف و تشخیص اطلاعاتی که به صورت معمولی در کامپیوتر ذخیره و فاقد هر گونه روش علمی رمزنگاری باشند، به راحتی و بدون نیاز به تخصصی خاص انجام خواهد یافت. از این روست که رمزنگاری داده‌ها با توجه به پیشرفت‌های اخیر تحول یافته والگوریتم‌های نوینی به همین منظور طراحی گردیده‌است. تعریف رمزنگاری رمزنگاری عبارت است از بهم ریختگی اطلاعات به‌طوری‌که برای کسی قابل فهم نباشد. فناوری رمزنگاری امکان مشاهده، مطالعه و تفسیر پیام‌های ارسالی توسط افراد غیرمجاز را سلب می‌نماید. از رمزنگاری به منظور حفاظت داده‌ها در شبکه‌های عمومی نظیر اینترنت استفاده می‌گردد. در این رابطه از الگوریتم‌های پیشرفته ریاضی به منظور رمزنمودن پیام‌ها و ضمائم مربوطه، استفاده می‌شود. الگوریتم‌های رمزنگاری انتقال اطلاعات حساس بر روی یک شبکه مستلزم به‌کارگیری مکانیزمی است که سه ویژگی زیر را تضمین نماید: امنیت: داده ارسالی نمی‌بایست توسط افراد غیرمجاز، استفاده (خوانده) گردد. غیرجعلی بودن اطلاعات: داده دریافت شده در مقصد با داده ارسال شده در مبدأ یکسان بوده و اطلاعات دستکاری نشده باشد. تکنولوژی هائی که یک ارتباط ایمن را ارائه می‌نمایند، می‌بایست مبتنی بر مکانیزمی‌باشند که سه ویژگی فوق را تضمین نمایند. این‌گونه تکنولوژی‌ها، عموماً «از الگوریتم‌های رمزنگاری استفاده نموده و با رمز نمودن اطلاعات، عملاً» امکان رمزگشائی و دستیابی به داده اولیه توسط افراد غیرمجاز را سلب می‌نمایند. الگوریتم‌های رمزنگاری به دو گروه عمده تقسیم می‌گردند: الگوریتم‌های محدود: در این نوع الگوریتم‌ها، محور امنیت اطلاعات بر محرمانه نگه داشتن الگوریتم استفاده شده در فرایند رمزنگاری استوار است. الگوریتم‌های مبتنی بر کلید: در این نوع الگوریتم‌ها، کلید محرمانه تلقی شده و الگوریتم می‌تواند در دسترس عموم باشد. در این رابطه از دو مدل رمزنگاری عمده استفاده می‌گردد: کلید خصوصی (متقارن): فرستنده و گیرنده از یک کلید یکسان به منظور رمزنگاری و رمزگشائی استفاده می‌نمایند. یکی از کلیدها عمومی بوده و در دسترس همگان قرار داشته و کلید دوم به صورت محرمانه می‌باشد. | ## بخش 2: رمز و رمزنگاری | رمزنگاری کلید عمومی (نامتقارن) Public Key رمزنگاری کلید عمومی که از آن با نام رمزنگاری نامتقارن نیز یاد می‌گردد، از دو کلید متفاوت برای رمزنگاری استفاده می‌نماید: یک کلید برای رمزنگاری و کلیدی دیگر برای رمزگشائی. در رمزنگاری کلید عمومی، با استفاده از یک روش کاملاً «ایمن یک کلید برای ارسال‌کننده اطلاعات ایجاد و وی با استفاده از کلید فوق، اقدام به رمزنگاری و ارسال پیام رمز شده برای گیرنده می‌نماید. کلید عمومی برای شخصی که از آن به منظور رمزنگاری یک پیام استفاده می‌نماید، ارسال می‌گردد. وی پس از رمزنگاری پیام با استفاده از کلید عمومی، پیام رمز شده را ارسال می‌نماید. (ماهیت کلید خصوصی استفاده شده در رمزنگاری کلید عمومی، مشابه کلید خصوصی استفاده شده در رمزنگاری کلید خصوصی نمی‌باشد). حتی اگر یک فرد متخلف، به کلید عمومی دستیابی پیدا نماید وی نمی‌تواند با استفاده از آن اقدام به رمزگشائی پیام رمز شده نماید، چراکه رمزگشائی پیام صرفاً با استفاده از کلید خصوصی امکان‌پذیر می‌باشد. برخلاف رمزنگاری کلید خصوصی، کلیدهای استفاده شده در رمزنگاری کلید عمومی چیزی به‌مراتب بیشتر از رشته‌های ساده می‌باشند. کلید در این نوع رمزنگاری دارای یک ساختار خاص با هشت فیلد اطلاعاتی است که دو فیلد آن به منظور رمزنگاری با استفاده از کلید عمومی استفاده می‌گردد و شش فیلد دیگر به منظور رمزگشائی پیام با استفاده از کلید خصوصی مورد استفاده قرار می‌گیرد. در سیستم رمزنگاری کلید عمومی با توجه به عدم ضرورت مبادله رمز مشترک، اولین مسئله در مدیریت کلید برطرف می‌گردد. می‌توان از یک سیستم نامتقارن برای نشان دادن اینکه فرستنده پیام همان شخصی است که ادعا می‌کند، استفاده کرد. RSA شامل دو تبدیل است: ۱- امضاء، برای اینکار متن اصلی با استفاده از کلید اختصاصی رمز می‌شود. ۲- رمزگشایی، در این مرحله، عملیات مشابه‌ای روی متن رمزشده صورت می‌گیرد ولی اینکار با استفاده از کلید عمومی است. برای تأیید امضاء بررسی می‌کنیم که آیا این نتیجه با دیتای اولیه یکسان است؛ اگر اینگونه‌است، امضاء توسط کلید اختصاصی متناظر رمزشده‌است. به بیان ساده‌تر چنانچه متنی از شخصی برای دیگران منتشر شود، آن متن شامل متن اصلی و متن رمز شده متن اصلی توسط کلید اختصاصی همان شخص می‌باشد. حال اگر متن رمزشده توسط کلید عمومی آن شخص که شما از آن مطلعید رمزگشایی شود، مطابقت متن حاصل و متن اصلی نشاندهنده صحت فرد فرستنده‌است، به این ترتیب امضای فرد تأیید می‌شود. این شکل محاسبات، روی پردازنده‌های بایتی بخصوص روی ۸ بیتی‌ها که در کارت‌های هوشمند استفاده می‌شود بسیار کند است؛ بنابراین، اگرچه RSA هم تصدیق هویت و هم رمزنگاری را ممکن می‌سازد، در واقع برای تأیید هویت منبع پیام است که از این الگوریتم در کارت‌های هوشمند استفاده می‌شود و برای نشان دادن عدم تغییر پیام در طول ارسال و رمزنگاری کلیدهای آتی استفاده می‌گردد. بسیاری از این طرح‌ها عملکردهای یک طرفه‌ای دارند که اجازه تأیید هویت را می‌دهند اما رمزنگاری ندارند. معموماً سیستمی امن محسوب می‌شود که هزینه شکستن آن بیشتر از ارزش دیتایی باشد که نگهداری می‌کند. رمزنگاری کلید عمومی و گواهینامه دیجیتالی ویژگی مدل رمزنگاری کلید عمومی عدم استفاده از کلیدهای مشابه (در رمزنگاری ورمزگشایی) هر کاربر دارای یک زوج کلید (عمومی، خصوصی) می‌باشد. از کلید عمومی به منظور رمزنگاری داده و از کلید خصوصی به منظور رمزگشائی داده استفاده می‌گردد. از مدل رمزنگاری عمومی به منظور مبادله کلید خصوصی و امضای دیجیتال استفاده می‌شود. در این نوع رمزنگاری، فرستنده و گیرنده از کلید استفاده شده به منظور رمزنگاری اطلاعات آگاهی دارند. رمزنگاری کلیدخصوصی، گزینه‌ای مناسب به منظور مبادله اطلاعات بر روی اینترنت یا ذخیره‌سازی اطلاعات حساس در یک بانک اطلاعاتی یا یک فایل می‌باشد. | ## بخش 3: رمز و رمزنگاری | از روش فوق، به منظورایمن‌سازی ارسال اطلاعات در شبکه‌های عمومی استفاده می‌گردد (از گذشته تا کنون). ایده اولیه و اساسی در چنین سیستم هائی، "اشتراک یک رمز" بوده و دو گروه شرکت‌کننده در مبادله اطلاعات، بر روی یک "کلید رمزمشترک "، با یکدیگر توافق می‌نمایند. بدین ترتیب امکان رمزنگاری و رمزگشائی پیام‌ها برای هر یک از آنان با توجه به آگاهی از "کلید رمز "، فراهم می‌گردد. علاوه بر این، اشتراک کلیدهای رمز، مستلزم این واقعیت است که فرستندگان و گیرندگان می‌بایست معتبر بوده و قبل از برقراری ارتباط، آشنائی لازم را نسبت به یکدیگر داشته باشند (با تمام افرادی‌که قصد ارتباط ایمن با آنان وجود دارد). همچنین، این نوع سیستم‌های رمزنگاری، نیازمند استفاده از یک کانال ایمن به منظور توزیع کلیدهای «رمز» می‌باشند. DES محصول دولت ایالات متحده‌است که امروزه به‌طور وسیعی به عنوان یک استاندارد بین‌المللی شناخته می‌شود. بلوک‌های ۶۴بیتی دیتا توسط یک کلید، که معمولاً ۵۶ بیت طول دارد، رمزنگاری و رمزگشایی می‌شوند. DES از نظر محاسباتی ساده‌است و به راحتی می‌تواند توسط پردازنده‌های کند (بخصوص آن‌هایی که در کارت‌های هوشمند وجود دارند) به‌کار گرفته شوند. این روش بستگی به مخفی‌بودن کلید دارد؛ بنابراین استفاده از این روش در دو وضعیت زیر مناسب است: ۱- هنگامی که کلیدها می‌توانند با یک روش قابل اعتماد و امن توزیع و ذخیره شوند. ۲- زمانی که کلید بین دو سیستم مبادله می‌شود، قبلاً هویت همدیگر را تأیید کرده باشند. کلیدهای DES ۴۰بیتی امروزه در عرض چندین ساعت توسط کامپیوترهای معمولی شکسته می‌شوند و بنابراین نباید برای محافظت از اطلاعات مهم و جهت اعتبار طولانی مدت از آن‌ها استفاده شود. رمزنگاری DESسه‌تایی عبارتست از کد کردن دیتای اصلی با استفاده از الگوریتم DES که در سه مرتبه انجام می‌گیرد (دو مرتبه با استفاده از یک کلید به سمت جلو (رمزنگاری) و یک مرتبه به سمت عقب (رمزگشایی) با کلید دیگر). الگوریتمهایی مانند Blowfish و IDEA در موارد مختلف مورد استفاده قرار گرفته‌اند اما هیچ‌کدام پیاده‌سازی سخت‌افزاری نشدند؛ بنابراین به عنوان رقیبی برای DES جهت استفاده در کاربردهای میکروکنترلی مطرح نبوده‌اند. همچنین الگوریتم Twofish مشخصا برای پیاده‌سازی در پردازنده‌های توان‌پایین مثلاً در کارت‌های هوشمند طراحی شد. یکی از دلایل این امر تشویق برای پیاده‌سازی بیشتر کارت‌های هوشمند برپایه این الگوریتم‌ها بود. این الگوریتم، متن اولیه را به بلوک‌های ۶۴ بیتی می‌شکند و آن‌ها را یکی‌یکی رمز می‌کند. نسخه دیگری از این الگوریتم (پایدارتر از قبلی‌ها) از کلیدهای ۵۶بیتی و کلیدهای ۱۶۸بیتی استفاده می‌کند و سه بار عملیات رمزنگاری را انجام می‌دهد. ویژگی مدل رمزنگاری کلید خصوصی رمزنگاری و رمزگشائی داده با استفاده از کلید یکسانی انجام می‌شود. تمامی کاربرانی که در یک گروه عضویت داشته و قصد اشتراک داده را بین خود دارند، می‌بایست دارای کلید یکسانی باشند. در صورتی‌که یک کلید د چار مشکل گردد (لورفتن)، تمامی کلیدها می‌بایست تعویض و با کلیدی جدید جایگزین گردند. مهم‌ترین مسئله در ارتباط با این مدل رمزنگاری، عدم وجود امنیت لازم به منظور توزیع کلید است. | ## جمع‌بندی | موارد کاربرد رمزنگاری موارد متعددی از اطلاعات حساس که نباید در دسترس دیگران قرار گیرد، وجود دارند.