Programming Challenges - 5 - RSA Encryption (Python)

preview_player
Показать описание
In this video, we go through the RSA Asymmetric Key Encryption algorithm first with pen and paper then through its implementation in Python. I used Python due to its natural, built-in big number libraries.

Includes random key generation with large prime numbers.

Time Stamps:
• Explanation, pen/paper example: 0:00 - 25:52
• Python implementation: 25:52 - 1:13:33

Mathematical concepts covered: one-way function, modular exponentiation, modular multiplicative inverse, extended euclidean algorithm, prime numbers, rabin-miller

Рекомендации по теме
Комментарии
Автор

Thank you! now I realize that RSA is hard to implementation in code, and thanks for your dog that make your tutorial become fun :D

mohamadabyannaufal
Автор

great video, helped me iron out a few problems in my own attempt

JJ-lqlg
Автор

Dude you the best on gGod, Big Congrats!!!! Ya Deserve it

shithighandwatch
Автор

is it possible for the ( p & q & plain text ) to be inputs that the user can insert to the algorithm?

MyAssoom
Автор

Hey, great and clear video, thank you very much! :) One question: Let's say we have two users. Person one who knows the public key and person two with public and private key. Does person one need to know the value of N (modulus of q and p) in order to encrypt the message he wants to send to person two, or is there a way to encrypt the message with only the public key? I am implementing this in my web apps that communicates together and I'm wondering if N is needed in encryption and IF it is needed, what would be the safest option to share the N. I don't like hard coding values but is that only way of doing it? I have done some research and found out that it wouldn't be optimal that N is shared like public key, since when you know the modulus of q*p you can solve the values of q and p and that's not what we want. Still I want to say, excellent video!

LegendaCarty
Автор

How did you get the equation `1 = (37)(13) - (4)(120)` in *Back Substitution*? How did it imply that `37` is *d*?

ayush
Автор

how about..i wanna input p, q, private key by manual?

gajahnegara
Автор

Video is great, Can you share the code!

nehasingh
Автор

105 to the power of 13 (mod 143) = 40. Right?

>>> 105 ** 13 % 143
40
>>>

fnamelname
visit shbcf.ru