A software solution is needed for secure communication between you and a friend. Requirements



Similar documents
Cyber Security Workshop Encryption Reference Manual

Techniques of Asymmetric File Encryption. Alvin Li Thomas Jefferson High School For Science and Technology Computer Systems Lab

Cryptography and Network Security Department of Computer Science and Engineering Indian Institute of Technology Kharagpur

Cryptography: Motivation. Data Structures and Algorithms Cryptography. Secret Writing Methods. Many areas have sensitive information, e.g.

Network Security. Security Attacks. Normal flow: Interruption: 孫 宏 民 Phone: 國 立 清 華 大 學 資 訊 工 程 系 資 訊 安 全 實 驗 室

1 Step 1: Select... Files to Encrypt 2 Step 2: Confirm... Name of Archive 3 Step 3: Define... Pass Phrase

FAREY FRACTION BASED VECTOR PROCESSING FOR SECURE DATA TRANSMISSION

Computer Networks. Network Security 1. Professor Richard Harris School of Engineering and Advanced Technology

Network Security CS 5490/6490 Fall 2015 Lecture Notes 8/26/2015

Practice Questions. CS161 Computer Security, Fall 2008

Hill s Cipher: Linear Algebra in Cryptography

How to Send Stealth Text From Your Cell Phone

Outline. CSc 466/566. Computer Security. 8 : Cryptography Digital Signatures. Digital Signatures. Digital Signatures... Christian Collberg

Fall 2012 Q530. Programming for Cognitive Science

Introduction to Cryptography CS 355

Introduction to Hill cipher

A Python Tour: Just a Brief Introduction CS 303e: Elements of Computers and Programming

Properties of Secure Network Communication

CSci 530 Midterm Exam. Fall 2012

Effective Secure Encryption Scheme [One Time Pad] Using Complement Approach Sharad Patil 1 Ajay Kumar 2

Overview/Questions. What is Cryptography? The Caesar Shift Cipher. CS101 Lecture 21: Overview of Cryptography

Network Security Technology Network Management

AQA GCSE in Computer Science Computer Science Microsoft IT Academy Mapping

The Mathematics of the RSA Public-Key Cryptosystem

Network Security. Abusayeed Saifullah. CS 5600 Computer Networks. These slides are adapted from Kurose and Ross 8-1

Programming in Access VBA

Network Security. Security. Security Services. Crytographic algorithms. privacy authenticity Message integrity. Public key (RSA) Message digest (MD5)

Pseudo code Tutorial and Exercises Teacher s Version

Network Security. Computer Networking Lecture 08. March 19, HKU SPACE Community College. HKU SPACE CC CN Lecture 08 1/23

Dr. Jinyuan (Stella) Sun Dept. of Electrical Engineering and Computer Science University of Tennessee Fall 2010

CSCE 465 Computer & Network Security

AC76/AT76 CRYPTOGRAPHY & NETWORK SECURITY DEC 2014

Chapter 11 Security+ Guide to Network Security Fundamentals, Third Edition Basic Cryptography

Basic Algorithms In Computer Algebra

1.2 Using the GPG Gen key Command

Security in Distributed Systems. Network Security

Dreamweaver CS6 Basics

1. The RSA algorithm In this chapter, we ll learn how the RSA algorithm works.

Username: Lab date and time: CSC 101: Lab #11 Manual and Report: Cryptography Due date: 5:00pm, day after lab session

Introduction to Python

Objectives. Python Programming: An Introduction to Computer Science. Lab 01. What we ll learn in this class


Introduction To Security and Privacy Einführung in die IT-Sicherheit I

RemotelyAnywhere. Security Considerations

Forward Secrecy: How to Secure SSL from Attacks by Government Agencies

Mathematics of Internet Security. Keeping Eve The Eavesdropper Away From Your Credit Card Information

Network Security: Cryptography CS/SS G513 S.K. Sahay

Secure Socket Layer. Introduction Overview of SSL What SSL is Useful For

Safer data transmission using Steganography

best practices for encryption in android

Table of Contents. Bibliografische Informationen digitalisiert durch

(Academy of Economic Studies) Veronica Adriana Popescu (Academy of Economic Studies) Cristina Raluca Popescu (University of Bucharest)

Enova X-Wall LX Frequently Asked Questions

Three attacks in SSL protocol and their solutions

Chapter 2 Homework 2-5, 7, 9-11, 13-18, 24. (9x + 2)(mod 26) y 1 1 (x 2)(mod 26) 3(x 2)(mod 26) U : y 1 = 3(20 2)(mod 26) 54(mod 26) 2(mod 26) c

Android based Alcohol detection system using Bluetooth technology

Princeton University Computer Science COS 432: Information Security (Fall 2013)

Public Key Cryptography and RSA. Review: Number Theory Basics

Side Channel Analysis and Embedded Systems Impact and Countermeasures

Guide to Data Field Encryption

Common Pitfalls in Cryptography for Software Developers. OWASP AppSec Israel July The OWASP Foundation

Keywords- Cloud Computing, Android Platform, Encryption, Decryption, NTRU, RSA, DES, throughput.

Network Security. HIT Shimrit Tzur-David

An Efficient Data Security in Cloud Computing Using the RSA Encryption Process Algorithm

Introduction to Encryption

DataTrust Backup Software. Whitepaper Data Security. Version 6.8

TLS-RSA-PSK. Channel Binding using Transport Layer Security with Pre Shared Keys

ELECTRONIC COMMERCE OBJECTIVE QUESTIONS

CIS 6930 Emerging Topics in Network Security. Topic 2. Network Security Primitives

Insight Guide. Encryption: A Guide

Web Design Standards

Copy/Paste Best Practices. Identifying Issues Caused by Copy/Paste. Blackboard General Tutorial

IT Networks & Security CERT Luncheon Series: Cryptography

what operations can it perform? how does it perform them? on what kind of data? where are instructions and data stored?

Q&As: Microsoft Excel 2013: Chapter 2

Microsoft Office 2010: Access 2010, Excel 2010, Lync 2010 learning assets

OpenOffice.org Writer

CS 241 Data Organization Coding Standards

Tera Term Telnet. Introduction

CS Matters in Maryland CS Principles Course

This Record of activity confirms that Jonathan Scrase has completed the following courses within the Microsoft Virtual Academy:

CUNSHENG DING HKUST, Hong Kong. Computer Security. Computer Security. Cunsheng DING, HKUST COMP4631

Field Properties Quick Reference

Content Author's Reference and Cookbook

Security+ Guide to Network Security Fundamentals, Third Edition. Chapter 6. Wireless Network Security

IBM Client Security Solutions. Client Security User's Guide

Public Key Cryptography. c Eli Biham - March 30, Public Key Cryptography

1. a. Define the properties of a one-way hash function. (6 marks)

CS 758: Cryptography / Network Security

Fundamentals of Computer Security

We will learn the Python programming language. Why? Because it is easy to learn and many people write programs in Python so we can share.

Security in Android apps

The application of prime numbers to RSA encryption

Computer Science 217

Software Tool for Implementing RSA Algorithm

Use of Linear Algebra in Cryptography

Computer Programming I

Step-by-Step Instructions for Setting Up a Paper in APA Format

Transcription:

CS Principles Encryption Project Plan Last updated: 02/10/2014 Software Engineer(s): Ada Lovelace & Alan Turing Problem A software solution is needed for secure communication between you and a friend. Requirements The software must require no special knowledge of encryption by the user and have a clean, attractive and easy to use interface. The software must use a robust encryption system able to withstand attempts at interception and code breaking; it may be poly alphabetic or RSA numeric style or something you come up with that s equivalent. Keys and other settings must be able to be changed easily on regular basis. The software may be mobile or stand alone. The software must be documented and easily extended by other programmers. The software is needed in 12 days time. Software Description We proposed to create a Simple Secure Word Processor too using the Python programming language. For our encryption system, we will use a substitution cipher with single key at least 20 characters long. The user will be prompted to enter the key first. The user will be asked to re enter they key if it is not 20 or more characters. Duplicates will be removed from the key and a single cipher alphabet will be built by appending the key in front of the remaining plain alphabet. Once the cipher alphabet has been made the user may then type a message. AS THEY TYPE, they will see their message displayed in both plain text AND cipher text. They will be given the option to save either form of the message to a text file at any time. Features like spell check and bolding or italic or font size will not be added unless time permits.

Rationale (Claim Evidence Reasoning) We believe the modified substitution cipher with single 20+ character key is the best encryption system for our software because it is superior to simplistic simple numeric shift Caesar ciphers and it will be easy for the user to understand. Our research of the code breaking technique of frequency analyst has show that this kind of cipher is vulnerable when the key is too short. When that happens it quickly becomes just simple alphabetic shifts that are easily broken. By making the key long (20+) when compared to the length of the alphabet we have insured strength. While more complex poly alphabetic cipher such as one using Tabula Recta would be stronger, the Tabula Recta is confusing to the user. Since our software will build the cipher alphabet for the user and display the both the plain and encrypted message as it is typed, the user will find it easy to understand and to use. Attack Plan for Learning and Software Development (with division of work) 1. We need to make sure we know what we are doing by reviewing the cipher and practicing it a bit. (Ada 1 day) 2. We need to learn the basics of writing a simple program in Python. (Alan 1 day) 3. We need to learn how to work with text in Python. (both of us 3 days) 4. We need to learn how to read input from the keyboard and display output to the screen in Python. (both of us 1 day) 5. We need to figure out how to read in the key and make sure it is the correct length. (both of us 1 day) 6. We need to figure out how to create the cipher alphabet (both of us 2 days) 7. We need to figure out how to echo what is typed to the screen (both of is 1 day 8. We need to finish, test, and debug as needed. (both of us 3 days) Learning resources we have found http://practicalcryptography.com/ciphers/simple substitution cipher/ http://www.learnpython.org/ http://www.codecademy.com/

Visuals (optional extra credit) Enter your 15+ character key: thedogissleepingupstairs With out duplicates your key is: thedogislpnuar Your cipher alphabet is: thedogislpnuarbcfjkmqvwxyz Word processing mode Type your message below and it the encypted version will appear under it as you type. Hit Ctrl+S to save to a file called message.txt. Plain text message: defend the east wall of the castle Cipher text message: dogord mso otkm wtuu bg mso etkmuo

CS Principles Encryption Project ` Plan Last updated: 02/10/2014 Software Engineer(s): Charles Babbage Problem A software solution is needed for secure communication between you and a friend. Requirements The software must require no special knowledge of encryption by the user and have a clean, attractive and easy to use interface. The software must use a robust encryption system able to withstand attempts at interception and code breaking; it may be poly alphabetic or RSA numeric style or something you come up with that s equivalent. Keys and other settings must be able to be changed easily on regular basis. The software may be mobile or stand alone. The software must be documented and easily extended by other programmers. The software is needed in 12 days time. Software Description I propose to create an Android App which can be used to encrypt a secret number using RSA style encryption. It will use the RSA formula e * d = Phi(N) * K +1 It will ask the user for two prime numbers so it can multiply them and calculate N. It will choose a random integer K that is between 1 and 10. It will calculate Phi(N) and display choices of e to the user. The user will enter e and d will be calculated. Finally the user will enter a secret number to encrypt and the encrypted version of the number will be displayed. Rationale (Claim Evidence Reasoning) We believe the RSA is the best encryption system for our software because it the formula is easy to compute but nearly impossible to break in a reasonable amount of time. Our research of RSA encryption has shown that while computers

can multiple two large prime numbers in factions of seconds, they can take hundreds a years to find the prime numbers through factoring. Attack Plan for Learning and Software Development (with division of work) 1. We need to make sure we know what we are doing by reviewing the RSA formula and practicing it a bit. (1 day) 2. We need to create our UI in App Inventor. (1 day) 3. We need to write a procedure to calculate the product of N and make sure the primes entered are not too big for the number data type in AI. (1 day) 4. We need procedures to generate K and Phi(N) and display them. (1 day) 5. We need to learn about nested looping in App Inventor. (1 day) 6. We need to figure out how to write a procedure to calculate and display the prime factors of a number. (3 days) 7. We need to finish, test, and debug as needed. (4 days) Learning resources we have found https://www.khanacademy.org/math/applied math/cryptography https://sites.google.com/site/appinventor/iteration Visuals (optional extra credit)