Skip to content

Implementing cryptographic schemes in sage.crypto #37305

Open
@grhkm21

Description

@grhkm21

Problem Description

As it is right now, sage.crypto does not have too many advanced features especially outside symmetric cryptanalysis. It would be great to improve on that.

Proposed Solution

I propose to include implementation of popular and basic cryptography primitives/schemes in that directory. It can serve as a reference implementation, and also help cryptographers prototype new advanced protocols easier.

For basic primitives, there are two directions. One direction is the "structural" side, for example creating classes for encryption schemes, OT, commitment schemes and others. The other direction is the "implementation" side, for example implementing a basic scheme using those classes.

Take encryption schemes as a concrete example. A class for a public key encryption scheme would have methods like .generate_key, .encrypt(msg, pk), .decrypt(msg, sk). An implementation can simply be wrapping around AES.

What do everyone think? Any strong opinion on whether to include this or not?

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions