"Signcryption" support (e.g. PSS-R)

Open
#231 25 comments 4 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
5/5
Estimated time
Over a week
Newbie friendliness
25/100
Issue type
Feature
Clarity
Needs clarification
Activity status
Stale
Tech stack
rust

Research direction

No repository file or test is named; begin with the linked comment and the cited PSS-R, EMSR-PSS, ISO/IEC 9796, and IEEE P1363 material. Clarify the supported construction and interoperability requirements before implementation; done should mean the chosen specification is supported.

Written by the indexing model from the issue text.

Description

We've had a few requests (#86, #186, #230) to support decrypting messages using a public key. Though this should be straightforward using any encryption padding as it's the reciprocal operation to public-key encryption, the desired operation in this case seems to be "signcryption", i.e. the public-key equivalent to authenticated encryption. See this comment for more information.

Bellare and Rogaway described a construction specifically for this purpose as an extension of RSASSA-PSS: Probabilistic Signature Scheme with Recovery (PSS-R) as described in Section 5 of: https://web.cs.ucdavis.edu/~rogaway/papers/exact.pdf

(it's also known as EMSR-PSS as described in section 1.2 of this paper)

There are also a few other such schemes, such as ISO/IEC 9796-1 and 9796-2.

IEEE P1363 describes a specification for PSS-R.

Dominant language
Rust
Stars
673
Forks
190
PR merge metrics
No merged PRs in 30d

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from RustCrypto/RSA

All issues in RustCrypto/RSA

Similar issues

More Rust issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.