Asymmetric-key algorithm