거부 가능한 암호화는 암호화 방법을 설명하여 기존 암호화 된 메시지의 그럴듯한 거부를 사용할 수있게하므로 일반 텍스트에서 데이터의 존재를 증명할 방법이 없습니다.
전 세계의 많은 국가 (예 : 영국 또는 미국)에서는 법 집행 기관이 요구하는대로 귀하의 법 집행 기관이 요구하는대로 귀하의 비밀번호 제공을 거부하는 법적 문제에 직면 할 수 있습니다.
또한, 강력한 그룹의 사람들 (정부, 산적 갱)이 랩톱 (기밀 논문, 비트 코인 지갑)에 필요한 정보를 저장하고 검색이나 강도를 위해 당신에게 와서 암호화 된 파일을 찾으면 잠재적 인 취약성을 위해 그것을 분석하지 않을 것입니다.
FractalCrypt는 임의의 키가있는 암호화 된 파일을 허용합니다. 한 세트의 남성이 암호를 요청하고 암호화 된 컨테이너에 정보가 없거나 암호를 잊어 버렸다고 말하면, 그들이 당신을 믿지 않을 가능성이 훨씬 높습니다. 반면, FractalCrypt를 사용하면 분류되지 않은 볼륨의 키를 안전하게 줄 수 있으며, 실제로 공개 한 것보다 실제로 더 많은 볼륨이 있음을 증명할 방법이 없습니다.
또한, 그러한 방식으로 암호화 된 파일은 할당되지 않은 드라이브 공간의 Cryptocontainer를 인터넷을 통해 전송하고 USB 스틱 등으로 복사 할 수 있다고 가정 해 봅시다.
먼저, 임의의 문자로 채워진 사용자 지정 크기의 암호화 윤곽을 만듭니다. 첫 번째 볼륨을 만들기 위해 프로그램은 사용자 지정 파일을 cryptocontainer의 시작 부분에 보관하고 첫 번째 키를 사용하여 암호화합니다. 따라서 첫 번째 키를 알면 첫 번째 층 파일과 나머지 Cryptocontainer에 액세스 할 수 있습니다.
두 번째 볼륨을 만들려면 프로그램은 나머지 Cryptocontainer의 파일을 보관하고 두 번째 키로 암호화합니다. 따라서 첫 번째 키는 두 번째 볼륨에서 데이터를 생성하거나 액세스하기 위해서도 필요합니다.
그럴듯한 거부의 기능은 암호화 된 파일이 노이즈와 구별 할 수 없다는 것입니다. cryptocontainer에 저장된 데이터의 양을 찾을 수있는 방법은 없습니다.
n-layer 파일을 얻으려면 사용자가 n 비밀번호를 입력해야합니다.
위험이없는 새 레이어 (즉, 소음을 덮어 쓰기)를 추가하려면 모든 키를 입력해야합니다. 그렇지 않으면 키의 일부만 입력하면 새 레이어가 암호화 된 데이터에 대해 작성됩니다.
사용자는 또한 레이어를 삭제할 수 있습니다.이 경우 노이즈로 덮어 씁니다. 그 위에있는 모든 층도 제거되므로 상단 레이어 만 안전하게 제거 할 수 있습니다.
시작 창
새 컨테이너 생성
메인 창. 두 개의 비밀번호가 입력되므로 두 번째 볼륨의 파일을 얻거나 세 번째 볼륨을 만들 수 있습니다.
아카이브 생성 창
AES-256은 XTS 모드에서 암호화에 사용됩니다. Argon2ID는 4 개의 반복, 128MB 메모리 비용 및 1 스레드가있는 키를 생성하는 데 사용됩니다.
해독 될 때 각 층에는 다음 헤더가 있습니다.
8 바이트-"Fractal"C-string Signature (Null-Terminated)
8 바이트 - Big Endian의 후속 Zip 아카이브의 길이는 16 바이트로 정렬됩니다.
PR 및 기부금이 환영됩니다. 기부금을 염두에두면 기여 방법에 대한 정보는 기여 가이드를 확인하십시오.
FractAlcrypt는 QT 프레임 워크 (공식 사이트에서 다운로드하는 데 다운로드가 필요함), 암호화를위한 OpenSSL 라이브러리 및 Zip Archive 생성 및 처리를위한 Quazip 라이브러리를 사용합니다.
Quazip은 Zlib 라이브러리를 사용하는 Gilles Vollant 's Minizip 패키지의 래퍼입니다 (라이센스 용어에 따르면이 라이브러리의 파일이 프로젝트에서 변경되었음을 알 수 있음).
Windows의 경우 Zlib은 QT와 함께 제공됩니다.
예를 들어 링크를 따라 OpenSSL 만 개별적으로 다운로드하고 설치해야합니다.
OpenSSL은 C : OpenSSL-WIN64에서 사용할 수 있어야합니다. FractAlcrypt.pro 파일에서이를 변경할 수 있습니다.
기본적으로 QT는 OpenSSL을 동적으로 연결하려고 시도합니다.이 경우 실행 가능 파일이있는 디렉토리의 파일 C : OpenSSL-WIN64 BIN BIN BIN BIN BIN BIN BIN BIN BIN BIN BIN BIN BIN BIN BIN BIN LIBCRYPTO-1_1-X64.DLL이 필요할 수 있습니다.
배포판에 포함되지 않은 경우 Zlib 및 OpenSSL 라이브러리를 개별적으로 설치해야합니다.
APT 기반 시스템에서는 다음과 같은 명령으로 수행 할 수 있습니다.
sudo apt-get install zlib1g-dev libssl-dev
sudo apt-get install qt5-default qt5-qmake qtbase5-dev-tools qtchooser libqt5core5a qtbase-abi-5-12-8
git clone https://github.com/zorggish/FractalCryptGUI.git
cd FractalCryptGUI
qmake -project
qmake FractalCrypt.pro
make
./FractalCrypt