アップデート一覧に戻る
UpdatedSep 2, 2026

Python Security Project — Updated!

Python Security Projectは、ファイルの暗号化および復号化ツールを実装するプロジェクトです。

共有

🔐 デスクトップ暗号化ファイル暗号化・復号化ツール

ローカルファイルシステムの資産を認証付き対称暗号化を通じて保護するために設計された、本番グレードのPythonデスクトップセキュリティユーティリティです。このアプリケーションは、Tkinterで構築されたレスポンシブなグラフィカルユーザーインターフェース(GUI)、独立した暗号化エンジン、構造化された診断ロギングを備えています。

暗号化ロジック

  • 暗号化: 平文 + 秘密鍵 ──> 暗号文
  • 復号化: 暗号文 + 同じ秘密鍵 ──> 平文

🚀 主な機能

  • Tkinterデスクトップインターフェース: ネイティブOSファイルピッカー、適応型グリッドスケーリング、カスタムアクティブ状態カラートランジション、インタラクティブなステータスアラートを備えた、クリーンでレスポンシブなグラフィカルユーザーインターフェース(GUI)。
  • 疎結合アーキテクチャ: 視覚的プレゼンテーション層(CryptoAppGUI)とコアバックエンド処理アルゴリズム(MyCryptoProcessor)の間の関心事の完全な分離。
  • 認証付き暗号化(AES-128): 堅牢なFernet仕様を活用—CBCモードのAESと128ビットキーに基づいて構築—絶対的なデータ機密性と暗号化整合性を保証します。
  • デュアルターゲットロギングフレームワーク: 揮発性のターミナル出力を、リアルタイムのコンソールメトリクスを同時に出力し、crypto_app.logに永続的な監査トレースを記録するネイティブロギング設定に置き換えました。
  • ランタイムエラー耐性: パストラバーサルクラッシュを防ぎ、欠落ファイルを適切に処理するために、厳格なパスクリーニング、文字列サニタイズルーチン、および詳細なtry-except検証スコープを設計しました。
  • UXセーフティゲート(入力制約): 個別の入力制約付きディレクトリブラウザを実装しました。平文セレクタは.txtファイルのみに表示を制限し、暗号文セレクタは.encryptedファイルのみを排他的にフィルタリングし、誤選択エラーを完全に排除します。

🛠️ 技術スタック

  • 言語: Python 3.x
  • GUIフレームワーク: Tkinter / TTK(ネイティブコンポーネント)
  • 暗号化エンジン: cryptography(Fernet仕様)
  • ロギングエンジン: logging(ネイティブコンポーネント)

📦 インストールとセットアップ

  1. リポジトリのクローン:

    git clone https://gitlab.com/rejithregi-group/SecurityProject.git
    cd SecurityProject
    
  2. 依存関係のインストール:

    pip install -r requirements.txt
    

🖥️ 使用方法とワークフロー

ターミナルからアプリケーションウィンドウを実行します:

python FileEncryptionDecryptionTool.py

一般的な運用ワークフロー

  1. 新しいキーの生成: 青いボタンをクリックして、安全な.keyファイルを生成します。ネイティブOSプロンプトを介して安全に保存してください。警告: このキーを失うと、暗号化されたデータを復元できなくなります。
  2. ターゲットファイルの暗号化: ターゲット平文ファイル行(.txtに厳密にフィルタリング)で「参照...」をクリックし、暗号化マスターキーを選択して、緑の実行ボタンを押します。アプリは.encryptedサフィックス付きの保護されたコピーを出力します。
  3. ターゲットファイルの復号化: 専用のターゲット暗号文ファイル行(.encryptedファイルに厳密にフィルタリング)で「参照...」をクリックし、一致する検証キーを選択して、チャコールボタンを実行して、平文資産をディスクに安全に復元します。

🔒 セキュリティ操作と監査

このユーティリティは、開発者のトレイルを明確に保つために自動診断を積極的に実装しています:

  • システム整合性チェック: すべてのファイル操作は、データブロックのフラッシュと安全なメモリクリーンアップループを保証するために、安全なコンテキストマネージャー(with open)内で実行されます。
  • 監査ロギング: すべてのセッショントランザクション、キーパスマッピング、および運用上の暗号結果は、crypto_app.logという名前の永続ファイル内に明示的にマッピングされます。

👨‍💻 著者

📜 ライセンス

このプロジェクトはMITライセンスの下でライセンスされています。

カテゴリ