I've read about BIP32 key derivation functions.
I'm trying to understand how, given a secp256k1 key pair, that "child" public keys may be generated from just the public key, and the corresponding child private keys can be generated from the private key.
It seems to me (and I'm probably mistaken) that the HMAC-SHA512 and concatenation is not important, and that there is a simpler way of making child keys from just the appropriate type of parent key.
Is BIP32 as simple as it can be for the case of non-hardened child keys?
Or are there functions which just depend on a child-number, i, and the parent key of the appropriate type, to generate child keys?