일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 앱바
- 계측
- Button
- 앱
- livedata
- TEST
- CustomScrollView
- 테스트
- scroll
- textview
- Flutter
- appbar
- Navigation
- ScrollView
- intent
- Dialog
- DART
- android
- viewmodel
- Kotlin
- activity
- Coroutines
- Compose
- binding
- tabbar
- LifeCycle
- drift
- 안드로이드
- data
- textfield
- Today
- Total
목록분류 전체보기 (358)
Study Record
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()) # 해시 객체를 만들고..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/DxvYi/btrnqxJzg1w/PIPjWR0VP0iU7JkF29HvOK/img.png)
※ 참고 사이트 Cracking Windows Password Hash with Kali linux Live Booting How to Crack Window Password with Kali Live Usb 1. 개요 악의적인 사용자에 의해 Window 사용자의 암호가 변경되었다고 가정한다. 이때, KaliLinux CD(LiveCD)를 장착하고 부팅 한 뒤, 윈도우 파티션을 마운트하고 관리자의 암호를 초기화한다. 다시 원래대로 부팅을 했을 때, 관리자로 들어가면 암호를 초기화했기 때문에 암호 없이 접속할 수 있다. 그 다음, 원하는 암호로 설정해준다. → KaliLinux CD : kali-linux-2019-W44-amd64.iso 2. 공격 실습 피해 사용자 : Window2008 환경 : Vmw..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/7nNI2/btrnvzTwpcc/dZH0kkJoibRrL4GPWmGJrK/img.png)
※ LM , NTLM 에 대한 설명 - https://medium.com/@petergombos/lm-ntlm-net-ntlmv2-oh-my-a9b235c58ed4 1. 개요 윈도우 시스템이 공격자가 올려둔 백도어를 다운받아 실행된 상태에서 공격자가 윈도우 시스템에 침투하여 권한 상승을 한 다음 저장된 패스워드 해시값을 가져와 크랙작업을 시도한다. 2. 사용 프로그램 ☞ msfconsle CMD 를 이용하여 공격 작업을 실행한다. - post/windows/gather/hashdump : 패스워드 해시값을 가져올 때 사용하는 모듈이다. - auxiliary/analyze/crack_windows : 크랙 작업을 할 때 사용하는 모듈이다. ☞ msfvenom CMD 를 이용하여 악성코드(백도어)를 만든다...
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/cVA7Lh/btrnri48FNS/qXuhKidu3CAettxLEBSe40/img.png)
파일에 대한 해시값을 출력해주는 프로그램 사용법 : checkHash.py ex ) # checkHash.py /python/des.sh # vi checkHash.py #!/usr/bin/python3 import sys import os import subprocess def main(): if len(sys.argv) < 2: print("Usage: " + sys.argv[0] + " ") sys.exit(1) cmdList = ['md5sum', 'shasum', 'sha1sum', 'sha224sum', 'sha256sum', 'sha384sum', 'sha512sum'] for n in range(1, len(sys.argv)): fileName = sys.argv[n] if os.path...
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/YDsry/btrnpyNYIHu/bYU0mRyed0VYHEYRV182t0/img.png)
1. 일방향 해시 함수(One-way hash function) 입력과 출력이 1개씩 있다. 입력은 메시지(message) 출력은 해시값(hash value)로 부른다. 일정한 크기의 출력을 가지고 있다. 입력값이 어떤 값이든 출력값의 크기는 항상 정해져 있다. 일방향성을 갖는다. 해시 값으로부터 메시지를 계산할 수 없다. 메시지가 다르면 해시 값도 달라야 한다. 메시지가 1비트라도 변하면 해시 값은 높은 확률로 다른 값이 되어야 한다. 계산 속도가 빠른다. 정보보호의 3요소(기밀성, 무결성, 가용성) 중 무결성을 제공한다. 2. 해시 함수의 충돌 ☞ 충돌 (Collision) : 2개의 다른 메시지가 같은 해시 값을 갖는 것으로 입력값의 길이가 정해져 있지 않기 때문에 충돌이 생길 수 있다. ☞ 충돌 ..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/dDolOL/btrnqyogrNX/DGTTJGAjVzbt5khfHpVThk/img.png)
1. 하이브리드 암호 개요 대칭키 암호화 방식은 속도는 빠르지만 키 배송 문제가 있고, 공개키 암호화 방식은 키 배송에 대한 문제는 없지만 암호화 속도가 느리다. 대칭키 암호화 방식의 키 배송 문제를 공개키 암호화 방식이 해결해 줄 수 있으므로 메시지 암/복호화는 암호화 속도가 빠른 대칭키 암호화 방식을 사용하고 사전에 키를 공유하는 문제는 공개키 암호화 방식을 사용하면 효율적일 것이다. 바로 이런 방식이 하이브리드 암호 방식이다. 항목 대칭키 암호화 방식 공개키 암호화 방식 키의 상호관계 암호화키 = 복호화키 암호화키 ≠ 복호화키 암호화 키 비밀(secret key) 공개(public key) 복호화 키 비밀(secret key) 비밀(private key) 암호 알고리즘 비밀/공개 공개 대표적인 예 ..
RSA 를 이용한 암/복호화 from Crypto.PublicKey import RSA from Crypto.Cipher import PKCS1_OAEP import os import sys def main(): mymsg = "samsjang loves python" prikey = RSA.generate(1024) pubkey = prikey.publickey() priPemFile = 'prikey.pem' pubPemFile = 'pubkey.pem' if os.path.exists(priPemFile) and os.path.exists(pubPemFile): print('[ OK ] key file exists.') else: createPEM(prikey, pubkey, priPemFile, ..
1. ElGamal 방식 ElGamal 방식은 Taher ElGamal에 의한 공개 키 알고리즘 이산대수를 구하는 것이 어렵다는 것을 이용한다. ElGamal 방식 암호화에서는 암호문의 길이가 평문의 2배가 되어 버린다는 단점이 있다. + GPG(GnuPG)에서 사용 2. Rabin 방식 Rabin 방식은 M.O. Rabin에 의한 공개 키 알고리즘으로 mod N으로 평방근을 구하는 것이 어렵다는 사실을 이용한다. Rabin 방식 공개 키 암호의 해독은 소인수분해 정도로 어렵다는 것이 증명되었다. 3. 타원곡선 암호 타원 곡선 암호(ECC, Elliptic Curve Cryptosystems)는 최근 주목받고 있는 공개 키 암호 알고리즘이다. RSA에 비해 키의 비트 수가 적다. 타원 곡선 위에 곱셈을 ..