Introduction to Symmetric-key and Public-key Cryptography

Slides:



Advertisements
Similar presentations
CS 6262 Spring 02 - Lecture #7 (Tuesday, 1/29/2002) Introduction to Cryptography.
Advertisements

Digital Signatures and Hash Functions. Digital Signatures.
1 Introduction CSE 5351: Introduction to cryptography Reading assignment: Chapter 1 of Katz & Lindell.
CS 483 – SD SECTION BY DR. DANIYAL ALGHAZZAWI (4) Information Security.
1 Counter-measures Threat Monitoring Cryptography as a security tool Encryption Digital Signature Key distribution.
Session 5 Hash functions and digital signatures. Contents Hash functions – Definition – Requirements – Construction – Security – Applications 2/44.
Lesson Title: Introduction to Cryptography Dale R. Thompson Computer Science and Computer Engineering Dept. University of Arkansas
Dr Alejandra Flores-Mosri Message Authentication Internet Management & Security 06 Learning outcomes At the end of this session, you should be able to:
Chapter 5 Cryptography Protecting principals communication in systems.
BY MUKTADIUR RAHMAN MAY 06, 2010 INTERODUCTION TO CRYPTOGRAPHY.
Kemal AkkayaWireless & Network Security 1 Department of Computer Science Southern Illinois University Carbondale CS 591 – Wireless & Network Security Lecture.
Secure Hashing and DSS Sultan Almuhammadi ICS 454 Principles of Cryptography.
How cryptography is used to secure web services Josh Benaloh Cryptographer Microsoft Research.
Hash Functions Nathanael Paul Oct. 9, Hash Functions: Introduction Cryptographic hash functions –Input – any length –Output – fixed length –H(x)
Fall 2010/Lecture 311 CS 426 (Fall 2010) Public Key Encryption and Digital Signatures.
Chapter 13: Electronic Commerce and Information Security Invitation to Computer Science, C++ Version, Fourth Edition SP09: Contains security section (13.4)
Chapter 8.  Cryptography is the science of keeping information secure in terms of confidentiality and integrity.  Cryptography is also referred to as.
CN8816: Network Security1 Confidentiality, Integrity & Authentication Confidentiality - Symmetric Key Encryption Data Integrity – MD-5, SHA and HMAC Public/Private.
Introduction to Public Key Cryptography
Lecture 19 Page 1 CS 111 Online Symmetric Cryptosystems C = E(K,P) P = D(K,C) E() and D() are not necessarily the same operations.
Cryptography, Authentication and Digital Signatures
How cryptography is used to secure web services Josh Benaloh Cryptographer Microsoft Research.
CS526: Information Security Prof. Sam Wagstaff September 16, 2003 Cryptography Basics.
IS 302: Information Security and Trust Week 5: Integrity 2012.
Message Authentication Code July Message Authentication Problem  Message Authentication is concerned with:  protecting the integrity of a message.
Module 3 – Cryptography Cryptography basics Ciphers Symmetric Key Algorithms Public Key Algorithms Message Digests Digital Signatures.
Basic Cryptography 1. What is cryptography? Cryptography is a mathematical method of protecting information –Cryptography is part of, but not equal to,
Cryptography Wei Wu. Internet Threat Model Client Network Not trusted!!
Computer Security: Principles and Practice First Edition by William Stallings and Lawrie Brown Lecture slides by Lawrie Brown Chapter 2 – Cryptographic.
Lecture 2: Introduction to Cryptography
CIT 380: Securing Computer SystemsSlide #1 CIT 380: Securing Computer Systems Modern Cryptography.
Cryptography 1 Crypto Cryptography 2 Crypto  Cryptology  The art and science of making and breaking “secret codes”  Cryptography  making “secret.
Data Integrity / Data Authentication. Definition Authentication (Signature) algorithm - A Verification algorithm - V Authentication key – k Verification.
@Yuan Xue 285: Network Security CS 285 Network Security Hash Algorithm Yuan Xue Fall 2012.
Chapter 12 – Hash Algorithms
Lecture 3 Overview of Cryptography A Practitioner Perspective
Public Key Cryptography
Basics of Cryptography
Security Outline Encryption Algorithms Authentication Protocols
Symmetric Cryptography
IT443 – Network Security Administration Instructor: Bo Sheng
Public-Key Cryptography and Message Authentication
Cryptography Much of computer security is about keeping secrets
Cryptography Why Cryptography Symmetric Encryption
Cryptographic Hash Function
Public Key Encryption and Digital Signatures
Security.
Introduction to Security
Basic Network Encryption
Cryptography.
Presented by: Dr. Munam Ali Shah
Digital Signatures Last Updated: Oct 14, 2017.
Cryptography Basics and Symmetric Cryptography
ICS 454 Principles of Cryptography
Security through Encryption
PART VII Security.
Security.
ICS 454 Principles of Cryptography
Encryption INST 346, Section 0201 April 3, 2018.
Outline Using cryptography in networks IPSec SSL and TLS.
Chapter -7 CRYPTOGRAPHIC HASH FUNCTIONS
DISSERTATION ON CRYPTOGRAPHY.
Chapter 3 - Public-Key Cryptography & Authentication
Basic Network Encryption
Basic of Modern Cryptography
Security: Integrity, Authentication, Non-repudiation
Review of Cryptography: Symmetric and Asymmetric Crypto Advanced Network Security Peter Reiher August, 2014.
Presentation transcript:

Introduction to Symmetric-key and Public-key Cryptography

Overview Cryptography: secure communication over insecure communication channels Three goals Confidentiality Only authorized people can see the message Integrity If the message is tampered by an attacker, we can know Authenticity We can check whether a message is from a given person

Brief History of Crypto 2,000 years ago Caesar Cypher: shifting each letter forward by a fixed amount Encode and decode by hand During World War I/II Mechanical era: a mechanical device for encrypting messages After World War II Modern cryptography: rely on mathematics and electronic computers

Plaintext and ciphertext Plaintext is the message before encryption Ciphertext is the encrypted message

Modern Cryptography Symmetric-key cryptography The same secret key is used by both endpoints of a communication Public-key cryptography (or asymmetric cryptography) Two endpoints use different keys

Roadmap Symmetric-key cryptography Public-key cryptography Confidentiality Block cipher Stream cipher Integrity & authenticity HMAC Public-key cryptography Public-key encryption Digital signature

Symmetric-key cryptography :Block Cipher Encrypt/Decrypt messages in fixed size blocks using the same secret key k-bit secret key n-bit plaintext/ciphertext n bits n bits E, D Plaintext Block Ciphertext Block Key k Bits

Examples of Block Cipher DES - Data Encryption Standard (1977) Works on 64 bit block with 56 bit keys Developed by IBM (Lucifer) improved by NSA Brute force attack feasible in 1997 AES – Advanced Encryption Standard (1997) Block size 128 bits Key can be 128, 192, or 256 bits

Modes of Operation Block ciphers encrypt fixed size blocks eg. DES encrypts 64-bit blocks with 56-bit key Need to en/decrypt arbitrary amounts of data NIST SP 800-38A defines 5 modes of operation Divide a long message into blocks and encypt each one using a block cipher

Stream cipher For a message with a length k Generate a key with length k This is often a pseudo-random bit stream generated from a master secret key Encryption and decryption are simple Examples RC4 (insecure) ChaCha20-Poly1305

Hash functions Properties Variable input size Fixed output size (e.g., 512 bits) Efficient to compute Pseudo-random (mixes up input well)

Cryptographic hash functions Cryptogtaphic hash functions add conditions Preimage resistance Given h, intractable to find y such that H(y)=h Second preimage resistance Given x, intractable to find y≠x such that H(y)=H(x) Collision resistance Intractable to find x, y such that y≠x and H(y)=H(x)

We have a cryptographic hash function crisis Popular hash function MD5 Thoroughly broken Government standard function SHA-1, SHA-2 Theoretical weaknesses “New” cryptographic hash function SHA-3 Too new to fully evaluate Maybe good enough

Message Integrity: Hashed Message Authentication Codes (HMACs) Goal: provide message integrity and authenticity ex: Protecting public binaries on disk. k k Message m tag Alice Bob Generate tag: tag  S(k, m) Verify tag: V(k, m, tag) = `yes’ ?

HMAC Most widely used MAC on the Internet. H: hash function. example: SHA-256; output is 256 bits Building a MAC out of a hash function: Standardized method: HMAC S( k, m ) = H( kopad , H( kipad , m ) ) opad, ipad: fixed strings

Public key encryption Def: a public-key encryption system is a triple of algs. (G, E, D) G(): randomized alg. outputs a key pair (pk, sk) E(pk, m): randomized alg. that takes m∈M and outputs c ∈C D(sk, c): det. alg. that takes c∈C and outputs m∈M or ⊥ Consistency: ∀(pk, sk) output by G : ∀m∈M: D(sk, E(pk, m) ) = m

Building Block: Trapdoor Functions (TDF) Def: a trapdoor function over X is a triple of efficient algs. (G, F, F-1) G(): randomized alg. outputs a key pair (pk, sk) F(pk,⋅): deterministic alg. that defines a function X ⟼ Y F-1(sk,⋅): defines a function Y ⟼ X that inverts F(pk,⋅) Security: (G, F, F-1) is secure if F(pk, ⋅) is a “one-way” function: given F(pk, x) and pk it is difficult to find x for all x in X: F-1(sk, F(pk, x) ) = x

Example TDF: RSA set N  pq (3072 bits  925 digits) alg. G(): generate two equal length primes p, q set N  pq (3072 bits  925 digits) set e  216+1 = 65537 set d  e-1 (mod (N)) pk = (N, e) ; sk = (N, d) RSA(pk, x) : x  (xe mod N) Inverting this function is believed to be as hard as factoring N RSA-1(sk, y) : y  (yd mod N)

Public Key Encryption with a TDF G(): generate pk and sk E(pk, m): choose random x  domain(F) and set k  H(x) c0  F(pk, x) , c1  E(k, m) (E: symm. cipher) send c = (c0, c1) D(sk, c=(c0,c1) ): x  F-1(sk, c0) , k  H(x) , m  D(k, c1) c0 c1

Digital signature Bind message to author An author uses its private key to create a signature Signature is different for different message Anyone can verify the signature with the author’s public key It is hard for attackers to forge a signature for a message without knowing the private key

Digital Signatures: applications Software distribution Windows Update File Microsoft’s signature on file

Certificates How we can know a public key belongs to the author? Use certificate A trusted third party issues a digital certificate saying that a public key belongs to the author Widely used in Internet