Class: ENIGMA::Crack

Inherits:
Object
  • Object
show all
Defined in:
lib/enigma/crack.rb

Instance Method Summary collapse

Constructor Details

#initialize(encrypted_file, plain_file, date) ⇒ Crack

Returns a new instance of Crack.



4
5
6
7
8
9
10
# File 'lib/enigma/crack.rb', line 4

def initialize(encrypted_file, plain_file, date)
  @encrypted_file = encrypted_file
  @plain_file = plain_file
  @date = date
  @read_write = Files.new
  @possible_keys = ENIGMA::PossibleKeys.new(@encrypted_file, @date)
end

Instance Method Details

#clean_keyObject



16
17
18
19
20
21
22
23
# File 'lib/enigma/crack.rb', line 16

def clean_key
  key = ""
  cracked_key.each_with_index do |item, index|
    key << item[0] if index == 0
    key << item[0][1] if index > 0
  end
  key
end

#crack_writeObject



32
33
34
35
# File 'lib/enigma/crack.rb', line 32

def crack_write
  @read_write.write_file(@plain_file, decrypted_text)
  # crack_success
end

#cracked_keyObject



12
13
14
# File 'lib/enigma/crack.rb', line 12

def cracked_key
  ENIGMA::Cracker.find_key(@possible_keys.get_partial_key("nd.."))
end

#decrypted_textObject



25
26
27
28
# File 'lib/enigma/crack.rb', line 25

def decrypted_text
  @decrypt = Decryption.new(@encrypted_file, @plain_file, clean_key, @date)
  @decrypt.decrypt(file_to_crack)
end

#file_to_crackObject



38
39
40
# File 'lib/enigma/crack.rb', line 38

def file_to_crack
  @read_write.read_file(@encrypted_file)
end