موضوع مقاله: رمزنگاری شتاب‌زده پودینگ | مخاطب: عمومی | لحن: دانشنامه‌ای | ساختار: عنوان، مقدمه، 3 بخش، جمع‌بندی | مقاله: | # رمزنگاری شتاب‌زده پودینگ | مقدمه: این طرح در مسابقهٔ انتخاب استانداردهای رمزنگاری پیشرفته ایالات متحدهٔ آمریکا (AES) نامزد ناموفقی بود. | ## بخش 1: رمزنگاری شتاب‌زده پودینگ | از جمله ویژگی‌های آن متغیر بودن اندازهٔ ورودی بلوک و طول کلید می‌باشد و همچنین شامل یک پارامتر ورودی اضافی به نام " spice " به عنوان یک ثانویه و کلید غیرمخفی می‌باشد. رمزنگاری شتاب‌زده پودینگ به‌طور انحصاری تنها کاندید AES توسط رمزنگاران ایالات متحدهٔ آمریکا طراحی شده بود. توسعه کلیدی رمزنگاری شتاب‌زده می‌تواند یک کلید (از هر تعداد بیت) برای هر کدام از پنج زیر گروه رمزنگاری را بگیرد. برای استخراج کلید از این جدول کلیدی از الگوریتم توسعهٔ کلیدی استفاده می‌کنند: سه کلمهٔ اول [0]kx[2] , kx[1] ,k بر پایهٔ ثابت‌ها تنظیم می‌شود. زیر گروه رمزنگاری و طول کلید،[1]kx با یک ضرب محاسبه می‌شود و عملیات‌ها ی دیگر با اضافه کردن یا کمی تغییر کار می‌شود. هر واژهٔ پیوندی،[1]kx با استفاده از یک فرمول بازگشتی کار آمد از سه کلمهٔ پیشین تعیین می‌شود. از [0]kx آغاز کرده و تا زمانی که همۀ بیت‌های کلید استفاده شوند (کلیدهایی که بلندتر از۸٬۱۹۲ بیت می‌باشند، از روش پیچیده‌تری استفاده می‌کند). | ## بخش 2: رمزنگاری شتاب‌زده پودینگ | تعداد زیادی از جدول کلیدی که ساخته شده عبور می‌کتتد در هر بار یک تابع" stirring " برای هر کلمهٔ جدول کلیدی اعمال می‌شود. به دنبال آن تابع " stirring " از هشت متغیر داخلی استفاده می‌کند و همین‌طور از عملیات بیتی منطقی، عملیات تغییر بیت و عملیات افزودن و کاستن استفاده می‌کند. رمز گذاری و رمز گشایی هر کدام ار زیر گروه‌های رمز گذازی از الگوریتم‌های متفاوتی استفاده می‌کنند ولی با این حال دارای یک سری شباهت‌های کلی می‌باشند. برای تعیین رمزنگاری از سه ورودی استفاده می‌شود: متن ساده (از چند کلمهٔ ۶۴ بیتی به اضافهٔ " fragment ") spice (همان پارامتر ورودی اضافی) (هشت کلمهٔ ۶۴ بیتی به همراه مقدار پیش فرض) جدول کلیدی عملیاتی که در داخل رمز انجام می‌شود، شامل " stirring " می‌باشد، به طوری که برای هر کدام ترکیبی از متغیرهای داخلی در راه‌های مختلف با مقادیری از جدول کلیدی و پارامتر ورودی اضافی (spice) در فاصله‌های منظم می‌باشد. HPC کوتاه همچنین دارای دو جایگزین ثابت است و HPC کوچک شامل زیر گروه‌های رمزی خاصی می‌باشند. (به عنوان مثال s0 = s0 + s1 با استفاده از محاسبه یs0 = s0− s1 محاسبه می‌شود) عملیات دیگری را که برای خنثی کردن استفاده می‌شود پیچیده‌تر است که برخی از این ایده‌ها شامل موارد زیر می‌باشد: عملیاتی مانند (x = x (x>> 17 که در دو مرحله محاسبه می‌شد: x>> 17) x = x) که به دنبال آن (x = x (x>> 34 این رمز جستجوهایی را که به ارزش‌های جدول کلیدی وابسته است، استفاده می‌کند که می‌تواند انجام نشود و از آنجایی که این جستجو تنها به هشت بیت از یک متغیر بستگی دارد و هنگامی که لازم است که ارزش‌ها را که در جدول کلیدی قرار دارند، در رمزگشایی بررسی کنیم، هشت بیت آخر که مقدار یک نقطه پیش از محاسبه قابل پیش‌بینی است، حتی زمانی که در این عملیات نتوان بدون ارزش کلیدی آن را حذف کرد. به عنوان مثال اگر جستجوی k بر اساس هشت بیت آخر باشد، هنگامی که می‌خواهیم یک مرحله مانند (x = x(k <<8 لغو کنیم، می‌توانیم k را جستجو کنیم با توجه به این که هشت بیت آخر از x با این عملیات بدون تغییرند. | ## بخش 3: رمزنگاری شتاب‌زده پودینگ | رمزنگاری شتاب‌زده پودینگ همچنین می‌تواند برای رمز گذاری مقادیری را که در محدوده‌ای قرار دارند که رشته‌ها با تعداد بیتی برابر منتقل نشود. برای مثال می‌تواند یک عدد ۰ تا N را با تولید یک عدد دیگر از ۰ تا N رمزگذاری کند، این کار را با استفاده از کوچک‌ترین زیرگروه رمزی که بتواند ورودی را به عنوان یک رشته بیتی اداره کند انجام می‌دهد و آن را از ورودی به عنوان یک رشته بیت بارگذاری کند تا زمانی که خروجی در محدوده مناسب باشد. عملکرد ریچارد اسکروپل ادعا کرد که سریع‌ترین نامزد برای AES در یک معماری بیتی بود. و سه برابر سریع‌تر از دیگر کاندیدها بود و عملکرد آن بر روی یک دستگاه بیت مناسب بود. Schneier و همکاران و اسکروپل اشاره کرد که سرعت رمزگذاری به‌طور قابل ملاحظه‌ای بر روی دستگاه ۳۲ بیتی تأثیر می‌گذارد، زیرا استفاده سنگینی از عملیات ۶۴ بیتی، به ویژه تغییر بیت‌ها می‌کنند. راه‌اندازی کلید رمز شگفت‌انگیز پدینگ به عنوان ۱۲۰۰۰۰ سیکل در پنتیوم نسبتاً کند بود. | ## جمع‌بندی | به‌طور خاص، برخی از نظرات اشاره به مشکل نگه داشتن بیش از 2KB RAM برای جدول کلیدی است، داشتند.