Encryption

如何計量和限制加密文件的數量?

  • June 29, 2016

首先,如果這不是正確的論壇,我深表歉意,但這是我的問題:

  1. 我有一個黑匣子,它接受一個輸入文件並生成一個輸出文件。
  2. 我想將這個黑匣子賣給客戶,但我想計量/限制客戶可以使用這個黑匣子的文件數量。計數器對客戶是不公平的,因為他們可能會多次使用相同的輸入文件使用該框。
  3. 我可以要求客戶每次都將輸入文件發送給我,我可以對其進行加密,這樣黑匣子就只能與我的加密一起使用。這樣做的問題是客戶可能不想給我輸入文件。
  4. 我可以要求客戶根據每個輸入文件生成某種密鑰;然後我可以為黑匣子生成另一個密鑰並將其發送給客戶使用。這似乎是一個可行的解決方案,我猜這種方案有一個已知的名稱並且之前已經研究過。

加密不是我的領域(我正在建構黑匣子),所以如果有人能指出我使用正確的術語來搜尋這種計量方案,我將不勝感激。

我相信您正在尋找的概念是加密雜湊。這是一個函式,它接受一個(潛在的)長輸入,產生一個短(固定長度)的輸出,並且找到兩個不同的輸入產生相同的輸出是不切實際的。它是一個固定函式;任何人(包括您的客戶)都可以為任何輸入生成雜湊。

它的工作原理是:

  • 客戶將生成他們文件的雜湊值,並將其發送給您
  • 您將獲取此雜湊,並為該雜湊生成一個密鑰(或簽名),並將其發送到黑匣子
  • 黑匣子將獲取簽名和文件,計算文件的雜湊值,並驗證雜湊值是否與簽名相對應。如果是這樣,它將繼續處理文件(並產生輸出)。

一種常見的加密散列函式是 SHA-256;它有一個 256 位(64 個十六進制數字長)的輸出;它需要那麼長才能避免有人計算一長串雜湊並查找恰好生成相同雜湊的兩個不同輸入的攻擊。

或者,如果黑盒可以使用的次數限制不是太大,黑盒可以只計算和儲存輸入文件本身的雜湊值。在這種情況下,如果客戶送出了兩次輸入,黑盒將計算相同的雜湊值,看到它已經在它的列表中,並意識到它正在重新計算輸入。

引用自:https://crypto.stackexchange.com/questions/37364