Дешифровка слова зашифрованного измененным шифром Цезаря

Сделал алгоритм шифровки, не получается расшифровать полученный текст.Символы сдвигаем по правилу вправо: СДВИГ = (КЛЮЧ + (! ПОЗИЦИЯ_СИМВОЛА_В_АЛФАВИТЕ) << НА i) % 26, затем переворачиваем. Алфавит = "zyxwvutsrqponmlkjihgfedcbazyxwvutsrqponmlkjihgfedcba" для избежания переполнения Теперь не понимаю как расшифровать.

b = int(input())
s = input()
alf = "zyxwvutsrqponmlkjihgfedcbazyxwvutsrqponmlkjihgfedcba"
s2 = ""
for i in range(len(s)):
    k = int(b + (~alf.find(s[i]))<<i) % 26
    s2 += alf[alf.find(s[i]) + k]
s2 = s2[::-1]
print(s2)

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