What Is Encryption, and How Does It Work?

Encryption has a long history dating back to when the ancient Greeks and Romans sent secret messages by substituting letters only decipherable with a secret key. Join us for a quick history lesson and learn more about how encryption works.
In today’s edition of HTG Explains, we’ll give you a brief history of encryption, how it works, and some examples of different types of encryption—make sure you also check out the previous edition, where we explained why so many geeks hate Internet Explorer.
Image by xkcd, obviously.


The Early Days of Encryption

The ancient Greeks used a tool called a Scytale to help encrypt their messages more quickly using a transposition cipher—they would simply wrap the strip of parchment around the cylinder, write out the message, and then when unwound wouldn’t make sense.
This encryption method could be fairly easily broken, of course, but it’s one of the first examples of encryption actually being used in the real world.
Julius Caesar used a somewhat similar method during his time by shifting each letter of the alphabet to the right or left by a number of positions—an encryption technique known as Caesar’s cipher. For instance, using the example cipher below you’d write “GEEK” as “JHHN”.


Since only the intended recipient of the message knew the cipher, it would be difficult for the next person to decode the message, which would appear as gibberish, but the person that had the cipher could easily decode and read it.
Other simple encryption ciphers like the Polybius square used a polyalphabetic cipher that listed each letter with the corresponding numeric positions across the top and side to tell where the position of the letter was.

Using a table like the one above you would write the letter “G” as “23”, or “GEEK” as “23 31 31 43”.
Enigma Machine

During World War II, the Germans used the Enigma machine to pass encrypted transmissions back and forth, which took years before the Polish were able to crack the messages, and give the solution to the Allied forces, which was instrumental to their victory.

The History of Modern Encryption

Lets face it: modern encryption techniques can be an extremely boring subject, so instead of just explaining them with words, we’ve put together a comic strip that talks about the history of encryption, inspired by Jeff Moser’s stick figure guide to AES.  Note: clearly we cannot convey everything about encryption’s history in a comic strip.
Back in those days, people do not have a good encryption method to secure their electronic communication.

Lucifer was the name given to several of the earliest civilian block ciphers, developed by Horst Feistel and his colleagues at IBM.

The Data Encryption Standard (DES) is a block cipher (a form of shared secret encryption) that was selected by the National Bureau of Standards as an official Federal Information Processing Standard (FIPS) for the United States in 1976 and which has subsequently enjoyed widespread use internationally.

Concerns about security and the relatively slow operation of DES in software motivated researchers to propose a variety of alternative block cipher designs, which started to appear in the late 1980s and early 1990s: examples include RC5, Blowfish, IDEA, NewDES, SAFER, CAST5 and FEAL

The Rijndael encryption algorithm was adopted by the US Government as standard symmetric-key encryption, or Advanced Encryption Standard (AES). AES was announced by National Institute of Standards and Technology (NIST) as U.S. FIPS PUB 197 (FIPS 197) on November 26, 2001 after a 5-year standardization process in which fifteen competing designs were presented and evaluated before Rijndael was selected as the most suitable encryption algorithm.

Encryption Algorithm Performance

Many encryption algorithms exist, and they are all suited to different purposes—the two main characteristics that identify and differentiate one encryption algorithm from another are its ability to secure the protected data against attacks and its speed and efficiency in doing so.
As a good example of the speed difference between different types of encryption, you can use the benchmarking utility built into TrueCrypt’s volume creation wizard—as you can see, AES is by far the fastest type of strong encryption.

There are both slower and faster encryption methods, and they are all suited for different purposes. If you’re simply trying to decrypt a tiny piece of data every so often, you can afford to use the strongest possible encryption, or even encrypt it twice with different types of encryption. If you require speed, you’d probably want to go with AES.
For more on benchmarking different types of encryption, check out a report from Washington University of St. Louis, where they did a ton of testing on different routines, and explained it all in a very geeky write-up.

Types of Modern Encryption

All the fancy encryption algorithm that we have talked about earlier are mostly used for two different types of encryption:

  • Symmetric key algorithms use related or identical encryption keys for both encryption and decryption.
  • Asymmetric key algorithms use different keys for encryption and decryption—this is usually referred to as Public-key Cryptography.

Symmetric key encryption

To explain this concept, we’ll use the postal service metaphor described in Wikipedia to understand how symmetric key algorithms works.
Alice puts her secret message in a box, and locks the box using a padlock to which she has a key. She then sends the box to Bob through regular mail. When Bob receives the box, he uses an identical copy of Alice’s key (which he has somehow obtained previously, maybe by a face-to-face meeting) to open the box, and read the message. Bob can then use the same padlock to send his secret reply.

Symmetric-key algorithms can be divided into stream ciphers and block ciphers—stream ciphers encrypt the bits of the message one at a time, and block ciphers take a number of bits, often in blocks of 64 bits at a time, and encrypt them as a single unit. There’s a lot of different algorithms you can choose from—the more popular and well-respected symmetric algorithms include Twofish, Serpent, AES (Rijndael), Blowfish, CAST5, RC4, TDES, and IDEA.

Asymmetric Encryption

In an asymmetric key system, Bob and Alice have separate padlocks, instead of the single padlock with multiple keys from the symmetric example. Note: this is, of course, a greatly oversimplified example of how it really works, which is much more complicated, but you’ll get the general idea.
First, Alice asks Bob to send his open padlock to her through regular mail, keeping his key to himself. When Alice receives it she uses it to lock a box containing her message, and sends the locked box to Bob. Bob can then unlock the box with his key and read the message from Alice. To reply, Bob must similarly get Alice’s open padlock to lock the box before sending it back to her.

The critical advantage in an asymmetric key system is that Bob and Alice never need to send a copy of their keys to each other. This prevents a third party (perhaps, in the example, a corrupt postal worker) from copying a key while it is in transit, allowing said third party to spy on all future messages sent between Alice and Bob. In addition, if Bob were careless and allowed someone else to copy his key, Alice’s messages to Bob would be compromised, but Alice’s messages to other people would remain secret, since the other people would be providing different padlocks for Alice to use.
Asymmetric encryption uses different keys for encryption and decryption. The message recipient creates a private key and a public key. The public key is distributed among the message senders and they use the public key to encrypt the message. The recipient uses their private key any encrypted messages that have been encrypted using the recipient’s public key.
There’s one major benefit to doing encryption this way compare to symmetric encryption. We never need to send anything secret (like our encryption key or password) over an insecure channel. Your public key goes out to the world—it’s not secret and it doesn’t need to be. Your private key can stay snug and cozy on your personal computer, where you generated it—it never has to be e-mailed anywhere, or read by attackers.

How Encryption Secures Communication on the Web

For many years, the SSL (Secure Sockets Layer) protocol has been securing web transactions using encryption between your web browser and a web server, protecting you from anybody that might be snooping on the network in the middle.
SSL itself is conceptually quite simple. It begins when the browser requests a secure page (usually https://)

The web server sends its public key with its certificate.

The browser checks that the certificate was issued by a trusted party (usually a trusted root CA), that the certificate is still valid and that the certificate is related to the site contacted.

The browser then uses the public key, to encrypt a random symmetric encryption key and sends it to the server with the encrypted URL required as well as other encrypted http data.

The web server decrypts the symmetric encryption key using its private key and uses the browser’s symmetric key to decrypt its URL and http data.

The web server sends back the requested html document and http data encrypted with the browser’s symmetric key. The browser decrypts the http data and html document using the symmetric key and displays the information.

And now you can securely buy that eBay item you really didn’t need.

Did You Learn Anything?

If you made it this far, we’re at the end of our long journey to understanding encryption and a little bit of how it works—starting from the early days of encryption with the Greeks and Romans, the rise of Lucifer, and finally how SSL uses asymmetric and symmetric encryption to help you buy that fluffy pink bunny on eBay.

We’re big fans of encryption here at How-To Geek, and we’ve covered a lot of different ways to do things like:

  • Getting Started with TrueCrypt (to Secure Your Data)
  • Encrypt Files And Folders With Just A Few Clicks
  • Add Automatic Website Encryption to Firefox
  • BitLocker To Go Encrypts Portable Flash Drives in Windows 7
  • How to Secure Your Linux PC by Encrypting Your Hard Drive
  • Add Encrypt / Decrypt Options to Windows 7 / Vista Right-Click Menu
  • Getting Started with TrueCrypt Drive Encryption on Mac OS X

Of course encryption is far too complicated a topic to really explain everything. Did we miss something important? Feel free to lay some knowledge on your fellow readers in the comments.

What Is the Linux fstab File, and How Does It Work?

If you’re running Linux, then it’s likely that you’ve needed to change some options for your file systems.  Getting acquainted with fstab can make the whole process a lot easier, and it’s much easier than you think.

What Is Fstab?

Fstab is your operating system’s file system table.  If you want a review of file systems, be sure to check out our other article, HTG Explains: Which Linux File System Should You Choose? In the old days, it was the primary way that the system mounted files automatically.  Nowadays, you can plug in a USB drive of any kind and it’ll just pop up in Nautilus like it does in Windows and Mac OS, but once upon a time, you had to manually mount those disks to a specific folder using the “mount” command.  This held true for DVDs, CDs, and even floppies (remember those?).
Back then, your only alternative was the tell the computer that anytime a specific device was plugged in, it should be automatically mounted in a specific place.  This is where fstab came in, and it was awesome.  Suppose you swapped hard disks on your IDE or SCSI controller.  The computer could load the file systems in a different order, potentially messing things up.  Fstab is configured to look for specific file systems and mount them automatically in a desired way each and every time, preventing a myriad of disasters from occurring.

Your Fstab File

The fstab file is located at:


Let’s take a look at my fstab file, shall we?

You’ll definitely see differences, but if you want to follow along with your own fstab just pop this command into a terminal:

You can also use gedit if you’re not comfortable with nano.
The Obvious Options

You’ll notice all of the entries begin with UUIDs.  You may remember seeing this in one of our previous articles, How to Choose a Partition Scheme for Your Linux PC, but we’ll explain it again anyway.  Each file system, during formatting, gets assigned a Universally Unique Identifier, which it takes to the grave.  Since it cannot be changed, this is the ideal way to select file systems for mounting, especially for important ones.  Let’s say your /home partition is on a second hard drive and you end up moving it to an external hard drive; fstab will still find that partition and mount it correctly, avoiding a failed boot.  If you switch to (or are stuck using) the old method of using device identifiers to select partitions (i.e. /dev/sda1), this advantage disappears because hard drives and partitions are counted by their controllers, and can thus change.
Edit: Using UUIDs in your fstab file, while convenient for most home users, does have a few big caveats.  This doesn’t work when using things like “assembled” or “network-based” devices.  If you’re more of an advanced user, or plan on using things like software RAID in the future, you’re better off not using UUIDs.

The next section of fstab, like all subsequent ones, is separated by either a space or a tab, or a combination of them.  Here, you’ll find the mount point.  As you can see, I have a root (/) mount point, a swap, and two that I manually added in for my shared network storage drives.  If you’re adding an entry to fstab, then you’ll have to manually create the mount point before you restart your computer (and the changes take effect).

Next is the section which identifies the type of file system on the partition.  Many, such as ext2/3/4, ReiserFS, jFS, etc. are natively read by Linux.  Your particular system may still need to have particular packages installed to be able to read and write to them.  The perfect examples are my NTFS partitions; you can see that I’m using the ntfs-3g driver to access them.
The Scarier Stuff
The next few sections are what usually scare away newcomers, but they’re really not so complicated.  There’s a large set of options available, but there’s a handful or so of very common ones.  Let’s take a look at them. (The default option is first, followed by alternatives, but as Linux distros can be very different, your mileage may vary.)

  • auto/noauto:  Specify whether the partition should be automatically mounted on boot.  You can block specific partitions from mounting at boot-up by using “noauto”.
  • exec/noexec:  Specifies whether the partition can execute binaries.  If you have a scratch partition that you compile on, then this would be useful, or maybe if you have /home on a separate file system.  If you’re concerned about security, change this to “noexec”.
  • ro/rw:  “ro” is read-only, and “rw” is read-write.  If you want to be able to write to a file-system as the user and not as root, you’ll need to have “rw” specified.
  • sync/async:  This one is interesting.  “sync” forces writing to occur immediately on execution of the command, which is ideal for floppies (how much of a geek are you?) and USB drives, but isn’t entirely necessary for internal hard disks.  What “async” does is allow the command to execute over an elapsed time period, perhaps when user activity dies down and the like.  Ever get a message asking to your “wait while changes are being written to the drive?”  This is usually why.
  • nouser/user:  This allows the user to have mounting and unmounting privileges.  An important note is that “user” automatically implies “noexec” so if you need to execute binaries and still mount as a user, be sure to explicitly use “exec” as an option.

These options are separated by a comma and no spaces, and can be put in any order.  If you’re not sure about the defaults, it’s okay to explicitly state your options.  Things that are mounted from temporary places (like USB) won’t follow this basic pattern unless you created entries for them (by UUID) in fstab.  It’s convenient when you want an external hard drive to always mount in a particular way, because normal thumb-drives and the like won’t be affected.

You can see that my two storage drives have user mounting privileges enabled, read-write access enabled, and auto-mounting is turned on.  I don’t compile much software, but when I do, I add the “exec” option at the end of the list.
Dumping and Fscking

The next option is a binary value (“0” for false and “1” for true) for “dumping.”  This is a pretty much out-dated method of backup for cases when the system went down.  You should leave this as “0”.

The last option is a numeric value for “passing.”  This tells the system the order in which to fsck (pronounce that however you like), or perform a file system check.  If a disk has an option of “0” it will be skipped, like my NTFS-formatted storage drives.  The root file system should always be “1” and other file systems can go afterward.  This works best for journaling file systems like ext3/4 and ReiserFS.  Older file systems like FAT16/32 and ext2 can take a while, so it’s better to turn their fscking off and do it periodically yourself.

Now that you know what you’re doing, you can go crazy with automatic mounting and the like.  It’s very convenient when you’ve got a ton of partitions that need to be managed.  Always remember to make a backup in case something goes wrong, but have fun, and be sure to leave your experiences in the comments!

What Is Bitcoin, and How Does it Work?

Geeks have had their own “money” for some time, but typically it is within the context of online gaming. While this digital currency does possess intrinsic value, the market for it is usually limited to other gamers. However, 2009 gave rise to another form of digital currency, bitcoin, which has demonstrated some global demand as a medium for exchange.
Image credit: Zack Copley
Editor’s Note: we want to make it very clear right up front that we are not recommending that you invest in Bitcoins. It’s very likely that you will lose money.


How It Works

In its essence, bitcoin is a crypto-currency implemented entirely with open source specifications and software which relies entirely on a peer-to-peer network for both transaction processing and validation. We will briefly cover how this works (for more technical details, you can see the links at the end of the article), but we are primarily going to focus on the bitcoin economy itself.
A bitcoin is simply an SHA-256 hash (which is an extremely large number) in hexadecimal format. A person’s bitcoins are stored in a special file called a wallet, which also holds each address the user sends and receives bitcoins from as well as password/private key known only to the user, which is required before the bitcoins can be spent.
A bitcoin is spent/exchanged by initiating a transfer request from an address in the wallet of the payer to an address of the payee. A bitcoin address can be thought of as an email address (with bitcoin addresses being hashes instead of “readable” strings). A group of transactions (called a block) are broadcast to the bitcoin peer-to-peer to network for validation, which is tentatively completed once a single node generates a random SHA-256 hash with certain properties (starts with a specific number of 0 bits). Because an SHA-256 number is huge, the “search” for a suitable number requires an enormous amount of computing power – which is what the bitcoin peer-to-peer network provides.
When a suitable block hash is found, it is coupled with a nonce (a one-time number) and then broadcast to the peer-to-peer network. This resulting hash is then combined with the previous completed block hash along with the bitcoin(s) being exchanged, which creates a chain. This chain forms the “trust” of each bitcoin transaction, as each new transaction block is generated based on the unique hash of the previous. In fact, the entire history of every bitcoin transaction can be traced back through a single link chain.
As a reward for the node which generated the suitable hash, new bitcoins are created and/or any transactional fees are credited to the node’s address. The process of attempting to generate validation hashes is called mining, and it is the only way new bitcoins enter the economy.
Again, we want to be clear that this is a very simplified overview of how the bitcoin exchange works, but this gives a foundation for the topics we are covering in this article.

Transactional Security and Trust

By design, each bitcoin transaction is anonymous in the sense that only bitcoin addresses (hashes) are exposed. For additional anonymity, a bitcoin wallet can generate a new address for receiving future exchanges, hence making it very difficult, if not impossible, to trace every transaction performed by a particular individual.
As an additional security feature, the bitcoin transactional chain prevents bitcoins from being double spent. In order for a transaction to be undone, first the link in the chain which defines the target transaction would have to have a new hash generated, as well as every link after the target (as each transaction hash depends on the previous). Because the bitcoin network trusts the longest continuous chain and each suitable SHA-256 hash takes approximately 10 minutes to generate (more on this in a bit), an attack would require more computational power than all honest nodes… or an unheard of amount of luck. To ensure neither are feasible, a transaction block is not considered final until it is 6 links deep (which takes about 1 hour).

Bitcoin Mining

One very import aspect is the controlled rate at which block hashes are generated, which is called mining. By design this is, on average, every 10 minutes. However, because computing power in the peer-to-peer network can fluctuate as new nodes enter/leave the network and/or computational power of those nodes increase due to hardware improvements, the difficulty of the validation hash has to adjust accordingly.
To accomplish this, the bitcoin network adjusts the requirements for a “suitable” block validation hash. As we stated above, a block validation hash must have a specific number of leading zero bits, so in order to adjust the time on average it takes to generate a valid value, the number of leading zeros required adjusts accordingly. As more computing power is added to the processing network, the number of leading zeroes increases (making it more difficult to find a value). Alternately, if the computing power decreases, the number of leading zeroes required decreases as well (making it easier to find a value).
Quite simply, the more nodes (or more specifically, the number crunching available) in the system, the harder a hash is to generate. Considering the SHA-256 hashes are generated via brute force, the mining process consumes an enormous amount of processing power. Additionally, there is no guarantee that any particular mining node will ever generate a suitable hash (and, hence, collect the newly generated bitcoins and/or transaction fees) as it is simply “luck” that a particular node finds a suitable value first.
The rate at which bitcoins are rewarded is controlled as well. The system has a hard limit of ~21 million bitcoins. This limit will be reached around 2140. At this time, when miners are no longer rewarded with the creation of new bitcoins, the incentive will move solely to transaction fees.
It should be noted that mining is an extreme computational process that will quickly run up your electricity bill. So much so that current mining software doesn’t even run on CPUs because they are too inefficient. Rather, it uses GPU’s (down to a science) or specially designed chips. There are even custom-designed mining boxes. Mining is treated as big business and, unlike distributed computing networks, isn’t something you can simply repurpose your spare machine for.

An example of a custom built bitcoin miner. (Image by: Mirko Tobias Schaefer)

Bitcoin Strengths

Anonymity and privacy
Perhaps the biggest strength of bitcoin is that it is virtually anonymous. Because bitcoin transactions are sent from hash address to hash address (which, recall, can be changed from transaction to transaction), it is possible for the two parties involved to be completely unknown to each other. For a somewhat comparable analogy, think of it as sending cash in the mail to a PO box where the return address is another PO box. Due to this aspect of bitcoins, it is very very difficult to build a profile of any single user. In many ways, with regards to privacy, it is better than cash.
Additionally, because there is no central processing authority (as the peer-to-peer network handles this), it is impossible to lock anyone out of the system.
No required transaction fees (for most transactions)
Unlike when you use a credit card where the processor (e.g. Visa, Mastercard, etc.) charges a transaction fee which the merchant has to pay, bitcoin currently has no such required fees on most transactions.  Because transactions are processed by the peer-to-peer network, which is rewarded by the system with the creation of new bitcoins, a reward for the processors (miners) is built-in.
So why would you choose to pay a transaction fee? Currently, the only practical reason would be to prioritize the block the transaction is included in. As stated above, a transaction is not considered “official” until it is 6 blocks deep, and when a transaction is being considered for inclusion in a block, a heavily considered factor is the transaction fee associated with it. Because mining (processing) is motivated by earning bitcoins, including a transaction fee is a sure way to bump up the priority of a particular transaction.

No governing authority (hence, not subject to easy taxation)
Quite simply, bitcoin is currently not recognized as an official form of money by any government, therefore any “payments” or “income” in the form of bitcoins are not taxable. You can think of it as a barter system where you don’t “pay” for something with bitcoins, rather you “trade” bitcoins for it. In the same sense that if you were to trade 3 apples for 3 oranges, the oranges you received are not taxed (practically speaking).
Admittedly, this is a very simplistic explanation (and the same could be said for cash transactions), but bitcoin has an advantage of not being recognized as actual money when it comes to taxation.
However, an important point to keep in mind is that if/when bitcoins are converted to actual currency (for example US Dollars), then the resulting income could be subject to taxation.

Bitcoin Weaknesses

Possible Government Interference
Any time something new comes around and challenges the status quo, the government is going to get involved to make sure that things remain the way they are supposed to be. The fact is that the US government, and other governments, are looking into BitCoin for a variety of reasons, including some legitimate reasons like money laundering and terrorist funding.
Just in the last few days, the US government has started seizing some accounts from the biggest BitCoin exchange. More is likely to come in the future.
No monetary sovereignty
Perhaps the biggest weakness of bitcoin is that it is not a “recognized” sovereign currency, that is, it is not backed by the full faith of any governing body. While this could be seen as strength, the fact that bitcoin is a fiat currency which is accepted only on the perceived value of other bitcoin users makes it highly vulnerable to destabilization. Simply put, if one day a large number of merchants who accept bitcoin as a form of payment stop doing so, then the value of bitcoin would fall drastically.
Deflationary by design
A knock on the bitcoin design from an economic perspective is due to the fact that the number of bitcoins which will be generated has a hard limit of ~21 million. Inherently, this means the economy is deflationary by design, which can make it an ideal target for speculators and hoarders.
Although bitcoins can be spent in increments of .00000001 (meaning a single bitcoin is made up of one million “cents”), an economy where the supply of money cannot keep pace with the demand is very susceptible to recessions and depressions. For example, if speculators held a large percentage of bitcoins solely for the purpose of investment, those bitcoins are not cycling through transactions which means less money is available to change hands. When there is a demand for bitcoin transactions, but not enough currency in circulation to fill that demand, a recession occurs. Eventually, as more bitcoins end up in the hands of speculators, the economy will grind to a halt as no new bitcoins are able to enter the system (a depression). While this is not a foregone conclusion, is it certainly quite possible (and some economists may argue virtually inevitable).
Lack of recourse
The bitcoin network has no built-in protection mechanisms when it comes to accidental loss or theft. For instance, if you lose your bitcoin wallet file (think corruption or drive failure with no backup), the bitcoins held in that wallet are lost forever to the entire economy. Interestingly, this is an aspect which further exacerbates the limited supply of bitcoins.
Additionally, if your wallet file is stolen or compromised and the bitcoins contained within it are spent by the thief before the rightful owner, the double spending protection mechanism built into the network means the rightful owner has no recourse. Unlike if, for example, your credit card is stolen, you can call the bank and cancel the card, bitcoin has no such authority. The bitcoin network only knows that the bitcoins in the compromised wallet file are valid and processes them accordingly. In fact, there is already malware out there which is designed specifically to steal bitcoins.
Black market appeal
A central principle to the design of the bitcoin system is that there is no single transactional processing authority – rather this is handled by the peer-to-peer network as a whole. As a result, no single address or, more specifically, user can be locked out of the system. Combine this with the inherent anonymity of transactions and you have an ideal medium of exchange for nefarious purposes.
While this is not exactly a weakness in bitcoin, the unintended consequence of its usage for dubious purposes could be considered one. In fact, the US Treasury Department recently applied money laundering rules to bitcoin exchanges, no doubtedly, for this precise reason.

Subjects of Debate/Controversy

Here we are going to indulge a bit of controversy surrounding bitcoin. While these topics of conversation are interesting, most everything in this section is conjecture and should be taken with a grain of salt.
Enigmatic developer
The primary designer of the bitcoin specification is a “person” named Satoshi Nakamoto. Person is put in quotes here because it is currently unknown who this is. Satoshi Nakamoto could be an actual person, an internet handle, or a group of people, but nobody actually knows. Once their work of designing the bitcoin network as well as contributing to most of the open source software which drives it was complete, they essentially disappeared.
Extreme financial advantage for early adopters
As mentioned above, new bitcoins are generated on an average of every 10 minutes, which gives a decided financial advantage to early adopters who participated in the mining process. Because the difficulty of finding a suitable block hash scales with the amount of computing power, the fewer the number of miners there are, the better chance they have of being the recipient of new bitcoins. From here, simple deductive reasoning immediately leads to the conclusion that these early adopters (developers) could accumulate bitcoins at an extremely rapid pace which would be practically impossible once the bitcoin network garnered significant public attention.
“Pump and dump” scheme
Bitcoin has gathered enough attention to warrant an exchange between bitcoins and actual currency. During the course of the several years it has been in existence, like any traded commodity, the “price” of a bitcoin has fluctuated. However, bitcoin does seem to be quite susceptible to high peaks followed by almost an immediate drop (which you can see if you look at the price history over the course of a year).
Of course, this is not indicative that bitcoin is designed as a “pump and dump” scheme – as, again, any traded commodity could be subject to this – however, the pattern has certainly appeared many times over the relatively brief lifespan of bitcoin.


There is no doubt that bitcoin is an intriguing concept which has actually gathered some internet merchant acceptance. Interestingly, one person is willing to accept bitcoin as payment for their home. Whether or not bitcoin can stand the test of time remains to be seen, but the more attention it gets, the better it seems to catch on.
If you have any personal experience with bitcoin, please tell us about it in the comments.

Links to Additional Information

Bitcoin Software
Bitcoin Wiki – Protocol and Technical Details
Bitcoin on Wikipedia

What Is Wi-Fi Direct, and How Does It Work?

More and more new devices are using Wi-Fi Direct. Wi-Fi Direct allows two devices to establish a direct, peer-to-peer Wi-Fi connection without requiring a wireless router. Wi-Fi becomes a way of communicating wirelessly, like Bluetooth.
Wi-Fi Direct is similar in concept to “ad-hoc” Wi-Fi mode. However, unlike an ad-hoc Wi-Fi connection, Wi-Fi Direct includes an easier way to automatically discover nearby devices and connect to them.


The Concept

You may already have a device using Wi-Fi Direct. For example, the Roku 3 comes with a remote control that it communicates with using Wi-Fi Direct rather than using an older IR blaster or Bluetooth connection. The remote control doesn’t actually connect to your wireless router. Instead, the Roku creates a new Wi-Fi network that the remote control connects to, and the two communicate over their own little network.
You’ll see this as a Wi-Fi network named DIRECT-roku-### when in range of the Roku. You won’t be able to connect if you try because you won’t have the security key. The security key is automatically negotiated between the remote control and the Roku.
This gives devices an easy way to communicate with each other using standard Wi-Fi protocols. You don’t have to go through any unwieldy set-up procedures. At no point do you have to enter your Wi-Fi passphrase into the remote control, as the connection process happens automatically.

Other Uses for Wi-FI Direct

RELATED ARTICLEWireless Display Standards Explained: AirPlay, Miracast, WiDi, Chromecast, and DLNA
The Miracast wireless display standard also uses Wi-Fi Direct, although this doesn’t engender much confidence, as Miracast seems so incompatible between different devices. Peripherals, such as mice and keyboards, could also communicate via Wi-Fi Direct. Wi-Fi Direct could be used to remotely connect to a wireless printer without requiring the printer to join an existing wireless network.
Android also includes built-in support for Wi-Fi Direct, although few applications are using it just yet.
Many devices are already using Wi-Fi with built-in Wi-Fi radios. Rather than build in different hardware, such as Bluetooth, Wi-Fi Direct allows them to communicate wirelessly without requiring any additional specialized hardware. It adds additional functionality without requiring different hardware.

How It Works

Wi-Fi Direct uses a number of standards to accomplish its functions:

  • Wi-Fi: Wi-Fi Direct uses the same Wi-Fi technology that Wi-Fi-enabled devices use to communicate with wireless routers. A Wi-Fi Direct device can essentially function as an access point, and other Wi-Fi-enabled devices can connect directly to it. This is already possible with ad-hoc networking, but Wi-Fi Direct extends this feature with easy setup and discovery features.
  • Wi-Fi Direct Device and Service Discovery: This protocol gives Wi-Fi Direct devices a way to discover each other and the services they support before connecting. For example. a Wi-Fi Direct device could see all compatible devices in the area and then narrow down the list to only devices that allow printing before displaying a list of nearby Wi-Fi Direct-enabled printers.

RELATED ARTICLEWi-FI Protected Setup (WPS) is Insecure: Here’s Why You Should Disable It

  • Wi-Fi Protected Setup: When two devices connect to each other, they automatically connect via Wi-Fi Protected Setup, or WPS. We can only hope that device makers use a secure connection method for this WPS connection and not the extremely insecure WPS PIN method.
  • WPA2: Wi-Fi Direct devices use WPA2 encryption, which is the most secure way of encrypting Wi-Fi.

Wi-Fi Direct may also be referred to as Wi-Fi peer-to-peer or Wi-Fi P2P, as it functions in peer-to-peer mode. Wi-Fi Direct devices connect directly to each other rather than through a wireless router.

What Can You Actually Use It For?

But what can you actually use Wi-Fi Direct for at the moment? Well, if a device and its peripherals are designed to use Wi-Fi Direct, they’ll use Wi-Fi Direct without you having to think about it. The Roku 3 does this, as we mentioned above.
While Wi-Fi Direct is theoretically supposed to be a standard that allows multiple types of devices supporting the Wi-Fi Direct standard to communicate with each other, this hasn’t really happened just yet.
For example, you may have two new laptops, each advertised as supporting Wi-Fi Direct. You might assume there’d be a way to set up easy file-sharing between them using Wi-Fi Direct, but you’d be wrong at the moment. There’s also no easy way to connect an Android smartphone to a Windows laptop and actually do much just yet. For now, Wi-Fi Direct isn’t a feature you should really concern yourself with. In the future, this may become a more useful standard.

Wi-Fi Direct is a promising feature that’s already working in the real world. However, it has a long way to go before it’s actually an interoperable standard normal people can rely on. At the moment, it’s just a way for specifically designed products to communicate with each other. For devices that require less power, Bluetooth Low Energy will be superior — but Wi-Fi Direct has a fighting chance against higher-powered Bluetooth devices.
Image Credit: miniyo73 on Flickr