Попробуйте:
lst = [4, 63, 355, 191, 479, 507, 511, 467, 191, 547, 507, 531, 191, 479, 451, 535, 467, 191, 475, 507, 507, 463, 191, 539, 467, 451, 527, 479, 467, 519, 191, 539, 479, 483, 495, 467, 191, 355, 191, 451, 499, 191, 475, 507, 503, 467, 247]
a, b = lst[:2]
ans = ''.join([chr((abs(val) - b)//a) for val in lst[2:]])
print(ans)
Вывод:
I hope you have good weather while I am gone.
Шифрование:
enc = [(a * ord(char)) + b for char in ans]
#[355, 191, 479, 507, 511, 467, 191, 547, 507, 531, 191, 479, 451, 535, 467, 191, 475, 507, 507, 463, 191, 539, 467, 451, 527, 479, 467, 519, 191, 539, 479, 483, 495, 467, 191, 355, 191, 451, 499, 191, 475, 507, 503, 467, 247]