Professional Documents
Culture Documents
Joshua Job
Gordon Standart
Introduction
Reason
Design
Reason / Justification
DES Weaknesses
S-boxes
Too small
Not sufficiently random
Other Issues
Design Requirements
Fast
Compact
Simple
to code
Flat keyspace
Easily
Design Decisions
Design Decisions
If not possible:
Unlikely to choose a weak key
Make weak keys explicitly known
Facilitate analysis
Increase confidence in the algorithm
Feistel iterated block cipher
Design Elements
64-bit
Key-dependent
permutations
Diverse Mathematical Operations
Implementation: Encryption
Arrays:
P Number of rounds + 2 elements
4 S-boxes 256 elements
Li F Li 1 Pi 1 Ri 1
Ri Li 1 Pi 1
L17 L16 P18
R17 R16 P17
Wikipedia,
http://en.wikipedia.org/wiki/Image:BlowfishDiagram.png
Wikipedia,
http://upload.wikimedia.org/wikipedia/en
/8/81/BlowfishFFunction.png
Cryptanalysis
Differential
Weak
Attack
Keys
S-box collisions
Future Concerns
Simplifications
Twofish
AES Finalist
128-bit Block Size
More Operations
Summary
Reason
/ Justification
Design Elements
Implementation
Cryptanalysis
Future Concerns
References
Wikipedia
http://en.wikipedia.org/wiki/Blowfish_cipher
Applied
Cryptography
Bruce Schneier
John Wiley and Sons, Inc. 1996
The
(for illustrations)
Blowfish Paper
http://www.schneier.com/paper-blowfish-fse.html