Pages:
Author

Topic: The Three Encryption Methods Used by Bitcoin - page 2. (Read 3777 times)

legendary
Activity: 980
Merit: 1004
Firstbits: Compromised. Thanks, Android!
2)  How do those pieces all fit together?  (Or is this question waaaay complicated ??)

Succinctly:

Each private key in your wallet is a 256-bit number. ECC (yes, it is complicated) is used to create a corresponding public key for each private key.

Both SHA-256 and RIPEMD-160 hashing are used together to derive the corresponding bitcoin address from each public key.

Public-key signing (making use of the ECC-generated public and private keys) is used to sign and verify each transaction sending bitcoins from an address.

SHA-256 hashing is also used to bundle up transactions broadcast on the network into blocks that are verified as legit, and with each block containing a reference to the previous block for added security. Creating these blocks is called "mining".
legendary
Activity: 2142
Merit: 1010
Newbie
- You are a large stakeholder in NXT and use any opportunity to push this agenda.  You are looking for a platform right now to talk about some disingenuous advantage of NXT over bitcoin.  I went to the Wiki and found one already: "Nxt's PoS mining does not cause monetary inflation."  This implies disingenuously that distributing coins by mining is somehow unfair and NXT came up with a better system.  But another way of describing the NXT coin distribution model is that the original stakeholders started with control of 100% of all coins that will ever be in existence!

- AnonyMint is a notorious thread derailer, who--with great verbosity--will use any platform he can to paint his fear-based image of a dystopian future if we don't all adopt his completely anonymous coin [which we've been waiting to see for for quite some time now].

By discussing personality of ur opponents u proved that u have no real counter-arguments. Not gonna waste my time on u anymore.
legendary
Activity: 1162
Merit: 1007
PS: Yes, I said that u r just a troll.

That's a relief.  I was worried I wasn't being obvious enough and people might have thought that the D-Wave Quantum Computing Company actually had a quantum computer, let alone one that could crack Secp256k1.  When do D-Wave insiders expect to be able to crack Secp256k1?  Answer: never.  


I see u can say only "blah-blah-blah". Care to say anything valuable? Prove AnonyMint wrong or something.

I did provide something valuable: accurate ridicule.  It was the ridicule of MtGox that prevented even more people from losing money there (the "goxxing" meme, people making fun of MK [although I do not believe he was incompetent]). We are all operating in an unregulated economy and people are waking up to the fact that trust and reputation are important.  

Debating with either of you has shown time and time again to be fruitless.  New readers can check your post histories to see that:

- You are a large stakeholder in NXT and use any opportunity to push this agenda.  You are looking for a platform right now to talk about some disingenuous advantage of NXT over bitcoin.  I went to the Wiki and found one already: "Nxt's PoS mining does not cause monetary inflation."  This implies disingenuously that distributing coins by mining is somehow unfair and NXT came up with a better system.  But another way of describing the NXT coin distribution model is that the original stakeholders started with control of 100% of all coins that will ever be in existence!

- AnonyMint is a notorious thread derailer, who--with great verbosity--will use any platform he can to paint his fear-based image of a dystopian future if we don't all adopt his completely anonymous coin [which we've been waiting to see for for quite some time now].

legendary
Activity: 2142
Merit: 1010
Newbie
AnonyMint and Come-from-Beyond please note: the haterz are gonna hate.  You guys just keep on preaching the truth and earning those bright orange ignore banners!  

My physicist friend from D-Wave here in Vancouver says they crack Secp256k1 for breakfast.  Muthaf*%#n Q-bits, yo.  

I see u can say only "blah-blah-blah". Care to say anything valuable? Prove AnonyMint wrong or something.

PS: Yes, I said that u r just a troll.
legendary
Activity: 1162
Merit: 1007
AnonyMint and Come-from-Beyond please note: the haterz are gonna hate.  You guys just keep on preaching the truth and earning those bright orange ignore banners!  

My physicist friend from D-Wave here in Vancouver says they crack Secp256k1 for breakfast.  Muthaf*%#n Q-bits, yo.  
legendary
Activity: 2142
Merit: 1010
Newbie
OP, please note: There is a reason that AnonyMint's "ignore" button is a bright orange.

OP, please note: The most valuable info is obtained from people with bright orange "ignore" button. Because they don't lick someone's arses and don't repeat mantras that 1 BTC will be worth 1 million dollars.

PS: AnonyMint is right, once QCs appear Bitcoin will be f***ed. At least noone has offered a good solution to avoid this.
hero member
Activity: 518
Merit: 521
OP, please note: There is a reason that AnonyMint's "ignore" button is a bright orange.

And note he hasn't dared tried to refute what I wrote, because he can't.
legendary
Activity: 3472
Merit: 4801
OP, please note: There is a reason that AnonyMint's "ignore" button is a bright orange.
Edit: Just discovered that the highlighted "ignore" link has been temporarily disabled.

As for how do they all fit together ... that is a long topic and I have drunk too much port.  Start looking at the bitcoin wiki.

I don't drink port.  I'll have a go at it:

Bitcoin uses sha256 to generate a unique ID to reference two important types of data.  Indexing these IDs in a database makes searching for them much faster/easier.

A block can be identified by its sha256 hash
A transaction can be identified by its sha256 hash. The transaction hash is only a reliable method of lookup after the transaction is confirmed. Until then, then transaction hash can be modified.
sha256 hashes are used to generate a merkle tree identifying the ordered list of transactions in a block.
The merkle root (also a sha256 hash) is used to prove that a merkle tree for a particular block is valid.

Bitcoin also uses sha256 as a proof-of-work system to make it difficult for an attacker to modify the blockchain.  The result of the sha256 proof-of-work hash is the block hash.

ECDSA (using the Secp256k1 curve) is an Elliptic Curve Digital Signature Algorithm used to provide proof that a spender is authorized to spend the bitcoins that they use to fund a transaction.

ECDSA depends on a mathematically linked pair of keys ( a private key used for creating the signature, and a public key used to verify the signature)  To increase security, and shorten the size of the address, bitcoin passes the public key first through sha256, and then the result of that is passed through RIPEMD160 (another hashing algorithm).  The result of the ripemd160 hash is concatenated with a 4 byte checksum and a version number.  This value is then encoded using a special base58 encoding.  The result of that is that bitcoin address.

This means that if you are given a public key, then you can repeat the base58(ripemd160(sha256(public key))) process to verify that the given public key corresponds to a given bitcoin address.  If you are given a digital signature AND a public key, then you can use the public key to verify the signature, and then repeat the base58(ripemd160(sha256(public key))) to verify that the signature corresponds to a particular address.

These are the only places I can think of that the protocol uses any of these cryptographic functions.  I suppose it's possible that I've somehow missed something.
hero member
Activity: 518
Merit: 521
The only thing debatable about what I wrote is when the quantum computer will be a reality. Whether you believe or not the NSA (or others) would abuse their power is subjective of course.
hero member
Activity: 667
Merit: 500
...

I think the OP wanted to know how to find out more technical information, not get brainwashed by crackpot conjecture.
hero member
Activity: 518
Merit: 521
Bottom line is Bitcoin can be cracked with a future quantum computer (because it is based on number-theoretic assumptions cryptography, e.g. destruction factoring from a constructed whole, instead of Random oracle style cryptography, e.g. construction of deconstruction into partitions).

It is argued this won't matter because the public key addresses are hashed on the blockchain until the balances are spent. (that is if you follow best practices and don't resend the change back to same public key address spent from) And that everyone can spend their balances to a new quantum-proof encryption method (e.g. Lamport) if ever quantum computers are known to be created.

However that erroneous argument has at least 4 flaws.

  • When you spend, the quantum computing adversary could sniff your spend before it propagates sufficiently on the network and insert a double-spend that reaches more mining nodes faster than yours. In particular a powerful entity such as the NSA is already admitted to be capable of propagation attacks (see "The Quantum system" section at linked article).
  • How do you ever get everyone to do the same human action in large distributed systems? There isn't even an official Bitcoin client any more.
  • How do we know when the adversary has a quantum computer, given the capability of the NSA to issue national security letter gag orders? They had differential analysis to break cryptography in the 1970s and 80s and the public was unaware.
  • If we adopt something like Zerocoin to add more anonymity to the tracing of trail of ownership of a coin, these signatures can't be retroactively hardened later, thus all that history of anonymity is suddenly lost once the adversary gains a quantum computer.

And people wonder why I think Bitcoin is piece-of-shit.  Roll Eyes (and this is only 10% of the technical problems I see in Bitcoin)

The worst would be if the current ECDSA variant chosen was seeded by the NSA. There is some speculation about that yet apparently Bitcoin's choice was not one of the ones seeded opaquely by NIST or other potential surrogate (although I haven't dug in and don't trust the summaries I've seen to do my homework for me).
donator
Activity: 1218
Merit: 1079
Gerald Davis
Those are all used in Bitcoin however none of them are encryption methods.  Hashing algorithms, digital signature algorithms, and encryption algorithms are all cryptography. 

There is actually no encryption used in the Bitcoin protocol although many wallets do employ encryption (most commonly AES) to protect the keys from being stolen.

As for how do they all fit together ... that is a long topic and I have drunk too much port.  Start looking at the bitcoin wiki.

For general information on SHA-256, RIPEMD-160, and ECDSA (or ECC in general) wikipedia will give you some basic background information.
legendary
Activity: 2940
Merit: 1865
...

I'm new just today, but have really been very happy with the quality of replies I am seeing and getting, a great community you guys have built! 

So, let me move on to a more complex set of subjects for me to learn about.  My understanding is that the Bitcoin Ecosystem uses three encryption methods:

-- SHA256, a hash-function, see link for what I know (not much) here: /lq667xz]http://[Suspicious link removed]/lq667xzPlay with that hashing function here at this fun little place: http://www.xorbin.com/tools/sha256-hash-calculator.  (I will learn some more about hash functions as time permits.)

-- I believe an Elliptic Curve Encryption method is used as well: http://kakaroto.homelinux.net/2012/01/how-the-ecdsa-algorithm-works/, this link was given to me by zerohedge.com member "zaphod", but I have not had a chance to go look into it, zaphod said it was complicated...

-- "RIPEMD160" (which I believe is another hashing function) is also used, but I know essentially nothing about it other than wikipedia's entry.

***

1)  Is my information correct?

2)  How do those pieces all fit together?  (Or is this question waaaay complicated ??)

3)  Is there a nice tidy little place where I can read up on these three?
Pages:
Jump to: