Đố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))
Trang 1MỤ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
Trang 2Chươ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.1.3 Mô hình giấu tin……… 22
2.1.3.1 Mô hình giấu tin vào phương tiện chứa……… 22
2.1.3.2 Mô hình tách tin từ phương tiện chứa……….23
Một số thuật ngữ cơ bản……… 24
2.1.4 Phân loại kỹ thuật giấu tin……… 25
2.1.4.1 Phân loại theo phương tiện chứa……….25
2.1.4.2 Phân loại theo cách thức tác động lên phương tiện……….25
2.1.4.3 Phân loại theo mục đích sử dụng………25
2.1.5 Các thành phần trong kỹ thuật giấu tin……… 26
2.1.5.1 Phương tiện chứa tin……… 26
2.1.5.2 Thông tin cần che giấu………27
2.1.5.3 Khoá giấu tin……… 27
2.2 CÁC GIAO THỨC GIẤU TIN……… 28
2.2.1 Giấu tin thuần tuý……….28
2.2.2 Giấu tin sử dụng khoá bí mật……… 29
2.2.3 Giấu tin với khoá công khai……….30
2.3 GIẤU TIN TRONG DỮ LIỆU ĐA PHƯƠNG TIỆN……… 31
2.3.1 Giấu tin trong ảnh………31
2.3.2 Giấu tin trong audio……….32
2.3.2 Giấu tin trong video……….33
Trang 32.4 PHƯƠNG PHÁP GIẤU TIN TRONG MÔI TRƯỜNG ĐA PHƯƠNG TIỆN….34
2.4.1 Một số ký hiệu……….34
2.4.2 Nguyên lý giấu tin bằng cách thay thế………35
2.4.3 Thay đổi các bit ít quan trọng nhất……….37
2.4.4 Phương pháp giấu tin vào các vùng của phương tiện chứa…… 41
2.4.5 Hoán vị giả ngẫu nhiên……….44
2.4.6 Giảm chất lượng ảnh để giấu tin……… 46
2.4.7 Giấu tin trong ảnh màu………47
2.4.7.1 Giấu tin trong các định dạng ảnh dùng bảng màu……… 47
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
Trang 4Chương 1 VẤN ĐỀ MÃ HOÁ THÔNG TIN1.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ênhkhông mật cho hai người sử dụng (có thể gọi là S (Sender) và R (Receiver)) saocho đố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ửicho 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ộtkhoá đã đượ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ườibiế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 dk D Mỗi ek: P → C và dk: C → P là những hàm mã:
dk (ek (x)) = x với mọi bản rõ x P
Tính chất 4 là tính chất chủ yếu Nội dung của nó là nếu một bản rõ xđược mã hoá bằng ek và bản mã nhận được sau đó được giải mã bằng dk thì taphải thu được bản rõ ban đầu x S và R sẽ áp dụng thủ tục sau dùng hệ mật khoáriêng Trước tiên họ chọn ngẫu nhiên một khoá k K Điều này thực hiện khi
họ ở cùng một chỗ và không bị T theo dõi, hoặc khi họ có một kênh mật trongtrường hợp ở xa nhau Sau đó giả sử S muốn gửi một thông báo cho R trên mộtkênh không mật và ta xem thông báo này là một chuỗi: x = x1, x2, …, xn với sốnguyên n ≥ 1 nào đó
Trang 5Ở đây mỗi một ký hiệu của bản rõ x P, 1 ≤ i ≤ n Mỗi xi sẽ được mãhoá bằng quy tắc mã ek với khoá k xác định trước đó.
Bởi vậy, S sẽ tính y = ek (xi), 1 ≤ i ≤ n và chuỗi bản mã nhận được
y = y1y2…yn , sẽ được gửi trên kênh Khi R nhận được y = y1y2…yn anh ta sẽ giải
mã dk và thu được bản rõ gốc x1x2…xn
Hình 1: Kênh liên lạc
Rõ ràng là trong trường hợp này hàm mã hoá ek phải là hàm đơn ánh (tức
là ánh xạ 1 - 1) Nếu không việc giải mã sẽ không thể thực hiện được một cáchtường minh
T
Kênh an toàn
Nguồn khoá
Trang 61.1.2 Phân loại
Các hệ thống mã hoá phổ biến thuộc một trong hai loại sau:
Mã hoá với khoá đối xứng (Symmetric-key Encryption)
Mã hoá với khoá công khai (Public-key Encryption)
Mã hóa đối xứng là hệ mã hoá mà biết được khoá lập mã thì “dễ ” tínhkhoá giải mã và ngược lại Trong một số trường hợp, hệ mã hoá khoá đối xứng
có khoá lập mã và khoá giải mã trùng nhau
Mã hóa với khoá công khai sử dụng hai khóa khác nhau thực sự, để
mã hóa và giải mã thông tin Tức là biết khoá này “khó” tính được khoá kia
Mỗi hệ thống mã hóa có ưu nhược điểm riêng Mã hóa với khoá đối xứng
xử lí nhanh, nhưng độ an toàn không cao Mã hóa với khoá công khai xử lí chậmhơn, nhưng độ an toàn và tính thuân tiện trong quản lí khóa cao
Trong các ứng dụng mã hóa hiện tại, người ta thường kết hợp các ưu điểmcủa cả hai loại mã hóa này
Trang 71.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 Zm là tập các số nguyên từ 0 đến m – 1, ký hiệu đó cũngdù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 Zm được thực hiện giống như cộng và nhân các số thựcngoạ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 Z25 (do có 26 chữ cái trên bảng chữ cáitiếng Anh) mặc dù vậy có thể xác định nó trên Zm với module m tuỳ ý
Định nghĩa:
Giả sử P = C = Z26 với 0 ≤ k ≤ 25 ek(x) = x + K mod 26và
dk(x) = y – K mod 26(x, y Z26)
Trong trường hợp K = 3, hệ mật mã thường được gọi là hệ mã Caesar đãđược Julius Caesar sử dụng
Ta sẽ sử dụng mã dịch vòng (với module 26) để mã hoá một văn bản tiếngAnh thông thường bằng cách thiết lập sự tương ứng giữa các kí tự và các thặng
dư theo module 26 như sau: A 0, B 1, …, Z 25
Trang 8Một hệ mã nổi tiếng khác là hệ mã thay thế
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ã
Trang 9của mã thay thế là mã Affine được mô tả dưới đây Trong mã Affine, ta giới hạnchỉ xét các hàm mã có dạng: e(x) = a * x + b mod 26 (a, b Z26 Các hàm nàyđược gọi là hàm Affine, chú ý rằng khi a = 1 ta có mã dịch vòng).
Định nghĩa:
Cho P = C = Z26 và giả sử
K = {(a, b) Z26 × Z26: UCLN (a, 26) = 1}
Với K = (a, b) K ta định nghĩa:
ek(x) = a * x + b mod 26
và dk(y) = a-1 (y - b) mod 26với x, y Z26
Để 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à anguyên tố với 26, tức UCLN(a, 26) = 1
Khi UCLN (a, 26) = 1, thì có số a-1 Z26 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
Trong cả hai hệ mã dịch vòng và mã thay thế (một khi đã được chọn) mỗi
kí tự sẽ được ánh xạ vào một kí tự duy nhất Vì lý do đó, các hệ mật mã còn lại
Trang 10được gọi là hệ thay thế đơn biểu Bây giờ ta sẽ trình bày một hệ mật mã khôngphải là bộ chữ đơn, đó là hệ mật mã Vigenere nổi tiếng Mật mã này lấy tên củaBlaise de Vigenere sống vào thế kỷ 16.
Sử dụng phép tương ứng A 0, B 1,…, Z 25 mô tả ở trên, ta cóthể gắn cho mỗi khoá K với một chuỗi kí tự có độ dài m được gọi là từ khoá MãVigenere sẽ mã hoá đồng thời m kí tự: Mỗi phần tử của bản rõ tương đương với
Trang 11Trong phần này sẽ mô tả một hệ mật thay thế đa biểu khác đựoc gọi làmật mã Hill Mật mã này do Lester S.Hill đưa ra vào năm 1929 Giả sử m là một
số nguyên dương, đặt P = C = (Z26)m Ý tưởng ở đây là lấy m tổ hợp tuyến tínhcủa m kí tự trong một phần tử của bản rõ để tạo ra m kí tự ở một phần tử của bản
mã Như vậy, khoá sẽ được cho bởi một ma trận cấp m, tức là một phần tử củaZ26m*n Để phép biến đổi tuyến tính xác định bởi ma trận K Z26m*n có phépnghịch đảo, ma trận K cũng phải có phần tử nghịch đảo K-1 Z26m*n Điều kiệncần và đủ để ma trận K có ma trận nghịch đảo là định thức của nó, kí hiệu det Knguyên tố với m
Định nghĩa:
Cho m là số nguyên dương P = C = Z26m,
К = {K Z26m*n: (det K, 26) = 1 }Với mỗi K К, ta có:
ek (x1, x2, …, xm) = (x1, x2, …, xm) * K
và dk (y1, y2, …, ym) = (y1, y2, …, ym) * K-1
1.2.1.6 Mã hoán vị
Trang 12Tấ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úngbằ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 = (Z26)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π (x1, …, xm) = (xπ(1), …, xπ(m))
và dπ (y1, …, ym) = (yπ-1 (1), …, yπ -1 (m))trong đó π-1 là hoán vị ngược của π
1.2.1.7 Mã dòng
Trang 13Trong các hệ mật mã nghiên cứu ở trên, các phần tử liên tiếp của bản rõđều được mã hoá bằng cùng một khoá K Tức xâu bản mã y nhận được có dạng:
y = y1y2y3… = ek (x1) ek (x2)…
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òngkhoá z = z1z2… và dùng nó để mã hoá một xâu bản rõ x = x1x2… theo quy tắc:
y = y1y2y3… = e z1 (x1) e z2 (x2)…
Mã dòng hoạt động như sau: Giả sử k K là khoá và x1x2 là xâu bản
rõ Hàm fi được dùng để tạo zi (zi là phần tử thứ i của dòng khoá) trong đó fi làmột hàm của khoá K và i – 1 kí tự đầu tiên của bản rõ
z = fi (K, x1, …, xi - 1)
Phần tử zi của dòng khoá được dùng để mã xi tạo ra yi = ezi (xi) Bởi vậy,
để mã hoá xâu bản rõ x1x2 ta phải tính liên tiếp: z1, y1, z2, y2…
Việc giải mã xâu bản mã y1y2… có thể được thực hiện bằng cách tính liêntiếp: z1, x1, z2, x2…
Định nghĩa:
Mật mã dòng là một bộ (P, C, K, L, F, E, D) thoả mãn các điều kiện sau:
1 P là 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 là tập hữu hạn các khoá có thể (không gian khoá)
4 L là tập hữu hạn bộ chữ của dòng khoá
5 F = (f1f2….) là bộ toạ dòng khoá (Với i ≥ 1) fi : K × P-1 → L
6 Với mỗi z L có một quy tắc mã ez E và một quy tắc giải mã
tương ứng dz D (ez : P → C và dz : C → P là một hàm thoả mãn dz (ez
(x)) = x với mọi bản rõ x P ).
1.2.2 Hệ mã hoá đối xứng hiện đại
Trang 141.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 sinhbở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ã:
Trang 15Trong mã khối, bản rõ và bản mã được chia thành từng khối ký tự trướckhi thi hành mã hóa và giải mã Kỹ thuật mã theo khối được mô tả như sau:
- Chia văn bản M thành nhiều khối, M = M1M2…Mj, mỗi khối Mi, 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ã:
Ci = AMi + B( mod n), i = 1,2,…,jTrong đó, (A, B) là khoá, A là một ma trận khả nghịch cấp n, vớigcd(det(A), n) = 1, B = (B1, B2,…, Bn)T, C = (c1, c2, …, cn) và Mi = (m1, m2,…, mn)T
- Để giải mã, ta thi hành phép toán:
- Ci được giải mã theo công thức
Mi = D(v,Ci) Civ (Mik)v Mi (mod p)trong đó, kv 1 (mod p-1)
1.2.2.5 DES
Trang 16Mô hình mã khoá bí mật (mã hoá đối xứng) phổ biến nhất đang được sửdụng là DES – Data Encryption Standard - được IBM đề xuất và được uỷ banChuẩn Quốc gia Mỹ, hiện gọi là Viện Quốc gia về chuẩn và công nghệ (NIST),chấp nhận như một chuẩn chính thức.
DES sử dụng một phép toán hoán vị, thay thế, và một số toán tử phi tuyến.Các phép toán tử phi tuyến này được áp dụng (16 lần) vào từng khối của thôngđiệp 32 bit Bản rõ, trước hết, được chia thành các khối thông điệp 64 bit Khoá
sử dụng 56 bit nhận được từ khoá bí mật 64 bit, có chứa 8 bit kiểm tra chẵn lẻ.Thuật giải giải mã được thực hiện theo chiều ngược lại, với cùng một khoá bímật đã dùng khi mã hóa
Trang 171 3 HỆ MÃ HOÁ KHOÁ CÔNG KHAI
Phương pháp mã hoá công khai là sự phối hợp giữa một khoá riêng(Private Key) và một khoá công khai (Public Key) Khoá riêng chỉ được biết bởimỗi máy tính, trong khi khoá công khai được máy tính này cung cấp cho cácmáy tính khác giao tiếp với nó Để giải mã một thông điệp đã mã hoá, máy tínhnhận thông điệp phải dùng khoá bí mật
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 = ek(x) = xb mod nHàm giải mã:
dk (x) = ya mod n
Trang 181.3.1.2 Thực hiện hệ mật
Có nhiều khía cạnh cần thảo luận về hệ mật mã RSA, bao gồm các chi tiết
về việc thiết lập hệ mật mã, tính hiệu quả của phép mã và giải mã và độ mật của
hệ Để thiết lập hệ thống, R sẽ tuân theo các bước sau:
1 R tạo 2 số ngưyên tố lớn p và q
2 R tính n = p * q và (n)= (p - 1)(q - 1)
3 R chọn một số ngẫu nhiên b (1 < b < (n)) sao cho UCLN(b, (n)) =1
4 R tính a = b-1 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ắngphâ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ư Rlà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ấyluỹ 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ấychính xác nhiều lần để thực hiện các tính toán trong Zn và thời gian tính toán cầnthiết sẽ phụ thuộc vào số các bit trong biểu diễn nhị phân của n
Trang 191.3.2 Hệ Elgamal
Năm 1985, Elgamal đề nghị một hệ mã khoá công khai dựa trên bài toánlogarithm 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ậpmột trường hữu hạn Zp, p là số nguyên tố
Bài toán logarithm rời rạc trong Zp là đối tượng trong nhiều công trìnhnghiên cứu và được xem là bài toán khó nếu p được chọn cẩn thận Cụ thể làkhông có một thuật toán thời gian đa thức nào cho bài toán logarithm rời rạc Đểgây khó khăn cho các phương pháp tấn công đã biết, p phải có ít nhất 150 chữ số
và p – 1 phải có ít nhất một thừa số nguyên tố lớn Lợi thế của bài toánlogarithm rời rạc trong xây dựng hệ mật là khó tìm được các logarithm rời rạc,song bài toán ngược lấy luỹ thừa lại có thể tính toán hiệu quả cao theo thuật toánnhân và bình phương Nói cách khác, luỹ thừa theo module p là hàm một chiềuvới các số nguyên tố p thích hợp
Elgamal đã phát triển một hệ khoá công khai dựa trên bài toán logarithmrời rạc Hệ mật mã Elgamal là một hệ mật mã không tất định vì bản mã phụthuộc vào bản rõ x lẫn giá trị ngẫu nhiên k do người gửi chọn Bởi vậy, sẽ cónhiều bản mã được mã từ cùng bản rõ
Định nghĩa:
Cho p là số nguyên tố sao cho bài toán logarithm rời rạc trong Zp là khógiải Cho Zp* là phần tử nguyên thuỷ Giả sử P = Zp*, C = Zp* × Zp* 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 Zp - 1, ta xác định:
ek(x, k) = (y1, y2)trong đó: y = α k mod p
và y2 = x * β): β k mod p
Trang 20với y1, y2 Zp* ta xác định: dk (y1, y2) = y2 (y1a)-1 mod p.
Chương 2 VẤN ĐỀ GIẤU TIN2.1 KHÁI NIỆM VỀ GIẤU TIN
2.1.1 Khái niệm thông tin “số hoá”
Thông tin là một khái niệm trừu tượng, thể hiện dưới nhiều dạng thứckhác nhau Thông tin có thể phát sinh, được lưu trữ, được biến đổi trong nhữngvật mang tin Thông tin có thể được truyền đi, được sao chép hoặc xử lý, để chochú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áctí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ĩathông thường Máy tính chỉ lưu trữ, xử lý những thông tin đã được số hoá thànhtừ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
Trang 212.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 đốitượng dữ liệu số khác “Giấu tin” nhiều khi không phải chỉ hành động giấu theonghĩ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ấutrong đó
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ínhchấ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
Giấu thông tin
Trang 222.1.3 Mô hình giấu tin
2.1.3.1 Mô hình giấu tin vào phương tiện chứa
Hình 3: Sơ đồ giấu tin
Đầu vào:
- Thông tin cần giấu: Tuỳ theo mục đích của người dùng, nó có thể là thông điệp(với giấu tin bí mật) hay là các logo, hình ảnh bản quyền
- Phương tiện chứa: các file ảnh, text, audio…là môi trường để giấu tin
- Khoá: thành phần để góp phần làm tăng độ bảo mật
Bộ nhúng thông tin: là chương trình thực hiện việc giấu tin.
Đầu ra: là phương tiện chứa, đã có tin giấu trong đó.
Phương tiện chứa tin
đã được giấu (S)
Phân phối
Trang 232.1.3.2 Mô hình tách tin từ phương tiện chứa
Diễn ra theo quy trình ngược lại với giấu tin:đầu ra là các thông tin đượcgiấu và phương tiện chứa
Hình 4: Sơ đồ tách tin
Thông tin đã giấu M
Khoá giấu tin
Phương tiện chứa tin C
Trang 24Mộ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ượngchứ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
Trang 252.1.4 Phân loại kỹ thuật giấu tin
Có nhiều cách để tiến hành phân loại các phương pháp giấu thông tin theocác tiêu chí khác nhau, như theo các phương tiện chứa tin, các phương pháp tácđộng lên phương tiện chứa tin, hay phân loại theo các ứng dụng cụ thể
2.1.4.1 Phân loại theo phương tiện chứa tin
- Giấu thông tin trong ảnh
- Giấu thông tin trong các file âm thanh
- Giấu thông tin trong video
- Giấu thông tin trong văn bản dạng text
2.1.4.2 Phân loại theo cách thức tác động lên phương tiện
- Phương pháp chèn dữ liệu: tìm vị trí trong file dễ bị bỏ qua, và chèn các
dữ liệu cần giấu vào đó (vd: dữ liệu được giấu sau các ký tự EOF)
- Phương pháp thay thế: thay thế các phần tử không quan trọng củaphương tiện chứa, bằng các dữ liệu của thông điệp cần giấu (vd: thay thế các bit
ít quan trọng, thay thế trong miền tần số, các kỹ thuật trải phổ, thống kê…)
- Phương pháp tạo các phương tiện chứa: Từ thông điệp cần chuyển đi, sẽtạo ra hợp lý phương tiện chứa, để phục vụ cho việc truyền thông tin đó
2.1.4.3 Phân loại theo mục đích sử dụng
- Giấu thông tin bí mật
- Giấu thông tin thuỷ vân