Skip to main content
Share Your Experience: Take the 2024 Developer Survey
22 votes
Accepted

How would one "Encrypt" a message using a Bitcoin *public key* and use its private key to decrypt it?

Yes, this is possible. However, I want to upfront state that this is not advisable for multiple reasons: Bitcoin keys are intended to be single use for privacy reasons, and leveraging them for ...
Pieter Wuille's user avatar
11 votes
Accepted

How can a deterministic wallet have one private key but multiple public keys

No, there is not one private key. There is one Master private key. The master private key is then used to generate more private keys in a deterministic fashion, i.e. using the same master private key, ...
Ava Chow's user avatar
  • 70.8k
8 votes
Accepted

A security need for Bitcoin to fork to quantum resistant algorithm in a few years?

asymmetric ciphers Ones based on specific primitives, like RSA and ECDSA specifically. Symmetric algorithms are supposed to be safe. With approximately half the number of bits of security due to ...
Claris's user avatar
  • 15.4k
8 votes

Is BIP324 v2transport redundant on Tor and I2P connections?

The encryption aspect of BIP324 isn't very useful on Tor/I2P, but it's pretty cheap in terms of computation power (cheaper than the old unencrypted protocol on many systems!). We could define a ...
Pieter Wuille's user avatar
6 votes

data confidentiality on blockchain

The traditional answer for Bitcoin to this question is "pseudonymity, not anonymity". All the data published on the blockchain is necessary for the world to validate that transactions are valid, no ...
Pieter Wuille's user avatar
5 votes
Accepted

Is this how I should calculate a Double SHA256

Yes you should convert your first output before feeding it back in: A hash function is typically a function which takes in an array of bytes (of arbitrary size) and spits out an array of bytes (of ...
Sven Williamson's user avatar
5 votes

How long would it take a large computer to crack a private key?

A Bitcoin private key (ECC key) is an integer between one and about 10^77. This may not seem like much of a selection, but for practical purposes it's essentially infinite. If you could process one ...
Badr Bellaj's user avatar
  • 1,151
5 votes
Accepted

one time pad using blockchain

The requirement for a one time pad to be secure is that it consists of uniformly random data, only known to the participants that should be able to encrypt/decrypt. The blockchain is not random (it's ...
Pieter Wuille's user avatar
5 votes
Accepted

BIP324 encrypted packet structure

In the new P2P transport protocol proposed in BIP324, after the handshake (which among other things establishes encryption keys), packets have the following structure: A 3-byte length descriptor (...
Pieter Wuille's user avatar
4 votes

How can I fix corrupted encrypted wallet.dat?

Found out that pywallet has recovery feature, and it worked: Created 1GB FAT32 partition on flash drive(/dev/sdb1 in my case), copied corrupted wallet.dat on it and run: nyaa@ubuntu:~/github/...
nyaa's user avatar
  • 171
4 votes
Accepted

Should I put my bitcoin wallet on an encrypted disk or not?

This only helps when someone malicious has physical access to you hard drive while your computer is not operational (shut down, account logged out, screen locked, etc.). When your operating system is ...
UTF-8's user avatar
  • 3,224
4 votes
Accepted

How do Ledger Backups get stored?

Using words to back up wallets is a process described in BIP 39. Basically, the mnemonic is converted into a seed. This seed is then used as the seed to a Heirarchical Deterministic (HD) wallet, as ...
meshcollider's user avatar
  • 11.8k
4 votes

How would one "Encrypt" a message using a Bitcoin *public key* and use its private key to decrypt it?

If you want to encrypt messages, you should use a proper message/file encryption tool like PGP/GPG. Homebrewed cryptography using bitcoin things is prone to having poor security properties.
G. Maxwell's user avatar
  • 7,727
4 votes

How would one "Encrypt" a message using a Bitcoin *public key* and use its private key to decrypt it?

Be sure to follow the warnings given previously in other answers, but for the record this was implemented in a project called Bitmessage. The main implementation is in Python at https://github.com/...
JBaczuk's user avatar
  • 7,418
4 votes

Ironically, encryption is not an important part of bitcoin (?)

Cryptography and Encryption In the wider world, cryptography is used for a variety of security related purposes: Authentication (proof of identity, or proof of ownership) Non-repudiation (author ...
RedGrittyBrick's user avatar
4 votes
Accepted

Bitcoin and encryption

Bitcoin uses cryptography to create digital signatures and cryptographic hash functions for various purposes such as transaction ids, block ids, and to commit to specific transactions in blocks. The ...
Murch's user avatar
  • 75.7k
4 votes

To test if my wallet.dat encryption password is correct, MUST I spend coins?

As you are using the Bitcoin Core wallet you can look at the right bottom if your wallet is locked or unlocked in the padlock icon. Go to Window > Console and type: walletpassphrase "your ...
Luca Blight's user avatar
3 votes

How do Ledger Backups get stored?

It is a common misconception that there are actual objects or chunks of data that are Bitcoin and that your wallet receives. That is actually not the case; your Bitcoin are just values attached to ...
Ava Chow's user avatar
  • 70.8k
3 votes
Accepted

How should I encrypt a bip39 mnemonic with a password?

Bip39 has an optional "encryption" over PBKDF2 (passphrase-to-key) used as salt (this allows possible deniability). https://github.com/bitcoin/bips/blob/master/bip-0039.mediawiki#from-mnemonic-to-seed ...
Jonas Schnelli's user avatar
3 votes

Do all Cryptocurrencies uses same Public key Cryptography algorithm?

Not necessarily. A cryptocoin can use whatever asymmetric algorithm they choose, and I'm sure some have tried different things, but ECDSA has a big advantage: public keys are generated from private ...
Jestin's user avatar
  • 8,812
3 votes

Will there be a point in the future where moving bitcoins to a new address will make them safer?

Will there be a point in the future where moving bitcoins to a new address will make them safer? That is already the case. Using a 2-of-2 multisig address (with keys separated) is safer against ...
Pieter Wuille's user avatar
3 votes

Encrypting wallet manually instead of using hardware wallet

The benefit of hardware deterministic wallets is that your keys are permanently kept offline and secret, as long as you don't leak your seed words. To spend bitcoin, the transaction signing is ...
Adam Millerchip's user avatar
3 votes

How does blockchain technology handle the actual transaction data?

how are these files stored, encrypted and sent to B on the blockchain? They aren't. Those files are not stored on the blockchain nor are they transmitted to B using the blockchain. Does blockchain ...
Ava Chow's user avatar
  • 70.8k
3 votes

data confidentiality on blockchain

Most blockchains do not promise confidentiality. Those that do usually employ some form of zero knowledge or encryption, such as with ZCash. The exact specifics of the implementation will vary wildly ...
Raghav Sood's user avatar
  • 17.1k
3 votes
Accepted

Is encryption really needed for blockchain to work?

Bitcoin does not use encryption, and does not need to in order to secure ownership of coins. Ownership of coins is proven by digitally signing a transaction with the owner's private keys. The ...
JBaczuk's user avatar
  • 7,418
3 votes

How may bitcoins hash algorithm be secured in the future from quantum computing brute forcing?

It is currently understood that quantum computers could theoretically offer a quadratic speed-up in cracking hash function preimages using Grover's algorithm, and cubic speed-up in finding hash ...
bca-0353f40e's user avatar
  • 1,025
3 votes

Ironically, encryption is not an important part of bitcoin (?)

Standard transactions are digitally signed using a private key. If a middle man tampers with the transaction, then the digital signature verification would fail, because the only way to produce a ...
JBaczuk's user avatar
  • 7,418
3 votes

Why is Bitcoin Core not asking me to enter the decryption key for my allegedly "encrypted" wallet.dat?

Only the private keys are encrypted if you have an encrypted wallet.dat. The passphrase is only asked when those are needed, i.e. when you try to send coins.
Pieter Wuille's user avatar
3 votes
Accepted

Public key Exceeding Mod P? A Clarification Request On The Discrete Logarithm Problem

It is important to note that the Elliptic Curve Discrete Logarithm Problem (ECDLP) is slightly different from the normal Discrete Logarithm Problem (DLP). In DLP, the ^ operator is actually ...
Ava Chow's user avatar
  • 70.8k
3 votes

Decrypting Bitcoin Core wallet with password that contains special characters

There have previously been issues with entering passphrases that contain non-ascii characters, however these all were related to how the terminal processes those characters before Bitcoin Core does. ...
Ava Chow's user avatar
  • 70.8k

Only top scored, non community-wiki answers of a minimum length are eligible