개발바닥곰발바닥
반응형
article thumbnail
공개 키 암호(Public-Key Cryptography)와 RSA
보안 2021. 11. 3. 02:23

공개키 암호 대칭키 암호의 문제점 대칭 암호로는 고대의 암호인 스키테일, 시저, 단일치환, 비제네르부터 근대의 에니그마, 현대 암호인 DES, AES, SEED, ARIA 등 대부분의 암호가 대칭 암호이다. 대칭키 암호에도 다음과 같은 3가지의 문제점이 존재한다. 키를 서로 알고 있어야 하므로 송신자가 암호화 할 때 사용한 키를 수신자가 모르고 있다면 암호를 해독할 수 없다. 그리고 여러명과 암호 통신을 한다면 서로 다른 키를 모두 보관해야한다는 문제가 있다. 예를 들어 수신자가 100명이라고 하면 송신자는 100개의 키를 보관해야 한다. 모르는 사람과의 신뢰성 있는 통신이 어렵다. 수신자가 모르는 사람일 경우 누가 수신자를 사칭해도 누가 진짜 수신자일지 알 수 없기 때문에 키를 송신하기 어렵다. 키 배..

AES(Rijndael)와 국내개발 블록 암호
보안 2021. 10. 12. 05:23

AES DES를 대신하는 새로운 표준으로 1997년 1월 2일 미국의 표준화기구인 NIST에서 AES 공모를 시작했고 2000년에 Rijndael이라는 대칭암호 알고리즘이 AES로서 선정됐다. AES의 선정 과정 AES의 응모조건 무료로 이용 암호 알고리즘의 규격이 적힌 사양서, ANSI와 Java에 의한 구현, 암호 해독에 대한 강도의 평가 가능 제안되는 암호 알고리즘은 설계 규격과 프로그램을 공개 속도가 빠르고 단순하고 구현하기 쉬울 것 암호화 자체의 속도뿐만 아니라 키의 셋업 속도도 중요 스마트카드나 8비트 CPU 등의 계산력이 작은 플랫폼부터 워크스테이션과 같은 고성능의 플랫폼에 이르기까지 효율적으로 동작해야함 블록 길이가 128비트인 대칭 블록 암호이어야 하고 키의 길이는 128, 192, 25..

article thumbnail
DES와 트리플 DES
보안 2021. 10. 12. 05:22

현대의 대칭 암호 암호를 시대별로 나누자면 시저 암호, 비제네르는 사람이 손으로 직접 암호화하므로 고대암호라고 한다. 에니그마 같은 경우에는 기계로 암호화하기 때문에 기계암호라고 한다. 현대 암호는 컴퓨터를 이용하는 암호를 현대암호라고 부른다. 현대의 대칭암호로는 DES, 트리플 DES, AES, SEED가 있다. 대칭암호의 정의는 평문을 암호문으로 암호화하고 암호문을 평문으로 복호화할 때 동일한 키를 사용하는 암호 방식을 말한다. 대칭 암호는 다양한 이름을 가지고 있는데, 공통키 암호, 관용 암호, 비밀키 암호, 공유키 암호 등의 이름을 가지고 있다. DES (Data Encryption Standard) 1977년에 미국의 연방정보처리표준규격(FIPS)으로 채택된 대칭형 블록암호이다. 64비트의 키와..

블록 암호
보안 2021. 10. 6. 21:42

블록암호 블록 암호는 평문을 블록단위로 처리하는 알고리즘이다. 그런데 평문의 길이가 블록 암호의 블록 크기보다 클 경우에는 어떻게 블록 암호를 적용할 것인가? 블록 암호의 모드(mode) 블록 암호를 반복하는 방법으로 임의의 길이의 평문을 암호화하기 위해서 평문을 일정한 길이를 갖는 블록으로 나누고, 각 블록에 블록 암호를 반복 적용하여 암호화를 수행한다. 패딩 평문의 길이가 가변적이기 때문에 마지막 블록이 블록의 길이와 항상 딱 맞아 떨어지지 않을 수 있다. 이럴 때 부족한 길이만큼을 0으로 채우거나 임의의 비트들로 채워 넣는 것을 패딩이라고 한다. 패딩으로 부족한 길이를 채운 뒤에 마지막 바이트에 패딩을 적용한 길이를 넣어준다. 블록 암호의 주요 모드 ECB 모드 : Electric CodeBook ..

article thumbnail
스트림 암호와 일회용 패드
보안 2021. 10. 6. 21:38

스트림 암호와 블록암호 스트림 암호 : 입력되는 요소를 연속적으로 처리하여 지속적으로 한 번에 한 요소씩 배출하는 암호시스템 스트림 암호는 예를 들어 abcd 라는 평문을 스트림 암호를 사용해서 암호화하면, a -> y , b -> u, c -> p, d -> l 와 같이 한 요소씩 암호화가 된다. 스트림 암호에서는 암호화 시에 XOR 연산을 주로 이용하는데, XOR 연산이란 비트연산 중 하나로 두 개의 비트를 XOR 연산한다고 하면 두 비트가 서로 달라야 1이 되고, 같으면 0이 된다. 스트림 암호에서 유명한 암호로는 로널드 라이베스트가 만든 RC4가 있다. A와 B를 XOR 연산하고, 그 값을 다시 B로 XOR 연산하면 A의 값이 나오는 걸 볼 수 있다. 이러한 성질을 이용해 XOR로 암호화를 할 수..

브루트포스 공격(Brute Force Attack)과 빈도 분석
보안 2021. 10. 6. 21:36

Brute Force Attack (전사 공격) 단일치환 암호화와 시저 암호의 차이 시저 암호 - 전사공격으로 해독 가능 (최대 26번 시도해보면 평문이 구해짐) 단일 치환 암호 - 전사공격으로 해독이 힘듦 Brute Force Attack의 어려움 키가 많으면 브루트포스 공격으로 조사하는 것은 매우 어렵다. 키가 많은 경우 모든 키를 적용해보는 데에는 상당한 시간이 필요한데 단일 치환암호의 경우 1초에 10억 개의 키를 적용하여 조사한다고 해도, 모든 키를 조사하는 데 120억년 이상의 시간이 걸린다. 바른 키를 찾기까지의 평균 시간은 약 60억년으로 사실상 해독하는 것이 어렵다고 볼 수 있다. 키 공간(key space) 어떤 암호에서 사용할 수 있는 모든 키의 집합 키 공간의 크기 키 공간에 속하는..

반응형