一种dna数据存储编码方法

文档序号:1127735 发布日期:2020-10-02 浏览:4次 >En<

阅读说明:本技术 一种dna数据存储编码方法 (DNA data storage coding method ) 是由 任兆瑞 于 2020-06-24 设计创作,主要内容包括:本发明公开了一种DNA数据存储编码方法,方法首先将无理数转换为二进制密钥字符串后,将二进制信息原文与二进制密钥进行逻辑运算得到二进制密文信息,最后将二进制密文信息逐两位进行转换形成存储的DNA序列。二进制密钥字符串转换方法可以采用将十进制无理数直接转换为二进制后去掉小数点或是将十进制无理数去掉小数点后将各数字位上的奇数变为1,偶数变为0等方法。采用本发明的DNA数据存储编码方法,能够克服DNA序列生成过程中易产生较多重复序列从而无法应用的缺陷,且加密后被破解的可能性较小,从而发挥出DNA数字存储的巨大优势。(The invention discloses a DNA data storage coding method, which comprises the steps of firstly converting irrational numbers into binary key character strings, then carrying out logic operation on binary information original texts and binary keys to obtain binary secret text information, and finally converting the binary secret text information into a stored DNA sequence by two bits. The binary key character string conversion method can adopt the method of directly converting decimal irrational numbers into binary numbers and then removing decimal points, or changing odd numbers on each digit position into 1 and even numbers into 0 after removing decimal points from the decimal irrational numbers. The DNA data storage coding method can overcome the defect that more repetitive sequences are easy to generate in the process of generating the DNA sequence and cannot be applied, and has low possibility of being cracked after encryption, thereby exerting the great advantage of DNA digital storage.)

一种DNA数据存储编码方法

技术领域

本发明公开了一种使用生物遗传信息DNA进行数据存储的编码方法,属于生物技术与信息技术领域。

背景技术

人类的文字、声音、影像等信息有多种存储载体,如古代的甲骨、石刻、丝绸、羊皮、竹简、纸张;现代的唱片、磁带、软盘、光盘、硬盘等。上个世纪五十年代,DNA(脱氧核糖核酸)作为生物的遗传信息载体被科学家证实,与普通信息存储载体相比,DNA在数据存储方面有其独有的天然优势:存储密度高,1克DNA可以保存世界上的所有书籍内容;存储稳定且时间久,能够达到几万年到几百万年;携带方便,能够由细菌或者生物体内生物携带或置于容器长期保存等。

DNA是重要的遗传物质载体,是自然界生物通过数十亿年进化而产生的一种线形或环形的双螺旋生物大分子,其结构为两条链状的互补互为备份的碱基。纸张等传统信息载体主要用图形文字等来表示,光盘等信息载体使用二进制电信号0/1来表示,而DNA则是用A/T/G/C四个碱基依次排列实现,不同的序列代表不同的信息,相当于是四进制。

一般在生物体的DNA中,A/T/G/C碱基的分布和比例需要均匀并且尽量减少大段的重复,因此利用DNA作为信息载体有其特殊的要求。由于电信号与磁信号的0和1分别使用是否通电或者不同磁极方向来实现,重复序列对信息的保存和复制等都没有影响;然而DNA中的复制是通过生物学机制进行的,大段的重复序列,无论是单一碱基的重复(如连续100个A),还是一定长度的重复(如连续100个ACTT),都会导致后续重组或者错配等错误,严重影响DNA的信息保存。

二进制原始信息可以按照每两位生成一个A/T/G/C碱基的方式来获得一串DNA序列,然后通过化学合成和PCR的方式合成出该序列的DNA实物来存贮信息。但是,由于绝大多数的信息经常会有大段的重复。如果不能够对其进行一定的编码转换,那么生成的DNA序列中将会有很多重复的片段,从而使得这些DNA序列在生物学上极难实现DNA分子的合成和复制。目前DNA的序列合成和序列测定在技术上已经非常成熟,相关成本进一步大幅度降低,因此迫切需要解决以上DNA数据存储的应用障碍,广泛推广DNA数字存储方法。

发明内容

发明要解决的技术问题

为解决现有二进制原始信息在DNA存储时会产生较多重复序列的问题,本发明提出一种DNA数据存储编码方法。

技术方案

为解决上述技术问题,本发明采用以下技术方案:

一种DNA数据存储编码方法,包含以下步骤:

步骤1,将无理数转换为二进制密钥字符串;

步骤2,将二进制信息原文与步骤1所得到的二进制密钥字符串按位进行逻辑运算,得到二进制密文信息;

步骤3,将步骤2所得到的二进制密文信息的逐两位依次进行转换,将00,01,10,11四种组合转换为A/T/G/C四种DNA碱基,形成DNA序列。

进一步地,步骤1中的二进制密钥字符串的转换方法为:将十进制无理数直接转换为二进制后去掉小数点,或者采用将十进制无理数去掉小数点后将各数字位上的奇数变为1,偶数变为0。

进一步地,步骤2中的逻辑运算采用异或运算或非运算的方法。

有益效果

采用本发明提供的技术方案,与现有技术相比,具有如下有益效果:

本发明编码方法克服了DNA序列生成过程中易产生较多重复序列从而无法应用的缺陷,加密后被破解的可能性较小;

本发明编码方法的应用将会推广DNA数字存储方法,发挥DNA数字存储的巨大优势。

附图说明

图1为本发明数据存储方法的流程框图;

图2为使用本发明方法存储汉字“华”的过程示例图;

图3为使用本发明方法存储汉字“一”的过程示例图。

具体实施方式

为进一步了解本发明的内容,结合附图和具体实施方式对本发明作详细描述。

如图1所示,方法第一步将无理数转换为二进制密钥字符串,常用无理数如圆周率π,自然底数e,

Figure BDA0002555166830000021

等,方法中的无理数包括但不限于这些无理数本身和由其函数衍生的无理数,如2π/3,

Figure BDA0002555166830000022

等;

以圆周率π为例,按照进制换算规则换算成二进制前二十位是:11.001001000011111101去掉小数点后取字符串11001001000011111101作为随机码密钥字符串;

另一种方式将十进制无理数各个数字位上的奇数变为1,偶数变为0,得到一个随机码密钥字符串,如:

十进制圆周率:3 1 4 1 5 9 2 6 5 3 5 8 9 7 9 3 2

对应随机码密钥:1 1 0 1 1 1 0 0 1 1 1 0 1 1 1 1 0

在应用时,产生二进制密钥字符串的无理数包括但不限于10进制,还可以是2进制本身,4进制,8进制等,只需按照相应转换规则完成2进制即可。

方法第二步,将信息原文与二进制密钥字符串进行按位逻辑运算,在本实施例中采用逻辑异或和逻辑非运算,逻辑异或的运算规则是:0^0=0;0^1=1;1^0=1;1^1=0;逻辑非的运算规则是:0|0=1;0|1=0;1|0=0;1|1=1;

在实际应用时,由于无理数的长度是无限的,如圆周率π目前已经可以计算到数万亿位,可以根据实际原始二进制信息的长度来决定所需无理数的长度,此外从无理数生成随机码序列包括但不限于从头开始,如从某一指定位开始正序或倒序,或者隔位、隔几位等。

为了简化说明过程,在这里使用8位的二进制信息来举例说明。具体举例如下,a代表原始二进制信息,b代表随机码密钥二进制字符串,c代表二进制密文。

这里取四个不同的原始信息a1,a2,a3,a4,使用圆周率密钥前8位取奇偶得到的字符串进行编码:

a1=00000000,a2=11111111,a3=10001110,a4=01010101,b=11011100

(1)编码运算为异或运算,即a^b=c;还原运算为异或运算,c^b=a。

编码:

a1^b=c1,逐位运算结果为:00000000^11011100=11011100

a2^b=c2,逐位运算结果为:11111111^11011100=00100011

a3^b=c3,逐位运算结果为:10001110^11011100=01010010

a4^b=c4,逐位运算结果为:01010101^11011100=10001001

还原:

c1^b=a1,逐位运算结果为:11011100^11011100=00000000

c2^b=a2,逐位运算结果为:00100011^11011100=11111111

c3^b=a3,逐位运算结果为:01010010^11011100=10001110

c4^b=a4,逐位运算结果为:10001001^11011100=01010101

(2)编码运算为非运算,a|b=c;还原运算为非运算,c|b=a

编码:

a1|b=c1,逐位运算结果为:00000000|11011100=00100011

a2|b=c2,逐位运算结果为:11111111|11011100=11011100

a3|b=c3,逐位运算结果为:10001110|11011100=10101101

a4|b=c4,逐位运算结果为:01010101|11011100=01110110

还原:

c1|b=a1,逐位运算结果为:00100011|11011100=00000000

c2|b=a2,逐位运算结果为:11011100|11011100=11111111

c3|b=a3,逐位运算结果为:10101101|11011100=10001110

c4|b=a4,逐位运算结果为:01110110|11011100=01010101

从上面的例子中可以看出,编码后的信息将原始信息中的序列,不论全0、全1,或者1和0分布比较均匀的信息,都转变成了1和0比较均匀的信息。实际中,二进制密钥与信息原文的逻辑运算包括但不限于以上两种。

方法第三步,将二进制密文信息逐两位转换为DNA序列信息,如使DNA碱基A=00,T=11,G=10,C=01,经异或运算的c1二进制密文为11011100转换为DNA序列为TCTA。

如图2所示,将汉字“华”转换为16x16的二进制点阵图,无理数π去掉小数点后取其1-256位,按照各数字位奇数变为1,偶数变为0的方法产生二进制密钥字符串,与原二进制点阵信息进行按位异或运算,按照00->A01->C10->G11->T的方式转换为DNA序列。

如图3所示,将汉字“一”转换为16x16的二进制点阵图,无理数π去掉小数点后取其257-512位,按照各数字位奇数变为1,偶数变为0的方法产生二进制密钥字符串,与原二进制点阵信息进行按位异或运算,按照00->A01->C10->G11->T的方式转换为DNA序列。

以上示意性的对本发明及其实施方式进行了描述,该描述没有限制性,附图中所示的也只是本发明的实施方式之一,实际的结构并不局限于此。所以,如果本领域的普通技术人员受其启示,在不脱离本发明创造宗旨的情况下,不经创造性的设计出与该技术方案相似的结构方式及实施例,均应属于本发明的保护范围。

8页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:汉字拼音转换方法、装置、电子设备及存储介质

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!