Banks, Facebook, Twitter and Google use epic numbers - based on prime factors - to keep our Internet secrets. This is RSA public-key encryption.
More links & stuff in full description below ↓↓↓
Gold Vault: https://youtu.be/CTtf5s2HFkA
This video features Dr James Grime (http://singingbanana.com/). Message from James: "Thanks to Dr Chris Hughes of the University of York who showed me how to find the RSA public key from my browser, and showed me how awesome they look when you print them out."
Regarding the keys used for encryption:
x, y prime
Encode key E shares no factors with (x-1)(y-1)
Decode key is D with E*D - 1 a multiple of (x-1)(y-1)
Thanks to Drew Mokris for the animation: http://www.spinnerdisc.com/
Numberphile on Facebook: http://www.facebook.com/numberphile
Numberphile tweets: https://twitter.com/numberphile
Videos by Brady Haran
Brady's videos subreddit: http://www.reddit.com/r/BradyHaran/
Brady's latest videos across all channels: http://www.bradyharanblog.com/
Sign up for (occasional) emails: http://eepurl.com/YdjL9
Numberphile T-Shirts: https://teespring.com/stores/numberphile
Other merchandise: https://store.dftba.com/collections/numberphile
How is this secure at all? 3 is public. 10 is public. The individual uses 3 and 10 to perform the operation on BADCHEF and sends the result to the bank... am I missing something. Couldn't a hacker just intercept their message and perform the reverse???
you can only reverse the message if you have the private key. Since it's PRIVATE, no one knows what it is. The example they showed was a bad one, because they used 3 twice which results in confusion, but they only wanted to show the "strategy". The only way to get that private key is to factorize the big number.
The thing with this is, that it is simple, but it will always work. To make it actually secure, people make the primes so big, that the necessary work to break it is impractical to do.
If d is secret number it has to follow this rule:
(encryption number) * d=1 mod phi(public key) where phi(public key)=phi(p*q)=(p-1)(q-1)
for example public key=55
d=27 because 3*27=81 and 81mod40=1
Hah, I can't seem to use CrypTool 1 for this. Only way to have it import an RSA key is with a certificate package file(PKCS#12 format), and it won't accept one that doesn't have a cert.
I can't create a cert because the secret key is so small that it's not large enough to sign even an md5 hash to create the cert...
Oh well. I'm still pretty sure I have the right secret key, anyway.
Hey, message is not encoded, it is just a number but small one. I can not verify a signed blob for this moment but I can tell that last digits of private key are ...505873
P.S. If you want to know, I am using CrypTool 1
Clearly no. The Riemann hypothesis has nothing to do with factorizing. it's about the pattern the primes have.
To illustrate this, everyone assumes that the hypothesis is true. If it would make any problems with RSA, people would use Riemann without the proof and simply check if it worked or not. And if it never works, that would be the proof that the hypothesis is not true, which is incorrect. So the hypothesis is not a problem for RSA at all.
I still don't really understand. So the server has the key to decrypt the client's message, but how is the client supposed to decrypt the server's message? I mean only the server has the key and, therefore, the way to decrpyt it, but the client doesn't have access to that key. How are any of the messages from the server to the client supposed to be encrypted with the intent that the client can unencrypt them?
if someone want the google number is...
Could anyone please explain to me how the "secret number doesn't have to be the same as the number we used to raise the the original values to the power of.." ?
How do you work out the same message if the encryption uses "3" but then the decryption uses "2" ?
Or did I misinterpret what he said and the numbers do have to be the same number both ways, it just doesn't necessarily have to be 3? That would make more sense...
you can't "choose" these type of numbers. The only choice you have are the 2 prime numbers and everything else is related to these primes. Since they took 2 and 5 as primes, the resulting public key and private key are the same (3), which is not the goal and this problem does not happen usually.
the primes used for that must be hidden. If I say to you that my public key is 3 and 10, you automatically know that my primes I used were 2 and 5 and you can easily recreate my private key. They need to be this big to make it difficult to get what the primes were.
@4.30 why is he cubing? Is it because 3 is the bank's secret number? Or is it because it was cubed originally and to reverse the process? If he chose a different number for the bank's secret number, this point would have been clearer. An unnecassry obfuscation.
What I don't understand is, if I try it. For example I want to encrypt the number 25. I cube it 25^3 =15625. Then I have to get the remainder of 10, so 15625/10 = 1562 remainder 5. So I would send the bank 5 right? Now, If the bank wants to decrypt my message they would cube my 5, so 5^3 = 125 and then get the remainder 125/10=12 remainder 5. So they would receive my message '25' as a 5? Can someone please help?
That's right and it's obvious that your example does not work. You're limited within a certain range which is explained pretty easily. If you take the remainder of 10, you cannot differentiate if the previous number was 1, 11, 21, 31 .... Every Number there ends up to 1 if I take the remainder of 10. So the maximum range is 10 (0 to 9) in this example. In BAD CHEF, you don't use numbers higher than 10, that's why this works.
Usually the numbers are so massively big, that no one even care for this range and therefore do not even mention this.
If you want to do a better test, take (7, 33) as public key and (3, 33) as private key. To encrypt a message, take the power of 7 and remainder of 33. To decrypt the message, take the power of 3 and then again the remainder of 33. With that, you have at least the complete set from A to Z and you can have fun with excel. These numbers were created from the primes 3 and 11 and the e number was 7.
Is there really *That* many prime numbers that are that big? you know it can be anything less than a certain number of digits, so why not just start multiplying every prime number together and compare?
According to me 2^(2048) = 32317006071311007300714876688670000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
According to me 2^(1024) = 179769313486231590772930519078900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
It is harder to find fewer factors. The more factor a number has, the easier it would be to start finding those factors. For example, imagine if it was an even number: Straight away you would be able to divide it by 2 to break it down into a number half as large. What makes a large number like this hard to break down, isn't how many factors it has, but how few.
None of this explained how the bank derived the 3 as the "secret number". He said he would gloss over that and come back to it, but never revisited the secret 3. He showed how the 10 was derived by two prime numbers, but those were 2 and 5, neither of which explain how the 3 was derived as the secret number.
This was a terrible example, since the secret number was the same as the public number. It doesn't show how anyone grabbing the public number couldn't just use those exact same numbers to arrive back at the original message, defeating the entire purpose.
Anyway I have a feeling that with bit slicing technology - making huge registers in a supercomputer that are instead of the 64 bit type are perhaps 4096 bits long will one day make a much easier job of factoring prime numbers.
Who knows - such computers & powerful algorithms may already exist.
Cryptology methods could already be broken as we speak.
Could that be related to A057896? (The best birth years, there's another numberphile on it I think) That's about numbers in the form m^k-m, and I believe both k values for all numbers on the list are prime
It's related to the fact that when you divide 3*3=9 by 4, you get 1- with 4 coming from (5-1)*(2-1).
The video doesn't explain RSA that well tbh and I wouldn't know how to type out a real explanation without having to explain other bits and pieces.
I agree. I think this whole video just creates more questions than it answers.
Like what happened to the formula he was going to show us to figure out the uncracking code was 3?
And yh, how does Fermat's little theorem help with any of this? It's a theorem about primes... is that all? Literally not a single application of it is referenced to.
i guess that an information like a credit card number could be sent that way, but information that they don't have (can't think of any example) would need to be recoverable. but your idea makes sense, i have that same doubt now haha
if you want to recover the original information, a hash function is not useful as it represents the information but can't be broken into the original info. They're great for passwords and such but not for credit card numbers as you need to know the original number after you receive it.
Message from James: "Thanks to Dr Chris Hughes of the University of York who showed me how to find the RSA public key from my browser, and showed me how awesome they look when you print them out."
Ehm.. is there any Dr Chris Hughes here that could show me how to see the RSA public keys in my own browser?
Is there an explanation as to how to use different numbers other than the ones he is using here.
As using the numbers in the video, when it gets in to double digits, the remainders are not correct. For example, T being the 20th letter, cubed is 8000/10 = 800 r0. with the 0 now your not getting anything other than 0. Other letters too are missing the tens unit from its final number
OK so it would take a classical computer thousands of years to break a 2048 bit code. would a quantum computer be able to do it any faster? from my understanding a quantum computer doesn't do calculations any faster than a classical computer, but it does many calculations at one, while a classical computer would have to do it step by step. (my understanding of quantum computers comes from veritasium's videos)
Don't think of it just in terms of speed of calculation. A Quantum machine can exploit properties of physics that a classical computer can not. That is what makes Shor's algorithm work. Shor's algorithm itself is faster because it has a better runtime complexity than all other algorithms that are designed to find prime factors of large composite numbers.
Currently, real life quantum computers do not perform tasks as fast classical computers; but theoretically you are correct. Eventually our understanding of building quantum computers will catch up to classical computers and cracking the RSA key encryption will be trivial.
Tax Deposit Information For the date range, provides taxable earnings totals, Federal 941, 940 and State tax deposit information.
This item has been saved to your reading list.
The level of manual tasks, duplication and non-value added activities in the payroll process often prevent staff from providing the reports that management require on a timely basis.
The best practice for providing management information that is timely, useful and relevant is automating, simplifying and standardising as many processes and tasks as possible, to eliminate unnecessary complexity and inconsistencies. This will reduce opportunities for error or fraud and make it easier to track the quantity and quality of information flowing to payroll.
A holistic approach that considers factors across all business dimensions, including strategy, structure, people, process and technology, creates reporting that is highly sustainable and scalable.
If you do not feel confident in your reporting capabilities or would like to improve your reports, technology could be a valuable ally providing master data that is clean, up to date and which can be relied upon.
Employee Advance Summary For the date range lists Advances paid and repaid with beginning and ending balances, one line per employee.
Employee Payroll Summary Lists for the date range Gross Pay, Total Withholdings, Credits, Reimbursements, Advances and Checks Total, one employee per line.
Payroll Journal Summary.
Payroll Journal Summary For the date range selected provides posting debit and credit totals for the Accounting sections Assets, Liabilities, Revenue and Expenses, with totals by General Ledger account number within each section.
Tax Liability Summary.
Form 941 Information For the date range selected, provides total Federal and State taxable wages, EIC credits, and other tax deposit information relevant to the 941 report.