我是新的C + +代碼,我嘗試打開crypt ++庫中的AES代碼添加圓鍵和混合列,但我沒有知道如何訪問它們 任何一個可以幫助我,請 感謝我怎麼才能找到加密輪密鑰和密碼+庫的AES混合列代碼
0
A
回答
-1
我認爲這是不容易找到AES輪的內部代碼,
1
的AES實現是rijndael.cpp。您要求提供sbox,添加輪密鑰和混合操作;他們都在QUARTER_ROUND宏:
QUARTER_ROUND_FE
- 第一加密輪迴QUARTER_ROUND_E
- 隨後的加密輪QUARTER_ROUND_LE
- 最後加密輪迴
和等效截至解密宏D
不是E
。這些被定義爲
#define QUARTER_ROUND(L, T, t, a, b, c, d) \
a ^= L(T, 3, byte(t)); t >>= 8;\
b ^= L(T, 2, byte(t)); t >>= 8;\
c ^= L(T, 1, byte(t)); t >>= 8;\
d ^= L(T, 0, t);
#define TL_M(T, i, x) (*(word32 *)((byte *)T + x*8 + (i+3)%4+1))
#define QUARTER_ROUND_E(t, a, b, c, d) QUARTER_ROUND(TL_M, Te, t, a, b, c, d)
其中
TL_M
是混合宏Te
是加密的S-boxt
是關鍵a
的一個32位的部,b
,c
,d
是當前塊的012位的32位部分
相關問題
- 1. AES加密和解密的源代碼
- 2. AES密碼加密
- 3. AES加密密鑰和IV
- 4. 加密AES密鑰?
- 5. AES密鑰,加密
- 6. AWS使用什麼密碼/密鑰進行AES-256加密?
- 7. 我怎樣才能找到我的密碼標識是什麼?
- 8. AES加密,示例代碼
- 9. 僅基於密碼生成AES密鑰
- 10. AES自定義密碼密鑰
- 11. 從RSA編碼的AES密鑰生成AES密鑰
- 12. Byte []密鑰加密C#Aes
- 13. OpenSSL密鑰在aes加密?
- 14. Android AES加密密鑰
- 15. AES密鑰包裝加密
- 16. 我已經加密AES密鑰的AES密鑰存儲在數據庫中的密鑰字符串,當我嘗試解密密鑰我得到:
- 17. 混合RSA-AES加密
- 18. 爲什麼我不能解密我的AES加密的消息在別人的AES密碼解密器上?
- 19. 如何使用密碼加密AES密鑰?
- 20. 使用AES和長密鑰進行一次塊密碼解密
- 21. 密鑰庫密碼丟失
- 22. 密鑰庫更改密碼
- 23. AES加密和密鑰存儲?
- 24. 如何找到移位密碼的加密密鑰?
- 25. Objective C加密代碼不能像Android AES 256,md5加密
- 26. 從加密和明文數據中找到AES密鑰
- 27. 有密鑰庫密碼和別名密碼不同的風險
- 28. 我忘了密鑰庫密碼
- 29. 使用多輪AES加密的bcrypt密碼?
- 30. 通過Android API發送密鑰組合(元密鑰和密鑰代碼)
它們可能[在此文件中](http://sourceforge.net/p/cryptopp/code/HEAD/tree/trunk/c5/rijndael.cpp)。你的問題到底是什麼 - 尋找來源,或者認識到這些部分或其他東西?如果你只是想定義,你不能找到一個更簡單的參考實現或讀取算法描述的地方? – Rup 2014-10-22 08:53:04
謝謝,但我需要的加密代碼(sbox_add輪密鑰和混合列) – Mohammad 2014-10-22 09:42:43
他們不是在那個文件?它特別是您想要的Crypto ++實現嗎?它是通用的可移植C實現還是彙編優化實現?他們都在那個檔案裏。 – Rup 2014-10-22 09:59:12