1. Trang chủ
  2. » Công Nghệ Thông Tin

Các công trình nghiên cứu, phát triển và ứng dụng CNTT-TT

62 638 1

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 62
Dung lượng 1,73 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Phạm Văn Ất Một thuật toán giấu tin trong ảnh có bảng màu 14Lưu Hồng Dũng Phát triển thuật toán mật mã khóa công khai dựa trên hệ mật Mai Thị Như Nguyễn Duy Phương Một phương pháp lọ

Trang 1

Phạm Văn Ất Một thuật toán giấu tin trong ảnh có bảng màu 14

Lưu Hồng Dũng Phát triển thuật toán mật mã khóa công khai dựa trên hệ mật

Mai Thị Như

Nguyễn Duy Phương

Một phương pháp lọc cộng tác dựa trên mô hình đồ thị hai

Nguyễn Đức Quang,

Phạm Hồng Liên và Lưu

Thanh Trà

Giải pháp sử dụng bộ lọc thích nghi Kalman cho hệ thống

Nguyễn Thị Thu Hương

Lê Ngọc Minh Ứng dụng văn phạm liên kết trong dịch máy Việt – Anh 44 Cao Hữu Tình

Vũ Hỏa Tiễn

Nguyễn Công Định

Khảo sát hệ thống tự động ổn định trên khoang tên lửa điều

Trang 2

Contents

Tran Minh Tan

Do Van Tuan

Luu Hong Dung Development of Public Key Cryptographic Algorithm

Mai Thi Nhu

Nguyen Duy Phuong

A collaborative Filtering Method Based on Bipartite Graph

Nguyen Duc Quang

Pham Hong Lien

Luu Thanh Tra

Solution of Applying Adaptive Kalman Filter for Channel

Nguyen Thi Thu Huong

Nguyen Cong Dinh

The Investigation on Automatic Stability System of Missile

Trang 3

Abstract: Domain Name Server (DNS) system, a

root source providing answers with IP addresses for

any request for domain names, is regarded as the most

important part of Internet DNS system also plays a

very important part of cryptography analytic

infrastructure of Internet Any change made to DNS

system can make the system fall into malfunction,

boosting complexity levels in dealing with triggered

issues [2,11] Therefore, security for DNS is a vital

must For the time being, RSA algorithm [6,12] has

become the de factor standard for DNS security

However, RSA requires a longer key length of more

than 1000 bits [10,15], affecting performance

efficiency of DNS system Hence, elliptic curve

cryptography or ECC is regarded as an alternative

mechanism for implementing public-key cryptography

The ECC is expected to be used not only in new

generation mobile devices [13] but also in DNS

system in the near future as ECC requires shorter key

length than RSA but providing the same security level

This paper focuses on introducing ECC and new

findings related to this mechanism such as key pair

generation algorithms, key transfer, encryption and

decryption in ECC, as well as findings of the trial on

the Vietnam national domain name system dot VN;

these findings aims to apply for certification domain

name data transfer for the DNS system of a country

and compare with the same method in RSA algorithm

I GIỚI THIỆU

Bảo mật cho các hệ thống mạng Internet nói chung

và hệ thống tên miền nói riêng là một nhiệm vụ hết

sức quan trọng và cấp bách trong hoàn cảnh hiện nay

Tiến triển theo thời gian, các cuộc tấn công vào mạng

Internet ở Việt Nam và trên thế giới đang diễn ra ngày

càng nhiều với hình thức ngày một tinh vi, phạm vi ngày càng lớn hơn Thực tế đã có những trường hợp, những thời điểm tin tặc thông qua việc tấn công vào

hệ thống máy chủ tên miền (DNS) đã làm tê liệt mạng Internet trên diện rộng trong nhiều giờ gây thiệt hại lớn về an ninh cũng như kinh tế Để giải quyết vấn đề

an toàn cho hệ thống DNS, công nghệ bảo mật DNSSEC (DNS Security Extensions) đã được nghiên cứu và đang được đưa vào áp dụng trong thời gian qua [6]

Năm 1976, Whifield Diffie và Martin Hellman đã

đưa ra khái niệm mã bảo mật khóa công khai (PKC -

Public Key Cryptography) Từ đó, nhiều ứng dụng của

nó đã ra đời và nhiều thuật toán đã được phát triển để giải quyết các bài toán bảo mật Mức độ bảo mật yêu cầu càng cao thì cỡ khóa phải càng lớn Với hệ mật mã RSA đang được áp dụng trong hầu hết các ứng dụng, trong đó bao gồm cả bài toán bảo mật cho DNS qua công nghệ DNSSEC [2,6,9] đã nói ở trên, để đảm bảo yêu cầu bảo mật, hiện phải cần cỡ khóa lớn hơn 1000 bit [10,15] Thực tế, tháng 3 năm 2010, tại hội nghị DATE 2010 - Dresden Đức, các nhà khoa học Andrea Pellegrini, Valeria Bertacco và Todd Austin thuộc trường Đại học Michigan đã công bố kết quả phát hiện một kẽ hở trong hệ mật mã RSA, cách phá vỡ hệ thống, lấy khoá bí mật của RSA 1024 bit chỉ trong vòng 104 giờ thay vì vài năm nếu tấn công theo cách

dò tìm lần lượt thông thường [15] Công bố này cũng

đồng nghĩa với tuyên bố rằng, với RSA để đảm bản an

toàn sẽ phải tiếp tục tăng độ dài khóa (công nghệ DNSSEC cho hệ thống DNS hiện tại thường sử dụng RSA với độ dài khóa 2048 bit) Điều này kéo theo việc phải tăng năng lực tính toán của thiết bị; làm tăng

đáng kể kích thước các file dữ liệu được ký xác thực;

tăng thời gian xử lý và lưu lượng dữ liệu phải truyền

Nâng cao hiệu quả bảo mật cho hệ thống tên miền

Security Enhancement for Domain Name System

Tần Minh Tân và Nguyễn Văn Tam

Trang 4

tải trên mạng; đòi hỏi dung lượng lưu trữ của bộ nhớ

lớn hơn, nguồn tiêu thụ nhiều hơn, Và như vậy cũng

có nghĩa là sẽ không đảm bảo hiệu quả về mặt kinh tế

Năm 1985, Neal Koblitz và Victor Miller đã nghiên

cứu và đưa ra những công bố về hệ mật mã bảo mật

dựa trên đường cong Elliptic (Elliptic Curve

Cryptography - ECC) có những đặc tính đặc biệt

[3,4,8]: Yêu cầu năng lực tính toán thấp; tiết kiệm bộ

nhớ; tiết kiệm băng thông; tiết kiệm năng lượng; tính

bảo mật cao Từ những đặc điểm nổi trội ấy, nhiều nhà

khoa học đã đi sâu vào nghiên cứu hệ mật mã bảo mật

đường cong Elliptic [1,7,10,11] và bước đầu đã có các

ứng dụng vào một số lĩnh vực bảo mật, đặc biệt cho

các thiết bị thông tin di động [13], thiết bị USB[9]

Phát triển các kết quả này, Công ty Certicom -

Công ty đi đầu trong lĩnh vực nghiên cứu hệ mật mã

bảo mật ECC [16], đã nghiên cứu, triển khai một số

ứng dụng và công bố các số liệu so sánh về mức độ

bảo mật giữa các hệ mật mã RSA và ECC Theo đó

với độ dài khóa 160 bit, hệ mật mã ECC đã có độ bảo

mật tương đương với hệ mật mã RSA-1024 bit; và với

độ dài khóa 224 bit, hệ mật mã ECC có độ bảo mật

tương đương với hệ mật mã RSA-2048 bit [3]

Bảng 1 So sánh độ dài khóa của các hệ mật mã với

lý, khả năng lưu trữ (đặc biệt là với các thiết bị di

động) [13] Tuy nhiên với các lợi thế về mức độ bảo

mật và kích thước khóa nhỏ như đã nói ở trên, ECC hoàn toàn có thể được áp dụng cho các hệ thống lớn như DNS để thay thế, khắc phục các nhược điểm về

độ dài khóa của RSA Bài báo này chúng tôi sẽ đề

xuất phương pháp cài đặt hệ mật mã ECC lên các giao dịch trao đổi dữ liệu giữa các máy chủ trong hệ thống DNS để nâng cao tính bảo mật và hiệu năng cho hệ thống này

Trong [1], tác giả đã chỉ ra những bước cơ bản để xây dựng thuật toán bảo mật bằng đường cong Elliptic, tuy vậy mới dừng lại ở công thức tổng quan hoặc ở ví dụ cụ thể bằng số Ở đây, chúng tôi sẽ xây dựng chi tiết các thuật toán tạo khóa, chuyển khóa, mã hóa và giải mã trên ECC một cách đơn giản và rõ ràng hơn nhằm giảm số bước thực hiện Đây là nền tảng để xây dựng hệ mật mã ECC

Trang 5

Trong các nội dung tiếp theo, Phần 2 chúng tôi sẽ

trình bày phát biểu bài toán hệ mật mã đường cong

Elliptic (ECC) và kết quả xây dựng một số thuật toán

trong ECC để áp dụng cho việc xác thực trong quá

trình trao đổi dữ liệu trên mạng Internet; Phần 3 trình

bày kết quả thực nghiệm ECC, ứng dụng các thuật

toán nói trên trong việc xác thực dữ liệu tên miền

trong hệ thống DNS cấp quốc gia, so sánh với cách sử

dụng phương pháp tương tự bằng RSA; cuối cùng là

phần kết luận

II PHÁT BIỂU BÀI TOÁN

Đường cong Elliptic trên GF(p) hoặc Zp với số

nguyên tố p được xác định bằng phương trình Cubic:

y2 = ( x3 + ax + b) mod p, với các hệ số a và b và các

biến x và y là các phần tử của Zp thỏa mãn ràng buộc

(4a3 + 27b2) mod p ≠ 0 [14]

Như vậy ta dễ dàng nhận thấy đường cong Elliptic

(E) có phương trình là hàm chẵn đối với biến y, do đó

đồ thị của (E) nhận trục hoành Ox là trục đối xứng

• Điểm ΘΘΘ là điểm thuộc (E) nằm ở vô cùng,

được gọi là phần tử trung hòa

• Với mỗi điểm P=(x,y), phần tử đối của P là

điểm -P=(x,-y), ta định nghĩa tổng hai điểm

P+(-P) = P-P = ΘΘΘ Hay -P là điểm đối xứng

của P qua trục Ox

• Với 2 điểm P=(xP, yP) và Q=(xQ, yQ) với xP≠

xQ, một đường thẳng đi qua hai điểm P, Q sẽ

giao với (E) tại một điểm duy nhất Ta định

nghĩa điểm R = -(P+Q) Nếu đường thẳng này

là tiếp tuyến của (E) tại điểm P hoặc Q thì

tương ứng R≡P hoặc R≡Q Điểm đối xứng của

R là -R được gọi là điểm tổng của P và Q

• Đường thẳng đi qua P và -P (tức P và Q có

cùng hoành độ), sẽ giao với (E) tại điểm vô

cùng, do vậy R = P+(-P) = ΘΘΘ

Để nhân đôi điểm P, ta vẽ tiếp tuyến của (E)

tại P, tiếp tuyến này sẽ giao với (E) tại điểm

Q, ta có Q= -(P+P)=-2P Hay -Q=2P Với những đặc điểm trên, tập các điểm thuộc

đường cong (E) tạo thành một nhóm Abel

Hệ mật mã đường cong Elliptic (ECC) được xây dựng trên cơ sở bài toán logarith trên đường cong Elliptic Độ bảo mật ECC phụ thuộc vào độ khó của bài toán logarith rời rạc đường cong Elliptic Giả sử P

và Q là hai điểm trên đường cong Elliptic sao cho

k*P=Q trong đó k là một đại lượng vô hướng với P và

Q đã cho, bằng cách tính toán suy luận để thu được k

trên cơ sở thuật toán rời rạc của Q đối với P

Với một điểm P cho trước và hệ số k, ta có thể dễ

dàng tính ra được điểm Q tương ứng trên đường cong Elliptic Tuy nhiên theo chiều ngược lại, để tìm ra hệ

số k (khóa k) từ điểm Q và điểm P lại là một bài toán

"rất khó" nếu như hệ số k là một số đủ lớn (có độ dài

224 bit chẳng hạn) Dựa trên cơ sở bài toán logarit rời rạc xét trên tập các điểm thuộc đường cong Elliptic này, hệ mật mã ECC cung cấp đầy đủ cả 4 dịch vụ an ninh: mã hóa, xác thực, ký số và trao đổi khóa; đảm

Trang 6

Thống nhất

bảo cho việc xây dựng một hạ tầng xác thực khóa

công khai trên Internet Do đó một trong những thuật

toán chủ yếu trong ECC là tạo khóa, chuyển khóa, mã

đã nói ở trên với các tham số p, a và b đã chọn Lấy

điểm cơ sở G từ nhóm Ep(a,b) trên đường cong

Elliptic, bậc của nó phải là một giá trị n lớn [14] Bậc

n của điểm G trên đường cong Elliptic được xác định

bằng số nguyên dương bé nhất n sao cho n*G = 0 [14]

Tham số hệ mật mã ECC trên trường nguyên tố

hữu hạn Fp.[4]:

T = (p, a, b, G, n, h) (2)

Trong đó: p là số nguyên dương xác định trường

nguyên tố hữu hạn Fp và chọn [log2P] ∈ {192, 224,

256, 384, 512}; a,b là các hệ số ∈Fb xác định đường

cong trên Elliptic E(Fb) trên trường Fb(1); h là phần

số thập phân, h= #E(Fb)/n với #E(Fb) là số các điểm

thuộc đường cong E(Fb)

Theo các bước tạo khóa được xác định tại [14],

chúng tôi xây dựng thuật toán như Hình 3

Thuyết minh thuật toán:

• Đầu vào: Bên gửi A và Bên nhận B thống nhất

đường cong Elliptic và tham số hệ mật mã

đường cong Elliptic T

• Đầu ra: Khóa công khai của A: PA và khóa

công khai của B: PB cần được thiết lập

Các bước thuật toán:

1 A chọn ngẫu nhiên một số nguyên dương nA < n

2 A xác lập tích PA = nA*G = (xA, yA)

Cặp khóa công khai và khóa riêng của A là (PA, nA)

3 B chọn ngẫu nhiên số nguyên nB< n và tính

PB = nB * G = (xB, yB)

Cặp khóa công khai, khóa riêng của B là (PB, nB)

Thuật toán tạo khóa: Hai bên gửi A và nhận B

Hình 3 Thuật toán tạo khóa

2 Thuật toán trao đổi khóa

Hình 4 Thuật toán trao đổi khóa

n A

P A = n A *G (X A, Y A )

P B = n B *G (X B, Y B )

Trang 7

Thuyết minh thuật toán:

Thuật toán trao đổi khóa được hình thành sau khi

bên A và bên B đã được tạo khóa PA và PB thể hiện ở

điểm a, b tương ứng trên hình 3 như đã nói ở trên

Thuật toán được diễn đạt như sau:

• Đầu vào: Cặp khóa PA và PB

• Đầu ra: PA B ; PB A

Xác nhận đúng đối tượng cần kết nối thông tin

bằng kết quả hai bên tìm được khóa chia sẻ chung K

Các bước thực hiện :

1 A truyền khóa PA cho B; B truyền khóa PB cho

A

2 Cả A và B tính khóa chia sẻ:

• Phía A: Lấy nA của mình nhân với khóa PB

nhận được từ B tạo ra:

K= nA*PB = nA *(nB*G) = nA* nB* G

• Phía B: Lấy nB của mình nhân với khóa PA

nhận được từ A tạo ra:

K= nB*PA = nB* (nA*G) = nA*nB* G

Như vậy cả A và B đều nhận được K giống nhau

3 Thuật toán mã hóa và giải mã

Thuật toán mã hóa và giải mã Elliptic được Bellaer

và Rogaway đề xuất [3], thực chất là một biến thể của

hệ mật mã công khai Elgamal Ở đây chúng tôi cụ thể

hơn dưới dạng lưu đồ thuật toán và đơn giản hơn bằng

cách bỏ qua thủ tục tính cặp khóa, tính bản mã sử

dụng

Thuật toán mã hóa:

Hình 5 Lưu đồ thuật toán mã hóa

• Đầu vào: A muốn gửi bản tin M cho B

• Đầu ra : Văn bản mã cM

• Các bước thực hiện:

1 A chọn ngẫu nhiên một số nguyên dương thỏa mãn 0 < k < n và tính: c1 = k*G và c2 = M + k*PB trong đó PB là khóa công khai của B

2 A gửi văn bản đã mã hóa cM = { c1, c2} cho B Thuật toán giải mã

Hình 6 Lưu đồ thuật toán giải mã

B tách c1 và nhân c1 với khóa riêng nB của nó

và lấy c2 trừ đi kết quả đó:

c2 - nB*c1 = M + k*PB - nB * (k*G) = M + k*(nB*G) - nB*(k*G) = M

Vậy đã thực hiện xong giải mã

Trang 8

Bảng 2 Tổng hợp số liệu về thời gian ký xác thực và kích thước các zone file tên miền VN trước và sau khi ký

bằng DNSSEC với RSA-2048 bit và ký bằng ECC-224 bit

Zone zone file ban Kích thước

đầu (Bytes)

Kích thước zone file sau khi ký xác thực (bytes) Thời gian ký (giây)

Số tên miền

được

Với DNSSEC sử dụng RSA-2048 bit

Với

ECC-224 bit

Với DNSSEC sử dụng RSA-2048 bit

III KẾT QUẢ THỰC NGHIỆM

Trên cơ sở các thuật toán đề xuất ở trên, chúng tôi

đã sử dụng ngôn ngữ lập trình Java để cài đặt các thuật

toán, áp dụng vào quá trình xác thực trong các giao

dịch trao đổi dữ liệu tên miền giữa máy chủ DNS

chính (Primary DNS Server) và các máy chủ phụ

(Secondary DNS Server) Thí nghiệm được thực hiện

trên các zone file dữ liệu tên miền được lấy trực tiếp

về từ hệ thống DSN quốc gia

Để đảm bảo an toàn và dự phòng bổ sung, san tải

cho nhau, hệ thống DNS được thiết kế theo quy định

sẽ gồm một máy chủ DNS chính và nhiều máy chủ

DNS phụ Theo các mốc thời gian định kỳ tùy thuộc

vào cơ chế khai báo trên máy chủ DNS chính, các máy

chủ DNS phụ sẽ tự động kết nối với máy chủ DNS

chính để tải các file dữ liệu tên miền đã có sự thay đổi

trên máy chủ chính về máy chủ phụ để đáp ứng việc

cập nhật kịp thời các thay đổi nhằm trả lời chính xác

các truy vấn về tên miền từ các máy tính trên mạng

Internet được hỏi đến nó Quá trình này được gọi là cơ

chế zone transfer trong quy trình quản lý hệ thống

DNS Để bảo mật cho quá trình đồng bộ dữ liệu này,

ngoài giải pháp phần cứng (khai báo cấu hình mạng

chỉ cho phép các máy chủ phụ có địa chỉ IP từ trong

một danh sách đã được định nghĩa trước mới có quyền

kết nối vào máy chủ chính), hiện chỉ mới có công

nghệ bảo mật DNSSEC sử dụng RSA đang được áp

dụng là có triển khai việc ký xác thực, mã hóa dữ liệu tên miền trong quá trình trao đổi giữa các máy chủ DNS với nhau Ở đây, chúng tôi đã xây dựng chương trình ký xác thực, mã hóa, giải mã bằng ECC tương tự như các bước làm của DNSSEC sau đó lần lượt sử dụng ECC để thực hiện việc ký xác thực, mã hóa dữ liệu trên các zone tên miền quốc gia bao gồm vn, com.vn, net.vn, org.vn, edu.vn và ac.vn và so sánh với các kết quả đã thu được bằng phương pháp sử dụng DNSSEC

Các kết quả thu bằng hai phương pháp được đem ra

so sánh theo các tiêu chí sau: 1/ Thời gian ký xác thực; 2/Kích thước zone file sau khi ký xác thực Chi tiết

được thể hiện trong Bảng 2

Kết quả so sánh này cho thấy, sau khi ký xác thực bằng RSA-2048 bit với DNSSEC, kích thước các zone file tăng bình quân xấp xỉ 7,31 lần, trong khi đó sau ký xác thực bằng ECC-224 bit kích thước chỉ tăng bình quân 1,74 lần so với file dữ liệu gốc Về thời gian ký xác thực, khi sử dụng RSA-2048 bit sẽ lâu hơn bình quân 7,8 lần so với việc ký bằng ECC-224 bit theo thuật toán đã đề xuất

Tổng hợp so sánh kết quả thực nghiệm trên các zone file được lấy liên tiếp mỗi khi có sự thay đổi các bản ghi tên miền trên zone của máy chủ DNS chính trong vòng 24 giờ liên tục (theo cơ chế yêu cầu máy chủ DNS phụ cập nhật toàn bộ nội dung file mỗi khi

có thay đổi) được thể hiện trên các sơ đồ sau:

Trang 9

Hình 7 So sánh kích thước zone file tên miền sau khi

ký xác thực với RSA-2048 bit và ECC-224 bit

Hình 8 So sánh thời gian ký xác thực bằng

RSA-2048 bit và ECC-224 bit trên các zone file gốc

Như vậy, rõ ràng ECC có các ưu điểm vượt trội

về thời gian xử lý và đặc biệt là làm giảm đáng kể kích

thước các zone file dữ liệu tên miền sau khi được ký

xác thực so với phương pháp dùng RSA trong

DNSSEC với cùng một mức độ bảo mật Việc sử dụng ECC đã làm giảm tương đối thời gian, dữ liệu phải truyền tải trên mạng trong quá trình đồng bộ tên miền giữa máy chủ DNS chính và các máy chủ DNS phụ,

đồng thời tiết kiệm đáng kể băng thông (hiện tại hệ

thống DNS quốc gia đang phải đồng bộ dữ liệu thường xuyên trong ngày giữa máy chủ chính và 26 máy chủ phụ đặt tại các địa điểm khác nhau trên toàn cầu) Việc

ứng dụng ECC sẽ nâng cao rõ rệt hiệu năng cho hệ

thống máy chủ tên miền

IV KẾT LUẬN

Bài báo này nghiên cứu áp dụng mã bảo mật đường cong Elliptic, trong đó đã :

- Xây dựng lưu đồ thuật toán tạo khóa dựa trên

đường cong Elliptic và tham số T(p, a, b, G, n, h),

giúp cho việc tính toán rõ ràng và đơn giản

Xây dựng thuật toán trao đổi khóa thống nhất với thuật toán tạo khóa và bỏ qua được các bước A tạo PA gửi B

và B tạo PB gửi A như trong [3] Đồng thời thuật toán

ở đây đơn giản

- Đưa ra thuật toán mã hóa, giải mã đơn giản hơn

so với trước đây

- Cuối cùng trong bài báo này, chúng tôi đã trình bày kết quả thực nghiệm cài đặt thuật toán, áp dụng thử nghiệm trên các file dữ liệu tên miền được lấy trực tiếp về từ hệ thống DSN quốc gia (các file trên thực tế

sẽ tham gia trong quá trình trao đổi dữ liệu tên miền giữa máy chủ DNS quốc gia) So sánh thời gian ký xác thực, kích thước các file dữ liệu sau khi triển khai thử nghiệm bằng ECC-224 bit qua các thuật toán được xây dựng trong bài báo với các kết quả đã thu được khi sử dụng công nghệ DNSSEC sử dụng RSA-2048 bit Kết quả thực nghiệm đã khẳng định được tính ưu việt của việc ứng dụng các thuật toán trên ECC đã được đề xuất trong bài báo so với phương pháp thông dụng hiện nay là RSA

Từ những phân tích trên, ta thấy việc nghiên cứu,

ứng dụng mã bảo mật đường cong Elliptic - ECC như

những kết quả đã đưa ra đã đạt yêu cầu làm tăng tính bảo mật hơn so với RSA, đồng thời với ba thuật toán

Trang 10

đã nêu làm đơn giản số bước tính toán Đây sẽ là nền

tảng cơ sở để giải quyết việc tránh phải tiếp tục nâng

độ dài khóa như RSA mà vẫn đáp ứng được yêu cầu

về bảo mật (khó phá khóa) với kích thước khóa nhỏ

hơn Việc áp dụng mã bảo mật đường cong Elliptic -

ECC trong các hệ thống lớn như DNS là một hướng đi

đúng và trọng tâm trong thời gian tới Trong hướng

nghiên cứu sắp tới, chúng tôi sẽ mở rộng xét chọn

miền tham số cho đường cong Elliptic để sử dụng làm

mã bảo mật

TÀI LIỆU THAM KHẢO

[1] ANOOP MS, Elliptic Curve Cryptography An

Implementation Guide anoopms@tataelxsi.co.in

[2] B WELLINGTON, Domain Name System Security

(DNSSEC) signing Authority, RFC 3008, Internet

Engineering Task Force, November 2000

http://www.ietf.org/rfc/rfc3008.txt

[3] CERTICOM RESEARCH, SEC1: Elliptic Curve

http://www.secg.org/collateral/sec1_final.pdf

[4] CERTICOM RESEARCH, SEC2: Recommended

Elliptic Curve Domain Parameters, Version 2.0

January 27, 2010,

www.secg.org/download/aid-784/sec2-v2.pdf

[5] DARREL HANKERSON, JULIO LÓSPEZ

HERNANDERZ, ALFRED MENEZES, Software

Implementation of Elliptic Curve Cryptography over

Binary Fields, CHES 2000

[6] DANIEL MASSEY, ED LEWIS and OLAFUR

GUDMUNDSSON, Public Key Validation for the DNS

Security Extensions, DARPA Information Survivability

Conference & Exposition II, 2001 DISCEX '01

Proceedings, Print ISBN: 0-7695-1212-7, 2001

[7] F HESS, Generalising the GHS attack on the Elliptic

Curve Discrete logarithm problem, LMS J Comput,

Math 7, 2004

[8] JACOB SCOTT, Elliptic Curve Cryptography,

December 14, 2010

[9] JAGDISH BHATTA and LOK PRAKASH PANDEY,

Perfomance Evaluation of RSA Variants and Elliptic

Curve Cryptography on Handheld Devices IJCSNS

International Journal of Computer Science and Network Security, VOL 11 No 11, November 2011 [10] N GURA A PATEL, A WANDER, H EBERLE and S.C SHANTZ, Comparing Elliptic Curve Cryptography and RSA on 8 bit CPUS, Proccedings of

Workshop on Cryptographic Hardware and Embedded Systems (CHES 2004) 6th Internetional Workshop -

2004 [11] M ABDALLA, M BELLARE and P.ROGAWAY,

DHAES An encryption Scheme based on the Difflie - Hellman problem, Submission to P1363a: Standerd

specifications for Public-Key Cryptography, Additional

Techniques, 2000

[12] REZA CURTMOLA, ANIELLO DEL SORBO,

GIUSEPPE ATENIESE, On the Performance and

Analysis of DNS Security Extensions, Cryptology and

Network Security, 4th International Conference, CANS

2005

[13]WENDY CHOU, Elliptic Curve Crytography and its

Applications to Mobile Devices, University of

http://www.cs.umd.edu/Honors/reports /ECCpaper.pdf

[14]W STALLINGS, Crypotography and Network

Security, Fourth Edition 2009

[15] ANDREA PELLEGRINI, VALERIA BERTACCO and

TODD AUSTIN, Fault Based Attack of RSA

Authentication, Design, Automation and Test in Europe

(DATE) conference in Dresden on March 10 http://web.eecs.umich.edu/~valeria/research/publication s/DDTE10RSA.pdf

[16] Certicom Website: http://certicom.com

Nhận bài ngày: 25/05/2012

Trang 11

SƠ LƯỢC VỀ TÁC GIẢ

TRẦN MINH TÂN

Sinh ngày 02/9/1968 tại Hưng Yên

Tốt nghiệp Đại học Sư phạm

Hà Nội I - Khoa Vật Lý năm

1991, Đại học Bách khoa Hà Nội - Khoa CNTT năm 1996

Nhận bằng Thạc sỹ chuyên ngành CNTT năm 2006 tại Trường Đại học Công

nghệ - ĐHQG Hà Nội Đang là nghiên cứu sinh tại

Viện Công nghệ Thông tin - Viện Khoa học và Công

nghệ Việt Nam

Hiện công tác tại Trung tâm Internet Việt Nam - Bộ

Thông tin và Truyền thông

Lĩnh vực nghiên cứu: An toàn, bảo mật trên mạng

Internet, công nghệ IPv6, DNS

Điện thoại: 0913275577, 04.35564944 máy lẻ 512

Được phong Phó Giáo sư năm 1996

Hiện đang công tác tại Phòng Tin học viễn thông - Viện Công nghệ Thông tin

Lĩnh vực nghiên cứu: Công nghệ mạng và Quản trị, an toàn mạng

Điện thoại: 0913390606, 04.38362136 Email: nvtam@ioit.ac.vn

Trang 12

Abstract: This paper proposes a new algorithm to

embed data in palette image In each image block of

original image, this algorithm can hide a bit by

modifying at most one pixel of block New color of

modified pixel resembles the color of its some

neighborhood pixels, so the image after hiding very

close to the original image The experimental results

showed that the invisible of proposed algorithm is

better than algorithms Fridrich and Ez Stego

Keywords: data hiding, steganography, security

watermarking, Palette images

I GIỚI THIỆU

Ngày nay, mạng Internet đóng vai trò quan trọng

trong việc trao đổi dữ liệu giữa những người dùng

Bên cạnh những thuận lợi, vấn đề bảo mật thông tin

trên Internet luôn là những thách thức đối với các cấp

quản lý và các nhà nghiên cứu Trước đây, các phương

pháp mã hóa luôn là sự lựa chọn để bảo mật thông tin

và đã mang lại những thành công nhất định Tuy

nhiên, việc truyền tải công khai các bản mã sẽ tạo ra

sự chú ý, thách thức đối với các đối thủ, những người

muốn khám phá nội dung của bản mã một cách trái

phép Gần đây, bên cạnh các phương pháp mật mã

truyền thống, kỹ thuật giấu tin giữ vai trò quan trọng

trong các bài toán bảo mật thông tin, bảo vệ bản

quyền, xác thực dữ liệu

Giấu tin là kỹ thuật nhúng thêm thông tin vào các

dữ liệu đa phương tiện Thông tin được nhúng có thể

là các thông điệp bí mật cần trao đổi, hoặc là các thông

tin về sản phẩm Dữ liệu dùng để mang thông tin

nhúng thường là những dạng dữ liệu phổ biến trên

Internet như: ảnh, âm thanh, video Theo [1], kỹ thuật

giấu tin cần có một số tính chất cơ bản như: tính che

giấu, tính khả nhúng và tính bảo mật Theo định dạng

ảnh, các kỹ thuật giấu được chia thành hai loại chính

Loại thứ nhất, gồm các kỹ thuật giấu tin trên ảnh không có bảng màu [2,9,10] Ảnh không có bảng màu thường là những ảnh có số lượng màu lớn, dữ liệu ảnh chính là các giá trị màu của điểm ảnh Lợi dụng sự hạn chế của hệ thống thị giác không phát hiện ra sự thay

đổi nhỏ về màu sắc, các thuật toán giấu tin trên dạng ảnh này dễ dàng có được tính che giấu cao bằng cách

thay đổi một lượng nhỏ giá trị màu trong vùng dữ liệu

ảnh Loại thứ 2, gồm các kỹ thuật giấu tin trên ảnh có

bảng màu [3]-[8] Đối với ảnh có bảng màu, dữ liệu

ảnh là chỉ số màu của điểm ảnh Hai chỉ số gần nhau

có thể tham chiếu tới hai màu rất khác nhau Do vậy, các thuật toán giấu tin trên dạng ảnh này gặp phải những khó khăn nhất định, bởi vì chỉ cần có thay đổi nhỏ về chỉ số màu có thể sẽ dẫn đến sự khác biệt lớn

về màu sắc của điểm ảnh trước và sau khi thay đổi Với ảnh có bảng màu, để nâng cao tính che giấu, các kỹ thuật giấu tin thường tìm cách thay thế một màu có chỉ số chẵn bằng màu gần nhất có chỉ số lẻ hoặc ngược lại [3,4,7,8] Dựa trên ý tưởng này, phương pháp Ez Stego [7] sắp xếp lại các màu trong bảng màu theo cường độ sáng Cường độ sáng của màu c với các thành phần Rc, Gc, Bc được tính theo công thức:

= 0.299 + 0.587 + 0.144

Sau khi sắp xếp lại bảng màu, các màu giống nhau

sẽ có chỉ số màu gần nhau Tuy nhiên, theo Fridrich[3,4], hai màu khác nhau vẫn có thể có cường

độ sáng bằng nhau, vì vậy tác giả đã sử dụng khoảng

cách Euclid để đánh giá sự khác biệt về màu ứng với các chỉ số màu i và j theo công thức:

= ( − ) + ( − ) + ( − )

Một thuật toán giấu tin trong ảnh có bảng màu

A New Data Hiding Algorithm in Palette Images

Đỗ Văn Tuấn và Phạm Văn Ất

Trang 13

trong đó Ri, Gi, Bi và Rj, Gj, Bj là giá trị màu ứng với

các chỉ số i và j trong bảng màu Khi cần thay đổi một

màu có chỉ số chẵn (hay lẻ), Fridrich sẽ duyệt các màu

có chỉ số lẻ (hay chẵn) để tìm màu gần nhất (theo

khoảng cách Euclid) với màu cần thay đổi Tuy nhiên,

chiến thuật thay thế màu gần nhất của các thuật toán

vẫn có thể tạo ra các màu mới cô lập, vì vậy trong một

số trường hợp, ảnh chứa tin giấu dễ bị phát hiện

Để nâng cao chất lượng của ảnh sau khi giấu tin,

trong [6] các tác giả G Pan, Z Wu, Y Pan đã đề xuất

thuật toán giấu tin cho ảnh ít màu bằng cách sử dụng

một tập các khối mẫu có kích thước 3×3, các khối mẫu

sẽ có sự ưu tiên khác nhau trong quá trình sử dụng để

nhúng tin Mỗi khối mẫu được xác định bởi 8 điểm

xung quanh điểm tâm của khối, trong đó chia làm hai

phần liên thông, một phần gồm các điểm có màu

giống nhau được gọi là màu mẫu, phần còn lại gồm

các điểu có màu khác màu mẫu được gọi là màu tham

dự (nominated color) Thuật toán sẽ tìm các khối ảnh

kích thước 3×3 trùng với một mẫu trong tập mẫu và

nhúng một bít bằng cách biến đổi màu của điểm tâm

khối thành màu mẫu hoặc màu tham dự Với cách thay

đổi như vậy, thuật toán có hai tính chất quan trọng:

điểm ảnh được chọn để thay đổi luôn nằm trên biên

của hai miền có màu khác nhau và không xuất hiện

màu mới Nhờ vậy, thuật toán có tính che giấu cao

Tuy nhiên, khối lượng tin có thể nhúng được còn chưa

nhiều như chính nhận xét của các tác giả Cũng cần

nhận xét thêm, ý tưởng chọn điểm trên biên để thay

đổi cũng đã được các tác giả M Wu [11] và Y C

Tseng[12] sử dụng để giấu tin trên ảnh nhị phân,

nhưng mỗi phương pháp đều có cách chọn khác nhau

Dựa trên phương pháp giấu tin theo khối bít và tính

chẵn lẻ, bài báo này đề xuất một lược đồ giấu tin trên

ảnh có bảng màu Theo đó, vùng dữ liệu của ảnh gốc

sẽ được chia thành các khối cùng kích thước Với mỗi

khối sẽ giấu được một bít và biến đổi nhiều nhất một

phần tử Khi cần biến đổi tính chẵn lẻ của khối, thuật

toán sẽ thay thế giá trị của một phần tử bằng giá trị của

phần tử liền kề nhưng khác tính chẵn lẻ Với chiến

thuật thay thế như vậy, thuật toán đề xuất cũng có hai

tính chất giống như thuật toán [6], do đó nó cũng có tính che giấu khá cao

Nội dung tiếp theo của bài báo được tổ chức như sau: Phần 2 giới thiệu một số ký hiệu và định nghĩa

được sử dụng trong bài báo Phần 3 trình bày nội dung

thuật toán đề xuất Tính đúng đắn của thuật toán được chứng minh trong Phần 4 Phần 5 trình bày kết quả thực nghiệm của thuật toán đề xuất và so sánh với hai thuật toán Fridrich, Ez Stego Cuối cùng, Phần 6 là

một số kết luận

II MỘT SỐ KÝ HIỆU VÀ ĐỊNH NGHĨA

Để tiện cho việc trình bày, trong bài báo sử dụng

một số ký hiệu và định nghĩa như sau:

- Ký hiệu × là tập các ma trận nguyên không âm

cấp m×n (m hàng và n cột)

- Với ∈ × , nói phần tử (i,j) có nghĩa là phần tử

trên hàng i và cột j (chỉ quan tâm đến vị trí), nói phần

tử Fi,j là phần tử trên hàng i, cột j và có giá trị bằng Fi,j

(quan tâm đến cả vị trí và giá trị) Hai giá trị Fi,j, Fu,v

khác tính chẵn lẻ được ký hiệu là Fi,j# Fu,v

Định nghĩa 2.1 Phép nhân đồng vị ⊗ hai ma trận

∈ × , ∈ × ký hiệu là C = A ⊗ B và được xác định theo công thức: Ci,j = Ai,j × Bi,j với i=1,2,…,m

và j = 1,2,…,n

Định nghĩa 2.2 Phép toán SUM trên ma trận

× là một số nguyên, ký hiệu SUM(A) và tính theo công thức:

Định nghĩa 2.4 Trên ma trận ∈ × , phần tử (u,v)

được gọi là liền kề với phần tử (i,j) ký hiệu là:

(i,j) (u,v) nếu Max{|u-i|, |v-j|}= 1

Định nghĩa 2.5 Ma trận nhị phân ' ∈ × được gọi

là ma trận liên thông nếu với mỗi cặp hai phần tử bất

Trang 14

kỳ không kề nhau (i,j) và (u,v) có giá trị Ki,j=Ku,v=1

luôn tồn tại dãy các phần tử (pt,qt), t=1,…,k sao cho:

III THUẬT TOÁN ĐỀ XUẤT

Với ảnh có bảng màu, dữ liệu ảnh là một ma trận

gồm các chỉ số màu có giá trị nguyên từ 0 đến 255

Ma trận dữ liệu ảnh được chia thành các ma trận con

cùng cấp và thuật toán sẽ giấu một bít dữ liệu trên mỗi

ma trận con Để tiện cho việc theo dõi, dưới đây sẽ

trình bày thuật toán giấu một bít vào một ma trận con

III.1 Ý tưởng của thuật toán đề xuất

Giả sử cần nhúng một bít tin mật b vào ma trận con

∈ × Thuật toán đề xuất dựa trên ý tưởng giấu

tin của Wu-Lee[11], sử dụng ma trân nhị phân

' ∈ × làm khóa bí mật và biến đổi nhiều nhất một

phần tử trên F để !"#( ⨂') cùng tính chẵn lẻ với b

Trong thuật toán Wu-Lee, Fi,j là các giá trị 0 hoặc 1,

nên việc biến đổi một phần tử trên F chỉ đơn giản là

chuyển từ 0 sang 1 hoặc từ 1 sang 0 Ở đây, Fi,j có giá

trị từ 0 đến 255 Vấn đề chọn phần tử nào để biến đổi

và chọn giá mới cho phần tử cần biến đổi để nâng cao

chất lượng của ảnh sau khi giấu tin là các nội dung

chính của thuật toán đề xuất

Trong thuật toán đề xuất sử dụng ma trận khóa nhị

phân liên thông ' với điê0u kiện SUM(K) ≥ 3 Khi

thực hiện thành công (có giấu tin), thuật toán sẽ cho

ma trận G thỏa mãn các điều kiện:

- 1≤ SUM(MOD(G)⊗K) ≤ SUM(K) – 1 (3.1)

- SUM(G⊗K) mod 2 = b (3.2)

- F và G khác nhau tối đa một phần tử

Các điều kiện (3.1) và (3.2) được sử dụng để khôi

2) Nếu 1≤ s ≤SUM(K)-1, chuyển sang Bước 3

Bước 3: Xét hai khả năng:

1) Nếu s mod 2 = b, đặt G = F và kết thúc thuật toán

2) Nếu s mod 2 ≠ b, chuyển sang Bước 4

Bước 4: Xây dựng tập ∏ theo công thức

; = <

=(>, ?)| ' , = 1, , AℎăDE, ∃(u, v): (H, I) ⇔ (>, ?)và M,N # , P, EêQH R = 1

=(>, ?)|' , = 1, , lẻ, ∃(u, v): (u, v) ⇔ (i, j)và M,N # , P, EêQH R = !"#(') − 1

=(>, ?)|' , = 1, ∃(u, v): (u, v) ⇔ (i, j)và M,N # , P, EêQH 2 ≤ R ≤ !"#(') − 2

Bước 5: Biến đổi F để nhận được G, thực hiện tuần tự

như sau:

1) Chọn một phần tử (i,j) ∈ ∏

2) Chọn một phần tử (u,v) sao cho: (u,v) (i,j) và

Fu,v # Fi,j (Theo định nghĩa của ∏, luôn tồn tại (u,v) như vậy)

3) Thay Fi,j bằng Fu,v Đặt G = F, kết thúc thuật toán

Nhận xét 1: Dễ dàng thấy rằng, khi thuật toán thực

hiện thành công (kết thúc tại Bước 3 hoặc Bước 5), G

luôn thỏa mãn các điều kiện (3.1) và (3.2) Như vậy,

để chứng minh tính đúng đắn của thuật toán chỉ cần

chỉ ra ∏ ≠ Ø Điều này sẽ được chứng minh trong mục

4

Nhận xét 2: Trong Bước 5 có thể có nhiều cách chọn

(i,j) và (u,v) Dưới đây sẽ trình bày phương pháp xác

định (i,j) và (u,v) để thuật toán giấu tin có thể đạt được

tính che giấu cao

Đầu tiên chọn (i,j) sao cho:

(i,j) ∈ ∏ và g(i,j) = max {g(p,q)| (p,q) ∈∏}

Ở đây g(p,q) là số phần tử trên ma trận F liền kề với

(p,q) và có giá trị bằng Fp,q Sau khi đã có (i,j), (u,v) được chọn trong tập Y, gồm các phần tử liền kề với (i,j) và khác tính chẵn lẻ với

Fi,j:

{ q j}

, = ( , )|( , )<=>(, ) ɳ #Ω

Với mỗi (p,q) ∈Ωi, j, gọi f(p,q) là số phần tử trong

j i,

Ω có giá trị bằng Fp,q

Trang 15

Chọn (u,v) sao cho:

(H, I) ⇔ (>, ?) và Z(H, I) = max {f(p, q)|(p, q) ∈ Ω , }

Cách chọn này đảm bảo hai yêu cầu:

- Phần tử được chọn để biến đổi nằm trên khóa K và

xung quanh nó có nhiều phần tử cùng giá trị với nó

nhất

- Giá trị thay thế khác tính chẵn lẻ với phần tử được

chọn và xung quanh phần tử được chọn có nhiều phần

tử cùng giá trị với giá trị thay thế

Do phần tử được chọn (i,j) nằm trên khóa K

(K i,j =1), nên sau khi thay đổi giá trị Fi,j từ chẵn sang lẻ

hoặc ngược lại thì SUM(F⊗K) sẽ thay đổi tính chẵn

lẻ, do đó ma trận G luôn thỏa mãn điều kiện (3.2) Mặt

khác cách thay đổi màu tại điểm (i,j) như vậy, sẽ rất

khó phát hiện vì xung quanh nó luôn có các điểm cùng

màu với màu mới và nhiều khả năng tồn tại các điểm

cùng màu mới màu cũ của điểm (i,j) Điều này làm

tăng tính che giấu của thuật toán

III.3 Minh họa thuật toán

Hình 3.2 Ảnh trước khi giấu tin

Trong ví dụ này: SUM(K) = 5, dưới đây sẽ minh

họa thuật toán giấu bít bi vào khối Fi (i = 1,2,3,4)

Khi đó: Ω3,2={(2,2),(2,3),(3,1)} và f(2,2)=1, f(2,3)=1, f(3,1)=0

Khi đó Ω2,1={(1,1), (2,2), (3,1)} và f(1,1)=0, f(2,2)=1, f(3,1)=1

Trang 16

III.4 Thuật toán khôi phục thông tin

Giả sử G là ma trận giấu một bít tin mật và K là

ma trận khóa được sử dụng trong thuật toán giấu tin

Dựa trên các điều kiện (3.1) và (3.2), có thể xây dựng

thuật toán khôi phục bít tin mật như sau:

Bước 1: Tính s’= SUM(MOD(G)⊗K)

Bước 2: Kiểm tra G có giấu tin hay không

Nếu s’= 0 hoặc s’= SUM(K), kết luận G không

chứa tin giấu

Trái lại, tính b = s’ mod 2, b là bít tin mật cần

khôi phục

III.5 Tính bảo mật của sơ đồ

Mục đích của giấu tin là để bảo vệ dữ liệu được

nhúng trên các môi trường trao đổi thông tin Vì vậy,

mỗi một sơ đồ giấu tin đều phải có tính an toàn bảo

mật bằng cách đưa vào các khóa bí mật Khóa bí mật

được sử dụng trong cả thuật toán giấu tin và khôi phục

thông tin

Trong lược đồ đề xuất, sử dụng một ma trận nhị

phân liên thông K cấp m×n làm khóa bí mật Do đó số

phương án khóa xấp xỉ bằng 2mxn Đây là một số khá

lớn, vì vậy, việc dò tìm khóa K để trích rút thông tin

mật đã nhúng trong ảnh là một việc làm tương đối khó

khăn Như vậy, vai trò của khóa K là để ngăn ngừa

việc sử dụng trái phép thông tin mật đã nhúng trong

ảnh, làm cho quá trình trao đổi thông tin trở lên an

toàn hơn

IV TÍNH ĐÚNG ĐẮN CỦA THUẬT TOÁN

Trước hết ta xét một số khái niệm và bổ đề sau:

Đặt:

Q1 ={(i,j)| Ki,j =1 và Fi,j lẻ} (4.1)

Q2 ={(u,v)| Ku,v =1 và Fu,v chẵn} (4.2)

(i0,j0) và (u,v) = (u0,v0) Trong trường hợp hai phần tử (i0,j0) và (u0,v0) không kề nhau, thì do K liên thông nên phải tồn tại dãy các phần tử (pt,qt), t = 1,…,k sao cho:

t

t q p

K , = 1, t= 1, k (i0,j0) (p1,q1) (p2,q2) (pk,qk) (u0,v0) Nếu cả k phần tử của dãy thuộc Q2, thì bổ đề đúng với (i,j) = (i0,j0) và (u,v) = (p1,q1) Trong trường hợp

trái lại (dãy có ít nhất một phần tử Q 1 ), gọi (ph,qh) là phần tử cuối cùng của dãy thuộc Q1 Nếu h= k thì bổ

đề đúng với (i,j) = (pk,qk) và (u,v) = (u0,v0) Nếu h<k thì do (ph,qh) là phần tử cuối cùng thuộc Q1 nên (ph+1,qh+1) phải thuộc Q2, do đó bổ đề đúng với (i,j)=(ph,qh) và (u,v) = (ph+1,qh+1)

Vậy bổ đề được chứng minh

Chứng minh tính đúng đắn của thuật toán:

Trước hết từ (4.1) dễ dàng suy ra:

s = SUM(MOD(F)⊗K) = |Q1| (4.4) Theo nhận xét 1 trong mục 3, để chứng minh tính

đúng đắn của thuật toán chỉ cần chỉ ra ∏ ≠ Ø Ta xét

lần lượt xét ba trường hợp: s =1, s = SUM(K)-1 và 1<s<SUM(K)-1

1) Nếu s =1 thì theo Bước 4 (mục 3):

∏ = {(i,j) | Ki,j = 1, Fi,j chẵn, ∃(u,v): (u,v) (i,j) và

Fu,v # Fi,j} Ngoài ra từ (4.3) và (4.4) ta có:

|Q1| = s = 1

|Q2| = SUM(K) - |Q1| = SUM(K) -1 Vậy Q1 ≠ Φ và Q2 ≠ Φ nên theo bổ đề suy ra tồn tại

(u,v)∈Q1, (i,j)∈Q2 và (u,v) (i,j) Theo định nghĩa

Q1, Q2 thì: Fu,v lẻ, Ki,j= 1 và Fi,j chẵn Từ đó suy ra (i,j)

∏, vậy ∏ ≠ Φ

2) Nếu s = SUM(K) - 1 thì theo Bước 4:

∏={(i,j) | Ki,j = 1, Fi,j lẻ, ∃(u,v): (u,v) (i,j) và

Fu,v#Fi,j}

Trang 17

Ngoài ra từ (4.3) và (4.4) ta có:

|Q1| = s = SUM(K) - 1

|Q2| = SUM(K) - |Q1| =1

Vậy Q1≠ Φ và Q2 ≠ Φ nên theo bổ đề suy ra tồn tại

(i,j)∈Q1, (u,v)∈Q2 và (i,j) (u,v) Theo định nghĩa

Q1, Q2 thì: Ki,j = 1, Fi,j lẻ, Fu,v chẵn Từ đó suy ra (i,j)

∈∏, vậy ∏ ≠ Φ

3) Nếu 1< s < SUM(K) -1 thì theo Bước 4:

∏ = {(i,j) |Ki,j = 1,∃(u,v): (u,v) (i,j) và Fu,v # Fi,j}

Ngoài ra từ (4.3) và (4.4) ta có:

1< |Q1| < SUM(K) - 1

|Q2| = SUM(K) - |Q1| >1

Vậy Q1≠ Φ và Q2 ≠ Φ nên theo bổ đề suy ra tồn tại

(i,j)∈Q1, (u,v)∈Q2 và (i,j) (u,v) Theo định nghĩa

Q1, Q2 thì: Ki,j = Ku,v =1, Fi,j lẻ, Fu,v chẵn Từ đó suy ra

cả (i,j) và (u,v) đều thuộc ∏, vậy ∏ ≠ Φ

V THỰC NGHIỆM

Để so sánh tính che giấu của thuật toán đề xuất với

hai thuật toán Ez Stego và Fridrich, chúng tôi đã cài

đặt và thực hiện giấu tin theo cả ba thuật toán trên

cùng các tham số đầu vào được cho như sau:

- Dữ liệu nhúng là 461 bít được tạo ngẫu nhiên

- Ảnh gốc có 8 màu và kích thước 256× 256

a) Ảnh gốc

Ảnh sau khi nhúng 461 bít của các thuật toán:

b) Ảnh của lược đồ đề xuất

c) Ảnh của thuật toán Fridrich

d) Ảnh của thuật toán Ez Stego

Trang 18

Kết quả thực nghiệm cho thấy rằng, trên các ảnh

của hai thuật toán Fridrich, Ez Stego có xuất hiện màu

cô lập, nhưng màu cô lập không xuất hiện trên ảnh của

thuật toán đề xuất Thay vào đó, các màu bị biến đổi

của ảnh trong thuật toán đề xuất chỉ xuất hiện ở những

vị trí giáp ranh và luôn tồn tại các điểm ảnh lân cận có

màu giống với màu bị biến đổi

6 KẾT LUẬN

Bài báo đề xuất một thuật toán giấu tin mới áp

dụng cho ảnh có bảng màu Theo đó, dữ liệu ảnh được

chia thành các khối cùng cấp m×n, mỗi khối có thể

giấu được một bít và biến đổi nhiều nhất một phần tử

của khối Khi cần biến đổi một phần tử, thuật toán sẽ

lựa chọn vị trí thay đổi và giá trị thay thế hợp lý để

không làm xuất hiện màu cô lập, do đó nâng cao chất

lượng của ảnh sau khi giấu tin Kết quả thực nghiệm

chỉ ra rằng, tính che giấu của thuật toán đề xuất tốt

hơn so với hai thuật toán Ez Stego và Fridrich

Trong [6], các tác giả G Pan, Z Wu, Y Pan đã

thực nghiệm giấu tin trên cùng ảnh được sử dụng

trong bài báo này Qua quan sát cho thấy, tính che giấu

của thuật toán [6] có phần cao hơn so với thuật toán đề

xuất, nhưng lượng thông tin giấu ít hơn Thử nghiệm

trong [6] nhúng 289 bít, còn thực nghiệm trong bài

báo này nhúng 461 bít

TÀI LIỆU THAM KHẢO

[1] PHẠM VĂN ẤT, NGUYỄN HIẾU CƯỜNG, ĐỖ

VĂN TUẦN, BÙI HỒNG QUẾ, TRẦN ĐĂNG

HIÊN, Một số nhận xét về phương pháp giấu tin của

Chen – Pan – Tseng, Kỷ yếu Hội thảo: Một số vấn đề

chọn lọc của Công nghệ thông tin và truyền thông,

2007

[2] PHẠM VĂN ẤT, ĐỖ VĂN TUẦN, NGUYỄN HIẾU

CƯỜNG, Thuật toán giấu tin dung lượng cao, Tạp chí

Khoa học Giao thông vận tải, số 19 năm 2007

[3] J FRIDRICH, Secure steganographic methods for

palette images, Proceedings of 3rd Int Workshop on

Information Hiding,1999

[4] J FRIDRICH, J.DU, Secure Steganographic Methods

Workshop, Lecture Notes in Computer Science 1768, 47-60 (2000)

[5] M.Y WU, Y H HO, JIA-HONG LEE, An iterative

method of palette-based image steganography, Pattern

Recognition Letters 25, 301–309, (2004) [6] GANG PAN, ZHAOHUI WU, YUNHE PAN, A Data

IEEE Proceedings of the 2002 In ternational Conference on Acoustic, Speech, and Signal Processing, ICASSP 02, Vol 4, 13-17 May 2002 [7] R MACHADO EZ STEGO,

http://www.scribd.com/doc/62118082/105/EZ-Stego [8] S.M KIM, ZIQIANG CHENG, KEE YOUNG YOO,

A New Steganography Scheme based on an color Image, Sixth International Conference on

Index-Information Technology, (2009) [9] S KR GHOSAL, A New Pair Wise Bit Based Data Hiding Approach on 24 Bit Color Image using Steganographic Technique IEM, (2011)

[10] V K SHARMA, V SHRIVASTAVA, A Steganography Algorithm For Hiding Image In Image

By Improved Lsb Substitution By Minimizedetection,

Journal of Theoretical and Applied Information Technology (2012)

[11] M WU, J LEE A novel data embedding method for

two-color fascimile images In Proceedings of

international symposium on multimedia information processing Chung-Li, Taiwan, R.O.C, 1998

[12]YU-CHEE TSENG, HSIANG-KUANG PAN Secure

and Invisible Data Hiding in 2-Color Images

INFOCOM 2001 Twentieth Annual Joint Conference

of the IEEE Computer and Communications Societies Proceedings IEEE, 887 - 896 vol.2

Nhận bài ngày: 02/02/2012

Trang 19

SƠ LƯỢC VỀ TÁC GIẢ

PHẠM VĂN ẤT

Sinh ngày 12/6/1945 tại Hà Nội

Tốt nghiệp Đại học năm 1967 và tiến sĩ năm 1980 tại Trường Đại học Tổng hợp Hà Nội Năm 1984 nhận học hàm PGS

Hiện giảng dạy tại Khoa CNTT – Trường Đại học Giao thông Vận tải Hà Nội

Lĩnh vực quan tâm: Lý thuyết ma trận, xử lý ảnh, an

toàn thông tin, phân tích dữ liệu

Trang 20

Abstract: This paper proposed a new public key

cryptographic algorithm based on the ElGamal

cryptosystem This algorithm has the capacity of

information security and anthentication information

The paper also offers analysis on the safety of the

proposed schemes, has shown the ability to apply it in

practice

I ĐẶT VẤN ĐỀ

Trong thực tế, nhiều ứng dụng đòi hỏi việc bảo

mật thông tin cần phải được thực hiện đồng thời với

việc xác thực về nguồn gốc và tính toàn vẹn của thông

tin Nội dung bài báo đề xuất một thuật toán mật mã

khóa công khai được phát triển dựa trên hệ mật

ElGamal [1] cho phép giải quyết tốt các yêu cầu nêu

trên

II PHÁT TRIỂN THUẬT TOÁN MẬT MÃ

KHÓA CÔNG KHAI DỰA TRÊN HỆ MẬT

ELGAMAL

1 Hệ mật Elgamal

Hệ mật Elgama được đề xuất vào năm 1984 trên cơ

sở bài toán logarith rời rạc Sau đó, các chuẩn chữ ký

số DSS [2] của Mỹ và GOST R34.10-94 [3] của Liên

bang Nga đã được hình thành trên cơ sở hệ mật này

1.1 Thuật toán hình thành tham số và khóa

Các thành viên trong hệ thống muốn trao đổi thông

tin mật với nhau bằng thuật toán mật mã Elgamma thì

trước tiên thực hiện quá trình hình thành khóa như

sau:

1- Chọn số nguyên tố đủ lớn p sao cho bài toán

logarit trong Z p là khó giải

mod

=

1.2 Thuật toán mã hóa

Giả sử người gửi là A, người nhận là B Người gửi

A có khóa bí mật là xa và khóa công khai là ya Người nhận B có khóa bí mật là xb và khóa công khai là yb Khi đó, để gửi bản tin M cho B, với: 0≤M < p,

người gửi A sẽ thực hiện các bước như sau:

1- Chọn số ngẫu nhiên k thỏa mãn:

C=M×(y b)k modp 3- Gửi bản mã gồm ( C, R ) đến người nhận B

1.3 Thuật toán giải mã

Để khôi phục bản tin ban đầu (M) từ bản mã

( C, R ) nhận được, người nhận B thực hiện các bước như sau:

1- Tính giá trị Z theo công thức:

modmod = .

=

2- Tính gía trị nghịch đảo của Z:

Phát triển thuật toán mật mã khóa công khai

dựa trên hệ mật Elgamal

Development of Public Key Cryptographic Algorithm Based on Elgamal

Cryptosystem

Lưu Hồng Dũng

Trang 21

Z ( )g x b p g x b p

mod

1

3- Khôi phục bản tin ban đầu (M):

M =C×Z−1modp

1.4 Tính đúng đắn của thuật toán mật mã Elgamal

Giả sử bản tin nhận được sau quá trình giải mã

( C, R ) là M , thế thì:

M

p g

g

M

p p

g p y

M

p Z

C

M

b b

b

x x

x k

mod(

)mod)(

[(

mod

.

1

Như vậy, bản tin nhận được sau giải mã (M )

chính là bản tin ban đầu (M)

1.5 Mức độ an toàn của hệ mật ElGamal

Hệ mật ElGamal sẽ bị phá vỡ nếu khóa mật x hoặc

k có thể tính được Để tính được x hoặc k, cần phải

giải một trong hai bài toán logarit rời rạc, chẳng hạn:

p

g

y= xmod hay: R=g kmodp

Tuy nhiên, trong thực tế việc giải bài toán logarit

rời rạc này là việc khó [4]

Một điểm yếu có thể bị tấn công trong hệ mã

ElGamal là khi giá trị k bị sử dụng lại Thực vậy, giả

sử cùng một giá trị k được sử dụng để mã hóa hai bản

tin M và M* được các bản mã tương ứng là ( C, R )

M g

M

C

C

k x k

Nghĩa là, chỉ cần biết nội dung của một trong hai

bản tin M hoặc M* thì sẽ dễ dàng biết được nội dung

của bản tin kia

Một vấn đề được đặt ra không chỉ với hệ ElGamal

nói riêng mà với các hệ mật khóa công khai nói chung

là: Giả sử một người gửi A mã hóa bản tin M được

bản mã C và gửi C cho người nhận B Sẽ có các tình huống xảy ra như sau:

- Người nhận B không thể biết chắc chắn rằng bản tin

nhận được (M) có nguồn gốc từ người gửi A

- Giả sử bản mã C đã bị thay đổi thành C* và người nhận giải mã được bản tin M* Trường hợp này, người nhận không thể khẳng định được nội dung bản tin do A gửi đi đã bị thay đổi

Thuật toán mật mã được đề xuất, phát triển trên cơ

sở hệ mật ElGamal sau đây sẽ là giải pháp cho các vấn

mãn: 1<α<(p−1)

3- Khóa bí mật x là một giá trị được chọn ngẫu

nhiên trong khoảng: 1<x<q Khóa công khai

y được tính theo công thức:

y= g xmodp 4- Lựa chọn hàm băm (hash) H:{ }0,1*֏Z q (Ví dụ: SHA-1, MD5)

2.2 Thuật toán mã hóa

Giả sử người gửi A có khóa bí mật là x a, khóa công

khai tương ứng là y a; người nhận B có khóa bí mật là

x b và khóa công khai là y b Để gửi bản tin M cho B, A

thực hiện các bước như sau:

1- Chọn số ngẫu nhiên k thỏa mãn: 1<k<q

2- Tính giá trị R theo công thức:

R=g kmodp (1)

Trang 22

Tương tự thuật toán Elgamal, thuật toán mật mã

mới đề xuất có thể bị tấn công khi sử dụng lại giá trị

của k Có thể khắc phục yếu điểm trên nếu sử dụng giá

trị H(x||M) thay cho k, với H(.) là hàm băm kháng va

chạm (chẳng hạn SHA-1, MD5, ) và “||” là toán tử

nối/xáo trộn xâu Khi đó thuật toán mã hóa sẽ được

mô tả lại như sau:

1- Tính giá trị R theo công thức:

kiểm tra nguồn gốc cũng như tính toàn vẹn của bản tin

ban đầu (M) như sau:

1- Tính giá trị R theo công thức:

R = g S ×(y a)Emodp (5)

2- Khôi phục bản tin ban đầu theo công thức:

mod)

Trường hợp sử dụng giá trị H(x||M) thay cho k,

thuật toán giải mã vẫn được giữ nguyên

2.4 Tính đúng đắn của thuật toán mới đề xuất

Tính đúng đắn của hệ mật mới đề xuất là sự phù hợp giữa thuật toán giải mã với thuật toán mã hóa

Điều cần chứng minh ở đây là:

E= ( || )mod ,S= [H(x a||M) −x a×E] modq,

p y

M

C= ×( b)H(x a||M)mod

Nếu: R=(g)S×(y a)Emodp, M C R x b p

mod)( −

×

q M R H

E = ( || )mod thì: M =M E =E Chứng minh:

Thật vậy, thay (3) vào (5) ta có:

R

p y

y R

p y

g g

p y

g

p y

g R

E a E a

E a E x k

E a E x k

E a S

a a

(8)

Từ (8) suy ra:

p g

R = kmod (9) Thay (4) và (9) vào (6) ta có:

M p y

y M

p p g

p y

M

p R

C M

k b k b

x k

k b x

b b

mod{

mod)(

q M R H E

=

=

=

mod)

||

(

mod)

||

(

Đây là điều cần chứng minh

Trang 23

2.5 Mức độ an toàn của thuật toán mới đề xuất

Mức độ an toàn của thuật toán mới đề xuất được

đánh giá bằng:

1) Khả năng chống thám mã

2) Khả năng chống giả mạo về nguồn gốc và nội

dung của bản tin

Về khả năng chống thám mã, có thể thấy rằng mức

độ an toàn của thuật toán mật mã mới đề xuất là hoàn

toàn tương đương với thuật toán Elgamal Hệ mật sẽ

bị phá vỡ nếu khóa mật x có thể tính được từ việc giải

bài toán logarit rời rac như: y= g xmodp

hay:S=[H(x||M)−x×E]modq

Khả năng chống giả mạo về nguồn gốc và nội dung

bản tin phụ thuộc vào mức độ khó của việc tạo ra các

cặp ( C , E , S ) giả mạo thỏa mãn điều kiện kiểm tra

của thuật toán giải mã: E = E Giả sử cặp ( * *)

, S

là giả mạo, thế thì nó cần phải thỏa mãn:

q M

p y

g

H

E* ≡ (( S* × E*mod ) || ) mod

Với H(.) là hàm băm kháng va chạm, hơn nữa nội

dung bản tin M cũng chưa biết thì việc chọn được cặp

, S

E giả mạo là hầu không thể thực hiện được

III KẾT LUẬN

Bài báo đề xuất một thuật toán mật mã khóa công

khai được phát triển dựa trên hệ mật ElGamal có khả

năng đồng thời:

1) Bảo mật thông tin

2) Xác thực về nguồn gốc thông tin

3) Xác thực về tính toàn vẹn của thông tin

Hơn nữa, mặc dù bản mã được tạo ra bởi thuật toán

mới đề xuất bao gồm 3 thành phần (C,E,S) nhưng độ

dài của nó không lớn hơn độ dài bản mã 2 thành phần

(C,R) mà thuật toán ElGamal tạo ra

Giả sử |p| = 512 bit, |q| = 160 bit khi đó độ dài bản

mã do thuật toán ElGamal tạo ra là: |C| + |R| = 512 bit

+ 512 bit = 1024 bit, còn độ dài bản mã do thuật toán

mới đề xuất tạo ra là: |C| + |E| + |S| = 512 bit + 160 bit

+ 160 bit = 832 bit

Những phân tích về mức độ an toàn cho thấy khả năng ứng dụng thuật toán mới đề xuất trong thực tế là hoàn toàn có thể

TÀI LIỆU THAM KHẢO

[1] T ELGAMAL A public key cryptosystem and a

signature scheme based on discrete logarithms IEEE

Transactions on Information Theory 1985, Vol IT-31,

No 4 pp.469–472

[2] National Institute of Standards and Technology, NIST FIPS PUB 186-3 Digital Signature Standard,

U.S Department of Commerce,1994

[3] GOST R 34.10-94 Russian Federation Standard

Information Technology Cryptographic data Security Produce and check procedures of Electronic Digital Signature based on Asymmetric Cryptographic Algorithm Government Committee

of the Russia for Standards, 1994 (in Russian)

[4] D.R STINSON, CRYPTOGRAPHY, Theory and

Lĩnh vực nghiên cứu: An toàn và bảo mật thông tin,

An ninh mạng máy tính

Email: luuhongdung@gmail.com

Trang 24

Abstract: Collaborative filtering is a technique to

predict the utility of items for a particular user by

exploiting the behavior patterns of a group of users

with similar preferences This method has been widely

successful in many e-commerce systems In this paper,

we present an effective collaborative filtering method

based on general bipartite graph representation The

weighted bipartite graph representation is suitable for

all of the real current data sets of collaborative

filtering The prediction method is solved by the basic

search problem on the graph that can be easy to

implement for the real applications Specially, the

model tackled the effect of the sparsity problem of

collaborative filtering by expanding search length

from the user node to the item node By this way, some

users or items can not be detemined by the

correlations but can be computed by the graph model

Experimental results on the real data sets show that

the proposed method improve significantly prediction

quality for collaborative filtering

I PHÁT BIỂU BÀI TOÁN LỌC CỘNG TÁC

Cho tập hợp hữu hạn U = {u1, u2,…, uN} là tập

gồm N người dùng, P = {p1, p2,…, pM} là tập gồm M

sản phẩm Mỗi sản phẩm px∈P có thể là hàng hóa,

phim, ảnh, tạp chí, tài liệu, sách, báo, dịch vụ hoặc bất

kỳ dạng thông tin nào mà người dùng cần đến Để

thuận tiện trong trình bày, ta viết px∈P ngắn gọn thành

xP; và ui∈U là iU

Mối quan hệ giữa tập người dùng U và tập sản

phẩm P được biểu diễn thông qua ma trận đánh giá

R = (rix), i = 1 N, x = 1 M Mỗi giá trị rix biểu diễn

đánh giá của người dùng iU cho sản phẩm xP Giá trị r ix có thể được thu thập trực tiếp bằng cách hỏi ý kiến người dùng hoặc thu thập gián tiếp thông qua cơ

chế phản hồi của người dùng Giá trị rix = ∅ được hiểu

người dùng i chưa đánh giá hoặc chưa bao giờ biết đến sản phẩm x

Tiếp đến ta ký hiệu, Pi ⊆P là tập các sản phẩm

được đánh giá bởi người dùng iU và Ux⊆U là tập các người dùng đã đánh giá sản phẩm x∈ P Với một người dùng cần được tư vấn aU (được gọi là người dùng

hiện thời, hay người dùng tích cực), bài toán lọc cộng

tác là dự đoán đánh giá của người dùng a đối với những mặt hàng x∈(P\Pa), trên cơ sở đó tư vấn cho

người dùng a những sản phẩm được đánh giá cao Bảng 1 thể hiện một ví dụ với ma trận đánh giá R

= (rij) trong hệ gồm 5 người dùng U = {u1, u2, u3, u4,

u5} và 7 sản phẩm P = {p1, p2, p3, p4, p5, p6, p7,} Mỗi người dùng đều đưa ra các đánh giá của mình về các sản phẩm theo thang bậc {1,2,3,4,5} Đối với tập dữ

liệu MovieLens [11], rix = 5 được hiểu là người dùng i

đánh giá phim x ở mức độ “rất tốt”; rix = 4 được hiểu

là người dùng i đánh giá “tốt”; rix = 3 được hiểu là người dùng i đánh giá phim x ở mức độ “bình thường”; rix = 2 được hiểu là người dùng i đánh giá phim x ở mức độ “kém”; rix = 1 được hiểu là người dùng i đánh giá phim x ở mức độ “rất kém” Giá trị

rij=∅ được hiểu là người dùng ui chưa đánh giá hoặc

chưa bao giờ biết đến sản phẩm pj Các ô được đánh dấu ‘?’ thể hiện giá trị hệ thống cần dự đoán cho người

dùng u5

Một phương pháp lọc cộng tác dựa trên mô hình

đồ thị hai phía

A Collaborative Filtering Method Based on Bipartite Graph Model

Mai Thị Như và Nguyễn Duy Phương

Trang 25

trên mô hình đồ thị tổng quát và Lọc cộng tác dựa trên

mô hình đồ thị hai phía [3,4,6,7] Để thuận tiện cho

việc trình bày mô hình đề xuất, chúng tôi tóm tắt lại

những nghiên cứu về mô hình đồ thị hai phía cho lọc

cộng tác của Huang và các cộng sự [3,4]

Trong mô hình này, Huang xem xét bài toán lọc

cộng tác như bài toán tìm kiếm trên đồ thị hai phía,

một phía là tập người dùng U, phía còn lại là tập sản

phẩm P Cạnh nối giữa người dùng i∈ U đến sản phẩm

xP được thiết lập nếu người dùng i đánh giá “tốt”

hoặc “rất tốt” sản phẩm x Ví dụ với ma trận đánh giá

được cho trong Bảng 1, các giá trị đánh giá rix =4, rix =

5 sẽ được biến đổi thành 1, những giá trị còn lại được

biến đổi thành 0 Khi đó, ma trận kề biểu diễn đồ thị

hai phía được thể hiện trong Bảng 2, đồ thị hai phía

tương ứng theo biểu diễn được thể hiện trong Hình 1

Bảng 2 Ma trận kề biểu diễn đồ thị hai phía

Hình 1 Đồ thị hai phía cho lọc cộng tác

Phương pháp dự đoán trên đồ thị được thực hiện bằng thuật toán lan truyền mạng để tìm ra số lượng

đường đi độ dài L từ đỉnh người dùng iU đến đỉnh sản phẩm xP Những sản phẩm xP có số lượng đường đi nhiều nhất đến người dùng iU sẽ được

dùng để tư vấn cho người dùng này [3]

Với phương pháp biểu diễn và dự đoán nêu trên, chúng tôi đã tiến hành kiểm nghiệm trên các bộ dữ liệu thực và nhận thấy một số những hạn chế dưới đây Thứ nhất, biểu diễn của Huang chỉ quan tâm đến

các giá trị đánh giá “tốt” hoặc “rất tốt” và bỏ qua các giá trị đánh giá “kém” hoặc “rất kém” Đối với các hệ

thống lọc cộng tác thực tế, mức đánh giá của người dùng được chia thành nhiều thang bậc khác nhau (tập

dữ liệu MovieLens có 5 mức đánh giá, tập BookCrossing có 10 mức đánh giá) [11,12] Chính vì vậy, biểu diễn này chưa thực sự phù hợp với các hệ thống lọc cộng tác hiện nay Mặt khác, các phương pháp dự đoán của lọc cộng tác được thực hiện dựa trên thói quen sử dụng sản phẩm của cộng đồng người dùng có cùng sở thích, do vậy các giá trị đánh giá

“tốt” hay “không tốt” đều phản ánh thói quen sử dụng

sản phẩm của người dùng Việc bỏ qua các giá trị

“không tốt” sẽ ảnh hưởng rất nhiều đến chất lượng dự

đoán thói quen sử dụng sản phẩm của người dùng

Thứ hai, đối với các hệ thống lọc cộng tác số

lượng giá trị đánh giá rix=∅ nhiều hơn rất nhiều lần số

lượng giá trị đánh giá rix≠∅ Vì vậy, việc bỏ qua các

giá trị “không tốt” khiến cho vấn đề dữ liệu thưa của

lọc cộng tác trở nên trầm trọng hơn Điều này có thể

p1

u2 u3 u4 u5

u1

Trang 26

thấy rõ trong Bảng 2, các giá trị đánh giá rix ≤3 được

biến đổi thành 0 đã bỏ đi một lượng đáng kể các nhãn

phân loại biết trước trong quá trình huấn luyện

Cuối cùng, phương pháp dự đoán được thực hiện

dựa vào số lượng đường đi có độ dài L từ đỉnh người

dùng đến đỉnh sản phẩm Các đường đi được xem có

trọng số giống nhau là 1 chưa phản ánh đúng hiện

trạng của các bộ dữ liệu thực (tập dữ liệu MovieLens

có 5 mức đánh giá [11], tập dữ liệu BookCrossing có

10 mức đánh giá [12]) Chính vì vậy, mô hình chỉ cho

lại kết quả thử nghiệm tốt trên các tập dữ liệu có hai

mức đánh giá (0, 1) Đối với các tập dữ liệu có nhiều

mức đánh giá, kết quả dự đoán của mô hình sẽ cho độ

chính xác không cao Tóm lại, mô hình do Huang đề

xuất chỉ phù hợp với các tập dữ liệu về sách có hai

mức đánh giá “tốt” hoặc “không tốt”

Để khắc phục được những hạn chế nêu trên, trong

mục tiếp theo chúng tôi đề xuất một mô hình đồ thị hai

phía tổng quát cho lọc cộng tác Trong đó, phương

pháp biểu diễn được thực hiện trên đồ thị trọng số phù

hợp với tất cả bộ dữ liệu thử nghiệm cho lọc cộng tác

Phương pháp dự đoán được thực hiện dựa trên việc

tính toán trọng số của tất cả các đường đi từ đỉnh

người dùng đến đỉnh sản phẩm cho phép ta cải thiện

được chất lượng dự đoán

III MÔ HÌNH ĐỒ THỊ HAI PHÍA ĐỀ XUẤT

Mô hình đồ thị hai phía có trọng số đề xuất mở

rộng phương pháp tiếp cận trong [1,3,4] ở hai điểm

chính: Phương pháp biểu diễn đồ thị và phương pháp

dự đoán trên đồ thị Phương pháp được tiến hành như

sau

III.1 Phương pháp biểu diễn đồ thị

Không hạn chế tính tổng quát của bài toán, ta có

thể giả sử rix = +v nếu người dùng i đánh giá sản

Đối với các tập dữ liệu thực của lọc cộng tác, ta dễ

dàng chuyển đổi biểu diễn thành ma trận đánh giá theo công thức (1) bằng cách chọn một giá trị ngưỡng θ

Những giá trị rix>θ được dịch chuyển thành các giá trị dương, ngược lại chuyển đổi thành giá trị âm Ví dụ với ma trận đánh giá được cho trong Bảng 1, chọn θ=3, khi đó các giá trị rix= 4, 5 biến đổi thành 0.1, 0.2,

các giá trị rix = 2, 1 biến đổi thành -0.1, -0.2, rix=3 biến

đổi thành ∅ như trong Bảng 3

Với cách chuyển đổi biểu diễn theo công thức (1), vấn đề lọc cộng tác được biểu diễn như một đồ thị hai

phía (Ký hiệu là đồ thị G) Một phía là tập người dùng

U, phía còn lại là tập các sản phẩm P Trong đó, cạnh nối giữa đỉnh phía người dùng iU với đỉnh phía sản phẩm xP được thiết lập nếu rix≠∅ Những giá trị

đánh giá có rix >0 biểu diễn người dùng xU đánh giá sản phẩm iP “tốt” ở mức độ rix Những giá trị đánh

giá có rix<0 biểu diễn người dùng xU đánh giá sản phẩm iP “không tốt” ở mức độ rix Trọng số của mỗi cạnh trên đồ thị được xác định theo công thức:

r

Ví dụ, với hệ lọc cộng tác được cho trong Bảng 3 thì ta sẽ có ma trận trọng số của đồ thị hai phía như trong Bảng 4, đồ thị hai phía tương ứng được thể hiện

trong Hình 2

Bảng 3 Ma trận đánh giá của lọc cộng tác

Người dùng

Trang 27

Bảng 4 Ma trận trọng số của đồ thị hai phía

Hình 2 Đồ thị hai phía tổng quát cho lọc cộng tác

So với phương pháp biểu diễn trong [1,3,4], mô

hình đề xuất giữ lại tất cả các giá trị đánh giá của

người dùng đối với sản phẩm Ví dụ, với tập dữ liệu

MovieLens biểu diễn quan điểm của người dùng đối

với các phim theo 5 mức đánh giá từ 1 đến 5 Ta có

thể dịch chuyển các giá trị rix = 5 thành 0.2, rix = 4

thành 0.1, rix =3 thành 0.0, rix=2 thành -0.1, rix = 1

thành -0.2 Với tập dữ liệu BookCrossing biểu diễn

quan điểm của người dùng đối với các sản phẩm theo

10 mức đánh giá từ 0.1, 0.2, 0.3, 0.4, 0.5,…, 1.0 Việc

chuyển đổi cũng được tiến hành tương tự như trên

bằng cách biến đổi các giá trị rix>0.5 (0.6, 0.7, 0.8, 0.9,

1.0) thành các giá trị dương (0.1, 0.2, 0.3, 0.4, 0.5)

Các giá trị rix≤0.5 (0.5, 0.4, 0.3, 0.2, 0.1) được biến

đổi thành các giá trị âm (-0.1, -0.2, -0.3, -0.4, -0.5)

Các bộ dữ liệu khác cũng được biến đổi tương tự tùy

thuộc vào các mức đánh giá khác nhau của người

dùng Trong mục tiếp theo chúng tôi trình bày về

phương pháp dự đoán trên đồ thị hai phía có trọng số

III 2 Phương pháp dự đoán

Khác với các cách tiếp cận trong [3,4], mô hình đề xuất xem xét vấn đề lọc cộng tác như bài toán tìm kiếm trên đồ thị hai phía có trọng số Do vậy, phương pháp dự đoán của mô hình phụ thuộc vào tổng trọng

số của các đường đi có độ dài L từ đỉnh người dùng

đến đỉnh sản phẩm Những sản phẩm nào có tổng

trọng số các đường đi từ đỉnh người dùng đến đỉnh sản phẩm lớn nhất sẽ được dùng để tư vấn cho người dùng hiện thời

Trong [3,4], Huang xem xét trọng số tất cả các

đường đi có độ dài L từ đỉnh người dùng đến đỉnh sản

phẩm đều giống nhau và có giá trị 1 Trong mô hình này, chúng tôi xem xét mỗi đường đi độ dài L từ đỉnh

người dùng đến đỉnh sản phẩm có trọng số khác nhau

Điều này hoàn toàn phù hợp với các bộ dữ liệu thực có

nhiều mức đánh giá khác nhau

Một điểm khác biệt quan trọng với các mô hình đề

xuất trong [3,4] là trọng số các đường đi độ dài L từ

đỉnh người dùng đến đỉnh sản phẩm có thể nhận giá trị

dương hoặc giá trị âm Các đường đi có trọng số

dương phản ánh mức độ đánh giá sản phẩm “tốt” của

người dùng Các đường đi có trọng số âm phản ánh

mức độ đánh giá sản phẩm “không tốt” của người

dùng

Để thực hiện ý tưởng nêu trên, chúng tôi tiến hành

tách đồ thị hai phía tổng quát ban đầu thành hai đồ thị con: Đồ thị hai phía với các cạnh có trọng số dương

(ký hiệu là G+) và đồ thị hai phía với các cạnh có trọng

số âm (ký hiệu là G-) Ứng với sản phẩm xP chưa được người dùng iU đánh giá, quá trình ước lượng mức độ “tốt” của sản phẩm x đối với người dùng i

được thực hiện trên đồ thị G+

bằng cách tính tổng

trọng số tất cả các đường đi độ dài L từ x đến i Tương

tự như vậy, quá trình ước lượng mức độ “không tốt” của sản phẩm x đối với người dùng i được thực hiện trên đồ thị G- bằng cách tính tổng trọng số tất cả các

đường đi độ dài L từ x đến i Hai giá trị này được kết

hợp lại sẽ cho ta quan điểm chính xác của người dùng

x đối với sản phẩm i

+0.2 +0.1 -0.2 +0.1 +0.2 -0.1 -0.1 -0.2 +0.1 -0.2 +0.2 +0.1 -0.1 -0.1 -0.2 -0.1

Trang 28

Gọi W+ =( )w ix+ là ma trận trọng số biểu diễn đồ thị

w

w (4)

Vì G + , G - là đồ thị hai phía nên mỗi đường đi độ

dài L từ đỉnh người dùng iU đến đỉnh sản phẩm xP

đều có độ dài lẻ (L=1,3, 5, 7, ) Trọng số đường đi độ

dài L trên đồ thị G + , G - được tính bằng tích các trọng

số w , ix+ w ix− Do 0≤ + ≤1;−1≤ − ≤0

ix

có độ dài L lớn sẽ có trọng số thấp, đường đi độ dài L

nhỏ sẽ có trọng số cao Trọng số đường đi từ đỉnh

người dùng đến đỉnh sản phẩm trên đồ thị G+ luôn là

một số dương, trên đồ thị G- luôn là một số âm Ví dụ

trên Hình 2, đường đi u5-p2-u2-p4 có trọng số là w +54 =

0.1×0.2×0.2 = 0.004; u5-p2-u3-p7 có trọng số là w57 =

0.1×0.1×0.1= 0.001 Ngược lại, đường đi u1-p3-u2-p5

có trọng số là w -15 = (-0.2)×(-0.1)×(-0.2) = -0.004; u1

-p3-u2-p7 có trọng số là w17 = (-0.2)× (-0.1)×(0.1) =

-0.002.Bằng cách này, ta có thể phân biệt được mức độ

quan trọng của mỗi đường đi khác nhau trong quá

+

+

2

T ix ix

ix

L

ix

w w w

ix

ix L

ix

w w w

dùng i suy diễn trên đồ thị G- Sau khi tính toán ( )L

ix

w+ ,

( )L ix

w− các giá trị này sẽ được tổ hợp lại theo công thức (7) để đưa ra kết quả dự đoán quan điểm của người dùng i đối với sản phẩm x

ix L

ix L

w =α − + 1−α + (7) Trong công thức (7), α∈[0,1] là hằng số dùng để

điều chỉnh mức độ ưu tiên cho mỗi loại đường đi Nếu

ưu tiên cho các đường đi có trọng số dương ta chọn α

gần với 0 Nếu ưu tiên cho các đường đi có trọng số

âm ta chọn α gần với 1 Nếu lấy α =0 mô hình trở lại

đúng mô hình của Huang [4] Thuật toán dự đoán trên

mô hình đồ thị hai phía có trọng số được mô tả chi tiết trong Hình 3

Bước 1 (Khởi tạo):

Tạo lập ma trận trọng số W = (wix)

• Tạo lập ma trận (w ix+) biểu diễn G+

• Tạo lập ma trận (w ix+) biểu diễn G-

Bước 2 (Tính toán trên đồ thị G +):

2

ix T ix L

ix

ix L ix

w w w

w w

Bước 3 (Tính toán trên đồ thị G -):

ix L ix

w w w

w w

Bước 4 (Kết hợp trọng số trên cả hai đồ thị):

ix L

ix L

w =α − + 1−α +

Bước 5 (Sắp xếp theo thứ tự giảm dần của w L ix)

Bước 6 (Sinh ra tư vấn cho người dùng i)

<Chọn K sản phẩm có w ix >0 có giá trị lớn nhất tư vấn cho người dùng i>

Hình 3 Thuật toán dự đoán trên đồ thị hai phía

nếu L=1 nếu L=3,5,7,

nếu L=1 nếu L=3,5,7,

nếu L=1 nếu L=3,5,7,

Trang 29

Độ phức tạp của thuật toán phụ thuộc vào L phép

toán nhân ma trận cấp N×M Sử dụng thuật toán nhân

hai ma trận hiệu quả nhất hiện nay của Coppersmith–

Winograd sẽ cho ta độ phức tạp là O(N 2.376)[4] Để

tránh các phép nhân ma trận có kích cỡ lớn, chúng tôi

sử dụng thuật toán lan truyền mạng có độ phức tạp là

O(N.S), trong đó N là số lượng người dùng, S là số

lượng trung bình các giá trị đánh giá khác ∅ của

người dùng [1]

IV THỬ NGHIỆM VÀ ĐÁNH GIÁ

Để thấy rõ hiệu quả của mô hình đề xuất, chúng

tôi thực hiện tiến hành thử nghiệm trên hai bộ dữ liệu

MovieLens [11] và BookCrossing [12] Trong đó, tập

dữ liệu MovieLens được biểu diễn bằng 5 mức đánh

giá, tập dữ liệu BookCrossing được biểu diễn bằng 10

mức đánh giá Sai số dự đoán được ước lượng thông

qua độ chính xác (precision), độ nhạy (recall) và tỉ lệ

F-Measure theo thủ tục được mô tả dưới đây

IV.1 Dữ liệu thử nghiệm

Tập dữ liệu MovieLens gồm 1682 người dùng,

942 phim với trên 100,000 đánh giá, các mức đánh giá

được thiết lập từ 1 đến 5, mức độ thưa thớt dữ liệu

đánh giá là 98.7% Các mức đánh giá 4, 5 được

chuyển đổi thành 0.1, 0.2 Các mức đánh giá 3, 2, 1

được dịch chuyển thành 0.0, -0.1, -0.2

Tập dữ liệu BookCrossing là cơ sở dữ liệu bao

gồm 278,858 người dùng với 1,031,175 đánh giá cho

271,065 đầu sách Các mức đánh giá được thiết lập từ

0 đến 1.0, trung bình số lượng sách người dùng chưa

đánh giá là 99.1% Các mức đánh giá từ 0.6 đến 1.0

được dịch chuyển thành 0.1 đến 0.5 theo thứ tự Các

mức đánh giá từ 0.5 đến 0.0 được dịch chuyển thành

0.0, -0.1,…,-0.5 theo thứ tự

Việc chuyển đổi dữ liệu theo ngưỡng θ=3 đối với

tập dữ liệu MovieLans và θ=5 đối với bộ dữ liệu

BookCrossing là cách làm phổ biến của các tác giả

trước đây trong khi xem xét bài toán lọc cộng tác như

bài toán phân loại hai lớp (-1,1)[1, 3, 4, 9] Trong mô

hình này, chúng tôi xem xét bài toán lọc cộng tác như

bài toán phân loại nhiều lớp Mỗi lớp thuộc một nhóm

nhãn phân loại khác nhau trong khoảng [-1,1] Chúng tôi cũng không chọn giá trị nhãn phân loại cực đại (1) hoặc cực tiểu (-1) vì phương pháp dự đoán chỉ quan tâm đến giá trị dự đoán lớn hay bé trong quá trình huấn luyện Do vậy, sử dụng các giá trị nhãn phân loại nhỏ hơn 1 tiện lợi và chính xác hơn rất nhiều trong khi

so sánh kết quả dự đoán

VI.2 Phương pháp thử nghiệm

Trước tiên, toàn bộ dữ liệu thử nghiệm được chia

thành hai phần, một phần Utr được sử dụng làm dữ liệu

huấn luyện, phần còn lại Ute được sử dụng để kiểm tra

Tập Utr chứa 75% đánh giá và tập Ute chứa 25% đánh giá Dữ liệu huấn luyện được sử dụng để xây dựng mô hình theo thuật toán mô tả ở trên Với mỗi người dùng

i thuộc tập dữ liệu kiểm tra, các đánh giá (đã có) của người dùng được chia làm hai phần Oi và Pi Oi được

coi là đã biết, trong khi đó Pi là đánh giá cần dự đoán

từ dữ liệu huấn luyện và Oi Phương pháp ước lượng sai số dự đoán cho lọc cộng tác được sử dụng phổ biến là độ đo trung bình sai

số tuyệt đối (MAE) [8] Tuy nhiên, độ đo này chỉ được

áp dụng với các phương pháp dự đoán có cùng miền xác định với giá trị đánh giá Chính vì vậy, trong kiểm nghiệm này chúng tôi sử dụng phương pháp ước lượng

sai số dự đoán thông qua độ chính xác (precision), độ nhạy (recall) và F-Measure xác định theo công thức

(8), (9), (10) Đây cũng là một phương pháp kiểm nghiệm được nhiều tác giả sử dụng cho lọc cộng tác [8]

r

rs N

Ở đây, N là tổng số các đánh giá người dùng trong

tập dữ liệu kiểm tra trong đó có Nr là số các sản phẩm

người dùng đã đánh giá thích hợp, Nrs là số các sản

phẩm phương pháp lọc dự đoán chính xác Giá trị P, R, F_Measure càng lớn độ chính xác của phương pháp

càng cao

Trang 30

IV.3 Kết quả thử nghiệm

Để đánh giá hiệu quả của phương pháp đề xuất (ký

hiệu là Bipart-Graph), chúng tôi tiến hành hai thử

nghiệm trên các tập dữ liệu nêu trên Thử nghiệm thứ

nhất nhằm đánh giá ảnh hưởng của các đánh giá có

trọng số âm và độ dài đường đi L đối với thói quen sử

dụng sản phẩm của người dùng Thử nghiệm này được

so sánh với mô hình đồ thị hai phía của Huang (Ký hiệu

là Huang-Graph[4]) Thử nghiệm thứ hai nhằm đánh

giá kết quả dự đoán so với các phương pháp lọc khác,

đặc biệt là kết quả dự đoán trong trường hợp dữ liệu

thưa

Đối với thử nghiệm thứ nhất, chúng tôi giữ lại tất

cả các đánh giá có trọng số âm và trọng số dương trên

cả hai tập dữ liệu Chọn α =0.5, sau đó thực hiện quá

trình huấn luyện nêu trên theo độ dài đường đi L Kết

quả được chỉ ra trên Hình 4, Bảng 5 cho thấy, khi L

tăng (L=3, 5, 7, 9, 11) giá trị F-Measure của các mô

hình đều tăng Điều đó chứng tỏ việc suy diễn theo độ

dài đường đi trên đồ thị cho phép ta tận dụng được các

mối quan hệ gián tiếp giữa các người dùng khác nhau

để tăng cường vào kết quả dự đoán

Hình 5 Biến đổi của F-Measure với α =0.7

Tiếp đến, chúng tôi chọn α=0.7 cho mô hình đồ thị

đề xuất và thực hiện huấn luyện theo đường đi độ dài L

=3, 5, 7, 9, 11 (Hình 5, Bảng 6) Kết quả cho thấy,

F-Measures của các mô hình đều tăng nhưng mô hình đề xuất cho lại kết quả tốt hơn rất nhiều so với mô hình của Huang [4] Lý do khi α=0.7 kết quả dự đoán của phương pháp được cải thiện hơn vì số lượng các đánh giá dương lớn hơn rất nhiều lần số lượng các đánh giá

âm trong các tập dữ liệu huấn luyện Do vậy, với α =0.5 các đường đi có trọng số âm không ảnh hưởng nhiều

đến các đường đi có trọng số dương Điều đó chứng tỏ, đối với các đánh giá âm ta không được phép bỏ qua mà

còn phải được chú ý đến nó nhiều hơn trong quá trình huấn luyện

Bảng 5 Giá trị của F-Measure với α =0.5

Phương pháp

Độ dài đường đi

Độ dài đường đi

Thử nghiệm thứ hai được thực hiện nhằm so sánh

đánh giá kết quả với các phương pháp: Lọc cộng tác

dựa vào người dùng (User Based) [9], lọc cộng tác dựa vào sản phẩm (Item Based) [2] và lọc cộng tác dựa vào

mô hình đồ thị của Huang Trong đó thử nghiệm này chúng tôi thực hiện với α =0.5, L=11 Độ chính xác, độ nhạy và F-Measure được lấy trung bình từ 10 lần kiểm nghiệm ngẫu nhiên dựa trên các tập dữ liệu kiểm tra dưới đây:

Trang 31

Tập Test1.M, Test1.B (M ký hiệu cho tập tập

MovieLans, B ký hiệu cho tập tập BookCrossing):

Loại bỏ ngẫu nhiên các giá trị đánh giá trong mỗi

tập dữ liệu tương ứng sao cho mỗi người dùng chỉ

còn lại 5 đánh giá biết trước Trường hợp này được

xem là trường hợp dữ liệu rất thưa

Tập Test2.M, Test2.B: Loại bỏ ngẫu nhiên các giá

trị đánh giá trong mỗi tập dữ liệu tương ứng sao

cho mỗi người dùng chỉ còn lại 10 đánh giá biết

trước Trường hợp này cũng được xem là trường

hợp dữ liệu rất thưa

Tập Test3.M, Test3.B: Loại bỏ ngẫu nhiên các giá

trị đánh giá sao trong mỗi tập dữ liệu tương ứng

cho mỗi người dùng chỉ còn lại 15 đánh giá biết

trước Trường hợp này được xem là trường hợp dữ

liệu thưa

Tập Test4.M Test4.B: Loại bỏ ngẫu nhiên các giá

trị đánh giá trong mỗi tập dữ liệu tương ứng sao

cho mỗi người dùng chỉ còn lại ít nhất 20 đánh giá

biết trước Trường hợp này được xem là trường hợp

có tương đối đầy đủ dữ liệu

Bảng 7 Kết quả kiểm nghiệm trên tập MovieLens

Kết quả kiểm nghiệm được trên các tập dữ liệu thể

hiện trong Bảng 7, Bảng 8 cho thấy phương pháp đề

xuất cho lại kết quả dự đoán tốt hơn rất nhiều so với các

phương pháp khác Điều đó có thể lý giải mô hình đề

xuất đã tìm ra và tích hợp được ngữ nghĩa ẩn của các mối quan hệ gián tiếp giữa người dùng và sản phẩm để tăng cường thêm vào kết quả dự đoán Một lợi thế khác cũng cần được nhắc đến là phương pháp tiếp cận của

mô hình khá đơn giản và dễ cài đặt cho các hệ thống lọc cộng tác

Bảng 8 Kết quả kiểm nghiệm trên tập BookCrossing

tỷ lệ F-Measure cao hơn hẳn các phương pháp ItemBased, UserBased và Huang-Graph Điều đó có thể khẳng định, phương pháp biểu diễn và dự đoán của

mô hình đồ thị hai phía có trọng số đề xuất cải thiện

đáng kể chất lượng dự đoán cho lọc cộng tác Ưu điểm

nổi bật của mô hình so với những mô hình trước đây

là thỏa mãn biểu diễn hiện có của tất cả các tâp dữ liệu hiện nay của lọc cộng tác

Phương pháp dự đoán được đưa về bài toán tìm kiếm trên đồ thị có trọng số cho phép ta phân biệt

được mức độ quan trọng của từng loại đường đi bằng

Ngày đăng: 30/08/2016, 07:37

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[1] Adji, T.B. Applying Link Grammar Formalism in the Development of English-Indonesian Machine Translation System. Proceedings of the 9th AISC International Conference, Intelligent Computer Mathematics , Springer, 2008, p17-23 Sách, tạp chí
Tiêu đề: Applying Link Grammar Formalism in the "Development of English-Indonesian Machine "Translation System
[2] T.B. Adji, B. Baharudin, N. Zamin. Annotated Disjunct in Link Grammar for Machine Translation.International Conference on Intelligent and Advanced Systems ,Kuala Lumpur, 2007, p. 205-208 Sách, tạp chí
Tiêu đề: Annotated "Disjunct in Link Grammar for Machine Translation
[3] T.B. Adji, Baharudin B., N. Zamin, Building Transfer Rules using Annotated Disjunct: An Approach for Machine Translation, The 8 th Student Conference on Research and Development, December 2007, Malaysia Sách, tạp chí
Tiêu đề: Building "Transfer Rules using Annotated Disjunct: An Approach "for Machine Translation
[4] Amtrup. J.W.,Mergerdoomian K, Zajac R. Rapid Development of Translation Tool. Proceedings of Machine Translation Summit,1999, p 385-389 Sách, tạp chí
Tiêu đề: Rapid Development of Translation Tool
[6] D. BÐchet. k-Valued Link Grammars are Learnable from Strings. Proceedings of Formal Grammar, Vienna, Austria, 2003, pp. 9-18 Sách, tạp chí
Tiêu đề: k-Valued Link Grammars are Learnable "from Strings
[7] ®inh ®iÒn. So-sánh trật-tự từ của định-ngữ giữa Tiếng Anh và Tiếng Việt. Tập san Khoa học xã hội và nhân văn- Đại học KHXHNV Thành phố Hồ Chí Minh, 2011,tr 69-80 Sách, tạp chí
Tiêu đề: So-sánh trật-tự từ của định-ngữ giữa "Tiếng Anh và Tiếng Việt
[8] ®inh ®iÒn. Dịch tự động Anh Việt dựa trên việc học luật chuyển đổi từ ngữ liệu song ngữ. Luận án Tiến sĩ, ĐHKHTN- ĐHQG TP Hồ Chí Minh, 2002 Sách, tạp chí
Tiêu đề: Dịch tự động Anh Việt dựa trên việc học "luật chuyển "đổi từ ngữ liệu song ngữ
[9] Lê Khánh Hùng. Nghiờn cứu xõy dựng thử nghiệm phần mềm dịch tự động Việt-Anh. Báo cáo tổng kết đề tài nhánh cấp nhà nước KC-01-03, 2004 Sách, tạp chí
Tiêu đề: Nghiờn cứu xõy dựng thử nghiệm "phần mềm dịch tự "động Việt-Anh
[10] Nguyen Thi Thu Huong, Pham Nguyen Quang Anh A link Grammar for Vietnamese. Journal on Information and Communicationn Technology, 8/2011 p 27-38 Sách, tạp chí
Tiêu đề: A link Grammar for Vietnamese
[11] Iyer R., Ostendorf. Modelling Long Distance Dependency in Language: topic mixture and Dynamic Case Model, Speech and Audio Processing, IEEE Transactions on, Jan.1999, p30-39 Sách, tạp chí
Tiêu đề: Modelling Long Distance "Dependency in Language: topic mixture and Dynamic Case
[12] Kadambini K, Rama Sree R.J., Rama Krishnamacharyulu K.V. An English-Sanskrit Machine Translation Using Link Parser. In Proceedings of National Seminar, Tirupati, 2008 Sách, tạp chí
Tiêu đề: An English-Sanskrit "Machine Translation Using Link Parser

HÌNH ẢNH LIÊN QUAN

Bảng 1. So sánh độ dài khóa của các hệ mật mã với - Các công trình nghiên cứu, phát triển và ứng dụng CNTT-TT
Bảng 1. So sánh độ dài khóa của các hệ mật mã với (Trang 4)
Đồ thị của (E) nhận trục hoành Ox là trục đối xứng. - Các công trình nghiên cứu, phát triển và ứng dụng CNTT-TT
th ị của (E) nhận trục hoành Ox là trục đối xứng (Trang 5)
Hình 3. Thuật toán tạo khóa - Các công trình nghiên cứu, phát triển và ứng dụng CNTT-TT
Hình 3. Thuật toán tạo khóa (Trang 6)
Hình 4. Thuật toán trao đổi khóa - Các công trình nghiên cứu, phát triển và ứng dụng CNTT-TT
Hình 4. Thuật toán trao đổi khóa (Trang 6)
Hình 7. So sánh kích thước zone file tên miền sau khi - Các công trình nghiên cứu, phát triển và ứng dụng CNTT-TT
Hình 7. So sánh kích thước zone file tên miền sau khi (Trang 9)
Hình 8. So sánh thời gian ký xác thực  bằng RSA- - Các công trình nghiên cứu, phát triển và ứng dụng CNTT-TT
Hình 8. So sánh thời gian ký xác thực bằng RSA- (Trang 9)
Bảng 1. Ma trận đánh giá của lọc cộng tác. - Các công trình nghiên cứu, phát triển và ứng dụng CNTT-TT
Bảng 1. Ma trận đánh giá của lọc cộng tác (Trang 25)
Bảng 3. Ma trận đánh giá của lọc cộng tác. - Các công trình nghiên cứu, phát triển và ứng dụng CNTT-TT
Bảng 3. Ma trận đánh giá của lọc cộng tác (Trang 26)
Hình 3. Thuật toán dự đoán trên đồ thị hai phía - Các công trình nghiên cứu, phát triển và ứng dụng CNTT-TT
Hình 3. Thuật toán dự đoán trên đồ thị hai phía (Trang 28)
Bảng 7. Kết quả kiểm nghiệm trên tập MovieLens - Các công trình nghiên cứu, phát triển và ứng dụng CNTT-TT
Bảng 7. Kết quả kiểm nghiệm trên tập MovieLens (Trang 31)
Hình 1. Sơ đồ hệ thống ước lượng kênh truyền dựa - Các công trình nghiên cứu, phát triển và ứng dụng CNTT-TT
Hình 1. Sơ đồ hệ thống ước lượng kênh truyền dựa (Trang 34)
Hình  di  chuyển  của  người  đi  bộ  (pedestrian)  và  mô - Các công trình nghiên cứu, phát triển và ứng dụng CNTT-TT
nh di chuyển của người đi bộ (pedestrian) và mô (Trang 38)
Hình 6. So sánh BER cho kênh truyền pedestrian với - Các công trình nghiên cứu, phát triển và ứng dụng CNTT-TT
Hình 6. So sánh BER cho kênh truyền pedestrian với (Trang 39)
Hình  3  dưới  đây  mô  tả  kiến  trúc  của  hệ  dịch  Việt - Các công trình nghiên cứu, phát triển và ứng dụng CNTT-TT
nh 3 dưới đây mô tả kiến trúc của hệ dịch Việt (Trang 46)

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm