Find Jobs
Hire Freelancers

RC6 Block Cipher

$10-20 USD

Zaprt
Objavljeno pred približno 2 letoma

$10-20 USD

Plačilo ob dostavi
Introduction RC6 is a symmetric key block cipher designed for the Advanced Encryption Standard (AES) competition, where it was a finalist. Although it is a proprietary algorithm designed by RSA Laboratories and RSA Security, the design’s patents expired between 2015 and 2017. The algorithm is now in the public domain, after the internals were published by Ronald Rivest in 19981. 2 Directions 1. Download the paper and read sections 1 (Introduction) and 2 (Details of RC6) at minimum. 2. Implement RC6-w/r/b where w = 32, r = 20 and b = |key|, 0 < b ≤ 255 in bytes, see section 3. You may use any language you want, however your implementation must run on Remote with available libraries. 3. Bonus! Write unit tests for your implementation using the test vectors from the appendix in both the encryption and decryption modes. If your implementation passes these tests, you will earn 25 points of extra credit. You may use any available test suite for your language, e.g. BoostTest for C++, CUnit for C or C++, CUnit for C, Pytest for Python, etc. 1Rivest, Ronald L., et al. “The RC6TMblock cipher.” First Advanced Encryption Standard (AES) Conference. 1998. [login to view URL] 1 3 Implementation Implement RC6-w/r/b where w = 32, r = 20 and b = |key|, 0 < b ≤ 255 in bytes. Your program must have a command line interface that accepts an input file and produces an output file: run INPUT OUTPUT, where INPUT is the path to the input file, and OUTPUT is the path to the output file. The input of your program is a path to an input file containing three lines: The first line specifies the mode, either encryption or decryption. The second line is the plaintext (for encryption mode) or ciphertext (for decryption mode). The third line is the user key. Both plaintext/ciphertext and the user key consist of a label string ending in a colon, then a space-separated list of hexadecimal byte values. The file ends with a Unix line ending character (\n). The output of your program is a text file located at the path specified on the command line: The first and only line is the ciphertext (for encryption mode) or plaintext (for ciphertext). Like the input file, the line begins with a label string ending in a colon, then a space-separated list of hexadecimal bytes. The input files are presumed to be well-formed; you do not need to test the files for proper format. See the listings in subsection 3.1. 3.1 Examples input [login to view URL] encryption plaintext : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 userkey : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 output [login to view URL] ciphertext : 8f c3 a5 36 56 b1 f7 78 c1 29 df 4e 98 48 a4 1e input [login to view URL] decryption ciphertext : 8f c3 a5 36 56 b1 f7 78 c1 29 df 4e 98 48 a4 1e userkey : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 output [login to view URL] plaintext : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 4 Submitting Work If your language is compiled, include a Makefile that has, at minimum, an all target that builds the project and produces an executable called run, and a 2 clean target that removes the executable and any intermediate files generated. If you implement the test cases, also include a target test that builds the test executable. If your language is interpreted, name the script file run.<extension>, and include a “hashbang” on the first line. Use a README file to document how the program should be executed. Include at minimum: • Instructions to build your executable for compiled languages. • Command line interface usage instructions for your implementation. • Acknowledgements of assistance you received and citations for works to which you referred. Place all your files under one directory with a unique name. Archive the contents of this directory (do not include executable binaries or intermediate files!) using the following command: tar -cvf <directory_name>.tar <directory_name> For example, tar -cvf [login to view URL] p1-project
ID projekta: 33350327

Več o projektu

4 ponudb
Projekt na daljavo
Aktivno pred 2 letoma

Želite zaslužiti?

Prednosti oddajanja ponudb na Freelancerju

Nastavite svoj proračun in časovni okvir
Prejmite plačilo za svoje delo
Povzetek predloga
Registracija in oddajanje ponudb sta brezplačna
4 freelancerjev je oddalo ponudbo s povprečno vrednostjo $72 USD za to delo
Avatar uporabnika
Hi there. I am a ISO Standard Expert and a Software Developer since 10 years. I have developed Encryption / Decryption based on AES, DES, 3DES, RSA and ByCrypt etc. I have checked your requirements and can develop this RC6 AES Cipher Solution for you within few hours on Java language. You may contact for further disucssion.
$100 USD v 1 dnevu
4,9 (26 ocen)
5,1
5,1
Avatar uporabnika
HELLO DEAR EMPLOYER, First receive warm greetings, and hoping you are good, i welcome you to the home of Amazing services and quality. I have carefully gone through your project titled ((RC6 Block Cipher)) I'M AN EXPERT IN NAMED SKILLS, OVER 18 YEARS OF EXPERIENCE, After KEENLY reading your description and being in possession of all CLEARLY STATED REQUIRED SKILLS ((Computer Security, Encryption and C Programming)) as this is my area of PROFESSIONAL SPECIALISATION having the above QUALIFICATIONS, i hereby humbly request you to consider my bid for QUALITY and PROFESSIONAL work. ###// No timeline & Quality Excuses// Unlimited Revisions// 100% SATISFACTION GUARANTEED### Message Me We Discuss More About The Project. incase the project is deleted please hire me directly using the following link; https://www.freelancer.com/u/ExpertEverlyne THANK-YOU & WELCOME.
$20 USD v 1 dnevu
0,0 (0 ocen)
0,0
0,0
Avatar uporabnika
Hello, I am student at a CiberSecurity Master Degree program and I would gladly implement and test the RC6 variant. I am also a Software Developer with 1 year experience and I consider that i can meet your requirements.
$16 USD v 7 dneh
0,0 (0 ocen)
0,0
0,0

O stranki

Zastava UNITED STATES
maryland, United States
5,0
1
Plačilna metoda je verificirana
Član(ica) od mar. 27, 2022

Verifikacija stranke

Hvala! Po e-pošti smo vam poslali povezavo za prevzem brezplačnega dobropisa.
Pri pošiljanju vašega e-sporočila je šlo nekaj narobe. Poskusite znova.
Registrirani uporabniki Skupaj objavljenih del
Freelancer ® is a registered Trademark of Freelancer Technology Pty Limited (ACN 142 189 759)
Copyright © 2024 Freelancer Technology Pty Limited (ACN 142 189 759)
Nalaganje predogleda
Geolociranje je bilo dovoljeno.
Vaša prijavna seja je potekla, zato ste bili odjavljeni. Prosimo, da se znova prijavite.