더북(TheBook)

| 알고리즘에 따른 암호화 |

어떤 알고리즘이 16바이트(128비트) 블록 단위로 처리한다고 가정해 봅시다. 그런데 보통 암호화해야 할 데이터는 크기가 정해져 있지 않으며, 16바이트보다 크거나 작을 수 있습니다. 16바이트보다 작은 데이터라면 문제가 없습니다. 하지만 16바이트보다 크다면 데이터를 16바이트 단위로 분할하고, 16바이트를 처리하는 알고리즘이 전체 데이터를 처리할 수 있도록 별도의 동작 방식을 만들어야 합니다. 가장 기본적인 방식은 암호화해야 할 데이터를 암호화에 사용할 알고리즘이 처리하는 데이터 크기만큼 자르고, 자른 부분마다 알고리즘을 적용하여 그 결과물을 합치는 것입니다. 앞 블록에서 처리한 암호화의 결과 값을 다음 블록의 암호화 과정에 반영하는 방식으로 응용하여 발전시킬 수도 있습니다. 이처럼 ‘알고리즘이 임의의 크기를 지닌 데이터를 처리하도록 구성하는 방식’을 운영 모드(Mode of Operation)4라고 합니다. 즉, 운영 모드는 정해진 크기의 데이터 블록(여기서는 16바이트)을 처리하는 ‘알고리즘’으로 임의의 크기를 지닌 데이터 전체를 처리할 수 있는 ‘단위 암호 시스템을 구성하는 방법’을 의미합니다(단, 암호화 이전의 데이터 크기와 암호화 이후의 데이터 크기는 같아야 합니다).

 

| 단위 암호 시스템 |

 

 


4 대표적인 운영 모드에는 ECB, CBC, CFB, OFB, CTR이 있으며, 최근에는 FPE 등 운영 모드가 인기를 얻고 있습니다. 운영 모드는 6장에서 자세히 다룹니다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.