seal team 2ark/winter2012/482/team/u2/presentation2.pdf · time ./measurement 8000000000 real...

15
SEAL Team 2 Michael Lopez Stephen Nelson Philip Rodriguez

Upload: others

Post on 29-Jul-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: SEAL Team 2ark/winter2012/482/team/u2/presentation2.pdf · time ./measurement 8000000000 real 1m55.937s user 1m55.899s sys 0m0.000s Revised time ./measurement 8000000000 real 1m43.574s

SEAL Team 2

Michael Lopez

Stephen Nelson

Philip Rodriguez

Page 2: SEAL Team 2ark/winter2012/482/team/u2/presentation2.pdf · time ./measurement 8000000000 real 1m55.937s user 1m55.899s sys 0m0.000s Revised time ./measurement 8000000000 real 1m43.574s

Agenda

• SEAL2 – Review • Measurement Analysis • Code and Profile

• encrypt • generateKeystream • initialize

• Running Time Measurements • What We Learned • Possible Future Work • Questions

Page 3: SEAL Team 2ark/winter2012/482/team/u2/presentation2.pdf · time ./measurement 8000000000 real 1m55.937s user 1m55.899s sys 0m0.000s Revised time ./measurement 8000000000 real 1m43.574s

SEAL2 - Review

Page 4: SEAL Team 2ark/winter2012/482/team/u2/presentation2.pdf · time ./measurement 8000000000 real 1m55.937s user 1m55.899s sys 0m0.000s Revised time ./measurement 8000000000 real 1m43.574s

Round 1:

for j = 0 to 19

•t ← (A↩5) + f(B,C,D) + E +

xj + 0x5A827999

•(A,B,C,D,E) ←

(t,A,B↩30,C,D)

Page 5: SEAL Team 2ark/winter2012/482/team/u2/presentation2.pdf · time ./measurement 8000000000 real 1m55.937s user 1m55.899s sys 0m0.000s Revised time ./measurement 8000000000 real 1m43.574s

generateKeystream

for i = 1 to 64

• P ← A∧0x000007fc, B ← B + T[P/4], A ← (A ↪ 9), B ← B ⊕ A

• Q ← B∧0x000007fc, C ← C + T[Q/4], B ← (B ↪ 9), C ← C + B

• P ← (P + C)∧0x000007fc, D ← D + T[P/4], C ← (C ↪ 9), D ← D ⊕ C

• Q ← (Q + D)∧0x000007fc, A ← A ⊕ T[Q/4], D ← (D ↪ 9), A ← A + D

• P ← (P + A)∧0x000007fc, B ← B ⊕ T[P/4], A ← (A ↪ 9)

• Q ← (Q + B)∧0x000007fc, C ← C + T[Q/4], B ← (B ↪ 9)

• P ← (P + C)∧0x000007fc, D ← D ⊕ T[P/4], C ← (C ↪ 9)

• Q ← (Q + D)∧0x000007fc, A ← A + T[Q/4], D ← (D ↪ 9)

• y ← y||(B+S[4i−4])||(C⊕S[4i−3])||(D+S[4i−2])||(A⊕S[4i −1])

• if i is odd: (A,C) ← (A+n1,C+n2); else: (A,C)←(A+n3,C+n4)

Page 6: SEAL Team 2ark/winter2012/482/team/u2/presentation2.pdf · time ./measurement 8000000000 real 1m55.937s user 1m55.899s sys 0m0.000s Revised time ./measurement 8000000000 real 1m43.574s

Measurement Analysis

• Used gprof to analyze following methods:

– encrypt

• Took longest time

• Calculated current keystream byte position each time

– generateKeystream

• Performed multiplication and division operations

– initialize

• Performed multiplication and division operations

Page 7: SEAL Team 2ark/winter2012/482/team/u2/presentation2.pdf · time ./measurement 8000000000 real 1m55.937s user 1m55.899s sys 0m0.000s Revised time ./measurement 8000000000 real 1m43.574s
Page 8: SEAL Team 2ark/winter2012/482/team/u2/presentation2.pdf · time ./measurement 8000000000 real 1m55.937s user 1m55.899s sys 0m0.000s Revised time ./measurement 8000000000 real 1m43.574s

Total time saved: 3.93 seconds

Page 9: SEAL Team 2ark/winter2012/482/team/u2/presentation2.pdf · time ./measurement 8000000000 real 1m55.937s user 1m55.899s sys 0m0.000s Revised time ./measurement 8000000000 real 1m43.574s
Page 10: SEAL Team 2ark/winter2012/482/team/u2/presentation2.pdf · time ./measurement 8000000000 real 1m55.937s user 1m55.899s sys 0m0.000s Revised time ./measurement 8000000000 real 1m43.574s

Total time saved: ~0.4 seconds

Page 11: SEAL Team 2ark/winter2012/482/team/u2/presentation2.pdf · time ./measurement 8000000000 real 1m55.937s user 1m55.899s sys 0m0.000s Revised time ./measurement 8000000000 real 1m43.574s
Page 12: SEAL Team 2ark/winter2012/482/team/u2/presentation2.pdf · time ./measurement 8000000000 real 1m55.937s user 1m55.899s sys 0m0.000s Revised time ./measurement 8000000000 real 1m43.574s

Running Time Difference

Original

time ./measurement 8000000000

real 1m55.937s

user 1m55.899s

sys 0m0.000s

Revised

time ./measurement 8000000000

real 1m43.574s

user 1m43.542s

sys 0m0.004s

Difference = 12.363s

Page 13: SEAL Team 2ark/winter2012/482/team/u2/presentation2.pdf · time ./measurement 8000000000 real 1m55.937s user 1m55.899s sys 0m0.000s Revised time ./measurement 8000000000 real 1m43.574s

What We Learned

• Learned bit manipulation logic better

• Debugging skills improved

• How to use and interpret analysis programs

– gprof

– Visual Studio Performance Report

Page 14: SEAL Team 2ark/winter2012/482/team/u2/presentation2.pdf · time ./measurement 8000000000 real 1m55.937s user 1m55.899s sys 0m0.000s Revised time ./measurement 8000000000 real 1m43.574s

Possible Future Work

• Compare performance in different languages

– Java

– Python

• Create attacks to analyze security properties

• Compare performance of different versions of SEAL

• Compare performance of SEAL2 to other stream ciphers

Page 15: SEAL Team 2ark/winter2012/482/team/u2/presentation2.pdf · time ./measurement 8000000000 real 1m55.937s user 1m55.899s sys 0m0.000s Revised time ./measurement 8000000000 real 1m43.574s

Questions?