-
Notifications
You must be signed in to change notification settings - Fork 59
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Add: PoC of video frames encryption using AES-CTR
This PoC demonstrates the use of AES-CTR encryption of video frames transmitted between the Tx and Rx sessions. It shows that video frames can be treated as binary blobs that could be encrypted. The PoC uses https://github.com/intel/intel-ipsec-mb for the AES-CTR encryption. Sample file can be generated with: ``` ffmpeg -an -y -f lavfi -i \ testsrc=d=5:s=1920x1080:r=25,format=yuv422p10be -f rawvideo \ /tmp/yuv422p10le.yuv ``` To run PoC: ``` ./tests/tools/RxTxApp/build/RxTxApp --config_file \ config/tx-rx-encryption.json --test_time=10 ``` RxTxApp sends the input file in a loop, the output file can have data from the input file written to in multiple times. known issues: - There is no key exchange mechanism implemented in this PoC, the key is hardcoded in the code. - Transport format has to be the same as the input format. Mismatch causes corruption of the data - It works only for uncompressed video formats. (not for SMPTE 2110-22) - Everything is done in an application instead of in the library
- Loading branch information
Showing
5 changed files
with
192 additions
and
3 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,84 @@ | ||
{ | ||
"tx_no_chain": false, | ||
"interfaces": [ | ||
{ | ||
"name": "0000:4b:01.0", | ||
"ip": "192.168.17.101" | ||
}, | ||
{ | ||
"name": "0000:4b:01.1", | ||
"ip": "192.168.17.102" | ||
} | ||
], | ||
"tx_sessions": [ | ||
{ | ||
"dip": [ | ||
"192.168.17.102" | ||
], | ||
"interface": [ | ||
0 | ||
], | ||
"video": [], | ||
"st20p": [ | ||
{ | ||
"replicas": 1, | ||
"start_port": 20000, | ||
"payload_type": 112, | ||
"width": 1920, | ||
"height": 1080, | ||
"fps": "p25", | ||
"interlaced": false, | ||
"device": "AUTO", | ||
"pacing": "gap", | ||
"packing": "BPM", | ||
"input_format": "YUV422RFC4175PG2BE10", | ||
"transport_format": "YUV_422_10bit", | ||
"st20p_url": "/tmp/yuv422p10be.yuv", | ||
"display": false, | ||
"enable_rtcp": false | ||
} | ||
], | ||
"st22p": [], | ||
"st30p": [], | ||
"audio": [], | ||
"ancillary": [], | ||
"fastmetadata": [] | ||
} | ||
], | ||
"rx_sessions": [ | ||
{ | ||
"ip": [ | ||
"192.168.17.101" | ||
], | ||
"interface": [ | ||
1 | ||
], | ||
"video": [], | ||
"st20p": [ | ||
{ | ||
"replicas": 1, | ||
"start_port": 20000, | ||
"payload_type": 112, | ||
"width": 1920, | ||
"height": 1080, | ||
"fps": "p25", | ||
"interlaced": false, | ||
"device": "AUTO", | ||
"pacing": "gap", | ||
"packing": "BPM", | ||
"output_format": "YUV422RFC4175PG2BE10", | ||
"transport_format": "YUV_422_10bit", | ||
"measure_latency": false, | ||
"display": false, | ||
"enable_rtcp": false, | ||
"st20p_url": "/tmp/out.yuv" | ||
} | ||
], | ||
"st22p": [], | ||
"st30p": [], | ||
"audio": [], | ||
"ancillary": [], | ||
"fastmetadata": [] | ||
} | ||
] | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters