Skip to content

Repurpose 0x2 scheme identifier for non-binary MCF #2

@ademarre

Description

@ademarre

0x24 is the ASCII code for $, which is the first character of textual MCF hashes. We can use the 0x2 three-bit scheme identifier to identify unmodified textual MCF hashes. This way, schemes which don't have proper BMCF definitions can still be stored as valid BMCF data, albeit not compactly. And it enables the usage of compact BMCF representations in scenarios where not all schemes have BMCF definitions.

This has the side effect of introducing non-canonical encodings; for schemes with BMCF definitions there would be two legal representations: (1) BMCF and (2) MCF as BMCF. Stored hashes would need to be normalized to MCF before being compared. Lookup by hash would likewise be more complicated. But are these common use cases?

0x2 is currently defined for the original $2$ Bcrypt identifier. As far as I know, this is not in use in any modern systems.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions