바뀜

둘러보기로 가기 검색하러 가기
8 바이트 추가됨 ,  2018년 6월 10일 (일) 00:33
잔글
또한 crypt 함수는 DES의 약점을 보완하기 위해서 glibc2에서는 대칭키 암호 알고리즘인 blowfish와 해시 알고리즘인 MD5, SHA-256, SHA-512를 지원합니다.
해시 함수는 일방항성(one-way)을 갖기 때문에 섀도 파일의 두 번재 필드에 저장된 해시 값은 절대로 알아낼 역산(逆算)할 수 없습니다. 따라서 정확히 말하면 섀도 파일의 두 번째 필드에 저장된 값은 ‘암호화’된 것이 아닙니다. 왜냐하면 해시 값은 ‘복호화’해서 원래의 메시지(평문)를 얻을 수 없기 때문입니다. <ref>이재광, 전태일, 조재신(역) (2013). 알기 쉬운 정보보호개론 흥미로운 암호 기술의 세계 (2판). 히로시 유키의 INFORMATION SECURITY and CRYPTOGRAPHY. 서울: 인피니티북스. P222.</ref>
그동안 ‘암호화’된 데이터가 섀도 파일에 저장된다고 알았다면 잘못 알고 있는 것입니다. 앞에서 설명한 것처럼 섀도 파일의 두 번째 필드에는 암호화된 데이터가 아닌 ‘해시 값’이 저장됩니다. (단, crypt 함수를 사용해서 대칭키 암호 알고리즘인 blowfish를 사용했을 경우에는 암호화가 맞습니다. 왜냐하면 대칭 키를 사용하여 암호화와 복호화가 가능하기 때문입니다. 하지만 blowfish는 일부 리눅스 배포판에서만 지원합니다. 적어도 데비안에서는 섀도 파일의 두 번째 필드에 blowfish가 아닌 해시 알고리즘을 적용합니다.)

둘러보기 메뉴