libenigma
Enigma machine utility library
Loading...
Searching...
No Matches
EnigmaCrackParams Struct Reference

A structure representing a configuration for cracking an Enigma cipher. More...

#include <crack.h>

Data Fields

Enigma enigma
 The base enigma machine configuration.
 
EnigmaScoreListscore_list
 A list of scored configurations.
 
const char ** dictionary
 A list of dictionary words (should be sorted and all uppercase)
 
size_t dictionary_length
 The number of words in the dictionary.
 
float * ngrams
 An array of n-gram frequencies.
 
int n
 The length of each n-gram.
 
size_t ngrams_length
 The number of n-grams in the array.
 
const char * ciphertext
 The ciphertext to be cracked.
 
size_t ciphertext_length
 The length of the ciphertext.
 
int flags
 Flags indicating special conditions a scored configuration may meet.
 
float frequency_targets [26]
 An array of frequency targets for each letter.
 
float min_score
 The minimum score for a configuration to be considered.
 
float max_score
 The maximum score for a configuration to be considered.
 
float target_score
 The target score for a configuration to be considered.
 
float target_frequency
 The target frequency for a configuration to be considered.
 
float frequency_offset
 The maximum offset from the target frequency that a scored configuration may have to be considered valid.
 
const char * known_plaintext
 Known plaintext that must exist for a configuration to be considered.
 
int known_plaintext_length
 The length of the known plaintext.
 

Detailed Description

A structure representing a configuration for cracking an Enigma cipher.

Field Documentation

◆ ciphertext

const char* ciphertext

The ciphertext to be cracked.

◆ ciphertext_length

size_t ciphertext_length

The length of the ciphertext.

◆ dictionary

const char** dictionary

A list of dictionary words (should be sorted and all uppercase)

◆ dictionary_length

size_t dictionary_length

The number of words in the dictionary.

◆ enigma

Enigma enigma

The base enigma machine configuration.

◆ flags

int flags

Flags indicating special conditions a scored configuration may meet.

◆ frequency_offset

float frequency_offset

The maximum offset from the target frequency that a scored configuration may have to be considered valid.

◆ frequency_targets

float frequency_targets[26]

An array of frequency targets for each letter.

◆ known_plaintext

const char* known_plaintext

Known plaintext that must exist for a configuration to be considered.

◆ known_plaintext_length

int known_plaintext_length

The length of the known plaintext.

◆ max_score

float max_score

The maximum score for a configuration to be considered.

◆ min_score

float min_score

The minimum score for a configuration to be considered.

◆ n

int n

The length of each n-gram.

◆ ngrams

float* ngrams

An array of n-gram frequencies.

◆ ngrams_length

size_t ngrams_length

The number of n-grams in the array.

◆ score_list

EnigmaScoreList* score_list

A list of scored configurations.

◆ target_frequency

float target_frequency

The target frequency for a configuration to be considered.

◆ target_score

float target_score

The target score for a configuration to be considered.


The documentation for this struct was generated from the following file: