Projekt Tor zainicjował krytyczną modernizację kryptograficzną swojej sieci zapewniającej anonimowość, zastępując dotychczasowy algorytm szyfrowania przekaźnikowego „tor1” nowym protokołem popartym badaniami, oznaczonym „Counter Galois Onion” (CGO). To przejście, ogłoszone pod koniec listopada 2025 r., ma na celu usunięcie luk strukturalnych w pierwotnym projekcie sieci, które umożliwiły wyrafinowanym przeciwnikom potencjalną deanonimizację użytkowników poprzez manipulację ruchem. Nowy system opiera się na konstrukcji „Rugged Pseudorandom Permutation” (RPRP) znanej jako UIV+, opracowanej przez kryptografów Jeana Paula Degabriele, Alessandro Melloniego, Jean-Pierre’a Müncha i Martijna Stama.
Głównym czynnikiem wpływającym na tę aktualizację jest eliminacja „ataków na tagowanie” – metody, w ramach której złośliwi operatorzy przekazujący modyfikują zaszyfrowane pakiety w celu śledzenia ich w sieci. Przestarzały algorytm tor1 opierał się na szyfrowaniu AES-CTR bez uwierzytelniania typu hop-by-hop, dzięki czemu ruch był plastyczny; osoby atakujące mogą wprowadzić subtelne wzorce (tagi) do strumienia danych, który przetrwa warstwy deszyfrujące, skutecznie oznaczając ruch użytkownika. CGO neutralizuje to, wdrażając szyfrowanie szerokoblokowe z łączeniem tagów. W ramach tej nowej architektury jakakolwiek próba manipulacji pojedynczym pakietem zniekształca cały kolejny strumień, sprawiając, że modyfikacja jest natychmiast wykrywalna, a ruch staje się niemożliwy do odzyskania, a nie do prześledzenia.
Oprócz powstrzymywania aktywnych ataków, CGO wprowadza rygor kryptograficzny, którego nie było w projekcie Tor1 z 2004 roku. Starszy system ponownie wykorzystywał te same klucze AES przez cały czas trwania obwodu, co oznaczało, że skompromitowany klucz mógł ujawnić wszystkie dane historyczne z tej sesji. CGO wymusza „natychmiastową tajemnicę przekazywania”, aktualizując klucze szyfrujące i wartości jednorazowe po każdej pojedynczej komórce (pakietzie), zapewniając, że skradziony klucz nie będzie w stanie odszyfrować przeszłego ruchu. Co więcej, aktualizacja wycofuje przestarzały algorytm mieszający SHA-1, który oferował słaby 4-bajtowy skrót uwierzytelniania z ryzykiem fałszerstwa wynoszącym 1 na 4 miliardy, zastępując go solidnym 16-bajtowym modułem uwierzytelniającym. Protokół jest obecnie integrowany z klientem Arti opartym na Rust i klasyczną implementacją C, chociaż pozostaje w fazie eksperymentalnej i nie wymaga żadnych działań ze strony użytkownika.





