I find that one of the biggest barriers to understanding papers like this is decoding their notation. Very frequently simple things are expressed in a way that looks really complex. For example, saying something like (A == A1)|(A == A2)|(A == A3)|(A == A4) | ... | (A == An) instead of "Searching through the entire set of objects looking to see if there are any matches" Now I can appreciate that there are probably advantages to using such a mathematical notation to express this, but it really makes it hard for lay people and non-experts to understand what the fuck is being said in the paper. If they explained things in English, a lot of things wouldn't seem so advanced. Once you recognize the basic notations like this and can convert them into English quickly, these papers quickly become a lot less mystifying. Another problem is that they tend to have fifty different variables that you essentially must commit to memory to read the paper. On the first twenty pages, dispersed through out the paragraphs and not in any key, they may describe a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u ,v, q, x, y, z, Alpha, Beta, Gamma, Pi, A, B and C. But after that point they will use the variable by itself in huge strings. When you get to page 30 and see that D = (a ^ b mod Gamma) - q * f, it looks like fucking alphabet soup. You need to keep going back to see what all the variables reference, until you commit all the variables to memory and can fluidly exchange them with the English concept that they represent. Again, I can understand the benefits of using such mathematical notation, but once again I find that it also makes it harder to quickly wrap your head around what is happening (it certainly does for me anyway, I do not think in symbols, I think in English, and I hate having to commit all of these symbols to English). Another problem is that the notation tends to be very overloaded and contextual. Mathematical operators that you THOUGHT you knew may be used in completely different ways from how you have seen them used as a not-a-math-Ph.D , and the people writing papers like this are not going to take the time to explain the meaning of the operators in the context of their paper, because they assume that if you are reading their paper you already can infer the meaning of the operators based on the context of the sorts of things they are doing. This can be very confusing. You also need to learn notations such as || which is frequently used to mean concatenation, and also pseudo-code is frequently mixed in as well (which is quickly understood if you are a programmer) , so they may say blind(a, b, pi) instead of "The blinding algorithm uses the parameters a b and pi. Anyway to make a long story short, yes these papers deal with really complex math and fully understanding the how will require you to really know your shit regarding math, and having a firm understanding of the basic elements of cryptography and anonymity is certainly very helpful/required as well. But a LOT of understanding papers like this is simply being able to convert the complex seeming notations into English, understanding the operators they are using in the context of the paper, and committing the dozens of variables to memory. After you have done that, there are still things you will not understand without being really good at math / understanding the fundamentals of crypto-anonymity, but the paper will not seem quite so impossible anymore.