Cast-۱۲۸
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 |
منابع [ویرایش]
- مشارکتکنندگان ویکیپدیا، «CAST-128»، ویکیپدیای انگلیسی، دانشنامهٔ آزاد (بازیابی در ۲۹ ژوئن ۲۰۱۲).
پیوند به بیرون [ویرایش]
- RFC 2144 — The CAST-128 Encryption Algorithm
- CAST related publications
- SCAN's entry for CAST-128
- List of algorithms approved for Canadian government use