CN109923516A - 加强计算机安全性,可变字长编码以及可变长码解码的技术 - Google Patents
加强计算机安全性,可变字长编码以及可变长码解码的技术 Download PDFInfo
- Publication number
- CN109923516A CN109923516A CN201780069612.8A CN201780069612A CN109923516A CN 109923516 A CN109923516 A CN 109923516A CN 201780069612 A CN201780069612 A CN 201780069612A CN 109923516 A CN109923516 A CN 109923516A
- Authority
- CN
- China
- Prior art keywords
- word
- data
- length
- word length
- value
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000005516 engineering process Methods 0.000 title description 9
- 238000000034 method Methods 0.000 claims abstract description 171
- 238000004590 computer program Methods 0.000 claims description 9
- 230000008859 change Effects 0.000 claims description 7
- 230000004048 modification Effects 0.000 claims description 4
- 238000012986 modification Methods 0.000 claims description 4
- 229910002056 binary alloy Inorganic materials 0.000 claims description 3
- 238000004364 calculation method Methods 0.000 claims description 3
- 238000004891 communication Methods 0.000 description 14
- 230000006870 function Effects 0.000 description 14
- 238000010586 diagram Methods 0.000 description 13
- 238000006243 chemical reaction Methods 0.000 description 12
- 238000012545 processing Methods 0.000 description 7
- 230000002452 interceptive effect Effects 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 230000003014 reinforcing effect Effects 0.000 description 4
- 230000004044 response Effects 0.000 description 4
- 230000011218 segmentation Effects 0.000 description 4
- 230000001360 synchronised effect Effects 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 3
- 238000004422 calculation algorithm Methods 0.000 description 3
- 230000009471 action Effects 0.000 description 2
- 230000006399 behavior Effects 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 230000004913 activation Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000013475 authorization Methods 0.000 description 1
- 230000003796 beauty Effects 0.000 description 1
- 210000004556 brain Anatomy 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 235000013399 edible fruits Nutrition 0.000 description 1
- 230000005611 electricity Effects 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000005389 magnetism Effects 0.000 description 1
- 210000003733 optic disk Anatomy 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 230000010355 oscillation Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/45—Structures or tools for the administration of authentication
- G06F21/46—Structures or tools for the administration of authentication by designing passwords or checking the strength of passwords
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/083—Network architectures or network communication protocols for network security for authentication of entities using passwords
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/31—User authentication
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
- H03M7/02—Conversion to or from weighted codes, i.e. the weight given to a digit depending on the position of the digit within the block or code word
- H03M7/06—Conversion to or from weighted codes, i.e. the weight given to a digit depending on the position of the digit within the block or code word the radix thereof being a positive integer different from two
- H03M7/08—Conversion to or from weighted codes, i.e. the weight given to a digit depending on the position of the digit within the block or code word the radix thereof being a positive integer different from two the radix being ten, i.e. pure decimal code
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04K—SECRET COMMUNICATION; JAMMING OF COMMUNICATION
- H04K1/00—Secret communication
- H04K1/003—Secret communication by varying carrier frequency at or within predetermined or random intervals
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/06—Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computing Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Storage Device Security (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
一种安全传输数据的方法,包括(1)获取包含第一值序列的未加密数据流,(2)将所述第一值序列的第一部分分割成具有与第一变量相等的字长的原始第一字,(3)将所述第一值序列的第二部分分割成具有不同于第一变量的字长等于第二变量的原始第二字,(4)在原始第一和第二字中的预定位置插入随机值,以生成修改后的第一和第二字,所述修改后的第一和第二字具有与第三变量相等的字长,其中,所述第三变量不同于第一和第二变量,以及(5)将修改后的第一和第二字合并成定义加密数据流的第二值序列。
Description
相关申请的交叉引用
本PCT国际申请主张享有于2017年1月17日提交的、申请号为No.15/407,908的美国非临时专利申请的优先权及权益。本PCT国际申请还主张享有于2016年9月26日提交的、申请号为No.15/276,380的美国非临时专利申请的优先权及权益。上述申请的全部内容及实质通过引用整体并入本文,如下文所述。
技术领域
总体而言,本发明涉及计算机安全。更具体地,本发明涉及用于加强计算机安全性的技术。
背景技术
在本发明中,在提及和/或讨论文件、行为和/或知识项时,则这种提及和/或讨论并不是承认该文件、行为和/或知识项和/或它们的任意组合是在本公开的优先权日前为公众所获得、所知的,是公知常识的一部分和/或根据使用的法规构成现有技术;和/或与试图解决本发明可能涉及的任何问题有关。此外,无免责声明。
在过去的几十年中,不同实体/用户之间传输的数据量呈指数增长。人们/公司现在依靠互联网来处理他们开展的大部分业务。这需要在源和目标之间发送数据。例如,许多公司在不同地理位置的很多不同办公室都有员工。然而,这些办公室需要能够有效地沟通,就如同在同一个屋檐下一样。因此,公司花费大量的资金试图确保通过外部网络,如互联网进行的数据通信能保持安全。换言之,公司(和个人)时常与试图拦截这些数据通信的黑客作斗争。
为了对抗黑客,传统的数据通信系统依赖于各种方法进行身份认证和/或访问控制,包括在通过外部网络传输数据之前,在计算机/服务器上对数据进行本地加密的加密算法。遗憾的是,由于许多传统系统直接连接到外部网络,黑客可以简单地利用本地计算/服务的“后门”来获取在加密之前或解密后试图保护的数据。因此,希望使用更有效的技术来进行身份认证和/或访问控制。
发明内容
本发明可以至少部分地解决上述问题中的至少一个。但是,本发明证实对其他技术领域可能是有用的。因此,不应将权利要求解释为仅限于解决上述中的任何问题。
根据本发明的示例性实施方式,提供了一种方法。所述方法可由计算机执行。例如,所述计算机可以包括存储器和处理器,所述存储器可以包括逻辑指令,当由处理器执行所述逻辑指令时,可使计算机执行该方法的各个步骤中的一个或多个。所述方法可以包括加密和/或解密数据流。例如,在本发明的一些实施方式中,设备可以从远程/外部计算机接收未加密的数据流,并在加密该数据流后通过外部网络将加密数据流发送到目标计算机。在本发明的一些实施方式中,设备可以通过外部网络从源计算机接收加密数据流,并在解密所述加密数据流后将未加密数据流发送到远程/外部计算机。在本发明的一些实施方式中,同一设备可以(1)从远程/外部计算机接收未加密的数据流,并在加密该数据流后通过外部网络将该加密数据流发送到目标计算机,以及(2)通过外部网络从源计算机接收加密数据流,并在解密该加密数据流后将未加密数据流发送到远程/外部计算机。
在本发明的一些实施方式中,所述方法包括加密未加密的数据流。所述方法包括获得包括第一值序列的未加密数据流。所述方法还可包括将第一值序列的第一部分分割成具有与第一变量相等字长的原始第一字,以及将第一值序列的第二部分分割成具有不同于第一变量的与第二变量相等字长的原始第二字。所述方法还可包括在原始第一字和原始第二字中的预设位置插入随机值,以生成修改后的第一字和第二字。所述修改后的第一字和第二字可以具有不同于第一变量和第二变量的与第三变量相等的字长。所述方法还可包括将修改后的第一字和第二字合并成定义加密数据流的第二值序列。
在本发明的一些实施方式中,所述第一值序列中的每个值可以是二进制值。
在本发明的一些实施方式中,所述第一值序列中的每个值可以是十六进制值。
在本发明的一些实施方式中,所述方法可以由与生成未加密数据流的计算机不同的远程计算机执行。
在本发明的一些实施方式中,所述方法还可包括将加密数据流发送到目标设备。
在本发明的一些实施方式中,第一变量、第二变量和第三变量是目标设备已知的。
在本发明的一些实施方式中,第一,第二和第三变量随时间的变化而变化。
在本发明的一些实施方式中,所述方法包括解密所述加密数据流的方法。所述方法包括获得包括第二值序列的加密数据流。所述方法还可包括将所述第二值序列的至少一部分分段成修改后的第一字和第二字。所述修改后的第一字和第二字具有等于第三变量的字长。所述方法还可包括去除所述修改后的第一字和第二字中的预设位置处的值,以生成具有等于第一变量的字长的原始第一字和具有等于第二变量的字长的原始第二字。所述方法还可包括将所述原始第一字和第二字合并成定义未加密数据流的第一值序列。
在本发明的一些实施方式中,所述方法还可包括将未加密的数据流发送到远程计算机。
在本发明的一些实施方式中,所述方法还可包括从源设备接收加密数据流。
在本发明的一些实施方式中,第一变量、第二变量和第三变量是源设备已知的。
在本发明的另一示例性实施方式中,所述方法包括提供多个变量和一个变量。所述多个变量彼此不同。所述多个变量与所述一个变量不同。所述方法包括提供通过基于第一数字系统的多个值索引多个字符的查找表。所述方法包括基于该表将消息转换为第一值序列。所述方法包括基于与第一系统不同的第二数字系统并根据预设格式将第一值序列转换为第二值序列。所述方法包括通过删除所述格式将第二序列合并成单个序列。所述方法包括基于通过交替变量对所述序列进行分段,从所述单个序列产生多个第一子序列。所述方法包括将所述第一子序列转换成多个第二子序列,以便根据所述变量调整每个第二子序列的大小。所述方法包括发送第二子序列。
本发明可以附图中所示的形式实施。然而,需要注意的是,所述附图是示例性的。各种变型被认为是本发明的一部分,且本发明仅由权利要求的范围限制。
附图说明
附图示出了本发明的示例实施方式。这些附图不应被解释为必然限制本发明。相同的数字和/或相似的附图标记始终指代相同和/或相似的元件。
图1示出了本发明的用于加强计算机安全性的方法的示例性实施方式的流程图;
图2示出了本发明的用于加强计算机安全性的方法的示例性实施方式的流程图;
图3示出了本发明的网络的示例性实施方式图;
图4示出了本发明的用于提高计算机安全性的方法的另一示例性实施方式的流程图;
图5示出了本发明的用于可变字长编码方法的示例性实施方式的流程图;
图6示出了本发明的用于可变字长编码方法的另一示例实施方式的流程图。
具体实施方式
现将参考附图更全面地描述本发明,其中,附图中示出了本发明的示例性实施方式。然而,本发明可以以许多不同的形式实施,并且不应被解释为限于这里所阐述的实施方式。相反,提供这些实施方式是为了使本发明公开的彻底和完整,并且将本发明的理论充分地传达给本领域技术人员。
与描述某些实施方式相关的特征可以组合用在各种其他实施方式中。实施方式的不同方面及元素可以以类似的方式组合。所公开的实施方式可以单独地和/或共同地作为更大系统的组件,其中,其它程序可以优先于和/或以其它方式修改其应用。在所公开的实施方式之前,之后和/或同时可能需要许多步骤。根据本发明的原理,此处所公开的方法可以由一个和/或多个实体以任何方式执行。
这里所使用的术语可意味着直接或间接,完全或部分,动作或不作为。例如,当一个元件被称为“打开”、“连接”或“耦合”到另一个元件时,则所述元件可以直接连接或耦合到另一个元件,或者可以存在中间元件。相反,当一个元件被称为“直接连接”或“直接耦合”到另一个元件时,不存在中间元件。
尽管本文使用术语第一,第二等来描述各种元件,组件,区域,层和/或部分,但是这些元件,组件,区域,层和/或部分不应受这些术语的限制。这些术语仅用于将一个元件,组件,区域,层或部分与另一个元件,组件,区域,层或部分区分开。因此,在不脱离本发明的教导的情况下,下面讨论的第一元件、组件、区域、层或部分可以被称为第二元件、组件、区域、层或部分。
本文所使用的术语仅用于描述具体实施方式的目的,并不旨在必然限制本发明。如这里所使用的,单数形式的“一”,“一个”和“所述”也旨在包括其复数形式,除非上下文另有明确说明。本说明书中所使用的术语“包括”、“包含”和/或“含有”、“含”表示存在所述特征、整数、步骤、操作、元件和/或组件,但不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件,组件和/或其组。
除非另有定义,否则这里使用的所有术语(包括技术和科学术语)具有与本发明所属领域的普通技术人员通常所能理解的含义相同的含义。诸如在常用词典中定义的那些术语,应当被解释为具有与其在相关领域中的含义一致的含义,并且,除非在此有明确定义,否则不应解释为理想化或过于正式的含义。
如果本发明引用任何公开内容,且这些引用的公开内容与本发明部分或全部抵触,则本发明控制抵触的程度,和/或更广的公开,和/或更广泛的术语定义。如果这些引用的公开内容彼此部分或全部抵触,则后公开的公开内容控制抵触的程度。
图1示出了本发明的用于加强计算机安全性的方法的示例实施方式的流程图。
方法100包括步骤102-118。方法100可以通过例如在任何硬件级上的一个和/或多个电路中的硬件逻辑和/或例如在一个和/或多个软件应用程序中的软件逻辑的任意组合来实现,其中,所述软件应用程序可以在操作系统级以下、其上和/或以上实现。方法100可以在请求-响应计算中实现。无论与计算机安全性有何关系,方法100都可以是更大方法的一部分。例如,可以在执行方法100的任何一个和/或多个步骤之前、期间和/或之后进行各种功能。或者,方法100可以自己执行。尽管可以按照这里描述的顺序执行步骤102-118,但是步骤102-118可以以其他顺序执行,其中,一些步骤在任意排列的其它步骤之前,期间和/或之后执行。而且,需注意的是,方法100可以用密码输入来实现,其中,密码输入可以至少部分地基于字母数字输入,符号输入,生物识别输入,硬件输入和/或其他。然而,也可以在不使用密码的情况下实现方法100。
步骤102包括将位流解析成多个大小相等的第一字符串。所述位流包括连续的位序列,如101001001011110011,表示介质上的数据流。这类数据可以是任何类型和/或用于任何目的。可以以有线方式和/或以无线方式提供和/或接收所述流。所述流可以通过通信协议,例如传输控制协议(TCP),用户数据报协议(UDP)和/或任何通信范围的其他网络通信协议经由通信路径进行通信,和/或在计算机内存和/或计算机存储器,如电路、非易失性存储装置等中通信。所述流可以是任意位数的。所述位流可以包含标识位流源和位流目标的信息。位流也可以是字节流。解析成第一字符串包括将位流分段为任何数位大小,如两个,五个,十个或任何其他数字的第一字符串。例如,当位流包括101001001011110011时,则可以将这种流解析为六位数位串,如101001,001011,110011等。解析成第一字符串可以在整个位流和/或所述位流的部分和/或子部分上发生,而不管它们的大小和/或彼此的关系。所述解析可以在干扰和/或不干扰位流完整性的情况下进行。所述解析可以通过至少一个振荡器/时钟进行。或者,所述序列可以基于不同的符号和/或数字系统,例如十六进制。
步骤104包括将位流解析为多个大小相等的第二字符串。解析成第二字符串包括将所述位流分段成任意数位大小,如两个,五个,十个或任何其他数字的第二字符串。例如,当所述位流包括101001001011110011时,则可以将该流解析为九位数位串,例如101001001,011110011等。解析成第二字符串可以发生在整个位流和/或所述位流的部分和/或子部分上,而不管它们的大小和/或彼此间的关系。第一字符串与第二字符串的大小不同。尽管第一字符串和第二字符串由通过解析位流的相同部分而形成的,但是在其他替代实施例中,第一字符串和第二字符串可以通过解析位流的不同部分来形成。第一字符串可以具有与第二字符串不同的位值。所述第一字符串可以具有与第二字符串相同的位值。所述第一字符串和第二字符串可以大小相等和/或大小不等。可以由至少一个实体同时并发和/或不同时执行步骤102和步骤104。可以在步骤102之前或之后执行步骤104。所述解析可以在干扰和/或不干扰位流的完整性的情况下执行。可以通过至少一个振荡器/时钟执行所述解析。
步骤106包括将第一字符串定向输入到交换机中。该定向可以包括将所述第一字符串中的至少一个输入到交换机中。或者,该定向可包括将第一字符串中的至少一个发送到交换机中。或者,该定向可以包括通过所述交换机接收所述第一字符串中的至少一个。又或者,该定向可以包括将第一字符串中的至少一个传送到交换机中。该定向可以基于交换机的输入需求。该定向可以是有线和/或无线的。该定向可以是直接和/或间接的。该定向可以加密和/或不加密。
步骤108包括将所述第二字符串定向输入到所述交换机中。该定向可以包括将第二字符串中的至少一个输入到交换机中。或者,该定向可包括将第二字符串中的至少一个发送到交换机中。或者,该定向可以包括通过所述交换机接收所述第二字符串中的至少一个。或者,该定向可以包括将第二字符串中的至少一个传送到交换机中。该定向可以基于交换机的输入需求,而不管与步骤106的任何执行有任何关系。步骤106和步骤108可以由至少一个实体同时并发和/或不同时执行。可以在步骤108之前或之后执行步骤106。该定向可以是有线和/或无线的。该定向可以是直接和/或间接的。该定向可以加密和/或不加密。
步骤110包括在第一模式和第二模式之间周期性地切换所述交换机。所述交换机可以是基于硬件例如电路和/或基于软件的。所述交换机可以是A/B交换机。或者,所述交换机可以是A/B/n交换机,其中n对应于所述交换机可以在其间切换的多个模式,其可以是任何数量的,如五个,七个,九个,二十个等。周期性可以是基于任何时间段的,例如毫秒,秒,分钟,小时等。这种周期性切换是自动的。此类周期对应于交换机的模式持续时间。所述切换基于时钟,振荡器,处理器以及硬件和/或软件逻辑。例如,这种切换基于时钟每30秒进行一次。因此,每30秒,A/B交换机迭代地从第一模式切换到第二模式并且从第二模式切换到第一模式。类似地,每30秒,A/B/n交换机迭代地从第一模式切换到第二模式,从第二模式切换到第n模式,以及从第n模式切换到第一模式。可以在步骤102-108中的任意和/或所有步骤之前、同时并发和/或不同时执行步骤110。
步骤112包括在第一模式下通过交换机输出第一字符串中的一个。例如,当第一字符串中的一个是101001时,则在第一模式下,交换机输出101001。可在第一模式下输出多个字符串。
步骤114包括基于第一字符串的输出来进行身份验证/控制访问。因此,当交换机输出101001时,则验证身份/控制访问是基于密码101001的正确输入,无论其是二进制形式和/或其他形式,例如字母数字,符号,生物识别等。步骤112和步骤114可以由至少一个实体同时和/或在不同时执行。可以在步骤114之前或之后执行步骤112。
步骤116包括在第二模式下通过交换机输出第二字符串中的一个。例如,当第二字符串中的一个是101001001时,则在第二模式下,交换机输出101001001。可在第二模式下输出多个字符串。
步骤118包括基于第二字符串的输出来身份验证/控制访问。因此,当交换机输出101001001时,则验证身份/控制访问是基于密码101001001的正确输入,无论其是二进制形式和/或其他形式,例如字母数字,符号,生物识别等。步骤116和步骤118可以由至少一个实体同时并发和/或不同时执行。可以在步骤118之前或之后执行步骤116。可以在步骤116和/或步骤118的任意和/或所有步骤之后执行步骤112和/或步骤114的任意和/或所有步骤。
利用本文中的示例,当交换机从第二模式切换回第一模式时,则所述交换机输出解析的第一字符串中的下一个。因此,在第一模式下的交换机的下一次迭代中,所述交换机输出001011。类似地,当交换机再次切换到第二模式时,则交换机输出解析的第二字符串中的下一个。因此,在第二模式下的交换机的下一次迭代中,所述交换机输出011110011。由于这样的输出具有密码功能,因此身份认证/访问控制是基于切换密码的,当其例如在计算机系统中实现时,可以增强计算机系统的安全性。其结果是,输出这类代码的计算机可以被身份验证和/或授权访问,因为在不了解原始技术规范的情况下,无法计算和/或再现这种结构,其中,所述原始技术规范可以例如通过提供字符序列和子序列生成方法预先预编程。由于字节的变化,这种身份验证/访问控制可以便于新的计算机语言的创建。
需注意的是,位流可以被解析成两个以上大小相等的字符串。例如,所述位流可以被分成任意数位的大小相等的字符串,例如三个、九个、十个、二十个等等。所述交换机可以在两种以上的模式之间切换。例如,所述交换机可以在多种模式,例如三种,九种,十种,二十种等之间切换。因此,所述交换机可以基于多个模式中的多个大小相等的字符串来进行输出。这种交换机输出可用于基于多个字符串的身份验证/控制访问。还需注意的是,交换机可以是本地的,例如计算机的一部分,也可以是与计算机相同的区域,或者所述交换机可以是远程的,例如可通过计算机进行网络访问。请注意,交换机也可以在计算机之间共享。
图2示出了本发明的用于增加计算机安全性的方法的示例实施方式的流程图。上文中描述了该图的一些元件。因此,相同的附图标记表示与上文相同或相似的部件,为了避免复杂化,在下文中将省略或简化其任何重复的详细描述。
图中示出了位流202。所述流202包含多个位。流202被解析成多个大小相等的第一字符串204和多个大小相等的第二字符串206。所述解析可以通过至少一个振荡器/时钟来进行,例如一个振荡器/时钟根据某一频率操作并解析成字符串204,而另一振荡器/时钟根据另一频率操作并解析成字符串206。字符串204基于六位分段解析而成,而字符串206基于九位分段解析而成。因此,字符串204和字符串206的位大小不同并且具有不同的字符串值。然而,这种分段可以基于任意数位大小和/或可以共享至少一个值。可以由至少一个实体同时并发和/或不同时进行解析成字符串204和206。需注意的是,位流202可以是整个位流或某些位流的一部分。
字符串204中的每一个被唯一地分配给多个第一时间段。这种分配可以在一对一,一对多,多对一和/或多对多的基础上进行。例如,每个字符串204唯一地一对一对应于第一时间段中的每一个,例如每个字符串1秒。类似地,每个字符串206被唯一地分配给多个第二时间段。这种分配可以在一对一,一对多,多对一和/或多对多的基础上进行。例如,每个字符串206唯一地一对一对应于每个第二时间段,例如每个字符串1/2秒。需注意的是,第一时间段和第二时间段从相同的参照点或时间零开始。请注意,字符串204和字符串206包含于至少两台不同的计算机。
然后将字符串204和字符串206定向输入到交换机208中。如图所示,交换机208可以是在第一模式A和第二模式B之间每30秒来回自动转换的A/B交换机。然而,交换机208可以根据任意数量的模式进行模态,且交换机208可以迭代本文描述的这些模式。此外,交换机208可以接收来自其他输入的输入,而不管这些输入与本文中描述的技术相关和/或无关。字符串204和字符串206可以由至少一个实体以任何方式定向,无论是同时并发和/或非同时。至少一个字符串204以及至少一个字符串206由至少一个实体输入到交换机208中,无论是同时并发和/或非同时。交换机208可以基于任意时间度量,如纳秒,毫秒,秒,分钟,小时等来进行任意时间段的转换。交换机208可自动转换,其可包括手动初始激活。交换机208基于时钟,振荡器,处理器以及硬件和/或软件逻辑进行切换。如图所示,交换机208基于时钟每30秒切换一次。因此,对于每30秒,A/B交换机迭代地从第一模式切换到第二模式并且从第二模式切换到第一模式。需注意的是,可以基于先进先出(FIFO)方法输入到交换机中。
多个时间段212可以是基于如参考字符串204以及字符串206所示的第一时间段和第二时间段的组合。时间段212可以基于不同的时间度量,例如与字符串204相关的时间是基于秒,而与字符串206相关的时间是基于毫秒。这种不同的时间度量可以是任意类型的。
当交换机208处于可以是A模式的第一模式时,然后在时间段212中所示的12:00:00处,交换机208输出字符串204中的一个,如图所示为101001。基于这种输出,来执行身份验证/控制访问。例如,在第一模式期间,密码210可以是101001或其值,例如在十进制或十六进制系统中,无论是二进制形式和/或其他形式,如字母数字,符号,生物识别等。
在时间段212中所示的12:00:30处,交换机208转换到第二模式,其可以是B模式。在所述第二模式期间,交换机208输出字符串206中的一个,如图所示为101001001。基于这种输出,执行身份验证/控制访问。例如,在第二模式期间,密码210可以是101001001或其值,例如在十进制或十六进制系统中,无论是二进制形式和/或其他形式,例如字母数字,符号,生物识别等。
在时间段212中所示的12:01:00处,交换机208转换回第一模式,其可以是A模式。在所述第一模式中,交换机208输出字符串206中的下一个,如图所示为001011。基于这种输出,可以执行身份验证/控制访问。例如,在所述第一模式中,密码210可以是001011或其值,例如在十进制或十六进制系统中,无论是二进制形式和/或其他形式,例如字母数字,符号,生物识别等。这种交换机208转换可以无限期地继续或直到满足某些条件。由于密码210随着时间段212所代表的时间而切换,因此可以增强计算机系统的安全性。
注意,可以将位流202解析为两个以上的同等大小的字符串。例如,位流202可以分成任意数量的大小相等的字符串,例如三个,九个,十个,二十个等等。交换机208可以在两种以上的模式之间切换。例如,交换机208可以在多种模式,例如三种,九种,十种,二十种等之间切换。因此,交换机208可以基于多个模式中的多个大小相等的字符串输出。这种交换机208输出可用于通过基于所述多个字符串的密码210进行身份验证/控制访问。
例如,流202和多个不同的流分段算法例如通过预编程被提供给多台计算机。每台计算机基于该算法对流202进行分段,以产生字符串204和字符串206,这些字符串基于算法在大小和/或值上彼此不同。字符串204和字符串206输入到在多个模式之间交替的本地交换机208。计算机彼此基于密码210进行通信,其中,所述密码210基于交换机的交替切换而改变。基于来自字符串204和字符串206的交替输入,根据时间段212周期性地改变密码210。所述输入是根据模式之间的交替切换而交替进行的。对于计算机而言,密码210的改变,可以是同步的,例如基于交换机208的交替,但也可以是不同步的。此外,对于计算机而言,需注意的是,字符串204和字符串206的生成中的至少一个,可以是同步的,例如基于时钟,但也可以是不同步的。此外,对于计算机,请注意,对交换机208的输入,可以是同步的,例如基于时钟,但也可以是不同步的。
图3示出了本发明的网络的示例性实施方式的示意图。该图中的一些元件如上所述。因此,相同的附图标记表示与上述相同或相似的部件,并且为避免复杂化,在下文中将省略或简化其任何重复的详细描述。
网络图300示出了与至少一台式计算机304,平板电脑306,移动电话308,笔记本电脑310,主机312,服务器314,云计算网络316,通信塔318,卫星320,另一网络322以及网络设备324通信的网络300。这种通信可以是直接的和/或间接的,有线的和/或无线的,加密的和/或未加密的。网络302和/或网络322可以包括因特网。可以包括网络图300中所示的任意元件的一个以上的示例。网络图300中示出的任意和/或所有元件可以以任何方式与网络图300中示出的任意和/或所有元件通信,无论是有线还是无线的方式。任何和/或所有此类通信都可以使用如参考图1和图2所述的技术以任何方式执行。例如,根据第一振荡器的第一频率以第一方式接收和解析位流,并且根据第二振荡器的第二频率以不同于第一方式的第二方式解析位流。合并第一振荡器和第二振荡器的输出并用作交换机在网络设备所关注的交替输出字符串间切换。当这种输出合并到网络通信中时,如果通信网络设备之间的输出不相同,则由于身份验证/访问控制条件的改变而不允许这种网络通信。
在一些示例性实施方式中,本发明所公开的技术可以便于字节的变化。其结果是,振荡/时钟信号通过将位流解析为各种位长来改变位流的分段位长,以用与网络设备不同的编码长度来重新解译位流,其中,所述网络设备将位流解译为8位、16位和/或64位增量。位流增量的长度基于振荡器/时钟频率。至少两个振荡器/时钟与第一振荡器/时钟一起使用以产生解析或位分段,并且,第二振荡器/时钟与正确解译解析的第一时钟同步。在不知道第一个时钟的频率的情况下,信号的接收器将无法使用标准的8位解析正确地解译信号。因此,当一对具有不同频率的振荡器/时钟被合并而且合并它们的振幅时,这种合并就会产生一个新的波形模式,该模式看起来是随机的,但最终会重复。所述时钟可以是原子钟,晶体时钟,机械钟等。在一些示例性实施方式中,无论网络设备如何,这种技术都可以与识别码相结合,以创建更安全的网络设备访问。
图4示出了本发明的用于加强计算机安全性的方法的另一示例性实施例的流程图。该图中的一些元件如上所述。因此,相同的附图标记表示与上述相同或相似的部件,并且为避免复杂化,在下文中将省略或简化其任何重复的详细描述。
方法400包括步骤402-416。方法400用于使用变量查找表和/或字长来编码和解码逻辑。方法400可以通过例如在任何硬件级上的一个和/或多个电路中的硬件逻辑和/或例如在一个和/或多个软件应用程序中的软件逻辑的任意组合来实现,其中,所述软件应用程序可以在操作系统级以下、其上和/或以上实现。方法400可以在请求-响应计算中实现。无论与计算机安全性有何关系,方法400都可以是更大方法的一部分。例如,可以在执行方法400的任何一个和/或多个步骤之前、期间和/或之后进行各种功能。或者,方法400可以自己执行。尽管可以按照这里描述的顺序执行步骤402-416,但是步骤402-416可以以其他顺序执行,其中,一些步骤在任意排列的其它步骤之前,期间和/或之后执行。而且,需注意的是,方法400可以用密码输入来实现,其中,密码输入可以至少部分地基于字母数字输入,符号输入,生物识别输入,硬件输入和/或其他。然而,也可以在不使用密码的情况下实现方法400。
在步骤402中,提供了多个变量。这种提供可以是手动的和/或自动的,加密的和/或未加密的,有线的和/或无线的,直接的和/或间接的。请注意,可以使用任意数量的变量。例如,提供变量A,变量B和变量C,其中变量A设置为17,变量B设置为13,变量C设置为24。注意,所述变量在一个数字系统中,但在其他实施方式中,所述变量在不同的数字系统中。
在步骤404中,提供了查找表。这种提供可以是手动的和/或自动的,加密的和/或未加密的,有线的和/或无线的,直接的和/或间接的。该表通过与字母数字库对应的多个十进制值索引符号库,例如字母数字库。例如,下面提供了查找表。注意,也可以使用其他类型的查找表和不同的索引库,例如通过其他符号,其他数字系统等。
查找表
1 | a | 14 | n |
2 | b | 15 | o |
3 | c | 16 | p |
4 | d | 17 | q |
5 | e | 18 | r |
6 | f | 19 | s |
7 | g | 20 | t |
8 | h | 21 | u |
9 | i | 22 | v |
10 | J | 23 | w |
11 | K | 24 | x |
12 | L | 25 | y |
13 | m | 26 | z |
27 | - |
在步骤406中,经由查找表将消息转换为第一数字系统。这种转换是自动的,可以用于任何类型的数字系统。可以手动和/或自动生成消息,例如用于电信。消息是文本格式的,但也可以是任何类型。例如,如果消息是hello_world,则通过查找表将消息转换为十进制系统,使得h=8,e=5,l=12,l=12,o=15,_=27,w=23,o=15,r=18,l=12,d=4。
在步骤408中,通过第一数字系统显示的消息被转换成与第一系统不同的第二数字系统。这种转换是自动的,无论是直接和/或间接的,并且可以用于任何类型的数字系统,例如十六进制系统。使用上面的例子,其中h=8,e=5,l=12,l=12,o=15,_=27,w=23,o=15,r=18,l=12,d=4,然后这些值被转换成与十进制系统不同的二进制数字系统。因此,使用8位字符串,转换结果为0000 1000对应于h=8,0000 0101对应于e=5,0000 1100对应于l=12,0000 1100对应于l=12,0000 1111对应于o=15,0001 1011对于_=27,00010111对应于w=23,0000 1111对应于o=15,0001 0010对应于r=18,0000 1100对应于l=12,0000 0100对应于d=4。请注意,字符串也可以是其他位大小,例如4,16以及其它。
在步骤410,通过第二数字系统所显示的消息被合并成字符序列。这种合并是自动的,无论是直接和/或间接的。使用上述包含字符串0000 1000,0000 0101,0000 1100,00001100,0000 1111,00011011,0001 0111,0000 1111,0001 0010,0000 1100,0000 0100的示例,然后将字符串合并成字符序列
00001000000001010000110000001100000011110001101100010111
00001111000100100000110000000100。
在步骤412,通过交替分段步骤402的至少两个变量,来生成多个子序列。这种生成都是自动的,无论其是直接和/或间接的。使用上面包含序列
0000100000000101000011000000110000001111000110110001011100001111000100100000110000000100的示例,并且变量A设置为17以及变量B设置为13,则通过交替变量来生成所述子序列以分段流。因此,所述序列
00001000000001010000110000001100000011110001101100010111
00001111000100100000110000000100通过交替变量A和变量B进行分段,从而使得子序列通过交替产生,并且根据基于变量A和变量B的交替相应地调整大小。其结果是,子序列为0000 1000 0000 01010(根据变量A为17位),0001 1000 00011(根据变量B为13位),0000 0011 1100 01101(根据变量A为17位),1000 1011 10000(根据变量B为13位),11110001 0010 00001(根据变量A为17位)以及1000 0000 100(根据变量B为11位)。
在步骤414,利用通过步骤402提供的、与如上所述的已使用的变量不同的至少一个变量将所述子序列转换成其它子序列。由于所述至少一个变量的值与已经使用的变量不同,则这种转换导致其他子序列具有与步骤412生成的子序列不同的长度。无论是直接和/或间接地,这种转换都是自动的。
使用上面的示例,其中子序列0000 1000 0000 01010,0001 1000 00011,00000011 1100 01101,1000 1011 10000,11111 0001 0010 00001和1000 0000 100是基于变量A和变量B的,然后将此类子序列转换为使用变量C的其他子序列,其中,变量C设置为24。所述转换是基于变量C和每个子序列的长度之间的差异。例如,通过在17位子序列中添加7位得到总计24位子序列来将基于变量A的17位子序列转换为基于变量C的24位子序列。类似地,通过在13位子序列中添加11位得到总计24位子序列来将基于变量B的13位子序列转换为基于变量C的24位子序列。因此,其它子序列产生与经由步骤412生成的子序列不同的位长。其结果是,通过添加与变量C和旧子序列的相关字符串长度,如17或13之间的差异相对应的位来转换,其它子序列是0000 0000 0001 0000 0000 1010,0000 0000 0000 00110000 0011,0000 0000 0000 1111 1000 1101,0000 0000 0001 0001 0111 0000,00000001 1110 0010 0100 0001和0000 0000 0000 0100 0000 0100。需注意的是,在其他实施方式中,至少一个变量与已经使用的变量中的至少一个不同。
在步骤416,发送其他子序列。这种传输可以是手动和/或自动,直接和/或间接,无线和/或有线,加密和/或未加密的。
对于基于方法400的解码,使用上面的示例,然后从所接收的流
00000000000100000000101000000000000000110000001100000000000011111000110
1000000000001000101110000000000011110001001000001000000000000010000000100开始。然后,基于变量C将所接收的流转换为字长,其中,所述变量C为24。该转换的结果是0000 0000 0001 0000 0000 1010,0000 0000 0000 0011 0000 0011,0000 00000000 1111 1000 1101,0000 0000 0001 0001 0111 0000,0000 0001 1110 0010 01000001,和0000 0000 0000 0100 0000 0100。然后,使用变量A和B从每个字中删除所添加的位,其结果是0000 1000 0000 01010,0001 1000 00011,0000 0011 1100 01101,10001011 10000,1111 0001 0010 00001,1000 0000 100。然后,删除任何间距,其结果是
00001000000001010000110000001100000011110001101100010111000011110001001
00000110000000100。然后,将所述流分段为8位码字,其结果是0000 1000,00000101,0000 1100,0000 1100,0000 1111,0001 1011,0001 0111,0000 1111,0001 0010,0000 1100,0000 0100。然后,将码字转换为十进制等值,其结果为8,5,12,12,15,27,23,15,18,12,4。然后,使用查找表并替换为hello_world。
可变字长编码
除了增加安全性外,可变字长编码可以用于编码。在一些情况下,可变字长编码可用于更有效或更高解析度的编码。如本领域普通技术人员将理解的,二进制码字是位的集合,其一起表示例如单元,数字,字母或符号。在一些应用中,较短的字长可能缺乏足够的解析率,而较长的字长可能需要过多的处理能力和存储容量来完成给定的任务。在某些情况下,可变字长编码可以解决这些以及其他限制。
图5示出了本发明的可变字长编码的示例性实施方式的流程图。方法500包括步骤502-510。方法500用于使用变量查找表和/或字长来编码和解码逻辑。方法500可以通过例如在任何硬件级上的一个和/或多个电路中的硬件逻辑和/或例如在一个和/或多个软件应用程序中的软件逻辑的任意组合来实现,其中,所述软件应用程序可以在操作系统级以下、其上和/或以上实现。方法500可以在请求-响应计算中实现。无论与计算机安全性有何关系,方法500都可以是更大方法的一部分。例如,可以在执行方法500的任何一个和/或多个步骤之前、期间和/或之后进行各种功能。或者,方法500可以自己执行。尽管可以按照这里描述的顺序执行步骤502-510,但是在一些情况下,步骤502-510中的一些步骤可以其他顺序执行,其中,一些步骤在任意排列的其它步骤之前,期间和/或之后执行。
在步骤502中,确定默认字长。这种确定可以是手动的(例如,由用户设置)和/或自动的(例如,由处理器确定)。在某些情况下,可以为程序设置默认字长。例如,默认字长可以是但不限于8位,16位或24位。
在步骤504中,可以以默认字长模式输出默认字长的二进制字。例如,在默认字长为8的情况下,可以输出美国信息交换标准码(ASCII)表中的字符。
在步骤506中,可以输出默认字长的预设二进制转换字,以指示转换到可变字长模式。例如,当在默认字长模式下输出ASCII字符的情况下,可以输出未在ASCII表中使用的十进制141,以指示转换到可变字长模式。
在步骤508中,可以输出在代表后续位流的字长的转换字之后的二进制长度字。在一些情况下,所述长度字可以明确地指定后续位流的字长,即,长度字是后续位流的字长的数量,或者代表性地例如参考指示字长的表。
在步骤510,输出指示字长的字位流,并在每个字的开头加上一个附加标志位。所述标志位可以指示下一个字是流中的字还是字长的变化。例如,当标志位为0时,后续字是流中的字,以及,当标志位为1时,后续字可以是另一长度字。如果长度字是退出字,例如全是零,则所述模式可以转换到默认字长模式。但是,这只是一个例子。在某些情况下,标志位为1可能表示下一个字是另一个长度字。在其他情况下,标志位为1可以表示转换到默认字长模式,并且当前字或下一个字可以是默认字长,这取决于实施方式。
作为非限制性示例,假设默认字长是表示ASCII字符的8位,转换字是十进制141,长度字是16位长并且明确地指示后续位流的字长,以及标志位为1指示后续字是另一个长度字。在此示例中,输出2个ASCII字符,3个4位字,2个5位字和又3个ASCII字符。这种情况的示例性输出如下表1所示:
表1
图6示出了本发明的可变字长编码的另一示例性实施方式的流程图。方法600包括步骤602-610。方法600用于使用变量查找表和/或字长来编码和解码逻辑。方法600可以通过例如在任何硬件级上的一个和/或多个电路中的硬件逻辑和/或例如在一个和/或多个软件应用程序中的软件逻辑的任意组合来实现,其中,所述软件应用程序可以在操作系统级以下、其上和/或以上实现。方法600可以在请求-响应计算中实现。无论与计算机安全性有何关系,方法600都可以是更大方法的一部分。例如,可以在执行方法600的任何一个和/或多个步骤之前、期间和/或之后进行各种功能。或者,方法600可以自己执行。尽管可以按照这里描述的顺序执行步骤602-610,但是在一些情况下,步骤602-610中的一些步骤可以其他顺序执行,其中,一些步骤在任意排列的其它步骤之前,期间和/或之后执行。
在步骤602中,确定默认字长。这种确定可以是手动的(例如,由用户设置)和/或自动的(例如,由处理器确定)。在某些情况下,可以为程序设置默认字长。例如,默认字长可以是但不限于8位,16位或24位。
在步骤604中,可以以默认字长模式输出默认字长的二进制字。例如,在默认字长为8的情况下,可以输出美国信息交换标准码(ASCII)表中的字符。
在步骤606中,可输出默认字长的预定二进制转换字,以指示转变为可变字长模式。例如,当在默认字长模式下输出ASCII字符的情况下,可以输出未在ASCII表中使用的十进制143,以指示转换到可变字长模式。
在步骤608中,输出字的位流,其中每个字的开头处的密钥指示字的长度。所述密钥可以是任何数位的位,例如3,并且可以映射到指定的字长。在某些情况下,密钥可能是不可变的。在某些情况下,报头可以指示密钥。例如,报头可以指示与两位密钥对应的字长值。
在步骤610中,可以输出退出字,指示转换回默认字长模式。例如,当在默认字长模式下输出ASCII字符的情况下,当密钥指示8位字时,可输出未在ASCII表中使用的十进制143,以指示转换为可变字长模式。
作为非限制性示例,考虑这样的情况:默认字长是表示ASCII字符的8位,转换字是十进制142,退出字是八位字中的十进制143,并且密钥是使用以下密钥的三位:
密钥 | 字长 |
000 | 8-位字 |
001 | 16-位字 |
010 | 24-位字 |
011 | 32-位字 |
100 | 48-位字 |
101 | 64-位字 |
110 | 128-位字 |
111 | 256-位字 |
在此示例中,输出2个ASCII字符,1个64位字,2个16位字和又3个ASCII字符。该情况的示例性输出如下表2所示:
表2
在一些情况下,可以在每个字的开头添加指示字长的密钥,并且可以不确定默认字长。换句话说,每个字都有一个表示字长的密钥。如上文参考图6所讨论的实施例那样,密钥可以是任意数量的位。
作为非限制性示例,考虑一情况:密钥是使用以下密钥的三位:
<u>密钥</u> | <u>字长</u> |
<u>000</u> | <u>8-位字</u> |
<u>001</u> | <u>16-位字</u> |
<u>010</u> | <u>24-位字</u> |
<u>011</u> | <u>32-位字</u> |
<u>100</u> | <u>48-位字</u> |
<u>101</u> | <u>64-位字</u> |
<u>110</u> | <u>128-位字</u> |
<u>111</u> | <u>256-位字</u> |
在该示例中,输出2个8位字符,1个64位字,2个16位字和又3个8位字符。该情况的示例性输出如下表3所示:
表3
通过将表3与表2进行比较可以看出,在一些实施方式中,因为没有默认字长模式,所以没有使用转换字或退出字来转换到可变字长模式。
在某些情况下,二进制长度字可以表示每一字序列之前的后续位流的字长,并且在每个字的开始处可包括一附加标志位,以指示下一字是所述流中的字还是字长的变化。如上文参考图5所讨论的实施方式那样,所述长度字可以明确地指定后续位流的字长,即,长度字是后续位流的字长的数量,或者代表性地例如参考指示字长的表。
作为非限制性示例,考虑这样的情况:所述长度字是16位长并明确指示后续位流的字长的情况,以及标志位1指示后续字是另一长度字。在该示例中,输出2个8位字,3个4位字,2个5位字和又3个8位字。这种情况的示例性输出如下表4所示:
表4
通过将表4与表1进行比较可以看出,在一些实施方式中,因为没有默认字长模式,所以没有使用转换字来转换到可变字长模式。
基于可变字长编码的使用,可以更快地发送和处理位流,文件大小可能更小,并且在必要时可以提供更高的解析率。在某些情况下,可以预先设置默认字长。在一些情况下,可以扫描文件,并且可以设置字长,如默认字长以提高压缩。在一些情况下,可以扫描文件并可以优化默认字长和可变字长。在一些情况下,可以不设置默认字长,并且可以仅在可变字长模式下执行编码。
如本领域技术人员将理解的,本发明的各方面可以体现为系统,方法或计算机程序产品。因此,本发明的各方面可以采取完全硬件的实施方式,完全软件的实施方式(包括固件,驻留软件,微代码等)或软件和硬件相结合的实施方式,所有这些方面通常都可以被称为这里称为“电路”,“模块”或“系统”。此外,本发明的各方面可以采取体现在一个或多个具有计算机可读程序代码的计算机可读介质中的计算机程序产品的形式。
可以使用一个或多个计算机可读介质的任何组合。所述计算机可读介质可以是计算机可读信号介质或计算机可读存储介质(包括但不限于非暂时性计算机可读存储介质)。计算机可读存储介质可以是,例如但不限于电子、磁性、光学、电磁、红外或半导体系统,装置或设备,或者前述的任何合适的组合。所述计算机可读存储介质的更具体示例(非详尽列表)可包括以下内容:具有一条或多条电线的电连接,便携式计算机磁盘,硬盘,随机存取存储器(RAM),只读存储器(ROM),可擦除可编程只读存储器(EPROM或闪存),光纤,便携式光盘只读存储器(CD-ROM),光学存储设备,磁存储设备或上述任何的适当组合。在本文中,计算机可读存储介质可以是包含或存储由指令执行系统、装置或设备使用或与之相关的程序的任何有形介质
计算机可读信号介质可以包括传播数据信号,其中,所述传播数据信号具有包含在其中的计算机可读程序代码,例如,在基带中或作为载波的一部分。这种传播信号可以采用多种形式中的任何一种,包括但不限于电磁,光学或其任何合适的组合。计算机可读信号介质可以是非计算机可读存储介质,并且可以通信、传播或传输以供指令执行系统、装置或设备使用或与之相关的程序的任何计算机可读介质。
计算机可读介质上包含的程序代码可以使用任何适当的介质传输,包括但不限于无线,有线,光纤电缆,RF等,或者前述的任何合适的组合。
用于执行本发明的各个方面的操作的计算机程序代码可以以一种或多种编程语言的任何组合来编写,其中,所述编程语言包括诸如Java,Smalltalk,C++等面向对象的编程语言以及传统的过程编程语言,如“C”编程语言或类似的编程语言。其他类型的语言包括XML,XBRL和HTML5。程序代码可以全部在用户的计算机上执行,部分在用户的计算机上执行,作为独立的软件包,部分在用户的计算机上,部分在远程计算机上或完全在远程计算机或服务器上执行。在后一种情况下,远程计算机可以通过任何类型的网络,包括局域网(LAN)或广域网(WAN)连接到用户的计算机,或者可以(例如,通过互联网使用互联网服务提供商)连接到外部计算机。
下面参考根据本发明的实施方式的方法,装置(系统)以及计算机程序产品的流程图和/或框图来描述本发明的各方面。流程图和/或框图的每个框以及流程图和/或框图中的框的组合可以由计算机程序指令实现。这些计算机程序指令可以被提供给通用计算机,专用计算机或其他可编程数据处理装置的处理器以产生机器,使得通过计算机或其他可编程数据处理装置的处理器执行的指令,创建用于实现流程图和/或框图的框中指定的功能/动作的方法。
这些计算机程序指令还可以存储在计算机可读介质中,该计算机可读介质可以指示计算机,其他可编程数据处理装置或其他设备以特定方式工作,使得存储在计算机可读介质中的指令产生包括能实现流程图和/或框图的框中指定的功能/动作的指令的制品。
所述计算机程序指令还可以被加载到计算机、其他可编程数据处理装置或其他设备上,以使一系列操作步骤在所述计算机、其他可编程装置或其他设备上执行,从而产生由计算机实现的处理,使得在计算机或其他可编程装置上执行的指令提供用于实现在流程图和/或框图的框中指定的功能/动作的处理。
附图中的流程图和框图根据本发明的各种实施方式,示出了系统,方法以及计算机程序产品的可能实现的架构,功能和操作。在这方面,流程图或框图中的每个框可以表示代码的模块,片段或部分,其包括用于实现指定的逻辑功能的一个或多个可执行指令。还应注意的是,在一些替代实施方式中,框中提到的功能可以不按图中所示的顺序发生。例如,顺序示出的两个方框实际上可以基本上同时执行,或者有时可以以相反的顺序执行这些框,这取决于所涉及的功能。框图和/或流程图图示的每个框以及框图和/或流程图图示中的框的组合,可以由执行特定功能或动作的专用硬件系统或专用硬件和计算机指令的组合来实现。
所附权利要求中的所有装置或步骤和功能元件的相应结构、材料、动作以及等同物旨在包括结合其他要求保护的元件执行与具体要求保护的元件执行相同功能的任何结构、材料或动作。已经出于示例性以及说明性的目的对本发明进行了描述,但是并不旨在穷举或将本发明限制于所公开的形式。在不脱离本发明的范围和精神的情况下,许多修改和变化对于本领域普通技术人员将是显而易见的。所选择和描述的实施方式是为了更好地解释本发明的原理和实际应用,并且使本领域的其他技术人员能够理解本发明的各种实施方式,并根据所设想的具体用途进行各种修改。
本文所示的流程图仅是示例。在不脱离本发明的精神的情况下,可以对该图或其中所示的步骤(或操作)进行许多变化。例如,可以以不同的顺序执行步骤和/或可以添加,删除和/或修改步骤。所有这些变化都被认为是要求保护的发明的一部分。
虽然已经描述了本发明的优选实施方式,但无论是现在还是将来,本领域技术人员所作出的各种改进和/或改善,均落入所附权利要求的范围内。这些权利要求应被解释为保持对本发明首次描述的内容的适当保护。
Claims (83)
1.一种安全传输数据的方法,其特征在于,其包括:
获取包含第一值序列的未加密数据流;
将所述第一值序列的第一部分分割成具有与第一变量相等字长的原始第一字;
将所述第一值序列的第二部分分割成具有不同于第一变量的字长等于第二变量的原始第二字;
在所述原始第一字和所述原始第二字中的预定位置插入随机值,以生成修改后的第一字和修改后的第二字,所述修改后的第一字和所述修改后的第二字具有不同于所述第一变量和所述第二变量的与第三变量相等的字长;以及
将所述修改后的第一字和所述修改后的第二字合并成定义加密数据流的第二值序列。
2.根据权利要求1所述的方法,其特征在于:所述第一值序列中的每个值都是二进制值。
3.根据权利要求1所述的方法,其特征在于:所述第一值序列中的每个值都是十六进制值。
4.根据权利要求1所述的方法,其特征在于:所述方法由与生成所述未加密数据流的计算机不同的远程计算机执行。
5.根据权利要求1所述的方法,其特征在于:还包括将所述加密数据流发送到目标设备。
6.根据权利要求5所述的方法,其特征在于:所述第一变量、所述第二变量和所述第三变量是目标设备已知的。
7.根据权利要求1所述的方法,其特征在于:所述第一变量、所述第二变量和所述第三变量随时间的变化而变化。
8.根据权利要求1所述的方法,其特征在于:还包括解密所述加密数据流;其包括:
获取包括所述第二值序列的所述加密数据流;
将所述第二值序列的至少一部分分割成所述修改后的第一字和所述修改后的第二字,所述修改后的第一字和所述修改后的第二字具有等于所述第三变量的字长;
去除所述修改后的第一字和所述修改后的第二字中的预设位置处的值,以生成具有字长等于所述第一变量的所述原始第一字和具有字长等于所述第二变量的所述原始第二字;
将所述原始第一字和所述原始第二字合并成定义所述未加密数据流的所述第一值序列。
9.一种解密数据的方法,其包括:
获取包括第二值序列的加密数据流;
将所述第二值序列的至少一部分分割成修改后的第一字和修改后的第二字,所述修改后的第一和第二字具有等于第三变量的字长;
去除所述修改后的第一和第二字中的预设位置处的值,以生成具有字长等于第一变量的原始第一字和具有字长等于第二变量的原始第二字;
将所述原始第一字和所述第二字合并成定义未加密数据流的第一值序列。
10.根据权利要求9所述的方法,其特征在于:所述第一值序列中的每个值都是二进制值。
11.根据权利要求9所述的方法,其特征在于:所述第一值序列中的每个值都是十六进制值。
12.根据权利要求9所述的方法,其特征在于:还包括将所述未加密数据流传输到远程计算机。
13.根据权利要求9所述的方法,其特征在于:还包括从源设备接收所述加密数据流。
14.根据权利要求13所述的方法,其特征在于:所述第一变量、所述第二变量和所述第三变量是所述源设备已知的。
15.根据权利要求9所述的方法,其特征在于:所述第一变量、所述第二变量和所述第三变量随时间的变化而变化。
16.一种方法,其包括:
将数据的第一部分解析成具有默认第一字长的至少一个第一数据字;
在默认字长模式下输出所述至少一个第一数据字;
输出指示向可变字长模式转换的转换字;
在所述转换字后输出指示第二字长的第一字长字;
将所述数据的第二部分解析成具有所述第二字长的至少一个第二数据字;以及
在所述第一字长字后输出所述具有所述第二字长的至少一个第二数据字。
17.根据权利要求16所述的方法,其特征在于,还包括:
输出与所述至少一个第二数据字中的每一个相对应的相应标志位,所述相应标志位指示所述至少一个第二数据字中相对应的第二数据字是否是所述至少一个第二数据字中的最后一个第二数据字。
18.根据权利要求17所述的方法,其特征在于,还包括:
在相应标志位指示所述相对应的第二数据字为所述至少一个第二数据字中的最后一个第二数据字之后,输出指示第三字长的第二字长字;
将所述数据的第三部分解析成具有所述第三字长的至少一个第三数据字;以及
在所述第二字长字后输出所述具有所述第三字长的至少一个第三数据字。
19.根据权利要求17所述的方法,其特征在于:还包括:
在相应标志位指示所述相对应的第二数据字为所述至少一个第二数据字中的最后一个第二数据字之后,输出指示转换到默认字长模式的退出字;
将所述数据的第三部分解析成具有所述默认第一字长的至少一个第三数据字;以及
在所述退出字后输出所述具有所述默认第一字长的至少一个第三数据字。
20.根据权利要求19所述的方法,其特征在于:所述退出字的字长与所述第一字长字的字长相同。
21.根据权利要求16所述的方法,其特征在于,还包括:在所述至少一个第二数据字的每个第二数据字之后,立即输出指示该第二数据字是否为所述至少一个第二数据字中的最后一个第二数据字的相应标志位。
22.根据权利要求16所述的方法,其特征在于,还包括:输出紧接在所述至少一个第二数据字的每个第二数据字之前的、指示该第二数据字是否为所述至少一个第二数据字中的最后一个第二数据字的相应标志位。
23.根据权利要求16所述的方法,其特征在于:
所述默认第一字长为8位;
所述转换字为默认第一字长;以及
所述转换字未分配给ASCII字符。
24.根据权利要求16所述的方法,其特征在于:所述第一字长字明确指示所述第二字长。
25.根据权利要求16所述的方法,其特征在于:所述第一字长字具有映射到所述第二字长的值。
26.根据权利要求25所述的方法,其特征在于:所述第一字长字的所述值映射到标准表中的所述第二字长。
27.根据权利要求25所述的方法,其特征在于:输出指示映射到所述第二字长的所述第一字长字的所述值的报头。
28.一种方法,其包括:
将数据的第一部分解析成具有默认字长的至少一个第一数据字;
在默认字长模式下输出所述具有所述默认字长的至少一个第一数据字;
输出指示向可变字长模式转换的转换字;
在所述转换字后输出指示相应字长的至少一个字长字;
将所述数据的第二部分解析成至少一个第二数据字,所述至少一个第二数据字中的每一个具有相应字长;以及
在所述至少一个字长字中的每一个之后,输出所述至少一个第二数据字中的相对应的第二数据字,所述至少一个字长字中的每一个指示所述相对应的第二数据字的所述相应字长。
29.根据权利要求28所述的方法,其特征在于,还包括:
输出指示转换到所述默认字长模式的退出字;
将数据的第三部分解析成具有所述默认字长的至少一个第三数据字;以及
在所述退出字之后输出所述具有所述默认字长的至少一个第三数据字。
30.根据权利要求29所述的方法,其特征在于:在所述至少一个第二数据字的第二数据字之后立即输出所述退出字;以及
所述退出字的字长与所述至少一个字长字的字长相同。
31.根据权利要求28所述的方法,其特征在于:还包括:
输出指示退出字的字长的退出字长字;
在输出所述退出字长字之后输出指示转换到所述默认字长模式的退出字;
将数据的第三部分解析成具有所述默认字长的至少一个第三数据字;以及
在所述退出字之后输出所述具有所述默认字长的至少一个第三数据字。
32.根据权利要求31所述的方法,其特征在于:所述退出字的字长与所述至少一个字长字的字长相同。
33.根据权利要求28所述的方法,其特征在于:所述至少一个字长字中的每一个均具有映射到所述相应字长的相应值。
34.根据权利要求33所述的方法,其特征在于:所述至少一个字长字中的每一个的相应值映射到标准表中的所述相应字长。
35.根据权利要求33所述的方法,其特征在于:还包括输出指示被映射到所述相应字长的所述至少一个字长字中的每一个的所述相应值的报头。
36.一种方法,其包括:
输出多个字长字;
将数据解析成多个数据字,所述多个数据字中的每一个具有相应字长;以及
在所述多个字长字的每一个之后,输出所述多个数据字的相对应数据字,所述多个字长字中的每一个指示所述相对应数据字的所述相应字长。
37.根据权利要求36所述的方法,其特征在于:
所述多个字长字的第一字长字指示第一字长;
对应于所述第一字长字的所述多个数据字的第一数据字具有所述第一字长;
所述多个字长字的第二字长字指示不同于所述第一字长的第二字长;以及
对应于所述第二字长字的所述多个数据字的第二数据字具有所述第二字长。
38.根据权利要求36所述的方法,其特征在于:所述多个字长字中的每一个具有映射到相应字长的相应值。
39.根据权利要求38所述的方法,其特征在于:所述多个字长字中的每一个的相应值映射到标准表中的所述相应字长。
40.根据权利要求38所述的方法,其特征在于:还包括输出指示被映射到所述相应字长的所述多个字长字中的每一个的所述相应值的报头。
41.一种方法,其包括:
输出指示第一字长的第一字长字;
将数据的第一部分解析成具有所述第一字长的至少一个第一字;
在所述第一字长字之后,输出所述具有所述第一字长的至少一个第一数据字;
输出指示第二字长的第二字长字;
将所述数据的第二部分解析成具有所述第二字长的至少一个第二字;以及
在所述第二字长字之后,输出所述具有所述第二字长的至少一个第二数据字。
42.根据权利要求41所述的方法,其特征在于:还包括:
输出对应于所述至少一个第一数据字中的每一个的相应标志位,以指示所述至少一个第一数据字中的每一个是数据字;
输出对应于所述至少一个第二数据字中的每一个的相应标志位,以指示所述至少一个第二数据字中的每一个是数据字;以及
输出对应于所述第二字长字的标志位,以指示所述第二字长字是字长字。
43.根据权利要求41所述的方法,其特征在于,还包括:输出紧接在所述至少一个第一数据字中的每一个、所述第二字长字和所述至少一个第二数据字中的每一个之前的相应标志位,相应的第一标志位指示后续字是数据字还是字长字。
44.根据权利要求41所述的方法,其特征在于:还包括:
在所述至少一个第一数据字的每个第一数据字之前或之后输出指示相应的第一数据字是否为所述至少一个第一数据字的最后数据的相应标志位;以及
在所述至少一个第二数据字的每个第二数据字之前或之后输出指示相应的第二数据字是否为所述至少一个第二数据字的最后数据字的相应标志位。
45.根据权利要求41所述的方法,其特征在于:
所述第一字长字明确指示所述第一字长;以及
所述第二字长字明确指示所述第二字长。
46.根据权利要求41所述的方法,其特征在于:
所述第一字长字具有映射到所述第一字长的第一值;以及
所述第二字长字具有映射到所述第二字长的第二值。
47.根据权利要求46所述的方法,其特征在于:所述第一值和第二值分别映射到标准表中的所述第一字长和所述第二字长。
48.根据权利要求46所述的方法,其特征在于:输出指示映射到所述第一字长的所述第一值以及映射到所述第二字长的所述第二值的报头。
49.一种方法,其包括:
在默认字长模式下接收具有默认第一字长的至少一个第一数据字;
将所接收到的至少一个第一数据字合并为数据的第一部分;
接收表示转换到可变字长模式的转换字;
在所述转换字之后接收指示第二字长的第一字长字;
在所述第一字长字之后接收具有所述第二字长的至少一个第二数据字;以及
将所接收到的至少一个第二数据字合并为所述数据的第二部分。
50.根据权利要求49所述的方法,其特征在于,还包括:接收对应于所述至少一个第二数据字中的每一个的相应标志位,所述相应标志位指示所述至少一个第二数据字的相对应的第二数据字是否为所述至少一个第二数据字的最后一个第二数据字。
51.根据权利要求50所述的方法,其特征在于,还包括:
在指示所述相对应的第二数据字为所述至少一个第二数据字的最后一个第二数据字的相应标志位之后,接收指示第三字长的第二字长字;以及
在所述最后一个第二字长字之后接收具有所述第三字长的至少一个第三数据字;以及
将所接收到的至少一个第三数据字合并为所述数据的第三部分。
52.根据权利要求50所述的方法,其特征在于,还包括:
在指示所述相应的第二数据字为所述至少一个第二数据字的最后一个第二数据字的相应标志位之后,接收指示转换到所述默认字长模式的退出字;
在所述退出字之后接收具有所述默认第一字长的至少一个第三数据字;以及
将所接收到的至少一个第三数据字合并为所述数据的第三部分。
53.根据权利要求52所述的方法,其特征在于:所述退出字的字长与所述第一字长字的字长相同。
54.根据权利要求49所述的方法,其特征在于,还包括:在所述至少一个第二数据字的每个第二数据字之后,立即接收指示所述第二数据字是否为所述至少一个第二数据字的最后一个第二数据字的相应标志位。
55.根据权利要求49所述的方法,其特征在于,还包括:接收紧接在所述至少一个第二数据字的每个第二数据字之前的、指示所述第二数据字是否为所述至少一个第二数据字的最后一个第二数据字的相应标志位。
56.根据权利要求49所述的方法,其特征在于:
所述默认第一字长为8位;
所述转换字为所述默认第一字长;以及
所述转换字未分配给ASCII字符。
57.根据权利要求49所述的方法,其特征在于:所述第一字长字明确指示所述第二字长。
58.根据权利要求49所述的方法,其特征在于:所述第一字长字具有映射到所述第二字长的值。
59.根据权利要求58所述的方法,其特征在于:所述第一字长字的所述值映射到标准表中的所述第二字长。
60.根据权利要求58所述的方法,其特征在于:接收指示映射到所述第二字长的所述第一字长字的所述值的报头。
61.一种方法,其包括:
在默认字长模式下接收具有默认字长的至少一个第一数据字;
将所述至少一个第一数据字合并为数据的第一部分;
接收指示转换到可变字长模式的转换字;
在所述转换字之后,接收指示相应字长的至少一个字长字;
在所述至少一个字长字中的每一个之后接收相应第二数据字,所述至少一个字长字中的每一个指示所述相应第二数据字的相对应字长;以及
将所述至少一个第二数据字合并成所述数据的第二部分。
62.根据权利要求61所述的方法,其特征在于,还包括:
接收指示转换到所述默认字长模式的退出字;
在所述退出字之后接收具有所述默认字长的至少一个第三数据字;以及
将所述至少一个第三数据字合并成所述数据的第三部分。
63.根据权利要求62所述的方法,其特征在于:
在第二数据字之后立即接收所述退出字;以及
所述退出字的字长与所述至少一个字长字的字长相同。
64.根据权利要求61所述的方法,其特征在于:还包括:
接收指示退出字的字长的退出字长字;
在接收所述退出字长字之后,接收指示转换到所述默认字长模式的退出字;
在所述退出字之后接收具有所述默认字长的至少一个第三数据字;以及
将所述至少一个第三数据字合并成所述数据的第三部分。
65.根据权利要求64所述的方法,其特征在于:所述退出字的字长与所述至少一个字长字的字长相同。
66.根据权利要求61所述的方法,其特征在于:所述至少一个字长字中的每一个都具有被映射到相应字长的相应值。
67.根据权利要求66所述的方法,其特征在于:所述至少一个字长字中的每一个的所述相应值被映射到标准表中的所述相应字长。
68.根据权利要求66所述的方法,其特征在于,还包括:接收指示映射到所述相应字长的所述至少一个字长字中的每一个的所述相应值的报头。
69.一种方法,其包括:
接收多个字长字;
在所述多个字长字的每一个之后接收多个数据字中的相应数据字,所述多个字长字的每一个指示所述相应数据字的相对应字长;以及
基于所述相对应字长将所述多个字长字合并成数据。
70.根据权利要求69所述的方法,其特征在于:
所述多个字长字的第一字长字指示第一字长;
对应于所述第一字长字的所述多个数据字的第一数据字具有所述第一字长;
所述多个字长字的第二字长字指示不同于所述第一字长的第二字长;以及
对应于所述第二字长字的所述多个数据字的第二数据字具有所述第二字长。
71.根据权利要求69所述的方法,其特征在于:所述多个字长字中的每一个具有映射到相应字长的相应值。
72.根据权利要求71所述的方法,其特征在于:所述多个字长字中的每一个的所述相应值映射到标准表中的相所述应字长。
73.根据权利要求71所述的方法,其特征在于,还包括:接收指示映射到所述相应字长的所述多个字长字中每一个的所述相应值的报头。
74.一种方法,其包括:
接收指示第一字长的第一字长字;
在所述第一字长字之后接收具有所述第一字长的至少一个第一数据字;
将接收到的至少一个第一数据字合并成数据的第一部分;
接收指示第二字长的第二字长字;以及
在所述第二字长字之后接收具有所述第二字长的至少一个第二数据字;以及
将接收到的至少一个第二数据字合并成所述数据的第二部分。
75.根据权利要求74所述的方法,其特征在于,还包括:
接收对应于所述至少一个第一数据字中的每一个的相应标志位,以指示所述至少一个第一数据字中的每一个是数据字;
接收对应于所述至少一个第二数据字中的每一个的相应标志位,以指示所述至少一个第二数据字中的每一个是数据字;以及
接收对应于所述第二字长字的标志位,以指示所述第二字长字是字长字。
76.根据权利要求74所述的方法,其特征在于,还包括:接收紧接在所述至少一个第一数据字中的每一个、所述第二字长字以及所述至少一个第二数据字中的每一个之前的相应标志位,相应第一标志位指示后续字是数据字还是字长字。
77.根据权利要求74所述的方法,其特征在于,还包括:
在所述至少一个第一数据字的每个第一数据字之前或之后接收指示相应的第一数据字是否为所述至少一个第一数据字的最后数据字的相应标志位;以及
在所述至少一个第二数据字的每个第二数据字之前或之后接收指示相应的第二数据字是否为所述至少一个第二数据字的最后数据字的相应标志位。
78.根据权利要求74所述的方法,其特征在于:
所述第一字长字明确指示所述第一字长;以及
所述第二字长字明确指示所述第二字长。
79.根据权利要求74所述的方法,其特征在于:
所述第一字长字具有映射到所述第一字长的第一值;以及
所述第二字长字具有映射到所述第二字长的第二值。
80.根据权利要求79所述的方法,其特征在于:所述第一值和所述第二值分别映射到标准表中的所述第一字长和所述第二字长。
81.根据权利要求79所述的方法,其特征在于,还包括:接收指示映射到所述第一字长的所述第一值和映射到所述第二字长的所述第二值的报头。
82.一种其上存储有计算机程序代码的非暂时性计算机可读介质,当由处理器执行所述代码时,指示所述处理器执行如权利要求1-81中任意一项所述的方法。
83.一种装置,其包括:
处理器;以及
其上存储由计算机程序代码的存储器,当由所述处理器执行所述代码时,指示所述处理器执行如权利要求1-81中任意一项所述的方法。
Applications Claiming Priority (6)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201414120315A | 2014-05-14 | 2014-05-14 | |
US15/276,380 | 2016-09-26 | ||
US15/276,380 US10057250B2 (en) | 2013-05-14 | 2016-09-26 | Technologies for enhancing computer security |
US15/407,908 | 2017-01-17 | ||
US15/407,908 US10116651B2 (en) | 2013-05-14 | 2017-01-17 | Technologies for enhancing computer security |
PCT/US2017/053254 WO2018058037A1 (en) | 2013-05-14 | 2017-09-25 | Technologies for enhancing computer security, variable word-length encoding, and variable length decoding |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109923516A true CN109923516A (zh) | 2019-06-21 |
Family
ID=56939789
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201780069612.8A Pending CN109923516A (zh) | 2014-05-14 | 2017-09-25 | 加强计算机安全性,可变字长编码以及可变长码解码的技术 |
Country Status (3)
Country | Link |
---|---|
US (1) | US9454653B1 (zh) |
KR (1) | KR102445811B1 (zh) |
CN (1) | CN109923516A (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10057250B2 (en) | 2013-05-14 | 2018-08-21 | Kara Partners Llc | Technologies for enhancing computer security |
US10594687B2 (en) | 2013-05-14 | 2020-03-17 | Kara Partners Llc | Technologies for enhancing computer security |
US12028333B2 (en) | 2013-05-14 | 2024-07-02 | Kara Partners Llc | Systems and methods for variable-length encoding and decoding for enhancing computer systems |
CN107832623B (zh) * | 2017-10-13 | 2020-05-08 | 微梦创科网络科技(中国)有限公司 | 坐标轨迹加密和解密的方法及系统 |
CN110737908B (zh) * | 2019-10-12 | 2021-05-25 | 京东数字科技控股有限公司 | 加密方法和装置、解密方法和装置、电子设备和介质 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4214206A (en) * | 1977-09-27 | 1980-07-22 | U.S. Philips Corporation | Digital transmission system having direct bit extraction from scrambled bit streams |
CN1708987A (zh) * | 2002-10-25 | 2005-12-14 | 梅迪亚利夫公司 | 将mpeg-2型多媒体和视听内容转换成同一类型的安全内容的装置 |
CN1754151A (zh) * | 2000-09-21 | 2006-03-29 | 国际商业机器公司 | Java中的可变性分析 |
WO2007105126A2 (en) * | 2006-03-10 | 2007-09-20 | Koninklijke Philips Electronics N.V. | Method and system for obfuscating a cryptographic function |
US20080120676A1 (en) * | 2006-11-22 | 2008-05-22 | Horizon Semiconductors Ltd. | Integrated circuit, an encoder/decoder architecture, and a method for processing a media stream |
CN101803270A (zh) * | 2007-07-31 | 2010-08-11 | 雷蒙德·吉恩·克利福德·阿图斯 | 数据加密的方法和系统 |
CN102317904A (zh) * | 2009-01-29 | 2012-01-11 | 堡垒应用有限公司 | 带有验证完整性的加密系统和方法 |
CN103117850A (zh) * | 2011-11-16 | 2013-05-22 | 中国科学院华南植物园 | 一种基于随机序列数据库的密码系统 |
CN103975533A (zh) * | 2011-12-07 | 2014-08-06 | 国际商业机器公司 | 可变长度编码的数据流的高带宽解压 |
CN105827665A (zh) * | 2016-06-06 | 2016-08-03 | 南开大学 | 一种sdn网络控制器与交换机之间的流表消息敏感数据加密方法 |
Family Cites Families (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4568916A (en) | 1983-11-14 | 1986-02-04 | Bahgat Osama A E H | Variable word length encoder |
US5249220A (en) * | 1991-04-18 | 1993-09-28 | Rts Electronics, Inc. | Handheld facsimile and alphanumeric message transceiver operating over telephone or wireless networks |
US6324558B1 (en) | 1995-02-14 | 2001-11-27 | Scott A. Wilber | Random number generator and generation method |
JP2001511323A (ja) * | 1997-01-30 | 2001-08-07 | フジツウ ネットワーク コミュニケーションズ,インコーポレイテッド | 高速シリアルリンク用データ符号器/復号器 |
US6226607B1 (en) | 1999-02-08 | 2001-05-01 | Qualcomm Incorporated | Method and apparatus for eighth-rate random number generation for speech coders |
US7044396B2 (en) * | 2000-02-22 | 2006-05-16 | Dupont Teijin Films Us Limited Partnership | Multi-layer polymeric film and the use thereof |
US6728893B1 (en) | 2000-04-21 | 2004-04-27 | Intel Corporation | Power management system for a random number generator |
FR2812502B1 (fr) * | 2000-07-25 | 2002-12-20 | Canon Kk | Insertion et extraction de message dans des donnees numeriques |
US20060291650A1 (en) * | 2001-05-22 | 2006-12-28 | Viswanath Ananth | State-varying hybrid stream cipher |
US6954770B1 (en) | 2001-08-23 | 2005-10-11 | Cavium Networks | Random number generator |
US7219112B2 (en) | 2001-11-20 | 2007-05-15 | Ip-First, Llc | Microprocessor with instruction translator for translating an instruction for storing random data bytes |
US7194496B2 (en) | 2003-05-02 | 2007-03-20 | Spirent Communications Of Rockville, Inc. | System and method for producing functions for generating pseudo-random bit sequences |
US7332976B1 (en) | 2005-02-04 | 2008-02-19 | Cypress Semiconductor Corporation | Poly-phase frequency synthesis oscillator |
JP4559985B2 (ja) | 2005-03-15 | 2010-10-13 | 株式会社東芝 | 乱数発生回路 |
GB2444567B (en) | 2005-09-09 | 2011-01-05 | Mitsubishi Electric Corp | Pseudo-random number generator |
CN101331483A (zh) * | 2005-12-14 | 2008-12-24 | 皇家飞利浦电子股份有限公司 | 用于操纵数据文件的方法和设备 |
FR2899352B1 (fr) | 2006-03-29 | 2008-06-20 | Eads Secure Networks Soc Par A | Generateur de nombres aleatoires |
KR101104985B1 (ko) | 2009-11-06 | 2012-01-16 | 양창근 | 난수 생성 방법 및 시스템 |
GB2475327A (en) * | 2009-11-16 | 2011-05-18 | Alexander Jackson-Smith | Processing binary data arranged into segments or blocks using a value based on the binary ones in the segments to transform part of the segment. |
EP2535803A4 (en) * | 2009-12-24 | 2014-12-10 | Telefónica S A | METHOD AND SYSTEM FOR GENERATING UNSUCCESSFUL PSEUDO ACCUMULATION NUMBERS |
US8731197B2 (en) * | 2010-03-09 | 2014-05-20 | Ebay Inc. | Secure randomized input |
US9229823B2 (en) * | 2011-08-17 | 2016-01-05 | International Business Machines Corporation | Storage and retrieval of dispersed storage network access information |
-
2014
- 2014-06-18 US US14/307,712 patent/US9454653B1/en not_active Ceased
-
2017
- 2017-09-25 CN CN201780069612.8A patent/CN109923516A/zh active Pending
- 2017-09-25 KR KR1020197012053A patent/KR102445811B1/ko active IP Right Grant
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4214206A (en) * | 1977-09-27 | 1980-07-22 | U.S. Philips Corporation | Digital transmission system having direct bit extraction from scrambled bit streams |
CN1754151A (zh) * | 2000-09-21 | 2006-03-29 | 国际商业机器公司 | Java中的可变性分析 |
CN1708987A (zh) * | 2002-10-25 | 2005-12-14 | 梅迪亚利夫公司 | 将mpeg-2型多媒体和视听内容转换成同一类型的安全内容的装置 |
WO2007105126A2 (en) * | 2006-03-10 | 2007-09-20 | Koninklijke Philips Electronics N.V. | Method and system for obfuscating a cryptographic function |
US20080120676A1 (en) * | 2006-11-22 | 2008-05-22 | Horizon Semiconductors Ltd. | Integrated circuit, an encoder/decoder architecture, and a method for processing a media stream |
CN101803270A (zh) * | 2007-07-31 | 2010-08-11 | 雷蒙德·吉恩·克利福德·阿图斯 | 数据加密的方法和系统 |
CN102317904A (zh) * | 2009-01-29 | 2012-01-11 | 堡垒应用有限公司 | 带有验证完整性的加密系统和方法 |
CN103117850A (zh) * | 2011-11-16 | 2013-05-22 | 中国科学院华南植物园 | 一种基于随机序列数据库的密码系统 |
CN103975533A (zh) * | 2011-12-07 | 2014-08-06 | 国际商业机器公司 | 可变长度编码的数据流的高带宽解压 |
CN105827665A (zh) * | 2016-06-06 | 2016-08-03 | 南开大学 | 一种sdn网络控制器与交换机之间的流表消息敏感数据加密方法 |
Non-Patent Citations (3)
Title |
---|
,K.C.SHYAMALA BAI等: "Variable Size Block Encryption using Dynamic-key Mechanism(VBEDM)", 《TTPS://WWW.IJCAONLINE.ORG/VOLUME27/NUMBER7/PXC3874539.PDF》 * |
刘志;姜帆;冯晓斐;: "字符二维条码编码方法研究" * |
罗江华;: "基于MD5与Base64的混合加密算法" * |
Also Published As
Publication number | Publication date |
---|---|
US9454653B1 (en) | 2016-09-27 |
KR20190060804A (ko) | 2019-06-03 |
KR102445811B1 (ko) | 2022-09-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109923516A (zh) | 加强计算机安全性,可变字长编码以及可变长码解码的技术 | |
JP6477461B2 (ja) | 順序保存暗号化システム、装置、方法およびプログラム | |
CN103684760A (zh) | 通信的加密和解密的方法、装置及系统 | |
JP5845824B2 (ja) | 暗号化プログラム、復号化プログラム、暗号化方法、復号化方法、システム、コンテンツの生成方法およびコンテンツの復号化方法 | |
US10917403B2 (en) | Systems and methods for variable-length encoding and decoding for enhancing computer systems | |
CN112511514A (zh) | 一种http加密传输方法、装置、计算机设备及存储介质 | |
CN110704854B (zh) | 针对文本数据保留格式的流式加密方法 | |
Ali | Novel approach for generating the key of stream cipher system using random forest data mining algorithm | |
CN102456108B (zh) | 一种ibus拼音码表的加密方法 | |
Baker et al. | Novel algorithm in symmetric encryption (NASE): Based on feistel cipher | |
CN110247764A (zh) | 一种管理网络数据传输方法的系统、方法及装置 | |
KR101584127B1 (ko) | 거부적 암호화 시스템 및 방법 | |
Li et al. | A secure and efficient entropy coding based on arithmetic coding | |
Kumar et al. | A novel approach for securing data in IoTcloud using DNA cryptography and Huffman coding algorithm | |
US12028333B2 (en) | Systems and methods for variable-length encoding and decoding for enhancing computer systems | |
Sagun et al. | Devising a method for improving crypto resistance of the symmetric block cryptosystem RC5 using nonlinear shift functions | |
CN108777622A (zh) | 一种二进制流散列取模加密解密方法 | |
Kunev | Extended RSA-M algorithm as a way of increase computational complexity of cryptosystems | |
KR101663250B1 (ko) | 거부적 암호화를 이용한 비밀 채팅 장치 및 그 방법 | |
Manankova et al. | Modeling of the Modes of Operation of the AES Algorithm in the Cryptool 2 Environment | |
Grewal et al. | Encryption and Compression of Audio-Video Data Using Enhanced AES and J-Bit Algorithm | |
CN117436110A (zh) | 数据加密、数据解密方法和装置 | |
KR20230063302A (ko) | 문자열 데이터를 동형 암호화하는 장치 및 방법 | |
KR20240081407A (ko) | 공개 키를 이용하여 암호화하는 전자 장치 및 그 방법들 | |
ALKHAYYAT et al. | Efficient Dynamic S-Box Generation Using Linear Trigonometric Transformation for Security Applications |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
AD01 | Patent right deemed abandoned |
Effective date of abandoning: 20231229 |
|
AD01 | Patent right deemed abandoned |