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"
+ ]
+ }
+ ]
+ }
+ ]
}
]