Lines Matching refs:instance

133 int SpongeInitialize(SpongeInstance *instance, unsigned int rate, unsigned int capacity)
140 SnP_Initialize(instance->state);
141 instance->rate = rate;
142 instance->byteIOIndex = 0;
143 instance->squeezing = 0;
150 int SpongeAbsorb(SpongeInstance *instance, const unsigned char *data, size_t dataByteLen)
155 unsigned int rateInBytes = instance->rate/8;
157 if (instance->squeezing)
163 if ((instance->byteIOIndex == 0) && (dataByteLen >= (i + rateInBytes))) {
168 … j = SnP_FastLoop_Absorb(instance->state, rateInBytes/(SnP_width/200), curData, dataByteLen - i);
178 SnP_AddBytes(instance->state, curData, 0, rateInBytes);
179 SnP_Permute(instance->state);
190 if (partialBlock+instance->byteIOIndex > rateInBytes)
191 partialBlock = rateInBytes-instance->byteIOIndex;
197 SnP_AddBytes(instance->state, curData, instance->byteIOIndex, partialBlock);
199 instance->byteIOIndex += partialBlock;
200 if (instance->byteIOIndex == rateInBytes) {
201 SnP_Permute(instance->state);
202 instance->byteIOIndex = 0;
211 int SpongeAbsorbLastFewBits(SpongeInstance *instance, unsigned char delimitedData)
213 unsigned int rateInBytes = instance->rate/8;
217 if (instance->squeezing)
228 SnP_AddByte(instance->state, delimitedData, instance->byteIOIndex);
230 if ((delimitedData >= 0x80) && (instance->byteIOIndex == (rateInBytes-1)))
231 SnP_Permute(instance->state);
233 SnP_AddByte(instance->state, 0x80, rateInBytes-1);
242 SnP_Permute(instance->state);
243 instance->byteIOIndex = 0;
244 instance->squeezing = 1;
253 int SpongeSqueeze(SpongeInstance *instance, unsigned char *data, size_t dataByteLen)
257 unsigned int rateInBytes = instance->rate/8;
260 if (!instance->squeezing)
261 SpongeAbsorbLastFewBits(instance, 0x01);
266 if ((instance->byteIOIndex == rateInBytes) && (dataByteLen >= (i + rateInBytes))) {
268 SnP_Permute(instance->state);
269 SnP_ExtractBytes(instance->state, curData, 0, rateInBytes);
279 if (instance->byteIOIndex == rateInBytes) {
280 SnP_Permute(instance->state);
281 instance->byteIOIndex = 0;
284 if (partialBlock+instance->byteIOIndex > rateInBytes)
285 partialBlock = rateInBytes-instance->byteIOIndex;
288 SnP_ExtractBytes(instance->state, curData, instance->byteIOIndex, partialBlock);
293 instance->byteIOIndex += partialBlock;