Chương trình tiện ích tính phần tử nghịch đảo áp dụng thuật toán Euclid mở rộng.
Thuật toán Euclid mở rộng tìm phần tử nghịch đảo với mô-đun cho trước. Được sử dụng nhiều trong các bài toán mã hóa và giải mã các hệ mã hóa, đặc biệt là hệ mã hóa cổ điển.

Thuật toán:

Thuật toán Euclid mở rộng tìm phần tử nghịch đảo với mô-đun cho trước. Được sử dụng nhiều trong các bài toán mã hóa và giải mã các hệ mã hóa, đặc biệt là hệ mã hóa cổ điển.

Giả mã mô phỏng:

var x, a, b, y: array;
var i: integer;

x[0] := m; x[1] := n;
a[0] := 1; a[1] := 0;
b[0] := 0; b[1] := 1;
if (a = 1) then exit(1)
else if (ucln(n,m) = 1) then exit(null)
else begin
I := 1;
while (x[i] > 1) do begin
    y[i] := x[i-1] div x[i];
    i := i + 1;
    x[i] := x[i-2] div x[i-1];
    a[i] := a[i-2] – (a[i-1] * y[i-1]);
    b[i] := b[i-2] – (b[i-1] * y[i-1]);
end;
while (b[i-1] < 0) do b[i-1] := b[i-1] + m;
exit(b[i-1]);
end;

 

Thông tin:
Mọi khó khăn hay phát sinh lỗi khi sửa dụng chương trình,
mong mọi người liên hệ theo địa chỉ Email: tunghuynh.tn@gmail.com
Cảm ơn đã sử dụng sản phẩm!.

Bình luận