Open agievich opened 1 month ago
Hi Sergey,
Thanks a lot for your comments! I've addressed most of them in the latest version. Please find some notes below.
I'm not sure whether it is required to list only the key terms used in the document or all of them. I think the RFC Editor will clarify that.
I tend to agree with you. However, since "operations" is used in RFC 5116, I prefer to maintain that terminology in the draft.
It seems that "unless stated otherwise" doesn't work.
Indeed, it doesn't. I have removed it.
An algorithm cannot guarantee the absence of integrity violations. It can only detect the violations.
I agree. I have rewritten the definition accordingly.
With the improved definition of data integrity (in the context of AEAD algorithms), I believe the definition is now clear.
can hardly be interpreted as a positive property
Totally agree! I’ve reformulated it.
One of the easiest yet most challenging definitions! Reformulated it as you proposed.
I find (and this is implicitly confirmed by other reviews) that the understanding of these terms is fairly well established, and in the AEAD context, it is clear. Additionally, this dichotomy is used in [BM12].
Hi Andrey,
Thanks for the feedback. I agree with you on all points except the first and last. Of course, this is very subjective. At your discretion as an editor.
In addition to just listing properties, we also aim (as outlined in the scope of the document) to make the usage of corresponding terms uniform across other future documents. In that respect, we provide some requirements on how to use the terms.
It seems that imperative keywords refer to AEAD algorithms and supporting documentation, not to terms.
Examples (with MUST):
Each nonce value MUST be unique in every distinct invocation of the operation for any particular value of the key.
In such cases, an AEAD algorithm is said to provide full commitment in a restricted setting. The imposed restrictions MUST be listed.
Every claimed security property of an AEAD algorithm MUST undergo security analysis within a relevant notion. ... If an alternative notion is used, there MUST exist proof of equivalence or it SHOULD be indicated that a non-equivalent notion is used.
It is quite surprising for me to find imperative words in the text that positions itself as informative (see Abstract and Scope). A simple solution is to lower the register of imperative words. A more subtle way is to rewrite the imperative sentences in a descriptive style. For example,
Each nonce value is unique in every distinct invocation of the operation for any particular value of the key.
I find (and this is implicitly confirmed by other reviews) that the understanding of these terms is fairly well established, and in the AEAD context, it is clear. Additionally, this dichotomy is used in [BM12].
I cannot find [BM12] in the text. Do you mean [BM18]?
Notice that [BM18] uses "game-based formulation" when defining "indifferentiability composition" (see Theorem 1). This only confirms my point that the "game-based vs indifferentiability" dichotomy is questionable.
A possible solution here is to replace "game-based (notion)" with "provable security (notion)". Since "indifferentiability framework" is a part of "provable security" we can avoid mentioning it.
First, not all of these words are used. Second, it seems that the draft should avoid imperative words. The draft is about properties not requirements.
It seems that "operations" is not the most appropriate word here, "subalgorithms..." or "operations (subalgorithms)..." would be better.
It seems that "unless stated otherwise" doesn't work.
An algorithm cannot guarantee the absence of integrity violations. It can only detect the violations.
An algorithm cannot provide "integrity", only "integrity control".
The definition has a negative connotation ("is provided only for") and can hardly be interpreted as a positive property. The definition can be reformulated as follows:
It is not mathematically strong enough: "evaluating the inverse" of
E_K
can be read as constructingE_K^{-1}
. A possible fix: "without calls to the inverse of that primitive".The dichotomy doesn't seem correct. At least because games are used in [BM18]. It seems that "game-based security notion" is not the best term here, it can be interpreted in very different ways.