let litera = tab[i + klucz];
Proponuje sprawdzić, o którą literę chodzi w tablicy po wywołaniu funkcji, przed "wejściem" do pętli
function przesun(start, loop) {
let index = ((start + klucz) >= tab.length) ? Math.abs(tab.length - (start + klucz)) : (start + klucz);
...
}
a później w pętli tylko "pilnować" indeks, czy nie wychodzi poza zakres tablicy, gdy tak, zerować indeks [ on-line ].
index++;
if (index > tab.length - 1) index = 0;