EFFECTIVENESS OF CRYPTOGRAPHIC SECURITY
Developing a strong cryptographic algorithm involves two endeavors: design and validation. Algorithm design consists of specifying criteria and inventing consists of subjecting the candidate algorithm to a thorough, intensive, and rigorous analysis (cryptanalysis). Algorithm validation is performed by an “attack” team playing the roleof opponent or antagonist. Attempts are made to uncover weaknesses that might lead to an attack against the algorithm, and to break the algorithm by using all known methods of attack for that type of algorithm. In the absolute sense, a cryptographic algorithm is attack-proof (perfectly strong) only if there is no procedure or method that can be successfully used to attack (break) it. Thus, to certify that an algorithm is attack-proof requires the proof of a negative hypothesis: the nonexistence of a procedure for breaking the algorithm. In general, such proofs are impossible.’ Since it is impossible to prove that an algorithm is attack-proof, a compromise is necessary.
The dilemma must be resolved (to an acceptable point) by performing algorithm validation on a best-effort basis. An algorithm is considered strong (resistant to certain types of attack) if no exploitable weakness can be uncovered during the validation effort. Thus the basis for developing or creating a strong cryptographic algorithm requires an extensive knowledge of how to break cryptographic algorithms. The proper application of this knowledge helps to build a strong algorithm. In turn, the quality of this measure of strength depends on the knowledge and expertise of the attack team, and the scope, intensity, and duration of the investigation. Ideally, the two tasks-design and validation are performed by two independent, and possibly competitive, groups. In practice, however, the design and validation groups may interact. Such interaction is intended to provide
the means to uncover flaws and defects, thereby permitting the algorithm’s designers to incorporate any necessary improvements.
A properly validated cryptographic algorithm of demonstrated strength is the foundation upon which more sophisticated encryption-based protection schemes (communication and file security, message authentication, and so forth) can be implemented. With any nonsecret, key-controlled cryptographic algorithm, such as DES, the protection achieved through encryption ultimately depends on how well the secrecy of the cryptographic keys can be maintained. An opponent who obtains the key(s), as well as the encrypted
data, does not need to perform a cryptanalysis; since the algorithm is publicly available, the key will directly “unlock” the data. Thus a strong cryptographic
algorithm alone does not automatically guarantee protection. Effective security requires both a strong algorithm and secure procedures for generating, distributing, installing, and managing keys. It is not surprising that the problems encountered in cryptographic algorithm design are also encountered in the design of encryption-based protection schemes. These schemes are designed and validated in the same manner as cryptographic algorithms.

