Skip to content

mikhaildubov/RSA-in-FSharp

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

16 Commits
 
 
 
 
 
 

Repository files navigation

RSA in F#

The project contains the implementation of the RSA cryptosystem in F#. RSA is an algorithm for public-key cryptography that is based on the presumed difficulty of factoring large integers.


Implementation characteristics

The implementation uses the System.Numerics.BigInteger structure to represent messages that are encrypted with the RSA algorithm. This allowes one to use the RSA keys of arbitrary length. The message length must always be shorter than that of the public key.

Here is an example of RSA-1024 encryption:

let (publ, priv) = RSA.keys 1024 3 let encrypted = RSA.encrypt publ 178390940298736793320388860954139315768813865072985139606849995865068361101I

Illustrations


Reference books:

  • "Introduction to Algorithms" by Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest and Clifford Stein
  • "Art of Computer Programming, Volume 2: Seminumerical Algorithms" by Donald E. Knuth
  • "Resource-effective computer algorithms" by Mikhail V. Ulianov

About

RSA cryptosystem implementation in F#

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages