Decryption 2026-10-31
Recovery of a plaintext from a ciphertext using an appropriate key. Correctness requires the decryption operation to invert the specified encryption operation on supported messages.
The essential exponent condition isOtherwise the modular multiplicative inverse defining does not exist. For large prime numbers greater than three, this is equivalent toIf, for example, , the multiplicative group modulo has order divisible by three, and cubing is not a bijection; distinct plaintexts can have the same ciphertext. Unique decryption of all messages would then be impossible.
The prime numbers must also be distinct for the displayed totient formula, and selected sufficiently large and independently that integer factorization of is infeasible. A small factor, equal factors, or an exceptionally small difference between and gives an avoidable factorisation weakness. These size and generation conditions address security; the congruence condition addresses invertibility of cubing.
For each candidate nonzero offset , expansion givesConsequently, if is invertible, the candidate isCompute the modular multiplicative inverse using the extended Euclidean algorithm, then verify both and . The RSA cryptosystem cubing map is a bijection, so an accepted candidate cannot be a different plaintext with the same first ciphertext. This costs fewer than trials, each involving polynomially many operations in the bit length of .
There is a useful way to handle every denominator exception for a correct nonzero . Compute . If , this greatest common divisor factors , allowing ordinary RSA cryptosystem decryption. If , then . The permitted prime numbers are and much larger than , so is invertible modulo each. The equation would make a nontrivial cube root of one, impossible in a group of order coprime to three. Thus cannot occur for the correct nonzero offset under these hypotheses.
If the bound in the question is read as also allowing , then and there is no additional information: the problem reduces to inverting a single ordinary RSA cryptosystem ciphertext. The small-offset attack requires a nonzero difference; that is the natural reading of distinct related messages.
Alice's own freshness evidence is the ticketAfter decryption, she checks her pending cryptographic nonce, the long-term shared secret and both identities. Only Alice and Tim know ; with honest Tim and an unpredictable new , a valid matching ticket establishes that Tim generated this session key after that challenge was issued. A merely unused but predictable challenge does not establish that temporal ordering.
The claimed authentication of Alice to Bob, however, is false for the printed protocol. To exhibit the failure, let initiate message 1 using Alice's name while Alice is absent. Bob and Tim carry out messages 2 and 3 normally. Write the genuine message 3 as , where and . The adversary intercepts it, learns the unencrypted , and chooses a symmetric key of its own.
The adversary sends BobBob's checks of and the ticket identities pass, because anyone can encrypt using his public key. Bob sends message 4 using ; the adversary suppresses that message and returns as message 5. Bob accepts Alice, although Alice has done nothing. No encryption has been broken.
A denial-of-service attack can exploit both an honest relay and replay at Tim. The adversary repeatedly sends cheap unauthenticated message-1 requests naming Alice and Bob. Bob then performs the public-key encryption in message 2, and Tim performs a private-key decryption, generates a session key, looks up the users' records and performs two public-key encryptions. The adversary's first messages contain no cryptographic work.
Alternatively, after observing one valid message 2, the adversary submits copies directly to Tim. It remains well formed; the printed protocol has no request-replay cache. Tim's promise to reject malformed requests does not imply duplicate suppression. Each replay can provoke the expensive operations again. If such a cache is added, the repeated-message-1 method still induces distinct requests through Bob unless admission is controlled.
Place a proof of work gate before Tim performs the expensive private-key decryption in message 2. Binding the puzzle to the whole request prevents solving a cheap puzzle once and reusing it with different tickets.
For example, let be the exact encoding of message 2, including identities, Alice's cryptographic nonce and Bob's encrypted component. On receiving a proposed request, Tim does only cheap length and format checks and returns a fresh challenge , an expiry time , a difficulty and a cookieHere is Tim's cookie secret and the message authentication code prevents alteration of the challenge or difficulty. Tim need not retain large amounts of per-request state merely to issue the cookie.
The requester finds a suffix such thatUnder the usual unpredictable-hash-output model, this takes an expected trials; verifying a proposed suffix needs one cryptographic hash function evaluation after checking the request digest and cookie. Preimage resistance motivates search difficulty, but the exact estimate also uses that distribution assumption.
The requester returns . Before any expensive decryption, Tim verifies the cookie, expiry, work and request binding, and atomically records that this challenge has been consumed. Repeated submissions of a consumed challenge are rejected cheaply. Short expiry bounds the storage needed for spent challenges. A cookie alone is insufficient: without one-use enforcement, the attacker could replay a single valid solved request indefinitely.
To charge the work to the initiator rather than Bob, Bob can relay the challenge to Alice and forward her solution. The adversary's fake Alice must then solve each puzzle instead of making honest Bob do it. Tim must issue challenges and reject bad proofs with bounded inexpensive processing, and difficulty should be chosen so that many verified requests require substantial aggregate work. This mitigates the computational denial-of-service attack; it does not correct the separate authentication flaw.
For encrypt-then-authenticate, choose any -bit string and computeSend . The receiver's correct check for this composition is before decryption, so it passes by construction. The receiver obtains a plaintext , although the adversary may not know it.
The finite domains justify the signature relation: is the identity on messages, so is injective and therefore bijective. Hence and also is the identity. The chosen is therefore exactly , without the adversary ever evaluating .
This is a key-only signature attack against raw unrestricted trapdoor signing. It does not invert at a chosen target and does not contradict the assumption that signing an independently specified new message is hard. It exploits choosing the digital signature first. The observation concerns the paper's raw construction, rather than every encrypt-then-authenticate scheme.
For authenticate-then-encrypt, write the intercepted pair as , where . Each trial key givesThe adversary can check the public relationThe true key always passes. An incorrect key will generally fail, and further intercepted pairs can eliminate accidental matches. This gives a ciphertext-only attack with a useful key-testing predicate even when the plaintext has no recognisable format. It makes exhaustive key search applicable with less prior information; it does not reduce the generic key-space size below .
The usual approximate false-pass chance is an ideal-behaviour estimate, not a consequence of the bare permutation identities alone. The decisive point is that the encrypted digital signature supplies publicly checkable redundancy once a candidate decryption key is tried.