Utilia

Ukryj wiadomość w tekście

Ukryj tajną wiadomość w zwykłym tekście za pomocą niewidocznych znaków o zerowej szerokości, opcjonalnie zaszyfrowaną hasłem, a potem ją odczytaj lub usuń.

To sztuczka, a nie zabezpieczenie: wiele aplikacji i stron usuwa znaki o zerowej szerokości, a każdy może je wykryć prostym sprawdzeniem. Użyj hasła, jeśli treść jest ważna.

Ukryj wiadomość

Z hasłem wiadomość jest szyfrowana (AES-256-GCM), zanim zostanie ukryta. Bez hasła każdy, kto zna metodę, może ją odczytać.

Odczytaj lub usuń ukrytą wiadomość

Jak ukryć wiadomość

  1. Wpisz Tekst przykrywka (widoczny dla wszystkich): zwykłe zdanie, które po wszystkim będzie wyglądać dokładnie tak samo.
  2. Wpisz Tajna wiadomość.
  3. Opcjonalnie podaj Hasło (opcjonalnie). Wiadomość zostanie wtedy zaszyfrowana algorytmem AES-256-GCM przed ukryciem, więc sama znajomość metody nie wystarczy, by ją odczytać.
  4. Wybierz, Gdzie umieścić ukryte znaki: Po pierwszym słowie (domyślnie), Rozłożone między słowami, Na samym początku lub Na samym końcu.
  5. Kliknij Ukryj wiadomość, a potem skopiuj Tekst z ukrytą wiadomością przyciskiem Kopiuj. Otwórz Pokaż, gdzie są ukryte znaki, aby zobaczyć je jako symbole ◆.

Jak odczytać lub usunąć ukrytą wiadomość

  1. Wklej tekst w pole Tekst do sprawdzenia. Liczba znaków o zerowej szerokości pojawi się pod polem.
  2. Kliknij Odczytaj wiadomość. Jeśli wiadomość jest zaszyfrowana, wpisz Hasło (jeśli wiadomość jest zaszyfrowana) i kliknij ponownie.
  3. Aby oczyścić tekst, kliknij Usuń ukryte znaki: dostaniesz ten sam tekst bez ukrytych danych. Emoji takie jak 👨‍👩‍👧, które w uzasadniony sposób używają niewidocznych łączników, zostają nietknięte.

Wszystko dzieje się w twojej przeglądarce; ani tekst, ani hasło nie są nigdzie wysyłane.

Jak to działa

Unicode zawiera znaki, które nie zajmują miejsca na ekranie. Narzędzie używa czterech z nich jako cyfr: ZERO WIDTH SPACE (U+200B) = 00, ZERO WIDTH NON-JOINER (U+200C) = 01, ZERO WIDTH JOINER (U+200D) = 10 i WORD JOINER (U+2060) = 11. Wiadomość jest zamieniana na bajty UTF-8, a każdy bajt staje się czterema niewidocznymi znakami. Blok zaczyna się i kończy znakiem ZERO WIDTH NO-BREAK SPACE (U+FEFF) i zawiera jednobajtowy nagłówek, który mówi, czy treść jest zwykłym tekstem, czy jest zaszyfrowana.

Ukryta część szybko rośnie: wiadomość z 20 liter dodaje około 90 niewidocznych znaków, a szyfrowanie dodaje 49 bajtów nagłówka i znacznika uwierzytelniającego (około 200 znaków więcej). Polskie litery, takie jak ą czy ł, zajmują w UTF-8 po 2 bajty, więc dają po 8 niewidocznych znaków. W UTF-8 każdy z tych znaków zajmuje 3 bajty, co ma znaczenie w polach z limitem bajtów. Rozmiar w UTF-8 w wynikach pokazuje rzeczywisty rozmiar całego tekstu.

Z hasłem narzędzie używa tego samego formatu co narzędzie do szyfrowania tekstu: PBKDF2-SHA-256 z 600 000 iteracji wyprowadza klucz, AES-256-GCM szyfruje, a złe hasło lub choćby jeden zmieniony znak sprawia, że odszyfrowanie się nie udaje, zamiast zwrócić bezsensowne dane.

Ograniczenia: sztuczka, a nie zabezpieczenie

  • Wiele platform usuwa znaki o zerowej szerokości. Niektóre komunikatory, serwisy społecznościowe, pola formularzy i edytory tekstu je usuwają lub normalizują. Najpierw przetestuj miejsce docelowe: wklej tam wynik, skopiuj go z powrotem i kliknij Odczytaj wiadomość.
  • Częściowe skopiowanie psuje wiadomość. Jeśli odbiorca skopiuje tylko fragment tekstu, blok będzie niekompletny i narzędzie zwykle zgłosi go jako uszkodzony.
  • Łatwo to wykryć. Każdy wykrywacz niewidocznych znaków, edytor szesnastkowy albo zwykłe policzenie znaków pokaże, że coś tam jest. Ukrycie samego istnienia wiadomości przed zdeterminowanym obserwatorem nie jest w ten sposób możliwe.
  • Bez hasła to tylko zaciemnienie. Każdy, kto zna tę popularną technikę, może ją odkodować. Do wszystkiego, co poufne, używaj silnego hasła i przekaż je innym kanałem.

Aby usunąć każdy rodzaj niewidocznych znaków (twarde spacje, znaki sterujące kierunkiem tekstu, miękkie łączniki i inne), użyj narzędzia do usuwania niewidocznych znaków.

Najczęściej zadawane pytania

Czy ukryta wiadomość przetrwa wysłanie e-mailem lub na czacie?

Czasami. E-maile w zwykłym tekście i wiele komunikatorów zachowuje znaki o zerowej szerokości, ale niektóre usługi je usuwają, a niektóre klawiatury lub edytory je zmieniają. Zawsze zrób test w obie strony.

Czy inne narzędzia odczytają wiadomości ukryte tutaj?

Tylko te, które używają tego samego kodowania. Nie ma standardu steganografii opartej na znakach o zerowej szerokości, więc różne narzędzia zwykle nie są ze sobą zgodne.

Czy rozłożenie znaków między słowami coś daje?

Dzięki temu długie ciągi niewidocznych znaków nie są w jednym miejscu, co lepiej przetrwa niektóre edytory i wygląda mniej podejrzanie w inspektorze znaków. Nie utrudnia to jednak znalezienia wiadomości programowi.

Dlaczego narzędzie znajduje znaki o zerowej szerokości, ale żadnej wiadomości?

Tekst zawiera niewidoczne znaki, które nie zostały zapisane w formacie tego narzędzia: skopiowane ze strony internetowej, wstawione przez edytor albo będące znakiem wodnym innego narzędzia. Narzędzie do usuwania niewidocznych znaków może je wyświetlić.

Co się stanie, jeśli ukryję nową wiadomość w tekście, który już ją zawiera?

Stary ukryty blok jest najpierw usuwany, więc wynik zawiera tylko nową wiadomość.