حامد کیانمهر
13th January 2013, 00:49
منداولترین نوع رمزنگاری مبتنی بر کلید، رمزنگاری "کلید خصوصی" است. به این نوع رمزنگاری، متقارن، سنتی، رمز مشترک، کلید رمز نیز گفته می***شود. در این نوع رمزنگاری، فرستنده و گیرنده از کلید استفاده شده به منظور رمزنگاری اطلاعات آگاهی دارند. رمزنگاری کلیدخصوصی، گزینه***ای مناسب به منظور مبادله اطلاعات بر روی اینترنت و یا ذخیره سازی اطلاعات حساس در یک بانک اطلاعاتی و یا یک فایل می***باشد. از روش فوق، به منظورایمن سازی ارسال اطلاعات در شبکه***های عمومی استفاده می***گردد( از گذشته تا کنون ). ایده اولیه و اساسی در چنین سیستم هائی، "اشتراک یک رمز" بوده و دو گروه شرکت کننده در مبادله اطلاعات، بر روی یک "کلید رمزمشترک "، با یکدیگر توافق می***نمایند. بدین ترتیب امکان رمزنگاری و رمزگشائی پیام***ها برای هر یک از آنان با توجه به آگاهی از "کلید رمز "، فراهم می***گردد.
رمزنگاری متقارن(کلید خصوصی) چندین نقطه ضعف دارد. مبادله کلیدهای رمز در شبکه***های بزرگ امری دشوار و مشکل است. علاوه بر این، اشتراک کلیدهای رمز، مستلزم این واقعیت است که فرستندگان و گیرندگان می***بایست معتبر بوده و قبل از برقراری ارتباط، آشنائی لازم را نسبت به یکدیگر داشته باشند( با تمام افرادیکه قصد ارتباط ایمن با آنان وجود دارد ). همچنین، این نوع سیستم***های رمزنگاری، نیازمند استفاده از یک کانال ایمن به منظور توزیع کلیدهای " رمز" می***باشند. الگوریتم متقارن از یک کلید برای رمزنگاری و رمزگشایی استفاده می***کند. بیشترین شکل استفاده از رمزنگاری که در کارتهای هوشمند و البته در بیشتر سیستمهای امنیت اطلاعات وجود دارد 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 سه بار اعمال می***شود. نسخه دیگری از این الگوریتم (پایدارتر از قبلی***ها) از کلیدهای ۵۶بیتی و کلیدهای ۱۶۸بیتی استفاده می***کند و سه بار عملیات رمزنگاری را انجام می***دهد.
رمزنگاری متقارن(کلید خصوصی) چندین نقطه ضعف دارد. مبادله کلیدهای رمز در شبکه***های بزرگ امری دشوار و مشکل است. علاوه بر این، اشتراک کلیدهای رمز، مستلزم این واقعیت است که فرستندگان و گیرندگان می***بایست معتبر بوده و قبل از برقراری ارتباط، آشنائی لازم را نسبت به یکدیگر داشته باشند( با تمام افرادیکه قصد ارتباط ایمن با آنان وجود دارد ). همچنین، این نوع سیستم***های رمزنگاری، نیازمند استفاده از یک کانال ایمن به منظور توزیع کلیدهای " رمز" می***باشند. الگوریتم متقارن از یک کلید برای رمزنگاری و رمزگشایی استفاده می***کند. بیشترین شکل استفاده از رمزنگاری که در کارتهای هوشمند و البته در بیشتر سیستمهای امنیت اطلاعات وجود دارد 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 سه بار اعمال می***شود. نسخه دیگری از این الگوریتم (پایدارتر از قبلی***ها) از کلیدهای ۵۶بیتی و کلیدهای ۱۶۸بیتی استفاده می***کند و سه بار عملیات رمزنگاری را انجام می***دهد.