否定可能な暗号化は、暗号化方法について説明し、既存の暗号化されたメッセージのもっともらしい否定を使用できるようにします。つまり、プレーンテキストにデータの存在を証明する方法はありません。
世界中の多くの国(たとえば、英国や米国)では、法律違反が疑われていなくても、法執行機関の要求に応じてパスワードの提供を拒否したことで投獄されたり、法的問題に直面したりする可能性があります。
さらに、強力な人々(政府、盗賊のギャング)があなたのラップトップ(機密紙、ビットコインウォレット)に必要な情報を保存する疑いがある場合、検索または強盗のためにあなたのところに来て、潜在的な脆弱性について分析しない可能性が高いが、単にあなたがパスワードを拷問するまであなたを拷問します。
Fractalcryptは、任意の数のキーを持つ暗号化されたファイルを許可します。男性のセットがパスワードを尋ね、暗号化されたコンテナに情報がないか、パスワードを忘れてしまったと言うと、彼らがあなたを信じない可能性がはるかに高くなります。一方、FractalCryptを使用して、未分類のボリュームにキーを安全に配ることができ、実際に開示したよりも多くのボリュームがあることを証明する方法はありません。
さらに、このような方法で暗号化されたファイルは、例えば、未割り当てのドライブスペースにある暗号コンテナーをインターネット上で転送したり、USBスティックにコピーしたりすることができます。
まず、ランダムな文字で満たされたユーザー指定のサイズの暗号継続者を作成します。最初のボリュームを作成するために、プログラムはユーザー指定ファイルをCryptoContainerの先頭にアーカイブし、最初のキーを使用して暗号化します。したがって、最初のキーを知っていると、ファーストレイヤーファイルと残りのCryptoContainerにアクセスできます。
2番目のボリュームを作成するために、プログラムはCryptoContainerの残りのファイルをアーカイブし、2番目のキーで暗号化します。したがって、最初のキーは、第2巻からデータを作成またはアクセスするためにも必要です。
もっともらしい否定性の能力は、暗号化されたファイルがノイズと区別できないことです。 CryptoContainerに保存されているデータの量を見つけることはできません。
n層ファイルを取得するには、ユーザーはnパスワードを入力する必要があります。
リスクのない新しいレイヤー(ボリュームとも呼ばれる)を追加するには(つまり、ノイズの上書き)、すべてのキーを入力する必要があります。それ以外の場合、キーの一部のみを入力すると、新しいレイヤーが暗号化されたデータに記述されます。
ユーザーはレイヤーを削除することもできます。この場合、ノイズで上書きされます。その上のすべてのレイヤーも削除されるため、最上層のみを安全に削除できます。
スタートアップウィンドウ
新しいコンテナの作成
メインウィンドウ。 2つのパスワードが入力されているため、第2巻のファイルを取得するか、3番目のパスワードを作成することができます
アーカイブ作成ウィンドウ
AES-256は、XTSモードの暗号化に使用されます。 Argon2IDは、4回の反復、128MBのメモリコスト、1スレッドでキーを生成するために使用されます
各レイヤーには、復号化された場合、次のヘッダーがあります。
8バイト - 「フラクタル」cストリングシグネチャ(ヌル終端)
8バイト - ビッグエンディアンの後続のzipアーカイブの長さ、16バイトに整列した
PRと貢献を歓迎します。貢献を念頭に置いている場合は、その方法については、寄付ガイドをご覧ください。
FractalCryptは、QTフレームワーク(公式サイトからのダウンロードには登録が必要です)、暗号化用のOpenSSLライブラリ、およびZIPアーカイブの作成と処理のためにQuazipライブラリを使用します。
Quazipは、ZLIBライブラリを使用するGilles VollantのMinizipパッケージ(ライセンス条件によれば、これらのライブラリのファイルがプロジェクトで変更されたことを通知します)のラッパーです。
Windowsの場合、ZlibにはQTが付属しています。
たとえば、リンクをたどって、OpenSSLのみを個別にダウンロードしてインストールする必要があります。
OpenSSLはC: OpenSSL-Win64で利用可能になるはずです。これをファイルFractAlcrypt.proで変更できます。
デフォルトでは、QTはOpenSLを動的にリンクしようとします。この場合、c: openssl-win64 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