BÁO CÁO TIỂU LUẬN MẬT MÃ VÀ AN TOÀN DỮ LIỆU Chữ ký số trên âm thanh số Trong những năm gần đây, mạng internet phát triển mạnh cùng với việc chia sẻ thông tin, lan truyền tập tin âm thanh trên mạng. Nhưng môi trường mạng internet là môi trường hỗn hợp của nhiều mạng, nhiều loại thông tin. Do vậy, vấn đề bản quyền thông tin, xác định nguồn của thông tin, cụ thể ở đây là âm thanh số là một điều mới mẻ và chưa được triển khai rộng rãi ở Việt Nam.
Trang 1Chữ ký số trên âm thanh số
Giảng viên hướng dẫn : PGS.TS Trịnh Nhật Tiến Sinh viên thực hiện : Bùi Trung Hiếu
HÀ NỘI 5 – 2014
Trang 2M c l c ục lục ục lục
MỤC LỤC 2
GIỚI THIỆU 3
I ĐẶC TRƯNG CỦA DỮ LIỆU ÂM THANH 4
II XỬ LÝ TÍN HIỆU SỐ 7
II.1 Đại cương về tín hiệu và nhiễu 7
II.2 Phân tích Fourier 8
II.3 Lý thuyết trải phổ 11
II.4 Chuỗi giả ngẫu nhiên (PN – Pseudo Noise) 12
II.5 Mô hình giả lập hệ thính giác 13
III ĐẠI DIỆN TÀI LIỆU VÀ HÀM BĂM 15
III.1 Vấn đề đại diện tài liệu và Hàm băm 15
III.2 Tổng quan về Hàm băm 17
IV CHỮ KÝ SỐ 19
IV.1 Khái niệm chữ ký số 19
IV.2 Phân loại chữ ký số 20
IV.3 Một số loại chữ ký số 21
IV.4 Ứng dụng chữ ký số trên âm thanh số 24
V MÃ NGUỒN 25
V.1 Xây dựng lớp BigInteger 25
V.2 Các phương thức chính của chữ ký điện tử RSA 28
TÀI LIỆU THAM KHẢO 34
Trang 3GI I THI U ỚI THIỆU ỆU
Trong những năm gần đây, mạng internet phát triển mạnh cùng với việc chia sẻthông tin, lan truyền tập tin âm thanh trên mạng Nhưng môi trường mạng internet làmôi trường hỗn hợp của nhiều mạng, nhiều loại thông tin Do vậy, vấn đề bản quyềnthông tin, xác định nguồn của thông tin, cụ thể ở đây là âm thanh số là một điều mới
mẻ và chưa được triển khai rộng rãi ở Việt Nam Chữ ký điện tử còn khá mới, chỉ đượctriển khai ở một số ít các doanh nghiệp tư, cơ quan hải quan, cơ quan thuế của Chínhphủ, mới chỉ được áp dụng trên tập tin văn bản, tập tin ảnh số
Trong tiểu luận này, tôi tập trung trình bày những kiến thức cơ bản nhất về đặctrưng dữ liệu âm thanh, hàm băm, chữ ký số và ứng dụng chữ ký số trên âm thanhsố
Mặt dù đã hết sức cố gắng, nhưng do thời gian có hạn, cùng sự hạn chế của bảnthân nên đề tài còn nhiều thiếu sót Rất mong nhận được ý kiến đóng góp của thầy cô
và các bạn
Trang 4I ĐẶC TRƯNG CỦA DỮ LIỆU ÂM THANH
Âm thanh số (digital audio) là kết quả của quá trình biến đổi từ sóng âm thanhthành tín hiệu số Sóng âm thanh là các sóng cơ học có dạng hình sin tuần hoàn liêntục (analog), trong khi “âm thanh số” chỉ là những xung điện từ rời rạc (digital) Do
đó, bằng những “mẩu” rời rạc, âm thanh số chỉ có thể mô phỏng một cách gần giốngnhất với âm thanh thực tế mà thôi Việc mô phỏng đó được đặc trưng bởi các thông
số sau:
- Bit Rate: Là thông số thu gọn, đại diện cơ bản cho các thuộc tính trên, Bit
Rate có đơn vị Kbps (Kilobits per second) – dung lượng (tính theo bit) của
âm thanh số trên một giây Với Bit rate, ta có thể xác định nhanh chóngdung lượng cũng như phần nào chất lượng của bản âm thanh Một phútnhạc 128 Kbps có dung lượng khoảng 1Mb và bản nhạc 320 Kbps thì chắcchắn sẽ hay hơn bản nhạc 128 Kbps
- Sample: Là một bộ phận của âm thanh analog được mã hóa thành dạng số.
Sample có thể dùng để chỉ một điểm đơn lẻ trong stream âm thanh số (làđơn vị nhỏ nhất của dữ liệu dùng để biểu diễn một tín hiệu âm thanh tạimột khoảng thời gian nhất định) Một âm thanh hoàn chỉnh hay toàn bộmột stream âm thanh số được cấu tạo từ việc kết hợp những sample riêngbiệt (một chuỗi sample) cũng có thể được coi là một sample
- Sample Rate: Là số sample (tạm dịch là mẫu) trong một khoảng thời gian
nhất định (thường là 1 giây) của âm thanh kỹ thuật số, quyết định trực tiếptới chất lượng âm thanh Khi một tập tin âm thanh số được ghi lại, nó phảiđược convert vào một chuỗi những mẫu (series of sample) mà bản thânchúng có thể lưu lại được trên bộ nhớ, trên các thiết bị lưu trữ kỹ thuật số.Sample rate sẽ thông báo cho ta biết trong tập tin âm thanh có bao nhiêumẫu được ghi lại trong một giây Đơn vị của sample rate là Hz
Ví dụ dễ hiểu, một tập tin âm thanh được ghi ở sample rate 44100 sẽ cần đến
44100 mẫu/giây để lưu giữ âm thanh trong một chuỗi mẫu
Sample rate càng cao, chất lượng của chuỗi mẫu càng tốt và càng ít xảy rahiện tượng gọi là aliasing (là hiện tượng xuất hiện những tần số âm thanh khôngmong muốn sinh ra bởi việc thiếu hụt thông tin từ sample rate) Mỗi mẫu sẽ cần mộtlượng bit nhất định để lưu trữ gọi là sample size, và ta có thể tính toán dung lượngcần thiết cho một sample
Ví dụ: với âm thanh 16 bit, ta cần sử dụng 16 bit hay 2 byte cho một mẫu (8bit = 1 byte) Như vậy 1 giây âm thanh với sample rate 44100/16 bit mono (một
Trang 5Nếu cũng với các thông số như vậy nhưng thay vì mono, ta sử dụng stereo (2kênh âm thanh), dung lượng sẽ phải nhân đôi và trở thành 176400 byte Đây là lý do
vì sao âm thanh vòm (5.1) hay các loại âm thanh sử dụng nhiều kênh khác (6.1, 7.1,
…) lớn hơn rất nhiều so với âm thanh stereo hay mono mặc dù chúng cũng được nén
ở cùng chất lượng
- BitDepth: Để lưu lại dưới dạng số, mỗi mẫu được biểu diễn bằng một
lượng bit dữ liệu nhất định, gọi là Bit Depth Các bản nhạc hiện nay thường
có Bit Depth là 16 bits, 24 bits… Bit Depth càng lớn âm thanh càng sắcnét, trung thực nên nó còn được gọi là Resolution (độ nét)
- Kênh âm thanh (Channel): Bằng các thuật toán, tín hiệu số sẽ được tách ra
thành nhiều kênh sao cho khi nghe bằng hệ thống loa thích hợp sẽ có cảmgiác như khi đang nghe nhạc trong không gian thực tế
- Âm thanh Lossy, lossless và uncompressed
Âm thanh uncompressed là loại âm thanh không áp dụng bất kỳ một phươngpháp nén nào Được sử dụng dưới định dạng WAV hay PCM
Âm thanh lossless là loại âm thanh sử dụng phương pháp loại bỏ những dữliệu không liên quan tồn tại trong file gốc để thu được một file nhỏ hơn nhưng vẫngiữ được chất lượng như ban đầu Âm thanh xử lý lossless sẽ có bit rate thấp hơn sovới âm thanh chưa nén Âm thanh lossless được sử dụng rộng rãi và phát triển thànhnhững định dạng quen thuộc như AC3, AAC, DTS, MPEG-1/2/3, Vorbis, RealAudio…
Âm thanh lossy là loại âm thanh thu được khi sử dụng những phần mềmencode âm thanh phổ biến hiện nay để chuyển đổi các định dạng âm thanh Đây làloại âm thanh bị giảm chất lượng vì quá trình lossy encode sẽ không giữ nguyên
Trang 6những phần cần thiết trong file âm thanh gốc Lấy ví dụ, khi encode từ WAV sangMP3, bạn đã thực hiện phương pháp lossy encode cho file âm thanh WAV chưa néncủa mình, và file MP3 thu được đã bị giảm chất lượng so với file gốc, nó là âm thanhlossy Mọi chuyện thậm chí còn tồi tệ hơn với việc encode file MP3 lossy đó thànhOGG (có thể là định dạng khác), file OGG thu được đã bị quá trình encode lossygiảm chất lượng tới 2 lần.
- Các dạng bit rate CBR/ABR/VBR
CBR-Constant bit rate: nghĩa là bit rate của stream là một hằng số và khôngthay đổi tại bất kỳ điểm nào của stream
ABR-Average bit rate: nghĩa là stream có thể sử dụng bit rate thay đổi cho mỗiframe, nhưng bit rate trung bình của toàn bộ stream là cố định
VBR-Variable bit rate: nghĩa là stream có thể sử dụng bit rate thay đổi chomỗi frame và tùy biến để đạt được bit rate cần thiết cho mỗi frame, vì vậy bit ratetrung bình không thể xác định trước khi encode hay tính toán cụ thể
- Âm thanh Stereo, joint stereo, và dual channel
Dual channel tích hợp bởi 2 kênh mono, nghĩa là mỗi kênh sẽ được encode vớimột nửa của toàn bộ bit rate
Stereo tích hợp bởi 2 kênh âm thanh độc lập với nhau Bit rate cung cấp giữa 2kênh âm thanh thay đổi phù hợp với lượng thông tin được chứa trong mỗi kênh
Joint stereo cũng tích hợp 2 kênh âm thanh nhưng có một bước tiến xa hơn vì
có thể sử dụng được những mẫu chung thường xuất hiện ở cả 2 kênh Do đó độ nén
sẽ tốt hơn so với stereo bình thường
Trang 7II XỬ LÝ TÍN HIỆU SỐ
2.1 Đại cương về tín hiệu và nhiễu
a) Khái niệm tín hiệu
Tín hiệu là sự biên thiên của biên độ theo thời gian Biên độ có thể làđiện áp, dòng điện, công suất… nhưng thường được hiểu là điện áp Các yếu tố trongtín hiệu mà chúng ta thường nhắc tới là biên độ và thời gian
Ví dụ: Xét sóng của tín hiệu x = sin (2*pi*100*t)
b) Khái niệm nhiễu
Nhiễu là tín hiệu do chính bản thân mạch điện từ và môi trường truyềnthông phát sinh ra Giảm nhiễu hoặc khử nhiễu là thao tác chính trong xử lý tín hiệu
số Nhiễu trắng là nhiễu có độ lớn như nhau ở mọi tần số (trên lý thuyết), trong thực
tế chúng ta chỉ xét trong phạm vị giới hạn băng tần khá rộng hay nói đúng hơn nhiễutrắng là tín hiệu có mật độ công suất phổ (PSD) cố định ở mọi băng tần
Có hai loại phân bổ xác suất của nhiễu thường nhắc tới là nhiễu phân bốđều và nhiễu Gauss
+ Phân bố đều là phân bố có hàm mật độ PDF f(x) không đổi trongkhoảng biến thiên của biến số x, có giá trị kỳ vọng là µ=0
+ Phân bố Gauss là phân bố chuẩn Dạng nhiễu phổ biến nhất trong thực
tế là nhiễu trắng có phân bổ Gauss
Trang 8c) Phân loại tín hiệu
Tùy theo từng tiêu chuẩn mà có nhiều cách phân loại khác nhau:
+ Dạng sóng: tín hiệu sin, vuông, tác giác, xung…
+ Tần số: hạ tần, cao tần (HF), âm tần (AF), siêu cao tần (VHF)…
+ Sự liên tục: tín hiệu liên tục, tín hiệu rời rạc
+ Tính xác định: tín hiệu xác định, tín hiệu ngẫu nhiên
2.2 Phân tích Fourier
a) Biến đổi Fourier rời rạc (DFT)
Tín hiệu tuần hoàn rất ít gặp trong thực tế, trong khi đó tín hiệu khôngtuần hoàn và có số mẫu giới hạn lại thường xảy ra Đối với các tín hiệu này lại khôngphù hợp với phép biển đổi Fourier rời rạc theo thời gian Do đó đối với tín hiệukhông tuần hoàn có độ dài hữu hạn N, người ta thường xem nó như là tín hiệu tuầnhoàn ở chu kỳ N, theo định nghĩa Fourier rời rạc của tín hiệu ta có:
Trang 9Với k = 0,1,…,N-1 Đây là phép biến đổi Fourier thuận, ký hiệu DFT.
XK được gọi là hệ số phổ
Ngược lại, tín hiệu tổng hợp từ các hệ số phổ là:
Với n = 0, 1, …, N-1
Đây là phép biển đổi Fourier ngược, ký hiệu là IDFT
b) Biến đổi Fourier nhanh (FFT)
Biểu thức DFT và IDFT chỉ thực hiện trên các phép nhân và phép cộng nhưng
vì có quá nhiều phép toán nên cần nhiều thời gian xử lý Tuy nhiên một lợi điểm làtrong DFT và IDFT có hàm mũ, sin, cosin dẫn tới nhiều trùng lặp trong các phéptính FFT là thuật toán để tính nhanh DFT và IDFT Vì có nhiều thuật toán FFT nên
có nhiều tên gọi khác nhau
Xét biểu thức DFT
Vậy phần thực, phần ảo, biên độ và pha lần lượt là
Trang 10c) Ứng dụng
* Phân tích phổ - rò rỉ phổPhân tích phổ số là phân ly tín hiệu số thành các thành phần tần số Đây
là một kỹ thuật rất hữu ích trong khoa học công nghệ Chúng ta nên phân biệt phântích phổ và lọc, phân tích phổ đơn giản là phân tích, kiểm nghiệm tín hiệu chứ khônglọc Đối tượng của phân tích phổ là các tín hiệu trong tư nhiên như là: tiếng nói, tínhiệu địa chất, tín hiệu sinh học, dữ liệu thị trường Phân tích phổ còn được áp dụngcho việc khảo sát các hệ thống như hệ thống lọc
Lọc tín hiệu ra khỏi miền nhiễu dùng DFT và FFT là cách hiệu quả đểphát hiện tín hiệu chìm trong nền nhiễu Ví dụ: một tín hiệu sóng vuông bị chìmtrong nhiễu, bề ngoài chúng ta rất khó xác định được chúng Qua FFT, năng lượngtín hiệu sẽ tập trung ở một số phổ vạch, còn nhiễu thì trải rộng, nhờ đó chúng ta cóthể phát hiện ra tín hiệu
* Đáp ứng của sổBiến đổi Fourier là phương pháp cơ bản để thiết kế các lọc phổ phi đệquy
Gọi G(Ω) là đáp ứng tần số được yêu cầu và H(Ω): xung của hệ thống.) là đáp ứng tần số được yêu cầu và H(Ω) là đáp ứng tần số được yêu cầu và H(Ω): xung của hệ thống.): xung của hệ thống.Đối với G(Ω) là đáp ứng tần số được yêu cầu và H(Ω): xung của hệ thống.) đáp ứng xung được cho bởi biểu thức Fourier như sau:
Xem mạch lọc là thông thấp lý tưởng tức là G(Ω) là đáp ứng tần số được yêu cầu và H(Ω): xung của hệ thống.) = 1 khi - Ω) là đáp ứng tần số được yêu cầu và H(Ω): xung của hệ thống.C < Ω) là đáp ứng tần số được yêu cầu và H(Ω): xung của hệ thống < Ω) là đáp ứng tần số được yêu cầu và H(Ω): xung của hệ thống.C
, ngược lại thì G(Ω) là đáp ứng tần số được yêu cầu và H(Ω): xung của hệ thống.) = 0
* Độn khôngĐây là thao tác thực hiện chèn bít 0 vào các thành phần trống của tínhiệu sau khi thực hiện lọc qua cửa sổ
* Nhân chập nhanhGiúp thực hiện nhanh các thao tác tính toán nhân chập trên tín hiệu
* Đáp ứng xungLưu ý:
Trang 11Đáp ứng xung của hệ thống H là tín hiệu ra h(t), tín hiệu vào là mộtxung lực đơn vị ∂(t) Vì xung lực ở t=0 nên đáp ứng xung cũng bắt đâu ở t=0.
b) Đặc điểm của trải phổ
Điều chế trải phổ có nhiều tính năng quan trọng như sau:
Chống lại các nhiễu cố ý hay vô tình
Có khả năng loại trừ ảnh hưởng của truyền sóng nhiễu tia
Có khả năng dùng chung băng tần với người sử dụng khác
Trang 12 Sử dụng được cho thông tin vệ tinh ở chế độ CDMA.
Đảm bảo tính riêng tư nhờ sử dụng các mã trải phổ giả ngẫu nhiên
Được phép hoạt động không cần giấy phép ở ba lĩnh vực là: côngnghiệp, khoa học, y tế, với công suất đến 1W ở các băng tần: 902-
928 MHz, 2.4 – 2.4835GHz, 5.725-5.85 GHz
2.4 Chuỗi giả ngẫu nhiên (PN – Pseudo Noise)
Các tín hiệu trải phổ băng thông rộng tựa tạp âm được tao ra bằng cácchuỗi giả ngẫu nhiên Các chuỗi này phải được tạo ra theo một quy luật xác định,nhưng ngẫu nhiên trước các quan sát bình thường
Chuỗi m có độ dài cực đại 2m được xem là chuỗi giả ngẫu nhiên quantrọng nhất được tạo thành thông qua ghi dịch nối tiếp và các cổng XOR Chuỗi nàyđược xác định bằng một đa thức tạo mã tuyến tính g(x) bậc m(m>0)
g(x) = gmxm + gm-1xm-1 + gm-2xm-2 + … + g1x + g0 (1)Trong đó gi có giá trị là 0 hoặc 1 và gm = g0 = 1
Cho g(x) = 0 Ta có sự hồi quy như sau :
1 = g1x + g2x2 + … + gm-1xm-1+ gmxm (2)Với xk thể hiện đơn vị trễ Nếu gi = 1, khóa tương ứng là mạch đóng,ngược lại khóa tương ứng là mạch mở Thanh ghi dịch là một mạch cơ số có 2 trạngthái với m phần tử nhớ Vì thế số trạng thái khcs 0 cực đại là 2m – 1
Giả sử si(j) biểu diễn giá trị phần tử thứ j trong thanh ghi dịch ở xungđồng hồ i là vector có độ dài hữu hạn si = [ si(1), si(2), … , si(m)] Đầu ra ở nhịp xungthứ i là ci-m = si (m) Thay vào (2), ta có :
ci = g1ci-1 + g2ci-2 + … + gm-1ci-(m-1) + gmci-m (3)
ci+m = g1ci+m-1 + g2ci+m-2 + … + gm-1ci+1 + ci(mod 2) (4)
Trang 132.5 Mô hình giả lập hệ thính giác
Mô hình giả lập hệ thính giác là một thuất toán cố gắng mô phỏng lại cơchế cảm nhận âm thanh của tai người Nó sử dụng các kiến thức tổng hợp từ nhiềungành, đặc biệt là hai ngành : sinh lý học và thính âm học
Trong quá trình xử lý, một cơ chế rất quan trọng được dùng là “ngụytrang tần số đồng bộ” Mô hình thính giác xử lý tín hiệu âm thanh để tạo ra ngưỡngngụy trang sau cùng Thông tin này dùng để “làm trơn” tín hiệu âm thanh đã được ký
số để tai người không cảm nhận được Để giảm thời gian xử lý, ta chia tín hiệu thànhnhiều đoạn nhỏ liên tiếp, chồng lấp một phần lên nhau, mỗi đoạn nhỏ này được gọi
là một frame
s(t): tín hiệu âm thanh trên miền thời gian
Đầu tiên, tín hiệu âm thanh được chuyển từ miền thời gian sang miền tần sốthông qua phép biến đổi Fourier Từng đại lượng trong mô hình được xác định nhưsau:
s(jw) = FFT (s(t))
Sp(jw) = Re{Sw(jw)}2 + Im{Sw(jw)}2 = {Sw(jw)}2
Spz được biểu diễn bằng đơn vị Bark Công thức chuyển đổi từ đơn vị Hzsang Bark như sau:
Trang 14HBZ và LBZ là các tần số trên và tần số dưới của critical band z.
Sm(z) = Spz(z) * B(z)
T(z) là ngưỡng nghe sau cùng, được tính bằng công thức:
T(z) = max (Tnorm(z), TH)TH: (ngưỡng nghe) là giá trị nhỏ nhất có thể nghe được và được tính theocông thức
TH = max([Ppt(jw)])Trong đó Ppt(jw) là công suất của tín hiệu thăm dò p(t):
p(t) = sin(2∏sin 4000r)Tnorm(z) là ngưỡng nghe sau khi chuẩn hóa ngưỡng nghe thô Và được tínhnhư sau:
Với Traw(z) là ngưỡng năng lượng thô:
Trong đó O(z) = α(14.5 + z) + (1 – α)5.5
Trang 15III Đại diện tài liệu và Hàm băm
3.1 Vấn đề đại diện tài liệu và hàm băm
a) Một số vấn đề với “chữ ký số”
* Vấn đề 1:
“Ký số” thực hiện trên từng bit tài liệu, nên độ dài của “chữ ký số” ít nhấtcũng bằng độ dài của tài liệu Một số chữ ký trên bản tin có kích thước gấp đôi bảntin gốc Ví dụ khi dùng sơ đồ chữ ký DSS để ký vào bản tin có kích thước 160 bit,thì chữ ký số này sẽ có kích thước 320 bit
Trong khi đó trên thực tế, ta cần phải ký vào các bản tin có kích thước rất lớn,
ví dụ vài chục MegaByte (tương ứng hàng ngàn trang tin trên giấy) Như vậy phảitốn nhiều bộ nhớ để lưu trữ “chữ ký”, mặt khác tốn nhiều thời gian để truyền “chữký” trên mạng…
Hơn thế nữa còn gặp vấn đề nghiêm trọng hơn Đó là kết quả sau khi ký, nộidung của thông điệp có thể bị xáo trộn các đoạn với nhau, hoặc một số đoạn trongchúng có thể bị mất mát Ta cần phải bảo vệ tính toàn vẹn của bản tin gốc
* Cách 2:
Thay vì phải ký trên tài liệu dài, người ta thường dùng “hàm băm” để tạo “đại
Trang 16Các tài liệu (bản tin) có thể dưới dạng văn bản, hình ảnh, âm thanh, … và kíchthước của chúng tùy ý (vài KB đến vài chục MB), qua các thuật toán băm: như MD4,
MD5, SHA, các “đại diện” tương ứng của chúng có kích thước cố định, ví dụ 128
bit với dòng MD, 160 bit với dòng SHA
“Đại diện” của tài liệu chính là giá trị của “hàm băm” trên tài liệu, nó còn
được gọi là “tóm lược” hay “bản thu gọn” của tài liệu
Với mỗi tài liệu (đầu vào), qua “hàm băm” chỉ có thể tính ra được một “đại
diện” – giá trị băm tương ứng – duy nhất “Đại diện” của tài liệu được xem là “đặc thù” của tài liệu (thông điệp), giống như dấu vân tay của mỗi người.
Trên thực tế, hai tài liệu khác nhau có hai “đại diện” khác nhau Như vậy khi
đã có “đại diện” duy nhất cho một tài liệu, thì việc “ký” vào tài liệu, được thay bằng
“ký” vào “đại diện” của nó là hoàn toàn hợp lý Đó là chưa kể việc tiết kiệm bao
nhiêu thời gian cho việc “ký số”, bộ nhớ lưu giữ “chữ ký”, thời gian truyền “chữ ký”trên mạng,…
Cơ chế gửi tài liệu cùng “chữ ký” trên nó sử dụng hàm băm được mô tả theocác hình sau
Trang 173.2 Tổng quan về Hàm băm
a) Hàm băm (Hàm tạo đại diện tài liệu)
* Khái niệm Hàm băm
Hàm băm là thuật toán không dùng khóa để mã hóa (ở đây dùng thuật ngữ
“băm” thay cho “mã hóa”), nó có nhiệm vụ “lọc” (băm) tài liệu (bản tin) và cho kết
quả là một giá trị “băm” có kích thước cố định, còn gọi là “đại diện tài liệu” hay
“đại diện bản tin”, “đại diện thông điệp”
Hàm băm là hàm một chiều, theo nghĩa giá trị của hàm băm là duy nhất, và từ giá trị băm này, “khó thể” suy ngược lại được nội dung hay độ dài ban đầu của tài
liệu gốc
* Đặc tính của Hàm băm
Hàm băm h là hàm một chiều (One-way Hash) với các đặc tính sau:
+ Với tài liệu đầu vào (bản tin gốc) x, chỉ thu được giá trị băm duy nhất z =
h(x).
+ Nếu dữ liệu trong bản tin x bị thay đổi hay bị xóa để thành bản tin x’, thì giá trị băm h(x’) ≠ h(x).
Cho dù chỉ là một sự thay đổi nhỏ, ví dụ chỉ thay đổi 1 bit dữ liệu của bản tin
gốc x, thì giá trị băm h(x) của nó cũng vẫn thay đổi Điều này có nghĩa là: hai thông
điệp khác nhau, thì giá trị băm của chúng cũng khác nhau
+ Nội dung của bản tin gốc “khó” thể suy ra từ giá trị băm của nó Nghĩa là:
với thông điệp x thì “dễ” tĩnh được z = h(x), nhưng lại “khó” tính ngược lại được x nếu chỉ biết giá trị băm h(x) (Kể cả khi biết hàm băm h)
+ Hàm băm dùng để xác định tính toàn vẹn dữ liệu/
+ Hàm băm dùng để bảo mật một số dữ liệu đặc biệt, ví dụ bảo vệ mật khẩu,