Subversion Repositories Kolibri OS

Rev

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