Cryptographic hashes, like those used in digital signing, are designed to be resistant to these types of manipulations.
The attack you’re trying to execute is related to the birthday attack, but somewhat stronger: you’re looking for a function f that takes messages m1 and m2 and optionally a hash h1 valid over m1, and returns a different valid hash h2 that encodes m2 in some way. To do this, you need to be able to generate an arbitrary number of valid hashes for m1 (after which you can make up an encoding scheme based on their structure), which is quite difficult and essentially requires the hash function to be thoroughly broken.
Your best bet is probably some kind of steganographic magic hidden in the signed message itself, or in whitespace around it. That’s limited only by your creativity, but without encryption in the hidden message (which is, of course, possible to add), it’s vulnerable to an equally creative attacker. For short enough carrier messages it may not even be possible.
Cryptographic hashes, like those used in digital signing, are designed to be resistant to these types of manipulations.
The attack you’re trying to execute is related to the birthday attack, but somewhat stronger: you’re looking for a function f that takes messages m1 and m2 and optionally a hash h1 valid over m1, and returns a different valid hash h2 that encodes m2 in some way. To do this, you need to be able to generate an arbitrary number of valid hashes for m1 (after which you can make up an encoding scheme based on their structure), which is quite difficult and essentially requires the hash function to be thoroughly broken.
Your best bet is probably some kind of steganographic magic hidden in the signed message itself, or in whitespace around it. That’s limited only by your creativity, but without encryption in the hidden message (which is, of course, possible to add), it’s vulnerable to an equally creative attacker. For short enough carrier messages it may not even be possible.