Security 5
Security 5
of Hash Functions
Hash algorithms that are in common use today include:
- MD2 (RFC 1319): Designed for systems with limited memory, such as
smart cards.
But this does bring up the issue, what is the precise significance of
key length as it affects the level of protection?
The Significance of Key Length
In cryptography, size does matter. The larger the key, the harder it is
to crack a block of encrypted data. The reason that large keys offer
more protection is almost obvious; computers have made it easier to
attack ciphertext by using brute force methods rather than by
attacking the mathematics (which are generally well-known
anyway). With a brute force attack, the attacker merely generates
every possible key and applies it to the ciphertext. Any resulting
plaintext that makes sense offers a candidate for a legitimate key.
The Significance of Key Length
Until the mid-1990s or so, brute force attacks were beyond the
capabilities of computers that were within the budget of the attacker
community. Today, however, significant compute power is
commonly available and accessible. General purpose computers
such as PCs are already being used for brute force attacks. For
serious attackers with money to spend, such as some large
companies or governments, Field Programmable Gate Array
(FPGA) or Application-Specific Integrated Circuits (ASIC)
technology offers the ability to build specialized chips that can
provide even faster and cheaper solutions than a PC. Consider that
an AT&T ORCA chip (FPGA) costs $200 and can test 30 million
DES keys per second, while a $10 ASIC chip can test 200 million
DES keys per second (compared to a PC which might be able to test
40,000 keys per second).
The Significance of Key Length
So, how big is big enough? DES, invented in 1975, is still in use
today, nearly 25 years later. If we take that to be a design criteria
(i.e., a 20-plus year lifetime) and we believe Moore's Law
("computing power doubles every 18 months"), then a key size
extension of 14 bits (i.e., a factor of more than 16,000) should be
adequate. The 1975 DES proposal suggested 56-bit keys; by 1995, a
70-bit key would have been required to offer equal protection and
an 85-bit key will be necessary by 2015.
The discussion above suggests that a 128- or 256-bit key for SKC
will suffice for some time because that key length keeps us ahead of
the brute force capabilities of the attackers. While a large key is
good, a huge key may not always be better. That is, many public-
key cryptosystems use 1024- or 2048- bit keys; expanding the key
to 4096 bits probably doesn't add any protection at this time but it
does add significantly to processing time.
TRUST MODELS
Secure use of cryptography requires trust. While secret key cryptography can ensure
message confidentiality and hash codes can ensure integrity, none of this works
without trust. In SKC, Alice and Bob had to share a secret key. PKC solved the secret
distribution problem, but how does Alice really know that Bob is who he says he is?
Just because Bob has a public and private key, and purports to be "Bob," how does
Alice know that a malicious person (Mallory) is not pretending to be Bob?
There are a number of trust models employed by various cryptographic schemes. This
section will explore three of them:
The web of trust employed by Pretty Good Privacy (PGP) users, who hold their own
set of trusted public keys.
Certificates, which allow a set of trusted third parties to authenticate each other and, by
implication, each other's users.
Each of these trust models differs in complexity, general applicability, scope, and
scalability.
PGP Web of Trust
Pretty Good Privacy is a widely used private e-mail scheme based
on public key methods. A PGP user maintains a local keyring of all
their known and trusted public keys. The user makes their own
determination about the trustworthiness of a key using what is
called a "web of trust."
If Alice needs Bob's public key, Alice can ask Bob for it in another
e-mail or, in many cases, download the public key from an
advertised server; this server might a well-known PGP key
repository or a site that Bob maintains himself. In fact, Bob's public
key might be stored or listed in many places. Alice is prepared to
believe that Bob's public key, as stored at these locations, is valid.