exPyCrypto confusion

Kip Lehman kipster-t at earthlink.net
Thu May 12 15:51:40 EDT 2005


The example[2,3,4].py files in the ezPyCrypto are instructive.

Using the techniques in those files and modifying your test script,
the desired behavior is attainable.

Two items had to be changed.  
Instead of k.exportKey(), you have to use k.exportKeyPrivate(). 
On the other end instead of ke.decString() you have to use the 
decStringFromAscii() method.

----------------amended script------------------------------
import os
import ezPyCrypto

#######################################################################

KEY_FILE = '/Users/scott/pyprogs/the_key.txt'

#######################################################################

msg = 'Meeting delayed 30 hours'
print "plaintext msg: %s" % msg
print '-' * 48
k = ezPyCrypto.key(512)

cipher = k.encStringToAscii(msg)
print cipher
print '-' * 48

decoded1 = k.decStringFromAscii(cipher)
print "recovered msg: %s" % decoded1

print '-' * 48, '\n'

# So far so good. encrypted and decrypted as expected.
# Now try to put the key in a file for transport on eg a USB drive.

pubPrivKey = k.exportKeyPrivate()
print "pubPrivKey:\n%s" % pubPrivKey
f = open(TEST_KEY_FILE, 'w')
f.write(pubPrivKey)
f.close()
print "pubPrivKey written to file -> %s" % os.path.basename(KEY_FILE)
print '-' * 48, '\n'

# Now get string representation of pubPrivKey and use it to create
# a new key instance (nk) that can be used to decode the cipher

f = open(TEST_KEY_FILE, 'r')
inPubPrivKey = f.read()
f.close()

# create a new key object and auto-import private key
nk = ezPyCrypto.key(inPubPrivKey)
print "pubPrivKey read in from file -> %s, new key instance created" % \
      os.path.basename(KEY_FILE)
decoded2 = nk.decStringFromAscii(cipher)
print "recovered msg using pubPrivKey: %s" % decoded2

----------------end script------------------------------

Happy en/de crypting...

Kip Lehman
kipster <dash> t <at> earthlink <dot> net



--
Still waiting for PanAm, Amtrack and the USPS to deliver my .sig




More information about the Python-list mailing list