diff --git a/_posts/2024-08-18-go-ech-kyber.md b/_posts/2024-08-18-go-ech-kyber.md
new file mode 100644
index 0000000..866363e
--- /dev/null
+++ b/_posts/2024-08-18-go-ech-kyber.md
@@ -0,0 +1,184 @@
+---
+title: "Go 1.23 adds support for ECH and Kyber"
+image: "go1.23.jpg"
+---
+
+Go 1.23 [is out](https://go.dev/blog/go1.23) and it brings many new features. In the beginning of the release notes there's a bunch to read about the range over function iterators functionality or the new `unique`, `structs` and `iter` packages, but given the fact I'm no go expert, I won't go into any of those.
+
+The thing that stuck out to me were the changes to `crypto/tls`, which this time around were quite fruitful:
+
+## ECH
+
+Starting with this release, Go adds support for client-side ECH, which is a great step forward with potential adoption. Before its inclusion in the standard library, one would have to use third-party options, such as a custom library for making network requests or a custom build of Go (such as [cloudflare/go](https://github.com/cloudflare/go)). Having it in the standard library also means we're one step closer to [support with Caddy](https://github.com/caddyserver/caddy/issues/4221).
+
+A simple example which checks if a website supports ECH could look like this:
+
+```go
+package main
+
+import (
+ "crypto/tls"
+ "fmt"
+ "net/http"
+ "time"
+)
+
+func main() {
+ domain := "crypto.cloudflare.com"
+ req, err := http.NewRequest(
+ "GET",
+ "https://"+domain,
+ nil,
+ )
+ if err != nil {
+ return
+ }
+
+ http.DefaultTransport.(*http.Transport).TLSClientConfig = &tls.Config{
+ EncryptedClientHelloConfigList: echConfigList,
+ }
+
+ resp, err := (&http.Client{Timeout: 5 * time.Second}).Do(req)
+ if err != nil {
+ fmt.Println("ECH support: ", resp.TLS.ECHAccepted)
+ }
+}
+```
+
+Alright, let's just run this and...
+
+```
+undefined: echConfigListBytes
+```
+
+Damn it, we need some `EncryptedClientHelloConfigList` to let the client know about the public key with which to encrypt the SNI. But how do we get that? Well, if you by chance stumbled upon [RFC 9460](https://datatracker.ietf.org/doc/rfc9460/) section 14.3.2 you could read that the DNS record 65 (HTTPS) has a field called `ech`, which contains just that: the key to give to `EncryptedClientHelloConfigList` - yay! This means that to make a proper ECH-enabled HTTP request, we need to first query DNS, parse the response, and then use the key to give to `http.Client.Do`.
+
+Knowing this, we can now write a more complete example:
+
+```go
+package main
+
+import (
+ "crypto/tls"
+ "encoding/base64"
+ "fmt"
+ "log/slog"
+ "net"
+ "net/http"
+ "regexp"
+ "time"
+
+ "github.com/miekg/dns"
+)
+
+// extractECH extracts the ECH value from the input string using regular expressions.
+func extractECH(input string) (string, error) {
+ re := regexp.MustCompile(`ech="([^"]+)"`)
+ matches := re.FindStringSubmatch(input)
+ if len(matches) < 2 {
+ return "", fmt.Errorf("ech value not found")
+ }
+ return matches[1], nil
+}
+
+func main() {
+ domain := "crypto.cloudflare.com"
+ req, err := http.NewRequest(
+ "GET",
+ "https://"+domain,
+ nil,
+ )
+ if err != nil {
+ fmt.Printf("Error: %s\n", err)
+ }
+
+ config, _ := dns.ClientConfigFromFile("/etc/resolv.conf")
+ c := new(dns.Client)
+
+ existsMsg := new(dns.Msg)
+ existsMsg.SetQuestion(dns.Fqdn(domain), dns.TypeA)
+ existsMsg.RecursionDesired = true
+
+ _, _, err = c.Exchange(existsMsg, net.JoinHostPort(config.Servers[0], config.Port))
+ if err != nil {
+ fmt.Printf("Error: %s\n", err)
+ }
+
+ m := new(dns.Msg)
+ m.SetQuestion(dns.Fqdn(domain), dns.TypeHTTPS)
+ m.RecursionDesired = true
+
+ var echConfigListBytes []byte
+
+ r, _, err := c.Exchange(m, net.JoinHostPort(config.Servers[0], config.Port))
+ if r == nil {
+ slog.Warn("DNS: error: %s\n", err.Error())
+ } else if r.Rcode != dns.RcodeSuccess {
+ slog.Warn("DNS: invalid answer name %s after MX query for %s\n", domain, domain)
+ } else {
+ for _, a := range r.Answer {
+ if a.Header().Rrtype == dns.TypeHTTPS {
+ echConfigListBase64, err := extractECH(a.String())
+ if err != nil {
+ slog.Debug("Failed to extract ECH value", "err", err)
+ break
+ }
+
+ slog.Debug("ECH Value:", echConfigListBase64)
+ echConfigListBytes, err = base64.StdEncoding.DecodeString(echConfigListBase64)
+ if err != nil {
+ slog.Error("Failed to decode ECH config", "err", err)
+ break
+ }
+
+ break
+ }
+ }
+ }
+
+ http.DefaultTransport.(*http.Transport).TLSClientConfig = &tls.Config{
+ EncryptedClientHelloConfigList: echConfigListBytes,
+ }
+
+ resp, err := (&http.Client{Timeout: 5 * time.Second}).Do(req)
+ if err != nil {
+ fmt.Printf("Error: %s\n", err)
+ }
+
+ if resp.TLS.ECHAccepted {
+ fmt.Printf("Domain %s supports ECH\n", domain)
+ } else {
+ fmt.Printf("Domain %s does not support ECH\n", domain)
+ }
+}
+```
+
+Wow, this got lengthy. Did it pay off? Let's see:
+
+```sh
+$ go run main.go
+Domain crypto.cloudflare.com supports ECH
+```
+
+Nice. Online privacy achieved. What's next?
+
+## Kyber
+
+The other big addition to `crypto/tls` this time around is the support for the first post-quantum key exchange curve: X25519Kyber768Draft00. This key exchange is used by default when no `CurvePreferences` are set and you can specify it explicitly if you want to force its use.
+
+```go
+const (
+ x25519Kyber768Draft00 tls.CurveID = 0x6399 // X25519Kyber768Draft00
+)
+
+http.DefaultTransport.(*http.Transport).TLSClientConfig = &tls.Config{
+ EncryptedClientHelloConfigList: echConfigListBytes,
+ CurvePreferences: []tls.CurveID{x25519Kyber768Draft00},
+}
+```
+
+As you can see from the example above, the kyber curve is not exported from `crypto/tls` like the other curves, so we have to define it ourselves.
+
+That's good and all, but the only thing this gives us is the binary ability to see whether the server accepts the kyber curve or not — the request will simply fail with `remote error: tls: illegal parameter`. It would be super great if there was an actual way to determine the negotiated key exchange group, but unfortunately that's behind an internal `tls.ConnectionState.testingOnlyCurveID`. For now, the best way to get this information is still to use Cloudflare's Go fork.
+
+Alright, coool, awesome, bingo, huzzah, this is all very exciting. I guess, if you take anything from this post, let it be that Go 1.23 is worth upgrading to (and not just because the version string is ordered in ascending order). In fact, it's [already enabled](https://github.com/gitpod-io/workspace-images/pull/1403) by default in any new Gitpod workspace based on gitpod-provided workspace images.
diff --git a/img/thumbnail/go1.23.jpg b/img/thumbnail/go1.23.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..2f69130c199395e75af1c43d2872d26f76a98f76
GIT binary patch
literal 64515
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∾wGm^QuwfQN}
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