Requirements Specification Android Text Encryption http://code.google.com/p/androidtextencryption/ Tommy Fritz Nghia Nguyen Paul Scott Sara Wells Submitted October 25, 2010 Introduction Encryption as an art has existed for centuries, vastly pre-dating the technological adaptations we take for granted today. Early encryptions were effective, but generally simple and limited by the time required to manually encrypt, send, and decrypt messages. In today’s society, almost instantaneous encryptions performed by computers are part of everyday life and make secure shopping, banking, data exchange, and other activities possible. One popular form of communication, however, generally lacks any sort of sophisticated encryption – text messages. Many people send delicate information and conduct private conversations via text with little protection from third parties who might intercept the message or the storage of their information in phone company records. In order to fill this void and offer customers a more securely private means of textual communication, Fish Eating Penguin hopes to develop Text Encryption, an application for Android phones. Text Encryption will be a third-party application capable of running on any Android system. It will allow users to send and receive encrypted text messages using the standard SMS text messaging system, and will only send encrypted data over that system. Without the Text Encryption program and an appropriate key/password, any intercepted or stored messages will appear unreadable. In this way, we hope to provide a safe and secure means of transferring private messages between any two Android phones. This paper details the specification of the Text Encryption system in two main parts: a requirements section and a use case section. The requirements section lists all currently anticipated functional and non-functional requirements. The use case modeling section provides a use case diagram representing the system and brief and detailed descriptions of each use case. Additionally, the responsibilities of each team member are addressed. Requirements Specification Functional Requirements R01 Text Encryption should encrypt ascii characters R02 Text Encryption should decrypt ascii characters R03 Text Encryption should function with standards of SMS android telephony package R04 Text Encryption should take keyboard input R05 Text Encryption should determine when it can and cannot get message service R06 Text Encryption should be able to send unencrypted messages R07 Text Encryption should allow different encryption between multiple persons Non-Functional Requirements N01 Only works on Android based phones N02 Should fit encryptions within 160 characters N03 Will be written in Java w/ Android packages N04 Only Roman alphabet and Ascii characters N05 Should be usable out of the box by anyone who has used SMS before N06 Should encrypt and decrypt without a pause, does not slow down a text Use Case Modeling Use Case Diagram Use Case Descriptions? USE CASE Description Actor Precondition TEXT MESSAGE ENCRYPTION Software user (Sender and Receiver) The software interact with the android text message, showing the ENCRYPT and DECRYPT icon on the top right of the text message window. User must have android phone and the text message that supports this software. Postcondition The input should not over 180 characters. English as default languages, using the roman alphabets. Functions Setup default encrypt key and decrypt key o To save time, the software automatically use default key to encrypt or decrypt the given message. Encrypt text with given key Note o Sender is asked to input the key, which is used to encrypt the message. Decrypt text with given key o Receiver is asked to input the key, which is used to Decrypt the message. Install/Uninstall o Setup or remove the software from the android phone. If the receiver input a wrong key code, the software still produce the output, however the output is not correct as the sender’s intention.