From 5d537320a0fe2357daf444cc12c62680579689da Mon Sep 17 00:00:00 2001 From: Dave Collins Date: Thu, 4 Aug 2022 18:31:01 -0500 Subject: [PATCH 1/5] schnorr: Go 1.19 doc comment formatting. --- dcrec/secp256k1/schnorr/doc.go | 34 +++++++++++++++++----------------- 1 file changed, 17 insertions(+), 17 deletions(-) diff --git a/dcrec/secp256k1/schnorr/doc.go b/dcrec/secp256k1/schnorr/doc.go index 3b1894d5a8..a3bd724892 100644 --- a/dcrec/secp256k1/schnorr/doc.go +++ b/dcrec/secp256k1/schnorr/doc.go @@ -27,23 +27,23 @@ time of this writing. Some of the advantages over ECDSA include: - * They are linear which makes them easier to aggregate and use in protocols that - build on them such as multi-party signatures, threshold signatures, adaptor - signatures, and blind signatures - * They are provably secure with weaker assumptions than the best known security - proofs for ECDSA - * Specifically Schnorr signatures are provably secure under SUF-CMA (Strong - Existential Unforgeability under Chosen Message Attack) in the ROM (Random - Oracle Model) which guarantees that as long as the hash function behaves - ideally, the only way to break Schnorr signatures is by solving the ECDLP - (Elliptic Curve Discrete Logarithm Problem). - * Their relatively straightforward and efficient aggregation properties make - them excellent for scalability and allow them to provide some nice privacy - characteristics - * They support faster batch verification unlike the standardized version of - ECDSA signatures - -Custom Schnorr-based Signature Scheme + - They are linear which makes them easier to aggregate and use in protocols that + build on them such as multi-party signatures, threshold signatures, adaptor + signatures, and blind signatures + - They are provably secure with weaker assumptions than the best known security + proofs for ECDSA + - Specifically Schnorr signatures are provably secure under SUF-CMA (Strong + Existential Unforgeability under Chosen Message Attack) in the ROM (Random + Oracle Model) which guarantees that as long as the hash function behaves + ideally, the only way to break Schnorr signatures is by solving the ECDLP + (Elliptic Curve Discrete Logarithm Problem). + - Their relatively straightforward and efficient aggregation properties make + them excellent for scalability and allow them to provide some nice privacy + characteristics + - They support faster batch verification unlike the standardized version of + ECDSA signatures + +# Custom Schnorr-based Signature Scheme As mentioned in the overview, the primary downside of Schnorr signatures for elliptic curves is that they are not standardized as well as ECDSA signatures From 76f713ab0e5900b1f6580215c81880397a2bd203 Mon Sep 17 00:00:00 2001 From: Dave Collins Date: Tue, 2 Aug 2022 18:29:39 -0500 Subject: [PATCH 2/5] build: Update to latest action versions. This updates to the following Github Actions: - actions/setup-go@84cbf8094393cdc5fe1fe1671ff2647332956b1a #v3.2.1 - actions/checkout@2541b1294d2704b0964813337f33b291d3f8596b #v3.0.2 --- .github/workflows/go.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/go.yml b/.github/workflows/go.yml index b74e75205d..a4874aafb6 100644 --- a/.github/workflows/go.yml +++ b/.github/workflows/go.yml @@ -12,11 +12,11 @@ jobs: go: [1.17, 1.18] steps: - name: Set up Go - uses: actions/setup-go@f6164bd8c8acb4a71fb2791a8b6c4024ff038dab #v3.0.0 + uses: actions/setup-go@84cbf8094393cdc5fe1fe1671ff2647332956b1a #v3.2.1 with: go-version: ${{ matrix.go }} - name: Check out source - uses: actions/checkout@a12a3943b4bdde767164f792f33f40b04645d846 #v3.0.0 + uses: actions/checkout@2541b1294d2704b0964813337f33b291d3f8596b #v3.0.2 - name: Install Linters run: "curl -sSfL https://raw.githubusercontent.com/golangci/golangci-lint/master/install.sh | sh -s -- -b $(go env GOPATH)/bin v1.45.2" - name: Build From 1a5d550961719bde73b9a5243140fb2d2e7d2929 Mon Sep 17 00:00:00 2001 From: Dave Collins Date: Tue, 2 Aug 2022 18:24:15 -0500 Subject: [PATCH 3/5] build: Update golangci-lint to v1.48.0. --- .github/workflows/go.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/go.yml b/.github/workflows/go.yml index a4874aafb6..37efdcf865 100644 --- a/.github/workflows/go.yml +++ b/.github/workflows/go.yml @@ -18,7 +18,7 @@ jobs: - name: Check out source uses: actions/checkout@2541b1294d2704b0964813337f33b291d3f8596b #v3.0.2 - name: Install Linters - run: "curl -sSfL https://raw.githubusercontent.com/golangci/golangci-lint/master/install.sh | sh -s -- -b $(go env GOPATH)/bin v1.45.2" + run: "curl -sSfL https://raw.githubusercontent.com/golangci/golangci-lint/master/install.sh | sh -s -- -b $(go env GOPATH)/bin v1.48.0" - name: Build run: go build ./... - name: Test From 1e1c455423eac748e0ae8c16776dcecca1216b28 Mon Sep 17 00:00:00 2001 From: Dave Collins Date: Tue, 2 Aug 2022 18:08:39 -0500 Subject: [PATCH 4/5] build: Test against Go 1.19. This updates CI to test against Go 1.19 and removes the tests for Go 1.17 accordingly. --- .github/workflows/go.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/go.yml b/.github/workflows/go.yml index 37efdcf865..633c97bcdd 100644 --- a/.github/workflows/go.yml +++ b/.github/workflows/go.yml @@ -9,7 +9,7 @@ jobs: runs-on: ubuntu-latest strategy: matrix: - go: [1.17, 1.18] + go: [1.18, 1.19] steps: - name: Set up Go uses: actions/setup-go@84cbf8094393cdc5fe1fe1671ff2647332956b1a #v3.2.1 From 1ac88ba3f6dceea341c1ea3f1b1ecd9b4373fa36 Mon Sep 17 00:00:00 2001 From: Dave Collins Date: Tue, 2 Aug 2022 18:24:36 -0500 Subject: [PATCH 5/5] docs: Update README.md to required Go 1.18/1.19. --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 68847f1045..816d55f724 100644 --- a/README.md +++ b/README.md @@ -127,7 +127,7 @@ https://decred.org/downloads/
Install Dependencies -- **Go 1.17 or 1.18** +- **Go 1.18 or 1.19** Installation instructions can be found here: https://golang.org/doc/install. Ensure Go was installed properly and is a supported version: