Tech - Programming
By: - at May 27, 2013

Initiation to Cryptography and Encryption to Secure Data

data encryption and securityIn this article we will focus on securing private data in the broadest sense of the term. Any time manipulation of data in order to maintain secrecy or integrity was a major challenge for the information. Whether it is the swapping of Julius Caesar, invisible ink or royal seal, there was and remains necessary to identify or encrypt data.

In computing, it is still quite difficult to determine what is what. In this case, the best way to secure data is obviously not to disclose them. Admittedly, this is not always convenient, but this aspect is not to lose sight of. Why? Data protection is usually based on several layers, the first must be the security of workstation. In fact, it is useless to encrypt a file 140 times if the keys are easily accessible

Often babble as the "Encryption", encryption is the best known principle even if it is not always understood. The idea is to transform the data using methods more or less complex to get "protected" data. This operation must be done in reverse (decryption) in order to recover the original data. There are so many techniques because the principle is as old as the world.

Secret Algorithm
Although they have almost completely disappeared, I speak to you as it is a common temptation when you start to focus on the joys of cryptography. Basically, even a compression is an encoding and can easily believe that an encoding by an algorithm that is known only by ourselves is particularly safe. Unfortunately, the reverse engineering being what it is, this is the wrong approach. It is always quite simple to find the operations of an algorithm and therefore to break the security. Do not engage in this kind of adventure, there is no worse security than an illusory security.

Key encryption
Key encryptionAll modern algorithms now use key ciphers. There are several kinds, grouped into three families.

    1)  Symmetric key encryption

In this type of encryption, the same key is used for encoding and decoding data. There are several (Rijndael, RC2, DES, Triple DES, etc ...) but all are based on the same principle. To give a trivial example, a symmetric key encryption can be a doubling of each ASCII code. Two is then the key.

    2)  Asymmetric key encryption

Much more complex, this encryption uses a pair of public / private key. The public key is used for encryption and private key for decryption. The best known of them is the RSA (Rivest, Shamir, ADLEMAN) algorithm.

Ciphers symmetric or asymmetric key is not safer depending on the nature of the key. This difference is due to problems of key communication. Indeed, in an approach to encryption for communication, I have at one time or another to provide the decryption key in the case of a symmetric key. In this case the key is vulnerable. In the case of asymmetric encryption, I can simply communicate the public key to those wishing to send me the data, so that they can encrypt data with this key. I could decipher them using my private key which is not transmitted. Keep in mind that asymmetric ciphers are heavier and therefore much longer, they are generally reserved for the treatment of a small amount of data.

    3)  One-way Cryptographic

This particular family called "hash» does not allow decryption.

While identification is a vast area, it is an integral part of the world of computer cryptography. Indeed, identification allows to identify a source of statistical data or not as safe without having to decrypt it beforehand. Furthermore identification must be used to reduce luring attacks. Although generally not sufficient, the basis of identification is usually based on the hash.

Hash FunctionThe hash (hash of English) is a one-way cryptographic, that is to say, it is not theoretically possible to go back to the original value by knowing the hash value. There are many algorithms (MD5, SHA1, SHA256, ...). In all cases, the hash gives a resulting chain of known length called hashing size. The value of the hash is obviously to make the identification or data integrity control. It can also be used for purposes of comparison. It is much safer to make a comparison of hash values ​​than of their counterparts in clear.

-Limitations of hash
Although very reliable, hashing has limits. The first of these limits is a proper use, because it is quite easy to recognize a hash value and it can be pretty easy to guess what was hatched. Therefore, the lure becomes possible.

The second danger is to store critical values ​​chopped too easily accessible. So if you chop passwords and you leave the values ​​available, you make your passwords vulnerable to an attack by dictionary or by brute force.

-Hash with a key
To avoid the possibility of corruption of the hash, a hash is generally used with a key, that is to say, we added a secret value to the chopping value making it theoretically impossible to hoax.

Key generation
key generationThis is the pivot of cryptography, without good key, no valid cryptographic. Again, there are several techniques for key generation.

The key precursors are generated randomly. Ensure that the random function is good, which excluded Rand for example and prioritize calls to ad hoc functions. The advantage of the random generation is that it can generate very strong keys when it is well used.

Very popular as they do not store the key, the derived key generation is , however perilous as it is reliable only if the precursors (usually passwords) are well chosen, which will allow us to ramble a little about passwords.

The perennial problem of password is based on the ongoing struggle between memory and strength. A strong password is usually twenty character using sensitive letters, numbers and punctuation characters, it is more fashionable that it does not contain any word or sequence of characters that may make it vulnerable to a dictionary attack. We can say at once that to store "dAT9 {j *-c3 {p5KvADyX (rb" it will take a little practice. However, a derivative key of "Fido" presents relatively little resistance as we must find a compromise in sensitivity of protected data and their duration.





Introduction to Java EE (Part 1)
How the Google App Engine Works
WSDL - Web Service Description Language
SOAP: Simple Object Access Protocol
Initiation to Cryptography and Encryption to Secure Data
Introduction to Design Patterns in Java
How To Write Efficient Programs in Java
Proper Management of Logs in .Net
How To Remove FaceBook Action Ids From URL


Copyright © 2017 YurTopic All rights reserved.

Protected by Copyscape Online Plagiarism Software

There has been a total of

hits counter
Unique Visitors to YurTopic
(Since January 1st 2013)

About  |  Terms and Conditions  |  Contact