You are on page 1of 17

Nhân bản – Phụng sự – Khai phóng

GIỚI THIỆU VỀ
CRYPTOGRAPHY
CRYPTOGRAPHY LÀ GÌ?

Trong tiếng Hy Lạp là kryptos có nghĩa là ẩn.


Cryptography (mật mã học) là hoạt động nghiên cứu về các kỹ thuật truyền thông an toàn, chỉ
cho phép người nhận và người gửi có thể đọc được nội dung bên trong thông điệp đó. Có thể hiểu
một cách đơn giản: mã hóa là hành động xáo trộn những nội dung trong 1 thông điệp nhằm ẩn nội
dung thông điệp đó đi, chỉ có bên nhận và gửi mới có thể đọc được nội dung.
CÁC DẠNG MÃ HÓA TRONG CRYPTOGRAPHY

Cryptography sử dụng các thuật toán mã hóa để chuyển đổi thông tin từ
dạng rõ ràng thành dạng mã hóa, và ngược lại từ dạng mã hóa thành dạng
rõ ràng. Có 4 dạng mã hóa chính:
 Mã hóa đối xứng (Symmetric Encryption)
 Mã hóa bất đối xứng (Asymmetric Encryption)
 Hàm băm (Hashing)
 Chữ ký số (Digital signatures)
CHỨC NĂNG CỦA CRYPTOGRAPHY

 Đảm bảo tính bảo mật, quyền riêng tư không ai có thể hiểu được, đọc được tin nhắn ngoại trừ
người dự bị.
 Cryptography có tính xác thực bởi trong quá trình sử dụng nó sẽ xác minh danh tính với 1 người.
 Chức năng trao đổi khóa giữa người gửi và người nhận, hay còn gọi là phương thức chia sẻ các
khóa mật mã.
 Tính năng bảo mật hoàn hảo tức một hệ thống không thể phá vỡ, bản mã truyền tải không có thông
tin, khó thường sẽ dài bằng bản mã để đảm bảo độ bảo mật được tốt nhất trước sự tấn công.
 Chức năng xác thực từ chối. Để đảm bảo tính xác thực tin nhắn, người tham gia trao đổi tin nhắn
sử dụng phương thức này. Tuy nhiên, người gửi có thể từ chối sự tham gia của bên thứ 3 vào tin
nhắn.
BẢNG CHUYỂN ĐỔI
BÀI TẬP VÍ DỤ 1

ASCII là tiêu chuẩn mã hóa 7 bit cho phép biểu diễn văn bản bằng cách sử dụng số nguyên 0 -127.
Sử dụng mảng số nguyên bên dưới, chuyển đổi các số thành ký tự ASCII tương ứng của chúng để lấy
cờ.
[99, 114, 121, 112, 116, 111, 123, 65, 83, 67, 73, 73, 95, 112, 114, 49, 110, 116, 52, 98, 108, 51, 125]

crypto{ASCII_pr1nt4bl3}
MÃ HÓA ĐỐI XỨNG

Mã hóa đối xứng là phương pháp mã hóa mà key mã hóa và key giải mã là như nhau. Đây là
phương pháp thông dụng nhất hiện nay dùng để mã hóa dữ liệu truyền nhận giữa hai bên. Vì
chỉ cần có secret key là có thể giải mã được, nên bên gửi và bên nhận cần làm một cách nào
đó để cùng thống nhất về secret key.
MÃ HÓA ĐỐI XỨNG

Phương Pháp
Cổ Điển Hiện Đại Thuật Toán Mã Hóa

Thay Thế DES/3DES

Mã hóa hoán vị AES

Mã hóa XOR A5/1

Sách hoặc khóa chạy RC4


ƯU ĐIỂM VÀ NHƯỢC ĐIỂM CỦA MÃ HÓA ĐỐI XỨNG
Ưu điểm:
• Đơn giản, tức là các yêu cầu về phần cứng không phức tạp;
• Thời gian tính toán nhanh (tốc độ mã hóa và giải mã nhanh);
• Có tính hiệu quả, thông thường hệ số mở rộng bản tin bằng 1 (số bit đầu ra mã
hóa bằng với số bit đầu vào);
• Dễ sử dụng cho các dịch vụ nhạy cảm với độ trễ và các dịch vụ di động.
Nhược điểm:
• Yêu cầu phải dùng kênh an toàn để truyền khóa: chi phí cao và việc thiết lập kênh
an toàn là khó khăn;
• Việc tạo khóa và giữ bí mật khóa rất phức tạp;
• Số lượng khóa cần tạo ra và lưu trữ lớn;
• Khó khăn trong việc xây dựng các dịch vụ an toàn khác như các dịch vụ đảm bảo
tính toàn vẹn dữ liệu, các dịch vụ xác thực và chữ ký số.
MÃ HÓA AFFINE

Mật mã Affine là một dạng mật mã thay thế dùng một bảng chữ cái, trong đó mỗi chữ
cái được ánh xạ tới một số sau đó mã hóa qua một hàm số toán học đơn giản

y = e (x) = ax + b mod 26

Trong đó,
y là giá trị số của ký tự đã được mã hóa
x là giá trị số của ký tự gốc cần mã hóa
a và b là các tham số của hàm Affine
mod 26 đảm bảo kết quả thu được nằm trong khoảng từ 0 – 25
BÀI TẬP VÍ DỤ 2

Mã hóa “XINCHAO” bằng mã hóa Affine với a = 5, b = 8.


GIẢI:

Áp dụng công thức: y = ax + b mod 26


Ta có, y = 5 * 23 + 8 mod 26 = 19
y = 5 * 8 + 8 mod 26 = 22
y = 5 * 13 + 8 mod 26 = 21
y = 5 * 2 + 8 mod 26 = 18
y = 5 * 7 + 8 mod 26 = 17
y = 5 * 0 + 8 mod 26 = 8
y = 5 * 14 + 8 mod 26 = 0
BÀI TẬP VÍ DỤ 3

Giải hệ phương trình tuyến tính trong mật mã affine để tìm giá trị của hai hệ số a và b.
Một bản mã đã được tạo bằng mật mã affine. Chữ cái thường gặp nhất của bản mã là
“B” và chữ cái thường xuyên thứ hai của bản mã là “U”.

Chữ cái thường gặp nhất trong văn bản gốc là e (=4) và chữ cái thường xuyên thứ
hai là t (=19). Lưu ý rằng B = 1; U = 20. Khi đó ta có các phương trình sau:
1 = (4a + b) mod 26
20 = (19a + b) mod 26
GIẢI:
MÃ HÓA VIGENERE

Với sự phát hiện ra quy luật phân bố tần suất, các nhà phá
mã đang tạm thời chiếm ưu thế trong cuộc chiến mã hóa-
thám mã. Cho đến thế kỷ thứ 15, một nhà ngoại giao người
Pháp tên là Vigenere đã tìm ra phương án mã hóa thay thế
đa bảng.
Trong Vigenere Cipher, người ta dùng tất cả 26 bảng thế
thu được từ bảng gốc chữ cái tiếng Anh mà dịch đi từ 0-25
vị trí. Sự hoà trộn này có quy luật hoàn toàn xác định bởi
khoá. Mỗi chữ của khoá sẽ xác định mỗi bảng thế được
dùng.
Bản chất của hệ mã Vigenere là hệ mã dịch chuyển trong
một vòng, dịch từng đoạn.
BÀI TẬP VÍ DỤ 4:

Cho m = 6 và keywork là CIPHER


Suy ra, khóa k = (2, 8, 15, 7, 4, 17)
Cho bản rõ: thiscryptosystemisnotsecure

Bản mã : vpxzgi axivwp ubttmj pwizit wzt


TÀI LIỆU THAM KHẢO

[1] https://viblo.asia/p/cryptography-no-la-gi-va-hoat-dong-nhu-the-nao-3Q75wkeD5Wb
[2] https://wiki.tino.org/cryptography-la-gi/

You might also like