SecChat

所属分类:ICQ/即时通讯
开发工具:Visual C++
文件大小:122KB
下载次数:44
上传日期:2009-07-19 21:23:42
上 传 者wuliao27
说明:  本聊天程序采用2048bit 的RSA 数据加密算法对数据进行加密和数字签名后发出,因为RSA加密信息需要大量的时间,因此本程序适合用来传递密钥或对非常重要且信息量较少的网络通讯。本程序编译后运行界面如上所示,正常聊天需要进行设置,设定对方IP地址,QQ号或电子邮件地址,接下来就可以发消息了,程序还可以完成如图所示的其它功能。
(2048bit the chat program using the RSA encryption algorithm for data encryption and digital signatures issued because RSA encrypted information requires a large amount of time, this program suitable for transmission of the key or the amount of information is very important and less network communication . After compiling the program to run the interface as shown above, the need for set up regular chats, set the IP address of the other side, QQ number or e-mail address, followed by a message on the can, the program can also be completed by the other functions as shown.)

文件列表:
codefans.net\SecChat\AboutDlg.cpp (1864, 2009-07-12)
codefans.net\SecChat\AboutDlg.h (1068, 2002-03-26)
codefans.net\SecChat\BtnST.cpp (19354, 2009-07-12)
codefans.net\SecChat\BtnST.h (6139, 1999-03-27)
codefans.net\SecChat\ClientSocket.cpp (2809, 2009-07-12)
codefans.net\SecChat\ClientSocket.h (1210, 2002-03-21)
codefans.net\SecChat\ColorComboBox.cpp (2709, 2009-07-12)
codefans.net\SecChat\ColorComboBox.h (1414, 2002-03-01)
codefans.net\SecChat\ColorEdit.cpp (1137, 2002-03-23)
codefans.net\SecChat\ColorEdit.h (1317, 2002-03-12)
codefans.net\SecChat\Connect.cpp (1416, 2002-03-16)
codefans.net\SecChat\Connect.h (1253, 2002-03-15)
codefans.net\SecChat\General.cpp (3682, 2002-03-16)
codefans.net\SecChat\General.h (1555, 2002-03-11)
codefans.net\SecChat\HyperLink.cpp (9129, 2009-07-12)
codefans.net\SecChat\HyperLink.h (2807, 1997-11-22)
codefans.net\SecChat\Label.cpp (22193, 2009-07-12)
codefans.net\SecChat\Label.h (2644, 2001-06-02)
codefans.net\SecChat\ListenSocket.cpp (1399, 2002-03-21)
codefans.net\SecChat\ListenSocket.h (1276, 2002-03-17)
codefans.net\SecChat\PrivateManager.cpp (6093, 2009-07-12)
codefans.net\SecChat\PrivateManager.h (1552, 2002-03-09)
codefans.net\SecChat\PublicKeyManager.cpp (4981, 2009-07-12)
codefans.net\SecChat\PublicKeyManager.h (1539, 2002-03-11)
codefans.net\SecChat\res\connect.ico (2238, 2002-02-06)
codefans.net\SecChat\res\disconnection.ico (2238, 2002-02-06)
codefans.net\SecChat\res\encrypt .ico (2238, 2002-02-06)
codefans.net\SecChat\res\exit.ico (2238, 2002-02-06)
codefans.net\SecChat\res\hand.cur (326, 2002-02-07)
codefans.net\SecChat\res\idiograph .ico (2238, 2002-02-06)
codefans.net\SecChat\res\IP.ico (2238, 2002-02-06)
codefans.net\SecChat\res\JiaMi.ico (2238, 2002-03-10)
codefans.net\SecChat\res\MessageReceive.wav (16544, 2002-02-27)
codefans.net\SecChat\res\MessageSend.wav (10259, 2002-02-27)
codefans.net\SecChat\res\note.ico (2238, 2002-02-06)
codefans.net\SecChat\res\offline.ico (2238, 2002-03-11)
codefans.net\SecChat\res\offline.wav (5212, 2002-02-27)
codefans.net\SecChat\res\online.wav (6160, 2002-02-26)
codefans.net\SecChat\res\SecretChat.ico (2238, 2002-02-06)
... ...

密聊源程序 密聊是文件密使的一部份,为了保护通讯的安全,为此文件密使新添加了即时安全通讯工具密聊, "密聊"采用 2048bit 的 RSA 数据加密算法对数据进行加密和数字签名。在此公开源程序并希望 对信息安全有兴趣的朋友进行改进,或提供宝贵的意见。希望密聊能成为一个稳定、安全、公开 的通讯工具。 程序内容: 1. 通讯程序用的是MFC Socket,监听套接字类CListenSocket,服务器类CServiceSocket, 客户端类CClientSocket。CSecretChatDlg::SendData发送消息包。 2. public_key和private_key是对实现RSA功能的封装类: private_key::create()是创建私有密钥和公开密钥的函数 public_key::encrypt(vlong& plain)对一个小于m的大整数plain进行加密 private_key::decrypt(vlong &cipher)对一个小于m的大整数cipher进行解密 其他的参数是分别对消息块MessageDollop和消息包MessagePackage进行处理的封装 public_key::vlong_to_PK(PK &pk)是将公开密钥转化成PK结构,这样才能保持下来 public_key::PK_to_vlong(PK pk)把PK结构的公钥转化到vlong类型的公钥 private_key::vlong_to_SK(SK &sk)是将私有密钥转化成SK结构,这样才能保持下来 private_key::SK_to_vlong(SK sk)把SK结构的私钥转化到vlong类型的私钥 3. MessageDollop和MessagePackage结构是分别是消息块和消息包,他们是重要的数据处理对象。 它们的定义有详细的说明;PK和SK是为了将公开密钥和私有密钥变成可以存储的结构体; SecretKey是私钥或公钥文件结构;__DWORD128类对128bit信息进行处理 处理流程: 1. 连接成功后,就会安装用户的私有密钥和好友的公开密钥 2. 加密消息 用TextToMessagePackage函数将要加密的文本消息转换成消息包, 用用户私有密钥对消息包进行签名m_private_key_send.decrypt, 之后用对方公开密钥对消息包再进行加密m_public_key_send.encrypt, 他们在while循环中,是为了使得要加密的数据必须要小于m; 3. 解密消息 用接收方的私有密钥解密m_private_key_receive.decrypt 用发送方的公开密钥解密签名m_public_key_receive.encrypt 用MessagePackageToText函数将要消息包转换成可读的文本消息 ──────────────── 主页:http://www.wjmshome.com BBS: http://wjmshome.ok100.net

近期下载者

相关文件


收藏者