Project

General

Profile

Actions

Task #2011

closed

ImplicitSha256DigestComponent

Added by Junxiao Shi about 10 years ago. Updated almost 10 years ago.

Status:
Closed
Priority:
Normal
Start date:
Due date:
% Done:

100%

Estimated time:

Description

Define ImplicitSha256DigestComponent as one Name component type.


Related issues 1 (0 open1 closed)

Blocks ndn-cxx - Task #1640: ImplicitSha256DigestComponentClosedAlex Afanasyev

Actions
Actions #1

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>".
Actions #2

Updated by Junxiao Shi about 10 years ago

  • Blocks Task #1640: ImplicitSha256DigestComponent added
Actions #3

Updated by Alex Afanasyev about 10 years ago

  • Status changed from New to Code review
  • % Done changed from 0 to 100
Actions #4

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?

Actions #5

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.

Actions #6

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?

Actions #7

Updated by Junxiao Shi almost 10 years ago

  • Status changed from Feedback to Closed
Actions

Also available in: Atom PDF