شرکت برنامه نویسی آوا

 پروژه کاربرد ماتریس‌ها در رمزی کردن و رمزگشایی پیام‌های متنی به روش HILL CIPHER با زبان متلب

    کُد و رمزی کردن پیام‌های متنی
یکی از ساده‌ترین روش‌ها برای کد کردن پیام جایگزین کردن هریک از حروف با یک حرف دیگر با استفاده از جدولی بصورت جدول(1) است. این روش در بسیاری از جدول‌ها و معماهای موجود در مجلات و روزنامه‌ها مورد استفاده قرار می‌گیرد. در این روش فاصله بین کلمات و علامت‌های نگارشی در نظر گرفته نشده‌است.
به‌طور مثال عبارت VECTOR SPACE با این روش بصورت JGWFNSEMYWG کد می‌شود. برای دیکد کردن این روش از جدولی بصورت جدول(2) استفاده می‌نماییم.
بطور مثال عبارت کد شده XPLGYSYXDGCSY با استفاده از جدول(2) بصورت LINEARALGEBRA دیکد می‌شود. یکی از اشکالات عمده این روش کدگذاری سهولت یافتن رمز آن است. زیرا در این روش هریک از حروف همواره با یک حرف ثابت کد می‌شود و با توجه به تعداد برخی از حروف پر کاربرد در زبان انگلیسی له آسانی می‌توان جدول کدگذاری مربوطه را به‌دست آورد.
یکی دیگر از روش‌های کدگذاری، که در مبحث جبرخطی مطرح می‌گردد، استفاده از اعداد در کد کردن پیام‌های متنی است.در این روش با احتساب فاصله بین کلمات و دو علامت نگارشی نقطه و علامت پرسشی از جدولی به شکل زیر برای کد گذاری استفاده می‌شود.
پیام متنی SINGULAR VALUE DECOMOSITION با استفاده از این روش با تفکیک به بردارهای سه‌تایی بصورت زیر کد می‌شود.
لازم به ذکر است در انتهای پیام جهت تکمیل بردار نهایی می‌توان حرف آخر را به تعداد مورد نیاز تکرار نمود. در مورد این مثال حرف N در اننتهای عبارت دوبار تکرار شده‌است. نهایتاّ پیام حاصل را می‌توان بصورت ماتریس زیر نمایش داد.
تا این مرحله توانستیم پیام متنی را با استفاده از جدول(3) بصورت اعداد کد نماییم. حال برای رمزی کردن این پیام از یک ماتریس کلیدی(Key matrix) معکوس 3×3 استفاده می‌نماییم،
با ضرب ماتریس کلیدی A در ماتریس P پیام رمز شده بدست می‌آید،
برای بیان این ماتریس بصورت عبارت رمز شده باید درایه‌های ماتریس را به اعدادی در محدوده 0 تا 28 تبدیل نماییم. برای این منظور از محاسبات ماجولار یا پیمانه‌ای (modular arithmetic) استفاده می‌نماییم. در این روش هریک از اعداد را با باقیمانده تقسیم آن عدد بر 29 جایگزین می‌نماییم، بطور مثال،
به این ترتیب ماتریس رمز شده در mod29 بصورت زیر بیان می‌شود،
حال با استفاده از جدول(3)  پیام رمز شده را می‌نویسیم،
RPJDXCFUWW? WNFCOT?FXF?PLXGXSN
مزیتی که این روش دارد آن است که پیدا کردن رمز به راحتی امکان پذیر نیست و هر حرف بهچند صورت متفاوت کد شده است. بطور مثال حرف O در این پیام سه بار تکرار شده و به فرم‌های G و Fو؟ رمز شده است.
    رمزگشایی و دیکُد کردن پیام‌های رمز شده
برای رمزگشایی عبارت‌های رمز شده و بازیابی پیام اصلی، از معکوس ماتریس کلیدی در MOD29 استفاده می‌شود. برای محاسبه معکوس اعداد در MOD29 بصورت زیر عمل می‌کنیم،
درواقع برای دو عدد aوb اگر (mod29) a×b≡1 باشد، در اینصورت عدد b معکوس عدد a خواهد بود. حال می‌خواهیم معکوس ماتریسA را به‌دست آوریم،
برای به دست آوردن A-1 در mod29 به‌صورت زیر عمل می‌کنیم،
می‌توان بررسی کرد که A-1 به دست آمده معکوس ماتریس کلیدی A در mod29 است،
حال از ماتریس A-1  می‌توان برای رمزگشایی عبارت رمز شده استفاده کرد. پیام رمز شده بصورت زیر می‌باشد،
RPJDXCFUWW? WNFCOT?FXF?PLXGXSN
ابتدا آن را بصورت بردارهای ستونی سه‌تایی نمایش می‌دهیم،
لذا حاصل بصورت ماتریس زیر بدست می‌آید،
حال A-1C را که همان ماتریس رمزگشایی شده است بدست می‌آوریم،
و نهایتاّ با استفاده از جدول (3) دیکُد می‌کنیم،
SINGULAR VALUE DECOMPOSITION
لذا با  داشتن ماتریس کلیدی و معکوس آن به راحتی می‌توان عبارت‎های متنی را کُد ، رمزی و سپس رمز گشایی و دیکُد کرد،
    پروژه
    معکوس اعداد 1 تا 28 را در mod29 و اعداد 1 تا 25 را در mod26 بدست آورید و آنها را در دو جدول جداگانه نمایش دهید. آیا تمام اعداد در mod29 و در mod26 معکوس پذیر هستند؟ چه نتیجه‌ای می‌گیرید؟
    یک ماتریس تحت چه شرایطی در mod29 و در mod26 معکوس پذیر است. معکوس ماتریس A را یکبار در mod29 و یکبار در mod26 به دست آورید.
A=[■(21&24&2@0&1&3@21&19&17)]
    عبارت LINER ALGEBRA IS FUN را با استفاده از ماتریس کلیدی A در mod29 رمز نمایید و پیام رمز شده را بدست آورید.
A=[■(4&9&15@15&17&6@24&0&17)]
    ماتریس کلیدی زیر را در نظر بگیرید،
A=[■(11&20&20@2&1&24@9&3&3)]
عبارت رمز شده زیر را با استفاده از ماتریس کلیدی A در mod26 رمزگشایی و دیکُد کنید.
CQUIWEHMWESTAHVPDIKUJIVPIAI
    اگر عبارت HILLCIPHER توسط ماتریس کلیدی A2×2 در mod29 بصورت JK.M⌐TWIBO رمز شده باشد، ماتریس کلیدی A2×2 را برای این رمزنگاری بدست آورید.
    با استفاده از نرم افزار MATLAB برنامه‌ای بنویسید که،
الف) با دریافت عبارت متنی اصلی و ماتریس کلیدی 3×3 عبارت رمز شده حاصل در mod29 را چاپ نماید.
ب) با دریافت متن رمز شده و ماتریس کلیدی 3×3 عبارت اصلی را در mod29 بازسازی کرده و نمایش دهد.

پرینت متن برنامه نوشته شده و پرینت اجرای آن را همراه با توضیحات لازم شخصاّ پیش از اتمام  مهلت تحویل آن ارائه نمایید. برای مطالعه بیشتر می‌توانید از مراجع زیر استفاده نمایید.
                                                                      

جهت انجام پروژه های پکت تریسر اینجا

کلیک کنید.

همچنین شما می توانید خدمات سفارش انجام پروژه های پکت تریسر و خدمات سفارش پروژه برنامه نویسی و خدمات انجام پایان نامه و خدمات سفارش پاورپوینت و خدمات سفارش تایپ و خدمات فروش پسته و خدمات تایپ آنلاین و خدمات سفارش ترجمه و خدمات انجام پروژه برنامه نویسی و خدمات انجام SPSS و خدمات برنامه نویسی اندروید و خدمات powerpoint services را از ما درخواست نمایید.