Sms Encryption System
Sms Encryption System
Submitted by:
KADIYAM SOMASEKHAR
2385351040
Submitted to
DEPARTMENT OF COMPUTER SCIENCE & ENGINEERING
COLLEGE OF ENGINEERING
ADIKAVI NANNAYA
UNIVERSITY
RAJAHMAHENDRAVARAM
2024-2025
B.V. RAJUCOLLEGE (AUTONOMOUS)
(Re-Accredited with ‘B++’ Grade by NAAC)
Department of MCA
Vishnupur :: Bhimavaram
CERTIFICATE
The satisfaction and euphoria that accompany the successful completion of any
task would be incomplete without the mention of people who made it possible, whose
constant guidance and encouragement crowned our efforts with success. It is a pleasant
aspect that I have now the opportunity to express my gratitude for all of them.
The first person I would like to thank Dr. I.R.krishnam Raju, Principal
MCA, B V Raju College, Bhimavaram. His wide knowledge and logical way of
thinking have made a deep impression on me. His understanding, encouragement and
personal guidance have provided the basis for this thesis. He is a source of inspiration
for innovative ideas and his kind support is well known to all his students and
colleagues.
I wish to thank Dr. V. BHASKARA MURTHY, Professor& HOD, Dept of
MCA. His support and valuable suggestions for the successful completion of this
project.
I wish to thank my guide Mr. S.K.Alisha, Associate Professor, Dept. of
MCA his support and valuable suggestions for the successful completion of
this Project.
KADIYAM SOMASEKHAR
2385351040
DECLARATION
KADIYAM SOMASEKHAR
2385351040
B.V. Raju College.
INDEX
Chapter Page No.
1. INTRODUCTION 1
9. BIBILIOGRAPHY 34
9.1 References 34
LIST OF FIGURE
Nowadays, SMS is more and more common among mobile phone users. SMS is a text
messaging service component of mobile 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. 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 mechanisms are only specified as optional security
measures that can be made available, but they are not mandatory requirements for SMS
system implementation. In this paper, we have implemented three of block cipher
symmetric cryptography algorithms (i.e. AES algorithm, DES, and 3-DES) and
compared between three of them in terms of encryption and decryption delay time. This
provides a guideline for the choice of the most suitable cryptography algorithm for
mobile communication on Android message application.
1
2. LITERATURE SURVEY
DES (Data Encryption Standard) DES is one of the oldest symmetric encryption
algorithms, developed in the 1970s, and was widely used in early cryptographic systems.
However, due to advances in computational power, DES is now considered insecure for
many applications, as its 56-bit key size can be easily cracked by modern brute-force
attacks. Despite its weaknesses, DES is still relevant for comparative analysis in
encryption performance studies.
2
level of security than DES, it is less efficient than AES due to its multiple encryption
steps, which can lead to slower performance, especially on mobile devices with limited
processing power.
3
aimed at improving the efficiency of cryptographic algorithms in mobile devices,
including hardware acceleration and algorithm optimization.
Future studies may also explore hybrid approaches, combining multiple algorithms to
enhance both security and performance. The implementation of AES, DES, and 3DES
for SMS encryption systems has been widely studied, with AES consistently
outperforming DES and 3DES in terms of encryption speed and security. AES is favored
for modern mobile communication due to its efficient performance, low computational
overhead, and high security. 3DES, while more secure than DES, suffers from slower
performance, making it less suitable for SMS encryption in resource-constrained mobile
devices. Thus, AES remains the most practical choice for SMS encryption in mobile
applications.
4
3. SYSTEM ANALYSIS
Existing SMS encryption systems primarily rely on end-to-end encryption (E2EE) and
cryptographic protocols to secure text messages from unauthorized access. Traditional
SMS lacks built-in encryption, making it vulnerable to interception by attackers or
network providers. To address this, applications like Signal, WhatsApp, and Telegram
use strong encryption algorithms such as AES, RSA, and Signal Protocol to ensure only
the intended recipient can read the messages. Some systems implement public-key
cryptography, where messages are encrypted with the recipient’s public key and
decrypted using their private key. However, standard SMS services provided by carriers
do not support such encryption, leaving messages exposed to risks like man-in-the-
middle attacks and surveillance.
5
3.2 PROPOSED SYSTEM:
The proposed SMS encryption system aims to enhance security by integrating end to-
end encryption (E2EE) into traditional SMS communication without relying on third-
party messaging apps. It employs a hybrid cryptographic approach using AES for fast
symmetric encryption and RSA for secure key exchange. Each user will have a unique
public-private key pair, allowing messages to be encrypted with the recipient’s public
key and decrypted with their private key. A secure key exchange mechanism, such as
Diffie-Hellman, ensures that only authorized users can access the encryption keys. The
system will also include message integrity checks using hashing algorithms like SHA-
256 to prevent tampering. Unlike existing solutions, this system will work over regular
SMS networks, ensuring confidentiality even when no internet connection is available.
6
3.3 FEASIBILITY STUDY
The feasibility of the project is analyzed in this phase and business proposal is put forth
with a very general plan for the project and some cost estimates. During system analysis
the feasibility study of the proposed system is to be carried out. This is to ensure that the
proposed system is not a burden to the company. For feasibility analysis, some
understanding of the major requirements for the system is essential.
ECONOMICAL FEASIBILITY
TECHNICAL FEASIBILITY
SOCIAL FEASIBILITY
ECONOMICAL FEASIBILITY
This study is carried out to check the economic impact that the system will have on the
organization. The amount of fund that the company can pour into the research and
development of the system is limited. The expenditures must be justified. Thus the
developed system as well within the budget and this was achieved because most of the
technologies used are freely available. Only the customized products had to be
purchased.
TECHNICAL FEASIBILITY
This study is carried out to check the technical feasibility, that is, the
technical requirements of the system. Any system developed must not have a high
demand on the available technical resources. This will lead to high demands on the
available technical resources. This will lead to high demands being placed on the client.
The developed system must have a modest requirement, as only minimal or null changes
are required for implementing this system.
SOCIAL FEASIBILITY
The aspect of study is to check the level of acceptance of the system by the user.
This includes the process of training the user to use the system efficiently. The user must
not feel threatened by the system, instead must accept it as a necessity.
7
The level of acceptance by the users solely depends on the methods that are employed to
educate the user about the system and to make him familiar with it. His level of
confidence must be raised so that he is also able to make some constructive criticism,
which is welcomed, as he is the final user of the system.
HARDWARE REQUIREMENTS:
System : Intel Core i5.
Hard Disk : 40GB.
Floppy Drive : 1.44 Mb.
Ram : 8GB.
SOFTWARE REQUIREMENTS:
Technology : Java 2 Standard Edition, JDBC
Web Server : Tomcat 7.0
Client Side Technologies: HTML, CSS, JavaScript
Server Side Technologies: Servlets, JSP
Data Base Server : MySQL
Editor : Netbeans8.1
8
4. SYSTEM DESIGN
9
4.2 UML DIAGRAMS
regist
er
logi
n
use
r sendSM
S
viewSM
S
logout
10
4.2.2 Class Diagram
11
4.2.3 Sequence Diagram
A sequence diagram in Unified Modeling Language (UML) is a kind of interaction
diagram that shows how processes operate with one another and in what order. It
is a construct of a Message Sequence Chart. Sequence diagrams are sometimes
called event diagrams, event scenarios, and timing diagrams.
User Application
Register
logi
n
sendSM
S
viewSM
S
logou
t
12
4.2.4 Flow Chart
1. The DFD is also called as bubble chart. It is a simple graphical formalism that can be
used to represent a system in terms of input data to the system, various processing
carried out on this data, and the output data is generated by this system.
2. The data flow diagram (DFD) is one of the most important modeling tools. It is used
to model the system components. These components are the system process, the data
used by the process, an external entity that interacts with the system and the
information flows in the system.
3. DFD shows how the information moves through the system and how it is modified
by a series of transformations. It is a graphical technique that depicts information
flow and the transformations that are applied as data moves from input to output.
4. DFD is also known as bubble chart. A DFD may be used to represent a system at
any level of abstraction. DFD may be partitioned into levels that represent increasing
information flow and functional.
13
4.2.5 Collaborative
5:
logout
1:
Register
2: login
3:
sendSMS Applica
4: ti on
User
viewSMS
Input Design
Input design is part of overall system design that requires special attention designing
input data is to make the data entered easy and free from errors. The input forms are
designed using the controls available in .NET framework. Validation is made for each
and every data that is entered. Help information is provided for the users during when
the customer feels difficult.
Input design is the process of converting the user originated inputs to a computer based
format. A system user interacting through a workstation must be able to tell the system
whether to accept the input to produce reports. The collection of input data is considered
to be most expensive part of the system design. Since the input has to be planned in such
a manner so as to get relevant information, extreme care is taken to obtain pertinent
information.
This project first will entered to the input of allocation forms it will be created on
student details form and subject entry form, time table form .it will helps to calculate
subject wise attendance system. Next one if u wants any verification on your data’s also
available in details show forms. Attendance to entered single subject wise or all subject
14
wise attendance system available in this project.
15
Output Design
Output design this application “Student Attendance management system” generally
refers to the results and information that are generated by the system for many end-
users; output is the main reason for developing the system and the basis on which they
evaluate the usefulness of the application.
The output is designed in such a way that it is attractive, convenient and informative.
Forms are designed with various features, which make the console output more pleasing.
As the outputs are the most important sources of information to the users, better design
should improve the system’s relationships with us and also will help in decision making.
Form design elaborates the way output is presented and the layout available for
capturing information.
One of the most important factors of the system is the output it produces. This system
refers to the results and information generated. Basically the output from a computer
system is used to communicate the result of processing to the user.
Attendance management system to show the report subject wise attendance maintaining
by staffs. Taken as a whole report obtain on a administrator privileges only. this forms
will show weekly report and consolidate report generated date, batch, and class wise to
our end user. we want to change our report to convert Excel format .if you want change
any modification.
16
5. SYSTEM IMPLEMENTATION
MODULES:
User
Encryption module
Decryption Module
MODULES DESCRIPTION:
User:
The User Module is a core component of the SMS Encryption System that facilitates
interaction between the user and the application. It provides the necessary interface for
users to compose, send, receive, and view SMS messages securely. This module allows
users to input message content, choose the desired encryption algorithm (AES, DES, or
3DES), and initiate the encryption process before sending messages. Upon receiving
messages, the module also provides options to decrypt and display the original plaintext
using the correct decryption key.
The User Module is tightly integrated with the Authentication Module to ensure that all
functionalities are only accessible to authorized users. It also communicates with the
Encryption and Decryption Modules to perform cryptographic operations seamlessly in
the background. Additionally, it provides basic user settings and profile management
options, enhancing the overall usability and personalization of the application.
This module is designed to be user-friendly and intuitive, aiming to ensure a secure and
efficient communication experience while maintaining the confidentiality and integrity
of sensitive information transmitted via SMS.
Encryption Module:
The Encryption Module is the core security component of the SMS Encryption System,
designed to ensure the confidentiality of messages during transmission. Once a message
is composed and validated through the Message Composition & Input Module, it is
passed to this module for encryption. The module supports multiple symmetric block
cipher algorithms, specifically AES, DES, and 3DES, allowing users or the system to
17
choose the appropriate algorithm based on security requirements or performance
considerations.
Decryption Module:
The Decryption Module is responsible for converting encrypted SMS messages
(ciphertext) back into their original readable form (plaintext). This module activates
when a user receives a message and provides the correct decryption key. It supports the
same symmetric encryption algorithms implemented in the Encryption Module — AES,
DES, and 3DES — ensuring compatibility and secure communication between users.
Upon receiving the encrypted message from the Message Transmission Module, the
Decryption Module identifies the algorithm used and applies the corresponding
decryption process using the associated secret key. It performs key validation and error
checking to ensure that the message has not been altered or corrupted during
transmission. If the key is incorrect or the message integrity is compromised, appropriate
error messages are displayed to the user.
SOURCE CODE:
AESEncryption :
package com.encryption;
import javax.crypto.Cipher;
import javax.crypto.SecretKey;
import
sun.misc.BASE64Encoder;
} catch (Exception e) {
System.out.println(e);
}
return cipherText;
}
ViewSMS:
<%@page import="com.database.Queries"%>
<%@page import="java.sql.ResultSet"%>
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>SMS Encryption System</title>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<link href="style.css" rel="stylesheet" type="text/css" />
<script type="text/javascript" src="js/cufon-yui.js"></script>
<script type="text/javascript" src="js/arial.js"></script>
<script type="text/javascript" src="js/cuf_run.js"></script>
</head>
<body>
<div class="main">
<div class="header">
<div class="header_resize">
<div class="logo">
<h2><a href="index.html">SMS Encryption System</a></h2>
</div>
<div class="menu">
<ul>
<li><a href="UserHome.jsp" ><span>Home</span></a></li>
<%
String id=(String)session.getAttribute("id");
19
String name=(String)session.getAttribute("name");
String email=(String)session.getAttribute("email");
%>
<h1><%=email%></h1>
</div>
<div class="clr"></div>
</div>
<div class="clr"></div>
</div>
<div class="body">
<div class="body_resize">
<div class="left">
<h2>View All Messages</h2>
<h2> </h2
<table border="1">
<tr><th>Sr.No.</th>
<th>Sender</th>
<th>View SMS</th></tr>
<%try{
ResultSet r=Queries.getExecuteQuery("select * from data where
receiver='"+id+"' and sender!='"+id+"'");
while(r.next()){
%>
<tr>
<td><%=r.getString("id")%></td>
<td><%=r.getString("email")%></td>
<td><a href="DViewSMS.jsp?id=<%=r.getString("id")
%>">View</a></td>
</tr>
<%
}
}catch(Exception e){
out.println(e);
}%>
</table>
</div>
<div class="right">
</div>
<div class="clr"></div>
</div>
</div>
<div class="FBG">
<div class="FBG_resize">
<div class="blok">
</div>
</div>
</div>
</div>
</body></html>
20
View SMS Action:
<%@page import="com.database.Queries"%>
<%@page import="java.sql.ResultSet"%>
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>SMS Encryption System</title>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<link href="style.css" rel="stylesheet" type="text/css" />
<script type="text/javascript" src="js/cufon-yui.js"></script>
<script type="text/javascript" src="js/arial.js"></script>
<script type="text/javascript" src="js/cuf_run.js"></script>
</head>
<body>
<div class="main">
<div class="header">
<div class="header_resize">
<div class="logo">
<h2><a href="index.html">SMS Encryption System</a></h2>
</div>
<div class="menu">
<ul>
<li><a href="UserHome.jsp" ><span>Home</span></a></li>
<li><a href="SendSMS.jsp"><span>Send SMS</span></a></li>
<li><a href="ViewSMS.jsp" class="active"><span>View SMS</span></a></li>
<li><a href="User.jsp"><span>Logout</span></a></li>
</ul>
</div>
<div class="clr"></div>
</div>
<div class="headert_text_resize"> <img src="images/text_area_img.jpg" alt=""
width="395" height="396" />
<div class="textarea">
<center> <h2>View SMS</h2></center>
<%
String id=(String)session.getAttribute("id");
String name=(String)session.getAttribute("name");
String email=(String)session.getAttribute("email");
%>
<h1><%=email%></h1>
</div>
<div class="clr"></div>
</div>
<div class="clr"></div>
</div>
<div class="body">
<div class="body_resize">
<div class="left">
<h2>View All Messages</h2>
21
<h2> </h2>
<table border="1">
<tr>
<th>SMS</th>
</tr>
<%try{
String sid=request.getParameter("sid");
String skey=request.getParameter("skey");
String enc=request.getParameter("enc");
ResultSet r=Queries.getExecuteQuery("select * from data where id='"+sid+"'
and skey='"+skey+"' and algorithm='"+enc+"'");
if(r.next()){
%>
<tr>
<td><textarea cols="10"
rows="5"><%=r.getString("data")%></textarea></td>
</tr>
<%
}else{
%>
<script type="text/javascript">
window.alert("Please Check Credintials");
window.location="ViewSMS.jsp";
</script>
<%
}
}catch(Exception e){
out.println(e);
}%>
</table>
</div>
<div class="right">
</div>
<div class="clr"></div>
</div>
</div>
<div class="FBG">
<div class="FBG_resize">
<div class="blok">
</div>
</div>
</div>
</div>
</body>
</html>
22
6. SYSTEM TESTING
TYPES OF TESTS
Unit testing
Unit testing involves the design of test cases that validate that the internal
program logic is functioning properly, and that program inputs produce valid outputs.
All decision branches and internal code flow should be validated. It is the testing of
individual software units of the application .it is done after the completion of an
individual unit before integration. This is a structural testing, that relies on knowledge of
its construction and is invasive. Unit tests perform basic tests at component level and
test a specific business process, application, and/or system configuration. Unit tests
ensure that each unique path of a business process performs accurately to the
documented specifications and contains clearly defined inputs and expected results.
Integration testing
Integration tests are designed to test integrated software components to
determine if they actually run as one program. Testing is event driven and is more
concerned with the basic outcome of screens or fields. Integration tests demonstrate that
although the components were individually satisfaction, as shown by successfully unit
testing, the combination of components is correct and consistent. Integration testing is
specifically aimed at exposing the problems that arise from the combination of
components.
Functional test
Functional tests provide systematic demonstrations that functions tested are
available as specified by the business and technical requirements, system
documentation, and user manuals.
Functional testing is centered on the following items:
23
Valid Input : identified classes of valid input must be accepted.
24
Test strategy and approach
Field testing will be performed manually and functional tests will be written in detail.
Test objectives
All field entries must work properly.
Pages must be activated from the identified link.
The entry screen, messages and responses must not be delayed.
Features to be tested
Verify that the entries are of the correct format
No duplicate entries should be allowed
All links should take the user to the correct page.
Integration Testing
Software integration testing is the incremental integration testing of two or more
integrated software components on a single platform to produce failures caused by
interface defects.
The task of the integration test is to check that components or software applications, e.g.
components in a software system or – one step up – software applications at the
company level – interact without error.
Test Results: All the test cases mentioned above passed successfully. No defects
encountered.
Acceptance Testing
User Acceptance Testing is a critical phase of any project and requires significant
participation by the end user. It also ensures that the system meets the functional
requirements.
Test Results: All the test cases mentioned above passed successfully. No defects
encountered.
25
7. SCREENS
HOME PAGE:
26
USER REGESTRATION SCREEN:
27
USER LOGIN PAGE:
28
USER HOME PAGE:
29
SEND SMS PAGE:
30
VIEW SMS PAGE:
31
USER VIEW SMS PAGE:
32
8. CONCLUSION AND FUTURE WORK
CONCLUSION:
Using SMS for communication and information exchange, care should be taken when
sensitive information is transmitted using SMS through unsecure channel. The users
should be aware that SMS messages might be subject to interception from un-authorized
access. In this paper, the application of SMS encryption for some of block cipher
cryptographic encryption algorithms (i.e. AES, DES, 3-DES) on android application has
been designed and implemented. The SMS encryption application is running in the
mobile phone or web which does not require any additional encryption devices.
FUTURE WORK:
In future enhancements of the SMS Encryption System, a primary focus could be the
integration of more advanced and efficient cryptographic algorithms tailored for mobile
environments. While the current implementation compares AES, DES, and 3DES, there
is scope to evaluate newer lightweight cryptographic algorithms such as Blowfish, Two
fish, and ChaCha20, which offer strong security with lower computational overhead.
These algorithms are particularly suitable for devices with limited processing power and
memory, ensuring minimal impact on performance during encryption and decryption.
Furthermore, the introduction of hybrid encryption methods—combining symmetric and
asymmetric techniques—can provide an additional layer of security, especially during
key exchange processes. Implementing secure key management systems using Elliptic
Curve Cryptography (ECC) or RSA could address vulnerabilities associated with
symmetric key distribution.
Another important area for future work involves enhancing the user experience and
broadening the application’s capabilities beyond SMS. A mobile application with a well-
designed user interface can be developed to support encrypted communication not only
through SMS but also through other messaging platforms such as WhatsApp, Signal, or
email. The integration of features such as secure message archiving, encrypted backups,
and cloud synchronization would greatly benefit users who require reliable and secure
communication tools. Additionally, adding biometric or multi-factor authentication
mechanisms can increase the security level by ensuring only authorized users can access
33
the encrypted messages. Real-time alerts and monitoring for suspicious activities or
unauthorized access attempts could also be incorporated to bolster security further.
Lastly, future work can focus on testing and validating the SMS Encryption System in
real-world environments to assess its performance under different network conditions
and on various mobile devices. Extensive benchmarking across diverse hardware and
operating systems (like Android and iOS) can help identify potential bottlenecks and
optimize the encryption-decryption process. Scalability and interoperability tests should
also be conducted to ensure that the system works seamlessly with existing mobile
infrastructure and SMS gateways. In addition, incorporating compliance with legal and
regulatory standards such as GDPR or HIPAA could make the system viable for use in
sensitive sectors like healthcare, finance, and government communications. By
addressing these aspects, the system can evolve into a robust, secure, and practical
solution for mobile communication.
34
9. BIBILIOGRAPHY
9.1 REFERENCES
[1] Harb, Hany, Hassan Farahat, and Mohamed Ezz. "SecureSMSPay: secure SMS
mobile payment model." In Anti-counterfeiting, Security and Identification, 2008. ASID
2008. 2nd International Conference on, pp. 11-17. IEEE, 2008.
[2] Lisoněk, David, and Martin Drahansky. "Sms encryption for mobile
communication." In Security Technology, 2008. SECTECH'08. International
Conference on, pp. 198-201. IEEE, 2008.
[3] Rayarikar, Rohan, Sanket Upadhyay, and Priyanka Pimpale. "SMS Encryption using
AES Algorithm on Android." International Journal of Computer Applications 50, no. 19
(2012).
[4] Ariffi, Suriyani, Ramlan Mahmod, Ratini Rahmat, and Nuzul Annisa Idris. "SMS
Encryption Using 3DAES Block Cipher on Android Message Application." In
Advanced Computer Science Applications and Technologies (ACSAT), 2013
International Conference on, pp. 310-314. IEEE, 2013.
[5] Hassinen, Marko. "SafeSMS-end-to-end encryption for SMS."
InTelecommunications, 2005. ConTEL 2005. Proceedings of the 8th International
Conference on, vol. 2, pp. 359-365. IEEE, 2005.
35