The document describes Edify, a text editor application created in Java that provides encryption/decryption features to protect user data privacy. It has a graphical user interface with menus, toolbars, and status displays. Encryption can be done on whole files or selected text using techniques like password-based encryption with MD5 and DES or AES. The editor aims to provide basic text editing tools along with cryptographic capabilities to secure user documents.
2. Abstract
There are many simple text editors available in market. However most of
them don’t provide the facility to protect user data.Edify-text editor is made
taking this idea into consideration. It is a special text editor with encryp-
tion/decryption techniques.It is made using object oriented approach on java
based platform.It is strictly a windows operating system based editor and
must not be used on other operating systems.
4. Figure 1: Edify user Interface
0.1 UI(User Interface)
Though Edify incorporates some additional features basic layout of the editor
is consistent.Top layout consists of toolbar and a menubar.Center layout
consists of the editable text area where as the left layout displays the number
of lines used.Finally the bottom layout displays three important features.
1. System time
2. Caps-Lock status
3. Word wrap status
Toolbar consists of following items
1. new
2. open
3. save
4. cut
5. copy
2
5. 6. paste
7. simple search
8. display type
Menubar consists of following items
1. file
2. edit
3. format
4. view
5. font
6. help
7. crypto
8. openapp
Functions of all the above items will be explained in coming features section.
0.2 Features
Most of the menubar and toolbar items are associated with shortcuts.
0.2.1 Menubar
File This has various item like creating new file,opening existing file or sav-
ing it.It also contain sub-item for exiting the program.
edit This contains various edit options like cut,copy,paste,delete,go to line(takes
you to the line number given as input),search and replace and select
all.
Format This contains word wrap as a sub-items which allows enabling/disabling
of word wrap feature.
3
6. View This allows full screen feature for the editor.
Fonts This allows user to set various types of font,sizes and attributes to
the editor’s text.
Crypto This allows user to encrypt/decrypt an entire file.
openApp This allows you to open any file from your text editor itself.Selected
file will open in the default program associated with it.
Help This provides general help for users.
0.2.2 Toolbar
new Creates a new file.
open Opens a existing file.
save Saves current file.
cut Cut selected text.
copy Copy selected text.
paste Paste selected text.
Search Simple search.
Display Style Allows user to choose between various display styles sup-
ported.
4
7. Figure 2: Popup menu
0.2.3 Popup Menu
This can be used by 3rd clicking of mouse.
Cut Cut selected text.
Copy Copy selected text.
Paste Paste selected text.
Delete Delete selected text.
GoToLine Go to line number provided as input.
selectAll Select all text.
Encrypt Encrypt selected text.
Decrypt Decrypt selected text.
0.3 Techniques used
Whole user interface is done by java swing and awt classes.
Java threads are used to display system time,caps lock status and word wrap
status on bottom layout of the editor.
Fonts and display styles are the one which the system running the editor is
supporting.
Basic search provided in the toolbar uses document technique to find the
5
8. requires search word.
Advanced search with replace is provided in edit item of menubar.
OpenApp feature use process and runtime execution in java with DOS com-
mands to open any file with it’s default application.
Techniques used in encryption/decryption which forms the major feature of
the editor is described as follows-
Encrypting/Decrypting whole file This feature can be used via crypto
item in menubar.User must select a file(.txt) and provide a suitable
password to encrypt the file.Encrypted file is stored in the same di-
rectory as.enc file. Basic technique used is Password-Based Encryp-
tion(PBE).PBE derives an encryption key from a password.Algorithm
used is “PBEWithMD5AndDES”.
Encrypting/Decrypting selected text This feature is provided in the
popup menu which can be triggered by 3rd click of mouse button.This
is used the encrypt/decrypt selected text in the editor.User must first
select the text from the editor that he wishes to encrypt/decrypt and
the use the functionality provided.Algorithm used here is “AES”.For
string manipulations BASE64Encoder is used.
0.4 Conclusion
Using text editor with cryptographic features ensures protection of users data
privacy.
Also additional features like time display and word wrap/caps lock status
display facilitates user convenience.Running any application file from the
editor itself reduces user navigation time and increases efficiency.
0.5 Acknowledgement
We are grateful to our project guide Dr. Neena Goveas, Ph.D. ,Assistant
Professor, Birla Institute of Technology and Science, Pilani - Goa Campus
for her time to time, much needed, valuable guidance.
We also wish to express our profound thanks to all those who helped us
by giving their valuable suggestions for the completion of our project.
6
9. 0.6 References
http://docs.oracle.com/javase/6/docs/api
http://docs.oracle.com/javase/1.4.2/docs/guide/security/jce/JCERefGuide.html
http://www.roseindia.net/java/
Google
7