# How does onlykey generate unlimited private keys?

**URL:** <https://onlykey.discourse.group/t/how-does-onlykey-generate-unlimited-private-keys/470>\
**Category:** SSH, OpenPGP, GPG\
**Created:** [August 13, 2021, 11:05am UTC](https://onlykey.discourse.group/t/how-does-onlykey-generate-unlimited-private-keys/470 "2021-08-13T11:05:04Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![admason](https://avatars.discourse-cdn.com/v4/letter/a/eada6e/32.png) [@admason](https://onlykey.discourse.group/u/admason)\
**Post date:** [August 13, 2021, 11:05am UTC](https://onlykey.discourse.group/t/how-does-onlykey-generate-unlimited-private-keys/470/1 "2021-08-13T11:05:04Z")

</div>

Hello,

Could someone explain the crypto involved for onlykey to generate its own private keys? This seems like an awesome feature because I don’t have to worry about storage constraints when using existing keys. I just want to make sure it is reliable/secure enough to rely upon. If possible, I would like to hear how it compares to other methods of generating derived keys.

---

<div class="post-metadata">

**Author:** ![t11](https://avatars.discourse-cdn.com/v4/letter/t/8e7dd6/32.png) [@t11](https://onlykey.discourse.group/u/t11)\
**Post date:** [August 13, 2021, 1:58pm UTC](https://onlykey.discourse.group/t/how-does-onlykey-generate-unlimited-private-keys/470/2 "2021-08-13T13:58:58Z")

</div>

Its called a key derivation function (KDF) here is more on that - [HKDF - Wikipedia](https://en.wikipedia.org/wiki/HKDF)

Its similar to how there are nearly unlimited private keys for bitcoin. The keys OnlyKey generates are ECC keys like bitcoin. Lets say you had a bitcoin passphrase used to generate your private key and then you added to it like “passphrase” + “email address”. Each unique email address you added to it would create a different private key you could do this with unlimited email addresses. There are other devices that also use derived keys details here - [GitHub - romanz/trezor-agent: Hardware-based SSH/PGP agent](https://github.com/romanz/trezor-agent)

---

<div class="post-metadata">

**Author:** ![admason](https://avatars.discourse-cdn.com/v4/letter/a/eada6e/32.png) [@admason](https://onlykey.discourse.group/u/admason)\
**Post date:** [August 13, 2021, 3:40pm UTC](https://onlykey.discourse.group/t/how-does-onlykey-generate-unlimited-private-keys/470/3 "2021-08-13T15:40:13Z")

</div>

Thank you for the information! Have a great weekend!
