UFCFFL-15-M Parallel Computing Assignment

Assignment Help Computer Engineering
Reference no: EM132848668

UFCFFL-15-M Parallel Computing - University of the West of England

Logbook and Demonstration of Final Product

Task Specification
This section introduces the details of the problem chosen for implementing parallel algorithms as part of this assessment point. The chosen problem is how to find the most efficient way to determine the key to encrypt and decrypt textual messages passed across communication lines.

An encryption/decryption process takes a plaintext and a key expression converts into an encrypted text, which is also called as ciphertext. The process is sketched in the following diagram.

Advanced Encryption Standard (AES) is known to be one of the-state-of-the-art encryption/decryption method used by many prestigious companies e.g. NSA, Microsoft and Apple, which uses a symmetric key generating approach to achieve very highly secured messaging and access across the networks. More details on how it works can be found in the literature including the attached link;

There are a number of tools developed to work out security operations including encryption/decryption procedures. OpenSSL is an open source library created for security operations for this purpose. It is developed in C programming language and interfaced with various other programming languages too. This library uses SSL and TSL protocols and includes a number of cryptographic functions. The following two links provide further details on use of OpenSSL and the ways how to incorporate with self-developed C programs for encryption/decryption purposes.

Brute-force attack is one of cipher cracking attacks, which uses an exhaustive search to find the key to crack the message encrypted. Brute force search is a global search approach relies on trial-and-error operations, where an input set is assumed and tested whether or not it produces the targeted output. There are a number of well-known brute-force search algorithms used and well-evaluated with respect to a number of performance measures including complexity. (1) Generate and test, (2) Breath-First, and (3) Depth-first search algorithms are three of these well- known Brute-force (exhaustive) search algorithms. Further details can be found in the literature including Wikipedia.

As an ethical hacking operation, a brute-force search algorithm can be implemented incorporating with OpenSSL library, given that both a Plaintext and a Ciphertext can be provided while the secure key used in encryption can be searched for with the developed Brute-Force algorithm.

Obviously, an exhaustive search developed with any Brute-force algorithm will take very long time to find the secure key for crack of the cipher, AES this time, using a sequentially developed Brute-force algorithm. This creates a good motivation to go for parallelisation of Brute-force search algorithms. The main requirement of this assignment is to design parallel Brute-force search algorithms for finding the right secure key to crack the ciphers using both shared memory and distributed memory paradigms with OpenMP and MPI parallelisation tools, respectively.

Requirements

a. Problem set 1: OpenMP

Implement a parallelised version of Brute-force search, which behaves the same as the serial solution for cracking aes-128-cbc cipher. The implementation should use OpenMP for parallelization of the algorithm.

Your solution should be implemented using C/C++, compiled with gcc. Your final solution should include a Makefile that can be used by makers to build and test your work.

Your solution must be committed in UWE's Gitlab. It will naturally be time stamped and you must be careful to not make commits after the submission deadline.

b. Problem set 2: MPI

Implement a parallelised version of Brute-force search, which behaves the same as the serial solution for cracking aes-128-cbc cipher. The implementation should use MPI for parallelization of the algorithm.

Your solution should be implemented using C/C++, compiled with gcc. Open MPI is installed on own PCs as illustrated during the lab session, or PCs in the Q block labs. Your final solution should include a Makefile that can be used by makers to build and test your work.

Your solution must be committed in UWE's Gitlab. It will naturally be time stamped and you must be careful to not make commits after the submission deadline.

c. Problem set 3: Benchmarking and performance analysis

For this component you are expected to perform an analysis of the serial solution and compare and contrast this against your solution problem set 1 and 2.

The analysis should be reproducible and you should include instructions on how to execute the solutions, including the serial one provided, to produce the performance results. Of course, it is not expected that during testing the same performance numbers will be produced, but they should be within a reasonable margin of error.

You are free to include this in your logbook, but it does not count against the word count, and it might be easier to produce a separate document with the presentation of the performance numbers and analysis of the results.

Deliverables

a. Each problem solution, OpenMP and MPI implementations, should be committed in its own directory in UWE's Gitlab, including a README.md documenting what the program does, how to build it, and benchmark the resulting executable(s).

b. Additionally, the Git project should include a folder with documentation for your project and its solution, including the logbook, which details the performance analysis, the approach to benchmarking, and so on.

c. Logbook of 1500 - 3000 words. The logbook is for you to document your design and development process, along with a performance analysis of your solutions to Brute- Force search for cipher cracking. It is not specified what shape your logbook should take, but it should be academically rigorous, including academic references supporting any claims made, as well as to provide context, and so on. The logbook should be submitted as a word or PDF file to Blackboard. In addition, the log book should include a link to your Git project for this module.

Attachment:- Parallel Computing.rar

Reference no: EM132848668

Questions Cloud

Describe and discuss important competencies : Describe and discuss 4-6 important competencies that you need to have to effectively lead your chosen organization, based on its goals and mission
Explain the role of michigan in the civil war : Explain the role of Michigan in the Civil War. Pay special attention in your answer to the emergence of the Michigan Republican Party.
How was use of the waterways connected to the spread : How was use of the waterways connected to the spread of industry in Michigan? Michigan is unique among the US states for its extensive and navigable.
What were the political consequences of that trade for group : Explain the relationship between the French, the British, and the Native Americans (especially the Anishnabeg nations) in the fur trade as it was practiced.
UFCFFL-15-M Parallel Computing Assignment : UFCFFL-15-M Parallel Computing Assignment Help and Solution, University of the West of England - Assessment Writing Service
Examine one state declaration from the declarations of cause : Examine one state's declaration from The Declarations of Causes of Seceding States on the American Battlefield Trust website and scan the various excerpts
Explain the emergence of the two major superpowers : Explain the emergence of the two major superpowers, the United States and Soviet Union. What was the Truman Doctrine? Analyze the Cold War in Europe.
State the null and the alternate hypothesis : A random sample of 100 eggs reveals a sample mean of 5.2% cholesterol. Calculate the value of the test statistic.
Which event in the period did the most to push the nation : Which event(s) in this period did the most to push the nation toward civil war (the Wilmot Proviso, the Compromise of 1850, the Kansas-Nebraska Act

Reviews

Write a Review

Computer Engineering Questions & Answers

  Create a switchboard design with control buttons

Create a switchboard design with control buttons that lead to students, instructors, courses, course schedules, and course rosters.

  Explain the most important suggestions from the plan

Search the Internet for IT governance planning. Select a specific governance plan that exists at a company or a plan framework from an organization.

  Discuss the role of computer programming in the it industry

discussing the role of computer programming in the IT industry

  Difference between a hardware and a software version

Research on what is a forensic read/write blocker and what is the difference between a hardware and a software version? Research on what tools are available.

  Ethics in infosec of the staff of information security

COIT20263 : The measures that the Information Security Division should take to prevent all staff members of NTN from handling information unethically.

  Write a small c program called tinyshell that behaves much

The tinyshell program works as follows: puts out a prompt next command> and then reads the command string typed by the user (use scanf).

  Design a minimum synchronous sequential circuit

Design a minimum synchronous sequential circuit to detect the sequence 1001. Sequences may overlap. Use SR flip-flops.

  Why would a company choose one strategy over another

Companies use mergers, acquisitions, outsourcing, vertical expansion to gain competitive advantage, control quality cost, and expand markets, among other reason

  Explain the disaster recovery plan

Develop a Complete Disaster Recovery Plan to be submitted to the executive board of your company. Please note that this is a formal writing, all references.

  Write an assembly code that removes blank spaces

In this problem, you will write a LC-3 assembly code that removes blank spaces from a string. Assume that the string starts at memory location 0x5000.

  Demonstrate a significant application of technical elements

Your final project in this class is required to be more extensive than the weekly lab projects. Your project should demonstrate a significant application of technical elements and also demonstrate originality and creativity.

  Compute the sum of all the odd numbers from 1 through 99

Use a For loop to compute the sum of all the odd numbers from 1 through 99. Your result should be labeled, and the value should be 2500.

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