|
Update libsrtp to upstream 1.5.0
With this change, libsrtp can use OpenSSL crypto primitives, which is
enabled in the .gyp file if compiled against OpenSSL/BoringSSL. This
gives a nice speed improvement for SRTP as used by WebRTC. With my
test, relative CPU usage drops from ~36% each for SrtpProtect/-Unprotect
down to ~15% each.
I tried to not change the upstream code too much regarding code layout
(whitespaces, indent) while re-applying the Chromium changes.
Timings without the CL:
-------------------------------------------------------
$ ./out/Release/srtp_test_cipher_driver -t
cipher test driver
David A. McGrew
Cisco Systems, Inc.
timing null cipher throughput, key length 0:
msg len: 32 gigabits per second: 25.477707
msg len: 64 gigabits per second: 94.885100
msg len: 128 gigabits per second: 222.802437
msg len: 256 gigabits per second: 375.297783
msg len: 512 gigabits per second: 770.069562
msg len: 1024 gigabits per second: 1722.093757
msg len: 2048 gigabits per second: 3527.993109
timing aes integer counter mode throughput, key length 30:
msg len: 32 gigabits per second: 0.626706
msg len: 64 gigabits per second: 0.632999
msg len: 128 gigabits per second: 0.646651
msg len: 256 gigabits per second: 0.610196
msg len: 512 gigabits per second: 0.623500
msg len: 1024 gigabits per second: 0.648507
msg len: 2048 gigabits per second: 0.649695
timing aes integer counter mode throughput, key length 46:
msg len: 32 gigabits per second: 0.462445
msg len: 64 gigabits per second: 0.466739
msg len: 128 gigabits per second: 0.445170
msg len: 256 gigabits per second: 0.436243
msg len: 512 gigabits per second: 0.465987
msg len: 1024 gigabits per second: 0.472398
msg len: 2048 gigabits per second: 0.474392
Timings with the CL:
-------------------------------------------------------
$ ./out/Release/srtp_test_cipher_driver -t
cipher test driver
David A. McGrew
Cisco Systems, Inc.
timing null cipher throughput, key length 0:
msg len: 32 gigabits per second: 21.317345
msg len: 64 gigabits per second: 105.155063
msg len: 128 gigabits per second: 232.252211
msg len: 256 gigabits per second: 427.022519
msg len: 512 gigabits per second: 840.032814
msg len: 1024 gigabits per second: 1907.334109
msg len: 2048 gigabits per second: 3803.156917
timing AES-128 counter mode using openssl throughput, key length 30:
msg len: 32 gigabits per second: 0.406409
msg len: 64 gigabits per second: 0.520612
msg len: 128 gigabits per second: 1.563435
msg len: 256 gigabits per second: 2.044086
msg len: 512 gigabits per second: 2.457887
msg len: 1024 gigabits per second: 2.688393
msg len: 2048 gigabits per second: 2.807566
timing AES-256 counter mode using openssl throughput, key length 46:
msg len: 32 gigabits per second: 0.320314
msg len: 64 gigabits per second: 0.392381
msg len: 128 gigabits per second: 1.230553
msg len: 256 gigabits per second: 1.561504
msg len: 512 gigabits per second: 1.834276
msg len: 1024 gigabits per second: 2.010586
msg len: 2048 gigabits per second: 2.109853
timing AES-128 GCM using openssl throughput, key length 28:
msg len: 32 gigabits per second: 0.187080
msg len: 64 gigabits per second: 0.283558
msg len: 128 gigabits per second: 0.650450
msg len: 256 gigabits per second: 0.900447
msg len: 512 gigabits per second: 1.109531
msg len: 1024 gigabits per second: 1.253113
msg len: 2048 gigabits per second: 1.268890
timing AES-256 GCM using openssl throughput, key length 44:
msg len: 32 gigabits per second: 0.126774
msg len: 64 gigabits per second: 0.169385
msg len: 128 gigabits per second: 0.370561
msg len: 256 gigabits per second: 0.534079
msg len: 512 gigabits per second: 0.683315
msg len: 1024 gigabits per second: 0.779735
msg len: 2048 gigabits per second: 0.824227
BUG= 328475
Total comments: 1
|
Unified diffs |
Side-by-side diffs |
Delta from patch set |
Stats (+5235 lines, -1753 lines) |
Patch |
|
M |
README.chromium
|
View
|
1
2
3
4
|
2 chunks |
+10 lines, -7 lines |
0 comments
|
Download
|
|
M |
config/config.h
|
View
|
1
2
3
4
|
1 chunk |
+10 lines, -2 lines |
0 comments
|
Download
|
|
M |
libsrtp.gyp
|
View
|
1
2
3
4
|
8 chunks |
+55 lines, -4 lines |
0 comments
|
Download
|
|
D |
srtp/.cvsignore
|
View
|
|
1 chunk |
+0 lines, -7 lines |
0 comments
|
Download
|
|
A |
srtp/.gitignore
|
View
|
1
2
3
4
|
1 chunk |
+48 lines, -0 lines |
0 comments
|
Download
|
|
M |
srtp/CHANGES
|
View
|
1
2
3
4
|
1 chunk |
+44 lines, -0 lines |
0 comments
|
Download
|
|
D |
srtp/Makefile
|
View
|
1
2
3
4
|
1 chunk |
+0 lines, -237 lines |
0 comments
|
Download
|
|
M |
srtp/Makefile.in
|
View
|
1
2
3
4
|
11 chunks |
+91 lines, -20 lines |
0 comments
|
Download
|
|
M |
srtp/README
|
View
|
1
2
3
4
|
6 chunks |
+14 lines, -6 lines |
0 comments
|
Download
|
|
M |
srtp/VERSION
|
View
|
1
2
3
4
|
1 chunk |
+1 line, -1 line |
0 comments
|
Download
|
|
D |
srtp/crypto/Makefile
|
View
|
1
2
3
4
|
1 chunk |
+0 lines, -137 lines |
0 comments
|
Download
|
|
M |
srtp/crypto/Makefile.in
|
View
|
1
2
3
4
|
4 chunks |
+14 lines, -40 lines |
0 comments
|
Download
|
|
M |
srtp/crypto/ae_xfm/xfm.c
|
View
|
1
2
3
4
|
1 chunk |
+0 lines, -605 lines |
0 comments
|
Download
|
|
M |
srtp/crypto/cipher/aes.c
|
View
|
1
2
3
4
|
19 chunks |
+106 lines, -21 lines |
0 comments
|
Download
|
|
M |
srtp/crypto/cipher/aes_cbc.c
|
View
|
1
2
3
4
|
10 chunks |
+46 lines, -21 lines |
0 comments
|
Download
|
|
A |
srtp/crypto/cipher/aes_gcm_ossl.c
|
View
|
1
2
3
4
|
1 chunk |
+570 lines, -0 lines |
0 comments
|
Download
|
|
M |
srtp/crypto/cipher/aes_icm.c
|
View
|
1
2
3
4
|
12 chunks |
+44 lines, -18 lines |
0 comments
|
Download
|
|
A |
srtp/crypto/cipher/aes_icm_ossl.c
|
View
|
1
2
3
4
|
1 chunk |
+563 lines, -0 lines |
0 comments
|
Download
|
|
M |
srtp/crypto/cipher/cipher.c
|
View
|
1
|
15 chunks |
+105 lines, -14 lines |
0 comments
|
Download
|
|
M |
srtp/crypto/cipher/null_cipher.c
|
View
|
1
|
6 chunks |
+12 lines, -2 lines |
0 comments
|
Download
|
|
M |
srtp/crypto/hash/auth.c
|
View
|
1
|
1 chunk |
+4 lines, -0 lines |
0 comments
|
Download
|
|
M |
srtp/crypto/hash/hmac.c
|
View
|
1
|
1 chunk |
+4 lines, -0 lines |
0 comments
|
Download
|
|
A |
srtp/crypto/hash/hmac_ossl.c
|
View
|
1
2
3
4
|
1 chunk |
+302 lines, -0 lines |
0 comments
|
Download
|
|
M |
srtp/crypto/hash/null_auth.c
|
View
|
1
|
1 chunk |
+3 lines, -0 lines |
0 comments
|
Download
|
|
M |
srtp/crypto/hash/sha1.c
|
View
|
1
|
1 chunk |
+3 lines, -0 lines |
0 comments
|
Download
|
|
M |
srtp/crypto/include/aes.h
|
View
|
1
|
1 chunk |
+0 lines, -2 lines |
0 comments
|
Download
|
|
M |
srtp/crypto/include/aes_cbc.h
|
View
|
1
2
3
4
|
3 chunks |
+5 lines, -2 lines |
0 comments
|
Download
|
|
A + |
srtp/crypto/include/aes_gcm_ossl.h
|
View
|
|
2 chunks |
+19 lines, -13 lines |
0 comments
|
Download
|
|
M |
srtp/crypto/include/aes_icm.h
|
View
|
1
2
3
4
|
4 chunks |
+6 lines, -2 lines |
0 comments
|
Download
|
|
A + |
srtp/crypto/include/aes_icm_ossl.h
|
View
|
1
2
3
4
|
2 chunks |
+35 lines, -42 lines |
0 comments
|
Download
|
|
M |
srtp/crypto/include/cipher.h
|
View
|
|
7 chunks |
+36 lines, -12 lines |
0 comments
|
Download
|
|
M |
srtp/crypto/include/crypto.h
|
View
|
1
2
3
4
|
1 chunk |
+1 line, -0 lines |
0 comments
|
Download
|
|
M |
srtp/crypto/include/crypto_kernel.h
|
View
|
|
1 chunk |
+2 lines, -1 line |
0 comments
|
Download
|
|
M |
srtp/crypto/include/crypto_types.h
|
View
|
|
2 chunks |
+29 lines, -1 line |
0 comments
|
Download
|
|
M |
srtp/crypto/include/datatypes.h
|
View
|
1
2
3
4
|
6 chunks |
+13 lines, -4 lines |
0 comments
|
Download
|
|
M |
srtp/crypto/include/err.h
|
View
|
1
2
3
4
|
5 chunks |
+6 lines, -5 lines |
0 comments
|
Download
|
|
M |
srtp/crypto/include/hmac.h
|
View
|
|
2 chunks |
+5 lines, -1 line |
0 comments
|
Download
|
|
M |
srtp/crypto/include/integers.h
|
View
|
1
|
3 chunks |
+2 lines, -3 lines |
0 comments
|
Download
|
|
M |
srtp/crypto/include/kernel_compat.h
|
View
|
1
3
4
|
1 chunk |
+1 line, -1 line |
0 comments
|
Download
|
|
M |
srtp/crypto/include/prng.h
|
View
|
1
2
3
4
|
2 chunks |
+6 lines, -0 lines |
0 comments
|
Download
|
|
M |
srtp/crypto/include/rdb.h
|
View
|
1
2
3
4
|
2 chunks |
+2 lines, -1 line |
0 comments
|
Download
|
|
M |
srtp/crypto/include/rdbx.h
|
View
|
1
2
3
4
|
1 chunk |
+1 line, -0 lines |
0 comments
|
Download
|
|
M |
srtp/crypto/include/sha1.h
|
View
|
1
2
3
4
|
2 chunks |
+40 lines, -0 lines |
0 comments
|
Download
|
|
M |
srtp/crypto/include/xfm.h
|
View
|
1
2
3
4
|
1 chunk |
+1 line, -0 lines |
0 comments
|
Download
|
|
M |
srtp/crypto/kernel/alloc.c
|
View
|
1
2
3
4
|
3 chunks |
+9 lines, -3 lines |
0 comments
|
Download
|
|
M |
srtp/crypto/kernel/crypto_kernel.c
|
View
|
1
3
4
|
10 chunks |
+31 lines, -4 lines |
0 comments
|
Download
|
|
M |
srtp/crypto/kernel/err.c
|
View
|
1
2
3
4
|
4 chunks |
+7 lines, -3 lines |
0 comments
|
Download
|
|
M |
srtp/crypto/kernel/key.c
|
View
|
1
|
1 chunk |
+4 lines, -0 lines |
0 comments
|
Download
|
|
M |
srtp/crypto/math/datatypes.c
|
View
|
1
2
3
4
|
3 chunks |
+36 lines, -185 lines |
0 comments
|
Download
|
|
M |
srtp/crypto/math/gf2_8.c
|
View
|
1
|
1 chunk |
+4 lines, -0 lines |
0 comments
|
Download
|
|
M |
srtp/crypto/math/math.c
|
View
|
1
3
4
|
2 chunks |
+5 lines, -1 line |
0 comments
|
Download
|
|
M |
srtp/crypto/math/stat.c
|
View
|
1
2
3
4
|
2 chunks |
+5 lines, -0 lines |
0 comments
|
Download
|
|
M |
srtp/crypto/replay/rdb.c
|
View
|
1
|
1 chunk |
+4 lines, -0 lines |
0 comments
|
Download
|
|
M |
srtp/crypto/replay/rdbx.c
|
View
|
1
|
1 chunk |
+4 lines, -0 lines |
0 comments
|
Download
|
|
M |
srtp/crypto/replay/ut_sim.c
|
View
|
1
|
1 chunk |
+4 lines, -0 lines |
0 comments
|
Download
|
|
M |
srtp/crypto/rng/ctr_prng.c
|
View
|
1
|
3 chunks |
+9 lines, -3 lines |
0 comments
|
Download
|
|
M |
srtp/crypto/rng/prng.c
|
View
|
1
|
1 chunk |
+4 lines, -0 lines |
0 comments
|
Download
|
|
A + |
srtp/crypto/rng/rand_source_ossl.c
|
View
|
1
|
2 chunks |
+32 lines, -19 lines |
0 comments
|
Download
|
|
M |
srtp/crypto/test/aes_calc.c
|
View
|
1
2
3
4
|
3 chunks |
+6 lines, -1 line |
0 comments
|
Download
|
|
M |
srtp/crypto/test/cipher_driver.c
|
View
|
1
2
3
4
|
13 chunks |
+102 lines, -14 lines |
0 comments
|
Download
|
|
M |
srtp/crypto/test/datatypes_driver.c
|
View
|
1
|
1 chunk |
+4 lines, -0 lines |
0 comments
|
Download
|
|
M |
srtp/crypto/test/env.c
|
View
|
|
3 chunks |
+4 lines, -0 lines |
0 comments
|
Download
|
|
M |
srtp/crypto/test/kernel_driver.c
|
View
|
1
|
1 chunk |
+4 lines, -0 lines |
0 comments
|
Download
|
|
M |
srtp/crypto/test/rand_gen.c
|
View
|
1
|
1 chunk |
+4 lines, -0 lines |
0 comments
|
Download
|
|
A + |
srtp/crypto/test/rand_gen_soak.c
|
View
|
1
2
3
4
|
2 chunks |
+64 lines, -73 lines |
0 comments
|
Download
|
|
M |
srtp/crypto/test/sha1_driver.c
|
View
|
1
|
1 chunk |
+6 lines, -0 lines |
0 comments
|
Download
|
|
M |
srtp/crypto/test/stat_driver.c
|
View
|
1
2
3
4
|
7 chunks |
+81 lines, -9 lines |
0 comments
|
Download
|
|
D |
srtp/doc/Makefile
|
View
|
1
2
3
4
|
1 chunk |
+0 lines, -44 lines |
0 comments
|
Download
|
|
A |
srtp/doc/libsrtp.pdf
|
View
|
|
Binary file |
0 comments
|
Download
|
|
M |
srtp/include/srtp.h
|
View
|
1
2
3
4
|
9 chunks |
+264 lines, -4 lines |
0 comments
|
Download
|
|
M |
srtp/include/srtp_priv.h
|
View
|
1
|
4 chunks |
+14 lines, -1 line |
0 comments
|
Download
|
|
M |
srtp/install-win.bat
|
View
|
1
2
3
4
|
1 chunk |
+31 lines, -31 lines |
0 comments
|
Download
|
|
M |
srtp/srtp.def
|
View
|
|
1 chunk |
+0 lines, -1 line |
0 comments
|
Download
|
|
M |
srtp/srtp/ekt.c
|
View
|
1
3
4
|
7 chunks |
+7 lines, -6 lines |
0 comments
|
Download
|
|
M |
srtp/srtp/srtp.c
|
View
|
1
2
3
4
|
46 chunks |
+1083 lines, -56 lines |
0 comments
|
Download
|
|
M |
srtp/tables/aes_tables.c
|
View
|
1
|
1 chunk |
+4 lines, -0 lines |
0 comments
|
Download
|
|
M |
srtp/test/lfsr.c
|
View
|
1
2
3
4
|
2 chunks |
+5 lines, -5 lines |
0 comments
|
Download
|
|
M |
srtp/test/rdbx_driver.c
|
View
|
1
|
1 chunk |
+4 lines, -0 lines |
0 comments
|
Download
|
|
M |
srtp/test/replay_driver.c
|
View
|
1
|
1 chunk |
+4 lines, -0 lines |
0 comments
|
Download
|
|
M |
srtp/test/roc_driver.c
|
View
|
1
|
1 chunk |
+4 lines, -0 lines |
0 comments
|
Download
|
|
M |
srtp/test/rtp.c
|
View
|
1
2
3
4
|
2 chunks |
+1 line, -1 line |
0 comments
|
Download
|
|
A + |
srtp/test/rtp_decoder.h
|
View
|
1
2
3
4
|
2 chunks |
+69 lines, -24 lines |
0 comments
|
Download
|
|
A |
srtp/test/rtp_decoder.c
|
View
|
1
2
3
4
|
1 chunk |
+515 lines, -0 lines |
0 comments
|
Download
|
|
M |
srtp/test/rtpw.c
|
View
|
1
2
3
4
|
10 chunks |
+123 lines, -19 lines |
0 comments
|
Download
|
|
M |
srtp/test/rtpw_test.sh
|
View
|
1
2
3
4
|
3 chunks |
+53 lines, -2 lines |
0 comments
|
Download
|
|
A |
srtp/test/rtpw_test_gcm.sh
|
View
|
1
2
3
4
|
1 chunk |
+237 lines, -0 lines |
0 comments
|
Download
|
|
M |
srtp/test/srtp_driver.c
|
View
|
|
8 chunks |
+125 lines, -12 lines |
0 comments
|
Download
|
Total messages: 28 (6 generated)
|