Symmetric Key Ciphers Objectives
Total Page:16
File Type:pdf, Size:1020Kb
Load more
Recommended publications
-
Chapter 3 – Block Ciphers and the Data Encryption Standard
Chapter 3 –Block Ciphers and the Data Cryptography and Network Encryption Standard Security All the afternoon Mungo had been working on Stern's Chapter 3 code, principally with the aid of the latest messages which he had copied down at the Nevin Square drop. Stern was very confident. He must be well aware London Central knew about that drop. It was obvious Fifth Edition that they didn't care how often Mungo read their messages, so confident were they in the by William Stallings impenetrability of the code. —Talking to Strange Men, Ruth Rendell Lecture slides by Lawrie Brown Modern Block Ciphers Block vs Stream Ciphers now look at modern block ciphers • block ciphers process messages in blocks, each one of the most widely used types of of which is then en/decrypted cryptographic algorithms • like a substitution on very big characters provide secrecy /hii/authentication services – 64‐bits or more focus on DES (Data Encryption Standard) • stream ciphers process messages a bit or byte at a time when en/decrypting to illustrate block cipher design principles • many current ciphers are block ciphers – better analysed – broader range of applications Block vs Stream Ciphers Block Cipher Principles • most symmetric block ciphers are based on a Feistel Cipher Structure • needed since must be able to decrypt ciphertext to recover messages efficiently • bloc k cihiphers lklook like an extremely large substitution • would need table of 264 entries for a 64‐bit block • instead create from smaller building blocks • using idea of a product cipher 1 Claude -
Block Ciphers and the Data Encryption Standard
Lecture 3: Block Ciphers and the Data Encryption Standard Lecture Notes on “Computer and Network Security” by Avi Kak ([email protected]) January 26, 2021 3:43pm ©2021 Avinash Kak, Purdue University Goals: To introduce the notion of a block cipher in the modern context. To talk about the infeasibility of ideal block ciphers To introduce the notion of the Feistel Cipher Structure To go over DES, the Data Encryption Standard To illustrate important DES steps with Python and Perl code CONTENTS Section Title Page 3.1 Ideal Block Cipher 3 3.1.1 Size of the Encryption Key for the Ideal Block Cipher 6 3.2 The Feistel Structure for Block Ciphers 7 3.2.1 Mathematical Description of Each Round in the 10 Feistel Structure 3.2.2 Decryption in Ciphers Based on the Feistel Structure 12 3.3 DES: The Data Encryption Standard 16 3.3.1 One Round of Processing in DES 18 3.3.2 The S-Box for the Substitution Step in Each Round 22 3.3.3 The Substitution Tables 26 3.3.4 The P-Box Permutation in the Feistel Function 33 3.3.5 The DES Key Schedule: Generating the Round Keys 35 3.3.6 Initial Permutation of the Encryption Key 38 3.3.7 Contraction-Permutation that Generates the 48-Bit 42 Round Key from the 56-Bit Key 3.4 What Makes DES a Strong Cipher (to the 46 Extent It is a Strong Cipher) 3.5 Homework Problems 48 2 Computer and Network Security by Avi Kak Lecture 3 Back to TOC 3.1 IDEAL BLOCK CIPHER In a modern block cipher (but still using a classical encryption method), we replace a block of N bits from the plaintext with a block of N bits from the ciphertext. -
Block Ciphers
Block Ciphers Chester Rebeiro IIT Madras CR STINSON : chapters 3 Block Cipher KE KD untrusted communication link Alice E D Bob #%AR3Xf34^$ “Attack at Dawn!!” message encryption (ciphertext) decryption “Attack at Dawn!!” Encryption key is the same as the decryption key (KE = K D) CR 2 Block Cipher : Encryption Key Length Secret Key Plaintext Ciphertext Block Cipher (Encryption) Block Length • A block cipher encryption algorithm encrypts n bits of plaintext at a time • May need to pad the plaintext if necessary • y = ek(x) CR 3 Block Cipher : Decryption Key Length Secret Key Ciphertext Plaintext Block Cipher (Decryption) Block Length • A block cipher decryption algorithm recovers the plaintext from the ciphertext. • x = dk(y) CR 4 Inside the Block Cipher PlaintextBlock (an iterative cipher) Key Whitening Round 1 key1 Round 2 key2 Round 3 key3 Round n keyn Ciphertext Block • Each round has the same endomorphic cryptosystem, which takes a key and produces an intermediate ouput • Size of the key is huge… much larger than the block size. CR 5 Inside the Block Cipher (the key schedule) PlaintextBlock Secret Key Key Whitening Round 1 Round Key 1 Round 2 Round Key 2 Round 3 Round Key 3 Key Expansion Expansion Key Key Round n Round Key n Ciphertext Block • A single secret key of fixed size used to generate ‘round keys’ for each round CR 6 Inside the Round Function Round Input • Add Round key : Add Round Key Mixing operation between the round input and the round key. typically, an ex-or operation Confusion Layer • Confusion layer : Makes the relationship between round Diffusion Layer input and output complex. -
Mirror Cipher Using Feistel Network
Mirror Cipher using Feistel Network 1 2 3 Ihsan Muhammad Asnadi Ranindya Paramitha Tony 123 Informatics Department, Institut Teknologi Bandung, Bandung 40132, Indonesia 1 2 3 E-mail: 1 [email protected] 1 [email protected] 1 [email protected] Abstract. Mirror cipher is a cipher built by creativity which has a specific feature of mirrored round function. As other ciphers, mirror cipher could be used to secure messages’ confidentiality and integrity. This cipher receives message and key inputs from its user. Then, it runs 9 rounds of feistel networks in ECB modes. Each round would run a round function which consists of 5 functions in mirrored order (9 function calls in total): s-box substitution, row substitution, column substitution, column cumulative xor, and round key addition. This cipher is implemented using Python and has been tested using several message and key combinations. Mirror cipher has applied Shanon’s diffusion and confusion property and proven to be secured from bruteforce and frequency analysis attack. 1. Introduction 1.1. Background In this modern world, data or messages are exchanged anytime and anywhere. To protect confidentiality and integrity of messages, people usually encrypt their messages before sending them, and then decrypt the received messages before reading them. These encryption and decryption practices and techniques are contained under the big concept of cryptography. There are many ciphers (encryption and decryption algorithms) that have been developed since the BC period. Ciphers are then divided into 2 kinds of ciphers, based on how it treats the message: stream cipher and block cipher. -
Chapter 3 – Block Ciphers and the Data Encryption Standard
Symmetric Cryptography Chapter 6 Block vs Stream Ciphers • Block ciphers process messages into blocks, each of which is then en/decrypted – Like a substitution on very big characters • 64-bits or more • Stream ciphers process messages a bit or byte at a time when en/decrypting – Many current ciphers are block ciphers • Better analyzed. • Broader range of applications. Block vs Stream Ciphers Block Cipher Principles • Block ciphers look like an extremely large substitution • Would need table of 264 entries for a 64-bit block • Arbitrary reversible substitution cipher for a large block size is not practical – 64-bit general substitution block cipher, key size 264! • Most symmetric block ciphers are based on a Feistel Cipher Structure • Needed since must be able to decrypt ciphertext to recover messages efficiently Ideal Block Cipher Substitution-Permutation Ciphers • in 1949 Shannon introduced idea of substitution- permutation (S-P) networks – modern substitution-transposition product cipher • These form the basis of modern block ciphers • S-P networks are based on the two primitive cryptographic operations we have seen before: – substitution (S-box) – permutation (P-box) (transposition) • Provide confusion and diffusion of message Diffusion and Confusion • Introduced by Claude Shannon to thwart cryptanalysis based on statistical analysis – Assume the attacker has some knowledge of the statistical characteristics of the plaintext • Cipher needs to completely obscure statistical properties of original message • A one-time pad does this Diffusion -
A Novel Feistel Cipher Involving a Bunch of Keys Supplemented with XOR Operation
(IJACSA) International Journal of Advanced Computer Science and Applications, Vol. 3, No. 12, 2012 A Novel Feistel Cipher Involving a Bunch of Keys Supplemented with XOR Operation V.U.K Sastry K. Anup Kumar Dean R&D, Department of Computer Science and Associate Professor, Department of Computer Science Engineering, Sreenidhi Institute of Science & Tech. and Engineering, SNIST, Hyderabad, India Hyderabad, India Abstract—In this investigation, we have developed a novel block In order to satisfy (1.5), we chose ejk as an odd integer, cipher by modifying classical Feistel cipher. In this, we have used which lies in the interval [1-255], and thus we obtain djk also as a key bunched wherein each key has a multiplicative inverse. The an odd integer lying in the interval [1-255]. cryptanalysis carried out in this investigation clearly shows that this cipher cannot be broken by any attack. Here also we adopt an iterative procedure, and make use of the permutation process that consists of the interchange of the Keywords-encryption; decryption; cryptanalysis; avalanche effect; two halves of the plaintext , of course, represented in the form multiplicative inverse. of a pair of matrices. I. INTRODUCTION In the present analysis, our objective is to modify the Feistel cipher by including a bunch of keys. Here our interest is The study of the Feistel cipher [1-2] laid the foundation for to see how the different keys, occurring in the key bunch, the development of cryptography in the seventies of the last would influence the strength of the cipher. century. In the classical Feistel cipher the block size is 64 bits, and it is divided into two halves wherein each half is containing In what follows, we present the plan of the paper. -
A Tutorial on the Implementation of Block Ciphers: Software and Hardware Applications
A Tutorial on the Implementation of Block Ciphers: Software and Hardware Applications Howard M. Heys Memorial University of Newfoundland, St. John's, Canada email: [email protected] Dec. 10, 2020 2 Abstract In this article, we discuss basic strategies that can be used to implement block ciphers in both software and hardware environments. As models for discussion, we use substitution- permutation networks which form the basis for many practical block cipher structures. For software implementation, we discuss approaches such as table lookups and bit-slicing, while for hardware implementation, we examine a broad range of architectures from high speed structures like pipelining, to compact structures based on serialization. To illustrate different implementation concepts, we present example data associated with specific methods and discuss sample designs that can be employed to realize different implementation strategies. We expect that the article will be of particular interest to researchers, scientists, and engineers that are new to the field of cryptographic implementation. 3 4 Terminology and Notation Abbreviation Definition SPN substitution-permutation network IoT Internet of Things AES Advanced Encryption Standard ECB electronic codebook mode CBC cipher block chaining mode CTR counter mode CMOS complementary metal-oxide semiconductor ASIC application-specific integrated circuit FPGA field-programmable gate array Table 1: Abbreviations Used in Article 5 6 Variable Definition B plaintext/ciphertext block size (also, size of cipher state) κ number -
Stage De Master 2R
STAGE DE MASTER 2R SYSTEMES ELECTRONIQUES ET GENIE ELECTRIQUE PARCOURS SYSTEMES ELECTRONIQUES ANNEE UNIVERSITAIRE 2006/2007 CRYPTO-COMPRESSION BASED ON CHAOS OF STILL IMAGES FOR THE TRANSMISSION YIN XU École Polytechnique de l’Université de Nantes Laboratoire IREENA Encadrants du stage : Safwan EL ASSAD Vincent RICORDEL Stage effectué du (05/02/2007) au (09/07/2007) Acknowledgments I would like to express my gratitude to my supervisors Professor Safwan EL ASSAD and Professor Vincent RICORDEL, who have been giving me direction with great patience. As the tutor of the first part of my internship, Prof. RICORDEL coached me on the study of JPEG 2000 systems and I benefited a lot from his tutorials. His constructive suggestions on my research and careful correction of my submitted materials are deeply appreciated. And as the tutor of the second part of my internship, Prof. EL ASSAD pointed out a clear direction of the subject that I should follow, which spare me from the potential wasting of time. He was always encouraging me and thus providing me with more confidence to achieve the objects of the internship. Doctor. Abir AWAD helped me a lot on the program-performance comparisons of C++ and MATLAB and she also gave me many useful materials on my subject. I am really thankful. I would also give my thankfulness to Professor Joseph SAILLARD and Professor Patrick LE CALLET for attending my final defense as a member of the jury despite the busy occupation of their own work. Of course also send great thankfulness to my two supervisors Prof. EL ASSAD and Prof. -
Network Security Chapter 8
Network Security Chapter 8 Network security problems can be divided roughly into 4 closely intertwined areas: secrecy (confidentiality), authentication, nonrepudiation, and integrity control. Question: what does non-repudiation mean? What does “integrity” mean? • Cryptography • Symmetric-Key Algorithms • Public-Key Algorithms • Digital Signatures • Management of Public Keys • Communication Security • Authentication Protocols • Email Security -- skip • Web Security • Social Issues -- skip Revised: August 2011 CN5E by Tanenbaum & Wetherall, © Pearson Education-Prentice Hall and D. Wetherall, 2011 Network Security Security concerns a variety of threats and defenses across all layers Application Authentication, Authorization, and non-repudiation Transport End-to-end encryption Network Firewalls, IP Security Link Packets can be encrypted on data link layer basis Physical Wireless transmissions can be encrypted CN5E by Tanenbaum & Wetherall, © Pearson Education-Prentice Hall and D. Wetherall, 2011 Network Security (1) Some different adversaries and security threats • Different threats require different defenses CN5E by Tanenbaum & Wetherall, © Pearson Education-Prentice Hall and D. Wetherall, 2011 Cryptography Cryptography – 2 Greek words meaning “Secret Writing” Vocabulary: • Cipher – character-for-character or bit-by-bit transformation • Code – replaces one word with another word or symbol Cryptography is a fundamental building block for security mechanisms. • Introduction » • Substitution ciphers » • Transposition ciphers » • One-time pads -
Block Ciphers
BLOCK CIPHERS MTH 440 Block ciphers • Plaintext is divided into blocks of a given length and turned into output ciphertext blocks of the same length • Suppose you had a block cipher, E(x,k) where the input plaintext blocks,x, were of size 5-bits and a 4-bit key, k. • PT = 10100010101100101 (17 bits), “Pad” the PT so that its length is a multiple of 5 (we will just pad with 0’s – it doesn’t really matter) • PT = 10100010101100101000 • Break the PT into blocks of 5-bits each (x=x1x2x3x4) where each xi is 5 bits) • x1=10100, x2= 01010, x3=11001, x4=01000 • Ciphertext: c1c2c3c4 where • c1=E(x1,k1), c2=E(x2,k2), c3=E(x3,k3), c4=E(x4,k4) • (when I write the blocks next to each other I just mean concatentate them (not multiply) – we’ll do this instead of using the || notation when it is not confusing) • Note the keys might all be the same or all different What do the E’s look like? • If y = E(x,k) then we’ll assume that we can decipher to a unique output so there is some function, we’ll call it D, so that x = D(y,k) • We might define our cipher to be repeated applications of some function E either with the same or different keys, we call each of these applications “round” • For example we might have a “3 round” cipher: y Fk x E((() E E x, k1 , k 2)), k 3 • We would then decipher via 1 x Fk (,, y) D((() D D y, k3 k 2) k 1) S-boxes (Substitution boxes) • Sometimes the “functions” used in the ciphers are just defined by a look up table that are often referred to “S- boxes” •x1 x 2 x 3 S(x 1 x 2 x 3 ) Define a 4-bit function with a 3-bit key 000 -
Outline Block Ciphers
Block Ciphers: DES, AES Guevara Noubir http://www.ccs.neu.edu/home/noubir/Courses/CSG252/F04 Textbook: —Cryptography: Theory and Applications“, Douglas Stinson, Chapman & Hall/CRC Press, 2002 Reading: Chapter 3 Outline n Substitution-Permutation Networks n Linear Cryptanalysis n Differential Cryptanalysis n DES n AES n Modes of Operation CSG252 Classical Cryptography 2 Block Ciphers n Typical design approach: n Product cipher: substitutions and permutations n Leading to a non-idempotent cipher n Iteration: n Nr: number of rounds → 1 2 Nr n Key schedule: k k , k , …, k , n Subkeys derived according to publicly known algorithm i n w : state n Round function r r-1 r n w = g(w , k ) 0 n w : plaintext x n Required property of g: ? n Encryption and Decryption sequence CSG252 Classical Cryptography 3 1 SPN: Substitution Permutation Networks n SPN: special type of iterated cipher (w/ small change) n Block length: l x m n x = x(1) || x(2) || … || x(m) n x(i) = (x(i-1)l+1, …, xil) n Components: π l → l n Substitution cipher s: {0, 1} {0, 1} π → n Permutation cipher (S-box) P: {1, …, lm} {1, …, lm} n Outline: n Iterate Nr times: m substitutions; 1 permutation; ⊕ sub-key; n Definition of SPN cryptosytems: n P = ?; C = ?; K ⊆ ?; n Algorithm: n Designed to allow decryption using the same algorithm n What are the parameters of the decryption algorithm? CSG252 Classical Cryptography 4 SPN: Example n l = m = 4; Nr = 4; n Key schedule: n k: (k1, …, k32) 32 bits r n k : (k4r-3, …, k4r+12) z 0 1 2 3 4 5 6 7 8 9 A B C D E F π S(z) E 4 D 1 2 F B 8 3 A 6 C -
Symmetric Key Cryptosystems Definition
Symmetric Key Cryptosystems Debdeep Mukhopadhyay IIT Kharagpur Definition • Alice and Bob has the same key to encrypt as well as to decrypt • The key is shared via a “secured channel” • Symmetric Ciphers are of two types: – Block : The plaintext is encrypted in blocks – Stream: The block length is 1 • Symmetric Ciphers are used for bulk encryption, as they have better performance than their asymmetric counter-part. 1 Block Ciphers What we have learnt from history? • Observation: If we have a cipher C1=(P,P,K1,e1,d1) and a cipher C2 (P,P,K2,e2,d2). • We define the product cipher as C1xC2 by the process of first applying C1 and then C2 • Thus C1xC2=(P,P,K1xK2,e,d) • Any key is of the form: (k1,k2) and e=e2(e1(x,k1),k2). Likewise d is defined. Note that the product rule is always associative 2 Question: • Thus if we compute product of ciphers, does the cipher become stronger? – The key space become larger –2nd Thought: Does it really become larger. • Let us consider the product of a 1. multiplicative cipher (M): y=ax, where a is co-prime to 26 //Plain Texts are characters 2. shift cipher (S) : y=x + k Is MxS=SxM? • MxS: y=ax+k : key=(a,k). This is an affine cipher, as total size of key space is 312. • SxM: y=a(x+k)=ax+ak – Now, since gcd(a,26)=1, this is also an affine cipher. – key = (a,ak) – As gcd(a,26)=1, a-1 exists. There is a one-one relation between ak and k.