آموزش تسلط بر امنیت مدرن و رمزنگاری با کدنویسی در پایتون

Master Modern Security and Cryptography by Coding in Python

نکته: آخرین آپدیت رو دریافت میکنید حتی اگر این محتوا بروز نباشد.
توضیحات دوره: تسلط بر امنیت رمزهای جریانی، رمزهای بلوکی، تبادل کلید، کلید عمومی، امضاها، فایل‌های سایه همه با پایتون. دریافت صحیح الگوریتم‌های رمزنگاری دشوار است درک و پیاده‌سازی الگوریتم‌های رمزگذاری مانند رمزهای جریان، رمزهای بلوکی، پیاده‌سازی و یادگیری الگوریتم تبادل کلید Diffie-Hellman نحوه استفاده از توابع هش در امضای دیجیتال، اعتبارسنجی HMAC و رمز عبور درک همه مفاهیم در TLS/SSL پشته پروتکل بهترین از همه... همه چیز را با نوشتن مثال ها در پایتون یاد بگیرید - بهترین راه یادگیری پیاده سازی و دیدن آن است سخنرانی پیش نیاز)

امنیت و رمزنگاری یک فرض در هر برنامه کاربردی در اینترنت امروز است. به دلایل واضح:

  • باید از داده‌هایی محافظت کنید که نمی‌خواهید دیگران به آنها دسترسی داشته باشند.

  • اینترنت به خودی خود باز است و هر کسی می تواند اطلاعات شخصی شما را استراق سمع کند.

  • ... و باید از خود در برابر احتمال نقض‌های ساده محافظت کنید.

چرا امنیت و رمزنگاری را با برنامه نویسی با پایتون یاد بگیریم؟

  • رمزنگاری با امتحان کردن اشتباهات ساده‌تر قابل درک است - نیازی به نظریه پیچیده نیست.

  • برای یادگیری این روش آسان به هیچ مهارت ریاضی سطح بالایی نیاز نیست.

  • اصول امنیت را با مثال های برنامه نویسی بیاموزید تا به طور کامل آن را درک کنید.

  • شما باید چیزهای سرگرم کننده ای مانند شکستن استفاده اشتباه از رمزها و شکستن رمز عبور خود از لپ تاپ را امتحان کنید.

چگونه از این دوره بهره خواهید برد؟

  • شما امنیت و اصل رمزنگاری و الگوریتم های رمزنگاری را درک خواهید کرد.

  • از اشتباهات امنیتی معمولاً با الگوریتم های رمزنگاری اجتناب کنید.

  • پشته کامل TLS/SSL را درک کنید.

  • پدهای یکبار مصرف، رمزهای جریانی، رمزهای بلوک، تبادل کلید، رمزگذاری کلید عمومی، توابع هش، امضاهای دیجیتال، HMAC، فایل‌های سایه و موارد دیگر پیاده‌سازی و استفاده شده است.

  • با نحوه استفاده صحیح از کتابخانه های رمزنگاری بدون اشتباه آشنا شوید.

  • همه اشتباهات بزرگتر را در رمزنگاری و امنیت امتحان کرد.

  • شک کردن رمزهای عبور از Shadow Files

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

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

این دوره موارد زیر را پوشش می دهد.

  • بزرگ‌ترین درس در رمزنگاری را بهتر است از رمز سزار باستانی آموخته شود - درسی که ضد شهودی است و برای درک آن نیاز به درک عمیق دارد.

  • چرا یک فضای کلید بزرگ به خودی خود امنیت را تضمین نمی کند، با شکستن رمز جایگزینی به بهترین وجه قابل درک است.

  • رمزگذاری ایده‌آل One Time Pad، محدودیت‌های آن، و چرایی ایده‌آل نبودن آن در زندگی واقعی.

  • Stream زندگی واقعی One Time Pads را رمزگذاری می‌کند، چرا از آنها استفاده می‌شود، اشتباه کردن چقدر آسان است و چگونه الگوریتم‌های امروزی (مانند A5/1) بزرگترین درس رمزگذاری را دنبال نمی‌کنند.

  • رمزهایی مانند DES، AES و GOST را با حالت‌های مختلف عملیات مسدود کنید.

  • با مثال نشان دهید که چرا Double DES امنیت اضافه نمی کند اما ما به DES سه گانه نیاز داریم.

  • چالش الگوریتم‌های تبادل کلید (برای به اشتراک گذاشتن یک کلید مخفی بدون تماس فیزیکی) را درک کنید و الگوریتم Diffie-Hellman را پیاده‌سازی و درک کنید.

  • رمزگذاری کلید عمومی با RSA. پیاده سازی و درک امنیت RSA. چقدر استفاده نادرست از RSA آن را خراب می کند.

  • توابع هش . نحوه استفاده از آنها برای امضای دیجیتال تأیید رمز عبور در فرآیند ورود به سیستم.

  • مثال ها را با HMAC درک و پیاده سازی کنید.

  • بررسی کنید که پروتکل‌های TLS/SSL و موارد دیگر را کاملاً می‌شناسیم.

این دوره ساختارهایی است که به روشی آسان قابل درک است

  • این برنامه به صورت گام به گام از بزرگترین آموزش های رمزگذاری کلاسیک ساخته شده است.

  • چگونه بهبود یافته اما همچنان آسیب پذیر است.

  • بدانید که چرا سیستم‌های رمزگذاری ایده‌آل مفید نیستند و چه مصالحه‌هایی باید اتخاذ کنید

  • انواع الگوریتم مدرن را در پشته TLS/SSL مدرن بیاموزید

شما کدنویسی می‌کنید - فقط با تلاش خودتان یاد می‌گیرید - بیش از 40 تمرین کدنویسی

  • در هر مرحله شما با من پیاده سازی را انجام می دهید.

  • شما آن را در تمام مراحل اجرا می کنید تا درک خود را از امنیت افزایش دهید

  • اساساً، ما در طول مسیر با بیش از 40 تمرین کدنویسی یاد می‌گیریم.

برای درک کامل این دوره به چه چیزی نیاز است؟

  • شما درک اولیه ای از Python دارید (به پیش نیازهای کامل مراجعه کنید)

  • ریاضی پایه را از مقطع ابتدایی درک کنید.

این دوره برای چه کسانی است؟

  • می‌خواهید پروتکل‌هایی مانند TLS/SSL را که برای اتصالات امن در اینترنت استفاده می‌شوند، یاد بگیرید و درک کنید

  • می‌خواهید بدانید امنیت چیست و سیستم‌ها چگونه آسیب‌پذیر هستند

  • کسانی که می خواهند آن را با مثال های برنامه نویسی امتحان کنند تا به طور کامل عمق هر درس را درک کنند

این دوره دارای 30 روز ضمانت بازگشت وجه است که تضمین می کند در صورت عدم رضایت، پول خود را پس خواهید گرفت. همچنین، در صورت داشتن هرگونه سوال، مستقیماً با من تماس بگیرید.


سرفصل ها و درس ها

معرفی Introduction

  • نمای کلی - چه چیزی یاد خواهید گرفت؟ Overview - What will you learn?

  • پيش نياز Prerequisite

  • درمورد من About me

معرفی Introduction

Caesar Cipher - بزرگترین یادگیری در Crypto (اصل Kerckhoff) Caesar Cipher - The biggest learning in Crypto (Kerckhoff's Principle)

  • مقدمه ای بر حل مشکل رمزنگاری Introduction to the problem cryptography solves

  • مقدمه ای بر سزار رمز Introduction to Caesar Cipher

  • نمونه رمز سزار Caesar Cipher Example

  • پیاده سازی رمز سزار (رمزگذاری) Implementing the Caesar Cipher (encryption)

  • رمزگذاری Caesar Cipher را پیاده سازی کنید Implement the encryption of Caesar Cipher

  • پیاده سازی رمز سزار (رمزگشایی) Implementing the Caesar Cipher (decryption)

  • رمزگشایی Caesar Cipher را پیاده سازی کنید Implement the decryption of Caesar Cipher

  • درک ضعف سزار رمز (اصل کرکهوف) Understand the weakness of Caesar Cipher (Kerckhoff's Principle)

  • اجرای حمله به رمز سزار Implementing an Attack on Caesar Cipher

  • یک حمله به رمز سزار را اجرا کنید Implement an Attack on Caesar Cipher

  • ضعف رمز سزار Weakness of Caesar Cipher

Caesar Cipher - بزرگترین یادگیری در Crypto (اصل Kerckhoff) Caesar Cipher - The biggest learning in Crypto (Kerckhoff's Principle)

رمز جایگزین - آیا امنیت فقط به اندازه فضای کلید بستگی دارد؟ Substitution Cipher - is security only dependent on the size of Key Space?

  • مقدمه ای بر جایگشت ها - برای درک رمزهای جایگزین به آنها نیاز دارید Introduction to permutations - you need them to understand Substitution Ciphers

  • پیاده سازی شمارنده برای تعداد جایگشت ها Implementing a counter on how many permutations there are

  • تعداد جایگشت ها را بشمارید Count number of permutations

  • عملکرد را بررسی کنید و درک کنید که فضای جایگشت چقدر سریع رشد می کند Check the performance and understand how fast the space of permutations grows

  • نحوه بررسی عملکرد How to check the performance

  • ارائه نتیجه اجرا Presenting the result of the performance

  • مقدمه ای بر جایگزینی رمز Introduction to Substitution Cipher

  • پیاده سازی رمز جایگزین (رمزگذاری) Implementing the Substitution Cipher (encryption)

  • پیاده سازی ساده Substitution Cipher A simple implementation of Substitution Cipher

  • پیاده سازی رمز جایگزین (رمزگشایی) Implementing the Substitution Cipher (decryption)

  • اجرای ساده رمزگشایی رمز جایگزینی A simple implementation of decryption of the Substitution Cipher

  • مقدمه ای بر تحلیل فرکانس Introduction to Frequency Analysis

  • اجرای تحلیل فرکانس Implementation of frequency analysis

  • تجزیه و تحلیل فرکانس Frequency Analysis

  • کد ما را اصلاح کنید Refactor our code

  • بازسازی کد ما Refactoring our code

  • حدس زدن (نه خوش شانس) Making guesses (not lucky ones)

  • حدس های واجد شرایط Making qualified guesses

  • کلید را حساب شده حدس بزنید Make a calculated guess of the key

  • کلید را حساب شده حدس بزنید Make a calculated guess of the key

  • حدس را نهایی کنید و متن رمزگذاری شده را بخوانید Finalise the guess and read the encrypted text

  • حدس را نهایی کنید و پیام رمزگذاری شده را بخوانید Finalise the guess and read the encrypted message

رمز جایگزین - آیا امنیت فقط به اندازه فضای کلید بستگی دارد؟ Substitution Cipher - is security only dependent on the size of Key Space?

One Time Pad (سیستم های ایمن قابل اثبات - چه چیزی است؟) One Time Pad (provable secure systems - what is the catch?)

  • معرفی XOR - زیباترین عملیات Introduction to XOR - the most beautiful operation

  • پیاده سازی یک مثال XOR برای درک بهتر آن Implementing an XOR example to understand it better

  • XOR XOR

  • One Time Pad توضیح داد One Time Pad explained

  • پیاده سازی یک بار پد Implementing the One Time Pad

  • یک بار پد One Time Pad

  • امنیت One Time Pad توضیح داد - چرا قابل اثبات است؟ The security of One Time Pad explained - why is it provable secure?

  • امنیت را با اجرای آن درک کنید Understand the security by implementation of it

  • مثالی که نشان می دهد One Time Pad نمی تواند شکسته شود Example showing that the One Time Pad cannot be broken

One Time Pad (سیستم های ایمن قابل اثبات - چه چیزی است؟) One Time Pad (provable secure systems - what is the catch?)

رمزهای جریان - پیاده سازی های عملی One Time Pads Stream Ciphers - The practical implementations of One Time Pads

  • چرا One Time Pads دشوار است و معرفی Stream Cipher Why One Time Pads are difficult and introducing the Stream Cipher

  • پیاده سازی رمز جریان ما Implementation of our Stream Cipher

  • اولین رمزگذاری جریان شما Your first Stream Cipher

  • مزایای رمزهای جریان در استفاده عملی Benefits of Stream Ciphers in practical use

  • پیاده سازی برای درک مزایای Stream Cipher Implementation to understand the benefit of Stream Cipher

  • کمی در انتقال گم شده است Bit lost in transmission

  • Authenticity توضیح می دهد - آیا Stream Cipher آن را دارد؟ Authenticity explains - does Stream Cipher have it?

  • پیاده سازی مشکل اصالت با رمزهای جریان Implementation of the Authenticity problem with Stream Ciphers

  • مشکل احراز هویت در رمزهای جریان Authentication problem in Stream Ciphers

  • استفاده مجدد از کلیدها در Stream Ciphers - یک نقطه ضعف دیگر Re-use of keys in Stream Ciphers - Another Weakness

  • پیاده سازی مشکل استفاده مجدد از کلیدها در رمزهای جریانی را توضیح می دهد Implementation explaining the problem of re-use of keys in Stream Ciphers

  • بهره برداری مجدد از کلید در رمزهای جریان Exploiting re-use of key in Stream Ciphers

  • آنتروپی پایین توضیح داده شده است Low entropy explained

  • نیروی بی رحم رمز جریان ما - بیش از یک نقطه ضعف آشکار شد Brute force of our Stream Cipher - More than one weakness revealed

  • حمله نیروی بی رحم به رمز جریان ما Brute force attack on our Stream Cipher

  • حمله نیروی بی رحم به فضای کامل کلید ژنراتور شبه تصادفی. Brute force attack on the full key space of the Pseudo Random Generator.

  • رمزهای جریان مدرن - A5/1 Modern day Stream Ciphers - A5/1

رمزهای جریان - پیاده سازی های عملی One Time Pads Stream Ciphers - The practical implementations of One Time Pads

رمزهای بلاک - DES Block Ciphers - DES

  • مقدمه ای بر رمزهای بلوکی Introduction to Block Ciphers

  • مقدمه ای بر DES Introduction to DES

  • GOST - از نظر آکادمیک شکسته است GOST - Academically broken

  • پیاده سازی که از DES استفاده می کند Implementation that uses DES

  • یک مثال ساده DES A simple DES example

  • DES و اصلاح متون رمز DES and modifying the cipher texts

  • اصلاح متن رمزی رمزهای بلوکی Modifying the cipher text of block ciphers

  • اجرای دوگانه DES Double DES implementation

  • یک حمله ساده به اجرای ضعیف Double-DES A simple attack on a weakened Double-DES implementation

  • Double DES و Triple DES توضیح داده شده است Double DES and Triple DES explained

رمزهای بلاک - DES Block Ciphers - DES

تبادل کلید Key Exchange

  • مشکل مبادله کلید توضیح داده شد Key Exchange Problem Explained

  • دوره سقوط در محاسبات مدولار Crash Course in Modular Calculations

  • پیاده سازی محاسبات ماژولار در پایتون Implementation of Modular Calculations in Python

  • اضافه مدولار ساده Simple modular addition

  • ضرب مدولار ساده Simple modular multiplication

  • یک مولد در ضرب مدولار A generator in modular multiplication

  • Diffie-Hellman Explained (پروتکل تبادل کلید) Diffie-Hellman Explained (the Key Exchange Protocol)

  • پیاده سازی یک ژنراتور اولیه تصادفی Implementing a Random Prime Generator

  • نکته: اگر از پایتون 3.8 استفاده نمی کنید (این را بخوانید) و یک اصلاح کوچک REMARK: If you do not use Python 3.8 (read this) and a small correction

  • اول را ایجاد کنید Generate a prime

  • پیاده سازی مولد گروه Implementing a Group Generator

  • یک ژنراتور بگیرید Get a generator

  • پیاده سازی تبادل کلید Diffie-Hellman Implementing Diffie-Hellman Key Exchange

  • اجرای کامل Diffie-Hellman Full implementation of Diffie-Hellman

  • دیفی هلمن و ملاحظات امنیتی Diffie-Hellman and Security Considerations

تبادل کلید Key Exchange

سیستم های رمزگذاری کلید عمومی - RSA Public Key Encryption Systems - RSA

  • رمزگذاری نامتقارن را درک کنید Understand Asymmetric Encryption

  • RSA چیست و درک کنید What is and Understand RSA

  • پیاده سازی RSA در پایتون Implementation of RSA in Python

  • توابع تولید کلید RSA را پیاده سازی کنید Implement the RSA key generation functions

  • تولید کلید RSA را پیاده سازی کنید و یک پیام رمزگذاری شده ارسال کنید Implement the RSA key generation and send an encrypted message

  • امنیت RSA و نحوه اجرای یک حمله The Security of RSA and how to Implement an Attack

  • شکستن RSA با فاکتورسازی Breaking the RSA by factoring

  • چگونه استفاده نادرست از RSA آن را خراب می کند - به عنوان مثال در پایتون How Wrong Use of RSA Breaks it - By Example in Python

  • استفاده نادرست از RSA Wrong use of RSA

  • ملاحظات امنیتی RSA Security Considerations of RSA

سیستم های رمزگذاری کلید عمومی - RSA Public Key Encryption Systems - RSA

توابع هش Hash Functions

  • یک تابع هش چیست و یک تابع هش خوب چیست What is a Hash Function and What is a Good Hash Function

  • پیاده سازی توابع هش در پایتون با هشلب Implementation of Hash Functions in Python with hashlib

  • استفاده از SHA256 و اصلاح ساده پیام SHA256 use and simple modifying of message

  • نحوه عملکرد امضای دیجیتال (از توابع هش استفاده می کند) و پیاده سازی آن How Digital Signatures works (uses hash functions) and implementation of it

  • امضای دیجیتال با RSA Digital signature with RSA

  • تلاش حوا برای تغییر یک پیام امضا شده - آیا باب متوجه خواهد شد؟ Eve trying to modify a signed message - will Bob figure it out?

  • تغییر پیام امضا شده Modifying a signed message

  • چگونه رمزهای عبور تأیید می شوند - با مثال واقعی از مک How Passwords are Verified - with real example from Mac

  • فرآیند تایید رمز عبور Password validation process

  • چرا از Salt استفاده می کنیم و با پیاده سازی در پایتون نشان داده شده است Why use Salt and shown by implementation in Python

  • چرا از نمک استفاده کنیم Why use Salt

  • چرا روی تابع هش تکرار می شود و با پیاده سازی در پایتون نشان داده می شود Why iterate over hash function and demonstrated by implementation in Python

توابع هش Hash Functions

HMAC - کد احراز هویت پیام چیست و چگونه استفاده می شود HMAC - What is a Message Authentication Code and how is it used

  • HMAC چیست؟ What is a HMAC?

  • پیاده سازی HMAC Implementation of HMAC

  • مثال HMAC HMAC example

  • اگر ایو پیامی را تغییر دهد چه اتفاقی می‌افتد - آیا باب متوجه می‌شود؟ What happens if Eve modifies a message - will Bob figure it out?

  • HMAC در حال تغییر پیام HMAC modifying the message

HMAC - کد احراز هویت پیام چیست و چگونه استفاده می شود HMAC - What is a Message Authentication Code and how is it used

پروتکل TLS/SSL - اکنون ما همه چیز را درک می کنیم TLS/SSL protocol - Now we understand it all

  • پروتکل TLS/SSL TLS/SSL protocol

پروتکل TLS/SSL - اکنون ما همه چیز را درک می کنیم TLS/SSL protocol - Now we understand it all

مرحله بعدی و بازخورد Next step and feedback

  • متشکرم Thank you

مرحله بعدی و بازخورد Next step and feedback

نمایش نظرات

نظری ارسال نشده است.

آموزش تسلط بر امنیت مدرن و رمزنگاری با کدنویسی در پایتون
خرید اشتراک و دانلود خرید تکی و دانلود | 160,000 تومان (5 روز مهلت دانلود) زمان تقریبی آماده سازی لینک دانلود این دوره آموزشی حدود 5 تا 24 ساعت می باشد.
جزییات دوره
7.5 hours
73
Udemy (یودمی) udemy-small
13 اردیبهشت 1401 (آخرین آپدیت رو دریافت می‌کنید، حتی اگر این تاریخ بروز نباشد.)
4,636
4.7 از 5
دارد
دارد
دارد

Google Chrome Browser

Internet Download Manager

Pot Player

Winrar

Udemy (یودمی)

یودمی یکی از بزرگ‌ترین پلتفرم‌های آموزشی آنلاین است که به میلیون‌ها کاربر در سراسر جهان امکان دسترسی به دوره‌های متنوع و کاربردی را فراهم می‌کند. این پلتفرم امکان آموزش در زمینه‌های مختلف از فناوری اطلاعات و برنامه‌نویسی گرفته تا زبان‌های خارجی، مدیریت، و هنر را به کاربران ارائه می‌دهد. با استفاده از یودمی، کاربران می‌توانند به صورت انعطاف‌پذیر و بهینه، مهارت‌های جدیدی را یاد بگیرند و خود را برای بازار کار آماده کنند.

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