Understand and master the principles of privacy protection when using Bitcoin
- gW-0 phrases (ColdCard Q's seed master or the secrets stored in ColdCardQ's seed Vault.
- confidential notes and passwords: this can be any secret or the entire [Secure Notes & Passwords] directory (https://coldcard.com/docs/secure_notes/) on your ColdCardQ.
- a backup of your entire ColdCardQ: the ColdCardQ receiving this backup must not have a seed Master for this to work.
- gW-3 (Partially Signed Bitcoin Transactions) as part of a multi-signature scheme.
How do I use Key Teleport?
1- To transfer any type of data
Prepare the device to receive the secrets
- generated an ephemeral key pair (public/private respectively Ka and ka with Ka=G.ka, G being the ECDH generator point), and an 8-digit password.
- used this password to encrypt the public key (Ka) via AES-256-CTR, then transmitted this password via a communication channel A to the "sending" ColdCardQ.
- finally, we transmitted the encrypted packet to the sender via the QR code above, using a second communication channel B different from the 1st.
Prepare the device that will send the secrets
- we imported the encrypted data by scanning the QR code on the receiving device.
- then we decrypted them using the 8-digit password transmitted to us via a secondary channel.
- we are therefore in possession of the public key (Ka) generated by the receiver initially.
- We then generate a new ephemeral key pair (Kb/kb, with Kb=G.kb) on the sending device, which we use to apply ECDH to Ka. We therefore perform the operation kb.Ka=Ks , where Ks is called "Session Key".
- after selecting the secrets to be transmitted, we generate a new random password called "Teleport Password".
- we then encrypt the secrets via AES-256-CTR using the "Session Key", "Ks", generated in the previous step.
- we prefix the packet already encrypted with the "Session Key " with our Kb public key, then add a further layer of AES-256-CTR encryption with the "Teleport Password ". The whole thing is then encoded as a QR code
Finalize the transfer of secrets to the receiving device
- we have decrypted the data transmitted by the sender using the "Teleport Password".
- we therefore have the public key Kb and our secret message encrypted by the "Session Key ", "Ks". But how can we do this since, as the receiver, we don't know Ks, which was created by the sender?
- We need to apply our private key "ka" from the initial step "Prepare the device that will receive the data" to the public key Kb.
- In fact, by calculating ka.Kb = ka.kb.G=kb.ka.G=kb.Ka=Ks, we find Ks. Which is finally used to decipher the secret message.
2- To transfer PSBT to Multisig (advanced)
Author
This tutorial has been written by Louferlou
You can say thanks by tipping the professor.
Fascinated by the new prospects offered by Bitcoin in terms of freedom and individual sovereignty, I devote my time to exploring and testing innovations that enable everyone to appropriate this technology without any prior technical expertise. If I can do it, anyone can.
Credits
This tutorial has not been proofread yet
The original content has been translated by AI, but human review is necessary to ensure its accuracy.
2 312 sats1 156 sats578 satsEvery content on the platform is the result of a collaborative effort: each lesson, translation, and revision is made possible by the work of contributors. For this reason, we are always looking for proofreaders who can review our content in many languages. If you want to participate in the proofreading process, please reach out in our Telegram group and read our tutorial. We remind you that this content is open-source - licensed under CC BY-SA - so it can be freely shared and used, as long as the original source is credited.

