crwood / deterministic-keygen

Deterministic key-generator
MIT License
4 stars 0 forks source link

Investigate supporting Tahoe-LAFS mutable capabilities #5

Open crwood opened 9 months ago

crwood commented 9 months ago

The keys which constitute Tahoe-LAFS mutable capabilities are derived from RSA keys (passed through a custom "tagged" sha256d hash function as per hashutil.py). Investigate how/whether this library could or should support generating equivalent Tahoe-LAFS capabilities without the need to depend on Tahoe-LAFS itself.

crwood commented 4 months ago

Some other reasons to do this:

crwood commented 2 months ago

The recently-published "lafs" crate provides a working Rust implementation of the 'allmydata.util.*' functions necessary to derive Tahoe-LAFS mutable capabilities/URIs completely "offline" (i.e., without depending on a running python Tahoe-LAFS node). Integrating such functionality directly into this crate, however, is presently blocked on https://github.com/crwood/lafs/issues/12

In the interim, Python applications wishing to derive a Tahoe-LAFS mutable URI from a BIP-39 phrase can still do so by interfacing with each library separately -- i.e., by using deterministic_keygen to derive an RSA key and then calling lafs.derive_mutable_capability with that key to derive the final URI.