This is a pretty good introductory book on the main cryptography primitives and how they can be composed to build full protocols, like TLS. I can say it is quite easy to read (given it's a book about cryptography, which is a quite complex field) - it took me a couple of weeks to read. I had also completed the Coursera course on Cryptography before reading the book, so I believed I wouldn't gain much from reading it. However, I have to admit the book gave me a slightly different perspective and helped me fill some gaps. The book is essentially open-source, which means readers are welcome to offer feedback and improve sections, where possible. That comes with positives and negatives. On the positive side, the book will keep getting better as feedback from readers come in. It's also free! However, there are several parts in the book that contained TODOs and there were also parts that were theoretically completed, but it still felt like something was missing. I was oscillating between a rating of 3 and 4, because I wanted to encourage people being on the fence to read it but at the same time inform them about the caveats (wish I could give a 3.5, but Goodreads doesn't support that yet).