Manning Logo
Home | Ordering Info | Shopping Cart | Manage My Account | Login
Attention customers: online shopping is now available exclusively through our main website: http://www.manning.com. Thank you.
Implementing Elliptic Curve Cryptography

Inside the book

Sample Chapters Table of Contents Errata Index Preface Book Reviews Source code Author Online

Manning Blog

Why small is sweet?

Author Blogs

Dave Crane more...

Author Calendar

Upcoming Events

Catalog

Java .NET Perl XML All by Subject All by Title

About...

Manning Contact Us Ordering FAQs ebooks Covers Sandbox Forums Distributors Manning Early Access Program (MEAP) Affiliate Program Academia/Publicity User Group Program Press Releases Jobs

Manning Publications Co.
209 Bruce Park Avenue
Greenwich, CT 06830

Implementing Elliptic Curve Cryptography
Michael Rosing

1998 | 330 pages
ISBN: 1884777694
$47.95 Softbound print book  

Index

A

    addition
      elliptic curve 106
        normal basis 118
        over GF(2 n ) 110
        over real numbers 107
        polynomial basis 49, 54, 115
      integer 14, 20
    almost inverse algorithm 285
    ascii_to_bigint 28
    authen_secret 191, 194
    avalanche 130

B

    balanced form 122
    BIGINT 17
    bigint_to_ascii 28
    binary representation 17

C

    CARRY 16
    Certicom 4
    Certicom challenge 168
    commutative cipher. See Massey-Omura.
    complex multiplication method 298
    compression 297
    conversion 57
    copy 57
    copy_cust 290
    copy_point 113
    counting points 298
    cracking. See cryptanalysis.
    Crandall 299
    cryptanalysis 132
      time to crack 4
    cryptography 129
    CURVE 113
    cus_times_u_to_n 290
    CUSTFIELD 289

D

    Dahm. See inversion, fast.
    DBLBITS 54
    DBLFIELD 54
    DBLLOOP 54
    dblnull 56
    DBLSHIFT 54
    DBLWORD 54
    degree 49, 60
    degreeof 61
    derivative 68
    DERIVMASK 54, 69
    DES 132
    DH_gen_send_key 175
    DH_key_share 176
    DIEHARD 168
    Diffie-Hellman 166, 174-180
    digital signature 256-282
    div_shift 59
    division
      integer 14, 23
      polynomial 50, 58, 62
    DSA 271-282

E

    EC_KEYPAIR 224
    EC_PARAMETER 212, 224
    ECES_decrypt 217
    ECES_encrypt 217
    ECKGP 216, 225
    edbl 119
    ELEMENT 17, 52
    ElGamal 166, 180-188
    elliptic curve
      discrete logarithm problem 132
      embedding data 136
      nonsupersingular 110, 133
      order 108
      over GF(2 n ) 109
      over real numbers 104
      subtraction
        polynomial basis 117
      supersingular 110
    elliptic curve equation 104
      Galois Fields 109
      real 104
    elliptic curve mathematics 103-126
    elptic_mul 123
    embedding data 136
      normal basis 146
      polynomial basis 161
    encryption 199
      Elliptic Curve Encryption Scheme 200
    esub 120
    esum 118
    Euclid's algorithm 50, 66
    example
      DSA 276, 280
      encryption 215, 218
      integer 27
      Massey-Omura 240, 242
      MQV 192, 194, 248, 251
      Nyberg-Rueppel 265, 269
    exponential time 5, 6

F

    factoring 5
    Fermat's Theorem 39, 104
    field conversion. See conversion.
    field_prime 82, 85
    field_to_int 222
    FIELD2N 52
    finite fields 40
    fofx 147
    freelip 14

G

    Galois Fields 43
    Gaussian elimination 227
    gen_MO_pair 236
    generator 43
      See also prime polynomial.
    genlambda 82
    genlambda2 90
    GF. See Galois Field.
    Gillogly, James 203
    greatest common factor
      integer 30, 35
      polynomial 67

H

    HALFSIZE 16
    hash 259
    hash_to_int 259
    Hasse's Theorem 108, 133, 171
    header
      bigint.h 16, 18
      eliptic.h 111
      field2n.h 18, 51
      poly.h 54
    HIMASK 16
    hyperelliptic curves 299

I

    IDEA 132
    identity element 40
    IEEE P1363 131, 166, 200, 225, 244, 258, 271
    INDEX 18, 52
    init_opt_math 289
    init_poly_math 153
    init_two 288
    initialization
      normal basis math 289
      polynomial math 153
    int_add 20
    int_copy 19
    int_div 24
    int_div2 34
    int_gcd 35
    int_mul 22
    int_neg 20
    int_null 19
    int_onecmp 236
    int_sub 21
    int_to_field 224
    integer representation 17
    INTLOOP 18
    INTMAX 16
    inversion
      fast 284-297
      matrix, polynomial basis 150
      normal basis 97, 100, 292
      polynomial 66
    irreducible 70
    irreducible polynomial 49
    isomorphic 76

K

    key exchange 222
    Knuth 34
    Koblitz 4, 122, 136, 219, 226, 234, 298
    Koblitz curves 133

L

    Lambda 82
    lambda matrix 79, 82, 87, 90
    language 11
    large integer math 14, 19, 27
    lg2_m 82
    LiDIA 14
    linear equations 226
    log_2 60
    log2 288
    LOMASK 16
    LONGBIT 288
    LONGMASK 288
    LONGSHIFT 288
    LONGWORD 288

M

    man-in-the-middle attack 179
    Marsaglia 168
    mask generation function 202-212
    mass
      hydrogen 6
      sun 6
    Massey-Omura 222, 234-244
    matrix 227
      diagonalize 231
      transpose 231
    matrix_print 152
    MAXBITS 51
    MAXDBL 54
    MAXLONG 16, 51
    MAXSHIFT 51
    MAXSTRING 16
    Menezes-Qu-Vanstone 188-197, 222
    Mentat 203
    message hash 259
    MGF_Hash 210
    Miller 4
    MIRACL 14
    mod_exp 38
    mod_inv 42
    modular arithmetic
      exponentiation 38
      integer 29, 37
      inversion 41
    modulus 41
    Mother 169
    MQV. See Menezes-Qu-Vanstone.
    MSB 51
    MSB_HW 16
    mul_shift 55
    mul_x_mod 69
    multiplication
      elliptic curve 120
        normal basis 92, 122
        polynomial basis 125
      integer 14, 21
      normal basis 78, 94
      polynomial 49, 55, 57, 65, 69
    multiplication table 79, 82

N

    negation
      elliptic curve 110, 113
      integer 20
    nist_guts 208
    nonadjacent form 122
    normal basis 75-102
      inversion 284-297
    normal basis representation 76
    NR_Signature 262
    NR_Verify 263
    null 56
    null_cust 290
    Null_Row 149
    number theory 13-44
    NUMBITS 16, 51
    NUMWORD 16, 51
    Nyberg-Rueppel 256, 260-271

O

    onb_DSA_Signature 273
    onb_DSA_Verify 274
    onb_Massey_Omura_rcv 239
    onb_Massey_Omura_send 238
    onb_mqv 246
    one 97
    opt_embed 146
    opt_inv 100, 292
    opt_mul 94
    opt_quadratic 141
    optimal normal basis 76, 101
      Type I 80-84
      Type II 85-92
    order 43
      See also Hasse's Theorem.
    output 96

P

    P1363. See IEEE P1363.
    perfect forward secrecy 189
    PGP 4, 5
    Pinch 140
    POINT 113
    point at infinity 105
    poly_div 62
    poly_DSA_Signature 278
    poly_DSA_Verify 279
    poly_ECES_decrypt 214
    poly_ECES_encrypt 213
    poly_ECKGP 225
    poly_ECKGP_0 213
    poly_edbl 116
    poly_embed 161
    poly_esub 117
    poly_esum 115
    poly_fofx 161
    poly_gcd 68
    poly_gf8 230
    poly_inv 66
    poly_Massey_Omura_rcv 239
    poly_Massey_Omura_send 238
    poly_matrix_invert 150
    poly_mqv 250
    poly_mul 65
    poly_mul_partial 57
    poly_NR_Signature 267
    poly_NR_Verify 268
    poly_quadratic 158
    polynomial basis 48
    polynomial math 47-72
    polynomial time 5
    prime 30, 48
    prime polynomial 49, 65, 68, 70
    print_curve 114
    print_field 96, 114
    print_point 114
    private key 130, 166
    protocols 165-197
    protocols. See Diffie-Hellman, ElGamal, Massey-Omura, Nyberg-Rueppel, DSA, Menezes-Qu-Vanstone, encryption.
    public key 130, 166

Q

    quadratic equation
      normal basis 141
      polynomial basis 148, 158
    quadratic equations 137

R

    rand_curve 172
    rand_point 173
    random bit generator 168
    random_field 171
    receive_elgamal 183, 186
    remainder 49
    rot_left 94
    rot_right 94
    rotate
      left 94
      right 94
    RSA 5

S

    schematic 15, 53, 77, 112, 142, 167, 201, 223, 257, 284
    Schroeppel 292
    secret key 130, 166
    security 131, 297
    send_elgamal 182, 185
    sha_file 206
    sha_memory 207
    sha_stream 207
    SHA-1 200, 202, 203, 259
    shift
      left 55
      right 59
    shift_by 288
    SIGNATURE 258
    signature 256-282
    Smatrix 149
    sngltodbl 57
    solution vectors 229, 233
    square root
      normal basis 141
      polynomial 160
    squaring
      normal basis 78, 94
      polynomial 70
    subexponential time 5
    subtraction
      elliptic curve
        normal basis 120
        polynomial basis 117
      integer 21
      polynomial 50
    SUMLOOP 52

T

    test routine 96
    time to crack 4
    Tmatrix 149, 158
    Trace 137, 138
    Trace vector 139
    Trace_Vector 149
    twist 133
    two_bit 288
    two_inx 288
    TYPE2 85

U

    UPRBIT 52
    UPRMASK 52
    UPRSHIFT 16, 51
    U.S. patent 5600725 256
      See also Nyberg-Rueppel.

V

    vectors 229

W

    WORDSIZE 14, 51

DESCRIPTION

Implementing Elliptic Curve Cryptography proceeds step-by-step to explain basic number theory, polynomial mathematics, normal basis mathematics and elliptic curve mathematics. With these in place, applications to cryptography are introduced. The book is filled with C code to illustrate how mathematics is put into a computer, and the last several chapters show how to implement several cryptographic protocols. The most important is a description of P1363, an IEEE draft standard for public key cryptography.

The main purpose of Implementing Elliptic Curve Cryptography is to help "crypto engineers" implement functioning, state-of-the-art cryptographic algorithms in the minimum time. With detailed descriptions of the mathematics, the reader can expand on the code given in the book and develop optimal hardware or software for their own applications.

Implementing Elliptic Curve Cryptography assumes the reader has at least a high school background in algebra, but it explains, in stepwise fashion, what has been considered to be a topic only for graduate-level students.

WHAT THE EXPERTS SAY ABOUT THIS BOOK...

"The book provides all the theory and working programs needed to create real applications based on the latest IEEE P1363 standard."
--Reviewed in Cryptologia

ABOUT THE AUTHOR...

With a background that includes nuclear engineering, hardware computer design, and telephony, Michael Rosing has seen how cryptography plays an important role in military and commercial applications. At present he is employed building DSP hardware for brain research at the University of Wisconsin in Madison.

Home | Catalog | Privacy Policy | About Manning

© 2003-2006 Manning Publications Co.