What is being sent to you will be signed by the other's party SAML key.
You can choose, in Keycloak, to verify or not what is being sent to you.
Of course, for security, you do want to check the signature of what is being sent to you, so you need both "Client Signature Required" + a SAML key defined for the party contacting you to be defined.
On the distant party side, it's the same. They need to import the public certificate of the realm where your SAML client is located in order to be able to verify the signatures of what you are sending in the XML. In your SAML client configuration you can sign the whole XML (option "Sign Documents") and you can also sign the assertions inside that XML (option "Sign Assertions"). Usually signing the whole document is used, as everything inside (including the assertions) will be signed. But if you do encrypt the assertions, it becomes very important to encrypt + sign. When using encryption, signing is very important and should always go alongside encryption (Applied Cryptography from Bruce Schneier explains why).
I am much more at easy with OpenID-Connect than SAML so I'm trying to help, but I guess the mailing-list has SAML experts far beyond my poor knowledge of it to help you if you remain stuck 😉