3DES 소개 :
3DES (또는 Triple DE)는 트리플 데이터 암호화 알고리즘의 블록 암호에 대한 일반적인 용어입니다. DES 암호화 알고리즘을 각 데이터 블록에 세 번 적용하는 것과 같습니다. 컴퓨터의 컴퓨팅 전력이 향상되면 원래 DES 암호의 핵심 길이가 쉽게 무차별대로가되었습니다. 3DES는 새로운 블록 암호 알고리즘을 설계하는 대신 DES의 키 길이를 증가시켜 유사한 공격을 피하기 위해 비교적 간단한 방법을 제공하도록 설계되었습니다.
오늘은 클라이언트 측에서 DES를 구현해야합니다. http://www.tero.co.uk/des/code.php를 빨리 찾았습니다
응용 프로그램 예
var key = "이것은 24 바이트 키 !!"; var 메시지 = "이것은 테스트 메시지입니다"; var ciphertext = des (key, message, 1, 0); docum
물론 이것은 우리가 필요로하는 것이 아니라는 것이 밝혀졌습니다. 우리의 서버는 des-ed를 사용합니다.
여기에는 3DES를지지하는 작은 구덩이가 있습니다
// 몇 개의 반복 (1의 경우 1, 트리플 DE의 경우 3) var 반복 = key.length> 8? 3 : 1; // 2007 년 16/6/2007에 의해 변경되었습니다.
그러나 키를 사용하는 데 작은 오류가 있습니다.
비트가 64 비트 인 경우 DES의 긍정적 인 솔루션이지만 3DES는 128 비트 또는 192 비트 일 수 있습니다.
3DES 프로세스는 en (k3, de (k2, en (k1, p)))입니다.
K1 = K3 인 경우 단순화 된 128 비트 키를 사용할 수 있습니다.
Key = "K1K1K1K1K2K2K2K2K2"실제로 K1K1K1K1K1K2K2K2K2K2K1K1K1K1과 동일해야합니다. 저자는 그것을 구현하지 않았습니다
다른 하나는 패딩 모드입니다. 요컨대, 블록 암호화는 공간이 부족한 공간을 어떻게 채워야합니까? 아래는 소스 코드입니다
if (padding == 2) 메시지 += ""; // spaceselse if (padding == 1) {temp = 8- (len%8); message += string.fromcharcode (온도, 온도, 온도, 온도, 온도, 온도, 온도, 온도); if (temp == 8) len += 8;} // pkcs7 paddingelse if (! padding) 메시지 += "/0/0/0/0/0/0/0/0/0/0"; // 메시지를 null 바이트로 패드합니다이제 PKCS5/7이 일반적으로 사용됩니다
전화 할 때이 두 지점에주의를 기울이십시오. 실제로 Des-ed가 구현됩니다.
예
var key = "B964B7C58E99B59" + "B964B7C5"; var Message = "이것은 테스트 메시지입니다"; var ciphertext = des (key, message, 1, 0,0,1); document.writeln ( "<br/ des3 test :" + stringtoHex (ciperText));
위는 편집자가 귀하에게 소개 한 JavaScript의 3DES입니다. 나는 그것이 당신에게 도움이되기를 바랍니다. 궁금한 점이 있으면 메시지를 남겨 주시면 편집자가 제 시간에 답장을 드리겠습니다. Wulin.com 웹 사이트를 지원해 주셔서 대단히 감사합니다!