tahoe-capabilities: Abstractions related to Tahoe-LAFS "capabilities".

[ codec, lgpl, library ] [ Propose Tags ]

Tahoe-LAFS LIT, CHK, SDMF, and MDMF capabilities offer varying functionality for interacting with encrypted data. This library provides abstractions for functionality common to all of these capability types.


[Skip to Readme]

Downloads

Maintainer's Corner

Package maintainers

For package maintainers and hackage trustees

Candidates

Versions [RSS] 0.1.0.0
Change log CHANGELOG.md
Dependencies base (>=4.7 && <5), text (>=1.2.3.1 && <1.3) [details]
License LGPL-3.0-or-later
Author Jean-Paul Calderone
Maintainer exarkun@twistedmatrix.com
Category Codec
Home page https://whetstone.private.storage/PrivateStorage/tahoe-capabilities
Source repo head: git clone gitlab@whetstone.private.storage:privatestorage/tahoe-capabilities.git
Uploaded by jcalderone at 2023-08-15T18:14:48Z
Distributions
Reverse Dependencies 2 direct, 1 indirect [details]
Downloads 37 total (5 in the last 30 days)
Rating (no votes yet) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Docs uploaded by user
Build status unknown [no reports yet]

Readme for tahoe-capabilities-0.1.0.0

[back to package description]

Tahoe-Capabilities

What is it?

Tahoe-LAFS LIT, CHK, SDMF, and MDMF capabilities offer varying functionality for interacting with encrypted data. This library provides abstractions for functionality common to all of these capability types.

All responsibility for implementing these abstractions is left to the capability-specific libraries.

What is the current state?

  • The ConfidentialShowable type class provides a uniform way for losslessly converting a capability to a string.

What is planned?

Sufficient abstraction so that general encoding, decoding, upload, and download functions could be implemented independent of the specific capability type in use.

Why does it exist?

Each specific Tahoe-LAFS capability type supports certain operations and offers certain security properties. At a high level, an application will often want to select among the available capability types to satisfy its particular security and/or privacy requirements. A lower level exists encompassing such details of a capability type as which hash function is used or the size or alignment of certain fields. Applications should typically not be required to make choices at this lower level. By using a set of operations that abstract over these details, application code can be kept simpler and more general-purpose. By allowing some centralization of the choice of which concrete capability type to use, applications can also be made more secure over time at a lower maintenance cost.