I'm working on a cryptosystem based on ECC (elliptic curve cryptography). I need to choose several (~10) curve points which should be used as generators, and it's important that their relation is unknown, i.e. no one should be able to obtain one generator by multiplying another one by some scalar.
So that just choosing all the generators in a random manner isn't good idea, because some may suspect that they're not actually random, and their relation is known.
Natural solution is to create all the generators by using hashing scheme, i.e. pick several strings and create all the generators by hashing them (or hash each generator in order to create the next). This should convince everyone that their relation is unknown.
However it's also important that the obtained curve points are indeed generators, i.e. each one forms a cyclic group which spans all the curve points.
Now, this is where I'm confused. I've read once that selecting right points isn't a trivial task, there exists an algorithm to test the rank of a point, but it's somewhat complex to implement. However I've also heard that most of the points on an elliptic curve are generators, and when selected in a pseudo-random manner it's very unlikely to fall onto a bad point.
So, what is right to do? Is it ok just to pick random points and hope for the best?
Is there an "online resouce" which can test the selected points? I mean, I can define the problem (curve formula, the prime for the underlying field order), give the point, and get its rank?