Research Article

A Blockchain-Based Medical Data Sharing Mechanism with Attribute-Based Access Control and Privacy Protection

Algorithm 1

Mondrian partitioning algorithm.
Input: Table S to be partitioned.
Output: Partitioning result.
1: Anonymize(partition)
2: if (no allowable multidimensional cut for partition) then
3: return : partition summary
4: else
5: dim choose_dimension()
6: fs frequencySet(partition, dim)
7: splitVal find.median(fs)
8: lhs t partition: t.dim splitVal
9: rhs t partition: t.dim splitVal
10: return Anonymize(rhs) Anonymize(lhs)
11: end if