anchor.diff:  
   
   select_crypto_supported(L) ->    
  -    Sup = [{ec_curve,crypto_supported_curves()} | crypto:supports()],
  +    Sup = crypto:supports(),
       [Name || {Name,CryptoRequires} <- L,
   	     crypto_supported(CryptoRequires, Sup)].
  -
  -crypto_supported_curves() ->
  -    try crypto:ec_curves()
  -    catch _:_ -> []
  -    end.
   
   crypto_supported(Conditions, Supported) ->
       lists:all( fun({Tag,CryptoName}) when is_atom(CryptoName) ->
  
positive.code: supported_algorithms(kex) ->
      select_crypto_supported(
        [
         {'ecdh-sha2-nistp384',                   [{public_keys,ecdh}, {ec_curve,secp384r1}, {hashs,sha384}]},
         {'ecdh-sha2-nistp521',                   [{public_keys,ecdh}, {ec_curve,secp521r1}, {hashs,sha512}]},
         {'ecdh-sha2-nistp256',                   [{public_keys,ecdh}, {ec_curve,secp256r1}, {hashs,sha256}]},
         %% https://tools.ietf.org/html/draft-ietf-curdle-ssh-curves
         %% Secure Shell (SSH) Key Exchange Method using Curve25519 and Curve448
         {'curve25519-sha256',                    [{public_keys,eddh}, {curves,x25519}, {hashs,sha256}]},
  
negative.code: supported_algorithms(public_key) ->
      select_crypto_supported(
        [
         {'ecdsa-sha2-nistp384',  [{public_keys,ecdsa}, {hashs,sha384}, {curves,secp384r1}]},
         {'ecdsa-sha2-nistp521',  [{public_keys,ecdsa}, {hashs,sha512}, {curves,secp521r1}]},
         {'ecdsa-sha2-nistp256',  [{public_keys,ecdsa}, {hashs,sha256}, {curves,secp256r1}]},
         {'ssh-rsa',              [{public_keys,rsa},   {hashs,sha}                         ]},
         {'rsa-sha2-256',         [{public_keys,rsa},   {hashs,sha256}                      ]},
         {'rsa-sha2-512',         [{public_keys,rsa},   {hashs,sha512}                      ]},
  