بخشی از مقاله
چکیده -
یکی از ویژگی های الگوریتم رمزنگاری خوب ، شبه تصادفی بودن خروجی آن است.NIST یک مجموعه تست آماری برای بررسی تصادفی بودن یک رشته ی عددی ارائه کرده است. خروجی هر یک از این تست ها عددی بین صفر و یک ، موسوم به p-value است. ما در این مقاله ویژگی های p-value های حاصله از چهار تست آماری NIST را در الگوریتم AES با ساختار OFB بررسی کرده ایم. هدف از این بررسی یافتن ویژگی ای در این مقادیر برای حملات شناسایی بوده است. نتایج حاصل از این نشان می دهد که p-value های حاصل از تست های آماری NIST ، ابزار مناسبی برای حملات شناسایی نیستند.
کلید واژه- الگوریتم AES ، تست های آماری NIST ، حملات شناسایی
-1 مقدمه
یکی از ویژگی های یک الگوریتم رمز نگاری خوب ، تصادفی و یا شبه تصادفی بودن خروجی الگوریتم است. خروجی این الگوریتم ها باید به اندازه ای شبیه به رشته های ذاتا تصادفی باشند که در عمل تشخیص متن رمز شده از یک رشته ی ذاتا تصادفی غیر ممکن باشد. روش هایی برای بررسی تصادفی بودن یک رشته ی عددی ارائه شده است .[1] یکی از معتبرترین منابع برای حصول این هدف مجموعه تست های آماری NIST است. این مجموعه در قالب پانزده تست آماری ، رشته ی عددی مورد تست را در وجوه مختلف مورد بررسی قرار می دهد. اساس ریاضی تست ها تئوری آزمون فرض است بر مبنای نظریه ی مذکور خروجی هر تست آماری یک متغیر تصادفی است که p-value نامیده می شود. مقدار عددی p-value تصادفی و یا غیر تصادفی بودن رشته ی مورد تست را مشخص می کند.
روش هایی موسوم به حملات شناسایی برای تشخیص یک متن رمز شده از یک رشته ی ذاتا تصادفی وجود دارند . هرگونه تحلیل رمز که منجر به تشخیص این دو از یکدیگر شود در زمره ی حملات شناسایی قرار می گیرد. از دیگر تعابیر حملات شناسایی ، تشخیص الگوریتم رمز نگاری مورد استفاده ، تنها با مشاهده ی متن رمز شده است. برای حصول این هدف تا کنون از ابزار هایی مانند یادگیری ماشین و شبکه های عصبی استفاده شده است[2] ، .[3] هدف این مقاله بررسی این موضوع است که آیا می توان از مقادیر p-value حاصله از تست های آماری NIST به عنوان ابزاری برای حمله ی شناسایی استفاده کرد یا خیر. برای بررسی این موضوع در این پژوهش ، خروجی الگوریتم AES در مد OFB و یک رشته ی تصادفی که ساختاری شبیه به نویز سفید دارد را تحت چهار تست آماری NIST قرار داده ایم و p-value های حاصله در هر دو حالت را از وجوه مختلف با یکدیگر مقایسه کرده ایم و تحلیل های مختلفی را برای حصول هدف حمله ی شناسایی بر روی p-value ها انجام داده ایم.
ساختار مقاله در ادامه به این شکل است که در بخش 2 مختصری راجع به تئوری آزمون فرض و مفهوم و ماهیت p-value ها بحث شده است. در ادامه در بخش 3 چهار تست آماری NIST که در پژوهش مورد استفاده قرار گرفته اند معرفی شده اند. در بخش 4 شرایط شبیه سازی ها و نتایج حاصل از آن ها بررسی شده است. در نهایت در بخش 5 به این سوال که ، آیا می توان از p-value ها به عنوان ابزاری برای حمله ی شناسایی استفاده کرد یا خیر پاسخ داده شده است.
-2 آزمون فرض
نظریه آزمون فرض در علم آمار ، روشی برای بررسی یک فرض درباره ی پارامتری از توزیع آماری جامعه بر اساس نمونه ی مشاهده شده است . [4 ] آزمون فرض مبتنی بر دو فرض 0 و 1 است. 0 فرض اولیه و 1 فرض مقابل آن است. هدف آزمون فرض اعتبار سنجی این دو فرض مقابل نسبت به یکدیگر است. به عنوان مثال ، در موضوع مورد بحث ، 0 فرض تصادفی بودن رشته ی مورد نظر و 1 فرض مقابل آن یعنی غیر تصادفی بودن رشته ی مذکور است. مراحل انجام یک آزمون فرض در حالت کلی به شکل زیر است :
· انتخاب فرض اولیه و مشخص کردن فرض مقابل آن.
· انتخاب تست مناسب و تشکیل آماره ی آزمون T متناسب با آن.
· محاسبه ی مقدار عددی T براساس یک نمونه ی مشاهده شده که با نمایش داده می شود.
· محاسبه ی . p-value
· رد فرض اولیه اگر و تنها اگر مقدار p-value از 0,01 کوچکتر باشد.
مقدار p-value اشاره شده در مرحله ی سوم در واقع محاسبه احتمال کوچکتر بودن T از به شرط فرض صفر است. بنابراین p-value به شکل زیر فرمول بندی می شود : p-value به دلیل وابستگی به نمونه ی مشاهده شده خود یک متغیر تصادفی است که مقداری بین صفر و یک دارد. لازم به ذکر است که این متغیر تصادفی بنا به ماهیتش همواره دارای توزیع یکنواخت است. -3 مجموعه تست های آماری NIST مجموعه تست های آماری NIST ، مجموعه ای شامل پانزده تست آماری است که هدفشان بررسی تصادفی و یا غیر تصادفی بودن یک رشته ی باینری دل خواه است. در این مقاله چهار تست آماری از این محموعه طوری انتخاب شده اند که ویژگی های مختلف یک رشته ی باینری از زوایای مختلف را مورد بررسی قرار بدهند.
تست های انتخابی عبارتند از :
· تست فرکانسی
· تست فرکانسی در یک بلوک
· تست وقوع صفر و یک های متوالی
• تست بیشترین تعداد یک های متوالی در یک بلوک در ادامه روش محاسبه ی چهار تست آماری استفاده شده در این پژوهش ارائه شده است.
-1-3تست فرکانسی
هدف از این تست ، بررسی برابر بودن تعداد صفر و یک ها در یک رشته ی باینری مورد آزمایش است. روش محاسبه ی این تست به شرح زیر است : ابتدا با تبدیل همه ی بیت ها ی صفر به −1 رشته ی ایجاد می شود سپس در مرحله ی دوم ، حاصل جمع آرایه های آماره ی آزمون را تولید می کند. آنگاه برای رشته ی مورد تست به شکل زیر محاسبه می شود:
-2-3تست فرکانسی در یک بلوک
هدف این تست بررسی برابر بودن تعداد صفر و یک های یک رشته ی n بیتی در بلوک های M بیتی است . به عنوان مثال یک رشته ی باینری n بیتی که 2 اول رشته یک و 2 آخرش صفر است از منظر تست فرکانسی تصادفی است اما واضح است که این رشته به شدت غیر تصادفی است لذا هدف این تست پوشش این گونه مسائل است. روش محاسبه ی این تست به شکل زیر است : ابتدا طول M انتخاب شده و سپس طبق رابطه ی زیر تعداد بلوک های M بیتی ای که در رشته ی n بیتی وجود دارد محاسبه می شود. در مرحله ی دوم ، میانگین تعداد یک ها در هر بلوک محاسبه شده و با نمایش داده می شود. در مرحله ی سوم آماره ی آزمون 2 بر اساس رابطه ی زیر محاسبه می شود.
در نهایت مقدار p-value به صورت زیر محاسبه می شود
-3-3تست وقوع صفر و یک های متوالی
هدف این تست ، مقایسه ی تعداد دفعاتی که k تا یک پشت سر هم آمده اند با تعداد دفعاتی که k تا صفر پشت سر هم آمده اند ، می باشد. روش محاسبه ی این تست به شکل زیر است : ابتدا میانگین رشته ی مورد آزمایش محاسبه شده و با نمایش داده می شود.
-4-3تست بیشترین یک های متوالی در یک بلوک
هدف این تست بررسی تعداد یک هایی است که در بلوک های M بیتی پشت سر هم آمده اند. به عبارت دیگر این بررسی مشابه تست قبل ، این بار در بلوک های M بیتی است. روش محاسبه ی این تست به شرح زیر است : در مرحله ی اول رشته ی n بیتی مورد نظر باید به بلوک های M بیتی تقسیم شود. در این تست M می تواند مقادیر 8 ، 128 و یا 104 باشد. در مرحله ی دوم مقادیر v بر حسب جدول زیرمشخص می شوند. در ستون اول جدول منظور از 0 ، تعداد بلوک هایی است که در آن "1" طولانی ترین وقوع 1 است و منظور از 1 تعداد بلوک هایی است که در آن "11" طولانی ترین وقوع 1 است هم چنین 2 و 3 به همین منوال تعریف می شوند.
-4 نتایج شبیه سازی ها
در این پژوهش ، یک سیگنال تصادفی رنگی به طول 1000 بلوک - 16 کیلو بایت - را با الگوریتم AES در مد OFB رمز کرده ایم. تابع خود همبستگی و چگالی طیف توان این سیگنال رنگی تصادفی در شکل های - 1 - و - - 2 آمده است. سپس سیگنال رنگی ورودی ، متن رمز شده و یک نویز سفید را تحت 4 تست آماری NIST گذاشته ایم. هر بلوک از داده های مورد آزمایش را به عنوان ورودی هر تست آماری در نظر گرفته ایم. بنابراین خروجی هر تست آماری یک رشته ی 1000 تایی از p-value ها است. با توجه به این که هر p-value خود یک متغیر تصادفی است ، رشته ی 1000 تایی از p-value ها را می توان به عنوان یک فرآیند تصادفی در نظر گرفت. در نتیجه به ازای هر تست آماری NIST برای هر سه داده 1000 مقدار p-value در دسترس است. آنگاه