1. Выше "Свободу алгоритмам" правильно сказали. Это задача для freelance а не toster.
2. Алгоритм странный. А что будет если:
text = "abcd"
key = "123456789"
step = 2
3. Первый символ всегда ключ. Вырезаем его и добавляем в key. Отсчитываем step символов, добавляем их в text. Следующий символ - ключ, добавляем в key. И так далее.
И на каждом-каждом этапе проверяем длинну result. Есть ли там ключ, есть ли там символы для text и т.д.