Changeset 166
- Timestamp:
- 04/06/09 11:23:26 (15 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/sandbox/encryption.pl
r150 r166 2 2 3 3 use Crypt::RSA; # crypt/decrypt 4 use Crypt::CBC; # sym key 4 5 use XML::Simple; # dump data 5 6 use MIME::Base64; # to make it ascii … … 10 11 $rsa->keygen ( 11 12 Identity => 'Vote ID 12', 12 Size => 768,13 Size => 1024, 13 14 Password => undef, 14 15 Verbosity => 0, … … 19 20 print encode_base64($private->serialize); 20 21 print "\n"; 22 23 my $symkey = map{ chr(rand(256)) } (1 .. (256 / 8)); 24 21 25 my $xs = XML::Simple->new(ForceArray => 1, RootName => 'ballot'); 22 26 print my $xml = $xs->XMLout({ id => '8daad55a7f94a4fb79bda7ab007953dc', sbal => [ 'coco', 'kikikikikikikikikikikikiki' ], fsbal => [] }); 23 print "# #########\n";27 print "# ENC SYMKEY\n"; 24 28 25 my $encrypted ballot= $rsa->encrypt (26 Message => $ xml,29 my $encryptedsymkey = $rsa->encrypt ( 30 Message => $symkey, 27 31 Key => $public, 28 32 Armour => 1, … … 30 34 31 35 # reading 32 print $encryptedballot . "\n"; 33 34 my $ballot; 35 foreach (0..1000) { 36 $ballot = $rsa->decrypt( 37 Cyphertext => $encryptedballot, 36 print "# DEC SYMKEY\n"; 37 $symkey = $rsa->decrypt( 38 Cyphertext => $encryptedsymkey, 38 39 Key => $private, 39 40 Armour => 1, 40 41 ) || die $rsa->errstr(); 42 43 my $ballot; 44 my $cipher = new Crypt::CBC($symkey, 'DES'); 45 print "# ENC BALLOT\n"; 46 my $encryptedballot = $cipher->encrypt_hex($xml); 47 print $encryptedballot . "\n"; 48 49 print "# DEC BALLOT\n"; 50 foreach (0..1000) { 51 print "$_\n"; 52 $symkey = $rsa->decrypt( 53 Cyphertext => $encryptedsymkey, 54 Key => $private, 55 Armour => 1, 56 ) || die $rsa->errstr(); 57 my $cipher = new Crypt::CBC($symkey, 'DES'); 58 $ballot = $cipher->decrypt_hex($encryptedballot); 41 59 } 42 60
Note: See TracChangeset
for help on using the changeset viewer.