Abstract: A method is provided for storing/retrieving a key in a table, the method for storing a key comprising providing a table comprising a plurality of entries, each selected from a group consisting of random words and random strings; providing a question to a user; receiving from the user a corresponding secret answer; receiving the key to store in the table; determining a position in the table using the received corresponding secret answer and at least one table entry and storing the key at the determined position.