Taggat med: AEAD

Google släpper nytt krypto-bibliotek: Tink

Tanken med Tink är att underlätta vardagliga programmeringsuppgifter som omfattar kryptering inom Google. Eftersom det är lätt att göra fel så ville man skapa ett bibliotek som minimerar risken för misstag samt göra det möjligt att använda biblioteket med flertalet programmeringsspråk och plattformar. Tink används redan i dagsläget i produktion inom Google i produkter såsom AdMob, Google Pay, Google Assistant, Firebase,  Android sök-App.

Google släppte för några veckor sedan version 1.2.0 som även stödjer iOS (Obj-C) och C++. Även finns numera stöd för Cloud KMS som är Googles nyckelhanteringstjänst.

För granskning av säkerheten i Tink har bl.a. Wycheproof används, ett verktyg utvecklat av Google för att identifiera kryptografiska brister i bibliotek.

Exempel på hur tink kan användas i Java med authenticated encryption with associated data (AEAD)

    import com.google.crypto.tink.Aead;
    import com.google.crypto.tink.KeysetHandle;
    import com.google.crypto.tink.aead.AeadFactory;
    import com.google.crypto.tink.aead.AeadKeyTemplates;

    // 1. Generate the key material.
    KeysetHandle keysetHandle = KeysetHandle.generateNew(
        AeadKeyTemplates.AES128_GCM);

    // 2. Get the primitive.
    Aead aead = AeadFactory.getPrimitive(keysetHandle);

    // 3. Use the primitive.
    byte[] ciphertext = aead.encrypt(plaintext, aad);

Vore mycket trevligt om du stödjer mitt bloggande via Patreon, från 9kr/månad.