0

I would like to develop a protocol for specific purpose. This protocol will utilize asymmetric cryptography in which one private key can be paired with numerous public keys: messages encrypted with any of those public keys can be decrypted by that one private key.

That seems to be feasible with elliptic cryptography as per this question and answer.

The obstacle is that, although I am a software engineer, I currently cannot just implement that solution because I do not thoroughly understand it. I do have a basic idea of how asymmetric cryptography works in say SSH and HTTPS. But, in the linked question, all those formulas, equations, expressions and the specific use of verbs "define", "broadcast" etc. make very little sense to me.

Assuming no issues with self-education and tenacity, what would be the quickest pathway to learn the knowledge I need? How to avoid studying branches of cryptography not necessary for what I want to implement? Which resources should I start digging through?

Greendrake
  • 77
  • 6

1 Answers1

2

Consider this an oversimplified, though hopefully useful outline of the path to take.

Proficiency in calculations modulo n is a must. That includes results such as Lagrange's theorem, exponentiation, the Extended Euclidean algorithm, and quadratic residues (most likely I am missing some important items here). The essential concepts from group theory are largely embedded in this stage.

Besides its usefulness elsewhere (or I should say everywhere in asymmetric cryptography), a knowledge of the aforementioned items will put you at the right place for understanding the Discrete Logarithm Problem (DLP). The DLP epitomizes the impracticality of searching for, or computing, the discrete logarithm. This is important to understand because the safety of elliptic curves (EC) is premised on that computational impracticality.

A concise, introductory definition of elliptic curves is here. My first exposure to EC was pages 60-64 of Mastering Bitcoin, by Andreas M. Antonopoulos, but there is plenty of alternative resources that cover everything I've mentioned hitherto.

Upon learning about the DLP, textbooks cover El Gamal cryptosystem. Understanding this topic is relevant to EC because of the analogies between the idea behind El Gamal and the digital signing of messages (for instance, as used in Bitcoin).

Hash functions, AES, and key exchange protocols are further topics that oftentimes are combined with --or on top of-- EC but without being part of EC itself.

Note that nowhere have I mentioned RSA, factorization algorithms/heuristics, or the Pohlig-Hellman algorithm, since I am mindful that you are interested only in the requisites for dealing with EC.

To make this answer more self-contained, I will repeat my comment that other concepts you read in the answer to which you linked are similar to any context from telecommunications. For instance, the notion of broadcasting refers to divulging certain information --such as your address or public key-- that will let any counterparty know where to send you a message that only you can read/decrypt (by means of your private key). Boradcasting means no other thing in cryptography.

Iñaki Viggers
  • 228
  • 1
  • 2
  • 7