2017-07-31 38 views
1

我該如何達到這樣的合規性?在方法GenerateRandomInvertibleRSAFunction中,當調用方法SignaturePairwiseConsistencyTest_FIPS_140_Only(signer, verifier)時,我收到異常。 我選擇種子錯了嗎?或者長度?CRYPTOPP中符合FIPS 140-2的是什麼?

if (FIPS_140_2_ComplianceEnabled()) 
{ 
    RSASS<PKCS1v15, SHA>::Signer signer(*this); 
    RSASS<PKCS1v15, SHA>::Verifier verifier(signer); 
    SignaturePairwiseConsistencyTest_FIPS_140_Only(signer, verifier); 

    RSAES<OAEP<SHA> >::Decryptor decryptor(*this); 
    RSAES<OAEP<SHA> >::Encryptor encryptor(decryptor); 
    EncryptionPairwiseConsistencyTest_FIPS_140_Only(encryptor, decryptor); 
} 

回答

2

我如何能滿足FIPS140-2合規?

這是一個很大的話題。 Crypto ++的主題爲FIPS DLL。以下是一些較高級別的要點。

  • 驗證的用於Windows
  • 必須下載預建的FIPS DLL
  • 運行環境:
    • Windows 2000專業版操作系統,Service Pack 1的
    • Windows 2000專業版操作系統,服務包1
    • Windows XP Professional SP2和Windows Server 2003 X64 SP1

在2017年夏天,我在International Cryptographic Module Conference發表了談話。該演講的標題爲Crypto++: Past Validations and Future Directions

它的短是:

  • 加密+是歷史驗證的名單上。對於所有意圖和目的,我們不再驗證
  • Crypto ++可能不會再尋求驗證。它太貴
  • 驗證一個C++庫只不過是一個C庫
  • 實施和使用C相比,C庫
  • 加密+可以使用OpenSSL的FIPS Object Module(FOM)提供驗證的加密++庫是痛苦的不同。我在演講中展示了它

Crypto ++會包裝OpenSSL似乎有點奇怪。我認爲它也是。但是,FIPS 140-2是一個過程。它與算法的實際技術實現很少有關。包裝OpenSSL模塊的Crypto ++是一個不需要花費任何成本的問題的直接解決方案(相對於$ 100,000美元的新驗證)。