1 / 14

Cryptographic coprocessor

Cryptographic coprocessor. Tomáš Davidovič 16. 6. 2008. Introduction. Asymmetric cryptography RSA – Integer factorization ECC – Elliptic Curve Cryptography Points on an Elliptic Curve Basic operation – scalar point multiplication Q = k * P – compute via add-and-double

Download Presentation

Cryptographic coprocessor

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Cryptographiccoprocessor Tomáš Davidovič 16. 6. 2008

  2. Introduction • Asymmetric cryptography • RSA – Integer factorization • ECC – Elliptic Curve Cryptography • Pointson an Elliptic Curve • Basic operation – scalar point multiplication • Q = k*P – compute via add-and-double • ECDLP – Elliptic Curve Discrete Logarithm Problem, determine k from Q and P Cryptographic coprocessor

  3. EC – point addition – real numbers Cryptographic coprocessor

  4. EC – discrete • Cannot use real numbers • Coordinates from GF(2m) • Two coordinate systems • Affine coordinates (x, y) – mul & div • Projective coordinates (x, y, z) – mul only • Two bases in GF(2m) • Polynomial – am-1xm-1+am-2xm-2+…+a1x+a0 • Normal – am-1x2^(m-1)+am-2x2^(m-2)+…+a1x2+a0x Cryptographic coprocessor

  5. EC – required operations • Addition, subtraction • Bitwise XOR in both bases • Squaring • Simple (but different) comb. logic in both • Multiplication • Bit-serial (m cycles) • Digit-serial multiplier in both (m/D cycles) • Division • Polynomial b. via Extended Euclid’s Algorithm • Normal b. via Little Fermat Theorem (costly) Cryptographic coprocessor

  6. Block diagram Previous work Cryptographic coprocessor

  7. Polynomial squaring Cryptographic coprocessor

  8. Multiplication – bit-serial Cryptographic coprocessor

  9. Multiplication – digit-serial • Bit-serial – C = A*B • Multiplies by 1 bit at a time • Digit-serial – C = A*B; • Digit – multiply by D bits at a time • C = 0; i = 0; (D = 2) • C = C + A*B[i] + (A<<1)*B[i+1] • Shift A left by 2; i = i + 2; Repeat until i = m Cryptographic coprocessor

  10. Micro-controller Cryptographic coprocessor

  11. Verification • Some functions base specific • Wrappers • Algorithms universal • Test algorithms • Use algorithms to verify design • Quality – code coverage • Statement coverage – each line used • Branch coverage – each if taken both ways Cryptographic coprocessor

  12. Results – area Cryptographic coprocessor

  13. Results – speed (cycles) Cryptographic coprocessor

  14. Wrap Up • Coprocessor • Both bases implemented • Both coordinate systems evaluated • Verification • 100% Branch and statement coverage • Everything passes • Comparison • Normal D=6 and poly D=1 equal in size • Normal faster than poly when equal size Cryptographic coprocessor

More Related