Post
Topic
Board Development & Technical Discussion
Re: Euler's totient function algorithm compatible with SHA-256?
by
DeathAndTaxes
on 30/01/2014, 18:50:26 UTC
Ok could you explain why using ECDSA keys are more viable over RSA keys short of the difference in speed and size of the key. I am a bit new to this and trying to understand the functionality of SHA-256.

Not sure why you keep linking ECDSA with SHA-256?  

ECDSA has smaller keys for a given key strength than RSA.  Since the blockchain is a historical ledger and the size of a transaction directly correlates to the size of the keys and signatures RSA would be a far inferior choice.  ECDSA achieves 128 bit security using a 256 bit private key (and 256 bit compressed public key).  That would require 3,076 bit RSA keys to provide the same level of security.  That means signatures and pubkey on the input side of a transaction would be ~12x larger.  If we assume a block was filled with 2 input and 2 output tx then for a given number of transactions Bitcoin-RSA would have blocks which are 8x larger.

Bitcoin doesn't "require" SHA-256.  It is possible to pay directly to the pubkey.  The using of a hashing function is completely separate from the use of a public key cipher.  So what is confusing is you keep asking about ECDSA and then say you are trying to understand the functionality of SHA-256. 

Bitcoin (as it relates to address & transactions) uses SHA-256 to provide the following benefits
a) reduction in the size of transactions (payments are to pubkeyhash not pubkey)
b) reduction in the size of addresses
c) (combined with checksum and address format) provide a method to detect invalid addresses and thus prevent human error
d) provide a level of quantum computing resistance.  Shor's algorithm only works against a private key when the pubkey is known.  Addresses are an encoded and checksumed representation of the pubkeyhash not the pubkey.

Bitcoin or Bitcoin-RSA could either be used with or without SHA-256 so if you question is on ECDSA why keep bringing up SHA-256?