You are on page 1of 25

Vellore Institute of Technology

(Deemed to be University under section 3 of UGC Act, 1956)

Course Code : CSE3001

CourseName: SOFTWARE ENGINEERING

Faculty Name: Dr. Anand Bihari

Team members:

VENKATESWARA RAO DUNNE-19BDS0007


AARYASH KANSAL-19BCE0339
CONTENTS

1. INTRODUCTION
1 .1 Purpose
1.2 System Overview
1.3 Design Map
1.4 Definition and Acronyms

2. DESIGN CONSIDERATIONS
2.1 Assumptions
2.2 Constraints
2.3 System Environment
2.4 Design Methodology
2.5 Risks and Volatile Areas

3. ARCHITECTURE
3.1 Overview
3.2 Subsystem, Component, or Module
3.3 Strategy

4. DATABASE SCHEMA
4.1 Tables, Fields and Relationships
4.1 .1 Databases
4.1.2 New Tables
4.1.3 New Fields
4.1.4 Fields Changes
4.1 .5All other changes
4.2 Data Migration

5. HlGH LEVEL DESIGN


5.1 Use-case Diagram
5.2 Class Diagram
5.3 Sequence Diagram
5.4 State Machine Diagram
5.5 Activity Diagram
5.6 Component Diagram
5.7 Deployment Diagram

6. LOW LEVEL DESIGN

7. USER INTERFACE DESIGN


INTRODUCTION
1.1. Purpose
This software design specification is made with the purpose of
outlining the software architecture and design of the Secured pocket
store for pocket personal computer using windows S.E cryptographic
solution in detail. The document will provide developers an insightin
meeting client's needs efficiently and effectively.

1.2. System Overview


This document describes the architectural design of the Secured
pocket store for pocket personal computer using windows S.E
cryptographic solution .The high level components and their
interactions ,suitable architectural patterns, physical arrangement of
components and design decisions applied to the whole system. The
System Design Document describes system and subsystem
architecture, files and database design, input formats, output layouts,
detailed design, processing logic, and external interfaces.

1-3. Design Map


1.4. Definition and Acronyms
2. Cipher text :Cipher is an algorithm which is applied to plain text to get
ciphertext. It is the unreadable output of an encryption algorithm. The
term "cipher" is sometimes used as an alternative term for ciphertext.
Ciphertext is not understandable until it has been converted into plain
text using a key.
3. Encryption :the process of converting information or data into a code,
especially to prevent unauthorized access.
4. Decryption : The conversion of encrypted data into its original form is
called Decryption. It is generally a reverse process of encryption. It
decodes the encrypted information so that an authorized user can
only decrypt the data because decryption requires a secret key or
password.
2.
DESIGN CONSIDERATIONS
2.1. Assumptions :
All the tools used for designing purposes provide good
results and are free to use.
Project will follow waterfall methodology throughout
execution.
The solution will utilize call and return architecture.

2.2. Constraints

Limited free tools and resources available for


implementation and use.
Make a cryptographic application that is usable by all
class of user (who need to secure their data). This is
usable both for novice or technical users as well as
expert technical users.
2.3. System Environment
Operating system: windows

Compiler: 32 bit

Application Program: C

User Interface: Front end and back end using GCI compiler
Hardware interface: Windows Supporting 'C' program

2.4. Design Methodology


Many software development projects have been known
to incur extensive and costly design errors. The most
expensive errors are often introduced early in the
development process. This underscores the need for
better requirement definition and software design
methodology. Software design is an important activity as
it determines how the whole software development task
would proceed including the system maintenance. A
methodology can be defined as the underlying principles
and rules that govern a system. A method can be defined
as a systematic procedure for a set of activities. Thus,
from these definitions, a methodology will encompass
the methods used within the methodology. This can be
implemented by following four components:
1. a conceptual model of constructs essential to the
problem,
2. a set of procedure suggesting the direction and order
to proceed,
3. a series of guidelines identifying things to be
avoided, and
4. a collection of evaluation criteria for assessing the
quality of the product.

A software design methodology can be structured as


consisting of the software design process component and
the software design representation or diagrammatic
component. The evolution of each software designneeds
to be meticulously recorded or diagramed, including the
basis for choices made, for future walkthroughs and
maintenance.

2.5. Risks and Volatile Areas

The danger of lost keys. Should a key become lost, either


corrupted or deleted or even accidentally thrown away,
any data encrypted with that key is also lost.

User is required to remember his password that he/she


used to encrypt data (or lock password safe) because most
of secure cryptographic algorithms implemented in this
suite are secure enough so that no algorithms better than
bruteforce can be used to recover lost password.
3. ARCHITECTURE
3.1. Overview
This section elaborates the architecture used by the
project.

3.2. Subsystem, Component, or Module


This architecture style allows us to achieve a program
structure which is easy to modify.

Following are the sub styles exist in this category:

1. Main program or subprogram architecture


The program is divided into smaller pieces
hierarchically.
The main program invokes many of the program
components in the hierarchy that program
components are divided into subprograms.
2. Remote procedure call architecture
The main program or subprogram components are
distributed in network of multiple computers.
The main aim is to increase the performance.
Our project focuses on Main program and subroutine
calls. The architecture diagram is shown below:
Application Application
Subprogram Application Application Application Application Subprogram
Subprogram Subprogram Subprogram Subprogram
3.3. Strategy:
• End user selects the original file to be encrypted and should
browse the file to be encrypted.
• Selecting the algorithm for encryption.
• Public key should be entered so that the text can be encrypted
and converted to cipher text.
• Private key entered by the receiver(other user) will be
checked(validated) finally to decrypt the data.

4. DATABASE SCHEMA
4.1. Tables, Fields and Relationships
This section defines the project's required tables and their respective
fields.
This figure describes all the relationships between
different entities(modules) of our project.
4.1 .1 . Database
A database is necessary to store the user identification information.

4.1.2. New Tables

The required table for secured pocket store for pocket PC


using windows S E Cryptographic solution are: User Table.
• Manual Password Protection.
• OTP Protection.
• Dynamic Round Protection.
4.1.3. New Fields Users
Table:
Field Name Data Field
Type Descri tion
Password Number Select the
Type way of
opening the
credential as
Manual
Password or
OTP or
Dynamic
round
protection for
the file
cryptography
Manual Password Protection:
Field Name Data Field
Type Descriptio
n
Password Number Size to
Size create the
numeric
assword
Password Number per
given size
create
numeric
assword
File name Varchar2 File name
to create or
open the
existing file
to encrypt
or decrypt
to protect
the file.
OTP Protection:
Field Name Data Field
Type Descri tion
OTP[ Number Provide OTP
Unlock as the
Credentials] credential to
access file
than giving
assword
OTP Number OTP for
[Decrypt] Cryptograph
File name Varchar2 File name to
create or
open the
existing file
to encrypt or
decrypt to
protect the
file.
Dynamic Round Protection:
Field Name Data Type Field
Descri tion
OTP[Un10ck Number
Credentials]
OTP[Dua1 Round] Number OTP for extra la er securit

OTP Number OTP for


[Decrypt] Cryptograph

File name Varchar2 File name to create or


open the existing file to
encrypt or decrypt to
rotect the

file.

4.1.4. Fields Changes


In the Image scrapper table another field can be added which stores the
details for the location or path in the user device where the images are to
be downloaded and stored.

4.1.5. All other changes


All the above listed tables and fields aresufficient
for efficient working of the project and thus no
additional changes are made.
4.2. Data Migration
Pre-migration planning: Evaluate the file for the cryptography.
Initiation: Choose the way of password the user expect to secure the data.
Analysis: details about user and the file to secure.
Solution design : The password field formulated in this project o If,
numeric manual password, define numeric password with the length
of given size o If OTP, then send an One Time Password to the user's
contact id and start crypting.
If Dynamic Round protection, as it wraps the credential with 2 OTP's process starts
after providing both field.
These passwords method will hash the password for few minutes. It will
not store the password itself. The hashes can't be reversed in order to get the
password used to generate those hashes. Hence, the OTP algorithm will not be
traced.
Build and Test: Code and test the migration to check is it flexible for both
encryption and decryption.
Execute and Validate: Demonstrate that the project fulfilled the
requirements and be friendly for the users to protect their data.

5. HIGH LEVEL DESIGN


This section consists of the high-level design. It is used to
briefly describe all platforms, systems, products, services and
processes that it depends on and include any important
changes that need to be made to them.
5.1 .Use-case Diagram

5.2. Class Diagram


5.3. Sequence Diagram

5.4. State Machine Diagram:


5.5 Activity Diagram

If KEY is
Empty
START

Load CIPHER

Enter Key

If KEY is
Destroy Cipher
Correct
5.6. Component Diagram

5.7. Deployment Diagram

IJserlD search, password match


6. LOW LEVEL DESIGN

This section contains the Low Level Design of our project


which refers to the component-level design process. It
describes each and every module means it includes actual
logic for every system component. It goes deep into each
module's specification. It is also known as micro
level/detailed design. It converts the above High Level
Solution into Detailed solution.

6.1. Independent Modules


A security key should be entered and it should be
validated to encrypt or decrypt data. User is required to
remember his password that he/she used to encrypt data
(or lock password safe) because most of secure
cryptographic algorithms implemented in this suite are
secure enough so that no algorithms better than
bruteforce can be used to recover lost password.

6.2. DEPENDENT MODULES


The entered 8 digit number has to be matched with the
output. User is required to remember his password that
he/she used to encrypt data (or lock password safe)
because most of secure cryptographic algorithms
implemented in this suite are secure enough so that no
algorithms better than brute-force can be used to recover
lost password .
The users can be used for different kind of text files The
source code should be properly documented, so that new
developers will be able to understand the code as easily as
possible. The text file to be encrypted should be in the same
folder
6.3. INTER PROCESS DEPENDENCIES

Network components to send file form one computer to


other computer using ip address on Local area Network.
We use FTP protocol to send file in between computer.

In this we provide GUI interface on which end user enter


their text and security key should be entered so that the
text can be encrypted and converted to cipher text and the
key will be checked finally to decrypt the data.

The will provide users with the help they need to


effectively and efficiently use the product.

7. USER INTERFACE DESIGN

This section contains the interfaces of our project which focuses


on looks and styles. We aim to create interfaces which users find
easy to use and pleasurable. The detailed description of each
interface screen is provided below.

GUI interface on which end user enter their text and security key
should be entered so that the text can be encrypted and converted to
cipher text and the key will be checked finally to decrypt the data.

This is a cryptographic application that usable by all class of user


(who need to secure their data). This is usable both for novice or
technical users as well as expert technical users. Corporate
companies, academicians, Government organisations

In this software, have two main buttons (Encrypt, decrypt)

1. First tab i.e.encrypt tab will allow a user to select the


algorithm in which they wish to encrypt the file and browse
the file from hard disk and provide the public key to help in
encryption.
2. Second tab i.e.decrypts option, will allow a user to decrypt
the encrypted file in other end providing private key. Most
public key ciphers rely on high computational cost
operations.

This system feature involves encrypting the data using one of many
asymmetric cryptographic ciphers for data security

1 . Select the file using browse option that he wants to encrypt and
select the file.

2. You must enter the key(public key) that help to encrypt your
File.

3. It gives the key option and validates the key and then
encryption is done.
4. After encryption file is in destination folder.
Options for choosing manual password protection, one time password
protection and dynamic round protection will be given.
NO
Interface:

The user will be given 3 options inorder to encrypt his/her file.

Option 1:

Manual Password Protection


The text “hello” will be encrypted in the following way:

Option 2:

One Time Password Protection


It will again be encrypted in the following format:
Option 3:

Dynamic round protection

You might also like