Through this post I(Ankit), Nikhil and Vikas would like to mention our experience at working for our project and its presentation.
First of all, I should not forget to thank our instructor Dr. Amarjeet for providing us with an opportunity to work upon something new and practical.
The aim of our project was to find ways of sharing information and data over networks such that the transfer is encrypted and the files are not accessible to any third party. We studied about different secure protocols such as https, ipsec, ssl, tls, ssh.
Networking via https is not at the choice of the user but can be done if the webserver has obtained a certificate for it and also either the browser should be pre installed with the certificate or else it can be installed later on.
For communicating via ssl/tls, the first condition is that the server should enable ssl and secondly the client also needs to obtain a server certificate. We could not demonstrate that because for this we were required to set up our own server.
Ssh uses public-key cryptography for authentification. The general method is that the client machine generates a key with private and public copy. The private copy is accessible only to the machine itself and the public key is sent to the machine with which the connection is to be established. Then any types of file transfer can take place between the machines.
Here is a good ssh tutorial - http://support.suso.com/supki/SSH_Tutorial_for_Linux .
Since ftp protocol was not a secure protocol, so sftp(secure ftp) was developed to overcome the shortcomings of ftp. It also utilizes the ssh encryption. Can be used both in windows as well as linux.
We could not find many utilities related to this topic but hope that the presentation and this post have been informative enough.
Also we should be thanking our IIIT-D server room administrators for their guidance and for giving us access to the servers.