Professional Documents
Culture Documents
1st Partial Project: Algorithm Size Testing Vectors
1st Partial Project: Algorithm Size Testing Vectors
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
...
...
...
...
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/