RSA Real World Implementation

Dingsi Bumsi binsitt at web.de
Tue Apr 4 23:40:30 UTC 2023


Hi folks!

As a student of computer science with focus on security I would like to
see how RSA is implemented in the real world. I was warned not to write
my own implementation of RSA encryption due to the high risk of bugs und
vulnerability issues, which would be dealt with much better in a battle
proven lib like openssl. So I would like to see how it is done properly. :-)

I did already find the source code on github under
https://github.com/openssl/openssl/tree/master/crypto/rsa

Tbh I find it yet quite overwhelming and cumbersome to work through all
those rather cryptic (pun intendet) looking lines of source code and
figure out what they do. So my questions are:

Can anyone recommend any article answering my question?

Is there further documentation available about how the source code files
work together, e.g. which part of the library/file plays which role?
 From the manpages I assume that several libraries must be used in order
to en-/decrypt a message, so I guess documentation on how to use the
openssl library in C source code might help too.

Where does the actual magic happen, meaning, where are the prime numbers
generated and where are the messages en-/decrypted?

And one other question: Is there a reimplementation in Rust planned already?

Thank you very much in advance!



More information about the openssl-users mailing list