huangjing3555-blip/sm2_sm4_codesign — explained in plain English
Analysis updated 2026-05-18
Demonstrate SM2 based key negotiation between two devices over a local network.
Compare hardware accelerated versus software SM4 file decryption performance on an Orange Pi.
Teach or present applied Chinese national cryptography standards in an academic setting.
Export throughput and CPU usage data as a CSV chart for a thesis or presentation.
| huangjing3555-blip/sm2_sm4_codesign | 2arons/llm-cli | adzza/guardium-dns | |
|---|---|---|---|
| Stars | 11 | 11 | 11 |
| Language | Python | Python | Python |
| Setup difficulty | moderate | easy | moderate |
| Complexity | 4/5 | 2/5 | 3/5 |
| Audience | researcher | developer | general |
Figures from each repo's GitHub metadata at analysis time.
Requires an Orange Pi 5 Plus board plus a manual public key exchange step between both machines.
This project is a demonstration system built by researchers at Jinan University's College of Cyber Security, showing how software and hardware can work together to encrypt data using SM2 and SM4, two Chinese national cryptography standards. It pairs a Windows PC acting as a client with an Orange Pi 5 Plus single board computer acting as a server, communicating over a local network connection. The system's main point of interest is that the Orange Pi server does not rely purely on software for its encryption work. Its RK3588 chip includes a hardware cryptography engine, and the project calls into it directly through a Linux kernel interface so that SM4 decryption can be sped up by real hardware instead of running entirely in software. If that hardware acceleration is not available on a given device, the code automatically falls back to a pure software implementation, so the demo still works either way. To use it, a person installs Python along with a Chinese cryptography library called gmssl on both machines, starts the server script on the Orange Pi and a small local web app on the Windows PC, and then exchanges each side's public identity key with the other, a manual step meant to represent how real certificate distribution would prevent a middleman from intercepting the connection. From there, the PC's browser interface is used to log in, connect to the Orange Pi over the network, and trigger an SM2 based key negotiation between the two machines. Once the two sides agree on a session key, the interface lets a user pick a file, typically in the tens of megabytes, and send it encrypted with SM4, choosing whether the receiving side should decrypt it using its hardware engine or a plain software routine. A live chart compares the throughput and CPU usage of the two decryption paths side by side, and scrolling text shows the encrypted data as it moves. Results can be exported as a CSV file, which the authors describe as useful for building charts for an academic presentation or thesis defense. This project is aimed at students and researchers studying applied cryptography and embedded hardware acceleration, not general developers looking for a ready made encryption library.
An academic demo pairing a Windows PC and an Orange Pi board to show SM2/SM4 Chinese cryptography with hardware accelerated decryption on the Pi's chip.
Mainly Python. The stack also includes Python, gmssl, FastAPI.
No license information is given in the README, so terms of use are unclear.
Setup difficulty is rated moderate, with roughly 1h+ to a first successful run.
Mainly researcher.
This repo across BitVibe Labs
Verify against the repo before relying on details.