ACR:add doc document headers
[platform/core/security/yaca.git] / doc / yaca_doc.h
1 /*\r
2  * Copyright (c) 2016 Samsung Electronics Co., Ltd All Rights Reserved\r
3  *\r
4  * Licensed under the Apache License, Version 2.0 (the License);\r
5  * you may not use this file except in compliance with the License.\r
6  * You may obtain a copy of the License at\r
7  *\r
8  * http://www.apache.org/licenses/LICENSE-2.0\r
9  *\r
10  * Unless required by applicable law or agreed to in writing, software\r
11  * distributed under the License is distributed on an AS IS BASIS,\r
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
13  * See the License for the specific language governing permissions and\r
14  * limitations under the License.\r
15  */\r
16 #ifndef __TIZEN_CORE_YACA_DOC_H__\r
17 #define __TIZEN_CORE_YACA_DOC_H__\r
18 /**\r
19   * @ingroup CAPI_SECURITY_FRAMEWORK\r
20   * @defgroup CAPI_YACA_MODULE yaca crypto module\r
21   * @brief    The yaca(yet another crypto api) provides a crypto function such as key management ,  Data Integrity and data en/decryption .\r
22   *           Key mangement provides APIs for generating secured key,importing a key trying to match it to the key_type specified and exporting a key to arbitrary format.\r
23   *           Data Integrity provides Advanced/Simpled API for the integrity handling - HMAC, CMAC, message digest and digital signature.\r
24   *           Data en/decryption provides Advanced/Simpled APIs for en/decrypting and sealing/opening a data.\r
25   *\r
26   * @section CAPI_YACA_MODULE_OVERVIEW Overview\r
27   * <table>\r
28   *   <tr><th>API</th><th>Description</th></tr>\r
29   *   <tr>\r
30   *     <td> @ref CAPI_YACA_ENCRYPTION_MODULE</td>\r
31   *     <td> Provides APIs for encryption/decryption operations with symmetric keys and sealing/opening operations with asymmetric keys.</td>\r
32   *   </tr>\r
33   *   <tr>\r
34   *     <td> @ref CAPI_YACA_INTEGRITY_MODULE</td>\r
35   *     <td> Provides APIs for creating/verifying a signature, calculating HMAC/CMAC and calculating a message digest.</td>\r
36   *   </tr>\r
37   *   <tr>\r
38   *     <td> @ref CAPI_YACA_KEY_MODULE</td>\r
39   *     <td> Provides APIs for key handling operations such as generating, importing, and exporting a key and deriving a key from password.</td>\r
40   *   </tr>\r
41   *   <tr>\r
42   *     <td> @ref CAPI_YACA_SIMPLE_MODULE</td>\r
43   *     <td> Provides simple APIs for cryptographic operations.</td>\r
44   *   </tr>\r
45   * </table>\r
46   *\r
47   * The yaca provides a crypto function such as key management,  integrity handling  and data en/decryption.\r
48   * Key mangement provides APIs for generating secured key, importing a key trying to match it to the key_type specified and exporting a key to arbitrary format.\r
49   * Data Integrity provides Advanced/Simpled API for the integrity handling - HMAC, CMAC, message digests and digital signature.\r
50   * Data en/decryption provides Advanced/Simpled APIs for en/decrypting and sealing/opening a data.\r
51   *\r
52   * @image html capi_yaca_overview_diagram.png\r
53   *\r
54   * The yaca provides 3 types of API.\r
55   * - key management APIs : These APIs provides generating key using random number or password, importing a key trying to match it to the key_type specified and exporting a key to arbitrary format.\r
56   * - data en/decryption APIs : These APIs provides Advanced/Simpled API for the data encryption.\r
57   * - integrity APIs : These APIs provides creating a signature using asymmetric private key, verifing a signature using asymmetric public key, calculating a HMAC/CMAC of given message using symmetric key and calculating message digests of given message without key.\r
58   *\r
59   *\r
60   */\r
61 \r
62 #endif /* __TIZEN_CORE_YACA_DOC_H__ */\r