분류 전체보기 117

[현대 암호학] 05. 실습(3)

[실습] 3DES(TDES) 사용하여 파일에 암복호화 저장하기 plaintext -> E(msg) -> ciphertext 3DES|AES-CBC(iv) 3DES|AES-CTR(nonce) 3DES|AES-EAX(nonce, tag) File1 -> plaintext -> E(msg) -> ciphertext -> File2 3DES|AES-CBC(iv) 3DES|AES-CTR(nonce) 3DES|AES-EAX(nonce, tag) 사용 시스템 kali 3DES 사용하여 파일에 암호화 하여 저장하고 복호화 하기 1) 준비사항(plain.txt 파일 준비) 2) 프로그램 작성 3DES-CBC iv = get_random_bytes(8) key = get_random_bytes(24) pad, unpad ..

현대 암호학 2021.06.24

[현대 암호학] 05. 실습(2)

[실습] AES-CBC 사용하여 메시지를 암복호화 하는 프로그램 개발 사용시스템 kali AES 알고리즘을 사용하여 메시지를 암호화/복호화 하는 프로그램을 개발 프로그램 개발시 다음과 같은 사항을 참고 한다. AES 입력 : 16 bytes(128 bits) 평문 입력 출력 : 16 bytes(128 bits) 암호문 출력 블록 단위 : 16 bytes(128 bites) 키 길이 : 16 bytes(128(16), 192(24), 256(32)) Block Cipher Mode : CBC IV : 16 bytes(128 bits)의 iv 필요 Padding : 패딩(padding)에 대한 처리(암호화: pad, 복호화: unpad) PyCryptodome 패키지에서 byte string 사용해야 한다...

현대 암호학 2021.06.23

[현대 암호학] 05. 실습(1)

[실습] 3DES(TDES)-CBC 사용하여 메시지를 암복호화 하는 프로그램 개발 사용시스템 kali 3DES(TDES, DES-3, DES3)사용하는 메세지를 암호화 또는 복호화 하는 프로그램 제작 프로그램 제작시 다음과 같은 사항에 대해서 참고하여야 한다. 3DES(Triple DES) 입력 : 8 bytes (64 bits) 평문 입력 출력 : 8 bytes (64 bits) 암호문 출력 블록 단위 : 8 bytes (64 bits) 키 길이 : 24bytes (K1(8) + K2(8) + K3(8))[참고] 3DES-EDE2, 3DES-EDE3 Block Cipher Mode : CBC IV : 8 bytes(64 bits)의 iv 필요 Padding : 패딩(padding)에 대한 처리(암호화:..

현대 암호학 2021.06.23

[현대 암호학] 05-5. CTR 모드

5. CTR 모드 CTR(CounTeR) 모드 CTR 모드는 1씩 증가해 가는 카운터를 암호화해서 키 스트림을 만들어 내는 스트림 암호 블록을 암호화할 때마다 1씩 증가해가는 카운터를 암호화해서 키 스트림을 만든다. 카운터(CounTeR) 만드는 법 카운터 초기값 암호화 때마다 다른 값(Nonce, 비표)을 기초로 해서 작성 nonce + block number "평문 블록1"의 카운터(초기값) 66 1F 98 CD 37 A3 8B 4B 00 00 00 00 00 00 00 01 "평문 블록2"의 카운터 66 1F 98 CD 37 A3 8B 4B 00 00 00 00 00 00 00 02 "평문 블록3"의 카운터 66 1F 98 CD 37 A3 8B 4B 00 00 00 00 00 00 00 03 "평문..

현대 암호학 2021.06.23

[현대 암호학] 05-4. CFB 모드

4. CFB 모드 CFB(Cipher FeedBack) 모드 암호화/복호화 CFB 모드 Cipher FeedBack 모드(암호 피드백 모드) -> 피드백(FeedBack): 암호화 입력의 사용 의미 CFB 모드에서는 1단계 앞의 암호문 블록을 암호알고리즘의 입력으로 사용 (조건) * IV 필요하다. * 패딩 처리할 필요가 없다. E(IV) XOR P = C1 E(C1) XOR P = C2 CFB(Cipher Block Chaing) 모드의 암호화 CFB(Cipher FeedBack) 모드의 복호화 초기화 벡터(IV) 최초의 암호문 블록을 만들어낼 때는 1단계 앞의 출력이 존재하지 않으므로 대신에 IV를 사용 CBC(Cipher Block Chaing) 모드와 CFB(Cipher FeedBack) 모드 비..

현대 암호학 2021.06.23

[현대 암호학] 05-3. CBC 모드

3. CBC 모드 CBC(Cipher Block Chaing) 모드란? Cipher Block Chaining Mode(암호 블록 연쇄 모드) 암호문 블록을 마치 체인처럼 연결시키기 때문에 붙여진 이름 CBC 모드에서는 1단계 앞에서 수행되어 결과로 출력된 암호문 블록에 평문 블록을 XOR 하고 나서 암호화를 수행 각각의 암호문 블록은 단지 현재 평문블록 뿐만 아니라 그 이전의 평문 블록들의 영향도 받게 된다. (조건) 암호화 시스템 측 * IV 필요하다. * 패딩(padding) 처리 해주어야 한다. (조건) 복호화 시스템 측 * 복호화 시스템이 알고 있어야 하는 값: => IV 값(암호화 할때 사용했던) => padding 값(암호화 할때 사용했던) => 암호화 키(암호화 할때 사용했던) CBC 모드..

현대 암호학 2021.06.23

[현대 암호학] 05 -2. ECB 모드

2. ECB 모드 ECB 모드란? 전자 부호표 모드(Electric CodeBook Mode) 평문 블록을 암호화한 것이 그대로 암호문 블록 패딩(Padding) * 마지막 평문 블록이 블록 길이에 미치지 못할 경우에 추가하여 블록 길이가 되도록 맞춘다. 안전하지 않다. ECB 모드에 의한 암호화 ECB 모드에 의한 복호화 ECB 모드에 대한 공격 예 어느 은행의 송금 의뢰 데이터가 다음 3개의 블록으로 구성 블록1 = 송금자의 은행계좌번호(from) 블록2 = 송금처의 은행계좌번호(to) 블록3 = 송금액 송금 의뢰 데이터를 받은 은행은 지정된 금액을 송금자로 부터 송금처의 계좌로 이동 (예) A-5374의 계좌로부터 B-6671의 계좌로 1억원을 송금한다. (a) A-5374의 계좌로 부터 B-667..

현대 암호학 2021.06.23

[현대 암호학] 05. 블록 암호 모드

1. 블록 암호 모드 블록 암호와 스트림 암호 블록 암호(Block Cipher) 어느 특정 비트 수의 "집합(Block)"을 한번에 처리하는 암호 알고리즘 블록(Block)의 비트 수와 블록 길이(Block Length) DES or 3DES의 블록 길이는 64비트(8 bytes) DES: 64비트 평문, 64비트 암호문 AES: 블록길이는 128비트(16 bytes), 192비트(24 bytes), 256비트(32 bytes) 스트림 암호(Stream Cipher) 스트림 암호는 데이터의 흐름(Stream)을 순차적으로 처리해가는 암호 알고리즘 1비트, 8비트, 또는 32비트 등의 단위로 암호화와 복호화 블록 암호 모드(Block Cipher Mode)란 긴 평문을 블록으로 나누어 암호화 각 블록에 ..

현대 암호학 2021.06.23

[현대 암호학] 04. 실습(2)

[실습] gpg CMD 이용한 파일 암호화/복호화(AES 256) gpg 명령어를 이용한 파일 암호화/복호화(AES 256 알고리즘 사용) 사용 시스템 kali PGP versus GPG(GNU PG) - https://namu.wiki/w/PGP PGP Symantec PGP(상용): http://www.symantec.com/encryption 1991년 필 지머먼(Phil Zimmermann)이라는 프로그래머가 개발한 전자우편 암호화 프로그램과 그 파생작들을 말한다. 이메일 내용 자체를 암호화하여 오로지 보내는 사람과 받는 사람만이 그 원문(Plain Text)을 알 수 있도록 하는 암호화 방식을 말한다. GPG(GNU PG) GnuPG(오픈소스) : https://www.gnupg.org GPG가..

현대 암호학 2021.06.23

[보안 뉴스 스크립트] 14. 타이포스쿼팅(Typosquatting)

해외 로그인 안내에 타이포 스쿼팅까지... 암호화폐 거래소 ‘코인원’ 사칭 피싱 발견 (21-06-22) 해외 로그인 안내에 타이포 스쿼팅까지... 암호화폐 거래소 ‘코인원’ 사칭 피싱 발견 암호화폐 거래소 ‘코인원’을 사칭한 스미싱으로 사용자의 거래소 계정을 탈취하는 시도가 이어지고 있다. 특히 공격자는 문자 메시지를 통해 사용자의 계정이 해외 특정 IP에서 로그인된 기 www.boannews.com 해외 IP에서 로그인 시도됐다며 문자 메시지로 안내한 뒤 URL 클릭 유도 타이포 스쿼팅 통해 실제 주소와 유사한 피싱 사이트로 유도 해킹 걱정에 급하게 로그인 시도 시 사용자 계정 정보는 공격자에게 전송돼 타이포스쿼팅(Typosquatting) 사회공학 기법 중 하나로 자주 사용하는 사이트의 URL을 교..

Security Script 2021.06.23