To be able to send BTC around you need to first create a Transactions (containing of Inputs/Outputs), and afterwards sign the TX with the corresponding private key(s).
As you (hopefully) already read, it is impossible (in human terms) to 'crack' the private key out of a public key.
Each TX which is not signed with the private key (which only the 'owner of the btc' should have) it will not get accepted by the nodes in the BTC network.
Each node has the ability to verify the signature of the TX's with the corresponding public key. This basically means the following:
- You are able to 'sign' a TX with a private key(only you know)
- Others are able to verify this signature with the public key
There is no possible attack vector in 'forging transactions'.