>  기사  >  백엔드 개발  >  DES, ECB 및 CBC 암호화 방법의 차이점은 무엇입니까?

DES, ECB 및 CBC 암호화 방법의 차이점은 무엇입니까?

醉折花枝作酒筹
醉折花枝作酒筹앞으로
2021-07-12 09:22:574104검색

PHP에는 DES, ECB, CBC 등 여러 가지 암호화 방법이 있는데, 오늘은 이 세 가지 암호화 방법의 차이점을 알아보겠습니다.

DES, ECB 및 CBC 암호화 방법의 차이점은 무엇입니까?

ECB 모드:

장점:

2. 병렬 컴퓨팅에 도움이 됩니다.

단점:

1. 일반 텍스트를 숨길 수 없습니다.

2. 일반 텍스트에 대한 능동 공격 가능

DES ECB(전자 비밀 장부 방식)는 실제로 매우 간단합니다. 즉, 8바이트 세그먼트를 얻기 위해 데이터를 8바이트 세그먼트로 암호화하거나 해독하는 것입니다. 또는 일반 텍스트인 경우 마지막 단락이 8바이트 미만(일반적으로 0 또는 F 추가), 계산 요구 사항(병렬 계산)에 따라 8바이트를 추가한 다음 계산된 데이터를 순서대로 연결하면 각 데이터 세그먼트는 영향을 미치지 않습니다. 서로.

CBC 모드:

장점: 1. ECB보다 보안이 뛰어나며 SSL 및 IPSec의 표준입니다.

1.

2. 오류 전파

3. 초기화 벡터 IV가 필요합니다.

DES CBC 모드

(암호문 그룹 연결 방법)은 암호화된 데이터 조각을 연결하는 데 약간의 문제가 있습니다. 구현 메커니즘은 다음과 같습니다.

암호화 단계는 다음과 같습니다.

1. 먼저 데이터를 8바이트 그룹으로 그룹화하여 D1D2...Dn을 얻습니다(데이터가 8의 정수 배수가 아닌 경우 다음을 사용합니다). 지정된 PADDING 데이터 패딩)

2. 첫 번째 데이터 세트 D1은 초기화 벡터 I와 XOR되고 결과는 DES 암호화되어 첫 번째 암호문 C1 세트를 얻습니다(초기화 벡터 I는 모두 0입니다)

3. 두 번째 데이터 세트 D2와 첫 번째 그룹의 암호화 결과 C1은 XOR되고 후속 결과는 DES 암호화되어 암호문 C2

4의 두 번째 그룹을 얻습니다. 후속 데이터는 Cn

5를 얻기 위해 유추할 수 있습니다. .순서대로 연결하면 C1C2C3.... .Cn이 암호화 결과입니다.

이것은 블록 암호의 작업 모드입니다. CBC는 암호 블록 체인 모드입니다. ECB는 코드북 모드입니다.

추천 학습:

php 비디오 튜토리얼

위 내용은 DES, ECB 및 CBC 암호화 방법의 차이점은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 csdn.net에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제