File Encryption and Decryption
File Encryption and Decryption
Chapter 1
Introduction
1.1 Outline
Encrypted data must be deciphered, or decrypted, before it can be read by the recipient.
The root of the word encryption—crypt—comes from the Greek word kryptos, meaning
hidden or secret. In its earliest form, people have been attempting to conceal certain
information that they wanted to keep to their own possession by substituting parts of the
information with symbols, numbers and pictures, this paper highlights in chronology the
history of Cryptography throughout centuries. For different reason, humans have been
interested in protecting their messages.
Encryption: The data contained in the file is encrypted once it is entered as the input in
the GUI developed.
Decryption: The contents of the file which is encrypted using AES algorithm will be
decrypted using the specified algorithm.
All the outliers can be detected by the program in a two phase manner.
The performance of the software package depends on the volume of data i.e. the number of
objects in the dataset.
1.4 Limitations
Although AES is free for any use public or private, commercial or non-commercial programs
that provide encryption capabilities are subject to U.S. export controls and sanctions
administered by the Bureau of Industry and Security (BIS) under the Export Administration
Regulations (EAR) and the Commerce Control List (CCL).
Most commercial encryption products have a license exception assigned to them by the BIS.
The exception allows them to be exported to specified destinations without having to obtain a
separate license each time from the Commerce Department. None of these license exceptions,
however, allow encryption products to be exported to the following embargoed countries:
Cuba, Iran, Iraq, Libya, North Korea, Sudan and Syria.
The control of the export of encryption tools is taken seriously by the U.S. government and
by vendors. In data encryption provider PGP Corp.'s license agreements, for example,
customers must represent that they will not export to a prohibited country or to a restricted
type of user.
Even the release of technology or source code to a foreign national in the United States is
subject to the EAR and is deemed to be an export to the home country of the foreign national.
Although export regulations have been relaxed, they are still quite complex, so I suggest you
contact a lawyer for further advice.
Chapter 2
Requirements Specification
This requirement outlines the functional/operational capability that the system can be able to
provide and reaction to a particular problem. The data encryption and decryption system has
the following functional requirements:
i. The system shall be able to identify documents with .txt extension, for encryption.
ii. The system shall be able to generate public and private keys to be used by registered users
for both encryption and decryption.
iii. The system shall be able to encrypt and decrypt text files stored in the computer system.
iv. The system shall be able to save the encrypted plain text as .txt files
Performance
Performance of the encryption and decryption should always vary between a few hundred
milliseconds. Time taken to encrypt file and decrypt file using the AES algorithm should be
minimal.
Usability
The GUI application shall provide an easy-to-use graphical interface similar to other existing
GUI’s so that the users do not have to learn a new style of interaction.
Integrity
The system must be programmed properly to prevent exploitation through buffer overflows
etc. The system should be secure and could use encryption to protect the files.
Interoperability
The application shall minimize the effort required to couple it to another system, such as an
Integrated Development Environment.
Chapter 3
System/Requirements Analysis
Encrypt File
Exit
In the Encrypt File module, the user can encrypt file and the data encrypted is stored in an
another file. Lastly he can exit the window and discard contents by clicking the Exit button.
This module allows the user to decrypt the file which was encrypted earlier and the decrypted
texts are stored in the same file. Lastly he can exit the window and discard contents by
clicking the Exit button.
Chapter 4
System Design
onAction: saveNewfile
onAction: saveNewfile
Fx:id button
onAction: handleButtonAction
Chapter 5
Implementation
JavaFX
JavaFX is a software platform for creating and delivering desktop applications, as well as rich
Internet applications (RIAs) that can run across a wide variety of devices. JavaFX is intended
to replace Swing as the standard GUI library for Java SE, but both will be included for the
foreseeable future. JavaFX has support for desktop computers and web
browsers on Microsoft Windows, Linux, and macOS.
Before version 2.0 of JavaFX, developers used a statically typed, declarative language
called JavaFX Script to build JavaFX applications. Because JavaFX Script was compiled
to Java bytecode, programmers could also use Java code instead. JavaFX applications could
run on any desktop that could run Java SE or on any mobile phone that could run Java ME.
JFeonix is an open source Java library, that implements Google Material Design using Java
components.
Basic Components
Button
Check Box
Combo Box
Hamburger
Input Fields
Progress Bar
Radio Button
Rippler
Scroll Pane
Slider
Spinner
Tab Pane
Toggle Button
Advanced Components
Badge
Decorator
Dialog
Drawer
List View
Masonry
Pickers
Popup
Snack Bar
Tree Table View
NetBeans
Applications can install modules dynamically. Any application can include the Update Center
module to allow users of the application to download digitally signed upgrades and new
features directly into the running application. Reinstalling an upgrade or a new release does
not force users to download the entire application again.
The platform offers reusable services common to desktop applications, allowing developers
to focus on the logic specific to their application.
Scene Builder works with the JavaFX ecosystem – official controls, community projects, and
Gluon offerings including Gluon Mobile, Gluon Desktop, and Gluon CloudLink.
Drag & Drop user interface design allows for rapid iteration. Separation of design and logic
files allows for team members to quickly and easily focus on their specific layer of
application development.
Scene Builder is free and open source but is backed by Gluon. Commercial support
offerings are available, including training and custom consultancy services.
Chapter 6
Testing
Main Panel
Chapter 7
Interpretation of Results
Conclusion
It allows the user to Encrypt a file using AES algorithm, to keep his data safe.
It also allows the user to Decrypt the file to retrieve back the information.
References
Michael J. Folk, Bill Zoellick, Greg Riccardi: File Structures-An Object Oriented
Approach with C++, 3rd Edition, Pearson Education, 1998.
Herbert Schildt: JAVA the Complete Reference, 7th/9th Edition, Tata McGraw Hill,
2007.
Jim Keogh: J2EE-TheCompleteReference, McGraw Hill, 2007.
StackOverflow: www.stackoverflow.com
Codeproject: www.codeproject.com
Javacreek: www.javacreek.com