Task #2011
closedImplicitSha256DigestComponent
100%
Description
Define ImplicitSha256DigestComponent as one Name component type.
Updated by Junxiao Shi about 10 years ago
This Task is approved at 20140929 conference call.
A few points are mentioned during the call:
- The motivation of introducing ImplicitSha256DigestComponent for correctness, not for performance. A Name is a full Name of a Data packet only if it ends with an ImplicitSha256DigestComponent.
- Although it's possible to encode the implicit digest as a MarkedComponent (#2012), using a specific type is better because forwarding plane needs to understand implicit digest, but need not understand MarkedComponent.
- A Name with ImplicitSha256DigestComponent can only appear in Interest packet, and it must be the last component.
- ImplicitSha256DigestComponent can also appear in Exclude element.
- In canonical ordering, ImplicitSha256DigestComponent is defined to be less than NameComponent, so that Interest "/A" ChildSelector=leftmost could pick Data "/A/<digest>" instead of Data "/A/1/<digest>".
Updated by Junxiao Shi about 10 years ago
- Blocks Task #1640: ImplicitSha256DigestComponent added
Updated by Alex Afanasyev about 10 years ago
- Status changed from New to Code review
- % Done changed from 0 to 100
Updated by Junxiao Shi about 10 years ago
- Status changed from Code review to Feedback
As mentioned in #1640 note-10 regarding "Sha256" in the element name:
Intention of including "Sha256" is to allow (in the future) replace the hashing algorithm, when/if sha256 becomes insecure.
However, since the implicit digest is designed to be the last component of Data full Name, changing the hash algorithm for implicit digest would require a flag day, because otherwise a Data packet would have two full Names.
Is this a risk we are willing to take, or should we define implicit digest as a Selector in order to avoid this problem?
Updated by Alex Afanasyev about 10 years ago
You would not need a flag day. If/when necessary, we can redefine full name of the Data to contain either current sha256 digest or some new digest. This way, during the transition period the requesters will be able to use either and after the transition period this dual name of the Data packets will be removed.
Updated by Junxiao Shi about 10 years ago
during the transition period the requesters will be able to use either and after the transition period this dual name of the Data packets will be removed.
This means during the transition period, a Data packet will have two full Names. Is this bad?
Updated by Junxiao Shi about 10 years ago
- Status changed from Feedback to Closed