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

Bài giảng lý thuyết mật mã và an toàn thông tin mật mã cổ điển vũ đình hòa

48 709 1

Đ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

Định dạng
Số trang 48
Dung lượng 16,36 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

1.1.1 Hệ mã dịch chuyển Hệ mã dựa trên cơ sở của phép biến đổi một ký tự trong văn bản gốc thành một ký tự khác trong bản mã Trong trường hợp K=3 , hệ mật mã trên được gọi là mật mã Ca

Trang 1

MẬT MÃ CỔ ĐIỂN

Trang 2

1.1 MỘT SỐ HỆ MẬT MÃ ĐƠN GIẢN

1.1.1 MẬT MÃ DỊCH CHUYỂN - SHIFT CIPHER

1.1.2 MẬT MÃ THAY THẾ - SUBSTITUTION CIPHER

1.1.3 MẬT MÃ TUYẾN TÍNH - AFFINE CIPHER

1.1.4 MẬT MÃ VIGENÈRE

1.1.5 MẬT MÃ HILL

1.1.6 MẬT MÃ HOÁN VỊ

1.1.7 MẬT MÃ DÒNG

Trang 3

Mục đích cơ bản của hệ mật mã cho phép hai

người, Alice và Bob, truyền thông tin qua một kênh không được bảo mật theo cách sao cho đối thủ, Oscar, không thể hiểu được thông tin gì đang được nhắc đến Kênh đó có thể là đường điện thoại hoặc

có thể là mạng máy tính

Thông điệp mà Alice muốn gửi tới Bob, chúng ta gọi

là “ văn bản gốc ” hoặc “ bản rõ ” ( “ Plaintext ”),

được xây dựng hoàn toàn tuỳ ý, có thể là các ký tự tiếng Anh, dữ liệu số…

MỞ ĐẦU:

Trang 4

Sơ đồ minh hoạ

Trang 5

Mô tả hình thức bằng ký hiệu toán học

Trang 6

1.1.1 Hệ mã dịch chuyển

Hệ mã dựa trên cơ sở của phép biến đổi một ký tự trong văn bản gốc thành một ký tự khác trong bản mã

Trong trường hợp K=3 , hệ mật mã trên được gọi là mật mã

Caesar , được thừa nhận là của Julius Caesar

Trong hệ mật mã Caesar , mỗi ký tự được thay thế bởi ký tự đứng sau nó ba vị trí trong bảng chữ cái Alphabet)

Trang 7

Để thực hiện theo phương pháp này, trước hết ta cần định nghĩa một bảng mã để số hoá văn bản gốc:

A B C D E F G H I J K L M

0 1 2 3 4 5 6 7 8 9 10 11 12

N O P Q R S T U V W X Y Z

13 14 15 16 17 18 19 20 21 22 23 24 25

Trang 9

Cuối cùng, ta biến đổi dãy số nguyên sang các ký tự Aphabet tương ứng như trên , nhận được bản mã

HPHTWWXPPELEXTOYTRSE

Để giải mã bản mã , Bob đầu tiên biến đổi tương ứng bản mã sang dãy của các số nguyên , rồi trừ từng giá trị trong dãy cho 11 ( sau đó quy đổi sang modulo 26), và cuối cùng biến đổi dãy số nguyên vừa nhận được sang các ký tự Alphabe.Ta thu đượcvăn bản gốc ban đầu

Wewillmeetatmidnight

Nhận xét: Ta đã sử dụng ký tự hoa cho bản mã và ký

tự thường cho văn bản gốc

Trang 10

NHẬN XÉT

Ta nhận xét rằng hệ mã dịch chuyển tính bảo mật

quy tắc giải mã dK cho đến khi nhận được văn bản

có “ ý nghĩa ” Xem minh hoạ dưới đây :

Trang 11

jbcrclqrwcrvnbjenbwrwn iabqbkpqvbqumaidmavqvm hzapajopuaptlzhclzupul

gyzozinotzoskygbkytotk fxynyhmnsynrjxfajxsnsj ewxmxglmrxmqiweziwrmri dvwlwfklqwlphvdyhvqlqh cuvkvejkpvkogucxgupkpg btujudijoujnftbwftojof

a stitch in times saves nine

K=5

K=6 K=7

K=9 K=8

K=10

Trang 12

1.1.2 The Substitution Cipher ( Hệ mã thay thế )

Trang 13

Ví dụ : Cho hoán vị “ ngẫu nhiên ” sau :

thisciphertextcannotbedecrypted

( ) , ( ) ,

Trang 15

Chương 2.4, 2.5 Kenneth H Rosen

Integer

Số nguyên

Integer

Trang 16

Số nguyên GIỚI THIỆU

Integer INTRODUCTION

Giới thiệu

Chúng ta sẽ học:

Số nguyên

•Phép chia hết: thương, số dư

•Biểu diễn số nguyên theo cơ số: 10, 2, 8, 16

•Thuật toán cho các phép tính số nguyên

Trang 17

Số nguyên PHÉP CHIA Integer DIVISION

Định nghĩa Definition

Định nghĩa Definition

Cho hai số nguyên a, b với a ≠ 0, ta nói b chia hết cho

a nếu tồn tại một số nguyên c sao cho b = a.c Khi b

chia hết cho a ta nói a là ước của b và b là bội của a

và kí hiệu là a|b, nếu trái lại b không chia hết cho a thì

ta kí hiệu a|b

a|b  cZ, (a.c =b)

Cho hai số nguyên a, b với a ≠ 0, ta nói b chia hết cho

a nếu tồn tại một số nguyên c sao cho b = a.c Khi b

chia hết cho a ta nói a là ước của b và b là bội của a

và kí hiệu là a|b, nếu trái lại b không chia hết cho a thì

Nếu a|b thì a|bc, với mọi số nguyên c

Nếu a|b và b|c thì a|c

Phép chia

Trang 18

Số nguyên PHÉP CHIA Integer DIVISION

Trang 19

Số nguyên PHÉP CHIA Integer DIVISION

Định lí & định nghĩa Theorem & definition

Cho a là một số nguyên và d là một số nguyên dương Khi đó tồn tại duy nhất các số q và r, với 0  r < d sao cho a = qd + r

Với các kí hiệu như trên ta nói d là số chia, a là số bị

chia, q được gọi là thương (q = a div d) và r được gọi

là số dư (r = a mod d)

Nhận xét: a chia hết cho d khi và chỉ khi số dư của

phép chia a cho d bằng 0

Div, mod

Trang 20

Số nguyên PHÉP CHIA Integer DIVISION

procedure Chia(a  Z, d  N*)

q: = 0 r: = |a|

while r  d

begin

r: = r – d q: = q + 1

Trang 21

Số nguyên PHÉP CHIA Integer DIVISION

Trang 22

Số nguyên SỐ NGUYÊN TỐ

Integer PRIME

Định nghĩa Definition

Định nghĩa Definition

Số nguyên dương p > 1 được gọi là số nguyên tố nếu

nó chỉ có các ước số dương là 1 và p Các số nguyên

dương > 1 và không phải là số nguyên tố được gọi là

hợp số

Số nguyên dương p > 1 được gọi là số nguyên tố nếu

nó chỉ có các ước số dương là 1 và p Các số nguyên

dương > 1 và không phải là số nguyên tố được gọi là

Trang 23

Erathosthenes Thủ tục này được mô tả như sau:

1 Liệt kê tất cả các số nguyên từ 2 đến n Gọi là danh sách A

2 Lấy ra số 2 là số đầu tiên của danh sách A và cũng

là số nguyên tố đầu tiên Gọi là danh sách B

3 Xóa bỏ 2 và các bội của nó ra khỏi danh sách A

4 Số x đầu tiên trong danh sách A mới là số nguyên tố

và viết vào B

6 Lặp lại bước 4 và 5 cho đến khi A không còn phần tử

nào Chú ý là khi phần tử đều tiên của danh sách còn lại > (phần tử lớn nhất) 1/2 thì tất cả các phần tử còn lại đều là số nguyên tố

Để tìm tất cả các số nguyên tố ≤ n ta sử dụng sàng

Erathosthenes Thủ tục này được mô tả như sau:

1 Liệt kê tất cả các số nguyên từ 2 đến n Gọi là danh sách A

2 Lấy ra số 2 là số đầu tiên của danh sách A và cũng

là số nguyên tố đầu tiên Gọi là danh sách B

3 Xóa bỏ 2 và các bội của nó ra khỏi danh sách A

4 Số x đầu tiên trong danh sách A mới là số nguyên tố

và viết vào B

6 Lặp lại bước 4 và 5 cho đến khi A không còn phần tử

nào Chú ý là khi phần tử đều tiên của danh sách còn lại > (phần tử lớn nhất) 1/2 thì tất cả các phần tử còn lại đều là số nguyên tố

Số nguyên tố

Trang 25

Định lí cơ bản của số học Theorem

Mọi số nguyên dương n > 1 đều có thể được viết duy

nhất dưới dạng tích của các số nguyên tố, trong đó các số nguyên tố được viết theo thứ tự tăng dần, sự

phân tích này gọi là phân tích tiêu chuẩn của n

.

,

.

1

2 1

r

v r

v v

p p

p p

p p

Số nguyên tố

) ( )

( 2

) (

1

r

p v p

v

p p

p

n 

Trang 27

Theo Định lí cơ bản của số học: p j , 1≤ j ≤ n, p j |Q.

Trang 28

Số nguyên ƯCLN Integer GCD

Định nghĩa Definition

Định nghĩa Definition

•Cho a và b hai số nguyên khác 0, số nguyên d lớn nhất sao cho d|a và d|b được gọi là ước chung lớn nhất của a và b, kí hiệu là ƯCLN(a, b)

•Bội chung nhỏ nhất của hai số nguyên dương a và b là

số nguyên dương nhỏ nhất chia hết cho cả a lẫn b, kí hiệu là BCNN(a, b)

•Cho a và b hai số nguyên khác 0, số nguyên d lớn nhất sao cho d|a và d|b được gọi là ước chung lớn nhất của a và b, kí hiệu là ƯCLN(a, b)

•Bội chung nhỏ nhất của hai số nguyên dương a và b là

số nguyên dương nhỏ nhất chia hết cho cả a lẫn b, kí hiệu là BCNN(a, b)

Ước chung

Trang 29

Số nguyên ƯCLN Integer GCD

Định lí Theorem

Cho 2 số nguyên dương a, b có dạng phân tích tiêu

chuẩn như sau:

ở đó, a i , b j  0 (có thể bằng 0) Khi đó

Hơn nữa: a.b = ƯCLN(a, b) BCNN(a, b)

r

a r

a a

p p

p

a 1 2

2 1

r

b r

b b

p p

p

b 1 2

2 1

) , min(

) , min(

2

) , min(

) ,

r

b a b

a

p p

p b

) , max(

) , max(

2

) , max(

) ,

r

b a b

a

p p

p b

Ước chung

Trang 30

Ví dụ Example

Cho hai số a = 300, b = 315 tìm ƯCLN và BCNN của a

và b

Số nguyên ƯCLN Integer GCD

Trang 31

Số nguyên ƯCLN Integer GCD

Định nghĩa Definition

Định nghĩa Definition

•Hai số nguyên a và b được gọi là nguyên tố cùng

nhau nếu ước chung lớn nhất của chúng bằng 1

nguyên tố cùng nhau nếu hai số bất kì trong chúng

a i , a j (1  i < j  n) nguyên tố cùng nhau

•Hai số nguyên a và b được gọi là nguyên tố cùng

nhau nếu ước chung lớn nhất của chúng bằng 1

nguyên tố cùng nhau nếu hai số bất kì trong chúng

a i , a j (1  i < j  n) nguyên tố cùng nhau

Chú ý: Cho p là số nguyên tố, thì p nguyên tố cùng

nhau với tất cả các số nguyên a không chia hết cho p.

Hàm Euler

Trang 32

Số nguyên ƯCLN Integer GCD

Để tìm ước chung lớn nhất của hai số nguyên a và b

ta thường áp dụng thuật toán Euclid cơ sở toán học của thuật toán này như sau

Trang 33

Số nguyên ƯCLN Integer GCD

Thuật toán Euclid Algorithm

procedure ƯCLN (a, b nguyên dương)

x: = a y: = b

while y ≠ 0

begin

r: = x mod y

x: = y y: = r

Trang 34

Số nguyên ƯCLN Integer GCD

Trang 35

Số nguyên ƯCLN Integer GCD

Trang 36

Số nguyên ƯCLN Integer GCD

Định lí Theorem

Cho hai số nguyên dương a và b, với a  b Khi đó độ

phức tạp của thuật toán Euclid theo số phép chia là

O(logb)

T.T Euclid

Trang 37

Đồng dư ĐỊNH NGHĨA Congruence DEFINITION

Định nghĩa Definition

Định nghĩa Definition

Cho a và b là hai số nguyên và m là một số nguyên

dương Ta nói a đồng dư với b theo môđun m và kí hiệu là a  b (mod m) nếu a – b chia hết cho m, nếu trái lại thì kí hiệu là a  b (mod m)

Như vậy:

a  b (mod m)  m|a – b  a mod m = b mod m

Cho a và b là hai số nguyên và m là một số nguyên

dương Ta nói a đồng dư với b theo môđun m và kí hiệu là a  b (mod m) nếu a – b chia hết cho m, nếu trái lại thì kí hiệu là a  b (mod m)

Như vậy:

a  b (mod m)  m|a – b  a mod m = b mod m

Đồng dư

Tập tất cả các số nguyên sẽ thu gọn về m “số” mới theo mod m mỗi “số” này là một lớp đồng dư

Trang 38

Đồng dư ĐỊNH NGHĨA

Congruence DEFINITION

Định nghĩa Definition

Định nghĩa Definition

Tập hợp gồm m số nguyên đôi một không đồng dư theo

mod m gọi là một hệ thặng dư đầy đủ theo mod m

Một số nguyên bất kì sẽ đồng dư với một và chỉ một số

trong một hệ thặng dư đầy đủ

Tập hợp gồm m số nguyên đôi một không đồng dư theo

mod m gọi là một hệ thặng dư đầy đủ theo mod m

Một số nguyên bất kì sẽ đồng dư với một và chỉ một số

trong một hệ thặng dư đầy đủ

Ví dụ Example

{0, 1, 2, 3, 4, 5, 6} là một hệ thặng dư đầy đủ theo mod 7

{1, 2, 3, 5, 8, 13, 21} không là một hệ thặng dư đầy đủ theo mod 7 vì …

1  8 (mod 7)

{2 0 , 2 1 , 2 2 , 2 3 , 2 4 , 2 5 , 2 6 } có là một hệ thặng dư đầy đủ theo mod 7 không? Không

Đồng dư

Trang 39

Đồng dư ĐỊNH NGHĨA Congruence DEFINITION

Định lí Theorem

Cho m là số nguyên dương Khi đó

• a  b (mod m)  k, a = b + km

• Nếu a  b (mod m) và c  d (mod m) thì

a + c  b +d (mod m); a.c  b.d (mod m)

Đồng dư

Có một mối liên hệ giữa các phép tính số học thông

thường và các phép tính số học theo môđun m

dấu bằng “=” liên hệ với dấu đồng dư “”

+, –, *, / liên hệ với +, –, *, / rồi lấy đồng dư

Trang 40

Đồng dư ĐỊNH NGHĨA Congruence DEFINITION

Vẫn có những tính chất đúng trong số học nhưng

không còn đúng trong số học đồng dư nữa

a.b = 0  a = 0 hoặc b = 0 nhưng …

a.b  0 (mod m)  a  0 hoặc b  0

Ví dụ Example

4.3  0 (mod 6) nhưng … 4  0 (mod 6) 3  0 (mod 6)

Đồng dư

Trang 41

Đồng dư NGHỊCH ĐẢO

Congruence INVERSE

Hệ quả lemma

Cho hai số a và m nguyên tố cùng nhau và m > 1 thì

tồn tại số nguyên s (duy nhất theo mod m) để sa  1 (mod m)

Định nghĩa Definition

Định nghĩa Definition

Cho hai số a và m nguyên tố cùng nhau và m > 1 thì a

gọi là khả nghịch theo mod m, nghịch đảo s của a thỏa mãn sa  1 (mod m) duy nhất (theo mod m)

Tập con của một hệ thặng dư đầy đủ mod m gồm tất cả các phần tử khả nghịch mod m gọi là một hệ thặng dư

thu gọn mod m

Cho hai số a và m nguyên tố cùng nhau và m > 1 thì a

gọi là khả nghịch theo mod m, nghịch đảo s của a thỏa mãn sa  1 (mod m) duy nhất (theo mod m)

Tập con của một hệ thặng dư đầy đủ mod m gồm tất cả các phần tử khả nghịch mod m gọi là một hệ thặng dư

thu gọn mod m

Nghịch đảo

Chú ý: nếu a là phần tử khả nghịch theo mod m thì

a.b  0 (mod m) khi và chỉ khi b  0 (mod m)

Trang 42

Một hệ thăng dư thu gọn mod 12 là 1, 5, 7, 11

Cho p là một số nguyên tố, một hệ thăng dư thu gọn

mod p là {1, 2, …, p–1}

Định lí Theorem

Số phần tử của mọi hệ thặng dư thu gọn mod m là

như nhau và bằng (m), hàm Euler của m

Nghịch đảo

Trang 43

1.1.3 Hệ mã tuyến tính

Vì gcd(a,26)=1 nên a chỉ có thể nhận các giá trị sau đây: a= 1, 3, 5, 7, 9, 11, 15, 17, 19, 21, 23, 25

Trang 44

a 1 3 5 7 9 11 15 17 19 21 23 25

Ta xem xét ví dụ sau đây :

Giả sử K= ( 7,3) Hàm mã hoá là = 7x+3mod 26

Mã hoá văn bản P - hot

Trang 46

1.1.4 Hệ mã Vigenère

Cả hai hệ mật mã Shift Cipher và Substitution Cipher, khi đã chọn khoá K, mỗi ký tự Alphabe ánh xạ đến

một ký tự Alphabe duy nhất Vì lý do này , các hệ mật

mã đó được gọi là đơn ký tự ( monoalphabetic ) Đến

đây , ta giới thiệu một hệ mật mã không phải là

monoalphabetic , được biết đến là Vigenère Cipher,

mang tên của Blaise de Vigenère, thế kỷ 16

Trang 47

Sử dụng tương ứng ,

ta có thể kết hợp với mỗi khoá K vào xâu ký tự Alphabe có độ dài m, gọi là từ khoá Mật mã Vigenère Cipher mã hoá theo từng khối m ký tự của văn bản gốc

Ví dụ : Giả sử m = 6 và từ khoá là C I P H E R

Tương ứng với nó là các số K = ( 2, 8,15,7,4,17 )

Giả sử văn bản gốc :thiscryptosystemisnotsecure

Ta biến đổi các phần tử của văn bản gốc quy đổi sang modulo 26 , và viết chúng thành một nhóm của sáu số , và cộng thêm vào từ khoá ( modulo 26 ) , giống như sau đây :

0, 1, 2, , 25

Ngày đăng: 30/03/2016, 10:16

HÌNH ẢNH LIÊN QUAN

Sơ đồ minh hoạ - Bài giảng lý thuyết mật mã và an toàn thông tin  mật mã cổ điển   vũ đình hòa
Sơ đồ minh hoạ (Trang 4)

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm