I have discovered a critical error in the letter of guarantee format.
The current format, the way it downloads for you right now, does not verify with the official RoyalMix PGP key - gpg says bad signature. Here is an example:
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512
Service Address: bc1qa0lyfn722x0x8d94d5navw4w34gmn9c67pzyxk
Mixing mode: Complete anonymity.
Cleansed coins will be sent to the forwarding address:
1A1zP1eP5QGefi2DMPTfTL5SLmv7DivfNa
Maximum service fee is: 7.5%.
Maximum mixing time is 12 hours + delay time set by the user.
Time: 2024-08-04 05:18:36
Confirmation required -
Less than 12 bts - 1 transaction
Less than 50 bts - 2 transactions
Less than 100 bts - 3 transactions
Less than 250 bts - 4 transactions
ONLY 1 TRANSACTION ALLOWED!
PGP fingerprint: ECFEBB0B364BC347A59A6FF6CA22E2750AFAA10E.
-----BEGIN PGP SIGNATURE-----
iQGzBAEBCgAdFiEE7P67CzZLw0elmm/2yiLidQr6oQ4FAmavDywACgkQyiLidQr6
oQ6+ggv8CBD5cFsCWkKphw13vc3OqTN+bEJVZJBc4h9E4R6T3h6Hbm5rlfbq0GQK
WAmSTVFzO/rtZXDA6hrtbhX+e2EvfFqC74xwUgA4d34FvQCeufKZdVhXqw4bohNK
CXtavlwN8OSc5e4iD/KlnFVDlNuxLBLwx/wkOdC243woi2wV7j6rhahP8ZzVvA6Z
4KihXO7gpXTyjVfGWs7jlEFAJt9q96esC8Rykd00LF7W/ME4e3xt/8lD2omrdKvS
wh70Vq5UvkLhzW8cURzE3b8dKIwekdhPHjjojwXT/q0zNFm2hHWDFvCjaIFYG83U
hkkbMxAo6tezS/7N49PtVp3EAp+bomw6mNzphFFgt1vdTbOnMCQae8K0ZoZJ2OGY
KAH8H16VwmFJqHZySG5opW2EYqxHETWKyKDypvojueNUHAbZp8ml9MJ8ZpgwRpWh
NbLoQ6UQqCkzj4tS5pbwFq8EeTEkrsTxewbD1xMhzlk75JvjGPodzWiYSygKONzW
D/QZ29gp
=lI11
-----END PGP SIGNATURE-----
gpg: Signature made Sun 04 Aug 2024 07:03:17 AM CEST
gpg: using RSA key ECFEBB0B364BC347A59A6FF6CA22E2750AFAA10E
gpg: BAD signature from "Royal <[email protected]>" [unknown]
The specific error I got from GPG on deeper analysis is "hash mismatch". You can see it on pgptool.org for example.
The hash mismatch error means that the SHA512 digest of the cleartext message does not match what is encoded, and expected, inside the pgp signature.
That is because RoyalMix is putting too many blank lines inside the message text.
I suspect this is because of the fact that the letter of guarantee is transmitted in the HTML file when you go to your mixing session, so the blank lines are added there.
The correct letter of guarantee should be this:
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512
Service Address: bc1qa0lyfn722x0x8d94d5navw4w34gmn9c67pzyxk
Mixing mode: Complete anonymity.
Cleansed coins will be sent to the forwarding address:
1A1zP1eP5QGefi2DMPTfTL5SLmv7DivfNa
Maximum service fee is: 7.5%.
Maximum mixing time is 12 hours + delay time set by the user.
Time: 2024-08-04 05:18:36
Confirmation required -
Less than 12 bts - 1 transaction
Less than 50 bts - 2 transactions
Less than 100 bts - 3 transactions
Less than 250 bts - 4 transactions
ONLY 1 TRANSACTION ALLOWED!
PGP fingerprint: ECFEBB0B364BC347A59A6FF6CA22E2750AFAA10E.
-----BEGIN PGP SIGNATURE-----
iQGzBAEBCgAdFiEE7P67CzZLw0elmm/2yiLidQr6oQ4FAmavDywACgkQyiLidQr6
oQ6+ggv8CBD5cFsCWkKphw13vc3OqTN+bEJVZJBc4h9E4R6T3h6Hbm5rlfbq0GQK
WAmSTVFzO/rtZXDA6hrtbhX+e2EvfFqC74xwUgA4d34FvQCeufKZdVhXqw4bohNK
CXtavlwN8OSc5e4iD/KlnFVDlNuxLBLwx/wkOdC243woi2wV7j6rhahP8ZzVvA6Z
4KihXO7gpXTyjVfGWs7jlEFAJt9q96esC8Rykd00LF7W/ME4e3xt/8lD2omrdKvS
wh70Vq5UvkLhzW8cURzE3b8dKIwekdhPHjjojwXT/q0zNFm2hHWDFvCjaIFYG83U
hkkbMxAo6tezS/7N49PtVp3EAp+bomw6mNzphFFgt1vdTbOnMCQae8K0ZoZJ2OGY
KAH8H16VwmFJqHZySG5opW2EYqxHETWKyKDypvojueNUHAbZp8ml9MJ8ZpgwRpWh
NbLoQ6UQqCkzj4tS5pbwFq8EeTEkrsTxewbD1xMhzlk75JvjGPodzWiYSygKONzW
D/QZ29gp
=lI11
-----END PGP SIGNATURE-----
This message verifies successfully:
gpg: Signature made Sun 04 Aug 2024 07:18:36 AM CEST
gpg: using RSA key ECFEBB0B364BC347A59A6FF6CA22E2750AFAA10E
gpg: Good signature from "Royal <[email protected]>" [unknown]
gpg: WARNING: This key is not certified with a trusted signature!
gpg: There is no indication that the signature belongs to the owner.
Primary key fingerprint: ECFE BB0B 364B C347 A59A 6FF6 CA22 E275 0AFA A10E
I advise the RoyalMix team to fix this as soon as possible.