blob: b575f553b2ab5de5de05762363ae1c016906e2d1 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
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)
|