我通过添加具有相同密码的密钥然后将其删除,破坏了我的 luks 磁盘

我通过添加具有相同密码的密钥然后将其删除,破坏了我的 luks 磁盘

这是一个有趣的故事。我想更改我的密码,但我做了一件非常愚蠢的事情(当时已经很晚了,我度过了一个糟糕的一天/夜晚,到处都是水龙卷、醉酒的司机和坏掉的汽车电池)。但无论如何,我首先运行了:

cryptsetup luksAddKey /dev/sda5 

然后输入我的密码。然后我觉得我必须确认一下,所以我又输入了一次。(错误1,阅读很重要)

当我在终端上读回时,我看到它实际上要求输入一个新的。我想,哦,这可能很糟糕,所以我试图打开卷,但打不开。我检查了 luksDump,发现我有两个键槽。而且我没有备份标题。(错误2,准备至关重要)

我以为我的磁盘坏了,所以我删除了额外的密码(错误3,三思而后行)

cryptsetup luksRemoveKey /dev/sda5 

然后我检查了 luksDump 并删除了错误的一个:

Keyslot 0: DISABLED 

我尝试打开它,但用旧密码却打不开。现在我知道我彻底搞砸了。

我的问题是我的设置处于什么状态。我有几个选择:

  1. 设置仍然正确,但新密码包含拼写错误。
  2. 设置仍然良好,但我丢失了钥匙。
  3. 设置处于某种未定义状态。

我发现只有第一种情况我才能恢复。情况还好,我备份了大部分数据,但我仍然想知道我造成了什么问题,以及我是否可以恢复。如果是打字错误,我可以编写一些程序来尝试我犯的各种打字错误。

编辑

第一种情况也不可行。密码短语长度为 40 个字符(不包括空格)。假设我输入了密码(没有替换空格)。那么我有 +/- 6 种可能输入错误。我不会一直犯拼写错误,假设我可能犯了 1 到 3 个拼写错误。然后我已经可以扫描 10321 个(6^0 + 40 * 6^1 + 40 * 6^2 ...)密码短语,这将花费相同的秒数,在我的笔记本电脑上已经是 2 个多小时了。

当我考虑字符交换时,数量将进一步激增。如果我交换了两个字符,我需要检查原始密码的 40 个变体,以查找每个可能的拼写错误。这需要 4 天时间。(40 * (6 ^ 0 * 40 + 6 ^ 1 * 40 + 6 ^ 2 * 40 ..))如果我没有进行空格交换,则需要两个小时。然后我们需要删除、插入和交换多个字符,可能还要考虑更多拼写错误等。

相关内容