Better-performing “25519” elliptic-curve cryptography

Automated reasoning and optimizations specific to CPU microarchitectures improve both performance and assurance of correct implementation.

Cryptographic algorithms are essential to online security, and at Amazon Web Services (AWS), we implement cryptographic algorithms in our open-source cryptographic library, AWS LibCrypto (AWS-LC), based on code from Google’s BoringSSL project. AWS-LC offers AWS customers implementations of cryptographic algorithms that are secure and optimized for AWS hardware.

Two cryptographic algorithms that have become increasingly popular are x25519 and Ed25519, both based on an elliptic curve known as curve25519. To improve the customer experience when using these algorithms, we recently took a deeper look at their implementations in AWS-LC. Henceforth, we use x/Ed25519 as shorthand for “x25519 and Ed25519”.

Related content
Optimizations for Amazon's Graviton2 chip boost efficiency, and formal verification shortens development time.

In 2023, AWS released multiple assembly-level implementations of x/Ed25519 in AWS-LC. By combining automated reasoning and state-of-the-art optimization techniques, these implementations improved performance over the existing AWS-LC implementations and also increased assurance of their correctness.

In particular, we prove functional correctness using automated reasoning and employ optimizations targeted to specific CPU microarchitectures for the instruction set architectures x86_64 and Arm64. We also do our best to execute the algorithms in constant time, to thwart side-channel attacks that infer secret information from the durations of computations.

In this post, we explore different aspects of our work, including the process for proving correctness via automated reasoning, microarchitecture (μarch) optimization techniques, the special considerations for constant-time code, and the quantification of performance gains.

Elliptic-curve cryptography

Elliptic-curve cryptography is a method for doing public-key cryptography, which uses a pair of keys, one public and one private. One of the best-known public-key cryptographic schemes is RSA, in which the public key is a very large integer, and the corresponding private key is prime factors of the integer. The RSA scheme can be used both to encrypt/decrypt data and also to sign/verify data. (Members of our team recently blogged on Amazon Science about how we used automated reasoning to make the RSA implementation on Amazon’s Graviton2 chips faster and easier to deploy.)

Elliptic curve.png
Example of an elliptic curve.

Elliptic curves offer an alternate way to mathematically relate public and private keys; sometimes, this means we can implement schemes more efficiently. While the mathematical theory of elliptic curves is both broad and deep, the elliptic curves used in cryptography are typically defined by an equation of the form y2 = x3 + ax2 + bx + c, where a, b, and c are constants. You can plot the points that satisfy the equation on a 2-D graph.

An elliptic curve has the property that a line that intersects it at two points intersects it at at most one other point. This property is used to define operations on the curve. For instance, the addition of two points on the curve can be defined not, indeed, as the third point on the curve collinear with the first two but as that third point’s reflection around the axis of symmetry.

Elliptic-curve addition.gif
Addition on an elliptic curve.

Now, if the coordinates of points on the curve are taken modulo some integer, the curve becomes a scatter of points in the plane, but a scatter that still exhibits symmetry, so the addition operation remains well defined. Curve25519 is named after a large prime integer — specifically, 2255 – 19. The set of numbers modulo the curve25519 prime, together with basic arithmetic operations such as multiplication of two numbers modulo the same prime, define the field in which our elliptic-curve operations take place.

Successive execution of elliptic-curve additions is called scalar multiplication, where the scalar is the number of additions. With the elliptic curves used in cryptography, if you know only the result of the scalar multiplication, it is intractable to recover the scalar, if the scalar is sufficiently large. The result of the scalar multiplication becomes the basis of a public key, the original scalar the basis of a private key.

The x25519 and Ed25519 cryptographic algorithms

The x/Ed25519 algorithms have distinct purposes. The x25519 algorithm is a key agreement algorithm, used to securely establish a shared secret between two peers; Ed25519 is a digital-signature algorithm, used to sign and verify data.

The x/Ed25519 algorithms have been adopted in transport layer protocols such as TLS and SSH. In 2023, NIST announced an update to its FIPS185-6 Digital Signature Standard that included the addition of Ed25519. The x25519 algorithm also plays a role in post-quantum safe cryptographic solutions, having been included as the classical algorithm in the TLS 1.3 and SSH hybrid scheme specifications for post-quantum key agreement.

Microarchitecture optimizations

When we write assembly code for a specific CPU architecture, we use its instruction set architecture (ISA). The ISA defines resources such as the available assembly instructions, their semantics, and the CPU registers accessible to the programmer. Importantly, the ISA defines the CPU in abstract terms; it doesn’t specify how the CPU should be realized in hardware.

Related content
Prize honors Amazon senior principal scientist and Penn professor for a protocol that achieves a theoretical limit on information-theoretic secure multiparty computation.

The detailed implementation of the CPU is called the microarchitecture, and every μarch has unique characteristics. For example, while the AWS Graviton 2 CPU and AWS Graviton 3 CPU are both based on the Arm64 ISA, their μarch implementations are different. We hypothesized that if we could take advantage of the μarch differences, we could create x/Ed25519 implementations that were even faster than the existing implementations in AWS-LC. It turns out that this intuition was correct.

Let us look closer at how we took advantage of μarch differences. Different arithmetic operations can be defined on curve25519, and different combinations of those operations are used to construct the x/Ed25519 algorithms. Logically, the necessary arithmetic operations can be considered at three levels:

  1. Field operations: Operations within the field defined by the curve25519 prime 2255 – 19.
  2. Elliptic-curve group operations: Operations that apply to elements of the curve itself, such as the addition of two points, P1 and P2.
  3. Top-level operations: Operations implemented by iterative application of elliptic-curve group operations, such as scalar multiplication.
Levels of operations.png
Examples of operations at different levels. Arrows indicate dependency relationships between levels.

Each level has its own avenues for optimization. We focused our μarch-dependent optimizations on the level-one operations, while for levels two and three our implementations employ known state-of-the-art techniques and are largely the same for different μarchs. Below, we give a summary of the different μarch-dependent choices we made in our implementations of x/Ed25519.

  • For modern x86_64 μarchs, we use the instructions MULX, ADCX, and ADOX, which are variations of the standard assembly instructions MUL (multiply) and ADC (add with carry) found in the instruction set extensions commonly called BMI and ADX. These instructions are special because, when used in combination, they can maintain two carry chains in parallel, which has been observed to boost performance up to 30%. For older x86_64 μarchs that don’t support the instruction set extensions, we use more traditional single-carry chains.
  • For Arm64 μarchs, such as AWS Graviton 3 with improved integer multipliers, we use relatively straightforward schoolbook multiplication, which turns out to give good performance. AWS Graviton 2 has smaller multipliers. For this Arm64 μarch, we use subtractive forms of Karatsuba multiplication, which breaks down multiplications recursively. The reason is that, on these μarchs, 64x64-bit multiplication producing a 128-bit result has substantially lower throughput relative to other operations, making the number size at which Karatsuba optimization becomes worthwhile much smaller.

We also optimized level-one operations that are the same for all μarchs. One example concerns the use of the binary greatest-common-divisor (GCD) algorithm to compute modular inverses. We use the “divstep” form of binary GCD, which lends itself to efficient implementation, but it also complicates the second goal we had: formally proving correctness.

Related content
Both secure multiparty computation and differential privacy protect the privacy of data used in computation, but each has advantages in different contexts.

Binary GCD is an iterative algorithm with two arguments, whose initial values are the numbers whose greatest common divisor we seek. The arguments are successively reduced in a well-defined way, until the value of one of them reaches zero. With two n-bit numbers, the standard implementation of the algorithm removes at least one bit total per iteration, so 2n iterations suffice.

With divstep, however, determining the number of iterations needed to get down to the base case seems analytically difficult. The most tractable proof of the bound uses an elaborate inductive argument based on an intricate “stable hull” provably overapproximating the region in two-dimensional space containing the points corresponding to the argument values. Daniel Bernstein, one of the inventors of x25519 and Ed25519, proved the formal correctness of the bound using HOL Light, a proof assistant that one of us (John) created. (For more on HOL Light, see, again, our earlier RSA post.)

Performance results

In this section, we will highlight improvements in performance. For the sake of simplicity, we focus on only three μarchs: AWS Graviton 3, AWS Graviton 2, and Intel Ice Lake. To gather performance data, we used EC2 instances with matching CPU μarchs — c6g.4xlarge, c7g.4xlarge, and c6i.4xlarge, respectively; to measure each algorithm, we used the AWS-LC speed tool.

In the graphs below, all units are operations per second (ops/sec). The “before” columns represent the performance of the existing x/Ed25519 implementations in AWS-LC. The “after” columns represent the performance of the new implementations.

Signing new.png
For the Ed25519 signing operation, the number of operations per second, over the three μarchs, is, on average, 108% higher with the new implementations.
Verification.png
For the Ed25519 verification operation, we increased the number of operations per second, over the three μarchs, by an average of 37%.

We observed the biggest improvement for the x25519 algorithm. Note that an x25519 operation in the graph below includes the two major operations needed for an x25519 key exchange agreement: base-point multiplication and variable-point multiplication.

Ops:sec new.png
With x25519, the new implementation increases the number of operations per second, over the three μarchs, by an average of 113%.

On average, over the AWS Graviton 2, AWS Graviton 3, and Intel Ice Lake microarchitectures, we saw an 86% improvement in performance.

Proving correctness

We develop the core parts of the x/Ed25519 implementations in AWS-LC in s2n-bignum, an AWS-owned library of integer arithmetic routines designed for cryptographic applications. The s2n-bignum library is also where we prove the functional correctness of the implementations using HOL Light. HOL Light is an interactive theorem prover for higher-order logic (hence HOL), and it is designed to have a particularly simple (hence light) “correct by construction” approach to proof. This simplicity offers assurance that anything “proved” has really been proved rigorously and is not the artifact of a prover bug.

Related content
New approach to homomorphic encryption speeds up the training of encrypted machine learning models sixfold.

We follow the same principle of simplicity when we write our implementations in assembly. Writing in assembly is more challenging, but it offers a distinct advantage when proving correctness: our proofs become independent of any compiler.

The diagram below shows the process we use to prove x/Ed25519 correct. The process requires two different sets of inputs: first is the algorithm implementation we’re evaluating; second is a proof script that models both the correct mathematical behavior of the algorithm and the behavior of the CPU. The proof is a sequence of functions specific to HOL Light that represent proof strategies and the order in which they should be applied. Writing the proof is not automated and requires developer ingenuity.

From the algorithm implementation and the proof script, HOL Light either determines that the implementation is correct or, if unable to do so, fails. HOL Light views the algorithm implementation as a sequence of machine code bytes. Using the supplied specification of CPU instructions and the developer-written strategies in the proof script, HOL Light reasons about the correctness of the execution.

CI integration.png
CI integration provides assurance that no changes to the algorithm implementation code can be committed to s2n-bignum’s code repository without successfully passing a formal proof of correctness.

This part of the correctness proof is automated, and we even implement it inside s2n-bignum’s continuous-integration (CI) workflow. The workflow covered in the CI is highlighted by the red dotted line in the diagram below. CI integration provides assurance that no changes to the algorithm implementation code can be committed to s2n-bignum’s code repository without successfully passing a formal proof of correctness.

The CPU instruction specification is one of the most critical ingredients in our correctness proofs. For the proofs to be true in practice, the specification must capture the real-world semantics of each instruction. To improve assurance on this point, we apply randomized testing against the instruction specifications on real hardware, “fuzzing out” inaccuracies.

Constant time

We designed our implementations and optimizations with security as priority number one. Cryptographic code must strive to be free of side channels that could allow an unauthorized user to extract private information. For example, if the execution time of cryptographic code depends on secret values, then it might be possible to infer those values from execution times. Similarly, if CPU cache behavior depends on secret values, an unauthorized user who shares the cache could infer those values.

Our implementations of x/Ed25519 are designed with constant time in mind. They perform exactly the same sequence of basic CPU instructions regardless of the input values, and they avoid any CPU instructions that might have data-dependent timing.

Using x/Ed25519 optimizations in applications

AWS uses AWS-LC extensively to power cryptographic operations in a diverse set of AWS service subsystems. You can take advantage of the x/Ed25519 optimizations presented in this blog by using AWS-LC in your application(s). Visit AWS-LC on Github to learn more about how you can integrate AWS-LC into your application.

To allow easier integration for developers, AWS has created bindings from AWS-LC to multiple programming languages. These bindings expose cryptographic functionality from AWS-LC through well-defined APIs, removing the need to reimplement cryptographic algorithms in higher-level programming languages. At present, AWS has open-sourced bindings for Java and Rust — the Amazon Corretto Cryptographic Provider (ACCP) for Java, and AWS-LC for Rust (aws-lc-rs). Furthermore, we have contributed patches allowing CPython to build against AWS-LC and use it for all cryptography in the Python standard library. Below we highlight some of the open-source projects that are already using AWS-LC to meet their cryptographic needs.

Open-source projects.png
Open-source projects using AWS-LC to meet their cryptographic needs.

We are not done yet. We continue our efforts to improve x/Ed25519 performance as well as pursuing optimizations for other cryptographic algorithms supported by s2n-bignum and AWS-LC. Follow the s2n-bignum and AWS-LC repositories for updates.

Research areas

Related content

US, WA, Redmond
The Head of Flight Dynamics is the single-threaded leader responsible for orbital maneuvering, orbital safety, and orbital performance across Amazon Leo's current and future satellite constellations. This role directly impacts service reliability for millions of customers worldwide through safe, precise on-orbit operations and industry-leading space safety practices. You will lead an organization of engineers, research scientists, and software developers building the algorithms, end-to-end ground system products, analysis tools, and infrastructure that enable safe and precise operation of Leo satellites at constellation scale. You will also lead special Flight Dynamics programs including GNSS independence, space traffic coordination services, and space situational awareness. The ideal candidate thrives in ambiguity, operates autonomously while building alignment across organizations, and has a proven track record of delivering complex, cross-organizational technical programs that solve critical technical and business challenges. You will partner directly with engineering leaders, product managers, legal and regulatory teams, and senior Leo leadership to drive technical clarity, architect solutions, make strategic trade-offs, and deliver these enabling capabilities for Amazon Leo. You will embody Amazon's Leadership Principles — particularly Ownership, Dive Deep, Are Right A Lot, and Hire and Develop the Best. Export Control Requirement: Due to applicable export control laws and regulations, candidates must be a U.S. citizen or national, U.S. permanent resident (i.e., current Green Card holder), or lawfully admitted into the U.S. as a refugee or granted asylum. Key job responsibilities - Own the Flight Dynamics roadmap and technical strategy, including forward-looking initiatives that enable Amazon Leo to deliver a best-in-class customer experience and leadership in orbital safety. - Build, lead, and develop a high-performing organization of engineering managers and senior individual contributors; hire and grow top talent and foster a culture of innovation, operational excellence, and customer obsession. - Own and lead the architecture, development, and deployment of resilient ground software services and infrastructure that manage safe orbital maneuver operations of Amazon Leo satellites — ascent, station keeping, collision avoidance, and end of life descent for re-entry - Own and lead the development of algorithms for orbit determination, trajectory planning and guidance, and high-fidelity orbit modeling and prediction. - Collaborate closely with GN&C and Mission Operations to enable safe, autonomous on-orbit satellite operations that integrate seamlessly with Flight Dynamics ground systems. - Deliver the products needed by stakeholders for spacecraft design, constellation planning, and operations — including launch targets and launch-window assessments for launch and mission management teams - Provide leadership oversight and direction to the GNSS independence and space situational awareness programs. - Lead the development of metrics, monitoring, and response systems that leverage physical modeling and ML/AI to automate analysis of data from thousands of satellites for closed-loop assessment and improvement of on-orbit performance. - Initiate and lead operator-to-operator collaboration for orbital safety, and partner with regulatory and legal teams to promote adoption of best practices in space safety across the industry. - Own Flight Dynamics system risks and drive mitigations to minimize impact; manage program schedules and drive on-time delivery with support from technical program managers, balancing operational support against development efforts. - As a key voice in on-orbit operations, work with Mission Operations and peer leaders to influence efficiency, safety, performance, and simplicity for customers.
US, WA, Bellevue
Amazon's Modeling and Optimization (MOP) team seeks motivated individual with strong analytical and algorithmic skills to optimize the global logistics network and its operations. Key job responsibilities - Enhance global logistics network efficiency through data-driven optimization - Reduce variable costs by improving network design, inventory placement, process and operational planning, and resource allocation - Optimize capital investment through strategic fixed asset deployment planning - Develop metrics to quantify business impact of implemented solutions A day in the life - Lead development of production-ready algorithms and scientific tools for under-the-roof (UTR) and network process analysis and optimization - Drive planning and execution decisions on operation timing and resource allocation to improve capacity, cost, and speed. - Manage customer interactions, promote science-based processes, and incorporate customer needs into tool improvements. - Partner with team members and customers to exercise judgment on appropriate analysis methods for various business requests. - Interact with and influence adjacent systems and tools, including those for long-term operating policies and daily capacity planning. - Blend scientific expertise with business acumen to deliver impactful solutions across the organization.
US, WA, Seattle
Our team in Amazon Robotics builds robotic systems that perform contact-rich manipulation tasks safely and reliably in complex, unstructured environments — at Amazon scale. Our scientists and engineers push the boundaries of robotic manipulation to handle enormous object diversity, bringing deep expertise across planning, control, perception, and machine learning. We learn from real-world data at a scale that few teams in robotics can access. We are seeking an Applied Scientist to join our Motion Behaviors team. You will drive the development of learned controllers and manipulation behaviors, applying techniques like reinforcement learning and behavior cloning to robots operating in Amazon fulfillment centers. These problems remain unsolved at scale: our robots must improve continuously in environments where simulation alone is insufficient. You will make principled decisions about when learned approaches should replace engineered solutions, and how to select behaviors based on estimated risk. You will collaborate across disciplines and leverage rich operational data to continuously improve system performance. Key job responsibilities • Develop learned controllers and manipulation behaviors, from research prototyping through deployment on production robots. • Research, design, and implement motion planning, control, and decision-making algorithms that improve the performance of deployed systems. • Design and deploy learning pipelines that take policies from simulation training to reliable, real-time execution on physical robots. • Develop models that predict manipulation outcomes and inform behavior selection under uncertainty. • Leverage operational data from deployed systems to systematically identify failure modes and drive policy improvements. • Represent Amazon in academia through publications and scientific presentations. A day in the life Amazon offers a full range of benefits that assist you and eligible family members, including domestic partners. Benefits can vary by location, the number of regularly scheduled hours you work, length of employment, and job status such as seasonal or temporary employment. The benefits that generally apply to regular, full-time employees include: 1. Medical, Dental, and Vision Coverage 2. Maternity and Parental Leave Options 3. Paid Time Off (PTO) 4. 401(k) Plan If you are not sure that every qualification on the list above describes you exactly, we'd still love to hear from you! At Amazon, we value people with unique backgrounds, experiences, and skillsets. If you’re passionate about this role and want to make an impact on a global scale, please apply!
IN, KA, Bengaluru
Amazon Pay strives to be Earth’s most customer-centric payments service. Our mission is to serve customers and merchant partners with the most trusted, friction-less and rewarding payment solutions for their needs on and off Amazon. We are seeking an exceptional Data Scientist III to drive innovation in machine learning and artificial intelligence solutions while leading high-impact initiatives across the organization. Key job responsibilities Technical Excellence Lead end-to-end machine learning projects using PyTorch, AWS SageMaker, and other leading ML frameworks Design and implement complex statistical models and deep learning solutions Develop and optimize MLOps pipelines for model training, evaluation, and deployment Experience with modern LLM frameworks and Generative AI applications Expertise in Python, R, and related data science libraries MLOps & Development Build automated ML pipelines using AWS services (CodePipeline, Lambda, Step Functions) Implement CI/CD practices for ML model deployment and monitoring Create containerized solutions using Docker for scalable model deployment Experience with model optimization and hyperparameter tuning using tools like Optuna Integrate ML solutions with monitoring tools like MLflow Business Impact & Leadership Partner with stakeholders to translate business problems into technical solutions Design and develop business intelligence applications for real-time insights Lead technical initiatives and mentor junior data scientists Drive cross-functional collaboration to deliver innovative solutions Communicate complex technical concepts to non-technical audiences About the team The Amazon Pay Data Products team is a central unit that builds and maintains data products supporting Amazon Pay's growth across multiple markets. We operate at scale, processing 150M+ monthly transactions and managing 12 PB of data infrastructure. Our team consists of Business Intelligence Engineers, Data Engineers, and Product Managers who develop and maintain standardized reporting, data marts, and self-service analytics tools. Our expanded capabilities cover data science and Gen AI wherein we have built our first suite of multi-agent systems.
US, WA, Seattle
AI assistants are getting genuinely good at remembering individuals: your preferences, your projects, the thread you left open last week. But that memory stops at the edge of one person's usage. It doesn't reach the level at which real work happens, where the knowledge that matters is spread across many people, where one person's decision changes what everyone else should do next, and where nobody has the full picture. We're building AI that operates at that level: a durable, accurate understanding of how a team works, used to make that team measurably faster. We are looking for a Principal Applied Scientist to own the scientific direction of that work. This is a broad, ambiguous, high-leverage charter. The problems span knowledge representation, temporal reasoning, retrieval, agentic behavior, and the measurement science needed to know whether any of it is working. You will not be handed a well-posed problem. You will decide which problems are worth posing. This is a science leadership role, not a solo research role. You will set direction and raise the scientific bar across a team of applied scientists and MLEs, while staying deep enough in the work to prototype an idea yourself and prove it on real data. Key job responsibilities Own the scientific strategy for how organizational knowledge is represented, kept current, and retrieved: extraction, entity resolution, deduplication, graph structure, and retrieval that unifies graph, semantic, keyword, and temporal search. Advance temporal reasoning. Knowledge changes: facts are revised, decisions are reversed, priorities move. Representing what superseded what and when, and preserving the provenance to distinguish confirmed information from inferred information, is among the hardest open problems in this space. Define the science of proactive behavior. When is it right for an AI system to interrupt a human? These are precision-critical problems where a false positive costs far more than a miss, and where the right threshold varies by team and by individual. Lead our measurement science. Build evaluation for completeness and correctness across a multi-component agentic system, converging on a small number of trustworthy primary metrics rather than a sprawl of component scores. Judge honestly when an offline gain is real and when it is an artifact of a sparse dataset. Build the data that doesn't exist. The most valuable phenomena in this domain are also the rarest, which makes naturally occurring examples too scarce to learn from. Design synthetic and simulated data pipelines that generate controlled, realistic scenarios so these capabilities can be developed and tested at all. Own the learning loop. Turn human interaction into usable training signal, and set the direction for how the system improves from explicit feedback in the near term and from passive observation over the longer term. Make the efficiency calls. Decide where frontier models are required and where a smaller domain-tuned model is sufficient, and build the cost and capacity measurement that makes it a data-driven decision rather than an opinion. Raise the bar across the team. Mentor scientists, review designs, publish where the work merits it, and represent the science externally to customers and to the research community. A day in the life You might spend the morning in a design review arguing that a proposed approach won't survive contact with real data, the afternoon writing a prototype yourself to demonstrate the alternative, and the end of the day convincing an engineer that the capability is worth a sprint. Our sequencing is deliberate: try the idea on intuition, validate it on real data by inspection, then measure it, then operationalize it. Scientists here are expected to identify a problem, justify it, recruit others to it, and drive it into production, across whatever parts of the system that requires. Ownership follows the problem, not the org chart. About the team We are a combined science, product, and engineering team building one product together. Scientists own capabilities end to end rather than individual components, because these problems don't decompose cleanly: a single improvement typically touches extraction, storage, and retrieval at once. We invest in the tooling that makes that practical: local full-stack environments and sandboxed realistic data, so a scientist can go from idea to result in seconds rather than waiting on a deployment or on engineering support. The work is grounded in real usage rather than benchmarks alone, which is a rare combination for science this early: real users, real data, real feedback, and a genuinely unsolved research agenda.
US, WA, Seattle
This role sits within Amazon's Automated Reasoning and Formal Verification research horizon. Shape the Future of Cloud Computing. Are you a graduate student passionate about Automated Reasoning and its real-world applications? Join our team of innovators and embark on a journey to revolutionize cloud computing through innovative automated reasoning techniques. Our tools are called billions of times daily, powering the backbone of Amazon's products and services. We are changing the way computer systems are developed and operated, raising the bar for security, durability, availability, and quality. Applied Scientists in Automated Reasoning develop and apply formal methods, automated reasoning techniques, and neurosymbolic approaches to ensure the security, reliability, and correctness of Amazon and AWS services and customer applications. Application areas span cloud infrastructure verification, cryptographic assurance, AI safety, and formal guarantees for generative AI systems. Methods range from interactive theorem proving and constraint solving to neuro-inspired proof search. As an Applied Science Intern, you will have the opportunity to work alongside our scientists and contribute to projects. From distributed proof search and SAT/SMT solvers to program analysis, synthesis, and verification, you will tackle complex challenges at the intersection of theory and practice. Amazon has positions available for Automated Reasoning Applied Science Internships in, but not limited to, Arlington, VA; Boston, MA; New York, NY; Portland, OR; Santa Clara, CA; Seattle, WA; Austin, TX; Cambridge, UK. Key job responsibilities We are particularly interested in candidates with expertise in: Theorem Proving, Boolean Satisfiability Solvers, Bounded Model Checking, Deductive Verification, Programming/Scripting Languages, Abstract Interpretation, Automated Reasoning, Static/Program Analysis, Program Synthesis. Contribute to the design and implementation of algorithms and formal methods for automated reasoning, including constraint solving, model checking, static analysis, theorem proving, and program synthesis, within a guided research framework. Explore and apply generative AI and machine learning techniques to enhance automated reasoning, including learning-based heuristics for search, neural approaches to symbolic reasoning, and methods for verifying the correctness of AI-generated code. Contribute to automated reasoning techniques for generative AI and agentic coding systems, including methods that apply formal guarantees to large language model outputs. Contribute to the scientific community through publications at peer-reviewed conferences and journals. Leverage AI-powered tools where applicable to accelerate research, experimentation, and prototyping. Critically review and validate outputs from AI tools and automated systems. The ideal intern must have the ability to communicate research findings clearly to diverse audiences.
US, WA, Seattle
Prime Video is a first-stop entertainment destination offering customers a vast collection of premium programming in one app available across thousands of devices. Prime members can customize their viewing experience and find their favorite movies, series, documentaries, and live sports – including Amazon MGM Studios-produced series and movies; licensed fan favorites; and programming from Prime Video subscriptions such as Apple TV+, HBO Max, Peacock, Crunchyroll and MGM+. All customers, regardless of whether they have a Prime membership or not, can rent or buy titles via the Prime Video Store, and can enjoy even more content for free with ads. Are you interested in shaping the future of entertainment? Prime Video's technology teams are creating best-in-class digital video experience. As a Prime Video team member, you’ll have end-to-end ownership of the product, user experience, design, and technology required to deliver state-of-the-art experiences for our customers. You’ll get to work on projects that are fast-paced, challenging, and varied. You’ll also be able to experiment with new possibilities, take risks, and collaborate with remarkable people. We’ll look for you to bring your diverse perspectives, ideas, and skill-sets to make Prime Video even better for our customers. With global opportunities for talented technologists, you can decide where a career Prime Video Tech takes you! We are looking for passionate, hard-working, and talented individuals to help us push the envelope of content localization. We are seeking scientists with experience in audio processing, speech/voice AI and machine learning. We work on a broad array of research areas and applications, including but not limited to multimodal machine translation, speech synthesis, speech analysis, and asset quality assessment. Candidates should be prepared to help drive innovation in one or more areas of machine learning, audio processing, and natural language understanding. If you have experience with speech synthesis and foundational models, then that's a huge plus! Key job responsibilities As an Applied Scientist, you should be a strong communicator, able to describe scientifically rigorous work to business stakeholders of varying levels of technical sophistication. You will closely partner with the solution development teams, and should be intensely curious about how the research is moving the needle for business. Strong inter-personal and mentoring skills to develop applied science talent in the team is another important requirement. - Lead research and development of speech and audio generation technology and end-to-end speech-to-speech architecture - Develop audio processing solutions for production environments, including source separation, enhancement, and mixing - Define the research roadmap for your area, identify high-impact problems, and communicate technical direction to senior leadership - Publish research, contribute to the broader scientific community, and bring external advances into production systems A day in the life You might start your morning reviewing experimental results and refining a model architecture before syncing with your engineering partners on integration plans. After lunch, you could be whiteboarding a new approach to a problem your team recently identified, then writing up findings for an internal science review. You will regularly present your work to peers and stakeholders, participate in code and design reviews, and explore emerging research that could unlock new possibilities for your team. About the team Our team is driven by a shared commitment to applying science in ways that create meaningful impact for customers. We value rigorous research, collaborative problem-solving, and a willingness to experiment with new ideas. You will work alongside talented scientists and engineers in an inclusive environment where your contributions shape the direction of our work. We are focused on building solutions that matter at scale, and we are looking for teammates who are energized by that challenge.
US, WA, Seattle
We are looking for a talented, organized, and customer-focused applied researcher to join our Pricing Optimization science group, with a charter to measure, refine, and launch customer-obsessed improvements to our algorithmic pricing and promotion models across all products listed on Amazon. This role requires an individual with exceptional machine learning modeling and architecture expertise — particularly in deep learning, neural networks, and transformer-based architectures applied to price prediction and forecasting problems. Equally important is deep expertise in causal machine learning — including causal inference, treatment-effect estimation, and experimentation methods (e.g., uplift modeling, double/debiased machine learning, instrumental variables, and A/B and quasi-experimental design) — to isolate the true impact of pricing and promotion decisions on customer behavior and business outcomes. The ideal candidate brings a strong foundation in applied statistics and probabilistic modeling, excellent cross-functional collaboration skills, business acumen, and an entrepreneurial spirit. We are looking for an experienced innovator who is a self-starter, comfortable with ambiguity, demonstrates strong attention to detail, and has the ability to work in a fast-paced and ever-changing environment. Key job responsibilities See the big picture. Understand and influence the long-term vision for Amazon's science-based competitive, perception-preserving pricing techniques. Develop and advance price prediction models leveraging deep learning frameworks, transformer architectures, and advanced statistical methods to drive pricing accuracy at scale. Build strong collaborations. Partner with product, engineering, and science teams within Pricing & Promotions to deploy machine learning price estimation and error correction solutions at Amazon scale. Design and implement neural network-based architectures — including sequence models and transformers — for large-scale price prediction and optimization. Stay informed. Establish mechanisms to stay up to date on the latest scientific advancements in deep learning, transformer architectures, applied statistics, neural network design, probabilistic forecasting, and multi-objective optimization techniques. Identify opportunities to apply them to relevant Pricing & Promotions business problems. Keep innovating for our customers. Foster an environment that promotes rapid experimentation, continuous learning, and incremental value delivery. Leverage statistical rigor and modern deep learning approaches to validate hypotheses and drive measurable pricing improvements. Successfully execute & deliver. Apply your exceptional technical machine learning expertise — including deep neural networks, attention-based models, and applied statistical analysis — to incrementally move the needle on some of our hardest pricing problems. A day in the life We are hiring a Sr. Applied Scientist to drive our pricing optimization initiatives. We drive cross-domain and cross-system improvements through: * shape and extend our RL optimization platform - a pricing centric tool that automates the optimization of various system parameters and price inputs. * Error detection and price quality guardrails at scale. * Identifying opportunities to optimally price across systems and contexts (marketplaces, request types, event periods) Price is a highly relevant input into Stores architectures; this role creates the opportunity to drive extremely large impact (measured in Bs not Ms), but demands careful thought and clear communication. About the team The Pricing Optimization science group builds and refines Amazon's algorithmic pricing and promotion models at scale. Our team combines expertise in deep learning, transformer architectures, applied statistics, and probabilistic forecasting to develop price prediction systems that directly impact the customer experience. The team also brings hands-on experience with causal modeling and inference — including uplift modeling and treatment effect estimation — to rigorously measure the impact of pricing decisions on customer behavior and business outcomes. We partner closely with product, engineering, and business teams to take solutions from research through production deployment.
US, NY, New York
We are seeking an Applied Scientist to lead the development of evaluation frameworks and data collection protocols for robotic capabilities. In this role, you will focus on designing how we measure, stress-test, and improve robot behavior across a wide range of real-world tasks. Your work will play a critical role in shaping how policies are validated and how high-quality datasets are generated to accelerate system performance. You will operate at the intersection of robotics, machine learning, and human-in-the-loop systems, building the infrastructure and methodologies that connect teleoperation, evaluation, and learning. This includes developing evaluation policies, defining task structures, and contributing to operator-facing interfaces that enable scalable and reliable data collection. The ideal candidate is highly experimental, systems-oriented, and comfortable working across software, robotics, and data pipelines, with a strong focus on turning ambiguous capability goals into measurable and actionable evaluation systems. Key job responsibilities - Design and implement evaluation frameworks to measure robot capabilities across structured tasks, edge cases, and real-world scenarios - Develop task definitions, success criteria, and benchmarking methodologies that enable consistent and reproducible evaluation of policies - Create and refine data collection protocols that generate high-quality, task-relevant datasets aligned with model development needs - Build and iterate on teleoperation workflows and operator interfaces to support efficient, reliable, and scalable data collection - Analyze evaluation results and collected data to identify performance gaps, failure modes, and opportunities for targeted data collection - Collaborate with engineering teams to integrate evaluation tooling, logging systems, and data pipelines into the broader robotics stack - Stay current with advances in robotics, evaluation methodologies, and human-in-the-loop learning to continuously improve internal approaches - Lead technical projects from conception through production deployment - Mentor junior scientists and engineers About the team Fauna Robotics, an Amazon company, is building capable, safe, and genuinely delightful robots for everyday life. Our goal is simple: make robots people actually want to live and interact with in everyday human spaces. We believe that future won’t arrive until building for robotics becomes far more accessible. Today, too much effort is spent reinventing the fundamentals. We’re changing that by developing tightly integrated hardware and software systems that make it faster, safer, and more intuitive to create real-world robotic products. Our work spans the full stack: mechanical design, control systems, dynamic modeling, and intelligent software. The focus is not just functionality, but experience. We’re building robots that feel responsive, expressive, and genuinely useful. At Fauna, you’ll work at the frontier of this space, helping define how robots move, manipulate, and interact with people in natural environments. It’s an opportunity to solve hard problems across hardware and software with a team focused on making robotics accessible and joyful to build. If you care about making robotics real for everyone and building systems that are as delightful as they are capable, we’re interested in hearing from you.
IN, KA, Bangalore
Have you ever ordered a product on Amazon and when that box with the smile arrived you wondered how it got to you so fast? Have you wondered where it came from and how much it cost Amazon to deliver it to you? If so, the WW Amazon Logistics, Business Analytics team is for you. We manage the delivery of tens of millions of products every week to Amazon’s customers, achieving on-time delivery in a cost-effective manner. We are looking for an enthusiastic, customer obsessed, Sr. Applied Scientist with good analytical skills to help manage projects and operations, implement scheduling solutions, improve metrics, and develop scalable processes and tools. The primary role of an Operations Research Scientist within Amazon is to address business challenges through building a compelling case, and using data to influence change across the organization. This individual will be given responsibility on their first day to own those business challenges and the autonomy to think strategically and make data driven decisions. Decisions and tools made in this role will have significant impact to the customer experience, as it will have a major impact on how the final phase of delivery is done at Amazon. Ideal candidates will be a high potential, strategic and analytic graduate with a PhD in (Operations Research, Statistics, Engineering, and Supply Chain) ready for challenging opportunities in the core of our world class operations space. Great candidates have a history of operations research, and the ability to use data and research to make changes. This role requires robust program management skills and research science skills in order to act on research outcomes. This individual will need to be able to work with a team, but also be comfortable making decisions independently, in what is often times an ambiguous environment. Responsibilities may include: - Develop input and assumptions based preexisting models to estimate the costs and savings opportunities associated with varying levels of network growth and operations - Creating metrics to measure business performance, identify root causes and trends, and prescribe action plans - Managing multiple projects simultaneously - Working with technology teams and product managers to develop new tools and systems to support the growth of the business - Communicating with and supporting various internal stakeholders and external audiences