anchor.diff:      end.
   
   %%--------------------------------------------------------------------
  +use_all_ecdh_generate_compute(_Config) ->
  +    Sups = crypto:supports(),
  +    Curves = proplists:get_value(curves, Sups),
  +    ct:log("Lib: ~p~nFIPS: ~p~nCurves:~n~p", [crypto:info_lib(),
  +                                              crypto:info_fips(),
  +                                              Curves]),
  +    Results =
  +        [{Curve,
  +          try
  +              ct:log("~p",[Curve]),
  +              {APub,APriv} = crypto:generate_key(ecdh, Curve),
  +              {BPub,BPriv} = crypto:generate_key(ecdh, Curve),
  +              true = is_binary(APub),
  +              true = is_binary(APriv),
  +              true = is_binary(BPub),
  +              true = is_binary(BPriv),
  +
  +              ACommonSecret = crypto:compute_key(ecdh, BPub, APriv, Curve),
  +              BCommonSecret = crypto:compute_key(ecdh, APub, BPriv, Curve),
  +              ACommonSecret == BCommonSecret
  +          catch
  +              C:E ->
  +                  {C,E}
  +          end}
  +         || Curve <- [ed25519, ed448, x25519, x448],
  +            lists:member(Curve, Curves)
  +        ],
  +    Fails0 =
  +        lists:filter(fun({_,true}) -> false;
  +                        (_) -> true
  +                     end, Results),
  +    case Fails0 of
  +        [{ed25519,_}, {ed448,_}] ->
  +            ok;
  +        _ ->
  +            Fails = lists:filter(fun({ed25519,_}) -> true;
  +                                    ({ed448,_}) -> true;
  +                                    (_) -> false
  +                                 end, Fails0),
  +            ct:log("Fails:~n~p",[Fails]),
  +            ct:fail("Bad curve(s)",[])
  +    end.
  +
  +%%--------------------------------------------------------------------
   generate() ->
        [{doc, " Test crypto:generate_key"}].
   generate(Config) when is_list(Config) ->
  
positive.code:     Gen = proplists:get_value(compute, Config),
      lists:foreach(fun do_compute/1, Gen).
  %%--------------------------------------------------------------------
  use_all_elliptic_curves() ->
      [{doc, " Test that all curves from crypto:ec_curves/0"}].
  use_all_elliptic_curves(_Config) ->
      Msg = <<"hello world!">>,
      Sups = crypto:supports(),
      Curves = proplists:get_value(curves, Sups),
  
negative.code:                              of
                                   _ -> Ok
                               catch Cls:Exc ->
                                       ct:log("~p:~p ~p",[Cls,Exc,C]),
                                       false
                               end
                       end,
                       true,
                       crypto:supports(ciphers)
                      )
      of
          true ->
              ok;
          false ->
  