احسان امجدی
کارشناس امنیت اطلاعات و ارتباطات

تفاوت AES و DES در چیست؟ به زبان ساده

مقایسه AES و DES در رمزنگاری ، همانطور که در قسمت پیشین وعده داده بودیم، در ادامه بحث کدها، به معرفی دو استاندارد معروف در این زمینه میپردازیم. با ما همراه باشید:

دوره های شبکه، برنامه نویسی، مجازی سازی، امنیت، نفوذ و ... با برترین های ایران
وب سایت توسینسو

استاندارد رمزنگاری دیتا Data Encryption Standard (DES)

DES نام استاندارد پردازش اطلاعات فدرال (FIPS) میباشد که الگوریتم رمزنگاری دیتا (DEA) را توصیف میکند. این استاندارد یک مدل رمزنگاری متقارن برای پیاده سازی در سخت افزار است و برای رمزنگاری تک کاربره مورد استفاده قرار میگیرد.

مانند ذخیره فایل ها بر روی یک هارد دیسک بصورت رمز شده.DES چیزی حدود 72 بیلیون یا بیشتر، کلیدهای رمزنگاری ممکن را در اختیار قرار میدهد و از این میان یک کلید تصادفی برای هر داده ای که میخواهد رمز شود، انتخاب میکند. بنابراین DES به عنوان یک رمزنگاری قوی تلقی میشود که در حال حاضر توسط بسیاری از سازمان ها مورد استفاده قرار گرفته است.

وب سایت توسینسو

استاندارد رمزنگاری پیشرفته Advanced Encryption Standard (AES)

AES یک موسسه بین المللی در زمینه استاندارد ها و تکنولوژی برای رمزنگاری داده های الکترونیکی است. این استاندارد میتواند اطلاعات دیجیتال مانند ارتباطات مخابراتی، مالی و داده های دولتی را رمز کند. AES شامل یک الگوریتم کلید متقارن است.در واقع AES یک قطعه رمز تکراری است که توسط گام های از پیش تعریف شده در چندین زمان مختلف اجرا میشود. این استاندارد یک قطعه کد با سایز 128 بیت دارد و طول کلیدهای آن 128، 192 و 256 بیت میباشد که بترتیب برای استانداردهای AES-128، AES-192 و AES-256 پیاده سازی میشوند.

وب سایت توسینسو

شبه کد AES

در ابتدا مقدار ورودی رمز داخل عبارت کپی شده و سپس یک کلید رند به آن اضافه میشود. عبارت با تکرار یک تابع رند در تعداد مشخصی حلقه تغییر میکند. بسته به سایز قطعه و طول کلید، تعداد حلقه ها ممکن است متغییر باشد. وقتی فرآیند گرد کردن به پایان رسید، عبارت نهایی در داخل خروجی رمز کپی خواهد شد.

Cipher in [4*Nb], byte out [4*Nb], word w[Nb* (Nr+1)])
Begin
Byte state[4,Nb]
State=in
AddRoundKey (state,w)
For round =1 step 1 to Nr-1
SubBytes(state)
ShiftRows(state)
MixColumns(state)
AddRoundKey(state, w+Round*Nb)
End for
SubBytes(state)
ShiftRows(state)
AddRoundKey(state, w+Nr*Nb)
Out=state
End
وب سایت توسینسو

احسان امجدی
احسان امجدی

کارشناس امنیت اطلاعات و ارتباطات

احسان امجدی ، مشاور امنیت اطلاعات و ارتباطات و تست نفوذ سنجی ، هکر کلاه سفید ، مدرس دوره های تخصصی امنیت اطلاعات و شبکه ، تخصص در حوزه های سرویس های مایکروسافت ، Routing و Switching ، مجازی سازی ، امنیت اطلاعات و تست نفوذ ، کشف جرائم رایانه ای و سیستم عامل لینوکس ، متخصص در حوزه SOC و ...

07 خرداد 1394 این مطلب را ارسال کرده

نظرات