Home | History | Annotate | Download | only in nanohub

Lines Matching refs:state

152  *   memcpy(state->tmpB, a, RSA_BYTES);
154 * biMul(state->tmpA, state->tmpB, state->tmpB);
155 * biMod(state->tmpA, c, state->tmpB);
156 * memcpy(state->tmpB, state->tmpA, RSA_BYTES);
159 * //calculate a ^ 65537 mod c into state->tmpA [ at this point this means do state->tmpA = (state->tmpB * a) % c ]
160 * biMul(state->tmpA, state->tmpB, a);
161 * biMod(state->tmpA, c, state->tmpB);
164 * return state->tmpA;
168 const uint32_t* rsaPubOpIterative(struct RsaState* state, const uint32_t *a, const uint32_t *c, uint32_t *state1, uint32_t *state2, uint32_t *stepP)
174 memcpy(state->tmpB, a, RSA_BYTES);
186 biMulIterative(state->tmpA, state->tmpB, gigastep == 16 ? a : state->tmpB, gigastepSubstep);
193 if (biModIterative(state->tmpA, c, state->tmpB, state1, state2, gigastepSubstep - RSA_LEN)) { //MOD is done
203 memcpy(state->tmpB, state->tmpA, RSA_BYTES);
209 return state->tmpA;
214 const uint32_t* rsaPubOp(struct RsaState* state, const uint32_t *a, const uint32_t *c)
220 ret = rsaPubOpIterative(state, a, c, &state1, &state2, &step);
244 const uint32_t* rsaPrivOp(struct RsaState* state, const uint32_t *a, const uint32_t *b, const uint32_t *c)
248 memcpy(state->tmpC, a, RSA_BYTES); //tC will hold our powers of a
250 memset(state->tmpA, 0, RSA_BYTES * 2); //tA will hold result
251 state->tmpA[0] = 1;
256 memcpy(state->tmpB, state->tmpA, RSA_BYTES);
257 biMul(state->tmpA, state->tmpB, state->tmpC);
258 biMod(state->tmpA, c, state->tmpB);
263 memcpy(state->tmpB, state->tmpA, RSA_BYTES); //save tA
264 biMul(state->tmpA, state->tmpC, state->tmpC);
265 biMod(state->tmpA, c, state->tmpC);
266 memcpy(state->tmpC, state->tmpA, RSA_BYTES);
267 memcpy(state->tmpA, state->tmpB, RSA_BYTES); //restore tA
269 memcpy(state->tmpB, state->tmpC, RSA_BYTES);
270 biMul(state->tmpC, state->tmpB, state->tmpB);
271 biMod(state->tmpC, c, state->tmpB);
275 return state->tmpA;