Add readme.txt with some basic information
[platform/core/security/yaca.git] / readme.txt
1 CryptoAPI
2
3 Basic information:
4
5 Code Style (for now):
6         Tabs (8-chars) + spaces;
7         $ astyle -T8 <file>
8
9 Project structure:
10         demos/ - Demo applications
11         doc/ - Documentation
12         examples/ - Usage examples
13
14         src/ - source
15         src/include/crypto - headers
16
17         test/ - tests
18
19 General design:
20         - All memory allocated by API should be freed with crypto_free()
21         - Contexts and keys should be freed with crypto_ctx_free()/crypto_key_free()
22         - Function names: crypto_<operation/object>_<function>; Ex: crypto_verify_init()
23         - Simplified/Simple functions don't have <operation/object> part
24         - Enums: CRYPTO_<concept>_<value>; Ex: CRYPTO_KEY_256BIT
25         - Objects (context, key) end with _h
26         - Most functions return 0 on success, negative values on error
27
28 Simplified API:
29         - Is located in simple.h
30         - Currently, to use it - some functions from crypto.h and key.h are needed
31         - Symmetric ciphers (except for GCM) and message digests are only operations that are supported
32         - All operations are single-shot and output is allocated by library
33
34 API:
35         1) All contexts are created by appropriate init() functions
36         2) Keys are created by generate or import functions
37
38 Examples:
39         - It is possible to compile-check examples with "make" command