Дешифровка сообщения Python

у меня есть код, который шифрует сообщение методом табличной маршрутизации. Запись по диагоналям(начиная с верхнего правого угла), считывание по столбцам. Нужно реализовать дешифратор. Но я ума не приложу как. Может кто подскажет, хотя бы алгоритм, ну или код)

    import numpy as np
txt = input()
len = len(txt)#Вводим текст

j = 0
for i in range(len):#высчитываем размер таблицы
    j=i*i
    print(j)
    if len <= j:
        n = i
        if n < 5:
            n=5
        print(n)
        break

#запись  в таблицу подиагонально    
matrix = [['_']*n for _ in range(n)]
txt_seq = list(txt[::-1])
try:
    for s in range(n-1, -n, -1):
        for i in range(0, n-s):
            if 0 <= s+i < n and 0 <= i < n:
                matrix[i][s+i] = txt_seq.pop()
except IndexError:
    pass
print('\n'.join(map(str, matrix)))

#Вывод    
a=np.array(matrix) 
y=0
i=0
x=0
text=''
while i < n:
 c = a[:,y]
 text += c[x]
 x+=1
 i+=1
 if x == n:
     y+=1
     if y == n:
         i=6
     else:
        x=0
        i=0

print(text)

Ответы (0 шт):