Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

crypto/tls: support CHACHA20 #15499

Closed
fourstring opened this issue Apr 30, 2016 · 8 comments
Closed

crypto/tls: support CHACHA20 #15499

fourstring opened this issue Apr 30, 2016 · 8 comments
Assignees
Milestone

Comments

@fourstring
Copy link

@fourstring fourstring commented Apr 30, 2016

Please answer these questions before submitting your issue. Thanks!

  1. What version of Go are you using (go version)?
    1.6
  2. What operating system and processor architecture are you using (go env)?
    GOARCH="386"
    GOBIN=""
    GOEXE=""
    GOHOSTARCH="386"
    GOHOSTOS="linux"
    GOOS="linux"
    GOPATH="/data/go"
    GORACE=""
    GOROOT="/usr/local/go"
    GOTOOLDIR="/usr/local/go/pkg/tool/linux_386"
    GO15VENDOREXPERIMENT="1"
    CC="gcc"
    GOGCCFLAGS="-fPIC -m32 -pthread -fmessage-length=0"
    CXX="g++"
    CGO_ENABLED="1"
  3. What did you expect to see?
    Cipher Suite ECDHE-ECDSA/RSA-CHACHA20-POLY1305 will be supported.

Thank you!

@bradfitz bradfitz added this to the Unplanned milestone Apr 30, 2016
@bradfitz bradfitz changed the title Will tls library support CHACHA20? crypto/tls: support CHACHA20 Apr 30, 2016
@alex

This comment has been minimized.

Copy link
Contributor

@alex alex commented Jun 23, 2016

The RFC for this is now finalized.

@mjgarton

This comment has been minimized.

Copy link
Contributor

@mjgarton mjgarton commented Jun 24, 2016

I suppose this depends upon both poly1305 and chacha20 implementations in the standard library?

Is it worth creating separate issues for those?

@Thomasdezeeuw

This comment has been minimized.

Copy link
Contributor

@Thomasdezeeuw Thomasdezeeuw commented Jun 24, 2016

Related #9489 and #6914.

@enceve

This comment has been minimized.

Copy link

@enceve enceve commented Jun 27, 2016

If the "right" way to support ChaCha20 and ChaCha20Poly1305 is to use the x/crypto repo as "staging area" for the main repo, maybe this implementation is stable and fast enough. It is similar to the salsa20 package, uses SIMD SSE2 for ChaCha20 on amd64 and avoids mem-allocs for the Poly1305 part of the AEAD.
There is still room for performance improvements, but maybe it can be used as a template...

@mjgarton

This comment has been minimized.

Copy link
Contributor

@mjgarton mjgarton commented Jun 27, 2016

That code appears to be licensed as LGPL, so unfortunately not suitable without re-licensing.

EDIT: Mine is not an official position. I am not a Go team member - I'm just stating my understanding of the licence situation.

@enceve

This comment has been minimized.

Copy link

@enceve enceve commented Jun 27, 2016

The licensing won't be a problem - If the implementation fulfills the requirements / has a chance to be adopted, I'll push it for code-review

@gopherbot

This comment has been minimized.

Copy link

@gopherbot gopherbot commented Oct 12, 2016

CL https://golang.org/cl/30957 mentions this issue.

@gopherbot gopherbot closed this in 67d8226 Oct 17, 2016
@agl

This comment has been minimized.

Copy link
Contributor

@agl agl commented Oct 17, 2016

(Note that https://go-review.googlesource.com/#/c/30958/ to enable this by default is still pending.)

@golang golang locked and limited conversation to collaborators Oct 17, 2017
FiloSottile pushed a commit to FiloSottile/go that referenced this issue Oct 12, 2018
This change adds support for the ChaCha20-Poly1305 AEAD to crypto/tls,
as specified in https://tools.ietf.org/html/rfc7905.

Fixes golang#15499.

Change-Id: Iaa689be90e03f208c40b574eca399e56f3c7ecf1
Reviewed-on: https://go-review.googlesource.com/30957
Run-TryBot: Adam Langley <agl@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
FiloSottile pushed a commit to FiloSottile/go that referenced this issue Oct 12, 2018
This change adds support for the ChaCha20-Poly1305 AEAD to crypto/tls,
as specified in https://tools.ietf.org/html/rfc7905.

Fixes golang#15499.

Change-Id: Iaa689be90e03f208c40b574eca399e56f3c7ecf1
Reviewed-on: https://go-review.googlesource.com/30957
Run-TryBot: Adam Langley <agl@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Linked pull requests

Successfully merging a pull request may close this issue.

None yet
8 participants
You can’t perform that action at this time.