일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- textview
- 앱바
- Dialog
- Button
- livedata
- 앱
- scroll
- android
- CustomScrollView
- 테스트
- 계측
- appbar
- ScrollView
- activity
- TEST
- drift
- textfield
- DART
- Coroutines
- data
- Kotlin
- viewmodel
- LifeCycle
- intent
- Navigation
- binding
- Compose
- 안드로이드
- Flutter
- tabbar
- Today
- Total
목록분류 전체보기 (358)
Study Record
#include #include using namespace std; vector solution(vector progresses, vector speeds) { vector answer; int day = 0, i=0, len = speeds.size(); while(i = 100){ num++;..
음양 더하기 #include #include using namespace std; int solution(vector absolutes, vector signs) { int answer = 0; for(int i=0; i
AES-CBC 암호화/복호화 프로그램 # AES-CBC # Cipher Algorithm : AES # * input : 16 bytes (128bits) # * output : 16 bytes (128bits) # * key : 128 bits(16), 192 bits(24), 256 bits(32) # * Cipher Mode : CBC # * iv : 16 bytes # * pad, unpad from Crypto.Cipher import AES from Crypto.Random import get_random_bytes from Crypto.Util.Padding import pad, unpad class MyAES: # MyAES(keysize, ivsize) def __init__(self, ..
#include #include using namespace std; int solution(vector numbers) { int answer = 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9; for(int i=0; i
#include #include using namespace std; vector solution(int m, int n, vector picture) { int number_of_area = 0; int max_size_of_one_area = 0; for (int i = 0; i < m; i++) { for (int k = 0; k < n; k++) { // 0 이면 패스 if (picture[i][k] == 0) continue; else { number_of_area++; int size_of_area = 1; int area_value = picture[i][k]; picture[i][k] = 0; stack area; area.push(make_pair(i, k)); do { int now_i..
- API 참고 # TDES-CBC # Block Cipher : DES3 # input : 8 bytes # output : 8 bytes # key : 8 bytes x 3 = 24 bytes(k1, k2, k3) # Block Cipher Mode : CBC # IV : 8 bytes # pad, unpad from Crypto.Cipher import DES3 from Crypto.Random import get_random_bytes from Crypto.Util.Padding import pad, unpad class MyDES3: # variable : msg, key, iv # function : encrypt, decrypt def __init__(self, key, iv): self.k..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/XfHVE/btrmRiEqToq/zQmnh3YsT7KOz9gkSivb81/img.png)
1. ECB 모드: Electric CodeBook Mode(전자 부호표 모드) - 현재 사용되지 않음 평문 블록을 암호화한 것이 그대로 암호문 블록이 된다. 패딩(Padding) 작업만 필요시 한다. 안전하지 않아 잘 사용되지 않는다. 입력하는 평문의 블록과 암호문의 블록이 동일하고 순서를 맞췄기 때문에 은행 정보를 전달할 때 송신자와 수신자를 바꾸거나 하는 공격을 당해도 그대로 실행될 수 있다. 재전송 공격이 가능하다. 2. CBC 모드: Cipher Block Chaning Mode(암호 블록 연쇄 모드) - 현재 사용 권장됨 CBC 모드에서는 1단계 앞에서 수행되어 결과로 출력된 암호문 블록에 평문 블록을 XOR 하고 나서 암호화를 수행한다. 각각의 암호문 블록은 단지 현재 평문 블록뿐만 아니라 ..
☞ 공격할 암호화된 파일 생성 - /test/file1.txt.gpg # cd /test # cp /etc/hosts file1.txt # gpg -c file1.txt 암호 : soldesk1. ☞ 사전파일 생성 - /python/dict/dict.txt - https://laustudy.tistory.com/99 # mkdir -p /python/dict # chmod -R 777 /python # tree -C /python # cd /python/dict # cat dict.txt user01 user02 admin soldesk1. administration EOF ☞ 공격 프로그램 (shell) # vi /python/attack_gpg.sh (# chmod +x /python/attack_g..