How To Deal With Buffer Overflow

1 mainYou must have encountered the word ‘buffer’ somewhere in your life. In everyday usage, buffer refers to something that acts as an intermediary between two things that don’t get along. It’s a shield which moderates the impact of one thing over the other. In the programming world, buffer refers to an area where we temporarily store data before moving it to another place. Perhaps the most famous example would be copy-paste. When you copy something, it is stored in the buffer until you paste it somewhere. This concept is used extensively while building software systems and it’s important to make sure that the buffer behaves nicely at all times. Now you might ask, what does buffer behavior refer to? Why would it not behave nicely at all times?   Continue reading

Quantum Encryption And Black Holes – Part 2/2

1 mainIn the previous post, we discussed about the concepts of quantum encryption and black holes. We also talked about how we do cryptography in the subatomic world. This blog post is a continuation of that discussion. As the title suggests, the overarching theme is the relationship between quantum encryption and black holes. Let’s continue talking about it then. Although quantum encryption looks extremely robust in theory, how practical is it? What do we know about its security and how is it related to black holes? We know that nothing can escape from black holes, so we need a way to understand more about the black holes.   Continue reading

Quantum Encryption And Black Holes – Part 1/2

1 mainIs that really the title? It looks like two random things mashed up together. Doesn’t make much sense, right? Well, recent research suggests that quantum encryption and black holes may be related. A proposed mathematical proof outlines the way in which information behaves in coded messages, and this may have implications for black holes. The proof basically suggests that the radiation spit out by black holes may retain information about them. The research not only focuses on encoding communications in quantum mechanical systems, but also addresses a long-standing question for theoretical physicists: What exactly happens to all the stuff that falls into a black hole? Is it possible to retrieve any information about the black hole?   Continue reading

DNS Cache Poisoning

1Internet entities are regularly affected by Distributed Denial of Service (DDoS) of various scales. This is basically a way to hack into an entity and stop it from working. Hackers use it all the time to bring down famous sites. They tend to attack the domain name system (DNS), since it allows to infiltrate heavily. Now what is a domain name system? Well, a domain name system server basically translates a human readable domain name (such as mysite.com) into a numerical IP address. This numerical IP address is is used to route communications between nodes on the network. For people who didn’t already know, this is how the internet works! Coming back to the hacking part, the attackers like to attack their victims by poisoning the DNS. Wait a minute, how do you “poison” a system? How do they actually attack the users?   Continue reading

The Intuition Behind Image Watermarking

mainThis is a continuation of my blog post on intro to digital watermarking. In that post, we discussed what digital watermarking is and how it can be achieved. Here, we will discuss the intuition behind image watermarking and a few techniques that can be used. If you look at enough number of images, you will realize that not all of them are equally suited for watermarking. At least, we cannot use the same criteria to watermark all the images. How do we know where to watermark an image? Are there any rules or do we just place some watermark randomly in an image? Does it make a difference?   Continue reading

Digital Watermarking

mainLet’s say you want to verify the authenticity of a signal. The signal can take any form like an image, audio, video, or any other kind of bit stream. By now, everybody would have heard the term “watermark” being used in the general sense. The most common example would be currency notes. Watermarks are embedded to verify the authenticity of the notes. But how do we achieve that with more complicated signals? As things move into the virtual world, where the threats are elevated to a much higher and abstract level, we need a way to verify the authenticity of different forms of digital signals. How do we do it?   Continue reading