본문 바로가기
728x90

암호학12

DES(Data Encryption Standard) DES(Data Encryption Standard)는 64비트 평문을 64비트 암호문으로 암호화하는 대칭암호 알고리즘이다. DES는 64비트열을 하나의 단위로 모아서 암호화한다. 이 단위를 블록(BLOCK)이라고 하며 블록 단위로 처리하는 암호 알고리즘을 블록 암호(Block cipher)라고 부르므로 DES도 일종의 블록암호이다. DES로 한 번에 암호화 할 수 있는 것은 64비트이기 때문에 그것보다 긴 비트를 암호화 하기 위해서는 DES를 이용하여 암호화를 반복해야 한다.(모드(MODE)라고 하며 나중에 공부해보자) DES는 페이스텔구조(Feistel Structure)를 활용하고 있다. 페이스텔구조(Feistel Structure)는 라운드(round)라는 암호화의 한 단계를 여러 번 반복수행하도.. 2019. 4. 20.
One-time pad(일회용패드) one-time pad(일회용패드)는 전사공격에서 키 공간을 모두 탐색하더라도 해독할 수 없는 암호이다. 평문과 랜덤한 비트열을 XOR연산을 하여 암호문을 생성하는 방법이다. "PARIS" 라는 문자열을 일회용패드로 암호화 해보자. 우선 "PARIS"라는 문자열을 ASCII코드로 부호화하여 비트열을 준비한다. P A R I S 01010000 01000001 01010010 01001001 01010011 평문길이와 같은 40비트의 랜덤비트열을 준비한다.(비트열은 손이 가는대로 눌러서 만들었음) KEY 11010001 00010110 10101010 10100111 11000111 평문과 키 비트열의 XOR을 계산한다. 평문 01010000 01000001 01010010 01001001 0101001.. 2019. 4. 20.
Simple Substitution Cipher(단일치환암호) Caesar cipher(시저암호, 카이사르암호)는 알파벳을 평행이동 시킴으로써 암호문을 생성하는 암호였다. Simple Substitution Cipher(단일치환암호)는 알파벳 26문자를 무작위로 나열한 집합과 원래의 알파벳 26문자를 서로 1대1 대응시킴으로써 암호문을 생성해내는 방법이다. 위의 표를 이용하여 'hello'를 암호화 하면'TXGGB'가 된다. 평문에 등장하는 문자의 빈도가 암호문으로 바뀐 뒤에도 그대로 드러난다는 것이 단일치환암호의 단점 중 하나이다. 암호화 때 사용한 표를 이용하여 암호문을 역으로 계산해내면 단일치환암호에 의한 복호화를 할 수 있다. 이 때 암호문을 복호화 하려면 암호화 할 때 사용한 표를 송신자와 수신자가 공유하고 있어야 하므로 단일치환암호표가 단일치환암호의 '키.. 2019. 4. 20.
Caesar cipher(시저암호, 카이사르 암호) Caesar Cipher(시저암호, 카이사르)암호는 평문으로 사용되는 알파벳을 일정한 문자 수 만큼 평행이동킴으로써 암호화하는 방법을 말한다. 예를 들어 3단계 이동시켜보면, [a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z] 의 알파벳 순서 [d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,a,b,c] 으로 대신한다. 위의 예로 "security" 단어를 시저암호 암호화를 거치게 되면 "vhixulwb"가 되게 된다. 시저암호의 복호화에서는 암호화 때와 동일한 거리만큼 평행이동을 하되, 역방향으로 평행이동을 해준다. "vhixulwb" -> "security 시저암호에서는 알파벳을 평행이동시키는 문자 수가 키가 된다. 알파벳.. 2019. 4. 20.
728x90
반응형

`