Secure Sketch Construction I would like a user to choose a point on an image which is represented by (x,y). This is meant to be a security token. When a user uses this location to login they are unlikely to to choose the exact same (x,y), rather they will choose a point nearby (x_g, y_g). The user may also be required to enter a password.

ATM I'm thinking of using a simple modulus function that will round (x,y) => (x mod 16, y mod 16). Other ideas include:


 multiplying x,y prior to applying the modulus function, (x,y) => x*y mod 16
 adding a salt to x and y prior to applying the modulus function, (x,y) => (x+salt mod 16, y+salt mod 16)
  adding the numerical representation of a hashed password to x and y. (x,y) => (x+pwordHash mod 16, y+pwordHash mod 16) 


I'm also considering how this maybe extended to more than one point. 

Problem

I wish to know if any of the above ideas are suitable or if there exists better better solutions for calculating a secure sketch. It is assumed that an attacker will have access to the salt and the secure sketch. The system will not store any record(i.e hash) of the actual point. The user will need to verify that the system has found the correct point.
One standard solution is described in the following research paper:


Robust discretization, with an application to graphical passwords.  Jean-Camille Birget and Dawei Hong and Nasir Memon.  eprint 2003/168.


That paper shows how to deal with the problem that the user's second point might be close to, but not exactly the same as, their original point.  In other words.... exactly your problem.

There might be more recent work on this problem.  You could do a literature search, starting from the above paper (e.g., looking at other papers that cite it) to see whether there are other better solutions.