YACA - Yet Another Crypto API Basic information: Code Style (for now): Tabs (8-chars) + spaces; $ astyle -T8 Project structure: api/ - Public API (headers) demos/ - Demo applications doc/ - Documentation examples/ - Usage examples src/ - source test/ - tests General design: - All memory allocated by API should be freed with yaca_free() - Contexts and keys should be freed with yaca_ctx_free()/yaca_key_free() - Function names: yaca__; Ex: yaca_verify_init() - Simplified/Simple functions don't have part - Enums: YACA__; Ex: YACA_KEY_256BIT - Objects (context, key) end with _h - Most functions return 0 on success, negative values on error Simplified API: - Is located in simple.h - Currently, to use it - some functions from crypto.h and key.h are needed - Symmetric ciphers (except for GCM) and message digests are only operations that are supported - All operations are single-shot and output is allocated by library API: 1) All contexts are created by appropriate init() functions 2) Keys are created by generate or import functions Examples: - It is possible to compile-check examples with "make" command Tests: All tests are developed at security-tests repository from tizen.org, branch yaca. git clone ssh://[USER_ID]@review.tizen.org:29418/platform/core/test/security-tests -b yaca Build all tests with command: cmake -DBUILD_ALL_TESTS=OFF -DBUILD_YACA=ON; make Run all tests with command: yaca-test