Network Security Practical assignment 2014


Create asecured socket connection between two or more computers and application that uses it. The practical assignment is personal not a group work.

Returning of the assignment

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 (

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.

Content of assignment

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.

Key exchange for symmetric key

  • Diffie-Hellman
  • Shamir three pass protocol
  • ElGamal
  • RSA

Symmetric cipher

You can implement block or stream cipher. Bonus points will be given if you implement both and let user decide which one to use.

  • Block ciphers
    • Triple DES
    • SAFER+
    • Twofish
    • AES
  • Stream ciphers
    • ARC4
    • SEAL
    • A5
    • Rabbit

Digital Signature

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.

  • RSA
  • DSA
  • Elliptic curves (ECDSA)
  • ElGamal

Hash function

  • SHA
  • MD5
  • Whirlpool
  • Any of the new candidates for hash standards

Asymmetric key key-exchange

Create solution that fits best for your application. Remember to validate the asymmetric key!

Other notes

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

Last modified: 2014/04/30 13:26