Giter Site home page Giter Site logo

confidential-communication's Introduction

  1. 在运行可执行文件时,首先打开B_client文件夹,运行B_client.exe,输入Y选择使用默认端口号;在B_client.exe命令行现“Start,Waiting..........”字符串后,打开A_client文件夹,运行A_client.exe(因为将 B 作为服务器端,需要先启动)。

    当两个用户端分别打印“和用户 A/B 成功建立连接!”字符串后,说明建立连接成功。

    错误处理:如果 A 用户端打印“和用户 B 成功建立连接!”,但是 B 用户端没有打印“和用户 A 成功建立连接!”字符串,则说明未成功连接,关闭两个用户端程序,按照正确用户端启动顺序重新建立连接。如果仍未成功建立连接,检查程序中的端口号和 IP 地址,程序中默认 A 用户端端口号为:4567,B 用户端端口号为:1333,检查这两个端口号是否被占用,如果被占用,在启动 A 和 B 用户端时选择不使用默认端口号,自己输入重新设定的 A 和 B 用户端端口号,注意 A、B 用户端的目的端口号和源端口号应该相互对应。

  2. 发送 RSA 公钥

    如果希望重新设置 RSA 密钥,选择功能 4:重置并发送 RSA 公钥。选择这个功能后,会提示选择是否手动输入两个大素数。因为程序生成大素数的速度较慢(生成一个大素数约需要5min-10min),所以建议使用给出的 BigPrime.txt 文档中已经提前生成好的 512bit 大素数,如果选择程序生成大素数,程序中的大素数生成函数会生成两个 512bit 的大素数。在设置完大素数后,程序中自带的 RSA 密钥生成函数会自动生成一对 RSA 密钥,并将公钥发送给另一个用户端,私钥存储在自己的用户端。

  3. 发送AES密钥

    如果希望重新设置 AES 密钥,选择功能 3:重置并发送 AES 密钥。选择这个功能后,会要求输入一个 AES 密钥字符串,输入任意长度字符串都可以,程序会自动截断或补充字符串至 16字节。然后程序会将这个 AES 密钥加密,发送给另一个用户端。

  4. 发送消息

    如果希望和另一个用户端进行通信,选择功能 1:发送信息。选择这个功能后,输入任意长度的消息字符串。发送端对消息分组加密,并且发送端会打印加密结果;接收端收到消息后,对消息分组解密。

    错误处理:如果发送端显示成功发送消息,但是接收端没有打印接收消息。这可能是因为接收端命令行界面卡顿,没有及时将接收到的消息打印出来,选择接收端窗口,输入回车,接收消息就可以打印出来了。

  5. 发送文件

    如果希望向另一个用户端发送加密文件,选择功能 2:发送文件。选择这个功能后,输入文件路径,如果文件路径正确,发送端会读取文件,进行分组加密,并将加密结果存入固定大小的数据包中发送;接收端接收数据包后,解密数据并写入文件中。

    错误处理:如果在发送端发送文件之后,在接收端的目录文件下,接收到一个文件名是乱码的文件,可能是输出文件过程中,没有找到生成的目标文件,需要手动将文件重命名,然后正常打开即可。

confidential-communication's People

Contributors

genggengsvan avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.