1. Consider a file with composite data, substitute the content and transpose the ciphers.
#include #include #include FILE *src,*dest; FILE *openfile(FILE *fptr,char *name, char *mode ! fptr"fopen(name,mode; if(fptr""$LL ! printf(%$nable to open a file &n%; e'it(; ) return fptr; ) oid substitutencr+pt( ! char str-/,str-/,ch; printf(%&n Enter the input filename to encr+pt&n%; scanf(%0s%,str; src"openfile(src,str,%r%; printf(%Enter the output filename to decr+pt&n%; scanf(%0s%,str; dest"openfile(dest,str,%1%; ch"fgetc(src; 1hile(ch2"E3F ! fputc(ch4-,dest; printf(%0c%,ch4-; ch"fgetc(src; ) fclose(dest; return; ) oid substitutdecr+pt( ! char str-/,str-/,ch; printf(%&n Enter the filename to decr+pt &n%; scanf(%0s%,str; src"openfile(src,str,%r%; printf(%&n Enter the filename to encr+pt&n%;
scanf(%0s%,str; dest"openfile(dest,str,%1%; ch"fgetc(src; 1hile(ch2"E3F ! fputc(ch5-,dest; ch"fgetc(src; ) fclose(dest; return; ) oid transpose( ! int i",6",7",count; char ch,str-/,str-/,msg-/,dmsg-/; printf(% enter the filename to encr+pt &n%; scanf(%0s%,str; src"openfile(src,str,%r%; printf(%enter the filename to transpose&n%; scanf(%0s%,str; dest"openfile(dest,str,%1%; ch"fgetc(src; 1hile(ch2"E3F ! msgi44/"ch; ch"fgetc(src; ) msgi/"8&8; count"strlen(msg; if(count09"" 6"count:9; else 6"count:94; i"; 1hile(i
dmsgi/"8&8; printf(%&nhe cipher te't is&n%; printf(%0s%,dmsg; f1rite(dmsg,strlen(dmsg,,dest; fclose(dest; ) oid transposedecr+pt( ! int i",6,7"5,l,count; char ch,str-/,str-/,msg-/,dmsg-/; printf(%&nEnter the filename to decr+pt&n%; scanf(%0s%,str; src"openfile(src,str,%r%; printf(%&nEnter the filename for plainte't&n%; scanf(%0s%,str; dest"openfile(dest,str,%1%; ch"fgetc(src; 1hile(ch2"E3F ! dmsgi44/"ch; ch"fgetc(src; ) dmsgi/"8&8; i"; count"strlen(dmsg; if(count09"" 6"count:9; else 6"count:94; l"6; 1hile(i
printf(%=ecr+pted message&n%; printf(%0s%,msg; f1rite(msg,strlen(msg,,dest; fclose(dest; )
oid main( ! int choice; char str-/; do ! printf(%&n Enter +our choice &n%; printf(%.substitute encr+ption &n 9.substitute =ecr+ption &n .ranspose&n ?. transposedecr&n -.E'it&n &n%; scanf(%0d%,choice; s1itch(choice ! case @ substitutencr+pt(; brea7; case 9@ substitutdecr+pt(; brea7; case @ transpose(; brea7; case ?@ transposedecr+pt(; brea7; default@ e'it(; ) )1hile(choice>; ) gcc transpose.c ./a.out
Enter +our choice .substitute encr+ption 9.substitute =ecr+ption .ranspose ?. transposedecr -.E'it Enter the input filename to encr+pt f.c Enter the output filename to decr+pt f9.c m6AAt Enter +our choice .substitute encr+ption 9.substitute =ecr+ption .ranspose ?.transposedecr -.E'it enter the filename to encr+pt f.c enter the filename to transpose f.c he cipher te't is hloel
Program 3 Apply the RSA algorithm on a tet file to produce cipher tet file. import 6aa.math.BigInteger ; import 6aa.util.Candom ; import 6aa.io.* ;
:* CD.6aa*:
public class CD ! :** * Bit length of each prime number. *: int primeDie ; :** * 1o distinct large prime numbers p and A. *: BigInteger p, A ; :** * Godulus . *: BigInteger ; :** * r " ( p 5 * ( A 5 *: BigInteger r ; :** * Hublic e'ponent E and Hriate e'ponent = *: BigInteger E, = ;
public CD(! ) :** * onstructor. * * Jparam primeDie *: public CD( int primeDie ! this.primeDie " primeDie ;
Bit length of each prime number.
:: Kenerate t1o distinct large prime numbers p and A. generateHrimeumbers( ;
:: Kenerate Hublic and Hriate e+s. generateHublicHriatee+s( ; :** * Kenerate t1o distinct large prime numbers p and A. *: public oid generateHrimeumbers( ! p " ne1 BigInteger( primeDie, , ne1 Candom( ;
do ! A " ne1 BigInteger( primeDie, , ne1 Candom( ; ) 1hile( A.compareo( p "" ; )
:** * Kenerate Hublic and Hriate e+s. *: public oid generateHublicHriatee+s( ! :: " p * A " p.multipl+( A ;
:: r " ( p 5 * ( A 5 r " p.subtract( BigInteger.alue3f( ; r " r.multipl+( A.subtract( BigInteger.alue3f( ;
:: hoose E, coprime to and less than r do ! E " ne1 BigInteger( 9 * primeDie, ne1 Candom( ; ) 1hile( ( E.compareo( r 2" 5 MM ( E.gcd( r .compareo( BigInteger.alue3f( 2" ;
:: ompute =, the inerse of E mod r = " E.modInerse( r ; )
:** * Encr+pts the plainte't ($sing Hublic e+. *
* Jparam message Dtring containing the plainte't message to be encr+pted. * Jreturn he cipherte't as a BigInteger arra+. *: public BigInteger/ encr+pt( Dtring message ! int i ; b+te/ temp " ne1 b+te/ ;
b+te/ digits " message.getB+tes( ; BigInteger/ bigdigits " ne1 BigIntegerdigits.length/ ; for( i " ; i < bigdigits.length ; i44 ! temp/ " digitsi/ ; bigdigitsi/ " ne1 BigInteger( temp ; ) BigInteger/ encr+pted " ne1 BigIntegerbigdigits.length/ ; for( i " ; i < bigdigits.length ; i44 encr+ptedi/ " bigdigitsi/.modHo1( E, ;
return( encr+pted ; )
:** * Ket prime number p. * * Jreturn Hrime number p. *: public BigInteger getp( ! return( p ; )
:** * Ket prime number A. * * Jreturn Hrime number A. *: public BigInteger getA( ! return( A ; )
:** * Ket r. * * Jreturn r. *: public BigInteger getr( ! return( r ; )
:** * Ket modulus . * * Jreturn Godulus . *: public BigInteger get( ! return( ; )
:** * Ket Hublic e'ponent E. * * Jreturn Hublic e'ponent E. *: public BigInteger getE( ! return( E ; )
:** * Ket Hriate e'ponent =. * * Jreturn Hriate e'ponent =. *: public BigInteger get=( ! return( = ; )
)
import 6aa.math.*; import 6aa.io.*; import 6aa.io.FileCeader; import 6aa.io.I3E'ception; public class CDGain! public static oid main(Dtring args/! Dtring nhash; BigInteger/ cipherte't " null; BigInteger n " null; BigInteger d " null; DtringBuffer input " ne1 DtringBuffer(; :: Cead From File tr+ ! BufferedCeader br " ne1 BufferedCeader(ne1 FileCeader(%rsa5input.t't%;
Dtring surrentLine;
1hile ((surrentLine " br.readLine( 2" null ! input.append(surrentLine; ) ) catch (I3E'ception e ! e.printDtac7race(; ) D+stem.out.println(% Input te't is @%4input;
:: Herform CD Encr+ption CD rsa " ne1 CD( 9 ; n"rsa.get(; :: Godulus alue d"rsa.get=(; :: E'ponent alue cipherte't " rsa.encr+pt(input.toDtring( ; :: perform CD Encr+ption
:: onert binar+ ciphere't to string format DtringBuffer bf " ne1 DtringBuffer(; for( int i " ; i < cipherte't.length ; i44 ! bf.append( cipherte'ti/.toDtring( N .to$pperase( ; ) :: conert string buffer to string
Dtring message"bf.toDtring(; D+stem.out.println(%Encr+pted te't 1ritten to rsa5output.t't file%; :* Oriting into File *: tr+ ! BufferedOriter out " ne1 BufferedOriter(ne1 FileOriter(%rsa5output.t't%; out.flush(; out.1rite(message; :: Orite the string into file out.close(; ) catch (I3E'ception e ! e.printDtac7race(; ) ) )
Program !. "e#elop a mechanism to setup a security channel using "iffie$%ellman &ey 'change between client and ser#er
#include #include oid main( ! long int A,alpha,Pa,Pb,Qa,Qb,a,b; printf(%Enter a prime number A@&n%; scanf(%0ld%,A; printf(%Enter the alue of alpha@&n%; scanf(%0ld%,alpha; printf(%$ser @ Enter a prime number Pa 1hich is less than A@&n%; scanf(%0ld%,Pa; printf(%$ser B@ Enter a prime number Pb 1hich is less than A@&n%; scanf(%0ld%,Pb; Qa"((long intpo1(alpha,Pa0A; printf(%$ser sends Qa"0ld to $ser B&n%,Qa; Qb"((long intpo1(alpha,Pb0A; printf(%$ser B sends Qb"0ld to $ser &n%,Qb; a"((long intpo1(Qb,Pa0A; printf(%$ser calculates secret 7e+ a"0ld &n%,a; b"((long intpo1(Qa,Pb0A; printf(%$ser B calculates secret 7e+ b"0ld &n%,b; if(a""b printf(%he 7e+s e'changed b+ user and user B are same%; else printf(%he 7e+s e'changed b+ user and user B are not same%; )
(utput)
Enter a prime number A@ R Enter the alue of alpha@ $ser @ Enter a prime number Pa 1hich is less than A@-
$ser B@ Enter a prime number Pb 1hich is less than A@ $ser sends Qa"- to $ser B $ser B sends Qb"N to $ser $ser calculates secret 7e+ a"N $ser B calculates secret 7e+ b"N he 7e+s e'changed b+ user and user B are same
Program *. +sing any simulation tool) demonstrate pacet filtering firewalls, create the AC-, create -A 0Subnetting.
Select any component.
Clic on C-2 to start configuration.
Assigning 2P address and command prompt+sed to ping4
5efore applying any access list ping and mae sure two end de#ices are communicating with each other.
Router16enable // here are 5- different leels of enable. Router17configure terminal // command used to get into configuration mode
Router1config47interface serial 8/9 ::Interface is a 7e+1ord used to get into an+ interface followed by the type and number of the interface.
Router1config$if47ip address 89.9.9.1 8::.9.9.9 :: used to assign IH address to an+ deice port.
Router1config$if47cloc rate ;!999 :: need to assign a cloc7 rate for router to router communication. It is assigned on the =E side of the cable. Sust point +our mouse pointer oer the cable if a cloc7 appears then its "C' Router1config$if47no shutdown ::*** B+ default all the ports are in shutdo1n:Inactie state. o shutdo1n is used to actiate
Router1config$if47eit // to Router1config47interface fast'thernet 8/9 Router1config$if47ip address 19.9.9.1 8::.9.9.9 Router1config$if47eit Router1config47ip route 39.9.9.9 9.9.9.9 89.9.9.8 :: 7no1n as static routing Router1config47access$list 8: permit 39.9.9.89 9.9.9.9 :: creating a access list 'plaination same as abo#e Router86enable Router87configure terminal Router8config47interface serial 8/9 Router8config$if47ip address 89.9.9.8 8::.9.9.9 Router8config$if47no shutdown Router8config$if47eit Router8config47interface fast'thernet 8/9 Router8config$if47ip address 39.9.9.1 8::.9.9.9 Router8config$if47eit Router8config47ip route 19.9.9.9 9.9.9.9 89.9.9.1 VLAN
Switch6enable Switch7configure terminal Switchconfig47interface fast'thernet !/9 Switchconfig$if47switchport access #lan 8 Switchconfig$if4.7eit Switchconfig47 //