Secured communications Practical assignment 2010

Description

Create an application that uses secured socket connection between two or more computers.

Returning of the assignment

Return the source code tarred and gzipped to lecturer vie email with subject line “[CT30A8800] 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 returning the assignment is January 31 2010. There will be no extensions after this date!

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+
    • BLOWFISH
    • 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.

Literature

Menezes, van Oorschot, Vanstone: Handbook of applied cryptography

Last modified: 2013/07/01 14:42