PSP开源项目使用教程
psp 项目地址: https://gitcode.com/gh_mirrors/ps/psp
1. 项目目录结构及介绍
PSP(PSP Security Protocol)是一个由Google开发的安全协议,用于数据中心的大规模加密传输。项目的目录结构如下:
psp-open-source-project/
├── cfg/
│ └── 配置文件
├── doc/
│ └── 文档,包括PSP架构规范
├── pcap/
│ └── 用于测试的pcap文件
├── src/
│ └── 参考软件实现的源代码
├── test/
│ └── 测试用例脚本
└── wireshark/
└── Wireshark插件
1.1 cfg/
目录
该目录包含用于psp_encrypt
和psp_decrypt
程序的配置文件。这些配置文件用于不同的测试用例,具有不同的加密和解密参数。
1.2 doc/
目录
该目录包含项目的文档,包括PSP架构规范的PDF文件。
1.3 pcap/
目录
该目录包含用于测试的pcap文件。这些文件由create_pcap
程序生成,用于测试加密和解密过程。
1.4 src/
目录
该目录包含参考软件实现的源代码。主要程序包括create_pcap
、psp_encrypt
和psp_decrypt
。
1.5 test/
目录
该目录包含一系列测试用例脚本,用于验证PSP加密和解密功能的正确性。
1.6 wireshark/
目录
该目录包含Wireshark插件,用于解析和显示PSP协议的封包。
2. 项目启动文件介绍
在src/
目录中,主要的启动文件是Makefile
。通过运行make
命令,可以编译生成以下三个主要程序:
create_pcap
:用于生成用于测试的明文pcap文件。psp_encrypt
:用于对明文pcap文件进行PSP加密。psp_decrypt
:用于对加密后的pcap文件进行解密。
2.1 create_pcap
该程序用于生成明文的pcap文件,供后续的加密和解密测试使用。生成的数据包格式为Eth-IP-UDP-Payload
,默认大小为1434字节。
2.2 psp_encrypt
该程序用于对输入的明文pcap文件进行PSP加密。加密过程中,程序会添加PSP封装、计算ICV并加密数据。
2.3 psp_decrypt
该程序用于对加密后的pcap文件进行解密。解密过程中,程序会移除PSP封装、验证ICV并解密数据。
3. 项目的配置文件介绍
在cfg/
目录中,配置文件用于psp_encrypt
和psp_decrypt
程序。配置文件的格式如下:
series of 32 hex bytes (e.g., 34 44 8a): Master Key 0
series of 32 hex bytes (e.g., 56 39 52): Master Key 1
32b hex value (e.g., 9A345678): SPI
encap string (either "transport" or "tunnel"): PSP Encap Mode
crypto algorithm string (either "aes-gcm-128" or "aes-gcm-256"): Crypto Algorithm
non-negative integer with units of 4 bytes (e.g., 1): Transport Mode Crypt Offset
non-negative integer with units of 4 bytes (e.g., 6): IPv4 Tunnel Mode Crypt Offset
non-negative integer with units of 4 bytes (e.g., 11): IPv6 Tunnel Mode Crypt Offset
virtual cookie string (either "vc" or "no-vc"): Include VC in PSP Header
3.1 配置文件示例
34 44 8a 56 39 52 9A345678 transport aes-gcm-128 1 6 11 vc
该配置文件指定了主密钥、SPI、封装模式、加密算法、加密偏移量以及是否包含虚拟化Cookie。
通过以上配置文件,psp_encrypt
和psp_decrypt
程序可以正确地进行加密和解密操作。
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考