def decrypt_columnar(message, boolean): factor = get_factor(len(message)) to_return = [] count = 1 #There will be half combinations of the length but swapping around times = len(factor) / 2 forward_index = 0 backward_index = len(factor) - 1 for x in range(0, times): #Create 2 lists that represent row and column, #first list has row(first index) and column(last index) #second list has row(last index) and column(first index) for y in range(0, 2): double_list = [] message_position = 0 if y == 0: for row in range(0, factor[forward_index]): double_list.append([]) for column in range(0, factor[backward_index]): double_list[row].append(message[message_position]) message_position += 1 else: for row in range(0, factor[backward_index]): double_list.append([]) for column in range(0, factor[forward_index]): double_list[row].append(message[message_position]) message_position += 1 decrypt_message = "" for k in range(0, len(double_list[0])): for z in range(0, len(double_list)): decrypt_message += double_list[z][k] if SpellCheckingEN.check_english_message(decrypt_message.strip()) is True and boolean is True \ or boolean is False: if y is 0: print "Column: " + str( factor[forward_index]) + " , Row: " + str( factor[backward_index]) else: print "Column: " + str( factor[backward_index]) + " , Row: " + str( factor[forward_index]) print "Message number: " + str(count) count += 1 print decrypt_message to_return.append(decrypt_message) print "\n\n" forward_index += 1 backward_index -= 1 return to_return
def decrypt_caesar(message, boolean): length = len(message) for x in range(1, len(Alphabet.alphabet)): temp_message = caesar_message(message, x, length) # print possible answers if boolean is True if SpellCheckingEN.check_english_message(temp_message.strip()) is True and boolean is True \ or boolean is False: print "Shifting number: " + str(x) print temp_message print "\n\n"
def decrypt_caesar(message, boolean): length = len(message) for x in range(1, len(Alphabet.alphabet)): temp_message = caesar_message(message, x, length) # print possible answers if boolean is True if SpellCheckingEN.check_english_message(temp_message.strip()) is True and boolean is True \ or boolean is False: print "Shifting number: " + str(x) print temp_message print "\n\n"
def decrypt_columnar(message, boolean): factor = get_factor(len(message)) to_return = [] count = 1 #There will be half combinations of the length but swapping around times = len(factor) / 2 forward_index = 0 backward_index = len(factor) - 1 for x in range(0, times): #Create 2 lists that represent row and column, #first list has row(first index) and column(last index) #second list has row(last index) and column(first index) for y in range(0, 2): double_list = [] message_position = 0 if y == 0: for row in range(0, factor[forward_index]): double_list.append([]) for column in range(0, factor[backward_index]): double_list[row].append(message[message_position]) message_position += 1 else: for row in range(0, factor[backward_index]): double_list.append([]) for column in range(0, factor[forward_index]): double_list[row].append(message[message_position]) message_position += 1 decrypt_message = "" for k in range(0, len(double_list[0])): for z in range(0, len(double_list)): decrypt_message += double_list[z][k] if SpellCheckingEN.check_english_message(decrypt_message.strip()) is True and boolean is True \ or boolean is False: if y is 0: print "Column: " + str(factor[forward_index]) + " , Row: " + str(factor[backward_index]) else: print "Column: " + str(factor[backward_index]) + " , Row: " + str(factor[forward_index]) print "Message number: " + str(count) count += 1 print decrypt_message to_return.append(decrypt_message) print "\n\n" forward_index += 1 backward_index -= 1 return to_return
def decrypt_caesar_with_key(message, key, boolean): count = key change_direction = 0 for x in range(0, 2): temp_message = caesar_message(message, count, len(message)) if SpellCheckingEN.check_english_message(temp_message.strip()) is True and boolean is True\ or boolean is False: if change_direction == 0: print "Shifting number right: " + str(key) else: print "Shifting number left: " + str(key) print temp_message print "\n\n" count = len(Alphabet.alphabet) - count change_direction = 1
def decrypt_caesar_with_key(message, key, boolean): count = key change_direction = 0 for x in range(0, 2): temp_message = caesar_message(message, count, len(message)) if SpellCheckingEN.check_english_message(temp_message.strip()) is True and boolean is True\ or boolean is False: if change_direction == 0: print "Shifting number right: " + str(key) else: print "Shifting number left: " + str(key) print temp_message print "\n\n" count = len(Alphabet.alphabet) - count change_direction = 1