Oblivious pseudorandom function: Difference between revisions

Content deleted Content added
An improved password manager: Rewording and add details to the two mentioned implementations. Remove unsourced sentence that I think I know what it was referring to (from the SPHINX paper) but seemed misleading to me (because more goes into it than just the master/main password) and the mechanism is now explained in more detail by the new text
Definition: correction: hash function -> pseudorandom function
Line 10:
* The first-party (''the client''), knows the ''input'' ('''I''') and learns the ''output'' ('''O''') but does not learn the ''secret'' ('''S''')
* The second-party (''the server''), knows the ''secret'' ('''S'''), but does not learn either the input ('''I'''), nor the output ('''O''').
* The function has the same security properties as any (cryptographically secure) [[Cryptographic hashPseudorandom function family|cryptographicallypseudorandom securefunction]]. Specifically it shall be hard to distinguish the output from [[Cryptographically secure pseudorandom function:number generator#Requirements|true randomness]].
** It is hard to find two inputs with the same output (i.e. it is [[Hash collision|collision resistant]])
** It is hard to invert (i.e. it is resistant to [[preimage attack]]s)
** It is hard to distinguish the output from [[Cryptographically secure pseudorandom number generator#Requirements|true randomness]]
 
The function is called an ''Oblivious'' Pseudorandom Function, because the second-party is ''oblivious'' to the function's output. This party learns no new information from participating in the calculation of the result.