seal team 2ark/winter2012/482/team/u2/presentation2.pdf · time ./measurement 8000000000 real...
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](https://reader034.vdocuments.us/reader034/viewer/2022050323/5f7c9252a24c895d8d06c68f/html5/thumbnails/1.jpg)
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](https://reader034.vdocuments.us/reader034/viewer/2022050323/5f7c9252a24c895d8d06c68f/html5/thumbnails/2.jpg)
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](https://reader034.vdocuments.us/reader034/viewer/2022050323/5f7c9252a24c895d8d06c68f/html5/thumbnails/3.jpg)
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](https://reader034.vdocuments.us/reader034/viewer/2022050323/5f7c9252a24c895d8d06c68f/html5/thumbnails/4.jpg)
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](https://reader034.vdocuments.us/reader034/viewer/2022050323/5f7c9252a24c895d8d06c68f/html5/thumbnails/5.jpg)
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](https://reader034.vdocuments.us/reader034/viewer/2022050323/5f7c9252a24c895d8d06c68f/html5/thumbnails/6.jpg)
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](https://reader034.vdocuments.us/reader034/viewer/2022050323/5f7c9252a24c895d8d06c68f/html5/thumbnails/7.jpg)
![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](https://reader034.vdocuments.us/reader034/viewer/2022050323/5f7c9252a24c895d8d06c68f/html5/thumbnails/8.jpg)
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](https://reader034.vdocuments.us/reader034/viewer/2022050323/5f7c9252a24c895d8d06c68f/html5/thumbnails/9.jpg)
![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](https://reader034.vdocuments.us/reader034/viewer/2022050323/5f7c9252a24c895d8d06c68f/html5/thumbnails/10.jpg)
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](https://reader034.vdocuments.us/reader034/viewer/2022050323/5f7c9252a24c895d8d06c68f/html5/thumbnails/11.jpg)
![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](https://reader034.vdocuments.us/reader034/viewer/2022050323/5f7c9252a24c895d8d06c68f/html5/thumbnails/12.jpg)
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](https://reader034.vdocuments.us/reader034/viewer/2022050323/5f7c9252a24c895d8d06c68f/html5/thumbnails/13.jpg)
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](https://reader034.vdocuments.us/reader034/viewer/2022050323/5f7c9252a24c895d8d06c68f/html5/thumbnails/14.jpg)
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](https://reader034.vdocuments.us/reader034/viewer/2022050323/5f7c9252a24c895d8d06c68f/html5/thumbnails/15.jpg)
Questions?