867868869870871872873874875876877
// HASH('req2', SKEY)^HASH('req3', S) hasher = new SHA1Hasher(); hasher.update( REQ2_IV ); hasher.update( shared_secret ); byte[] sha1_1 = hasher.getDigest(); hasher = new SHA1Hasher();
873874875876877878879880881882883
byte[] sha1_1 = hasher.getDigest(); hasher = new SHA1Hasher(); hasher.update( REQ3_IV ); hasher.update( secret_bytes ); byte[] sha1_2 = hasher.getDigest(); for (int i=0;i<sha1_1.length;i++){
874875876877878879880881882883884
934935936937938939940941942943944
read_buffer.limit( 20 ); SHA1Hasher hasher = new SHA1Hasher(); hasher.update( REQ1_IV ); hasher.update( secret_bytes ); padding_skip_marker = hasher.getDigest(); protocol_substate = 1;
935936937938939940941942943944945
read_buffer.limit( 20 ); SHA1Hasher hasher = new SHA1Hasher(); hasher.update( REQ1_IV ); hasher.update( secret_bytes ); padding_skip_marker = hasher.getDigest(); protocol_substate = 1; }
10021003100410051006100710081009101010111012
read_buffer.get( decode ); SHA1Hasher hasher = new SHA1Hasher(); hasher.update( REQ3_IV ); hasher.update( secret_bytes ); byte[] sha1 = hasher.getDigest(); for (int i=0;i<decode.length;i++){
10031004100510061007100810091010101110121013
301302303304305306307308309310311
trace( "crypto done" ); } SHA1Hasher hasher = new SHA1Hasher(); hasher.update( KEYA_IV ); hasher.update( session_secret ); byte[] a_key = hasher.getDigest(); hasher = new SHA1Hasher();
302303304305306307308309310311312
} SHA1Hasher hasher = new SHA1Hasher(); hasher.update( KEYA_IV ); hasher.update( session_secret ); byte[] a_key = hasher.getDigest(); hasher = new SHA1Hasher();
308309310311312313314315316317318
byte[] a_key = hasher.getDigest(); hasher = new SHA1Hasher(); hasher.update( KEYB_IV ); hasher.update( session_secret ); byte[] b_key = hasher.getDigest(); hasher = new SHA1Hasher();