Search My Blog

Google
 
Foxkeh banners for Firefox 2

Sunday, September 2, 2007

Cryptography

Cryptography derived from Greek kryptos "hidden" and graphy "write" is the study of message secrecy. In modern times, cryptography is considered to be a branch of both mathematics and computer science, and is affiliated closely with information security, computer security, and engineering. Cryptography is used in applications like the security of ATM cards, computer passwords, and electronic commerce etc.

Earlier,cryptography was concerned solely with message confidentiality i.e., encryption — conversion of messages from a comprehensible form into an incomprehensible one, and back again at the other end, rendering it unreadable by interceptors or eavesdroppers without secret knowledge , the key needed for decryption of that message. In recent decades, the field has expanded beyond confidentiality concerns to include techniques for message integrity checking, sender/receiver identity authentication, digital signatures, interactive proofs, and secure computation.

The modern cryptography can be divided into several areas of study. The main ones are listed here:

Symmetric Cryptography

With secret key cryptography, a single key is used for both encryption and decryption sender uses the key or some set of rules to encrypt the plain text and sends the cipher text to the receiver. The receiver applies the same key or rule set to decrypt the message and recover the plain text. Because a single key is used for both functions, secret key cryptography is also called symmetric encryption.

With this form of cryptography, it is obvious that the key must be known to both the sender and the receiver this,is the secret. The biggest difficulty with this approach, of course, is the distribution of the key.

Secret key cryptography schemes are generally categorized as being either stream ciphers or block ciphers. Stream ciphers operate on a single bit byte or computer word at a time and implement some form of feedback mechanism so that the key is constantly changing. A block cipher is so-called because the scheme encrypts one block of data at a time using the same key on each block. In general, the same plain text block will always encrypt to the same cipher text when using the same key in a block cipher whereas the same plain text will encrypt to different cipher text in a stream cipher.

Public-Key Cryptography

Public-key cryptography has been said to be the most significant new development in cryptography in the last 300-400 years. Modern PKC was first described publicly by Stanford University professor Martin Hellman and graduate student Whitfield Diffie in 1976. Their paper described a two-key crypto system in which two parties could engage in a secure communication over a non-secure communications channel without having to share a secret key.

PKC depends upon the existence of so-called one-way functions, or mathematical functions that are easy to computer whereas their inverse function is relatively difficult to compute. Let me give you two simple examples:

Multiplication vs. factorization: Suppose I tell you that I have two numbers, 9 and 16, and that I want to calculate the product; it should take almost no time to calculate the product, 144. Suppose instead that I tell you that I have a number, 144, and I need you tell me which pair of integers I multiplied together to obtain that number. You will eventually come up with the solution but whereas calculating the product took milliseconds, factoring will take longer because you first need to find the 8 pair of integer factors and then determine which one is the correct pair.

Exponentiation vs. logarithms: Suppose I tell you that I want to take the number 3 to the 6th power; again, it is easy to calculate 36=729. But if I tell you that I have the number 729 and want you to tell me the two integers that I used, x and y so that logx 729 = y, it will take you longer to find all possible solutions and select the pair that I used.

Thus multiple implementations are present such as RSA, DSA etc..

Hash Functions

Hash functions, also called message digests and one-way encryption, are algorithms that, in some sense, use no key.Instead, a fixed-length hash value is computed based upon the plaintext that makes it impossible for either the contents or length of the plaintext to be recovered. Hash algorithms are typically used to provide a digital fingerprint of a file's contents, often used to ensure that the file has not been altered by an intruder or virus. Hash functions are also commonly employed by many operating systems to encrypt passwords. Hash functions, then, provide a measure of the integrity of a file.

Hash algorithms that are in common use today include:

Message Digest (MD) algorithms: A series of byte-oriented algorithms that produce a 128-bit hash value from an arbitrary-length message.

MD2 (RFC 1319): Designed for systems with limited memory, such as smart cards.

MD4 (RFC 1320): Developed by Rivest, similar to MD2 but designed specifically for fast processing in software.

MD5 (RFC 1321): Also developed by Rivest after potential weaknesses were reported in MD4; this scheme is similar to MD4 but is slower because more manipulation is made to the original data. MD5 has been implemented in a large number of products although several weaknesses in the algorithm were demonstrated by German cryptographer Hans Dobbertin in 1996.

Secure Hash Algorithm (SHA): Algorithm for NIST's Secure Hash Standard (SHS). SHA-1 produces a 160-bit hash value and was originally published as FIPS 180-1 and RFC 3174. FIPS 180-2 describes five algorithms in the SHS: SHA-1 plus SHA-224, SHA-256, SHA-384, and SHA-512 which can produce hash values that are 224, 256, 384, or 512 bits in length, respectively. SHA-224, -256, -384, and -52 are also described in RFC 4634.


Voice Over IP

The technology is changing fast. Now the new technology is saying Talk Talk.....VOIP.

VOIP: Voice over IP.

Get ready for a change in the way you think about long distance phone calls. Voice over Internet Protocol, is a method for taking analog audio signals, like the kind you hear when you talk on the phone, and turning them into digital data that can be transmitted over the Internet.
VOIP can turn a standard Internet connection into a place for free phone calls. The practical upshot of this is that by using some of the free VOIP software that is available to make Internet phone calls, you are bypassing the phone company and its charges entirely.

VOIP is a new technology that has the potential to completely rework the world's phone systems. VOIP providers like Vonage have already been around for a little while and are growing steadily. Major carriers like AT&T are already setting up VOIP calling plans in several markets around the world, and the FCC is looking seriously at the potential of VOIP service.

Above all, VOIP is basically a reinvention of communication. We can find about the principles behind VOIP, its applications and the potential of this emerging technology, which will more than likely one day replace the traditional phone system entirely.

The interesting thing about VOIP is that there is not just one way to place a call. There are three different versions of VOIP service in common use today:

Some of these versions are:

ATA - The simplest and most common way is through the use of a device called an ATA analog telephone adaptor. The ATA allows you to connect a standard phone to your computer or your Internet connection for use with VOIP. The ATA is an analog-to-digital converter. It takes the analog signal from your traditional phone and converts it into digital data for transmission over the Internet. Providers like Vonage and AT&T CallVantage are providing ATAs free with their service. You simply crack the ATA out of the box, plug the cable from your phone that would normally go in the wall socket into the ATA, and you're ready to make VOIP calls. Some ATAs may ship with additional software that is loaded onto the host computer to configure it; but in any case, it is a very straightforward setup.


IP Phones - These specialized phones look just like normal phones with a handset, cradle and buttons. But instead of having the standard RJ-11 phone connectors, IP phones have an RJ-45 Ethernet connector. IP phones connect directly to your router and have all the hardware and software necessary right on the set to handle the IP call. Wi-Fi phones allow subscribing callers to make VOIP calls from any Wi-Fi hot spot.


Computer-to-computer - This is certainly the easiest way to use VOIP. You don't even have to pay for long-distance calls. There are several companies offering free or very low-cost software that you can use for this type of VOIP. All you need is the software, a microphone, speakers, a sound card and an Internet connection, preferably a fast one like you would get through a cable or DSL modem. Except for your normal monthly ISP fee, there is usually no charge for computer-to-computer calls, no matter the distance.

If you're interested in trying VOIP, then you should check out some of the free VOIP software available on the Internet. You should be able to download and set it up in about three to five minutes. Get a friend to download the software, too, and you can start tinkering with VOIP to get a feel for how it works. If you are using a Linux version like Fedora then you have the software already installed.