Интернет магазин китайских планшетных компьютеров



Компьютеры - ECHO - COMPRESS1024

09 июня 2011


Оглавление:
1. ECHO
2. Обозначения
3. COMPRESS512
4. COMPRESS1024



Для значений HSIZE, больших 256 бит применяется функция сжатия COMPRESS1024. Операции в COMPRESS1024 совпадают с операциями в COMPRESS512, за исключением нескольких отличий:

1.  Дополненное сообщение M' разбивается на t блоков M1...Mt, каждый из которых имеет длину 1024 бит.
2.  Переменная цепочки состоит из восьми 128-битовых слов V_i = v_{i}^0...v_{i}^7 и инициализируется так, как описано выше.
3.  В начале сжатия переменная цепочки и блок сообщения упаковываются в матрицу 4 на 4 следующим образом:
{| class="wikitable" width="220px"

|- align="center" bgcolor="white" | v_{i-1}^{0} | v_{i-1}^{4} | m_{i}^{0} | m_{i}^{4} |- align="center" bgcolor="white" | v_{i-1}^{1} | v_{i-1}^{5} | m_{i}^{1} | m_{i}^{5} |- align="center" bgcolor="white" | v_{i-1}^{2} | v_{i-1}^{6} | m_{i}^{2} | m_{i}^{6} |- align="center" bgcolor="white" | v_{i-1}^{3} | v_{i-1}^{7} | m_{i}^{3} | m_{i}^{7} |}

4.  Вычисление состоит из десяти итераций BIG.ROUND.
5.  Операция BIG.FINAL для COMPRESS1024 переопределяется следующим образом:
{|

|- | v_{i}^{0} | = | v_{i-1}^{0}\oplus m_{i}^{0} \oplus w_{0} \oplus w_{8} | width="30px" rowspan="4" | | v_{i}^{4} | = | v_{i-1}^{4}\oplus m_{i}^{4} \oplus w_{4} \oplus w_{12} |- | v_{i}^{1} | = | v_{i-1}^{1}\oplus m_{i}^{1} \oplus w_{1} \oplus w_{9} | v_{i}^{5} | = | v_{i-1}^{5}\oplus m_{i}^{5} \oplus w_{5} \oplus w_{13} |- | v_{i}^{2} | = | v_{i-1}^{2}\oplus m_{i}^{2} \oplus w_{2} \oplus w_{10}

| v_{i}^{6} | = | v_{i-1}^{6}\oplus m_{i}^{6} \oplus w_{6} \oplus w_{14} |- | v_{i}^{3} | = | v_{i-1}^{3}\oplus m_{i}^{3} \oplus w_{3} \oplus w_{11}

| v_{i}^{7} | = | v_{i-1}^{7}\oplus m_{i}^{7} \oplus w_{7} \oplus w_{15} |}

Конечное значение хеш-функции

Длина переменной цепочки для COMPRESS1024 — 1024 бит, поэтому её конечное значение:

V_{t}=v_{t}^{0} \| v_{t}^{1} \| v_{t}^{2} \| v_{t}^{3} \| v_{t}^{4} \| v_{t}^{5} \| v_{t}^{6} \| v_{t}^{7}

Как и в COMPRESS512, результатом хеширования h являются HSIZE крайних левых бит Vt. Например, для HSIZE = 384

h = v_{t}^{0} \| v_{t}^{1} \| v_{t}^{2} \| v_{t}^{3}



Просмотров: 3368


<<< Dual EC DRBG
GSS-API >>>