Data Compression & Encryption - Prof - S. Chaya
Data Compression & Encryption - Prof - S. Chaya
Solutions provided by
Prof chaya s
Electronics Engineering
Anjuman I Islam’s Kalsekar Technical Campus
2
List of Experiments
3
List of Figures
4
Experiment: 1
Huffman Encoding of a
sequence
1
2 //OS : Linux
3 // T o o l Box−Huffman c o d i n g
4 // S c i l a b V e r s i o n : S c i l a b 5 . 4 . 1
5 // G e n e r a t e a T e s t m a t r i x
6 A = testmatrix ( ’ f r k ’ ,10) +1;
7 A = A (:) . ’;
8 [ QT , QM ]= huffcode ( A ) ;
9 disp ( ’ c o m p r e s s e d B i t s e q u e n c e : ’ ) ;
10 disp ( QT ) ;
11 disp ( ’ Code T a b l e : ’ ) ;
12 disp ( QM ) ;
13 // End o f Demo
5
Experiment: 2
Huffman Decoding of a
compressed bit sequence.
1 // program t o p e r f o r m huffman d e c o d i n g
2 //OS : Linux
3 // T o o l Box−Huffman c o d i n g
4 // S c i l a b V e r s i o n : S c i l a b 5 . 4 . 1
5 // G e n e r a t e a T e s t m a t r i x
6 A = testmatrix ( ’ f r k ’ ,10) +1;
7 A = A (:) . ’;
8 [ QT , QM ]= huffcode ( A ) ;
9 disp ( ’ c o m p r e s s e d B i t s e q u e n c e : ’ ) ;
10 disp ( QT ) ;
11 disp ( ’ Code T a b l e : ’ ) ;
12 disp ( QM ) ;
13 // Now , t h e r e v e r s e o p e r a t i o n
14 B = huffdeco ( QT , QM ) ;
15 disp ( ’ O r i g i n a l : ’ ) ;
16 disp ( A ) ;
17 disp ( ’ R e s u l t a f t e r Uncompress : ’ ) ;
18 disp ( B ) ;
6
Experiment: 3
Implementation of RSA
Algorthim
1 //OS : Windows 7
2 // S c i l a b V e r s i o n : S c i l a b 5 . 4 . 1
3 clc ;
4 clear all ;
5 p = input ( ” E n t e r t h e 1 s t p r i m e no . ” ) ; // I n p u t : Taking
t h e f i r s t p r i m e no . f o r RSA
6 // I n p u t ex . p=11
7 q = input ( ” E n t e r t h e 2 nd p r i m e no . ” ) ; // I n p u t : Taking
t h e s e c o n d p r i m e no . f o r RSA
8 // I n p u t ex . q=5
9 n=p*q;
10 phi =( p -1) *( q -1) ; // T u o t i e n t F u n c t i o n
11 printf ( ” E n t e r t h e v a l u e o f e >400 ” ) ; // I n p u t :
value
o f e ( s u c h t h a t p h i and t h e no . e n t e r e d by you
are r e l a t i v e l y prime )
12 // I n p u t ex . p h i =7
13 e = input ( ” ” ) ;
7
Figure 3.1: RSA Algorthim
14 for i = 1: n
15 z = modulo (( i * e ) , phi ) ;
16 if z == 1 then
17 break ;
18 end
19 end
20 printf ( ” \ nThe p u b l i c key i s (%. d” ,e ) ; // Output : The
p u b l i c key i s ( e , n )
21 // Output f o r ex . p u b l i c key ( 7 , 5 5 )
22 printf ( ” ,%. d ) ” ,n ) ;
23 printf ( ” \ nThe p r i v a t e key i s (%. d ” ,i ) ; // Output :
The p r i v a t e key i s ( i , n )
24 // Output ex . p r i v a t e key ( 2 3 , 5 5 )
25 printf ( ” ,%. d ) ” ,n ) ;
26 m = input ( ” E n t e r t h e number t o be e n c r y p t e d ” ) ; //
I n p u t : Taking t h e m e s s a g e t o be e n c r y p t e d
27 // I n p u t ex . 5
28 a=m^e;
29 c = modulo (a , n ) ;
30 printf ( ” \ nThe e n c r y p t e d m e s s a g e i s %. d ” ,c ) ; // Output
8
: P r i n t i n g the encrypted message
31 // Output f o r ex . 25
32 b=c^i;
33 t = modulo (b , n ) ;
34 printf ( ” \ nThe d e c r y p t e d m e s s a g e i s %. d ” ,m ) ; // Output
: D e c r y p t e d Me ss age
35 // Output f o r ex . 5
9
Experiment: 4
1 //OS : Windows 7
2 // S c i l a b V e r s i o n : S c i l a b 5 . 4 . 1
3 clc ;
4 clear all ;
5 p =[13]; // i n p u t ( ” E n t e r t h e common p r i m e number ( p ) ” )
; / / I n p u t : t a k i n g common p r i m e number a s i n p u t
6 // I n p u t ex . p=13
7 g =[6]; // i n p u t ( ” E n t e r t h e p r i m i t i v e
r o o t ( g ) ( any no . )
”) ;// Input : taking p r i m i t i v e root as input
8 // I n p u t ex . g=6
9 a =[3]; // i n p u t ( ” E n t e r s e c r e t key o f f i r s t u s e r ( any
no . ) ” ) ; / / I n p u t : Taking s e c r e t key f o r u s e r 1
10 // I n p u t ex . a=3
11 b =[10]; // i n p u t ( ” E n t e r s e c r e t key o f s e c o n d u s e r ( any
no . ) ” ) ; / / I n p u t : Taking s e c r e t key f o r u s e r 2
12 // I n p u t ex . b=10
13 A = modulo ( g ^a , p ) ; // p u b l i c key o f u s e r 1
14 B = modulo ( g ^b , p ) ; // p u b l i c key o f u s e r 2
15 common_key = modulo ( A ^b , p ) ; // common key
10
16 printf ( ”Common Key i s %. d ” , common_key ) ; // Output :
Produ ced common key
17 // Output f o r ex . Common Key=12
11
Experiment: 5
lena.png
1
2 // C a p t i o n : Program p e r f o r m s B l o c k T r u n c a t i o n Coding (
BTC) by c h o o s i n g different
3 // b l o c k s i z e s o f 8
4 // S o f t w a r e v e r s i o n
5 //OS Windows7
6 // S c i l a b 5 . 4 . 1
7 // Image P r o c e s s i n g Design Toolbox 8.3.1 −1
8 // S c i l a b Image and Video P r o c c e s s i n g t o o l b o x
0.5.3.1 −2
9
10 close ;
11 clc ;
12
Figure 5.1: block truncation in image
13
29 end
30 end
31 end
32 // imshow ( u i n t 8 ( x ) )
33 // t i t l e ( ’ R e c o n s t r u c t e d Image ’ )
34 x = uint8 ( x ) ;
35 figure (1)
36 imshow ( x1 )
37 title ( ’ O r i g i n a l Image ’ ) ; // IPD t o o l b o x
38 figure (2)
39 imshow ( x ) ; // IPD t o o l b o x
40 title ( ’ B l o c k S i z e = 8 ’ )
14
Appendix
15
LENA IMAGE
16