Skip to content
GitLab
  • Menu
Projects Groups Snippets
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in
  • T trac
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Issues 0
    • Issues 0
    • List
    • Boards
    • Service Desk
    • Milestones
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Environments
  • Monitor
    • Monitor
    • Incidents
  • Analytics
    • Analytics
    • Value stream
  • Wiki
    • Wiki
  • Activity
  • Create a new issue
  • Jobs
  • Issue Boards
Collapse sidebar
  • The Tor Project
  • Anti-censorship
  • trac
  • Issues
  • #22197
Closed (moved) (moved)
Open
Created May 08, 2017 by Yawning Angel@yawning

Audit all of our Go code that uses `crypto/aes`.

The implementation is not constant time (and neither is the GHASH provided by crypto/cipher) without AES-NI/PCLMULQDQ or equivalent. I do not believe that we use either in a situation where it matters, but we should double check to confirm this. This affects any uses of the raw primitive, when wrapped in the various block cipher modes, and when used via TLS.

Known uses:

  • obfs2
  • obfs3
  • scramblesuit
  • meek without a helper
Assignee
Assign to
Time tracking