Final Project Report 2019
Final Project Report 2019
By
A Project Submitted in Partial Fulfillment of the Requirements for the Bachelor of Science in
August, 2019
CERTIFICATION
The undersigned certify that he has read and hereby recommend to the department of Computer
Science for acceptance by the Faculty of ICT, the project entitled “ENCRYPTED SMS SYSTEM”
in partial fulfillment of the requirements for the award of a Bachelor of Science in Computer
Science at Ruaha Catholic University (RUCU).
…………………………..
(Supervisor)
……………………………
(Project Coordinator)
Date………………………
i
DECLARATION & COPYRIGHT
We are hereby declaring that this project is our original work and has not been presented or
submitted to any other University or institute or published earlier except for the referenced
citations and quotations, which have been duly acknowledged.
Signature………………………………
Signature………………………………
Signature………………………………
Signature………………………………
ii
DEDICATION
We would like to dedicate this work to our beloved parents, for having taken trouble to educate
us. To our friends for their affection, support and inspiration to us which hearten to strive for
meaningful pursuits. Lastly, we would like to dedicate this work to all who have opened our way
to this success.
iii
ACKNOWLEDGEMENT
We would like to thanks the Almighty God for the care and protection he granted to us in the whole
period of our study, it is because of the glory of God that we managed to accomplish this project.
This work is a product of various contributions from different people and we are very grateful and
indebted to them. However, we feel obliged to mention some of them because without their prior
guidance, assistance and encouragement, we would never have been able to finish this project.
We give many thanks to our supervisor, Mr. Dan Mfungo for the guidance, inspiration and
constructive suggestions that helps us in the whole way of doing this project.
Special gratitude and appreciation should go to our project coordinator Mr. Dan Mfungo, head of
department of computer science Madam Jane Girittu and dean of faculty of ICT Dr. Sylivano C.N
Kitinya for their efforts on providing us go ahead to the study area. We would also like to extend
our sincere thanks to our colleagues and our families for their cooperation during the course.
Lastly, we recognize any contribution of any kind or support to this study from anyone, and all
efforts are highly appreciated.
iv
ABSTRACT
Encrypted SMS is an advanced Encryption and decryption System targeting the SMS for Android
Users both sender and receiver. The User can send an Encrypted message while he can decrypt an
encrypted message. When we live in a global village, then maintaining privacy and confidentiality
becomes reasonably challenging. Short Message Service (SMS) is the oldest application for
exchanging messages between communicating parties in cellular network used by mobile phones.
These messages are encrypted over-the-air with A5/1 algorithm and stored as clear text at network
operator. Recent developments have shown that this algorithm is not secure any more.
Compromising an access to network operator registers gains access to SMS also. Current scenarios
of hacks and exploitation demands confidentiality, and encryption is one of the techniques, which
is used, in this subsequent project of designing a secure SMS android application. Cryptographic
manipulation of the data is performed using AES 128 -bit algorithm to secure the data, which is
essential to us and the safe transmission of confidential data over the GSM network. AES
(Advanced Encryption Standards) algorithm is the considered impregnable even to super
computers brute force attacks. The AES algorithm technique uses very befuddled and sporadic
encryption making data impregnable to attackers or hackers. This android app will
allow the user to encrypt and decrypt the SMS (Short Message Service) efficiently and just at one
click.
v
TABLE OF CONTENTS
CERTIFICATION ........................................................................................................................... i
ACKNOWLEDGEMENT ............................................................................................................. iv
ABSTRACT.................................................................................................................................... v
TABLE OF CONTENTS............................................................................................................... vi
LIST OF FIGURERS..................................................................................................................... ix
INTRODUCTION ....................................................................................................................... 1
1.1 Introduction ........................................................................................................................... 1
1.2 Background of the problem ................................................................................................... 2
1.3 Problem Statement ................................................................................................................ 3
1.4 Objectives of the Project ....................................................................................................... 4
1.4.1 Main Objectives .............................................................................................................. 4
1.4.2 Specific Objectives ......................................................................................................... 4
1.5 Purpose of the project............................................................................................................ 4
1.6 Significance of the project..................................................................................................... 4
1.7 Assumption and limitation .................................................................................................... 5
1.8 Scope of the Project............................................................................................................... 5
CHAPTER TWO ............................................................................................................................ 6
vi
CHAPTER THREE ...................................................................................................................... 10
METHODOLOGY .................................................................................................................... 10
3.1 Introduction ......................................................................................................................... 10
3.1.1 Implementation models ................................................................................................ 10
3.1.2 Prototype design ........................................................................................................... 10
3.2 Requirement specification ................................................................................................... 12
3.2.1 Function Requirements ................................................................................................. 12
3.2.2 Non-function requirement ............................................................................................ 12
3.3 Hardware and Software Requirements ................................................................................ 13
3.3.1 Hardware requirements................................................................................................. 13
3.3.2 Software requirements .................................................................................................. 14
3.4 Development Tools ............................................................................................................. 14
3.5 Data requirements ............................................................................................................... 15
3.6 Data Collection techniques.................................................................................................. 15
CHAPTER FOUR......................................................................................................................... 16
vii
CHAPTER SIX ............................................................................................................................. 23
APPENDIX ................................................................................................................................... 25
viii
LIST OF FIGURERS
ix
LIST OF TABLES
x
ABBREVIATIONS AND ACRONYMS
xi
CHAPTER ONE
INTRODUCTION
1.1 Introduction
Communication has always been a crucial factor in development of human's everyday life. Since
prehistoric times human society developed different forms of communication which made possible
exchanging meaningful information between individuals, and, as a result, they put in function the
society itself. At those times fire, smoke signals, horns etc. were used as communication tools and
techniques. Moreover, the appearance of speech made a revolution in human communication. In
addition, symbols and writing further revolutionized communication. They led to new
communication techniques like mail, pigeon post etc. The technology innovations further
improved and made communication more powerful. First the telegraph then the telephone made
communication quite simple even in long distances. Furthermore, the internet extremely boosted
the communication and made it easier than ever before. Telephone is considered to be one of the
most important invention that revolutionized communication. First telephone was introduced with
the landline version where all telephones were connected by wires but, later it evolved to the
wireless version. SMS is a text messaging service component of phone, web, or mobile
communication systems, using standardized communications protocols that allow the exchange of
short text messages between fixed line or mobile phone devices. Users can used SMS to send or
receive from a single person, or several persons, personal messages, email notifications,
information services, school activity alerts, notification from teacher, job dispatches, and also
stock alerts. With these usable applications, SMS is now more and more common among mobile
phone users. However, the security issue of SMS’s is still an open challenging task. SMS is now
a very common communication tool. The security protection of SMS messages is not yet that
sophisticated and difficult to implement in practice. The confidentiality and integrity mechanism
are only specified as optional security measures that can be made available, but they are not
mandatory requirements for SMS system implementation. In our project we implement the use of
symmetric cryptography for SMS transfer to secure the information transferred using advanced
Encryption standard.
1
1.2 Background of the problem
Many times, when data is exchanged electronically the privacy of the data is a requirement. The
use of encryption restricts unintended recipients from viewing the data, which are deemed
confidential and potentially dangerous if made known to irresponsible parties. Today, encryption
is the procedure of transforming plaintext, data that can be read by anyone, to cipher text, data that
can only be read by someone with a secret decryption key. A message before being changed in
any way is called plaintext. Plaintext messages are converted to cipher text via some encryption
method. A particular such method is called a cryptosystem. Encryption today is highly competitive
businesses often require that extensive security measures be put into place. And, those who wish
to exercise their personal freedom, outside of the oppressive nature of governments, may also wish
to encrypt certain information to avoid legalities that entailed possession of such. This final year
project is concentrated on Text Messaging Encryption System. Currently SMS is being widely
used as a fast and convenient communication tool. There is no age barrier in using this SMS service
which starts from small kid till elderly people. When this is the case, there is no security for
messages transmitted over hand phones on the required parties by email or verbally in person. This
delays time and efficiency in crucial business operations. Since there is no security for the
messages, it indirectly leads to a lot of problems where important and confidential information
such as passwords is being accessed by unauthorized individual. Apart from all that, there are also
some other cases like the mobile phone owner accidently send messages to the wrong number and
it gets worse when the mobile gets stolen. By implementing this encryption system, security of
private and confidential data will be solved. This system is not only meant for public use but it is
also focused on banking and commerce sectors as well where this system is more in need to
basically interact with their customers. This system will be targeted to be very user friendly in
where it will be very easy to handle and provides good security at the same time. Due to this reason,
more people will get to know about the product and it is believed to be utilized in an appropriate
way.
2
1.3 Problem Statement
Although it is widely used, there is no security for messages transmit over hand phones at moment
unless the users take their own initiative to install encryption software which is available in the
market. As for now, few people realize the existence of encryption software’s in the market. They
do not know on how to really utilize it and how secure it as well. SMS encryption is required to
provide security for confidential information to be sent over hand phones. Confidential information
or instructions can only be safely passed on to the required parties by email or verbally in person.
This delays time and efficiency of crucial business operations. Currently messages in phone can
easily be read if the phone is stolen, or users might simply send and receive private information.
At present, banking, commerce and passwords can only be communicated with internet connection
or as in person verbally or in written. SMS helps to overcome these intermediate subjects and
deliver instructions or messages instantaneously and securely. After analyzing the above stated
problem, this system will encrypt and decrypt the messages which are sent through mobile devices
using GSM connection. This mobile application starts off the user will type the message in the
encryption system which will then be then sent out to the intended recipient by entering their phone
number. The recipient will receive the message in the form of cipher text which will be then copied
to the system to decrypt it and get the original message back using the same SMS Encryption
system installed in his/her mobile phone. Since the messages are being encrypted, it provides a
good security system. The system basically concentrates on providing 1st level of security for the
text message content itself which can be private and confidential in so many situations as fraud
cases based on this can be listed down. This is the part where the user will be able to encrypt and
decrypt the messages from the developed system which protects their valuable data. Other than
that this system would be providing security at initial point on 2nd level security which
concentrates on user authentication. This is basically done to avoid unauthorized access if someone
else attending the phone instead of the real user if the phone gets stolen. This is possible because
only the 4 original user have the unique username and password which was registered earlier in
the system.
3
1.4 Objectives of the Project
4
1.7 Assumption and limitation
The system is for only for Android smartphones.
Both sender and recipient need to have the software installed in their phones
The receiver need to know the secret key used to encrypt the message
5
CHAPTER TWO
LITERATURE REVIEW
2.1 Introduction
Smartphones’ market is growing exponentially as well as the operating systems like android and
iOS, which run them. Regular updates are delivered to the users that provide services and security
and keep them up to date in case of any new threat or breakthrough. Now communication is a big
area itself and is of extreme importance considering military, governmental and political
communication and also the daily personal information one doesn’t want to share with others;
there comes the secure methods of transferring information like encryption so that no unwanted
listener hears or read what you have to say or write. There are multiple encryption schemes and
algorithms available all around like blowfish, RC4, but being considered the most secure and
efficient is AES (Advanced Encryption Standard) and is widely used for military grade encryption
and other secure communication purposes. There are three variants available of the AES i.e. AES-
128, AES-192, AES-256. The number represent the bits and the higher the bits more befuddling
and mingling of data happens. For the lightweight apps like SMS encryption AES 128 is quite
sufficient to handle and it do provide the fool proof security. Recent trends in enterprise mobility
have made mobile device security an imperative. IDC reported in 2010 for the first time
smartphone sales outpaced PC sales. Faced by this onslaught of devices and recognizing the
productivity and cost benefits, organizations are increasingly implementing bring-your-own
device (BYOD) policies. Research firm J. Gold Associates reports that about 25%-35% of
enterprises currently have a BYOD policy, and they expect that to grow to over 50% over the next
two years.
This makes sense as mobility evolves from a nice-to-have capability to a business advantage. But
the competitive edge and other benefits of mobility can be lost if smartphones and tablet PCs are
not adequately protected against mobile device security threats. While the market shows no sign
of slowing, IT organizations identify security as one of their greatest concerns about extending
mobility. Therefore, various encryption techniques are used. Encryption has long been used by
militaries and governments to facilitate secret communication. Encryption is now commonly used
in protecting information within many kinds of civilian systems. For example, the Computer
6
Security Institute reported that in 2007, 71% of companies surveyed utilized encryption for some
of their data in transit, and 53% utilized encryption for some of their data in storage Encryption
can be used to protect data "at rest", such as files on computers and storage devices (e.g. USB flash
drives). In recent years there have been numerous reports of confidential data such as customers'
personal records being exposed through loss or theft of laptops or backup drives. Encrypting such
files at rest helps protect them should physical security measures fail. Digital rights management
systems which prevent unauthorized use or reproduction of copyrighted material and protect
software against reverse engineering are another somewhat different example of using encryption
on data at rest. In 2010, 6.1 trillion SMS text messages were sent. This translates into 192,192
SMS per second. SMS has become a massive commercial industry, worth over $81 billion globally
as of 2006.The global average price for an SMS message is $0.11, while mobile networks charge
each other interconnect fees of at least $0.04 when connecting between different phone networks.
The SMS industry being on such a great rise is vulnerable to attacks. Therefore it has now become
more imperative to encrypt SMS before sending. Various algorithms for encryption and decryption
are in place. Out of the entire group of algorithm AES is the most preferred one. AES require very
low RAM space and very fast. On Pentium Pro processors AES encryption requires only 18 clock
cycles/byte equivalent to throughput of about 11Mib/s for 200MHz processor.
This was the main reason why we decided to use AES algorithm for encryption and decryption.
The field of cryptography can be divided into several techniques of study. There are two types of
techniques in cryptography which are asymmetric key algorithm and symmetric key algorithm.
Asymmetric key algorithm or sometimes called public key algorithm is usually based on complex
mathematical problems. Symmetric key algorithm can be broadly grouped into block ciphers and
stream ciphers. Other symmetric key algorithms are cryptographic hash functions and Message
Authentication Codes (MACs).
7
Figure 1: Diagram of Symmetric Block Cipher
In the literature as shown in Tab. 1, many authors have used different cryptography algorithms in
the SMS encryption application to provide confidentiality in sending and receiving messages. Even
though there are several authors (2 out of 8) used DES, 3DES and AES block cipher algorithms in
their works but most of these works are asymmetric key encryption techniques. Therefore, it is
advisable that can develop SMS Encryption using symmetric key encryption.
Author Algorithm
Lisonek & Drahansky RSA
Albuja & Carrera DES, 3DES, AES and RSA
Toolani& Shirazi ECDLP
Zhao et al identity-based
Harb et al 3DES
Sonam Elleptic Curve
Hosain et al SMS Sec
Owning from suggestion of Garza-Saldana & Diaz-Perez that symmetric encryption could provide
confidentiality to SMS, this paper perform an evaluation of three block cipher symmetric
encryption techniques. This is done in order to find the most suitable block cipher symmetric
encryption technique for securing SMS transmitted messages.
8
2.2 Related Systems
2.2.1 WMkitsSMS Encryption
WMkitsSMS Encryption is professional text messages encryption software for Windows Mobile
phones. It can encrypt and hide the SMS messages (including existing SMS messages and future
incoming/outgoing SMS messages) on the windows mobile devices. The hidden SMS messages
are encrypted and will be stored separately. You can only decrypt and show your messages with a
correct password. That means, others cannot view any of your secret or important SMS messages
on your mobile phone without your approval, even if you lost your phone or lend your mobile
phone to your friend or relative. Your privacy will be safe.
9
CHAPTER THREE
METHODOLOGY
3.1 Introduction
A methodology is a model, which project development team employ for the design, planning,
implementation and achievement of their project objectives.
Choosing the appropriate methodology for software projects always plays a huge role in
determining the success of software product (Sommerville 2004). In the development of Encrypted
SMS mobile application, various factors were put into consideration before settling on Agile
prototype development methodology.
10
Figure 3: Prototype 2 sender interface
11
3.2 Requirement specification
Is a detailed description of a software system to be developed with its functional and non-
functional requirements, requirement specifications developed based the agreement between
customer and developer It may include the use cases of how user is going to interact with software
system.
Performance
The performance of the Application can be determined by it responsive time, time to complete the
given task.
For example, in startup application it should not take more than 3 second to load initial screen.
Also, it should be made to ensure that app will facilitate to the user Input smoothly.
12
Responsiveness
Application should be responsive to the user Input or to any external interrupt which is of highest
priority and return back to same state.
For example:- When app gets interrupted by call, then app should be able to save state and return
to same state/ page which was there before it got interrupted.
Availability
There should be a common plane where the user can access your application to install and look for
regular updates give feedback
For example: - Google’s Play Store
Screen Adaption
Now days lot of mobile devices comes with different screen sizes and layout, our application will
be able to render it’s layout to different screen sizes. Along with automatic adjustment of Font size
and image rendering.
Security
This aspect considers intended collection and utilization of data by authorized individuals. The
system performs security measures using by performing validation of input and encryption of
message content using AES.
HARDWARE REQUIREMENTS
RAM 500MB
Storage space 1GB
Smart phone Resolution - 480 * 800 pixel
CPU – Dual core 1.2 GHz or higher
13
3.3.2 Software requirements
The user Device should have the following
SOFTWARE REQUIREMENTS
Operating System Android 4.2 (jelly Bean or higher)
Tools
Languages
14
Hardware
Software
15
CHAPTER FOUR
16
Figure 7: Data Flow Diagram Level 1
17
4.2.1 Input Design
Input Device
Smartphone Keyboard (eg. Swiftkey Keyboard, Big Buttons Keyboard, etc)
Output Device
Screen
18
4.3 Use Case diagrams
Use case diagrams are used to gather the requirements of a system including internal and
external influences. These requirements are mostly design requirements. Hence, when a system
is analyzed to gather its functionalities
MEMBER ACTIVITIES
System Analysis
HAMZA HAMAD
Report Writing
URASA AMEDEUS GABRIEL System Design
& Integration and System Testing
LOVENESS KAZUMARI Report Writing
Coding
JACOB JOHN Unit Testing
Report Writing
19
CHAPTER FIVE
For the sake of software testing both black box testing methodology as well as white box testing
is implemented because there was a need to carry out tests to both sides of the application, the
internal and the functional one. Black box testing includes wrong input of key, incomplete key and
empty message scenario testing. The application does respond to these tests efficiently. White box
testing helped to improve the code and removal of errors and bugs.
Usability testing
To make sure that the mobile app is easy to use and provides a satisfactory user
experience to the customers. Usability testing is carried out to verify if the application is achieving
its goals and getting a favorable response from users. This is important as the usability of an
application is its key to commercial success. According to the user view this is more reliable and
easy to understand that encrypted message is being sent.
Compatibility testing
Testing of the application in different mobiles devices, browsers, screen sizes and OS versions
according to the requirements. It is supporting in different company android mobiles, different
version of OS (version 4.0 and above) and screen resolution compatibility is 240 *432.
20
Interface testing
Testing of menu options, buttons, bookmarks, history, settings, and navigation flow of the
application. Buttons, text fields are successfully working.
Services testing
Testing the services of the application is offline.
Performance testing
Testing the performance of the application by changing the connection from 2G, 3G to WIFI,
battery consumption, etc.
Installation tests
Validation of the application by installing /uninstalling it on the different versions of devices and
different versions of operating system.
Security Testing
Testing an application to validate if the information system protects data or not. Here as sending
the encrypted message so it is maintaining high security.
GUI (Graphical User Interface) is very attractive to user and easy to implement.
Emulators – The use of these is extremely useful in the initial stages of development, as
they allow quick and efficient checking of the app. Emulator is a system that runs software
from one environment to another environment without changing the software itself. It
duplicates the features and work on real system.
21
5.3 System Maintenance
Maintenance it stands for all modification and updating done after the delivery of software product
of the Encrypted SMS will be conducted regularly to ensure that the system continue to perform
its operation even after failure or to cope with changes. Type of maintenance that can be made to
Encrypted SMS system are as follow
22
CHAPTER SIX
6.1 Conclusion
The application of SMS Encryption of AES block cipher on android application has been designed
and implemented. The application is running in the mobile phone and does not require any
additional encryption devices. The result showed that suitable and easy to implement in mobile
device for the proposed scheme. With the increasing use of SMS for communication and
information exchange, care should be taken when sensitive information is transmitted using SMS.
6.2 Recommendations
Users should be aware that SMS messages might be subject to interception. So if there is a need
to send sensitive information via SMS we suggest to use Encrypted SMS because it provide end
to end encryption with Encrypted SMS even if the third party intercept the message won’t be able
to read the message without the application and secret key and also service provider will not be
able to read the content of the message as the message pass by for transfer in message center hence
it increase message privacy.
23
REFERENCES
J. Daemen, V. Rijmen, V., “The Design of Rijndael, AES - The Advanced Encryption Standard”,
Springer-Verlag, 2002.
NIST, “Fips197: Advanced Encryption Standard (AES)”, FIPS PUB 197 Federal Information
Processing Standard Publication 197, Technical report, National Institute of Standards and
Technology,
2001.
M. A. Hossain, S. Jahan, M. M. Hussain, M.R. Amin, and S.H. S Newaz, “A proposal for
enhancing the
security system of short message services in GSM”, 2nd International Conference on
Anticounterfeiting, Security and Identification, ASID, Guiyang, China, 2008, pp. 235- 240.
D. Lisonek and M. Drahansky, “SMS encryption for mobile communication”, International
Conference
on Security Technology, Hainan Island, 2008, pp 198 – 201.
24
APPENDIX
Time Schedule
For our project we used Gantt chart tool that enabled us to successful complete the project we
undertake. Gantt Chart this is the project tool which is used to show the project tasks and when
each task must take place and how long each will each take to complete.
GANTT CHART
Duration(days)
11-Mar 31-Mar 20-Apr 10-May 30-May 19-Jun 09-Jul 29-Jul 18-Aug
Analysis
Design
Tasks
IDE Installation
Coding
Testing
ITEM COST
System Analysis -
Computer -
Smart Phones -
Development Cost 40,000/=
Testing -
TOTAL 40,000/=
25
User Manual of Encrypted SMS System
This document will help user to use Encrypted SMS Application to Install, Send Encrypted
Message from Sender Side and Decrypt Message from Receiver Side.
Installation process
Step 1: After receive Application on your Phone click EncDecSMS APK and the following
Screen will appear
Step 2: Click Install at bottom right in your screen appeared on Step 1 and the Application
start installing. The following Screen will appear.
26
Step 3: After Finish Installing the EncDecSMS Application the following screen will
appear then click done at bottom left of your screen and already installed Encrypted SMS
successfully on your phone.
27
Step 2: Enter the recipient’s phone number the person to whom the message is intended to.
Step 3: Enter the secret key the key should be 16 characters not less no more
NB: both the sender and the receiver must share their secret keys
28
Step 4: write your message and click send which will encrypt your message using the key
you provide in step 3
Step 1: When the message is received to recipient phone the following screen will open
29
Step 2: Enter secret key which was used to encrypt the message to decrypt the message
content and click submit.
30