Stage 0: the package datekeys and its test data at spec-v0.11
A pure Dart package, without Flutter, for the app that the author will
write in Flutter (docs/PLAN_dart.md, stage 0):
- pubspec.yaml: the package datekeys, unpublished, for Dart 3.13; at run
time only package:crypto, and in development only package:test, which
the author approved on 5 October.
- testdata/ vendored from datekeys-go at the tag spec-v0.11 (ae33434),
124 files, with the same testdata/SOURCE.json that datekeys-ts writes for
that commit.
- tool/sync_testdata.dart, the port of scripts/sync-testdata.mjs, and
test/testdata_test.dart, which checks the copy and that every file names
specVersion; test/version_test.dart keeps pubspec.yaml and
lib/src/version.dart in step.
- tool/check.sh, the local gate: format, analysis with every info fatal,
tests, and the copy against ../datekeys-go.
- The licence, Apache-2.0, as the other two implementations.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
4 days ago
{
"spec" : "0.14" ,
Stage 0: the package datekeys and its test data at spec-v0.11
A pure Dart package, without Flutter, for the app that the author will
write in Flutter (docs/PLAN_dart.md, stage 0):
- pubspec.yaml: the package datekeys, unpublished, for Dart 3.13; at run
time only package:crypto, and in development only package:test, which
the author approved on 5 October.
- testdata/ vendored from datekeys-go at the tag spec-v0.11 (ae33434),
124 files, with the same testdata/SOURCE.json that datekeys-ts writes for
that commit.
- tool/sync_testdata.dart, the port of scripts/sync-testdata.mjs, and
test/testdata_test.dart, which checks the copy and that every file names
specVersion; test/version_test.dart keeps pubspec.yaml and
lib/src/version.dart in step.
- tool/check.sh, the local gate: format, analysis with every info fatal,
tests, and the copy against ../datekeys-go.
- The licence, Apache-2.0, as the other two implementations.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
4 days ago
"description" : "Ed25519 signatures and the result of the strict profile of the author signature (spec v0.11, §29.9), after the cases of «Taming the many EdDSAs»; stdlib is the result of crypto/ed25519 of Go, for the record. Generated by the reference implementation. See testdata/README.md." ,
"vectors" : [
{
"name" : "a valid signature" ,
"message" : "446174654b657973" ,
"public_key" : "10770005d22145b75334902d3dbd10491a6f210afa80d3937d761a56c308d5ea" ,
"signature" : "5119b0822de6d25331d7c21c528f4945b8b77253241cc6b83c16ba265409ff0f1fdd979c37e18f4bd6bc9c1c18d4b8746ffdee1ce723e404feb1ca90288c3900" ,
"valid" : true ,
"stdlib" : true
} ,
{
"name" : "S + ℓ " ,
"message" : "446174654b657973" ,
"public_key" : "10770005d22145b75334902d3dbd10491a6f210afa80d3937d761a56c308d5ea" ,
"signature" : "5119b0822de6d25331d7c21c528f4945b8b77253241cc6b83c16ba265409ff0f0cb18df95144a2a3ac5994bff6cd97896ffdee1ce723e404feb1ca90288c3910" ,
"valid" : false ,
"stdlib" : false
} ,
{
"name" : "S with bit 253 set" ,
"message" : "446174654b657973" ,
"public_key" : "10770005d22145b75334902d3dbd10491a6f210afa80d3937d761a56c308d5ea" ,
"signature" : "5119b0822de6d25331d7c21c528f4945b8b77253241cc6b83c16ba265409ff0f1fdd979c37e18f4bd6bc9c1c18d4b8746ffdee1ce723e404feb1ca90288c3920" ,
"valid" : false ,
"stdlib" : false
} ,
{
"name" : "R not canonical" ,
"message" : "446174654b657973" ,
"public_key" : "10770005d22145b75334902d3dbd10491a6f210afa80d3937d761a56c308d5ea" ,
"signature" : "edffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f1fdd979c37e18f4bd6bc9c1c18d4b8746ffdee1ce723e404feb1ca90288c3900" ,
"valid" : false ,
"stdlib" : false
} ,
{
"name" : "A of small order, the point 0 of the torsion, R the identity and S = 0" ,
"message" : "446174654b657973200000000000000002" ,
"public_key" : "0100000000000000000000000000000000000000000000000000000000000000" ,
"signature" : "01000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" ,
"valid" : false ,
"stdlib" : true
} ,
{
"name" : "A of small order, the point 1 of the torsion, R the identity and S = 0" ,
"message" : "446174654b65797320000000000000000d" ,
"public_key" : "c7176a703d4dd84fba3c0b760d10670f2a2053fa2c39ccc64ec7fd7792ac037a" ,
"signature" : "01000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" ,
"valid" : false ,
"stdlib" : true
} ,
{
"name" : "A of small order, the point 2 of the torsion, R the identity and S = 0" ,
"message" : "446174654b657973200000000000000001" ,
"public_key" : "0000000000000000000000000000000000000000000000000000000000000080" ,
"signature" : "01000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" ,
"valid" : false ,
"stdlib" : true
} ,
{
"name" : "A of small order, the point 3 of the torsion, R the identity and S = 0" ,
"message" : "446174654b657973200000000000000002" ,
"public_key" : "26e8958fc2b227b045c3f489f2ef98f0d5dfac05d3c63339b13802886d53fc05" ,
"signature" : "01000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" ,
"valid" : false ,
"stdlib" : true
} ,
{
"name" : "A of small order, the point 4 of the torsion, R the identity and S = 0" ,
"message" : "446174654b65797320000000000000000f" ,
"public_key" : "ecffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f" ,
"signature" : "01000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" ,
"valid" : false ,
"stdlib" : true
} ,
{
"name" : "A of small order, the point 5 of the torsion, R the identity and S = 0" ,
"message" : "446174654b657973200000000000000019" ,
"public_key" : "26e8958fc2b227b045c3f489f2ef98f0d5dfac05d3c63339b13802886d53fc85" ,
"signature" : "01000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" ,
"valid" : false ,
"stdlib" : true
} ,
{
"name" : "A of small order, the point 6 of the torsion, R the identity and S = 0" ,
"message" : "446174654b657973200000000000000002" ,
"public_key" : "0000000000000000000000000000000000000000000000000000000000000000" ,
"signature" : "01000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" ,
"valid" : false ,
"stdlib" : true
} ,
{
"name" : "A of small order, the point 7 of the torsion, R the identity and S = 0" ,
"message" : "446174654b657973200000000000000001" ,
"public_key" : "c7176a703d4dd84fba3c0b760d10670f2a2053fa2c39ccc64ec7fd7792ac03fa" ,
"signature" : "01000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" ,
"valid" : false ,
"stdlib" : true
} ,
{
"name" : "A not canonical, y = p, sign 0, R the identity and S = 0" ,
"message" : "446174654b657973200000000000000002" ,
"public_key" : "edffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f" ,
"signature" : "01000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" ,
"valid" : false ,
"stdlib" : true
} ,
{
"name" : "A not canonical, y = p, sign 1, R the identity and S = 0" ,
"message" : "446174654b657973200000000000000001" ,
"public_key" : "edffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff" ,
"signature" : "01000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" ,
"valid" : false ,
"stdlib" : true
} ,
{
"name" : "A the identity with the sign bit, R the identity and S = 0" ,
"message" : "446174654b657973200000000000000000" ,
"public_key" : "0100000000000000000000000000000000000000000000000000000000000080" ,
"signature" : "01000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" ,
"valid" : false ,
"stdlib" : true
} ,
{
"name" : "A of mixed order, 8 divides k: the equation without the cofactor holds" ,
"message" : "446174654b657973200000000000000006" ,
"public_key" : "b95f1903e3141ba54412bd1138119fbc7ab21aba35be980650ec3337b0a5c5e1" ,
"signature" : "57890b19a0fb99cfa5fae15f2f8364a4d2d70474bea04f66c611aa5e250026a60ccf279cc11141ef368a21cfdad37a727e43f59936c20d753dea73a0e508d60e" ,
"valid" : true ,
"stdlib" : true
} ,
{
"name" : "A of mixed order, 8 does not divide k: only the equation with the cofactor holds" ,
"message" : "446174654b657973200000000000000000" ,
"public_key" : "b95f1903e3141ba54412bd1138119fbc7ab21aba35be980650ec3337b0a5c5e1" ,
"signature" : "57890b19a0fb99cfa5fae15f2f8364a4d2d70474bea04f66c611aa5e250026a642a681ccd920aa6da440dc535484ec7ec2904a332dd86256e024a37f6040900f" ,
"valid" : false ,
"stdlib" : false
} ,
{
"name" : "R the identity, A of prime order" ,
"message" : "446174654b6579733a205220746865206964656e74697479" ,
"public_key" : "0368d6193d5242089bb4a5c019cceffe6a55d83495e57de52d7711ed864ca77d" ,
"signature" : "01000000000000000000000000000000000000000000000000000000000000007b2ee545c254e47cbe2f2774f74d640944034cc59d1ba903de7ecb767cf95304" ,
"valid" : true ,
"stdlib" : true
}
]
}