anchor.diff:  					coefficient = C})
     when is_integer(P1), is_integer(P2), 
          is_integer(E1), is_integer(E2), is_integer(C) ->
  +   [K || K <- [E, N, D, P1, P2, E1, E2, C]];
  +
  +format_rsa_private_key(#'RSAPrivateKey'{modulus = N, publicExponent = E,
  +					privateExponent = D}) ->
  +   [K || K <- [E, N, D]].
  +
  +old_format_rsa_private_key(#'RSAPrivateKey'{modulus = N, publicExponent = E,
  +					privateExponent = D,
  +					prime1 = P1, prime2 = P2,
  +					exponent1 = E1, exponent2 = E2,
  +					coefficient = C})
  +  when is_integer(P1), is_integer(P2),
  +       is_integer(E1), is_integer(E2), is_integer(C) ->
      [crypto:mpint(K) || K <- [E, N, D, P1, P2, E1, E2, C]];
   
  -format_rsa_private_key(#'RSAPrivateKey'{modulus = N, publicExponent = E,
  +old_format_rsa_private_key(#'RSAPrivateKey'{modulus = N, publicExponent = E,
   					privateExponent = D}) ->
      [crypto:mpint(K) || K <- [E, N, D]].
   
  
positive.code:        is_integer(N), is_integer(E), is_integer(D),  
         is_list(Options) ->
      Padding = proplists:get_value(rsa_pad, Options, rsa_pkcs1_padding),
      crypto:rsa_private_decrypt(CipherText, format_rsa_private_key(Key), Padding).
  
  %%--------------------------------------------------------------------
  -spec decrypt_public(CipherText :: binary(), rsa_public_key() | rsa_private_key()) ->
  
negative.code: %% Description: Create digital signature.
  %%--------------------------------------------------------------------
  sign({digest,_}=Digest, DigestType, Key = #'RSAPrivateKey'{}) ->
      crypto:sign(rsa, DigestType, Digest, format_rsa_private_key(Key));
  
  sign(PlainText, DigestType, Key = #'RSAPrivateKey'{}) ->
      crypto:sign(rsa, DigestType, PlainText, format_rsa_private_key(Key));
  
  sign({digest,_}=Digest, sha, #'DSAPrivateKey'{p = P, q = Q, g = G, x = X}) ->
      crypto:sign(dss, sha, Digest, [P, Q, G, X]);
  
  sign(PlainText, sha, #'DSAPrivateKey'{p = P, q = Q, g = G, x = X}) ->
      crypto:sign(dss, sha, PlainText, [P, Q, G, X]);
  
  sign(Digest, DigestType, Key = {?'id-ecPublicKey', _, _}) ->
      sign(Digest, DigestType, ec_public_key_to_eckey(Key));
  