This is how vanity address generation services work.
- The person that wants a vanity address generates a private and public key and supplies ONLY the PUBLIC key to the service.
- The service doesn't know the private key, but they can generate random public keys (and therefore addresses) that are X steps away from the provided public key.
- The service generates MANY, MANY addresses until they stumble on one that matches the vanity request.
- The service provides the size of the step away from the originally provided public key.
- The person that wants a vanity address can add this step size to the private key that they originally generated and they now have the vanity address private key without the service ever knowing what either the original private key, or this new vanity address private key is.