anchor.diff:  %% server session key
   -spec server_session(list(), list(), binary(), integer(), integer(), integer()) -> binary().
   server_session(Username, Password, Salt, ClientPublic, ServerPublic, ServerPrivate) ->
  -    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)])),
       V = get_verifier(Username, Password, Salt),
       VU = bin_to_int(crypto:mod_pow(V, U, get_prime())),
       AVU = remainder(ClientPublic * VU, get_prime()),
  
positive.code: %% g: A generator modulo N
  get_generator() -> 2.
  
  %% get key size (bytes)
  get_key_size() -> 128.
  
  %% k = H(N, g): Multiplier parameter
  
negative.code:         crypto:mod_pow(N1, N2, get_prime()),
          crypto:hash(sha, User),
          Salt,
          int_to_bin(ClientPublic, get_key_size() div 8),
          int_to_bin(ServerPublic, get_key_size() div 8),
          K
      ]),
      {M, K}.
  