I am new to cryptographic issues and from what I googled so far I could not retrieve the information I need.
Consider the use of AES-128 in CTR mode.
Let M be the set of possible plaintexts, for example M can be all the bytes sequences of a length lesser or equal than a specific integer n.
Let K be the private key and SK the symmetric ciphering/deciphering function.
Given an IV i and a plaintext p, we have (I see the initial counter value as an IV there) :
c = SK(p,i)
And symmetrically :
p = SK(c,i)
If an attacker has access to an oracle O that can perform the decryption, given a specific ciphertext :
∀m, i ∈ M, O(m) = SK(m, i), where i is an arbitrary IV, fed by the attacker
In other words, the attacker has access to a system that can encrypt/decrypt data using the private key K, which he wants to break (obviously, only the oracle system knows the key, the attacker can only use the system to encrypt/decrypt messages).
I would like to know to what leaks about the plaintext and/or the private key this kind of oracle can lead. Are these leaks critical ?
EDIT :
The counter is made according to the RFC3686 pattern :
$(NONCE|CNT)$.
The $CNT$ part of the counter is 8-byte long and the counter is incremented once every 16 bytes.
A given $NONCE$, which is also 8-byte long, is never used twice.
Finally, $n$ can be from a few kilobytes to a few megabytes. But since an overflow will occur only if $n \geq 2^{128}$, there is no overflow.
The attacker has access to both the ciphertext and the counter scheme used to build it (the NONCE + the pure counter value). With the oracle, he can obviously decrypt the ciphertexts he intercepted. To sum up, here is what the attacker knows :
- The ciphertexts
- The counter scheme used to generate the ciphertexts
- The corresponding plaintexts (because he can feed the oracle with the good (ciphertext, counter scheme) couple)