Why can't you hijack someone's public key Sorry, this might be a stupid question but the more questions are here the easier you can use the Internet.
To sign your message in Bitcoin network, Alice uses his private key and message content. Bob verifies it with Alice's public key and message content.

Why can't a new user Fred just choose Alice's public key and generate his new private key? Then sign message with his new private key? So others who don't know Alice will think that Fred is Alice.
Short answer: Because the public key is derived from the private key.

Recall that when we are working with elliptic curves, we rely on the elliptic curve discrete logarithm problem (ECDLP). That is that we assume that if we have:

$$
Q = [k]P
$$

given the points $P, Q$ on our elliptic curve, it is hard to compute the scalar $k$.

Bitcoin uses ECDSA over the Secpk1 curve. In ECDSA, we have the public generator point $G$.
Alice's private key $d_a$ is randomly selected, as a large random number. With this $d_a$, her public key $Q_a$ is computed as follows:

$$
Q_a = [d_a]G
$$

This closely mirrors the equation above, about the discrete logarithm. Now your question is whether Fred can just use Alice's key $Q_a$, and generate his own private key $d_f$. He will only be able to choose a private key for which holds that $Q_a = [d_f]G$, but for this he would have to solve the ECDLP. In the case of for the Secpk1, this is practically infeasible (unless the scheme is broken).