lowRISC / lowRISC/opentitan

[component] A short OTBN key-usage question

Open
#25,916 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
SystemVerilog
Stars
3.6k
Forks
1.1k
Avg merge
2d 22h
Merged PRs (30d)
141

Description

### Description

Hi all,
I am using OTBN alone for its big-number computing power on a project of RSA-SA(signature authentication), where we do not
care that much about 'strict' security.

After reading the document/top-level design files otbn.sv , it seems that sideload keymgr_key could serve as the input of public key, and
the otbn_otp_key could be mainly used for memory scrambling only.

Is the above understanding correct? Is it also OK to set edn_rnd & edn_urnd data bits ='0 or '1? My simulation shows there are assertion-error
checking if these values are 0, 1, or repetitive. I temporarily shut them off.
Thanks for any info.

--vincent

Contributor guide

Open the contributing guide

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.

Research direction

Start with the document/top-level design files and otbn.sv, then trace sideload keymgr_key, otbn_otp_key, edn_rnd, and edn_urnd. Determine their intended roles and the requirements behind the assertions for zero, one, or repetitive values; done means an authoritative documented answer to the usage questions.

Written by the indexing model from the issue text.

Assessment

Domain
cryptography, security
Issue type
Documentation
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
20/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.