{"channel":"tech","content":"<red> suppose we want to communicate message A if event E happens, and message B if event E does not happen.\n\nWe calculate three checksums: MD5(A), MD5(B), and MD5( \"{} if E else {}\" % (MD5(A), MD5(B)) ).\n\n<green> the MD5 algorithm is perhaps more reversible and collisionable than desired.  If you understand those concerns, you must also know how to remedy them.\n\nAs a pre-commitment, we send the three checksums, without identifying which is which.  After the event occurs (or does not occur), we reveal the message we want to communicate - which also reveals which of the checksums is the MD5 of that message.\n\n<xantham> the Interactive element is whether we must reveal a second message.\n\n<red> interactive proofs are beyond this channel.  The more relevant concern is how to construct predicates E such that \"E did not happen\" is substantively different from \"E has not happened yet\".","created_at":"2023-05-29T20:55:55","id":375,"llm_annotations":{},"parent_id":null,"processed_content":"<p><span class=\"colorblock color-red\">\n    <span class=\"sigil\">\ud83d\udca1</span>\n    <span class=\"colortext-content\"> suppose we want to communicate message A if event E happens, and message B if event E does not happen.</span>\n  </span></p>\n<p>We calculate three checksums: MD5(A), MD5(B), and MD5( \"{} if E else {}\" % (MD5(A), MD5(B)) ).</p>\n<p><span class=\"colorblock color-green\">\n    <span class=\"sigil\">\u2699\ufe0f</span>\n    <span class=\"colortext-content\"> the MD5 algorithm is perhaps more reversible and collisionable than desired.  If you understand those concerns, you must also know how to remedy them.</span>\n  </span></p>\n<p>As a pre-commitment, we send the three checksums, without identifying which is which.  After the event occurs (or does not occur), we reveal the message we want to communicate - which also reveals which of the checksums is the MD5 of that message.</p>\n<p><span class=\"colorblock color-xantham\">\n    <span class=\"sigil\">\ud83d\udd25</span>\n    <span class=\"colortext-content\"> the Interactive element is whether we must reveal a second message.</span>\n  </span></p>\n<p><span class=\"colorblock color-red\">\n    <span class=\"sigil\">\ud83d\udca1</span>\n    <span class=\"colortext-content\"> interactive proofs are beyond this channel.  The more relevant concern is how to construct predicates E such that \"E did not happen\" is substantively different from \"E has not happened yet\".</span>\n  </span></p>","quotes":[],"subject":"crypto architecture"}
