×
NOTE!
Click on MENU to Browse between Subjects...
Advertisement
17CSL57
COMPUTER NETWORK LABORATORY
[As per Choice Based Credit System (CBCS) scheme]
(Effective from the academic year 2017-2018)
SEMESTER - V
This Page Provides Program & Output.
Program 11
Program 11
Write a program for simple RSA algorithm to encrypt and decrypt the data.
Advertisement
PRO11.java
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 | import java.math.BigInteger; import java.security.SecureRandom; import java.util.Scanner; class PRO11 { static BigInteger p, q, n, phi_n, e, d; static SecureRandom secureRandom; static int bitLength = 64; static String encrypt(String msg) { return new BigInteger(msg.getBytes()).modPow(e, n).toString(); } static String decrypt(String cipher) { BigInteger bi = new BigInteger(cipher).modPow(d, n); return new String(bi.toByteArray()); } public static void main(String[] args) { Scanner scanner = new Scanner(System.in); secureRandom = new SecureRandom(); p = BigInteger.probablePrime(bitLength, secureRandom); q = BigInteger.probablePrime(bitLength, secureRandom); n = p.multiply(q); phi_n = p.subtract(BigInteger.ONE).multiply(q.subtract(BigInteger.ONE)); e = BigInteger.probablePrime(bitLength / 2, secureRandom); while (e.gcd(phi_n).compareTo(BigInteger.ONE) != 0 && e.compareTo(phi_n) < 0) { e = e.add(BigInteger.ONE); } d = e.modInverse(phi_n); System.out.println("P assigned as: " + p); System.out.println("Q assigned as: " + q); System.out.println("N assigned as: " + n); System.out.println("PHI_N assigned as: " + phi_n); System.out.println("\nEnter Message"); String msg = scanner.nextLine(); String encryptedMessage = encrypt(msg); System.out.println("Encrypted Message: " + encryptedMessage); String decryptedMessage = decrypt(encryptedMessage); System.out.println("Decrypted Message: " + decryptedMessage); } } |
Process to Execute the Program
Step 1: We need to have Java JDK installed, So That Java Programs can Run.
Step 2: Copy & Paste the Below Code of PRO11.java.
Step 3: or simple Download the Source Code.
Fig 11.1: Required Files .
Step 5: Navigate to the PRO11.java File location.
Step 6: Use CD & DIR command on cmd to navigate.
Step 7: First Run the PRO11.java => javac PRO11.java
Step 8: => java PRO11
Fig 11.2: Demonstration of PRO11.java .
Step 10: Now Displayes the Encrypted Date
Step 11: Also, Displayes the Decrypted Data
×
Note
Please Share the website link with Your Friends and known Students...
-ADMIN
-ADMIN
×
Note
Page Number is specified to navigate between Pages...
T = Text book
QB = Question Bank
AS = Amswer Script
-ADMIN
T = Text book
QB = Question Bank
AS = Amswer Script
-ADMIN