Python Forensics-암호화 크래킹
이 장에서는 분석 및 증거 과정에서 가져온 텍스트 데이터 크래킹에 대해 알아 봅니다.
암호화의 일반 텍스트는 메시지와 같이 읽을 수있는 일반 텍스트입니다. 반면에 암호 텍스트는 일반 텍스트를 입력 한 후 가져온 암호화 알고리즘의 출력입니다.
일반 텍스트 메시지를 암호 텍스트로 변환하는 방법에 대한 간단한 알고리즘은 Caesar cipher, Julius Caesar가 일반 텍스트를 적으로부터 비밀로 유지하기 위해 발명했습니다. 이 암호는 메시지의 모든 문자를 알파벳의 세 자리만큼 "앞으로"이동하는 것을 포함합니다.
다음은 데모 그림입니다.
a → D
b → E
c → F
....
w → Z
x → A
y → B
z → C
예
Python 스크립트를 실행할 때 입력 된 메시지는 패턴 증거에 사용되는 모든 문자 가능성을 제공합니다.
사용되는 패턴 증거의 유형은 다음과 같습니다.
- 타이어 트랙 및 마크
- Impressions
- Fingerprints
모든 생체 인식 데이터는 벡터 데이터로 구성되며, 완전한 증거를 수집하기 위해 크랙해야합니다.
다음 Python 코드는 일반 텍스트에서 암호 텍스트를 생성하는 방법을 보여줍니다.
import sys
def decrypt(k,cipher):
plaintext = ''
for each in cipher:
p = (ord(each)-k) % 126
if p < 32:
p+=95
plaintext += chr(p)
print plaintext
def main(argv):
if (len(sys.argv) != 1):
sys.exit('Usage: cracking.py')
cipher = raw_input('Enter message: ')
for i in range(1,95,1):
decrypt(i,cipher)
if __name__ == "__main__":
main(sys.argv[1:])
산출
이제이 코드의 출력을 확인하십시오. 간단한 텍스트 "Radhika"를 입력하면 프로그램은 다음과 같은 암호 텍스트를 생성합니다.