I couldn't find reference to quintrophy or quintrophy1x in the IACR eprint archive (or on a google search.) And I think you forgot the references to external review.
Thanks for your comment! As this is a brand-new project, it hasn’t been submitted to the IACR ePrint Archive yet, and there’s no prior mention of it there or in broader searches, being that it’s a fresh release. We built this as an original implementation to push the boundaries of encryption strength with a 512-bit key and custom transformations, and I’m excited to share it with the community here first.
With a 512-bit key and 16 rounds operating on 128-byte blocks, Quintrophy1x integrates dynamic substitution, key-driven permutations, fractional bit mixing, and inter-block diffusion to create a quantum-proof cipher that's stronger than AES-256-GCM.
Thanks for the question! You’re spot on. Fisher-Yates is a key part of Quintrophy1x’s design, used twice per instance: once to generate a dynamic 256-element S-box and once for a 128-byte block permutation.
For both shuffles, we seed Fisher-Yates with a SHA-512 hash of the key and nonce.
For the S-box, we generate a 256-element lookup table. We feed the Fisher-Yates shuffle a robust stream of pseudo-random numbers derived from the 512-bit key and a 16-byte nonce, processed through a SHA-512 hash function. We tweak this input slightly for the S-box so it’s distinct from other uses, ensuring every encryption gets a unique table. The shuffle then scrambles the 0-255 values based on this randomness, giving us a key-dependent substitution layer. For the permutation, we take each 128-byte block of data and reorder its bytes. We feed Fisher-Yates the same key and nonce combo, hashed again, to produce another pseudo-random sequence. This drives the shuffle, rearranging the block’s byte positions in a way that’s consistent for a given key-nonce pair.
This approach ensures each shuffle is deterministic for a given key-nonce pair (crucial for reversibility) but appears random to an attacker without the key. SHA-512’s 512-bit output provides ample entropy, and the nonce adds uniqueness per encryption.
Quintrophy1x has been appropriately renamed as, Quintropy1x. This aligns better with the Quintessentropy suite as well as succeeding it's purpose in delivering quintessential entropy on every encryption.
For the S-box, we generate a 256-element lookup table. We feed the Fisher-Yates shuffle a robust stream of pseudo-random numbers derived from the 512-bit key and a 16-byte nonce, processed through a SHA-512 hash function. We tweak this input slightly for the S-box so it’s distinct from other uses, ensuring every encryption gets a unique table. The shuffle then scrambles the 0-255 values based on this randomness, giving us a key-dependent substitution layer. For the permutation, we take each 128-byte block of data and reorder its bytes. We feed Fisher-Yates the same key and nonce combo, hashed again, to produce another pseudo-random sequence. This drives the shuffle, rearranging the block’s byte positions in a way that’s consistent for a given key-nonce pair.
This approach ensures each shuffle is deterministic for a given key-nonce pair (crucial for reversibility) but appears random to an attacker without the key. SHA-512’s 512-bit output provides ample entropy, and the nonce adds uniqueness per encryption.