You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository has been archived by the owner on Apr 24, 2022. It is now read-only.
RC4 have a very simple algorithm and can be implemented in just few lines of code. According to my test, we only need the EVP_BytesToKey(3) to make password derivation. It seems that EVP_BytesToKey(3) is using PKCS#5 v1.5 so it's possible just implement this algorithm and throw openssl dependency away.
In my encrypt.c , I just used EVP_BytesToKey(3) to do derivation. After that I used a rc4 implementation I found in OpenBSD Directory and it's working very well.
The text was updated successfully, but these errors were encountered:
After some investigation, I found that the call to EVP_BytesToKey(3) in shadowsocks-libuv simply creates a md5 sum from the password. I've confirmed this with supporting RC4 encryption in shadowsocks-go and made it compatible with both the libuv and nodejs port.
It's easy to find a md5 implementation in C, but license issues need to be considered. Here's one implementation used in cups that maybe used.
@clowwindy @madeye
RC4 have a very simple algorithm and can be implemented in just few lines of code. According to my test, we only need the
EVP_BytesToKey(3)
to make password derivation. It seems thatEVP_BytesToKey(3)
is using PKCS#5 v1.5 so it's possible just implement this algorithm and throw openssl dependency away.In my
encrypt.c
, I just usedEVP_BytesToKey(3)
to do derivation. After that I used a rc4 implementation I found inOpenBSD Directory
and it's working very well.The text was updated successfully, but these errors were encountered: