• No results found

System Requirements Specification Document RSA

N/A
N/A
Protected

Academic year: 2021

Share "System Requirements Specification Document RSA"

Copied!
10
0
0

Loading.... (view fulltext now)

Full text

(1)

System

Requirement

Specification

For

Implementation of RSA Algorithm

Prepared By:

Md Asif Jalal(12370032)

(2)

Contents

1.

Introduction ...3

1.1

Purpose ... 3

1.2

Project Scope ... 3

1.3

Audience ... 4

2.

Feasibility Study ...4

2.1

Executive Summary ... 4

2.2

Software Feasibility ... 4

2.3

Time Feasibility ... 4

2.4 The Market ... 5

2.5

Cost Feasibility ... 5

3.

Overall Description ...5

3.1

Operating Environment ... 5

3.2

Software Requirement... 5

3.3

Hardware Requirements ... 5

3.4 User Documentation ... 6

3.5 Assumptions and Dependencies ... 6

4.

System Functionalities ...6

4.1

In Detail ... 6

5.

External Interface Requirements ...8

5.1

User Interfaces for File Encryption/Decryption: ... 8

5.2

Communication Interface:... 8

6.

Other Nonfunctional Requirements ...8

6.1

Security Requirements ... 8

6.2

Software Quality Attributes ... 9

6.2.1

Reliability ... 9

6.2.2

Usability... 9

6.2.3

Flexibility: ... 9

6.2.4

Portability ... 9

6.2.5

Security ... 9

6.2.6

Maintainability ... 9

(3)

1. Introduction

1.1 Purpose

This system specification document will serve to describe RSA encryption program that will be used by any business or military agency which would want to secure its data. Amongst the many requirements that this document will outline regarding the system that is to be designed, one may find detailed functionalities of the program, the needed resources, language that is to be used to develop this application.

RSA has been used in most digital data, information and telephone security applications.

The RSA has it's advantages of being a reliable and safe system but it also has the disadvantage of being very slow in data calculating. For this reason it is used in hybrid cryptographic systems that simultaneously use symmetric algorithms (AES) for the communication and data encryption phase and public key algorithms (RSA) for the safe delivery of the symmetric key (or session key) that is necessary for encrypting and

decrypting the message. There are different levels of encryption in telephone cryptography. The purpose of the system is that it will be able to encrypt data input by the user. However, one is to note the following two encryption features which later on will be outlined as functionalities of this system is that

secrecy and privacy: the content of the information and communication must be ONLY

accessible to the sender and the recipient of the information

integrity: the content must not be altered during the exchange phase, therefor it must stay

in its original form

authentication: this aspect is very important because RSA guarantees the origin of the

sent information, only the sender with his own private key is able to encrypt the message

therefor transform the message into an unreadable form consequently the receiver will

have confirmation of the origin because he will be able to decrypt the message only

through the corresponding public key

non repudiation: the sender cannot state that the message has not been encrypted with

his private key because the private key used for the encryption is unique and it's the

owner's responsibility to make sure that it is not used by non authorized third parties.

1.2 Project Scope

The scope of the system that will be developed is mainly to offer better security measures which the business using this system can take in order to secure better its data.

(4)

 The system can be run on any platform (Windows, Linux etc)

Apart from the benefits mentioned here above, the objectives of the system are the following:

 The system is to provide the business a way to encrypt and decrypt its data in a secure and controlled way.

 The system is to provide an easier, friendlier and autonomous way to the users to encrypt its data by randomly generating keys.

 The system is to provide more portability and flexibility.

1.3 Audience

This document is intended for those business who intend to acquire an encryption system with greater security, that runs on any platform and the security personnel.

2. Feasibility Study

2.1 Executive Summary

Because of the reason that the transmission mediums are unreliable so sharing or

transmitting data in normal mode is normally unsafe. So the data needs to be modified in such a way that though it can be read by any unauthorized user, but the information can’t be extracted. So we have come up with this idea of sending files and text messages in a encrypted format using RSA encryption algorithm.

2.2 Software Feasibility

The softwares required for the implementation of this software project and also the platforms required for this software to run is ready available in the market at reasonable price.

To do this project we at first need to implement RSA algorithm and cope up that with client server methodology. The project software can be done using JAVA language and it is feasible.

2.3 Time Feasibility

RSA algorithm can be implemented and run in real time so the other thing we have to do is establishing

client-server method in the software so that the client can send the server, files, message in encrypted

format. We can understand that the project can be done in a limited time and could be run in real time

system. So that the time can be easily managed for the system.

(5)

2.4 The Market

The market for this type of software is very good because everybody needs security for their

information and with encryption technique data can be secured at a certain level.

2.5 Cost Feasibility

It can be implemented in a low cost and the requirements are not so high ,so the software production price would be very low. Thus the clients can afford this software ,as the cost is quite cheap.

3. Overall Description

3.1 Operating Environment

For the system to run properly the buyer must ensure that on the machines there is the

Java Runtime Environment installed, preferably the latest version so that all updates

are included.

Version 7 Update 25

may be downloaded from this website:

http://java.com/en/download/index.jsp.

The advantage of using java and its runtime environment is that it enables the system to run on any platform, whether it is Windows, Mac OS, Linux or Solaris. Makes it more portable and platform independent.

3.2 Software Requirement

In order for this system to be developed the following software packages will be used: Java

Runtime Environment This will be used for the running platform of the software.

NetBeans IDE 7.3 This will be used to develop the system. This will enable and help the developers to produce a quality system since it provides help while coding and has an interface which does not hinder the development process.

3.3 Hardware Requirements

 Microsoft Windows XP Professional SP3/Vista SP1/Windows 7 Professional: o Processor: 800MHz Intel Pentium III or equivalent

(6)

o Memory: 512 MB

o Disk space: 1GBof free disk space

 Solaris OS version 10 (x86/x64 Platform Edition): o Processor: AMD Opteron 1200 Series 1.8 GHz o Memory: 512 MB

o Disk space: 1 GB of free disk space

3.4 User Documentation

When the system is completed a user manual will be developed in order to help the users of the system manage through this application if any difficulties are encountered. However, the interface will be quite easy to understand but to provide immediate help and reference the user manual can be used. This will also save the business from spending additional money on training to use this software.

3.5 Assumptions and Dependencies

Assumptions:

 The business environment or military agency will install the necessary software in order for this system to work. This software needs that the machine on which it is working has the Java Runtime Environment (JRE) installed.

 The users of the system are proficient in using computer software and manage files.

The users of the system know about the concept and the use of encryption and

decryption.

Private key will be shared in a pre-determined secure way between the two parties

if the encrypted file will be transferred and decrypted by someone else.

 The private key generated will eventually be exported into a file to be remembered afterwards. This should be kept in a safe and secure place, and so it is the responsibility of the business people involved to provide this environment.

 One of the requirements of the business which wants to acquire this system should be to encrypt or decrypt files of data. This is being assumed since data can be input in other various ways (e.g. by copying text, scanning, etc).

4. System Functionalities

4.1 In Detail

High Importance Functionalities: We assume that all the functionalities are of high priorities

(7)

4.1.1 The system will be able to encrypt files:

4.1.1.1 Description and Priority

One of the main purposes the system is going to be designed for is encryption of data. Data will be passed in files to the program through a custom-built interface, where the data in the file(s) will be encrypted and output into another file which may contain the encrypted keys too. This functionality is a high importance functionality as without it the program does not make sense and will not be useful to any business which might want to make use of it.

4.1.1.2 Functional Requirements

1) The system will be able to open any file and loads the data into a stream of bytes.

2) The system will be able to encrypt the loaded stream of bytes using RSA algorithm.

3) The system will be able to generate a public and a private key using the non-symmetric algorithm RSA

4) The system will be able to export encrypted/wrapped private key (included within the public key) into a file which can be forwarded with the encrypted content file(s).

4.1.2 The system will be able to encrypt messages:

4.1.2.1 Description and Priority

Another Purpose is message passing between two nodes or ends and surely the message will be encrypted in the sender’s side and will be send to the receiver.

4.1.2.2 Functional Requirements

1) The system will be able to encrypt the loaded stream of bytes using RSA algorithm.

(8)

Any files encrypted using the method described in 3.1, can be decrypted back to the original text using this system. The functionality enables a business to retrieve back data that was made to be secure. This is a highly important functionality as without it the functionality described in 3.1 would not be of much help.

4.1.3.2 Functional Requirements

1) The system will be able to decrypt a stream of encrypted bytes. 2) The system will output a file with the original text after it has been

decrypted.

5. External Interface Requirements

5.1 User Interfaces for File Encryption/Decryption:

The user interface will consist of a desktop application which will offer the user to encrypt/ decrypt files chosen. A view the interface, where the user is helped with labels what to expect in the textboxes placed on screen. As one can easily note there are also button controls on the screen which give way to an operation as indicated.

Each of the controls will be accompanied with help which can assist the users if the find any difficulty while operating the system. The status label will keep the users informed of the operations statuses which occur according the user’s command.

Menus will be placed on the interface of the system which the user can use if he/she finds it more comfortable that way. The menus will also be accompanied by shortcut keys which makes the application more accessible for the user.

5.2 Communication Interface:

For secure message passing we encrypt the message in the sender’s side and decrypt in the receivers

side. For sending the encrypted bytes stream we have used java socket and client server concept.

6. Other Nonfunctional Requirements

6.1 Security Requirements

Since the system will encrypt the data passed on to by the user, the security is well-handled by the system. However, during this process as also described above, the system will produce a private key which should be kept in a safe place. This should not be shared with anyone whom the user/business does not want to decrypt and thus see the original text in clear form.

(9)

6.2 Software Quality Attributes

6.2.1 Reliability

RSA algorithm is used for encryption and decryption so the cypher text is reliable and for client

server socket connection

exception handling will be given importance too. This will make the system more robust by trying to handle properly the errors the system might encounter.

6.2.2 Usability

The system will make use of designed classes that will handle encryption and decryption while taking input and producing output from and to a file respectively. These classes are to be developed in a separate jar file so that they can be later reference in other projects thus increasing code re-usability.

6.2.3 Flexibility:

Flexibility in the system should also be noted. As also pointed out the interface is quite flexible and helpful (providing various ways and shortcuts to carry out the operations required), however the system should be made flexible to operate on various operating systems. This is a characteristic of this system and since it is going to be developed in java, it would not be a problem since installing the JRE would solve the problem of different platforms. Flexibility of using the system on different platforms will also lead to portability of the system.

6.2.4 Portability

The system will not be a large-sized one and since java works on Linux, Windows, etc, the system will be more portable.

6.2.5 Security

Secure socket connection is used for authentication.

 RSA algorithm is used for encryption/decryption which is very hard to break by brute force method.

6.2.6 Maintainability

All the methods and modules will be well documented and the design will be in object

(10)

Appendix A: Glossary

RSA: RSA is an algorithm for public-key cryptography that is based on the presumed difficulty of factoring large integers, the factoring problem.

Public Key: One key locks or encrypts the plaintext.

Private Key: Messages encrypted with the public key can only be decrypted in a

reasonable amount of time using the private key.

Encryption: In cryptography, encryption is the process of encoding messages (or

information) in such a way that eavesdroppers or hackers cannot read it, but that authorized parties can.

Decryption: Get the plain text from cypher text using any algorithm.

Symmetric-key algorithm: Symmetric-key algorithms are a class of algorithms for

cryptography that use the same cryptographic keys for both encryption of plaintext and decryption of cipher text.

Asymmetric-key algorithm: Vice versa.

Appendix B: Timeline Chart

Task Planned Start Planned Complete Max Completion

Time

Assigned Person

SRS Wk1,Day1 WK1,Day5 WK2,Day3 AGD Primary Design Wk2,Day1 WK2,Day5 WK3,Day2 MAJ Detailed Design Wk3,Day1 Wk4,Day5 WK5,Day2 MAJ Coding Wk5,Day1 Wk6,Day5 WK7,Day2 AGD Unit Testing Wk7,Day1 Wk7,Day5 WK8,Day2 MAJ Alpha and Beta

Testing

Wk8,Day1 Wk8,Day5 WK9,Day2 AGD

Software Installation

Wk9,Day1 Wk9,Day5 WK10,Day2 MAJ

References

Related documents

In addition, if I marked "Yes" to any of the above questions, I hereby authorize release of information from my Department of Transportation regulated drug and alcohol

It is important to define the balance of responsibilities between the cloud providers and the university. For example, the provider will be responsible for

We assessed variables regarding self-regulation which could be defi ne as proximal variables (knowledge of self-regulation strategies, level of general and specifi c competences

Objective: To explore women ’s experiences of taking adjuvant endocrine therapy as a treatment for breast cancer and how their beliefs about the purpose of the medication, side

In Section 2 , we examine orthogonal decompositions of real inner product gyrogroups and construct left and right coset spaces, gyroprojectors, quotient gyrogroups, and give a

Water resistance The force acting against an object moving through water. Weight The force of gravity pulling on every kg

We use dis-aggregated unemployment rate data corresponding to six demographic groups: White Total, White Males, White Females, Black Total, Black Males, and Black Females.. To

With all four financing mechanisms, price control results in a price decrease in both the monopolistic and the competitive region due to the incumbent ’s strong market power.. There