Download as pdf or txt
Download as pdf or txt
You are on page 1of 2

1stPartialProject

Asitwasdiscussedduringoursessions,inthiscourseyourfinalprojectwillbebuildthroughthe
partial evaluations. In this partial project, you and your team (3 members in total) should
implement a program in which you compare the efficiency of the algorithms shown below.
Remember that, inthisoccasion,youdonotneedtoimplementthealgorithms,youonlyusethe
implementations that the language you choose has. To do this, you need to use the testing
vectorsprovidedonthefollowingtable.

Algorithm

Size

TestingVectors

RC4

Keylength:256bits

https://tools.ietf.org/html/rfc6229

DES

Keysize:64bits
Blocksize:64bits

https://www.cosic.esat.kuleuven.be/nessie/testvectors/bc/des/
Des6464.testvectors

AES

Keysize:256bits
Blocksize:256bits

https://www.cosic.esat.kuleuven.be/nessie/testvectors/bc/rijnd
ael/Rijndael256256.unverified.testvectors

MD5

Hashsize:128bits

https://www.cosic.esat.kuleuven.be/nessie/testvectors/hash/m
d5/Md5128.unverified.testvectors

SHA1

Hashsize:160bits

https://www.cosic.esat.kuleuven.be/nessie/testvectors/hash/sh
a/Sha1160.testvectors

SHA2

Hashsize:256bits

https://www.cosic.esat.kuleuven.be/nessie/testvectors/hash/sh
a/Sha2256.unverified.testvectors

RSAOAEP

Keysize:1024bits
Blocksize:2048bits
Encryptionsaltsize:160
bits
Decryptionsaltsize:0
bits

https://www.cosic.esat.kuleuven.be/nessie/testvectors/asymen
c/rsaoaep/RSAOAEP1024.unverified.testvectors

RSAPSS

Signaturesize:1024bits https://www.cosic.esat.kuleuven.be/nessie/testvectors/sign/rsa
Signaturegenerationsalt pss/RSAPSS1024.unverified.testvectors
size:160bits
Signatureverificationsalt
size:0bits

DSA

1024Bits

https://www.rfceditor.org/rfc/rfc6979.txt

Each algorithm is used for some particular goal, therefore, you need to compare only the ones
that share such a goal. For example, if you want to compare hashing algorithms you compare
theefficiencyofMD5,SHA1andSHA2byusingthesameinputtestingvector.


Following this idea, you need to create a table comparing the efficiency of these algorithmsfor
thefollowingoperations:

Encryption
Decryption
Hashing
Signing
Verifying

After the execution of the program, you should show a table showing the results for each
operation. Coming back to the hashing example, after the execution of all hashing algorithms
withallthehashingvectors,youshouldshowatablesimilartothefollowing:

Hashing Operations
MD5

SHA-1

SHA-2

Vector 1 <time taken to hash


vector 1 with MD5>

<time taken to hash


vector 1 with SHA-1>

<time taken to hash


vector 1 with SHA-2>

Vector 2 <time taken to hash


vector 2 with MD5>

<time taken to hash


vector 2 with SHA-1>

<time taken to hash


vector 2 with SHA-2>

...

...

...

<time taken to hash


vector n with SHA-1>

<time taken to hash


vector n with SHA-2>

...

Vector n <time taken to hash


vector n with MD5>

Remember that the program should be implemented in the language that you chooseinoneof
thepreviousactivities.

References
NISTOfficialSitefortestingVectors

http://csrc.nist.gov/groups/STM/cavp/
EuropeanProjectforSecurityTesting
https://www.cosic.esat.kuleuven.be/nessie/testvectors/

You might also like