· 5 years ago · Feb 19, 2020, 05:42 PM
1#######################################################################################ENCRPYTION
2import java.io.*;
3import java.util.*;
4import java.io.IOException;
5import java.io.BufferedReader;
6class hello
7{
8public static StringBuffer encrypt(String t, int s) throws IOException
9{
10FileReader file = new FileReader(t); BufferedReader reader=new BufferedReader(file); String text;
11text=reader.readLine();
12StringBuffer result= new StringBuffer();
13
14for (int i=0; i<text.length(); i++)
15{
16if (Character.isUpperCase(text.charAt(i)))
17{
18char ch = (char)(((int)text.charAt(i) + s - 65) % 26 + 65);
19 result.append(ch);
20}
21else
22{
23char ch = (char)(((int)text.charAt(i) + s - 97) % 26 + 97);
24 result.append(ch);
25}
26}
27return result;
28}
29
30// Driver code
31public static void main(String[] args) throws IOException
32{
33String text;
34
35
36BufferedReader br = new BufferedReader (new InputStreamReader(System.in));
37System.out.println("ENTER FILENAME"); String str=br.readLine(); System.out.println("ENTER VALUE OF KEY"); int s=Integer.parseInt(br.readLine()); StringBuffer val=encrypt(str,s);
38String ans=val.toString(); System.out.println("ENTER FILENAME"); String str2=br.readLine();
39BufferedWriter writer = new BufferedWriter(new FileWriter(str2)); writer.write(ans);
40writer.close(); System.out.println("ENCRYPTION DONE");
41
42}
43}
44################################################################################DECRYPTION
45import java.io.*; import java.util.*;
46import java.io.IOException; import java.io.BufferedReader; class bye
47{
48public static StringBuffer decrypt(String t, int s) throws IOException
49{
50FileReader file = new FileReader(t); BufferedReader reader=new BufferedReader(file); String text;
51text=reader.readLine();
52StringBuffer result= new StringBuffer();
53
54for (int i=0; i<text.length(); i++)
55{
56if (Character.isUpperCase(text.charAt(i)))
57{
58char ch = (char)(((int)text.charAt(i) +26-s - 65) % 26 + 65); result.append(ch);
59}
60else
61{
62char ch = (char)(((int)text.charAt(i) +26- s - 97) % 26 + 97); result.append(ch);
63}
64}
65return result;
66}
67
68// Driver code
69public static void main(String[] args) throws IOException
70{
71String text;
72
73
74BufferedReader br = new BufferedReader (new InputStreamReader(System.in));
75System.out.println("ENTER FILENAME"); String str=br.readLine(); System.out.println("ENTER VALUE OF KEY"); int s=Integer.parseInt(br.readLine());
76StringBuffer val=decrypt(str,s); String ans=val.toString();
77System.out.println("ENTER FILENAME"); String str2=br.readLine();
78BufferedWriter writer = new BufferedWriter(new FileWriter(str2)); writer.write(ans);
79writer.close(); System.out.println("DECRYPTION DONE");
80
81}
82}
83####################################################################################################################MONO
84import java.io.*; import java.util.*; class Mono
85{
86public static String encrypt(String text, int s)
87{
88StringBuffer result= new StringBuffer();
89
90for (int i=0; i<text.length(); i++)
91{
92if (Character.isUpperCase(text.charAt(i)))
93{
94char ch = (char)(((int)text.charAt(i) + s - 65) % 26 + 65); result.append(ch);
95}
96else if (Character.isLowerCase(text.charAt(i)))
97{
98char ch = (char)(((int)text.charAt(i) + s - 97) % 26 + 97); result.append(ch);
99}
100else
101{
102char ch = (char)((int)text.charAt(i)); result.append(ch);
103}
104}
105return result.toString();
106}
107public static String decrypt(String text, int s)
108{
109StringBuffer result= new StringBuffer();
110
111for (int i=0; i<text.length(); i++)
112{
113int x;
114if (Character.isUpperCase(text.charAt(i)))
115{
116x=((int)text.charAt(i) - s - 65) % 26; if(x<0)
117x+=26;
118char ch = (char)(x + 65); result.append(ch);
119
120}
121else if (Character.isLowerCase(text.charAt(i)))
122{
123
124
125
126
127
128}
129else
130{
131
132x=((int)text.charAt(i) - s - 97) % 26; if(x<0)
133x+=26;
134char ch = (char)(x + 97); result.append(ch);
135
136char ch = (char)((int)text.charAt(i)); result.append(ch);
137}
138}
139return result.toString();
140}
141public static void main(String[] args) throws Exception
142{
143Scanner sc=new Scanner(System.in); System.out.println("Select Option");
144 System.out.println("1.Encryption"); System.out.println("2.Decryption");
145 int c=sc.nextInt();
146System.out.print("Enter Input File Name:");
147 String infile=sc.next();
148File file = new File("/home/cselab6/Desktop/cse2-095/"+infile);
149 BufferedReader br = new BufferedReader(new FileReader(file));
150 String st;
151String text="";
152while ((st = br.readLine()) != null){ text+=st;
153}
154int k = 13; System.out.println();
155System.out.print("Enter Output File Name:");
156 String outfile=sc.next();
157FileWriter enfile= new FileWriter(outfile); BufferedWriter geekwrite = new BufferedWriter(enfile);
158 System.out.println();
159System.out.println("Text : " + text); String en;
160switch(c){ case 1:
161en=encrypt(text, k); System.out.println("Encrypted : "+en);
162enfile.write(en);
163enfile.close();
164break;
165case 2:
166en=decrypt(text, k); System.out.println("Decrypted : "+en);
167 enfile.write(en);
168enfile.close(); break;
169}
170}
171}
172###########################################################################################################
173import java.io.*; import java.util.*;
174
175class hill{
176public static void main(String[] args){ Scanner sc=new Scanner(System.in);
177int[][] pt,ct,adj,cof,kinv,npt,key={{2,4,5},{9,2,1},{3,17,7}}; pt=new int[3][3];cof=new int[3][3];
178int keydet=det3(key); keydet%=26; if(gcd(keydet,26)==1)
179System.out.println("Key can be used since gcd is 1");
180else
181return;
182System.out.print("Enter 9 character plain text: "); String plaintext=sc.next();
183//encryption
184System.out.println("Entered plain text is converted into: "); for(int i=0;i<3;i++){
185for(int j=0;j<3;j++){
186pt[i][j]=(int)(plaintext.charAt(3*i+j)-'a');
187}
188}
189printmat(pt); ct=matmul(key,pt); ct=mod26(ct);
190System.out.println("cipher text matrix is:"); printmat(ct);
191System.out.print("cipher text is: "); printtext(ct);
192//decryption int dinv=1;
193
194while((dinv*keydet)%26!=1) dinv++;
195System.out.println("dinv: "+dinv); cof=cofactor(key); cof=mod26(cof); adj=transpose(cof); kinv=inverse(adj,dinv); npt=matmul(kinv,ct); npt=mod26(npt);
196System.out.println("new decrypted plain text matrix is: "); printmat(npt);
197System.out.print("decrypted message is: "); printtext(npt);
198}
199public static void printmat(int[][] a){ for(int i=0;i<3;i++){
200for(int j=0;j<3;j++){
201System.out.print(a[i][j]+" ");
202
203
204
205}
206return;
207}
208
209}
210System.out.println();
211
212public static int det3(int[][] a){ int det=0; det+=a[0][0]*det2(a,0,0);
213det-=a[0][1]*det2(a,0,1);
214det+=a[0][2]*det2(a,0,2); return det;
215}
216public static int det2(int[][] a,int x,int y){ int det=0,p=0;
217int[] d=new int[4]; for(int i=0;i<3;i++){
218for(int j=0;j<3;j++){
219if(i!=x&&j!=y){
220d[p++]=a[i][j];
221}
222}
223}
224det=d[0]*d[3]-d[1]*d[2]; return det;
225}
226public static int[][] matmul(int[][] a,int[][] b){ int[][] c=new int[3][3];
227
228int sum=0;
229for(int k=0;k<3;k++){
230sum+=a[i][k]*b[k][j];
231}
232c[i][j]=sum;
233}
234}
235return c;
236}
237public static int[][] mod26(int[][] a){ for(int i=0;i<3;i++)
238for(int j=0;j<3;j++){
239a[i][j]+=260000;
240a[i][j]%=26;
241}
242return a;
243}
244public static int gcd(int a, int b){ if (b == 0)
245return a;
246return gcd(b, a % b);
247}
248public static int[][] transpose(int[][] a){ int[][] b=new int[3][3];
249for(int i=0;i<3;i++)
250for(int j=0;j<3;j++)
251b[i][j]=a[j][i];
252return b;
253}
254public static int[][] inverse(int[][] a,int dinv){ for(int i=0;i<3;i++)
255for(int j=0;j<3;j++)
256a[i][j]=(a[i][j]*dinv)%26;
257return a;
258}
259public static void printtext(int[][] a){ for(int i=0;i<3;i++)
260for(int j=0;j<3;j++)
261System.out.print((char)(a[i][j]+'a')); System.out.println();
262return;
263}
264public static int[][] cofactor(int[][] key){ int[][] cof=new int[3][3];
265
266if((3*i+j)%2==0)
267cof[i][j]=det2(key,i,j);
268
269else
270
271}
272}
273
274
275cof[i][j]=-1*det2(key,i,j);
276
277return cof;
278}
279}
280####################################################################################################################DES
281import javax.crypto.Cipher;
282 import javax.crypto.KeyGenerator;
283 import javax.crypto.SecretKey;
284 import java.util.*;
285
286public class Des {
287
288 public static void main(String[] args) throws Exception {
289 Scanner sc=new Scanner(System.in);
290 KeyGenerator keygenerator=KeyGenerator.getInstance("DES");
291 SecretKey key = keygenerator.generateKey();
292//ENCRYPTION
293Cipher encCipher = Cipher.getInstance("DES");
294 encCipher.init(Cipher.ENCRYPT_MODE, key);
295 System.out.println("Enter text to be encrypted:: ");
296 String strPlain = sc.nextLine();
297 byte[] plainBytes = strPlain.getBytes();
298 byte[] encBytes = encCipher.doFinal(plainBytes);
299 System.out.println("Encoded text:: "+new String(encBytes));
300 //DECRYPTION
301 Cipher decCipher = Cipher.getInstance("DES");
302 decCipher.init(Cipher.DECRYPT_MODE, key);
303 byte[] decBytes = decCipher.doFinal(encBytes);
304 System.out.println("\nDecoded text:: "+new String(decBytes));
305 } }
306##############################################################################################################################RSA
307import java.util.*;
308import java.lang.*;
309import java.io.*;
310class abhi {
311static boolean isPrime(int A)
312{
313for(int i=1;i<=Math.sqrt(A);i++)
314{if(A%i==0)
315{
316return false;
317}
318}
319return true;
320}
321static int gcd(int a,int b)
322{if(b==0)
323{return a;}
324return gcd(b,a%b);}
325public static void main (String[] args) throws java.lang.Exception
326{
327Scanner sc=new Scanner(System.in);
328System.out.println("p:");
329int p=sc.nextInt();
330if(isPrime(p)==false)
331{//exit(-1);}
332System.out.println("q:");
333int q=sc.nextInt();
334if(isPrime(p)==false)
335{
336//exit(-1);
337}System.out.println("text:");
338int t=sc.nextInt();
339int n=p*q;
340int z=(p-1)*(q-1);
341int e=0;
342for(int i=2;i<z;i++)
343{if(gcd(i,z)==1)
344{ e=i;
345System.out.println(e);
346break;
347}}
348int d=0;
349for(int j=2;j<n;j++)
350{if((j*e)%z==1)
351{d=j;
352System.out.println(d);
353break;
354}}
355int c=(int)Math.pow(t,e)%n;
356System.out.println("cipher="+ c);
357System.out.println(d+ " " +n);
358int p1=1;
359for(int i=0;i<d;i++)
360{p1=(p1*c)%n;}
361System.out.println("plain="+p1);
362}
363}
364}