Nowoczesne tryby szyfrowania obsługują powiązane dane, które są uwierzytelniane, ale nie są szyfrowane. Można go użyć do powiązania szyfrogramu z określonym kontekstem.
Przykłady wiązania szyfrowanego tekstu z powiązanymi danymi:
szyfrowanie bazy danych komórka po komórce (lub kolumna po kolumnie); Dzięki temu szyfrogram komórki jest prawidłowy tylko w tej konkretnej komórce. Zapobiega to przenoszeniu przez atakującego tekstu zaszyfrowanego z jednego pola do drugiego. W tym przykładzie tekst zaszyfrowany powinien być powiązany z wartościami
column_id
irow_id
w danej komórce bazy danych.Przechowywanie szyfrów w różnych klientach umożliwia wykrywanie nieprawidłowego działania, jeśli klient A udostępnia szyfr klienta B do odszyfrowania. W tym przypadku szyfrogram powinien być powiązany z nazwą klienta.
Tink ma kilka opcji łączenia szyfrowanego tekstu z kontekstem:
AEAD, Streaming AEAD i Deterministyczny AEAD akceptują powiązane dane wejściowe wraz z tekstem zwykłym. Odszyfrowywanie się nie powiedzie, jeśli powiązane dane nie zostaną podane wraz z tekstem zaszyfrowanym.
Szyfrowanie hybrydowe zapewnia tę samą funkcję za pomocą parametru context_info.