anchor.diff:      end.
   
   do_public_encrypt({Type, Public, Private, Msg, Padding}) ->
  -    ct:pal("public_encrypt",[]),
       PublicEcn = (catch crypto:public_encrypt(Type, Msg, Public, Padding)),
  -    ct:pal("private_decrypt of ~p",[PublicEcn]),
       case crypto:private_decrypt(Type, PublicEcn, Private, Padding) of
   	Msg ->
   	    ok;
  
positive.code:                 private_encrypt,
                  generate
                 ]},
       {dss, [], [sign_verify,
                  public_encrypt,
                  private_encrypt
                 ]},
       {ecdsa, [], [sign_verify,
                    public_encrypt,
                    private_encrypt
                   ]},
       {dh, [], [generate_compute]},
       {ecdh, [], [compute, generate]},
  
negative.code:     end. 
  
  do_private_encrypt({_Type, _Public, _Private, _Msg, rsa_pkcs1_oaep_padding}) ->
      ok; %% Not supported by openssl
  do_private_encrypt({Type, Public, Private, Msg, Padding}) ->
      PrivEcn = (catch crypto:private_encrypt(Type, Msg, Private, Padding)),
      case crypto:public_decrypt(Type, PrivEcn, Public, Padding) of
  	Msg ->
  	    ok;
  