1. Trang chủ
  2. » Luận Văn - Báo Cáo

nghiên cứu sử dụng giọng nói trong xác thực và mã hóa dữ liệu trên thiết bị di động và xây dựng hệ thống demo trên android

93 706 4

Đ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 93
Dung lượng 2,68 MB

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

Nội dung

TRƯỜNG ĐẠI HỌC BÁCH KHOA KHOA KHOA HỌC & KỸ THUẬT MÁY TÍNH BKTP.HCM LUẬN VĂN TỐT NGHIỆP ĐẠI HỌC NGHIÊN CỨU SỬ DỤNG GIỌNG NÓI TRONG XÁC THỰC VÀ MÃ HÓA DỮ LIỆU TRÊN THIẾT BỊ DI ĐỘNG VÀ

Trang 1

TRƯỜNG ĐẠI HỌC BÁCH KHOA KHOA KHOA HỌC & KỸ THUẬT MÁY TÍNH

BKTP.HCM

LUẬN VĂN TỐT NGHIỆP ĐẠI HỌC

NGHIÊN CỨU SỬ DỤNG GIỌNG NÓI TRONG

XÁC THỰC VÀ MÃ HÓA DỮ LIỆU TRÊN THIẾT BỊ

DI ĐỘNG VÀ XÂY DỰNG HỆ THỐNG DEMO TRÊN

ANDROID

HỘI ĐỒNG: Hệ thống thông tin GVHD: PGS TS Đặng Trần Khánh GVPB: ThS Trương Quỳnh Chi

SVTH 1: Lê Phạm Tuyên(50802487) SVTH 2: Dương Tử Huy(50800768) SVTH 3: Lê Trảo Việt Cường(50800240)

Trang 2

Chúng em xin chân thành cảm ơn Khoa Khoa học và Kỹ thuật máy tính-trường Đại học Bách Khoa đã tạo điều kiện cho chúng em thực hiện đề tài luận văn tốt nghiệp này

Chúng em xin gửi lời cảm ơn sâu sắc đến Thầy Đặng Trần Khánh đã rất tận tình hướng dẫn chúng em trong suốt thời gian thực hiện đề tài, thầy đã cung cấp không ít tài liệu cũng như cho chúng em những ý tưởng thú vị và đây những động lực lớn lao để chúng em thực hiện luận văn này

Chúng em xin chân thành cảm ơn đến các thầy, cô trong nhóm nghiên cứu DSTAR đã cho chúng em những ý kiến đóng góp quý báu trong quá trình thực hiện đề tài; xin gửi lời cảm ơn chân thành đến các Thầy và các Cô trong Khoa đã truyền đạt cho chúng em những kiến thức bổ ích, giúp chúng em có được một nền tảng lý thuyết và những kỹ thuật căn bản thiết yếu

Chúng con xin được bày tỏ lòng biết ơn sâu sắc đối với ông bà, cha mẹ, người luôn luôn quan tâm chăm sóc, cả về mặt vật chất lẫn tinh thần, giúp cho chúng con yên tâm, tập trung vào công việc học tập và nghiên cứu

Cuối cùng, xin được nói lời cảm ơn đến các anh chị, bạn bè đã giúp đỡ, khích

lệ cũng như phê bình, góp ý giúp chúng em hoàn thành công việc một cách tốt nhất

Tp Hồ Chí Minh, 12/2012

SVTH

Lê Phạm Tuyên Dương Tử Huy

Lê Trảo Việt Cường

Trang 3

Chúng tôi xin cam đoan đây là công trình nghiên cứu của bản thân chúng tôi, được xuất phát từ yêu cầu của luận văn cũng như mong muốn cá nhân Các số liệu, tư liệu, mã nguồn tham khảo có nguồn gốc rõ ràng tuân thủ đúng nguyên tắc

và kết quả trình bày trong luận văn thu thập được trong quá trình nghiên cứu là trung thực chưa từng được ai công bố trước đây

Trang 4

Trong luận văn này, chúng tôi trình bày nghiên về cứu sinh trắc học giọng nói

và việc sử dụng giọng nói để xác thực và mã hoá dữ liệu người dùng

Một hệ thống xác thực điển hình gồm hai quá trình đăng ký và xác thực Khi

sử dụng giọng nói làm thông tin để xác thực, hệ thống trải qua các bước sau đây:

 Quá trình đăng ký

o Thu dữ liệu giọng nói

o Rút trích vector đặc trưng từ dữ liệu giọng nói

o Sử dụng một giải thuật sửa lỗi để tạo ra thông tin trợ giúp, thông tin này là duy nhất đối mỗi đặc trưng

o Tạo khoá từ vector đặc trưng để sử dụng cho mã hoá và giải mã dữ liệu

 Quá trình xác thực

o Thu dữ liệu giọng nói

o Rút trích vector đặc trưng từ dữ liệu giọng nói

o Khôi phục lại vector đặc trưng ban đầu bằng cách sử dụng cùng giải thuật sửa lỗi và thông tin trợ giúp sinh ra ở quá trình đăng ký Nếu khôi phục thành công, xác thực thành công; ngược lại, xác thực thất bại

o Tạo khoá từ vector đặc trưng để sử dụng cho mã hoá và giải mã dữ liệu

Chúng tôi cũng trình bày một hệ thống đề nghị, sử dụng sinh trắc học giọng nói để xác thực và mã hoá dữ liệu trên thiết bị di động sử dụng Android Hệ thống đã được kiểm tra trên 295 mẫu giọng nói (29 người) với tỉ lệ với tỉ lệ xác thực thành công xấp xỉ 85%

Trang 5

In this thesis, we present our research about using voice for authentication and data encryption/decryption

A typical authentication system involves two phases: enrollment and authentication When using voice as the trait for authentication, the following steps are done:

 Enrollment

o Capture the voice signal

o Extract the feature vector from input signal

o Apply an Error Correction Algorithm on feature vector to generate the unique helper data

o Generate key from this feature vector for data encryption/decryption

 Authentication

o Capture the voice signal

o Extract the feature vector from input signal

o Recover the original feature vector by applying the same Error Correction Algorithm together with the helper data on the feature vector If the recover succeeds, the authentication succeeds; otherwise fails

o Generate key from this feature vector for data encryption/decryption

We also present our proposed system which uses voice for authentication This system has been tested using our recorded audio library The library contains 295 voice samples of 29 people The correction rate of authentication is about 85%

Trang 6

LỜI CẢM ƠN ii

LỜI CAM ĐOAN iii

TÓM TẮT iv

ABSTRACT v

MỤC LỤC vi

DANH MỤC CÁC TỪ VIẾT TẮT ix

DANH MỤC HÌNH x

DANH MỤC BẢNG xiii

CHƯƠNG 1: GIỚI THIỆU ĐỀ TÀI 1

1.1 Giới thiệu 1

1.1.1 Định nghĩa sinh trắc học 1

1.1.2 Sự cần thiết của sinh trắc học 3

1.2 Mục tiêu đề tài 4

1.2.1 Nhiệm vụ 4

1.2.2 Những vấn đề không thuộc phạm vi đề tài 5

1.2.3 Phương pháp thực hiện 5

1.3 Bố cục luận văn 6

1.3.1 Chương 1: Giới thiệu đề tài 6

1.3.2 Chương 2: Cơ sở lý thuyết 6

1.3.3 Chương 3: Các nghiên cứu liên quan 6

1.3.4 Chương 4: Phân tích và thiết kế hệ thống 6

1.3.5 Chương 5: Tổng kết đánh giá 6

Chương 2: CƠ SỞ LÝ THUYẾT 7

2.1 Rút trích vector đặc trưng từ giọng nói 7

Trang 7

2.1.2 Tiền xử lý mẫu giọng nói 10

2.1.3 Rút trích vector đặc trưng từ mẫu tín hiệu giọng nói 13

2.2 Kỹ thuật sửa lỗi 17

2.2.1 Kỹ thuật lặp (repetition) 17

2.2.2 Kỹ thuật kiểm tra chẵn lẻ 18

2.2.3 Mã Hamming 18

2.2.4 Mã sửa lỗi Reed Solomon 19

2.3 Tổng quan về mã hóa 28

2.3.1 Tổng quan 28

2.3.2 Các mô hình mã hóa và giải mã 32

CHƯƠNG 3: CÁC NGHIÊN CỨU LIÊN QUAN 38

3.1 Hệ thống mã hóa bằng cách tạo khóa dựa trên tròng mắt người 38

3.1.1 Mô hình hệ thống 38

3.1.2 Quá trình rút trích đặc trưng 39

3.1.3 Mã hóa và giải mã 41

3.1.4 Kết quả thực nghiệm và phân tích 42

3.2 Sinh trắc học khuôn mặt và phương pháp nhận dạng Eigenfaces 43 3.2.1 Giới thiệu 43

3.2.2 Phương pháp Eigenfaces 44

CHƯƠNG 4: PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG 48

4.1 Phân tích, thiết kế hệ thống 48

4.1.1 Mô tả hệ thống 48

4.2 Các thành phần của hệ thống 52

4.2.1 Thành phần thu nhận giọng nói 52

4.2.2 Thành phần rút trích đặc trưng sinh trắc 53

4.2.3 Thành phần chuẩn hóa 56

Trang 8

4.2.5 Thành phần tạo khóa 59

4.2.6 Thành phần mã hóa và giải mã dữ liệu 59

4.3 Các quá trình của hệ thống 59

4.3.1 Quá trình đăng kí (Enrollment) 60

4.3.2 Quá trình xác thực hệ thống (Authentication) 60

4.3.3 Quá trình mã hóa và giải mã 61

Chương 5: TỔNG KẾT – ĐÁNH GIÁ 62

5.1 Kết quả thực nghiệm 62

5.1.1 Sử dụng giải thuật LPC để rút trích vector đặc trưng 62

5.1.2 Rút trích vector đặc trưng bằng giải thuật FFT 64

5.1.3 So sánh các kết quả thu được 68

5.2 Kết quả đạt được 70

5.2.1 Ưu điểm hệ thống 70

5.2.2 Nhược điểm hệ thống 70

5.3 Hướng phát triển 71

TÀI LIỆU THAM KHẢO 72

PHỤ LỤC 74

PHỤ LỤC 1: DEMO CHƯƠNG TRÌNH BIO-CRYPT-ANDROID 74

1 Yêu cầu và cài đặt 74

2 Demo các chức năng 74

2.1 Đăng ký thông tin 75

2.2 Xác thực người dùng 77

2.3 Mã hóa và giải mã 78

2.4 Phiên bản thu giọng nói trực tiếp 78

PHỤ LỤC 2: PHÂN CÔNG CÔNG VIỆC 80

Trang 9

DANH MỤC CÁC TỪ VIẾT TẮT

LPC Linear Predictive Code

FFT Fast Fourier Transform

DFT Discrete Fourier Transform

MFCC Mel Frequency Cepstral Coefficient

PCM Pulse Code Modulation

DSP Digital Signal Processing

FRR False Reject Rate

FAR False Accept Rate

FMR False Match Rate

FNMR False Non-match Rate

ECC Error Correction Code

PCA Principle Component Analysis

MARF Modular Audio Recognition Framework

DES Data Encryption Standard

AES Advanced Encryption Standard

RSA Ron Rivest, AdiSharmir and Leonard Adleman

DSS Digital Signature Standard

IDEA International Data Encryption Algorithm

Trang 10

DANH M ỤC HÌNH

Hình 2.1-1 Biểu diễn tín hiệu giọng nói theo thời gian 9

Hình 2.1-2 Mẫu tín hiệu giọng nói sau khi được chuẩn hóa 10

Hình 2.1-3 Mẫu tín hiệu giọng nói trước và sau khi khử khoảng lặng 11

Hình 2.1-4 Mẫu tín hiệu giọng nói theo miền tần số sau khi lọc lấy tần số thấp 12

Hình 2.1-5 Mô hình rút trích ra vector đặc trưng 13

Hình 2.1-6 Phân khung 14

Hình 2.1-7 Cửa sổ Hamming 15

Hình 2.1-8 Cửa sổ Hanning 15

Hình 2.1-9 Cửa sổ chữ nhật 15

Hình 2.2-1 Ánh xạ các phần tử cơ bản trong trường GF(8) 21

Hình 2.3-1 Mã hóa và giải mã 28

Hình 2.3-2 Mã hóa 29

Hình 2.3-3 Không gian khóa 30

Hình 2.3-4 Sơ đồ mã hóa khóa đối xứng 32

Hình 2.3-5 Sức mạnh của các giải thuật khóa đối xứng 34

Hình 2.3-6 Mô hình mã hóa sử dụng khóa bất đối xứng 35

Hình 2.3-7 Mô hình giải mã sử dụng khóa bất đối xứng 35

Hình 2.3-8 Các định dạng thông điệp 37

Hình 3.1-1 Mô hình hệ thống mã hóa 39

Trang 11

Hình 3.1-3 Hình ảnh được lọc 41

Hình 3.1-4 Đường cong FAR và FRR 42

Hình 3.2-1 Một số Eigenface 45

Hình 4.1-1 Mô hình use case của hệ thống 48

Hình 4.2-1 Rút trích vector đặc trưng bằng giải thuật LPC 54

Hình 4.2-2 Rút trích vector đặc trưng bằng giải thuật FFT 55

Hình 4.2-3 Cấu trúc MARF Framework 56

Hình 4.2-4 Phép biến đổi vector đặc trưng LPC 57

Hình 4.2-5 Phép biến đổi vector đặc trưng FFT 57

Hình 4.2-6 Encode trong R-S 58

Hình 4.2-7 Decode trong R-S 59

Hình 4.3-1 Quá trình đăng kí 60

Hình 4.3-2 Quá trình xác thực hệ thống 61

Hình 5.1-1 Đường cong FAR và FRR của giải thuật LPC 63

Hình 5.1-2 Sự phân bố của các thành phần vector vào 5 khoảng 64

Hình 5.1-3 Đường cong FAR và FRR của giải thuật FFT-32 65

Hình 5.1-4 Sự phân bố của các thành phần vector vào 20 khoảng 65

Hình 5.1-5 Đường cong FAR và FRR của giải thuật FFT-64 66

Hình 5.1-6 Sự phân bố của các thành phần vector vào 20 khoảng 67

Hình 5.1-7 Đường cong FAR và FRR của giải thuật FFT-128 68

Trang 12

Hình 5.1-9 So sánh các giải thuật với nhau 69

Hình 1-1 Giao diện ban đầu của chương trình 75

Hình 1-2 a) Giao diện chọn số sample b) Giao diện chọn file 76

Hình 1-3 Giao diện confirm đăng ký lại thông tin 77

Hình 1-4 a) Giao diện quản lý file b) Option menu 78

Hình 1-5 Màn hình thu giọng nói 79

Trang 13

DANH MỤC BẢNG

Bảng 2.2-1 Chuỗi dữ liệu sau khi được thêm vào các bit chẵn lẻ 18

Bảng 2.2-2 Quá trình kiểm tra tính đúng đắn chuỗi dữ liệu 19

Bảng 2.2-3 Thể việc các phép toán cộng và nhân trong GF(8) 22

Bảng 3.1-1 FAR, FRR và ngưỡng T 43

Bảng 4.1-1 Mô tả use case “Enroll” 49

Bảng 4.1-2 Mô tả use case “Re-enroll” 49

Bảng 4.1-3 Mô tả Use-case “Login” 50

Bảng 4.1-4 Mô tả use case “Encrypt/Decrypt file” 51

Bảng 5.1-1 FAR và FRR của giải thuật LPC 63

Bảng 5.1-2 FAR và FRR của giải thuật FFT với vector đặc trưng 32 chiều 64

Bảng 5.1-3 FAR và FRR của giải thuật FFT với vector đặc trưng 64 chiều 66

Bảng 5.1-4 FAR và FRR của giải thuật FFT với vector đặc trưng 128 chiều 67

Trang 14

CHƯƠNG 1: GIỚI THIỆU ĐỀ TÀI

1.1 Giới thiệu

Mở đầu, đề tài sẽ trình bày một cách khái quát về sinh trắc học Sinh trắc học

là gì, các phương thức sinh trắc, các yếu tố để chọn lựa phương thức sinh trắc Tiếp theo, đề tài sẽ trình bày tại sao và tầm quan trọng sử dụng sinh trắc học trong các hệ thống xác thực và mã hóa

1.1.1 Định nghĩa sinh trắc học

Sinh trắc học (biometrics) là phương pháp xác thực con người dựa trên các

đặc điểm sinh trắc [1] Các đặc điểm sinh trắc này phải là riêng biệt và có thể

đánh giá tính toán được Các đặc điểm sinh trắc được chia thành 2 loại: vật lý và hành vi Các sinh trắc vật lý thường liên quan đến khuôn mặt, dấu vân tay, giọng nói… Các sinh trắc hành vi thường đề cập đến các hành vi con người: chữ kí, dáng đi… Các phương thức sinh trắc:

 Khuôn m ặt: Những hình ảnh tĩnh hoặc động của khuôn mặt được dùng để

nhận dạng Những cách tiếp cận ngày nay dựa trên vị trí, hình dạng và những mối quan hệ giữa các đặc điểm trên khuôn mặt như mắt, mũi, môi

và cằm… Tuy nhiên, quá trình nhận dạng dựa trên khuôn mặt cũng gặp thử thách vì khuôn mặt sẽ thay đổi theo thời gian

 D ấu vân tay: Mô hình của thung lũng và đồi núi trên bề mặt đầu ngón tay,

đã được sử dụng trong các lĩnh vực pháp lý từ hơn một thế kỉ Dấu vân tay được hình thành trong quá trình phát triển bào thai, và ngay cả những cặp sinh đôi đồng nhất cũng không có cùng dấu vân tay Hệ thống nhận dạng

có thể nhận dạng một dấu vân tay hoặc nhiều dấu vân tay Hiệu suất hệ thống sinh trắc sử dụng dấu vân tay thường cao và chính xác

 Bàn tay: Đề cập đến hình dạng bàn tay, kích thước lòng bàn tay, và chiều dài và chiều rộng các ngón tay Ưu điểm của phương thức này là tương đối đơn giản và dễ sử dụng Tuy nhiên, vì sự khác nhau không rõ ràng hình dạng bàn tay trong phạm vi ứng dụng lớn, nên những hệ thống dùng phương thức bàn tay thường dùng để xác minh (verification) hơn là nhận

Trang 15

dạng (identification) Ngoài ra, vì thiết bị lấy dữ liệu phải có kích thước tối thiểu là kích thước bàn tay, quá lớn so với các thiết bị như laptop

 Ch ỉ tay (Palm Print): Chỉ tay kết hợp các đặc trưng của dấu vân tay và bàn

tay Chỉ tay chứa các vết lằn và rãnh giống dấu vân tay nhưng lớn hơn Nó cũng như dấu vân tay thường được sử dụng trong các hệ thống nhận dạng pháp lý

 Tròng m ắt (Iris): là màng mỏng có màu hình tròn bao bọc con ngươi đủ

phức tạp để có ích trong việc nhận dạng Hiệu suất hệ thống sử dụng phương thức này đầy triển vọng Tuy nhiên, mặc dù hệ thống dựa trên tròng mắt rất tốt nhưng FMR, FNMR lại cao Hơn nữa, tròng mắt thay đổi theo thời gian, nhưng sự thay đổi này chưa được nghiên cứu nhiều

 Gi ọng nói: Giọng nói kết hợp trực tiếp các đặc tính sinh trắc và hành vi

Âm thanh con người nói dựa trên nhiều yếu tố vật lý của cơ thể (miệng, mũi, môi, thanh quản…) và bị tác động bởi tuổi tác, cảm xúc, ngôn ngữ và tình trạng sức khỏe Chất lượng của thiết bị ghi âm và tiếng ồn cũng tác động đến hiệu suất

 Ch ữ kí: Chữ kí con người thay đổi theo thời gian Nó bị tác động mạnh bởi

các yếu tố bên ngoài bao gồm tình trạng sức khỏe, và cảm xúc của người

kí Ngoài ra, chữ kí cũng tương đối dễ giả mạo Tuy nhiên, chữ kí đã được chấp nhận như một phương thức nhận dạng trong một thời gian dài

Dáng đi: Dáng đi cũng là một phương thức nhận dạng Các hệ thống nhận

dạng dáng đi dựa trên quá trình xử lý hình ảnh để phát hiện hình bóng người dùng và các thuộc tính thời gian không gian liên quan Dáng đi bị tác động bởi nhiều yếu tố, bao gồm sự lựa chọn giày dép, bề mặt đi, quần áo Các hệ thống nhận dạng dáng đi vẫn còn đang trong quá trình phát triển

Hệ thống sinh trắc học là hệ thống xác thực người dùng sử dụng các đặc điểm sinh trắc Việc lựa chọn sinh trắc học nào để định danh người dùng phụ thuộc vào các yếu tố sau đây:

 Tính phổ thông (Universality): mỗi người dùng hệ thống đều phải sở hữu đặc điểm sinh trắc cụ thể

 Tính duy nhất (Uniqueness): các đặc điểm sinh trắc phải khác nhau và duy nhất

Trang 16

 Tính bền vững (Permanence): liên quan đến cách thức mà một đặc điểm sinh trắc biến đổi theo thời giản Cụ thể hơn, một đặc điểm sinh trắc bền

vững tốt phải bất biến theo thời gian đối với các thuật toán so sánh cụ thể

 Sự đo lường (Measurability): Các đặc điểm sinh trắc có thể thu được và số hóa bằng cách sử dụng các thiết bị thích hợp mà không gây bất tiện cho người dùng

 Hiệu suất (Performance): liên quan đến sự chính xác, tốc độ và mạnh mẽ của công nghệ được sử dụng

 Sự chấp nhận (Acceptability): đề cập đến việc người dùng có chấp nhận công nghệ này và sẵn sàng cho đặc điểm sinh trắc của họ cho hệ thống

 Sự giả mạo (Circumvention): các đặc điểm sinh trắc phải đủ khó để có thể giả mạo

Tuy nhiên, các hệ thống sinh trắc không nhất thiết phải tương tác với tất cả mọi người trong thời gian dài, chúng chỉ cần tương tác với một nhóm người nhỏ trong thời gian ngắn Do đó có thể tìm được các đặc điểm sinh trắc đủ ổn định và phân biệt để sử dụng trong thực tế

1.1.2 Sự cần thiết của sinh trắc học

Ngày nay, thiết bị di động đã trở thành vật không thể thiếu trong cuộc sống hằng ngày của mỗi người và dần thay thế các thiết bị truyền thống như máy tính

cá nhân Theo đó, thiết bị di động sẽ chứa đựng một lượng ngày càng nhiều dữ liệu cá nhân của người dùng Vì vậy, nhu cầu bảo mật trên những dữ liệu này trở nên quan trọng

Nắm bắt được nhu cầu đó, nhiều phần mềm đã được xây dựng trên thiết bị

di động để mã hóa dữ liệu của người dùng Phần lớn những phần mềm này đều

sử dụng cách tiếp cận truyền thống là sử dụng một mật khẩu kết hợp với các phương pháp mã hóa để mã hóa dữ liệu Với cách tiếp cận này, người sử dụng phải ghi nhớ mật khẩu của mình trong đầu hoặc ghi vào một nơi nào đó Nếu mật khẩu quá dài thì sẽ khó cho người sử dụng có thể nhớ Ngược lại, nếu mật khẩu quá ngắn thì phần mềm dễ bị crack Mặc khác, với cách tiếp cận sử dụng mật khẩu này, dữ liệu dùng để xác thực phải được lưu vào một chỗ đó trên thiết bị và

Trang 17

nếu hacker có thể lấy được dữ liệu này thì việc mã hóa giải mã dữ liệu người dùng trở nên dễ dàng

Có hai vấn đề cần phải giải quyết ở đây là làm sao người sử dụng không cần phải nhớ mật khẩu của mình nữa và dữ liệu xác thực dù có bị hacker đánh cắp cũng không thể nào sử dụng được Với yêu cầu đó, các hệ thống sinh trắc học đã ra đời để giải quyết vấn đề trên Để truy cập vào hệ thống, người dùng phải dùng thông tin sinh trắc của mình để xác thực thay vì nhập mật khẩu Do đó, người dùng không còn phải nhớ và sợ người khác biết mật khẩu của mình Thông tin sinh trắc này không những được dùng để xác thực mà còn mã hóa dữ liệu Ngoài ra, hệ thống chỉ lưu giữ các thông tin công khai (public data) được dùng để trong quá trình xác thực người dùng Nếu hacker có thể đánh cắp được thiết bị thì cũng không thể khai thác được thông tin gì từ thông tin này Do đó không thể giải mã được những thông tin mật đã được mã hóa của người dùng

1.2 Mục tiêu đề tài

Trong phần này đề tài sẽ nêu ra nhiệm vụ cơ bản cụ thể, phạm vi của đề

tài-đó là những gì phải làm và những gì không thuộc phạm vi của đề tài

1.2.1 Nhiệm vụ

Luận văn này trình bày cho người đọc những kiến thức cơ bản và chuyên sâu

về quá trình xác thực và mã hóa bằng các thông tin sinh trắc, xây dựng một bức tranh tổng quát về hệ thống có áp dụng sinh trắc học trên thiết bị di động

Thứ nhất: đề tài sẽ tập trung xây dựng một hệ thống xác thực và mã hóa dữ

liệu tổng quát, mô tả đầy đủ các thành phần của hệ thống Đề tài sử dụng giọng nói làm phương thức sinh trắc để xác thực và mã hóa dữ liệu vì hầu hết thiết bị di động ngày nay đều có thiết bị thu nhận giọng nói Ngoài ra, dùng giọng nói thuận tiện cho người sử dụng hơn các phương thức sinh trắc khác

Thứ hai: xây dựng hệ thống trên thiết bị di động có hệ điều hành Android Vì

các điện thoại thông minh (smartphones) sử dụng hệ điều hành Android hiện nay chiếm tỉ lệ rất cao Ngoài ra, hệ điều hành Android là hệ điều hành mã nguồn mở,

ta có thể cài đặt hệ thống lên thiết bị một cách dễ dàng

Trang 18

Những lý thuyết phải tìm hiểu qua:

 Những kỹ thuật để rút trích ra vector đặc trưng

 Kỹ thuật sửa lỗi

 Mã hóa - mã hóa đối xứng, bất đối xứng, các giải thuật mã hóa

 Kỹ thuật băm (hash) - dùng để tạo khóa

 Hệ điều hành android

1.2.2 Những vấn đề không thuộc phạm vi đề tài

Hiện tại, phạm vi nghiên cứu của đề tài phần lớn tập trung vào việc xây dựng một hệ thống xác thực và mã hóa dữ liệu và tạo ra một ứng dụng có hệ thống sinh trắc này trên thiết bị di động Đề tài sẽ không quá tập trung vào các vấn đề nghiệp vụ của hệ thống cũng như xây dựng một ứng dụng thật sự hoàn chỉnh vì đây là quá trình rất lâu dài cần nhiều kỹ thuật và kinh nghiệm tốt trong việc thiết

kế và lập trình di động

Hơn nữa, cái mà đề tài muốn nhấn mạnh đó là vấn đề xác thực và mã hóa dữ liệu chứ không phải là vấn đề làm sao để có một ứng dụng di động hoàn chỉnh vì điều này nằm ở một khía cạnh khác

1.2.3 Phương pháp thực hiện

Dựa vào thông tin từ những bài báo cáo nghiên cứu khoa học, những eBooks, những website đáng tin cậy, chúng tôi tìm hiểu, phân tích và lựa chọn giọng nói làm phương thức sinh trắc cho hệ thống Tất cả những thông tin sử dụng đều là những thông tin hợp pháp, được phép sử dụng cho mục đích học tập và nghiên cứu

Dựa vào những công nghệ có sẵn như Java, hệ điều hành Android, các kỹ thuật sửa lỗi, các kỹ thuật mã hóa(đối xứng, bất đối xứng) để xây dựng một ứng dụng xác thực và mã hóa dữ liệu trên thiết bị di động Android

Trang 19

1.3 Bố cục luận văn

1.3.1 Chương 1: Giới thiệu đề tài

Giới thiệu về đề tài, tóm tắt mục tiêu, nhiệm vụ, phương pháp thực hiện của đề tài Chương giới thiệu một cách tổng quát về sinh trắc học và các phương thức sinh trắc

1.3.2 Chương 2: Cơ sở lý thuyết

Chương này trình bày cơ sở lý thuyết về vấn đề xác thực và mã hóa dữ liệu bằng giọng nói Các kỹ thuật rút trích thông tin từ giọng nói, tổng quan về mã hóa, và các kỹ thuật sửa lỗi Các lý thuyết này được áp dụng vào quá trình hiện thực chương trình của đề tài

1.3.3 Chương 3: Các nghiên cứu liên quan

Vấn đề sinh trắc học đã được nghiên cứu từ lâu Các nhà khoa học đã nghiên cứu và ứng dụng nhiều loại phương thức sinh trắc vào các hệ thống sinh trắc này Chương này trình bày một số nghiên cứu liên quan đến vấn đề xác thực và

mã hóa dữ liệu bằng các đặc điểm sinh trắc

1.3.4 Chương 4: Phân tích và thiết kế hệ thống

Trình bày cụ thể về việc hiện thực chương trình Bao gồm các sơ đồ phân tích chức năng hệ thống, các thành phần trong chương trình, giải thích về cách thức hoạt động của các thành phần

1.3.5 Chương 5: Tổng kết đánh giá

Trình bày phương pháp thực nghiệm và kết quả thực nghiệm Một số đánh giá

về kết quả thực nghiệm Phân tích ưu nhược điểm của chương trình Một số kết luận và hướng mở rộng của đề tài

Trang 20

Chương 2: CƠ SỞ LÝ THUYẾT

Ở chương này, chúng tôi tập trung vào các kỹ thuật được dùng để hiện thực

đề tài luận văn - hệ thống xác thực và mã hóa dữ liệu trên thiết bị di động sử dụng giọng nói Nội dung được trích dẫn và sàng lọc từ các tài liệu [2] [3]

2.1 Rút trích vector đặc trưng từ giọng nói

Giọng nói từ lâu đã là phương tiện giúp mọi người có thể giao tiếp, trao đổi thông tin với nhau Ở khía cạnh loài người, giọng nói có thể giúp người nghe xác định chính xác người đang nói là ai, hoặc ít nhất là phân biệt người đó là nam hay nữ bằng cách ghi nhận lại những đặc trưng của giọng nói kết hợp với khả năng phán đoán suy luận Còn trong hệ thống máy tính, việc phân biệt người này

với người khác bằng giọng nói chỉ đơn giản là thu lại tín hiệu giọng nói sau đó biến đổi nó dựa vào một trong những đặc trưng vốn có của giọng nói như miền tần số, miền năng lượng, đặc trưng các hệ số cepstral tần số Mel (MFCC), đặc trưng mã dự đoán tuyến tính (LPC) …

Tương ứng với mỗi đặc trưng của giọng nói ta thu được một vector đặc trưng Vector đặc trưng này giúp giảm số lượng dữ liệu của giọng nói, giúp việc tính toán trong hệ thống giảm đi đáng kể Bên cạnh đó, việt rút trích đặc trưng còn làm rõ sự khác biệt của tiếng nói người này so với người khác và làm mờ đi

sự khác biệt của hai lần nói khác nhau của cùng một người Trong giới hạn của luận văn không đi sâu vào việc phân tích chi tiết từng đặc trưng sinh trắc của giọng nói mà chỉ xin đưa ra các kỹ thuật cơ bản để rút trích ra được các vector đặc trưng cùng với những kỹ thuật tiền xử lý tín hiệu giọng nói Những kỹ thuật này sẽ được giới thiệu theo trình tự từ lúc thu mẫu tín hiệu giọng nói cho đến lúc rút trích được một vector đặc trưng

2.1.1 Lấy mẫu giọng nói

Mục đích của bước này là làm sao chuyển giọng nói của người sử dụng thành một dạng thông tin mà máy tính có thể xử lý Chất lượng của giọng nói thu lại có

Trang 21

ảnh hưởng rất lớn đến kết quả phân tích giọng nói sau này Những yếu tố ảnh hưởng đến chất lượng của mẫu giọng nói thu được bao gồm:

2.1.1.1 Nhân tố bên ngoài

Môi trường xung quanh khu vực thu giọng nói có ảnh hưởng lớn đến chất lượng của tín hiệu giọng nói Thường khi giọng nói được thu, nó lẫn vào trong đó

âm thanh nền của những vật xung quanh Việc loại bỏ chúng ra khỏi âm thanh gốc sẽ giúp chất lượng âm thanh được tốt hơn

Chất lượng của thiết bị thu nhận âm cũng là một yếu tố góp phần tăng chất lượng của mẫu tín hiệu giọng nói Một số thiết bị cao cấp còn chức năng giúp lọc bớt những tín hiệu được cho là âm thanh nền, gây nhiễu

Trạng thái, thái độ hợp tác của người nói lúc đó cũng ảnh hưởng đến chất lượng giọng nói thu được Giọng nói lúc người nói ở trạng thái bình thường với trạng thái lúc không bình thường (ốm, viêm họng…) sẽ có những khác biệt nhất định Mặc khác khi người nói vẫn trong trạng thái bình thường nhưng lại cố tình làm cho giọng nói gốc của mình khác đi bằng cách giả giọng thì mẫu tín hiệu giọng nói thu được cũng bị ảnh hưởng rất nhiều

Việc xác định những nhân tố bên ngoài gây ảnh hưởng giúp ta có thể đưa ra những điều kiện ban đầu cho người nói, về môi trường và về thiết bị để có thể thu được mẫu tín hiệu tốt hơn

2.1.1.2 Nhân tố bên trong

Tín hiệu giọng nói là một dạng của tín hiệu âm thanh và khi muốn lưu vào thiết bị lưu trữ để lưu trữ thì cũng phải theo một chuẩn mã hóa nào đó để khi các

chương trình đọc dữ liệu lên có thể hiểu Những chuẩn mã hóa này gọi là Định

dạng của âm thanh (Audio Format) Đơn giản nhất là chuẩn mã hóa PCM dùng

cho WAV file Trong kỹ thuật này, tín hiệu giọng nói thu được sẽ được biểu diễn như một chuỗi của những giá trị cường độ (amplitude) Phạm vi của giá trị biên phụ thuộc vào thông số kích thước mẫu (sample size) Với kích thước mẫu là 16-bit, thì phạm vi của giá trị cường độ nằm trong khoảng từ 0 – 216

(65536) Khi

sử dụng chuẩn mã hóa PCM-signed thì phạm vi này sẽ nằm trong khoảng từ -215

(32768) đến 215 (32768) Với kích thước mẫu này giá trị cường độ sẽ được biểu

Trang 22

diễn ở một khoảng rộng hơn so với khi chọn kích thước mẫu là 8-bit ( giá trị cường độ chỉ nằm trong khoảng từ [-128, 128] ) Vì vậy kích thước mẫu 16-bit được chọn để thu được mẫu giọng nói có chất lượng tốt hơn

Tần số lấy mẫu (sample rate) của một file âm thanh nói đến số giá trị

cường độ thu được trong một đơn vị thời gian (thường là giây) Theo lý thuyết Nyquist, tần số lấy mẫu phải ít nhất gấp hai lần tần số tối đa của tín hiệu tuần tự, Ngược lại, tín hiệu tuần tự sẽ không tạo ra được tín hiệu số một cách chính xác Một ví dụ đơn giản là nếu tần số mẫu được chọn là 8000Hz, thì tần số của tín hiệu tuần tự của mỗi mẫu bị giới hạn có 4000Hz Với giọng nói bình thường của con người có tần số từ 300 Hz đến 3400 Hz thì tần số lấy mẫu 8000 Hz có thể chấp nhận được

Số kênh âm thanh (number of channel) cũng là một thành phần trong việc

thu lại mẫu tín hiệu giọng nói và không ảnh hưởng đến đầu vào của tín hiệu giọng nói Nó chỉ ảnh hưởng đến đầu ra của tín hiệu giọng nói Một số loại kênh

cơ bản thường gặp là mono (tín hiệu âm thanh như nhau giữa các nguồn phát) hay stereo (tín hiệu âm thanh khác nhau giữa các nguồn phát) Để đơn giản trong việc xử lý tín hiệu giọng nói thì kênh mono được sử dụng Hình sau mô tả biểu diễn của tín hiệu giọng nói theo thời gian

Hình 2.1-1 Biểu diễn tín hiệu giọng nói theo thời gian

Trang 23

2.1.2 Tiền xử lý mẫu giọng nói

Chất lượng của tín hiệu giọng nói thu được có thể được cải thiện thông qua các giải thuật tiền xử lý Một số kỹ thuật là yêu cầu bắt buộc trước khi tiến hành rút trích thông tin sinh trắc như chuẩn hóa (normalization), khử nhiễu (remove noise), khử khoảng lặng (remove silence) Cũng có những kỹ thuật chỉ được áp dụng cho từng giải thuật rút trích đặc thù tùy thuộc vào giải thuật đó dựa trên đặc điểm sinh trắc nào của giọng nói

2.1.2.1 Chuẩn hóa (Normalization)

Không phải tất cả các mẫu giọng nói đều được thu ở cùng một trạng thái Ví

dụ một người lúc nói lớn, nói nhỏ, thiết bị thu âm lúc đặt gần lúc đặt xa Điều này làm cho cường độ giọng nói thu được có giá trị nằm trong một khoảng không đồng nhất với nhau Vì vậy, việc chuẩn hóa dữ liệu cho mẫu giọng nói để đảm bảo rằng các đặc trưng có thể so sánh được với nhau là hết sức quan trọng Khi

dữ liệu âm thanh được chuyển sang hết các giá trị dấu chấm động nằm trong khoản từ -1 đến 1 Việc chuẩn hóa được tiến hành bằng cách tìm cường độ âm lớn nhất trong mẫu tín hiệu giọng nói rồi sau đó lấy tỉ lệ những cường độ âm khác trong mẫu tín hiệu giọng nói với cường độ âm này Việc này sẽ đảm bảo rằng mỗi mẫu tín hiệu sẽ thật sự bao phủ toàn bộ khoảng từ -1 đến 1 Hình sau

mô tả dữ liệu trước và sau khi chuẩn hóa

Hình 2.1-2 Mẫu tín hiệu giọng nói sau khi được chuẩn hóa

Trang 24

2.1.2.2 Khử khoảng lặng (Remove silence)

Khoảng lặng là những khoảng trong mẫu tín hiệu giọng nói mà người nói không nói gì Nó không có ý nghĩa trong rút trích vector đặc trưng giọng nói, đôi khi lại kèm theo nhiễu nên việc loại bỏ nó khỏi mẫu tín hiệu giọng nói là việc cần thiết Thường cường độ của khoảng lặng của khoảng lặng rất thấp (xấp xỉ 0) nên cách để loại bỏ nó ra khỏi mẫu tín hiệu là loại đi những phần tử tín hiệu có cường

độ nhỏ hơn một ngưỡng cường độ nào đó cho trước (ngưỡng này xấp xỉ 0) Phần còn lại được xem là phần âm thanh do người nói phát ra và có thể đưa vào một số giải thuật tiền xử lý khác cho ra kết quả cuối cùng tốt hơn

Hình 2.1-3 Mẫu tín hiệu giọng nói trước và sau khi khử khoảng lặng

2.1.2.3 Khử nhiễu (Remove noise)

Lẫn trong mẫu tín hiệu giọng nói cũng chứa đựng các tín hiệu không mong muốn khác chẳng hạn như tiếng nói của những người xung quanh, của xe cộ chạy ngoài đường Các tín hiệu này làm giảm đáng kể chất lượng của tín hiệu

Có nhiều phương pháp để loại bỏ nhiễu khỏi mẫu tín hiệu dựa vào một số đặc trưng nhất định Trong số đó là kỹ thuật sử dụng một bộ lọc tín hiệu dựa vào tần

số thấp (FFT Low – Pass Filter) Công việc của bộ lọc này là biến đổi mẫu tín hiệu giọng nói từ miền thời gian sang miền tần số rồi sau đó đơn giản loại bỏ những giá trị tần số lớn hơn một ngưỡng nào đó cho trước Giọng nói bình thường của con người chỉ quanh quẩn quanh khoảng tần số từ 300Hz đến

Trang 25

3400Hz nên những âm thanh thu được ở khoảng tần số trên 3400 sẽ chỉ là những tín hiệu nhiễu thu được cần phải được loại bỏ

Hình 2.1-4 Mẫu tín hiệu giọng nói theo miền tần số sau khi lọc lấy tần số thấp

2.1.2.4 Giải thuật dò tìm điểm cuối (End-point detection)

Dò tìm điểm cuối là một kỹ thuật cố gắng tìm ra chính xác khi nào người ta bắt đầu và kết thúc nói Nó còn được dùng để xác định khi mà người ta không thật

sự nói gì hoặc nói những điều không mong đợi Khi đó, dò tìm điểm cuối giúp giảm một số lượng dữ liệu cần phải xử lý, dẫn đến giảm tải việc tính toán Tuy nhiên, việc dò tìm điểm cuối không dễ như người ta tưởng, bởi vì có sự tồn tại của tiếng ồn nền, tiếng nói nền Việc xác định điểm cuối dựa vào giá trị cường độ của dữ liệu thu được Có bốn trường hợp được xem là điểm cuối:

 Điểm đầu hoặc điểm cuối của mẫu tín hiệu giọng nói

 Những điểm có cường độ cao hơn những điểm còn lại xung quanh nó (max local)

 Những điểm có cường độ thấp hơn những điểm còn lại xung quanh nó (min local)

 Những điểm có cường độ bằng những điểm xung quanh nó

Trang 26

Kỹ thuật dò tìm điểm cuối được thực hiện sau khi mẫu tín hiệu giọng nói đã được xử lý để khử nhiễu và khoảng lặng Nó được áp dụng cho các giải thuật rút trích vector đặc trưng dựa vào miền cường độ của giọng nói

2.1.3 Rút trích vector đặc trưng từ mẫu tín hiệu giọng nói

Giọng nói với những đặc trưng khác nhau, sau khi thông qua những bộ rút trích khác nhau sẽ cho ra vector có kích thước và miền trị khác nhau Dưới đây là hai giải thuật để rút trích ra vector đặc trưng mà nhóm đã tìm hiểu được cùng với những kỹ thuật phải làm trước khi rút trích

Hình 2.1-5 Mô hình rút trích ra vector đặc trưng

Trang 27

2.1.3.1 Phân khung (framing)

Trong nhiều kỹ thuật sử lý tín hiệu số (DSP techniques) thì việc xử lý được thực hiện trên một khoảng các giá trị của mẫu giọng nói hơn là cho từng giá trị riêng lẽ Kỹ thuật cắt mẫu giọng nói thành những mẫu nhỏ hơn được gọi là quá trình phân khung Điều này giúp giảm bớt chi phí tính toán cho chương trình Độ rộng của khung và cách lấy khung cũng ảnh hưởng đến ảnh hưởng đến đầu ra của vector đặc trưng Hình dưới mô tả cách phân chia các khung thành F1, F2, F3, F4…những khung này chồng lấp lên nhau một khoảng bằng 1/3 độ rộng của khung Điều này làm cho kết quả phép rút trích đặc trưng có tương quan từ khung này sang khung kia

Hình 2.1-6 Phân khung

2.1.3.2 Cửa sổ Hamming

Sau khi phân khung, từng khung giá trị sẽ được đem đi lấy cửa sổ Kỹ thuật này là một phương pháp điều chỉnh dữ liệu để dữ liệu trở nên thích hợp hơn nhiều cho xử lý tín hiệu Với một cửa sổ bình thường, những phần tử kề nhau sẽ

có xu hướng thay đổi đột ngột từ nới có biên độ cao đến nơi có biên độ thấp Việc lấy cửa sổ như vậy sẽ làm cho dữ liệu giống như tuần hoàn và không có sự gián đoạn đột ngột Trong sử lý tín hiệu số, các cửa sổ thường được biểu diễn thông qua cửa sổ Hamming tổng quát:

Trang 28

{

( ) | | | |

Tùy vào các giá trị khác nhau của α mà ta có các cửa sổ khác nhau Với α = 1,

ta có cửa sổ chữ nhật, α = 0.5 ta có cửa sổ hanning và với α = 0.54 ta có cửa sổ hamming và cũng là loại cửa sổ được dùng nhiều trong sử lý tín hiệu số

Hình 2.1-7 Cửa sổ Hamming

Hình 2.1-8 Cửa sổ Hanning

Hình 2.1-9 Cửa sổ chữ nhật

2.1.3.3 Giải thuật biến đổi Fourier nhanh (Fast Fourier Transform – FFT)

Giọng nói của con người có thể đặc trưng bằng miền tần số Tuy nhiên, mẫu tín hiệu giọng nói thu được lại được đặc trưng theo miền thời gian Do đó nếu

Trang 29

muốn rút trích được vector đặc trưng theo miền tần số cần phải có một phương pháp để chuyển mẫu tín hiệu giọng nói từ miền thời gian sang miền tần số, và phép biến đổi Fourier rời rạc (DFT) để làm được điều đó DFT là phép biến đổi thuận nghịch từ miền thời gian sang miền tần số và ngược lại Công thức:

Phép biến đổi thuận:

Kỹ thuật biến đổi này cũng phân chia mẫu dữ liệu giọng nói thành các khung rồi sau đó áp dụng cửa sổ hamming Tương ứng với mỗi cửa sổ ta thu được đặc trưng miền tần số của nó Nếu kết hợp tất cả window của giọng nói bằng cách lấy trung bình giữa chúng, ta có thể lấy được đặc trưng tần số trung bình cho mẫu từ người nói

2.1.3.4 Giải thuật mã dự đoán tuyến tính LPC (Linear Predictive Code)

Đây là một trong các phương pháp phân tích tín hiệu tiếng nói mạnh nhất và được sử dụng phổ biến Điểm quan trọng của phương pháp này nằm ở khả năng

có thể cung cấp các ước lượng chính xác của các tham số tín hiệu giọng nói và khả năng thực hiện tính toán tương đối nhanh Ý tưởng cơ bản của phương pháp LPC là tại thời điểm n, mẫu tiếng nói S(n) có thể được xấp xỉ bởi một tổ hợp tuyến tính của p mẫu trước đó Công thức:

Với ∑ là giá trị dự báo của S(n) Giả sử ak là hằng số trên khung dữ liệu được xem xét Tập các hệ số ak sẽ là đặc trưng của tín hiệu

Trang 30

tiếng nói Để tìm được tập các hệ số này người ta dùng phương pháp phân tích

tự tương quan (autocorrelation) như sau:

 Mỗi khung sau khi lấy cửa sổ sẽ được đưa qua bước phân tích tự tương quan và cho ra (p + 1) hệ số tự tương quan Công thức:

Trong đó giá trị tự tương quan cao nhất, p, được gọi là cấp của phân tích LPC Thông thường, ta sử dụng các giá trị p trong khoảng từ 8 đến

16

 Chuyển mỗi khung gồm (p + 1) hệ số tự tương quan thành p hệ số LPC bằng thuật toán Levinson – Durbin Lúc này, ta có thể dùng các hệ số LPC làm vector đặc trưng cho từng khung

2.2 Kỹ thuật sửa lỗi

Trong quá trình truyền dữ liệu qua các kênh giao tiếp, các tín hiệu nhiễu sẽ làm dữ liệu được truyền bị hư hoặc bị mất đi Trong cả hai trường hợp, ta cần phải xử lý để phục hồi dữ liệu trở về trạng thái đúng ban đầu Từ đó các phương pháp sửa lỗi ra đời

2.2.1 Kỹ thuật lặp (repetition)

Đây là phương pháp đơn giản nhất Với mỗi bit ta lặp n lần và sau đó quyết

định giá trị bit đúng dựa trên số đông Ví dụ, với n = 3 dữ liệu là 101 sẽ được

truyền đi là 111000111 Để phương pháp này có hiệu quả, dữ liệu phải được lặp

ít nhất 3 lần

Nếu số lỗi < trong mỗi nhóm thì dữ liệu sẽ được giải mã chính xác Số lượng lặp cho mỗi bit tăng bao nhiêu thì xác suất không giải được giảm bấy nhiêu Nhưng kỹ thuật này lại làm tăng lượng dữ liệu cần truyền đi

Đây là phương pháp đơn giản của kỹ thuật sửa lỗi Nó chỉ làm việc hiệu quả khi không có sự giới hạn băng thông và quan trọng là dữ liệu có thể khôi phục

Trang 31

được Nếu người dùng cần mã hóa dữ liệu để bảo mật, việc biết thông tin được lặp lại làm cho việc bẻ khóa dễ dàng hơn

2.2.2 Kỹ thuật kiểm tra chẵn lẻ

Một kỹ thuật khác là bit kiểm tra chẵn lẻ Bit kiểm tra chẵn lẻ xác định một tập bit là chẵn hay lẻ Thông thường, bit chẵn lẻ sẽ làm số lượng bit 1 là chẵn Ví dụ, nếu tao truyền chuỗi 001, ta sẽ nối vào cuối chuỗi bit kiểm tra chẵn lẻ sao cho số bit 1 là chẵn, do đó chuỗi bit mới sẽ là 0011

Vì vậy khi có 1 bit bị sai, ta sẽ biết được chuỗi đó bị thay đổi Tuy nhiên, kỹ thuật này không xác định được bit nào bị sai Hoặc nếu có 2 bit bị sai, kỹ thuật này không thể xác định được dữ liệu này là đúng hay sai Do đó, với 1 bit kiểm tra chẵn lẻ không thể kiểm tra thỏa đáng sự chính xác của dữ liệu và không thể sửa chữa dữ liệu được Vì vậy, những phương pháp phức tạp hơn với nhiều bit chẵn lẻ ra đời để khắc phục nhược điểm này

2.2.3 Mã Hamming

Năm 1950, R.W.Hamming đã tạo ra mã Hamming và những cải tiến của mã Hamming vẫn được sử dụng cho đến ngày nay Mã Hamming truyền m bit thông tin cùng với k bit chẵn lẻ Chúng có khả năng sửa được 1 bit lỗi bất kì Các bit chẵn lẻ được xếp vào các vị trí 1,2,…,2k-1 và kiểm tra các bit mà vị trí của chúng

ở dạng nhị phân có giá trị 1 tại vị trí ki - 1 Ví dụ, bit chẵn lẻ ở vị trí K3 = 4 sẽ kiểm tra các bit có vị trí là 100, 101, 110, 111, 1100, 1101,… = 4,5,6,7,12,13,…

Giả sử rằng chuỗi dữ liệu là 100110.Ta sẽ thêm vào chuỗi các bit chẵn lẻ tại các vị trí như sau k1 k 2 1k 3 001k 410

Bảng 2.2-1 Chuỗi dữ liệu sau khi được thêm vào các bit chẵn lẻ

Trang 32

2.2.4 Mã sửa lỗi Reed Solomon

Năm 1960, Irving Reed và Gus Solomon đã tạo ra một loại mã sửa lỗi - mã Reed

GF(p) có p phần tử Ta có thể mở rộng GF (p) thành p m phần tử, được gọi là

trường mở rộng của GF(p), kí hiệu là GF(p m) với m là số nguyên dương Chú ý

Trang 33

rằng GF(pm) chứa tập con của GF(p) Các kí hiệu (symbol) trong trường GF(2m

) được sử dụng trong việc xây dựng mã Reed-Solomon (R-S)

Trường nhị phân GF(2) là tập con của trường mở rộng GF(2m) Ngoài các số 0

và 1, còn có các phần tử duy nhất trong trường mở rộng GF(2m) được biểu diễn bằng kí hiệu α Mỗi phần tử khác 0 trong GF(2m) được biểu diễn bằng lũy thừa của α Một tập F vô hạn được cấu thành bằng việc bắt đầu với các phần tử {0, 1,

α }, các phần tử tiếp theo được tạo ra bằng cách nhân phần tử cuối với α Kết quả là:

Trang 34

Mỗi phần tử trong trường hữu hạn GF(2m) có thể được biểu diễn bằng một đa thức riêng biệt có bậc m -1 hoặc nhỏ hơn Ta kí hiệu phần tử khác 0 trong GF(2m) là một đa thức ai (X), trong đó có tối thiểu một hệ số m khác 0 Với i = 0,

1, 2, …,2m

- 2

αi

= ai (X) = a i,0 + ai,1 X + a i,2X2 + … + ai,m-1Xm-1 (2.6)

Trường hợp m = 3, trường hữu hạn sẽ là GF(23) Hình 2.2-1 thể hiện việc ánh

xạ 7 phần tử { αi } và phần tử 0 theo các phần tử cơ sở {X0

, X1, X2} như phương trình (2.6) Phương trình (2.2) cho biết α7= α0, do đó có 7 phần tử khác 0 hoặc có tất cả 8 phần tử trong trường này Hình 2.2-1, một chuỗi giá trị nhị phân biểu diễn các hệ số ai,0, ai,1, ai,2 trong phương trình (2.6) Một trong những lợi ích của việc

sử dụng các phần tử trường mở rộng là việc thay thế các phần tử nhị phân thành các kí hiệu nhỏ gọn tạo điều kiện cho các biểu diễn toán học của quá trình mã hóa và giải mã Việc cộng hai phần tử trong trường hữu hạn được định nghĩa là tổng modul-2 của mỗi hệ số đa thức

αij

= (ai,0 + aj,0) + (ai,1+ aj,1 ) X + (a i,2 + aj,2) X2 + … + (ai,m-1 + a j,m-1) Xm-1

Hình 2.2-1 Ánh xạ các phần tử cơ bản trong trường GF(8)

Trang 35

Bảng 2.2-3 Thể việc các phép toán cộng và nhân trong GF(8)

Phép cộng hai phần tử bất kì trong trường hữu hạn bằng cách cộng các hệ số tương ứng trong đa thức của chúng Phép nhân của hai phần tử bằng cách cộng

số mũ của chúng modul-(2m -1), trong trường hợp này là modul-7

2.2.4.2 Mã Reed-Solomon

 Khái niệm: Mã Reed-Solomon là mã vòng không nhị phân với một chuỗi

các symbol m bit, trong đó m là một số nguyên dương lớn hơn 2 Mã R-S(n,

k) v ới các symbol m bit với

n = 2 m - 1, k = 2 m -1 - 2t Trong đó k là số symbol dữ liệu hay số lượng thông tin được mã hóa, n là tổng

số symbol gồm symbol dữ liệu và symbol kiểm tra, t là khả năng sửa lỗi của mã,

và n - k = 2t là số lượng symbol kiểm tra

Dữ liệu được truyền đi là lượng thông tin đã được mã hóa Bộ mã hoá lấy k symbol dữ liệu, mỗi symbol m bit, rồi thêm vào (n-k) symbol kiểm tra để tạo thành một từ mã n symbol Sau khi nhận được, bộ mã hóa sẽ giải mã từ mã n symbol này để phục hồi lại thông tin ban đầu

Một mã R-S(n, k) có khả năng sửa lỗi tối đa ⌊ ⌋ lỗi Ngoài sửa lỗi, mã R-S còn có khả năng sửa sai các erasure (hiện tượng mất symbol) Các thủ tục mã hoá và giải mã R-S(n,k) có thể đảm bảo sửa được tối đa (n-k) erasure Một cách tổng quát, một mã RS(n,k) có khả năng sửa được e lỗi và r erasure với điều kiện:

2e+r< (n– k)

Trang 36

2t = n - k = 4 nghiệm, được biểu diễn như sau:

Theo thứ tự từ thấp lên cao và thay dấu "-" thành dấu "+", vì trong trường nhị

phân +1 = -1, g(X) được biểu diễn lại như sau:

Trang 37

= + = 0

U( ) = + + + + + + = + + + + + + = + + +

= + = 0

U( ) = + + + + + + = + + + + + +

= + + + = + = 0

U( ) = + + + + + + = + + + + + +

= + + + = + = 0

Trang 38

 Quá trình giải mã

Một thông điệp được mã hóa bằng cách sử dụng mã R-S (7, 3) để tạo ra từ

mã được biểu diễn bởi (2.7) Giả sử trong quá trình truyền dữ liệu, từ mã bị làm

hư sao cho 2 symbol nhận được bị lỗi ( đây là số lỗi tương ứng khả năng sửa lỗi tối đa của mã) Với từ mã 7-symbol, một đa thức lỗi được biểu diễn như sau:

Đa thức từ bị lỗi nhận được r(X) được biểu diễn bằng tổng của đa thức từ

được truyền đi và đa thức lỗi như sau:

mà còn phải xác định các giá trị đúng tại những vị trí đó Vì có 4 ẩn số trong ví dụ này, do đó cần 4 phương trình để tìm ra 4 ẩn số này

Tính Syndrome

Syndrome S là kết quả của việc kiểm tra r(X) để xác định r(X) có phải là từ mã hợp lệ hay không Nếu đúng, syndrome phải bằng 0 Nếu tồn tại một giá trị của S khác 0, chứng tỏ có lỗi xuất hiện Syndrome S có n - k symbol, {Si } (i = 1, … ,n -

k) Như ta đã nói trong quá trình mã hóa

Trang 39

U(X) = m(X) g(X)

Ta thấy mỗi từ mã hợp lệ U(X) chia hết cho đa thức sinh g(X) Cho nên, nghiệm của g(X) cũng là nghiệm của U(X).Vì r(X) = U(X) + e(X), nếu các nghiệm của g(X) được thế vào r(X) chỉ cho ra kết quả bằng 0 thì r(X) là từ mã hợp lệ Nếu có lỗi sẽ cho ra một hoặc nhiều kết quả khác 0.Việc tính toán một symbol syndrome được biểu diễn như sau:

|

Ví dụ, r(X) chứa 2 symbol lỗi như phương trình (2.9) Nếu r(X) là từ mã hợp lệ, mỗi symbol Si đều bằng 0 Ví dụ:

S1 = r( ) = + + + + + + = + + + + + +

=

S2 = r( ) = + + + + + + = + + + + + +

=

S3 = r( ) = + + + + + + = + + + + + +

=

S4 = r( ) = + + + + + + = + + + + + +

= Kết quả cho thấy từ mã nhận được chứa lỗi vì S≠0

Trang 40

Để sửa từ mã bị lỗi, mỗi giá trị lỗi và vị trí lỗi của nó phải được xác định,

trong đó l = 1, 2, …, v Tiếp theo, ta tính n - k = 2t symbol syndrome bằng cách

thay thế αi vào đa thức nhận với i = 1, 2, …, 2t:

Ta có 2t ẩn số ( t giá trị lỗi và t vị trí lỗi tương ứng), và 2t phương trình Do đó

ta có thể tìm ra nghiệm của phương trình Bài báo cáo này không đi sâu chi tiết quá trình giải phương trình

Từ các nghiệm tìm được ta xác định được đa thức lỗi e(X) Từ đó tính được từ

mã hợp lệ Phương trình (2.9)

r(X) = U(X) + e(X)

=> U(X) = r(X) - e(X)

Ngày đăng: 15/04/2015, 20:16

HÌNH ẢNH LIÊN QUAN

Hình  2.1-1  Biểu diễn  tín hiệu  giọng  nói theo  thời  gian - nghiên cứu sử dụng giọng nói trong xác thực và mã hóa dữ liệu trên thiết bị di động và xây dựng hệ thống demo trên android
nh 2.1-1 Biểu diễn tín hiệu giọng nói theo thời gian (Trang 22)
Hình  2.1-2  Mẫu  tín hiệu  giọng  nói sau  khi được chuẩn  hóa - nghiên cứu sử dụng giọng nói trong xác thực và mã hóa dữ liệu trên thiết bị di động và xây dựng hệ thống demo trên android
nh 2.1-2 Mẫu tín hiệu giọng nói sau khi được chuẩn hóa (Trang 23)
Hình  2.1-3  Mẫu  tín hiệu  giọng  nói trước và  sau  khi khử  khoảng  lặng - nghiên cứu sử dụng giọng nói trong xác thực và mã hóa dữ liệu trên thiết bị di động và xây dựng hệ thống demo trên android
nh 2.1-3 Mẫu tín hiệu giọng nói trước và sau khi khử khoảng lặng (Trang 24)
Hình  2.1-4  Mẫu  tín hiệu  giọng  nói theo  miền  tần  số sau  khi lọc lấy tần  số thấp - nghiên cứu sử dụng giọng nói trong xác thực và mã hóa dữ liệu trên thiết bị di động và xây dựng hệ thống demo trên android
nh 2.1-4 Mẫu tín hiệu giọng nói theo miền tần số sau khi lọc lấy tần số thấp (Trang 25)
Hình  2.3-6  Mô  hình mã  hóa  sử dụng  khóa  bất  đối xứng - nghiên cứu sử dụng giọng nói trong xác thực và mã hóa dữ liệu trên thiết bị di động và xây dựng hệ thống demo trên android
nh 2.3-6 Mô hình mã hóa sử dụng khóa bất đối xứng (Trang 48)
Hình  2.3-7  Mô  hình giải mã  sử dụng  khóa  bất  đối xứng - nghiên cứu sử dụng giọng nói trong xác thực và mã hóa dữ liệu trên thiết bị di động và xây dựng hệ thống demo trên android
nh 2.3-7 Mô hình giải mã sử dụng khóa bất đối xứng (Trang 48)
Hình  3.1-4  thể  hiện kết  quả  của thực nghiệm - nghiên cứu sử dụng giọng nói trong xác thực và mã hóa dữ liệu trên thiết bị di động và xây dựng hệ thống demo trên android
nh 3.1-4 thể hiện kết quả của thực nghiệm (Trang 55)
Hình  3.2-1  Một  số Eigenface - nghiên cứu sử dụng giọng nói trong xác thực và mã hóa dữ liệu trên thiết bị di động và xây dựng hệ thống demo trên android
nh 3.2-1 Một số Eigenface (Trang 58)
Hình  4.1-1  Mô  hình use  case  của hệ thống - nghiên cứu sử dụng giọng nói trong xác thực và mã hóa dữ liệu trên thiết bị di động và xây dựng hệ thống demo trên android
nh 4.1-1 Mô hình use case của hệ thống (Trang 61)
Hình  5.1-3  Đường  cong  FAR  và  FRR  của giải thuật  FFT-32 - nghiên cứu sử dụng giọng nói trong xác thực và mã hóa dữ liệu trên thiết bị di động và xây dựng hệ thống demo trên android
nh 5.1-3 Đường cong FAR và FRR của giải thuật FFT-32 (Trang 78)
Hình  5.1-6  Sự phân  bố của các thành  phần  vector  vào  20 khoảng - nghiên cứu sử dụng giọng nói trong xác thực và mã hóa dữ liệu trên thiết bị di động và xây dựng hệ thống demo trên android
nh 5.1-6 Sự phân bố của các thành phần vector vào 20 khoảng (Trang 80)
Hình  5.1-7  Đường  cong  FAR  và  FRR  của giải thuật  FFT-128 - nghiên cứu sử dụng giọng nói trong xác thực và mã hóa dữ liệu trên thiết bị di động và xây dựng hệ thống demo trên android
nh 5.1-7 Đường cong FAR và FRR của giải thuật FFT-128 (Trang 81)
Hình  5.1-9  So sánh  các giải thuật  với  nhau - nghiên cứu sử dụng giọng nói trong xác thực và mã hóa dữ liệu trên thiết bị di động và xây dựng hệ thống demo trên android
nh 5.1-9 So sánh các giải thuật với nhau (Trang 82)
Hình  1-3 Giao  diện confirm  đăng ký lại thông  tin - nghiên cứu sử dụng giọng nói trong xác thực và mã hóa dữ liệu trên thiết bị di động và xây dựng hệ thống demo trên android
nh 1-3 Giao diện confirm đăng ký lại thông tin (Trang 90)
Hình  1-5 Màn  hình thu  giọng  nói - nghiên cứu sử dụng giọng nói trong xác thực và mã hóa dữ liệu trên thiết bị di động và xây dựng hệ thống demo trên android
nh 1-5 Màn hình thu giọng nói (Trang 92)

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

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

w