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

  Strategic advantages voip brings to businesses

Write down some of the strategic advantages the VoIP brings to businesses that adopt it? Prior, voice and data networks were separate and typically maintained by separate groups.

  Principle and theory of security management

What do you think are some major danger signals concerning possible employee theft, and why? Are these signals the same in retail vs. industrial settings?

  Research how media providers use cloud services

(1) Research How Media Providers Use Cloud Services

  Numbers as 4-bit words in 2''s complement form

Q. Assume the following numbers are represented as 4-bit words in 2's complement form. Perform the following operations and identify, in each case, whether or not an overflow occurs

  What max number of dimensions a c++ multidimensional array

What is the MAX number of Dimensions for a C++ multidimensional array ?

  Information systems manager for a small manufacturing plant

As the information systems manager for a small manufacturing plant,

  Describe the graphical coordinate system in java

How do you specify a particular color to be used as fill when using the Graphics class?

  The strike predicate need not work

Define a predicate strike(X,Y,Z) that succeeds if and only if the list Z would be obtained if one were to remove all occurrences of element X from list Y. The strike predicate need not work well when Y is an unbound variable.

  Infrastructure deployed by a company

1. Which of the following statement about the infrastructure deployed by a company is correct?

  Use to create style sheets for your web pages

Write a 2-3 page essay that compares the features of two different CSS software packages and describe which you as a web designer might use to create style sheets for your Web pages and why. Explain the benefits of using CSS in developing your web..

  Write an application that computes all of the amicable

The code should be written in Ruby and answers are displayed in the command prompt. Write an application that computes all of the amicable numbers less than the upper bound that is read in using a gets statement.

  Computing time complexity of algorithm

Suppose an algorithm consists of two stages. The time complexity of Stage 1 is O(nlog2n) and that of Stage 2 is O(n2). By using the definition of Big-Oh, show that the overall time complexity is O(n2).

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