Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    primarykey
    data
    text
    <p>Password-based encryption takes a <em>password</em>, as the term implies. Passwords are run through a key derivation function to obtain the actual key. As a KDF is typically constructed from a hash function, the password may be of any length and contain any characters.</p> <p>Passwords have to be run through a KDF because typical passwords don't contain anywhere near enough entropy to be considered secure against brute force attacks. A KDF substitutes this lack of "key space" depth with computationally expensive key derivation – hence the thousands of iterations. The disadvantage is the fact that initializing the cipher is also expensive.</p> <p>This is a tradeoff well worth it if passwords are required instead of raw keys. However, in your case it would be a better idea to use the raw key. Unfortunately it seems that the Jasypt library you are using only supports PBE.</p> <p>To contain at least 256 bits of entropy (as much as a raw random 256-bit key), <a href="https://en.wikipedia.org/wiki/Password_strength#Random_passwords" rel="nofollow">the password has to contain at least 43 random (case-sensitive) alphanumeric characters</a>. If you pick a password that long, you can probably lower the iteration count to 1.</p> <p>It seems pretty odd to me that you have to think through all this even though you are using a library that you are supposed to be able to use "without the need of having deep knowledge on how cryptography works". Why does it expose all the ugly details if users aren't supposed to know what they are?</p>
    singulars
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. VO
      singulars
      1. This table or related slice is empty.
    2. VO
      singulars
      1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload