اس‌ام۴ (سایفر)

از testwiki
نسخهٔ تاریخ ۱۷ فوریهٔ ۲۰۲۵، ساعت ۱۵:۴۸ توسط imported>Sinafe (صفحه‌ای تازه حاوی «{{Short description|یک رمز قالبی چینی}} {{redirect|SMS4|ماهواره|ماهواره هواشناسی همگام}} {{Infobox encryption method| name = SM4 | image = File:SM4 round.svg | caption = | designers = مرکز امنیت ارتباطات و تضمین داده{{یادچپ|Data Assurance & Communication Security Center}}, آکادمی علوم چین | publish date = 2006 (از...» ایجاد کرد)
(تفاوت) → نسخهٔ قدیمی‌تر | نمایش نسخهٔ فعلی (تفاوت) | نسخهٔ جدیدتر ← (تفاوت)
پرش به ناوبری پرش به جستجو

الگو:Short description الگو:Redirect الگو:Infobox encryption method اس‌ام۴ با نام چینی ShāngMì 4 (SM4, 商密4) (با نام قبلی SMS4)[۱] یک رمز قالبی است که به عنوان یک استاندارد رمزنگاری تجاری در چین پذیرفته شده است.[۲] از این رمز در استاندارد ملی چین برای شبکه محلی بی‌سیم WAPI و همچنین در امنیت لایه انتقال استفاده می‌شود.[۳]

SM4 به‌عنوان یک رمز برای استاندارد آی‌تریپل‌ئی ۸۰۲٫۱۱آی پیشنهاد شده بود، اما تاکنون رد شده است. یکی از دلایل رد شدن آن، مخالفت با پیشنهاد «مسیر سریع»الگو:یادچپ مربوط به آی‌تریپل‌ئی بوده‌است.

SM4 در سال ۲۰۲۱ به صورت الگو:URL منتشر شد.

الگوریتم اس‌ام۴ توسط مرکز تضمین داده و امنیت ارتباطات، آکادمی علوم چینالگو:یادچپ و مرکز تست رمزنگاری تجاری اداره ملی رمزنگاری تدوین شده است. قسمت اعظم توسعه آن توسط لو شووانگ (الگو:Lang-zh) انجام شده. این الگوریتم در ژانویه ۲۰۰۶ از حالت طبقه‌بندی خارج شد و در اوت ۲۰۱۶ به عنوان یک استاندارد ملی (GB/T 32907-2016) پذیرفته شد.[۴]

جزئیات رمز

این رمز دارای اندازه کلید و اندازه بلوک ۱۲۸ بیتی است.[۵][۶] فرایند رمزگذاری یا رمزگشایی یک بلوک داده متشکل از ۳۲ دور است. در این الگوریتم، برای تولید کلیدهای هر دور از یک طرح زمان‌بندی کلید غیرخطی استفاده می‌شود و رمزگشایی از همان کلیدهای دور استفاده می‌کند با این تفاوت که ترتیبشان معکوس است.

کلیدها و پارامترهای کلید

طول کلیدهای رمزگذاری ۱۲۸ بیت است و به صورت MK=(MK0, MK1, MK2, MK3) نمایش داده می‌شود که در آن MKi (i=0, 1, 2, 3) یک کلمه ۳۲ بیتی است. کلیدهای دور به صورت (rk0, rk1, , rk31) نمایش داده می‌شوند که در آن هر rki(i=0, , 31) یک کلمه است. این کلیدها توسط کلید رمزگذاری اولیه و پارامترهای زیر تولید می‌شوند:

  • FK=(FK0, FK1, FK2, FK3)
  • CK=(CK0, CK1, , CK31)

مقادیر FKi و CKi کلمه هستند که در تولید کلیدهای دور استفاده می‌شوند.

دور

مقدار هر دور با استفاده از چهار خروجی دور پیشین Xi,Xi+1,Xi+2,Xi+3 و به شکل زیر محاسبه می‌شود: Xi+4=XiF(Xi+1Xi+2Xi+3rki)

تابع F یک تابع جایگزینی است که از یک تبدیل غیرخطی (جعبه اس) و یک تبدیل خطی L تشکیل شده است.

جعبه اس

الگو:Further جعبه اسالگو:یادچپ در SM4 برای ورودی ۸ بیتی و خروجی ۸ بیتی ثابت است و به صورت Sbox() نشان داده می‌شود. مشابه اِی‌ئی‌اِس، جعبه اس مبتنی بر وارون ضربی بر روی الگو:Math است. در اینجا تبدیل‌های آفین و پایه‌های چندجمله‌ای با اِی‌ئی‌اِس متفاوتند، اما به دلیل یکریختی آفین، با استفاده از جعبه اس اِی‌ئی‌اِس می‌توان آن را کارآمد محاسبه کرد. [۷]

تاریخچه

در تاریخ ۲۱ مارس ۲۰۱۲، دولت چین استاندارد صنعتی «GM/T 0002-2012 SM4 Block Cipher Algorithm» را منتشر کرد و به‌طور رسمی نام SMS4 به SM4 تغییر یافت.[۱]

نسخه‌ای از توضیحات اس‌ام۴ به زبان انگلیسی به صورت یک پیش‌نویس اینترنتی در دسترس است که حاوی یک پیاده‌سازی مرجع در آنسی سی است.[۸]

اس‌ام۴ بخشی از توسعه ARMv8.4-A در معماری آرم است.[۹] پشتیبانی از اس‌ام۴ برای معماری ریسک پنج در سال ۲۰۲۱ به عنوان افزونه Zksed تأیید شد.[۱۰]

پردازنده‌های اینتل از سری ارو لِیک، لونار لِیک، دایموند رَپید و کلیرواتر فارِست از اس‌ام۴ پشتیبانی خواهند کرد.[۱۱]

یادداشت‌ها


منابع

الگو:پانویس

پیوند به بیرون

الگو:بلوک رمزنگاری