Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

This is only a "Gentle Intro" if you know advanced mathematical notation.


Honestly nothing in this article is even that bad, just some elementary group theory. If you wanted to, you could probably pick it up in a few hours. The math for the HE schemes themselves does rely on some intermediate level number theory though (e.g. Chinese Remainder Theorem in polynomial rings) and of course there's a whole formal language for the security proofs also.


I'm always confused by people complaining about knowing 'advanced' mathematical notation. The thing that requires effort to understand is the actual mathematics, not the notation.


Doew this author use square brackets to indicate a number-like object?


The notation in that article is basic discrete math stuff...


I got most of it, but... KeyGen(1^lambda), what does the 1^lambda part mean? They don't really explain that, and I don't remember encountering that notation in any of the mathematics courses I took at university


It's lambda encoded as a unary vector, i.e. a vector (1, ..., 1) of lambda ones. It means KeyGen is parametrized by a natural number lambda, like KeyGen(lambda).

The notion is from computer science or complexity theory I think. The reason it's written like this is because the complexity of functions is described as a function of the length of the inputs, rather than the input itself.


Says a stem grad?


Stem grads generally don't study "advanced mathamatical notation" unless you are the "m" in stem.

Of course, its all relative, grade school mathamatical notation is advanced notation to someone who doesn't know it


The parent said "advanced mathematical notation," while in reality this is at most "mathematical notation," and at least "101-level notation."


Which really speaks to the complexity of the field. It'll be another century before the ELI5 version comes along.


The business card version, as I understand it, involves splitting our plaintext as bits, encrypt each, pass these 'bits' through a logical circuit equivalent to the desired computation (ex a full adder [0]), decrypt the 'bits', and reassemble them into the transformed plaintext. The advanced math comes in encrypting it by choosing values that they follow a lattice [1] .. maybe .. so that evaluating the circuit doesn't trash the encrypted bits.

[0] https://en.wikipedia.org/wiki/Adder_(electronics)#Full_adder

[1] https://en.wikipedia.org/wiki/Lattice_(group)


ELI5 level isn't what I'd want, personally. Cryptography is of interest to many programmers, and the mental gymnastics needed for mathematics and programming are quite similar. This topic could be explained to a much broader audience without the mathematical notation, albeit not nearly as concisely, and it'd likely lack the exacting precision afforded by the notation.


This sounds like people are just scared of the maths. I find it very hard to imagine there are many people who know what modular arithmetic, polynomials, or groups are, but don't know the sigma notation for summing, the forall sign, or the general "prop1, prop2 : conclusion" for 'given prop1 and prop2 then conclusion'.




Consider applying for YC's Winter 2027 batch! Applications are open till November 2.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: