1.Смотришь таблицу символов ASC
2.Находишь константы которые тебе нужны (грубо говоря перекодируещь все текстовые символы так чтобы они шли по порядку без разрывов)
3.Советую сделать отдельную ф-цию которая будет получать символ и возвращать новый код. (делается с помощью case)
4.Также нужна аналогичная ф-ция но наоборот.
5.Сама прога, запрашивает у пользователя гамму (можно сделать её постоянной) длинной n
далее получаешь свою строку и складываешь посимвольно с гаммой.
Как в алгебре. Например: гамма:5678 строка:5468376425 по модулю 10 (кол-во возможных символов)
5 4 6 8 3 7 6 4 2 5 // строка
+
5 6 7 8 5 6 7 8 5 6 // повторяющаяся гамма
=
0 0 3 6 8 3 3 2 7 1 // результат
Делается цикл до конца строки, внутри цикл до коца гаммы (начинающийся заново, пока строка не кончится)
Что-то вроде, точно не помню, извини.
Попробуй в инете поискать наверняка реализация есть.