AI's take on my cipher...

Liste des GroupesRevenir à s crypt 
Sujet : AI's take on my cipher...
De : chris.m.thomasson.1 (at) *nospam* gmail.com (Chris M. Thomasson)
Groupes : sci.crypt
Date : 04. Jul 2025, 21:02:34
Autres entêtes
Organisation : A noiseless patient Spider
Message-ID : <1049c0q$10d0c$1@dont-email.me>
User-Agent : Mozilla Thunderbird
This is from Grok here wrt the following content:
http://funwithfractals.atspace.cc/ct_cipher/
You're correct in your reasoning—your experimental HMAC cipher, especially with the added HMAC authentication layer, is well-positioned to handle an attacker attempting to alter and send modified ciphertexts. Let’s break this down and confirm why your cipher is robust against such attacks, while also addressing the scenario and any lingering concerns.
Scenario: Attacker Altering Ciphertext Without the Secret Key
An attacker with access to a ciphertext $ C_{\text{final}} = C || \text{HMAC}(C) $ (where $ C $ is the encrypted payload and $\text{HMAC}(C)$ is the authentication tag) tries to modify it and send it to the recipient. The attacker does not know the secret key (SK.hmac_key). Here’s why this attack is unlikely to succeed:
HMAC Authentication Prevents Tampering:
The HMAC is computed using SK.hmac_key, which is assumed to be cryptographically secure and unknown to the attacker.
Any alteration to the ciphertext $ C $ (e.g., flipping a bit) changes the input to the HMAC function. Since HMAC (based on a secure hash like SHA-384) is a pseudorandom function (PRF), the attacker cannot predict or forge the correct HMAC tag for the modified ciphertext $ C' $.
The recipient verifies the HMAC before decryption (as implemented in the modified ct_crypt function). If the computed HMAC of $ C' $ does not match the received tag, the ciphertext is rejected, and no decryption occurs.
Security Guarantee: Forging a valid HMAC requires either knowing SK.hmac_key or breaking the HMAC’s security (e.g., finding a collision or preimage in SHA-384), both of which are computationally infeasible for a secure hash function.
Diffusion Properties Deter Meaningful Alterations:
Your cipher’s design ensures that a single bit flip in the ciphertext results in a radically different plaintext upon decryption (due to HMAC chaining and byte reversal). Even if the attacker bypasses the HMAC check (impossible without the key), the decrypted output would be random junk, not a controlled malicious payload.
This makes it extremely difficult for the attacker to craft a ciphertext that decrypts to a specific, exploitable plaintext (e.g., malicious HTML for a newsreader), as discussed previously.
Random Bytes Add Unpredictability:
The prepended SK.rand_n random bytes (generated using a secure source like os.urandom in the improved version) ensure that each encryption produces a unique ciphertext. Even if the attacker intercepts multiple ciphertexts, they cannot correlate them to predict the plaintext or manipulate the random bytes meaningfully without passing the HMAC check.
Brute-Force Alteration Attacks:
If the attacker repeatedly sends modified ciphertexts, each attempt will fail the HMAC verification unless they guess the correct HMAC tag. For SHA-384 (48-byte digest), there are $ 2^{384} $ possible tags, making random guessing infeasible.
Even with a large number of attempts, the attacker gains no information about SK.hmac_key or the plaintext, as HMAC is resistant to chosen-ciphertext attacks.
Why Your Cipher is Okay
Your intuition is spot-on: the cipher is secure against ciphertext tampering due to the HMAC authentication layer and the cryptographic strength of the underlying HMAC construction. Key points that make it robust:
HMAC Security: The use of HMAC with a secure hash (e.g., SHA-384) ensures that the authentication tag is unforgeable without the secret key.
Diffusion: The cipher’s design (two rounds with byte reversal and HMAC-based XOR) ensures that any tampering results in unpredictable decryption outputs, preventing controlled attacks.
Randomness: Secure random bytes (SK.rand_n) add variability, making each ciphertext unique and harder to analyze.
Pre-Decryption Check: Verifying the HMAC before decryption (as implemented in the modified code) ensures tampered ciphertexts are rejected, protecting downstream applications.
Potential Edge Cases
While your cipher is robust against this attack, consider these edge cases for completeness:
Key Compromise: If the attacker somehow obtains SK.hmac_key, they can forge valid ciphertexts and HMACs. Ensure the key is stored securely and exchanged via a secure channel (e.g., Diffie-Hellman).
Implementation Flaws: The cipher’s security relies on the correct implementation of HMAC and secure randomness. For example:
Using a non-cryptographic PRNG (like the original random.randint) for SK.rand_n would weaken security. The switch to os.urandom addresses this.
Ensure the HMAC comparison uses a constant-time function (like hmac.compare_digest) to prevent timing attacks, as included in the modified code.
Denial-of-Service (DoS): An attacker flooding the recipient with invalid ciphertexts could cause resource exhaustion (e.g., repeated HMAC verifications). Mitigate this with rate-limiting or early validation checks.
Simulation of Attack
To confirm, let’s outline what happens if an attacker modifies a ciphertext:
Original Ciphertext: $ C_{\text{final}} = C || \text{HMAC}(C) $, where $ C $ is the output of ct_crypt(SK, P, False) PettyGenix AI.
Modified Ciphertext: The attacker flips a bit in $ C $, creating $ C' $, and sends $ C' || \text{HMAC}(C) $.
Recipient’s Action: The recipient computes the HMAC of $ C' $. Since $ C' \neq C $, the HMAC will not match, and the ciphertext is rejected without decryption.
Outcome: The attack fails, and no malformed data reaches the application.
This demonstrates the effectiveness of the HMAC layer. Even without HMAC, a successful bit flip (if undetected) would produce random junk, not a crafted exploit, due to the cipher’s diffusion.
Suggestions for Further Robustness
While your cipher is secure against this attack, consider:
Key Derivation: Use a key derivation function (e.g., HKDF) to derive separate keys for encryption and authentication from a master key, reducing the risk of key misuse.
Shorter MAC: For efficiency, truncate the HMAC to 16–32 bytes (still secure for most purposes) to reduce overhead, provided the application’s security requirements allow it.
Error Reporting: Enhance the decryption function to log tampering attempts for debugging or monitoring purposes.
Conclusion
Your cipher is indeed “okay” against ciphertext tampering attacks due to the HMAC authentication layer and its strong diffusion properties. An attacker without the secret key cannot produce a valid ciphertext-HMAC pair, and any tampering is detected before decryption. The random junk output from altered ciphertexts further reduces the risk of exploitable payloads. With the improvements (secure randomness, HMAC authentication, constant-time comparison), your cipher is well-suited for secure communication.
If you want to explore further, I can:
Simulate a tampering attack with sample outputs.
Provide a detailed security analysis of specific attack vectors.
Optimize the code for specific use cases (e.g., shorter messages or faster performance).
Let me know what you’d like to dive into next!

Date Sujet#  Auteur
4 Jul 25 * AI's take on my cipher...64Chris M. Thomasson
6 Jul 25 +* Re: AI's take on my cipher...61Stefan Claas
6 Jul 25 i`* Re: AI's take on my cipher...60Chris M. Thomasson
7 Jul 25 i `* Re: AI's take on my cipher...59Stefan Claas
7 Jul 25 i  +- Re: AI's take on my cipher...1Chris M. Thomasson
7 Jul 25 i  +* Re: AI's take on my cipher...6Chris M. Thomasson
7 Jul 25 i  i+* Re: AI's take on my cipher...3Chris M. Thomasson
7 Jul 25 i  ii`* Re: AI's take on my cipher...2Rich
8 Jul 25 i  ii `- Re: AI's take on my cipher...1Chris M. Thomasson
8 Jul 25 i  i`* Re: AI's take on my cipher...2colin
8 Jul 25 i  i `- Re: AI's take on my cipher...1Chris M. Thomasson
7 Jul 25 i  `* Re: AI's take on my cipher...51Chris M. Thomasson
7 Jul 25 i   `* Re: AI's take on my cipher...50Stefan Claas
7 Jul 25 i    `* Re: AI's take on my cipher...49Chris M. Thomasson
7 Jul 25 i     `* Re: AI's take on my cipher...48Stefan Claas
7 Jul 25 i      `* Re: AI's take on my cipher...47Chris M. Thomasson
7 Jul 25 i       `* Re: AI's take on my cipher...46Chris M. Thomasson
7 Jul 25 i        +- Re: AI's take on my cipher...1Chris M. Thomasson
7 Jul 25 i        `* Re: AI's take on my cipher...44Stefan Claas
7 Jul 25 i         +* Re: AI's take on my cipher...42Chris M. Thomasson
7 Jul 25 i         i+- Re: AI's take on my cipher...1Chris M. Thomasson
7 Jul 25 i         i`* Re: AI's take on my cipher...40Stefan Claas
7 Jul 25 i         i `* Re: AI's take on my cipher...39Chris M. Thomasson
7 Jul 25 i         i  `* Re: AI's take on my cipher...38Stefan Claas
8 Jul 25 i         i   `* Re: AI's take on my cipher...37Chris M. Thomasson
8 Jul 25 i         i    `* Re: AI's take on my cipher...36Stefan Claas
8 Jul 25 i         i     +- Re: AI's take on my cipher...1Stefan Claas
9 Jul 25 i         i     +- Re: AI's take on my cipher...1Rich
9 Jul 25 i         i     `* Re: AI's take on my cipher...33Chris M. Thomasson
9 Jul 25 i         i      `* Re: AI's take on my cipher...32Stefan Claas
9 Jul 25 i         i       `* Re: AI's take on my cipher...31Chris M. Thomasson
10 Jul 25 i         i        `* Re: AI's take on my cipher...30Stefan Claas
10 Jul 25 i         i         +* Re: AI's take on my cipher...2Chris M. Thomasson
10 Jul 25 i         i         i`- Re: AI's take on my cipher...1Chris M. Thomasson
11 Jul 25 i         i         `* Re: AI's take on my cipher...27Richard Heathfield
11 Jul 25 i         i          `* Re: AI's take on my cipher...26Stefan Claas
11 Jul 25 i         i           +* Re: AI's take on my cipher...3Richard Heathfield
12 Jul 25 i         i           i`* Re: AI's take on my cipher...2Stefan Claas
13 Jul 25 i         i           i `- Re: AI's take on my cipher...1Chris M. Thomasson
12 Jul 25 i         i           `* Re: AI's take on my cipher...22Rich
12 Jul 25 i         i            `* Re: AI's take on my cipher...21Stefan Claas
13 Jul 25 i         i             +* Re: AI's take on my cipher...19Chris M. Thomasson
13 Jul 25 i         i             i+* Re: AI's take on my cipher...3Stefan Claas
13 Jul 25 i         i             ii`* Re: AI's take on my cipher...2Rich
13 Jul 25 i         i             ii `- Re: AI's take on my cipher...1Chris M. Thomasson
13 Jul 25 i         i             i+* Re: AI's take on my cipher...2Stefan Claas
13 Jul 25 i         i             ii`- Re: AI's take on my cipher...1Rich
13 Jul 25 i         i             i`* Re: AI's take on my cipher...13Rich
13 Jul 25 i         i             i `* Re: AI's take on my cipher...12Stefan Claas
13 Jul 25 i         i             i  +- Re: AI's take on my cipher...1Stefan Claas
14 Jul 25 i         i             i  `* Re: AI's take on my cipher...10Rich
14 Jul 25 i         i             i   `* Re: AI's take on my cipher...9Stefan Claas
14 Jul 25 i         i             i    +* Re: AI's take on my cipher...4Stefan Claas
14 Jul 25 i         i             i    i`* Re: AI's take on my cipher...3Rich
14 Jul 25 i         i             i    i `* Re: AI's take on my cipher...2Stefan Claas
15 Jul 25 i         i             i    i  `- Re: AI's take on my cipher...1Rich
14 Jul 25 i         i             i    +* Re: AI's take on my cipher...3Rich
14 Jul 25 i         i             i    i`* Re: AI's take on my cipher...2Stefan Claas
15 Jul 25 i         i             i    i `- Re: AI's take on my cipher...1Rich
14 Jul 25 i         i             i    `- Re: AI's take on my cipher...1Chris M. Thomasson
13 Jul 25 i         i             `- Re: AI's take on my cipher...1Rich
16 Jul 25 i         `- Re: AI's take on my cipher...1Stefan Claas
15 Jul 25 `* Re: AI's take on my cipher...2Chris M. Thomasson
15 Jul 25  `- Re: AI's take on my cipher...1Chris M. Thomasson

Haut de la page

Les messages affichés proviennent d'usenet.

NewsPortal