feat(contracts): add liboqs-node Node contract KB - #545
Open
agustingroh wants to merge 2 commits into
Open
agustingroh wants to merge 2 commits into
agustingroh wants to merge 2 commits into
Conversation
12 entries. Two classes with the mechanism as the constructor's first argument, so there is one type per class rather than one per mechanism -- a per-mechanism type could not resolve new Signature(alg) with a variable. Both constructor arities are declared because the second argument is a secret key: arity 1 generates a fresh key pair, arity 2 resumes from existing private key material.
SCANOSS SCAN Completed 🚀
View more details on SCANOSS Action Summary |
…nded check Each of these asked whether a neighbouring package had a key in the merged KB, which answers a different question from the one intended: the scan passes only while that neighbour has no KB of its own, and adding one is the ordinary way this catalog grows. Adding liboqs-node.yaml failed the crystals-kyber test though crystals-kyber-js had not changed -- the same failure mode the shared assertLibraryOwnsItsKeys helper was introduced for. bitcoinjs-lib and google-cloud-kms carried the same latent defect and would have failed the day an ecpair or another @Google-Cloud KB shipped.
SCANOSS SCAN Completed 🚀
View more details on SCANOSS Action Summary |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Part 2 of 3 for crypto-mining-service#275.
12 entries: two class constructors and the methods they make reachable.
One type per class, not one per mechanism
The mechanism arrives as the constructor's first argument, so a per-mechanism type could not resolve
new Signature(alg)with a variable. Same shape as the jwa and keccak KBs; reading the literal is the rules' job.The second constructor argument is a secret key
Both arities are declared because of it:
new Signature(alg)generates a fresh key pair, whilenew Signature(alg, secretKey)resumes from existing private key material. If those arities ever collapse, an inventory loses the difference between minting a key and loading one.verifyis declared at arity 3 only — liboqs verification takes message, signature and public key, and there is no two-argument form.exportSecretKeyisoutput: it hands out material that already exists, and for these schemes that material is large — Classic-McEliece private keys run to hundreds of kilobytes.Deliberately uncontracted:
getDetailsand theKEMs/Sigsenumeration helpers, which report which mechanisms the build supports and perform no cryptography. The test asserts their absence.Test sensitivity proved before opening: changing
verifyto arity 2 fails the suite.make lint0 issues.