Changeset 563

Show
Ignore:
Timestamp:
05/22/08 16:13:30
Author:
rachel
Message:

Use Salted S2K

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • openpgpsdk/trunk/src/lib/adv_create.c

    r560 r563  
    382382        return ops_false; 
    383383 
    384     assert(key->s2k_specifier==OPS_S2KS_SIMPLE); // = 1 \todo should be salted or iterated-and-salted 
     384    assert(key->s2k_specifier==OPS_S2KS_SIMPLE || key->s2k_specifier==OPS_S2KS_SALTED); // = 1 \todo could also be iterated-and-salted 
    385385    if (!ops_write_scalar(key->s2k_specifier,1,info)) 
    386386        return ops_false; 
     
    396396        break; 
    397397 
     398    case OPS_S2KS_SALTED: 
     399        // 8-octet salt value 
     400        ops_random((void *)&key->salt[0],OPS_SALT_SIZE); 
     401        if (!ops_write(key->salt, OPS_SALT_SIZE, info)) 
     402            return ops_false; 
     403        break; 
     404 
    398405        /* \todo 
    399     case OPS_S2KS_SALTED: 
    400     // 8-octet salt value 
    401         break; 
    402  
    403406    case OPS_S2KS_ITERATED_AND_SALTED: 
    404407    // 8-octet salt value 
     
    420423        { 
    421424    case OPS_S2KS_SIMPLE: 
    422         // RFC4880: section 3.7.1.1 
     425    case OPS_S2KS_SALTED: 
     426        // RFC4880: section 3.7.1.1 and 3.7.1.2 
    423427 
    424428        done=0; 
     
    439443                } 
    440444 
     445            if (key->s2k_specifier==OPS_S2KS_SALTED) 
     446                { hash.add(&hash, key->salt, OPS_SALT_SIZE); } 
     447 
    441448            hash.add(&hash, passphrase, pplen); 
    442449            hash.finish(&hash, hashed); 
     
    451458 
    452459        /* \todo 
    453     case OPS_S2KS_SALTED: 
    454     // 8-octet salt value 
    455         break; 
    456  
    457460    case OPS_S2KS_ITERATED_AND_SALTED: 
    458461    // 8-octet salt value 
  • openpgpsdk/trunk/src/lib/adv_openssl_crypto.c

    r558 r563  
    305305 
    306306    skey->s2k_usage=OPS_S2KU_ENCRYPTED_AND_HASHED; 
    307     // \todo     skey->s2k_specifier_t=OPS_S2KS_SALTED; 
    308     skey->s2k_specifier=OPS_S2KS_SIMPLE; 
     307    skey->s2k_specifier=OPS_S2KS_SALTED; 
     308    //skey->s2k_specifier=OPS_S2KS_SIMPLE; 
    309309    skey->algorithm=OPS_SA_CAST5; // \todo make param 
    310310    skey->hash_algorithm=OPS_HASH_SHA1; // \todo make param