T 4.35 Insecure cryptographic algorithms

The extent to which cryptographic processes increase security basically depends on two parameters: secure cryptographic algorithms must be used and the secret keys must be treated confidentially (for the compromising of cryptographic codes see T 5.83 Compromising cryptographic keys).

Insecure cryptographic algorithms are characterised by the fact that a potential attacker would be able to break the cryptographic procedure used with a reasonable amount of resources. In terms of encryption algorithms, this means that an attacker would be able to determine the original plain text from the encrypted text without having any additional information. The corresponding resources required by an attacker such as the available computing power, aids such as analysis tools, current level of knowledge, amount of time available, knowledge of vulnerabilities, etc., can be considered relevant. If insecure cryptographic algorithms are used, then the attacker has the opportunity to bypass the cryptographic protection.

Every cryptographic algorithm used must be examined to determine whether or not it is insecure. There are a few criteria, though, that indicate the possible existence of security gaps:

An example of an algorithm fitting these criteria is the DES algorithm for symmetric encryption used frequently around the world. This algorithm has an effective key length of 56 bits. The triple-DES algorithm, which executes the algorithm three times in a row using two different keys has an effective key length of 112 bits and can still be considered adequately secure at the present time. Another example is the RSA algorithm, which is an asymmetric procedure based on the factorisation problem. If RSA is operated with a key length of less than 768 bits, then it must be assumed that it will not offer adequate security. A key length of at least 1024 bits can still be considered sufficiently secure, at least for the next few years.

The MD5 hash algorithm is outdated and has known weaknesses that can be demonstrated today based on practical examples. Even the SHA-1 hash algorithm is not suitable any more for all applications or purposes.

A common example of an insecure but extremely fast algorithm is the use of the XOR function, which can easily be used to link the constant values to the original plain text. This is a high performance algorithm, but it can be cracked very quickly. On the other hand, the XOR function is used in the most secure encryption algorithm that exists by XORing unpredictable, random values with the data to be encrypted (one-time pad).

It is practically impossible for a non-expert to determine if a given cryptographic algorithm is sufficiently secure. For this reason, only those algorithms that have been developed by experts or that have been subjected to years of examination by the scientific community should be used.