-
CSE543 - Introduction to Computer and Network Security Page
CSE543 - Introduction to Computer and Network Security Module: Cryptography
Professor Trent Jaeger
1
1
CSE543 - Introduction to Computer and Network Security Module: - - PowerPoint PPT Presentation
CSE543 - Introduction to Computer and Network Security Page
Professor Trent Jaeger
1
1
CSE543 - Introduction to Computer and Network Security Page
2
2
CSE543 - Introduction to Computer and Network Security Page
paper should detail the relevant literature. Papers that do not do this or do a superficial job are almost sure to be bad ones.
understand the basic approaches in the area, and why they do not solve the problem effectively
These are the best areas to find an overview of the contribution
3
3
CSE543 - Introduction to Computer and Network Security Page
communicate their point?
solution.
mathematical arguments (e.g., proofs)
a test apparatus (e.g., measurements, data mining, synthetic workload simulation, trace-based simulation).
merits of the solution in prose (e.g., paper design papers)
4
4
CSE543 - Introduction to Computer and Network Security Page
present in the abstract, introduction, and/or conclusions.
be circumspect.
away from the paper.
are more general than the paper topic.
5
5
CSE543 - Introduction to Computer and Network Security Page
6
6
CSE543 - Introduction to Computer and Network Security Page
software in this paper. He describes an approach whereby he can embed a Trojan horse in a compiler that can insert malicious code on a trigger (e.g., recognizing a login program).
Trojan horse is a program that serves a legitimate purpose on the surface, but includes malicious code that will be executed with it. Examples include the Sony/BMG rootkit: the program provided music legitimately, but also installed spyware.
used to compile compilers. Since the compiler code looks OK and the malice is in the binary compiler compiler, it is difficult to detect.
miscompiles the command to accept a particular password known to the attacker.
7
7
CSE543 - Introduction to Computer and Network Security Page
that you did not totally create yourself.” We all depend on code, but constructing a basis for trusting it is very hard, even today.
8
“A well-known scientist (some say it was Bertrand Russell) once gave a public lecture on astronomy. He described how the earth orbits around the sun and how the sun, in turn, orbits around the center of a vast collection of stars called our galaxy. At the end of the lecture, a little old lady at the back of the room got up and said: "What you have told us is
tortoise." The scientist gave a superior smile before replying, "What is the tortoise standing on?" "You're very clever, young man, very clever", said the old lady. "But it's turtles all the way down!"
8
CSE543 - Introduction to Computer and Network Security Page
by Queen Elizabeth …
conspirators encrypted.
complicity.
9
9
CSE543 - Introduction to Computer and Network Security Page
secret writing
properties, e.g., authenticity of data
specifics of modern cryptography, seek others for additional details (Menezes et. al.).
10
10
CSE543 - Introduction to Computer and Network Security Page
between cryptographers and cryptanalysts
11
11
CSE543 - Introduction to Computer and Network Security Page
the intended receivers
E(plaintext,key) = ciphertext D(ciphertext,key) = plaintext
12
12
CSE543 - Introduction to Computer and Network Security Page
13
13
CSE543 - Introduction to Computer and Network Security Page
slots to the right
S E C U R I T Y A N D P R I V A C Y V H F X U L W B D Q G S U L Y D F B
A B C D E F G H I J K L M N O P Q R S T V W X Y Z A B C D E F G H I J K L M N O P Q R S T V W X Y Z U U
14
14
CSE543 - Introduction to Computer and Network Security Page
15
15
CSE543 - Introduction to Computer and Network Security Page
1 T F D V S J U Z B M E Q S J W B D Z 2 U G E W T K V A C N F R T H X C E A 3 W H F X U L W B D Q G S U L Y D F B S E C U R I T Y A N D P R I V A C Y
16
16
CSE543 - Introduction to Computer and Network Security Page
in the alphabet
17
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
17
CSE543 - Introduction to Computer and Network Security Page
Why are substitution ciphers breakable?
breakable because they don’t hide the underlying frequency of characters. You can use this information if you know the target language frequency count.
b,v,k,x,q,j,z
18
2 4 6 8 10 12 14 E T A O I N S R H D L U C M F Y W G P B V K X Q J ZEnglish Character Frequency (in %)
18
CSE543 - Introduction to Computer and Network Security Page
fjrng naq grnef gb trg gb jurer jr ner gbqnl,
Gbqnl jr ortva va rnearfg gur jbex bs znxvat fher gung gur jbeyq jr yrnir bhe puvyqera vf whfg n yvggyr ovg orggre guna gur bar jr vaunovg gbqnl.
19
19
CSE543 - Introduction to Computer and Network Security Page
20
20-1
CSE543 - Introduction to Computer and Network Security Page
fjrng naq grnef gb trg gb jurer jr ner gbqnl,
Gbqnl jr ortva va rnearfg gur jbex bs znxvat fher gung gur jbeyq jr yrnir bhe puvyqera vf whfg n yvggyr ovg orggre guna gur bar jr vaunovg gbqnl.
20
20-2
CSE543 - Introduction to Computer and Network Security Page
fjrng naq grnef gb trg gb jurer jr ner gbqnl,
Gbqnl jr ortva va rnearfg gur jbex bs znxvat fher gung gur jbeyq jr yrnir bhe puvyqera vf whfg n yvggyr ovg orggre guna gur bar jr vaunovg gbqnl.
sweat and tears to get to where we are today, but we have just begun. Today we begin in earnest the work of making sure that the world we leave our children is just a little bit better than the one we inhabit today.
20
20-3
CSE543 - Introduction to Computer and Network Security Page
fjrng naq grnef gb trg gb jurer jr ner gbqnl,
Gbqnl jr ortva va rnearfg gur jbex bs znxvat fher gung gur jbeyq jr yrnir bhe puvyqera vf whfg n yvggyr ovg orggre guna gur bar jr vaunovg gbqnl.
sweat and tears to get to where we are today, but we have just begun. Today we begin in earnest the work of making sure that the world we leave our children is just a little bit better than the one we inhabit today.
20
‘r’ appears very frequently so very likely is one of the top frequency letters.
20-4
CSE543 - Introduction to Computer and Network Security Page
fjrng naq grnef gb trg gb jurer jr ner gbqnl,
Gbqnl jr ortva va rnearfg gur jbex bs znxvat fher gung gur jbeyq jr yrnir bhe puvyqera vf whfg n yvggyr ovg orggre guna gur bar jr vaunovg gbqnl.
sweat and tears to get to where we are today, but we have just begun. Today we begin in earnest the work of making sure that the world we leave our children is just a little bit better than the one we inhabit today.
21
Repeat this process, picking
common words, e.g., ‘the’ ... which gives (e to r), (g to t), and (u to h)
21
CSE543 - Introduction to Computer and Network Security Page
for E and D
to encrypted data
22
22
CSE543 - Introduction to Computer and Network Security Page
as possible
complex as possible
23
23
CSE543 - Introduction to Computer and Network Security Page
(now NIST) in 1972
modern area of cryptography
(56-bits+8 parity bits)
substitution, initial and final permutation
24
24
CSE543 - Introduction to Computer and Network Security Page
48-bits via permutation
subkey, which is also 48-bits
value to 4-bit value depending on S-box
spreads each S-box output across for 4 S-box inputs for future round
25
25
CSE543 - Introduction to Computer and Network Security Page
relationship between the key and the ciphertext
key and ciphertext is as complex as possible.
26
Example: Given a 6-bit input, the 4-bit output is found by selecting the row using the
has outer bits "01" and inner bits "1101"; the corresponding output would be "1001".
26
CSE543 - Introduction to Computer and Network Security Page
relationship between the plaintext and the ciphertext
plaintext and ciphertext is as complex as possible.
cryptanalysis
27
27
CSE543 - Introduction to Computer and Network Security Page
than $250,000 < 3 days
minutes (over many machines)
world can crack (recover key) DES in milliseconds
28
28
CSE543 - Introduction to Computer and Network Security Page
29
k1, k2, k3
29
CSE543 - Introduction to Computer and Network Security Page
algorithm, but is strength strongly correlated (or perfectly correlated with key length)?
and 160 bits (the common measure)
30
Implication: references to key length in advertisements are often meaningless.
30
CSE543 - Introduction to Computer and Network Security Page
31
31-1
CSE543 - Introduction to Computer and Network Security Page
31
31-2
CSE543 - Introduction to Computer and Network Security Page
known only to two parties, Alice and Bob
ciphertext bits:
likely, then you have no information to work with.
32
n
ci = mi ⊕ ki
32
CSE543 - Introduction to Computer and Network Security Page
33
33
CSE543 - Introduction to Computer and Network Security Page
the “MixColumn” operation
34
34
CSE543 - Introduction to Computer and Network Security Page
35
35
CSE543 - Introduction to Computer and Network Security Page
information is available to the adversary
available and wants to determine the plaintext
to determine plaintext based on a different ciphertext
encryption of any plaintext, tries to determine the plaintext for a different ciphertext
decrypt
36
36
CSE543 - Introduction to Computer and Network Security Page
pairs of ciphertext/plaintext encrypted under the same key, tries to determine plaintext based on a different ciphertext
use them to extract the key material
cryptographic “modes” to prevent such detection
37
37
CSE543 - Introduction to Computer and Network Security Page
38
38
CSE543 - Introduction to Computer and Network Security Page
passwords)
39
39
CSE543 - Introduction to Computer and Network Security Page
space optimization)
compute h-1(y), where y=h(d)
h(x1) == h(x2)
40
40
CSE543 - Introduction to Computer and Network Security Page
41
41
CSE543 - Introduction to Computer and Network Security Page
lecture.
student through Mallory, her evil TA.
– If does not cancel class, she does nothing – If Bob receives the token t, he knows that Alice sent it
42
42
CSE543 - Introduction to Computer and Network Security Page
– t acts as an authenticated value (authenticator) because Mallory could not have produced t without inverting h() – Note: Mallory can convince Bob that class is occurring when it is not by simply not delivering t (but we assume Bob is smart enough to come to that conclusion when the room is empty)
good as (single bit) authenticators.
value h(t) from Alice directly (was provably authentic)
43
43
CSE543 - Introduction to Computer and Network Security Page
same protocol, only for all 26 classes (the semester)
1.Alice invents a secret t 2.Alice gives Bob h26(t), where h26() is 26 repeated uses of h(). 3.If she cancels class on day d, she gives h(26-d)(t) to Mallory, e.g.,
If cancels on day 1, she gives Mallory h25(t) If cancels on day 2, she gives Mallory h24(t) ……. If cancels on day 25, she gives Mallory h1(t) If cancels on day 26, she gives Mallory t
4.If does not cancel class, she does nothing – If Bob receives the token t, he knows that Alice sent it
44
44
CSE543 - Introduction to Computer and Network Security Page
(authenticator) because Mallory could not create h(26-d)(t) without inverting h(26-d-1)(t) because for any hk(t) she has hj(t) where 26>j>k
all days prior to today, but that provides no information on today’s value, as they are all post-images of today’s value
by not delivering h(26-d)(t)
Alice directly (was provably authentic)
45
45
CSE543 - Introduction to Computer and Network Security Page
hash chain as authenticators.
what i is expected, and authenticate the user.
time but learn nothing useful for later periods.
46
46
CSE543 - Introduction to Computer and Network Security Page
useless?
47
47
CSE543 - Introduction to Computer and Network Security Page
passwords more expensive. For example, you can repeat the salted hash many times ...
48
48
CSE543 - Introduction to Computer and Network Security Page
important to hash functions?
people in a group of 23 share the same birthday is >than 50%
– function f() whose output is uniformly distributed – On repeated random inputs n = { n1, n2, , .., nk }
49
49
CSE543 - Introduction to Computer and Network Security Page
integrity for data d
50
50
CSE543 - Introduction to Computer and Network Security Page
algorithm X(d) that produces MAC(k,d) without k (assume d is known).
does not)
51
d = 0 then, X(d) = h(k ⊕ 0) = h(k)
51
CSE543 - Introduction to Computer and Network Security Page
attacker
52
52
CSE543 - Introduction to Computer and Network Security Page
encryption function in CBC mode
dependent on all prior plaintext blocks
53
53
CSE543 - Introduction to Computer and Network Security Page
securely to another party (Bob)
distribution, later)
Bob can read it?
knows it is from Alice?
54
54
CSE543 - Introduction to Computer and Network Security Page
security problems
almost assuredly snake oil
55
55
CSE543 - Introduction to Computer and Network Security Page
failures
56
56
CSE543 - Introduction to Computer and Network Security Page
security
number with PIN key (offset can be used)
57
57
CSE543 - Introduction to Computer and Network Security Page
58
58
CSE543 - Introduction to Computer and Network Security Page
59
59
CSE543 - Introduction to Computer and Network Security Page
don’t always work securely
followed
60
60
CSE543 - Introduction to Computer and Network Security Page
61
61
CSE543 - Introduction to Computer and Network Security Page
understood
62
62
CSE543 - Introduction to Computer and Network Security Page
63
63
CSE543 - Introduction to Computer and Network Security Page
BouncyCastle (Java, C#)
think of a package before using it
programmer
64
64
CSE543 - Introduction to Computer and Network Security Page
secrets onto disk)
prime length, using parameters from one algorithm in another
65
65