Final Project SMS Encryption Using AES
Final Project SMS Encryption Using AES
Final Project SMS Encryption Using AES
Sanket Upadhyay
B.E in Computer Engineering
ABSTRACT
Encryption is of prime importance when confidential data is
transmitted over the network. Varied encryption algorithms
like AES, DES, RC4 and others are available for the same.
The most widely accepted algorithm is AES algorithm. We
have developed an application on Android platform which
allows the user to encrypt the messages before it is transmitted
over the network. We have used the Advanced Encryption
Standards algorithm for encryption and decryption of the data.
This application can run on any device which works on
Android platform. This application provides a secure, fast,
and strong encryption of the data. There is a huge amount of
confusion and diffusion of the data during encryption which
makes it very difficult for an attacker to interpret the
encryption pattern and the plain text form of the encrypted
data. The messages encrypted by the developed application
are also resistant to Brute-Force and pattern attacks. The
various uses of this application in real life and its functionality
are explained in this paper.
General Terms
Security Algorithm, Symmetric Key Encryption, Android
Application, SMS.
Keywords
SMS, AES, Android, Application.
1. INTRODUCTION
The application developed for end to end secure transmission
of the SMS. The algorithm used is Advanced Encryption
Standards algorithm. This application is developed on
Android platform and is one of a kind. The later part of the
paper explains the working of SMS, the AES algorithm and
the working of our developed application.
Priyanka Pimpale
B.E in Computer Engineering
12
not
unlimited.
During the SMS delivering, sender cell phone and SMSC is
actively
communicating.
So, if the non-active destination cell phones become active,
SMSC directly notifies the sender cell phone and tell that the
SMS delivering is success.
This is how the SMS works in general. The following part
describes the AES algorithm.
3. ADVANCE ENCRYPTION
STANDARDS ALGORITHM/ RIJNDAEL
ALGORITHM
The Advanced Encryption Standard comprises three block
ciphers, AES-128, AES-192 and AES-256. AES has a fixed
block size of 128 bits and a key size of 128, 192, or 256 bits.
The block-size has a maximum of 256 bits, but the key-size
has no theoretical maximum. The cipher uses number of
encryption rounds which converts plain text to cipher text.
The output of each round is the input to the next round. The
output of the final round is the encrypted plain text known as
cipher text. The input given by the user is entered in a matrix
known as State Matrix. [2]
2.1.1 BTS
A base transceiver station (BTS) is a piece of equipment that
facilitates wireless communication
between user
equipment (UE) and a network. UEs are devices like mobile
phones (handsets), WLL phones, computers with wireless
internet connectivity, WiFi and WiMAX devices and others.
2.1.2 MSC
The mobile switching center (MSC) is the primary service
delivery node for GSM/CDMA, responsible for routing voice
calls and SMS as well as other services (such as conference
calls, FAX and circuit switched data).[2]
The MSC sets up and releases the end-to-end connection,
handles mobility and hand-over requirements during the call
and takes care of charging and real time pre-paid account
monitoring.
2.1.3 SMSC
When SMS is transmitted from a cell phone, the message will
be received by mobile carriers SMS Center (SMSC), do
destination finding, and then send it to destination devices
(cellphone).
SMSC is SMS service center which is installed on mobile
carrier core networks. Beside as SMS forwarding, SMSC also
acts as temporary storage for SMS messages. So, if the
destination cell phone is not active, SMS will store the
message and then deliver it after the destination cell phone is
active. As additional, SMSC also notify the sender whether
the SMS delivering is success or not. However SMSC cannot
store the SMS message forever since the storage capacity is
3.3MixColumns
Step
13
3.4 AddRoundKey
A round key is generated by performing various operations on
the cipher key.
This round key is XOR-ed with each byte of the state matrix.
For every round a new round key is generated using
Rijndaels key scheduling algorithm. [3]
3.6.3 MixColumns:
public byte[ ][ ] mixColumns(byte[ ][ ] state)
{
for (int c=0;c<4;c++)
{
state [c]=matrixMultiplication(state[c], polynomial);
}
return state;
}
3.6 Implementation
The algorithm can be implemented in any language. This
algorithm can also be used in Image Processing. We have
implemented it in java, java being an open source and
platform independent language. The pseudo codes for the
components of the cipher are given below. [3]
3.6.4 ShiftRows:
shiftRows(byte state[][])
{
for(int i=0;i<4;i++)
{
//cyclic left shifts ith row, itimes
cyclicLeftShift(i);
}
}
4. SMS APPLICATION
The application works in following way:
1. The user opens the application and authenticates
using pattern lock.
2. User can either type new message or reply to an
existing message.
3. If new message is selected, user enters the message
and presses encrypt button after inserting the
recipients name. The user has to enter a cipher key
before the message is sent. The cipher key is autogenerated if the user does not enter one.
4. If the user selects to reply to an existing message, he
first decrypts the message by long pressing the
message and then types in the reply. The user is
asked to enter cipher key before the message is sent.
5. Once the cipher key is entered, the message is
successfully sent and is shown in encrypted form in
the thread.
14
15
4.5.3 Notification
Using NotificationManager and Notification classes we can
easily create and display notifications on receiving message.
public void createNotification(Context ctx)
{
NotificationManager notifManager =
(NotificationManager)getSystemService(NOTIFICATION_S
ERVICE);
// create object of Notification class
Notification notification = new Notification();
4.4 Scope
The application is built on Android platform. Therefore, it can
be used on any device which runs on Android operating
system. This application can be used in industries for secured
data transfer. Apart from commercial and business use, this
application can be used for non-commercial and personal use.
[6] The purpose of this application is secured data transfer
between two devices.
16
5. CONCLUSION
As a conclusion the requirements for speed and compactness
were met. The program size is 50 kB and it can be installed
into a mobile phone working on Android platform. The user
experiences no delays while using the program, which is a
clear indication that the speed requirement is met. We made
sure that the user interface simple and straight forward to use.
In applications, where access control is vital, our application
can be used to authenticate the sender of a message.
Also it is possible to detect, if the message has been corrupted
or tampered with during transmission. Most importantly, the
messages containing delicate information are stored securely
and remain undisclosed even when the device is accessed by
an adversary. The most unique and vital point to be
considered is the security of the encrypted data against
various attacks such as Brute Force attack, pattern attack etc.
This application guarantees secure end to end transfer of data
without any corrupt data segments.
6.REFERENCES
[1] J.Daemen and V.Rijmen, AES Proposal: Rijndael,
NISTs
AES
home
page,
http
://www:nist:gov/aes.Announcing
the
Advanced
Encryption Standard (AES),Federal Information
Processing Standards Publication 197, November 2001
17