1. Trang chủ
  2. » Giáo Dục - Đào Tạo

mật mã học báo cáo thực hành lab 4

11 2 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Báo cáo thực hành Lab 4
Tác giả Phạm Mạnh Kha
Người hướng dẫn TS. Nguyễn Ngọc Tự
Trường học ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
Chuyên ngành Mật mã học
Thể loại Báo cáo thực hành
Năm xuất bản 2024
Thành phố Tp. Hồ Chí Minh
Định dạng
Số trang 11
Dung lượng 0,96 MB

Nội dung

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TINMẬT MÃ HỌCBÁO CÁO THỰC HÀNH LAB 4GVHD: TS... Hash function+ Sử dụng thư viện OpenSSL+ Các hàm SHA2, SHA3 nhận đầu vào là message const char *Input , me

Trang 1

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN

MẬT MÃ HỌC BÁO CÁO THỰC HÀNH LAB 4

GVHD: TS Nguyễn Ngọc Tự

Lớp: NT219.O22.1 Sinh viên thực hiện:

Phạm Mạnh Kha - 22520600

□□ Tp Hồ Chí Minh, 02/2024 □□

Trang 2

NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN

……., ngày…… tháng……năm 2024

Người nhận xét

(Ký tên và ghi rõ họ tên)

Trang 3

Ⅰ Cấu hình máy tính

CPU: Intel® Core™ i5-10210U CPU @ 1.60GHz 4 nhân 8 luồng

RAM: 12Gb

Graphic: Intel UHD 620

OS: Ubuntu 22.04 & Window 11

Disk: 512Gb

Thực

1 Hash function

+ Sử dụng thư viện OpenSSL

+ Các hàm SHA2, SHA3 nhận đầu vào là message ( const char

*Input ), message file nếu có (const char *Inputfile) , và output file nếu

có ( const char* Outputfile )

+ Các hàm SHAKE128 SHAKE256 nhận đầu vào là message ( const char *Input ), message file nếu có (const char *Inputfile) , output file nếu có ( const char* Outputfile ), và output length.

Hàm SHA224

Trang 4

Các bước thực hiện: Sử dụng python và thư viện pyqt6

 Tạo file so từ code C++

 Lập trình Python để tạo các hàm có thể gọi các hàm từ code C++

 Lập trình giao diện, kết nối các hàm với các button, lineedit…

Giao diện thực hiện hàm SHA224, với input là file “test.txt”, output là file

“output.txt” Các tham số không dùng đến thì nhập là “0”

Giao diện thực hiện hàm SHA224, với input nhập từ người dùng và xuất ra kết quả ( không lưu vào file ):

Trang 5

Giao diện thực hiện hàm SHAKE128, với input nhập vào từ người dùng, d = 64:

Trang 6

1.3 So sánh khi chạy trên Window và Linux

Trang 7

Inputsize Function Window Linux

2MB

SHA3-224 0.002 0.005107 SHA3-256 0.002 0.005141 SHA3-384 0.003 0.005211

SHAKE256 0.008 0.005298

chậm hơn các thao tác tương ứng trên Window một chút

không có nhiều khác biệt trên cả 2 hệ điều hành

2 PKI and Digital Certificate

2.1 Mô tả

Sử dụng thư viện OpenSSL, người dùng chọn chứng chỉ cần kiểm tra thông tin và format (DER, PEM) của chứng chỉ, sau đó các thông tin của chứng chỉ hợp lệ sẽ được xuất ra màn hình

Trang 8

3 Collision and length extension attacks on Hash functions

3.1 Two collision messages have the same prefix string:

Sử dụng md5_fastcoll để tạo ra 2 file có chung mã hash MD5 từ

prefix.txt:

Trang 9

3.2 Two different C++ programs but have the same MD5:\

Các bước thực hiện:

B1: Biên dịch chương trình thành file o

B2: Sử dụng bless để tìm offset (12320 theo decimal) của vị trí 0x41 (A) xuất hiện

Trang 10

B3: Sử dụng offset để tạo file prefix và suffix

B4: Dùng md5_fastcoll để tạo ra file1, file2

B5: Tạo testcode1, testcode2 có chung mã băm

Trang 11

Sử dụng hashpump với các tham số:

message: thisismessage

key: thisisthekeyiuse, length = 16

M = thisisthekeyiusethisismessage

pad: padding

Ngày đăng: 15/07/2024, 16:34

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w