基于VC的RSA加密與解密实现技术.docVIP

  • 5
  • 0
  • 约1.2万字
  • 约 10页
  • 2016-11-27 发布于重庆
  • 举报
基于VC的RSA加密與解密实现技术

基于VC的RSA加密与解密实现技术 一、RSA基本原理 对明文分组M和密文分组C,加密与解密过程如下: C = POW (M , e) mod n M = POW(C , d) mod n = POW(POW( M ,e), d) mod n=POW( M,e*d) 其中POW是指数函数,mod是求余数函数。 其中收发双方均已知n,发送放已知e,只有接受方已知d,因此公钥加密算法的公钥为 KU={ e , n},私钥为KR={d , n}。该算法要能用做公钥加密,必须满足下列条件: 1. 可以找到e ,d和n,使得对所有Mn ,POW(M ,e*d)=M mod n . 2. 对所有 Mn,计算POW (M , e)和POW(C , d)是比较容易的。 3. 由e 和n确定d是不可行的 下面介绍RSA算法,该算法中到的下列的元素: 两个素数p, q (保密的,选定的) n=p*q (公开的,计算得出的) e , gcd ( x(n),e) =1;1ex(n) (公开的,选定的) d≡POW(e,-1) mod x(n) (保密的,计算得出的) 这里,私钥为{d ,n},公钥为{e ,n}。假定用户A已公布了其公钥,用户B要发送消息M给A,那么用户B计算C= POW (M , e) mod n,并发送C,在接受端,用户A计算 M = POW(C , d) mod n 以解出消息M。 二、开发平台及语言 1、开发平台:Microsoft Visual Studio c++ 6.0 2.语言: c++ 三、应用程序界面设计及变量的连接和方法的名称 对象 ID Caption 连接变量或方法 成组框 IDC_STATIC 产生密钥过程 无 编辑框 IDC_PRIME_EDIT1 无 m_PrimeEdit1/long 编辑框 IDC_PRIME_EDIT2 无 m_PrimeEdit2/long 编辑框 IDC_PUBN_EDIT 无 m_PubNEdit/long 编辑框 IDC_PUBX_EDIT 无 m_PubXEdit/long 编辑框 IDC_PUBKEY_EDI 无 m_PubKeyEdit/long 编辑框 IDC_PRIKEY_EDIT 无 m_PriKeyEdit/CEdit 命令按钮 IDC_CALCULATE_BUTTON 计算 OnCalculateButton() 命令按钮 IDC_PUBKEY_BUTTON 公有密钥 OnPubkeyButton() 命令按钮 IDC_PRIKEY_BUTTON 私有密钥 OnPrikeyButton() 命令按钮 IDC_HIDE_PRIKEY_BUTTON 隐藏私钥 OnHidePrikeyButton() 命令按钮 IDC_SHOW_PRIKEY_BUTTON 显示私钥 OnShowPrikeyButton() 命令按钮 IDC_STATIC 加密和解密过程 无 编辑框 IDC_RESOURCE_EDIT 无 m_ResourceEdit/CEdit OnChangeResourceEdit() 编辑框 IDC_CRYPTOGRAPH_EDIT 无 m_CryptographEdit/CEdit 编辑框 IDC_OPEN_EDIT 无 m_OpenEdit/CEdit 编辑框 IDC_LINE 无 m_Line/CEdit 编辑框 IDC_CHAR 无 m_Char/CEdit 命令按钮 IDC_ENCRYPT_BUTTON 数字加密 OnEncryptButton() 命令按钮 IDC_OPEN_BUTTON 数字解密 OnOpenButton() 命令按钮 IDC_CLEAR_BUTTON Clear OnClearButton() 命令按钮 IDC_EXIT_BUTTON Exit OnExitButton() 命令按钮 IDC_ENCRYPT_TEXT_BUTTON 文本加密 OnEncryptTextButton() 命令按钮 IDC_OPEN_TEXTBUTTON 文本解密 OnOpenTextbutton() 菜单 ID_CALCULATE_MENU 计算 OnCalculateMenu() 菜单 ID_PUBKEY_MENU 公有密钥 OnPubkeyMenu() 菜单 ID_PRIKEY_MENU 私有密钥 OnPrikeyMenu() 菜单 ID_HIDE_MENU 隐藏私钥 OnHideMenu() 菜单 ID_SHOW_MENU 显示私钥 OnShowMenu()

文档评论(0)

1亿VIP精品文档

相关文档