信息与网络安全实验报告一、实验名称设计数字签名二、实验目得理解数字签名,学会设计数字签名三、实验原理1:调用、NE T 2、0 得 MAKE C ERT 创建含有私钥得数字证书,并存储到个人证书区;2:将该证书导出为 p f x 文件,并为其指定一个用来打开pf x 文件得 pa ssw ord;3:读取pf x 文件,导出 p f x 中公钥和私钥;4:用 pfx 证书中得公钥进行数据得加密,用私钥进行数据得解密。四 、签名算法:usin g Syst e m;u sin g S yste m、Te xt;u s i n g S ys tem、Se c ur it y、C ry p t ogr a phy;n am esp ace D i gitalSi g nat ure{ //信息和签名得封包 pu blic s tr u ct DS { public byte[] data; p ubli c byt e[] s ig natur e; } c l as s P r ogr am { st ati c D S A C ry p toSer v iceP r ovider d sa = new D SA CryptoS e r v iceProvider(); //创建了公钥和私钥对 //创建数字签名 D S Cre a teSignat u re(s t ring s t rD a ta) { S HA 1Ma na ged sha1 = ne w SHA 1 Man a g ed(); { SHA1Man ag e d s h a 1 = ne w S HA1 Man a g ed(); DSASi gn a t ureFor ma t t er sigForma t ter = new DS ASign a tur e F or mat t er(dsa); b yt e[] d a ta_By t es = E n c od ing、AS C II、GetB ytes(s t rData); byte[] hash_Bytes = put e H a sh(d at a_B yte s); sigFo rm atte r、Set H ash A lgorithm("S H A1"); byt e[] s i gned H ash = sigFor m a t t e r、Cr eateSi g nature(h a s h_By t es); D S ds = n ew D S(); ds、d ata = h ash_Byte s; ds、s i g nature = signed H a s h; re t u rn d s; } //验证数字签名 bool V erify Si gn a tu r e(D S ds) { by t e[] re m ote_Hashe d Va l ue = d s、d at a; b y t e[] r e mote_Sig ne dHas h = d s、signature...