Download presentation

Presentation is loading. Please wait.

1
Announcements: 1. Class cancelled tomorrow 2. HW7 due date moved to Thursday. Questions? This week: Birthday attacks, Digital signatures Birthday attacks, Digital signatures DTTF/NB479: DszquphsbqizDay 29

2
Birthday paradox We found 2 people in the class of 22 with the same birthday. What’s the chances of that happening with our entire class? Exact solution: use fractions Approximate solution:

3
Consider… How many people are needed to get the probability of having 2 with the same birthday to be above 50%? Derive for general N (not just days in a year)

4
Compare with this… What’s the chance that one of the other 24 student’s has your birthday? Note: the chance of someone matching me is low, but there are lots of ways to get pairs of matches in general. There are lots of ways to find collisions, but fewer ways to get a collision with a known document/digest.

5
Birthday attacks on SHA-1? How many digests are possible when h is an n-bit hash? The birthday paradox says I can choose r = sqrt(n) messages and there’s a good possibility that 2 will match. For a 60-bit hash, r = ??? For a 60-bit hash, r = ??? For a 160-bit hash, r = ??? For a 160-bit hash, r = ???

6
Multicollisions Recall: given r people and N (say, 365) birthdays. If, then there’s a good chance that 2 people will have the same birthday Generalization: given r people and N birthdays. If for some k, then there’s a good chance that k people will have the same birthday. So for 160-bit hashes, how many messages do we need to generate to get an 8-collision? That’s lots more than 2 80 ! However, there’s a big underlying assumption: the hash function is random! Is SHA-1 random? (answer on next slide)

7
No (It’s iterative…)

8
Recall this picture Consider the following attack: 1.Birthday attack the first block: x1 = h’(x0, m1) 1.Need to generate 2 n/2 messages 2.Result: found (m1, m1’) such that x1 = h’(x0, m1) = h’(x0, m1’) 2.Repeat for x2 and x3, finding pairs (m2, m2’) based on x1 and (m3, m3’) based on x2. 1.Need to generate total of 3 * 2 n/2 messages 2.Result: found 8 combinations (m1, m1’) x (m2, m2’) x (m3, m3’) with same x3. 3.3 x 2 80 is lots smaller than 2 140. Could we even do better? m1m1 m2m2 X0X0 X1X1 X2X2 h’ m3m3 X3X3 mLmL XLXL =h(m) m1’m1’ m2’m2’ m3’m3’

9
The Future of SHA-1?

10
Birthday attacks on discrete logs Birthday attack Uses sqrt(n) modular exponentiations Uses sqrt(n) modular exponentiations Works probabilistically Works probabilistically Works with high probability. Works with high probability. Requires random modular exponentiations to be done Requires random modular exponentiations to be done BabyStep, GiantStep attack Uses sqrt(n) modular exponentiations Works deterministically. Guaranteed to work Does modular exponentiations in order, which is somewhat faster BabyStep, GiantStep attack Compare with BabyStep, GiantStep attack

11
For your pleasure… What’s the chance that 2 people in a family of 4 have a birthday in the same month? How big does our class need to be to have: a 99% chance that 2 have the same birthday? a 99% chance that 2 have the same birthday? a 100% probability (guaranteed) that 2 have the same birthday? a 100% probability (guaranteed) that 2 have the same birthday? Trivia: If a professor posts grades for his class of 200 students by using the last 4 digits of each student’s SSN, what’s the probability that at least 2 students have same last 4 digits? …for a class at UIUC? (200 students) …for a class at Rose? (30 students)

Similar presentations

© 2020 SlidePlayer.com Inc.

All rights reserved.

To make this website work, we log user data and share it with processors. To use this website, you must agree to our Privacy Policy, including cookie policy.

Ads by Google