티스토리 뷰
Stream Cipher & Block Cipher
[ Stream Cipher ]
: Plaintext와 같은 길이의 Key Stream을 생성해 Plaintext에 XOR 연산을 수행해 암호화.
: 복호화는 동일한 방식으로 Key Stream을 XOR해 수행.
: PRN(Pseudo Random Number)을 이용하여 난수를 생성.
( PRN은 실제 난수가 아닌, 난수처럼 보이는 수로 같은 시드를 입력하면 같은 난수를 생성하게 된다. )
[ Block Cipher ]
: 각 Block에 Key에 따른 암호화를 하여 이어 붙여 만드는 암호화.
: Key Bit의 크기와 Block Bit의 크기는 대체로 다름.
· Feistel Cipher
: Block Cipher의 일종으로 Round마다 Key가 존재하는 방식.
: Plaintext를 반으로 나누어 Left, Right 각각을 Round를 거쳐 순차적으로 처리. Round가 끝날때마다 좌우가 바뀜.
: Substitution Cipher와 Permutation Cipher을 이용.
( Permutation Cipher의 경우 Monoalphabetic Cipher와 다르게 치환이 아닌 글자의 순서만 바꾸는 것으로, 글자의 집합이 전후 동일. )
: Diffusion과 Confusion의 특성을 가지고 있음.
( Diffusion : 확산. 1비트가 바뀜에 따라 암호문 전체가 변경되도록. / Confusion : 혼돈. 암호문과 Key 사이의 관계를 모호하게 만듦. )
· AES (Advanced Encryption Standard)
: 4×4 모양인 State 자료구조를 이용하여 암호화 진행.
: S-Box 연산을 이용.
1) Substitute Byte : 8비트 입력 바이트를 S-BOX 테이블을 이용하여 다른 값으로 대체. S-Box와 Inverse S-Box 필요.
2) Shift Rows : State 배열의 각 행을 회전시킴. 각 행을 다르게 Shift시키는 연산.
3) Mix Columns : State 배열의 각 열에 행렬 곱셈을 수행. GF(2^8) 행렬을 이용하며, Modulo값은 x^8 + x^4 + x^3 + x + 1로 수행한다.
4) Add Round Key : 현재 Round의 Key를 State 배열과 XOR 연산.
: 첫 번째 Round에선 Bit에 맞게 Key Expansion을 하여 State에 저장 후 Add Round Key 과정 수행.
: 두 번째부터는 Substitute Byte → Shift Rows → Mix Columns → Add Round Key 과정 수행.
: 마지막 Round에서는 Mix Column을 제외한 과정만 수행.
: 복호화는 역순으로 진행.
'컴퓨터 공학 이론 > 컴퓨터 보안' 카테고리의 다른 글
[컴퓨터 보안] Hash Function & MAC (0) | 2023.06.08 |
---|---|
[컴퓨터 보안] Other Public-Key Cryptosystems (0) | 2023.06.08 |
[컴퓨터 보안] Group and Field (0) | 2023.04.27 |
[컴퓨터 보안] Web Hacking & Protection (0) | 2023.04.27 |
[컴퓨터 보안] Security Threat (0) | 2023.04.27 |