In general, a signature consists of a public key
Signature does not contain
the public key. The signature scripts in bitcoin transactions usually come with a public key.
and a hash of the message that has been encrypted with the private key.
There is no encryption being done in message signing.
Encryption is the process where you create a "cipher text" which can then be decrypted using the
private key to get the original message. However, in a signing operation we should already know the message and the verification is done using the public key.
The operations are called signing and verification not encrypt/decrypt.
The public key is used to decrypt the hash,
As I explained. Also in any decryption algorithm you use the private key to not the public key to decrypt.