Fundamental Ellip.c Curve Cryptography Algorithms - - PowerPoint PPT Presentation

fundamental ellip c curve cryptography algorithms draft
SMART_READER_LITE
LIVE PREVIEW

Fundamental Ellip.c Curve Cryptography Algorithms - - PowerPoint PPT Presentation

Fundamental Ellip.c Curve Cryptography Algorithms draft-mcgrew-fundamental-ecc-02 mcgrew@cisco.com kmigoe@nsa.gov Ellip.c Curve Cryptography Alterna.ve to integer-based Key


slide-1
SLIDE 1

Fundamental ¡Ellip.c ¡Curve ¡ Cryptography ¡Algorithms ¡

draft-mcgrew-fundamental-ecc-02 ¡ mcgrew@cisco.com ¡ kmigoe@nsa.gov ¡

slide-2
SLIDE 2

Ellip.c ¡Curve ¡Cryptography ¡

  • Alterna.ve ¡to ¡integer-­‑based ¡Key ¡Exchange ¡and ¡

Signature ¡algorithms ¡

  • Smaller ¡keys ¡and ¡signatures ¡
  • More ¡efficient ¡at ¡higher ¡security ¡levels ¡
slide-3
SLIDE 3

Diffie ¡Hellman ¡

Alice ¡ Bob ¡

x ¡= ¡random ¡ ¡ gx ¡mod ¡p ¡ gy ¡mod ¡p ¡ y ¡= ¡random ¡ ¡ (gx)y ¡mod ¡p ¡ (gy)x ¡mod ¡p ¡ = ¡ g ¡is ¡number ¡< ¡p ¡

slide-4
SLIDE 4

EC ¡Diffie ¡Hellman ¡

Alice ¡ Bob ¡

x ¡= ¡random ¡ ¡ gx ¡ gy ¡ y ¡= ¡random ¡ ¡ (gx)y ¡ (gy)x ¡ = ¡ g ¡is ¡element ¡of ¡EC ¡group ¡G ¡

slide-5
SLIDE 5

Cryptographic ¡Groups ¡

Prime ¡Group ¡ Element ¡is ¡number ¡x ¡< ¡p ¡

  • Prime ¡modulus ¡p ¡
  • Generator ¡g ¡< ¡p ¡
  • Order ¡n ¡

EC ¡Group ¡ Element ¡is ¡(x, ¡y) ¡with ¡x, ¡y ¡< ¡p ¡ with ¡y2 ¡= ¡x3 ¡+ ¡ax ¡+ ¡b ¡mod ¡p ¡ ¡

  • Prime ¡modulus ¡p ¡
  • Parameters ¡a, ¡b ¡< ¡p ¡
  • Generator ¡(gx, ¡gy) ¡
  • Order ¡n ¡

ECC ¡Parameter ¡Set ¡

slide-6
SLIDE 6

Public ¡Key ¡Sizes ¡

186 ¡ 284 ¡ 383 ¡ 482 ¡ 1926 ¡ 4575 ¡ 8719 ¡ 14596 ¡ 100 ¡ 1000 ¡ 10000 ¡ 100 ¡ 150 ¡ 200 ¡ 250 ¡ Bits ¡in ¡Key ¡ Strength ¡in ¡Bits ¡ ECC ¡ Integer ¡

From ¡RFC3766, ¡ ¡Determining ¡Strengths ¡For ¡Public ¡Keys ¡Used ¡For ¡Exchanging ¡Symmetric ¡Keys ¡

30x ¡

slide-7
SLIDE 7

ECC ¡Efficient ¡at ¡High ¡Security ¡

Security ¡ ¡ Computa.onal ¡ Cost ¡ ECC ¡ Integer ¡

slide-8
SLIDE 8

fECC ¡

  • draft-mcgrew-fundamental-ecc

– Informa.onal ¡ ¡ – First ¡published ¡7/09 ¡ – Comments ¡received ¡and ¡incorporated ¡in ¡-­‑02

  • Closely ¡based ¡on ¡pre-­‑1994 ¡references ¡

– Security: ¡survived ¡> ¡16 ¡years ¡of ¡review ¡ – IPR: ¡simplifies ¡analysis ¡

slide-9
SLIDE 9

Timeline ¡

1985 ¡ 1986 ¡ 1987 ¡ 1988 ¡ 1989 ¡ 1990 ¡ 1991 ¡ 1992 ¡ 1993 ¡ 1994 ¡ 1995 ¡ … ¡ … ¡ ECC ¡invented ¡ ECDH ¡ [M1985] ¡ EC ¡ElGamal ¡ [K1987] ¡ ECC ¡ ¡ Implementa.on ¡ [BC1989] ¡ ¡ Homogeneous ¡ Coordinates ¡ [KMOV1991] ¡ ¡ EC ¡ElGamal ¡ Signatures ¡ ¡[A1992] ¡ ¡ Meta ¡ ElGamal ¡ Signatures ¡ [HMP1994] ¡ Abbreviated ¡ EC ¡ElGamal ¡ Signatures ¡ [KT1994] ¡ ¡

slide-10
SLIDE 10

Layers ¡

Crypto ¡Algorithms ¡ Ellip.c ¡Curve ¡Arithme.c ¡ Modular ¡Arithme.c ¡ Key ¡Exchange, ¡Signatures ¡ Coordinates, ¡Representa.on ¡ +, ¡-­‑, ¡*, ¡/ ¡ fECC ¡ Scope ¡

slide-11
SLIDE 11

fECC ¡Diffie-­‑Hellman ¡

  • Miller ¡1985 ¡
  • Compa.ble ¡with ¡IKE ¡(RFC ¡4753) ¡
  • Compa.ble ¡with ¡ECDH ¡(IEEE ¡1363, ¡ANSI ¡X9.62) ¡

– Curves ¡over ¡GF(p) ¡with ¡cofactor=1 ¡ – ECSVDP-­‑DH ¡primi.ve ¡ ¡ – Key ¡Deriva.on ¡Func.on ¡is ¡iden.ty ¡func.on ¡

slide-12
SLIDE 12

fECC ¡Signatures ¡

  • Koyama ¡and ¡Tsuruoka, ¡1994 ¡
  • Horster, ¡Michels, ¡and ¡Petersen, ¡1994 ¡
  • KT-­‑IV ¡Signatures ¡ ¡

– Compa.ble ¡with ¡ECDSA ¡(IEEE ¡1363, ¡ANSI ¡X9.62) ¡

  • KT-­‑I ¡Signatures ¡

– Not ¡interoperable ¡with ¡standard ¡

slide-13
SLIDE 13

ECC ¡Parameter ¡Sets ¡

  • Compa.ble ¡

– Suite ¡B ¡

  • USG ¡Cryptographic ¡Interoperability ¡Strategy ¡
  • Uses ¡NIST ¡P256, ¡P384, ¡P521 ¡

– Other ¡NIST ¡curves ¡over ¡GF(p) ¡ – RFC ¡5639 ¡ ¡Ellip>c ¡Curve ¡Cryptography ¡(ECC) ¡Brainpool ¡ Standard ¡Curves ¡and ¡Curve ¡Genera>on ¡ – WAPI ¡ISO/IEC ¡JTC ¡1/SC ¡6 ¡Proposal ¡

  • Not ¡compa.ble ¡

– DJB’s ¡Curve25519 ¡protocol ¡

slide-14
SLIDE 14

Not ¡in ¡Scope ¡

  • EC ¡Group ¡Parameter ¡Genera.on ¡
  • Iden.ty-­‑based ¡crypto ¡
  • Edwards’ ¡coordinates ¡
  • GF(2m) ¡curves ¡
  • Mod ¡p ¡arithme.c ¡op.miza.ons ¡
  • Cer.ficate ¡details ¡
  • Exo.c ¡groups ¡(hyperellip.c, ¡braids, ¡…) ¡
  • … ¡
slide-15
SLIDE 15

Possible ¡Future ¡Draos ¡

  • Op.miza.ons ¡

– Modular ¡arithme.c ¡

  • Efficient ¡primes ¡

– Ellip.c ¡Curve ¡arithme.c ¡

Priority: ¡preserve ¡interoperability ¡and ¡ ¡compa.bility ¡with ¡standards ¡

slide-16
SLIDE 16

Conclusions ¡

  • Drao ¡ready ¡for ¡RFC ¡
  • ECC ¡deserves ¡serious ¡considera.on ¡

– fECC ¡is ¡secure ¡and ¡performs ¡well ¡

  • Recommenda.on: ¡IETF ¡work ¡using ¡ECC ¡should ¡

explicitly ¡allow ¡fECC ¡

– … implementations MAY use [fECC] …

slide-17
SLIDE 17

Ques.ons? ¡

slide-18
SLIDE 18

(x3,y3) ¡= ¡(x1,y1) ¡× ¡(x2,y2) ¡ ¡

¡x3 ¡= ¡((y2-­‑y1)/(x2-­‑x1))2 ¡-­‑ ¡x1 ¡– ¡x2 ¡ ¡y3 ¡= ¡(x1-­‑x3)(y2-­‑y1)/(x2-­‑x1) ¡– ¡y1 ¡

slide-19
SLIDE 19

A ¡Group ¡

× ¡ 1 ¡ 2 ¡ 3 ¡ 4 ¡ 5 ¡ 6 ¡ 1 ¡ 1 ¡ 2 ¡ 3 ¡ 4 ¡ 5 ¡ 6 ¡ 2 ¡ 2 ¡ 4 ¡ 6 ¡ 1 ¡ 3 ¡ 5 ¡ 3 ¡ 3 ¡ 6 ¡ 2 ¡ 5 ¡ 1 ¡ 4 ¡ 4 ¡ 4 ¡ 1 ¡ 5 ¡ 2 ¡ 6 ¡ 3 ¡ 5 ¡ 5 ¡ 3 ¡ 1 ¡ 6 ¡ 4 ¡ 2 ¡ 6 ¡ 6 ¡ 5 ¡ 4 ¡ 3 ¡ 2 ¡ 1 ¡

5, ¡ ¡ ¡52=4, ¡ ¡ ¡53=6, ¡ ¡54=2, ¡ ¡55=3, ¡ ¡56=1 ¡

Mul.plica.on ¡modulo ¡7 ¡