Summary/Excerpts of (and not a substitute for) the Creative Commons Attribution-NonCommercial-ShareAlike 2.0 Generic:
You are free to:
— copy and redistribute the material in any medium or format
— remix, transform, and build upon the material
The licensor cannot revoke these freedoms as long as you follow the license terms.
to read the full license.
Terms and Conditions:
Victor Shoup wrote:All rights reserved. The right to publish or distribute this work in print form belongs exclusively to Cambridge University Press; however, this electronic version is distributed under the terms and conditions of a Creative Commons license (Attribution-NonCommercial-NoDerivs 2.0).
play an increasingly significant role in computing and communications, as evidenced by the striking applications of these subjects to such fields as cryptography
and coding theory
. The goal of this book is to provide an introduction to number theory and algebra, with an emphasis on algorithms and applications, that would be accessible to a broad audience. In particular, this book should be accessible to typical students in computer science or mathematics who have a some amount of general mathematical experience, but without presuming too much specific mathematical knowledge.
Inside this book, all of the mathematics required beyond basic calculus is developed ?from scratch.? Moreover, the book generally alternates between ?theory? and ?applications?: one or two chapters on a particular set of purely mathematical concepts are followed by one or two chapters on algorithms and applications -- the mathematics provides the theoretical underpinnings for the applications, while the applications both motivate and illustrate the mathematics. Of course, this dichotomy between theory and applications is not perfectly maintained: the chapters that focus mainly on applications include the development of some of the mathematics that is specific to a particular application, and very occasionally, some of the chapters that focus mainly on mathematics include a discussion of related algorithmic ideas as well.
The mathematical material covered includes the basics of number theory (including unique factorization, congruences, the distribution of primes, and quadratic reciprocity) and abstract algebra
(including groups, rings, fields, and vector spaces). It also includes an introduction to discrete probability theory
-- this material is needed to properly treat the topics of probabilistic algorithms
and cryptographic applications. The treatment of all these topics is more or less standard, except that the text only deals with commutative structures (i.e., abelian groups
and commutative rings
with unity) -- this is all that is really needed for the purposes of this text, and the theory of these structures is much simpler and more transparent than that of more general, non-commutative structures.
The mathematical prerequisites are minimal: no particular mathematical concepts beyond what is taught in a typical undergraduate calculus sequence are assumed.
The computer science prerequisites are also quite minimal: it is assumed that the reader is proficient in programming, and has had some exposure to the analysis of algorithms, essentially at the level of an undergraduate course on algorithms and data structures.