Module: MTProto::Crypto::AuthKeyHelper

Defined in:
lib/mtproto/crypto/auth_key_helper.rb

Class Method Summary collapse

Class Method Details

.derive_tmp_aes_iv(new_nonce, server_nonce) ⇒ Object



17
18
19
20
21
22
# File 'lib/mtproto/crypto/auth_key_helper.rb', line 17

def derive_tmp_aes_iv(new_nonce, server_nonce)
  sha1_b = Digest::SHA1.digest(server_nonce + new_nonce)
  sha1_c = Digest::SHA1.digest(new_nonce + new_nonce)

  sha1_b[12, 8] + sha1_c + new_nonce[0, 4]
end

.derive_tmp_aes_key(new_nonce, server_nonce) ⇒ Object



10
11
12
13
14
15
# File 'lib/mtproto/crypto/auth_key_helper.rb', line 10

def derive_tmp_aes_key(new_nonce, server_nonce)
  sha1_a = Digest::SHA1.digest(new_nonce + server_nonce)
  sha1_b = Digest::SHA1.digest(server_nonce + new_nonce)

  sha1_a + sha1_b[0, 12]
end