computational complexity, 718
NP-complete problems, 719
satisfiability problem, 719
knapsack problem, 719
clique problem, 720
complexity class P, 721
complexity class NP, 721
nondeterministic Turing machine, 721
inverse, 725
divisible, 725
prime number, 725
composite number, 725
greatest common divisor, 726
Euclidean algorithm, 726
modular arithmetic, 726
commutative ring, 727
Galois field, 727
associativity, 727
commutativity, 727
distributivity, 727
reducibility, 727
Fermat's theorem, 729
confusion, 730
diffusion, 730
Data Encryption Standard (DES), 732
substitution, 733
permutation, 733
expansion permutation, 733
S-box, 739
P-box, 739
weak DES key, 745
differential cryptanalysis, 747
Advanced Encryption System (AES), 748
substitute byte, 750
shift row, 751
mix column, 752
add subkey, 753
RC2, 754
RC4, 755
RC5, 756
public key encryption, 757
asymmetric algorithm, 757
MerkleHellman knapsack, 758
superincreasing knapsack, 760
RivestShamirAdelman (RSA) algorithm, 767
El Gamal digital signature algorithm, 773
quantum cryptography, 774