diff options
| author | Guillaume Horel <guillaume.horel@gmail.com> | 2011-05-19 02:31:04 -0400 |
|---|---|---|
| committer | Guillaume Horel <guillaume.horel@gmail.com> | 2011-05-19 02:31:04 -0400 |
| commit | af055136c23652f1cf1ef0beac1b94d79cc1ddb6 (patch) | |
| tree | c4de7f3bfe91303423e19552f850d432b03133c6 /crypto/crypto.py | |
| parent | 53fb8167efe4100bf20df3bec5d6b844f4bf1617 (diff) | |
| download | alias-af055136c23652f1cf1ef0beac1b94d79cc1ddb6.tar.gz | |
Started to play around with js crypto code
test.js implements the basic functionality
(recommand to load it in v8 (d8 test.js --shell)
Diffstat (limited to 'crypto/crypto.py')
| -rw-r--r-- | crypto/crypto.py | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/crypto/crypto.py b/crypto/crypto.py new file mode 100644 index 0000000..f99001f --- /dev/null +++ b/crypto/crypto.py @@ -0,0 +1,28 @@ +from keyczar import keys +import ssh_rsa_key_util + +if __name__ == '__main__' : + #load asymmetric keys for 2 users. user1 key is generated, + #while user2 key is loaded from disk + keyuser1 = keys.RsaPrivateKey.Generate() + keyuser1public = keyuser1.public_key + ssh_keys_directory = '/home/guillaume/.ssh/' + keyuser2 = ssh_rsa_key_util.SshRsaPrivateKey.Read(ssh_keys_directory + 'id_rsa') + keyuser2public = keyuser2.public_key + + #symmetric key to encrypt the data + key = keys.AesKey.Generate() + #encrypt symmetric key for user 1 and 2 + key1 = keyuser1public.Encrypt(key.key_string) + key2 = keyuser2public.Encrypt(key.key_string) + + msg = 'Guillaume is a genius!' + secretmsg = key.Encrypt(msg) + + #msg decoded by user 1 + newkey1 = keys.AesKey(keyuser1.Decrypt(key1), key.hmac_key) + print newkey1.Decrypt(secretmsg) + + #msg decoded by user 2 + newkey2 = keys.AesKey(keyuser1.Decrypt(key1), key.hmac_key) + print newkey2.Decrypt(secretmsg) |
