API 오용 개념의 세트 문항은 DES 암호화, 공개키 시스템, 캡슐화를 다룬다. DES는 평문을 64비트 블록으로 나누고, 64비트 키 가운데 8비트를 패리티로 제외한 56비트를 실제 키로 사용한다. 따라서 블록 64비트와 유효 키 56비트를 한 쌍으로 기억한다.
공개키 시스템은 암호화 키와 해독 키가 서로 다르다. 공개키는 공개되어도 되고, 개인키만 비밀로 유지한다. 공개키 시스템은 키 분배가 용이하며, RSA가 대표적인 공개키 알고리즘이다. DES, SEED, RC2는 동일한 키를 사용하는 대칭키 방식이다.
캡슐화는 데이터와 연산을 하나의 단위로 묶고 외부 접근을 제한한다. 캡슐화는 정보 은폐와 가장 밀접한 객체지향 기법이며, 결합도를 낮추고 재사용성과 인터페이스 단순화에 기여한다. 다만 캡슐화가 분석 단계 자체를 단순화하지는 않는다.
시험에서는 DES의 블록 크기와 유효 키 길이를 뒤바꾼 선지, 공개키와 개인키의 보안 대상을 혼동한 선지, 캡슐화의 재사용성이나 분석 단계 효과를 잘못 서술한 선지를 판별한다.
예제
DES 문제에서 블록 크기를 32비트로 두거나 유효 키를 64비트로 두면 틀린다. 공개키 시스템에서 두 키 모두를 보안해야 한다고 하거나 키 분배가 어렵다고 하면 틀린다. 캡슐화가 재사용을 불가능하게 만든다고 하거나 분석 단계를 단순화한다고 하면 틀린다. 정보 은폐와 가장 밀접한 기법을 묻는 문항에서는 캡슐화를 고른다.
대표 기출 3문항
암호화 기법 중 암호화 알고리즘과 암호화 키는 공개해서 누구든지 평문을 암호문으로 만들 수 있지만, 해독 알고리즘과 해독키는 비밀로 유지하는 기법을 무엇이라 하는가?
DES(Data Encryption Standard) 기법
공중키(public-key) 암호화 기법
대체(substitution) 암호화 기법
전치(transposed) 암호화 기법
정답과 해설 보기
정답 ② · 암호화 알고리즘과 키는 공개하되 해독 알고리즘과 해독키는 비밀로 유지하는 기법을 묻는 문제이다. 공중키(public-key) 암호화 기법은 암호화에 쓰는 공개키와 해독에 쓰는 비밀키를 분리하여, 누구나 공개키로 평문을 암호문으로 만들 수 있지만 비밀키를 가진 수신자만 해독할 수 있는 비대칭 구조이다.
공개키와 비밀키를 분리하여 사용하는 방식은 공중키(public-key) 암호화 기법입니다.
분산 데이터베이스의 불법적인 접근을 차단하기 위하여 데이터 암호화가 필요하다. DES 알고리즘에서는 평문을 ( ① ) 비트로 블록화를 하고 실제 키의 길이는 ( ② )비트를 이용한다. 괄호의 내용으로 옳은 것은?
① 64 ② 56
① 64 ② 32
① 32 ② 16
① 32 ② 8
정답과 해설 보기
정답 ① · DES 알고리즘의 블록 크기와 유효 키 길이를 묻는 문제이다. DES는 Feistel 구조를 기반으로 하는 대칭키 암호 알고리즘으로, 평문을 64비트 블록 단위로 처리한다.
DES 암호화 알고리즘은 64비트 블록 단위로 평문을 처리하며, 실제 유효 키 길이는 56비트이다.
객체 지향의 기본 원리인 정보은폐와 가장 밀접한 관계가 있는 것은?
캡슐화(encapsulation)
클래스(class)
메시지(message)
상속성(inheritance)
정답과 해설 보기
정답 ① · 객체 지향의 정보은폐 원리와 가장 밀접한 개념을 고르는 문제이다. 정보은폐는 모듈이나 객체의 내부 구현 세부사항을 외부로부터 감추고 필요한 인터페이스만 노출하는 설계 원칙이다.
정보은폐는 내부 구현을 숨기고 외부와의 상호작용만 노출하는 것으로, 이를 구현하는 핵심 기법이 캡슐화이다.