Lukasz Pawelczyk [Mon, 9 May 2016 11:29:05 +0000 (13:29 +0200)]
DSA sign/verify example
Change-Id: I29208ed486b03f40af4a1ddd52f999b3c6d25a99
Lukasz Pawelczyk [Mon, 9 May 2016 11:27:08 +0000 (13:27 +0200)]
DSA sign/verify support
The previous implementation was generic enough to handle DSA as well.
Change-Id: I0c952e340cae3fabb05aa0e10fa5f0947319e4f8
Lukasz Pawelczyk [Mon, 9 May 2016 11:20:54 +0000 (13:20 +0200)]
Add DSA to import/export example
Improved printing a little. This example can serve partially as a
test. It has been written this way as a verification tool as we don't
have proper tests yet.
Change-Id: Ifbda0f17e2e8fc0b734d34d49668a4a7662c337d
Lukasz Pawelczyk [Mon, 9 May 2016 10:42:54 +0000 (12:42 +0200)]
yaca_key_import()/yaca_key_export() for DSA
It seems that my previous import/export commit was generic enough to
handle DSA as well. Only minor change was required to enable DSA. That's
why this commit is so short.
Change-Id: I0627c10a723b0011dde705d74d290caa36533a9d
Lukasz Pawelczyk [Fri, 6 May 2016 16:44:56 +0000 (18:44 +0200)]
yaca_key_gen() and yaca_key_extract_public() for DSA
There is no dedicated method to extract public key for DSA, only
export/import (to temporary memory). As the latter method also works for
RSA and I predict it will work for ECDSA I use it exclusively.
Change-Id: Idf25df43da571cfb3d67192b5263e4a4c260feeb
Lukasz Pawelczyk [Fri, 6 May 2016 14:18:53 +0000 (16:18 +0200)]
Add GNU global files to .gitignore
Change-Id: I6e7160af73a35b33bdcf76059c3a99be8f29c0db
Lukasz Pawelczyk [Fri, 6 May 2016 09:49:23 +0000 (11:49 +0200)]
Add missing example comments
Change-Id: Ie67851cf21395a72519ff2d2e79973184572749c
Lukasz Pawelczyk [Wed, 4 May 2016 11:36:27 +0000 (13:36 +0200)]
Removal of yaca_key_gen_pair() and its enum values
You can achieve the same now with yaca_key_gen() and
yaca_key_extract_public() if/when the latter is needed.
Change-Id: I5f47ed118e283b4d868f000108900f377b1260df
Lukasz Pawelczyk [Mon, 2 May 2016 15:48:47 +0000 (17:48 +0200)]
Make it possible to generate private keys with yaca_key_gen()
Change-Id: I7d4928ab27dad85cd52f3cff60ff9a9e61ae261f
Lukasz Pawelczyk [Mon, 2 May 2016 11:50:46 +0000 (13:50 +0200)]
yaca_key_extract_public() public function
The idea is to remove yaca_key_gen_pair() and always generate using
yaca_key_gen(). The latter will always generate private keys for
asymmetric types. Public key will be extracted (if needed) using the
function implemented here.
This approach has an advantage that we can extract public keys for
private keys imported from external sources. Previously this was
impossible.
Change-Id: I081c81eb37ed3267518aac21a9bf36063ef0e901
Lukasz Pawelczyk [Wed, 11 May 2016 10:19:41 +0000 (12:19 +0200)]
Incorporate sanity checks into key_get_* functions
Change-Id: I2d13b621b202c6c5800b745fe5b9f48d5a88aac8
Lukasz Pawelczyk [Mon, 9 May 2016 13:55:29 +0000 (15:55 +0200)]
write_file()/read_file() functions added
They are not used now, but they are very helpful for debugging and they
will be used in future examples.
Change-Id: Ia3cee5a67013543096cef45b04b649ce5faaf9e8
Dariusz Michaluk [Fri, 6 May 2016 13:14:22 +0000 (15:14 +0200)]
Remove YACA_ERROR_NOT_SUPPORTED
Change-Id: I3f6b9cf907fc4fb4e0dd6dd84452f1448e223e65
Krzysztof Jackiewicz [Thu, 5 May 2016 09:45:46 +0000 (11:45 +0200)]
Make yaca GCC 5 compatibile
GCC 5 issues a warning for __FUNCTION__. Use __func__ instead.
Change-Id: I3d37621c8384e4f229140bfc3af8c92f81058ff5
Lukasz Pawelczyk [Tue, 26 Apr 2016 13:04:30 +0000 (15:04 +0200)]
key_import/key_export example
Change-Id: Ia638fdc60c88684163dc6afe3aa3e83d65684950
Lukasz Pawelczyk [Thu, 28 Apr 2016 16:30:29 +0000 (18:30 +0200)]
yaca_key_import() basic implementation (symmetrical and RSA)
Change-Id: I8a90a06326fabbbd8b013452c1d0797635451464
Lukasz Pawelczyk [Mon, 25 Apr 2016 16:33:26 +0000 (18:33 +0200)]
yaca_key_export() implementation for YACA_KEY_FORMAT_DEFAULT
Change-Id: I946b1f862dd7f75d93372cea00deb6487ae35fb7
Lukasz Pawelczyk [Thu, 28 Apr 2016 11:55:04 +0000 (13:55 +0200)]
Some TODOs added for things noticed
Change-Id: I8683a77c3e50dea327cb5c10973d1fe310765470
Lukasz Pawelczyk [Thu, 28 Apr 2016 11:39:06 +0000 (13:39 +0200)]
Small fixes in key.c
Check for key length (non zero and dividable by 8).
Asymmetric keys in the current state are INVALID_ARGUMENT.
Change-Id: Ic7dd64fa86a485f11e52b83b2b82f710c4d55c80
Lukasz Pawelczyk [Wed, 20 Apr 2016 14:35:44 +0000 (16:35 +0200)]
API changes around key_import and key_export
key_import will autodetect key_format and key_file_format. Only the
expected key_type is required.
key_export needs to have key_format and key_file_format explicitly
given (obviously). It will get the key_type from the key.
Change-Id: I6a8e04c886f6acd95dc124918606fbad992108c2
Dariusz Michaluk [Thu, 5 May 2016 10:39:23 +0000 (12:39 +0200)]
Add info about yaca tests. Remove unnecessary test dir.
Change-Id: Icb519091c09c426993c50f5fac8ef6d9c1c8c874
Lukasz Pawelczyk [Wed, 20 Apr 2016 13:19:50 +0000 (15:19 +0200)]
Rename key_fmt to key_file_fmt type and introduce a real key_fmt enum.
key_file_fmt is a format of the file (PEM, DER, RAW, BASE64).
Newly added key_fmt is a format of a key within file format (PKCS#X, etc).
E.g. we can have PKCS#1 encoded as PEM or DER and PKCS#8 encoded again
as PEM or DER. Those two format types are independent of each other.
Change-Id: I38b9106c619a5b45c09be48d95f9278f43b79dd4
Lukasz Pawelczyk [Mon, 25 Apr 2016 13:31:22 +0000 (15:31 +0200)]
Switch to smart-tabs in key.c and key.h
Change-Id: I8d6186819fe1edb3cea5a58124e06e4b1fbbbac9
Dariusz Michaluk [Thu, 28 Apr 2016 12:01:30 +0000 (14:01 +0200)]
Replace YACA_ERROR_OPENSSL_FAILURE with YACA_ERROR_INTERNAL
Change-Id: Ibb6ffca3dc778479556ba7412b46b3f9c542c424
Dariusz Michaluk [Thu, 28 Apr 2016 11:07:47 +0000 (13:07 +0200)]
Cleanup API documentation.
Change-Id: I4e4e1ce027d9672adb1bf92eebfc8e8696f90cb5
Dariusz Michaluk [Thu, 21 Apr 2016 11:06:31 +0000 (13:06 +0200)]
Review and simplify Seal/Open example.
Change-Id: I3d41c8de8edf79237027162f654af65952a5d9d3
Dariusz Michaluk [Thu, 21 Apr 2016 11:09:18 +0000 (13:09 +0200)]
Seal/Open implementation.
Change-Id: I8c89eb8117158440fb6bd5ab8a6875ca29755093
Dariusz Michaluk [Thu, 21 Apr 2016 14:06:38 +0000 (16:06 +0200)]
yaca_open_init() needs key length to generate EVP_CIPHER
Change-Id: I5d12ca2ac41c54a6a73844033c9ab6a0118b954f
Dariusz Michaluk [Tue, 12 Apr 2016 13:48:14 +0000 (15:48 +0200)]
Change spaces to tab in CMakeLists
Change-Id: I721359eaade46100c96d6a9fd9ed3e24293868d6
Krzysztof Jackiewicz [Thu, 21 Apr 2016 11:06:40 +0000 (13:06 +0200)]
Set debug function in examples
Change-Id: Ia4e65acbad056d988b7ceffa3f9190f40b35270a
Krzysztof Jackiewicz [Thu, 21 Apr 2016 10:51:54 +0000 (12:51 +0200)]
Dump openssl errors after each failure
Change-Id: Ie665574073d00e29a451fcd799488efa35023bbb
Krzysztof Jackiewicz [Thu, 21 Apr 2016 11:15:53 +0000 (13:15 +0200)]
Add helper functions for openssl error handling
Change-Id: Ibc20d9e37bc2d90a92646e1115d9a1b63f5342e6
Dariusz Michaluk [Thu, 21 Apr 2016 09:45:31 +0000 (11:45 +0200)]
Bugfix: yaca_encrypt_final used in decryption
Change-Id: I26f60bc9adfd8e55390a1522c6d36197cccc46b5
Lukasz Pawelczyk [Thu, 14 Apr 2016 14:56:31 +0000 (16:56 +0200)]
Examples reviewed and simplified after RSA/HMAC sign implementation.
Change-Id: I4b771695346d77ff0a133a6907e701de6fcfe856
Lukasz Pawelczyk [Tue, 12 Apr 2016 11:42:52 +0000 (13:42 +0200)]
Sign/verify initial implementation. Examples to follow.
Change-Id: I31205fdbb897011b2cf5cbff02acbae396e95205
Lukasz Pawelczyk [Wed, 20 Apr 2016 13:28:15 +0000 (15:28 +0200)]
Split ECC key types into ECDSA and ECDH
Change-Id: I58b90609886d529cc1b387c56dd544977e5b6803
Lukasz Pawelczyk [Fri, 15 Apr 2016 14:07:12 +0000 (16:07 +0200)]
Add a line break before printing out formatted data bytes.
Change-Id: Iadd01247f0cba4190f99990bdf48e38351580a56
Lukasz Pawelczyk [Thu, 14 Apr 2016 14:56:09 +0000 (16:56 +0200)]
Add a TODO about get_output length signature.
Change-Id: I33b588ab52da7e1efb05e48c73f5335f02b55fb8
Dariusz Michaluk [Mon, 18 Apr 2016 14:56:42 +0000 (16:56 +0200)]
yaca_seal_init() needs key length to generate EVP_CIPHER
Change-Id: I65f40910983d5d8928174807dbdc7c622eee70d8
Dariusz Michaluk [Mon, 18 Apr 2016 10:35:32 +0000 (12:35 +0200)]
Split symmetric/asymmetric encryption
Change-Id: Iab1755771de9cdb8d2b2902cf6b6a1adcb343ade
Lukasz Pawelczyk [Thu, 14 Apr 2016 14:52:58 +0000 (16:52 +0200)]
Nullify destroyed pointer.
Change-Id: I40384227010a733499b05bf6b587a1ec125505df
Mateusz Kulikowski [Mon, 11 Apr 2016 13:52:33 +0000 (15:52 +0200)]
yaca_ctx_free: Cause exception on missing destructor.
ctx->ctx_destriy is mandatory for all contexts.
Add assert to verify that.
Change-Id: I1a1b5b5c7eb50eb5cea440ad74d410aeb2cdda59
Signed-off-by: Mateusz Kulikowski <m.kulikowski@samsung.com>
Mateusz Kulikowski [Mon, 11 Apr 2016 13:51:51 +0000 (15:51 +0200)]
Add yaca_ctx_get|set_param prototypes.
Change-Id: I714a47663e742bc8c3eeb446483eee0a58a8a056
Signed-off-by: Mateusz Kulikowski <m.kulikowski@samsung.com>
Mateusz Kulikowski [Mon, 11 Apr 2016 13:50:50 +0000 (15:50 +0200)]
Use crypto_zalloc for internal structure allocations.
Change-Id: I3a3f738cf238c362ac33e3aa01c3a37d263140f9
Signed-off-by: Mateusz Kulikowski <m.kulikowski@samsung.com>
Mateusz Kulikowski [Mon, 11 Apr 2016 13:46:33 +0000 (15:46 +0200)]
yaca: add yaca_zalloc
This allocator will be mostly used to allocate contexts/keys.
Change-Id: I5c3a5efcda5a243503ac80502c221157e18eaa2a
Signed-off-by: Mateusz Kulikowski <m.kulikowski@samsung.com>
Mateusz Kulikowski [Mon, 11 Apr 2016 13:35:20 +0000 (15:35 +0200)]
Implement limited symmetric cipher support
Change-Id: I5b130e3e1d41cfcce1f730f3d1b316c088432677
Signed-off-by: Mateusz Kulikowski <m.kulikowski@samsung.com>
Dariusz Michaluk [Mon, 11 Apr 2016 13:10:17 +0000 (15:10 +0200)]
Add package with examples.
Change-Id: Idd9fee1bdc3588721fb74f1dca3ff570e827a757
Mateusz Kulikowski [Mon, 11 Apr 2016 13:33:39 +0000 (15:33 +0200)]
Implement yaca_get_iv_bits()
Move code to encrypt* as it's encryption related.
Change-Id: Id9b5072e3fb220aaffcc0f1aad5f2b0893fa06ed
Signed-off-by: Mateusz Kulikowski <m.kulikowski@samsung.com>
Mateusz Kulikowski [Mon, 11 Apr 2016 13:31:50 +0000 (15:31 +0200)]
encrypt: add get_symmetric_algorithm
Implement function to map yaca algorithm enums to EVP_CIPHER.
It is currently not very fast, and doesn't handle all algorithms/modes
supported by yaca.
Change-Id: I34c9a78044561b7fdcdc9e23632e45ff745e7f34
Signed-off-by: Mateusz Kulikowski <m.kulikowski@samsung.com>
Mateusz Kulikowski [Mon, 11 Apr 2016 13:27:21 +0000 (15:27 +0200)]
internal.h: add YACA_CTX_ENCRYPT
It is context for encryption
Change-Id: Icb8ebbb9804edca48cab3d6523a9e27c3ab30fe1
Signed-off-by: Mateusz Kulikowski <m.kulikowski@samsung.com>
Mateusz Kulikowski [Mon, 11 Apr 2016 10:40:18 +0000 (12:40 +0200)]
simple: Handle encrypt/decrypt block sizes properly
- Calculate output block sizes properly
- Resize output allocations to size output
Change-Id: I58cc4530f9b832375c20c79c9883910adaaccc67
Signed-off-by: Mateusz Kulikowski <m.kulikowski@samsung.com>
Mateusz Kulikowski [Mon, 11 Apr 2016 09:58:52 +0000 (11:58 +0200)]
Encrypt example update
- Handle outputs allocation properly
- Calculate IV lengths
- Generate IV properly
Change-Id: I3ae9c15dac9fa36bb308846fc4c33c61296ca819
Signed-off-by: Mateusz Kulikowski <m.kulikowski@samsung.com>
Mateusz Kulikowski [Wed, 13 Apr 2016 12:45:16 +0000 (14:45 +0200)]
crypto.h: rename yaca_get_iv_length() to yaca_get_iv_bits()
Function returns IV length in bits - rename it to avoid confusion.
Change-Id: I58f565e1ca96321856f099d55ec456f23be1dbe0
Signed-off-by: Mateusz Kulikowski <m.kulikowski@samsung.com>
Mateusz Kulikowski [Wed, 13 Apr 2016 12:44:40 +0000 (14:44 +0200)]
examples: Add LOREM*_SIZE
Add macros containing sizes of lorem* strings.
Change-Id: I2514f9fc03d55561530fac9ec856f404f9aa987b
Signed-off-by: Mateusz Kulikowski <m.kulikowski@samsung.com>
Lukasz Pawelczyk [Tue, 12 Apr 2016 11:42:30 +0000 (13:42 +0200)]
Add SIGN context to context types.
Change-Id: If61017092a29d5b50c6036b825492a7760e87cd6
Lukasz Pawelczyk [Tue, 12 Apr 2016 12:54:01 +0000 (14:54 +0200)]
Remove unused function pointer, no need to do that for keys.
Change-Id: I1b856243bc42a09783cadfe42b402f9c8dc144f0
Lukasz Pawelczyk [Tue, 12 Apr 2016 11:34:44 +0000 (13:34 +0200)]
Implement getting the bits of an evp type key.
Change-Id: Ibbd62e146bcfc7ecaa999a694416db2488e14052
Lukasz Pawelczyk [Tue, 12 Apr 2016 11:34:04 +0000 (13:34 +0200)]
Small cosmetic change in digest.c to line it up with the style of the rest of the code.
Change-Id: Ib22750311254ffaaa0f241191f9a9fdeed1a00b7
Lukasz Pawelczyk [Tue, 12 Apr 2016 11:33:19 +0000 (13:33 +0200)]
Get rid of EVP_MD from digest struct, it's redudant.
Change-Id: I52d84125d4b0f2ab1face439477efcc82ee0a0fe
Lukasz Pawelczyk [Tue, 12 Apr 2016 11:30:44 +0000 (13:30 +0200)]
Add todo.txt file for global TODOs.
Change-Id: I79d942960fa25b44095b6ea150d5bd1f408c8343
Lukasz Pawelczyk [Tue, 12 Apr 2016 11:30:02 +0000 (13:30 +0200)]
Add YACA_ERROR_SIGNATURE_INVALID error code. Mentioned in the doxygen.
Change-Id: Ieff9d6a8408c878b7ff9656f637382abab23f742
Dariusz Michaluk [Mon, 11 Apr 2016 12:24:27 +0000 (14:24 +0200)]
Enable extra compilation flags.
Change-Id: I689300d8176eacdad75ddf19bb1b3f91510e872d
Lukasz Pawelczyk [Fri, 8 Apr 2016 14:26:48 +0000 (16:26 +0200)]
Fix compilation with Clang.
Some bugs in the code fixed, caught by Clang warnings/errors.
Change-Id: If6b2b617222ea8d07d5d3af4202a4dae3b7ebebe
Signed-off-by: Lukasz Pawelczyk <l.pawelczyk@samsung.com>
Mateusz Kulikowski [Mon, 11 Apr 2016 09:43:04 +0000 (11:43 +0200)]
yaca_ctx_free: NULL context handling
Ignore null contexts.
Change-Id: I7ecac9603519d91d5708f4eed11af0a9f8a4ce17
Signed-off-by: Mateusz Kulikowski <m.kulikowski@samsung.com>
Mateusz Kulikowski [Fri, 8 Apr 2016 10:49:31 +0000 (12:49 +0200)]
Rename get_digest_algorithm -> digest_get_algorithm
Use common naming for internal API
Change-Id: Ie6dce91fca60d099249e32938b9ebc5dd8a1a6d2
Signed-off-by: Mateusz Kulikowski <m.kulikowski@samsung.com>
Mateusz Kulikowski [Fri, 8 Apr 2016 10:48:07 +0000 (12:48 +0200)]
Move key structures to internal API header, expose getters
- Rename get_evp|simple_key to key_get_evp|simple and expose as internal API
- Move key structures to internal API header
Change-Id: I192d456b90043446e93b788fab5c9e5625dfd3f6
Signed-off-by: Mateusz Kulikowski <m.kulikowski@samsung.com>
Mateusz Kulikowski [Fri, 8 Apr 2016 10:25:37 +0000 (12:25 +0200)]
Convert all key lengths to bits
- Rename API parameters to avoid confusion (key_len -> key_bits)
- Rename internal key length to key_bits
- Fix key length handling where it was done incorrectly
Change-Id: If3dcf8ad87246a144019d3fc93c6251c3529d881
Signed-off-by: Mateusz Kulikowski <m.kulikowski@samsung.com>
Mateusz Kulikowski [Wed, 6 Apr 2016 13:33:39 +0000 (15:33 +0200)]
key: Cleanups
- Clean import for symmetric keys
- Clean generation of "simple/single" keys
- Return proper error from yaca_key_gen (key not supported vs invalid type)
Change-Id: Ia993ad1b1908dd9c5babc31b687e2e9b9bc07eba
Signed-off-by: Mateusz Kulikowski <m.kulikowski@samsung.com>
Mateusz Kulikowski [Wed, 6 Apr 2016 13:32:10 +0000 (15:32 +0200)]
key: Check for key_len overflows
Affected functions:
- key_import
- key_gen
Change-Id: I1b2898b03d3bf950706c21671afe9d6a89311255
Signed-off-by: Mateusz Kulikowski <m.kulikowski@samsung.com>
Mateusz Kulikowski [Wed, 6 Apr 2016 13:31:22 +0000 (15:31 +0200)]
key: implement pbkdf2
- Fixup key_len - it is now size_t
- Add maximum password length
Change-Id: Ic5bc6de538f305020c52219793e2dc440de47eb3
Signed-off-by: Mateusz Kulikowski <m.kulikowski@samsung.com>
Mateusz Kulikowski [Mon, 4 Apr 2016 13:23:38 +0000 (15:23 +0200)]
digest: Add get_digest_algorithm
Add API to translate yaca_digest_algo_e to EVP_MD.
It is needed by other modules (like pbkdf2, message sign/verify etc.).
Change-Id: I0b73eb51e076e443ebc269f96772c438479c81f5
Signed-off-by: Mateusz Kulikowski <m.kulikowski@samsung.com>
Mateusz Kulikowski [Thu, 7 Apr 2016 14:37:21 +0000 (16:37 +0200)]
Remove private headers (*_p.h)
Merge all internal defines / macros / declarations into internal.h
This file may be later split, but for now it's small enough.
Change-Id: I5f00c856fd7daa0773fd6ccdb175312df1e06818
Signed-off-by: Mateusz Kulikowski <m.kulikowski@samsung.com>
Mateusz Kulikowski [Mon, 4 Apr 2016 13:20:29 +0000 (15:20 +0200)]
compilation: use c11 instead of c99
Change-Id: I1cea470f7ee346bf9cd38899c592fbc973568e83
Signed-off-by: Mateusz Kulikowski <m.kulikowski@samsung.com>
Mateusz Kulikowski [Wed, 6 Apr 2016 11:27:33 +0000 (13:27 +0200)]
Add coding rules document
Based on internal discussions and tizen rules.
Change-Id: Ibf4a65635bfd6adbc3259a28b948591e30d3f9c6
Signed-off-by: Mateusz Kulikowski <m.kulikowski@samsung.com>
Lukasz Pawelczyk [Wed, 6 Apr 2016 12:34:03 +0000 (14:34 +0200)]
With cmake we should not allow the main git directory to be polluted.
Change-Id: I24e334e7296af32c6e5de81cefb1ff8ece7305d2
Lukasz Pawelczyk [Wed, 6 Apr 2016 12:33:39 +0000 (14:33 +0200)]
Fix a SIGSEGV in key-exchange example. It's still not implemented though.
Change-Id: I2ea56f1109d799d77c1a322567250afca68da13b
Lukasz Pawelczyk [Wed, 6 Apr 2016 12:32:14 +0000 (14:32 +0200)]
Some minor digest changes.
- code style to make it more similar to the recent key changes
- digest_ctx_free()
Change-Id: Icf11abc94fb4811edfb6a9350905aed7f29e8e78
Lukasz Pawelczyk [Wed, 6 Apr 2016 12:31:21 +0000 (14:31 +0200)]
Partially implement a new key type (evp) and yaca_key_gen_pair()
Change-Id: I7c0d41d734284544585a173f2c64c5b6e77f4b24
Mateusz Kulikowski [Wed, 6 Apr 2016 09:06:39 +0000 (11:06 +0200)]
Rename owl -> yaca
Use official project name - YACA (Yet Another Crypto API)
Change-Id: Ib226ee33efafe79663017cedcbf589137c2799fb
Signed-off-by: Mateusz Kulikowski <m.kulikowski@samsung.com>
Krzysztof Jackiewicz [Tue, 5 Apr 2016 11:55:23 +0000 (13:55 +0200)]
Make binary install dir configurable
Change-Id: I83eab84f09e81ee871a5dae56f2061f9899f6a32
Lukasz Pawelczyk [Tue, 5 Apr 2016 10:35:39 +0000 (12:35 +0200)]
Re-indent the definitions after adding the API prefix.
Change-Id: Ic887def78ea211b6fbf0e1670e9b4c623884e71a
Krzysztof Jackiewicz [Mon, 4 Apr 2016 09:09:29 +0000 (11:09 +0200)]
Add cmake scripts for example compilation
Change-Id: I0eaf20b6e20bf0285e50b066572d53cc93074efe
Krzysztof Jackiewicz [Mon, 4 Apr 2016 09:42:55 +0000 (11:42 +0200)]
Fix digest ctx initalization
Change-Id: I65dfef2680303ff51106ad86d739f07c763646ec
Krzysztof Jackiewicz [Mon, 4 Apr 2016 09:08:53 +0000 (11:08 +0200)]
Rename 'crypto' to 'owl' in include directives
Change-Id: Ia568b1f875eee4059cfb9cf3c9342c1d04515ca0
Dariusz Michaluk [Thu, 31 Mar 2016 09:45:10 +0000 (11:45 +0200)]
Add build/packaging system
Change-Id: I218be0c159121689213dbfb3b8a1407a9405890e
Signed-off-by: Mateusz Kulikowski <m.kulikowski@samsung.com>
Dariusz Michaluk [Thu, 31 Mar 2016 12:50:43 +0000 (14:50 +0200)]
Add LICENSE file
Change-Id: I59f9fc549eeb776260b3487431337ad51eed5816
Mateusz Kulikowski [Fri, 1 Apr 2016 17:22:15 +0000 (19:22 +0200)]
More cleanups:
- added missing TODOs as comments
- upgraded owl_exit
- added license and init/exit to test.c
Signed-off-by: Mateusz Kulikowski <m.kulikowski@samsung.com>
Lukasz Pawelczyk [Thu, 31 Mar 2016 14:31:03 +0000 (16:31 +0200)]
Cleanups
- coding style
- some fixes after review comments
- API define for API calls, rest hidden by default
Signed-off-by: Lukasz Pawelczyk <l.pawelczyk@samsung.com>
Change-Id: Iefb002dc9b4212279dc10d5cafa2efcdc6fd4729
Lukasz Pawelczyk [Thu, 31 Mar 2016 12:40:26 +0000 (14:40 +0200)]
Renamed the API from crypto_ to owl_. Filenames not changed for now.
Signed-off-by: Lukasz Pawelczyk <l.pawelczyk@samsung.com>
Change-Id: Ibb0b3a430033216efb3035a55643bf489553dd33
Signed-off-by: Mateusz Kulikowski <m.kulikowski@samsung.com>
Dariusz Michaluk [Thu, 31 Mar 2016 12:50:01 +0000 (14:50 +0200)]
Add doxygen config
Change-Id: Id594f8fdd7d9bc8543fb3b9bede2ab6bb23ad5d2
Mateusz Kulikowski [Thu, 31 Mar 2016 06:25:16 +0000 (08:25 +0200)]
Library code stub
- Basic symmetric key handling
- Simple API
- crypto.c: use OPENSSL_alloc/free
Addons:
- (simple) top-level makefile, makefiles update
- Basic error codes
- Stubs for all crypto-api functions (all examples are linked properly)
- dump_hex() for examples
- Moved API headers to api/ top-level-directory
- crypto.c: init, rand_bytes, get_output_length
- ctx_p.h: stub of context
- digest.c: message digest support
- key.c: key sanity check, key import (untested), free
- simple.c: implementation of simple api (only digest tested)
- drop types_p.h
Signed-off-by: Mateusz Kulikowski <m.kulikowski@samsung.com>
Change-Id: I1438e8466934443afe55bb05eddd7580b9798a6a
Mateusz Kulikowski [Wed, 23 Mar 2016 15:32:52 +0000 (16:32 +0100)]
Add readme.txt with some basic information
Change-Id: Ib45e193850127307173e211f4d38598fca2a61c7
Signed-off-by: Mateusz Kulikowski <m.kulikowski@samsung.com>
Mateusz Kulikowski [Wed, 23 Mar 2016 13:41:17 +0000 (14:41 +0100)]
Add .gitignore
Change-Id: Ib0bcdf66db284043fed3f6689b43342d5b53ae41
Signed-off-by: Mateusz Kulikowski <m.kulikowski@samsung.com>
Mateusz Kulikowski [Wed, 23 Mar 2016 13:35:32 +0000 (14:35 +0100)]
Remove old code
Remove code from previous designs (no longer needed)
Change-Id: I3ad0589e3e5559f81053718e44dd797ae3b5d7c7
Signed-off-by: Mateusz Kulikowski <m.kulikowski@samsung.com>
Mateusz Kulikowski [Wed, 23 Mar 2016 10:37:52 +0000 (11:37 +0100)]
Add Makefile for examples
We can now compile-test them
Change-Id: I7ab33819151a2a966bc7d118d8455e9c5d7625f6
Signed-off-by: Mateusz Kulikowski <m.kulikowski@samsung.com>
Dariusz Michaluk [Tue, 22 Mar 2016 15:36:13 +0000 (16:36 +0100)]
Add DH and ECDH key derivation example
Signed-off-by: Mateusz Kulikowski <m.kulikowski@samsung.com>
Conflicts:
src/include/crypto/types.h
Change-Id: I8e18c35339f7c37f611e5e075994fe4bcac2b647
Krzysztof Jackiewicz [Tue, 22 Mar 2016 14:14:14 +0000 (15:14 +0100)]
Signatures example
Change-Id: If4c3edfc890769cd2df8c639fa9a95ca344aa494
Dariusz Michaluk [Mon, 21 Mar 2016 17:08:33 +0000 (18:08 +0100)]
Add AES-GCM encryption example
Change-Id: If0b2f47ff08150f516dad8814553b036e3849a57
Signed-off-by: Mateusz Kulikowski <m.kulikowski@samsung.com>
Mateusz Kulikowski [Mon, 21 Mar 2016 10:47:35 +0000 (11:47 +0100)]
Encryption example
- Simple api
- Advanced api
- seal/open
Change-Id: Idf9b507ce4403dc2c3fb3a5f7d0ab207991b0d41
Signed-off-by: Mateusz Kulikowski <m.kulikowski@samsung.com>
Mateusz Kulikowski [Mon, 21 Mar 2016 10:28:33 +0000 (11:28 +0100)]
Digest example added.
Add simple and advanced digest API usage examples
Change-Id: I3b0159f8da555ec33d43aa1cb6457ef886c0f14b
Signed-off-by: Mateusz Kulikowski <m.kulikowski@samsung.com>