1. Trang chủ
  2. » Kỹ Thuật - Công Nghệ

Lí thuyết thông tin BKHCM

34 224 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 đề Lý Thuyết Thông Tin BKHCM
Trường học Trường Đại Học Bách Khoa Thành phố Hồ Chí Minh
Chuyên ngành Lý Thuyết Thông Tin
Thể loại giáo trình
Thành phố Hồ Chí Minh
Định dạng
Số trang 34
Dung lượng 523,93 KB

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

Nội dung

Ch ng minh.

Trang 1

đây chúng ta th y vi c d ch vòng đ c th c hi n t trái sang ph i (g i là d ch ph i),

tuy nhiên v i t mã có chi u dài n bit thì vi c d ch vòng ng c l i t ph i sang trái i bit (g i

V y chúng ta có m t song ánh gi a các t mã v i các đa th c mã M i đa th c mã là m t đa

th c trên tr ng GF(2) và có b c ≤ n – 1 Nh sau này chúng ta s th y, chúng ta s d a vào

các đa th c mã này đ ch ng minh các tính ch t c a mã vòng

Trang 2

Chú ý chúng ta coi w chính là w(0) Bây gi chúng ta s tìm m i liên h gi a w (i) (x) v i w(x)

Chúng ta d a vào ví d trên đ tìm m i liên h này

Trang 3

t f(x) = (g1 + … + g r–1xn - 2 + xr - 1 ) Chúng ta suy ra f(x) c ng là m t đa th c mã Vì t mã

t ng ng v i f(x) là k t qu c a vi c d ch trái 1 bit hay d ch ph i (n – 1) bit t mã t ng

ng v i g(x) Mà b c c a f(x) b ng r – 1 và d nhiên f(x) khác 0 i u này mâu thu n v i

đ nh ngh a c a g(x) T đây suy ra đi u ph i ch ng minh

) x (

* x )

x (

* x

nh lý 13.5

a th c sinh c a m t mã vòng C(n, k) là m t c s c a xn + 1

Ch ng minh

Trang 4

Ch ng minh

Xét k đa th c g(x), x * g(x), …, x k – 1 * g(x) Các đa th c này đ u có b c ≤ n – 1 G i v(x) là m t t h p tuy n tính c a k đa th c này v i các h s a i ∈ GF(2)

v(x) = a0g(x) + a1x * g(x) + … + a k – 1xk – 1 * g(x) v(x) là m t đa th c có b c ≤ n – 1 và là b i s c a g(x) Có t t c 2 k đa th c v(x) khác nhau

và t o nên m t không gian tuy n tính c a các đa th c mã v i g(x), x * g(x), …, xk – 1

u tiên chúng ta bi u di n v(x)

v(x) = b0 + b1x + … + b n – 1xn – 1thì

Trang 5

4 8 4

4 4

4 7 6

L

M M M M

L L L 4

4 4

4 8 4

4 4

4 7 6

L

M M M M M

L L L

1

0

0 0

0 0

0 1

0 0

0

0 0 0

2 1

1

0

2 0

1 1

0

2 1 0

k

g g

g

g g

g

k n

g

g g

g g

g

g g

g g

G

k n

k n k n

k n k n

k n

k n

n k

Ví d 13.2

Tìm m t mã vòng C(7, 4)

Theo các tính ch t c a mã vòng chúng ta suy ra đa th c sinh c a mã có b c b ng 3 và là m t

c s c a x7 + 1 Phân tích đa th c này ra th a s chúng ta đ c

x7 + 1 = (1 + x)(1 + x + x3)(1 + x2 + x3) đây chúng ta có hai th a s c a x7

0 1 0 1 1 0 0

0 0 1 0 1 1 0

0 0 0 1 0 1 1

7 4

0 1 0 0 1 1 1

0 0 1 0 1 1 0

0 0 0 1 0 1 1

) 7 4 (

ht G

1 1 1 0 1 0 0

1 1 0 0 0 1 0

0 1 1 0 0 0 1

) 7 4 (

ht G

Trang 6

xn–k * u(x) = q(x) * g(x) + a(x)

T đây suy ra

xn–k * u(x) + a(x) = q(x) * g(x)

Vì xn–k * u(x) + a(x) là b i c a g(x) nên nó là đa th c mã Và đ ý t mã t ng ng v i đa

th c mã này có k bit sau là k bit thông báo, đó chính là t mã h th ng d ng 2 t ng ng v i thông báo u

v(x) = q(x) * g(x) Bây gi chúng ta nhân v(x) v i h(x) và đ c

h

0

1 0 M

Trang 7

4 8 4

4

4 7 6

L

M M M M

L L L 4

4 4

4 8 4

4 4

4 7 6

L

M M M M M

L L L

1

0

0 0

0 0

0 1

0 0

0

0 0 0

0 2

1

0 1 0 2

1 1

0 2

1

) (

k n

h h

h

h h h k

h

h h

h h

h

h h

h h

H

k k k

k

k k

k k k

n k n

0 1 1 1 0 1 0

0 0 1 1 1 0 1

7 3

H

Chú ý

Mã vòng là mã cho phép thi t k các m ch mã hoá, s a sai và gi i mã d dàng và hi u

qu nên đ c s d ng r ng rãi trong th c t

Bây gi chúng ta s trình bày ng d ng c a tr ng GF(2 m) trong vi c xây d ng các mã vòng Tr c h t chúng ta có đ nh lý sau

nh lý 13.7

Cho a là m t ph n t khác 0 c a tr ng GF(2 m ) có chu k là n, đa th c t i thi u

f(x) c a a có b c là m Thì mã có ma tr n sau làm ma tr n ki m tra là m t mã vòng C(n, n – m), trong đó m i ph n t trong ma tr n bên d i đ c thay th b ng vect m

w × HT

= 0 hay

b0 + b1a + b2a2 + … + b n–2 a n–2 + b n–1 a n–1 = 0 trong đó các bi ∈ GF(2) còn các aj ∈ GF(2m ) Nhân a vào đ ng th c trên chúng ta suy ra

b0a + b1a2 + b2a3 + … + b n–2 a n–1 + b n–1 a n = 0 hay

Trang 8

Cu i cùng n u bi u di n f(x) = f0 + f1x + f2x2 + … + f m–1xm–1 + f mxm–1 (v i chú ý f0 = f m =

1) thì do f(a) = 0 nên chúng ta suy ra w = (f0f1… f m 0 … 0) (g m n thành ph n) là m t t mã

Và không t n t i đa th c mã v(x) nào có b c nh h n m, vì n u ng c l i lúc đó chúng ta có

0 1 1 1 1 0 1 0 1 1 0 0 1 0 0

0 0 1 1 1 1 0 1 0 1 1 0 0 1 0

1 1 1 0 1 0 1 1 0 0 1 0 0 0 1

15 4

1 0 1 0 0

1 0 0 1 0

1 0 0 0 1

5 4

H

13.4 Mã BCH nh phân

Mã BCH có tên vi t t t c a ba ng i sáng l p ra nó đó là Bose, Chaudhuri và Hocquenghem ây là mã vòng có kh n ng s a đ c nhi u l i Bây gi chúng ta s đ a ra qui trình đ xây d ng mã BCH nh phân có kh n ng s a đ c nhi u l i

i v i các s nguyên d ng m và t b t k chúng ta s xây d ng m t mã BCH nh phân

có các thông s sau:

dài t mã: n = 2 m – 1

S bit ki m tra: n – k ≤ mt Kho ng cách Hamming: dmin ≥ 2t + 1

Tr c h t chúng ta ch ng minh đ nh lý sau đây

nh lý 13.8

Cho a là m t ph n t c a tr ng GF(2 m) có đa th c t i thi u là m t đa th c c n

b n b c m Thì mã có ma tr n sau làm ma tr n ki m tra là m t mã vòng có kho ng

cách Hamming ≥ 2t + 1, trong đó m i ph n t trong ma tr n bên d i đ c thay th

b ng vect m thành ph n t ng ng c a nó

Trang 9

1 2 ( ) 2 )((

1 2 ( )

1 2 ( 2 1 2

) 1 ( 5 )

2 ( 5 10

5

) 1 ( 3 )

2 ( 3 6

3

1 2

2

1

1 1 1

n t n

t t

t

n n

n n

n n

a a

a a

a a

a a

a a

a a

a a

a a

H

L

M M

M M M

M

L L L

H n n a đa th c sinh g(x) c a b mã là đa th c b i s chung nh nh t c a các đa th c

w × HT

= 0 hay vi t ng c l i

5 3

0 0 0

0 0

0

0 0

0

0 0

0

t a

a a a

B

L

M M M M M

L L L

) 1 )((

1 2 ( )

1 2 ( 3 ) 1 2 ( 2 1 2

) 1 ( 5 15

10 5

) 1 ( 3 9

6 3

1 3

2

n t t

t t

n n n

a a

a a

a a

a a

a a

a a

a a

a a

H B

L

M M

M M M

M

L L L

Th hai đ ch ng minh b mã có kho ng cách Hamming ≥ 2t + 1 chúng ta ch c n

Trang 10

1 2

0 1

1 1

3 2 1

1 1

2 1 1

2 2

2 2 1

2 1

M M L

M M M M

L L L

r r

r r

r

r r

y

y y y

y y

y

y y

y

y y

a5, …, a 2t–1 T B đ 11.5 chúng ta suy ra g(x) chia h t cho f1(x), f3(x), f5(x), …, f 2t–1(x)

t p(x) là b i s chung nh nh t c a f1(x), f3(x), f5(x), …, f 2t–1 (x) Suy ra g(x) chia h t cho p(x) Suy ra b c c a g(x) ≥ b c c a p(x) M t khác n u bi u di n p(x) b ng

p(x) = p0 + p1x + p2x2 + … + p n–1xn–1

Trang 11

trong đó p n–1 không nh t thi t b ng 1 (Chú ý các đa th c t i thi u đ u là c c a x2m−1+1

nên p(x) c ng v y và có b c ≤ n = 2 m

– 1.) Thì do t t c p(a), p(a3), p(a5), …, p(a 2t–1) đ u

b ng 0 nên (p0p1p2 … p n–1)× HT

= 0 nên (p0p1p2 … p n–1) là t mã, t đó suy ra p(x) là đa

th c mã Vì v y theo đ nh ngh a c a đa th c sinh chúng ta suy ra g(x) = p(x) Ch ng minh hoàn t t

2 2

2 2 1

2 1

1 1

1

r r r

r

r r

y y

y

y y

y

y y

y A

L

M M M M

L L L

Ch ng minh

Th t v y, det A là m t đa th c đ ng đ u det A = p(y1, y2, , y r) trong đó p(y1, y2, , y r)

là m t t ng c a các thành ph n, m i thành ph n bao g m tích c a các y i k v i m i i = 1, 2, ,

r sao cho t ng b c c a m i thành ph n là b ng nhau D th y b c c a m i thành ph n c a p

b ng 1 + 2 + … + (r – 1) = r(r – 1)/2 Chú ý n u y i = y j thì det A = 0 T đây suy ra p(y1, y2,

, y r ) chia h t cho (y i – y j) ∀i ≠ j K t h p v i trên chúng ta suy ra

det A = p(y1, y2, , y r) = ∏

>

j i

Cho m = 4, t = 2 chúng ta s xây d ng m t mã vòng có chi u dài t mã là 24 – 1 = 15 và

có kho ng cách Hamming d ≥ 5 Chúng ta s xây d ng b ng cách d a vào tr ng GF(24

a a a a a a a a a a a a a a H

Thay m i ph n t a i b ng vect (m = 4 thành ph n) t ng ng chúng ta đ c

Trang 12

1 0 1 0 0 1 0 1 0 0 1 0 1 0 0

1 1 0 0 0 1 1 0 0 0 1 1 0 0 0

1 0 0 0 1 1 0 0 0 1 1 0 0 0 1

1 1 1 1 0 1 0 1 1 0 0 1 0 0 0

0 1 1 1 1 0 1 0 1 1 0 0 1 0 0

0 0 1 1 1 1 0 1 0 1 1 0 0 1 0

1 1 1 0 1 0 1 1 0 0 1 0 0 0 1

Trang 13

BÀI 14 GI I THI U V M T MÃ HOÁ

14.1 Gi i thi u

14.2 M t s phép m t mã đ n gi n

14.3 B gãy (breaking) m t h m t mã

14.4 K t h p các ph ng pháp m t mã hoá

14.5 S không ch c ch n và s b o m t hoàn h o (perfect secrecy)

14.6 Các hàm m t chi u (one-way function)

14.7 C s toán h c c a m t mã hóa

14.1 Gi i thi u

Mã hoá b o m t (hay m t mã hóa) có m t l ch s lâu đ i Tr c h t nó đã t ng đ c s

d ng t r t lâu trong các cu c chi n tranh c đ i và sau đó kéo dài cho đ n t n bây gi Tuy nhiên t khi chi c máy tính đ u tiên ra đ i và kéo theo sau đó là c m t cu c cách m ng d

d i v thông tin và truy n thông đã làm thay đ i cu c s ng c a con ng i Chúng ta không còn trao đ i và x lý thông tin theo nh ng cách th c truy n th ng t n nhi u th i gian và công s c mà càng ngày càng chuy n nhi u trao đ i qua nh ng môi tr ng đi n t nhanh chóng và hi u qu Ch ng h n nh các giao d ch tài chính, chuy n kho n, mua s m, đ ng ký

k t hôn, đ ng ký khai sinh, … càng ngày càng đ c th c hi n qua môi tr ng m i, môi

tr ng đi n t Tuy nhiên chúng ta c n nh n m nh r ng đi kèm v i s phát tri n c a khoa

h c k thu t, các thi t b đi n t hi n đ i hoàn toàn có th “b t” đ c các thông tin đang

đ c truy n đi trên m ng, trên internet hay qua đi n tho i vô tuy n, h u tuy n, sóng v tinh,

… Vì v y nhu c u b o m t thông tin ngày càng tr nên quan tr ng và c p thi t Trong các bài h c sau đây chúng ta ch y u trình bày nh ng nét chính c a l nh v c m t mã hóa d

li u N u mu n nghiên c u chuyên sâu chi ti t, b n đ c có th tham kh o thêm t các tài

li u tham kh o đ c nêu ho c t ngu n tài nguyên phong phú trên internet Tr c h t trong bài h c này chúng ta s trình bày các v n đ và các khái ni m c b n c a b o m t

Thông báo, v n b n (message, plaintext)

Thông báo, v n b n là m t chu i h u h n kí hi u l y t m t b ng ch cái ∑ và

th ng đ c kí hi u là m

đây ∑ th ng là b ng ch cái ti ng Anh g m 26 kí t , th nh tho ng có thêm c kí t kho ng tr ng

M t mã hóa (encryption), phép m t mã hoá e(m)

M t mã hoá là vi c bi n đ i m t thông báo sao cho nó không th hi u n i đ i v i

b t k ai ngo i tr ng i nh n đ c mong mu n D hi u h n m t mã hóa là vi c

“ng y trang” hay “che d u” thông báo, v n b n d i m t d ng khác đ cho nh ng

ng i “ngoài cu c” không th xác đ nh đ c thông báo, v n b n g c Phép m t mã hóa th ng đ c kí hi u là e(m), v i m là thông báo c n m t mã hóa

Trong th c t , m t mã hoá đ c xem nh là m t hàm, m t ánh x hay m t gi i thu t v i

m t t p các thông s (ngoài thông s c n có là thông báo c n mã hoá) T đây chúng ta có khái ni m khoá

Khoá (key), khóa mã hóa, khóa gi i mã

Khoá là m t thông s đ u vào c a phép mã hoá ho c gi i mã (nó không ph i là

Trang 14

đó chúng ta g i chung là k, ng c l i trong m t s h m t mã hóa 2 khóa này là khác

nhau Tuy nhiên gi a 2 khóa này th ng có m t m i liên h v i nhau

M t phép m t mã hoá có th có nhi u khoá mã hóa (t ng ng có nhi u khóa gi i mã) Các khóa này th ng đ c sinh ra t m t khóa mã hóa ban đ u nào đó đ c ch n tr c

Chu i m t mã (cipher, ciphertext, cryptogram)

Chu i m t mã là chu i “ng y trang”, t c là chu i k t qu t ng ng c a chu i thông báo qua phép m t mã hóa và th ng đ c kí hi u là c

Trong đó M là t p các thông báo m trên các b ng ch cái ∑, K1 là t p h u h n các

khoá mã hóa k e , K2 là t p h u h n các khoá gi i mã k d , C là t p các chu i m t mã c

trên b ng ch cái Γ, ngoài ra còn có thêm gi thi t r ng t n t i các hàm hay gi i thu t

e và d sao cho

e: M × K1→ C d: C × K2→ M

ba (M, K, C) trong đó K là t p h p các khóa mã hóa k

Trong ng c nh c a lý thuy t m t mã hóa đôi lúc chúng ta nói mã hóa thay cho m t mã hóa và h mã thay cho h m t mã

H m t mã khóa bí m t (secret key cryptosystem)

H mã khóa bí m t hay còn g i là h mã đ i x ng (symmetric cryptosystem) là h

mã mà trong đó vi c mã hóa và gi i mã dùng chung m t khóa bí m t

H m t mã khóa công khai (public key cryptosystem)

H mã khóa công khai hay còn g i là h mã b t đ i x ng (assymmetric cryptosystem) là h mã mà trong đó vi c mã hóa và gi i mã s d ng 2 khóa khác nhau,

t khóa này không th tìm ra khóa kia m t cách d dàng Khóa dùng đ mã hóa

th ng đ c thông báo công khai và đ c g i là khóa công khai (public key), còn khóa dùng đ gi i mã đ c gi bí m t và đ c g i là khóa bí m t hay khóa riêng t (private key)

Chú ý

Trang 15

Hi n nay có m t s h mã đ i x ng dùng 2 khóa khác nhau cho vi c mã hóa và gi i mã

C 2 khóa này đ u đ c gi bí m t vì t khóa này có th xác đ nh đ c khóa kia không khó

kh n D nhiên nó c ng không đ c g i là h mã khóa “công khai” đ c

14.2 M t s phép m t mã đ n gi n

Phép thay th đ n gi n

Trong phép này, khoá là m t hoán v π c a b ng ch cái ∑ và m i kí hi u c a thông báo đ c thay b ng nh c a nó qua hoán v π

Th ng th ng, khoá đ c bi u di n nh m t chu i 26 kí t , ch ng h n n u khoá là

UXEOS…, thì nó bi u th r ng b t k m t s xu t hiên c a A trong thông báo thì đ c thay

b ng U, B đ c thay b ng X, C đ c thay b ng E, D đ c thay b ng O, E đ c thay b ng

S, … Các kho ng tr ng th ng đ c gi nguyên không b thay th

Phép thay th n-gram

Thay vì thay th đ i v i các kí t , ng i ta có th thay th cho t ng c m 2 kí t (g i là

digram) ho c t ng c m 3 kí t (g i là trigram) và t ng quát cho t ng c m n kí t (g i là

n-gram) N u b ng ch cái ∑ g m 26 kí t ti ng Anh thì phép thay th n-gram s có khoá là

m t hoán v c a 26n n-gram khác nhau (có 26 n chu i khác nhau chi u dài n) Trong tr ng

h p digram thì hoán v g m 262 digram và có th bi u di n t t nh t b ng m t dãy 2 chi u 26

× 26 trong đó các hàng bi u di n kí hi u đ u tiên, các c t bi u di n kí hi u th hai, n i dung

c a các ô bi u di n chu i thay th Ví d b ng 2 chi u sau bi u th AA đ c thay b ng EG,

AB đ c thay b ng RS, BA đ c thay b ng BO, BB đ c thay b ng SC, …

m = JOHN |IS A |GOOD |ACTOR

thì qua phép m t mã này s tr thành chu i m t mã sau

c = ONHJ |SA I |ODOG |COTAR

A = 0 đ n Z = 25 Các kí t kho ng tr ng s đ c gi nguyên không c ng

Ch ng h n v i d = 3, n u khoá là chu i ABC thì thông báo

Trang 16

k = A B C A B C A B C A

tr thành

c = M B T Y J U G P Q D

Trong tr ng h p d = 1, nh v y khoá ch là m t kí t đ n, thì đ c g i là ph ng pháp Caesar vì đ c cho là đ c s d ng l n đ u b i Julius Caesar

Ph ng pháp Playfair

ây là m t s đ d a trên s thay th digram trong đó khoá là m t hình vuông kích

th c 5 × 5 ch a m t s s p x p nào đó c a 25 kí t c a b ng ch cái (không tính kí t J vì

s xu t hi n ít c a nó và có th thay nó b ng I) Gi s chúng ta có ma tr n khoá nh sau

c a digram n m trên hàng ngang thì chu i thay th là các kí t bên ph i c a chúng Ch ng

h n n u digram là WU thì chu i thay th là SP, n u digram là FP thì chu i thay th là UW,

n u digram là XR thì chu i thay th là LK T ng t n u các kí t c a digram n m trên hàng d c thì chu i thay th là các kí t bên d i c a chúng Ch ng h n n u digram là SO thì chu i thay th là AN, n u digram là MR thì chu i thay th là DI, n u digram là GH thì chu i thay th là UG Trong tr ng h p digram là m t c p kí t gi ng nhau ch ng h n OO

ho c là m t kí t đ c đi kèm m t kho ng tr ng ch ng h n B฀ thì có nhi u cách x lý, cách

đ n gi n nh t là gi nguyên không bi n đ i digram này

Ph ng pháp khoá t đ ng (autokey)

Trong ph ng pháp này, có m t khoá “m i” (priming key), cái mà th ng là ng n và

đ c s d ng đ kh i đ u quá trình m t mã hoá Quá trình mã hoá đ c ti p t c b ng cách

s d ng c b n thân thông báo l n chu i m t mã (cryptogram) đang ch y Xét ví d sau: Gi

s khoá m i là VENUS và thông báo là SEND SUPPLIES u tiên s d ng thông báo nh

m t khoá đang ch y, chúng ta mã hoá b ng phép c ng mod 26 (Chú ý các kho ng tr ng s

Trang 17

Ý t ng c b n là chia thông báo thành nh ng kh i có chi u dài d và g n kh i này v i

m t vect x, g m d s nguyên, và r i nhân vect x này v i m t ma tr n không suy bi n (t c

đ nh th c khác 0) s đ c chu i m t mã y = Ux Vi c gi i mã đ c th c hi n b ng cách nhân y v i ma tr n ngh ch đ o U - 1

13 3

Thông báo m = FRIEND đ c bi u di n nh là

16 14 26 13

14 27

23 18 15

Chúng ta c n phân tích nh ng kh n ng có th b b gãy c a m t h m t mã, có nh v y

m i giúp chúng ta xây d ng đ c nh ng yêu c u, tiêu chu n đ i v i m t h m t mã an toàn

và cho ra đ i nh ng h m t mã này và nh ng h m t mã ngày càng an toàn h n (cái mà s

đ c trình bày trong các bài sau) Nói chung vi c xây d ng và b gãy các h m t mã đó là

m t quá trình chi n đ u gi a hai bên, m t bên là nh ng ng i xây d ng còn m t bên là

nh ng ng i tìm các y u đi m c a cách xây d ng đ v t qua Chính quá trình b gãy đã giúp cho vi c xây d ng ngày càng t t h n, tuy nhiên ng c l i các k thu t b gãy c ng ngày càng phát tri n và tinh vi h n ây có th xem là m t tr ng h p đi n hình c a quá trình chi n đ u và phát tri n không ng ng c a hai m t c a m t v n đ

Quay tr l i v i vi c b gãy, nh ng chuyên gia m t mã hay nh ng k t n công th ng

đ c gi thi t bi t đ y đ thông tin v hàm mã hoá e, hàm gi i mã d và khóa mã hóa k e Thêm vào đó, h c ng có th có nhi u thông tin h tr nh các th ng kê v ngôn ng , ki n

Ngày đăng: 24/05/2014, 08:54

HÌNH ẢNH LIÊN QUAN

Hình 15.2 Hình  nh 16 vòng mã hóa c a DES - Lí thuyết thông tin BKHCM
Hình 15.2 Hình nh 16 vòng mã hóa c a DES (Trang 27)

TỪ KHÓA LIÊN QUAN

w