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 PDFInfo
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6209—Protecting 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
- H04L9/0869—Generation 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
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
Step 2: combining user keys andwill P S (ii) performing GF (2) 8 ) Field interpolation backup, generating backup byte sequences
And 3, step 3: in combination with user key and codebook extensionEncoding into a coded index sequenceWherein 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 sequenceAnd stem expression value sequenceWherein 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 ByGenerating test questions containing secretWherein 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 secretWherein 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;
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 pairPseudo-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};
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 integersAccording to the formula (2) mapping of->Will be (o' 0 ,o′ 1 ,o′ 2 ,o′ 3 ) Is added to P B Performing the following steps;
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 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)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)Mapped to ^ greater than or equal to>And will>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;
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
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
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, obtainingAnd &>
Further, the specific method of step 5 comprises the following steps:
step 5.1: initializing a secret test question sequence L = phi, and initializingInputting a user key as an iteration starting value;
step 5.2: to P ID Each element in (1)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):
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;
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
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 ;
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.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;
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 asWherein 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
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
And 5, step 5: the recovery strategy is combined with the key and the codebook extensionDecodes into a backup byte sequence->
And 6, step 6: combining user keys andwill->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 ;
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)And will->Is added to P ID The preparation method comprises the following steps of (1) performing;
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
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)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)>Mapping to +>If>Make->Will->Is added to P B Performing the following steps;
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
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)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);
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 integerBy 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;
(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, willIn substitution formula (18), two partial storage parameters are recovered>Let n = n +1, will +>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;
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):
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
For example, input P S =1, 22,134,246, sparsity ratio rate =0.2 e (0, 1), GF (2) 8 ) Field primitive polynomial integerInputting 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 andwill 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->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 pairPseudo-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};
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 fieldAccording to formula (2) mapping as +>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;
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 obtainedl 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,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:
wherein->And &>Are all polynomial integers, i.e. 2-value polynomials stored in an integer, thusO '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 extensionEncoding into a coded index sequenceWherein 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)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)Mapped to ^ greater than or equal to>And will>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;
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
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 withFor 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>Index position in M 'is 176, then according to equation (4) <' > based on>Will therefore>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 sequenceAnd stem expression value sequenceWherein 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
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 obtainAnd &>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 channelsBy 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>
Step 4.2 is executed repeatedly until the op in the specified range 0 ,op 1 =1,2, \8230from100 after treatmentAnd &>
And 5, step 5: in combination with a user key, F k And E k ByGenerating test questions containing secretWherein 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 initializingInputting a user key as an iteration starting value;
step 5.2: to P ID Each element in (1)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);
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);
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
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, initializedThe input key is K 3 (ii) a To be->For example, from step 5.2, u =176mod 16=0 can be calculated according to equation (6)>Wherein the symbol->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:
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.
Suppose calculated j =1032 andthen step 5.3 is repeated until a selected &>And isIn step 5.4, signal +>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 calculatedAssumed 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 secretWherein 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 ;
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.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;
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 asWherein 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.1Therefore, 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):
assuming k =7, total number of questions of 7 th channeln 7 =1250 then j can be calculated from equation (7):
assume j =138, assumeF is obtained from the 6.3 th step and the 6.4 th step 7 Lane 138 of (5) test question stem or stem>From 12+11=23, ans =23, therefore can make =>
From the 6.5 th step: get l sh =24, x =0.9580411200867023, y =0.4267687908056676 is substituted into formula (10) having:
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 keyIs scrambled to->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 agreeThe position mapping of all the elements in can be based on->Scrambling to >>And when the correct user key K is provided 4 When, is greater or less>Can be completely recovered as>
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
For example, the input sparsity ratio rate =0.2 e (0, 1), GF (2) 8 ) Field primitive polynomial integerInputting 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 ;
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 informationWherein 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 methodIs inversely scrambled to
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 keyExtracts the coding index sequence->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)And will>Is added to P ID The preparation method comprises the following steps of (1) performing;
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
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)Assume v =11, take u =0,l chm =16 then can calculate according to equation (15)
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 extensionDecodes into a backup byte sequence->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)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)>Mapped to ^ greater than or equal to>If/or>Make/combine>Will be/are>Is added to P B Performing the following steps;
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
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 withFor 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>The element at index position 176 in M' is 22, so that formula (16) can be found +>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 andwill be/are>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)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);
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 integerBy 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;
(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 ,Two discrepancy parameters are restored in the formula (18)>Let n = n +1, will +>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;
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 :
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)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)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 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> 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 integerWherein P is S Is a secret byte sequence, p i Is P S The ith element in (1);
step 2: combining user keys andwill P S (ii) performing GF (2) 8 ) Field interpolation backup, resulting in a backup byte sequence->Wherein P is B Is a backup byte sequence, is asserted>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 extensionEncoding into a coded index sequenceWherein 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>Is P ID The ith element in (1) 1 Is P ID Length of (d);
and 4, step 4: constructing multi-channel question stem sequenceAnd stem expression value sequenceWherein 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>Is E k The ith expression value of (a);
and 5, step 5: in combination with a user key, F k And E k ByGenerating test questions containing secretWherein 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 secretWherein 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>Is added with test questions L without secret test questions * The ith test question in (1);
2. The method of claim 1, wherein in step 2, the backup byte sequence is backed upHas 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 toPseudo-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);
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 integersAccording to the formula (2) mapping of->Will (o) 0 ′,o 1 ′,o 2 ′,o 3 ') to P B Performing the following steps;
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)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->Mapped to ^ greater than or equal to>And will->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;
Step 3.3: updating X = phi, M = M';
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,
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);
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 initializingInputting a user key as an iteration start value, wherein &>Is G k The ith element in (1);
step 5.2: to P ID Each element in (1)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):
Step 5.4: repeatedly executing the 5.2 th step to the 5.3 th step untilAnd->Acquire->The answer ans, order
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;
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 ;
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.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;
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
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 informationWherein 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 keyExtracts the coding index sequence->Wherein +>Is P ID The ith element in (1);
and 5, step 5: the recovery strategy combining the key and the codebook extension isDecodes into a backup byte sequence->WhereinIs P B The ith element in (1); />
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 ;
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)And will>Is added to P ID Performing the following steps;
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)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)>Mapping to +>If/or>Make->Will->Is added to P B Performing the following steps;
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
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)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);
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 integerBy 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;
(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 ,In substitution formula (18), two partial storage parameters are recovered>Let n = n +1, will +>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;
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):
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)
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)
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 |
-
2019
- 2019-10-11 CN CN201910964051.9A patent/CN110727956B/en active Active
Patent Citations (3)
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 |