SlideShare ist ein Scribd-Unternehmen logo
1 von 21
Downloaden Sie, um offline zu lesen
PROJECT & APPLICATION
MULTIPLE DATA COMPRESSION &
ENCRYPTION USING ITERATIVE TECHNIQUE
DEVELOPED APPLICATION :
“ENDECS”
SOURCE CODE STRUCTURE OF
APPLICATION
● Using this application any text file can be compressed.
● Basically, any character stored in a file using the ASCII code.
● ASCII code is 7-bit code. But due to machine structure we use 8-bit
codes.
● Every character has been assigned unique ASCII code.
● 7-bits codes means we can use 128 distinct characters.
● If a file has less than 256 distinct characters then we can assign
every character our own code
if a file has greater than 8 and less than 16 distinct characters then
we can assign the codes from 0000 - 1111 for every character.
SOURCE CODE STRUCTURE OF
PROJECT
● First of all file is opened on the file descriptor (FD) of the process
context using open() function.
● Then, distinct characters of the file are selected and stored in a
file. Now, this file will be used as encryption key.
● Number of distinct characters will decide what will be the cede
length of every character in the source file.
For example, if a file have following data :
Data structure
then the distinct characters will be
Dat sruce
● Now, there are 9 distinct characters in the file. We can assign every
character from beginning the binary codes from 0000 to 1001.
● So, by using 4-bits codes, we can create the complete text file.
There is no need of 8-bit ASCII codes.
SOURCE CODE STRUCTURE OF
PROJECT
● In the computer system, only 8-bits ASCII codes can be transferred
or processed.
● Due to 8-bit designed blocks, we have to adjust these codes (of any
length) within the block.
4-bits 4bits
● If the code length of the character is 4-bit then we can adjust two
characters within one character space. So, we can compress the file
up to 50% as described in the example.
● For other code lengths we can adjust the characters as compact as
possible.
First character Next Character
WORKING OF THE PROJECT
● The working can be described by an example.
ENCRYPTION & COMPRESSION :
● We have the file “ffc” in which character are following
Storage class
● The will be opened by the open() function in the process context and
stored in a temporary buffer for different types of operations.
● The distinct characters of the file will be selected and in a file. This
file will work as encryption key and used for encryption and
decryption both.
– The contents of the encryption key file is
Storage cls
WORKING OF THE PROJECT
● Number of distinct characters is 11.
● We can assign the binary codes for Storage cls from 0000 – 1011
respectively. So, we can use only 4-bits codes to represent every
character.
● Here, both encryption key and source file contents are stored in the
temporary buffer.
● Every character of the source file will be compared with every
character of the encryption key. If these are matched to each-other
then the index of the character of the encryption key will be the
code for that particular character of the source file.
● This code is of integer type, now it is converted into the character
type to become 8-bits from 32-bits.
● Now, two characters of 4-bits are adjusted in 1 byte space instead of
ASCII code.
WORKING OF THE PROJECT
● So, once two characters of the source file are arranged in one
character space and written in a file in the case of 4-bit code.
● During these complete operations bit-wise operators are widely
used to arrange every bit in the 8-bit block.
● When codes of two characters are merged in one 8-bit block then
that resultant character is interpreted by the computer according to
the ASCII codes which can not be understood by human.
● Since, we have adjusted two characters in only one character space,
the file has been compressed to 50 % .
● Since, a human cannot understand the compressed data, so it has
been encrypted.
● This encrypted data is called cipher text.
WORKING OF THE PROJECT
● Decryption & Decompression
● Decompression is completely opposite process of encryption of the
file.
● In this process, we need two types of files :
compressed file &
encryption key
● These two files are opened on the file descriptors of the process
context.
● Now, characters of compressed file and encryption key are read and
stored in a different temporary buffers.
● Every character of the compressed file is interpreted by the
decryption algorithm.
WORKING OF THE PROJECT
● Once a character is read and split into two 4-bits parts.
● Now, every 4-bit represents a particular character of the plain text.
● Every 4-bit is converted into 8-bit by zero-padding concept for
character representation.
● This 8-bit code of the character is converted into 32-bit integer by
using atoi() function or simply by typecasting.
● Integer representation is necessary because it is the index where
the character of plain text is stored in the encryption key buffer.
● The plain text character from encryption key buffer is fetched and
stored in a file.
● The file generated from this process will contain the plain text
character.
● This process is called decryption.
TEXT EDITOR
● The complete project has been done on VIM editor.
● It is a console application which can run only in terminal
mode.
● It is improved version of the Vi editor available already in the
Ubuntu Operating.
● Due to command interface, the processing of any type of file
is too fast on the VIM editor.
● There are two mode of working of a VIM editor
Command mode & Insert mode
● File can be recovered easily, that has been lost due to any
system crash.
COMPILER
● GNU COMPILER COLLECTION (gcc)
● The complete application has been designed in C language.
● If a program has been written in VIM editor, it can be
compiled by using gcc compiler.
● GCC has various steps in order to convert the C language to
object codes :
1)Preprocessor Expansion [gcc -E file_name.c]
2)Assembly Conversion [gcc -S file_name.c]
3)Object File [gcc -c file_name.c]
4)Linking [gcc -o file_name file_name.c]
DEBUGGER
● The GNU Debugger (gdb)
GDB can do four main kinds of things (plus other things in
support of these) to help you catch bugs in the act:
● Start your program, specifying anything that might affect its
behavior.
● Make your program stop on specified conditions.
● Examine what has happened, when your program has
stopped.
● Change things in your program, so you can experiment with
correcting the effects of one bug and go on to learn about
another
APPLICATION GUIDE
ENDECS
CRYPTOGRAPHY TOOL
.............encryption decryption system
● This application has been designed on the theory of multiple
data compression and encryption using iterative technique,
specially for operating systems having GNU Compiler and
library files.
● Give application the permission for execution
[chmod +x ENDECS]
● Now Execute the application
[./ENDECS]
APPLICATION GUIDE
● After executing the application you will get the following
screen :
● Now, If you are agree with terms and condition then reply
with 'y' then you have the welcome window,
APPLICATION GUIDE
● Now,, Choose options for encryption, decryption or exit.
● If you choose the encryption option then you will be asked
for the file name which contains the plain text.
APPLICATION GUIDE
● After entering the file_name press <enter>.
● On the screen you will get the complete information
regarding encryption :
1)Contents of the file and number of character of source file
2)Contents of the encryption key
3)Number of distinct characters in the source file
4)file_name where compressed compressed data is
stored(CFILE)
5)file_name where encryption key stored (CKEY)
APPLICATION GUIDE
APPLICATION GUIDE
● Now, for decryption choose option 2
● You will be asked for two files :
1)Compressed File
2)Encryption key
● Enter the file_names
● You will get the information regarding decryption
1)Code-length of the characters
2)file_name where decompressed data is stored (DFILE)
● These two operations can be separately performed on distinct
computer system
APPLICATION GUIDE
● A screen shot has beentaken during the decryption is as
following :
FUTURE OF APPLICATION
● Server to manage the database of all users
● Users have to first register on the server to get the user Id
and password.
● After registration a security constraints file will be attached
with the file.
● If a sender sends the data, he has to first give the user name
of the receiver and then a set of security characters will be
attached with encryption key of the file and data will be
encrypted.
● On the receiver side, if the security characters fulfill the
security constraints of the receiver file the application will be
allowed to decompress the data, not otherwise.
THANK YOU !

Weitere ähnliche Inhalte

Was ist angesagt?

Analysis of malicious pdf
Analysis of malicious pdfAnalysis of malicious pdf
Analysis of malicious pdfRaghunath G
 
Learn ASP.NET at ASIT
Learn ASP.NET at ASITLearn ASP.NET at ASIT
Learn ASP.NET at ASITASIT
 
The Good, the Bad, and the Ugly: What Happened to Unicode and PHP 6
The Good, the Bad, and the Ugly: What Happened to Unicode and PHP 6The Good, the Bad, and the Ugly: What Happened to Unicode and PHP 6
The Good, the Bad, and the Ugly: What Happened to Unicode and PHP 6Andrei Zmievski
 
2.Getting Started with C#.Net-(C#)
2.Getting Started with C#.Net-(C#)2.Getting Started with C#.Net-(C#)
2.Getting Started with C#.Net-(C#)Shoaib Ghachi
 
Introduction to vb.net
Introduction to vb.netIntroduction to vb.net
Introduction to vb.netJaya Kumari
 
Introduction to .NET Programming
Introduction to .NET ProgrammingIntroduction to .NET Programming
Introduction to .NET ProgrammingKarthikeyan Mkr
 
HKG15-901: Upstreaming 101
HKG15-901: Upstreaming 101HKG15-901: Upstreaming 101
HKG15-901: Upstreaming 101Linaro
 
Common language runtime clr
Common language runtime clrCommon language runtime clr
Common language runtime clrSanSan149
 
Network Socket Programming with JAVA
Network Socket Programming with JAVANetwork Socket Programming with JAVA
Network Socket Programming with JAVADudy Ali
 
.Net introduction by Quontra Solutions
.Net introduction by Quontra Solutions.Net introduction by Quontra Solutions
.Net introduction by Quontra SolutionsQUONTRASOLUTIONS
 
HKG15-902: Upstreaming 201
HKG15-902: Upstreaming 201HKG15-902: Upstreaming 201
HKG15-902: Upstreaming 201Linaro
 
.Net framework architecture
.Net framework architecture.Net framework architecture
.Net framework architectureFad Zulkifli
 
Architecture in .net
Architecture in .netArchitecture in .net
Architecture in .netLarry Nung
 
.NET and C# Introduction
.NET and C# Introduction.NET and C# Introduction
.NET and C# IntroductionSiraj Memon
 

Was ist angesagt? (20)

Analysis of malicious pdf
Analysis of malicious pdfAnalysis of malicious pdf
Analysis of malicious pdf
 
Inside.Net
Inside.NetInside.Net
Inside.Net
 
Learn ASP.NET at ASIT
Learn ASP.NET at ASITLearn ASP.NET at ASIT
Learn ASP.NET at ASIT
 
The Good, the Bad, and the Ugly: What Happened to Unicode and PHP 6
The Good, the Bad, and the Ugly: What Happened to Unicode and PHP 6The Good, the Bad, and the Ugly: What Happened to Unicode and PHP 6
The Good, the Bad, and the Ugly: What Happened to Unicode and PHP 6
 
2.Getting Started with C#.Net-(C#)
2.Getting Started with C#.Net-(C#)2.Getting Started with C#.Net-(C#)
2.Getting Started with C#.Net-(C#)
 
CLI313
CLI313CLI313
CLI313
 
Doxygen
DoxygenDoxygen
Doxygen
 
Introduction to vb.net
Introduction to vb.netIntroduction to vb.net
Introduction to vb.net
 
Introduction to .NET Programming
Introduction to .NET ProgrammingIntroduction to .NET Programming
Introduction to .NET Programming
 
HKG15-901: Upstreaming 101
HKG15-901: Upstreaming 101HKG15-901: Upstreaming 101
HKG15-901: Upstreaming 101
 
CFInterop
CFInteropCFInterop
CFInterop
 
C sharp
C sharpC sharp
C sharp
 
Common language runtime clr
Common language runtime clrCommon language runtime clr
Common language runtime clr
 
Resume
ResumeResume
Resume
 
Network Socket Programming with JAVA
Network Socket Programming with JAVANetwork Socket Programming with JAVA
Network Socket Programming with JAVA
 
.Net introduction by Quontra Solutions
.Net introduction by Quontra Solutions.Net introduction by Quontra Solutions
.Net introduction by Quontra Solutions
 
HKG15-902: Upstreaming 201
HKG15-902: Upstreaming 201HKG15-902: Upstreaming 201
HKG15-902: Upstreaming 201
 
.Net framework architecture
.Net framework architecture.Net framework architecture
.Net framework architecture
 
Architecture in .net
Architecture in .netArchitecture in .net
Architecture in .net
 
.NET and C# Introduction
.NET and C# Introduction.NET and C# Introduction
.NET and C# Introduction
 

Andere mochten auch

Riesci amare i vostri nemici? (Italian)
Riesci amare i vostri nemici? (Italian)Riesci amare i vostri nemici? (Italian)
Riesci amare i vostri nemici? (Italian)Hitoshi Tsuchiyama
 
Arcux Celebrates 7th Anniversary
Arcux Celebrates 7th Anniversary Arcux Celebrates 7th Anniversary
Arcux Celebrates 7th Anniversary Parikshit kakkar
 
Правові норми та існуюча практика колективних переговорів із укладанням колек...
Правові норми та існуюча практика колективних переговорів із укладанням колек...Правові норми та існуюча практика колективних переговорів із укладанням колек...
Правові норми та існуюча практика колективних переговорів із укладанням колек...Ольга Радіонова
 
2016 - Paying for Procurement
2016 - Paying for Procurement2016 - Paying for Procurement
2016 - Paying for ProcurementBuiiTime
 
Presupuesto de material de tablaroca sep-2015
Presupuesto de material de tablaroca sep-2015Presupuesto de material de tablaroca sep-2015
Presupuesto de material de tablaroca sep-2015VALEVS
 
Il piano di marketing online- II Parte
Il piano di marketing online- II ParteIl piano di marketing online- II Parte
Il piano di marketing online- II ParteDML Srl
 
La Buona Scuola - alternanza scuola-lavoro tecnici e licei - tutte le novità
La Buona Scuola - alternanza scuola-lavoro tecnici e licei - tutte le novitàLa Buona Scuola - alternanza scuola-lavoro tecnici e licei - tutte le novità
La Buona Scuola - alternanza scuola-lavoro tecnici e licei - tutte le novitàSilvia Gadda
 

Andere mochten auch (14)

Ley 1715 2014
Ley 1715 2014Ley 1715 2014
Ley 1715 2014
 
Riesci amare i vostri nemici? (Italian)
Riesci amare i vostri nemici? (Italian)Riesci amare i vostri nemici? (Italian)
Riesci amare i vostri nemici? (Italian)
 
Arcux Celebrates 7th Anniversary
Arcux Celebrates 7th Anniversary Arcux Celebrates 7th Anniversary
Arcux Celebrates 7th Anniversary
 
Marzano terni 18 sett2015_fm_trovarelavoro
Marzano terni 18 sett2015_fm_trovarelavoroMarzano terni 18 sett2015_fm_trovarelavoro
Marzano terni 18 sett2015_fm_trovarelavoro
 
Правові норми та існуюча практика колективних переговорів із укладанням колек...
Правові норми та існуюча практика колективних переговорів із укладанням колек...Правові норми та існуюча практика колективних переговорів із укладанням колек...
Правові норми та існуюча практика колективних переговорів із укладанням колек...
 
Moba egg grader
Moba egg graderMoba egg grader
Moba egg grader
 
2016 - Paying for Procurement
2016 - Paying for Procurement2016 - Paying for Procurement
2016 - Paying for Procurement
 
Presupuesto de material de tablaroca sep-2015
Presupuesto de material de tablaroca sep-2015Presupuesto de material de tablaroca sep-2015
Presupuesto de material de tablaroca sep-2015
 
Zicaffè Social media strategy
Zicaffè Social media strategyZicaffè Social media strategy
Zicaffè Social media strategy
 
Il piano di marketing online- II Parte
Il piano di marketing online- II ParteIl piano di marketing online- II Parte
Il piano di marketing online- II Parte
 
La Buona Scuola - alternanza scuola-lavoro tecnici e licei - tutte le novità
La Buona Scuola - alternanza scuola-lavoro tecnici e licei - tutte le novitàLa Buona Scuola - alternanza scuola-lavoro tecnici e licei - tutte le novità
La Buona Scuola - alternanza scuola-lavoro tecnici e licei - tutte le novità
 
AXELOS(1)
AXELOS(1)AXELOS(1)
AXELOS(1)
 
cca_virtualization
cca_virtualizationcca_virtualization
cca_virtualization
 
Educare all'Autostima
Educare all'AutostimaEducare all'Autostima
Educare all'Autostima
 

Ähnlich wie mdc_ppt

Monitoring.pptx
Monitoring.pptxMonitoring.pptx
Monitoring.pptxShadi Akil
 
Dfrws eu 2014 rekall workshop
Dfrws eu 2014 rekall workshopDfrws eu 2014 rekall workshop
Dfrws eu 2014 rekall workshopTamas K Lengyel
 
Performance Optimization of SPH Algorithms for Multi/Many-Core Architectures
Performance Optimization of SPH Algorithms for Multi/Many-Core ArchitecturesPerformance Optimization of SPH Algorithms for Multi/Many-Core Architectures
Performance Optimization of SPH Algorithms for Multi/Many-Core ArchitecturesDr. Fabio Baruffa
 
Linux multiplexing
Linux multiplexingLinux multiplexing
Linux multiplexingMark Veltzer
 
Secure Mail Application's by Ashok Panwar
Secure Mail Application's by Ashok PanwarSecure Mail Application's by Ashok Panwar
Secure Mail Application's by Ashok PanwarAshok Panwar
 
Oleksandr Kutsan "Using katai struct to describe the process of working with ...
Oleksandr Kutsan "Using katai struct to describe the process of working with ...Oleksandr Kutsan "Using katai struct to describe the process of working with ...
Oleksandr Kutsan "Using katai struct to describe the process of working with ...LogeekNightUkraine
 
Understanding Character Encodings
Understanding Character EncodingsUnderstanding Character Encodings
Understanding Character EncodingsMobisoft Infotech
 
Berlin Buzzwords 2013 - How does lucene store your data?
Berlin Buzzwords 2013 - How does lucene store your data?Berlin Buzzwords 2013 - How does lucene store your data?
Berlin Buzzwords 2013 - How does lucene store your data?Adrien Grand
 
Voxxed days Vilnius 2015 - Android Reverse Engineering Lab
Voxxed days Vilnius 2015 - Android Reverse Engineering LabVoxxed days Vilnius 2015 - Android Reverse Engineering Lab
Voxxed days Vilnius 2015 - Android Reverse Engineering LabRon Munitz
 
Programming 8051 with C and using Keil uVision5.pptx
Programming 8051 with C and using Keil uVision5.pptxProgramming 8051 with C and using Keil uVision5.pptx
Programming 8051 with C and using Keil uVision5.pptxShyamkant Vasekar
 
Binary File.pptx
Binary File.pptxBinary File.pptx
Binary File.pptxMasterDarsh
 
Stack-Based Buffer Overflows
Stack-Based Buffer OverflowsStack-Based Buffer Overflows
Stack-Based Buffer OverflowsDaniel Tumser
 
CodeQL a Powerful Binary Analysis Engine
CodeQL a Powerful Binary Analysis EngineCodeQL a Powerful Binary Analysis Engine
CodeQL a Powerful Binary Analysis EngineMaryEliot
 
Pros and cons of c as a compiler language
  Pros and cons of c as a compiler language  Pros and cons of c as a compiler language
Pros and cons of c as a compiler languageAshok Raj
 
PyConIT6 - MAKING SESSIONS AND CACHING ROOMMATES
PyConIT6 - MAKING SESSIONS AND CACHING ROOMMATESPyConIT6 - MAKING SESSIONS AND CACHING ROOMMATES
PyConIT6 - MAKING SESSIONS AND CACHING ROOMMATESAlessandro Molina
 

Ähnlich wie mdc_ppt (20)

Monitoring.pptx
Monitoring.pptxMonitoring.pptx
Monitoring.pptx
 
Dfrws eu 2014 rekall workshop
Dfrws eu 2014 rekall workshopDfrws eu 2014 rekall workshop
Dfrws eu 2014 rekall workshop
 
Lecture 2
Lecture 2Lecture 2
Lecture 2
 
Performance Optimization of SPH Algorithms for Multi/Many-Core Architectures
Performance Optimization of SPH Algorithms for Multi/Many-Core ArchitecturesPerformance Optimization of SPH Algorithms for Multi/Many-Core Architectures
Performance Optimization of SPH Algorithms for Multi/Many-Core Architectures
 
Linux multiplexing
Linux multiplexingLinux multiplexing
Linux multiplexing
 
Secure Mail Application's by Ashok Panwar
Secure Mail Application's by Ashok PanwarSecure Mail Application's by Ashok Panwar
Secure Mail Application's by Ashok Panwar
 
Building custom kernels for IPython
Building custom kernels for IPythonBuilding custom kernels for IPython
Building custom kernels for IPython
 
Ravi kumar
Ravi kumarRavi kumar
Ravi kumar
 
C- language Lecture 8
C- language Lecture 8C- language Lecture 8
C- language Lecture 8
 
Oleksandr Kutsan "Using katai struct to describe the process of working with ...
Oleksandr Kutsan "Using katai struct to describe the process of working with ...Oleksandr Kutsan "Using katai struct to describe the process of working with ...
Oleksandr Kutsan "Using katai struct to describe the process of working with ...
 
Windows mobile programming
Windows mobile programmingWindows mobile programming
Windows mobile programming
 
Understanding Character Encodings
Understanding Character EncodingsUnderstanding Character Encodings
Understanding Character Encodings
 
Berlin Buzzwords 2013 - How does lucene store your data?
Berlin Buzzwords 2013 - How does lucene store your data?Berlin Buzzwords 2013 - How does lucene store your data?
Berlin Buzzwords 2013 - How does lucene store your data?
 
Voxxed days Vilnius 2015 - Android Reverse Engineering Lab
Voxxed days Vilnius 2015 - Android Reverse Engineering LabVoxxed days Vilnius 2015 - Android Reverse Engineering Lab
Voxxed days Vilnius 2015 - Android Reverse Engineering Lab
 
Programming 8051 with C and using Keil uVision5.pptx
Programming 8051 with C and using Keil uVision5.pptxProgramming 8051 with C and using Keil uVision5.pptx
Programming 8051 with C and using Keil uVision5.pptx
 
Binary File.pptx
Binary File.pptxBinary File.pptx
Binary File.pptx
 
Stack-Based Buffer Overflows
Stack-Based Buffer OverflowsStack-Based Buffer Overflows
Stack-Based Buffer Overflows
 
CodeQL a Powerful Binary Analysis Engine
CodeQL a Powerful Binary Analysis EngineCodeQL a Powerful Binary Analysis Engine
CodeQL a Powerful Binary Analysis Engine
 
Pros and cons of c as a compiler language
  Pros and cons of c as a compiler language  Pros and cons of c as a compiler language
Pros and cons of c as a compiler language
 
PyConIT6 - MAKING SESSIONS AND CACHING ROOMMATES
PyConIT6 - MAKING SESSIONS AND CACHING ROOMMATESPyConIT6 - MAKING SESSIONS AND CACHING ROOMMATES
PyConIT6 - MAKING SESSIONS AND CACHING ROOMMATES
 

mdc_ppt

  • 1. PROJECT & APPLICATION MULTIPLE DATA COMPRESSION & ENCRYPTION USING ITERATIVE TECHNIQUE DEVELOPED APPLICATION : “ENDECS”
  • 2. SOURCE CODE STRUCTURE OF APPLICATION ● Using this application any text file can be compressed. ● Basically, any character stored in a file using the ASCII code. ● ASCII code is 7-bit code. But due to machine structure we use 8-bit codes. ● Every character has been assigned unique ASCII code. ● 7-bits codes means we can use 128 distinct characters. ● If a file has less than 256 distinct characters then we can assign every character our own code if a file has greater than 8 and less than 16 distinct characters then we can assign the codes from 0000 - 1111 for every character.
  • 3. SOURCE CODE STRUCTURE OF PROJECT ● First of all file is opened on the file descriptor (FD) of the process context using open() function. ● Then, distinct characters of the file are selected and stored in a file. Now, this file will be used as encryption key. ● Number of distinct characters will decide what will be the cede length of every character in the source file. For example, if a file have following data : Data structure then the distinct characters will be Dat sruce ● Now, there are 9 distinct characters in the file. We can assign every character from beginning the binary codes from 0000 to 1001. ● So, by using 4-bits codes, we can create the complete text file. There is no need of 8-bit ASCII codes.
  • 4. SOURCE CODE STRUCTURE OF PROJECT ● In the computer system, only 8-bits ASCII codes can be transferred or processed. ● Due to 8-bit designed blocks, we have to adjust these codes (of any length) within the block. 4-bits 4bits ● If the code length of the character is 4-bit then we can adjust two characters within one character space. So, we can compress the file up to 50% as described in the example. ● For other code lengths we can adjust the characters as compact as possible. First character Next Character
  • 5. WORKING OF THE PROJECT ● The working can be described by an example. ENCRYPTION & COMPRESSION : ● We have the file “ffc” in which character are following Storage class ● The will be opened by the open() function in the process context and stored in a temporary buffer for different types of operations. ● The distinct characters of the file will be selected and in a file. This file will work as encryption key and used for encryption and decryption both. – The contents of the encryption key file is Storage cls
  • 6. WORKING OF THE PROJECT ● Number of distinct characters is 11. ● We can assign the binary codes for Storage cls from 0000 – 1011 respectively. So, we can use only 4-bits codes to represent every character. ● Here, both encryption key and source file contents are stored in the temporary buffer. ● Every character of the source file will be compared with every character of the encryption key. If these are matched to each-other then the index of the character of the encryption key will be the code for that particular character of the source file. ● This code is of integer type, now it is converted into the character type to become 8-bits from 32-bits. ● Now, two characters of 4-bits are adjusted in 1 byte space instead of ASCII code.
  • 7. WORKING OF THE PROJECT ● So, once two characters of the source file are arranged in one character space and written in a file in the case of 4-bit code. ● During these complete operations bit-wise operators are widely used to arrange every bit in the 8-bit block. ● When codes of two characters are merged in one 8-bit block then that resultant character is interpreted by the computer according to the ASCII codes which can not be understood by human. ● Since, we have adjusted two characters in only one character space, the file has been compressed to 50 % . ● Since, a human cannot understand the compressed data, so it has been encrypted. ● This encrypted data is called cipher text.
  • 8. WORKING OF THE PROJECT ● Decryption & Decompression ● Decompression is completely opposite process of encryption of the file. ● In this process, we need two types of files : compressed file & encryption key ● These two files are opened on the file descriptors of the process context. ● Now, characters of compressed file and encryption key are read and stored in a different temporary buffers. ● Every character of the compressed file is interpreted by the decryption algorithm.
  • 9. WORKING OF THE PROJECT ● Once a character is read and split into two 4-bits parts. ● Now, every 4-bit represents a particular character of the plain text. ● Every 4-bit is converted into 8-bit by zero-padding concept for character representation. ● This 8-bit code of the character is converted into 32-bit integer by using atoi() function or simply by typecasting. ● Integer representation is necessary because it is the index where the character of plain text is stored in the encryption key buffer. ● The plain text character from encryption key buffer is fetched and stored in a file. ● The file generated from this process will contain the plain text character. ● This process is called decryption.
  • 10. TEXT EDITOR ● The complete project has been done on VIM editor. ● It is a console application which can run only in terminal mode. ● It is improved version of the Vi editor available already in the Ubuntu Operating. ● Due to command interface, the processing of any type of file is too fast on the VIM editor. ● There are two mode of working of a VIM editor Command mode & Insert mode ● File can be recovered easily, that has been lost due to any system crash.
  • 11. COMPILER ● GNU COMPILER COLLECTION (gcc) ● The complete application has been designed in C language. ● If a program has been written in VIM editor, it can be compiled by using gcc compiler. ● GCC has various steps in order to convert the C language to object codes : 1)Preprocessor Expansion [gcc -E file_name.c] 2)Assembly Conversion [gcc -S file_name.c] 3)Object File [gcc -c file_name.c] 4)Linking [gcc -o file_name file_name.c]
  • 12. DEBUGGER ● The GNU Debugger (gdb) GDB can do four main kinds of things (plus other things in support of these) to help you catch bugs in the act: ● Start your program, specifying anything that might affect its behavior. ● Make your program stop on specified conditions. ● Examine what has happened, when your program has stopped. ● Change things in your program, so you can experiment with correcting the effects of one bug and go on to learn about another
  • 13. APPLICATION GUIDE ENDECS CRYPTOGRAPHY TOOL .............encryption decryption system ● This application has been designed on the theory of multiple data compression and encryption using iterative technique, specially for operating systems having GNU Compiler and library files. ● Give application the permission for execution [chmod +x ENDECS] ● Now Execute the application [./ENDECS]
  • 14. APPLICATION GUIDE ● After executing the application you will get the following screen : ● Now, If you are agree with terms and condition then reply with 'y' then you have the welcome window,
  • 15. APPLICATION GUIDE ● Now,, Choose options for encryption, decryption or exit. ● If you choose the encryption option then you will be asked for the file name which contains the plain text.
  • 16. APPLICATION GUIDE ● After entering the file_name press <enter>. ● On the screen you will get the complete information regarding encryption : 1)Contents of the file and number of character of source file 2)Contents of the encryption key 3)Number of distinct characters in the source file 4)file_name where compressed compressed data is stored(CFILE) 5)file_name where encryption key stored (CKEY)
  • 18. APPLICATION GUIDE ● Now, for decryption choose option 2 ● You will be asked for two files : 1)Compressed File 2)Encryption key ● Enter the file_names ● You will get the information regarding decryption 1)Code-length of the characters 2)file_name where decompressed data is stored (DFILE) ● These two operations can be separately performed on distinct computer system
  • 19. APPLICATION GUIDE ● A screen shot has beentaken during the decryption is as following :
  • 20. FUTURE OF APPLICATION ● Server to manage the database of all users ● Users have to first register on the server to get the user Id and password. ● After registration a security constraints file will be attached with the file. ● If a sender sends the data, he has to first give the user name of the receiver and then a set of security characters will be attached with encryption key of the file and data will be encrypted. ● On the receiver side, if the security characters fulfill the security constraints of the receiver file the application will be allowed to decompress the data, not otherwise.