#1213 new task

Should support change of hash functions

Reported by: ruudud Owned by: somebody
Priority: major Milestone: undecided
Component: code Version: 1.8.0
Keywords: security forward-compatibility integrity Cc:
Launchpad Bug:

Description

It should be relatively easy to change e.g. SHA-256d to other hash functions.

When doing the following in util/hashutil.py, several tests break:

# from pycryptopp.hash.sha256 import SHA256 from sha3 import BlueMidnightWish? as SHA256

BlueMidnightWish? is one of the 14 remaining candidates of the NIST SHA-3 competition, and the implementation tested has an output of 256 bits.

The tests probably contains fixtures that have been created using SHA-256, but none the less, attached is the output from the tests.

That simple import trick is enough to get immutable file upload to work, but at least mutable files and the webgui fail.

Attachments (2)

output.txt (32.4 KB) - added by Zerqent at 2010-09-28T12:26:47Z.
test results (dies with terminate called after throwing an instance of 'CryptoPP::BERDecodeErr' what(): BER decode error afterwards)
incident-2010-09-28-133604-c6mrjji.flog.bz2 (5.8 KB) - added by Zerqent at 2010-09-28T12:27:26Z.
incident-log after creating the default alias and trying to create a directory

Download all attachments as: .zip

Change History (6)

Changed at 2010-09-28T12:26:47Z by Zerqent

test results (dies with terminate called after throwing an instance of 'CryptoPP::BERDecodeErr' what(): BER decode error afterwards)

Changed at 2010-09-28T12:27:26Z by Zerqent

incident-log after creating the default alias and trying to create a directory

comment:1 Changed at 2010-09-28T12:28:26Z by Zerqent

Console output:

tahoe mkdir test Error during HTTP request: 500 Internal Server Error "Traceback (most recent call last):\x0aFailure: allmydata.mutable.common.UncoordinatedWriteError?: \x0a"

Testing is done with a single client (shares happy/needed/total set to 1) and introducer.

Last edited at 2010-09-28T12:29:20Z by Zerqent (previous) (diff)

comment:2 follow-up: Changed at 2010-09-29T01:45:36Z by davidsarah

Some tests involve loading shares generated by previous versions, which should break with this import hack alone.

comment:3 in reply to: ↑ 2 Changed at 2010-09-29T05:09:59Z by zooko

Replying to davidsarah:

Some tests involve loading shares generated by previous versions, which should break with this import hack alone.

Agreed—those ones should go red with this hack alone.

To make a version of this patch which does not turn those tests red (and is thus one step closer to being accepted into trunk), define a new type of capability which will use BMW-256 instead of SHA-256. Ticket #1164 describes how to do that in order to make a capability that uses XSalsa20+AES-128 instead of using AES-256. The same sort of patch would serve to make a type of capability which uses BMW-256 instead of SHA-256.

comment:4 Changed at 2011-05-20T22:37:13Z by davidsarah

  • Keywords security forward-compatibility integrity added
Note: See TracTickets for help on using tickets.