Replies: 2 comments 2 replies
-
No it's the opposite. RC4-MD5 is not a "lightweight" algorithm. It's even heavier. Just look at the benchmarks: RC4 only (not even with MD5): $ openssl speed -evp rc4
Doing rc4 for 3s on 16 size blocks: 83891022 rc4's in 2.97s
Doing rc4 for 3s on 64 size blocks: 27529595 rc4's in 2.99s
Doing rc4 for 3s on 256 size blocks: 6078464 rc4's in 2.97s
Doing rc4 for 3s on 1024 size blocks: 1455351 rc4's in 2.99s
Doing rc4 for 3s on 8192 size blocks: 179130 rc4's in 2.99s
Doing rc4 for 3s on 16384 size blocks: 89836 rc4's in 2.99s
OpenSSL 1.1.1k 25 Mar 2021
built on: Thu Mar 25 16:27:51 2021 UTC
options:bn(64,64) rc4(16x,int) des(int) aes(partial) idea(int) blowfish(ptr)
compiler: gcc -fPIC -pthread -m64 -Wa,--noexecstack -march=x86-64 -mtune=generic -O2 -pipe -fno-plt -Wa,--noexecstack -D_FORTIFY_SOURCE=2 -march=x86-64 -mtune=generic -O2 -pipe -fno-plt -Wl,-O1,--sort-common,--as-needed,-z,relro,-z,now -DOPENSSL_USE_NODELETE -DL_ENDIAN -DOPENSSL_PIC -DOPENSSL_CPUID_OBJ -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DKECCAK1600_ASM -DRC4_ASM -DMD5_ASM -DAESNI_ASM -DVPAES_ASM -DGHASH_ASM -DECP_NISTZ256_ASM -DX25519_ASM -DPOLY1305_ASM -DNDEBUG -D_FORTIFY_SOURCE=2
The 'numbers' are in 1000s of bytes per second processed.
type 16 bytes 64 bytes 256 bytes 1024 bytes 8192 bytes 16384 bytes
rc4 451938.17k 589262.23k 523934.94k 498421.21k 490780.25k 492265.23k AES-128-GCM: $ openssl speed -evp aes-128-gcm
Doing aes-128-gcm for 3s on 16 size blocks: 71139334 aes-128-gcm's in 2.99s
Doing aes-128-gcm for 3s on 64 size blocks: 48905875 aes-128-gcm's in 2.99s
Doing aes-128-gcm for 3s on 256 size blocks: 25509250 aes-128-gcm's in 2.99s
Doing aes-128-gcm for 3s on 1024 size blocks: 10234633 aes-128-gcm's in 2.98s
Doing aes-128-gcm for 3s on 8192 size blocks: 1667890 aes-128-gcm's in 2.99s
Doing aes-128-gcm for 3s on 16384 size blocks: 857914 aes-128-gcm's in 2.98s
OpenSSL 1.1.1k 25 Mar 2021
built on: Thu Mar 25 16:27:51 2021 UTC
options:bn(64,64) rc4(16x,int) des(int) aes(partial) idea(int) blowfish(ptr)
compiler: gcc -fPIC -pthread -m64 -Wa,--noexecstack -march=x86-64 -mtune=generic -O2 -pipe -fno-plt -Wa,--noexecstack -D_FORTIFY_SOURCE=2 -march=x86-64 -mtune=generic -O2 -pipe -fno-plt -Wl,-O1,--sort-common,--as-needed,-z,relro,-z,now -DOPENSSL_USE_NODELETE -DL_ENDIAN -DOPENSSL_PIC -DOPENSSL_CPUID_OBJ -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DKECCAK1600_ASM -DRC4_ASM -DMD5_ASM -DAESNI_ASM -DVPAES_ASM -DGHASH_ASM -DECP_NISTZ256_ASM -DX25519_ASM -DPOLY1305_ASM -DNDEBUG -D_FORTIFY_SOURCE=2
The 'numbers' are in 1000s of bytes per second processed.
type 16 bytes 64 bytes 256 bytes 1024 bytes 8192 bytes 16384 bytes
aes-128-gcm 380678.71k 1046814.72k 2184069.57k 3516867.18k 4569683.91k 4716799.66k CHACHA20-POLY1305: $ openssl speed -evp chacha20-poly1305
Doing chacha20-poly1305 for 3s on 16 size blocks: 44427057 chacha20-poly1305's in 2.97s
Doing chacha20-poly1305 for 3s on 64 size blocks: 21586957 chacha20-poly1305's in 3.00s
Doing chacha20-poly1305 for 3s on 256 size blocks: 11004779 chacha20-poly1305's in 2.97s
Doing chacha20-poly1305 for 3s on 1024 size blocks: 5006731 chacha20-poly1305's in 3.00s
Doing chacha20-poly1305 for 3s on 8192 size blocks: 658500 chacha20-poly1305's in 2.98s
Doing chacha20-poly1305 for 3s on 16384 size blocks: 334464 chacha20-poly1305's in 3.00s
OpenSSL 1.1.1k 25 Mar 2021
built on: Thu Mar 25 16:27:51 2021 UTC
options:bn(64,64) rc4(16x,int) des(int) aes(partial) idea(int) blowfish(ptr)
compiler: gcc -fPIC -pthread -m64 -Wa,--noexecstack -march=x86-64 -mtune=generic -O2 -pipe -fno-plt -Wa,--noexecstack -D_FORTIFY_SOURCE=2 -march=x86-64 -mtune=generic -O2 -pipe -fno-plt -Wl,-O1,--sort-common,--as-needed,-z,relro,-z,now -DOPENSSL_USE_NODELETE -DL_ENDIAN -DOPENSSL_PIC -DOPENSSL_CPUID_OBJ -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DKECCAK1600_ASM -DRC4_ASM -DMD5_ASM -DAESNI_ASM -DVPAES_ASM -DGHASH_ASM -DECP_NISTZ256_ASM -DX25519_ASM -DPOLY1305_ASM -DNDEBUG -D_FORTIFY_SOURCE=2
The 'numbers' are in 1000s of bytes per second processed.
type 16 bytes 64 bytes 256 bytes 1024 bytes 8192 bytes 16384 bytes
chacha20-poly1305 239337.68k 460521.75k 948560.08k 1708964.18k 1810212.08k 1826619.39k The data speak. |
Beta Was this translation helpful? Give feedback.
2 replies
-
This makes no sense at all. Locking as duplicate of #3071. |
Beta Was this translation helpful? Give feedback.
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
I know rc4-md5 cypher has been abandoned as far as not secure, but there are many of us lucky enough not to need to drill a hole through the tough Chinese Firewall, but just to bypass very light blocks mostly geographical block for streaming website or port related blocks (most of the free wifi allow only port 80 and 443)
In all of these cases RC4-MD5 is enough, and we can take advantage of its small overhead to get the highest throughput from slow cpus (like home routers or maybe the added docker or dedicate vm on a low cpu home server).
If the cyphers support of the client would support to be extended via modules...it would satisfy all of us and even allow to add upcoming experimental cyphers support without changing the core of the program
Beta Was this translation helpful? Give feedback.
All reactions