Simplifying, to create a set of asymmetric keys a random number is fed into a math function which isn't reversible. The end result of this function generate both of those keys. Validation checks The random addresses should really go most validations and might be of support if you should check https://ethaddress.co