Table Of ContentFINITE FIELDS FOR COMPUTER SCIENTISTS AND ENGINEERS
THE KLUWER INTERNATIONAL SERIES
IN ENGINEERING AND COMPUTER SCIENCE
INFORMATION THEORY
Consulting Editor
Robert G. Gallager
FINITE FIELDS FOR COMPUTER
SCIENTISTS AND ENGINEERS
by
Robert J. McEliece
California Institute of Technology
KLUWER ACADEMIC PUBLISHERS
Boston / Dordrecht / Lancaster
Distributors for North America:
Kluwer Academic Publishers
101 Philip Drive
Assinippi Park
Norwell, Massachusetts 02061, USA
tel: 718-871-6600
fax: 781-681-9045
email: Kluwer@wkap.com
Distributors for all other countries:
Kluwer Academic Publishers Group
Distribution Centre
Post Office Box 322
3300 AH Dordrecht, THE NETHERLANDS
tel: 31 786 576 000
fax: 31 786 576474
email: services@wkap.nl
Library of Congress Cataloging-in-Publication Data
McEliece, Robert J.
Finite fields for computer scientists and engineers.
(The Kluver international series in engineering and
computer science ; 23)
Bibliography: p.
Includes index.
1. Finite fields (Algebra) I. Title. II. Series:
Kluver international series in engineering and
computer science ; SECS 23.
QA247.3.M37 1987 512'.3 86-21145
ISBN-13: 978-1-4612-9185-5 e-ISBN-13: 978-1-4613-1983-2
DOl: 10.1007/978-1-4613-1983-2
Copyright © 1987 by K1uwer Academic Publishers. Sixth Printing 2003.
Softcover reprint of the hardcover 1st edition 2003
All rights reserved. No part of this publication may be reproduced, stored in a retrieval system, or
transmitted in any form or by any means, mechanical, photocopying, recording, or otherwise,
without the prior written permission of the publisher, Kluwer Academic Publishers, 101 Philip
Drive, Assinippi Park, Norwell, Massachusetts 02061.
This printing is a digital duplication of the original edition.
to my friend
Gus Solomon
who taught me all this stuff
Contents
Preface ............... . ix
1 Prologue .............. . . 1
2 Euclidean Domains and Euclid's Algorithm .3
3 Unique Factorization in Euclidean Domains 13
4 Building Fields from Euclidean Domains 19
5 Abstract Properties of Finite Fields. . . 29
6 Finite Fields Exist and are Unique . . . 55
7 Factoring Polynomials over Finite Fields . 75
8 'frace, Norm, and Bit-Serial Multiplication . 97
9 Linear Recurrences over Finite Fields . . . 123
10 The Theory of m-Sequences . . . . . . . 151
11 Crosscorrelation Properties of m-Sequences 169
Bibliography .201
Index ................ . .203
Preface
This book developed from a course on finite fields I gave at the University of
Illinois at Urbana-Champaign in the Spring semester of 1979. The course was
taught at the request of an exceptional group of graduate students (includ
ing Anselm Blumer, Fred Garber, Evaggelos Geraniotis, Jim Lehnert, Wayne
Stark, and Mark Wallace) who had just taken a course on coding theory from
me. The theory of finite fields is the mathematical foundation of algebraic
coding theory, but in coding theory courses there is never much time to give
more than a "Volkswagen" treatment of them. But my 1979 students wanted
a "Cadillac" treatment, and this book differs very little from the course I gave
in response. Since 1979 I have used a subset of my course notes (correspond
ing roughly to Chapters 1-6) as the text for my "Volkswagen" treatment of
finite fields whenever I teach coding theory. There is, ironically, no coding
theory anywhere in the book!
If this book had a longer title it would be "Finite fields, mostly of char
acteristic 2, for engineering and computer science applications." It certainly
does not pretend to cover the general theory of finite fields in the profound
depth that the recent book of Lidl and Neidereitter (see the Bibliography)
does. What it does do, however, is to give a thorough discussion of the ele
mentary things like what finite fields are, how they are constructed, and how
to make computations. (This in Chapters 1-6.) In the final five chapters,
x FINITE FIELDS
I treat in some depth several topics which are closely related to coding the
ory but which are rarely covered in the classroom. These topics include two
of Elwyn Berlekamp's brilliant recent contributions to the subject, viz., his
polynomial factorization algorithm (Chapter 7) and his bit-serial multiplica
tion circuits (Chapter 8). Also, the last three Chapters (9, to, and 11) include
(among other things) what I hope is a "Cadillac" treatment of the theory of
m-sequences, an old topic which has recently assumed increased practical im
portance because of its applications to spread-spectrum communications.
No book is written in a vacuum, least of all this one, and I am happy
to acknowledge my debts. I already mentioned the graduate students who
forced me to offer a course on finite fields in 1979. Many later students at
the University of Illinois and Caltech have criticised and thereby improved
the notes. Of these, I would particularly like to thank Doug Whiting, who
convinced me of the importance of dual bases and bit-serial arithmetic. (This
is in fact the only topic included in the book which was not covered in the
1979 course.) Carl Harris of Kluwer convinced me that the course notes should
be published, and has gently but firmly kept me more-or-Iess on schedule as
the manuscript was being prepared. Joanne Clark typed and retyped the
manuscript, using Don Knuth's brilliant but often aggravating 'lEX computer
typesetting program. The final preparation of the manuscript was done by
Caltech's infallible 'lEX guru, Calvin Jackson, and I feel the appearance of
the book fully justifies Calvin's careful and expert hard work.
And finally I wish to thank Gus Solomon, who first taught me about
finite fields, and many other things, quite a number of years ago. Gus has
forgotten more about those subjects than I will ever know. Thank you, Gus.
FINITE FIELDS FOR COMPUTER SCIENTISTS AND ENGINEERS
Chapter 1
Prologue
We begin at the beginning. A field is a place where you can add, subtract,
multiply, and divide. More formally, it is a set F, together with two binary
"+"
operations, and ".", such that:
1. F is an Abelian group under "+", with identity element O.
2. The nonzero elements of F form an Abelian group under ".".
3. The distributive law a· (b + c) = a· b + a· c holds.
A field is called finite or infinite according to whether the underlying set is
finite or infinite. Familiar examples of infinite fields include the real numbers,
the rational numbers, the complex numbers, and rational functions over a
field. We find infinite fields uninteresting. However, we find the following
finite field extremely interesting:
Zp = {O,I, ... ,p-l}, arithmetic mod p,
where p is a prime. It is not obvious that Zp as defined above is indeed a
field, and we shall give a proof in Chapter 4. For now just notice that Z4
(arithmetic mod 4) is not a field, since e.g. 2 has no inverse, i.e., there is no
element x such that 2x == 1 (mod 4).
However, there is a field with four elements. If we denote its elements
as {O, 1,2, 3}, the addition and multiplication tables are as follows: