Ch ng 7ươ
M T MÃ KHÓA Đ I X NG
7.1 thuy t c b n c a Shannonế ơ
Nhi u ng i cho r ng k nguyên c a m t h c hi n đ i đ c b t đ u v i ườ ượ
Claude Shannon, ng i đ c coi là cha đ c a m t mã toán h c. Năm ườ ượ 1949 ông đã công
b i thuy t v truy n tng trong c h th ng b o m tế (Communication Theory
of Secrecy Systems) trên t p san Bell System Technical Journal - T p san k thu t c a
h th ng Bell - m t th i gian ng n sau đó, trong cu n Mathematical Theory of
Communication - thuy t toán h c trong truy n thông - cùng v i c gi Warrenế
Weaver. Nh ng công trình này,ng v i nh ng công tnh nghn c u khác c a ông v lý
thuy t v tin h c truy n thôngế (information and communication theory), đã thi t l pế
m t n n t ng thuy t c b n cho m t h c thám h c. V i nh h ng đó, ế ơ ưở
m t h c h u nh b thâu tóm b i các c quan truy n thông m t c a chính ph , ư ơ
ch ng h n nh ư NSA, bi n m t kh i t m hi u bi t c a công chúng. R t ít c côngế ế
trình đ c ti p t c công b , cho đ n th i kỳ gi a ượ ế ế th p niên 1970, khi m i s đ c thay ượ
đ i.
Claude Shannon xem xét hình 7.1, đây ngu n b n tin sinh ra b n X, ngu n
khóa t o ra khóa K, ka K đ c truy n qua kênh m t t n i truy n đ n n i nh n. ượ ơ ế ơ
Quá tnh hóa bi n đ i b n X nh ka tnh b n Y: ế
)(XFK
.
Quá tnh gi i mã, bi n đ i b n mã nh n đ c Y tnh b n X cũng nh khóa K: ế ượ
)(
1YFX K
=
.
T i ph m (hay thám ) s m ch nh n đ c b n khóa trên c s b n mã. ượ ơ
Claude Shannon xem xét các câu h i thuy t th c nh m t. Đ nh n đ c ế ượ
thuy t m t Shannonnh thành các câu h i sau:ế
1. H th ng n đ nh m c đ nào, n u nh thám không gi i h n th i gian ế ư
t t c c thi t b c n thi t đ i v i vi c phân tích b n ? ế ế
2. B n mã li u m t nghi m duy nh t hay không?
3. V i l ng thông tin b n bao nhiêu thám c n thu nh t đ nghi m ượ
tr n duy nh t?
Đ tr l i câu h i c a Shannon chúng ta đ a vào đ nh nghĩa “tuy t m t” v i s h ư
tr các đi u ki n sau: B n thu đ c không đêm đ n cho thám b t kỳ thông tin ượ ế
o. Theo đ nh lý Bayes
)(/)()()( YPYPXPXP
XY
=
nh 7.1. nh truy n tin Shannon
V i P(X) xác su t xu t hi n b n tin X;
)(YPX
c su t đi u ki n, xu t hi n b n
Y v i đi u ki n b n tin X đã đ c ch n, nghĩa t ng xác su t c a t t c c ượ
khóa, các khóa này chuy n b n tin X t ng ng v i b n Y; P(Y)-xác su t nh n ươ
đ c b n Y; ượ
)(XP
Y
xác su t nh n đ c b n X v i đi u ki n nh t đ c b n ượ ượ
mã Y. Đ “tuy t m t” thì giá tr c a
)(XP
Y
)(XP
c n ph i b ng nhau v i t t c giá
tr c a X Y.
Đ ch ng l i ph ng pháp phân tích th ng b n (đây m t ch thám mã) ươ
Shannon đ ra hai ph ng pp: khuy t tán pha tr n. ươ ế
Đ nh nghĩa Entropy thông tin. Entropy thông tin mô t m c đ h n lo n trong m t
tín hi u l y t m t s ki n ng u nhiên. i cách khác, entropy cũng ch ra có bao nhiêu
thông tin trong tín hi u, v i thông tin c ph n không h n lo n ng u nhiên c a tín
hi u.
Lý thuy t v thông tin s trình bày đ y đ h n v Entropy, đây chúng tôi ch đ aế ơ ư
ra cái c b n.ơ
Claude E. Shannon đã xây d ng đ nh nga v entropy đ tho n các gi đ nh sau:
1. Entropy ph i t l thu n liên t c v i c c su t xu t hi n c a các ph n
t ng u nhn trong tín hi u. Thay đ i nh trong xác su t ph i d n đ n thay ế
đ i nh trong entropy.
Ngu n
khóa
Ngu n b n
tin Mã hóa Gi i mãNh n b n
tin
T i ph m
K
K’
X’
X
Y
X
K
2. N u c ph n t ng u nhiên đ u xác su t xu t hi n b ng nhau, vi cế
tăng s l ng ph n t ng u nhiên ph i làm tăng entropy. ượ
3. th t o các chu i tín hi u theo nhi u b c, entropy t ng c ng ph i ướ
b ng t ng tr ng s c a entropy c a t ng b c. ướ
Shannon cũng ch ra r ng b t c đ nh nghĩa nào c a entropy, cho m t tín hi u có th
nh nc g tr r i r c, tho n c gi đ nh c a ông tđ u có d ng:
=
n
i
ipipK
1
)(log)(
V i K m t h ng s , ch ph thu c vào đ n v đoơ ; n t ng s các giá tr th
nh n c a tín hi u ; i là g tr r i r c th i; p(i) là xác su t xu t hi n c a giá tr i;
N u m t s ki n ế ng u nhiên r i r c x, có th nh n các giá tr là 1.. n, thì entropy c a
:
=
= n
i
ipipxH
1
2)(log)()(
,
v i p(i) c su t x y ra c a giá tr i.
Entropy thông tin trong tr ng h p ph n t n hi u ng u nhiên r i r c còn đ c g iườ ượ
là entropy Shannon.
7.2 Đ nh nghĩa m t mã đ i x ng
Đ nh nghĩa. M t đ i x ng h m t quá trình hóa quá trình gi i
ng chung m t khóa m t, vi c b o m t b n tin ph thu c vào quá trình l u khóa ư
m t. S đ t ng quát c a h mã đ i x ng đ c miêu t nh 7.2. ơ ượ
B n tin ngu n
(X)
Quá trình mã
hóa B n mã Y
truy n qua
kênh
Quá trình gi i
(X=)
B n tin gi i
mã X
Khóa m t (K)khóakhóa
T o ra khóa m t
nh 7.2. S đ m t mã đ i x ngơ
đây b n tin ngu n X thông tin c n đ b o m t, tr c khi chuy n đ n n i ướ ế ơ
nh n ph i đ c mã hóa b ng m a E, hàm mã hóa Et ng h p các phép bi n ượ ế
đ i v i s tham gia c a khóa m t K; qua bi n đ i c a hàm E chúng ta thu đ c b n mã ế ượ
Y; b n mã Y truy n quanh thông tin đ n n i ng i c n nh n, n i nh n v i s giúp ế ơ ườ ơ
đ c a quá trình gi i mã và khóa m t K, s gi i b n mã Y tnh b n tin X ban đ u. Chú
ý, n u nh khóa K không đúng, ho c b n mã Y b bi n đ i trong quá tnh truy n thì quáế ư ế
trình gi i mã không th thu đ c b n tin ban đ u X. ượ
Nh đã nói, m t đ i x ng đ c chia ra làm hai ph n, m t kh i m t ư ượ
ng. Cng ta xem đ nh nghĩa v chúng.
Đ nh nghĩa m t kh i . kh i t h p l nh toán h c (hoán v , thay th ,…) ế
bi n đ i dãy N bit ế
N
NFxxxx )2(),...,,( 21 =
thành m t dãy N bit
v i s tham gia c a khóa m t k t không gian khóa K, th vi t d i d ng ế ướ
),( kxFy =
,
đây F là hàm mã a hay gi i mã.
Đ nh nghĩa mã dòng. Là m t h mã đ i x ng, trong đó t ng ký t c a b n rõ đ c ượ
bi n đ i thành ký t c a b n mã ph thu c không ch vào khóa s d ng mà còn o vế
trí c a nó trong b n rõ. Mã kh i thì chia b n rõ ra các kh i b ng nhau r i th c hi n mã,
n s có m t s kh i gi ng nhau cùng m t khóa, ng thì không nh v y. ư
7.3 c l nh dùng đ y d ng thu t toán m t mã đ i x ng
H u nh t t ư c c h m t đ i x ng đ m b o b o m t thông tin th ng đ c y ườ ượ
d ng trên c s c l nh c s sau: ơ ơ
7.3.1 L nh hoán đ i
Đ nh nghĩa. Đây ph ng pháp bi n đ i m t đ n gi n, m t phép hoán đ iươ ế ơ
c v trí c a các kí t trong b n rõ theo m t quy lu t nào đó. Chúng ta có th bi u di n
chúng b ng tn h c nh sau: ư
Hn đ i
π
c a t p h u h n
, v i
g m n ph n t , m t đ n ánh t t p ơ
o
t p
,
{ }
n,...,2,1=
, l nh hoán đ i
π
d ng sau:
=
n
n
δ
α
δδ
αα
π
...
...
21
21
,
đây hang đ u tiên v trí t c a b n rõ, hang th 2 các v trí ký t ban đ u
c n hoán đ i t ng ng, ươ
{ }
jijiii n
ααδδαδ
,(,...,2,1,
khi
ji
), t cv trí th
1
α
đ i
cho v trí th
1
δ
, v trí th
2
α
đ i cho v trí th
2
δ
t ng t nh th . Giá tr n g i ươ ư ế
chi u dài hn đ i.
Ví d :
=41
43
32
21
π
.
T p h p t t c c l nh hn đ i
π
ký hi u là
n
π
, và rõ ràng r ng
!n
n=
π
.
Có nhi u cách bi u di n l nh hoán v . Ví d nh t d trên ta các ch bi u ư
di n sau:
)4)(1,3,2()4)(3,2,1( ==
π
.
Cng ta th y l nh hoán đ i nh m t hàm, tham s c a nó là s nguyên, hàm này có ư
th ký hi u
)( i
απ
,v i
{ }
ni
ii
,...,2,1,)( =
δαπ
.
Tiêu chu n xây d ng n l nh hoán đ i : Chúng ta ph i xây d ng l nh hoán đ i
sao cho đ t đ c đ phát n t t, nh m tăng hi u ng thác lũ. ượ
7.3.2 L nh thay th ế.
Đ nh nghĩa.Trong m t , l nh thay th th hi u m t qúa trình thay m t s ế
ph n t này b ng m t s ph n t khác, hay nói cách khác thay th m t t hay ế
m t nm ký t c a b n tin b ng m t ký t hay m t nhóm ký t kc. Theo toán h c t
chúng ta có th đ nh nghĩa nh sau: ư
L nh thay th S m t ánh x s: ế
'
, v i
',
t p h u h n v i
ω
,
t n t i duy nh t m t ph n t
)(':''
ωωω
S=
.
Đ i v i
{ }
n
ωωω
,...,, 21
=
l nh hn đ i d ng:
=''
2
'
1
21
...
...
n
n
S
ω
ω
ωω
ωω
,
V i
',...,, ''
2
'
1
n
ωωω
. Các giá tr
''
2
'
1,...,, n
ωωω
không b t bu c khác nhau.
Ví d l nh thay th 2 bit này thành 2t khác: ế
=21
43
43
21
S
Tuy nhiên m t s phép thay th có th bi u di n d ng khác ế nh đư th, dùng hàm
s…vv.