2013-01-12 2 views
3

암호가 있는데 그로부터 128 비트 또는 256 비트 WEP 키를 생성하려고합니다. 모든 포인터 또는 링크는 일반 텍스트에서 WEP 키를 생성하는 방법에 도움이됩니다.암호문을 128 비트/256 비트 WEP 키로 변환하는 방법은 무엇입니까?

+3

가 왜 ** 이제까지 ** WEP을 사용, 같이 나타납니다! 암호화가 전혀없는 것처럼 거의 안전하지 않습니다! 보안을 원한다면 ** 반드시 WPA를 사용해야합니다! – ThiefMaster

+0

두 가지가 있습니다 : ['(void *) 0'] (http://en.wikipedia.org/wiki/Cryptographic_hash_function). –

+2

@ ThiefMaster : OP는 그녀가 WEP를 사용하기를 원한다고 말하지 않았습니다. WEP ** 키 ** 만 만들고 싶습니다. –

답변

0

Key Derivation Functions으로 시작하십시오. 고품질 현대 KDF는 scrypt, bcryptPBKDF2입니다. 그들 모두는 오픈 소스 구현을 가지고있다.

PBKDF2의 경우 파생 된 키의 길이를 지정할 수 있습니다. scrypt의 경우 출력의 처음 N 비트를 선택하여 키로 사용할 수 있습니다.

KDF를 사용하지 않고이 작업을 수행하는 가장 간단한 방법은 패스 프레이즈를 24 비트 IV (초기화 벡터)로 연결하고 RC4 키를 형성하는 것입니다.

WEP는 키와 IV를 결합하여 데이터 스트림을 키 조작하는 RC4 스트림을 시드하도록주의하십시오. 이러한 이유로 WEP에는 적절한 데이터 기밀성을 제공 할 수없는 여러 가지 단점이 있습니다. Wikipedia page 링크를 따라 자세히 알아볼 수 있습니다.

파생 키로 암호화 해시를 사용하지 마십시오.

2

원한다면 원래 포스터가 답을 찾았으나이 정보를 찾은 사람은이 정보를 찾았습니다 SHOCKINGLY deprecated를 넘어서기가 어렵습니다. 반복적으로 언급했듯이,이 스레드와 다른 것들에서 WEP는 끔찍하게 안전하지 못합니다. 그러나 어떤 이유로 든 다른 사람이 직접 대답을 기꺼이주고 싶어하지 않으며 다른 것을 배우기위한 많은 제안이 있습니다.

원래 질문에 대한 128 비트 키는 64 바이트 문자열의 MD5 해시입니다. 이 64 바이트 문자열은 64 바이트에서 반복해서 반복되는 ASCII 암호 구문입니다. 예를 들어 SQL 서버에서는이

SELECT CAST(HASHBYTES('MD5', LEFT(REPLICATE(@phrase, CEILING(64.0/LEN(@phrase))), 64)) AS varbinary(13)) 
관련 문제