https://github.com/google/tink

sort by:
Revision Author Date Message Commit Date
bbc2f36 Version bump to 1.3.0-rc3. PiperOrigin-RevId: 286503090 (cherry picked from commit 78b908124efbb34acc4de3ae11b41112cb41adb2) 20 December 2019, 03:35:36 UTC
7688d99 Sync protobuf dependencies in the Bazel workspace and the Maven project definitions. PiperOrigin-RevId: 284693335 (cherry picked from commit d898bdd05765e99b915d2d3b35f2e774774d7ff9) 18 December 2019, 20:56:08 UTC
5f0e7c8 Add a java binary to compare keysets. Because keysets can be serialized in different languages, I'd rather not compare the serialized version when comparing keysets (for example, go might decide that the fields are written in order in which they are declared in the proto file, while in Java they might be written in ascending order). I hence suggest to add such a binary. (If some key data in some key manager contains another KeyData this might still fail, but I think we should ignore this for now). NOTE: I specifically ignore the order of keys in the keyset; if you feel this is wrong, we should discuss it. PiperOrigin-RevId: 283056426 (cherry picked from commit 859ed2c7a911968eef30e11777f0999de7f9384a) 18 December 2019, 20:55:46 UTC
6ad153e Version bump to 1.3.0-rc2. PiperOrigin-RevId: 282474051 26 November 2019, 02:15:35 UTC
fbd2fe5 Merge pull request #287 from rayman42003:master PiperOrigin-RevId: 282425118 25 November 2019, 21:47:02 UTC
35da19f Merge branch 'master' into master 25 November 2019, 20:48:02 UTC
7074fe8 Merge pull request #285 from fnsoxt:master PiperOrigin-RevId: 282410317 25 November 2019, 20:29:18 UTC
0bfc6dc Merge branch 'master' into master 25 November 2019, 20:07:03 UTC
e09cd45 Add key templates for HkdfPrfKeys. PiperOrigin-RevId: 282356084 25 November 2019, 15:49:52 UTC
8db8812 Add a method getKeyId to the primitive wrappers PiperOrigin-RevId: 282324948 25 November 2019, 11:55:02 UTC
00f977b Merge pull request #270 from rashedmyt:patch-1 PiperOrigin-RevId: 282059319 25 November 2019, 11:54:43 UTC
fef5ae2 Merge branch 'master' into patch-1 22 November 2019, 23:31:25 UTC
fcbe253 Internal change PiperOrigin-RevId: 281752728 21 November 2019, 16:18:21 UTC
5eacc25 Merge Gerrit change 27840 Patch Set 1 PiperOrigin-RevId: 281736859 Change-Id: I8e96050d47c9995422183917be9bb5d2cc074724 21 November 2019, 14:35:05 UTC
d8e4520 Upgrading Golang dependencies. Change-Id: I8e96050d47c9995422183917be9bb5d2cc074724 21 November 2019, 13:51:42 UTC
9672291 Add a config and key templates for the HkdfPrfKeys. PiperOrigin-RevId: 281480303 20 November 2019, 10:32:43 UTC
77d3085 Remove implementation of an internal test method. PiperOrigin-RevId: 281451742 20 November 2019, 06:21:30 UTC
d22cfee Merge branch 'master' into patch-1 19 November 2019, 21:56:37 UTC
72383d6 Update roadmap document. PiperOrigin-RevId: 281357898 19 November 2019, 20:48:27 UTC
b5c6f51 Fixed bug found by test where the ciphertext was not the same for null and empty aad even though the decryption worked 19 November 2019, 04:07:55 UTC
d79a5dd PR Feedback - Move out null test, add test for normal plaintext, and add test that null aad and empty aad equivalent 19 November 2019, 03:09:16 UTC
3bf5746 Fix typo in comments for PublicKeySignWrapper and PublicKeyVerifyWrapper PiperOrigin-RevId: 281116905 18 November 2019, 19:40:07 UTC
125e22a Fix another typo 18 November 2019, 18:39:18 UTC
dbca8d8 Fix bug with unit test 18 November 2019, 18:35:36 UTC
19868df Throw a GeneralSecurityException in Registry.deriveKey() in case the type URL of the given key template is unknown. Previously, a NPE was thrown. PiperOrigin-RevId: 281072557 18 November 2019, 16:19:21 UTC
8438ba3 Add a PrivilegedRegistry, access to which is controlled by BUILD targets. PiperOrigin-RevId: 281050210 18 November 2019, 13:45:17 UTC
39ec184 Update supported primitives/implementations documentation. PiperOrigin-RevId: 281005485 18 November 2019, 07:54:20 UTC
f67a4c7 Added a null check for AesSiv to match behavior found in Aead encrypt/decrypt 18 November 2019, 06:11:22 UTC
ffae768 Add an Obj-C key template for the AES-CMAC implementation of the MAC primitive. PiperOrigin-RevId: 280709354 15 November 2019, 20:13:26 UTC
c545031 Add a method "get_key_id" to the PrimitiveSet in C++. As part of this, I hide the previous constructor. This is backwards incompatible, but the chance of breaking anyone seems very low. PiperOrigin-RevId: 280188852 13 November 2019, 14:55:09 UTC
7b7cf06 Fix explicit or implicit calls to toString on an array. PiperOrigin-RevId: 280159412 13 November 2019, 10:45:54 UTC
4e237db Add a method get_all to the C++ primitive_set class. This is analogous to the java method getAll [1]. However, the return type is different since there's nothing as "Collection<List<Entry<P>>>" available anyhow. We could use a vector<vector<Entry<P>*>>, but I don't think that's an improvement. I suggest simply to return a vector of entries in C++ instead. PiperOrigin-RevId: 280157944 13 November 2019, 10:32:09 UTC
14523c6 Add a HkdfPrfKeyManager for Java. PiperOrigin-RevId: 279952563 12 November 2019, 14:32:13 UTC
7eb7ec5 typo Fatal 10 November 2019, 03:18:14 UTC
5f1203f Fix visibility for streaming_aead_config. PiperOrigin-RevId: 279332383 08 November 2019, 17:44:21 UTC
dab7866 Call the functions NewKeyData, GetPublicKeyData, DeriveKey from the registry from outside of the mutex lock. This is needed for key derivation, as creating a new key in the PrfBasedKeyManager calls the registry again. PiperOrigin-RevId: 279324184 08 November 2019, 17:00:23 UTC
77b6740 Add the guarantee to the Registry that KeyManagers returned by get_key_manager() remain valid, even in the presence of concurrent registering calls. This was previously already the case, except for calls to RegisterAsymmetricKeyManagers after a non-asymmetric register call. Hence, there's a bit of a change of behavior, but if someone does this already I think they will prefer the new failure to the previous potential one. I also remove the reference_wrapper TODO, since I think it's infeasible to change this at this point (see e.g. [1]). Let me know if you want to keep it. PiperOrigin-RevId: 279289623 08 November 2019, 12:46:20 UTC
c95c893 Move the targets {,Streaming,Wycheproof}TestUtil.java into the non-testing folder. These are not tests, and hence should live under the main source. PiperOrigin-RevId: 279037957 07 November 2019, 09:57:13 UTC
512cdd7 Fix https://github.com/google/tink/issues/278. PiperOrigin-RevId: 278952190 06 November 2019, 23:23:40 UTC
1f01e71 Fixing CMake proto target for prf_based_deriver. PiperOrigin-RevId: 278865165 06 November 2019, 16:28:25 UTC
da94000 Add protos for key derivation, currently only used within google. PiperOrigin-RevId: 278864601 06 November 2019, 16:26:07 UTC
1be9514 Add protos for key derivation, currently only used within google. PiperOrigin-RevId: 278859363 06 November 2019, 15:59:33 UTC
75d7329 Add protos for key derivation, currently only used within google. PiperOrigin-RevId: 278849206 06 November 2019, 14:57:36 UTC
08cc9a9 Move the classes TestUtil, StreamingTestUtil, and WycheproofTestUtil into the package com.google.crypto.tink.testing. According to the best practices, only *Test.java should live under the testing tree. Because these classes are also in the way of me automating generation of BUILD files, I would like to move them to the non-testing tree. However, if we do that they will pollute the main Tink package, so we first put them into the "testing" subdirectory, and then later move them to the non-testing tree with the "testing" subdirectory. PiperOrigin-RevId: 278833454 06 November 2019, 13:00:45 UTC
1880629 Split the "tink" target into "primitives" and "core", and analogously for the android target. Previously, the primitives were built twice. It is proper to only build them once. PiperOrigin-RevId: 278583181 05 November 2019, 11:00:23 UTC
92a5396 Add a method "DeriveKey" to the registry_impl. This corresponds to deriveKey at [1] in Java. Since registry_impl isn't part of the public API, we don't need to do any special work to protected it here. PiperOrigin-RevId: 278323787 04 November 2019, 09:08:50 UTC
b4a33af Implement interface for streaming MAC. PiperOrigin-RevId: 278033621 02 November 2019, 00:44:30 UTC
c8951f3 Recommend the use of Bazelisk as a wrapper for Bazel. Expand the Getting Started tip into its own section and break out the remainder of the text into an Overview section. PiperOrigin-RevId: 277996168 01 November 2019, 21:00:58 UTC
a6d4128 Add a CreateDeriverFunctionFor which takes a KeyTypeManager, and returns a function which can derive keys without type information. This is not part of the public API. We will use this in the registry to store objects which can derive keys. I also changed the MOCK macros to the new ones, which allow specifying "override" (and which are somewhat clearer). PiperOrigin-RevId: 277932274 01 November 2019, 15:34:44 UTC
f1fdf56 Suppress some warnings about ignored exceptions. PiperOrigin-RevId: 277917961 01 November 2019, 13:45:44 UTC
ad6e398 Reuse HashType in Enums instead of using a new enum class in HkdfStreamingPrf. This slightly improves the interface, as it becomes more usual for Tink. PiperOrigin-RevId: 277914771 01 November 2019, 13:14:33 UTC
6e411a2 Add javacopts to the build targets in the open source build. This is needed to build it with java 1.7, which breaks our build otherwise. PiperOrigin-RevId: 277728040 31 October 2019, 15:40:13 UTC
8aa83bf Fix an error prone warning. PiperOrigin-RevId: 277714496 31 October 2019, 14:12:04 UTC
4c25ea0 Change the return type of deriveKey in the registry from MessageLite to KeyData. It is better to return KeyData since we can populate some of the fields properly, and hence fewer mistakes can be made. PiperOrigin-RevId: 277710892 31 October 2019, 13:46:20 UTC
0edcd48 Add HkdfStreamingPrf for java. PiperOrigin-RevId: 277698506 31 October 2019, 11:59:02 UTC
01a3355 Update the bazel-toolchains package to the one for 0.29, and re-enable RBE. PiperOrigin-RevId: 277694079 31 October 2019, 11:15:01 UTC
e454784 Add a HkdfPrf proto and the corresponding key manager in C++. PiperOrigin-RevId: 277675259 31 October 2019, 08:56:34 UTC
d4d5a38 Clean up GetKeysetInfo() implementation internals PiperOrigin-RevId: 277579696 30 October 2019, 21:03:59 UTC
d90586a Add GetKeysetInfo to KeysetHandle. PiperOrigin-RevId: 277544274 30 October 2019, 18:12:53 UTC
221924a Expose the IEEE-to-DER converter for Elliptic Curve signatures as a util. PiperOrigin-RevId: 277495811 30 October 2019, 13:58:09 UTC
077caea Support HashiCorp Vault as a remote KMS. NOKEYCHECK=True PiperOrigin-RevId: 277434590 30 October 2019, 04:58:00 UTC
1ec72ed Formatting changes due to internal changes. PiperOrigin-RevId: 276745125 25 October 2019, 20:05:13 UTC
9c3aeaf Disable RsaSsaPss tests under TSan. These tests frequently time out; generating RSA keys under TSan is simply a bit too much work. We hence simply disable them. PiperOrigin-RevId: 276692410 25 October 2019, 15:33:05 UTC
e90bfa2 Add a method deriveKey to the Java Registry. Things to note: * It is /not/ part of the public API. * I decided to simply propagated UnsupportedOperationExceptions which happen if the KeyTypeManager has no KeyFactory, or if derivation is not supported. This is the same for newKey -- let me know if you think this is bad, in this case Iw ill change it everywhere. PiperOrigin-RevId: 276442946 24 October 2019, 09:01:20 UTC
844280f Merge branch 'master' into patch-1 23 October 2019, 17:56:28 UTC
cb88f11 Move the rules_python in the WORKSPACE in the appropriate place. I had it previously on top because it is needed by something else (I think proto or so), but this is just not appropriate, so we move it here. PiperOrigin-RevId: 276270656 23 October 2019, 14:30:38 UTC
8997f2f Explicitly load android_library. This is required for bazel-1.0. PiperOrigin-RevId: 276268290 23 October 2019, 14:09:54 UTC
80f6b9f Add a .bazelversion file. This can e.g. be interpreted by bazelisk to use the correct version of bazel. PiperOrigin-RevId: 276249267 23 October 2019, 11:24:14 UTC
8d72d16 Tink C++: Add a method "deriveKey" to the KeyTypeManager interface and implement it for the AesGcmKeyManager. The idea is that this method will never be accessible in the public interface. Instead, we will make a build visibility restricted method in the registry. PiperOrigin-RevId: 276073117 22 October 2019, 15:52:24 UTC
f41a795 Migrate from the legacy java provider to the new JavaInfo provider. PiperOrigin-RevId: 276071488 22 October 2019, 15:42:24 UTC
d32f223 Add missing Closure non-nullability annotations PiperOrigin-RevId: 276062545 22 October 2019, 14:47:05 UTC
5b34a17 Add no_secret methods. PiperOrigin-RevId: 276045290 22 October 2019, 12:27:17 UTC
bf1bc79 Fix open source build. Depending on the typedefs, this needs to be size_t. PiperOrigin-RevId: 276026265 22 October 2019, 09:41:04 UTC
ed0fb55 Add an implementation of Hkdf as a StreamingPrf. PiperOrigin-RevId: 276020693 22 October 2019, 08:55:20 UTC
542014a Add some information about the releases used to the WORKSPACE file. I should do more: the golang ones should also have this, as well as the maven dependencies. Still, I'd like to do this so I can tell what makes sense to even update. PiperOrigin-RevId: 276012628 22 October 2019, 07:51:49 UTC
3449dd7 Add a method ReadAtMostFromInputStream to util. This is often useful when reading from an input stream, in cases where one does not need very tight control over what happens. PiperOrigin-RevId: 276012019 22 October 2019, 07:46:37 UTC
09b999d Explicitly call parseFrom with an empty extension registry throughout Tink. PiperOrigin-RevId: 275837758 21 October 2019, 14:22:18 UTC
1667164 Update go dependencies PiperOrigin-RevId: 275836601 21 October 2019, 14:12:07 UTC
00744c1 Migrate from deprecated "closure_repositories" as recommended. When upgrading the go dependencies, this complains [1]. We hence do this step first, as suggested in [2]. PiperOrigin-RevId: 275809060 21 October 2019, 10:17:44 UTC
86d1b5b Update io_bazel_rules_closure to the latest release. PiperOrigin-RevId: 275510327 18 October 2019, 18:17:12 UTC
4004b40 Fix two instances required to upgrade to bazel 1.0. These fail with the newest bazel, as they don't match anything. The target "wycheproof" is unused, and in the objc library there are simply no headers. PiperOrigin-RevId: 275505952 18 October 2019, 17:58:22 UTC
9e0b221 Remove calls to the generated ExtensionRegistry. PiperOrigin-RevId: 275458866 18 October 2019, 13:27:20 UTC
9f57953 Remove Sandbox args. These were once introduced to work around a bug on iOS; they are not needed anymore. PiperOrigin-RevId: 275422809 18 October 2019, 07:57:04 UTC
5925a38 Create new SignatureKeyTemplate to generate ECDSA signature of 64 bytes. PiperOrigin-RevId: 275337164 17 October 2019, 21:19:12 UTC
b2c7705 Upgrade bazel to 0.29.1. PiperOrigin-RevId: 275256751 17 October 2019, 14:48:31 UTC
2a0679a Add a method "deriveKey" to the KeyTypeManager interface and implement it for the AesGcmKeyManager. The idea is that this method will never be accessible in the public interface. Instead, we will make a build visibility restricted method in the registry. PiperOrigin-RevId: 275212795 17 October 2019, 09:13:10 UTC
97fbc57 Fix the macOS build breakage. * Update the iOS SDK and XCode versions to match what's available in the Kokoro macOS Mojave environment. * Add an explicit dependency on the latest version of bazel_skylib. * Update the rules_apple dependency to the latest version. * Remove the redundant dependency on (an old version of) xctestrunner. The latest version is pulled in when apple_rules_dependencies() is called, as seen here: https://github.com/bazelbuild/rules_apple/blob/b54005aef1a2b93fbc268065fe05549e35df7b97/apple/repositories.bzl#L66 PiperOrigin-RevId: 275205672 17 October 2019, 08:16:02 UTC
9d9dbab Upgrade protobuf-lite to 3.10.0. PiperOrigin-RevId: 275103238 16 October 2019, 20:40:00 UTC
8fda34a Upgrade to bazel 0.28.1. We disable "bazel fetch" because it seems to do more than what is needed for build and test. Hence I'd rather only do the build. We also update bazel-gazelle, as per https://github.com/bazelbuild/bazel-gazelle#running-gazelle-with-bazel -- I'm not quite sure this is needed with disabling "bazel fetch", but it's a newer version so we should update anyhow. PiperOrigin-RevId: 275047119 16 October 2019, 16:23:03 UTC
82ce557 Rollback. Original description: Remove creation of Javadoc. These rules seem to have some problems (in newer bazel versions they fail with object of type 'JavaSkylarkApiProvider' has no field 'transitive_deps'), and I hope we can get by without them. We can roll back if we need them. PiperOrigin-RevId: 274985694 16 October 2019, 09:04:49 UTC
c8ca503 Do not iterate through some of the depsets. New bazel versions require us to get rid of code which is iterating through depsets; here we do some of this work for our proto compiler for objc. Also, we pass in the compiler as a tool, instead of as an input. This is another incompatible bazel update (incompatible_no_support_tools_in_action_inputs) PiperOrigin-RevId: 274978487 16 October 2019, 08:05:27 UTC
614cb03 Remove creation of Javadoc. These rules seem to have some problems (in newer bazel versions they fail with object of type 'JavaSkylarkApiProvider' has no field 'transitive_deps'), and I hope we can get by without them. We can roll back if we need them. PiperOrigin-RevId: 274976432 16 October 2019, 07:55:07 UTC
219ea92 Update the googleapis patch slightly. bazel 1.0 uses its internal tool for patches. Differently from the external one, it cannot tolerate date information in the first line. Hence, we remove that. We also change it to not produce mocks, this seems to be a bit more robust. PiperOrigin-RevId: 274800079 15 October 2019, 14:28:22 UTC
2f56f72 Remove the dependency on build_stack_rules_proto and instead patch the required protos into the googleapis workspace. Using cloud KMS open source requires a C++ version of some protos. These are currently not included in their open source build. We will patch these in, and then upstream them later. PiperOrigin-RevId: 274782074 15 October 2019, 12:14:05 UTC
66b27a0 Add a *streaming* PRF interface to subtle, based on InputStream in Java and C++. PiperOrigin-RevId: 274772040 15 October 2019, 10:51:39 UTC
bac82fd Some upgrades to our workspace. 1) Upgrade the googleapis dependency to the newest version. This dependency now supports loading "com_google_api_codegen" directly (via this switched_rules_by_language) construct; we also need to tell it that we want to build gRPC. 2) Upgrade com_google_protobuf_javalite to the newest version. For this, we now need python rules, which we add on top. (These are the bazel instructions, e.g., py_library(), I think adding these on top is appropriate). PiperOrigin-RevId: 274754272 15 October 2019, 08:40:03 UTC
ce9a062 Disable the remote build execution tests; they currently fail and provide no value. PiperOrigin-RevId: 274594837 14 October 2019, 16:32:19 UTC
6b218f1 fix typo in known-issues 10 October 2019, 16:12:12 UTC
b7c5fb8 Update Golang's hybrid encryption example, per suggestions in https://github.com/google/tink/issues/260. PiperOrigin-RevId: 273805248 09 October 2019, 20:09:46 UTC
f81ce32 Move exportSymbol calls to a standalone module for the JavaScript binary. PiperOrigin-RevId: 273638482 09 October 2019, 00:05:38 UTC
back to top