Tải bản đầy đủ (.docx) (33 trang)

Do an mat ma hocdemo

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.12 MB, 33 trang )

ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
KHOA MẠNG MÁY TÍNH & TRUYỀN THÔNG
----------

BÁO CÁO ĐỒ ÁN MẬT MÃ HỌC


Mục Lục
Bài 2: MÃ HOÁ CỔ ĐIỂN
Bài 3: MÃ HÓA ĐỐI XỨNG
Bài 4: MÃ HOÁ KHOÁ CÔNG KHAI
Bài 5: CHỨNG THỰC DỮ LIỆU
Bài 6: CÁC GIAO THỨC BẢO MẬT


BÀI 2 : MÃ HÓA CỔ ĐIỂN
1.

Cơ chế hoạt động của mã hóa Playfair và Hill

Ma trận khoá Playfair. Cho trước một từ làm khoá, với điều kiện trong từ
khoá đó không có chữ cái nào bị lặp. Ta lập ma trận Playfair là ma trận cỡ 5
x 5 dựa trên từ khoá đã cho và gồm các chữ trên bảng chữ cái, được sắp xếp
theo thứ tự như sau:
- Trước hết viết các chữ của từ khoá vào các hàng của ma trận bắt từ hàng
thứ nhất.
- Nếu ma trận còn trống, viết các chữ khác trên bảng chữ cái chưa được sử
dụng vào các ô còn lại. Có thể viết theo một trình tự qui ước trước, chẳng
hạn từ đầu bảng chữ cái cho đến cuối.
- Vì có 26 chữ cái tiếng Anh, nên thiếu một ô. Thông thuờng ta dồn hai chữ


nào đó vào một ô chung, chẳng hạn I và J.
- Giả sử sử dụng từ khoá MORNACHY. Lập ma trận khoá Playfair tương
ứng như sau:
MONAR
CHYBD
EFGIK
LPQST
UVWXZ
Mã hoá và giải mã: bản rõ được mã hoá 2 chữ cùng một lúc theo qui tắc như
sau:
- Chia bản rõ thành từng cặp chữ. Nếu một cặp nào đó có hai chữ như nhau,
thì ta chèn thêm một chữ lọc chẳng hạn X.
Trước khi mã “balloon” biến đổi thành “ba lx lo on”.
- Nếu cả hai chữ trong cặp đều rơi vào cùng một hàng, thì mã mỗi chữ bằng
chữ ở phía bên
phải nó trong cùng hàng của ma trận khóa (cuộn
vòng quanh từ cuối về đầu), chẳng hạn “ar” biến đổi thành “RM”
- Nếu cả hai chữ trong cặp đều rơi vào cùng một cột, thì mã mỗi chữ bằng
chữ ở phía bên dưới nó trong cùng cột của ma trận khóa (cuộn vòng quanh từ cuối
về đầu), chẳng hạn “mu” biến đổi thành “CM”
- Trong các trường hợp khác, mỗi chữ trong cặp được mã bởi chữ cùng
hàng với nó và cùng cột với chữ cùng cặp với nó trong ma trận khóa. Chẳng hạn,
“hs” mã thành “BP”, và “ea” mã thành “IM” hoặc “JM” (tuỳ theo sở thích)
2. Mã hóa Hill
Sử dụng m ký tự liên tiếp của plaintext và thay thế bằng m ký tự trong
ciphertext với một phương trình tuyến tính trên các ký tự được gán


giá trị lần lượt là A=01, B=02, …, Z=26.
Chọn ma trận vuông Hill (ma trận H) làm khoá.

Mã hoá từng chuỗi n ký tự trên plaintext (vector P) với n là kích
thước ma trận vuông Hill.
• C = HP mod 26
• P = H-1 Cmod 26

BÀI 3: MÃ HÓA ĐỐI XỨNG
Câu 1: Cài đặt ứng dụng Advanced Encryption Package. Nêu cách sử dụng công
cụ này
-

Cài đặt:


-

-

Cách sử dụng:


-

Tại phần giao diện chính, lựa chọn thư mục, file tại vùng chính. Sau đó tại
cột bên phải, thiết lập mật khẩu và chế độ mã hóa dữ liệu.
Có các định dạng mã hóa zip, sfx, và email
Để bảo mật tốt hơn nên vào mục ba chấm bên chỗ password
Tiếp theo bấn encrypt now ở dưới để bắt đầu mã hóa.

Câu 2 : Thực hiện mã hoá và giải mã dữ liệu với công cụ EFS (Encrypt File
System).



-

Encrypt :

Chọn thư mục muốn mã hóa, kích chuột phải chọn Properties và
chọn Advanced.


Bảng Advanced Attibutes hiện ra. Tích chọn ô Encrypt contents to secure
data và nhấn OK. Tiếp tục nhấn OK như hình trên

-

Như trong hình đã được mã hóa.
Máy em bị lỗi đoạn này nên không có hình em chỉ nểu các bước.
Ngay lập tức, thông báo mới xuất hiện góc phải dưới màn hình như hình.
Kích vào mũi tên để truy cập vào cửa sổ Encrypting File System
Chọn Back up now, cửa số mới hiện ra sau đó nhấn Next như hình để tiếp
tục.
Tích chọn vào ô Include all và Export all rồi nhấn Next.
Tích chọn ô Password, nhập mật khẩu cho file mã hõa và nhấn Next.
Chọn Browser để mở nơi cất chứa file.


-

Nhấn Finish và OK để hoàn thành quá trình mã hóa.


Decrypt:


Bỏ tích phần encrypt contents to secure data là xong.


Câu 3: Cho một số ví dụ về vấn đề khoá DES yếu : \
Vì DES có điểm yếu là có tính bù. Khóa yếu : 01 01 01 01 01 01 01 01


Ta mã hóa 2 lần liên tiếp nó sẽ quay lại plaintext lúc đầu.
Ví dụ khóa yếu 2 : FE FE FE FE FE FE FE FE

Cũng như khóa trên Encrypt 2 lần sẽ ra plaintext


Và có 2 khóa yếu nữa là : E0 E0 E0 E0 F1 F1 F1 F1 và 1F 1F 1F 1F 0E 0E 0E 0E
Câu 4 : Mô tả các hàm trong mã hoá AES. Cho ví dụ.
1.

-

-

Mô tả các hàm trong mã hóa AES
Ta có quá trình mã hóa với 4 hàm AddRoundKey, ShiftRows, MixColumns,
SubBytes
SubBytes:
Các byte được thế thông qua bảng tra S-box. Đây chính là quá trình phi
tuyến của thuật toán

Trong bước SubBytes, mỗi byte được thay thế bằng một byte theo bảng
tra, S; bij = S(aij).

ShiftRows:
Trong AES, hàng đầu được giữ nguyên. Mỗi byte của hàng thứ 2 được dịch
vòng trái một vị trí. Tương tự, các hàng thứ 3 và 4 được dịch vòng 2 và 3 vị
trí. Do vậy, mỗi cột khối đầu ra của bước này sẽ bao gồm các byte ở đủ 4 cột
khối đầu vào


-

MixColumns:
Bốn byte trong từng cột được kết hợp lại theo một phép biến đổi tuyến tính
khả nghịch. Mỗi khối 4 byte đầu vào sẽ cho một khối 4 byte ở đầu ra với
tính chất là mỗi byte ở đầu vào đều ảnh hưởng tới cả 4 byte đầu ra Mỗi cột
được xem như một đa thức c(x) = 3x^2 + x^2 + x(modulo x^4 + 1) trong
trường hữu hạn và được nhân với đa thức. Vì thế, bước này có thể được xem
là phép nhân ma trận trong trường hữu hạn.


Trong bước MixColumns, mỗi cột được nhân với một hệ số cố định c(x).
-

AddRoundKey:
khóa con được kết hợp với các khối. Khóa con trong mỗi chu trình được tạo
ra từ khóa chính với quá trình tạo khóa con Rijndael; mỗi khóa con có độ dài
giống như các khối. Quá trình kết hợp được thực hiện bằng cách XOR từng
bít của khóa con với khối dữ liệu.



Trong bước AddRoundKey, mỗi byte được kết hợp với một byte trong khóa
con của chu trình sử dụng phép toán XOR (⊕).

BÀI 4 : MÃ HÓA KHÓA CÔNG KHAI
Câu 1 : Hacker có thể lợi dụng điểm yếu trong giao thức trao đổi khoá DiffieHellman để thực hiện một cuộc tấn công Man-in-the-Middle là một cuộc tấn công


mà kẻ tấn công bí mật chuyển tiếp và có thể thay đổi giao tiếp giữa hai bên tin rằng
họ đang trực tiếp giao tiếp với nhau.
1.

2.

Mô tả cuộc tấn công
Ví dụ : Alice hỏi Bob về khóa công khai của mình . Nếu Bob gửi chìa khóa
công khai cho Alice, Nhưng Hacker có thể ngăn chặn nó Hacker gửi một
thông điệp giả mạo Bob đó là khóa công khai của Hacker và Alice không
biết rang đó là khóa của Hacker và tin đó là của Bob và Alice mã hóa
plaintext bằng khóa của Hacker và gửi cho Bob. Hacker lại chặn lại và giải
mã bằng khóa riêng của Alice và thay đổi nó và mã hóa lại bằng khóa của
Bob gửi cho alice lúc đầu Bob nhận được và tin đó là của Alice.
Vẽ hình minh họa

Câu 2 : Cho p = 13.
a.

Chứng minh rằng a = 2 là một primitive root modulo p. Sử dụng hai tham số
này để xây dựng một hệ thống trao đổi khoá Diffie-Hellman.



- Để chứng minh a là một primitive root modulo p thì ta chứng mình
ap-1-1 chia hết cho p còn tất cả các số a-1, a2-1,a3-1, …, ap-2-1 không
chia hết cho p

-

b.

Vậy a = 2 là một primitive root modulo p
Sử dụng hai tham số này để xây dựng một hệ thống trao đổi khoá DiffieHellman
Với p = 13 và g = 2
Alice chon a = 6
Cho Alice chọn A = g^a mod p
A = 2^6 mod 13 = 12
Bob chọn b = 5
Cho Bob chọn B = g^b mod p
B = 2^5 mod 13 = 6
Khi đã có 2 số Alice và Bob lần lượt gửi cho nhau số của mình
Tình khóa bí mật:
Alice K = B^a mod p = 6^6 mod 13 = 12
Bob K = A^b mod p = 12^5 mod 13 = 12
Nếu public key của Alice là YA = 7, giá trị private key XA của cô ấy là bao
nhiêu?
Nếu public key của Alice là YA = 7 thì XA cuar cô ấy =
YA = 2^x mod 13 = 7 => x = 11(với các số nhỏ hơn 20)


c. Nếu public key của Bob là YB = 11, giá trị private key XB của anh ấy?
YB = 2^x mod 13 = 11 = > x = 7 và 19 ( với các số nhỏ hơn 20)


Câu 3 : Viết ứng dụng mô phỏng giao thức trao đổi khoá Diffie – Hellman


Cấu 4 : Cho n = 187 = 11 x 17.
a.

b.

c.

Cho e = 7, M = 89. Tính giá trị RSA ciphertext C.
C = M^e mod n
C = 89^7 mod 187
C = 166
Từ C tính được ở (a), tính toán plaintext M.
ta có : phi(n) = (p-1)(q-1) = (11-1)(17-1) = 160
d = (x*phi(n) + 1)/e = (x*160 +1)/7 d là số nguyên dương cho x = 1 => d
= 23 thỏa mãn
plaintext M = C^d mod n = 166^23 mod 187 = 89
vậy Plaintext M = 89
Cho e = 7, M = 88. Tính toán giá trị RSA ciphertext C. C có thể sử dụng
n = 187? Giải thích.
Ta có công thức : C = M^e mod n = 88^7 mod 187 = 11 => C = 11

Câu 5 : Alice sử dụng phương pháp dưới đây để mã hoá văn bản rõ (plaintext
messages) tiếng Anh với toàn các ký tự viết hoa:
a. Ánh xạ mỗi ký tự viết hoa đến các số từ 100 đến 125; cụ thể là, ánh xạ A thành
100, B thành 101, ..., và Z thành 125.
b. Sau đó cô ấy mã hoá các số nguyên này sử dụng các giá trị lớn của n và e.

c. Phương pháp này có an toàn? Giải thích.
Bài làm : Phương pháp này không an toàn Vì ánh xạ 26 ký tự từ 100 đến 125 cho
các chữ từ A,B…Z với các cặp sô n và e không phù hợp làm cho Hacker dễ tìm
kiếm plaintext và hacker có thể tìm plaintext qua so sách C = M^e mod n với 26 ký
tự
Câu 6 : Viết ứng dụng mô phỏng giải thuật mã hoá RSA.
Câu 7 : Mô tả và cho ví dụ về các hình thức tấn công trên mã hoá RSA:
a.

Attack on Stereotyped Messages

Giả sử plaintext m bao gồm hai phần: một mảnh được biết đến B = 2kb, và một
phần không rõ x. Nếu mã này được mã hóa RSA với số mũ là 3, c ciphertext c
được cho bởi c = m^3 = (B + x) ^3 (mod N). Nếu chúng ta biết B, c và N chúng ta
có thể áp dụng các kết quả trước đó với đa thức p (x) = (B + x)^ 3 - c, và phục hồi
x0 thỏa mãn p (x0) = (B + x0)^ 3 - c ≡ 0 (Mod N), miễn là một x0 tồn tại với | x0 |


các bit quan trọng nhất của tin nhắn m chứ không phải là các bit ít quan trọng nhất.
b.

Attack on Small Secret Exponents
Nó được biết rằng có một phương pháp hiệu quả để giải mã / ký kết với RSA
khi số mũ bí mật d nhỏ modulo p-1 và q-1. Chúng ta gọi một số lũy thừa d một
số nguyên CRT nhỏ. Đây là một trong những vấn đề chính mở trong cuộc tấn
công RSA cho dù có cuộc tấn công thời gian đa thức cho các số mũ CRT nhỏ,
tức là kết quả có thể được coi là tương đương với Wiener và Boneh-Durfee ràng
buộc cho nhỏ d. Tại Crypto 2002, tháng 5 có thể trình bày một giải pháp riêng
trong trường hợp môđun RSA N = pq với các yếu tố không cân bằng p và q.

Dựa trên phương pháp của Coppersmith, ông đã chỉ ra rằng có một cuộc tấn
công thời gian đa thức miễn là q thường mong muốn với các yếu tố cân bằng nguyên tố. Chúng ta cũng trình bày
kết quả thứ hai cho số nguyên tố RSA cân bằng trong trường hợp số mũ công
cộng e nhỏ hơn đáng kể so với N. Nói chính xác hơn, chúng ta chỉ ra rằng có
một cuộc tấn công thời gian đa thức nếu dp, dq≤min ((N / e) 25, N14} dp,
dq≤min {(N / e) 25, N14}. Phương pháp này có thể được sử dụng để tấn công
hai biến thể RSA nhanh được đề xuất gần đây bởi Galbraith, Heneghan,
McKee, và bởi Sun, Wu

BÀI 5 : CHỨNG THỰC DỮ LIỆU
Câu 1: Tìm hai câu tiếng Anh có ý nghĩa khác nhau nhưng có cùng giá trị băm với
16-bit XOR-hash function H⊕.
1.
2.

“He likes you but I hate you”
“He hates you but I like you”

Câu 2 : Nêu tên một số ứng dụng có sử dụng chữ ký số nhằm đảm bảo an toàn
thông tin.


Câu 3 : Tìm 3 phần mềm có kèm theo mã băm, kiểm tra mã băm (dùng phần mềm
hoặc website) để suy ra độ tin cậy của các phần mềm này.
1.

Phần mền Oracle_VM_VirtualBox_Extension_Pack-5.1.22-115126.vbox-extpack
Có mã MD5 là 78b01ef9443f0bb1e31489ee7855135a


Có mã SHA256 là :
244e6f450cba64e0b025711050db3c43e6ce77e12cd80bcd08796315a90c8aaf

Kiểm tra bằng phần mền hash Calc


2.

Phần mền MSSQL 2016
Mã MD5 là : 9d9353f15dddd00acdfb334212af4049


Câu 4 : Tìm 3 chứng chỉ số đính kèm theo trên các trang web có yêu cầu bảo mật
cao
1.

Google.com

2.

/>

3.

/>

Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay
×