Symetryczny szyfrator blokowy RC (ang. reversible cipher) wykorzystuje tzw. logikę odwracalną. Układy odwracalne charakteryzują się taką samą liczbą wejść i wyjść. Realizują one funkcje odwracalne, które stanowią zespół zrównoważonych funkcji boolowskich w liczbie równej liczbie zmiennych. Boolowskie funkcje zrównoważone
to takie, których liczba zer funkcji jest równa liczbie jedynek funkcji. Drugim warunkiem odwracalności jest wzajemna jednoznaczność sygnałów wejściowych i wyjściowych czyli każdemu wektorowi wejściowemu odpowiada inny wektor wyjściowy.
Funkcje odwracalne realizuje się wykorzystując zbiór bramek odwracalnych. Jeden z możliwych takich zbiorów to zestawów bramek NCT zawierający 3 rodzaje bramek (negator, bramka sterowana i bramka Toffoliego). Aby zrealizować funkcję odwracalną tworzy się kaskadowe połączenie bramek, tzw. kaskadę odwracalną.
Szyfrator jest zbudowany z wykorzystaniem kaskad dla czterech zmiennych. Ponieważ na każdej pozycji może znaleźć się dowolna bramka, to kaskada szyfratora składa się z 8. bramek konfigurowanych 5. bitami. Zatem do skonfigurowania kaskady potrzeba 40 bitów.
Zakładając, że szyfrowany blok będzie miał długość 8 bajtów, to trzeba zastosować 16 kaskad czterowejściowych. Przy takich założeniach długość słowa konfigurującego kaskady będzie wynosiła 640 bitów. Taka jest długość klucza podstawowego. Szyfrowanie składa się z 5 rund. W każdej rundzie, z wyjątkiem rundy zerowej, jest modyfikowana wartość klucza (obliczany jest tzw. podklucz danej rundy) w układzie UMK. W ten sposób w każdej rundzie realizowana jest inna funkcja odwracalna. Modyfikowana, aktualną wartością podklucza, jest także wyjściowa informacja rundy. Zapewnia to układ UMI. W ten sposób informacja wejściowa jest pięciokrotnie szyfrowana różnymi kluczami 16x40 = 640 bitów. Układ 16 kaskad nazywa się R-boxem.
Implementacja szyfratora, jako układu kombinacyjnego pozwala na uzyskanie dużej szybkości szyfrowania i deszyfrowania. Algorytm został zaimplementowany
zarówno sprzętowo, jak i programowo. W układzie FPGA można wbudować szyfrator razem z deszyfratorem. Bardzo łatwo można zmieniać parametry szyfratora (zastosowane bramki z zadaną liczbą wejść, liczbę bramek w kaskadzie, liczbę rund, sposób modyfikacji klucza i pośrednio zaszyfrowanych wiadomości i inne).