درس هفتم - رمزنویسی
قبل از اینکه با مفهوم PKE آشنا شوید بایستی با مفهوم Cryptography یا رمزنویسی آشنا شوید . رمزنویسی پروسه اعمال یک الگوریتم بخصوص در متن ساده برای تبدیل آن به متن رمزی است . کلید های امنیتی به عنوان یک متغیر در داخل این الگوریتم استفاده می شود تا این فرمول امن باشد . این کلید ها می توانند Symmetric و یا Asymmetric باشند .
(درباره مفهوم Symmetric و Asymetric کمی جلوتر توضیح می دهیم)
به عنوان مثال ما کلمه Computer را داریم که به صورت متن ساده نوشته شده است . الگوریتمی داریم که طبق دستور آن هر حرف متن به دو حرف بعدی حروف الفبای انگلیسی تغییر می یابد و در اینجا کلید ما X است پس یعنی اگر X=2 در نتیجه کلمه computer می شود : emorwvgt که در کل یک کلمه بی معنی است و اگر در اختیار کسی قرار گیرد قابل استفاده نخواهد بود . فلسفه رمزنگاری متن ساده به متن رمزی نیز همین است که اگر اطلاعاتی که انتقال پیدا می کنند در اختیار یک شخص نفوذی و یا هکر قرار گیرد , قابل استفاده نباشد .
خوب اکنون درباره مفهوم Symmetric و Asymetric صحبت می کنیم .
رمزنگاری با استفاده از کلید Symmetric , همان کلیدی که برای رمزنگاری اطلاعات استفاده شده است برای رمزگشایی آن نیز استفاده خواهد شد . به عبارت دیگر اگر من بخواهم یک ارتباط امن را با شما برقرار کنم , من و شما بایستی هردو یک کلید را داشته باشیم تا هنگامی که من داده ها را رمز نگاری می کنم و برای شما ارسال می کنم , شما برای دسترسی به آنها و رمزگشایی آنها بتوانید با استفاده از همان کلید آنها را رمزگشایی کنید .
وقتی که از متد Symmetric استفاده می کنید برای هر ارتباط نیاز به یک کلید یگانه است . به این معنی که من برای ارتباط با شما به یک کلید نیاز دارم ولی برای ارتباط با شخص دیگری به یک کلید دیگر . پس من برای ارتباط با هر شخص نیاز به یک کلید منحصر به فرد دارم .
در نظر بگیرید که اگر دو نفر بخواهند با یکدیگر ارتباط برقرار کنند : به دو کلید نیاز خواهد بود . اگر سه نفر بخواهند با یکدیگر ارتباط برقرار کنند : به سه کلید نیاز خواهد بود . اگر چهار نفر باشند می شود شش کلید و این عدد تصاعدی خواهد بود و اگر ده نفر تمایل به بر قرار ارتباط با یکدیگر باشند 45 کلید نیاز خواهد بود !!! . در این روش کلیدهای زیادی ایجاد می شود و مبادله و نگهداری این کلیدها به یک معضل تبدیل می شود پس نتیجه می گیریم که این روش برای شبکه های کوچک و محدود مناسب است .
Asymmetric Key Encryption به این صورت خواهد بود که ما از جفت کلیدها برای رمزنگاری و رمزگشایی داده ها استفاده خواهیم کرد . به این صورت که همیشه یک جفت کلید استفاده خواهد شد و یک کلید در این جفت برای رمزنگاری داده و کلید دیگر برای رمزگشایی داده استفاده خواهد شد . به همین دلیل نگهداری و ذخیره سازی کلیدها راحت تر خواهد بود و کلیدهای کمتری استفاده خواهد شد و وقتی که به توضیح پروسه آن بپردازیم متوجه این امر خواهید شد .
.