ebook img

Guide to Elliptic Curve Cryptography PDF

332 Pages·2004·23.003 MB·English
Save to my drive
Quick download
Download
Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.

Preview Guide to Elliptic Curve Cryptography

Guide to Elliptic Curve Cryptography Springer New York Berlin Heidelberg Hong Kong London Milan Paris Tokyo Darrel Hankerson Alfred Menezes Scott Vanstone Guide to Elliptic Curve Cryptography With 38 Illustrations Springer Contents ListofAlgorithms ix ListofTables xiv ListofFigures xvi Acronyms xvii Preface xix 1 IntroductionandOverview 1 1.1 Cryptographybasics . . . . . . . . . . . . . . . . . . . . . . . . . . 2 1.2 Public-keycryptography . . . . . . . . . . . . . . . . . . . . . . . . 6 1.2.1 RSAsystems . . . . . . . . . . . . . . . . . . . . . . . . . . 6 1.2.2 Discretelogarithmsystems . . . . . . . . . . . . . . . . . . . 8 1.2.3 Ellipticcurvesystems . . . . . . . . . . . . . . . . . . . . . 11 1.3 Whyellipticcurvecryptography?. . . . . . . . . . . . . . . . . . . . 15 1.4 Roadmap . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 1.5 Notesandfurtherreferences . . . . . . . . . . . . . . . . . . . . . . 21 2 FiniteFieldArithmetic 25 2.1 Introductiontofinitefields . . . . . . . . . . . . . . . . . . . . . . . 25 2.2 Primefieldarithmetic . . . . . . . . . . . . . . . . . . . . . . . . . . 29 2.2.1 Additionandsubtraction . . . . . . . . . . . . . . . . . . . . 30 2.2.2 Integermultiplication . . . . . . . . . . . . . . . . . . . . . . 31 2.2.3 Integersquaring . . . . . . . . . . . . . . . . . . . . . . . . 34 2.2.4 Reduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 2.2.5 Inversion . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 2.2.6 NISTprimes . . . . . . . . . . . . . . . . . . . . . . . . . . 44 vi Contents 2.3 Binaryfieldarithmetic . . . . . . . . . . . . . . . . . . . . . . . . . 47 2.3.1 Addition . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47 2.3.2 Multiplication . . . . . . . . . . . . . . . . . . . . . . . . . . 48 2.3.3 Polynomialmultiplication . . . . . . . . . . . . . . . . . . . 48 2.3.4 Polynomialsquaring . . . . . . . . . . . . . . . . . . . . . . 52 2.3.5 Reduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 2.3.6 Inversionanddivision . . . . . . . . . . . . . . . . . . . . . 57 2.4 Optimalextensionfieldarithmetic . . . . . . . . . . . . . . . . . . . 62 2.4.1 Additionandsubtraction . . . . . . . . . . . . . . . . . . . . 63 2.4.2 Multiplicationandreduction . . . . . . . . . . . . . . . . . . 63 2.4.3 Inversion . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67 2.5 Notesandfurtherreferences . . . . . . . . . . . . . . . . . . . . . . 69 3 EllipticCurveArithmetic 75 3.1 Introductiontoellipticcurves . . . . . . . . . . . . . . . . . . . . . . 76 3.1.1 SimplifiedWeierstrassequations . . . . . . . . . . . . . . . . 78 3.1.2 Grouplaw. . . . . . . . . . . . . . . . . . . . . . . . . . . . 79 3.1.3 Grouporder . . . . . . . . . . . . . . . . . . . . . . . . . . . 82 3.1.4 Groupstructure . . . . . . . . . . . . . . . . . . . . . . . . . 83 3.1.5 Isomorphismclasses . . . . . . . . . . . . . . . . . . . . . . 84 3.2 Pointrepresentationandthegrouplaw . . . . . . . . . . . . . . . . . 86 3.2.1 Projectivecoordinates . . . . . . . . . . . . . . . . . . . . . 86 3.2.2 Theellipticcurve y2=x3+ax+b . . . . . . . . . . . . . . 89 3.2.3 Theellipticcurve y2+xy=x3+ax2+b . . . . . . . . . . . 93 3.3 Pointmultiplication . . . . . . . . . . . . . . . . . . . . . . . . . . . 95 3.3.1 Unknownpoint . . . . . . . . . . . . . . . . . . . . . . . . . 96 3.3.2 Fixedpoint . . . . . . . . . . . . . . . . . . . . . . . . . . . 103 3.3.3 Multiplepointmultiplication . . . . . . . . . . . . . . . . . . 109 3.4 Koblitzcurves . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114 3.4.1 TheFrobeniusmapandtheringZ[τ] . . . . . . . . . . . . . 114 3.4.2 Pointmultiplication . . . . . . . . . . . . . . . . . . . . . . . 119 3.5 Curveswithefficientlycomputableendomorphisms . . . . . . . . . . 123 3.6 Pointmultiplicationusinghalving . . . . . . . . . . . . . . . . . . . 129 3.6.1 Pointhalving . . . . . . . . . . . . . . . . . . . . . . . . . . 130 3.6.2 Performingpointhalvingefficiently . . . . . . . . . . . . . . 132 3.6.3 Pointmultiplication . . . . . . . . . . . . . . . . . . . . . . . 137 3.7 Pointmultiplicationcosts . . . . . . . . . . . . . . . . . . . . . . . . 141 3.8 Notesandfurtherreferences . . . . . . . . . . . . . . . . . . . . . . 147 Contents vii 4 CryptographicProtocols 153 4.1 Theellipticcurvediscretelogarithmproblem . . . . . . . . . . . . . 153 4.1.1 Pohlig-Hellmanattack . . . . . . . . . . . . . . . . . . . . . 155 4.1.2 Pollard’srhoattack . . . . . . . . . . . . . . . . . . . . . . . 157 4.1.3 Index-calculusattacks . . . . . . . . . . . . . . . . . . . . . 165 4.1.4 Isomorphismattacks . . . . . . . . . . . . . . . . . . . . . . 168 4.1.5 Relatedproblems . . . . . . . . . . . . . . . . . . . . . . . . 171 4.2 Domainparameters . . . . . . . . . . . . . . . . . . . . . . . . . . . 172 4.2.1 Domainparametergenerationandvalidation . . . . . . . . . 173 4.2.2 Generatingellipticcurvesverifiablyatrandom . . . . . . . . 175 4.2.3 Determiningthenumberofpointsonanellipticcurve . . . . 179 4.3 Keypairs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 180 4.4 Signatureschemes . . . . . . . . . . . . . . . . . . . . . . . . . . . 183 4.4.1 ECDSA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 184 4.4.2 EC-KCDSA . . . . . . . . . . . . . . . . . . . . . . . . . . 186 4.5 Public-keyencryption . . . . . . . . . . . . . . . . . . . . . . . . . . 188 4.5.1 ECIES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 189 4.5.2 PSEC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191 4.6 Keyestablishment . . . . . . . . . . . . . . . . . . . . . . . . . . . . 192 4.6.1 Station-to-station . . . . . . . . . . . . . . . . . . . . . . . . 193 4.6.2 ECMQV . . . . . . . . . . . . . . . . . . . . . . . . . . . . 195 4.7 Notesandfurtherreferences . . . . . . . . . . . . . . . . . . . . . . 196 5 ImplementationIssues 205 5.1 Softwareimplementation . . . . . . . . . . . . . . . . . . . . . . . . 206 5.1.1 Integerarithmetic . . . . . . . . . . . . . . . . . . . . . . . . 206 5.1.2 Floating-point arithmetic . . . . . . . . . . . . . . . . . . . . 209 5.1.3 SIMDandfieldarithmetic . . . . . . . . . . . . . . . . . . . 213 5.1.4 Platformmiscellany . . . . . . . . . . . . . . . . . . . . . . 215 5.1.5 Timings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 219 5.2 Hardwareimplementation . . . . . . . . . . . . . . . . . . . . . . . 224 5.2.1 Designcriteria . . . . . . . . . . . . . . . . . . . . . . . . . 226 5.2.2 Fieldarithmeticprocessors . . . . . . . . . . . . . . . . . . . 229 5.3 Secureimplementation . . . . . . . . . . . . . . . . . . . . . . . . . 238 5.3.1 Poweranalysisattacks . . . . . . . . . . . . . . . . . . . . . 239 5.3.2 Electromagneticanalysisattacks . . . . . . . . . . . . . . . . 244 5.3.3 Errormessageanalysis . . . . . . . . . . . . . . . . . . . . . 244 5.3.4 Faultanalysisattacks . . . . . . . . . . . . . . . . . . . . . . 248 5.3.5 Timingattacks . . . . . . . . . . . . . . . . . . . . . . . . . 250 5.4 Notesandfurtherreferences . . . . . . . . . . . . . . . . . . . . . . 250 viii Contents A SampleParameters 257 A.1 Irreduciblepolynomials . . . . . . . . . . . . . . . . . . . . . . . . . 257 A.2 Ellipticcurves . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 261 A.2.1 RandomellipticcurvesoverF . . . . . . . . . . . . . . . . 261 p A.2.2 RandomellipticcurvesoverF2m . . . . . . . . . . . . . . . . 263 A.2.3 KoblitzellipticcurvesoverF2m . . . . . . . . . . . . . . . . 263 B ECCStandards 267 C SoftwareTools 271 C.1 General-purposetools . . . . . . . . . . . . . . . . . . . . . . . . . . 271 C.2 Libraries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 273 Bibliography 277 Index 305 ListofAlgorithms 1.1 RSAkeypairgeneration . . . . . . . . . . . . . . . . . . . . . . . . . . 7 1.2 BasicRSAencryption. . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 1.3 BasicRSAdecryption. . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 1.4 BasicRSAsignaturegeneration . . . . . . . . . . . . . . . . . . . . . . 8 1.5 BasicRSAsignatureverification . . . . . . . . . . . . . . . . . . . . . . 8 1.6 DLdomainparametergeneration . . . . . . . . . . . . . . . . . . . . . . 9 1.7 DLkeypairgeneration . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 1.8 BasicElGamalencryption . . . . . . . . . . . . . . . . . . . . . . . . . 10 1.9 BasicElGamaldecryption . . . . . . . . . . . . . . . . . . . . . . . . . 10 1.10 DSAsignaturegeneration . . . . . . . . . . . . . . . . . . . . . . . . . . 11 1.11 DSAsignatureverification . . . . . . . . . . . . . . . . . . . . . . . . . 11 1.12 Ellipticcurvekeypairgeneration . . . . . . . . . . . . . . . . . . . . . . 14 1.13 BasicElGamalellipticcurveencryption . . . . . . . . . . . . . . . . . . 14 1.14 BasicElGamalellipticcurvedecryption . . . . . . . . . . . . . . . . . . 14 2.5 Multiprecisionaddition . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 2.6 Multiprecisionsubtraction . . . . . . . . . . . . . . . . . . . . . . . . . 30 2.7 AdditioninF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 p 2.8 SubtractioninF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 p 2.9 Integermultiplication(operandscanningform) . . . . . . . . . . . . . . 31 2.10 Integermultiplication(productscanningform) . . . . . . . . . . . . . . . 32 2.13 Integersquaring . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 2.14 Barrettreduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 2.17 Montgomeryexponentiation(basic) . . . . . . . . . . . . . . . . . . . . 38 2.19 ExtendedEuclideanalgorithmforintegers . . . . . . . . . . . . . . . . . 40 2.20 InversioninF usingtheextendedEuclideanalgorithm . . . . . . . . . . 40 p 2.21 Binarygcdalgorithm . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 2.22 BinaryalgorithmforinversioninF . . . . . . . . . . . . . . . . . . . . 41 p 2.23 PartialMontgomeryinversioninF . . . . . . . . . . . . . . . . . . . . 42 p

See more

The list of books you might like

Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.