ream b=new ObjectInputStream(f1);
RSAPrivateKey prk=(RSAPrivateKey)b.read Object();
//数字签名
Signature sig=Signature.getInstance("MD5WithRSA");
sig.initSign(prk);
sig.update(data);
byte[] signature=sig.Sign();
for(int i=0;i<data.length;i++){
System.out.println(signature[i]+","); }
4 结束语
本章给出了安全增强的基于RSA可验证门限签名方案的全过程,解决了 中对元素求逆和代数结构扩张的 问题,防止了共享服务器合谋的威胁。我们可以看到它是更安全可靠的,而且原理也很简单。利用这个方案我们可以将CA签名私钥分发到各个共享服务器中,通过共享服务器对用户申请的公钥证书信息进行部分签名,然后由组合服务器得到最后的公钥证书,从而保证公钥证书的安全可靠,同时也不会使系统变得复杂而难以实现。
[1] Santis A D, Desmedt Y, Frankel Y et al. How to share a function securely. In: Proceedings of the 26th ACM Symp on Theory of Computing. IEEE, 1994. 522-533
[2]D.Boneh,M.Franklin, ”Efficient generation of shared RSA keys”,in Proceedings Crypto’97,425~439
[3]Desmedt Y, Frankel Y. Threshold cryptosystems. In: Brassard G ed. Advances in Cryptology
——CRYPTO'89 Proceedings. Lecture Notes in Computer Science 435. Berlin: Springer Verlag, 1990. 307~315
[4]N.Alon,Z.Galil and M.Yung,”Dynamic-resharing verfiable secret sharing”, ESA 1995
[5]T.P.Pedersen. Distributed provers with applications to undeniable signatures.In D.Davies editor,Proceedings of Eurocryp’91,Lecture in Computer Science No.547,pages 522~526,Springer
-Verlag,1991.
[6]Gennaro R, Jarecki S, Krawczyk H et al. Robust and efficient sharing of RSA functions. In: Koblitz N ed. Advances in Cryptology——CRYPTO'96 Proceedings. Lecture Notes in Computer Science 1109. Berlin: Springer Verlag, 1996,157~172
[7]Boyd C. Digital Multisignatures. In H. Beker and F. Riper, editors, Cryptography and coding, clarendon press,1989,241~246 上一页 [1] [2] [3] [4]
|