Dear Wiki user,

You have subscribed to a wiki page or wiki category on "Subversion Wiki" for 
change notification.

The "MasterPassphrase" page has been changed by GregStein:
http://wiki.apache.org/subversion/MasterPassphrase?action=diff&rev1=17&rev2=18

Comment:
clarify that the prefix applies to the plaintext, before encryption

  
  The passwords will be encrypted using 
[[http://en.wikipedia.org/wiki/Advanced_Encryption_Standard|AES-256]] in 
[[http://en.wikipedia.org/wiki/Block_cipher_modes_of_operation#Cipher-block_chaining_.28CBC.29|CBC
 mode]]. This is a block-oriented, symmetric cipher (16 byte blocks), so some 
padding will be added/stripped to the plaintext password (a NUL character is 
fine).
  
- To prevent dictionary attacks against the encrypted passwords, they will be 
prefixed with 4 bytes (32 bits) of random data.
+ To prevent dictionary attacks against the encrypted passwords, the plaintext 
password will be prefixed with 4 bytes (32 bits) of random data before 
encryption.
  
  The encryption algorithm requires a 16 byte key (technically, it can also be 
24 or 32 bytes), and a 16 byte 
[[http://en.wikipedia.org/wiki/Initialization_vector|initialization vector]]. 
The crypt key will be constructed as a derivation of the master password (see 
[[http://en.wikipedia.org/wiki/PBKDF2|PBKDF2]]). PBKDF2 requires a 64 bit salt. 
The IV is a random 16 byte value. The salt and IV will be stored within the 
block of data encrypted by the master password. The master password decrypts 
that data block, uses the salt to generate the (de)crypt key, then pairs it 
with the IV to decrypt the target password.
  

Reply via email to