From phma at bezitopo.org Fri Jul 11 19:22:20 2025 From: phma at bezitopo.org (Pierre Abbat) Date: Fri, 11 Jul 2025 19:22:20 -0400 Subject: [Cryptography] Uses for novel or unusual kinds of cryptographic primitives Message-ID: <5602035.Lt9SDvczpP@puma> A friend of mine is trying to get me a grant for some ideas I have, including two ciphers and a hash function. They are a whole-message cipher, a keyed hash, and a self-synchronizing byte stream cipher. I'd like to include possible uses in the grant application. A whole-message cipher is like a block cipher, except that the block can be arbitrarily long. The one I've invented is Wring, which I've mentioned here before. Wring is an iterated product cipher with four steps, but one could make a whole-message Feistel cipher with a 4?4 S-box for the odd nybble, or other kinds. If you encrypt a 1 MB message with a 16 byte block cipher in CBC mode, every bit of plaintext influences every block of ciphertext from there on, but the last byte of plaintext has no influence on the first byte of ciphertext. In a whole-message cipher, every byte of ciphertext depends on every byte of plaintext. It can be used as an all-or-nothing transform. What are some other uses of whole-message ciphers (besides, of course, encrypting)? Twistree, which I've also mentioned here, is a keyed hash function. It's not a construction in which the key is concatenated with the message and then they're hashed together; rather, the key determines the S-boxes used in the compression function. Is there any protocol in which keying like this is important? I've also invented a self-synchronizing byte stream cipher named Daphne. Most stream ciphers I've heard of, including pre-computer ones like Enigma, are synchronous ciphers: if a byte or letter gets corrupted in transmission, that byte or letter, and no other, will be corrupt on decrypting, and if a byte or letter is lost, the decryption produces garbage from then on. In a self- synchronizing cipher, a byte or letter being corrupted or dropped from ciphertext results in several or many bytes or letters being corrupted in the plaintext, then the cipher recovers and produces correct plaintext. When would this property be important? Pierre -- .i toljundi do .ibabo mi'afra tu'a do .ibabo damba do .ibabo do jinga .icu'u la ma'atman.