J. Wang. Computer Network Security Theory and Practice. Springer 2008 Chapter 2 Data Encryption algorithms Part II.

Slides:



Advertisements
Similar presentations
Origins  clear a replacement for DES was needed Key size is too small Key size is too small The variants are just patches The variants are just patches.
Advertisements

“Advanced Encryption Standard” & “Modes of Operation”
Modern Symmetric-Key Ciphers
CS 483 – SD SECTION BY DR. DANIYAL ALGHAZZAWI (3) Information Security.
1 CIS 5371 Cryptography 5b. Pseudorandom Objects in Practice Block Ciphers.
Cryptography and Network Security Chapter 5 Fifth Edition by William Stallings Lecture slides by Lawrie Brown.
Cryptography and Network Security Chapter 5
Data Encryption Standard (DES)
Symmetric Encryption Example: DES Weichao Wang. 2 Overview of the DES A block cipher: – encrypts blocks of 64 bits using a 64 bit key – outputs 64 bits.
 Stream ciphers o Encrypt chars/bits one at a time o Assume XOR w the key, need long key to be secure  Keystream generators (pseudo-random key) o Synchronous.
Cryptography1 CPSC 3730 Cryptography Chapter 6 Triple DES, Block Cipher Modes of Operation.
Advanced Encryption Standard
CMSC 414 Computer (and Network) Security Lecture 5 Jonathan Katz.
1 The AES block cipher Niels Ferguson. 2 What is it? Block cipher: encrypts fixed-size blocks. Design by two Belgians. Chosen from 15 entries in a competition.
Chapter 5 Cryptography Protecting principals communication in systems.
1 Overview of the DES A block cipher: –encrypts blocks of 64 bits using a 64 bit key –outputs 64 bits of ciphertext A product cipher –basic unit is the.
RIJNDAEL Arta Doci University Of Colorado.
McGraw-Hill©The McGraw-Hill Companies, Inc., Security PART VII.
J. Wang. Computer Network Security Theory and Practice. Springer 2008 Chapter 4 Data Authentication Part I.
Introduction to Symmetric Block Cipher Jing Deng Based on Prof. Rick Han’s Lecture Slides Dr. Andreas Steffen’s Security Tutorial.
Cryptography and Network Security Chapter 5. Chapter 5 –Advanced Encryption Standard "It seems very simple." "It is very simple. But if you don't know.
Lecture 23 Symmetric Encryption
Dr. Lo’ai Tawalbeh 2007 Chapter 5: Advanced Encryption Standard (AES) Dr. Lo’ai Tawalbeh New York Institute of Technology (NYIT) Jordan’s Campus.
Computer Security CS 426 Lecture 3
Encryption Schemes Second Pass Brice Toth 21 November 2001.
ECE454/CS594 Computer and Network Security Dr. Jinyuan (Stella) Sun Dept. of Electrical Engineering and Computer Science University of Tennessee Fall 2011.
Block Cipher Transmission Modes CSCI 5857: Encoding and Encryption.
Chapter 2 Data Encryption Algorithms Part I
Chapter 5 Advanced Encryption Standard. Origins clear a replacement for DES was needed –have theoretical attacks that can break it –have demonstrated.
Cryptography and Network Security
1 University of Palestine Information Security Principles ITGD 2202 Ms. Eman Alajrami 2 nd Semester
The Data Encryption Standard - see Susan Landau’s paper: “Standing the test of time: the data encryption standard.” DES - adopted in 1977 as a standard.
Cryptography and Network Security
symmetric key cryptography
Applied Cryptography Example: AES. Advanced Encryption Standard "It seems very simple." "It is very simple. But if you don't know what the key is it's.
Cryptography and Network Security Chapter 6. Multiple Encryption & DES  clear a replacement for DES was needed theoretical attacks that can break it.
1 Chapter 3 Ciphers Mechanism that decides the process of encryption/decryption Stream Cipher: Bit-by-bit encryption / decryption Block Cipher: Block-by-block.
Advance Encryption Standard. Topics  Origin of AES  Basic AES  Inside Algorithm  Final Notes.
AES Background and Mathematics CSCI 5857: Encoding and Encryption.
Information Security Lab. Dept. of Computer Engineering 122/151 PART I Symmetric Ciphers CHAPTER 5 Advanced Encryption Standard 5.1 Evaluation Criteria.
Chapter 20 Symmetric Encryption and Message Confidentiality.
CS555Spring 2012/Topic 51 Cryptography CS 555 Topic 5: Pseudorandomness and Stream Ciphers.
Rijndael Advanced Encryption Standard. Overview Definitions Definitions Who created Rijndael and the reason behind it Who created Rijndael and the reason.
TE/CS 536 Network Security Spring 2006 – Lectures 6&7 Secret Key Cryptography.
Chapter 20 Symmetric Encryption and Message Confidentiality.
Module 3 – Cryptography Cryptography basics Ciphers Symmetric Key Algorithms Public Key Algorithms Message Digests Digital Signatures.
CS555Spring 2012/Topic 111 Cryptography CS 555 Topic 11: Encryption Modes and CCA Security.
3DES and Block Cipher Modes of Operation CSE 651: Introduction to Network Security.
Multiple Encryption & DES  clearly a replacement for DES was needed Vulnerable to brute-force key search attacks Vulnerable to brute-force key search.
Stream Ciphers and Block Ciphers A stream cipher is one that encrypts a digital data stream one bit or one byte at a time. Examples of classical stream.
 Cryptography is the science of using mathematics to encrypt and decrypt data.  Cryptography enables you to store sensitive.
Advanced Encryption Standard. Origins NIST issued a new version of DES in 1999 (FIPS PUB 46-3) DES should only be used in legacy systems 3DES will be.
Lecture 23 Symmetric Encryption
Cryptography Lecture 17: Advanced Encryption Standard (AES) Piotr Faliszewski.
Fifth Edition by William Stallings
Symmetric Encryption Lesson Introduction ●Block cipher primitives ●DES ●AES ●Encrypting large message ●Message integrity.
Advanced Encryption Standard Dr. Shengli Liu Tel: (O) Cryptography and Information Security Lab. Dept. of Computer.
DATA & COMPUTER SECURITY (CSNB414) MODULE 3 MODERN SYMMETRIC ENCRYPTION.
1 Symmetric-Key Encryption CSE 5351: Introduction to Cryptography Reading assignment: Chapter 2 Chapter 3 (sections ) You may skip proofs, but are.
The Advanced Encryption Standard Part 2: Mathematical Background
Cipher Transmission and Storage Modes Part 2: Stream Cipher Modes CSCI 5857: Encoding and Encryption.
Block Ciphers and the Data Encryption Standard. Modern Block Ciphers  One of the most widely used types of cryptographic algorithms  Used in symmetric.
The Advanced Encryption Standard Part 1: Overview
J. Wang and Z. Kissel. Introduction to Network Security: Theory and Practice. Wiley and HEP, Chapter 2 Data Encryption Algorithms.
Block Cipher Modes Last Updated: Aug 25, ECB Mode Electronic Code Book Divide the plaintext into fixed-size blocks Encrypt/Decrypt each block independently.
Triple DES.
Block vs Stream Ciphers
ADVANCED ENCRYPTION STANDARDADVANCED ENCRYPTION STANDARD
Chapter -3 ADVANCED ENCRYPTION STANDARD & BLOCK CIPHER OPERATION
Presentation transcript:

J. Wang. Computer Network Security Theory and Practice. Springer 2008 Chapter 2 Data Encryption algorithms Part II

J. Wang. Computer Network Security Theory and Practice. Springer 2008 Chapter 2 Outline 2.1 Data Encryption algorithm Design Criteria 2.2 Data Encryption Standard 2.3 Multiple DES 2.4 Advanced Encryption Standard 2.5 Standard Block-Cipher Modes of Operations 2.6 Stream Ciphers 2.7 Key Generations

J. Wang. Computer Network Security Theory and Practice. Springer 2008 Advanced Encryption Standard competition began in 1997 Rijndael was selected to be the new AES in 2001 AES basic structures: block cipher, but not Feistel cipher encryption and decryption are similar, but not symmetrical basic unit: byte, not bit block size: 16-bytes (128 bits) three different key lengths: 128, 192, 256 bits AES-128, AES-192, AES-256 each 16-byte block is represented as a 4 x 4 square matrix, called the state matrix the number of rounds depends on key lengths 4 simple operations on the state matrix every round (except the last round)

J. Wang. Computer Network Security Theory and Practice. Springer 2008 The Four Simple Operations: substitute-bytes (sub) Non-linear operation based on a defined substitution box Used to resist cryptanalysis and other mathematical attacks shift-rows (shr) Linear operation for producing diffusion mix-columns (mic) Elementary operation also for producing diffusion add-round-key (ark) Simple set of XOR operations on state matrices Linear operation Produces confusion

J. Wang. Computer Network Security Theory and Practice. Springer 2008 AES-128

J. Wang. Computer Network Security Theory and Practice. Springer 2008 AES S-Box S-box: a 16 x 16 matrix built from operations over finite field GF( 2 8 )  permute all 256 elements in GF( 2 8 )  each element and its index are represented by two hexadecimal digits Let w = b 0... b 7 be a byte. Define a byte-substitution function S as follows: Let i = b 0 b 1 b 2 b 3, the binary representation of the row index Let j = b 4 b 5 b 6 b 7, the binary representation of the column index Let S(w) = s ij, S -1 (w) = s ’ ij We have S(S -1 (w)) = w and S -1 (S(w)) = w

J. Wang. Computer Network Security Theory and Practice. Springer 2008 Let K = K[0,31]K[32,63]K[64,95]K[96,127] be a 4-word encryption key AES expands K into a 44-word array W[0,43] Define a byte transformation function M as follows: b 6 b 5 b 4 b 3 b 2 b 1 b 0 0, if b 7 = 0, M (b 7 b 6 b 5 b 4 b 3 b 2 b 1 b 0 ) = b 6 b 5 b 4 b 3 b 2 b 1 b 0 0 ⊕ , if b 7 = 1 Next, let j be a non-negative number. Define m(j) as follows: , if j = 0 m(j) = , if j = 1 M (m(j–1)), if j > 1 Finally, define a word-substitution function T as follows, which transforms a 32-bit string into a 32-bit string, using parameter j and the AES S-Box: T(w, j) = [(S(w 2 ) ⊕ m(j – 1)]S(w 3 ) S(w 4 ) S(w 1 ), where w = w 1 w 2 w 3 w 4 with each w i being a byte AES-128 Round Keys

J. Wang. Computer Network Security Theory and Practice. Springer 2008 Putting Things Together Use all of these functions to create round keys of size 4 words (11 round keys are needed for AES-128; i.e. 44 words) W[0] = K[0, 31] W[1] = K[32, 63] W[2] = K[64, 95] W[3] = K[96, 127] W[i–4] ⊕ T(W[i–1], i/4), if i is divisible by 4 W[i] = W[i–4] ⊕ W[i–1], otherwise i = 4, …, round keys: For i = 0, …, 10 : K i = W[4i, 4i + 3] = W[4i + 0] W[4i + 1] W[4i + 2] W[4i + 3]

J. Wang. Computer Network Security Theory and Practice. Springer 2008 Add Round Keys ( ark ) Rewrite K i as a 4 x 4 matrix of bytes: k 0,0 k 0,1 k 0,2 k 0,3 K i = k 1,0 k 1,1 k 1,2 k 1,3 k 2,0 k 2,1 k 2,2 k 2,3 k 3,0 k 3,1 k 3,2 k 3,3 where each element is a byte and W[4i + j] = k 0,j k 1,j k 2,j k 3,j, j = 0, 1, 2, 3 Initially, let a = M k 0,0 ⊕ a 0,0 k 0,1 ⊕ a 0,1 k 0,3 ⊕ a 0,3 k 0,4 ⊕ a 0,4 ark(a, K i ) = a ⊕ K i = k 1,0 ⊕ a 1,0 k 1,1 ⊕ a 1,1 k 1,2 ⊕ a 1,2 k 1,3 ⊕ a 1,3 k 2,0 ⊕ a 2,0 k 2,1 ⊕ a 2,1 k 2,2 ⊕ a 2,2 k 2,3 ⊕ a 2,3 k 3,0 ⊕ a 3,0 k 3,1 ⊕ a 3,1 k 3,2 ⊕ a 3,2 k 3,3 ⊕ a 3,3 Since this is a XOR operation, ark –1 is the same as ark. We have ark(ark –1 (a, K i ), K i ) = ark –1 (ark(a, K i ), K i ) = a

J. Wang. Computer Network Security Theory and Practice. Springer 2008 Substitute-Bytes ( sub ) Recall that S is a substitution function that takes a byte as an input, uses its first four bits as the row index and the last four bits as the column index, and outputs a byte using a table- lookup at the S-box Let A be a state matrix. Then S(a 0,0 ) S(a 0,1 ) S(a 0,2 ) S(a 0,3 ) sub(A) =S(a 1,0 ) S(a 1,1 ) S(a 1,2 ) S(a 1,3 ) S(a 2,0 ) S(a 2,1 ) S(a 2,2 ) S(a 2,3 ) S(a 3,0 ) S(a 3,1 ) S(a 3,2 ) S(a 3,3 ) sub -1 ( A ) will just be the inverse substitution operation applied to the matrix S -1 (a 0,0 ) S -1 (a 0,1 ) S -1 (a 0,2 ) S -1 (a 0,3 ) sub -1 (A) = S -1 (a 1,0 ) S -1 (a 1,1 ) S -1 (a 1,2 ) S -1 (a 1,3 ) S -1 (a 2,0 ) S -1 (a 2,1 ) S -1 (a 2,2 ) S -1 (a 2,3 ) S -1 (a 3,0 ) S -1 (a 3,1 ) S -1 (a 3,2 ) S -1 (a 3,3 ) We have sub(sub -1 (A)) = sub -1 (sub(A)) = A

J. Wang. Computer Network Security Theory and Practice. Springer 2008 Shift-Rows ( shr ) shr(A) performs a left-circular-shift i – 1 times on the i -th row in the matrix A a 0,0 a 0,1 a 0,2 a 0,3 shr(A) = a 1,1 a 1,2 a 1,3 a 1,0 a 2,2 a 2,3 a 2,0 a 2,1 a 3,3 a 3,0 a 3,1 a 3,2 shr -1 (A) performs a right-circular-shift i – 1 times on the i -th row in the matrix A a 0,0 a 0,1 a 0,2 a 0,3 shr - 1 ( A )= a 1,3 a 1,0 a 1,1 a 1,2 a 2,2 a 2,3 a 2,0 a 2,1 a 3,1 a 3,2 a 3,3 a 3,0 We have shr(shr -1 (A)) = shr -1 (shr(A)) = A

J. Wang. Computer Network Security Theory and Practice. Springer 2008 Mix-Columns ( mic ) mic ( A ) = [a ’ ij ] 4×4 is determined by the following operation ( j = 0, 1, 2, 3): a’ 0,j = M (a 0,j ) ⊕ [ M (a 1,j ) ⊕ a 1,j ] ⊕ a 2,j ⊕ a 3,j a’ 1,j = a 0,j ⊕ M (a 1,j ) ⊕ [M (a 2,j ) ⊕ a 2,j ] ⊕ a 3,j a’ 2,j = a 0,j ⊕ a 1,j ⊕ M (a 2,j ) ⊕ [M (a 3,j ) ⊕ a 3,j ] a’ 3,j = [M (a 0,j ) ⊕ a 0,j ] ⊕ a 1,j ⊕ a 2,j ⊕ M (a 3,j ) mic -1 (A) is defined as follows:  Let w be a byte and i a positive integer: M i (w) = M ( M i-1 (w)) (i > 1), M 1 (w) = M (w)  Let M 1 (w) = M 3 (w) ⊕ M 2 (w) ⊕ M(w) M 2 (w) = M 3 (w) ⊕ M(w) ⊕ w M 3 (w) = M 3 (w) ⊕ M 2 (w) ⊕ w M 4 (w) = M 3 (w) ⊕ w mic -1 (A) = [a ’’ ij ] 4×4 : a’’ 0,j = M 1 (a 0,j ) ⊕ M 2 (a 1,j ) ⊕ M 3 (a 2,j ) ⊕ M 4 (a 3,j ) a’’ 1,j = M 4 (a 0,j ) ⊕ M 1 (a 1,j ) ⊕ M 2 (a 2,j ) ⊕ M 3 (a 3,j ) a’’ 2,j = M 3 (a 0,j ) ⊕ M 4 (a 1,j ) ⊕ M 1 (a 2,j ) ⊕ M 2 (a 3,j ) a’’ 3,j = M 2 (a 0,j ) ⊕ M 3 (a 1,j ) ⊕ M 4 (a 2,j ) ⊕ M 1 (a 3,j ) We have mic(mic -1 (A)) = mic -1 (mic(A)) = A

J. Wang. Computer Network Security Theory and Practice. Springer 2008 AES-128 Encryption/Decryption AES-128 encryption: Let A i ( i = 0, …, 11) be a sequence of state matrices, where A 0 is the initial state matrix M, and A i ( i = 1, …, 10) represents the input state matrix at round i A 11 is the cipher text block C, obtained as follows: A 1 = ark(A 0, K 0 ) A i+1 = ark(mic(shr(sub(A i ))), K i ), i = 1,…,9 A 11 = arc(shr(sub(A 10 )), K 10 )) AES-128 decryption: Let C 0 = C = A 11, where C i is the output state matrix from the previous round C 1 = ark(C 0, K 10 ) C i+1 = mic -1 (ark(sub -1 (shr -1 (C i )), K 10-i )), i = 1,…,9 C 11 = ark(sub -1 (shr -1 (C 10 )), K 0 )

J. Wang. Computer Network Security Theory and Practice. Springer 2008 Correctness Proof of Decryption We now show that C 11 = A 0 We first show the following equality using mathematical induction: C i = shr(sub(A 11-i )), i = 1, …, 10 For i = 1 we have C 1 = ark(A 11, K 10 ) = A 11 ⊕ K 10 = ark(shr(sub(A 10 )), K 10 ) ⊕ K 10 = (shr(sub(A 10 )) ⊕ K 10 ) ⊕ K 10 = shr(sub(A 10 )) Assume that the equality holds for 1 ≤ i ≤ 10. We have C i+1 = mic -1 (ark(sub -1 (shr -1 (C i )), K 10-i )) = mic -1 (ark(sub -1 (shr -1 (shr(sub(A 11-i )))) ⊕ K 10-i )) = mic -1 (A 11-i ⊕ K 10-i ) = mic -1 (ark(mic(shr(sub(A 10-i ))), K 10-i ) ⊕ K 10-i ) = mic -1 ([mic(shr(sub(A 10-i ))) ⊕ K 10-i ] ⊕ K 10-i ) = shr(sub(A 10-i ) = shr(sub(A 11-(i+1) )) This completes the induction proof

J. Wang. Computer Network Security Theory and Practice. Springer 2008 Finally, we have C 11 = ark(sub -1 (shr -1 (C 10 )), K 0 ) = sub -1 (shr -1 (shr(sub(A 1 )))) ⊕ K 0 = A 1 ⊕ K 0 = (A 0 ⊕ K 0 ) ⊕ K 0 = A 0 This completes the correctness proof of AES-128 Decryption

J. Wang. Computer Network Security Theory and Practice. Springer 2008 Chapter 2 Outline 2.1 Data Encryption algorithm Design Criteria 2.2 Data Encryption Standard 2.3 Multiple DES 2.4 Advanced Encryption Standard 2.5 Standard Block-Cipher Modes of Operations 2.6 Stream Ciphers 2.7 Key Generations

J. Wang. Computer Network Security Theory and Practice. Springer 2008 Let l be the block size of a given block cipher ( l = 64 in DES, l = 128 in AES). Let M be a plaintext string. Divide M into a sequence of blocks: M = M 1 M 2 …M k, such that the size of each block M i is l (padding the last block if necessary) There are several methods to encrypt M, where are referred to as block- cipher modes of operations Standard block-cipher modes of operations:  electronic-codebook mode (ECB)  cipher-block-chaining mode (CBC)  cipher-feedback mode (CFB)  output-feedback mode (OFB)  counter mode (CTR)

J. Wang. Computer Network Security Theory and Practice. Springer 2008 ECB encrypts each plaintext block independently. Let C i be the i-th ciphertext block: Easy and straightforward. ECB is often used to encrypt short plaintext messages However, if we break up our string into blocks, there could be a chance that two blocks are identical: M i = M j ( i ≠ j ) This provides the attacker with some information about the encryption Other Block-Cipher Modes deal with this in different ways Electronic-Codebook Mode (ECB) ECB Encryption StepsECB Decryption Steps

J. Wang. Computer Network Security Theory and Practice. Springer 2008 Cipher-Block-Chaining Mode (CBC) CBC Encryption StepsCBC Decryption Steps When the plaintext message M is long, the possibility that M i =M j for some i ≠ j will increase under the ECB mode CBC can overcome the weakness of ECB In CBC, the previous ciphertext block is used to encrypt the current plaintext block CBC uses an initial l -bit block C 0, referred to as initial vector What if a bit error occurs in a ciphertext block during transmission? (Diffusion) One bit change in C i affects the subsequent blocks

J. Wang. Computer Network Security Theory and Practice. Springer 2008 Cipher-Feedback Mode (CFB) CFB turns block ciphers to stream ciphers M = w 1 w 2 … w m, where w i is s -bit long Encrypts an s -bit block one at a time:  s=8: stream cipher in ASCII  s=16: unicode stream cipher Also has an l -bit initial vector V 0 CFB Encryption StepsCFB Decryption Steps

J. Wang. Computer Network Security Theory and Practice. Springer 2008 Output-Feedback Mode (OFB) OFB Encryption StepsOFB Decryption Steps OFB also turns block ciphers to stream ciphers The only difference between CFB and OFB is that OFB does not place C i in V i. Feedback is independent of the message Used in error-prone environment

J. Wang. Computer Network Security Theory and Practice. Springer 2008 Counter Mode (CTR) CTR Encryption StepsCTR Decryption Steps CTR is block cipher mode. An l -bit counter Ctr, starting from an initial value and increases by 1 each time Used in applications requiring faster encryption speed

J. Wang. Computer Network Security Theory and Practice. Springer 2008 Chapter 2 Outline 2.1 Data Encryption algorithm Design Criteria 2.2 Data Encryption Standard 2.3 Multiple DES 2.4 Advanced Encryption Standard 2.5 Standard Block-Cipher Modes of Operations 2.6 Stream Ciphers 2.7 Key Generations

J. Wang. Computer Network Security Theory and Practice. Springer 2008 Stream Ciphers Stream ciphers encrypts the message one byte (or other small blocks of bits) at a time Any block ciphers can be converted into a stream cipher (using, e.g. CFB and OFB) with extra computation overhead How to obtain light-weight stream ciphers? RC4, designed by Rivest for RSA Security, is a light- weight stream cipher  It is a major component in WEP, part of the IEEE b standard.  It has variable key length: ranging from 1 byte to 256 bytes  It uses three operations: substitution, modular addition, and XORs.

J. Wang. Computer Network Security Theory and Practice. Springer 2008 RC4 Subkey Generation Key Scheduling algorithm (KSA) Let K be an encryption key: K = K[0]K[1] … K[l–1], where |K|=8l, 1≤ l ≤ 256 RC4 uses an array S[0, 255] of 256 bytes to generate subkeys Apply a new permutation of bytes in this array at each iteration to generate a subkey

J. Wang. Computer Network Security Theory and Practice. Springer 2008 Subkey Generation Algorithm (SGA)

J. Wang. Computer Network Security Theory and Practice. Springer 2008 RC4 Encryption and Decryption RC4 subkey generation after KSa is performed

J. Wang. Computer Network Security Theory and Practice. Springer 2008 RC4 Security Weaknesses Knowing the initial permutation of S generated in KSA is equivalent to breaking RC4 encryption Weak keys: a small portion of the string could determine a large number of bits in the initial permutation, which helps reveal the secret encryption key Reused keys:  Known-plaintext attack: reveal the subkey stream for encryption  Related-plaintext attack:

J. Wang. Computer Network Security Theory and Practice. Springer 2008 Chapter 2 Outline 2.1 Data Encryption algorithm Design Criteria 2.2 Data Encryption Standard 2.3 Multiple DES 2.4 Advanced Encryption Standard 2.5 Standard Block-Cipher Modes of Operations 2.6 Stream Ciphers 2.7 Key Generations

J. Wang. Computer Network Security Theory and Practice. Springer 2008 Key Generation Secret keys are the most critical components of encryption algorithms Best way: random generation  Generate pseudorandom strings using deterministic algorithms (pseudorandom number generators “PRNG”); e.g. ANSI X9.17 PRNG BBS Pseudorandom Bit Generator

J. Wang. Computer Network Security Theory and Practice. Springer 2008 ANSI X9.17 PRNG Published in 1985 by the American National Standard Institute (ANSI) for financial institution key management Based on 3DES/2 with two initial keys K 1 and K 2, and an initial vector V 0 Two special 64-bit binary strings T i and V i :  T i represents the current date and time, updated before each round  V i is called a seed and determined as follows:

J. Wang. Computer Network Security Theory and Practice. Springer 2008 BBS Pseudorandom Bit Generator It generates a pseudorandom bit in each round of computation. Let p and q be two large prime numbers satisfying p mod 4 = q mod 4 = 3 Let n = p X q and s be a positive number, where  s and p are relatively prime; i.e. gcd(s,p) = 1  s and q are relatively prime; i.e. gcd(s,q) = 1 BBS pseudorandom bit generation:

J. Wang. Computer Network Security Theory and Practice. Springer 2008 How Good is BBS? Predicting the (k+1)-th BBS bit b k+1 from the k previous BBS bits b 1, …, b k depends on the difficulty of integer factorization Integer factorization: for a given positive non-prime number n, find prime factors of n  Best known algorithm requires computation time in the order of If integer factorization cannot be solved in polynomial time, then a BBS pseudorandom bit cannot be distinguished from a true random bit in polynomial time Integer factorization can be solved in polynomial time on a theoretical quantum computation model