موضوع مقاله: کاسومی | مخاطب: عمومی | لحن: دانشنامه‌ای | ساختار: عنوان، مقدمه، 3 بخش، جمع‌بندی | مقاله: | # کاسومی | مقدمه: کاسومی یک رمزگذاری قطعه‌ای است که در سامانه جهانی مخابرات سیار، جی‌اس‌ام، سرویس بسته امواج رادیویی تلفن همراه استفاده می‌شود. | ## بخش 1: کاسومی | در سامانه جهانی مخابرات سیار، کاسومی به عنوان الگوریتم‌های رازداری و یکپارچگی داده‌ها به ترتیب به نام‌های و به کار رفته‌است. در سرویس بسته امواج رادیویی، کاسومی در تولیدکنندهٔ جریان‌کلید برای GEA3 به کار رفته‌است. کاسومی برای پروژه مشارکتی نسل سوم شبکه تلفن همراه طراحی شده بود تا به وسیلهٔ گروهی از متخصصان الگوریتم‌های امنیتی (بخشی از سازمان استانداردهای اروپایی به نام نهاد استانداردهای مخابراتی اروپا) در سامانه امنیتی سامانه جهانی مخابرات سیار به کار رود. پیشنهاد به این صورت بود که برای بخش امنیتی، به جای توسعه یک الگوریتم رمزگذاری جدید، از یک الگوریتم موجود که مورد ارزیابی قرار گرفته بود، استفاده شود. آن‌ها برای این کار، الگوریتم را که توسعه‌یافته بود و توسط میتسوبیشی الکتریک، ثبت‌شده بود را انتخاب کردند. اصل الگوریتم برای پیاده‌سازی راحت‌تر توسط سخت‌افزار و فراهم‌کردن دیگر مجموعه نیازمندی‌های لازم برای امنیت ارتباطی تلفن‌های همراه 3G، مقداری تغییر کرد. توضیحات کاسومی یک الگوریتم است که به صورت خاص در تکنولوژی‌های 3GPP تعریف‌شده‌است. در هر دور، تابع مربوط به دور از یک زیرکلید ۱۶ بیتی که از طریق کلید ۱۲۸ بیتی اصلی الگوریتم و توسط یک زمان‌بند کلید ثابت تولیدشده است، استفاده می‌کند. زمان‌بند کلید کلید اصلی ۱۲۸ بیتی به اسم ، به ۸ زیرکلید ۱۶ بیتی تقسیم می‌شود: همچنین در کنار کلید اصلی، یک کلید تغییریافته به اسم استفاده می‌شود که به روش مشابه، به ۸ زیرکلید ۱۶ بیتی تقسیم می‌شود. این زیرکلیدهای هر دور، به وسیلهٔ چرخش بیتی به سمت چپ با مقداری مشخص یا از طریق کلیدهای تغییریافته (بدون تغییر) محاسبه می‌شوند. کلیدهای ۸ دو به صورت زیر هستند: زیراندیس‌های به کار رفته در فرمول‌های بالا به صورت گردشی است، یعنی اگر یک زیراندیس به صورت از عدد ۸ بزرگتر شد، باید ۸ تا از آن کم شود تا مقدار واقعی اندیس محاسبه شود. | ## بخش 2: کاسومی | الگوریتم الگوریتم کاسومی یک کلید ۶۴ بیتی را به صورت ۲ بخش ۳۲ بیتی در قالب بخش چپ و بخش راست پردازش می‌کند. ورودی الگوریتم کاسومی، الحاق سمت چپ و راست از اولین دور می‌باشد: در هر دور، بخش سمت راست با خروجی تابع دور، یای‌انحصاری می‌شود و بعد از آن، جای دو بخش سمت چپ و راست تغییر می‌کند. (در تابع زیر، همان کلیدهای دور ام محسوب می‌شوند) تابع دور برای دورهای زوج و فرد متفاوت می‌باشد. برای دورهای فرد، تابع دور به صورت زیر است: و برای دورهای زوج، تابع دور به صورت زیر است: . تابع یک تابع تغییر بیت‌ها به صورت بازگشت‌پذیر است در حالی که تابع یک شبکه فایستل ۳ دوره بازگشت‌ناپذیر است. تابع ورودی ۳۲ بیتی تابع ، به دو بخش ۱۶ بیتی تقسیم می‌شود: بخش سمت چپ ورودی با کلید دور ، به صورت بیتی عطف منطقی می‌شود و سپس به اندازهٔ یکی بیت، به سمت چپ چرخش داده می‌شود. خروجی آن، با سمت راست ورودی ، یای‌انحصاری می‌شود تا سمت راست خروجی تولید شود: سپس خروجی قبلی با کلید دور فصل منطقی می‌شود و سپس به اندازهٔ یک بیت به سمت چپ، چرخش پیدا می‌کند. سپس خروجی آن، با سمت چپ ورودی یای‌انحصاری می‌شود تا سمت چپ خروجی تولید شود: در نهایت خروجی، الحاق دو بخش سمت چپ و راست می‌باشد: تابع ورودی ۳۲ بیتی تابع ، به دو بخش ۱۶ بیتی تقسیم می‌شود: سپس در درون ۳ دور از شبکهٔ فایستل عبور می‌کند. در هر یک از سه دور شبکهٔ فایستل (دارای اندیس‌های ۱ و ۲ و ۳) سمت چپ تغییر می‌کند تا سمت راست دور بعدی را بسازد و سمت راست، به عنوان سمپ چپ دور بعدی استفاده می‌شود. در نهایت خروجی تابع به صورت روبرو خواهد بود: تابع تابع یک شبکه فایستل غیرمعمولی است. ورودی ۱۶ بیتی تابع به دو بخش به صورت روبرو تقسیم می‌شود: طول بخش به اندازهٔ ۹ بیت و طول بخش ، ۷ بیت است. | ## بخش 3: کاسومی | بیت‌های موجود در بخش چپ ابتدا توسط یک جعبهٔ جایگزینی (به نام ) مخلوط شده و نتیجه با گسترش‌یافتهٔ بخش راست با بیت صفر، فصل منطقی می‌شود تا بخش سمت راست جدید تولید شود: بیت‌های موجود در بخش راست با یک جعبهٔ جایگزینی ۷ بیتی (به نام ) مخلوط شده و سپس نتیجهٔ آن با هفت بیت کم‌ارزش سمت راست جدید ، فصل منطقی می‌شود تا ۷ بیت جدید سمت چپ تولید شود: در این‌جا کلمهٔ میانی با کلید دور فصل منطقی می‌شود تا تولید شود که در آن به طول ۷ بیت و به طول ۹ بیت است: بیت‌های موجود در بخش راست ابتدا توسط یک جعبهٔ جایگزینی (به نام ) مخلوط شده و نتیجه با گسترش‌یافتهٔ بخش راست با بیت صفر، فصل منطقی می‌شود تا بخش سمت راست جدید تولید شود: بیت‌های موجود در بخش چپ با یک جعبهٔ جایگزینی ۷ بیتی (به نام ) مخلوط شده و سپس نتیجهٔ آن با هفت بیت کم‌ارزش سمت راست جدید ، فصل منطقی می‌شود تا ۷ بیت جدید سمت چپ تولید شود: در نهایت خروجی تابع از الحاق دو بخش نهایی چپ و راست تولید می‌شود: جعبه‌های جایگزینی جعبه‌های جایگزنی به نام‌های S7 و S9 هر دو توسط عملیات عطف منطقی و یای انحصاری و جدول‌ها تعریف می‌شوند. عملیاتی منطقی برای پیاده‌سازی سخت‌افزاری استفاده می‌شوند ولی امروزه اکثراً برای نمایش آن از جدول‌ها استفاده می‌شوند. در سال ۲۰۰۳، الادبارکن ، الی‌بیهام و ناتان‌کلر یک حملهٔ مرد میانی را در برابر پروتکل جی‌اس‌ام معرفی کردند که مانع از رمزگذاری A5/3 شده و سبب شکستن پروتکل شد. در سال ۲۰۰۵، الی‌بیهام ، یک محقق اسرائیلی، اردانکلمن و ناتن‌کلر یک مقاله در مورد حمله بومرنگ برای کاسومی منتشر نمود که می‌تواند خیلی سریع‌تر از حمله جستجوی فراگیر ۸ دور کاسومی را بشکند. این حمله به 254.6 متن آشکار که هر کدام توسط ۴ کلید مرتبط به هم، رمز شده‌اند نیاز دارد و دارای پیچیدگی زمانی برابر با 276.1 عمل رمزگذاری کاسومی است. اگر چه این یک حمله کاربردی نیست، اما اعتبار برخی از اثبات‌ها را در مورد امنیت رمزگذاری پروتکل 3GPP را که بر اساس امنیت از پیش تعیین‌شدهٔ کاسومی بود، بی‌ارزش کرد. در سال ۲۰۱۰، دانلکمن و کلر و شمیر یک حملهٔ جدید را منتشر نمودند که یک شنونده اجازه می‌داد تا بتواند کلید کامل A5/3 را توسط حملهٔ کلیدهای مرتبط بدست آورد. مدت زمان و پیچیدگی فضای حمله آن قدر کم بود که حتی نویسندگان معتقد بودند که با یک کامپیوتر اینتل کور ۲ و حتی استفاده از پیاده‌سازی‌های غیر بهینهٔ کاسومی، آن را می‌توان در ۲ ساعت شکست. نویسندگان اشاره کرده بودند که شاید حمله برای روش A5/3 که در سامانه‌های 3G استفاده شده‌است، قابل استفاده نباشد. | ## جمع‌بندی | دلیل اصلی آن‌ها این بود که 3GPP تضمین کرده بود که تغییرات آن‌ها در الگوریتم MISTY، به صورت جدی امنیت الگوریتم را تحت تأثیر قرار نداده‌است.