Difference between revisions of "AAA Adrina Arsa Andriy"

From CDOT Wiki
Jump to: navigation, search
(Progress)
(Adrian Sauvageot's Findings)
Line 10: Line 10:
 
Our group has decided to each look at a different programming problem that could be sped up through paralysing it.
 
Our group has decided to each look at a different programming problem that could be sped up through paralysing it.
 
====Adrian Sauvageot's Findings====
 
====Adrian Sauvageot's Findings====
 +
=====Program To Parallelize=====
 
I chose to look into a cryptography library.  Upon searching for libraries, I was able to find an open source library called [http://www.cryptopp.com/ CRYPTO++].  This library is able to encrypt lines of text, and then decrypt them, based on a key, which is also a string.
 
I chose to look into a cryptography library.  Upon searching for libraries, I was able to find an open source library called [http://www.cryptopp.com/ CRYPTO++].  This library is able to encrypt lines of text, and then decrypt them, based on a key, which is also a string.
 
The library allows the programmer to select a string.  The string would then be secretly shared across two platforms, where it would be stored.  The data to be sent would be encrypted on a computer, sent over the network, and then decrypted on the other computer.
 
The library allows the programmer to select a string.  The string would then be secretly shared across two platforms, where it would be stored.  The data to be sent would be encrypted on a computer, sent over the network, and then decrypted on the other computer.
I decided to look at the application as if someone was to send a large amount of encrypted data in a large string.  To encrypt the string, there is data dependency, (encrypting "The Quick Brown Fox Jumped Over The Moon" could give an encrypted code of:
+
I decided to look at the application as if someone was to send a large amount of encrypted data in a large string.  To encrypt the string, there is data dependency; encrypting "The Quick Brown Fox Jumped Over The Moon" could give an encrypted code of:
 
+
"C:ÖÜ+┘~      ╦÷bܼ↨▲+¶.f¾W.▀#§cÆ▼H╣♥¿aOv:Ss╚Ðr│y!%·∟"
{{Quote box
 
    |quote =C:ÖÜ+┘~      ╦÷bܼ↨▲+¶.f¾W.▀#§cÆ▼H╣♥¿aOv:Ss╚Ðr│y!%·∟
 
}}
 
 
If you typed the same thing twice, you would get:
 
If you typed the same thing twice, you would get:
 
"C:ÖÜ+┘~      ╦÷bܼ↨▲+¶.f¾W.▀#§cÆ▼H╣♥éý┌ï0샨ï╩↑R┘^õ¡#£2ÌÕøÈ榪ç}FÉñW{òpÂ╩☺üqÿgG‗iã$(♦G]<}*▲`eJÔÓW╗õí"
 
"C:ÖÜ+┘~      ╦÷bܼ↨▲+¶.f¾W.▀#§cÆ▼H╣♥éý┌ï0샨ï╩↑R┘^õ¡#£2ÌÕøÈ榪ç}FÉñW{òpÂ╩☺üqÿgG‗iã$(♦G]<}*▲`eJÔÓW╗õí"
 +
However, it would be possible take a large string, break it into several pieces, and encrypt each piece separately.
 +
 +
For example, if a string was to be broken up after each ".", each part of the large string would be encoded separately, and sent over the network along with a header that contained the strings order.
 +
IE:
 +
encryptedPacket{
 +
int id;
 +
string encodedString;
 +
}
 +
The strings could be encoded parallely, and then again decoded parallely.
 +
This would be able to decrease the time taken to encode the strings if they were large.  The data would still be encoded while being sent over the network.
 +
=====Hot Spot Identification=====
 +
In order to identify the hot spots of the program, I used Visual Studio.  (Unfortunately, for this library I could not use the Seneca Matrix system, as my account did not have sufficient privileges to install the library.
  
 
=== Assignment 2 ===
 
=== Assignment 2 ===
 
=== Assignment 3 ===
 
=== Assignment 3 ===

Revision as of 12:28, 1 October 2014

To Be Determined

Team Members

  1. Adrian Sauvageot, Developer
  2. ...

Email All

Progress

Assignment 1

About

Our group has decided to each look at a different programming problem that could be sped up through paralysing it.

Adrian Sauvageot's Findings

Program To Parallelize

I chose to look into a cryptography library. Upon searching for libraries, I was able to find an open source library called CRYPTO++. This library is able to encrypt lines of text, and then decrypt them, based on a key, which is also a string. The library allows the programmer to select a string. The string would then be secretly shared across two platforms, where it would be stored. The data to be sent would be encrypted on a computer, sent over the network, and then decrypted on the other computer. I decided to look at the application as if someone was to send a large amount of encrypted data in a large string. To encrypt the string, there is data dependency; encrypting "The Quick Brown Fox Jumped Over The Moon" could give an encrypted code of: "C:ÖÜ+┘~ ╦÷bܼ↨▲+¶.f¾W.▀#§cÆ▼H╣♥¿aOv:Ss╚Ðr│y!%·∟" If you typed the same thing twice, you would get: "C:ÖÜ+┘~ ╦÷bܼ↨▲+¶.f¾W.▀#§cÆ▼H╣♥éý┌ï0샨ï╩↑R┘^õ¡#£2ÌÕøÈ榪ç}FÉñW{òpÂ╩☺üqÿgG‗iã$(♦G]<}*▲`eJÔÓW╗õí" However, it would be possible take a large string, break it into several pieces, and encrypt each piece separately.

For example, if a string was to be broken up after each ".", each part of the large string would be encoded separately, and sent over the network along with a header that contained the strings order. IE: encryptedPacket{

int id;
string encodedString;

} The strings could be encoded parallely, and then again decoded parallely. This would be able to decrease the time taken to encode the strings if they were large. The data would still be encoded while being sent over the network.

Hot Spot Identification

In order to identify the hot spots of the program, I used Visual Studio. (Unfortunately, for this library I could not use the Seneca Matrix system, as my account did not have sufficient privileges to install the library.

Assignment 2

Assignment 3