Create asecured socket connection between two or more computers and application that uses it. The practical assignment is personal not a group work.
Return the source code tarred and gzipped to lecturer vie email with subject line “[CT30A9700] practical assignment”. Reserve a time from lecturer beforehand for demonstrating your assignment to the lecturer. Prepare to answer to some question concerning your work. Deadline for reserving the demonstration time is May 1 2014. There will be no extensions after this date!
Reserve demonstration time by 1st of May from doodle (http://doodle.com/2ntekakmxgv2357z).
Code returning deadline is 4th of May 23:59 (email, one file as attachment(for example tarred and gzipped project). If you need more time contact lecturer.
In practical assignment you can make several selections for used algorithms and decide whether you do the algorithms from scratch or use existing libraries. Harder algorithms and self implementation will bring you more points.
You can implement block or stream cipher. Bonus points will be given if you implement both and let user decide which one to use.
Use of same algorithm for keyexhange and signature will give you less points than using two different algorithms. After all, goal is to learn use of different algorithms.
Create solution that fits best for your application. Remember to validate the asymmetric key!
If you wish to use some other algorithms, contact the lecturer
You can use existing crypto libraries in your work. Though one of the security methods have to be done by yourself. You can use any programming language you like, but remember that you have to be able to demonstrate that your code works.
Menezes, van Oorschot, Vanstone: Handbook of applied cryptography