Đại diện tài liệu và hàm băm

Một phần của tài liệu TỔNG QUAN về y tế điện tử (Trang 31 - 35)

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ất cũ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ản tin gốc. Vớ dụ khi dựng sơ đồ chữ ký DSS để ký vào bản tin cú kớch thước 160bit, thỡ chữ ký số này sẽ cú kớch thước 320bit.

- 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ụ dài vài chục MegaByte (tương ứng với hàng ngàn trang in trờn giấy). Như vậy phải tố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.

Vấn đề 2:

- Với một số sơ đồ chữ ký an toàn, thỡ tốc độ ký lại chậm vỡ chỳng dựng nhiều

phộp tớnh số học phức tạp như số mũ modulo.

Vấn đề 3:

- Thực tế cú thể xảy ra trường hợp: Với nhiều bản tin đầu vào khỏc nhau, sử dụng

hệ mó húa hay sơ đồ ký số giống nhau (cú thể khỏc nhau), nhưng lại cho ra bản mó hay chữ ký giống nhau (đú là ỏnh xạ nhiều – một). Điều này sẽ dẫn đến phức tạp cho việc xỏc thực thụng tin.

32

b/. Cỏch giải quyết vấn đề trờn

Cỏch 1:

- Một cỏch đơn giản để giải quyết cỏc vấn đề trờn với thụng điệp cú kớch thước

lớn là “chặt” bản tin thành nhiều bản nhỏ, sau đú ký lờn cỏc đoạn cú độc lập với nhau. Nhưng biện phỏp này gặp cỏc vấn đề trờn.

- Hơn thế nữa cũn gặp vấn đề ngiờm trọng hơn. Đú là kết quả sau khi ký, nội dung

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 trong chỳng cú thể mất mỏt. Ta cần 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

diện” cho tài liệu, sau đú mới ký số lờn “đại diện” này.

- Cỏc tài liệu cú thể dưới dạng văn bản, hỡnh ảnh, õm thanh, …và kớch thước của

chỳng tựy ý, 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 như 128 bit với dũng MD, 160 bớt 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à hũa 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, … (adsbygoogle = window.adsbygoogle || []).push({});

33

2/. Tổng quan về hàm băm

a/. Hàm băm

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 nú cú nhiệm vụ lọc tài liệu

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ú cú thể suy ra từ giỏ trị hàm 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).

Ứng dụng của hàm băm

- Với bản tin dài x, thỡ chữ ký trờn x cũng sẽ dài, như vậy tốn thời gian ký tốn bộ

nhớ lưu giữ chữ ký, tốn thời gian truyền chữ ký trờn mạng.

Người ta dựng hàm băm h để tạo đại diện bản tin z = h(x), nú cú độ dài ngắn. Sau đú ký trờn z, như vậy chữ ký trờn z sẽ nhỏ hơn rất nhiều so với chữ ký trờn bản tin gốc

- 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, bảo

34

b/. Cỏc tớnh chất của hàm băm

Tớnh chất 1: Hàm băm h là khụng va chạm yếu

- Hàm băm h được gọi là khụng va chạm yếu, nếu cho trước bức điện x, khú thể

tớnh toỏn tỡm ra bức điện x’ ≠ x mà h(x’) = h(x).

Tớnh chất 2: Hàm băm h là khụng va chạm mạnh

- Hàm băm h được gọi là khụng va chạm mạnh nếu khú thể tớnh toỏn để tỡm ra hai

bức thụng điệp khỏc nhau x’ và x (x’ ≠ x) mà h(x’) = h(x). (adsbygoogle = window.adsbygoogle || []).push({});

Tớnh chất 3: Hàm băm h là hàm một chiều

- Hàm băm h được gọi là hàm một chiều nếu khi cho trước một bản túm lược

thụng bỏo z thỡ khú thể tớnh toỏn để tỡm ra thụng điệp ban đầu x sao cho h(x) = z

c/. Cỏc hàm băm

- Cỏc hàm băm dũng MD (MD2, MD4, MD5) do Rivest đề xuất. Gớ trị băm theo

cỏc thuật toỏn này cú độ dài cố định là 128 bit. Hàm băm MD4 được đưa ra vào năm 1990. Một năm sau phiờn bản mạnh hơn là MD5 cũng được đề xuất.

- Hàm băm an toàn SHA, phức tạp hơn nhiều, cũng dựa trờn cỏc phương phỏp

tương tự, được cụng bố trong hồ sơ liờn bang năm 1992 và được chấp nhận làm tiờu chuẩn vào năm 1993 do Viện Tiờu Chuẩn và Cụng Nghệ Quốc Gia (NIST). Giỏ trị băm theo thuật toỏn này cú độ dài cố định là 160bit.

35

Một phần của tài liệu TỔNG QUAN về y tế điện tử (Trang 31 - 35)