امروزه زندگی بسیاری از ما در اینترنت سپری میشود. ذخیره اطلاعات شخصی، یافتن سرگرمی، خرید یا انجام کارهایمان، همگی ما را به حضور آنلاین وابسته کردهاند. این افزایش وابستگی به اینترنت نشان از اهمیت روزافزون امنیت اطلاعات دارد. اکنون خطرات متعددی در کمین است و کاربران باید اطمینان حاصل کنند که دادههای حساس آنها محرمانه، بدون تغییر و در دسترس افراد مجاز باقی میماند. در این میان، رمزگذاری دادهها یکی از قدیمیترین و پرکاربردترین ابزارهای امنیت سایبری است. در این مطلب از سلام دنیا، ما به موضوع " الگوریتم DES چگونه کار میکند: اصول اولیه رمزگذاری دادهها " پرداخته ایم. با ما همراه باشید.
اصول عملکرد الگوریتم DES در رمزگذاری دادهها
استاندارد رمزگذاری داده ها (DES)
DES مخفف Data Encryption Standard است. ماشین های خاصی وجود دارند که می توان از آنها برای شکستن الگوریتم DES استفاده کرد. الگوریتم DES از کلیدی با اندازه 56 بیت استفاده می کند. با استفاده از این کلید، DES یک بلوک از متن ساده 64 بیتی را به عنوان ورودی می گیرد و بلوکی از متن رمزی 64 بیتی را تولید می کند. فرآیند DES دارای چندین مرحله است که هر مرحله را دور می نامند. بسته به اندازه کلید مورد استفاده، تعداد دورها متفاوت است. به عنوان مثال، یک کلید 128 بیتی به 10 دور نیاز دارد، یک کلید 192 بیتی به 12 دور نیاز دارد و غیره. پس از گذراندن و درک آنچه DES است، اجازه دهید راههایی را برای بهبود مهارتهای امنیت سایبری خود بررسی کنیم.
حتما بخوانید: بهترین نرم افزار های رمزگذاری روی فایل و پوشه
الگوریتم DES در امنیت سایبری چیست؟
الگوریتم DES (استاندارد رمزگذاری داده ها) یک رمز بلوکی با کلید متقارن است که در اوایل دهه 1970 توسط تیم IBM ایجاد شد و توسط موسسه ملی استاندارد و فناوری (NIST) پذیرفته شد. این الگوریتم متن ساده را در بلوک های 64 بیتی می گیرد و با استفاده از کلیدهای 48 بیتی آنها را به متن رمزی تبدیل می کند. از آنجایی که این یک الگوریتم کلید متقارن است ، از یک کلید در رمزگذاری و رمزگشایی داده ها استفاده می کند. اگر الگوریتم نامتقارن بود، از کلیدهای مختلفی برای رمزگذاری و رمزگشایی استفاده می کرد.
تاریخچه الگوریتم DES
DES بر اساس رمز بلوک Feistel به نام LUCIFER است که در سال 1971 توسط محقق رمزنگاری IBM Horst Feistel توسعه یافت. DES از 16 دور ساختار Feistel استفاده می کند که برای هر دور از یک کلید متفاوت استفاده می کند. DES در نوامبر 1976 به استاندارد رمزگذاری فدرال تایید شده تبدیل شد و متعاقباً در سالهای 1983، 1988 و 1999 مجدداً به عنوان استاندارد تأیید شد. تسلط DES در سال 2002 به پایان رسید، زمانی که استاندارد رمزگذاری پیشرفته (AES) جایگزین الگوریتم رمزگذاری DES به عنوان استاندارد پذیرفته شد.NIST رسماً FIPS 46-3 (تأیید مجدد 1999) را در می 2005 پس گرفت، اگرچه DES سه گانه (3DES) تا سال 2030 برای اطلاعات حساس دولتی تأیید شده است.
جایگشت اولیه (IP)
متن ساده به تکه های کوچکتر با اندازه 64 بیت تقسیم می شود. IP قبل از دور اول انجام می شود. این مرحله اجرای فرآیند انتقال را توصیف می کند. به عنوان مثال، بیت 58 جایگزین بیت اول، بیت 50 جایگزین بیت دوم و غیره می شود. متن 64 بیتی حاصل به دو نیمه مساوی 32 بیتی تقسیم می شود که هر کدام Left Plain Text (LPT) و Right Plain Text (RPT) نامیده می شوند.
مرحله 1: تبدیل کلید
ما قبلاً می دانیم که فرآیند DES از یک کلید 56 بیتی استفاده می کند که با حذف تمام بیت های موجود در هر موقعیت 8 در یک کلید 64 بیتی به دست می آید. در این مرحله یک کلید 48 بیتی تولید می شود. کلید 56 بیتی به دو نیمه مساوی تقسیم می شود و بسته به تعداد دور، بیت ها به صورت دایره ای به سمت چپ منتقل می شوند. به همین دلیل، تمام بیت های کلید دوباره مرتب می شوند. میتوان مشاهده کرد که برخی از بیتها در طی فرآیند جابجایی حذف میشوند و یک کلید 48 بیتی تولید میکنند. این فرآیند به عنوان جایگشت فشرده سازی شناخته می شود.
حتما بخوانید: آموزش قفل کردن و رمز گذاری پوشه ها و فایل در ویندوز 10 و 11
مرحله 2: جایگشت گسترش
بیایید یک RPT با اندازه 32 بیتی را در نظر بگیریم که در مرحله IP ایجاد می شود. در این مرحله از 32 بیت به 48 بیت گسترش می یابد. RPT با اندازه 32 بیت به 8 تکه 4 بیتی تقسیم می شود و دو بیت اضافی به هر تکه اضافه می شود، بعداً، بیت ها در بین خود جای می گیرند و به داده های 48 بیتی می رسند. یک تابع XOR بین کلید 48 بیتی به دست آمده از مرحله 1 و RPT گسترش یافته 48 بیتی اعمال می شود.
الگوریتم سه گانه DES
Triple DES یک رمز متقارن کلید بلوک است که رمز DES را در سه نسخه اعمال می کند. با کلید اول (k1) رمزگذاری می کند، با کلید دوم (k2) رمزگشایی می کند، سپس با کلید سوم (k3) رمزگذاری می کند. یک نوع دو کلیدی نیز وجود دارد که در آن k1 و k3 کلیدهای یکسان هستند.
نکته های کلیدی:
- NIST مجبور شد الگوریتم DES را جایگزین کند زیرا با توجه به افزایش قدرت پردازش کامپیوترهای جدیدتر، طول کلید 56 بیتی آن بسیار کوچک بود. قدرت رمزگذاری به اندازه کلید مرتبط است و DES خود را قربانی پیشرفتهای تکنولوژیکی در حال انجام در محاسبات میداند. به جایی رسید که 56 بیت دیگر برای مقابله با چالش های جدید رمزگذاری خوب نبود.
- توجه داشته باشید که فقط به دلیل اینکه DES دیگر استاندارد فدرال NIST نیست، به این معنی نیست که دیگر استفاده نمی شود. Triple DES هنوز هم امروزه استفاده می شود، اما به عنوان یک الگوریتم رمزگذاری قدیمی در نظر گرفته می شود. توجه داشته باشید که NIST قصد دارد تمام اشکال Triple-DES را از سال 2024 به بعد ممنوع کند.
مراحل الگوریتم DES
به بیان ساده، DES متن ساده 64 بیتی را می گیرد و آن را به یک متن رمزی 64 بیتی تبدیل می کند. از آنجایی که ما در مورد الگوریتم های نامتقارن صحبت می کنیم ، زمانی که زمان رمزگشایی متن فرا می رسد از همان کلید استفاده می شود.
فرآیند الگوریتم به مراحل زیر تقسیم می شود:
- این فرآیند با تحویل بلوک متن ساده 64 بیتی به یک تابع جایگشت اولیه (IP) آغاز می شود.
- جایگشت اولیه (IP) سپس بر روی متن ساده انجام می شود.
- در مرحله بعد، جایگشت اولیه (IP) دو نیمه از بلوک جایگشت شده را ایجاد می کند که به عنوان متن ساده چپ (LPT) و متن ساده راست (RPT) شناخته می شود.
حتما بخوانید: برچسب گذاری داده چیست
- هر LPT و RPT 16 دور از فرآیند رمزگذاری را طی می کند.
- در نهایت، LPT و RPT دوباره به هم متصل می شوند و یک جایگشت نهایی (FP) بر روی بلوک جدید ترکیب شده انجام می شود.
- نتیجه این فرآیند متن رمز 64 بیتی مورد نظر را تولید می کند.
مرحله فرآیند رمزگذاری (مرحله 4، بالا) بیشتر به پنج مرحله تقسیم می شود:
- دگرگونی کلید
- جایگشت بسط
- جایگشت S-Box
- جایگشت P-Box
- XOR و تعویض
برای رمزگشایی از همین الگوریتم استفاده می کنیم و ترتیب 16 کلید گرد را برعکس می کنیم. در مرحله بعد، برای درک بهتر DES چیست، اجازه دهید حالت های مختلف عملکرد DES را یاد بگیریم.
حالت های عملکرد DES
کارشناسانی که از DES استفاده می کنند، پنج حالت مختلف عملکرد را برای انتخاب دارند.
- کتاب کدهای الکترونیکی (ECB). هر بلوک 64 بیتی به طور مستقل رمزگذاری و رمزگشایی می شود
- زنجیره بلوک رمز (CBC). هر بلوک 64 بیتی به بلوک قبلی بستگی دارد و از یک بردار اولیه (IV) استفاده می کند.
- بازخورد رمز (CFB). متن رمزی قبلی به ورودی الگوریتم رمزگذاری تبدیل می شود و خروجی شبه تصادفی تولید می کند که به نوبه خود با متن ساده XOR می شود و واحد متن رمزی بعدی را می سازد.
- بازخورد خروجی (OFB). بسیار شبیه CFB، با این تفاوت که ورودی الگوریتم رمزگذاری خروجی از DES قبلی است.
- شمارنده (CTR). هر بلوک متن ساده با یک شمارنده رمزگذاری شده XOR شده است. سپس شمارنده برای هر بلوک بعدی افزایش می یابد
بعداً درک خود را از چیستی DES بهبود خواهیم داد، اجازه دهید پیاده سازی و آزمایش DES را بررسی کنیم.
پیاده سازی و آزمایش DES
پیاده سازی DES به یک ارائه دهنده امنیتی نیاز دارد. با این حال، ارائه دهندگان زیادی برای انتخاب وجود دارد، اما انتخاب یکی از آنها مرحله اولیه ضروری در پیاده سازی است. انتخاب شما ممکن است به زبانی که استفاده می کنید، مانند جاوا، پایتون ، سی یا متلب بستگی داشته باشد. هنگامی که در مورد یک ارائه دهنده تصمیم می گیرید، باید انتخاب کنید که آیا یک کلید مخفی تصادفی توسط KeyGenerator تولید می شود یا اینکه خودتان یک کلید با استفاده از متن ساده یا آرایه بایت ایجاد کنید. همچنین آزمایش رمزگذاری برای اطمینان از اجرای صحیح آن ضروری است. میتوانید یک روش آزمایشی پیدا کنید که با استفاده از رابطه تکراری موجود در GitHub این کار را انجام میدهد . اکنون که در درک خود از DES تا این حد پیش رفته ایم، اجازه دهید در ادامه دلایل یادگیری DES را بررسی کنیم.
حتما بخوانید: چگونه در ویندوز 11 روی فایل ها رمز بگذاریم؟
کاربردهای الگوریتم DES
در این قسمت قصد داریم با برخی از کاربردهای الگوریتم DES آشنا شویم.
- در تولید اعداد تصادفی استفاده می شود
- زمانی که به رمزگذاری نه چندان قوی نیاز است، مستقر می شود
- برای توسعه شکل جدیدی از DES به نام Triple DES (با استفاده از یک کلید 168 بیتی که با استفاده از سه کلید تشکیل شده است) استفاده می شود.
تفاوت بین الگوریتم های DES و AES
AES | DES |
برای رمزگذاری متن ساده 128 بیتی استفاده می شود | برای رمزگذاری متن ساده 64 بیتی استفاده می شود |
کلید در اندازه های مختلف مانند 128 بیتی، 192 بیتی و غیره است. | کلید 56 بیتی است. |
امن تر از DES | امنیت کمتری نسبت به AES دارد |
تا به امروز، AES مورد حمله قرار نگرفته است | می توان آن را با حملات brute force شکست |
این بر اساس شبکه Feistel است | این بر اساس شبکه جایگشت و جایگزینی است |
مزایا و معایب الگوریتم DES
مزایای الگوریتم DES:
- این به عنوان یک استاندارد توسط دولت ایالات متحده تعیین شده است.
- در مقایسه با نرم افزار، روی سخت افزار سریعتر کار می کند.
- Triple DES از یک کلید 168 بیتی استفاده کرد که شکستن آن بسیار سخت است.
معایب الگوریتم DES:
- الگوریتم ایمن ضعیف
- خطر حملات Brute Force وجود دارد.
- دستگاه کراکر DES معروف به Deep Crack در بازار موجود است.
حتما بخوانید: نحوه پسورد گذاشتن روی فایل ورد
مراحل رمزگذاری
چندین مرحله در مراحل رمزگذاری داده ها وجود دارد. آنها عبارتند از:
- 64 بیت را در متن ساده تغییر دهید و آنها را به دو نیمه مساوی تقسیم کنید.
- این تکه های 32 بیتی داده تحت چندین دور عملیات قرار می گیرند.
- عملیات XOR را بین متن ساده راست گسترش یافته و کلید فشرده با اندازه 48 بیت اعمال کنید.
- خروجی حاصل به مرحله بعدی که به عنوان جایگزینی S-box شناخته می شود ارسال می شود.
- حالا تابع XOR را روی خروجی و متن ساده سمت چپ اعمال کنید و آن را در متن ساده سمت راست ذخیره کنید.
- متن اولیه سمت راست را در متن ساده سمت چپ ذخیره کنید.
- هر دو نیمه LPT و RPT برای عملیات بیشتر به دور بعدی ارسال می شوند.
- در پایان دور آخر، داده ها را در LPT و RPT مبادله کنید.
- در مرحله آخر، مرحله جایگشت معکوس را اعمال کنید تا متن رمز را بدست آورید.
مراحل رمزگشایی
مراحل مربوط به مراحل رمزگشایی داده ها عبارتند از:
- ترتیب 16 کلید 48 بیتی برعکس می شود به طوری که کلید 16 تبدیل به کلید 1 می شود و به همین ترتیب.
- مراحل رمزگذاری روی متن رمز اعمال می شود.
اگر الگوریتم DES در حال منسوخ شدن است، چرا باید آن را یاد بگیریم؟
علیرغم اینکه DES موقعیت رفیع بودن الگوریتم استاندارد رمزگذاری داده را از دست داده است، هنوز ارزش یادگیری را دارد. همیشه جایی برای الگوریتم DES در رمزنگاری وجود خواهد داشت زیرا این الگوریتم پایه ای برای الگوریتم های رمزگذاری بعدی بود. اگر منشأ رمزگذاری داده ها را درک کنید، در نتیجه زمان آسان تری برای درک اصول اولیه روش های رمزگذاری فعلی خواهید داشت.
آیا می خواهید مهارت های امنیت سایبری خود را بهبود بخشید؟
رمزگذاری تنها یکی از جنبه های امنیت سایبری است. در آغاز این رشته گسترده چیزهای زیادی برای یادگیری وجود دارد، و هر چه بیشتر بدانید، زمانی که به دنبال شغلی در این زمینه هستید، کاندیدایی بازارپذیرتر می شوید. هرگز نمی توان دانش زیادی داشت.
سخن آخر
الگوریتم DES باوجود منسوخ شدن، همچنان یک پایه مهم در درک رمزنگاری محسوب میشود. با پیشرفت تکنولوژی، نیاز به الگوریتمهای امنتر مانند AES احساس شد، اما یادگیری DES به درک بهتر اصول رمزنگاری کمک میکند. برای بهبود مهارتهای امنیت سایبری، علاوه بر رمزگذاری، یادگیری مفاهیم دیگر مانند ارزیابی ریسک و مدیریت امنیت سیستمها ضروری است. در نهایت، امنیت سایبری زمینهای پویا است که همیشه بهروز بودن در آن اهمیت زیادی دارد.
مطالب مرتبط:
روش باز کردن و رمزگشایی کارت حافظه گوشی
بهترین ابزار و نرم افزارهای داده کاوی رایگان (data mining)