پرش به محتوا

کد(رمزنگاری)

از ویکی‌پدیا، دانشنامهٔ آزاد

کُد روشی است که برای رمزنگاری پیام استفاده می‌شود. این روش در سطح معنا عمل می کند، بدین معنا که کلمات یا عبارات پیام به چیز دیگری تبدیل می شوند. یک کُد ممکن است کلمه «ساعت» را به یک کلمه با‌معنی مثل «کوزه» یا بی‌معنی مثل «ثبزت» یا به یک عبارت مثل «دفتر املاک» تبدیل کند. آژانس امنیت ملی ایالات متحده یک کُد را اینگونه تعریف می‌کند: رمزنگاری مبتنی بر کد « یک سیستم رمزنگاری جایگزین است که در آن ورودی یک متن ساده که عمدتاً از کلمات، عبارات یا جملات تشکیل شده است می‌باشد و معادلهای کُد (یا «گروههای کُد») رمزنگاری شده ورودی معمولاً از حروف یا ارقام (یا هر دو) تشکیل شده‌اند که در حالت عادی یک ترکیب حروف با طولی یکسان و بی معنا هستند.». یک کتاب کُد که معادل متن ساده گروههای کُد را دارد برای رمزنگاری و رمزگشایی این روش، لازم است.[۱]

رمزنگاری مبتنی بر کُد از چند جهت از رمزنگاری مبتنی سایفر متفاوت است. روش‌های مبتنی بر سایفر پیام‌ها را مستقیماً در سطح حروف جداگانه یا گروه‌های کوچک حروف، یا حتی در رمزنگاری های مدرن در سطح بیت‌های جداگانه رمزگذاری می‌کنند. پیام‌ها را می توان در ابتدا با یک روش مبتنی بر کد و سپس توسط یک روش مبتنی بر سایفر رمزنگاری کرد.[۲] چنین رمزنگاری چندگانه یا «ابر رمزگذاری» ممکن است با هدف دشوارتر کردن تحلیل رمزنگاری انجام شود.

تفاوت دیگر بین روش های مبتنی بر کُد و سایفر، این است که یک روش مبتنی بر کد معمولاً یک حرف یا گروه‌هایی از حروف را مستقیماً بدون استفاده از ریاضیات رمزنگاری می‌کنند. برای مثال ممکن است عدد ۱۰۰۱ برای حرف «الف» و عدد ۱۰۰۲ برای حرف «ب» و عدد ۱۰۰۳ برای حرف «پ» استفاده شود. در نتیجه از ۱۰۰۱ ۱۰۰۲ ۱۰۰۳ برای ارسال «ابپ» استفاده شود. سایفر ها متقابلاً از یک فرمول ریاضی برای رمزنگاری حروف یا گروهی از حروف استفاده می‌کنند. برای مثال حروف را بر اساس ترتیب‌هایشان در الفبا به اعداد تبدیل می‌کنند (یعنی حرف «الف» به ۱ ٬ حرف «ب» به ۲ ٬ حرف «پ» به ۳ و الی آخر) و برای رمزنگاری هر حرف مقدارش را در عدد ۱۳ ضرب می‌کنند، یعنی «ابپ» تبدیل به ۱۳ ۲۶ ۳۹ خواهد شد.[۱]

کُدها نقطه ضعف‌های مختلفی، از جمله حساسیت به تحلیل رمز و دشواری مدیریت کتاب کُد دارند. به علت این نقاط ضعف، سایفرها اکنون روش غالب در رمزنگاری مدرن هستند.[۱]

در مقابل، به علت اینکه که کُدها بر اساس جایگزین کردن و نه بر اساس فرمول ریاضی کار میکنند، امکان تجزیه و تحلیل ریاضی عناصر مجزای کتاب کُد وجود ندارد. در مثال بالا، پیام رمزنگاری شده  ۱۳ ۲۶ ۳۹ را می توان با تقسیم هر عدد بر ۱۳ و سپس مرتب کردن آنها بر اساس حروف الفبا شکست. با این حال، تحلیل رمزنگاری مبتنی بر کُد هم امکان‌پذیر است. تمرکز چنین تحلیلی برروی پیدا کردن کتاب کُد با تطابق دادن فراوانی نسبی عناصر کد گزاری شده با فرکانس حروف در متن های آن زبان، با استفاده از تحلیل فراوانی است. در مثال بالا، گروه کد ۱۰۰۱٫۱۰۰۲٫۱۰۰۳ ممکن است بیش از یک بار رخ دهد و تعداد تکرار آنها ممکن است با تعداد دفعاتی که «۱» و «ب» و «پ» در پیام‌های متنی ساده فارسی اتفاق می‌افتد مطابقت داشته باشد.[۱]

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

  1. ۱٫۰ ۱٫۱ ۱٫۲ ۱٫۳ "Code (cryptography)". Wikipedia (به انگلیسی). 2023-09-04.
  2. David Lippman (2020-01-22). "Substitution Ciphers". Mathematics LibreTexts (به انگلیسی).