BÁO CÁO TIỂU LUẬN Mật mã và AN TOÀN DỮ LIỆU TRÌNH BÀY NHÓM Zn, Zn Khái niệm về nhóm Zn, Zn Ví dụ minh họa Các bài toán về nhóm Zn, Zn Ứng dụng nhóm Zn, Zn. Ví dụ Khái niệm: Cho n là một số nguyên dương. Tập hợp các số nguyên không âm bé hơn n được gọi là nhóm Zn Kí hiệu Zn= {0,1,2,…,n1} Ví dụ: Z7= {0,1,2,3,4,5,6} Z26= {A, B,…,X, Y, Z} – Bảng chữ cái
Trang 1BÁO CÁO TIỂU LUẬN
MÔN HỌC: MẬT MÃ VÀ AN TOÀN DỮ LIỆU
ĐỀ BÀI: TRÌNH BÀY NHÓM ZN, ZN*
Học viên: Nguyễn Văn Uy
Mã học viên: 13025208 Email: nguyenvanuy.cntt@gmail.com
Sđt: 01656253187 Giảng viên hướng dẫn: PGS.TS Trịnh Nhật Tiến
Trang 2Nội dung trình bày:
• Khái niệm về nhóm Zn, Zn*
• Ví dụ minh họa
• Các bài toán về nhóm Zn, Zn*
• Ứng dụng nhóm Zn, Zn* Ví dụ
Trang 3Khái niệm về nhóm Zn, Zn*
Khái niệm về nhóm Zn
• Khái niệm: Cho n là một số nguyên dương Tập hợp các số nguyên không âm bé hơn n
• Ví dụ:
• Z7= {0,1,2,3,4,5,6}
Trang 4Khái niệm về nhóm Zn*
• Khái niệm: Cho n là số nguyên dương Tập hợp các số p
thuộc Zn và nguyên tố cùng nhau với n hợp thành nhóm Zn*
• Kí hiệu
• Zn* = { p Zn \ gcd(p,n)=1 }
• Ví dụ minh họa
• Z7*= {1,2,3,4,5,6} vì thỏa mãn gcd(1,7)=
gcd(2,7)=gcd(3,7)=gcd(4,7)=gcd(5,7)=gcd(6,7)=1
• Z8*={1,3,5,7} vì thỏa mãn gcd(1,8)=
gcd(3,8)=gcd(5,8)=gcd(7,8)
Trang 5Các bài toán về nhóm Zn, Zn*
– Nhóm Cyclic
phần tử sinh là 1, phần tử trung lập e=0
hữu hạn có cấp n
Trang 6Tập thặng dư thu gọn theo mod n
• Kí hiệu Z n * = x Zn , x là nguyên tố cùng nhau với n Tức là x phải 0
• Z n *
được gọi là Tập thặng dư thu gọn theo mod n, có
số phần tử là (n)n)
• Z n * với phép nhân mod n lập thành một nhóm
(nhóm nhân), pt trung lập e = 1.
• Tổng quát (Z n * , phép nhân mod n ) không phải là
nhóm Cyclic
• Nhóm nhân Z n * là Cyclic chỉ khi n có dạng: 2, 4, pk, hay 2pk với p là nguyên tố lẻ
Trang 7Hàm Euler
• Cho số nguyên dương n, số lượng các số nguyên dương bé hơn n và
nguyên tố cùng nhau với n được ký hiệu (n)n) và gọi là hàm Euler.
• Nhận xét: Nếu p là số nguyên tố, thì (n)p) = p-1
• Ví dụ:
• Do 7 là số nguyên tố, nên Tập các số nguyên dương nhỏ hơn 7 và
nguyên tố cùng nhau với 7 là Z 7 * ={1, 2, 3, 4, 5, 6} Khi đó /Z/ = (n)p)
= p-1 = 7 - 1 = 6.
• Định lý: về Hàm Euler Nếu n là tích của hai số nguyên tố n = p.q, thì (n)n) = (p) (q) = (p-1).(q-1)
Trang 8Một số kết quả đã được chứng minh
• Định lý Lagrange: Nếu G là nhóm cấp n và G, thì
Cấp của là ước của n
• Hệ quả: Giả sử Zn* có Cấp m, thì m là
ước của (n)
• Định lý: Nếu p là số nguyên tố thì Zp* là nhóm Cyclic
• Nếu b Zn* thì b (n) 1 (mod n) Nếu p là số
nguyên tố thì (p) = p-1
• Do đó với b Zn* (tức b nguyên tố với p), thì b(p)
1 (mod n), hay bp -1 1 (mod n)
Trang 9Phần tử nghịch đảo đối với phép nhân
sao cho a b 1 (mod n), ta nói b là phần tử
nghịch đảo của a trong Zn và ký hiệu a -1 Một phần tử có phần tử nghịch đảo, gọi là khả nghịch.
• Định lý: UCLN (a, n) = 1 Phần tử a
Trang 10Các ứng dụng về nhóm Zn, Zn*
• Tìm phần tử nghịch đảo bằng Thuật toán Euclid mở rộngInput a,n (n>0)
• Output x= a -1 mod n
• g 0 =n; g 1 =a; x0=0; x 1 =1;i=1;
• while gi>0 do
• begin
• q:=gi-1 div gi;
• gi+1=gi-1 – q.gi;
• xi+1= xi-1 – qxi;
• i=i+1;
• end
• x:=x i – 1;
• if x>0 then return x
• else return n+x
Trang 11Ví dụ:
Tìm phần tử nghịch đảo của 213
Tức là phải giải phương trình 213 x ≡ 1 (mod 466), x sẽ là phần tử
nghịch đảo của 213 Tương đương
Trang 12Ví dụ:
Tìm phần tử nghịch đảo của 213
Tức là phải giải phương trình 213 x ≡ 1 (mod 466), x sẽ là phần tử
nghịch đảo của 213 Tương đương
Trang 13i g i x i q
Trang 14Return n+x=466+xi-1 =466-35=431
Vậy 431 là phần tử nghịch
Trang 15Vấn đề thám mã RSA
• Giả sử A và B cần trao đổi thông tin bí mật thông qua , B đầu tiên cần tạo ra cho mình cặp khóa công khai và khóa bí mật theo các bước sau:
1 chọn 2 số nguyên tố lớn p và q với p q lựa chọn
ngẫu nhiên và độc lập
2 Tính n=p*q
3 Tính giá trị hàm số phi Euler (n) =(p-1)(q-1)
4 Chọn một số tự nhiên e sao cho 1<e< (n)
5 tính d sao cho de 1(mod (n))
Tóm lại: khoá công khai: e
Khóa bí mật: d
•
Trang 16Vấn đề thám mã RSA
• Sau đó B gửi khóa công khai e cho A, và B giữ bí mật khóa d của mình
• Ở đây p và q giữ vai trò rất quan trọng - -> chúng là các nhân
tố của n và cho phép tính d khi biết e