A cryptographic secret can be shared amongst multiple player devices such that a subset of player devices can collaborate to use the secret or to make that secret available. A central entity can be tasked with issuing new shares in the secret but such an entity should be both trusted and secure, and represents a single point of failure. Such a centralized approach can be costly or impractical. Furthermore, such a central entity represents a risk that should be managed, and may not be available or otherwise online or contactable to issue new shares.
Example implementations will now be described, by way of example, with reference to the accompanying drawings in which:
Referring to
A player device is an example of a user device such as, for example, a computing device, which can comprise a computer, laptop, smart phone, smart wearable like a watch, or other electronic device.
A secret can comprise confidential information such as, for example, a password, a secret pin, or any other confidential information. The secret can be divided into a number of pieces of data known as shares. Each element of data, that is, each share, is derived from or is otherwise associated with the secret. The shares in a (t,n) threshold scheme are such that knowledge of t or more shares allows the secret to be determined or otherwise calculated, while knowledge of any (t−1) or fewer shares provides no information in the secret in an information theoretic sense, that is, the confidential nature of the secret is preserved such that the secret cannot be determined from (t−1) or fewer shares.
Therefore, the (t,n) threshold scheme allows t player devices of n player devices to recover a secret using respective shares in the secret, or allows the secret to be recovered if an entity such as a player device or set of player devices possesses t shares in the secret. The illustrated threshold scheme is an example of a threshold scheme in which a predetermined number, t, of player devices can cooperate to recover the secret. In the following example, it will be assumed that the threshold number of player devices needed to cooperate is three, that is, t=3 such that the threshold scheme is a (3,n) scheme.
The secret 104 is split into a number of sets of shares 120 and 122. An initial set of shares 120 of the sets of shares comprises a number of shares s1 124 to sn 132 in the secret 104 that have been assigned to respective player devices of the initial player devices 108 to 116. The shares 124 to 132 in the secret 104 are examples of assigned shares. Therefore, in the example implementation illustrated, it can be seen that assigned shares 124 to 132 have been allocated to the player devices 108 to 116 respectively. The other set of shares 122 comprises a number of shares sn+1 134 to su 136 that are unassigned and are intended to be assigned to any new player device other than one of the initial player devices 108 to 116 such as, for example, player device 106. The shares 134 to 136 of the other set of shares 122 are examples of unassigned shares.
The dealer 118 is arranged to calculate a set of initialisation data or provisioning data corresponding to each of the initial player devices 108 to 116. In the implementation shown, therefore, the dealer 118 has calculated five sets of initialisation data 138 to 146. Each set of initialisation data 138 to 146 comprises a respective assigned share 124 to 132 of the initial set of shares 120 in the secret 104, sets of sub-shares 148 to 156 in the unassigned shares 128 to 130 be issued to be issued to new player devices such as, for example, player device 106, and sets of sub-sub shares, or further sub-shares, 158 to 166 to be issued to further player devices such a further player device 109.
The new player device 106 is an example of an intermediate or current generation player device. The initial player devices 108 to 116 are examples of preceding generation player devices relative to an intermediate or current generation player device. The further player device 109 is an example of a succeeding generation player device relative to the intermediate or current generation player device. Therefore, the initial player devices 108 to 116 are examples of such preceding generation player devices, the new player device 106 is an example of such an intermediate generation player device and the further new player device 109 is an example of such a succeeding generation player device. Shares calculated, or issued, by player devices to a given generation new player device are known as shares of that generation.
Therefore, the dealer 118 calculates:
Throughout the application it will be assumed that the threshold scheme is arranged so that three cooperating player devices can recover the secret, although example implementations are not limited to such an arrangement. Example implementations can be arranged in which 2 or more cooperating player devices can recover, use or make available the secret.
In the example implementation illustrated, it can be seen that several player devices 108, 112, and 116 are cooperating in providing respective shares 168 to 172 in the unassigned share 102 of the set of unassigned shares 122 to the new player device 106. The new player device 106 uses the received shares 168, 170 and 172 to determine the respective share 102 in the secret 104 as per the (3,n) threshold scheme.
The player devices 108, 112 and 116 are also illustrated as cooperating in providing respective sets of shares 174, 176, and 178 in further unassigned shares of the set of unassigned shares 122 to be issued to further new player devices such as, for example, the further new player device 109. Although the example implementation has been described with reference to player devices 108, 112 and 116 as providing the respective sets of shares in the further unassigned shares, that is, the same player devices as described above, example implementations can be realised in which a different set of player devices can be used to issue the respective sets of shares in the further unassigned shares.
The shares 124 to 136 can be calculated from a respective polynomial ƒ(x) of degree (t−1) with a constant term corresponding to the secret 104 in which ƒ(x) is of the form ƒ(x)=Σi=1t−1αixi+SK, αi∈/m
are randomly chosen coefficients and t is the threshold number of shares to use or recover the secret SK 104. Therefore, the share 124 in the secret 104 assigned to player device 108 is s1=ƒ(1), the share 126 in the secret 104 assigned to player device 110 is s2=ƒ(2), the share 128 in the secret 104 assigned to player device 112 is s3=ƒ(3), the share 130 in the secret 104 assigned to player device 114 is s4=ƒ(4), and the share 132 in the secret 104 assigned to player device 116 is s5=ƒ(5). The foregoing assigned shares are part of the set 120 of assigned shares. Similarly, the shares 134 to 136 of the set 122 of unassigned shares are also calculated from the polynomial ƒ(x) as s6=ƒ(6), s7=ƒ(7), . . . , su=ƒ(u), which are to be assigned to new player devices such as, for example, new player device 106 and further new player device 109.
In general, the initial set 120 of assigned shares will comprise assigned shares s1=ƒ(1), . . . , sn=ƒ(n), and the set 122 of unassigned shares will comprise unassigned shares sn+1=ƒ(n+1), . . . , su=ƒ(u), where n is the number of player devices in a set of initial player devices and u is the total number of player devices capable of participating in the secrecy system.
The sets of sub-shares 148 to 156 can be calculated from respective polynomials gj(x) of degree t′ with constant terms corresponding to respective unassigned shares 134 to 136 in the secret 104 in which gj(x) are of the form gj(x)=Σi=1t′−1βixi+ƒ(j) where βi∈/m
are randomly chosen coefficients and t′ is the threshold to assign an unassigned share ƒ(j) to a new player device 106, where n+1≤j≤u. Therefore, the sets of sub-shares 148 in the secret 104 assigned to player device 108 are s1j=gj(1), the sets of sub-shares 150 in the secret 104 assigned to player device 110 are s2j=gj(2), the sets of sub-shares 152 in the secret 104 assigned to player device 112 are s3j=gj(3), the sets of sub-shares 154 in the secret 104 assigned to player device 114 are s4j=gj(4), and the sets of sub-shares 156 in the secret 104 assigned to player device 116 are ssj=gj(5). Any t′ player devices of the initial player devices 108 to 116 can cooperate in providing respective sub-shares to the new player device 106 so that the new player device 106 can calculate a respective unassigned share in the secret 104.
The sets of further sub-shares 158 to 166 can be calculated from respective polynomials hk,j(x) of the form hk,j(x)=Σi=1t*−1γixi+gk(j) where γi∈/m
are randomly chosen coefficients and t* is the threshold to assign an intermediate (sub-)share to the new player device where n+1≤j≤u and j<k≤u. Therefore, the sets of further sub-shares 158 in the secret 104 assigned to player device 108 are s1jk=hk,j(1), the sets of further sub-shares 160 in the secret 104 assigned to player device 110 are s2jk=hk,j(2), the sets of sub-shares 162 in the secret 104 assigned to player device 112 are s3jk=hk,j(3), the sets of sub-shares 164 in the secret 104 assigned to player device 114 are s4jk=hk,j(4), and the sets of sub-shares 166 in the secret 104 assigned to player device 116 are s5jk=hk,j(5). Any t* player devices of a set of player devices comprising the initial player devices 108 to 116 and the new player device 106 can cooperate in providing respective sub-shares to the further new player 109 so that the further new player 109 can calculate a respective unassigned share s7=ƒ(7) 107 in the secret 104 from the received sub-shares.
Therefore, in general, a newly added nth generation player device can be assigned a respective unassigned share in the secret selected from the set 122 of unassigned shares 134 to 136 if earlier preceding generations, or existing, player devices have been provisioned or provided with respective sets of (n−1)t″ shares, etc. from which a newly added nth generation player device can calculate a respective unassigned share in the secret. Each time a new player device is added, the former (t, n) threshold scheme becomes a (t, n+1) threshold scheme. Therefore, when player device 106 is added, the former (t, 5) threshold scheme became a (t, 6) threshold scheme. Similarly, when player device 109 was added, the former (t, 6) threshold scheme became a (t, 7) threshold scheme, and when the next player device is added, the former (t, 7) threshold scheme will become a (t, 8) threshold scheme and so on. It can be seen that the threshold to recover the secret remains constant even though the threshold schemes change (t, n)→(t, n+1)→(t, n+2)→(t, n+3)→ . . . →(t, u) when all u player devices are present.
Therefore, initialising or provisioning the original player devices 108 to 116 with the foregoing data allows the initial player devices 108 to 116 to initialise or provision a new player device such as new player device 106 that, in turn, allows any set of player devices, which can include or exclude the new player device 106 relative to the set of initial player devices, to assign an unassigned share of the set of unassigned shares 122 in the secret 104 to a further new player device such as further new player device 109.
Referring to
In the example implementation depicted in
To enable the new player device 106 to participate in providing the further new player device 109 with access to its respective share 202 in the secret 104, the new player device 106 is initialised or provisioned by a predetermined threshold number of succeeding generation player devices with further sub-shares from which the new player device 106 can determine or calculate an additional sub-share or additional sub-shares in any remaining unassigned shares 134 to 136.
Therefore, assuming that the set 122 of unassigned shares 134 to 136 comprises three unassigned shares; namely s6, s7, and s8, the new player device 106 would be provided with sets of shares 174, 176 and 178 from which the new player device 106 can calculate such shares 210 in any remaining unassigned shares 134 to 136 in the secret 104. An example of such a share in an unassigned share is, for example, the share 208 provided by the new player device 106 to the further new player device 109. Such a share 208 was derived from the sets of further sub-shares 174, 176 and 178 provided to the new player device 106 by respective player devices 108, 112 and 116.
In a similar manner, the further new player device 109 can be initialised or otherwise provisioned by a set of existing player devices providing respective sets of further sub-shares 212, 214 and 216 to the further new player device 109 from which the further new player device 109 can calculate respective shares in any remaining unassigned shares of the set of unassigned shares 122. The set of existing player devices can comprise a respective threshold number of player devices selected from the set of all player devices that have been previously provisioned to issue unassigned shares. Therefore, the further new player device 109 can use the respective shares to at least one, or both, of facilitate a still further player device access its respective share or to provision such a still further player device to issue unassigned to a further succeeding generation player device. In the example depicted in
Referring to
The dealer 118 comprises a respective share generator 308 for generating shares in the secret 104. In the example shown, the share generator 308 can be realised using software that is executed or otherwise processed by the processor 302. The respective share generator 308 generates the shares in the secret 104 using the respective polynomial ƒ(x) of degree (t−1) with a constant term corresponding to the secret 104 in which ƒ(x) is of the form ƒ(x)=Σi=1t−1αixi+SK, αi∈/m
are randomly chosen coefficients, t is the threshold number of shares that can be used to issue or recover SK and 1≤i≤u. As indicated above the shares si=ƒ(i)mod m comprise assigned shares 310 that are assigned to the set of n initial player devices. The assigned shares 308 are examples of the above described assigned shares 124 to 132.
The dealer 118 also uses the share generator 308 to generate unassigned shares 312 sj=ƒ(j)mod m, where n+1≤j≤u. The unassigned shares 312 are examples of the above described unassigned shares 134 to 136.
The dealer comprises a sub-share generator 314 to generate sub-shares 316 in the unassigned shares 312. The sub-share generator 314 generates the sub-shares 316 in the unassigned shares 312 using respective polynomials gj(x) of degree t′ with constant terms corresponding to the unassigned shares 312 in the secret 104 in which gj(x) are of the form gj(x)=Σi=1t′−1βixi+ƒ(j) where βi∈/m
are randomly chosen coefficients and t′ is the threshold to assign an unassigned share ƒ(j) to a new player device such as, for example, the new player device 106, where n+1≤j≤u. The sub-shares 316 are given by s′ij=gj(i) mod m, where n+1≤j≤u. The sub-shares 316 in the unassigned shares 312 are examples of the above sub-shares 134 to 136.
The dealer 118 can also comprise a communication interface 318 for communicating the shares 310 and sub-shares 316 to respective player devices of the set of n initial player devices. The dealer 118 distributes respective shares 310 and respective sub-shares 316 to the set of n initial player devices 108 to 116.
Referring to
The processor 404 comprises a share calculator 412. The share calculator 412 calculates the unassigned share 410 of the secret 104 from the received sub-shares 408. The unassigned share 410 is an example of the above described unassigned shares 134 to 136. The calculated hitherto unassigned share 410 is deemed to be assigned to the player device 402. The player device 402 can use the share 410 to recover the secret 104 in collaboration with (t−1) other player devices.
Referring to /m
are randomly chosen coefficients, t* is the threshold to assign a respective sub-share to the further new player device, n+1≤j≤u and j<k≤u. It can be seen that each further sub-share polynomial generates shares to provide access to respective constant terms gk(j). The further sub-shares can be issued to respective player devices via the communication interface 318.
Therefore, more multiple layers can be defined with each subsequent or next layer having associated generator polynomials to generate shares in the shares of the immediately preceding layer to enable newer generations of player devices to issue shares to even newer generation player devices.
Referring to
The player device 402 can selectively output one or more of the sub-shares 604 to one or more respective new player devices to facilitate those player devices accessing respective shares in the secret 104 or respective shares associated with the secret 104 such as, for example, respective further sub-shares in the secret. The respective shares associated with the secret can comprise one or more shares in one or more other shares associated with the secret. Any and all example implementations described herein can be realised in which multiple levels or layers of shares in shares are used to facilitate access to a share or shares in the secret.
Example implementations can be realised in which the player device 402 additionally comprises the entities shown in dash-dot format such that the player device can determine its own respective share in the secret and provide at least one of sub-shares, further sub-shares or multiple layers of shares to facilitate at least a further new player device access a respective share in the secret.
Referring to
In the example illustrated, the secret polynomial is the above described polynomial ƒ(x). However, the secret polynomial can equally well be any of the above described polynomials ƒ(x), gj(x), hk,j(x) or any other generator polynomial selected for generating shares in the secret or selected for generating shares in shares, in particular, selected for generating shares in shares, associated with a secret. It can be appreciated that shares in a share effectively treats the latter share as a secret. Therefore, at each layer or generation of shares, a share of one layer is the secret for shares of the immediately preceding layer such that those generation shares facilitate a player device of the immediately succeeding layer in accessing the share from which those shares were generated.
Shares in the secret are calculated at 710. The shares calculated at 710 are distributed to the set of n initial player devices at 712. The shares calculated at 710 are examples of the above described assigned shares 124 to 132. Therefore, at 712 the set of n initial player devices are initialised or provisioned with respective shares {si=ƒ(i), 1≤i≤n} in the secret. Any t of the set of n initial player devices can collaborate to recover the secret.
At 714, additional shares in the secret are calculated. The additional shares calculated at 712 are examples of the above described unassigned shares 134 to 136. It will be appreciated that example implementations can be realised that combine 710 and 712 to calculate the assigned shares and unassigned shares.
A further threshold scheme is established for distributing the unassigned shares calculated at 712. Therefore, at 716, a threshold number, t′, of player devices is established. Generator polynomials are established or accessed, at 718, for generating set of shares in the unassigned shares. The generator polynomials are examples of the above described generator polynomials gj(x). At 720, shares in the unassigned shares are generated at 720 from the generator polynomials. The respective shares of the generated shares are distributed to the set of n initial player devices for subsequent distribution to respective new player devices. It can be appreciated, for example, that an ith player device, Pi, of the set of n initial player devices receives a respective set {s′ij=gj(i), n+1≤j≤u} of the generated shares. Therefore, n initial player devices receive or are otherwise initialised or provisioned with respective sets of shares {s′ij=gj(i), 1≤i≤n; n+1≤j≤u}. Consequently, any t′ player devices can collaborate to facilitate a new player device, Pj, accessing a respective share, in the secret from shares, stiff, in the respective share, sj, provided to the new player device, Pj, by the t′ collaborating player devices.
Referring to
At the new player device, Pi, the predetermined number, t′, of shares, stiff, in the unassigned share, sj, are received, at 812. The unassigned share, in the secret is calculated, at 814, by the new player device, Pi, from the predetermined number, t′, of shares, sj, in the unassigned share, si. Therefore, a subset of t′ player devices of any previously provisioned player devices can facilitate access by a new player device, Pj, to an unassigned share, sj, in the secret.
Referring to /m
are randomly chosen coefficients, t* is the threshold to assign an intermediate share, that is, a sub-share to the further new player device, and n+1≤j≤u and j<k≤u of the secret. Reference numerals common to
Therefore, at step 902, a number of generator polynomials, such as the above described respective polynomials hk,j(x), are selected to generate the further sub-shares, or sub-sub-shares, in sub-shares in shares in the secret. The further sub-shares are shares that are associated with, or otherwise derived from, the secret via at least one layer of an intermediate share or intermediate shares in, or similarly associated with, the secret. At 904, the further sub-shares are calculated from the above described respective polynomials hk,j(x) and the further sub-shares are distributed to respective player devices.
Initially, the further sub-shares will be distributed to the set of n initial player devices 108 to 116 to facilitate one or more than one new player device in accessing a respective share in the secret and to provision such a new player device, in turn, to facilitate a further new player device in accessing a respective share in the secret and/or to provision that further new player device. As more player devices are provisioned, respective layers of such shares are generated and distributed.
It will be noted that several aspects of
Referring to
At 1006, the new player device, Pj, receives from a set of t* previously provisioned player devices respective further sub-shares {s*ijk:n+1≤j≤u, j≤k≤u} in the respective shares {s′i,j} to be issued to subsequently added new player devices such as, for example, the further new player device 109, to facilitate issuing shares in the secret to any such subsequently added new player devices like the further new player, Pk. The further new player device, Pk, is an example of the above described player device 109.
Example implementations can be realised in which the actions associated with 808 to 814 shown in dashed outline can also be performed in addition to 806, 1002 to 1006, which would provide the new player device, Pj, with access to its respective share, sj=ƒ(j), in the secret 104, at 812 and 814, and provision the new player device, Pj, by receiving from the set of t* previously provisioned player devices respective further sub-shares {s*ijk:n+1≤j≤u, j≤k≤u} in the respective shares to be issued to subsequently added new player devices such as, for example, the further new player device 109, to facilitate issuing shares in the secret to any such subsequently added new player devices like the further new player device, Pk, 109. Such an example implementation is shown in
Referring to
Referring to
Referring to
The secret 1302 has been divided into, or has derived therefrom, a number of shares 1310 to 1324. The shares 1310 to 1324 comprise two sets of shares; namely, assigned shares 1310 to 1318 and unassigned shares 1320 to 1324. The assigned shares are examples of the above described assigned shares 124 to 132. The unassigned shares are examples of the above described unassigned shares 134 to 136. The assigned shares 1310 to 1318 are assigned to respective player devices of the set of n initial player devices 108 to 116. Each of the unassigned shares 1320 to 1324 are divided into respective sub-shares. In the example shown, one such unassigned share 1322 in the secret 1302 has been divided into three sub-shares 1326 to 1330. Furthermore, one of the sub-shares 1328 has been divided into three further sub-shares 1332 to 1336. However, each sub-share 1326 to 1330 can be divided into respective numbers of further sub-shares generated using respective generator polynomials arranged to be recovered using respective thresholds.
A new player device, Pj n+1≤j≤u, can be provided with access to one of the unassigned shares 1322 in the secret 1302 by receiving the three sub-shares 1326 to 1330 from previously provisioned player devices. Similarly, the new player device, Pj, can be provisioned with a respective sub-share 1328 in the secret 1302 by receiving respective further sub-shares 1332 to 1336 in the secret from previously provisioned player devices. Although the provisioning for preceding generation shares has been described using shares of the same layer or generation, example implementations are not limited to such an arrangement.
Referring to
The set of five initial player devices 1402 to 1410 are provisioned with sets of sub-shares 1418 to 1426 relating to each of the unassigned shares 1432 to 1436. Therefore,
In general, the set of n initial player devices 1402 to 1410 receive or are otherwise initialised or provisioned with respective sets of shares {s′ij=g (i), 1≤i≤n; n+1≤j≤u}.
Once the player devices 1402 to 1410 have been provisioned as indicated above, a subset of t player devices, selected from the set of provisioned player devices 1438, can collaborate to enable a new player device 1412 to access a respective share 1432 of the secret. For example, the new player device 1412 can access the respective share 1432 using sub-shares received from any t of the player devices such as player devices 1402, 1406 and 1410, which provide sub-shares s′16=g6(1), s′36=g6(3), and s′56=g6(5) to player device 1412, which facilitates the player device 1412 in calculating s6=g6(0)=ƒ(6) as depicted in
Furthermore, the set of player devices 1438 is also provisioned with further sub-shares (not shown) in s′67=g7(6) 1439 determined from {s*ijk:1≤i≤n, n+1≤j≤u, j<k≤u}, in particular, further sub-shares {s*ijk:1≤i≤n, j=6, k=7}. Therefore, any of t* player devices of the set of player devices 1438 can facilitate the new player device 1412 being provisioned with, or otherwise facilitate access to, a sub-share s′67=g7(6) such that t player devices of the set 1440 of player devices can facilitate access by a further player device 1414 to a respective share 1434 in the secret. For example, player devices 1404, 1406, 1408 can provide respective further sub-shares {s*ijk=2, j=6, k=7}, {s*ijk=3, j=6, k=7} and {s*ijk=4, j=6, k=7} to player device 1412 to allow player device 1412 to calculate s′67=g7(6), that, in turn, allows player device 1414 to calculate s7=g7(0)=ƒ(7) so that player device 1414 can participate in at least one, or both, of recovering or using the secret or in recovering or using the respective share.
Furthermore, the set of player devices 1438 is also provisioned with further sub-shares (not shown) in s′68=g8(6) 1441 determined from {s*ijk:1≤i≤n, n+1≤j≤u, j≤k≤u}, in particular, further sub-shares {s*ijk:1≤i≤n, j=6, k=8}. Therefore, any of t* player devices of the set 1438 of player devices can facilitate the new player device (PD8 or P8) 1412 being provisioned with, or otherwise facilitate access to, a sub-share s′68=g8(6) such that t player devices of the set of player devices 1442 can facilitate access by a still further player device 1416 to a respective share 1436 in the secret. For example, player devices 1402, 1406, 1408 can provide respective further sub-shares {s*ijk: i=1, j=6, k=8}, {s*ijk:i=3, j=6, k=8} and {s*ijk: i=4, j=6, k=8} to player device 1412 to allow player device 1412 to calculate s′68=g8(6), that, in turn, allows player device 1416 to calculate s8=g8(0)=ƒ(8) so that player device 1416 can participate in recovering the secret.
Still further, the set of player devices 1438 is arranged to provision the further set of player devices 1440 with still further sub-shares {s**ijkl:1≤i≤n, n+1≤j≤u, j<k≤u, k≤l≤u}) to facilitate the further player device 1414 to in calculating s′78=g8(7) that, in turn, allows a still further player device 1416 to access or calculate a respective share, s8=ƒ(8), in the secret.
Referring to
Assume that the set of n initial player devices comprises player devices 108 to 116, and that the new player device 106 will be added to the set of player devices followed by the further new player device 109.
At 1410B, a set 1412B of player devices of the initial set of n initial player devices provides a threshold number of shares from a set 1414B of shares 1414.1 to 1414.5 to the new player device 106. The shares of the set 1414B of shares are examples of further sub-shares as well as being examples of preceding generation shares. The set 1412B of player devices is an example of a set of preceding generation player devices. The set 1414B of shares are shares in an intermediate generation share 1416B. The intermediate generation share 1416B is an example of a sub-share. The intermediate generation share 1416B can be calculated from a threshold number of shares of the set 1414B of shares. The shares of the set 1414B of shares are examples of preceding generation shares. The intermediate generation share 1416B provisions the new player device 1402B to facilitate the further new player device 1404B in providing access to the secret 1408B via the respective share 1406B.
At 1418B, the new player 1402B calculates the intermediate generation share 1416B from the threshold number of shares and stores the results, which provisions or otherwise initialises the new player 1402B to assist the further new player 1404B. The intermediate generation share 1416B forms part of a set 1420B of such intermediate generation shares. The set 1420B of intermediate generation shares comprises the intermediate share 1416B and a number of other shares 1422B to 1430B in the respective share 1406B associated with a set 1421B of other intermediate generation player devices P1 . . . P5. The other shares 1422B to 1430B are examples of other intermediate generation shares.
At 1432B, a threshold number of shares of the set 1420B of intermediate generation shares are provided to the further new player 1404B, from which the further new player 1404B calculates, at 1434B, the respective generator polynomial g7(x) 1436B from which the further new player device 1404B can calculate the constant term g7(0) 1438B to make the respective share ƒ(7) 1406B in the secret 1408B available to the further new player 1404B.
Accordingly, example implementations provide a computer implemented method for issuing an unassigned share ƒ(7) 1406B to a succeeding generation player device 1404B, the method comprising: a set of preceding generation player devices P1 . . . P5 1412B providing, to an intermediate generation player device P6 1402B, preceding generation shares 1414B to allow the intermediate generation player device P6 1402B to calculate an intermediate generation share s67=g7(6) 1416B from which the succeeding generation player device P7 1404B, together with a set 1421B or subset of other intermediate generation shares s′17=g7(1) . . . s′57=g7(5) 1422B to 1430B provided by respective other intermediate generation player devices P1 . . . P5 1421B, can calculate the unassigned share g7(0)=s7=ƒ(7) 1406B; and the intermediate generation player device P6 1402B and the set 1421B of other intermediate generation player devices providing the intermediate generation share 1416B and the set of the other intermediate generation shares s′17=g7(1) . . . s′57=g7(5) 1422B to 1430B to the succeeding generation player device P7 1404B.
It will be appreciated from the above that a player device can simultaneously be a preceding generation player device and an intermediate generation player device. For example, referring to
Therefore, the terms preceding generation player device, intermediate generation player device and succeeding generation player device are relative. Relative to a given succeeding generation player device, any device that provides a share from which said succeeding generation player device can calculate a respective share is an intermediate generation player device. It can be seen that there is a direct connection or communication between a succeeding generation player device and an intermediate generation player device.
Similarly, a preceding generation player device is a preceding generation player device relative to an intermediate generation player device, that is, a preceding generation player device comprises any player device that provides a share to an intermediate generation player device from which the latter can calculate a respective share; said respective share to be provided to a respective succeeding generation player device. Therefore, such a preceding generation player device will not be directly connected or in communication with the succeeding generation player device other than via the intermediary of an intermediate generation player device.
Furthermore, example implementations facilitate accessing the unassigned share 1406B in the secret by the further new player device 1404B with that access being facilitated by the new player device 1402B and a threshold number of the set of n initial player devices, that is, a threshold number of preceding generation player devices.
Referring to
The new player device 1402B, that is, the intermediate generation player device, provides the intermediate generation share 1416B to the further new player device 1404B, that is the succeeding generation player device. A subset of the set 1412B of n initial player devices, that is, the other intermediate generation player devices, provide respective intermediate generation shares s′1,7=g7(1) 1422B and s′2,7=g7(2) 1424B to the further new player device 1404B so that the further new player device 1404B has a threshold number of shares s′i,7=g7(1) 1422B, s′27=g7(2) 1424B, s′6,7=g7(6) 1416B from which to calculate the respective share s7=ƒ(7) 1406B in the secret 1408B. Share 1406B is an example of the above described share 1432.
Therefore, in general, a preceding generation player device, player device i, is in possession of a respective share, ƒ(i), in the secret, and sends or can send gj(i) and {hj+1,j(i) to hu,j(i)} to a player device j in a current generation (player device j); a current generation player device, player device j, receives respective shares from a threshold number of player devices in the, or a, preceding generation or preceding generations, calculates a respective share, ƒ(j), in the secret, calculates gj+1(j) to gu(j), and sends or can send gk(j) to a player device, player device k, in the succeeding generation; and the succeeding generation player device, player device k, in the succeeding generation, receives respective subshares from a threshold number of player devices in the preceding generation or preceding generations from which to calculate a respective share, ƒ(k), in the secret.
Although the example implementation has been described with reference to player devices 112 to 116 forming the set of preceding generation player devices, example implementations are not limited to such an arrangement. The set of preceding generation player devices could comprise any threshold number of player devices selected from the set of n initial player devices 108 to 116. Similarly, although the example implementation has been described with reference to the two player devices 108 and 110 providing respective intermediate generation shares to the further player device 1404B, example implementations are not limited to such an arrangement. Example implementations can be realised in which the threshold number of intermediate generation shares are provided by a respective threshold number of any of the player devices 108 to 116 including the new player device 1402B.
Still referring to
At 1442B, a threshold number of player devices of the set of n initial player devices 108 to 116 provides the threshold number of respective sub-shares selected from sub-shares 1444B to 14452B to the new player device 1402B.
At 1454B, the new player device 1402B calculates the respective generator polynomial g6(x) 1456B from which the respective share s6=g6(0)=ƒ(6) 1440B can be calculated.
Therefore, it can be appreciated that the set of n initial player devices 108 to 116 can be provisioned or initialised with shares 1444B to 1452B to enable the new player device 1402B to be issued with a respective share ƒ(6) 1440B in the secret 1408B. Share 1440B is an example of the above described share 1434.
Referring to
A threshold number of player devices 112 to 116 provide respective sub-shares 1448B to 1452B to the new player device 1402B. The new player devices 1402B uses the threshold number of received sub-shares 1448B to 1452B to calculate the respective share 1440B in the secret 1408B.
Therefore, existing player devices, that is, previously provisioned player devices, have issued a hitherto unassigned share 1406B or 1440B in the secret 1408B to at least one, or both, of the new player devices 1404D and 1402B.
Referring to
Therefore, it will be appreciated that:
Applying the foregoing to a set of 5 initial player devices and 3 subsequently added player devices, that is, n=5 and u=8, gives:
Referring to
An initial set of player devices 1616 to 1622 were provisioned with respective further sub-shares in the sub-shares 1606 and 1608 issued by two new player devices 1612 and 1614 so that those new player devices can facilitate the player device 1604 in accessing the respective share s7=g7(0)=ƒ(7) 1602 in the secret. Therefore, the initial set of player devices were provisioned with respective further sub-shares {s*ijk:1≤i≤n, n+1≤j≤u, j<k≤u}, that is, {s*ijk:1≤i≤n, n+1≤j<k≤u} if the unassigned shares are issued in order. Consequently, player devices 1618, 1620, and 1622 are able to provide the following respective further sub-shares s*1,5,7=h7,5(1), s*2,5,7=h7,5(2), and s*3,5,7=h7,5(3) to new player device 1612 from which new player device 1612 could determine the respective sub-share 1606 from which the further new player device 1604 could determine the respective share 1602 in the secret. Similarly, player devices 1616, 1620 and 1622 are able to provide the following respective further sub-shares s*2,6,7=h7,6(2), s*3,6,7=h7,6(3), and s*4,6,7=h7,6(4) to player device 1614 from which new player device 1614 could determine the respective sub-share 1608 from which player device 1604 could determine the respective share 1602 in the secret.
Referring to
It will be appreciated that if the shares ƒ(1), ƒ(2), . . . , ƒ(u) are issued in order then k will always be greater than j. Therefore, player device i could use the set {s*i,j,k:n+1≤j<k≤u} rather than the set s*i,j,k:n+1≤j≤u; n+1≤k≤u}.
Referring to
Each player device 1802 to 1806 comprises a processor 1808 to 1812 arranged to implement player device functionality. Each player device 1820 to 1806 is arranged to generate a respective pre-secret key 1814 to 1818 and, using a respective generator polynomial 1820 to 1824 of the form Pi(x)=Σj=0t−1αi,jxj, where 1≤i≤n, αi,0=pski, αi,j∈/m
are randomly chosen coefficients for j≥1, t is the threshold number of shares that can be used to issue or recover the pre-secret key, that is, αi,0=pski, to generate respective sets 1826 to 1830 of shares in their respective pre-secret keys pski 1814 to 1818. Therefore, the set of shares 1826 in psk1 1814 comprises P1(1) 1832, P1(2) 1834, and P1(3) 1836, the set of shares 1828 in psk2 1816 comprises P2(1) 1838, P2(2) 1840, and P2(3) 1842, and the set of shares 1830 in psk3 1818 comprises P3(1) 1844, P3(2) 1846, and P3(3) 1848.
Each player device 1802 to 1806 retains a predetermined share in their respective pre-secret key and distributes predetermined shares in their pre-secret key to the other player devices. In the distribution, an ith player device receives ith shares from the other player devices. Each ith player distributes shares to the other player devices but retains their ith share in their pre-secret key pski. Therefore, player device 1802 receives shares P2(1) 1838 and P3(1) 1844 from the other player devices 1804 and 1806 respectively, player device 1804 receives P1(2) 1834 and P3(2) 1846 from the other player devices 1802 and 1806 respectively, and player device 1806 receives P1(3) 1836 and P2(3) 1842 from the other player devices 1802 and 1804 respectively. Consequently, each player device has a set of shares from which a respective share of the secret can be calculated. A jth player device determines a respective share of the secret ƒ(j) from ƒ(j)=Σi=1n Pi (j). Therefore, player device 1802 has a set 1850 of respective shares P1(1) 1832, P2(1) 1838, and P3(1) 1844 from which a respective share ƒ(1)=Σi=1n Pi (1) 1852 in the secret can be determined. Similarly, player device 1804 has a set 1854 of respective shares P1(2) 1834, P2(2) 1840, and P3(2) 1846 from which a respective share ƒ(2)=Σi=1n Pi (2) 1856 in the secret can be determined. Also, player device 1806 has a set 1858 of respective shares P1(3) 1836, P2(3) 1842, and P3(3) 1848 from which a respective share ƒ(3)=Σi=1n Pi (3) 1860 in the secret can be determined.
Once a threshold number t of player devices have respective shares in the secret, the player devices can cooperate to recover the secret or provide access the secret. Therefore, in the example implementation depicted in
Therefore, shares in a secret have been generated and distributed in a decentralised manner.
Furthermore, example implementations can be realised in which each player device 1802 to 1806 is additionally arranged to calculate respective future shares, Pi(j) for n+1≤j≤u, (not shown) in the secret that can be distributed to new player devices Pj in the future, where n+1≤j≤u. Each player device 1802 to 1806 is arranged to generate sub-shares in the respective future shares Pi(j) using respective sub-share generator polynomials of the Qi,j(x)=Σk=0t′−1βi,j,kxk, where 1≤i≤n, βi,j,0Pi(j), βi,j,k∈/m
are randomly chosen coefficients for all βi,j,k but for βi,j,0, t′ is the threshold number of shares that can be used to issue or recover a sub-share associated with the secret, that is, βi,j,0=Pi(j), where n+1≤j≤u. Therefore, for n+1≤j≤u each player device calculates n−1 sub-shares in each of Pi(j), that is, each player device calculates a set of sub-shares {Qi,j(1), . . . , Qi,j(n−1)} and distributes respective sets of shares to respective player devices while retaining their own respective shares in each Pi(j).
Therefore, player device 1802 generates a set 1862 of sets of sub-shares {Q1,j(1), . . . , Q1,j(n−1)} comprising Q1,j(1) 1864, Q1,j(2) 1866, and Q1,j(3) 1868, using respective generator polynomials Q1,j(x)=Σk=0t′−1β1,j,kxk 1870 with future shares P1(j) 1872 as respective secrets. Similarly, player device 1804 generates a set 1874 of sets of sub-shares {Q2,j(1), . . . , Q2,j(n−1)} comprising Q2,j(1) 1876, Q2,j(2) 1878, and Q2,j(3) 1880, using respective generator polynomials Q2,j(x)=Σk=0t′−1β2,j,kxk 1882 with future shares P2(j) 1884 as respective secrets. Also, player device 1806 generates a set 1886 of sets of sub-shares {Q3,j(1), . . . , Q3,j(n−1)} comprising Q3,j(1) 1888, Q3,j(2) 1890, and Q3,j(3) 1892, using respective generator polynomials Q3,j(x)=Σk=0t′−1β3,j,kxk 1894 with future shares P3(j) 1896 as respective secrets.
The player devices 1802 to 1806 distribute respective sub-shares {Qi,j(1), . . . , Qi,j(n−1)} to the other player devices. Therefore, player device 1802 distributes sets of sub-shares Q1,j(2) 1866 and Q1,j(3) 1868 to player devices 1804 and 1806 respectively, player device 1804 distributes sets of sub-shares Q2,j(1) 1876 and Q2,j(3) 1880 to player devices 1802 and 1806 respectively, and player device 1806 distributes sets of sub-shares Q3,j(1) 1888 and Q3,j(2) 1890 to player devices 1802 and 1804 respectively. Consequently, each of the player devices 1802 to 1806 comprises respective sets of sets of sub-shares 1897 to 1899.
Therefore, the player devices 1802 to 1806 can facilitate a new player device Pj in accessing a respective share ƒ(j) in the secret. To facilitate access to the respective share ƒ(j), t′ player devices select the next hitherto unassigned share in order for new player device Pj and, for 1≤i≤n, send respective sub-shares of Pi(j) to new player device Pj to allow the new player device to calculate ƒ(j)=Σi=1nPi(j), that is, player device Pi would send sub-shares {Q1,j(i), . . . , Qn,j(i)} to the new player device Pj. Accordingly, the new player device Pj will have been provisioned, by previously provisioned player devices such as the player devices 1802 to 1806, with a respective share ƒ(j) in the secret. Consequently, the new player device Pj will be able to collaborate with t−1 other player devices in recovering the secret or in making the secret available to a further entity or in using its respective share.
In the example illustrated, player device 1802 would send the ith set 1897 of sub-shares 1864, 1876, 1888, that is, {Q1,j(1), . . . , Qn,j(1)}, to a new player device j, where new player device was not part of the set of n initial player devices. Similarly, player device 1804 would send the ith set 1989 of sub-shares 1866, 1878, 1890, that is, {Q1,j(2), . . . , Qn,j(2)}, to the new player device j, and player device 1806 would send the ith set 1989 of sub-shares 1868, 1880, 1892, that is, {Q1,j(3), . . . , Qn,j(3)}, to the new player device j. The new player device j can determine respective shares {Pi(j)} in a respective share ƒ(j) of the secret from ƒ(j)=Σi=1nPi(j).
In the particular case of adding a fourth player device, that is, j=4, the fourth player device would receive from the other player devices 1802 to 1806 the following sets of sub-shares {Q1,4(1), Q2,4(1), Q3,4(1)} 1897, {Q1,4(2), Q2,4(2), Q3,4(2)} 1898, and {Q1,4(3), Q2,4(3), Q3,4(3)} 1899 from which the fourth player device can calculate respective shares P1(4), P2(4), P3(4) from {Q1,4(1), Q1,4(2), Q1,4(3)} 1862, {Q2,4(1), Q2,4(2), Q2,4(3)} 1874, and {Q3,4(1), Q3,4(2), Q3,4(3)} 1886. In general, the ith new player device will receive from the other player devices the sub-shares selected from the sets of sub-shares {Q1,j(1), . . . , Qn,j(2)} to {Q1,j(n), . . . , Qn,j(n)} from which the sets of sub-shares {Q1,j(1), . . . , Q1,j(n)} to {Qn,j(1), . . . , Qn,j(n)} can be determined from which, in turn, respective shares P1(j) to Pn(j) can be determined so that a respective share ƒ(j) in the secret can be determined.
Referring to
Each player device receives respective sub-shares in the shares of the secret. Therefore, player device 1802 generated sub-share P1(1) 1832 and received, respectively from player devices 1804 and 1806, sub-shares P2(1) 1838 and P3(1) 1844 from which a respective share ƒ(1)=Σi=1nPi(1) 1852 in the secret 1902 can be calculated. Similarly, player device 1804 generated sub-share P2(2) 1840 and received, respectively from player devices 1802 and 1806, sub-shares P1(2) 1834 and P3(2) 1846 from which a respective share ƒ(2)=Σi=1nPi(2) 1856 can be calculated. Finally, player device 1806 generated sub-share P3(3) 1848 and received, respectively from player devices 1802 and 1804, sub-shares P1(3) 1836 and P2(3) 1842 from which a respective share ƒ(3)=Σi=1nPi(3) 1860 can be calculated.
Therefore, the secret 1902 can be recovered by any two of the player devices 1802 to 1808 providing respective shares ƒ(i) in the secret 1902 to a further entity, which can use those shares to determine the generator polynomial ƒ(x) 1904 used to generate the shares ƒ(i) in the secret 1902 from which the secret 1902 can be calculated as SK=ƒ(0), which will correspond to the SK=Σi=1npski.
Referring to
The set of shares received allows a respective player device to generate a respective share in the secret. Therefore, the set of shares {P1(1) . . . Pn(1)} 2012 enables player device 1802 to generate the respective share ƒ(1)=Σi=1nPi(1) 1852 in the secret 1902. The set of shares {P1(w) . . . Pn(w)} 2014 enables player device 2004 to generate the respective share ƒ(w)=Σi=1n(w) 2018 in the secret 1902. The set of shares {P1(n) . . . Pn(n)} 2016 enables player device 2006 to generate the respective share ƒ(n)=Σi=1nPi(n) 2020 in the secret 1902.
Similarly, a new player device 2022, not part of the set of n initial player devices can be assigned a respective set of shares {P1(j) . . . Pn(j)} 2024 that enables player device 2022 to generate a respective share ƒ(j)=Σi=1nPi(j) 2026 in the secret 1902. The process of assigning such a set shares {P1(j) . . . Pn(j)} 2024 to enable player device 2022 to generate the respective share ƒ(j)=Σi=1nPi(j) 2026 in the secret 1902 is illustrated in, and described below with reference to,
A predetermined number, t, of collaborating player devices with respective shares 1852, 2018, 2020, 2026 in the secret 1902 can enable a further entity to recover the secret 1902 in the threshold scheme, which involves the further entity determining the generator polynomial ƒ(x) 1904 from which the secret 1902 can be calculate as SK=ƒ(0). Each of the shares in the pre-secret keys 1814, 2008, 2010 will have been generated by respective generator polynomials 1820, 2028, and 2030.
Referring to
The new player device 2022 receives from the existing player devices respective sets of sub-shares {Q1,j(1), . . . , Qi,j(1), . . . , Qn,j(1)} 1897, {Qi,j(w), . . . Qi,j(w), . . . , Qn,j(w)} 2102, {Q1,j(n), . . . , Qi,j(n), . . . , Qn,j(n)} 2104 associated with the respective share ƒ(j) 2026 in the secret 1902. In the illustrated example, the existing player devices are a set of n player devices {player device 1802, . . . , player device 2103, . . . , player device 2105}. The new player device 2022 uses the received sets of sub-shares 1897, 2102, 2104 to calculate the set 2024 of respective shares 2024.1, to 2024.3 in the respective share ƒ(j) 2026 in the secret.
Referring to
Therefore, the above can be used to realise a decentralised system for distributing shares in a secret to new player devices such that the new player devices can use their respective shares in accessing the secret or otherwise making the secret available to another entity.
Referring to
Example implementations will be described using three player devices 2302 to 2306. Example implementations are not limited to three player devices. Example implementations can be realised in which a predetermined number, n to u, n<u, player devices are used. The system 2300 operates as a (t*,n) threshold system in which t* player devices of the total number, n to u, of player devices 2302 to 2306 can cooperate to use, recover, make available or otherwise issue at least one, or both, of a share or shares in a secret 2307 or the secret 2307 per se. The shared secret 2307 is an example implementation of any of the above described shared secrets.
As initialised, the system 2300 will operate as a (t*,n) threshold system, where n<u, in which t* player devices of the total number, u, of player devices 2302 to 2306 can cooperate to use, recover, make available or otherwise issue a secret 2306. As new player devices are added, the system, as per all of the above systems, operates as a (t*, c) threshold system, where c is the current number of player devices given newly added player devices relative to the original number, n, of player devices, where n+1≤c≤u.
Each player device 2302 to 2306 comprises a processor 2308 to 2312 arranged to implement player device functionality. Each player device 2302 to 2306 is arranged to generate sets 2314 to 2318 of further sub-shares 2320 to 2336 in respective sets 2338 to 2342 of sub-shares, {Qi,j(k): 1≤i≤n, n+1≤j≤u}, of respective shares {ƒ(i): 1≤i≤u} in the secret 2307.
Each set 2314 to 2318 of further sub-shares 2320 to 2336 is generated using respective generator polynomials 2344 to 2348 of the form Ri,j,k(x)=Σl=0t*−1γi,j,k,lxi, where 1≤i≤n, n+1≤j≤n, n+1≤k≤n, γi,j,k,0=Qi,j(k), γi,j,k,l∈/m
are randomly chosen coefficients for l≥1, t* is the threshold number of shares that can be used to issue or recover the secrets, that is, γi,j,k,0=Qi,j(k) to produce the respective sets 2314 to 2318 of the further shares in each of γi,j,k,0=Qi,j(k).
Therefore, the sets of shares 2314 to 2318 in γ1,j,k,0=Qi,j(k) comprises the further sub-shares 2320 to 2336, that is, the sets of shares 2314 comprise R1,j,k(1) 2320, R1,j,k(2) 2322, R1,j,k(3) 2324, the sets of shares 2316 in γ2,j,k,0=Q2,j(k) 2340 comprise R2,j,k(1) 2326, R2,j,k(2) 2328, R2,j,k(3) 2330, and the sets of shares 2318 in γ3,j,k,0=Q3,j(k) 2342 comprise R3,j,k(1) 2332, R3,j,k(2) 2334, R3,j,k(3) 2336.
Each player device 2302 to 2306 retains a predetermined share in their respective sets of further sub-shares and distributes predetermined sets of further sub-shares to the other player devices such that any given player device, that is, wth player device, receives one share in each set Qi,j(k) where 1≤i≤n, j>n, k≤u. Each player distributes such sets of shares to the other player devices but retains their wth set of shares.
Therefore, player device 2302 receives sets of shares R2,j,k(1) 2326 and R3,j,k(1) 2332 from the other player devices 2304 and 2306 respectively to form the sets 2350 of further sub-shares 2320, 2326, 2332, player device 2304 receives R1,j,k(2) 2322 and R3,J,k(2) 2334 from the other player devices 2302 and 2306 respectively to form the sets 2352 of further sub-shares 2322, 2328, 2334, and player device 2306 receives R1,j,k(3) 2324 and R2,j,k(3) 2330 from the other player devices 2302 and 2304 respectively to form the sets 2354 of further sub-shares 2324, 2330, 2336. Consequently, each player device has sets of further sub-shares Ri,j,k(x) from which respective sub-shares Qi,j(k) can be derived or provided to calculate respective sub-shares Pi(j) from which respective shares ƒ(j) in the secret can be calculated.
Therefore, the player devices 2302 to 2306 can provision a new player device with respective sub-shares Qi,j(k), via the further sub-shares 2320 to 2336 in the respective sets 2338 to 2342 of sub-shares, {Qi,j(k): 1≤i≤n, n+1≤j≤u}, to provide shares Pi(j) of respective shares ƒ(j) to facilitate a further new player device in accessing a respective share {ƒ(i): n+1≤i≤u} in the secret 2307. In any and all implementations, neither the new player device nor the further new player device form part of the set of n initial player devices.
Once the sets of further sub-shares Ri,j,k(x) have been appropriately distributed, each player device 2302 to 2306 forms a respective set of such sets of further sub-shares Ri,j,k(x) such as, for example, sets 2350 to 2354. Therefore, set 2350 comprises sets of further sub-shares R1,j,k(1) 2320, R2,j,k(1) 2326, R3,j,k(1) 2332, set 2352 comprises sets of further sub-shares R1,j,k(2) 2322, R2,j,k(2) 2328, R3,j,k(2) 2334, and set 2354 comprises sets of further sub-shares R1,j,k(3) 2324, R2,j,k(3) 2330, R3,j,k(3) 2336.
Therefore, it can be appreciated that once a threshold number t* of player devices have respective sets 2350 to 2354 of further shares, Ri,j,k(x), associated with the secret, the player devices can cooperate to provide access to or otherwise provision the new player device to provide respective sets of sub-shares Qi,j(k) to the further new player device to facilitate the further new player device in accessing shares, Pi(j), in a respective share, ƒ(i), of the secret, which, in turn, enables the further new player device to participate in recovering or otherwise providing access to the secret.
It will be appreciated that, in the example implementation depicted in
Therefore, the foregoing provisions new player devices to, in turn, provision further new player devices to access respective unassigned shares in a secret in a distributed or a decentralised manner.
Referring to
The new player device 2022 receives from the existing player devices 1802, 2004, 2006 respective sets of further sub-shares {R1,j,k(1),R2,j,k(1),R3,j,k(1)} 2350, {R1,j,k(2),R2,j,k(2), R3,j,k(2)} 2352, {R1,j,k(3), R2,j,k(3), R3,j,k(3)} 2354 to enable the new player device 2022 to access the respective sets of sub-shares Qi,j(k) that can be provided to the further new player device so that the latter can access shares Pi(j) in a respective share ƒ(j) 2026 in the secret 1902.
The new player device 2022 uses the received sets of further sub-shares 2350 to 2354 to reconstruct the original or initial sets of further sub-shares {R1,j,k(1), R1,j,k(2), R1,j,k(3)} 2314, {R2,j,k(1), R2,j,k(2), R2,j,k(3)} 2316, {R3,jk(1), R3,j,k(2), R3,j,k(3)} 2318 from which the respective sets of sub-shares Qi,j(k) 2338, Q2,j(k) 2340, and Q3,j(k) 2342 can be derived. The derived sets of sub-shares Qi,j(k) 2338, Q2,j(k) 2340, and Q3,j(k) 2342 can be used to provide access to the further new player device to respective shares Pi(j) 1872, 1884, 1896 in a respective share ƒ(j) in the secret 1902.
Therefore, it can be seen that the set of still further sub-shares {R1,j,k(1), . . . , R1,j,k(w), . . . , R1,j,k(n)} can provide access to sets of further sub-shares Q1,j(k) 2338. Similarly, the set of still further sub-shares {Ri,j,k(1), . . . , Ri,j,k(w), . . . , Ri,j,k(n)} can provide access to the sets of further sub-shares Qi,j(k) 2402 and the set of still further sub-shares {Rn,j,k(1), . . . , Rn,j,k(w), . . . , Rn,j,k(n)} can provide access to the sets of further sub-shares Qn,j(k) 2404.
The still further sub-shares {R1,j,k(1) 2406, . . . , Ri,j,k(w) 2408, . . . , Ri,j,k(n) 2410} are associated with the respective generator polynomials 2344. The still further sub-shares {Ri,j,k(1) 2412, . . . , Ri,j,k(w) 2414, . . . , Ri,j,k(n) 2416} are associated with respective generator polynomials 2418. The still further sub-shares {Rn,j,k(1) 2420, . . . , Rn,j,k(w) 2422, . . . , Rn,j,k(n) 2424} are associated with respective generator polynomials 2426.
It can be seen that the further sub-shares {Q1,j(k) 2338, . . . , Qi,j(k) 2402, . . . , Qn,j(k) 2404} can facilitate or otherwise enable access to sets of respective sub-shares Pi(j) 1872, 1884, 1896 in a respective share ƒ(j) in the secret 1902.
Therefore, a new player device can be provisioned to assist a further new player device to access a respective share of the further new player device in the secret.
Referring to
It can be appreciated that the still further sub-shares {R1,j,k(1) 2320, R1,j,k(2) 2322, R1,j,k(3) 2324} are associated with the respective generator polynomials R1,j,k(x) 2344 and are arranged to provide access to sets of further sub-shares Qi,j(k) 2338. The still further sub-shares {R2,j,k(1) 2326, R2,j,k(2) 2328, R2,j,k(3) 2330} are associated with respective generator polynomials R2,j,k(1) 2346 and are arranged to provide access to sets of further sub-shares Q2,j(k) 2340. The still further sub-shares {R3,j,k(1) 2332, R3,j,k(2) 2334, R3,j,k(3) 2336} are associated with respective generator polynomials R3,j,k(1) 2348 and are arranged to provide access to sets of further sub-shares Q3,j(k) 2342.
Although the example implementations shown in and described with reference to
Therefore, the above can be used to realise a decentralised system for distributing shares in a secret to new player devices such that the new player devices can use their respective shares in accessing the secret or otherwise making the secret available to another entity.
Referring to
It can be appreciated that the secret 2602 has a layer 2603 of associated shares ƒ(1) 2604 to ƒ(t) 2608 including a ith share ƒ(j) 2606. In general, a share is related to the secret 2602 or derived from the secret 2602 via a generator polynomial 2610. In the example implementation depicted in /m
are randomly chosen coefficients and t is the threshold number of shares to use or recover SK.
To facilitate providing access to the first generation shares ƒ(1) 2604 to ƒ(t) 2608, a layer 2612 of sub-shares can be established for each share ƒ(1) 2604 to ƒ(t) 2608, or for a sub-set of those shares ƒ(1) 2604 to ƒ(t) 2608. The above described set 122 of unassigned shares is an example implementation of such a subset of shares. In the example illustrated, shares P1(j) 2614, . . . , Pi(j) 2616, . . . , Pn(j) 2618 in or derived from the ith share ƒ(j) 2606 are shown. The shares P1(j) 2614, . . . , Pi(j) 2616, 2618 can be established using an associated generator polynomial Pi(x) 2620 such as, for example, Pi(x)=Σj=0t′−1αixi, where αj∈/m
, j≥1, are randomly chosen coefficients, α0=ƒ(j) and t′ is the threshold number of shares to use or recover the respective share ƒ(j) 2606. One or more player devices possessing the shares P1(j) 2614, . . . , Pi(j) 2616, . . . , Pn(j) 2618 in share ƒ(j) 2606 can make ƒ(j) 2606 available to a new player device by providing the threshold number, t′, of shares selected from the shares P1(j) 2614, . . . , Pi(j) 2616, . . . , Pn(j) 2618.
The above process of deriving shares in shares can be repeated so that player devices provisioned with a given layer of shares can make a preceding layer of shares available to a succeeding player device. In this way, the above described new player device can be provisioned to facilitate access by the further player device to respective shares to provide access to, or to facilitate access to, the secret.
Therefore, it can be appreciated that all, or a subset, of the shares 2614 to 2618 can be divided into, or have derived therefrom, a layer 2622 of respective further sub-shares 2624 to 2628 that can facilitate providing access to the respective sub-share 2616. In the illustrated example, the layer 2622 of further sub-shares, or sets of sub-shares, comprises shares Qi,j(1) 2624, . . . , Qi,j(x) 2626, . . . , Qi,j(t*) 2628 in or derived from Pi(j) 2616. The further sub-shares Qi,j(1) 2624, . . . , Qi,j(x) 2626, . . . , Qi,j(C) 2628 can be established using a respective generator polynomial Qi,j(x) 2630 that can take the form Qi,j(x)=Σk=0t″−1βi,j,kxk where βi,j,k∈/m
, k≥1, are randomly chosen coefficients, βi,j,0=Pi(j) and t″ is the threshold number of shares to use or recover the respective share Pi(j) 2616 from such a threshold number of shares in Pi(j) 2616.
To enable a given layer of shares being available to provision a later added player device, existing or earlier player devices can be provisioned with later generation shares. Suitably, each additional layer of shares is arranged to provision a newly added player device to facilitate a further newly added player device to access shares in, or shares associated with or otherwise derived from other generation shares.
The number of layers of shares can be increased. Accordingly, the example illustrated in /m
, l≥1, are randomly chosen coefficients, γi,j,k,0=Qi,j(k) and t′″ is the threshold number of shares to use or recover the respective share Qi,j(k) 2626 from such a threshold number of shares in Qi,j(k) 2626.
Example implementations can be realised that repeatedly add layers of shares using respective generator polynomials per preceding layer of share together with a threshold number of participating shares to use or recover a respective preceding layer share.
Therefore, the set of n initial player devices are provisioned with the shares in multiple layers according to how many new player devices can be added to the set of n initial player devices, that is, according to the difference between n and u. Assuming three layers of shares and a set of n initial player devices, each of the n initial player devices is provisioned as follows such that player device w would receive:
The set {Ri,j,k(w): 1≤i≤n, k<j≤u and k is previously unassigned} can be given to a new player device, that is, player device k, when that player device joins the existing set of previously provisioned player devices. Therefore, with such sets from t′″ player devices, the new player device can recover Qi,j(k) for 1≤i≤n, k<j≤u.
Accordingly, in turn, the set {Qi,j(w): 1≤i≤n and j is previously unassigned} can be given to a new player, j, when they join the existing set of player devices. With comparable sets from t′ player devices, the new player device can recover Pi(j) for 1≤i≤n from which the new player device can recover a share in SK.
Referring to
At 2702, shares {Pi(w): 1≤i≤n} in each pre-secret key are at least one, or both, of generated or received. One or more of the shares {Pi(w): 1≤i≤n} in each pre-secret can be at least one, or both, of generated by a player device or received from another player device. The shares {Pi(w): 1≤i≤n} can be used to calculate a share in the secret or output to a new player device to be used to calculate a share in the secret.
At 2704, shares {Pi(w): 1≤i≤n; n+1≤j≤u} are at least one, or both, of generated and received. One or more of each of the shares {Qi,j(w): 1≤i≤n; n+1≤j≤u} can be at least one, or both, of generated by a player device or received from another player device. The shares {Qi,j(w): 1≤i≤n; n+1≤j≤u} can be used to calculate sub-shares Pi(j) or output to a new player device to be used to calculate Pi(j).
At 2706, shares {Ri,j,k(w): 1≤i≤n; n+1≤j≤u, n≤k≤u} are at least one, or both, of generated and received. One or more of each of the shares {Ri,j,k(w): 1≤i≤n; n+1 j≤u, n≤k≤u} can be at least one, or both, of generated by a player device or received from another player device. The shares {Ri,j,k(w): 1≤i≤n; n+1≤j≤u, n<k≤u} can be used to calculate further sub-shares Qi,j(k) or output to a new player device to be used to calculate Qi,j(k).
Referring to
At 2802, the shares {Pi(w): 1≤i≤n} in each pre-secret key are received. The received shares {Pi(w): 1≤i≤n} in each pre-secret can be received from another player device. The received shares {Pi(w): 1≤i≤n} can be used to calculate a share in the secret SK.
At 2804, the shares {Qi,j(w): 1≤i≤n; n+1≤j≤u} are received. The received shares {Qi,j(w): 1≤i≤n; n+1≤j≤u} can be received from another player device. The received shares {Qi,j(w): 1≤i≤n; n+1≤j≤u} can be used to calculate sub-shares Pi(j) to be used to calculate a share in the secret or to be output to another player device to be used to calculate a share in the secret.
At 2806, the shares {Ri,j,k(w): 1≤i≤n; n+1≤j≤u, n≤k≤u} are received. The received shares {Ri,j,k(w): 1≤i≤n; n+1≤j≤u, n<k≤u} can be received from another player device. The received shares {Ri,j,k(w): 1≤i≤n; n+1≤j≤u, n≤k≤u} can be used to calculate further sub-shares Qi,j(k) or output to a further new player device to be used to calculate Qi,j(k).
Referring to
At 2902, an entity transmits to a player device, a share, shares or sets of shares to allow the player device to calculate a share, shares or sets of shares respectively from which a subsequent generation player device can determine a respective unassigned share in a secret. The secret can be any secret described herein or a share, shares, or sets of shares associated with or otherwise derived from such a secret.
The entity can be a centralised dealer as described above or a player device of the set of n initial player devices 108 to 116 of a decentralised system.
Therefore, a new player device that was not one of the set of n initial player devices can be provisioned or otherwise initialised to issue shares to subsequent player devices.
Referring to
Consequently, a new player device can be provisioned by existing or previously provisioned player devices to facilitate a further or subsequent new player device in accessing a respective share in a secret.
Referring to
Referring to
At 3202, an entity generates, for transmission to an intermediate player device, a share, shares or set or sets of shares to allow the intermediate player device to calculate an intermediate share from which a succeeding generation player device can determine a respective hitherto unassigned share in a secret for the succeeding generation player device. The entity can be a centralised dealer system or a player device of the set of n initial player devices of a decentralised system.
At 3204, the entity transmits, to the set of n initial player devices or to the other (n−1) player devices of the set of n initial player devices, for transmission to an intermediate player device, a share, shares or set or sets of shares to allow the intermediate player device to calculate an intermediate share from which a succeeding generation player device can determine the respective hitherto unassigned share in the secret.
Referring to
At 3302, the set of n initial player devices, receive the respective share, shares or sets of shares, for transmission to the intermediate player device, to allow the intermediate player device to calculate an intermediate share from which the succeeding generation player device can determine the respective hitherto unassigned share in a secret.
At 3304, a threshold number of player devices or the set of n initial player devices, transmits, to the intermediate player device, a respective share, shares, or set or sets of shares to allow the intermediate player device to calculate the intermediate share from which the succeeding generation player device can determine the respective hitherto unassigned share in a secret.
Referring to
At 3402, the intermediate generation player device, receives the respective share, shares or set or sets of shares to allow the intermediate player device to calculate the intermediate share from which the succeeding generation player device can determine the respective hitherto unassigned share in a secret.
At 3404, the new player device, that is, the intermediate generation player device, transmits, to the succeeding generation player device, that is, the further new player device, the intermediate share from which the succeeding player device can determine the respective hitherto unassigned share in a secret.
Referring to
At 3502, the further new generation player device, that is, the succeeding generation player device, receives the intermediate generation share, from the intermediate generation player device, from which the succeeding generation player device can determine the respective hitherto unassigned share in the secret.
At 3504, the further new generation player device determines, from the intermediate generation share, the respective hitherto unassigned share in a secret.
Example implementations can be realised that provide machine-readable storage storing instructions arranged, when processed or implemented, to realise the methods, the flow charts, devices, or systems depicted and/or described herein.
Although the example implementations have been described with reference to the threshold number of player devices being three, example implementations are not limited to such arrangements. Example implementations can be realised in which the polynomials can have respective degrees of 2 or more.
Referring to
It will be appreciated that circuitry as used herein can comprise any of physical electronic circuitry, software (such as machine-readable and machine-executable instructions), hardware, application specific integrated circuitry, or the like, taken jointly or severally in any and all permutations.
Therefore, implementations also provide machine-readable storage storing such machine-executable instructions. The machine-readable storage can comprise transitory or non-transitory machine-readable storage. The machine can comprise one or more processors, or other circuitry, for executing the instructions, implementing the instructions, interpreting the instructions or otherwise processing the instructions.
Accordingly, referring to
The processor or other circuitry 3606 can output one or more than message or signal 3608 to a player device 3610. The player device 3610 can be an example implementation of any of the player devices described herein.
The MEIs 3604 can comprise MEIs to implement any flow chart described herein or any part thereof taken jointly and severally with any other part thereof, and/or any method described herein.
The machine executable instructions 3604 comprise instructions arranged, when processed or implemented, to realise any and all systems, methods, player devices, dealers described and/or depicted in this application.
The MEIs 3604 comprise instructions 3614 for defining shares in a secret, or for defining initial pre-secret keys from which the secret can be constructed in a decentralised manner. The secret can be any secret described herein.
The MEIs 3604 comprise instructions 3616 to define sub-shares in the shares. The sub-shares can be any of the sub-shares described herein. The MEIs 3618 define further sub-shares in the sub-shares of the secret. The further sub-shares can be any of the sub-shares described herein.
The MEIs comprise instructions 3620 to distribute the shares, sub-shares and further sub-shares to the player devices, including the set of n initial player devices and any additional player devices that are added to the set of n initial player devices such as, for example, the above described new player device, the further new player device and the still further new player device.
The MEIs comprise instructions 3622 for receiving the further sub-shares to determine therefrom respective sub-shares.
The MEIs comprise instructions 3624 for receiving the sub-shares to determine therefrom respective shares in the secret.
In the implementation depicted in
Accordingly, example implementations provide machine-readable storage storing instructions, arranged when processed by a processor, to issue an unassigned share ƒ(7) 1406B to a succeeding generation player device 1404B, the instructions comprising: instructions for a set of preceding generation player devices P1 . . . P5 1412B providing, to an intermediate generation player device P6 1402B, shares such as, for example, preceding generation shares 1414B, to allow the intermediate generation player device P6 1402B to calculate an intermediate generation share s′67=g7(6) 1416B from which the succeeding generation player device P7 1404B, together with a set 1421B of other intermediate generation shares s′17=g7(1) . . . s′57=g7(5) 1422B to 1430B provided by respective other intermediate generation player devices P1 . . . P5 1421, can calculate the unassigned share g7(0)=s7=ƒ(7) 1406B; and instructions for the intermediate generation player device P6 1402B and the set 1421B of other intermediate generation player devices providing the intermediate generation share 1416B and the set of the other intermediate generation shares s′17=g7(1) . . . s′57=g7(5) 1422B to 1430B to the succeeding generation player device P7 1404B.
Accordingly, example implementations provide a computer implemented method for accessing an unassigned share ƒ(7) 1406B by a succeeding generation player device P7 1404B, the method comprising: receiving, from an intermediate generation player device P6 1402B, an intermediate generation share s′67=g7(6) 1416B, the intermediate generation share s′67=g7(6) 1416B being arranged to facilitate access to the unassigned share f(7) 1406B and the intermediate generation share s′67=g7(6) 1416B having been derived from shares, such as, for example, preceding generation shares, provided by a set of preceding generation player devices P1 . . . P5 1412B; receiving, from a set of other intermediate generation player devices P1 . . . P5 1421B, a set of other intermediate generation shares s′17=g7(1) . . . s′57=g7(5) 1422B to 1430B, to facilitate access by the succeeding generation player device P(7) 1404B to the unassigned share g7(0)=s7=ƒ(7) 1406B in conjunction with the intermediate generation share s′67=g7(6) 1416B; and accessing the unassigned share g7(0)=s7=ƒ(7) 1406B using the intermediate generation share s′67=g7(6) 1416B and the set 1420B of other intermediate generation shares s′17=g7(1) . . . s′57=g7(5) 1422B to 1430B.
Accordingly, example implementations provide a machine readable storage storing instructions arranged, when processed by a processor, for accessing an unassigned share ƒ(7) 1406B by a succeeding generation player device P7 1404B, the instructions comprising: instructions to receive, from an intermediate generation player device P6 1402B, an intermediate generation share s′67=g7(6) 1416B, the intermediate generation share s′67=g7(6) 1416B being arranged to facilitate access to the unassigned share ƒ(7) 1406B and the intermediate generation share s′67=g7(6) 1416B having been derived from preceding generation shares provided by a set of preceding generation player devices P1 . . . P5 1412B; instructions to receive, from a set of other intermediate generation player devices P1 . . . P5 1421B, a set of other intermediate generation shares s′17=g7(1) . . . s′57=g7(5) 1422B to 1430B, to facilitate access by the succeeding generation player device P(7) 1404B to the unassigned share g7(0)=s7=ƒ(7) 1406B in conjunction with the intermediate generation share s′67=g7(6) 1416B; and instructions to access the unassigned share g7(0)=s7=ƒ(7) 1406B using the intermediate generation share s′67=g7(6) 1416B and the set 1420B of other intermediate generation shares s′17=g7(1) . . . s′57=g7(5) 1422B to 1430B.
In any and all example implementations mentioned herein, it will be appreciated that the player devices of such sets of preceding generation player devices may not all be of the same generation. A set of preceding generation player devices can comprise multiple respective generations ranging from every player device being from a different generation to one or more player devices of the set being from different generations and one or more player devices of the set being from the same generation. Similarly, a set of intermediate generation player devices may not all be of the same generation. A set of intermediate generation player devices can comprise multiple respective generations ranging from every player device being from a different generation to one or more player devices of the set being from different generations and one or more player devices of the set being from the same generation. Also, a set of succeeding generation player devices may not all be of the same generation. A set of succeeding generation player devices can comprise multiple respective generations ranging from every player device being from a different generation to one or more player devices of the set being from different generations and one or more player devices of the set being from the same generation.
Having determined respective shares in a secret, any and all example implementations can make the secret available or facilitate recovering the secret by a threshold number of player devices with respective shares collaborating according to an associated threshold scheme.
Therefore, the ability to issue shares is extended using a protocol of multi-layered secret sharing, which comprises a protocol for distributing and recombining shares without compromising the security of the shared secret. This can be realised by decentralizing the frontloading approach in which players or player devices can generate the information required for frontloading without a central entity.
It will be appreciated that secret sharing can improve security and usability in various applications such as, for example, user authentication, in particular, multi-device based authentication (MDBA). Secret sharing is also relevant to threshold authorisation scenarios such as, for example, remote lock and wipe features in Data as a Service or other services such as web services.
The ability to issue new shares of a secret without relying on a central entity is useful in the MDBA setting and other settings of secret sharing. A new share can be issued or created if
Meanwhile, for reasons of security and cost, a central entity is not always available to issue new shares. In some implementations of secret sharing, there is no central entity in the first place. Moreover, a centralised entity represents a risk that must be managed by the service provider. A solution that removes this risk is highly valuable.
Various properties are useful in a mechanism for issuing shares without a central entity. This includes low communication complexity, fewer requirements for the player devices to broadcast metadata, robustness against delays and revoked decisions, and flexibility in the choice of thresholds. Other properties include the option of decentralised setup and few restrictions on the player devices who can participate in issuing shares.
It will be appreciated that the above example implementations defines various threshold scheme having respective thresholds such as, for example, thresholds t, t′, t*, t″, t″″, or any other threshold. The various thresholds can have respective values. The respective threshold values can be different values, or one or more subsets of the threshold values can have the same threshold value.
The example implementations described above make reference to recovering the secret once a share or a threshold set of shares in the secret have been determined. However, example implementations are not limited to such an arrangement. Example implementations can be realised in which the shares are used for some other purpose like enabling other cryptographic operations such as, for example, at least one or more of signing, encrypting, or decrypting. Example implementations can realise those operations without ever reconstructing the key in any place.
Implementations can be realised in accordance with the following example implementations or clauses:
Example implementation provide for accessing a new share by a new player, P7, the access being facilitated by an earlier new player, P6, and a subset of initial player devices [P1 . . . P5].
Clause 1: A computer implemented method for a succeeding generation player device [P7] accessing an unassigned share [f(7)] in a secret, SK, the method comprising:
Example implementations provide for at least one of issuing or facilitating access to an unassigned share to a new player, P7, including a previously added new player, P6, taking part in the assigning.
Clause 2: A computer implemented method for issuing an unassigned share [f(7)] in a secret, SK, to a player device [P7], the method comprising:
Clause 3: The method of either of clauses 1 and 2, comprising at least one of generating the secret, SK, or pre-secret keys to form the secret, SK.
Clause 4: The method of clause 3, comprising generating a set of shares {si or f(i):1≤i≤u} in the secret; the set of shares in the secret comprising a set of assigned shares {s1=f(1) . . . sn=f(n)} associated with an initial set of (for example, preceding generation) player devices and a set of unassigned shares {sn+1=f(n+1) . . . su=f(u)} to be assigned to additional player devices including the intermediate generation player device and the succeeding generation player device.
Clause 5: The method of clause 4, wherein generating the set of shares in the secret comprises: generating ƒ(i) of a polynomial ƒ(x) where ƒ(i) is a share of the secret, SK, assigned to player device i where 1≤i≤u.
Clause 6: The method of clause 5, in which ƒ(x) is of the form ƒ(x)=Σi=1t−1αixi+SK, where αi∈/m
are randomly chosen coefficients and t is the threshold required to use or recover SK.
Clause 7: The method of any of any preceding clause, comprising
Clause 8: The method of clause 7, wherein generating the set of intermediate (sub-)shares from the set of shares in the secret, SK, comprises:
Clause 9: The method of clause 8, in which gj(x) is of the form gj(x)=Σi=1t′−1βixi+ƒ(j) where βi∈/m
are randomly chosen coefficients and t′ is the threshold to assign unassigned share ƒ(j) to the new player device.
Clause 10: The method of any preceding clause, comprising
Clause 11: The method of clause 10, in which generating the set of further shares comprises:
Clause 12: The method of clause 11, in which hk,j(x) is of the form hk,j(x)=Σi=1t*−1γixi+gk(j) where γi∈/m
are randomly chosen coefficients and t* is the threshold to assign the intermediate (sub-)share to the new player device.
Clause 13: A computer implemented method for issuing an unassigned share [ƒ(7)] in a secret, SK, to a player device [P7], the method comprising:
Example implementations provide for accessing a new share by a new player, P7, the access being facilitated by an earlier new player, P6, and a subset of initial player devices [P1 . . . P5].
Clause 14: A computer implemented method for a succeeding generation player device [P7] accessing an unassigned share [f(7)] in a secret, SK, the method comprising:
Example implementations provide for provisioning a new player P6 to assist in issuing an unassigned share to a further new player, P7.
Clause 15: A computer implemented method for provisioning an intermediate generation player device [P6] to assist in issuing an unassigned share [b(7)] to a player device [P7], the method comprising:
Example implementations provide for provisioning the initial players P1 . . . 5, to provision a new player, P6, to issue an unassigned share to a further new player, P7.
Example implementations provide for global provisioning of all player devices in the system.
Clause 16: A method for provisioning preceding generation players [P1 . . . P5] for issuing an unassigned share [f(7)] to a succeeding generation player [P7], the method comprising:
Example implementations provide for provisioning an individual player device to provide access to a share to a new player, P7, including provisioning an earlier new player, P6.
Clause 17: A method for provisioning a preceding generation player [P1 . . . P5] for issuing an unassigned share [f(7)] to a succeeding generation player [P7], the method comprising: generating a share of a set of further (sub-sub)shares, by the preceding generation player [P1 . . . P5] or a dealer, to be provided to an intermediate generation player device [P6] to allow the intermediate generation player device [P6] to calculate an intermediate generation share [s′67=g7(6)] of a set of intermediate shares from which the succeeding generation player [P7], together with a set of one or more other intermediate generation shares [s′17=g7(1) . . . s′57=g7(5)] of the set of intermediate shares provided by respective one or more other intermediate generation player devices [P1 . . . P5], can calculate the unassigned share [g7(0)=s7=ƒ(7)].
Clause 18: A device for provisioning a preceding generation player device for issuing an unassigned share to a succeeding generation player device, the device comprising circuitry arranged to generate a share of a set of further sub-shares, by the preceding generation player, to be provided to an intermediate generation player device to allow the intermediate generation player device to calculate an intermediate generation share of a set of intermediate shares from which the succeeding generation player device, together with a set of one or more other intermediate generation shares of the set of intermediate shares provided by respective one or more other intermediate generation player devices, can calculate the unassigned share.
Clause 19: The device of clause 18 comprising a communication interface for outputting the share of the set of further sub-shares to the intermediate generation player device.
Clause 20: The device of clause 19 in which the communication interface is arranged to receive the share of the set of further sub-shares from another entity.
Clause 21: Machine readable storage storing instructions arranged, when processed by a processor, to implement a method of any preceding clause.
Clause 22: A system for processing shares in a secret; the system comprising circuitry arranged to implement a method of any of preceding clause.
Clause 23: A player device for processing shares in a secret, the player device comprising circuitry arranged to implement a method of any of preceding clause.
Example implementations can comprise data structures, messages or signals for realising share issue and provisioning. The player devices communicate between one another via the respective communication interfaces, which can output and receive messages, or signals, bearing information associated with the shares, sub-shares and further sub-shares, or any set or sets thereof.
Clause 24: A message comprising data associated with a share; the data having been derived data associated with shares in the share associated with respective earlier generation player devices; the data associated with the share facilitating access by a recipient player device to a share associated with or in a secret.
Clause 25: An electronic message or signal to be output to or to be received by a player device such as, for example, player device PD7 109P7; the message comprising data associated with a sub-share, for example sub-share (s′6,7); the data having been derived from data associated with further sub-shares, for example, further sub-shares {s*3,6,7, s*4,6,7, s*5,6,7}, in the sub-share (s′6,7) associated with, or received from, a number of earlier generation messages transmitted by respective earlier generation player devices (for example, player devices P3, P4, P5); the data associated with the sub-share (s′6,7) facilitating access by the player device PD7 109 to a share, for example, (s7), associated with, or in, a secret.
Clause 26: An electronic message or signal comprising data associated with a sub-share; the data having been derived data associated with further sub-shares in the sub-share associated with respective earlier generation messages; the data associated with the sub-share facilitating access by a recipient player device to a share associated with, or in, a secret.
Filing Document | Filing Date | Country | Kind |
---|---|---|---|
PCT/US2020/048387 | 8/28/2020 | WO |