school of computer science & software engineering zheng xuan 5654889 [email protected]...

85
Page 1 School of Computer Science & Software Engineering Bachelor of Computer Science (Digital Systems Security) 16 th 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]

Upload: vanhuong

Post on 14-Apr-2018

217 views

Category:

Documents


2 download

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 16

3.3.3 Game mode

Figure 3.3.3 Game 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 21

Substitution User Interface

Vigenere Cipher

Technical Manual [SS17/2E]

Page 22

Transposition Cipher

Animated Demonstration - ‘How its Done’

Technical Manual [SS17/2E]

Page 23

Game

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