0

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を使用します。これは、別のデータ部分を処理して、複数部分の暗号化操作を続行します。

この方法を使用して複数の平文を一度に暗号化できるかどうか、またはすべてのバッファ要素を同じ入力データのブロックと見なすかどうかを知りたいですか?

複数の平文を暗号化できるソリューションを探していますが、それらを(大きな単一アイテムのブロックとしてではなく)個別のアイテムと見なします。

4

2 に答える 2