کدهای گروهی کیست؟ توضیح بده.
زمانی که صحبت از انتقال اطلاعات به میان می‌آید، رمزنگاری نقش مهمی ایفا می‌کند. معمولاً در رمزنگاری علاقمند به حفظ سلامت و امنیت اطلاعات هستیم. از این رو روشهایی که امکان تصحیح خطا را فراهم می‌کنند و همچنین قابل بازیابی نیستند. چنین روش‌هایی معمولاً سنگین ترند و حچم داده بیشتری منتقل می‌کنند در نتیجه کند تر هستند و گران تر. معمولاً در یک انتخاب بین امنیت و هزینه انتقال اطلاعات هستیم. برای بحث بیشتر می‌توانید به مباحث تخصصی موجود مراجعه کنید.به هر حال مبانی رمزنگاری و کدگذاری خارج از این بحث است و این نوشتار تنها به بحث ریاضی حول توابع کدگذاری است که حافظ ساختار گروه هستند. کدهای گروهی.درصورتی که E : Zm۲→Zn۲یک تابع کدگذاری باشد، کد C = E(Zm۲)۰ را کد گروهی می نامند اگر C زیر گروهZn۲باشد.قضایا.مثلاً اگر C مجموعه‌ای از کدواژه‌های باشد که ۱۰۲۴=|C| باشد، برای یافتن مینیمم فاصله بین کدواژه‌ها مجبوریم ۵۲۳۷۷۶ = formula_1فاصله را محاسبه و بررسی کنیم، در حالی که اگر نشان دهیم C دارای ساختار گروهی است، کافیست ۱۰۲۳ عنصر غیر صفر آن را بررسی کنیم. برای تعیین سختار گروهی برای کدواژه‌ها از خواص هم ریختی استفاده می کنیم. بدین ترتیب که اگرE : Z۲m→Z۲nهمریخت با گروهی باشد، آنگاهC = E(Zm۲)۰ زیر گروهی از Zn۲است.x= x۱x۲...sm&lt; ∈Zm۲ و . H.(E(X))tr =۰ به خصوص، E(x)۰ بنابراین دو ویژگی به صورتی یکتا تعیین می‌شوند. اگر y نیز پیامی باشد، آنگاه x+y نیز یک پیام است و m مؤلفه اول E(x+y)۰ نظیر مورد E(x)+E(y)۰ عبارت است از(x۱+y۱)،(x۲+y۲)،...،(xm+ym)به علاوه داریمH.(E(x)+E(y))tr = H.(E(x)tr+E(y)tr) = H.E(x)tr+ H.E(y)tr = ۰+۰=۰کدگشایی با پیشروهای هم مجموعه‌ای.برای تهیه الگویی برای کدگشایی، ساختار گروهی C را، همراه با هم مجموعه‌هایش در به کار می بریم. برای این منظور مراحل زیر را طی می کنیم:جدول زیر با اعمال روش بالا به تابع کدگذاری E : Z۳۲→Z۶۲است با تعریف روبرو بدست می‌آید:formula_2formula_3و ماتریس H که ترانهاده بخش بخش G است را چنین در می یابیم:formula_4بدین ترتیب برای واژه‌های دریافتی r۱ = 101001, r۲ = 111010, r۳ = 001001, r۴ = 111011کدواژه‌های زیر معتبر خواهند بودc۱ = 101001, c۲ = 111010, c۳ = 001001, c۴ = 111011و پیام‌های زیر بدست می آیند:w۱ = 101, w۲ = 111, w۳ = 001, w۴ = 101r۲ در یک هم مجموعه C هستند اگر و تنها اگر H.(r۱)tr = H.(r۲)trدر واقع اگرr۱ و r۲ در یک هم مجموعه باشند، آن گاهr۱ = x + c۱ و r۲ = x + c۲که در آن x پیشرو هم مجموعه‌ای است و c۱و c۲ کدواژه‌های واقع در بالای ستون‌های مربوط به r۱ و r۲هستند، در این صورت :H.(r۱)tr = H.(x + c۱)tr = H.xtr+ H.(c۱)tr = H.xtr+۰=H.xtrزیراc۱ کدواژه است. همچنین H.(r۱)tr = H.xtrپس نشانگان یکی است. از طرف دیگر:H.(r۱)tr = H.(r۲)tr =&gt; H.(r۱ + r۲)tr = ۰ =&gt; r۱ + r۲یک کدواژه c است. پس r۱ + r۲ = c لذا r۱ = r۲ + c و r۱ ∈ r۲ + C چون r۲ ∈ r۲ + C داریم که r۱ و r۲ در یک هم مجموعه‌اند.در این روش کدگشایی برای یافتن یک واژه باید تمام درایه‌های جدول تهیه شده را بررسی کرد که در مثال یاد شده این تعداد به 64 می‌رسد. هم چنین در C⊆Z۱۲۲ باید 4096 رشته را بررسی کنیم. همچنین حجم بیت‌های ذخیره شده، در C⊆Z۶۲ برابر با 384 بیت و در C⊆Z۱۲۲ برابر با 49152 بیت است. این وضعیت چندان مطلوب نیست. برای این منظور جدول زیر را تشکیل می دهیم:formula_5که در سمت راست هر سطر پیشروهای هم مجموعه نشانگان هر سطر آمده‌است.اینک با دریافت واژه r با شیوه زیر اقدام به کدگشایی آن می کنیم:در نتیجه از جدول بالا به دو ستون سمت راست احتیاج داریم. که در مجموع 72 بیت حافظه نیاز دارد و این عدد در مقابل 384 بیت پیشرفت قابل توجهی به‌شمار می‌رود.(البته باید 18 بیت مربوط به H را نیز در نظر بگیریم که در مجموع می‌شود 90 بیت).این فرآیند را کدگشایی به وسیله پیشروهای هم مجموعه می گویند.واژه باشد و از r به صورت کدواژه c*کدگشایی شود، در این صورت برای همه کدواژه‌های cداریم: d(c*,r) ≤ d(c,r)۰