信息安全课程设计信息安全课程设计.doc

  1. 1、本文档共5页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
信息安全课程设计信息安全课程设计

信息系统安全课程设计报告 课题名称: OpenSSL 非对称加密 提交文档学生姓名: 提交文档学生学号: 同组 成 员 名 单: 指导 教 师 姓 名: 指导教师评阅成绩: 指导教师评阅意见: . . 提交报告时间: 2014年 6 月 10日 课程设计目标 了解OpenSSL非对称加密算法的背景知识,并实现加密解密。 分析与设计 (1)实现方法: 编程语言为C++语言。 编程方法:根据算法要求编写代码。 利用OpenSSL命令制作生成密钥: #include stdlib.h #include stdio.h #include string.h #include openssl/pem.h #include openssl/rsa.h int main() { char plain[256]=啦啦啦啦啦; char encrypted[1024]; char decrypted[1024]; const char* pub_key=public.pem; const char* priv_key=private.pem; printf(%s\n,plain); int len=strlen(plain); BIO *pBio = BIO_new_file(pub_key,r); if(pBio==NULL){ printf(failed to open pub_key file %s!\n, pub_key); return -1; } RSA* rsa1= PEM_read_bio_RSA_PUBKEY(pBio, NULL, NULL, NULL); if(rsa1==NULL){ printf(unable to read public key!\n); return -1; } BIO_free_all(pBio); int outlen=RSA_public_encrypt(len, (unsigned char *)plain,(unsigned char *)encrypted, rsa1,RSA_PKCS1_PADDING); printf(%d\n,outlen); encrypted[outlen]=\0; printf(%s\n,encrypted); FILE* fp=fopen(out.txt,w); fwrite(encrypted,1,outlen,fp); fclose(fp); pBio = BIO_new_file(priv_key,r); if(pBio==NULL){ printf(failed to open priv_key file %s!\n, pub_key); return -1; } RSA *rsa2 = PEM_read_bio_RSAPrivateKey(pBio, NULL, NULL, NULL); if(rsa2==NULL){ printf(unable to read private key!\n); return -1; } BIO_free_all(pBio); outlen=RSA_private_decrypt(outlen,(unsigned char *)encrypted,(unsigned char *)decrypted, rsa2,RSA_PKCS1_PADDING); decrypted[outlen]=\0; printf(%s\n,decrypted); return 0; } (3)手动产生公钥: #include stdlib.h #include stdio.h #include string.h #include openssl/pe

文档评论(0)

cduutang + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档