Archive

Posts Tagged ‘set up’

Day 7 — BLAKE2 Implementation

September 10th, 2020 Comments off

Hi, all! Welcome to CryptoCL.

Firstly, an update on the issue with the Rob Farber tutorial: After testing it on the lab system, the program successfully ran and passed all the tests. The lab systems have support for OpenCL, while my system at home does not. Ergo, using the lab systems to handle programs that deal with OpenCL will be crucial.

Next, BLAKE2 implementation has begun! Firstly, we are grabbing from the BLAKE2b and BLAKE2s (abbreviated as B2b and B2s hereafter) implementations provided from the BLAKE2 git repository. After browsing the code, I compiled both versions of B2b and B2s (One version specializes in speed, while the other complements portability and simplicity, as stated in the README). They all compiled and ran successfully, at least from what I can tell — looking through the code shows that the program prints “ok” when it runs without errors.

The problem is that the code doesn’t give an other information. When testing cryptographic functions, I would usually input some sort of input or the like, and compare to what the answer is supposed to be. However, the implementation provided does not given any other information besides if the program was successful in running.

Tomorrow, I will continue looking through the code. One, to study the implementation for the OpenCL-compatible version, and to see how I can accurately test the code.

Have a good day!

Kyle Jenkins.

Time spent today: 1 hour
Total Time: 7 hours 15 minutes

Day 3 — Set Up Complete

September 3rd, 2020 1 comment

Hi, all. Welcome back to ICOC.

Today was the day I worked to try and identify and solve why some of the tests for the header files of OpenCL failed to work. After digging through the files, the error was simply that I was not compiling the files correctly.

In retrospect, compiling every file individually and running these files to see if they passed was not a good choice. I went to Dr. Robert Marmorstein for advice, as I initially thought that it was simply an error on my end — either my system was not equipped with the necessary files, or I was not compiling correctly. It seems that the latter was correct, and with the cmake command, I was able to compile and successfully run each and every test header file.

Now that the header files are complete, next time will be devoted to making sure all of the necessary OpenCL files are ready to go, and if they are, search online for OpenCL tutorials to become familiar with the standard!

See you next time!

Sincerely,
Kyle Jenkins.

Time spent today: 1 hour 15 minutes.
Total Time: 2 hours 45 minutes.

Categories: Uncategorized Tags: ,

Day 2 — Set Up

September 1st, 2020 1 comment

Hello, all.

Today, I began setting up my system to be compatible for OpenCL.

I was having a bit of trouble finding materials and guides online, as results online did not paint a clear picture on where to find the necessary programs I needed. I wanted to find a Windows version, in case working on this project from a Linux system was impossible.

In my research, I managed to find the OpenCL repository from The Khronos Group on GitHub. I lifted the OpenCL-CCX and OpenCL-Headers repositories and migrated them to the Linux system. The Headers repository, in particular, has a directory filled with tests, that are designed to test the OpenCL header files so that they are working as intended. When running all the tests, all but four passed correctly. Three of them, unfortunately, did not compile correctly, while one of them ran successfully but did not pass.

Next time, I will continue to set up OpenCL on the system, with the main goal of the header tests working. Until then, see you next time!

Sincerely,
Kyle Jenkins.

Time spent today: 1 hour 30 minutes.
Total Time: 1 hour 30 minutes.

Categories: Uncategorized Tags: ,