2024-01-16 17:00:38 -05:00
|
|
|
|
;;; GNU Guix --- Functional package management for GNU
|
2024-01-16 17:19:44 -05:00
|
|
|
|
;;; Copyright © 2018 Pierre Neidhardt <mail@ambrevar.xyz>
|
2024-01-16 18:03:16 -05:00
|
|
|
|
;;; Copyright © 2020 Leo Famulari <leo@famulari.name>
|
2024-01-16 17:31:35 -05:00
|
|
|
|
;;; Copyright © 2021 Raghav Gururajan <rg@raghavgururajan.name>
|
2024-01-16 18:10:23 -05:00
|
|
|
|
;;; Copyright © 2022 Nicolas Graves <ngraves@ngraves.fr>
|
2024-01-16 18:06:45 -05:00
|
|
|
|
;;; Copyright © 2023 Clément Lassieur <clement@lassieur.org>
|
2024-01-16 17:00:38 -05:00
|
|
|
|
;;;
|
|
|
|
|
;;; This file is part of GNU Guix.
|
|
|
|
|
;;;
|
|
|
|
|
;;; GNU Guix is free software; you can redistribute it and/or modify it
|
|
|
|
|
;;; under the terms of the GNU General Public License as published by
|
|
|
|
|
;;; the Free Software Foundation; either version 3 of the License, or (at
|
|
|
|
|
;;; your option) any later version.
|
|
|
|
|
;;;
|
|
|
|
|
;;; GNU Guix is distributed in the hope that it will be useful, but
|
|
|
|
|
;;; WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
|
|
|
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
|
|
|
;;; GNU General Public License for more details.
|
|
|
|
|
;;;
|
|
|
|
|
;;; You should have received a copy of the GNU General Public License
|
|
|
|
|
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
|
|
|
|
|
|
|
|
|
|
(define-module (gnu packages golang-crypto)
|
|
|
|
|
#:use-module ((guix licenses) #:prefix license:)
|
|
|
|
|
#:use-module (guix build-system go)
|
|
|
|
|
#:use-module (guix gexp)
|
|
|
|
|
#:use-module (guix git-download)
|
|
|
|
|
#:use-module (guix packages)
|
|
|
|
|
#:use-module (guix utils)
|
|
|
|
|
#:use-module (gnu packages)
|
|
|
|
|
#:use-module (gnu packages golang)
|
|
|
|
|
#:use-module (gnu packages golang-check))
|
|
|
|
|
|
|
|
|
|
;;; Commentary:
|
|
|
|
|
;;;
|
|
|
|
|
;;; Golang modules (libraries) related to Cryptography: encryption algorithms,
|
|
|
|
|
;;; hashing functions, TLS, key management, digital signatures, password
|
|
|
|
|
;;; hashing etc.
|
|
|
|
|
;;;
|
|
|
|
|
;;; Please: Try to add new module packages in alphabetic order.
|
|
|
|
|
;;;
|
|
|
|
|
;;; Code:
|
|
|
|
|
|
2024-01-16 18:10:23 -05:00
|
|
|
|
(define-public go-filippo-io-edwards25519
|
|
|
|
|
(package
|
|
|
|
|
(name "go-filippo-io-edwards25519")
|
|
|
|
|
(version "1.0.0")
|
|
|
|
|
(source
|
|
|
|
|
(origin
|
|
|
|
|
(method git-fetch)
|
|
|
|
|
(uri (git-reference
|
|
|
|
|
(url "https://github.com/FiloSottile/edwards25519")
|
|
|
|
|
(commit (string-append "v" version))))
|
|
|
|
|
(file-name (git-file-name name version))
|
|
|
|
|
(sha256
|
|
|
|
|
(base32 "01m8hpaj0cwp250f7b0din09cf8j6j5y631grx67qfhvfrmwr1zr"))))
|
|
|
|
|
(build-system go-build-system)
|
|
|
|
|
(arguments
|
|
|
|
|
'(#:import-path "filippo.io/edwards25519"))
|
|
|
|
|
(home-page "https://filippo.io/edwards25519")
|
|
|
|
|
(synopsis "Group logic for the twisted Edwards curve")
|
|
|
|
|
(description "This package implements the edwards25519 elliptic curve in
|
|
|
|
|
Go, exposing the necessary APIs to build a wide array of higher-level
|
|
|
|
|
primitives.")
|
|
|
|
|
(license license:bsd-3)))
|
|
|
|
|
|
2024-01-16 17:59:01 -05:00
|
|
|
|
(define-public go-github-com-aead-chacha20
|
|
|
|
|
(let ((commit "8b13a72661dae6e9e5dea04f344f0dc95ea29547")
|
|
|
|
|
(revision "0"))
|
|
|
|
|
(package
|
|
|
|
|
(name "go-github-com-aead-chacha20")
|
|
|
|
|
(version (git-version "0.0.0" revision commit))
|
|
|
|
|
(source
|
|
|
|
|
(origin
|
|
|
|
|
(method git-fetch)
|
|
|
|
|
(uri (git-reference
|
|
|
|
|
(url "https://github.com/aead/chacha20")
|
|
|
|
|
(commit commit)))
|
|
|
|
|
(file-name (git-file-name name version))
|
|
|
|
|
(sha256
|
|
|
|
|
(base32 "0gbmgq5kbqmbyrsav57ql4jzbvqvp1q7yvcd5fl3wf5g94iyv56r"))))
|
|
|
|
|
(build-system go-build-system)
|
|
|
|
|
(arguments
|
|
|
|
|
`(#:import-path "github.com/aead/chacha20"))
|
|
|
|
|
(propagated-inputs
|
|
|
|
|
(list go-golang-org-x-sys))
|
|
|
|
|
(home-page "https://github.com/aead/chacha20")
|
|
|
|
|
(synopsis "ChaCha20 and XChaCha20 stream ciphers")
|
|
|
|
|
(description "ChaCha is a stream cipher family created by Daniel
|
|
|
|
|
Bernstein. The most common ChaCha variant is ChaCha20 (20 rounds). ChaCha20
|
|
|
|
|
is standardized in RFC 7539.")
|
|
|
|
|
(license license:expat))))
|
|
|
|
|
|
2024-01-16 17:42:35 -05:00
|
|
|
|
(define-public go-github-com-libp2p-go-libp2p-crypto
|
|
|
|
|
(let ((commit "7240b40a3ddc47c4d17c15baabcbe45e5219171b")
|
|
|
|
|
(revision "0"))
|
|
|
|
|
(package
|
|
|
|
|
(name "go-github-com-libp2p-go-libp2p-crypto")
|
|
|
|
|
(version (git-version "2.0.1" revision commit))
|
|
|
|
|
(source
|
|
|
|
|
(origin
|
|
|
|
|
(method git-fetch)
|
|
|
|
|
(uri (git-reference
|
|
|
|
|
(url "https://github.com/libp2p/go-libp2p-crypto")
|
|
|
|
|
(commit commit)))
|
|
|
|
|
(file-name (git-file-name name version))
|
|
|
|
|
(sha256
|
|
|
|
|
(base32 "0qwpy57qv5143l9dlfwfvpqsxdd2i4zwnawx1w4pmgxxim3nw1wb"))))
|
|
|
|
|
(build-system go-build-system)
|
|
|
|
|
(arguments
|
|
|
|
|
'(#:import-path "github.com/libp2p/go-libp2p-crypto"))
|
|
|
|
|
(native-inputs
|
|
|
|
|
(list go-github-com-btcsuite-btcd-btcec
|
|
|
|
|
go-github-com-gogo-protobuf
|
|
|
|
|
go-github-com-minio-sha256-simd
|
|
|
|
|
go-golang-org-x-crypto))
|
|
|
|
|
(home-page
|
|
|
|
|
"https://github.com/libp2p/go-libp2p-crypto")
|
|
|
|
|
(synopsis "Various cryptographic utilities used by IPFS")
|
|
|
|
|
(description "Various cryptographic utilities used by IPFS")
|
|
|
|
|
(license license:expat))))
|
|
|
|
|
|
2024-01-16 17:52:29 -05:00
|
|
|
|
(define-public go-github-com-libp2p-go-libp2p-peer
|
|
|
|
|
(let ((commit "993d742bc29dcf4894b7730ba610fd78900be76c")
|
|
|
|
|
(revision "0"))
|
|
|
|
|
(package
|
|
|
|
|
(name "go-github-com-libp2p-go-libp2p-peer")
|
|
|
|
|
(version (git-version "2.3.8" revision commit))
|
|
|
|
|
(source
|
|
|
|
|
(origin
|
|
|
|
|
(method git-fetch)
|
|
|
|
|
(uri (git-reference
|
|
|
|
|
(url "https://github.com/libp2p/go-libp2p-peer")
|
|
|
|
|
(commit commit)))
|
|
|
|
|
(file-name (git-file-name name version))
|
|
|
|
|
(sha256
|
|
|
|
|
(base32 "1h96qjdi0i1wbr0jliap2903mycphas3ny0zdrm77yca9plcnphh"))))
|
|
|
|
|
(build-system go-build-system)
|
|
|
|
|
(arguments
|
|
|
|
|
'(#:import-path "github.com/libp2p/go-libp2p-peer"))
|
|
|
|
|
(native-inputs
|
|
|
|
|
(list go-github-com-btcsuite-btcd-btcec
|
|
|
|
|
go-github-com-gogo-protobuf
|
|
|
|
|
go-github-com-gxed-hashland-keccakpg
|
|
|
|
|
go-github-com-libp2p-go-libp2p-crypto
|
|
|
|
|
go-github-com-minio-blake2b-simd
|
|
|
|
|
go-github-com-minio-sha256-simd
|
|
|
|
|
go-github-com-mr-tron-base58
|
|
|
|
|
go-github-com-multiformats-go-multihash
|
|
|
|
|
go-github-com-spaolacci-murmur3
|
|
|
|
|
go-golang-org-x-crypto))
|
|
|
|
|
(home-page "https://github.com/libp2p/go-libp2p-peer")
|
|
|
|
|
(synopsis "PKI based identities for use in go-libp2p")
|
|
|
|
|
(description "PKI based identities for use in @command{go-libp2p}.")
|
|
|
|
|
(license license:expat))))
|
|
|
|
|
|
2024-01-16 18:03:16 -05:00
|
|
|
|
(define-public go-github-com-marten-seemann-chacha20
|
|
|
|
|
(package
|
|
|
|
|
(name "go-github-com-marten-seemann-chacha20")
|
|
|
|
|
(version "0.2.0")
|
|
|
|
|
(source
|
|
|
|
|
(origin
|
|
|
|
|
(method git-fetch)
|
|
|
|
|
(uri (git-reference
|
|
|
|
|
(url "https://github.com/marten-seemann/chacha20")
|
|
|
|
|
(commit (string-append "v" version))))
|
|
|
|
|
(file-name (git-file-name name version))
|
|
|
|
|
(sha256
|
|
|
|
|
(base32 "0x1j4cvbap45zk962qkjalc1h3axhzzdy9cdzhcjmprmm1ql4gjm"))))
|
|
|
|
|
(build-system go-build-system)
|
|
|
|
|
(arguments
|
|
|
|
|
'(#:import-path "github.com/marten-seemann/chacha20"))
|
|
|
|
|
(home-page "https://github.com/marten-seemann/chacha20")
|
|
|
|
|
(synopsis "ChaCha20 in Go")
|
|
|
|
|
(description "This package is an external copy of the Go standard
|
|
|
|
|
library's internal ChaCha20 package.")
|
|
|
|
|
(license license:bsd-3)))
|
|
|
|
|
|
2024-01-16 17:19:44 -05:00
|
|
|
|
(define-public go-github-com-multiformats-go-multihash
|
|
|
|
|
(let ((commit "97cdb562a04c6ef66d8ed40cd62f8fbcddd396d6")
|
|
|
|
|
(revision "0"))
|
|
|
|
|
(package
|
|
|
|
|
(name "go-github-com-multiformats-go-multihash")
|
|
|
|
|
(version (git-version "1.0.8" revision commit))
|
|
|
|
|
(source
|
|
|
|
|
(origin
|
|
|
|
|
(method git-fetch)
|
|
|
|
|
(uri (git-reference
|
|
|
|
|
(url "https://github.com/multiformats/go-multihash")
|
|
|
|
|
(commit commit)))
|
|
|
|
|
(file-name (git-file-name name version))
|
|
|
|
|
(sha256
|
|
|
|
|
(base32 "02wd9akrwy4y5m0nig9m24p14bjjgb4n1djydrq8cm4yhbvjrrk0"))))
|
|
|
|
|
(build-system go-build-system)
|
|
|
|
|
(arguments
|
|
|
|
|
'(#:import-path "github.com/multiformats/go-multihash"))
|
|
|
|
|
(native-inputs
|
|
|
|
|
(list go-github-com-mr-tron-base58
|
|
|
|
|
go-github-com-gxed-hashland-keccakpg
|
|
|
|
|
go-github-com-minio-blake2b-simd
|
|
|
|
|
go-github-com-minio-sha256-simd
|
|
|
|
|
go-github-com-spaolacci-murmur3
|
|
|
|
|
go-golang-org-x-crypto))
|
|
|
|
|
(home-page "https://github.com/multiformats/go-multihash")
|
|
|
|
|
(synopsis "Multihash implementation in Go")
|
|
|
|
|
(description "Multihash implementation in Go.")
|
|
|
|
|
(license license:expat))))
|
|
|
|
|
|
2024-01-16 18:06:45 -05:00
|
|
|
|
(define-public go-github-com-refraction-networking-utls
|
|
|
|
|
(package
|
|
|
|
|
(name "go-github-com-refraction-networking-utls")
|
|
|
|
|
(version "1.6.0")
|
|
|
|
|
(source
|
|
|
|
|
(origin
|
|
|
|
|
(method git-fetch)
|
|
|
|
|
(uri (git-reference
|
|
|
|
|
(url "https://github.com/refraction-networking/utls")
|
|
|
|
|
(commit (string-append "v" version))))
|
|
|
|
|
(file-name (git-file-name name version))
|
|
|
|
|
(sha256
|
|
|
|
|
(base32 "1iywar5vqsml4b177k2nkcxmjm8mw92g3p112yjsrpmikiwpwpyw"))))
|
|
|
|
|
(build-system go-build-system)
|
|
|
|
|
(arguments
|
|
|
|
|
`(#:import-path "github.com/refraction-networking/utls"
|
|
|
|
|
#:go ,go-1.20
|
|
|
|
|
#:tests? #f)) ;requires internet access
|
|
|
|
|
(propagated-inputs
|
|
|
|
|
(list go-github-com-andybalholm-brotli
|
|
|
|
|
go-github-com-cloudflare-circl
|
|
|
|
|
go-github-com-gaukas-godicttls
|
|
|
|
|
go-github-com-klauspost-compress
|
|
|
|
|
go-github-com-quic-go-quic-go
|
|
|
|
|
go-golang-org-x-crypto
|
|
|
|
|
go-golang-org-x-net
|
|
|
|
|
go-golang-org-x-sys))
|
|
|
|
|
(home-page "https://github.com/refraction-networking/utls")
|
|
|
|
|
(synopsis "Fork of the Go standard TLS library, providing low-level access
|
|
|
|
|
to the ClientHello for mimicry purposes")
|
|
|
|
|
(description "uTLS is a fork of “crypto/tls”, which provides ClientHello
|
|
|
|
|
fingerprinting resistance, low-level access to handshake, fake session tickets
|
|
|
|
|
and some other features. Handshake is still performed by “crypto/tls”, this
|
|
|
|
|
library merely changes ClientHello part of it and provides low-level access.")
|
|
|
|
|
(license license:bsd-3)))
|
|
|
|
|
|
2024-01-16 17:31:35 -05:00
|
|
|
|
(define-public go-github-com-riobard-go-bloom
|
|
|
|
|
(let ((commit "cdc8013cb5b3eb0efebec85f0e904efccac42df9")
|
|
|
|
|
(revision "0"))
|
|
|
|
|
(package
|
|
|
|
|
(name "go-github-com-riobard-go-bloom")
|
|
|
|
|
(version (git-version "0.0.0" revision commit))
|
|
|
|
|
(source
|
|
|
|
|
(origin
|
|
|
|
|
(method git-fetch)
|
|
|
|
|
(uri (git-reference
|
|
|
|
|
(url "https://github.com/riobard/go-bloom")
|
|
|
|
|
(commit commit)))
|
|
|
|
|
(file-name (git-file-name name version))
|
|
|
|
|
(sha256
|
|
|
|
|
(base32 "10a8ixh6zw52df2imxrzgxi82zc1j5hqnv5smjp818qwdn1a1rhj"))))
|
|
|
|
|
(build-system go-build-system)
|
|
|
|
|
(arguments
|
|
|
|
|
`(#:import-path "github.com/riobard/go-bloom"))
|
|
|
|
|
(home-page "https://github.com/riobard/go-bloom")
|
|
|
|
|
(synopsis "Bloom filter in Go")
|
|
|
|
|
(description "Go-Bloom implements bloom filter using double hashing.")
|
|
|
|
|
(license license:asl2.0))))
|
|
|
|
|
|
2024-01-16 17:48:34 -05:00
|
|
|
|
(define-public go-github-com-shadowsocks-go-shadowsocks2
|
|
|
|
|
(package
|
|
|
|
|
(name "go-github-com-shadowsocks-go-shadowsocks2")
|
|
|
|
|
;; Version > 0.1.3 requires go-toolchain v1.16.
|
|
|
|
|
(version "0.1.3")
|
|
|
|
|
(source
|
|
|
|
|
(origin
|
|
|
|
|
(method git-fetch)
|
|
|
|
|
(uri (git-reference
|
|
|
|
|
(url "https://github.com/shadowsocks/go-shadowsocks2")
|
|
|
|
|
(commit (string-append "v" version))))
|
|
|
|
|
(file-name (git-file-name name version))
|
|
|
|
|
(sha256
|
|
|
|
|
(base32 "1wzy3ml4ld83iawcl6p313bskzs6zjhz8vlg8kpwgn71cnbv4pvi"))))
|
|
|
|
|
(build-system go-build-system)
|
|
|
|
|
(arguments
|
|
|
|
|
`(#:import-path "github.com/shadowsocks/go-shadowsocks2"))
|
|
|
|
|
(propagated-inputs
|
|
|
|
|
(list go-github-com-riobard-go-bloom
|
|
|
|
|
go-golang-org-x-crypto
|
|
|
|
|
go-golang-org-x-net
|
|
|
|
|
go-golang-org-x-sys
|
|
|
|
|
go-golang-org-x-text))
|
|
|
|
|
(home-page "https://github.com/shadowsocks/go-shadowsocks2")
|
|
|
|
|
(synopsis "Shadowsocks tunnel proxy")
|
|
|
|
|
(description "Go-ShadowSocks is a Go implementation of the Shadowsocks
|
|
|
|
|
tunnel proxy protocol.")
|
|
|
|
|
(license license:asl2.0)))
|
|
|
|
|
|
2024-01-16 17:00:38 -05:00
|
|
|
|
;;;
|
|
|
|
|
;;; Avoid adding new packages to the end of this file. To reduce the chances
|
|
|
|
|
;;; of a merge conflict, place them above by existing packages with similar
|
|
|
|
|
;;; functionality or similar names.
|
|
|
|
|
;;;
|