Skip to content
Snippets Groups Projects
  1. Sep 01, 2017
    • Thai Duong's avatar
      Move util to crypto::tink::util. · 14f57e6f
      Thai Duong authored
      Change-Id: I2e628298c31e26da0067196634b5dc4d3bd5ed84
      ORIGINAL_AUTHOR=Thai Duong <thaidn@google.com>
      GitOrigin-RevId: 9b88cb7f7aad68ff16094ab7ff6a3a1620f58cd5
      14f57e6f
    • Haris Andrianakis's avatar
      Implements all the Hybrid crypto classes for Obj-C. · fa20557a
      Haris Andrianakis authored
      TINKHybridDecrypt: Public protocol that describes the functions implemented by
          the crypto primitives returned by TINKHybridDecryptFactory. The developer
          will use TINKHybridDecryptFactory to get a primitive that conforms to this
          protocol.
      
      TINKHybridDecryptConfig: Public configuration interface. The user creates an
          instance and uses it to configure the TINKHybridDecryptFactory.
      
      TINKHybridDecryptFactory: Public Factory that returns the crypto primitives.
          This is the only way to get a crypto primitive (TINKHybridDecrypt).
      
      TINKHybridDecryptInternal: Internal-only class that's used to implement the
          crypto primitives. The user is not allowed to use this class to create a
          crypto primitive. Instead he should use the TINKHybridDecryptFactory. This
          class conforms to the public protocol TINKHybridDecrypt.
      
      TINKHybridDecryptKeyManager: Parent class of all HybridDecrypt key managers.
          Doesn't contain any functionality we just use it to restrict the type of
          customKeyManagers that can be accepted by TINKHybridDecryptConfig.
      
      TINKPBEciesAeadHkdfPrivateKeyManager:
      TINKPBEciesAeadHkdfPublicKeyManager: These are both custom key managers that
          can be used with the TINKHyrbidDecryptConfig. After syncing with Thai these
          might not be needed as the user will have to implement and supply his own
          custom key managers.
      
      Change-Id: I006ab7ea705bb913e068baf892981c1dc4f7cfb5
      ORIGINAL_AUTHOR=Haris Andrianakis <candrian@google.com>
      GitOrigin-RevId: 4a03068d668054fb314264c3e137bdec5a06b07b
      fa20557a
    • Thai Duong's avatar
      Add JSON Keyset readers and writers. · 65e5b488
      Thai Duong authored
      Change-Id: Icb2327285c65bc656e35d37183cc42af3eb72138
      ORIGINAL_AUTHOR=Thai Duong <thaidn@google.com>
      GitOrigin-RevId: b37b6c3013ada55d92666b303fa109842a60bda9
      65e5b488
    • Thai Duong's avatar
      Add per-primitive Configs and Catalogues. · c0e08474
      Thai Duong authored
      Some refactoring:
      
      - Moving the registration of catalogue to Registry. Does NOT allow
      overwriting catalogues.
      
      - Deprecating registerStandardKeyTypes.
      
      - Ensuring that primitive-specific tests register only the corresponding
      key types.
      
      - com.google.crypto.tink.config.Config becomes
      com.google.crypto.tink.Config and does not depend on any primitives.
      
      - com.google.crypto.tink.proto.TinkConfig is renamed to
      com.google.crypto.tink.proto.RegistryConfig.
      
      - Add com.google.crypto.tink.crypto.config.TinkConfig that depends
      on all primitives.
      
      Examples:
      
      - To register all Aead primitives in Tink 1.0.0:
      
      Config.register(AeadConfig.TINK_1_0_0);
      
      - To register all primitives:
      
      Config.register(TinkConfig.TINK_1_0_0);
      
      - To use custom catalogues and configs:
      
      Register.addCatalogue("name", MyCatalogue());
      RegistryConfig customConfig = ...;
      TinkConfig.init();
      Config.register(customConfig);
      
      Change-Id: I7e593e1c3f1f404555e02672c0d0a3a214b660d9
      ORIGINAL_AUTHOR=Thai Duong <thaidn@google.com>
      GitOrigin-RevId: 0c99b04cf280f6b30e315521860315c8d65e27c7
      c0e08474
    • Bartosz Przydatek's avatar
      Adding basic test for Validators. · 1a33b6f2
      Bartosz Przydatek authored
      Change-Id: Iaba9492fd29e067b729a13f0a7f747dafd333c8a
      ORIGINAL_AUTHOR=Bartosz Przydatek <przydatek@google.com>
      GitOrigin-RevId: 34518c31e45494478fc3eb1f3d0a7c5b6073c1af
      1a33b6f2
    • Thai Duong's avatar
      Add more commands to Tinkey and corresponding APIs to KeysetManager. · 0db7e600
      Thai Duong authored
      Change-Id: I4a86ffe9fc11d1f22e92dc88c81f9418f6d643d7
      ORIGINAL_AUTHOR=Thai Duong <thaidn@google.com>
      GitOrigin-RevId: 4d2dc50e5e3725c7df048d015746680cc13dc433
      0db7e600
  2. Aug 23, 2017
  3. Aug 17, 2017
    • Thai Duong's avatar
      Add an implementation of Google Payment Method Token standard. · 4ab63a2d
      Thai Duong authored
      Change-Id: Ie2590b090ef518cde78f74225a7df9f70835829a
      ORIGINAL_AUTHOR=Thai Duong <thaidn@google.com>
      GitOrigin-RevId: 6d9c372020e9ab2580572dd90aeaee5deabd62da
      4ab63a2d
    • Thai Duong's avatar
      Re-add CleartextKeysetHandle#parseFrom which is used in a client. · 52e523e3
      Thai Duong authored
      Change-Id: I27f1243eeff8c89dd90c68d17685bbbe216bcac6
      ORIGINAL_AUTHOR=Thai Duong <thaidn@google.com>
      GitOrigin-RevId: b3b0c5c0a947be89f278685b4a8ac6b58634a849
      52e523e3
    • Thai Duong's avatar
      Add APIs for registering and loading KmsClient impls. · 59a30aaf
      Thai Duong authored
      Also provide an API that automatically load KmsClient impls annotated
      with @AutoService using java.util.ServiceLoader. Tinkey will use this
      API to talk to custom, in-house KMS.
      
      Change-Id: Id1cabb6a17df96597afb10f3b4bd1f9331bc0c67
      ORIGINAL_AUTHOR=Thai Duong <thaidn@google.com>
      GitOrigin-RevId: a6a18a88fef36b17c58b4bc4e18df91d73e94ffa
      59a30aaf
    • Bartosz Przydatek's avatar
      Adding helpers for Tink configuration. · c87880f1
      Bartosz Przydatek authored
      Change-Id: I7076732524ac5e6da6455456f01c281717dbe435
      ORIGINAL_AUTHOR=Bartosz Przydatek <przydatek@google.com>
      GitOrigin-RevId: c4fbef5be03f00715d87aab3030f259e2fa0eec4
      c87880f1
    • Thai Duong's avatar
      Change all methods in Registry to static. · 73ca35b5
      Thai Duong authored
      This changes our APIs from Registry.INSTANCE.getPrimitive(...)
      to Registry.getPrimitive() which is nicer.
      
      Change-Id: I1708150d9dd83df8ec36491e5c6d4c991f86f7f6
      ORIGINAL_AUTHOR=Thai Duong <thaidn@google.com>
      GitOrigin-RevId: 9f92a005a91d943f2a0ea9592e9e02249e6fd064
      73ca35b5
    • Thai Duong's avatar
      Temporarily remove the EnvelopeMe example. · ab0ab53d
      Thai Duong authored
      Reason: this example is deprecated because it's using a set of APIs
      that are going through heavy refactoring. I've written a new example,
      but it needs to wait until the refactoring is done.
      
      Change-Id: I78187c6e713f521f7695130ba846469ac69bcf9e
      ORIGINAL_AUTHOR=Thai Duong <thaidn@google.com>
      GitOrigin-RevId: 4153a2bf758e9afd2fc081b5d28dfc81d7f5bc31
      ab0ab53d
    • Haris Andrianakis's avatar
      Obj-C implementation of mac and initial support for objc protos. · 1696b8ca
      Haris Andrianakis authored
      Change-Id: I7d5c19b8ba195516f305ecc7a9c96366f98e4c89
      ORIGINAL_AUTHOR=Haris Andrianakis <candrian@google.com>
      GitOrigin-RevId: a9cd65c470ac24270bd4e865ba83637a15209887
      1696b8ca
  4. Aug 14, 2017
  5. Aug 11, 2017
    • Thai Duong's avatar
      Refactor keyset handles and add KeysetReader and KeysetWriter. · fd2c97a7
      Thai Duong authored
      KeysetHandle can read encrypted keysets from KeysetReader, and write
      cleartext or encrypted keysets to KeysetWriter. This allows removing
      EncryptedKeysetHandle and CleartextKeysetHandle.generateNew.
      
      Also:
      - Remove KeysetManager.Builder.
      - Add a bunch of useful keyset readers and writers.
      
      Change-Id: I5eb0681232c19fc435d08e9373a7a9edbdab958c
      ORIGINAL_AUTHOR=Thai Duong <thaidn@google.com>
      GitOrigin-RevId: 9bfaa1539963ed21ff223939798b20dd13bd64d9
      fd2c97a7
    • Erhan Nergiz's avatar
      Emphasizes Mac.java interface is for multi-time MACs · 9021dd8e
      Erhan Nergiz authored
      Change-Id: Ie13878c2bc60227c70a3d785029c6b76c73874b5
      ORIGINAL_AUTHOR=Erhan Nergiz <anergiz@google.com>
      GitOrigin-RevId: 6ca24e5da13f9ee64878e60a5648c2a15fc1bc2c
      9021dd8e
    • Thai Duong's avatar
      Set OutputPrefixType as a field of the KeyTemplate proto. · 8d3bf858
      Thai Duong authored
      This ensures that all APIs that generate new keys from KeyTemplate can
      generate keys with non-TINK prefix types.
      
      If a key template proto does not contain an output prefix type, uses
      the TINK prefix type.
      
      Change-Id: I041c335eabaa87c41c88bbe5e51ee02c867b6970
      ORIGINAL_AUTHOR=Thai Duong <thaidn@google.com>
      GitOrigin-RevId: 87d37eb7bba823db0b5f00f70ca247ffcc1d1ade
      8d3bf858
    • Thai Duong's avatar
      Make com.google.crypto.tink independent of com.google.crypto.tink.subtle. · 35e795ba
      Thai Duong authored
      This allows users that just want to use the former not to have to include
      the later.
      
      Change-Id: I13d282104d9b5dc0c963a756e67bed54f6c6b238
      ORIGINAL_AUTHOR=Thai Duong <thaidn@google.com>
      GitOrigin-RevId: 78c186af2d9bbf25dd20712e78950f8454eda1dd
      35e795ba
    • Erhan Nergiz's avatar
      Modifies XChaCha20Poly1305 to use IETF version of the Poly1305. · 89f3b725
      Erhan Nergiz authored
      Change-Id: If31a9090b415dc0ea877417b9ecc33ad082bb583
      ORIGINAL_AUTHOR=Erhan Nergiz <anergiz@google.com>
      GitOrigin-RevId: e904dd01bc42e6112493f3046c2a2d2e17818dc1
      89f3b725
  6. Aug 03, 2017
    • Thai Duong's avatar
      Fix Lint errors. · 9b9b2e8c
      Thai Duong authored
      Change-Id: I2c89d57f0aae9495efa01fdaf6f6910674ad505f
      ORIGINAL_AUTHOR=Thai Duong <thaidn@google.com>
      GitOrigin-RevId: 3b30e3738a38d2f59776183747d7ff3e286f05c4
      9b9b2e8c
    • Thai Duong's avatar
      Readd android targets. · 4468394c
      Thai Duong authored
      Change-Id: I5f4542ee79236cada3cf8232c835cf0493238b73
      ORIGINAL_AUTHOR=Thai Duong <thaidn@google.com>
      GitOrigin-RevId: a881f8f3c71a35dfef3bfa6bc69f5392671ced9e
      4468394c
    • Thai Duong's avatar
      Make all of subtle independent of protos. · 2bb522f7
      Thai Duong authored
      Without proto dependency, subtle:hybrid_android, subtle:signature_android and
      therefore //java:subtle_android are no longer needed.
      
      Change-Id: I0f69831678d9bf1ac571aa4082b52c7f87d47fa8
      ORIGINAL_AUTHOR=Thai Duong <thaidn@google.com>
      GitOrigin-RevId: eca1910698d414a7f3bf069640c128a0e73e1e47
      2bb522f7
    • Thai Duong's avatar
      Replace deprecated junit.framework.Assert with org.junit.Assert. · 2b96c83a
      Thai Duong authored
      Also fix various Lint errors.
      
      Change-Id: I32eb5ae4957c1dca30047476dab3c579ad5e1244
      ORIGINAL_AUTHOR=Thai Duong <thaidn@google.com>
      GitOrigin-RevId: 8b38d181f8121e817126ecfd92774ef4cdabb7de
      2b96c83a
    • Thai Duong's avatar
      Move shared plugins to parent pom.xml and use lite protos everywhere. · 42b32533
      Thai Duong authored
      Change-Id: Idaf4323b589a8db97aa252efa1ee0f7d2afffe1d
      ORIGINAL_AUTHOR=Thai Duong <thaidn@google.com>
      GitOrigin-RevId: 6ac6a07fd70c486ac5263cfd6d4eef8338955da8
      42b32533
    • Thai Duong's avatar
      Clean up Bazel's Java targets. · 0b64c871
      Thai Duong authored
      //java:java exports everything, except CleartextKeysetHandle, protobuf
      classes or Android Keystore integration.
      
      //java:android exports everytihng, except CleartextKeysetHandle, protobuf
      classes or GCP AWS integration (whose library doesn't support Android yet).
      
      //java:subtle is compatible with Android and exports everything in subtle
      and the primitive interfaces (e.g., Aead.java, Mac.java).
      
      //java:protos exports all Java protos.
      
      //java:cleartext_keyset_handle exports the CleartextKeysetHandle.
      
      Change-Id: I95658902e6871531a382c401132b4a40c6784ac7
      ORIGINAL_AUTHOR=Thai Duong <thaidn@google.com>
      GitOrigin-RevId: c85ae2c869ff9d2958c65474e93af56cd1c15053
      0b64c871
    • Thai Duong's avatar
      Add a Bazel config_setting that allows to enable Java full protos. · 0d11c2de
      Thai Duong authored
      Because Tinkey depends on full protos, Tink for Java had provided two
      flavors for every target that depends on protos. Since this new setting
      allows users to dynamically select which protos they want to build Tink
      with, Tink will default to lite protos and users that need full protos
      (e.g., to build Tinkey) can build Tink with:
      
      bazel build ... --define use_java_proto_full=true
      
      Change-Id: I42c9589d96269e969f671ecc20e6578c73bda7ce
      ORIGINAL_AUTHOR=Thai Duong <thaidn@google.com>
      GitOrigin-RevId: 1404cfdeb3fe9c4e1c120eb5c9e57532c1c0cfa1
      0d11c2de
    • Erhan Nergiz's avatar
      Adds HybridEncrypt and HybridDecrypt for DjbCipherPoly1305. · 129c333d
      Erhan Nergiz authored
      Also adds methods taking ByteBuffer output arg to several DjbCipher related
      classes to avoid unnecessary copying of ciphertext under the hood.
      
      Change-Id: I625e808e53a6de44f3b348d6d8da7453fd47a58c
      ORIGINAL_AUTHOR=Erhan Nergiz <anergiz@google.com>
      GitOrigin-RevId: 7ada3a00a9180fbd1d50a63dbbd68e6e964ba124
      129c333d
  7. Jul 28, 2017
    • Thanh Bui's avatar
      Remove AES-GCM and ECDSA test vector files. · 1a8d7249
      Thanh Bui authored
      AES-GCM and ECDSA tests now obtain the test vectors directly from Wycheproof's repository.
      
      Change-Id: I614ba141c342a34286b7f2f11af87e25b0f1dc81
      ORIGINAL_AUTHOR=Thanh Bui <thanhb@google.com>
      GitOrigin-RevId: 176deedb86d4d4ebd10aed07aa9ad1042e467fba
      1a8d7249
    • Thanh Bui's avatar
      Add key validation to EcdsaVerifyKeyManager. · 8c9ebba0
      Thanh Bui authored
      Change-Id: I3b4af82617ba95661fdc5bf3b08b170124a29629
      ORIGINAL_AUTHOR=Thanh Bui <thanhb@google.com>
      GitOrigin-RevId: 3acbf15746b4c6443534991f8c22351409a0a326
      8c9ebba0
    • Thanh Bui's avatar
      Refactor package subtle/util. · 7bbd748b
      Thanh Bui authored
      It includes:
      - move function ValidateVersion() from subtleutil to keyutil.
      - rename the package to subtleutil.
      Also:
      - remove underscore from files in package util.
      
      Change-Id: Ica79faa4fd1a1172565561105bf91bf95eab1d7d
      ORIGINAL_AUTHOR=Thanh Bui <thanhb@google.com>
      GitOrigin-RevId: 0ef950a0198829723a93dfd5a1d949aff2076acf
      7bbd748b
Loading