This page generates arbitrarily many random practice problems for you!

**Warning:** These are the most basic computational problems. These are good for making sure you have your basic arithmetic and algorithms down. But they don’t (and can’t) test conceptual understanding, and test problems may NOT resemble these.

# Modular arithmetic.

This box will generate a random addition and multiplication problem.

This box will show the answers.

## Complex Numbers

## Miller-Rabin Primality Testing

These are not designed to be easy by hand, because the first successive squaring part might be annoying; you can use Sage to do the modular arithmetic for you.

## RSA Factoring

This box produces RSA moduli that are good for testing your factoring methods on.

The following box will output the answer.

# Elliptic curve addition.

This box will generate a random elliptic curve point addition problem.

This box will show the answer.

## Elliptic Curve Diffie-Hellman Key Exchange

This box will provide you a key exchange question.

This box will show the answer.

## Elliptic Curve Factoring

This box will generate an example where an elliptic curve computation will help you factor a number. It will typically ask you to multiply a point by 3 or 6. Think about how to do this efficiently! (For 6, don’t just add the point to itself 5 times.)

The following box will output the answer.

## Single Qubit States

This box will provide the answer.