Go 1.20 shipped a large set of crypto/rsa changes. This issue lists a few remaining cleanups that should wrap up the cycle of crypto/rsa work.

  • [x] #57751
  • [x] #53849
  • [ ] #56980
  • [ ] #49136
  • [ ] #22807
  • [ ] #31721
  • [ ] #20058
  • [x] #56921
  • [x] #59463
  • [x] #59442
  • [x] #59695
  • [x] #63516

Mostly docs and performance work.

Comment From: gopherbot

Change https://go.dev/cl/492935 mentions this issue: crypto/rsa,crypto/internal/bigmod: optimized short exponentiations

Comment From: gopherbot

Change https://go.dev/cl/471259 mentions this issue: crypto/internal/bigmod: switch to saturated limbs

Comment From: gopherbot

Change https://go.dev/cl/492955 mentions this issue: crypto/ed25519,crypto/rsa: make Equal methods constant time

Comment From: gopherbot

Change https://go.dev/cl/504879 mentions this issue: doc/go1.21: correct GOOS to GOARCH

Comment From: gopherbot

Change https://go.dev/cl/532335 mentions this issue: crypto/rsa: PublicKey.Equal() documentation specifies that it requires a pointer

Comment From: qiulaidongfeng

@FiloSottile Can you review CL 532335

Comment From: hkishn

Is this issue fixed ? I can see similar performance drop in golang 1.21 on architecture x86_64. On profiling I noticed that rsa(.*PrivateKey).Precompute is taking more time.

Comment From: FiloSottile

@hkishn Go 1.21 is unsupported. The performance regression was fixed in Go 1.22.

Comment From: hkishn

@FiloSottile I referred this https://tip.golang.org/doc/go1.21 . It says the regression is fixed in go 1.21. Golang crypto/rsa: Go 1.21 follow-up work

Comment From: hkishn

@FiloSottile is the doc wrongly updated ?