Rev 6922 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 6922 | Rev 7698 | ||
---|---|---|---|
Line 229... | Line 229... | ||
229 | ;--------------------------------------------------------------- |
229 | ;--------------------------------------------------------------- |
230 | ; Initial IV client to server: HASH(K || H || "A" || session_id) |
230 | ; Initial IV client to server: HASH(K || H || "A" || session_id) |
Line 231... | Line 231... | ||
231 | 231 | ||
232 | mov esi, con.k_h_ctx |
232 | mov esi, con.k_h_ctx |
233 | mov edi, con.temp_ctx |
233 | mov edi, con.temp_ctx |
234 | mov ecx, sizeof.ctx_sha224256/4 |
234 | mov ecx, sizeof.crash_ctx |
235 | rep movsd |
235 | rep movsd |
236 | mov [con.session_id_prefix], 'A' |
236 | mov [con.session_id_prefix], 'A' |
237 | invoke sha256_update, con.temp_ctx, con.session_id_prefix, 32+1 |
237 | invoke sha256_update, con.temp_ctx, con.session_id_prefix, 32+1 |
238 | invoke sha256_final, con.temp_ctx.hash |
238 | invoke sha256_final, con.temp_ctx.hash |
Line 247... | Line 247... | ||
247 | ;--------------------------------------------------------------- |
247 | ;--------------------------------------------------------------- |
248 | ; Initial IV server to client: HASH(K || H || "B" || session_id) |
248 | ; Initial IV server to client: HASH(K || H || "B" || session_id) |
Line 249... | Line 249... | ||
249 | 249 | ||
250 | mov esi, con.k_h_ctx |
250 | mov esi, con.k_h_ctx |
251 | mov edi, con.temp_ctx |
251 | mov edi, con.temp_ctx |
252 | mov ecx, sizeof.ctx_sha224256/4 |
252 | mov ecx, sizeof.crash_ctx/4 |
253 | rep movsd |
253 | rep movsd |
254 | inc [con.session_id_prefix] |
254 | inc [con.session_id_prefix] |
255 | invoke sha256_update, con.temp_ctx, con.session_id_prefix, 32+1 |
255 | invoke sha256_update, con.temp_ctx, con.session_id_prefix, 32+1 |
256 | invoke sha256_final, con.temp_ctx |
256 | invoke sha256_final, con.temp_ctx |
Line 265... | Line 265... | ||
265 | ;------------------------------------------------------------------- |
265 | ;------------------------------------------------------------------- |
266 | ; Encryption key client to server: HASH(K || H || "C" || session_id) |
266 | ; Encryption key client to server: HASH(K || H || "C" || session_id) |
Line 267... | Line 267... | ||
267 | 267 | ||
268 | mov esi, con.k_h_ctx |
268 | mov esi, con.k_h_ctx |
269 | mov edi, con.temp_ctx |
269 | mov edi, con.temp_ctx |
270 | mov ecx, sizeof.ctx_sha224256/4 |
270 | mov ecx, sizeof.crash_ctx |
271 | rep movsd |
271 | rep movsd |
272 | inc [con.session_id_prefix] |
272 | inc [con.session_id_prefix] |
273 | invoke sha256_update, con.temp_ctx, con.session_id_prefix, 32+1 |
273 | invoke sha256_update, con.temp_ctx, con.session_id_prefix, 32+1 |
274 | invoke sha256_final, con.temp_ctx |
274 | invoke sha256_final, con.temp_ctx |
Line 283... | Line 283... | ||
283 | ;------------------------------------------------------------------- |
283 | ;------------------------------------------------------------------- |
284 | ; Encryption key server to client: HASH(K || H || "D" || session_id) |
284 | ; Encryption key server to client: HASH(K || H || "D" || session_id) |
Line 285... | Line 285... | ||
285 | 285 | ||
286 | mov esi, con.k_h_ctx |
286 | mov esi, con.k_h_ctx |
287 | mov edi, con.temp_ctx |
287 | mov edi, con.temp_ctx |
288 | mov ecx, sizeof.ctx_sha224256/4 |
288 | mov ecx, sizeof.crash_ctx/4 |
289 | rep movsd |
289 | rep movsd |
290 | inc [con.session_id_prefix] |
290 | inc [con.session_id_prefix] |
291 | invoke sha256_update, con.temp_ctx, con.session_id_prefix, 32+1 |
291 | invoke sha256_update, con.temp_ctx, con.session_id_prefix, 32+1 |
292 | invoke sha256_final, con.temp_ctx |
292 | invoke sha256_final, con.temp_ctx |
Line 301... | Line 301... | ||
301 | ;------------------------------------------------------------------ |
301 | ;------------------------------------------------------------------ |
302 | ; Integrity key client to server: HASH(K || H || "E" || session_id) |
302 | ; Integrity key client to server: HASH(K || H || "E" || session_id) |
Line 303... | Line 303... | ||
303 | 303 | ||
304 | mov esi, con.k_h_ctx |
304 | mov esi, con.k_h_ctx |
305 | mov edi, con.temp_ctx |
305 | mov edi, con.temp_ctx |
306 | mov ecx, sizeof.ctx_sha224256/4 |
306 | mov ecx, sizeof.crash_ctx/4 |
307 | rep movsd |
307 | rep movsd |
308 | inc [con.session_id_prefix] |
308 | inc [con.session_id_prefix] |
309 | invoke sha256_update, con.temp_ctx, con.session_id_prefix, 32+1 |
309 | invoke sha256_update, con.temp_ctx, con.session_id_prefix, 32+1 |
310 | invoke sha256_final, con.temp_ctx |
310 | invoke sha256_final, con.temp_ctx |
Line 319... | Line 319... | ||
319 | ;------------------------------------------------------------------ |
319 | ;------------------------------------------------------------------ |
320 | ; Integrity key server to client: HASH(K || H || "F" || session_id) |
320 | ; Integrity key server to client: HASH(K || H || "F" || session_id) |
Line 321... | Line 321... | ||
321 | 321 | ||
322 | mov esi, con.k_h_ctx |
322 | mov esi, con.k_h_ctx |
323 | mov edi, con.temp_ctx |
323 | mov edi, con.temp_ctx |
324 | mov ecx, sizeof.ctx_sha224256/4 |
324 | mov ecx, sizeof.crash_ctx/4 |
325 | rep movsd |
325 | rep movsd |
326 | inc [con.session_id_prefix] |
326 | inc [con.session_id_prefix] |
327 | invoke sha256_update, con.temp_ctx, con.session_id_prefix, 32+1 |
327 | invoke sha256_update, con.temp_ctx, con.session_id_prefix, 32+1 |
328 | invoke sha256_final, con.temp_ctx |
328 | invoke sha256_final, con.temp_ctx |