Modular Arithmetic and Primality

Modular Arithmetic and Primality Modular Arithmetic and Primality

axon.cs.byu.edu
from axon.cs.byu.edu More from this publisher
01.01.2015 Views

⎧⎧ 2(x⋅ ⎣⎣y/2⎦⎦) if y is even x⋅ y = ⎨⎨ ⎩⎩ x + 2(x⋅ ⎣⎣y/2⎦⎦) if y is odd function multiply(x,y) Input: Two n-bit integers x and y, where y ≥ 0 Output: € Their product if y = 0: return 0 z = multiply(x, floor(y/2)) if y is even: return 2z else: return x+2z CS 312 - Complexity Examples - Arithmetic and RSA 12

x y y binary # of x’s 15 8 0 1 30 4 0 2 60 2 0 4 120 1 1 8 120 Any x value added (when y is odd) in keeps getting doubled to its appropriate contribution as we unfold the recursion CS 312 - Complexity Examples - Arithmetic and RSA 13

⎧⎧ 2(x⋅ ⎣⎣y/2⎦⎦) if y is even<br />

x⋅ y = ⎨⎨<br />

⎩⎩ x + 2(x⋅ ⎣⎣y/2⎦⎦) if y is odd<br />

function multiply(x,y)<br />

Input: Two n-bit integers x <strong>and</strong> y, where y ≥ 0<br />

Output: € Their product<br />

if y = 0: return 0<br />

z = multiply(x, floor(y/2))<br />

if y is even: return 2z<br />

else: return x+2z<br />

CS 312 - Complexity Examples - <strong>Arithmetic</strong> <strong>and</strong> RSA 12

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!