Zadbaj o dobrą organizację dzięki kolekcji
Zapisuj i kategoryzuj treści zgodnie ze swoimi preferencjami.
W wielu bibliotekach kryptograficznych klucze są często identyfikowane tylko za pomocą niektórych sekwencji bajtów. Rozważ na przykład funkcje OpenSSL, takie jak EVP_EncryptInit_ex, która oprócz bajtów klucza wymaga również IV do obliczeń, lub metoda javax.crypto Cipher.init, która przyjmuje zarówno sekwencję klucza, jak i AlgorithmParameterSpec. Z takich funkcji często trudno jest prawidłowo korzystać, a podanie nieprawidłowych parametrów może mieć poważne konsekwencje.
Tink chce być inny i oczekuje, że klucz zawsze będzie składać się z kluczowego materiału i metadanych (parametrów).
Pełny klucz AEAD dokładnie określa, jak działa szyfrowanie i odszyfrowanie – określa 2 funkcje \(\mathrm{Enc}\) i \(\mathrm{Dec}\)oraz sposób kodowania tekstu zaszyfrowanego (np. wektor inicjalizacji, a następnie szyfrowanie i tag).
Klucz AES w Tink to nie tylko sekwencja bajtów o długości 128, 192 lub 256 bitów, ale też odpowiednie specyfikacje algorytmu potrzebne do obliczenia klucza w postaci obiektu parameters. Dlatego pełny klucz AES-EAX i pełny klucz AES-GCM to różne obiekty w Tink.
[[["Ł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: 2024-11-14 UTC."],[[["In Tink, a Key is a cryptographic object encompassing both key material and metadata, ensuring clear and complete functionality specification."],["Unlike traditional libraries, Tink Keys include necessary parameters like IV and algorithm specifications, simplifying usage and mitigating potential errors."],["Tink Keys fully define cryptographic operations, including encryption, decryption, and ciphertext encoding, as exemplified by AEAD keys."],["Different key types with distinct algorithm specifications, like AES-EAX and AES-GCM, are treated as separate objects within Tink."],["Tink incorporates Keys into Keysets, enabling key rotation and enhanced security practices."]]],["Tink's **Key** includes both key material and metadata, defining its functionality. Unlike other libraries that only use byte sequences, Tink requires complete parameter specifications. A full AEAD key defines encryption and decryption processes, along with ciphertext encoding. AES keys in Tink include algorithm specifications, making different AES types distinct objects. Keys in Tink exist as parts of a set of keys called a Keyset, allowing key rotation.\n"]]