簡體   English   中英

RC4 Drop-N PHP實現

[英]RC4 Drop-N PHP Implementation

我已經在PHP中實現了RC4密碼(與該http://pear.php.net/package/Crypt_RC42幾乎完全相同)。

但是,我想介紹一下( http://en.wikipedia.org/wiki/RC4#Fluhrer.2C_Mantin_and_Shamir_attack )中提到的“ Drop-N”方法。

有沒有一種簡單的方法可以根據我上面使用的類來實現呢?

您要做的就是在加密(或解密)之前將n字節數據添加到純文本(或密文)的開頭。

只要有n個字節,這些字節包含什么都沒有關系。 然后丟棄加密(解密)數據的前n個字節。 使用不同的填充字節進行加密和解密不會有任何區別。

換句話說:

$define('DROP_N_PADDING_LENGTH',512);  // (or whatever)
$message = "Hello, world!";

// encrypt:
$ciphertext = $rc4->encrypt(str_repeat(" ",DROP_N_PADDING_LENGTH) . $message);
$ciphertext = substr($ciphertext,DROP_N_PADDING_LENGTH);

// decrypt:
$plaintext = $rc4->decrypt(str_repeat(" ",DROP_N_PADDING_LENGTH) . $ciphertext);
$plaintext = substr($plaintext,DROP_N_PADDING_LENGTH);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM