Changeset 260

Show
Ignore:
Timestamp:
04/04/09 22:22:55 (3 years ago)
Author:
ocjhb
Message:

all tests run through again

Location:
trunk/sandbox/jhb/oc2
Files:
2 modified

Legend:

Unmodified
Added
Removed
  • trunk/sandbox/jhb/oc2/documentation.py

    r259 r260  
    232232>>> issuer.getMasterPubKey().verifyContainerSignature(cdd) 
    233233True 
    234  
     234>>> cdd.toString(True) 
    235235############################################################################### 
    236236 
  • trunk/sandbox/jhb/oc2/rsa.py

    r259 r260  
    9595 
    9696 
    97 def encrypt_int(message, ekey, n): 
     97def rsa_operation(message, ekey, n): 
    9898    """Encrypts a message using encryption key 'ekey', working modulo 
    9999    n""" 
     
    111111    return pow(message, ekey, n) 
    112112 
    113 def decrypt_int(cyphertext, dkey, n): 
    114     """Decrypts a cypher text using the decryption key 'dkey', working 
    115     modulo n""" 
    116  
    117     return encrypt_int(cyphertext, dkey, n) 
    118  
    119 def sign_int(message, dkey, n): 
    120     """Signs 'message' using key 'dkey', working modulo n""" 
    121  
    122     return decrypt_int(message, dkey, n) 
    123  
    124 def verify_int(signed, ekey, n): 
    125     """verifies 'signed' using key 'ekey', working modulo n""" 
    126  
    127     return encrypt_int(signed, ekey, n) 
    128  
    129 def blinding_int(m,secret,n): 
     113 
     114def blinding_operation(m,secret,n): 
    130115    return (m * secret) % n 
    131116 
     
    133118def encrypt(message, key): 
    134119    """Encrypts a string 'message' with the public key 'key'""" 
    135      
    136     #return chopstring(message, key['e'], key['n'], encrypt_int) 
    137     return encrypt_int(message,key['e'],key['n']) 
     120    return rsa_operation(message,key['e'],key['n']) 
     121 
    138122def sign(message, key): 
    139123    """Signs a string 'message' with the private key 'key'""" 
    140        
    141     #return chopstring(message, key['d'], key['p']*key['q'], decrypt_int) 
    142     return decrypt_int(message,key['d'],key['n']) 
     124    return rsa_operation(message,key['d'],key['n']) 
    143125 
    144126def decrypt(cypher, key): 
    145127    """Decrypts a cypher with the private key 'key'""" 
    146  
    147     #return gluechops(cypher, key['d'], key['p']*key['q'], decrypt_int) 
    148     return decrypt_int(cypher,key['d'],key['n']) 
     128    return rsa_operation(cypher,key['d'],key['n']) 
    149129 
    150130def verify(cypher, key): 
    151131    """Verifies a cypher with the public key 'key'""" 
    152  
    153     #return gluechops(cypher, key['e'], key['n'], encrypt_int) 
    154     return encrypt_int(cypher,key['e'],key['n']) 
     132    return rsa_operation(cypher,key['e'],key['n']) 
    155133 
    156134def blind(message,secret,key): 
    157     #return chopstring(message,secret,key['n'],blinding_int) 
    158     return blinding_int(message,secret,key['n']) 
     135    return blinding_operation(message,secret,key['n']) 
    159136 
    160137def unblind(message,secret,key): 
    161     #return gluechops(message,secret,key['n'],blinding_int) 
    162     return blinding_int(message,secret,key['n']) 
     138    return blinding_operation(message,secret,key['n']) 
    163139 
    164140 
     
    398374 
    399375 
    400 dummypub = { 
    401 'e': 59343568823711559206614914329434374961303042335788099534897501357955675804133L,  
    402 'n': 32793647770017443581051908007908006621376604150499221366839445678176407494654130256572721798731647281073382247358431120858829497973290288823842062554766872356043862368004460824686561544242774370448685624290963022007959843337482265073763255429596031300239158232169931316001844162136279539357507455710562227577L 
    403 } 
    404  
    405 dummypriv = { 
    406 'q': 3660876769483489857077409618418989781902917148342703560038011826242773069902176126219730148875372119227365538620396693688963051979724315365417720940740849L,  
    407 'p': 8957867154497055858370988090953024497950216741166048812169220114248696092230327733254526217831517389137130597830562133311139440841609128753512364848094473L,  
    408 'd': 12619589565384678078150569778102981741046267149118420445896125941979396328586657133712760591528167393457329828435758755256948329844592838106750783634900284025380032774546264335257012829516042607077111098646252442031819834114954318384114125879377117610343879752299012777002244350133926279173002674800640331117L} 
    409  
    410  
     376dummypub = {'e': 14113314172904951708574681727178419945334488710884393819171664976779680200797597414114771594818675165309793637334221026797603177014256605018822198106314722836374110842070715219892097224490412698863094421694900145536562274616319932131625829121465675029881660966735997768513498069724329875965098488010383588739L, 'n': 145150538976217551367176809671350273750494602624899590324368244897722593745479036259822375443517603452852324994768211967284921909083542545166771234362330874393991730925949129652583929144910470338348353919907753285823861580558682180771896411177636929426768872822501699256786375850666075860261984182867372954251L} 
     377 
     378 
     379dummypriv = {'d': 123696117147104176428005963321746675718965595231084565714315557894285965050935507764060028854105522904648614509261060002795161536846964129662796047291190706239685012795528994459464895585008580460376045227460501329077360873393533273710765442351670778999647836893911520692642555450158992572095458544095097599595L, 'n': 145150538976217551367176809671350273750494602624899590324368244897722593745479036259822375443517603452852324994768211967284921909083542545166771234362330874393991730925949129652583929144910470338348353919907753285823861580558682180771896411177636929426768872822501699256786375850666075860261984182867372954251L}  
    411380 
    412381# Do doctest if we're not imported 
     
    419388    #blinding 
    420389    #message = 'f'*65 
    421     message = 'c3ab8ff13720e8ad9047dd39466b3c8974e592c2fa383d4a3960714caef0c4f2' 
     390    message = bytes2int('c3ab8ff13720e8ad9047dd39466b3c8974e592c2fa383d4a3960714caef0c4f2') 
    422391    #print 'cleartext ', message 
    423392    unblinder = getUnblinder(pub['n']) 
     
    430399    t = time.time() 
    431400     
    432     signedblind = encrypt_int(blinded, priv['d'], priv['p']*priv['q']) 
     401    signedblind = rsa_operation(blinded, priv['d'], priv['n']) 
    433402    times.append(time.time() - t) 
    434403    t = time.time() 
     
    445414        #full 
    446415        t = time.time() 
    447         message = 'serial '*5 
     416        message = bytes2int('serial '*5) 
    448417        print 'cleartext ', message 
    449418        cypher = encrypt(message,pub) 
     
    459428        print 'blinded', blinded 
    460429        signedblind = sign(blinded,priv) 
    461         signedblind = encrypt_int(blinded, priv['d'], priv['p']*priv['q']) 
     430        signedblind = rsa_operation(blinded, priv['d'], priv['n']) 
    462431        print 'signedblind', signedblind 
    463432        unblinded = unblind(signedblind,unblinder,pub)