Home > CAPEC List > CAPEC-97: Cryptanalysis (Version 2.4)  

CAPEC-97: Cryptanalysis

 
Cryptanalysis
Definition in a New Window Definition in a New Window
Attack Pattern ID: 97
Abstraction: Meta
Status: Draft
Completeness: Complete
+ Description

Summary

Cryptanalysis is a process of finding weaknesses in cryptographic algorithms and using these weaknesses to decipher the ciphertext without knowing the secret key (instance deduction). Sometimes the weakness is not in the cryptographic algorithm itself, but rather in how it is applied that makes cryptanalysis successful. An attacker may have other goals as well, such as:

  • 1. Total Break - Finding the secret key
  • 2. Global Deduction - Finding a functionally equivalent algorithm for encryption and decryption that does not require knowledge of the secret key.
  • 3. Information Deduction - Gaining some information about plaintexts or ciphertexts that was not previously known
  • 4. Distinguishing Algorithm - The attacker has the ability to distinguish the output of the encryption (ciphertext) from a random permutation of bits

The goal of the attacker performing cryptanalysis will depend on the specific needs of the attacker in a given attack context. In most cases, if cryptanalysis is successful at all, an attacker will not be able to go past being able to deduce some information about the plaintext (goal 3). However, that may be sufficient for an attacker, depending on the context.

Attack Execution Flow

Explore
  1. An attacker discovers a weakness in the cryptographic algorithm or a weakness in how it was applied to a particular chunk of plaintext.

Exploit
  1. An attacker leverages the discovered weakness to decrypt, partially decrypt or infer some information about the contents of the encrypted message. All of that is done without knowing the secret key.

+ Attack Prerequisites
  • The target software utilizes some sort of cryptographic algorithm.

  • An underlying weaknesses exists either in the cryptographic algorithm used or in the way that it was applied to a particular chunk of plaintext.

  • The encryption algorithm is known to the attacker.

  • An attacker has access to the ciphertext.

+ Typical Severity

Very High

+ Typical Likelihood of Exploit

Likelihood: Very Low

+ Methods of Attack
  • Analysis
  • Brute Force
+ Examples-Instances

Description

A very easy to understand (but totally inapplicable to modern cryptographic ciphers) example is a cryptanalysis technique called frequency analysis that can be successfully applied to the very basic classic encryption algorithms that performed mono-alphabetic substitution replacing each letter in the plaintext with its predetermined mapping letter from the same alphabet. This was considered an improvement over a more basic technique that would simply shift all of the letters of the plaintext by some constant number of positions and replace the original letters with the new letter with the resultant alphabet position. While mono-alphabetic substitution ciphers are resilient to blind brute force, they can be broken easily with nothing more than a pen and paper. Frequency analysis cryptanalysis uses the fact that natural language is not random and mono-alphabetic substitution does not hide the statistical properties of the natural language. So if the letter "E" in an English language occurs with a certain known frequency (about 12.7%), whatever "E" was substituted with to get to the ciphertext, will occur with the similar frequency. Having this frequency information allows the cryptanalyst to quickly determine the substitutions and decipher the ciphertext. Frequency analysis techniques are not applicable to modern ciphers as they are all resilient to it (unless this is a very bad case of a homegrown encryption algorithm). This example is just here to illustrate a rudimentary example of cryptanalysis.

+ Attacker Skills or Knowledge Required

Skill or Knowledge Level: High

Cryptanalysis generally requires a very significant level of understanding of mathematics and computation.

+ Resources Required

Computing resource requirements will vary based on the complexity of a given cryptanalysis technique. Access to the encryption/decryption routines of the algorithm is also required.

+ Solutions and Mitigations

Use proven cryptographic algorithms with recommended key sizes.

Ensure that the algorithms are used properly. That means:

  • 1. Not rolling out your own crypto; Use proven algorithms and implementations.
  • 2. Choosing initialization vectors with sufficiently random numbers
  • 3. Generating key material using good sources of randomness and avoiding known weak keys
  • 4. Using proven protocols and their implementations.
  • 5. Picking the most appropriate cryptographic algorithm for your usage context and data
+ Attack Motivation-Consequences
ScopeTechnical ImpactNote
Confidentiality
Read application data
Integrity
Modify application data
Confidentiality
Access_Control
Authorization
Gain privileges / assume identity
+ Purposes
  • Reconnaissance
+ CIA Impact
Confidentiality Impact: HighIntegrity Impact: HighAvailability Impact: Low
+ Technical Context
Architectural Paradigms
All
Frameworks
All
Platforms
All
Languages
All
+ References
[R.97.1] [REF-6] "Wikipedia". Cryptanalysis. The Wikimedia Foundation, Inc. <http://en.wikipedia.org/wiki/Cryptanalysis>.
+ Content History
Submissions
SubmitterOrganizationDateComments
Sean BarnumCigital, Inc.2007-03-25Identified priority for pattern creation
Modifications
ModifierOrganizationDateCommentsSource
Evgeny LebanidzeCigital, Inc.,2007-03-20Fleshed out content for pattern
Sean BarnumCigital, Inc2007-04-16Review and revise
CAPEC Content TeamThe MITRE Corporation2014-02-06Updated Attack_Phases, Attack_Prerequisites, Description, Examples-InstancesInternal
CAPEC Content TeamThe MITRE Corporation2014-04-10Updated Related_Attack_PatternsInternal

Page Last Updated: April 10, 2014