anchor.diff:  client_session(Username, Password, Salt, ClientPublic, ServerPublic, ClientPrivate) ->
       User = list_to_binary(Username),
       Pass = list_to_binary(Password),
  -    U = bin_to_int(crypto:hash(sha, [int_to_bin(ClientPublic, get_key_size()), int_to_bin(ServerPublic, get_key_size())])),
  +    U = bin_to_int(crypto:hash(sha, [int_to_bin(ClientPublic, get_key_size() div 8), int_to_bin(ServerPublic, get_key_size() div 8)])),
       X = get_user_hash(User, Pass, Salt),
       GX = bin_to_int(crypto:mod_pow(get_generator(), X, get_prime())),
       KGX = remainder(get_k() * GX, get_prime()),
  
positive.code:         crypto:mod_pow(N1, N2, get_prime()),
          crypto:hash(sha, User),
          Salt,
          int_to_bin(ClientPublic, get_key_size()),
          int_to_bin(ServerPublic, get_key_size()),
          K
      ]),
      {M, K}.
  
negative.code: %% g: A generator modulo N
  get_generator() -> 2.
  
  %% get key size (bits)
  get_key_size() -> 128.
  
  %% k = H(N, g): Multiplier parameter
  