school of computer science & software engineering zheng xuan 5654889 [email protected]...
TRANSCRIPT
Page 1
School of Computer Science & Software Engineering
Bachelor of Computer Science (Digital Systems Security)
16th Aug 2017, VERSION 1.2
CSCI321- Project
Technical Manual [Date]
Group: [SS17/2E]
AYE CHAN
5363159 [email protected]
SNG SHI QUAN, TERRENCE
5026416 [email protected]
CHIA ZHIYONG ISAAC
5044248 [email protected]
CHAI ZHENG XUAN 5654889 [email protected]
Supervisor: [Lim De Yang]
Assessor: [Tan Kheng Teck]
Technical Manual [SS17/2E]
Page 2
Document Control
Title: Krypto for Android
Document
Name: Technical Manual
Owner Current Version Last Change on
Author Date Time
Aye Chan Terrence Sng Isaac Chia Chai Zheng Xuan
1.2 16/08/17 2359HRS Aye Chan Terrence Sng Isaac Chia Chai Zheng Xuan
Distribution List Name Title/Role Where
Revision
Date Description
Section
Affected Changes Made by
Version after
Revision 13 Aug 2017 Update of diagrams 2.1, 3.2,
3.3, 3.4
ALL 1.1
18 Aug 2017 Update of UI & test
case
3.5, 5.9,
9.0
ALL 1.2
Technical Manual [SS17/2E]
Page 3
Table of Contents Document Control 2
Executive Summary 6
1.0 Introduction 6
1.1 Vision 6
1.2 Context 6
1.3 Project Background 6
1.4 Project Objective 7
1.5 Roles and Responsibilities 7
1.6 Target Users 7
1.7 Market Survey 7
1.7.1 Common Functions in the Market 8
1.7.2 Products Comparison 8
2.0 Requirements Analysis 9
2.1 Use Case Diagram 9
2.1.1 Overall Use Case 9
2.1.2 Main Page Use Case 10
2.1.3 Game Use Case 10
2.2 Functional Requirements 11
2.3 Non-Functional Requirement 12
2.3.1 Usability 12
2.3.2 Reliability 12
2.3.3 Performance 13
2.4 Operating Environment 13
2.5 Product Features 13
3.0 System Design 14
3.1 Product Breakdown Structure 14
3.2 Class Diagram 14
3.3 Sequence Diagram 15
3.3.1 Analysis tools from Main Page 15
3.3.2 Ciphers from Main Page 15
3.3.3 Game mode 16
3.4 Algorithm Design 17
Technical Manual [SS17/2E]
Page 4
3.4.1 Main Page Activity Diagram 17
3.4.2 Game Activity Diagram 17
3.5 User Interface Design 18
4.0 Implementation 24
4.1 Development Methodology 24
4.2 Development Tools 25
4.3 Limitations and Constraints 26
5.0 Testing 26
5.1 Test Plan Identifier 26
5.2 Process Overview 26
5.3 Test Strategy 27
5.4 Features to be tested 28
5.5 Item Pass/Fail Criteria 31
5.6 Test Deliverable 31
5.7 Environmental Needs 31
5.8 Testing Resources and Staffing 31
5.9 Test Summary 32
6.0 Conclusion 34
6.1 System Highlights 34
6.1.1 Analysis Tools 34
6.1.2 Animated Step By Step Demonstration 35
6.1.3 Sharing function 36
6.1.4 Game 36
6.2 Future Enhancements 37
6.3 System Limitations 37
6.4 Technical Skills Acquired 37
6.4.1 Java 37
7.0 Annexes 38
7.1 Minutes of Meeting 38
7.2 Project Diary 38
7.2 Video Link 38
7.3 Website Link 38
8.0 References 39
Technical Manual [SS17/2E]
Page 5
8.1 Substitution Reference 39
8.2 Vigenere Reference 40
8.3 Transposition References 40
8.4 Others 40
8.5 Icons 40
9.0 Appendix 41
Technical Manual [SS17/2E]
Page 6
Executive Summary Technology especially the Internet and having everything online is very convenient to everyone at
this day and age. Although the Internet can be a very useful tool, it is also very vulnerable to being
attack in terms of hacking and unauthorized access to online information. With this issue, the study
of how to protect information on the Internet has become a number one topic in the study of digital
security. There are many different ways to prevent information from leaking to unauthorized users
like hacker. One of the methods is to use cryptography to scramble the actual information into a
ciphertext that does not make sense to hackers who does not have to means to decrypt the
ciphertext.
1.0 Introduction This document is the technical manual which can briefly explain about this project. In this manual,
details of the project such as background, scope, version controls and other technical information
will be stated and describe. As the idea of this project is to create an Android application that will
educate the users on the topic of cryptography. The application will contain various different
cryptography ciphers for the users to learn and they are able to use them to encrypt and decrypt
information on their own. In the application, there will be a game included so that the users can
practice analyzing and decrypting different ciphertexts. Therefore, this document will serve as a
brief summary of which different ciphers are used and why, how the ciphers are implemented, the
evolution and the progress of the project, the stakeholders’ involvement and so on.
1.1 Vision
“To provide a user-friendly application where users can both learn and apply cryptography.”
1.2 Context
Our aim is to provide an application where a new user can learn about various
cryptographic and an experienced user can share their encrypted message with another
user. Our application will have a foolproof user interface for any kind of users, no matter
if they have experience or not.
1.3 Project Background
This project is based on ‘Krypto’ application that was from CSCI361 – Cryptography & Secure
Applications. Using this application as a baseline, our project will provide similar functionality to
allow the user to encrypt and decrypt messages or information. Our project will also provide
analyzing functions to help users to analyze the content of a ciphertext which will aid them in
decrypting it. As this is an android application based project, android programming is mainly used
as coding language therefore leading to a lot of research of android programming.
Technical Manual [SS17/2E]
Page 7
1.4 Project Objective
Objective of this project is working as a cohesive team to develop an Android application where
users are able to do Monoalphabetic, Polyalphabetic, Transposition ciphers and statistical
cryptanalysis.
Minimum requirements are creating Krypto from CSCI 361 into an android application. Functions
included are; index of coincidence(IC), graph, frequency counting (n-grams), etc.
1.5 Roles and Responsibilities
Figure 1.1 Roles and Responsibilities
1.6 Target Users
The target users of our product will be users interested in learning cryptography as well as users who
can use our product as a tool for cryptography.
Potential Customers
● People with interest in cryptography
● People who want to share message with encryption
● Users learning cryptography
1.7 Market Survey
So far from the research we did online, we only found that mainly substitution cipher
puzzles are available.
Technical Manual [SS17/2E]
Page 8
1.7.1 Common Functions in the Market
• Cryptogram puzzles (substitution cipher)
Our sharing function can convert a user’s plaintext into ciphertext which allows the user
to send it to his/her desired recipient in the form of the ciphertext. Onlookers who don’t
understand this will treat it as random junk letters.
1.7.2 Products Comparison
Our final product is tailored more to the real-world situation as what the sharing function
provides. However, only a handful of them provides interactive help that helps users to
understand better on how the ciphertext is derived from applying the key to the plaintext
and vice versa.
Technical Manual [SS17/2E]
Page 9
2.0 Requirements Analysis
This section describes the requirements elicitation for our project.
2.1 Use Case Diagram
2.1.1 Overall Use Case
Figure 2.1.1 Overall Use case
This use case shows what the user can perform:
• Help function from the main page
• 3 analysis tools; n-gram, ioc, period to analyze the text
• 3 different types of ciphers, which can do both encrypt and decrypt
• Animated demonstration of how the cipher is being done in after
Encrypting/Decrypting
• About what each individual cipher is about
• Share function to share/communicate after encryption/decryption
• 4 different stages in game mode
• Analysis, encryption and decryption are all available in game mode as well
Technical Manual [SS17/2E]
Page 10
2.1.2 Main Page Use Case
Figure 2.1.2 Main Page Use case
2.1.3 Game Use Case
Figure 2.1.3 Game Use Case
Technical Manual [SS17/2E]
Page 11
2.2 Functional Requirements
➢ Allows the user to use the different ciphers
❖ Plaintext to ciphertext and vice-versa.
➢ Allowing users to choose cipher.
❖ User can choose their desired cipher, Substitution, Vigenere or
Transposition cipher.
➢ Allowing users to encrypt the plaintext message.
❖ User can encrypt a plaintext message with their chosen cipher and an
encrypted message will be returned.
➢ Allowing users to analyses the encrypted message.
❖ User can analyze the encrypted message to find out period or frequency
histogram.
➢ Allowing users to decrypt the encrypted message.
❖ User can decrypt an encrypted message with a key. If the user does not
know the key, they can try to find out the key in the application.
➢ Allowing learn the encryption and decryption process step by step.
❖ User can go through the process step by step to learn how the encryption
and decryption process works.
➢ Allowing users to share the encrypted message.
❖ User can send their encrypted message to another user using the
application.
Technical Manual [SS17/2E]
Page 12
2.3 Non-Functional Requirement
2.3.1 Usability
This section describes the requirements needed for usability. Our application is
developed with the intention of it being user friendly and it aims to keep training time to
a minimum. The following usability standards are conformed to improve the usability of
application.
Ease of use – the application is easy to use as there are user interface and menu bar
which allows the users to simply just click to perform their intentions.
Simple User Interface – The user interface is simple as there are not much buttons and
each button and text field is clearly texted.
User friendly – Our program is easy to use as there is a user interface which allows the
user to use it intuitively. For example, the menu button is , help options button is
and about button is .
2.3.2 Reliability
This section describes the requirements needed for reliability. Our application provides
reliability for its usage. It will handle large text file without crashing. The following
usability standards are conformed to improve the reliability of application.
Availability - Users can use the application anywhere and anytime even without any
Internet connection.
Error Handling - The program will not crash even for large amount of text. It will also
not crash even if non-English characters are included in the text.
Technical Manual [SS17/2E]
Page 13
2.3.3 Performance
This section describes the requirements needed for performance. Our application is
dependent on how many characters are there in the text at the time of encryption and
decryption. The more characters there are, the more time it will need to do encryption or
decryption. The performance depends on the hardware components of user. The
following usability standards are conformed to improve the performance of application
Speed - the application will run as fast as possible according to the number of characters
in the text as well as the operating system the application is running on.
Capacity - the application can encrypt/decrypt large amount of text without slowing
down.
2.4 Operating Environment
Our application can be installed on any device running Android Operating System. It can
be installed on Android Operating System (minimum Android 5.0 Lollipop).
2.5 Product Features
Our product is an Android application that educated the users about the different ciphers included in
the application allowing them to learn about the encryption and decryption process. It also teaches
them how to analysis the ciphertext to determine which cipher method was applied and how to
decrypt the ciphertext.
Doing ciphers for educational and real-life purpose. By being able to put your plain text through the
cipher followed by sending it to a corresponding recipient, your message is encrypted so on lookers
will assume that is a random text while it has some meaning behind it.
This product will allow users to apply statistical analysis on ciphertext based on analytics of the
English language.
This product also comes with interactive help functions which shows the user how the ciphertext is
derived from the plaintext or vice versa.
Lastly, our product comes included with a simple game where users can practice decrypting
ciphertexts.
Technical Manual [SS17/2E]
Page 14
3.0 System Design This section covers the various aspects of the application’s design process.
3.1 Product Breakdown Structure
These are the diagrams that provide a brief idea on our product.
3.2 Class Diagram
This is the final class diagram for our product.
Figure 3.1 Class Diagram
Technical Manual [SS17/2E]
Page 15
3.3 Sequence Diagram
3.3.1 Analysis tools from Main Page
Figure 3.3.1 Analysis tools from main page sequence diagram
3.3.2 Ciphers from Main Page
Figure 3.3.2 Ciphers from home page sequence diagram
Technical Manual [SS17/2E]
Page 17
3.4 Algorithm Design
3.4.1 Main Page Activity Diagram
Figure 3.4.1 Main Page Activity Diagram
3.4.2 Game Activity Diagram
Figure 3.4.1 Game Activity Diagram
Technical Manual [SS17/2E]
Page 18
3.5 User Interface Design
This is a screenshot of the User Interface Design that the user will have to work with.
Default Page
Technical Manual [SS17/2E]
Page 19
Menu Tab to navigate between Main application and Game
Frequency of nGram from input text
Technical Manual [SS17/2E]
Page 20
Index of Coincidence of input text
Calculating the Index of Coincidence with periods
Technical Manual [SS17/2E]
Page 24
4.0 Implementation
This section describes the implementation phase of the product which includes the
development methodology, development tool, limitations and constraints faced.
4.1 Development Methodology
The development methodology that we have chosen is the Rational Unified Process
(RUP). RUP is an iterative software development model that is able to proactively
resolve project risk. We chose this methodology as it is flexible and able to be tailored to
our needs in this project. This model also allows us to gradually code the program
against the verified requirements as well as test the code against the requirements as we
go along.
Inception
At this stage, we will plan out what are the functional and non-functional requirements of our project
as well as what are the other possible add-on functions that we can include in order to make our
application different from others.
Elaboration
During this stage, we will create relevant classes for the core functions, menu to trigger the
classes to carry out function and verify created classes and functions with requirements.
Technical Manual [SS17/2E]
Page 25
Construction
This stage will be the construction and development of the product as well as
testing and debugging.
4.2 Development Tools
Summary of the tools that was used in developing this project:
Programming Language
Java was first developed by James Gosling at Sun Microsystems, which is now part of Oracle
Corporation. It was released in 1995 as part of Sun Microsystems’ Java platform. The language has
developed much of its syntax from C and C++. Java applications are usually compiled to bytecode
(class file) that can run on any Java Virtual Machine (JVM). It is object oriented like C++ however
unchanged C++ code will not work in Java in most cases even though they may look similar.
Development Platform
● Android Studio is used to develop the application. It is the official integrated development
environment (IDE) for android app development, based on IntelliJ IDEA. Features that android
studio provides are;
o A flexible Gradle-based build system
o A fast and feature-rich emulator
o A unified environment where you can develop for all Android devices
o Instant Run to push changes to your running app without building a new APK
o Code templates and GitHub integration to help you build common app features and
import sample code
o Extensive testing tools and frameworks
o Lint tools to catch performance, usability, version compatibility, and other problems
o C++ and NDK support
o Built-in support for Google Cloud Platform, making it easy to integrate Google Cloud
Messaging and App Engine
Group Communication
As communication is utmost importance for a group of people who are working on a project, our
team is using WhatsApp as a form of communication platform for efficiency. Communication with
supervisor is also through WhatsApp, if any of us have any query, this channel will allow a faster
response.
Team members will always keep in contact and keep track of the work done to follow the planned
schedule. Everyone on the team is responsible for this project, thus if a problem arises, getting help
Technical Manual [SS17/2E]
Page 26
from the rest of the team is the first thing to do. Communication through online is done with either
Skype or Discord if the team schedule is too packed to meet up.
Documentation Management
Google drive is a file storage and synchronization service developed by Google. It allows us to store
files in the cloud and do a versioning of the file. This will ensure that when we are editing a file, it
will be latest as we would save it back into the cloud after we are done. With that being said,
collision between uploads may happen thus falls back to our communication structure when we do
edit a file.
4.3 Limitations and Constraints
● Only English language is allowed.
● Special characters are allowed but will not be processed in the application therefore
will not appeared in the final result of the encryption or the decryption process.
5.0 Testing
5.1 Test Plan Identifier
This is the test plan for our program. This test plan will ensure that the program is
functioning as what we have planned and to make sure that it is being developed
accurately. This test plan contains the test approach, how different types of testing will
take place.
5.2 Process Overview
Here are some of the ways that we have followed for the testing process
1. Identify the requirements to be tested and all test cases shall be derived using the
current program specification.
2. Identify which test(s) will be used to test each module.
3. Review the test data and test cases to ensure that the unit has been thoroughly verified
and the test data and test cases are adequate to verify proper operation of the unit.
4. Identify the expected results for each test.
5. Document the test case configurations, test data, and expected results.
6. Perform the test(s).
Technical Manual [SS17/2E]
Page 27
5.3 Test Strategy
The testing will be done manually and will cover the requirements for all of the different
roles required such as lecturers and administrators.
The following outlines the types of testing that will be done for unit, integration and
system testing. The specific test cases that determines how the testing is done will be
detailed in another document. The template that will be used for the test case is as shown
below
Test Case
Number
Objective
Pre-requisites,
if any
Steps Action Input Field Expected
Result
Actual Result Test Result
(Pass/Fail)
Figure 5.1 – Test case template
Integration Testing
Integration testing will test the entire product/ application and ensure that a set of
components play nicely together. It is used to expose architecture flaws in the system.
System Testing
System testing is to detect faults that can only be exposed by testing the entire integrated
system. It is mainly concerned with areas such as performance, security, validation, and
load and configuration sensitivity. It ensures that the system can meet compliance in the
real world scenarios within its scope.
Functional Testing
Functional testing verifies end-to-end scenarios that users will engage in.
For example,
Scenario One: Correct plain-text should be returned if an encrypted text is decrypted with
correct key.
Technical Manual [SS17/2E]
Page 28
Scenario Two: Application should not crash if non-English characters are included in the
text input.
User Interface Testing
User interface testing verifies the user's interaction with the software. It ensures that the
user interface provides the users with appropriate access and navigation through the
functions of the target test. It also ensures that the objects within the user interface function
as expected.
5.4 Features to be tested
The following is a list of the areas that are focused on during testing of Krypto Android
Application.
Features Details Priority Description
Home Page
Navigation
Enter text 2 Users should be able to enter their desired
text in the text field.
Drop down menu 2 Users should be able to access the drop-
down menu to access the analysis, encrypt,
decrypt functions.
Slide bar menu 2 Users should be able to access the slide bar
menu at the top left corner to switch
between default homepage and game.
Info 1 Users should be able to access the brief
explanation of the application if desired.
Help 1 Users should be able to access swipeable
user guide if desired.
Encryption/Substitutio
n Cipher
Encryption 2 Users should be able to encrypt properly
with a key and result should be correct.
Animated Help 1 Users should be able to see the encryption
process in animation if desired.
Info 1 Users should be able to access the brief
explanation of the function if desired.
Share 1 Users should be able to share the result via
clipboard, gmail, hangouts, messages or
google drive.
Encryption/Vigenere
Cipher
Encryption 2 Users should be able to encrypt properly
with a key and result should be correct.
Animated Help 1 Users should be able to see the encryption
process in animation if desired.
Info 1 Users should be able to access the brief
explanation of the function if desired.
Technical Manual [SS17/2E]
Page 29
Share 1 Users should be able to share the result via
clipboard, gmail, hangouts, messages or
google drive.
Encryption/Transposit
ion Cipher
Encryption 2 Users should be able to encrypt properly
with a key and result should be correct.
Animated Help 1 Users should be able to see the encryption
process in animation if desired.
Info 1 Users should be able to access the brief
explanation of the function if desired.
Share 1 Users should be able to share the result via
clipboard, gmail, hangouts, messages or
google drive.
Decryption/Substitutio
n Cipher
Decryption 2 Users should be able to decrypt properly
with a key and result should be correct.
Animated Help 1 Users should be able to see the decryption
process in animation if desired.
Info 1 Users should be able to access the brief
explanation of the function if desired.
Share 1 Users should be able to share the result via
clipboard, gmail, hangouts, messages or
google drive.
Decryption/Vigenere
Cipher
Decryption 2 Users should be able to decrypt properly
with a key and result should be correct.
Animated Help 1 Users should be able to see the decryption
process in animation if desired.
Info 1 Users should be able to access the brief
explanation of the function if desired.
Share 1 Users should be able to share the result via
clipboard, gmail, hangouts, messages or
google drive.
Decryption/Transposit
ion Cipher
Decryption 2 Users should be able to decrypt properly
with a key and result should be correct.
Animated Help 1 Users should be able to see the decryption
process in animation if desired.
Info 1 Users should be able to access the brief
explanation of the function if desired.
Share 1 Users should be able to share the result via
clipboard, gmail, hangouts, messages or
google drive.
Choose nGram 2 Users should be able to choose their desired
number (from 1 to 4) of nGram to count.
Calculate nGram 2 Correct output must be displayed when
calculated.
Technical Manual [SS17/2E]
Page 30
Analysis/Calculate N-
Gram
Info 1 Users should be able to access the brief
explanation of the function if desired.
help 1 Users should be able to access swipeable
user guide if desired.
Analysis/Calculate ioc
Calculate ioc 2 Correct output must be displayed when
calculated
Info 1 Users should be able to access the brief
explanation of the function if desired.
help 1 Users should be able to access swipeable
user guide if desired.
Analysis/Calculate
Period
Choose Period 2 Users should be able to choose their desired
number of period to count.
Calculate Period 2 Correct output must be displayed when
calculated.
Info 1 Users should be able to access the brief
explanation of the function if desired.
help 1 Users should be able to access swipeable
user guide if desired.
Game Navigation
New Game 2 Users should be able to start new game
anytime if desired.
Continue 2 Users should be able to continue their
previous game from the point where they
left.
Exit 1 Users should be able to exit the game and
go back to home anytime.
Accessing to
tools/returning to
game
2 Users should be able to access to tools of
the application from the game and go back
to the game when finished.
Proceeding 2 Users should be able to proceed to next
page if the puzzle is correctly solved.
User's Input Field
Validation
All Fields 1 User’s input must be validated to prevent
any error in processing of the input.
* Priority 1 is the highest followed by decreasing priority respectively.
Figure 5.2 – Items to be tested
Technical Manual [SS17/2E]
Page 31
5.5 Item Pass/Fail Criteria
1. If an item is tested 3 times, 3 out of the 3 test result if it works perfectly, it is
considered a pass and if any one single time that the testing result is not achieved, it
should be considered a fail.
2. If the application crash at any point of time, it is considered a fail
3. If any expected page or activity does not appear it will also be considered as fail
4. According to the given scenario, the expected result needs to take place in order to be
considered as pass otherwise it will be considered as fail
5.6 Test Deliverable
The following documents will be generated as a result of the testing:
• Test summary
• Test reports
• Test cases
5.7 Environmental Needs
The following elements are required to support the overall testing effort:
• Access to the running application in an Android Operating System or device
5.8 Testing Resources and Staffing
Name Role Responsibilities
Aye Chan Tester Test execution, defect
reporting and test case
documentation
Terrence Sng Tester Test execution and defect
reporting
Chai Zheng Xuan Lead Tester Test planning, test execution,
generating test scenarios and
test case documentation
Isaac Chia Test Designer/Tester Generating test scenarios, test
execution and defect reporting
Technical Manual [SS17/2E]
Page 32
5.9 Test Summary
This section summarizes the test case that was tested.
(For detailed Test Case report, refer to 9.0 Appendix)
Test Category Description Number
of Tests
Number
of Pass
Number
of Failure
Conclusion
Navigating
Home Page
● Text Input
● Accessing Slide bar
menu
● Accessing Drop down
menu
● Information function
● Help function
3
3
3
3
3
3
3
3
3
3
0
0
0
0
0
PASS
Encryption:
Substitution
Cipher
● Encryptions
● Animated Demo
● Information
● Share
3
3
3
3
3
3
3
3
0
0
0
0
PASS
Encryption:
Vigenere
Cipher
● Encryptions
● Animated Demo
● Information function
● Share function
3
3
3
3
3
3
3
3
0
0
0
0
PASS
Encryption:
Transposition
Cipher
● Encryptions
● Animated Demo
● Information function
● Share function
3
3
3
3
3
3
3
3
0
0
0
0
PASS
Decryption:
Substitution
Cipher
● Decryption
● Animated Demo
● Information function
● Share function
3
3
3
3
3
3
3
3
0
0
0
0
PASS
Decryption:
Vigenere
Cipher
● Decryption
● Animated Demo
● Information function
● Share function
3
3
3
3
3
3
3
3
0
0
0
0
PASS
Decryption:
Transposition
Cipher
● Decryption
● Animated Demo
● Information function
● Share function
3
3
3
3
3
3
3
3
0
0
0
0
PASS
Analysis:
N-Gram
● Reading user input
● Choosing N-gram and
3
3
3
3
0
0
PASS
Technical Manual [SS17/2E]
Page 33
Frequency calculate
● Information function
● Help function
3
3
3
3
0
0
Analysis:
Index of
Coincidence
● Reading user input
● Calculate IoC
● Information function
● Help function
3
3
3
3
3
3
3
3
0
0
0
0
PASS
Analysis:
Period
● Reading user input
● Entering period and
calculate
● Information function
● Help function
3
3
3
3
3
3
3
3
0
0
0
0
PASS
Game
Navigation
● New game
● Continue
● Exit
● Accessing to
tools/returning to game
● Proceeding
3
3
3
3
3
3
3
3
3
3
0
0
0
0
0
PASS
User Input
Validation (All
Fields)
All 3 3 0 PASS
Technical Manual [SS17/2E]
Page 34
6.0 Conclusion
6.1 System Highlights
6.1.1 Analysis Tools
There are three different analysis tools whereby the users are able to use to analysis the ciphertext to
identify the type of cipher used and also to decrypt the ciphertext. The analysis tools included are
calculation of n-gram frequency, calculation of index of coincidence and the calculation of period
using index of coincidence.
Technical Manual [SS17/2E]
Page 35
6.1.2 Animated Step By Step Demonstration
For each of the ciphers included in the application, there will be a step by step animated
demonstration of the encryption or decryption process. In this function, the users are able to go
through the encryption or decryption process one step at a time at their own pace. These
demonstrations make use of the input from the user so that they are able to learn about the cipher
using their own example. They are able to repeat the demonstration for as many times as they need to
understand the cipher process.
Technical Manual [SS17/2E]
Page 36
6.1.3 Sharing function
Users can share their the ciphertext that they’ve created to the recipient(s) after deciding on a key to
encrypt on, allowing them to have a secure way of communication even if an onlooker sees the
ciphertext. They are able to share the ciphertext or the plaintext through any texting application like
the default messaging application or any third-party application that support this feature.
6.1.4 Game
Users are able to put what they have learnt about cryptography, analysis tools and the ciphers included
in the application to test how well they have understand the topic. The game consists of different
levels with ciphertext that was encrypted with different ciphers. They are to solve the ciphertext to
clear each level and eventually completing the game.
Technical Manual [SS17/2E]
Page 37
6.2 Future Enhancements
These are the enhancements that the project can be further improved on
• Doing email and files ciphers translation which can be stored on the user’s online
database
• Increase the length of the input text
• More game contents or levels
• More complex ciphers can be included
6.3 System Limitations
Speed of encryption and decryption depends on the phone’s operating system.
6.4 Technical Skills Acquired
➢ Java
➢ Android Programming
6.4.1 Java
Java is a programming language that has been in existence since 1996 and has a lot of
users and developers that uses Java products. There should be ample support for Java if a
problem is encountered during development. Java is object-oriented programming and
will be useful for project development as it is possible to divide different portions of the
script to team members. Java is cross-platform and is able to support different operating
systems. Therefore, it eliminates the need for our team to use the same operating
systems. However, it is important to take note of the version of Java being used for this
project. The current latest version of Java is Java 8 and will be used for developing this
project.
Technical Manual [SS17/2E]
Page 38
7.0 Annexes
7.1 Minutes of Meeting
It is available in the submission with the supervisor
7.2 Project Diary
It is available in the submission with the supervisor
7.2 Video Link
https://www.youtube.com/watch?v=I1Z_U4rQK8E&feature=youtu.be
7.3 Website Link
https://krypto2017.wordpress.com/
It contains the following:
-Home
- Posts on the project progress
-About
- Scope of our project
-Our Product
- Embedded Video of the Application
-Documentations
- Technical Manual
- User’s Manual
-Contact Us
Technical Manual [SS17/2E]
Page 39
8.0 References
● https://simple.wikipedia.org/wiki/Java_(programming_language)
● https://developer.android.com/studio/intro/index.html
● http://www.techotopia.com/index.php/An_Overview_of_Android_SQLite_Databases_in_Android
_Studio
● https://www.tutorialspoint.com/ms_sql_server/
● http://searchoracle.techtarget.com/definition/MySQL
8.1 Substitution Reference
● Background:
http://www.hdwallpapers.in/wooden_stage-wallpapers.html
● Paper Bin:
https://www.dreamstime.com/royalty-free-stock-photos-wastepaper-basket-full-crumpled-paper-
image4585798
● Paper Ball:
http://www.thinkstockphotos.in/royalty-free/crumpled-paper-ball-pictures
● Doors:
http://resizing.info/openphoto.php?img=http%3A%2F%2Fwww.reducedprinting.com%2Fblog%2
Fwp-content%2Fuploads%2F2013%2F09%2Fopen-door-policy.jpg
● Clock:
https://www.kjbsecurity.com/products/detail/xtreme-life-rectangle-clock/750/
● Drawer:
https://www.shutterstock.com/image-illustration/drawer-top-view-92989198
● Safe:
https://www.shutterstock.com/image-vector/open-closed-blue-safe-combination-lock-
50218876?src=UyoKwblTFAKyE6-hG_BgZA-1-73
● Table Drawer:
http://all-free-download.com/free-vector/download/dresser-vector_6816499.html
● Tablet:
https://pisces.bbystatic.com/BestBuy_US/store/ee/2016/com/misc/sol5325-
galaxy.jpg;maxHeight=333;maxWidth=333
● Crumpled Paper:
https://depositphotos.com/11615377/stock-photo-crumpled-paper-background.html
● Picture frame:
https://i.pinimg.com/736x/62/69/bf/6269bf5f056b4cc354fae9676bd583da--industrial-bedroom-
wallpaper-patterns.jpg
● Picture frame Back:
https://www.libertypuzzles.com/userfiles/media/images/6268/map-of-america-frame-back-500.jpg
● Final level Background:
http://gmaillogina.com/gallery/wood-floor-wall.html
● Vault door:
http://www.wecracksafes.com/images/web_vault_door.jpg
● Opened Vault door:
https://thumbs.dreamstime.com/z/vault-door-banking-metallic-done-d-32891200.jpg
Technical Manual [SS17/2E]
Page 40
● Open door sound:
https://www.freesoundeffects.com/free-sounds/doors-10030/
● Beep sound:
https://www.soundjay.com/beep-sounds-1.html
● Click sound:
http://soundbible.com/tags-click.html
● Drawer open sound:
http://soundbible.com/tags-drawer.html
● Vault open sound:
https://freesound.org/people/TurtleLG/sounds/80449/
8.2 Vigenere Reference
● Background: http://st.gde-
fon.com/wallpapers_original/336667_tekstura_fon_stena_pol_oboi_plintus_1920x1200_www.Gd
e-Fon.com.jpg
● Close icon: http://www.sccialphatrack.co.uk/images/Xclose.png
● Parchment Paper: http://www.babaimage.com/image/clipart-parchment-background-or-border
● Door: https://www.dreamstime.com/royalty-free-stock-photography-door-image27213397
8.3 Transposition References
● Crushed paper:
https://static1.squarespace.com/static/53183ad1e4b0fa5080a93ca5/53184219e4b08e6e45e6747a/5
8ee8e882e69cf7898e8ddac/1492029152859/Screen+Shot+2017-04-
12+at+1.30.38+PM.png?format=1000w
● 7PM white background clock:
http://l7.alamy.com/zooms/fec4c02da562442d9f175fe38caf8202/just-the-hands-and-numbers-
from-a-clock-reading-0700-d3w0md.jpg
● 19:00 clock:
https://previews.123rf.com/images/viktorkolodko/viktorkolodko1511/viktorkolodko151100252/48
512016-19-00-electronic-time-clock-with-red-illumination-on-black-background-Stock-Photo.jpg
● Stage background: http://www.rfdesigns.org/graphics/eyrep6.jpg
8.4 Others
● Stage Wrong: https://i2.wp.com/estrategiasganadoras.com/wp-content/uploads/2017/06/x-
30465_960_720.png
● Stage Clear: http://warsteed-studios.com/demos/bpwt/img/lblStageClear.png
8.5 Icons
● Android Assets Studio : https://romannurik.github.io/AndroidAssetStudio/
Technical Manual [SS17/2E]
Page 41
9.0 Appendix
Test Case
Number
0101
Objective Navigating Home Page
Pre-requisites,
if any
NIL
Steps Action Input Field Expected Result Actual Result Test Result
(Pass/Fail)
1. Entering text
from main
homepage
Plaintext:
wollongong
Entered text
should be
displayed
Entered text
display:
wollongong
PASS
2. Accessing
Slide bar
menu
NIL Slide bar menu
should appear
Slide bar menu
appeared
PASS
3. Accessing
Drop down
menu
NIL Drop down
menu should
appear
Drop down menu
appear
PASS
4. Tapping on
‘i’ button
NIL Information
about
application
should be
display
Information about
Substitution
displayed
PASS
5. Tapping on
‘?’ button
NIL Swipeable user
guide should
appear
Swipeable user
guide appear
PASS
Technical Manual [SS17/2E]
Page 42
Test Case
Number
0102
Objective Navigating Home Page
Pre-requisites,
if any
NIL
Steps Action Input Field Expected Result Actual Result Test Result
(Pass/Fail)
1. Entering text
from main
homepage
Plaintext: key
Entered text
should be
displayed
Entered text
display: key
PASS
2. Accessing
Slide bar
menu
NIL Slide bar menu
should appear
Slide bar menu
appeared
PASS
3. Accessing
Drop down
menu
NIL Drop down
menu should
appear
Drop down menu
appear
PASS
4. Tapping on
‘i’ button
NIL Information
about
application
should be
display
Information about
Substitution
displayed
PASS
5. Tapping on
‘?’ button
NIL Swipeable user
guide should
appear
Swipeable user
guide appear
PASS
Technical Manual [SS17/2E]
Page 43
Test Case
Number
0103
Objective Navigating Home Page
Pre-requisites,
if any
NIL
Steps Action Input Field Expected Result Actual Result Test Result
(Pass/Fail)
1. Entering text
from main
homepage
Plaintext:
AVDESE
Entered text
should be
displayed
Entered text
display: AVDESE
PASS
2. Accessing
Slide bar
menu
NIL Slide bar menu
should appear
Slide bar menu
appeared
PASS
3. Accessing
Drop down
menu
NIL Drop down
menu should
appear
Drop down menu
appear
PASS
4. Tapping on
‘i’ button
NIL Information
about
application
should be
display
Information about
Substitution
displayed
PASS
5. Tapping on
‘?’ button
NIL Swipeable user
guide should
appear
Swipeable user
guide appear
PASS
Technical Manual [SS17/2E]
Page 44
Test Case
Number
0201
Objective Encryption using Substitution Cipher
Pre-requisites,
if any
NIL
Steps Action Input Field Expected Result Actual Result Test Result
(Pass/Fail)
1. Entering
plaintext and
keyword
from main
homepage
Plaintext:
wollongong
Keyword:
awesome
Ciphertext:
VKHHKJBKJB
Ciphertext:
VKHHKJBKJB
PASS
2. Tapping on
‘How its
done’ button
NIL Running
Animated Demo
with the correct
plaintext,
keyword and
ciphertext.
Animated Demo
with the correct
plaintext,
keyword and
ciphertext.
Able to go
through the
process
PASS
3. Tapping on
‘i’ button
NIL Information
about
Substitution will
be display
Information about
Substitution
displayed
PASS
4. Tapping on
‘Share’
button
NIL Users able to
share ciphertext,
VKHHKJBKJB
using messaging
application.
Able to send
ciphertext,
VKHHKJBKJB
using messaging
application
PASS
Technical Manual [SS17/2E]
Page 45
Test Case
Number
0202
Objective Encryption using Substitution Cipher
Pre-requisites,
if any
NIL
Steps Action Input Field Expected Result Actual Result Test Result
(Pass/Fail)
1. Entering
plaintext and
keyword
from main
homepage
Plaintext: this
is a test of this
application
Keyword:
wollongong
Ciphertext:
SCDRDRWSG
RSKASCDRW
MMHDLWSD
KJ
Ciphertext:
SCDRDRWSGR
SKASCDRWMM
HDLWSDKJ
PASS
2. Tapping on
‘How its
done’ button
NIL Running
Animated Demo
with the correct
plaintext,
keyword and
ciphertext.
Animated Demo
with the correct
plaintext,
keyword and
ciphertext.
Able to go
through the
process
PASS
3. Tapping on
‘i’ button
NIL Information
about
Substitution will
be display
Information about
Substitution
displayed
PASS
4. Tapping on
‘Share’
button
NIL Users able to
share ciphertext,
SCDRDRWSG
RSKASCDRW
MMHDLWSD
KJ using
messaging
application.
Able to send
ciphertext,
SCDRDRWSGR
SKASCDRWMM
HDLWSDKJ
using messaging
application
PASS
Technical Manual [SS17/2E]
Page 46
Test Case
Number
0203
Objective Encryption using Substitution Cipher
Pre-requisites,
if any
NIL
Steps Action Input Field Expected Result Actual Result Test Result
(Pass/Fail)
1. Entering
plaintext and
keyword
from main
homepage
Plaintext:
Final year
project krypto
Keyword:
testing
Ciphertext:
GCKTHYNTP
MPLDNSRFPY
MRL
Ciphertext:
GCKTHYNTPM
PLDNSRFPYMR
L
PASS
2. Tapping on
‘How its
done’ button
NIL Running
Animated Demo
with the correct
plaintext,
keyword and
ciphertext.
Animated Demo
with the correct
plaintext,
keyword and
ciphertext.
Able to go
through the
process
PASS
3. Tapping on
‘i’ button
NIL Information
about
Substitution will
be display
Information about
Substitution
displayed
PASS
4. Tapping on
‘Share’
button
NIL Users able to
share ciphertext,
GCKTHYNTP
MPLDNSRFPY
MRL using
messaging
application.
Able to send
ciphertext,
GCKTHYNTPM
PLDNSRFPYMR
L using
messaging
application
PASS
Technical Manual [SS17/2E]
Page 47
Test Case
Number
0301
Objective Encryption using Vigenere Cipher
Pre-requisites,
if any
NIL
Steps Action Input Field Expected Result Actual Result Test Result
(Pass/Fail)
1. Entering
plaintext and
keyword
from main
homepage
Plaintext:
wollongong
Keyword:
cafe
Ciphertext:
yoqpqnlspg
Ciphertext:
yoqpqnlspg
PASS
2. Tapping on
‘How its
done’ button
NIL Running
Animated Demo
with the correct
plaintext,
keyword and
ciphertext.
Animated Demo
with the correct
plaintext,
keyword and
ciphertext.
Able to go
through the
process
PASS
3. Tapping on
‘i’ button
NIL Information
about Vigenere
will be display
Information about
Vigenere
displayed
PASS
4. Tapping on
‘Share’
button
NIL Users able to
share ciphertext,
yoqpqnlspg
using messaging
application.
Able to send
ciphertext,
yoqpqnlspg using
messaging
application
PASS
Technical Manual [SS17/2E]
Page 48
Test Case
Number
0302
Objective Encryption using Vigenere Cipher
Pre-requisites,
if any
NIL
Steps Action Input Field Expected Result Actual Result Test Result
(Pass/Fail)
1. Entering
plaintext and
keyword
from main
homepage
Plaintext: this
is the final
product
Keyword:
krypto
Ciphertext:
dyghbgdycubbk
cnghretr
Ciphertext:
dyghbgdycubbkcn
ghretr
PASS
2. Tapping on
‘How its
done’ button
NIL Running
Animated Demo
with the correct
plaintext,
keyword and
ciphertext.
Animated Demo
with the correct
plaintext,
keyword and
ciphertext.
Able to go
through the
process
PASS
3. Tapping on
‘i’ button
NIL Information
about Vigenere
will be display
Information about
Vigenere
displayed
PASS
4. Tapping on
‘Share’
button
NIL Users able to
share ciphertext,
dyghbgdycubbk
cnghretr using
messaging
application.
Able to send
ciphertext,
dyghbgdycubbkcn
ghretr using
messaging
application
PASS
Technical Manual [SS17/2E]
Page 49
Test Case
Number
0303
Objective Encryption using Vigenere Cipher
Pre-requisites,
if any
NIL
Steps Action Input Field Expected Result Actual Result Test Result
(Pass/Fail)
1. Entering
plaintext and
keyword
from main
homepage
Plaintext:
testing of this
application
Keyword:
vigenere
Ciphertext:
omyxvrxsabnmf
egtgqiegmfr
Ciphertext:
omyxvrxsabnmfe
gtgqiegmfr
PASS
2. Tapping on
‘How its
done’ button
NIL Running
Animated Demo
with the correct
plaintext,
keyword and
ciphertext.
Animated Demo
with the correct
plaintext,
keyword and
ciphertext.
Able to go
through the
process
PASS
3. Tapping on
‘i’ button
NIL Information
about Vigenere
will be display
Information about
Vigenere
displayed
PASS
4. Tapping on
‘Share’
button
NIL Users able to
share ciphertext,
omyxvrxsabnmf
egtgqiegmfr
using messaging
application.
Able to send
ciphertext,
omyxvrxsabnmfe
gtgqiegmfr using
messaging
application
PASS
Technical Manual [SS17/2E]
Page 50
Test Case
Number
0401
Objective Encryption using Transposition Cipher
Pre-requisites,
if any
NIL
Steps Action Input Field Expected Result Actual Result Test Result
(Pass/Fail)
1. Entering
plaintext and
block size
from main
homepage
Plaintext:
testing of this
application
Block Size:
7
Ciphertext:
topiefpostlnthixi
icxnsaxgatx
Ciphertext:
topiefpostlnthixiic
xnsaxgatx
PASS
2. Tapping on
‘How its
done’ button
NIL Running
Animated Demo
with the correct
plaintext, block
size and
ciphertext.
Animated Demo
with the correct
plaintext, block
size and
ciphertext.
Able to go
through the
process
PASS
3. Tapping on
‘i’ button
NIL Information
about
Transposition
will be display
Information about
Transposition
displayed
PASS
4. Tapping on
‘Share’
button
NIL Users able to
share ciphertext,
topiefpostlnthixi
icxnsaxgatx
using messaging
application.
Able to send
ciphertext,
topiefpostlnthixiic
xnsaxgatx using
messaging
application
PASS
Technical Manual [SS17/2E]
Page 51
Test Case
Number
0402
Objective Encryption using Transposition Cipher
Pre-requisites,
if any
NIL
Steps Action Input Field Expected Result Actual Result Test Result
(Pass/Fail)
1. Entering
plaintext and
block size
from main
homepage
Plaintext: this
is the final
version of the
application
Block Size:
10
Ciphertext:
tinihnociafasltti
vhiseeotranhspx
eipxfolx
Ciphertext:
tinihnociafaslttivh
iseeotranhspxeipx
folx
PASS
2. Tapping on
‘How its
done’ button
NIL Running
Animated Demo
with the correct
plaintext, block
size and
ciphertext.
Animated Demo
with the correct
plaintext, block
size and
ciphertext.
Able to go
through the
process
PASS
3. Tapping on
‘i’ button
NIL Information
about
Transposition
will be display
Information about
Transposition
displayed
PASS
4. Tapping on
‘Share’
button
NIL Users able to
share ciphertext,
tinihnociafasltti
vhiseeotranhspx
eipxfolx using
messaging
application.
Able to send
ciphertext,
tinihnociafaslttivh
iseeotranhspxeipx
folx using
messaging
application
PASS
Technical Manual [SS17/2E]
Page 52
Test Case
Number
0403
Objective Encryption using Transposition Cipher
Pre-requisites,
if any
NIL
Steps Action Input Field Expected Result Actual Result Test Result
(Pass/Fail)
1. Entering
plaintext and
block size
from main
homepage
Plaintext:
transposition
cipher is
awesome
Block Size:
5
Ciphertext:
tpipsoroohamas
newenicrexstiisx
Ciphertext:
tpipsoroohamasne
wenicrexstiisx
PASS
2. Tapping on
‘How its
done’ button
NIL Running
Animated Demo
with the correct
plaintext, block
size and
ciphertext.
Animated Demo
with the correct
plaintext, block
size and
ciphertext.
Able to go
through the
process
PASS
3. Tapping on
‘i’ button
NIL Information
about
Transposition
will be display
Information about
Transposition
displayed
PASS
4. Tapping on
‘Share’
button
NIL Users able to
share ciphertext,
tpipsoroohamas
newenicrexstiisx
using messaging
application.
Able to send
ciphertext,
tpipsoroohamasne
wenicrexstiisx
using messaging
application
PASS
Technical Manual [SS17/2E]
Page 53
Test Case
Number
0501
Objective Decryption using Substitution Cipher
Pre-requisites,
if any
NIL
Steps Action Input Field Expected Result Actual Result Test Result
(Pass/Fail)
1. Entering
ciphertext
and keyword
from main
homepage
Ciphertext:
VKHHKJBKJ
B
Keyword:
awesome
Plaintext:
wollongong
Plaintext:
wollongong
PASS
2. Tapping on
‘How its
done’ button
NIL Running
Animated Demo
with the correct
plaintext,
keyword and
ciphertext.
Animated Demo
with the correct
plaintext,
keyword and
ciphertext.
Able to go
through the
process
PASS
3. Tapping on
‘i’ button
NIL Information
about
Substitution will
be display
Information about
Substitution
displayed
PASS
4. Tapping on
‘Share’
button
NIL Users able to
share plaintext,
wollongong
using messaging
application.
Able to send
plaintext,
wollongong using
messaging
application
PASS
Technical Manual [SS17/2E]
Page 54
Test Case
Number
0502
Objective Decryption using Substitution Cipher
Pre-requisites,
if any
NIL
Steps Action Input Field Expected Result Actual Result Test Result
(Pass/Fail)
1. Entering
ciphertext
and keyword
from main
homepage
Ciphertext:
SCDRDRWS
GRSKASCDR
WMMHDLW
SDKJ
Keyword:
wollongong
Plaintext:
thisisatestofthisa
pplication
Plaintext:
thisisatestofthisap
plication
PASS
2. Tapping on
‘How its
done’ button
NIL Running
Animated Demo
with the correct
plaintext,
keyword and
ciphertext.
Animated Demo
with the correct
plaintext,
keyword and
ciphertext.
Able to go
through the
process
PASS
3. Tapping on
‘i’ button
NIL Information
about
Substitution will
be display
Information about
Substitution
displayed
PASS
4. Tapping on
‘Share’
button
NIL Users able to
share plaintext,
thisisatestofthisa
pplication using
messaging
application.
Able to send
plaintext,
thisisatestofthisap
plication using
messaging
application
PASS
Technical Manual [SS17/2E]
Page 55
Test Case
Number
0503
Objective Decryption using Substitution Cipher
Pre-requisites,
if any
NIL
Steps Action Input Field Expected Result Actual Result Test Result
(Pass/Fail)
1. Entering
ciphertext
and keyword
from main
homepage
Ciphertext:
GCKTHYNTP
MPLDNSRFP
YMRL
Keyword:
testing
Plaintext:
finalyearproject
krypto
Plaintext:
finalyearprojectkr
ypto
PASS
2. Tapping on
‘How its
done’ button
NIL Running
Animated Demo
with the correct
plaintext,
keyword and
ciphertext.
Animated Demo
with the correct
plaintext,
keyword and
ciphertext.
Able to go
through the
process
PASS
3. Tapping on
‘i’ button
NIL Information
about
Substitution will
be display
Information about
Substitution
displayed
PASS
4. Tapping on
‘Share’
button
NIL Users able to
share plaintext,
finalyearproject
krypto using
messaging
application.
Able to send
plaintext,
finalyearprojectkr
ypto using
messaging
application
PASS
Technical Manual [SS17/2E]
Page 56
Test Case
Number
0601
Objective Decryption using Vigenere Cipher
Pre-requisites,
if any
NIL
Steps Action Input Field Expected Result Actual Result Test Result
(Pass/Fail)
1. Entering
ciphertext
and keyword
from main
homepage
Ciphertext:
yoqpqnlspg
Keyword:
cafe
Plaintext:
wollongong
Plaintext:
wollongong
PASS
2. Tapping on
‘How its
done’ button
NIL Running
Animated Demo
with the correct
plaintext,
keyword and
ciphertext.
Animated Demo
with the correct
plaintext,
keyword and
ciphertext.
Able to go
through the
process
PASS
3. Tapping on
‘i’ button
NIL Information
about Vigenere
will be display
Information about
Vigenere
displayed
PASS
4. Tapping on
‘Share’
button
NIL Users able to
share plaintext,
wollongong
using messaging
application.
Able to send
plaintext,
wollongong using
messaging
application
PASS
Technical Manual [SS17/2E]
Page 57
Test Case
Number
0602
Objective Decryption using Vigenere Cipher
Pre-requisites,
if any
NIL
Steps Action Input Field Expected Result Actual Result Test Result
(Pass/Fail)
1. Entering
ciphertext
and keyword
from main
homepage
Ciphertext:
dyghbgdycubb
kcnghretr
Keyword:
krypto
Plaintext:
thisisthefinalpro
duct
Plaintext:
thisisthefinalprod
uct
PASS
2. Tapping on
‘How its
done’ button
NIL Running
Animated Demo
with the correct
plaintext,
keyword and
ciphertext.
Animated Demo
with the correct
plaintext,
keyword and
ciphertext.
Able to go
through the
process
PASS
3. Tapping on
‘i’ button
NIL Information
about Vigenere
will be display
Information about
Vigenere
displayed
PASS
4. Tapping on
‘Share’
button
NIL Users able to
share plaintext,
thisisthefinalpro
duct using
messaging
application.
Able to send
plaintext,
thisisthefinalprod
uct using
messaging
application
PASS
Technical Manual [SS17/2E]
Page 58
Test Case
Number
0603
Objective Decryption using Vigenere Cipher
Pre-requisites,
if any
NIL
Steps Action Input Field Expected Result Actual Result Test Result
(Pass/Fail)
1. Entering
ciphertext
and keyword
from main
homepage
Ciphertext:
omyxvrxsabn
mfegtgqiegmfr
Keyword:
vigenere
Plaintext:
testingofthisappl
ication
Plaintext:
testingofthisapplic
ation
PASS
2. Tapping on
‘How its
done’ button
NIL Running
Animated Demo
with the correct
plaintext,
keyword and
ciphertext.
Animated Demo
with the correct
plaintext,
keyword and
ciphertext.
Able to go
through the
process
PASS
3. Tapping on
‘i’ button
NIL Information
about Vigenere
will be display
Information about
Vigenere
displayed
PASS
4. Tapping on
‘Share’
button
NIL Users able to
share plaintext,
testingofthisappl
ication using
messaging
application.
Able to send
plaintext,
testingofthisapplic
ation using
messaging
application
PASS
Technical Manual [SS17/2E]
Page 59
Test Case
Number
0701
Objective Decryption using Transposition Cipher
Pre-requisites,
if any
NIL
Steps Action Input Field Expected Result Actual Result Test Result
(Pass/Fail)
1. Entering
ciphertext
and block
size from
main
homepage
Ciphertext:
topiefpostlnthi
xiicxnsaxgatx
Block Size:
7
Plaintext:
testingofthisappl
ication
Plaintext:
testingofthisapplic
ation
PASS
2. Tapping on
‘How its
done’ button
NIL Running
Animated Demo
with the correct
plaintext,
keyword and
ciphertext.
Animated Demo
with the correct
plaintext,
keyword and
ciphertext.
Able to go
through the
process
PASS
3. Tapping on
‘i’ button
NIL Information
about
Transposition
will be display
Information about
Transposition
displayed
PASS
4. Tapping on
‘Share’
button
NIL Users able to
share plaintext,
topiefpostlnthixi
icxnsaxgatx
using messaging
application.
Able to send
plaintext,
topiefpostlnthixiic
xnsaxgatx using
messaging
application
PASS
Technical Manual [SS17/2E]
Page 60
Test Case
Number
0702
Objective Decryption using Transposition Cipher
Pre-requisites,
if any
NIL
Steps Action Input Field Expected Result Actual Result Test Result
(Pass/Fail)
1. Entering
ciphertext
and block
size from
main
homepage
Ciphertext:
tinihnociafasltt
ivhiseeotranhs
pxeipxfolx
Block Size:
10
Plaintext:
thisisthefinalver
sionoftheapplica
tion
Plaintext:
thisisthefinalversi
onoftheapplicatio
n
PASS
2. Tapping on
‘How its
done’ button
NIL Running
Animated Demo
with the correct
plaintext,
keyword and
ciphertext.
Animated Demo
with the correct
plaintext,
keyword and
ciphertext.
Able to go
through the
process
PASS
3. Tapping on
‘i’ button
NIL Information
about
Transposition
will be display
Information about
Transposition
displayed
PASS
4. Tapping on
‘Share’
button
NIL Users able to
share plaintext,
thisisthefinalver
sionoftheapplica
tion using
messaging
application.
Able to send
plaintext,
thisisthefinalversi
onoftheapplicatio
n using messaging
application
PASS
Technical Manual [SS17/2E]
Page 61
Test Case
Number
0703
Objective Decryption using Transposition Cipher
Pre-requisites,
if any
NIL
Steps Action Input Field Expected Result Actual Result Test Result
(Pass/Fail)
1. Entering
ciphertext
and block
size from
main
homepage
Ciphertext:
tpipsoroohama
snewenicrexsti
isx
Block Size:
5
Plaintext:
transpositioncip
herisawesome
Plaintext:
transpositionciphe
risawesome
PASS
2. Tapping on
‘How its
done’ button
NIL Running
Animated Demo
with the correct
plaintext,
keyword and
ciphertext.
Animated Demo
with the correct
plaintext,
keyword and
ciphertext.
Able to go
through the
process
PASS
3. Tapping on
‘i’ button
NIL Information
about
Transposition
will be display
Information about
Transposition
displayed
PASS
4. Tapping on
‘Share’
button
NIL Users able to
share plaintext,
transpositioncip
herisawesome
using messaging
application.
Able to send
plaintext,
transpositionciphe
risawesome using
messaging
application
PASS
Technical Manual [SS17/2E]
Page 62
Test Case
Number
0801
Objective Analysis: Calculate N-Gram Frequency
Pre-requisites,
if any
NIL
Steps Action Input Field Expected Result Actual Result Test Result
(Pass/Fail)
1. Entering
ciphertext
from main
homepage
and selecting
‘Calculate N-
Gram’
Ciphertext:
tpipsoroohama
snewenicrexsti
isx
Ciphertext:
tpipsoroohamas
newenicrexstiisx
Ciphertext:
tpipsoroohamasne
wenicrexstiisx
PASS
2. Choosing N-
Gram and tap
‘Count!’
Selecting ‘1’
from
dropdown list
A graph with the
accurate N-
Gram frequency
A graph with the
accurate N-Gram
frequency
displayed
PASS
3. Tapping on
‘i’ button
NIL Information
about N-Gram
will be display
Information about
N-Gram
displayed
PASS
4. Tapping on
‘?’ button
NIL Image Slider for
N-Gram help
should appear
Image Slider for
N-Gram help
appeared and
working
PASS
Technical Manual [SS17/2E]
Page 63
Test Case
Number
0802
Objective Analysis: Calculate N-Gram Frequency
Pre-requisites,
if any
NIL
Steps Action Input Field Expected Result Actual Result Test Result
(Pass/Fail)
1. Entering
ciphertext
from main
homepage
and selecting
‘Calculate N-
Gram’
Ciphertext:
tinihnociafasltt
ivhiseeotranhs
pxeipxfolx
Ciphertext:
tinihnociafasltti
vhiseeotranhspx
eipxfolx
Ciphertext:
tinihnociafaslttivh
iseeotranhspxeipx
folx
PASS
2. Choosing N-
Gram and tap
‘Count!’
Selecting ‘3’
from
dropdown list
A list with the
accurate N-
Gram frequency
A list with the
accurate N-Gram
frequency
displayed
PASS
3. Tapping on
‘i’ button
NIL Information
about N-Gram
will be display
Information about
N-Gram
displayed
PASS
4. Tapping on
‘?’ button
NIL Image Slider for
N-Gram help
should appear
Image Slider for
N-Gram help
appeared and
working
PASS
Technical Manual [SS17/2E]
Page 64
Test Case
Number
0803
Objective Analysis: Calculate N-Gram Frequency
Pre-requisites,
if any
NIL
Steps Action Input Field Expected Result Actual Result Test Result
(Pass/Fail)
1. Entering
ciphertext
from main
homepage
and selecting
‘Calculate N-
Gram’
Ciphertext:
omyxvrxsabn
mfegtgqiegmfr
Ciphertext:
omyxvrxsabnmf
egtgqiegmfr
Ciphertext:
omyxvrxsabnmfe
gtgqiegmfr
PASS
2. Choosing N-
Gram and tap
‘Count!’
Selecting ‘2’
from
dropdown list
A list with the
accurate N-
Gram frequency
A list with the
accurate N-Gram
frequency
displayed
PASS
3. Tapping on
‘i’ button
NIL Information
about N-Gram
will be display
Information about
N-Gram
displayed
PASS
4. Tapping on
‘?’ button
NIL Image Slider for
N-Gram help
should appear
Image Slider for
N-Gram help
appeared and
working
PASS
Technical Manual [SS17/2E]
Page 65
Test Case
Number
0901
Objective Analysis: Calculate Index of Coincidence (IOC)
Pre-requisites,
if any
NIL
Steps Action Input Field Expected Result Actual Result Test Result
(Pass/Fail)
1. Entering
ciphertext
from main
homepage
and selecting
‘Calculate
Index of
Coincidence’
Ciphertext:
omyxvrxsabn
mfegtgqiegmfr
Ciphertext:
omyxvrxsabnmf
egtgqiegmfr
Ciphertext:
omyxvrxsabnmfe
gtgqiegmfr
PASS
2. Tapping
‘Calculate’
button
NIL Display of
accurate IOC
results
Accurate IOC
results displayed
PASS
3. Tapping on
‘i’ button
NIL Information
about index of
coincidence will
be display
Information about
index of
coincidence
displayed
PASS
4. Tapping on
‘?’ button
NIL Image Slider for
index of
coincidence help
should appear
Image Slider for
index of
coincidence help
appeared and
working
PASS
Technical Manual [SS17/2E]
Page 66
Test Case
Number
0902
Objective Analysis: Calculate Index of Coincidence (IOC)
Pre-requisites,
if any
NIL
Steps Action Input Field Expected Result Actual Result Test Result
(Pass/Fail)
1. Entering
ciphertext
from main
homepage
and selecting
‘Calculate
Index of
Coincidence’
Ciphertext:
tinihnociafasltt
ivhiseeotranhs
pxeipxfolx
Ciphertext:
tinihnociafasltti
vhiseeotranhspx
eipxfolx
Ciphertext:
tinihnociafaslttivh
iseeotranhspxeipx
folx
PASS
2. Tapping
‘Calculate’
button
NIL Display of
accurate IOC
results
Accurate IOC
results displayed
PASS
3. Tapping on
‘i’ button
NIL Information
about index of
coincidence will
be display
Information about
index of
coincidence
displayed
PASS
4. Tapping on
‘?’ button
NIL Image Slider for
index of
coincidence help
should appear
Image Slider for
index of
coincidence help
appeared and
working
PASS
Technical Manual [SS17/2E]
Page 67
Test Case
Number
0903
Objective Analysis: Calculate Index of Coincidence (IOC)
Pre-requisites,
if any
NIL
Steps Action Input Field Expected Result Actual Result Test Result
(Pass/Fail)
1. Entering
ciphertext
from main
homepage
and selecting
‘Calculate
Index of
Coincidence’
Ciphertext:
GCKTHYNTP
MPLDNSRFP
YMRL
Ciphertext:
GCKTHYNTP
MPLDNSRFPY
MRL
Ciphertext:
GCKTHYNTPM
PLDNSRFPYMR
L
PASS
2. Tapping
‘Calculate’
button
NIL Display of
accurate IOC
results
Accurate IOC
results displayed
PASS
3. Tapping on
‘i’ button
NIL Information
about index of
coincidence will
be display
Information about
index of
coincidence
displayed
PASS
4. Tapping on
‘?’ button
NIL Image Slider for
index of
coincidence help
should appear
Image Slider for
index of
coincidence help
appeared and
working
PASS
Technical Manual [SS17/2E]
Page 68
Test Case
Number
1001
Objective Analysis: Calculate Period
Pre-requisites,
if any
NIL
Steps Action Input Field Expected Result Actual Result Test Result
(Pass/Fail)
1. Entering
ciphertext
from main
homepage
and selecting
‘Calculate
Period’
Ciphertext:
tpipsoroohama
snewenicrexsti
isx
Ciphertext:
tpipsoroohamas
newenicrexstiisx
Ciphertext:
tpipsoroohamasne
wenicrexstiisx
PASS
2. Enter the
period
number and
tapping
‘Calculate’
button
2 Display of
accurate period
results
Accurate period
results displayed
PASS
3. Tapping on
‘i’ button
NIL Information
about period
will be display
Information about
period displayed
PASS
4. Tapping on
‘?’ button
NIL Image Slider for
period help
should appear
Image Slider for
period help
appeared and
working
PASS
Technical Manual [SS17/2E]
Page 69
Test Case
Number
1002
Objective Analysis: Calculate Period
Pre-requisites,
if any
NIL
Steps Action Input Field Expected Result Actual Result Test Result
(Pass/Fail)
1. Entering
ciphertext
from main
homepage
and selecting
‘Calculate
Period’
Ciphertext:
GCKTHYNTP
MPLDNSRFP
YMRL
Ciphertext:
GCKTHYNTP
MPLDNSRFPY
MRL
Ciphertext:
GCKTHYNTPM
PLDNSRFPYMR
L
PASS
2. Enter the
period
number and
tapping
‘Calculate’
button
1 Display of
accurate period
results
Accurate period
results displayed
PASS
3. Tapping on
‘i’ button
NIL Information
about period
will be display
Information about
period displayed
PASS
4. Tapping on
‘?’ button
NIL Image Slider for
period help
should appear
Image Slider for
period help
appeared and
working
PASS
Technical Manual [SS17/2E]
Page 70
Test Case
Number
1003
Objective Analysis: Calculate Period
Pre-requisites,
if any
NIL
Steps Action Input Field Expected Result Actual Result Test Result
(Pass/Fail)
1. Entering
ciphertext
from main
homepage
and selecting
‘Calculate
Period’
Ciphertext:
tinihnociafasltt
ivhiseeotranhs
pxeipxfolx
Ciphertext:
tinihnociafasltti
vhiseeotranhspx
eipxfolx
Ciphertext:
tinihnociafaslttivh
iseeotranhspxeipx
folx
PASS
2. Enter the
period
number and
tapping
‘Calculate’
button
4 Display of
accurate period
results
Accurate period
results displayed
PASS
3. Tapping on
‘i’ button
NIL Information
about period
will be display
Information about
period displayed
PASS
4. Tapping on
‘?’ button
NIL Image Slider for
period help
should appear
Image Slider for
period help
appeared and
working
PASS
Technical Manual [SS17/2E]
Page 71
Test Case
Number
1101
Objective Game: Starting a new game
Pre-requisites,
if any
NIL
Steps Action Input Field Expected Result Actual Result Test Result
(Pass/Fail)
1. Selecting
“Practice it!”
from the slide
menu bar
NIL
Prologue should
play.
Prologue played
PASS
2. Selecting
“New Game”
NIL Game should
start from level
1
Game started
from level 1
PASS
Test Case
Number
1102
Objective Game: Starting a new game
Pre-requisites,
if any
NIL
Steps Action Input Field Expected Result Actual Result Test Result
(Pass/Fail)
1. Selecting
“Practice it!”
from the slide
menu bar
NIL
Prologue should
play.
Prologue played
PASS
2. Selecting
“New Game”
NIL Game should
start from level
1
Game started
from level 1
PASS
Technical Manual [SS17/2E]
Page 72
Test Case
Number
1103
Objective Game: Starting a new game
Pre-requisites,
if any
NIL
Steps Action Input Field Expected Result Actual Result Test Result
(Pass/Fail)
1. Selecting
“Practice it!”
from the slide
menu bar
NIL
Prologue should
play.
Prologue played
PASS
2. Selecting
“New Game”
NIL Game should
start from level
1
Game started
from level 1
PASS
Test Case
Number
1201
Objective Game: Continuing a previous game
Pre-requisites,
if any
A previous game at level 1
Steps Action Input Field Expected Result Actual Result Test Result
(Pass/Fail)
1. Selecting
“Practice it!”
from the slide
menu bar
NIL
Prologue should
play.
Prologue played
PASS
2. Selecting
“Continue”
NIL Game should
start from level
1
Game started
from level 1
PASS
Technical Manual [SS17/2E]
Page 73
Test Case
Number
1202
Objective Game: Continuing a previous game
Pre-requisites,
if any
A previous game at level 2
Steps Action Input Field Expected Result Actual Result Test Result
(Pass/Fail)
1. Selecting
“Practice it!”
from the slide
menu bar
NIL
Prologue should
play.
Prologue played
PASS
2. Selecting
“Continue”
NIL Game should
start from level
2
Game started
from level 2
PASS
Test Case
Number
1203
Objective Game: Continuing a previous game
Pre-requisites,
if any
A previous game at level 3
Steps Action Input Field Expected Result Actual Result Test Result
(Pass/Fail)
1. Selecting
“Practice it!”
from the slide
menu bar
NIL
Prologue should
play.
Prologue played
PASS
2. Selecting
“Continue”
NIL Game should
start from level
3
Game started
from level 3
PASS
Technical Manual [SS17/2E]
Page 74
Test Case
Number
1301
Objective Game: Exiting a game
Pre-requisites,
if any
Game at level 1
Steps Action Input Field Expected Result Actual Result Test Result
(Pass/Fail)
1. Selecting “+”
icon on the
bottom left
and selecting
“exit game”
when
appeared.
NIL
Game should
exit and lead
back to home
page
Game exit and
lead back to
homepage
PASS
Test Case
Number
1302
Objective Game: Exiting a game
Pre-requisites,
if any
Game at level 2
Steps Action Input Field Expected Result Actual Result Test Result
(Pass/Fail)
1. Selecting “+”
icon on the
bottom left
and selecting
“exit game”
when
appeared.
NIL
Game should
exit and lead
back to home
page
Game exit and
lead back to
homepage
PASS
Technical Manual [SS17/2E]
Page 75
Test Case
Number
1303
Objective Game: Exiting a game
Pre-requisites,
if any
Game at level 3
Steps Action Input Field Expected Result Actual Result Test Result
(Pass/Fail)
1. Selecting “+”
icon on the
bottom left
and selecting
“exit game”
when
appeared.
NIL
Game should
exit and lead
back to home
page
Game exit and
lead back to
homepage
PASS
Test Case
Number
1401
Objective Game: Accessing to tools/returning to game
Pre-requisites,
if any
Game at level 1
Steps Action Input Field Expected Result Actual Result Test Result
(Pass/Fail)
1. Selecting “+”
icon on the
bottom left
and selecting
“Frequency
Counter”
when
appeared.
NIL
Game should
exit and lead to
frequency
counter tool
Game exit and
lead to frequency
counter tool
PASS
2. Selecting “+”
icon on the
bottom left
and selecting
“Index of
Coincidence”
when
appeared.
NIL
Game should
exit and lead to
Index of
Coincidence
counter tool
Game exit and
lead to Index of
Coincidence
counter tool
PASS
Technical Manual [SS17/2E]
Page 76
3. Selecting “+”
icon on the
bottom left
and selecting
“Period”
when
appeared.
NIL
Game should
exit and lead to
Period counter
tool
Game exit and
lead to Period
counter tool
PASS
4. Selecting “+”
icon on the
bottom left
and selecting
“Substitute
Cipher” when
appeared.
NIL
Game should
exit and lead to
Substitution
Cipher tool
Game exit and
lead to
Substitution
Cipher tool
PASS
5. Selecting “+”
icon on the
bottom left
and selecting
“Vigenere
Cipher” when
appeared.
NIL
Game should
exit and lead to
Vigenere Cipher
tool
Game exit and
lead to Vigenere
Cipher tool
PASS
6. Selecting “+”
icon on the
bottom left
and selecting
“Transpositio
n Cipher”
when
appeared.
NIL
Game should
exit and lead to
Transposition
Cipher tool
Game exit and
lead to
Transposition
Cipher tool
PASS
7. Selecting
“Back to
Game” icon
when
appeared.
NIL Frequency
counter tool
should exit and
lead back to
game
Frequency
counter tool
exited and led
back to game
PASS
Technical Manual [SS17/2E]
Page 77
Test Case
Number
1402
Objective Game: Accessing to tools/returning to game
Pre-requisites,
if any
Game at level 2
Steps Action Input Field Expected Result Actual Result Test Result
(Pass/Fail)
1. Selecting “+”
icon on the
bottom left
and selecting
“Frequency
Counter”
when
appeared.
NIL
Game should
exit and lead to
frequency
counter tool
Game exit and
lead to frequency
counter tool
PASS
2. Selecting “+”
icon on the
bottom left
and selecting
“Index of
Coincidence”
when
appeared.
NIL
Game should
exit and lead to
Index of
Coincidence
counter tool
Game exit and
lead to Index of
Coincidence
counter tool
PASS
3. Selecting “+”
icon on the
bottom left
and selecting
“Period”
when
appeared.
NIL
Game should
exit and lead to
Period counter
tool
Game exit and
lead to Period
counter tool
PASS
4. Selecting “+”
icon on the
bottom left
and selecting
“Substitute
Cipher” when
appeared.
NIL
Game should
exit and lead to
Substitution
Cipher tool
Game exit and
lead to
Substitution
Cipher tool
PASS
5. Selecting “+”
icon on the
bottom left
and selecting
NIL
Game should
exit and lead to
Vigenere Cipher
tool
Game exit and
lead to Vigenere
Cipher tool
PASS
Technical Manual [SS17/2E]
Page 78
“Vigenere
Cipher” when
appeared.
6. Selecting “+”
icon on the
bottom left
and selecting
“Transpositio
n Cipher”
when
appeared.
NIL
Game should
exit and lead to
Transposition
Cipher tool
Game exit and
lead to
Transposition
Cipher tool
PASS
7. Selecting
“Back to
Game” icon
when
appeared.
NIL Frequency
counter tool
should exit and
lead back to
game
Frequency
counter tool
exited and led
back to game
PASS
Technical Manual [SS17/2E]
Page 79
Test Case
Number
1403
Objective Game: Accessing to tools/returning to game
Pre-requisites,
if any
Game at level 3
Steps Action Input Field Expected Result Actual Result Test Result
(Pass/Fail)
1. Selecting “+”
icon on the
bottom left
and selecting
“Frequency
Counter”
when
appeared.
NIL
Game should
exit and lead to
frequency
counter tool
Game exit and
lead to frequency
counter tool
PASS
2. Selecting “+”
icon on the
bottom left
and selecting
“Index of
Coincidence”
when
appeared.
NIL
Game should
exit and lead to
Index of
Coincidence
counter tool
Game exit and
lead to Index of
Coincidence
counter tool
PASS
3. Selecting “+”
icon on the
bottom left
and selecting
“Period”
when
appeared.
NIL
Game should
exit and lead to
Period counter
tool
Game exit and
lead to Period
counter tool
PASS
4. Selecting “+”
icon on the
bottom left
and selecting
“Substitute
Cipher” when
appeared.
NIL
Game should
exit and lead to
Substitution
Cipher tool
Game exit and
lead to
Substitution
Cipher tool
PASS
5. Selecting “+”
icon on the
bottom left
and selecting
NIL
Game should
exit and lead to
Vigenere Cipher
tool
Game exit and
lead to Vigenere
Cipher tool
PASS
Technical Manual [SS17/2E]
Page 80
“Vigenere
Cipher” when
appeared.
6. Selecting “+”
icon on the
bottom left
and selecting
“Transpositio
n Cipher”
when
appeared.
NIL
Game should
exit and lead to
Transposition
Cipher tool
Game exit and
lead to
Transposition
Cipher tool
PASS
7. Selecting
“Back to
Game” icon
when
appeared.
NIL Frequency
counter tool
should exit and
lead back to
game
Frequency
counter tool
exited and led
back to game
PASS
Technical Manual [SS17/2E]
Page 81
Test Case
Number
1501
Objective Game: Proceeding
Pre-requisites,
if any
Game at level 1
Steps Action Input Field Expected Result Actual Result Test Result
(Pass/Fail)
1. Tapping the
door and
entering
correct
answer and
pressing
“submit”
when
appeared
Password:
open
Game should
lead to level 2
after “stage
cleared”
appeared
“stage cleared”
appeared and
Game lead to
level 2
PASS
Test Case
Number
1502
Objective Game: Proceeding
Pre-requisites,
if any
Game at level 2
Steps Action Input Field Expected Result Actual Result Test Result
(Pass/Fail)
1. Tapping the
door and
entering
correct
answer and
pressing
“submit”
when
appeared
Password:
awesome
Game should
lead to level 3
after “stage
cleared”
appeared
“stage cleared”
appeared and
Game lead to
level 3
PASS
Technical Manual [SS17/2E]
Page 82
Test Case
Number
1503
Objective Game: Proceeding
Pre-requisites,
if any
Game at level 3
Steps Action Input Field Expected Result Actual Result Test Result
(Pass/Fail)
1. Tapping the
door and
entering
correct
answer and
pressing
“submit”
when
appeared
Password: 7
Game should
lead to level 4
after “stage
cleared”
appeared
“stage cleared”
appeared and
Game lead to
level 4
PASS
Technical Manual [SS17/2E]
Page 83
Test Case
Number
1601
Objective User input validation (all user input fields)
Pre-requisites,
if any
NIL
Steps Action Input Field Expected Result Actual Result Test Result
(Pass/Fail)
1. Main Page :
Input Text
‘Testing’ String accepted String accepted PASS
2. Calculate
Period
‘a’ Error message Error message
appears
PASS
3. Main Page:
Encrypt -
Keyword
‘123’ Error message Error message
appears
PASS
4. Main Page:
Decrypt -
Keyword
‘123’ Error message Error message
appears
PASS
5. Main Page:
Encrypt –
Block Size
‘abc’ Error message Error message
appears
PASS
6. Main Page:
Decrypt –
Block Size
‘abc’ Error message Error message
appears
PASS
Technical Manual [SS17/2E]
Page 84
Test Case
Number
1602
Objective User input validation (all user input fields)
Pre-requisites,
if any
NIL
Steps Action Input Field Expected Result Actual Result Test Result
(Pass/Fail)
1. Main Page :
Input Text
‘Testing’ String accepted String accepted PASS
2. Calculate
Period
‘1’ Value accepted Value accepted PASS
3. Main Page:
Encrypt -
Keyword
‘test’ Value accepted Value accepted PASS
4. Main Page:
Decrypt -
Keyword
‘test’ Value accepted Value accepted PASS
5. Main Page:
Encrypt –
Block Size
‘7’ Value accepted Value accepted PASS
6. Main Page:
Decrypt –
Block Size
‘6’ Value accepted Value accepted PASS
Technical Manual [SS17/2E]
Page 85
Test Case
Number
1603
Objective User input validation (all user input fields)
Pre-requisites,
if any
NIL
Steps Action Input Field Expected Result Actual Result Test Result
(Pass/Fail)
1. Main Page :
Input Text
‘Testing’ String accepted String accepted PASS
2. Calculate
Period
‘0’ Error message Error message
appears
PASS
3. Main Page:
Encrypt -
Keyword
‘test123’ Error message Error message
appears
PASS
4. Main Page:
Decrypt -
Keyword
‘test123’ Error message Error message
appears
PASS
5. Main Page:
Encrypt –
Block Size
‘14 Error message Error message
appears
PASS
6. Main Page:
Decrypt –
Block Size
‘0’ Error message Error message
appears
PASS