암호화 알고리즘 11

스마트폰용 암호라이브러리

사생활 침해 대학생인 사용자 A는 얼마 전 스마트폰을 잃어버렸습니다. 최근 어렵게 구입한 스마트폰에 재미를 흠뻑 붙이고 있었는데, 생활에 불편한 점이 이만저만이 아닙니다. 우선 매일 아침 즐겨하던 조깅이 불편해졌습니다. 스마트폰을 이용하여 음악을 들으며, 자신이 달린 거리와 이동경로, 칼로리 소모량을 확인하던 재미가 사라졌습니다. 문자나 전화통화보다 스마트폰을 이용한 트위터나 페이스북으로 지인들과 안부를 묻고 서로의 일상을 확인했었는데 그것도 어려워 졌습니다. 월말이 다가오니 카드 값도 걱정이 됩니다. 그동안 스마트폰으로 한달 카드 사용량을 확인했었는데, 일일이 얼마를 썼는지 계산하려니 번거롭습니다. 스마트폰 분실로 인해 사생활에 대한 걱정도 커졌습니다. 여러 가지 앱을 통해 자신이 자주 다니는 경로, ..

해쉬 함수

해쉬 함수(Hash function) 해쉬 함수는 임의의 길이를 갖는 메시지를 입력 받아 고정된 길이의 해쉬값을 출력하는 함수이다. 암호 알고리즘에는 키가 사용되지만, 해쉬 함수는 키를 사용하지 않으므로 같은 입력에 대해서는 항상 같은 출력이 나오게 된다. 이러한 함수를 사용하는 목적은 입력 메시지에 대한 변경할 수 없는 증거값을 뽑아냄으로서 메시지의 오류나 변조를 탐지할 수 있는 무결성을 제공하는 목적으로 주로 사용된다. 해쉬 함수는 전자 서명과 함께 사용되어 효율적인 서명 생성을 가능하게 한다. 긴 메시지에 대해 서명을 하는 경우, 전체 메시지에 대해 직접 서명을 하는 것이 아니고 짧은 해쉬값을 계산해 이것에 대해 서명을 하게 된다. 공개키 연산은 많은 계산량을 필요로 하기 때문에 전체 메시지를 공개..

비대칭키

공개키 암호(Public key cryptosystem) 공개키 암호는 비밀키 암호와 달리 송신자와 수신자가 다른 키를 사용하여 비밀 통신을 수행한다. 송신자는 수신자의 공개키에 해당하는 정보를 사용하여 데이터를 암호화하여 네트워크를 통해 전송한다. 수신자는 자신의 공개키에 해당하는 비밀키로 암호화된 데이터를 복호화하여 평문을 복원한다. 공개키 암호는 다른 유저와 키를 공유하지 않더라도 암호를 통한 안전한 통신을 한다는 장점을 갖는다. 각 사용자는 자신에게 전송하기 위해 사용될 키를 공개하고, 공개된 키 정보로 암호화된 정보를 복호화할 수 있는 키를 비밀로 보유하고 있음으로써 누구나 암호화할 수 있지만 공개키에 대응되는 비밀키를 가진 당사자만 복호화할 수 있는 특징을 가진다. n명의 사용자로 구성된 네트..

대칭키

대칭키 대칭키 암호(Symmetric-key cryptosystem) 방식에서는 암호화에 사용되는 암호화키와 복호화에 사용되는 복호화키가 동일하다는 특징이 있으며, 이 키를 송신자와 수신자 이외에는 노출되지 않도록 비밀히 관리해야 한다. 우리가 일반적으로 사용하는 암호라는 의미로 ‘관용 암호’라고도 하며 키를 비밀히 보관해야 한다는 의미로 ‘비밀키 암호(Secret-key cryptosystem)’라고도 한다. 이 방식은 고대 암호로부터 연결된 오랜 역사를 가지고 있다. 대칭키 암호는 암호화 연산 속도가 빨라서 효율적인 암호 시스템을 구축할 수 있다. 이 암호 방식은 알고리즘의 내부 구조가 간단한 치환과 전치의 조합으로 되어 있어서 알고리즘을 쉽게 개발할 수 있고 컴퓨터 시스템에서 빠르게 동작한다. 그러..

암호화 역사

인류의 수천 년 역사 속에서 위대한 왕과 장군들은 모두 효율적인 통신 수단에 의존해 나라를 다스리고 군대를 움직여 왔다 해도 과언이 아니다. 하지만 동시에 지도자들은 이러한 통신 내용이 적의 손에 들어가 귀중한 비밀이 누설되거나 중요한 정보가 들어가지 않을까 늘 우려했다. 그런 의미에서 적이 중요한 정보를 가로챌 수 있다는 위협이야말로 암호를 발시킨 원동력이었다고 할 수 있다. 이렇듯 비밀 보장이 절실히 필요해짐에 따라 각국 정부는 가능한 한 가장 안전한 암호를 만들어 내고, 이를 이용해 통신의 보안성을 확보하는 부서를 운영하게 된다. 이에 맞서 적국에서는 거기에 담긴 비밀을 빼내려는 암호 해독가를 동시에 양성했다. 암호 해독가들은 언어를 재료로 이용하는 연금술사로, 무작위로 모아놓은 듯한 부호에서 의미..

쉽게보는 ARIA 알고리즘 - 라운드

ARIA 알고리즘은 키 크기에 따라 12, 14, 16라운드를 도는 대칭키 블록 알고리즘이다.한 라운드(Fi 로 표현)는 간단히 보면 아래와 같은 구조로 이루어져 있다. 각각의 단계를 조금 자세히 살펴보면라운드 키 덧셈 과정(AddRoundKey)입력인 plaintext와 암호키(MK로 표현)에 의해 생성된 각 라운드 키(eki혹은 dki로 표현)를 XOR하는 과정이다. ARIA의 키는 키 초기화 과정과 키 생성 과정, 두 과정을 거쳐야 비로소 생성된다.키 초기화 과정 : 말그대로 3-라운드 256-비트 Feistel 알고리즘을 이용해서 MK로부터 네개의 128-bit 값(W0, W1, W2, W3)을 생성한다.Feistel 알고리즘은 256의 입력(KL, KR 각각 128bit)을 필요로 한다. 하지만..

(3-DES) 간단한 대칭 알고리즘 예제

대칭암호화 알고리즘의 종류 DES & TripleDES : DES(Data Encryption Standard)는 "Lucifer"라는 이름의 IBM에서 최초개발되었다. 또한 미국에서 최초 국가표준이 되었으며, 56비트키를 가지고 암복호화를 사용했다. 하지만 컴퓨터가 발전을 함에 있어서 56비트키의 경우 어느정도의 시간만 확보가 된다면 풀어낼수 있기 때문에 좀더 완벽한 보안을 위하여 Triple DES가 고안 TripleDES : 이는 기존의 DES암호화 알고리즘방식을 다른키에 세번 적용시킨것이며, 첫번째 암호화과정, 두번째 복호화과정, 세번째는 또 다른 암호화 과정을 거치도록 하고 있다. 그래서 이름이 DESede(DES encryption, decryption, encryption)이 되었으며, 각각..

SHA1withRSA, SHA1withDSA 완성

KeyStore를 이용하여 Key Generation하고, 그 Key를 가지고 암호화. SHA1withRSA, SHA1withDSA 완성[Sha1withRSA]p[Sha1withDSA] ============================================================================================ import java.io.*; import java.security.*; public class DSA { private PublicKey publickey; private PrivateKey privatekey; public DSA (PublicKey puk, PrivateKey pik) { publickey = puk; privatekey = pik; ..

DB암호화 방식 비교

사진 설명을 입력하세요.서버 과부하 없고 관리ㆍ인덱스 지원 용이 앱 환경 독립성 제공 `파일암호화`도 눈길지금 각 산업계는 `암호화' 작업에 한창입니다. 지난해 9월 제정된 개인정보보호법이 고객의 개인정보를 소홀히 관리할 경우 강력한 처벌을 주문하고 있기 때문입니다. 암호화하지 않은 평문의 고객정보가 DB 해킹으로 외부로 유출될 경우 고객들의 따가운 시선은 물론 대규모 집단소송에 경우에 따라 경영진의 형사처벌까지 각오해야 합니다. 사정이 이렇다보니 기업 경영진들의 DB암호화에 대한 관심이 급증하고 있습니다. 하지만 막상 제품을 도입하려다보면 조직 특성에 적합한 암호화 방식이 무엇일까 궁금증이 생기게 되는데요. 오늘은 API 방식, 플러그인방식, 하이브리드 방식 등 다양한 DB 암호화 기술의 특장점과 한계..