Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 41 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
41
Dung lượng
459 KB
Nội dung
Block Ciphers NetworkSystemsSecurityMortAnvari Block Ciphers One of the most widely used types of cryptographic algorithms Provide confidentiality and/or authentication services Eg DES (Data Encryption Standard) 9/2/2004 Block vs Stream Ciphers Block ciphers divide message into blocks, each of which is then encrypted into ciphertext block of same length Like a substitution on very big characters (64 bits or more) Stream ciphers encrypt message a bit or byte at a time 9/2/2004 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 Block ciphers look 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 product cipher 9/2/2004 Shannon’s Proposal Cipher needs to completely obscure statistical properties of original message One-time pad does this, but impractical In 1949 Claude Shannon proposed two more practical concepts of confusion and diffusion diffusion – dissipates statistical structure of plaintext over bulk of ciphertext confusion – makes relationship between ciphertext and key as complex as possible 9/2/2004 Substitution-Permutation Networks Modern substitution-transposition product cipher Basis of modern block ciphers Achieve diffusion by performing some permutation followed by applying some function Achieve confusion by applying complex substitution algorithm 9/2/2004 Feistel Cipher Structure Horst Feistel devised the feistel cipher Input block partitioned into two halves based on concept of invertible product cipher process through multiple rounds in each round, perform a substitution on left data half based on round function of right half & subkey then have permutation swapping halves Implement Shannon’s substitutionpermutation network concept 9/2/2004 Feistel Cipher Structure 9/2/2004 Feistel Cipher Design Principles Block size Key size greater complexity can make analysis harder, but slows cipher Round function increasing number improves security, but slows cipher Subkey generation increasing size improves security, makes exhaustive key searching harder, but may slow cipher Number of rounds increasing size improves security, but slows cipher greater complexity can make analysis harder, but slows cipher Fast software en/decryption & ease of analysis are more recent concerns for practical use and testing 9/2/2004 Feistel Encryption and Decryption 9/2/2004 10 Electronic Codebook (ECB) 9/2/2004 27 Advantages and Limitations of ECB Repetitions in message may show in ciphertext if repetition aligned with message block particularly with graphic data or with messages that change very little, which become a code-book analysis problem Weakness due to encrypted message blocks being independent Main use is sending a few blocks of data 9/2/2004 28 Cipher Block Chaining (CBC) Message is broken into blocks that are chained together in the encryption operation Each previous cipher blocks is chained with current plaintext block Use Initial Vector (IV) to start process Ci = EK1(Pi XOR Ci-1) C-1 = IV Uses: bulk data encryption, authentication 9/2/2004 29 Cipher Block Chaining (CBC) 9/2/2004 30 Advantages and Limitations of CBC Each ciphertext block depends on all message blocks Thus, a change in message affects all ciphertext blocks after the change as well as the original block Need Initial Vector (IV) known to sender & receiver however if IV is sent in the clear, an attacker can change bits of the first block, and change IV to compensate hence either IV must be a fixed value or it must be sent encrypted in ECB mode before rest of message At end of message, handle possible last short block by padding either with known non-data value (e.g nulls) or pad last block with count of pad size 9/2/2004 E.g [b1 b2 b3 0 0 5]