정보보안/DreamHack

[Lecture]블록암호 : 운영모드(Cryptography)

b1ackhand 2022. 2. 3. 15:58

Padding

패딩 : 입력의 길이를 블록의 배수에 맞게 하는 방법

 

Bit Padding : 평문이 채우지 못하는 비트 최상위를 1 나머지를 0

ex) 1101 1101 11 -> 1101 1101 11 (10 0000)

문제점 : 

ex) 1101 1000
다음과 같은 평문이 있으면 뒷부분을 패딩처리 하기때문에

1101 1000 (1000 0000) 이렇게 보내야 한다.

 

Byte Padding ANSI X.923 : 바이트를 보통 0 으로 채우고 마지막 바이트에 패딩의 길이를 넣는것

ex) 99 99 (00 04)

위와 같은 문제점이 역시 있음

 

Byte Padding PKCS#7 : 추가할 패딩의 크기로 블록을 채우는 패딩 기법

ex) 99 99 (04 04)

 

Mode of Operation

운영모드 : 블록암호로 다양한 크기의 데이터를 처리할 수 있도록 고안된 블록암호의 사용방법

 

Electronic Code Book(ECB)모드 : 블록들이 모두 같은 키로 암호화

취약점)

약한 혼돈 성질 : 원본 이미지의 패턴이 남아있음

재전송 공격 : 데이터를 재전송하여 시스템이 원치 않은 행동을 하게 하는것

 

Cipher Block Chaining(CBC)모드 : 초기벡터를 가지고 암호화 하기전에 직전 블록의 암호문과 XOR

Nonce(number used only once) : 무작위 숫자. 초기벡터로 씀

재전송 공격에 강하다

혼돈성이높다

취약점) 암호문을 가로채서 복호화 결과의 첫번째 블록을 조작 가능하다

 

CTR모드 : Nonce와 Counter(평문 블록의 인덱스)를 가지고 블록암호 출력과 평문 블록을 XOR해서 생성

 

 

'정보보안 > DreamHack' 카테고리의 다른 글

[Wargame]rev-basic-4(reversing)  (0) 2022.03.20
[Wargame]blind-command(web)  (0) 2022.02.06
[Lecture]현대암호(Cryptography)  (0) 2022.01.28
[Lecture]고전암호(Cryptography)  (0) 2022.01.27
[Lecture]Shellcode(System)  (0) 2022.01.26