基本上標題說什麼。如果我有密碼,比如說「APPLEPIE」,當我使用RC4時,使用「APPLEPIE」作爲密鑰是安全的嗎?當你知道密鑰和明文時,是否有可能破解RC4加密,還是短而相同?RC4安全使用明文作爲加密自己的密鑰?
回答
這應該使用密鑰生成算法(如PBKDF2)來處理,該算法將允許您以適合於密碼驗證的方式安全地生成密碼中的哈希值(這是我假設您正在執行的操作)。
儘管可以通過這種方式生成一個系統,通過該系統可以安全地使用這種方法(通過使用良好的KDF(例如PBKDF2)將密碼轉換爲RC4密鑰,然後生成隨機數),這是一個很多開銷沒有目的。爲了達到同樣的安全級別,最終的密碼文本會更長,並且需要更長的時間才能生成。最後,你會剛剛創建一個非常複雜的安全散列函數(其第一步是「做你唯一需要做的事情)」,而且你可能在這個過程中犯了一個錯誤,導致系統不安全RC4可能會很難做到正確並且已知相關密鑰攻擊;因此WEP的破解
謝謝你的回答,這將在一個安全的位置,所以加密並不需要太完美。我只是想知道,按照我提到的方式使用RC4有一個弱點,我可以找到明文,知道密鑰和明文在哪裏。請參閱上面的僞代碼。 –
這取決於你如何使用RC4。如果你正確使用RC4,那麼不,這是合理的保護。但是,如果您正確使用RC4,這是一個非常複雜的解決方案。您需要做的第一步是運行KDF(如PBKDF2)。那時,你已經達到了目標。此時添加RC4只會降低系統的安全性。如果你跳過KDF而不是錯誤地使用RC4,那麼是的,這個系統提供的安全性很差。事實上,你用自己加密密碼只會讓事情變得更糟,但即使如此,它也是不安全的。 –
試圖完全清楚:以這種方式使用RC4比簡單的解決方案更安全。不應該使用這種加密算法,而應該使用加密算法,RC4是一個特別糟糕的選擇,因爲它具有衆所周知的相關密鑰攻擊。你想散列你的密碼。使用散列算法。我建議PBKDF2用於此目的。 –
- 1. 使用DPAPI安全加密密鑰
- 2. RC4從明文和加密數據中查找密鑰
- 3. 使用我自己的密鑰文件進行RSP加密
- 4. 使用純文本的散列作爲加密密鑰安全嗎?
- 5. 一個文本使用多個密鑰加密。它安全嗎?
- 6. Bigquery使用自己的純文本密鑰加密/解密特定列
- 7. 關於使用RC4使用十六進制密鑰文件的加密問題
- 8. random.randint生成加密安全密鑰
- 9. hmac消息加密,但使用我們自己的密鑰
- 10. 如何使用我自己的密鑰安排HashMap中的現有密鑰?
- 11. 使用Crypt :: RC4加密密碼問題
- 12. Azure DocumentDB在休息時加密:使用自己的加密密鑰?
- 13. 我的加密密鑰加密方法是否安全?
- 14. RC4加密
- 15. Android rc4加密
- 16. RC4加密java
- 17. 使用解密密鑰加密文件
- 18. 使用每個用戶的密碼作爲他自己的數據的加密密鑰
- 19. 從用戶密碼安全生成加密密鑰?
- 20. Spark是發明了他自己的AWS祕密密鑰
- 21. 在PHP文件中存儲加密密鑰的安全性
- 22. 使用BigInteger作爲密鑰的Java AES加密/解密
- 23. 爲用戶安全生成RSA密鑰
- 24. 用於AES加密的生成密鑰的安全
- 25. Kinvey密鑰和祕密密鑰安全的Web
- 26. 在PHP中使用密鑰加密和解密使用密鑰的PHP文件
- 27. 將密文解密爲已知密鑰的明文
- 28. rc4密鑰恢復(2條消息,相同的部分密鑰)
- 29. 使用PGP密鑰加密
- 30. 如何安全使用API密鑰
你會如何解密它? –
我不明白第二句話;如果你知道密鑰,那麼在那裏是沒有理由「打破RC4加密」 –
@GregS我不明白,加密的方式也一樣,這是爲了訪問一個PIC芯片,我有一個密碼,比如上面的例子,然後RC4是我的例如: messtoEncrypt = toArray(「MyPassword」) key = toArray(「MyPassword」) rc4 =新ARC4(key); rc4.encrypt(messtoEncrypt); base64String = messtoEncrypt –