Encryption isn't needed here.
author0xDEADFACE <masmfan@gmail.com>
Fri, 12 Feb 2016 14:51:52 +0000 (06:51 -0800)
committer0xDEADFACE <masmfan@gmail.com>
Fri, 12 Feb 2016 14:52:14 +0000 (06:52 -0800)
doc/MalleableKeysCryptedR.txt [deleted file]
src/rpcwallet.cpp

diff --git a/doc/MalleableKeysCryptedR.txt b/doc/MalleableKeysCryptedR.txt
deleted file mode 100644 (file)
index 9631fec..0000000
+++ /dev/null
@@ -1,30 +0,0 @@
-Generate key pairs:
-
-> newmalleablekey
-{
-"PrivatePair" : "DgiohBCDx3N528wVLC3DZzAeAk3dnaSS7zt7dL3HBpNh4MAGk2xHRVxHQNNGg6eX3MmAV8bPLPMfRJ2m14wMjagpjpCsV33A",
-"PublicPair" : "5GRZdncReLgGZL7pjFQCpWMLzRpb4FxfYEGdaQeMSRZdZZWFmDR7qSuQHNxXX1UcAkdPSGiqdTKWfnayCX2vJbf2SgfoqdvC5mP",
-"PublicBytes" : "01210390db9818fc073642977989afb9e8e4c47adaf8d940a8a0562a0d7230bdbf8af1210326cf4bcaccb70d418dab3304d7b8eddf00c900ff8ce22eaa639214c40e937220"
-}
-
-Create public key variant:
-
-> adjustmalleablepubkey 5GRZdncReLgGZL7pjFQCpWMLzRpb4FxfYEGdaQeMSRZdZZWFmDR7qSuQHNxXX1UcAkdPSGiqdTKWfnayCX2vJbf2SgfoqdvC5mP
-{
-"R" : "020b2e43c4c5984d02c564a18f0efb64cb9d3617ff3154699d2ed4718d0512365d",
-"Rcrypted" : "03ffdb5faf6c54db89e14b11b92f28dfda1f65e09001276cc38491b69b94e85b1c4ee0d6ff62db2aaa5669f884afcab7b6690ea3cc97c5b4a2eba8960bcbf089c53dfb92225b4dfde0658419acc56976477dac66343a6621dea05889badcc68b0ed019edde",
-"PubkeyVariant" : "02f956d11ece637741bc96f441209dc36c78aa3f0320cc22433ae053a1d27a2a25",
-"KeyVariantID" : "4NA1e7f5qD68ApK8vbaX7VVjfAitSLbyNu"
-}
-
-Now, the both crypted and uncrypted R parameter should produce identical private keys:
-
-> adjustmalleablekey DgiohBCDx3N528wVLC3DZzAeAk3dnaSS7zt7dL3HBpNh4MAGk2xHRVxHQNNGg6eX3MmAV8bPLPMfRJ2m14wMjagpjpCsV33A 02f956d11ece637741bc96f441209dc36c78aa3f0320cc22433ae053a1d27a2a25 020b2e43c4c5984d02c564a18f0efb64cb9d3617ff3154699d2ed4718d0512365d
-{
-"PrivateKey" : "MBhrGekLruK6GsNTvWq9gJDtJ7EAGH2Rixv81ZwqbbGBah1Cz5jV"
-}
-
-> adjustmalleablekey DgiohBCDx3N528wVLC3DZzAeAk3dnaSS7zt7dL3HBpNh4MAGk2xHRVxHQNNGg6eX3MmAV8bPLPMfRJ2m14wMjagpjpCsV33A 02f956d11ece637741bc96f441209dc36c78aa3f0320cc22433ae053a1d27a2a25 03ffdb5faf6c54db89e14b11b92f28dfda1f65e09001276cc38491b69b94e85b1c4ee0d6ff62db2aaa5669f884afcab7b6690ea3cc97c5b4a2eba8960bcbf089c53dfb92225b4dfde0658419acc56976477dac66343a6621dea05889badcc68b0ed019edde
-{
-"PrivateKey" : "MBhrGekLruK6GsNTvWq9gJDtJ7EAGH2Rixv81ZwqbbGBah1Cz5jV"
-}
index c1be536..c2b43c7 100644 (file)
@@ -1894,23 +1894,7 @@ Value adjustmalleablekey(const Array& params, bool fHelp)
     CKey privKeyVariant;
     CPubKey vchPubKeyVariant = CPubKey(ParseHex(params[1].get_str()));
 
-    std::vector<unsigned char> vchR = ParseHex(params[2].get_str());
-
-    CPubKey R;
-    if (vchR.size() == 33)
-        R = CPubKey(vchR);
-    else {
-        // R is encrypted
-        CSecret pvchSecretL, pvchSecretH;
-
-        malleableKey.GetSecrets(pvchSecretL, pvchSecretH);
-        CKey key;
-        key.SetSecret(pvchSecretL);
-
-        std::vector<unsigned char> vchDecryptedR;
-        key.DecryptData(vchR, vchDecryptedR);
-        R = CPubKey(vchDecryptedR);
-    }
+    CPubKey R(ParseHex(params[2].get_str()));
 
     if (!malleableKey.CheckKeyVariant(R,vchPubKeyVariant, privKeyVariant)) {
         throw runtime_error("Unable to calculate the private key");
@@ -1944,12 +1928,8 @@ Value adjustmalleablepubkey(const Array& params, bool fHelp)
     CPubKey R, vchPubKeyVariant;
     malleablePubKey.GetVariant(R, vchPubKeyVariant);
 
-    std::vector<unsigned char> encryptedR;
-    malleablePubKey.GetL().EncryptData(R.Raw(), encryptedR);
-
     Object result;
     result.push_back(Pair("R", HexStr(R.Raw())));
-    result.push_back(Pair("Rcrypted", HexStr(encryptedR)));
     result.push_back(Pair("PubkeyVariant", HexStr(vchPubKeyVariant.Raw())));
     result.push_back(Pair("KeyVariantID", CBitcoinAddress(vchPubKeyVariant.GetID()).ToString()));