You are on page 1of 1

tại sao chúng ta không được dùng b)x = (yi * x)mod m, P = ( p + x)mod m???

Ta có:

y = (yI..y1y0)b = yI*b^I + ...+ y1*b^1 + y0*b^0;

=>x * y = x(yI*b^I + ... + y1*b^1 + y0*b^0)

= x*yI*b^I + ... + x*y1*b^1 + x*y0*b^0

x = ( x * b)mod m có ý nghĩa là qua mỗi lần lặp giá trị của x tăng lên b lần ( ở đây b = 2 )

sau đó nếu ta gán x = ( yi * x)mod m

nghĩa là x = (yi * x)mod m =( yi * x * b)mod m ( ko bik mình hiểu đúng ko)

nếu tại bước này yi = 0 => x = 0

lặp => ở a) x = 0 => x = 0 trong mọi vòng lặp=> P = P0;

Do đó , ở đây chúng ta phải dùng z = ( yi * x )mod m

để giá trị của yi ko ảnh hưởng tới x( nghĩa là qua mỗi vòng lặp giá trị của x luôn tăng 2 lần, bất chấp yi)

You might also like