Deriving keys from low-entropy data