نشریه‌ی الکترونیکی رایانا

گروه کامپیوتر مرکز راهنمایی علامه حلی یک تهران

نشریه‌ی الکترونیکی رایانا

گروه کامپیوتر مرکز راهنمایی علامه حلی یک تهران

نشریه‌ی الکترونیکی رایانا
طبقه بندی موضوعی
آخرین نظرات

۲ مطلب توسط «آقای احمدی» ثبت شده است

سلام.


بازی لایت بات را می‌توانید از اینجا دانلود کنید.


شایان باشید.

۱ نظر ۲۲ مهر ۹۵ ، ۱۳:۵۰
آقای احمدی



قدمت شغل شریف و معتبر دزدی، به ابتدای تاریخ بشر بر می‌گردد. در دوره پارینه‌سنگی، افرادی بودند که از قبایل همسایه، سنگ‌های تیز و سلاح‌های محکم‌تر را شبانه به "سپرده دراز مدت" می‌بردند. در عصر فلز، این ابزار‌های آهنی و برنزی (و در مواردی، آهنگر‌های قابل) بودند که به سرقت می‌رفتند، و به طور کلی در هر زمانی، افرادی صاحب داشته‌های ارزشمندی بوده و افرادی هم چشم ناپاک طمع به این داشته‌های ارزشمند دوخته‌ بوده‌اند. همیشه، این ارزشمند‌ترین چیز‌ها بودند که سرقت می‌شدند و طبعا، این ارزشمند‌ترین چیزها بودند که بیشترین حفاظت از آنها صورت می‌گرفت. از همان ابزار‌های آهنی و برنزی بگیرید، تا ماجرای هلن و فتح تروا و...


و امروز، که به قولی عصر اطلاعات است، مهم‌ترین و ارزشمند‌ترین داشته‌های بشر، تبدیل شده به دنباله‌ی درازی از 0 و 1، یا همان داده‌های دیجیتال. مهم‌ترین سرقت‌های دنیای امروز ما، سرقت اطلاعات و علم نفوذ است، که در مقابلش، علم‌هایی مانند امنیت و رمزنگاری قد علم کرده اند. این عید می‌خواهیم سری به این دنیای دزد و پلیس وار بزنیم، و تا حدی کار هردو گروه را بررسی کنیم!


در رمزنگاری، به بیان ساده، یک متن منبع با استفاده از یک کلید، تبدیل به متن رمزنگاشته می‌شود. سپس، متن رمزنگاشته به مقصد ما ارسال (مثلا ایمیل) می‌شود و مخاطب ما، با داشتن کلید رمزنگاری می‌تواند رمز را شکسته و به متن منبع دست پیدا کند. در حقیقت، فقط کسی که آشنا باشد (کلید را داشته باشد) می‌تواند زین پرده رمزی بشنود!


قوانین و اصول ساده‌ای در طراحی سیستم‌های رمزنگاری وجود دارد. مثل این چند نمونه:


1- اندازه کلید باید به نسبت اندازه متن کوچک باشد.

2- تمام اطلاعات و جزئیات سیستم رمزنگاری، باید برای همه در دسترس باشد. تنها چیزی که باید در یک سیستم رمزنگاری مخفی بماند، کلید است.

3- اندازه متن رمزنگاشته، نباید چندان بزرگتر از متن منبع باشد.


یک مثال معروف از سیستم رمزنگاری، سیستم جایگزینی است که در آن هر حرف، با حرفی که به اندازه کلید از آن جلوتر است جایگزین می شود. برای مثال، در صورتی که کلید این رمزنگاری عدد 5 باشد، متن

happynoruz

به

mfuudstwze


رمزنگاری می‌شود که در آن، حرف m پنج حرف جلوتر از حرف h است، حرف f پنج حرف جلوتر از حرف a است، و...

واضح است که برای شکستن این رمز، فقط لازم است کلید آن را بدانیم و تمام حروف متن را به اندازه کلید به عقب برگردانیم!



این عید، شما باید نقش یک مهندس امنیت را بر عهده بگیرید.


شما باید برنامه‌ای بنویسید که یک متن را از کاربر دریافت کرده (متن منبع) و سپس آن را رمزنگاری کند. همچنین برنامه ای بنویسید که متن رمزنگاشته و کلید رمزنگاری آن را دریافت کرده، رمز متن را بشکند!

طراحی الگوریتم رمزنگاری، به عهده شماست و هر الگوریتمی که قوانین زیر را رعایت کرده باشد، مورد قبول است.


1- طول متن رمزنگاشته، باید حداکثر دوبرابر متن منبع باشد.

2- کلید باید یک عدد حداکثر 5 رقمی باشد.

3- متن رمزنگاشته، باید یک "عدد" باشد!


الف) برنامه‌ای بنویسید که عدد n را از کاربر دریافت کرده، سپس n حرف کوچک انگلیسی را از کاربر گرفته، آنها را رمزنگاری کند و سپس یک عدد حداکثر 2n رقمی را که همان متن رمزنگاشته است، نمایش دهد.

ب) برنامه‌ای بنویسید که نخست یک عدد به عنوان متن رمزنگاشته گرفته، سپس یک عدد به عنوان کلید رمزنگاری از کاربر دریافت کند و در نهایت، متن منبع را به صورت چند حرف کوچک انگلیسی (هرکدام در یک خط) نمایش دهد.


{امتیازی}

    بخش الف را طوری بنویسید که کلید رمزنگاری، هربار به صورت رندوم تولید شود و پس از رمزنگاری، کلید هم در کنار متن رمزنگاشته نمایش داده شود.

۱۲ نظر ۰۱ فروردين ۹۵ ، ۲۳:۴۵
آقای احمدی