Patent Publication Number: US-10333698-B2

Title: Entwined encryption and error correction

Description:
CROSS-REFERENCE TO RELATED APPLICATION 
     This patent application claims the benefit of U.S. Provisional Patent Application No. 62/532,563, filed Jul. 14, 2017, entitled “ENTWINED ENCRYPTION AND ERROR CORRECTION”, which is incorporated by reference herein in its entirety. 
    
    
     TECHNICAL FIELD 
     Embodiments discussed herein regard devices, systems, and methods for encrypting and encoding data. One or more embodiments can include error correction and/or data verification abilities. 
     BACKGROUND 
     Encrypting data obfuscates data to an entity that intercepts the data. The intended information is generally referred to as plaintext. The encrypted information is ciphertext. An authorized receiver of the ciphertext can generally decrypt the ciphertext to recover the plaintext. 
     Error detection is an ability to determine whether the plaintext recovered at the receiver is the intended plaintext. Error correction is the ability to determine the intended plaintext if an error is present in the recovered plaintext. 
     Previous encryption techniques do not provide an inherent and flexible ability to detect and/or correct errors in recovered plaintext. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
       In the drawings, which are not necessarily drawn to scale, like numerals can describe similar components in different views. Like numerals having different letter suffixes can represent different instances of similar components. The drawings illustrate generally, by way of example, but not by way of limitation, various embodiments or examples discussed in the present document. 
         FIG. 1  illustrates, by way of example, a schematic diagram of an embodiment of a system. 
         FIG. 2  illustrates, by way of example, a schematic diagram of an embodiment of data being split into words. 
         FIG. 3  illustrates, by way of example, a diagram of an embodiment of a method for performing an entwined cryptographic encoding. 
         FIG. 4  illustrates, by way of example, a diagram of an embodiment of a method for performing an entwined cryptographic decoding. 
         FIG. 5  illustrates, by way of example, a graph  500  of error rate versus energy for a variety of encoding techniques. 
         FIG. 6  illustrates, by way of example, a block diagram of an embodiment of a machine on which one or more of the methods as discussed herein can be implemented. 
     
    
    
     DETAILED DESCRIPTION 
     Embodiments in this disclosure generally relate to encoding schemes that provide error correction and/or error detection and encryption capabilities, sometimes referred to as entwined encryption. The encodings discussed herein encrypt data and allow portions of the encrypted data to be lost or altered between a sender and a receiver, such as in a medium, while still being able to recreate the original data at the receiver. 
     Some cryptographic systems convert data from plaintext to equally sized ciphertext (equal in number of bits occupied by the plaintext and ciphertext). These systems may offer no integrity for lost or corrupted data, generally have no secondary protection in case of compromised cryptovariable (key), and are not generally homomorphic. That is, operations on plaintext are not possible in their encrypted form. Entwined Cryptographic Encoding (ECE), a cryptographic technique discussed herein takes a different path, with more flexibility, homomorphic properties, and the ability to add data integrity (e.g., error detection and/or error correction abilities). 
     ECE converts a block of data into many independent words of cipher. On their own these pieces are secure; even if the piece of data and the cryptographic key were compromised, no information about the plaintext data would be revealed. Further, the system has error detection and/or error correction capabilities; errors can be detected and/or corrected. In ECE individual ciphertext pieces may be lost without any loss to the original data. 
     This is possible by Da Yen, sometimes referred to as the Chinese Remainder Theorem, and implemented using a stream cipher (e.g., a cipher from the eSTREAM collection, from the European Network of Excellence in Cryptology (ECRYPT), Advanced Encryption Standard (AES) in counter mode, from the United States Institute of Standards and Technology (NIST), or other stream cipher) and a data transformation technique referred to as a weave. Theoretical proofs and examples are provided in an Appendix to not disrupt the flow. To prevent this disruption, proofs and examples are in the Appendix, with references to them at the appropriate places. 
     ECE is flexible, allowing for different word sizes, plaintext and ciphertext block sizes, and varying error correction capabilities. The system can be designed with no, minimal, and large error correction capabilities. An amount of overhead required per error is about equivalent to the overhead in Reed-Solomon encoding. ECE was designed so that not all ciphertext is needed for decryption. If a minimum number of ciphertext words are recovered, plaintext can be recovered. 
     The following variables are used to tailor the system to a users&#39; needs: a set, M, of irreducible polynomials of degree v, 2r plaintext words in a block of data, a maximal number of errors that may be corrected, s, and n cipher words, where n=2(r+s). 
     2r text words and 2s key words represent a reduction of a degree v(n−1) polynomial over F 2 , modulo 2(r+s) relatively prime polynomials in M of degree v. The key stream determines the moduli as well as the 2s key words. Encryption and encoding are accomplished by swapping one set of moduli for another, leaving the underlying v(n−1) degree polynomial unchanged. 
     Using the Da Yen weave transform (discussed elsewhere), words of data can be efficiently mixed with key and moduli into cipher words. Only operations in F 2v  are necessary. Decoding/decryption can use the same transformation as encoding but with different moduli. Using theoretical tools similar to those used in Reed-Solomon coding, the overdetermined nature of the system allows errors to be detected and corrected. 
     Using entwined encryption, even if a cryptography key is broken, the data remains secure unless enough data blocks (of the original data) are recovered. Entwined encryption may improve diffusion of data in a cryptosystem. If any bit of input data is modified, every bit of the resulting output has about a fifty percent chance of flipping (e.g., from a logical “1′” to a logical “0” or vice versa). Other encryption techniques have no such diffusion. By entwining error correction and encryption in a manner discussed herein, the security of the cryptosystem may be improved. 
       FIG. 1  illustrates, by way of example, a schematic diagram of an embodiment of a system  100 . The system  100  can be used for implementing encoding and decoding using an ECE technique. All the items upstream from encrypted encoded data  111  are part of ECE encryption. All the items downstream from encrypted encoded data  113  are part of ECE decryption. Key syncing can help the performance (in terms of an ability to decipher correct plaintext from ciphertext) of the system  100 . 
     Data  101  is received at an entwined cryptographic encoder  102 . The data  101  is sometimes referred to as plaintext. Other inputs to the entwined cryptographic encoder  102  include a crypto stream  105  and polynomials  109 . 
     A key  103  is received at a key generator  104 . The key  103  is a seed variable or other initializing data that causes the key generator  104  to produce a stream of ciphertext. The stream of ciphertext may be used to select polynomials from a polynomial table  106  (as indicated by polynomial selection  107 ) and as extra cipher words provided to the entwined cryptographic encoder  102  (as indicated by crypto stream  105 ). The key generator  104  produces a cipher stream, such as using a cipher technique from eSTREAM or AES previously discussed, or another cipher stream. 
     The polynomial table  106  includes v-degree relatively prime polynomials in F 2 . The polynomials in the polynomial table  106  can be indexed by root, with a primitive having index zero, and the remaining polynomials ordered by ascending root. The root and primitive notion is discussed further elsewhere herein. The polynomial selector  107  provides the indexes of polynomials that are provided to the entwined cryptographic encoder  102  as polynomials  109 . 
     The entwined cryptographic encoder  102  transforms the data  101  based on the polynomials  109  and the crypto stream  105 . The result of the transform is encrypted encoded data  111 . At least some of the operations performed by the entwined cryptographic encoder are discussed with regard to  FIG. 3  and elsewhere herein. A summary of the operations performed by the entwined cryptographic encoder  102  includes: receiving the data  101 , the crypto stream  105 , and the polynomials  109 ; creating data relations based on the data  101  and the polynomials  109 ; creating key relations based on the crypto stream  105  and the polynomials  109 ; initializing return relations based on the data  101 , the crypto stream  105 , and/or the polynomials  109 ; transforming data relations; weave extracting cipher words; and/or performing a weave transform to create the encrypted encoded data  111 . 
     The encrypted encoded data  111  is provided to a receiver, such as through a medium  108 . The medium  108  can include a wired or wireless medium. A wired medium includes a non-air medium (e.g., an optical fiber or conductive medium). A wireless medium includes a signal provided through an air medium. The signal provided to the medium (the encrypted encoded data  111 ) may be different than the signal provided to the entwined encrypted decoder  112 , as indicated by the encrypted encoded data  113 . The medium  108  can interact with and alter the encrypted encoded data  111 , such as to drop a portion of the encrypted encoded data  111  and/or alter a value represented by the encrypted encoded data  111 . In one or more instances, an entity may intercept the encrypted encoded data  111  as it is being transmitted through the medium  108  and alter the encrypted encoded data  111 . 
     There may be one or more hosts  150 A- 150 B in the medium  108 . Each of the hosts  150 A- 150 B can receive at least a portion of the encrypted encoded data  111 . Each of the hosts  150 A- 150 B can forward their portion of the encrypted encoded data  111  as the encrypted encoded data  113 . The portions of the encrypted encoded data  111  can comprise disjoint subsets of the data  101 , such as to include the entirety of the data  101  in encrypted encoded form. In such an embodiment, an entity would need to intercept all of the data from all of the hosts  150 A- 150 B to recreate the data  101 , assuming the keys and other encryption steps could be determined. 
     An entwined crypto decoder  112  can receive the encrypted encoded data  113 , polynomials  121 , and crypto stream  117 . The crypto stream  117  and polynomial selection  119  can be provided by a key generator  114 . The key generator  114  is another instantiation of the key generator  104 , such that if a key  115  is the same as the key  103 , the output of the key generator  104  is the same as the output of the key generator  114 . The polynomial table  116 , similarly, is another instantiation of the polynomial table  106 , such as to include polynomials indexed in the same manner. 
     The entwined cryptographic decoder  112  transforms the encrypted encoded data  113  into data  123  based on the polynomials  121  and the crypto stream  105 . The data  123  is the same as the data  101  if there are less than (or equal to) a maximum number of errors in the encrypted encoded data  113 . The maximum number of errors is configurable and discussed elsewhere herein. The result of the transform is the data  123 . The operations performed by the entwined cryptographic decoder  112  are discussed with regard to  FIG. 4  and elsewhere herein. A summary of the operations performed by the entwined cryptographic decoder  112  includes: receiving the encrypted encoded data  113 , the crypto stream  117 , and the polynomials  121 ; creating key relations based on the crypto stream  117  and the polynomials  121 ; initializing return relations based on the encrypted encoded data  113 , the crypto stream  117 , and/or the polynomials  121 ; performing a weave transform to create a possible version of the data  123 ; checking the created data  123  to determine if it is correct; if not correct, swapping words in the transformed encrypted encoded data; checking the swapped data to determine if correct; and if correct, providing the data  123  as plaintext to a receiver. 
     To perform accurate and consistent decoding, the keys  103  and  115  can be synced, such as to produce consistent keys. The consistent keys can help ensure that the crypto streams  105  and  117  are consistent and/or the polynomial select data  119  and  107  are consistent. That is, for decoding the encrypted encoded data  111  that is encrypted based on the polynomial select data  107  and the crypto stream  105 , the key generator  114 , in providing a decryption process cipher stream, produces the same polynomial select data  119  as the polynomial select data  107  and crypto stream  117  as the crypto stream  105 . Syncing the keys can include providing a key generator sync signal  125 , such as may indicate a start time, an acknowledge or the like, to indicate that each of the key generators  104  and  114  will produce the same bits for their respective cipher streams. One or more of the hosts  150 A- 150 B may be similarly synced with the encoding device  130  and/or the decoding device  140 . 
       FIG. 2  illustrates, by way of example, a schematic diagram of an embodiment of data  101  being split into words. The data  101  is split into data blocks  203 A,  203 B,  203 C . . .  203 N. Each of the data blocks  203 A- 203 N can include 2r words. Each of the data blocks  203 A-N is split into 2r words  205 A,  205 B, . . . , and  205 C. Each of the words  205 A-C includes v bits including the bits  207 A,  207 B, . . . ,  207 V. The entwined cryptographic encoder  102  can perform these data splitting operations to portion the data  101  to the proper level for processing. 
       FIG. 3  illustrates, by way of example, a diagram of an embodiment of a method  300  for performing an entwined cryptographic encoding. The method  300  can be performed by the entwined cryptographic encoder  102 . The method  300 , as illustrated, includes receiving data (to be encrypted and/or encoded), at operation  302 ; transforming the data to a set of data integers modulo respective polynomial integers representative of respective polynomials of the polynomials stored on the memory; at operation  304 ; performing a Da Yen weave on the transformed data based on received cipher data, at operation  306 ; and providing the weaved transformed data to a medium, at operation  308 . 
     The method  300  can further include producing, by key generator circuitry, a cipher stream of data based on a key. The method  300  can further include, wherein the entwined encryption encoding circuitry is further configured to transform the data to a set of data integers modulo respective polynomial integers and perform the Da Yen weave based on the received cipher stream. The method  300  can further include, wherein another portion of the cipher stream provides an index to the respective polynomials. 
     The method  300  can further include, wherein the polynomials are indexed based on a respective root and primitive of the polynomials. The method can further include, wherein the weaved transformed data includes the transformed received data and transformed cipher data transformed, by the entwined cryptographic encoder circuitry, based on data from the cipher stream. The method  300  can further include splitting the received data into blocks of v-bit words. The operation  304  can further include transformation of the blocks of v-bits words individually. The method  300  can further include, wherein v is a maximum degree of the polynomials in the memory. The method  300  can further include, wherein a number of t-bit cipher words provided by the cipher stream includes the number of words in a block of the blocks, 2r, plus two times a maximum number of errors to be corrected, s, and a number of v-bit cipher words provided by the cipher stream includes two times the maximum number of errors to be correctd, wherein the weaved transformed data includes transformed versions of each of the v-bit words of the data block and transformed versions of the 2s, v-bit words from the cipher stream, wherein the number of polynomials in the memory is 2 t . 
       FIG. 4  illustrates, by way of example, a diagram of an embodiment of a method  400  for performing an entwined cryptographic decoding. The method  400  can be performed by the entwined cryptographic decoder  112 . The method  400 , as illustrated, includes receiving encrypted, encoded data, at operation  402 ; performing a Da Yen weave transform on a portion the encrypted, encoded data, at operation  404 ; comparing the transformed data to another portion of the encrypted, encoded data (to determine if errors exist in the transformed data), at operation  406 ; and in response to a determination that no errors exist, convert the error-free version of data to plaintext, at operation  408 . The method  400  can further include providing the plaintext to a receiver. 
     The method  400  can further include in response to a determination that errors exist, perform a weave swap on two words of the transformed data. The method  400  can further include comparing the weave swapped data to a different portion of the encrypted, encoded data to determine if errors exist in the weave swapped version. The method  400  can further include producing, by key generator circuitry, a cipher stream of data based on a key. The operation  404  can include transforming the encrypted encoded data to a set of data integers modulo respective polynomial integers and perform the Da Yen weave transform based on the received cipher stream. 
     The method  400  can further include, wherein another portion of the cipher stream provides an index to respective polynomials represented by respective polynomial integers. The method  400  can further include, wherein the polynomials are indexed based on a respective root and primitive of the polynomials. The method  400  can further include, wherein the weave transformed data includes the transformed received data and transformed cipher data transformed, by the entwined cryptographic decoding circuitry, based on data from the cipher stream. The method  400  can further include, wherein, wherein v is a maximum degree of the polynomials in the memory, wherein a number of t-bit cipher words provided by the cipher stream includes the number of words in a block of the blocks, 2r, plus two times a maximum number of errors to be correctd, s, and a number of v-bit cipher words provided by the cipher stream includes two times the maximum number of errors to be correctd, wherein the weaved transformed data includes transformed versions of each of the v-bit words of the data block and transformed versions of the 2s, v-bit words from the cipher stream, wherein the number of polynomials in the memory is 2 t . 
     A summary of operations that may be performed using the method  400  is now provided in more mathematical terms. 
     The methods  300  and  400  include encoding and decoding, respectively, and may be used together. One or more of the methods  300  and  400  may include the following operations: 
     A) receive input word size, v, in bits wherein v is a power of two, such as {8, 16, 32, 64, . . . } (at entwined cryptographic encoder  102  and/or key generator  104 ). 
     B) receive 2r plain words to be encrypted (at entwined cryptographic encoder  101 ). 
     C) generate 2sv bits (e.g., by key generator  104 ). 
     D) split 2sv bits into 2s v-bit keys (e.g., at entwined cryptographic encoder  102 ). Each v-bit key is  k   j . 
     E) generate 2vn bits (e.g., by key generator  104 ). 
     F) split 2vn bits into 2n v-bit pointers (e.g., at entwined cryptographic encoder  102 ). Each v-bit pointer is k j  and points to a polynomial in the polynomial table. No two k j  are equal. A maximum value of k j  includes a value less than (or equal to) 2 v −1. 
     G) generate 2n polynomials (e.g., irreducible polynomials) of degree 2 v −1, where q=2n&gt;v (at polynomial table  106 ), based on k j . Each polynomial is indicated by M kj . 
     H) create data relations δ j =dj mod (M kj ) (e.g., by the entwined cryptographic encoder  102 ). 
     I) produce n, C i , cipher words by performing Da Yen weave transform (e.g., by the entwined cryptographic encoder  102 ). 
     J) transmit cipher words (e.g., by the entwined cryptographic encoder  102  over the medium  108 ). 
     K) receive cipher words C i  (e.g., by the entwined cryptographic decoder  112 ). 
     L) receive input word size, v, in bits wherein v is a power of two, such as {8, 16, 32, 64, . . . } (at entwined cryptographic decoder  112  and/or key generator  104 ). 
     M) generate 2sv bits (e.g., by key generator  114 ). 
     N) split 2sv bits into 2s v-bit keys (e.g., at entwined cryptographic encoder  112 ). Each v-bit key is  k   j . 
     O) generate 2vn bits (e.g., by key generator  114 ). 
     P) split 2vn bits into 2n v-bit pointers (e.g., at entwined cryptographic encoder  112 ). Each v-bit pointer is k j  and points to a polynomial in the polynomial table. No two k j  are equal. A maximum value of k j  includes a value less than (or equal to) 2 v −1. 
     Q) generate 2n polynomials (e.g., irreducible polynomials) of degree 2 v −1, where q=2n&gt;v (at polynomial table  116 ), based on k j . Each polynomial is indicated by M kj . 
     R) create key relations: v j =( k   j  mod m k     2r+1   ). 
     S) create the cipher relations: v 2s+j =(c j  mod m k     j   ). 
     T) Initialize return relations: δj=(0 mod m k     j   ) for 0≤j&lt;2r. 
     U) Perform Da Yen weave transform to extract plain words {d 0 , d 1 , . . . , d 2r }. 
     The next section details more specifics regarding operations of the system  100 . The next section begins with some definitions and basics, on which proofs and further discussion of ECE relies. 
     ECE uses a Da Yen weave transform, and for that a few definitions and some theory may be helpful. A theorem used for the weave is the Da Yen. The Da Yen maps a set of relations to a single relation and back again. 
     Let E be a Euclidean domain. A relation μ, is a pair of elements {dot over (μ)}, {circumflex over (μ)}ϵε, {circumflex over (μ)}≠0 and a non-unit, |{dot over (μ)}|&lt;|{circumflex over (μ)}| with μ representing {dot over (μ)} mod {circumflex over (μ)} 
     In general, a relation (d mod m) refers to a coset, or set of elements of the Euclidean domain. Because ECE considers real data and integers, unless stated otherwise, the relations here will always be in reduced form (e.g., |d|&lt;|m|). 
     The size (Euclidean norm) restriction |{dot over (μ)}|&lt;|{circumflex over (μ)}| may provide stability uniqueness of data as it moves between different rings (moduli). 
     Equally sized, relatively prime moduli do not exist over the integers, but can be found if the Euclidean domain is a polynomial ring over a finite field. In ECE the Euclidean domain will be F2[x]. The pair of elements ({dot over (μ)}, {circumflex over (μ)}) in a relation μ with polynomials over F2 with |μ|=|{circumflex over (μ)}|=deg({circumflex over (μ)}). 
     Relations are a component of ECE, therefore a simplified way to compare and combine relations and data may be convenient. Let μ j , μ k  be two relations with xϵε. μ j , μ k  are relatively prime if their respective moduli {circumflex over (μ)} j , {circumflex over (μ)} k  are relatively prime. μ j , μ k  are equivalent if respective moduli are the same size (|{circumflex over (μ)} j |=|{circumflex over (μ)} k |) and {dot over (μ)} j ={dot over (μ)} k . x=μ implies x={dot over (μ)} mod {circumflex over (μ)}. x+μ=μ+x represents the relation (x+{dot over (μ)}mod {circumflex over (μ)}). 
     The Da Yen (Chinese Remainder Theorem) is an isomorphism between the direct product of factor rings and a single factor ring. The Da Yen provides a foundation of the Da Yen weave transform equating a set of relations R to a single relation  R . Shorthand for the modulus and value of  R  is  {circumflex over (R)} ={circumflex over (R)} and  {dot over (R)} ={dot over (R)}. The general ring version of the Da Yen and its proof can be found elsewhere. The following is a presentation of Da Yen using relations. Let R be a set of relatively prime relations. Then there exists a mapping (and its inverse) from R to a relation  R  such that: 
     1: {circumflex over (R)}=Σ μϵR {circumflex over (μ)} 
     2: {dot over (R)}=μ for all μϵR. 
     3. (homomorphic) For any two relation sets R={μ j |0≤j&lt;n}, Q={v k |0≤k&lt;n} with equal size and moduli (e.g., {circumflex over (μ)} j ={circumflex over (v)} j  for 0≤j&lt;n),    R     +     Q = {{dot over (μ)} j +{dot over (v)} j  mod {circumflex over (μ)} j |0≤j&lt;n} )  R   Q = {{dot over (μ)} j {dot over (v)} j  mod {circumflex over (μ)} j |0≤j&lt;n}   
     The Da Yen weave transform, in part, may convert a set of relations R to the relation  R , one relation at a time. Operations of the weave transform may create the relation  R t    where R t ={μ j |0≤j&lt;t}, with {dot over (R)} t  in reduced form. Let R={μ j |0≤j&lt;n} be a set of relatively prime relations, the subsets R t ={μ j |0≤j&lt;t} and  R 1   =μ 0  and {circumflex over (R)} t =Π j=0   t-1 {circumflex over (μ)} j , for 1&lt;t≤n. Then
 
ω t-1 =(   {circumflex over (R)}   t-1     −1 (μ t-1   −     R   t-1   )mod {circumflex over (μ)} t-1 )  (1)
 
   {dot over (R)}   t     =     R   t-1     +     {circumflex over (R)}   t-1   {dot over (ω)} t-1   (2)
 
for 1&lt;t≤n.
 
     The Da Yen weave transform may compute the inner relations w t-1 , such as without computing the large relation  R t-1   . After the w t-1  have been computed, the full relation can be computed with the result already in reduced form (|{dot over (R)}|&lt;|{circumflex over (R)}|):
 
 {dot over (R)}={dot over (w)}   0   +ŵ   0 ( {dot over (w)}   1   +ŵ   1 ) . . . ( {dot over (w)}   n-2   + w     n-2   {dot over (w)}   n-1  . . . ))  (3)
 
     Because this result is already in reduced form and the w relations can be computed within their own factor rings, the relation may be computed and reduced modulo {circumflex over (μ)}, such as by using small moduli and relation μ operations. 
     Let R={μ j |0≤j&lt;n} be a set of relatively prime relations with combined relation  R . For any relation α, define the relation R(α)=({dot over (R)} mod {circumflex over (∝)}):
 
 R (α)= {dot over (w)}   0   +ŵ   0 ( {dot over (w)}   1   +ŵ   1 ( . . . ( {dot over (w)}   n-2   +ŵ   n-2   {dot over (w)}   n-1 ))mod {circumflex over (∝)}  (4)
 
     The weave encoding can use this relation evaluation process to convert a set of distinct relations I to a set J. Let I, J be sets of relatively prime relations with |Î|=|Ĵ|. I encoded into J is the set of relations I(J)={I(∝)|∝ϵJ}. Two sets of relations, I, J are called equivalent if: 
     1. |I|=|J| 
     2.  I = J   
     Notice that encoded set I(J) is equivalent by definition to I. Equivalent sets enable decoding and the independence of encoded blocks. As long as an error free set of 2r encoded relations is recovered, the original plain text can be recovered. Any added relations can be used for error checking and correction. 
     The weave transform converts an ordered set of relatively prime relations R={μ j |0≤j&lt;n}, to equivalent weave terms. A computational cost in serial is 
               (         n           2         )     =       n   ⁡     (     n   -   1     )       2           
“divide” operations over F 2     v   . Parallelization can reduce the time to (n−1) operations.
 
     Order does not matter in the set of relations R, but order does matter in the transformed set of w j  values. The w j  value computed during the iterative Da Yen depends on the relations in the subset R j ={μ j |0≤i&lt;j}, to obtain  R j   , and μ j  itself, but not on any μ i  with i&gt;j. Order can be important during the decoding process. For at least this reason, the ordering of the relations in R will be specified for each transform. 
     Da Yen Weave Transform and Permutations 
     Let π be a permutation on the integers 0≤j&lt;n, defaulting to the identity: π(i)=j for 0≤j&lt;n. Then for any 0&lt;t≤n,
 
   R   t   π   = {μ π(j) |0≤ j&lt;t}         (5)
 
 {dot over (R)}   t   π   ={dot over (w)}   π(0)   +ŵ   π(0) ( {dot over (w)}   π(1)   +ŵ   π(1) ( . . . ( w   π(i-2)   +ŵ   π(t-2)   w   π(i-1) ) . . . ))  (6)
 
 R   t   π (α)= {dot over (R)}   t   π  mod {circumflex over (α)}  (7)
 
and R t   π (μ π(j) )=μ π(j)  for all 0≤j&lt;t.
 
     Da Yen Weave Transform Technique
         Input: R={μ j |0≤j&lt;n}, an ordered set of relatively prime relations and x a permutation on {0, 1, . . . , n−1}   Output: W={w j |0≤j&lt;n} an ordered set of relatively prime relations satisfying equation (6).   I: Initialize:
           A: w π(0) =μ π(0)      B: for k=1 to(n−1): w k   (0) =μ π(k) ;   
           II: For j=1 to j=(n−1):
           A: w x(j) =w j   (j)      B: For k=(j+1) to k=(n−1):   w k   (j) =(ŵ π(j)   −1 (w k   (j-1) −{dot over (w)} π(j) ) mod ŵ k )   
               

     End of Weave Transform Technique 
     ECE detects and corrects errors by assuming a collection of 2r received relations are correct, computing the unused 2s relations and comparing them to the received values. If at least half of these relations are correct and at most s errors exist, then plain text can be extracted from the set. 
     Let R={μ 2s+k |0≤k&lt;n} be the set of n received values and their key-determined moduli, K={μ j |0≤j&lt;2s} the set of 2s key relations. Decoding begins by transforming K∪R={μ j , μ 2s+k |0≤j&lt;2s; 0≤k&lt;n} to R π . If less than half the 2s computed values match the unused received values, then errors exist in the current collection of 2r values. Other sets may be tested until one is found that passes the test. 
     The Da Yen weave transform of different sets of 2r elements can be computed using the weave transform, the swapping pairs of elements in and out, until either a set passes the checks or there are no more sets to check. If no good set is found, then too many errors exist to recover the plaintext. 
     Weave swapping may help efficiency, requiring only a few operations in the base field instead of a re-computation of the entire transform. Pairing relations can reduce a maximal number of sets to check from 
               (           2   ⁢     (     r   +   s     )                 2   ⁢   r           )               
to
 
               (           r   +   s             r         )     ,         
reducing expected computational work to approximately a square root of the time required swapping individuals.
 
     Weave swapping is now explained. Order in the weave transform may help extract values. Let R={μ j |0≤j&lt;n} and R π ={w π(j) |0≤j&lt;n} be its transform with permutation π. Recall that w π(j)  value computed during the iterative Da Yen depends on the relations of the unordered subset {μ π(i) |0≤i&lt;j} and μ π(j)  itself, but not on any μ π(i)  with i&gt;j, and low order weave terms can be combined to compute an extracted weave value. Weave swapping allows swapping of the order of two adjacent relations in a woven transform without recomputing the entire transform. Adjacent weave terms may be swapped with one multiply and one “divide” (e.g., compute an inverse and then multiply), and the permutation keeps track of swaps performed. Swapping weave terms j and (j+1) converts R π  to R σ  where
 
σ( k )=π( k )0≤ k&lt;j ;( j+ 1)&lt; k&lt;n  
 
σ( j )=π(+1)
 
σ( j+ 1)=π( j ).
 
     The moduli, ŵ j ={circumflex over (μ)} j  are constant and not effected by swapping relations. Recall that the Da Yen weave transform has intermediate results w π(j)   (k) =ŵ π(k)   −1 ({dot over (w)} π(j) −{dot over (w)} π(k) )mod {circumflex over (μ)} π(j)  with w π(j) =w π(j)   (j) . The swapped values in terms of these intermediate values is:
         1. {dot over (w)} σ(j) ={dot over (w)} π(j+1)   (j)  therefore
 
 {dot over (w)}   σ(j)   =w   π(j+1)   ŵ   π(j)   +{dot over (w)}   π(j) mod  ŵ   σ(j)   (9)
   2. {dot over (w)} σ(j+1) (j)={dot over (w)} π(j) , and for one term higher:
 
 {dot over (w)}   σ(j+1) =( {dot over (w)}   π(j)   −{dot over (w)}   σ(j) ) ŵ   σ(j)   −1  mod  ŵ   σ(j+1)   (10)
       

     These equations simplify for the relation sets used in ECE. All moduli have the same degree over F 2  with {circumflex over (μ)} j ≡{circumflex over (μ)} k ⊕{circumflex over (μ)} j  mod {circumflex over (μ)} k .
 
 {dot over (w)}   σ(j)   ={dot over (w)}   π(j+1) (μ σ(j) ⊕μ σ(j+1)   ⊕{dot over (w)}   π(j) mod {circumflex over (μ)} σ(j)   (11)
 
 {dot over (w)}   σ(j+1) =( {dot over (w)}   π(j)   ⊕{dot over (w)}   σ(j) )({circumflex over (μ)} σ(j) ⊕{circumflex over (μ)} σ(j+1) ) −1 mod  ŵ   σ(j+1)   (12)
 
     Weave Swap Technique 
     Input: R π , 0≤j&lt;(n−1), with ŵ j =(x⊕c j ) 
     Output: R σ  as described elsewhere herein 
     I: {dot over (w)} σ(j) ={dot over (w)} π(j+1) ({circumflex over (μ)} σ(j) ⊕{circumflex over (μ)} σ(j+1) ⊕{dot over (w)} (j) mod {circumflex over (μ)} σ(j)    
     II: {dot over (w)} σ(j+1) =({dot over (w)} π(j) ⊕{dot over (w)} π(j) )({circumflex over (μ)}σ (j) ⊕{circumflex over (μ)} σ(j+1) ) −1  mod ŵ σ(j+1)    
     II: σ=π 
     IV: σ(j)=π(j+1) 
     V: σ(j+1)=π(j) 
     VI: R π  is now R σ   
     End Weave Swap Technique 
     Encoding Technique 
     Words of key may be generated using a stream cipher (e.g., a key used for encryption and/or encoding is the stream ciphers output). A set of 2n or q irreducible polynomials of degree v over F 2  may be determined. ECE performs a ya den weave encoding using a mix of plaintext and key relations. In embodiments discussed herein, moduli of the relation sets can be determined from the stream cipher. Alternatively, keys and/or moduli may be otherwise randomly chosen. 
     Encoding Technique 
     Input: 
                                    V   the fixed word size (bits per word), generally, v ∈           {8, 16; 32; 64; . . .}       M = {m i |0 ≤ i &lt; q}   set of irreducible degree v polynomials over F 2         2r   the number of words per plain text block       2s   the added key words       n   n = 2(r + s), the number of cipher words       {d 0 , d 1 , . . . , d 2r−1 }   v-bit plain text words                    
Output: {c i |0≤i&lt;n}, v—bit cipher words
 
I: Generate key and set up system (assumes key generator is initialized with cryptovariable (e.g., long term key)),
 
     A: Generate 2v(s+n) bits of key stream from the supplied key generator.
         Label the key bits   { k   j |0≤j&lt;2s}, where  k   j  is a v-bit word of key;   {k j |0≤j, n}, where k is less than q=|M| and k i ≠k j  for al i≠j.       

     B: Create the data relations: δj=(δj mod m k     j   ) for 0≤j&lt;2r. 
     C: Create the key relations: v j =( k   j  mod m 2     r+j   ) for 0≤j&lt;2s. 
     D: Initialize return relations: μ j =(0 mod m k     n+j   ) for 0≤j&lt;n. 
     II: Transform R={δj, δ 2r+k =v k |0≤j&lt;2r, 0≤k&lt;2s} into R π  with π equal to the identity permutation. 
     III: Weave extract cipher words c j =R π (μ j ) for 0≤j&lt;n. 
     End Encoding Technique 
     The decoding process in ECE is like encoding in that a Da Yen weave transform is performed in decoding. If there are no errors and at least 2r correct relations, decoding can be performed. If(2r+t) relations were received with at most t/2 errors, an error free set of 2r relations can be found and error free plaintext extracted. 
     Check Decoding Weave Technique 
     Input: 
     
       
         
           
               
               
               
             
               
                   
               
             
            
               
                   
                 R = {v j |0 ≤ j &lt; (n + t)} 
                 A set of relations 
               
               
                   
                 R σ  = {w j |0 ≤ j &lt; (n + t)} 
                 the transformed version of R using 
               
               
                   
                   
                 permutation σ 
               
               
                   
                 n 
                 number of relations which should 
               
               
                   
                   
                 determine R 
               
               
                   
                 t 
                 number of check relations in R 
               
               
                   
               
            
           
         
       
     
     Output: true, if weave is correct; false, if fails correct check 
     I: FailCount=0 
     II: for j=0 to (t−1):
         A: Weave extract modulus R n   σ (v σ(n+j) =τ   B: If τ does not equal v σ(n+j) :FailCount=FailCount+1.       

     III: return: if 
               FailCount   ≤     ⌊     t   2     ⌋       ,         
return true; else return false
 
     End Check Decoding Weave Technique 
     Because there can be at most t/2 errors, not all (2r+t) choose 2r subsets of the received relations need to be tried. If t/2 errors exist and relations were paired with an adjacent relation (e.g., pair 0 is μ 0 , μ 1 , pair 1 is μ 2 , μ 3  and so on), then there would be t/2 pairs not used in the extraction process. If each of these unused pairs contained at least one error, then the used pairs are error free. In other words, one of the these (r+t/2) choose r pair subsets would be an error free transformation. 
     A decoding technique can exhaust subsets of the received relations, such as by pairing adjacent relations. Such a technique may reduce computation time per subset, such as by performing the full transform only once and modifying the transform to match the new subset by performing a weave swap. 
     Decoding Technique 
     Input: 
                                    v   the fixed word size (bits per word); generally, v ∈           {8, 16; 32; 64}       M = {m i |0 ≤ i &lt; q}   set of irreducible degree v polynomials over F 2         2r   the number of words per plain text block       2s   the added key words       {c π(j) |0 ≤ j &lt;   v-bit cipher text words and their ordering π       2r + t − 1}   π is a permutation on the integers 0 ≤ j &lt; 2(r + s)           but only lower (2r + t) values needed.                    
I: Generate key and set up system (assumes key generator is initialized with cryptovariable—i.e., long term key), such as the same was as was done for the encoding, using the same cryptovariable.
 
     A: Generate 2v(s+n) bits of key stream from the supplied key generator. Label the key bits
         { k   j |0≤j&lt;2s}, where  k   j  is a v-bit word of key;   {k j |0≤j, n}, where k j  is less than q=|M| and k i ≠k j  for al i≠j       

     B: Create the key relations: v j =( k   j  mod m k     2r+j   ) for 0≤j&lt;2s. 
     C: Create the cipher relations: v 2s+j =μ π(j) =(c π(j)  mod m n+π(j) ) for 0≤j&lt;(2r+t). 
     D: Initialize return relations: δj=(0 mod m k     j   ) for 0≤j&lt;2r. 
     II: Let a be a permutation on the integers 0≤j&lt;(2s+n), initialized with the identity permutation: σ(j)=j. 
     III: Let 
                                            halfSpares   =     ⌊     t   2     ⌋             lvl = 0               nV etted = 0             lvlV   ⁢           ⁢     etted   ⁡     [   j   ]         =       0   ⁢           ⁢   0     ≤   j   &lt;     ⌊     t   2     ⌋                                
IV: Perform weave transform to map R={v k |0≤j&lt;(2(s+r)+t)} into R σ .
 
V: While lvl&lt;halfSpares and the current R σ  fails check decoding weave:
 
     A: for j=2(r+s+lvl) down to 2(nV etted+s):
         1: Weave Swap R σ  at j and (j−1)   2: Weave Swap R σ  at (j−1) and j       

     B: lvlVetted[lvl]=lvlVetted[lvl]+1;nVetted=nVetted+1 
     C: if nVetted≥r and lvl&lt;halfSpares /* 
     go to a more significant level, as this level is exhausted */ 
     
         
         
           
             1: nVetted=nVetted−lvlVetted[lvl] 
             2: lvlVetted [lvl]=0 
             3: lvl=lvl+1 
           
         
       
    
     D: else if (lvl&gt;0) /*else if not at lowest level, go down to least significant level*/
         1: lvl=0
 
VI: Weave Extract Modulus to get plain words δ j =R π (δj) for 0≤j&lt;2r.
       

     End Decoding Technique 
     Hexadecimal shorthand is used for polynomials in F 2 [x]. For example, x 5 +x 4 +x 3 +x=⇒0x3a. 
     Examples of using techniques discussed herein are now provided. 
     Example 1: Da Yen 
     ε= : Let 
     R={(2 mod 7); (5 mod 13); (1 mod 2)} 
     Q={(5 mod 7); (1 mod 13); (0 mod 2)}. 
     Then  R =(135 mod 182), with {dot over (R)}=135 and {circumflex over (R)}=182 and  Q =(40 mod 182). 
     Notice that R+Q={(0 mod 7); (6 mod 13); (1 mod 2)},  R+Q =(175 mod 182) and RQ={(3 mod 7); (5 mod 13); (0 mod 2)} and  RQ =(122 mod 182). 
     
         
         
           
             =F 2 [x]: Let R={(x 3 +x+1 mod x 4 +x 4 +1); (x mod x 2 +x+1); (1 mod x+1)}. Then  R =(x 5  mod x 7 +x 6 +x 4 +1) with {dot over (R)}=x 5  and {circumflex over (R)}=x 7 +x 6 +x 4 +1. 
           
         
       
    
     End of Example 1. 
     Example 2: Equivalent Relation Subsets 
     Let ε=F 11 [x] with 
             R   =     {               μ   1     =     (       8   ⁢           ⁢   mod   ⁢           ⁢   x     -   1     )       ,                   μ   2     =     (       1   ⁢           ⁢   mod   ⁢           ⁢   x     -   4     )       ,                   μ   3     =     (       7   ⁢           ⁢   mod   ⁢           ⁢   x     -   5     )       ,                   μ   4     =     (       0   ⁢           ⁢   mod   ⁢           ⁢   x     -   8     )       ,                 μ   5     =     (       7   ⁢           ⁢   mod   ⁢           ⁢   x     -   10     )             }                 I   =     {       μ   2     ,     μ   4     ,     μ   5       }           
The set I maps to the relation  I =2x 2 +6x mod (x 3 +9x+10) while  R =3x 4 +8x 3 +7x 2 +9x 2 +3 mod (x 5 +5x 4 +3x 3 +7x 1 +6).
 
     Notice that I(μ 1 )=μ 1 . This, along with the fact that the size of all moduli in R are identical (degree 1), gives us that the following relation sets are equivalent:
 
 I≡{μ   1 ,μ 4 ,μ 5 }≡{μ 1 ,μ 2 ,μ 5 }≡{μ 1 ,μ 2 ,μ 4 }
 
     End of Example 2. 
     Example 3: Integer Ya Den Weave Transform 
     Let R={(2 mod 3)(3 mod 5)(1 mod 11)(7 mod 13)}, find {dot over (R)} mod 7. 
                                                 {circumflex over (μ)} 0  = 3   {circumflex over (μ)} 1  = 5   {circumflex over (μ)} 2  = 11   {circumflex over (μ)} 3  = 13                                                            w k   (0)     2   3   4   7           w k   (1)     —   3 −1  (3 − 2)   3 −1  (1 − 2)   3 −1  (7 − 2)               —   2(1)   4(−1)   9(5)               —   2   7   6                                         w k   (2)     —       5 −1  (7 − 2)   5 −1  (6 − 2)               —       9(5)   8(4)               —       1   6                             —   11 −1  (6 − 1)            —   6(5)           —   4                                         R π     (2 mod 3)   (2 mod 5)   (1 mod 11)   (4 mod 13)                    
The full value of  R  would be  R +(2+3(2+5(1+11(4)))=683 mod 2145, but {dot over (R)} mod 7 can be computed without the full value:
 
     
       
         
           
             
               
                 
                   
                     R 
                     . 
                   
                   ≡ 
                     
                   ⁢ 
                   
                     2 
                     + 
                     
                       3 
                       ⁢ 
                       
                         ( 
                         
                           2 
                           + 
                           
                             5 
                             ⁢ 
                             
                               ( 
                               
                                 1 
                                 + 
                                 
                                   11 
                                   ⁢ 
                                   
                                     ( 
                                     4 
                                     ) 
                                   
                                 
                               
                               ) 
                             
                           
                         
                         ) 
                       
                       ⁢ 
                       mod 
                       ⁢ 
                       
                           
                       
                       ⁢ 
                       7 
                     
                   
                 
               
             
             
               
                 
                   ≡ 
                     
                   ⁢ 
                   
                     2 
                     + 
                     
                       3 
                       ⁢ 
                       
                         ( 
                         
                           2 
                           + 
                           
                             5 
                             ⁢ 
                             
                               ( 
                               
                                 1 
                                 + 
                                 
                                   4 
                                   ⁢ 
                                   
                                     ( 
                                     4 
                                     ) 
                                   
                                 
                               
                               ) 
                             
                           
                         
                         ) 
                       
                       ⁢ 
                       mod 
                       ⁢ 
                       
                           
                       
                       ⁢ 
                       7 
                     
                   
                 
               
             
             
               
                 
                   ≡ 
                     
                   ⁢ 
                   
                     2 
                     + 
                     
                       3 
                       ⁢ 
                       
                         ( 
                         
                           2 
                           + 
                           
                             5 
                             ⁢ 
                             
                               ( 
                               3 
                               ) 
                             
                           
                         
                         ) 
                       
                       ⁢ 
                       mod 
                       ⁢ 
                       
                           
                       
                       ⁢ 
                       7 
                     
                   
                 
               
             
             
               
                 
                   ≡ 
                     
                   ⁢ 
                   
                     2 
                     + 
                     
                       3 
                       ⁢ 
                       
                         ( 
                         3 
                         ) 
                       
                       ⁢ 
                       mod 
                       ⁢ 
                       
                           
                       
                       ⁢ 
                       7 
                     
                   
                 
               
             
             
               
                 
                   ≡ 
                     
                   ⁢ 
                   
                     4 
                     ⁢ 
                     mod 
                     ⁢ 
                     
                         
                     
                     ⁢ 
                     7 
                   
                 
               
             
           
         
       
     
     Now divide {dot over (R)} by 7 and return the quotient modulo 3, 5, 11, and 13. The reminder is already known: r=4. To find the quotient, subtract r and multiply by 7 −1 . The inverses of 7 mod {circumflex over (μ)} i  are:
         [1 mod 3 3 mod 5 8 mod 11 2 mod 13].
 
Finally, the quotient is equivalent to:
       

                   q   =       ⁢       7     -   1       ⁢     (       R   .     -   4     )                   ≅       ⁢     [           mod   ⁢           ⁢   3           mod   ⁢           ⁢   5           mod   ⁢           ⁢   11           mod   ⁢           ⁢   13                 1   ⁢     (     2   -   4     )       ≡   1             3   ⁢     (     3   -   4     )       ≡   2             8   ⁢     (     1   -   4     )       ≡   9             2   ⁢     (     7   -   4     )       ≡   6           ]                 
The integer form of the quotient is
 
                 683   -   4     7     =   97.         
Notice that
 
97≅[1 mod 3 2 mod 5 9 mod 11 6 mod 13]
 
     End Example 3. 
     Example 4: Polynomial Ya Den Weave Transform 
     Let ε=F 2 [x], represent polynomials in hexadecimal: x 5 +x 3 x 2 →0x2c, and 
     R={(0x6 mod 0x25), (0x1a mod 0x29), (0xc mod 0x2f), (0x3 mod 0x37)} and find {dot over (R)} mod 0x3b: 
                                                 {circumflex over (μ)} 0  = 0x25   {circumflex over (μ)} 1  = 0x29   {circumflex over (μ)} 2  = 0x2f   {circumflex over (μ)} 3  = 0x37                  w k   (0)     0X6   0x1a   0xc   0x3       w k   (1)     —   0x25 −1     0x25 −1     0x25 −1  (0x3⊕0x6)               (0x1a⊕0x6)   (0xc⊕0x6)               —   0xc −1  0x1c   0xa −1  0xa   0x12 −1  0x5           —   0x6 · 0x1c   0x1   0x3 · 0x5           —   0x1a   0x1   0xf                             w k   (2)     —   0x29 −1     0x29 −1  (0xf⊕0x1a)           —   (0x1⊕0x1a)   0x10 · 0x15           —   0xd · 0x1b   0x3               0x13                             w k   (3)     —   0x2f −1  (0x3⊕0x13)           —   0x14 · 0x10           —   0x13                                 w j     (0x6 mod   (0x1a mod   (0x13 mod 0x2f)   (0x13 mod 0x37)           0x25)   0x29)                    
R contains four degree 6 polynomials, therefore |{circumflex over (R)}|=20, but we can compute {dot over (R)} mod 0x3b with the w values and operations mod 0x3b (note: all moduli have the same degree, therefore ŵ j ≡(ŵ j ⊕0x3b)mod 0x3b):
 
     
       
         
           
             
               
                 
                   
                     R 
                     . 
                   
                   ≡ 
                     
                   ⁢ 
                   
                     
                       0 
                       ⁢ 
                       x 
                       ⁢ 
                       
                           
                       
                       ⁢ 
                       6 
                     
                     ⊕ 
                     
                       0 
                       ⁢ 
                       x 
                       ⁢ 
                       
                           
                       
                       ⁢ 
                       25 
                       ⁢ 
                       
                         ( 
                         
                           
                             0 
                             ⁢ 
                             x 
                             ⁢ 
                             
                                 
                             
                             ⁢ 
                             1 
                             ⁢ 
                             a 
                           
                           ⊕ 
                           
                             0 
                             ⁢ 
                             x 
                             ⁢ 
                             
                                 
                             
                             ⁢ 
                             29 
                             ⁢ 
                             
                               ( 
                               
                                 
                                   0 
                                   ⁢ 
                                   x 
                                   ⁢ 
                                   
                                       
                                   
                                   ⁢ 
                                   13 
                                 
                                 ⊕ 
                                 
                                   0 
                                   ⁢ 
                                   x 
                                   ⁢ 
                                   
                                       
                                   
                                   ⁢ 
                                   2 
                                   ⁢ 
                                   
                                     f 
                                     · 
                                     0 
                                   
                                   ⁢ 
                                   x 
                                   ⁢ 
                                   
                                       
                                   
                                   ⁢ 
                                   13 
                                 
                               
                               ) 
                             
                           
                         
                         ) 
                       
                       ⁢ 
                       mod 
                       ⁢ 
                       
                           
                       
                       ⁢ 
                       0 
                       ⁢ 
                       x 
                       ⁢ 
                       
                           
                       
                       ⁢ 
                       3 
                       ⁢ 
                       b 
                     
                   
                 
               
             
             
               
                 
                   ≡ 
                     
                   ⁢ 
                   
                     
                       0 
                       ⁢ 
                       x 
                       ⁢ 
                       
                           
                       
                       ⁢ 
                       6 
                     
                     ⊕ 
                     
                       0 
                       ⁢ 
                       x 
                       ⁢ 
                       
                           
                       
                       ⁢ 
                       1 
                       ⁢ 
                       
                         e 
                         ⁡ 
                         
                           ( 
                           
                             
                               0 
                               ⁢ 
                               x 
                               ⁢ 
                               
                                   
                               
                               ⁢ 
                               1 
                               ⁢ 
                               a 
                             
                             ⊕ 
                             
                               0 
                               ⁢ 
                               x 
                               ⁢ 
                               
                                   
                               
                               ⁢ 
                               12 
                               ⁢ 
                               
                                 ( 
                                 
                                   
                                     0 
                                     ⁢ 
                                     x 
                                     ⁢ 
                                     
                                         
                                     
                                     ⁢ 
                                     13 
                                   
                                   ⊕ 
                                   
                                     0 
                                     ⁢ 
                                     x 
                                     ⁢ 
                                     
                                         
                                     
                                     ⁢ 
                                     
                                       14 
                                       · 
                                       0 
                                     
                                     ⁢ 
                                     x 
                                     ⁢ 
                                     
                                         
                                     
                                     ⁢ 
                                     13 
                                   
                                 
                                 ) 
                               
                             
                           
                           ) 
                         
                       
                       ⁢ 
                       mod 
                       ⁢ 
                       
                           
                       
                       ⁢ 
                       0 
                       ⁢ 
                       x 
                       ⁢ 
                       
                           
                       
                       ⁢ 
                       3 
                       ⁢ 
                       b 
                     
                   
                 
               
             
             
               
                 
                   ≡ 
                     
                   ⁢ 
                   
                     
                       0 
                       ⁢ 
                       x 
                       ⁢ 
                       
                           
                       
                       ⁢ 
                       6 
                     
                     ⊕ 
                     
                       0 
                       ⁢ 
                       x 
                       ⁢ 
                       
                           
                       
                       ⁢ 
                       1 
                       ⁢ 
                       
                         e 
                         ⁡ 
                         
                           ( 
                           
                             
                               0 
                               ⁢ 
                               x 
                               ⁢ 
                               
                                   
                               
                               ⁢ 
                               1 
                               ⁢ 
                               a 
                             
                             ⊕ 
                             
                               0 
                               ⁢ 
                               x 
                               ⁢ 
                               
                                   
                               
                               ⁢ 
                               
                                 12 
                                 · 
                                 0 
                               
                               ⁢ 
                               x 
                               ⁢ 
                               
                                   
                               
                               ⁢ 
                               16 
                             
                           
                           ) 
                         
                       
                       ⁢ 
                       mod 
                       ⁢ 
                       
                           
                       
                       ⁢ 
                       0 
                       ⁢ 
                       x 
                       ⁢ 
                       
                           
                       
                       ⁢ 
                       3 
                       ⁢ 
                       b 
                     
                   
                 
               
             
             
               
                 
                   ≡ 
                     
                   ⁢ 
                   
                     
                       0 
                       ⁢ 
                       x 
                       ⁢ 
                       
                           
                       
                       ⁢ 
                       6 
                     
                     ⊕ 
                     
                       0 
                       ⁢ 
                       x 
                       ⁢ 
                       
                           
                       
                       ⁢ 
                       1 
                       ⁢ 
                       
                         e 
                         · 
                         0 
                       
                       ⁢ 
                       x 
                       ⁢ 
                       
                           
                       
                       ⁢ 
                       14 
                       ⁢ 
                       
                           
                       
                       ⁢ 
                       mod 
                       ⁢ 
                       
                           
                       
                       ⁢ 
                       0 
                       ⁢ 
                       x 
                       ⁢ 
                       
                           
                       
                       ⁢ 
                       3 
                       ⁢ 
                       b 
                     
                   
                 
               
             
             
               
                 
                   ≡ 
                     
                   ⁢ 
                   
                     0 
                     ⁢ 
                     x 
                     ⁢ 
                     
                         
                     
                     ⁢ 
                     b 
                   
                 
               
             
           
         
       
     
     To illustrate how a change in order effects the weave transform, use the same R but swap the order of μ 1 , μ 2 : 
     R={(0x6 mod 0x25), (0x1a mod 0x29), (0xc mod 0x2f), (0x3 mod 0x37)} and find {dot over (R)} mod 0x3b: 
                                                 {circumflex over (μ)} 0  = 0x25   {circumflex over (μ)} 2  = 0x2f   {circumflex over (μ)} 1  = 0x29   {circumflex over (μ)} 3  = 0x37                                                            w k   (0)     0x6   0xc   0x1a   0x3           w k   (1)     —   0x1   0x1a   0xf                                         w k   (2)     —       0x10   0x4                                     w k   (3)     —       0x13                                         w j     (0x6 mod   (0x1 mod 0x2f)   (0x10 mod   (0x13 mod               0x25)       0x29)   0x37)                    
Notice that swapping the order of μ 1 , μ 2  changes the intermediate results for μ 3 , but not the final value or the result
 
     
       
         
           
             
               
                 
                   
                     R 
                     . 
                   
                   ≡ 
                     
                   ⁢ 
                   
                     
                       0 
                       ⁢ 
                       x 
                       ⁢ 
                       
                           
                       
                       ⁢ 
                       6 
                     
                     ⊕ 
                     
                       0 
                       ⁢ 
                       x 
                       ⁢ 
                       
                           
                       
                       ⁢ 
                       25 
                       ⁢ 
                       
                         ( 
                         
                           
                             0 
                             ⁢ 
                             x 
                             ⁢ 
                             
                                 
                             
                             ⁢ 
                             1 
                             ⁢ 
                             a 
                           
                           ⊕ 
                           
                             0 
                             ⁢ 
                             x 
                             ⁢ 
                             
                                 
                             
                             ⁢ 
                             2 
                             ⁢ 
                             
                               f 
                               ⁡ 
                               
                                 ( 
                                 
                                   
                                     0 
                                     ⁢ 
                                     x 
                                     ⁢ 
                                     
                                         
                                     
                                     ⁢ 
                                     10 
                                   
                                   ⊕ 
                                   
                                     0 
                                     ⁢ 
                                     x 
                                     ⁢ 
                                     
                                         
                                     
                                     ⁢ 
                                     
                                       29 
                                       · 
                                       0 
                                     
                                     ⁢ 
                                     x 
                                     ⁢ 
                                     
                                         
                                     
                                     ⁢ 
                                     13 
                                   
                                 
                                 ) 
                               
                             
                           
                         
                         ) 
                       
                       ⁢ 
                       mod 
                       ⁢ 
                       
                           
                       
                       ⁢ 
                       0 
                       ⁢ 
                       x 
                       ⁢ 
                       
                           
                       
                       ⁢ 
                       3 
                       ⁢ 
                       b 
                     
                   
                 
               
             
             
               
                 
                   ≡ 
                     
                   ⁢ 
                   
                     0 
                     ⁢ 
                     x 
                     ⁢ 
                     
                         
                     
                     ⁢ 
                     b 
                   
                 
               
             
           
         
       
     
     The swapped transform can be computed using the weave swap technique. Using the original weave: 
                                                 {circumflex over (μ)} 0  = 0x25   {circumflex over (μ)} 1  = 0x29   {circumflex over (μ)} 2  = 0x2f   {circumflex over (μ)} 3  = 0x37                                                            w j     (0x6 mod   (0x1a mod   (0x13 mod   (0x13 mod               0x25)   0x29)   0x2f)   0x37)                    
It is known that w π(0) , w π(3) , where π(0)=0, π(3)=3, don&#39;t change. For the swapped values:
 
     
       
         
           
             
               
                 
                   
                     w 
                     
                       π 
                       ⁡ 
                       
                         ( 
                         1 
                         ) 
                       
                     
                   
                   = 
                     
                   ⁢ 
                   
                     
                       
                         w 
                         2 
                       
                       ⁡ 
                       
                         ( 
                         
                           
                             0 
                             ⁢ 
                             x 
                             ⁢ 
                             
                                 
                             
                             ⁢ 
                             29 
                           
                           ⊕ 
                           
                             0 
                             ⁢ 
                             x 
                             ⁢ 
                             
                                 
                             
                             ⁢ 
                             2 
                             ⁢ 
                             f 
                           
                         
                         ) 
                       
                     
                     ⊕ 
                     
                       w 
                       1 
                     
                   
                 
               
               
                 
                     
                   ⁢ 
                   
                     
                       π 
                       ⁡ 
                       
                         ( 
                         1 
                         ) 
                       
                     
                     = 
                     2 
                   
                 
               
             
             
               
                 
                   = 
                     
                   ⁢ 
                   
                     0 
                     ⁢ 
                     x 
                     ⁢ 
                     
                         
                     
                     ⁢ 
                     1 
                     ⁢ 
                     
                         
                     
                     ⁢ 
                     mod 
                     ⁢ 
                     
                         
                     
                     ⁢ 
                     0 
                     ⁢ 
                     x 
                     ⁢ 
                     
                         
                     
                     ⁢ 
                     2 
                     ⁢ 
                     f 
                   
                 
               
               
                   
               
             
             
               
                 
                   
                     w 
                     
                       π 
                       ⁡ 
                       
                         ( 
                         2 
                         ) 
                       
                     
                   
                   = 
                     
                   ⁢ 
                   
                     
                       ( 
                       
                         
                           w 
                           1 
                         
                         ⊕ 
                         
                           w 
                           
                             π 
                             ⁡ 
                             
                               ( 
                               1 
                               ) 
                             
                           
                         
                       
                       ) 
                     
                     ⁢ 
                     
                       
                         ( 
                         
                           
                             0 
                             ⁢ 
                             x 
                             ⁢ 
                             
                                 
                             
                             ⁢ 
                             29 
                           
                           ⊕ 
                           
                             0 
                             ⁢ 
                             x 
                             ⁢ 
                             
                                 
                             
                             ⁢ 
                             2 
                             ⁢ 
                             f 
                           
                         
                         ) 
                       
                       
                         - 
                         1 
                       
                     
                   
                 
               
               
                 
                     
                   ⁢ 
                   
                     
                       π 
                       ⁡ 
                       
                         ( 
                         2 
                         ) 
                       
                     
                     = 
                     1 
                   
                 
               
             
             
               
                 
                   = 
                     
                   ⁢ 
                   
                     0 
                     ⁢ 
                     x 
                     ⁢ 
                     
                         
                     
                     ⁢ 
                     10 
                     ⁢ 
                     
                         
                     
                     ⁢ 
                     mod 
                     ⁢ 
                     
                         
                     
                     ⁢ 
                     0 
                     ⁢ 
                     x 
                     ⁢ 
                     
                         
                     
                     ⁢ 
                     29 
                   
                 
               
               
                   
               
             
           
         
       
     
     End of Example 4. 
     Entwined encryption provides an implementer more freedom in implementation than other systems, which require a standard data block size. Many encoding schemes have rather strict restrictions on block size, but entwined encryption allows a user to vary a block size, such as based on their needs. 
     Entwined encryption may provide a foundation for a quantum resistant public key cryptosystem. This is a new, important area of cryptography as all currently used public key systems are vulnerable to quantum attacks. 
     An example that works with polynomials over F 2  or modulo 2: f(x)=Σ i=0 b i x i  where b i ϵ{0,1} and x is a variable/placeholder. Arithemetic in this example is standard polynomial addition and multiplication, except coefficient addition and multiplication is done modulo 2: 1+1=1⊕1=0. As the coefficients are restricted to {1,0}, polynomials can be written in short hand as hexadecimal numbers. For example, 0x11d=0b100011101=x8+x4+x3+x2+1. 
     Modular reduction using polynomials over F 2  as the moduli is used in this example. If M(x) is the polynomial modulus, then 0=M(x) mod M(x). This may seem like an obvious statement, but it may be used to simplify polynomial reduction. Let M(x)=x n +Σ j=0   n-1 b j x j  (e.g., a degree n polynomial over F 2 ). Starting with the obvious relation, then adding x n  to both sides (addition being the same as subtraction mod 2), gives: x n =Σ j=0   n-1 b j x j  mod M(x). To reduce a polynomial P(x) mod M(x), simply replace n-th powers with the lower terms of M(x) of add left shifted versions of M(x) until the degree is less than n. The following table, the polynomial, P(x)=0x37f6 is reduced modulo, M(x), 0x11d. 
                                                                                    1   1   0   1   1   1   1   1   1   1   0   1   1   0       1   0   0   0   1   1   1   0   1   0   0   0   0   0           1   0   1   0   0   0   1   0   1   0   1   1   0           1   0   0   0   1   1   1   0   1   0   0   0   0                   1   0   1   1   0   0   0   0   1   1   0                   1   0   0   0   1   1   1   0   1   0   0                           1   1   1   1   1   0   0   1   0                           1   0   0   0   1   1   1   0   1                               1   1   1   0   1   1   1   1                    
which equals 0xef.
 
     Multiplicative inverses (e.g., division) modulo these polynomials is a component of the ECE. The inverse of a mod m is b such that ab=1 mod m, and it is written b=a −1  mod m. Inverses can be computed in several ways which are not covered here. These include many variants of the Euclidean algorithm as well as the Da Yen. 
     Table 1 includes irreducible polynomials of degree 8 (in hexadecimal short-hand notation). Note that polynomial (j=0) is primitive. This means that every non-zero element of F 2  is generated by a root of the polynomial in the algebraic completion of F 2 . If α is a root of p 0 (x), then a root of polynomial p j (x) is α exp . In the example encryption/encoding scheme below, these polynomials are referred to as M id (x). 
     
       
         
           
               
             
               
                 TABLE 1 
               
             
            
               
                   
               
               
                 Irreducible Polynomials of Degree 8 
               
            
           
           
               
               
               
            
               
                 id 
                 poly(hex) 
                 exp 
               
               
                   
               
            
           
           
               
               
               
            
               
                 0 
                 11d 
                 1 
               
               
                 1 
                 177 
                 3 
               
               
                 2 
                 1f3 
                 5 
               
               
                 3 
                 169 
                 7 
               
               
                 4 
                 1bd 
                 9 
               
               
                 5 
                 1e7 
                 11 
               
               
                 6 
                 12b 
                 13 
               
               
                 7 
                 1d7 
                 15 
               
               
                 8 
                 165 
                 19 
               
               
                 9 
                 18b 
                 21 
               
               
                 10 
                 163 
                 23 
               
               
                 11 
                 11b 
                 25 
               
               
                 12 
                 13f 
                 27 
               
               
                 13 
                 18d 
                 29 
               
               
                 14 
                 12d 
                 31 
               
               
                 15 
                 15f 
                 37 
               
               
                 16 
                 1f9 
                 39 
               
               
                 17 
                 1e3 
                 43 
               
               
                 18 
                 139 
                 45 
               
               
                 19 
                 1a9 
                 47 
               
               
                 20 
                 187 
                 53 
               
               
                 21 
                 1b1 
                 55 
               
               
                 22 
                 14d 
                 59 
               
               
                 23 
                 1ef 
                 61 
               
               
                 24 
                 1dd 
                 63 
               
               
                 25 
                 1a3 
                 87 
               
               
                 26 
                 1f5 
                 91 
               
               
                 27 
                 19f 
                 95 
               
               
                 28 
                 17b 
                 111 
               
               
                 29 
                 171 
                 127 
               
               
                   
               
            
           
         
       
     
     The following example encrypts/encodes a block of 24 bits (e.g., three 8-bit words) into five, 8-bit words. Plaintext bits are used as coefficients to a binary polynomial (an element of F 2 |x|) with degree less than 24. A key stream is provided by a key generator (e.g., a stream cipher), such as can include a randomizer with a seed (e.g., an internal secret seed). This key stream provides integers in the range of the id of the set of irreducible polynomials. In this example the key stream provides integers in the range 0≤k i &lt;30. Thus, these keys serve as indices for the irreducible polynomials, Mj(x) in Table 1. 
     Consider P(x)=Σ i=0   23 b i x i  where b i ϵ{0,1}. ECE converts P(x) into five 8-bit words Cj where Cj=P(x)mod M k     j   (x) for 0≤j&lt;5. Decrypting and decoding using the given key integers uses a Da Yen weave transform. 
     There are at least two construction techniques to determine Cj. Assume there are n Cj values mod Mj for j=0, 1, 2, . . . , (n−1). These may be the entire set of just a sub-set (if the product of Mj has a degree at least as large as the initial modulus (24 in this example)). The first technique can include using the following formula: P(x)=Σ j=0   n-1 Π i≠j  M i (x)[(Π i≠j  M i (x)) − C j  mod M j (x)]. 
     The second technique can include an iterative technique, such as can be more computationally efficient than the first technique. The iterative technique can follow these three formulas: 
     
       
         
           
             
                 
             
             ⁢ 
             
               
                 
                   P 
                   0 
                 
                 ⁡ 
                 
                   ( 
                   x 
                   ) 
                 
               
               = 
               
                 C 
                 0 
               
             
           
         
       
       
         
           
             
               
                 P 
                 j 
               
               ⁡ 
               
                 ( 
                 x 
                 ) 
               
             
             = 
             
               
                 
                   P 
                   
                     j 
                     - 
                     1 
                   
                 
                 ⁡ 
                 
                   ( 
                   x 
                   ) 
                 
               
               ⊕ 
               
                 ( 
                 
                   
                     
                       ∏ 
                       
                         i 
                         = 
                         0 
                       
                       
                         j 
                         - 
                         1 
                       
                     
                     ⁢ 
                     
                       
                         
                           
                             M 
                             i 
                           
                           ⁡ 
                           
                             ( 
                             x 
                             ) 
                           
                         
                         ⁡ 
                         
                           [ 
                           
                             
                               
                                 ( 
                                 
                                   
                                     ∏ 
                                     
                                       i 
                                       = 
                                       0 
                                     
                                     
                                       j 
                                       - 
                                       1 
                                     
                                   
                                   ⁢ 
                                   
                                     
                                       M 
                                       i 
                                     
                                     ⁡ 
                                     
                                       ( 
                                       x 
                                       ) 
                                     
                                   
                                 
                                 ) 
                               
                               
                                 - 
                                 1 
                               
                             
                             ⁢ 
                             
                               ( 
                               
                                 
                                   C 
                                   j 
                                 
                                 ⊕ 
                                 
                                   
                                     P 
                                     
                                       j 
                                       - 
                                       1 
                                     
                                   
                                   ⁡ 
                                   
                                     ( 
                                     x 
                                     ) 
                                   
                                 
                               
                               ) 
                             
                             ⁢ 
                             mod 
                             ⁢ 
                             
                                 
                             
                             ⁢ 
                             
                               
                                 M 
                                 j 
                               
                               ⁡ 
                               
                                 ( 
                                 x 
                                 ) 
                               
                             
                           
                           ] 
                         
                       
                       ⁢ 
                       
                         
 
                       
                       ⁢ 
                       
                           
                       
                       ⁢ 
                       
                         P 
                         ⁡ 
                         
                           ( 
                           x 
                           ) 
                         
                       
                     
                   
                   = 
                   
                     
                       P 
                       
                         n 
                         - 
                         1 
                       
                     
                     ⁡ 
                     
                       ( 
                       x 
                       ) 
                     
                   
                 
               
             
           
         
       
     
     For this example, let P(x)=0x23ab1f and the key integers be as shown in Table 2: 
     
       
         
           
               
             
               
                 TABLE 2 
               
             
            
               
                   
               
               
                 Generated Key Values 
               
            
           
           
               
               
            
               
                   
                 j 
               
            
           
           
               
               
               
               
               
               
            
               
                   
                 0 
                 1 
                 2 
                 3 
                 4 
               
               
                   
               
            
           
           
               
               
               
               
               
               
               
            
               
                   
                 k j   
                 21 
                 19 
                 28 
                 18 
                 25 
               
               
                   
               
            
           
         
       
     
     In this example, P(x) encrypts/encodes to:
 
 C   0 =8 b  mod 1 b 1
 
 C   1 =86 mod 1 a 9
 
 C   2 =31 mod 17 b  
 
 C   3   =e 9 mod 139
 
 C   4 =73 mod 1 a 3
 
     If only C 1 , C 2 , and C 4  are recovered, and the keys are known, the full plain text can be recovered: 
     
       
         
           
             
               
                 
                   
                     
                       P 
                       ⁡ 
                       
                         ( 
                         x 
                         ) 
                       
                     
                     = 
                       
                     ⁢ 
                     
                       
                         
                           ( 
                           
                             17 
                             ⁢ 
                             
                               b 
                               · 
                               1 
                             
                             ⁢ 
                             a 
                             ⁢ 
                             
                                 
                             
                             ⁢ 
                             3 
                           
                           ) 
                         
                         ⁡ 
                         
                           [ 
                           
                             
                               
                                 ( 
                                 
                                   17 
                                   ⁢ 
                                   
                                     b 
                                     · 
                                     1 
                                   
                                   ⁢ 
                                   a 
                                   ⁢ 
                                   
                                       
                                   
                                   ⁢ 
                                   3 
                                 
                                 ) 
                               
                               
                                 - 
                                 1 
                               
                             
                             ⁢ 
                             86 
                             ⁢ 
                             
                                 
                             
                             ⁢ 
                             mod 
                             ⁢ 
                             
                                 
                             
                             ⁢ 
                             1 
                             ⁢ 
                             a 
                             ⁢ 
                             
                                 
                             
                             ⁢ 
                             9 
                           
                           ] 
                         
                       
                       ⊕ 
                       
                         ( 
                         
                           1 
                           ⁢ 
                           a 
                           ⁢ 
                           
                               
                           
                           ⁢ 
                           
                             9 
                             · 
                             1 
                           
                           ⁢ 
                           a 
                           ⁢ 
                           
                               
                           
                           ⁢ 
                           3 
                         
                         ) 
                       
                     
                   
                 
               
               
                 
                   
                       
                     ⁢ 
                     
                       
                         [ 
                         
                           
                             
                               ( 
                               
                                 1 
                                 ⁢ 
                                 a 
                                 ⁢ 
                                 
                                     
                                 
                                 ⁢ 
                                 
                                   9 
                                   · 
                                   1 
                                 
                                 ⁢ 
                                 a 
                                 ⁢ 
                                 
                                     
                                 
                                 ⁢ 
                                 3 
                               
                               ) 
                             
                             
                               - 
                               1 
                             
                           
                           ⁢ 
                           31 
                           ⁢ 
                           mod 
                           ⁢ 
                           
                               
                           
                           ⁢ 
                           17 
                           ⁢ 
                           b 
                         
                         ] 
                       
                       ⁢ 
                       
                         
                           ( 
                           
                             1 
                             ⁢ 
                             a 
                             ⁢ 
                             
                                 
                             
                             ⁢ 
                             
                               9 
                               · 
                               17 
                             
                             ⁢ 
                             b 
                           
                           ) 
                         
                         ⁡ 
                         
                           [ 
                           
                             
                               
                                 ( 
                                 
                                   1 
                                   ⁢ 
                                   a 
                                   ⁢ 
                                   
                                       
                                   
                                   ⁢ 
                                   
                                     9 
                                     · 
                                     17 
                                   
                                   ⁢ 
                                   b 
                                 
                                 ) 
                               
                               
                                 - 
                                 1 
                               
                             
                             ⁢ 
                             73 
                             ⁢ 
                             
                                 
                             
                             ⁢ 
                             mod 
                             ⁢ 
                             
                                 
                             
                             ⁢ 
                             1 
                             ⁢ 
                             a 
                             ⁢ 
                             
                                 
                             
                             ⁢ 
                             3 
                           
                           ] 
                         
                       
                     
                   
                 
               
               
                 
                   
                     = 
                       
                     ⁢ 
                     
                       
                         1 
                         ⁢ 
                         ea 
                         ⁢ 
                         
                             
                         
                         ⁢ 
                         6 
                         ⁢ 
                         
                           d 
                           ⁡ 
                           
                             ( 
                             
                               
                                 39 
                                 
                                   - 
                                   1 
                                 
                               
                               ⁢ 
                               86 
                               ⁢ 
                               
                                   
                               
                               ⁢ 
                               mod 
                               ⁢ 
                               
                                   
                               
                               ⁢ 
                               1 
                               ⁢ 
                               a 
                               ⁢ 
                               
                                   
                               
                               ⁢ 
                               9 
                             
                             ) 
                           
                         
                       
                       ⊕ 
                       
                         14 
                         ⁢ 
                         a 
                         ⁢ 
                         
                             
                         
                         ⁢ 
                         5 
                         ⁢ 
                         
                           b 
                           ⁡ 
                           
                             ( 
                             
                               
                                 ad 
                                 
                                   - 
                                   1 
                                 
                               
                               ⁢ 
                               31 
                               ⁢ 
                               
                                   
                               
                               ⁢ 
                               mod 
                               ⁢ 
                               
                                   
                               
                               ⁢ 
                               17 
                               ⁢ 
                               b 
                             
                             ) 
                           
                         
                       
                       ⊕ 
                       
                         1 
                         ⁢ 
                         e 
                         ⁢ 
                         
                             
                         
                         ⁢ 
                         343 
                       
                     
                   
                 
               
               
                 
                   
                       
                     ⁢ 
                     
                       ( 
                       
                         5 
                         ⁢ 
                         
                           f 
                           
                             - 
                             1 
                           
                         
                         ⁢ 
                         73 
                         ⁢ 
                         
                             
                         
                         ⁢ 
                         mod 
                         ⁢ 
                         
                             
                         
                         ⁢ 
                         1 
                         ⁢ 
                         a 
                         ⁢ 
                         
                             
                         
                         ⁢ 
                         3 
                       
                       ) 
                     
                   
                 
               
               
                 
                   
                     = 
                       
                     ⁢ 
                     
                       
                         1 
                         ⁢ 
                         ea 
                         ⁢ 
                         
                             
                         
                         ⁢ 
                         6 
                         ⁢ 
                         
                           d 
                           ⁡ 
                           
                             ( 
                             
                               f 
                               ⁢ 
                               
                                   
                               
                               ⁢ 
                               
                                 0 
                                 · 
                                 86 
                               
                               ⁢ 
                               
                                   
                               
                               ⁢ 
                               mod 
                               ⁢ 
                               
                                   
                               
                               ⁢ 
                               1 
                               ⁢ 
                               a 
                               ⁢ 
                               
                                   
                               
                               ⁢ 
                               9 
                             
                             ) 
                           
                         
                       
                       ⊕ 
                       
                         14 
                         ⁢ 
                         a 
                         ⁢ 
                         
                             
                         
                         ⁢ 
                         5 
                         ⁢ 
                         
                           b 
                           ⁡ 
                           
                             ( 
                             
                               d 
                               ⁢ 
                               
                                   
                               
                               ⁢ 
                               
                                 2 
                                 · 
                                 31 
                               
                               ⁢ 
                               
                                   
                               
                               ⁢ 
                               mod 
                               ⁢ 
                               
                                   
                               
                               ⁢ 
                               17 
                               ⁢ 
                               b 
                             
                             ) 
                           
                         
                       
                       ⊕ 
                       
                         1 
                         ⁢ 
                         e 
                         ⁢ 
                         
                             
                         
                         ⁢ 
                         343 
                       
                     
                   
                 
               
               
                 
                   
                       
                     ⁢ 
                     
                       ( 
                       
                         6 
                         ⁢ 
                         
                           d 
                           · 
                           73 
                         
                         ⁢ 
                         
                             
                         
                         ⁢ 
                         mod 
                         ⁢ 
                         
                             
                         
                         ⁢ 
                         1 
                         ⁢ 
                         a 
                         ⁢ 
                         
                             
                         
                         ⁢ 
                         3 
                       
                       ) 
                     
                   
                 
               
               
                 
                   
                     = 
                       
                     ⁢ 
                     
                       
                         ( 
                         
                           1 
                           ⁢ 
                           ea 
                           ⁢ 
                           
                               
                           
                           ⁢ 
                           6 
                           ⁢ 
                           
                             d 
                             · 
                             b 
                           
                           ⁢ 
                           
                               
                           
                           ⁢ 
                           5 
                         
                         ) 
                       
                       ⊕ 
                       
                         ( 
                         
                           14 
                           ⁢ 
                           a 
                           ⁢ 
                           
                               
                           
                           ⁢ 
                           5 
                           ⁢ 
                           
                             b 
                             · 
                             2 
                           
                         
                         ) 
                       
                       ⊕ 
                       
                         ( 
                         
                           1 
                           ⁢ 
                           e 
                           ⁢ 
                           
                               
                           
                           ⁢ 
                           
                             343 
                             · 
                             80 
                           
                         
                         ) 
                       
                     
                   
                 
               
               
                 
                   
                     = 
                       
                     ⁢ 
                     
                       
                         d 
                         ⁢ 
                         
                             
                         
                         ⁢ 
                         09 
                         ⁢ 
                         e 
                         ⁢ 
                         
                             
                         
                         ⁢ 
                         29 
                       
                       ⊕ 
                       
                         294 
                         ⁢ 
                         b 
                         ⁢ 
                         
                             
                         
                         ⁢ 
                         6 
                       
                       ⊕ 
                       
                         f 
                         ⁢ 
                         
                             
                         
                         ⁢ 
                         1 
                         ⁢ 
                         a 
                         ⁢ 
                         
                             
                         
                         ⁢ 
                         180 
                       
                     
                   
                 
               
             
             ⁢ 
             
                 
             
           
         
       
     
     In this example, if all cipher words are known, an error may be corrected. For example, let the Cj received after transmission be {8b, 96, 31, e9, 73}(note the error in C 1 =96, C 1  was determined to be 86). 
     
       
         
           
             
               
                 
                   
                     P 
                     ⁡ 
                     
                       ( 
                       x 
                       ) 
                     
                   
                   = 
                     
                   ⁢ 
                   
                     
                       113 
                       ⁢ 
                       b 
                       ⁢ 
                       
                           
                       
                       ⁢ 
                       9 
                       ⁢ 
                       e 
                       ⁢ 
                       
                           
                       
                       ⁢ 
                       5 
                       ⁢ 
                       
                         fd 
                         ⁡ 
                         
                           ( 
                           
                             4 
                             ⁢ 
                             
                               b 
                               
                                 - 
                                 1 
                               
                             
                             ⁢ 
                             
                               C 
                               0 
                             
                             ⁢ 
                             mod 
                             ⁢ 
                             
                                 
                             
                             ⁢ 
                             1 
                             ⁢ 
                             b 
                             ⁢ 
                             
                                 
                             
                             ⁢ 
                             1 
                           
                           ) 
                         
                       
                     
                     ⊕ 
                     
                       101 
                       ⁢ 
                       f 
                       ⁢ 
                       
                           
                       
                       ⁢ 
                       3 
                       ⁢ 
                       e 
                       ⁢ 
                       
                           
                       
                       ⁢ 
                       905 
                       ⁢ 
                       
                         ( 
                         
                           8 
                           ⁢ 
                           
                             f 
                             
                               - 
                               1 
                             
                           
                           ⁢ 
                           
                             C 
                             1 
                           
                           ⁢ 
                           mod 
                           ⁢ 
                           
                               
                           
                           ⁢ 
                           1 
                           ⁢ 
                           a 
                           ⁢ 
                           
                               
                           
                           ⁢ 
                           9 
                         
                         ) 
                       
                     
                     ⊕ 
                   
                 
               
             
             
               
                 
                     
                   ⁢ 
                   
                     
                       1 
                       ⁢ 
                       fbd 
                       ⁢ 
                       
                           
                       
                       ⁢ 
                       82883 
                       ⁢ 
                       
                         ( 
                         
                           
                             55 
                             
                               - 
                               1 
                             
                           
                           ⁢ 
                           
                             C 
                             2 
                           
                           ⁢ 
                           mod 
                           ⁢ 
                           
                               
                           
                           ⁢ 
                           17 
                           ⁢ 
                           b 
                         
                         ) 
                       
                     
                     ⊕ 
                     
                       18 
                       ⁢ 
                       c 
                       ⁢ 
                       
                           
                       
                       ⁢ 
                       8 
                       ⁢ 
                       b 
                       ⁢ 
                       
                           
                       
                       ⁢ 
                       0 
                       ⁢ 
                       e 
                       ⁢ 
                       
                           
                       
                       ⁢ 
                       55 
                       ⁢ 
                       
                         ( 
                         
                           
                             14 
                             
                               - 
                               1 
                             
                           
                           ⁢ 
                           
                             C 
                             3 
                           
                           ⁢ 
                           mod 
                           ⁢ 
                           
                               
                           
                           ⁢ 
                           139 
                         
                         ) 
                       
                     
                     ⊕ 
                   
                 
               
             
             
               
                 
                     
                   ⁢ 
                   
                     10 
                     ⁢ 
                     cd 
                     ⁢ 
                     
                         
                     
                     ⁢ 
                     8495 
                     ⁢ 
                     
                       b 
                       ⁡ 
                       
                         ( 
                         
                           
                             89 
                             
                               - 
                               1 
                             
                           
                           ⁢ 
                           
                             C 
                             4 
                           
                           ⁢ 
                           mod 
                           ⁢ 
                           
                               
                           
                           ⁢ 
                           1 
                           ⁢ 
                           a 
                           ⁢ 
                           
                               
                           
                           ⁢ 
                           3 
                         
                         ) 
                       
                     
                   
                 
               
             
             
               
                 
                   = 
                     
                   ⁢ 
                   
                     
                       113 
                       ⁢ 
                       b 
                       ⁢ 
                       
                           
                       
                       ⁢ 
                       9 
                       ⁢ 
                       e 
                       ⁢ 
                       
                           
                       
                       ⁢ 
                       5 
                       ⁢ 
                       
                         fd 
                         ⁡ 
                         
                           ( 
                           
                             7 
                             ⁢ 
                             
                               c 
                               · 
                               
                                 C 
                                 0 
                               
                             
                             ⁢ 
                             mod 
                             ⁢ 
                             
                                 
                             
                             ⁢ 
                             1 
                             ⁢ 
                             b 
                             ⁢ 
                             
                                 
                             
                             ⁢ 
                             1 
                           
                           ) 
                         
                       
                     
                     ⊕ 
                     
                       101 
                       ⁢ 
                       f 
                       ⁢ 
                       
                           
                       
                       ⁢ 
                       3 
                       ⁢ 
                       
                           
                       
                       ⁢ 
                       e 
                       ⁢ 
                       
                           
                       
                       ⁢ 
                       905 
                       ⁢ 
                       
                         ( 
                         
                           4 
                           ⁢ 
                           
                             a 
                             · 
                             
                               C 
                               1 
                             
                           
                           ⁢ 
                           mod 
                           ⁢ 
                           
                               
                           
                           ⁢ 
                           1 
                           ⁢ 
                           a 
                           ⁢ 
                           
                               
                           
                           ⁢ 
                           9 
                         
                         ) 
                       
                     
                     ⊕ 
                   
                 
               
             
             
               
                 
                     
                   ⁢ 
                   
                     
                       1 
                       ⁢ 
                       fbd 
                       ⁢ 
                       
                           
                       
                       ⁢ 
                       82883 
                       ⁢ 
                       
                         ( 
                         
                           c 
                           ⁢ 
                           
                               
                           
                           ⁢ 
                           
                             9 
                             · 
                             
                               C 
                               2 
                             
                           
                           ⁢ 
                           mod 
                           ⁢ 
                           
                               
                           
                           ⁢ 
                           17 
                           ⁢ 
                           b 
                         
                         ) 
                       
                     
                     ⊕ 
                     
                       18 
                       ⁢ 
                       c 
                       ⁢ 
                       
                           
                       
                       ⁢ 
                       8 
                       ⁢ 
                       b 
                       ⁢ 
                       
                           
                       
                       ⁢ 
                       0 
                       ⁢ 
                       e 
                       ⁢ 
                       
                           
                       
                       ⁢ 
                       55 
                       ⁢ 
                       
                         ( 
                         
                           
                             16 
                             · 
                             
                               C 
                               3 
                             
                           
                           ⁢ 
                           mod 
                           ⁢ 
                           
                               
                           
                           ⁢ 
                           139 
                         
                         ) 
                       
                     
                     ⊕ 
                   
                 
               
             
             
               
                 
                     
                   ⁢ 
                   
                     10 
                     ⁢ 
                     cd 
                     ⁢ 
                     
                         
                     
                     ⁢ 
                     8495 
                     ⁢ 
                     
                       b 
                       ⁡ 
                       
                         ( 
                         
                           a 
                           ⁢ 
                           
                               
                           
                           ⁢ 
                           
                             6 
                             · 
                             
                               C 
                               4 
                             
                           
                           ⁢ 
                           mod 
                           ⁢ 
                           
                               
                           
                           ⁢ 
                           1 
                           ⁢ 
                           a 
                           ⁢ 
                           
                               
                           
                           ⁢ 
                           3 
                         
                         ) 
                       
                     
                   
                 
               
             
             
               
                 
                   = 
                     
                   ⁢ 
                   
                     
                       89 
                       ⁢ 
                       dcf 
                       ⁢ 
                       
                           
                       
                       ⁢ 
                       2 
                       ⁢ 
                       
                           
                       
                       ⁢ 
                       fe 
                       ⁢ 
                       
                           
                       
                       ⁢ 
                       8 
                     
                     ⊕ 
                     
                       1 
                       ⁢ 
                       f 
                       ⁢ 
                       
                           
                       
                       ⁢ 
                       157 
                       ⁢ 
                       a 
                       ⁢ 
                       
                           
                       
                       ⁢ 
                       4763 
                     
                     ⊕ 
                     
                       2 
                       ⁢ 
                       afb 
                       ⁢ 
                       
                           
                       
                       ⁢ 
                       4 
                       ⁢ 
                       e 
                       ⁢ 
                       
                           
                       
                       ⁢ 
                       07 
                       ⁢ 
                       c 
                       ⁢ 
                       
                           
                       
                       ⁢ 
                       1 
                     
                     ⊕ 
                     
                       8 
                       ⁢ 
                       eab 
                       ⁢ 
                       
                           
                       
                       ⁢ 
                       0882 
                       ⁢ 
                       cf 
                     
                     ⊕ 
                   
                 
               
             
             
               
                 
                     
                   ⁢ 
                   
                     4 
                     ⁢ 
                     c 
                     ⁢ 
                     
                         
                     
                     ⁢ 
                     76 
                     ⁢ 
                     d 
                     ⁢ 
                     
                         
                     
                     ⁢ 
                     9 
                     ⁢ 
                     e 
                     ⁢ 
                     
                         
                     
                     ⁢ 
                     299 
                   
                 
               
             
             
               
                 
                   = 
                     
                   ⁢ 
                   
                     ffae 
                     ⁢ 
                     
                         
                     
                     ⁢ 
                     2 
                     ⁢ 
                     a 
                     ⁢ 
                     
                         
                     
                     ⁢ 
                     0 
                     ⁢ 
                     f 
                     ⁢ 
                     
                         
                     
                     ⁢ 
                     1 
                     ⁢ 
                     c 
                     ⁢ 
                     
                         
                     
                     ⁢ 
                     mod 
                     ⁢ 
                     
                         
                     
                     ⁢ 
                     
                       M 
                       0 
                     
                     ⁢ 
                     
                       M 
                       1 
                     
                     ⁢ 
                     
                       M 
                       2 
                     
                     ⁢ 
                     
                       M 
                       3 
                     
                     ⁢ 
                     
                       
                         M 
                         4 
                       
                       . 
                     
                   
                 
               
             
           
         
       
     
     In only one error is in the blocks, then reducing this result modulo a smaller product (in this case M 0 M 2 M 3 M 4 ) can produce a polynomial with degree less than 24, the corrected plain text. Using a product containing C 1  mod M 1  returns a polynomial with a higher degree. The value reduced modulo the product of all moduli but one of (in order) M 0 , M 1 , . . . M 4 , is provided: 
     ffae2a0f1c=c3ba8b51 mod 113b9e5fd (M 0  removed, so M 1 M 2 M 3 M 4 ) 
     ffae2a0f1c=23ab1f mod 101f3e905 (M 1  removed, so M 0 M 2 M 3 M 4 ) 
     ffae2a0f1c=4e563719 mod 1fbd82883 (M 2  removed, so M 0 M 1 M 3 M 4 ) 
     ffae2a0f1c=b925b63f mod 18c8b0e55 (M 3  removed, so M 0 M 1 M 2 M 4 ) 
     ffae2a0f1c=d13bdbb9 mod 10cd8495b (M 4  removed, so M 0 M 1 M 2 M 3 ) 
     As can be seen, removing M 1  from the modulus recovers the original data 0x23ab1f. 
       FIG. 5  illustrates, by way of example, a graph  500  of error rate versus energy for a variety of encoding techniques. The graph  500 , as illustrated, includes uncoded data with added white Gaussian noise (AWGN) represented by line  506 , data encoded using a Reed Solomon technique, represented by line  504 , and data encoded using ECE, represented by line  502 . 
       FIG. 6  illustrates, by way of example, a block diagram of an embodiment of a machine  600  on which one or more of the methods, such as those discussed with regard to  FIGS. 3 and 4  and elsewhere herein can be implemented. In one or more embodiments, one or more items of the system  100  can be implemented by the machine  600 . In alternative embodiments, the machine  600  operates as a standalone device or may be connected (e.g., networked) to other machines. In one or more embodiments, the entwined cryptographic encoder  102 , the poly table  106 , the key generator  104 , the entwined cryptographic decoder  112 , the poly table  116 , the key generator  114 , the medium  108 , the encoding device  130  (the transmitter device), and/or the decoding device  140  (the receiver device) can include one or more of the items of the machine  600 . In a networked deployment, the machine  600  may operate in the capacity of a server or a client machine in server-client network environment, or as a peer machine in a peer-to-peer (or distributed) network environment. The machine  600  may be a personal computer (PC), a tablet PC, a set-top box (STB), a Personal Digital Assistant (PDA), a cellular telephone, a web appliance, a network router, switch or bridge, or any machine capable of executing instructions (sequential or otherwise) that specify actions to be taken by that machine. Further, while only a single machine is illustrated, the term “machine” shall also be taken to include any collection of machines that individually or jointly execute a set (or multiple sets) of instructions to perform any one or more of the methodologies discussed herein. 
     The example machine  800  includes processing circuitry  902  (e.g., a central processing unit (CPU), a graphics processing unit (GPU), an application specific integrated circuit, circuitry, such as one or more transistors, resistors, capacitors, inductors, diodes, logic gates, multiplexers, oscillators, buffers, modulators, regulators, amplifiers, demodulators, radios (e.g., transmit or receive radios or transceivers), sensors  621  (e.g., a transducer that converts one form of energy (e.g., light, heat, electrical, mechanical, or other energy) to another form of energy), or the like, or a combination thereof), a main memory  604  and a static memory  606 , which communicate with each other via a bus  608 . The machine  600  (e.g., computer system) may further include a video display unit  610  (e.g., a liquid crystal display (LCD) or a cathode ray tube (CRT)). The machine  600  also includes an alphanumeric input device  612  (e.g., a keyboard), a user interface (UI) navigation device  614  (e.g., a mouse), a disk drive or mass storage unit  616 , a signal generation device  618  (e.g., a speaker) and a network interface device  620 . 
     The disk drive unit  616  includes a machine-readable medium  622  on which is stored one or more sets of instructions and data structures (e.g., software)  624  embodying or utilized by any one or more of the methodologies or functions described herein. The instructions  624  may also reside, completely or at least partially, within the main memory  604  and/or within the processor  602  during execution thereof by the machine  600 , the main memory  604  and the processor  602  also constituting machine-readable media. 
     The machine  600  as illustrated includes an output controller  628 . The output controller  628  manages data flow to/from the machine  600 . The output controller  628  is sometimes called a device controller, with software that directly interacts with the output controller  628  being called a device driver. 
     While the machine-readable medium  622  is shown in an example embodiment to be a single medium, the term “machine-readable medium” may include a single medium or multiple media (e.g., a centralized or distributed database, and/or associated caches and servers) that store the one or more instructions or data structures. The term “machine-readable medium” shall also be taken to include any tangible medium that is capable of storing, encoding or carrying instructions for execution by the machine and that cause the machine to perform any one or more of the methodologies of the present invention, or that is capable of storing, encoding or carrying data structures utilized by or associated with such instructions. The term “machine-readable medium” shall accordingly be taken to include, but not be limited to, solid-state memories, and optical and magnetic media. Specific examples of machine-readable media include non-volatile memory, including by way of example semiconductor memory devices, e.g., Erasable Programmable Read-Only Memory (EPROM), Electrically Erasable Programmable Read-Only Memory (EEPROM), and flash memory devices; magnetic disks such as internal hard disks and removable disks; magneto-optical disks; and CD-ROM and DVD-ROM disks. 
     The instructions  624  may further be transmitted or received over a communications network  626  using a transmission medium. The instructions  624  may be transmitted using the network interface device  620  and any one of several well-known transfer protocols (e.g., HTTP). Examples of communication networks include a local area network (“LAN”), a wide area network (“WAN”), the Internet, mobile telephone networks, Plain Old Telephone (POTS) networks, and wireless data networks (e.g., WiFi and WiMax networks). The term “transmission medium” shall be taken to include any intangible medium that is capable of storing, encoding or carrying instructions for execution by the machine, and includes digital or analog communications signals or other intangible media to facilitate communication of such software. 
     Examples and Additional Notes 
     Example 1 can include an entwined cryptographic encode device comprising a memory including data indicating a set of relatively prime, irreducible polynomials stored and indexed thereon in a polynomial table, entwined cryptographic encoding circuitry to receive data, transform the data to a set of data integers modulo respective polynomial integers representative of respective polynomials of the polynomial table, and perform a Da Yen weave on the transformed data based on received cipher data, and provide the weaved transformed data to a medium. 
     In Example 2, Example 1 can further include key generator circuitry to produce a cipher stream of data based on a key, and wherein the entwined cryptographic encoding circuitry is further configured to transform the data to a set of data integers modulo respective polynomial integers and perform the Da Yen weave based on the received cipher stream. 
     In Example 3, Example 2 can further include, wherein another portion of the cipher stream provides an index to the respective polynomials. 
     In Example 4, Example 3 can further include, wherein the polynomials are indexed based on a respective root and primitive of the polynomials. 
     In Example 5, at least one of Examples 1-4 can further include, wherein the weaved transformed data includes the transformed received data and transformed cipher data transformed, by the entwined cryptographic encoding circuitry, based on data from the cipher stream. 
     In Example 6, at least one of Examples 1-5 can further include, wherein the entwined cryptographic encoding circuitry is further configured to split the received data into blocks of v-bit words, wherein the transformation of the data includes transformation of the blocks of v-bits words individually, and wherein v is a maximum degree of the polynomials in the memory. 
     In Example 7, at least one of Example 1-6 can further include, wherein a number of t-bit cipher words provided by the cipher stream includes the number of words in a block of the blocks, 2r, plus two times a maximum number of errors to be correctd, s, and a number of v-bit cipher words provided by the cipher stream includes two times the maximum number of errors to be correctd, wherein the weaved transformed data includes transformed versions of each of the v-bit words of the data block and transformed versions of the 2s, v-bit words from the cipher stream, wherein the number of polynomials in the memory is 2 t . 
     Example 8 includes an entwined cryptographic decode device comprising a memory including data indicating a set of relatively prime, irreducible polynomials stored and indexed thereon in a polynomial table, entwined cryptographic decoding circuitry to receive encrypted, encoded data, perform a Da Yen weave transform on a portion the encrypted, encoded data, compare the transformed data to another portion of the encrypted, encoded data to determine if errors exist in the transformed data, in response to a determination that no errors exist, convert the error-free version of data to plaintext, and provide the plaintext to a receiver. 
     In Example 9, Example 8 further includes, wherein the entwined cryptographic decoding circuitry is further configured to in response to a determination that errors exist, perform a weave swap on two words of the transformed data, and compare the weave swapped data to a different portion of the encrypted, encoded data to determine if errors exist in the weave swapped version. 
     In Example 10, Example 9 can further include key generator circuitry to produce a cipher stream of data based on a key, and wherein the entwined cryptographic decoding circuitry is further configured to transform the encrypted encoded data to a set of data integers modulo respective polynomial integers and perform the Da Yen weave transform based on the received cipher stream. 
     In Example 11, Example 10 can further include, wherein another portion of the cipher stream provides an index to respective polynomials represented by respective polynomial integers. 
     In Example 12, Example 11 can further include, wherein the polynomials are indexed based on a respective root and primitive of the polynomials. 
     In Example 13, at least one of Examples 8-12 can further include, wherein the weave transformed data includes the transformed received data and transformed cipher data transformed, by the entwined cryptographic decoding circuitry, based on data from the cipher stream. 
     In Example 14, at least one of Examples 8-13 can further include, wherein v is a maximum degree of the polynomials in the memory, wherein a number of t-bit cipher words provided by the cipher stream includes the number of words in a block of the blocks, 2r, plus two times a maximum number of errors to be correctd, s, and a number of v-bit cipher words provided by the cipher stream includes two times the maximum number of errors to be correctd, wherein the weaved transformed data includes transformed versions of each of the v-bit words of the data block and transformed versions of the 2s, v-bit words from the cipher stream, wherein the number of polynomials in the memory is 2 t . 
     In Example 15, an encryption and decryption system includes an entwined cryptographic encode device comprising a first memory including data indicating a set of relatively prime, irreducible polynomials stored and indexed thereon in a first polynomial table, entwined cryptographic encoding circuitry to receive data, transform the data to a set of data integers modulo respective polynomial integers representative of respective polynomials of the polynomial table, perform a Da Yen weave on the transformed data based on received cipher data, and provide the weaved transformed data to a medium, and an entwined cryptographic decode device comprising a second memory including data indicating the set of relatively prime, irreducible polynomials stored and indexed thereon in a second polynomial table, entwined cryptographic decoding circuitry to receive the encrypted, encoded data from the medium, perform a Da Yen weave transform on a first portion the encrypted, encoded data, compare the transformed data to a second portion of the encrypted, encoded data to determine if errors exist in the transformed data, in response to a determination that no errors exist, convert the error-free version of data to plaintext, and provide the plaintext to a receiver. 
     In Example 16, Example 15 may further include, wherein the entwined cryptographic encode device further includes first key generator circuitry to produce a first cipher stream of data based on a first key, and wherein the entwined cryptographic encoding circuitry is further configured to transform the data to a set of data integers modulo respective polynomial integers and perform the Da Yen weave based on the received first cipher stream, and the entwined cryptographic decode device further includes second key generator circuitry to produce a second cipher stream of data based on a second key, and wherein the entwined cryptographic decoding circuitry is further configured to transform the encrypted encoded data to a set of data integers modulo respective polynomial integers and perform the Da Yen weave transform based on the received second cipher stream. 
     In Example 17, Example 16 can further include, wherein the first and second key generator circuitry are synced 
     In Example 18, at least one of Examples 16-17 can further include, wherein a portion of the first cipher stream provides an index to the respective polynomials on the first memory and wherein a portion of the second cipher stream provides an index to the respective polynomials on the second memory. 
     In Example 19, Example 18 can further include, wherein the polynomials on the first and second memories are indexed based on a respective root and primitive of the polynomials. 
     In Example 20, at least one of Examples 16-19 can further include, wherein the entwined cryptographic decoding circuitry is further configured to, in response to a determination that errors exist, perform a weave swap on two words of the transformed data, and compare the weave swapped data to a different portion of the encrypted, encoded data to determine if errors exist in the weave swapped version. 
     In Example 21, at least one of Examples 16-20 can further include, wherein the weaved transformed data includes the transformed received data and transformed cipher data transformed, by the entwined cryptographic encoder circuitry, based on data from the cipher stream. 
     In Example 22, at least one of Examples 16-21 can further include, wherein the entwined encryption circuitry is further to split the received data into blocks of v-bit words, and transformation of the data includes transformation of the blocks of v-bits words individually, wherein v is a maximum degree of the polynomials in the memory. 
     In Example 23, at least one of Examples 16-22 can further include, wherein a number of t-bit cipher words provided by the first and second cipher streams includes the number of words in a block of the blocks, 2r, plus two times a maximum number of errors to be correctd, s, and a number of v-bit cipher words provided by the cipher stream includes two times the maximum number of errors to be correctd, wherein the weaved transformed data includes transformed versions of each of the v-bit words of the data block and transformed versions of the 2s, v-bit words from the cipher stream, wherein the number of first and second polynomials in the first and second memories is 2 t . 
     In Example 24, at least one of Examples 16-23 can further include, wherein another portion of the first cipher stream provides an index to first respective polynomials represented by respective polynomial integers. 
     In Example 25, at least one of Examples 16-24 can further include, wherein the first polynomials are indexed based on a respective root and primitive of the polynomials. 
     In Example 26, at least one of Examples 16-25 can further include, wherein the weave transformed data includes the transformed received data and transformed cipher data transformed, by the entwined cryptographic decoding circuitry, based on data from the cipher stream. 
     Example 27 can include a method for entwined cryptographic encoding storing, on a memory, data indicating a set of relatively prime, irreducible polynomials stored and indexed thereon in a polynomial table, receiving data, at entwined cryptographic encoding circuitry, transforming the data to a set of data integers modulo respective polynomial integers representative of respective polynomials of the polynomial table, performing a Da Yen weave on the transformed data based on received cipher data, and providing the weaved transformed data to a medium. 
     In Example 28, Example 27 can further include producing, using key generator circuitry, a cipher stream of data based on a key, and wherein the entwined cryptographic encoding circuitry is further configured to transform the data to a set of data integers modulo respective polynomial integers and perform the Da Yen weave based on the received cipher stream. 
     In Example 29, Example 28 can further include, wherein another portion of the cipher stream provides an index to the respective polynomials. 
     In Example 30, at least one of Examples 27-29 can further include, wherein the polynomials are indexed based on a respective root and primitive of the polynomials. 
     In Example 31, at least one of Examples 27-30 can further include, wherein the weaved transformed data includes the transformed received data and transformed cipher data transformed, by the entwined cryptographic encoding circuitry, based on data from the cipher stream. 
     In Example 32, at least one of Examples 27-31 can further include splitting the received data into blocks of v-bit words, wherein the transformation of the data includes transformation of the blocks of v-bits words individually, and wherein v is a maximum degree of the polynomials in the memory. 
     In Example 33, at least one of Example 27-32 can further include, wherein a number of t-bit cipher words provided by the cipher stream includes the number of words in a block of the blocks, 2r, plus two times a maximum number of errors to be correctd, s, and a number of v-bit cipher words provided by the cipher stream includes two times the maximum number of errors to be correctd, wherein the weaved transformed data includes transformed versions of each of the v-bit words of the data block and transformed versions of the 2s, v-bit words from the cipher stream, wherein the number of polynomials in the memory is 2 t . 
     Example 34 includes a method of entwined cryptographic decoding including storing, on a memory, data indicating a set of relatively prime, irreducible polynomials stored and indexed thereon in a polynomial table, receiving, at entwined cryptographic decoding circuitry, encrypted, encoded data, performing a Da Yen weave transform on a portion the encrypted, encoded data, comparing the transformed data to another portion of the encrypted, encoded data to determine if errors exist in the transformed data, in response to a determination that no errors exist, converting the error-free version of data to plaintext, and providing the plaintext to a receiver. 
     In Example 35, Example 34 further includes, in response to a determination that errors exist, performing a weave swap on two words of the transformed data, and compare the weave swapped data to a different portion of the encrypted, encoded data to determine if errors exist in the weave swapped version. 
     In Example 36, Example 35 can further include producing, using key generator circuitry, a cipher stream of data based on a key, and transforming the encrypted encoded data to a set of data integers modulo respective polynomial integers and perform the Da Yen weave transform based on the received cipher stream. 
     In Example 37, Example 36 can further include, wherein another portion of the cipher stream provides an index to respective polynomials represented by respective polynomial integers. 
     In Example 38, Example 37 can further include, wherein the polynomials are indexed based on a respective root and primitive of the polynomials. 
     In Example 39, at least one of Examples 34-38 can further include, wherein the weave transformed data includes the transformed received data and transformed cipher data transformed, by the entwined cryptographic decoding circuitry, based on data from the cipher stream. 
     In Example 40, at least one of Examples 34-39 can further include, wherein v is a maximum degree of the polynomials in the memory, wherein a number of t-bit cipher words provided by the cipher stream includes the number of words in a block of the blocks, 2r, plus two times a maximum number of errors to be correctd, s, and a number of v-bit cipher words provided by the cipher stream includes two times the maximum number of errors to be correctd, wherein the weaved transformed data includes transformed versions of each of the v-bit words of the data block and transformed versions of the 2s, v-bit words from the cipher stream, wherein the number of polynomials in the memory is 2 t . 
     Example 41 can include a non-transitory machine-readable medium including instructions that, when executed by a machine, configure the machine to perform operations of the method of at least one of Examples 27-40. 
     Although an embodiment has been described with reference to specific example embodiments, it will be evident that various modifications and changes may be made to these embodiments without departing from the broader spirit and scope of the invention. Accordingly, the specification and drawings are to be regarded in an illustrative rather than a restrictive sense. The accompanying drawings that form a part hereof, show by way of illustration, and not of limitation, specific embodiments in which the subject matter may be practiced. The embodiments illustrated are described in sufficient detail to enable those skilled in the art to practice the teachings disclosed herein. Other embodiments may be utilized and derived therefrom, such that structural and logical substitutions and changes may be made without departing from the scope of this disclosure. This Detailed Description, therefore, is not to be taken in a limiting sense, and the scope of various embodiments is defined only by the appended claims, along with the full range of equivalents to which such claims are entitled. 
     APPENDIX 
     A: Proofs for Woven Transform and Encoding 
     Lemma (Iterative Da Yen): Let R={μ j |0≤j&lt;n} be a set of relatively prime relations. Define the partial set R t ={μ j |0≤j&lt;t},  R t   =Π j=0   t-1 {circumflex over (μ)} j  for 0&lt;t≤n and
 
   R   l   =μ 0  
 
 w   t-1 =(   {circumflex over (R)}   t-1     −1 ({dot over (μ)} t-1   −     {dot over (R)}   t-1   )mod {circumflex over (μ)} t-1 )
 
   {dot over (R)}   t     =     {dot over (R)}   t-1     +     {circumflex over (R)}   t-1     {dot over (w)}   t-1  
 
for 1&lt;t≤n. Then  {dot over (R)} l   ≡μ j  for all 0≤j&lt;t.
 
Proof. With the set of relations R t , the Da Yen maps the direct product Π μϵR     t    F[x]/{circumflex over (μ)}F[x] to the factor ring F[x]/(Π μϵR     t   {circumflex over (μ)})F[x]. Therefore  {circumflex over (R)} t   =Π j=0   t-1 {circumflex over (μ)} j . All that is left to prove is that  {dot over (R)} t   ≡μ for all μϵR t  and | {dot over (R)} t   |&lt;|{circumflex over (R)} t |. These are both done by induction.
 
t=1: For t=1, R1={μ 0 }. By definition |{dot over (μ)} 0 |&lt;|{circumflex over (μ)} 0 | and is equivalent to itself. Assume | {dot over (R)} t   |&lt;|{dot over (R)} t | and  {dot over (R)} t   ≡μ for all μϵR t  for t=2, 3, . . . , (k−1).
 
t=k: If μϵR k-1 , then  {circumflex over (R)} k-1   ≡0 mod {circumflex over (μ)}, therefore  {dot over (R)} k   ≡ {dot over (R)} k-1    mod {circumflex over (μ)}. Since  {dot over (R)} k-1   ≡μ it is known that  {dot over (R)} k   ≡μ. The only relation in
 
R k  and not in R k-1  is μ k-1 . But:
 
                           〈       R   .     k     〉     ≡       ⁢       〈     R     k   -   1     ·     〉     +       〈       R   ^       k   -   1       〉     ⁢     (         〈       R   ^       k   -   1       〉       -   1       ⁢     (       μ     k   -   1     .     -     〈     R     k   -   1     .     〉       )       )                         ⁢     mod   ⁢           ⁢       μ   ^       k   -   1                     ≡       ⁢       〈     R     k   -   1     .     〉     +       (       μ     k   -   1     .     -     〈     R     k   -   1     .     〉       )     ⁢           ⁢   mod   ⁢           ⁢       μ   ^       k   -   1                       ≡       ⁢       μ     k   -   1     .     ⁢           ⁢   mod   ⁢           ⁢       μ   ^       k   -   1                                       
therefore  {dot over (R)} k   ≡μ for all μϵR k .
 
                          〈       R   .     k     〉          =       ⁢     deg   (       〈     R     k   -   1     ·     〉     +     〈       R   ^       k   -   1       〉                         ⁢     (         〈       R   ^       k   -   1       〉       -   1       ⁢     (       μ     k   -   1     ·     -       〈     R     k   -   1     ·     〉     ⁢           ⁢   mod   ⁢           ⁢       μ   ^       k   -   1           )       )                 =       ⁢     deg   ⁡     (       〈       R   ^       k   -   1       〉     ⁢           ⁢     (       〈       R   ^       k   -   1       〉       -   1       )     ⁢     (       μ     k   -   1     ·     -       〈     R     k   -   1     ·     〉     ⁢           ⁢   mod   ⁢           ⁢       μ   ^       k   -   1           )       )                   &lt;       ⁢       deg   ⁡     (     〈       R   ^       k   -   1       〉     )       +     deg   ⁡     (     μ     k   -   1       )                     &lt;       ⁢     deg   ⁡     (     〈       R   ^     k     〉     )                   
Therefore, by induction, the function generates the value for the Da Yen relation.
 
Lemma (Weave Terms): Let R={μ k |0≤k&lt;n} be a set of n relatively prime relations. If
 
 W   k   (0) =μ k   k= 0,1, . . . ,( n− 1)
 
 W   k   (j) ≡{circumflex over (μ)} j-1   −1 ( w   k   (j-1)   −w   j-1   (j-1) )mod {circumflex over (μ)} k 1≤ j≤k&lt;n  
 
and
 
 w   k ( {dot over (w)}   k   (k) mod {circumflex over (μ)} k )
 
Then w k  are the weaving relations needed in the iterative Da Yen.
 
Proof: the following will prove that
 
w k   (j) =( {circumflex over (R)} j     −1 ({dot over (μ)} k − {dot over (R)} j   ) mod {circumflex over (μ)} k ) for all 0≤j≤k&lt;n,
 
and w k =w k   (k) . By definition, w k   (0) =w 0 =a k . By induction on j:
 
For j=1: A 0 =a 0 =w 0 =w 0   (0)  therefore
 
w k   (1) =m 0   −1 (w k   (0) −w 0   (0) )≡M 0   −1  (a k −A 0 ) mod m k  for all 1≤k&lt;n. Furthermore,
 
w 1   (1) ≡M 0   −1 (a k −A 0 )≡w 1  mod m 1 .
 
Assume w k   (j) ≡M j-1   −1 (a k −A j-1 )mod m k , w j =w j   (j)  for 1≤j&lt;t and all j≤k&lt;n.
 
Then w k   (t)  for t≤k&lt;n is:
 
                     w   k     (   t   )       ≡       ⁢         m     t   -   1       -   1       ⁡     (       w   k     (     t   -   1     )       -     w     t   -   1       (     t   -   1     )         )       ⁢           ⁢   mod   ⁢           ⁢     m   k                   ≡       ⁢         m     t   -   1       -   1       ⁡     (         M     t   -   2       -   1       ⁡     (       a   k     -     A     t   -   2         )       -     w     t   -   1         )       ⁢           ⁢   mod   ⁢           ⁢     m   k                   ≡       ⁢         M     t   -   1       -   1       ⁡     (       a   k     -     (       A     t   -   2       +       M     t   -   2       ⁢     w     t   -   1           )       )       ⁢           ⁢   mod   ⁢           ⁢     m   k                   
It is known that A t-1 =A t-2 +M t-2 w t-1 , therefore
 
w k   (t) ≡M t-1   −1 (a k −A t-1 ) mod m k  and
 
w t =w t   (t)  ≡M t-1   −1 (a t −A t-1 )mod m k .
 
Proof of Error Correction Capabilities
 
Forcing the number of words used in the encoding to be even reduces computational cost, so in this description there will be 2r relations for plain text and 2s correction relations: R={μ j |0≤j&lt;2(r+s)}. Any subset I⊂R with |I|≥2r determines all 2(r+s) relations in R. In other words, I(μ)=μ for all μϵR.
 
Using the corrupted set R′, any 2r sized subset I⊂R′ is not guaranteed to have I(μ′)=μ′ for all μ′ϵR′.
 
However, the following proof will show that if there are at most s errors in R′ and I generates no more than s non-matching relations, then I contains no errors and R={I(μ′ j )|μ′ j ϵR′}.
 
The following set definitions help solidify the concepts and simplify the proof. The sets G, B contain the actual correct and corrupted relations, while GI, BI contain the observed correct and corrupted relations derived with a subset IϵR′.
 
 G={μ′   j   ϵR′|e   j ≡0}
 
 B={μ′   j   ϵR′|e   j ≡0}(13)
 
G I ={μ′ϵR′|I(μ′)=μ′}
 
 B   I   ={μ′ϵR′|I (μ′)≠μ′}  (14)
 
Notice that:
         1) Both pairs, G, B, and GI, BI partition the set of observed relations R′:
 
 R′=G∩Bø=G∪B  
 
 R′=G   I   ∩B   I   ø=G   I   ∪B   I  
   2) The sets G, B depend only on R and R′.   3) The sets GI, BI depend only on the results of  I , therefore if I, J are equivalent,  I ≡ J  and G I =G J  and B I =B J .   The following shows that if there are no more than s computed errors from I (e.g., |K I |≤s), then there are no errors in I and, since the relations are determined by a set of 2r elements, existing errors (e.g., relations in K I ) can be corrected with I(μ′)=μ. In the following theorem:   1. R={μ j |0≤j&lt;2(r+s)} is a set of equally sized relatively prime relations over a Euclidean domain, uniquely determined by any subset I⊂R of 2r elements. I(μ)=μ for all μϵR.   2. R′={μ′ j =μ j +e j |e j ϵE, 0≤j&lt;2(r+s)} is the set R corrupted by a set of errors.
 
This encoding scheme is essentially an application of the Da Yen. The proof relies on the following theorem:
   Let R={μ j |0≤j&lt;2(r+s)} be a set of relatively prime relations over uniquely determined 2r or more elements. Let the set with added errors be R′={μ′ j =μ j +e j |e j ϵE, 0≤j&lt;2(r+s)} with at most s non-zero e j . If I⊂R′ with |I|=2r, then |B I |&lt;s if and only if I⊂G.
 
Proof: Let R, R′ be defined as above with I⊂R′ a subset with 2r elements. All subsets J⊂G I  with |J|=|I| are equivalent to I:
   1. If I⊂G, then (μ)=μ for all μϵR and |B I |=|B|≤s.   2. If |B I |≤s:
           a. |G I |=|R′|−|B I |≥2(r+s)−s=2r+s.   b. Since |G I ∪B|≤s, |G I ∪G|=|G I |−|G I |∪B|≥2(r+s)−s=2r+s.   c. Therefore, there exists J⊂(G I ∪G) with |J|=2r and J=I.   d. Finally, since J⊂G and J=I,  I ≡ J  which implies μ′=I(μ′)=μ for all μ′ϵI and I⊂G.   
               

     
       
         
           
               
               
             
               
                   
               
             
            
               
                 μ 
                 relation μ = ({dot over (μ)} mod {circumflex over (μ)}); generally lower case Greek 
               
               
                 {circumflex over (μ)} 
                 modulus in relation μ 
               
               
                 {dot over (μ)} 
                 value, with |{dot over (μ)}| &lt; |{circumflex over (μ)}| 
               
               
                 R 
                 Set of relatively prime relations; generally upper case Latin 
               
               
                     R    
                 Relation with modulus    {circumflex over (R)}    = Π μ∈R {circumflex over (μ)} and value 
               
               
                   
                     {dot over (R)}    ≡ μ for all μϵR. 
               
               
                 {circumflex over (R)} 
                 Modulus for    R    , or     {circumflex over (R)}    = Π μ∈R {circumflex over (μ)} 
               
               
                 {dot over (R)} 
                 Value for    R    , or     {dot over (R)}    
               
               
                 R(μ) 
                 The relation generated by ({dot over (R)} mod {circumflex over (μ)}) 
               
               
                 R t   π   
                 The first t elements of weave transform of R permuted by π: 
               
               
                   
                 R t   π  = {w π(j)  | 0 ≤ j &lt; t}