SEQUENCE ENCRYPTION METHOD ACCOMPANYING ADJUSTABLE RANDOM RECONFIGURATION OF KEY

20200195430 ยท 2020-06-18

    Inventors

    Cpc classification

    International classification

    Abstract

    Disclosed is a random binary sequence-based sequence encryption method accompanied with random reconfiguration of a key. The method is mainly characterized in that (1) an existing random sequence is used to dynamically configure a seed random sequence at the beginning of each encryption operation, (2) the seed random sequence is used to pseudo-randomly configure a random key with a fixed-length or variable-length bit field, (3) the pseudo-random configuration of the random key accompanies an encryption process, (4) a transitive property of an exclusive-or operation is used to realize a variable-frequency nonlinear exclusive-or operation on a plaintext using the key, (5) adjustment of key configuration is realized by adjusting a characteristic vector, other operation vectors and a pseudo-random configuration function, such that adjustment of an encryption density can be realized without increasing time complexity, and (6) the characteristic vector are unable to be reversely inducted in polynomial time complexity.

    Claims

    1. A sequence encryption method accompanied with adjustable randomly-reconstructed key, characterized by sequence encryption/decryption accompanied with reconstructing a random sequence key based on a random binary sequence during encryption/decryption, the method comprising steps of: (1) dynamically constructing a seed random sequence B.sub.i (i=1, 2, . . . , m) at beginning of each encryption/decryption through an existing random sequence, wherein the seed random sequence B.sub.i (i=1, 2, . . . , m) is derived from a pseudo-random reconstruction of an alternative random sequence B.sup.j (j=1, 2, . . . , v), or is directly taken from the alternative random sequence B.sup.j (j=1, 2, . . . , v) if a quantity of the alternative random sequence is more than/equal to a quantity of the seed random sequence; wherein the alternative random sequence B.sup.j (j=1, 2, . . . , v) is a part of a contract of encryption and decryption parties, and the seed random sequence B.sub.i (i=1, 2, . . . , m) is pseudo-randomly reconstructed or truncated from B.sup.j (j=1, 2, . . . , v) starting from an agreed position according to an agreement; (2) pseudo-randomly constructing a random key B using the seed random sequence B.sub.i (l<=i<=m), wherein the process of constructing the random key B is accompanied with reconstructing a bit segment of a fixed or unfixed length and is processed segment by segment, wherein the generation of the random key B is accompanied during encryption/decryption process and the random key B is generated step by step through pseudo-randomly reconstructing each bit in the seed random sequence B.sub.i (l<=i<=m); and selecting a key bit segment for XOR in each step according the secret agreement of the encryption and decryption parties, wherein the process of selecting comprises obtaining frequencies of XOR of the encrypting/decrypting, a starting position of bit segment in B seed random sequence at each frequency and length of the bit segment, and a process of the pseudo-random reconstruction is determined by the secret agreement; (3) encrypting/decrypting a segment of the plaintext by the bit segment of the fixed or unfixed length, wherein each segment of the plaintext XORs with several corresponding key bit segments obtained by the pseudo-random reconstruction with a fixed frequency or variable frequency, an increase or no increase of the bit segment length between frequencies and swapping or not swapping of bits in cipher text segment between frequencies, to generate the cipher text.

    2. The sequence encryption method accompanied with adjustable randomly-reconstructed key according to claim 1, characterized by a part of convention in the secret convention being implemented by an agreement construction function which uses following random values as arguments: (1) a random value determined by the key bit segment in previous step according to the secret agreement for the pseudo-random reconstruction, (2) a random values determined by a pseudo-randomly agreed bit segment of other random sequences according to the secret agreement for the pseudo-random reconstruction, or (3) a random value determined by a value of a cipher text bit segment in the previous step according to the secret agreement for the pseudo-random reconstruction.

    3. The sequence encryption method accompanied with adjustable randomly-reconstructed key according to claim 1, characterized by: (1) forward shifting the bit segment of the plaintext in turn in the process of encryption/decryption for the plaintext segment by segment, wherein the length of the bit segment of the plaintext is equal to the length of the key bit segment, and the length i.sub.s of the key bit segment b.sub.s and the starting position p.sub.s of the key bit segment in the seed random sequence B.sub.i (l<=i<=m) all are determined by the contract agreed by the encryption and decryption parties; a same bit segment of the plaintext is subjected to multi-frequency XOR in turn by a plurality of key bit segments, and the frequency f.sub.s of the multi-frequency XOR is determined by the contract agreed by the encryption and decryption parties; (2) except the first frequency, forward or backward shifting the starting position p.sup.g.sub.s of the multi-frequency seed bit segment b.sup.g.sub.s (g=1, 2, . . . , f.sub.s) participating in the multi-frequency XOR according to the position of the multi-frequency seed bit segment b.sup.g1.sub.s in the previous frequency, that is, backward or forward shifting several bits according to the position of the multi-frequency seed bit segment in the previous frequency, wherein the starting position p.sup.g.sub.s of the multi-frequency seed bit segment b.sup.g.sub.s is forward or backward shifted to reach the last bit or first bit of the seed random sequence B.sub.i (l<=i<=m), the forward or backward shifting continues from the last bit or the first bit; (3) the length of the multi-frequency seed bit segment b.sup.g.sub.s in the multi-frequency XOR is still equal to l.sub.s; (4) determining the frequency f.sub.s of the multi-frequency XOR by the contract agreed by the encryption and decryption parties, wherein the pseudo-random reconstruction process of the seed random sequence B.sub.i (l<=i<=m) presents a morphology of forward or backward shifting equidistant from the plaintext when the selected frequency is 1, and the pseudo-random reconstruction process of the seed random sequence B.sub.i (l<=i<=m) presents a morphology of forward or backward shifting with hopping in times of distance from the plaintext when the selected frequency is greater than 1; (5) encrypting the bit segment of the plaintext with XOR at the fixed frequency step by step using the multi-frequency seed bit segment b.sub.s obtained above.

    4. The sequence encryption method accompanied with adjustable randomly-reconstructed key according to claim 1, characterized by improving encryption density by following steps: (1) determining the unit for calculating by the agreed starting position and agreed length of the key bit segment b.sub.s1 in the previous step; (2) determining the starting position p.sub.s of a reconstruction source b.sub.i,s (l<=i<=m) of the key bit segment b.sub.s of the random key B in the current step by a random value taken in the unit for calculating of the key b.sub.s1 or an associated bit segment of the random key B in the previous step and a feature quantity S through a positioning function P, wherein P is any function whose value domain covers the whole seed random sequence B.sub.i (l<=i<=m), that is, the value domain P(b.sub.s) of P satisfies 0<P(b.sub.s)n, and n is the maximum position of element in the seed random sequence B.sub.i (l<=i<=m); (3) determining the length l.sub.s of the key bit segment b.sub.s of the random key B and the reconstruction source b.sub.i,s (l<=i<=m) in the current step by the random value taken in the unit for calculating of the key bit segment b.sub.s1 or an associated bit segment of the random key B in the previous step and the feature quantity S through a length determining function L, wherein L is any function whose value domain is greater than 0, that is, the value domain L(b.sub.s) of L satisfies 0<L(b.sub.s)n, and n is the maximum position of element in the seed random sequence B.sub.i (l<=i<=m); (4) determining the frequency f.sub.s of XOR for the bit segment m.sub.s of the plaintext with the random key bit segment b.sub.s by the random value taken in the unit for calculating of the key bit segment b.sub.s1 or an associated bit segment of the random key B in the previous frequency and the feature quantity S through a frequency determining function F, wherein F is any function whose value domain is greater than 0; (5) determining the key bit segment b, in the seed random sequence B.sub.i (l<=i<=m) by p.sub.s and/or l.sub.s selected by the steps (2) and (3), determining the frequency f.sub.s of XOR in the current step by the step (4), selecting f.sub.s bit segments b.sup.1.sub.s, b.sup.2.sub.s, . . . , b.sup.fs.sub.s from the seed random sequence B.sub.i (l<=i<=m) in a manner of forward shifting or a pseudo random manner, and performing the multi-frequency XOR f.sub.s times orderly for the bit segment m.sub.s of the plaintext in the current step with the above selected key bit segments.

    5. The sequence encryption method accompanied with adjustable randomly-reconstructed key according to claim 1, characterized by further improving encryption density by following steps: (1) pseudo-randomly constructing the random key B with a plurality of seed random sequences B.sub.i (i=1, 2, 3, . . . , m; m is any positive integer), wherein the constructing comprises: (a) pseudo-randomly selecting or constructing a plurality of seed bit segments b.sub.i,s (i=1, 2, 3, . . . , m, b.sub.i,s is a seed bit segment selected in the s-th step from the i-th seed random sequence B.sub.i) according to the value of the key bit segment b.sub.s1 or the associated bit segment in the previous step in the agreed contract, performing orderly paired XOR for the seed bit segments one by one and taking a result as the key bit segment b.sub.s in the current step; (b) pseudo-randomly selecting one of b.sub.i,s (0<i<=m) as the key bit segment b.sup.q.sub.s (q=1, 2, . . . , f.sub.s) in the current step according to the value of the key bit segment b.sub.s1 or the associated bit segment in the previous step in the agreed contract; or (c) pseudo-randomly selecting part of b.sub.i,s (i=1, 2, 3, . . . , j; j<=m) in the current step according to the value of the key bit segment b.sub.s1 or the associated bit segment in the previous step in the agreed contract, one by one to XOR and performing the result as the key bit segment b.sup.q.sub.s (q=1, 2, . . . , f.sub.s); (Note: b.sub.i,s in (b) and (c) refers to m bit segments them picking up from B.sub.i in the sth step) (2) performing f-frequency ordered XOR on the bit segment m.sub.s of the plaintext through the key bit segment b.sup.q.sub.s (q=1, 2, . . . , f.sub.s) constructed by above (1).(b) or (1).(c); or (3) directly using various bit segments b.sub.i,s (i=1, 2, 3, . . . , m) selected by above (1).(a) as f.sub.s frequency key bit segments b.sub.gs (1, 2, . . . , f.sub.s), or constructing frequency seed bit segments b.sup.g.sub.s (1, 2, . . . , f.sub.s; i=1, 2, . . . , m; b.sup.g.sub.i,s is the g-th frequency seed bit segment selected in s-th step in respective seed random sequence b.sub.i) in a pseudo random manner one by one by any of above function P and function L and constructing frequency key bit segment b.sup.q.sub.s with m frequency seed bit segments b.sup.q.sub.i,s in each frequency, and then performing the multi-frequency XOR for f.sub.s times on the bit segment m.sub.s of the plaintext one by one or in a mixing way; wherein b.sup.q.sub.s (q=1, 2, . . . , f.sub.s) in (2) refers to f.sub.s bit segments constructed from B.sub.i in the sth step; b.sup.q.sub.i,s (q=1, 2, . . . , f.sub.s) in (3) refers to m*f.sub.s bit segments constructed from B.sub.i in the sth step.

    6. The sequence encryption method accompanied with adjustable randomly-reconstructed key according to claim 1, characterized by further improving encryption density by following steps: (1) constructing a bit hopping function J for selecting the key bit segment in the current step; or (2) in obtaining seed bit segment b.sub.i,s (i=1, 2, . . . , m) and/or frequency seed bit segment b.sup.q.sub.i,s (q=1, 2, . . . , f.sub.s), extracting or reconstructing each bit of each key bit segment in the current step or at the current frequency bit by bit starting from a source random sequence position determined by p.sub.s with pseudo-randomly hopping according to the bit hopping function J, until reaching the length l; (3) performing the multi-frequency ordered XOR for the bit segment m.sub.s of the plaintext after constructing key bit segment in a pseudo random manner with the seed bit segment b.sub.i,s (i=1, 2, . . . , m)_and/or frequency seed bit segment b.sup.g.sub.i,s (q=1, 2, . . . , f.sub.s).

    7. The sequence encryption method accompanied with adjustable randomly-reconstructed key according to claim 1, characterized by adding a step of pairing bits of the target bit segment between frequencies of the multi-frequency XOR to swap according to a pseudo-random secret agreement in the process of multi-frequency XOR to further improve the encryption density: (1) constructing a bit pairing function C for selecting the target bit segment in the current step; (2) performing swapping for the target bit segment of each frequency with the selected paired bits during encrypting in the manner of above 5.(2) or 5.(3); and (3) performing swapping for the cipher text bit segment with the selected paired bits during decrypting for the encrypted cipher text in above 5.(2) or 5.(3).

    8. The sequence encryption method accompanied with adjustable randomly-reconstructed key according to claim 1, characterized by adding a step of increasing the length of bit segment for XOR per frequency according to the contract agreed in the process of multi-frequency XOR to further improve the encryption density: (1) constructing a length extension function A for the bit segment between frequencies in the current step; (2) extending the plaintext bit segment and the key bit segment by a determined increase value frequency by frequency during encrypting in the manner of above 5.(2) or 5.(3); and (3) extending the cipher text bit segment and the key bit segment by the determined increase value frequency by frequency during decrypting in the manner of above 5.(2) or 5.(3); (4) after calculating at each frequency, backfilling the increased bits to the corresponding positions of the source sequence.

    9. The sequence encryption method accompanied with adjustable randomly-reconstructed key according to claim 1, characterized by adding alternative random sequences in implementing pseudo-randomly constructing the seed random sequence to improve a chaos degree of the seed random sequence B: (1) pre-generating more than one alternative random sequence B.sup.j (j=1, 2, . . . , m) for constructing the seed random sequence B.sub.i (l<=i<=m), establishing a positioning function P.sub.0 and the feature quantity S by using an instant random number E.sup.j (j=1, 2, . . . , m) called as engine the number of which matches B.sup.j (j=1, 2, . . . , m), and after the multi-alternate random sequence starting position p.sup.j.sub.0 (j=1, 2, . . . , m) of each B.sup.j (j=1, 2, . . . , m) is determined by P.sup.j.sub.0 driven with E.sup.j and S, obtaining multiple alternate random segments b.sup.j.sub.i,s(l<=i<=m; j=1, 2, . . . , m) by each alternate random sequence B.sup.j (j=1, 2, . . . , m), and then obtaining the seed segment bs by performing orderly paired XOR on the obtained m Multi-alternate random segments b.sup.j.sub.i,s (l<=i<=m; j=1, 2, . . . , m), wherein in the process of XOR, it continues with the bit of any B.sup.j from the starting of B.sup.j when the last bit of the B.sup.j is reached, until reaching a desired length of the seed bit segment b.sub.i,s (l<=i<=m); (2) determining the corresponding bit segment of the seed random sequence B.sub.i (l<=i<=m) from the bit segment b.sub.s1 of the previous step by substituting functions P, L, F, J, C and A for corresponding functions for generating a pseudo-random reconstruction element in (1), constructing the seed random sequence B.sub.i (l<=i<=m) segment by segment with the manner in (1), and changing the length of the generated seed random sequence B as desired; (3) for a plurality of seed random sequences B.sub.i (i=1, 2, . . . , m), repeating the above steps (1) and (2) to obtain different seed random sequences B.sub.i (i=1, 2, . . . , m).

    10. The sequence encryption method accompanied with adjustable randomly-reconstructed key according to claim 1, characterized by: the feature quantity S participating in the pseudo-random reconstruction being a constant or a variable of a function, a plurality of constants or variables of the function or an integration of the plurality of constants or variables of the function: (1) in the encryption process, P function, L function, F function, J function, C function and A function all allowing to use a plurality of S=S.sub.1, S.sub.2, S.sub.3, . . . , S.sub.m to participate in the pseudo-random reconstruction, and pseudo-randomly determining whether each S.sub.i is allowed to participate in the pseudo-random reconstruction by a manipulation function K randomly selecting k S.sub.i (i=1, 2, . . . , m) from the m S.sub.i to participate in calculating, km; (2) when S is a plurality of groups of feature quantities S.sup.r (r is a positive integer) for the pseudo-random reconstruction, supporting the sequence encryption/decryption for j series of plaintext based on r pairs of paired exclusive sequence keys B.sup.g (g=1, 2, . . . , r) of the common seed random sequence B.sub.i (i=1, 2, . . . , m), and when S is a plurality of groups of variables generated by a plurality of functions, supporting a plaintext sequence encryption/decryption architecture implemented based on multi-party paired exclusive sequence keys B.sup.q (q=1, 2, . . . , r) of the common seed random sequence B.sub.i(i=1, 2, 3, . . . , m).

    Description

    DETAILED DESCRIPTION OF EMBODIMENTS

    [0077] The invention will be further illustrated by the following examples.

    [0078] Embodiment 0:

    [0079] (S0.1) Length n of a random sequence is selected as 2048; one group of alternative random seed sequences are selected: B.sup.1: b.sup.1.sub.1, b.sup.12, b.sup.1.sub.3, . . . , b.sup.1.sub.n; for any determined number of engine E1, P=(E+S)% 2048 is used to obtain a start position p of B.sup.1. B.sup.1 is extracted starting from p by forward shifting and if b.sup.1.sub.n is reached the extraction continues from b.sup.1.sub.0, thereby obtaining an instant random seed sequence B={b.sup.1.sub.p, b.sup.1.sub.p1+1, . . . , b.sup.1.sub.p1+2, b.sup.1.sub.n, b.sup.1.sub.1, . . . , b.sup.1.sub.p1}.

    [0080] (S0.2) A unit length for calculating of each step is selected as 8 (1 byte), so (1) the corresponding maximum random value is 255; (2) the length of B is 256 bytes and a character array B [256] with 256 elements can be made up.

    [0081] (S1) It defines L.sub.s=8.

    [0082] (S2) It defines F.sub.s=1.

    [0083] (S3) It calculates stepping amount of a plaintext bit segment as P(m.sub.s)=P(m.sub.s1)+L.sub.s1=P(m.sub.s1)+8, and stepping amount of a key bit segment as P(b.sub.s)=(P(b.sub.s1)+L.sub.s1)%2048=(P(b.sub.s1)+8)% 2048.

    [0084] (S4) Stepping amount of a bit segment in B is 0 in a multi-frequency repeat XOR (because F.sub.s=1).

    [0085] (S5) b.sub.s=b.sub.s(P.sub.s, L.sub.s, F.sub.s)=b.sub.s1+8.

    [0086] (S6) XOR in the current step is performed c.sub.s=m.sub.sb.sub.s.

    [0087] (S7) S=S+1.

    [0088] The decryption process is the same as the encryption process, but only (S6) is changed to (S6):

    [0089] (S6) m.sub.s=c.sub.sb.sub.s.

    [0090] Embodiment 0 implements the simplest flow accompanied with pseudo-random reconstruction. Although practical significance is not large, the overall structure of the invention is shown.

    EMBODIMENT 1

    [0091] (S0.1) Length n of a random sequence is selected as 2048; two groups of alternative random seed sequences are selected: B.sup.1: b.sup.1.sub.1, b.sup.1.sub.2, b.sup.1.sub.3, . . . , b.sup.1.sub.n; B.sup.2: b.sup.2.sub.1, b.sup.2.sub.2, b.sup.2.sub.3, . . . , b.sup.2.sub.n; for any determined number of engines E1, E2, and any determined feature number SP=(E+S)% 2048 is used to obtain start positions p1 and p2 of B.sup.1 and B.sup.2. B.sup.1 and B.sup.2 are paired to XOR by forward shifting starting from p.sub.1 and p.sub.2 respectively, thereby obtaining an instant random seed sequence B={b.sup.1.sub.p1b.sup.2.sub.p2, b.sup.1.sub.(p1+1)%2048b.sup.2.sub.(p2+1)%2048), . . . b.sup.1.sub.(p1+1 )%2048.sup.2.sub.(p1+1)%2048}={b.sub.1, b.sub.2, b.sub.3, . . . }.

    [0092] (S0.2) A unit length for calculating of each step is selected as 8 (1 byte), so (1) the corresponding maximum random value is 255; (2) the length of B is 256 bytes and a character array B [256] with 256 elements can be made up.

    [0093] (S1) It defines L.sub.s.

    [0094] (S1.1) When the remaining plaintext stepped to is greater than or equal to L.sub.s, L.sub.s=B[P.sub.s1% 256]% 16+1.

    [0095] (S1.2) When the remaining plaintext stepped to is shorter than L.sub.s, it sets L.sub.s=the remaining plaintext length.

    [0096] (S2) It defines F.sub.s=B[P.sub.s1/8]% 2+1.

    [0097] (S3) Stepping of a plaintext bit segment is P (m.sub.s)=P(m.sub.s1)+L.sub.s1, and stepping of a key bit segment is P(b.sub.s)=(P(b.sub.s1)+L.sub.s1)% 2048.

    [0098] (S4) Stepping of a bit segment in B is 0 in a multi-frequency repeat XOR is P(b.sup.f.sub.s)=(P(b.sup.f1.sub.s)+L.sub.s)% 2048.

    [0099] (S5) b.sub.s=b.sub.s(P.sub.s, L.sub.s) when F.sub.s=1; or b.sup.f(2).sub.s=b.sup.f(2).sub.s(P.sub.s, L.sub.s) when F.sub.s=2.

    [0100] (S6) XOR in the current step is C.sub.s=m.sub.sb.sub.s when F.sub.s=1;

    [0101] or C.sub.s=(m.sub.sb.sub.s)b.sup.f(2).sub.s when F.sub.s=2,

    [0102] where the step size of m.sub.s is taken same as that of b.sub.s.

    [0103] (S7) S=S+1.

    [0104] The decryption process is the same as the encryption process, but only (S6) is changed to (S6):


    m.sub.s=c.sub.sb.sub.s when Fs=1;(S6)


    or C.sub.s=(m.sub.sb.sub.s)b.sup.f(2).sub.s when F.sub.s=2.

    [0105] P(m.sub.s), P(b.sub.s) and P(b.sup.f.sub.s) are the start bits of plaintext bit in the current step, key bit in the current step and key bit at the current frequency, respectively.

    [0106] % 2048 represents continuing from beginning when the last bit is reached.

    [0107] Embodiment 1 implements a simple pseudo-random reconstruction process with variable length and variable frequencies by forward shifting.

    EMBODIMENT 2

    [0108] The following changes are made to Embodiment 1.

    [0109] (S0.1.sup.2) Length n of a random sequence is selected as 524288; two groups of alternative random seed sequences are selected: B.sup.1: b.sup.1.sub.i, b.sup.1.sub.2, b.sup.1.sub.3, . . . , b.sup.1.sub.n; B.sup.2: b.sup.2.sub.1, b.sup.2.sub.2, b.sup.2.sub.3, . . . , b.sup.2.sub.n, for any determined number of engines E1 and E2, p.sub.1 and p.sub.2 are calculated with P being p.sub.s(B.sup.i)=(p.sub.s1(B.sup.i)*12345+1103515245+E.sub.i+S)% 524288; a random seed sequence is calculated as B={b.sub.1, b.sub.2, b.sub.3, . . . }={b.sup.1.sub.p1b.sup.2.sub.p2, b.sup.1.sub.(p1+1)%524288b.sup.2.sub.(p2+1)%524288, . . . , b.sup.1.sub.(p1+n)%524288b.sup.2.sub.(p2+n)%524288}.

    [0110] (S0.2.sup.2) A unit length for calculating of each step is selected as 16 (2 bytes), so (1) the corresponding maximum random value is 65535; (2) the length of B is 655356 bytes and a character array B [66536] with 65536 elements can be made up.

    [0111] (S1.1.sup.2) It defines L.sub.s=B[P.sub.s1% 65536]% 68+64 when the remaining plaintext stepped to is greater than or equal to L.sub.s.

    [0112] (S1.2.sup.2) When the remaining plaintext stepped to is less than L.sub.s, it sets L.sub.s=the remaining plaintext length.

    [0113] (S2.sup.2) It defines F.sub.s=(S+B[P.sub.s1% 65536])% 8+16.

    [0114] (S3.sup.2) The position for B in the embodiment (S3) is changed as


    P(b.sub.s)=(B[(P(b.sub.s1)+S)% 65536]+1103515245)% 524288.

    [0115] (S4.sup.2) The position for B in the embodiment (S4) is changed as


    P(b.sup.f.sub.s)=(B[(P(b.sup.f1.sub.s)+S)% 65536]+1103515245)% 524288,


    f=1, 2, . . . , F.sub.s.sup.; P(b.sup.f.sup.(1).sub.s)=P(b.sub.s).

    [0116] By above modifications, (1) the XOR frequency of multi-frequency XOR is increased; (2) the chaos degree of selecting cipher bit segment is improved by changing the selection mode for bit segment of the key B from a forward shifting mode to a pseudo-random mode of determining the position based on a value in the previous step; (3) the modulus in (S1.1.sup.2) is 68 rather than 64 or 32, which allows the longest length for selecting bit segment to be more than twice of the shortest length.

    [0117] The embodiment 2 implements the encryption process in which key in the current step is pseudo-randomly reconstructed by the random value of the key bit segment in the previous step.

    EMBODIMENT 3

    [0118] The following changes are made to Embodiment 2.

    [0119] (S0.4.sup.3) A further random sequence B.sup.T is defined with length equal to that of B.

    [0120] (S2.sup.3) It defines F.sub.s=(S+B[b.sub.s1% 65536])% 8+16.

    [0121] (S3.sup.3) The positioning for B in the embodiment (S3.sup.2) is changed to position for B.sup.T:


    P(b.sup.T.sub.s)=(B[(b.sub.s1+S)% 65536]+1103515245)% 524288.

    [0122] (S4.sup.3) The positioning for B in the embodiment (S4.sup.2) is changed as


    P(b.sup.T,.sup.f.sub.s)=(B[(b.sup.f1.sub.s+S)% 65536]+1103515245)% 524288;


    f=1, 2, . . . , F.sub.s; P(b.sup.T,f.sup.(1).sub.s)=P(b.sup.T.sub.s).

    [0123] By above modifications, the random value obtained from B to perform pseudo-random reconstruction for B.sup.T also allows B having concealment and chaotic characteristics.

    [0124] Embodiment 3 implements the process of scheduling another random sequence from a random value obtained from the previous step to implement a pseudo-random reconstruction for key.

    EMBODIMENT 4

    [0125] The following changes are made to Embodiment 2.

    [0126] (S0.4.sup.4) It defines the bit length to which the cipher text C is reached in the current step is c.sub.s.

    [0127] (S1.1.sup.4) The length of bit segment is modified: L.sub.s=B[P.sub.s1% 65536]% (c.sub.s1/8)+64.

    [0128] By above modifications, an XOR bit segment of B is selected by utilizing the progress of the generated cipher text without changing the concealment and chaotic characteristics of B.

    [0129] Embodiment 4 implements the process of controlling the pseudo-random reconstruction for key according to the progress of the cipher text sequence.

    EMBODIMENT 5

    [0130] The following changes are made to Embodiment 2.

    [0131] (S0.2.sup.5) A unit length for calculating of each step is selected as 20 (2.5 bytes), so the corresponding maximum random value is much greater than 65535; it is modulo 65536, and still distributed in array B [65536] in byte.

    [0132] (S7.sup.5) The positioning function for B in (S3.sup.2) is selected by the formula i=(b.sub.s1*S)% 3 from the following three functions:


    P[0](b.sub.s)=(B[(b.sub.s1+S)% 65536](B[c.sub.s1% 65536]))% 524288;


    P[1](b.sub.s)=(B[(b.sub.s1/8]+(S*12347))% 524288;


    P[2](b.sub.s)=(B[(b.sub.s1+S+1103515245)% 65536])% 524288;

    [0133] where c.sub.s1 represents the value taken from a cipher text in the previous step in the agreed calculation unit, and the chaos degree of the key element run is further improved.

    [0134] Note that (1) the decryption algorithm in this embodiment is modified, such that c.sub.s1 is the generated term of the corresponding construction function in encryption while c.sub.s1 is the source item of the corresponding construction function in decryption; (2) the cipher text bit segment is not used to construct the key bit segment, but instead is used to change the run of the key construction.

    [0135] Embodiment 5 implements a run of ciphertext indirectly scheduling pseudo-random reconstruction for key.

    EMBODIMENT 6

    [0136] The following changes are made to Embodiment 2.

    [0137] (S0.4.sup.6) It defines an array S[2]={cell number of a user; a user name;}.

    [0138] (S0.5.sup.6) It defines K=S[b.sub.s1% 2].

    [0139] (S2.sup.6) It defines F.sub.s=(S[b.sub.s1% 2]+B[P.sub.s1/8])% 8+16.

    [0140] (S3.sup.6) The positioning for B in (S3.sup.2) is changed as


    P(b.sub.s)=(B[(b.sub.s1+(S[b .sub.s1% 2]))% 65536])% 52428.

    [0141] (S4.sup.6) The positioning for B in (S4.sup.2) is changed as


    P(b.sup.f.sub.s)=(B[(b.sup.f1.sub.s+(S[b.sub.s1% 2]))%65536])%524288, f=1,2, . . . F.sub.s.

    [0142] The chaos degree of the run of positioning and determining frequency is further improved.

    [0143] Embodiment 6 implements the process of implementing the pseudo-random reconstruction for key from a random value obtained from the previous step and a plurality of feature values.

    EMBODIMENT 7

    [0144] The following changes are made to Embodiment 2.

    [0145] (S0.1.sup.7) One group of alternative random seed sequences is added: B.sup.3: b.sup.3.sub.1, b.sup.3.sub.2, b.sup.3.sub.3, . . . , b.sup.3.sub.n. Another seed random sequence B2 is generated from B.sup.2 and B.sup.3 using the same method.

    [0146] (S0.4.sup.7) It defines a seed sequence array B[2]={B.sub.1, B.sub.2}.

    [0147] (S0.5.sup.7) It defines G=B[b.sub.s1]% 2+1.

    [0148] (S2.sup.7) It define F.sub.s=(S+B.sub.G[P.sub.s1/8])% 8+16.

    [0149] The following changes are made to Embodiment 6.

    [0150] (S3.sup.7) The positioning for B in (S3.sup.2) is changed as


    P(b.sub.s)=(B.sub.G[(b.sub.s1+(S[b.sub.s1%2]))%65536])%524288.

    [0151] (S4.sup.7) The positioning for B in (S4.sup.2) is changed as


    P(b.sup.f.sub.s)=(B.sub.G[(b.sup.f1.sub.s+(S[b.sup.f1.sub.s%2]))%65536])%524288.

    [0152] The chaos degree of the run of positioning and determining frequency is further improved.

    [0153] Embodiment 7 implements the process of pseudo-randomly selecting the seed random sequence reconstructed key in the current step from a plurality of seed random sequences.

    EMBODIMENT 8

    [0154] The following changes are made to Embodiment 2.

    [0155] (S0.1.sup.8) One group of alternative random seed sequences is added: B.sup.3: b.sup.3.sub.1, b.sup.3.sub.2, b.sup.3.sub.3, . . . , b.sup.3.sub.n. Another seed random sequence B2 is generated from B.sup.2 and B.sup.3 using the same method.

    [0156] (S0.4.sup.8) It defines a seed sequence array B[2]={B.sub.1, B.sub.2}.

    [0157] (S0.5.sup.8) It defines G=B[b.sub.s1% 2]+1.

    [0158] (S2.sup.8) It define F.sub.s=(K+B.sub.G[P.sub.s1/8])% 8+16.

    [0159] (S3.sup.8) The positioning for B in (S3.sup.2) is changed as P(b.sub.s)=(B.sub.1[b.sub.s1% 65536])(B.sub.2[b.sub.s1% 65536]).

    [0160] (S4.sup.8) The positioning for B in (S4.sup.2) is changed as P(b.sup.f.sub.s)=(B.sub.1[b.sup.f1.sub.s% 65536])(B.sub.2[b.sup.f1.sub.s% 65536]).

    [0161] The chaos degree of the run of positioning and determining frequency is further improved.

    [0162] Embodiment 8 implements the process of implementing pseudo-random reconstruction for key using a plurality of seed random sequences at the same time.

    EMBODIMENT 9

    [0163] The following changes are made to Embodiment 2.

    [0164] (S0.1.sup.9) One group of alternative random seed sequences is added: B.sup.3: b.sup.3.sub.1, b.sup.3.sub.2, b.sup.3.sub.3, . . . , b.sup.3.sub.n. Another seed random sequence B.sup.2 is generated from B.sup.2 and B.sup.3 using the same method.

    [0165] (S0.4.sup.9) It defines a seed sequence array B[2]={B.sub.1, B.sub.2}.

    [0166] (S0.5.sup.9) It defines G=B[b.sub.s1% 2].

    [0167] (S2.sup.9) It define F.sub.s=(B.sub.G[b.sub.s1/8])% 8+8.

    [0168] (S3.sup.9) The positioning for B in (S3.sup.2) is changed as positioning for two seeds respectively P(b.sub.1.sub.,s)=B.sub.1[(b.sub.s1+S)% 65536], P(b.sub.2.sub.,s)=B.sub.2[(b.sub.s1 +S)% 65536].

    [0169] (S4.sup.9) The positioning for B in (S4.sup.2) is changed as positioning for two seeds respectively P(b.sup.f.sub.1,s)=B.sub.1[(b.sup.f1.sub.s+S)% 65536], P(b.sup.f.sub.2, .sub.s)=B.sub.2[(b.sup.f1.sub.s+S)% 65536];


    f=0,1, . . . , F.sub.s.

    [0170] The encryption process is defined as:

    [0171] (S6.sup.9) in the current step, c.sub.s=( . . . (m.sub.sb.sub.1,s)b.sub.2,sb.sup.f2.sub.1,s)b.sup.f2.sub.2,s) . . . b.sup.Fs.sub.1,s)b.sup.Fs.sub.2,s).

    [0172] The chaos degree of the run of positioning and determining frequency is further improved.

    [0173] The decryption process is the same as the encryption process, but only (S6.sup.9) is changed to (S6.sup.9):


    m.sub.s=( . . . (c.sub.sb.sub.1,s)b.sub.2,s)b.sup.f2.sub.1,s)b.sup.f2.sub.2,s) . . . b.sup.Fs.sub.1,s)b.sup.Fs.sub.2,s.(S6.sup.9)

    [0174] Embodiment 9 implements the process of scheduling multiple seed random sequences from a random value obtained from the previous step to directly perform multi-frequency XOR encryption on plaintext.

    EMBODIMENT 10

    [0175] The following changes are made to Embodiment 9.

    [0176] (S5.sup.10) It implements key pseudo-random reconstruction with or without hopping.)

    [0177] (S5.1.sup.10) It defines J.sup.1={j.sup.1.sub.1, j.sup.1.sub.2, . . . , j.sup.1.sub.L}, where j.sup.1.sub.1 is the first bit of B.sub.1[b.sub.s1] and the subsequence shifts forward in turn;

    [0178] J.sup.2={j.sup.2.sub.1, j.sup.2.sub.2, . . . , j.sup.2.sub.L}, where j.sup.2.sub.1 is the first bit of B.sub.2[b.sub.s1] and the subsequence shifts forward in turn;

    [0179] J.sup.f,1={j.sup.f,1.sub.1, j.sup.f,1.sub.2, . . . , j.sup.f,1.sub.L}, where j.sup.f,1.sub.1 is the first bit of B.sub.1[b.sup.f1.sub.s] and the subsequence shifts forward in turn;

    [0180] J.sup.f,2={j.sup.f,2.sub.1, j.sup.f,2.sub.2, . . . , j.sup.f,2.sub.L}, where j.sup.f,2.sub.1 is the first bit of B.sub.2[b.sup.f1.sub.s] and the subsequence and the subsequence shifts forward in turn;

    [0181] f=1, 2, . . . , F.sub.s (note that the argument domain of J is not B.sub.1[(P(b.sub.21)+16)% 65536].)

    [0182] (S5.2.sup.10)

    [0183] Each bit is selected from B.sub.i by the following formula according to the element in above array J hopping forward or not hopping to concatenate the key bit segment:

    [00001] b i , s = .Math. l = 1 Ls .Math. b i , l >> j l , .Math. b i fs s = .Math. l = 1 Ls .Math. b i fs l >> j l

    [0184] Embodiment 10 implements the selection of a plurality of key segment bits with or without hopping to perform a multi-frequency encryption process on a plaintext bit segment directly.

    [0185] Embodiment 11: (S6.sup.9) in Embodiment 9 is decomposed as following:

    [0186] (S6.0.sup.11) establishing a pairing function C for determining that the bits to be swapped are L/2+8 and L/28 from the start bit in the multi-frequency;

    [0187] (S6.1.sup.11) decomposing (S6.sup.9) as F.sub.s frequencies:


    c.sub.1=m.sub.sb.sub.1,s; c.sub.2=c.sub.1b.sub.2,s; c.sub.3=c.sub.2b.sup.f2.sub.1,s; . . . ; c.sub.Fs1b.sup.Fs.sub.2,s;

    [0188] (S6.2.sup.11) pairing the target bit segment c.sub.fs for swapping after XOR of each frequency:


    c.sup.q.sub.L/2+8<>c.sup.q.sub.L/28.

    [0189] Note that: in the decryption, the above pairing for swapping is performed on the source bit segment (cipher text) prior to XOR in each frequency of (S6.1.sup.11).

    [0190] Embodiment 11 implements an encryption process with pseudo-random reconstruction with a pair of bits pairing for swapping, and the swapping by pseudo-randomly bit pairing can be performed multiply times at one frequency, and the number of times can be pseudo-randomly determined as well.

    EMBODIMENT 12

    [0191] (S6.2.0.sup.12) The bit length in (S6.1.sup.11) in embodiment 11 is extended by increase amount calculated by function A in each frequency


    A.sub.f,s=L.sup.f1,s+(S*F.sub.s+12345)%3+1

    [0192] (6.2.1.sup.12) For the target of XOR in each frequency, the extended bits of the length of A.sub.f,s from a plaintext are concatenated until the plaintext reaches the end (in decryption, the extended bits from cipher text are concatenated)


    C.sub.f=(c.sub.f1b.sub.2,s)m.sub.(Lf1,s+S%Fs); . . . ; c.sub.Fs1=(c.sub.Fs2b.sub.1,s)m.sub.(LFs1,s+S%Fs)

    [0193] m.sub.(LFs1,s+S%Fs) is the extended bits of the plaintext with length determined by the previous frequency

    [0194] b.sub.1,s the pseudo-randomly constructed key with the extended bits.

    [0195] (S6.2.2.sup.12) After XOR (with the extended bits) at each frequency is completed, all bits of the extended portion are backfilled to the corresponding bits of the plaintext to participate in XOR in the next step.

    [0196] The decryption process is the same as the encryption process, but only (S6.2.sup.12) is changed to (S6.2.sup.12):

    [0197] (S6.2.sup.12) for the target of XOR in each frequency, the extended bits from the cipher text are concatenated until the cipher text reaches the end


    m.sub.f=(m.sub.f1b.sub.2,s)c.sub.(Lf1,s+S%Fs); . . . ; m.sub.Fs1=(m.sub.Fs2b.sub.1,s)c.sub.(LFs1,s+S%Fs).

    [0198] (S6.2.2.sup.12) After XOR (without the extended bits) at each frequency is completed, XOR with extension is performed frequency by frequency in a reverse order by the extended key bits of each frequency in the previous step.

    [0199] Note that: the source bit segment in the current step has been partially processed by the S.sup.th step, that is, the starting portion of the target bit segment in the S+1.sup.th step is XORed with both the key in the S.sup.th step and the key in the S+1.sup.th step. Since each step follows a pseudo-random convention at work, the process does not change in the decryption, and the plaintext can be recovered by the decryption.

    [0200] Embodiment 12 implements a variation of the length of bit segment in XOR of each frequency. This makes the accompanied pseudo-random reconstruction method presents the encryption effect of being associated with each other.

    EMBODIMENT 13

    [0201] The following changes are made to Embodiment 9.

    [0202] (S0.1.sup.13) Length n of a random sequence is selected as 524288; two groups of alternative random seed sequences are selected: B.sup.1: b.sup.1.sub.1, b.sup.1.sub.2, b.sup.1.sub.3, . . . , b.sup.1.sub.n; B.sup.2: b.sup.2.sub.1, b.sup.2.sub.2, b.sup.2.sub.3, . . . , b.sup.2.sub.n; for any determined number of engines E1 and E2, p.sub.1 and p.sub.2 are calculated with P being p.sub.i=((p.sub.i1+1)*12345+1103515245+E+S)% 524288.

    [0203] (S0.3.sup.13) It defines F.sup.j.sub.s=(S+B[P.sup.j.sub.s1% 65536])% 8+16.

    [0204] (S0.4.sup.13) It defines a positioning function for B.sub.j P(b.sup.j.sub.s)=B[(b.sup.j.sub.s1+S)% 65536]% 524288.

    [0205] (S0.5.sup.13) It defines the length L.sub.s of bit segment of the seed random sequence for pseudo-random reconstruction.

    [0206] (S0.5.1.sup.13) When the remaining length of the alternative random sequence B.sup.i is greater than or equal to L.sub.s, L.sub.s=B.sup.1[b.sub.s1% 65536]% 16+64.

    [0207] (S0.5.2.sup.13) When the remaining length of the alternative random sequence B.sup.i is less than L.sub.s, it sets L.sub.s=the remaining plaintext length.

    [0208] (S0.6.sup.13) b.sup.j.sub.s=b.sup.j.sub.s(P.sup.j.sub.s, L.sup.j.sub.s, F.sup.j.sub.s).

    [0209] (S0.7.sup.13) XOR in the current step b.sub.s=b.sup.1.sub.sb.sup.2.sub.s.

    [0210] (S0.8.sup.13) S=S+1.

    [0211] Then the chaos degree of obtaining the seed random sequence is improved.

    [0212] Embodiment 13 implements a pseudo-random reconstruction process with a seed random sequence in a manner of non-forward shifting.

    [0213] The various manipulation functions used in the various embodiments described above all have an adjustable space, and provide sufficient application space for the method accompanied with pseudo-random construction.