CN103618602B - Novel skip list certification path generation method based on heap - Google Patents
Novel skip list certification path generation method based on heap Download PDFInfo
- Publication number
- CN103618602B CN103618602B CN201310495388.2A CN201310495388A CN103618602B CN 103618602 B CN103618602 B CN 103618602B CN 201310495388 A CN201310495388 A CN 201310495388A CN 103618602 B CN103618602 B CN 103618602B
- Authority
- CN
- China
- Prior art keywords
- node
- label
- value
- heap
- certification
- 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.)
- Expired - Fee Related
Links
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
The invention relates to a novel skip list certification path generation method based on a heap. The method comprises the following steps: 1) a label value of each node in a certification skip list is calculated; 2) according to calculation of the label value of each node in the certification skip list, a heap is established; 3) based on the second step, from a root node of the heap, searching is carried out at the bottom, from top to bottom and from left to right, i.e. a leaf node with a level = 0, so as to obtain a search path; 4) based on the third step, according to the search path, a certification path node set corresponding a search node is obtained; and the certification path node set is a node set which is composed of brother nodes of each node on the search path; and 5) based on the fourth step, according to the certification path, the node to be searched is certified. The method of the invention can eliminate the unnecessary link in the skip list, and reduce the information redundancy.
Description
Technical field
The present invention relates to information security field, the new method that more particularly to the skip list certification path based on heap produces, should
For authentification of message field.
Background technology
Skip list is a kind of data structure that can effectively realize and ordered sequence is made a look up, and average lookup and renewal time is
O (1og n), wherein n are the numbers of the word in dictionary.Skip list is made up of multiple chained lists, as shown in figure 1, skip list s is by 5
Chained list { s0,s1,s2,s3,s4Constitute.Each chained list si, 0≤i≤4, in storage two special elementses-∞ and+∞ and dictionary
Partial Elements, element is in ascending order.Wherein ,-∞ will be little than the value of any element in this chained list, and+∞ is than in this chained list
The value of any element will be all big.In addition, each chained list also has a following characteristic:
Chained list s0In comprise in dictionary all elements, wherein also include special elementses-∞ and+∞.Chained list si,i=
1 ..., h 1, in element be chained list si-1The subset of element, is from chained list si-1Middle random selection produces.Chained list shOnly wrap
Containing two special element :-∞ and+∞.Wherein, h represents the height of skip list, and the height of Fig. 1 skip list is 5.
Skip list also can regard the set of the position of two dimension as: horizontal direction is the chained list of (levels) not at the same level, orlop
It is level=0;Vertical direction is different towers (towers), wherein comprises the identical element on different stage, in each tower
The element of top layer is referred to as plateau.Element position in skip list can be traveled through by following operation:
Right (p): return the right element of upper element p at the same level;
Left (p): return the left element of upper element p at the same level;
Down (p): return the next element of element p on same tower;
Above (p): return a upper element of element p on same tower.
As shown in figure 1, being original skip list.
As shown in Fig. 2 being the certification skip list building on the basis of original skip list.In certification skip list, each node is original
Increase a label value label, the structure of each node is simplified as on the basis of skip list node:
Wherein, value represents the value of each node of original skip list, and on same tower, the value of nodes at different levels is the same.label
Represent the label value that certification skip list increases newly, for certification, being calculated as follows of label value:
(1) for high order end node n, defining its label value is 0, i.e. label (n) :=0;
(2) the node n being 0 for level, then have two kinds of situations:
If a () its left end node is not a plateau node, its label value is the hash value of nodal value itself, that is,
label(n)=h(value(n));
If b () its left end node is a plateau node, its label value be label (n)=h (value (n) | |
label(left(n)));
(3) for level be not 0 node, also have two kinds of situations:
If a () its left end node is not a plateau node, its label value is the label value of next node, that is,
label(n)=label(down(n));
If b () its left end node is a plateau node, its label value is label (n)=h (label (down
(n))||label(left(n)));
How effectively to try to achieve each bottom layer node, i.e. the node of level=0, certification path be non-in certification skip list scheme
An often important ring.At present, the calculating of certification path nodal value needs whether the left sibling of decision node is plateau node,
Efficiency has much room for improvement.
Content of the invention
It is an object of the invention to proposing a kind of new method, produce the certification of certified node in certification skip list based on heap
Path.The present invention, according to the property of heap, obtains the certification path of certified node in certification skip list.
The purpose of the present invention can be reached by following measures:
The new method that a kind of skip list certification path based on heap produces comprises the following steps:
1) calculate the label value of each node in certification skip list;
2) calculating according to node label value each in certification skip list, sets up heap;
3) on the basis of second step, from the beginning of the root node of heap, from top to bottom, from left to right to bottom, i.e. level=0
Leaf node scan for, obtain searching route;
4) the certification path set of node of corresponding search node on the basis of the 3rd step, is obtained according to searching route;Certification
Path node collection is the node set being made up of the brotgher of node of node each in searching route;
5) on the basis of the 4th step, according to certification path, node to be searched for is authenticated.
The label value calculating each node in certification skip list in described step 1 concretely comprises the following steps:
101) for high order end node n, defining its label value is 0, i.e. label (n) :=0;
102) the node n being 0 for level, then have two kinds of situations:
If a () its left end node is not a plateau node, its label value is the hash value of nodal value itself, that is,
label(n)=h(value(n));
If b () its left end node is a plateau node, its label value be label (n)=h (value (n) | |
label(left(n)));
103) for level be not 0 node, also have two kinds of situations:
If a () its left end node is not a plateau node, its label value is the label value of next node, that is,
label(n)=label(down(n));
If b () its left end node is a plateau node, its label value is label (n)=h (label (down
(n))||label(left(n))).
In described step 2, from the beginning of level0, successively up, step is as follows for the foundation of heap:
201) for high order end node n, each node only one of which child nodes, that is,
rchild(n):=down(n);
202) the node n being 0 for level, then have two kinds of situations:
If a () its left end node is not a plateau node, its only one of which child nodes, i.e. rchild (n) :=
down(n);
If b () its left end node is a plateau node, it has two child nodes, i.e. lchild () :=left
(n),rchild(n):=down(n);
203) for level be not 0 node, also have two kinds of situations:
If a () its left end node is not a plateau node, its only one of which child nodes, i.e. rchild (n) :=
down(n);
If b () its left end node is a plateau node, it has two child nodes, i.e. lchild () :=left
(n),rchild(n):=down(n);
The tree set up according to above-mentioned rule, the characteristic that wherein all nodes have is: the value of each node is that it is left
That larger value in right child, also referred to as big root heap.
When leaf node scans in described step 3, according to the characteristic of heap, proceed by lookup from root node et, step
Suddenly it is:
301) if the value of the left and right child nodes of present node is all big than the value of node to be searched, past from left child nodes
Under walk;
302) if the value of the left child nodes of present node is less than the value of node to be searched, walk downward from right child;
303) if the left child of present node does not exist, i.e. the right child nodes of only one of which, then walk downward from right child, root
It is repeated according to this rule, till finding node to be searched.
The present invention has the advantage that compared to existing technology
1. heap is set up according to the calculating process of node label value each in certification skip list, eliminates unnecessary link in skip list,
The redundancy of minimizing information.
2. the property according to heap starts to realize the search to certified node from root node.Method simple and clear it is easy to
Understand.
Brief description
Fig. 1. it is original skip list schematic diagram.
Fig. 2. it is the calculating schematic diagram based on node label value each in the certification skip list of original skip list.
Fig. 3. it is the corresponding heap schematic diagram that the present invention sets up according to certification skip list.
Fig. 4. it is the searching route schematic diagram of m node in certification skip list of the present invention.
Fig. 5. it is that the mode of present invention heap represents the proof procedure schematic diagram to m node in certification skip list.
Specific embodiment
The new method implementation steps that a kind of skip list certification path based on heap of the present invention produces can be reached by following deployment
Arrive:
The present invention will combine accompanying drawing and be described in further detail:
Fig. 2, Fig. 3, Fig. 4, Fig. 5 show the work process of the present invention.
As Fig. 2, shown in Fig. 3, the certification skip list of Fig. 2 is transformed into the heap shown in Fig. 3, i.e. the meter according to node label value
Calculate, build heap on the basis of certification skip list.The foundation rule of heap is as follows:
(1) for high order end node n, each node only one of which child nodes, i.e. rchild (n) :=down (n);
(2) the node n being 0 for level, then have two kinds of situations:
If a () its left end node is not a plateau node, its only one of which child nodes, i.e. rchild (n) :=
down(n);
If b () its left end node is a plateau node, it has two child nodes, i.e. lchild () :=left
(n),rchild(n):=down(n);
(3) for level be not 0 node, also have two kinds of situations:
If a () its left end node is not a plateau node, its only one of which child nodes, i.e. rchild (n) :=
down(n);
If b () its left end node is a plateau node, it has two child nodes, i.e. lchild () :=left
(n),rchild(n):=down(n);
More intuitively say, the left sibling in Fig. 2 certification skip list is become left child, lower node becomes right child so that it may obtain
To heap as shown in Figure 3.Leaf node rhombus currently to be authenticated in Fig. 3 represents, corresponding searching route thick frame, thick line
Represent, the ellipse representation that corresponding certification path set of node is filled with oblique line.
This heap has the special feature that and is: the value of each node is that larger in child around value.According to this characteristic,
Therefore, from root node etAccessed path rule to leaf node v1 is: (1) is if the value of left and right child nodes is all than section to be searched
The value of point is big, then walk toward left child nodes;(2) if the value of left child nodes is less than the value of node to be searched, the child that turns right walks;
(3) if left child does not exist, the child that turns right walks, till finding node to be searched.
As Fig. 3, shown in Fig. 4, in certification skip list to node searching process to be searched for it is: from root node etNode is opened
Begin, (1), if the value of the left and right child nodes of present node is all big than the value of node to be searched, walks downward from left child nodes;
(2) if the value of the left child nodes of present node is less than the value of node to be searched, walk downward from right child;(3) if working as prosthomere
The left child of point does not exist, i.e. the right child nodes of only one of which are then walked downward from right child.It is repeated according to this rule,
Till finding node to be searched.Such as, m node to be searched, then its accessed path represents for the thick line in Fig. 3, thick frame
Searching route, the thick line square frame in corresponding Fig. 4 and thick-line arrow represent searching route.To m node in certification skip list in Fig. 4
Searching route, m to etPath be: { m, n, o, r, s, t, z0,et}.
As shown in figure 5, to entity authentication process to be authenticated being:
Known h15, the label value label (e of root node ett) and certification path { h35, q, l, z, st, corresponding to leaf
Node h15Proof procedure be calculated as follows:
(1) label ' (m)=h (value (h15))
(2) label ' (n)=h (label ' (m) | | value (h35))
(3) label ' (o)=h (label ' (n))
(4) label ' (r)=h (label ' (o) | | label ' (q))
(5) label ' (s)=h (label ' (l) | | label ' (r))
(6) label ' (t)=h (' label (s))
(7) label ' (z0)=h(label’(t)||label’(z))
(8) label ' (et)=h(label’(st)||label’(z0))
The label ' (e that will calculatet) with storage label (et) be compared, if consistent then it represents that to node h15Corresponding
Element certification success, otherwise, represent authentification failure.
It should be appreciated that above detailed description technical scheme being carried out by preferred embodiment is schematic
And it is nonrestrictive.Those of ordinary skill in the art can be remembered to each embodiment on the basis of reading description of the invention
The technical scheme carrying is modified, or carries out equivalent to wherein some technical characteristics;And these modifications or replacement, and
Do not make the spirit and scope of the essence disengaging various embodiments of the present invention technical scheme of appropriate technical solution.
Claims (4)
1. a kind of skip list certification path based on heap produces new method it is characterised in that: comprise the following steps:
1) calculate the label value of each node in certification skip list;
2) rule is built according to node label value each in certification skip list and binary tree, set up the binary tree with heap property, that is, greatly
Root heap;
3) on the basis of second step, from the beginning of the root node of heap, from top to bottom, from left to right to bottom, i.e. level=0
Leaf node scans for, and obtains searching route;
4) the certification path set of node of corresponding search node on the basis of the 3rd step, is obtained according to searching route;Certification path
Set of node is the node set being made up of the brotgher of node of node each in searching route;
5) on the basis of the 4th step, according to certification path, node to be searched for is authenticated.
2. a kind of skip list certification path based on heap according to claim 1 produces new method it is characterised in that: described
The label value calculating each node in certification skip list in step 1 concretely comprises the following steps:
101) for high order end node n, defining its label value is 0, i.e. label (n) :=0;
102) the node n being 0 for level, then have two kinds of situations:
If a () its left end node is not a plateau node, its label value is the hash value of nodal value itself, i.e. label
(n)=h (value (n));
If b () its left end node is a plateau node, its label value be label (n)=h (value (n) | | label
(left(n)));
103) for level be not 0 node, also have two kinds of situations:
If a () its left end node is not a plateau node, its label value is the label value of next node, i.e. label
(n)=label (down (n));
If b () its left end node is a plateau node, its label value be label (n)=h (label (down (n)) | |
label(left(n))).
3. a kind of skip list certification path based on heap according to claim 1 produces new method it is characterised in that: described
In step 2, from the beginning of level 0, successively up, step is as follows for the foundation of heap:
201) for high order end node n, each node only one of which child nodes, that is,
Rchild (n) :=down (n);
202) the node n being 0 for level, then have two kinds of situations:
If a () its left end node is not a plateau node, its only one of which child nodes, i.e. rchild (n) :=
down(n);
If b () its left end node is a plateau node, it has two child nodes, i.e. lchild () :=left (n),
Rchild (n) :=down (n);
203) for level be not 0 node, also have two kinds of situations:
If a () its left end node is not a plateau node, its only one of which child nodes, i.e. rchild (n) :=
down(n);
If b () its left end node is a plateau node, it has two child nodes, i.e. lchild () :=left (n),
Rchild (n) :=down (n);
The tree set up according to above-mentioned rule, the characteristic that wherein all nodes have is: the value of each node is child around
That larger value, also referred to as big root heap in son.
4. a kind of skip list certification path based on heap according to claim 1 produces new method it is characterised in that: institute
When stating that in step 3, leaf node scans for, according to the characteristic of heap, proceed by lookup from root node et, step is:
301) if the value of the left and right child nodes of present node is all big than the value of node to be searched, from left child nodes down
Walk;
302) if the value of the left child nodes of present node is less than the value of node to be searched, walk downward from right child;
303) if the left child of present node does not exist, i.e. the right child nodes of only one of which, then walk downward from right child, according to this
Individual rule is repeated, till finding node to be searched.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310495388.2A CN103618602B (en) | 2013-10-21 | 2013-10-21 | Novel skip list certification path generation method based on heap |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310495388.2A CN103618602B (en) | 2013-10-21 | 2013-10-21 | Novel skip list certification path generation method based on heap |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103618602A CN103618602A (en) | 2014-03-05 |
CN103618602B true CN103618602B (en) | 2017-01-25 |
Family
ID=50169306
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310495388.2A Expired - Fee Related CN103618602B (en) | 2013-10-21 | 2013-10-21 | Novel skip list certification path generation method based on heap |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103618602B (en) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5664179A (en) * | 1995-06-27 | 1997-09-02 | Mci Corporation | Modified skip list database structure and method for access |
US5761501A (en) * | 1995-10-02 | 1998-06-02 | Digital Equipment Corporation | Stacked skip list data structures |
CN1270728A (en) * | 1997-09-15 | 2000-10-18 | 埃弗内特集团股份有限公司 | Method and system for fast routing lookups |
CN101158980A (en) * | 2007-12-04 | 2008-04-09 | 威盛电子股份有限公司 | Multiple modes search method and system |
CN101459672A (en) * | 2008-12-26 | 2009-06-17 | 东北大学 | Webpage content authentication system and method |
US8375062B2 (en) * | 2007-11-19 | 2013-02-12 | Oracle America, Inc. | Simple optimistic skiplist |
CN103399902A (en) * | 2013-07-23 | 2013-11-20 | 东北大学 | Generation and search method for reachability chain list of directed graph in parallel environment |
US8719307B2 (en) * | 2010-04-23 | 2014-05-06 | Red Hat, Inc. | Concurrent linked hashed maps |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7257711B2 (en) * | 2001-11-08 | 2007-08-14 | The Johns Hopkins University | Efficient authenticated dictionaries with skip lists and commutative hashing |
-
2013
- 2013-10-21 CN CN201310495388.2A patent/CN103618602B/en not_active Expired - Fee Related
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5664179A (en) * | 1995-06-27 | 1997-09-02 | Mci Corporation | Modified skip list database structure and method for access |
US5761501A (en) * | 1995-10-02 | 1998-06-02 | Digital Equipment Corporation | Stacked skip list data structures |
CN1270728A (en) * | 1997-09-15 | 2000-10-18 | 埃弗内特集团股份有限公司 | Method and system for fast routing lookups |
US8375062B2 (en) * | 2007-11-19 | 2013-02-12 | Oracle America, Inc. | Simple optimistic skiplist |
CN101158980A (en) * | 2007-12-04 | 2008-04-09 | 威盛电子股份有限公司 | Multiple modes search method and system |
CN101459672A (en) * | 2008-12-26 | 2009-06-17 | 东北大学 | Webpage content authentication system and method |
US8719307B2 (en) * | 2010-04-23 | 2014-05-06 | Red Hat, Inc. | Concurrent linked hashed maps |
CN103399902A (en) * | 2013-07-23 | 2013-11-20 | 东北大学 | Generation and search method for reachability chain list of directed graph in parallel environment |
Non-Patent Citations (3)
Title |
---|
Skiplist-Based Concurrent Priority Queues;Nir Shavit, Itay Lotan;《2000 IEEE》;20001231;全文 * |
基于有向哈希树的认证跳表算法;徐剑,陈旭,李福祥,周福才;《计算机科学》;20110930;全文 * |
面向P2P 存储的分布式认证跳表;徐剑,周福才,李欣阳,朱志良;《东北大学学报(自然科学版)》;20120131;第33卷;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN103618602A (en) | 2014-03-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20200380366A1 (en) | Enhanced generative adversarial network and target sample recognition method | |
CN102938767B (en) | The fuzzy keyword search methodology that efficiently can verify that based on the outer packet system of cloud data | |
Abraham et al. | Routing in networks with low doubling dimension | |
CN101035023A (en) | Network structure topology layout method and network management device | |
CN113297429B (en) | Social network link prediction method based on neural network architecture search | |
Wang et al. | GLASS: GNN with labeling tricks for subgraph representation learning | |
CN106909630A (en) | Filtering sensitive words method and system based on dynamic dictionary | |
CN110084412A (en) | A kind of photovoltaic power generation big data prediction technique based on the study of Feature Conversion multi-tag | |
US20150355215A1 (en) | Approach to assess available wind resource distribution based on interpolation method | |
CN106549935A (en) | A kind of isomery function equivalence body generating means and method | |
CN103092992B (en) | Vector data elder generation based on Key/Value type NoSQL data base sequence quadtree coding and indexing means | |
CN103905254B (en) | A kind of graph of a relation intelligent generation method based on communication equipment Port Connection Information | |
CN110675417B (en) | Raster data fast vectorization method combining run length coding and edge tracking | |
Zhu et al. | Hierarchical transformer for scalable graph learning | |
CN103618602B (en) | Novel skip list certification path generation method based on heap | |
CN104008205A (en) | Content routing inquiry method and system | |
CN108471382A (en) | A kind of complex network clustering algorithm attack method based on node angle value | |
KR101376444B1 (en) | Pattern mining method for searching tree on top-down traversal for considering weight in data stream | |
CN104750828A (en) | Induction and deduction knowledge unconsciousness seal-learning method based on 6w rule | |
CN109686413A (en) | A kind of chemical molecular formula search method based on es inverted index | |
CN107578136A (en) | The overlapping community discovery method extended based on random walk with seed | |
CN1584932A (en) | Optimizing method for image transfigure border side tracking | |
CN116432125A (en) | Code classification method based on hash algorithm | |
CN104850716B (en) | The optimal case system of selection of design Clustering Model is accessed based on distributed photovoltaic | |
CN106570017A (en) | Data caching method and system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20170125 Termination date: 20171021 |
|
CF01 | Termination of patent right due to non-payment of annual fee |