![《信息安全技术》实验指导书_第1页](http://file2.renrendoc.com/fileroot_temp3/2021-5/15/50963dfe-5fc8-482a-98d5-0957b6c29859/50963dfe-5fc8-482a-98d5-0957b6c298591.gif)
![《信息安全技术》实验指导书_第2页](http://file2.renrendoc.com/fileroot_temp3/2021-5/15/50963dfe-5fc8-482a-98d5-0957b6c29859/50963dfe-5fc8-482a-98d5-0957b6c298592.gif)
![《信息安全技术》实验指导书_第3页](http://file2.renrendoc.com/fileroot_temp3/2021-5/15/50963dfe-5fc8-482a-98d5-0957b6c29859/50963dfe-5fc8-482a-98d5-0957b6c298593.gif)
![《信息安全技术》实验指导书_第4页](http://file2.renrendoc.com/fileroot_temp3/2021-5/15/50963dfe-5fc8-482a-98d5-0957b6c29859/50963dfe-5fc8-482a-98d5-0957b6c298594.gif)
![《信息安全技术》实验指导书_第5页](http://file2.renrendoc.com/fileroot_temp3/2021-5/15/50963dfe-5fc8-482a-98d5-0957b6c29859/50963dfe-5fc8-482a-98d5-0957b6c298595.gif)
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、信息安全技术实验指导书(适用于软件工程专业)计算机科学与技术学院网络工程教研室2008.12TOC o T3 h zHYPERLINKHC WUsersWAdministratorWDesktopWtempW 1 _Toc231130367实验一 对称密码算法 DES PAGEREF _Toc231180367 li 3一HYPERL-C:UsersAdministratorDesktoptemp M 1 Toc231180368 实验二 HASH 算法 SHA1. PAGEREF _Toc231180368 li 10HYPERLINK C:UsersAdministratorDesktop
2、tempi 1 _Toc231180369” 实验三 邮件 加密软件 PGP 的使用. PAGEREF Toc231180369 li 16实验一对称密码算法DES密钥:k=kk2k64ki = 0,1 i = 1, 2, -64【实验冃的】通过该实验.学习利用基本的密码算法实现信息加解密过程,了解加密算法的作 用。【实验环境】操作系统;Wind。咗2000/XP,开发工具;Visual C+/ C+ Builder任选一种。【实验类型】验证性实验【实验学时】3学时【实验内容及步骤】(-)加密模块的设计与实现丿使用DES算法设计加密模块。(1)忡先把明文分成若干个64-bit的分组,算法以一个
3、分组作为输入,通过一个初始置 换(IP)将明文分组分成左半部分(L。)和右半部分(Ro),齐为32-bita然后进行16轮完全 相同的运算,这些运算我们称为函数f,在运算过程中数据与密钥相结合。经过16轮运算后, 左、右两部分合在一起经过一个末转换(初始转换的逆趕换IP),输出一个64-bit的密文分 组。ro = 0,1 i = 1, 2, 64其中ky k16,k64是奇偶校验位,起作用的仅为56位。加密算法:Ek(m) =IPT Ti6 T15T IP(m) Ti, i = 1, 2, -16 是一系列的变换。 解密算法:Ek】(c) = IPT Ti T2T16 IP (c)IP:1
4、9 17 25 33 41 19 572 10 18 26 34 42 50 583 11 19 27 35 43 51 594 12 20 28 36 44 52 605 13 21 29 37 45 53 616 14 22 30 38 46 54 62r-15 23 31 39 47 55 638 16 24 32 40 48 56 64IP:40 8 48 16 56 24 64 3239 47 15 55 23 63 3138 6 46 14 54 22 62 3037 5 45 13 53 21 61 2936 4 44 12 52 20 60 2835 3 43 11 51 19
5、 59 2734 2 42 10 50 18 58 2633 1 41 9 49 17 57 25(2)每一轮的运算过程:如图1所示。通过一个扩展置换(E)将数据的左半部分扩展 成48位,并通过一个异或操作与48位密钥结合,通过8个S盒(substitution box)将 这48位替代成新的32位.再依照P盒置换一次。以上四步构成复杂函数f (图中虚线框里 的部分)。然后通过另一个异或运算,将复杂函数f的输岀与左半部分结合成为新的右半部分。 如此反复16次完成DES算法的16轮运算。图1 一轮DES扩展置换E:3212 3454568989 10 11 12 131213 14 15 16
6、171617 18 19 20 212021 22 23 24 252425 26 27 28 292829 30 31 3218个S盒:S1: 14, 4,13,1, 2,15,11, 8, 3,10,6,12, 5, 9, 0, 7,0,15, 7, 4,14, 2,13,1,10, 6,12,11, 9, 5, 3, 8,4,1,14, 8,13, 6, 2,11,15,12, 9, 7, 3,10, 5, 0,15.12, 8, 2, 4, 9,1,7,5,11, 3,14,10, 0, 6,13,S2: 15,1, 8,14,6,11, 3, 4, 9, 7, 2,13,12, 0,
7、 5,10,3.13, 4, 7,15, 2, 8,14,12, 0,1,10, 6, 9,11, 5,0,14, 7,11,10, 4,13,1, 5, 8,12, 6, 9, 3, 2,15,13, & 10,1, 3,15, 4, 2,11, 6, 7,12, 0, 5,14, 9, S3:10, 0, 9,14, 6, 3,15, 5,1,13,12, 7,11, 4, 2, &13, 7, 0, 9, 3, 4, 6,10, 2, 8, 5,14,12,11,15,1,13, 6, 4, 9, 8,15, 3, 0,11,1, 2,12, 5,10,14, 7,1.10.13,0,
8、6, 9, 8, 7, 4,15,14, 3,11, 5, 2,12, S4:7.13.14,3, 0, 6, 9,10,1, 2, 8, 5,11,12, 4,15,13, 8,11, 5, 6,15, 0, 3, 4, 7, 2,12,1,10,14, 9,10, 6, 9, 0,12,11, 7,13,15,1, 3,14, 5, 2, & 4,3,15, 0, 6,10,1,13, & 9, 4, 5,11,12, 7, 2,14, S5:2.12,4,1, 7,10,11, 6, 8, 5, 3,15,13, 0,14, 9,14,11, 2,12, 4, 7,13,1, 5, 0,
9、15,10, 3, 9, & 6,4, 2,1,11,10,13, 7, 8,15, 9,12, 5, 6, 3, 0,14,11,& 12, 7,1,14, 2,13, 6,15, 0, 9,10, 4, 5, 3, S6:1 58 50 42 34 26 18102 59 511335 2719 113 60 52 44 3663 55 47 39 31 33 1562 54 46 38 30 22146 61 53 45 37 2921 135 28 20 1245,9, 2, 6, 8, 0,13, 3, 4,14, 7, 5,11,10.15,4, 2, 7,12,
10、 9, 5, 6,1,13,14, 0,11, 3, &9.14.15, 5, 2, 8,12, 3, 7, 0, 4,10,1,13,11, 6,s?:4, 3, 2,12, 9, 5,15,10,11,14,1, 7, 6, 0, 8,13,4,11, 2,14,15, 0, 8,13, 3,12, 9, 7,5,10, 6,1,13, 0,11, 7, 4, 9,1,10,14, 3, 5,12, 2,15, & 6,1, 4,11,13,12, 3, 7,14,10,15, 6, 8, 0, 5, 9, 2,6,11,13, 8,1,4,10, 7, 9, 5, 0,15,14, 2,
11、 3,12,S8:13, 2, 8, 4, 6,15,11,1,10, 9, 3,14, 5, 0,12, 7, 1,15,13, 8,10, 3, 7, 4,12, 5, 6,11, 0,14, 9, 2, 7,11, 4,1, 9,12,14, 2, 0, 6,10,13,15, 3, 5, &2,1,14, 7, 4,10, & 13,15,12, 9, 0, 3, 5, 6,11,P盒置换:162021291228171152326518311028241432273919133062211425(3)每轮子密钥的生成:密钥通常农示为64-bit,但每个第8位用作奇偶校验,实际的 密钥
12、长度为5G-bito在DES的毎轮运算中,从5G-bit密钥产生出不同的48-bit的了密钥 (KX,K2K16)O如图2所示.首先,56-bit密钥分成两部分(以C、D分别表示这两部分), 每部分28位,然后每部分分别循环左移1位或2位(从第1轮到第16轮,相应左移位数分别 为:1、1. 2、2、2、2、2、2、1. 2、2、2、2. 2、2. 1) 再将生成的 56-bit 组经过一个压 缩转换(compression permutation),舍掉其中的某8个位并按一定方式改变位的位置,生成 一个18-bit的子密钥K,64位密钥床缩成56位的PC-1:Cb D合并压缩成K:14 17
13、11 24 153 28 156 21 1023 19 124 2681627 20 13257 49 41 33 25 1741 52 3130 40 5137 47 5545 33 4849 39 56 34 5346 42 50 36 2932图2 DES密钥的生成DES的几种工作方式 电子密本方式(ECB)将明文分成n个64比特分组.如果明文长度不是64比特的倍数,则在明文末尾填充适当 数目的规定符号。对明文组用给定的密钥分别进行加密,行密文C=(CO,C1,Cn-l)其中 Ci=DES(K, xi), i=0,1,n-l 密文分组链接方式(CBC)在CBC方式下,毎个明文组xi在加密
14、前与先一组密文按位模二加后,再送到DES加密,CBC 方式克服了 ECB方式报内组重的缺点,但由丁明文组加密前与一组密文有关,因此前一组密文 的错误会传播到下一组。 密文反馈方式(CFB),可用于序列密码明文X=(x0, xl,xn-l),其中xi由t个比特组成0 输出反馈方式(OFB).可用于序列密码与CFB唯-不同的是OFB是直接1RDES输出的t个比特,而不是収密文的t个比特,其余 都与CFB相同。但它収的是DES的输出.所以它克服了 CFB的密文错误传播的缺点(-)实验用到的算法分析本实验用到了 LibTonCrypt密码库(Tom St Denis编写)中提供的des算法实现HYPE
15、RLINK http:/code, haskell. org/morrow/code/batch/wine/dlls/rsaenh/7http:/code, haskell. org/noircw/code/batch/wine/dlls/rsaenh/ DES 程序包括一个头 文件tomcrypt.h和一个实现DES的源文件des. c。本实验用到的头文件函数说明。1)int des_setup(const unsigned char *key, int keylen, int num_rounds, des_key *skey);函数名称:密钥生成函数参数说明:key是一个指针,指向用户输
16、入的初始密钥。keylen是输入密钥的长度,以字节为单位。num_rounds是加密轮数,当输入0时,使用默认的轮数。skey是一个指向结构体变量的指针,变量里面存储加密和解密时每轮使用的子密钥。当密钥生成成功时,返回值为CRYPT_OK(0),结果保留tE skey IS向的结构体。des_key的定义如下:typedef struct tag_des_key ulong32 ek32, dk32; des_key; 结构体里的ek心储加密时用的f密钥,dk里面心储解密时用的了密钥。结构体中用两个32bit整数來存储一轮的48bit密钥,每一个32bit整数被分成4个8bit,每 个8bit
17、的低6位bit存储密钥.如果把48bit密钥分成8组,则这8组的顺序按存储的顺序从 高到低分别为1、3、5、7、2、4、6、8。这样作是为了加密时可以把扩展和査表运算结合进行。2)void des_ecb_encrypt (const unsigned char *pt, unsigned char *ct, const des.key *key); 函数名称:加密函数(ECB模式)参数说明:Pt是指向待加密的明文数组的指针Ct是指向存储加密结果的指针key是调用密钥生成函数后储每一轮子密钥的结构体变量3)void des_ecb_decrypt (const unsigned char *c
18、t, unsigned char *pt, const des_key *key); 函数名称:解密函数(ECB模式)参数说明:ct是指向待解密的密文数组的指针pt是指向存储解密结果的指针key是调用密钥生成函数后存储每一轮子密钥的结构体变最注意:加密和解密时,pt和ct可以指向同一块内存。每次处理8个字节(分组大小为64位)。复习ppt有关数据填充部分:如果明文输入不是分组长的整数倍怎么办? (PKCS#5, PKCS #7)明文在末尾填充的字节数为1到bb,其中bb等于以字节表示的分组大小.缺少儿个字节 填充几个“几(二进制表示)1:明文长度k:每个分组的长度01if 1 modk = k
19、-l02 02if 1 mod k = k-2kk kk if 1 modk= 0例如:填充8个字节,每个填充字节为二进制00001000去掉填充字节:看最后一个字节(是几则去掉解密后明文最后几个字节)思考:为什么不允许填充0字节?补充函数int des_ecb_encData(const unsigned char *pt, int plainLen. unsigned char *ct, int*cipherLen, const des_key *key)畅数名称:加密畅数(ECB模式人 加密任意长皮明文,需要填充 参数说明: pt是指向待加密的明文数组的指针 plainLen是明文的长度
20、,以字节为单位。ct是指向存储加密结果的指针cipherLen返回密文的长度,以字节为单位。key是调用密钥生成函数后存储毎一轮子密钥的结构体变屋【思考题】1.DES算法是一种什么类型算法?(提示:从密码体制(密码编码学)的三个不同的方面进行 分类,它分别属于哪一种)。2.DES算法的分组大小.密钥长度分别是务少?3.测试DES加密的速度,填写下列表格。注意:测试速度时,工程应为release版,否则数据不准确。Build-Set Active Configuration-Win32 Release机器主频:内存操作系统:循环次数LOOP_NUMBER数据长度循环次数LOOF_NUMBER数据
21、长度蛟諒长度(兆比特,Mb)时间(秒) 速度(Mbps) 第一次 1000000 61 0352 0.438 139 35 第 二次 15000000 915 527 6 594 138 842 第三次 500000 30 5176 0 219 139.362 平均时间(秒) 速度(Mbps) 第一次 1000000 61 0352 0438 139 35 第二次 15000000 915 527 6 594 138 842 第三次 500000 30 5176 0 219 139 362 平均速度(Mbps)第一次 1000000 61.0352 0438 139 35第二次15000000
22、 915 527 6 594 138.842第三次 500000 30 5176 0 219 139 362平均第一次 1000000 61 0352 0.438 139 35 第二次 15000000 915.527 6 594 138 842第一次 1000000 61 0352 0 438 139 35 第二次 15000000 915 527 6 594 138 842 第三次 500000 30.5176 0.219 139 362 平均 -1000000 61 0352 0438 139 35 第二次 15000000 915 527 6 594 138842 第三次500000
23、30.5176 0.219 139 362平均 -61 0352 0 438 139 35 第二次 15000000 915 527 6 594 138 842 第三次500000 30.5176 0.219 139 362平均 -0 438 139 35 第二次 15000000 915 527 6 594 138 842 第三次500000 30.5176 0.219 139 362平均 -13935 第二次 15000000 915 527 6 594 138 842 第三次500000 30.5176 0.219 139 362平均 -第二次 15000000 915.527 6 59
24、4 138 842 第三次 500000 30 5176 0 219 139.362第二次 15000000 915 527 6.594 138 842 第三次 500000 30.5176 0.219 139 362 平均 -15000000 915.527 6 594 138 842 第三次 500000 30 5176 0 219 139 362 平均915 527 6.594 138 842 第三次 500000 30 5176 0.219 139.362 平均6.594 138 842 第三次 500000 30.5176 0219 139 362 平均138.842 第三次 500
25、000 30.5176 0 219 139 362 平均 第三次 500000 30 5176 0 219 139.362 半均第三次 500000 30 5176 0 219 139 362 平均 一一500000 30 5176 0 219 139 362 平均-30.5176 0.219 139.362 平均-0.219 139 362 平均-139 362 平均- - -平均 -平均-4、下列两题选作一题4.1简述DES加密的基本步骤(实现原理人也可以用柜图表示。4. 2如果明文数据长度不是8的整数倍,可以调用补充函数des.ecb.encData加密,试编写出 对应的解密函数des_
26、ecb_decDataint des_ecb_decData(const unsigned char *ct, int cipherLen, unsigned char *pt, int *plainLen, const des_key *key)函数名称:解密函数(ECB模式),需耍去掉填充,得到明文的长度参数说明:ct是指向待解密的密文数组的指针cipherLen是密文的长度,以字节为单位。Pt是抬向存储解密结果的指针plaiiiLeii返回明文的氏度,以字节为单位。key是调用密钥生成函数厉存储每一轮子密钥的结构体变最【实验报告撰写要求】1)实验报告纸到实验室购买;2)实验报告必须手写,
27、内容如下:(1)实验题目(2)实验目的(3)实验环境(4)实验类型(5)思考题实验二 HASH 算法SHA1【实验目的】通过实际编程了解SHA1 n法的运算过程.加I深对HASH算法的认识。【实验环境】操作系统:Windows2000/XP,开发工貝:Visual C+/ C+ Builder任选一种。【实验类型】验证型【实验学时】3学时【实验内容及步骤】哈希(Hash)函数是将任意长的数字串转换成一个较短的定长输出数字串的函数,输出的 结果称为哈希值。哈希函数具有如下特点:1)快速性对丁任意一个输入值心由哈希函数JL计算哈希值y,即y=H(x)是非常容 易的。2)单向性对丁任意一个输出值y,
28、希望反向推出输入值x,使得y=H(x),是非常困难 的。3)无碰撞性:对丁任总给定的数据块x,希望找到一个值y,满足H(x)=H(y), ILxHy, 具有计算不可行性。哈希函数可用丁数字签名、消息的完整性检测、消息源认证检测等。现在常见的哈希函数 有MD5、SHAE SHA256. SHA384、SHA512等本实验我们采用SHA1算法。1SHA1算法简介SHA-1 H法由美国国家标准籾技术协会(NIST)与美国阿家安全局(NSA)设计,并且被 美国政対采纳,成为美国国家标准。事实上SHA-1目前是全世界使用最为广泛的哈希算法,己 经成为业界的事实标准。安全哈希算法(Secure Hash
29、Algontlim )主要适用数丫签名标准(Digital Signature Standard DSS)里面定义的数字签名算法(Digital Signature Algonthm DSA)o对于长度小J: ?冬4位的消 息,SHA1会产生一个160位的消息摘耍。当接收到消息的时候,这个消息摘耍可以用來验证 数据的完整性。在传输的过程中.数据很可能会发生变化,那么这时候就会产生不同的消息摘 要。2术语和概念21 位(Bit),字节(Byte)和字(Word)SHA1始终把消息当成一个位(bit)字符串來处理。本文中,一个“字(Word)是32位, 而一个“字节”(Byte)是8位。比如,字符
30、串“abc”可以被转换成一个位字符4:01100001 01100010 OllOOOllo它也可以被表示成16进制字符串0 x616263 o c运算符和符号下面的逻辑运算符都被运用于“字”(Word)XAY =X, Y逻辑与(C语言中按位与运算符为&)XVY =X. Y逻辑或(C i吾言中按位或运算符为|)X XOR Y=X, Y逻辑异或(C语言中按位异或运算符为八)X = X逻辑収反X+Y定义如下:字X和Y代表两个整数x和y.其中0v=xvy32 11 0=y2A32令整数z = (x+y) mod 2A32.这时候0 = z 2A32.将z转换成字Z,那么就是Z = X + Y循环左移
31、位操作符Sn(X)o X是一个字,n是一个整数,0=n=32 o Sn(X)= (Xn)OR(X32-n)Xvvii定义如下:抛弃绘左边的n位数字,将各个位依次向左移动n位,然后用0填补右边 的n位(最后结果还是32位人Xn是抛弃右边的口位将冬个位依次向右移动n位,然后在 左边的n位填0。因此可以叫Sn(X)位循环移位运算3SHA1算法描述在SHA1算法中,我们必须把原始消息(字符串,文件等)转换成位字符串。SHA1算法 只接受位作为输入。假设我们对字符串fbc”产生消息摘要。厅先,我们将它转换成位字符串 如下:01100001 01100010 011000114 a* =97b=98 *c
32、 =99这个位字符串的长度为24o下面我们需耍5个步骤來计算。3 1补位消息必须进行补位,以使其长度在对512取模以后的余数是448.也就是说,(补位后的消 息长度)51? = 448。即使长度己经满足对512取模后余数是448.补位也必须耍进行。补位是这样进行的:先补一个1然后再补0,直到长度满足对512取模后余数是448。总 而言之.补位是至少补一位.绘多补512位。还是以前面的“abc”为例显示补位的过程。原始信息:01100001 01100010 01100011补位第一步:01100001 0110001001100011 1 宵先补一个 “1”补位第二步:01100001 011
33、0001001100011 10-. 0 然后补 423 个 “0”我们可以把放后补位完成后的数据用16进制写成下啲的样子61626380 00000000 00000000 0000000000000000 00000000 00000000 0000000000000000 00000000 00000000 0000000000000000 00000000现在,数据的长度是448 了,我们可以进行下一步操作。3.2补长度所谓的补长度是将原始数据的长度补到己经进行了补位操作的消息后而。通常用一个64位 的数据來表示原始消息的长度。如果消息长度不大于64那么第一个字就是0。在进行了补 长度
34、的操作以后,整个消息就变成下而这样了(16进制格式)61626380 00000000 00000000 0000000000000000 00000000 00000000 0000000000000000 00000000 00000000 0000000000000000 00000000 00000000 00000018如果原始的消息长度超过了 512,我们需要将它补成512的倍数。然后我们把整个消息分 成一个一个512位的数据块,分别处理毎一个数据块,从而得到消息摘耍。3 3使用的常量一系列的常量字K(0).K(l),.,K(79),如果以16进制给出。它们如下:Kt = 0 x5
35、A827999(0 =t = 19)Kt = 0 x6ED9EBA1 (20 = t = 3刃Kt = 0 x8FlBBCDC (40 = t = 59)Kt = 0 xCA62ClD6 (60 = t = 79).34需要使用的函数在SHA1中我们需要一系列的函数。每个函数ft (0 = t = 79)都操作32位字B, C, D并 丄产生3?位字作为输出。仕(B.C.D)可以如下定义(0 = t = 19)(20 = t = 39)(40 = t = 59)(60 = t H3 = H3+ D, H4 =H4+ E在处理完所有的Mn.后,消息摘耍是一个160位的字符串,以下啲的顺序标识 H
36、0H1H2H3 H4.对于SHA256.SHA384.SHA512O也可以用相似的办法來计算消息摘耍。对消息进行补位的 算法完全是一样的。二、实验内容和步骤1算法分析本实验用到了 openssl库中提供的SHA1算法实现。有关SHA1算法的头文件sha h, shajocl h 和mon h,根据所提供的文件分析SHA1算法的实现过程。下面简单介绍所用到的结构体变量和函数。程序中用到的结构体变鼠: type def struct SHAstate_st _SHA_LONG hO.hth2Ji3.h4.SHA_LONGNlJ4h;SHA_LONG dataSHA_LBLOCK.int num.)
37、SHA_CTX;hO.hlth2.h3Ji4是第一个5个字的缓冲区 data作为处理过程中的缓存,num存储data中数 据的长度(字节数程序中用到的函数介绍如下:1)void SHAl_Imt(SHA_CTX *c)t丙数名称:初始化函数 参数说明:C指向-个上而所提到的结构体变量。初始化时把hOJil,h2.h3Ji4按照H0 = 0 x67452301Hl=0 xEFCDAB89H2 = 0 x98BADCFEH3 = 0 x10325476H4 = 0 xC3D2ElF0初始化.NINi, num初始化为02)void SHA l_Update(SHA_CTX *ct const vo
38、id *data, unsigned long len).函数名称:-处理函数一参数说明:C指向经过初始化函数处理过的结构体变量。data指向待处理的信息len是data中信息的长度,以字节为单位这个函数对处理的信息以512bit为单位进行压缩,不足的部分存储在结构体的data中,并用num指示信息的末尾。这样下次调用时会接着上一次的结果进行。3)void SHA l_Fin al (unsigned char *md. SHA_CTX *c);函数名称厂完成函数参数说明:md指向存储结果的缓冲区c指向上面处理过的结构体.这个函数对未完成的信息先进行padding操作,然后处理,并把最终结果存
39、在md指向的缓 冲区中。2使用实例分析下面的程序实现了对-hello, world!-进行SHA1处理的功能,可以作为SHA1函数接【1的参 考。#inelude sha hinclude shajocl hMint main(void)SHA CTXc;unsigned char *m=hello.world1tout 16,SHAl_Imt(&c);SHAl_Update(&c,in,strlen(in)tSHA l_Fmal(out,&c);pnntf(whash 也为:n%sn,out)treturn 0.)说明:由丁程序中所用的结构体只在初始化函数中赋初始值,其中间过程可以保留下來,
40、所以对 一段信息分多次处理可以得到同样的结果。比如说使用下面的语句可以得到和例子中同样的结 果:SHAl_Imt(&c), SHAl_Update(&c. hello;.6). SHAl_Update(&c. * world!,6). SHA l_Final(out&c);【思考题】第三次平均第三次半均-第三次平均第三次平均一-第三次平均 -第三次平均一平均-平均-平均 -半均平均平均速度(Mbps)第一次第二次第三次第一次第二次第三次平均一第一次第二次第三次半均第二次第三次平均一第二次第三次平均第二次第三次平均一一第二次第三次半均一一第二次第二次平均Build-2et Active Conf
41、igurations Win32 P.elease 机器主频:内存:操作系统:循环次数LOOP_NIH4BER数据长度循环次数LOOP_NUMBER数据长度(兆比特,Mb)时间(秒)速度(Mbps)数据长度 第一次第二次第三次时间(秒)速度(Mbps)第一次第二次第三次平均1、简述哈希函数的特点。2、SHA1算法的摘耍长度是多少?3、 测试SHA1算法的运算速度,填写下列表格。SHA1算法速度大约是DES算法的务少倍? 注总:测试速度时,工程应为release版.否则数据不笊确。平均第二次第三次平均4、编写段程序,计算文件“信息安全技术实验指导书”的摘耍,并给出摘耍值(用16进 制表示,例如摘
42、要值为:0A33D142 21 53 51 AC52 33D9 4B02D3 19 68 80 2E42C1)。注总:不要修改信息安全技术实验指导书(文件最后修改日期为2012-5-14),确保摘要值 为固定值。【实验报告撰写要求】1)实验报告纸到实验室购买;2)实验报告必须手写,内容如下:(1)实验题目(2)实验目的(3)实验环境(4)实验类型思考题实验三邮件加密软件PGP的使用【实验目的】通过木实验,读者可以韋握以下技能:学会使用PGP创建密钥对;学会使用PGP输出和签名公共密钥;学会使用PGP和Outlook Express发送并接收加密的电子邮件。【实验环境】Windows 2000
43、Server,需安装Outlook. Express软件【实验类型】验证性实验【实验学时】2学时【实验内容及步骤】一、 使用PGP创建密钥对这一步将使用密钥生成向导生成密钥对.(1)通过Key Generauon Wizard对话框创建密钥对。该对话框有两种打开方式:一种是选择“开 始” “程序” 一 “PGP” 一 “PGPkeys”:另一种是用右键点击系统托盘区的PGP图标,选择 PGPkeys在 PGPKeys 对话框中选择Keys New key X 如图 1),打开 Key Generation Wizard 对话框(如图l-2)o图 1-1 选择 “NewKey”图 Key Gen
44、eration Wizard 对话框(2)点击Key Generation Wizard对话框中的下一步,输入用户名和邮件地址,如图13所/J a图13选择参数(3)点击图1-3中的下一步,将出现如图14所示的对话框。在Passphrase栏内可输入一个 最少8个字符的密码短语,确认后单击“下一步”。图1-4输入密码(4)PGP开始生成一个新的密钥对.当密钥对产生完毕厉,会出现一个完成的界面,点击“完 成”,结束密钥对的创建过程,如图15所示。图15密钥对的生成(5)用户可以在PGPkeys中査看到刚生成的公共密钥,如图所示。图1-6密钥査看二、 使用 PGP 输出和签名公共密钥这一步将在两台
45、PC机之间通过Oudook Express交换公共密钥,并在二者之间建立完全信 任关系。1输出公钥(1)用上而提到的方法打开FGFkeys。(2)用右键单击刚才创建的密钥,并选择Export选项,如图17所示。图1-7公钥输出(3)此时出现一个Export Key to File对话框。选择保存的目录以及文件名,然后单击“Save: 在选择的目录中将出现一个以asc为扩展名的文件,如图1-8所示。注意,不耍保存私钥。图18选择保存路径及文件名(4)打开Outlook Express,将该文件作为附件发给对方2添加公钥(1)收到对方的asc文件后,将其保存到桌面。(2)通过PGPKeys将该公钥
46、文件添加到密钥环中。(3)选择Keys菜单中的ImportM (如图 1-9 所示),将出现一个Select File Containing Key M对话框。选择保存在桌面上的对方的公钥文件,并单击“打开”,如图110所示.图19打开对方公钥图110选择公钥文件4)此时将出现一个“Selectkey(s)”对话框(如图1-11所示)。选中刚才添加的密钥,并选择 “Import”,则对方的密钥出现在密钥环中,但是没有被签名,所以不被信任。图 1-11 Select key(s)对话框(5)用右键单击该密钥,并选择“Sign”选项。(6)此时将出现PGP Sign Key对话框选中该密钥并选择u
47、Allow signature to be exportedv 复选框然后单击“OKS如图1-12所示。图112公钥导入7)此时系统提示耍求输入密码短语。输入完后单击“OKS则在PGPkeys中该密钥旁边出现 一个绿色的图标,农示它己经被签名。(8)用右键单击该密钥.并选择44 Key Properties0选项。在出现的对话框底部.从44 Untrusted 滑动到“Trusted”,然后单击“关闭”,如图1J3所示。此时该密钥被信任,可以用來安全地交 换信息了。图1J3公钥添加完成三.使用PGP和Outlook Express发送加密的电子邮件1发送加密的电子邮件(1)通过Outlook Express编写邮件内容。注意:如果发送包含敏感信息的邮件,则标题栏必须为空白或标题内容不能包含泄露正文 内容的信息。(2)当完成邮件正文的编写后,点击加密邮件正文,然后点击对内容进行签名,如图1J4所示。 注意:不要与Outlook Express自带的加密、签名图标弄混了。图M4邮件加密示意
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年流动式空气质量监测车合作协议书
- 2025年个人门面买卖合同格式版(2篇)
- 2025年个人货车租赁合同常用版(2篇)
- 2025年九年级英语下学期教学工作总结(二篇)
- 2025年个人货运汽车租赁合同(4篇)
- 2025年个人雇佣协议参考范文(三篇)
- 2025年九年级教学管理工作总结样本(2篇)
- 2013-2022年北京市中考真题物理试题汇编:电功和电功率章节综合
- 2025年中介行业保密协议(五篇)
- 2025年个人成交租赁合同模板(三篇)
- 2024年度-胫腓骨骨折
- 2024年职业卫生技术人员评价方向考试题库附答案
- 应用密码学课件
- 红楼梦诗词全集
- 矿井通风安全培训课件
- 2024年中国国际投资促进中心限责任公司招聘高频考题难、易错点模拟试题(共500题)附带答案详解
- 苯胺合成靛红工艺
- 质量保证发展史和国外相关标准简介
- 三年级上册数学脱式计算大全600题及答案
- 鲁教版(五四制)七年级数学上册期末考试卷-附带答案
- 南京大学仪器分析习题集
评论
0/150
提交评论