summaryrefslogtreecommitdiffstats
path: root/test/HMACGen.py
diff options
context:
space:
mode:
authorBrian Turek <brian.turek@gmail.com>2012-08-05 08:17:19 -0400
committerBrian Turek <brian.turek@gmail.com>2012-08-05 08:17:19 -0400
commitadf11181848b3d6bc6d12e7d38331510abc6f007 (patch)
tree4e7ec48d3dc5da9f0808000c21c2f873f28deb45 /test/HMACGen.py
parentfbec18c93324f3ddc070053ff7a81dbe3a82b493 (diff)
downloadjsSHA-adf11181848b3d6bc6d12e7d38331510abc6f007.zip
jsSHA-adf11181848b3d6bc6d12e7d38331510abc6f007.tar.gz
jsSHA-adf11181848b3d6bc6d12e7d38331510abc6f007.tar.bz2
Redid testing harness to include all SHA tests and the NIST recommended HMAC tests
Diffstat (limited to 'test/HMACGen.py')
-rw-r--r--test/HMACGen.py83
1 files changed, 0 insertions, 83 deletions
diff --git a/test/HMACGen.py b/test/HMACGen.py
deleted file mode 100644
index f89d1a3..0000000
--- a/test/HMACGen.py
+++ /dev/null
@@ -1,83 +0,0 @@
-#! /usr/bin/env python
-'''
- jsSHA HMAC Test Result Generator
- Version 1.0 Copyright Brian Turek 2009-2012
- Distributed under the BSD License
- See http://caligatio.github.com/jsSHA/ for more information
-'''
-import hashlib
-import hmac
-
-def main():
- '''
- main()
-
- Calculates the HMAC of the test vectors given in FIPS-198a for full
- length HMACs. Uses double the key sizes for SHA-384 and SHA-512 as
- they have double the block size
- '''
- # shortKey tests for handling of key lengths less than the block size
- shortTxt = b'Sample #2'
- shortKey = bytes.fromhex('30313233 34353637 38393a3b 3c3d3e3f 40414243')
-
- # medKey tests for handling of keys lengths equal to the block size
- medTxt = b'Sample #1'
- medKey = bytes.fromhex('00010203 04050607 08090a0b 0c0d0e0f 10111213' +
- '14151617 18191a1b 1c1d1e1f 20212223 24252627 28292a2b 2c2d2e2f'+
- '30313233 34353637 38393a3b 3c3d3e3f')
-
- # largeKey tests for handling of keys lengths greater than the block size
- largeTxt = b'Sample #3'
- largeKey = bytes.fromhex('50515253 54555657 58595a5b 5c5d5e5f 60616263'+
- '64656667 68696a6b 6c6d6e6f 70717273 74757677 78797a7b 7c7d7e7f' +
- '80818283 84858687 88898a8b 8c8d8e8f 90919293 94959697 98999a9b' +
- '9c9d9e9f a0a1a2a3 a4a5a6a7 a8a9aaab acadaeaf b0b1b2b3')
-
- # Perform the SHA-1 Tests
- print('\nSHA-1 Short Key Result:')
- print(hmac.new(shortKey, shortTxt, hashlib.sha1).hexdigest())
- print('\nSHA-1 Medium Key Result:')
- print(hmac.new(medKey, medTxt, hashlib.sha1).hexdigest())
- print('\nSHA-1 Large Key Result:')
- print(hmac.new(largeKey, largeTxt, hashlib.sha1).hexdigest())
-
- # Perform the SHA-224 Tests
- print('\nSHA-224 Short Key Result:')
- print(hmac.new(shortKey, shortTxt, hashlib.sha224).hexdigest())
- print('\nSHA-224 Medium Key Result:')
- print(hmac.new(medKey, medTxt, hashlib.sha224).hexdigest())
- print('\nSHA-224 Large Key Result:')
- print(hmac.new(largeKey, largeTxt, hashlib.sha224).hexdigest())
-
- # Perform the SHA-256 Tests
- print('\nSHA-256 Short Key Result:')
- print(hmac.new(shortKey, shortTxt, hashlib.sha256).hexdigest())
- print('\nSHA-256 Medium Key Result:')
- print(hmac.new(medKey, medTxt, hashlib.sha256).hexdigest())
- print('\nSHA-256 Large Key Result:')
- print(hmac.new(largeKey, largeTxt, hashlib.sha256).hexdigest())
-
- # Since SHA-384 and SHA-512 take double the block size, double the key
- # length so the tests act against the same functions as above
- shortKey = shortKey * 2
- medKey = medKey * 2
- largeKey = largeKey * 2
-
- # Perform the SHA-384 Tests
- print('\nSHA-384 Short Key Result:')
- print(hmac.new(shortKey, shortTxt, hashlib.sha384).hexdigest())
- print('\nSHA-384 Medium Key Result:')
- print(hmac.new(medKey, medTxt, hashlib.sha384).hexdigest())
- print('\nSHA-384 Large Key Result:')
- print(hmac.new(largeKey, largeTxt, hashlib.sha384).hexdigest())
-
- # Perform the SHA-512 Tests
- print('\nSHA-512 Short Key Result:')
- print(hmac.new(shortKey, shortTxt, hashlib.sha512).hexdigest())
- print('\nSHA-512 Medium Key Result:')
- print(hmac.new(medKey, medTxt, hashlib.sha512).hexdigest())
- print('\nSHA-512 Large Key Result:')
- print(hmac.new(largeKey, largeTxt, hashlib.sha512).hexdigest())
-
-if ('__main__' == __name__):
- main()