參考鏈接 arc4.h
- Linux加密框架中的主要數據結構(一)_家有一希的博客-CSDN博客
頭文件
- arc4.h - include/crypto/arc4.h - Linux source code (v5.15.11) - Bootlin
?實現代碼 arc4.c
- arc4.c - crypto/arc4.c - Linux source code (v5.15.11) - Bootlin
- V5.15.11 版本說明 只剩下 ecb(arc4)?
- 算法名為"ecb(arc4)",未說明算法驅動名,注冊時將算法驅動名填充為"ecb(arc4)-generic"
- 算法的分組長度為ARC4_BLOCK_SIZE(1)字節,上下文空間為數據結構staruct arc4_ctx的一個實例
- RC4算法雖然是一個序列算法,但在加密框架中按照分組長度為1的分組算法實現,因此其算法類型為CRYPTO_ALG_TYPE_CIPHER(待定? 存疑),個性化屬性中密鑰長度的下限和上限分別為ARC4_MIN_KEY_SIZE(1)、ARC4_MAX_KEY_SIZE(256)
- 三個算法接口為密鑰設置接口crypto_arc4_set_key、加密接口和解密接口均為crypto_arc4_crypt。
- 使用序列算法時,其加密/解密操作都是密碼流和明文/密文的異或過程,因此其加密接口和解密接口相同。
注意事項
- 上述鏈接指向的文章中,提到的CRYPTO_ALG_TYPE_BLKCIPHER相關內容,在目前版本V5.15.11中未找到
- *注意事項:?.cra_flags = CRYPTO_ALG_TYPE_BLKCIPHER? 先前會將cra_flags設置為CRYPTO_ALG_TYPE_BLKCIPHER,即 塊加密算法,其個性化屬性數據結構為struct blkcipher_alg