5. Cấu trúc của luận văn
2.2 Thuật toán mã hóa DNA dựa trên dữ liệu nhị phân
2.2.1 . Ý tưởng của thuật toán
Dữ liệu nhị phân là một loại dữ liệu được đại diện hoặc hiển thị trong hệ thống chữ số nhị phân. Dữ liệu nhị phân là thể loại duy nhất của dữ liệu có thể được hiểu trực tiếp và thực hiện bởi một máy tính. Nó được đánh giá theo đại diện bởi một sự kết hợp của các số 0 và số 1. Dữ liệu nhị phân được coi là dữ liệu bản địa / ngôn ngữ của một máy tính và nó tương tác với các định nghĩa lớp thấp nhất của phần cứng của nó. Đây là loại dữ liệu được tạo ra khi một quá trình được thực hiện trên một máy tính. Các ứng dụng yêu cầu quá trình gửi hướng dẫn trong một ngôn ngữ cấp cao mà cuối cùng được chuyển thành dữ liệu nhị phân được thực
hiện hoặc được gửi đến các bộ vi xử lý. Tất cả các quy trình, quá trình thực hiện đều được chuyển đổi thành dạng nhị phân trước khi thực hiện.
Để bảo vệ dữ liệu thông qua các mạng không an toàn như Internet, sử dụng các phương pháp bảo mật khác nhau để bảo vệ dữ liệu là cần thiết.
Với sự xuất hiện của các khía cạnh sinh học của các chuỗi DNA được áp dụng xử lý trên máy tính, phương pháp mã hóa dựa trên dữ liệu nhị phân đã được đề xuất bởi các nhà nghiên cứu, dựa trên trình tự DNA [4][5][9]. Các phần quan trọng của việc sử dụng các đặc điểm sinh học của các chuỗi DNA.
Để chuyển đổi dữ liệu nhị phân thành các axit amin tạo thành chuỗi DNA,với các quy tắc bắt cặp trong cấu trúc sinh học của DNA được sử dụng [4][5][6][7][8][9]. Nucleotide tổng hợp trong môi trường thực tế (sinh học) được thực hiện trong các quy tắc liên tục:
Purine Adenine (A) luôn luôn cặp với pyrimidine Thymine (T) Pyrimidine Cytosine (C) luôn luôn cặp với Guanine purine (G)
Những quy tắc này luôn luôn được thực hiện một cách tự nhiên bởi vì những cơ hội để tổng hợp liên kết hydro giữa A và T, và giữa C và G là khác nhau, về cơ bản những khái niệm này được đặt tên là Watson-Crick quy tắc bắt cặp khi ông phát hiện ra cấu trúc chung của DNA [6].
Trong lĩnh vực tính toán nhị phân, nó có thể thay đổi các quy tắc tự nhiên bởi quyết định riêng của nó. Trong sinh học, A được tổng hợp để T trong khi chúng ta có thể giả định A đến C hoặc A đến G để tăng sự phức tạp của thuật toán là mục đích chính của việc thay đổi các quy tắc này. Việc chuyển đổi từ DNA sang nhị phân được đặt theo qui tắc A = 00, T = 01, C = 10, và G = 11 nhằm tăng sự phức tạp với nguyên tắc cặp bổ sung trên [5][9]. Quy tắc cặp bổ sung là một cặp tương đương duy nhất được gán cho mỗi cặp nucleotide cơ sở. Một cách tổng quát, quy tắc bổ sung được áp dụng trên sợi theo nguyên tắc bổ sung: ((A→C) (C→G) (G→T) (T→A)) [9].
Ví dụ 2.1. Ta có sợi DNA: AATGC áp dụng nguyên tắc bổ sung trên sợi DNA với qui tắc ((A→C) (C→G) (G→T) (T→A)) nên ta có sợi DNA mới là: CCATG
Nhằm tăng sự phức tạp là mục đích chính của việc sử dụng những quy tắc trên, trong việc nghiên cứu này nó có nghĩa là: việc tìm kiếm các thông tin ban đầu của kẻ xâm nhập cần tính toán thêm bởi vì có bốn bảng chữ cái cơ bản do đó bốn khả năng bổ sung cho tất cả các trình tự DNA. Vì vậy, con số cuối cùng của những người có thể quy định là 4 × 3 × 2 × 1 = 24 [6]. Mặt khác, khả năng xảy ra một dự đoán là chính xác. Thêm thông tin và kết quả nghiên cứu đối với một số định nghĩa cơ bản có thể đạt được trong sinh học phân tử.
2.2.2. Thuật toán.
Quá trình này được chia làm 2 giai đoạn. Giai đoạn thứ nhất là mã hóa thông điệp và giai đoạn hai là giải mã thông điệp.
2.2.2.1. Quá trình mã hóa
Dữ liệu vào của thuật toán: chuỗi dữ liệu cần mã hóa và nhập trình tự DNA được tham khảo từ ngân hàng gen.
Dữ liệu ra của thuật toán: Dãy số được mã hóa từ chuỗi ban đầu nhập. Phương pháp:
1. Trong tập tin văn bản rõ mỗi kí tự được tuần tự chuyển về mã ASCII viết dưới dạng mã nhị phân.
2. Đưa dữ liệu nhị phân về trình tự DNA với qui tắc : 00→A, 01→T, 10→C 11→G.
3. Gán hoán đổi các thành phần trong trình tự DNA thành trình tự DNA mới nhằm tăng độ phức tạp theo nguyên tắc bổ xung: ((A→C) (C→G) (G→T) (T→A).
4. Từ trình tự DNA tham khảo được nhập từ bàn phím ta tìm kiếm tuần tự vị trí của các cặp nucleotic. Nếu DNA[k] = DNA[m] thì ghi lại vị trí của nó.
Kết thúc thuật toán. * Sơ đồ thuật toán
Hình 2.3. Thuật toán mã hóa dựa trên dữ liệu nhị phân
M=Văn bản rõ. Trình tự DNA
tham khảo BEGIN
Chuyển đổi về dữ liệu nhị phân END M1=Trình tự DNA M2=Trình tự DNA mới M3 = Văn bản mã M=Văn bản rõ. Trình tự DNA tham khảo BEGIN
Chuyển đổi về dữ liệu nhị phân
Rõ ràng, thông tin M ban đầu mà người gửi quyết định gửi thông qua một mạng lưới cho người nhận. Vì vậy, có bốn tiểu giai đoạn để cung cấp các hình thức cuối cùng của M là M3 và gửi nó đến người nhận. Các giai đoạn phụ đầu tiên là, chuyển đổi theo quy tắc bắt cặp trong DNA. Kết quả này là M1. M1 chứa chuỗi nucleotide. Bằng cách áp dụng cơ sở ghép nối quy định của qui tắc trên DNA thông tin ban đầu có thể chuyển đổi từ dữ liệu nhị phân thành chuỗi DNA. Không chỉ qui tắc này giúp mã hóa thông điệp từ nhị phân thành chuỗi DNA nhưng cũng có thể nó được áp dụng để giải mã các thông điệp bí mật một gốc.
Tiếp theo (thứ hai) áp dụng các quy tắc bổ sung. Nhằm tăng sự phức tạp là mục đích chính xác của bước này. bằng cách áp dụng các quy tắc bổ sung, hình thức mới của M`đó là M2. Bây giờ, M2 được xuất hiện. Cả hai người gửi và người nhận đều tham khảo trình tự DNA dựa trên số lượng lớn cơ sở dữ liệu EBI hay NCBI. Nó có nghĩa rằng, họ đã được lựa chọn tham chiếu DNA cùng trình tự. Vai trò chính xác của đoạn thứ ba là giải nén các chỉ số của mỗi cặp nucleotide trong DNA trình tự tham khảo khi nào tất cả các chỉ số đều được tạo ra M3 đã được thực hiện chính xác.
Để làm rõ các giai đoạn ví dụ dưới đây sẽ thực hiện từng bước của thuật toán. Giả sử thông báo ban đầu M được nhập từ bàn phím là PY phải được gửi đến người nhận.
Ví dụ 2.2. Dữ liệu vào là thông tin ban đầu của văn bản mã là “PY” và DNA tham khảo là trình tự DNA dưới đây:
“ATCGAATTCGCGCTGAGTCACAATTCGCGCTGAGTGAACC”. Áp dụng thuật toán chuyển lần lượt các kí tự trong chuỗi về mã ASCII dưới dạng dữ liệu nhị phân.
- Kí tự P có mã ASCII dưới dạng nhị phân 8 bit là: 01010000.
- Kí tự Y có mã ASCII dưới dạng nhị phân 8 bit là: 01011001. Như Vậy ta được dãy nhị phân là: 0101000001011001.
Giai đoạn 1: Đưa dữ liệu nhị phân về trình tự DNA với qui tắc : 00→A, 01→T, 10→C 11→G. Ta có dãy nhị phân là: 0101000001011001, áp dụng qui tắc trên ta được M1 là dãy trình tự DNA: T T A A T T C T.
Như vậy ta có M1 = TTAATTCT.
Giai đoạn 2: Gán hoán đổi các thành phần trong trình tự DNA thành trình tự DNA mới nhằm tăng độ phức tạp theo nguyên tắc bổ xung: (A→C) (C→G) (G→T) (T→A). Như vậy từ M1= TTAATTCT áp dụng quy tắc bổ xung trên mã tương ứng chuyển thành M2=AACCAAGA.
Giai đoạn 3: Lần lượt tìm vị trí từng đôi một của M2 với trình tự DNA tham khảo để lấy ra chỉ số.
Từ M2= AACCAAGA ta bắt đầu tìm tham chiếu từng đôi một lên trình tự DNA tham khảo để lấy được chỉ số của từng cặp. Với DNA tham khảo ban đầu là AT1CG2AA3TT4CG5CG6CT7GA8GT9CA10CA11AT12TC13GC14GC15
TG16AG17TG18AA19CC20. Như vậy AA tham chiếu lên DNA tham khảo ở vị trí 3, CC ở vị trí 20, AA ở vị trí 3 và GA ở vị trí 8. Nên ta được thông tin mã hóa cuối cùng là M3= 32038.
Sau đó chúng ta gửi đến người nhận, trong phần tiếp theo nhận sẽ áp dụng giai đoạn giải mã để giải mã các thông báo ban đầu bằng sử dụng bốn giai đoạn liên tiếp.
2.2.2.2 Quá trình giải mã
Bây giờ, người nhận sẽ lấy thông tin bí mật ở dạng chuỗi số. Với mục đích giải mã thông báo ban đầu từ chuỗi DNA tham khảo, và giai đoạn ba nó sẽ trích xuất các thông tin ban đầu một cách chính xác.
Đầu vào của thuật toán: là dãy số đã mã hóa và trình tự DNA tham khảo từ ngân hàng gen.
Phương pháp:
1. Từ dãy số nhập từ bàn phím và DNA tham khảo lần lượt tìm vị trí tương ứng của dãy số với DNA tham khảo để lấy ra trình tự DNA.
2. Với trình tự DNA mới ta đưa về trình tự DNA ban đầu với quy tắc: (A→C) (C→G) (G→T) (T→A).
3. Trình tự DNA ban đầu ta chuyển về dữ liệu nhị phân theo qui tắc: 00→A, 01→T, 10→C 11→G.
4. Từ dữ liệu nhị phân lần lượt đưa về chuỗi kí tự ban đầu. Kết thúc thuật toán
* Sơ đồ giải mã
Hình 2.4. Thuật toán giải mã dựa trên dữ liệu nhị phân
END M1=Trình tự DNA M2=Trình tự DNA mới M= Văn bản rõ M3=Văn bản mã. Trình tự DNA tham khảo BEGIN
Chuyển đổi về dữ liệu nhị phân
Các giai đoạn đầu tiên nắm chắc vị trí của M3. Bởi vì bản chất của thông điệp bí mật được chuyển tới M3 là một dãy số (vị trí chính xác chỉ số) của thông điệp gốc trên chuỗi DNA tham khảo), thông điệp của dãy số bắt đầu bằng cách tìm các chỉ số trên tham chiếu DNA chuỗi từng đôi một theo những con số mà người gửi đã gửi dưới dạng các thông điệp bí mật hiện tại. M2 là kết quả chính xác của các tiểu giai đoạn đầu tiên. Do đó, giai đoạn hai áp dụng quy tắc bổ sung trên M2 để về M1, một cách chính xác. Tầm quan trọng của M1 là hình thức của nó. M1 là kết quả tiếp theo của giải mã, dựa trên nucleotide DNA. Chuyển đổi các M1 với M là giai đoạn thứ ba của việc giải mã.
Quá trình chuyển từ nucleotide DNA thành dữ liệu nhị phân và đưa dữ liệu nhị phân về thông tin ban đầu là trách nhiệm của tiểu giai đoạn cuối cùng. Bây giờ, người nhận đã thực sự giải mã các thông báo ban đầu M. Những bước này được thể hiện thông qua các ví dụ ở dưới đây:
Ví dụ 2.3.
* Dữ liệu vào là: + Bản mã M3=32038 + Trình tự DNA tham khảo:
AT1CG2AA3TT4CG5CG6CT7GA8GT9CA10CA11AT12TC13GC14GC15TG16AG17T G18AA19CC20.
*Các bước thực hiện:
+ Giai đoạn 1: Xác định được M2.
Với bản mã M3=32038 và trình tự DNA tham khảo ở trên. Lần lượt tìm đến vị trí tương ứng của nó trên DNA tham khảo để tạo ra được M2. Ở vị trí thứ 3 ta được AA, vị trí thứ 20 có CC và vị trí thứ 3 có AA và vị trí thứ 8 có GA. Ta được M2= AACCAAGA.
+ Giai đoạn 2: Xác định M1
Với M2= AACCAAGA sẽ đưa về trình tự DNA mới theo qui tắc: (A→C) (C→G) (G→T) (T→A). Áp dụng qui tắc trên M2= AACCAAGA
+ Giai đoạn 3: Đưa về văn bản rõ.
Đưa M1= TTAATTCT về dữ liệu nhị phân theo qui tắc 00→A, 01→T, 10→C 11→G. áp dụng qui tắc trên M1= TTAATTCT mã nhị phân tương ứng sẽ là: 0101000001011001.
Dãy nhị phân 0101000001011001 chia dữ liệu ra thành 8 bít tương ứng và đưa về bản mã ASCII. Với 8 bit đầu tiên 01010000 cho ra mã kí tự là P và 8 bít tiếp theo 01011001 cho mã kí tự là Y,
Đầu ra: kết quả bản mã là PY.
2.2.3. Vấn đề về an ninh
Về an ninh, mỗi kẻ đột nhập muốn biết trước được từ những thông tin sau đây, một cách chính xác. Nếu không có thông tin cơ bản này, khả năng giải mã thông tin ban đầu là gần bằng không. Đó là:
- Quy tắc mã hóa nhị phân: như đã đề cập, người gửi là tự do lựa chọn bất kỳ hình thức nhị phân tương đương cho mỗi nucleotide. Nó có nghĩa rằng, A có thể là '00', '01', '10', hoặc '11'; C có thể là '00', và như vậy. Nói cách khác, tất cả các quy tắc mã hóa nhị phân là 4 × 3 × 2 × 1 = 24 [6]. Vì vậy, khả năng làm đúng đoán bởi kẻ tấn công là 1
24.
- Trình tự DNA tham khảo: có trình tự tham khảo 163 triệu DNA trên cơ sở dữ liệu EBI. Do đó, khả năng thực hiện một phỏng đoán công việc làm đúng của kẻ tấn công là 1 6
163 10
- Quy tắc bắt cặp bổ sung: như quy tắc mã hóa nhị phân, có 4 × 3 × 2 × 1 = 24 bảng chữ cái bổ sung giữa các nucleotide cơ bản. Do đó, khả năng làm cho cuộc tấn công thành công là 1
24
Cuối cùng, xác suất cuối cùng của việc đoán chính xác và thành công bởi kẻ tấn công là: 1 6 1 1
2.3. Thuật toán YAEA
2.3.1. Cơ sở lý luận và ý tưởng thuật toán
DNA có tiềm năng để trở thành một hệ thống lưu trữ thông tin dày đặc và lâu dài, vì các lý do sau đây:
Một lượng khổng lồ các dữ liệu thực tế có thể được lưu trữ trong một hợp chất độ trung thực cao ở cấp độ phân tử. Một gram DNA có khả năng lưu trữ cùng một lượng thông tin có thể phù hợp trên một nghìn tỷ đĩa [5][8].
Mặc dù thay đổi điều kiện môi trường và công nghệ, DNA đã kéo dài như một phân tử lưu trữ trong hàng triệu năm.
Các ngân hàng DNA thông tin di truyền của con người của chúng ta và do đó sẽ rất quan trọng để duy trì trong tương lai gần [5][8].
Nhân rộng các bản sao giống hệt nhau của các phương tiện lưu trữ thông tin là tương đối dễ dàng nếu DNA được sử dụng. Máy tính DNA đảm bảo xử lý song song lớn, với một thiết lập phù hợp cho DNA, vấn đề lớn có khả năng có thể được giải quyết bằng cách tìm kiếm song song. Điều này có thể nhanh hơn nhiều so với một máy tính thông thường, giải quyết song song lớn sẽ yêu cầu số lượng lớn các phần cứng, không phải đơn giản hơn DNA[3][8].
Một gen Canis Familiaris được tải về từ ngân hàng Gen. Canis Familiaris nhiễm sắc thể: (gi | 73.948.581 | ref | NW_876270.1 | Cfa1_WGA2_2 Canis Familiaris nhiễm sắc thể có thể cho thuê 1 gen) được gửi từ người gửi đến người nhận các thông tin được mã hóa thông qua một kênh an toàn. Các hình thức nhị phân của thông tin của kí tự văn bản rõ người gửi được chuyển hóa thành dạng DNA (A cho 00, C 01, G 10, T 11) dẫn đến một sợi DNA đại diện cho văn bản [8]. Rõ ràng, mỗi nucleotide DNA chuỗi bốn đại diện cho cặp số nhị phân lần lượt đại diện cho một kí tự bằng văn bản của thông điệp. Người gửi sẽ sắp thành đôi tất cả các DNA sẽ tăng gấp bốn lần chuỗi nucleotide đại diện cho tất cả các kí tự văn bản đối với DNA sợi đơn đại diện cho các bộ gen Canis Familiaris để xác định tất cả các lần xuất hiện và vị trí của mình hay nói cách khác con trỏ của nó.
Ví dụ 2.4. Một chuỗi như CAGA, đại diện cho văn bản rõ kí tự H, xuất hiện 391.919 lần trong Canis Familiaris DNA sợi của chúng có độ dài 53.004.996 cặp base (bp). Điều này sẽ cung cấp cho chúng ta 391.919 có thể cho cùng một vị trí. Sau đó, người gửi lấy ngẫu nhiên từ các sợi đơn Canis DNA một vị trí phối hợp cho mỗi nucleotide DNA sẽ tăng gấp bốn lần chuỗi đại diện một kí tự trong văn bản rõ cho tất cả các ký tự trong văn bản. Quá trình này sẽ tạo ra một tập tin có chứa ngẫu nhiên vị trí của con trỏ cho tất cả các ký tự trong văn bản rõ và gọi tập tin này văn bản mã. Các văn bản mã sau đó được chuyển đến người nhận. Khi nhận được tập tin này, người nhận sử dụng các văn bản mã để khôi phục lại các trình tự của bốn nucleotide DNA chuỗi từ DNA sợi Canis, mà trước