그래서 보안 파이썬 프로그래밍에 약간의 실험이 있습니다. D). 이것은 현실 세계 프로젝트의 절반이며, 훈련 훈련의 절반 정도입니다. 그래서 이론과 실용적인 조언 모두가 높이 평가됩니다. 나는 방식으로 텍스트를 암호화하는 AES 소금에 절인 암호화 스크립트를 사용하고암호화 된 텍스트와 암호화되지 않은 텍스트에서 AES "salt"가져 오기
...
data = "hello"
encrypted_text = encryption(data, salt_word)
print encrypted_text (responds with "huio37*\xhuws%hwj2\xkuyq\x#5tYtd\xhdtye")
plain_text = decryption(encrypted_text, salt_word)
print plain_text (responds with "hello")
질문 : 당신은 "encrypted_text"와 "plain_text"의 값을 알고 있다면 ... 당신은 리버스 엔지니어링 할 수 있습니다 "salt_word". 만약 그렇다면, 얼마나 힘들지? (PC에서 12 초, 또는 Cray에서 20 년)
AES의 전체적인 관점에서의 이해는 불가능합니다. 그러나 나는 그다지 친숙하지 않다. 내가 여기 스크립트의 근소하게 수정 된 버전을 사용하고
: Encrypt/decrypt data in python with salt
는 기본적으로, "데이터"를 암호화하기 위해 "소금"을 사용합니다. salt는 문자열이고 데이터는 암호화 된 문자의 문자열로 나옵니다.
같은 salt 문자열을 사용하는 decrypt를 사용하여 데이터를 일반 텍스트로 반환합니다.
"소금"이란 무엇을 의미합니까? AES 키를 생성하기 위해 비밀번호를 암호화하고 있습니까? –
당신이 사용하고있는'encrypt' 메쏘드를 알지 못한다면 말하기가 약간 어렵습니다. 열쇠 또는 암호가 주입되는 부분을 놓친 것 같습니다. 소금은 일반적으로 암호 기반 키 유도 함수 (PBKDF) 또는 덜 안전한 구현을 위해 소금에 절인 해시 값에 대해서만 사용됩니다. –