일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- CustomScrollView
- Kotlin
- DART
- viewmodel
- scroll
- Flutter
- Dialog
- textfield
- 계측
- ScrollView
- Coroutines
- 테스트
- activity
- LifeCycle
- appbar
- 앱
- data
- textview
- drift
- Compose
- intent
- Navigation
- binding
- livedata
- Button
- 앱바
- tabbar
- TEST
- android
- 안드로이드
- Today
- Total
목록암호 (30)
Study Record
1. GPG CMD 의 간단한 사용법 ※ GPG 자세한 사용법 - https://devhints.io/gnupg 1-1. key 생성과 관리 ☞ key 생성 : ~/.gnupg gpg --gen-key gpg --full-gen-key /* 모든 옵션을 위한 dialogs 가지고 새로운 키 생성 */ ☞ key 목록 확인 gpg -k # public Key gpg -K # private key gpg --list-key ☞ 원격 서버에 key upload public key 를 key를 보관하는 원격 서버에 등록한다. gpg --send-keys --keyserver ☞ 원격 서버에서 key 검색 gpg --keyserver --search-keys "" ☞ 원격 서버에서 key import gpg --..
※ 디지털 서명 예시 주민등록등본 => 인터넷에서 발급(인증서) 앱(코로나 앱) => 인터넷에서 확인(인증서) 1. 메시지 인증과 디지털 서명 디지털 서명도 메시지 인증과 마찬가지로 상대편에 대한 검증을 수행한다. 메시지 인증은 같은 키를 서로 나눠가진 상태로 메시지 인증을 하기 때문에 중간에 해커가 키를 탈취한 상태면 거짓행세를 할 수 있고 부인 방지에 대한 것은 제공해주지 못하기 때문에 주로 상대방에 대한 인증으로 디지털 서명을 사용한다. 2. 디지털 서명 방법 - 공개키 암호 공개키 암호의 private key를 사용해서 사인하고 상대편은 그 사인값을 public key로 검증한다. 공개키 암호에서 private key 는 오직 만든 사람만이 알 수 있다.(public key로는 private ke..
※ HTTPS 패킷을 복호화하는 작업은, 인증서에 포함되어 있는 공개키로 데이터를 암호화 하지 않고, 동적으로 생성되 키 쌍을 이용하여 데이터를 암호화할 수도 있기 때문에 서버의 비밀키를 보유하고 있다고하더라도 서버의 모든 SSL 트래픽을 복호화할 수 없다. 패킷 분석 실습 웹서버(Linux) : 192.168.10.200 클라이언트/사용자(Kali) : 192.168.10.60 ☞ 사용하는 프로그램 wireshark curl tcpdump [Linux] 웹서버 설정 (설치) # yum install httpd mod_ssl # systemctl restart httpd # systemctl status httpd [Kali] ㉮ 먼저, 상대편과 https 통신을 할 때 기본적으로 사용하는 암호화 알고리..
HMAC - SHA256 사용하기 from Crypto.Hash import HMAC, SHA256 message = b'hello' # message secretKey = b'secret' # key hMac = HMAC.new(secretKey, message, digestmod=SHA256) print(hMac.hexdigest()) HMAC - SHA256 유효성 검사 from Crypto.Hash import HMAC, SHA256 recMsg = b'hello' recvMac = '88aab3ede8d3adf94d26ab90d3bafd4a2083070c3bcce9c014ee04a443847c0b' secretKey = b'secret' hMac = HMAC.new(secretKey, recMs..
1. 작업 개요 Window 에 Putty 프로그램을 깔아 Putty Key Generator 을 이용해서 private key 와 public key를 생성한 뒤, 리눅스 서버의 ssh에 public key를 등록한뒤, putty 로 만든 private key 를 로드하여 리눅스 서버의 ssh로 접속해본다. 2. 실습 Window : 192.168.10.202 Linux : 192.168.10.200 [Window] ㉮ Window 에 putty 프로그램을 다운받는다. https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html "putty-64bit-0.76-installer.msi" 다운받은 뒤 설치 ㉯ Putty Key Generator 프로그램..
1. 메시지 인증 코드(MAC) 개요 Alice 와 Bob의 통신 과정에서 메시지가 변조(무결성 침해)되어도 알 수 있는 방법이 없다. 따라서 메시지 인증 코드(MAC)는 메시지에 대한 인증을 위해 고안되었다. 1-1. 메시지 인증 코드 메시지 인증 코드(message authentication code)란, 무결성을 확인하고, 메세지에 대한 인증을 위한 코드이다. 입력값 : 메세지, 공유하는 키 출력값 : 고정 비트 길이의 코드 1-2. 메시지 인증 코드 과정 1-3. 메시지 인증 코드 VS 해시 함수 메시지 인증 코드는 메시지와 통신하는 두 사람의 공유 키를 사용하여 인증 코드를 만들지만 해시함수는 메시지만 사용하여 해시 출력값을 만든다. 1-4. 메시지 인증 코드에서 사용하는 공유 키 배송 문제 -..
1. 작업 절차 1-1. 사전준비 Server 는 공개키 암호(RSA_OAEP)에서 사용할 privateKey 와 publicKey 를 새로 생성하거나 저장된 파일에서 가져온다. 1-2. 작업 과정 ① Server 는 Client 에게 public key 를 전송한다. ② Client 는 메시지 암/복호화에 사용할 대칭키를 만든다. ③ Client 는 난수 값(none) 과 대칭키를 이용하여 메시지(m)를 암호화(AES_CTR_E)하여 암호문(Msg_C)을 생성한다. ④ Client 는 Server 에게 보낼 대칭키를 Server 에게 받은 public key 를 이용하여 암호화(RSA_OAEP_E)하여 암호화한 대칭 키(Key_C)를 생성한다. ⑤ Client 는 난수 값(none), 암호문(Msg_C..
from Crypto.Hash import SHA256 as SHA # 입력값이 없는 경우에도 default 값이 있다! hash = SHA.new() print(hash.hexdigest()) # 해시함수 사용법1 hash2 = SHA.new() hash2.update(b'Hello') print(hash2.hexdigest()) # 해시함수 사용법2 hash3 = SHA.new(b'Hello') print(hash3.hexdigest()) # 해시함수 b'First', b'Second' 나중에 연결 hash4 = SHA.new() hash4.update(b'First') hash4.update(b'Second') print('Second :', hash4.hexdigest()) # 해시 객체를 만들고..