1// Aim: Program to perform RSA encryption (RSA Encryption).
2import javax.crypto.*;
3import java.util.*;
4import java.security.*;
5
6public class rsa{
7 public static void main(String[] args)throws Exception {
8 KeyPairGenerator keygen = KeyPairGenerator.getInstance("RSA");
9 keygen.initialize(2048);
10 KeyPair keyp = keygen.generateKeyPair();
11 PublicKey pub = keyp.getPublic();
12 PrivateKey priv = keyp.getPrivate();
13
14 Scanner sc = new Scanner(System.in);
15 System.out.print("enter text :");
16 String msg = sc.nextLine();
17 sc.close();
18
19 Cipher cpr = Cipher.getInstance("RSA/ECB/PKCS1Padding");
20 cpr.init(Cipher.ENCRYPT_MODE,pub);
21 byte[] encrypted = cpr.doFinal(msg.getBytes("UTF-8"));
22 String enctext = Base64.getEncoder().encodeToString(encrypted);
23
24 cpr.init(Cipher.DECRYPT_MODE,priv);
25 byte[] decrypted = cpr.doFinal(Base64.getDecoder().decode(enctext));
26 String dectext = new String(decrypted,"UTF-8");
27
28 System.out.println("original : "+msg);
29 System.out.println("encrypted : "+enctext);
30 System.out.println("decrypted : "+dectext);
31 }
32}