diff --git a/.github/workflows/packages.yml b/.github/workflows/packages.yml index e5df47d..49fb695 100644 --- a/.github/workflows/packages.yml +++ b/.github/workflows/packages.yml @@ -968,3 +968,108 @@ jobs: - name: Test working-directory: go run: env --unset=GOROOT ./bin/go test crypto/ed25519/... + cloudflare-circl-sign-dilithium: + runs-on: ubuntu-latest + steps: + - name: Install Go + uses: actions/setup-go@f6164bd8c8acb4a71fb2791a8b6c4024ff038dab # v3.0.0 + with: + go-version: 1.18.x + check-latest: true + - name: Checkout avo + uses: actions/checkout@5a4ac9002d0be2fb38bd78e4b4dbde5606d7042f # v2.3.4 + with: + path: avo + persist-credentials: false + - name: Checkout cloudflare/circl + uses: actions/checkout@5a4ac9002d0be2fb38bd78e4b4dbde5606d7042f # v2.3.4 + with: + repository: cloudflare/circl + ref: v1.1.0 + path: circl + persist-credentials: false + - name: Avo Module Replacement + working-directory: circl/sign/dilithium/internal/common/asm + run: | + go mod edit -modfile=go.mod -require=github.com/mmcloughlin/avo@v0.0.0-00010101000000-000000000000 + go mod edit -modfile=go.mod -replace=github.com/mmcloughlin/avo=${{ github.workspace }}/avo + go mod tidy -modfile=go.mod + - name: Generate + working-directory: circl/sign/dilithium/internal/common/asm + run: go generate -v -x + - name: Diff + working-directory: circl/sign/dilithium + run: git diff + - name: Test + working-directory: circl/sign/dilithium + run: go test ./... + cloudflare-circl-pke-kyber: + runs-on: ubuntu-latest + steps: + - name: Install Go + uses: actions/setup-go@f6164bd8c8acb4a71fb2791a8b6c4024ff038dab # v3.0.0 + with: + go-version: 1.18.x + check-latest: true + - name: Checkout avo + uses: actions/checkout@5a4ac9002d0be2fb38bd78e4b4dbde5606d7042f # v2.3.4 + with: + path: avo + persist-credentials: false + - name: Checkout cloudflare/circl + uses: actions/checkout@5a4ac9002d0be2fb38bd78e4b4dbde5606d7042f # v2.3.4 + with: + repository: cloudflare/circl + ref: v1.1.0 + path: circl + persist-credentials: false + - name: Avo Module Replacement + working-directory: circl/pke/kyber/internal/common/asm + run: | + go mod edit -modfile=go.mod -require=github.com/mmcloughlin/avo@v0.0.0-00010101000000-000000000000 + go mod edit -modfile=go.mod -replace=github.com/mmcloughlin/avo=${{ github.workspace }}/avo + go mod tidy -modfile=go.mod + - name: Generate + working-directory: circl/pke/kyber/internal/common/asm + run: go generate -v -x + - name: Diff + working-directory: circl/pke/kyber + run: git diff + - name: Test + working-directory: circl/pke/kyber + run: go test ./... + cloudflare-circl-simd-keccakf1600: + runs-on: ubuntu-latest + steps: + - name: Install Go + uses: actions/setup-go@f6164bd8c8acb4a71fb2791a8b6c4024ff038dab # v3.0.0 + with: + go-version: 1.18.x + check-latest: true + - name: Checkout avo + uses: actions/checkout@5a4ac9002d0be2fb38bd78e4b4dbde5606d7042f # v2.3.4 + with: + path: avo + persist-credentials: false + - name: Checkout cloudflare/circl + uses: actions/checkout@5a4ac9002d0be2fb38bd78e4b4dbde5606d7042f # v2.3.4 + with: + repository: cloudflare/circl + ref: v1.1.0 + path: circl + persist-credentials: false + - name: Avo Module Replacement + working-directory: circl/simd/keccakf1600/internal/asm + run: | + go mod edit -modfile=go.mod -require=github.com/mmcloughlin/avo@v0.0.0-00010101000000-000000000000 + go mod edit -modfile=go.mod -replace=github.com/mmcloughlin/avo=${{ github.workspace }}/avo + go mod tidy -modfile=go.mod + - name: Generate + working-directory: circl/simd/keccakf1600/internal/asm + run: go generate -v -x + - name: Diff + working-directory: circl/simd/keccakf1600 + run: git diff + - name: Test + working-directory: circl/simd/keccakf1600 + run: go test ./... diff --git a/README.md b/README.md index 47acd36..3f60177 100644 --- a/README.md +++ b/README.md @@ -193,11 +193,11 @@ Implementations of full algorithms: Popular projects using `avo`: [golang / **go**](https://github.com/golang/go) -:star: 98315 +:star: 98322 > The Go programming language [klauspost / **compress**](https://github.com/klauspost/compress) -:star: 2706 +:star: 2707 > Optimized Go Compression Packages [golang / **crypto**](https://github.com/golang/crypto) @@ -209,9 +209,13 @@ Popular projects using `avo`: > Reed-Solomon Erasure Coding in Go [segmentio / **asm**](https://github.com/segmentio/asm) -:star: 686 +:star: 688 > Go library providing algorithms optimized to leverage the characteristics of modern CPUs + [cloudflare / **circl**](https://github.com/cloudflare/circl) +:star: 613 +> CIRCL: Cloudflare Interoperable Reusable Cryptographic Library + [zeebo / **blake3**](https://github.com/zeebo/blake3) :star: 288 > Pure Go implementation of BLAKE3 with AVX2 and SSE4.1 acceleration @@ -228,10 +232,6 @@ Popular projects using `avo`: :star: 111 > Bloom-filter based search index - [minio / **md5-simd**](https://github.com/minio/md5-simd) -:star: 109 -> Accelerate aggregated MD5 hashing performance up to 8x for AVX512 and 4x for AVX2. Useful for server applications that need to compute many MD5 sums in parallel. - See the [full list of projects using `avo`](doc/adopters.md). ## Contributing diff --git a/doc/adopters.md b/doc/adopters.md index 4595636..390c21e 100644 --- a/doc/adopters.md +++ b/doc/adopters.md @@ -20,6 +20,10 @@ Reed-Solomon Erasure Coding in Go Go library providing algorithms optimized to leverage the characteristics of modern CPUs + [cloudflare / **circl**](https://github.com/cloudflare/circl) + +CIRCL: Cloudflare Interoperable Reusable Cryptographic Library + [zeebo / **blake3**](https://github.com/zeebo/blake3) Pure Go implementation of BLAKE3 with AVX2 and SSE4.1 acceleration diff --git a/tests/thirdparty/projects.json b/tests/thirdparty/projects.json index 7f6484c..c37cee9 100644 --- a/tests/thirdparty/projects.json +++ b/tests/thirdparty/projects.json @@ -229,7 +229,7 @@ }, "metadata": { "description": "Optimized Go Compression Packages", - "stars": 2706 + "stars": 2707 }, "default_branch": "master", "version": "2f236383d7c2faa8ef7e354ccecb926a5b47a24d", @@ -518,7 +518,7 @@ }, "metadata": { "description": "Go library providing algorithms optimized to leverage the characteristics of modern CPUs", - "stars": 686 + "stars": 688 }, "default_branch": "main", "version": "2bf3fdd47b1cdbe8fe020f032caf14891e10a85f", @@ -745,7 +745,7 @@ "metadata": { "description": "The Go programming language", "homepage": "https://go.dev", - "stars": 98315 + "stars": 98322 }, "default_branch": "master", "version": "go1.17.3", @@ -778,5 +778,56 @@ ] } ] + }, + { + "repository": { + "owner": "cloudflare", + "name": "circl" + }, + "metadata": { + "description": "CIRCL: Cloudflare Interoperable Reusable Cryptographic Library", + "homepage": "http://blog.cloudflare.com/introducing-circl", + "stars": 613 + }, + "default_branch": "master", + "version": "v1.1.0", + "packages": [ + { + "pkg": "sign/dilithium", + "module": "internal/common/asm/go.mod", + "generate": [ + { + "dir": "internal/common/asm", + "commands": [ + "go generate -v -x" + ] + } + ] + }, + { + "pkg": "pke/kyber", + "module": "internal/common/asm/go.mod", + "generate": [ + { + "dir": "internal/common/asm", + "commands": [ + "go generate -v -x" + ] + } + ] + }, + { + "pkg": "simd/keccakf1600", + "module": "internal/asm/go.mod", + "generate": [ + { + "dir": "internal/asm", + "commands": [ + "go generate -v -x" + ] + } + ] + } + ] } ]