الگوریتم GOST 28147 89 است. استاندارد رمزگذاری داده های داخلی تغییرات در موضوع مهمان

DES، استاندارد رمزگذاری داخلی، برای پیاده سازی نرم افزار راحت تر است.

برخلاف DES آمریکایی، استاندارد داخلی از کلید طولانی تری استفاده می کند - 256 بیت. علاوه بر این، استاندارد روسی استفاده از 32 دور رمزگذاری را پیشنهاد می کند، در حالی که DES فقط به 16 مورد نیاز دارد.

بنابراین، پارامترهای اصلی الگوریتم تبدیل داده رمزنگاری GOST 28147-89 به شرح زیر است: اندازه بلوک 64 بیت، اندازه کلید 256 بیت، تعداد دورها 32 بیت است.

الگوریتم یک شبکه کلاسیک فیشتل است. بلوک داده رمزگذاری شده به دو قسمت یکسان R راست و چپ L تقسیم می شود. قسمت سمت راست به کلید فرعی گرد اضافه می شود و با استفاده از برخی الگوریتم ها، قسمت چپ را رمزگذاری می کند. قبل از دور بعدی، قسمت چپ و راست عوض می شود. این ساختار اجازه می دهد تا از الگوریتم یکسانی برای رمزگذاری و رمزگشایی یک بلوک استفاده شود.

الگوریتم رمزگذاری از عملیات زیر استفاده می کند:

  • اضافه کردن کلمات modulo 2 32;
  • به صورت دوره ای کلمه را با تعداد بیت مشخص شده به سمت چپ منتقل کنید.
  • مدول جمع بیتی 2;
  • تعویض طبق جدول

در مراحل مختلف الگوریتم‌های GOST، داده‌هایی که بر روی آنها کار می‌کنند به روش‌های مختلف تفسیر و استفاده می‌شوند. در برخی موارد، عناصر داده به‌عنوان آرایه‌هایی از بیت‌های مستقل، در موارد دیگر به‌عنوان یک عدد صحیح بدون علامت و در برخی دیگر به‌عنوان دارای ساختار در نظر گرفته می‌شوند. عنصر پیچیده، متشکل از چندین عنصر ساده تر.

ساختار گرد GOST 28147-89

ساختار یک دور GOST 28147-89 در شکل نشان داده شده است. 5.1.

بلوک داده رمزگذاری شده به دو قسمت تقسیم می شود، که سپس به عنوان اعداد صحیح بدون علامت 32 بیتی جداگانه پردازش می شوند. ابتدا نیمه سمت راست بلوک و کلید فرعی راند مدول 2 32 اضافه می شود. سپس جایگزینی بلوک به بلوک انجام می شود. مقدار 32 بیتی به دست آمده در مرحله قبل (بیایید آن را S بنامیم) به عنوان آرایه ای از هشت بلوک کد 4 بیتی تفسیر می شود: S=(S 0 , S 1 , S 2 , S 3 , S 4 , S 5 , S 6 , S 7 ). در مرحله بعد، مقدار هر یک از هشت بلوک با یک بلوک جدید جایگزین می شود که از جدول جایگزینی به صورت زیر انتخاب می شود: مقدار بلوک S i با عنصر S i -ام به ترتیب (شماره گذاری از صفر) جایگزین می شود. از گره جایگزین i-امین (یعنی جداول جایگزین ردیف i-ام، شماره گذاری نیز از ابتدا). به عبارت دیگر، عنصری با شماره ردیف برابر با تعداد بلوک در حال جایگزینی و شماره ستون برابر با مقدار بلوک جایگزین شده به عنوان یک عدد صحیح غیر منفی 4 بیتی به عنوان جایگزینی برای مقدار انتخاب می شود. بلوک هر خط از جدول جایگزین شامل اعداد از 0 تا 15 به ترتیب تصادفی و بدون تکرار است. مقادیر عناصر جدول جایگزینی از 0 تا 15 گرفته می شود، زیرا چهار بیتی که جایگزین می شوند می توانند دارای یک عدد صحیح بدون علامت در محدوده 0 تا 15 باشند. به عنوان مثال، ردیف اول یک S-box ممکن است حاوی مقادیر زیر باشد: 5, 8, 1, 13, 10, 3, 4, 2, 14, 15, 12, 7, 6, 0, 9, 11 . در این حالت، مقدار بلوک S 0 (چهار بیت کم اهمیت عدد 32 بیتی S) با عددی در موقعیتی که تعداد آن برابر با مقدار بلوک جایگزین شده است جایگزین می شود. اگر S 0 = 0 باشد، با 5، اگر S 0 = 1، با 8 و غیره جایگزین می شود.


برنج. 5.1.

پس از انجام جایگزینی، همه بلوک های 4 بیتی دوباره به یک کلمه 32 بیتی متصل می شوند که سپس 11 بیت به سمت چپ چرخانده می شود. در نهایت با استفاده از عملیات بیتی "جمع مدول 2"نتیجه با نیمه چپ ترکیب می شود و در نتیجه یک نیمه راست جدید R i ایجاد می شود. سمت چپ جدید L i برابر با قسمت پایین بلوک تبدیل شده است: L i = R i-1 .

مقدار حاصل از بلوک تبدیل شده به عنوان نتیجه یک دور از الگوریتم رمزگذاری در نظر گرفته می شود.

رویه های رمزگذاری و رمزگشایی

بنابراین GOST 28147-89 یک رمز بلوکی است تبدیل داده هاانجام شده در بلوک در به اصطلاح چرخه های اساسی. حلقه های اصلی شامل اجرای مکرر دور اصلی است که قبلاً برای یک بلوک داده بحث کردیم، با استفاده از عناصر کلیدی مختلف و به ترتیب استفاده از عناصر کلیدی با یکدیگر متفاوت هستند. هر دور از یکی از هشت کلید فرعی ممکن 32 بیتی استفاده می کند.

بیایید به روند ایجاد کلیدهای فرعی گرد نگاه کنیم. در GOST این روش بسیار ساده است، به خصوص در مقایسه با DES. کلید 256 بیتی K به هشت کلید فرعی 32 بیتی تقسیم می شود که K0، K1، K2، K3، K4، K5، K6، K7 نشان داده می شوند. این الگوریتم شامل 32 دور است، بنابراین هر کلید فرعی در طول رمزگذاری در چهار دور به ترتیب ارائه شده در جدول 5.1 استفاده می شود.

جدول 5.1. توالی استفاده از کلیدهای فرعی در هنگام رمزگذاری
گرد 1 2 3 4 5 6 7 8
ساخت کامل K 0 K 1 K2 K 3 K 4 K5 K 6 K 7
گرد 9 10 11 12 13 14 15 16
ساخت کامل K 0 K 1 K2 K 3 K 4 K5 K 6 K 7
گرد 17 18 19 20 21 22 23 24
ساخت کامل K 0 K 1 K2 K 3 K 4 K5 K 6 K 7
گرد 25 26 27 28 29 30 31 32
ساخت کامل K 7 K 6 K5 K 4 K 3 K2 K 1 K 0

فرآیند رمزگشایی با استفاده از همان الگوریتم رمزگذاری انجام می شود. تنها تفاوت در ترتیب استفاده از کلیدهای فرعی K i است. هنگام رمزگشایی، کلیدهای فرعی باید به ترتیب معکوس استفاده شوند، یعنی همانطور که در نشان داده شده است

این الگوریتم برای استفاده به عنوان یک الگوریتم رمزگذاری در سازمان های دولتی فدراسیون روسیه و تعدادی از سازمان های تجاری اجباری است.

شرح الگوریتم

نمودار الگوریتم در شکل نشان داده شده است. 3.1. همانطور که می بینید طراحی این الگوریتم کاملا ساده است که به وضوح اجرای نرم افزاری یا سخت افزاری آن را ساده می کند.

الگوریتم GOST 28147-89 اطلاعات را در بلوک های 64 بیتی رمزگذاری می کند که به دو بلوک فرعی 32 بیتی (N1 و N2) تقسیم می شوند. ساب بلوک N1 به روش خاصی پردازش می شود و پس از آن مقدار آن اضافه می شود

با مقدار زیر بلوک N2 (افزودن مدول 2 انجام می شود)، سپس بلوک های فرعی مبادله می شوند. این تبدیل در تعداد مشخصی دور انجام می شود: 16 یا 32، بسته به حالت عملکرد الگوریتم (توضیح داده شده در زیر). در هر دور عملیات زیر انجام می شود:

1. برنامه کلید. محتویات زیربلاک /VI مدول 2 32 با بخشی از کلید Kx اضافه می شود.

کلید رمزگذاری الگوریتم GOST 28147-89 دارای ابعاد 256 بیت است و Kx قسمت 32 بیتی آن است، یعنی کلید رمزگذاری 256 بیتی به صورت الحاقی از کلیدهای فرعی 32 بیتی نشان داده شده است (شکل 3.2):

Shch ATI، AG2، Yu، AG4، K5، Kb، K7.

در طی فرآیند رمزگذاری، بسته به عدد گرد و حالت عملکرد الگوریتم، از یکی از این کلیدهای فرعی استفاده می شود.

برنج. 3.1. نمودار الگوریتم GOST 28147-

برنج. 3.2. کلید رمزگذاری الگوریتم GOST 28147-89

2. تعویض میز. پس از کلید زدن، بلوک فرعی /VI به 8 قسمت 4 بیتی تقسیم می شود که مقدار هر کدام به صورت جداگانه مطابق با جدول جایگزینی این قسمت از بلوک فرعی جایگزین می شود. جایگزین های جدول (جعبه جایگزین، جعبه S) اغلب در الگوریتم های رمزگذاری مدرن استفاده می شود، بنابراین ارزش دارد که آنها را با جزئیات بیشتری در نظر بگیرید.

جایگزینی جدول به این صورت استفاده می شود: بلوکی از داده ها با اندازه معین (در این مورد، 4 بیتی) به ورودی عرضه می شود که نمایش عددی آن تعداد مقدار خروجی را تعیین می کند. به عنوان مثال، ما یک S-box به شکل زیر داریم:

4, 11, 2, 14, 15, 0, 8, 13, 3, 12, 9, 7, 5, 10, 6, 1.

اجازه دهید بلوک 4 بیتی "0100" به ورودی بیاید، یعنی مقدار 4. مطابق جدول، مقدار خروجی برابر با 15 خواهد بود، یعنی. "1111" (0 با 4، 1 با 11 جایگزین می شود، مقدار 2 بدون تغییر باقی می ماند و غیره).

همانطور که می بینید، طراحی الگوریتم بسیار ساده است، به این معنی که بیشترین بار رمزگذاری داده ها بر دوش جداول جایگزین است. متأسفانه، الگوریتم این ویژگی را دارد که جداول جایگزین ضعیفی وجود دارد که با استفاده از آنها می توان الگوریتم را با روش های تحلیل رمزی حل کرد. موارد ضعیف عبارتند از، برای مثال، جدولی که در آن خروجی برابر با ورودی است:

0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15.

3. تغییر چرخه ای بیتی به چپ با 11 بیت.

حالت های عملکرد الگوریتم

الگوریتم GOST 28147-89 دارای 4 حالت عملیاتی است:

□ حالت جایگزینی ساده؛

□ حالت گاما؛

حالت P گاما با بازخورد;

□ حالت توسعه پیوست های تقلیدی.

این حالت‌ها تا حدودی با حالت‌های پذیرفته‌شده عمومی (شرح شده در بخش 1.4) متفاوت هستند، بنابراین ارزش دارد که آنها را با جزئیات بیشتری در نظر بگیرید.

این حالت ها دارند اهداف مختلف، اما از همان تبدیل رمزگذاری که در بالا توضیح داده شد استفاده کنید.

حالت تعویض آسان

در حالت جایگزینی ساده، هر بلوک 64 بیتی اطلاعات به سادگی با استفاده از 32 دور توضیح داده شده در بالا رمزگذاری می شود. از کلیدهای فرعی 32 بیتی به ترتیب زیر استفاده می شود:

□ KO، Kl، ​​K2، KZ، K4، K5، KB، AG7، KO، ATI و غیره - در دورهای 1 تا 24؛

□ K1، Kb، K5، K4، KZ، K2، K\، KO - در راندهای 25 تا 32.

رمزگشایی در حالت جایگزینی ساده دقیقاً به همان روش انجام می شود، اما با دنباله ای کمی متفاوت از استفاده از کلیدهای فرعی:

□ KO، K\، K2، KZ، K4، K5، Kb، KP - در دورهای 1 تا 8.

□ KP، Kb، K5، K4، KZ، K2، K\، KO، K1، Kb، و غیره - در دور از 9 تا 32.

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

حالت گاما

در حالت گاما (شکل 3.3)، هر بلوک متن ساده بیت به بیت مدول 2 به بلوک گامای رمز 64 بیتی اضافه می شود. رمز گاما یک دنباله خاص است که با استفاده از تبدیل های شرح داده شده در بالا به شرح زیر ایجاد می شود:

1. پر کردن اولیه آنها روی رجیسترهای N1 و N2 نوشته می شود - یک مقدار 64 بیتی به نام "پیام همگام سازی" (پیام همگام سازی عملاً آنالوگ بردار اولیه در حالت های CBC، CFB و OFB است).

2. محتویات رجیسترهای /VI و N2 رمزگذاری شده است (در در این مورد- همگام سازی پیام ها) در حالت جایگزینی ساده.

3. محتویات N1 مدول (2 32 – 1) با ثابت CI = 2 24 + 2 16 + 2 8 + 4 اضافه می شود، نتیجه جمع در ثبات /VI نوشته می شود.

4. محتویات N2 مدول 2 با ثابت C2 = 2 24 + 2 16 + 2 8 +1 اضافه می شود، نتیجه جمع برای ثبت N2 نوشته می شود.

5. محتویات رجیسترهای /VI و N2 به عنوان یک بلوک گامای رمز 64 بیتی خروجی می شود (یعنی در این مورد، /VI و N2 اولین بلوک گاما را تشکیل می دهند).

6. اگر بلوک گامای بعدی مورد نیاز است (یعنی باید رمزگذاری یا رمزگشایی بیشتری انجام شود)، به مرحله 2 بازگردید.

برای رمزگشایی، گاما به روشی مشابه تولید می‌شود، سپس متن رمز و بیت‌های گاما دوباره XOR می‌شوند.

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

در اکثر پیاده‌سازی‌های الگوریتم GOST 28147-89، پیام همگام‌سازی یک عنصر مخفی نیست، با این حال، پیام همگام‌سازی می‌تواند به اندازه کلید رمزگذاری مخفی باشد. در این حالت می توان در نظر گرفت که طول کلید موثر الگوریتم (256 بیت) با 64 بیت دیگر از پیام همگام سازی افزایش می یابد که می تواند به عنوان یک عنصر کلیدی اضافی در نظر گرفته شود.

حالت گاما با بازخورد

در حالت گاما با بازخورد، از نتیجه رمزگذاری بلوک قبلی متن ساده برای پر کردن رجیسترهای /VI و L/2 استفاده می‌شود که از بلوک دوم شروع می‌شود، نه بلوک گامای قبلی، بلکه نتیجه رمزگذاری بلوک متن ساده قبلی است. (شکل 3.4). بلوک اول در این حالتکاملا مشابه قبلی تولید می شود.

برنج. 3.4. تولید گامای رمز در حالت گاما با بازخورد

حالت تولید پیوست تقلیدی

پیشوند یک جمع کنترل رمزنگاری است که با استفاده از یک کلید رمزگذاری محاسبه می شود و برای تأیید صحت پیام ها طراحی شده است. برای محاسبه آن، یک حالت خاص از الگوریتم GOST 28147-89 وجود دارد.

ایجاد یک پیشوند تقلیدی به صورت زیر انجام می شود:

1. اولین بلوک اطلاعات 64 بیتی که پیشوند تقلید برای آن محاسبه می شود، در رجیسترهای N1 و N2 نوشته می شود و در حالت جایگزینی ساده کاهش یافته رمزگذاری می شود که در آن 16 دور اول از 32 راند انجام می شود.

2. نتیجه به دست آمده، مدول 2 با بلوک بعدی اطلاعات جمع می شود و نتیجه را در N1 و N2 ذخیره می کند.

3. M و N2 دوباره در حالت جایگزینی ساده کوتاه شده و غیره تا آخرین بلوک اطلاعات رمزگذاری می شوند.

پیشوند تقلید به عنوان محتوای 64 بیتی حاصل از ثبات های N1 و N2 یا بخشی از آنها در نظر گرفته می شود. اغلب از یک پیشوند تقلیدی 32 بیتی استفاده می شود، یعنی نیمی از محتویات رجیسترها. این کافی است، زیرا، مانند هر چک‌سوم، پیوست تقلیدی، اول از همه، برای محافظت در برابر تحریف تصادفی اطلاعات در نظر گرفته شده است. برای محافظت در برابر تغییر عمدی داده ها، از روش های رمزنگاری دیگری استفاده می شود - در درجه اول الکترونیکی امضای دیجیتالی(به بخش 1.1 مراجعه کنید).

پیشوند تقلید به صورت زیر استفاده می شود:

1. هنگام رمزگذاری هر اطلاعاتی، پیشوند تقلید متن ساده به همراه متن رمز محاسبه و ارسال می شود.

2. پس از رمزگشایی، پیشوند تقلیدی مجدداً محاسبه و با پیشوند ارسال شده مقایسه می شود.

3. اگر پیشوندهای تقلیدی محاسبه شده و ارسالی مطابقت نداشته باشند، متن رمز در حین ارسال مخدوش شده یا از کلیدهای نادرست در هنگام رمزگشایی استفاده شده است.

پیشوند تقلید به ویژه برای بررسی رمزگشایی صحیح اطلاعات کلید هنگام استفاده از طرح های چند کلیدی مفید است.

پیشوند تقلید نوعی آنالوگ کد احراز هویت پیام MAC است که در حالت CBC محاسبه می شود. تفاوت این است که هنگام محاسبه پیشوند تقلید، از پیام همگام سازی استفاده نمی شود، در حالی که هنگام محاسبه MAC، از بردار اولیه استفاده می شود.

قدرت رمزنگاری الگوریتم

در سال 1994، شرح الگوریتم GOST 28147-89 به انگلیسی ترجمه و منتشر شد. پس از این بود که نتایج تجزیه و تحلیل آن، که توسط متخصصان خارجی انجام شد، ظاهر شد. با این حال، هیچ حمله ای نزدیک به امکان سنجی برای مدت قابل توجهی یافت نشد.

□ طول کلید بزرگ - 256 بیت. همراه با پیام همگام سازی مخفی، طول کلید موثر به 320 بیت افزایش می یابد.

□ 32 دور تبدیل. در حال حاضر پس از 8 دور، اثر کامل پراکندگی داده های ورودی حاصل می شود: تغییر یک بیت از بلوک متن ساده بر تمام بیت های بلوک متن رمزی تأثیر می گذارد، و بالعکس، یعنی یک حاشیه قدرت چندگانه وجود دارد.

بیایید نتایج تجزیه و تحلیل رمزگذاری الگوریتم GOST 28147-89 را در نظر بگیریم.

تجزیه و تحلیل جداول جایگزینی

از آنجایی که جداول جایگزین در استاندارد ارائه نشده است، تعدادی از کارها (به عنوان مثال، در) نشان می دهد که یک "سازمان صالح" می تواند جداول جایگزین "خوب" و "بد" را صادر کند. با این حال، بروس اشنایر، کارشناس مشهور، چنین فرضیاتی را "شایعات" می نامد. واضح است که قدرت رمزنگاری الگوریتم تا حد زیادی به ویژگی‌های جداول جایگزین مورد استفاده بستگی دارد؛ بر این اساس، جداول جایگزین ضعیفی وجود دارد (به مثال بالا مراجعه کنید) که استفاده از آنها می‌تواند حمله الگوریتم را ساده کند. با این وجود، امکان استفاده از جداول جایگزینی مختلف ایده بسیار شایسته ای به نظر می رسد که به نفع آن می توان به دو واقعیت زیر از تاریخچه استاندارد رمزگذاری DES اشاره کرد (برای جزئیات، به بخش 3.15 مراجعه کنید):

□ حملات با استفاده از تحلیل رمزنگاری خطی و تفاضلی الگوریتم DES از ویژگی‌های خاص جداول جایگزین استفاده می‌کنند. هنگام استفاده از جداول دیگر، تحلیل رمز باید از نو شروع شود.

□ تلاش‌هایی برای تقویت DES در برابر تحلیل خطی و دیفرانسیل با استفاده از جداول جایگزینی قوی‌تر انجام شده است. چنین جداول، که در واقع قوی تر هستند، برای مثال در الگوریتم s 5 DES پیشنهاد شدند. اما، افسوس، جایگزینی DES با s 5 DES غیرممکن بود، زیرا جداول جایگزین کاملاً در استاندارد تعریف شده است و بر این اساس، اجرای الگوریتم احتمالاً از توانایی تغییر جداول به دیگران پشتیبانی نمی کند.

تعدادی از کارها (به عنوان مثال، و) به اشتباه نتیجه می گیرند که جداول جایگزین مخفی الگوریتم GOST 28147-89 می تواند بخشی از کلید باشد و طول موثر آن را افزایش دهد (که قابل توجه نیست، زیرا الگوریتم دارای 256 بسیار بزرگ است. کلید بیت). با این حال، کار ثابت می کند که جداول جایگزین مخفی را می توان با استفاده از حمله زیر محاسبه کرد که می تواند به طور عملی مورد استفاده قرار گیرد:

1. کلید صفر تنظیم شده و جستجو برای "بردار صفر" انجام می شود، یعنی مقدار z = /(0)، که در آن /() تابع گرد الگوریتم است. این مرحله در حدود 2 عملیات رمزگذاری طول می کشد.

2. با استفاده از بردار صفر، مقادیر جداول جایگزین محاسبه می شود که بیش از 2 11 عملیات طول نمی کشد.

اصلاحات الگوریتم و تحلیل آنها

این کار یک تحلیل رمزی از تغییرات الگوریتم GOST 28147-89 انجام داد:

□ الگوریتم GOST-H که در آن نسبت به الگوریتم اصلی، ترتیب استفاده از کلیدهای فرعی تغییر کرده است، یعنی در دورها از 25 تا 32 کلید فرعی به ترتیب مستقیم استفاده می شود، یعنی دقیقاً مانند دورهای قبلی الگوریتم.

□ الگوریتم 20 دور GOST®، که در آن یک دور از XOR به جای اضافه کردن modulo-2 برای پوشش کلید استفاده می کند.

بر اساس نتایج تجزیه و تحلیل، نتیجه گیری شد که GOST-H و GOST© ضعیف تر از الگوریتم اصلی GOST 28147-89 هستند، زیرا هر دو دارای کلاس های کلیدهای ضعیف هستند. شایان ذکر است که از نظر تحلیل رمزی GOST©، این کار کلمه به کلمه بخش اختصاص داده شده به تحلیل رمز الگوریتم GOST 28147-89 را تکرار می کند، کار معروفی که در سال 2000 منتشر شد (بدون هیچ ارجاعی به اصل). این موضوع حرفه ای بودن نویسندگان اثر و سایر نتایج آن را زیر سوال می برد.

یک اصلاح بسیار جالب از الگوریتم در کار پیشنهاد شد: جداول S\...Ss باید لزوما متفاوت باشند. در هر دور از الگوریتم باید آنها را طبق قانون خاصی بازآرایی کرد. این جایگشت ممکن است وابسته به کلید رمزگذاری باشد، یا ممکن است مخفی باشد (به عنوان مثال، بخشی از یک کلید رمزگذاری بزرگتر از کلید 256 بیتی اصلی باشد). هر دوی این گزینه‌ها، به گفته نویسندگانشان، مقاومت الگوریتم را در برابر تحلیل خطی و دیفرانسیل به میزان قابل توجهی افزایش می‌دهند.

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

تجزیه و تحلیل الگوریتم کامل

همچنین حملاتی به GOST 28147-89 کامل بدون هیچ گونه تغییری انجام می شود. یکی از اولین ها آثار باز، که در آن تجزیه و تحلیل الگوریتم انجام شد، یک کار شناخته شده، به حملاتی اختصاص داده شده است که از نقاط ضعف رویه گسترش کلید تعدادی از الگوریتم های رمزگذاری معروف سوء استفاده می کنند. به طور خاص، الگوریتم کامل GOST 28147-89 را می توان با استفاده از تحلیل رمز تفاضلی روی کلیدهای مرتبط شکست، اما تنها در صورتی که جداول جایگزین ضعیف استفاده شود. نسخه 24 دور الگوریتم (که در آن 8 راند اول از دست رفته است) به روشی مشابه با هر جدول جایگزینی باز می شود، اما جداول جایگزین قوی (مثلاً نمونه ارائه شده) چنین حمله ای را کاملاً غیرعملی می کند.

دانشمندان داخلی A.G. Rostovtsev و E.B. Makhovenko در سال 2001 در کار خود پیشنهاد کردند که روش جدیدتحلیل رمزی (طبق نظر نویسندگان، به طور قابل توجهی مؤثرتر از تحلیل رمزنگاری خطی و تفاضلی) با تشکیل یک تابع هدف از یک متن ساده شناخته شده، متن رمزی مربوطه و مقدار کلید مورد نظر و یافتن حداکثر آن مطابق با مقدار واقعی کلید. آنها همچنین دسته بزرگی از کلیدهای ضعیف الگوریتم GOST 28147-89 را پیدا کردند که امکان باز کردن الگوریتم را تنها با استفاده از 4 متن ساده انتخاب شده و متن رمزی مربوطه با پیچیدگی نسبتاً کم امکان پذیر می کند. تحلیل رمز الگوریتم در کار ادامه دارد.

در سال 2004، گروهی از متخصصان کره ای حمله ای را پیشنهاد کردند که با استفاده از تحلیل رمزی تفاضلی روی کلیدهای مرتبط، می تواند 12 بیت از کلید مخفی را با احتمال 91.7 درصد بدست آورد. این حمله به 235 متن ساده انتخاب شده و 236 عملیات رمزگذاری نیاز دارد. همانطور که می بینید، این حمله عملا برای شکستن الگوریتم بی فایده است.

). در همان زمان، در رسانه ها و وبلاگ های روسی کاربران روسی، تعداد یادداشت ها در مورد این الگوریتم در حال افزایش است: هم نتایج حملات به استاندارد روسی را با درجات مختلف اطمینان پوشش می دهد و هم حاوی نظراتی در مورد ویژگی های عملیاتی آن است. نویسندگان (و در نتیجه، خوانندگان) این یادداشت‌ها اغلب این تصور را دارند که الگوریتم رمزنگاری داخلی قدیمی، کند و دارای آسیب‌پذیری‌هایی است که آن را به طور قابل‌توجهی نسبت به الگوریتم‌های رمزگذاری خارجی با طول کلید مشابه در معرض حملات قرار می‌دهد. با این سری از یادداشت ها می خواهیم فرم قابل دسترسدر مورد وضعیت فعلی امور با استاندارد روسیه صحبت کنید. بخش اول تمام حملات به GOST 28147-89 را که برای جامعه رمزنگاری بین المللی شناخته شده است و ارزیابی های فعلی قدرت آن را پوشش می دهد. در نشریات آتی نیز نگاه دقیق تری به ویژگی های استاندارد از نقطه نظر توانایی ساخت پیاده سازی های موثر خواهیم داشت.

نیکلاس کورتوا - "بزرگ و وحشتناک"

بیایید با داستانی در مورد فعالیت های نیکلاس کورتوا شروع کنیم، که نویسنده مجموعه ای کامل از آثار اختصاص داده شده به استاندارد رمزگذاری بلوک روسی () است.

در اکتبر 2010، روند در نظر گرفتن گنجاندن الگوریتم GOST 28147-89 در استاندارد بین المللی ISO/IEC 18033-3 آغاز شد. قبلاً در ماه مه 2011، مقاله ای از رمزنگار مشهور نیکلاس کورتوا در آرشیو الکترونیکی ePrint ظاهر شد که با نگرش بسیار مبهم جامعه رمزنگاری جهانی نسبت به او مشخص شد. انتشارات کورتوا نمونه غم انگیزی از دستکاری مفاهیم است که هیچ ویژگی جدیدی از شی مورد نظر را آشکار نمی کند، اما با ادعای احساس باعث انتشار نظرات نادرست در مورد ویژگی های واقعی آن در یک محیط ناکارآمد می شود.

روش جبری

استدلال کورتوا حول دو دسته از روش‌های تحلیل رمزی ساخته شده است: روش‌های جبری و روش‌های تفاضلی. بیایید به اولین کلاس از روش ها نگاه کنیم.

روش تحلیل رمزی جبری را می توان به صورت ساده تر، گردآوری و حل یک سیستم بزرگ از معادلات توصیف کرد که هر یک از جواب های آن با هدف رمز نگار مطابقت دارد (مثلاً اگر یک سیستم با استفاده از یک جفت کامپایل شود. از متن ساده و متن رمزی، سپس تمام راه حل های این سیستم مربوط به کلیدهایی است که در آن این متن ساده به این متن تبدیل می شود، رمزگذاری می شود). یعنی در مورد مسئله تحلیل رمز یک رمز بلوکی، ماهیت روش جبری تحلیل رمز این است که کلید در نتیجه حل یک سیستم معادلات چند جمله ای پیدا می شود. مشکل اصلی این است که بتوانیم تا حد امکان با در نظر گرفتن ویژگی‌های یک رمز خاص بنویسیم. سیستم سادهبه طوری که فرآیند حل آن در کمترین زمان ممکن طول بکشد. در اینجا نقش کلیدی توسط ویژگی های هر رمز خاصی که تجزیه و تحلیل می شود ایفا می شود.

روش جبری مورد استفاده کورتوا را می توان به طور خلاصه به شرح زیر توصیف کرد. در مرحله اول، چنین ویژگی های GOST 28147-89 به عنوان وجود یک نقطه ثابت برای بخشی از تبدیل رمزگذاری و همچنین به اصطلاح نقطه بازتاب استفاده می شود. به لطف این ویژگی ها، چندین جفت از تعداد کافی جفت متن ساده-متن رمزی انتخاب می شوند که امکان در نظر گرفتن تبدیل ها را نه در 32، بلکه فقط در 8 دور فراهم می کند. مرحله دوم این است که بر اساس نتایج 8 تبدیل گرد به دست آمده در مرحله اول، سیستمی از معادلات غیر خطی ساخته می شود که بیت های کلیدی در آن مجهول هستند. در مرحله بعد، این سیستم حل می شود (این ساده به نظر می رسد، اما در واقع زمان برترین بخش روش است، زیرا سیستم از معادلات غیر خطی تشکیل شده است).

همانطور که در بالا ذکر شد، هیچ کجای کار وجود ندارد توصیف همراه با جزئیاتو تحلیل پیچیدگی مراحل دوم و اصلی تعیین کلید. این پیچیدگی مرحله دوم است که پیچیدگی کل روش را به عنوان یک کل تعیین می کند. در عوض، نویسنده «حقایق» بدنامی را ارائه می‌کند که بر اساس آن‌ها شدت کار را تخمین می‌زند. گفته می شود که این "حقایق" بر اساس نتایج تجربی است. تحلیلی از "واقعیات" از آثار کورتوا به عنوان یک کل در آثار نویسندگان داخلی ارائه شده است. نویسندگان این اثر خاطرنشان می‌کنند که بسیاری از «حقایق» کورتوا که بدون هیچ مدرکی ارائه شده‌اند، در طی آزمایش‌های تجربی نادرست هستند. نویسندگان مقاله پا را فراتر گذاشتند و با پیروی از کورتوا، با استفاده از الگوریتم‌ها و برآوردهای مستدل، تحلیل پیچیدگی مرحله دوم را انجام دادند. برآوردهای پیچیدگی حاصل، عدم کاربرد کامل حمله ارائه شده را نشان می دهد. علاوه بر نویسندگان داخلی، مشکلات بزرگی که کورتوا در ارزیابی ها و توجیه روش های خود دارد نیز به عنوان مثال در اثر مورد توجه قرار گرفت.

روش دیفرانسیل

بیایید روش دوم کورتوا را در نظر بگیریم که مبتنی بر تحلیل رمزی افتراقی است.

روش کلی رمزنگاری دیفرانسیل مبتنی بر بهره‌برداری از ویژگی‌های نگاشت غیرخطی مورد استفاده در رمزنگاری‌های اولیه است که با تأثیر مقدار کلیدی بر وابستگی‌های بین تفاوت بین جفت‌های ورودی و جفت مقادیر خروجی این نگاشت‌ها مرتبط است. . اجازه دهید ایده اصلی روش دیفرانسیل تجزیه و تحلیل رمزنگاری یک رمز بلوکی را شرح دهیم. به طور معمول، رمزهای بلوکی با استفاده از تعدادی تبدیل به اصطلاح گرد، داده های ورودی را به صورت مرحله ای تبدیل می کنند و هر تبدیل گرد از کل کلید استفاده نمی کند، بلکه فقط بخشی از آن را استفاده می کند. بیایید یک رمز کمی "قطع" را در نظر بگیریم که با رمز اصلی تفاوت دارد زیرا آخرین دور را ندارد. اجازه دهید فرض کنیم که می‌توان ثابت کرد که رمزگذاری دو متن ساده که در برخی موقعیت‌های ثابت با هم متفاوت هستند، با استفاده از چنین رمزی «قطع‌شده» به احتمال زیاد منجر به متن‌های رمزی می‌شود که در برخی موقعیت‌های ثابت نیز متفاوت هستند. این ویژگی نشان می‌دهد که یک رمز «قطع شده» به احتمال زیاد بین برخی از متن‌های ساده و نتایج رمزگذاری آنها وابستگی ایجاد می‌کند. برای بازیابی بخشی از کلید با استفاده از این نقص آشکار، لازم است بتوانیم متن‌های ساده از پیش انتخاب شده را روی کلیدی که می‌خواهیم بازیابی کنیم رمزگذاری کنیم (به اصطلاح «حمله متن ساده انتخاب شده»). در ابتدای روش «باز کردن کلید»، تعدادی جفت متن ساده به طور تصادفی تولید می‌شوند که در همان موقعیت‌های ثابت متفاوت هستند. همه متون با استفاده از یک رمز "کامل" رمزگذاری می شوند. جفت‌های متن رمزی به‌دست‌آمده برای بازیابی بیت‌های کلیدی که در آخرین تبدیل دور استفاده شده‌اند، به شرح زیر استفاده می‌شوند. با استفاده از مقداری انتخاب شده تصادفی از بیت های کلید مورد نظر، یک تبدیل معکوس به آخرین تبدیل دور برای همه متن های رمزی اعمال می شود. در واقع، اگر مقدار مورد نظر بیت های کلید را حدس بزنیم، نتیجه یک رمز «قطع شده» به دست می آید، و اگر حدس نمی زنیم، در واقع «داده ها را حتی بیشتر رمزگذاری می کنیم»، که فقط مقدار را کاهش می دهد. وابستگی بین بلوک های ذکر شده در بالا (تفاوت در برخی موقعیت های ثابت است). به عبارت دیگر، اگر در میان نتایج چنین "پردازش اضافی" متون رمزی، جفت های بسیار زیادی وجود داشته باشد که در موقعیت های ثابت شناخته شده برای ما متفاوت است، این بدان معنی است که ما بیت های کلید مورد نیاز را حدس زده ایم. در غیر این صورت، تعداد این جفت ها به میزان قابل توجهی کمتر خواهد بود. از آنجایی که در هر دور فقط بخشی از کلید استفاده می‌شود، تعداد بیت‌های جستجو شده (یعنی بیت‌های کلید مورد استفاده در دور آخر) به اندازه بیت‌های موجود نیست. به صورت کاملو به سادگی می توانید با تکرار مراحل بالا آنها را مرتب کنید. در این صورت قطعاً روزی به معنای صحیح آن برخورد خواهیم کرد.

از توضیحات بالا چنین برمی‌آید که مهم‌ترین چیز در روش تحلیل تفاضلی، اعداد همان موقعیت‌ها در متن‌های ساده و متون رمزی است، تفاوت‌هایی که در بازیابی بیت‌های کلیدی نقش کلیدی دارند. حضور اساسی این موقعیت ها و همچنین مجموعه اعداد آنها مستقیماً به ویژگی های آن تبدیلات غیرخطی بستگی دارد که در هر رمز بلوکی استفاده می شود (معمولاً تمام "غیرخطی" در به اصطلاح S-box یا متمرکز می شود. گره های جایگزین).

کورتوا از یک نسخه کمی تغییر یافته از روش دیفرانسیل استفاده می کند. بیایید فوراً توجه کنیم که کورتوا تجزیه و تحلیل خود را برای S-boxهایی انجام می دهد که با نمونه های فعلی و با موارد پیشنهاد شده در ISO متفاوت هستند. این کار ویژگی های دیفرانسیل (اعدادی که در آن بلوک ها باید متفاوت باشند) برای تعداد کمی دور ارائه می دهد. توجیه گسترش ویژگی ها برای دورهای بیشتر، طبق معمول، بر اساس «واقعیت ها» است. کورتوا مجدداً با هیچ چیز دیگری جز اقتدار خود، یک فرض غیرقابل تایید را بیان می کند که تغییر جعبه های S بر مقاومت GOST 28147-89 در برابر حمله او تأثیر نمی گذارد (در حالی که به دلایل نامعلوم، جعبه های S از اولین پیش نویس کاری اضافه شدن به استاندارد ISO/IEC 18033-3 در نظر گرفته نشد). تجزیه و تحلیل انجام شده توسط نویسندگان مقاله نشان می دهد که حتی اگر "حقایق" بی اساس کورتوا در مورد ایمان را در نظر بگیریم و GOST 28147-89 را با سایر بلوک های S تجزیه و تحلیل کنیم، دوباره معلوم می شود که حمله بهتر از یک جستجوی کامل نیست.

تجزیه و تحلیل دقیق آثار کورتوا با اثبات دقیق بی اساس بودن همه اظهارات در مورد کاهش مقاومت استاندارد روسیه در آثار انجام شد [,].

در عین حال حتی خود کورتوا هم به عدم دقت مطلق در محاسبات اعتراف می کند! اسلاید زیر از ارائه کورتوا در بخش اطلاعیه کوتاه FSE 2012 گرفته شده است.

لازم به ذکر است که کار کورتوا نیز بارها مورد انتقاد محققان خارجی قرار گرفته است. به عنوان مثال، کار او در مورد ساخت حملات بر روی الگوریتم رمزگذاری بلوک AES با استفاده از روش XSL حاوی همان ایرادات اساسی کار در تجزیه و تحلیل استاندارد روسی بود: بیشتر تخمین های شدت کار در متن کاملاً بی اساس و بدون دلیل ظاهر می شوند - دقیق. نقد را می توان مثلاً در کار پیدا کرد. علاوه بر این، خود کورتوا به امتناع گسترده از انتشار آثارش در کنفرانس‌های رمزنگاری بزرگ و در مجلات معتبر معتبر اعتراف می‌کند که اغلب تنها فرصت صحبت در بخش اعلامیه کوتاه را برای او باقی می‌گذارد. به عنوان مثال، می توانید در این مورد در بخش 3 کار مطالعه کنید. در اینجا چند نقل قول از خود کورتوا در رابطه با کار او آمده است:

  • "من فکر می کنم که مخاطبان Asiacrypt احساس نمی کنند که جالب است." داور آسیاcrypt 2011.
  • "... یک مشکل بزرگ، بزرگ، بزرگ وجود دارد: این حمله، که سهم اصلی مقاله است قبلاً در FSE'11 منتشر شده است (حتی بهترین مقاله بود)، ...". بازبینی کننده برای Crypto 2011.

بنابراین، بخش حرفه‌ای جامعه رمزنگاری بین‌المللی به کیفیت کار کورتوا با تردید کمتری نسبت به اظهارات برخی از متخصصان روسی در مورد توانایی آنها در شکستن AES برای 2100 نگاه می‌کند، که توسط هیچ‌یک از محاسبات ثابت تأیید نشده است. آخرین "شواهد" از یک فرضیه دو صفحه ای در مورد نابرابری کلاس های پیچیدگی P و NP.

حملات ایزوبه و دینور-دانکلمان-شامیر

ایده کلی حملات Isobe () و Dinur-Dankelman-Shamir (از این پس: حمله DDS) () این است که برای یک مجموعه باریک خاص (وابسته به کلید) از متن های ساده یک تبدیل معادل در این مجموعه ساخته شود، که دارای یک ساختار ساده تر از خود تبدیل رمزگذاری است. در مورد روش Isobe، این مجموعه ای از بلوک های 64 بیتی x است به طوری که F 8 -1 (Swap(F 8 (z))) = z، جایی که z = F 16 (x)، تا F 8 ( x) و F 16 (x) به ترتیب 8 و 16 دور اول رمزگذاری GOST 28147-89 را از طریق Swap نشان می دهد - عملیات تعویض نیمی از یک کلمه 64 بایتی. اگر متن ساده در این مجموعه گنجانده شود، نتیجه تبدیل کامل 32 دور GOST 28147-89 با نتیجه 16 دور مطابقت دارد، چیزی که نویسنده حمله از آن سوء استفاده می کند. در مورد روش DDS، این مجموعه x است به طوری که F 8 (x) = x (نقطه ثابت تبدیل F 8). برای هر متن ساده از این مجموعه، تبدیل GOST 28147-89 دقیقاً مانند 8 دور آخر آن عمل می کند، که تحلیل را ساده می کند.

پیچیدگی حمله Isobe 2224 عملیات رمزگذاری است، حمله DDS 2192 است. با این حال، تمام سوالات در مورد اینکه آیا حملات Isobe و DDS محدودیت‌های جدیدی را در شرایط استفاده از الگوریتم ما ایجاد می‌کنند با ارزیابی الزامات حجم مواد مورد نیاز برای انجام هر یک از حملات حذف می‌شوند: روش Isobe به 2 32 جفت متن ساده نیاز دارد. و متن رمزی و برای روش DDS - 2 64. پردازش چنین حجمی از مواد بدون تغییر کلید برای هر رمزگذاری بلوکی با طول بلوک 64 غیرقابل قبول است: در مواد جلد 2 32، با در نظر گرفتن مشکل تولدها (به عنوان مثال، به )، احتمال وقوع بلوک‌های تکراری نزدیک به 1/2 است، که به مهاجم امکان می‌دهد بدون تعیین کلید، از روی متن‌های رمزی، نتایج خاصی در مورد متن‌های ساده بگیرد. وجود 264 جفت متن ساده و رمزگذاری شده به دست آمده روی یک کلید در واقع به دشمن این امکان را می دهد که بدون اطلاع از این کلید، عملیات رمزگذاری و رمزگشایی را انجام دهد. این به دلیل یک ویژگی کاملاً ترکیبی است: دشمن در این مورد کل جدول تبدیل رمزگذاری را دارد. این وضعیت تحت هیچ شرایط عملیاتی معقولی کاملا غیر قابل قبول است. به عنوان مثال، در CryptoPro CSPمحدودیت فنی در حجم مطالب رمزگذاری شده (بدون تبدیل کلید) 4 مگابایت وجود دارد (نگاه کنید به). بنابراین، ممنوعیت شدید استفاده از کلید در موادی با چنین حجمی در هر رمزگذاری بلوکی با طول بلوک 64 بیت ذاتی است و بنابراین، حملات Isobe و DDS به هیچ وجه دامنه استفاده از الگوریتم GOST 28147-89 را محدود نمی کند. با حفظ حداکثر استحکام ممکن 2256.

البته لازم به ذکر است که محققان (Isobe و Dinur-Dankelman-Shamir) نشان داده اند که برخی از ویژگی های الگوریتم GOST 28147-89 امکان یافتن مسیرهای تحلیلی را فراهم می کند که توسط سازندگان الگوریتم در نظر گرفته نشده است. شکل ساده جدول زمانی کلید، که به طور قابل توجهی کار ساخت پیاده سازی های موثر را ساده می کند، همچنین به موارد نادری از کلیدها و متن های ساده اجازه می دهد تا بیشتر بسازند. توضیحات سادهتبدیل های انجام شده توسط الگوریتم

کار نشان می دهد که این ویژگی منفی الگوریتم را می توان به راحتی با حفظ کامل ویژگی های عملیاتی از بین برد، اما، متأسفانه، بخشی جدایی ناپذیر از الگوریتم در شکل رایج آن است.

توجه داشته باشید که در کار دینور، دانکلمن و شامیر نیز سهل انگاری در برآورد میانگین شدت کار وجود دارد. بنابراین، هنگام ساخت یک حمله، توجه کافی به نکته زیر نمی شود: برای بخش قابل توجهی از کلیدها، مجموعه متن های ساده x، به طوری که F 8 (x) = x، خالی است: ممکن است به سادگی هیچ نقطه ثابتی وجود نداشته باشد. برای 8 دور تبدیل. وجود نقاط ثابت به انتخاب گره های جایگزین نیز بستگی دارد. بنابراین، حمله فقط برای نودها و کلیدهای جایگزین خاص قابل اجرا است.

همچنین لازم به ذکر است یک کار دیگر با حمله به GOST 28147-89. در فوریه 2012، آرشیو الکترونیکی ePrint انجمن بین المللی رمزنگاری ظاهر شد نسخه ی به روز شدهمقاله (مورخ نوامبر 2011) که حاوی حمله جدیدی به GOST 28147-89 بود. ویژگی های حمله ارائه شده به شرح زیر است: حجم مواد 2 32 (مانند Isobe) و شدت کار 2 192 (مانند DDS) است. بنابراین، این حمله حمله DDS رکورد زمان را از نظر حجم مواد از 2 64 به 2 32 بهبود بخشید. ما به طور جداگانه توجه می کنیم که نویسندگان صادقانه تمام محاسبات را با توجیه پیچیدگی و حجم مطالب ارائه کردند. پس از 9 ماه، یک خطای اساسی در محاسبات بالا مشاهده شد و از نوامبر 2012، نسخه به روز شده مقاله در آرشیو الکترونیکی دیگر هیچ نتیجه ای در مورد الگوریتم داخلی ندارد.

حملات با فرض اینکه مهاجم "چیزی" در مورد کلیدها می داند

اجازه دهید در نهایت توجه داشته باشیم که در ادبیات تعدادی از آثار نیز وجود دارد (به عنوان مثال، و ) به حملات به GOST 28147-89 در مدل به اصطلاح کلید پیوندی اختصاص داده شده است. این مدلاساساً حاوی این فرض است که یک مهاجم می تواند برای تجزیه و تحلیل نه تنها به جفت متن ساده و رمزگذاری شده با استفاده از کلید مورد نظر، بلکه همچنین به جفت متن ساده و متن رمز شده به دست آمده با استفاده از کلیدهای (همچنین ناشناخته) که با کلید مورد نظر در یک منظم شناخته شده متفاوت است، دسترسی پیدا کند. راه (به عنوان مثال، در موقعیت های بیت ثابت). در این مدل واقعاً می توان نتایج جالبی را در مورد GOST 28147-89 به دست آورد، اما در این مدل نمی توان به نتایج قوی کمتری دست یافت، به عنوان مثال، که بیشترین استفاده را در شبکه های مدرن دارد. استفاده مشترکاستاندارد AES (به عنوان مثال نگاه کنید به). توجه داشته باشید که شرایط انجام این نوع حمله هنگام استفاده از رمز در یک پروتکل خاص ایجاد می شود. لازم به ذکر است که نتایج از این دست، اگرچه از نقطه نظر مطالعه ویژگی‌های تبدیل رمزنگاری مورد توجه دانشگاهی بدون شک هستند، اما در واقع به عمل مربوط نمی‌شوند. به عنوان مثال، تمام ابزارهای حفاظت از اطلاعات رمزنگاری که توسط FSB روسیه تأیید شده اند، سختگیرانه ترین الزامات را برای طرح های تولید کلید رمزگذاری برآورده می کنند (برای مثال، را ببینید). همانطور که در نتایج تجزیه و تحلیل نشان داده شد، اگر 18 کلید مرتبط و 2 10 جفت بلوک متن ساده و رمزنگاری وجود داشته باشد، پیچیدگی باز کردن کامل کلید خصوصی، با احتمال موفقیت 1-10 -4، در واقع 2 26 است. . با این حال، اگر الزامات ذکر شده در بالا برای توسعه مواد کلیدی برآورده شود، احتمال یافتن چنین کلیدهایی 2 -4352 است، یعنی 24096 برابر کمتر از زمانی که به سادگی سعی کنید کلید مخفی را در اولین تلاش حدس بزنید.

کارهای مربوط به مدل با کلیدهای مرتبط نیز شامل کارهایی است که در سال 2010 سر و صدای زیادی در نشریات الکترونیکی روسی ایجاد کرد که از عادت به بررسی دقیق مواد در مسابقه برای احساسات رنج نمی برند. نتایج ارائه شده در آن با هیچ توجیه دقیق پشتیبانی نشد، اما حاوی اظهارات بلندی در مورد امکان هک استاندارد دولتی بود. فدراسیون روسیهدر یک لپ تاپ ضعیف در عرض چند ثانیه - به طور کلی، مقاله به بهترین سنت های نیکلاس کورتوا نوشته شده است. اما، علیرغم بی‌اساس و بی‌اساس بودن مقاله برای خواننده‌ای که کم و بیش با اصول اولیه انتشارات علمی آشناست، دقیقاً برای اطمینان دادن به افکار عمومی روسیه پس از کار بود که رودسکی متنی مفصل و کامل حاوی تحلیلی جامع نوشت. از این کمبود مقاله با عنوان خود توضیحی "درباره اهمیت عملی صفر کار "حمله بازیابی کلید به رمز کامل بلوک GOST با زمان و حافظه صفر"" توجیه می کند که میانگین پیچیدگی روش ارائه شده کمتر از پیچیدگی نیست. از یک جستجوی کامل

باقیمانده خشک: دوام در عمل چیست؟

در پایان، ما جدولی را ارائه می‌کنیم که حاوی داده‌های مربوط به تمام نتایج حملات کاملاً توصیف شده و موجه به GOST 28147-89 است که برای جامعه رمزنگاری بین‌المللی شناخته شده است. توجه داشته باشید که پیچیدگی در عملیات رمزگذاری الگوریتم GOST 28147-89 داده شده است و حافظه و مواد در بلوک های الگوریتم (64 بیت = 8 بایت) نشان داده شده است.

حمله کنید شدت کار حافظه مواد مورد نیاز
ایزوبه 2 224 2 64 2 32
دینور-دانکلمن-شامیر، FP، 2DMitM 2 192 2 36 2 64
دینور-دانکلمان-شامیر، FP، کم حافظه 2 204 2 19 2 64
2 224 2 36 2 32
دینور-دانکلمن-شامیر، انعکاس، 2DMitM 2 236 2 19 2 32
جستجوی کامل 2 256 1 4
تعداد نانوثانیه از زمان پیدایش کیهان 2 89

با وجود چرخه تحقیقاتی نسبتاً بزرگ در زمینه پایداری الگوریتم GOST 28147-89، این لحظههیچ حمله ای شناخته نشده است که تحت شرایط عملیاتی یک طول بلوک 64 بیتی قابل دستیابی باشد. محدودیت‌های حجم مواد قابل پردازش بر روی یک کلید ناشی از پارامترهای رمز (طول بیت کلید، طول بیت بلوک) به طور قابل‌توجهی سخت‌تر از حداقل حجم مورد نیاز برای انجام هر حمله شناخته شده فعلی است. در نتیجه، هنگام برآوردن نیازهای عملیاتی موجود، هیچ یک از روش‌های تحلیل رمزی پیشنهادی تا تاریخ GOST 28147-89 امکان تعیین کلیدی با شدت کار کمتر از جستجوی جامع را فراهم نمی‌کند.