My application requires an AES-256 key K
for some secure operation. In order to avoid saving this key in application, I have implemented following scheme:
- There are 5 individuals who enters their passwords in application. Lets call them
PW1..PW5
Using these passwords, I have generated the key as:
K = KDF(PW1 || PW2 || PW3 || PW4 || PW5)
The problem is that now I need to modify the application such that it works even if only 3 out of 5 passwords are available (but no less than 3). This is required because even if we lose one or two passwords (accident, person refusing to enter password etc.), we are able to recover from that situation.
Please can you advise how it can be achieved?