Mercurial > pihelp
annotate test.py @ 28:735c406b4c57
add more tests
author | Matt Johnston <matt@ucc.asn.au> |
---|---|
date | Mon, 17 Jun 2013 00:09:52 +0800 |
parents | 19d8314d9fe4 |
children |
rev | line source |
---|---|
28 | 1 #!/usr/bin/env python |
9 | 2 |
3 from Crypto.Cipher import AES | |
4 import hashlib | |
5 import hmac | |
6 from binascii import hexlify, unhexlify | |
7 | |
8 # echo -n '1234567890123456' | openssl enc -aes-128-ecb -K '61616262636364646565666667676868' | hexdump -C | |
9 | |
10 # output: | |
11 #cli_key yyuuiiooddeeffqqddii, hex 7979757569696f6f646465656666717164646969 | |
12 #enc_key aabbccddeeffgghh, hex 61616262636364646565666667676868 | |
13 #data 1234567890123456, hex 31323334353637383930313233343536 | |
14 #data 1234567890123456, hex 31323334353637383930313233343536 | |
15 #enc hex 0ba302059bfc650d4491268448102119 | |
16 #hmac hex ecd858ee07a8e16575723513d2d072a7565865e4 | |
17 | |
18 | |
19 cli_key = 'yyuuiiooddeeffqqddii' | |
13
19d8314d9fe4
update for new data padding scheme
Matt Johnston <matt@ucc.asn.au>
parents:
9
diff
changeset
|
20 enc_key = 'aabbccddeeffgghh\0\0\0\0' |
9 | 21 indata = '1234567890123456' |
22 | |
28 | 23 a_key = unhexlify('aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa') |
24 bs = unhexlify('bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb') | |
25 threes = '33333333333333333333' | |
26 print len(threes) | |
27 | |
9 | 28 print "cli_key %s, hex %s" % (cli_key, hexlify(cli_key)) |
29 print "enc_key %s, hex %s" % (enc_key, hexlify(enc_key)) | |
30 print "data %s, hex %s" % (indata, hexlify(indata)) | |
31 | |
32 print "data %s, hex %s" % (indata, hexlify(indata)) | |
33 | |
13
19d8314d9fe4
update for new data padding scheme
Matt Johnston <matt@ucc.asn.au>
parents:
9
diff
changeset
|
34 a = AES.new(enc_key[:16]) |
9 | 35 enc = a.encrypt(indata) |
36 | |
37 print "enc hex %s" % hexlify(enc) | |
38 | |
13
19d8314d9fe4
update for new data padding scheme
Matt Johnston <matt@ucc.asn.au>
parents:
9
diff
changeset
|
39 h = hmac.new(enc_key, 'D:' + enc, hashlib.sha1).digest() |
19d8314d9fe4
update for new data padding scheme
Matt Johnston <matt@ucc.asn.au>
parents:
9
diff
changeset
|
40 print "enc hmac hex %s" % hexlify(h) |
9 | 41 |
28 | 42 h = hmac.new(a_key, 'H:' + bs, hashlib.sha1).digest() |
43 print "hmac test aaaa bbbbhex %s" % hexlify(h) | |
44 | |
45 h = hmac.new(threes, 'H:' + threes, hashlib.sha1).digest() | |
46 print "hmac test aaaa bbbbhex %s" % hexlify(h) | |
13
19d8314d9fe4
update for new data padding scheme
Matt Johnston <matt@ucc.asn.au>
parents:
9
diff
changeset
|
47 |
19d8314d9fe4
update for new data padding scheme
Matt Johnston <matt@ucc.asn.au>
parents:
9
diff
changeset
|
48 |