我想用隐写术方法将我的一些秘密数据放入特定的文件中。这种方法是否与 RSA 或 SHA 等其他加密方法一样安全?
隐写术是存储秘密数据的安全方法吗?
不,它根本不安全,隐写术不是加密!
加密意味着方法是已知的,但这不是问题,没有密钥就无法解密数据。当使用了强方法和强键时,拦截器的运气不好。消息对他们毫无用处。
隐写术意味着将数据隐藏在其他数据中,它依赖于隐藏拦截器未知数据的方法!它根本不是加密,但它可以与加密结合使用。如果拦截器期望隐藏消息,则可以很容易地检测到简单/公共领域的隐写技术。
纯隐写术(只是隐藏过程)是通过默默无闻来保证安全,这是一种不好的做法。但是,有时可能需要将隐写术和密码术结合起来,例如,当您根本不希望任何人知道已发送秘密消息时。当拦截器无法破解加密时,它们将无法证明这一点。
@Falcon 的答案在技术上是准确的,但是如果不了解更多细节,就不可能回答这个问题。你在保护谁的数据以及保护数据多长时间,你的 6 岁弟弟或 NSA。你在保护什么,它对你的攻击者有什么价值(即 NSA 可以,但不会破解一封电子邮件,告诉妈妈你正在度过一个多么美好的假期,除非你在他们的监视名单上......)。您将在哪里存储 RSA 的私钥,它们是否“安全”,您如何知道是否有人看到了它们?
我建议您先阅读 Bruce Schneier 的作品,然后再进一步阅读,尤其是 Secrets and Lies,然后是 Applied Cryptography,以便在睡前阅读。
隐写术是将某些数据隐藏在其他数据中的做法。它可以像选择每个句子的第 3 个单词来确定真实文本一样简单,也可以像键控模式一样复杂(类似于加密方法)。
RSA 是一个公钥/私钥系统。这意味着用一个键完成的操作需要另一个键来反转。
SHA 是一种散列算法。这意味着任何数量的数据总是可以映射到固定大小的表示。这是不可逆的。
检测隐写术主要与惰性数据与隐藏数据的比率有关。隐藏数据中的模式也是相关的。首先加密您的隐藏数据可以大大增加避免检测的机会。隐写术有很多方法,所以这是一般规则,而不是硬性规则。
另一个一般规则:加密您不想读取的任何数据。在加密后使用隐写术来隐藏该数据的存在。
这将如何“安全”取决于您试图防范的威胁。
这完全取决于隐写术方法。一些依靠默默无闻的安全性,而另一些则具有扎实的密码学背景,即攻击者必须找到算法中的弱点才能检测数据的存在,然后仍将/应该使用常规加密方法对其进行加密.
但是这种隐写术往往需要非常低的有效载荷/载体比率,即除非文件非常大,否则您可以将非常少的数据放入文件中。