چکیده
معماگر یک الگوریتم رمز بلوکی ۰۶۱ بیتی است که شامل ۷ مرحله جانشینی میباشد. در این مقاله امنیت ۵ مرحله جانشینی از الگوریتم رمز معماگر با استفاده از روش تحلیل خطی مورد بررسی و تحلیل قرار گرفته است. بدینمنظور، یک تقریب خطی برای ۴ مرحله جانشینی از معماگر با احتمال ۲۲-۰۱ * ۳۷۴۶۴۱/۲ – ۵/۰ ارائه کردهایم؛ با بکارگیری این تقریب، ۵۲ بیت از کلید ۰۶۱ بیتی یک سیستم رمز معماگر ۵ مرحلهای را با پیچیدگی محاسباتی ۳۴۰۱ * ۷۴۴۰۷۱/۲ (عمل رمز) و

پیچیدگی دادهای ۵۱۰۱ * ۹۹۸۵۲۱/۱ (تعداد شمارنده) تخمین زده و امنیت آن را به مخاطره میاندازیم.

کلمات کلیدی: تحلیل خطی، تحلیل رمز، الگوریتم رمز معماگر، رمز بلوکی.

۱ مقدمه

تحلیل خطی یک حمله آماری از نوع متن واضح معلوم است که در سال ۲۹۹۱ توسط Matsui و Yamagishi علیه الگوریتم رمز FEAL مطرح و اعمال شد .[MaYa92] در سال ۳۹۹۱ این روش تحلیل برروی DES آزمایش گردید .[Mat93] پس از آن نیز روش مذکور برای تحلیل الگوریتمهای رمز متعددی بکار گرفته شده است. امروزه، بکارگیری روش تحلیل خطی یک عمل عادی برای بررسی امنیت الگوریتمهای رمز میباشد. این مقاله یک روش تحلیل خطی را در مقابل الگوریتم رمز معماگر ۵ مرحلهای [SaMo79] که یک رمز بلوکی ۰۶۱ بیتی است معرفی مینماید.

در این مقاله، امنیت ۵ مرحله جانشینی از الگوریتم رمز بلوکی معماگر با استفاده از روش تحلیل خطی مورد بررسی و تحلیل قرار گرفته است. بدینمنظور، یک تقریب خطی برای ۴ مرحله جانشینی از معماگر با احتمال ۲۲-۰۱ * ۳۷۴۶۴۱/۲ – ۵/۰

ارائه کردهایم که با بکارگیری آن، ۵۲ بیت از کلید ۰۶۱ بیتی یک سیستم رمز معماگر ۵ مرحلهای را با پیچیدگی محاسباتی

۳۴۰۱ * ۷۴۴۰۷۱/۲ (عمل رمز) و پیچیدگی دادهای ۵۱۰۱ * ۹۹۸۵۲۱/۱ (تعداد شمارنده) تخمین زده و امنیت آنرا به مخاطره میاندازیم.

ادامه مطالب مقاله به این صورت سازماندهی شدهاند: بخش دوم به معرفی نمادگذاری بکاررفته در مقاله اختصاص یافته است. در سومین بخش مروری کوتاه بر تحلیل خطی انجام میگیرد. بخش چهارم به معرفی ساختار معماگر و عناصر تشکیلدهنده آن میپردازد. در بخش پنجم جزییات مربوط به تحلیل هریک از عناصر تشکیلدهنده معماگر بههمراه روش مورد استفاده برای تحلیل معماگر ۴ مرحلهای بیان شده است. در پایان این بخش روشی برای پیدا کردن ۵۲ بیت از کلید معماگر ۵ مرحلهای شرح داده شده است. بخش ششم به بیان مختصر نتایج حاصل پرداخته است.

۲ نمادگذاری

در توصیف معماگر [SaMo79] از یک روش خاص برای شمارهگذاری و نامگذاری عناصر استفاده شده است. در این مقاله برای سهولت بیشتر و تطبیق با پیادهسازی کامپیوتری از نمادگذاری متفاوتی برای معماگر استفاده شده است.

شمارهگذاری مراحل، از جمله XORهای ابتدا و انتها، با شروع از صفر و از بالا به پایین انجام شده است. همچنین، عناصر موجود در هر مرحله، یعنی VBoxها و TBoxها، و بیتهای موجود در هر بلوک از راست به چپ و با شروع از صفر اندیسگذاری شدهاند. توابع بهکار رفته در هر TBox نیز از بالا به پایین و با شروع از صفر شماره گذاری شده اند. از طرفی، تمامی عناصر با یک فرم یکنواخت، با ۱ تا ۳ زیرنویس و بالانویس، نامگذاری شدهاند. لیست زیر نمادهای بهکار رفته در این مقاله را نشان میدهد:

ƒ

ƒ

ƒ

ƒ

ƒ

: X l بلوک ورودی مرحله l ؛

: X l ,i بلوک ورودی به عنصر i ام در مرحله l ؛

: X l ,ji بلوک ورودی به j امین تابع f یا h از عنصر i ام در مرحله l ؛

: X[i] مقدار بیت i ام از بلوک X ؛

: X[i, j,…,k] مقدار عبارت باینری X[i] ⊕ X[ j] ⊕…⊕ X[k] ؛

ƒ : ΓX ماسک اعمال شده روی X ؛
n−۱
ƒ : X[ΓX ] مقدار عبارت باینری ⊕X [i] ΓX[i] ، که در آن n طول بلوک X میباشد؛

i۰
ƒ : ΓXl ماسک اعمال شده روی Xl ، به عبارتی ماسک ورودی مرحله l ؛
ƒ : ΓXl,i ماسک اعمال شده روی Xl ,i ، به عبارتی ماسک ورودی عنصر i ام در مرحله l ؛
ƒ j j
: ΓX l ,i ماسک اعمال شده روی X l ,i ، به عبارتی ماسک ورودی j امین تابع f یا h از عنصر i ام در مرحله l ؛

ƒ TBox : Tl,i شماره i در مرحله l ؛

ƒ j : hl ,ji امین تابع f یا h از TBox شماره i در مرحله l ؛

ƒ VBox :Vl,i شماره i در مرحله l ؛

ƒ : ΓTl,i X  ماسک اعمال شده روی Tl,i X ، به عبارتی ماسک خروجی Tl,i ؛

ƒ : Γhl,ji X  ماسک اعمال شده روی hl,ji X ، به عبارتی ماسک خروجی hl,ji ؛

ƒ : ΓVl,i X  ماسک اعمال شده روی Vl,i X ، به عبارتی ماسک خروجی .Vl ,i