<p>I can't say I'm familiar with all of the cryptocurrencies you mentioned, but the Bitcoin clones generally use elliptic curve (secp256k1) cryptography and the same address generation scheme.</p>

<h2>Keys</h2>

<p>A <a href="https://en.bitcoin.it/wiki/Private_key" rel="nofollow noreferrer"><strong>private key</strong></a> is any 256 bit number. However, for the EC used by Bitcoin, it must be between <code>0x1</code> and <code>0xFFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFE BAAE DCE6 AF48 A03B BFD2 5E8C D036 4140</code>. Any random number in that range is valid.</p>

<p>A <strong>public key</strong> is calculated from the private key using the elliptic curve algorithm with the <a href="https://en.bitcoin.it/wiki/Secp256k1" rel="nofollow noreferrer"><code>secp256k1</code></a> parameters, which is a <a href="https://en.wikipedia.org/wiki/One-way_function" rel="nofollow noreferrer">one-way</a> <a href="https://en.wikipedia.org/wiki/Deterministic_algorithm" rel="nofollow noreferrer">deterministic</a> algorithm.</p>

<p>BIP32 is a standard Bitcoin proposed for key generation so a hierarchy of keys can be derived using a set of indices. This is to be implemented by wallet software to make it easier to generate a set of keys deterministically and restore them if needed from a single master key and set of indices. It is not required to follow BIP32 to generate a valid key pair.</p>

<h2>Addresses</h2>

<p>See <a href="https://en.bitcoin.it/wiki/Address" rel="nofollow noreferrer">Address</a>, <a href="https://en.bitcoin.it/wiki/Technical_background_of_version_1_Bitcoin_addresses" rel="nofollow noreferrer">Technical background of version 1 Bitcoin addresses</a>, and <a href="https://en.bitcoin.it/wiki/List_of_address_prefixes" rel="nofollow noreferrer">List of address prefixes</a>.</p>

<p>Also, I wrote this article explaining Bitcoin address generation step by step, which might be helpful: <a href="https://medium.com/coinmonks/how-to-generate-a-bitcoin-address-step-by-step-9d7fcbf1ad0b" rel="nofollow noreferrer">https://medium.com/coinmonks/how-to-generate-a-bitcoin-address-step-by-step-9d7fcbf1ad0b</a></p>

CC BY-SA 4.0
2018-08-30T13:58:29.217Z
2018-08-30T13:58:29.217Z
JBaczuk
<p>Not sure if this is the correct forum to ask, but I couldn't find a general one for all cryptocurrencies
I wanted to get an idea on how the whole cold-storage private/public key generation works for different cryptocurrencies. So I was playing around with BIP32 deriviation path on: <a href="https://iancoleman.io/bip39/#english" rel="nofollow noreferrer">https://iancoleman.io/bip39/#english</a></p>

<p>I noticed that for example BTC, XRP, PIRL all have the same BIP32 root key and BIP32 extended private/public key, but DOGE was completely different. Why is that? BTC hashing algorithm is SHA256 and PIRL uses Scrypt, their root seeds are the same, while DOGE which uses Dagger has a different seed and private/public key.</p>

<p>The second part that I don't understand is the generation process of addresses for different cryptocurrencies, is there a web site where I could look up on how it's done? The only one I found is for bitcoin here <a href="https://www.mobilefish.com/services/cryptocurrency/cryptocurrency.html#refMethod2" rel="nofollow noreferrer">https://www.mobilefish.com/services/cryptocurrency/cryptocurrency.html#refMethod2</a></p>

<private-key><hash><public-key><bip32-hd-wallets><seed>
General private/public key generation
Martynas Jakimcikas
# General private/public key generation

(Asked by: username_0 on 2018-08-30)

Not sure if this is the correct forum to ask, but I couldn't find a general one for all cryptocurrencies
I wanted to get an idea on how the whole cold-storage private/public key generation works for different cryptocurrencies. So I was playing around with BIP32 deriviation path on: <https://iancoleman.io/bip39/#english>

I noticed that for example BTC, XRP, PIRL all have the same BIP32 root key and BIP32 extended private/public key, but DOGE was completely different. Why is that? BTC hashing algorithm is SHA256 and PIRL uses Scrypt, their root seeds are the same, while DOGE which uses Dagger has a different seed and private/public key.

The second part that I don't understand is the generation process of addresses for different cryptocurrencies, is there a web site where I could look up on how it's done? The only one I found is for bitcoin here <https://www.mobilefish.com/services/cryptocurrency/cryptocurrency.html#refMethod2>

**Tags:** private-key, hash, public-key, bip32-hd-wallets, seed


---

## 1 answers

### Answer by username_1 on 2018-08-30. Score: 2 | Accepted answer

I can't say I'm familiar with all of the cryptocurrencies you mentioned, but the Bitcoin clones generally use elliptic curve (secp256k1) cryptography and the same address generation scheme.

## Keys

A [**private key**](https://en.bitcoin.it/wiki/Private_key) is any 256 bit number. However, for the EC used by Bitcoin, it must be between `0x1` and `0xFFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFE BAAE DCE6 AF48 A03B BFD2 5E8C D036 4140`. Any random number in that range is valid.

A **public key** is calculated from the private key using the elliptic curve algorithm with the [`secp256k1`](https://en.bitcoin.it/wiki/Secp256k1) parameters, which is a [one-way](https://en.wikipedia.org/wiki/One-way_function) [deterministic](https://en.wikipedia.org/wiki/Deterministic_algorithm) algorithm.

BIP32 is a standard Bitcoin proposed for key generation so a hierarchy of keys can be derived using a set of indices. This is to be implemented by wallet software to make it easier to generate a set of keys deterministically and restore them if needed from a single master key and set of indices. It is not required to follow BIP32 to generate a valid key pair.

## Addresses

See [Address](https://en.bitcoin.it/wiki/Address), [Technical background of version 1 Bitcoin addresses](https://en.bitcoin.it/wiki/Technical_background_of_version_1_Bitcoin_addresses), and [List of address prefixes](https://en.bitcoin.it/wiki/List_of_address_prefixes).

Also, I wrote this article explaining Bitcoin address generation step by step, which might be helpful: <https://medium.com/coinmonks/how-to-generate-a-bitcoin-address-step-by-step-9d7fcbf1ad0b>


---

