The shape context can be created easily, For matching operation a bipartite based graph matching algorithm can be used. It can be done using Hungarian algorithm with complexity is less than the brute force method( O(n^2) ).
But after implementing Hungarian algorithm i am not able to find enough match point pairs between shapes. The problem with Hungarian method is that it can't give you the answer in fixed amount of time. It tries to optimize, sometimes never ending optimizations.
Still I believe it can be corrected(using a different approch to SC creation) , I need to work more. Not getting enough time.
A nice lecture about Hungarian Algorithm can be found at here