|
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
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
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
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
- Galois Fields 109
real 104
elptic_mul 123
embedding data 136
- normal basis 146
polynomial basis 161
- Elliptic Curve Encryption Scheme 200
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
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.
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
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_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 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
matrix 227
- diagonalize 231
transpose 231
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
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
normal basis 78, 94
polynomial 49, 55, 57, 65, 69
N
- negation
- elliptic curve 110, 113
integer 20
nonadjacent form 122
normal basis 75-102
- inversion 284-297
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
- See also Hasse's Theorem.
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
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
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
SIGNATURE 258
signature 256-282
Smatrix 149
sngltodbl 57
solution vectors 229, 233
square root
- normal basis 141
polynomial 160
- normal basis 78, 94
polynomial 70
subtraction
- elliptic curve
- normal basis 120
polynomial basis 117
polynomial 50
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.

