2017-01-18 38 views
0

我是這個領域的新手,我必須構建一個相當安全的許可證機制,但是我對公鑰體系的工作原理有一些疑問。關於爲許可證系統創建密鑰生成器的問題

  1. 想象一下使用私鑰生成帶有MAC和過期日期的字符串的密鑰生成器的實現。該字符串將被軟件解密,MAC將被檢查以查看它是否可以執行。我的問題是:如果有人解密我的信息並看到MAC,那麼創建密鑰將會相當容易,不是嗎?我說因爲我知道有一些數學背後的事實是你可以使用一個私鑰進行加密並使用公共密鑰進行解密,因此,使用加密的消息,真實消息和公共密鑰,我猜測有人可以找到私鑰鍵。

  2. 我在討論中有點迷失了是否有必要在加密之前散列某些消息。還有使用橢圓曲線進行壓縮。如果有人能給我一些關於這個話題的信息,我將不勝感激。

P.S.我正在使用C++,但歡迎任何其他語言的評論。

+0

「因此,使用加密消息,真實消息和公鑰,我猜測有人可以找到私鑰。」 - 這不適用於任何*公鑰算法。 – JimmyB

+2

爲什麼不使用您的私鑰*簽署*許可證數據,並使用嵌入您應用程序中的公鑰驗證簽名? – JimmyB

回答

1

創建DSA或ECDSA或<insert favourite sigining algo here>密鑰對...你保持私鑰的安全......公鑰嵌入到你的二進制

創建一個數據結構牽着你的相關許可信息

壓縮它

牌子吧

在許可證檢查:

驗證許可證小號ignature

解壓結構

化妝是基於許可證數據需要什麼檢查


  1. 共同衆所周知不對稱密碼都不對已知明文攻擊

  2. 據我所知容易橢圓曲線不用於壓縮的情況下

橢圓曲線密碼學的上下文中使用(讀加密和數字簽名)

  • 訓練你谷歌複用:RSA,DSA,ECC(橢圓曲線加密),ECDSA