CMSC 414 Computer and Network Security Lecture 2 Jonathan Katz.

Slides:



Advertisements
Similar presentations
CMSC 414 Computer (and Network) Security Lecture 4 Jonathan Katz.
Advertisements

CS 6262 Spring 02 - Lecture #7 (Tuesday, 1/29/2002) Introduction to Cryptography.
Fubswrjudskb Frxuvh qxpehu: / Lqvwuxfwru:Lyrqd Ehcdnryd Wrgdb’v Wrslfv: 1.Orjlvwlfv: -Fodvv olvw -Vboodexv 2. Wkh Pdwk 3. Zkdw lv Fubswrjudskb.
Intro 1 Introduction Intro 2 Good Guys and Bad Guys  Alice and Bob are the good guys  Trudy is the bad guy  Trudy is our generic “intruder”
1 Introduction CSE 5351: Introduction to cryptography Reading assignment: Chapter 1 of Katz & Lindell.
Cryptography The science of writing in secret code.
CS 555Topic 11 Cryptography CS 555 Topic 1: Overview of the Course & Introduction to Encryption.
CMSC 414 Computer (and Network) Security Lecture 5 Jonathan Katz.
CMSC 414 Computer and Network Security Lecture 6 Jonathan Katz.
CMSC 414 Computer and Network Security Lecture 3 Jonathan Katz.
CMSC 414 Computer (and Network) Security Lecture 2 Jonathan Katz.
CMSC 414 Computer and Network Security Lecture 5 Jonathan Katz.
CMSC 414 Computer and Network Security Lecture 4 Jonathan Katz.
8-1 What is network security? Confidentiality: only sender, intended receiver should “understand” message contents m sender encrypts message m receiver.
CMSC 414 Computer and Network Security Lecture 9 Jonathan Katz.
CMSC 414 Computer and Network Security Lecture 19 Jonathan Katz.
CMSC 414 Computer and Network Security Lecture 6 Jonathan Katz.
CS470, A.SelcukIntroduction1 CS 470 Introduction to Applied Cryptography Instructor: Ali Aydin Selcuk.
CMSC 414 Computer and Network Security Lecture 7 Jonathan Katz.
Overview of Cryptography and Its Applications Dr. Monther Aldwairi New York Institute of Technology- Amman Campus INCS741: Cryptography.
CS426Fall 2010/Lecture 21 Computer Security CS 426 Lecture 2 Cryptography: Terminology & Classic Ciphers.
CMSC 414 Computer and Network Security Lecture 2 Jonathan Katz.
CS526Topic 2: Classical Cryptography1 Information Security CS 526 Topic 2 Cryptography: Terminology & Classic Ciphers.
CMSC 414 Computer and Network Security Lecture 3 Jonathan Katz.
Computer Security CS 426 Lecture 3
A Cryptography Tutorial Jim Xu College of Computing Georgia Tech
Dan Boneh Introduction What is cryptography? Online Cryptography Course Dan Boneh.
Encryption. Introduction Computer security is the prevention of or protection against –access to information by unauthorized recipients –intentional but.
CMSC 414 Computer and Network Security Lecture 3 Jonathan Katz.
Cryptography Week-6.
Polyalphabetic Substitution Ciphers. First Steps Towards Complexity  If one alphabet is good, then two alphabets must be better!  By doubling the number.
Tonga Institute of Higher Education Design and Analysis of Algorithms IT 254 Lecture 9: Cryptography.
ECE453 – Introduction to Computer Networks Lecture 18 – Network Security (I)
Cryptography Lecture 8 Stefan Dziembowski
Cryptography Lecture 1: Introduction Piotr Faliszewski.
CIS 5371 Cryptography Introduction.
CMSC 414 Computer and Network Security Lecture 6 Jonathan Katz.
Chapter 1 Introduction Cryptography-Principles and Practice Harbin Institute of Technology School of Computer Science and Technology Zhijun Li
10/1/2015 9:38:06 AM1AIIS. OUTLINE Introduction Goals In Cryptography Secrete Key Cryptography Public Key Cryptograpgy Digital Signatures 2 10/1/2015.
Section 2.1: Shift Ciphers and Modular Arithmetic The purpose of this section is to learn about modular arithmetic, which is one of the fundamental mathematical.
CMSC 414 Computer and Network Security Lecture 2 Jonathan Katz.
Asymmetric-Key Cryptography Also known as public-key cryptography, performs encryption and decryption with two different algorithms. Each node announces.
Network Security Section 1: Introduction to security.
CSCD 218 : DATA COMMUNICATIONS AND NETWORKING 1
CIT 380: Securing Computer SystemsSlide #1 CIT 380: Securing Computer Systems Classical Cryptography.
Network Security Lecture 11 Presented by: Dr. Munam Ali Shah.
CS526: Information Security Prof. Sam Wagstaff September 16, 2003 Cryptography Basics.
Basic Cryptography 1. What is cryptography? Cryptography is a mathematical method of protecting information –Cryptography is part of, but not equal to,
Symmetric-Key Cryptography
Classical Crypto By: Luong-Sorin VA, IMIT Dith Nimol, IMIT.
CMSC 414 Computer and Network Security Lecture 5 Jonathan Katz.
Traditional Symmetric-Key Ciphers
Information Security Assignment- 01  What do you know about standards for information Security?  Suppose you are working in a Information Security department.
Cryptography 1 Crypto Cryptography 2 Crypto  Cryptology  The art and science of making and breaking “secret codes”  Cryptography  making “secret.
Overview of Cryptography & Its Applications
K. Salah1 Cryptography Module I. K. Salah2 Cryptographic Protocols  Messages should be transmitted to destination  Only the recipient should see it.
Intro to Cryptography Lesson Introduction
CS555Spring 2012/Topic 31 Cryptography CS 555 Topic 3: One-time Pad and Perfect Secrecy.
Introduction to Basic Crypto Schemes
1 CIS 5371 Cryptography 1.Introduction. 2 Prerequisites for this course  Basic Mathematics, in particular Number Theory  Basic Probability Theory 
EE 122: Lecture 24 (Security) Ion Stoica December 4, 2001.
CS526Topic 2: Classical Cryptography1 Information Security CS 526 Topic 2 Cryptography: Terminology & Classic Ciphers.
1 Introduction CS 303 Algorithmic Number Theory and Cryptography Jeremy R. Johnson.
Computer Security By Rubel Biswas. Introduction History Terms & Definitions Symmetric and Asymmetric Attacks on Cryptosystems Outline.
CMSC 414 Computer and Network Security Lecture 2 Jonathan Katz.
1 CIS 5371 Cryptography 1.Introduction. 2 Prerequisites for this course  Basic Mathematics, in particular Number Theory  Basic Probability Theory 
CMSC 414 Computer (and Network) Security Lecture 3 Jonathan Katz.
CMSC 414 Computer and Network Security Lecture 3
Cryptography Lecture 2.
Presentation transcript:

CMSC 414 Computer and Network Security Lecture 2 Jonathan Katz

JCE tutorial  In class next Tuesday

A high-level survey of cryptography

Caveat  Everything I present will be (relatively) informal –I may simplify, but I will try not to say anything that is an outright lie…  Cryptography is about precise definitions, formal models, and rigorous proofs of security (which we will not cover here) –For more details, take CMSC 456 with me (or read my book)!

Goals of cryptography  Crypto deals primarily with three goals: –Confidentiality –Integrity (of data) –Authentication (of resources, people, systems)  Other goals also considered –E.g., non-repudiation –E-cash (e.g., double spending) –General secure multi-party computation –Anonymity –…–…

Private- vs. public-key settings  For the basic goals of confidentiality and integrity, there are two settings: –Private-key / shared-key / symmetric-key / secret-key –Public-key  The private-key setting is the “classical” one (thousands of years old)  The public-key setting dates to the 1970s

Private-key cryptography  The communicating parties share some information that is random and secret –This shared information is called a key –Key is not known to an attacker –This key must be shared (somehow) in advance of their communication

To emphasize  Alice and Bob share a key K –Must be shared securely –Must be completely random –Must be kept completely secret from attacker  We don’t discuss (for now) how they do this –You can imagine they meet on a dark street corner and Alice hands a USB device (with a key on it) to Bob

Private-key cryptography  For confidentiality: –Private-key (symmetric-key) encryption  For data integrity: –Message authentication codes –(archaic: cryptographic checksums)

Canonical applications  Two (or more) distinct parties communicating over an insecure network –E.g., secure communication  A single party who is communicating “with itself” over time –E.g., secure storage

Alice Bob shared info K K Alice K Bob K

K K

Security?  We will specify the exact threat model being addressed  We will also specify the security guarantees that are ensured, within this threat model –Here: informally; CMSC 456: formally  Crucial to understand these issues before crypto can be successfully deployed! –Make sure the stated threat model matches your application –Make sure the security guarantees are what you need

Security through obscurity?  Always assume that the full details of crypto protocols and algorithms are public –Known as Kerckhoffs’ principle –Only secret information is a key  “Security through obscurity” is a bad idea… –True in general; even more true in the case of cryptography –Home-brewed solutions are BAD! –Standardized, widely-accepted solutions are GOOD!

Private-key encryption

Functional definition  Encryption algorithm: –Takes a key and a message (plaintext), and outputs a ciphertext –c  E K (m)  Decryption algorithm: –Takes a key and a ciphertext, and outputs a message (or perhaps an error) –m = D K (c)  Correctness: for all K, we have D K (E K (m)) = m  We have not yet said anything about security…

Alice Bob shared info K K Alice K Bob K c c  E K (m) m=D K (c)

A classic example: shift cipher  Assume the English uppercase alphabet (no lowercase, punctuation, etc.) –View letters as numbers in {0, …, 25}  The key is a random letter of the alphabet  Encryption done by addition modulo 26  Is this secure? –Exhaustive key search –Automated determination of the key

Another example: substitution cipher  The key is a random permutation of the alphabet –Note: key space is huge!  Encryption done in the natural way  Is this secure? –Frequency analysis  A large key space is necessary, but not sufficient, for security

Another example: Vigenere cipher  More complicated version of shift cipher  Believed to be secure for over 100 years  Is it secure? –Index of coincidence method

Moral of the story?  Don’t use “simple” schemes  Don’t use schemes that you design yourself –Use schemes that other people have already designed and analyzed…

A fundamental problem  A fundamental problem with “classical” cryptography is that no definition of security was ever specified –It was not even clear what it would mean for an encryption scheme to be “secure”  As a consequence, proving security was not even an option –So how can you know when something is secure?

Defining security?  What is a good definition?

Security goals?  Adversary unable to recover the key –Necessary, but meaningless on its own…  Adversary unable to recover entire plaintext –Good, but is it enough?  Adversary unable to determine any information at all about the plaintext –Formalize? –Sounds great! –Can we achieve it?

Note  Even given our definition, we need to consider the threat model –Multiple messages or a single message? –Passive/active adversary? –Chosen-plaintext attacks?

Next time: the one-time pad; its limitations; overcoming these limitations