Secret Shares with CRT (Blakley)With secret sharing, we distribute \(n\) secret shares and then define that \(t\) of these shares can rebuild a secret. The value of \(t\) is known as the threshold. In this article we will use the example [here]. In Blakley's method [1], we define a secret \(x\), and then construct a number of hyperplanes. [Secret shares with CRT (Asmuth-Bloom threshold)][Secret shares with CRT (Mignotte threshold )][Secret shares with Blakley method][Shamir's Secret Sharing][Proactive Secret Sharing] |
Outline
With secret sharing, we distribute n secret shares and then define that \(t\) of these shares can rebuild a secret. The value of \(t\) is known as the threshold. In this article we will use the example [here]. In Blakley's method, we define a secret \(x\), and then construct a number of hyperplanes.
Code
The code is:
import numpy as np p=73 A = np.array([[4, 19, -1], [52, 27, -1], [36, 65, -1]]) B = np.array([-68, -10, -18]) print ("A=",A) print ("B=",B) # z = 4 x + 19 y + 68 (mod 73) # z = 52 x + 27 y + 10 (mod 73) # z = 36 x +65 y + 18 (mod 73) from sympy import Matrix A = Matrix(A) A = A.inv_mod(p) print ("Inverse A (mod p)",A) x,y,z = np.dot(A,B) % p print ("x=",x,"y=",y,"z=",z)
A sample run with 60-bit primes:
A= [[ 4 19 -1] [52 27 -1] [36 65 -1]] B= [-68 -10 -18] Inverse A (mod p) Matrix([[2, 36, 35], [70, 67, 9], [23, 30, 19]]) x= 42 y= 29 z= 57
Refernences
[1] Blakley, G. R. (1979, June). Safeguarding cryptographic keys. In 1979 International Workshop on Managing Requirements Knowledge (MARK) (pp. 313-318). IEEE [here].