Monday, December 9, 2013

Scientific Computing: Computational Science on Biometric Authentication

What Is Biometric Authentication?
The definition I like the most for biometric authentication is "you are your key." You are authenticating yourself by something you are such as your fingerprints and voice. In this post, I am going to introduce Two most popular biometric authentication methods fingerprints and iris scan, and how scientists apply computational science on them.

Fingerprints
Fingerprint was severed a purpose as a form of signature at in history. However, it has been used more and more as a scientific form of identification in modern society. Today, they are routinely used for identification, particularly in criminal cases.
How does it work?
First of all, we first capture an image of the fingerprint. Then, we enhance the image by using some image-processing tools, and identify and extract some critical points from the enlarged picture.


To authenticate, we use the extracted points to compared with the claimed user's stored information, which was captured and recorded in the past. With some predetermined level of confidence, the computer then determine if it is a match.


For determining a match, different countries have different standard. For example, in England, fingerprints must match in sixteen points while in the United States, surprisingly no fixed number of points are required to match.


Iris Scan


Iris scan is, in theory, one the best for authentication. One reason is that it has little or no generic influence on the iris pattern so it remains accurate for identical twins. Furthermore, the property of the pattern is pretty stable throughout a lifetime.
How does it work?
Iris scan system requires sophisticated software and equipment. First, we use an automated iris scanner locates the iris, and then we get a photo with white and black color. The resulting image is then transformed into a 2048-bit iris code.
Two iris codes are compared based on the formula below:

d(x,y) = number of non-match bits/number of bits compared

For example, d(0010, 0101) = 3/4 and d(101111,101001) = 1/3. A perfect match is d(x,y) = 0 but of course we can't expect perfect match in practice. The expected distance for the same iris is 0.08 while the expected distance for different irises is 0.05.

To Conclude
Compare with password, biometrics clearly have more advantages. In particular, it is hard to forge. However, the more sophistical the biometric system is, the more it costs. That is why people nowadays still prefer password because it is way more cheaper.

Saturday, December 7, 2013

Computer Graphics: Visual Database Desgin Tools


MySQL is one of the most popular open-source database, and people use it for wide range of purposes such as Web applications and eCommerce platforms.  However, I bet most of you have unpleasant experiences using the command-line interface. For example, when I was first using MySQL command line, I sometimes got really upset because I had to retyped the whole query ten times in order to get the syntax correct. As a result, when I later discovered that there are some GUI applications for working with mySQL, I was like "Oh my goodness, these tools are amazing!" In this post, I will introduce two applications that I like the most in working with MySQL.

MySQL Workbench

It is a visual database design tool which combines SQL development administration, database design, creation and maintenance into a single integrated development environment for MYSQL data system.
Pros
It is a great tool to quickly set up a new schema, manage relations and updating the underlying database. Also, it works great with JDBC. It is free!
Cons
Sometimes it crashes especially if you are using 64-bit version of Windows 7 so I recommend save the program often.

phpMyAdmin

It is a browser-based MySQL data administration tool written in PHP.
Pros
It is simple to use and has many features and options. User can easily create a database as modify it. Many SQL query can be done with clicking the mouse. Last but not least, it is also a great tool to forecast and see what the result will be if you put your code and database into the actual Web server later in the future.
Cons
Despite many people complain about the ineffiency of the user interface of phpMyAdmin, I personally can't find anything I dislike about. 

To Conclude
These are the two GUI applications for MySQL that I like the most. If you have experiences with using these tools or other tools, please share with me and comment below!




Monday, December 2, 2013

Communications and Security:Email Encryption

Why You Need Email Encryption?
Suppose you want to email some sensitive information such as your banking info and social security numbers, I suggest to use encryption because it made email attacker's job much harder, and it is easy to accomplish. 

To securely encrypt your email, you need at least encrypt two things:
First Thing: Encrypt The Connection
If you don't encrypt your connection, other users on your network can easily capture information such as your email login credentials and sending and receiving messages.
How
First you need to set up SSL and TLS encryption which is the same protection scheme you use for checking your bank account or making online payment. Check your email with a Web browser, and ensure that SSL/TLS encryption is active. If it does, the URL shows https instead of http. Most current email-providers such as Gmail and Hotmail offer SSL/TLS so mostly it is done automatically.
Second Thing: Encrypt The Messages
When your email messages are sent, leaving your email provider and traveling over the internet, it becomes vulnerable to attack. For example, bad guys can always intercept your message when it is bouncing from one server to the other.
How
To make this protection work properly, you and the recipient should do some work ahead of time. One option is to use the encryption features originally from your email service. The other option is download an encryption software such as OpenPGP. If you are in hurry, there is Sendinc available, and it is Web-based encryption email service.