• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright (c) 2021-2022 Huawei Device Co., Ltd.
3  * Licensed under the Apache License, Version 2.0 (the "License");
4  * you may not use this file except in compliance with the License.
5  * You may obtain a copy of the License at
6  *
7  *    http://www.apache.org/licenses/LICENSE-2.0
8  *
9  * Unless required by applicable law or agreed to in writing, software
10  * distributed under the License is distributed on an "AS IS" BASIS,
11  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12  * See the License for the specific language governing permissions and
13  * limitations under the License.
14  */
15 
16 #include <gtest/gtest.h>
17 #include <iostream>
18 
19 #include "hks_ability.h"
20 #include "hks_config.h"
21 #include "hks_crypto_hal.h"
22 #include "hks_crypto_hal_common.h"
23 #include "hks_mem.h"
24 #include "hks_log.h"
25 
26 using namespace testing::ext;
27 namespace OHOS {
28 namespace Security {
29 namespace Huks {
30 namespace UnitTest {
31 namespace {
32 struct TestCaseParams {
33     HksUsageSpec usageSpec = {0};
34     std::string keyData;
35     std::string hexData;
36     HksKeySize keySize = HksKeySize::HKS_RSA_KEY_SIZE_512;
37 
38     HksErrorCode encryptResult = HksErrorCode::HKS_SUCCESS;
39 };
40 
41 const TestCaseParams HKS_CRYPTO_HAL_RSA_OAEP_ENCRYPT_013_PARAMS = {
42     .usageSpec = {
43         .algType = HKS_ALG_RSA,
44         .mode = HKS_MODE_ECB,
45         .padding = HKS_PADDING_OAEP,
46         .digest = HKS_DIGEST_SHA1,
47         .purpose = HKS_KEY_PURPOSE_ENCRYPT | HKS_KEY_PURPOSE_DECRYPT,
48         .algParam = nullptr,
49     },
50     .keyData =
51         "0100000000020000400000004000000040000000b9d0e8e1e1e33cd6eaf71c9a4fb26045d651ac7b7a32984b5ca5bafd6d34d6928256de"
52         "c0e3ffdf2712185b50c5939077eb460da307125470b52bbcb0a58455eb0000000000000000000000000000000000000000000000000000"
53         "000000000000000000000000000000000000000000000000000000000000000000000001000155e461a1f85ea802d87dfdb4bede3f6e48"
54         "d15c1f7faedf8306827d5b241de688ec7fef8839a217a03360771ae67ff5183fce0ad19b9c15232db782d9b9a607d1",
55     .hexData = "00112233445566778899aabbccdd",
56     .keySize = HKS_RSA_KEY_SIZE_512,
57 
58     .encryptResult = HKS_SUCCESS,
59 };
60 
61 const TestCaseParams HKS_CRYPTO_HAL_RSA_OAEP_ENCRYPT_014_PARAMS = {
62     .usageSpec = {
63         .algType = HKS_ALG_RSA,
64         .mode = HKS_MODE_ECB,
65         .padding = HKS_PADDING_OAEP,
66         .digest = HKS_DIGEST_SHA1,
67         .purpose = HKS_KEY_PURPOSE_ENCRYPT | HKS_KEY_PURPOSE_DECRYPT,
68         .algParam = nullptr,
69     },
70     .keyData =
71         "0100000000030000600000006000000060000000eadcc37762c4a0c4cd358de290f2efedf39503a1833e4082aef44cb564ff47d4feaee5"
72         "f145b3711cd9abf944e0586bc083dd2c7dde4fc8f7d9a69d4fc5a8aef527c82d02fd30eb33a1791db30011733d60ef3110bd769f385f10"
73         "b071ae552dbd00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
74         "0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010001158f2e62472ec593"
75         "4b431f432d0b1ffb37e0f5f45d97d95425bb474f5f760fa1fdbf105c95896358c2a286bf4bd8d20b2d0b0880ff0193bcf0e625a9dbe330"
76         "6ea4534c0d7e83b657684194501574a554f76cbe29ce5953e1d92b479b4d1f8201",
77     .hexData = "00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff",
78     .keySize = HKS_RSA_KEY_SIZE_768,
79 
80     .encryptResult = HKS_SUCCESS,
81 };
82 
83 const TestCaseParams HKS_CRYPTO_HAL_RSA_OAEP_ENCRYPT_015_PARAMS = {
84     .usageSpec = {
85         .algType = HKS_ALG_RSA,
86         .mode = HKS_MODE_ECB,
87         .padding = HKS_PADDING_OAEP,
88         .digest = HKS_DIGEST_SHA1,
89         .purpose = HKS_KEY_PURPOSE_ENCRYPT | HKS_KEY_PURPOSE_DECRYPT,
90         .algParam = nullptr,
91     },
92     .keyData =
93         "0100000000040000800000008000000080000000d10cdba0a029d15254e1b98a1ab3fe28387017976d817ed229a88e521037451768a681"
94         "bd6b8944d1efc6be41913da3dc8cf42cae0d0b449e2cec4df0537b1702cd9a79b8394175c0474e96fdc7d26616c268059c4d01bb6ffa70"
95         "c12fa591e40093d988fe0c1d76df2d5999827cb12e7b287d537d477a7a8dae6ce9e6a1c2577d0000000000000000000000000000000000"
96         "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
97         "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100"
98         "010b443221f9ffc6f434f6e554f81373431fa78addf25ce444d751ea39a9fe108f2e68aadd568a53572d20fce7f3b7eab8dc2fdca894b3"
99         "62c3539078b2d70cef3472861416697b8908bd3c7263a6873b3baada43817202bb5b90e417af0e3ba8c1fefa011592604c2c9066e12265"
100         "5b83ef84097f2112e64d11193da5dfcfbf9a51",
101     .hexData = "00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff",
102     .keySize = HKS_RSA_KEY_SIZE_1024,
103 
104     .encryptResult = HKS_SUCCESS,
105 };
106 
107 const TestCaseParams HKS_CRYPTO_HAL_RSA_OAEP_ENCRYPT_016_PARAMS = {
108     .usageSpec = {
109         .algType = HKS_ALG_RSA,
110         .mode = HKS_MODE_ECB,
111         .padding = HKS_PADDING_OAEP,
112         .digest = HKS_DIGEST_SHA1,
113         .purpose = HKS_KEY_PURPOSE_ENCRYPT | HKS_KEY_PURPOSE_DECRYPT,
114         .algParam = nullptr,
115     },
116     .keyData =
117         "0100000000080000000100000001000000010000c594f464bc7852f61e96a56ffab6d1ee5cc5552e51ce5426b17b8fb50cefadecb0ef2e"
118         "9402906b9460f2dc527188a346e964acdc3357c2dcc56be8247243350cd9dc122dac3f37f4d22870e9b6d5524d43fadf5cb3a5386ebc11"
119         "4fc830faa624155526fc893bf7848451827c68c3610932a7a97a55c371340b86b4ba1aeacdc0185a7ac78511947bec87bbbfe011baa45b"
120         "19d7f7eb0accc77502f26ebb0d4797b3cf1a32116f9cd9f0ad4977d2881cb61d0439099c77e3e59aeb4386ca545cf534453c55d7b548e3"
121         "de6cc513374cbe312eb6564d476859307dd47498df59dfeaade0a8339754fb3a192cd64bad563c861b505d05b54a6254903ebfdfc6beb7"
122         "79000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
123         "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
124         "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
125         "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
126         "00000000000000000000000000000000000000000000000000000000000000000000010001691598061bd7430873ac5bc0faef51281d5f"
127         "36b6b3fbb0f6035f5c4746e212f6d803de1a0a6315548d5b9da29b8fb887768a7d0580a9249296cd95620d0381ab9c1357f7c2acbcee10"
128         "f841558c5058bd8f725669cf8208499cecf829d922f64a2aae6755d90773d59f2a5ae4203409e00278f9c27eeabbc29a7ec29058d0992c"
129         "a911b57a2af8a582caaa3add2aec200127e95e9032a8a4c546fab425148dc2c72ff487ad05bf0dcd278024e74d0e010f5aab57eaa5dc8d"
130         "ffc4e049cc6e2b34d50db7e73f0f4c78e887a0b59f2ce34117ed605379c0b28a096c2c38282af0048df55dbf771cc57e327e8008e86723"
131         "adf95c1f761b56c8ddf2e78e532861cef681",
132     .hexData = "00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff",
133     .keySize = HKS_RSA_KEY_SIZE_2048,
134 
135     .encryptResult = HKS_SUCCESS,
136 };
137 
138 const TestCaseParams HKS_CRYPTO_HAL_RSA_OAEP_ENCRYPT_017_PARAMS = {
139     .usageSpec = {
140         .algType = HKS_ALG_RSA,
141         .mode = HKS_MODE_ECB,
142         .padding = HKS_PADDING_OAEP,
143         .digest = HKS_DIGEST_SHA1,
144         .purpose = HKS_KEY_PURPOSE_ENCRYPT | HKS_KEY_PURPOSE_DECRYPT,
145         .algParam = nullptr,
146     },
147     .keyData =
148         "01000000000c0000800100008001000080010000c50e4fe8739a73a3627e504ffd323bb95057417d2b23fac0939c6e3c43c19450b38733"
149         "19275612866f0e8d349585c17bffa9c13389975916f2235161fca6a655b4c0a3c833789a18a9add01f837da762b5acdf29f296324b4d5f"
150         "7f586f900566d949f4784b935503b4105e2c6e83d43d6d17e07545eac427be17f0fd7b08fab210f38bfb405ca524877d5c039505a0a9d7"
151         "c2e24e9367a8a13e2fb9e3e1dd7b72936737b0590ce3cc9262284ed041c2b362ed3b617bf879256e69be4357c027dc66d5afc0a4d35a2d"
152         "cc6b42344bf55b90985aea8d2604af1ad404fa8dd9014c21da00a2587c82f97045b8be3593a41d71307f5b3295964257ab8d7ab8521b47"
153         "29dba792af69655296577ca175d974e64ed33881c905649b8a6bbb13ac1cb1cafc6ad61af81d3a0813eb1107d0d953607a1e99657de527"
154         "c108ce22c06f8585751f071efd87e7e874e01c17714ce73c2b619594119030f54f9c88158b8d64ffdbde582c3340898c18762458bec67b"
155         "a306aca31268accd72a4382c6e06b35a01f673000000000000000000000000000000000000000000000000000000000000000000000000"
156         "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
157         "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
158         "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
159         "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
160         "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
161         "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
162         "0000000000000000000000000000000100012ce1e0a3724938937b288804600824004663496048062ee3d3fb2a4481ae42a8caeb3d613a"
163         "4b6976c32ece4caecdc34f09e15146faccc516ebd9cd7c82fe361e8947e346032b31f5f217cbb291d179e18abdb02aaebd35015fc3238f"
164         "3201dca91b4eb3e6fe57b5625d8de8d537eac0d9a8d26a666ba158423112e4e9e72f19629b67cd7751a6885ab49d81eab2f3902f7f1c3d"
165         "4d665792d9feff01d8fca5e4ab2915b6626d35f960abeabd818dff9c681d5d294c3fdf4d409050776c813d1c16b9ae28a78057a4a47e77"
166         "c62071a0da7d8cef186a98f2c95b16394689534726d18fa8b0526c40d64bb13f579532fc56e9ff2fdf95f0df3ab8493264ed098cb57e8c"
167         "fe9cbce24a5bdbea355ede53246798c79599d7aee1ac380ed8ee77f08276c617fee8a8989c116407e8d7a481ff77ef32f7405b5736b36a"
168         "593925cf15c3da1965f84eb4153a7d557a790a869fb99290dca0b4d6a97bc0ed32fa41eba3a27b9379e3f2b140e7d1e0a315af6561c5ff"
169         "1c894ad34cb998b6eeaeec5d3785bddfc1",
170     .hexData = "00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff",
171     .keySize = HKS_RSA_KEY_SIZE_3072,
172 
173     .encryptResult = HKS_SUCCESS,
174 };
175 
176 const TestCaseParams HKS_CRYPTO_HAL_RSA_OAEP_ENCRYPT_018_PARAMS = {
177     .usageSpec = {
178         .algType = HKS_ALG_RSA,
179         .mode = HKS_MODE_ECB,
180         .padding = HKS_PADDING_OAEP,
181         .digest = HKS_DIGEST_SHA1,
182         .purpose = HKS_KEY_PURPOSE_ENCRYPT | HKS_KEY_PURPOSE_DECRYPT,
183         .algParam = nullptr,
184     },
185     .keyData =
186         "0100000000100000000200000002000000020000b3166774620460ff0b4fd912c441a184527d8b6bcf1d4fe22791bd0a79b9cdb4afc944"
187         "532e948aa190ec27869df84384f0921abf036181369db2ec71011f3f2ea1b1a0f8521cdb75a47e1051e68d3220248b9e68303780247fba"
188         "99610d7309a99087c6da95a0f3bd5abdf703693bc7285a0a30944e132015370f9d263f44b8b2d05ed32470096eb6c7309e6c62d74cf99e"
189         "72ee94e8e1bbbcc902935762c6a5e3297e4766fc49867e7768f40902d87a219d92c196caa030a206ab75c02a4fbc4d0803d082fd328613"
190         "9315489f52b591caff2827d70d8839f47fb4195dc6036f3718987b56e6c772a30694cf983671ad6b93e1ec99ff94125a6268b1e556671d"
191         "11d41eeaec4c5e642534243dc5f4edd64190dcab9497298d8101ed7c3a97b4f28c892cdb2e3adc67bca83862429d82e8f6c40b72d7dc39"
192         "1b214c09da284a7aeed2a21914dd0aa3ffa0c97800b8c37198e92a5ed1c12788c9313d3bddf5436cf17c1e481e7613fe8a04cb8e5c14f9"
193         "8c450f4df4a3f77e548615adc6face54baf5f60a140759ad341aafe0187d9f05745f094b547dc4bb3ad5b2be64dc10e000e555c7a09282"
194         "e7ceeb8d99e1fbc64e57409f644fe5e877735695222347ce556fa340188ed74df9ebb26f7205206a94b9eba96da988e13ad273b931a9f7"
195         "6e501f371e789cb2a1249056076e50091949bb9ace7af104cd9db3e03d832a4c3e6fdb9c87000000000000000000000000000000000000"
196         "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
197         "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
198         "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
199         "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
200         "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
201         "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
202         "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
203         "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
204         "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000170"
205         "d46ab5ae9367b1082574741865e926fef9cdff4c6c014a50f7c70c7488958b833ce0e92f6db2b1fc266cf8a94a22effcc970446c12e05f"
206         "d29749d4208ad939bdf1b5a2fdc8e49387e14cd2ecd8847e2fc82f33213db664487cfde96199daba942e97205c291da76d26461c460ebd"
207         "7934d13aae154a836a1a58a1ffd8d8a92d2f8eaea4445a0d00e71a4095b4e844bcf8111d33804dc80436f8827009f171ce5ef40a745dfa"
208         "ccdb9ccbe9044c60ab01c6cf115cb9a8973b5dcc64d17f56e121ff2cb80fef0a07e30945dd8d5384c5a8097df92bca80cb52b9aa7458da"
209         "4a8ba540bfc0e58d5c976312e06ab2518ae961dfb7f56348dcb77b6e88db9bcc06070f871c5f38d10e16c686e51a78a7d54a78e7ba0d5f"
210         "a5c42c4a401529890f5f697ae567a0e5583f49e73f2ee735dba5d0b15df3f0195a48de70120eead966126f161bb57d770cff988500ed1e"
211         "49739298692a55764756eb3930ddcd035f36f121b242d21bb4088bf176a3a98045e25ef9347d2a2438fedb024765d80b7a6b4d5b0edff1"
212         "dc96854afae97c3b6bb40793f78e93972a8080b87934ef9e014087ad5c794dfd6313cef45d72d9be592846a5c4414b2570de994b467db7"
213         "8f068d0886fc1d67a36f80f556b5913a55da31fc193718e74dc3275c224875eecad8a353183244c4c73c2bb6b96a5ce84c5c8992b43eb7"
214         "2ed71af821a658f473f0a3a283f40d41",
215     .hexData = "00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff",
216     .keySize = HKS_RSA_KEY_SIZE_4096,
217 
218     .encryptResult = HKS_SUCCESS,
219 };
220 
221 const TestCaseParams HKS_CRYPTO_HAL_RSA_OAEP_ENCRYPT_019_PARAMS = {
222     .usageSpec = {
223         .algType = HKS_ALG_RSA,
224         .mode = HKS_MODE_ECB,
225         .padding = HKS_PADDING_OAEP,
226         .digest = HKS_DIGEST_SHA224,
227         .purpose = HKS_KEY_PURPOSE_ENCRYPT | HKS_KEY_PURPOSE_DECRYPT,
228         .algParam = nullptr,
229     },
230     .keyData =
231         "0100000000020000400000004000000040000000b9d0e8e1e1e33cd6eaf71c9a4fb26045d651ac7b7a32984b5ca5bafd6d34d6928256de"
232         "c0e3ffdf2712185b50c5939077eb460da307125470b52bbcb0a58455eb0000000000000000000000000000000000000000000000000000"
233         "000000000000000000000000000000000000000000000000000000000000000000000001000155e461a1f85ea802d87dfdb4bede3f6e48"
234         "d15c1f7faedf8306827d5b241de688ec7fef8839a217a03360771ae67ff5183fce0ad19b9c15232db782d9b9a607d1",
235     .hexData = "001122334455",
236     .keySize = HKS_RSA_KEY_SIZE_512,
237 
238     .encryptResult = HKS_SUCCESS,
239 };
240 
241 const TestCaseParams HKS_CRYPTO_HAL_RSA_OAEP_ENCRYPT_020_PARAMS = {
242     .usageSpec = {
243         .algType = HKS_ALG_RSA,
244         .mode = HKS_MODE_ECB,
245         .padding = HKS_PADDING_OAEP,
246         .digest = HKS_DIGEST_SHA224,
247         .purpose = HKS_KEY_PURPOSE_ENCRYPT | HKS_KEY_PURPOSE_DECRYPT,
248         .algParam = nullptr,
249     },
250     .keyData =
251         "0100000000030000600000006000000060000000ac66380f18d9dab2188de40e6bb622e2da123e08add16b7c5dc260dfbfe7432c390698"
252         "e3bf34e7e237c0777e4bb10a29ad8ce41172cad65dfcadf25c8dbf9b0e9fcd62d5a4b7967199151aaf97df9eaffd0a2f96cf324c2a6001"
253         "7f5f29d59dc100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
254         "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100017ac81636d2591dc3"
255         "676f6eb3c28ca64df047bbbc8ca6b0a99351039377662a560d8b204a5b7c3f85c27525e561dd05c1bbdb5bc9bddede40e55397fc15034d"
256         "d30c4309779e0437e0c14191e04829be3d20448bcdc236eabd23ee05a8d76c0001",
257     .hexData = "00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff",
258     .keySize = HKS_RSA_KEY_SIZE_768,
259 
260     .encryptResult = HKS_SUCCESS,
261 };
262 
263 const TestCaseParams HKS_CRYPTO_HAL_RSA_OAEP_ENCRYPT_021_PARAMS = {
264     .usageSpec = {
265         .algType = HKS_ALG_RSA,
266         .mode = HKS_MODE_ECB,
267         .padding = HKS_PADDING_OAEP,
268         .digest = HKS_DIGEST_SHA224,
269         .purpose = HKS_KEY_PURPOSE_ENCRYPT | HKS_KEY_PURPOSE_DECRYPT,
270         .algParam = nullptr,
271     },
272     .keyData =
273         "0100000000040000800000008000000080000000cd1a15f15683bc8bb38041d407aa1499bffa2831f94f61ba607a37da356a664e0af5ea"
274         "01a43052b1b93221208764c02df86d69ee2475192b0bee0dd08246a3a927df959e3e2ca68558e3e8f82c1fbc231524f3d78bd2ad1141db"
275         "4dbf5800a031f254a9f5eca58169bb3daa787707863d0f42a0a868c1cf882c995965cb4317dd0000000000000000000000000000000000"
276         "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
277         "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100"
278         "014145f0ffca71c87a8958e31a508a1f5e430ba0e92e97c5d963c4e1ab8f5e5a4ab2104b35d484107d411c2410cf261047510db92db1ea"
279         "9664edba0829789c748ed96740a56894f7f085ce43761b81e00738337061bb7f7fd27318c558f4deff8160c071c7c91c47a3e01950198c"
280         "ff3985125a1ae69abddb80834bafc33944edc1",
281     .hexData = "00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff",
282     .keySize = HKS_RSA_KEY_SIZE_1024,
283 
284     .encryptResult = HKS_SUCCESS,
285 };
286 
287 const TestCaseParams HKS_CRYPTO_HAL_RSA_OAEP_ENCRYPT_022_PARAMS = {
288     .usageSpec = {
289         .algType = HKS_ALG_RSA,
290         .mode = HKS_MODE_ECB,
291         .padding = HKS_PADDING_OAEP,
292         .digest = HKS_DIGEST_SHA224,
293         .purpose = HKS_KEY_PURPOSE_ENCRYPT | HKS_KEY_PURPOSE_DECRYPT,
294         .algParam = nullptr,
295     },
296     .keyData =
297         "0100000000080000000100000001000000010000d44c2eba9c805a2e00397ba68b54ded3d626b02b93d72664f97e023ecf5d4974388aac"
298         "ab0983529acc1302beef7975cf9db43a4a422b258bc3db75fdba50fd67bd009a44a248b712638589c6d5115aeb8b320c04401400c3a0d8"
299         "6684337937ff2259330c06dfbd652497fbdf5722dcc8a4d583f59ad1a02eca4a964516a23a06c4398d4edd2c977e7b85d41f303f62bfb9"
300         "3ff65e9e837e8d3c6f1c9c9d067a0df7c36a0c196349d2cfc1d82c5daa60935171e42754447ce60328abbcbba6078c39ccda078cf88adc"
301         "1dbfbc645a401fe386b57b5edc94d5bc8fc7e2c3cac6608fe8d91e69ea9fb17f6b7b42ae794fbe82e12cfa4ce60a11de5e83c315b902d5"
302         "c9000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
303         "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
304         "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
305         "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
306         "000000000000000000000000000000000000000000000000000000000000000000000100014aba8a545bd47e69e4e0571b37be67355013"
307         "8c3dbaaba83330f35f1cf6e7527cdb8e4cdb63dcdb0dec39e0e48eed454010b629328c7a1d9c461411437ffb144818ea86631470de2855"
308         "e9e2a69fc79d267e77de6cfc954df38ec1bdcc59461924f0d54f37b38fbc5e46f44ccfc01f60722c3b9058bae7812817430c0443c45501"
309         "fa69778115a748a79b89d1e99c7791516a2f7d19114cbbd4ed7827b51ff8caee4dee84f16ed0a1b497513be6d563fc5ee7d0891c523e8c"
310         "0c0be002f7edc638607ba45647166342b004d1cc7a31a3492d8980b9a3f2151a4aa2cd8bdac7b1652d791e6915730bc9de98ac1a3b5fd8"
311         "2c26ae2da515146886c78090a7aa8c31ecf5",
312     .hexData = "00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff",
313     .keySize = HKS_RSA_KEY_SIZE_2048,
314 
315     .encryptResult = HKS_SUCCESS,
316 };
317 
318 const TestCaseParams HKS_CRYPTO_HAL_RSA_OAEP_ENCRYPT_023_PARAMS = {
319     .usageSpec = {
320         .algType = HKS_ALG_RSA,
321         .mode = HKS_MODE_ECB,
322         .padding = HKS_PADDING_OAEP,
323         .digest = HKS_DIGEST_SHA224,
324         .purpose = HKS_KEY_PURPOSE_ENCRYPT | HKS_KEY_PURPOSE_DECRYPT,
325         .algParam = nullptr,
326     },
327     .keyData =
328         "01000000000c0000800100008001000080010000dc3d6c0fb6da1679390202196baa6a999f217a7ed8ba8a3d309bcdff755094dd09bc41"
329         "77ea6ed014ee412051b2c02f851f32e4400c894ec6da6b510d613536c32f2dbce41d4b9196c24ade4edbde812e8eb2a774bad179c7bc4b"
330         "aa338fa2cd67d5e6b868b042b7fc0120fcf2e8e104a3dbc35c250fc91e486565e8928d5d047d0bae93ff09d9351157e5a000073935b09f"
331         "4bc7e5b25e2287f44ac8daed8e0e5db021359ec22acd2a1d374d82d7ddfbedd7ffe6a09e52fe8d23a751665fd8b36a456fea4d69900a7a"
332         "623d92c6a28e56d80561e3123a99c49253058177cff12a06c8e4d77563f0367f5ebaa8f5d71750c721fb6a6dee9d28a97c7474692f60f5"
333         "528f3a1e02234c93fd895e62f40a9c44ed62cf37c52e1c4f582350c6ca7991a6468cf4dd75b556cffb09c6b69c4719d00196f4bbe1dce1"
334         "204bbc5a673fc81fbac0a8e2fbfc7d4f87ef3e1a501da79226ff984e440731c7a2d8882aafe3d8195dfbcd8c8665e9e1bb334fc9b64ec6"
335         "b22f38015a9e797b3a509b8efb44541344a64f000000000000000000000000000000000000000000000000000000000000000000000000"
336         "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
337         "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
338         "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
339         "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
340         "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
341         "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
342         "0000000000000000000000000000000100019570a40361aa47b7878422528768c21e6d08b56a9ebaac946a883dd60a0f5c834358d6ff7c"
343         "3626c11d0d59d5b5b98c4502ef704b39766ddaa6584d4e0bd8a4c8fa1949e36b315c9f744482e5f570dc2cf02caf4d987a0ced078a3bf9"
344         "f28ba05ec5986126bffaf5866c69aad9544562f5a067c5fd6be1a6c7aeede04a98db35f1775cc51537e4878ab61e9c5b888b3c301556c1"
345         "53cd9cec475deee4ad10a5e47f93c464f2cd8367651d1fea5b4f08542a85f720d179bc8cf6cdeb796342c3f2b0756daf51eda214a3e49e"
346         "23fa8682ca429d1f5bdb6488baa9595272ceb55517fda0eb723256c50fb151a175d73a117508213b7e6d3be0eac0f6c349b5af0d77f22a"
347         "5bdc22cdab221cb8e474011122e67d195a00ce9dd821242df8eebde04770527d559370e93b7f8c7e882db778b6255d487d2119acfd81bd"
348         "0363e27d27486d14df9407e8290916064230a638782b4a1b02582c1841703f88d0555357d9c0a2052d9d6bb7d7e5e1302c466eaa621e4b"
349         "4c6b42f0a1bf2588695018a295ebd7f031",
350     .hexData = "00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff",
351     .keySize = HKS_RSA_KEY_SIZE_3072,
352 
353     .encryptResult = HKS_SUCCESS,
354 };
355 
356 const TestCaseParams HKS_CRYPTO_HAL_RSA_OAEP_ENCRYPT_024_PARAMS = {
357     .usageSpec = {
358         .algType = HKS_ALG_RSA,
359         .mode = HKS_MODE_ECB,
360         .padding = HKS_PADDING_OAEP,
361         .digest = HKS_DIGEST_SHA224,
362         .purpose = HKS_KEY_PURPOSE_ENCRYPT | HKS_KEY_PURPOSE_DECRYPT,
363         .algParam = nullptr,
364     },
365     .keyData =
366         "0100000000100000000200000002000000020000bd0d9010dd30b0ec8c396744527127508359e0f12aa4b8b09dc20f42040644d4b33f90"
367         "de38ce815367af5a8cabf18a71732d569bcda767767ae0b61f38108a021d197b2e097e60cad6ff186a3510667a4e19eca53abca79dbc57"
368         "8e0d30ba42146946c1f5fcd6204e17252be83121554ca68637e85e5534d1f2c943831d9a65de22c70812872ec219cd2ede8c8c3e78a5d5"
369         "250b3edf4bb4bfd9a9232f2dd2902b61eca43038d354a365dcacc623de3b062207f7807c9d877a603e2c70ae129c5d418fe52f023025d2"
370         "68b0627c0dbf1488fa078fb187b57c17c86a43116f94622c5ba31c4ca771428fb73c8b9ee7ff21962dad6b2094c83823f413bd8ec23648"
371         "186c34a2ba9f0d972af78d7882bedd926faffc6944c4d4211888fa4a49ced7f558d30929041d93a8c5d2275e0330909cb201a618f5a747"
372         "edc459189b7d30426c49a0d10646a10f015f1e418370874ec2ab0304515178c9fb4425b7c4747e6fef0981b8d599cd3c1152ed804a79b8"
373         "9737a5344848a4b36ccc9a29b7fd58ec854a5457fb9b24f192959050ea793b8f17d27cb8cd809b9b87957889947576137868bb30bd4810"
374         "c421b6e937fbb554f9345e266cab23623970f94df74a0a6321487fa655933f45a1fdff7252aad1230e518503ca22ff815d6427acdb57df"
375         "b7480bd4fda526470c7a3187ea980db8b75b486d77844e030821b804f32b56b75994b96a11000000000000000000000000000000000000"
376         "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
377         "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
378         "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
379         "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
380         "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
381         "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
382         "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
383         "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
384         "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000116"
385         "9c2ea4b5af83196753de33dfa044d16e442b90ec46b307fc761f19081e2fd13876dbbe9810aa8aed159dc0c137ac15116f54b2619029e1"
386         "93a49863777312ee59c89860d325d831aa30ec1c97a814798029bd91ad4aaec940a3400bf7cdeee53e0a065c8316a0da760e2e08210819"
387         "898748fa1ac25d7269c19dac835be10159e5d2e3f64350a64a2badf553ddda02d7e27c01b24d4662a1a748813abd423797d8a852a2a9c9"
388         "2c90363884395644d7ce4df7a1f42df33126c3a7ebecb604e7ca8772cc38290cd5192b081d5f34cdab890e4e25335845ae47b1e2738efc"
389         "4744ce854f26ad4c4151729ab995013641df2474e60eafe0db694b737f80e637f801fb25223a924e96341ecd43fde54a977bd668c5a9a3"
390         "95dfe66562891c211e888e68ec740f05e5cbf3776774689b83453463a226d4dfa263dafee68378af41c5391bea2588f356799578bc5b67"
391         "e6382f5739a428589429c9fa66bc8a418ed6a353a09f92efecc9029f51eedf9f98134310cc11ec064fb6e5c9266b0aa88d42e8e574f3fd"
392         "2f3da8e34a310324b42bec03945c67b54915f82eab1936972a2ae42ac1d71f3c552b39a3a62e25b7b38dcab1c4b71b89445dc563a158b8"
393         "614a5d4c4792e3e9c1e4aad4a854930f63a476441d90422e1a671b0fbbeda2015b189756e421c8e7a6253e354c7e116ed50cb410bdedf5"
394         "5689eeac4e8eb71c16fc15829b821b21",
395     .hexData = "00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff",
396     .keySize = HKS_RSA_KEY_SIZE_4096,
397 
398     .encryptResult = HKS_SUCCESS,
399 };
400 
401 const TestCaseParams HKS_CRYPTO_HAL_RSA_OAEP_ENCRYPT_025_PARAMS = {
402     .usageSpec = {
403         .algType = HKS_ALG_RSA,
404         .mode = HKS_MODE_ECB,
405         .padding = HKS_PADDING_OAEP,
406         .digest = HKS_DIGEST_SHA256,
407         .purpose = HKS_KEY_PURPOSE_ENCRYPT | HKS_KEY_PURPOSE_DECRYPT,
408         .algParam = nullptr,
409     },
410     .keyData =
411         "0100000000020000400000004000000040000000b9d0e8e1e1e33cd6eaf71c9a4fb26045d651ac7b7a32984b5ca5bafd6d34d6928256de"
412         "c0e3ffdf2712185b50c5939077eb460da307125470b52bbcb0a58455eb0000000000000000000000000000000000000000000000000000"
413         "000000000000000000000000000000000000000000000000000000000000000000000001000155e461a1f85ea802d87dfdb4bede3f6e48"
414         "d15c1f7faedf8306827d5b241de688ec7fef8839a217a03360771ae67ff5183fce0ad19b9c15232db782d9b9a607d1",
415     .hexData = "00112233",
416     .keySize = HKS_RSA_KEY_SIZE_512,
417     .encryptResult = HKS_ERROR_CRYPTO_ENGINE_ERROR,
418 };
419 
420 const TestCaseParams HKS_CRYPTO_HAL_RSA_OAEP_ENCRYPT_026_PARAMS = {
421     .usageSpec = {
422         .algType = HKS_ALG_RSA,
423         .mode = HKS_MODE_ECB,
424         .padding = HKS_PADDING_OAEP,
425         .digest = HKS_DIGEST_SHA256,
426         .purpose = HKS_KEY_PURPOSE_ENCRYPT | HKS_KEY_PURPOSE_DECRYPT,
427         .algParam = nullptr,
428     },
429     .keyData =
430         "0100000000030000600000006000000060000000abb40b8b0a75bde0d4b54aac6d680c7017c5988f76796cfd1bab57d3742fae7a0df13a"
431         "c51b64ebee13da5bf8a59dd5890671f2078778a6e8e2f78683ebd9a36be36270d5bd2e94d9fd16c7eef047dabe81addde56a8c07c057b1"
432         "87c5f727432900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
433         "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000148d0ed08452253a9"
434         "126be3c4260db7209e6434e3ba599a67e8a10c78e750054d4bb65eb7127c05360d035077ad3cb73e5805aebfd28f2189acfa371768cd18"
435         "c301fc00f0981e1c14d377736068e93e8367c4f7bb0fa5a1aa3e827b2bfc52d595",
436     .hexData = "00112233445566778899aabbccdd",
437     .keySize = HKS_RSA_KEY_SIZE_768,
438 
439     .encryptResult = HKS_SUCCESS,
440 };
441 
442 const TestCaseParams HKS_CRYPTO_HAL_RSA_OAEP_ENCRYPT_027_PARAMS = {
443     .usageSpec = {
444         .algType = HKS_ALG_RSA,
445         .mode = HKS_MODE_ECB,
446         .padding = HKS_PADDING_OAEP,
447         .digest = HKS_DIGEST_SHA256,
448         .purpose = HKS_KEY_PURPOSE_ENCRYPT | HKS_KEY_PURPOSE_DECRYPT,
449         .algParam = nullptr,
450     },
451     .keyData =
452         "0100000000040000800000008000000080000000abd5067aca33441d55adb08616728eb4fc6fd2a2305b65d844e649524e33f85f7f8443"
453         "62305460648dd18113b4ef745d8f84a1317b7f0bf2fcedf3a98a163663c37cf3d1735c5949cbaa8109e1f414633979e5921b54e92d9aba"
454         "955d4611939be832605d80c21e7d1df9d74b231117255c34457a94219248a3ffb26e5f56c1190000000000000000000000000000000000"
455         "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
456         "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100"
457         "015223a2d54f92f21c93b85389c5713d8686a56daada32d69c6b5329f98e2889b21ce2bcd35307028d0ebdf755d44822f81682f00b175d"
458         "c3f883afbbaa6fb7ee8738ee428b4ca66b9429a0344404b2b7ee2dfe5e8b5e02911b588e1da4f1c966eb061d6cb7fb94553d5119aed7ad"
459         "256eacf50f7179fb619add182443ffc322a601",
460     .hexData = "00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff",
461     .keySize = HKS_RSA_KEY_SIZE_1024,
462 
463     .encryptResult = HKS_SUCCESS,
464 };
465 
466 const TestCaseParams HKS_CRYPTO_HAL_RSA_OAEP_ENCRYPT_028_PARAMS = {
467     .usageSpec = {
468         .algType = HKS_ALG_RSA,
469         .mode = HKS_MODE_ECB,
470         .padding = HKS_PADDING_OAEP,
471         .digest = HKS_DIGEST_SHA256,
472         .purpose = HKS_KEY_PURPOSE_ENCRYPT | HKS_KEY_PURPOSE_DECRYPT,
473         .algParam = nullptr,
474     },
475     .keyData =
476         "0100000000080000000100000001000000010000c4f60d18cea8dd8e0635c77ced7180a2e876d85668a2f93eefc831bf5a7df549303737"
477         "7c78ef3abb295a0a3c61c1ee95200c5422ff0e320596e5911f40951b587308182a1564c852a0dc8e4949e01a7a63459f1eac07d46c9728"
478         "e865c68fb8cc8c94d087066e84169089f1bd1ca9279729dc2330182ee482eaeb9fbc4cc131e9da0ab86c161e7a019ea08b6b2899f8f76f"
479         "8dcd27e65f7c92ccb0947d6834ed05242b08bd4faca3910119271bc3de7775c53acb92aad7c3d323372c4d149d140ac1f66172d6a932ee"
480         "80bf123a4558c64a7ad25b912ac233aa599eda965e271ac065c68909634e18efeaa951c35b2424298633c3fe8783deba92e22be1dc662a"
481         "e5000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
482         "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
483         "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
484         "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
485         "00000000000000000000000000000000000000000000000000000000000000000000010001454527fc068a9b491ce40321ebbc547a76f9"
486         "7d427e907aca68b866ce9ebbd7ed829898da1d0a3e049f197caa19d383de4ca4295f1986db8eddb02566f166bf744f1894af10511ea6f8"
487         "ce38f88b93d69c1e97d8cb87c345315fc4525fa102e102879abaf012120240915b027af93e809f0868d4b3507e057e09b30ebdc1dcdc79"
488         "7d30d27f750c35e1ef66d1aae17a283aa29d7f0552d49fc8b2792cb4c3f8bb8fc437d334231213c2b0d671e63502a2c3b95cbd1b424c39"
489         "1c17ac851268117c736d2dd28898c69c0c8467a5588b2c6e1d8bd21bcaacc524da0fafcee2d869aa0047a51c2c7624d4b9400c2b2109c0"
490         "5b2b7d1a9141887cae78911e04a35adfd341",
491     .hexData = "00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff",
492     .keySize = HKS_RSA_KEY_SIZE_2048,
493 
494     .encryptResult = HKS_SUCCESS,
495 };
496 
497 const TestCaseParams HKS_CRYPTO_HAL_RSA_OAEP_ENCRYPT_029_PARAMS = {
498     .usageSpec = {
499         .algType = HKS_ALG_RSA,
500         .mode = HKS_MODE_ECB,
501         .padding = HKS_PADDING_OAEP,
502         .digest = HKS_DIGEST_SHA256,
503         .purpose = HKS_KEY_PURPOSE_ENCRYPT | HKS_KEY_PURPOSE_DECRYPT,
504         .algParam = nullptr,
505     },
506     .keyData =
507         "01000000000c0000800100008001000080010000ee5f706a43d3f09582c6f0a7677e2f7695ffd50df34c0bdefe9710d3be0b08b6225f90"
508         "f4b27bf4163cbfd0e088a85cbbab9d99ca499a7e33e46b7c8dbd49dc5c017c18409887ae7c67529ba4b76b534cfdf7a6b9f7dff7411e35"
509         "958879e8c912229ac0a30d989aef962b97e8fe2c5029db5f51ab7deb6e4341063853d3318bc21f799d77b37302e976e2207f0672cb828a"
510         "8b609a996dd519d54bf7dd051286b9e0b0447e789de7d724ebbdb61c5dd38b677af6470bf5dbff39ee5f7a6f811772ab9d38f1c42e371a"
511         "6698948e505e3b096917c658aa5d0a48290f98cfd7219c324a6bcfcc66e244ed48013b52eb5a7bef7786f80089cb4b2f5ff1a8365464ad"
512         "85f50e962c08d1cba6c7b2ba0dcb6af91cff35d5d834c224ee0adb6c4656ec575cdbce4fd60bc6d6d05597d70c92a2673e24f94f515e8d"
513         "c8137e5efda4d5f8e51b42d6ce8186472bc92915da9995809b21d2f371c8d0840802af0afd43cd76cc914eb3a958f7c6bf05ba4705e2cc"
514         "c8f85de9da4f5439da35a639fa326273f228a9000000000000000000000000000000000000000000000000000000000000000000000000"
515         "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
516         "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
517         "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
518         "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
519         "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
520         "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
521         "00000000000000000000000000000001000107e57b78d9b45ca4e74725d3b5d6f5458d64832f4a1efbc9b04f5acc58e04eb291e2ee8f5c"
522         "964498b3fc7ab3e57306576530fc563a27f7044b0dd07b7588cbd6f469a2f808d57dcf3b30fe5cef828ba8e244e0ee0a2b0e2ac710695a"
523         "b307261a06b16fae37161613d7baabf698ece8deea1877412213b97c5adc14e399fc6b2fcc11204945d58a84275f084a8cf12292b97a32"
524         "820c9119dd1836c3083c51c7cac289b44b283dbadf62a6b88b1ed770d98e5d01698b18e2e7ca887dfb3554666d62a954f1e99fd0006b1e"
525         "8b67eaecbdb0d3f918a880f0ce5cacc614dc81cc2029ead91ebec3afff48e704827e41316a55874950d0801f04b55177cec74c32f8fb87"
526         "c4102d8a5a8a7440416d1664587ec80538c80c22ea0223163f44c9f3ddf3b504620246e26d58b17bca0714ebbf98d916cea6d88dcea325"
527         "aaa7a22d184151b4285acee2ed6c064dfe0734e796298a8a5acb8a84462487be3b4629306f08fa2e507427d9bdf2a01b106fa832804861"
528         "012515bbb4503485c38a5895dd5c41575d",
529     .hexData = "00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff",
530     .keySize = HKS_RSA_KEY_SIZE_3072,
531 
532     .encryptResult = HKS_SUCCESS,
533 };
534 
535 const TestCaseParams HKS_CRYPTO_HAL_RSA_OAEP_ENCRYPT_030_PARAMS = {
536     .usageSpec = {
537         .algType = HKS_ALG_RSA,
538         .mode = HKS_MODE_ECB,
539         .padding = HKS_PADDING_OAEP,
540         .digest = HKS_DIGEST_SHA256,
541         .purpose = HKS_KEY_PURPOSE_ENCRYPT | HKS_KEY_PURPOSE_DECRYPT,
542         .algParam = nullptr,
543     },
544     .keyData =
545         "0100000000100000000200000002000000020000bd242191c7b58734f519b77d69978689267e81ceae91c334890fb7e8391b9971947dc1"
546         "a1919cf3e60cc783ef51c3702fa2592f4e0060a5a03f2d3737ce9f2f6813b6fa2244835c739d3b8065c52a0aef6924f648a4a7d65e49dc"
547         "4d95c7265a48ea4ecc231af6b5a78acd94eb29d1a59c0c474510c8c74c087e89dbece00273baf31d2c915357e301d72ba33521537c3a19"
548         "fef215b1416ed04cafe06c85c78abcc60553a6444f0bdef3bb58864d52a23d8447da98655632f8249d4602b1cb99f467c99d6429bba5d6"
549         "cea31db9548178312db72d8cce5f8559b76b77efec3e19eba97eb984ac9232b9a84087335bdcbe2bd50d04e70ca0b99e0091b8a3b2818f"
550         "905b9e894858db311cae379946941adb85b03ec13d53b5527ccbac90bf8052bb0ff33becdc1f2f493e4020ebbf1778dfae67942f8c08a5"
551         "c069647de3532eecc3837d3b635c7ed8eadbb60adbfe52792b4de89ddf410a98dc59964dab256e20bc6558cdb7f7b7ae559057dd0f116b"
552         "9250af84124a6d9d72ec69b2c756a1e711b6aa62a5a01140aca5e57aee6f738eb3093940cae3106711596b080619d34390c776804551e3"
553         "315812b23a9e309f5f2a6a204516a4585721333b7db48ce6545325030a14f729c2a095bd98cccd21de27f84126c2e60ce261fa64879ef4"
554         "dee4e40883d67b5f6389b3ae1e8c9018c96c2a62b5844bb6f556aa433d77a4fbe3d0261da1000000000000000000000000000000000000"
555         "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
556         "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
557         "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
558         "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
559         "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
560         "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
561         "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
562         "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
563         "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000184"
564         "77e5bb0030373df3dbcb135efced10e990f8c114aaaa190555a8ec4ff2f0890802fbb679118010c32a8950f7e6f58fa718e774adf70289"
565         "353629d24038652f737f57b8e05b5048f8fa4f76f79bf684af13601a8897b41fdd831a23a89347f0818a2696ffaf8292913862f0411dbf"
566         "eb86fdf37549e9ab6ad7951e1eccd56ad0a8acea25ee45438c6a72f99fa073a431dd3b1db9eba774411734a6eddad4626acc15b6fc6023"
567         "2ca13dfb1c891366a892852efdfe761ae51fbe25187f929e927906a7c24000aa97ffd6418ff3d927c4524d3e59fca01d6e7be366b55da8"
568         "0be68392f65a607dacf731e891291fe35abb265fd4fa7607f6198a7bc39399b2cfe30775240fae0f0db1239e8b072a580f4d5ed2a9194e"
569         "31c11bca7c6903e36e2224a9a9b1926dd500f1aa6cdbd2030ace1fcdcee9aedaefc477ad5bdaf88787d53cc83d2f00f25aa0f57afca753"
570         "de2368c7f70245bd92ccef7a30b9f799a328f658d7a285265a3f03d10eeb7d4a4d42ee202ee2f54d182fe88d46608949f337b1b7a2691b"
571         "0db4e8457ec437f921431cb40adc52163957bb2da94a4b7d6f80c38ba5d0febe3504826f279795ba72d358882d932e9bb85f5bee0d46b5"
572         "e8e91bf2940ddd8ae7ef274f562eb4d47e380eae720f05293830313bfba820ffd71581a95cf50e4429ef9a020d43a09fa9a55fe1b2f6f2"
573         "936d4168586db9160b14f3c8844d81f1",
574     .hexData = "00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff",
575     .keySize = HKS_RSA_KEY_SIZE_4096,
576 
577     .encryptResult = HKS_SUCCESS,
578 };
579 
580 const TestCaseParams HKS_CRYPTO_HAL_RSA_OAEP_ENCRYPT_031_PARAMS = {
581     .usageSpec = {
582         .algType = HKS_ALG_RSA,
583         .mode = HKS_MODE_ECB,
584         .padding = HKS_PADDING_OAEP,
585         .digest = HKS_DIGEST_SHA384,
586         .purpose = HKS_KEY_PURPOSE_ENCRYPT | HKS_KEY_PURPOSE_DECRYPT,
587         .algParam = nullptr,
588     },
589     .keyData =
590         "0100000000020000400000004000000040000000b9d0e8e1e1e33cd6eaf71c9a4fb26045d651ac7b7a32984b5ca5bafd6d34d6928256de"
591         "c0e3ffdf2712185b50c5939077eb460da307125470b52bbcb0a58455eb0000000000000000000000000000000000000000000000000000"
592         "000000000000000000000000000000000000000000000000000000000000000000000001000155e461a1f85ea802d87dfdb4bede3f6e48"
593         "d15c1f7faedf8306827d5b241de688ec7fef8839a217a03360771ae67ff5183fce0ad19b9c15232db782d9b9a607d1",
594     .hexData = "001122334455",
595     .keySize = HKS_RSA_KEY_SIZE_512,
596     .encryptResult = HKS_ERROR_CRYPTO_ENGINE_ERROR,
597 };
598 
599 const TestCaseParams HKS_CRYPTO_HAL_RSA_OAEP_ENCRYPT_032_PARAMS = {
600     .usageSpec = {
601         .algType = HKS_ALG_RSA,
602         .mode = HKS_MODE_ECB,
603         .padding = HKS_PADDING_OAEP,
604         .digest = HKS_DIGEST_SHA384,
605         .purpose = HKS_KEY_PURPOSE_ENCRYPT | HKS_KEY_PURPOSE_DECRYPT,
606         .algParam = nullptr,
607     },
608     .keyData =
609         "0100000000030000600000006000000060000000eadcc37762c4a0c4cd358de290f2efedf39503a1833e4082aef44cb564ff47d4feaee5"
610         "f145b3711cd9abf944e0586bc083dd2c7dde4fc8f7d9a69d4fc5a8aef527c82d02fd30eb33a1791db30011733d60ef3110bd769f385f10"
611         "b071ae552dbd00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
612         "0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010001158f2e62472ec593"
613         "4b431f432d0b1ffb37e0f5f45d97d95425bb474f5f760fa1fdbf105c95896358c2a286bf4bd8d20b2d0b0880ff0193bcf0e625a9dbe330"
614         "6ea4534c0d7e83b657684194501574a554f76cbe29ce5953e1d92b479b4d1f8201",
615     .hexData = "001122334455",
616     .keySize = HKS_RSA_KEY_SIZE_768,
617     .encryptResult = HKS_ERROR_CRYPTO_ENGINE_ERROR,
618 };
619 
620 const TestCaseParams HKS_CRYPTO_HAL_RSA_OAEP_ENCRYPT_033_PARAMS = {
621     .usageSpec = {
622         .algType = HKS_ALG_RSA,
623         .mode = HKS_MODE_ECB,
624         .padding = HKS_PADDING_OAEP,
625         .digest = HKS_DIGEST_SHA384,
626         .purpose = HKS_KEY_PURPOSE_ENCRYPT | HKS_KEY_PURPOSE_DECRYPT,
627         .algParam = nullptr,
628     },
629     .keyData =
630         "0100000000040000800000008000000080000000da938b9dd72dd0646cf4a110789f7576da281c5bc54848edd5305d769798f1d50a9fd5"
631         "9e0881824a564eccc9748932a52ad80832c1a5b3048fedcf2767cb7331e21a9e69472bde86d26f0955a4c80b4d0e64bab47404869656bf"
632         "1d244f2f30daa7b1b80e8a17fa1527f54562a658a313f63b91a77e00504a001b0e2129db181d0000000000000000000000000000000000"
633         "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
634         "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100"
635         "0120293392def57bc33b10e79e0fd18eac153f6fa4c52b74a7a205c2cacf558ec7c50f6d941a364c207a00903b582d53c95fbb77c15822"
636         "f46b486e3a5bd6f6e594fcc0036be7b34bf6ef1897f8bdc9f5352dd9e47c83ca4a8e8670390cffee57bea3c3529f382d76ea7b8b91889f"
637         "87eeabfe6c35dfb10257df39c31d3467dbd7a1",
638     .hexData = "00112233445566778899aabbccdd",
639     .keySize = HKS_RSA_KEY_SIZE_1024,
640 
641     .encryptResult = HKS_SUCCESS,
642 };
643 
644 const TestCaseParams HKS_CRYPTO_HAL_RSA_OAEP_ENCRYPT_034_PARAMS = {
645     .usageSpec = {
646         .algType = HKS_ALG_RSA,
647         .mode = HKS_MODE_ECB,
648         .padding = HKS_PADDING_OAEP,
649         .digest = HKS_DIGEST_SHA384,
650         .purpose = HKS_KEY_PURPOSE_ENCRYPT | HKS_KEY_PURPOSE_DECRYPT,
651         .algParam = nullptr,
652     },
653     .keyData =
654         "0100000000080000000100000001000000010000b7e7b8fe8778adaac50fd7935451726c84b0f60dacbb9462140d50a39d065fce6bacaa"
655         "d29bd9d6972e732304c30ee967676d8062c56e5ba6328e651a7afba7f0992806d08f575389683f412a63049c49200f42f9410651a946a5"
656         "130f3cb10e6d8e04520af779b4d6d192578540efb66687a896cb3d0839692f4f1853697e9f8def35a94f6fb206b6375ad9e6c5e8c27eca"
657         "4c25de185ded5793d0be50f882a124c4cf9774621872725e6365e6525a2d61d8558ed385c6a15b8b94b5548c42313c51229a3c3e5161a5"
658         "d0c573808a30ec94f5ed907d250070b069a9ddf2ad666018a9f549dabdf8f333c6414c9acd3a3565770eaed7843cb775d22f7d790b97b8"
659         "13000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
660         "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
661         "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
662         "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
663         "000000000000000000000000000000000000000000000000000000000000000000000100018d1063a86985b9c0c9d3b30a419d0fe6098a"
664         "2bd2a57265092e54604c800009b12e8a8da56b029745f3cd41493fcdca5f14c8bbb807b4f4fbf0bfa4f1c0f0140bcb8f165b17f8660d7a"
665         "373ae72678bce0a284d25c9af21be57a58d8dbd13406db261a4e4c3733d5f10963f55a334b2c604d229638632251d74b00a2aa28bb85ea"
666         "6e6fa3e9d4fb4e8b2a9f4aed3c2e84e488197383c457acb426babf2821b40a7a2b8c9a624964e8b223f20428e9d02ad13ecdc426858c17"
667         "2070924068d97856b56ffaf5d47e643bcbc39d85fa425d93c99905301ff10fc15ec2c2bf49228b69cbb50895ecef1140cb05bbf314157e"
668         "c8c21796b1eebea225357a4a8b89385eb141",
669     .hexData = "00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff",
670     .keySize = HKS_RSA_KEY_SIZE_2048,
671 
672     .encryptResult = HKS_SUCCESS,
673 };
674 
675 const TestCaseParams HKS_CRYPTO_HAL_RSA_OAEP_ENCRYPT_035_PARAMS = {
676     .usageSpec = {
677         .algType = HKS_ALG_RSA,
678         .mode = HKS_MODE_ECB,
679         .padding = HKS_PADDING_OAEP,
680         .digest = HKS_DIGEST_SHA384,
681         .purpose = HKS_KEY_PURPOSE_ENCRYPT | HKS_KEY_PURPOSE_DECRYPT,
682         .algParam = nullptr,
683     },
684     .keyData =
685         "01000000000c0000800100008001000080010000ae9c2597d382b1cf800c1066c2f0fddd8e6e0d3d7f60b33066291cf20ea84f9d54803f"
686         "e6829e80799989c4b95f92424237909b5a1cfe9f99890a98e4a80548523276c4cd421dc8220c673d21255c29daa8862551ab5c6c19684c"
687         "8ab11ed43bae6da8184a0a97791f7b3d7b5cd33f7cbd6b2b4847f6a8bc3764faa7593763f5a3fc253e616e73fe26eb08aa3060d40be98e"
688         "f95c39ba7d8ef3528760b8c5c9c8b7a7f74f87498e3c33a76d4c94863fa9a3d7aa88019eee6a35ccc43d7dad5f8a0fef2cdba741f900cd"
689         "53e8155c4a90f4f79c7892d445e7da3d6a2496a4ca32ec8fa325bad6ab0bfc4911bce78be03ed0043f7c5fee60d4b10c7412301c6dfd36"
690         "8093b9ab12dfc61d403b7905ec78327b384c94f31059021b6cdefcf8440e1ca74ba5eb98d27c158825a8b7a648c8d0a23c28d15eec8924"
691         "058ea9d08fcdbc99f2bbe017228012861df4fdadfc20f58600b2240c7a0048ebb2ea2d8f846a97057c6fdc5b1cf916095fd51659063400"
692         "9bd94a988ffcd2007ddd46aad6918bbd3bcbd9000000000000000000000000000000000000000000000000000000000000000000000000"
693         "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
694         "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
695         "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
696         "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
697         "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
698         "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
699         "0000000000000000000000000000000100014cbc00655da56500fc93d0ad6864421c98d8526741503ccf3b463c1b4047c55d2de282b289"
700         "9aa0794ff95483e6b53efb1cb227238df4742d24258d1587a572a7f4d76f1b893fcf50ef447b7fd28c53346db52e375ae86df52879e2c5"
701         "7df7e5167dc84e8c536547ec86db79184d19ec76cddf228fc59d57c1bc55cf2f8d0117d56e1cebf22379442ad445658d873008e0265dfd"
702         "a2bd0b2ac451f37e95150edd6fa09835d20d883d7ab1cc7dc813cb6c80bd698b05b353b1475d6aac5f4bceddbbf3040f17f701e60a945c"
703         "cc12e90354b6c508084570a3058dde4e0253e961c014547a2ce41c5b9ba04704329595cfc1b451736658cd3e6734e30864f1a083801c14"
704         "fd309c4e116329c5f0d6c12012126267dff44a47d4d6fd2f6e8a4c0c50e14bcd3cd856ba26894451513e139baadf3a2f992f22532afb8c"
705         "c7607413b7d42230c8c06299b46117706658653f838d32a8de41d8ed7ea779ed1a94029cfbb3f4527bceb5ceb700fa20bb5e5f463e17c3"
706         "10ce7fe7cef8179d5cf7924697551d7301",
707     .hexData = "00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff",
708     .keySize = HKS_RSA_KEY_SIZE_3072,
709 
710     .encryptResult = HKS_SUCCESS,
711 };
712 
713 const TestCaseParams HKS_CRYPTO_HAL_RSA_OAEP_ENCRYPT_036_PARAMS = {
714     .usageSpec = {
715         .algType = HKS_ALG_RSA,
716         .mode = HKS_MODE_ECB,
717         .padding = HKS_PADDING_OAEP,
718         .digest = HKS_DIGEST_SHA384,
719         .purpose = HKS_KEY_PURPOSE_ENCRYPT | HKS_KEY_PURPOSE_DECRYPT,
720         .algParam = nullptr,
721     },
722     .keyData =
723         "0100000000100000000200000002000000020000a92637cd544520cdb67f0aee8c620047937df05133af415e2644873f2a04a8b5d1ed19"
724         "667e0aa5b0a859c0f881f872067e208c98ce775de153ce95593659e3e4133229749293f83af9d5b6d15b35f0582a3b20bb7d243c5b161f"
725         "a1326ad5402b1bd1f0e7da929ed5601e5abbadee4243ed6bd364aee814788a6204efc2e6a4b1172f79215c02c49ab1c3e2f9c9cd03e35e"
726         "27acb023fd724095b0b68ef069a746067516093168f84d6040c64d448680bd01f5af31e78a57b0f6e36d4274f54244d5df0304c3fc9d32"
727         "083771cf322dd31a4e02b9a55caf68bc919848cc126802e5883e015f6dc48f9de821b1c83142b674a374fd7d0cb37483824ea9efe0151d"
728         "eab15e6ea8f54262b80b6036f6151c82ee6804d003269163ab52bc62ef6b8e1649975bfae50bb8b22cf4f1cd518c9e11aecca3905bb1d4"
729         "866fab531ba1531748e8722a7d12d3ee52014ad6919f10feccaa1bc3386b951bfb8587c7694cadb9d3be984a706d40505bf7dfe1963efb"
730         "52fd1ac8e612a42ed934b7e0f132b9118ae13361f914b27a5ff1a7b0f0c27788d737410247c2e25124c982926972b87f35e1e2a4529235"
731         "04474dd8981ad18b0424ff40754a271652bfb35acffcd25c46afd5a69ab1365e7259b05f04b12bebc7ec1361e909359deec133c7c4b58f"
732         "bfb2b8fefa21df15955e31b688bcdfb1e857d955af09e5b724b9a11dbb3cc7f1418f09995d000000000000000000000000000000000000"
733         "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
734         "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
735         "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
736         "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
737         "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
738         "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
739         "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
740         "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
741         "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000104"
742         "63e68ce0c40e8ee84eb1d4f135d5f605a0fe2ccd5f9e1db8768ce019d21722e8f8f370d292aa2c44a257bcdb7abc52e8d125750dded143"
743         "f8ede2b8770dac398e39fe13757e7bb1e42c24db9837752e84a2163e67881a3ceefd112d02d2d820864f53a660e8ef5070773939a7d108"
744         "4d450b48685395d87a2c7550d57c448a3fc26f4c008ea7cfbc8822a27083495bf179cf23cf4a8fd8784eaa5082b340bac3b9852e763c9f"
745         "11dac845c61fd948786cef711604009379a5313343f1b6a16affe8612a6de43c5944242c743ac17da8fe04ca5351346fa51347e020fb92"
746         "faba208501befd6016faf749401ea2288d27b92d48eb0f64d5ff8f2e41a66d806e6be151b4f2c409e0b8035ea2d63e9baf538a122e5e5b"
747         "02c41f11c218cb4e86665c11efd861a325a03fce577de17928da5a2fdb0786de366758c7d89514c3136da75a7095565e9bfdbe3932606d"
748         "dc43d631025828cb95703d1a7907c181126af324f5801531535bac8a6714204e46ea683d287c4c52f92f0f73715a5b8311d136aedb9a69"
749         "608e18be69e85a8c12b486bcf72f9a3c1f1dc01b5c77defa6b66999eabc14337d39183fa82bbd9de7f12ece728cc3b523e342c21363e52"
750         "4c8ba57b32835e06b8695022991d123afcaa7c6bee5802616b8ba5507e1276c0f472feedb3fd0a5c3f4bd2adc986c78d079d210537be05"
751         "a47eca98a7546b10c94e5f12a81b0921",
752     .hexData = "00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff",
753     .keySize = HKS_RSA_KEY_SIZE_4096,
754 
755     .encryptResult = HKS_SUCCESS,
756 };
757 
758 const TestCaseParams HKS_CRYPTO_HAL_RSA_OAEP_ENCRYPT_037_PARAMS = {
759     .usageSpec = {
760         .algType = HKS_ALG_RSA,
761         .mode = HKS_MODE_ECB,
762         .padding = HKS_PADDING_OAEP,
763         .digest = HKS_DIGEST_SHA512,
764         .purpose = HKS_KEY_PURPOSE_ENCRYPT | HKS_KEY_PURPOSE_DECRYPT,
765         .algParam = nullptr,
766     },
767     .keyData =
768         "0100000000020000400000004000000040000000b9d0e8e1e1e33cd6eaf71c9a4fb26045d651ac7b7a32984b5ca5bafd6d34d6928256de"
769         "c0e3ffdf2712185b50c5939077eb460da307125470b52bbcb0a58455eb0000000000000000000000000000000000000000000000000000"
770         "000000000000000000000000000000000000000000000000000000000000000000000001000155e461a1f85ea802d87dfdb4bede3f6e48"
771         "d15c1f7faedf8306827d5b241de688ec7fef8839a217a03360771ae67ff5183fce0ad19b9c15232db782d9b9a607d1",
772     .hexData = "001122334455",
773     .keySize = HKS_RSA_KEY_SIZE_512,
774     .encryptResult = HKS_ERROR_CRYPTO_ENGINE_ERROR,
775 };
776 
777 const TestCaseParams HKS_CRYPTO_HAL_RSA_OAEP_ENCRYPT_038_PARAMS = {
778     .usageSpec = {
779         .algType = HKS_ALG_RSA,
780         .mode = HKS_MODE_ECB,
781         .padding = HKS_PADDING_OAEP,
782         .digest = HKS_DIGEST_SHA512,
783         .purpose = HKS_KEY_PURPOSE_ENCRYPT | HKS_KEY_PURPOSE_DECRYPT,
784         .algParam = nullptr,
785     },
786     .keyData =
787         "0100000000030000600000006000000060000000eadcc37762c4a0c4cd358de290f2efedf39503a1833e4082aef44cb564ff47d4feaee5"
788         "f145b3711cd9abf944e0586bc083dd2c7dde4fc8f7d9a69d4fc5a8aef527c82d02fd30eb33a1791db30011733d60ef3110bd769f385f10"
789         "b071ae552dbd00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
790         "0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010001158f2e62472ec593"
791         "4b431f432d0b1ffb37e0f5f45d97d95425bb474f5f760fa1fdbf105c95896358c2a286bf4bd8d20b2d0b0880ff0193bcf0e625a9dbe330"
792         "6ea4534c0d7e83b657684194501574a554f76cbe29ce5953e1d92b479b4d1f8201",
793     .hexData = "001122334455",
794     .keySize = HKS_RSA_KEY_SIZE_768,
795     .encryptResult = HKS_ERROR_CRYPTO_ENGINE_ERROR,
796 };
797 
798 const TestCaseParams HKS_CRYPTO_HAL_RSA_OAEP_ENCRYPT_039_PARAMS = {
799     .usageSpec = {
800         .algType = HKS_ALG_RSA,
801         .mode = HKS_MODE_ECB,
802         .padding = HKS_PADDING_OAEP,
803         .digest = HKS_DIGEST_SHA512,
804         .purpose = HKS_KEY_PURPOSE_ENCRYPT | HKS_KEY_PURPOSE_DECRYPT,
805         .algParam = nullptr,
806     },
807     .keyData =
808         "0100000000040000800000008000000080000000d10cdba0a029d15254e1b98a1ab3fe28387017976d817ed229a88e521037451768a681"
809         "bd6b8944d1efc6be41913da3dc8cf42cae0d0b449e2cec4df0537b1702cd9a79b8394175c0474e96fdc7d26616c268059c4d01bb6ffa70"
810         "c12fa591e40093d988fe0c1d76df2d5999827cb12e7b287d537d477a7a8dae6ce9e6a1c2577d0000000000000000000000000000000000"
811         "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
812         "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100"
813         "010b443221f9ffc6f434f6e554f81373431fa78addf25ce444d751ea39a9fe108f2e68aadd568a53572d20fce7f3b7eab8dc2fdca894b3"
814         "62c3539078b2d70cef3472861416697b8908bd3c7263a6873b3baada43817202bb5b90e417af0e3ba8c1fefa011592604c2c9066e12265"
815         "5b83ef84097f2112e64d11193da5dfcfbf9a51",
816     .hexData = "001122334455",
817     .keySize = HKS_RSA_KEY_SIZE_1024,
818     .encryptResult = HKS_ERROR_CRYPTO_ENGINE_ERROR,
819 };
820 
821 const TestCaseParams HKS_CRYPTO_HAL_RSA_OAEP_ENCRYPT_040_PARAMS = {
822     .usageSpec = {
823         .algType = HKS_ALG_RSA,
824         .mode = HKS_MODE_ECB,
825         .padding = HKS_PADDING_OAEP,
826         .digest = HKS_DIGEST_SHA512,
827         .purpose = HKS_KEY_PURPOSE_ENCRYPT | HKS_KEY_PURPOSE_DECRYPT,
828         .algParam = nullptr,
829     },
830     .keyData =
831         "0100000000080000000100000001000000010000c594f464bc7852f61e96a56ffab6d1ee5cc5552e51ce5426b17b8fb50cefadecb0ef2e"
832         "9402906b9460f2dc527188a346e964acdc3357c2dcc56be8247243350cd9dc122dac3f37f4d22870e9b6d5524d43fadf5cb3a5386ebc11"
833         "4fc830faa624155526fc893bf7848451827c68c3610932a7a97a55c371340b86b4ba1aeacdc0185a7ac78511947bec87bbbfe011baa45b"
834         "19d7f7eb0accc77502f26ebb0d4797b3cf1a32116f9cd9f0ad4977d2881cb61d0439099c77e3e59aeb4386ca545cf534453c55d7b548e3"
835         "de6cc513374cbe312eb6564d476859307dd47498df59dfeaade0a8339754fb3a192cd64bad563c861b505d05b54a6254903ebfdfc6beb7"
836         "79000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
837         "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
838         "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
839         "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
840         "00000000000000000000000000000000000000000000000000000000000000000000010001691598061bd7430873ac5bc0faef51281d5f"
841         "36b6b3fbb0f6035f5c4746e212f6d803de1a0a6315548d5b9da29b8fb887768a7d0580a9249296cd95620d0381ab9c1357f7c2acbcee10"
842         "f841558c5058bd8f725669cf8208499cecf829d922f64a2aae6755d90773d59f2a5ae4203409e00278f9c27eeabbc29a7ec29058d0992c"
843         "a911b57a2af8a582caaa3add2aec200127e95e9032a8a4c546fab425148dc2c72ff487ad05bf0dcd278024e74d0e010f5aab57eaa5dc8d"
844         "ffc4e049cc6e2b34d50db7e73f0f4c78e887a0b59f2ce34117ed605379c0b28a096c2c38282af0048df55dbf771cc57e327e8008e86723"
845         "adf95c1f761b56c8ddf2e78e532861cef681",
846     .hexData = "00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff",
847     .keySize = HKS_RSA_KEY_SIZE_2048,
848 
849     .encryptResult = HKS_SUCCESS,
850 };
851 
852 const TestCaseParams HKS_CRYPTO_HAL_RSA_OAEP_ENCRYPT_041_PARAMS = {
853     .usageSpec = {
854         .algType = HKS_ALG_RSA,
855         .mode = HKS_MODE_ECB,
856         .padding = HKS_PADDING_OAEP,
857         .digest = HKS_DIGEST_SHA512,
858         .purpose = HKS_KEY_PURPOSE_ENCRYPT | HKS_KEY_PURPOSE_DECRYPT,
859         .algParam = nullptr,
860     },
861     .keyData =
862         "01000000000c000080010000800100008001000098d7dc7ba96338aa0f01393fe4c848f9491c9e6851e8869eac27736dfffc30347c7723"
863         "457f79082f61a2188ebbcd1906137e7369f5e6fa5220062938465456a46367e9551c1dea7f616343f2bd6078a89b24d10b7bc08fda6d95"
864         "fb9414bdc869e3449abf06b314149bd5a6f0dbbb195476ca4ee29ec65405a0b8f1225b890d6e7ee2cc39c1551f7a1fa42981bb98cf5939"
865         "83c5985bbb13eb545d57c46e9d60a05b50d0bc3518606ba5735c00607068556bcfd788926f0660fbe386777befc53dbec3a26c61405dc5"
866         "92da9c8aea3b87299e0c186eeaeabfce7c4f0a67fe952411fe62cf6007a1c28eb7e91316d72e054857136b8b75b74eefae1278adeb5c60"
867         "ef79f5ff9197d67cc0ca8564bb6110bf5e1e2fa915b05fd9d6bfc74b1fed176167638c3af06f5b016b5aa368297952830870de51040160"
868         "33535b0948b6b8c548db76cd13dfc20742e194ffbcea4c491f884e4d598987b0ef86a11b771b8e244a9677ee29ac104588f45f90c9b0b8"
869         "2145ee35c324e6ef9007fa424743d00e3cdc39000000000000000000000000000000000000000000000000000000000000000000000000"
870         "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
871         "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
872         "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
873         "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
874         "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
875         "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
876         "0000000000000000000000000000000100014ab39e1876967f1866d303471e2b61b72d2ba6a477fbfce7ca5e51c55e8ac488b2988c0da8"
877         "9ae00c405cb841f2b9f0540eed0bbdab28e409858b5d541ad397b12ac09bc33445ced9c9207a1246cac2ce2d5d962a55a6ace8660d1af3"
878         "aa1b83bb750f8fce7398cce4b1b17fb152c3a442aaf8800bb4ec5c1e900a3418c5c23b6558f0c23e2c26cd86a3b6596f05e04edf5e03f0"
879         "6c61d112903f208c07fec43e78c188c32c698aeb7d51550b8f479348fb0f017b674da2a3ec7cd01c65839691c0b58139e1b3d827c3961a"
880         "26d9d64fc676955e4b09ab58d4cbcdd15d34cb6da228a9b709dc87cb6a0f6826303e082aa16c27837fd62b42682313e3e9dcff90b06aa5"
881         "318704f4260c03c41ef580a70a2fe4cad7ea2a4f4793173e0c49d7995a04bb97d8bf77fb14b0efb9c61ae334612587d76c92f7ddd2ed78"
882         "a86830cfb4715a02908a6bc917d8b262349d19427c58b0d26be9dd105e819a422b738bd86a0f69f41d668fb6d33de4fb784af5e42d3168"
883         "ff5fba845faf39d5e65cc388bafb6af671",
884     .hexData = "00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff",
885     .keySize = HKS_RSA_KEY_SIZE_3072,
886 
887     .encryptResult = HKS_SUCCESS,
888 };
889 
890 const TestCaseParams HKS_CRYPTO_HAL_RSA_OAEP_ENCRYPT_042_PARAMS = {
891     .usageSpec = {
892         .algType = HKS_ALG_RSA,
893         .mode = HKS_MODE_ECB,
894         .padding = HKS_PADDING_OAEP,
895         .digest = HKS_DIGEST_SHA512,
896         .purpose = HKS_KEY_PURPOSE_ENCRYPT | HKS_KEY_PURPOSE_DECRYPT,
897         .algParam = nullptr,
898     },
899     .keyData =
900         "0100000000100000000200000002000000020000b84a40ff88dc4d56d93df76a10bbcc0e6ea27a3256cfbbb2b6f87bb9735752e7a51893"
901         "5d1e8d40777736854204be4a273e76378653178e5201a82ea19e46b59634a424fc6968eaecb76dbe53164a8ef6b822193ec6dd6a7d98c9"
902         "ea5dd3aae031c854347c5a883b18baf6541b330ed09947adc4ce8974c9534bf572d4b73160491add3d312afbd2a249685c00b995262349"
903         "dd6ea374b91403be3b008338b7e9fee6f14dff5bbb57b1414a1b912858bdda0cffb2dc0f1a543882ad0b08a95aabb7f4174ea9fa487e1d"
904         "ac6bd3a531d5ecacae1252e0b0e8ea40d0aa9c691db86df1dfc2c01afaf41ac7e624e6384d0d4bb603f8b19eccf80de9125b868ced158f"
905         "56712b3b5ffbb5d981e1eca28bc6ac81f1a04afc41032a8891fc5d3d25b86511f6d80137512b9d5e04521e3eacbd60c5047cd7c9d009ab"
906         "4fd4657b41f28a8f0cb51c73fd89a6eeff0c031c273750c147f12806766791c9cd4beefd71765ce74f5fdf0689ae2ef04fe34931078484"
907         "04ae44c01f5ddfdc2166ba9037862e132f01274800760879cb23fa4395ae0e9c5380d925d3fcde1782b754f197bdea13eebeed3846eb33"
908         "5145bd67baf2c10f6379c0321f2abab2e33661c153f4c08eb3eab0897372f43b4cd4dbd4d9dd9487705f4a7cdff310b3c7df5d7d144061"
909         "40b8a915f569bcdd83b87e8c7638d80d46421b41d8507e4e76ae6ad307fb90fe58cc62d0bf000000000000000000000000000000000000"
910         "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
911         "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
912         "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
913         "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
914         "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
915         "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
916         "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
917         "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
918         "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000121"
919         "a31bfe0842fdb2ce702b0aa70740159a47f9b9da728c35f083a6419135ed21eed66f7f5da6369017a851e65ceb46a9a712f8cb81bb18f5"
920         "0aec61a68a3729c9c2cdfb1a3f3b313607bcf632402d57aedca90ca692b1b3503d650d6c16c867a76e8340193a8507145a7bbf9a3f5582"
921         "e99755b648647a768cc79e8359241ed50e42e302da4898323800e21578e466bed14e1826ab9b107500c1e60f0fe4785d33737fb3d6da2d"
922         "75b21ad2a5f976bdcbd952ea11016d9846ab11def7d69ae2bbd915aa73673f11a0435647501824e281127bab48894e8114d0c3c5804b07"
923         "6bb455a39bee687e49b3e1acb62b77374927fa8efb03a09294ec25107eb82e5ccfc49b98a4c5492c45723b2054454726771e555c105994"
924         "5d3c1ee5b03bc514d44da961420f4c82b5e6fcdd8849b2395bc9fa1487c0a7381ce651806eb384e90445a8d9e08680d518673bbccc096c"
925         "9eb232fed9d5eecc7edb09e09ed63884c666c8b9ff65b11fcccae817b993830b4766713250c175fd6d5ed5d18a8c6555583c9665a9e701"
926         "f0a55725824478bf3a3ec794fa2992afa2cce454c2c9a861afd9cd83dbb66e55aff4e4d5728a2b22a319b39c4df3a3cdeb8d71062d0215"
927         "12608805239e96d25562445fc30b894890dedc92c8d456029a2d382077956a0f4335c95b06758f2e245725b37c95da5ac1ec3ff4a70ae0"
928         "3f069a7a11e27ad124aefabc32947761",
929     .hexData = "00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff",
930     .keySize = HKS_RSA_KEY_SIZE_4096,
931 
932     .encryptResult = HKS_SUCCESS,
933 };
934 
935 const TestCaseParams HKS_CRYPTO_HAL_RSA_OAEP_ENCRYPT_043_PARAMS = {
936     .usageSpec = {
937         .algType = HKS_ALG_RSA,
938         .mode = HKS_MODE_ECB,
939         .padding = HKS_PADDING_OAEP,
940         .digest = HKS_DIGEST_NONE,
941         .purpose = HKS_KEY_PURPOSE_ENCRYPT | HKS_KEY_PURPOSE_DECRYPT,
942         .algParam = nullptr,
943     },
944     .keyData =
945         "0100000000020000400000004000000040000000b9d0e8e1e1e33cd6eaf71c9a4fb26045d651ac7b7a32984b5ca5bafd6d34d6928256de"
946         "c0e3ffdf2712185b50c5939077eb460da307125470b52bbcb0a58455eb0000000000000000000000000000000000000000000000000000"
947         "000000000000000000000000000000000000000000000000000000000000000000000001000155e461a1f85ea802d87dfdb4bede3f6e48"
948         "d15c1f7faedf8306827d5b241de688ec7fef8839a217a03360771ae67ff5183fce0ad19b9c15232db782d9b9a607d1",
949     .hexData = "001122334455",
950     .keySize = HKS_RSA_KEY_SIZE_512,
951 #if defined(_USE_OPENSSL_)
952     .encryptResult = HKS_ERROR_CRYPTO_ENGINE_ERROR,
953 #endif
954 #if defined(_USE_MBEDTLS_)
955     .encryptResult = HKS_ERROR_INVALID_DIGEST,
956 #endif
957 };
958 
959 const TestCaseParams HKS_CRYPTO_HAL_RSA_OAEP_ENCRYPT_044_PARAMS = {
960     .usageSpec = {
961         .algType = HKS_ALG_RSA,
962         .mode = HKS_MODE_ECB,
963         .padding = HKS_PADDING_OAEP,
964         .digest = HKS_DIGEST_NONE,
965         .purpose = HKS_KEY_PURPOSE_ENCRYPT | HKS_KEY_PURPOSE_DECRYPT,
966         .algParam = nullptr,
967     },
968     .keyData =
969         "0100000000030000600000006000000060000000e010a0d37f6fc663a131cde4c27f458e46f9448c4ae99927d682a370a71ff936859b6f"
970         "50bab014de3c0fbdeb91aa01969be2b2ba1d11e60797e4b0bb9c1ffd09a56506e923f186b7aa593761bfe2d2fc7a09e6050dbe9bdf875d"
971         "684be2a76cc900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
972         "0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010001bcb1642f1897f1f3"
973         "bf31291a682d344f5037e5615c490320c88675cb8e02e025e9386ff30574f9edf998ac313117818357810e80c32a6a122cf1d9163ba9d8"
974         "7e38f7291d3ecc39c5d13e94406de947c860de27ab10e90bccf42f76164ec03381",
975     .hexData = "00112233445566778899aabbccdd",
976     .keySize = HKS_RSA_KEY_SIZE_768,
977 #if defined(_USE_OPENSSL_)
978     .encryptResult = HKS_ERROR_CRYPTO_ENGINE_ERROR,
979 #endif
980 #if defined(_USE_MBEDTLS_)
981     .encryptResult = HKS_ERROR_INVALID_DIGEST,
982 #endif
983 };
984 
985 const TestCaseParams HKS_CRYPTO_HAL_RSA_OAEP_ENCRYPT_045_PARAMS = {
986     .usageSpec = {
987         .algType = HKS_ALG_RSA,
988         .mode = HKS_MODE_ECB,
989         .padding = HKS_PADDING_OAEP,
990         .digest = HKS_DIGEST_NONE,
991         .purpose = HKS_KEY_PURPOSE_ENCRYPT | HKS_KEY_PURPOSE_DECRYPT,
992         .algParam = nullptr,
993     },
994     .keyData =
995         "0100000000040000800000008000000080000000b4a4455910bcb2b65c2937ea25ae2bc5dff6df61644292c330c5985038fe6b3c485af0"
996         "7d963b10820242784a7c24d4c46038ae46f17ac854188cbc894982e9c00fac378dea8d6c6297e759362b3948b828d38e735daadf08acdc"
997         "dc0954eb32725084d74970cf6cb5c571cb16929adb414052fbe2d93cacc9e03d9e139685abe50000000000000000000000000000000000"
998         "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
999         "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100"
1000         "014107018fd65e9756de46584289ddf1140253b48632b9646baf9af201af02a747c424387e7d1e360b1715268869b8387f98c3ceb8eb24"
1001         "f00895edd3d0f80d906760026ece80380d1b2719dd7cf6110fa8949bf22067f8f7d4072d355cb06b20271e25aba9b00730b3f1a549822d"
1002         "a6628ca7118bb4d3d05bd1432fd072604cea01",
1003     .hexData = "00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff",
1004     .keySize = HKS_RSA_KEY_SIZE_1024,
1005 #if defined(_USE_OPENSSL_)
1006     .encryptResult = HKS_ERROR_CRYPTO_ENGINE_ERROR,
1007 #endif
1008 #if defined(_USE_MBEDTLS_)
1009     .encryptResult = HKS_ERROR_INVALID_DIGEST,
1010 #endif
1011 };
1012 
1013 const TestCaseParams HKS_CRYPTO_HAL_RSA_OAEP_ENCRYPT_046_PARAMS = {
1014     .usageSpec = {
1015         .algType = HKS_ALG_RSA,
1016         .mode = HKS_MODE_ECB,
1017         .padding = HKS_PADDING_OAEP,
1018         .digest = HKS_DIGEST_NONE,
1019         .purpose = HKS_KEY_PURPOSE_ENCRYPT | HKS_KEY_PURPOSE_DECRYPT,
1020         .algParam = nullptr,
1021     },
1022     .keyData =
1023         "0100000000080000000100000001000000010000c9354edd8b70a5f187bd3576b08cd52ef54468d027d061e45dca25e0526cc89b4bcbbe"
1024         "1f70ee581a2834c9123b08cc28cfef131d7f8ae5ec5f22dd282cfafe922121da0bf578826a09c13cb5bb6500881a5f245d07ce87ccb670"
1025         "0b5d91cab6d1d591b43558d62da7257c7d63accb6c1f804cc8772370d67d32c99911e33d0b62d186f068ec655c63759944fa8500722835"
1026         "a5ffa35c0199ecac1a304a5ad5eb73cfe031711a3a4928157f9a9494a5c3f3b536be7d11763dd5af26e0ae3cb420d3fa3b6f587cf79faf"
1027         "8ff31bf90304c554d1ab4b2db23a4f0c85a2cc793dc31c31ee21b436093900db2b6636e11bdb0f0fe9fff003d3a4486458027c13098eaf"
1028         "99000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
1029         "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
1030         "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
1031         "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
1032         "00000000000000000000000000000000000000000000000000000000000000000000010001100f583728bd1a11b842eaf4894d046b161a"
1033         "9abf1a9e7061d8f69ca5560ee6c8367991b852bc437dfafd939b07e940da7516611136aff080386bc0f946f5d5c1f6310c856dd76b9969"
1034         "23ea639b0c89c953498ace7e240704d8ff02793a7cd2b0d6fa254728cb17a3c2c33802efb4e0f176bd2a3710361e78a9c81b96a8eba36f"
1035         "e0821a44f82e88e0028ce3aae7f17b295b53fba3b600a358a8321cf80274da7eec5778a2f11e6ec3fd2b110918e15c3a5da5832ef7651c"
1036         "41a160d15679f4ea3bff56bd505f153e013e26a1475370606ddd05e36b76d7cde176eb62af1a48aae3237b86acb0a8c0ceee45a6ca1318"
1037         "6b712e72116fb303775a0a4d8365bf4e35f1",
1038     .hexData = "00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff",
1039     .keySize = HKS_RSA_KEY_SIZE_2048,
1040 #if defined(_USE_OPENSSL_)
1041     .encryptResult = HKS_ERROR_CRYPTO_ENGINE_ERROR,
1042 #endif
1043 #if defined(_USE_MBEDTLS_)
1044     .encryptResult = HKS_ERROR_INVALID_DIGEST,
1045 #endif
1046 };
1047 
1048 const TestCaseParams HKS_CRYPTO_HAL_RSA_OAEP_ENCRYPT_047_PARAMS = {
1049     .usageSpec = {
1050         .algType = HKS_ALG_RSA,
1051         .mode = HKS_MODE_ECB,
1052         .padding = HKS_PADDING_OAEP,
1053         .digest = HKS_DIGEST_NONE,
1054         .purpose = HKS_KEY_PURPOSE_ENCRYPT | HKS_KEY_PURPOSE_DECRYPT,
1055         .algParam = nullptr,
1056     },
1057     .keyData =
1058         "01000000000c0000800100008001000080010000c0d7a1b9eae690d22741b0bad5e6abdb786a201cbb01154f1364fd8b5fc23a09621bca"
1059         "d8b997b32ad0120ee18c662a478313c3a5926151575944241e8ee464fa2fe60c79a324cbfef988275afb009c4aa05935da7a265cc415f7"
1060         "212c9a6a92e2e6d75d621742ef8a2ca468aa5481560b8cd6d346b17f1960cafd2b815949f006613e9b0690c61b5ab83cb3ed746cda04e7"
1061         "565f58a888136a631914c28f9f90851ae1653a9f1f2a60215833110e91ee6c226b97ae5d4ff104eecced33ffd916caa2a84877f58db389"
1062         "3f8e846ee288a751863d867f80e7fc492f1d6da9aa0c60dc1774b343a899d2ea6688b81be72c12c3a79698ccb488c8a96342aa8ade6d15"
1063         "46285d8e5fb35c41910584e9732c2756c40798f413331215814d283f6b7f67f3424f11d5da5cc4b63e163b23f9970c03bc24b924422536"
1064         "021532590a5dbce0a0cff8e7052db4529e7b0205995d1bce29ab4f5ed9840985a57fd60144464c28f22a9bcc8f21b009a69b35f65f0343"
1065         "5dd584b123167d6767226150656ac3c38917ab000000000000000000000000000000000000000000000000000000000000000000000000"
1066         "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
1067         "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
1068         "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
1069         "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
1070         "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
1071         "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
1072         "00000000000000000000000000000001000187655eb9a881e5e0878b89c84472c6eb3b2a580d9406f8ad2292dfa9c1bc1eff8390bbe55a"
1073         "b97624731e9ab025e17d81e438363fc3fcec1d86215fb2cce4f338edf47981d5d7fa1ab59cb0f5221295a997d7cb05f0898acc6a17af85"
1074         "1f8e003fab903e92a67e6aacfb171c1dab637bc4744848e2f3b0a762dc62d0eeea800d348d86655640c3b76504c22a1a688a1cb120b3f6"
1075         "11cb926eff5d40b8e0b9f27087e40da90375c16e013ca82e82a55634ae5ba46b4513631378412a44c923b38a59d5af20f66690f0d34813"
1076         "ebafdae3968685390b9db7e8482573df5804b6191e0b32c85644f998de27cd58d6b0151a2645d5d309262c63f033000510528f4efeaa8f"
1077         "ba78a85ba2b95d6ae78c2b29c26f0eb2485aacf275b0e7bd0cdf9992b3debcbabd3a7d74e9b50bc8d45223b668d61ff092276679de789b"
1078         "397501599da8e34cdffc40f771929eaf49579d29a3f6bd03b27490aa195d4273ca3248af236ede466badaf076af2960585d997678417b6"
1079         "d00c49460d173a5e5014712099829385d1",
1080     .hexData = "00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff",
1081     .keySize = HKS_RSA_KEY_SIZE_3072,
1082 #if defined(_USE_OPENSSL_)
1083     .encryptResult = HKS_ERROR_CRYPTO_ENGINE_ERROR,
1084 #endif
1085 #if defined(_USE_MBEDTLS_)
1086     .encryptResult = HKS_ERROR_INVALID_DIGEST,
1087 #endif
1088 };
1089 
1090 const TestCaseParams HKS_CRYPTO_HAL_RSA_OAEP_ENCRYPT_048_PARAMS = {
1091     .usageSpec = {
1092         .algType = HKS_ALG_RSA,
1093         .mode = HKS_MODE_ECB,
1094         .padding = HKS_PADDING_OAEP,
1095         .digest = HKS_DIGEST_NONE,
1096         .purpose = HKS_KEY_PURPOSE_ENCRYPT | HKS_KEY_PURPOSE_DECRYPT,
1097         .algParam = nullptr,
1098     },
1099     .keyData =
1100         "0100000000100000000200000002000000020000cd7af64a4ce004dbfadb758f6d6c5fbc9640e00bc40e8ba08292c2a4c8b3b22d08c547"
1101         "3eaa5083b4dd45bda9c5ce2c86789a7c2db787da6a3ae56736c18d025b6ef1b3a483cc25448de67956b94c390c03f44231939d9dff4985"
1102         "e707dac520b00dcf18b6ae18e16c64f2f169945be2f98df16098e3e8ef3491cf310975a8e1a1e5ed96fc132d7e17ce84b9f4e6c2d842b0"
1103         "739f515f0fe0d8c76ce7da95e4db26e048c3d7b911ef6489d66837f2f9fd8d1812a8417f611cdfd44c2bc5fa4f1f92a2eaee6a08d53189"
1104         "91ad7d1d8e146210308bf456862fb691045443da3e2a92cc611ddb7a08f3f40803cfa3e6cf9abf8188fde526d5fc9c664f424dd5b17366"
1105         "143718f2f6efffcbf42f495d1992db9728c38e993b43d4f191e48374b6c4e7116ecaaf63b5016207fa48407df7394b14a3744ab4a825d5"
1106         "b9dede3e4d1271b2ffc2be70594f689a4695ca97609a3341bfb12e8386ad8deb5d9c95c6fad3f5448390ef5db2cd52a4d709276d6516f3"
1107         "33611e9136d1f2de02927aa404f7c4d755dfe37d44ea9c8eb0a911ce25a7ae4fdd5dd38d1610295692f6ab7d7099913044ff7e348d25cc"
1108         "cbe0e0e34e6fe5f4d1984b4070be9e5e855f58477fa49bf804f6b6136dfa60a8a318d11e031fddff42ec0b9f5243ab5bc3e771a17e3a5a"
1109         "648f7d618d108a4b12d4bee7ae6a2ee43f9226e6878a3dd33ec2d3b981b0d22c7b1ea123f9000000000000000000000000000000000000"
1110         "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
1111         "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
1112         "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
1113         "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
1114         "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
1115         "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
1116         "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
1117         "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
1118         "0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100014b"
1119         "4117668ad518b2802353e0dd906d57a227cc6642bd99018610bddc9fecbffaa255ae0c13503d8c45e5bedaa8a923c173f61038a618c933"
1120         "52b2a5a4762a708c900b5161952b7512b06d924ee2ba39c25ec85c5dcfd450032928333ebb2eab140f5aa390741e84a0b030119e3b4993"
1121         "cd15e12b219386c1e49cea26e9720011f2bb44d2a12b5ce3eb502567fd7b6e2cc9efd9c8a5828d4c29d88fd83243e77723bbccaa7d1d38"
1122         "a65649ed0e6a3f40b34db35d51e5fb02d4125dac2ff3e802866babe322c20ece15c06e6bfd808f82838fae57f37aa4d660a4a7d33cae77"
1123         "4a1c4d61dc0f7f983bd04a072b4ab9c39ac73c67b1a4f51e35d009e049463c572b0e5cfcac332a782608d39c7bd4c3be513aefa9bba8c2"
1124         "2df88c40b3635d3e9dbbeaa4ced0e7f53a1599f8b9f3a164e7aa4954141bec6bd0a5052fccffab1ab53c941f9d04bab5eee41eeda05152"
1125         "aad1ac2c39f8d1ad9fe3804dba684c981776ae1c9fc2dad2549708d158cf6350f0c4da940c69610decbfda5398580ea491424aabbd0f62"
1126         "d14646fddd5509005d3474a506d6b919e133596422f60190b10b807b7992d57ae5dca530e30a064553e5cc22a8b98616b56425716eaac6"
1127         "bd700a3e127011894493a86c2c483c04e6f22efb4049015cebd96bcaa36303b41cc7eabdd205efd99c1841c7f1cf6fddd27c167cadebba"
1128         "d8989837da29f0e5c7f1047c222f79c9",
1129     .hexData = "00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff",
1130     .keySize = HKS_RSA_KEY_SIZE_4096,
1131 #if defined(_USE_OPENSSL_)
1132     .encryptResult = HKS_ERROR_CRYPTO_ENGINE_ERROR,
1133 #endif
1134 #if defined(_USE_MBEDTLS_)
1135     .encryptResult = HKS_ERROR_INVALID_DIGEST,
1136 #endif
1137 };
1138 }  // namespace
1139 
1140 class HksCryptoHalRsaOaepEncrypt : public HksCryptoHalCommon, public testing::Test {
1141 public:
1142     static void SetUpTestCase(void);
1143     static void TearDownTestCase(void);
1144     void SetUp();
1145     void TearDown();
1146 protected:
RunTestCase(const TestCaseParams & testCaseParams) const1147     void RunTestCase(const TestCaseParams &testCaseParams) const
1148     {
1149         uint32_t keyLen = testCaseParams.keyData.length() / HKS_COUNT_OF_HALF;
1150         HksBlob key = { .size = keyLen, .data = (uint8_t *)HksMalloc(keyLen) };
1151         ASSERT_EQ(key.data == nullptr, false) << "key malloc failed.";
1152         for (uint32_t ii = 0; ii < keyLen; ii++) {
1153             key.data[ii] = ReadHex((const uint8_t *)&testCaseParams.keyData[HKS_COUNT_OF_HALF * ii]);
1154         }
1155 
1156         uint32_t inLen = testCaseParams.hexData.length() / HKS_COUNT_OF_HALF;
1157         uint32_t outLen = HKS_KEY_BYTES(testCaseParams.keySize);
1158 
1159         HksBlob message = { .size = inLen, .data = (uint8_t *)HksMalloc(inLen) };
1160         ASSERT_EQ(message.data == nullptr, false) << "message malloc failed.";
1161         for (uint32_t ii = 0; ii < inLen; ii++) {
1162             message.data[ii] = ReadHex((const uint8_t *)&testCaseParams.hexData[HKS_COUNT_OF_HALF * ii]);
1163         }
1164 
1165         HksBlob cipherText = { .size = outLen, .data = (uint8_t *)HksMalloc(outLen + HKS_PADDING_SUPPLENMENT) };
1166         ASSERT_EQ(cipherText.data == nullptr, false) << "cipherText malloc failed.";
1167         HksBlob tagAead = { .size = 0, .data = nullptr };
1168 
1169         EXPECT_EQ(HksCryptoHalEncrypt(&key, &testCaseParams.usageSpec, &message, &cipherText, &tagAead),
1170             testCaseParams.encryptResult);
1171         HksFree(key.data);
1172         HksFree(message.data);
1173         HksFree(cipherText.data);
1174     }
1175 };
1176 
SetUpTestCase(void)1177 void HksCryptoHalRsaOaepEncrypt::SetUpTestCase(void)
1178 {
1179 }
1180 
TearDownTestCase(void)1181 void HksCryptoHalRsaOaepEncrypt::TearDownTestCase(void)
1182 {
1183 }
1184 
SetUp()1185 void HksCryptoHalRsaOaepEncrypt::SetUp()
1186 {
1187     EXPECT_EQ(HksCryptoAbilityInit(), 0);
1188 }
1189 
TearDown()1190 void HksCryptoHalRsaOaepEncrypt::TearDown()
1191 {
1192 }
1193 
1194 /**
1195  * @tc.number    : HksCryptoHalRsaOaepEncrypt_013
1196  * @tc.name      : HksCryptoHalRsaOaepEncrypt_013
1197  * @tc.desc      : Using HksCryptoHalEncrypt Encrypt RSA-512-OAEP_SHA1 key.
1198  */
1199 HWTEST_F(HksCryptoHalRsaOaepEncrypt, HksCryptoHalRsaOaepEncrypt_013, Function | SmallTest | Level1)
1200 {
1201     RunTestCase(HKS_CRYPTO_HAL_RSA_OAEP_ENCRYPT_013_PARAMS);
1202 }
1203 
1204 /**
1205  * @tc.number    : HksCryptoHalRsaOaepEncrypt_014
1206  * @tc.name      : HksCryptoHalRsaOaepEncrypt_014
1207  * @tc.desc      : Using HksCryptoHalEncrypt Encrypt RSA-768-OAEP_SHA1 key.
1208  */
1209 HWTEST_F(HksCryptoHalRsaOaepEncrypt, HksCryptoHalRsaOaepEncrypt_014, Function | SmallTest | Level1)
1210 {
1211     RunTestCase(HKS_CRYPTO_HAL_RSA_OAEP_ENCRYPT_014_PARAMS);
1212 }
1213 
1214 /**
1215  * @tc.number    : HksCryptoHalRsaOaepEncrypt_015
1216  * @tc.name      : HksCryptoHalRsaOaepEncrypt_015
1217  * @tc.desc      : Using HksCryptoHalEncrypt Encrypt RSA-1024-OAEP_SHA1 key.
1218  */
1219 HWTEST_F(HksCryptoHalRsaOaepEncrypt, HksCryptoHalRsaOaepEncrypt_015, Function | SmallTest | Level1)
1220 {
1221     RunTestCase(HKS_CRYPTO_HAL_RSA_OAEP_ENCRYPT_015_PARAMS);
1222 }
1223 
1224 /**
1225  * @tc.number    : HksCryptoHalRsaOaepEncrypt_016
1226  * @tc.name      : HksCryptoHalRsaOaepEncrypt_016
1227  * @tc.desc      : Using HksCryptoHalEncrypt Encrypt RSA-2048-OAEP_SHA1 key.
1228  */
1229 HWTEST_F(HksCryptoHalRsaOaepEncrypt, HksCryptoHalRsaOaepEncrypt_016, Function | SmallTest | Level1)
1230 {
1231     RunTestCase(HKS_CRYPTO_HAL_RSA_OAEP_ENCRYPT_016_PARAMS);
1232 }
1233 
1234 #ifndef CUT_RSA_4096_TEST
1235 /**
1236  * @tc.number    : HksCryptoHalRsaOaepEncrypt_017
1237  * @tc.name      : HksCryptoHalRsaOaepEncrypt_017
1238  * @tc.desc      : Using HksCryptoHalEncrypt Encrypt RSA-3072-OAEP_SHA1 key.
1239  */
1240 HWTEST_F(HksCryptoHalRsaOaepEncrypt, HksCryptoHalRsaOaepEncrypt_017, Function | SmallTest | Level1)
1241 {
1242     RunTestCase(HKS_CRYPTO_HAL_RSA_OAEP_ENCRYPT_017_PARAMS);
1243 }
1244 
1245 /**
1246  * @tc.number    : HksCryptoHalRsaOaepEncrypt_018
1247  * @tc.name      : HksCryptoHalRsaOaepEncrypt_018
1248  * @tc.desc      : Using HksCryptoHalEncrypt Encrypt RSA-4096-OAEP_SHA1 key.
1249  */
1250 HWTEST_F(HksCryptoHalRsaOaepEncrypt, HksCryptoHalRsaOaepEncrypt_018, Function | SmallTest | Level1)
1251 {
1252     RunTestCase(HKS_CRYPTO_HAL_RSA_OAEP_ENCRYPT_018_PARAMS);
1253 }
1254 #endif
1255 
1256 /**
1257  * @tc.number    : HksCryptoHalRsaOaepEncrypt_019
1258  * @tc.name      : HksCryptoHalRsaOaepEncrypt_019
1259  * @tc.desc      : Using HksCryptoHalEncrypt Encrypt RSA-512-OAEP_SHA224 key.
1260  */
1261 HWTEST_F(HksCryptoHalRsaOaepEncrypt, HksCryptoHalRsaOaepEncrypt_019, Function | SmallTest | Level1)
1262 {
1263     RunTestCase(HKS_CRYPTO_HAL_RSA_OAEP_ENCRYPT_019_PARAMS);
1264 }
1265 
1266 /**
1267  * @tc.number    : HksCryptoHalRsaOaepEncrypt_020
1268  * @tc.name      : HksCryptoHalRsaOaepEncrypt_020
1269  * @tc.desc      : Using HksCryptoHalEncrypt Encrypt RSA-768-OAEP_SHA224 key.
1270  */
1271 HWTEST_F(HksCryptoHalRsaOaepEncrypt, HksCryptoHalRsaOaepEncrypt_020, Function | SmallTest | Level1)
1272 {
1273     RunTestCase(HKS_CRYPTO_HAL_RSA_OAEP_ENCRYPT_020_PARAMS);
1274 }
1275 
1276 /**
1277  * @tc.number    : HksCryptoHalRsaOaepEncrypt_021
1278  * @tc.name      : HksCryptoHalRsaOaepEncrypt_021
1279  * @tc.desc      : Using HksCryptoHalEncrypt Encrypt RSA-1024-OAEP_SHA224 key.
1280  */
1281 HWTEST_F(HksCryptoHalRsaOaepEncrypt, HksCryptoHalRsaOaepEncrypt_021, Function | SmallTest | Level1)
1282 {
1283     RunTestCase(HKS_CRYPTO_HAL_RSA_OAEP_ENCRYPT_021_PARAMS);
1284 }
1285 
1286 /**
1287  * @tc.number    : HksCryptoHalRsaOaepEncrypt_022
1288  * @tc.name      : HksCryptoHalRsaOaepEncrypt_022
1289  * @tc.desc      : Using HksCryptoHalEncrypt Encrypt RSA-2048-OAEP_SHA224 key.
1290  */
1291 HWTEST_F(HksCryptoHalRsaOaepEncrypt, HksCryptoHalRsaOaepEncrypt_022, Function | SmallTest | Level1)
1292 {
1293     RunTestCase(HKS_CRYPTO_HAL_RSA_OAEP_ENCRYPT_022_PARAMS);
1294 }
1295 
1296 #ifndef CUT_RSA_4096_TEST
1297 /**
1298  * @tc.number    : HksCryptoHalRsaOaepEncrypt_023
1299  * @tc.name      : HksCryptoHalRsaOaepEncrypt_023
1300  * @tc.desc      : Using HksCryptoHalEncrypt Encrypt RSA-3072-OAEP_SHA224 key.
1301  */
1302 HWTEST_F(HksCryptoHalRsaOaepEncrypt, HksCryptoHalRsaOaepEncrypt_023, Function | SmallTest | Level1)
1303 {
1304     RunTestCase(HKS_CRYPTO_HAL_RSA_OAEP_ENCRYPT_023_PARAMS);
1305 }
1306 
1307 /**
1308  * @tc.number    : HksCryptoHalRsaOaepEncrypt_024
1309  * @tc.name      : HksCryptoHalRsaOaepEncrypt_024
1310  * @tc.desc      : Using HksCryptoHalEncrypt Encrypt RSA-4096-OAEP_SHA224 key.
1311  */
1312 HWTEST_F(HksCryptoHalRsaOaepEncrypt, HksCryptoHalRsaOaepEncrypt_024, Function | SmallTest | Level1)
1313 {
1314     RunTestCase(HKS_CRYPTO_HAL_RSA_OAEP_ENCRYPT_024_PARAMS);
1315 }
1316 #endif
1317 
1318 /**
1319  * @tc.number    : HksCryptoHalRsaOaepEncrypt_025
1320  * @tc.name      : HksCryptoHalRsaOaepEncrypt_025
1321  * @tc.desc      : Using HksCryptoHalEncrypt Encrypt RSA-512-OAEP_SHA256 key failed:keysize<sha*2+2.
1322  */
1323 HWTEST_F(HksCryptoHalRsaOaepEncrypt, HksCryptoHalRsaOaepEncrypt_025, Function | SmallTest | Level1)
1324 {
1325     RunTestCase(HKS_CRYPTO_HAL_RSA_OAEP_ENCRYPT_025_PARAMS);
1326 }
1327 
1328 /**
1329  * @tc.number    : HksCryptoHalRsaOaepEncrypt_026
1330  * @tc.name      : HksCryptoHalRsaOaepEncrypt_026
1331  * @tc.desc      : Using HksCryptoHalEncrypt Encrypt RSA-768-OAEP_SHA256 key.
1332  */
1333 HWTEST_F(HksCryptoHalRsaOaepEncrypt, HksCryptoHalRsaOaepEncrypt_026, Function | SmallTest | Level1)
1334 {
1335     RunTestCase(HKS_CRYPTO_HAL_RSA_OAEP_ENCRYPT_026_PARAMS);
1336 }
1337 
1338 /**
1339  * @tc.number    : HksCryptoHalRsaOaepEncrypt_027
1340  * @tc.name      : HksCryptoHalRsaOaepEncrypt_027
1341  * @tc.desc      : Using HksCryptoHalEncrypt Encrypt RSA-1024-OAEP_SHA256 key.
1342  */
1343 HWTEST_F(HksCryptoHalRsaOaepEncrypt, HksCryptoHalRsaOaepEncrypt_027, Function | SmallTest | Level1)
1344 {
1345     RunTestCase(HKS_CRYPTO_HAL_RSA_OAEP_ENCRYPT_027_PARAMS);
1346 }
1347 
1348 /**
1349  * @tc.number    : HksCryptoHalRsaOaepEncrypt_028
1350  * @tc.name      : HksCryptoHalRsaOaepEncrypt_028
1351  * @tc.desc      : Using HksCryptoHalEncrypt Encrypt RSA-2048-OAEP_SHA256 key.
1352  */
1353 HWTEST_F(HksCryptoHalRsaOaepEncrypt, HksCryptoHalRsaOaepEncrypt_028, Function | SmallTest | Level1)
1354 {
1355     RunTestCase(HKS_CRYPTO_HAL_RSA_OAEP_ENCRYPT_028_PARAMS);
1356 }
1357 
1358 #ifndef CUT_RSA_4096_TEST
1359 /**
1360  * @tc.number    : HksCryptoHalRsaOaepEncrypt_029
1361  * @tc.name      : HksCryptoHalRsaOaepEncrypt_029
1362  * @tc.desc      : Using HksCryptoHalEncrypt Encrypt RSA-3072-OAEP_SHA256 key.
1363  */
1364 HWTEST_F(HksCryptoHalRsaOaepEncrypt, HksCryptoHalRsaOaepEncrypt_029, Function | SmallTest | Level1)
1365 {
1366     RunTestCase(HKS_CRYPTO_HAL_RSA_OAEP_ENCRYPT_029_PARAMS);
1367 }
1368 
1369 /**
1370  * @tc.number    : HksCryptoHalRsaOaepEncrypt_030
1371  * @tc.name      : HksCryptoHalRsaOaepEncrypt_030
1372  * @tc.desc      : Using HksCryptoHalEncrypt Encrypt RSA-4096-OAEP_SHA256 key.
1373  */
1374 HWTEST_F(HksCryptoHalRsaOaepEncrypt, HksCryptoHalRsaOaepEncrypt_030, Function | SmallTest | Level1)
1375 {
1376     RunTestCase(HKS_CRYPTO_HAL_RSA_OAEP_ENCRYPT_030_PARAMS);
1377 }
1378 #endif
1379 
1380 /**
1381  * @tc.number    : HksCryptoHalRsaOaepEncrypt_031
1382  * @tc.name      : HksCryptoHalRsaOaepEncrypt_031
1383  * @tc.desc      : Using HksCryptoHalEncrypt Encrypt RSA-512-OAEP_SHA384 key failed:keysize<sha*2+2.
1384  */
1385 HWTEST_F(HksCryptoHalRsaOaepEncrypt, HksCryptoHalRsaOaepEncrypt_031, Function | SmallTest | Level1)
1386 {
1387     RunTestCase(HKS_CRYPTO_HAL_RSA_OAEP_ENCRYPT_031_PARAMS);
1388 }
1389 
1390 /**
1391  * @tc.number    : HksCryptoHalRsaOaepEncrypt_032
1392  * @tc.name      : HksCryptoHalRsaOaepEncrypt_032
1393  * @tc.desc      : Using HksCryptoHalEncrypt Encrypt RSA-768-OAEP_SHA384 key failed:keysize<sha*2+2.
1394  */
1395 HWTEST_F(HksCryptoHalRsaOaepEncrypt, HksCryptoHalRsaOaepEncrypt_032, Function | SmallTest | Level1)
1396 {
1397     RunTestCase(HKS_CRYPTO_HAL_RSA_OAEP_ENCRYPT_032_PARAMS);
1398 }
1399 
1400 /**
1401  * @tc.number    : HksCryptoHalRsaOaepEncrypt_033
1402  * @tc.name      : HksCryptoHalRsaOaepEncrypt_033
1403  * @tc.desc      : Using HksCryptoHalEncrypt Encrypt RSA-1024-OAEP_SHA384 key.
1404  */
1405 HWTEST_F(HksCryptoHalRsaOaepEncrypt, HksCryptoHalRsaOaepEncrypt_033, Function | SmallTest | Level1)
1406 {
1407     RunTestCase(HKS_CRYPTO_HAL_RSA_OAEP_ENCRYPT_033_PARAMS);
1408 }
1409 
1410 /**
1411  * @tc.number    : HksCryptoHalRsaOaepEncrypt_034
1412  * @tc.name      : HksCryptoHalRsaOaepEncrypt_034
1413  * @tc.desc      : Using HksCryptoHalEncrypt Encrypt RSA-2048-OAEP_SHA384 key.
1414  */
1415 HWTEST_F(HksCryptoHalRsaOaepEncrypt, HksCryptoHalRsaOaepEncrypt_034, Function | SmallTest | Level1)
1416 {
1417     RunTestCase(HKS_CRYPTO_HAL_RSA_OAEP_ENCRYPT_034_PARAMS);
1418 }
1419 
1420 #ifndef CUT_RSA_4096_TEST
1421 /**
1422  * @tc.number    : HksCryptoHalRsaOaepEncrypt_035
1423  * @tc.name      : HksCryptoHalRsaOaepEncrypt_035
1424  * @tc.desc      : Using HksCryptoHalEncrypt Encrypt RSA-3072-OAEP_SHA384 key.
1425  */
1426 HWTEST_F(HksCryptoHalRsaOaepEncrypt, HksCryptoHalRsaOaepEncrypt_035, Function | SmallTest | Level1)
1427 {
1428     RunTestCase(HKS_CRYPTO_HAL_RSA_OAEP_ENCRYPT_035_PARAMS);
1429 }
1430 
1431 /**
1432  * @tc.number    : HksCryptoHalRsaOaepEncrypt_036
1433  * @tc.name      : HksCryptoHalRsaOaepEncrypt_036
1434  * @tc.desc      : Using HksCryptoHalEncrypt Encrypt RSA-4096-OAEP_SHA384 key.
1435  */
1436 HWTEST_F(HksCryptoHalRsaOaepEncrypt, HksCryptoHalRsaOaepEncrypt_036, Function | SmallTest | Level1)
1437 {
1438     RunTestCase(HKS_CRYPTO_HAL_RSA_OAEP_ENCRYPT_036_PARAMS);
1439 }
1440 #endif
1441 
1442 /**
1443  * @tc.number    : HksCryptoHalRsaOaepEncrypt_037
1444  * @tc.name      : HksCryptoHalRsaOaepEncrypt_037
1445  * @tc.desc      : Using HksCryptoHalEncrypt Encrypt RSA-512-OAEP_SHA512 key failed:keysize<sha*2+2.
1446  */
1447 HWTEST_F(HksCryptoHalRsaOaepEncrypt, HksCryptoHalRsaOaepEncrypt_037, Function | SmallTest | Level1)
1448 {
1449     RunTestCase(HKS_CRYPTO_HAL_RSA_OAEP_ENCRYPT_037_PARAMS);
1450 }
1451 
1452 /**
1453  * @tc.number    : HksCryptoHalRsaOaepEncrypt_038
1454  * @tc.name      : HksCryptoHalRsaOaepEncrypt_038
1455  * @tc.desc      : Using HksCryptoHalEncrypt Encrypt RSA-768-OAEP_SHA512 key failed:keysize<sha*2+2.
1456  */
1457 HWTEST_F(HksCryptoHalRsaOaepEncrypt, HksCryptoHalRsaOaepEncrypt_038, Function | SmallTest | Level1)
1458 {
1459     RunTestCase(HKS_CRYPTO_HAL_RSA_OAEP_ENCRYPT_038_PARAMS);
1460 }
1461 
1462 /**
1463  * @tc.number    : HksCryptoHalRsaOaepEncrypt_039
1464  * @tc.name      : HksCryptoHalRsaOaepEncrypt_039
1465  * @tc.desc      : Using HksCryptoHalEncrypt Encrypt RSA-1024-OAEP_SHA512 key failed:keysize<sha*2+2.
1466  */
1467 HWTEST_F(HksCryptoHalRsaOaepEncrypt, HksCryptoHalRsaOaepEncrypt_039, Function | SmallTest | Level1)
1468 {
1469     RunTestCase(HKS_CRYPTO_HAL_RSA_OAEP_ENCRYPT_039_PARAMS);
1470 }
1471 
1472 /**
1473  * @tc.number    : HksCryptoHalRsaOaepEncrypt_040
1474  * @tc.name      : HksCryptoHalRsaOaepEncrypt_040
1475  * @tc.desc      : Using HksCryptoHalEncrypt Encrypt RSA-2048-OAEP_SHA512 key.
1476  */
1477 HWTEST_F(HksCryptoHalRsaOaepEncrypt, HksCryptoHalRsaOaepEncrypt_040, Function | SmallTest | Level1)
1478 {
1479     RunTestCase(HKS_CRYPTO_HAL_RSA_OAEP_ENCRYPT_040_PARAMS);
1480 }
1481 
1482 #ifndef CUT_RSA_4096_TEST
1483 /**
1484  * @tc.number    : HksCryptoHalRsaOaepEncrypt_041
1485  * @tc.name      : HksCryptoHalRsaOaepEncrypt_041
1486  * @tc.desc      : Using HksCryptoHalEncrypt Encrypt RSA-3072-OAEP_SHA512 key.
1487  */
1488 HWTEST_F(HksCryptoHalRsaOaepEncrypt, HksCryptoHalRsaOaepEncrypt_041, Function | SmallTest | Level1)
1489 {
1490     RunTestCase(HKS_CRYPTO_HAL_RSA_OAEP_ENCRYPT_041_PARAMS);
1491 }
1492 
1493 /**
1494  * @tc.number    : HksCryptoHalRsaOaepEncrypt_042
1495  * @tc.name      : HksCryptoHalRsaOaepEncrypt_042
1496  * @tc.desc      : Using HksCryptoHalEncrypt Encrypt RSA-4096-OAEP_SHA512 key.
1497  */
1498 HWTEST_F(HksCryptoHalRsaOaepEncrypt, HksCryptoHalRsaOaepEncrypt_042, Function | SmallTest | Level1)
1499 {
1500     RunTestCase(HKS_CRYPTO_HAL_RSA_OAEP_ENCRYPT_042_PARAMS);
1501 }
1502 #endif
1503 
1504 /**
1505  * @tc.number    : HksCryptoHalRsaOaepEncrypt_043
1506  * @tc.name      : HksCryptoHalRsaOaepEncrypt_043
1507  * @tc.desc      : Using HksCryptoHalEncrypt Encrypt RSA-512-OAEP key failed: wrong digest.
1508  */
1509 HWTEST_F(HksCryptoHalRsaOaepEncrypt, HksCryptoHalRsaOaepEncrypt_043, Function | SmallTest | Level1)
1510 {
1511     HKS_LOG_E("Enter HksCryptoHalRsaOaepEncrypt_043");
1512     RunTestCase(HKS_CRYPTO_HAL_RSA_OAEP_ENCRYPT_043_PARAMS);
1513 }
1514 
1515 /**
1516  * @tc.number    : HksCryptoHalRsaOaepEncrypt_044
1517  * @tc.name      : HksCryptoHalRsaOaepEncrypt_044
1518  * @tc.desc      : Using HksCryptoHalEncrypt Encrypt RSA-768-OAEP key failed: wrong digest.
1519  */
1520 HWTEST_F(HksCryptoHalRsaOaepEncrypt, HksCryptoHalRsaOaepEncrypt_044, Function | SmallTest | Level1)
1521 {
1522     HKS_LOG_E("Enter HksCryptoHalRsaOaepEncrypt_044");
1523     RunTestCase(HKS_CRYPTO_HAL_RSA_OAEP_ENCRYPT_044_PARAMS);
1524 }
1525 
1526 /**
1527  * @tc.number    : HksCryptoHalRsaOaepEncrypt_045
1528  * @tc.name      : HksCryptoHalRsaOaepEncrypt_045
1529  * @tc.desc      : Using HksCryptoHalEncrypt Encrypt RSA-1024-OAEP key failed: wrong digest.
1530  */
1531 HWTEST_F(HksCryptoHalRsaOaepEncrypt, HksCryptoHalRsaOaepEncrypt_045, Function | SmallTest | Level1)
1532 {
1533     HKS_LOG_E("Enter HksCryptoHalRsaOaepEncrypt_045");
1534     RunTestCase(HKS_CRYPTO_HAL_RSA_OAEP_ENCRYPT_045_PARAMS);
1535 }
1536 
1537 /**
1538  * @tc.number    : HksCryptoHalRsaOaepEncrypt_046
1539  * @tc.name      : HksCryptoHalRsaOaepEncrypt_046
1540  * @tc.desc      : Using HksCryptoHalEncrypt Encrypt RSA-2048-OAEP key failed: wrong digest.
1541  */
1542 HWTEST_F(HksCryptoHalRsaOaepEncrypt, HksCryptoHalRsaOaepEncrypt_046, Function | SmallTest | Level1)
1543 {
1544     HKS_LOG_E("Enter HksCryptoHalRsaOaepEncrypt_046");
1545     RunTestCase(HKS_CRYPTO_HAL_RSA_OAEP_ENCRYPT_046_PARAMS);
1546 }
1547 
1548 #ifndef CUT_RSA_4096_TEST
1549 /**
1550  * @tc.number    : HksCryptoHalRsaOaepEncrypt_047
1551  * @tc.name      : HksCryptoHalRsaOaepEncrypt_047
1552  * @tc.desc      : Using HksCryptoHalEncrypt Encrypt RSA-3072-OAEP key failed: wrong digest.
1553  */
1554 HWTEST_F(HksCryptoHalRsaOaepEncrypt, HksCryptoHalRsaOaepEncrypt_047, Function | SmallTest | Level1)
1555 {
1556     HKS_LOG_E("Enter HksCryptoHalRsaOaepEncrypt_047");
1557     RunTestCase(HKS_CRYPTO_HAL_RSA_OAEP_ENCRYPT_047_PARAMS);
1558 }
1559 
1560 /**
1561  * @tc.number    : HksCryptoHalRsaOaepEncrypt_048
1562  * @tc.name      : HksCryptoHalRsaOaepEncrypt_048
1563  * @tc.desc      : Using HksCryptoHalEncrypt Encrypt RSA-4096-OAEP key failed: wrong digest.
1564  */
1565 HWTEST_F(HksCryptoHalRsaOaepEncrypt, HksCryptoHalRsaOaepEncrypt_048, Function | SmallTest | Level1)
1566 {
1567     HKS_LOG_E("Enter HksCryptoHalRsaOaepEncrypt_048");
1568     RunTestCase(HKS_CRYPTO_HAL_RSA_OAEP_ENCRYPT_048_PARAMS);
1569 }
1570 #endif
1571 }  // namespace UnitTest
1572 }  // namespace Huks
1573 }  // namespace Security
1574 }  // namespace OHOS