본문 바로가기

728x90

디지털포렌식(Digital forensic)/키(key)

(7)
스마트폰 패턴 [랜덤 암호화] 코드 https://delock.tistory.com/115 스마트폰 패턴 암호화 규칙스마트폰의 패턴 암호화는 사용자가 설정한 패턴을 이용해 장치를 잠금 해제하는 보안 방법이다. 패턴 암호화는  3x3 그리드에서 최소 4개의 점을 연결하여 하나의 패턴을 생성하는 방식이다.스delock.tistory.com   위 링크를 통해 스마트폰 패턴 암호화에 사용된 규칙을 정하고3×3 그리드에서 최소 4개의 점을 연결하여 패턴을 만들고패턴을 숫자로 표현한 후 스트링(문자열)으로 만든다.완성된 스트링은 SHA256 알고리즘을 이용해 해시값으로 만든다.  import randomimport hashlib# 3x3 그리드의 각 점을 번호로 매핑grid_points = [(0, 0), (0, 1), (0, 2), ..
[파일] pycryptodome를 이용한 암호화, 복호화 파이썬에서 가장 많이 사용되는 두 개의 암호화 라이브러리는 “cryptography”와 “pycryptodome”이다. 이 중 pycryptodome을 이용해 암호화 평문을 만들고 복호화를 만드는 코드를 파이썬으로 만들어본다. 먼저, 라이브러리를 설치한다. 설치 후 다음과 같은 파일을 만들고 실행한다. import sys # -*- coding: utf-8 -*- from Crypto.Cipher import AES from Crypto.Random import get_random_bytes from Crypto.Util.Padding import pad, unpad # 키 생성 key = get_random_bytes(16) # AES 암호화 객체 생성 cipher = AES.new(key, AES.M..
[파일] ZIP 파일 만들기 코드 python이 설치되어 있다는 가정하에 진행한다. 파이썬 설치와 실행은 간단하므로 다른 포스팅을 ref. 해주길 먼저, 아래와 같은 jpg파일을 준비한다. 파일이름은 example.jpg로 바꾼다. 파이썬 코드를 이용하여 jpg파일을 zip파일로 변환하는 코드를 다음과 같이 만들고 파일명은 zipzip.py로 한다. import zipfile def compress_file(input_filename, output_filename): with zipfile.ZipFile(output_filename, 'w') as zipf: zipf.write(input_filename, arcname=input_filename) # Example usage: input_file = 'example.jpg' output..
윈도우즈 11의 기본값, SSD 암호화 ON 비트로커(BitLocker) 윈도우 11 프로에는 기본 탑재된 비트로커(BitLocker)라는 암호화 소프트웨어가 있다. 비트로커는 SSD 드라이브 성능을 45%까지 떨어트린다. SSD 데이터를 암호화/해독화는 수행하는 프로세스가 계속 돌아가면서 자원을 잡아먹기 때문이다. 윈도우 11 프로는 기본값으로 비트로커를 On 시키기 때문에 사용자는 필요할 경우에는 수동으로 Off 시켜야 한다. 자신의 컴퓨터에 암호화 소프트웨어, 비트로커가 On 된 것인지 아는 방법은 아래처럼 관리자 권한으로 커맨드창을 열고 아래의 명령어를 디렉토리에 관계없이 실행시킨다. e.g.) C:\Windows\System32>manage-bde -status 디스크 볼륨의 암호화 방법에 XTS-AES 128로 나오면 암호화가 진행되고 ..
[파일]QR 코드 생성 프로그램 python으로 만든 QR 코드 생성 앱이다. 코드를 실행하기 전 아래와 같이 pip명령으로 qrcode 라이브러리를 설치한다. (현재 사용하는 python 버전은 312임.) 위 그림에서와 같이 파이썬 파일의 이름은 matrixbarcode.py이며, 아래는 소스 코드 파일이다. import qrcode # 데이터를 바코드로 변환할 문자열 data = "https://search.naver.com/search.naver?where=nexearch&sm=tab_etc&mra=bjky&pkid=1&os=26183684&qvt=0&query=%EC%9D%B4%EC%A0%95%EC%9A%B1" # QR 코드 생성 qr = qrcode.QRCode( version=1, # QR 코드 버전 (1부터 40까지) e..
아핀(affine) 암호, QAPASAA가 가르키는 나라는? 아핀 암호는 시저 암호와 비제네르 암호보다 더 복잡한 암호화 방법으로, 두 개의 정수 값과 모듈러 연산을 사용하여 암호화한다. 아핀 암호의 수학식은 아래와 같다. C = (a * P + b) % 26 C: 암호문의 문자 a: 정수 값(공개적으로 알려진 값) P: 평문 문자 b: 정수 값(또 다른 키 값) 26: 알파벳 길이 (알파벳 개수 = 문자집합의 크기) 여기서 a와 b는 암호화를 조절하는 두 개의 키 값이다. a는 모듈러 역원을 가지는 값이고, 이는 수학적으로 '서로소 관계'인 경우에 해당된다. 아핀 암호는 암호학에서 사용되는 대표적인 대치 암호 중 하나입니다. 이 암호는 두 개의 정수, 일반적으로 a와 b라고 표시되는 두 개의 매개변수를 사용하여 평문 문자를 암호화하는 데 사용됩니다. 아핀 암호의..
린겐 서명 암호, Lattice Signature 린겐 서명은 격자 기반 암호화의 한 형태로 양자 암호화의 한 종류다. privateKey 생성: GeneratePrivateKey 함수는 주어진 크기와 모듈러 값에 따라 무작위 개인키를 생성한다. 개인키의 각 요소는 0부터 q-1까지의 값을 가지게 된다. publicKey 생성: GeneratePublicKey 함수는 개인키와 격자의 차원, 모듈러 값을 사용하여 공개키를 생성한다. 각 공개키 요소는 개인키의 요소들과 함께 계산되는데(이 때 특정한 수식과 계산 방식을 사용한다.). 공개키의 각 요소는 개인키의 요소를 활용하여 계산되며, 이때 격자의 차원에 따라 계산이 이루어진다. 이 과정이 린겐 서명의 핵심적인 계산 과정 중 하나가 된다. 아래 코드는 린겐 서명의 개념을 실험적으로 볼 수 있다. 개념적으로..

728x90