Australia's Freelance Marketplace
Bid request

Software Programmer Job Request

  • Closed
  • Posted 22 Oct 2014 at 16:43
  • Remote (anywhere)
  • Freelance / Casual
  • 9 bids

This project has closed

It's no longer taking bids. Find other work.

About the project

Project Description

Given an input text message m, code the following algorithm: STEP 1: Compute the hash value from the input message m. In this step, you may choose to use an existing hash algorithm or to design your own hash function. STEP 2: Encrypt the hash value computed from STEP 1 with the sender's private key. You may choose any asymmetrical encryption algorithm studied in the subject. STEP 3: Append the encrypted hash value to the original message m, and then encrypt the augmented message using a session key of your choice. This step is using symmetrical encryption. You should consider using CBC, CFB and OFB modes. In addition, your encryption (and the corresponding decryption algorithm) should contain multiple rounds. You must code this part entirely yourself (no libraries). STEP 4: Encrypt the session key with the receiver’s public key. This step is using asymmetrical encryption. STEP 5: Append the encrypted key to the output of STEP 4. This is your final cipher message ready to be sent to the receiver. (Not required to actually send it).

Decryption and message integrity verification: Design and code a corresponding algorithm which help you to:

  1. Decode and obtain the original message m, and
  2. Verifying the integrity of message m.

Note the following:

  1. The software can be written in any computer language you like e.g. Java, Perl, C++, C, bash shell or even be web based (PHP). Preferably Python or C
  2. A debug version provides details of what is happening when encryption or decryption is taking place should also be provided. This could be implemented as a simple switch when the software is called from the command line or by some other means such as a debug variable which is set to true or false for the debug and standard versions respectively. At the very least the debug version should signal each stage of the encryption process and the inputs and outputs of each stage. It should be possible to capture an output in a text file or pause between each stage to allow examination of each stage. Sample captures should be provided to be demonstrated in front of an audience
  3. You should avoid using existing libraries as much as you can. Note that the symmetrical encryption part MUST be of your own coding.
  4. Please ensure the following: i. Code more functionality, instead of using the library function. ii. Ability to obtain the input and outputs at any stage of the project. iii. Optionally code a scenario where STEP 3 and 4 are replaced by asymmetrical encryption directly, and compare its execution time with the original algorithm. iv. Give some comments on the choice of hash function used. v. Comments on each line of code so I may understand and review it when completed.
  • Web Network Pty Ltd
    Canberra, ACT 30 Oct 2014 at 06:06

    Hi, we would prefer to do this in C or C++. Do you have any specific timeframe/deadline for this? Would we be able to have a quick chat? Regards, San, Web Network

    $40/hr about 1 hour
  • Md Saroar Jahan
    Rostrevor, SA 4 Nov 2014 at 14:06
    $350 in 5 days
  • Jagdish
    Parramatta, NSW 1 Nov 2014 at 16:43

    How about some Java coding. Easy to understand, implement and refactor with set of JUnit tests.

    $1,000 in 5 days
  • TGWare
    Sydney, NSW 30 Oct 2014 at 10:36

    looks like a school work to me. Quite Simple.

    $1,500 in 14 days
  • Nivas
    Sunshine 31 Oct 2014 at 14:49

    I can do this project in python for you. Python has libraries to do most of what you have asked. But as you have requested, I can write my own code to do the symmetrical and asymmetrical encryption part and also other modules based on your request. The complexity of this project is in writing our own code without using the libraries to encrypt/decrypt the message. If you wish I can create few basic modules and submit for review, and then later we can proceed with the project. You can also pay me after delivering the complete code.

    $1,500 in 13 days
  • iCreative Technolabs
    Sydney, NSW 19 Nov 2014 at 10:40
    $2,000 in 5 days
  • Jason
    Doncaster East, VIC 13 Nov 2014 at 13:43
    $3,000 in 5 days
  • Yannitech
    Killarney Heights 30 Oct 2014 at 08:13
    $4,000 in 12 days
  • Sole Trader (Freelance Developer
    Dallas, VIC 30 Oct 2014 at 01:48
    $5,000 in 13 days

Nobody has asked a question yet, you can be the first.