Class Notes for Cryptologic Mathematics (FYS 100) Tim Mcdevitt Frank Arnold

Total Page:16

File Type:pdf, Size:1020Kb

Class Notes for Cryptologic Mathematics (FYS 100) Tim Mcdevitt Frank Arnold Class Notes for Cryptologic Mathematics (FYS 100) Tim McDevitt Frank Arnold (2012) ELIZABETHTOWN COLLEGE E-mail address: [email protected] August 27, 2013 Contents Preface vii Introduction 1 0.1. What is Cryptology? 1 0.2. Types of Ciphers 3 0.3. Mathematical Ciphers 6 0.4. Types of Cryptologic Attacks 7 0.5. Notation and Terminology 7 Exercises 8 Chapter 1. Modular Arithmetic 11 1.1. Fundamental Theorem of Arithmetic 11 1.2. Greatest Common Divisors 12 1.3. Euclidean Algorithm 12 1.4. Extended Euclidean Algorithm 14 1.5. Relatively Prime Numbers 15 1.6. Modular Arithmetic 15 1.7. Solving Linear Congruences 19 1.8. Additive Cipher 23 1.9. Cryptanalysis of the Additive Cipher 25 1.10. Affine Cipher 27 1.11. Cryptanalysis of the Affine Cipher 27 Exercises 28 Chapter 2. Probability 33 2.1. Counting 33 2.2. Probability 36 2.3. Index of Coincidence 39 2.4. Vigenère Cipher 41 Exercises 45 Chapter 3. Recursion 49 3.1. Recursion 49 3.2. Binary Arithmetic 50 3.3. Data as Bits 51 3.4. Encryption of Binary Data 52 3.5. Linear Feedback Shift Registers 53 Exercises 55 Chapter 4. Matrices 57 4.1. Matrix Arithmetic 57 4.2. Hill Cipher 60 4.3. Cryptanalysis of the Hill Cipher 61 Exercises 64 v vi CONTENTS Chapter 5. Modular Exponentiation 67 5.1. Square and Multiply Algorithm 67 5.2. Mathematical Induction 68 5.3. Euler Phi Function 69 5.4. Fermat’s Little Theorem 72 5.5. Euler’s Theorem 75 5.6. Diffie-Hellman Key Exchange 76 5.7. RSA Encryption 78 Exercises 79 Bibliography 83 Preface The first author has taught cryptology as a First-Year Seminar at Elizabethtown College for several years using Robert Lewand’s fine book [4]. However, less than half of the author’s students are math or science majors, so Lewand’s rigorous approach is often under-appreciated. These notes follow much of the same material, but they rely fairly heavily on student intuition instead of rigorous proof, as is usually done in calculus courses. Proofs or arguments are reserved for those situations where results are not intuitively clear to the students. For instance, students don’t struggle with the transitivity of divisibility for integers (if a b and b c, then a c), but Fermat’s little theorem requires a proof. Other situations warrant justifications thatj fall shortj of proofs,j but are still convincing to students. For example, we don’t formally prove that the Euclidean algorithm always finds the gcd of two positive integers, but we demonstrate that it has to work with “generalizeable examples”. Since our audience includes first-year students who are not math or science majors, we have tried to minimize the use of terminology and mathematical jargon. Students interested in more details should consult textbooks on number theory or algebra, or just wait patiently for an opportunity to take those courses. The second author is a former (2008) student of this course who has provided a student’s perspective on the presentation of the material. As a result, the style of writing is informal in an attempt to teach some math and to develop enthusiasm for cryptology. Please note that this text does not address the history of cryptology in a systematic way so that we can focus on the mathematics. Students of cryptology should appreciate the impact of cryptology on historical events, but that knowledge will have to be obtained from other sources (c.f. [3] and [10]). Throughout the notes are several hyperlinks to Mathematica notebooks that are helpful for cryptologic calculations or for demonstrating mathematical concepts. The entire set of notebooks can be found at users.etown.edu/m/mcdevittt/. The file cipher.nb contains code that implements most of the encryption algorithms in the book. Readers may also enjoy using the FREE software package ECrypt(www2.etown.edu/ ECrypt/ECrypt.htm ). The current (2013) version of ECrypt is a .jar file, so it should be platform indepen- dent, provided that your computer has Java installed. ECrypt doesn’t have to be installed; just download it and run it. It has a graphical user interface (GUI) that enables users to easily implement the crypto- graphic algorithms in this course. It also provides special tools for cryptanalysis, a recursive calculator, and a calculator for modular arithmetic. Future versions of this book will have chapters dedicated to elliptic curves and to the encryption and cryptanalysis of historical ciphers applied to image and sound files as described in [5]. vii Introduction 0.1. What is Cryptology? Classically, cryptology was used to send and receive secret messages and its users were often military leaders or diplomats. For Admiral Alice to send General Bob a secret message, she would have to encrypt or encipher her message using a method that she and Bob had previously agreed upon. When Bob receives the message, he has to decrypt or decipher her message to read it. Often, the method of encryption would rely on a key - some special number(s) or word(s) that only Alice and Bob know. Prior to the computer age, encryption methods were relatively simple, not explicitly mathematical, and often not very secure. Messages were relatively short and there was very little systematic research certifying the security of cryptologic methods. Today, however, messages can be very long. As of this writing (2010), a typical JPEG file from a digital camera is over 1 MB, which is roughly equivalent to a text file of a million characters. Contemporary encryption methods tend to use very sophisticated mathematics and there is a great deal of systematic research. The US Department of Commerce certifies certain algorithms so that users can be confident that their communications are secure, and these algorithms can be very complicated.1 In addition to the transmission and reception of secret messages, modern cryptology also involves less well- known operations such as key exchange, digital signatures, random number generation, hashing, etc..., but this book focuses, for the most part, on mathematical versions of historical methods. These methods require what is probably unfamiliar mathematics and, although they are no longer useful, they evolved into today’s methods so it is still useful to be familiar with them. The only exception is our dicussion of public key systems, which currently enjoy widespread use. Another important difference between classical and modern cryptography is frequency of use. In the past, the average individual had no practical reason to encrypt messages, but today we all use cryptographic algorithms without even knowing it when we use our cell phones or email or make online purchases. There- fore, modern cryptology is directly applicable to our daily lives in very important ways. Finally, the nature of characters in encryption algorithms has changed in modern times. In the past, messages were composed using characters from a fixed alphabet, so, for example, two English speakers might use a 26-letter alphabet abcdefghijklmnopqrstuvwxyz, or they might use a 52-letter alphabet that includes capital letters, or they might include digits and punctuation. In this course, we will frequently assume a 26-letter alphabet. Computers store files in terms of bits that we can regard as an alphabet of only two characters: 0 and 1. This includes Word R , and Excel R documents, JPEG images, MPEG movies etc... Modern encryption algorithms operate at the bit level on a computer, so all computer files can be encrypted in the exact same way, regardless of how we interpret those bits as text, pictures, movies, etc... Cryptology is an umbrella term for cryptography and cryptanalysis. Cryptography involves the creation and use of algorithms that pass private information between two parties with the goal of obscuring the 1For example, see the NIST document FIPS 197 that takes 51 pages to describe AES. The good news is that the description is very good and very clear, unlike IRS documents. 1 2 INTRODUCTION Figure 0.1: Can you read the message hidden in this poem that is revealed by the stencil? information from unintended recipients. Classically, users might hope that adversaries would not know what encryption algorithms were being used, but that is an unrealistic expectation today. Today, we have to assume that adversaries know what algorithms we are using, so the security of a method depends entirely on the difficulty of recovering the secret key. Symmetric, or private key, systems, require both sender and receiver to know the same secret key, but modern public key systems enable parties to communicate securely without previously establishing a secret key. Cryptanalysis is the study of cryptographic algorithms with the intent of recovering secret messages without knowing the secret key. We can think of cryptanalysis as the activity of an adversary who obtains an encrypted message and tries to recover the original message without knowing the key, but cryptanalysis could also be the activity of an analyst who is studying the security of a given method. Loosely speaking, we can think of cryptographers as the defense and cryptanalysts as the offense, but both sides must know what the other is capable of to do their jobs properly. We also want to distinguish cryptography from steganography, which seeks to hide the very existence of a message. For example, the children’s activity of writing a note in invisible ink is an example of steganog- raphy as is the use of a stencil to hide a message in a book. (See Figure 0.1.) Of course, steganography can be combined with cryptography to provide extra security. Although steganography can be very interesting, we won’t discuss it in this book.
Recommended publications
  • COS433/Math 473: Cryptography Mark Zhandry Princeton University Spring 2017 Cryptography Is Everywhere a Long & Rich History
    COS433/Math 473: Cryptography Mark Zhandry Princeton University Spring 2017 Cryptography Is Everywhere A Long & Rich History Examples: • ~50 B.C. – Caesar Cipher • 1587 – Babington Plot • WWI – Zimmermann Telegram • WWII – Enigma • 1976/77 – Public Key Cryptography • 1990’s – Widespread adoption on the Internet Increasingly Important COS 433 Practice Theory Inherent to the study of crypto • Working knowledge of fundamentals is crucial • Cannot discern security by experimentation • Proofs, reductions, probability are necessary COS 433 What you should expect to learn: • Foundations and principles of modern cryptography • Core building blocks • Applications Bonus: • Debunking some Hollywood crypto • Better understanding of crypto news COS 433 What you will not learn: • Hacking • Crypto implementations • How to design secure systems • Viruses, worms, buffer overflows, etc Administrivia Course Information Instructor: Mark Zhandry (mzhandry@p) TA: Fermi Ma (fermima1@g) Lectures: MW 1:30-2:50pm Webpage: cs.princeton.edu/~mzhandry/2017-Spring-COS433/ Office Hours: please fill out Doodle poll Piazza piaZZa.com/princeton/spring2017/cos433mat473_s2017 Main channel of communication • Course announcements • Discuss homework problems with other students • Find study groups • Ask content questions to instructors, other students Prerequisites • Ability to read and write mathematical proofs • Familiarity with algorithms, analyZing running time, proving correctness, O notation • Basic probability (random variables, expectation) Helpful: • Familiarity with NP-Completeness, reductions • Basic number theory (modular arithmetic, etc) Reading No required text Computer Science/Mathematics Chapman & Hall/CRC If you want a text to follow along with: Second CRYPTOGRAPHY AND NETWORK SECURITY Cryptography is ubiquitous and plays a key role in ensuring data secrecy and Edition integrity as well as in securing computer systems more broadly.
    [Show full text]
  • Amy Bell Abilene, TX December 2005
    Compositional Cryptology Thesis Presented to the Honors Committee of McMurry University In partial fulfillment of the requirements for Undergraduate Honors in Math By Amy Bell Abilene, TX December 2005 i ii Acknowledgements I could not have completed this thesis without all the support of my professors, family, and friends. Dr. McCoun especially deserves many thanks for helping me to develop the idea of compositional cryptology and for all the countless hours spent discussing new ideas and ways to expand my thesis. Because of his persistence and dedication, I was able to learn and go deeper into the subject matter than I ever expected. My committee members, Dr. Rittenhouse and Dr. Thornburg were also extremely helpful in giving me great advice for presenting my thesis. I also want to thank my family for always supporting me through everything. Without their love and encouragement I would never have been able to complete my thesis. Thanks also should go to my wonderful roommates who helped to keep me motivated during the final stressful months of my thesis. I especially want to thank my fiancé, Gian Falco, who has always believed in me and given me so much love and support throughout my college career. There are many more professors, coaches, and friends that I want to thank not only for encouraging me with my thesis, but also for helping me through all my pursuits at school. Thank you to all of my McMurry family! iii Preface The goal of this research was to gain a deeper understanding of some existing cryptosystems, to implement these cryptosystems in a computer programming language of my choice, and to discover whether the composition of cryptosystems leads to greater security.
    [Show full text]
  • Affine Cipher Project 1 Introduction
    Affine Cipher Project 141KECBZ0H5CRK1HUZK1CGPCR.5PUGUZU1WCU.CM1CUBHUCAK.6.Z5WCP1RK1UCH5 WC0EPU1KECU.C141KEC.UB1KXC,,RBHKV1PCWGRQ15P7CHCUHV1C.6CU9.CRGUG1P Directions: • Answer all numbered questions completely. • Show non-trivial work, and put your final answer in the box provided. • Questions without boxes should be answered in complete sentences in the space provided. 1 Introduction Cryptography is the study of secret codes, or the secure transmission of information that nobody except the desired recipient can read. By the end of this project, you will be able to decipher the quote printed above. The mathematical study of ciphers will lead us through a world in which the number line is a closed curve, and fractions do not exist. This project is designed to help you to: • read and understand definitions and notation • observe patterns and generalize • think logically, analytically, and abstractly • express problems and solutions precisely • follow examples • combine ideas to solve problems and create applications 1 2 Caesar Cipher A cipher is a function or algorithm for translating plaintext into encrypted ciphertext. Throughout history, governments and merchants have used ciphers to safely transmit sensitive information. Julius Caesar is said to have use a simple system of substituting each letter with the letter 3 spots over, wrapping around the alphabet if necessary. Here is the mapping: A B C D E F G H I J K L M N O P Q R S T U V W X Y Z # # # # # # # # # # # # # # # # # # # # # # # # # # D E F G H I J K L M N O P Q R S T U V W X Y Z A B C Space and punctuation are discarded.
    [Show full text]
  • Key Agreement from Weak Bit Agreement
    Key Agreement from Weak Bit Agreement Thomas Holenstein Department of Computer Science Swiss Federal Institute of Technology (ETH) Zurich, Switzerland [email protected] ABSTRACT In cryptography, much study has been devoted to find re- Assume that Alice and Bob, given an authentic channel, lations between different such assumptions and primitives. For example, Impagliazzo and Luby show in [9] that imple- have a protocol where they end up with a bit SA and SB , respectively, such that with probability 1+ε these bits are mentations of essentially all non-trivial cryptographic tasks 2 imply the existence of one-way functions. On the other equal. Further assume that conditioned on the event SA = hand, many important primitives can be realized if one-way SB no polynomial time bounded algorithm can predict the δ functions exist. Examples include pseudorandom generators bit better than with probability 1 − 2 . Is it possible to obtain key agreement from such a primitive? We show that [7], pseudorandom functions [5], and pseudorandom permu- 1−ε tations [12]. for constant δ and ε the answer is yes if and only if δ > 1+ε , both for uniform and non-uniform adversaries. For key agreement no such reduction to one-way functions The main computational technique used in this paper is a is known. In fact, in [10] it is shown that such a reduction strengthening of Impagliazzo’s hard-core lemma to the uni- must be inherently non-relativizing, and thus it seems very form case and to a set size parameter which is tight (i.e., hard to find such a construction.
    [Show full text]
  • The Mathemathics of Secrets.Pdf
    THE MATHEMATICS OF SECRETS THE MATHEMATICS OF SECRETS CRYPTOGRAPHY FROM CAESAR CIPHERS TO DIGITAL ENCRYPTION JOSHUA HOLDEN PRINCETON UNIVERSITY PRESS PRINCETON AND OXFORD Copyright c 2017 by Princeton University Press Published by Princeton University Press, 41 William Street, Princeton, New Jersey 08540 In the United Kingdom: Princeton University Press, 6 Oxford Street, Woodstock, Oxfordshire OX20 1TR press.princeton.edu Jacket image courtesy of Shutterstock; design by Lorraine Betz Doneker All Rights Reserved Library of Congress Cataloging-in-Publication Data Names: Holden, Joshua, 1970– author. Title: The mathematics of secrets : cryptography from Caesar ciphers to digital encryption / Joshua Holden. Description: Princeton : Princeton University Press, [2017] | Includes bibliographical references and index. Identifiers: LCCN 2016014840 | ISBN 9780691141756 (hardcover : alk. paper) Subjects: LCSH: Cryptography—Mathematics. | Ciphers. | Computer security. Classification: LCC Z103 .H664 2017 | DDC 005.8/2—dc23 LC record available at https://lccn.loc.gov/2016014840 British Library Cataloging-in-Publication Data is available This book has been composed in Linux Libertine Printed on acid-free paper. ∞ Printed in the United States of America 13579108642 To Lana and Richard for their love and support CONTENTS Preface xi Acknowledgments xiii Introduction to Ciphers and Substitution 1 1.1 Alice and Bob and Carl and Julius: Terminology and Caesar Cipher 1 1.2 The Key to the Matter: Generalizing the Caesar Cipher 4 1.3 Multiplicative Ciphers 6
    [Show full text]
  • With Answers
    Module 10.4: Exploring Some Historical Ciphers Gregory V. Bard January 30, 2020 • This is a practice workbook the Affine Cipher, touching on some shift ciphers (such as the Caesar cipher, the ROT-13 cipher), the Atbash cipher, and the Vigen`ereCipher. • The Affine Cipher was introduced in Module 10-2: The Basics of Modular Arithmetic, and some skills from Module 10-3: Modular Inverses are needed. • There is a with-answers version, and a without-answers version. • In the with-answers version of this workbook, the black ink represents the question, and the blue ink represents the answer. Question 10-4-1 Suppose Boris normally communicates with his handlers in Moscow using the affine cipher, and the encryption function c = fB(p) = 7p + 20 mod 26, while Natasha normally uses c = fN (p) = 11p + 8 mod 26. They have a very secret message to send back to Moscow, so they're going to encrypt the message twice, for added security. As you can probably guess, this is equivalent to using the affine cipher only once, but with a different function. • If Boris encrypts the plaintext first, followed by Natasha second, then what would BAT encrypt to? (B, A, T) becomes (1, 0, 19) and encrypts to (fB(1); fB(0); fB(19)) ≡ (1; 20; 23). We encrypt again to (fN (1); fN (20); fN (23)) ≡ (19; 20; 1), which becomes (T, U, B) or TUB. • If Natasha encrypts the plaintext first, followed by Boris second, then what would BAT encrypt to? (B, A, T) becomes (1, 0, 19) and encrypts to (fN (1); fN (0); fN (19)) ≡ (19; 8; 9).
    [Show full text]
  • MAT 302: LECTURE SUMMARY Last Class We Discussed Two Classical Ciphers, Both of Which Turned out to Be Rather Insecure (As Evide
    MAT 302: LECTURE SUMMARY Last class we discussed two classical ciphers, both of which turned out to be rather insecure (as evidenced by your cracking them manually during lecture): • The Scytale cipher • The Caesar (aka shift) cipher We began today’s lecture by writing the latter down in mathematical notation. To this end, it is convenient to use the set A = f0; 1; 2;:::; 25g to represent the English alphabet, i.e. 0 represents A, 1 represents B, etc. The Caesar Cipher. The Caesar cipher (or shift cipher) consists of a key k 2 Z, an encryption function ek : A −! A x 7−! x + k (mod 26) and a decryption function dk : A −! A x 7−! x − k (mod 26): The Caesar cipher is insecure because the space of all possible keys is rather small (how many are there?), so it is a trivial matter for Oscar to check all possible keys. We next discussed a variant of this, whose key space is somewhat larger: the affine cipher. The Affine Cipher. The affine cipher consists of a key (a; b) 2 Z2, an encryption function e(a;b) : A −! A x 7−! ax + b (mod 26) and a decryption function d(a;b) : A −! A x 7−! a−1(x − b) (mod 26) Actually, as stated this isn’t well-defined: a−1 doesn’t always exist (mod 26). Recall that a−1 is the element of A satisfying a−1a ≡ 1 (mod 26): For example, 0 has no (multiplicative) inverse (mod 26). Less trivially, 2 has no multiplicative inverse.
    [Show full text]
  • An Introduction to Cryptography
    abstract examples cryptanalysis harder cryptography schemes An Introduction to Cryptography Joe Fields http://www.southernct.edu/~fields/ Joe Fields Cryptography abstract examples Terminology cryptanalysis harder cryptography schemes Cryptography is the study of "secret writing." This is the only branch of mathematics to be designated by the U.S. government as export-controlled. Cryptographic knowledge is considered to be "war materials!" While we won't head off into TOP SECRET territory we will have a bit of fun working out how to make (and to break) good secret codes. Joe Fields Cryptography abstract examples Terminology cryptanalysis harder cryptography schemes the enigma Joe Fields Cryptography abstract examples Terminology cryptanalysis harder cryptography schemes WACs Joe Fields Cryptography Cryptology means \the study of secrets" practically speaking, they are synonyms... abstract examples Terminology cryptanalysis harder cryptography schemes Cryptography or Cryptology? Cryptography means \secret writing" Joe Fields Cryptography practically speaking, they are synonyms... abstract examples Terminology cryptanalysis harder cryptography schemes Cryptography or Cryptology? Cryptography means \secret writing" Cryptology means \the study of secrets" Joe Fields Cryptography abstract examples Terminology cryptanalysis harder cryptography schemes Cryptography or Cryptology? Cryptography means \secret writing" Cryptology means \the study of secrets" practically speaking, they are synonyms... Joe Fields Cryptography Bob (the recipient) but they are afraid that. Eve (the eavesdropper) will snoop on them and learn their secrets. abstract examples Terminology cryptanalysis harder cryptography schemes Cast of Characters Alice (the sender) wants to send a message to. Joe Fields Cryptography Eve (the eavesdropper) will snoop on them and learn their secrets. abstract examples Terminology cryptanalysis harder cryptography schemes Cast of Characters Alice (the sender) wants to send a message to.
    [Show full text]
  • Cryptography
    Cryptography Lecture 02 Byte-wise Shift Cipher Byte-wise Shift Cipher I Instead of a; b; c; d;:::; z have (for example) 0000, 0001,:::,1111. I Works for an alphabet of bytes rather than (English, lowercase) letters I Data in a computer is stored this way anyway. So works natively for arbitrary data! I Use XOR instead of modular addition. Fast! I Decode and Encode are both XOR. I Essential properties still hold Hexadecimal (base 16) Hex Bits (\nibble") Decimal Hex Bits (\nibble") Decimal 0 0000 0 8 1000 8 1 0001 1 9 1001 9 2 0010 2 A 1010 10 3 0011 3 B 1011 11 4 0100 4 C 1100 12 5 0101 5 D 1101 13 6 0110 6 E 1110 14 7 0111 7 F 1111 15 Hexadecimal (base 16) Notation: 0x before a string of f0; 1;:::; 9; A; B; C; D; E; F g means that the string will be base 16. I 0x10 I 0x10 = 16*1 + 0 = 16 I 0x10 = 0001 0000 I 0xAF I 0xAF = 16*A + F = 16*10 + 15 = 175 I 0xAF = 1010 1111 ASCII I Characters (often) represented in ASCII with TWO hex-digits. I Potentially 256 characters via f0;:::; 9; A;:::; F g × f0;:::; 9; A;:::; F g I Only use 128 characters via f0;::: 8g × f0;:::; 9; A;:::; F g ASCII I `1' = 0x31 = 0011 0001 I `F' = 0x46 = 0100 0110 Useful observations I Only 128 valid ASCII chars (128 bytes invalid) I 0x20-0x7E printable I 0x41-0x7A includes upper/lowercase letters I Uppercase letters begin with 0x4 or 0x5 I Lowercase letters begin with 0x6 or 0x7 Byte-wise shift cipher I M = fstrings of bytesg I Gen: choose uniform byte k 2 K = f0,.
    [Show full text]
  • Identifying Open Research Problems in Cryptography by Surveying Cryptographic Functions and Operations 1
    International Journal of Grid and Distributed Computing Vol. 10, No. 11 (2017), pp.79-98 http://dx.doi.org/10.14257/ijgdc.2017.10.11.08 Identifying Open Research Problems in Cryptography by Surveying Cryptographic Functions and Operations 1 Rahul Saha1, G. Geetha2, Gulshan Kumar3 and Hye-Jim Kim4 1,3School of Computer Science and Engineering, Lovely Professional University, Punjab, India 2Division of Research and Development, Lovely Professional University, Punjab, India 4Business Administration Research Institute, Sungshin W. University, 2 Bomun-ro 34da gil, Seongbuk-gu, Seoul, Republic of Korea Abstract Cryptography has always been a core component of security domain. Different security services such as confidentiality, integrity, availability, authentication, non-repudiation and access control, are provided by a number of cryptographic algorithms including block ciphers, stream ciphers and hash functions. Though the algorithms are public and cryptographic strength depends on the usage of the keys, the ciphertext analysis using different functions and operations used in the algorithms can lead to the path of revealing a key completely or partially. It is hard to find any survey till date which identifies different operations and functions used in cryptography. In this paper, we have categorized our survey of cryptographic functions and operations in the algorithms in three categories: block ciphers, stream ciphers and cryptanalysis attacks which are executable in different parts of the algorithms. This survey will help the budding researchers in the society of crypto for identifying different operations and functions in cryptographic algorithms. Keywords: cryptography; block; stream; cipher; plaintext; ciphertext; functions; research problems 1. Introduction Cryptography [1] in the previous time was analogous to encryption where the main task was to convert the readable message to an unreadable format.
    [Show full text]
  • Can You Keep a Secret?
    Codes and Ciphers 20 Can You Keep a Secret? Codes and ciphers have been around just about as long as there has been written language. The ability to communicate in secret – as well as the ability to peer into the secret communications of others – has been central to a surprising number of major world events throughout history, often with nations as well as lives hanging in the balance. A word first about the difference between a code and a cipher: • A code is a secret language used to disguise the meaning of a message. The simplest form is a “jargon code,” where a particular phrase corresponds to a previously defined message. “The milkman comes in the morning,” for example, could mean “the invasion begins at dawn.” • A cipher conceals what is referred to as a “plaintext” message by substituting (a “substitu- tion cipher”) and/or scrambling (a “transposition cipher”) the letters. As we shall see later, a simple substitution cipher may encrypt the message “Call me tomorrow morning” as “FDO OPH WRP RUU RZP RUQ LQJ.” For our purposes, we will use such general terms as “code,” Cryptography, sometimes called “cryptology,” is “code breaker,” “encryp- tion” and “decryption” to from the Greek, meaning “hidden writing,” and its refer both to codes and ci- use has been documented for over 2,000 years. phers, rather than repeatedly drawing the distinction between the two. Hidden Writing Cryptography, sometimes called “cryptology,” is from the Greek, meaning “hidden writing” and its use has been documented for over 2,000 years. From the beginning, codes have always been of greatest use in matters of war and diplomacy.
    [Show full text]
  • The Design and Evolution Of
    J Cryptol (2021) 34:36 https://doi.org/10.1007/s00145-021-09399-8 The Design and Evolution of OCB Ted Krovetz Computer Science Department, California State University, 6000 J Street, Sacramento, California 95819, USA [email protected] Phillip Rogaway Department of Computer Science, Kemper Hall of Engineering, University of California, Davis, California 95616, USA [email protected] Communicated by Tetsu Iwata. Received 20 December 2019 / Revised 26 August 2020 / Accepted 14 September 2020 Abstract. We describe OCB3, the final version of OCB, a blockcipher mode for au- thenticated encryption (AE). We prove the construction secure, up to the birthday bound, assuming its underlying blockcipher is secure as a strong-PRP. We study the scheme’s software performance, comparing its speed, on multiple platforms, to a variety of other AE schemes. We reflect on the history and development of the mode. Keywords. AEAD, Authenticated encryption, CAESAR competition, Cryptographic standards, Fast software encryption, Modes of operation, OCB. 1. Introduction Schemes for authenticated encryption (AE) symmetrically encrypt a message in a way that ensures both its confidentiality and authenticity. OCB is a well-known algorithm for achieving this aim. It is a blockcipher mode of operation, the blockcipher usually being AES. There are three main variants of OCB. The first, now called OCB1 (2001) [39], was mo- tivated by Charanjit Jutla’s IAPM [24]. A second version, now called OCB2 (2004) [18, 38], added support for associated data (AD) [37] and redeveloped the mode using the idea of a tweakable blockcipher [30]. OCB2 was recently found to have a disastrous bug [17].
    [Show full text]