[advertisement]
[ Encryption | Encryption Algorithms | RSA |
DES/3DES | BLOWFISH | IDEA |
SEAL | RC4 | File wiping ]
Encryption Algorithms
Algorithms have a variety of uses in ensuring the
integrity of communications. Security is necessary when communicating over any
untrusted medium. This includes not only inherently insecure networks, such as
radio (broadcast transmission is, by nature, subject to interception), but also
the Internet. There are four commonly accepted security requirements, and
cryptographic algorithms can contribute to each.
- Authentication: The process of proving one's
identity. (The primary forms of host-to-host authentication on the Internet
today are name-based or address-based, both of which are notoriously weak.)
- Privacy/confidentiality: Ensuring that no one
can read the message except the intended recipient.
- Integrity: Assuring the recipient that the
received message has not been altered in any way from the original that was
sent.
- Non-repudiation: A mechanism to prove that
this message really originated from the claimed sender.
Types of Algorithm
Many different algorithms are used for encryption, but certain elements are
common to all of them. Algorithms can be divided into classes depending on the
technique and approach employed.
Symmetric Algorithms
Symmetric algorithms use the same key for encryption and decryption. They
usually operate at relatively high speed, and are suitable for bulk encryption
of messages. There are many symmetric algorithms, the most common of which is
the Data Encryption Algorithm, DEA (specified in the Data Encryption Standard,
DES). A stronger variation of DES, called Triple-DES, has been developed which
uses the DEA algorithm three times to provide a far stronger cipher. Other well
known algorithms include the Japanese FEAL algorithm and the more recent US
algorithm, SKIPJACK.
The increasing power of computer systems means that algorithms provide less
protection as time passes, and some popular algorithms are now considerably less
effective. Approval for use of DES by US Government agencies was withdrawn in
2000 with the announcement of the Advanced Encryption Standard (AES), which is
also symmetric.
Asymmetric Algorithms
There is a special class of transformations in mathematics, where a pair of
related by independent keys can be used to perform asymmetric encryption and
decryption. One key from the pair is used to encrypt information into a cipher,
and the other key decrypts the cipher back to plaintext. This form of encryption
is popularly known as public key cryptography, and interest in this method
increased in 1978 when a paper was published introducing a public key scheme
(known as RSA, after its developers Rivest, Shamir, and Adelman). Asymmetric
schemes rely on the fact that it is relatively easy (computationally) to
multiply two very large prime numbers together to produce a large number, but it
is extremely difficult to factorise this product back into the original primes.
Asymmetric encryption is relatively slow, and therefore unsuitable for
encryption of large messages. However, a major advantage of asymmetric key
systems is that one of the two components of the key pair can be made public
(hence the phrase "public key"). This has two important benefits: firstly,
anyone can send private information to a recipient 'A' by encrypting the
information using A's public key but only A will be able to recover the
information by decrypting the cipher using the related private key (which A must
keep secret). Second, if some known information can be correctly recovered by
decrypting with A's public key, it must have been encrypted with A's private
key, and therefore by A. This means that asymmetric algorithms provide proof of
origin.
Hash Algorithms
Hash algorithms are used to transform a message of arbitrary length into a
"message digest" of a fixed, and relatively small, length. They are one-way
functions, and the output varies with even minor changes in a large document, so
these are effective in detecting modifications to a message. The message digest
may also be referred to as a Message Authentication Code (MAC) or Modification
Detection Code (MDC). The DES algorithm is widely used in banking to generate
MACs for electronic transactions (eg EFT-POS and ATM), where it is essential to
be certain that a message has not been corrupted or interfered with.
Key Management
A major problem with conventional symmetric systems is the need to distribute
cryptographic keys to all users. This traditionally involves the establishment
of a manual distribution and accounting regime for cryptographic material,
resulting in a significant administrative and physical security overhead. In
addition, the pre-positioned key remains extremely vulnerable to unauthorised
disclosure, as highlighted in the Walker/Whitworth espionage case. Public key
systems have an advantage because the public key can be held centrally and given
out freely, without requiring secure distribution, so public key encryption
techniques are being used in the development of new electronic key management
architectures which allow electronic exchange of per-session cryptographic keys.
[ Encryption | Encryption Algorithms | RSA |
DES/3DES | BLOWFISH | IDEA |
SEAL | RC4 | File wiping ]