10. Changelog

This file is an informative list of the notable changes that have been made to the Project 2 specification.

In other words, this document is just a useful resource to quickly skim an informal explanation of changes made to various parts of the specification. Nothing in this document should be interpreted as requirements and/or clarifications on their own.

The text of the specification itself is the only normative documentation of requirements and wording, so you must read the relevant sections of the specification itself.

The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.

10.1. [Unreleased]

10.2. 2021-10-17

10.2.1. Added

  • Added missing error cases for AcceptInvitation, CreateInvitation, and StoreFile

  • Added details about handling empty inputs for StoreFile and AppendToFile

  • Added details about post-revocation client API behavior in RevokeAccess

  • Added design requirement: “The client MUST prevent the revoked user adversary from learning anything about future writes or appends to the file after their access has been revoked.”

10.3. 2021-10-19

10.3.1. Changed

  • Clarified threat model to state that adversaries do not collaborate.

  • Fixed namespace mismatch in RevokeFile: The sharer accesses the file through their own namespace, not through the sharee’s namespace

10.4. 2021-10-22

10.4.1. Changed

  • Removed padding requirement on symmetric encryption (changed from CBC to CFB mode).

10.5. 2021-10-23

10.5.1. Changed

  • Changed CFB mode to CTR mode in symmetric encryption