استاندارد رمزگذاری داده های داخلی. استاندارد داخلی رمزگذاری اطلاعات امنیت اطلاعات

محقق معروف، بنیانگذار کریپتوآنالیز جبری نیکلاس کورتوئیس، استدلال می کند که Gost Cipher Global، که در آینده نزدیک باید تبدیل به یک استاندارد بین المللی شود، در واقع هک شده و انتظار می رود بسیاری از نشریات که باید ایده های خود را در مورد ناسازگاری این امر توسعه دهد الگوریتم

موارد زیر از این کار خلاصه شده است که می تواند به عنوان حمله هشدار دهنده در میان استاندارد بین المللی مورد توجه قرار گیرد (نویسنده نیز به AES شناخته شده است، اما کار او پس از آن یک اثر تئوری بزرگ بر کریپتالیز داشت، اما به امروز منجر نشد حملات عملی به خود AES). اما این امکان وجود دارد که این یک هشدار واقعی در مورد شروع مرحله "غواصی به سوزاندن یک هواپیما" باشد، که می تواند با فروپاشی استاندارد رمزگذاری ملی پایان یابد، همانطور که با الگوریتم SHA-1 HASH و آن بود الگوریتم هش واقعی MD5.

GOST 28147-89 در سال 1989 استاندارد شد و برای اولین بار استاندارد رسمی برای محافظت از اطلاعات محرمانه شد، اما مشخصات رمزگذاری بسته شد. در سال 1994، استاندارد معلوم شد، منتشر شد، به زبان انگلیسی ترجمه شد. به طور مشابه با AES (و بر خلاف DES)، GOST مجاز به محافظت از اطلاعات مخفی بدون محدودیت است، مطابق با نحوه این که در استاندارد روسیه نشان داده شده است. بنابراین GOST یک آنالوگ از DES نیست، بلکه یک رقیب 3-DES با سه کلید مستقل یا AES-256 نیست. بدیهی است، GOST یک رمز به اندازه کافی جدی است که معیارهای نظامی را با محاسبه جدی ترین برنامه ها ایجاد می کند. حداقل دو مجموعه از بلوک های GOST S-Blocks بر اساس برنامه های کاربردی استفاده شده توسط بانک های روسی شناسایی شده اند. این بانک ها نیاز به ارتباطات مخفی با صدها شاخه و حفاظت از میلیاردها دلار از اختلاس های جعلی دارند.

GOST یک رمزنگاری بلوک با ساختار فایروال ساده است، با یک اندازه بلوک از 64 بیتی، کلید 256 بیتی و 32 دور. هر دور شامل علاوه بر کلید ماژول 2 ^ 32، مجموعه ای از هشت بلوک 4 بیتی و یک تغییر سیکل ساده توسط 11 بیت است. ویژگی GOST توانایی ذخیره S-blocks S راز است که می تواند به عنوان کلید دوم نشان داده شود که مواد کلیدی کارآمد را تا 610 بیت افزایش می دهد. یک مجموعه از S-Blocks در سال 1994 در چارچوب مشخصات تابع هش GOST-R 34.11-94 منتشر شد و همانطور که Schnayer نوشت، توسط بانک مرکزی فدراسیون روسیه مورد استفاده قرار گرفت. او همچنین به استاندارد RFC4357 در بخش "ID-GostR3411-94-Cryptopraparamset" وارد شد. در کد های منبع در انتهای کتاب Schnayer یک خطا وجود داشت (در S-Blocks). در حال حاضر در کتابخانه OpenSSL در کتابخانه OpenSSL، دقیق ترین پیاده سازی مرجع مرجع ناامنی روسیه می تواند در کتابخانه OpenSSL پیدا شود. اگر بلوک های مخفی S در جایی استفاده شوند، آنها می توانند از پیاده سازی های نرم افزاری و از تراشه استخراج شوند، در واقع این کارهای مناسب منتشر شد.

GOST - یک رقیب جدی

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

تعجب آور نیست که GOST به یک استاندارد آنلاین تبدیل شده است، به ویژه، آن را در بسیاری از Cryptobiba، مانند OpenSSL و Crypto ++ گنجانده شده است، و تبدیل به طور فزاینده ای در خارج از کشور از منشاء آنها محبوب است. در سال 2010، GOST برای استاندارد سازی ISO به عنوان یک استاندارد رمزگذاری جهانی اعلام شد. تعداد بسیار کمی از الگوریتم ها می تواند استانداردهای بین المللی باشد. ISO / IEC 18033-3: 2010 الگوریتم های زیر را شرح می دهد: چهار رمزگذاری 64 بیتی - TDEA، Misty1، Cast-128، Hight - و سه 128 بیتی Ciphes - AES، Camellia، Seed. GOST دعوت شده است به همان استاندارد ISO / IEC 18033-3 اضافه شود.

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

همانطور که اخیرا به نویسنده از مکاتبات خصوصی شناخته شده است، اکثر کشورها در برابر GOST در رای گیری ISO در سنگاپور سخنرانی کردند، اما نتایج این رأی همچنان در جلسه مجلس ISO SC27 در نظر گرفته می شود، به طوری که GOST هنوز در آن است روند استاندارد سازی در زمان انتشار این کار.

نظرات متخصص در مورد GOST

هیچ چیز از اطلاعات موجود و ادبیات موجود در GOST هیچ دلیلی برای باور ندارد که رمزنگاری ممکن است ناامن باشد. برعکس، اندازه کلیدی بزرگ و تعداد زیادی از دور ها، GOST، در نگاه اول، مناسب برای دهه های استفاده است.

هر کس که به مور آشنا است آگاه است که در تئوری، کلید های 256 بیتی حداقل 200 سال باقی خواهند ماند. GOST به طور گسترده ای توسط کارشناسان برجسته رمزنگاری شناخته شده در زمینه تجزیه و تحلیل رمزنگارهای بلوک، مانند Schneier، Biryukov، Dankelman، Wagner، بسیاری از دانشمندان استرالیا، ژاپنی و روسی، کارشناسان رمزنگاری از ISO، و همه محققان بیان کردند که همه چیز به نظر می رسد که همه چیز به نظر می رسد می تواند یا باید امن باشد. اگر چه یک درک گسترده به این دیدگاه رسیده است که ساختار ساختار GOST بسیار ضعیف است، به عنوان مثال، در مقایسه با DES، به ویژه، انتشار خیلی خوب نیست، اما همیشه توسط این واقعیت تعیین شده است که این باید توسط آن جبران شود تعداد زیادی از دور (32)، و همچنین غیر خطی اضافی و انتشار اضافی ارائه شده توسط اضافه کردن ماژول.

Biryukov و Wagner نوشتند: "تعداد زیادی از دور ها (32) و یک طراحی Faistel مورد مطالعه، همراه با جایگزینی های سازگار شانون، پایه جامد GOST را ارائه می دهند." در همان کار، ما می خوانیم: "پس از هزینه های قابل توجهی از زمان و تلاش، پیشرفت در رمزنگاری استاندارد در ادبیات باز وجود نداشت." بنابراین، حملات قابل توجهی وجود ندارد که اجازه می دهد تا رمزگشایی یا بازیابی یک کلید در یک سناریوی واقع گرایانه، زمانی که GOST در رمزنگاری با بسیاری از کلیدهای تصادفی مختلف استفاده می شود، اجازه می دهد. در مقابل، بسیاری از کار بر روی حملات به کلید های ضعیف در GOST، حملات به کلید های متصل، حملات به بازسازی بلوک های مخفی S-Blocks شناخته شده است. Crypto-2008 با هک کردن یک تابع هش بر اساس این رمزنگاری نشان داده شد. در تمام حملات، مهاجم دارای سطح بسیار بیشتری از آزادی است نسبت به آن معمولا مجاز است. در برنامه های رمزنگاری سنتی با استفاده از کلید های تصادفی انتخاب شده به حال حاضر، حملات جدی رمزنگاری به GOST وجود نداشت، که در سال 2010 او توسط عبارت نهایی بیان شد: "علیرغم تلاش های مهم رمزنگاری در طی 20 سال گذشته، GOST هنوز هک نشده است "(Axel Poschmann، San Ling، و Huaxiong وانگ: 256 بیتی استاندارد Crypto برای 650 GE GOST Revisited، در Ches 2010، LNCS 6225، ص. 219-233، 2010).

تجزیه و تحلیل خطی و دیفرانسیل GOST

ما می خوانیم: "در برابر کریپتالیز دیفرانسیل و خطی GOST احتمالا پایدار تر از DES است." ارزیابی اصلی ایمنی GOST در سال 2000، Gabidulin و همکاران داده شد. نتایج آنها بسیار چشمگیر است: زمانی که سطح امنیتی 2 ^ 256 است، پنج دور برای محافظت از GOST از رمزنگاری خطی وجود دارد. علاوه بر این، حتی هنگام جایگزینی S-Blocks در عملیات یکسان و تنها غیر خطی از رمزنگاری، Modulo 2 ^ 32 - رمزنگاری هنوز هم قفسه ها در برابر کریپتانالیز خطی پس از 6 دور 32 است. رمزنگاری دیفرانسیل GOST به نظر می رسد نسبتا ساده تر و توجه بیشتری را جلب کرد. برای 2 ^ 128 محققان سطح ایمنی (Vitaly V. Shorin، وادیم V. Jelezniakov و Ernst M. Gabidulin: کریپتنالیز خطی و دیفرانسیل GOST روسیه، پیش چاپ به Elsevier Preprint، 4 آوریل 2001) فرضیه کافی در سطح 7 دور . به گفته آنها، هک کردن GOST در بیش از پنج دور "بسیار دشوار است." علاوه بر این، دو محقق ژاپنی نشان داده اند که یک حمله دیفرانسیل مستقیم کلاسیک با یک ویژگی دیفرانسیل، احتمال بسیار کمی برای عبور از تعداد زیادی دور است. بر اساس مبنای مطالعه یک مشخصه دیفرانسیل تکراری بهتر برای تعداد محدودی از دور ها (که به خودی خود دارای احتمال انتقال بهتر از 2-11.4 در هر دور است)، مقادیر مجموعه ای مناسب است کلید های کمتر از نصف به دست می آید. برای یک GOST کامل، چنین حمله ای با یک ویژگی واحد تنها با یک کلید ناچیز از کلید 2-62 (و حتی در این بخش کوچک، احتمال بیشتری را بیش از 2-360 خواهد داشت) کار می کند.

حملات پیچیده تر شامل چندین تفاوت از الگوهای خاص، به عنوان مثال، با استفاده از S-Blocks فردی دارای اختلاف صفر، در حالی که در بیت های دیگر غیر صفر وجود دارد. سخنرانی در مورد حملات-تمایز بر اساس خواص انتشار ضعیف GOST. بهترین این حملات در برابر 17 دور دور کار می کند، بستگی به کلید دارد و دارای تفاوت بسیار ضعیف از داده های تصادفی در خروجی است تا بتوان آن را به نحوی استفاده کرد تا از آن برای به دست آوردن اطلاعات در مورد کلید استفاده شود.

حملات لغزش و انعکاس

به گفته Biryukov و Wagneru، ساختار GOST، که شامل ترتیب معکوس اتصال در آخرین دور، آن را مقاوم در برابر حملات کشویی (به اصطلاح "اسلاید حملات") مقاومت می کند. با این حال، به دلیل حضور مقدار زیادی از خود شباهت در رمزنگاری، به شما این امکان را می دهد که به شما این امکان را انجام دهید که کلیدها را در ترکیبی از نقاط ثابت و خواص "بازتاب" (به اصطلاح "حملات بازتابنده") انجام دهید برخی از کلید های ضعیف پیچیدگی این حمله 2 ^ 192 و 2 ^ 32 از متون انتخاب شده انتخاب شده است.

نتایج اخیر

حملات جدید همچنین GOST را که در کنفرانس FSE 2011 ارائه شده است، منعکس شده و در واقع هک شده است. این حملات نیز به طور مستقل توسط نویسنده این کار باز بود. این حمله نیاز به 2 ^ 132 بایت حافظه دارد که در واقع بدتر از حملات کندتر با نیاز به حافظه کوچکتر است.

بسیاری از حملات جدید بر اساس خودکشی خود در برابر تمام کلید های GOST کار می کنند و به شما اجازه می دهد تا یک GOST GOST را با یک کلید 256 بیتی هک کنید و نه فقط برای کلیدهای ضعیف، همانطور که قبلا بود. تمام این حملات به حافظه قابل ملاحظه ای نیاز دارند و بسیار سریعتر هستند.

این حملات جدید را می توان به عنوان نمونه هایی از یک پارادایم جدید جدید رمزنگارهای بلوک Cryptanasalya به نام "کاهش پیچیدگی جبری"، با خلاصه ای از این حملات به بسیاری از موارد ویژه حملات با نقاط ثابت شناخته شده، لغزش، تدارکات و چرخه ها مشاهده کرد. مهم است که در میان خانواده های تمام این حملات، کسانی هستند که اجازه می دهند رمزنگاری GOST بدون هیچ گونه بازتاب و بدون هیچ گونه متقارن که در محاسبات ظاهر می شوند، وجود دارد. یک مثال، حمله ساده هک کردن GOST بدون بازتاب در این کار است.

Cryptanalysis جبری و حملات با پیچیدگی کوچک داده ها در مورد CiFFers با تعداد کاهش یافته از دور

حملات جبری به بلوک های بلوک و جریان سیگنال می تواند به عنوان یک مشکل حل یک سیستم بزرگ از معادلات جبری بولین، که به دنبال هندسه و ساختار یک طرح رمزنگاری خصوصی است، نشان داده شود. ایده خود را به شانون می رساند. در عمل، آن را برای DES (برای اولین بار معرفی شده توسط نویسنده این کار) به عنوان یک روش برنامه نویسی رسمی ارائه شده است و می تواند 6 دور در فقط یک متن شناخته شده در فضای باز. دستکاری با معادلات بر اساس الگوریتم های XL، پایگاه های Greobner، روش ElimLin، SAT Solvers رخ می دهد.

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

چگونه به هک گاست؟

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

نتیجه عملی هنوز هم متوسط \u200b\u200bاست: 2 ^ 64 متن باز شده و 2 ^ 64 حافظه برای ذخیره جفت "باز متن / متن رمزنگاری" به شما اجازه می دهد تا GOST را در 2 ^ 8 سریع تر از انفجار ساده بکشید. اما از لحاظ کریپتانالیز، این بیانیه کاملا عادلانه را بیان می کند که "GOST Hacked" است.

نتیجه گیری

GOST طراحی شده برای اطمینان از امنیت نظامی برای 200 سال. اکثر کارشناسان پیشرو که GOST را مطالعه کردند، به توافق رسیدند که "علیرغم تلاش های مهم کریپتانیالیستی برای 20 سال، GOST هنوز هک نشده است." در سال 2010، GOST به ISO 18033 به عنوان یک استاندارد رمزگذاری جهانی ارتقا یافته است.

اساس ایده های مربوط به کریپتانالیز جبری بیش از 60 سال پیش بوجود آمد. اما تنها در طی 10 سال گذشته، راه حل های موثر نرم افزار (جزئی) برای حل مشکلات چندگانه NP توسعه یافته است. تعداد مشخصی از رمزهای جریان هک شده است. تنها یک رمز عبور از این روش هک شده است - به خودی خود ضعیف Keeloq. در این کار، نویسنده از دست دادن مهم، در واقع استفاده از GOST رمزنگاری است. او یادآور می شود که این اولین مورد در تاریخ است، زمانی که کریپتوآنالیز جبری توسط یک رمز استاندارد استاندارد هک شده است.

حمله ساده "MITM با بازتاب" در GOST در کنفرانس FSE 2011 ارائه شده است. در کار در این مقاله در نظر گرفته شده، یک حمله دیگر تنها برای نشان دادن واقعیت این است که تعداد حملات به GOST در حال حاضر ظاهر شده است، بسیاری از آنها که سریعتر است و خودش، حمله جبری خود نیاز به حافظه بسیار کمتر دارد و فضای تقریبا ناپایدار را برای یک حمله دشمن به روش های مختلف باز می کند. همچنین در این کار، عدم وجود نیاز به استفاده از اموال انعکاس برای هک کردن را نشان می دهد.

نویسنده ادعا می کند: واضح است که GOST دارای نقایص جدی است و اکنون سطح مقاومت مورد نیاز ISO را فراهم نمی کند. بسیاری از حملات به GOST به عنوان بخشی از تایید پارادایم کاهش پیچیدگی جبری ارائه شده است.

در نهایت، محقق به ویژه برخی از حقایق را که هنوز به خواننده در دسترس نیست یاد می گیرد، اما به محقق شناخته شده است، که در طول فرایند استاندارد سازی ISO مهم هستند. این حمله فقط یک حمله "صدور گواهینامه" به GOST نیست، که سریعتر از نیروی بی رحم است. در واقع، استاندارد سازی GOST در حال حاضر بسیار خطرناک و غیر مسئولانه است. این به این دلیل است که برخی از حملات ممکن است در عمل اجرا شود. برخی از کلیدهای GOST در عمل حتی می توانند رمزگشایی شوند، آیا آنها کلید های ضعیف یا کلیدهای از برنامه های واقعی GoSTI خصوصی هستند. در کار قبلی، نویسنده منجر به بررسی دقیق موارد حملات عملی می شود. همچنین مهم است که "این اولین مورد در تاریخ زمانی است که یک رمزنگاری کامل بلوک استاندارد شده است، ایجاد شده برای محافظت از اسرار سطح نظامی و در نظر گرفته شده برای محافظت از اسرار دولتی برای دولت، بانک های بزرگ و دیگر سازمان ها، توسط ریاضی هک شده است حمله. "

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

شرح الگوریتم

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

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

با مقدار Sub-Discblock N2 (علاوه بر این توسط ماژول انجام می شود)، سپس زیر بلوک ها در مکان ها تغییر می کنند. چنین تبدیل به تعداد مشخصی از دور ها: 16 یا 32، بسته به نوع عملیات الگوریتم (شرح داده شده در زیر) انجام می شود. عملیات زیر در هر دور انجام می شود:

1. ورود به کلید محتویات زیر دیسک Discblock / Vi در ماژول 2 32 با بخشی از کلید KX.

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

STI ATI، AG2، Yu، AG4، K5، KB، K7.

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

شکل. 3.1 طرح الگوریتم GOST 28147-

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

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

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

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

اجازه دهید بلوک 4 بیتی "0100" به ورودی آمد، I.E. مقدار 4. بر اساس جدول، مقدار خروجی 15، I.E. "1111" (0 جایگزین 4، 1 - 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 حالت عملیاتی است:

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

□ حالت HAMING؛

n حالت بازخورد گامینگ؛

□ حالت توسعه تماس های پرواز.

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

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

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

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

□ KO، KL، K2، KZ، K4، K5، KB، AG7، KO، ATI، و غیره - در دور از 1 به 24th؛

□ K1، KB، K5، K4، KZ، K2، K \\، KO -B دور از 25 تا 32.

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

□ KO، K \\، K2، KZ، K4، K5، KB، KP - در دور از 1 تا 8th؛

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

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

حالت هامنگ

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

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

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

3. محتویات N1 در ماژول (22 - 1) با یک ثابت CI \u003d 2 24 + 2 16 + 2 8 + 4، نتیجه افزودن در ثبت نام / VI ثبت شده است.

4. محتویات N2 در ماژول 2 با یک ثابت C2 \u003d 2 24 + 2 16 + 2 8 +1 توسعه می یابد، نتیجه افزودن به ثبت نام N2 نوشته شده است.

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

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

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

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

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

بازخورد Haming Mode

در حالت بازخورد Gamming به عنوان پر کردن registers / vi و l / 2، از بلوک دوم، یک بلوک قبلی از گاما استفاده می شود، و نتیجه رمزگذاری بلوک قبلی متن باز استفاده می شود (شکل 3.4) . اولین بلوک در این حالت توسط قبلا مشابه مشابه قبلی تولید می شود.

شکل. 3.4. توسعه یک رمز گشایی گاما در حالت گامی بازخورد

حالت توسعه iMithods

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

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

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

2. نتیجه به دست آمده توسط ماژول 2 با بلوک زیر اطلاعات جمع آوری شده است در حالی که حفظ نتیجه در N1 و N2.

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

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

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

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

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

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

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

SimPristenger برخی از آنالوگ کد تأیید پیام MAC است که در حالت CSA محاسبه می شود؛ تفاوت این است که هنگام محاسبه ساده سازی، Syncopier استفاده نمی شود، در حالی که بردار اولیه سازی هنگام محاسبه مک استفاده می شود.

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

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

□ طول کلید بزرگ - 256 بیت؛ همراه با syncopionel راز، طول کلید موثر به 320 بیت افزایش می یابد؛

□ 32 دور تبدیل؛ در حال حاضر پس از 8 دور، اثر کامل پراکندگی داده های ورودی به دست می آید: تغییر در یک بیت از بلوک متن باز بر تمام بیت های بلوک رمزنگاری تاثیر می گذارد و برعکس، I.E. یک منبع ذخیره چندگانه وجود دارد.

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

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

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

□ حملات با استفاده از هر دو الگوریتم Cryptanalysis خطی و دیفرانسیل از ویژگی های خاص جداول جایگزینی استفاده می کنند؛ هنگام استفاده از جداول Cryptanalyss دیگر باید ابتدا شروع شود؛

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

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

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

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

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

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

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

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

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

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

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

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

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

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

در سال 2004، گروهی از متخصصان کره، یک حمله ای را پیشنهاد کردند که از استفاده از کریپتوآنالیز دیفرانسیل در کلید های مرتبط می توان با احتمال 91.7٪ 12 بیت از کلید مخفی به دست آورد. برای حمله شما نیاز به 2 35 متون باز انتخاب شده و 2 36 عملیات رمزگذاری. همانطور که دیده می شود، این حمله عملا برای کالبد شکافی واقعی الگوریتم عملا بی فایده است.

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

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

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

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

روش جبری

استدلال کنجکاوی در حدود دو طبقه از روش های کریپتالیز ساخته شده است: روش های جبری و دیفرانسیل. کلاس اول روش را در نظر بگیرید.

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

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

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

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

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

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

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

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

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

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

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

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

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

حمله Isoba و Dinura-Dankelman-Shamir

ایده کلی Isoba () و Dinura-Dankelman-Shamir (به این ترتیب: حمله DDSH) () ساخت یک مجموعه خاص (وابسته به کلید) یک مجموعه باریک از متون باز معادل این مجموعه ای از تحول است که بیشتر است ساده تر از تبدیل رمزگذاری خود، ساختار. در مورد روش ISOOB، این مجموعه ای از این بلوک های 64 بیتی X است که F 8 -1 (SWAP (F 8 (Z))) \u003d Z، جایی که Z \u003d f 16 (x)، از طریق F 8 ( X) و F 16 (X) 8 و اولین دوره 16 رمزنگاری GOST 28147-89 به ترتیب از طریق مبادله - مبادله صندلی های 64 بایت نشان داده شده است. هنگامی که متن باز به این موضوع می رسد، این مجموعه از کل 32 دور تبدیل GOST 28147-89 هماهنگ با نتیجه 16 دور، که توسط نویسنده حمله عمل می کند. در مورد روش DDS، این مجموعه ای از این X است که F 8 (X) \u003d X (نقطه تبدیل ثابت F 8). برای تمام متن باز، GOST 28147-89 تبدیل دقیقا همانند 8 دور آخر خود کار می کند که تجزیه و تحلیل را ساده می کند.

پیچیدگی حملات Atobe 2،224 عملیات رمزگذاری، حملات DDSH - 2 192 است. با این حال، تمام سوالات در مورد اینکه آیا حملات ایزوب و DSH محدودیت های جدیدی را در شرایط استفاده از الگوریتم ما ایجاد می کند، ارزیابی نیازهای مادی مورد نیاز برای هر یک از حملات را حذف می کند: برای روش ISOB، 22 جفت باز و باز متون رمزگذاری شده مورد نیاز است، و برای روش DDSH - 2 64. پردازش چنین حجم مواد بدون تغییر کلید، پیش فرض غیر قابل قبول برای هر رمزنگاری بلوک با طول بلوک 64: بر روی ماده 22، با توجه به هدف از وظایف تولد (به عنوان مثال، به عنوان مثال)، نزدیک به 1 / 2 احتمال بلوک های تکراری، که باعث کاهش اختلال می شود، توانایی انجام متون رمزگذاری شده برخی از نتیجه گیری در مورد متون باز بدون تعریف کلیدی است. حضور 2،64 جفت متون باز و رمزگذاری شده به دست آمده در یک ورید، در واقع اجازه می دهد تا دشمن عملیات رمزگذاری و رمزگشایی را بدون دانستن این کلید انجام دهد. این به دلیل مالکیت صرفا ترکیبی است: حریف در این مورد دارای کل جدول تبدیل رمزگذاری است. چنین وضعیتی تحت هر الزامات عملیاتی معقول کاملا نامعتبر است. به عنوان مثال، در CSP Cryptopro، محدودیت فنی در حجم رمز (بدون تبدیل کلیدی) یک ماده 4 مگابایت وجود دارد (نگاه کنید به). بنابراین، ممنوعیت دقیق استفاده از کلید بر روی مواد این حجم در هر رمزنگاری بلوک با طول بلوک 64 از بیت ذاتی است، و در نتیجه، حملات منبع و DDS به هیچ وجه استفاده از GOST را محدود نمی کند الگوریتم 28147-89 در حالی که حداکثر دوام ممکن را 2 256 حفظ می کند.

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

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

توجه داشته باشید که سهل انگاری خاص در برآوردهای میانگین شدت کار نیز در کار Dinur، Dankelman و Shamir وجود دارد. بنابراین، هنگام ساخت یک حمله به لحظه بعدی توجه نمی شود: برای سهم قابل توجهی از کلیدها، بسیاری از متون باز X، به طوری که f 8 (x) \u003d x، خالی است: هنوز در 8 دور تبدیل می شود ممکن است به سادگی بودن. وجود نقاط ثابت نیز بستگی به انتخاب گره های جایگزینی دارد. بنابراین، حمله تنها با گره ها و کلیدهای جایگزینی خاص قابل استفاده است.

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

حملات نشان می دهد که نقض کننده "چیزی" را درباره کلیدها می داند

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

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

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

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

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

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

الگوریتم رمزگذاری GOST 28147-89، استفاده از آن و پیاده سازی نرم افزار برای رایانه های پلت فرم اینتل X86.


آندره Vinokurov

شرح الگوریتم.

شرایط و مقررات

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

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

عناصر داده ها در این مقاله با حروف بزرگ لاتین با نقاشی شیب دار نشان داده شده است (به عنوان مثال، ایکس.) از طریق | ایکس.| اندازه عنصر داده را نشان می دهد ایکس. در بیت بنابراین، اگر شما آیتم داده را تفسیر کنید ایکس.به عنوان یک کل غیر منفی تعداد، شما می توانید نابرابری زیر را ضبط کنید:

اگر آیتم داده ها شامل چندین عنصر کوچکتر باشد، این واقعیت به شرح زیر است: ایکس.=(ایکس. 0 ,ایکس. 1 ,…,x n. –1)=ایکس. 0 ||ایکس. 1 ||…||x n. -On روش ترکیب چندین عنصر داده به یک نامیده می شود تعارض داده ها را نشان می دهد و نماد "||" را نشان می دهد. به طور طبیعی، نسبت زیر باید برای اندازه های داده های داده ها انجام شود: | ایکس.|=|ایکس. 0 |+|ایکس. 1 |+…+|x n. -1 | هنگام مشخص کردن عناصر داده پیچیده و عملیات پیوند، اجزای عناصر داده به ترتیب صعودی از ارشد ذکر شده است. به عبارت دیگر، اگر شما عنصر کامپوزیت را تفسیر کنید و تمام عناصر داده موجود در آن به عنوان عدد صحیح بدون علامت، شما می توانید برابری زیر را ضبط کنید:

در الگوریتم، عنصر داده را می توان به عنوان مجموعه ای از بیت های فردی تفسیر کرد، در این مورد بیتز همان نامه را به عنوان یک آرایه نشان می دهد، اما در حروف کوچک، همانطور که در مثال زیر نشان داده شده است:

ایکس.=(ایکس. 0 ,ایکس. 1 ,…,x n. –1)=ایکس. 0 +2 1 · ایکس. 1 +…+2 n.-On · x n. –1 .

بنابراین، اگر شما به Gost توجه کردید به اصطلاح به تصویب رسید. "Little-Endian" شماره تخلیه، I.E. در داخل کلمات چند رقمی از این، تخلیه دودویی فردی و گروه های آنها با تعداد کمی کمتر قابل توجه است. این به بند 1.3 استاندارد اشاره شده است: "هنگام افزودن و تغییر چرخه بردارهای باینری با تخلیه های قدیمی تر، تخلیه درایو ها با تعداد زیادی در نظر گرفته می شود." علاوه بر این، اقلام استاندارد 1.4، 2.1.1 و دیگران تجویز می کنند شروع به پر کردن ثبت ثبت ثبت ذخیره سازی یک دستگاه رمزنگاری مجازی با جوانتر، I.E. تخلیه کمتر قابل توجه است. دقیقا همان روش شماره گذاری در معماری ریزپردازنده اینتل X86 پذیرفته شده است، به همین دلیل، با اجرای نرم افزار رمزگذاری این معماری، هیچ جایگزینی اضافی از تخلیه در داده های کلمه وجود ندارد.

اگر یک عملیات خاص که معنای منطقی دارد، بالاتر از عناصر داده انجام می شود، فرض می شود که این عملیات بالاتر از بیت های مربوطه عناصر انجام می شود. به عبارت دیگر آ. ب=(آ. 0 ب 0 ,آ. 1 ب 1 ,…,یک N. –1 ب N. -1) کجا n.=|آ.|=|ب|، و نماد "" توسط یک عملیات منطقی دوتایی دلخواه نشان داده شده است؛ به عنوان یک قاعده، به عملیات اشاره دارد به غیر از ، این نیز یک عملیات جمع بندی 2 است:

منطق ساخت رمز و ساختار اطلاعات کلیدی GOST.

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

  • رمزگذاری چرخه (32 ثانیه)؛
  • چرخه رمزگشایی (32-P)؛
  • چرخه توسعه imitancy (16-S).

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

بنابراین، برای کشف مهمان، شما باید چیزهای زیر را درک کنید:

  • چی گام اصلی تشکیل Cryptoprera؛
  • همانطور که مراحل اولیه چرخه های اساسی هستند؛
  • مثل سه چرخه های پایه تمام الگوریتم های GOST عملی تخصصی هستند.

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

گام اصلی Cryptocremia.

گام اصلی Cryptocreen به طور ذاتی اپراتور تعیین کننده تبدیل یک بلوک داده 64 بیتی است. پارامتر اضافی این اپراتور یک واحد 32 بیتی است که توسط هر عنصر کلیدی استفاده می شود. طرح الگوریتم گام اصلی در شکل 1 نشان داده شده است.


شکل 1 طرح گام اصلی الگوریتم سازند کریپتوپرا GOST 28147-89.

در زیر به الگوریتم گام اصلی توضیح داده شده است:

مرحله 0

  • n. - بلوک داده های 64 بیتی تبدیل شده، در طول اجرای مرحله ی کوچکتر آن ( n. 1) و بزرگترین ( n. 2) قطعات به صورت صحیح 32 بیتی جداگانه بدون علامت پردازش می شوند. بنابراین شما می توانید ضبط کنید n \u003d(n. 1 ,n. 2).
  • ایکس. - عنصر کلیدی 32 بیتی؛

مرحله 1

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

گام 2.

جایگزینی پچ مقدار 32 بیتی به دست آمده در مرحله قبلی به عنوان یک آرایه از هشت بلوک کد 4 بیتی تفسیر می شود: s \u003d.(S. 0 , S. 1 , S. 2 , S. 3 , S. 4 , S. 5 , S. 6 , S. 7) و S. 0 شامل 4 جوان ترین و S. 7 - 4 بالاترین بیت S..

بعد، ارزش هر یک از هشت بلوک جایگزین جدید است که توسط جدول جایگزین به شرح زیر انتخاب شده است: مقدار بلوک S I.تغییر در S I.- به منظور مورد (شماره از ابتدا) من.گره جایگزینی (به عنوان مثال من.- ردیف جدول جایگزینی، شماره گیری از صفر). به عبارت دیگر، آن را به عنوان جایگزینی برای مقدار بلوک واحد از خط شماره جایگزینی انتخاب شده است، برابر با تعداد بلوک جایگزین، و تعداد ستون برابر با مقدار بلوک جایگزین به عنوان 4 تعداد عدد صحیح عدد صحیح عدد صحیح. از اینجا اندازه جدول جایگزینی را روشن می کند: تعداد ردیف ها در آن برابر با تعداد عناصر 4 بیتی در یک بلوک داده 32 بیتی است، یعنی هشت، و تعداد ستون ها برابر است تعداد مقادیر مختلف بلوک داده 4 بیتی برابر با 2 4، شانزده شده است.

مرحله 3

تغییر چرخه ای توسط 11 بیت باقی مانده است. نتیجه گام قبلی به صورت چرخه به 11 بیت در جهت تخلیه سطح بالا تغییر می کند و به مرحله بعدی منتقل می شود. نمودار نماد الگوریتم نشان دهنده عملکرد تغییر چرخه ای از استدلال آن توسط 11 بیت به سمت چپ، I.E. در جهت تخلیه ارشد.

مرحله 4

علاوه بر بطری: مقدار به دست آمده در مرحله 3 توسط ماژول 2 با یک نیمه ارشد واحد تبدیل شده مسدود شده است.

مرحله 5

تغییر زنجیره ای: جوانترین بخش بلوک تبدیل شده به محل بزرگتر منتقل می شود و نتیجه گام قبلی در جای خود قرار دارد.

مرحله 6

مقدار به دست آمده از بلوک تبدیل شده به عنوان نتیجه اجرای الگوریتم گام اصلی کریپتکمی بازگشته است.

چرخه تحولات رمزنگاری پایه.

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

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

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

رمزگذاری چرخه 32-S:

K. 0 ,K. 1 ,K. 2 ,K. 3 ,K. 4 ,K. 5 ,K. 6 ,K. 7 ,K. 0 ,K. 1 ,K. 2 ,K. 3 ,K. 4 ,K. 5 ,K. 6 ,K. 7 ,K. 0 ,K. 1 ,K. 2 ,K. 3 ,K. 4 ,K. 5 ,K. 6 ,K. 7 ,K. 7 ,K. 6 ,K. 5 ,K. 4 ,K. 3 ,K. 2 ,K. 1 ,K. 0 .


شکل 2a مدار چرخه 32-S

چرخه رمزگشایی 32-P:

K. 0 ,K. 1 ,K. 2 ,K. 3 ,K. 4 ,K. 5 ,K. 6 ,K. 7 ,K. 7 ,K. 6 ,K. 5 ,K. 4 ,K. 3 ,K. 2 ,K. 1 ,K. 0 ,K. 7 ,K. 6 ,K. 5 ,K. 4 ,K. 3 ,K. 2 ,K. 1 ,K. 0 ,K. 7 ,K. 6 ,K. 5 ,K. 4 ,K. 3 ,K. 2 ,K. 1 ,K. 0 .


شکل 2b رمزگشایی چرخه نمودار 32-P

چرخه توسعه imitancy از 16-S:

K. 0 ,K. 1 ,K. 2 ,K. 3 ,K. 4 ,K. 5 ,K. 6 ,K. 7 ,K. 0 ,K. 1 ,K. 2 ,K. 3 ,K. 4 ,K. 5 ,K. 6 ,K. 7 .


شکل 2b طرح چرخه توسعه imitancy از 16 ثانیه.

هر یک از چرخه ها دارای تعیین الفبایی خود است که مربوط به الگو است " n-x "جایی که اولین عنصر تعیین ( n.) تعداد تکرار گام اصلی در چرخه را تعیین می کند و عنصر دوم تعیین ( ایکس.)، نامه، سفارش رمزگذاری ("S") یا رمزگشایی ("P") را برای استفاده از عناصر کلیدی تنظیم می کند. این سفارش نیاز به توضیح اضافی دارد:

چرخه رمزگشایی باید یک چرخه رمزنگاری معکوس باشد، یعنی استفاده متوالی از این دو دوره به یک بلوک دلخواه باید به عنوان یک نتیجه از بلوک اولیه باشد، که در نسبت زیر منعکس می شود: C. 32-P ( C. 32 T.))\u003d T.جایی که T.- بلوک داده های خودسرانه 64 بیتی، C. ایکس ( T.) - نتیجه اجرای چرخه ایکس. بالاتر از بلوک داده T.. برای انجام این شرایط برای الگوریتم های شبیه به GOST، لازم است که سفارش استفاده از عناصر کلیدی توسط چرخه های مربوطه به طور متقابل معکوس بود. در عدالت شرایط ثبت شده برای مورد مورد بررسی، آسان است تا اطمینان حاصل شود که مقایسه توالی های فوق برای چرخه های 32-S و 32-P. یک نتیجه جالبی از بالا ذکر شده است: ویژگی چرخه چرخه دیگر معکوس، متقابل است، یعنی چرخه 32-S با توجه به چرخه 32-P معکوس است. به عبارت دیگر، رمزگذاری بلوک داده می تواند از لحاظ نظری با استفاده از چرخه رمزگشایی انجام شود، در این مورد، رمزگشایی بلوک داده ها باید توسط چرخه رمزگذاری انجام شود. از دو دوره دو طرفه معکوس، هر کسی می تواند برای رمزگذاری استفاده شود، سپس دوم باید برای رمزگشایی داده ها استفاده شود، اما GOST28147-89 استاندارد، نقش های پشت چرخه را رفع می کند و کاربر را با حق انتخاب در این زمینه ارائه نمی دهد .

چرخه در حال توسعه Imitavar دو برابر چرخه های رمزگذاری است، منظور استفاده از عناصر کلیدی در آن همانند 16 مرحله اول چرخه رمزگذاری است که برای تأیید، با توجه به توالی های فوق، دشوار نیست، بنابراین این سفارش در تعیین چرخه توسط همان نامه "S" کدگذاری شده است.

طرح های چرخه های اولیه در شکل 2A-B نشان داده شده است. هر یک از آنها به عنوان یک استدلال پذیرفته می شوند و یک بلوک داده 64 بیتی را به عنوان یک نتیجه نشان می دهد که در نمودارها نشان داده شده است. n.. گام نماد ( n.,ایکس.) نشان می دهد اجرای گام اصلی تشکیل کریپتوپرارا برای بلوک داده n. با استفاده از یک عنصر کلیدی ایکس.. یکی دیگر از تفاوت های بین رمزگذاری و محاسبه چرخه ها وجود دارد که در بالا ذکر نشده است: در پایان دوره های رمزنگاری پایه، مسن تر و جوانترین قسمت از بلوک نتیجه، مکان های تغییر مکان، لازم است که برای برگشت پذیری متقابل آنها ضروری باشد.

حالت های رمزنگاری اصلی.

GOST 28147-89 سه حالت رمزنگاری داده زیر را فراهم می کند:

  • جایگزینی ساده
  • گامی
  • بازخورد گامینگ،

و یک حالت اضافی تولید تقلید.

در هر یک از این حالت ها، داده ها توسط 64 بلوک بیت پردازش می شوند که توسط یک آرایه تحت تغییر رمزنگاری تقسیم می شود، به همین دلیل است که GOST به بلوک های رمزگذاری اشاره می کند. با این حال، در دو حالت Gammmation، ممکن است یک بلوک ناقص از اندازه داده کمتر از 8 بایت را پردازش کنید، که در هنگام رمزگذاری آرایه های داده ها با اندازه دلخواه ضروری است، که ممکن است چند بایت داشته باشد.

قبل از ادامه به بررسی الگوریتم های تبدیل رمزنگاری خاص، لازم است توضیحات تعیین شده در نمودارها در بخش های زیر توضیح دهید:

T. در باره، T. W - آرایه ها به ترتیب داده های باز و رمزگذاری شده؛

, – من.به ترتیب بلوک های 64 بیتی به ترتیب داده های باز و رمزگذاری شده: , آخرین بلوک ممکن است ناقص باشد:

n. - تعداد بلوک های 64 بیتی در آرایه داده؛

C. X عملکرد تبدیل یک بلوک داده 64 بیتی برای الگوریتم چرخه پایه "X" است.

حالا ما حالت های رمزنگاری اصلی را توصیف می کنیم:

جایگزینی ساده

رمزگذاری در این حالت استفاده از چرخه 32-S به بلوک های داده باز، رمزگشایی - چرخه 32 پیک به بلوک داده های رمز شده است. این ساده ترین حالت هاست، بلوک های داده 64 بیتی در آن به طور مستقل از یکدیگر پردازش می شوند. طرح های الگوریتم های رمزنگاری و رمزگشایی در حالت جایگزینی ساده در شکل 3A و B نشان داده شده است، آنها بی اهمیت هستند و به نظرات نیاز ندارند.


تصویر 3a الگوریتم رمزگذاری داده ها در حالت جایگزینی ساده


تصویر 3b. الگوریتم رمزگشایی داده ها در حالت جایگزینی ساده

اندازه مجموعه ای از داده های باز یا رمزگذاری شده تحت تأثیر رمزگذاری یا رمزگشایی باید Katten 64 بیت باشد: | T. درباره | \u003d | T. w | \u003d 64 · n. پس از انجام عملیات، اندازه آرایه داده های حاصل شده تغییر نمی کند.

حالت رمزگذاری ساده است جایگزینی ساده دارای ویژگی های زیر است:

  • از آنجا که بلوک های داده به طور مستقل از یکدیگر رمزگذاری می شوند و از موقعیت خود در آرایه داده ها رمزگذاری می شوند، زمانی که دو بلوک متن باز یکسان رمزگذاری می شوند، همان بلوک های رمزنگاری به دست آمده و بالعکس. اموال مشخص به Cryptoanalitics اجازه می دهد تا نتیجه گیری در مورد هویت بلوک داده های منبع، اگر در مجموعه ای از داده های رمزگذاری شده، آن را با بلوک های یکسان ملاقات کرد، که برای یک رمز جدید نامعتبر است.
  • اگر طول آرایه داده رمزگذاری شده متعدد 8 بایت یا 64 بیت نیست، مشکل اتفاق می افتد و نحوه تکمیل آخرین بلوک داده ناقص آرایه به 64 بیت کامل. این کار خیلی ساده نیست، همانطور که در نگاه اول به نظر می رسد. راه حل های واضح مانند "اضافه کردن یک بلوک ناقص با صفر بیت" یا به طور کلی، "اضافه کردن یک بلوک ناقص از یک ترکیب ثابت از بیت های صفر و واحد" می تواند به دست کریپتالیالیت ها امکان استفاده از روش های تعاملی برای تعیین محتویات داده شود این بلوک ناقص، و این واقعیت به معنای کاهش سطح مقاومت است. علاوه بر این، طول متن رمزنگاری تغییر خواهد کرد، با افزایش به نزدیکترین کل، چند تا 64 بیت، که اغلب نامطلوب است.

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

هامنگ

چگونه می توان از کمبودهای یک حالت جایگزینی ساده خلاص شوید؟ برای انجام این کار، لازم است که بلوک ها را با اندازه کمتر از 64 بیت رمزگذاری کنیم و اطمینان از وابستگی بلوک رمزنگاری از تعداد آن، به عبارت دیگر، تصادفی کردن فرآیند رمزگذاری در مهمان، این در دو روش مختلف در دو حالت رمزگذاری شامل می شود هامنگ . هامنگ - این یک پوشش (حذف) برای باز کردن (رمزگذاری شده) داده های محدوده رمزنگاری است، یعنی توالی عناصر داده تولید شده با استفاده از یک الگوریتم رمزنگاری خاص برای به دست آوردن داده های رمزگذاری شده (باز). برای پیاده سازی گاما در هنگام رمزگذاری و از بین بردن آن، باید عملیات باینری را به طور متقابل معکوس کنید، به عنوان مثال، اضافه کردن و تفریق ماژول 2 64 برای بلوک های داده 64 بیتی استفاده می شود. در روده، برای این منظور، بهره برداری از افزودن ضربان از ماژول 2 استفاده می شود، از آنجا که پشت خود است و علاوه بر این، به سادگی توسط سخت افزار اجرا می شود. Hamming هر دو مشکل را حل می کند: اول، تمام عناصر گاما برای آرایه های واقعی رمزگذاری شده متفاوت هستند و بنابراین نتیجه رمزگذاری حتی دو بلوک یکسان در یک آرایه از داده ها متفاوت خواهد بود. ثانیا، اگر چه عناصر گاما و توسط بخش های مشابه 64 بیت تولید می شوند، بخشی از این بلوک با اندازه برابر با اندازه بلوک رمزگذاری شده می تواند مورد استفاده قرار گیرد.

ما اکنون به طور مستقیم به شرح محدوده گامینگ تبدیل می شویم. گاما برای این حالت به شرح زیر است: با یک ژنراتور مکرر الگوریتمی خاص از دنباله ای از اعداد (RGPH)، بلوک های داده 64 بیتی تولید می شوند، که بیشتر توسط یک چرخه 32 ثانیه تبدیل می شود، یعنی رمزگذاری در یک حالت جایگزینی ساده، نتیجه بلوک های گاما به دست می آید. با توجه به این واقعیت که اعمال و حذف گاما با استفاده از همان عملیات منحصر به فرد مورد ضرب و شتم انجام می شود یا الگوریتم های رمزگذاری و رمزگشایی در حالت تصویربرداری GAMM یکسان هستند، طرح کلی آنها در شکل 4 نشان داده شده است.

RGPH برای تولید گاما استفاده می شود یک تابع مکرر است: - عناصر توالی مجدد f. - عملکرد تبدیل بنابراین، سوال ابتدای اولیه آن، ناگزیر بوجود می آید، یعنی در مورد عنصر در واقعیت، این عنصر داده پارامتر الگوریتم برای حالت های گامنگ است، در نمودارها نشان داده شده است S.و رمزنگاری نامیده می شود syncopusil ، و در مهمان ما - پر کردن اولیه یکی از ثبت های رمزنگاری. به دلایل خاص، توسعه دهندگان GOST تصمیم به استفاده از RGPH برای راه اندازی مستقیما به طور مستقیم syncoPower، اما نتیجه تبدیل آن در طول چرخه 32-S: . دنباله ای از عناصر تولید شده توسط RGPH به طور کامل وابسته به پر کردن اولیه آن است، یعنی عناصر این دنباله، عملکرد تعداد آن و پر کردن اولیه RGPH است: جایی که f I.(ایکس.)=f.(f I. –1 (ایکس.)), f. 0 (ایکس.)=ایکس.. با توجه به تغییرات با توجه به الگوریتم جایگزینی ساده، وابستگی کلیدی اضافه شده است:

جایی که g I.من.یک عنصر گاما K. - کلید

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

در حال حاضر RGPH را به طور دقیق مورد استفاده در مهمان برای تولید عناصر گاما در نظر بگیرید. اول از همه، لازم به ذکر است که الزامات لازم برای اطمینان از هر گونه ویژگی های آماری توالی تولید شده توسط دنباله را نشان نمی دهد. RGPH توسط توسعه دهندگان GOST بر اساس نیاز به انجام شرایط زیر طراحی شده است:

  • دوره تکرار دنباله ای از اعداد تولید شده توسط RGPH نباید به شدت (در درصد درصد) متفاوت از حداکثر مقدار ممکن از مقدار 2 64 به عنوان مشخص شده متفاوت است
  • مقادیر همسایه تولید شده توسط RGPH باید در هر پیت از یکدیگر متفاوت باشد، در غیر این صورت کار Criptanalytics ساده خواهد بود؛
  • RGPH باید به سادگی به طور کامل سخت افزار و نرم افزار را بر روی رایج ترین انواع پردازنده ها اجرا کند، که اکثر آنها شناخته شده اند تا کمی از 32 بیت داشته باشند.

بر اساس اصول ذکر شده، سازندگان GOST یک RGPH بسیار موفق را طراحی کرده اند که دارای ویژگی های زیر است:

جایی که C. 0 =1010101 16 ;

جایی که C. 1 =1010104 16 ;

شاخص پایین تر در تعداد اعداد به معنای سیستم شماره آن است، بنابراین ثابت های مورد استفاده در این مرحله در یک سیستم 16 ریال ثبت می شوند.

بیان دوم نیاز به نظرات دارد، همانطور که در متن GOST، چیز دیگری داده می شود :، با همان مقدار ثابت C. یکی اما بیشتر در متن استاندارد یک نظر داده می شود، که به نظر می رسد تحت عمل باقی مانده از ماژول 2 32 -1 آنجا این قابل درک نیست همانند در ریاضیات. تفاوت این است که با توجه به GOST (2 32 -1) مد(2 32 -1) \u003d (2 32 -1)، و نه 0. در حقیقت، اجرای فرمول را ساده می کند، و بیان ریاضی صحیح برای آن در بالا ذکر شده است.

  • دوره توالی تکراری برای بخش جوانتر 22 32 است، برای بخش 2 32 -1 مسن تر، برای کل دنباله، دوره 22 32 (2 32 -1) است، اثبات این واقعیت بسیار ساده است، خود را دریافت کنید. اولین فرمول دوم برای یک تیم، دوم، به رغم ظاهری به نظر می رسد، برای دو دستورات در تمام پردازنده های 32 بیتی مدرن، اجرا می شود - اولین فرمان، افزودن معمول از ماژول 2 32 با حفظ بیت انتقال است و فرمان دوم، بیت انتقال را به مقدار نتیجه اضافه می کند.

طرح الگوریتم رمزگذاری در حالت گامینگ در شکل 4 نشان داده شده است، زیر به طرح توضیح داده شده است:


شکل 4 الگوریتم برای رمزگذاری (رمزگشایی) داده ها در محدوده آسیب.

مرحله 0

داده های منبع را برای مرحله اصلی کریپتکمی تعریف می کند:

  • T. o (W) - مجموعه ای از داده های خودسرانه باز (رمزگذاری شده)، تحت روش رمزگذاری (رمزگشایی)، در جریان این روش، آرایه به عنوان تبدیل 64 بیت در بخش ها تحت تاثیر قرار می گیرد؛
  • S. syncopyushka ، عنصر داده 64 بیتی مورد نیاز برای مقداردهی اولیه ژنراتور گاما؛

مرحله 1

تحول اولیه syncopyers انجام شده برای "تصادفی" آن، یعنی از بین بردن الگوهای آماری موجود در آن، نتیجه به عنوان پر کردن اولیه RGPH استفاده می شود؛

گام 2.

یک گام از کار RGPH، اجرای الگوریتم مکرر آن. در طول این مرحله، بزرگترین ( S. 1) و جوانتر ( S. 0) قطعات توالی داده به طور مستقل از یکدیگر تولید می شوند؛

مرحله 3

هامنگ عنصر 64 بیتی بعدی که توسط RGPH توسعه یافته است، در معرض روش رمزگذاری در چرخه 32-S قرار دارد، نتیجه به عنوان یک عنصر گاما برای رمزگذاری (رمزگشایی) بلوک بعدی داده های باز (رمزگذاری شده) از همان اندازه استفاده می شود .

مرحله 4

نتیجه عملیات الگوریتم یک آرایه داده رمزگذاری شده (رمزگشایی) است.

زیر ویژگی های Gamming به عنوان حالت رمزگذاری شده است:

  1. همان بلوک های موجود در آرایه باز از داده ها در هنگام رمزگذاری بلوک های مختلف Ciphertectic، که اجازه می دهد تا واقعیت هویت خود را پنهان کند.
  2. از آنجا که پوشش گاما پردازش می شود، رمزگذاری بلوک ناقص داده ها به عنوان رمزگذاری بیت های این بلوک ناقص آسان است، که بیت های مربوطه از بلوک گاما استفاده می شود. بنابراین، برای رمزگذاری یک بلوک ناقص در 1 بیت با توجه به استاندارد شما باید از جوان ترین بیت از بلوک گاما استفاده کنید.
  3. Syncocrust، هنگامی که رمزگذاری شده استفاده می شود، به نحوی باید برای استفاده در هنگام رمزگشایی منتقل شود. این را می توان به روش های زیر به دست آورد:
  • syncopyer را همراه با یک آرایه داده رمزگذاری شده ذخیره یا انتقال دهید، که منجر به افزایش اندازه آرایه داده ها می شود، زمانی که رمزگذاری شده بر روی اندازه syncopioneers، یعنی 8 بایت؛
  • از مقدار از پیش تعریف شده Sync-Drip استفاده کنید یا آن را همزمان با یک منبع و گیرنده در یک قانون خاص تولید کنید، در این مورد هیچ تغییری در اندازه آرایه داده های منتقل شده یا ذخیره شده وجود ندارد.

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

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

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

جایی که با توجه به معکوس معکوس می شود t. ارزش بیت ().

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

بازخورد گامینگ

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

نمودار الگوریتم ها برای و رمزگشایی در محدوده بازخورد در شکل 5 نشان داده شده است و به دلیل سادگی آن در نظرات نیازی نیست.


شکل 5. الگوریتم برای رمزگذاری (رمزگشایی) داده ها در حالت گامنگ بازخورد.

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

هامنگ؛

بازخورد گامینگ؛

اگر در طیف وسیعی از تغییرات در بیت های خاصی از رمزنگاری، تنها بیت های مربوطه متن باز را تحت تاثیر قرار می دهد، سپس در حالت Gamming با بازخورد، تصویر تا حدودی پیچیده تر است. همانطور که می توان از معادله مربوطه دیده می شود، هنگام رمزگشایی بلوک داده ها در حالت Gamming بازخورد، واحد داده باز بستگی به بلوک های مربوطه و قبلی داده های رمزگذاری شده دارد. بنابراین، اگر شما اعوجاج را به یک بلوک رمزگذاری شده، پس از رمزگشایی، دو بلوک داده باز، تحریف خواهد شد - مربوطه و بعد از آن خواهد بود، و اعوجاج در اولین مورد یک شخصیت مشابه در حالت Gamming خواهد بود ، و در مورد دوم - همانطور که در حالت تعویض ساده است. به عبارت دیگر، در واحد داده های مربوطه، بیت های مشابه به عنوان بلوک داده های رمز شده تحریف می شوند، و در بخش بعدی داده های باز، تمام بیت ها به طور مستقل از یکدیگر با احتمال 1 / 2 ارزش های خود را تغییر دهید.

توسعه imitancy به آرایه داده.

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

برای حل مشکل تشخیص اعوجاج در یک آرایه داده رمزگذاری شده با یک احتمال داده شده در GOST، یک حالت اضافی از تحول رمزنگاری ارائه شده است - تولید Imitava. ساده سازی یک ترکیب کنترل است که به داده های باز و اطلاعات کلیدی مخفی بستگی دارد. هدف از استفاده از Imitovka این است که تشخیص تمام تغییرات تصادفی یا عمدی در آرایه اطلاعات. مشکل مشخص شده در پاراگراف قبلی می تواند با اضافه کردن داده های Imitava رمزگذاری شده با موفقیت حل شود. برای یک مهاجم بالقوه، دو وظیفه زیر به طور غیرمستقیم حل نشده است اگر این کلید را نداشته باشد:

  • محاسبه Imitava برای یک آرایه باز داده شده از اطلاعات؛
  • انتخاب داده های باز برای imitava داده شده؛

طرح الگوریتم برای تولید ImitaWintage در شکل 6 نشان داده شده است.


شکل 6 الگوریتم تولید ایده آل برای آرایه داده ها.

بخشی از بلوک به دست آمده در خروجی به عنوان Imitava، معمولا 32 نفر از کمی کوچکتر آن است. هنگام انتخاب اندازه Imitava، لازم است توجه داشته باشید که احتمال تحمیل موفقیت آمیز داده های نادرست برابر با 2 - | من. | برای یک تلاش انتخاب، اگر یک مهاجم روش انتخاب کارآمدتر از حدس زدن ساده داشته باشد. هنگام استفاده از imitancy از 32 بیت در اندازه، این احتمال برابر است

بحث درباره الگوریتم های رمزنگاری GOST.

رمزنگاری مقاومت GOST است.

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

  • آیا این امکان را به طور کامل این رمز را نشان می دهد؛
  • اگر چنین است، چقدر سخت است که عملا انجام شود؛

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

تمام رمزنگاری های مدرن در اصل Kirchoff ساخته شده اند، یعنی، محرمانه بودن پیام های رمزگذاری شده توسط محرمانه کلید تعیین می شود. این به این معنی است که حتی اگر الگوریتم رمزنگاری خود را برای کریپتانالیت شناخته شده باشد، یکی، با این حال، قادر به رمزگشایی پیام نیست، اگر کلید مناسب را نداشته باشد. رمزنگاری به خوبی طراحی شده است اگر هیچ روش ای برای باز کردن آن به نحوی کارآمد تر از پر شدن در طول فضای کلیدی وجود ندارد، I.E. برای تمام کلیدهای ممکن. GOST احتمالا این اصل را برآورده می کند - در طول سال های تحقیق شدید، هیچ راهی موثر برای رمزنگاری آن پیشنهاد نشده است. از لحاظ استقامت، او بسیاری از دستورات بزرگی است که بیش از استاندارد رمزنگاری سابق آمریکا، DES است.

مهمان از کلید 256 بیتی استفاده می کند و حجم فضای کلیدی 2 256 است. هیچکدام از دستگاه های الکترونیکی فعلی یا تخمین زده شده در آینده نزدیک یا ادعا می کنند که دستگاه الکترونیکی نمی تواند در طول زمان کمتر از صد سال انتخاب شود. این مقدار استاندارد واقعی اندازه کلیدی برای cryptoalgorithms متقارن شده است "بنابراین، استاندارد جدید رمزگذاری ایالات متحده نیز از آن پشتیبانی می کند. استاندارد سابق آمریکایی، DES با اندازه واقعی خود را از 56 بیت و حجم فضای کلیدی تنها 2 56 است که دیگر با توجه به امکانات محاسبات مدرن کاملا پایدار نیست. این در اواخر دهه 90 توسط چندین تلاش موفقیت آمیز توسط هک کردن DES با پرداخت بیش از حد نشان داده شد. علاوه بر این، DES به روش های خاص برای رمزگشایی، مانند دیفرانسیل و خطی حساس بود. در این راستا، DES ممکن است به جای یک تحقیق یا علمی نسبت به منافع عملی باشد. در سال 1998، ضعف رمزنگاری او به طور رسمی به رسمیت شناخته شد، موسسه ملی استانداردهای ایالات متحده توصیه استفاده از رمزگذاری سه گانه در DES را توصیه کرد. و در پایان سال 2001، یک استاندارد رمزگذاری جدید ایالات متحده به طور رسمی تصویب شد، AES، ساخته شده بر روی اصول دیگر و آزاد از اشکالات سلف خود را.

یادداشت ها در معماری GOST.

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

الگوریتم "مراحل اولیه رمزنگاری" برای رمزگشایی مانند GOST، به شیوه ای مشابه ساخته شده است، و این معماری نامیده می شود شبکه آتش نشانی متعادل (شبکه متعادل Feistel) به نام یک فرد که برای اولین بار آن را ارائه داد. مدار تبدیل داده ها بر روی یک چرخه، و یا، چگونه به آن تماس بگیرید، دور نشان داده شده در شکل 7.


شکل 7. محتوای گام اصلی رمزنگاری برای بلوک های بلوک مانند GOST.

ورودی گام اصلی به یک بلوک حتی اندازه، نیمه مسن تر و جوانتر که به طور جداگانه از یکدیگر پردازش می شود، خدمت می کند. در طول تبدیل، نیمه جوانتر از بلوک در جای بزرگتر قرار می گیرد، و بزرگترین، همراه با عملیات شکسته " به غیر از »با نتیجه محاسبه برخی از عملکرد، در جای جوانتر. این ویژگی که یک استدلال را می گیرد، نیمه پایین بلوک و عنصر اطلاعات کلیدی است ( ایکس.) بخش معنی دار از رمز است و آن را نامیده می شود ویژگی رمزگذاری . به دلایل مختلف معلوم شد که سودمند برای تقسیم بلوک رمزگذاری شده به دو کاراکتر در اندازه: | n. 1 |=|n. 2 | - این واقعیت است که نشان دهنده کلمه "متعادل" در عنوان معماری است. با این حال، شبکه های نامتعادل رمزگذاری نیز از زمان به زمان استفاده می شود، اگر چه نه به عنوان اغلب به عنوان متعادل. علاوه بر این، سازگاری انسجام رمزنگاری مستلزم آن است که اندازه عنصر کلیدی کمتر از نیمی از بلوک نیست: در روده، هر سه اندازه 32 بیت هستند .

اگر به طرح گام اصلی الگوریتم GOST اعمال شود، واضح است که الگوریتم های 1،2،3 را مسدود می کند (نگاه کنید به شکل 1) تعیین محاسبه تابع رمزگذاری آن، و بلوک های 4 و 5 شکل گیری خروجی را تعیین می کند بلوک گام اصلی بر اساس محتویات واحد ورودی و توابع رمزگذاری. در جزئیات بیشتر در مورد معماری بلوک های بلوک مدرن با یک کلید مخفی، شما می توانید در کار کلاسیک، یا، در فرم اقتباس، در کار من بخوانید.

در بخش قبلی، ما در حال حاضر DES و GOST را با دوام مقایسه کرده ایم، اکنون ما آنها را در محتوای عملکردی و راحتی پیاده سازی مقایسه خواهیم کرد. در چرخه های رمزگذاری GOST، مرحله اصلی 32 بار تکرار می شود، برای DES، این مقدار 16 است. با این حال، عملکرد رمزگذاری GOST به طور قابل توجهی آسان تر برای عملکرد مشابه DES، که در آن بسیاری از permutation بیت بی نظمی وجود دارد. این عملیات بسیار ناکارآمد بر روی پردازنده های مدرن غیر تخصصی اجرا می شود. GOST چنین عملیاتی را شامل نمی شود، بنابراین برای اجرای نرم افزار بسیار راحت تر است.

هیچ یک از پروژه های اینتل X86 توسط نویسنده پیاده سازی برای پلت فرم اینتل X86، حتی نیمی از عملکرد پیشنهاد شده به توجه شما در این مقاله از اجرای GOST با وجود دو برابر کوتاه ترین چرخه، در نظر گرفته نشده است. تمام موارد فوق نشان می دهد که توسعه دهندگان GOST هر دو جنبه مثبت و منفی DESA را آموخته اند و امکانات فعلی و امیدوار کننده کریپتانوسالیز بیشتر درک شده است. با این حال، به عنوان پایه ای به عنوان مبنایی در مقایسه با عملکرد اجرای پیاده سازی ها دیگر مربوط نیست. استاندارد جدید رمزگذاری اروپایی در همان زمان بسیار بهتر است - با همان اندازه GOST کلید در 256 بیت، AES با استفاده از حدود 14٪ کار می کند - این باید با تعداد عملیات ابتدایی مقایسه شود. علاوه بر این، GOST عملا قادر به موازی نیست و AES این فرصت را در این زمینه بسیار بیشتر دارد. در برخی از معماری، این مزیت AES ممکن است کمتر بر روی دیگران باشد - بیشتر. بنابراین، در پردازنده اینتل پنتیوم 28٪ می رسد. جزئیات را می توان یافت.

الزامات کیفیت و منابع کلیدی.

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

پاسخ جامع به سوال از معیارهای کیفیت کلیدها و جداول Substrate GOST، اگر شما می توانید به تنهایی تنها، و سپس تنها توسعه دهندگان الگوریتم دریافت کنید. داده های مربوطه در چاپ باز منتشر نشد. با این حال، با توجه به روش ثابت، داده های کلیدی به دست آمده از یک سازمان مجاز باید برای رمزگذاری اطلاعات مربوط به سازمان حاشیه ای استفاده شود. به طور غیر مستقیم این ممکن است نشان دهنده حضور تکنیک های تأیید اطلاعات کلیدی برای "دوختن" باشد. اگر حضور کلیدهای ضعیف در مهمان یک سوال بحث باشد، پس از آن حضور گره های جایگزین ضعیف بدون شک است. بدیهی است، جدول جایگزینی "بی اهمیت"، بر اساس آن هر مقدار توسط خود جایگزین شده است، بسیار ضعیف است، زمانی که استفاده از آن، رمزنگاری از بیدار شدن از بیدار شدن، هر کدام از کلید.

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

کلید

کلید باید یک آرایه از بیت های مستقل مستقل باشد که باید برابر با احتمال ارزش 0 و 1 باشد. غیرممکن است که به طور کامل حذف شود که برخی از مقادیر کلیدی خاص ممکن است "ضعیف" باشد، یعنی رمزگذاری ممکن است ارائه شود سطح مشخصی از مقاومت در صورت استفاده از آنها. با این حال، احتمالا، نسبت چنین مقادیر در کل توده های کلی همه کلید های ممکن ناچیز است. حداقل مطالعات فشرده ای از رمزنگاری هنوز یک کلید واحد برای هر جداول جایگزین (I.E. FAPSI پیشنهاد شده) را نشان نداده است. بنابراین، کلیدهای تولید شده با استفاده از یک سنسور خاص از اعداد واقعا تصادفی، با احتمال اینکه از واحد به مقدار ناچیز متفاوت باشد، کیفی خواهد بود. اگر کلیدها با استفاده از یک ژنراتور عددی شبه تصادفی تولید شوند، ژنراتور مورد استفاده باید ویژگی های آماری فوق را ارائه دهد، و علاوه بر این، دارای مقاومت مرموز بالا، نه کمتر از خود GOST. به عبارت دیگر، وظیفه تعیین عضو غایب تولید شده توسط ژنراتور توالی عناصر نباید راحت تر از وظیفه باز کردن رمز باشد. علاوه بر این، معیارهای مختلف آماری را می توان برای رفع کلیدهای با ویژگی های آماری بد استفاده کرد. در عمل، دو معیار معمولا به اندازه کافی - برای بررسی توزیع صحیح از بیت های کلیدی بین مقادیر 0 و 1، معیار پیرسون ("Hee Square") معمولا استفاده می شود، و برای بررسی استقلال بیت های کلیدی، معیارهای سری. ما می توانیم در مورد معیارهای ذکر شده در کتاب های درسی یا کتاب های مرجع در آمار ریاضی بخوانیم.

بهترین روش برای توسعه کلیدها، استفاده از سنسورهای سخت افزاری MC خواهد بود، اما این همیشه برای ملاحظات اقتصادی قابل قبول نیست. هنگام تولید یک آرایه کوچک از اطلاعات کلیدی، یک جایگزین منطقی برای استفاده از چنین سنسور است و به طور گسترده ای در عمل روش "رولت الکترونیکی" استفاده می شود، زمانی که بخش تولید بعدی از بیت های تصادفی بستگی به زمان فشار دادن کلید اپراتور دارد در صفحه کلید کامپیوتر. در این طرح، منبع داده های تصادفی یک کاربر کامپیوتر است، دقیق تر - ویژگی های زمان واکنش آن است. در این مطبوعات، تنها چند بیت از داده های تصادفی را می توان در همان زمان توسعه داد، بنابراین سرعت کل اطلاعات کلیدی کوچک است - تا چند بیت در ثانیه. بدیهی است، این رویکرد برای آرایه های بزرگ کلیدها مناسب نیست.

در مورد زمانی که لازم است مقدار زیادی از اطلاعات کلیدی را انجام دهید، استفاده از سنسورهای نرم افزاری مختلف اعداد شبه تصادفی امکان پذیر است و بسیار گسترده است. از آنجا که رمزنگاری بالا وجود دارد، استفاده از رمز خود را به عنوان استفاده از طرح خود را به عنوان آن را به عنوان آن، به سادگی "برش" اندازه های تقسیم شده به "قطعات" از اندازه مورد نظر، برای GOST - 32 بایت . البته، برای این رویکرد، ما به "کلید اصلی" نیاز داریم، که ما می توانیم روش رولت الکترونیکی را که در بالا توضیح داده شده، به دست آوریم و با استفاده از رمز در حالت Gamma Generator، ما مجموعه ای از اطلاعات کلیدی مورد نیاز را بدست آوریم. بنابراین این دو راه برای توسعه کلیدها، "کتابچه راهنمای" و "الگوریتمی"، کار در کنار یکدیگر، تکمیل یکدیگر. طرح های نسل کلیدی در سیستم های رمزنگاری "کم بودجه" تقریبا همیشه در این اصل ساخته شده است.

جایگزینی جدول

جدول جایگزینی یک عنصر کلیدی بلند مدت است، یعنی این، آن را بیش از یک دوره بسیار طولانی تر از یک کلید جداگانه عمل می کند. فرض بر این است که برای تمام سایت های رمزنگاری در یک سیستم حفاظت رمزنگاری رایج است. حتی با نقض حریم خصوصی جدول، دوام رمزنگاری بسیار بالا باقی می ماند و کمتر از حد مجاز کاهش نمی یابد. بنابراین، نیاز خاصی به حفظ راز جدول وجود ندارد، و در اکثر برنامه های تجاری GOST این کار انجام می شود. از سوی دیگر، جدول جایگزینی یک عنصر حیاتی برای اطمینان از دوام کل رمز است. انتخاب یک جدول نادرست می تواند منجر به این واقعیت شود که رمز به راحتی توسط روش های شناخته شده کریپتوآنالیز باز می شود. معیارهای توسعه گره های جایگزین - رمز و راز برای هفت مهر و موم و Fapsi بعید است که آن را با یک عمومی در آینده قابل پیش بینی به اشتراک بگذارید. در نهایت، به منظور گفتن این که آیا این جدول خاص از جایگزینی خوب یا بد است، لازم است مقدار زیادی از کار را انجام دهید - هزاران نفر از مردم و ساعت ماشین. هنگامی که جدول انتخاب شده و مورد استفاده قرار می گیرد، جایگزینی در آن است و تنها اگر رمزنگاری با استفاده از آن، به یک نوع یا یک نوع دیگر از رمزنگاری تبدیل شود. بنابراین، بهترین انتخاب برای یک رمزعبور معمولی یکی از چندین جداول است که به دامنه عمومی تبدیل شده اند. به عنوان مثال، از استاندارد برای عملکرد هش، آن را "Centrobankovskaya"؛ اطلاعاتی در مورد این جداول را می توان در چاپ باز و حتی در اینترنت یافت، اگر شما خوب نگاه کنید.

برای کسانی که برای رفتن به راه های آسان استفاده نمی شوند، طرح کلی برای به دست آوردن جداول با کیفیت بالا زیر است:

  1. با استفاده از تکنیک، ما مجموعه ای از هشت گره جایگزین را با ویژگی های تضمین شده غیر خطی تولید می کنیم. چندین تکنیک وجود دارد، یکی از آنها استفاده از توابع به اصطلاح خم شده است.
  2. بررسی ساده ترین معیارهای "کیفیت" را بررسی کنید - به عنوان مثال، کسانی که برای گره های جایگزینی DES منتشر شده اند. در اینجا برخی از ملاحظات کلی تر در این زمینه وجود دارد: هر گره جایگزینی را می توان با چهار توابع منطقی از چهار استدلال منطقی توصیف کرد. اگر این توابع ثبت شده اند حداقل فرم (به عنوان مثال با حداقل طول ممکن از بیان) کافی نیست، چنین گره جایگزینی رد می شود. علاوه بر این، توابع فردی در کل جدول جایگزینی باید به اندازه کافی متفاوت باشند. در این مرحله، بسیاری از جداول آگاهانه با کیفیت پایین، گرفتار شده اند.
  3. برای رمزگذاری با جداول انتخاب شده خود، ساخت مدل های مختلف گرد، مربوط به انواع مختلف رمزنگاری، و اندازه گیری ویژگی های مربوط به مشخصات "مشخصات". بنابراین، برای کریپتوآنالیز خطی، ساخت یک آنالوگ آماری خطی از دور رمزگذاری و محاسبه مشخصات "مشخصات" - شاخص غیر خطی. اگر معلوم شود ناکافی نیست، جدول جایگزینی رد می شود.
  4. در نهایت، با استفاده از نتایج پاراگراف قبلی، رمزگذاری را با جدول تحقیقات فشرده ای که انتخاب کرده اید، در معرض خطر قرار دادن - تلاش برای رمزگشایی با تمام روش های شناخته شده. این مرحله سخت ترین و وقت گیر است. اما اگر آن را به صورت کیفی انجام شود، می توان آن را بیان کرد که رمزگذاری با جداول شما انتخاب می شود با مرگ و میر ساده باز نخواهد شد، و از مطالعه خارج نمی شود، آن را بر روی دندان های خاص نیست خدمات.

با این وجود ممکن است، این کار بسیار ساده تر است. نکته این است که بزرگتر از دوران در رمز، اثر کمتر بر دوام کل رمز شامل ویژگی های مقاومت یک دور است. مهمان احمد 32 دور بیش از تقریبا تمام رمزهای با معماری مشابه است. بنابراین، برای اکثر برنامه های کاربردی خانگی و تجاری، به اندازه کافی برای به دست آوردن گره های جایگزینی به عنوان بازنگری تصادفی مستقل از اعداد از 0 تا 15 به اندازه کافی است. به عنوان مثال، می تواند عملا اجرا شود، به عنوان مثال، با مخلوط کردن یک عرشه از شانزده کارت، هر کدام از آنها ثابت شده است یکی از مقادیر محدوده مشخص شده.

با توجه به جدول جایگزینی، لازم است که یکی دیگر از واقعیت های جالب توجه داشته باشید. به چرخه برگشت پذیر رمزنگاری "32-S" و "32-P"، لازم نیست که گره های جایگزین از اعداد از 0 تا 15 استفاده شوند. همه چیز کار می کند حتی اگر عناصر تکراری در گره جایگزینی وجود داشته باشد، و جایگزینی، غیر قابل برگشت، - اما در این مورد، مقاومت به آن کاهش می یابد. چرا این دقیقا همان مورد است، در این مقاله در نظر گرفته نشده است، اما مطمئن شوید که در این واقعیت مطمئن شوید. برای انجام این کار کافی است که ابتدا Encrypt را امتحان کنید و سپس بلوک داده را با استفاده از جدول تعویض "معیوب"، گره هایی که حاوی مقادیر تکراری هستند، رمزگشایی کنید.

تغییرات در موضوع GOST

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

چگونه این کار را انجام دهیم و موارد مشابه را برای افزایش سرعت رمزگذاری انجام دهیم؟ پاسخ بر روی سطح قرار دارد - از اصلاح رمز عبور با تعداد کمی از مراحل اصلی (دور) در چرخه های اساسی استفاده کنید. چند بار تعداد دوران رمزنگاری را کاهش می دهیم، سرعت را در همان زمان افزایش می دهد. تغییر مشخص شده را می توان به دو روش به دست آورد - کاهش طول کلید و کاهش تعداد "نمایش چرخه" کلید. به یاد بیاورید که تعداد مراحل ثابت در چرخه های رمزگذاری پایه برابر است n.=n · m.جایی که n. - تعداد عناصر 32 بیتی در کلید، m. - تعداد چرخه ها با استفاده از عناصر کلیدی در استاندارد n.=8, m.\u003d 4 شما می توانید هر یک از این اعداد را کاهش دهید، اما ساده ترین گزینه این است که طول کلید را کاهش دهید، نه لمس استفاده از آن.

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

همانطور که برای ثبات رمز به روش های هک کردن "گسترده"، به این است که به حمله "سربار"، که در اینجا بیشتر یا کمتر روشن است: کلید 64 بیت در جایی در آستانه دسترسی به این نوع حمله است رمزگذاری با یک کلید 96 بیت و بالاتر (به یاد داشته باشید که کلید باید حاوی عدد صحیح عناصر 32 بیتی باشد) کاملا مقاوم به آن است. در واقع، چند سال پیش، استاندارد رمزگذاری سابق ایالات متحده، DES، بارها و بارها توسط غرورآمیز هک شد - در ابتدا توسط یک شبکه محاسباتی هک شده بود، بر اساس شبکه اینترنت جهانی سازمان یافته، و سپس تخصصی، I.E. به طور خاص برای این دستگاه محاسبات طراحی شده است. ما تأیید خواهیم کرد که نسخه استاندارد GOST برای پیاده سازی نرم افزار در پردازنده های مدرن، چهار بعدی را اجرا می کند. سپس 8 دور "کاهش GOST" 16 برابر سریعتر از DES کار خواهد کرد. ما همچنین این را ادامه می دهیم، برای گذشته از لحظه هک کردن DES، عملکرد تکنولوژی محاسباتی با توجه به قانون مور، چهار نفر از آنها افزایش یافته است. ما به دست آمده ما به دست آمده است که در حال حاضر بررسی یک کلید 64 بیتی برای "کاهش GOST" با هشت دوره 64 برابر سریعتر از یک بار آزمون یک کلید DES انجام شد. بنابراین، مزیت این گزینه از GOST قبل از DES با پیچیدگی حمله متقابل سکته مغزی از 2 64-56 \u003d 2 8 \u003d 256 تا 256 کاهش می یابد / 64 \u003d 4 بار موافقم این یک تفاوت بسیار خیالی است، تقریبا هیچ چیز.

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

جایی که C. و - ثابت، R تعداد دور است. وابستگی مشابهی برای رمزنگاری دیفرانسیل وجود دارد. در "معنایی فیزیکی"، تمام ویژگی های این نوع - احتمال. معمولا مقدار داده های منبع لازم برای کریپتانالیز و پیچیدگی آن به طور معکوس متناسب با چنین ویژگی هایی است. به این معنی است که این میزان شدت کار با افزایش تعداد مراحل رمزنگاری پایه به طور نمادین رشد می کند. بنابراین، با کاهش تعداد دور، پیچیدگی ترین نوع تجزیه و تحلیل به عنوان شناخته شده تغییر خواهد کرد، - بسیار تقریبا و تقریبا تقریبا و تقریبا، ریشه این درجه از مقدار اولیه است. این یک کاهش بسیار زیاد در مقاومت است.

از سوی دیگر، GOST با یک حاشیه بزرگ قدرت طراحی شده بود و امروز به تمام گونه های شناخته شده کریپتالیز، از جمله دیفرانسیل و خطی مقاوم است. با توجه به LKA، این به این معنی است که برای انجام موفقیت آمیز آن، جفت های بیشتری مورد نیاز است "بلوک باز یک بلوک رمزگذاری شده است" از "وجود دارد در طبیعت"، یعنی بیش از 2،64. با توجه به موارد فوق، این به این معنی است که برای یک LCA موفق از GOST 16 دور، شما نیازی به بلوک های کمتر یا 25 بایت یا 32 گیگابایت اطلاعات دارید و برای 8 دور - حداقل بلوک یا 2 19 بایت یا 0.5 MB.

نتیجه گیری از همه موارد فوق در جدول زیر داده می شود، که ویژگی های گزینه های کاهش یافته GROA را به طور کلی تعمیم می دهد.

شماره Roundov اندازه کلیدی، بیت شاخص عمل سریع ویژگی های رمزگذاری احتمالی (برآورد بسیار خشن)
24 192 1,33 پایدار به معروف ترین انواع KA، و یا در آستانه ثبات است. پیاده سازی عملی CA به دلیل الزامات بالا برای داده های اولیه و پیچیدگی غیرممکن است.
16 128 2 از لحاظ تئوری ناپایدار به انواع خاصی از رمزنگاری، اما اجرای عملی آنها در اکثر موارد دشوار است به دلیل نیازهای بالا برای داده های اولیه و شدت کار.
12 95 2,67 ناپایدار به برخی از انواع معروف کریپتوآنالیز، اما مناسب برای محرمانه از مقدار کمی از داده ها (تا ده صدها از KRIB) برای مدت کوتاهی مناسب است.
8 64 4 ناپایدار به برخی از انواع معروف از کریپتوآنالیز، اما مناسب برای محرمانه از مقدار کمی از داده ها (تا دوجن KB) برای مدت کوتاهی مناسب است.

دو گزینه آخر، با 12 و 8 دور، قادر به ارائه حفاظت بسیار و بسیار محدود در زمان هستند. استفاده از آنها تنها در وظایف توجیه شده است، جایی که تنها مدت کوتاهی از داده های بسته، حدود چند ساعت مورد نیاز است. مساحت احتمالی استفاده از این گزینه های رمز ضعیف، بسته شدن ترافیک UDP سیستم های تجاری الکترونیکی است. در این مورد، هر بسته داده (دیتاگرام، به طور متوسط \u200b\u200b"D" از UDP اختصار) در یک کلید جداگانه 64 بیتی رمزگذاری شده است و کلید خود را در یک کلید جلسه رمزگذاری می شود (کلید که منطقه آن یک جلسه ارتباطی بین دو است کامپیوترها) و با داده ها منتقل می شود.

قبل از تکمیل با محدودیت های کاهش یافته GOST، من می گویم که تمام ملاحظات فوق بسیار سودآور هستند. استاندارد دارای پایداری تنها برای یک گزینه 32 دور است. و هیچ کس نمی تواند به شما تضمین کند که پایداری انواع کاهش یافته از رمز به Crack تغییر خواهد کرد. اگر هنوز تصمیم گرفتید از آنها در تحولات خود استفاده کنید، به یاد داشته باشید که شما بر روی یک خاک بسیار نرم، که ممکن است در هر زمان از زیر پای خود حاصل شود، به دست آورید. اگر سوالات رمزگذاری به زودی برای شما مهم هستند، شاید ارزش آن را در مورد استفاده از یک کامپیوتر سریعتر یا قدرتمندتر از کامپیوتر داشته باشید؟ یکی دیگر از مواردی که باید انجام شود این است که گونه های تضعیف شده GOST به عنوان حساس به کیفیت گره های جایگزینی استفاده می شود.

سوال مورد نظر یک طرف معکوس دارد. اگر نرخ رمزگذاری غیر بحرانی باشد، چه؟ الزامات مقاومت بسیار تنگ است؟ شما می توانید مقاومت GOST را به دو روش افزایش دهید - به طور معمول آنها را "گسترده" و "شدید" تماس بگیرید. اولین چیزی جز افزایش ساده تعداد دور رمزنگاری نیست. این به من کاملا روشن نیست چرا واقعا می تواند به آن نیاز داشته باشد، زیرا استاندارد داخلی و بدون این امر مقاومت لازم را فراهم می کند. با این حال، اگر شما از پارانویا رنج می برید، سطح لازم تر (و تمام طرفداران اطلاعاتی "به سادگی موظف به رنج می برند، این وضعیت حرفه ای این است که این سوال تنها در درجه مورد پرونده است :)، این به شما کمک خواهد کرد آرام باشید قدری. اگر از این KGB-Shifra یا جدول جایگزینی استفاده می کنید، فقط دو برابر، تنظیم و غیره مطمئن نیستید تعداد دور ها - چندگانگی بر اساس شدت پرونده شما انتخاب می شود. این رویکرد به شما اجازه می دهد تا واقعا دوام را افزایش دهید، - اگر کریپتانالیز زودتر به سادگی غیرممکن باشد، در حال حاضر در میدان غیرممکن است!

مشکل تر و جالب تر این سوال است و آیا این امکان وجود دارد که دوام رمز را افزایش دهد، بدون تغییر تعداد و ساختار مراحل اصلی رمزگذاری. مهم نیست که چقدر شگفت آور است، پاسخ به این مثبت است، هرچند ما دوباره بر روی خاک رسوبی گمانه زنی می کنیم. واقعیت این است که در مهمان، در مرحله اصلی تحول، فرض می شود که 4 تا 4 بیت جایگزین شود، و در عمل (این بیشتر در جلو است) تمام پیاده سازی های نرم افزاری به صورت توالت جایگزین، I.E. 8 تا 8 بیت - این برای ملاحظات کارایی انجام می شود. اگر بلافاصله چنین جایگزینی را به عنوان یک 8 بیتی طراحی کنید، ما ویژگی های یک دور را به طور قابل توجهی بهبود خواهیم داد. اولا، مشخصه "انتشار" یا شاخص "Avalanche" افزایش خواهد یافت - یک بیت از داده های منبع و / یا کلید بر تعداد بیشتری از بیت های نتیجه تاثیر می گذارد. ثانیا، برای گره های جایگزینی بزرگ، شما می توانید ویژگی های دیفرانسیل و خطی پایین تر را دریافت کنید، در نتیجه کاهش قرار گرفتن در معرض رمزنگاری از همان نام رمزنگاری. به خصوص برای چرخه های کاهش یافته GOST، و برای گزینه های 8 و 12 دور، چنین گام به سادگی ضروری است. این تا حدودی جبران از دست دادن استقامت در آنها را از کاهش تعداد دور. این چیزی است که از این پذیرش استفاده می کند، این همان چیزی است که طراحی چنین گره های جایگزین "بزرگ" باید مستقل باشد. و همچنین این واقعیت که گره های بزرگتر به طور کلی به طور قابل توجهی طراحی شده اند، دشوارتر از کوچکتر است.

استفاده غیر استاندارد از استاندارد.

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

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

  • همانطور که در بالا ذکر شد، گاما را می توان به عنوان "مواد خام" برای تولید کلیدها استفاده کرد. برای این شما فقط باید یک بخش از گاما طول مورد نظر را دریافت کنید - 32 بایت. به این ترتیب، کلید ها را می توان به صورت مورد نیاز انجام داد و لازم نیست ذخیره شود - اگر چنین کلیدی مورد نیاز باشد، کافی خواهد بود تا به اندازه کافی کار کند. تنها لازم است به یاد داشته باشید که چگونه کلیدی آن را در ابتدا توسعه داده شد، که از Sync-Drumper استفاده کرد و از آن بایت گاما تولید شده کلید شروع شد. تمام اطلاعات، به جز کلید، غیر ضروری است. این رویکرد به شما این امکان را می دهد که به راحتی یک سیستم کلیدی پیچیده پیچیده و شاخه ای را با استفاده از تنها یک کلید اصلی کنترل کنید.
  • شبیه به قبلی، Gamut می تواند به عنوان منبع "مواد اولیه" برای تولید کلمه عبور استفاده شود. ممکن است یک سوال وجود داشته باشد، چرا شما نیاز به تولید آنها دارید، آسان تر از آن نیست که فقط آنها را اختراع کنید. شکست چنین رویکردی به وضوح توسط مجموعه ای از حوادث در شبکه های کامپیوتری نشان داده شده است، که بزرگترین آنها فلج اینترنت روزانه در نوامبر 1988، ناشی از "کرم موریس" بود. یکی از راه های نفوذ به برنامه مخرب به کامپیوتر، انتخاب کلمه عبور بود: برنامه سعی کرد وارد سیستم شود، به طور مداوم با گذرواژه ها از لیست داخلی خود از چند صد، و در بخش قابل توجهی که او موفق به انجام آن شد، رسیدگی کرد. فانتزی یک فرد برای اختراع رمزهای عبور بسیار ضعیف بود. به همین دلیل است که در این سازمان هایی که امنیت به دلیل توجه به آن پرداخت می شود، کلمه عبور مدیر سیستم را به کاربران تولید و توزیع می کند. توسعه گذرواژه ها کمی پیچیده تر از توسعه کلیدها است، زیرا فاصله "خام" باینری باید به یک فرم نماد تبدیل شود و نه فقط "برش" به قطعات. علاوه بر این، ممکن است مقادیر فردی ممکن است برای اطمینان از احتمال برابر ظاهر تمام کاراکترهای الفبا در رمز عبور جلوگیری شود.
  • راه دیگری برای استفاده از گودال رمزنگاری تضمین شده است تا داده های رسانه مغناطیسی را تقویت کند. واقعیت این است که حتی زمانی که اطلاعات رونویسی در مورد حامل مغناطیسی، آثار قبلی داده های قبلی باقی می ماند، که می تواند معاینه مربوطه را بازگرداند. برای از بین بردن این ردیابی، این رونویسی باید بارها انجام شود. معلوم شد که لازم است که اطلاعات مربوط به حامل های کمتر را بازنویسی کنید اگر چنین روش ای برای استفاده از داده های تصادفی یا شبه تصادفی، که کارشناسان ناشناخته باقی می ماند، تلاش می کنند تا اطلاعات گرم را بازگردانند. رمز گشایی گاما در اینجا غیر ممکن خواهد بود.

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

  • ما می دانیم که یکی از این گزینه ها برای استفاده از GOST، توسعه Imitavas برای آرایه های داده است. با این حال، بر اساس هر بلوک بلوک، و GOST از جمله، آن را به راحتی آسان برای ساخت یک طرح برای محاسبه عملکرد هش یک طرفه، همچنین به نام MDC در ادبیات، که در منابع مختلف به عنوان رمزگشایی شده است کد تشخیص تغییرات / دستکاری (M.odification / M.دست کم D.اتهام C.oDE) یا پیام هضم (M.اسطوره D.iGest C.oDE) اولین رمزگشایی در ادبیات بسیار زودتر ظاهر شد، دوم، کوتاهتر، من فکر می کنم، با کسانی که قادر به یادآوری اول نیستند، آمد - این شوخی بود. MDC می تواند به طور مستقیم در سیستم های Imitigator به عنوان یک آنالوگ ImitaWintage استفاده شود، نه، با این حال، از کلید مخفی. علاوه بر این، MDC به طور گسترده ای در طرح های امضای الکترونی-دیجیتال (EDS) مورد استفاده قرار می گیرد، زیرا اکثر این طرح ها به گونه ای طراحی شده اند که برای ثبت نام یک بلوک داده ثابت مناسب ثابت شده است. همانطور که شناخته شده است، استاندارد فدراسیون روسیه برای محاسبه تابع هش یک طرفه GOST P34.11-94 بر اساس استاندارد GOST 28147-89 ساخته شده است.
  • کمتر شناخته شده است که بر اساس هر رمزنگاری بلوک، و GOST از جمله یک طرح کاملا کاربردی EDS می تواند ساخته شود، با یک امضا کلید مخفی و یک ترکیب باز بازرسی. به دلایلی، این طرح توزیع گسترده ای را دریافت نکرده است، اما در برخی موارد هنوز به عنوان یک جایگزین بسیار جذاب برای طرح های "ریاضی" غالب در نظر گرفته شده است.

ادبیات

سیستم های پردازش اطلاعات. حفاظت از رمزنگاری الگوریتم برای تبدیل رمزنگاری GOST 28147-89. دولت کام USSR با توجه به استانداردها، M.، 1989. ftp://ftp.wtc-aral.ru/pub/en.crypt/gost-28147
شانون کلود تئوری ریاضی سیستم های مخفی. در مجموعه "کار بر روی نظریه اطلاعات و سایبرنتیک"، M.، IL، 1963، ص. 333-369. http://www.enlight.ru/crypto/articles/shannon/shann__i.htm.
اعلام تایید استاندارد پردازش اطلاعات فدرال (FIPS) 197، استاندارد رمزگذاری پیشرفته (AES)، فدرال ثبت نام جلد. 66، نه 235 / پنجشنبه، 6 دسامبر 2001 / اطلاعیه ها، PP 63369-63371. http://csrc.nist.gov/Encryption/aes/
فایله هورست. رمزنگاری و امنیت کامپیوتر. ترجمه A. Rinokuburov توسط Horst Feistel. رمزنگاری و حریم خصوصی کامپیوتر، علمی آمریکایی، May 1973، Vol. 228، نه 5، ص. 15-23. http://www.enlight.ru/crypto/articles/feistel/feist_i.htm.
شونیر بروس. رمزنگاری کاربردی دوم اد. پروتکل ها، الگوریتم ها و متون منبع در زبان C، M.، "Triumph"، 2002 http://www.ssl.stu.neva.ru/psw/crypto/appl_rus/appl_cryp.htm
Menezes Alfred، Van Oorschot Paul، Vanstone Scott. راهنمای رمزنگاری کاربردی. TTP: //www.cacr.math.uwaterloo.ca/hac/
وینوکوروف آندری. رمزنگاری بلوک چگونه است؟ دستنوشته http://www.enlight.ru/crypto/articles/vinokurov/blcyph_i.htm.
وینوکوروف آندری. مسائل رمزنگاری برای ایمیل های آنلاین بی نظیر آنلاین. http://www.enlight.ru/crypto/articles/ib/ib.htm.
آندری وینوکوروف، ادوارد اعمال می شود. متن گزارش "در اجرای نرم افزار از استانداردهای رمزگذاری فدراسیون روسیه و ایالات متحده"، کنفرانس اطلاعاتی، مسکو، Mephi، 28-29 ژانویه 2001. منتشر شده در مواد کنفرانس.
فناوری اطلاعات. حفاظت از اطلاعات رمزنگاری. تابع Hatch Gost R34.11-94، Gosstandart RF، M.، 1994.

شرح مختصری رمزنگاری

GOST 28147-89 - استاندارد شوروی و روسیه رمزنگاری متقارن معرفی شده در سال 1990، همچنین استاندارد CIS است. نام کامل - "GOST 28147-89 سیستم پردازش اطلاعات. حفاظت از رمزنگاری الگوریتم تحول رمزنگاری. " الگوریتم رمزگذاری را مسدود کنید. هنگام استفاده از روش رمزگذاری با Gamming، می تواند جریان یک الگوریتم رمزگذاری جریان را انجام دهد.

GOST 28147-89 - رمزنگاری بلوک با کلید 256 بیتی و 32 چرخه تبدیل که با بلوک های 64 بیتی عمل می کنند. اساس الگوریتم رمز یک زنجیره ای از faistel است. حالت رمزگذاری پایه با توجه به GOST 28147-89 یک حالت جایگزینی ساده است (حالت های پیچیده تر گامنگ، گامنگ بازخورد و حالت Imitava نیز تعریف شده است).

اصل عملیات الگوریتم

الگوریتم اساسا متفاوت از DES نیست. همچنین در چرخه های رمزنگاری رخ می دهد (بنابراین 32) با توجه به طرح FAISTEL (شکل 2.9.).

شکل. 2.9. الگوریتم رمزنگاری دور GOST 28147-89.

برای تولید یک پلاگین، کلید 256 بیتی منبع به هشت بلوک 32 بیتی تقسیم می شود: K 1 ... K 8. کلید K 9 ... K 24 تکرار چرخه ای از کلیدهای K 1 ... K 8 (اعداد از بیت های جوانتر به بزرگان). کلید K 25 ... K 32 کلید K 1 ... K 8، رفتن به منظور معکوس.

پس از انجام تمام 32 دور از الگوریتم، بلوک های 33 و B 33 با هم چسبیده می شوند (توجه باید به این واقعیت که بیت قدیمی تر 33 و جوانتر - B 33 می شود) - نتیجه نتیجه حاصل از آن است عملیات الگوریتم.

تابع f.(آ. من. ,K. من.) محاسبه به شرح زیر است: I و K من توسط ماژول 22 بسته شده است، پس از آن نتیجه به هشت نمونه 4 بیتی تقسیم می شود، هر کدام از آنها وارد ورودی خود می شود جایگزینی جدول گره (به منظور افزایش حاشیه بیت)، به نام زیر s-block. تعداد کل S- بلوک های GOST - هشت، به عنوان مثال، به همان اندازه که بعدا. هر کس s-block این جایگزینی از اعداد از 0 تا 15 است. اولین بعدی 4 بیتی بر روی ورودی S-Block اول، دوم قرار می گیرد - در ورودی دوم، و غیره خروجی تمام هشت بلوک S به یک ترکیب شده است کلمه 32 بیتی، سپس کلمه به صورت چرخه ای به صورت چرخشی (به تخلیه ارشد) توسط 11 بیت تغییر می کند. تمام هشت بلوک S ممکن است متفاوت باشد. در حقیقت، آنها می توانند یک ماده کلیدی اضافی باشند، اما اغلب یک پارامتر طرح برای یک گروه خاص از کاربران است. متن استاندارد نشان می دهد که عرضه پر کردن گره های جایگزینی (S-blocks) به صورت تجویزی انجام می شود، I.E. توسعه دهنده الگوریتم. جامعه توسعه دهندگان SKU روسیه هماهنگ گره های جایگزین مورد استفاده در اینترنت را هماهنگ می کنند.

رمزگشایی به صورت رمزنگاری انجام می شود، اما ترتیب اتصال K من معکوس شده است.

حالت الگوریتم عملیات GOST 28147-89

الگوریتم GOST 28147-89 دارای چهار حالت عملی است.

1. حالتجایگزینی ساده داده های ورودی را می گیرد، اندازه آن کوتاهتر از 64 بیت است. نتیجه رمزگذاری متن ورودی است که توسط 64 بیت در مورد رمزگذاری توسط چرخه "32-S" تبدیل شده است و در مورد رمزگشایی - چرخه "32 پیکسل".

2. حالتهامنگ داده های ورودی هر اندازه، و همچنین یک پارامتر 64 بیتی اضافی را می گیرد - همکاران. در طول کار، Syncopier به چرخه "32-S" تبدیل می شود، نتیجه به دو بخش تقسیم می شود. بخش اول توسط ماژول 2 32 با ارزش ثابت 1010101 16 تشکیل شده است. اگر بخش دوم 2 32 -1 باشد، ارزش آن تغییر نمی کند، در غیر این صورت آن شامل ماژول 2 32 -1 با مقدار ثابت 1010104 16 است. مقدار به دست آمده از ترکیبی از هر دو بخش تبدیل شده، به نام گاما رمز، وارد چرخه "32 ثانیه"، نتیجه آن به طور خلاصه توسط ماژول 2 با یک بلوک ورودی 64 بیتی بسته بندی شده است. اگر دومی کمتر از 64 رقم باشد، تخلیه اضافی از مقدار به دست آمده از بین رفته است. مقدار حاصل به خروجی عرضه می شود. اگر داده های دریافتی بیشتر وجود داشته باشد، عمل تکرار می شود: واحد از قطعات 32 بیتی در قطعات و غیره تبدیل شده است.

3. حالتبازخورد Gamming همچنین داده های ورودی هر اندازه و syncopower را می گیرد. واحد داده ورودی بر روی ماژول 2 با نتیجه تبدیل در چرخه "32-з" از syncopyers بسته شده است. مقدار حاصل به خروجی عرضه می شود. مقدار SYNC-DRIP در مورد رمزگذاری توسط واحد خروجی جایگزین می شود و در مورد رمزگشایی - ورودی، یعنی رمزگذاری شده است. اگر آخرین بلوک داده های دریافتی کمتر از 64 تخلیه باشد، پس ابعاد اضافی گاما (خروجی چرخه "32-S") حذف می شود. اگر داده های دریافتی بیشتر وجود داشته باشد، عمل تکرار می شود: از نتایج رمزگذاری مقدار جایگزین، گاما رمزنگاری شکل گرفته و غیره

4. حالت توسعهimitovka داده های ورودی را می گیرد، اندازه آن حداقل دو بلوک کامل 64 بیتی است و یک بلوک داده 64 بیتی را به نام Imitavka می دهد. مقدار 64 بیتی به طور موقت به 0، در اینجا تنظیم می شود، در حالی که داده های ورودی وجود دارد، آن را در ماژول 2 با نتیجه اجرای چرخه "16-S" بسته بندی شده است، بلوک ورودی به ورودی داده می شود. پس از اتمام داده های ورودی، مقدار موقت به عنوان یک نتیجه بازگردانده می شود.

رمزنگاری رمزنگاری

رمزگشایی GOST 28147-89 از یک کلید 256 بیتی استفاده می کند و اندازه فضای کلیدی 2 256 است. هیچکدام از برنامه های فعلی فعلی در حال حاضر یک کلید را در طول زمان کمتر از صدها سال انتخاب نمی کنند. استاندارد روسیه GOST 28147-89 با یک حاشیه بزرگ طراحی شده بود و برای مقاومت در برابر بسیاری از دستورات شمارش بیش از استاندارد استاندارد آمریکایی با اندازه واقعی آن 56 بیت و یک فضای کلیدی تنها 2 56 است.

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

دانشمندان داخلی A.G. rostovtsev و e.b. در سال 2001، Makhovenko پیشنهاد یک روش اساسی جدید از رمزنگاری را با تشکیل یک تابع هدف از یک متن باز شناخته شده مربوط به متن رمزنگاری و ارزش کلیدی مورد نظر و پیدا کردن افراطوم آن مربوط به ارزش کلیدی واقعی را پیشنهاد کرد. آنها همچنین یک کلاس بزرگ از کلیدهای ضعیف الگوریتم GOST 28147-89 را پیدا کردند که به شما این امکان را می دهد که الگوریتم را با کمک تنها 4 متون باز انتخاب شده و مربوط به Ciphertects با پیچیدگی کافی کم کنید.

در سال 2004، گروهی از متخصصان کره، یک حمله ای را که با استفاده از کریپتوآنالیز دیفرانسیل بر روی کلیدهای متصل شده، پیشنهاد می کنند، ممکن است احتمال 91.7٪ 12 بیت از کلید مخفی را بدست آورند. برای حمله شما نیاز به 2 35 متون باز انتخاب شده و 2 36 عملیات رمزگذاری. همانطور که دیده می شود، این حمله عملا برای کالبد شکافی واقعی الگوریتم عملا بی فایده است.

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