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

  Identifies the cost of computer

identifies the cost of computer components to configure a computer system (including all peripheral devices where needed) for use in one of the following four situations:

  Input devices

Compare how the gestures data is generated and represented for interpretation in each of the following input devices. In your comparison, consider the data formats (radio waves, electrical signal, sound, etc.), device drivers, operating systems suppo..

  Cores on computer systems

Assignment : Cores on Computer Systems:  Differentiate between multiprocessor systems and many-core systems in terms of power efficiency, cost benefit analysis, instructions processing efficiency, and packaging form factors.

  Prepare an annual budget in an excel spreadsheet

Prepare working solutions in Excel that will manage the annual budget

  Write a research paper in relation to a software design

Research paper in relation to a Software Design related topic

  Describe the forest, domain, ou, and trust configuration

Describe the forest, domain, OU, and trust configuration for Bluesky. Include a chart or diagram of the current configuration. Currently Bluesky has a single domain and default OU structure.

  Construct a truth table for the boolean expression

Construct a truth table for the Boolean expressions ABC + A'B'C' ABC + AB'C' + A'B'C' A(BC' + B'C)

  Evaluate the cost of materials

Evaluate the cost of materials

  The marie simulator

Depending on how comfortable you are with using the MARIE simulator after reading

  What is the main advantage of using master pages

What is the main advantage of using master pages. Explain the purpose and advantage of using styles.

  Describe the three fundamental models of distributed systems

Explain the two approaches to packet delivery by the network layer in Distributed Systems. Describe the three fundamental models of Distributed Systems

  Distinguish between caching and buffering

Distinguish between caching and buffering The failure model defines the ways in which failure may occur in order to provide an understanding of the effects of failure. Give one type of failure with a brief description of the failure

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