1// Aim: Program to perform Digital Signature Standard (Digital Signature Standard).
2import java.security.*;
3import java.util.*;
4public class ds {
5 public static void main(String[] args) throws Exception{
6 KeyPairGenerator keygen = KeyPairGenerator.getInstance("DSA");
7 keygen.initialize(2048);
8 KeyPair kk = keygen.generateKeyPair();
9 PrivateKey priv = kk.getPrivate();
10 PublicKey pub = kk.getPublic();
11
12 Scanner sc = new Scanner(System.in);
13 System.out.print("enter the text :");
14 String text = sc.nextLine();
15
16 Signature sig = Signature.getInstance("SHA256withDSA");
17 sig.initSign(priv);
18 sig.update(text.getBytes());
19 byte[] digital = sig.sign();
20 System.out.println("digital signature : "+Base64.getEncoder().encodeToString(digital));
21
22 sig.initVerify(pub);
23 sig.update(text.getBytes());
24 boolean isVerified = sig.verify(digital);
25 System.out.println("signature verified : "+isVerified);
26 }
27}
28