what engineers don't know (but probably mathematicians do)
DESCRIPTION
presentation by an engineer in front of mathematicians in math dept. [24 july 2009]TRANSCRIPT
what engineers don’t know(but mathematicians probably do)
Budi RahardjoSchool of Electical Engineering & Informatics
Institut Teknologi Bandung
engineerscreate
products
[sorry, pictures deleted - unknown ipr]
security products
sometimes inefficient
• Longer time to boot or process stuff• Only work for toy problems• Even, … they just don’t work at all• [failed products?]
[taken from a product somewhere]
There are 3 kinds of peoplein this world:–Those who can count and–those who can’t
Need ways to improve
• Increase performance• Less power• Smaller in size• Cost efficiency• Always, not easy
Example
• Cryptographic applications, eg.public-key cryptography
c = me mod n• With large e and n (big num) integer
• Straight forward softwareimplementation is difficult
Large (512-bit) numbers
• n = 81 5a d0 b9 0a ac 9f 4c da cc 57 6e ca a76a c3 46 92 a7 81 68 ec 08 ec 77 dd 40 c2 ec97 52 cb 3b 34 2c b6 a6 e2 76 3a ed 42 84 fa55 ac 0d 6c 10 39 a2 7e a3 09 be 40 35 38 047d 06 43 1f 6f
• e = 29 40 70 02 50 db 19 6b b1 f4 8a a7 b4 596c 4b 66 b5 94 f6 15 ae e4 69 44 95 23 f3 d0fc ea 84 19 7c 55 e0 27 40 2d 19 18 15 08 0551 ac f5 98 91 f0 98 5f c4 17 05 eb 3b e8 a304 32 d4 20 2f
• d = 59 f1 2f 29 73 d0 bc 8e 13 6e 2a 21 53 2cb7 4d 69 82 c9 54 92 6c 64 43 0d 69 15 83 e944 a6 de 5e 30 e9 ae 48 f9 c8 84 a4 16 44 4ddf 50 f2 0e 96 3e 24 df a4 f4 ec 3d c6 db 61a7 e6 dc ea cf
[64 chunks]
Solutions, transformations,tricks, …
Mathematics• Fast
exponentiation• …
Programming• Loop unrolling• …
Fast Exponentiation
Loop Unrolling
for (int x = 0; x < 100; x++) { do(x);} /* before loop unroll */
for (int x = 0; x < 100; x += 5) { do(x); do(x+1); do(x+2); do(x+3); do(x+4);} /* after - less loops */
hardware
• Implementationin constraineddevices– Limitted memory &
computing power
a short detour to crypto
Encryption DecryptionPlaintextCiphertext
Shared (secret) key
Y$3*@8nhklq&ajbq
My phone555-1234
My phone555-1234
Plaintext
Alice Bob
Eve
Private-key crypto(secret key, symmetric)
Problems
• Key exchange• Number of keys explode
exponentially
n(# users)
n * (n-1) / 2 ≈ n2/2(# of keys)
10 50100 50001000 500.000
10.000 50.000.000100.000 5.000.000.000
New direction in cryptography
Public-key crypto(asymmetric)
Encryption DecryptionPlaintextCiphertext
L)8*@HgxuqnrpGtZ
My phone555-1234
My phone555-1234
Plaintext
Public key
Private key
Public key repositoryCertificate Authority (CA)
Concluding Remarks
… engineers taketh whatmathematicians giveth …
Thank You