PKCS#11 と SafeNet HSM デバイスを使用して、多数の平文を暗号化したいと考えています。平文を一つ一つ暗号化すると時間がかかります。
それで、一度に複数のデータを暗号化できる PKCS#11 の方法があれば、私の頭に浮かびましたか?
PKCS #11 API を使用している SafeNet C プログラミング マニュアルで、以下の複数パート データの暗号化のサンプルを見つけました。
/* read, encrypt, digest and write the cipher text in chunks
*/ totbw = 0;
for ( ;; ) {
br = fread(buffer, 1, sizeof(buffer), ifp);
if ( br == 0 )
break;
/* digest */
/* encrypt */
curLen = sizeof(encbuffer);
rv = C_EncryptUpdate(hrSession, buffer, (CK_SIZE)br, encbuffer, &curLen);
CHECK_RV(FN "C_EncryptUpdate", rv);
if (rv) return 1;
/* write cipher text */
br = fwrite(encbuffer, 1, (int)curLen, ofp);
totbw += br;
}
そのマニュアルには次のように記載されています。
暗号化にはC_EncryptUpdateを使用します。これは、別のデータ部分を処理して、複数部分の暗号化操作を続行します。
この方法を使用して複数の平文を一度に暗号化できるかどうか、またはすべてのバッファ要素を同じ入力データのブロックと見なすかどうかを知りたいですか?
複数の平文を暗号化できるソリューションを探していますが、それらを(大きな単一アイテムのブロックとしてではなく)個別のアイテムと見なします。