پیش نیاز های رمزنگاری
با توجه به پست قبل در رابطه با آشنایی با رمزنگاری , همونطور که گفته شد اصلی ترین نیاز برای درک یک سیستم رمزکننده و با انجام هر نوع حمله روی یک سیستم رمزنگاری , دانش ریاضی به خصوص جبر هستش . البته این نیاز بیشتر در الگوریتم های امروزی دیده میشه اما خب مدل هایی مانند Hill Cipher هم در ۱۰۰ سال گذشته , یعنی در ۱۹۲۹ ارئه شدند که پایه اون ها جبر خطی بوده و با ماتریس قابل پیاده سازی شدند .
همچنین از استفاده های دیگر ریاضی بحث نطریه اعداد و آشنایی با قواعد اعداد خاص مانند اعداد اول و همچنین مسائلی مانند لگاریتم گسسته هستش که بسیار پرکاربرد و ضروری خواهد بود . طبیعتا برای پیاده سازی و بررسی و حل چالش هایی که مطرح میشه نیاز به یک زبان برنامه نویسی سطح بالا با کتابخانه هایی کارا در حیطه ریاضی نیاز مندیم همچنین به یک سری ابزار هم برای سریع تر نمودن فرآیند های آنالیز و بررسی نیاز داریم که به شرح زیر هستند :
- لینوکس (توزیع Ubuntu)
- زبان برنامه نویسی پایتون (البته از هر زبانی میشه استفاده کرد)
- Matlab یا Octave
- Sage Math (به صورت باینری برای توزیع های لینوکس و به صورت ماشین مجازی برای ویندوز موجود هست)
- Yafu (ابزاری برای فاکتور کردن اعداد)
- Cryptool (این ابزار برای ویندوز هست اما در لینوکس با Wine قابل اجراست)
- ابزار های آنلاین مختلف که در طول زمان معرفی میشوند .
در مورد سیستم عامل مشکلی با ویندوز یا مکینتاش نیست . صرفا به این جهت که بیشترین کارایی از Sage رو به صورت باینری داریم . همچنین برای برنامه نویسی با پایتون برای نصب بعضی از کتابخونه های مورد نیاز مانند gmpy2 ممکن هستش که در ویندوز به مشکل برخورد کنید . همچنین در صورتی که زبان برنامه نویسی مورد علاقتون جز پایتون هست و میبینید که نیاز هاتون رو برآورده میکنه میتونید از اون ها هم استفاده کنید .
در مورد Sage ما به دوحالت کاربرد داریم :۱ – استفاده به شکل مستقیم از خود باینری نصب شده ۲ – استفاده از کتابخانه های Sage در پایتون . بیشترین استفاده برای حل مسائل جبری هستش .
در مطالب بعدی شروع به بررسی روش های مختلف رمزنگاری و استفاده از این ابزار میپردازیم .
مطالب زیر را حتما مطالعه کنید
آشنایی با Bloom Filter
احراز هویت توسط JWT
آسیب پذیری DDE مایکروسافت
تست نفوذ اینستاگرام با Burp Suite
اکسپلویت کردن آسیب پذیری SQL Injection
بررسی وبسایت های وردپرسی با ابزار Wpscan
2 Comments
Join the discussion and tell us your opinion.
دیدگاهتان را بنویسید لغو پاسخ
برای نوشتن دیدگاه باید وارد بشوید.
الان اول پایتون بعد لینوکس بعد مطلب بعد ان یسری برنامه دیگه رو یاد بگیریم و بیایم تو رمز؟
یاخدا،این خودش چند سال طول میکشه که
نمیشه بخش بخش یادبگیریم؟
یا موضوع به موضوع؟
نه خب اجبار نیست که حتما پایتون رو به عنوان زبان استفاده کنید و سیستم عامل هم حتما لینوکس باشه … ترجیحا لینوکس به این دلیل که بعدا برای نصب بعضی کتابخانه ها مشکلی نباشه
یا مثلا برای اجرای sage بعدا در لینوکس کارایی بهتر هست تا اینکه بیاید ماشین مجازیشو در ویندوز اجرا بکنید .
و پایتون برای اینکه زبان تفسیری هست و نیاز به هر بار کامپایل کردن نداره همچنین کتابخانه های خوبی هم موجود هست براش