In
cryptography
Cryptography, or cryptology (from "hidden, secret"; and ''graphein'', "to write", or ''-logy, -logia'', "study", respectively), is the practice and study of techniques for secure communication in the presence of Adversary (cryptography), ...
, BassOmatic is the
symmetric-key cipher designed by
Phil Zimmermann
Philip R. Zimmermann (born 1954) is an American computer scientist and cryptographer. He is the creator of Pretty Good Privacy (PGP), the most widely used email encryption software in the world. He is also known for his work in VoIP encryption ...
as part of his email encryption software
PGP (in the first release, version 1.0). Comments in the
source code
In computing, source code, or simply code or source, is a plain text computer program written in a programming language. A programmer writes the human readable source code to control the behavior of a computer.
Since a computer, at base, only ...
indicate that he had been designing the cipher since as early as 1988, but it was not publicly released until 1991. After
Eli Biham
Eli Biham () is an Israeli cryptographer and cryptanalyst who is a professor at the Technion - Israel Institute of Technology Computer Science department. From 2008 to 2013, Biham was the dean of the Technion Computer Science department, afte ...
pointed out to him several serious weaknesses in the BassOmatic algorithm over lunch at the 1991
CRYPTO
Crypto commonly refers to:
* Cryptography, the practice and study of hiding information
* Cryptocurrency, a type of digital currency based on cryptography
Crypto or krypto may also refer to:
Cryptography
* Cryptanalysis, the study of methods f ...
conference,
Zimmermann replaced it with
IDEA
In philosophy and in common usage, an idea (from the Greek word: ἰδέα (idea), meaning 'a form, or a pattern') is the results of thought. Also in philosophy, ideas can also be mental representational images of some object. Many philosophe ...
in subsequent versions of PGP.
The name is explained in this comment from the source code: "BassOmatic gets its name from an old
Dan Aykroyd
Daniel Edward Aykroyd ( ; born July 1, 1952) is a Canadian actor, comedian, screenwriter, and producer.
Aykroyd was a writer and an original member of the "Not Ready for Prime Time Players" cast on the NBC sketch comedy series ''Saturday Nigh ...
''
Saturday Night Live
''Saturday Night Live'' (''SNL'') is an American Late night television in the United States, late-night live television, live sketch comedy variety show created by Lorne Michaels and developed by Michaels and Dick Ebersol that airs on NBC. The ...
'' skit involving a blender and a whole fish. The BassOmatic algorithm does to data what the original BassOmatic did to the fish."
Algorithm
The algorithm operates on blocks of 256 bytes (or 2048 bits). The actual
key size
In cryptography, key size or key length refers to the number of bits in a key used by a cryptographic algorithm (such as a cipher).
Key length defines the upper-bound on an algorithm's security (i.e. a logarithmic measure of the fastest known a ...
can be anywhere from 8 to 2048 bits. The 6 least-significant bits of the
key are ''control bits'', used to choose between several possible variations. The number of rounds is 1 to 8, depending on the 3 lowest control bits. Bit 4 selects between two possible
key schedule
In cryptography, the so-called product ciphers are a certain kind of cipher, where the (de-)ciphering of data is typically done as an iteration of '' rounds''. The setup for each round is generally the same, except for round-specific fixed va ...
s: one using the key to seed a
pseudorandom number generator
A pseudorandom number generator (PRNG), also known as a deterministic random bit generator (DRBG), is an algorithm for generating a sequence of numbers whose properties approximate the properties of sequences of random number generation, random n ...
, the other using BassOmatic itself. Making such variations key-dependent means that some keys must be
weaker than others; the
key space is not ''flat''.
The chosen key schedule produces a total of 8 ''permutation tables'', each a
permutation
In mathematics, a permutation of a set can mean one of two different things:
* an arrangement of its members in a sequence or linear order, or
* the act or process of changing the linear order of an ordered set.
An example of the first mean ...
of the numbers 0 to 255. Each round consists of 4 operations:
XOR
Exclusive or, exclusive disjunction, exclusive alternation, logical non-equivalence, or logical inequality is a logical operator whose negation is the logical biconditional. With two inputs, XOR is true if and only if the inputs differ (one ...
ing the block with one of the permutation tables, ''shredding'' or permuting individual bits throughout the block, an unkeyed
diffusion
Diffusion is the net movement of anything (for example, atoms, ions, molecules, energy) generally from a region of higher concentration to a region of lower concentration. Diffusion is driven by a gradient in Gibbs free energy or chemical p ...
called ''raking'', and a substitution step using the permutation tables as
S-boxes. The shredding step can either permute all 8
bit-planes independently, or in groups of 4, depending on control bit 3. The permutation tables stay the same through all rounds of encryption on a given block, but if control bit 5 is set, then the tables are regenerated after each block.
References
External links
PGPkeys.org– downloads of older PGP software, including version 1.0 source
The Super Bass-O-Matic '76– Saturday Night Live episode originally aired on April 17, 1976.
{{Cryptography navbox , block
Broken block ciphers