سفیدکردن کلید
سفیدکردن کلید (به انگلیسی: key whitening) در رمزنگاری، به عنوان یک تکنیک برای افزایش امنیت رمزگذاری قطعهای استفاده میشود. این روش شامل یک سری مراحل بوده که در آن دادهای خاص با بخشی از کلید رمزنگاری، ترکیب خواهد شد.
معروفترین و پراستفادهترین شکل این روش، روش یای انحصاری-رمز-یای انصحاری (به انگلیسی: xor-encrypt-xor) است. (در این روش از یک یای انحصاری ساده قبل از اولین دور و بعد از آخرین دورِ رمزنگاری استفاده میشود)
اوبین رمزگذاری قطعهای که از این روش استفاده نمود، رمزگذاری استاندارد رمزنگاری دادهها تغییریافته بود. در این روش از در کنار کلید ۵۶ بیتی موجود در روش استاندارد رمزنگاری دادهها، دو کلید اضافی به طول ۶۴ بیت برای سفیدکردن کلید استفاده شد. با انجام این کار، بدون تغییر جدی در الگوریتم قبلی و تنها با افزایش طول کلید استفادهشده در الگوریتم، پیچیدگی موجود در حمله جستجوی فراگیر افزایش یافت. به وجود آورندهٔ الگوریتم رمزگذاری استاندارد رمزنگاری دادهها تغییریافته، رونالد ریوست، این تکنیک را سفیدکردن (به انگلیسی: whitening) نامید.
در روش رمزنگاری الگوریتم رمزگذاری سریع دادهها (به انگلیسی: FEAL) (دنبالشده توسط خوفو و خفرع) بخشی از همان کلید اصلی برای رمزکردن بقیهٔ متن استفاده شد که از آن به عنوان یک الگوی جدید برای سفیدکردن کلید یاد میشود. اگر چه به دلیل استفاده از همان کلید موجود در الگوریتم، پیچیدگی الگوریتم در برابر حمله جستجوی فراگیر افزایش پیدا نکرد اما پیچیدگی آن در برابر دیگر حملات افزایش پیدا نمود.
در روش شبکه فایستل یا الگوریتمهای مشابه، سفیدکردن کلید میتواند امنیت الگوریتم را با اضافهکردن یکسری ورودی خاص به اولین و آخرین دور موجود در الگوریتم، افزایش دهد. البته این روش برای مقابله با حملات میانی (به انگلیسی: meet-in-the-middle attack) فایدهای ندارد. این نوع از روش سفیدکردن کلید به عنوان یک ویژگی در بسیاری از روشهای رمزگذاری قطعهای که بعدها به وجود آمدند، استفاده شد از جمله استاندارد رمزنگاری پیشرفته، مارس، رمزگذاری ریوست ۶ (به انگلیسی: RC6) و توفیش.
منابع
[ویرایش]اشنای, بروش (1996). Applied Cryptography (نسخه دوم ed.). جان وایلی و پسران. pp. 366–367. ISBN 0-471-11709-9.