Can someone explain this section some more >Considering that we need a distinct key for each individual, that exchanging keys with each person would be a significant computational burden, and that there are more cryptographic functions needed than simply exchanging keys, new methods arose. Isn't this exactly what RSA does, exchanging a private symmetric key with asymmetric crypto? The next paragraph makes it seem lik…
How RSA Works: TLS Foundations
11–20 of 38 posts
Re: How RSA Works: TLS Foundations
#12Noticed that this page worked on Chrome, but not on FF. On FF (57.0.2) Windows 7, the message is as below: Error 1010 Ray ID: 3cc3b2b85d0b9300 • 2017-12-12 21:15:17 UTC Access denied What happened? The owner of this website (fly-io.ghost.io) has banned your access based on your browser's signature (3cc3b2b85d0b9300-ua48). Not sure if the author or website owner had a beef with FF.
Re: How RSA Works: TLS Foundations
#13Can someone explain this section some more >Considering that we need a distinct key for each individual, that exchanging keys with each person would be a significant computational burden, and that there are more cryptographic functions needed than simply exchanging keys, new methods arose. Isn't this exactly what RSA does, exchanging a private symmetric key with asymmetric crypto? The next paragraph makes it seem lik…
you can also use RSA for actual encryption (like PGP) or for signing/verifying. ECDHE is better for key exchange, and ECDSA is better for signing/verifying. Check out goodroot's link!
Re: How RSA Works: TLS Foundations
#14Earlier quoted context omitted.
you can also use RSA for actual encryption (like PGP) or for signing/verifying. ECDHE is better for key exchange, and ECDSA is better for signing/verifying. Check out goodroot's link!
RSA encryption has been shown time and time again to be a really bad idea, to the point that it was removed from TLS 1.3 early on.
Re: How RSA Works: TLS Foundations
#15For example:
>In order to generate e, we'll need to find a random prime number that has a greatest common divisor (GCD) of 1 in relation to ϕ(n).
How can a prime number have any divisor that isn't 1, let alone a gcd? Either that's mistaken, or it's unnecessary to state.
There's also no explanation of what purpose the totient value is. The author simply states it's needed, but not what value it provides.
In short, it feels like it's written for people who already know the answers, not for people trying to learn.
Re: How RSA Works: TLS Foundations
#16Earlier quoted context omitted.
RSA encryption has been shown time and time again to be a really bad idea, to the point that it was removed from TLS 1.3 early on.
what encryption are you talking about? IIRC, RSA has only been used for key exchange or authentication (sign/verify) in SSL/TLS. Even in the old days up to SSL 3.0, RC4 or (3)DES was used for actual (symmetrical) encryption.
Re: How RSA Works: TLS Foundations
#17Can someone explain this section some more >Considering that we need a distinct key for each individual, that exchanging keys with each person would be a significant computational burden, and that there are more cryptographic functions needed than simply exchanging keys, new methods arose. Isn't this exactly what RSA does, exchanging a private symmetric key with asymmetric crypto? The next paragraph makes it seem lik…
Most excellent question, kss238. The next part in the series, which breaks apart the different parts of a TLS ciphersuite, was just published: http://fly.io/articles/how-ciphersuites-work/ It should answer your question, in similar spirits to that of this article. Thank you for reading and I wish you well.
Re: How RSA Works: TLS Foundations
#18Earlier quoted context omitted.
what encryption are you talking about? IIRC, RSA has only been used for key exchange or authentication (sign/verify) in SSL/TLS. Even in the old days up to SSL 3.0, RC4 or (3)DES was used for actual (symmetrical) encryption.
RSA is a bad idea in key exchanges as well.
Also, do you have a good resource that explains the drawbacks of RSA key exchange in more details?
Re: How RSA Works: TLS Foundations
#19Earlier quoted context omitted.
RSA encryption has been shown time and time again to be a really bad idea, to the point that it was removed from TLS 1.3 early on.
what encryption are you talking about? IIRC, RSA has only been used for key exchange or authentication (sign/verify) in SSL/TLS. Even in the old days up to SSL 3.0, RC4 or (3)DES was used for actual (symmetrical) encryption.
Being able to decrypt was used to prove server has the private key for the certificate, instead of signature.
RSA was was thus used for both key agreement and authentication.
This of course has the problem of all recorded traffic can be decrypted after you get your hands on the certificate's private key, maybe after the certificate has expired and admins think the key is worthless.
This was known to be a bad idea and was removed from TLS 1.3. Some banks complained, they were told to escrow using ECDHE instead if they had to make the traffic decryptable by someone with a key for some reason.
Re: How RSA Works: TLS Foundations
#20Earlier quoted context omitted.
Most excellent question, kss238. The next part in the series, which breaks apart the different parts of a TLS ciphersuite, was just published: http://fly.io/articles/how-ciphersuites-work/ It should answer your question, in similar spirits to that of this article. Thank you for reading and I wish you well.
What is the rest of the context of the Golang code snippet in that that link?
GetCertificate: func(helloInfo *tls.ClientHelloInfo) (*tls.Certificate, error) {
return myGetCertificateImplementation(checkClientSupportForECDSA(helloInfo))
}
You would see what curves/ciphersuites are supported by the client and check that against what you'd be supporting (if you use LE than that's more than likely going to be ECDSA with P-256). You would then return ECDSA cert (if one exist) for supporting clients and fallback to RSA certs. :boom: :D