著录项信息
专利名称 | 一种基于虚拟基因组的密码系统(VGC)的构造方法 |
申请号 | CN200910192218.0 | 申请日期 | 2009-09-10 |
法律状态 | 权利终止 | 申报国家 | 中国 |
公开/公告日 | 2011-04-20 | 公开/公告号 | CN102025482A |
优先权 | 暂无 | 优先权号 | 暂无 |
主分类号 | H04L9/00 | IPC分类号 | H;0;4;L;9;/;0;0;;;G;0;6;N;3;/;1;2查看分类表>
|
申请人 | 中国科学院华南植物园 | 申请人地址 | 广东省广州市天河区兴科路723号
变更
专利地址、主体等相关变化,请及时变更,防止失效 |
权利人 | 中国科学院华南植物园 | 当前权利人 | 中国科学院华南植物园 |
发明人 | 曾纪晴;张明永 |
代理机构 | 暂无 | 代理人 | 暂无 |
摘要
本发明涉及一种信息安全技术,尤其是一种基于虚拟基因组的密码系统。本密码系统有两个互相匹配的密匙,一个是由随机DNA序列组成的虚拟基因组数据库(VGDB),另一个是VGDB中虚拟基因在2维微阵列中随机分布的位置表,即虚拟基因芯片(VDMC)。任意明文信息可自由地在VDMC上“书写”,也就是在VDMC微阵列上选择组成明文信息的“点”。这些挑选出来的“点”对应着VGDB中的虚拟基因,在这些虚拟基因中随机挑选一个小片段DNA序列,并用生物信息学常用工具BLAST或其它字符串搜索算法如KMP算法确认其在VGDB中唯一性。密文就是由这些小片段DNA序列组合而成。解密过程只需用这些小片段DNA序列对VGDB进行BLAST,即可找出组成明文信息的“点”,根据VDMC即可恢复出明文信息。密文中可以随意插入任意非VGDB序列而对解密没有任何影响,因而VGC是一个很好的信息隐藏系统。此外,VGC密匙可自我更新,从而实现不可破译的一次一密系统。本发明不仅可用于实时快速的秘密信息通信,也可用于数字签名与身份认证。
1.一种基于虚拟基因组的密码系统(VGC)的构造方法,其特征在于按如下步骤和方法进行:
(1)产生大量随机DNA序列,并随机编号或命名,每个随机DNA序列编号或命名为一个虚拟基因,每个虚拟基因采用FASTA格式,所有这些虚拟基因组成“虚拟基因组”,生成“虚拟基因组数据库”(Virtual Genome Database,VGDB);
(2)将VGDB中的所有虚拟基因随机分配在一个2维阵列表上,得到一个虚拟基因分布位置表,该表即为“虚拟基因芯片”(Virtual DNA Microarray Chip,VDMC);
(3)信息发送方可在VDMC上“书写”任何所要传递的秘密信息,也就是在拥有巨大点阵的VDMC上挑选用于组成秘密信息的“点”;
(4)由于VDMC上的每个点对应于VGDB中的一个虚拟基因,因此在VDMC上挑选组成秘密信息的点,就是找出这些点在VGDB中对应的虚拟基因;
(5)从每个找出的虚拟基因中随机地挑选一小片段DNA序列,利用生物信息学常用序列比对搜索工具BLAST(Basic Local Alignment Search Tool)程序对VGDB进行相似性搜索,确认随机挑选的这一小片段DNA序列在VGDB中是唯一的,因而该小片段DNA序列与所挑选的虚拟基因是一一对应的;
(6)将所有这些随机挑选出来的小片段DNA序列不分先后顺序地随机组合起来就成了密文信息;
(7)信息接收方收到密文后,将密文中的各小片段DNA序列对VGDB进行BLAST分析,找出各自对应的虚拟基因,再在VDMC上把这些虚拟基因标记出来,秘密信息就显现出来了。
2.根据权利要求1所述的基于虚拟基因组的密码系统的构造方法,其特征在于其密匙是由虚拟基因组数据库(VGDB)和虚拟基因芯片(VDMC)共同组成的。
3.根据权利要求1所述的基于虚拟基因组的密码系统的构造方法,其特征在于所述的VGDB可转换为虚拟蛋白质数据库(Virtual Protein Database,VPDB)。
4.根据权利要求1所述的基于虚拟基因组的密码系统的构造方法,其特征在于所述的从虚拟基因中随机地挑选一小片段DNA序列指的是在虚拟基因DNA序列中的任意位置随机地挑选一小片段DNA序列。
5.根据权利要求1所述的基于虚拟基因组的密码系统的构造方法,其特征在于所述的BLAST程序指的是生物信息学中的相似性搜索工具,加密过程中使用BLAST的目的是要确认随机挑选的小片段DNA序列的唯一性,解密过程中使用BLAST的目的是为了利用小片段DNA序列的唯一性找出其对应的虚拟基因。
6.根据权利要求1所述的基于虚拟基因组的密码系统的构造方法,其特征在于所述的BLAST程序也可以用其它字符串搜索算法代替。
7.根据权利要求1所述的基于虚拟基因组的密码系统的构造方法,其特征在于为了增强保密性能,密文中可随意插入非VGDB的随机DNA序列。
8.根据权利要求1所述的基于虚拟基因组的密码系统的构造方法,其特征在于其密匙可以自我更新,更新方法是:随机选择的小片段DNA序列处于某个虚拟基因的第i个位置,而该虚拟基因在VDMC上处于第m行、第n列,经过加密或解密之后,所述的随机选择的小片段DNA序列从虚拟基因的第i位置删除并重新插入到第(i+j)个位置,重排后的虚拟基因从VDMC上的第m行、第n列位置上删除并重新插入到第(m+a)行、第(n+b)列位置上,j,a,b的数值发送方和接收方可以自由地约定。
一种基于虚拟基因组的密码系统(VGC) 的构造方法\n技术领域\n[0001] 本发明属于信息安全领域,特别是涉及一种基于虚拟基因组的密码系统。 背景技术\n[0002] 密码系统是信息安全的核心。传统的密码系统基本都是依赖于数学的密码系统,也就是说它们只具有数学计算上的安全性。目前仅有所谓的一次一密的密码系统具有理论上不可破译的安全性。但是,一次一密的密码系统由于存在密匙管理和分配问题,因此实际上难以应用。现在密码学家们正在探索新的密码系统,比如量子密码和DNA密码。 [0003] 由于DNA具有超大规模并行性、超低的能量消耗和超高密度的存储容量,DNA现已被用于计算、数据储存以及密码学等领域。DNA密码在理论和实践上都远没有成熟,有效的DNA密码系统并不多。目前,DNA密码系统并不特别重视编码方法,往往采用G、A、T、C四个碱基字母编码二进制信息或者以3个碱基字母编码1个英文字母、数字或标点等其它信息,这使得这种编码方式本身极容易被破解。DNA密码系统的安全性自然也就不在于这种编码方式,而在于DNA操作本身的生物学困难问题。比如Celland等发明了一种DNA微点技术。Gehani等设计了一个基于DNA的一次一密密码系统方案,该方案虽然理论上是不可破译的,但也存在明显的缺陷:构建这样一个一次一密乱码本DNA不仅成本巨大,加密和解密费时费力,而且DNA操作容易污染,从而造成这种方案实际上不可用。 \n[0004] 事实上,现行的基于DNA的密码系统都是直接把信息“写入”DNA分子,使得这种编码方式非常脆弱,而生物学操作都要经过DNA的合成、提取、克隆、PCR扩增、DNA测序、分子杂交等复杂过程,需要昂贵的实验仪器,同时还费时费力,此外还存在DNA污染、PCR和测序有一定的出错几率、没有正对照(比如预先不知携带消息的DNA分子的序列和片段大小)等问题。DNA密码系统所传递的DNA分子只能依赖物理运输方式传送,不能通过电线、光纤和无线信道传输,因而不能用于实时通信,只能用于在对实时性要求不高的大规模并行数据加密、安全数据存储,以及身份认证、数字签名和信息隐藏等密码学应用领域。 发明内容\n[0005] 本发明的目的是要建立一种基于虚拟基因组的新型密码系统,该系统利用了生物信息学的BLAST(Basic Local Alignment Search Tool)算法,避免了直接对DNA分子的生物学操作,不仅可以达到“一次一密”这样的理论上不可破译的安全性,又可以在电子和网络媒体上实时快速地进行通信,同样也可以用于数字签名与认证。 \n[0006] 为了达到本发明的目的,“基于虚拟基因组的密码系统”采取如下步骤和方法(图\n1): \n[0007] (1)首先,产生大量随机DNA序列,并随机编号或命名(每个随机DNA序列编号或命名为一个虚拟基因),每个虚拟基因采用FASTA格式,所有这些虚拟基因组成“虚拟基因组”,生成“虚拟基因组数据库”(Virtual Genome Database,VGDB)。也可根据需要,方便地将“虚拟基因组数据库”转换成“虚拟蛋白质数据库”(Virtual Protein Database,VPDB)。 [0008] (2)然后,将“虚拟基因组数据库”中的所有虚拟基因随机分配在一个2维阵列表上,得到一个虚拟基因分布位置表,该表即为“虚拟基因芯片”(Virtual DNA Microarray Chip, VDMC)。 \n[0009] (3)信息发送方可在“虚拟基因芯片”(VDMC)上“书写”任何所要传递的秘密信息,这种“书写”就是在拥有巨大点阵的VDMC上挑选用于组成秘密信息的“点”。 [0010] (4)由于VDMC上的每个点对应于“虚拟基因组数据库”(VGDB)中的一个虚拟基因,因此在VDMC上挑选组成秘密信息的点,对应地就是找出了VGDB中的虚拟基因。 [0011] (5)然后,从每个找出的虚拟基因中随机地挑选一个DNA序列小片段,利用本地BLAST程序对VGDB进行相似性搜索,确认随机挑选的这个小片段DNA序列在VGDB中是唯一的。也就是说,该小片段DNA序列与所挑选的虚拟基因是一一对应的,在其它的虚拟基因中没有相同的DNA序列存在。 \n[0012] (6)将所有这些随机挑选出来的DNA序列不分先后顺序地随机组合起来(每个小片段DNA序列用逗号或其它间隔方式如空格、分号等等区隔开来)就成了密文信息。 [0013] (7)信息接收方收到密文后,将以逗号等方式区隔开来的各小片段DNA序列对VGDB进行BLAST,找出各自对应的虚拟基因,再在VDMC上把这些虚拟基因标记出来,秘密信息自然就显现出来了。 \n[0014] 为了增强保密性能,可以采取如下两种方法: \n[0015] (1)在密文中随机插入非VGDB数据库的随机DNA序列。由于密文中的非VGDB数据库的随机DNA序列经BLAST分析不会得到任何结果,因此它们不会影响解密结果。这种可随意性的插入冗余DNA序列的特性,使得本密码系统具有无限的密匙空间。 [0016] (2)密匙可以自我更新,VGC密码系统成为一次一密的密码系统。比如,随机选择的小片段DNA序列处于某个虚拟基因的第i个位置,而该虚拟基因在VDMC上处于第m行、第n列。那么,经过加密或解密之后,随机小片段序列从虚拟基因的第i位置删除并重新插入到第(i+j)个位置,重排后的虚拟基因从VDMC上的第m行、第n列位置上删除并重新插入到第(m+a)行、第(n+b)列位置上。j,a,b的数值发送方和接收方可以自由地约定。因此,每次加密和解密过程完成之后,密匙就自动更新一次。这样,VGC密码系统就成了一次一密的密码系统。 \n[0017] 本发明具有如下显著的特点: \n[0018] 1,本密码系统的密匙包括VGDB和VDMC两个相互匹配的密匙。VGDB是一个巨大的随机DNA序列即虚拟基因组数据库,具有巨大的密匙空间;VDMC是一个VGDB中虚拟基因随机分布2维阵列表。 \n[0019] 2,密匙完全随机,密文也完全随机。 \n[0020] 3,本密码系统的算法非常简单,采用DNA序列的相似性搜索程序BLAST。也可以采用其它字符串搜索算法,比如Knuth-Morris-Pratt(KMP)算法。 \n[0021] 4,密文可以随意插入非VGDB数据库的随机DNA序列。此外,由于虚拟基因可由多个小片段DNA序列所“代表”,而密文中也可随机插入冗余DNA序列,因而同样的明文使用同样的密匙加密,得到完全不同的密文。明文与密文之间不存在一一对应的关系,因而通过明文或者密文,甚至明文与密文对无法对本密码系统造成有效攻击。 \n[0022] 5,密匙可以自我更新,成为一次一密的密码系统。发送与接收方共享一次密匙后,可通过不断的密匙更新,得到一个全新的密匙,可完美解决对称密码系统密匙的第一次共享问题。也就是说,密匙的第一次共享不一定要通过秘密渠道。 \n[0023] 6,由于信息加密过程经过VGMC的“书写”,明文信息可以在VGMC上以任何形式进行书写,包括图像形式、将明文信息编码成其它密码形式(图2)、手书形式等等。因此本密码系统可轻松实现信息的二次编码。 \n[0024] 7,本密码系统不仅适合于绝密的秘密通信,还可用于数字签名与认证。由第6个特征可知, 本密码系统可以实现真正的“手写式”数字签名与认证。由于本系统一次一密的特点,数字签名将完全无法伪造。 \n附图说明:\n[0025] 图1是“基于虚拟基因组的密码系统”(VGC)的示意图。以加密和解密一个字母“T”为例。(1)是由随机DNA序列组成的虚拟基因组数据库(VGDB);(2)是与VGDB相匹配的虚拟基因芯片(VDMC),是一个VGDB中的虚拟基因在2维点阵中随机分布的位置表;(3)在VDMC上“书写”一个字母“T”,挑选组成字母“T”的点;(4)找出(3)中各点在VGDB中对应的虚拟基因;(5)从每个找出的虚拟基因中随机地挑选一个DNA序列小片段,利用本地BLAST程序对VGDB进行相似性搜索,确认随机挑选的这个小片段DNA序列是在VGDB中是唯一的;(6)将所有这些随机挑选出来的DNA序列不分先后顺序地随机组合起来(每个小片段DNA序列用逗号或其它间隔方式如空格、分号等等区隔开来)就成了密文信息。解密的过程是将以逗号等方式区隔开来的各小片段DNA序列对VGDB进行BLAST,找出各自对应的虚拟基因,再在VDMC上把这些虚拟基因标记出来,加密的字母“T”就显现出来了。 [0026] 图2说明“基于虚拟基因组的密码系统”(VGC)和秘密传送任何信息。A,B和C分别表示VGC可以传送二进制编码、Braille盲文和莫尔斯代码传递“SOS”信息。VGC可以传递任何加密信息,也就是说,可以用VGC传递传统密码系统的密文;D表示VGC可以传递图像信息。 \n具体实施方式\n[0027] 实施例1建立VGC密码系统,并发送与接收一个字母“T”(图1) \n[0028] (1)首先,随机产生大量(几千几万,甚至几百万上千万)几kb甚至更长的DNA序列,并随机编号或命名(每个随机DNA序列编号或命名为一个虚拟基因),每个虚拟基因采用FASTA格式,所有这些虚拟基因组成“虚拟基因组”,生成“虚拟基因组数据库”(VirtualGenome Database,VGDB)。 \n[0029] (2)然后,将“虚拟基因组数据库”中的所有虚拟基因随机分配在一个2维阵列表上,得到一个虚拟基因分布位置表,该表即为“虚拟基因芯片”(Virtual DNA Microarray Chip,VDMC)。 \n[0030] (3)在“虚拟基因芯片”(VDMC)上书写字母“T”,即在VDMC上挑选用于组成字母“T”的“点”。 \n[0031] (4)找出这些点应于“虚拟基因组数据库”(VGDB)中的虚拟基因,即B2,C2,D2,C3和C4. \n[0032] (5)然后,从每个找出的虚拟基因中随机地挑选一个DNA序列小片段:从B2虚拟基因找出“CGACGTGCG”,从C2虚拟基因找出“ACTCGGC”,从D2虚拟基因找出“GCCGCGGGA”,从C3虚拟基因找出“GGAGCCAT”,从C4虚拟基因找出“CATGCCTCG”。利用本地BLAST程序对VGDB进行相似性搜索,确认随机挑选的这个小片段DNA序列在VGDB中是唯一的。也就是说,该小片段DNA序列与所挑选的虚拟基因是一一对应的,在其它的虚拟基因中没有相同的DNA序列存在。 \n[0033] (6)将所有这些随机挑选出来的DNA序列不分先后顺序地随机组合起来(每个小片段DNA序列用逗号开来)就成了密文信息:“CGACGTGCG,ACTCGGC,GCCGCGGGA,GGAGCCAT,CATGCCTCG” \n[0034] (7)信息接收方收到密文后,将密文“CGACGTGC G,ACTCGGC,GCCGCGGGA,GGAGCCAT,CATGCCTCG”中各小片段DNA序列对VGDB进行BLAST,找出各自对应的虚拟基因,B2,C2,D2,C3和C4,再在VDMC上把这些虚拟基因标记出来,字母“T” 自然就显现出来了。 [0035] 实施例2数字签名 \n[0036] VGC系统用于数字签名具有特殊的签名方法。由于VGC系统使用的是图像识别式的信息输入输出,也即在VDMC上“书写”与还原信息,因此,VGC传送的信息本身就是非常个性化的。VGC数字签名可以真正做到手写式真迹签名。还可以在VDMC特殊位置上做一些特殊的标记,从而使得密文完全无法伪造。
法律信息
- 2017-11-03
未缴年费专利权终止
IPC(主分类): H04L 9/00
专利号: ZL 200910192218.0
申请日: 2009.09.10
授权公告日: 2014.02.12
- 2014-02-12
- 2011-06-08
实质审查的生效
IPC(主分类): H04L 9/00
专利申请号: 200910192218.0
申请日: 2009.09.10
- 2011-04-20
引用专利(该专利引用了哪些专利)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 |
1
| | 暂无 |
2004-03-31
| | |
2
| |
2006-06-21
|
2004-12-15
| | |
被引用专利(该专利被哪些专利引用)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 | 该专利没有被任何外部专利所引用! |