2013-11-01 4 views
1

기본적으로 제목이 말합니다. 암호가 있다면 "APPLEPIE"라고 말하면서 RC4 때 키로 "APPLEPIE"를 사용하는 것이 안전합니까? 키와 일반 텍스트를 알고 있거나 짧고 같을 때 RC4 암호화를 깨는 것이 가능합니까?RC4 평문을 암호화하는 데 안전하도록 평문을 사용하는 것이 안전합니까?

+0

그리고 어떻게 해독하겠습니까? –

+0

두 번째 문장을 이해할 수 없지만 키를 알고 있으면 "RC4 암호화를 깨뜨릴만한 이유가 거의 없습니다." –

+0

@GregS PIC 칩에 액세스하기위한 것과 같은 방식으로 이해할 수 없습니다. 위의 예와 같은 암호가 있는데, 그 다음 RC4는 비밀 번호 자체 : 예 : messtoEncrypt = toArray ("MyPassword") key = toArray ("MyPassword") rc4 = 새로운 ARC4 (키); rc4.encrypt (messtoEncrypt); base64String = messtoEncrypt –

답변

2

PBKDF2과 같은 키 생성 알고리즘으로 처리해야합니다. 암호 검증에 적합한 방식으로 암호의 해시를 안전하게 생성 할 수 있습니다 (내가 수행중인 것으로 가정합니다).

RC4가 이러한 방식으로 안전 할 수있는 시스템을 생성 할 수 있지만 (좋은 KDF (예 : PBKDF2)를 사용하여 암호를 RC4 키로 변환 한 다음 임의의 nonce를 생성 함), 이것은 무의미한 오버 헤드. 동일한 수준의 보안을 위해 최종 암호문을 훨씬 길게 작성하면 생성 시간이 오래 걸립니다. 마지막으로 매우 복잡한 보안 해시 함수를 만들었습니다 (첫 번째 단계는 "어쨌든해야 할 유일한 작업을 수행하는 것입니다.) 그리고 아마도 실수를 저질러 시스템을 불안정하게 만들었을 것입니다 RC4는 올바르게 작동하는 데 까다로울 수 있으며 관련 키 공격을 알고 있으므로 WEP가 깨졌습니다.

+0

답장을 보내 주셔서 감사합니다. 이것은 안전한 장소에있을 것이므로 암호화가 완벽 할 필요는 없습니다. 나는 RC4를 사용하는 것이 내가 언급 한 방식의 약점이 어디 있는지를 알고 궁금해했다. 그곳에서 키와 평문을 아는 평문을 찾을 수있다. 위의 의사 코드를 참조하십시오. –

+0

RC4를 어떻게 사용하고 있는지에 따라 다릅니다. RC4를 올바르게 사용하면 아니오, 합리적으로 보호됩니다. 그러나 RC4를 올바르게 사용하면 매우 복잡한 솔루션입니다. 당신이해야 할 첫 번째 단계는 KDF (PBKDF2와 같은)를 실행하는 것입니다. 그 시점에서 목표를 달성했습니다. 이 시점에서 RC4를 추가하면 시스템 보안 만 저하 될 수 있습니다. KDF를 건너 뛰고 대신 RC4를 잘못 사용하면 예,이 시스템은 보안이 좋지 않습니다. 암호를 자체로 암호화한다는 사실만으로도 암호가 더 나빠지지만 그 경우에도 안전하지 않습니다. –

+0

완전하게하기 위해 RC4를 사용하면 간단한 솔루션보다 안전성이 떨어집니다. 이 방법으로 암호화 알고리즘을 사용할 수는 없지만 암호화 알고리즘의 경우 RC4는 관련 키 공격이 잘 알려져있어 특히 나쁜 선택입니다. 암호 해시를 원합니다. 해시 알고리즘을 사용하십시오. 나는이 목적을 위해 PBKDF2를 추천한다. –