Encryption 加密安全

Encryption 加密安全,encryption,public-key-encryption,Encryption,Public Key Encryption,假设我们有一个号码(12345),我们想把它存储在数据库中,但不知怎么加密了 我们希望避免使用任何常见的加密方法 我们想知道这样做是否安全,如果安全,安全程度如何 原号码:12345 随机播放:35124 添加一些数据:53412-35124-14352 然后将其存储在数据库中 你可以读原始号码,因为你知道去哪里找。 这种方法容易反向工程吗?假设我有办法把一些数字发送给您存储。我给你发了几个号码,然后检查你的“加密”号码 只要看看这个,你就可以很容易地看到发生了什么 你真的不应该发明你自己的加密

假设我们有一个号码(12345),我们想把它存储在数据库中,但不知怎么加密了

我们希望避免使用任何常见的加密方法

我们想知道这样做是否安全,如果安全,安全程度如何

原号码:12345

随机播放:35124

添加一些数据:53412-35124-14352

然后将其存储在数据库中

你可以读原始号码,因为你知道去哪里找。
这种方法容易反向工程吗?

假设我有办法把一些数字发送给您存储。我给你发了几个号码,然后检查你的“加密”号码

只要看看这个,你就可以很容易地看到发生了什么

你真的不应该发明你自己的加密算法。我只想引用:

任何人,从最无知的业余爱好者到最好的密码学家,都能创造出一种他自己无法破解的算法。这甚至不难。困难的是创建一个其他人都无法打破的算法,即使经过多年的分析。要证明这一点,唯一的办法就是让算法接受周围最好的密码学家多年的分析


该方法非常容易进行反向工程和破坏

这种简单的东西可能会被一个人看到并注意到它是一个恒定的位置映射而打破。我给你abcd,你给我bdca-bafd-jc6f。添加的额外数据不会掩盖链接的前4个字符

然而,如果有一种更复杂的方法,类似于机器学习的东西可以应用于计算机检测这些直接模式的地方。谷歌翻译公司(Google translations)利用这一版本,通过纯数学和翻译成多种语言的书籍进行翻译

此外,如果你只是随机数字加密的样本空间将非常小

如果加密文本为:1342

更好的加密意味着它原本可能是0-9999(总计10000)

您的加密告诉我它是从以下24个字符之一开始的:

1234 | 2134 | 3124 | 4123

1243 | 2143 | 3142 | 4132

1324 | 2341 | 3214 | 4213

1342 | 2341 | 3241 | 4231

1423 | 2413 | 3412 | 4312

1432 | 2431 | 3421 | 4321
最后:

因为加密的“保密性”来自不知道如何执行加密的人,所以在他们不知道您是如何执行加密并因此破解加密的情况下,您不能要求社区检查加密的强度


所有好的加密方法“保密性”都来自密钥或密码,这意味着你可以共享该方法,并要求社区测试其强度,因为你没有给他们密钥。

这不是加密的,所以是的。你为什么要避免使用普通加密算法?它们很常见,因为它们工作得很好。好吧,你告诉我这很容易损坏,但你会怎么做?这是我在这个问题上的主要观点。你会如何破解它?用一点已知的明文破解非常容易-可能只是通过检查加密规则之一就是你没有发明你自己的算法。我建议您阅读。假设您向我发送GUID,我使用相同的算法存储它。你真的能说出原来的号码吗?嗯,问题不是“我能吗?”-而是“谁能?”。但是,是的,也许,如果你所做的只是洗牌数字和以随机数字收尾。
1234 | 2134 | 3124 | 4123

1243 | 2143 | 3142 | 4132

1324 | 2341 | 3214 | 4213

1342 | 2341 | 3241 | 4231

1423 | 2413 | 3412 | 4312

1432 | 2431 | 3421 | 4321