در این مطلب، ویدئو آموزش پیشرفته پایتون 10 – PyCrypto با زیرنویس فارسی را برای دانلود قرار داده ام. شما میتوانید با پرداخت 15 هزار تومان ، این ویدیو به علاوه تمامی فیلم های سایت را دانلود کنید.اکثر فیلم های سایت به زبان انگلیسی می باشند. این ویدئو دارای زیرنویس فارسی ترجمه شده توسط هوش مصنوعی می باشد که میتوانید نمونه ای از آن را در قسمت پایانی این مطلب مشاهده کنید.
تصاویر این ویدئو:
قسمتی از زیرنویس این فیلم:
00:00:00,140 –> 00:00:03,210
به Python Advanced n PI crypto خوش آمدید
2
00:00:03,210 –> 00:00:04,950
در این ویدیو ما استفاده از
3
00:00:04,950 –> 00:00:07,529
رمزنگاری PI برای رمزگذاری داده ها
4
00:00:07,529 –> 00:00:09,780
5
00:00:09,780 –> 00:00:11,370
6
00:00:11,370 –> 00:00:14,250
را بررسی
7
00:00:14,250 –> 00:00:16,049
خواهیم کرد. دانستن اصول اولیه Python
8
00:00:16,049 –> 00:00:17,670
داشتن مقداری دانش از رمزنگاری
9
00:00:17,670 –> 00:00:19,020
برای درک شما
10
00:00:19,020 –> 00:00:20,970
از آنچه در حال وقوع است مفید خواهد بود، اما لازم نیست
11
00:00:20,970 –> 00:00:22,500
این آموزش را دنبال کنید،
12
00:00:22,500 –> 00:00:24,869
اگر در ویندوز هستید، می
13
00:00:24,869 –> 00:00:26,970
توانید رمزگذاری PI را در فهرست بسته Python
14
00:00:26,970 –> 00:00:30,929
در پایتون پیدا کنید. org ok pi crypto چیست
15
00:00:30,929 –> 00:00:33,840
PI crypto بسته پیشنهادی پایتون
16
00:00:33,840 –> 00:00:35,969
برای ماژولهای رمزنگاری است که حاوی
17
00:00:35,969 –> 00:00:37,230
18
00:00:37,230 –> 00:00:40,020
رمزهای متقارن و نامتقارن کارآمد درهمسازی الگوریتمهای رمزنگاری
19
00:00:40,020 –> 00:00:42,570
پروتکلهای رمزگذاری کلید عمومی و
20
00:00:42,570 –> 00:00:44,309
الگوریتمهای امضا است و با توابع
21
00:00:44,309 –> 00:00:46,620
تصادفی رمزنگاری قوی
22
00:00:46,620 –> 00:00:49,469
خود همراه است که
23
00:00:49,469 –> 00:00:51,629
معمولاً رمزنگاری است. به
24
00:00:51,629 –> 00:00:53,879
رمزگذاری متن قابل خواندن به نام متن ساده
25
00:00:53,879 –> 00:00:56,340
به متن ناخوانا به نام متن رمز
26
00:00:56,340 –> 00:00:58,920
و همچنین reve اشاره دارد.
27
00:00:58,920 –> 00:01:01,050
رمزگشایی rse متن رمزی به متن ساده
28
00:01:01,050 –> 00:01:03,870
برای خواندن رمز، الگوریتمی است که
29
00:01:03,870 –> 00:01:05,880
با کلیدی برای تبدیل متن ساده به
30
00:01:05,880 –> 00:01:07,439
چیزی شبیه خروجی تصادفی استفاده میشود،
31
00:01:07,439 –> 00:01:09,780
اما باید بتواند
32
00:01:09,780 –> 00:01:11,729
خروجی تصادفی را به
33
00:01:11,729 –> 00:01:14,520
متن اصلی اصلی خود تبدیل کند.
34
00:01:14,520 –> 00:01:16,740
یک الگوریتم با
35
00:01:16,740 –> 00:01:19,049
شکستن رمز توسط دشمن اندازهگیری میشود یا
36
00:01:19,049 –> 00:01:21,750
دشمن میتواند متن رمز را
37
00:01:21,750 –> 00:01:25,470
از روی یک متن کاملاً تصادفی تعیین کند که ما
38
00:01:25,470 –> 00:01:28,140
قصد داریم از AES استفاده کنیم.
39
00:01:28,140 –> 00:01:29,670
40
00:01:29,670 –> 00:01:32,040
41
00:01:32,040 –> 00:01:34,950
42
00:01:34,950 –> 00:01:36,570
به این معنی که فرستنده و گیرنده هر دو
43
00:01:36,570 –> 00:01:39,869
کلید یکسانی
44
00:01:39,869 –> 00:01:42,329
دارند، اندازه بلوک شانزده بایت است، به این معنی که
45
00:01:42,329 –> 00:01:43,770
هر قسمت از داده های
46
00:01:43,770 –> 00:01:46,799
رمزگذاری شده در یک زمان 16 بایت رمزگذاری شده است و این
47
00:01:46,799 –> 00:01:49,430
باید پر باشد، بنابراین نیاز به padding است و
48
00:01:49,430 –> 00:01:53,520
AES می تواند سه طول کلید 128 را مدیریت کند. 192
49
00:01:53,520 –> 00:01:57,719
و 256 بیت AES همچنین از بسیاری از
50
00:01:57,719 –> 00:01:59,579
حالتهای رمزگذاری بلوکی پشتیبانی میکند و من پیوندی
51
00:01:59,579 –> 00:02:01,170
در توضیحات به یک صفحه ویکیپدیا
52
00:02:01,170 –> 00:02:04,590
در مورد موضوع ما نیز خواهیم داشت. sing an
53
00:02:04,590 –> 00:02:07,530
IV مخفف بردار مقداردهی اولیه است
54
00:02:07,530 –> 00:02:10,348
و برای تصادفی کردن استفاده می شود، اما همچنان یک
55
00:02:10,348 –> 00:02:13,410
متن رمز متمایز برای یک رمز بلوکی خاص ایجاد
56
00:02:13,410 –> 00:02:13,830
57
00:02:13,830 –> 00:02:17,430
می کنیم، به هر حال ما از یک IV تصادفی
58
00:02:17,430 –> 00:02:20,280
برای هر فایلی که رمزگذاری می کنیم استفاده می کنیم، زیرا
59
00:02:20,280 –> 00:02:22,440
مهم است که از همان رمز استفاده نکنیم. IV
60
00:02:22,440 –> 00:02:25,710
و کلید بیش از یک بار، اگر فقط یک بار با کلید یکسان استفاده شود، IV
61
00:02:25,710 –> 00:02:27,210
چیزی در مورد متن رمزگذاری نمیکند،
62
00:02:27,210 –> 00:02:29,450
63
00:02:29,450 –> 00:02:34,190
بنابراین شناخته شدن IV ایمن است
64
00:02:36,560 –> 00:02:39,420
زیرا رمز ما به یک کلید ثابت به
65
00:02:39,420 –> 00:02:42,000
طول 16 بایت نیاز دارد، همچنین برای آن مفید است.
66
00:02:42,000 –> 00:02:44,580
رمز عبور کاربران را در یک
67
00:02:44,580 –> 00:02:48,720
هش شات 16 بایتی هش
68
00:02:48,720 –> 00:02:50,610
69
00:02:50,610 –> 00:02:53,220
70
00:02:53,220 –> 00:02:56,310
71
00:02:56,310 –> 00:02:57,690
کنید.
72
00:02:57,690 –> 00:03:04,140
خروجی ok روی مقداری کد،
73
00:03:04,140 –> 00:03:06,480
اجازه دهید یک برنامه رمزگذاری و رمزگشایی فایل ایجاد
74
00:03:06,480 –> 00:03:08,970
کنیم، سپس میتوانیم از آن برای
75
00:03:08,970 –> 00:03:11,130
رمزگذاری محتوای فایلهای متنی فایلهای موسیقی
76
00:03:11,130 –> 00:03:13,950
فایلهای ویدیویی استفاده کنیم، بنابراین اجازه دهید
77
00:03:13,950 –> 00:03:16,560
آن را رمزگذاری PI بنامیم، بنابراین من میخواهم به اوبونتو بیایم.
78
00:03:16,560 –> 00:03:26,040
خوب وارد شوید و
79
00:03:26,040 –> 00:03:29,340
ما فایل خود را ایجاد می کنیم، بنابراین در اوبونتو
80
00:03:29,340 –> 00:03:32,720
با کتابخانه رمزنگاری PI ارائه می شود، بنابراین خوب است،
81
00:03:32,720 –> 00:03:35,610
بنابراین ما فایل خود را ایجاد می کنیم، بنابراین من می خواهم
82
00:03:35,610 –> 00:03:46,560
آن را رمزگذاری نقطه PI صدا کنم، خوب حالا
83
00:03:46,560 –> 00:03:48,510
ما به آن نیاز داریم برای وارد کردن برخی چیزها، به این
84
00:03:48,510 –> 00:03:51,560
دلیل که فایلهای رمزگذاری ورودی را وارد
85
00:03:51,560 –> 00:03:53,820
میکنیم، باید بتوانیم به
86
00:03:53,820 –> 00:03:57,780
سیستم عامل دسترسی داشته باشیم، بنابراین سیستمعامل را وارد
87
00:03:57,780 –> 00:04:00,680
کنید تا طول فایل را شبیه به طول فایل دریافت کنید و
88
00:04:00,680 –> 00:04:05,400
این نیز به صورت تصادفی وارد میشود، زیرا
89
00:04:05,400 –> 00:04:09,420
ما یک تصادفی تصادفی دریافت میکنیم. IV، بنابراین ما
90
00:04:09,420 –> 00:04:11,400
در یک مقطع زمانی به تصادفی نیاز
91
00:04:11,400 –> 00:04:15,109
خواهیم داشت، حالا الگوریتمهای رمزگذاری خود
92
00:04:15,109 –> 00:04:23,789
را از رمزنگاری و رمز نقطهای استفاده
93
00:04:23,789 –> 00:04:26,640
میکنیم، بنابراین رمزی را انتخاب میکنیم
94
00:04:26,640 –> 00:04:27,880
که میخواهیم AES وارد کنیم
95
00:04:27,880 –> 00:04:31,820
و این همه با حروف بزرگ است. و ما
96
00:04:31,820 –> 00:04:35,389
همچنین الگوریتم هش کردن sha-256 را انتخاب می
97
00:04:35,389 –> 00:04:45,430
کنیم، بنابراین از واردات هش رمزنگاری
98
00:04:46,570 –> 00:04:51,500
sha-256 بسیار خوب، حالا بیایید تابع رمزگذاری خود را تعریف
99
00:04:51,500 –> 00:04:55,160
کنیم تا فقط آن را
100
00:04:55,160 –> 00:05:00,500
رمزگذاری رمزگذاری صدا کنیم
101
00:05:00,500 –> 00:05:09,229
و برای رمزگذاری یک کلید و یک نام فایل می گیرد. بسیار خوب، اکنون
102
00:05:09,229 –> 00:05:13,340
به چند متغیر نیاز داریم، بنابراین
103
00:05:13,340 –> 00:05:15,440
به یک اندازه تکه نیاز خواهیم داشت، بنابراین این
104
00:05:15,440 –> 00:05:16,639
goi است ng تکههایی هستند که
105
00:05:16,639 –> 00:05:21,740
از فایل بیرون میکشیم تا اندازه تکهای باشد و آن
106
00:05:21,740 –> 00:05:26,479
را برابر با 64 ضربدر 1024
107
00:05:26,479 –> 00:05:29,180
میکنیم تا از تایپ صرفهجویی کنیم، مقدار بایتها
108
00:05:29,180 –> 00:05:34,310
را اضافه کنیم، خوب حالا بیایید فایل خروجی خود را ایجاد کنیم
109
00:05:34,310 –> 00:05:40,520
تا فایل خروجی ما و ما
110
00:05:40,520 –> 00:05:41,960
فقط آن را با
111
00:05:41,960 –> 00:05:44,510
نام فایل فعلی برابر میکنیم، اما یک رمزگذاری شده در جلو قرار میدهیم،
112
00:05:44,510 –> 00:05:47,780
بنابراین در پرانتز فقط
113
00:05:47,780 –> 00:05:51,880
رمزگذاری شده را قرار میدهم و براکتها را میبندم
114
00:05:51,880 –> 00:05:56,720
و آن را به نام فایلی که قبلاً گذاشتهایم اضافه میکنم.
115
00:05:56,720 –> 00:06:00,289
got و شما می توانید
116
00:06:00,289 –> 00:06:01,400
هر کاری را که می خواهید در اینجا انجام دهید، حتی می
117
00:06:01,400 –> 00:06:02,990
توانید فقط ورودی هایی را از کاربر دریافت کنید که
118
00:06:02,990 –> 00:06:04,430
می خواهد فایل جدید چه نامیده شود یا
119
00:06:04,430 –> 00:06:07,150
حتی می توانید فایل قدیمی را
120
00:06:07,150 –> 00:06:11,150
با اندازه خوب بازنویسی کنید، بنابراین به اندازه فایل فعلی نیاز دارید.
121
00:06:11,150 –> 00:06:12,560
ما قصد
122
00:06:12,560 –> 00:06:16,940
داریم رمزگذاری کنیم و من دوست دارم این
123
00:06:16,940 –> 00:06:22,240
را به یک رشته تبدیل کنم و آن را تا 16 بایت پر کنم،
124
00:06:22,419 –> 00:06:24,830
اما اگر میخواهید از چیزی مانند
125
00:06:24,830 –> 00:06:28,310
ساختار برای اندازهگیری اندازه
126
00:06:28,310 –> 00:06:30,380
فایل استفاده کنید، میتوانید بروید و اگر دوست دارید این کار را انجام دهید.
127
00:06:30,380 –> 00:06:32,360
بنابراین میخواهم آن را به یک
128
00:06:32,360 –> 00:06:36,900
رشته نقطه اوه تبدیل
129
00:06:36,900 –> 00:06:41,370
کنم و اندازه آن را به دست بیاورم
130
00:06:41,370 –> 00:06:47,100
نام فایل و سپس من می روم به Z این را
131
00:06:47,100 –> 00:06:52,590
تا 16 بایت پر می کنم و این فقط
132
00:06:52,590 –> 00:06:55,310
سمت چپ رشته را با صفر پر می
133
00:06:55,310 –> 00:06:58,560
کند خوب و ما به یک متغیر دیگر نیاز داریم
134
00:06:58,560 –> 00:07:00,990
که IV خواهد بود و من فقط می روم
135
00:07:00,990 –> 00:07:04,320
برای تنظیم آن روی هیچ در حال حاضر،
136
00:07:04,320 –> 00:07:08,430
بیایید IV تصادفی خود را تولید کنیم، بنابراین برای I در
137
00:07:08,430 –> 00:07:12,450
محدوده و 16، زیرا ما یک IB 16 بایتی
138
00:07:12,450 –> 00:07:17,970
می خواهیم، IV خود را دریافت می کنیم و به اضافه آن
139
00:07:17,970 –> 00:07:23,120
رابر است با کاراکتر نق
140
00:07:23,120 –> 00:07:31,650
ه تصادفی R. و int بنابراین
141
00:07:31,650 –> 00:07:39,020
ما یک int تصادفی بین 0 و 0 x FF دریافت می کنیم،
142
00:07:39,020 –> 00:07:43,380
بنابراین IV تصادفی ما
143
00:07:43,380 –> 00:07:47,400
از 16 کاراکتر تولید می شود، اکنون ما می خواهیم
144
00:07:47,400 –> 00:07:51,710
شی رمزگذاری شده خود را ایجاد کنیم تا رمزگذار باشد
145
00:07:51,710 –> 00:07:56,790
که برابر با یک نقطه Aes خواهد بود. جدید
146
00:07:56,790 –> 00:08:00,960
و آنها کلیدی را می گیرند که ما
147
00:08:00,960 –> 00:08:05,010
به تابع منتقل می کنیم و
148
00:08:05,010 –> 00:08:07,890
حالت بلوک رمزی ما را انتخاب می کند به طوری
149
00:08:07,890 –> 00:08:12,180
که یک نقطه بله زیرخط نشان می دهد و من
150
00:08:12,180 –> 00:08:17,960
می خواهم از CBC استفاده کنم که
151
00:08:17,960 –> 00:08:24,420
بلوک رمز زنجیره ای است و ما میخواهیم در
152
00:08:24,420 –> 00:08:30,300
IV برای راهاندازی بله خوب، رمزگذاریمان را ایجاد کنیم
153
00:08:30,300 –> 00:08:32,220
، اکنون میخواهیم فایلهایمان را باز کنیم،
154
00:08:32,220 –> 00:08:33,720
بنابراین من میخواهم استفاده کنم
155
00:08:33,720 –> 00:08:36,900
کلمه کلیدی عرض را با open و ما
156
00:08:36,900 –> 00:08:38,970
نام فایل را باز می کنیم تا فایلی را که می
157
00:08:38,970 –> 00:08:41,280
خواهیم رمزگذاری کنیم، آن را به صورت read باینری باز می کنم
158
00:08:41,280 –> 00:08:49,440
و آن را مانند فایل ok
159
00:08:49,440 –> 00:08:53,260
اکنون با این فایل می گوییم. برای باز
160
00:08:53,260 –> 00:08:55,930
کردن فایل خروجی خود برای ریختن همه چیز
161
00:08:55,930 –> 00:09:00,640
در آن، با open و بازهای
162
00:09:00,640 –> 00:09:06,640
ما فایل خروجی ما را می گیرند و این فایل به
163
00:09:06,640 –> 00:09:15,160
صورت باینری خواهد بود رایت کنید.
164
00:09:15,160 –> 00:09:21,300
165
00:09:21,300 –> 00:09:25,680
اندازه فایل
166
00:09:25,680 –> 00:09:29,830
فایل اصلی است و همچنین
167
00:09:29,830 –> 00:09:37,899
میخواهیم فایل را درست در IV خروجی
168
00:09:37,899 –> 00:09:42,000
بگیریم تا بتوانیم هنگام رمزگشایی از آن استفاده کنیم،
169
00:09:42,000 –> 00:09:45,220
حالا که اندازه فایل خود را خروجی گرفتهایم
170
00:09:45,220 –> 00:09:47,500
و IV خود را میتوانیم رمزگذاری تمام دادهها را شروع کنیم.
171
00:09:47,500 –> 00:09:50,290
در فایل اصلی و ذخیره آن
172
00:09:50,290 –> 00:09:55,770
در فایل خروجی خود، بنابراین در حالی که درست است، بنابراین
173
00:09:55,770 –> 00:09:58,600
تا زمانی که
174
00:09:58,600 –> 00:10:02,490
از این قسمت خارج شویم، به کار ادامه می دهیم، یک قطعه ایجاد می کنیم
175
00:10:02,490 –> 00:10:08,440
که برابر است در فایل dot read. من
176
00:10:08,440 –> 00:10:10,029
اندازه تیکه خود را می خوانم که ما
177
00:10:10,029 –> 00:10:17,140
قبلاً اندازه قطعه را مشخص کرده بودیم خوب حالا
178
00:10:17,140 –> 00:10:23,100
اگر طول تکه برابر با صفر باشد اگر چنین است می نویسیم
179
00:10:23,100 –> 00:10:26,620
بنابراین چیزی در
180
00:10:26,620 –> 00:10:31,150
آن وجود ندارد، سپس ما می خواهیم مقداری را اضافه کنیم،
181
00:10:31,150 –> 00:10:40,950
اگر طول
182
00:10:41,700 –> 00:10:45,430
مدول تکه 16 را به دست آوریم تا بتوانیم باقیمانده
183
00:10:45,430 –> 00:10:49,750
را برابر 0 نکنیم، سپس
184
00:10:49,750 –> 00:10:52,510
مقداری بالشتک اضافه می کنیم تا بالشتک را اضافه کنیم.
185
00:10:52,510 –> 00:10:57,520
تکه تا تکه بعلاوه مساوی اوف بعلاوه
186
00:10:57,520 –> 00:11:00,310
مساوی است و ما فقط می خواهیم آن را
187
00:11:00,310 –> 00:11:02,170
با فاصله
188
00:11:02,170 –> 00:11:08,860
های فاصله ضربدر یک براکت باز 16
189
00:11:08,860 –> 00:11:17,520
منهای طول منهای طول
190
00:11:18,780 –> 00:11:24,580
مدول تکه 16 تا طول 16 منهای
191
00:11:24,580 –> 00:11:27,970
باقیمانده طول بکشیم تا.
192
00:11:27,970 –> 00:11:31,660
متوجه میشویم که چقدر بیشتر نیاز داریم و
193
00:11:31,660 –> 00:11:35,050
به خوبی زمانبندی میکنیم، به این ترتیب زمان
194
00:11:35,050 –> 00:11:38,250
میبینیم که فضا را میبینیم و این کار باعث میشود
195
00:11:38,250 –> 00:11:41,890
که تا چه اندازه قسمت ما را پاک کنیم تا بتوانیم آن را رمزگذاری
196
00:11:41,890 –> 00:11:45,180
کنیم و حالا بعد از اتمام کار
197
00:11:45,180 –> 00:11:49,480
اگر میخواهیم از فایل out استفاده
198
00:11:49,480 –> 00:11:53,950
کنیم و خروجی
199
00:11:53,950 –> 00:12:05,040
200
00:12:05,040 –> 00:12:08,260
رمزگذار را بنویسیم.
201
00:12:08,260 –> 00:12:09,940
202
00:12:09,940 –> 00:12:13,720