You are on page 1of 42

Abstract:

The project entitled “MOBILE APPLICATION FOR CODEC” is a mobile application


being developed for all users. This application is an open source. This mobile application is
provided to send a Short Message Service (SMS) to their friends, neighbors, relatives and so on.
This application will be vary from other SMS applications. This application is based on the
cryptography methodology. If the user needs to send a message to their friend the user should
type the message in text area. It will convert as encrypted format. When the other user got the
message he/she should open the message it will be decrypted and it will asks password to decrypt
the message. So the user should give a password after that it will be decrypted and shows the
original text. It doesn’t have any security messaging system earlier. So I am going to do a mobile
application as I mentioned above.

1
PROJECT PROPOSAL

2
2. Project proposal

Executive Summary
The project entitled “MOBILE APPLICATION FOR CODEC” is being developed for
all users. This mobile application is provided to send a Short Message Service (SMS) to their
friends, neighbors, relatives and so on. This application will be vary from other Messaging
Service applications. If the user needs to send a message to their friend the user should type the
message in text area. It will convert as encrypted format. When the other user got the message
he/she should open the message it will be decrypted and it will asks password to decrypt the
message. So the user should give a password after that it will be decrypted and shows the
original message.

INTRODUCTION
About Yourself

Sacred Heart College (Autonomous) is an afflicted First Grade College of Thiruvalluvar


University. It is a minority institution, established and administrated by the Salesian of
DonBosco (SDB) and offering various courses for UG and PG students. This is Shamili Iqbal
working on this project, doing 2nd year of M.Sc Software Technology in Sacred Heart College,
Tirupattur.

About the Term project

As an academic requirement this project is done for graduate students as a final year
project. This project is mainly done for the all users those who are using mobile phones. The
project entitles “MOBILE APPLICATION FOR CODEC” is open source application which
can be used by any graduate for their communication.

Problem Statement:
The “MOBILE APPLICATION FOR CODEC” faces some problem on sending
messages to others. If the user sends a SMS to anyone it can read by all. So there is no defense to
send the message to others. The secret messages will passed out. So the users feel uncomfortable
and not secured to send their message.

3
Proposed Solution
I develop an official mobile application for the above problem. The solution for this
problem is to create a new mobile application on “MOBILE APPLICATION FOR CODEC”.
It will provide a more protection to the messaging system. It will encrypt the message and the
other user should enter the password and it will decrypt the message automatically if the
password is correct.

TECHNOLOGY REQUIREMENTS

Hardware:

Processor : Intel Pentium

RAM : 512 MB

Storage : 20 GB

Input : Keyboard, Mouse

Output : Monitor

Software:

Front Tier : Eclipse (Android)

Data Tier : SQlite

Software Tools : MS Visio

TERMS AND CONDITIONS

1. Project Duration: The duration of the academic project is three months from the
date of agreement.
2. Project Initiation: Student upon receiving approval from the Project Guide shall
start the requirement study and analysis and complete it as per the project
schedule agreed upon by the Department.
3. Development: 100% of Project development will be done in the college lab.

4
VISION DOCUMENT

5
3. VISION DOCUMENT

Purpose:
The main purpose of this document is to define requirements of “MOBILE APPLICATION
FOR CODEC”. The supplementary specification lists the requirements that are not readily
specification and case model together to capture a complete set requirement of all information.

Scope:
Use case and other supplementary documents can be prepared by having this vision
document.

Positioning:

The problem of Unprotected Short Message Services cause some issues.

Affects Those who are willing to share their Short Message


Services.

The impact of which is Difficult to manage the handling messaging services


safely.

A successful solution would be Creating a mobile application for the “CODEC”.

Product Statement:

For All mobile users.

Who Public.

The (Project name) MOBILE APPLICATION FOR CODEC

That Will help to the mobile users to send the secured


messages.

Unlike The existing system is not providing protection for SMS.

Our product Make the more security to the SMS.

6
SYSTEM
REQUIREMENTS

7
4.1 SYSTEM STUDY

Introduction
This system study enables us to identify the purpose of input that has to be given, the
Entry criteria and Exit criteria.

System Overview
The project is called “MOBILE APPLICATION FOR CODEC”. This application
contains the following information, the events which are held by the Messaging Services.

List of module
1. Text

Description of Modules:
The System is mainly created to share the information to their friends by using this
CODEC mobile application. The public can type their messages in text area. It will encrypt the
message automatically and it will asks the password when the user open the message. After
entering the correct password it will decrypt and open the message automatically. This system is
created by using ECLIPSE.

Module 1: Text

Purpose

The main purpose of the “TEXT” module is used to do the messaging system. Users can
send and receive the messages to each other. It will encode and decode the message
automatically, if the password is correct.

Entry Criteria
If the users need to send their messages with secure format they should click on CODEC
application.

8
Input

Public users should download the application and open it. And they should type secured
message on text area.

Output

The encrypted message will be decrypt automatically is the password is correct.

Exit Criteria
The user can click on exit button or back button.

9
4.2 Use case Specification

4.3 Use case Diagram

Message:

Sending
Message
Send

User 1

Receive Receive
Message

User 2

1. Description:
This page is used to send the message to other users.

10
2. Flow of events:
2.1Basic Flow
 The application displays the text page.
 They should enter the text message in text area.
 It will encrypt the message automatically.
 Then the user should send the message.
 Receiver can open the message now.
 It will ask password to the receiver.
 Receiver should enter the password which was stored in database.
 Click OK button. If the password is correct it will show the message else it
displays error message to the receiver.

2.2. Alternative flow:


Receiver should create a new password.
3. Preconditions:
If the admin wants to send a message admin should click on the message icon.
4. Post conditions:
If the admin created a new password they can proceed to send and receive the
messages from the neighbors.

11
ANALYSIS AND DESIGN

12
5.1 Architecture Diagram

Presentation Layer Activities

Business Logic Text

13
5.2 Activity Diagram

Home

CODEC

Enter Mobile no and Message


Encryption

Encrypted Message
Decryption

Process
Password

Original Message

14
5.3 Sequence Diagram

Sender Receiver Ringer Locator

Encrypt text
Ringer
attention text

Device Ringing

GPS Attention Word


Location Details
Decrypt text

15
5.4 Class Diagram

CODEC

<<Java Class>> <<Cryptography>>


My Receiver

SMS:smsManager Text:String

My Receiver()
Decrypt()
On Receive: void()

<<Java Class>> On Create Activities


Ring Activity
Activity 1
Activity 2
Context:context
.
.
On create (Bundle) : Void() Activity n

<<Java Class>> Cryptography


Sender

SMS:smsManager Text: String

Sender()
Onsend:Void() Send()

16
5.5 Database Design

Table Name

createpassword

Description

This table is used to create a new password for CODEC application.

S.No Field Name Data Type Constraints Description

1 newpassword Varchar2(20) Not Null User enters the new


password

2 reenternewpassword Varchar2(20) Not Null User enters the


password

Table Name

updatepassword

Description

This table is used to update a password if the users want.

S.No Field Name Data Type Constraints Description

1 Oldpassword varchar(20) Not Null User enters the old


password

2 Newpassword varchar(20) Not Null User enters the


password

17
5.6 Entity Relationship Diagram

Phone no

name Text

Encrypt Send
Users
text message

Password

Message
Decrypt

Receive
message

Receiver

18
5.7 Data Flow Diagram

Level 0:

Sender CODEC

Level 1:

Original Encrypt the


Sender message
message

Level 2:

Decrypt the
Receiver Password message

19
Level 3:

Receiver Original Message

20
TEST CASE
DESIGN

21
Test Case - 1

Module: Text

Revision History
Sl. Version
Date Modification details
No No
1. C1.1 16-3-18

Project Name: Module: Text


MOBILE
APPLICATION FOR
CODEC
Functionality: Adding

Pre Load the Text module from the CODEC application.


Condition:

Scenario: If all the fields are entered correctly then click on Encrypt button.
Description: Check whether “Text” is working or not.
# Procedure Test Test Data Expected Result Status
Condition
1 1.Open the Text module Check whether To 9442391338 Record should get
from application Text field saved to the data
2.Click on mobile accepts Text base
number Values Message Hello Friend
Encrypted
3.Click on "Encrypt" message Jaud6@#%klm
Enter
Password 1992
4.Encrypted message Your
5.Click on Decrypt Message
6.Enter Password is Hello Friend

22
Test Case - 2

Module: Text

Revision History
Sl. Version
Date Modification details
No No
1. C1.1 16-3-18

Project Name: Module: Text


MOBILE
APPLICATION FOR
CODEC
Functionality: Adding

Pre Load the Text module from the CODEC application.


Condition:

Scenario: If all the fields are entered correctly then click on Encrypt button.
Description: Check whether “Text” is working or not.
# Procedure Test Test Data Expected Result Status
Condition
1 1.Open the Text module Check whether To 9442391338 Record should get
from application Text field saved to the data
2.Click on mobile accepts Text Have a nice base
number Values Message day
Encrypted
3.Click on "Encrypt" message Iuye r iuhf kjf
Enter new
Password Vasudevan
Confirm
new
password Vasudevan
Password
created Successfully
Enter
password Vasudevan
4.Encrypted message Your
5.Click on Decrypt Message Have a nice
6.Enter Password is day

23
USER INTERFACE
DESIGN

24
Send Message:

Encrypted Text:

25
Enter Password:

Enter new password:

26
Update Password:

Received Message:

27
IMPLEMENTATION

28
8.1 Sample code

Message:
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context=".MessageActivity" >

<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:layout_marginLeft="26dp"
android:layout_marginTop="32dp"
android:text="To"
android:textAppearance="?android:attr/textAppearanceLarge" />

<Button
android:id="@+id/button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/editText2"
android:layout_centerHorizontal="true"
android:layout_marginTop="49dp"
android:text="Encrypt" />

<EditText
android:id="@+id/editText1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignTop="@+id/textView1"
android:layout_marginLeft="17dp"
android:layout_toRightOf="@+id/textView1"
android:ems="10" />

29
<TextView
android:id="@+id/textView2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBottom="@+id/editText2"
android:layout_alignParentLeft="true"
android:text="Enter text"
android:textAppearance="?android:attr/textAppearanceMedium" />

<EditText
android:id="@+id/editText2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/editText1"
android:layout_marginTop="31dp"
android:layout_toRightOf="@+id/textView2"
android:ems="10"
android:inputType="textEmailAddress" >
<requestFocus />
</EditText>

</RelativeLayout>

Enter Password:

<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context=".EnterpwdActivity" >
<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:layout_marginLeft="34dp"
android:layout_marginTop="101dp"
android:text="Enter Password"
android:textAppearance="?android:attr/textAppearanceMedium" />

30
<EditText
android:id="@+id/editText1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/textView1"
android:layout_centerHorizontal="true"
android:layout_marginTop="30dp"
android:ems="10" />

<Button
android:id="@+id/button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignRight="@+id/textView1"
android:layout_below="@+id/editText1"
android:layout_marginTop="42dp"
android:text="OK" />

</RelativeLayout>

Encrypted text:

<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context=".EntextActivity" >

<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:layout_marginLeft="54dp"
android:layout_marginTop="75dp"
android:text="Your encrypted text is"
android:textAppearance="?android:attr/textAppearanceMedium" />

31
<EditText
android:id="@+id/editText1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/textView1"
android:layout_centerHorizontal="true"
android:layout_marginTop="62dp"
android:ems="10"
android:inputType="textMultiLine" >

<requestFocus />
</EditText>

<Button
android:id="@+id/button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/editText1"
android:layout_centerHorizontal="true"
android:layout_marginTop="30dp"
android:text="Decrypt" />

</RelativeLayout>

Create Password:

<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context=".CreatepwdActivity" >

<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:layout_marginLeft="20dp"
android:layout_marginTop="65dp"

32
android:text="Enter your new password"
android:textAppearance="?android:attr/textAppearanceMedium" />

<EditText
android:id="@+id/editText1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/textView1"
android:layout_below="@+id/textView1"
android:layout_marginTop="47dp"
android:ems="10" />

<TextView
android:id="@+id/textView2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/editText1"
android:layout_centerVertical="true"
android:text="Confirm your new password"
android:textAppearance="?android:attr/textAppearanceMedium" />

<EditText
android:id="@+id/editText2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/textView2"
android:layout_below="@+id/textView2"
android:layout_marginTop="24dp"
android:ems="10" >

<requestFocus />
</EditText>

<Button
android:id="@+id/button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/editText2"
android:layout_below="@+id/editText2"
android:layout_marginLeft="60dp"
android:layout_marginTop="30dp"
android:text="Create" />

</RelativeLayout>

33
Update Password:

<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context=".UpdatepwdActivity" >

<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:layout_marginLeft="42dp"
android:layout_marginTop="50dp"
android:text="Old password"
android:textAppearance="?android:attr/textAppearanceMedium" />

<EditText
android:id="@+id/editText1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/textView1"
android:layout_below="@+id/textView1"
android:layout_marginTop="30dp"
android:ems="10" >

<requestFocus />
</EditText>

<TextView
android:id="@+id/textView2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignRight="@+id/textView1"
android:layout_below="@+id/editText1"
android:layout_marginTop="32dp"
android:text="New Password"
android:textAppearance="?android:attr/textAppearanceMedium" />

34
<EditText
android:id="@+id/editText2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/textView2"
android:layout_below="@+id/textView2"
android:layout_marginTop="20dp"
android:ems="10" />

<TextView
android:id="@+id/textView3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/editText2"
android:layout_below="@+id/editText2"
android:layout_marginTop="22dp"
android:text="Confirm your new password"
android:textAppearance="?android:attr/textAppearanceMedium" />

<EditText
android:id="@+id/editText3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/textView3"
android:layout_below="@+id/textView3"
android:layout_marginTop="33dp"
android:ems="10" />

<Button
android:id="@+id/button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/editText1"
android:layout_alignParentBottom="true"
android:layout_marginBottom="16dp"
android:layout_marginLeft="46dp"
android:text="Update" />

</RelativeLayout>

35
Receive:

<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context=".ReceiveActivity" >

<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:layout_marginLeft="42dp"
android:layout_marginTop="50dp"
android:text="Your message is"
android:textAppearance="?android:attr/textAppearanceMedium" />

<EditText
android:id="@+id/editText1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/textView1"
android:layout_centerHorizontal="true"
android:layout_marginTop="68dp"
android:ems="10"
android:inputType="textMultiLine" />

</RelativeLayout>

36
CONCLUSION

37
9. Conclusion

The project “MOBILE APPLCATION FOR CODEC” is completed, satisfying the


required design specifications. The mobile application provides a user-friendly interface. All
modules in the mobile application have been tested with valid data and invalid data and
everything work successfully. Thus the mobile application has fulfilled all the objectives
identified and is able to replace with other features. The constraints are met and overcome
successfully. The application is designed as like it was decided in the design phase. This
application has a user-friendly screen that enables the user to use without any inconvenience.
This would help the corporation prepare and organize its schedules more efficiently on the basis
of traffic demand. Besides, it would provide data on concessions given to various sections. The
application has been tested with live data and has provided a successful result. Hence the mobile
application has proved to work efficiently.

38
FUTURE
ENHANCEMENT

39
10. Future Enhancement

Future enhancement of “MOBILE APPLICATION FOR CODEC” is to develop


this messaging system as a mobile application. The users may use this application in offline. This
application will enhance with more features. This application has only encrypted text message.
In future it will include voice message, audio calls and video calls with encryption and
decryption method using this CODEC mobile application.

40
BIBLIOGRAPHY

41
11. Bibliography

1. https://www.developer.com/ws/android/encrypting-with-android-cryptography-api.html

2. https://github.com/facebook/conceal/issues/49

3. https://www.google.co.in/url?sa=t&rct=j&q=&esrc=s&source=web&cd=2&ved=0ahUKEwjSnr_4
6uDYAhVIbVAKHQDkC8oQFggoMAE&url=https%3A%2F%2Fwww.androidtutorialpoint.com%2Fb
asics%2Fsend-sms-programmatically-android
tutorial%2F&usg=AOvVaw1Q38oQldJwEC3v55IAZyd5

4. http://www.tutorialsface.com/2015/08/building-your-own-android-chat-messenger-app-
similar-to-whatsapp-using-xmpp-smack-4-1-api-from-scratch-part-2/

5. https://www.appsrox.com/android/tutorials/instachat/

6. https://stackoverflow.com/questions/40123319/easy-way-to-encrypt-decrypt-string-in-android

7. https://gist.github.com/FrankWu100/6737797

8. http://www.androprogrammer.com/2016/04/data-encryption-and-decryption-in.html

9. http://www.codejava.net/coding/file-encryption-and-decryption-simple-example

10. https://www.ibm.com/developerworks/websphere/tutorials/i-mqrad1/i-mqrad1.html

42

You might also like