Hashing in computer science fifty years of slicing and dicing

Gain the Skills and Knowledge Needed to Understanding Data Security Systems A file of computer data is composed of records to each of which a key or identifier is associated. The key is used to search for the address of a desired record. When the file is a telephone directory, searching is easy - th...

Descripción completa

Detalles Bibliográficos
Autor principal: Konheim, Alan G., 1934- (-)
Formato: Libro electrónico
Idioma:Inglés
Publicado: Hoboken, N.J. : John Wiley & Sons 2010.
Hoboken, New Jersey : c2010.
Edición:1st edition
Materias:
Ver en Biblioteca Universitat Ramon Llull:https://discovery.url.edu/permalink/34CSUC_URL/1im36ta/alma991009628340906719
Tabla de Contenidos:
  • PREFACE
  • PART I: MATHEMATICAL PRELIMINARIES
  • 1. Counting
  • 1.1: The Sum and Product Rules
  • 1.2: Mathematical Induction
  • 1.3: Factorial
  • 1.4: Binomial Coefficients
  • 1.5: Multinomial Coefficients
  • 1.6: Permutations
  • 1.7: Combinations
  • 1.8: The Principle of Inclusion-Exclusion
  • 1.9: Partitions
  • 1.10: Relations
  • 1.11: Inverse Relations
  • Appendix 1: Summations Involving Binomial Coefficients
  • 2. Recurrence and Generating Functions
  • 2.1: Recursions
  • 2.2: Generating Functions
  • 2.3: Linear Constant Coefficient Recursions
  • 2.4: Solving Homogeneous LCCRs Using Generating Functions
  • 2.5: The Catalan Recursion
  • 2.6: The Umbral Calculus
  • 2.7: Exponential Generating Functions
  • 2.8: Partitions of a Set: The Bell and Stirling Numbers
  • 2.9: Rouché's Theorem and the Lagrange's Inversion Formula
  • 3. Asymptotic Analysis
  • 3.1: Growth Notation for Sequences
  • 3.2: Asymptotic Sequences and Expansions
  • 3.3: Saddle Points
  • 3.4: Laplace's Method
  • 3.5: The Saddle Point Method
  • 3.6: When Will the Saddle Point Method Work?
  • 3.7: The Saddle Point Bounds
  • 3.8: Examples of Saddle Point Analysis
  • 4. Discrete Probability Theory
  • 4.1: The Origins of Probability Theory
  • 4.2: Chance Experiments, Sample Points, Spaces, and Events
  • 4.3: Random Variables
  • 4.4: Moments - Expectation and Variance
  • 4.5: The Birthday Paradox
  • 4.6: Conditional Probability and Independence
  • 4.7: The Law of Large Numbers (LLN)
  • 4.8: The Central Limit Theorem (CLT)
  • 4.9: Random Processes and Markov Chains
  • 5. Number Theory and Modern Algebra
  • 5.1: Prime Numbers
  • 5.2: Modular Arithmetic and the Euclidean Algorithm
  • 5.3: Modular Multiplication
  • 5.4: The Theorems of Fermat and Euler
  • 5.5: Fields and Extension Fields
  • 5.6: Factorization of Integers
  • 5.7: Testing Primality
  • 6. Basic Concepts of Cryptography
  • 6.1: The Lexicon of Cryptography
  • 6.2: Stream Ciphers
  • 6.3: Block Ciphers
  • 6.4: Secrecy Systems and Cryptanalysis
  • 6.5: Symmetric and Two-Key Cryptographic Systems.
  • 6.6: The Appearance of Public Key Cryptographic systems
  • 6.7: A Multitude of Keys
  • 6.8: The RSA Cryptosystem
  • 6.9: Does PKC Solve the Problem of Key Distribution?
  • 6.10: Elliptic Groups Over the Reals
  • 6.11: Elliptic Groups Over the Field Zm,2
  • 6.12: Elliptic Group Cryptosystems
  • 6.13: The Menezes-Vanstone Elliptic Curve Cryptosystem
  • 6.14: Super-Singular Elliptic Curves
  • PART II: HASHING FOR STORAGE: DATA MANAGEMENT
  • 7. Basic Concepts
  • 7.1: Overview of the Records Management Problem
  • 7.2: A Simple Storage Management Protocol: Plain Vanilla Chaining
  • 7.3: Record-Management with Sorted Keys
  • 8. Hash Functions
  • 8.1: The Origin of Hashing
  • 8.2: Hash Tables
  • 8.3: A Statistical Model for Hashing
  • 8.4: The Likelihood of Collisions
  • 9. Hashing Functions: Examples and Evaluation
  • 9.1: Overview: The Tradeoff of Randomization Versus Computational Simplicity
  • 9.2: Some Examples of Hashing Functions
  • 9.3: Performance of Hash Functions: Formulation
  • 9.4: The X2-Test
  • 9.5: Testing a Hash Function
  • 9.6: The McKenzie et al. Results
  • 10. Record Chaining with Hash Tables
  • 10.1: Separate Chaining of Records
  • 10.2: Analysis of Separate Chaining Hashing Sequences and the Chains They Create
  • 10.3: A Combinatorial Analysis of Separate Chaining
  • 10.4: Coalesced Chaining
  • 10.5: The Pittel-Yu Analysis of EICH Coalesced Chaining
  • 10.6: To Separate or to Coalesce; and Which Version? That Is the Question
  • 11. Perfect Hashing
  • 11.1: Overview
  • 11.2: Chichelli's Construction
  • 12. The Uniform Hashing Model
  • 12.1: An Idealized Hashing Model
  • 12.2: The Asymptotics of Uniform Hashing
  • 12.3: Collision-Free Hashing
  • 13. Hashing with Linear Probing
  • 13.1: Formulation and Preliminaries
  • 13.2: Performance Measures for LP Hashing
  • 13.3: All Cells Other than HTn-1 in the Hash-Table of n Cells are Occupied
  • 13.4: m-Keys Hashed into a Hash Table of n Cells Leaving Cell HTn-1 Unoccupied
  • 13.5: The Probability Distribution for the Length of a Search.
  • 13.6: Asymptotics
  • 13.7: Hashing with Linear Open Addressing: Coda
  • 13.8: A Possible Improvement to Linear Probing
  • 14. Double Hashing
  • 14.1: Formulation of Double Hashing
  • 14.2: Progressions and Strides
  • 14.3: The Number of Progressions Which Fill a Hash-Table Cell
  • 14.3.1: Progression Graphs
  • 14.4: Dominance
  • 14.5: Insertion-Cost Bounds Relating Uniform and Double Hashing
  • 14.6: UsuallyDoubleHash
  • 14.7: The UDH Chance Experiment and the Cost to Insert the Next Key by Double Hashing
  • 14.8: Proof of Equation (14.12a)
  • 14.9: UsuallyDoubleHash
  • 14.10: Proof of Equation (14.12b)
  • 15. Optimum Hashing
  • 15.1: The Ullman / Yao Framework
  • 15.1.1: The Ullman / Yao Hashing Functions
  • 15.1.2: Ullman / Yao INSERT(k) and SEARCH(k)
  • 15.1.3: The Ullman / Yao Statistical Model
  • 15.2: The Rates at Which a Cell is Probed and Occupied
  • 15.3: Partitions of (i)Scenarios, (i)Subscenarios, and Their Skeletons
  • 15.3.1: (i)Subscenarios
  • 15.3.2: Skeletons
  • 15.4: Randomly Generated m-Scenarios
  • 15.5: Bounds on Random Sums
  • 15.6: Completing the Proof of Theorem 15.1
  • PART III: SOME NOVEL APPLICATIONS OF HASHING
  • 16. Karp-Rabin String Searching
  • 16.1: Overview
  • 16.2: The Basic Karp-Rabin Hash-Fingerprint Algorithm
  • 16.3: The Plain Vanilla Karp-Rabin Fingerprint Algorithm
  • 16.4: Some Estimates on Prime Numbers
  • 16.5: The Cost of False Matches in the Plain Vanilla Karp-Rabin Fingerprint Algorithm
  • 16.6: Variations on the Plain Vanilla Karp-Rabin Fingerprint Algorithm
  • 16.7: A Nonhashing Karp-Rabin Fingerprint
  • 17. Hashing Rock and Roll
  • 17.1: Overview of Audio Fingerprinting
  • 17.2: The Basics of Fingerprinting Music
  • 17.3: Haar Wavelet Coding
  • 17.4: Min-Hash
  • 17.5: Some Commercial Fingerprinting Products
  • 18. Hashing in E-Commerce
  • 18.1: The Varied Applications of Cryptography
  • 18.2: Authentication
  • 18.3: The Need for Certificates
  • 18.4: Cryptographic Hash Functions
  • 18.5: X.509 Certificates and CCIT Standardization.
  • 18.6: The Secure Socket Layer (SSL)
  • 18.7: Trust on the Web ... Trust No One Over 40!
  • 18.8: MD5
  • 18.9: Criticism of MD5
  • 18.10: The Wang-Yu Collision Attack
  • 18.11: Steven's Improvement to the Wang-Yu Collision Attack
  • 18.12: The Chosen-Prefix Attack on MD5
  • 18.13: The Rogue CA Attack Scenario
  • 18.14: The Secure Hash Algorithms
  • 18.15: Criticism of SHA-1
  • 18.16: SHA-2
  • 18.17: What Now?
  • Appendix 18: Sketch of the Steven's Chosen Prefix Attack
  • 19. Hashing and the Secure Distribution of Digital Media
  • 19.1: Overview
  • 19.2: Intellectual Property (Copyrights and Patents)
  • 19.3: Steganography
  • 19.4: Boil, Boil, Toil ... and But First, Carefully Mix
  • 19.5: Software Distribution Systems
  • 19.6: Watermarks
  • 19.7: An Image-Processing Technique for Watermarking
  • 19.8: Using Geometric Hashing to Watermark Images
  • 19.9: Biometrics and Hashing
  • 19.10: The Dongle
  • Appendix 19: Reed-Solomon and Hadamard Coding
  • Exercises and Solutions
  • INDEX.