Secret-Sharing
沙米爾秘密分享的弱點是什麼?
我們剛剛在學校了解到這一點,但我不太明白這種方法的弱點。如果我們假設使用 64 位密鑰來加密文件,然後我們將密鑰分成 2 段 32 位。如果敵人設法找到一半,他可以對另一半使用蠻力。他會設法找到它嗎?還是取決於敵人每秒可以嘗試多少次?如果他可以嘗試怎麼辦 $ 10^6 $ 每秒幾次?但這是否意味著嘗試也算嘗試將兩部分結合起來?我的意思是,他是不是在每次他蠻力的時候,也同時嘗試將這兩個部分相加並解鎖鑰匙?
假設使用 64 位密鑰加密文件,然後我們將密鑰分成 2 個 32 位
那是你的誤解。Shamir 秘密共享不會將秘密拆分為小於原始秘密的部分。相反,它將秘密分割成與原始秘密大小相同的部分。
一個簡單的圖形範例通常可以最好地描述 Shamir 的方法。假設我的秘密是數字 $ 42 $ 我想把它分成 $ 3 $ 件給我的朋友,這樣任何 $ 2 $ 他們中的一個人可以聚在一起,重新創造我的秘密。所以我的門檻是 $ 2 $ ,所以我選擇了一個隨機多項式 $ 1 $ (比門檻值小一)並將零項設置為我的秘密。所以假設我的多項式是 $ f(x)=42+17x $ . 為了生成我的份額,我在點處評估多項式 $ 1,2,3 $ 並得到 $ (1,59),(2,76),(3,93) $ .
然後我給每個朋友一份。
現在,要了解它的安全性,您需要回想一下我們用來生成這些共享的路線。如果我在這條線上給你 1 分,那麼這一點能告訴你關於用於分享秘密的那條線的什麼資訊?你能在這一點上畫幾條線?答案是無限多的。因此,通過擁有該共享,您沒有獲得有關該秘密的有用資訊。
這就是沙米爾方法的美妙之處。少於門檻值的共享數量不會為您提供任何有用的資訊。只有當您擁有那一份時,您才會擁有任何有用的資訊。