Deterministyczne uwierzytelnianie uwierzytelniania z powiązanymi danymi (deterministyczne AEAD)
Zadbaj o dobrą organizację dzięki kolekcji
Zapisuj i kategoryzuj treści zgodnie ze swoimi preferencjami.
Primitive Deterministic Authenticated Encryption with Associated Data (Deterministic AEAD) zapewnia szyfrowanie o właściwości deterministycznej: szyfrowanie tych samych danych zawsze daje ten sam tekst zaszyfrowany. Ten typ szyfrowania jest przydatny do pakowania kluczy lub do niektórych schematów wyszukiwania w zaszyfrowanych danych (więcej informacji znajdziesz w RFC 5297, sekcja 1.3). Ze względu na swoją własność deterministyczną implementacje tego prymitywu mogą prowadzić do utraty tajemnicy, ponieważ atakujący musi tylko poznać szyfrogram danej wiadomości, aby zidentyfikować inne jej wystąpienia.
Deterministyczne AEAD ma te właściwości:
Secrecy nie wiadomo nic o tekstach, oprócz ich długości i równości powtarzających się tekstów.
Autentyczność: nie można zmienić zaszyfrowanego tekstu szyfrowanego bez wykrycia.
Symetryczne: szyfrowanie tekstu zwykłego i odszyfrowywanie tekstu zaszyfrowanego odbywa się za pomocą tego samego klucza.
Deterministyczny: dopóki klucz główny nie zostanie zmieniony, szyfrowanie zwykłego tekstu dwukrotnie przy użyciu tych samych parametrów spowoduje otrzymanie tego samego tekstu zaszyfrowanego.
Powiązane dane
Deterministyczne AEAD można też używać do wiązania tekstu zaszyfrowanego z konkretnymi powiązanymi danymi. Jeśli np. masz bazę danych z polami user-id i encrypted-medical-history: w tym scenariuszu pole user-id może być używane jako powiązane dane podczas szyfrowania pola encrypted-medical-history. Zapobiega to przenoszeniu historii medycznej z jednego konta na drugie.
Wybieranie typu klucza
Zalecamy używanie typu klucza AES256_SIV we wszystkich przypadkach użycia.
Gwarancje bezpieczeństwa
Siła uwierzytelniania co najmniej 80-bitowa.
Tekst zwykły i powiązane dane mogą mieć dowolną długość (w zakresie 0–232 bajtów).
128-bitowy poziom zabezpieczeń przed atakami na odzyskiwanie kluczy, a także w atakach wieloużytkownikowych z maksymalnie 232 kluczami – oznacza to, że jeśli przeciwnik uzyska 232 szyfrogramy tego samego komunikatu zaszyfrowanego za pomocą 232 kluczy, musi wykonać 2128 obliczeń, aby uzyskać pojedynczy klucz.
Możliwość bezpiecznego zaszyfrowania 238 wiadomości, pod warunkiem że każda z nich ma rozmiar mniejszy niż 1 MB.
[[["Łatwo zrozumieć","easyToUnderstand","thumb-up"],["Rozwiązało to mój problem","solvedMyProblem","thumb-up"],["Inne","otherUp","thumb-up"]],[["Brak potrzebnych mi informacji","missingTheInformationINeed","thumb-down"],["Zbyt skomplikowane / zbyt wiele czynności do wykonania","tooComplicatedTooManySteps","thumb-down"],["Nieaktualne treści","outOfDate","thumb-down"],["Problem z tłumaczeniem","translationIssue","thumb-down"],["Problem z przykładami/kodem","samplesCodeIssue","thumb-down"],["Inne","otherDown","thumb-down"]],["Ostatnia aktualizacja: 2025-07-25 UTC."],[[["\u003cp\u003eDeterministic Authenticated Encryption with Associated Data (AEAD) encrypts the same data into the same ciphertext, useful for key wrapping or searchable encryption but revealing repeated messages.\u003c/p\u003e\n"],["\u003cp\u003eIt offers secrecy (except for length and repetition), authenticity, symmetry, and determinism in encryption.\u003c/p\u003e\n"],["\u003cp\u003eWhile associated data is authenticated, it is not encrypted, allowing ciphertext binding to specific contexts like user IDs.\u003c/p\u003e\n"],["\u003cp\u003eThe recommended key type is AES256_SIV, providing strong security guarantees including 128-bit security level and the capacity to encrypt numerous messages safely.\u003c/p\u003e\n"],["\u003cp\u003eDeterministic AEAD is suitable for scenarios where deterministic encryption and context binding are prioritized, such as preventing unauthorized data transfer in databases.\u003c/p\u003e\n"]]],["Deterministic AEAD encrypts data deterministically, producing the same ciphertext for identical data. It offers secrecy (except for repeated plaintexts), authenticity, symmetry, and determinism. A key use is binding ciphertext to associated data for integrity. While offering strong security, repeated messages can reveal equality. Associated data is authenticated but not encrypted. The AES256_SIV key type is recommended, ensuring at least 80-bit authentication and 128-bit security against key recovery. It supports large messages and numerous encryptions.\n"],null,[]]