Пример #1
0
def break_columnar_transposition(ciphertexts):
    arguments = get_arguments(ciphertexts)
    results = []
    for ciphertext in arguments['ciphertexts']:
        results.append(
            ca.break_columnar_transposition(
                ciphertext, num_answers=arguments['num_answers']))
    return results
Пример #2
0
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'])))
    return results
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
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
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 = [candidate[0] for candidate in result]
      result = 'Ciphertext: ' + ciphertext[:40] + '...\n' + '\n'.join(result)
      results.append(result)
   print 'Best results of columnar transposition solve(s):'
   print '-'*80
   print '\n'.join(results)
   return results
def break_columnar_transposition(ciphertexts):
   arguments = get_arguments(ciphertexts)
   results = []
   for ciphertext in arguments['ciphertexts']:
      results.append(ca.break_columnar_transposition(ciphertext, num_answers=arguments['num_answers']))
   return results
import cryptanalib as ca

plaintext = 'I am the very model of a modern major-general, I\'ve information vegetable, animal and mineral, I know the kings of England and I quote the fights historical from Marathon to Waterloo in order categorical.'

num_rows = 6

ciphertext = ''.join([plaintext[num::num_rows] for num in xrange(num_rows)])

print 'Testing columnar transposition solver...'

myplaintext = ca.break_columnar_transposition(ciphertext)
if myplaintext[0][0] != plaintext:
    raise Exception('Columnar transposition solver is broken.')
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'])))
   return results