aboutsummaryrefslogtreecommitdiffstats
path: root/crypto.py
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)