MD5 ハッシュ処理における符号化の不整合と API 署名の実装ガイド

MD5 アルゴリズムの基礎 MD5(Message-Digest Algorithm 5)は、データの完全性を保証するために用いられるハッシュアルゴリズムの一つです。これは元のメッセージを固定長の値に変換する機能を持ち、情報の改ざん検知や暗号化に応用されます。類似する前身バージョンとして MD2、MD3、MD4 が存在しており、現在も主要なプログラミング言語には標準的なライブラリが備わっ ...

8月1日 08:36 投稿

CTF暗号学チャレンジ:RSA攻撃と古典暗号の解析

RDSA派生アルゴリズムと攻撃手法 連続素数を利用したRSA (MRCTF2020 babyRSA) この課題では、RSAの鍵生成に連続する素数と特殊な演算が使用されています。まず、公開情報から17個の連続した小さな素数を復元し、それらの積からなる $n$ を算出する必要があります。与えられた $p^{65537} \pmod n$ という値を利用し、離散対数問題的なアプローチあるいは既知の構造を利用 ...

7月10日 20:25 投稿

Javaのキーストア形式:JKSの操作と管理

JKS(Java KeyStore)は、Javaプラットフォーム専用に設計されたキーストア形式です。SSL/TLS通信で使用される秘密鍵と証明書を格納できますが、共通鍵(シークレットキー)の保存には利用できません。JKSファイルは通常「.jks」拡張子を持ち、標準のkeytoolでは内部に格納された秘密鍵を取り出すことはできません。 空のJKSキーストアを作成する JKSキーストアを作成する ...

7月7日 17:40 投稿

ペネトレーションテストの核心知識:ゼロから完全マスターまで

主要分野 Webセキュリティ バイナリセキュリティ(リバースエンジニアリング・エクスプロイト含む) 暗号理論 基礎知識領域 ソフトウェア開発 データベース原理 プログラミング言語 デジタルフォレンジックとステガノグラフィー ネットワークプロトコルとアルゴリズム アルゴリズムとデータ構造 オープンソースツールの内部原理理解と独自ツール作 ...

6月3日 19:53 投稿

AES暗号化で結果が異なる場合の対処方法

AES暗号化処理において、同一データを暗号化しても出力結果が毎回異なるという問題が発生することがあります。 Python実装例 from Crypto.Cipher import AES from Crypto.Util.Padding import pad import base64 def perform_aes_encryption(message, encryption_key): # AES ECBモードによる暗号化オブジェクト生成 crypto_handler = AES.new(encryption_key, ...

5月19日 16:00 投稿

JavaにおけるPKCS12形式のキーストア操作ガイド

PKCS12は、暗号化オブジェクトを単一ファイルとして保存するための標準化されたファイル形式です。この形式では、秘密鍵、公開鍵、証明書などを格納でき、JavaだけでなくC、C++、C#などの他の言語ライブラリとも互換性があります。PKCS12は主に他のキーストア形式との間でのデータ移行に利用されます。 PKCS12キーストアの作成 PKCS12形式のキーストアを利用するには、ま ...

5月13日 11:41 投稿