X
تبلیغات
پاپون - رمز نگاری
××××به پاپون خوش آمدید××××
 رمز نگاری

در سال ۱۹۷۲ موسسه بین المللی استاندارد و فناوری امریکا اعلام کرد که به یک الگوریتم برای حفاظت از اطلاعات غیر رده بندی شده خود نیاز دارد.این الگوریتم می‌بایست ارزان، قابل دسترس وبسیار مطمئن می‌بود. در سال ۱۹۷۳، NIST فراخوانی برای چنین الگوریتمی اعلام نمود ولی هیچ یک از الگوریتم‌هایی که در پاسخ به این فراخوان ارائه شدند شرایط لازم را نداشتند.

DES الگوریتمی است که رشته‌ای از متن اصلی با طول ثابت را به عنوان ورودی می‌گیرد و پس از انجام یک سری اعمال پیچیده روی آن خروجی را که طولی برابر طول ورودی دارد تولید می‌کند. DES هم چنین از یک کلید برای ایجاد رمز استفاده می‌کند و تنها کسانی قادر به رمزگشایی خواهند بود که مقدار کلید را می‌دانند. اگرچه تحلیل‌هایی که درباره DES انجام شده‌است از هر روش رمز قطعه‌ای دیگری بیشتر است ولی عملی ترین حمله علیه این الگوریتم جست و جوی جامع فضای کلید است.سه حمله تئوریکی برای این الگوریتم وجود دارند که زمان کمتری نسبت به جست و جوی جامع فضای کلید نیاز دارند ولی این روشها در عمل امکان پذیر نیستند. با شکسته شدن الگوریتمDES این استاندارد در سال ۱۹۹۸ تمدید نشد و در سال ۲۰۰۱، الگوریتم AES به عنوان استاندارد جایگزین آن تصویب شد.این الگوریتم مانند DES یک الگوریتم رمزقطعه‌ای است ولی بر خلاف DES از ساختار فیستل استفاده نمی‌کند. تا سال ۲۰۰۶ تنها حمله موثر علیه الگوریتمAES حمله side channel بوده‌است. در ژوئن سال ۲۰۰۳ دولت امریکا اعلام کرد که ازAES می‌توان برای حفاظت از اطلاعات رده بندی شده و سری نیز استفاده کرد. برای اطلاعات فوق سری و محرمانه باید از کلیدهایی با طول ۱۹۲ یا ۲۵۶ بیت استفاده کرد. کلمات کلیدي:رمزقطعه اي ، TDES ، DES ،رایندال ،امنیت ، 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

-1 بسط: در این مرحله با استفاده از یک جایگشت انبساطی 32 بیت به 48 بیت گسترش داده می شود . -2 ترکیب کلید: در این مرحله حاصل مرحله قبل با یک زیر کلید XOR می شود. شش کلید 48 بیتی با استفاده از الگوریتم key schedule از کلید اصلی تولید می شود. -3 جایگزینی: بعد از ترکیب کلید هر قطعه داده به هشت بخش 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*(1+Nr)کلمه 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 براي رمز نگاري اطلاعات محرمانه و فوق محرمانه استفاده کرد.

|+| نوشته شده توسط نرگس در شنبه بیست و نهم فروردین 1388  |
 
 
بالا