11-06-2021, 07:02 PM
پردیس فناوری کیش_طرح مشاوره متخصصین صنعت و مدریت-گروه فناوری اطلاعات و ارتباطات
رمزنگاری به زبان ساده به فرایندی گفته میشود که در آن، یک پیام یا فایل را با یک رمز محافظت میکنیم. با پیادهسازی فرایند، تنها افراد خاصی امکان مشاهدهی پیام یا فایل را خواهند داشت. رمزنگاری ابتدا با رمزگذاری یا به هم ریختن دادهی ورودی (Encrypt) انجام میشود. سپس گیرنده، دادهها را با استفاده از یک رمز از حالت بههم ریخته خارج میکند که اصطلاحا به آن رمزگشایی (Decrypt) گفته میشود.
در رمزنگاری، کلیدها نقشی اساسی دارند و از زمانهای دور تا روشهای مدرن امروزی، انواع کلیدهایی که برای بازکردن رمز پیامها استفاده میشدند، نقشی حیاتی داشتند. امروزه کلیدها با استفاده از الگوریتمهای کامپیوتری ساخته میشوند که عملکردی شبیه به ابزارهای تولید اعداد تصادفی دارند. بهعنوان مثال، برخی از الگوریتمهای پیچیدهی امروزی از حرکت ماوس کاربر برای ساختن عبارتی تصادفی بهعنوان کلید رمزنگاری استفاده میکنند.
عبارتهای مرسوم در رمزنگاری
هر فناوری عبارتهایی مخصوص به خود دارد که آشنایی با معنی و کاربرد آنها، در درک مفاهیم مهمتر فناوری نقش مهمی دارد. در ادامه، عبارتهای مهم رمزنگاری را بررسی میکنیم.
کلید (Key): رشتهای تصادفی از بیتها که برای به هم ریختن و مرتبط کردن داده (رمزنگاری و رمزگشایی) استفاده میشود. کلیدها منحصربهفرد هستند و بهصورت کاملا تصادفی ساخته میشوند تا بهراحتی قابل پیشبینی نباشند. هرچه کلیدها بلندتر باشند، شکستن آنها دشوارتر خواهد بود. طول مرسوم کلیدها در رمزنگاری متقارن، ۱۲۸ بیت و در رمزنگاری نامتقارن، ۲۰۴۸ بیت است (در بخشهای بعدی، انواع رمزنگاری را توضیح میدهیم).
رمز (Cipher): الگوریتمی که برای رمزنگاری و رمزگشایی دادهها استفاده میشود. درواقع الگوریتم تعدادی مرحله و فرایند است که پشت سر هم انجام میشود. دو نوع الگوریتم بلوکی و دنبالهای وجود دارند (Block و Stream).
الگوریتم (Algorithm): همان سلسله مراتب و مراحلی است که در فرایند رمزنگاری انجام میشود. امروزه انواع الگوریتمهای رمزنگاری وجود دارند که بسته به سطح امنیت و موضوع و حوزهی فعالیت، دستهبندی میشوند.
رمزگشایی (Decryption): فرایدی که طی آن یک متن دارای رمز یا دادهی نامفهوم با استفاده از کلید رمزگشایی به دادهی مفهوم تبدیل میشود.
تحلیل رمزنگاری (Cryptanalysis): علم مطالعهی رمزها و سیستمهای رمزنگاری. در کاربردهای مجرمانه با استفاده از این علم میتوان پس از کشف نقاط ضعف سیستم رمزنگاری، بدون داشتن کلیدها به دادهی اصلی دسترسی پیدا کرد. در قدیم روشی بهنام تحلیل تناوب (Frequency Analysis) کاربرد داشت که با پیدا کردن تکرار برخی از حروف در پیامها، پیام اصلی را بهنوعی استخراج میکرد. البته روش مذکور در مقابله با الگوریتمهای مدرن امروزی کارایی چندانی ندارد
انواع رمزنگاری
تمامی الگوریتمهای رمزنگاری را میتوان در دو دستهی کلی تقسیمبندی کرد. درواقع تفاوت اصلی الگوریتمها در همین دستهبندی مشخص میشود و دیگر تفاوتها به روش توسعهی الگوریتم بستگی پیدا میکنند.
الگوریتمهای دارای کلیدهای متقارن (Symmetric) که از کلیدهای رمزگشایی مرتبط با مشابه برای رمزنگاری و رمزگشایی استفاده میکنند.
الگوریتمهای دارای کلیدهای نامتقارن (Asymmetric) که از کلیدهای متفاوت برای رمزنگاری و رمزگشایی استفاده میکنند. این نوع رمزنگاری بهنام Public-Key هم شناخته میشود.
رمزنگاری به زبان ساده به فرایندی گفته میشود که در آن، یک پیام یا فایل را با یک رمز محافظت میکنیم. با پیادهسازی فرایند، تنها افراد خاصی امکان مشاهدهی پیام یا فایل را خواهند داشت. رمزنگاری ابتدا با رمزگذاری یا به هم ریختن دادهی ورودی (Encrypt) انجام میشود. سپس گیرنده، دادهها را با استفاده از یک رمز از حالت بههم ریخته خارج میکند که اصطلاحا به آن رمزگشایی (Decrypt) گفته میشود.
در رمزنگاری، کلیدها نقشی اساسی دارند و از زمانهای دور تا روشهای مدرن امروزی، انواع کلیدهایی که برای بازکردن رمز پیامها استفاده میشدند، نقشی حیاتی داشتند. امروزه کلیدها با استفاده از الگوریتمهای کامپیوتری ساخته میشوند که عملکردی شبیه به ابزارهای تولید اعداد تصادفی دارند. بهعنوان مثال، برخی از الگوریتمهای پیچیدهی امروزی از حرکت ماوس کاربر برای ساختن عبارتی تصادفی بهعنوان کلید رمزنگاری استفاده میکنند.
عبارتهای مرسوم در رمزنگاری
هر فناوری عبارتهایی مخصوص به خود دارد که آشنایی با معنی و کاربرد آنها، در درک مفاهیم مهمتر فناوری نقش مهمی دارد. در ادامه، عبارتهای مهم رمزنگاری را بررسی میکنیم.
کلید (Key): رشتهای تصادفی از بیتها که برای به هم ریختن و مرتبط کردن داده (رمزنگاری و رمزگشایی) استفاده میشود. کلیدها منحصربهفرد هستند و بهصورت کاملا تصادفی ساخته میشوند تا بهراحتی قابل پیشبینی نباشند. هرچه کلیدها بلندتر باشند، شکستن آنها دشوارتر خواهد بود. طول مرسوم کلیدها در رمزنگاری متقارن، ۱۲۸ بیت و در رمزنگاری نامتقارن، ۲۰۴۸ بیت است (در بخشهای بعدی، انواع رمزنگاری را توضیح میدهیم).
رمز (Cipher): الگوریتمی که برای رمزنگاری و رمزگشایی دادهها استفاده میشود. درواقع الگوریتم تعدادی مرحله و فرایند است که پشت سر هم انجام میشود. دو نوع الگوریتم بلوکی و دنبالهای وجود دارند (Block و Stream).
الگوریتم (Algorithm): همان سلسله مراتب و مراحلی است که در فرایند رمزنگاری انجام میشود. امروزه انواع الگوریتمهای رمزنگاری وجود دارند که بسته به سطح امنیت و موضوع و حوزهی فعالیت، دستهبندی میشوند.
رمزگشایی (Decryption): فرایدی که طی آن یک متن دارای رمز یا دادهی نامفهوم با استفاده از کلید رمزگشایی به دادهی مفهوم تبدیل میشود.
تحلیل رمزنگاری (Cryptanalysis): علم مطالعهی رمزها و سیستمهای رمزنگاری. در کاربردهای مجرمانه با استفاده از این علم میتوان پس از کشف نقاط ضعف سیستم رمزنگاری، بدون داشتن کلیدها به دادهی اصلی دسترسی پیدا کرد. در قدیم روشی بهنام تحلیل تناوب (Frequency Analysis) کاربرد داشت که با پیدا کردن تکرار برخی از حروف در پیامها، پیام اصلی را بهنوعی استخراج میکرد. البته روش مذکور در مقابله با الگوریتمهای مدرن امروزی کارایی چندانی ندارد
انواع رمزنگاری
تمامی الگوریتمهای رمزنگاری را میتوان در دو دستهی کلی تقسیمبندی کرد. درواقع تفاوت اصلی الگوریتمها در همین دستهبندی مشخص میشود و دیگر تفاوتها به روش توسعهی الگوریتم بستگی پیدا میکنند.
الگوریتمهای دارای کلیدهای متقارن (Symmetric) که از کلیدهای رمزگشایی مرتبط با مشابه برای رمزنگاری و رمزگشایی استفاده میکنند.
الگوریتمهای دارای کلیدهای نامتقارن (Asymmetric) که از کلیدهای متفاوت برای رمزنگاری و رمزگشایی استفاده میکنند. این نوع رمزنگاری بهنام Public-Key هم شناخته میشود.