Вы можете использовать базовую нарезку здесь:
kw = 3
[s[i::kw] for i in range(kw)]
['ivnpiyg', 'healnb', 'aapema']
Оберните это в простую функцию, чтобы легко передать ключевое слово:
def cipher(s, kw):
return [s[i::kw] for i in range(kw)]
>>> cipher(s, 4)
['iepib', 'hapna', 'anlmg', 'vaey']
>>> cipher(s, 5)
['ialy', 'hneb', 'aaia', 'vpng', 'epm']