Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

BLS: translate herumi-mcl logic into noble-curves #51

Open
wants to merge 33 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
33 commits
Select commit Hold shift + click to select a range
97b3f9a
Research noble crypto BLS. Work in progress.
andreibancioiu Sep 20, 2024
0b10207
Use newer typescript (handles better "noble-curves").
andreibancioiu Sep 20, 2024
dd1ed51
Add unit test for "getWeierstrassLikeHerumi".
andreibancioiu Sep 20, 2024
c0f37ec
setArrayMaskLikeHerumi().
andreibancioiu Sep 20, 2024
77ea0f0
Further sketches.
andreibancioiu Sep 20, 2024
c8f08d0
Translation. Work in progress.
andreibancioiu Sep 23, 2024
4bd8445
Translation and tests.
andreibancioiu Sep 23, 2024
a386a21
calcBNLoopLikeHerumi().
andreibancioiu Sep 24, 2024
a8fd967
Further translation.
andreibancioiu Sep 24, 2024
d15f138
Tests and implementation.
andreibancioiu Sep 24, 2024
e111a69
legendreLikeHerumi(). Additional tests.
andreibancioiu Sep 24, 2024
e3c4304
Signing, with tests.
andreibancioiu Sep 24, 2024
0a5fdd6
More compact tests.
andreibancioiu Sep 24, 2024
1b265be
verifyShortSignatureLikeHerumi().
andreibancioiu Sep 25, 2024
52a53e4
For now, "@noble/curves" only as dev-dependency (used in tests).
andreibancioiu Sep 25, 2024
4b78f0a
Additional tests.
andreibancioiu Sep 25, 2024
c91377f
verifySignature(), work in progress.
andreibancioiu Sep 25, 2024
8a4079e
Stricter tests.
andreibancioiu Sep 26, 2024
c8ff776
Additional tests.
andreibancioiu Sep 26, 2024
9c0ae4c
Tests, fixes.
andreibancioiu Sep 26, 2024
cbb22d7
Implement bytesToG2ProjectivePoint(). Add tests.
andreibancioiu Sep 27, 2024
247e494
Add some BLS test vectors (got from MCL).
andreibancioiu Sep 27, 2024
b559326
Some refactoring, plus tests based on test vectors.
andreibancioiu Sep 27, 2024
1747eed
New vectors.
andreibancioiu Sep 27, 2024
ad3a2bf
New vectors.
andreibancioiu Sep 27, 2024
abadc32
Additional test vectors.
andreibancioiu Sep 30, 2024
8fc83dc
Fix "bytesToG2ProjectivePoint".
andreibancioiu Sep 30, 2024
fb4191a
Fix bytesToG1ProjectivePoint().
andreibancioiu Sep 30, 2024
03e74a1
Fix getPublicKeyBytesForShortSignaturesLikeHerumi().
andreibancioiu Sep 30, 2024
b172006
Fix comment.
andreibancioiu Sep 30, 2024
2ce0a51
Better tests.
andreibancioiu Sep 30, 2024
eece6fa
Adjust slicing of test vectors.
andreibancioiu Sep 30, 2024
9771715
Fix after self-review.
andreibancioiu Sep 30, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 6 additions & 0 deletions .prettierrc
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
{
"singleQuote": false,
"trailingComma": "all",
"tabWidth": 4,
"printWidth": 120
}
61 changes: 53 additions & 8 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

3 changes: 2 additions & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -47,6 +47,7 @@
"mocha": "9.2.2",
"ts-node": "9.1.1",
"tslint": "6.1.3",
"typescript": "4.1.2"
"typescript": "5.6.2",
"@noble/curves": "1.6.0"
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Only as "dev-dependency" for now (no change of production code).

}
}
Loading
Loading