Encryption

In the simplest terms, encryption means disguising data, or altering the contents in such a way that only the original user knows how to put them back together. Let’s consider this very simple and ubiquitous example. I use my bank ATM card on a regular basis to withdraw money, perhaps a bit more than I should. Every time I do so, I need the PIN to access my account. Unfortunately, I am a rather forgetful person, so I decide that I will write down the PIN on something that I will always have when I use the ATM card—the ATM card itself.

Being a smart fellow, I realize that writing my PIN number on the card increases rather dramatically the vulnerability of the card; anyone who steals the card will see the PIN written right on it. Goodbye life savings! What can I do to prevent a thief from learning the PIN after stealing my card, yet also allow me to easily remember my PIN?

After a few minutes’ consideration, I come up with a clever idea: I will alter the contents in some predetermined manner. In this case, I add a single-digit number to the PIN and write that new number on the ATM card. Let’s say the single-digit number is 6. My PIN is 6523. After adding 6 to it, it becomes 6529, which is what I write on the card. If a thief gets my card, he will see 6529, but that’s meaningless as a PIN. He will never be able to get the actual value even if he sees the number, because he needs to know how I altered the original number. Even if he knows that I add a number, he has to guess ...

Get Oracle PL/SQL Programming, 5th Edition now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.