Kai Bu kaibu@zju.edu.cn http://list.zju.edu.cn/kaibu/netsec 03 Cryptanalysis Kai Bu kaibu@zju.edu.cn http://list.zju.edu.cn/kaibu/netsec.

Slides:



Advertisements
Similar presentations
Foundations of Cryptography Lecture 7 Lecturer:Danny Harnik.
Advertisements

CS 6262 Spring 02 - Lecture #7 (Tuesday, 1/29/2002) Introduction to Cryptography.
1 Introduction CSE 5351: Introduction to cryptography Reading assignment: Chapter 1 of Katz & Lindell.
Cryptography. 2 Objectives Explain common terms used in the field of cryptography Outline what mechanisms constitute a strong cryptosystem Demonstrate.
Introduction to Cryptography and Security Mechanisms: Unit 5 Theoretical v Practical Security Dr Keith Martin McCrea
BY MUKTADIUR RAHMAN MAY 06, 2010 INTERODUCTION TO CRYPTOGRAPHY.
Overview of Cryptography and Its Applications Dr. Monther Aldwairi New York Institute of Technology- Amman Campus INCS741: Cryptography.
Cryptanalysis. The Speaker  Chuck Easttom  
Chapter 1 Introduction Cryptography-Principles and Practice Harbin Institute of Technology School of Computer Science and Technology Zhijun Li
One-Time Pad Or Vernam Cipher Sayed Mahdi Mohammad Hasanzadeh Spring 2004.
National Institute of Science & Technology Cryptology and Its Applications Akshat Mathur [1] Cryptology and Its Applications Presented By AKSHAT MATHUR.
Network Security Lecture 10 Presented by: Dr. Munam Ali Shah.
Classical Crypto By: Luong-Sorin VA, IMIT Dith Nimol, IMIT.
1 Lecture 9: Cryptographic Authentication objectives and classification one-way –secret key –public key mutual –secret key –public key establishing session.
CRYPTOGRAPHY & NETWORK SECURITY Introduction and Basic Concepts Eng. Wafaa Kanakri Computer Engineering Umm Al-Qura University.
Overview of Cryptography & Its Applications
CSCI 391: Practical Cryptology Introduction. Definitions Digital encryption techniques are used to protect data in two ways: to maintain privacy and to.
Lecture 3 Page 1 CS 236 Online Introduction to Cryptography CS 236 On-Line MS Program Networks and Systems Security Peter Reiher.
CS526Topic 2: Classical Cryptography1 Information Security CS 526 Topic 2 Cryptography: Terminology & Classic Ciphers.
INCS 741: Cryptography Overview and Basic Concepts.
Cryptography services Lecturer: Dr. Peter Soreanu Students: Raed Awad Ahmad Abdalhalim
Computer Security By Rubel Biswas. Introduction History Terms & Definitions Symmetric and Asymmetric Attacks on Cryptosystems Outline.
Department of Computer Science Chapter 5 Introduction to Cryptography Semester 1.
Intrusion Resilience via the Bounded-Storage Model Stefan Dziembowski Warsaw University and CNR Pisa.
Lecture 3 Page 1 CS 236 Online Basic Encryption Methods Substitutions –Monoalphabetic –Polyalphabetic Permutations.
Network security 1. Security taxonomy Physical security Resource exhaustion - DDoS system/network vulnerabilities Key-based security.
CMSC 414 Computer (and Network) Security Lecture 3 Jonathan Katz.
Secret Key Cryptography
CS/ECE 578 Cyber-Security Dr. Attila Altay Yavuz
Public Key Cryptography
Attacks on Public Key Encryption Algorithms
Cracking Encrypted Systems
Symmetric Cryptography
Chapter 2 Basic Encryption and Decryption
IT443 – Network Security Administration Instructor: Bo Sheng
Privacy & Security.
What is network security?
Security.
Introduction Of System Security
Basic Encryption Methods
Group theory exercise.
Taehyung Kim HPC Lab. POSTECH
Encryption
Cryptography.
Networks Encryption.
Cryptography Lecture 2.
Cryptography Basics and Symmetric Cryptography
Mumtaz Ali Rajput +92 – INFORMATION SECURITY – WEEK 2 Mumtaz Ali Rajput +92 – 301-
刘振 上海交通大学 计算机科学与工程系 电信群楼3-509
مروري برالگوريتمهاي رمز متقارن(كليد پنهان)
Security through Encryption
Encryption with Keys and Passwords
CS/ECE 478 Network Security Dr. Attila Altay Yavuz
Security.
thank you all as always thank you for not dropping the class:)
Introduction to Cryptography (1)
Topic 13: Message Authentication Code
Cryptography and Cryptanalysis
Cryptography Lecture 2.
Kai Bu 05 Secure Connection The topic to be covered this week is secure connection. Apparently, the.
Traditional Symmetric-Key Ciphers
刘振 上海交通大学 计算机科学与工程系 电信群楼3-509
刘振 上海交通大学 计算机科学与工程系 电信群楼3-509
Types of Cryptanalysis attacks
Modern Cryptography.
Security: Integrity, Authentication, Non-repudiation
Security: Public Key Cryptography
Cryptanalysis Network Security.
Key Exchange, Man-in-the-Middle Attack
Review of Cryptography: Symmetric and Asymmetric Crypto Advanced Network Security Peter Reiher August, 2014.
Presentation transcript:

Kai Bu kaibu@zju.edu.cn http://list.zju.edu.cn/kaibu/netsec 03 Cryptanalysis Kai Bu kaibu@zju.edu.cn http://list.zju.edu.cn/kaibu/netsec

Cryptanalysis? What’s cryptanalysis? Dissect the word

Cryptanalysis the science and art of breaking ciphers

Cryptography the science and art of designing ciphers

Cryptology Cryptography Cryptanalysis Together they are the focus of cryptology (crypto)

Cryptology Cryptography Cryptanalysis Cryptography was covered in previous lectures; Today we’ll be focusing on cryptanalysis.

Cryptanalysis Mentioned this comic as an example Kinda illustrate the goal of cryptanalysis

Cryptanalysis is hard Obviously, cryptanalysis is hard

Cryptanalysis is hard 2-to-4096 possibilities 24096!

Cryptanalysis password cracking 24096! Consider it as your password of 4096 bits 24096!

Cryptanalysis password cracking 24096! – Try them all! brute force attack

Cryptanalysis password cracking 24096! – Try them all! brute force attack…meh

Cryptanalysis password cracking 24096! – Try only 3 of them! strategic random guessing

Cryptanalysis password cracking 24096! – Try only 3 of them! What strategies to use to boost attacking success rate? 24096! – Try only 3 of them! strategic random guessing?

Cryptanalysis password cracking 24096! – Try only 3 of them! strategic random guessing: dictionary attack

Cryptanalysis password cracking nah… 24096! – Try only 3 of them! strategic random guessing: dictionary attack

Cryptanalysis password cracking nah… List of commonly used passwords A dictionary attack is a method of breaking into a password-protected computer or server by systematically entering every word in a dictionary as a password. Adictionary attack can also be used in an attempt to find the key necessary to decrypt an encrypted message or document. 24096! – Try only 3 of commonly used ones strategic random guessing: dictionary attack

Cryptanalysis password cracking List of commonly used passwords A dictionary attack is a method of breaking into a password-protected computer or server by systematically entering every word in a dictionary as a password. A dictionary attack can also be used in an attempt to find the key necessary to decrypt an encrypted message or document. 24096! – Try only 3 of commonly used ones! strategic random guessing: dictionary attack

Cryptanalysis other attacks? other strategies?

Cryptanalysis warm up with simple one time pad

OTP: One-Time Pad Example OTP Both encryption and decryption require XOR computation;

OTP: One-Time Pad Key: a secret bit string s of length n When Alice sends a message m of length n to Bob, Alice generates ciphertext c as: forall i = 1 to n: ci = mi⊕si Formal definition How to crack s?

OTP: One-Time Pad Key: a secret bit string s of length n When Alice sends a message m of length n to Bob, Alice generates ciphertext c as: forall i = 1 to n: ci = mi⊕si How to crack s? given c?

OTP: One-Time Pad Key: a secret bit string s of length n When Alice sends a message m of length n to Bob, Alice generates ciphertext c as: forall i = 1 to n: ci = mi⊕si How to crack s? given c? know m!

OTP: One-Time Pad Key: a secret bit string s of length n When Alice sends a message m of length n to Bob, Alice generates ciphertext c as: forall i = 1 to n: ci = mi⊕si Discussion: cases of knowing plaintext messages m; How to crack s? given c? exercise m=0

OTP: One-Time Pad Key: a secret bit string s of length n When Alice sends a message m of length n to Bob, Alice generates ciphertext c as: forall i = 1 to n: ci = mi⊕si How to crack s? given c? exercise m=0 How to know plaintexts? How to know OTP in use?

OTP: One-Time Pad Key: a secret bit string s of length n When Alice sends a message m of length n to Bob, Alice generates ciphertext c as: forall i = 1 to n: ci = mi⊕si Discussion: cases of knowing plaintext messages m; How to crack s? given c? exercise m=0 How to know plaintexts? How to know OTP in use? all security should reside in the key, not the alg

Known-Plaintext Attack Given ciphertext and plaintext of the corresponding messages; P1, C1 = Ek(P1),…,Pi, Ci=Ek(Pi) Task Find key k; Or algorithm to infer Pi+1 from Ci+1

Chosen-Plaintext Attack Given plaintext and ciphertext pairs; can choose plaintext: P1, C1 = Ek(P1),…,Pi, Ci=Ek(Pi) with chosen P1…Pi; Task Find key k; Or algorithm to infer Pi+1 from Ci+1

Adaptive Chosen-Plaintext Attack Given plaintext and ciphertext pairs; can choose plaintext; can modify choice depending on results of previous encryption: P1, C1 = Ek(P1),…,Pi, Ci=Ek(Pi) Task Find key k; Or algorithm to infer Pi+1 from Ci+1

Chosen-Ciphertext Attack Given ciphertext and plaintext pairs; can choose ciphertext; C1, P1 = Dk(C1),…,Ci, Pi=Dk(Ci) Task Find key k; Or algorithm to infer Pi+1 from Ci+1

emm, you can’t always get what you want

Ciphertext-Only Attack Known-Ciphertext Attack The attacker has access only to a set of ciphertexts The attack is completely successful if the corresponding plaintexts or the key can be deduced  In cryptography, a ciphertext-only attack (COA) or known ciphertext attack is an attack model for cryptanalysis where the attacker is assumed to have access onlyto a set of ciphertexts. The attack is completely successful if the corresponding plaintexts can be deduced (extracted) or, even better, the key.

do I have to crack the key?

secure communication against adversaries hack to secure Cryptanalysis is the study of analyzing information systems in order to study the hidden aspects of the systems. Cryptanalysis is used to breach cryptographic security systems and gain access to the contents of encrypted messages, even if the cryptographic key is unknown. For example, two entities secretly meet up at lab; Every time using the same key, and thus get the same ciphertext; Initially (at the first several rounds), the adversary may not know what the ciphertext means; mrj ??? jzk txh meet at lab meet at lab asdfghjkl

secure communication against adversaries hack to secure However, by coincidences, the adversary notices that every time after two entities say “a-l”, they’ll both appear at the lab; The adversary then speculates that the ciphertext “a-l” from entity A to entity B syncs their meetup in lab; mrj : see both in lab : each time a-l jzk txh meet at lab meet at lab asdfghjkl

secure communication against adversaries hack to secure Replay Attack secure communication against adversaries hack to secure Replay attack: Based on that observation, the adversary can simply replay the same message/ciphertext “a-l” to entity B, Making B believes that the message is from entity A, and goes to the lab; mrj : Replay *&#!%$ jzk txh asdfghjkl meet at lab

secure communication against adversaries how to defend? Replay Attack secure communication against adversaries how to defend? How to secure the communication against the replay attack? Discussion mrj : Replay *&#!%$ jzk txh asdfghjkl meet at lab

Replay Attack Defense: Limit Message Freshness Timestamp One-time session key

do I have to crack the key?

can I own the key?

secure communication against adversaries shared secret key mrj jzk txh hello, txh

what if the attacker hijacks key-channel? shared secret key mrj jzk txh hello, txh

Man-In-The-Middle Attack what if the attacker hijacks key-channel? hijacked shared secret key key1 key2 mrj jzk txh hello, txh

Man-In-The-Middle Attack MITM Defense: Guarantee Connection Authenticity

again, do I have to crack the key?

Relay Attack

Relay Attack how to defend?

Relay Attack Defense: Distance Bounding?

Relay Attack Defense: Distance Bounding is response time impractically long? RTT = 2*distance/velocity

Relay Attack Defense: Distance Bounding is response time impractically long? RTT = 2*distance/velocity additional transmission delay

finally, can I crack the key w/o tangling w/ messages?

Program: Control Flow Graph

Program: Control Flow Graph build CFG over memory access patterns

Program: Control Flow Graph keybit=0 keybit=1 build CFG over memory access patterns

Side Channel Attack keybit=0 keybit=1 use CFG to infer key bits

Side Channel Attack defense: obfuscate memory access patterns keybit=0

Review Cryptanalysis Terminology Replay Attack MITM Attack Relay Attack Side Channel Attack

?

emm, project…

Announcement Project Proposal: 05% 2019.03.05, 14:05 – 17:30 ~ 5 min / group Requirements Grading Topic? Why important? C Existing solutions? B Limitations? Your solution? A

Thank You be on the road Run your own race.

Reading Cryptanalysis by Sourav Mukhopadhyay