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 |