Research Article
HB+-MHT: Lightweight and Efficient Data Integrity Verification Scheme for Cloud Virtual Machines
| Input: Fileinfoarray satisfying = 1 | | Output: Nodelist | | Begin | | For each item f in Fileinfoarray { | | //Initialization, each tree has only one root node | | HHTNode n = new HHTnode (); | | n.h = hash (f.data); | | n.weight = f.weight; | | n.lc = 0; n.rc = 0; | | n.lp = null; n.rp = null; | | Nodelist.equeue (n) | | } | | While (NodeList.size! = 1) | | //Select two trees with the smallest AWPL from the queue | | nl, nr ← min (NodeList); | | //Merge the two trees | | HHTNode n = new HHTnode(); | | n.h = hash (nl.h || nr.h); | | n.weight = nl.weight + nr.weight; | | n.lc = nl.lc + nl.rc; n.rc = nr.lc + nr.rc; | | n.lp = nl; n.rp = nr; | | //Add a new binary tree to the queue | | Nodelist.equeue (n); | | //Delete the analyzed two subtrees | | Nodelist.deequeue (nl); | | Nodelist.deequeue (n2); | | end while | | return Nodelist | | end |
|