Blowfish in Practice
Blowfish is a fast block cipher, except when changing keys. Each new key requires pre-processing equivalent to encrypting about 4 kilobytes of text, which is very slow compared to other block ciphers. This prevents its use in certain applications, but is not a problem in others. In one application, it is actually a benefit: the password-hashing method used in OpenBSD uses an algorithm derived from Blowfish that makes use of the slow key schedule; the idea is that the extra computational effort required gives protection against dictionary attacks. See key stretching.
Blowfish has a memory footprint of just over 4 kilobytes of RAM. This constraint is not a problem even for older desktop and laptop computers, though it does prevent use in the smallest embedded systems such as early smartcards.
Blowfish was one of the first secure block ciphers not subject to any patents and therefore freely available for anyone to use. This benefit has contributed to its popularity in cryptographic software.
Read more about this topic: Blowfish (cipher)
Famous quotes containing the word practice:
“It is accordance with our determination to refrain from aggression and build up a sentiment and practice among nations more favorable to peace ... that we have incurred the consent of fourteen important nations to the negotiation of a treaty condemning recourse to war, renouncing it as an instrument of national policy.”
—Calvin Coolidge (18721933)