Click here to Skip to main content
13,351,457 members (44,412 online)
Click here to Skip to main content
Add your own
alternative version


40 bookmarked
Posted 5 May 2003

RSA encryption/decryption

, 5 May 2003
Rate this:
Please Sign up or sign in to vote.
Find a RSA implementation in VC++. Key size is 32-bit.


Note: Please refer rsa.doc for more details on code and software. I can be contacted at for further queries. Implementation includes private and public key (32-bit) generation and support of text file encryption and decryption. This document contains the algorithms and information required to design and implement RSA algorithm in VC++. This software is only for text data encryption and decryption. Document also contains the software usage guidelines and screen-shots.

Intro to RSA

RSA algorithm is mainly a public key encryption technique used widely in network communication like in Virtual Private Networks (VPNs). In public key encryption technique, a key is split into two keys and they are called as public and private keys. Public key is advertised to the world and private key is kept secret. It is not possible to generate private key using the public key. So, someone who knows the public key cannot decrypt a message after it has been encrypted using the public key.

RSA algorithm is a block cipher technique in which plain text and cipher text are integers between ‘0’ and ‘n-1’ from some ‘n’. In RSA algorithm encryption and decryption are of following form, for some plain text M and cipher text C:

C = M^e mod n

M = C^d mod n

Both sender and receiver must know the value of ‘n’. The sender knows the value of ‘e’ and only receiver knows the value of ‘d’. Thus, this is a public-key encryption algorithm with a public key of KU={e, n} and private key of KR={d, n}. For the algorithm to be satisfactory for public-key encryption, the following requirement must be met

  1. It is possible to find values of e, d, n such that M^ed = M mod n for all M<n.
  2. It is relatively easy to calculate M^e and C^d for all values of M<n.
  3. It is infeasible to determine d given e and n.


This article has no explicit license attached to it but may contain usage terms in the article text or the download files themselves. If in doubt please contact the author via the discussion board below.

A list of licenses authors might use can be found here


About the Author

Web Developer
India India
Working with EMC Corp, Bangalore (India) in distributed embedded software design. Like to read and code in storage, computer security and language design areas.

You may also be interested in...

Comments and Discussions

Questionx, y, z are not getting encrypt/decript Pin
Member 413262526-Oct-15 17:29
memberMember 413262526-Oct-15 17:29 
AnswerRe: x, y, z are not getting encrypt/decript Pin
Member 112950792-Nov-15 11:37
memberMember 112950792-Nov-15 11:37 
QuestionUnicodes in encrypted files. Pin
NIKHIL788 Agrawal4-Dec-12 8:02
memberNIKHIL788 Agrawal4-Dec-12 8:02 
Questionhelp Pin
steven stevanus23-Feb-12 18:01
membersteven stevanus23-Feb-12 18:01 
Questionhelp Pin
steven stevanus23-Feb-12 18:00
membersteven stevanus23-Feb-12 18:00 
Questionis your software Encrypt/Decrypt the text by 128 bit key Pin
Raj.Amit29-Jul-10 22:51
memberRaj.Amit29-Jul-10 22:51 
GeneralMy vote of 1 Pin
KarstenK6-Jun-10 22:26
memberKarstenK6-Jun-10 22:26 
Questionhow to run it in VS 2008? Pin
Member 15130995-Apr-10 13:53
memberMember 15130995-Apr-10 13:53 
GeneralThanks need help Pin
tnla9-Nov-09 9:27
membertnla9-Nov-09 9:27 
GeneralMy vote of 1 Pin
Walxer2-Nov-09 10:44
memberWalxer2-Nov-09 10:44 
Generaldecrpter for data in SHA1/RSA format.mdb file Pin
oviis_4u3-May-09 5:40
memberoviis_4u3-May-09 5:40 
want to decrypt data in .mdb which is in a format of SHA1/RSA..
GeneralRe: decrpter for data in SHA1/RSA format.mdb file Pin
hebbiche26-May-09 12:17
memberhebbiche26-May-09 12:17 
GeneralMy vote of 1 Pin
Kirk211221-Apr-09 9:54
memberKirk211221-Apr-09 9:54 
GeneralNeed help ! Pin
Hackmahesh4-Apr-09 8:52
memberHackmahesh4-Apr-09 8:52 
GeneralMy vote of 1 Pin
Zinkyu22-Dec-08 10:10
memberZinkyu22-Dec-08 10:10 
Questionkamine kutte ye kya tha????????? Pin
anubhavkapuuri28-Nov-08 4:31
memberanubhavkapuuri28-Nov-08 4:31 
Generali can't run program! Pin
nguyenvanchinh1215-Nov-08 0:37
membernguyenvanchinh1215-Nov-08 0:37 
tandra islam21-Apr-08 8:56
membertandra islam21-Apr-08 8:56 
QuestionHow to handle 521 bit encryption/decryption Pin
Yiping Zou21-Jun-04 17:01
memberYiping Zou21-Jun-04 17:01 
GeneralDoesn't work for N less than the biggest ASCII code, which is Your default Pin
Maxim Violin31-Jan-04 1:44
memberMaxim Violin31-Jan-04 1:44 
GeneralRe: Doesn't work for N less than the biggest ASCII code, which is Your default Pin
BhaskarBora13-Dec-04 23:53
memberBhaskarBora13-Dec-04 23:53 
GeneralRe: Doesn't work for N less than the biggest ASCII code, which is Your default Pin
bygreencn10-Dec-06 17:48
memberbygreencn10-Dec-06 17:48 
QuestionUsing linear search to check if a number is prime or not? Pin
Mustafa Demirhan6-May-03 9:39
memberMustafa Demirhan6-May-03 9:39 
GeneralRe: 32 Bits!!! Pin
Niklas Lindquist6-May-03 3:14
memberNiklas Lindquist6-May-03 3:14 
GeneralRe: 32 Bits!!! Pin
Jörgen Sigvardsson6-May-03 7:06
memberJörgen Sigvardsson6-May-03 7:06 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.

Permalink | Advertise | Privacy | Terms of Use | Mobile
Web03 | 2.8.180111.1 | Last Updated 6 May 2003
Article Copyright 2003 by BhaskarBora
Everything else Copyright © CodeProject, 1999-2018
Layout: fixed | fluid