Bitcoin Forum
May 22, 2024, 03:01:20 AM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: [1]
  Print  
Author Topic: Theory of bitcoin - Suggestions - MOOC / books / etc?  (Read 1342 times)
spin (OP)
Sr. Member
****
Offline Offline

Activity: 362
Merit: 261


View Profile
July 14, 2014, 12:20:21 PM
 #1


I'm really interested in understanding more about the underlying cryptography and theory of elyptic curve crypto.  And basically all the theoretical underpinnings of bitcoin.  I don't really have time to go much broader than bitcoin stuff and I suspect this is already too broad.

Any suggestion on where to start?

I did third year maths at uni.  But haven't really focussed on much on that in my career to date. I do program a bit but nothing too formal.

I am looking at this MOOC but not sure if this will be worthwhile?
https://www.coursera.org/course/crypto

Any other suggestions?

Thanks

If you liked this post buy me a beer.  Beers are quite cheap where I live!
bc1q707guwp9pc73r08jw23lvecpywtazjjk399daa
TimS
Sr. Member
****
Offline Offline

Activity: 250
Merit: 253


View Profile WWW
July 14, 2014, 02:00:52 PM
Last edit: July 14, 2014, 02:41:46 PM by TimS
 #2

I am looking at this MOOC but not sure if this will be worthwhile?
https://www.coursera.org/course/crypto

Any other suggestions?
This course is talking about public key encryption/decryption, e.g. RSA, and how that's used to share a secret key. This and the public key signing algorithm (ECDSA - for signing only, not encryption/decryption) are quite different technologies (although you'd probably find both interesting).
I'd look for some sort of introduction to elliptic curve cryptography.
itod
Legendary
*
Offline Offline

Activity: 1974
Merit: 1076


^ Will code for Bitcoins


View Profile
July 14, 2014, 03:39:19 PM
 #3

I'm really interested in understanding more about the underlying cryptography and theory of elyptic curve crypto.  And basically all the theoretical underpinnings of bitcoin.  I don't really have time to go much broader than bitcoin stuff and I suspect this is already too broad.

Any suggestion on where to start?

I did third year maths at uni.  But haven't really focussed on much on that in my career to date. I do program a bit but nothing too formal.

I am looking at this MOOC but not sure if this will be worthwhile?
https://www.coursera.org/course/crypto

Any other suggestions?

Thanks

Try this, it's excellent:
http://arstechnica.com/security/2013/10/a-relatively-easy-to-understand-primer-on-elliptic-curve-cryptography/

After you digest it thoroughly, it depends where you want to go. If you are interested in programming implementations of those algorithms there are some excellent blogs.
spin (OP)
Sr. Member
****
Offline Offline

Activity: 362
Merit: 261


View Profile
July 15, 2014, 07:30:03 AM
 #4

I am looking at this MOOC but not sure if this will be worthwhile?
https://www.coursera.org/course/crypto

Any other suggestions?
This course is talking about public key encryption/decryption, e.g. RSA, and how that's used to share a secret key. This and the public key signing algorithm (ECDSA - for signing only, not encryption/decryption) are quite different technologies (although you'd probably find both interesting).
I'd look for some sort of introduction to elliptic curve cryptography.
I've started it as it seems a bit more general (plus I'm starting late, so I thought the sooner I start the sooner I can catch up).  I guess I'm letting go my initial requirement of focussed on bitcoin only.
Quote
Cryptography is an indispensable tool for protecting information in computer systems. This course explains the inner workings of cryptographic primitives and how to correctly use them. Students will learn how to reason about the security of cryptographic constructions and how to apply this knowledge to real-world applications. The course begins with a detailed discussion of how two parties who have a shared secret key can communicate securely when a powerful adversary eavesdrops and tampers with traffic. We will examine many deployed protocols and analyze mistakes in existing systems. The second half of the course discusses public-key techniques that let two or more parties generate a shared secret key. We will cover the relevant number theory and discuss public-key encryption, digital signatures, and authentication protocols. Towards the end of the course we will cover more advanced topics such as zero-knowledge, privacy mechanisms, and other forms of encryption. Throughout the course students will be exposed to many exciting open problems in the field.

The the follow-up course also cover ECC.  
https://www.coursera.org/course/crypto2
Quote
Cryptography is an indispensable tool for protecting information in computer systems.  This course is a continuation of Crypto I and explains the inner workings of public-key systems and cryptographic protocols.   Students will learn how to reason about the security of cryptographic constructions and how to apply this knowledge to real-world applications. The course begins with constructions for digital signatures and their applications.   We will then discuss protocols for user authentication and zero-knowledge protocols.    Next we will turn to privacy applications of cryptography supporting anonymous credentials and private database lookup.  We will conclude with more advanced topics including multi-party computation and elliptic curve cryptography.  Throughout the course students will be exposed to many exciting open problems in the field.   The course will include written homeworks and optional programming labs.  The material is self-contained, but the course assumes knowledge of the topics covered in Crypto I as well as a basic understanding of discrete probability theory.

If you liked this post buy me a beer.  Beers are quite cheap where I live!
bc1q707guwp9pc73r08jw23lvecpywtazjjk399daa
spin (OP)
Sr. Member
****
Offline Offline

Activity: 362
Merit: 261


View Profile
July 15, 2014, 07:32:47 AM
 #5

Try this, it's excellent:
http://arstechnica.com/security/2013/10/a-relatively-easy-to-understand-primer-on-elliptic-curve-cryptography/

After you digest it thoroughly, it depends where you want to go. If you are interested in programming implementations of those algorithms there are some excellent blogs.

Thanks, I've read that, but think I need a better build up to really understand it.

If you liked this post buy me a beer.  Beers are quite cheap where I live!
bc1q707guwp9pc73r08jw23lvecpywtazjjk399daa
Nicolas Dorier
Hero Member
*****
Offline Offline

Activity: 714
Merit: 621


View Profile
July 17, 2014, 02:47:26 PM
 #6

Knowing Bitcoin and ECC is not the same.
I know Bitcoin, and implemented it in .NET, but I don't know how ECC works.

If you are interested in Bitcoin then look a my articles : (Yes, I explain and code the crytpo without having to understand the math behind it)

http://www.codeproject.com/Articles/768412/NBitcoin-The-most-complete-Bitcoin-port-Part-Crypt
http://www.codeproject.com/Articles/775226/NBitcoin-Cryptography-Part
http://www.codeproject.com/Articles/784519/NBitcoin-How-to-scan-the-Blockchain

Bitcoin address 15sYbVpRh6dyWycZMwPdxJWD4xbfxReeHe
spin (OP)
Sr. Member
****
Offline Offline

Activity: 362
Merit: 261


View Profile
July 17, 2014, 10:37:45 PM
 #7

Knowing Bitcoin and ECC is not the same.
I know Bitcoin, and implemented it in .NET, but I don't know how ECC works.

If you are interested in Bitcoin then look a my articles : (Yes, I explain and code the crytpo without having to understand the math behind it)

http://www.codeproject.com/Articles/768412/NBitcoin-The-most-complete-Bitcoin-port-Part-Crypt
http://www.codeproject.com/Articles/775226/NBitcoin-Cryptography-Part
http://www.codeproject.com/Articles/784519/NBitcoin-How-to-scan-the-Blockchain

Thanks I think you are right.  I'm leaning to understand the math also.

If you liked this post buy me a beer.  Beers are quite cheap where I live!
bc1q707guwp9pc73r08jw23lvecpywtazjjk399daa
@Blockpair
Newbie
*
Offline Offline

Activity: 8
Merit: 0


View Profile
July 18, 2014, 02:49:14 AM
 #8

Try to understand how Bitcoin solves the byzantine general's problem because it is crucial to understanding how Bitcoin works.

In this old thread on the cryptography mailing lists, Satoshi himself describes how nodes in the Bitcoin network come to consensuses: http://www.mail-archive.com/cryptography@metzdowd.com/msg09997.html
spin (OP)
Sr. Member
****
Offline Offline

Activity: 362
Merit: 261


View Profile
July 18, 2014, 07:51:38 AM
 #9

Try to understand how Bitcoin solves the byzantine general's problem because it is crucial to understanding how Bitcoin works.

In this old thread on the cryptography mailing lists, Satoshi himself describes how nodes in the Bitcoin network come to consensuses: http://www.mail-archive.com/cryptography@metzdowd.com/msg09997.html

Great read that.  Thanks.

If you liked this post buy me a beer.  Beers are quite cheap where I live!
bc1q707guwp9pc73r08jw23lvecpywtazjjk399daa
Pages: [1]
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!