کاست-۱۲۸

از ویکی‌پدیا، دانشنامهٔ آزاد
شماتیک یک نمونه کاست ۱۲۸ بلند

cast-128 اطلاعات رمزنگاری بلوکی

نام = CAST-128

طراحان = Stafford Tavares و Carlisle Adams

تاریخ انتشار = 1996

اندازه کلید = از 40 تا 128 بیت

اندازه بلوک داده = 64 بیت

سازوکار بکار گرفته شده = رمز فیستل

تعداد دورها = 12 یا 16

در رمزنگاری، cast-128 (معادل آن cast-5) یک رمزنگاری بلوکی است که در تعدادی از کاربردها، به ویژه به عنوان رمز پیش فرض در برخی از نسخه‌های PGP و GPG مورد استفاده است. هم چنین توسط ایجاد امنیت ارتباطات برای استفادهٔ دولت کانادا تأیید شده‌است.

الگوریتم توسط Stafford Tavares و Carlisle Adams در سال 1996 و با استفاده از رویه طراحی CAST، ایجاد شد. عضو دیگری از خانوادهٔ رمزهای CAST، یعنی cast-256(کاندیدای سابق مسابقه طراحی AES)از cast-128 مشتق شده بود.

به گفته برخی منابع، نام CAST بر اساس حروف نام مخترعان آن است. اگر چه در گزارش Bruce Schneier به ادعای نویسنده "به نام التماس کردن به تصاویر تصادفی است".

cast-128 یک ساختار 12 یا 16 دوری فیستل، بااندازه بلوک 64 بیتی واندازه کلید بین 40 تا 128 بیتی( اما تنها با افزایش 8 بیت) است. 16دور کامل، زمانیکه اندازه کلید از 80بیت بزرگتر باشد، مورد استفاده قرار می‌گیرد. قطعات شامل جعبه بزرگ 8×32 جایگزینی (s-box) بر پایه توابع خم، کلید وابسته به چرخش‌ها، جمع و تفریق مدوله شده و عمل XOR، می‌باشد . سه نوع متفاوت تابع دور وجود دارد، اما آن‌ها در ساختار مشابه‌اند و تفاوت آن‌ها فقط در انتخاب عمل دقیق(جمع، تفریق یا XOR) در مقاطع مختلف است.

هرچند امانت گذار (به انگلیسی: entrust)، رویهٔ طراحی CAST را برای ثبت اختراع نگه می‌دارد، CAST-128 در سراسر جهان بر اساس یک حق امتیاز رایگان برای استفاده‌های تجاری و غیر تجاری در دسترس است.

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

رمزگذاری :

کلید 128بیتی = 01 23 45 67 12 34 56 78 23 45 67 89 34 56 78 9A

متن آشکار = 01 23 45 67 89 AB CD EF

متن رمز = 23 8B 4F E5 84 7E 44 B2

i K[i] Km[i] Kr[i]
1 BC173E26 BC173E26 00000015
2 78A207EF 78A207EF 0000001B
3 ECE0A7F5 ECE0A7F5 00000001
4 7CB0FB6B 7CB0FB6B 00000005
5 A5D2D636 A5D2D636 00000003
6 D78B9407 D78B9407 0000001F
7 56C069D3 56C069D3 0000001F
8 82E8240C 82E8240C 0000001C
9 33543749 33543749 00000010
10 8813D5C7 8813D5C7 0000001F
11 B9FCD732 B9FCD732 00000012
12 59106B36 59106B36 00000001
13 496AF1A9 496AF1A9 0000001D
14 18F8DC43 18F8DC43 00000019
15 8D9DEF0F 8D9DEF0F 00000001
16 83EDA384 83EDA384 0000000F

رمزگشایی :

کلید 128بیتی = 01 23 45 67 12 34 56 78 23 45 67 89 34 56 78 9A

متن آشکار = 23 8B 4F E5 84 7E 44 B2

متن رمز = 01 23 45 67 89 AB CD EF

i K[i] Km[i] Kr[i]
1 BC173E26 BC173E26 00000015
2 78A207EF 78A207EF 0000001B
3 ECE0A7F5 ECE0A7F5 00000001
4 7CB0FB6B 7CB0FB6B 00000005
5 A5D2D636 A5D2D636 00000003
6 D78B9407 D78B9407 0000001F
7 56C069D3 56C069D3 0000001F
8 82E8240C 82E8240C 0000001C
9 33543749 33543749 00000010
10 8813D5C7 8813D5C7 0000001F
11 B9FCD732 B9FCD732 00000012
12 59106B36 59106B36 00000001
13 496AF1A9 496AF1A9 0000001D
14 18F8DC43 18F8DC43 00000019
15 8D9DEF0F 8D9DEF0F 00000001
16 83EDA384 83EDA384 0000000F

منابع[ویرایش]

پیوند به بیرون[ویرایش]