موضوع مقاله: رمزنگاری قالبی | مخاطب: عمومی | لحن: دانشنامه‌ای | ساختار: عنوان، مقدمه، 3 بخش، جمع‌بندی | مقاله: | # رمزنگاری قالبی | مقدمه: در رمزنگاری، رمزنگاری قالبی یک الگوریتم قطعی است که بر روی گروه‌های بیت با طول ثابت که به عنوان بلاک شناخته می‌شوند کار می‌کند، با یک تحول بی وقفه که توسط یک کلید متقارن مشخص شده‌است. | ## بخش 1: رمزنگاری قالبی | رمزنگاری‌های قالبی به عنوان مؤلفه‌های ابتدایی مهم در طراحی بسیاری از پروتکل‌های رمزنگاری عمل می‌کنند و به‌طور گسترده‌ای برای پیاده‌سازی رمزگذاری داده‌های زیاد مورد استفاده قرار می‌گیرند. حتی رمزنگاری قالبی ایمن فقط برای رمزگذاری یک بلوک واحد در زیر یک کلید ثابت مناسب است. بسیاری از حالت‌های عملکردی طراحی شده‌اند تا استفاده مکرر آنها را به روشی مطمئن و معمولاً برای دستیابی به اهداف امنیتی مانند محرمانه بودن و اعتبارسنجی امکان بذیر کنند. با این حال، رمزنگارهای قالبی ممکن است به عنوان بلوک‌های ساختاری در سایر پروتکل‌های رمزنگاری شده، مانند توابع آمیزش جهانی و تولیدکننده شماره شبه تصادفی نیز ظاهر شوند. تعریف رمزنگاری قالبی از دو الگوریتم زوج تشکیل شده است، یکی برای رمزگذاری، و دیگری برای رمزگشایی، هر دو الگوریتم دو ورودی را قبول می‌کنند: یک بلوک ورودی از بیت اندازه و یک کلید از بیت اندازه . معکوس برای E به عنوان یک تابع تعریف می‌شود با استفاده از یک کلید K و ciphertext که C باشد برای برگرداندن مقدار plaintext که با P نمایش می‌دهیم، به این ترتیب: به عنوان مثال، یک الگوریتم رمزنگاری شده ممکن است یک متن ۱۲۸ بیتی از متن ساده را به عنوان ورودی بدست آورد، و یک بلوک متن رمزگذاری متناظر ۱۲۸ بیتی را تولید کند. رمزگشایی مشابه است: الگوریتم رمزگشایی، در این مثال یک بلوک ۱۲۸ بیتی متن رمزنگاری را همراه با کلید مخفی می‌گیرد و بلوک ۱۲۸ بیتی متن ساده را بازده می‌کند. برای هر کلید K , EK مجوز (نقشه‌برداری بیولوژیکی) بر روی مجموعه بلوک‌های ورودی است. کلود شانون انتشارات اصلی خود در سال ۱۹۴۹ با عنوان نظریه ارتباطات سیستمهای رازداری، رمزنگاری محصولات را مورد تجزیه و تحلیل قرار داد و با ترکیب عملیات ساده مانند تعویض‌ها و جابجایی‌ها، آنها را به عنوان ابزاری برای بهبود مؤثر امنیت در نظر گرفت. رمزنگاری‌های محصول Iterated رمزگذاری را در چند دور انجام می‌دهند، که هر یک از آنها از یک کلید فرعی متفاوت برگرفته از کلید اصلی استفاده می‌کند. AKB یک بلوک کلیدی بود که برای تبادل ایمن کلیدهای متقارن یا پین‌ها با سایر بازیگران صنعت بانکداری مورد نیاز است. انتشار رمزگذاری DES توسط دفتر ملی استاندارد ایالات متحده (متعاقباً موسسه ملی استاندارد و فناوری NIST) در سال ۱۹۷۷ در درک عمومی از طراحی رمزنگاری مدرن بسیار مؤثر بود. یک مجموعه از تکنیک‌های حمله وجود دارد که علاوه بر اینکه در برابر حملات بی رحمانه نیرومند است، باید رمزنگاری قالبی را نیز ایمن کند. تابع round با استفاده از یک کلید فرعی روی یک‌نیمه اعمال می‌شود، و سپس خروجی با نیمه دیگر XOR می‌شود. سپس عملیات اساسی به شرح زیر است: بلوک متن ساده را به دو قطعه مساوی تقسیم کنید، (، ) برای هر دور به ازای محاسبه کنید بعد از آن ciphertext برابر است. همچنین این مزیت را دارد که تابع round (یا همان F) نیازی به برگشت‌ناپذیر بودن ندارد. با این حال، تابع round به اختلاف بین این دو اعمال می‌شود و سپس نتیجه به هر دو نیم بلوک اضافه می‌شود. | ## بخش 2: رمزنگاری قالبی | این عملگرهای ARX محبوب هستند زیرا از نظر سخت‌افزاری و نرم‌افزاری نسبتاً سریع و ارزان هستند، اجرای آنها می‌تواند بسیار ساده انجام شود، همچنین به دلیل اینکه در زمان ثابت اجرا می شون؛ بنابراین در مقابل حملات زمان‌بندی مصون هستند. تحلیل رمزنگاری حملات Brute-force این خاصیت باعث می‌شود امنیت رمزنگاری به صورت درجه یک کاهش یابد و در هنگام انتخاب اندازه بلوک باید مورد توجه قرار گیرد. در واقع یک مصالحه بین بزرگی سایز بلوک و ناکارآمدی الگوریتم به منظور عملکرد عملگر وجود دارد. رمزنگاری‌های قالبی اولیه مانند DES معمولاً اندازه بلوک ۶۴ بیتی را انتخاب کرده‌اند، در حالی که طرح‌های جدیدتر مانند AES با اندازه بلوک ۱۲۸ بیت یا بیشتر را پشتیبانی می‌کنند، در حالی که برخی از رمزگذارها، طیف وسیعی از اندازه‌های مختلف بلوک را پشتیبانی می‌کنند. تحلیل رمزنگاری خطی نوعی از تحلیل رمزنگاری است که بر اساس یافتن تقریب‌های وابسته به پیوند به عملکرد رمزنگاری است. تحلیل رمزنگاری انتگرالی یک حمله کریپتانالیستی است که خصوصاً برای مسدود کردن رمزها بر اساس شبکه‌های جایگزینی-جابجایی کاربرد دارد. به عنوان مثال، یک حمله ممکن است از ۲۵۶ عدد انتخاب شده استفاده کند که تمام ۸ بیت آنها یکسان است، اما همه در ۸ بیت متفاوت هستند. چنین مجموعه ای لزوماً یک XOR با مقدار ۰ و نیز XORهایی که مقادیر آن‌ها از مجموعه‌های مربوط به رمزنگاری‌ها، اطلاعات مربوط به عملکرد رمزنگاری را ارائه می‌دهند، دارد. این تقابل بین تفاوت‌های جفت متون و مجموع مجموعه‌های بزرگتر از متن، الهام بخش از نام «تحلیلی رمزنگاری انتگرالی» و قرض گرفتن اصطلاح آن از حساب دیفرانسیل و انتگرال است. علاوه بر تحلیل رمزنگاری خطی و دیفرانسیل، یک فهرست از حملات فزاینده وجود دارد: تحلیل رمزنگاری دیفرانسیل کوتاه، تحلیل رمزنگاری دیفرانسیل جزئی، کریپتانالیز یکپارچه، که شامل حملات مربعی و انتگرالی، حملات اسلاید، حملات بومرنگ، حمله ایکس‌اس‌ال، تحلیل رمزنگاری دیفرانسیل غیرممکن و حملات جبری. برای اینکه یک رمزنگاری جدید از اعتبار برخوردار باشد، باید شواهد امنیتی را در برابر حملات شناخته شده نشان دهد. امنیت قابل تأمین هنگامی که از یک رمزنگاری قالبی در یک حالت معین از عملکردهای آن استفاده می‌شود، الگوریتم حاصل به‌طور ایده‌آل می‌تواند به اندازه خود رمزنگاری قالبی امن باشد. ECB (مورد بحث در بالا) به‌طور برجسته فاقد این خاصیت است: صرف نظر از اینکه رمزنگاری‌های قالبی زیرین چقدر امن است، حالت ECB به راحتی می‌تواند مورد حمله قرار گیرد. از طرف دیگر، با فرض اینکه رمزنگاری قالبی زیرین نیز به همان نسبت امن است، می‌توان حالت CBC را ایمن اعلام کرد. با این حال توجه داشته باشید که اظهارنظرهایی مانند این، نیاز به تعاریف رسمی ریاضی دارد که برای آنچه از آن به عنوان الگوریتم رمزگذاری یا رمزنگاری قالبی یاد می‌شود به معنای «ایمن بودن» است. هر یک با یک مدل ریاضی مطابقت دارد که می‌تواند برای اثبات خواص الگوریتم‌های سطح بالاتر مانند CBC استفاده شود. این رویکرد کلی در مواجهه با رمزنگاری - اثبات الگوریتم‌های سطح بالاتر (مانند CBC) با فرضیه‌های صریح بیان شده در مورد اجزای آنها (مانند رمزنگاری قالبی) ایمن است - به عنوان امنیت قابل اثبات شناخته شده است. | ## بخش 3: رمزنگاری قالبی | مدل استاندارد اگر مهاجمی نتواند تفاوت بین رمزنگاری قالبی (مجهز به کلید تصادفی) و یک جابجایی تصادفی را نشان دهد، یک رمزنگاری قالبی در مدل استاندارد ایمن است. ما بازی زیر را تصور می‌کنیم: شخصی که بازی را اجرا می‌کند، یک سکه را به هوا می‌اندازد. اگر سکه به رو فرود بیاید، یک کلید تصادفی K را انتخاب می‌کند و تابع f = E K را تعریف می‌کند. اگر سکه به زیر فرود بیاید، او یک انتخاب از جایگشت تصادفی بر روی مجموعه ای از رشته‌های N بیتی دارد، و تابع f = تعریف می‌کند. مهاجم رشتهٔ X که n-bit دارد را انتخاب می‌کند و شخصی که بازی را انجام می‌دهد مقدار f (X) را به او می‌گوید. (هر یک از این فعل و انفعالات q یک واکشی است .) مهاجم حدس می‌زند که چگونه سکه به زمین فرود آمده‌است. مهاجم، که می‌توانیم آن را به عنوان یک الگوریتم در نظر بگیریم، یک دشمن نامیده می‌شود. توجه داشته باشید که یک دشمن می‌تواند با حدس زدن تصادفی (یا مثلاً همیشه «رو» را حدس بزند) شانس ۵۰٪ پیروزی را تضمین کند؛ بنابراین، فرض کنید P E (A) این احتمال را نشان دهد که طرف A در این بازی درمقابل E برنده شود و سود A را به شکل مقابل تعریف کند (P E (A)-1/2)2. رمزنگاری قالبی E با توجه به محدودیت‌های مشخص شده در q و زمان اجرای طرف مقابل، اگر دارای جا به جایی شبه تصادفی (PRP) باشد، هیچ حریفی با سود قابل بیشتر از ۰ نخواهد داشت. یک مهاجم غیر انطباقی است اگر همه مقادیر q برای X را قبل از بازی انتخاب کند (یعنی از اطلاعاتی که از نمایش‌های قبلی استفاده نشده‌است، برای انتخاب هر X در هر صورت استفاده می‌کند). به عنوان مثال، می‌توان یک بازی مشابه را برای اندازه‌گیری امنیت الگوریتم رمزنگاری مبتنی بر رمزنگاری قالبی تعریف کرد و سپس سعی کرد (از طریق یک استدلال کاهشی) نشان داد که احتمال برنده شدن حریف در این بازی جدید، خیلی بیشتر از PE(A) برای A نیست. (کاهش به‌طور معمول محدودیت‌هایی در q و زمان اجرای A را در اختیار شما قرار می‌دهد.) به‌طور برابر، اگر مقدار P E (A) برای همه Aهای مربوط کم باشد، پس هیچ مهاجمی احتمال قابل توجهی برای برنده شدن در بازی جدید ندارد. درواقع این ایده را رسمیت می‌بخشد که الگوریتم سطح بالاتر امنیت رمزنگاری قالبی را به ارث می‌برد. IDEA بخش اعظم امنیت خود را با در هم آمیختن عملیات از گروه‌های مختلف - اضافه شدن و ضرب ماژولار، و منحصر به فرد بصری یا (XOR) - که از نظر جبری «ناسازگار» هستند، به دست می‌آورد. طراحان IDEA را برای اندازه‌گیری استحکام آن در برابر تحلیل رمزنگاری دیفرانسیل بررسی کردند و به این نتیجه رسیدند که تحت فرضیات خاصی از آن مصون است. یکی از اهداف RC5، فوریت مطالعه و ارزیابی چنین عملیاتی به عنوان رمزنگاری اولیه بود. سادگی خسته کننده الگوریتم، همراه با جدید بودن چرخش وابسته به داده‌ها، RC5 را به یک موضوع جذاب برای مطالعه برای رمزنگاری تبدیل کرده‌است. | ## جمع‌بندی | AES در سال ۲۰۰۱ پذیرفته شده توسط NIST، دارای اندازه بلوک ثابت ۱۲۸ بیت و اندازه کلید ۱۲۸، ۱۹۲ یا ۲۵۶ بیت است، در حالی که Rijndael را می‌توان با اندازه‌های بلوک و کلید در هر چند برابر از ۳۲ بیت، با حداقل ۱۲۸ مشخص کرد.