W celu zaszyfrowania danych przy pomocy Szyfru Drgającego najlepiej posłużyc się kartką papieru w kratkę. Zapisujemy pierwszy znak z szyfrowanego tekstu, a następnie kratkę do góry i prawo. Jest to nowy szczyt, więc "odbijamy" zwrot zapisu i teraz będziemy zapisywać tak długo, aż zostanie osiągnięty najniższy poziom. Po osiągnięciu doliny ponownie "odbijamy" i tak długo zapisujemy po skosie do góry w prawo, aż osiagniemy nowy poziom maksymalny. Drugi etap polega na odczytaniu każdego wiersza po kolei i zapisaniu znaków koło siebie.
Najprostszym sposobem na odszyfrowanie danych jest zaznaczanie pustych miejsc w której możnaby wpisać szyfrowane litery z tekstu jawnego. Następnie należy wpisać kolejne litery z szyfrogramu do kolejnych wierszy od lewej do prawej. Następnie należy wszystkie litery przenieść na wysokość pierwszej litery - szyfrogram został rozwiązany.
Przypuśćmy, że szyfrujemy tekst jawny "TO JEST TAJNY TEKST". Poniżej został przedstawiony schemat zapisanego etapu I. Przyjmijmy, że na poziomie 0 znajduje się pierwsza litera T, a każdy poziom wyżej to kolejno 1, 2, 3, a niższe poziomy od 0 to -1 i -2. Jak można zauważyć szyfrowane są wszystkie znaki - nawet interpunkcyjne.
Teraz w celu odczytania szyfrogramu należy odczytać poziomy od najwyższego do najniższego. Innymi słowy poprawnym szyfrogram jest "ETTKOS ST ETYTJANJ". W przypadku deszyfrowania danych należałoby rozpisać podobny schemat z samym pustymi polami i uzupełniać pola na kolejnych poziomach. Następnie należałoby odczytać w ten sam sposób co zapisuje się podczas szyfrowania.
Najprostszym, choć nie najbardziej optymalnym sposobem, będzie przepisanie każdego kolejnego poziomu przy pomocy pętli. Jednak, aby tego dokonać należy wiedzieć ile jest poziomów i po ile do góry i ile w dół. Jedna z metod polega na tym, aby zasymulować rysowanie i na bieżąco sprawdzać czy osiągnęliśmy szczyt lub doline.
Parę min. poziom × maks. poziom realizuje funkcja podajZakres(), która przyjmuje jedynie długość szyfrowanego tekstu. To w zupełności wystarcza, aby podać zakres poziomów.
Na początku (2.) zakres to [0, 0] co oznacza, że jest tylko poziom 0. Następnie deklarujemy zmienne pomocnicze: y - będzie przchowywać aktualny poziom oraz wgore - będzie przechowywać w którym kierunku przeprowadzamy teraz zapis. (5.) W pętli dla każdego znaku: (6.) obliczamy nową pozycję i (7. - 13.) jeśli zostanie osiągnięty szczyt lub dolina to zmieniany jest odpowiednio zakres i odbijany jest zwrot zapisu.
Podczas szyfrowania danych do określenia pozycji elementów można skorzystać z tego samego schematu co jest w funkcji podajZakres(). Jednak w tym przypadku należy pamiętać, aby po znalezieniu znaku z przepisywanego poziomu to należy go dopisać do wyniku.
(2.) Najpierw oblicz zakres poziomów oraz (3.) przygotuj zmienną do zapisu wyniku oraz (4.) określ początkowy kierunek zapisu. (5.) W pętli dla każdego poziomu: (7.) wykonaj przechodzenie po kolejnych poziomach uprzednio (6.) restując zmienne. Nie można tu pominąć deklarowania ymin oraz ymax, ponieważ trzeba na bieżąco wyszukiwać kolejnych szczytów i dolin. Podczas sprawdzania kolejnyc znaków: (8.) należy sprawdzić czy aktualny poziom jest taki sam jak ten co przepisywany i jeśli tak to (9.) wystarczy dopisać odpowiedni znak do wyniku. (20.) Ostatecznie zwracany jest wynik.
Podczas deszyfrowania danych można przeprowadzić na podstawie schematu algorytmu użytego podczas szyfrowania. Jednak tym razem zamiast dopisywać dane na koniec wyniku to należy je umieszczać na pozycji, którą aktualnie wskazuje pozycja.
W celu przetestowania funkcji szyfrującej można skorzystać z poniższego fragmentu kodu. Program zapyta użytkownika o wprowadzenie tekstu, a następnie zostanie wyświetlony szyfrogram oraz odszyfrowany tekst jawny z szyfrogramu.