سلام
در پستهای قبل، درباره رمزهای سزار و ویژنر صحبت کردیم.
همونطور که دیدید، این دو رمز زمانی برای خودشون اعتباری داشتن، اما امروزه دیگه کاربرد چندانی ندارن.
بیایید جمعبندی کنیم و ببینیم چرا این رمزهای قدیمی دیگه کارایی ندارن و چطور میشه اونها رو رمزگشایی یا کرک کرد. 🙂
رمزنگاری کلاسیک
در گذشته، زمانی که هنوز کامپیوترهای پیشرفته وجود نداشت، از روشهایی برای پنهان کردن معنای کلمات و جملات استفاده میکردن که به این روشها رمزنگاری کلاسیک میگفتن.
این روشها معمولاً با جابجا کردن حروف یا جایگزین کردن اونها با چیز دیگه کار میکردن. مثالهایی از این رمزنگاری:
-
رمز سزار: فرض کنید هر حرف در یک متن، با حرفی چند خونه جلوتر در الفبا جایگزین میشه. مثلاً اگر کلید ۳ باشه، ‘A’ به ‘D’، ‘B’ به ‘E’ و همینطور تا انتها تغییر میکنه.
-
رمز ویژنر: این روش کمی پیچیدهتره. یه کلیدواژه داریم که حروفش بهصورت دورهای با متن اصلی ترکیب میشن و حروف رو تغییر میدن. اینطوری الگوهای تکراری توی متن رمز شده کمتر به چشم میخورن.
ضعف رمزهای قدیمی
با پیشرفت تکنولوژی و ظهور کامپیوترها، این رمزهای ساده دیگه نمیتونن امنیت اطلاعات ما رو تضمین کنن.
رمزنگاری کلاسیک چند تا ضعف اساسی داره که باعث میشه به راحتی شکسته بشه:
-
الگوهای تابلو: توی رمز سزار، چون جابهجایی حروف همیشه ثابته، اگه یه کلمه چند بار تو متن اصلی تکرار شده باشه، تو متن رمز شده هم دقیقاً به همون شکل تکرار میشه. این موضوع باعث میشه الگوها راحت شناسایی بشن.
-
میزان استفاده و فراوانی حروف الفبای انگلیسی در متون تحلیل فراوانی: هر زبانی الگوهای خاصی از تکرار حروف داره. مثلاً تو انگلیسی، حرف E بیشتر از بقیه حروف استفاده میشه. اگه توی متن رمز شده، یه حرف بیشتر از بقیه تکرار شده باشه، احتمالاً همون E بوده. به این روش میگن تحلیل فراوانی. (روش باحالیه؛ پیشنهاد میکنم دربارش مطالعه کنید)
-
کلیدهای کوتاه: مثلا توی رمز ویژنر، اگه کلید کوتاه باشه و چندینبار تکرار بشه، الگوهای تکراری متن رمز شده قابل شناسایی میشن.
-
مقاومت پایین در برابر حملات بروت فورس(Brute Force): رمزهای کلاسیک معمولا در برابر حملههای بروت فورس که میلیونها حالت در زمان کوتاهی امتحان میشه، اصلاً مقاوم نیستن.
دیگه دورهای که رمزها با دست شکسته بشن، گذشته… 😉
کرک رمز سزار با پایتون
حالا که میدونیم رمز سزار چقدر سادهست، بیاید یه کد پایتون بنویسیم برای کرکش:
توجه داشته باشید که بیش از 26 حالت هم ممکنه استفاده بشه.
رمزنگاری مدرن
با پیشرفت تکنولوژی و قدرت پردازش کامپیوترها، دیگه رمزهای ساده جواب نمیدن.
رمزنگاری مدرن از الگوریتمهای پیچیدهتری استفاده میکنه که در برابر حملات پیشرفته مقاومترن.
به خاطر همین، روشهای قدیمی فقط تو کتابهای تاریخ رمزنگاری باقی موندن! و توی معماها و CTF ها…
در مطالب بعدی به رمزنگاریهای مدرن میپردازیم.
کد رو خودت نوشتی؟
سلام رفیق
اگه AI بتونه الگوریتم دلخواهم رو به کد تبدیل کنه، اینکه خودم وقتم رو براش تلف نکنم، نوعی هوشمندی هست.