1. Trang chủ
  2. » Giáo án - Bài giảng

Bài giảng cơ sở lý thuyết mật mã ( combo full slides 4 chương )

81 3 0

Đ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 đề Cơ Sở Lý Thuyết Mật Mã
Trường học Học Viện Kỹ Thuật Mật Mã
Chuyên ngành An Toàn Thông Tin
Định dạng
Số trang 81
Dung lượng 25,43 MB
File đính kèm Slide.zip (31 MB)

Nội dung

Bài giảng cơ sở lý thuyết mật mã ( combo full slides 4 chương ) Bài giảng cơ sở lý thuyết mật mã ( combo full slides 4 chương ) Bài giảng cơ sở lý thuyết mật mã ( combo full slides 4 chương ) Bài giảng cơ sở lý thuyết mật mã ( combo full slides 4 chương ) Bài giảng cơ sở lý thuyết mật mã ( combo full slides 4 chương )

Trang 1

CƠ SỞ LÝ THUYẾT MẬT MÃ

Bộ môn Khoa Học An Toàn Thông Tin

******

Trang 2

Gồm 4 chương:

1

Nhập môn mật

mã học

2

Mật mã khoá

Hàm băm, xác thực

và chữ

kí số

4

Trang 3

Nguồn tin

tương tự

Biến đổi A/D

Mã bảo mật

Kênh truyền (tạp

âm, đa đường, giao thoa, nhiễu, nghe trộm, …)

Giải mã kênh

Giải mã bảo mật

Biến đổi D/A

Giải mã nguồn Nhận tin

Trang 4

Mật mã (Cryptography)

Mã hóa (Encryption)

Giải mã (Decryption)

Phá mã (Deciphering)

Thám mã, Phân tích mã (Cryptanalysis)

Hệ mật (Cipher, Ciphercode)

Khóa mật mã

(Cryptographic Key)

Bản rõ (Plaintext)

Bản mã (Ciphertext)

Độ an toàn

(Cryptographic

Lược đồ mật mã

Trang 6

Các ký tự của bản rõ và bản mã thường thuộc tập các

ký tự của ngôn ngữ thông thường như tiếng Việt, tiếng Anh,…

Ta ký hiệu tập ký tự của tiếng Anh là A, tức A = {a,

Trang 8

Hệ mật đối xứng (Hệ mật khóa bí mật)

Hệ mật phi đối xứng (Hệ mật khóa công khai)

( ) ( )

Trang 9

Cách hiểu truyền thống: giữ bí mật nội dung trao đổi

Alice và Bob trao đổi với nhau trong khi Oscar tìm cách “nghe lén”

Bob

Alice

Oscar

Mật mã học???

Trang 10

Bảo mật thông tin (Secrecy)

Đảm bảo thông tin được giữ bí mật.

Toàn vẹn thông tin (Integrity)

Bảo đảm tính toàn vẹn thông tin trong liên lạc hoặc giúp phát hiện rằng thông tin đã bị sửa đổi.

Xác thực (Authentication)

Xác thực các đối tác trong liên lạc và xác thực nội dung thông tin trong liên lạc.

Chống lại sự thoái thác trách nhiệm (Non-repudiation)

Đảm bảo một đối tác bất kỳ trong hệ thống không thể từ chối trách nhiệm về hành động mà mình đã thực hiện

Trang 11

Khoa An Toàn Thông Tin

Bộ Môn: Khoa Học An Toàn Thông Tin

về hệ mật khóa

3

Các

hệ mật thay thế đa biểu

4

Các

hệ mật thay thế không tuần hoàn

5

Các hệ mật chuyển vị

6

Chuẩn

mã dữ liệu DES

7

Chuẩn

mã dữ liệu tiên AES

4

Các

hệ mật thay thế không tuần hoàn

5

Các hệ mật chuyển vị

6

Chuẩn

mã dữ liệu DES

7

Chuẩn

mã dữ liệu tiên AES

• Từ bản mã thu được giải mã để thu bản rõ ban đầu

Các hệ mật thay thế đơn biểu

Trang 12

Các hệ mật thay thế đơn biểu

2 Mã thay thế (Substitution Cipher):

P= C = Z26, K là tập tất cả các hoán vị trên Z26, với mỗi phép hoán

vị ߨ ∈ ܭ, ta định nghĩa:

ݕ = ݁గݔ = ߨ ݔ

ݔ = ݀గݕ = ߨିଵ(ݕ)trong đó ߨିଵlà hoán vị ngược của ߨ

8

Các hệ mật thay thế đơn biểu

• Ví dụ: mã hoá bản rõ gap nhau chieu thu bay

• Giải mã bản mã thu được

Các hệ mật thay thế đơn biểu

Cho P = C = Z 26 K = {(a,b) ∈ Z26x Z26 | UCLN (a, 26) = 1}

Với k = (a, b) ∈ K ta định nghĩa:

về hệ mật khóa

3

Các

hệ mật thay thế đa biểu

4

Các

hệ mật thay thế không tuần hoàn

5

Các hệ mật chuyển vị

6

Chuẩn

mã dữ liệu DES

7

Chuẩn

mã dữ liệu tiên AES

Trang 13

4 Hệ mã Vigenere (Vigenere Cipher):

• Nhận xét:

– Số khoá: 26m

⇒ Tấn công tìm khoá vét cạn là không khả thi

Các hệ mật thay thế đa biểu

Cho m là số nguyên dương P = C =K = (ܼଶ଺)௠ Với

• Hãy mã hoá bản rõ trên

• Giải mã bản mã vừa thu được

Các hệ mật thay thế đa biểu

– Như vậy có chữ mã khác nhau cho cùng một chữ của bản rõ

– Được sáng tạo bởi Charles Wheastone vào

năm 1854 và mang tên người bạn là Baron

Trang 14

• Quy tắc sắp xếp:

Các hệ mật thay thế đa biểu

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.

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.

20

Các hệ mật thay thế đa biểu

• Giả sử sử dụng từ khoá MONARCHY Lập ma trận khoá Playfair tương ứng như sau:

• Cách mã hóa và giải mã:

– 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 Ví dụ, trước khi mã

balloon ” biến đổi thành “ ba lx lo on ”.

Các hệ mật thay thế đa biểu

• Nếu cả hai chữ trong cặp đều rơi vào cùng mộthàng:

– 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)

– 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ậnkhóa

– Cho từ khóa: “ Charles ” Hãy thiết lập ma trận

khóa Playfair tương ứng.

– Mã hóa bản rõ:

Hen gap nhau vao chieu thu bay.

– Giải mã bản mã vừa thu được.

6 Hệ mật Hill (Hill Cipher):

– Lester S.Hill đưa ra năm 1929

– Ý tưởng: lấy m tổ hợp tuyến tính của m kí tự

trong một phần tử bản rõ để tạo ra một phần tử

gồm m kí tự trong một phần tử của bản mã.

Các hệ mật thay thế đa biểu

Trang 15

• Mô tả:

Các hệ mật thay thế đa biểu

Cho m là số nguyên dương cố định Cho P = C = (Z26)m.

• Vì các phép toán tính theo modulo 26 nên phải

có điều kiện: UCLN(detA, 26) = 1

a a a a A

.)(det

a a a a A A

về hệ mật khóa

3

Các

hệ mật thay thế đa biểu

4

Các

hệ mật thay thế không tuần hoàn

5

Các hệ mật chuyển vị

6

Chuẩn liệu DES

7

Chuẩn liệu tiến AES

• Bản rõ:we are discovered save yourself

– Hãy mã hoá bản rõ trên

– Giải mã bản mã thu được

Các hệ mật thay thế không tuần hoàn

?

Trang 16

Các hệ mật thay thế không tuần hoàn

Cho n ≥ 1 P = C =K = (ܼଶ)௡ Với khoá k = (k1, k2, …,

về hệ mật khóa

3

Các

hệ mật thay thế đa biểu

4

Các

hệ mật thay thế không tuần hoàn

5

Các hệ mật chuyển vị

6

Chuẩn liệu DES

7

Chuẩn liệu tiến AES

35

• Ý tưởng:

– Các chữ trong bản rõ không được thay thế

bằng các chữ khác mà chỉ thay đổi vị trí giữa

Trang 17

Hengap nhauva ochieu thubay

– B2: Mỗi nhóm 6 kí tự sẽ được sắp xếp lại

theo theo phép HV π (3, 5, 1, 6, 4, 2), ta có:

Nahpge avnauh heouic uatybh

– Khi đó ta có bản mã:

Nahpgeavnauhheouicuatybh Các hệ mật chuyển vị

– Tức là với bản mật mã có thể dễ dàng thu được (trêncác kênh truyền công cộng) người thám mã phảiphát hiện được nội dung thông tin được che dấu trong bản mật mã đó, mà tốt nhất là tìm được bản tin rõ gốc của bản mật mã đó

Thám mã các hệ mật cổ điển

41

• Vấn đề thám mã các hệ mật

– Tình huống thường gặp là bản thân sơ đồ hệ thống

mật mã, kể cả phép mã hóa và giải mã (E và D) không

Trang 18

• Một số nhận xét

– Ta vẫn giả thiết bản rõ cũng như bản mã đều được xây

dựng trên bảng ký tự tiếng Anh và hơn nữa các thông

báo là các văn bản tiếng Anh

– Như vậy, ta luôn có ܲ = ܥ = ܼଶ଺hay và có thêm

thông tin làcác bản rõ tuân theo các quy tắc từ pháp và

cú pháp của ngôn ngữ tiếng Anh

– Các kết quả chủ yếu được sử dụng nhiều nhất trong

thám mã là quy tắc thống kê tần suất xuất hiện các ký tự

hay các bộ đôi, bộ ba, … ký tự liên tiếp trong văn bản

45

• Một số nhận xét

– Trên cơ sở phân tích các số liệu thống kê từ một số

lượng rất lớn các văn bản thư từ, sách vở, báo chí,…

người ta đã thu được những kết quả và được tổng hợp

lại như sau:

• …

• Ba mươi bộ đôi ký tự có xác suất xuất hiện cao nhất là:th, he,

in, er, an, re, ed, on, es, st, en, at, to, nt, ha, nd, ou, ea, ng, as,

or, ti, is, et, it, ar, te, se, hi, of

• Mười hai bộ ba ký tự có xác suất xuất hiện cao nhất là:the, ing,

and, her, ere, ent, tha, nth, was, eth, for, dth

– Sau đây là bảng thống kê tần suất của các ký tự

Thám mã các hệ mật cổ điển

46

47

• Nhận xét về các hệ mật thay thế đơn biểu:

– Mỗi ký tự của bản rõ được ánh xạ đến một ký

tự duy nhất của bản mã

– Các đặc trưng về ngôn ngữ, tần suất xuất

hiện của các chữ trong bản rõ và chữ tương

ứng trong bản mã là như nhau

– Bằng cách thống kê trên bản mã:

• Đếm tần suất của các chữ trong bản mã

• So sánh với các giá trị đã biết

• Tìm kiếm các chữ đơn, bộ đôi và bộ ba hay dùng; và các bộ ít dùng

• Dựa vào bảng tần suất xuất hiện của các chữ cái để đoán và tìm

ra bản rõ

Thám mã các hệ mật cổ điển

Trang 19

• Thám mã Apphin bằng pp thống kê tần suất:

– Nếu biết 2 cặp bản rõ, bản mã (x, y) khác nhau

ta có được hệ 2 phương trình tuyến tính để từ

• Thám mã Apphin bằng pp thống kê tần suất:

– Như vậy có thể phán đoán r là mã của e, d là mã

• Ví dụ: Giả sử ta có bản mã bởi hệ mật apphin

• Thám mã bằng phương pháp thống kê tần suất?

Trang 20

• Quay lại bước 2

– Giả sử G là mã hóa của T

of his not attacking but rather on the fact that wehave made our position unassailable”

59

• Thám mã đối với hệ mật Hill:

– Hệ mật Hill khó bị khám phá bởi việc thám mã

chỉ dựa vào bản mã

– Nhưng lại là dễ bị khám phá nếu có thể sử dụng

phương pháp thám mã kiểu biết cả bản rõ

Thám mã các hệ mật cổ điển

60

• Thám mã đối với hệ mật Hill:

– Trước hết ta giả thiết là đã biết giá trị m

– Mục đích của thám mã là phát hiện được khóa mật mã k

Trong trường hợp này là một ma trận vuông cấp m

có các thành phần thuộc Z 26

Thám mã các hệ mật cổ điển

Trang 21

• Thám mã đối với hệ mật Hill:

– Ví dụ: Giả sử mã Hill được sử dụng với m = 2,

có bản mã là pqcfku và biết bản rõ tương ứng là

• Thám mã đối với hệ mật Hill:

– Khóa k được xem là đúng nếu ngoài m cặp bộ m dùng để tìm khóa, k vẫn nghiệm đúng với các cặp bộ m khác mà ta có thể chọn để thử.

5

Các hệ mật chuyển vị

6

Chuẩn liệu DES

7

Chuẩn liệu tiến AES

66

1

Giới thiệu

về hệ mật khóa

3

Các

hệ mật thay thế đa biểu

4

Các

hệ mật thay thế không tuần hoàn

5

Các hệ mật chuyển vị

6

Chuẩn liệu DES

7

Chuẩn liệu tiến AES

Trang 22

Khoa An Toàn Thông Tin

Bộ Môn: Khoa Học An Toàn Thông Tin

Các hệ mật khoá bí mật.

2

• Giới thiệu về DES

• Thuật toán DES

• Các chế độ hoạt động của DES

• Double DES và Triple DES

Chuẩn mã dữ liệu DES

3

• Giới thiệu về DES

– Năm 1972, Viện tiêu chuẩn và công nghệ quốc gia Hoa

kỳ (National Institute of Standards and

Technology-NIST) đặt ra yêu cầu xây dựng một thuật toán mã hoá

bảo mật thông tin với yêu cầu là dễ thực hiện, sử dụng

được rộng rãi trong nhiều lĩnh vực và mức độ bảo mật

cao

– Năm 1974, IBM giới thiệu thuật toán Lucifer, thuật toán

này đáp ứng hầu hết các yêu cầu của NIST

– Sau một số sửa đổi, năm 1976, Lucifer được NIST công

nhận là chuẩn quốc gia Hoa kỳ và được đổi tên thành

Data Encryption Standard (DES)

• Sự xuất hiện của DES đã tạo nên một làn sóng nghiên cứu trong giới khoa học về lĩnh vực mật mã học, đặc biệt là các phương

Schneier viết:

biết trước rằng chi tiết của thuật toán sẽ được công bố để mọi người có thể viết chương trình phần mềm, họ sẽ không bao giờ đồng ý DES đã tạo nên nguồn cảm hứng nghiên cứu trong lĩnh vực thám mã hơn bất kỳ điều gì khác: Giới khoa học đã có một thuật toán để nghiên cứu - thuật toán mà NSA khẳng định là an toàn."

4

5

• DES là thuật toán mã hoá bảo mật được sử dụng rộng rãi

nhất trên thế giới

• Ở thời điểm DES ra đời ngưòi ta đã tính toán rằng việc

phá được khoá mã DES là rất khó khăn, nó đòi hỏi chi phí

hàng chục triệu USD và tiêu tốn khoảng thời gian rất nhiều

năm

• Cùng với sự phát triển của các loại máy tính và mạng máy

tính có tốc độ tính toán rất cao, khoá mã DES có thể bị phá

trong khoảng thời gian ngày càng ngắn với chi phí ngày

càng thấp Dù vậy việc này vẫn vượt xa khả năng của các

hacker thông thường và mã hoá DES vẫn tiếp tục tồn tại

Gửi và nhân văn bản

Trang 23

• Mô tả DES:

• Thuật toán gồm 3 bước

Chuẩn mã dữ liệu DES

Xâu bit x có độ dài 64 bit, khoá độ dài 56 bit

-Với bản rõ cho trước x

-Tạo xâu x0theo hoán vị cố định ban đầu IP

- k1, k2, …, k16là các xâu bit có độ dài

48 được tính như 1 hàm của khóa k

Áp dụng phép hoán vị ngược IP-1cho

xâu bit R16L16, ta thu được bản mã y Tức

Chuẩn mã dữ liệu DES

Xâu bit A có độ dài 32 Xâu bit J có độ dài 48

Input

xâu bit có độ dài 32 bit Output

Trang 24

• Bước 2: Tính E(A) ⊕ J và viết kết quả thành một chuỗi 8 xâu 6 bit là

Chuẩn mã dữ liệu DES

15

S1S2,…,S8( được gọi là các hộp S ) Với mỗi

• Bước 4: Xâu bit C = C1C2… C8có độ dài

32 được hoán vị theo phép hoán vị cố định P Xâu kết quả là P(C) được xác định

là f(A, J).

Chuẩn mã dữ liệu DES

17

• Phép hoán vị ban đầu IP:

• Bảng này có ý nghĩa là bit thứ 58 của x là bit

đầu tiên của IP(x); bit thứ 50 của x là bit thứ 2

Trang 25

• Mô tả tính bảng khóa từ khóa k.

– Trên thực tế k là một xâu bit độ dài 64, trong

đó có 56 bit khóa và 8 bit kiểm tra tính chẵn lẻ nhằm phát hiện sai.

– Các bit ở các vị trí 8, 16, …, 64 được xác định sao cho mỗi byte chứa một số lẻ các số “1”

Bởi vậy, một sai sót đơn lẻ có thể phát hiện được trong mỗi nhóm 8 bit.

– Các bit kiểm tra bị bỏ qua trong quá trình tính bảng khóa.

Chuẩn mã dữ liệu DES

Trang 26

• Các bước tính bảng khóa DES:

– Với một khoá k 64 bit cho trước, ta loại bỏ các

bit kiểm tra tính chẵn lẻ và hoán vị các bit còn

lại của k theo phép hoán vị cố định PC-1 Ta

– Đầu ra của thuật toán sẽ là bản rõ x.

Chuẩn mã dữ liệu DES

29

• Tính chất của DES

– Tác dụng đồng loạt: Khi ta thay đổi 1 bit trong

khoá sẽ gây ra tác động đồng loạt làm thay đổi nhiều

bit trên bản mã Đây là tính chất mong muốn của khoá

trong thuật toán mã hoá Nếu thay đổi 1 bít đầu vào

hoặc khoá sẽ kéo theo thay đổi một nửa số bít đầu ra

Do đó không thể đoán khoá được Co thể nói rằng

DES thể hiện tác động đồng loạt mạnh

Chuẩn mã dữ liệu DES

30

• Tính chất của DES – Tính chất bù:Ký hiệu ̅ là bù của x theo từng bít,

ta có

– Khóa yếu:DES có 4 khóa yếu

• k được gọi là khóa yếu nếu ( ) =  với mọi x

– Khóa nửa yếu: Có 6 cặp khóa nửa yếu

• Là cặp (k1, k2) sao cho  (  ) =  với mọi x

– DES không là nhóm dưới phép hợp hàm

Chuẩn mã dữ liệu DES

Trang 27

• Sức mạnh của DES – tấn công thời gian:

– Đây là dạng tấn công vào cài đặt thực tế của mã Ở đây sử dụng

hiểu biết về quá trình cài đặt thuật toán mà suy ra thông tin về một

sô khoá con hoặc mọi khoá con Đặc biệt sử dụng kết luận là các

tính toán chiếm khoảng thời gian khác nhau phụ thuộc vào giá trị

đầu vào của nó Do đó kẻ thám mã theo dõi thời gian thực hiện mà

phán đoán về khoá Có thể kẻ thám mã sáng tạo ra các loại card

thông minh phán đoán khoá, mà còn phải bàn bạc thêm về chúng

• Sức mạnh của DES – tấn công thám mã:

– Có một số phân tích thám mã trên DES, từ đó đề xuất xây dựng

một số cấu trúc sâu về mã DES Rồi bằng cách thu thập thông tin

về mã, có thể đoán biết được tất cả hoặc một số khoá con đang

dùng Nếu cần thiết sẽ tìm duyệt những khoá còn lại Nói chung,

đó là những tấn công dựa trên phương pháp thống kê bao gồm:

thám mã sai phân, thám mã tuyến tính và tấn công khoá liên kết

Chuẩn mã dữ liệu DES

32

• Sự khác biệt ở đầu vào cho sự khác biệt ở đầu

ra với một xác suất cho trước.

– Nếu tìm được một thể hiện đầu vào - đầu ra với xác suất cao Thì có thể luận ra khoá con được sử dụng trong vòng đó

– Sau đó có thể lặp lại cho nhiều vòng (với xác suất giảm dần)

– Cặp đúng cho bít khoá như nhau– Cặp sai cho giá trị ngẫu nhiên– Đối với số vòng lớn, xác suất để có nhiều cặp đầu vào 64 bít thoả mãn yêu cầu là rất nhỏ

Chuẩn mã dữ liệu DES

33

Chuẩn mã dữ liệu DES

• Thám mã sai phân: đây là phương pháp

mạnh để phân tích mã khối

– Thám mã sai phân so sánh hai cặp mã có liên

quan với nhau

• Với sự khác biệt đã biết ở đầu vào

• Khảo sát sự khác biệt ở đầu ra

• Khi với cùng khoá con được dùng

• Trong công thức sau với hai đầu vào khác nhau,

vế trái là sự khác biệt mã ở cùng vòng thứ i được

biểu diễn qua sự khác biệt mã ở vòng trước đó i-1

và sự khác biệt của hàm f trong ngoặc vuông

34

• Qui trình thám mã như sau: thực hiện mã hoá lặp lại với cặp bản rõ có XOR đầu vào biết trước cho đến khi nhận được XOR đầu ra mong muốn

kê Cơ sở của phương pháp dựa trên tìm xấp xỉ tuyến tính

• Tìm xấp xỉ tuyến tính với xác suất p= ½

P[i1, i2, , ia] (+) C[j1, j2, , ib] = K[k1, k2, , kc]

trong đó ia, jb, kclà các vị trí bit trong bản rõ, mã, khoá

• Điều kiện trên cho phương trình tuyến tính của các bít khoá

• Để nhận được 1 bít khoá sử dụng thuật toán lân cận tuyến tính

– Sử dụng một số lớn các phương trình thử nghiệm Hiệu

quả cho bởi |p – 1/2|

• Trong quá trình tìm hiểu DES người ta đã hệ thống lại các tiêu

chuẩn thiết kế DES Như báo cáo bởi Copperscmith trong

– Có 3 tiêu chuẩn cho hoán vị P để tăng độ khuếch tán

Chuẩn mã dữ liệu DES

Chuẩn mã dữ liệu DES

Trang 28

• Chế độ quyển mã điện tử (ECB):

– Là cách sử dụng thông thường và đơn giản của

• Ưu và nhược của ECB:

– Lặp trên bản mã được chỉ rõ lặp trên bản tin nếu dóng đúng khối, đặc biệt với hình ảnh, hoặc với bản tin có rất ít sự thay đổi thì sẽ trở thành đối tượng dễ thám mã

– Được sử dụng chủ yếu khi gửi một ít dữ liệu

Chuẩn mã dữ liệu DES

39

• Chế độ liên kết khối mã(CBC):

– Để được khối mã yi ta dùng DES cho không

phải ximà là xiyi-1, tức là ta có

yi=ek(xiyi-1) với mọi i >1

- y0là một vector khởi tạo 64 bit

Chuẩn mã dữ liệu DES

40

• Chế độ CFB và OFB:

– Dùng DES để tạo ra dòng khóa z1, z2,… rồi sau

đó lập mã yi= xizi(i≥1) – Với OFB, z1, z2,… được tạo bởi

• z 0= y0(là vector khởi tạo 64)

• z i = e k (z i-1)

– Với CFB, z1, z2,… được tạo bởi

• y 0là một vector khởi tạo 64 bit

• z i = e k (y i-1 ) (i≥1)

Chuẩn mã dữ liệu DES

41

• Ưu và nhược điểm của CFB

– Được dùng khi dữ liệu đến theo byte/bit Đây là

chế độ dòng thường gặp nhất

– Lỗi sẽ lan ra một vài block sau lỗi

• Ưu điểm và nhược điểm của OFB

– Được dùng khi lỗi phản hồi ngược lại hoặc ở

nơi cần mã trước khi mẩu tin sẵn sàng

– Rất giống CFB, nhưng phản hồi là từ đầu ra của

mã và độc lập với mẩu tin

– Người gửi và người nhận phải đồng bộ, có

phương pháp khôi phục nào đó là cần thiết để

đảm bảo việc đó.

Chuẩn mã dữ liệu DES

42

• Ưu điểm và nhược điểm của OFB

– Được dùng khi lỗi phản hồi ngược lại hoặc ở nơi cần mã trước khi mẩu tin sẵn sàng – Rất giống CFB, nhưng phản hồi là từ đầu ra của mã và độc lập với mẩu tin

– Người gửi và người nhận phải đồng bộ, có phương pháp khôi phục nào đó là cần thiết để đảm bảo việc đó.

Chuẩn mã dữ liệu DES

Trang 29

Chuẩn mã dữ liệu DES

• DES bội hai

2112= 5,1923.1023 phép tính TDES, bởi vậy thực tế khó có thể thám mã thành công.

( )

{DES DES M}

DESC

1 K 1 2 K 1 K

biểu

4

Các

hệ mật thay thế không tuần

5

Các hệ mật chuyển vị

6

Chuẩn

mã dữ liệu

7

Chuẩn

mã dữ liệu tiến

cử viên vào tháng 6 năm 1999 Đến tháng 10 năm 2000, mãRijndael được chọn làm chuẩn mã nâng cao và được xuất bản

là chuẩn FIPS PUB 197 vào 11/2001

• Yêu cầu của AES

– Là mã khối đối xứng khoá riêng

– Kích thước khối dữ liệu 128 bit và độ dài khoá là tùy biến: 128,

192 hoặc 256 bit

– Chuẩn mã mới phải mạnh và nhanh hơn Triple DES Mã mới có

cơ sở lí thuyết mạnh để thời gian sống của chuẩn khoảng 20-30 năm (cộng thêm thời gian lưu trữ)

– Khi đưa ra thành chuẩn yêu cầu cung cấp chi tiết thiết kế và đặc

tả đầy đủ Đảm bảo rằng chuẩn mã mới cài đặt hiệu quả trên cả

C và Java

Chuẩn mã dữ liệu AES

47

Chuẩn mã dữ liệu AES

• Cơ sở toán học của AES: trong AES các phép

toán cộng và nhân được thực hiện trên các byte

trong trường hữu hạn GF(28)

Trong AES đa thức bất khả quy này là:

m(x) = x8 + x4 + x3 + x +1.

• Ví dụ:A = C3H, B = 85Htương ứng vớia(x) = x7 + x6 + x +1 và b(x) = x7 + x2 + 1 Khi đó: C=

A.Bc(x) = a(x).b(x) mod (x8 + x4 + x3 + x +1)c(x) = x7 + x5 + x3+x2+ x hay C = AEH= 10101110

Chuẩn mã dữ liệu AES

Trang 30

– Lặp hơi khác với Fiestel

• Chia dữ liệu thành 4 nhóm – 4 byte

• Thao tác trên cả khối mỗi vòng

• Thiết kế để:

– chống lại các tấn công đã biết

– tốc độ nhanh và nén mã trên nhiều CPU

– Đơn giản trong thiết kế

Chuẩn mã dữ liệu AES

50

• Xử lý khối dữ liệu 128 bit như 4 nhóm của 4 byte: 128 = 4*4*8 bit Mỗi nhóm nằm trên một hàng Ma trận 4 hàng,

4 cột với mỗi phần tử là 1 byte coi như trạng thái được

xử lý qua các vòng mã hoá và giải mã

• Khoá mở rộng thành mảng gồm 44 từ 32 bit w[i]

• Có tùy chọn 9/11/13 vòng, trong đó mỗi vòng bao gồm

– Phép thế byte (dùng một S box cho 1 byte)– Dịch hàng (hoán vị byte giữa nhóm/cột)– Trộn cột (sử dụng nhân ma trận của các cột)– Cộng khoá vòng (XOR trạng thái dữ liệu với khoá vòng)

– Mọi phép toán được thực hiện với XOR và bảng tra, nên rất nhanh và hiệu quả

Chuẩn mã dữ liệu AES

2 Vòng cuối cùng không có phép biến đổi MixColumns

53

• Sau đây ta xét chi tiết hơn các quá trình

mã hoá, sinh khoá và giải mã AES:

– Quá trình mã gồm 4 bước sau:

• 1 AddRoundKey- mỗi byte của khối được kết hợp

với khóa con, các khóa con này được tạo ra từ

quá trình tạo khóa con Rijndael

Chuẩn mã dữ liệu AES

54

• 2 SubBytes - đây là quá trình thay thế (phi tuyến) trong đó mỗi byte sẽ được thay thế bằng một byte khác theo bảng tra

– Phép thê byte đơn giản– Sử dụng một bảng 16 x 16 byte chứa hoán vị của tất cả 256 giá trị

8 bit– Mỗi byte trạng thái được thay bởi byte trên hàng xác định bởi 4 bit trái và cột xác định bởi 4 bit phải

Chuẩn mã dữ liệu AES

–Chẳng hạn {95} được thay bởi hàng 9, cột 5, mà giá trị sẽ là {2A}

–S box được xây dựng sử dụng hoán vị các giá trị trong GF(28) đã được xác định trong chương trước

–Thiết kế để chống mọi tấn công đã biết

Trang 31

byte sang trái

– Hàng 3 dịch vòng quanh 2 byte sang trái

– Hàng 4 dịch vòng quanh 3 byte sang trái

– Giải mã thực hiện dịch ngược lại sang phải

– Vì trạng thái được xử lý bởi cột, bước này

thực chất là hoán vị byte giữa các cột

60

Chuẩn mã dữ liệu AES

• 3 ShiftRows

Trang 32

– Có thể biểu diễn mỗi cột mới là

nghiệm của 4 phương trình để tìm

ra byte mới trong mỗi cột

– Mã yêu cầu sử dụng ma trận

nghịch đảo, với hệ số lớn thì tính

toán khó khăn hơn

– Có các đặc trưng khác của cột như sau:

» Mỗi cột là một đa thức bậc 3 gồm 4 số hạng

» Với mỗi phần tử là một byte tương ứng với phần tử trong GF(28).

» Các đa thức nhân tính theo Modulo (x 4 +1).

• 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

• Cùng với bước ShiftRows, MixColumns đã tạo

ra tính chất khuếch tán cho thuật toán Mỗi cột

được xem như một đa thức trong trường hữu

hạn và được nhân với đa thức

c(x) = 3x3+ x2+ x + 2 (modulo x4+ 1)

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.

Chuẩn mã dữ liệu AES

• 3 trong 4 trường hợp chỉ là XOR chúng cùng nhau

• Mỗi cái thứ 4 có S box kết hợp quay và XOR với hằng số trước đó, trước khi XOR cùng nhau

• Thiết kế chống các tấn công đã biết

Chuẩn mã dữ liệu AES

Trang 33

• Giải mã AES

• Giải mã ngược lại không duy nhất vì các bước

thực hiện theo thứ tự ngược lại

• Nhưng có thể xác định mã ngược tương đương

với các bước đã làm đối với mã

– Nhưng sử dụng ngược lại với từng bước

– Với khoá con khác nhau

• Thực hiện được vì kết quả không thay đổi khi

– Đổi lại phép thế byte và dịch các hàng

– Đổi lại việc trộn các cột và bổ sung khoá vòng

• Lý do mở rộng khoá: các tiêu chuẩn thiết kế bao

gồm

– Giả sử biết một phần khoá, khi đó không đủ để biết nhiều hơn,

tức là các khoá con khác hoặc khoá nói chung.

– Phép biến đổi nghịch đảo được.

– Nhanh đối với nhiều kiểu CPU.

Chuẩn mã dữ liệu AES

68

– Sử dụng hằng số vòng để làm mất tính đối xứng– Khuếch tán bit khoá thành khoá con cho các vòng– Có đủ tính phi đối xứng để chống thám mã– Đơn giản trong việc giải mã

• Các khía cạnh cài đặt:

– Có thể cài đặt hiệu quả trên CPU 8 bit– Phép thế byte làm việc trên các byte sử dụng bảng với 256 đầu vào

– Dịch hàng là phép dịch byte đơn giản– Cộng khoá vòng làm việc trên byte XOR– Các cột hỗn hợp yêu cầu nhân ma trận trong GF(28)

mà làm việc trên giá trị các byte, có thể đơn giản bằng cách tra bảng

Chuẩn mã dữ liệu AES

69

• Có thể cài đặt hiệu quả trên CPU 32 bit

• Xác định lại các bước để sử dụng từ 32 bit

• Có thể tính trước 4 bảng với 256 đầu vào

• Sau đó mỗi cột trong mỗi vòng có thể tính

bằng cách tra 4 bảng và 4 XOR

• Cần 16 Kb để lưu các bảng

• Những nhà thiết kế tin tưởng rằng việc cài

đặt rất hiệu quả này là yếu tố cơ bản trong

việc chọn nó là mã AES

Chuẩn mã dữ liệu AES

70

• Độ an toàn của AES:

– Thiết kế và độ dài khóa của thuật toán AES (128, 192

và 256 bít) là đủ an toàn để bảo vệ các thông tin được xếp vào loại MẬT (secret) Các thông tin TUYỆT MẬT (top secret) sẽ phải dùng khóa 192 hoặc

256 bít

– Một vấn đề khác nữa là cấu trúc toán học của AES

Không giống với các thuật toán mã hóa khác, AES có

mô tả toán học khá đơn giản Tuy điều này chưa dẫn đến mối nguy hiểm nào nhưng một số nhà nghiên cứu sợ rằng sẽ có người lợi dụng được cấu trúc này trong tương lai

Chuẩn mã dữ liệu AES

71

• Vào thời điểm năm 2006, dạng tấn công

lên AES duy nhất thành công là tấn công

kênh bên (side channel attack).

• Tấn công kênh bên không tấn công trực

tiếp vào thuật toán mã hóa mà thay vào

đó, tấn công lên các hệ thống thực hiện

thuật toán có sơ hở làm lộ dữ liệu

Chuẩn mã dữ liệu AES

Trang 34

LÝ THUYẾT THÔNG TIN

TRONG CÁC HỆ THỐNG MẬT MÃ

Khoa An Toàn Thông Tin

Bộ Môn: Khoa Học An Toàn Thông Tin

Quan điểm về độ an toàn của hệ thống mật mã

An toàn được chứng minh

An toàn tính toán

Dựa vào độ bất định của bản rõ trước và sau khi

kẻ thám mã có được các thông tin (về bản mã)

Dựa trên độ khó của một bài toán khác

Dựa trên năng lực tính toán của các phương

pháp thám mã

An toàn vô điều kiện

Nội dung

Một số kiến thức cơ bản về xác suất

Một số kiến thức cơ bản về lí thuyết xác suất

Định nghĩa 1:  và  là các biến ngẫu nhiên

Một số kiến thức cơ bản về xác suất

X và Y được gọi là độc lập nếu

X và Y là các biến độc lập khi và chỉ khi:

p(x|y) = p(x) với mọi x, y.

(p(x) p(y|x)) p(y)

Trang 35

Một số kiến thức cơ bản về xác suất

Mỗi khóa cụ thể chỉ dùng cho một bản mã

Trên không gian bản rõ có một phân bố xác suất

 (): xác suất để ký tự bản rõ nhận giá trị là x

Khóa k được chọn theo một xác suất ()

 và  độc lập

Một số kiến thức cơ bản về xác suất

Với mỗi khóa k, thì tập các bản mã có thể:

∑pK(k).pP(dk(y)){k: y ∈C(k)}

Một số kiến thức cơ bản về xác suất

a) Tính các xác suất của các bản mã trên C

b) Tính các xác suất có điều kiện của bản rõ khi biết các

P = C = K = Z26và với 0 ≤k ≤25, quy tắc

mã hóa ek: ek(x) = x + k mod 26, x ∈Z26.

Trang 36

Độ mật hoàn thiện

hoàn thiện khi và chỉ khi:

Mỗi khóa K được dùng với xác suất như nhau và

bằng 1/|K|, và mỗi x є P , mỗi y є C có một khóa

duy nhất K sao cho eK(x) = y

Nội dung

Entropy và các tính chất

Được Shannon đưa ra vào năm 1948.

Entropy là đại lượng đo thông tin hay còn gọi là độ bất

định, kí hiệu là H(X).

 Ví dụ tính entropy của phép tung đồng xu

p(mặt xấp) = p(mặt ngửa) = ½ thông tin của phép tung đồng

xu là 1 bít (biểu diễn mặt sấp bằng 1, mặt ngữa bằng 0)

 Nhận xét:

Một biến cố xảy ra với xác suất 2-ncó thể mã hóa được bằng

một xâu bit có độ dài n

⇒ Một biến cố xảy ra với xác suất p thì có thể mã hóa bằng một

xâu bit có độ dài xấp xỉ -log2p.

 Nếu cho trước p1, p2, …, pncủa bnn X, khi đó độ đo thông tin

là trọng số trung bình của các lượng –log2pi

Entropy và các tính chất

Giả sử X là một biến ngẫu nhiên lấy các giá trị trên một tập hữu hạn theo phân bố xác suất p(X) Khi đó entropy

của phân bố xác suất này được định nghĩa là lượng:

Nếu các giá trị có thể của X là xi, 1 ≤ i ≤ n thì ta có:

H(X) = - ∑pi log2pi

i=1 n

H(X) = - ∑p(X = xi) log2p(X = xi)

i=1 n

Khi đó H(X) ≤log2n Dấu “=” xảy ra khi và chỉ khi pi = 1/n

Entropy của trường sự kiện đồng thời X.Y sẽ bằng tổng entropy của các trường sự kiện cơ bản X và Y nếu X và Y độc lập

Ta có: H(X.Y) = H(X) + H(Y)

Trang 37

Entropy: Một số tính chất

X và Y là hai bnn, khi đó với giá trị xác định bất kì y của Y, ta

có một phân bố xác suất có đk p(X|y) Khi đó:

Entropy có điều kiện H(X|Y) là trung bình trọng số ứng với

các xác suất p(y) của entropy H(X|y) trên mọi giá trị có thể y

Được tính bằng :

Định lý: H(X,Y) = H(X|Y) +H(Y) ( CM - SGK )

Hệ quả: H(X|Y) ≤ H(X), dấu “=” xảy ra ⇔ X, Y độc lập

H(X|y) = - ∑p(x|y) log2p(x|y)

Trang 38

Bộ môn Khoa Học An Toàn Thông Tin – Khoa An Toàn Thông Tin 10 October 2020 | Page 1 10 October 2020 | Page 2 Bộ môn Khoa Học An Toàn Thông Tin – Khoa An Toàn Thông Tin

Bộ môn Khoa Học An Toàn Thông Tin – Khoa An Toàn Thông Tin 10 October 2020 | Page 3 Bộ môn Khoa Học An Toàn Thông Tin – Khoa An Toàn Thông Tin 10 October 2020 | Page 4

Bộ môn Khoa Học An Toàn Thông Tin – Khoa An Toàn Thông Tin 10 October 2020 | Page 5

❖ SV nắm được một số kiến thức cơ bản về lí thuyết số (số học

modulo), cấu trúc đại số được ứng dụng trong mật mã cũng như

một số thuật toán cơ bản liên quan đến tính nghịch đảo theo

modulo, tính các kí hiệu Legendre và Jacobi

Bài 01 Bổ túc cơ sở toán học

Bộ môn Khoa Học An Toàn Thông Tin – Khoa An Toàn Thông Tin 10 October 2020 | Page 6

Cấu trúc toán học

Số học modulo

Bài 01 Bổ túc cơ sở toán học

Trang 39

Bộ môn Khoa Học An Toàn Thông Tin – Khoa An Toàn Thông Tin 10 October 2020 | Page 7

Cấu trúc đại số:

Định nghĩa nhóm: Tập hợp G đó với phép toán (.) đã cho được gọi là

nhóm, nếu nó thỏa mãn các tính chất sau với mọi phần tử a, b, c

thuộc G:

Một số kiến thức toán học

1 Tính kết hợp: a.b.c = (a.b).c = a.(b.c)

2 Có phần tử đơn vị e: e.a = a.e = a

3 Có nghịch đảo a -1 : a.a -1 = a -1 a = e

Nếu có thêm tính giao hoán: a.b = b.a, thì gọi

là nhóm Aben hay nhóm giao hoán.

Bộ môn Khoa Học An Toàn Thông Tin – Khoa An Toàn Thông Tin 10 October 2020 | Page 8

Định nghĩa nhóm xyclic:

□G được gọi lànhóm xyclicnếu nó chứa một phần tử a sao cho mọi phần

tử của G đều là lũy thừa nguyên nào đó của a

□a được gọi làphần tử sinh(hay phần tử nguyên thuỷ của nhóm G)

Một số kiến thức toán học

Bộ môn Khoa Học An Toàn Thông Tin – Khoa An Toàn Thông Tin 10 October 2020 | Page 9

Vành: Cho một tập R   phép toán hai ngôi (+, *) được gọi là 1 vành

nếu:

□Với phép cộng, R là nhóm Aben

□Với phép nhân, có:

● tính kết hợp: a*b*c = a*(b*c) = (a*b)*c

● tính phân phối đối với phép cộng:

o a*(b+c) = a*b + a*c

o (b+c)*a = b*a + c*a

Nếu phép nhân có tính giao hoán thì tạo thành vành giao hoán.

□Nếu phép nhân có nghịch đảo và không có thương 0 (tức là không có hai

phần khác 0 mà tích của chúng lại bằng 0), thì nó tạo thành miền nguyên

Một số kiến thức toán học

Bộ môn Khoa Học An Toàn Thông Tin – Khoa An Toàn Thông Tin 10 October 2020 | Page 10

■Trường là một tập hợp F với hai phép toán cộng và nhân, thoả mãn tính chất sau:

□F là một vành

□Với phép nhân F \{0} là nhóm Aben

■Có thể nói là có các phép toán cộng, trừ, nhân, chia số khác 0

Phép trừ được coi như là cộng với số đối của phép cộng và phép chia là nhân với số đối của phép nhân:

Cho 2 số nguyên a và n, n > 1 Thực hiện phép chia a cho n ta sẽ

được 2 số nguyên q và r sao cho:

a = n.q + r, 0 < r < n

q được gọi là thương, ký hiệu là a div n

r được gọi là số dư, ký hiệu là a mod n

Định nghĩa quan hệ đồng dư trên tập số nguyên: a ≡ b mod n khi và

chỉ khi a và b có phần dư như nhau khi chia cho n

Ví dụ: -12 mod 7 ≡ -5 mod 7 ≡ 2 mod 7 ≡ 9 mod 7

 2 là đại diện của –12, -5, 2 và 9

Một số kiến thức toán học

Trang 40

Bộ môn Khoa Học An Toàn Thông Tin – Khoa An Toàn Thông Tin 10 October 2020 | Page 13

Ví dụ:

□Trong Modulo 7 ta có các lớp tuơng

đương viết trên các hàng như bảng bên

□Các phần tử cùng cột là có quan hệ

đồng dư với nhau

□Tập các đại diện của các số nguyên

theo Modulo n gồm n phần tử ký hiệu

như sau: Zn= { 0, 1, 2, 3, …, n-1 }

Một số kiến thức toán học

… -21 -20 -19 -18 -17 -16 -15

-18 -11 -4 3 10 17 24

Các phần tử trong cột đều đồng dư với Các đại diện của các số nguyên Các phần tử trong cột đều đồng dư với mod 70 mod 7 3 mod 7

Bộ môn Khoa Học An Toàn Thông Tin – Khoa An Toàn Thông Tin 10 October 2020 | Page 14

Bộ môn Khoa Học An Toàn Thông Tin – Khoa An Toàn Thông Tin 10 October 2020 | Page 15

Các phép toán số học trên Modulo:

❑ Cho trước số n, thực hiện các phép toán theo modulo n như thế nào?

Một số kiến thức toán học

Bộ môn Khoa Học An Toàn Thông Tin – Khoa An Toàn Thông Tin 10 October 2020 | Page 16

(a+b) mod n = [a mod n + b mod n] mod n (*)

(a.b) mod n = [a mod n b mod n] mod n (**)

❖ Như vậy khi thực hiện các phép toán ta có thể thay các số bằng các số tương đương theo Modulo n đó hoặc đơn giản hơn có thể thực hiện các phép toán trên các đại diện của nó: Zn= { 0, 1, 2,

3, …, n-1 }

Một số kiến thức toán học

Bộ môn Khoa Học An Toàn Thông Tin – Khoa An Toàn Thông Tin 10 October 2020 | Page 17

□Znvới các phép toán theo Modulo tạo thành vành giao hoán có đơn vị Các

tính chất kết hợp, giao hoán và nghịch đảo được suy ra từ các tính chất tương

ứng của các số nguyên

Các chú ý về tính chất rút gọn:

●Nếu (a+b) ≡ (a+c) mod n, thì b ≡ c mod n

●Nhưng (ab) ≡ (ac) mod n, thì b ≡ c mod n chỉ khi nếu a là nguyên tố cùng

■ = ((11 * 19) mod 7 + 1017mod 7) mod 7

■ = ((11 mod 7 * 19 mod 7) mod 7 + (10 mod 7)17) mod 7

■ = ((4 * 5) mod 7 + (((32)2)2)2* 3 mod 7) mod 7

■ = (6 + ((22)2)2 * 3 mod 7) mod 7

■ = (6 + 4 * 3) mod 7 = 4

Bài tập: Tính 11 207 mod 13 = ?

Một số kiến thức toán học

Ngày đăng: 17/02/2024, 20:21

w