Skip to content

Windows .NET Framework application using algorithm RSA to create keys pairs, encrypt and decrypt provided text.

License

Notifications You must be signed in to change notification settings

jakubx6/rsa_encryption

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Enigma - RSA encryption software

Windows application using algorithm Rivest–Shamir–Adleman (RSA) cryptosystem, to create pairs, both public and private keys and encrypt or decrypt given text, using provided keys. Application has been written in C++ language, using .NET Framework and Visual Studio Express. More about RSA in Wikipedia.

Description of the algorithm

I. Keys generation:
  1. Find two prime numers (p,q).
  2. Calculate (n): n = (pq).
  3. Calculate Euler function for n: Ø = (p-1)
(q-1).
  4. Find (e) from: NWD(e,Ø) = 1, where 1 < e < n.
  5. Find (d): d*e mod Ø = 1.

  Public key (e,n)
  Private key (d,n)

II. Text encryption:
  1. Provide (e,n).
  2. Change each letter to ASCII value.
  3. Calculate value (z) of each letter: z = t^e mod n.
  4. Print (z) value of each letter.

III. Text decryption:
  1. Provide (d,n).
  2. Read each value (values have to be separated by " ").
  3. Calculate value (t): t = c^d mod n.
  4. Print letter matching to ASCII value (t).

Program layout

License

Take what you want and have fun ;)

About

Windows .NET Framework application using algorithm RSA to create keys pairs, encrypt and decrypt provided text.

Topics

Resources

License

Stars

Watchers

Forks

Languages