System Requirements Specification Document RSA
February 7, 2017 | Author: Asif Jalal | Category: N/A
Short Description
Download System Requirements Specification Document RSA...
Description
Pondicherry University
Client Server Lab Project
System Requirement Specification For Implementation of RSA Algorithm Prepared By:
Md Asif Jalal(12370032) Anirudh Ghosh Dastider(12370021)
System Requirement Specification For Implementation of RSA Algorithm
Page i
Pondicherry University
Client Server Lab Project
Contents 1. Introduction ..............................................................................................................................3 1.1 1.2 1.3
Purpose.......................................................................................................................................... 3 Project Scope ................................................................................................................................ 3 Audience ....................................................................................................................................... 4
2. Feasibility Study .......................................................................................................................4 2.1 2.2 2.3 2.4 2.5
Executive Summary ...................................................................................................................... 4 Software Feasibility ...................................................................................................................... 4 Time Feasibility ............................................................................................................................ 4 The Market .................................................................................................................................... 5 Cost Feasibility ............................................................................................................................. 5
3. Overall Description ..................................................................................................................5 3.1 3.2 3.3 3.4 3.5
Operating Environment ................................................................................................................. 5 Software Requirement................................................................................................................... 5 Hardware Requirements................................................................................................................ 5 User Documentation ..................................................................................................................... 6 Assumptions and Dependencies .................................................................................................... 6
4. System Functionalities .............................................................................................................6 4.1
In Detail ........................................................................................................................................ 6
5. External Interface Requirements ...........................................................................................8 5.1 5.2
User Interfaces for File Encryption/Decryption:........................................................................... 8 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
System Requirement Specification For Implementation of RSA Algorithm
Page ii
Pondicherry University
Client Server Lab Project
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. The benefits that one will gain from this system are the following: Greater security of data since the data can be encrypted using the widely used algorithm The process is autonomous – users need not invent secret keys (which might later be forgotten) Easy-to-Use
System Requirement Specification For Implementation of RSA Algorithm
Page 3
Pondicherry University
Client Server Lab Project
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.
System Requirement Specification For Implementation of RSA Algorithm
Page 4
Pondicherry University
Client Server Lab Project
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 o Memory: 512 MB o Disk space: 1GB of free disk space
Ubuntu 9.10: o Processor: 800MHz Intel Pentium III or equivalent
System Requirement Specification For Implementation of RSA Algorithm
Page 5
Pondicherry University
o o
Client Server Lab Project
Memory: 512 MB 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 because the system is for classified file and message security.
System Requirement Specification For Implementation of RSA Algorithm
Page 6
Pondicherry University
Client Server Lab Project
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.
4.1.3 The System Will able to decrypt: 4.1.3.1 Description and Priority
System Requirement Specification For Implementation of RSA Algorithm
Page 7
Pondicherry University
Client Server Lab Project
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.
System Requirement Specification For Implementation of RSA Algorithm
Page 8
Pondicherry University
Client Server Lab Project
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 oriented for so it’ll be easy to maintain for future improvements.
System Requirement Specification For Implementation of RSA Algorithm
Page 9
Pondicherry University
Client Server Lab Project
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 Time
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
Wk8,Day1
Wk8,Day5
WK9,Day2
AGD
Software Installation
Wk9,Day1
Wk9,Day5
WK10,Day2
MAJ
Maintenance
Wk10,Day1
-------------
---------------
AGD,MAJ
Alpha and Testing
Beta
System Requirement Specification For Implementation of RSA Algorithm
Completion
Assigned Person
Page 10
View more...
Comments