mirror of
https://github.com/DNSCrypt/dnscrypt-proxy.git
synced 2024-12-10 22:25:49 +01:00
2d1dd7eaab
This works over DNSCrypt and DoH, but requires a specifically configured server. Instead of sending the actual DNS queries, the SH-T system works as follows: Step 1: the client query is evaluated through Argon2id, a military-grade, memory-hard, CPU-hard stretching function. This makes it very expensive for an attacker to find the original query, even using GPUs and ASICs. For post-quantum resistance, we use it to generate a 1024-bit key. Step 2: in case the Argon2id algorithm has a vulnerability, or, since this is a popular function used for hashing passwords and for cryptocurrencices, and people may have built rainbow tables already, we use a hash function over the result of the previous function. This immediately defeats rainbow tables. Step 3: the output of the hash function is truncated to 64-bit. Due to a property of this operation known as collision-misresistance, and even if the previous steps fail due to a nation-state actor, it is impossible for a server operator to prove what exact query was originally sent by a client. This feature is experimental.
82 lines
3.0 KiB
Plaintext
82 lines
3.0 KiB
Plaintext
# github.com/BurntSushi/toml v0.3.1
|
|
github.com/BurntSushi/toml
|
|
# github.com/VividCortex/ewma v1.1.1
|
|
github.com/VividCortex/ewma
|
|
# github.com/aead/chacha20 v0.0.0-20180709150244-8b13a72661da
|
|
github.com/aead/chacha20/chacha
|
|
# github.com/aead/poly1305 v0.0.0-20180717145839-3fee0db0b635
|
|
github.com/aead/poly1305
|
|
# github.com/agl/ed25519 v0.0.0-20170116200512-5312a6153412
|
|
github.com/agl/ed25519
|
|
github.com/agl/ed25519/edwards25519
|
|
# github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e
|
|
github.com/coreos/go-systemd/activation
|
|
github.com/coreos/go-systemd/daemon
|
|
# github.com/dchest/safefile v0.0.0-20151022103144-855e8d98f185
|
|
github.com/dchest/safefile
|
|
# github.com/facebookgo/atomicfile v0.0.0-20151019160806-2de1f203e7d5
|
|
github.com/facebookgo/atomicfile
|
|
# github.com/facebookgo/pidfile v0.0.0-20150612191647-f242e2999868
|
|
github.com/facebookgo/pidfile
|
|
# github.com/hashicorp/go-immutable-radix v1.0.0
|
|
github.com/hashicorp/go-immutable-radix
|
|
# github.com/hashicorp/go-syslog v1.0.0
|
|
github.com/hashicorp/go-syslog
|
|
# github.com/hashicorp/golang-lru v0.5.1
|
|
github.com/hashicorp/golang-lru
|
|
github.com/hashicorp/golang-lru/simplelru
|
|
# github.com/jedisct1/dlog v0.0.0-20181221013014-794eb21b6ae8
|
|
github.com/jedisct1/dlog
|
|
# github.com/jedisct1/go-clocksmith v0.0.0-20180307175859-c35da9bed550
|
|
github.com/jedisct1/go-clocksmith
|
|
# github.com/jedisct1/go-dnsstamps v0.0.0-20190303171121-de46dd0ba576
|
|
github.com/jedisct1/go-dnsstamps
|
|
# github.com/jedisct1/go-minisign v0.0.0-20180516093733-f4dbde220b4f
|
|
github.com/jedisct1/go-minisign
|
|
# github.com/jedisct1/xsecretbox v0.0.0-20190218134741-855e18301bf0
|
|
github.com/jedisct1/xsecretbox
|
|
# github.com/k-sone/critbitgo v1.2.0
|
|
github.com/k-sone/critbitgo
|
|
# github.com/kardianos/service v1.0.0
|
|
github.com/kardianos/service
|
|
# github.com/miekg/dns v1.1.8
|
|
github.com/miekg/dns
|
|
# golang.org/x/crypto v0.0.0-20190325154230-a5d413f7728c
|
|
golang.org/x/crypto/argon2
|
|
golang.org/x/crypto/curve25519
|
|
golang.org/x/crypto/ed25519
|
|
golang.org/x/crypto/nacl/box
|
|
golang.org/x/crypto/nacl/secretbox
|
|
golang.org/x/crypto/blake2b
|
|
golang.org/x/crypto/ed25519/internal/edwards25519
|
|
golang.org/x/crypto/salsa20/salsa
|
|
golang.org/x/crypto/internal/subtle
|
|
golang.org/x/crypto/poly1305
|
|
# golang.org/x/net v0.0.0-20190328230028-74de082e2cca
|
|
golang.org/x/net/http2
|
|
golang.org/x/net/proxy
|
|
golang.org/x/net/ipv4
|
|
golang.org/x/net/ipv6
|
|
golang.org/x/net/http/httpguts
|
|
golang.org/x/net/http2/hpack
|
|
golang.org/x/net/idna
|
|
golang.org/x/net/internal/socks
|
|
golang.org/x/net/bpf
|
|
golang.org/x/net/internal/iana
|
|
golang.org/x/net/internal/socket
|
|
# golang.org/x/sys v0.0.0-20190329044733-9eb1bfa1ce65
|
|
golang.org/x/sys/windows/svc/mgr
|
|
golang.org/x/sys/windows/svc/eventlog
|
|
golang.org/x/sys/windows/registry
|
|
golang.org/x/sys/windows/svc
|
|
golang.org/x/sys/unix
|
|
golang.org/x/sys/cpu
|
|
golang.org/x/sys/windows
|
|
# golang.org/x/text v0.3.0
|
|
golang.org/x/text/secure/bidirule
|
|
golang.org/x/text/unicode/bidi
|
|
golang.org/x/text/unicode/norm
|
|
golang.org/x/text/transform
|
|
# gopkg.in/natefinch/lumberjack.v2 v2.0.0
|
|
gopkg.in/natefinch/lumberjack.v2
|