Title: Block%20Ciphers:%20Workhorses%20of%20Cryptography
1Block CiphersWorkhorses of Cryptography
COMP 1631Fall 2006
2 Basic Scenario
Two communicating parties
3 Information Security Services
Communicating parties may require
- secrecy - attacker listening cannot gain any
useful information from the communication
- authentication - communicating parties are
ensured to be who/what they claim to be
- integrity - data cannot be modified by attacker
without detection
- non-repudiation - Alice and Bob cannot deny
transmission/receipt of certain data
4 Terminology
- Cryptography is the study of mathematical
techniques used to provide information security
Cryptanalysis is the study of techniques used to
thwart (break) cryptographic techniques
Cryptology is the field which encompasses both
cryptography and cryptanalysis
5 Cryptographic Primitives
- The basic cryptographic building blocks used to
provide these information security services are
called primitives
6 Using Ciphers for Secrecy
A cipher is an encryption/decryption algorithm,
parameterized by keys
7 Categories of Ciphers
- ke kd (or they are easily derived from each
other)
- the key is known only to Alice and Bob
- Public-key (Asymmetric) Ciphers
- the recipient (Bob) has a key pair (ke, kd)
- ke (the public key) is widely distributed
- - on Bobs Web page, in a directory, etc
- kd (the private key) is known only to Bob
8 Advantages/Disadvantages
- Alice and Bob must establish a shared key (key
distribution problem)
- very fast (used for bulk encryption)
- solves key distribution problem
- slow (approximately 1/1000 speed of symmetric-key
ciphers)
9 Hybrid Approach
- Suppose Alice has a large file she wants to
encrypt and send to Bob
1. Alice randomly generates a key (k) to be used
in a symmetric-key cipher
2. Alice encrypts k with Bobs public key and
sends it to Bob
3. Bob decrypts k using his private key
4. Alice and Bob communicate using k and an
agreed-upon symmetric-key cipher
10 Block Ciphers
- Block ciphers are an important class of
symmetric-key ciphers
- A block cipher maps N bits to N bits (plaintext
to ciphertext) and is parameterized by a key
- N is called the block size
- typical block sizes 64 bits, 128 bits
- name comes from fixed-length nature of input (as
compared to stream ciphers, which encrypt their
input as a continuous stream)
11 Block Cipher Architectures
- Two fundamental block cipher architectures
- Substitution-Permutation Networks (SPNs)
- Both encrypt a plaintext through a series of
weaker steps called rounds
- Feistel networks modify only half the input to
each round (simplifies decryption process),
whereas SPNs modify the entire input
12(No Transcript)
13 S-Boxes and Subkeys
- An n?n s-box is a mapping from n bits to n bits
that can be inverted (so two different inputs
must map to two different outputs)
- The subkeys (round keys) are typically derived
from k via a key-scheduling algorithm - k is sometimes called the master key
14 The Linear Transformation
- In its simplest form, a linear transformation is
simply a permutation (shuffling) of bits (hence
the name substitution-permutation network)
- In general, a applying a linear transformation
means multiplying the input (an N-bit vector) by
a binary N ? N matrix