PHƯƠNG PHÁP GIẤU TIN TRONG MÔI TRƯỜNG ĐA PHƯƠNG TIỆN - Pdf 33

MỤC LỤC
Chương 1: VẤN ĐỀ MÃ HOÁ THÔNG TIN………………………………..4
1.1 KHÁI NIỆM MÃ HOÁ…………………………………………………..4
1.1.1 Định nghĩa………………………………………………………….4
1.1.2 Phân loại……………………………………………………………6
1.2 HỆ MÃ HOÁ ĐỐI XỨNG…………………………………………….....7
1.2.1 Hệ mã hoá đối xứng cổ điển....……………………………………...7
1.2.1.1 Mã dịch vòng……………………………………………………7
1.2.1.2 Mã thay thế……………………………………………………...8
1.2.1.3 Mã Affine…………………………………………………….....9
1.2.1.4 Mã Vigenere…………………………………………………...10
1.2.1.5 Mã Hill………………………………………………………...11
1.2.1.6 Mã hoán vị…………………………………………………….12
1.2.1.7 Mã dòng……………………………………………………….13
1.2.2 Hệ mã hoá đối xứng hiện đại………………………………………14
1.2.2.1 Mã theo chuỗi bit………………………………………………14
1.2.2.2 Mã theo chữ……………………………………………………14
1.2.2.3 Mã theo khối…………………………………………………...15
1.2.2.4 Mã mũ…………………………………………………………15
1.2.2.5 DES……………………………………………………………16
1.3 HỆ MÃ HOÁ CÔNG KHAI……………………………………………..17
1.3.1 Hệ mật mã RSA…………………………………………………....17
1.3.1.1 Định nghĩa sơ đồ hệ mật……………………………………….17
1.3.1.2 Thực hiện hệ mật………………………………………………18
1.3.1.3 Các phương pháp tấn công hệ mật……………………………..18
1.3.2 Hệ Elgamal……………………………………………………........19
1
Chương 2: VẤN ĐỀ GIẤU TIN………………………………………………..20
2.1 KHÁI NIỆM VỀ GIẤU TIN....…………………………………………..20
2.1.1 Khái niệm thông tin “số hoá”……………………………………..20
2.1.2 Khái niệm giấu tin…………………………………………………21

2.4.7.2 Giấu tin trong các ảnh màu thông thường……………………...49
Những thuật ngữ viết tắt……………………………………………………...50
3
Chương 1 VẤN ĐỀ MÃ HOÁ THÔNG TIN
1.1 KHÁI NIỆM MÃ HOÁ
1.1.1 Định nghĩa
Đối tượng cơ bản của mật mã là tạo ra khả năng liên lạc trên một kênh
không mật cho hai người sử dụng (có thể gọi là S (Sender) và R (Receiver)) sao
cho đối phương T không hiểu được thông tin được truyền đi. Kênh này có thể là
một đường dây điện thoại hoặc một mạng máy tính. Thông tin mà S muốn gửi
cho R (bản rõ) có thể ở bất kỳ dạng dữ liệu nào. S sẽ mã hoá bản rõ bằng một
khoá đã được xác định trước và gửi bản mã trên kênh. T có bản mã thu trộm
được trên kênh, song “khó” thể xác định được nội dung bản rõ. R (là người
biết khoá) có thể giải mã và thu được bản rõ.
Định nghĩa hệ mật mã
Hệ mật mã là một bộ 5 (P, C, K, E, D) thoả mãn các điều kiện sau:
1. P là một tập hữu hạn các bản rõ có thể.
2. C là tập hữu hạn các bản mã có thể.
3. K (không gian khoá) là tập hữu hạn các khoá có thể.
4. Đối với mỗi k

K có một quy tắc mã: P → C và một quy tắc giải
mã tương ứng d
k


D. Mỗi e
k
: P → C và d
k


P, 1 ≤ i ≤ n. Mỗi x
i
sẽ được mã
hoá bằng quy tắc mã e
k
với khoá k xác định trước đó.
Bởi vậy, S sẽ tính y = e
k
(x
i
), 1 ≤ i ≤ n và chuỗi bản mã nhận được
y = y
1
y
2
…y
n
, sẽ được gửi trên kênh. Khi R nhận được y = y
1
y
2
…y
n
anh ta sẽ giải
mã d
k
và thu được bản rõ gốc x
1
x

1.2 HỆ MÃ HOÁ ĐỐI XỨNG
1.2.1 Hệ mã hoá đối xứng cổ điển
1.2.1.1 Mã dịch vòng
Ta sẽ mô tả mã dịch vòng dựa trên số học module.
Ta định nghĩa Z
m
là tập các số nguyên từ 0 đến m – 1, ký hiệu đó cũng
dùng cho các số nguyên từ 0 đến m – 1 với các phép cộng và nhân theo mod m.
Việc cộng và nhân trong Z
m
được thực hiện giống như cộng và nhân các số thực
ngoại trừ một điểm là các kết quả sẽ được rút gọn theo module m.
Mã dịch vòng được xác định trên Z
25
(do có 26 chữ cái trên bảng chữ cái
tiếng Anh) mặc dù vậy có thể xác định nó trên Z
m
với module m tuỳ ý.
Định nghĩa:
Giả sử P = C = Z
26
với 0 ≤ k ≤ 25
e
k
(x) = x + K mod 26

d
k
(x) = y – K mod 26
(x, y

π
(x) = π (x)
và d
π
(y) = π
-1
(y)
trong đó π
-1
là hoán vị ngược của π.
Sau đây là một ví dụ về phép hoán vị ngẫu nhiên π tạo nên một hàm mã
hoá (các kí hiệu của bản rõ được viết bằng chữ thường còn các kí tự của bản mã
là chữ in hoa).
a b c d e f g h i j k l m
X N Y A H P O G Z Q W B T
n o p q r s t u y w x y z
S F L R C V M U E K J D I
Như vậy, e
π
(a) = X, e
π
(b) = N,…hàm giải mã là phép hoán vị ngược. Điều
này được thực hiện bằng cách viết hàng thứ hai lên trước rồi sắp xếp theo thứ tự
chữ cái. Ta nhận được:
A B C D E F G H I J K L M
d l r y v o h e z x w p T
N O P Q R S T U V W X Y Z
b g f j q n m u s k a c I
Bởi vậy d
π

(x) = a * x + b mod 26
và d
k
(y) = a
-1
(y - b) mod 26
với x, y

Z
26

Để có được phép giải mã tương ứng, tức để cho phương trình:
a * x + b = c mod 26
có lời giải đối với x (với bất kì c cho trước) thì điều kiện cần và đủ là a
nguyên tố với 26, tức UCLN(a, 26) = 1.
Khi UCLN (a, 26) = 1, thì có số a
-1


Z
26
sao cho a * a
-1
= a
-1
* a = 1 mod 26
và do đó, nếu y = a * x + b mod 26, thì x = a
-1
(y - b) mod 26 và ngược lại.
1.2.1.4 Mã Vigenere

k
(x
1
, x
2
,…, x
m
) = (x
1
+ k
1
, x
2
+ k
2
,…, x
m
+ k
m
)
và d
k
(y
1
, y
2
,…, y
m
) = (y
1

Z
26
m*n
có phép
nghịch đảo, ma trận K cũng phải có phần tử nghịch đảo K
-1


Z
26
m*n
. Điều kiện
cần và đủ để ma trận K có ma trận nghịch đảo là định thức của nó, kí hiệu det K
nguyên tố với m.
Định nghĩa:
Cho m là số nguyên dương. P = C = Z
26
m
,
К = {K

Z
26
m*n
: (det K, 26) = 1 }
Với mỗi K

К, ta có:
e
k

1.2.1.6 Mã hoán vị
11
Tất cả các hệ mật mã trên ít nhiều đều xoay quanh phép thay thế: các kí tự
của bản rõ được thay bằng các kí tự khác trong bản mã. Ý tưởng của mã hoán vị
là giữa các kí tự của bản rõ không thay đổi nhưng sẽ thay đổi vị trí của chúng
bằng cách sắp xếp lại các vị trí này. Mã hoán vị (còn được gọi là mã chuyển vị)
đã được dùng từ hàng trăm năm nay. Thật ra thì sự phân biệt giữa mã hoán vị và
mã thay thế đã được Giovani Porta chỉ ra từ những năm 1563. Không giống như
mã thay thế, ở đây không có các phép toán đại số nào cần thực hiện khi mã hoá
và giải mã nên thích hợp hơn cả là dùng luôn các kí tự mà không dùng các thặng
dư theo module 26.
Định nghĩa:
Cho m là một số nguyên dưong xác định nào đó.
Cho P = C = (Z
26
)
m
và К gồm tất cả các hoán vị của {1, …, m}.
Đối với một khoá π (tức là một hoán vị) ta xác định:
e
π
(x
1
, …, x
m
) = (x
π(1)
, …, x
π(m)
)

(x
1
) e
k
(x
2
)….
Các hệ mật mã thuộc dạng này thường được gọi là các mã khối. Một quan
điểm sử dụng khác là mật mã dòng. Ý tưởng cơ bản ở đây là tạo ra một dòng
khoá z = z
1
z
2
… và dùng nó để mã hoá một xâu bản rõ x = x
1
x
2
…. theo quy tắc:
y = y
1
y
2
y
3
…. =
1
z
e
(x
1

)
Phần tử z
i
của dòng khoá được dùng để mã x
i
tạo ra y
i
= e
zi
(x
i
). Bởi vậy,
để mã hoá xâu bản rõ x
1
x
2
.... ta phải tính liên tiếp: z
1
, y
1
, z
2
, y
2

Việc giải mã xâu bản mã y
1
y
2
…. có thể được thực hiện bằng cách tính liên

E và một quy tắc giải mã tương
ứng d
z


D. (e
z
: P → C và d
z
: C → P là một hàm thoả mãn d
z
(e
z
(x)) = x
với mọi bản rõ x

P ).
1.2.2 Hệ mã hoá đối xứng hiện đại
13
1.2.2.1 Mã theo chuỗi bit
Trong hệ mã theo chuỗi bit, thông điệp là các bit và khoá được phát sinh
bởi một bộ phát sinh bit ngẫu nhiên. Bản rõ được mã hoá theo từng bit một để
được bản mã:
M
K
0 1 1 0 0 0 1 1 1 1 1 1 1 0 1 0…
1 0 0 1 1 0 0 1 0 0 0 1 0 1 1 1…
C 1 1 1 1 1 0 1 0 1 1 1 0 1 1 0 1…
Khoá được cung cấp cho bộ phát sinh bit ngẫu nhiên để tạo ra dãy tín
hiệu nhị phân. Chuỗi bit khoá K sau đó được trộn với bản rõ M, thường theo

, 1 ≤ i ≤j
là một khối n ký tự.
- Chuyển các ký tự thành các số tương đương và xây dựng bản mã:
C
i
= AM
i
+ B( mod n), i = 1,2,…,j
Trong đó, (A, B) là khoá, A là một ma trận khả nghịch cấp n, với
gcd(det(A), n) = 1, B = (B
1
, B
2
,…, B
n
)
T
, C = (c
1
, c
2
, …, c
n
) và M
i
= (m
1
, m
2
,…, m

thành:
C
i
= E(k,M
i
)

M
i
k
(mod p)
- C
i
được giải mã theo công thức
M
i
= D(v,C
i
)

C
i
v


(M
i
k
)
v

n
, trong đó n là tích của 2 số
nguyên tố phân biệt p và q. Ta nhận thấy rằng
)(n
φ
= (p - 1)(q - 1).
Định nghĩa:
Cho n = p * q với p, q là số nguyên tố lớn. Đặt P = C = Z
n
Chọn b nguyên tố với
)(n
φ
,
)(n
φ
= (p - 1)(q - 1).
K = {(n, a, b): a * b

1 (mod
)(n
φ
)}.
Giá trị n và b là công khai, và a là bí mật
Với mỗi K = (n, a, b), mỗi x

P, y

C, ta có:
Hàm mã hoá:
y = e

mod
)(n
φ
dùng thuật toán Euclide mở rộng
5. R công bố n và b trong một danh bạ và dùng chúng làm khoá công khai.
1.3.1.3 Các phương pháp tấn công hệ mật
Cách tấn công dễ thấy nhất đối với hệ mật mã này là thám mã cố gắng
phân tích n ra các thừa số nguyên tố. Nếu thực hiện được phép phân tích này thì
có thể dễ dàng tính được
)(n
φ
= (p -1)*(q - 1) và tính số mũ a và b đúng như R
làm.
Vì thế để hệ RSA được coi là mật thì nhất thiết n = p*q phải là một số đủ
lớn để việc phân tích nó sẽ không có khả năng về mặt tính toán.
Vì vậy để đảm bảo an toàn, nên chọn các số p và q có chừng 100 chữ số,
khi đó n sẽ có tới 200 chữ số. Phép mã (hoặc giải mã) sẽ xoay quanh phép lấy
luỹ thừa theo module n. Vì n là một số rất lớn nên ta phải sử dụng số học lấy
chính xác nhiều lần để thực hiện các tính toán trong Z
n
và thời gian tính toán cần
thiết sẽ phụ thuộc vào số các bit trong biểu diễn nhị phân của n.
18
1.3.2 Hệ Elgamal
Năm 1985, Elgamal đề nghị một hệ mã khoá công khai dựa trên bài toán
logarithm rời rạc. Chúng ta sẽ bắt đầu bằng việc mô tả bài toán này khi thiết lập
một trường hữu hạn Z
p
, p là số nguyên tố.
Bài toán logarithm rời rạc trong Z

× Z
p
*
. Ta định
nghĩa:
K = {(p, α, a, β): β

α
a
(mod p) }
Các giá trị p, α, β được công khai, còn a giữ bí mật.
Với K = (p, α, a, β) và một số ngẫu nhiên bí mật k

Z
p - 1
, ta xác định:
e
k
(x, k) = (y
1
, y
2
)
trong đó: y = α
k
mod p
và y
2
= x * β
k

vật mang tin. Thông tin có thể được truyền đi, được sao chép hoặc xử lý, để cho
chúng ta các thông tin có ý nghĩa thiết thực. Thông tin được biểu hiện bằng các
tín hiệu vật lý.
Máy tính không thể hiểu được từ ngữ, sách báo tranh ảnh theo nghĩa
thông thường. Máy tính chỉ lưu trữ, xử lý những thông tin đã được số hoá thành
từng bit – giá trị nhỏ nhất của thông tin, hoặc thành một nhóm bit gọi là byte.
Bit có thể có hai giá trị tắt-off/mở-on, hoặc hai giá trị có/không, 0 – zero/1- one.
Máy tính được chế tạo với các thiết bị chuyển mạch (switching device),
có thể chuyển trạng thái dữ liệu sang dạng những số 0 và 1 của hệ thống số nhị phân.
Đó là hệ thống số bao gồm tất cả các số biểu diễn bởi hai ký hiệu 0 và 1.
20
2.1.2 Khái niệm giấu tin
Giấu tin là giấu (hoặc nhúng) một lượng thông tin số vào trong đối
tượng dữ liệu số khác. “Giấu tin” nhiều khi không phải chỉ hành động giấu theo
nghĩa thông thường, mà chỉ mang ý nghĩa quy ước.
 Mục đích của giấu tin
Giấu tin phục vụ cho hai mục đích trái ngược nhau:
- Bảo mật cho những dữ liệu được giấu trong đối tượng chứa.
- Bảo đảm an toàn (bảo vệ bản quyền) cho chính đối tượng chứa dữ liệu giấu
trong đó.
Hai mục đích giấu tin phát triển thành hai lĩnh vực với yêu cầu và tính
chất khác nhau :
- Giấu thông tin bí mật (Steganography).
- Thuỷ vân số (Watermarking).
Hình 2: Hai lĩnh vực của giấu tin
21
Giấu thông tin
<Information hiding>
Thuỷ vân số
<Watermarking>


Hình 4: Sơ đồ tách tin
23
Thông tin đã
giấu M
Khoá giấu tin
Phương tiện
chứa tin C
Phương tiện
chứa tin đã
được giấu (S)
Bộ nhúng
thông tin
Một số thuật ngữ cơ bản:
Giấu dữ liệu (Datahiding) (Information hiding):
Kỹ thuật giấu thông tin nói chung bao gồm: Giấu tin bí mật (steganography)
và giấu tin thuỷ vân (watermaking).
Giấu tin (Steganography):
Kỹ thuật giấu tin mật trong một đối tượng.
Kỹ thuật thuỷ vân (watermaking):
Kỹ thuật giấu tin (kiểu đánh dấu), được dùng để bảo vệ chính đối tượng
chứa tin giấu.
Phương tiện chứa (Cover Object):
Phương tiện được lựa chọn để giấu (hoặc nhúng) thông tin vào trong đó.
Phương tiện chứa sau khi đã giấu tin (Stego Object):
Phương tiện chứa tin, sau khi đã giấu thông tin vào trong đó.
Thông điệp (Message):
Thông tin được giấu trong phương tiện chứa, để chuyển đi.
24
2.1.4 Phân loại kỹ thuật giấu tin


Nhờ tải bản gốc

Tài liệu, ebook tham khảo khác

Music ♫

Copyright: Tài liệu đại học © DMCA.com Protection Status