Контрольная цифра в ключе восстановления битлокера - PullRequest
0 голосов
/ 16 октября 2019

Как построить контрольную цифру в ключе битлокера? Я просто не могу понять это из следующих источников: https://blogs.msdn.microsoft.com/si_team/2006/08/10/bitlocker-recovery-password-details/ http://jessekornblum.com/publications/di09.pdf гл. 5.4

Должен ли я генерировать случайное 5-значное число и добавлять дополнительно вычисляемую цифру? но как сделать его все еще делимым на 11?

вот как я сейчас строю свои группы:

byte[] randomBytes = new byte[128];
rnd.nextBytes(randomBytes);
BitSet bitSet= BitSet.valueOf(randomBytes);
String key="";
String group="";
for (int i = 0; i < 8; i++) {
    BitSet groupBitSet = bitSet.get(i*16,16*(i+1)-1);
    group=String.format("%06d",groupBitSet.toLongArray()[0]*11);
    key=key+group;
    if (i<7) { key=key+'-';}
}

return key;

Конечно, последняя цифра каждой группы не соответствует спецификациям. ...

Не могли бы вы объяснить право на это?

Спасибо

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...