CN110727956B - Double-authentication test question backup disguising method combining codebook expansion and question stem hashing - Google Patents

Double-authentication test question backup disguising method combining codebook expansion and question stem hashing Download PDF

Info

Publication number
CN110727956B
CN110727956B CN201910964051.9A CN201910964051A CN110727956B CN 110727956 B CN110727956 B CN 110727956B CN 201910964051 A CN201910964051 A CN 201910964051A CN 110727956 B CN110727956 B CN 110727956B
Authority
CN
China
Prior art keywords
question
sequence
secret
test
test question
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201910964051.9A
Other languages
Chinese (zh)
Other versions
CN110727956A (en
Inventor
邵利平
陆海
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shaanxi Normal University
Original Assignee
Shaanxi Normal University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shaanxi Normal University filed Critical Shaanxi Normal University
Priority to CN201910964051.9A priority Critical patent/CN110727956B/en
Publication of CN110727956A publication Critical patent/CN110727956A/en
Application granted granted Critical
Publication of CN110727956B publication Critical patent/CN110727956B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6209Protecting access to data via a platform, e.g. using keys or access control rules to a single file or object, e.g. in a secure envelope, encrypted and accessed using a key, or with access control rules appended to the object itself
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0869Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds

Abstract

The invention providesA double-authentication test question backup camouflage method combining codebook expansion and question stem hashing is provided. First, GF (2) is constructed 8 ) The domain Lagrange separate storage polynomial backs up the secret byte sequence into a backup byte sequence, and the backup byte sequence is coded into a backup index sequence according to a codebook expansion strategy; secondly, generating a multi-channel test question library, mapping the MD5 value of the question stem into a hash value of the question stem by using a channel index, and expressing a backup index sequence by using the arrangement sequence of the test question options and the hash value of the question stem. When recovering, the extracted information is authenticated by the attribute and separate storage reconstruction coefficient of the legal interval, then candidate recovery values are generated, and the candidate recovery value with the highest reliability is selected to reconstruct the secret information. Compared with the existing method, the method completely depends on the secret key, has self-repairing capability, can fully utilize the question stem hash and the option arrangement sequence to express information, has high embedding capacity of single test questions, cannot distinguish between the test questions with the secret content and the test questions without the secret content, and has high safety.

Description

Double-authentication test question backup disguising method combining codebook expansion and question stem hashing
Technical Field
The invention belongs to the crossing field of information safety and text information hiding, relates to a disguising method, and particularly relates to a double-authentication test question backup disguising method combining codebook expansion and question stem hashing.
Background
With the continuous deepening of deep learning and the continuous development of artificial intelligence, machine learning based on big data and quantum computers are put into the first days, so that the situation of multimedia information safety which uses image and audio as main transmission media in the prior art becomes more severe. Meanwhile, with the continuous development of compression technology, the available redundant space of the traditional information hiding based on modified embedding is smaller and smaller, and on the other hand, the dimension of the steganographic classifier based on machine learning is continuously improved, even a spatial domain rich feature model with 34761 dimension appears, so that the possibility that the hidden information hidden by the traditional information is not found is smaller and smaller, and all of the hidden information hidden by the traditional information hiding technology falls into the bottleneck.
How to effectively carry out the next-generation information hiding technology research, the national information hiding and multimedia security expert workshop called by experts from Beijing and Shanghai in 5 months 2014 firstly proposes 'carrier-free information hiding'. On the 12 th national information hiding conference summons summoned in wuhan in 3 months in 2015, the longguoyao researcher of beijing electronics technology application institute reports in the conference special invitation: the information hiding method is a method for hiding information, and a carrier-free information hiding technology is listed as a front position of information hiding in the future. In the 13 th national information hiding conference in the joint fertilization in 2016, carrier-free information hiding is formally positioned as a 2 nd generation information hiding technology, and 2 conference subject reports are directly related to carrier-free information hiding. The 14 th national information hiding conference called 2018 organizes a special field discussion for carrier-free information hiding.
Compared with the traditional method for modifying the embedded information hiding, the carrier-free information hiding emphasizes that a secret carrier is directly generated and obtained by secret information driving without an additional embedded carrier. Aiming at the carrier-free information hiding of the text, respectively providing: (Chen X Y, chen S, wu, Y L. Conversion information rendering method based on the Chinese character encoding [ J ]. Journal of Internet Technology,2017,18 (2): 313-320.) based on Chinese character encoding, chen X Y,2015. (Chen X Y, sun H Y, tobe Y, zhou Z L, sun X M. Conversion information rendering method based on the Chinese character encoding [ C ]/International conversion cloning, and curing. Sprinter International publication, mathematics, and mathematics, zohou Z, Z expression, and conversion information of the Chinese character encoding [ C ]/Z, J. (conversion) rendering, and conversion information of the Chinese character encoding and curing. J.) (Chen X Y, chen S, wu, Y L. Conversion information rendering [ J ]. Conversion information rendering [ C ]: no. 12, J.); for the image carrier-free information hiding, the following methods are provided: zhou Z L, sun H Y, harit R H, chen X Y, sun X M.conversion image basis with out embedding [ C ]// International Conference on Cloud Computing and Security.spring International Publishing,2015 123-132.) based on block mean comparison, yuan C S,2017, (Yuan C S, xia Z H, sun X M.conversion image basis SIFT and BOF [ J ]. Journal of Internet Technology,2017,18 (2): 435-442.) robust hash Features based on SIFT (Scale Invariant Feature Transform) and BOF (Bag of Features) and peripheral, 2016 (college, cao Yi, sun Star.) Carrier-free information hiding based on image Bag-of-Words model [ J ] applied science report, 2016,34 (5): 527-536.) local participle matching and globally ordered non-embedded carrier-free image information hiding based on image visual vocabulary BOW (Bag of Words). The basic idea of the methods is to divide the secret information into small segments, attach specific user identification information to the small segments after transformation, then search a matched text or image set in a massive large text or image database by means of a pre-established inverted index, and since the whole secret information hiding process does not involve any modification of distributed texts or images, but only searches exhaustively by means of the massive database, for any distributed text or image, an abnormal natural text or natural image cannot be detected normally, so steganography analysis can be resisted, and at the same time, only a legal user who grasps correct user identification information can acquire the hidden secret information.
However, such methods have problems:
(1) normal text and images have very limited capability of representing secret information irrelevant to the normal text and images, and if the text and images in the database have enough expression capability, enough samples need to be collected, for example: for text non-embedded carrier-free information hiding, the average embedding capacity of the non-embedded carrier-free text information hiding methods of Chen X Y,2017, chen X Y,2015 and Zhou Z L,2016 is only 2.07, 1 and 1.57 Chinese characters/text, and in order to enable the constructed data to have sufficient expressive ability, the size of the text database constructed by Chen X Y,2017 is about 10 GB, and the average size of each document is about 2KB; the text database constructed by Zhou Z L,2016 is 10.2 GB, with an average size of about 1KB per document; for the information hiding without carrier of the image, the embedding capacity of Zhou Z L,2015 and Yuan C S,2017 is 8 bits/image, the one-to-one correspondence between image visual vocabularies and chinese keywords is directly established by zhongxiu Z L,2016, but each image can only store 1 visual vocabulary by using 1 local block, so the corresponding embedding capacity of the method is 1 chinese keyword/image, if no word segmentation dictionary exists in the method, the method can only encode according to a single chinese character, so the embedding capacity of the method is 8 bits/image, if a chinese character segmentation dictionary exists in the method, when the average chinese character length is 2 and 3, and the number of the word segmentation dictionaries is 100, the embedding capacity of the method is only 1.57 and 1.86 chinese characters/images according to experimental data given by zhongxiu Z, 2016.
(2) With the enhancement of the expression capability of the text and image information of the database, the data volume needing to be searched increases in a geometric series, and even by means of the inverted index, the searching, the storage and the maintenance of the large data volume are heavy burdens, such as: the text database constructed by Chen X Y,2017 contains 2 n The identifiers are extracted, all keywords should appear behind each identifier, even if an inverted index of a document access path where all the keywords of the identifier are located is established for each identifier, and the inverted index file corresponding to each identifier is about 8.4-9.5 MB when n =4,5, \ 8230;, and 10. Though the number of extracted identifiers is reduced to 50 by selecting 50 most frequently-occurring radicals in Chinese characters, the search speed is still improved by means of an inverted index, wherein the inverted index established by the Chen X Y2015 and the Zhou Z L2016 comprises the first 50 identifiers with the highest occurrence frequency, all keywords corresponding to each identifier, and a document set where the identifier and the keyword combination appear. For images, zhou Z L,2015 and Yuan C S,2017 map each image in the database to 8-bit information as an expression of 1 byte of secret information, respectively, except that Zhou Z L,2015 generates 8-bit information by a method of comparing 9 block mean values of image division, yuan C S,2017 generates 100-dimensional feature vectors by combining K-mean clustering and BOF features of image datasets according to SIFT features of the images, and maps the 100-dimensional feature vectors to 8-bit information, and since the 8-bit information corresponds to 256 combinations, the two methods actually divide the image sets into 256 categories by the finally mapped 8-bit information, and meanwhile, the same bits inevitably exist in the secret information, and in order to prevent 1 fixed image from corresponding to 1 specific secret bit, there are multiple images in each image category which can be randomly selected, so that the two methods both involve management of a large number of image sets. In the whole peripheral, 2016 is more huge than a database constructed by Zhou Z L,2015 and Yuan C S,2017, the method needs to establish the corresponding relation between local blocks of the image and 10000 visual vocabularies, and each local block is positioned in each imageThe appearance positions of the images are used as extraction identifiers of specific users, so that in order to have sufficient expression capacity, the possible appearance positions of each local partition can be matched with 10000 visual words, and each corresponding position is provided with a plurality of distribution images which can be randomly selected to deal with the repeated information which can appear in the secret information. In order to avoid the disorder of the sequence of a large number of images in the channel transmission, the whole process, 2016, establishes a strict ascending correspondence between the distribution sequence of the images and the highest-frequency visual vocabulary, so that more images need to be added to the constructed database to improve the full representation capability. The inverted index constructed by the book 2016 includes 3 levels, all possible visual words, and the possible local positions of each visual word, and the highest frequency visual words and their alternative image sets corresponding to each local position, so that the management and maintenance of such an inverted index is still very expensive. Meanwhile, if the Zhou Z L,2015, the Yuan C S,2017 and the peripheral aspiration, 2016 are further expanded, for example, a plurality of local blocks are selected or the number of bits mapped by a single image is increased, a more huge database needs to be managed and maintained, and a more complex inverted index is established, so that higher management, search and maintenance costs are paid.
(3) The average embedding capacity for Chen X Y,2017, chen X Y,2015 and Zhou Z L,2016 is only 2.07, 1 and 1.57 chinese characters/text; the embedding capacity of Zhou Z L,2015 and Yuan C S,2017 is only 8 bits/image, while the embedding capacity of 2016 is only 1.57 and 1.86 chinese characters/images when the average chinese character length is 2 and 3, combined with a specific word segmentation algorithm, and the hidden capacity is very small. Although the isolated texts or images are normal texts or images, and the abnormality cannot be detected because of no modification, the intensive transmission of a large number of text and image sets inevitably causes doubt. The above documents Chen X Y,2017, chen X Y,2015, zhou Z L,2016, zhou Z L,2015, yuan C S,2017 and Zhou shijie, 2016 only verify the anti-attack ability against attacks such as steganographic analysis of isolated text or images or change of resolution, brightness, noise and JPEG compression of isolated images, and the Zhou shijie, 2016 further set a decryption aging so that text and images can be decrypted only by transmission within a limited period of time, thereby easily inducing active and passive attacks by potential channel attackers. In addition, chen X Y,2017, chen X Y,2015, zhou Z L,2016, zhou Z L,2015, yuan C S,2017 and peripheral aspiration, 2016 only verify the anti-attack ability of the isolated text or image against the attacks of steganographic analysis or the change of resolution, brightness, noise, JPEG compression and the like of the isolated image, and in addition, the strategy lacks effective identification ability for the source and attribution of the distributed text or image participating in the secret information reconstruction, so that a potential attacker of the channel can maliciously delete or add the previously intercepted normal text or image to destroy the receiving sequence of the text or image involved in the channel transmission process or the mutual correlation of the text images of the text set image set to prevent the correct extraction of the secret information.
In order to solve the problems, shaoliping, 2017 (Shaoliping, land sea, a secret map non-carrier test question camouflage method for indirect transmission and random codebooks [ P ]. Intellectual property office of China, the people's republic of China, invention patent, 201711297799.5) expresses secret information by utilizing the arrangement sequence of option options of selected questions and the relative random offset of answer of the filling questions, thereby avoiding the high database retrieval cost, low embedded density capacity and the dense transmission of mass carrier channels.
Shaoliping, 2018 (Shaoliping, land sea, a legal interval double-authentication full-key-dependence carrier-free test question camouflage method [ P ]. China, the intellectual property office of the people's republic of China, the invention patent, 201810242784.7.) through establishing a 24-channel database, further utilizing a channel index to express secret information to overcome the problems of Shaoliping and 2017 application scene limitation, and introducing double-authentication interval expansion to enable Shaoliping, 2018 has good authentication capability for extracting information.
However, the test questions shouliping, 2017 and shouliping, 2018 are used for expressing secret information and have no self-repairing capability, so that the secret information is easy to damage when the test questions are attacked; shore liping, 2017 and shore liping, 2018 although the embedding density capacity is significantly improved compared with the traditional search type hiding method, the embedding density capacity has low utilization rate on the test question redundancy property and needs to be further improved; shaoliping, 2018 accurately authenticates the extracted information through double authentication interval extension, but the reliability of the extracted information cannot be marked for measurement.
Disclosure of Invention
The invention aims to overcome the defects of the prior art and provides a double-authentication test question backup camouflage scheme combining codebook expansion and question stem hashing. Compared with the existing method, the method completely depends on the secret key, has self-repairing capability, can fully utilize the question stem hash and the option arrangement sequence to express the secret information, has high embedding capacity of single test questions, cannot distinguish between the secret test questions and the non-secret test questions, and has high safety.
In order to achieve the purpose, the invention adopts the following technical scheme:
the invention provides a double-authentication test question backup disguising method combining codebook expansion and question stem hashing, which comprises the following steps of:
step 1: inputting a secret byte sequence P of length l S =(p i ) l ,p i E {0,1, \8230;, 255}, user key, sparsity ratio, rate e (0, 1) and GF (2) 8 ) Field primitive polynomial integer
Figure BDA0002229901000000051
Step 2: combining user keys and
Figure BDA0002229901000000052
will P S (ii) performing GF (2) 8 ) Field interpolation backup, generating backup byte sequences
Figure BDA0002229901000000053
And 3, step 3: in combination with user key and codebook extension
Figure BDA0002229901000000054
Encoding into a coded index sequence
Figure BDA0002229901000000055
Wherein l chm Is the number of characters mapped by the test question channel, l sh Is the number of permutations that the choice question option can use;
and 4, step 4: constructing multi-channel question stem sequence
Figure BDA0002229901000000056
And stem expression value sequence
Figure BDA0002229901000000057
Wherein l ch Number of channels divided for test question, n k Correspondingly, the number of the test questions of the kth channel is the number of the test questions of the kth channel;
and 5, step 5: in combination with a user key, F k And E k By
Figure BDA0002229901000000058
Generating test questions containing secret
Figure BDA0002229901000000059
Wherein T is i Is a test question st i Stem of (a) i ,b i ,c i ,d i Is a test question st i 4 options of l 1 The number of the test questions containing the secret number;
and 6, step 6: adding a secret-free test question in L in combination with a sparsity ratio rate epsilon (0, 1) and F k Generating test questions added with test questions without secret
Figure BDA00022299010000000510
Wherein l 3 =l 1 +l 2 ,l 2 Is the number of test questions without secret, l 3 Is L * The number of test questions;
step 7, combining the user key
Figure BDA00022299010000000511
Figure BDA00022299010000000512
And outputting the L' as a final test question.
Further, step 2, preparingSequence of partial bytes
Figure BDA00022299010000000513
Has a length of l 1 =4l;
The specific method in the step 2 comprises the following steps:
step 2.1: initialization P B Phi, phi is an empty set; inputting a user key as an iteration starting value;
step 2.2: to pair
Figure BDA00022299010000000514
Pseudo-random iteration generates x, y epsilon (0, 1), and x, y are mapped into an interpolation polynomial parameter sequence R = (R) according to formula (1) 0 ,r 1 ),r 0 ,r 1 ∈{0,1,…,255};
Figure BDA00022299010000000515
Step 2.3: pseudo-random iterative generation of participant sequence O = (O) i ) 4 ,o i Belongs to {0,1, \8230;, 255} and any elements in O are different pairwise;
step 2.4: will r is 0 ,r 1 ,o 0 ,o 1 ,o 2 ,o 3 As GF (2) 8 ) Finite field polynomial integers
Figure BDA00022299010000000516
According to the formula (2) mapping of->
Figure BDA0002229901000000061
Will be (o' 0 ,o′ 1 ,o′ 2 ,o′ 3 ) Is added to P B Performing the following steps;
Figure BDA0002229901000000062
/>
step 2.5: repeatedly executing the step 2.2 to the step 2.4 until P S All elements p in (1) i After the processing is finished, obtaining a backup byte
Figure BDA0002229901000000063
Figure BDA0002229901000000064
l 1 =4l。
Further, the specific method in the step 3 comprises the following steps:
step 3.1: initialization P ID = phi, codebook sequence M = (0,1, \8230;, l chm ·l sh -1); inputting a user key as an iteration starting value;
step 3.2: to P B Each element in (1)
Figure BDA00022299010000000616
Pseudo-random iterative generation of length l chm ·l sh Arranging X into X 'according to formula (3), scrambling M into a random codebook M' according to the position mapping relation between X and X ', and then generating random codebook M' according to formula (4)
Figure BDA0002229901000000065
Mapped to ^ greater than or equal to>
Figure BDA0002229901000000066
And will>
Figure BDA0002229901000000067
Is added to P ID The preparation method comprises the following steps of (1) performing;
X′=dec(X) (3)
in the formula (3), the function dec () is used for the descending order arrangement;
Figure BDA0002229901000000068
in equation (4), function index () is used to find
Figure BDA0002229901000000069
Index in M>
Figure BDA00022299010000000610
Step 3.3: updating X = phi, M = M';
step 3.4: repeatedly executing the 3.2 rd step to the 3.3 rd step until P B All the elements are treated to obtain
Figure BDA00022299010000000611
Further, the specific method in the step 4 comprises the following steps:
step 4.1: initialization F k =φ,k=0,1,…,l ch -1,E k =φ,k=0,1,…,l ch -1;
Step 4.2: for positive integer op in specified range 0 ,op 1 If k = (op) 0 +op 1 )modl ch Then at F k Adding f =' op 0 +op 1 = ", extracting an expression value e according to the formula (5), wherein if f is the ith test question added by the kth channel, the expression value e is obtained
Figure BDA00022299010000000612
e=GetValue(Hash(f),k) (5)
In the formula (5), hash (f) is used for obtaining a question stem Hash value formed by xi system numbers corresponding to f, and GetValue (Hash (f), k) is used for obtaining the kth xi system number corresponding to Hash (f);
and 4.3, step: and repeatedly executing the 4.2 th step until all the positive integers ops in the specified range are reached 0 ,op 1 After the treatment is finished, obtaining
Figure BDA00022299010000000613
And &>
Figure BDA00022299010000000614
Further, the specific method of step 5 comprises the following steps:
step 5.1: initializing a secret test question sequence L = phi, and initializing
Figure BDA00022299010000000615
Inputting a user key as an iteration starting value;
step 5.2: to P ID Each element in (1)
Figure BDA0002229901000000071
U, v are generated according to equation (6); generating a random number x, y belonging to (0, 1) by pseudorandom iteration, and calculating a channel k and a test question index j corresponding to the channel k according to a formula (7):
Figure BDA0002229901000000072
Figure BDA0002229901000000073
step 5.3: if it is
Figure BDA0002229901000000074
Or->
Figure BDA0002229901000000075
Make->
Figure BDA0002229901000000076
/>
Step 5.4: repeating the 5.2 th step to the 5.3 th step until
Figure BDA0002229901000000077
And->
Figure BDA0002229901000000078
Acquire->
Figure BDA0002229901000000079
The answer ans, order
Figure BDA00022299010000000710
Step 5.5: generating index id according to formula (8), and selecting 4 answers according to idThe options ans-1, ans +1, ans +2 are arranged in the corresponding id sequence in the dictionary order, the id sequence is taken as the actual output of 4 options a, b, c, d, (T, a, b, c, d) is added into L, wherein if (T, a, b, c, d) is the ith test question added into L, st is present i = (T, a, b, c, d), note st i =(T i ,a i ,b i ,c i ,d i ) Wherein l is sh Is the arrangement sequence of all the options of a, b, c and d;
Figure BDA00022299010000000711
step 5.6: repeatedly executing the 5.2 th step to the 5.5 th step until P ID After all the elements in the test question are processed, the test question with the secret can be obtained
Figure BDA00022299010000000712
Further, the specific method in the step 6 comprises the following steps:
step 6.1: the number l of the test questions without secret content is calculated according to the formula (9) 2
Figure BDA00022299010000000713
Step 6.2: generating a random number x, y belongs to (0, 1), and calculating a channel k and a test question index j corresponding to the channel k according to a formula (7);
6.3, step: if it is
Figure BDA00022299010000000714
Make->
Figure BDA00022299010000000715
6.4, step: repeatedly executing the step 6.3 until
Figure BDA00022299010000000716
Acquire->
Figure BDA00022299010000000717
Answer ans, signal &>
Figure BDA00022299010000000718
6.5, step: calculating id according to equation (10), rearranging the id of the 4 answer options ans-1, ans +1, ans +2 according to the id and arranging the id in a lexicographical order to obtain 4 options a, b, c, d which are actually output, (T, a, b, c, d) is added into L, wherein if (T, a, b, c, d) is that the ith track added into L does not contain the secret test question, st i ' = (T, a, b, c, d), in which l sh Is the arrangement sequence of all the options of a, b, c and d;
Figure BDA0002229901000000081
6.6, a step: repeatedly executing the 6.2 th step to the 6.5 th step until l is generated 2 If the test question does not contain the secret test question, the test question added with the test question without the secret test question is marked as
Figure BDA0002229901000000082
Wherein l 3 =l 1 +l 2
The recovery method of the double-authentication test question backup camouflage method combining codebook expansion and question stem hashing comprises the following steps:
step 1: input length of l 3 Test question L', user Key, sparsity ratio, rate ∈ (0, 1), and GF (2) 8 ) Field primitive polynomial integer
Figure BDA00022299010000000814
Step 2: calculating the number l of test questions without secret by the sparse ratio rate epsilon (0, 1) 2
And 3, step 3: inverse scrambling L' into L in conjunction with a user key * From L * Tail removal 2 Test questions are rejected 2 L of individual test question * Test questions as requiring extraction of secret information
Figure BDA0002229901000000083
And 4, step 4: in combination with a user key
Figure BDA0002229901000000084
In extract->
Figure BDA0002229901000000085
And 5, step 5: the recovery strategy is combined with the key and the codebook extension
Figure BDA0002229901000000086
Decodes into a backup byte sequence->
Figure BDA0002229901000000087
And 6, step 6: combining user keys and
Figure BDA0002229901000000088
will->
Figure BDA0002229901000000089
Reverting to the secret byte sequence P S =(p i ) l ,p i E.g. {0,1, \ 8230;, 255}, and generates P S The reliability value sequence A = (aa) i ) l
Further, the 2 nd step calculates the number l of the test questions without the dense test question by the sparse ratio rate epsilon (0, 1) 2 The specific method comprises the following steps: the number l of the test questions without secret keys is calculated according to the formula (11) 2
Figure BDA00022299010000000810
Step 3 l 1 The constraint satisfied is equation (12);
l 1 =l 3 -l 2 (12)
the specific method in the step 4 comprises the following steps:
step 4.1: initialization P ID = phi; inputting a user key as an iteration starting value;
step 4.2: to L s Each test question st in i Obtaining T i Answer an of i Calculating a channel k according to the formula (13), acquiring a kth xi scale number corresponding to the hash value of the test question stem according to the formula (5) as an expression value e, and enabling u = e;
k=ans i modl ch (13)
and 4.3, step: pseudo-random iteration generates a random number x, y belongs to (0, 1), and a is obtained i ,b i ,c i ,d i Index id ∈ {0,1, \ 8230;, in a lexicographic ordering sh -1}, v is calculated as equation (14) and v is calculated as equation (15)
Figure BDA00022299010000000811
And will->
Figure BDA00022299010000000812
Is added to P ID The preparation method comprises the following steps of (1) performing;
Figure BDA00022299010000000813
Figure BDA0002229901000000091
step 4.4: repeatedly executing the 4.2 th step to the 4.3 th step until L s All st in i After the treatment is finished, thereby obtaining
Figure BDA0002229901000000092
Further, the specific method of step 5 comprises the following steps:
step 5.1: initialization of P B = phi, codebook sequence M = (0,1, \8230;, l chm ·l sh -1); inputting a user key as an iteration starting value;
step 5.2: to P ID Each element in (1)
Figure BDA0002229901000000093
Pseudo-random iterative generation of length l chm ·l sh Is arranged in X ' according to equation (3), and scrambles M into a random codebook M ' according to the position mapping relationship between X and X ', and ^ or is based on equation (16)>
Figure BDA0002229901000000094
Mapping to +>
Figure BDA0002229901000000095
If>
Figure BDA0002229901000000096
Make->
Figure BDA0002229901000000097
Will->
Figure BDA0002229901000000098
Is added to P B Performing the following steps;
Figure BDA0002229901000000099
in equation (16), the get () function is used to index M' as
Figure BDA00022299010000000910
As->
Figure BDA00022299010000000911
Step 5.3: updating X = phi, M = M';
step 5.4: repeatedly executing the 5.2 th step to the 5.3 th step until P ID All elements in the raw material are treated to obtain
Figure BDA00022299010000000912
The concrete method in the step 6 comprises the following steps:
step 6.1: participant sequence O = phi, a = phi, secret byte sequence P s Phi, cableLead i =0; inputting a user key as an iteration starting value;
step 6.2: will P B 4 consecutive elements of (1)
Figure BDA00022299010000000913
Respectively as o' 0 ,o′ 1 ,o′ 2 ,o′ 3 Thus obtaining a backup value sequence O '= (O' 0 ,o′ 1 ,o′ 2 ,o′ 3 );
Step 6.3: generating a random number (x, y) by pseudo-random iteration, and generating a random disturbance quantity disturb according to an equation (17);
Figure BDA00022299010000000914
6.4, step: pseudo-randomly generating a participant sequence O = (O) j ) 4 ,o j Belongs to {0,1, \8230;, 255} and any elements in O are different pairwise;
6.5, step: combining disturb with o 0 ,o 1 ,o 2 ,o 3 ,o′ 0 ,o′ 1 ,o′ 2 ,o′ 3 As GF (2) 8 ) Field polynomial integer
Figure BDA00022299010000000915
By O = (O) j ) 4 ,o j Pairwise combining participants in the epsilon {0,1, \8230;, 255} to construct a candidate recovery value sequence B;
6.6, step: the elements in the range of {0,1, \ 8230;, 255} occurring the most frequently in B are used as the restoration information p i If not, then p is added i Carrying out random assignment to p i The number of occurrences in B is assigned to aa, and a reliability value aa is calculated from aa i
Step 6.7: repeatedly executing the 6.2 th step to the 6.6 th step until P B All elements in the data are processed to obtain a secret byte sequence P S =(p i ) l ,p i E.g. {0,1, \ 8230;, 255}, and generates P S The reliability value sequence A = (aa) i ) l
Further, the specific method of step 6.5 consists in comprising the following steps:
step 6.5.1: initializing a candidate recovery information sequence B = phi;
step 6.5.2: for
Figure BDA0002229901000000101
(1) O's' m = -1 or o' n =1, then candidate restoration information B = -1 is added to B;
②o′ m not equal to-1 and o' n Not equal to-1, will
Figure BDA0002229901000000102
In substitution formula (18), two partial storage parameters are recovered>
Figure BDA0002229901000000103
Let n = n +1, will +>
Figure BDA0002229901000000104
As r 0 ,r 1 If r is 1 =(r 0 + disturb) mod256, then b = r 0 Adding to B, otherwise adding B = -1 to B;
Figure BDA0002229901000000105
6.5.3: repeating the step 6.5.2 until { (o' 0 ,o′ 1 ),(o′ 0 ,o′ 2 ),(o′ 0 ,o′ 3 ),(o′ 1 ,o′ 2 ),(o′ 1 ,o′ 3 ),(o′ 2 ,o′ 3 ) Obtaining a candidate recovery information sequence B after the processing is finished;
6.6 step of calculating a reliability aa from aa i The specific method of (3) is formula (19):
Figure BDA0002229901000000106
compared with the prior art, the invention has the beneficial effects that:
1) By the structure GF (2) 8 ) The domain interpolation stores the polynomial, backups the secret information, further utilizes the random codebook strategy to encode the backup information, extracts and recovers a plurality of candidate recovery values through the reconstruction stores the polynomial during recovery, and can still select the rest reliable candidate recovery values to reconstruct the secret information even if part of test questions are damaged; meanwhile, non-density blank test questions which cannot be distinguished from density test questions are introduced to carry out sparse processing on the density test questions, and the robustness of the method is further improved.
2) The method constructs a multi-channel test question library, maps the hash value of the test question stem into a carry number through channel indexes, and further expresses 8-bit secret information by combining the option arrangement sequence and the hash value of the test question stem, thereby improving the single test question encryption capacity.
3) In the recovery stage, the method filters the influence of the error extraction information on the quality of the recovered information by the authentication strategy based on codebook expansion and the storage coefficient, further compares a plurality of candidate recovery values of the same secret value, selects the most reliable candidate recovery value as the final recovery value, and calculates the reliable value. The reliability of the recovered information can be marked while ensuring the quality of the recovered information.
Drawings
FIG. 1 is a secret information disguising flow chart;
FIG. 2 is a flow diagram of secret information recovery;
FIG. 3 is an example: secret information 1, ancient poem "bamboo library" containing 20 Chinese characters;
FIG. 4 is an example: fig. 3 shows a partial test question of the secret-containing test question 1 generated by the secret information disguising process of fig. 1, wherein the sparse ratio rate =0.2, and the initial codebook M = (0, 1, \ 8230;, 383);
FIG. 5 is an example: secret information 1 recovered from the secret test question 1 corresponding to fig. 4 according to the correct key and the secret information recovery process of fig. 2, wherein the sparsity ratio rate =0.2, and the initial codebook sequence M = (0, 1, \8230; (383);
FIG. 6 is an example: a reliability value sequence (organized into a 4 × 10 array for convenient display) calculated by the secret test question 1 corresponding to fig. 4 according to the correct key and the secret information recovery process reliability of fig. 2, wherein the sparse ratio rate =0.2, and the initial codebook sequence M = (0, 1, \ 8230;, 383);
FIG. 7 is an example: secret information 2, ancient poetry "deer firewood" containing 20 Chinese characters;
FIG. 8 is an example: fig. 7 shows partial test questions in the confidential test question 2 generated by the secret information disguising process of fig. 1, wherein the sparse ratio rate =0.2, and the initial codebook sequence M = (0, 1, \8230;, 383);
FIG. 9 is an example: attacking the secret test question 2 corresponding to fig. 8, and recovering the secret information 2 according to the secret information recovery process of fig. 2, wherein the attack mode is the option arrangement sequence of some test questions in the falsified test paper, the attack proportion is 0.2, the sparsity ratio rate =0.2, and the initial codebook sequence M = (0, 1, \ 8230;, 383);
FIG. 10 is an example: the corresponding reliability value sequence (organized in a 4 × 10 array for convenient display) in the embodiment of fig. 9, wherein the attack mode is the order of the options of some test questions in the falsified test paper, the attack ratio is 0.2, the sparse ratio rate =0.2, and the initial codebook sequence M = (0, 1, \ 8230;, 383);
FIG. 11 is an example: secret information 1, ancient poem "bamboo library" containing 20 Chinese characters;
FIG. 12 is an example: fig. 11 shows partial test questions in the confidential test questions 3 generated by the secret information disguising process of fig. 1, wherein the sparse ratio rate =0.2, and the initial codebook sequence M = (0, 1, \8230;, 383);
FIG. 13 is an example: attacking the corresponding secret test question 3 in fig. 12, and recovering the secret information 3 according to the secret information recovery flow in fig. 2, wherein the attack mode is to tamper with the question stem of part of the test questions in the test paper,
attack ratio is 0.5, sparse ratio rate =0.2, initial codebook sequence M = (0, 1, \8230;, 383);
FIG. 14 is an example: the corresponding reliability value sequence (organized in a 4 × 10 array for convenient display) in the embodiment of fig. 13, wherein the attack mode is to tamper with the stem of a part of the test questions in the test paper, the attack proportion is 0.5, the sparse ratio rate =0.2, and the initial codebook sequence M = (0, 1, \ 8230;, 383);
FIG. 15 is an example: secret information 2, ancient poetry "deer firewood" containing 20 Chinese characters;
FIG. 16 is an example: fig. 15 shows a partial test question among the secret test questions 4 generated by the secret information disguising process of fig. 1, where the sparse ratio rate =0.2, and the initial codebook sequence M = (0, 1, \ 8230;, 383);
FIG. 17 is an example: attacking the secret test questions 4 corresponding to fig. 16, and recovering the secret information 4 according to the secret information recovery flow of fig. 2, wherein the attack mode is to delete part of the test questions in the test paper, add the test questions at corresponding positions, the attack proportion is 0.2, the sparse ratio rate =0.2, and the initial codebook sequence M = (0, 1, \ 8230;, 383);
FIG. 18: the corresponding reliability value sequence (organized as a 4 × 10 array for convenient display) in the embodiment of fig. 17 is obtained by deleting some test questions in the test paper and adding test questions at corresponding positions, the attack proportion is 0.2, the sparsity ratio rate =0.2, and the initial codebook sequence M = (0, 1, \ 8230;, 383).
Detailed Description
The embodiments of the present invention are described in detail below with JAVA jdk1.8.0_65 as a case implementation environment, but not limited to the case implementation environment, in which fig. 1 is a sorting flow chart, and fig. 2 is a reconstruction flow chart.
The embedding method comprises the following specific implementation steps:
step 1: inputting a secret byte sequence P with length l S =(p i ) l ,p i E {0,1, \8230;, 255}, user key, sparsity ratio, rate e (0, 1) and GF (2) 8 ) Field primitive polynomial integer
Figure BDA0002229901000000127
For example, input P S =1, 22,134,246, sparsity ratio rate =0.2 e (0, 1), GF (2) 8 ) Field primitive polynomial integer
Figure BDA0002229901000000121
Inputting a random user key set by a user, wherein the user key can be obtained by random parameters dynamically generated by a random process or mapping values of the random parameters, or can be obtained by mapping proprietary articles and biological characteristics of the user and is used as initial parameters of a subsequent random process 1 ,K 2 …,K 4 Here K 1 ,K 2 …,K 4 May be the same or different.
Step 2: combining user keys and
Figure BDA0002229901000000122
will P S By GF (2) 8 ) Interpolation backup of the field, resulting in a length of l 1 Is selected based on the backup byte sequence->
Figure BDA0002229901000000123
l 1 =4l, the specific method is as follows:
step 2.1: initialization P B Phi, phi is a null set, and a user key is input as an iteration initial value;
step 2.2: to pair
Figure BDA0002229901000000124
Pseudo-randomly generating x, y epsilon (0, 1), and mapping the x, y into an interpolation polynomial parameter sequence R = (R) according to the formula (1) 0 ,r 1 ),r 0 ,r 1 ∈{0,1,…,255};
Figure BDA0002229901000000125
Step 2.3: pseudo-randomly generating a participant sequence O = (O) i ) 4 ,o i Belongs to {0,1, \8230;, 255} and any elements in O are unequal in pairs;
step 2.4: will r is 0 ,r 1 ,o 0 ,o 1 ,o 2 ,o 3 As GF (2) 8 ) Polynomial integers of finite field
Figure BDA0002229901000000126
According to formula (2) mapping as +>
Figure BDA0002229901000000131
Will be (o' 0 ,o′ 1 ,o′ 2 ,o′ 3 ) Is added to P B The preparation method comprises the following steps of (1) performing;
Figure BDA0002229901000000132
step 2.5: repeatedly executing the step 2.2 to the step 2.4 until P S All elements p in (1) i After the processing, an interpolation backup sequence can be obtained
Figure BDA0002229901000000133
l 1 =4l;
For example: suppose K in the user key is chosen 1 As an initial value, from step 2.1 to step 2.5, K 1 For the pseudo-random generation of the random number x, y ∈ (0, 1) as a 2.2-step pseudo-random iteration and the 2.3-step pseudo-random generation of the participant sequence O = (O) i ) 4 Is used to uniquely determine all random numbers x, y e (0, 1) generated in steps 2.2 and 2.3 and all participant sequences O = (O) in the cycle corresponding to step 2 i ) 4
With P S 0 th element p in =1,22,134,246 0 For example, =1, assuming that K is used 1 As an initial value, the pseudo random number x = 0.72413772752059, y =0.8409441603553602 generated by the iteration of step 2.2, p is added 0 And x and y are substituted into the formula (1) for calculation to obtain r 0 =1,
Figure BDA0002229901000000134
It is assumed here that r 0 =1,r 1 =43, assuming 2.3 steps of pseudo-randomly generated O = (239, 162,139, 86), which is substituted into equation (2) as:
Figure BDA0002229901000000135
wherein->
Figure BDA0002229901000000136
And &>
Figure BDA0002229901000000137
Are all polynomial integers, i.e. 2-value polynomials stored in an integer, thus
Figure BDA0002229901000000138
O 'therefore' 0 =22, and is similarly obtainable from formula (2)' 1 =129,o′ 2 =39,o′ 3 =144, so from step 2.4, (o ') will be' 0 ,o′ 1 ,o′ 2 ,o′ 3 ) Is added to P B Performing the following steps; repeatedly executing the step 2.2 to the step 2.4 until P S All elements p in (1) i After the processing, an interpolation backup sequence P can be obtained B = (22, 129,39,144,93,110,246,179,99,76,164,97,196,9,132, 59), wherein l 1 =4l=4·4=16。
And 3, step 3: combining user key and codebook extension
Figure BDA00022299010000001312
Encoding into a coded index sequence
Figure BDA00022299010000001313
Wherein l chm Is the number of characters mapped by the test question channel, l sh Is the number of permutations available for selecting the question option;
step 3.1: initialization of P ID = phi, codebook sequence M = (0,1, \8230;, l chm ·l sh -1); inputting a user key as an iteration starting value;
step 3.2: to P B Each element in (1)
Figure BDA00022299010000001314
Pseudo-random iterative generation of length l chm ·l sh Is arranged as X' according to equation (3) and M is scrambled as random according to the position mapping relationship between X and XA codebook M' is provided according to the formula (4)
Figure BDA0002229901000000139
Mapped to ^ greater than or equal to>
Figure BDA00022299010000001310
And will>
Figure BDA00022299010000001311
Is added to P ID The preparation method comprises the following steps of (1) performing;
X′=dec(X) (3)
in the formula (3), the function dec () is used for the descending order arrangement;
Figure BDA0002229901000000141
in equation (4), function index () is used to find
Figure BDA00022299010000001411
Index in M>
Figure BDA0002229901000000142
Step 3.3: update X = Φ, M = M';
step 3.4: repeatedly executing the 3.2 rd step to the 3.3 rd step until P B After all elements are processed, the product can be obtained
Figure BDA0002229901000000143
For example, assume that K in the user key is chosen 2 As an initial value, K is shown from step 3.1 to step 3.4 2 For generating length l as a 3.2 step iteration chm ·l sh Is used to uniquely determine the total length l of the iteration generated in step 3.2 in the loop process corresponding to step 3 chm ·l sh X.
Get l chm =16,l sh =24, then by step 3.1: p is ID = phi indicates phi is nullSet, i.e. P ID = (=) initial codebook sequence M = (0, 1, \8230;, 383); to be provided with
Figure BDA0002229901000000144
For example, assume step 3.2 is followed by K 2 The 0 th one generated by iteration of the initial value has length l chm ·l sh According to the formula (3), the random number sequence X = (0.7718907567600861, 0.6423456283192762, \ 8230; 0.3013837369659013), wherein X can be arranged in a descending order as X ', each element in X has a new mapping position in X ', so that a mapping rule can be established, a mapping relation from an X element index to an X ' element index is established according to the position of each element in X ', and the elements in M are scrambled according to the mapping relation from X to X ' index, so as to obtain a scrambled random codebook M ', wherein the scrambled M ' = (24, 126, \8230; 155) is assumed, and = (X) = (M) = (24, 126, \\\\ 8230; 155) is assumed>
Figure BDA0002229901000000145
Index position in M 'is 176, then according to equation (4) <' > based on>
Figure BDA0002229901000000146
Will therefore>
Figure BDA0002229901000000147
Is added to P ID In, then P ID = (176); from step 3.3, X = Φ, all elements in X are removed, so X = (), knowing by M = M': m = (24,126, \8230;, 155);
repeatedly executing the 3.2 rd step to the 3.3 rd step to obtain the code index sequence P ID =(176,106,369,179,54,91,89,305,104,219,154,218,160,234,7,164)。
And 4, step 4: constructing multi-channel question stem sequence
Figure BDA0002229901000000148
And stem expression value sequence
Figure BDA0002229901000000149
Wherein l ch Number of channels divided for question, n k Correspondingly, the number of the test questions in the kth channel is increased;
step 4.1: initialization F k =φ,k=0,1,…,l ch -1,E k =φ,k=0,1,…,l ch -1;
Step 4.2: for positive integer op in a specified range 0 ,op 1 If k = (op) 0 +op 1 )modl ch Then at F k Adding f =' op 0 +op 1 = ", extracting an expression value e according to the formula (5), wherein if f is the ith test question added by the kth channel, the expression value e is obtained
Figure BDA00022299010000001410
e=GetValue(Hash(f),k) (5)
In the formula (5), hash (f) is used for obtaining a question stem Hash value formed by xi system numbers corresponding to f, and GetValue (Hash (f), k) is used for obtaining the kth xi system number corresponding to Hash (f);
step 4.3: and repeatedly executing the step 4.2 until all positive integers op in the specified range 0 ,op 1 After the treatment, can obtain
Figure BDA0002229901000000151
And &>
Figure BDA0002229901000000152
k=0,1,…,l ch -1;
For example, assume l ch =8, then the 4.1 th step has: f k =φ,k=0,1,…,7,E k =φ,k=0,1,…,7
Assuming that the specified range of step 4.2 is 1,2, \8230, 100, then the range is defined by the positive integer op in the specified range 0 ,op 1 Known as op 0 ,op 1 =1,2, \ 8230;, 100, in op 0 =1,op 1 For example, if k = (1 + 1) mod8=2 in case of 1, then F 2 F = '1 +1 =', namely F 2 = ("1 +1 ="), wherein the corresponding element is the 0 th test question stem of the k =2 channels
Figure BDA00022299010000001515
By using hash (f), a question stem hash value formed by xi-scale numbers corresponding to f can be obtained, taking message digest 5 algorithm MD5 as hash (), and xi =16, 32 16-scale numbers can be obtained by the hash (f), and assuming that the k =2 16-scale numbers are 11, E =11 can be obtained by formula (5), namely E =11 2 = (11), wherein 11 corresponds to an element being the 0 th expression value ÷ in the k =2 channel>
Figure BDA0002229901000000153
Step 4.2 is executed repeatedly until the op in the specified range 0 ,op 1 =1,2, \8230from100 after treatment
Figure BDA0002229901000000154
And &>
Figure BDA0002229901000000155
And 5, step 5: in combination with a user key, F k And E k By
Figure BDA0002229901000000156
Generating test questions containing secret
Figure BDA0002229901000000157
Wherein T is i Is a test question st i Stem of (a) i ,b i ,c i ,d i Is a test question st i 4 options of l 1 The number of the test questions containing the secret number;
step 5.1: initializing a secret test question sequence L = phi, and initializing
Figure BDA0002229901000000158
Inputting a user key as an iteration starting value;
step 5.2: to P ID Each element in (1)
Figure BDA0002229901000000159
Generating u, v according to equation (6); pseudo-randomly generating a random number x, y ∈ (0, 1),calculating a channel k and a test question index j corresponding to the channel k according to the formula (7);
Figure BDA00022299010000001510
Figure BDA00022299010000001511
step 5.3: if it is
Figure BDA00022299010000001512
Or>
Figure BDA00022299010000001513
Make->
Figure BDA00022299010000001514
Step 5.4: repeating the 5.2 th step to the 5.3 th step until
Figure BDA0002229901000000161
And->
Figure BDA0002229901000000162
Acquire->
Figure BDA0002229901000000163
The answer ans, order
Figure BDA0002229901000000164
Step 5.5: generating an index id according to the formula (8), selecting the id number corresponding to the 4 answer options ans-1, ans +1, ans +2 according to the id number, arranging the id number as the actual output 4 options a, b, c, d, adding (T, a, b, c, d) into L, wherein if (T, a, b, c, d) is the ith test question added into L, there is st i = T, a, b, c, d, denoted st i =(T i ,a i ,b i ,c i ,d i ) Wherein l is sh Is all options of a, b, c and dThe arrangement order of (a);
Figure BDA0002229901000000165
step 5.6: repeatedly executing the 5.2 th step to the 5.5 th step until P ID After all elements in the test question are processed, the test question with the density can be obtained
Figure BDA0002229901000000166
For example, assume that K in the user key is chosen 3 As an initial value, K is shown from step 5.1 to step 5.6 3 For pseudo-randomly generating a random number x, y e (0, 1) as step 5.2, and for uniquely determining all random numbers x, y e (0, 1) generated by the step 5.2 iteration during the loop corresponding to step 5.
Get l ch =8,l chm =16, then by step 5.1: the reason for L = () is that L = φ is an empty set, initialized
Figure BDA0002229901000000167
The input key is K 3 (ii) a To be->
Figure BDA0002229901000000168
For example, from step 5.2, u =176mod 16=0 can be calculated according to equation (6)>
Figure BDA0002229901000000169
Wherein the symbol->
Figure BDA00022299010000001610
Represents rounding down; assume with K 3 As an initial value, the current random number x = 0.87475303455799 and y = 0.485541242750096 is generated, and then the following equation (7) is given:
Figure BDA00022299010000001611
assuming k =7, the total number of questions n of the 7 th channel 7 =1250 then j can be calculated from equation (7), i.e.
Figure BDA00022299010000001612
Suppose calculated j =1032 and
Figure BDA00022299010000001613
then step 5.3 is repeated until a selected &>
Figure BDA00022299010000001614
And is
Figure BDA00022299010000001615
In step 5.4, signal +>
Figure BDA00022299010000001616
And obtaining the answer ans =127 of T;
from step 5.5, take sh =24, substitution of x =0.8747539403455799, y = 0.485541242750096 for equation (8) can be calculated
Figure BDA00022299010000001617
Assumed to be calculated i d =13, selecting id =13 arrangement options corresponding to ars-1 =126, ans =127, ans +1=128, ans +2=129 in a lexicographic order (a =128, b =126, c =129, d = 127) as the arrangement order of the candidate answers of T; finally, add ("84 +43=",128,126,129, 127) to L, where if ("84 +43=",128,126,129, 127) is the i =0 test question added in L, then there is st 0 = ('84 +43 =', 128,126,129, 127), noted st 0 =(T 0 ="84+43=",a 0 =128,b 0 =126,c 0 =129,d 0 =127);
Similarly, the secret choice question st generated according to the steps i I =1,2 \8230;, 15, constituting a closed choice question sequence L, for example:
L=(("84+43=",128,126,129,127),("1+46=",46,49,48,47),("80+62=",141,142,143,144),
("95+71=",167,166,165,168),("19+12=",32,31,30,33),("35+87=",123,121,122,124),
("83+44=",128,129,126,127),("8+63=",70,71,72,73),("36+3=",38,41,40,39),
("27+52=",80,79,81,78),("70+68=",139137,140,138),("12+44=",57,55,56,58),
("98+21=",120,121,118,119),("52+19=",70,72,73,71),("93+98=",191,192,190,193),
("89+14=",102,104,105,103))
and 6, step 6: adding a secret-free test question in L in combination with a sparsity ratio rate epsilon (0, 1) and F k Generating test questions added with test questions without secret
Figure BDA0002229901000000171
Wherein l 3 =l 1 +l 2 ,l 2 Is the number of test questions not containing secret code,/ 3 Is L * The specific method comprises the following steps:
step 6.1: the number l of the test questions without secret content is calculated according to the formula (9) 2
Figure BDA0002229901000000172
Step 6.2: generating a random number x, y belongs to (0, 1), and calculating a channel k and a test question index j corresponding to the channel k according to a formula (7);
6.3, step: if it is
Figure BDA0002229901000000173
Make->
Figure BDA0002229901000000174
6.4, step: repeatedly executing the step 6.3 until
Figure BDA0002229901000000175
Acquire->
Figure BDA0002229901000000176
Answer ans, gets->
Figure BDA0002229901000000177
6.5, step: calculating id according to equation (10), rearranging the 4 answer options ans-1, ans +1, ans +2 according to id and arranged in the id number corresponding to the dictionary order as the actual output of 4 options a, b, c, d, adding (T, a, b, c, d) to L * Wherein if (T, a, b, c, d) is the ith track added in L does not contain the secret test question, then there is st i = (T, a, b, c, d), note st i =(T i ,a i ,b i ,c i ,d i ) Wherein l is sh Is the arrangement sequence of all the options of a, b, c and d;
Figure BDA0002229901000000178
6.6, a step: repeatedly executing the 6.2 th step to the 6.5 th step until l is generated 2 If the test question does not contain the secret test question, obtaining a test question sequence added with the test question without the secret test question and recording the test question sequence as
Figure BDA0002229901000000179
Wherein l 3 =l 1 +l 2
For example, assuming that the sparsity ratio rate =0.2, the calculation is made from equation (9) in step 6.1
Figure BDA00022299010000001710
Therefore, the number of random test questions to be added is 3;
from 6.2, random numbers x =0.9580411200867023 and y =0.4267687908056676 are arbitrarily selected, x =0.9580411200867023 and y = 0.42676808056676 are substituted into formula (7), and l is taken ch =8,l chm =16, k can be calculated from equation (7):
Figure BDA00022299010000001711
assuming k =7, total number of questions of 7 th channeln 7 =1250 then j can be calculated from equation (7):
Figure BDA00022299010000001712
assume j =138, assume
Figure BDA00022299010000001713
F is obtained from the 6.3 th step and the 6.4 th step 7 Lane 138 of (5) test question stem or stem>
Figure BDA0002229901000000181
From 12+11=23, ans =23, therefore can make =>
Figure BDA0002229901000000182
From the 6.5 th step: get l sh =24, x =0.9580411200867023, y =0.4267687908056676 is substituted into formula (10) having:
Figure BDA0002229901000000183
assuming id =23 calculated according to equation (10), an id =23 is selected, and an as-1 =22, an as =23, an as +1=24, an as +2=25, and an id arrangement a =25, b =24, c =23, d =22 corresponding to the dictionary order, and ("12 +11=",25,24,23, 22) is added to L, where if ("12 +11=",25,24,23, 22) is that the ith lane added to L does not contain secret test questions, st is present i = ("12 +11=",25,24,23, 22), noted st i =(T i ="12+11=",a i =25,b i =24,c i =23,d i =22);
Repeating the 6.2 nd step to the 6.5 th step to obtain 3 test questions with no secret content, st 0 =("12+11=",25,24,23,22),st 1 =("47+72=",118,119,121,120),st 2 = ("52 +43=",97,95,96, 94), which is added to the tail of L as L *
L * =(("84+43=",128,126,129,127),("1+46=",46,49,48,47),("80+62=",141,142,143,144),
("95+71=",167,166,165,168),("19+12=",32,31,30,33),("35+87=",123,121,122,124),
("83+44=",128,129,126,127),("8+63=",70,71,72,73),("36+3=",38,41,40,39),
("27+52=",80,79,81,78),("70+68=",139137,140,138),("12+44=",57,55,56,58),
("98+21=",120,121,118,119),("52+19=",70,72,73,71),("93+98=",191,192,190,193),
("89+14=",102,104,105,103),("12+11=",25,24,23,22),("47+72=",118,119,121,120),
("52+43=",97,95,96,94))
Step 7, combining the user key
Figure BDA0002229901000000184
Is scrambled to->
Figure BDA0002229901000000185
And outputting the L' as a final output secret test question sequence L.
For example, assume that K in the user key is chosen 4 Is an initial value, by K 4 Rearrangement order of elements in the generated random sequence to agree
Figure BDA0002229901000000186
The position mapping of all the elements in can be based on->
Figure BDA0002229901000000187
Scrambling to >>
Figure BDA0002229901000000188
And when the correct user key K is provided 4 When, is greater or less>
Figure BDA0002229901000000189
Can be completely recovered as>
Figure BDA00022299010000001810
E.g. in combination with K 4 Can be combined with
Figure BDA00022299010000001811
Scramble to L "and output:
L″=(("70+68=",139,137,140,138),("35+87=",123,121,122,124),("47+72=",118,119,121,120),
("52+19=",70,72,73,71),("36+3=",38,41,40,39),("95+71=",167,166,165,168),
("8+63=",70,71,72,73),("84+43=",128,126,129,127),("93+98=",191,192,190,193),
("52+43=",97,95,96,94),("89+14=",102,104,105,103),("1+46=",46,49,48,47),
("98+21=",120,121,118,119),("19+12=",32,31,30,33),("27+52=",80,79,81,78),
("83+44=",128,129,126,127),("12+11=",25,24,23,22),("80+62="141,142,143,144),
("12+44=",57,55,56,58))
note L * And L' are distinguished by the order of the test questions, which is determined by the user key K 4 Controlled and accessible by a user key K 4 And recovering.
The extraction method comprises the following specific implementation steps:
step 1: input length of l 3 Test question L', user Key, sparsity ratio, rate ∈ (0, 1), and GF (2) 8 ) Field primitive polynomial integer
Figure BDA0002229901000000191
For example, the input sparsity ratio rate =0.2 e (0, 1), GF (2) 8 ) Field primitive polynomial integer
Figure BDA0002229901000000192
Inputting a random user key set by a user, wherein the user key can be obtained by a random parameter dynamically generated by a random process or a mapping value of the random parameter, and can also be obtained by a special article of the userAnd biometric mapping for use as initial parameters in a subsequent random process, and in the embodiment, without loss of generality, we assume that the input user key is K 1 ,K 2 …,K 4 Here K 1 ,K 2 …,K 4 May be the same or different, and K 1 ,K 2 …,K 4 Corresponding to the disguising method one by one. It is assumed here that the input length is l 3 Test question L = 19:
L″=(("70+68=",139,137,140,138),("35+87=",123,121,122,124),("47+72=",118,119,121,120),
("52+19=",70,72,73,71),("36+3=",38,41,40,39),("95+71=",167,166,165,168),
("8+63=",70,71,72,73),("84+43=",128,126,129,127),("93+98=",191,192,190,193),
("52+43=",97,95,96,94),("89+14=",102,104,105,103),("1+46=",46,49,48,47),
("98+21=",120,121,118,119),("19+12=",32,31,30,33),("27+52=",80,79,81,78),
("83+44=",128,129,126,127),("12+11=",25,24,23,22),("80+62="141,142,143,144),
("12+44=",57,55,56,58))
step 2: calculating the number l of the test questions without the dense test question according to the formula (11) by the sparse ratio rate epsilon (0, 1) 2
Figure BDA0002229901000000193
For example, by 3 =19, rate =0.2,l 3 =19 in formula (11)
Figure BDA0002229901000000194
And 3, step 3: inverse scrambling L' to L in conjunction with a user key * From L * Tail removal 2 Test questions, will reject l 2 L of individual test question * Test questions as requiring extraction of secret information
Figure BDA0002229901000000195
Wherein l 1 The constraint satisfied is equation (12);
l 1 =l 3 -l 2 (12)
for example, suppose that the user key K corresponding to the disguise method is selected 4 Is an initial value, then can pass K 4 The rearrangement order of the elements in the generated random sequence can be determined according to the mapping relation established in the step 7 of the embedding method
Figure BDA0002229901000000196
Is inversely scrambled to
Figure BDA0002229901000000197
L * =(("84+43=",128,126,129,127),("1+46=",46,49,48,47),("80+62=",141,142,143,144),
("95+71=",167,166,165,168),("19+12=",32,31,30,33),("35+87=",123,121,122,124),
("83+44=",128,129,126,127),("8+63=",70,71,72,73),("36+3=",38,41,40,39),
("27+52=",80,79,81,78),("70+68=",139137,140,138),("12+44=",57,55,56,58),
("98+21=",120,121,118,119),("52+19=",70,72,73,71),("93+98=",191,192,190,193),
("89+14=",102,104,105,103),("12+11=",25,24,23,22),("47+72=",118,119,121,120),
("52+43=",97,95,96,94))
Then from L * Tail removal 2 =3 test questions, L can be obtained s
L s =(("84+43=",128,126,129,127),("1+46=",46,49,48,47),("80+62=",141,142,143,144),
("95+71=",167,166,165,168),("19+12=",32,31,30,33),("35+87=",123,121,122,124),
("83+44=",128,129,126,127),("8+63=",70,71,72,73),("36+3=",38,41,40,39),
("27+52=",80,79,81,78),("70+68=",139137,140,138),("12+44=",57,55,56,58),
("98+21=",120,121,118,119),("52+19=",70,72,73,71),("93+98=",191,192,190,193),
("89+14=",102,104,105,103))
And 4, step 4: in combination with a user key
Figure BDA0002229901000000201
Extracts the coding index sequence->
Figure BDA0002229901000000202
The specific method comprises the following steps:
step 4.1: initialization P ID = phi; inputting a user key as an iteration starting value;
step 4.2: to L is paired with s Each test question st in i Obtaining T i Answer ans i Calculating a channel k according to the formula (13), acquiring a 16-system number e corresponding to the kth character of the specified character string according to the formula (5), and enabling u = e;
k=ans i modl ch (13)
step 4.3: pseudo-randomly generating a random number x, y epsilon (0, 1) and obtaining a i ,b i ,c i ,d i The index id in the lexicographical ordering is e {0,1, \8230;, l sh -1}, calculating v according to equation (14), and calculating according to equation (15)
Figure BDA0002229901000000203
And will>
Figure BDA0002229901000000204
Is added to P ID The preparation method comprises the following steps of (1) performing;
Figure BDA0002229901000000205
Figure BDA0002229901000000206
step 4.4: repeatedly executing the 4.2 th step to the 4.3 th step until L s All st in i After the treatment is finished, thereby obtaining
Figure BDA0002229901000000207
For example, assume that K in the user key corresponding to the disguise method selected in step 4.1 is K 3 Is an initial value, and K is shown from the 4.1 th step to the 4.4 th step 3 The method is used for generating a random number x, y epsilon (0, 1) as a 4.3-step pseudo-random, and is used for uniquely determining all the random numbers x, y epsilon (0, 1) generated by the 4.3-step iteration in the process of the loop corresponding to the 4-step.
From step 4.1: initialization P ID Phi, = phi, since phi is an empty set, so P ID Corresponding to a null sequence, i.e. P ID =();
At st 0 = ('84 +43 =', 128,126,129, 127) for example, by step 4.2, first obtain st 0 T of i = '84 +43 =', and obtain its answer ans i =127, the channel index k =127mod8=7 is calculated as formula (13), where l ch =8;
By the formula (5) hash (f), a question stem hash value formed by xi-scale numbers corresponding to f can be obtained, a message digest 5 algorithm MD5 is used as hash (), xi =16 is taken, 32 16-scale numbers can be obtained by the hash (f), and if the k =7 16-scale numbers are 0, u = e =0 can be obtained by the formula (5);
assume that the 4.3 th pseudo-randomly generated random number x =0.8747539403455799, y = 0.485541245450096, st 0 = ('84 +43 =', 128,126,129, 127) can obtain a i =128,b i =126,c i =129,d i =127 in ans i -1=126,ans i =127,ans i +1=128,ans i +2=129 index id =13 in the lexicographic order, and further substituting id =13 into equation (14), and taking l sh If =24, it can be calculated by the following equation (14)
Figure BDA0002229901000000211
Assume v =11, take u =0,l chm =16 then can calculate according to equation (15)
Figure BDA0002229901000000212
And similarly, repeatedly executing the 4.2 th step to the 4.3 th step until L s All st in i After the processing is finished, P can be obtained ID =(176,106,369,179,54,91,89,305,104,219,154,218,160,234,7,164)。
And 5, step 5: the recovery strategy is combined with the key and the codebook extension
Figure BDA0002229901000000213
Decodes into a backup byte sequence->
Figure BDA0002229901000000214
The specific method comprises the following steps:
step 5.1: initialization P B = phi, codebook sequence M = (0,1, \8230;, l chm ·l sh -1); inputting a user key as an iteration starting value;
step 5.2: to P ID Each element in (1)
Figure BDA00022299010000002115
Pseudo-random iterative generation of length l chm ·l sh Is arranged in X ' according to equation (3), and scrambles M into a random codebook M ' according to the positional mapping relationship between X and X ', and ^ er/based on equation (16)>
Figure BDA0002229901000000215
Mapped to ^ greater than or equal to>
Figure BDA0002229901000000216
If/or>
Figure BDA0002229901000000217
Make/combine>
Figure BDA0002229901000000218
Will be/are>
Figure BDA0002229901000000219
Is added to P B Performing the following steps;
Figure BDA00022299010000002110
in equation (16), the get () function is used to index M' as
Figure BDA00022299010000002111
As->
Figure BDA00022299010000002112
Step 5.3: updating X = phi, M = M';
step 5.4: repeatedly executing the 5.2 th step to the 5.3 th step until P ID All the elements are processed to obtain
Figure BDA00022299010000002113
For example, suppose that step 5.1 selects K in the user key corresponding to the masquerading method 2 As an initial value, K is shown from step 5.1 to step 5.4 2 For generating length l as step 5.2 iteration chm ·l sh For uniquely determining the total length l of the iteration generated in step 5.2 during the loop corresponding to step 5 chm ·l sh The random number sequence X of (a).
Suppose to take l chm =16,l sh =24, step 5.1 initialisation P B Phi, = phi, since phi is an empty set, so P B = (= initial codebook sequence M = (0, 1, \8230;, 383);
step 5.2 with
Figure BDA00022299010000002114
For example, assume that K is used in the masquerading method 2 As an initial value, the length generated by the pseudo-random iteration is l chm ·l sh According to formula (3), the random number sequence of X = (0.7718907567600861, 0.6423456283192762, \ 8230; 0.3013837369659013), and the X can be arranged in descending order as X', so that each X in the X is divided into two groupsEach element has a new mapping position in X ', so that a mapping rule can be established, and a mapping relationship from an X element index to an X' element index is established according to the position of each element in X ', so as to scramble the elements in M according to the mapping relationship from X to X', thereby obtaining a scrambled random codebook M ', where scrambled M' = (24, 126, 8230, 155) is assumed, and then (r) \ is assumed>
Figure BDA00022299010000002116
The element at index position 176 in M' is 22, so that formula (16) can be found +>
Figure BDA00022299010000002117
Repeatedly executing the 5.2 th step to the 5.3 th step to obtain P B =(22,129,39,144,93,110,246,179,99,76,164,97,196,9,132,59)。
And 6, step 6: combining user keys and
Figure BDA0002229901000000221
will be/are>
Figure BDA0002229901000000222
Reverting to the secret byte sequence P S =(p i ) l ,p i E.g. {0,1, \ 8230;, 255}, and generates P S The reliability value sequence A = (aa) i ) l The specific method comprises the following steps:
step 6.1: participant sequence O = phi, a = phi, secret byte sequence P s = phi, index i =0; inputting a user key as an iteration starting value;
step 6.2: will P B 4 consecutive elements of (1)
Figure BDA0002229901000000223
Respectively as o' 0 ,o′ 1 ,o′ 2 ,o′ 3 Resulting in a sequence of backup values O '= (O' 0 ,o′ 1 ,o′ 2 ,o′ 3 );
6.3, step: generating a random number (x, y) by pseudo-random iteration, and generating a random disturbance amount disturb according to an equation (17);
Figure BDA0002229901000000224
6.4, step: pseudo-randomly generating a participant sequence O = (O) j ) 4 ,o j Belongs to {0,1, \8230;, 255} and any elements in O are different pairwise;
step 6.5: combining disturb with o 0 ,o 1 ,o 2 ,o 3 ,o′ 0 ,o′ 1 ,o′ 2 ,o′ 3 As GF (2) 8 ) Field polynomial integer
Figure BDA0002229901000000225
By O = (O) j ) 4 ,o j The candidate recovery value sequence B is constructed by combining the participants in E {0,1, \8230;, 255}, and the specific method comprises the following steps:
step 6.5.1: initializing a candidate recovery information sequence B = phi;
step 6.5.2: for the
Figure BDA00022299010000002210
(1) O's' m = -1 or o' n If =1, the candidate restoration information B = -1 is added to B;
②o′ m not equal to-1 and o' n Not equal to-1, mixing o' m ,o′ n ,
Figure BDA00022299010000002211
Two discrepancy parameters are restored in the formula (18)>
Figure BDA0002229901000000226
Let n = n +1, will +>
Figure BDA0002229901000000227
As r 0 ,r 1 If r is 1 =(r 0 + disturb) mod256, then b = r 0 Adding to B, otherwise adding B = -1 to B;
Figure BDA0002229901000000228
6.5.3: repeating the step 6.5.2 until { (o' 0 ,o′ 1 ),(o′ 0 ,o′ 2 ),(o′ 0 ,o′ 3 ),(o′ 1 ,o′ 2 ),(o′ 1 ,o′ 3 ),(o′ 2 ,o′ 3 ) Obtaining a candidate recovery information sequence B after the processing is finished;
6.6, step: taking the non-1 element with the most occurrence times in B as recovery information p j If not, p j Carrying out random assignment to p j The number of occurrences in B is assigned to aa, and a reliability value aa is calculated as equation (19) j
Figure BDA0002229901000000229
Step 6.7: repeatedly executing the 6.2 th step to the 6.6 th step until P B After all elements in the sequence are processed, a secret byte sequence P can be obtained S =(p i ) l ,p i E.g. {0,1, \ 8230;, 255}, and generates P S The reliability value sequence A = (aa) i ) l
For example: suppose that the step 6.1 selects K in the user key corresponding to the disguise method 1 As an initial value, K is shown from step 6.1 to step 6.7 1 For generating a random number x, y ∈ (0, 1) as a 6.3-step iteration and for generating a participant sequence O = (O) as a 6.4-step pseudo-random j ) 4 Is used to uniquely determine all random numbers x, y e (0, 1) generated at steps 6.3 and 6.4 and all participant sequences O = (O =) during the entire cycle corresponding to step 6 i ) 4
From step 6.1: participant sequence O = phi, a = phi, secret byte sequence P s Phi is empty set, then O = (), A = (), P s = (), initialization index i =0;
from step 6.2: since i =0, P is truncated B 4 consecutive elements in= (22, 129,39,144,93,110,246,179,99,76,164,97,196,9,132, 59)
Figure BDA0002229901000000231
Respectively as o' 0 ,o′ 1 ,o′ 2 ,o′ 3 Thereby obtaining O '= (O' 0 ,o′ 1 ,o′ 2 ,o′ 3 )=(22,129,39,144),/>
From step 6.3: assume with K 1 Pseudo random numbers x =0.7241373772752059, y =0.8409441603553602 generated for initial values, and random disturbance amounts are generated using equation (17)
Figure BDA0002229901000000232
Let resulting disturb =42;
then from step 6.4, K can be assumed 1 4 non-equal O = (239, 162,139, 86) pseudo-randomly generated for the initial value;
then from step 6.5, o can be converted 0 =239,o 1 =162,o 2 =139,o 3 =86,o′ 0 =22,o′ 1 =129,o′ 2 =39,o′ 3 =144 as GF (2) 8 ) Field polynomial integer
Figure BDA0002229901000000233
Figure BDA0002229901000000234
Initializing a candidate recovery information sequence B = phi from step 6.5.1, knowing: b = (); from step 6.5.2: by applying a backup vector (o) i ,o′ i ) I =0,1,2,3 in two combinations, we can get { (o' 0 ,o′ 1 ),(o′ 0 ,o′ 2 ),(o′ 0 ,o′ 3 ),(o′ 1 ,o′ 2 ),(o′ 1 ,o′ 3 ),(o′ 2 ,o′ 3 ) H, with (o' 0 ,o′ 1 ) By way of example, due to o' 0 Not equal to-1 and o' 1 Not equal to-1, then from (2), can be (o) 0 =239,o′ 0 = 22) and (o) 1 =162,o′ 1 = 129) into equation (18) may result in>
Figure BDA0002229901000000235
Figure BDA0002229901000000236
And r is 0 =1,r 1 =43, due to r 1 =(r 0 + disturb) mod256, with b = r 0 Adding into B, and separating from the mixture in the 6.5.3 step: repeating the step 6.5.2 until { (o' 0 ,o′ 1 ),(o′ 0 ,o′ 2 ),(o′ 0 ,o′ 3 ),(o′ 1 ,o′ 2 ),(o′ 1 ,o′ 3 ),(o′ 2 ,′ 3 ) After the processing is finished, a candidate recovery information sequence B = (1,1,1,1,1,1);
from step 6.6, the non-1 element with the largest occurrence number of B can be used as the recovery information p 0 =1, and the number of occurrences aa =6 is substituted in formula (19) to calculate the reliability value aa thereof j =3, will p 0 Addition of =1 to P S In order to obtain P S = (1), "will be j If =3 is added to a, then a = (3);
from step 6.7: repeatedly executing the 6.2 th step to the 6.6 th step until P B When all the elements in (1) are processed, P is present S =(1,22,134,246),A=(3,3,3,3)。
FIG. 3 is an example: secret information 1, ancient poem "bamboo library" containing 20 Chinese characters; FIG. 4 is an example: fig. 3 shows a partial test question of the secret-containing test question 1 generated by the secret information disguising process of fig. 1, wherein the sparse ratio rate =0.2, and the initial codebook M = (0, 1, \ 8230;, 383); FIG. 5 is an example: secret information 1 recovered by the secret test question 1 corresponding to fig. 4 according to the correct key and the secret information recovery flow of fig. 2, wherein the sparse ratio rate =0.2, and the initial codebook sequence M = (0, 1, \8230; (383); FIG. 6 is an example: a reliability value sequence (organized into a 4 × 10 array for convenient display) calculated by the secret test question 1 corresponding to fig. 4 according to the correct secret key and the reliability of the secret information recovery process of fig. 2, wherein the sparse ratio rate =0.2, and the initial codebook sequence M = (0, 1, \ 8230;, 383); FIG. 7 is an example: secret information 2, ancient poetry "deer firewood" containing 20 Chinese characters; FIG. 8 is an example: fig. 7 shows partial test questions of the confidential test questions 2 generated through the secret information disguising process of fig. 1, wherein the sparse ratio rate =0.2, and the initial codebook sequence M = (0, 1, \ 8230;, 383); FIG. 9 is an example: attacking the secret test question 2 corresponding to fig. 8, and recovering the secret information 2 according to the secret information recovery flow of fig. 2, wherein the attack mode is that the option arrangement sequence of some test questions in the falsified test paper is changed, the attack proportion is 0.2, the sparse rate is =0.2, and the initial codebook sequence M = (0, 1, \ 8230;, 383); FIG. 10 is an example: the corresponding reliability value sequence (organized in a 4 × 10 array for convenient display) in the embodiment of fig. 9, wherein the attack mode is the order of the options of some test questions in the falsified test paper, the attack ratio is 0.2, the sparse ratio rate =0.2, and the initial codebook sequence M = (0, 1, \ 8230;, 383); FIG. 11 is an example: secret information 1, ancient poetry bamboo museum containing 20 Chinese characters; FIG. 12 is an example: fig. 11 shows partial test questions of the secret information disguising flow generated by the secret information disguising flow of fig. 1, wherein the sparse ratio rate =0.2, and the initial codebook sequence M = (0, 1, \ 8230;, 383); FIG. 13 is an example: attacking the secret test question 3 corresponding to fig. 12, and recovering the secret information 3 according to the secret information recovery process of fig. 2, wherein the attack mode is to tamper with the question stems of some test questions in the test paper, the attack proportion is 0.5, the sparsity ratio rate =0.2, and the initial codebook sequence M = (0, 1, \ 8230;, 383); FIG. 14 is an example: the corresponding reliability value sequence (organized in a 4 × 10 array for convenient display) in the embodiment of fig. 13, wherein the attack mode is to tamper with the stem of a part of the test questions in the test paper, the attack proportion is 0.5, the sparse ratio rate =0.2, and the initial codebook sequence M = (0, 1, \ 8230;, 383); FIG. 15 is an example: secret information 2, ancient poetry "deer firewood" containing 20 Chinese characters; FIG. 16 is an example: fig. 15 shows a partial test question among the secret test questions 4 generated by the secret information disguising process of fig. 1, where the sparse ratio rate =0.2, and the initial codebook sequence M = (0, 1, \ 8230;, 383); FIG. 17 is an example: attacking the secret test questions 4 corresponding to fig. 16, and recovering the secret information 4 according to the secret information recovery flow of fig. 2, wherein the attack mode is to delete part of the test questions in the test paper, add the test questions at corresponding positions, the attack proportion is 0.2, the sparse ratio rate =0.2, and the initial codebook sequence M = (0, 1, \ 8230;, 383); FIG. 18 is a schematic view of: the corresponding reliability value sequence (organized as a 4 × 10 array for convenient display) in the embodiment of fig. 17 is obtained by deleting some test questions in the test paper and adding test questions at corresponding positions, the attack proportion is 0.2, the sparsity ratio rate =0.2, and the initial codebook sequence M = (0, 1, \ 8230;, 383).

Claims (10)

1. The double-authentication test question backup disguising method combining codebook expansion and question stem hashing is characterized by comprising the following steps of:
step 1: inputting a secret byte sequence P with length l S =(p i ) l ,p i E {0,1, \ 8230;, 255}, user key, sparse ratio rate e (0, 1) and GF (2) 8 ) Field primitive polynomial integer
Figure FDA0004045773880000011
Wherein P is S Is a secret byte sequence, p i Is P S The ith element in (1);
step 2: combining user keys and
Figure FDA0004045773880000012
will P S (ii) performing GF (2) 8 ) Field interpolation backup, resulting in a backup byte sequence->
Figure FDA0004045773880000013
Wherein P is B Is a backup byte sequence, is asserted>
Figure FDA0004045773880000014
Is P B The ith element in (1) 1 Is P B The length of (d);
and 3, step 3: combining user key and codebook extension
Figure FDA0004045773880000015
Encoding into a coded index sequence
Figure FDA0004045773880000016
Wherein l chm Is the number of characters mapped by the test question channel, l sh Is the number of permutations that the choice question option can use, P ID Is a coded index sequence, in conjunction with a key value>
Figure FDA0004045773880000017
Is P ID The ith element in (1) 1 Is P ID Length of (d);
and 4, step 4: constructing multi-channel question stem sequence
Figure FDA0004045773880000018
And stem expression value sequence
Figure FDA0004045773880000019
Wherein l ch Number of channels divided for question, n k Corresponding to the number of questions of the kth channel, F k Is a multi-channel question stem sequence, f i k Is F k The ith test question in (4), be greater than or equal to>
Figure FDA00040457738800000110
Is E k The ith expression value of (a);
and 5, step 5: in combination with a user key, F k And E k By
Figure FDA00040457738800000111
Generating test questions containing secret
Figure FDA00040457738800000112
Wherein T is i Is a test question st i Stem of (a) i ,b i ,c i ,d i Is a test question st i 4 options of l 1 Is the number of test questions, st i Is the ith test question in the secret test question L;
and 6, a step of: adding a non-dense test question in L in combination with a sparse ratio rate epsilon (0, 1) to obtain aAnd F is a radical of hydrogen k Generating test questions added with test questions without secret
Figure FDA00040457738800000113
Wherein l 3 =l 1 +l 2 ,l 2 Is the number of test questions not containing secret code,/ 3 Is L * Number of test questions>
Figure FDA00040457738800000114
Is added with test questions L without secret test questions * The ith test question in (1);
step 7, combining the user key
Figure FDA00040457738800000115
Is scrambled to->
Figure FDA00040457738800000116
Output L "as the final test question, st i Is the ith test question in L ".
2. The method of claim 1, wherein in step 2, the backup byte sequence is backed up
Figure FDA00040457738800000117
Has a length of l 1 =4l;
The specific method in the step 2 comprises the following steps:
step 2.1: initialization P B Phi, phi is an empty set; inputting a user key as an iteration starting value;
step 2.2: for is to
Figure FDA00040457738800000118
Pseudo-random iteration generates x, y epsilon (0, 1), and x, y are mapped into an interpolation polynomial parameter sequence R = (R) according to formula (1) 0 ,r 1 ),r 0 ,r 1 E {0,1, \ 8230;, 255}, where p i Is P S The element (1) in (1);
Figure FDA0004045773880000021
step 2.3: pseudo-random iterative generation of participant sequence O = (O) i ) 4 ,o i Belongs to {0,1, \8230;, 255} and any elements in O are different pairwise;
step 2.4: will r is 0 ,r 1 ,o 0 ,o 1 ,o 2 ,o 3 As GF (2) 8 ) Finite field polynomial integers
Figure FDA0004045773880000022
According to the formula (2) mapping of->
Figure FDA0004045773880000023
Will (o) 0 ′,o 1 ′,o 2 ′,o 3 ') to P B Performing the following steps;
Figure FDA0004045773880000024
step 2.5: repeatedly executing the step 2.2 to the step 2.4 until P S All elements p in (1) i After the processing is finished, obtaining a backup byte sequence
Figure FDA0004045773880000025
3. The method for disguising the backup of the double-authentication test questions by combining the expansion of the codebook and the hash of the question stem as claimed in claim 1, wherein the specific method in the 3 rd step comprises the following steps:
step 3.1: initialization P ID = phi, codebook sequence M = (0,1, \8230;, l chm ·l sh -1); inputting a user key as an iteration starting value;
step 3.2: to P B Each element in (1)
Figure FDA0004045773880000026
Pseudo-random iterative generation of length l chm ·l sh Is arranged in X ' according to equation (3), and scrambles M into a random codebook M ' according to the positional mapping relationship between X and X ', and->
Figure FDA0004045773880000027
Mapped to ^ greater than or equal to>
Figure FDA0004045773880000028
And will->
Figure FDA0004045773880000029
Is added to P ID Performing the following steps;
X′=dec(X) (3)
in the formula (3), the function dec () is used for the descending order arrangement;
Figure FDA00040457738800000210
in equation (4), function index () is used to find
Figure FDA00040457738800000211
Index in M>
Figure FDA00040457738800000212
Step 3.3: updating X = phi, M = M';
step 3.4: repeatedly executing the 3.2 rd step to the 3.3 rd step until P B All elements in the raw material are treated to obtain
Figure FDA00040457738800000213
4. The method for disguising the backup of the double-authentication test questions by combining the expansion of the codebook and the hash of the question stem as claimed in claim 1, wherein the specific method in the 4 th step comprises the following steps:
step 4.1: initialization F k =φ,k=0,1,…,l ch -1,E k =φ,k=0,1,…,l ch -1;
Step 4.2: for positive integer ops in specified range 0 ,op 1 If k = (op) 0 +op 1 )modl ch Then at F k Adding f =' op 0 +op 1 = ", extracting an expression value e according to equation (5), wherein if f is the ith test question added by the kth channel, f is i k =f,
Figure FDA00040457738800000214
e=GetValue(Hash(f),k) (5)
In the formula (5), hash (f) is used for obtaining a question stem Hash value formed by xi system numbers corresponding to f, and GetValue (Hash (f), k) is used for obtaining the kth xi system number corresponding to Hash (f);
and 4.3, step: and repeatedly executing the 4.2 th step until all the positive integers ops in the specified range are reached 0 ,op 1 After the treatment, obtain
Figure FDA0004045773880000031
And &>
Figure FDA0004045773880000032
5. The method for disguising the backup of the double-authentication test questions combining the codebook expansion and the question stem hashing as claimed in claim 1, wherein the specific method in the step 5 comprises the following steps:
step 5.1: initializing a secret test question sequence L = phi, and initializing
Figure FDA0004045773880000033
Inputting a user key as an iteration start value, wherein &>
Figure FDA0004045773880000034
Is G k The ith element in (1);
step 5.2: to P ID Each element in (1)
Figure FDA0004045773880000035
Generating u, v according to equation (6); generating a random number x, y belongs to (0, 1) by pseudorandom iteration, and calculating a channel k and a test question index j corresponding to the channel k according to a formula (7):
Figure FDA0004045773880000036
Figure FDA0004045773880000037
step 5.3: if it is
Figure FDA0004045773880000038
Or->
Figure FDA0004045773880000039
Let j = (j + 1) modn k ;/>
Step 5.4: repeatedly executing the 5.2 th step to the 5.3 th step until
Figure FDA00040457738800000310
And->
Figure FDA00040457738800000311
Acquire->
Figure FDA00040457738800000312
The answer ans, order
Figure FDA00040457738800000313
Step 5.5: generating index id according to formula (8), and selecting pairs according to id4 answer options ans-1, ans +1, ans +2 are arranged in corresponding id arrangement in a dictionary order, the id arrangement is used as an actual output 4 options a, b, c, d, (T, a, b, c, d) is added into L, wherein if (T, a, b, c, d) is the ith test question added into L, st is provided i = T, a, b, c, d, denoted st i =(T i ,a i ,b i ,c i ,d i ) Wherein l is sh Is the arrangement sequence of all the options of a, b, c and d;
Figure FDA00040457738800000314
step 5.6: repeatedly executing the 5.2 th step to the 5.5 th step until P ID After all the elements in the test paper are processed, the secret test question L = (st) can be obtained i =(T i ,a i ,b i ,c i ,d i )) l1
6. The method for disguising the backup of the double-authentication test questions combining the codebook expansion and the question stem hashing as claimed in claim 5, wherein the specific method in the 6 th step comprises the following steps:
step 6.1: the number l of the test questions without secret is calculated according to the formula (9) 2
Figure FDA0004045773880000041
Step 6.2: generating a random number x, y belongs to (0, 1), and calculating a channel k and a test question index j corresponding to the channel k according to a formula (7);
step 6.3: if it is
Figure FDA0004045773880000042
Let j = (j + 1) modn k
Step 6.4: repeatedly executing the step 6.3 until
Figure FDA0004045773880000043
Acquire->
Figure FDA0004045773880000044
Answer ans, gets->
Figure FDA0004045773880000045
6.5, step: calculating id according to equation (10), rearranging the id of the 4 answer options ans-1, ans +1, ans +2 according to the id and arranging the id in a lexicographical order to obtain 4 options a, b, c, d which are actually output, (T, a, b, c, d) is added into L, wherein if (T, a, b, c, d) is that the ith track added into L does not contain the secret test question, st i ' = (T, a, b, c, d), in which l sh Is the arrangement sequence of all the options of a, b, c and d;
Figure FDA0004045773880000046
6.6, a step: repeatedly executing the 6.2 th step to the 6.5 th step until l is generated 2 If the test question does not contain the secret test question, the test question added with the test question without the secret test question is marked as
Figure FDA0004045773880000047
Wherein l 3 =l 1 +l 2
7. The method for recovering double-authentication test question backup camouflage based on any one of claims 1 to 6, wherein the method comprises the following steps:
step 1: input length of l 3 Test question L', user Key, sparsity ratio, rate ∈ (0, 1), and GF (2) 8 ) Field primitive polynomial integer
Figure FDA0004045773880000048
Step 2: calculating the number l of test questions without secret by the sparse ratio rate epsilon (0, 1) 2
And 3, step 3: inverse scrambling L' into L in conjunction with a user key * From L * Tail removal 2 Test questions, will reject l 2 L of individual test question * Test questions as requiring extraction of secret information
Figure FDA0004045773880000049
Wherein T is i Is a test question st i Stem of (a) i ,b i ,c i ,d i Is a test question st i 4 options of l 1 Is the number of secret test questions, st i Is a test question L for extracting secret information s The ith test question;
and 4, step 4: in combination with a user key
Figure FDA00040457738800000410
Extracts the coding index sequence->
Figure FDA00040457738800000411
Wherein +>
Figure FDA00040457738800000412
Is P ID The ith element in (1);
and 5, step 5: the recovery strategy combining the key and the codebook extension is
Figure FDA00040457738800000413
Decodes into a backup byte sequence->
Figure FDA00040457738800000414
Wherein
Figure FDA00040457738800000415
Is P B The ith element in (1); />
And 6, a step of: combining user keys and
Figure FDA00040457738800000416
will be/are>
Figure FDA00040457738800000417
Reverting to the secret byte sequence P S =(p i ) l ,p i Belongs to {0,1, \8230;, 255}, and generates P S The reliability value sequence A = (aa) i ) l Wherein p is i Is P S Aa i Is the ith element aa in A i
8. The method for recovering the double-certification question backup camouflage combining codebook expansion and question stem hashing as claimed in claim 7, wherein the 2 nd step calculates the number l of the test questions without the secret by the sparse ratio rate e (0, 1) 2 The specific method comprises the following steps: the number l of the test questions without secret keys is calculated according to the formula (11) 2
Figure FDA0004045773880000051
Step 3 l 1 The constraint satisfied is equation (12);
l 1 =l 3 -l 2 (12)
the specific method in the step 4 comprises the following steps:
step 4.1: initialization P ID = phi; inputting a user key as an iteration starting value;
step 4.2: to L s Each test question st in i Obtaining T i Answer ans i Calculating a channel k according to the formula (13), acquiring a kth xi scale number corresponding to the hash value of the question stem according to the formula (5) as an expression value e, and enabling u = e;
k=ans i modl ch (13)
and 4.3, step: pseudo-random iteration generates a random number x, y belongs to (0, 1), and a is obtained i ,b i ,c i ,d i Index id ∈ {0,1, \ 8230;, in a lexicographic ordering sh -1}, v is calculated as equation (14) and v is calculated as equation (15)
Figure FDA0004045773880000052
And will>
Figure FDA0004045773880000053
Is added to P ID Performing the following steps;
Figure FDA0004045773880000054
Figure FDA0004045773880000055
step 4.4: repeatedly executing the 4.2 th step to the 4.3 th step until L s All st in i After the treatment is finished, thereby obtaining
Figure FDA0004045773880000056
9. The method for recovering double-authentication question backup disguise combined with codebook extension and question stem hashing as claimed in claim 7, wherein the specific method in step 5 comprises the following steps:
step 5.1: initialization of P B = phi, codebook sequence M = (0,1, \8230;, l chm ·l sh -1); inputting a user key as an iteration starting value;
step 5.2: to P ID Each element in (1)
Figure FDA0004045773880000057
Pseudo-random iterative generation of length l chm ·l sh Is arranged in X ' according to equation (3), and scrambles M into a random codebook M ' according to the position mapping relationship between X and X ', and ^ or is based on equation (16)>
Figure FDA0004045773880000058
Mapping to +>
Figure FDA0004045773880000059
If/or>
Figure FDA00040457738800000510
Make->
Figure FDA00040457738800000511
Will->
Figure FDA00040457738800000512
Is added to P B Performing the following steps;
Figure FDA00040457738800000513
in equation (16), the get () function is used to index M' as
Figure FDA00040457738800000514
As->
Figure FDA00040457738800000515
Step 5.3: update X = Φ, M = M';
step 5.4: repeatedly executing the 5.2 th step to the 5.3 th step until P ID All the elements are treated to obtain
Figure FDA00040457738800000516
The concrete method in the step 6 comprises the following steps:
step 6.1: participant sequence O = phi, a = phi, secret byte sequence P s = Φ, index i =0; inputting a user key as an iteration starting value;
step 6.2: will P B 4 consecutive elements of (1)
Figure FDA0004045773880000061
Are respectively taken as o' 0 ,o′ 1 ,o′ 2 ,o′ 3 Thus obtaining a backup value sequence O '= (O' 0 ,o′ 1 ,o′ 2 ,o′ 3 );/>
Step 6.3: generating a random number (x, y) by pseudo-random iteration, and generating a random disturbance quantity disturb according to an equation (17);
Figure FDA0004045773880000062
6.4, step: pseudo-randomly generating the participant sequence O = (O) j ) 4 ,o j Belongs to {0,1, \8230;, 255} and any elements in O are different pairwise;
6.5, step: combining disturb with o 0 ,o 1 ,o 2 ,o 3 ,o′ 0 ,o′ 1 ,o′ 2 ,o′ 3 As GF (2) 8 ) Field polynomial integer
Figure FDA0004045773880000063
By O = (O) j ) 4 ,o j Constructing a candidate recovery value sequence B by pairwise combination of participants in the {0,1, \8230;, 255 };
6.6, step: the elements in the range of {0,1, \ 8230;, 255} occurring the most frequently in B are used as the restoration information p i If not, then p is added i Carrying out random assignment on p i The number of occurrences in B is assigned to aa, and a reliability value aa is calculated from aa i
Step 6.7: repeatedly executing the 6.2 th step to the 6.6 th step until P B All the elements in the sequence are processed to obtain a secret byte sequence P S =(p i ) l ,p i Belongs to {0,1, \8230;, 255}, and generates P S The reliability value sequence A = (aa) i ) l
10. The method for recovering the double-authentication question copy disguise combined with the codebook expansion and the question stem hash as claimed in claim 9, wherein the specific method in the 6.5 th step is characterized by comprising the following steps:
step 6.5.1: initializing a candidate recovery information sequence B = phi;
6.5.2: for the
Figure FDA0004045773880000064
(1) O's' m = -1 or o' n If =1, the candidate restoration information B = -1 is added to B;
②o′ m not equal to-1 and o' n Not equal to-1, mixing' m ,o′ n ,
Figure FDA0004045773880000065
In substitution formula (18), two partial storage parameters are recovered>
Figure FDA0004045773880000066
Let n = n +1, will +>
Figure FDA0004045773880000067
As r 0 ,r 1 If r is 1 =(r 0 + disturb) mod256, then b = r 0 Adding to B, otherwise adding B = -1 to B;
Figure FDA0004045773880000068
6.5.3: repeating the step 6.5.2 until { (o' 0 ,o′ 1 ),(o′ 0 ,o′ 2 ),(o′ 0 ,o′ 3 ),(o′ 1 ,o′ 2 ),(o′ 1 ,o′ 3 ),(o′ 2 ,o′ 3 ) Obtaining a candidate recovery information sequence B after finishing the processing;
6.6 step of calculating a reliability aa from aa i The specific method of (3) is formula (19):
Figure FDA0004045773880000069
/>
CN201910964051.9A 2019-10-11 2019-10-11 Double-authentication test question backup disguising method combining codebook expansion and question stem hashing Active CN110727956B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910964051.9A CN110727956B (en) 2019-10-11 2019-10-11 Double-authentication test question backup disguising method combining codebook expansion and question stem hashing

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910964051.9A CN110727956B (en) 2019-10-11 2019-10-11 Double-authentication test question backup disguising method combining codebook expansion and question stem hashing

Publications (2)

Publication Number Publication Date
CN110727956A CN110727956A (en) 2020-01-24
CN110727956B true CN110727956B (en) 2023-03-31

Family

ID=69220944

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910964051.9A Active CN110727956B (en) 2019-10-11 2019-10-11 Double-authentication test question backup disguising method combining codebook expansion and question stem hashing

Country Status (1)

Country Link
CN (1) CN110727956B (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106530368A (en) * 2016-10-28 2017-03-22 陕西师范大学 Prime-domain multi-threshold progressive secret image preservation and reconstruction method
CN108171665A (en) * 2017-12-27 2018-06-15 陕西师范大学 A kind of multi version backup and restricted double authentication master key (t, s, k, n) image separate-management method
CN109740362A (en) * 2019-01-03 2019-05-10 中国科学院软件研究所 A kind of ciphertext index generation and search method and system based on entropy coding

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7249109B1 (en) * 1997-07-15 2007-07-24 Silverbrook Research Pty Ltd Shielding manipulations of secret data
US20110126020A1 (en) * 2007-08-29 2011-05-26 Toshiyuki Isshiki Content disclosure system and method for guaranteeing disclosed contents in the system
WO2010010430A2 (en) * 2008-07-25 2010-01-28 Lee Kok-Wah Methods and systems to create big memorizable secrets and their applications in information engineering
US20140189484A1 (en) * 2012-12-18 2014-07-03 Daniel James Fountenberry User ability-based adaptive selecting and presenting versions of a digital content item
WO2018102861A1 (en) * 2016-12-08 2018-06-14 Commonwealth Scientific And Industrial Research Organisation Secure text analytics
CN107153793B (en) * 2017-05-17 2020-03-27 深圳市马博士网络科技有限公司 Important data storage anti-deciphering method
CN107609356B (en) * 2017-08-09 2020-08-11 南京信息工程大学 Text carrier-free information hiding method based on label model
CN108156136B (en) * 2017-12-08 2020-08-04 陕西师范大学 Secret-pattern carrier-free test question disguising method for indirect transmission and random codebook
CN108460023B (en) * 2018-03-23 2021-04-06 陕西师范大学 Method for disguising and recovering legal section double-authentication full-key dependence carrier-free test questions
CN108595975A (en) * 2018-05-07 2018-09-28 南京信息工程大学 A kind of carrier-free information concealing method based on the retrieval of nearly multiimage
CN110111477B (en) * 2019-04-23 2021-09-14 湖北工业大学 Lottery information anti-counterfeiting authentication method and system based on information hiding
CN110113506B (en) * 2019-04-30 2020-11-03 广东海洋大学 Image encryption method based on compressed sensing and information hiding

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106530368A (en) * 2016-10-28 2017-03-22 陕西师范大学 Prime-domain multi-threshold progressive secret image preservation and reconstruction method
CN108171665A (en) * 2017-12-27 2018-06-15 陕西师范大学 A kind of multi version backup and restricted double authentication master key (t, s, k, n) image separate-management method
CN109740362A (en) * 2019-01-03 2019-05-10 中国科学院软件研究所 A kind of ciphertext index generation and search method and system based on entropy coding

Also Published As

Publication number Publication date
CN110727956A (en) 2020-01-24

Similar Documents

Publication Publication Date Title
Chang et al. Sharing a secret gray image in multiple images
Yadav et al. A novel approach of bulk data hiding using text steganography
Abbood et al. Text in Image Hiding using Developed LSB and Random Method.
Zhang et al. Generative reversible data hiding by image-to-image translation via GANs
CN110008723B (en) Encryption and decryption method based on word embedding technology
Benedict Improved file security system using multiple image steganography
CN109495446B (en) Order-preserving encryption algorithm based on balanced ordering tree storage structure
CN108460023B (en) Method for disguising and recovering legal section double-authentication full-key dependence carrier-free test questions
CN108804931B (en) Neural network model encryption protection system and method related to domain transformation data encryption
CN110727956B (en) Double-authentication test question backup disguising method combining codebook expansion and question stem hashing
Arısoy LZW-CIE: a high-capacity linguistic steganography based on LZW char index encoding
Abdulmunem et al. Advanced Intelligent Data Hiding Using Video Stego and Convolutional Neural Networks
CN108156136B (en) Secret-pattern carrier-free test question disguising method for indirect transmission and random codebook
CN105827632A (en) Cloud computing CCS fine-grained data control method
Varthakavi et al. A steganographic analysis using batch steganography
CN112417509B (en) Data security de-duplication method based on self-encoder
CN112184841A (en) Block replacement generating type information hiding and recovering method, device and medium
CN115134142B (en) Information hiding method and system based on file segmentation
Sharma et al. Generative network based image encryption
Chinniyan et al. Image Steganography Using Deep Neural Networks.
Nisperos et al. A Coverless Approach to Data Hiding Using DNA Sequences
Lu et al. A High Capacity Test Disguise Method Combined With Interpolation Backup and Double Authentications
Lu et al. Full key dependent coverless test disguise method by interval-extension-based double authentications
Yu et al. Generative text secret sharing with topic-controlled shadows
Alsaffar An encryption by using DNA algorithm for hiding a compressed message in Image

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant