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

Nghiên cứu thuật toán mã hóa DNA và ứng dụng

67 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 67
Dung lượng 1,41 MB

Nội dung

MỞ ĐẦU 1. Lý do chọn đề tài Ngày nay, với sự xuất hiện của máy tính, các tài liệu văn bản giấy tờ và các thông tin quan trọng đều được lưu trữ, xử lí trên máy tính và chúng được truyền đi trên một môi trường mặc định là không an toàn. Đồng thời dữ liệu trên toàn thế giới ngày càng tăng với một khối lượng lớn và người ta ước tí nh rằng đến một ngày không xa sẽ không còn ổ cứng nào có thể lưu trữ hết thông tin dữ liệu [5][9]. Do đó, yêu cầu cần có một cơ chế, giải pháp để lưu trữ, bảo vệ sự an toàn và bí mật của các thông tin nhạy cảm, quan trọng càng trở nên cấp thiết. Dữ liệu của mọi mỗi người dùng có thể khác nhau từ các tập tin văn bản đến các chương trình máy tính hoặc các dữ liệu rất quan trọng như tài khoản trong ngân hàng, bí mật quốc gia. Tùy theo tầm quan trọng của tài liệu mà người dùng lựa chọn các phương pháp khác nhau. Trong đó, đảm bảo tính bảo mật nội dung của tập tin là cần thiết. Vì vậy, các tập tin sau khi tạo cần được mã hóa nhằm tăng tính bảo mật và độ an toàn của dữ liệu. Mã hóa được xem là mức bảo vệ tối ưu nhất đối với dữ liệu giúp thông tin không bị tiết lộ và nâng cao độ an toàn trong các giao dịch truyền tải thông tin. Mật mã học – Cryptography – là ngành khoa học nghiên cứu về việc giấu thông tin. Cụ thể hơn, mật mã học là ngành học nghiên cứu về những cách chuyển đổi thông tin từ dạng “Có thể hiểu rõ” (bản rõ) thành dạng “không thể hiểu được” (bản mã) và ngược lại. Mật mã học giúp đảm bảo tính bí mật của thông tin – thông tin chỉ tiết lộ cho những ai được phép; tính toàn vẹn – thông tin không thể bị thay đổi mà không phát hiện; tính xác thực – người gửi hoặc người nhận có thể chứng minh đúng họ; đảm bảo tính không chối bỏ, tức là người gửi hoặc người nhận không thể chối bỏ việc đã gửi hoặc nhận thông tin. Trên thực tế đã có rất nhiều phương pháp mã hóa và các thuật toán tương ứng với mỗi phương pháp được ứng dụng để mã hóa thông tin như phương pháp mã hóa đối xứng với các thuật toán Data Encryption Standard – DES, Triple DES, Advaced Encryption Standard – AES; Phương pháp mã hóa bất đối xứng với khóa công khai gồm các thuật toán nổi tiếng: Diffle – Hellman, RSA… Xuất phát từ cơ sở phân tích trên, tôi chọn đề tài “ Nghiên cứu thuật toán mã hóa DNA và ứng dụng”. Đây là phương pháp mã hóa hoàn toàn mới và đảm bảo sự an toàn cho dữ liệu. 2. Mục đính nghiên cứu Đề tài nhằm nghiên cứu những vấn đề sau: Tìm hiểu về các thuật toán mã hóa. Tìm hiểu về cấu trúc của DNA Nghiên cứu một số thuật toán mã hóa trên DNA Nghiên cứu một số ứng dụng dựa trên thuật toán Phân tích, đánh giá và mô phỏng một thuật toán mã hóa DNA. 3. Đối tượng nghiên cứu Cấu trúc của DNA. Các thuật toán mã hóa trên DNA và ứng dụng 4. Phương pháp nghiên cứu Phương pháp nghiên cứu lý thuyết: Tham khảo các nguồn tài liệu từ các luận văn thạc sĩ, luận án tiến sĩ, các bài báo, tạp chí trong và ngoài nước… Mô hình thực nghiệm: Trên cơ sở tìm hiểu và nghiên cứu lý thuyết thuật toán mã hóa trên DNA lập trình mô phỏng đưa ra kết quả.

Trang 1

TRƯỜNG ĐẠI HỌC KHOA HỌC

Trang 2

Lời cam đoan

Lời cảm ơn

Mục lục

Danh mục chữ viết tắt

Danh mục hình vẽ

Danh mục bảng

MỞ ĐẦU 1

1 Lý do chọn đề tài 1

2 Mục đính nghiên cứu 2

3 Đối tượng nghiên cứu 2

4 Phương pháp nghiên cứu 2

5 Cấu trúc của luận văn 3

Chương 1 TỔNG QUAN VỀ MÃ HÓA THÔNG TIN 4

1.1 Giới thiệu về mã hóa thông tin 4

1.1.1 Khái Niệm: 4

1.1.2 Vai trò của mã hóa thông tin 4

1.1.3 Các thành phần của hệ mã hóa 5

1.1.4 Mục tiêu và nguyên tắc chung của an toàn bảo mật thông tin 6

1.1.5 Tiêu chuẩn để đánh giá hệ mã hóa 6

1.2 Một số phương pháp mã hóa 7

1.2.1 Phương pháp mã hoá cổ điển 7

1.2.2 Mã hóa đối xứng 11

1.2.3 Mã hóa bất đối xứng 17

1.2.4 Mã hóa hàm băm 20

1.3 Một số ứng dụng của mã hóa trong thương mại điện tử 22

Trang 3

1.4 Tiểu kết chương 1 26

Chương 2 MỘT SỐ THUẬT TOÁN MÃ HÓA TRÊN DNA 27

2.1 Cấu trúc của DNA 27

2.1.1 Cấu tạo hóa học : 27

2.1.2 Cấu tạo không gian của DNA 28

2.1.3 Tính chất của DNA 29

2.1.4 Chức năng của DNA 30

2.2 Thuật toán mã hóa DNA dựa trên dữ liệu nhị phân 30

2.2.1 Ý tưởng của thuật toán 30

2.2.2 Thuật toán 32

2.2.3 Vấn đề về an ninh 38

2.3 Thuật toán YAEA 39

2.3.1 Cơ sở lý luận và ý tưởng thuật toán 39

2.3.2 Thuật toán 40

2.3.3 Phân tích An ninh các thuật toán 43

2.3.4 Kiểm tra bảo mật của thuật toán 44

2.4 Tiểu kết chương 2 46

Chương 3 CÀI ĐẶT CHƯƠNG TRÌNH 47

3.1 Cài đặt thuật toán 47

3.2 Kết quả thực nghiệm: 54

3.3 Tiểu kết chương 3 58

KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 59

TÀI LIỆU THAM KHẢO 60

Trang 4

A: Ađênin DNA: Axit đêôxiribonucleic AES: Advaced Encryption Standard

Trang 5

SỐ TÊN HÌNH VẼ TRANG

1.5 Biểu diễn dãy 64bit thành 2 thành phần L và R 14 1.6 Qui trình phát sinh dãy LiRi từ dãy Li-1Ri-1và khóa Ki 15 1.7 Sơ đồ thuật toán mã hóa Data Encryption Standard 16

2.3 Thuật toán mã hóa dựa trên dữ liệu nhị phân 33 2.4 Thuật toán giải mã dựa trên dữ liệu nhị phân 36 2.5 Sơ đồ thuật toán YAEA thực hiện một vòng lặp 42 2.6 Số kí tự xuất hiện văn bản rõ trong chuỗi DNA 44

Trang 6

SỐ TÊN BẢNG TRANG

3.1 Mã hóa kí tự về mã nhị phân thành 4 nucleotic 48 3.2 Chuyển đổi các kí tự về trình tự DNA mới 51 3.3 Mã hóa các kí tự đưa về vị trí trên trình tự DNA tham khảo 53

Trang 7

MỞ ĐẦU

1 Lý do chọn đề tài

Ngày nay, với sự xuất hiện của máy tính, các tài liệu văn bản giấy tờ và các thông tin quan trọng đều được lưu trữ, xử lí trên máy tính và chúng được truyền đi trên một môi trường mặc định là không an toàn Đồng thời dữ liệu trên toàn thế giới ngày càng tăng với một khối lượng lớn và người ta ước tính rằng đến một ngày không xa sẽ không còn ổ cứng nào có thể lưu trữ hết thông tin dữ liệu [5][9] Do đó, yêu cầu cần có một cơ chế, giải pháp để lưu trữ, bảo vệ sự an toàn và bí mật của các thông tin nhạy cảm, quan trọng càng trở nên cấp thiết Dữ liệu của mọi mỗi người dùng có thể khác nhau từ các tập tin văn bản đến các chương trình máy tính hoặc các dữ liệu rất quan trọng như tài khoản trong ngân hàng, bí mật quốc gia Tùy theo tầm quan trọng của tài liệu mà người dùng lựa chọn các phương pháp khác nhau Trong đó, đảm bảo tính bảo mật nội dung của tập tin là cần thiết Vì vậy, các tập tin sau khi tạo cần được mã hóa nhằm tăng tính bảo mật và độ an toàn của dữ liệu Mã hóa được xem là mức bảo vệ tối ưu nhất đối với dữ liệu giúp thông tin không bị tiết lộ và nâng cao độ an toàn trong các giao dịch truyền tải thông tin

Mật mã học – Cryptography – là ngành khoa học nghiên cứu về việc giấu thông tin Cụ thể hơn, mật mã học là ngành học nghiên cứu về những cách chuyển đổi thông tin từ dạng “Có thể hiểu rõ” (bản rõ) thành dạng “không thể hiểu được” (bản mã) và ngược lại Mật mã học giúp đảm bảo tính bí mật của thông tin – thông tin chỉ tiết lộ cho những ai được phép; tính toàn vẹn – thông tin không thể bị thay đổi mà không phát hiện; tính xác thực – người gửi hoặc người nhận có thể chứng minh đúng họ; đảm bảo tính không chối bỏ, tức là người gửi hoặc người nhận không thể chối bỏ việc đã gửi hoặc nhận thông tin

Trang 8

Trên thực tế đã có rất nhiều phương pháp mã hóa và các thuật toán tương ứng với mỗi phương pháp được ứng dụng để mã hóa thông tin như phương pháp

mã hóa đối xứng với các thuật toán Data Encryption Standard – DES, Triple DES, Advaced Encryption Standard – AES; Phương pháp mã hóa bất đối xứng với khóa công khai gồm các thuật toán nổi tiếng: Diffle – Hellman, RSA…

Xuất phát từ cơ sở phân tích trên, tôi chọn đề tài “ Nghiên cứu thuật toán

mã hóa DNA và ứng dụng” Đây là phương pháp mã hóa hoàn toàn mới và

đảm bảo sự an toàn cho dữ liệu

2 Mục đính nghiên cứu

Đề tài nhằm nghiên cứu những vấn đề sau:

Tìm hiểu về các thuật toán mã hóa

Tìm hiểu về cấu trúc của DNA Nghiên cứu một số thuật toán mã hóa trên DNA Nghiên cứu một số ứng dụng dựa trên thuật toán Phân tích, đánh giá và mô phỏng một thuật toán mã hóa DNA

3 Đối tượng nghiên cứu

Cấu trúc của DNA Các thuật toán mã hóa trên DNA và ứng dụng

4 Phương pháp nghiên cứu

Phương pháp nghiên cứu lý thuyết: Tham khảo các nguồn tài liệu từ các luận văn thạc sĩ, luận án tiến sĩ, các bài báo, tạp chí trong và ngoài nước…

Mô hình thực nghiệm: Trên cơ sở tìm hiểu và nghiên cứu lý thuyết thuật toán

mã hóa trên DNA lập trình mô phỏng đưa ra kết quả

Trang 9

5 Cấu trúc của luận văn

Cấu trúc luận văn gồm:

Phần mở đầu: Nêu ra được lí do chọn đề tài này, mục đích của việc nghiên cứu, phương pháp nghiên cứu và đối tượng để nghiên cứu

Phần nội dung: Gồm có 3 chương

Chương 1 của luận văn trình bày khái niệm về mã hóa thông tin, đưa ra khái quát được mô hình mã hóa và các thành phần của mã hóa Nêu lên được ba mục tiêu của bảo mật thông tin Tìm hiểu một số thuật toán mã hóa từ cổ điển đến hiện đại Nêu ra được một số ứng dụng của mã hóa trong thương mại điện tử Chương 2 của luận văn trình bày khái quát cấu trúc sinh học của DNA, tính chất của DNA và chức năng cơ bản của DNA Tìm hiểu hai thuật toán mã hóa dựa trên cấu trúc của DNA là mã hóa dựa trên dữ liệu nhị phân và thuật toán YAEA

Chương 3 của luận văn tác giả cài đặt được thuật toán mã hóa DNA trên dữ liệu nhị phân đồng thời thực hiện chương trình đưa ra một số ví dụ cho quá trình

mã hóa và giải mã

Phần kết luận: Nêu ra kết luận và đưa ra hướng phát triển tiếp theo cho

luận văn sau này

Trang 10

Chương 1 TỔNG QUAN VỀ MÃ HÓA THÔNG TIN

1.1 Giới thiệu về mã hóa thông tin

1.1.1 Khái Niệm

Mã hóa thông tin là chuyển đổi thông tin từ dạng rõ (dạng đọc được) sang dạng mã (dạng không thể đọc được) và ngược lại Nhằm mục đích ngăn chặn nguy cơ truy cập thông tin truyền đi trên mạng một cách bất hợp pháp Thông tin sẽ được truyền đi trên mạng dưới dạng mã và không thể đọc được với bất kỳ

ai cố tình muốn lấy thông tin đó [2]

Khi chúng ta có nhu cầu trao đổi thông tin, thì Internet là môi trường không

an toàn, đầy rủi ro và nguy hiểm, không có gì đảm bảo rằng thông tin mà chúng

ta truyền đi không bị đọc trộm trên đường truyền Vì vậy mã hóa là biện pháp giúp ta bảo vệ chính mình cũng như thông tin mà ta gửi đi ngoài ra mã hóa còn đảm bảo tính toàn vẹn của dữ liệu[4][8][9]

1.1.2 Vai trò của mã hóa thông tin

Các hệ mã hóa phải thực hiện được các vai trò sau:

- Che dấu được nội dung của văn bản rõ (PlainText) để đảm bảo sao cho chỉ người chủ hợp pháp của thông tin mới có quyền truy cập thông tin, hay nói cách khác là chống truy cập không đúng quyền hạn

- Tạo các yếu tố xác thực thông tin, đảm bảo thông tin lưu hành trên hệ thống đến người nhận hợp pháp xác thực

- Tổ chức các sơ đồ chữ ký điện tử, đảm bảo không có hiện tượng giả mạo, mạo danh để gửi thông tin trên mạng

Ưu điểm lớn nhất của các hệ mã hóa là có thể đánh giá được độ phức tạp của tính toán mà “kẻ địch” phải giải quyết bài toán để có thể lấy được thông tin của

Trang 11

dữ liệu Tuy nhiên mỗi hệ mã hóa đều có một số ưu và nhược điểm khác nhau, nhưng nhờ đánh giá được độ phức tạp tính toán, mức độ an toàn của mỗi hệ mã hóa mà ta có thể ứng dụng cụ thể tùy theo yêu cầu về độ an toàn [2]

1.1.3 Các thành phần của hệ mã hóa

Một hệ mã hóa là một bộ 5: (P, C, D, K, E) thõa mã các điều kiện sau:

- P là một tập hợp hữu hạn các bản rõ (PlainText), nó còn được gọi là không gian bản rõ

- C là tập hợp hữu hạn các bản mã (CipherText), nó còn được gọi là không gian bản mã Mỗi phần tử của C có thể nhận được bằng cách áp dụng phép mã hóa Ek lên một phần tử của P

- K là tập hợp hữu hạn các khóa hay còn gọi là không gian khóa Đối với mỗi phần tử k của K được gọi là một khóa (Key) Số lượng của không gian khóa phải đủ lớn để “kẻ địch” không đủ thời gian để thử mọi khóa (phương pháp vét cạn)

- E và D lần lượt là tập luật mã hóa và giải mã Với mỗi k của K có một quy tắc mã hóa ek: PC và một quy tắc giải mã tương ứng dk ∈ D Mỗi ek: PC

và dk: CP là những hàm mà: dk(ek(x))=x với mọi bản rõ x ∈ P

Trang 12

1.1.4 Mục tiêu và nguyên tắc chung của an toàn bảo mật thông tin

* Ba mục tiêu của an toàn bảo mật thông tin:

i) Tính bí mật: Tài nguyên của hệ thống chỉ đươc truy cập bởi những người

có thẩm quyền Các loại truy cập gồm có: đọc (reading), xem (viewing), in ấn (printing), sử dụng chương trình, hoặc hiểu biết về sự tồn tại của một đối tựong trong tổ chức Tính bí mật có thể được bảo vệ nhờ việc kiểm soát truy cập (theo nhiều kiểu khác nhau) hoặc nhờ các thuật toán mã hóa dữ liệu Kiểm soát truy cập chỉ có thể đựợc thực hiện với các hệ thống phần cứng vật lý Còn đối với các

dữ liệu công cộng thì thường phương pháp hiệu quả là các phương pháp của mật

* Hai nguyên tắc của an toàn bảo mật thông tin:

i) Việc thẩm định về bảo mật phải là khó và cần tính tới tất cả các tình huống, khả năng tấn công có thể được thực hiện

ii) Tài nguyên được bảo vệ cho tới khi hết giá trị sử dụng hoặc hết ý nghĩa

bí mật

1.1.5 Tiêu chuẩn để đánh giá hệ mã hóa

* Độ an toàn của thuật toán

Điều cảnh báo trong mã hoá là “Thuật toán nào cũng có thể bị phá vỡ” Các thuật toán khác nhau cung cấp mức độ an toàn khác nhau, phụ thuộc vào độ phức tạp để phá vỡ chúng [2] Tại một thời điểm, độ an toàn của một thuật toán phụ thuộc vào như sau:

Trang 13

Nếu chi phí hay phí tổn cần thiết để phá vỡ một thuật toán lớn hơn giá trị của thông tin đã mã hóa thuật toán thì thuật toán đó tạm thời được coi là an toàn Nếu thời gian cần thiết dùng để phá vỡ một thuật toán là quá lâu thì thuật toán đó tạm thời được coi là an toàn

Nếu lượng dữ liệu cần thiết để phá vỡ một thuật toán quá lớn so với lượng

dữ liệu đã được mã hoá thì thuật toán đó tạm thời được coi là an toàn

1.2.1 Phương pháp mã hoá cổ điển

Xuất hiện trong lịch sử, thuật toán sử dụng khóa đơn giản, dễ hiểu Là phương pháp mà từng ký tự (hay từng nhóm ký tự) trong bản rõ được thay thế bằng một ký tự (hay nhóm ký tự) khác tạo nên bản mã Bên nhận chỉ cần đảo ngược lại trình tự thay thế trên thì sẽ nhận được bản rõ ban đầu

Mã hóa cổ điển có hai phương pháp nổi bật là: Mã hóa thay thế và mã hóa hoán vị Các hệ mã hóa thường được sử dụng trong lịch sử là: Hệ mã hóa Ceasar, Vigenere, Hill…

1.2.1.1 Hệ mã hóa CEASAR

Hệ mã hóa CEASAR là một ví dụ điển hình cho hệ mã hóa thay thế Nó làm việc trong bảng chữ cái tiếng Anh 26 ký tự Ceasar sử dụng các số nguyên thay cho các ký tự, đánh số các ký tự trong bảng chữ cái theo thứ tự như sau:

Trang 14

Các phép toán số học được thực hiên trên Modul 26 (có nghĩa là 26 tương ứng với 0, 27 tương ứng với 1, 28 tương ứng với 2,…, 79 = 26x3 + 1 tức 79 tương ứng với 1)

Hệ CAESAR sử dụng thuật toán mã hóa Ek, trong đó mỗi ký tự được thay thế bởi một ký tự khác được xác định bằng cách dịch ký tự cần mã hóa sang phải

k bước theo modul 26 [2]

Ek() = ( + k) MOD 26

Với  là một ký tự, 0  k  26, MOD là phép chia lấy phần dư

Thuật toán giải mã tương ứng Dk là lùi lại k bước trong bảng chữ cái theo modul 26

Dk() = ( - k) MOD 26 Không gian khóa của hệ CEASAR bao gồm 26 số: 0, 1, 2, …, 25

Ví dụ 1.1 Với k = 3, A được thay bằng D, B được thay bằng E,…, W được

thay bằng Z,…, Y được thay bằng B và Z được thay bằng C Ta có:

Bảng chữ cái gốc

Bảng chữ cái dùng để mã hóa

Trong trường hợp này bản rõ “DAI HOC PHU YEN” được mã hóa thành

“GDL KRF SKX BHQ”, (Chú ý: Các ký tự trống trong bảng mã được bỏ đi để đảm bảo tính an toàn)

Trang 15

Tương tự

E25(IBM) = HAL, E6(MUPiD) = SAVOJ

E3(HELP) = KHOS, E1(HOME) = IPNF

Hệ CEASAR là hệ mã hóa ra đời quá lâu và hiện nay không còn vì không

gian khóa của nó rất nhỏ, do đó có thể thám mã theo phương pháp vét cạn Khóa

giải mã có thể tính ngay ra được từ khóa mã hóa Do chỉ có 26 khóa nên ta có

thể thử lần lượt các khóa cho đến khi tìm được khóa đúng

1.2.1.2 Hệ mã hóa VIGENERE

Hệ mã hóa này được đặt theo tên của một nhà mật mã người Pháp Blaise

De Vigenere (1523 – 1596)

Vinegere cũng giống như Caesar, nhưng ở đây khóa được thay đổi theo

từng bước Hình vuông VIGENERE được sử dụng để mã hóa và giải mã

Trang 16

Hình 1.2 Hình vuông Vigenere

Mỗi cột của hình vuông Vigenere có thể xem như là một hệ CEASAR, với

các khóa: 0, 1, 2, , 25 Để mã hóa thì bản rõ được đọc từ các hàng và khóa

được đọc từ các cột

Ví dụ 1.2 Mã hóa bản “DAI HOC HUE” với từ khóa “ KHOA CO BAN”

Đầu tiên ta tìm điểm giao của hàng D cột K ta được N, tiếp tục ta tìm điểm giao

của hàng A cột H ta được H Cứ như vậy ta được bản mã là “ NHW HCQ IUR”

Ta sẽ thu được bản mã tưng tự nếu ta đọc bản rõ tưng ứng với cột và khóa đọc

tưng ứng với hàng Muốn giải mã thông tin vừa mã hóa trên ta thực hiện bằng

cách, ta nhìn vào hàng nào chứa N trong cột K, ta tìm được chữ D, tương tự nhìn

vào hàng nào chứa H trong cột H, ta tìm được chữ A Cứ như vậy ta sẽ tìm được

bản rõ là “DAI HOC HUE”

Trong ví dụ trên thì độ dài bản rõ bằng độ dài khóa Nhưng trong thực tế độ

dài bản rõ thường dài hơn rất nhiều so với khóa Như vậy để mã hóa hay giải mã

thì ta phải áp dụng từ khóa một cách tuần hoàn Nghĩa là từ khóa được lặp đi lặp

lại nhiều lần sao cho các ký hiệu trong bản rõ phải được đọc hết

Trang 17

Ta thấy rằng trong hệ mã hóa VIGENERE, với khóa có độ dài d thì sẽ có 26d

khóa hợp lệ Vì vậy chỉ cần với giá trị d nhỏ thì phương pháp thám mã vét cạn cũng đòi hỏi khá nhiều thời gian

1.2.2 Mã hóa đối xứng

Mã hóa đối xứng hay mã hóa chia sẽ khóa là mô hình mã hóa hai chiều, có nghĩa là tiến trình mã hóa và giải mã từ khóa lập mã có thể suy ra khóa giải mã Khóa này được chuyển giao bí mật giữa hai đối tượng tham gia giao tiếp Khóa này có thể được cấu hình trong phần mềm hoặc được mã hóa trong phần cứng

Mã hóa đối xứng thực hiện nhanh nhưng có thể gặp rủi ro nếu khóa bị đánh cắp Một số thuật toán mã hóa đối xứng nổi tiếng như: DES, AES, RC2, RC4, RC5, RC6…

1.2.2.1 Thuật toán mã hóa DES

Khoảng những năm 1970, tiến sĩ Horst Feistel đã đặt nền móng đầu tiên cho chuẩn mã hóa DES với phương pháp mã hóa Feistel Cipher Vào năm 1976

Cơ quan bảo mật quốc gia Hoa Kỳ (NSA) đã công nhận DES dựa trên phương pháp Feistel là chuẩn mã hóa dữ liệu Kích thức khóa của DES ban đầu là 128 nhưng tại bản công bố FIPS kích thước được rút xuống 56 bit để tăng tốc độ xử

lý và đưa ra các tiêu chuẩn thiết kế một chuẩn mã hóa dữ liệu

DES thực hiện mã hóa dữ liệu qua 16 vòng lặp mã hóa, mỗi vòng sử dụng một khóa con chiều dài 48bit được tạo ra từ khóa ban đầu có độ dài 56bit DES

sử dụng 8 bảng hằng số S-box để thao tác

*Cấu tạo một vòng của DES

Sử dụng hai nửa 32 bít trái và 32 bít phải Nửa phải của vòng trước được chuyển qua nửa trái của bước sau và lấy đầu ra của hàm vòng trên nửa phải và khoá con cộng cơ số 2 với nửa trái Có thể biểu diễn bằng công thức như sau:

L i= Ri-1

R i = L i-1 xor F(Ri-1, Ki)

Trang 18

Ở đây F lấy 32 bít nửa phải R, mở rộng thành 48 bít nhờ hoán vị E, rồi cộng vào với khoá con 48 bít Sau đó chia thành 8 cụm 6 bít và cho qua 8 S-box để nhận được kết quả 32 bít Đảo lần cuối sử dụng hoán vị 32 bít P nhận được 32 bít đầu

ra, rồi cộng với nửa trái để chuyển thành nửa phải của bước sau

Hình 1.3 Cấu tạo một vòng của DES

từ 0 đến 15, chuyển sang số nhị phân ta được 4 bít đầu ra Như vậy 48 bít chia thành có 8 cụm 6 bít, qua 8 S-box được chuyển thành 8 cụm 4 bít, tổng cộng là

32 bít Việc chọn hàng trong các S-box phụ thuộc cả dữ liệu và khoá - đặc trưng này được gọi là khoá tự xác định

Trang 19

Ví dụ 1.3 S(18 09 12 3d 11 17 38 39) = 5fd25e03

* Sinh khoá con của DES

Tạo 16 khoá con sử dụng cho 16 vòng của DES 56 bit khoá đầu vào được sử dụng như bảng 8 x 8, trong đó cột thứ 8 không sử dụng

Hoán vị ban đầu của khoá PC1 và tách 56 bít thành hai nửa 28 bít

*16 giai đoạn bao gồm:

Ở mỗi vòng nửa trái và nửa phải được dịch trái vòng quanh tương ứng 1

và 2 bít Hai nửa này được dùng tiếp cho vòng sau

Đồng thời hai nửa cũng cho qua hoán vị PC2 và chọn mỗi nửa 24 bít gộp lại thành 48 bít để sinh khoá con

Ứng dụng thực tế trên cả phần cứng và phần mềm đều hiệu quả

Hình 1.4 Qúa trình sinh khóa con trong DES

Trang 20

*Quy trình mã hóa DES

Qúa trình mã hóa của DES có thể tóm tắt như sau: Biểu diễn thông tin nguồn x ∈ P bằng dãy 64 bit, khóa k có 56 bit.Thực hiện mã hóa theo 3 giai đoạn:

- Bước 1 : Tạo dãy 64 bit xo bằng cách hoán vị x theo hoán vị IP (Initial Permutation) Biểu diễn xo = IP(x) = LoRo, Lo gồm 32 bit bên trái xo, Ro

gồm 32 bit bên phải của xo

Hình 1.5: Biểu diễn dãy 64bit x thành 2 thành phần L và R

Ví dụ 1.4 IP(675a6967 5e5a6b5a) = (ffb2194d 004df6fb)

Bước 2 : Thực hiện 16 vòng lặp từ 64 bit thu được và 56 bit của khóa k (chỉ sử dụng 48 bit của khóa k trong mỗi vòng lặp ) 64 bit kết quả thu được qua mỗi vòng lặp sẽ là đầu vào cho vòng lặp sau Các cặp từ 32 bit Li, Ri với (1 ≤ i ≤ 16) được xác định theo qui tắc sau :

Li= Ri-1

Ri = Li-1 f (Ri-1 ,Ki)

với biểu diễn phép XOR trên dãy 2 bít, K1, K2, ,K16 là các dãy 48bit phát sinh từ khóa K cho trước ( Trên thực tế, mỗi khóa Ki được phát sinh bằng cách hoán vị các bit trong khóa K cho trước)

Bước 3 Áp dụng hoán vị ngược IP-1 với dãy bit R16L16 , thu được từ y

gồm 64 bit Như vậy, y = IP -1 ( R16L16 )

Hàm f được sử dụng ở bước 2 là hàm gồm hai tham số: Tham số thứ nhất

A là một dãy 32 bit, tham số thứ hai J là một dãy 48 bit Kết quả của hàm f là một dãy 32 bit Các bước xử lý của hàm f (A,J) như sau:

Trang 21

Tham số thứ nhất A (32 bit) được mở rộng thành dãy 48 bit bằng hàm mở rộng E

E(A) là một dãy 48 bit được phát sinh từ A bằng cách hoán vị theo một thứ tự nhất định 32 bit của A, trong đó 16 bit của A được lặp lại hai lần trong E (A)

Hình 1.6 Qui trình phát sinh dãy L i R i từ dãy L i-1 R i-1 và khóa K i

Thực hiện phép XOR cho hai dãy 48 bit E(A) và J, ta thu được một dãy 48bit B Biểu diễn B thành từng nhóm 8 bit như sau: B=B1B2B3B4B5B6B7B8

Sử dụng 8 ma trận S1,S2, S8, với mỗi ma trận Si có kích thước 4x16 và mỗi dòng của ma trận nhận đu 16 giá trị từ 0 đến 15 Xét dãy gồm 6 bit Bj =

b1b2b3b4b5b6 , Sj (Bj) được xác định bằng giá trị của phần tử tại dòng r cột c của Sj trong đó, chỉ số dòng r có biểu diễn nhị phân b1b6 chỉ số cột c có biểu diễn nhị phân b2b3b4b5 Bằng cách này, ta xác định được các dãy 4 bít Cj = Sj(Bj), 1 ≤ j ≤ 8

Tập hợp các dãy 4 bit Cj lại, ta có được dãy 32 bit C= C1C2C3C4C5C6C7C8

Dãy 32 bit thu được bằng cách hoán vị C theo một qui luật P nhất định chính là kết quả của hàm F(A,J)

Trang 22

Hình 1.7 Sơ đồ thuật toán mã hóa Data Encryption Standard (DES)

Trang 23

1.2.3 Mã hóa bất đối xứng

Mã hóa bất đối xứng là mô hình mã hóa hai chiều sử dụng một cặp khóa

là khóa công khai (Public Key) và khóa bí mật (Private Key) Trong đó khóa công khai có thể được công bố rộng rải Thông thường thông tin được người gửi

sử dụng khóa công khai để mã hóa và gửi đi Người nhận thông tin sẽ dùng khóa

bí mật để giải mã Khóa bí mật chỉ do một người giữ do đó các phương pháp mã hóa bất đối xứng đảm bảo tính bí mật hơn Một điều quan trọng của phương pháp mã hóa này là cặp khóa Public Key và Private Key phải tương đồng nhau

Có nghĩa là chỉ có khóa bí mật trong cùng một cặp khóa mới có thể giải mã được dữ liệu đã mã hóa bởi khóa công khai tương ứng

Thuật toán mã hóa bất đối xứng nổi tiếng và được sử dụng nhiều nhất hiện nay là RSA

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

Thuật toán được Ron Rivest, Adi Shamir và Len Adleman mô tả lần đầu tiên vào năm 1977 tại Học viện Công nghệ Massachusetts (MIT)

Trước đó, vào năm 1973, Clifford Cocks, một nhà toán học người Anh, đã

mô tả một thuật toán tương tự Với khả năng tính toán tại thời điểm đó thì thuật toán này không khả thi và chưa bao giờ được thực nghiệm Tuy nhiên, phát minh này chỉ được công bố vào năm 1997 vì được xếp vào loại tuyệt mật

Thuật toán RSA được MIT đăng ký bằng sáng chế tại Hoa Kỳ vào năm

1983 Bằng sáng chế này hết hạn vào ngày 21 tháng 9 năm 2000 Tuy nhiên,

do thuật toán đã được công bố trước khi có đăng ký bảo hộ nên sự bảo hộ hầu như không có giá trị bên ngoài Hoa Kỳ Ngoài ra, nếu như công trình của Clifford Cocks đã được công bố trước đó thì bằng sáng chế RSA đã không thể được đăng ký

Thuật toán RSA có hai khóa: Khóa công khai (hay khóa công cộng) và khóa

bí mật (hay khóa cá nhân) Mỗi khóa là những số cố định sử dụng trong quá trình

mã hóa và giải mã Khóa công khai được công bố rộng rãi cho mọi người và được

Trang 24

dùng để mã hóa Những thông tin được mã hóa bằng khóa công khai chỉ có thể được giải mã bằng khóa bí mật tương ứng Nói cách khác, mọi người đều có thể

mã hóa nhưng chỉ có người biết khóa cá nhân (bí mật) mới có thể giải mã được

Ta có thể mô phỏng trực quan một hệ mật mã khoá công khai như sau: Nam muốn gửi cho Nga một thông tin mật mà Nam muốn duy nhất Nga có thể đọc được Để làm được điều này, Nga gửi cho Nam một chiếc hộp có khóa đã

mở sẵn và giữ lại chìa khóa Nam nhận chiếc hộp, cho vào đó một tờ giấy viết thư bình thường và khóa lại (như loại khoá thông thường chỉ cần sập chốt lại, sau khi sập chốt khóa ngay cả Nam cũng không thể mở lại được Không đọc lại hay sửa thông tin trong thư được nữa) Sau đó Nam gửi chiếc hộp lại cho Nga Nga mở hộp với chìa khóa của mình và đọc thông tin trong thư Trong ví dụ này, chiếc hộp với khóa mở đóng vai trò khóa công khai, chiếc chìa khóa chính là khóa bí mật

 Tạo khóa

Giả sử Nga và Nam cần trao đổi thông tin bí mật thông qua một kênh không

an toàn (ví dụ như Internet) Với thuật toán RSA, Nga đầu tiên cần tạo ra cho mình cặp khóa gồm khóa công khai và khóa bí mật theo các bước sau:

1 Chọn 2 số nguyên tố lớn p và q với p≠q, lựa chọn ngẫu nhiên và độc lập

2 Tính: n= p*q

3 Tính: giá trị hàm số Ơle Ф(n)= (p-1)*(q-1)

4 Chọn một số tự nhiên e sao cho 1< e< Ф(n) và là số nguyên tố cùng nhau với Ф(n)

5 Tính: d sao cho (d*e-1 )*k = Ф(n), k là số nguyên dương Hay d = e-1 mod

Ф(n) (hoặc tìm số tự nhiên x sao cho d= cũng là số tự nhiên)

Khóa công khai bao gồm:

• n

Trang 25

• e, số mũ công khai (cũng gọi là số mũ mã hóa)

 Mã hóa

Giả sử Nam muốn gửi đoạn thông tin M cho Nga Lúc này Nam có M và biết

n cũng như e do Nga gửi Nam sẽ tính C là bản mã hóa của M theo công thức: C

= Me mod n

Hàm trên có thể tính dễ dàng sử dụng phương pháp tính hàm mũ (theo

môđun) bằng thuật toán bình phương và nhân Cuối cùng Nam gửi C cho Nga

Trang 26

Trong xử lý hàm băm, dữ liệu đầu vào có thể khác nhau về độ dài, nhưng độ dài của xử lý băm luôn xác định Hàm băm được xử lý trong mô hình xác thực Password

Một số thuật toán mã hóa hàm băm thường dùng như: MD4, MD5, SHA…

Trang 27

Thuật toán Mã hóa MD5

MD5 (Message-Digest algorithm 5) là một hàm băm để mã hóa với giá trị băm là 128 bit Từng được xem là một chuẩn trên Internet, MD5 đã được sử dụng rộng rãi trong các chương trình an ninh mạng, và cũng thường được dùng

để kiểm tra tính nguyên vẹn của tập tin

MD5 được thiết kế bởi Ronald Rivest vào năm 1991 để thay thế cho hàm băm trước MD4 (cũng do ông thiết kế, trước đó nữa là MD2)

MD5 có 2 ứng dụng quan trọng:

 MD5 được sử dụng rộng rãi trong thế giới phần mềm để đảm bảo rằng tập tin tải về không bị hỏng Người sử dụng có thể so sánh giữa thông số kiểm tra phần mềm bằng MD5 được công bố với thông số kiểm tra phần mềm tải về bằng MD5 Hệ điều hành Unix sử dụng MD5 để kiểm tra các gói tin mà nó phân phối, trong khi hệ điều hành Windows sử dụng phần mềm của hãng thứ ba

 MD5 được dùng để mã hóa mật khẩu Mục đích của việc mã hóa này là biến đổi một chuỗi mật khẩu thành một đoạn mã khác, sao cho từ đoạn mã đó không thể nào lần trở lại mật khẩu Có nghĩa là việc giải mã là không thể hoặc phải mất một khoảng thời gian vô tận (đủ để làm nản lòng các hacker)

* Thuật giải

MD5 biến đổi một thông điệp có chiều dài bất kì thành một khối có kích thước cố định 128 bit Thông điệp đưa vào sẽ được cắt thành các khối 512 bit Thông điệp được đưa vào bộ đệm để chiều dài của nó sẽ chia hết cho 512 Bộ đệm hoạt động như sau:

Trước tiên chèn bit 1 vào cuối thông điệp Tiếp đó là hàng loạt bit Zero cho tới khi chiều dài của nó nhỏ hơn bội số của 512 một khoảng 64 bit Phần còn lại

sẽ được lấp đầy bởi một số nguyên 64 bit biểu diễn chiều dài ban đầu của thông điệp Thuật toán chính của MD5 hoạt động trên một bộ 128 bit Chia nhỏ nó ra thành 4 từ 32 bit, ký hiệu là A, B, C và D Các giá trị này là các hằng số cố định Sau đó thuật toán chính sẽ luân phiên hoạt động trên các khối 512 bit Mỗi khối

sẽ phối hợp với một bộ Quá trình xử lý một khối thông điệp bao gồm 4 bước

Trang 28

tương tự nhau, gọi là vòng (“round”) Mỗi vòng lại gồm 16 quá trình tương tự nhau dựa trên hàm một chiều F, phép cộng module và phép xoay trái…

Hình bên dưới mô tả một quá trình trong một vòng Có 4 hàm một hiều F có thể sử dụng Mỗi vòng sử dụng một hàm khác nhau

Hình 1.10 Mô hình một vòng

Hàm băm MD5 (còn được gọi là hàm tóm tắt thông điệp - message degests)

sẽ trả về một chuỗi số hexa phân gồm 32 số liên tiếp

1.3 Một số ứng dụng của mã hóa trong thương mại điện tử

Ứng dụng của khoa học mật mã không chỉ đơn thuần là mã hóa và giải mã thông tin mà còn bao gồm nhiều vấn đề khác nhau cần được nghiên cứu và giải quyết: chứng thực nguồn gốc nội dung thông tin (kỹ thuật chữ ký điện tử), chứng nhận tính xác thực về người sở hữu mã khóa (chứng nhận khóa công cộng), các quy trình giúp trao đổi thông tin và thực hiện giao dịch điện tử an toàn trên mạng Những kết quả nghiên cứu về mật mã cũng đã được đưa vào trong các hệ thống phức tạp hơn, kết hợp với những kỹ thuật khác để đáp ứng yêu cầu đa dạng của

Trang 29

các hệ thống ứng dụng khác nhau trong thực tế, ví dụ như hệ thống bỏ phiếu bầu

cử qua mạng, hệ thống đào tạo từ xa, hệ thống quản lý an ninh của các đơn vị với hướng tiếp cận sinh trắc học, hệ thống cung cấp dịch vụ multimedia trên mạng với yêu cầu cung cấp dịch vụ và bảo vệ bản quyền sở hữu trí tuệ đối với thông tin số

1.3.1 Xác thực người dùng sử dụng giao thức SSL

Với việc sử dụng giải pháp xác thực truyền thống (xác thực bằng mật khẩu) là không an toàn, người ta cần những giải pháp xác thực tốt hơn trong môi trường kinh doanh hiện nay để thiết lập một kết nối an toàn Bằng cách sử dụng các thuật toán mã hóa trong việc thiết lập kết nối giữa Web browser với một

webserver, giao thức xác thực truyền tin SSL (Secure Socket Layer ) được thiết

kế đã đáp ứng được nhu cầu về xác thực, mã hóa và toàn vẹn dữ liệu

SSL không phải là một giao thức đơn lẻ, mà là một tập các thủ tục đã được chuẩn hoá để thực hiện các nhiệm vụ bảo mật sau:

- Xác thực server: Cho phép người sử dụng xác thực được server muốn kết nối Lúc này, phía browser sử dụng các kỹ thuật mã hoá công khai để chắc chắn rằng certificate và public ID của server là có giá trị và được cấp phát bởi một CA (certificate authority) trong danhsách các CA đáng tin cậy của client

- Xác thực Client: Cho phép phía server xác thực được người sử dụng muốn kết nối Phía server cũng sử dụng các kỹ thuật mã hoá công khai để kiểm tra xem certificate và public ID của server có giá trị hay không và được cấp phát bởi một CA (certificate authority) trong danh sách các CA đáng tin cậy của server không Điều này rất quan trọng đối với các nhà cung cấp

- Mã hoá kết nối: Tất cả các thông tin trao đổi giữa client và server được

mã hoá trên đường truyền nhằm nâng cao khả năng bảo mật Điều này rất quan trọng đối với cả hai bên khi có các giao dịch mang tính riêng tư Ngoài ra, tất cả các dữ liệu được gửi đi trên một kết nối SSL đã được mã hoá còn được bảo vệ

Trang 30

nhờ cơ chế tự động phát hiện các xáo trộn, thay đổi trong dữ liệu ( đó là các thuật toán băm – hash algorithm)

Giao thức SSL bao gồm 2 giao thức con: Giao thức SSL record là xác định các định dạng dùng để truyền dữ liệu Giao thức SSL handshake (gọi là giao thức bắt tay) là sử dụng SSL record protocol để trao đổi một số thông tin giữa server và client vào lấn đầu tiên thiết lập kết nối SSL

Vai trò của các thuật toán mã hóa trong giao thức SSL

Giao thức SSL hỗ trợ rất nhiều các thuật toán mã hoá, được sử dụng để thực hiện các công việc trong quá trình xác thực server và client, truyền tải các giấy chứng nhận và thiết lập các khoá của từng phiên giao dịch (sesion key) Client và server có thể hỗ trợ các bộ mật mã (cipher suite) khác nhau tuỳ thuộc vào nhiều yếu tố như phiên bản SSL đang dùng, chính sách của công ty về độ dài khoá mà họ cảm thấy chấp nhận được - điều này liên quan đến mức độ bảo mật của thông tin, …

Các thuật toán trao đổi khoá như KEA, RSA được sử dụng để 2 bên client

và server xác lập khoá đối xứng mà họ sẽ sử dụng trong suốt phiên giao dịch SSL Và thuật toán được sử dụng phổ biến là RSA

1.3.2 Ứng dụng mã hóa trong chữ ký điện tử

Chữ kí điện tử được tạo ra và kiểm tra bằng mật mã, đó là một phương pháp thuộc lĩnh vực toán học, nó chuyển toàn bộ thông tin thành một dạng khó

có thể nhận dạng và có thể được giải mã Chữ kí điện tử sử dụng hai khóa thông dụng, một khóa để tạo ra chữ kí hoặc chuyển thông tin thành dạng khó nhận dạng, một khóa dùng để kiểm tra chữ kí hoặc để chuyển thông tin đã mã hóa về dạng nguyên thủy của nó

Chữ kí điện tử là cách cơ bản để bảo mật cho một tài liệu điện tử (e-mail, sprea Digital Signatureheet_bảng tính, text file, ) đáng tin cậy Đáng tin nghĩa là

Trang 31

bạn biết ai đã tạo ra tài liệu và bạn biết nó không bị thay đổi trong bất cứ cách nào từ người tạo ra nó

Dựa vào thuật toán mã hoá để bảo đảm độ tin cậy Độ tin cậy là quá trình kiểm tra xác nhận được thông tin đến từ một nguồn tin cậy Hai quá trình này liên quan chặt chẽ đến chữ kí điện tử

chữ kí điện tử.làm việc dựa trên hai khoá là khóa công khai và khóa bí mật và thực hiện qua hai giai đoạn là việc hình thành chữ ký trên tài liệu ở phía người gửi và việc xác nhận tài liệu nhận được chính xác và nguyên vẹn hay không ở phía người nhận

Vấn đề bảo mật ở chữ kí số không giống với các phương pháp mã hoá cổ điển là chỉ dùng một khoá cho cả việc mã hoá ở người gửi và giải mã ở người nhận mà sử dụng hai khoá: khóa bí mật để mã hoá và khóa công khai để giải mã kiểm tra

*Tầm quan trọng của chữ ký số trong thương mại điện tử

Với chữ ký tay trên văn bản, người nhận rất khó có thể kiểm tra được độ chính xác, tính xác thực của chữ ký Tình trạng sử dụng chữ ký giả rất dễ xảy ra bởi không cần phải làm đăng ký cho loại chữ ký này (trừ công chức cao cấp) Tuy nhiên, với chữ ký số, người sử dụng phải đăng ký, vừa được đảm bảo độ an toàn, chính xác bằng công nghệ hiện đại, vừa được xác thực bởi các tổ chức chứng thực… Do đó, độ an toàn của chữ ký số cao hơn rất nhiều so với chữ ký tay truyền thống

Tại Việt Nam, chữ ký điện tử đã được các cơ quan Nhà nước coi trọng Quốc hội đã ban hành Luật Giao dịch điện tử (có hiệu lực từ tháng 3/2006) và công nhận tính pháp lý của loại chữ ký này Sau khi ban hành Nghị định về chữ

ký số và dịch vụ chứng thực chữ ký số, Bộ Thông tin và Truyền thông đang gấp rút xây dựng mô hình hệ thống chứng thực CA quốc gia nhằm đẩy mạnh việc sử dụng chữ ký số trong xã hội

Trang 32

Chữ ký điện tử cũng đã được sử dụng chính thức trong các giao dịch của ngành ngân hàng (thanh toán liên ngân hàng), ngành tài chính (thanh toán điện

tử liên kho bạc) Một số cơ quan Nhà nước như Bộ Công thương, Sở Bưu chính Viễn thông TP Hồ Chí Minh, Sở Khoa học và Công nghệ Đồng Nai… cũng bắt đầu sử dụng chữ ký điện tử trong giao dịch nội bộ

1.4 Tiểu kết chương 1

Qua chương 1, việc mã hóa thông tin ngày càng được ứng dụng rộng rải trong nhiều lĩnh vực Quá trình phát triển của các thuật toán mã hóa ngày càng được nhiều nhà nghiên cứu qua tâm phát triển Từ các phương pháp mã hóa cổ điển như hệ mã CEASAR, VIGENERE đến các thuật toán mã hóa đối xứng như DES, mã hóa bất đối xứng như RSA, MD5… các thuật toán hiện nay đều đang được sử dụng và phát triển bởi vì chúng đáp ứng được yêu cầu của người sử dụng về độ an toàn bảo mật cao

Trang 33

Chương 2 MỘT SỐ THUẬT TOÁN MÃ HÓA TRÊN DNA

2.1 Cấu trúc của DNA

2.1.1 Cấu tạo hóa học

DNA (phân tử đêôxiribônuclêic axit) có đặc điểm đại phân tử với kích thước và khối lượng lớn và được cấu tạo theo nguyên tắc đa phân, bao gồm nhiều đơn phân hợp lại là các nuclêôtit Mỗi một nuclêôtit có khối lượng trung bình là 300 đơn vị cacbon và kích thước trung bình là 3,4 A0 Mỗi nuclêôtit bao gồm 3 thành phần liên kết lại là :

Một phân tử đường đêôxiribô (công thức cấu tạo là C5H10O4)

Một phân tử axit photphoric (H3PO4)

Một trong 4 loại bazơ nitric là : ađênin (ký hiệu A), guanin (G), xitôzin (X), timin (T)

Trong DNA có 4 loại nuclêôtit được gọi theo tên của bazơ nitric chứa trong nuclêôtit Trên thực tế hai loại nuclêôtit A và G có kích thước lớn hơn 2 loại nuclêôtit T và X Các nuclêôtit liên kết lại với nhau bằng liên kết hóa trị giữa các axit photphoric của nuclêôtit này với đường của nuclêôtit kế tiếp hình thành chuỗi pôlinuclêôtit Mỗi phân tử DNA gồm 2 chuỗi pôlinuclêôtit Bốn loại nuclêôtit là A, T, G, X sắp xếp với thành phần, số lượng và trật tự khác nhau tạo cho DNA ở sinh vật vừa có tính đặc thù và vừa có tính đa dạng[1]

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

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
2. Phan Đình Diệu, 2002. Lý thuyết mật mã và an toàn thông tin, Đại học Quốc gia Hà Nội.Ti T iế ế ng n g A An nh h Sách, tạp chí
Tiêu đề: Lý thuyết mật mã và an toàn thông tin
1. Nguyễn Văn Cách, 2009. Tin – sinh học, Nhà xuất bản khoa học và kĩ thuật Khác
3. Adleman. M. L (1994), Molecular Computation of Solutions to Combinatorial 398 Ashish Kumar Kaundal and A.K Verma Problems, Science, vol. 266, pp. 1021- 1024 Khác
4. A.Leier,C.Richeter and W.Banzhaf ”Cryptography with DNA binary strands” Khác
5. Ashish Gehani, LaBean Thomas and John Reif (2004), DNA-based cryptography, In Aspects of Molecular Computing, Springer Berlin Heidelberg, pp. 167-188 Khác
6. Cui Guangzhao, Limin Qin, Yanfeng Wang, and Xuncai Zhang (2008), An encryption scheme using DNA technology, In Bio-Inspired Computing:Theories and Applications, BICTA, 3rd IEEE International Conference on, pp. 37-42 Khác
7. Deepak Kumar, and Shailendra Singh (2011), Secret data writing using DNA sequences, In Emerging Trends in Networks and Computer Communications (ETNCC), IEEE International Conference on, pp. 402-405 Khác
8. Magdy Saeb và cộng sự (2006), A DNA-based implementation of YAEA encryption algorithm, In Computational Intelligence, pp. 120-125 Khác
9. Mohammad Reza Abbasy và cộng sự (2012), DNA Base DataHiding Algorithm, International Journal on New Computer Architectures and Their Applications (IJNCAA) 2(1):183-192The Society of Digital Information and WirelessCommunications, 2012 (ISSN: 2220-908) Khác
10. J. Lipton. R (1995), Using DNA to solve NP Complete problems, Science, Vol. 268, pp. 542-545 Khác

HÌNH ẢNH LIÊN QUAN

Hình 1.1. Mô hình mã hóa - Nghiên cứu thuật toán  mã hóa DNA và ứng dụng
Hình 1.1. Mô hình mã hóa (Trang 11)
Bảng chữ cái gốc. - Nghiên cứu thuật toán  mã hóa DNA và ứng dụng
Bảng ch ữ cái gốc (Trang 14)
Hình 1.2.  Hình vuông Vigenere - Nghiên cứu thuật toán  mã hóa DNA và ứng dụng
Hình 1.2. Hình vuông Vigenere (Trang 16)
Hình 1.3. Cấu tạo một vòng của DES - Nghiên cứu thuật toán  mã hóa DNA và ứng dụng
Hình 1.3. Cấu tạo một vòng của DES (Trang 18)
Hình 1.4. Qúa trình sinh khóa con trong DES - Nghiên cứu thuật toán  mã hóa DNA và ứng dụng
Hình 1.4. Qúa trình sinh khóa con trong DES (Trang 19)
Hình 1.6. Qui trình phát sinh dãy L i R i  từ dãy L i-1 R i-1 và khóa K i - Nghiên cứu thuật toán  mã hóa DNA và ứng dụng
Hình 1.6. Qui trình phát sinh dãy L i R i từ dãy L i-1 R i-1 và khóa K i (Trang 21)
Hình 1.7. Sơ đồ thuật toán mã hóa Data Encryption Standard (DES) - Nghiên cứu thuật toán  mã hóa DNA và ứng dụng
Hình 1.7. Sơ đồ thuật toán mã hóa Data Encryption Standard (DES) (Trang 22)
Sơ đồ mã hóa - Nghiên cứu thuật toán  mã hóa DNA và ứng dụng
Sơ đồ m ã hóa (Trang 25)
Hình 1.9. Sơ đồ giải mã RSA - Nghiên cứu thuật toán  mã hóa DNA và ứng dụng
Hình 1.9. Sơ đồ giải mã RSA (Trang 26)
Hình bên dưới mô tả một quá trình trong một vòng. Có 4 hàm một hiều F có  thể sử dụng - Nghiên cứu thuật toán  mã hóa DNA và ứng dụng
Hình b ên dưới mô tả một quá trình trong một vòng. Có 4 hàm một hiều F có thể sử dụng (Trang 28)
Hình 2.1. Cấu tạo hóa học của DNA - Nghiên cứu thuật toán  mã hóa DNA và ứng dụng
Hình 2.1. Cấu tạo hóa học của DNA (Trang 34)
Hình 2.2. Cấu tạo không gian của DNA - Nghiên cứu thuật toán  mã hóa DNA và ứng dụng
Hình 2.2. Cấu tạo không gian của DNA (Trang 35)
Hình 2.3. Thuật toán mã hóa dựa trên dữ liệu nhị phân - Nghiên cứu thuật toán  mã hóa DNA và ứng dụng
Hình 2.3. Thuật toán mã hóa dựa trên dữ liệu nhị phân (Trang 39)
Hình 2.4. Thuật toán giải mã dựa trên dữ liệu nhị phân - Nghiên cứu thuật toán  mã hóa DNA và ứng dụng
Hình 2.4. Thuật toán giải mã dựa trên dữ liệu nhị phân (Trang 42)
Hình 2.5. Sơ đồ thuật toán YAEA thực hiện một vòng lặp - Nghiên cứu thuật toán  mã hóa DNA và ứng dụng
Hình 2.5. Sơ đồ thuật toán YAEA thực hiện một vòng lặp (Trang 48)

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

w