This is a from-scratch explanation of private information retrieval built using homomorphic encryption. I try to assume only a general math / computer science background. To simplify things, my explanations may not always match academic definitions. You can check out this paper or code for more. Say we want to fetch an article from Wikipedia, but somehow not reveal to the server which one we fetched.