anchor.diff:          crypto:mod_pow(N1, N2, get_prime()),
           crypto:hash(sha, User),
           Salt,
  -        int_to_bin(ClientPublic),
  -        int_to_bin(ServerPublic),
  +        int_to_bin(ClientPublic, get_key_size()),
  +        int_to_bin(ServerPublic, get_key_size()),
           K
       ]),
       {M, K}.
  
positive.code: 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), int_to_bin(ServerPublic)])),
      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()),
  
negative.code: %% 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())])),
      V = get_verifier(Username, Password, Salt),
      VU = bin_to_int(crypto:mod_pow(V, U, get_prime())),
      AVU = remainder(ClientPublic * VU, get_prime()),
  