Crypto Laboratory Winter 2007-2008 Alexander Grechin and Zohar Rogel Under supervision of Zvika Berkovich.

Slides:



Advertisements
Similar presentations
CLASSICAL ENCRYPTION TECHNIQUES
Advertisements

Using Cryptography to Secure Information. Overview Introduction to Cryptography Using Symmetric Encryption Using Hash Functions Using Public Key Encryption.
Cryptology Terminology and Early History. Cryptology Terms Cryptology –The science of concealing the meaning of messages and the discovery of the meaning.
Encryption and Encoding
CYPHER INDEX n Introduction n Background n Demo INTRODUCTION n Cypher is a software toolkit designed to aid in the decryption of standard (historical)
CPSC CPSC 3730 Cryptography Chapter 2 Classical Encryption Techniques.
Chapter 2 – Classical Encryption Techniques
3.1 Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display. Chapter 3 Traditional Symmetric-Key Ciphers.
Introduction to Cryptography
A Cryptography Education Tool Anna Yu Department of Computer Science College of Engineering North Carolina A&T State University June 18, 2009.
Chapter 2 Basic Encryption and Decryption. csci5233 computer security & integrity 2 Encryption / Decryption encrypted transmission AB plaintext ciphertext.
Classical Encryption Techniques
Cryptography Programming Lab
3.1 SERVICES AND MECHANISMS SERVICES AND MECHANISMS The International Telecommunication Union- Telecommunication Standardization Section (ITU-T) provides.
A Technical Seminar Presentation CLASSICAL CRYPTOGRAPHY
1 University of Palestine Information Security Principles ITGD 2202 Ms. Eman Alajrami 2 nd Semester
MAT 1000 Mathematics in Today's World Winter 2015.
Week 2 - Wednesday.  What did we talk about last time?  Encryption  Shift ciphers  Transposition ciphers.
Day 18. Concepts Plaintext: the original message Ciphertext: the transformed message Encryption: transformation of plaintext into ciphertext Decryption:
CIT 380: Securing Computer SystemsSlide #1 CIT 380: Securing Computer Systems Classical Cryptography.
1 Chapter 2-1 Conventional Encryption Message Confidentiality.
Bit Cipher 1. Example of bit Cipher 2 Practical Stream Cipher 3.
30.1 Chapter 30 Cryptography Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
Symmetric-Key Cryptography
Introduction to cryptography by konrad. Introduction to cryptography Cryptography is the process of encrypting/decrypting data streams using some E(M)/D(M)
An Introduction to Cryptography. What is cryptography? noun \krip- ˈ tä-grə-fē\ : the process of writing or reading secret messages or codes “Encryption”:
Module :MA3036NI Cryptography and Number Theory Lecture Week 3 Symmetric Encryption-2.
Classic Cryptography History. Some Basic Terminology plaintext - original message ciphertext - coded message cipher - algorithm for transforming plaintext.
1 University of Palestine Information Security Principles ITGD 2202 Ms. Eman Alajrami.
Conventional crypto - Noack Conventional crypto Diffusion and confusion How Mary Queen of Scots lost her head Various hand operable ciphers Various Enigmas.
THE SCIENCE, MATHEMATICS, AND ART OF PRIVACY BASIC STUFF 1 CRYPTOGRAPHY.
Cryptography. Methods of Encryption Transposition Switching the symbols within the plaintext Substitution Substituting different symbols for the symbols.
Abstract: Cryptology is a combination of the processes of keeping a message secret (cryptography) and trying to break the secrecy of that message (cryptoanalysis).
Data Security and Encryption (CSE348) 1. Lecture # 4 2.
Traditional Symmetric-Key Ciphers
Section 2.5 Polyaphabetic Substitutions
Lecture 23 Symmetric Encryption
Section 2.3: Substitution Ciphers
K. Salah1 Cryptography Module I. K. Salah2 Cryptographic Protocols  Messages should be transmitted to destination  Only the recipient should see it.
Introduction to Cryptography Lecture 8. Polyalphabetic Substitutions Definition: Let be different substitution ciphers. Then to encrypt the message apply.
CS 150 – Computing: From Ada to the Web Cryptography.
Vigenére Cipher Kimberly Chiffens & Maria Jannelli.
Introduction to Cryptography Lecture 4. Caesar Cipher Gaius Julius Caesar (100 B.C.- 44 B.C.) General Politician Dictator of Rome Creator of Caesar Cipher.
Encryption. LEARNING OBJECTIVES: BY THE END OF THE LESSON YOU SHOULD KNOW. What encryption is and why it is important The basics of encryption techniques.
Substitution Ciphers Reference –Matt Bishop, Computer Security, Addison Wesley, 2003.
CHAPTER 14 ENCRYPTION AND DECRYPTION Sajina Pradhan
LAB#3 CLASSICAL ENCRYPTION CPIT 425. This diagram is taken from Dr.Omaima slides.
3.1 Chapter 3 Traditional Symmetric-Key Ciphers Part2.
CRYPTOGRAPHY G REEK WORD MEANING “ SECRET WRITING ”
Substitution Ciphers.
TRANSPOSITION CYPHER.
Crypto in information security
Practical Questions Theoretical Questions
SUBSTITUTION CIPHERS A substitution technique is one in which the letters/number/symbols of plain text are replaced by other letters/numbers/symbols.
By: Mohsin Tahir waqas Akram Numan-Ul-Haq Ali Asghar Rao Arslan
Symmetric Algorithm of Cryptography
TRANSPOSITION CIPHER In the transposition technique the positions of letters/numbers/symbols in plain text is changed with one another
Cryptography and Network Security
Information and Computer Security CPIS 312 Lab 2
Cryptography.
Outline Some Basic Terminology Symmetric Encryption
Topic 3: Data Encryption.
A Technical Seminar Presentation CLASSICAL CRYPTOGRAPHY
Pigpen Cipher A = Q = T = Z = A B C D E F G H I J K L M N O P Q R S T
Chapter 3:Cryptography (16M)
Pigpen Cipher A = Q = T = Z = A B C D E F G H I J K L M N O P Q R S T
Classical Polyalphabetic Ciphers
Running Key Cipher The security of polyalphabetic substitution cipher reside in key length. In running-key cipher, the length of key must be equal the.
Double Transpositions
Symmetric Encryption or conventional / private-key / single-key
Presentation transcript:

Crypto Laboratory Winter Alexander Grechin and Zohar Rogel Under supervision of Zvika Berkovich

Development technology C# language (VS 2005) and Microsoft.NET framework 2.0 C# language (VS 2005) and Microsoft.NET framework 2.0 Reflection technology Reflection technology Built-in graphics features Built-in graphics features Simple GUI generation Simple GUI generation

Purchased knowledge We ’ ve learned about some known ciphers and their history We ’ ve learned about some known ciphers and their history Experienced in application development from the beginning to the end Experienced in application development from the beginning to the end Learned additional skills in C# programming language Learned additional skills in C# programming language We ’ ve learned more about built-in abilities of C# such as drag-drop feature and visual manipulation of simple graphics We ’ ve learned more about built-in abilities of C# such as drag-drop feature and visual manipulation of simple graphics

Introduction The purpose of this project is to create the demonstration program which allows: Encrypt and decrypt English texts Break encrypted English texts Build and execute strategy – a sequence of operations Operation may be encryption, decryption or cracking of some message with specific cipher and parameters

Introduction The program contains a set of ciphers 4 ciphers User can add his own ciphers User builds class that implements a defined interface Received dll file copied to work directory

Introduction There are two logical parts in the project: Build framework program that will supply the user a convenient way to work with ciphers Develop several ciphers and attach them to the framework program

Framework application Allows the user to work with ciphers There are two ways to use the application: Working using graphic interface – GUI application Working in command line – Console application In both cases the single core is used

GUI Application Allows the user to: Input and output texts Get log messages Execute single operation Build and execute strategy Examples

Console Application Allows the user building and execution of strategies only

Combined working scenario User builds strategy in GUI application GUI application translates the strategy to the format of Console application GUI application calls for command line User continues working in command line Example

Core module Serves both applications GUI application Console application

Module diagram

Cipher attaching Each cipher implemented as independent module and implements ICipher interface Core module looking for these modules in current directory Using Reflection mechanism the Core instantiates the ciphers Ciphers pointed through ICipher interface

Ciphers Some simple ciphers were chosen: Shift cipher (Julius Caesar cipher) Transposition cipher (Rail fence cipher) Simple Substitution cipher Poly-alphabetic cipher (Vigenère cipher)

Julius Caesar cipher Each letter in the plaintext is replaced by a letter at some fixed number of positions down the alphabet Each letter in the plaintext is replaced by a letter at some fixed number of positions down the alphabet For example, with a shift of 3: For example, with a shift of 3: A -> D A -> D B -> E B -> E

Rail fence cipher The plaintext is written downwards on successive "rails" of an imaginary fence, then moving up when we get to the bottom. The message is then read off in rows. The plaintext is written downwards on successive "rails" of an imaginary fence, then moving up when we get to the bottom. The message is then read off in rows.

Rail fence cipher - example Plaintext: transposition Plaintext: transposition Number of “ rails ” = 3 Number of “ rails ” = 3 T S I N R N P S T O R N P S T O A O I A O I Cipher text: TSIN RNPSTO AOI Cipher text: TSIN RNPSTO AOI

Substitution cipher Substitution cipher Each letter in the plaintext is replaced by a letter in the substituted alphabet Each letter in the plaintext is replaced by a letter in the substituted alphabet Creating substituted alphabet: writing out a keyword, removing repeated letters Creating substituted alphabet: writing out a keyword, removing repeated letters Writing all the remaining letters in the alphabet Writing all the remaining letters in the alphabet The plaintext is encrypted using the substituted alphabet The plaintext is encrypted using the substituted alphabet

Substitution cipher - example Substitution cipher - example Keyword: “zebras” Keyword: “zebras” Plaintext alphabet / Ciphertext alphabet : Plaintext alphabet / Ciphertext alphabet : abcdefghijklmnopqrstuvwxyz abcdefghijklmnopqrstuvwxyz ZEBRASCDFGHIJKLMNOPQTUVWXY ZEBRASCDFGHIJKLMNOPQTUVWXY Message: Message: flee at once. we are discovered! flee at once. we are discovered! Encrypted message: Encrypted message: SIAA ZQ LKBA. VA ZOA RFPBLUAOAR! SIAA ZQ LKBA. VA ZOA RFPBLUAOAR!

Vigenère cipher Vigenère cipher Consists of several Caesar ciphers in sequence with different shift values Consists of several Caesar ciphers in sequence with different shift values Creating substituted alphabet: using a Vigenère table – alphabet written out in 26 rows, each alphabet is shifted to the left by one letter Creating substituted alphabet: using a Vigenère table – alphabet written out in 26 rows, each alphabet is shifted to the left by one letter Writing out a keyword in a cyclic way, opposite to plaintext Writing out a keyword in a cyclic way, opposite to plaintext Each letter is substituted according to the keyword and the table Each letter is substituted according to the keyword and the table

Vigenère cipher - example Vigenère cipher - example Using Vigenère table (see below) and a keyword: Using Vigenère table (see below) and a keyword: Plaintext: attackatdawn Plaintext: attackatdawn Keyword: LEMONLEMONLE Keyword: LEMONLEMONLE Ciphertext: LXFOPVEFRNHR Ciphertext: LXFOPVEFRNHR

Summary Summary This project allowed us to purchase knowledge about: This project allowed us to purchase knowledge about: Some ciphers encryption and decryption algorithms Some ciphers encryption and decryption algorithms Some ciphers auto-crack algorithms Some ciphers auto-crack algorithms Working with C# and.NET environment using VS 2005 Working with C# and.NET environment using VS 2005 Stages of application development Stages of application development