본문 바로가기

crypto

SYMMETRIC CRYPTOGRAPHY (1)

저번에 MODULAR ARITHMETIC에서 정수론을 이용해서 기본적인 내용들을 코드로 구현하는 방법을 배웠었다.

이제 크립토핵 사이트에서 intermediate 단계의 코스인 SYMMETRIC CRYPTOGRAPHY를 공부해볼 차례이다.

저번 코스는 모든 내용을 글 하나에 담았었는데 이번 코스부터는 주제 몇개씩 글을 끊어서 작성할 것이다.

 

symmetric cryptography는 대칭키 암호이다.

대칭키 암호에는 block 암호와 stream 암호 두 종류가 있다.

block은 평문을 block으로 나누어서 암호화를 하는 방법이고 stream은 평문을 1bit씩 암호화하는 방법이다.

가장 대표적인 대칭키 암호로 AES라는 것을 다룰 것인데 AES는 block 암호이다.

여기서는 AES 암호 중에서도 128비트의 block과 128비트의 key를 사용하는 AES-128에 대해서 다룬다.

 

대칭키 암호는 key 순열을 이용해 수행하는데 같은 key를 이용하면 같은 input에 대해 같은 output이 나온다.

input block과 ouput block이 일대일 대응되기 때문에 같은 key를 이용하면 역연산을 할 수 있다.

 

문제는

What is the mathematical term for a one-to-one correspondence? 

이건데 one-to-one correspondence는 일대일 대응이다.

일대일 대응의 수학적 용어가 뭔지 모르겠어서 찾아봤는데 그냥 전단사 함수였다.

영어로는 bijection

답으로는 crypto{bijection}을 제출하면 된다.

'crypto' 카테고리의 다른 글

MODULAR ARITHMETIC  (0) 2024.04.16