Design and implementation of an ecc public key system

Assignment Help Basic Computer Science
Reference no: EM13904128

There are two parts:

Part 1 (mark: 25% of the total assignment) - You are required to design and implement the ECC public key system using C or C++ or Java or any programming language you are familiar with.

Part 2 (mark: 15% of the total assignment) - You are required to apply your ECC system in three network services:

a.    apply your ECC system  in Telnet service, SSL and IPSec, or

b.    you can apply your ECC system in your own socket based service, and RPC based service and DCOM or CORBA service.

 Part 1: Design and implementation of an ECC public key system to provide encryption/decryption and digital signature sign and verification in C or C ++ or Java.  You can use Diffie-Hellman key exchange protocol and the underlying field Fp or other key exchange protocol and a Binary Field for your curve. 

 Your assignment is based on the following standard curve:

y^2 = x^3 + A*x + B mod p 

with domain parameters (for 160-Bit curves):  

p = E95E4A5F737059DC60DFC7AD95B3D8139515620F

A =   340E7BE2A280EB74E2BE61BADA745D97E8F7C300

B = 1E589A8595423412134FAA2DBDEC95C8D8675E58

x = BED5AF16EA3F6A4F62938C4631EB5AF7BDBCDBC3

y = 1667CB477A1A8EC338F94741669C976316DA6321

q = E95E4A5F737059DC60DF5991D45029409E60FC09

h = 1 

(See section Domain Parameters Specification of 

   https://tools.ietf.org/html/rfc5639 for the meaning of the parameters)

 You can work on the underlying field Zp, where p is a prime number and not less than 160 bits or Binary Field with the same population. You can also choose any hash function which is available as free source for the digital signature implementation. You do not have to implement a hash function and a random number generator. You will have to implement all other operations (you can use my sample java code as a guide).

To represent a message on an EC, you can use any free source code or write your own one if you wish to do so. If you cannot implement this part, then you can assume “a message is represented as an integer” for the pass mark. 

The Diffie-Hellman protocol is loosely described as follows (refer to the lecture for The Diffie-Hellman and ECC):

Let’s assume that Alice wants to encrypt and send a message to Bob and Bob wants 

to decrypt the encrypted message.

(Assume that we are working with (Zp, modulo) and p is a large prime number.)

a.       Alice chooses a random integer x and sends Bob   a = gx mod p

b.      Similarly Bob chooses a random integer y and sends Alice b = gy mod p

c.       Alice then computes k from b that Bob sent: k = bx mod p

d.      Similarly Bob then computes k’ = ay mod p

Both k and k’ are equal to gxy mod p. Alice or Bob can now use either k or k’ as their shared secret key.

Important note – What you can and What you cannot:

 You are only allowed to use the basic libraries of BigInteger and BigDecimal numbers and Hash functions (MD5, SHA-1, SHA-256, or SHA-512).

 You have to implement all operations: 

a.      addition, subtraction, multiplication of points on your ECC, 

b.      encryption, decryption, signing and verifying functions. 

hi,

I have this assignment below which should be hand on Wednesday. I'm beginner  in java so that so difficult for me. have a look to the assignment specification and I 'm waiting to hear from you. 

Assignment:   

You are not allowed to use any crypto library. If you borrow code from anywhere, you will get ZERO.

 Submission - Due date: Week 8, Friday 4pm (Use Assignment Box)

You have to submit a hard copy of your work with the standard assignment format and a soft copy on a CD/DVD (submission via email is not acceptable).

For Part 1: Your submission must include your source code and a report which include the following tasks: 

1. You have to list and explain the steps you follow to complete your work that includes the design and implementation considerations; any suggestions for code improvement; any security and efficiency improvements, etc.

2. You have to provide the logic of your programs in pseudo code. 

The pseudo code should be detailed enough so that the mapping between the pseudo code and the C or Java program is trivial. (Look up the Web for the information about pseudo code).

If you want to include an additional structure chart or flow chart, it is O.K. However, it does not replace the “logic of your programs in pseudo code”

3. You have to provide a user document and programmer document for your code (please look up the Web for the description of user and programmer documentation). 

4. You have to explain the security of your implementation. This is the most important part of your report.

This includes a discussion of the strength and weaknesses of your implementation, limitations and possible attacks on it.

 For part 2: 

 You must write a report to describe in detail how you apply your ECC system in the three network services and demonstrate your work to your tutor.

 

Reference no: EM13904128

Questions Cloud

Explaining the concept of web application development : Explaining the Concept of Web Application Development,Implementation of Web Application as Per Case Study,Testing Of Given Web Application:Critically Review And Test Web Application For Given Case Study Including Functionality Testing, Acceptance Tes..
Conduct research on the latest trends in android. : Conduct research on the latest trends in android.
The aggregate segment of negligible money book : Rs. 75 paid for repairs to furniture had been entered in the aggregate segment of negligible money book, yet not entered in the suitable investigation section, the aggregate of which has been posted.
Technical specification indicating wireless technology : write a technical specification indicating which wireless technology you would use for specific scenarios
Design and implementation of an ecc public key system : Design and implementation of an ECC public key system to provide encryption/decryption and digital signature sign and verification in C or C ++ or Java.  You can use Diffie-Hellman key exchange protocol and the underlying field Fp or other key exchan..
How to make the mail secure : How to make the mail secure As introduced in the proposal instruction, a proposal should include the following parts (more details see: https://people.ok.ubc.ca/rlawrenc/teaching/writingProposal.html):
Database security and government breaches : Database Security and Government Breaches. In criminal justice or public policy related journal articles that have passed a rigorous review process to validate the research contained in the article.
Why you think that the cio is this type of manager : Using the IT Savvy four types of the CIO (page 146 IT Savvy below), choose a type for each of CIO or IT leaders for the following 8 cases attached (Attachments 1-8).Give example of why you think that the CIO is this type of manager.
Vital suspense account : Pass diary passages to redress the accompanying blunders expecting the presence of the vital Suspense Account:

Reviews

Write a Review

Basic Computer Science Questions & Answers

  The capital labor ratio

Suppose we are at steady state in the Solow Model. Suddenly we have a significant technological advance.

  Define the different types of interaction styles

Define the different types of interaction styles

  What makes these pairs transitive

What I dont understand is how these pairs are considered transitive. My question is what makes these pairs transitive?

  Circuit that has 5 slide switches as inputs

Design and code a circuit that has 5 slide switches as inputs and a push-button. When the button is pressed, the circuit will drive a stepper motor n-steps in the clockwise direction

  Explain the importance of user abilities and characteristics

Explain the importance of user abilities and characteristics in the usability of products.

  Write paper on personally identifiable information

write paper on Personally Identifiable Information

  Find and prove the efficiency class

Find and Prove the Efficiency Class of the following Recurrences. Show your work.

  Perform user modelling and task analysis

Explain and justify the need for good HCR practice and discuss the role of cognitive psychology in the design of user interfaces.

  Why is ciso participation in business continuity planning

Title: Why is CISO participation in business continuity planning important? Business Continuity Planning (BCP) is a critical business process which requires the participation of managers from all parts of the enterprise.

  Determine why that happens by closely examining your code

You may have noticed that for some runs, ga terminates with an error that the nonlinear constraint file is not returning a real value. Determine why that happens by closely examining your code. How would you fix this issue? Subsequently, re-run the g..

  Display an appropriate message comparing the month expenses

Display an appropriate message comparing the month's expenses to the budget.

  Why you think that the cio is this type of manager

Using the IT Savvy four types of the CIO (page 146 IT Savvy below), choose a type for each of CIO or IT leaders for the following 8 cases attached (Attachments 1-8).Give example of why you think that the CIO is this type of manager.

Free Assignment Quote

Assured A++ Grade

Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!

All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd