استاندارد رمزنگاری دادهها
| این مقاله نیازمند ویکیسازی است. لطفاً با توجه به راهنمای ویرایش و شیوهنامه، محتوای آن را بهبود بخشید. |
| در متن این مقاله از هیچ منبع و مأخذی نام برده نشدهاست. شما میتوانید با افزودن منابع برطبق اصول اثباتپذیری و شیوهنامهٔ ارجاع به منابع، به ویکیپدیا کمک کنید. مطالب بیمنبع احتمالاً در آینده حذف خواهند شد. |
DES الگوریتمی است که رشتهای از متن اصلی با طول ثابت را به عنوان ورودی میگیرد و پس از انجام یک سری اعمال پیچیده روی آن خروجی را که طولی برابر طول ورودی دارد تولید میکند. DES هم چنین از یک کلید برای ایجاد رمز استفاده میکند و تنها کسانی قادر به رمزگشایی خواهند بود که مقدار کلید را میدانند. اگرچه تحلیلهایی که درباره DES انجام شدهاست از هر روش رمز قطعهای دیگری بیشتر است ولی عملیترین حمله علیه این الگوریتم جست و جوی جامع فضای کلید است.سه حمله تئوریکی برای این الگوریتم وجود دارند که زمان کمتری نسبت به جست و جوی جامع فضای کلید نیاز دارند ولی این روشها در عمل امکان پذیر نیستند.
با شکسته شدن الگوریتمDES این استاندارد در سال ۱۹۹۸ تمدید نشد و در سال ۲۰۰۱، الگوریتم AES به عنوان استاندارد جایگزین آن تصویب شد.این الگوریتم مانند DES یک الگوریتم رمزقطعهای است ولی بر خلاف DES از ساختار فیستل استفاده نمیکند. تا سال ۲۰۰۶ تنها حمله موثر علیه الگوریتمAES حمله side channel بودهاست. در ژوئن سال ۲۰۰۳ دولت آمریکا اعلام کرد که ازAES میتوان برای حفاظت از اطلاعات رده بندی شده و سری نیز استفاده کرد. برای اطلاعات فوق سری و محرمانه باید از کلیدهایی با طول ۱۹۲ یا ۲۵۶ بیت استفاده کرد.
در سال 1972 موسسه بینالمللی استاندارد و فناوری آمریکااعلام کرد که به یک الگوریتم برای حفاظت از اطلاعات غیر رده بندی شده خود نیاز دارد .این الگوریتم میبایست ارزان، قابل دسترس وبسیار مطمئن میبود. در سال 1973 ،NIST فراخوانی برای چنین الگوریتمی اعلام نمود ولی هیچ یک از الگوریتمهایی که در پاسخ به این فراخوان ارائه شدند شرایط لازم را نداشتند . دومین فراخوان در سال 1974 مطرح شد در این زمان IBM الگوریتم خود را مطرح نمود که به نظر میرسید میتواند که نیازهای NISTرا بر طرف کند. این الگوریتم به عنوان یک استاندارد فدرال در سال 1976 تصویب شد ودر سال 1977 منتشر شد. با امکان پذیر شدن حمله جست و جوی جامع فضای کلید برای این الگوریتم سازمان ملی استاندارد و فناوری آمریکا در آغاز سال 1997اعلام کرد که برای تدوین استاندارد پیشرفته رمزنگاری تلاشی را آغازکردهاست در سپتامبر همان سال این سازمان به طور رسمی فراخوانی را برای ارائه الگوریتمهای رمزنگاری اعلام نمود.
در کنفرانس اول ، AES-1، 15 الگوریتم کاندیدا انتخاب شدند ، NIST از تمام دانشمندان و موسسههای علمی خواست که نظ رات خود را در مورد این الگوریتمها ارائه دهند. هم چنین NIST با کمک جامعه بینالمللی رمزنگاری و تشکیل کمیتههایی اقدام به بررسی قابلیتها و تواناییهای الگوریتمهای ارائه شده نمود در آگوست سال بعد در سمینار دوم، AES-2، 5الگوریتم انتخاب و برای رقابت نهایی معرفی شدند این الگوریتمها عبارتند از Rijndael - RC6 - MARS - Twofish - Serpent
آخرین نظرات و انتقادات تا تاریخ 15 مه 1999 جمع آوری شد و بالاخره در سمینار AES-3 پس از بررسی گزارش کمیتههای بررسی کننده، الگوریتم Rijndael به عنوان الگوریتم استاندارد پذیرفته شد.
محتویات |
[ویرایش] الگوریتمDES
در DES طول قطعات 64 بیت است . کلید نیز شامل 64 بیت است ولی در عمل تنها از 56 بیت آن استفاده میشود و از 8 بیت دیگر فقط برای چک کردن parity استفاده میشود. الگوریتم شامل 16 مرحله مشابهاست که هر مرحله یک دور 4نامیده میشود . متنی که قرار است رمزگذاری شود ابتدا در معرض یک جایگشت اولیه (IP)قرار میگیرد . سپس یک سری اعمال پیچیده وابسته به کلید روی آن انجام میشود و در نهایت در معرض یک جایگشت نهایی (FP ) قرار میگیرد. IP,FP معکوس هم هستند FP عملی که توسط IP انجام شدهاست را خنثی میکند. بنابراین از جنبه رمزنگاری اهمیت چندانی ندارند و برای تسهیل نمودن بار کردن قطعات داده در سختافزارهای دهه 1970 استفاده شدند ولی اجرای DES در نرمافزار را کند کردند. قبل از دور اصلی، داده به دو بخش 32 بیتی تقسیم میشودکه این دو نیمه به طور متناوب مورد پردازش قرار میگیرند این تقاطع به عنوان شکل فیستل شناخته میشود . ساختار فیستل تضمین میکند که رمزگذاری و رمزگشایی دو رویه کاملا مشابه هم هستند و تنها تفاوت آنها این است که زیر کلیدها در زمان رمزگشایی در جهت معکوس رمزگذاری به کار برده میشوند . و بقیه الگوریتم درهر دو یکسان است که این امر پیاده سازی رابه خصوص در سختافزاربسیار آسان میکند و دیگر نیازی به الگوریتمهای متفاوت برای رمزگذاری و رمزگشایی نیست . تابعی که خروجی IP را میگیرد وپس از شانزده مرحله ورودی FP را فراهم میکند تابع F نامیده میشود. این تابع یک ورودی 32 بیتی و یک ورودی 48 بیتی دارد و یک خروجی 32 بیتی تولید میکند. بلاک ورودی شامل 32 بیت که نیمه سمت چپ را تشکیل میدهد و با L نشان داده میشود و به دنبال آن 32 بیت دیگر که نیمه راست را تشکیل میدهد و با R نمایش داده میشود است پس کل بلاک را میتوان به صورت LR نمایش داد .
اگر K یک بلاک 48 بیتی باشد که از کلید اصلی 64 بیتی مشتق شدهاست و خروجی یک دور با ورودی LR و خروجی L1R1 به صورت زیر تعریف میشود. L1=R R1=L XOR F(R,K) اگر KS تابعی باشد که کلید 64 بیتی KEY و یک عدد صحیح در محدوده 1 تا 16 را به عنوان ورود ی میگیرد و کلید 48 بیتی Kn را به عنوان خروجی تولید میکند به طوری که بیتهای Kn از تغییر محل بیتهای KEY حاصل شدهاند داریم: Kn= KS (n.KEY)
KS را تابع key schedule مینامند. بنابراین در حالت کلی داریم: Ln=Rn-1 Rn=Ln-1 XOR f(Rn-1,Kn) برای رمزگشایی نیز داریم: R=L1 L=R1 XOR f(L1,K)
در نتیجه رمزگشایی با همان الگوریتمی که برای رمزگذاری استفاده شد انجام میشودو در هر مرحله همان K بیتی که به عنوان کلید برای رمزگذاری استفاده شده بود مورد استفاده قرار میگیرد بنابراین میتوان نوشت: Rn-1=Ln Ln-1=Rn XOR f(Ln,Kn)
برای محاسبات رمزگشایی R16L16 ورودی IP و R0L0 ورودی FP است . کلید شانزدهم در مرحله اول، کلید پانزدهم در مرحله دوم و به همین ترتیب کلید اول در مرحله شانزدهم مورد استفاده قرار میگیرد.
[ویرایش] تابع F
بسط: در این مرحله با استفاده از یک جایگشت انبساطی 32 بیت به 48 بیت گسترش داده میشود .
ترکیب کلید: در این مرحله حاصل مرحله قبل با یک زیر کلید XOR میشود. شش کلید 48 بیتی با استفاده از الگوریتم key schedule از کلید اصلی تولید میشود.
جایگزینی: بعد از ترکیب کلید هر قطعه داده به هشت بخش 6 بیتی تقسیم میشود)قبل از پردازش توسط جعبههای جایگزینی( هر کدام از s-boxها ورودی 6 بیتی خود را با استفاده از یک تبدیل غیر خطی که به شکل یک جدول look up است به یک خروجی 4 بیتی تبدیل میکند S-boxها قلب DES هستند و بدون آنها رمز خطی خواهد بود و در نتیجه قابل شکستن خواهد شد.
جایگشت: در نهایت 32 بیت خروجی S-boxها با استفاده از یک جایگشت ثابت مجددا سازماندهی میشود (P-box).
[ویرایش] الگوریتم Key Schedule
از این الگوریتم برای تولید زیر کلیدها استفاده میشود. درابتدا 56 بیت از 64 بیت کلید توسط انتخاب جایگشت1 (PC1)انتخاب میشوند و 8 بیت باقیمانده یا دور ریخته میشوند و یا به عنوان parityبرای چک کردن مورد استفاده قرار میگیرند سپس این 56 بیت به دو نیمه 28 تایی تقسیم میشوند و پس از آن با هرنیمه به طور مستقل رفتار میشود . در دور بعدی هر دو نیمه یک یا دو بیت به سمت چپ انتقال مییابند .. سپس 48 بیت زیرکلید توسط PC2 انتخاب میشوند . 24 بیت، نیمه راست و 24 بیت دیگر نیمه چپ را تشکیل میدهند. با استفاده از انتقال در هر زیر کلید مجموعه متفاوتی از بیتها مورد استفاده قرار میگیرد . هر بیت تقریبا در 14 تا 16 زیر کلید مورد استفاده واقع میشود. الگوریتم key schedule در رمزگشایی مانند رمزگذاری است ولی زیر کلیدها در مقایسه با رمزگذاری در جهت معکوس هستند به غیر از این تغییر بقیه الگوریتم مانند رمزگذاری انجام میشود.
[ویرایش] امنیت DES
اساسیترین حمله برای هر رمزی امتحان کردن کلیه مقادیر ممکن برای کلید است . طول کلید، تعداد مقادیر ممکن برای کلید و هم چنین عملی بودن این روش رامشخص میکند. تردیدی که از ابتدا و حتی قبل از اینکه DES به عنوان استاندارد شناخته شود در مورد DESوجود داشت کافی بودن طول کلید بود NSA ، IBM را به کاهش طول کلید از 128 بیت به 64 بیت و سپس به 56 بیت نمود و این نشان میدهد که NSA حتی در آن زمان نیزقادر به شکستن کلیدهایی با طول 56 بیت بودهاست. طرحهای متنوعی برای یک ماشین که قادر به شکستن کلیدهای DESباشد مطرح گردیدهاست . در سال 1977، Hellman و Diffieماشینی طراحی کردند که بیست میلیون دلار قیمت داشت و میتوانست کلید DES را در یک روز پیدا کند.در سال Wiener 1993 یک ماشین جست و جوی کلید را پیشنهاد داد که یک میلیون دلار قیمت داشت و قادر بود کلید را در مدت هفت ساعت پیدا کند . ولی هیچ یک ازاین طرحهای ابتدایی پیاده سازی نشد و هیچ پیاده سازی مورد تایید قرارنگرفت . در سال 1997 موسسه RSA security اعلام کرد که به اولین تیمی که بتواند یک پیغام را که با استفاده از DES رمزگذاری شدهاست را بشکند یک جایزه ده هزار دلاری اعطا خواهد نمود پروژه DESCHALL برنده این رقابت شد که این کار را با استفاده از زمان بیکاری (idle cycle)هزاران کامپیوتر در اینترنت انجام داد. عملی بودن شکست DES با اختراع یک DES-cracker توسط EFF در سال 1998 بر همگان روشن شد این ماشین قیمتی حدود دویست و پنجاه هزار دلار داشت و انگیزه این تیم بر ای اختراع این ماشین، این بود که نشان دهند که DES هم چنان که از لحاظ تئوری قابل شکست است از لحاظ عملی نیز میتوان آن را شکست .این ماشین کلید را با استفاده از روش جست و جوی جامع فضای کلید درطی مدت زمان کمی بیش از دو روز پیدا میکند . تنها DES-cracker تایید شده پس از ماشین EFF، ماشین COPOCOBANA که در آلمان ساخته شد و بر خلاف EFF از مدارات مجتمع در دسترس و قابل پیکربندی دوباره ساخته شدهاست در این ماشین صد وبیست عدد FPGA از نوع XILINX Spartan- 1000 موازی با هم کار میکنند آنها در ماژولهای 20 DIMM گروه بندی شدهاند هر کدام از این ماژولها شامل شش FPGA میباشند. استفاده از سختافزارهای قابل پیکربندی دوباره سبب میشود که این ماشین برای شکستن کدهای دیگر نیز قابل استفاده باشد .یکی از جنبههای جالب این ماشین، فاکتور هزینه آن است این ماشبن با ده هزار دلار میتواند ساخته شود کاهش هزینه با ضریب 25 نسبت به EFFنشان دهنده پیشرفتهای متوالی در زمینه سختافزارهای دیجیتالی است.
[ویرایش] الگوریتمهای جایگزین DES
نگرانیهایی که در مورد امنیت و طول کم کلید در DES وجود داشت محققان را به طراحیهای جایگزین برای رمز قطعهای تشویق کرد که این تلاشها از سال 1980 شروع شد و تا اوایل 1990 ادامه داشت این تلاشها منجر به ایجاد طراحیهایی از قبیل Blowfish، RC5،IDEA ، NEWDES ،SAFER ،CAST5 و FEAL گردید . بیشتر این الگوریتمها مانند DES روی قطعههای داده با طول 64 بیت کار میکردند و میتوانستند جایگزین DESشوند اگرچه عموما از کلیدهایی با طول 64 یا 128 بیت استفاده میکردند . DES میتواند دچار تغییراتی شود تا امن تر عمل نماید . Triple DES توسط یکی از مخترعان DES مطرح شد در این روش DES با استفاده از دو کلید (2TDES ) و یا سه کلید متفاوت (3TDES) سه بار به کار برده میشود.
[ویرایش] مشخصات عمومی الگوریتم رایندال
رایندال یک الگوریتم رمز قطعهای متفارن با طول قالب داده 128، 192 و 256 بیت است طول کلید نیز مستقل از طول قالب ، 128 ،192یا 256 بیت باشد . الگوریتم بسته به طول قالب داده و طول کلید مشتمل بر 10 ، 12 یا 14 دور خواهد بود . رایندال دارای ساختاری برای بسط کلید است که از روی کلید اصلی بسته به تعداد دورها، تعدادی زیر کلید تولید میکند که در هر دوربه قالب داده اضافه میشوند . الگوریتم شامل سه تبدیل مهم MixColumn() و ShiftRow() و SubByte()است که اولی یک تابع جایگزینی غیر خطی و تامین کننده امنیت سیستم و دومی وسومی توابعی خطی برای افزایش گسترش و اختلاط الگوریتم اند . در این رمز قطعهای ساختار سیستم رمزگشا دقیقا مشابه سیستم رمزگذار نیست . هم چنین چون با افزایش طول کلید تعداد دورهای الگوریتم افزایش مییابد، زمان اجرا و سرعت الگوریتم به طول کلید وابستهاست.
[ویرایش] تعاریف
Nb - تعداد چهاربایتیهای موجود در قالب دادهاست به عنوان مثال برای قالب داده 128 بیتی Nb=4 است.
Nk - نیز تعداد آرایههای 4 بایتی موجود در کلید است برای کلیدهای 128 ، 192 و 256 بیتی Nk به ترتیب 4، 6 و 8 خواهد بود.
آرایه حالت یک آرایه دو بعدی با ابعاد 4*Nb از بایتها است بنابراین تعداد بایتهای آرایه حالت برابر تعداد بایتهای قالب داده خواهد بود در ابتدای الگوریتم متن اصلی بایت به بایت ازبالا به پایین و از چپ به راست در جدول حالت چیده میشود.
آرایه کلید بسط یافته - آرایهای از کلمات 4 بایتی است که کلید بسط یافتهای راکه تابع بسط کلید تولید کرده در خود ذخیره میکند این آرایه از (Nb*(Nr+1 کلمه 4 بایتی تشکیل شده که (1+Nr) کلید دورهای مختلف را در خود ذخیره میکند.
تعداد دورهای الگوریتم رایندال را با Nr نشان میدهیم که به طول قالب داده و کلید بستگی دارد بدین ترتیب که اگر هر کدام ازNb یا Nk برابر 6 باشد خواهیم داشت Nr=12 و اگر هر کدام برابر 8 باشد خواهیم داشت Nr=14 در غیر این صورت تعداد دورها برابر 10 خواهد بود.
[ویرایش] تبدیلها و توابع مورد استفاده
هر کدام از توابع و تبدیلهای زیر روی آرایه حالت عمل کرده و آن را به نحوی تغییر میدهند.
[ویرایش] تابع SubByte
این تابع یک تابع غیرخطی است که به طور مستقل روی بایتهای آرایه حالت عمل کرده و به جای هر بایت به کمک جدول S-box یک بایت جدید قرار میدهد این تبدیل معکوس پذیر است و از دو تبدیل زیر تشکیل شدهاست:
1- ابتدا معکوس ضربی بایت مورد نظر محاسبه میشود . معکوس " 00را " 00 " در نظر میگیریم . 2- تبدیل مستوی (affine) روی بایت مورد نظر اعمال میشود .
[ویرایش] تبدیل ShiftRow
این تبدیل سه سطر آخر آرایه حالت را به تعداد معینی انتقال دورانی میدهد. برای اولین سطر ، r=0، انتقالی انجام نمیشود تعداد انتقال دورانی در سه سطر آخر بستگی به Nb دارد به این ترتیب که برای Nb=8 انتقالهای سه سطر آخر به ترتیب برابر 1 ،3 و 4 و برای Nb<8 برار 1،2 و 3 خواهد بود .
[ویرایش] تبدیل MixColumn
این تابع روی آرایه حالت ستون به ستون عمل میکند . هر ستون به عنوان یک چندجملهای در میدان دو به توان هشت در نظر گرفته میشود و در چند جملهای ثابت a(x) ضرب میشود و به پیمانه x4 1 محاسبه میگردد. a (x) {03}x3 {01}x2 {01}x {02}
[ویرایش] تابع AddRoundKey
این تابع Nb کلمه اول آرایه را همراه با Nb ستون آرایه حالت XOR میکند و حاصل را در آرایه حالت قرار میدهد.
[ویرایش] تابع بسط کلید
الگوریتم رایندال K کلید اصلی را گرفته و تعداد (1+Nr) کلید دور (Round key) تولید میکند از آنجا که هر کدام از کلیدهای دوری از Nb کلمه 4 بایتی تشکیل شدهاند جمعا (Nb*(Nr+1 کلمه 4 بایتی به عنوان کلید بسط یافته از روی کلید اصلی تولید میشود . کلیدهای تولید شده یک آرایه خطی تشکیل میدهند که هرکلید با W[i] نشان داده میشود. قبل از توصیف نحوه بسط کلید ابتدا توابع زیر را تعریف میکنیم:
- SubWord()-1 این تابع ر وی یک بردار 4 بایتی عمل میکند به این صورت که S-box رایندال را روی تک تک بایتهای بردار اعمال کرده و بردار چهار بایتی جدیدی میسازد.
- RotWord()-2این تابع روی یک بردار چهار بایتی مانند (a0,a1,a2,a3) عمل کرده آن را میچرخاند و بردار (a3,a2,a1,a0) را به عنوان خروجی به دست میدهد.
Rcon[i]-3 یا ثابت دور : این تابع یک بردار چهار بایتی به صورت زیر تولید میکند. Rcon[i]= (xi 1 ,00,00,00) که xi 1 توانهای x هستند. الگوریتم به این صورت است که ابتدا کلید اصلی داخل آرایه کلمات قرار میگیرد و سپس هر کلمه جدید ، w[i]، از XOR کلمه قبل ، w[i-1]، و کلمه Nk مرتبه قبل ، w[i-Nk]، به دست میآید. توجه به این نکته ضروری است که الگوریتم تولید کلید برای کلیدهایی با طول 256 بیت با الگوریتم مربوط به تولید کلید برای کلیدهای 128 و 192 بیتی اندکی متفاوت است . اگر Nk=8 و i-4 ضریبی از Nk باشد SubWord() روی w[i-1] پیش از xor اعمال میشود.
[ویرایش] امنیت AES
تا سال 2006 تنها حمله موثر علیه الگوریتم AES حمله side channel بودهاست . آژانس بینالمللی امنیت (NSA) هر پنج الگوریتمی را که به مرحله نهایی راه یافتند را بررسی کرد و پس از بررسی اعلام نمود که همه این الگوریتمها برای حفاظت اطلاعات غیر سری آمریکا به اندازه کافی امنیت را فراهم میکنند . در ژوئن سال 2003 دولت آمریکا اعلام کرد که از AES میتوان برای حفاظت از اطلاعات رده بندی شده و سری نیز استفاده کرد . برای اطلاعات فوق سری و محرمانه باید از کلیدهایی با طول 192 یا 256 بیت استفاده کرد. این اولین بار بود که NSA یک روش رمزنگاری را برای رمزگذاری اطلاعات فوق محرمانه در اختیار عموم قرار میداد. رایجترین راه برای حمله به رمز قطعهای امتحان کردن حملات . متنوع روی نسخههای رمز با تعداد کاهش یافتهای دور است .AES برای کلیدهای 128 بیتی 10 دور، برای کلیدهای 192 بیتی 12 دور و برای کلیدهای 256 بیتی 14 دور دارد. تا سال 2006 بهترین حمله با استفاده از 7 دور برای کلیدهای 128 بیتی ، 8 دور برای کلیدهای 192 بیتی و 9 دور برای کلیدهای 256 بیتی بودهاست. برخی از رمزنگاران در مورد امنیت AES اظهار نگرانی میکنند آنها معتقدند که حاشیه امنیت (فاصله بین دورهای الگوریتم و دورهای لازم برای شکستن رمز کم است .هم چنین این خطر وجود دارد که با پیشرفت الگوریتمهای ذکر شده این الگوریتمها بتوانند رمز را با زمانی کمتر از زمان لازم برای جست و جوی جامع در فضای کلید بشکنند. شکستن یک کلید 128 بیتی به 2120 عمل نیاز دارد که در مقایسه با 2128 بسیار کم است که امروزه کاملا غیر ممکن و غیر عملی است . بزرگترین حمله که با استفاده از جست و جوی جامع روی فضای کلید صورت گرفتهاست منجر به شکستن کلید RC5 65 بیتی شدهاست پس در این مورد جای نگرانی وجود ندارد. بقیه تردیدهایی که در مور د این الگوریتم وجود دارد راجع به ساختار ریاضی AES است . بر خلاف اکثر الگوریتمهای رمزقطعهای ،AES یک تعریف جبری مرتب دارد . این ساختار تاکنون منجر به هیچ حملهای نشدهاست ولی برخی از محققان میگویند که ایجاد یک رمز بر مبنای فرضیات سخت جدید به دور از ریسک نیست. در سال 2002 یک حمله تئوریکی به نام حمله XSL توسط Nicolas Courtois و Josef Pieprzyk مطرح شد . این دو نفر اعلام کردند که در این الگوریتم ضعفهایی وجود دارد . چندین متخصص رمزشناسی مشکلاتی را درساختار ریاضی حمله پیشنهاد شده کشف کردند و اعلام کردند که مخترعان این حمله احتمالا در تخمینهای خود دچار اشتباه شدهاند . اینکه آیا حمله XSL میتواند علیه AES عمل کند یا نه سوالی است که هنوز به آن پاسخی داده نشدهاست . ولی احتمال اینکه این حمله بتواند در عمل انجام شود بسیار کم است
[ویرایش] حمله کانال جانبی
حمله کانال جانبی به رمز صدمهای نمیرساند ولی به پیاده سازی رمز روی سیستم، حمله میکند و باعث فاش شدن دادهها میشود . چندین حمله برای برخی از پیاده سازیهای خاص AES شناخته شدهاست که در اینجا مورد اشاره قرار میگیرند. در آوریل سال 2005، D.J.Bernstein اعلام کر د که حمله cache timing میتواند یک سرور متعارف را که برای دادن اطلاعات تنظیم وقت به اندازه ممکن طراحی شدهاست واز روش رمزنگاری openSSL AES استفاده میکند را مورد حمله قرار دهد . یک حمله به بیش از دویست میلیون chosen plaintext نیاز دارد .برخی معتقدند که این حمله با فاصله یک و بیش از یک hop در اینترنت امکان پذیر نیست. در اکتبر سال 2005، ،Dag Arne Oskiv ، Adi Shamir ، Eran Tromer یک مقاله منتشر کردند و در آن چندین حمله cache timing را که میتوانست علیه AES موثر واقع شود را توضیح دادند یکی از این حملهها قادر بود که کلید را پس از 800 عمل و در مدت 56 میلی ثانیه به دست آورد ولی برای انجام این حمله، حمله کننده باید برنامه را روی همان سیستمی که از AES استفاده میکند به اجرا در بیاورد.
[ویرایش] نتیجه گیری
در اینجا دو الگوریتم DES وAES مورد بررسی قرار گرفتند . همانطور که مطرح شد با پیشرفت سوپر کامپیوترها امروزه DES قابل اعتماد نیست و چندین سال است که این استاندارد مورد استفاده قرار نمیگیرد و به جای ان از استاندارد AES استفاده میشود تا کنون هیچ حملهای علیه الگوریتم AES صورت نگرفتهاست و هیچ ضعف تئوریکی در این الگوریتم شناخته نشدهاست . به عقیده برخی از متخصصین حاشیه امنیت کم این الگوریتم ممکن است در آینده مشکل ساز شود ولی حتی با استفاده از بهترین حملات شکستن این الگوریتم به 2120 عمل نیاز دارد که با استفاده از امکانات امروزی انجام چنین عملی غیر م مکن است . موفقترین حملهای که علیه الگوریتمهای رمزنگاری به کار گرفته شده حمله علیه کلید RC5 شصت و جهار بیتی بودهاست . بنابر این به نظر میرسد تا مدتها بتوان از AES برای رمز نگاری اطلاعات محرمانه و فوق محرمانه استفاده کرد.
[ویرایش] منابع
- خدیجه محمدزاده، دانشگاه صنعتی امیرکبیر، استاد راهنما: دکتر اکبری
- و.حواری نسب، م .ریحانی تبار، م .سلماسی زاده، ج . مهاجری ، "مقایسه الگوریتمهای رتبه اول واخر در گزینش نهایی AES " در مجموعه مقالات اولین کنفرانس رمز ایران، ص266- 253
- ی .بوخمان، مقدمهای بر رمزنگاری، ترجمه م .اسماعیلی، انتشارات دانشگاه صنعتی اصفهان ، 1382
- پ . میری، طراحی و شبیه سازی و سنتز الگوریتم رمزنگاری AES به صورت اسنکرون"، پایان نامه کارشناسی، دانشکده مهندسی کامپیوتر، دانشگاه صنعتی امیرکبیر، 1385