<commit_before>import cryptanalib as ca
import feathermodules

def break_columnar_transposition(ciphertexts):
   arguments=feathermodules.current_options
   results = []
   for ciphertext in ciphertexts:
      results.append(ca.break_columnar_transposition(ciphertext, num_answers=int(arguments['num_answers'])))
   print 'Best results of columnar transposition solve:'
   print '-'*80
   print '\n'.join(results)
   return results


feathermodules.module_list['column_trans'] = {
   'attack_function':break_columnar_transposition,
   'type':'classical',
   'keywords':['transposition'],
   'description':'A brute force attack against columnar transposition ciphers.',
   'options':{'num_answers':'3'}
}<commit_msg>Fix for #57<commit_after>import cryptanalib as ca
import feathermodules

def break_columnar_transposition(ciphertexts):
   arguments=feathermodules.current_options
   results = []
   for ciphertext in ciphertexts:
      result = ca.break_columnar_transposition(ciphertext, num_answers=int(arguments['num_answers']))
      result = '\n'.join(result)
      results.append(result)
   print 'Best results of columnar transposition solve(s):'
   print '-'*80
   print '\n'.join(results)
   return results


feathermodules.module_list['column_trans'] = {
   'attack_function':break_columnar_transposition,
   'type':'classical',
   'keywords':['transposition'],
   'description':'A brute force attack against columnar transposition ciphers.',
   'options':{'num_answers':'3'}
}
{'fraction_non_alphanumeric': 0.11776581426648722, 'fraction_numerical': 0.005383580080753701, 'mean_word_length': 5.728506787330317, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '7653669', 'n_tokens_mistral': 482, 'n_tokens_neox': 437, 'n_words': 90}