<p>Buried in the bitcointalk.org forums I found this answer.</p>

<p>Use the keyconv binary file that is included, with the protected/encrypted key as the only  argument:</p>

<pre><code>keyconv [Protected Key Here]
</code></pre>

<p>This will spit out the unencrypted private key. It isn't documented anywhere other than this forum post:</p>

<p><a href="https://bitcointalk.org/index.php?topic=25804.msg2107686;topicseen#msg2107686" rel="nofollow">https://bitcointalk.org/index.php?topic=25804.msg2107686;topicseen#msg2107686</a></p>

CC BY-SA 3.0
2013-12-11T11:21:26.307Z
Lol I reviewed keyconv code but was serching for an flag to decrypt and didn't find it :D. Anyway accept your own answer to help other users.
frisco
CC BY-SA 3.0
2015-12-30T14:07:42.387Z
that fails with a [`keyconv: util.c:330: vg_set_privkey: Assertion \`EC_KEY_check_key(pkey)' failed.`](https://github.com/samr7/vanitygen/issues/35) for me and others, I had to use [elichai's fork](https://github.com/elichai/vanitygen) which requires a `-d` flag for decryption
Tobias Kienzler
CC BY-SA 3.0
2013-12-10T22:06:37.920Z
2013-12-10T22:06:37.920Z
jkriddle
<p>I have found a couple of implementations that should help you to decipher the protKey:</p>

<ul>
<li><a href="https://bitcointalk.org/index.php?topic=36195.msg1701229#msg1701229" rel="nofollow">https://bitcointalk.org/index.php?topic=36195.msg1701229#msg1701229</a> [PHP]</li>
<li><a href="https://gist.github.com/ianpurton/1139867" rel="nofollow">https://gist.github.com/ianpurton/1139867</a> [JS]</li>
</ul>

<p>Also seems that <a href="http://insight.gotdns.org/~samr7/pkprotect.html" rel="nofollow">http://insight.gotdns.org/~samr7/pkprotect.html</a> had some more info, but it is down now, maybe Google Cache o Archive.org can help here.</p>

<p>I have not tested anything so don't blame me it they does not work :D</p>

<p>But it seems that it is a format that is not widely used and there is no easy way to decrypt the private key.</p>

CC BY-SA 3.0
2013-12-10T22:07:03.343Z
Thanks for the response. These look like potential resolutions within existing applications so they could be helpful. I did find an answer in the bitcointalk.org forums that gave a confirmed resolution (see my self-response).
jkriddle
CC BY-SA 3.0
2013-12-10T14:52:52.460Z
2013-12-10T14:52:52.460Z
frisco
<p><a href="https://gist.github.com/ianpurton/1139867" rel="nofollow noreferrer">https://gist.github.com/ianpurton/1139867</a> [JS]
Any idea how to run it.</p>

<p>But try
<a href="https://github.com/exploitagency/vanitygen-plus" rel="nofollow noreferrer">https://github.com/exploitagency/vanitygen-plus</a></p>

<p>Windows
keyconv.exe -C BTC -d protected-key
Linux
./keyconv -C BTC -d protected-key</p>

CC BY-SA 3.0
2018-01-26T16:20:51.323Z
2018-01-26T16:20:51.323Z
Taylor Pecker
<p>I've used <a href="https://github.com/samr7/vanitygen" rel="nofollow">Vanitygen</a> to generate a vanity Bitcoin address. I used the "-e" option to encrypt the private key. What I can't figure out is how to <strong>decrypt</strong> the protected key that was provided after generating the vanity address, nor can I find the encryption method used.</p>

<p>Is there a utility, library or program that I can use to decrypt the protected key in order to access the private key?</p>

<vanitygen>
Decrypting Vanitygen Protected Key
jkriddle
# Decrypting Vanitygen Protected Key

(Asked by: username_0 on 2013-12-10)

I've used [Vanitygen](https://github.com/samr7/vanitygen) to generate a vanity Bitcoin address. I used the "-e" option to encrypt the private key. What I can't figure out is how to **decrypt** the protected key that was provided after generating the vanity address, nor can I find the encryption method used.

Is there a utility, library or program that I can use to decrypt the protected key in order to access the private key?

**Tags:** vanitygen


---

## 3 answers

### Answer by username_0 on 2013-12-10. Score: 2 | Accepted answer

Buried in the bitcointalk.org forums I found this answer.
Use the keyconv binary file that is included, with the protected/encrypted key as the only  argument:
keyconv [Protected Key Here]

This will spit out the unencrypted private key. It isn't documented anywhere other than this forum post:
https://bitcointalk.org/index.php?topic=25804.msg2107686;topicseen#msg2107686

> **Comments:**
> **username_1**: Lol I reviewed keyconv code but was serching for an flag to decrypt and didn't find it :D. Anyway accept your own answer to help other users.  
> **username_2**: that fails with a [`keyconv: util.c:330: vg_set_privkey: Assertion \`EC_KEY_check_key(pkey)' failed.`](https://github.com/samr7/vanitygen/issues/35) for me and others, I had to use [elichai's fork](https://github.com/elichai/vanitygen) which requires a `-d` flag for decryption  

---

### Answer by username_1 on 2013-12-10. Score: 1

I have found a couple of implementations that should help you to decipher the protKey:

* <https://bitcointalk.org/index.php?topic=36195.msg1701229#msg1701229> [PHP]
* <https://gist.github.com/ianpurton/1139867> [JS]

Also seems that <http://insight.gotdns.org/~samr7/pkprotect.html> had some more info, but it is down now, maybe Google Cache o Archive.org can help here.

I have not tested anything so don't blame me it they does not work :D

But it seems that it is a format that is not widely used and there is no easy way to decrypt the private key.

> **Comments:**
> **username_0**: Thanks for the response. These look like potential resolutions within existing applications so they could be helpful. I did find an answer in the bitcointalk.org forums that gave a confirmed resolution (see my self-response).  

---

### Answer by username_3 on 2018-01-26. Score: 0

<https://gist.github.com/ianpurton/1139867> [JS]
Any idea how to run it.

But try
<https://github.com/exploitagency/vanitygen-plus>

Windows
keyconv.exe -C BTC -d protected-key
Linux
./keyconv -C BTC -d protected-key


---

