1. A computer-implemented method of comparing a first structured data document to a second structured data document, comprising: receiving, at a computing device, the first and second structured data documents as first and second encrypted documents, respectively, the first and second encrypted documents being transmitted to the computing device from a remote computing device over a network, structure and content of each of the first and second encrypted documents being encrypted using encrypted integer labels (EBOL), wherein encrypting the first and second structured data documents comprises, for each node of each of the first and second structured data documents: assigning an integer pair comprising a unique identifier and a depth of the node, encrypting the integer pair to provide an encrypted integer pair, and encrypting structure encoding information of the node, comparing nodes of the first encrypted document to nodes of the second encrypted document, a content and a location of each of the nodes remaining confidential during the comparing; generating matched pairs of nodes based on the comparing, and storing the matched pairs in computer memory, each matched pair comprising a node of the first encrypted document and a corresponding node of the second encrypted document; determining one or more edit operations based on the matched pairs; and generating an edit script comprising the one or more edit operations, the edit script being executable by one or more processors to transform the first encrypted document to provide a transformed encrypted document that is isomorphic to the second encrypted document.
1. A computer-implemented method of comparing a first structured data document to a second structured data document, comprising: receiving, at a computing device, the first and second structured data documents as first and second encrypted documents, respectively, the first and second encrypted documents being transmitted to the computing device from a remote computing device over a network, structure and content of each of the first and second encrypted documents being encrypted using encrypted integer labels (EBOL), wherein encrypting the first and second structured data documents comprises, for each node of each of the first and second structured data documents: assigning an integer pair comprising a unique identifier and a depth of the node, encrypting the integer pair to provide an encrypted integer pair, and encrypting structure encoding information of the node, comparing nodes of the first encrypted document to nodes of the second encrypted document, a content and a location of each of the nodes remaining confidential during the comparing; generating matched pairs of nodes based on the comparing, and storing the matched pairs in computer memory, each matched pair comprising a node of the first encrypted document and a corresponding node of the second encrypted document; determining one or more edit operations based on the matched pairs; and generating an edit script comprising the one or more edit operations, the edit script being executable by one or more processors to transform the first encrypted document to provide a transformed encrypted document that is isomorphic to the second encrypted document. 2. The computer-implemented method of claim 1 , wherein determining one or more edit operations comprises: executing a difference function to process an encrypted value of a first node of the matched pair and an encrypted value of a second node of the matched pair; generating a non-zero value based on the executing; generating an update operation to update the encrypted value of the first node based on the encrypted value of the second node; and adding the update operation to the edit script.