Research Article

A Privacy Preserving Approach to Collaborative Systemic Risk Identification: The Use-Case of Supply Chain Networks

Table 2

Description of the methods of class player [27].

MethodDescription

NamecalculateSecureShortestPathInput
: int
: int
Output
 distance: int
The method recursively identifies the shortest paths from the given source player to the given target player. It returns the encrypted value of the distance and keeps other variables local. If the target player is not the current player, the method calls itself at all neighboring players to determine their distances to the target. The method compares the delivered results of the neighboring players and chooses the path via the neighboring player/s which has/have the minimum distance value. For privacy preserving purposes the comparisons in this method are based on Yao’s secure comparison protocol [41]. The method also identifies the neighboring players who are forming the shortest paths and fills the set .

NamecalculateNumberOfShortestPaths
Input
: int
: int
Output
 void
The method recursively calculates the number of shortest paths between given unique numbers of source player and given target player via players forming the shortest paths. If is not a neighboring player of , the method calls itself at all neighboring players forming the shortest paths between and . The method determines the number of shortest paths which passes through current player by means of the size of the set .
The method saves the results of the calculation in an intermediate storage and later uses it to participate in calculateSecureBetweenness method.

NamedeterminePlayersOnShortestPaths
Input
: int
: int
Output
 void
The method recursively determines how often players are appearing on the shortest paths from source player to target player via current player . If is not a neighboring player of , the method calls itself for all neighboring players which are forming the shortest paths between and . At each recursion the members of the set determine the players which are on the shortest paths through player .
The method determines the players which are on the shortest paths through current player by means of the members of the set .
The method saves the results of the calculation in an intermediate storage and later uses it to participate in calculateSecureBetweenness method.

NamecalculateSecureBetweenness
Input
: int
: int
Output
 BC(v): int
This method calculates the for the given player in the network. It is based on SMC algorithms and requires information exchange among the players in the network. The method performs all arithmetic based on secure protocols of Cramer et al. [44]. These protocols for SMC are an extension of Shamir’s algorithm [42] and providing us the possibility to calculate the BC preserving the privacy concerns.
Furthermore, the method applies the distributive property of binary operations to calculate the result of Equation (1). This provides us the possibility that private shares of players stay private.