We had the honour of conducting an interview with Professor Ling San from Nanyang Technological University (NTU) on 13 th June 2005. The aim of this interview was to get a professional view/opinion on coding and cryptography.
Before that, we had gone to the websites of National University of Singapore (NUS) to search for professors or lecturers who were interested in the fields of coding and cryptography. We emailed two professors from NUS, Professor Ling San and Professor Xing Chaoping. However, Professor Xing Chaoping was on leave for the year, and thus we could not conduct the email interview with him which we wanted. Because of this, we emailed many other professors from both Singapore and overseas, but none replied, so we decided to have only one interview as we were having a lack of time.
Also, Professor Ling San had moved to NTU, and after some corresponding, we finalised the date of the interview, and we sent him our questions which we formulated.
The interview was tape recorded, and below are the two photos Bi Ran took. Using the tape recorder, we made a transcript of the interview and analysed his opinions/answers.
Photos with Professor Ling San in Nanyang Technological University à
Difference between coding and cryptography
Coding: The technique that is used to translate data (human language) into codes so that electronics/machines can understand them so that machines can understand our human language. Anything that does a translation from human thoughts to machine language is considered coding.
Cryptography: The art of encoding messages such that only authorised people can obtain the true message. Cryptography is a part of coding. Cryptography refers to secret codes like those used in wars.
Strengths of Coding and cryptography
Codes affect our lives in many ways
Taking codes and cryptography for granted
All of us live our busy lives without bothering to ask how everything around us works. It is part of human nature that we don't go all the way to find out, for example, how a MP3 Player works.
The future of coding and cryptography
Cryptography is going to become more and more important, because we will be using more and more electronics transmissions and transactions. Coding, as in the error correcting codes will continue to have same importance. We cannot do without error correcting codes with the growing usage of electronics, as we need to ensure that the data is not corrupted too much.
Number theory is related to coding and cryptography. There is a very famous way for encryption called the RSA, in which R stands for Ron Rivest, S stands for Adi Shamir, and A stands for Leonard Adleman, three professors from MIT. They designed the public key crypto system. There are two types of key, the secret key and the public key.
Decrypting the message is the direct reverse of encryption process. For example, if the message is encrypted by moving all the letters a place forward, the decryption will be moving them one place backwards.
Knowing the encryption process does not help in decrypting. Simple mathematics, which includes knowledge of modulus, is used. Modulus is finding the remainder on division of an integer by another integer. So, RSA works by using number theory. Two big prime numbers P and Q are multiplied to get N.
P x Q = N, where P and Q are prime numbers
Next, a number E is found. E must be a number which have no common factor with (P-1) (Q-1), or in other words, have common factor 1. Assuming the message that is to be sent is F. The sender will inform the receiver of his N and E.
The sender will then calculate the message F to the power of E, and take this result mod N, which means to take the remainder where the result divides by N. This remainder is C. So, the message sent by the sender will be C.
C = F^E mod (p-1) (q-1)
Decoding the message:
When the message C is received, the receiver raises C to the power of D. D is a number such that (DE - 1) is evenly divisible by (P-1) (Q-1). Then, the result is divided by N, and the remainder is F, which is the original message or number.
The following website also shows the process of encrypting and decrypting the RSA with number theory.
Other theories related to coding and cryptography
(However, these concepts are not within our scope of project, but can be considered as further extensions for this project.)
à Used to design some of the latest idea of codes
à Currently can only factorise up to 16
Many theories depend on assumptions, and are not perfect. For example, The RSA crypto system mentioned earlier, it depends on one very important assumption. It assumes that factorising a number is very difficult. Everything voice down to N, which is made up of the product of two prime numbers. If someone can come up with a very fast and clever way of factorising all numbers, then he or she would be able to decrypt all the messages encrypted with RSA. If this happens, RSA Company will go bankrupt overnight.
Also, in the previous stated error correcting code example of yes and no, there is an assumption that interference only hits occasionally and screws up as few bits or encoded information as possible, and thus it can correct the error back automatically. However, if interference changes the encoded messages entirely into a different message which the machine understands, it will not correct the error.
The biggest challenge is to make a code that no one can ever break. Up till now there is no code that people have ever designed that they can prove with 100% certainty that no one can ever break systematically, all codes that people made can be proved to be quite safe, only if certain assumptions are made.
Any news is bad news
In the field of cryptography, any news is bad news. If a code works well, everyone will just keep hush about it. However, if someone manages to crack a code, there are different ways of expressing it.
Let the whole world know about it, and thus boost your own ego.
Keep quiet about it, because nothing is given for breaking others' codes, and furthermore, the code will be changed, and the fun of hacking in would be gone.
So, there is rarely any news in the fields of coding and cryptography.
There is a very huge difference between coding and cryptography. Cryptography is used primarily for encrypting messages or data, only letting the receiver to uncover the truth message beneath the encryption. Coding, on the other hand, is anything that is being encrypted. It can be the translation of human language to computer language and it includes cryptography as well. Therefore, cryptography is part of coding. Very often, the layman gets confuses with these two words because once the word coding is mentioned, they will think of it as cryptography and tend to use these two words as one meaning. Coding and cryptography plays a very important role n our life especially n heavy transmissions of data like computers etc. With technology increasing, coding and cryptography is bound to get more important to ensure our security. The sad truth is, many do not know the importance of coding and cryptography and tend to take them for granted.