Lines Matching +full:deep +full:- +full:is
2 * This file is part of the openHiTLS project.
4 * openHiTLS is licensed under the Mulan PSL v2.
10 * THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
11 * EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
33 opt->curChunk = BSL_SAL_Calloc(1u, sizeof(Chunk)); in BN_OptimizerCreate()
34 if (opt->curChunk == NULL) { in BN_OptimizerCreate()
43 opt->libCtx = libCtx; in BN_OptimizerSetLibCtx()
48 return opt->libCtx; in BN_OptimizerGetLibCtx()
56 Chunk *curChunk = opt->curChunk; in BN_OptimizerDestroy()
57 Chunk *nextChunk = curChunk->next; in BN_OptimizerDestroy()
58 Chunk *prevChunk = curChunk->prev; in BN_OptimizerDestroy()
62 …BSL_SAL_CleanseData((void *)(nextChunk->bigNums[i].data), nextChunk->bigNums[i].size * sizeof(BN_U… in BN_OptimizerDestroy()
63 BSL_SAL_FREE(nextChunk->bigNums[i].data); in BN_OptimizerDestroy()
65 Chunk *tmp = nextChunk->next; in BN_OptimizerDestroy()
72 …BSL_SAL_CleanseData((void *)(prevChunk->bigNums[i].data), prevChunk->bigNums[i].size * sizeof(BN_U… in BN_OptimizerDestroy()
73 BSL_SAL_FREE(prevChunk->bigNums[i].data); in BN_OptimizerDestroy()
75 Chunk *tmp = prevChunk->prev; in BN_OptimizerDestroy()
81 …BSL_SAL_CleanseData((void *)(curChunk->bigNums[i].data), curChunk->bigNums[i].size * sizeof(BN_UIN… in BN_OptimizerDestroy()
82 BSL_SAL_FREE(curChunk->bigNums[i].data); in BN_OptimizerDestroy()
90 if (opt->deep != CRYPT_OPTIMIZER_MAXDEEP) { in OptimizerStart()
91 opt->deep++; in OptimizerStart()
100 if (curChunk->occupied != HITLS_CRYPT_OPTIMIZER_BN_NUM) { in GetPresetBn()
101 curChunk->occupied++; in GetPresetBn()
102 return &curChunk->bigNums[curChunk->occupied - 1]; in GetPresetBn()
104 if (curChunk->prev != NULL) { in GetPresetBn()
105 opt->curChunk = curChunk->prev; in GetPresetBn()
106 opt->curChunk->occupied++; // new chunk and occupied = 0; in GetPresetBn()
107 return &opt->curChunk->bigNums[opt->curChunk->occupied - 1]; in GetPresetBn()
114 newChunk->next = curChunk; in GetPresetBn()
115 curChunk->prev = newChunk; in GetPresetBn()
116 opt->curChunk = newChunk; in GetPresetBn()
117 newChunk->occupied++; in GetPresetBn()
118 return &newChunk->bigNums[newChunk->occupied - 1]; in GetPresetBn()
123 if (r->room < room) { in BnMake()
133 if (r->size > 0) { in BnMake()
134 BSL_SAL_CleanseData(r->data, r->size * sizeof(BN_UINT)); in BnMake()
136 BSL_SAL_FREE(r->data); in BnMake()
137 r->data = tmp; in BnMake()
138 r->room = room; in BnMake()
140 (void)memset_s(r->data, r->room * sizeof(BN_UINT), 0, r->room * sizeof(BN_UINT)); in BnMake()
142 r->size = 0; in BnMake()
143 r->sign = false; in BnMake()
144 r->flag |= CRYPT_BN_FLAG_OPTIMIZER; in BnMake()
150 if (opt->deep == 0) { in OptimizerGetBn()
153 if ((opt->used[opt->deep - 1] + 1) < opt->used[opt->deep - 1]) { in OptimizerGetBn()
157 BN_BigNum *tmp = GetPresetBn(opt, opt->curChunk); in OptimizerGetBn()
164 opt->used[opt->deep - 1]++; in OptimizerGetBn()
170 if (opt->deep == 0) { in OptimizerEnd()
173 opt->deep--; in OptimizerEnd()
174 uint32_t usedNum = opt->used[opt->deep]; in OptimizerEnd()
175 opt->used[opt->deep] = 0; in OptimizerEnd()
176 Chunk *curChunk = opt->curChunk; in OptimizerEnd()
177 if (usedNum <= curChunk->occupied) { in OptimizerEnd()
178 curChunk->occupied -= usedNum; in OptimizerEnd()
181 usedNum -= curChunk->occupied; in OptimizerEnd()
182 curChunk->occupied = 0; in OptimizerEnd()
184 curChunk = curChunk->next; in OptimizerEnd()
185 curChunk->occupied = 0; in OptimizerEnd()
186 usedNum -= HITLS_CRYPT_OPTIMIZER_BN_NUM; in OptimizerEnd()
189 curChunk = curChunk->next; in OptimizerEnd()
190 curChunk->occupied = HITLS_CRYPT_OPTIMIZER_BN_NUM - usedNum; in OptimizerEnd()
192 opt->curChunk = curChunk; in OptimizerEnd()