자바 암호화 알고리즘 - 작업의 대칭 암호화 모드

대칭 암호화는 암호화 스트림 및 블록 암호들로 분할된다.
암호라고도 암호화 블록 (블록 cyphers), 평문의 첫 번째 블록이 암호화된다. 소정 비트 길이의 평문 패킷, 평문 동작 기 암호문 암호화, 그룹 암호문 복호 (암호 동작의 역 동작), 평문기를 통과한다.
스트림 암호라고도 암호화 스트림 (스트림 cyphers), 평문의 비트 암호화. 이 평문의 비트 스트림을 암호화하기위한 의사 - 랜덤 비트 스트림의 다수를 생성하는 어떤 복잡한 작업에 의해 소량의 키 (임의의 소자 제조) (암호화 알고리즘)을 지칭한다.
동일한 키 및 암호화 알고리즘과 같은 암호화 된 의사 - 랜덤 비트 스트림과 평문의 비트 스트림 감소를 이용한 복호화 방법.

블록 암호,이 ECB, CBC, CFB, OFB 모드되는 이러한 알고리즘.


1) ECB (전자 코드 도서) / 코드북 모드

이 ECB (전자 밀도 본 실시 예) 8/16 기간 또는 바이트 기간 평문 또는 암호문을 해독 8/16 절에 따라 암호화 된 데이터이고, 매우 간단 바이트의 마지막 단락 디맨드 미만이다 8/16 8/16 바이트 보수를 계산하고 계산 된 데이터의 순서가 동시에 연결되고 각각의 데이터 세그먼트 수있다.

장점 :

병렬 연산에 도움 1. 단순 에러를 송신하지 않은

단점 :
1. 일반 텍스트 모드에서 숨길 수 없습니다
2. 가능한 이니셔티브 평문 공격

 

2) CBC (암호 블록 체인) / 암호문 체인

CBC는 (암호 블록 연쇄 모드) 사이의 링크가 실현기구 암호화 된 데이터 세그먼트를 만든다. 다음과 같이 구현의 메커니즘은 다음과 같습니다

다음 단계를 암호화 :

데이터가 지정된 데이터 PADDING 채움 비트 8의 정수 배가 아닌 경우 1) 8/16 패킷의 집합에 따라 데이터의 첫번째 바이트) D1D2 ...... 내지 Dn (수득

2) 초기 벡터 데이터 후 결과들의 제 1 세트 D1 XOR I는 암호문 C1의 제 1 세트를 암호화 한

3) 암호화 된 암호화 결과들의 제 1 세트 이후에 데이터 D2 C1 XOR 결과의 제 2 세트와 암호문 C2들의 제 2 세트를 얻기 위해,

사 후 데이터) 등은 cn이 제공하는

5)의 연결 순서는 C1C2C3 ...... CN 항목 암호화 결과이다.

해독은 암호화 프로세스에서 다음 단계의 역이다 :

1) 우선, 8/16 바이트의 집합에 따라 데이터 C1C2C3 ...... 내지 Cn 얻어진 그룹핑

2) 데이터의 제 1 세트는 D1 (주 1 그룹을 획득하기 위해 초기 벡터를 XOR I 평문으로 복호화 된 후 예, 다음 복호화 배타적 OR)

3) 제 2 세트를 획득하기 위해 배타적 OR 암호화 데이터 D2의 제 1 세트의 데이터를 복호화 C2 데이터의 제 2 세트의

4 이후) 등, 내지 Dn을 얻을

5) D1D2D3 연결 순서는 ...... DN은 복호 결과이다.

해독 결과가 반드시 우리의 원래의 암호화 된 데이터 아니라고 여기에 참고 또한 확실히 제거 좌석 원래의 데이터 인을 채우기 위해, 비트를 얻을 수까지 포함 할 수 있습니다.

장점 :
1. 활성 공격, 안전 패킷의 긴 전송 길이, 더 나은 ECB보다 쉽지 않다 SSL, IPSec을 표준으로

단점 :
1. 송신자와 수신자 필요 초기화 벡터 IV 알고
복호화를 들어, 두 개의 인접 블록의 암호문 그래서 평문 블록을 획득하기 위해 (병렬 처리 될 수 없으며, 2 암호화 처리가 직렬이다. 암호 해독 프로세스를 병렬화 할 수 있습니다)

3. 에러 전파

 

3) 암호 피드백 (CFB) / 암호 피드백 모드

암호 피드백 (CFB는, 암호 피드백) 모드 CBC 유사 블록 암호는 스트림 암호를 자기 - 동기화 될 수도 프로세스 작업하는 거의 반전도 CFB 복호 처리의 CBC 암호화 프로세스와 매우 유사하다
블록을 사용할 필요 시프트는 동일한 크기의 레지스터 및 IV 레지스터로 초기화한다. 그리고, 레지스터 내용 X 평문의 결과 (X)의 다음 상위 비트를 이용하여 블록 암호 암호화 X 비트 암호문을 생성하기 위해 배타적 논리합 연산된다. 레지스터에 암호문 X 비트의 다음 세대, 다음과 같은 X 비트 일반 텍스트를 반복하는 과정. 복호화 및 암호화 처리는 IV, 암호화 레지스터 암호문은 X 레지스터의 변위 다음 다음 평문, 암호문과 발생하는 X, X 비트 높은 XOR의 결과를 시작 유사하다.
CBC는 마찬가지로, 일반 텍스트 변화는 다음 암호 텍스트, 암호화 프로세스의 모든 영향을 미칠 것 때문에 병렬화 될 수 없다 같은, CBC 암호 해독 과정과 유사 병렬 처리 될 수 있습니다.

장점 :

1. 일반 텍스트 모드에 숨겨진

2, 스트림 암호 모드로

3. 적절한 암호화 된 송신 데이터 패킷보다 작

단점 :

도 1은 병렬 연산에 도움이 아니다

2. 전송 에러 : 유닛 셀의 평문에 충격 손상 복수

3.唯一的IV

 

4)Output Feedback (OFB)/输出反馈模式

输出反馈模式(Output feedback, OFB)可以将块密码变成同步的流密码。它产生密钥流的块,然后将其与平文块进行异或,得到密文。与其它流密码一样,密文中一个位的翻转会使平文中同样位置的位也产生翻转。这种特性使得许多错误校正码,例如奇偶校验位,即使在加密前计算而在加密后进行校验也可以得出正确结果。
每个使用OFB的输出块与其前面所有的输出块相关,因此不能并行化处理。然而,由于平文和密文只在最终的异或过程中使用,因此可以事先对IV进行加密,最后并行的将平文或密文进行并行的异或处理。
可以利用输入全0的CBC模式产生OFB模式的密钥流。这种方法十分实用,因为可以利用快速的CBC硬件实现来加速OFB模式的加密过程。

优点:

1.隐藏了明文模式

2.分组密码转化为流模式

3.可以及时加密传送小于分组的数据

缺点:

1.不利于并行计算

2.对明文的主动攻击是可能的

3.误差传送:一个明文单元损坏影响多个单元

추천

출처www.cnblogs.com/ivy-xu/p/12295586.html