1. Код следует оформлять специальной кнопкой в редакторе
2. Вы никакие переменные не передавали в функцию, поэтому они и остались где-то там
3.
bot.register_next_step_handler(sent, answer)
и
bot.register_next_step_handler(sent, deanswer)
не нужны, насколько я понимаю Вашу логику
Ключи вы получили в этой же функции, поэтому передаем их дальше
bot.register_next_step_handler(sent, get_text, keys)
Функцию get_text нужно будет доработать, чтобы она принимала ключи
def get_text(message, keys):
и так же их нужно будет передать дальше:
bot.register_next_step_handler(sent, crypto, keys )# с encrypto по аналогии
+ конечно
def crypto(message, keys): # с encrypto по аналогии
Злесь уже есть ключи из первого шага в переменной keys, и зашифрованный текст в crypted_text. Что-то делаем с ним, и печатаем пользователю. Без дальнейших register_next_step_handler
def crypto(message, keys):
crypted_text = message.text.upper
result = magic(crypted_text, keys)
bot.send_message(message.chat.id, f'ваш код {result}')