암호화와 복호화에 사용하는 키가 같은 암호화 알고리즘
EX) DES, 3-DES, AES, SEED, ARIA, MASK
하나의 비밀키를 양쪽(client & server)가 모두 같이 사용
공개키와 비밀키를 별도로 가지는 것과 구별되는데, 이와 비교하면 계산속도가 빠르다는 장점
비밀키 하나만 알아내면 암호화된 내용을 해독 가능 → 해커로부터 안전 X
대킹키 암호는 암호화하는 단위에 따라 스트림암호와 블록암호로 나눌 수 있음
º 스트림암호는 연속적인 비트/바이트를 계속해서 입력받아, 그에 대응하는 암호화 비트/마이트를 생성하는 방식
º 블록암호는 정해진 한 단위(블록)을 입력받아 그에 대응하는 암호화 블록을 생성하는 방식
✔ 블록암호의 경우, 적절한 운용모드를 조합하면 블록 단위보다 큰 입력을 처리할 수 있음. 또한 스트림암호와 유사하게 지속적인 입력에 대해 동작할 수 있음.
(대신 입출력 단위는 스트림암호보다 큰 블록 단위가 됨)
데이터의 흐름(스트림)을 순차적으로 처리해가는 암호 알고리즘의 총칭
✔ 스트림암호는 OPT(One-Time Pad)를 실용적으로 구현할 목적으로 만들어짐.
❗ 비트단위로 암호화 하기 때문에 블록암호화 방식보다는 매우 빠르지만, 암호화 강도는 약하다.
어느 특정 비트 수의 집합을 한 번에 처리하는 암호 알고리즘을 총칭
EX) DES, 3DES, AES(Rijdael)
❗ 각각 블록형태로 묶여서 암호화가 되는데, 만약 암호화하려는 정보가 블록 길이보다 길 경우에는 특정한 운용모드가 사용되는데 ECB, CBC, OFB, CFB, CTR 등이 존재.
❗ 대표적인 암호로 DES가 있고 Single DES는 안전성 문제로 현재 사용하고 있지 않다.
(한국에서는 개발된 암호 중에서는 페스탈 구조기반으로 설계된 *SEED가 있음)
단점 : 암복호화 과정에서 역함수가 필요하도록 설계되어야함
장점 : 중간에 비트의 이동없이 한 번에 암볻호화가 가능하기 때문에 페스탈 구조에 비해 효율적으로 설계할 수 있음
❗ 대표적인 암호로는 AES가 있으며 AES는 현재 널리 상용되고 있다.
🌱 출처 : https://gaeko-security-hack.tistory.com/101?category=735008
공개키와 비밀키 두 개가 존재하는 암호화 알고리즘
EX) RSA, Elgamal
📌 비대칭키 암호화 = 공개키 암호화
📌 개인키 = 비밀키 = 비공개키
공개키 암호를 구성하는 알고리즘을 대칭키 암호 방식과 비교하여 비대칭 암호라고 불림
암호화와 복호화에 사용하는 키가 서로 다름
암호화할 때의 키는 공개키(public key), 복호화할 때의 키는 개인키(private key)
공개키는 누구나 알 수 있지만, 그에 대응하는 비밀키는 키의 소유자만이 알 수 있어서
👉 특정한 비밀키를 가지는 사용자만이 내용을 열어볼 수 있도록 하는 방식
🌱출처 :
https://gaeko-security-hack.tistory.com/123
https://liveyourit.tistory.com/183